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