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