Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.8.
  1/*
  2 * Copyright (C) 2011 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/dts-v1/;
  9
 10#include "omap443x.dtsi"
 11#include "elpida_ecb240abacn.dtsi"
 12
 13/ {
 14	model = "TI OMAP4 SDP board";
 15	compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4";
 16
 17	memory {
 18		device_type = "memory";
 19		reg = <0x80000000 0x40000000>; /* 1 GB */
 20	};
 21
 22	aliases {
 23		display0 = &lcd0;
 24		display1 = &lcd1;
 25		display2 = &hdmi0;
 26	};
 27
 28	vdd_eth: fixedregulator-vdd-eth {
 29		compatible = "regulator-fixed";
 30		regulator-name = "VDD_ETH";
 31		regulator-min-microvolt = <3300000>;
 32		regulator-max-microvolt = <3300000>;
 33		gpio = <&gpio2 16 GPIO_ACTIVE_HIGH>;  /* gpio line 48 */
 34		enable-active-high;
 35		regulator-boot-on;
 36	};
 37
 38	vbat: fixedregulator-vbat {
 39		compatible = "regulator-fixed";
 40		regulator-name = "VBAT";
 41		regulator-min-microvolt = <3750000>;
 42		regulator-max-microvolt = <3750000>;
 43		regulator-boot-on;
 44	};
 45
 46	leds {
 47		compatible = "gpio-leds";
 48		debug0 {
 49			label = "omap4:green:debug0";
 50			gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>; /* 61 */
 51		};
 52
 53		debug1 {
 54			label = "omap4:green:debug1";
 55			gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; /* 30 */
 56		};
 57
 58		debug2 {
 59			label = "omap4:green:debug2";
 60			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; /* 7 */
 61		};
 62
 63		debug3 {
 64			label = "omap4:green:debug3";
 65			gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* 8 */
 66		};
 67
 68		debug4 {
 69			label = "omap4:green:debug4";
 70			gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; /* 50 */
 71		};
 72
 73		user1 {
 74			label = "omap4:blue:user";
 75			gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* 169 */
 76		};
 77
 78		user2 {
 79			label = "omap4:red:user";
 80			gpios = <&gpio6 10 GPIO_ACTIVE_HIGH>; /* 170 */
 81		};
 82
 83		user3 {
 84			label = "omap4:green:user";
 85			gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* 139 */
 86		};
 87	};
 88
 89	pwmleds {
 90		compatible = "pwm-leds";
 91		kpad {
 92			label = "omap4::keypad";
 93			pwms = <&twl_pwm 0 7812500>;
 94			max-brightness = <127>;
 95		};
 96
 97		charging {
 98			label = "omap4:green:chrg";
 99			pwms = <&twl_pwmled 0 7812500>;
100			max-brightness = <255>;
101		};
102	};
103
104	backlight {
105		compatible = "pwm-backlight";
106		pwms = <&twl_pwm 1 7812500>;
107		brightness-levels = <
108				0 10 20 30 40
109				50 60 70 80 90
110				100 110 120 127
111				>;
112		default-brightness-level = <13>;
113	};
114
115	sound {
116		compatible = "ti,abe-twl6040";
117		ti,model = "SDP4430";
118
119		ti,jack-detection = <1>;
120		ti,mclk-freq = <38400000>;
121
122		ti,mcpdm = <&mcpdm>;
123		ti,dmic = <&dmic>;
124
125		ti,twl6040 = <&twl6040>;
126
127		/* Audio routing */
128		ti,audio-routing =
129			"Headset Stereophone", "HSOL",
130			"Headset Stereophone", "HSOR",
131			"Earphone Spk", "EP",
132			"Ext Spk", "HFL",
133			"Ext Spk", "HFR",
134			"Line Out", "AUXL",
135			"Line Out", "AUXR",
136			"Vibrator", "VIBRAL",
137			"Vibrator", "VIBRAR",
138			"HSMIC", "Headset Mic",
139			"Headset Mic", "Headset Mic Bias",
140			"MAINMIC", "Main Handset Mic",
141			"Main Handset Mic", "Main Mic Bias",
142			"SUBMIC", "Sub Handset Mic",
143			"Sub Handset Mic", "Main Mic Bias",
144			"AFML", "Line In",
145			"AFMR", "Line In",
146			"DMic", "Digital Mic",
147			"Digital Mic", "Digital Mic1 Bias";
148	};
149
150	/* regulator for wl12xx on sdio5 */
151	wl12xx_vmmc: wl12xx_vmmc {
152		pinctrl-names = "default";
153		pinctrl-0 = <&wl12xx_gpio>;
154		compatible = "regulator-fixed";
155		regulator-name = "vwl1271";
156		regulator-min-microvolt = <1800000>;
157		regulator-max-microvolt = <1800000>;
158		gpio = <&gpio2 22 GPIO_ACTIVE_HIGH>;
159		startup-delay-us = <70000>;
160		enable-active-high;
161	};
162
163	tpd12s015: encoder@0 {
164		compatible = "ti,tpd12s015";
165
166		gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>,	/* 60, CT CP HPD */
167			<&gpio2 9 GPIO_ACTIVE_HIGH>,	/* 41, LS OE */
168			<&gpio2 31 GPIO_ACTIVE_HIGH>;	/* 63, HPD */
169
170		ports {
171			#address-cells = <1>;
172			#size-cells = <0>;
173
174			port@0 {
175				reg = <0>;
176
177				tpd12s015_in: endpoint@0 {
178					remote-endpoint = <&hdmi_out>;
179				};
180			};
181
182			port@1 {
183				reg = <1>;
184
185				tpd12s015_out: endpoint@0 {
186					remote-endpoint = <&hdmi_connector_in>;
187				};
188			};
189		};
190	};
191
192	hdmi0: connector@0 {
193		compatible = "hdmi-connector";
194		label = "hdmi";
195
196		type = "c";
197
198		port {
199			hdmi_connector_in: endpoint {
200				remote-endpoint = <&tpd12s015_out>;
201			};
202		};
203	};
204};
205
206&omap4_pmx_core {
207	pinctrl-names = "default";
208	pinctrl-0 = <
209			&dss_hdmi_pins
210			&tpd12s015_pins
211	>;
212
213	uart2_pins: pinmux_uart2_pins {
214		pinctrl-single,pins = <
215			OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0)	/* uart2_cts.uart2_cts */
216			OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0)		/* uart2_rts.uart2_rts */
217			OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0)	/* uart2_rx.uart2_rx */
218			OMAP4_IOPAD(0x11e, PIN_OUTPUT | MUX_MODE0)		/* uart2_tx.uart2_tx */
219		>;
220	};
221
222	uart3_pins: pinmux_uart3_pins {
223		pinctrl-single,pins = <
224			OMAP4_IOPAD(0x140, PIN_INPUT_PULLUP | MUX_MODE0)	/* uart3_cts_rctx.uart3_cts_rctx */
225			OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE0)		/* uart3_rts_sd.uart3_rts_sd */
226			OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0)		/* uart3_rx_irrx.uart3_rx_irrx */
227			OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0)		/* uart3_tx_irtx.uart3_tx_irtx */
228		>;
229	};
230
231	uart4_pins: pinmux_uart4_pins {
232		pinctrl-single,pins = <
233			OMAP4_IOPAD(0x15c, PIN_INPUT | MUX_MODE0)		/* uart4_rx.uart4_rx */
234			OMAP4_IOPAD(0x15e, PIN_OUTPUT | MUX_MODE0)		/* uart4_tx.uart4_tx */
235		>;
236	};
237
238	twl6040_pins: pinmux_twl6040_pins {
239		pinctrl-single,pins = <
240			OMAP4_IOPAD(0x120, PIN_OUTPUT | MUX_MODE3)		/* hdq_sio.gpio_127 */
241			OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0)		/* sys_nirq2.sys_nirq2 */
242		>;
243	};
244
245	mcpdm_pins: pinmux_mcpdm_pins {
246		pinctrl-single,pins = <
247			OMAP4_IOPAD(0x106, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_pdm_ul_data.abe_pdm_ul_data */
248			OMAP4_IOPAD(0x108, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_pdm_dl_data.abe_pdm_dl_data */
249			OMAP4_IOPAD(0x10a, PIN_INPUT_PULLUP | MUX_MODE0)	/* abe_pdm_frame.abe_pdm_frame */
250			OMAP4_IOPAD(0x10c, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_pdm_lb_clk.abe_pdm_lb_clk */
251			OMAP4_IOPAD(0x10e, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_clks.abe_clks */
252		>;
253	};
254
255	dmic_pins: pinmux_dmic_pins {
256		pinctrl-single,pins = <
257			OMAP4_IOPAD(0x110, PIN_OUTPUT | MUX_MODE0)		/* abe_dmic_clk1.abe_dmic_clk1 */
258			OMAP4_IOPAD(0x112, PIN_INPUT | MUX_MODE0)		/* abe_dmic_din1.abe_dmic_din1 */
259			OMAP4_IOPAD(0x114, PIN_INPUT | MUX_MODE0)		/* abe_dmic_din2.abe_dmic_din2 */
260			OMAP4_IOPAD(0x116, PIN_INPUT | MUX_MODE0)		/* abe_dmic_din3.abe_dmic_din3 */
261		>;
262	};
263
264	mcbsp1_pins: pinmux_mcbsp1_pins {
265		pinctrl-single,pins = <
266			OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0)		/* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
267			OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_mcbsp1_dr.abe_mcbsp1_dr */
268			OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* abe_mcbsp1_dx.abe_mcbsp1_dx */
269			OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0)		/* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
270		>;
271	};
272
273	mcbsp2_pins: pinmux_mcbsp2_pins {
274		pinctrl-single,pins = <
275			OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0)		/* abe_mcbsp2_clkx.abe_mcbsp2_clkx */
276			OMAP4_IOPAD(0x0f8, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_mcbsp2_dr.abe_mcbsp2_dr */
277			OMAP4_IOPAD(0x0fa, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* abe_mcbsp2_dx.abe_mcbsp2_dx */
278			OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0)		/* abe_mcbsp2_fsx.abe_mcbsp2_fsx */
279		>;
280	};
281
282	mcspi1_pins: pinmux_mcspi1_pins {
283		pinctrl-single,pins = <
284			OMAP4_IOPAD(0x132, PIN_INPUT | MUX_MODE0)		/*  mcspi1_clk.mcspi1_clk */
285			OMAP4_IOPAD(0x134, PIN_INPUT | MUX_MODE0)		/*  mcspi1_somi.mcspi1_somi */
286			OMAP4_IOPAD(0x136, PIN_INPUT | MUX_MODE0)		/*  mcspi1_simo.mcspi1_simo */
287			OMAP4_IOPAD(0x138, PIN_INPUT | MUX_MODE0)		/*  mcspi1_cs0.mcspi1_cs0 */
288		>;
289	};
290
291	dss_hdmi_pins: pinmux_dss_hdmi_pins {
292		pinctrl-single,pins = <
293			OMAP4_IOPAD(0x09a, PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_cec.hdmi_cec */
294			OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_scl.hdmi_scl */
295			OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_sda.hdmi_sda */
296		>;
297	};
298
299	tpd12s015_pins: pinmux_tpd12s015_pins {
300		pinctrl-single,pins = <
301			OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3)		/* gpmc_a17.gpio_41 */
302			OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3)		/* gpmc_nbe1.gpio_60 */
303			OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3)	/* hdmi_hpd.gpio_63 */
304		>;
305	};
306
307	i2c1_pins: pinmux_i2c1_pins {
308		pinctrl-single,pins = <
309			OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_scl */
310			OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_sda */
311		>;
312	};
313
314	i2c2_pins: pinmux_i2c2_pins {
315		pinctrl-single,pins = <
316			OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_scl */
317			OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_sda */
318		>;
319	};
320
321	i2c3_pins: pinmux_i2c3_pins {
322		pinctrl-single,pins = <
323			OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_scl */
324			OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_sda */
325		>;
326	};
327
328	i2c4_pins: pinmux_i2c4_pins {
329		pinctrl-single,pins = <
330			OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c4_scl */
331			OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c4_sda */
332		>;
333	};
334
335	/* wl12xx GPIO output for WLAN_EN */
336	wl12xx_gpio: pinmux_wl12xx_gpio {
337		pinctrl-single,pins = <
338			OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3)		/* gpmc_nwp.gpio_54 */
339		>;
340	};
341
342	/* wl12xx GPIO inputs and SDIO pins */
343	wl12xx_pins: pinmux_wl12xx_pins {
344		pinctrl-single,pins = <
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&i2c1 {
357	pinctrl-names = "default";
358	pinctrl-0 = <&i2c1_pins>;
359
360	clock-frequency = <400000>;
361
362	twl: twl@48 {
363		reg = <0x48>;
364		/* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
365		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
366	};
367
368	twl6040: twl@4b {
369		compatible = "ti,twl6040";
370		reg = <0x4b>;
371
372		pinctrl-names = "default";
373		pinctrl-0 = <&twl6040_pins>;
374
375		/* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
376		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
377		ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>;  /* gpio line 127 */
378
379		vio-supply = <&v1v8>;
380		v2v1-supply = <&v2v1>;
381		enable-active-high;
382
383		/* regulators for vibra motor */
384		vddvibl-supply = <&vbat>;
385		vddvibr-supply = <&vbat>;
386
387		vibra {
388			/* Vibra driver, motor resistance parameters */
389			ti,vibldrv-res = <8>;
390			ti,vibrdrv-res = <3>;
391			ti,viblmotor-res = <10>;
392			ti,vibrmotor-res = <10>;
393		};
394	};
395};
396
397#include "twl6030.dtsi"
398#include "twl6030_omap4.dtsi"
399
400&i2c2 {
401	pinctrl-names = "default";
402	pinctrl-0 = <&i2c2_pins>;
403
404	clock-frequency = <400000>;
405};
406
407&i2c3 {
408	pinctrl-names = "default";
409	pinctrl-0 = <&i2c3_pins>;
410
411	clock-frequency = <400000>;
412
413	/*
414	 * Temperature Sensor
415	 * http://www.ti.com/lit/ds/symlink/tmp105.pdf
416	 */
417	tmp105@48 {
418		compatible = "ti,tmp105";
419		reg = <0x48>;
420	};
421
422	/*
423	 * Ambient Light Sensor
424	 * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
425	 */
426	bh1780@29 {
427		compatible = "rohm,bh1780";
428		reg = <0x29>;
429	};
430};
431
432&i2c4 {
433	pinctrl-names = "default";
434	pinctrl-0 = <&i2c4_pins>;
435
436	clock-frequency = <400000>;
437
438	/*
439	 * 3-Axis Digital Compass
440	 * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
441	 */
442	hmc5843@1e {
443		compatible = "honeywell,hmc5843";
444		reg = <0x1e>;
445	};
446};
447
448&mcspi1 {
449	pinctrl-names = "default";
450	pinctrl-0 = <&mcspi1_pins>;
451
452	eth@0 {
453		compatible = "ks8851";
454		spi-max-frequency = <24000000>;
455		reg = <0>;
456		interrupt-parent = <&gpio2>;
457		interrupts = <2 IRQ_TYPE_LEVEL_LOW>; /* gpio line 34 */
458		vdd-supply = <&vdd_eth>;
459	};
460};
461
462&mmc1 {
463	vmmc-supply = <&vmmc>;
464	bus-width = <8>;
465};
466
467&mmc2 {
468	vmmc-supply = <&vaux1>;
469	bus-width = <8>;
470	ti,non-removable;
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	non-removable;
486	bus-width = <4>;
487	cap-power-off-card;
488
489	#address-cells = <1>;
490	#size-cells = <0>;
491	wlcore: wlcore@2 {
492		compatible = "ti,wl1281";
493		reg = <2>;
494		interrupt-parent = <&gpio1>;
495		interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; /* gpio 53 */
496		ref-clock-frequency = <26000000>;
497		tcxo-clock-frequency = <26000000>;
498	};
499};
500
501&emif1 {
502	cs1-used;
503	device-handle = <&elpida_ECB240ABACN>;
504};
505
506&emif2 {
507	cs1-used;
508	device-handle = <&elpida_ECB240ABACN>;
509};
510
511&keypad {
512	keypad,num-rows = <8>;
513	keypad,num-columns = <8>;
514	linux,keymap = <0x00000012	/* KEY_E */
515			0x00010013	/* KEY_R */
516			0x00020014	/* KEY_T */
517			0x00030066	/* KEY_HOME */
518			0x0004003f	/* KEY_F5 */
519			0x000500f0	/* KEY_UNKNOWN */
520			0x00060017	/* KEY_I */
521			0x0007002a	/* KEY_LEFTSHIFT */
522			0x01000020	/* KEY_D*/
523			0x01010021	/* KEY_F */
524			0x01020022	/* KEY_G */
525			0x010300e7	/* KEY_SEND */
526			0x01040040	/* KEY_F6 */
527			0x010500f0	/* KEY_UNKNOWN */
528			0x01060025	/* KEY_K */
529			0x0107001c	/* KEY_ENTER */
530			0x0200002d	/* KEY_X */
531			0x0201002e	/* KEY_C */
532			0x0202002f	/* KEY_V */
533			0x0203006b	/* KEY_END */
534			0x02040041	/* KEY_F7 */
535			0x020500f0	/* KEY_UNKNOWN */
536			0x02060034	/* KEY_DOT */
537			0x0207003a	/* KEY_CAPSLOCK */
538			0x0300002c	/* KEY_Z */
539			0x0301004e	/* KEY_KPLUS */
540			0x03020030	/* KEY_B */
541			0x0303003b	/* KEY_F1 */
542			0x03040042	/* KEY_F8 */
543			0x030500f0	/* KEY_UNKNOWN */
544			0x03060018	/* KEY_O */
545			0x03070039	/* KEY_SPACE */
546			0x04000011	/* KEY_W */
547			0x04010015	/* KEY_Y */
548			0x04020016	/* KEY_U */
549			0x0403003c	/* KEY_F2 */
550			0x04040073	/* KEY_VOLUMEUP */
551			0x040500f0	/* KEY_UNKNOWN */
552			0x04060026	/* KEY_L */
553			0x04070069	/* KEY_LEFT */
554			0x0500001f	/* KEY_S */
555			0x05010023	/* KEY_H */
556			0x05020024	/* KEY_J */
557			0x0503003d	/* KEY_F3 */
558			0x05040043	/* KEY_F9 */
559			0x05050072	/* KEY_VOLUMEDOWN */
560			0x05060032	/* KEY_M */
561			0x0507006a	/* KEY_RIGHT */
562			0x06000010	/* KEY_Q */
563			0x0601001e	/* KEY_A */
564			0x06020031	/* KEY_N */
565			0x0603009e	/* KEY_BACK */
566			0x0604000e	/* KEY_BACKSPACE */
567			0x060500f0	/* KEY_UNKNOWN */
568			0x06060019	/* KEY_P */
569			0x06070067	/* KEY_UP */
570			0x07000094	/* KEY_PROG1 */
571			0x07010095	/* KEY_PROG2 */
572			0x070200ca	/* KEY_PROG3 */
573			0x070300cb	/* KEY_PROG4 */
574			0x0704003e	/* KEY_F4 */
575			0x070500f0	/* KEY_UNKNOWN */
576			0x07060160	/* KEY_OK */
577			0x0707006c>;	/* KEY_DOWN */
578	linux,input-no-autorepeat;
579};
580
581&uart2 {
582	interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
583			       &omap4_pmx_core OMAP4_UART2_RX>;
584	pinctrl-names = "default";
585	pinctrl-0 = <&uart2_pins>;
586};
587
588&uart3 {
589	interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
590			       &omap4_pmx_core OMAP4_UART3_RX>;
591	pinctrl-names = "default";
592	pinctrl-0 = <&uart3_pins>;
593};
594
595&uart4 {
596	interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
597			       &omap4_pmx_core OMAP4_UART4_RX>;
598	pinctrl-names = "default";
599	pinctrl-0 = <&uart4_pins>;
600};
601
602&mcbsp1 {
603	pinctrl-names = "default";
604	pinctrl-0 = <&mcbsp1_pins>;
605	status = "okay";
606};
607
608&mcbsp2 {
609	pinctrl-names = "default";
610	pinctrl-0 = <&mcbsp2_pins>;
611	status = "okay";
612};
613
614&dmic {
615	pinctrl-names = "default";
616	pinctrl-0 = <&dmic_pins>;
617	status = "okay";
618};
619
620&mcpdm {
621	pinctrl-names = "default";
622	pinctrl-0 = <&mcpdm_pins>;
623	status = "okay";
624};
625
626&twl_usb_comparator {
627	usb-supply = <&vusb>;
628};
629
630&usb_otg_hs {
631	interface-type = <1>;
632	mode = <3>;
633	power = <50>;
634};
635
636&dss {
637	status = "ok";
638};
639
640&dsi1 {
641	status = "ok";
642	vdd-supply = <&vcxio>;
643
644	port {
645		dsi1_out_ep: endpoint {
646			remote-endpoint = <&lcd0_in>;
647			lanes = <0 1 2 3 4 5>;
648		};
649	};
650
651	lcd0: display {
652		compatible = "tpo,taal", "panel-dsi-cm";
653		label = "lcd0";
654
655		reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>;	/* 102 */
656
657		port {
658			lcd0_in: endpoint {
659				remote-endpoint = <&dsi1_out_ep>;
660			};
661		};
662	};
663};
664
665&dsi2 {
666	status = "ok";
667	vdd-supply = <&vcxio>;
668
669	port {
670		dsi2_out_ep: endpoint {
671			remote-endpoint = <&lcd1_in>;
672			lanes = <0 1 2 3 4 5>;
673		};
674	};
675
676	lcd1: display {
677		compatible = "tpo,taal", "panel-dsi-cm";
678		label = "lcd1";
679
680		reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>;	/* 104 */
681
682		port {
683			lcd1_in: endpoint {
684				remote-endpoint = <&dsi2_out_ep>;
685			};
686		};
687	};
688};
689
690&hdmi {
691	status = "ok";
692	vdda-supply = <&vdac>;
693
694	port {
695		hdmi_out: endpoint {
696			remote-endpoint = <&tpd12s015_in>;
697		};
698	};
699};