Linux Audio

Check our new training course

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