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