hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/arm/boot/dts/omap4-droid4-xt894.dts
....@@ -1,775 +1,9 @@
1
-/*
2
- * This program is free software; you can redistribute it and/or modify
3
- * it under the terms of the GNU General Public License version 2 as
4
- * published by the Free Software Foundation.
5
- */
1
+// SPDX-License-Identifier: GPL-2.0-only
62 /dts-v1/;
73
8
-#include <dt-bindings/input/input.h>
9
-#include "omap443x.dtsi"
10
-#include "motorola-cpcap-mapphone.dtsi"
4
+#include "motorola-mapphone-common.dtsi"
115
126 / {
137 model = "Motorola Droid 4 XT894";
148 compatible = "motorola,droid4", "ti,omap4430", "ti,omap4";
15
-
16
- chosen {
17
- stdout-path = &uart3;
18
- };
19
-
20
- aliases {
21
- display0 = &lcd0;
22
- display1 = &hdmi0;
23
- };
24
-
25
- /*
26
- * We seem to have only 1021 MB accessible, 1021 - 1022 is locked,
27
- * then 1023 - 1024 seems to contain mbm.
28
- */
29
- memory {
30
- device_type = "memory";
31
- reg = <0x80000000 0x3fd00000>; /* 1021 MB */
32
- };
33
-
34
- /* Poweroff GPIO probably connected to CPCAP */
35
- gpio-poweroff {
36
- compatible = "gpio-poweroff";
37
- pinctrl-0 = <&poweroff_gpio>;
38
- pinctrl-names = "default";
39
- gpios = <&gpio2 18 GPIO_ACTIVE_LOW>; /* gpio50 */
40
- };
41
-
42
- hdmi0: connector {
43
- compatible = "hdmi-connector";
44
- pinctrl-0 = <&hdmi_hpd_gpio>;
45
- pinctrl-names = "default";
46
- label = "hdmi";
47
- type = "d";
48
-
49
- hpd-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>; /* gpio63 */
50
-
51
- port {
52
- hdmi_connector_in: endpoint {
53
- remote-endpoint = <&hdmi_out>;
54
- };
55
- };
56
- };
57
-
58
- /*
59
- * HDMI 5V regulator probably sourced from battery. Let's keep
60
- * keep this as always enabled for HDMI to work until we've
61
- * figured what the encoder chip is.
62
- */
63
- hdmi_regulator: regulator-hdmi {
64
- compatible = "regulator-fixed";
65
- regulator-name = "hdmi";
66
- regulator-min-microvolt = <5000000>;
67
- regulator-max-microvolt = <5000000>;
68
- gpio = <&gpio2 27 GPIO_ACTIVE_HIGH>; /* gpio59 */
69
- enable-active-high;
70
- regulator-always-on;
71
- };
72
-
73
- /* FS USB Host PHY on port 1 for mdm6600 */
74
- fsusb1_phy: usb-phy@1 {
75
- compatible = "motorola,mapphone-mdm6600";
76
- pinctrl-0 = <&usb_mdm6600_pins>;
77
- pinctrl-names = "default";
78
- enable-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>; /* gpio_95 */
79
- power-gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>; /* gpio_54 */
80
- reset-gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>; /* gpio_49 */
81
- /* mode: gpio_148 gpio_149 */
82
- motorola,mode-gpios = <&gpio5 20 GPIO_ACTIVE_HIGH>,
83
- <&gpio5 21 GPIO_ACTIVE_HIGH>;
84
- /* cmd: gpio_103 gpio_104 gpio_142 */
85
- motorola,cmd-gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>,
86
- <&gpio4 8 GPIO_ACTIVE_HIGH>,
87
- <&gpio5 14 GPIO_ACTIVE_HIGH>;
88
- /* status: gpio_52 gpio_53 gpio_55 */
89
- motorola,status-gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>,
90
- <&gpio2 21 GPIO_ACTIVE_HIGH>,
91
- <&gpio2 23 GPIO_ACTIVE_HIGH>;
92
- #phy-cells = <0>;
93
- };
94
-
95
- /* HS USB host TLL nop-phy on port 2 for w3glte */
96
- hsusb2_phy: usb-phy@2 {
97
- compatible = "usb-nop-xceiv";
98
- #phy-cells = <0>;
99
- };
100
-
101
- /* LCD regulator from sw5 source */
102
- lcd_regulator: regulator-lcd {
103
- compatible = "regulator-fixed";
104
- regulator-name = "lcd";
105
- regulator-min-microvolt = <5050000>;
106
- regulator-max-microvolt = <5050000>;
107
- gpio = <&gpio4 0 GPIO_ACTIVE_HIGH>; /* gpio96 */
108
- enable-active-high;
109
- vin-supply = <&sw5>;
110
- };
111
-
112
- /* This is probably coming straight from the battery.. */
113
- wl12xx_vmmc: regulator-wl12xx {
114
- compatible = "regulator-fixed";
115
- regulator-name = "vwl1271";
116
- regulator-min-microvolt = <1650000>;
117
- regulator-max-microvolt = <1650000>;
118
- gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>; /* gpio94 */
119
- startup-delay-us = <70000>;
120
- enable-active-high;
121
- };
122
-
123
- gpio_keys {
124
- compatible = "gpio-keys";
125
-
126
- volume_down {
127
- label = "Volume Down";
128
- gpios = <&gpio5 26 GPIO_ACTIVE_LOW>; /* gpio154 */
129
- linux,code = <KEY_VOLUMEDOWN>;
130
- linux,can-disable;
131
- /* Value above 7.95ms for no GPIO hardware debounce */
132
- debounce-interval = <10>;
133
- };
134
-
135
- slider {
136
- label = "Keypad Slide";
137
- gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>; /* gpio122 */
138
- linux,input-type = <EV_SW>;
139
- linux,code = <SW_KEYPAD_SLIDE>;
140
- linux,can-disable;
141
- /* Value above 7.95ms for no GPIO hardware debounce */
142
- debounce-interval = <10>;
143
- };
144
- };
145
-
146
- soundcard {
147
- compatible = "audio-graph-card";
148
- label = "Droid 4 Audio";
149
-
150
- simple-graph-card,widgets =
151
- "Speaker", "Earpiece",
152
- "Speaker", "Loudspeaker",
153
- "Headphone", "Headphone Jack",
154
- "Microphone", "Internal Mic";
155
-
156
- simple-graph-card,routing =
157
- "Earpiece", "EP",
158
- "Loudspeaker", "SPKR",
159
- "Headphone Jack", "HSL",
160
- "Headphone Jack", "HSR",
161
- "MICR", "Internal Mic";
162
-
163
- dais = <&mcbsp2_port>, <&mcbsp3_port>;
164
- };
165
-
166
- pwm8: dmtimer-pwm-8 {
167
- pinctrl-names = "default";
168
- pinctrl-0 = <&vibrator_direction_pin>;
169
-
170
- compatible = "ti,omap-dmtimer-pwm";
171
- #pwm-cells = <3>;
172
- ti,timers = <&timer8>;
173
- ti,clock-source = <0x01>;
174
- };
175
-
176
- pwm9: dmtimer-pwm-9 {
177
- pinctrl-names = "default";
178
- pinctrl-0 = <&vibrator_enable_pin>;
179
-
180
- compatible = "ti,omap-dmtimer-pwm";
181
- #pwm-cells = <3>;
182
- ti,timers = <&timer9>;
183
- ti,clock-source = <0x01>;
184
- };
185
-
186
- vibrator {
187
- compatible = "pwm-vibrator";
188
- pwms = <&pwm9 0 10000000 0>, <&pwm8 0 10000000 0>;
189
- pwm-names = "enable", "direction";
190
- direction-duty-cycle-ns = <10000000>;
191
- };
192
-};
193
-
194
-&dss {
195
- status = "okay";
196
-};
197
-
198
-&dsi1 {
199
- status = "okay";
200
- vdd-supply = <&vcsi>;
201
-
202
- port {
203
- dsi1_out_ep: endpoint {
204
- remote-endpoint = <&lcd0_in>;
205
- lanes = <0 1 2 3 4 5>;
206
- };
207
- };
208
-
209
- lcd0: display {
210
- compatible = "panel-dsi-cm";
211
- label = "lcd0";
212
- vddi-supply = <&lcd_regulator>;
213
- reset-gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; /* gpio101 */
214
-
215
- width-mm = <50>;
216
- height-mm = <89>;
217
- backlight = <&lcd_backlight>;
218
-
219
- panel-timing {
220
- clock-frequency = <0>; /* Calculated by dsi */
221
-
222
- hback-porch = <2>;
223
- hactive = <540>;
224
- hfront-porch = <0>;
225
- hsync-len = <2>;
226
-
227
- vback-porch = <1>;
228
- vactive = <960>;
229
- vfront-porch = <0>;
230
- vsync-len = <1>;
231
-
232
- hsync-active = <0>;
233
- vsync-active = <0>;
234
- de-active = <1>;
235
- pixelclk-active = <1>;
236
- };
237
-
238
- port {
239
- lcd0_in: endpoint {
240
- remote-endpoint = <&dsi1_out_ep>;
241
- };
242
- };
243
- };
244
-};
245
-
246
-&hdmi {
247
- status = "okay";
248
- pinctrl-0 = <&dss_hdmi_pins>;
249
- pinctrl-names = "default";
250
- vdda-supply = <&vdac>;
251
-
252
- port {
253
- hdmi_out: endpoint {
254
- remote-endpoint = <&hdmi_connector_in>;
255
- lanes = <1 0 3 2 5 4 7 6>;
256
- };
257
- };
258
-};
259
-
260
-&i2c1 {
261
- tmp105@48 {
262
- compatible = "ti,tmp105";
263
- reg = <0x48>;
264
- pinctrl-0 = <&tmp105_irq>;
265
- pinctrl-names = "default";
266
- /* kpd_row0.gpio_178 */
267
- interrupts-extended = <&gpio6 18 IRQ_TYPE_EDGE_FALLING
268
- &omap4_pmx_core 0x14e>;
269
- interrupt-names = "irq", "wakeup";
270
- wakeup-source;
271
- };
272
-};
273
-
274
-&keypad {
275
- keypad,num-rows = <8>;
276
- keypad,num-columns = <8>;
277
- linux,keymap = <
278
-
279
- /* Row 1 */
280
- MATRIX_KEY(0, 2, KEY_1)
281
- MATRIX_KEY(0, 6, KEY_2)
282
- MATRIX_KEY(2, 3, KEY_3)
283
- MATRIX_KEY(0, 7, KEY_4)
284
- MATRIX_KEY(0, 4, KEY_5)
285
- MATRIX_KEY(5, 5, KEY_6)
286
- MATRIX_KEY(0, 1, KEY_7)
287
- MATRIX_KEY(0, 5, KEY_8)
288
- MATRIX_KEY(0, 0, KEY_9)
289
- MATRIX_KEY(1, 6, KEY_0)
290
-
291
- /* Row 2 */
292
- MATRIX_KEY(3, 4, KEY_APOSTROPHE)
293
- MATRIX_KEY(7, 6, KEY_Q)
294
- MATRIX_KEY(7, 7, KEY_W)
295
- MATRIX_KEY(7, 2, KEY_E)
296
- MATRIX_KEY(1, 0, KEY_R)
297
- MATRIX_KEY(4, 4, KEY_T)
298
- MATRIX_KEY(1, 2, KEY_Y)
299
- MATRIX_KEY(6, 7, KEY_U)
300
- MATRIX_KEY(2, 2, KEY_I)
301
- MATRIX_KEY(5, 6, KEY_O)
302
- MATRIX_KEY(3, 7, KEY_P)
303
- MATRIX_KEY(6, 5, KEY_BACKSPACE)
304
-
305
- /* Row 3 */
306
- MATRIX_KEY(5, 4, KEY_TAB)
307
- MATRIX_KEY(5, 7, KEY_A)
308
- MATRIX_KEY(2, 7, KEY_S)
309
- MATRIX_KEY(7, 0, KEY_D)
310
- MATRIX_KEY(2, 6, KEY_F)
311
- MATRIX_KEY(6, 2, KEY_G)
312
- MATRIX_KEY(6, 6, KEY_H)
313
- MATRIX_KEY(1, 4, KEY_J)
314
- MATRIX_KEY(3, 1, KEY_K)
315
- MATRIX_KEY(2, 1, KEY_L)
316
- MATRIX_KEY(4, 6, KEY_ENTER)
317
-
318
- /* Row 4 */
319
- MATRIX_KEY(3, 6, KEY_LEFTSHIFT) /* KEY_CAPSLOCK */
320
- MATRIX_KEY(6, 1, KEY_Z)
321
- MATRIX_KEY(7, 4, KEY_X)
322
- MATRIX_KEY(5, 1, KEY_C)
323
- MATRIX_KEY(1, 7, KEY_V)
324
- MATRIX_KEY(2, 4, KEY_B)
325
- MATRIX_KEY(4, 1, KEY_N)
326
- MATRIX_KEY(1, 1, KEY_M)
327
- MATRIX_KEY(3, 5, KEY_COMMA)
328
- MATRIX_KEY(5, 2, KEY_DOT)
329
- MATRIX_KEY(6, 3, KEY_UP)
330
- MATRIX_KEY(7, 3, KEY_OK)
331
-
332
- /* Row 5 */
333
- MATRIX_KEY(2, 5, KEY_LEFTCTRL) /* KEY_LEFTSHIFT */
334
- MATRIX_KEY(4, 5, KEY_LEFTALT) /* SYM */
335
- MATRIX_KEY(6, 0, KEY_MINUS)
336
- MATRIX_KEY(4, 7, KEY_EQUAL)
337
- MATRIX_KEY(1, 5, KEY_SPACE)
338
- MATRIX_KEY(3, 2, KEY_SLASH)
339
- MATRIX_KEY(4, 3, KEY_LEFT)
340
- MATRIX_KEY(5, 3, KEY_DOWN)
341
- MATRIX_KEY(3, 3, KEY_RIGHT)
342
-
343
- /* Side buttons, KEY_VOLUMEDOWN and KEY_PWER are on CPCAP? */
344
- MATRIX_KEY(5, 0, KEY_VOLUMEUP)
345
- >;
346
-};
347
-
348
-&mmc1 {
349
- vmmc-supply = <&vwlan2>;
350
- bus-width = <4>;
351
- cd-gpios = <&gpio6 16 GPIO_ACTIVE_LOW>; /* gpio176 */
352
-};
353
-
354
-&mmc2 {
355
- vmmc-supply = <&vsdio>;
356
- bus-width = <8>;
357
- ti,non-removable;
358
-};
359
-
360
-&mmc3 {
361
- vmmc-supply = <&wl12xx_vmmc>;
362
- interrupts-extended = <&wakeupgen GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH
363
- &omap4_pmx_core 0xde>;
364
-
365
- non-removable;
366
- bus-width = <4>;
367
- cap-power-off-card;
368
-
369
- #address-cells = <1>;
370
- #size-cells = <0>;
371
- wlcore: wlcore@2 {
372
- compatible = "ti,wl1285", "ti,wl1283";
373
- reg = <2>;
374
- interrupt-parent = <&gpio4>;
375
- interrupts = <4 IRQ_TYPE_EDGE_RISING>; /* gpio100 */
376
- ref-clock-frequency = <26000000>;
377
- tcxo-clock-frequency = <26000000>;
378
- };
379
-};
380
-
381
-&i2c1 {
382
- lm3532@38 {
383
- compatible = "ti,lm3532";
384
- reg = <0x38>;
385
-
386
- enable-gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>;
387
-
388
- lcd_backlight: backlight {
389
- compatible = "ti,lm3532-backlight";
390
-
391
- lcd {
392
- led-sources = <0 1 2>;
393
- ramp-up-msec = <1>;
394
- ramp-down-msec = <0>;
395
- };
396
- };
397
- };
398
-};
399
-
400
-&i2c2 {
401
- touchscreen@4a {
402
- compatible = "atmel,maxtouch";
403
- reg = <0x4a>;
404
- pinctrl-names = "default";
405
- pinctrl-0 = <&touchscreen_pins>;
406
-
407
- reset-gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>; /* gpio173 */
408
-
409
- /* gpio_183 with sys_nirq2 pad as wakeup */
410
- interrupts-extended = <&gpio6 23 IRQ_TYPE_EDGE_FALLING>,
411
- <&omap4_pmx_core 0x160>;
412
- interrupt-names = "irq", "wakeup";
413
- wakeup-source;
414
- };
415
-
416
- isl29030@44 {
417
- compatible = "isil,isl29030";
418
- reg = <0x44>;
419
-
420
- pinctrl-names = "default";
421
- pinctrl-0 = <&als_proximity_pins>;
422
-
423
- interrupt-parent = <&gpio6>;
424
- interrupts = <17 IRQ_TYPE_LEVEL_LOW>; /* gpio177 */
425
- };
426
-};
427
-
428
-&omap4_pmx_core {
429
-
430
- /* hdmi_hpd.gpio_63 */
431
- hdmi_hpd_gpio: pinmux_hdmi_hpd_pins {
432
- pinctrl-single,pins = <
433
- OMAP4_IOPAD(0x098, PIN_INPUT | MUX_MODE3)
434
- >;
435
- };
436
-
437
- /* hdmi_cec.hdmi_cec, hdmi_scl.hdmi_scl, hdmi_sda.hdmi_sda */
438
- dss_hdmi_pins: pinmux_dss_hdmi_pins {
439
- pinctrl-single,pins = <
440
- OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0)
441
- OMAP4_IOPAD(0x09c, PIN_INPUT | MUX_MODE0)
442
- OMAP4_IOPAD(0x09e, PIN_INPUT | MUX_MODE0)
443
- >;
444
- };
445
-
446
- /* gpmc_ncs0.gpio_50 */
447
- poweroff_gpio: pinmux_poweroff_pins {
448
- pinctrl-single,pins = <
449
- OMAP4_IOPAD(0x074, PIN_OUTPUT_PULLUP | MUX_MODE3)
450
- >;
451
- };
452
-
453
- /* kpd_row0.gpio_178 */
454
- tmp105_irq: pinmux_tmp105_irq {
455
- pinctrl-single,pins = <
456
- OMAP4_IOPAD(0x18e, PIN_INPUT_PULLUP | MUX_MODE3)
457
- >;
458
- };
459
-
460
- usb_gpio_mux_sel1: pinmux_usb_gpio_mux_sel1_pins {
461
- /* gpio_60 */
462
- pinctrl-single,pins = <
463
- OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3)
464
- >;
465
- };
466
-
467
- touchscreen_pins: pinmux_touchscreen_pins {
468
- pinctrl-single,pins = <
469
- OMAP4_IOPAD(0x180, PIN_OUTPUT | MUX_MODE3)
470
- OMAP4_IOPAD(0x1a0, PIN_INPUT_PULLUP | MUX_MODE3)
471
- >;
472
- };
473
-
474
- als_proximity_pins: pinmux_als_proximity_pins {
475
- pinctrl-single,pins = <
476
- OMAP4_IOPAD(0x18c, PIN_INPUT_PULLUP | MUX_MODE3)
477
- >;
478
- };
479
-
480
- usb_mdm6600_pins: pinmux_usb_mdm6600_pins {
481
- pinctrl-single,pins = <
482
- /* enable 0x4a1000d8 usbb1_ulpitll_dat7.gpio_95 ag16 */
483
- OMAP4_IOPAD(0x0d8, PIN_INPUT | MUX_MODE3)
484
-
485
- /* power 0x4a10007c gpmc_nwp.gpio_54 c25 */
486
- OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3)
487
-
488
- /* reset 0x4a100072 gpmc_a25.gpio_49 d20 */
489
- OMAP4_IOPAD(0x072, PIN_OUTPUT | MUX_MODE3)
490
-
491
- /* mode0/bpwake 0x4a10014e sdmmc5_dat1.gpio_148 af4 */
492
- OMAP4_IOPAD(0x14e, PIN_OUTPUT | MUX_MODE3)
493
-
494
- /* mode1/apwake 0x4a100150 sdmmc5_dat2.gpio_149 ag3 */
495
- OMAP4_IOPAD(0x150, PIN_OFF_OUTPUT_LOW | PIN_INPUT | MUX_MODE3)
496
-
497
- /* status0 0x4a10007e gpmc_clk.gpio_55 b22 */
498
- OMAP4_IOPAD(0x07e, PIN_INPUT | MUX_MODE3)
499
-
500
- /* status1 0x4a10007a gpmc_ncs3.gpio_53 c22 */
501
- OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3)
502
-
503
- /* status2 0x4a100078 gpmc_ncs2.gpio_52 d21 */
504
- OMAP4_IOPAD(0x078, PIN_INPUT | MUX_MODE3)
505
-
506
- /* cmd0 0x4a100094 gpmc_ncs6.gpio_103 c24 */
507
- OMAP4_IOPAD(0x094, PIN_OUTPUT | MUX_MODE3)
508
-
509
- /* cmd1 0x4a100096 gpmc_ncs7.gpio_104 d24 */
510
- OMAP4_IOPAD(0x096, PIN_OUTPUT | MUX_MODE3)
511
-
512
- /* cmd2 0x4a100142 uart3_rts_sd.gpio_142 f28 */
513
- OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE3)
514
- >;
515
- };
516
-
517
- usb_ulpi_pins: pinmux_usb_ulpi_pins {
518
- pinctrl-single,pins = <
519
- OMAP4_IOPAD(0x196, MUX_MODE7)
520
- OMAP4_IOPAD(0x198, MUX_MODE7)
521
- OMAP4_IOPAD(0x1b2, PIN_INPUT_PULLUP | MUX_MODE0)
522
- OMAP4_IOPAD(0x1b4, PIN_INPUT_PULLUP | MUX_MODE0)
523
- OMAP4_IOPAD(0x1b6, PIN_INPUT_PULLUP | MUX_MODE0)
524
- OMAP4_IOPAD(0x1b8, PIN_INPUT_PULLUP | MUX_MODE0)
525
- OMAP4_IOPAD(0x1ba, PIN_INPUT_PULLUP | MUX_MODE0)
526
- OMAP4_IOPAD(0x1bc, PIN_INPUT_PULLUP | MUX_MODE0)
527
- OMAP4_IOPAD(0x1be, PIN_INPUT_PULLUP | MUX_MODE0)
528
- OMAP4_IOPAD(0x1c0, PIN_INPUT_PULLUP | MUX_MODE0)
529
- OMAP4_IOPAD(0x1c2, PIN_INPUT_PULLUP | MUX_MODE0)
530
- OMAP4_IOPAD(0x1c4, PIN_INPUT_PULLUP | MUX_MODE0)
531
- OMAP4_IOPAD(0x1c6, PIN_INPUT_PULLUP | MUX_MODE0)
532
- OMAP4_IOPAD(0x1c8, PIN_INPUT_PULLUP | MUX_MODE0)
533
- >;
534
- };
535
-
536
- /* usb0_otg_dp and usb0_otg_dm */
537
- usb_utmi_pins: pinmux_usb_utmi_pins {
538
- pinctrl-single,pins = <
539
- OMAP4_IOPAD(0x196, PIN_INPUT | MUX_MODE0)
540
- OMAP4_IOPAD(0x198, PIN_INPUT | MUX_MODE0)
541
- OMAP4_IOPAD(0x1b2, PIN_INPUT_PULLUP | MUX_MODE7)
542
- OMAP4_IOPAD(0x1b4, PIN_INPUT_PULLUP | MUX_MODE7)
543
- OMAP4_IOPAD(0x1b6, PIN_INPUT_PULLUP | MUX_MODE7)
544
- OMAP4_IOPAD(0x1b8, PIN_INPUT_PULLUP | MUX_MODE7)
545
- OMAP4_IOPAD(0x1ba, PIN_INPUT_PULLUP | MUX_MODE7)
546
- OMAP4_IOPAD(0x1bc, PIN_INPUT_PULLUP | MUX_MODE7)
547
- OMAP4_IOPAD(0x1be, PIN_INPUT_PULLUP | MUX_MODE7)
548
- OMAP4_IOPAD(0x1c0, PIN_INPUT_PULLUP | MUX_MODE7)
549
- OMAP4_IOPAD(0x1c2, PIN_INPUT_PULLUP | MUX_MODE7)
550
- OMAP4_IOPAD(0x1c4, PIN_INPUT_PULLUP | MUX_MODE7)
551
- OMAP4_IOPAD(0x1c6, PIN_INPUT_PULLUP | MUX_MODE7)
552
- OMAP4_IOPAD(0x1c8, PIN_INPUT_PULLUP | MUX_MODE7)
553
- >;
554
- };
555
-
556
- /*
557
- * Note that the v3.0.8 stock userspace dynamically remuxes uart1
558
- * rts pin probably for PM purposes to PIN_INPUT_PULLUP | MUX_MODE7
559
- * when not used. If needed, we can add rts pin remux later based
560
- * on power measurements.
561
- */
562
- uart1_pins: pinmux_uart1_pins {
563
- pinctrl-single,pins = <
564
- /* 0x4a10013c mcspi1_cs2.uart1_cts ag23 */
565
- OMAP4_IOPAD(0x13c, PIN_INPUT_PULLUP | MUX_MODE1)
566
-
567
- /* 0x4a10013e mcspi1_cs3.uart1_rts ah23 */
568
- OMAP4_IOPAD(0x13e, MUX_MODE1)
569
-
570
- /* 0x4a100140 uart3_cts_rctx.uart1_tx f27 */
571
- OMAP4_IOPAD(0x140, PIN_OUTPUT | MUX_MODE1)
572
-
573
- /* 0x4a1001ca dpm_emu14.uart1_rx aa3 */
574
- OMAP4_IOPAD(0x1ca, PIN_INPUT_PULLUP | MUX_MODE2)
575
- >;
576
- };
577
-
578
- /* uart3_tx_irtx and uart3_rx_irrx */
579
- uart3_pins: pinmux_uart3_pins {
580
- pinctrl-single,pins = <
581
- OMAP4_IOPAD(0x196, MUX_MODE7)
582
- OMAP4_IOPAD(0x198, MUX_MODE7)
583
- OMAP4_IOPAD(0x1b2, PIN_INPUT_PULLUP | MUX_MODE7)
584
- OMAP4_IOPAD(0x1b4, PIN_INPUT_PULLUP | MUX_MODE7)
585
- OMAP4_IOPAD(0x1b6, PIN_INPUT_PULLUP | MUX_MODE7)
586
- OMAP4_IOPAD(0x1b8, PIN_INPUT_PULLUP | MUX_MODE7)
587
- OMAP4_IOPAD(0x1ba, MUX_MODE2)
588
- OMAP4_IOPAD(0x1bc, PIN_INPUT | MUX_MODE2)
589
- OMAP4_IOPAD(0x1be, PIN_INPUT_PULLUP | MUX_MODE7)
590
- OMAP4_IOPAD(0x1c0, PIN_INPUT_PULLUP | MUX_MODE7)
591
- OMAP4_IOPAD(0x1c2, PIN_INPUT_PULLUP | MUX_MODE7)
592
- OMAP4_IOPAD(0x1c4, PIN_INPUT_PULLUP | MUX_MODE7)
593
- OMAP4_IOPAD(0x1c6, PIN_INPUT_PULLUP | MUX_MODE7)
594
- OMAP4_IOPAD(0x1c8, PIN_INPUT_PULLUP | MUX_MODE7)
595
- >;
596
- };
597
-
598
- uart4_pins: pinmux_uart4_pins {
599
- pinctrl-single,pins = <
600
- OMAP4_IOPAD(0x15c, PIN_INPUT | MUX_MODE0) /* uart4_rx */
601
- OMAP4_IOPAD(0x15e, PIN_OUTPUT | MUX_MODE0) /* uart4_tx */
602
- OMAP4_IOPAD(0x110, PIN_INPUT_PULLUP | MUX_MODE5) /* uart4_cts */
603
- OMAP4_IOPAD(0x112, PIN_OUTPUT_PULLUP | MUX_MODE5) /* uart4_rts */
604
- >;
605
- };
606
-
607
- mcbsp2_pins: pinmux_mcbsp2_pins {
608
- pinctrl-single,pins = <
609
- OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_clkx */
610
- OMAP4_IOPAD(0x0f8, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_dr */
611
- OMAP4_IOPAD(0x0fa, PIN_OUTPUT | MUX_MODE0) /* abe_mcbsp2_dx */
612
- OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_fsx */
613
- >;
614
- };
615
-
616
- mcbsp3_pins: pinmux_mcbsp3_pins {
617
- pinctrl-single,pins = <
618
- OMAP4_IOPAD(0x106, PIN_INPUT | MUX_MODE1) /* abe_mcbsp3_dr */
619
- OMAP4_IOPAD(0x108, PIN_OUTPUT | MUX_MODE1) /* abe_mcbsp3_dx */
620
- OMAP4_IOPAD(0x10a, PIN_INPUT | MUX_MODE1) /* abe_mcbsp3_clkx */
621
- OMAP4_IOPAD(0x10c, PIN_INPUT | MUX_MODE1) /* abe_mcbsp3_fsx */
622
- >;
623
- };
624
-
625
- vibrator_direction_pin: pinmux_vibrator_direction_pin {
626
- pinctrl-single,pins = <
627
- OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE1) /* dmtimer8_pwm_evt (gpio_27) */
628
- >;
629
- };
630
-
631
- vibrator_enable_pin: pinmux_vibrator_enable_pin {
632
- pinctrl-single,pins = <
633
- OMAP4_IOPAD(0X1d0, PIN_OUTPUT | MUX_MODE1) /* dmtimer9_pwm_evt (gpio_28) */
634
- >;
635
- };
636
-};
637
-
638
-&omap4_pmx_wkup {
639
- usb_gpio_mux_sel2: pinmux_usb_gpio_mux_sel2_pins {
640
- /* gpio_wk0 */
641
- pinctrl-single,pins = <
642
- OMAP4_IOPAD(0x040, PIN_OUTPUT_PULLDOWN | MUX_MODE3)
643
- >;
644
- };
645
-};
646
-
647
-/* Configure pwm clock source for timers 8 & 9 */
648
-&timer8 {
649
- assigned-clocks = <&abe_clkctrl OMAP4_TIMER8_CLKCTRL 24>;
650
- assigned-clock-parents = <&sys_clkin_ck>;
651
-};
652
-
653
-&timer9 {
654
- assigned-clocks = <&l4_per_clkctrl OMAP4_TIMER9_CLKCTRL 24>;
655
- assigned-clock-parents = <&sys_clkin_ck>;
656
-};
657
-
658
-/*
659
- * As uart1 is wired to mdm6600 with rts and cts, we can use the cts pin for
660
- * uart1 wakeirq.
661
- */
662
-&uart1 {
663
- pinctrl-names = "default";
664
- pinctrl-0 = <&uart1_pins>;
665
- interrupts-extended = <&wakeupgen GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH
666
- &omap4_pmx_core 0xfc>;
667
-};
668
-
669
-&uart3 {
670
- interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
671
- &omap4_pmx_core 0x17c>;
672
-};
673
-
674
-&uart4 {
675
- pinctrl-names = "default";
676
- pinctrl-0 = <&uart4_pins>;
677
-
678
- bluetooth {
679
- compatible = "ti,wl1285-st";
680
- enable-gpios = <&gpio6 14 GPIO_ACTIVE_HIGH>; /* gpio 174 */
681
- max-speed = <3686400>;
682
- };
683
-};
684
-
685
-&usbhsohci {
686
- phys = <&fsusb1_phy>;
687
- phy-names = "usb";
688
-};
689
-
690
-&usbhsehci {
691
- phys = <&hsusb2_phy>;
692
-};
693
-
694
-&usbhshost {
695
- port1-mode = "ohci-phy-4pin-dpdm";
696
- port2-mode = "ehci-tll";
697
-};
698
-
699
-/* Internal UTMI+ PHY used for OTG, CPCAP ULPI PHY for detection and charger */
700
-&usb_otg_hs {
701
- interface-type = <1>;
702
- mode = <3>;
703
- power = <50>;
704
-};
705
-
706
-&i2c4 {
707
- ak8975: magnetometer@c {
708
- compatible = "asahi-kasei,ak8975";
709
- reg = <0x0c>;
710
-
711
- vdd-supply = <&vhvio>;
712
-
713
- interrupt-parent = <&gpio6>;
714
- interrupts = <15 IRQ_TYPE_EDGE_RISING>; /* gpio175 */
715
-
716
- rotation-matrix = "-1", "0", "0",
717
- "0", "1", "0",
718
- "0", "0", "-1";
719
-
720
- };
721
-
722
- lis3dh: accelerometer@18 {
723
- compatible = "st,lis3dh-accel";
724
- reg = <0x18>;
725
-
726
- vdd-supply = <&vhvio>;
727
-
728
- interrupt-parent = <&gpio2>;
729
- interrupts = <2 IRQ_TYPE_EDGE_BOTH>; /* gpio34 */
730
-
731
- rotation-matrix = "0", "-1", "0",
732
- "1", "0", "0",
733
- "0", "0", "1";
734
- };
735
-};
736
-
737
-&mcbsp2 {
738
- #sound-dai-cells = <0>;
739
- pinctrl-names = "default";
740
- pinctrl-0 = <&mcbsp2_pins>;
741
- status = "okay";
742
-
743
- mcbsp2_port: port {
744
- cpu_dai2: endpoint {
745
- dai-format = "i2s";
746
- remote-endpoint = <&cpcap_audio_codec0>;
747
- frame-master = <&cpcap_audio_codec0>;
748
- bitclock-master = <&cpcap_audio_codec0>;
749
- };
750
- };
751
-};
752
-
753
-&mcbsp3 {
754
- #sound-dai-cells = <0>;
755
- pinctrl-names = "default";
756
- pinctrl-0 = <&mcbsp3_pins>;
757
- status = "okay";
758
-
759
- mcbsp3_port: port {
760
- cpu_dai3: endpoint {
761
- dai-format = "dsp_a";
762
- frame-master = <&cpcap_audio_codec1>;
763
- bitclock-master = <&cpcap_audio_codec1>;
764
- remote-endpoint = <&cpcap_audio_codec1>;
765
- };
766
- };
767
-};
768
-
769
-&cpcap_audio_codec0 {
770
- remote-endpoint = <&cpu_dai2>;
771
-};
772
-
773
-&cpcap_audio_codec1 {
774
- remote-endpoint = <&cpu_dai3>;
7759 };