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