Loading...
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/
4 */
5#include "omap5.dtsi"
6#include <dt-bindings/interrupt-controller/irq.h>
7#include <dt-bindings/interrupt-controller/arm-gic.h>
8
9/ {
10 aliases {
11 display0 = &hdmi0;
12 };
13
14 chosen {
15 stdout-path = &uart3;
16 };
17
18 vmain: fixedregulator-vmain {
19 compatible = "regulator-fixed";
20 regulator-name = "vmain";
21 regulator-min-microvolt = <5000000>;
22 regulator-max-microvolt = <5000000>;
23 };
24
25 vsys_cobra: fixedregulator-vsys_cobra {
26 compatible = "regulator-fixed";
27 regulator-name = "vsys_cobra";
28 vin-supply = <&vmain>;
29 regulator-min-microvolt = <5000000>;
30 regulator-max-microvolt = <5000000>;
31 };
32
33 vmmcsd_fixed: fixedregulator-mmcsd {
34 compatible = "regulator-fixed";
35 regulator-name = "vmmcsd_fixed";
36 regulator-min-microvolt = <3000000>;
37 regulator-max-microvolt = <3000000>;
38 };
39
40 mmc3_pwrseq: sdhci0_pwrseq {
41 compatible = "mmc-pwrseq-simple";
42 clocks = <&clk32kgaudio>;
43 clock-names = "ext_clock";
44 };
45
46 vmmcsdio_fixed: fixedregulator-mmcsdio {
47 compatible = "regulator-fixed";
48 regulator-name = "vmmcsdio_fixed";
49 regulator-min-microvolt = <1800000>;
50 regulator-max-microvolt = <1800000>;
51 gpio = <&gpio5 12 GPIO_ACTIVE_HIGH>; /* gpio140 WLAN_EN */
52 enable-active-high;
53 startup-delay-us = <70000>;
54 pinctrl-names = "default";
55 pinctrl-0 = <&wlan_pins>;
56 };
57
58 /* HS USB Host PHY on PORT 2 */
59 hsusb2_phy: hsusb2_phy {
60 compatible = "usb-nop-xceiv";
61 reset-gpios = <&gpio3 16 GPIO_ACTIVE_LOW>; /* gpio3_80 HUB_NRESET */
62 clocks = <&auxclk1_ck>;
63 clock-names = "main_clk";
64 clock-frequency = <19200000>;
65 #phy-cells = <0>;
66 };
67
68 /* HS USB Host PHY on PORT 3 */
69 hsusb3_phy: hsusb3_phy {
70 compatible = "usb-nop-xceiv";
71 reset-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>; /* gpio3_79 ETH_NRESET */
72 #phy-cells = <0>;
73 };
74
75 tpd12s015: encoder {
76 compatible = "ti,tpd12s015";
77
78 pinctrl-names = "default";
79 pinctrl-0 = <&tpd12s015_pins>;
80
81 /* gpios defined in the board specific dts */
82
83 ports {
84 #address-cells = <1>;
85 #size-cells = <0>;
86
87 port@0 {
88 reg = <0>;
89
90 tpd12s015_in: endpoint {
91 remote-endpoint = <&hdmi_out>;
92 };
93 };
94
95 port@1 {
96 reg = <1>;
97
98 tpd12s015_out: endpoint {
99 remote-endpoint = <&hdmi_connector_in>;
100 };
101 };
102 };
103 };
104
105 hdmi0: connector {
106 compatible = "hdmi-connector";
107 label = "hdmi";
108
109 type = "b";
110
111 port {
112 hdmi_connector_in: endpoint {
113 remote-endpoint = <&tpd12s015_out>;
114 };
115 };
116 };
117
118 sound: sound {
119 compatible = "ti,abe-twl6040";
120 ti,model = "omap5-uevm";
121
122 ti,jack-detection;
123 ti,mclk-freq = <19200000>;
124
125 ti,mcpdm = <&mcpdm>;
126
127 ti,twl6040 = <&twl6040>;
128
129 /* Audio routing */
130 ti,audio-routing =
131 "Headset Stereophone", "HSOL",
132 "Headset Stereophone", "HSOR",
133 "Line Out", "AUXL",
134 "Line Out", "AUXR",
135 "HSMIC", "Headset Mic",
136 "Headset Mic", "Headset Mic Bias",
137 "AFML", "Line In",
138 "AFMR", "Line In";
139 };
140};
141
142&gpio8 {
143 /* TI trees use GPIO instead of msecure, see also muxing */
144 msecure-hog {
145 gpio-hog;
146 gpios = <10 GPIO_ACTIVE_HIGH>;
147 output-high;
148 line-name = "gpio8_234/msecure";
149 };
150};
151
152&omap5_pmx_core {
153 pinctrl-names = "default";
154 pinctrl-0 = <
155 &usbhost_pins
156 &led_gpio_pins
157 >;
158
159 twl6040_pins: pinmux_twl6040_pins {
160 pinctrl-single,pins = <
161 OMAP5_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE6) /* mcspi1_somi.gpio5_141 */
162 >;
163 };
164
165 mcpdm_pins: pinmux_mcpdm_pins {
166 pinctrl-single,pins = <
167 OMAP5_IOPAD(0x182, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */
168 OMAP5_IOPAD(0x19c, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcpdm_ul_data.abemcpdm_ul_data */
169 OMAP5_IOPAD(0x19e, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcpdm_dl_data.abemcpdm_dl_data */
170 OMAP5_IOPAD(0x1a0, PIN_INPUT_PULLUP | MUX_MODE0) /* abemcpdm_frame.abemcpdm_frame */
171 OMAP5_IOPAD(0x1a2, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcpdm_lb_clk.abemcpdm_lb_clk */
172 >;
173 };
174
175 mcbsp1_pins: pinmux_mcbsp1_pins {
176 pinctrl-single,pins = <
177 OMAP5_IOPAD(0x18c, PIN_INPUT | MUX_MODE1) /* abedmic_clk2.abemcbsp1_fsx */
178 OMAP5_IOPAD(0x18e, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* abedmic_clk3.abemcbsp1_dx */
179 OMAP5_IOPAD(0x190, PIN_INPUT | MUX_MODE1) /* abeslimbus1_clock.abemcbsp1_clkx */
180 OMAP5_IOPAD(0x192, PIN_INPUT_PULLDOWN | MUX_MODE1) /* abeslimbus1_data.abemcbsp1_dr */
181 >;
182 };
183
184 mcbsp2_pins: pinmux_mcbsp2_pins {
185 pinctrl-single,pins = <
186 OMAP5_IOPAD(0x194, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcbsp2_dr.abemcbsp2_dr */
187 OMAP5_IOPAD(0x196, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abemcbsp2_dx.abemcbsp2_dx */
188 OMAP5_IOPAD(0x198, PIN_INPUT | MUX_MODE0) /* abemcbsp2_fsx.abemcbsp2_fsx */
189 OMAP5_IOPAD(0x19a, PIN_INPUT | MUX_MODE0) /* abemcbsp2_clkx.abemcbsp2_clkx */
190 >;
191 };
192
193 i2c1_pins: pinmux_i2c1_pins {
194 pinctrl-single,pins = <
195 OMAP5_IOPAD(0x1f2, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
196 OMAP5_IOPAD(0x1f4, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
197 >;
198 };
199
200 mcspi2_pins: pinmux_mcspi2_pins {
201 pinctrl-single,pins = <
202 OMAP5_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0) /* mcspi2_clk */
203 OMAP5_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0) /* mcspi2_simo */
204 OMAP5_IOPAD(0x100, PIN_INPUT_PULLUP | MUX_MODE0) /* mcspi2_somi */
205 OMAP5_IOPAD(0x102, PIN_OUTPUT | MUX_MODE0) /* mcspi2_cs0 */
206 >;
207 };
208
209 mcspi3_pins: pinmux_mcspi3_pins {
210 pinctrl-single,pins = <
211 OMAP5_IOPAD(0x0b8, PIN_INPUT | MUX_MODE1) /* mcspi3_somi */
212 OMAP5_IOPAD(0x0ba, PIN_INPUT | MUX_MODE1) /* mcspi3_cs0 */
213 OMAP5_IOPAD(0x0bc, PIN_INPUT | MUX_MODE1) /* mcspi3_simo */
214 OMAP5_IOPAD(0x0be, PIN_INPUT | MUX_MODE1) /* mcspi3_clk */
215 >;
216 };
217
218 mmc3_pins: pinmux_mmc3_pins {
219 pinctrl-single,pins = <
220 OMAP5_IOPAD(0x01a4, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_clk */
221 OMAP5_IOPAD(0x01a6, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_cmd */
222 OMAP5_IOPAD(0x01a8, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data0 */
223 OMAP5_IOPAD(0x01aa, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data1 */
224 OMAP5_IOPAD(0x01ac, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data2 */
225 OMAP5_IOPAD(0x01ae, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data3 */
226 >;
227 };
228
229 wlan_pins: pinmux_wlan_pins {
230 pinctrl-single,pins = <
231 OMAP5_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE6) /* mcspi1_clk.gpio5_140 */
232 >;
233 };
234
235 /* TI trees use GPIO mode; msecure mode does not work reliably? */
236 palmas_msecure_pins: palmas_msecure_pins {
237 pinctrl-single,pins = <
238 OMAP5_IOPAD(0x180, PIN_OUTPUT | MUX_MODE6) /* gpio8_234 */
239 >;
240 };
241
242 usbhost_pins: pinmux_usbhost_pins {
243 pinctrl-single,pins = <
244 OMAP5_IOPAD(0x0c4, PIN_INPUT | MUX_MODE0) /* usbb2_hsic_strobe */
245 OMAP5_IOPAD(0x0c6, PIN_INPUT | MUX_MODE0) /* usbb2_hsic_data */
246
247 OMAP5_IOPAD(0x1de, PIN_INPUT | MUX_MODE0) /* usbb3_hsic_strobe */
248 OMAP5_IOPAD(0x1e0, PIN_INPUT | MUX_MODE0) /* usbb3_hsic_data */
249
250 OMAP5_IOPAD(0x0b0, PIN_OUTPUT | MUX_MODE6) /* gpio3_80 HUB_NRESET */
251 OMAP5_IOPAD(0x0ae, PIN_OUTPUT | MUX_MODE6) /* gpio3_79 ETH_NRESET */
252 >;
253 };
254
255 led_gpio_pins: pinmux_led_gpio_pins {
256 pinctrl-single,pins = <
257 OMAP5_IOPAD(0x1d6, PIN_OUTPUT | MUX_MODE6) /* uart3_cts_rctx.gpio5_153 */
258 >;
259 };
260
261 uart1_pins: pinmux_uart1_pins {
262 pinctrl-single,pins = <
263 OMAP5_IOPAD(0x0a0, PIN_OUTPUT | MUX_MODE0) /* uart1_tx.uart1_cts */
264 OMAP5_IOPAD(0x0a2, PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_tx.uart1_cts */
265 OMAP5_IOPAD(0x0a4, PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rx.uart1_rts */
266 OMAP5_IOPAD(0x0a6, PIN_OUTPUT | MUX_MODE0) /* uart1_rx.uart1_rts */
267 >;
268 };
269
270 uart3_pins: pinmux_uart3_pins {
271 pinctrl-single,pins = <
272 OMAP5_IOPAD(0x1da, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_irsd.uart3_tx_irtx */
273 OMAP5_IOPAD(0x1dc, PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_rx_irrx.uart3_usbb3_hsic */
274 >;
275 };
276
277 uart5_pins: pinmux_uart5_pins {
278 pinctrl-single,pins = <
279 OMAP5_IOPAD(0x1b0, PIN_INPUT_PULLUP | MUX_MODE0) /* uart5_rx.uart5_rx */
280 OMAP5_IOPAD(0x1b2, PIN_OUTPUT | MUX_MODE0) /* uart5_tx.uart5_tx */
281 OMAP5_IOPAD(0x1b4, PIN_INPUT_PULLUP | MUX_MODE0) /* uart5_cts.uart5_rts */
282 OMAP5_IOPAD(0x1b6, PIN_OUTPUT | MUX_MODE0) /* uart5_cts.uart5_rts */
283 >;
284 };
285
286 dss_hdmi_pins: pinmux_dss_hdmi_pins {
287 pinctrl-single,pins = <
288 OMAP5_IOPAD(0x13c, PIN_INPUT | MUX_MODE0) /* hdmi_cec.hdmi_cec */
289 OMAP5_IOPAD(0x140, PIN_INPUT | MUX_MODE0) /* hdmi_ddc_scl.hdmi_ddc_scl */
290 OMAP5_IOPAD(0x142, PIN_INPUT | MUX_MODE0) /* hdmi_ddc_sda.hdmi_ddc_sda */
291 >;
292 };
293
294 tpd12s015_pins: pinmux_tpd12s015_pins {
295 pinctrl-single,pins = <
296 OMAP5_IOPAD(0x13e, PIN_INPUT_PULLDOWN | MUX_MODE6) /* hdmi_hpd.gpio7_193 */
297 >;
298 };
299};
300
301&omap5_pmx_wkup {
302 pinctrl-names = "default";
303 pinctrl-0 = <
304 &usbhost_wkup_pins
305 >;
306
307 palmas_sys_nirq_pins: pinmux_palmas_sys_nirq_pins {
308 pinctrl-single,pins = <
309 /* sys_nirq1 is pulled down as the SoC is inverting it for GIC */
310 OMAP5_IOPAD(0x068, PIN_INPUT_PULLUP | MUX_MODE0)
311 >;
312 };
313
314 usbhost_wkup_pins: pinmux_usbhost_wkup_pins {
315 pinctrl-single,pins = <
316 OMAP5_IOPAD(0x05a, PIN_OUTPUT | MUX_MODE0) /* fref_clk1_out, USB hub clk */
317 >;
318 };
319
320 wlcore_irq_pin: pinmux_wlcore_irq_pin {
321 pinctrl-single,pins = <
322 OMAP5_IOPAD(0x40, PIN_INPUT | MUX_MODE6) /* llia_wakereqin.gpio1_wk14 */
323 >;
324 };
325};
326
327&mmc1 {
328 vmmc-supply = <&ldo9_reg>;
329 bus-width = <4>;
330};
331
332&mmc2 {
333 vmmc-supply = <&vmmcsd_fixed>;
334 bus-width = <8>;
335 ti,non-removable;
336};
337
338&mmc3 {
339 vmmc-supply = <&vmmcsdio_fixed>;
340 mmc-pwrseq = <&mmc3_pwrseq>;
341 bus-width = <4>;
342 non-removable;
343 cap-power-off-card;
344 pinctrl-names = "default";
345 pinctrl-0 = <&mmc3_pins>;
346 interrupts-extended = <&wakeupgen GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH
347 &omap5_pmx_core 0x16a>;
348
349 #address-cells = <1>;
350 #size-cells = <0>;
351 wlcore: wlcore@2 {
352 compatible = "ti,wl1271";
353 reg = <2>;
354 pinctrl-names = "default";
355 pinctrl-0 = <&wlcore_irq_pin>;
356 interrupt-parent = <&gpio1>;
357 interrupts = <14 IRQ_TYPE_LEVEL_HIGH>; /* gpio 14 */
358 ref-clock-frequency = <26000000>;
359 };
360};
361
362&mmc4 {
363 status = "disabled";
364};
365
366&mmc5 {
367 status = "disabled";
368};
369
370&i2c1 {
371 pinctrl-names = "default";
372 pinctrl-0 = <&i2c1_pins>;
373
374 clock-frequency = <400000>;
375
376 palmas: palmas@48 {
377 compatible = "ti,palmas";
378 /* sys_nirq/ext_sys_irq pins get inverted at mpuss wakeupgen */
379 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_LOW>;
380 reg = <0x48>;
381 interrupt-controller;
382 #interrupt-cells = <2>;
383 ti,system-power-controller;
384 ti,mux-pad1 = <0xa1>;
385 ti,mux-pad2 = <0x1b>;
386 pinctrl-names = "default";
387 pinctrl-0 = <&palmas_sys_nirq_pins &palmas_msecure_pins>;
388
389 palmas_gpio: gpio {
390 compatible = "ti,palmas-gpio";
391 gpio-controller;
392 #gpio-cells = <2>;
393 };
394
395 extcon_usb3: palmas_usb {
396 compatible = "ti,palmas-usb-vid";
397 ti,enable-vbus-detection;
398 ti,enable-id-detection;
399 ti,wakeup;
400 id-gpios = <&palmas_gpio 0 GPIO_ACTIVE_HIGH>;
401 };
402
403 clk32kgaudio: palmas_clk32k@1 {
404 compatible = "ti,palmas-clk32kgaudio";
405 #clock-cells = <0>;
406 };
407
408 rtc {
409 compatible = "ti,palmas-rtc";
410 interrupt-parent = <&palmas>;
411 interrupts = <8 IRQ_TYPE_NONE>;
412 ti,backup-battery-chargeable;
413 ti,backup-battery-charge-high-current;
414 };
415
416 gpadc: gpadc {
417 compatible = "ti,palmas-gpadc";
418 interrupts = <18 0
419 16 0
420 17 0>;
421 #io-channel-cells = <1>;
422 ti,channel0-current-microamp = <5>;
423 ti,channel3-current-microamp = <10>;
424 };
425
426 palmas_pmic {
427 compatible = "ti,palmas-pmic";
428 interrupt-parent = <&palmas>;
429 interrupts = <14 IRQ_TYPE_NONE>;
430 interrupt-names = "short-irq";
431
432 ti,ldo6-vibrator;
433
434 smps123-in-supply = <&vsys_cobra>;
435 smps45-in-supply = <&vsys_cobra>;
436 smps6-in-supply = <&vsys_cobra>;
437 smps7-in-supply = <&vsys_cobra>;
438 smps8-in-supply = <&vsys_cobra>;
439 smps9-in-supply = <&vsys_cobra>;
440 smps10_out2-in-supply = <&vsys_cobra>;
441 smps10_out1-in-supply = <&vsys_cobra>;
442 ldo1-in-supply = <&vsys_cobra>;
443 ldo2-in-supply = <&vsys_cobra>;
444 ldo3-in-supply = <&vdds_1v8_main>;
445 ldo4-in-supply = <&vdds_1v8_main>;
446 ldo5-in-supply = <&vsys_cobra>;
447 ldo6-in-supply = <&vdds_1v8_main>;
448 ldo7-in-supply = <&vsys_cobra>;
449 ldo8-in-supply = <&vsys_cobra>;
450 ldo9-in-supply = <&vmmcsd_fixed>;
451 ldoln-in-supply = <&vsys_cobra>;
452 ldousb-in-supply = <&vsys_cobra>;
453
454 regulators {
455 smps123_reg: smps123 {
456 /* VDD_OPP_MPU */
457 regulator-name = "smps123";
458 regulator-min-microvolt = < 600000>;
459 regulator-max-microvolt = <1500000>;
460 regulator-always-on;
461 regulator-boot-on;
462 };
463
464 smps45_reg: smps45 {
465 /* VDD_OPP_MM */
466 regulator-name = "smps45";
467 regulator-min-microvolt = < 600000>;
468 regulator-max-microvolt = <1310000>;
469 regulator-always-on;
470 regulator-boot-on;
471 };
472
473 smps6_reg: smps6 {
474 /* VDD_DDR3 - over VDD_SMPS6 */
475 regulator-name = "smps6";
476 regulator-min-microvolt = <1350000>;
477 regulator-max-microvolt = <1350000>;
478 regulator-always-on;
479 regulator-boot-on;
480 };
481
482 vdds_1v8_main:
483 smps7_reg: smps7 {
484 /* VDDS_1v8_OMAP over VDDS_1v8_MAIN */
485 regulator-name = "smps7";
486 regulator-min-microvolt = <1800000>;
487 regulator-max-microvolt = <1800000>;
488 regulator-always-on;
489 regulator-boot-on;
490 };
491
492 smps8_reg: smps8 {
493 /* VDD_OPP_CORE */
494 regulator-name = "smps8";
495 regulator-min-microvolt = < 600000>;
496 regulator-max-microvolt = <1310000>;
497 regulator-always-on;
498 regulator-boot-on;
499 };
500
501 smps9_reg: smps9 {
502 /* VDDA_2v1_AUD over VDD_2v1 */
503 regulator-name = "smps9";
504 regulator-min-microvolt = <2100000>;
505 regulator-max-microvolt = <2100000>;
506 ti,smps-range = <0x80>;
507 };
508
509 smps10_out2_reg: smps10_out2 {
510 /* VBUS_5V_OTG */
511 regulator-name = "smps10_out2";
512 regulator-min-microvolt = <5000000>;
513 regulator-max-microvolt = <5000000>;
514 regulator-always-on;
515 regulator-boot-on;
516 };
517
518 smps10_out1_reg: smps10_out1 {
519 /* VBUS_5V_OTG */
520 regulator-name = "smps10_out1";
521 regulator-min-microvolt = <5000000>;
522 regulator-max-microvolt = <5000000>;
523 };
524
525 ldo1_reg: ldo1 {
526 /* VDDAPHY_CAM: vdda_csiport */
527 regulator-name = "ldo1";
528 regulator-min-microvolt = <1800000>;
529 regulator-max-microvolt = <1800000>;
530 };
531
532 ldo2_reg: ldo2 {
533 /* VCC_2V8_DISP: Does not go anywhere */
534 regulator-name = "ldo2";
535 regulator-min-microvolt = <2800000>;
536 regulator-max-microvolt = <2800000>;
537 /* Unused */
538 status = "disabled";
539 };
540
541 ldo3_reg: ldo3 {
542 /* VDDAPHY_MDM: vdda_lli */
543 regulator-name = "ldo3";
544 regulator-min-microvolt = <1500000>;
545 regulator-max-microvolt = <1500000>;
546 regulator-boot-on;
547 /* Only if Modem is used */
548 status = "disabled";
549 };
550
551 ldo4_reg: ldo4 {
552 /* VDDAPHY_DISP: vdda_dsiport/hdmi */
553 regulator-name = "ldo4";
554 regulator-min-microvolt = <1800000>;
555 regulator-max-microvolt = <1800000>;
556 };
557
558 ldo5_reg: ldo5 {
559 /* VDDA_1V8_PHY: usb/sata/hdmi.. */
560 regulator-name = "ldo5";
561 regulator-min-microvolt = <1800000>;
562 regulator-max-microvolt = <1800000>;
563 regulator-always-on;
564 regulator-boot-on;
565 };
566
567 ldo6_reg: ldo6 {
568 /* VDDS_1V2_WKUP: hsic/ldo_emu_wkup */
569 regulator-name = "ldo6";
570 regulator-min-microvolt = <1200000>;
571 regulator-max-microvolt = <1200000>;
572 regulator-always-on;
573 regulator-boot-on;
574 };
575
576 ldo7_reg: ldo7 {
577 /* VDD_VPP: vpp1 */
578 regulator-name = "ldo7";
579 regulator-min-microvolt = <2000000>;
580 regulator-max-microvolt = <2000000>;
581 /* Only for efuse reprograming! */
582 status = "disabled";
583 };
584
585 ldo8_reg: ldo8 {
586 /* VDD_3v0: Does not go anywhere */
587 regulator-name = "ldo8";
588 regulator-min-microvolt = <3000000>;
589 regulator-max-microvolt = <3000000>;
590 regulator-boot-on;
591 /* Unused */
592 status = "disabled";
593 };
594
595 ldo9_reg: ldo9 {
596 /* VCC_DV_SDIO: vdds_sdcard */
597 regulator-name = "ldo9";
598 regulator-min-microvolt = <1800000>;
599 regulator-max-microvolt = <3000000>;
600 regulator-boot-on;
601 };
602
603 ldoln_reg: ldoln {
604 /* VDDA_1v8_REF: vdds_osc/mm_l4per.. */
605 regulator-name = "ldoln";
606 regulator-min-microvolt = <1800000>;
607 regulator-max-microvolt = <1800000>;
608 regulator-always-on;
609 regulator-boot-on;
610 };
611
612 ldousb_reg: ldousb {
613 /* VDDA_3V_USB: VDDA_USBHS33 */
614 regulator-name = "ldousb";
615 regulator-min-microvolt = <3250000>;
616 regulator-max-microvolt = <3250000>;
617 regulator-always-on;
618 regulator-boot-on;
619 };
620
621 regen3_reg: regen3 {
622 /* REGEN3 controls LDO9 supply to card */
623 regulator-name = "regen3";
624 regulator-always-on;
625 regulator-boot-on;
626 };
627 };
628 };
629
630 palmas_power_button: palmas_power_button {
631 compatible = "ti,palmas-pwrbutton";
632 interrupt-parent = <&palmas>;
633 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
634 wakeup-source;
635 };
636 };
637
638 twl6040: twl@4b {
639 compatible = "ti,twl6040";
640 #clock-cells = <0>;
641 reg = <0x4b>;
642
643 pinctrl-names = "default";
644 pinctrl-0 = <&twl6040_pins>;
645
646 /* sys_nirq/ext_sys_irq pins get inverted at mpuss wakeupgen */
647 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_LOW>;
648
649 /* audpwron gpio defined in the board specific dts */
650
651 vio-supply = <&smps7_reg>;
652 v2v1-supply = <&smps9_reg>;
653 enable-active-high;
654
655 clocks = <&clk32kgaudio>, <&fref_xtal_ck>;
656 clock-names = "clk32k", "mclk";
657 };
658};
659
660&mcpdm_module {
661 /* Module on the SoC needs external clock from the PMIC */
662 pinctrl-names = "default";
663 pinctrl-0 = <&mcpdm_pins>;
664 status = "okay";
665};
666
667&mcpdm {
668 clocks = <&twl6040>;
669 clock-names = "pdmclk";
670};
671
672&mcbsp1 {
673 pinctrl-names = "default";
674 pinctrl-0 = <&mcbsp1_pins>;
675 status = "okay";
676};
677
678&mcbsp2 {
679 pinctrl-names = "default";
680 pinctrl-0 = <&mcbsp2_pins>;
681 status = "okay";
682};
683
684&usbhshost {
685 port2-mode = "ehci-hsic";
686 port3-mode = "ehci-hsic";
687};
688
689&usbhsehci {
690 phys = <0 &hsusb2_phy &hsusb3_phy>;
691};
692
693&usb3 {
694 extcon = <&extcon_usb3>;
695 vbus-supply = <&smps10_out1_reg>;
696};
697
698&dwc3 {
699 extcon = <&extcon_usb3>;
700 dr_mode = "otg";
701};
702
703&mcspi1 {
704
705};
706
707&mcspi2 {
708 pinctrl-names = "default";
709 pinctrl-0 = <&mcspi2_pins>;
710};
711
712&mcspi3 {
713 pinctrl-names = "default";
714 pinctrl-0 = <&mcspi3_pins>;
715};
716
717&uart1 {
718 pinctrl-names = "default";
719 pinctrl-0 = <&uart1_pins>;
720};
721
722&uart3 {
723 pinctrl-names = "default";
724 pinctrl-0 = <&uart3_pins>;
725 interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
726 <&omap5_pmx_core 0x19c>;
727};
728
729&uart5 {
730 pinctrl-names = "default";
731 pinctrl-0 = <&uart5_pins>;
732};
733
734&cpu0 {
735 cpu0-supply = <&smps123_reg>;
736};
737
738&dss {
739 status = "okay";
740};
741
742&hdmi {
743 status = "okay";
744
745 /* vdda-supply populated in board specific dts file */
746
747 pinctrl-names = "default";
748 pinctrl-0 = <&dss_hdmi_pins>;
749
750 port {
751 hdmi_out: endpoint {
752 remote-endpoint = <&tpd12s015_in>;
753 };
754 };
755};
1/*
2 * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8#include "omap5.dtsi"
9#include <dt-bindings/interrupt-controller/irq.h>
10#include <dt-bindings/interrupt-controller/arm-gic.h>
11
12/ {
13 aliases {
14 display0 = &hdmi0;
15 };
16
17 vmmcsd_fixed: fixedregulator-mmcsd {
18 compatible = "regulator-fixed";
19 regulator-name = "vmmcsd_fixed";
20 regulator-min-microvolt = <3000000>;
21 regulator-max-microvolt = <3000000>;
22 };
23
24 mmc3_pwrseq: sdhci0_pwrseq {
25 compatible = "mmc-pwrseq-simple";
26 clocks = <&clk32kgaudio>;
27 clock-names = "ext_clock";
28 };
29
30 vmmcsdio_fixed: fixedregulator-mmcsdio {
31 compatible = "regulator-fixed";
32 regulator-name = "vmmcsdio_fixed";
33 regulator-min-microvolt = <1800000>;
34 regulator-max-microvolt = <1800000>;
35 gpio = <&gpio5 12 GPIO_ACTIVE_HIGH>; /* gpio140 WLAN_EN */
36 enable-active-high;
37 startup-delay-us = <70000>;
38 pinctrl-names = "default";
39 pinctrl-0 = <&wlan_pins>;
40 };
41
42 /* HS USB Host PHY on PORT 2 */
43 hsusb2_phy: hsusb2_phy {
44 compatible = "usb-nop-xceiv";
45 reset-gpios = <&gpio3 16 GPIO_ACTIVE_LOW>; /* gpio3_80 HUB_NRESET */
46 clocks = <&auxclk1_ck>;
47 clock-names = "main_clk";
48 clock-frequency = <19200000>;
49 };
50
51 /* HS USB Host PHY on PORT 3 */
52 hsusb3_phy: hsusb3_phy {
53 compatible = "usb-nop-xceiv";
54 reset-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>; /* gpio3_79 ETH_NRESET */
55 };
56
57 leds {
58 compatible = "gpio-leds";
59 led@1 {
60 label = "omap5:blue:usr1";
61 gpios = <&gpio5 25 GPIO_ACTIVE_HIGH>; /* gpio5_153 D1 LED */
62 linux,default-trigger = "heartbeat";
63 default-state = "off";
64 };
65 };
66
67 tpd12s015: encoder@0 {
68 compatible = "ti,tpd12s015";
69
70 pinctrl-names = "default";
71 pinctrl-0 = <&tpd12s015_pins>;
72
73 /* gpios defined in the board specific dts */
74
75 ports {
76 #address-cells = <1>;
77 #size-cells = <0>;
78
79 port@0 {
80 reg = <0>;
81
82 tpd12s015_in: endpoint@0 {
83 remote-endpoint = <&hdmi_out>;
84 };
85 };
86
87 port@1 {
88 reg = <1>;
89
90 tpd12s015_out: endpoint@0 {
91 remote-endpoint = <&hdmi_connector_in>;
92 };
93 };
94 };
95 };
96
97 hdmi0: connector@0 {
98 compatible = "hdmi-connector";
99 label = "hdmi";
100
101 type = "b";
102
103 port {
104 hdmi_connector_in: endpoint {
105 remote-endpoint = <&tpd12s015_out>;
106 };
107 };
108 };
109
110 sound: sound {
111 compatible = "ti,abe-twl6040";
112 ti,model = "omap5-uevm";
113
114 ti,mclk-freq = <19200000>;
115
116 ti,mcpdm = <&mcpdm>;
117
118 ti,twl6040 = <&twl6040>;
119
120 /* Audio routing */
121 ti,audio-routing =
122 "Headset Stereophone", "HSOL",
123 "Headset Stereophone", "HSOR",
124 "Line Out", "AUXL",
125 "Line Out", "AUXR",
126 "HSMIC", "Headset Mic",
127 "Headset Mic", "Headset Mic Bias",
128 "AFML", "Line In",
129 "AFMR", "Line In";
130 };
131};
132
133&gpio8 {
134 /* TI trees use GPIO instead of msecure, see also muxing */
135 p234 {
136 gpio-hog;
137 gpios = <10 GPIO_ACTIVE_HIGH>;
138 output-high;
139 line-name = "gpio8_234/msecure";
140 };
141};
142
143&omap5_pmx_core {
144 pinctrl-names = "default";
145 pinctrl-0 = <
146 &usbhost_pins
147 &led_gpio_pins
148 >;
149
150 twl6040_pins: pinmux_twl6040_pins {
151 pinctrl-single,pins = <
152 OMAP5_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE6) /* mcspi1_somi.gpio5_141 */
153 >;
154 };
155
156 mcpdm_pins: pinmux_mcpdm_pins {
157 pinctrl-single,pins = <
158 OMAP5_IOPAD(0x182, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */
159 OMAP5_IOPAD(0x19c, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcpdm_ul_data.abemcpdm_ul_data */
160 OMAP5_IOPAD(0x19e, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcpdm_dl_data.abemcpdm_dl_data */
161 OMAP5_IOPAD(0x1a0, PIN_INPUT_PULLUP | MUX_MODE0) /* abemcpdm_frame.abemcpdm_frame */
162 OMAP5_IOPAD(0x1a2, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcpdm_lb_clk.abemcpdm_lb_clk */
163 >;
164 };
165
166 mcbsp1_pins: pinmux_mcbsp1_pins {
167 pinctrl-single,pins = <
168 OMAP5_IOPAD(0x18c, PIN_INPUT | MUX_MODE1) /* abedmic_clk2.abemcbsp1_fsx */
169 OMAP5_IOPAD(0x18e, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* abedmic_clk3.abemcbsp1_dx */
170 OMAP5_IOPAD(0x190, PIN_INPUT | MUX_MODE1) /* abeslimbus1_clock.abemcbsp1_clkx */
171 OMAP5_IOPAD(0x192, PIN_INPUT_PULLDOWN | MUX_MODE1) /* abeslimbus1_data.abemcbsp1_dr */
172 >;
173 };
174
175 mcbsp2_pins: pinmux_mcbsp2_pins {
176 pinctrl-single,pins = <
177 OMAP5_IOPAD(0x194, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcbsp2_dr.abemcbsp2_dr */
178 OMAP5_IOPAD(0x196, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abemcbsp2_dx.abemcbsp2_dx */
179 OMAP5_IOPAD(0x198, PIN_INPUT | MUX_MODE0) /* abemcbsp2_fsx.abemcbsp2_fsx */
180 OMAP5_IOPAD(0x19a, PIN_INPUT | MUX_MODE0) /* abemcbsp2_clkx.abemcbsp2_clkx */
181 >;
182 };
183
184 i2c1_pins: pinmux_i2c1_pins {
185 pinctrl-single,pins = <
186 OMAP5_IOPAD(0x1f2, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
187 OMAP5_IOPAD(0x1f4, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
188 >;
189 };
190
191 mcspi2_pins: pinmux_mcspi2_pins {
192 pinctrl-single,pins = <
193 OMAP5_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0) /* mcspi2_clk */
194 OMAP5_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0) /* mcspi2_simo */
195 OMAP5_IOPAD(0x100, PIN_INPUT_PULLUP | MUX_MODE0) /* mcspi2_somi */
196 OMAP5_IOPAD(0x102, PIN_OUTPUT | MUX_MODE0) /* mcspi2_cs0 */
197 >;
198 };
199
200 mcspi3_pins: pinmux_mcspi3_pins {
201 pinctrl-single,pins = <
202 OMAP5_IOPAD(0x0b8, PIN_INPUT | MUX_MODE1) /* mcspi3_somi */
203 OMAP5_IOPAD(0x0ba, PIN_INPUT | MUX_MODE1) /* mcspi3_cs0 */
204 OMAP5_IOPAD(0x0bc, PIN_INPUT | MUX_MODE1) /* mcspi3_simo */
205 OMAP5_IOPAD(0x0be, PIN_INPUT | MUX_MODE1) /* mcspi3_clk */
206 >;
207 };
208
209 mmc3_pins: pinmux_mmc3_pins {
210 pinctrl-single,pins = <
211 OMAP5_IOPAD(0x01a4, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_clk */
212 OMAP5_IOPAD(0x01a6, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_cmd */
213 OMAP5_IOPAD(0x01a8, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data0 */
214 OMAP5_IOPAD(0x01aa, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data1 */
215 OMAP5_IOPAD(0x01ac, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data2 */
216 OMAP5_IOPAD(0x01ae, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data3 */
217 >;
218 };
219
220 wlan_pins: pinmux_wlan_pins {
221 pinctrl-single,pins = <
222 OMAP5_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE6) /* mcspi1_clk.gpio5_140 */
223 >;
224 };
225
226 /* TI trees use GPIO mode; msecure mode does not work reliably? */
227 palmas_msecure_pins: palmas_msecure_pins {
228 pinctrl-single,pins = <
229 OMAP5_IOPAD(0x180, PIN_OUTPUT | MUX_MODE6) /* gpio8_234 */
230 >;
231 };
232
233 usbhost_pins: pinmux_usbhost_pins {
234 pinctrl-single,pins = <
235 OMAP5_IOPAD(0x0c4, PIN_INPUT | MUX_MODE0) /* usbb2_hsic_strobe */
236 OMAP5_IOPAD(0x0c6, PIN_INPUT | MUX_MODE0) /* usbb2_hsic_data */
237
238 OMAP5_IOPAD(0x1de, PIN_INPUT | MUX_MODE0) /* usbb3_hsic_strobe */
239 OMAP5_IOPAD(0x1e0, PIN_INPUT | MUX_MODE0) /* usbb3_hsic_data */
240
241 OMAP5_IOPAD(0x0b0, PIN_OUTPUT | MUX_MODE6) /* gpio3_80 HUB_NRESET */
242 OMAP5_IOPAD(0x0ae, PIN_OUTPUT | MUX_MODE6) /* gpio3_79 ETH_NRESET */
243 >;
244 };
245
246 led_gpio_pins: pinmux_led_gpio_pins {
247 pinctrl-single,pins = <
248 OMAP5_IOPAD(0x1d6, PIN_OUTPUT | MUX_MODE6) /* uart3_cts_rctx.gpio5_153 */
249 >;
250 };
251
252 uart1_pins: pinmux_uart1_pins {
253 pinctrl-single,pins = <
254 OMAP5_IOPAD(0x0a0, PIN_OUTPUT | MUX_MODE0) /* uart1_tx.uart1_cts */
255 OMAP5_IOPAD(0x0a2, PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_tx.uart1_cts */
256 OMAP5_IOPAD(0x0a4, PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rx.uart1_rts */
257 OMAP5_IOPAD(0x0a6, PIN_OUTPUT | MUX_MODE0) /* uart1_rx.uart1_rts */
258 >;
259 };
260
261 uart3_pins: pinmux_uart3_pins {
262 pinctrl-single,pins = <
263 OMAP5_IOPAD(0x1da, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_irsd.uart3_tx_irtx */
264 OMAP5_IOPAD(0x1dc, PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_rx_irrx.uart3_usbb3_hsic */
265 >;
266 };
267
268 uart5_pins: pinmux_uart5_pins {
269 pinctrl-single,pins = <
270 OMAP5_IOPAD(0x1b0, PIN_INPUT_PULLUP | MUX_MODE0) /* uart5_rx.uart5_rx */
271 OMAP5_IOPAD(0x1b2, PIN_OUTPUT | MUX_MODE0) /* uart5_tx.uart5_tx */
272 OMAP5_IOPAD(0x1b4, PIN_INPUT_PULLUP | MUX_MODE0) /* uart5_cts.uart5_rts */
273 OMAP5_IOPAD(0x1b6, PIN_OUTPUT | MUX_MODE0) /* uart5_cts.uart5_rts */
274 >;
275 };
276
277 dss_hdmi_pins: pinmux_dss_hdmi_pins {
278 pinctrl-single,pins = <
279 OMAP5_IOPAD(0x13c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec.hdmi_cec */
280 OMAP5_IOPAD(0x140, PIN_INPUT | MUX_MODE0) /* hdmi_ddc_scl.hdmi_ddc_scl */
281 OMAP5_IOPAD(0x142, PIN_INPUT | MUX_MODE0) /* hdmi_ddc_sda.hdmi_ddc_sda */
282 >;
283 };
284
285 tpd12s015_pins: pinmux_tpd12s015_pins {
286 pinctrl-single,pins = <
287 OMAP5_IOPAD(0x13e, PIN_INPUT_PULLDOWN | MUX_MODE6) /* hdmi_hpd.gpio7_193 */
288 >;
289 };
290};
291
292&omap5_pmx_wkup {
293 pinctrl-names = "default";
294 pinctrl-0 = <
295 &usbhost_wkup_pins
296 >;
297
298 palmas_sys_nirq_pins: pinmux_palmas_sys_nirq_pins {
299 pinctrl-single,pins = <
300 OMAP5_IOPAD(0x068, PIN_INPUT_PULLUP | MUX_MODE0) /* sys_nirq1 */
301 >;
302 };
303
304 usbhost_wkup_pins: pinmux_usbhost_wkup_pins {
305 pinctrl-single,pins = <
306 OMAP5_IOPAD(0x05a, PIN_OUTPUT | MUX_MODE0) /* fref_clk1_out, USB hub clk */
307 >;
308 };
309
310 wlcore_irq_pin: pinmux_wlcore_irq_pin {
311 pinctrl-single,pins = <
312 OMAP5_IOPAD(0x40, WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE6) /* llia_wakereqin.gpio1_wk14 */
313 >;
314 };
315};
316
317&mmc1 {
318 vmmc-supply = <&ldo9_reg>;
319 bus-width = <4>;
320};
321
322&mmc2 {
323 vmmc-supply = <&vmmcsd_fixed>;
324 bus-width = <8>;
325 ti,non-removable;
326};
327
328&mmc3 {
329 vmmc-supply = <&vmmcsdio_fixed>;
330 mmc-pwrseq = <&mmc3_pwrseq>;
331 bus-width = <4>;
332 non-removable;
333 cap-power-off-card;
334 pinctrl-names = "default";
335 pinctrl-0 = <&mmc3_pins &wlcore_irq_pin>;
336 interrupts-extended = <&gic GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH
337 &omap5_pmx_core 0x168>;
338
339 #address-cells = <1>;
340 #size-cells = <0>;
341 wlcore: wlcore@2 {
342 compatible = "ti,wl1271";
343 reg = <2>;
344 interrupt-parent = <&gpio1>;
345 interrupts = <14 IRQ_TYPE_LEVEL_HIGH>; /* gpio 14 */
346 ref-clock-frequency = <26000000>;
347 };
348};
349
350&mmc4 {
351 status = "disabled";
352};
353
354&mmc5 {
355 status = "disabled";
356};
357
358&i2c1 {
359 pinctrl-names = "default";
360 pinctrl-0 = <&i2c1_pins>;
361
362 clock-frequency = <400000>;
363
364 palmas: palmas@48 {
365 compatible = "ti,palmas";
366 interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* IRQ_SYS_1N */
367 reg = <0x48>;
368 interrupt-controller;
369 #interrupt-cells = <2>;
370 ti,system-power-controller;
371 pinctrl-names = "default";
372 pinctrl-0 = <&palmas_sys_nirq_pins &palmas_msecure_pins>;
373
374 extcon_usb3: palmas_usb {
375 compatible = "ti,palmas-usb-vid";
376 ti,enable-vbus-detection;
377 ti,enable-id-detection;
378 ti,wakeup;
379 };
380
381 clk32kgaudio: palmas_clk32k@1 {
382 compatible = "ti,palmas-clk32kgaudio";
383 #clock-cells = <0>;
384 };
385
386 rtc {
387 compatible = "ti,palmas-rtc";
388 interrupt-parent = <&palmas>;
389 interrupts = <8 IRQ_TYPE_NONE>;
390 ti,backup-battery-chargeable;
391 ti,backup-battery-charge-high-current;
392 };
393
394 palmas_pmic {
395 compatible = "ti,palmas-pmic";
396 interrupt-parent = <&palmas>;
397 interrupts = <14 IRQ_TYPE_NONE>;
398 interrupt-name = "short-irq";
399
400 ti,ldo6-vibrator;
401
402 regulators {
403 smps123_reg: smps123 {
404 /* VDD_OPP_MPU */
405 regulator-name = "smps123";
406 regulator-min-microvolt = < 600000>;
407 regulator-max-microvolt = <1500000>;
408 regulator-always-on;
409 regulator-boot-on;
410 };
411
412 smps45_reg: smps45 {
413 /* VDD_OPP_MM */
414 regulator-name = "smps45";
415 regulator-min-microvolt = < 600000>;
416 regulator-max-microvolt = <1310000>;
417 regulator-always-on;
418 regulator-boot-on;
419 };
420
421 smps6_reg: smps6 {
422 /* VDD_DDR3 - over VDD_SMPS6 */
423 regulator-name = "smps6";
424 regulator-min-microvolt = <1200000>;
425 regulator-max-microvolt = <1200000>;
426 regulator-always-on;
427 regulator-boot-on;
428 };
429
430 smps7_reg: smps7 {
431 /* VDDS_1v8_OMAP over VDDS_1v8_MAIN */
432 regulator-name = "smps7";
433 regulator-min-microvolt = <1800000>;
434 regulator-max-microvolt = <1800000>;
435 regulator-always-on;
436 regulator-boot-on;
437 };
438
439 smps8_reg: smps8 {
440 /* VDD_OPP_CORE */
441 regulator-name = "smps8";
442 regulator-min-microvolt = < 600000>;
443 regulator-max-microvolt = <1310000>;
444 regulator-always-on;
445 regulator-boot-on;
446 };
447
448 smps9_reg: smps9 {
449 /* VDDA_2v1_AUD over VDD_2v1 */
450 regulator-name = "smps9";
451 regulator-min-microvolt = <2100000>;
452 regulator-max-microvolt = <2100000>;
453 ti,smps-range = <0x80>;
454 };
455
456 smps10_out2_reg: smps10_out2 {
457 /* VBUS_5V_OTG */
458 regulator-name = "smps10_out2";
459 regulator-min-microvolt = <5000000>;
460 regulator-max-microvolt = <5000000>;
461 regulator-always-on;
462 regulator-boot-on;
463 };
464
465 smps10_out1_reg: smps10_out1 {
466 /* VBUS_5V_OTG */
467 regulator-name = "smps10_out1";
468 regulator-min-microvolt = <5000000>;
469 regulator-max-microvolt = <5000000>;
470 };
471
472 ldo1_reg: ldo1 {
473 /* VDDAPHY_CAM: vdda_csiport */
474 regulator-name = "ldo1";
475 regulator-min-microvolt = <1800000>;
476 regulator-max-microvolt = <1800000>;
477 };
478
479 ldo2_reg: ldo2 {
480 /* VCC_2V8_DISP: Does not go anywhere */
481 regulator-name = "ldo2";
482 regulator-min-microvolt = <2800000>;
483 regulator-max-microvolt = <2800000>;
484 /* Unused */
485 status = "disabled";
486 };
487
488 ldo3_reg: ldo3 {
489 /* VDDAPHY_MDM: vdda_lli */
490 regulator-name = "ldo3";
491 regulator-min-microvolt = <1500000>;
492 regulator-max-microvolt = <1500000>;
493 regulator-boot-on;
494 /* Only if Modem is used */
495 status = "disabled";
496 };
497
498 ldo4_reg: ldo4 {
499 /* VDDAPHY_DISP: vdda_dsiport/hdmi */
500 regulator-name = "ldo4";
501 regulator-min-microvolt = <1800000>;
502 regulator-max-microvolt = <1800000>;
503 };
504
505 ldo5_reg: ldo5 {
506 /* VDDA_1V8_PHY: usb/sata/hdmi.. */
507 regulator-name = "ldo5";
508 regulator-min-microvolt = <1800000>;
509 regulator-max-microvolt = <1800000>;
510 regulator-always-on;
511 regulator-boot-on;
512 };
513
514 ldo6_reg: ldo6 {
515 /* VDDS_1V2_WKUP: hsic/ldo_emu_wkup */
516 regulator-name = "ldo6";
517 regulator-min-microvolt = <1200000>;
518 regulator-max-microvolt = <1200000>;
519 regulator-always-on;
520 regulator-boot-on;
521 };
522
523 ldo7_reg: ldo7 {
524 /* VDD_VPP: vpp1 */
525 regulator-name = "ldo7";
526 regulator-min-microvolt = <2000000>;
527 regulator-max-microvolt = <2000000>;
528 /* Only for efuse reprograming! */
529 status = "disabled";
530 };
531
532 ldo8_reg: ldo8 {
533 /* VDD_3v0: Does not go anywhere */
534 regulator-name = "ldo8";
535 regulator-min-microvolt = <3000000>;
536 regulator-max-microvolt = <3000000>;
537 regulator-boot-on;
538 /* Unused */
539 status = "disabled";
540 };
541
542 ldo9_reg: ldo9 {
543 /* VCC_DV_SDIO: vdds_sdcard */
544 regulator-name = "ldo9";
545 regulator-min-microvolt = <1800000>;
546 regulator-max-microvolt = <3000000>;
547 regulator-boot-on;
548 };
549
550 ldoln_reg: ldoln {
551 /* VDDA_1v8_REF: vdds_osc/mm_l4per.. */
552 regulator-name = "ldoln";
553 regulator-min-microvolt = <1800000>;
554 regulator-max-microvolt = <1800000>;
555 regulator-always-on;
556 regulator-boot-on;
557 };
558
559 ldousb_reg: ldousb {
560 /* VDDA_3V_USB: VDDA_USBHS33 */
561 regulator-name = "ldousb";
562 regulator-min-microvolt = <3250000>;
563 regulator-max-microvolt = <3250000>;
564 regulator-always-on;
565 regulator-boot-on;
566 };
567
568 regen3_reg: regen3 {
569 /* REGEN3 controls LDO9 supply to card */
570 regulator-name = "regen3";
571 regulator-always-on;
572 regulator-boot-on;
573 };
574 };
575 };
576
577 palmas_power_button: palmas_power_button {
578 compatible = "ti,palmas-pwrbutton";
579 interrupt-parent = <&palmas>;
580 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
581 wakeup-source;
582 };
583 };
584
585 twl6040: twl@4b {
586 compatible = "ti,twl6040";
587 reg = <0x4b>;
588
589 pinctrl-names = "default";
590 pinctrl-0 = <&twl6040_pins>;
591
592 interrupts = <GIC_SPI 119 IRQ_TYPE_NONE>; /* IRQ_SYS_2N cascaded to gic */
593 ti,audpwron-gpio = <&gpio5 13 GPIO_ACTIVE_HIGH>; /* gpio line 141 */
594
595 vio-supply = <&smps7_reg>;
596 v2v1-supply = <&smps9_reg>;
597 enable-active-high;
598
599 clocks = <&clk32kgaudio>;
600 clock-names = "clk32k";
601 };
602};
603
604&mcpdm {
605 pinctrl-names = "default";
606 pinctrl-0 = <&mcpdm_pins>;
607 status = "okay";
608};
609
610&mcbsp1 {
611 pinctrl-names = "default";
612 pinctrl-0 = <&mcbsp1_pins>;
613 status = "okay";
614};
615
616&mcbsp2 {
617 pinctrl-names = "default";
618 pinctrl-0 = <&mcbsp2_pins>;
619 status = "okay";
620};
621
622&usbhshost {
623 port2-mode = "ehci-hsic";
624 port3-mode = "ehci-hsic";
625};
626
627&usbhsehci {
628 phys = <0 &hsusb2_phy &hsusb3_phy>;
629};
630
631&usb3 {
632 extcon = <&extcon_usb3>;
633 vbus-supply = <&smps10_out1_reg>;
634};
635
636&mcspi1 {
637
638};
639
640&mcspi2 {
641 pinctrl-names = "default";
642 pinctrl-0 = <&mcspi2_pins>;
643};
644
645&mcspi3 {
646 pinctrl-names = "default";
647 pinctrl-0 = <&mcspi3_pins>;
648};
649
650&uart1 {
651 pinctrl-names = "default";
652 pinctrl-0 = <&uart1_pins>;
653};
654
655&uart3 {
656 pinctrl-names = "default";
657 pinctrl-0 = <&uart3_pins>;
658 interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
659 <&omap5_pmx_core 0x19c>;
660};
661
662&uart5 {
663 pinctrl-names = "default";
664 pinctrl-0 = <&uart5_pins>;
665};
666
667&cpu0 {
668 cpu0-supply = <&smps123_reg>;
669};
670
671&dss {
672 status = "ok";
673};
674
675&hdmi {
676 status = "ok";
677
678 /* vdda-supply populated in board specific dts file */
679
680 pinctrl-names = "default";
681 pinctrl-0 = <&dss_hdmi_pins>;
682
683 port {
684 hdmi_out: endpoint {
685 remote-endpoint = <&tpd12s015_in>;
686 };
687 };
688};