Linux Audio

Check our new training course

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