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>
8
9/ {
10	aliases {
11		display0 = &hdmi0;
12	};
13
14	chosen {
15		stdout-path = &uart3;
16	};
17
18	vmain: fixedregulator-vmain {
19		compatible = "regulator-fixed";
20		regulator-name = "vmain";
21		regulator-min-microvolt = <5000000>;
22		regulator-max-microvolt = <5000000>;
23	};
24
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	};
32
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	};
40
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	};
47
48	mmc3_pwrseq: sdhci0_pwrseq {
49		compatible = "mmc-pwrseq-simple";
50		clocks = <&clk32kgaudio>;
51		clock-names = "ext_clock";
52	};
53
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	};
65
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	};
75
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	};
82
83	tpd12s015: encoder {
84		compatible = "ti,tpd12s015";
85
86		pinctrl-names = "default";
87		pinctrl-0 = <&tpd12s015_pins>;
88
89		/* gpios defined in the board specific dts */
90
91		ports {
92			#address-cells = <1>;
93			#size-cells = <0>;
94
95			port@0 {
96				reg = <0>;
97
98				tpd12s015_in: endpoint {
99					remote-endpoint = <&hdmi_out>;
100				};
101			};
102
103			port@1 {
104				reg = <1>;
105
106				tpd12s015_out: endpoint {
107					remote-endpoint = <&hdmi_connector_in>;
108				};
109			};
110		};
111	};
112
113	hdmi0: connector {
114		compatible = "hdmi-connector";
115		label = "hdmi";
116
117		type = "b";
118
119		port {
120			hdmi_connector_in: endpoint {
121				remote-endpoint = <&tpd12s015_out>;
122			};
123		};
124	};
125
126	sound: sound {
127		compatible = "ti,abe-twl6040";
128		ti,model = "omap5-uevm";
129
130		ti,jack-detection;
131		ti,mclk-freq = <19200000>;
132
133		ti,mcpdm = <&mcpdm>;
134
135		ti,twl6040 = <&twl6040>;
136
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	};
148};
149
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	};
158};
159
160&omap5_pmx_core {
161	pinctrl-names = "default";
162	pinctrl-0 = <
163			&usbhost_pins
164			&led_gpio_pins
165	>;
166
167	twl6040_pins: pinmux_twl6040_pins {
168		pinctrl-single,pins = <
169			OMAP5_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE6)	/* mcspi1_somi.gpio5_141 */
170		>;
171	};
172
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	};
182
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	};
191
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	};
200
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	};
207
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	};
216
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	};
225
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	};
236
237	wlan_pins: pinmux_wlan_pins {
238		pinctrl-single,pins = <
239			OMAP5_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE6) /* mcspi1_clk.gpio5_140 */
240		>;
241	};
242
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	};
249
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 */
254
255			OMAP5_IOPAD(0x1de, PIN_INPUT | MUX_MODE0) /* usbb3_hsic_strobe */
256			OMAP5_IOPAD(0x1e0, PIN_INPUT | MUX_MODE0) /* usbb3_hsic_data */
257
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	};
262
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	};
268
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	};
277
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	};
284
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	};
293
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	};
301
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	};
307};
308
309&omap5_pmx_wkup {
310	pinctrl-names = "default";
311	pinctrl-0 = <
312			&usbhost_wkup_pins
313	>;
314
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	};
321
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	};
327
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	};
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";
353	pinctrl-0 = <&mmc3_pins>;
354	interrupts-extended = <&wakeupgen GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH
355			       &omap5_pmx_core 0x16a>;
356
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	};
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		/* 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>;
396
397		palmas_gpio: gpio {
398			compatible = "ti,palmas-gpio";
399			gpio-controller;
400			#gpio-cells = <2>;
401		};
402
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		};
410
411		clk32kgaudio: palmas_clk32k@1 {
412			compatible = "ti,palmas-clk32kgaudio";
413			#clock-cells = <0>;
414		};
415
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		};
423
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		};
433
434		palmas_pmic {
435			compatible = "ti,palmas-pmic";
436			interrupt-parent = <&palmas>;
437			interrupts = <14 IRQ_TYPE_NONE>;
438			interrupt-names = "short-irq";
439
440			ti,ldo6-vibrator;
441
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>;
461
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				};
471
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				};
480
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				};
489
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				};
498
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				};
507
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				};
515
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				};
524
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				};
531
532				ldo1_reg: ldo1 {
533					/* VDDAPHY_CAM: vdda_csiport */
534					regulator-name = "ldo1";
535					regulator-min-microvolt = <1800000>;
536					regulator-max-microvolt = <1800000>;
537				};
538
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				};
547
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				};
557
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				};
564
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				};
573
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				};
582
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				};
591
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				};
601
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				};
609
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				};
618
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				};
627
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		};
636
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	};
644
645	twl6040: twl@4b {
646		compatible = "ti,twl6040";
647		#clock-cells = <0>;
648		reg = <0x4b>;
649
650		pinctrl-names = "default";
651		pinctrl-0 = <&twl6040_pins>;
652
653		/* sys_nirq/ext_sys_irq pins get inverted at mpuss wakeupgen */
654		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_LOW>;
655
656		/* audpwron gpio defined in the board specific dts */
657
658		vio-supply = <&smps7_reg>;
659		v2v1-supply = <&smps9_reg>;
660		enable-active-high;
661
662		clocks = <&clk32kgaudio>, <&fref_xtal_ck>;
663		clock-names = "clk32k", "mclk";
664	};
665};
666
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";
672};
673
674&mcpdm {
675	clocks = <&twl6040>;
676	clock-names = "pdmclk";
677};
678
679&mcbsp1 {
680	pinctrl-names = "default";
681	pinctrl-0 = <&mcbsp1_pins>;
682	status = "okay";
683};
684
685&mcbsp2 {
686	pinctrl-names = "default";
687	pinctrl-0 = <&mcbsp2_pins>;
688	status = "okay";
689};
690
691&usbhshost {
692	port2-mode = "ehci-hsic";
693	port3-mode = "ehci-hsic";
694};
695
696&usbhsehci {
697	phys = <0 &hsusb2_phy &hsusb3_phy>;
698};
699
700&usb3 {
701	extcon = <&extcon_usb3>;
702	vbus-supply = <&smps10_out1_reg>;
703};
704
705&dwc3 {
706	extcon = <&extcon_usb3>;
707	dr_mode = "otg";
708};
709
710&mcspi1 {
711
712};
713
714&mcspi2 {
715	pinctrl-names = "default";
716	pinctrl-0 = <&mcspi2_pins>;
717};
718
719&mcspi3 {
720	pinctrl-names = "default";
721	pinctrl-0 = <&mcspi3_pins>;
722};
723
724&uart1 {
725	pinctrl-names = "default";
726	pinctrl-0 = <&uart1_pins>;
727};
728
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>;
734};
735
736&uart5 {
737	pinctrl-names = "default";
738	pinctrl-0 = <&uart5_pins>;
739};
740
741&cpu0 {
742	cpu0-supply = <&smps123_reg>;
743};
744
745&dss {
746	status = "okay";
747};
748
749&hdmi {
750	status = "okay";
751
752	/* vdda-supply populated in board specific dts file */
753
754	pinctrl-names = "default";
755	pinctrl-0 = <&dss_hdmi_pins>;
756
757	port {
758		hdmi_out: endpoint {
759			remote-endpoint = <&tpd12s015_in>;
760		};
761	};
762};
763