blob: 6365635fea5c8dd5e65ac70459a1a6427631fd9a [file] [log] [blame]
Tony Lindgrenee9a97d2015-10-16 12:32:32 -07001/*
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
Nishanth Menon6b4e9412016-05-05 15:33:37 -070017 vmain: fixedregulator-vmain {
18 compatible = "regulator-fixed";
19 regulator-name = "vmain";
20 regulator-min-microvolt = <5000000>;
21 regulator-max-microvolt = <5000000>;
22 };
23
24 vsys_cobra: fixedregulator-vsys_cobra {
25 compatible = "regulator-fixed";
26 regulator-name = "vsys_cobra";
27 vin-supply = <&vmain>;
28 regulator-min-microvolt = <5000000>;
29 regulator-max-microvolt = <5000000>;
30 };
31
32 vdds_1v8_main: fixedregulator-vdds_1v8_main {
33 compatible = "regulator-fixed";
34 regulator-name = "vdds_1v8_main";
35 vin-supply = <&smps7_reg>;
36 regulator-min-microvolt = <1800000>;
37 regulator-max-microvolt = <1800000>;
38 };
39
Tony Lindgrenee9a97d2015-10-16 12:32:32 -070040 vmmcsd_fixed: fixedregulator-mmcsd {
41 compatible = "regulator-fixed";
42 regulator-name = "vmmcsd_fixed";
43 regulator-min-microvolt = <3000000>;
44 regulator-max-microvolt = <3000000>;
45 };
46
47 mmc3_pwrseq: sdhci0_pwrseq {
48 compatible = "mmc-pwrseq-simple";
49 clocks = <&clk32kgaudio>;
50 clock-names = "ext_clock";
51 };
52
53 vmmcsdio_fixed: fixedregulator-mmcsdio {
54 compatible = "regulator-fixed";
55 regulator-name = "vmmcsdio_fixed";
56 regulator-min-microvolt = <1800000>;
57 regulator-max-microvolt = <1800000>;
58 gpio = <&gpio5 12 GPIO_ACTIVE_HIGH>; /* gpio140 WLAN_EN */
59 enable-active-high;
60 startup-delay-us = <70000>;
61 pinctrl-names = "default";
62 pinctrl-0 = <&wlan_pins>;
63 };
64
65 /* HS USB Host PHY on PORT 2 */
66 hsusb2_phy: hsusb2_phy {
67 compatible = "usb-nop-xceiv";
68 reset-gpios = <&gpio3 16 GPIO_ACTIVE_LOW>; /* gpio3_80 HUB_NRESET */
69 clocks = <&auxclk1_ck>;
70 clock-names = "main_clk";
71 clock-frequency = <19200000>;
72 };
73
74 /* HS USB Host PHY on PORT 3 */
75 hsusb3_phy: hsusb3_phy {
76 compatible = "usb-nop-xceiv";
77 reset-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>; /* gpio3_79 ETH_NRESET */
78 };
79
Javier Martinez Canillase6db7f12016-06-27 15:21:07 -040080 tpd12s015: encoder {
Tony Lindgrenee9a97d2015-10-16 12:32:32 -070081 compatible = "ti,tpd12s015";
82
83 pinctrl-names = "default";
84 pinctrl-0 = <&tpd12s015_pins>;
85
86 /* gpios defined in the board specific dts */
87
88 ports {
89 #address-cells = <1>;
90 #size-cells = <0>;
91
92 port@0 {
93 reg = <0>;
94
Javier Martinez Canillase6db7f12016-06-27 15:21:07 -040095 tpd12s015_in: endpoint {
Tony Lindgrenee9a97d2015-10-16 12:32:32 -070096 remote-endpoint = <&hdmi_out>;
97 };
98 };
99
100 port@1 {
101 reg = <1>;
102
Javier Martinez Canillase6db7f12016-06-27 15:21:07 -0400103 tpd12s015_out: endpoint {
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700104 remote-endpoint = <&hdmi_connector_in>;
105 };
106 };
107 };
108 };
109
Javier Martinez Canillase6db7f12016-06-27 15:21:07 -0400110 hdmi0: connector {
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700111 compatible = "hdmi-connector";
112 label = "hdmi";
113
114 type = "b";
115
116 port {
117 hdmi_connector_in: endpoint {
118 remote-endpoint = <&tpd12s015_out>;
119 };
120 };
121 };
122
123 sound: sound {
124 compatible = "ti,abe-twl6040";
125 ti,model = "omap5-uevm";
126
127 ti,mclk-freq = <19200000>;
128
129 ti,mcpdm = <&mcpdm>;
130
131 ti,twl6040 = <&twl6040>;
132
133 /* Audio routing */
134 ti,audio-routing =
135 "Headset Stereophone", "HSOL",
136 "Headset Stereophone", "HSOR",
137 "Line Out", "AUXL",
138 "Line Out", "AUXR",
139 "HSMIC", "Headset Mic",
140 "Headset Mic", "Headset Mic Bias",
141 "AFML", "Line In",
142 "AFMR", "Line In";
143 };
144};
145
Tony Lindgrenaf756bb2016-01-11 14:35:24 -0800146&gpio8 {
147 /* TI trees use GPIO instead of msecure, see also muxing */
148 p234 {
149 gpio-hog;
150 gpios = <10 GPIO_ACTIVE_HIGH>;
151 output-high;
152 line-name = "gpio8_234/msecure";
153 };
154};
155
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700156&omap5_pmx_core {
157 pinctrl-names = "default";
158 pinctrl-0 = <
159 &usbhost_pins
160 &led_gpio_pins
161 >;
162
163 twl6040_pins: pinmux_twl6040_pins {
164 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300165 OMAP5_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE6) /* mcspi1_somi.gpio5_141 */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700166 >;
167 };
168
169 mcpdm_pins: pinmux_mcpdm_pins {
170 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300171 OMAP5_IOPAD(0x182, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */
172 OMAP5_IOPAD(0x19c, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcpdm_ul_data.abemcpdm_ul_data */
173 OMAP5_IOPAD(0x19e, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcpdm_dl_data.abemcpdm_dl_data */
174 OMAP5_IOPAD(0x1a0, PIN_INPUT_PULLUP | MUX_MODE0) /* abemcpdm_frame.abemcpdm_frame */
175 OMAP5_IOPAD(0x1a2, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcpdm_lb_clk.abemcpdm_lb_clk */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700176 >;
177 };
178
179 mcbsp1_pins: pinmux_mcbsp1_pins {
180 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300181 OMAP5_IOPAD(0x18c, PIN_INPUT | MUX_MODE1) /* abedmic_clk2.abemcbsp1_fsx */
182 OMAP5_IOPAD(0x18e, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* abedmic_clk3.abemcbsp1_dx */
183 OMAP5_IOPAD(0x190, PIN_INPUT | MUX_MODE1) /* abeslimbus1_clock.abemcbsp1_clkx */
184 OMAP5_IOPAD(0x192, PIN_INPUT_PULLDOWN | MUX_MODE1) /* abeslimbus1_data.abemcbsp1_dr */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700185 >;
186 };
187
188 mcbsp2_pins: pinmux_mcbsp2_pins {
189 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300190 OMAP5_IOPAD(0x194, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcbsp2_dr.abemcbsp2_dr */
191 OMAP5_IOPAD(0x196, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abemcbsp2_dx.abemcbsp2_dx */
192 OMAP5_IOPAD(0x198, PIN_INPUT | MUX_MODE0) /* abemcbsp2_fsx.abemcbsp2_fsx */
193 OMAP5_IOPAD(0x19a, PIN_INPUT | MUX_MODE0) /* abemcbsp2_clkx.abemcbsp2_clkx */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700194 >;
195 };
196
197 i2c1_pins: pinmux_i2c1_pins {
198 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300199 OMAP5_IOPAD(0x1f2, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
200 OMAP5_IOPAD(0x1f4, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700201 >;
202 };
203
204 mcspi2_pins: pinmux_mcspi2_pins {
205 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300206 OMAP5_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0) /* mcspi2_clk */
207 OMAP5_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0) /* mcspi2_simo */
208 OMAP5_IOPAD(0x100, PIN_INPUT_PULLUP | MUX_MODE0) /* mcspi2_somi */
209 OMAP5_IOPAD(0x102, PIN_OUTPUT | MUX_MODE0) /* mcspi2_cs0 */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700210 >;
211 };
212
213 mcspi3_pins: pinmux_mcspi3_pins {
214 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300215 OMAP5_IOPAD(0x0b8, PIN_INPUT | MUX_MODE1) /* mcspi3_somi */
216 OMAP5_IOPAD(0x0ba, PIN_INPUT | MUX_MODE1) /* mcspi3_cs0 */
217 OMAP5_IOPAD(0x0bc, PIN_INPUT | MUX_MODE1) /* mcspi3_simo */
218 OMAP5_IOPAD(0x0be, PIN_INPUT | MUX_MODE1) /* mcspi3_clk */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700219 >;
220 };
221
222 mmc3_pins: pinmux_mmc3_pins {
223 pinctrl-single,pins = <
224 OMAP5_IOPAD(0x01a4, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_clk */
225 OMAP5_IOPAD(0x01a6, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_cmd */
226 OMAP5_IOPAD(0x01a8, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data0 */
227 OMAP5_IOPAD(0x01aa, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data1 */
228 OMAP5_IOPAD(0x01ac, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data2 */
229 OMAP5_IOPAD(0x01ae, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data3 */
230 >;
231 };
232
233 wlan_pins: pinmux_wlan_pins {
234 pinctrl-single,pins = <
235 OMAP5_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE6) /* mcspi1_clk.gpio5_140 */
236 >;
237 };
238
Tony Lindgrenaf756bb2016-01-11 14:35:24 -0800239 /* TI trees use GPIO mode; msecure mode does not work reliably? */
240 palmas_msecure_pins: palmas_msecure_pins {
241 pinctrl-single,pins = <
242 OMAP5_IOPAD(0x180, PIN_OUTPUT | MUX_MODE6) /* gpio8_234 */
243 >;
244 };
245
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700246 usbhost_pins: pinmux_usbhost_pins {
247 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300248 OMAP5_IOPAD(0x0c4, PIN_INPUT | MUX_MODE0) /* usbb2_hsic_strobe */
249 OMAP5_IOPAD(0x0c6, PIN_INPUT | MUX_MODE0) /* usbb2_hsic_data */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700250
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300251 OMAP5_IOPAD(0x1de, PIN_INPUT | MUX_MODE0) /* usbb3_hsic_strobe */
252 OMAP5_IOPAD(0x1e0, PIN_INPUT | MUX_MODE0) /* usbb3_hsic_data */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700253
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300254 OMAP5_IOPAD(0x0b0, PIN_OUTPUT | MUX_MODE6) /* gpio3_80 HUB_NRESET */
255 OMAP5_IOPAD(0x0ae, PIN_OUTPUT | MUX_MODE6) /* gpio3_79 ETH_NRESET */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700256 >;
257 };
258
259 led_gpio_pins: pinmux_led_gpio_pins {
260 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300261 OMAP5_IOPAD(0x1d6, PIN_OUTPUT | MUX_MODE6) /* uart3_cts_rctx.gpio5_153 */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700262 >;
263 };
264
265 uart1_pins: pinmux_uart1_pins {
266 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300267 OMAP5_IOPAD(0x0a0, PIN_OUTPUT | MUX_MODE0) /* uart1_tx.uart1_cts */
268 OMAP5_IOPAD(0x0a2, PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_tx.uart1_cts */
269 OMAP5_IOPAD(0x0a4, PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rx.uart1_rts */
270 OMAP5_IOPAD(0x0a6, PIN_OUTPUT | MUX_MODE0) /* uart1_rx.uart1_rts */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700271 >;
272 };
273
274 uart3_pins: pinmux_uart3_pins {
275 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300276 OMAP5_IOPAD(0x1da, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_irsd.uart3_tx_irtx */
277 OMAP5_IOPAD(0x1dc, PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_rx_irrx.uart3_usbb3_hsic */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700278 >;
279 };
280
281 uart5_pins: pinmux_uart5_pins {
282 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300283 OMAP5_IOPAD(0x1b0, PIN_INPUT_PULLUP | MUX_MODE0) /* uart5_rx.uart5_rx */
284 OMAP5_IOPAD(0x1b2, PIN_OUTPUT | MUX_MODE0) /* uart5_tx.uart5_tx */
285 OMAP5_IOPAD(0x1b4, PIN_INPUT_PULLUP | MUX_MODE0) /* uart5_cts.uart5_rts */
286 OMAP5_IOPAD(0x1b6, PIN_OUTPUT | MUX_MODE0) /* uart5_cts.uart5_rts */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700287 >;
288 };
289
290 dss_hdmi_pins: pinmux_dss_hdmi_pins {
291 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300292 OMAP5_IOPAD(0x13c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec.hdmi_cec */
293 OMAP5_IOPAD(0x140, PIN_INPUT | MUX_MODE0) /* hdmi_ddc_scl.hdmi_ddc_scl */
294 OMAP5_IOPAD(0x142, PIN_INPUT | MUX_MODE0) /* hdmi_ddc_sda.hdmi_ddc_sda */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700295 >;
296 };
297
298 tpd12s015_pins: pinmux_tpd12s015_pins {
299 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300300 OMAP5_IOPAD(0x13e, PIN_INPUT_PULLDOWN | MUX_MODE6) /* hdmi_hpd.gpio7_193 */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700301 >;
302 };
303};
304
305&omap5_pmx_wkup {
306 pinctrl-names = "default";
307 pinctrl-0 = <
308 &usbhost_wkup_pins
309 >;
310
Tony Lindgrenaf756bb2016-01-11 14:35:24 -0800311 palmas_sys_nirq_pins: pinmux_palmas_sys_nirq_pins {
312 pinctrl-single,pins = <
313 OMAP5_IOPAD(0x068, PIN_INPUT_PULLUP | MUX_MODE0) /* sys_nirq1 */
314 >;
315 };
316
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700317 usbhost_wkup_pins: pinmux_usbhost_wkup_pins {
318 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300319 OMAP5_IOPAD(0x05a, PIN_OUTPUT | MUX_MODE0) /* fref_clk1_out, USB hub clk */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700320 >;
321 };
322
323 wlcore_irq_pin: pinmux_wlcore_irq_pin {
324 pinctrl-single,pins = <
Tony Lindgren08f92682016-09-11 21:01:02 -0700325 OMAP5_IOPAD(0x40, PIN_INPUT | MUX_MODE6) /* llia_wakereqin.gpio1_wk14 */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700326 >;
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";
Tony Lindgren08f92682016-09-11 21:01:02 -0700348 pinctrl-0 = <&mmc3_pins>;
349 interrupts-extended = <&wakeupgen GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH
350 &omap5_pmx_core 0x16a>;
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700351
352 #address-cells = <1>;
353 #size-cells = <0>;
354 wlcore: wlcore@2 {
355 compatible = "ti,wl1271";
356 reg = <2>;
Tony Lindgren08f92682016-09-11 21:01:02 -0700357 pinctrl-names = "default";
358 pinctrl-0 = <&wlcore_irq_pin>;
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700359 interrupt-parent = <&gpio1>;
360 interrupts = <14 IRQ_TYPE_LEVEL_HIGH>; /* 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 interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* IRQ_SYS_1N */
382 reg = <0x48>;
383 interrupt-controller;
384 #interrupt-cells = <2>;
385 ti,system-power-controller;
Tony Lindgren952a5db2016-09-09 14:04:28 -0700386 ti,mux-pad1 = <0xa1>;
387 ti,mux-pad2 = <0x1b>;
Tony Lindgrenaf756bb2016-01-11 14:35:24 -0800388 pinctrl-names = "default";
389 pinctrl-0 = <&palmas_sys_nirq_pins &palmas_msecure_pins>;
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700390
Tony Lindgren952a5db2016-09-09 14:04:28 -0700391 palmas_gpio: gpio {
392 compatible = "ti,palmas-gpio";
393 gpio-controller;
394 #gpio-cells = <2>;
395 };
396
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700397 extcon_usb3: palmas_usb {
398 compatible = "ti,palmas-usb-vid";
399 ti,enable-vbus-detection;
400 ti,enable-id-detection;
401 ti,wakeup;
Tony Lindgren952a5db2016-09-09 14:04:28 -0700402 id-gpios = <&palmas_gpio 0 GPIO_ACTIVE_HIGH>;
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700403 };
404
405 clk32kgaudio: palmas_clk32k@1 {
406 compatible = "ti,palmas-clk32kgaudio";
407 #clock-cells = <0>;
408 };
409
H. Nikolaus Schallerc08659d2016-01-05 13:01:37 +0100410 rtc {
411 compatible = "ti,palmas-rtc";
412 interrupt-parent = <&palmas>;
413 interrupts = <8 IRQ_TYPE_NONE>;
414 ti,backup-battery-chargeable;
415 ti,backup-battery-charge-high-current;
416 };
417
H. Nikolaus Schallercecc77c2016-04-18 20:20:58 +0200418 gpadc {
419 compatible = "ti,palmas-gpadc";
420 interrupts = <18 0
421 16 0
422 17 0>;
423 #io-channel-cells = <1>;
424 ti,channel0-current-microamp = <5>;
425 ti,channel3-current-microamp = <10>;
426 };
427
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700428 palmas_pmic {
429 compatible = "ti,palmas-pmic";
430 interrupt-parent = <&palmas>;
431 interrupts = <14 IRQ_TYPE_NONE>;
Geert Uytterhoevene640bc32016-04-20 17:32:07 +0200432 interrupt-names = "short-irq";
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700433
434 ti,ldo6-vibrator;
435
Nishanth Menon6b4e9412016-05-05 15:33:37 -0700436 smps123-in-supply = <&vsys_cobra>;
437 smps45-in-supply = <&vsys_cobra>;
438 smps6-in-supply = <&vsys_cobra>;
439 smps7-in-supply = <&vsys_cobra>;
440 smps8-in-supply = <&vsys_cobra>;
441 smps9-in-supply = <&vsys_cobra>;
442 smps10_out2-in-supply = <&vsys_cobra>;
443 smps10_out1-in-supply = <&vsys_cobra>;
444 ldo1-in-supply = <&vsys_cobra>;
445 ldo2-in-supply = <&vsys_cobra>;
446 ldo3-in-supply = <&vdds_1v8_main>;
447 ldo4-in-supply = <&vdds_1v8_main>;
448 ldo5-in-supply = <&vsys_cobra>;
449 ldo6-in-supply = <&vdds_1v8_main>;
450 ldo7-in-supply = <&vsys_cobra>;
451 ldo8-in-supply = <&vsys_cobra>;
452 ldo9-in-supply = <&vmmcsd_fixed>;
453 ldoln-in-supply = <&vsys_cobra>;
454 ldousb-in-supply = <&vsys_cobra>;
455
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700456 regulators {
457 smps123_reg: smps123 {
458 /* VDD_OPP_MPU */
459 regulator-name = "smps123";
460 regulator-min-microvolt = < 600000>;
461 regulator-max-microvolt = <1500000>;
462 regulator-always-on;
463 regulator-boot-on;
464 };
465
466 smps45_reg: smps45 {
467 /* VDD_OPP_MM */
468 regulator-name = "smps45";
469 regulator-min-microvolt = < 600000>;
470 regulator-max-microvolt = <1310000>;
471 regulator-always-on;
472 regulator-boot-on;
473 };
474
475 smps6_reg: smps6 {
476 /* VDD_DDR3 - over VDD_SMPS6 */
477 regulator-name = "smps6";
478 regulator-min-microvolt = <1200000>;
479 regulator-max-microvolt = <1200000>;
480 regulator-always-on;
481 regulator-boot-on;
482 };
483
484 smps7_reg: smps7 {
485 /* VDDS_1v8_OMAP over VDDS_1v8_MAIN */
486 regulator-name = "smps7";
487 regulator-min-microvolt = <1800000>;
488 regulator-max-microvolt = <1800000>;
489 regulator-always-on;
490 regulator-boot-on;
491 };
492
493 smps8_reg: smps8 {
494 /* VDD_OPP_CORE */
495 regulator-name = "smps8";
496 regulator-min-microvolt = < 600000>;
497 regulator-max-microvolt = <1310000>;
498 regulator-always-on;
499 regulator-boot-on;
500 };
501
502 smps9_reg: smps9 {
503 /* VDDA_2v1_AUD over VDD_2v1 */
504 regulator-name = "smps9";
505 regulator-min-microvolt = <2100000>;
506 regulator-max-microvolt = <2100000>;
507 ti,smps-range = <0x80>;
508 };
509
510 smps10_out2_reg: smps10_out2 {
511 /* VBUS_5V_OTG */
512 regulator-name = "smps10_out2";
513 regulator-min-microvolt = <5000000>;
514 regulator-max-microvolt = <5000000>;
515 regulator-always-on;
516 regulator-boot-on;
517 };
518
519 smps10_out1_reg: smps10_out1 {
520 /* VBUS_5V_OTG */
521 regulator-name = "smps10_out1";
522 regulator-min-microvolt = <5000000>;
523 regulator-max-microvolt = <5000000>;
524 };
525
526 ldo1_reg: ldo1 {
527 /* VDDAPHY_CAM: vdda_csiport */
528 regulator-name = "ldo1";
Tomi Valkeinen5086e5c2016-04-18 13:06:06 +0300529 regulator-min-microvolt = <1800000>;
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700530 regulator-max-microvolt = <1800000>;
531 };
532
533 ldo2_reg: ldo2 {
534 /* VCC_2V8_DISP: Does not go anywhere */
535 regulator-name = "ldo2";
536 regulator-min-microvolt = <2800000>;
537 regulator-max-microvolt = <2800000>;
538 /* Unused */
539 status = "disabled";
540 };
541
542 ldo3_reg: ldo3 {
543 /* VDDAPHY_MDM: vdda_lli */
544 regulator-name = "ldo3";
545 regulator-min-microvolt = <1500000>;
546 regulator-max-microvolt = <1500000>;
547 regulator-boot-on;
548 /* Only if Modem is used */
549 status = "disabled";
550 };
551
552 ldo4_reg: ldo4 {
553 /* VDDAPHY_DISP: vdda_dsiport/hdmi */
554 regulator-name = "ldo4";
Tomi Valkeinen5086e5c2016-04-18 13:06:06 +0300555 regulator-min-microvolt = <1800000>;
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700556 regulator-max-microvolt = <1800000>;
557 };
558
559 ldo5_reg: ldo5 {
560 /* VDDA_1V8_PHY: usb/sata/hdmi.. */
561 regulator-name = "ldo5";
562 regulator-min-microvolt = <1800000>;
563 regulator-max-microvolt = <1800000>;
564 regulator-always-on;
565 regulator-boot-on;
566 };
567
568 ldo6_reg: ldo6 {
569 /* VDDS_1V2_WKUP: hsic/ldo_emu_wkup */
570 regulator-name = "ldo6";
571 regulator-min-microvolt = <1200000>;
572 regulator-max-microvolt = <1200000>;
573 regulator-always-on;
574 regulator-boot-on;
575 };
576
577 ldo7_reg: ldo7 {
578 /* VDD_VPP: vpp1 */
579 regulator-name = "ldo7";
580 regulator-min-microvolt = <2000000>;
581 regulator-max-microvolt = <2000000>;
582 /* Only for efuse reprograming! */
583 status = "disabled";
584 };
585
586 ldo8_reg: ldo8 {
587 /* VDD_3v0: Does not go anywhere */
588 regulator-name = "ldo8";
589 regulator-min-microvolt = <3000000>;
590 regulator-max-microvolt = <3000000>;
591 regulator-boot-on;
592 /* Unused */
593 status = "disabled";
594 };
595
596 ldo9_reg: ldo9 {
597 /* VCC_DV_SDIO: vdds_sdcard */
598 regulator-name = "ldo9";
599 regulator-min-microvolt = <1800000>;
600 regulator-max-microvolt = <3000000>;
601 regulator-boot-on;
602 };
603
604 ldoln_reg: ldoln {
605 /* VDDA_1v8_REF: vdds_osc/mm_l4per.. */
606 regulator-name = "ldoln";
607 regulator-min-microvolt = <1800000>;
608 regulator-max-microvolt = <1800000>;
609 regulator-always-on;
610 regulator-boot-on;
611 };
612
613 ldousb_reg: ldousb {
614 /* VDDA_3V_USB: VDDA_USBHS33 */
615 regulator-name = "ldousb";
616 regulator-min-microvolt = <3250000>;
617 regulator-max-microvolt = <3250000>;
618 regulator-always-on;
619 regulator-boot-on;
620 };
621
622 regen3_reg: regen3 {
623 /* REGEN3 controls LDO9 supply to card */
624 regulator-name = "regen3";
625 regulator-always-on;
626 regulator-boot-on;
627 };
628 };
629 };
630
631 palmas_power_button: palmas_power_button {
632 compatible = "ti,palmas-pwrbutton";
633 interrupt-parent = <&palmas>;
634 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
635 wakeup-source;
636 };
637 };
638
639 twl6040: twl@4b {
640 compatible = "ti,twl6040";
Peter Ujfalusi9e21c752016-05-30 11:55:14 +0300641 #clock-cells = <0>;
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700642 reg = <0x4b>;
643
644 pinctrl-names = "default";
645 pinctrl-0 = <&twl6040_pins>;
646
647 interrupts = <GIC_SPI 119 IRQ_TYPE_NONE>; /* IRQ_SYS_2N cascaded to gic */
Tony Lindgren49111cd2016-05-12 13:29:48 -0700648
649 /* audpwron gpio defined in the board specific dts */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700650
651 vio-supply = <&smps7_reg>;
652 v2v1-supply = <&smps9_reg>;
653 enable-active-high;
654
655 clocks = <&clk32kgaudio>;
656 clock-names = "clk32k";
657 };
658};
659
660&mcpdm {
661 pinctrl-names = "default";
662 pinctrl-0 = <&mcpdm_pins>;
Peter Ujfalusi9e21c752016-05-30 11:55:14 +0300663
664 clocks = <&twl6040>;
665 clock-names = "pdmclk";
666
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700667 status = "okay";
668};
669
670&mcbsp1 {
671 pinctrl-names = "default";
672 pinctrl-0 = <&mcbsp1_pins>;
673 status = "okay";
674};
675
676&mcbsp2 {
677 pinctrl-names = "default";
678 pinctrl-0 = <&mcbsp2_pins>;
679 status = "okay";
680};
681
682&usbhshost {
683 port2-mode = "ehci-hsic";
684 port3-mode = "ehci-hsic";
685};
686
687&usbhsehci {
688 phys = <0 &hsusb2_phy &hsusb3_phy>;
689};
690
691&usb3 {
692 extcon = <&extcon_usb3>;
693 vbus-supply = <&smps10_out1_reg>;
694};
695
696&mcspi1 {
697
698};
699
700&mcspi2 {
701 pinctrl-names = "default";
702 pinctrl-0 = <&mcspi2_pins>;
703};
704
705&mcspi3 {
706 pinctrl-names = "default";
707 pinctrl-0 = <&mcspi3_pins>;
708};
709
710&uart1 {
711 pinctrl-names = "default";
712 pinctrl-0 = <&uart1_pins>;
713};
714
715&uart3 {
716 pinctrl-names = "default";
717 pinctrl-0 = <&uart3_pins>;
718 interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
719 <&omap5_pmx_core 0x19c>;
720};
721
722&uart5 {
723 pinctrl-names = "default";
724 pinctrl-0 = <&uart5_pins>;
725};
726
727&cpu0 {
728 cpu0-supply = <&smps123_reg>;
729};
730
731&dss {
732 status = "ok";
733};
734
735&hdmi {
736 status = "ok";
737
738 /* vdda-supply populated in board specific dts file */
739
740 pinctrl-names = "default";
741 pinctrl-0 = <&dss_hdmi_pins>;
742
743 port {
744 hdmi_out: endpoint {
745 remote-endpoint = <&tpd12s015_in>;
746 };
747 };
748};