Merge branch 'work.splice_read' of git://git.kernel.org/pub/scm/linux/kernel/git...
[cascardo/linux.git] / arch / arm / boot / dts / omap4-sdp.dts
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_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                 #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 };