Linux Audio

Check our new training course

Linux debugging, profiling, tracing and performance analysis training

Apr 14-17, 2025
Register
Loading...
v4.17
 
  1/*
  2 * Copyright (C) 2011-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 "elpida_ecb240abacn.dtsi"
 
  9
 10/ {
 11	memory@80000000 {
 12		device_type = "memory";
 13		reg = <0x80000000 0x40000000>; /* 1 GB */
 14	};
 15
 16	chosen {
 17		stdout-path = &uart3;
 18	};
 19
 20	aliases {
 21		display0 = &dvi0;
 22		display1 = &hdmi0;
 23		ethernet = &ethernet;
 24	};
 25
 26	leds: leds {
 27		compatible = "gpio-leds";
 28		pinctrl-names = "default";
 29		pinctrl-0 = <
 30			&led_wkgpio_pins
 31		>;
 32
 33		heartbeat {
 34			label = "pandaboard::status1";
 35			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
 36			linux,default-trigger = "heartbeat";
 37		};
 38
 39		mmc {
 40			label = "pandaboard::status2";
 41			gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
 42			linux,default-trigger = "mmc0";
 43		};
 44	};
 45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 46	sound: sound {
 47		compatible = "ti,abe-twl6040";
 48		ti,model = "PandaBoard";
 49
 50		ti,mclk-freq = <38400000>;
 51
 52		ti,mcpdm = <&mcpdm>;
 53
 54		ti,twl6040 = <&twl6040>;
 55
 56		/* Audio routing */
 57		ti,audio-routing =
 58			"Headset Stereophone", "HSOL",
 59			"Headset Stereophone", "HSOR",
 60			"Ext Spk", "HFL",
 61			"Ext Spk", "HFR",
 62			"Line Out", "AUXL",
 63			"Line Out", "AUXR",
 64			"HSMIC", "Headset Mic",
 65			"Headset Mic", "Headset Mic Bias",
 66			"AFML", "Line In",
 67			"AFMR", "Line In";
 68	};
 69
 70	/* HS USB Port 1 Power */
 71	hsusb1_power: hsusb1_power_reg {
 72		compatible = "regulator-fixed";
 73		regulator-name = "hsusb1_vbus";
 74		regulator-min-microvolt = <3300000>;
 75		regulator-max-microvolt = <3300000>;
 76		gpio = <&gpio1 1 GPIO_ACTIVE_HIGH>;	/* gpio_1 */
 77		startup-delay-us = <70000>;
 78		enable-active-high;
 79		/*
 80		 * boot-on is required along with always-on as the
 81		 * regulator framework doesn't enable the regulator
 82		 * if boot-on is not there.
 83		 */
 84		regulator-always-on;
 85		regulator-boot-on;
 86	};
 87
 88	/* HS USB Host PHY on PORT 1 */
 89	hsusb1_phy: hsusb1_phy {
 90		compatible = "usb-nop-xceiv";
 91		reset-gpios = <&gpio2 30 GPIO_ACTIVE_LOW>;   /* gpio_62 */
 92		#phy-cells = <0>;
 93		vcc-supply = <&hsusb1_power>;
 94		clocks = <&auxclk3_ck>;
 95		clock-names = "main_clk";
 96		clock-frequency = <19200000>;
 97	};
 98
 99	/* regulator for wl12xx on sdio5 */
