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