Merge tag 'pwm/for-5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry...
[sfrench/cifs-2.6.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                 pinctrl-names = "default";
30                 pinctrl-0 = <&enet_enable_gpio>;
31
32                 compatible = "regulator-fixed";
33                 regulator-name = "VDD_ETH";
34                 regulator-min-microvolt = <3300000>;
35                 regulator-max-microvolt = <3300000>;
36                 gpio = <&gpio2 16 GPIO_ACTIVE_HIGH>;  /* gpio line 48 */
37                 enable-active-high;
38                 regulator-boot-on;
39                 startup-delay-us = <25000>;
40         };
41
42         vbat: fixedregulator-vbat {
43                 compatible = "regulator-fixed";
44                 regulator-name = "VBAT";
45                 regulator-min-microvolt = <3750000>;
46                 regulator-max-microvolt = <3750000>;
47                 regulator-boot-on;
48         };
49
50         leds {
51                 compatible = "gpio-leds";
52                 debug0 {
53                         label = "omap4:green:debug0";
54                         gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>; /* 61 */
55                 };
56
57                 debug1 {
58                         label = "omap4:green:debug1";
59                         gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; /* 30 */
60                 };
61
62                 debug2 {
63                         label = "omap4:green:debug2";
64                         gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; /* 7 */
65                 };
66
67                 debug3 {
68                         label = "omap4:green:debug3";
69                         gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* 8 */
70                 };
71
72                 debug4 {
73                         label = "omap4:green:debug4";
74                         gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; /* 50 */
75                 };
76
77                 user1 {
78                         label = "omap4:blue:user";
79                         gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* 169 */
80                 };
81
82                 user2 {
83                         label = "omap4:red:user";
84                         gpios = <&gpio6 10 GPIO_ACTIVE_HIGH>; /* 170 */
85                 };
86
87                 user3 {
88                         label = "omap4:green:user";
89                         gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* 139 */
90                 };
91         };
92
93         pwmleds {
94                 compatible = "pwm-leds";
95                 kpad {
96                         label = "omap4::keypad";
97                         pwms = <&twl_pwm 0 7812500>;
98                         max-brightness = <127>;
99                 };
100
101                 charging {
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: pinmux_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: pinmux_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: pinmux_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: pinmux_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         mcpdm_pins: pinmux_mcpdm_pins {
250                 pinctrl-single,pins = <
251                         OMAP4_IOPAD(0x106, PIN_INPUT_PULLDOWN | MUX_MODE0)      /* abe_pdm_ul_data.abe_pdm_ul_data */
252                         OMAP4_IOPAD(0x108, PIN_INPUT_PULLDOWN | MUX_MODE0)      /* abe_pdm_dl_data.abe_pdm_dl_data */
253                         OMAP4_IOPAD(0x10a, PIN_INPUT_PULLUP | MUX_MODE0)        /* abe_pdm_frame.abe_pdm_frame */
254                         OMAP4_IOPAD(0x10c, PIN_INPUT_PULLDOWN | MUX_MODE0)      /* abe_pdm_lb_clk.abe_pdm_lb_clk */
255                         OMAP4_IOPAD(0x10e, PIN_INPUT_PULLDOWN | MUX_MODE0)      /* abe_clks.abe_clks */
256                 >;
257         };
258
259         dmic_pins: pinmux_dmic_pins {
260                 pinctrl-single,pins = <
261                         OMAP4_IOPAD(0x110, PIN_OUTPUT | MUX_MODE0)              /* abe_dmic_clk1.abe_dmic_clk1 */
262                         OMAP4_IOPAD(0x112, PIN_INPUT | MUX_MODE0)               /* abe_dmic_din1.abe_dmic_din1 */
263                         OMAP4_IOPAD(0x114, PIN_INPUT | MUX_MODE0)               /* abe_dmic_din2.abe_dmic_din2 */
264                         OMAP4_IOPAD(0x116, PIN_INPUT | MUX_MODE0)               /* abe_dmic_din3.abe_dmic_din3 */
265                 >;
266         };
267
268         mcbsp1_pins: pinmux_mcbsp1_pins {
269                 pinctrl-single,pins = <
270                         OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0)               /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
271                         OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0)      /* abe_mcbsp1_dr.abe_mcbsp1_dr */
272                         OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0)     /* abe_mcbsp1_dx.abe_mcbsp1_dx */
273                         OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0)               /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
274                 >;
275         };
276
277         mcbsp2_pins: pinmux_mcbsp2_pins {
278                 pinctrl-single,pins = <
279                         OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0)               /* abe_mcbsp2_clkx.abe_mcbsp2_clkx */
280                         OMAP4_IOPAD(0x0f8, PIN_INPUT_PULLDOWN | MUX_MODE0)      /* abe_mcbsp2_dr.abe_mcbsp2_dr */
281                         OMAP4_IOPAD(0x0fa, PIN_OUTPUT_PULLDOWN | MUX_MODE0)     /* abe_mcbsp2_dx.abe_mcbsp2_dx */
282                         OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0)               /* abe_mcbsp2_fsx.abe_mcbsp2_fsx */
283                 >;
284         };
285
286         mcspi1_pins: pinmux_mcspi1_pins {
287                 pinctrl-single,pins = <
288                         OMAP4_IOPAD(0x132, PIN_INPUT | MUX_MODE0)               /*  mcspi1_clk.mcspi1_clk */
289                         OMAP4_IOPAD(0x134, PIN_INPUT | MUX_MODE0)               /*  mcspi1_somi.mcspi1_somi */
290                         OMAP4_IOPAD(0x136, PIN_INPUT | MUX_MODE0)               /*  mcspi1_simo.mcspi1_simo */
291                         OMAP4_IOPAD(0x138, PIN_INPUT | MUX_MODE0)               /*  mcspi1_cs0.mcspi1_cs0 */
292                 >;
293         };
294
295         dss_hdmi_pins: pinmux_dss_hdmi_pins {
296                 pinctrl-single,pins = <
297                         OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0)               /* hdmi_cec.hdmi_cec */
298                         OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0)        /* hdmi_scl.hdmi_scl */
299                         OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0)        /* hdmi_sda.hdmi_sda */
300                 >;
301         };
302
303         tpd12s015_pins: pinmux_tpd12s015_pins {
304                 pinctrl-single,pins = <
305                         OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3)              /* gpmc_a17.gpio_41 */
306                         OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3)              /* gpmc_nbe1.gpio_60 */
307                         OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3)      /* hdmi_hpd.gpio_63 */
308                 >;
309         };
310
311         i2c1_pins: pinmux_i2c1_pins {
312                 pinctrl-single,pins = <
313                         OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c1_scl */
314                         OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c1_sda */
315                 >;
316         };
317
318         i2c2_pins: pinmux_i2c2_pins {
319                 pinctrl-single,pins = <
320                         OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c2_scl */
321                         OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c2_sda */
322                 >;
323         };
324
325         i2c3_pins: pinmux_i2c3_pins {
326                 pinctrl-single,pins = <
327                         OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c3_scl */
328                         OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c3_sda */
329                 >;
330         };
331
332         i2c4_pins: pinmux_i2c4_pins {
333                 pinctrl-single,pins = <
334                         OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c4_scl */
335                         OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c4_sda */
336                 >;
337         };
338
339         /* wl12xx GPIO output for WLAN_EN */
340         wl12xx_gpio: pinmux_wl12xx_gpio {
341                 pinctrl-single,pins = <
342                         OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3)              /* gpmc_nwp.gpio_54 */
343                 >;
344         };
345
346         /* wl12xx GPIO inputs and SDIO pins */
347         wl12xx_pins: pinmux_wl12xx_pins {
348                 pinctrl-single,pins = <
349                         OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3)               /* gpmc_ncs3.gpio_53 */
350                         OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc5_clk.sdmmc5_clk */
351                         OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc5_cmd.sdmmc5_cmd */
352                         OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc5_dat0.sdmmc5_dat0 */
353                         OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc5_dat1.sdmmc5_dat1 */
354                         OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc5_dat2.sdmmc5_dat2 */
355                         OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc5_dat3.sdmmc5_dat3 */
356                 >;
357         };
358
359         /* gpio_48 for ENET_ENABLE */
360         enet_enable_gpio: pinmux_enet_enable_gpio {
361                 pinctrl-single,pins = <
362                         OMAP4_IOPAD(0x070, PIN_OUTPUT_PULLDOWN | MUX_MODE3)     /* gpmc_a24.gpio_48 */
363                 >;
364         };
365
366         ks8851_pins: pinmux_ks8851_pins {
367                 pinctrl-single,pins = <
368                         /* ENET_INT */
369                         OMAP4_IOPAD(0x054, PIN_INPUT_PULLUP | MUX_MODE3)        /* gpmc_ad10.gpio_34 */
370                         /*
371                          * Misterious pin which makes the ethernet working
372                          * The legacy board file requested this pin on boot
373                          * (ETH_KS8851_QUART) and set it to high, similarly to
374                          * the ENET_ENABLE pin.
375                          * We could use gpio-hog to keep it high, but let's use
376                          * it as a reset GPIO for ks8851.
377                          */
378                         OMAP4_IOPAD(0x13a, PIN_OUTPUT_PULLUP | MUX_MODE3)       /* mcspi1_cs1.gpio_138 */
379                 >;
380         };
381 };
382
383 &i2c1 {
384         pinctrl-names = "default";
385         pinctrl-0 = <&i2c1_pins>;
386
387         clock-frequency = <400000>;
388
389         twl: twl@48 {
390                 reg = <0x48>;
391                 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
392                 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
393         };
394
395         twl6040: twl@4b {
396                 compatible = "ti,twl6040";
397                 #clock-cells = <0>;
398                 reg = <0x4b>;
399
400                 pinctrl-names = "default";
401                 pinctrl-0 = <&twl6040_pins>;
402
403                 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
404                 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
405                 ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>;  /* gpio line 127 */
406
407                 vio-supply = <&v1v8>;
408                 v2v1-supply = <&v2v1>;
409                 enable-active-high;
410
411                 /* regulators for vibra motor */
412                 vddvibl-supply = <&vbat>;
413                 vddvibr-supply = <&vbat>;
414
415                 vibra {
416                         /* Vibra driver, motor resistance parameters */
417                         ti,vibldrv-res = <8>;
418                         ti,vibrdrv-res = <3>;
419                         ti,viblmotor-res = <10>;
420                         ti,vibrmotor-res = <10>;
421                 };
422         };
423 };
424
425 #include "twl6030.dtsi"
426 #include "twl6030_omap4.dtsi"
427
428 &i2c2 {
429         pinctrl-names = "default";
430         pinctrl-0 = <&i2c2_pins>;
431
432         clock-frequency = <400000>;
433 };
434
435 &i2c3 {
436         pinctrl-names = "default";
437         pinctrl-0 = <&i2c3_pins>;
438
439         clock-frequency = <400000>;
440
441         /*
442          * Temperature Sensor
443          * http://www.ti.com/lit/ds/symlink/tmp105.pdf
444          */
445         tmp105@48 {
446                 compatible = "ti,tmp105";
447                 reg = <0x48>;
448         };
449
450         /*
451          * Ambient Light Sensor
452          * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
453          */
454         bh1780@29 {
455                 compatible = "rohm,bh1780";
456                 reg = <0x29>;
457         };
458 };
459
460 &i2c4 {
461         pinctrl-names = "default";
462         pinctrl-0 = <&i2c4_pins>;
463
464         clock-frequency = <400000>;
465
466         /*
467          * 3-Axis Digital Compass
468          * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
469          */
470         hmc5843@1e {
471                 compatible = "honeywell,hmc5843";
472                 reg = <0x1e>;
473         };
474 };
475
476 &mcspi1 {
477         pinctrl-names = "default";
478         pinctrl-0 = <&mcspi1_pins>;
479
480         eth@0 {
481                 pinctrl-names = "default";
482                 pinctrl-0 = <&ks8851_pins>;
483
484                 compatible = "ks8851";
485                 spi-max-frequency = <24000000>;
486                 reg = <0>;
487                 interrupt-parent = <&gpio2>;
488                 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; /* gpio line 34 */
489                 vdd-supply = <&vdd_eth>;
490                 reset-gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>;
491         };
492 };
493
494 &mmc1 {
495         vmmc-supply = <&vmmc>;
496         bus-width = <8>;
497 };
498
499 &mmc2 {
500         vmmc-supply = <&vaux1>;
501         bus-width = <8>;
502         ti,non-removable;
503 };
504
505 &mmc3 {
506         status = "disabled";
507 };
508
509 &mmc4 {
510         status = "disabled";
511 };
512
513 &mmc5 {
514         pinctrl-names = "default";
515         pinctrl-0 = <&wl12xx_pins>;
516         vmmc-supply = <&wl12xx_vmmc>;
517         non-removable;
518         bus-width = <4>;
519         cap-power-off-card;
520
521         #address-cells = <1>;
522         #size-cells = <0>;
523         wlcore: wlcore@2 {
524                 compatible = "ti,wl1281";
525                 reg = <2>;
526                 interrupt-parent = <&gpio1>;
527                 interrupts = <21 IRQ_TYPE_EDGE_RISING>; /* gpio 53 */
528                 ref-clock-frequency = <26000000>;
529                 tcxo-clock-frequency = <26000000>;
530         };
531 };
532
533 &emif1 {
534         cs1-used;
535         device-handle = <&elpida_ECB240ABACN>;
536 };
537
538 &emif2 {
539         cs1-used;
540         device-handle = <&elpida_ECB240ABACN>;
541 };
542
543 &keypad {
544         keypad,num-rows = <8>;
545         keypad,num-columns = <8>;
546         linux,keymap = <0x00000012      /* KEY_E */
547                         0x00010013      /* KEY_R */
548                         0x00020014      /* KEY_T */
549                         0x00030066      /* KEY_HOME */
550                         0x0004003f      /* KEY_F5 */
551                         0x000500f0      /* KEY_UNKNOWN */
552                         0x00060017      /* KEY_I */
553                         0x0007002a      /* KEY_LEFTSHIFT */
554                         0x01000020      /* KEY_D*/
555                         0x01010021      /* KEY_F */
556                         0x01020022      /* KEY_G */
557                         0x010300e7      /* KEY_SEND */
558                         0x01040040      /* KEY_F6 */
559                         0x010500f0      /* KEY_UNKNOWN */
560                         0x01060025      /* KEY_K */
561                         0x0107001c      /* KEY_ENTER */
562                         0x0200002d      /* KEY_X */
563                         0x0201002e      /* KEY_C */
564                         0x0202002f      /* KEY_V */
565                         0x0203006b      /* KEY_END */
566                         0x02040041      /* KEY_F7 */
567                         0x020500f0      /* KEY_UNKNOWN */
568                         0x02060034      /* KEY_DOT */
569                         0x0207003a      /* KEY_CAPSLOCK */
570                         0x0300002c      /* KEY_Z */
571                         0x0301004e      /* KEY_KPLUS */
572                         0x03020030      /* KEY_B */
573                         0x0303003b      /* KEY_F1 */
574                         0x03040042      /* KEY_F8 */
575                         0x030500f0      /* KEY_UNKNOWN */
576                         0x03060018      /* KEY_O */
577                         0x03070039      /* KEY_SPACE */
578                         0x04000011      /* KEY_W */
579                         0x04010015      /* KEY_Y */
580                         0x04020016      /* KEY_U */
581                         0x0403003c      /* KEY_F2 */
582                         0x04040073      /* KEY_VOLUMEUP */
583                         0x040500f0      /* KEY_UNKNOWN */
584                         0x04060026      /* KEY_L */
585                         0x04070069      /* KEY_LEFT */
586                         0x0500001f      /* KEY_S */
587                         0x05010023      /* KEY_H */
588                         0x05020024      /* KEY_J */
589                         0x0503003d      /* KEY_F3 */
590                         0x05040043      /* KEY_F9 */
591                         0x05050072      /* KEY_VOLUMEDOWN */
592                         0x05060032      /* KEY_M */
593                         0x0507006a      /* KEY_RIGHT */
594                         0x06000010      /* KEY_Q */
595                         0x0601001e      /* KEY_A */
596                         0x06020031      /* KEY_N */
597                         0x0603009e      /* KEY_BACK */
598                         0x0604000e      /* KEY_BACKSPACE */
599                         0x060500f0      /* KEY_UNKNOWN */
600                         0x06060019      /* KEY_P */
601                         0x06070067      /* KEY_UP */
602                         0x07000094      /* KEY_PROG1 */
603                         0x07010095      /* KEY_PROG2 */
604                         0x070200ca      /* KEY_PROG3 */
605                         0x070300cb      /* KEY_PROG4 */
606                         0x0704003e      /* KEY_F4 */
607                         0x070500f0      /* KEY_UNKNOWN */
608                         0x07060160      /* KEY_OK */
609                         0x0707006c>;    /* KEY_DOWN */
610         linux,input-no-autorepeat;
611 };
612
613 &uart2 {
614         interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
615                                &omap4_pmx_core OMAP4_UART2_RX>;
616         pinctrl-names = "default";
617         pinctrl-0 = <&uart2_pins>;
618 };
619
620 &uart3 {
621         interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
622                                &omap4_pmx_core OMAP4_UART3_RX>;
623         pinctrl-names = "default";
624         pinctrl-0 = <&uart3_pins>;
625 };
626
627 &uart4 {
628         interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
629                                &omap4_pmx_core OMAP4_UART4_RX>;
630         pinctrl-names = "default";
631         pinctrl-0 = <&uart4_pins>;
632 };
633
634 &mcbsp1 {
635         pinctrl-names = "default";
636         pinctrl-0 = <&mcbsp1_pins>;
637         status = "okay";
638 };
639
640 &mcbsp2 {
641         pinctrl-names = "default";
642         pinctrl-0 = <&mcbsp2_pins>;
643         status = "okay";
644 };
645
646 &dmic {
647         pinctrl-names = "default";
648         pinctrl-0 = <&dmic_pins>;
649         status = "okay";
650 };
651
652 &mcpdm {
653         pinctrl-names = "default";
654         pinctrl-0 = <&mcpdm_pins>;
655
656         clocks = <&twl6040>;
657         clock-names = "pdmclk";
658
659         status = "okay";
660 };
661
662 &twl_usb_comparator {
663         usb-supply = <&vusb>;
664 };
665
666 &usb_otg_hs {
667         interface-type = <1>;
668         mode = <3>;
669         power = <50>;
670 };
671
672 &dss {
673         status = "ok";
674 };
675
676 &dsi1 {
677         status = "ok";
678         vdd-supply = <&vcxio>;
679
680         port {
681                 dsi1_out_ep: endpoint {
682                         remote-endpoint = <&lcd0_in>;
683                         lanes = <0 1 2 3 4 5>;
684                 };
685         };
686
687         lcd0: display {
688                 compatible = "tpo,taal", "panel-dsi-cm";
689                 label = "lcd0";
690
691                 reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>;      /* 102 */
692
693                 port {
694                         lcd0_in: endpoint {
695                                 remote-endpoint = <&dsi1_out_ep>;
696                         };
697                 };
698         };
699 };
700
701 &dsi2 {
702         status = "ok";
703         vdd-supply = <&vcxio>;
704
705         port {
706                 dsi2_out_ep: endpoint {
707                         remote-endpoint = <&lcd1_in>;
708                         lanes = <0 1 2 3 4 5>;
709                 };
710         };
711
712         lcd1: display {
713                 compatible = "tpo,taal", "panel-dsi-cm";
714                 label = "lcd1";
715
716                 reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>;      /* 104 */
717
718                 port {
719                         lcd1_in: endpoint {
720                                 remote-endpoint = <&dsi2_out_ep>;
721                         };
722                 };
723         };
724 };
725
726 &hdmi {
727         status = "ok";
728         vdda-supply = <&vdac>;
729
730         port {
731                 hdmi_out: endpoint {
732                         remote-endpoint = <&tpd12s015_in>;
733                 };
734         };
735 };