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