GNU Linux-libre 4.14.251-gnu1
[releases.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                 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 };