]> git.ipfire.org Git - thirdparty/u-boot.git/blame - src/arm/ti/omap/motorola-mapphone-handset.dtsi
Squashed 'dts/upstream/' changes from aaba2d45dc2a..b35b9bd1d4ee
[thirdparty/u-boot.git] / src / arm / ti / omap / motorola-mapphone-handset.dtsi
CommitLineData
93743d24
TR
1// SPDX-License-Identifier: GPL-2.0-only
2/dts-v1/;
3
4#include "motorola-mapphone-common.dtsi"
5
6/ {
7 /* FS USB Host PHY on port 1 for mdm6600 */
8 fsusb1_phy: usb-phy@1 {
9 compatible = "motorola,mapphone-mdm6600";
10 pinctrl-0 = <&usb_mdm6600_pins>;
11 pinctrl-1 = <&usb_mdm6600_sleep_pins>;
12 pinctrl-names = "default", "sleep";
13 enable-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>; /* gpio_95 */
14 power-gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>; /* gpio_54 */
15 reset-gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>; /* gpio_49 */
16 /* mode: gpio_148 gpio_149 */
17 motorola,mode-gpios = <&gpio5 20 GPIO_ACTIVE_HIGH>,
18 <&gpio5 21 GPIO_ACTIVE_HIGH>;
19 /* cmd: gpio_103 gpio_104 gpio_142 */
20 motorola,cmd-gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>,
21 <&gpio4 8 GPIO_ACTIVE_HIGH>,
22 <&gpio5 14 GPIO_ACTIVE_HIGH>;
23 /* status: gpio_52 gpio_53 gpio_55 */
24 motorola,status-gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>,
25 <&gpio2 21 GPIO_ACTIVE_HIGH>,
26 <&gpio2 23 GPIO_ACTIVE_HIGH>;
27 #phy-cells = <0>;
28 };
29
30 /* HS USB host TLL nop-phy on port 2 for w3glte */
31 hsusb2_phy: usb-phy@2 {
32 compatible = "usb-nop-xceiv";
33 #phy-cells = <0>;
34 };
35
36 pwm8: pwm-8 {
37 pinctrl-names = "default";
38 pinctrl-0 = <&vibrator_direction_pin>;
39
40 compatible = "ti,omap-dmtimer-pwm";
41 #pwm-cells = <3>;
42 ti,timers = <&timer8>;
43 ti,clock-source = <0x01>;
44 };
45
46 pwm9: pwm-9 {
47 pinctrl-names = "default";
48 pinctrl-0 = <&vibrator_enable_pin>;
49
50 compatible = "ti,omap-dmtimer-pwm";
51 #pwm-cells = <3>;
52 ti,timers = <&timer9>;
53 ti,clock-source = <0x01>;
54 };
55
56 vibrator {
57 compatible = "pwm-vibrator";
58 pwms = <&pwm9 0 10000000 0>, <&pwm8 0 10000000 0>;
59 pwm-names = "enable", "direction";
60 direction-duty-cycle-ns = <10000000>;
61 };
62};
63
64/* Battery NVRAM on 1-wire handled by w1_ds250x driver */
65&hdqw1w {
66 pinctrl-0 = <&hdq_pins>;
67 pinctrl-names = "default";
68 ti,mode = "1w";
69};
70
71&i2c2 {
72 touchscreen@4a {
73 compatible = "atmel,maxtouch";
74 reg = <0x4a>;
75 pinctrl-names = "default";
76 pinctrl-0 = <&touchscreen_pins>;
77
78 reset-gpios = <&gpio6 13 GPIO_ACTIVE_LOW>; /* gpio173 */
79
80 /* gpio_183 with sys_nirq2 pad as wakeup */
81 interrupts-extended = <&gpio6 23 IRQ_TYPE_LEVEL_LOW>,
82 <&omap4_pmx_core 0x160>;
83 interrupt-names = "irq", "wakeup";
84 wakeup-source;
85 };
86
87 isl29030@44 {
88 compatible = "isil,isl29030";
89 reg = <0x44>;
90
91 pinctrl-names = "default";
92 pinctrl-0 = <&als_proximity_pins>;
93
94 interrupt-parent = <&gpio6>;
95 interrupts = <17 IRQ_TYPE_LEVEL_LOW>; /* gpio177 */
96 };
97};
98
99&omap4_pmx_core {
100 hdq_pins: hdq-pins {
101 pinctrl-single,pins = <
102 /* 0x4a100120 hdq_sio.hdq_sio aa27 */
103 OMAP4_IOPAD(0x120, PIN_INPUT | MUX_MODE0)
104 >;
105 };
106
107 /* kpd_row0.gpio_178 */
108 tmp105_irq: tmp105-irq-pins {
109 pinctrl-single,pins = <
110 OMAP4_IOPAD(0x18e, PIN_INPUT_PULLUP | MUX_MODE3)
111 >;
112 };
113
114 touchscreen_pins: touchscreen-pins {
115 pinctrl-single,pins = <
116 OMAP4_IOPAD(0x180, PIN_OUTPUT | MUX_MODE3)
117 OMAP4_IOPAD(0x1a0, PIN_INPUT_PULLUP | MUX_MODE3)
118 >;
119 };
120
121 usb_mdm6600_pins: usb-mdm6600-pins {
122 pinctrl-single,pins = <
123 /* enable 0x4a1000d8 usbb1_ulpitll_dat7.gpio_95 ag16 */
124 OMAP4_IOPAD(0x0d8, PIN_INPUT | MUX_MODE3)
125
126 /* power 0x4a10007c gpmc_nwp.gpio_54 c25 */
127 OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3)
128
129 /* reset 0x4a100072 gpmc_a25.gpio_49 d20 */
130 OMAP4_IOPAD(0x072, PIN_OUTPUT | MUX_MODE3)
131
132 /* mode0/bpwake 0x4a10014e sdmmc5_dat1.gpio_148 af4 */
133 OMAP4_IOPAD(0x14e, PIN_OUTPUT | MUX_MODE3)
134
135 /* mode1/apwake 0x4a100150 sdmmc5_dat2.gpio_149 ag3 */
136 OMAP4_IOPAD(0x150, PIN_OFF_OUTPUT_LOW | PIN_INPUT | MUX_MODE3)
137
138 /* status0 0x4a10007e gpmc_clk.gpio_55 b22 */
139 OMAP4_IOPAD(0x07e, PIN_INPUT | MUX_MODE3)
140
141 /* status1 0x4a10007a gpmc_ncs3.gpio_53 c22 */
142 OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3)
143
144 /* status2 0x4a100078 gpmc_ncs2.gpio_52 d21 */
145 OMAP4_IOPAD(0x078, PIN_INPUT | MUX_MODE3)
146
147 /* cmd0 0x4a100094 gpmc_ncs6.gpio_103 c24 */
148 OMAP4_IOPAD(0x094, PIN_OUTPUT | MUX_MODE3)
149
150 /* cmd1 0x4a100096 gpmc_ncs7.gpio_104 d24 */
151 OMAP4_IOPAD(0x096, PIN_OUTPUT | MUX_MODE3)
152
153 /* cmd2 0x4a100142 uart3_rts_sd.gpio_142 f28 */
154 OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE3)
155 >;
156 };
157
158 /* Modem sleep pins to keep gpio_49 high with internal pull */
159 usb_mdm6600_sleep_pins: usb-mdm6600-sleep-pins {
160 pinctrl-single,pins = <
161 OMAP4_IOPAD(0x0d8, PIN_INPUT | MUX_MODE3)
162 OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3)
163 OMAP4_IOPAD(0x072, PIN_INPUT_PULLUP | MUX_MODE7) /* Keep gpio_49 reset high */
164 OMAP4_IOPAD(0x14e, PIN_OUTPUT | MUX_MODE3)
165 OMAP4_IOPAD(0x150, PIN_OFF_OUTPUT_LOW | PIN_INPUT | MUX_MODE3)
166 OMAP4_IOPAD(0x07e, PIN_INPUT | MUX_MODE3)
167 OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3)
168 OMAP4_IOPAD(0x078, PIN_INPUT | MUX_MODE3)
169 OMAP4_IOPAD(0x094, PIN_OUTPUT | MUX_MODE3)
170 OMAP4_IOPAD(0x096, PIN_OUTPUT | MUX_MODE3)
171 OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE3)
172 >;
173 };
174
175 als_proximity_pins: als-proximity-pins {
176 pinctrl-single,pins = <
177 OMAP4_IOPAD(0x18c, PIN_INPUT_PULLUP | MUX_MODE3)
178 >;
179 };
180
181 vibrator_direction_pin: vibrator-direction-pins {
182 pinctrl-single,pins = <
183 OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE1) /* dmtimer8_pwm_evt (gpio_27) */
184 >;
185 };
186
187 vibrator_enable_pin: vibrator-enable-pins {
188 pinctrl-single,pins = <
189 OMAP4_IOPAD(0X1d0, PIN_OUTPUT | MUX_MODE1) /* dmtimer9_pwm_evt (gpio_28) */
190 >;
191 };
192};
193
194/* Configure pwm clock source for timers 8 & 9 */
195&timer8 {
196 assigned-clocks = <&abe_clkctrl OMAP4_TIMER8_CLKCTRL 24>;
197 assigned-clock-parents = <&sys_32k_ck>;
198};
199
200&timer9 {
201 assigned-clocks = <&l4_per_clkctrl OMAP4_TIMER9_CLKCTRL 24>;
202 assigned-clock-parents = <&sys_32k_ck>;
203};
204
205&usbhsohci {
206 phys = <&fsusb1_phy>;
207 phy-names = "usb";
208};
209
210&usbhsehci {
211 phys = <&hsusb2_phy>;
212};
213
214&usbhshost {
215 port1-mode = "ohci-phy-4pin-dpdm";
216 port2-mode = "ehci-tll";
217};
218
219&i2c4 {
220 ak8975: magnetometer@c {
221 compatible = "asahi-kasei,ak8975";
222 reg = <0x0c>;
223
224 vdd-supply = <&vhvio>;
225
226 interrupt-parent = <&gpio6>;
227 interrupts = <15 IRQ_TYPE_EDGE_RISING>; /* gpio175 */
228
229 rotation-matrix = "-1", "0", "0",
230 "0", "1", "0",
231 "0", "0", "-1";
232
233 };
234};