Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.9.4.
  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@80000000 {
 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 {
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 {
178					remote-endpoint = <&hdmi_out>;
179				};
180			};
181
182			port@1 {
183				reg = <1>;
184
185				tpd12s015_out: endpoint {
186					remote-endpoint = <&hdmi_connector_in>;
187				};
188			};
189		};
190	};
191
192	hdmi0: connector {
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 | 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		#clock-cells = <0>;
371		reg = <0x4b>;
372
373		pinctrl-names = "default";
374		pinctrl-0 = <&twl6040_pins>;
375
376		/* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
377		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
378		ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>;  /* gpio line 127 */
379
380		vio-supply = <&v1v8>;
381		v2v1-supply = <&v2v1>;
382		enable-active-high;
383
384		/* regulators for vibra motor */
385		vddvibl-supply = <&vbat>;
386		vddvibr-supply = <&vbat>;
387
388		vibra {
389			/* Vibra driver, motor resistance parameters */
390			ti,vibldrv-res = <8>;
391			ti,vibrdrv-res = <3>;
392			ti,viblmotor-res = <10>;
393			ti,vibrmotor-res = <10>;
394		};
395	};
396};
397
398#include "twl6030.dtsi"
399#include "twl6030_omap4.dtsi"
400
401&i2c2 {
402	pinctrl-names = "default";
403	pinctrl-0 = <&i2c2_pins>;
404
405	clock-frequency = <400000>;
406};
407
408&i2c3 {
409	pinctrl-names = "default";
410	pinctrl-0 = <&i2c3_pins>;
411
412	clock-frequency = <400000>;
413
414	/*
415	 * Temperature Sensor
416	 * http://www.ti.com/lit/ds/symlink/tmp105.pdf
417	 */
418	tmp105@48 {
419		compatible = "ti,tmp105";
420		reg = <0x48>;
421	};
422
423	/*
424	 * Ambient Light Sensor
425	 * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
426	 */
427	bh1780@29 {
428		compatible = "rohm,bh1780";
429		reg = <0x29>;
430	};
431};
432
433&i2c4 {
434	pinctrl-names = "default";
435	pinctrl-0 = <&i2c4_pins>;
436
437	clock-frequency = <400000>;
438
439	/*
440	 * 3-Axis Digital Compass
441	 * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
442	 */
443	hmc5843@1e {
444		compatible = "honeywell,hmc5843";
445		reg = <0x1e>;
446	};
447};
448
449&mcspi1 {
450	pinctrl-names = "default";
451	pinctrl-0 = <&mcspi1_pins>;
452
453	eth@0 {
454		compatible = "ks8851";
455		spi-max-frequency = <24000000>;
456		reg = <0>;
457		interrupt-parent = <&gpio2>;
458		interrupts = <2 IRQ_TYPE_LEVEL_LOW>; /* gpio line 34 */
459		vdd-supply = <&vdd_eth>;
460	};
461};
462
463&mmc1 {
464	vmmc-supply = <&vmmc>;
465	bus-width = <8>;
466};
467
468&mmc2 {
469	vmmc-supply = <&vaux1>;
470	bus-width = <8>;
471	ti,non-removable;
472};
473
474&mmc3 {
475	status = "disabled";
476};
477
478&mmc4 {
479	status = "disabled";
480};
481
482&mmc5 {
483	pinctrl-names = "default";
484	pinctrl-0 = <&wl12xx_pins>;
485	vmmc-supply = <&wl12xx_vmmc>;
486	non-removable;
487	bus-width = <4>;
488	cap-power-off-card;
489
490	#address-cells = <1>;
491	#size-cells = <0>;
492	wlcore: wlcore@2 {
493		compatible = "ti,wl1281";
494		reg = <2>;
495		interrupt-parent = <&gpio1>;
496		interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; /* gpio 53 */
497		ref-clock-frequency = <26000000>;
498		tcxo-clock-frequency = <26000000>;
499	};
500};
501
502&emif1 {
503	cs1-used;
504	device-handle = <&elpida_ECB240ABACN>;
505};
506
507&emif2 {
508	cs1-used;
509	device-handle = <&elpida_ECB240ABACN>;
510};
511
512&keypad {
513	keypad,num-rows = <8>;
514	keypad,num-columns = <8>;
515	linux,keymap = <0x00000012	/* KEY_E */
516			0x00010013	/* KEY_R */
517			0x00020014	/* KEY_T */
518			0x00030066	/* KEY_HOME */
519			0x0004003f	/* KEY_F5 */
520			0x000500f0	/* KEY_UNKNOWN */
521			0x00060017	/* KEY_I */
522			0x0007002a	/* KEY_LEFTSHIFT */
523			0x01000020	/* KEY_D*/
524			0x01010021	/* KEY_F */
525			0x01020022	/* KEY_G */
526			0x010300e7	/* KEY_SEND */
527			0x01040040	/* KEY_F6 */
528			0x010500f0	/* KEY_UNKNOWN */
529			0x01060025	/* KEY_K */
530			0x0107001c	/* KEY_ENTER */
531			0x0200002d	/* KEY_X */
532			0x0201002e	/* KEY_C */
533			0x0202002f	/* KEY_V */
534			0x0203006b	/* KEY_END */
535			0x02040041	/* KEY_F7 */
536			0x020500f0	/* KEY_UNKNOWN */
537			0x02060034	/* KEY_DOT */
538			0x0207003a	/* KEY_CAPSLOCK */
539			0x0300002c	/* KEY_Z */
540			0x0301004e	/* KEY_KPLUS */
541			0x03020030	/* KEY_B */
542			0x0303003b	/* KEY_F1 */
543			0x03040042	/* KEY_F8 */
544			0x030500f0	/* KEY_UNKNOWN */
545			0x03060018	/* KEY_O */
546			0x03070039	/* KEY_SPACE */
547			0x04000011	/* KEY_W */
548			0x04010015	/* KEY_Y */
549			0x04020016	/* KEY_U */
550			0x0403003c	/* KEY_F2 */
551			0x04040073	/* KEY_VOLUMEUP */
552			0x040500f0	/* KEY_UNKNOWN */
553			0x04060026	/* KEY_L */
554			0x04070069	/* KEY_LEFT */
555			0x0500001f	/* KEY_S */
556			0x05010023	/* KEY_H */
557			0x05020024	/* KEY_J */
558			0x0503003d	/* KEY_F3 */
559			0x05040043	/* KEY_F9 */
560			0x05050072	/* KEY_VOLUMEDOWN */
561			0x05060032	/* KEY_M */
562			0x0507006a	/* KEY_RIGHT */
563			0x06000010	/* KEY_Q */
564			0x0601001e	/* KEY_A */
565			0x06020031	/* KEY_N */
566			0x0603009e	/* KEY_BACK */
567			0x0604000e	/* KEY_BACKSPACE */
568			0x060500f0	/* KEY_UNKNOWN */
569			0x06060019	/* KEY_P */
570			0x06070067	/* KEY_UP */
571			0x07000094	/* KEY_PROG1 */
572			0x07010095	/* KEY_PROG2 */
573			0x070200ca	/* KEY_PROG3 */
574			0x070300cb	/* KEY_PROG4 */
575			0x0704003e	/* KEY_F4 */
576			0x070500f0	/* KEY_UNKNOWN */
577			0x07060160	/* KEY_OK */
578			0x0707006c>;	/* KEY_DOWN */
579	linux,input-no-autorepeat;
580};
581
582&uart2 {
583	interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
584			       &omap4_pmx_core OMAP4_UART2_RX>;
585	pinctrl-names = "default";
586	pinctrl-0 = <&uart2_pins>;
587};
588
589&uart3 {
590	interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
591			       &omap4_pmx_core OMAP4_UART3_RX>;
592	pinctrl-names = "default";
593	pinctrl-0 = <&uart3_pins>;
594};
595
596&uart4 {
597	interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
598			       &omap4_pmx_core OMAP4_UART4_RX>;
599	pinctrl-names = "default";
600	pinctrl-0 = <&uart4_pins>;
601};
602
603&mcbsp1 {
604	pinctrl-names = "default";
605	pinctrl-0 = <&mcbsp1_pins>;
606	status = "okay";
607};
608
609&mcbsp2 {
610	pinctrl-names = "default";
611	pinctrl-0 = <&mcbsp2_pins>;
612	status = "okay";
613};
614
615&dmic {
616	pinctrl-names = "default";
617	pinctrl-0 = <&dmic_pins>;
618	status = "okay";
619};
620
621&mcpdm {
622	pinctrl-names = "default";
623	pinctrl-0 = <&mcpdm_pins>;
624
625	clocks = <&twl6040>;
626	clock-names = "pdmclk";
627
628	status = "okay";
629};
630
631&twl_usb_comparator {
632	usb-supply = <&vusb>;
633};
634
635&usb_otg_hs {
636	interface-type = <1>;
637	mode = <3>;
638	power = <50>;
639};
640
641&dss {
642	status = "ok";
643};
644
645&dsi1 {
646	status = "ok";
647	vdd-supply = <&vcxio>;
648
649	port {
650		dsi1_out_ep: endpoint {
651			remote-endpoint = <&lcd0_in>;
652			lanes = <0 1 2 3 4 5>;
653		};
654	};
655
656	lcd0: display {
657		compatible = "tpo,taal", "panel-dsi-cm";
658		label = "lcd0";
659
660		reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>;	/* 102 */
661
662		port {
663			lcd0_in: endpoint {
664				remote-endpoint = <&dsi1_out_ep>;
665			};
666		};
667	};
668};
669
670&dsi2 {
671	status = "ok";
672	vdd-supply = <&vcxio>;
673
674	port {
675		dsi2_out_ep: endpoint {
676			remote-endpoint = <&lcd1_in>;
677			lanes = <0 1 2 3 4 5>;
678		};
679	};
680
681	lcd1: display {
682		compatible = "tpo,taal", "panel-dsi-cm";
683		label = "lcd1";
684
685		reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>;	/* 104 */
686
687		port {
688			lcd1_in: endpoint {
689				remote-endpoint = <&dsi2_out_ep>;
690			};
691		};
692	};
693};
694
695&hdmi {
696	status = "ok";
697	vdda-supply = <&vdac>;
698
699	port {
700		hdmi_out: endpoint {
701			remote-endpoint = <&tpd12s015_in>;
702		};
703	};
704};