blob: 575ecffb0e9e47cfda8373c22071de12e8789302 [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
Tony Lindgren1f23f4d2017-09-20 07:43:24 -070017 chosen {
18 stdout-path = &uart3;
19 };
20
Nishanth Menon6b4e9412016-05-05 15:33:37 -070021 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
Tony Lindgrenee9a97d2015-10-16 12:32:32 -070044 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 };
77
78 /* HS USB Host PHY on PORT 3 */
79 hsusb3_phy: hsusb3_phy {
80 compatible = "usb-nop-xceiv";
81 reset-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>; /* gpio3_79 ETH_NRESET */
82 };
83
Javier Martinez Canillase6db7f12016-06-27 15:21:07 -040084 tpd12s015: encoder {
Tony Lindgrenee9a97d2015-10-16 12:32:32 -070085 compatible = "ti,tpd12s015";
86
87 pinctrl-names = "default";
88 pinctrl-0 = <&tpd12s015_pins>;
89
90 /* gpios defined in the board specific dts */
91
92 ports {
93 #address-cells = <1>;
94 #size-cells = <0>;
95
96 port@0 {
97 reg = <0>;
98
Javier Martinez Canillase6db7f12016-06-27 15:21:07 -040099 tpd12s015_in: endpoint {
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700100 remote-endpoint = <&hdmi_out>;
101 };
102 };
103
104 port@1 {
105 reg = <1>;
106
Javier Martinez Canillase6db7f12016-06-27 15:21:07 -0400107 tpd12s015_out: endpoint {
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700108 remote-endpoint = <&hdmi_connector_in>;
109 };
110 };
111 };
112 };
113
Javier Martinez Canillase6db7f12016-06-27 15:21:07 -0400114 hdmi0: connector {
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700115 compatible = "hdmi-connector";
116 label = "hdmi";
117
118 type = "b";
119
120 port {
121 hdmi_connector_in: endpoint {
122 remote-endpoint = <&tpd12s015_out>;
123 };
124 };
125 };
126
127 sound: sound {
128 compatible = "ti,abe-twl6040";
129 ti,model = "omap5-uevm";
130
H. Nikolaus Schaller0b68f1b2016-10-25 19:38:10 +0200131 ti,jack-detection;
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700132 ti,mclk-freq = <19200000>;
133
134 ti,mcpdm = <&mcpdm>;
135
136 ti,twl6040 = <&twl6040>;
137
138 /* Audio routing */
139 ti,audio-routing =
140 "Headset Stereophone", "HSOL",
141 "Headset Stereophone", "HSOR",
142 "Line Out", "AUXL",
143 "Line Out", "AUXR",
144 "HSMIC", "Headset Mic",
145 "Headset Mic", "Headset Mic Bias",
146 "AFML", "Line In",
147 "AFMR", "Line In";
148 };
149};
150
Tony Lindgrenaf756bb2016-01-11 14:35:24 -0800151&gpio8 {
152 /* TI trees use GPIO instead of msecure, see also muxing */
153 p234 {
154 gpio-hog;
155 gpios = <10 GPIO_ACTIVE_HIGH>;
156 output-high;
157 line-name = "gpio8_234/msecure";
158 };
159};
160
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700161&omap5_pmx_core {
162 pinctrl-names = "default";
163 pinctrl-0 = <
164 &usbhost_pins
165 &led_gpio_pins
166 >;
167
168 twl6040_pins: pinmux_twl6040_pins {
169 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300170 OMAP5_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE6) /* mcspi1_somi.gpio5_141 */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700171 >;
172 };
173
174 mcpdm_pins: pinmux_mcpdm_pins {
175 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300176 OMAP5_IOPAD(0x182, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */
177 OMAP5_IOPAD(0x19c, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcpdm_ul_data.abemcpdm_ul_data */
178 OMAP5_IOPAD(0x19e, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcpdm_dl_data.abemcpdm_dl_data */
179 OMAP5_IOPAD(0x1a0, PIN_INPUT_PULLUP | MUX_MODE0) /* abemcpdm_frame.abemcpdm_frame */
180 OMAP5_IOPAD(0x1a2, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcpdm_lb_clk.abemcpdm_lb_clk */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700181 >;
182 };
183
184 mcbsp1_pins: pinmux_mcbsp1_pins {
185 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300186 OMAP5_IOPAD(0x18c, PIN_INPUT | MUX_MODE1) /* abedmic_clk2.abemcbsp1_fsx */
187 OMAP5_IOPAD(0x18e, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* abedmic_clk3.abemcbsp1_dx */
188 OMAP5_IOPAD(0x190, PIN_INPUT | MUX_MODE1) /* abeslimbus1_clock.abemcbsp1_clkx */
189 OMAP5_IOPAD(0x192, PIN_INPUT_PULLDOWN | MUX_MODE1) /* abeslimbus1_data.abemcbsp1_dr */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700190 >;
191 };
192
193 mcbsp2_pins: pinmux_mcbsp2_pins {
194 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300195 OMAP5_IOPAD(0x194, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcbsp2_dr.abemcbsp2_dr */
196 OMAP5_IOPAD(0x196, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abemcbsp2_dx.abemcbsp2_dx */
197 OMAP5_IOPAD(0x198, PIN_INPUT | MUX_MODE0) /* abemcbsp2_fsx.abemcbsp2_fsx */
198 OMAP5_IOPAD(0x19a, PIN_INPUT | MUX_MODE0) /* abemcbsp2_clkx.abemcbsp2_clkx */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700199 >;
200 };
201
202 i2c1_pins: pinmux_i2c1_pins {
203 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300204 OMAP5_IOPAD(0x1f2, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
205 OMAP5_IOPAD(0x1f4, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700206 >;
207 };
208
209 mcspi2_pins: pinmux_mcspi2_pins {
210 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300211 OMAP5_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0) /* mcspi2_clk */
212 OMAP5_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0) /* mcspi2_simo */
213 OMAP5_IOPAD(0x100, PIN_INPUT_PULLUP | MUX_MODE0) /* mcspi2_somi */
214 OMAP5_IOPAD(0x102, PIN_OUTPUT | MUX_MODE0) /* mcspi2_cs0 */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700215 >;
216 };
217
218 mcspi3_pins: pinmux_mcspi3_pins {
219 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300220 OMAP5_IOPAD(0x0b8, PIN_INPUT | MUX_MODE1) /* mcspi3_somi */
221 OMAP5_IOPAD(0x0ba, PIN_INPUT | MUX_MODE1) /* mcspi3_cs0 */
222 OMAP5_IOPAD(0x0bc, PIN_INPUT | MUX_MODE1) /* mcspi3_simo */
223 OMAP5_IOPAD(0x0be, PIN_INPUT | MUX_MODE1) /* mcspi3_clk */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700224 >;
225 };
226
227 mmc3_pins: pinmux_mmc3_pins {
228 pinctrl-single,pins = <
229 OMAP5_IOPAD(0x01a4, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_clk */
230 OMAP5_IOPAD(0x01a6, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_cmd */
231 OMAP5_IOPAD(0x01a8, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data0 */
232 OMAP5_IOPAD(0x01aa, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data1 */
233 OMAP5_IOPAD(0x01ac, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data2 */
234 OMAP5_IOPAD(0x01ae, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data3 */
235 >;
236 };
237
238 wlan_pins: pinmux_wlan_pins {
239 pinctrl-single,pins = <
240 OMAP5_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE6) /* mcspi1_clk.gpio5_140 */
241 >;
242 };
243
Tony Lindgrenaf756bb2016-01-11 14:35:24 -0800244 /* TI trees use GPIO mode; msecure mode does not work reliably? */
245 palmas_msecure_pins: palmas_msecure_pins {
246 pinctrl-single,pins = <
247 OMAP5_IOPAD(0x180, PIN_OUTPUT | MUX_MODE6) /* gpio8_234 */
248 >;
249 };
250
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700251 usbhost_pins: pinmux_usbhost_pins {
252 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300253 OMAP5_IOPAD(0x0c4, PIN_INPUT | MUX_MODE0) /* usbb2_hsic_strobe */
254 OMAP5_IOPAD(0x0c6, PIN_INPUT | MUX_MODE0) /* usbb2_hsic_data */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700255
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300256 OMAP5_IOPAD(0x1de, PIN_INPUT | MUX_MODE0) /* usbb3_hsic_strobe */
257 OMAP5_IOPAD(0x1e0, PIN_INPUT | MUX_MODE0) /* usbb3_hsic_data */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700258
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300259 OMAP5_IOPAD(0x0b0, PIN_OUTPUT | MUX_MODE6) /* gpio3_80 HUB_NRESET */
260 OMAP5_IOPAD(0x0ae, PIN_OUTPUT | MUX_MODE6) /* gpio3_79 ETH_NRESET */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700261 >;
262 };
263
264 led_gpio_pins: pinmux_led_gpio_pins {
265 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300266 OMAP5_IOPAD(0x1d6, PIN_OUTPUT | MUX_MODE6) /* uart3_cts_rctx.gpio5_153 */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700267 >;
268 };
269
270 uart1_pins: pinmux_uart1_pins {
271 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300272 OMAP5_IOPAD(0x0a0, PIN_OUTPUT | MUX_MODE0) /* uart1_tx.uart1_cts */
273 OMAP5_IOPAD(0x0a2, PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_tx.uart1_cts */
274 OMAP5_IOPAD(0x0a4, PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rx.uart1_rts */
275 OMAP5_IOPAD(0x0a6, PIN_OUTPUT | MUX_MODE0) /* uart1_rx.uart1_rts */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700276 >;
277 };
278
279 uart3_pins: pinmux_uart3_pins {
280 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300281 OMAP5_IOPAD(0x1da, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_irsd.uart3_tx_irtx */
282 OMAP5_IOPAD(0x1dc, PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_rx_irrx.uart3_usbb3_hsic */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700283 >;
284 };
285
286 uart5_pins: pinmux_uart5_pins {
287 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300288 OMAP5_IOPAD(0x1b0, PIN_INPUT_PULLUP | MUX_MODE0) /* uart5_rx.uart5_rx */
289 OMAP5_IOPAD(0x1b2, PIN_OUTPUT | MUX_MODE0) /* uart5_tx.uart5_tx */
290 OMAP5_IOPAD(0x1b4, PIN_INPUT_PULLUP | MUX_MODE0) /* uart5_cts.uart5_rts */
291 OMAP5_IOPAD(0x1b6, PIN_OUTPUT | MUX_MODE0) /* uart5_cts.uart5_rts */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700292 >;
293 };
294
295 dss_hdmi_pins: pinmux_dss_hdmi_pins {
296 pinctrl-single,pins = <
Tony Lindgren3a8ed202017-06-27 01:58:32 -0700297 OMAP5_IOPAD(0x13c, PIN_INPUT | MUX_MODE0) /* hdmi_cec.hdmi_cec */
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300298 OMAP5_IOPAD(0x140, PIN_INPUT | MUX_MODE0) /* hdmi_ddc_scl.hdmi_ddc_scl */
299 OMAP5_IOPAD(0x142, PIN_INPUT | MUX_MODE0) /* hdmi_ddc_sda.hdmi_ddc_sda */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700300 >;
301 };
302
303 tpd12s015_pins: pinmux_tpd12s015_pins {
304 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300305 OMAP5_IOPAD(0x13e, PIN_INPUT_PULLDOWN | MUX_MODE6) /* hdmi_hpd.gpio7_193 */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700306 >;
307 };
308};
309
310&omap5_pmx_wkup {
311 pinctrl-names = "default";
312 pinctrl-0 = <
313 &usbhost_wkup_pins
314 >;
315
Tony Lindgrenaf756bb2016-01-11 14:35:24 -0800316 palmas_sys_nirq_pins: pinmux_palmas_sys_nirq_pins {
317 pinctrl-single,pins = <
318 OMAP5_IOPAD(0x068, PIN_INPUT_PULLUP | MUX_MODE0) /* sys_nirq1 */
319 >;
320 };
321
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700322 usbhost_wkup_pins: pinmux_usbhost_wkup_pins {
323 pinctrl-single,pins = <
Javier Martinez Canillas2fcf3672015-11-13 01:54:15 -0300324 OMAP5_IOPAD(0x05a, PIN_OUTPUT | MUX_MODE0) /* fref_clk1_out, USB hub clk */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700325 >;
326 };
327
328 wlcore_irq_pin: pinmux_wlcore_irq_pin {
329 pinctrl-single,pins = <
Tony Lindgren08f92682016-09-11 21:01:02 -0700330 OMAP5_IOPAD(0x40, PIN_INPUT | MUX_MODE6) /* llia_wakereqin.gpio1_wk14 */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700331 >;
332 };
333};
334
335&mmc1 {
336 vmmc-supply = <&ldo9_reg>;
337 bus-width = <4>;
338};
339
340&mmc2 {
341 vmmc-supply = <&vmmcsd_fixed>;
342 bus-width = <8>;
343 ti,non-removable;
344};
345
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";
Tony Lindgren08f92682016-09-11 21:01:02 -0700353 pinctrl-0 = <&mmc3_pins>;
354 interrupts-extended = <&wakeupgen GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH
355 &omap5_pmx_core 0x16a>;
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700356
357 #address-cells = <1>;
358 #size-cells = <0>;
359 wlcore: wlcore@2 {
360 compatible = "ti,wl1271";
361 reg = <2>;
Tony Lindgren08f92682016-09-11 21:01:02 -0700362 pinctrl-names = "default";
363 pinctrl-0 = <&wlcore_irq_pin>;
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700364 interrupt-parent = <&gpio1>;
365 interrupts = <14 IRQ_TYPE_LEVEL_HIGH>; /* gpio 14 */
366 ref-clock-frequency = <26000000>;
367 };
368};
369
370&mmc4 {
371 status = "disabled";
372};
373
374&mmc5 {
375 status = "disabled";
376};
377
378&i2c1 {
379 pinctrl-names = "default";
380 pinctrl-0 = <&i2c1_pins>;
381
382 clock-frequency = <400000>;
383
384 palmas: palmas@48 {
385 compatible = "ti,palmas";
386 interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* IRQ_SYS_1N */
387 reg = <0x48>;
388 interrupt-controller;
389 #interrupt-cells = <2>;
390 ti,system-power-controller;
Tony Lindgren952a5db2016-09-09 14:04:28 -0700391 ti,mux-pad1 = <0xa1>;
392 ti,mux-pad2 = <0x1b>;
Tony Lindgrenaf756bb2016-01-11 14:35:24 -0800393 pinctrl-names = "default";
394 pinctrl-0 = <&palmas_sys_nirq_pins &palmas_msecure_pins>;
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700395
Tony Lindgren952a5db2016-09-09 14:04:28 -0700396 palmas_gpio: gpio {
397 compatible = "ti,palmas-gpio";
398 gpio-controller;
399 #gpio-cells = <2>;
400 };
401
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700402 extcon_usb3: palmas_usb {
403 compatible = "ti,palmas-usb-vid";
404 ti,enable-vbus-detection;
405 ti,enable-id-detection;
406 ti,wakeup;
Tony Lindgren952a5db2016-09-09 14:04:28 -0700407 id-gpios = <&palmas_gpio 0 GPIO_ACTIVE_HIGH>;
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700408 };
409
410 clk32kgaudio: palmas_clk32k@1 {
411 compatible = "ti,palmas-clk32kgaudio";
412 #clock-cells = <0>;
413 };
414
H. Nikolaus Schallerc08659d2016-01-05 13:01:37 +0100415 rtc {
416 compatible = "ti,palmas-rtc";
417 interrupt-parent = <&palmas>;
418 interrupts = <8 IRQ_TYPE_NONE>;
419 ti,backup-battery-chargeable;
420 ti,backup-battery-charge-high-current;
421 };
422
H. Nikolaus Schaller725ed222016-10-25 19:38:09 +0200423 gpadc: gpadc {
H. Nikolaus Schallercecc77c2016-04-18 20:20:58 +0200424 compatible = "ti,palmas-gpadc";
425 interrupts = <18 0
426 16 0
427 17 0>;
428 #io-channel-cells = <1>;
429 ti,channel0-current-microamp = <5>;
430 ti,channel3-current-microamp = <10>;
431 };
432
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700433 palmas_pmic {
434 compatible = "ti,palmas-pmic";
435 interrupt-parent = <&palmas>;
436 interrupts = <14 IRQ_TYPE_NONE>;
Geert Uytterhoevene640bc32016-04-20 17:32:07 +0200437 interrupt-names = "short-irq";
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700438
439 ti,ldo6-vibrator;
440
Nishanth Menon6b4e9412016-05-05 15:33:37 -0700441 smps123-in-supply = <&vsys_cobra>;
442 smps45-in-supply = <&vsys_cobra>;
443 smps6-in-supply = <&vsys_cobra>;
444 smps7-in-supply = <&vsys_cobra>;
445 smps8-in-supply = <&vsys_cobra>;
446 smps9-in-supply = <&vsys_cobra>;
447 smps10_out2-in-supply = <&vsys_cobra>;
448 smps10_out1-in-supply = <&vsys_cobra>;
449 ldo1-in-supply = <&vsys_cobra>;
450 ldo2-in-supply = <&vsys_cobra>;
451 ldo3-in-supply = <&vdds_1v8_main>;
452 ldo4-in-supply = <&vdds_1v8_main>;
453 ldo5-in-supply = <&vsys_cobra>;
454 ldo6-in-supply = <&vdds_1v8_main>;
455 ldo7-in-supply = <&vsys_cobra>;
456 ldo8-in-supply = <&vsys_cobra>;
457 ldo9-in-supply = <&vmmcsd_fixed>;
458 ldoln-in-supply = <&vsys_cobra>;
459 ldousb-in-supply = <&vsys_cobra>;
460
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700461 regulators {
462 smps123_reg: smps123 {
463 /* VDD_OPP_MPU */
464 regulator-name = "smps123";
465 regulator-min-microvolt = < 600000>;
466 regulator-max-microvolt = <1500000>;
467 regulator-always-on;
468 regulator-boot-on;
469 };
470
471 smps45_reg: smps45 {
472 /* VDD_OPP_MM */
473 regulator-name = "smps45";
474 regulator-min-microvolt = < 600000>;
475 regulator-max-microvolt = <1310000>;
476 regulator-always-on;
477 regulator-boot-on;
478 };
479
480 smps6_reg: smps6 {
481 /* VDD_DDR3 - over VDD_SMPS6 */
482 regulator-name = "smps6";
H. Nikolaus Schaller1bc2f5f2016-11-14 12:55:15 +0100483 regulator-min-microvolt = <1350000>;
484 regulator-max-microvolt = <1350000>;
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700485 regulator-always-on;
486 regulator-boot-on;
487 };
488
489 smps7_reg: smps7 {
490 /* VDDS_1v8_OMAP over VDDS_1v8_MAIN */
491 regulator-name = "smps7";
492 regulator-min-microvolt = <1800000>;
493 regulator-max-microvolt = <1800000>;
494 regulator-always-on;
495 regulator-boot-on;
496 };
497
498 smps8_reg: smps8 {
499 /* VDD_OPP_CORE */
500 regulator-name = "smps8";
501 regulator-min-microvolt = < 600000>;
502 regulator-max-microvolt = <1310000>;
503 regulator-always-on;
504 regulator-boot-on;
505 };
506
507 smps9_reg: smps9 {
508 /* VDDA_2v1_AUD over VDD_2v1 */
509 regulator-name = "smps9";
510 regulator-min-microvolt = <2100000>;
511 regulator-max-microvolt = <2100000>;
512 ti,smps-range = <0x80>;
513 };
514
515 smps10_out2_reg: smps10_out2 {
516 /* VBUS_5V_OTG */
517 regulator-name = "smps10_out2";
518 regulator-min-microvolt = <5000000>;
519 regulator-max-microvolt = <5000000>;
520 regulator-always-on;
521 regulator-boot-on;
522 };
523
524 smps10_out1_reg: smps10_out1 {
525 /* VBUS_5V_OTG */
526 regulator-name = "smps10_out1";
527 regulator-min-microvolt = <5000000>;
528 regulator-max-microvolt = <5000000>;
529 };
530
531 ldo1_reg: ldo1 {
532 /* VDDAPHY_CAM: vdda_csiport */
533 regulator-name = "ldo1";
Tomi Valkeinen5086e5c2016-04-18 13:06:06 +0300534 regulator-min-microvolt = <1800000>;
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700535 regulator-max-microvolt = <1800000>;
536 };
537
538 ldo2_reg: ldo2 {
539 /* VCC_2V8_DISP: Does not go anywhere */
540 regulator-name = "ldo2";
541 regulator-min-microvolt = <2800000>;
542 regulator-max-microvolt = <2800000>;
543 /* Unused */
544 status = "disabled";
545 };
546
547 ldo3_reg: ldo3 {
548 /* VDDAPHY_MDM: vdda_lli */
549 regulator-name = "ldo3";
550 regulator-min-microvolt = <1500000>;
551 regulator-max-microvolt = <1500000>;
552 regulator-boot-on;
553 /* Only if Modem is used */
554 status = "disabled";
555 };
556
557 ldo4_reg: ldo4 {
558 /* VDDAPHY_DISP: vdda_dsiport/hdmi */
559 regulator-name = "ldo4";
Tomi Valkeinen5086e5c2016-04-18 13:06:06 +0300560 regulator-min-microvolt = <1800000>;
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700561 regulator-max-microvolt = <1800000>;
562 };
563
564 ldo5_reg: ldo5 {
565 /* VDDA_1V8_PHY: usb/sata/hdmi.. */
566 regulator-name = "ldo5";
567 regulator-min-microvolt = <1800000>;
568 regulator-max-microvolt = <1800000>;
569 regulator-always-on;
570 regulator-boot-on;
571 };
572
573 ldo6_reg: ldo6 {
574 /* VDDS_1V2_WKUP: hsic/ldo_emu_wkup */
575 regulator-name = "ldo6";
576 regulator-min-microvolt = <1200000>;
577 regulator-max-microvolt = <1200000>;
578 regulator-always-on;
579 regulator-boot-on;
580 };
581
582 ldo7_reg: ldo7 {
583 /* VDD_VPP: vpp1 */
584 regulator-name = "ldo7";
585 regulator-min-microvolt = <2000000>;
586 regulator-max-microvolt = <2000000>;
587 /* Only for efuse reprograming! */
588 status = "disabled";
589 };
590
591 ldo8_reg: ldo8 {
592 /* VDD_3v0: Does not go anywhere */
593 regulator-name = "ldo8";
594 regulator-min-microvolt = <3000000>;
595 regulator-max-microvolt = <3000000>;
596 regulator-boot-on;
597 /* Unused */
598 status = "disabled";
599 };
600
601 ldo9_reg: ldo9 {
602 /* VCC_DV_SDIO: vdds_sdcard */
603 regulator-name = "ldo9";
604 regulator-min-microvolt = <1800000>;
605 regulator-max-microvolt = <3000000>;
606 regulator-boot-on;
607 };
608
609 ldoln_reg: ldoln {
610 /* VDDA_1v8_REF: vdds_osc/mm_l4per.. */
611 regulator-name = "ldoln";
612 regulator-min-microvolt = <1800000>;
613 regulator-max-microvolt = <1800000>;
614 regulator-always-on;
615 regulator-boot-on;
616 };
617
618 ldousb_reg: ldousb {
619 /* VDDA_3V_USB: VDDA_USBHS33 */
620 regulator-name = "ldousb";
621 regulator-min-microvolt = <3250000>;
622 regulator-max-microvolt = <3250000>;
623 regulator-always-on;
624 regulator-boot-on;
625 };
626
627 regen3_reg: regen3 {
628 /* REGEN3 controls LDO9 supply to card */
629 regulator-name = "regen3";
630 regulator-always-on;
631 regulator-boot-on;
632 };
633 };
634 };
635
636 palmas_power_button: palmas_power_button {
637 compatible = "ti,palmas-pwrbutton";
638 interrupt-parent = <&palmas>;
639 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
640 wakeup-source;
641 };
642 };
643
644 twl6040: twl@4b {
645 compatible = "ti,twl6040";
Peter Ujfalusi9e21c752016-05-30 11:55:14 +0300646 #clock-cells = <0>;
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700647 reg = <0x4b>;
648
649 pinctrl-names = "default";
650 pinctrl-0 = <&twl6040_pins>;
651
652 interrupts = <GIC_SPI 119 IRQ_TYPE_NONE>; /* IRQ_SYS_2N cascaded to gic */
Tony Lindgren49111cd2016-05-12 13:29:48 -0700653
654 /* audpwron gpio defined in the board specific dts */
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700655
656 vio-supply = <&smps7_reg>;
657 v2v1-supply = <&smps9_reg>;
658 enable-active-high;
659
660 clocks = <&clk32kgaudio>;
661 clock-names = "clk32k";
662 };
663};
664
665&mcpdm {
666 pinctrl-names = "default";
667 pinctrl-0 = <&mcpdm_pins>;
Peter Ujfalusi9e21c752016-05-30 11:55:14 +0300668
669 clocks = <&twl6040>;
670 clock-names = "pdmclk";
671
Tony Lindgrenee9a97d2015-10-16 12:32:32 -0700672 status = "okay";
673};
674
675&mcbsp1 {
676 pinctrl-names = "default";
677 pinctrl-0 = <&mcbsp1_pins>;
678 status = "okay";
679};
680
681&mcbsp2 {
682 pinctrl-names = "default";
683 pinctrl-0 = <&mcbsp2_pins>;
684 status = "okay";
685};
686
687&usbhshost {
688 port2-mode = "ehci-hsic";
689 port3-mode = "ehci-hsic";
690};
691
692&usbhsehci {
693 phys = <0 &hsusb2_phy &hsusb3_phy>;
694};
695
696&usb3 {
697 extcon = <&extcon_usb3>;
698 vbus-supply = <&smps10_out1_reg>;
699};
700
701&mcspi1 {
702
703};
704
705&mcspi2 {
706 pinctrl-names = "default";
707 pinctrl-0 = <&mcspi2_pins>;
708};
709
710&mcspi3 {
711 pinctrl-names = "default";
712 pinctrl-0 = <&mcspi3_pins>;
713};
714
715&uart1 {
716 pinctrl-names = "default";
717 pinctrl-0 = <&uart1_pins>;
718};
719
720&uart3 {
721 pinctrl-names = "default";
722 pinctrl-0 = <&uart3_pins>;
723 interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
724 <&omap5_pmx_core 0x19c>;
725};
726
727&uart5 {
728 pinctrl-names = "default";
729 pinctrl-0 = <&uart5_pins>;
730};
731
732&cpu0 {
733 cpu0-supply = <&smps123_reg>;
734};
735
736&dss {
737 status = "ok";
738};
739
740&hdmi {
741 status = "ok";
742
743 /* vdda-supply populated in board specific dts file */
744
745 pinctrl-names = "default";
746 pinctrl-0 = <&dss_hdmi_pins>;
747
748 port {
749 hdmi_out: endpoint {
750 remote-endpoint = <&tpd12s015_in>;
751 };
752 };
753};