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