hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2014-18 H. Nikolaus Schaller <hns@goldelico.com>
 */
 
#include "omap3-gta04.dtsi"
 
/ {
   model = "Goldelico GTA04A5/Letux 2804";
 
   sound {
       ti,jack-det-gpio = <&twl_gpio 2 GPIO_ACTIVE_HIGH>;    /* GTA04A5 only */
   };
 
   wlan_en: wlan_en_regulator {
       compatible = "regulator-fixed";
       pinctrl-names = "default";
       pinctrl-0 = <&wlan_pins>;
       regulator-name = "wlan-en-regulator";
       regulator-min-microvolt = <1800000>;
       regulator-max-microvolt = <1800000>;
 
       gpio = <&gpio5 10 GPIO_ACTIVE_HIGH>;    /* GPIO_138 */
 
       startup-delay-us = <70000>;
       enable-active-high;
   };
 
   pps {
       compatible = "pps-gpio";
       pinctrl-names = "default";
       pinctrl-0 = <&pps_pins>;
 
       gpios = <&gpio4 18 GPIO_ACTIVE_HIGH>; /* GPIN_114 */
   };
 
};
 
&gpio5 {
   irda_en {
       gpio-hog;
       gpios = <(175-160) GPIO_ACTIVE_HIGH>;
       output-high;    /* activate gpio_175 to disable IrDA receiver */
   };
};
 
&omap3_pmx_core {
   bt_pins: pinmux_bt_pins {
       pinctrl-single,pins = <
           OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT | MUX_MODE4)    /* mmc2_dat5 = mmc3_dat1 = gpio137 */
       >;
   };
 
   wlan_pins: pinmux_wlan_pins {
       pinctrl-single,pins = <
           OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT | MUX_MODE4)    /* mmc2_dat6 = mmc3_dat2 = gpio138 */
       >;
   };
 
   wlan_irq_pin: pinmux_wlan_irq_pin {
       pinctrl-single,pins = <
           OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE4)    /* mmc2_dat7 = mmc3_dat3 = gpio139 */
       >;
   };
 
   irda_pins: pinmux_irda {
       pinctrl-single,pins = <
           OMAP3_CORE1_IOPAD(0x21d0, PIN_OUTPUT_PULLUP | MUX_MODE4)    /* mcspi1_cs1 = gpio175 */
       >;
   };
 
   pps_pins: pinmux_pps_pins {
       pinctrl-single,pins = <
           OMAP3_CORE1_IOPAD(0x2138, PIN_INPUT | MUX_MODE4) /* gpin114 */
       >;
   };
 
};
 
/*
 * for WL183x module see
 * Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt
 */
 
&wifi_pwrseq {
   /delete-property/ reset-gpios;
};
 
&mmc2 {
   vmmc-supply = <&wlan_en>;
   bus-width = <4>;
   cap-power-off-card;
   non-removable;
 
   pinctrl-names = "default";
   pinctrl-0 = <&wlan_irq_pin>;
 
   #address-cells = <1>;
   #size-cells = <0>;
 
   /delete-property/ mmc-pwrseq;
 
   wlcore: wlcore@2 {
       compatible = "ti,wl1837";
       reg = <2>;
       interrupt-parent = <&gpio5>;
       interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;    /* GPIO_139 */
       ref-clock-frequency = <26000000>;
   };
};
 
&i2c2 {
   /delete-node/ bmp085@77;
   /delete-node/ bma180@41;
   /delete-node/ itg3200@68;
   /delete-node/ hmc5843@1e;
 
   bmg160@69 {
       compatible = "bosch,bmg160";
       reg = <0x69>;
   };
 
   bmc150@10 {
       compatible = "bosch,bmc150_accel";
       reg = <0x10>;
   };
 
   bmc150@12 {
       compatible = "bosch,bmc150_magn";
       reg = <0x12>;
   };
 
   bme280@76 {
       compatible = "bosch,bme280";
       reg = <0x76>;
   };
};