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