Linux Audio

Check our new training course

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