100	wl12xx_vmmc: wl12xx_vmmc {
101		pinctrl-names = "default";
102		pinctrl-0 = <&wl12xx_gpio>;
103		compatible = "regulator-fixed";
104		regulator-name = "vwl1271";
105		regulator-min-microvolt = <1800000>;
106		regulator-max-microvolt = <1800000>;
107		gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>;
108		startup-delay-us = <70000>;
109		enable-active-high;
110	};
111
112	tfp410: encoder0 {
113		compatible = "ti,tfp410";
114		powerdown-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;	/* gpio_0 */
115
116		ports {
117			#address-cells = <1>;
118			#size-cells = <0>;
119
120			port@0 {
121				reg = <0>;
122
123				tfp410_in: endpoint {
124					remote-endpoint = <&dpi_out>;
125				};
126			};
127
128			port@1 {
129				reg = <1>;
130
131				tfp410_out: endpoint {
132					remote-endpoint = <&dvi_connector_in>;
133				};
134			};
135		};
136	};
137
138	dvi0: connector0 {
139		compatible = "dvi-connector";
140		label = "dvi";
141
142		digital;
143
144		ddc-i2c-bus = <&i2c3>;
145
146		port {
147			dvi_connector_in: endpoint {
148				remote-endpoint = <&tfp410_out>;
149			};
150		};
151	};
152
153	tpd12s015: encoder1 {
154		compatible = "ti,tpd12s015";
155
156		gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>,	/* 60, CT CP HPD */
157			<&gpio2 9 GPIO_ACTIVE_HIGH>,	/* 41, LS OE */
158			<&gpio2 31 GPIO_ACTIVE_HIGH>;	/* 63, HPD */
159
160		ports {
161			#address-cells = <1>;
162			#size-cells = <0>;
163
164			port@0 {
165				reg = <0>;
166
167				tpd12s015_in: endpoint {
168					remote-endpoint = <&hdmi_out>;
169				};
170			};
171
172			port@1 {
173				reg = <1>;
174
175				tpd12s015_out: endpoint {
176					remote-endpoint = <&hdmi_connector_in>;
177				};
178			};
179		};
180	};
181
182	hdmi0: connector1 {
183		compatible = "hdmi-connector";
184		label = "hdmi";
185
186		type = "a";
187
188		port {
189			hdmi_connector_in: endpoint {
190				remote-endpoint = <&tpd12s015_out>;
191			};
192		};
193	};
194};
195
196&omap4_pmx_core {
197	pinctrl-names = "default";
198	pinctrl-0 = <
199			&dss_dpi_pins
200			&tfp410_pins
201			&dss_hdmi_pins
202			&tpd12s015_pins
203			&hsusbb1_pins
204	>;
205
206	twl6040_pins: pinmux_twl6040_pins {
207		pinctrl-single,pins = <
208			OMAP4_IOPAD(0x120, PIN_OUTPUT | MUX_MODE3)	/* hdq_sio.gpio_127 */
209			OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0)	/* sys_nirq2.sys_nirq2 */
210		>;
211	};
212
213	mcpdm_pins: pinmux_mcpdm_pins {
214		pinctrl-single,pins = <
215			OMAP4_IOPAD(0x106, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_pdm_ul_data.abe_pdm_ul_data */
216			OMAP4_IOPAD(0x108, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_pdm_dl_data.abe_pdm_dl_data */
217			OMAP4_IOPAD(0x10a, PIN_INPUT_PULLUP   | MUX_MODE0)	/* abe_pdm_frame.abe_pdm_frame */
218			OMAP4_IOPAD(0x10c, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_pdm_lb_clk.abe_pdm_lb_clk */
219			OMAP4_IOPAD(0x10e, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_clks.abe_clks */
220		>;
221	};
222
223	mcbsp1_pins: pinmux_mcbsp1_pins {
224		pinctrl-single,pins = <
225			OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0)		/* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
226			OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_mcbsp1_dr.abe_mcbsp1_dr */
227			OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* abe_mcbsp1_dx.abe_mcbsp1_dx */
228			OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0)		/* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
229		>;
230	};
231
232	dss_dpi_pins: pinmux_dss_dpi_pins {
233		pinctrl-single,pins = <
234			OMAP4_IOPAD(0x162, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data23 */
235			OMAP4_IOPAD(0x164, PIN_OUTPUT | MUX_MODE5) 	/* dispc2_data22 */
236			OMAP4_IOPAD(0x166, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data21 */
237			OMAP4_IOPAD(0x168, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data20 */
238			OMAP4_IOPAD(0x16a, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data19 */
239			OMAP4_IOPAD(0x16c, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data18 */
240			OMAP4_IOPAD(0x16e, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data15 */
241			OMAP4_IOPAD(0x170, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data14 */
242			OMAP4_IOPAD(0x172, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data13 */
243			OMAP4_IOPAD(0x174, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data12 */
244			OMAP4_IOPAD(0x176, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data11 */
245
246			OMAP4_IOPAD(0x1b4, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data10 */
247			OMAP4_IOPAD(0x1b6, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data9 */
248			OMAP4_IOPAD(0x1b8, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data16 */
249			OMAP4_IOPAD(0x1ba, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data17 */
250			OMAP4_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE5)	/* dispc2_hsync */
251			OMAP4_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE5)	/* dispc2_pclk */
252			OMAP4_IOPAD(0x1c0, PIN_OUTPUT | MUX_MODE5)	/* dispc2_vsync */
253			OMAP4_IOPAD(0x1c2, PIN_OUTPUT | MUX_MODE5)	/* dispc2_de */
254			OMAP4_IOPAD(0x1c4, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data8 */
255			OMAP4_IOPAD(0x1c6, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data7 */
256			OMAP4_IOPAD(0x1c8, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data6 */
257			OMAP4_IOPAD(0x1ca, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data5 */
258			OMAP4_IOPAD(0x1cc, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data4 */
259			OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data3 */
260
261			OMAP4_IOPAD(0x1d0, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data2 */
262			OMAP4_IOPAD(0x1d2, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data1 */
263			OMAP4_IOPAD(0x1d4, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data0 */
264		>;
265	};
266
267	tfp410_pins: pinmux_tfp410_pins {
268		pinctrl-single,pins = <
269			OMAP4_IOPAD(0x184, PIN_OUTPUT | MUX_MODE3)	/* gpio_0 */
270		>;
271	};
272
273	dss_hdmi_pins: pinmux_dss_hdmi_pins {
274		pinctrl-single,pins = <
275			OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0)		/* hdmi_cec.hdmi_cec */
276			OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_scl.hdmi_scl */
277			OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_sda.hdmi_sda */
278		>;
279	};
280
281	tpd12s015_pins: pinmux_tpd12s015_pins {
282		pinctrl-single,pins = <
283			OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3)		/* gpmc_a17.gpio_41 */
284			OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3)		/* gpmc_nbe1.gpio_60 */
285			OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3)	/* hdmi_hpd.gpio_63 */
286		>;
287	};
288
289	hsusbb1_pins: pinmux_hsusbb1_pins {
290		pinctrl-single,pins = <
291			OMAP4_IOPAD(0x0c2, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */
292			OMAP4_IOPAD(0x0c4, PIN_OUTPUT | MUX_MODE4)		/* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */
293			OMAP4_IOPAD(0x0c6, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dir.usbb1_ulpiphy_dir */
294			OMAP4_IOPAD(0x0c8, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_nxt.usbb1_ulpiphy_nxt */
295			OMAP4_IOPAD(0x0ca, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat0.usbb1_ulpiphy_dat0 */
296			OMAP4_IOPAD(0x0cc, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat1.usbb1_ulpiphy_dat1 */
297			OMAP4_IOPAD(0x0ce, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat2.usbb1_ulpiphy_dat2 */
298			OMAP4_IOPAD(0x0d0, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat3.usbb1_ulpiphy_dat3 */
299			OMAP4_IOPAD(0x0d2, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat4.usbb1_ulpiphy_dat4 */
300			OMAP4_IOPAD(0x0d4, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat5.usbb1_ulpiphy_dat5 */
301			OMAP4_IOPAD(0x0d6, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat6.usbb1_ulpiphy_dat6 */
302			OMAP4_IOPAD(0x0d8, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat7.usbb1_ulpiphy_dat7 */
303		>;
304	};
305
306	i2c1_pins: pinmux_i2c1_pins {
307		pinctrl-single,pins = <
308			OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_scl */
309			OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_sda */
310		>;
311	};
312
313	i2c2_pins: pinmux_i2c2_pins {
314		pinctrl-single,pins = <
315			OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_scl */
316			OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_sda */
317		>;
318	};
319
320	i2c3_pins: pinmux_i2c3_pins {
321		pinctrl-single,pins = <
322			OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_scl */
323			OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_sda */
324		>;
325	};
326
327	i2c4_pins: pinmux_i2c4_pins {
328		pinctrl-single,pins = <
329			OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c4_scl */
330			OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c4_sda */
331		>;
332	};
333
334	/*
335	 * wl12xx GPIO outputs for WLAN_EN, BT_EN, FM_EN, BT_WAKEUP
336	 * REVISIT: Are the pull-ups needed for GPIO 48 and 49?
337	 */
338	wl12xx_gpio: pinmux_wl12xx_gpio {
339		pinctrl-single,pins = <
340			OMAP4_IOPAD(0x066, PIN_OUTPUT | MUX_MODE3)		/* gpmc_a19.gpio_43 */
341			OMAP4_IOPAD(0x06c, PIN_OUTPUT | MUX_MODE3)		/* gpmc_a22.gpio_46 */
342			OMAP4_IOPAD(0x070, PIN_OUTPUT_PULLUP | MUX_MODE3)	/* gpmc_a24.gpio_48 */
343			OMAP4_IOPAD(0x072, PIN_OUTPUT_PULLUP | MUX_MODE3)	/* gpmc_a25.gpio_49 */
344		>;
345	};
346
347	/* wl12xx GPIO inputs and SDIO pins */
348	wl12xx_pins: pinmux_wl12xx_pins {
349		pinctrl-single,pins = <
350			OMAP4_IOPAD(0x078, PIN_INPUT | MUX_MODE3)		/* gpmc_ncs2.gpio_52 */
351			OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3)		/* gpmc_ncs3.gpio_53 */
352			OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_clk.sdmmc5_clk */
353			OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_cmd.sdmmc5_cmd */
354			OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat0.sdmmc5_dat0 */
355			OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat1.sdmmc5_dat1 */
356			OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat2.sdmmc5_dat2 */
357			OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat3.sdmmc5_dat3 */
358		>;
359	};
 
 
 
 
 
 
360};
361
362&omap4_pmx_wkup {
363	led_wkgpio_pins: pinmux_leds_wkpins {
364		pinctrl-single,pins = <
365			OMAP4_IOPAD(0x05a, PIN_OUTPUT | MUX_MODE3)	/* gpio_wk7 */
366			OMAP4_IOPAD(0x05c, PIN_OUTPUT | MUX_MODE3)	/* gpio_wk8 */
367		>;
368	};
369};
370
371&i2c1 {
372	pinctrl-names = "default";
373	pinctrl-0 = <&i2c1_pins>;
374
375	clock-frequency = <400000>;
376
377	twl: twl@48 {
378		reg = <0x48>;
379		/* IRQ# = 7 */
380		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
381	};
382
383	twl6040: twl@4b {
384		compatible = "ti,twl6040";
385		#clock-cells = <0>;
386		reg = <0x4b>;
387
388		pinctrl-names = "default";
389		pinctrl-0 = <&twl6040_pins>;
390
391		/* IRQ# = 119 */
392		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
393		ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>;  /* gpio line 127 */
394
395		vio-supply = <&v1v8>;
396		v2v1-supply = <&v2v1>;
397		enable-active-high;
398	};
399};
400
401#include "twl6030.dtsi"
402#include "twl6030_omap4.dtsi"
403
404&i2c2 {
405	pinctrl-names = "default";
406	pinctrl-0 = <&i2c2_pins>;
407
408	clock-frequency = <400000>;
409};
410
411&i2c3 {
412	pinctrl-names = "default";
413	pinctrl-0 = <&i2c3_pins>;
414
415	clock-frequency = <100000>;
416
417	/*
418	 * Display monitor features are burnt in their EEPROM as EDID data.
419	 * The EEPROM is connected as I2C slave device.
420	 */
421	eeprom@50 {
422		compatible = "ti,eeprom";
423		reg = <0x50>;
424	};
425};
426
427&i2c4 {
428	pinctrl-names = "default";
429	pinctrl-0 = <&i2c4_pins>;
430
431	clock-frequency = <400000>;
432};
433
434&mmc1 {
435	vmmc-supply = <&vmmc>;
436	bus-width = <8>;
437};
438
439&mmc2 {
440	status = "disabled";
441};
442
443&mmc3 {
444	status = "disabled";
445};
446
447&mmc4 {
448	status = "disabled";
449};
450
451&mmc5 {
452	pinctrl-names = "default";
453	pinctrl-0 = <&wl12xx_pins>;
454	vmmc-supply = <&wl12xx_vmmc>;
455	interrupts-extended = <&wakeupgen GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH
456			       &omap4_pmx_core 0x10e>;
457	non-removable;
458	bus-width = <4>;
459	cap-power-off-card;
460
461	#address-cells = <1>;
462	#size-cells = <0>;
463	wlcore: wlcore@2 {
464		compatible = "ti,wl1271";
465		reg = <2>;
466		interrupt-parent = <&gpio2>;
467		interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; /* gpio 53 */
 
 
468		ref-clock-frequency = <38400000>;
469	};
470};
471
472&emif1 {
473	cs1-used;
474	device-handle = <&elpida_ECB240ABACN>;
475};
476
477&emif2 {
478	cs1-used;
479	device-handle = <&elpida_ECB240ABACN>;
480};
481
482&mcbsp1 {
483	pinctrl-names = "default";
484	pinctrl-0 = <&mcbsp1_pins>;
485	status = "okay";
486};
487
488&mcpdm {
489	pinctrl-names = "default";
490	pinctrl-0 = <&mcpdm_pins>;
491
492	clocks = <&twl6040>;
493	clock-names = "pdmclk";
494
495	status = "okay";
496};
497
498&twl_usb_comparator {
499	usb-supply = <&vusb>;
500};
501
502&uart2 {
503	interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
504			       &omap4_pmx_core OMAP4_UART2_RX>;
505};
506
507&uart3 {
508	interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
509			       &omap4_pmx_core OMAP4_UART3_RX>;
510};
511
512&uart4 {
513	interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
514			       &omap4_pmx_core OMAP4_UART4_RX>;
515};
516
517&usb_otg_hs {
518	interface-type = <1>;
519	mode = <3>;
520	power = <50>;
521};
522
523&usbhshost {
524	port1-mode = "ehci-phy";
525};
526
527&usbhsehci {
528	phys = <&hsusb1_phy>;
529
530	#address-cells = <1>;
531	#size-cells = <0>;
532
533	hub@1 {
534		compatible = "usb424,9514";
535		reg = <1>;
536		#address-cells = <1>;
537		#size-cells = <0>;
538
539		ethernet: usbether@1 {
540			compatible = "usb424,ec00";
541			reg = <1>;
542		};
543	};
544};
545
546&dss {
547	status = "ok";
548
549	port {
550		dpi_out: endpoint {
551			remote-endpoint = <&tfp410_in>;
552			data-lines = <24>;
553		};
554	};
555};
556
557&dsi2 {
558	status = "ok";
559	vdd-supply = <&vcxio>;
560};
561
562&hdmi {
563	status = "ok";
564	vdda-supply = <&vdac>;
565
566	port {
567		hdmi_out: endpoint {
568			remote-endpoint = <&tpd12s015_in>;
569		};
570	};
571};
v5.4
  1// SPDX-License-Identifier: GPL-2.0-only
  2/*
  3 * Copyright (C) 2011-2013 Texas Instruments Incorporated - http://www.ti.com/
 
 
 
 
  4 */
  5#include <dt-bindings/input/input.h>
  6#include "elpida_ecb240abacn.dtsi"
  7#include "omap4-mcpdm.dtsi"
  8
  9/ {
 10	memory@80000000 {
 11		device_type = "memory";
 12		reg = <0x80000000 0x40000000>; /* 1 GB */
 13	};
 14
 15	chosen {
 16		stdout-path = &uart3;
 17	};
 18
 19	aliases {
 20		display0 = &dvi0;
 21		display1 = &hdmi0;
 22		ethernet = &ethernet;
 23	};
 24
 25	leds: leds {
 26		compatible = "gpio-leds";
 27		pinctrl-names = "default";
 28		pinctrl-0 = <
 29			&led_wkgpio_pins
 30		>;
 31
 32		heartbeat {
 33			label = "pandaboard::status1";
 34			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
 35			linux,default-trigger = "heartbeat";
 36		};
 37
 38		mmc {
 39			label = "pandaboard::status2";
 40			gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
 41			linux,default-trigger = "mmc0";
 42		};
 43	};
 44
 45	gpio_keys: gpio_keys {
 46		compatible = "gpio-keys";
 47		pinctrl-names = "default";
 48		pinctrl-0 = <
 49			&button_pins
 50		>;
 51
 52		buttonS2 {
 53			label = "button S2";
 54			gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;	/* gpio_121 */
 55			linux,code = <BTN_0>;
 56			wakeup-source;
 57		};
 58	};
 59
 60	sound: sound {
 61		compatible = "ti,abe-twl6040";
 62		ti,model = "PandaBoard";
 63
 64		ti,mclk-freq = <38400000>;
 65
 66		ti,mcpdm = <&mcpdm>;
 67
 68		ti,twl6040 = <&twl6040>;
 69
 70		/* Audio routing */
 71		ti,audio-routing =
 72			"Headset Stereophone", "HSOL",
 73			"Headset Stereophone", "HSOR",
 74			"Ext Spk", "HFL",
 75			"Ext Spk", "HFR",
 76			"Line Out", "AUXL",
 77			"Line Out", "AUXR",
 78			"HSMIC", "Headset Mic",
 79			"Headset Mic", "Headset Mic Bias",
 80			"AFML", "Line In",
 81			"AFMR", "Line In";
 82	};
 83
 84	/* HS USB Port 1 Power */
 85	hsusb1_power: hsusb1_power_reg {
 86		compatible = "regulator-fixed";
 87		regulator-name = "hsusb1_vbus";
 88		regulator-min-microvolt = <3300000>;
 89		regulator-max-microvolt = <3300000>;
 90		gpio = <&gpio1 1 GPIO_ACTIVE_HIGH>;	/* gpio_1 */
 91		startup-delay-us = <70000>;
 92		enable-active-high;
 93		/*
 94		 * boot-on is required along with always-on as the
 95		 * regulator framework doesn't enable the regulator
 96		 * if boot-on is not there.
 97		 */
 98		regulator-always-on;
 99		regulator-boot-on;
100	};
101
102	/* HS USB Host PHY on PORT 1 */
103	hsusb1_phy: hsusb1_phy {
104		compatible = "usb-nop-xceiv";
105		reset-gpios = <&gpio2 30 GPIO_ACTIVE_LOW>;   /* gpio_62 */
106		#phy-cells = <0>;
107		vcc-supply = <&hsusb1_power>;
108		clocks = <&auxclk3_ck>;
109		clock-names = "main_clk";
110		clock-frequency = <19200000>;
111	};
112
113	/* regulator for wl12xx on sdio5 */
114	wl12xx_vmmc: wl12xx_vmmc {
115		pinctrl-names = "default";
116		pinctrl-0 = <&wl12xx_gpio>;
117		compatible = "regulator-fixed";
118		regulator-name = "vwl1271";
119		regulator-min-microvolt = <1800000>;
120		regulator-max-microvolt = <1800000>;
121		gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>;
122		startup-delay-us = <70000>;
123		enable-active-high;
124	};
125
126	tfp410: encoder0 {
127		compatible = "ti,tfp410";
128		powerdown-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;	/* gpio_0 */
129
130		ports {
131			#address-cells = <1>;
132			#size-cells = <0>;
133
134			port@0 {
135				reg = <0>;
136
137				tfp410_in: endpoint {
138					remote-endpoint = <&dpi_out>;
139				};
140			};
141
142			port@1 {
143				reg = <1>;
144
145				tfp410_out: endpoint {
146					remote-endpoint = <&dvi_connector_in>;
147				};
148			};
149		};
150	};
151
152	dvi0: connector0 {
153		compatible = "dvi-connector";
154		label = "dvi";
155
156		digital;
157
158		ddc-i2c-bus = <&i2c3>;
159
160		port {
161			dvi_connector_in: endpoint {
162				remote-endpoint = <&tfp410_out>;
163			};
164		};
165	};
166
167	tpd12s015: encoder1 {
168		compatible = "ti,tpd12s015";
169
170		gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>,	/* 60, CT CP HPD */
171			<&gpio2 9 GPIO_ACTIVE_HIGH>,	/* 41, LS OE */
172			<&gpio2 31 GPIO_ACTIVE_HIGH>;	/* 63, HPD */
173
174		ports {
175			#address-cells = <1>;
176			#size-cells = <0>;
177
178			port@0 {
179				reg = <0>;
180
181				tpd12s015_in: endpoint {
182					remote-endpoint = <&hdmi_out>;
183				};
184			};
185
186			port@1 {
187				reg = <1>;
188
189				tpd12s015_out: endpoint {
190					remote-endpoint = <&hdmi_connector_in>;
191				};
192			};
193		};
194	};
195
196	hdmi0: connector1 {
197		compatible = "hdmi-connector";
198		label = "hdmi";
199
200		type = "a";
201
202		port {
203			hdmi_connector_in: endpoint {
204				remote-endpoint = <&tpd12s015_out>;
205			};
206		};
207	};
208};
209
210&omap4_pmx_core {
211	pinctrl-names = "default";
212	pinctrl-0 = <
213			&dss_dpi_pins
214			&tfp410_pins
215			&dss_hdmi_pins
216			&tpd12s015_pins
217			&hsusbb1_pins
218	>;
219
220	twl6040_pins: pinmux_twl6040_pins {
221		pinctrl-single,pins = <
222			OMAP4_IOPAD(0x120, PIN_OUTPUT | MUX_MODE3)	/* hdq_sio.gpio_127 */
223			OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0)	/* sys_nirq2.sys_nirq2 */
224		>;
225	};
226
 
 
 
 
 
 
 
 
 
 
227	mcbsp1_pins: pinmux_mcbsp1_pins {
228		pinctrl-single,pins = <
229			OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0)		/* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
230			OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_mcbsp1_dr.abe_mcbsp1_dr */
231			OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* abe_mcbsp1_dx.abe_mcbsp1_dx */
232			OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0)		/* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
233		>;
234	};
235
236	dss_dpi_pins: pinmux_dss_dpi_pins {
237		pinctrl-single,pins = <
238			OMAP4_IOPAD(0x162, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data23 */
239			OMAP4_IOPAD(0x164, PIN_OUTPUT | MUX_MODE5) 	/* dispc2_data22 */
240			OMAP4_IOPAD(0x166, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data21 */
241			OMAP4_IOPAD(0x168, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data20 */
242			OMAP4_IOPAD(0x16a, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data19 */
243			OMAP4_IOPAD(0x16c, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data18 */
244			OMAP4_IOPAD(0x16e, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data15 */
245			OMAP4_IOPAD(0x170, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data14 */
246			OMAP4_IOPAD(0x172, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data13 */
247			OMAP4_IOPAD(0x174, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data12 */
248			OMAP4_IOPAD(0x176, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data11 */
249
250			OMAP4_IOPAD(0x1b4, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data10 */
251			OMAP4_IOPAD(0x1b6, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data9 */
252			OMAP4_IOPAD(0x1b8, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data16 */
253			OMAP4_IOPAD(0x1ba, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data17 */
254			OMAP4_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE5)	/* dispc2_hsync */
255			OMAP4_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE5)	/* dispc2_pclk */
256			OMAP4_IOPAD(0x1c0, PIN_OUTPUT | MUX_MODE5)	/* dispc2_vsync */
257			OMAP4_IOPAD(0x1c2, PIN_OUTPUT | MUX_MODE5)	/* dispc2_de */
258			OMAP4_IOPAD(0x1c4, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data8 */
259			OMAP4_IOPAD(0x1c6, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data7 */
260			OMAP4_IOPAD(0x1c8, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data6 */
261			OMAP4_IOPAD(0x1ca, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data5 */
262			OMAP4_IOPAD(0x1cc, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data4 */
263			OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data3 */
264
265			OMAP4_IOPAD(0x1d0, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data2 */
266			OMAP4_IOPAD(0x1d2, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data1 */
267			OMAP4_IOPAD(0x1d4, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data0 */
268		>;
269	};
270
271	tfp410_pins: pinmux_tfp410_pins {
272		pinctrl-single,pins = <
273			OMAP4_IOPAD(0x184, PIN_OUTPUT | MUX_MODE3)	/* gpio_0 */
274		>;
275	};
276
277	dss_hdmi_pins: pinmux_dss_hdmi_pins {
278		pinctrl-single,pins = <
279			OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0)		/* hdmi_cec.hdmi_cec */
280			OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_scl.hdmi_scl */
281			OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_sda.hdmi_sda */
282		>;
283	};
284
285	tpd12s015_pins: pinmux_tpd12s015_pins {
286		pinctrl-single,pins = <
287			OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3)		/* gpmc_a17.gpio_41 */
288			OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3)		/* gpmc_nbe1.gpio_60 */
289			OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3)	/* hdmi_hpd.gpio_63 */
290		>;
291	};
292
293	hsusbb1_pins: pinmux_hsusbb1_pins {
294		pinctrl-single,pins = <
295			OMAP4_IOPAD(0x0c2, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */
296			OMAP4_IOPAD(0x0c4, PIN_OUTPUT | MUX_MODE4)		/* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */
297			OMAP4_IOPAD(0x0c6, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dir.usbb1_ulpiphy_dir */
298			OMAP4_IOPAD(0x0c8, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_nxt.usbb1_ulpiphy_nxt */
299			OMAP4_IOPAD(0x0ca, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat0.usbb1_ulpiphy_dat0 */
300			OMAP4_IOPAD(0x0cc, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat1.usbb1_ulpiphy_dat1 */
301			OMAP4_IOPAD(0x0ce, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat2.usbb1_ulpiphy_dat2 */
302			OMAP4_IOPAD(0x0d0, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat3.usbb1_ulpiphy_dat3 */
303			OMAP4_IOPAD(0x0d2, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat4.usbb1_ulpiphy_dat4 */
304			OMAP4_IOPAD(0x0d4, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat5.usbb1_ulpiphy_dat5 */
305			OMAP4_IOPAD(0x0d6, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat6.usbb1_ulpiphy_dat6 */
306			OMAP4_IOPAD(0x0d8, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat7.usbb1_ulpiphy_dat7 */
307		>;
308	};
309
310	i2c1_pins: pinmux_i2c1_pins {
311		pinctrl-single,pins = <
312			OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_scl */
313			OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_sda */
314		>;
315	};
316
317	i2c2_pins: pinmux_i2c2_pins {
318		pinctrl-single,pins = <
319			OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_scl */
320			OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_sda */
321		>;
322	};
323
324	i2c3_pins: pinmux_i2c3_pins {
325		pinctrl-single,pins = <
326			OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_scl */
327			OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_sda */
328		>;
329	};
330
331	i2c4_pins: pinmux_i2c4_pins {
332		pinctrl-single,pins = <
333			OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c4_scl */
334			OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c4_sda */
335		>;
336	};
337
338	/*
339	 * wl12xx GPIO outputs for WLAN_EN, BT_EN, FM_EN, BT_WAKEUP
340	 * REVISIT: Are the pull-ups needed for GPIO 48 and 49?
341	 */
342	wl12xx_gpio: pinmux_wl12xx_gpio {
343		pinctrl-single,pins = <
344			OMAP4_IOPAD(0x066, PIN_OUTPUT | MUX_MODE3)		/* gpmc_a19.gpio_43 */
345			OMAP4_IOPAD(0x06c, PIN_OUTPUT | MUX_MODE3)		/* gpmc_a22.gpio_46 */
346			OMAP4_IOPAD(0x070, PIN_OUTPUT_PULLUP | MUX_MODE3)	/* gpmc_a24.gpio_48 */
347			OMAP4_IOPAD(0x072, PIN_OUTPUT_PULLUP | MUX_MODE3)	/* gpmc_a25.gpio_49 */
348		>;
349	};
350
351	/* wl12xx GPIO inputs and SDIO pins */
352	wl12xx_pins: pinmux_wl12xx_pins {
353		pinctrl-single,pins = <
354			OMAP4_IOPAD(0x078, PIN_INPUT | MUX_MODE3)		/* gpmc_ncs2.gpio_52 */
355			OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3)		/* gpmc_ncs3.gpio_53 */
356			OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_clk.sdmmc5_clk */
357			OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_cmd.sdmmc5_cmd */
358			OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat0.sdmmc5_dat0 */
359			OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat1.sdmmc5_dat1 */
360			OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat2.sdmmc5_dat2 */
361			OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat3.sdmmc5_dat3 */
362		>;
363	};
364
365	button_pins: pinmux_button_pins {
366		pinctrl-single,pins = <
367			OMAP4_IOPAD(0x114, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpio_121 */
368		>;
369	};
370};
371
372&omap4_pmx_wkup {
373	led_wkgpio_pins: pinmux_leds_wkpins {
374		pinctrl-single,pins = <
375			OMAP4_IOPAD(0x05a, PIN_OUTPUT | MUX_MODE3)	/* gpio_wk7 */
376			OMAP4_IOPAD(0x05c, PIN_OUTPUT | MUX_MODE3)	/* gpio_wk8 */
377		>;
378	};
379};
380
381&i2c1 {
382	pinctrl-names = "default";
383	pinctrl-0 = <&i2c1_pins>;
384
385	clock-frequency = <400000>;
386
387	twl: twl@48 {
388		reg = <0x48>;
389		/* IRQ# = 7 */
390		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
391	};
392
393	twl6040: twl@4b {
394		compatible = "ti,twl6040";
395		#clock-cells = <0>;
396		reg = <0x4b>;
397
398		pinctrl-names = "default";
399		pinctrl-0 = <&twl6040_pins>;
400
401		/* IRQ# = 119 */
402		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
403		ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>;  /* gpio line 127 */
404
405		vio-supply = <&v1v8>;
406		v2v1-supply = <&v2v1>;
407		enable-active-high;
408	};
409};
410
411#include "twl6030.dtsi"
412#include "twl6030_omap4.dtsi"
413
414&i2c2 {
415	pinctrl-names = "default";
416	pinctrl-0 = <&i2c2_pins>;
417
418	clock-frequency = <400000>;
419};
420
421&i2c3 {
422	pinctrl-names = "default";
423	pinctrl-0 = <&i2c3_pins>;
424
425	clock-frequency = <100000>;
426
427	/*
428	 * Display monitor features are burnt in their EEPROM as EDID data.
429	 * The EEPROM is connected as I2C slave device.
430	 */
431	eeprom@50 {
432		compatible = "ti,eeprom";
433		reg = <0x50>;
434	};
435};
436
437&i2c4 {
438	pinctrl-names = "default";
439	pinctrl-0 = <&i2c4_pins>;
440
441	clock-frequency = <400000>;
442};
443
444&mmc1 {
445	vmmc-supply = <&vmmc>;
446	bus-width = <8>;
447};
448
449&mmc2 {
450	status = "disabled";
451};
452
453&mmc3 {
454	status = "disabled";
455};
456
457&mmc4 {
458	status = "disabled";
459};
460
461&mmc5 {
462	pinctrl-names = "default";
463	pinctrl-0 = <&wl12xx_pins>;
464	vmmc-supply = <&wl12xx_vmmc>;
465	interrupts-extended = <&wakeupgen GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH
466			       &omap4_pmx_core 0x10e>;
467	non-removable;
468	bus-width = <4>;
469	cap-power-off-card;
470
471	#address-cells = <1>;
472	#size-cells = <0>;
473	wlcore: wlcore@2 {
474		compatible = "ti,wl1271";
475		reg = <2>;
476		/* gpio_53 with gpmc_ncs3 pad as wakeup */
477		interrupts-extended = <&gpio2 21 IRQ_TYPE_LEVEL_HIGH>,
478				      <&omap4_pmx_core 0x3a>;
479		interrupt-names = "irq", "wakeup";
480		ref-clock-frequency = <38400000>;
481	};
482};
483
484&emif1 {
485	cs1-used;
486	device-handle = <&elpida_ECB240ABACN>;
487};
488
489&emif2 {
490	cs1-used;
491	device-handle = <&elpida_ECB240ABACN>;
492};
493
494&mcbsp1 {
495	pinctrl-names = "default";
496	pinctrl-0 = <&mcbsp1_pins>;
 
 
 
 
 
 
 
 
 
 
497	status = "okay";
498};
499
500&twl_usb_comparator {
501	usb-supply = <&vusb>;
502};
503
504&uart2 {
505	interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
506			       &omap4_pmx_core OMAP4_UART2_RX>;
507};
508
509&uart3 {
510	interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
511			       &omap4_pmx_core OMAP4_UART3_RX>;
512};
513
514&uart4 {
515	interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
516			       &omap4_pmx_core OMAP4_UART4_RX>;
517};
518
519&usb_otg_hs {
520	interface-type = <1>;
521	mode = <3>;
522	power = <50>;
523};
524
525&usbhshost {
526	port1-mode = "ehci-phy";
527};
528
529&usbhsehci {
530	phys = <&hsusb1_phy>;
531
532	#address-cells = <1>;
533	#size-cells = <0>;
534
535	hub@1 {
536		compatible = "usb424,9514";
537		reg = <1>;
538		#address-cells = <1>;
539		#size-cells = <0>;
540
541		ethernet: usbether@1 {
542			compatible = "usb424,ec00";
543			reg = <1>;
544		};
545	};
546};
547
548&dss {
549	status = "ok";
550
551	port {
552		dpi_out: endpoint {
553			remote-endpoint = <&tfp410_in>;
554			data-lines = <24>;
555		};
556	};
557};
558
559&dsi2 {
560	status = "ok";
561	vdd-supply = <&vcxio>;
562};
563
564&hdmi {
565	status = "ok";
566	vdda-supply = <&vdac>;
567
568	port {
569		hdmi_out: endpoint {
570			remote-endpoint = <&tpd12s015_in>;
571		};
572	};
573};