Linux Audio

Check our new training course

Yocto / OpenEmbedded training

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