Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / arch / arm / boot / dts / omap3-pandora-common.dtsi
1 /*
2  * Copyright (C) 2015
3  *   Nikolaus Schaller <hns@goldelico.com>
4  *
5  * Common device tree include for OpenPandora devices.
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  */
11
12 #include <dt-bindings/input/input.h>
13
14 / {
15         cpus {
16                 cpu@0 {
17                         cpu0-supply = <&vcc>;
18                 };
19         };
20
21         memory {
22                 device_type = "memory";
23                 reg = <0x80000000 0x20000000>; /* 512 MB */
24         };
25
26         aliases {
27                 display0 = &lcd;
28         };
29
30         tv: connector@1 {
31                 compatible = "connector-analog-tv";
32                 label = "tv";
33
34                 port {
35                         tv_connector_in: endpoint {
36                                 remote-endpoint = <&venc_out>;
37                         };
38                 };
39         };
40
41         gpio-leds {
42
43                 compatible = "gpio-leds";
44
45                 pinctrl-names = "default";
46                 pinctrl-0 = <&led_pins>;
47
48                 led@1 {
49                         label = "pandora::sd1";
50                         gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>;    /* GPIO_128 */
51                         linux,default-trigger = "mmc0";
52                         default-state = "off";
53                 };
54
55                 led@2 {
56                         label = "pandora::sd2";
57                         gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;    /* GPIO_129 */
58                         linux,default-trigger = "mmc1";
59                         default-state = "off";
60                 };
61
62                 led@3 {
63                         label = "pandora::bluetooth";
64                         gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>;   /* GPIO_158 */
65                         linux,default-trigger = "heartbeat";
66                         default-state = "off";
67                 };
68
69                 led@4 {
70                         label = "pandora::wifi";
71                         gpios = <&gpio5 31 GPIO_ACTIVE_HIGH>;   /* GPIO_159 */
72                         linux,default-trigger = "mmc2";
73                         default-state = "off";
74                 };
75         };
76
77         gpio-keys {
78                 compatible = "gpio-keys";
79
80                 pinctrl-names = "default";
81                 pinctrl-0 = <&button_pins>;
82
83                 up-button {
84                         label = "up";
85                         linux,code = <KEY_UP>;
86                         gpios = <&gpio4 14 GPIO_ACTIVE_LOW>;    /* GPIO_110 */
87                         gpio-key,wakeup;
88                 };
89
90                 down-button {
91                         label = "down";
92                         linux,code = <KEY_DOWN>;
93                         gpios = <&gpio4 7 GPIO_ACTIVE_LOW>;     /* GPIO_103 */
94                         gpio-key,wakeup;
95                 };
96
97                 left-button {
98                         label = "left";
99                         linux,code = <KEY_LEFT>;
100                         gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;     /* GPIO_96 */
101                         gpio-key,wakeup;
102                 };
103
104                 right-button {
105                         label = "right";
106                         linux,code = <KEY_RIGHT>;
107                         gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;     /* GPIO_98 */
108                         gpio-key,wakeup;
109                 };
110
111                 pageup-button {
112                         label = "game 1";
113                         linux,code = <KEY_PAGEUP>;
114                         gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;    /* GPIO_109 */
115                         gpio-key,wakeup;
116                 };
117
118                 pagedown-button {
119                         label = "game 3";
120                         linux,code = <KEY_PAGEDOWN>;
121                         gpios = <&gpio4 10 GPIO_ACTIVE_LOW>;    /* GPIO_106 */
122                         gpio-key,wakeup;
123                 };
124
125                 home-button {
126                         label = "game 4";
127                         linux,code = <KEY_HOME>;
128                         gpios = <&gpio4 5 GPIO_ACTIVE_LOW>;     /* GPIO_101 */
129                         gpio-key,wakeup;
130                 };
131
132                 end-button {
133                         label = "game 2";
134                         linux,code = <KEY_END>;
135                         gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;    /* GPIO_111 */
136                         gpio-key,wakeup;
137                 };
138
139                 right-shift {
140                         label = "l";
141                         linux,code = <KEY_RIGHTSHIFT>;
142                         gpios = <&gpio4 6 GPIO_ACTIVE_LOW>;     /* GPIO_102 */
143                         gpio-key,wakeup;
144                 };
145
146                 kp-plus {
147                         label = "l2";
148                         linux,code = <KEY_KPPLUS>;
149                         gpios = <&gpio4 1 GPIO_ACTIVE_LOW>;     /* GPIO_97 */
150                         gpio-key,wakeup;
151                 };
152
153                 right-ctrl {
154                         label = "r";
155                         linux,code = <KEY_RIGHTCTRL>;
156                         gpios = <&gpio4 9 GPIO_ACTIVE_LOW>;     /* GPIO_105 */
157                         gpio-key,wakeup;
158                 };
159
160                 kp-minus {
161                         label = "r2";
162                         linux,code = <KEY_KPMINUS>;
163                         gpios = <&gpio4 11 GPIO_ACTIVE_LOW>;    /* GPIO_107 */
164                         gpio-key,wakeup;
165                 };
166
167                 left-ctrl {
168                         label = "ctrl";
169                         linux,code = <KEY_LEFTCTRL>;
170                         gpios = <&gpio4 8 GPIO_ACTIVE_LOW>;     /* GPIO_104 */
171                         gpio-key,wakeup;
172                 };
173
174                 menu {
175                         label = "menu";
176                         linux,code = <KEY_MENU>;
177                         gpios = <&gpio4 3 GPIO_ACTIVE_LOW>;     /* GPIO_99 */
178                         gpio-key,wakeup;
179                 };
180
181                 hold {
182                         label = "hold";
183                         linux,code = <KEY_COFFEE>;
184                         gpios = <&gpio6 16 GPIO_ACTIVE_LOW>;    /* GPIO_176 */
185                         gpio-key,wakeup;
186                 };
187
188                 left-alt {
189                         label = "alt";
190                         linux,code = <KEY_LEFTALT>;
191                         gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>;    /* GPIO_100 */
192                         gpio-key,wakeup;
193                 };
194
195                 lid {
196                         label = "lid";
197                         linux,code = <0x00>;    /* SW_LID lid shut */
198                         linux,input-type = <0x05>;    /* EV_SW */
199                         gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>;   /* GPIO_108 */
200                 };
201         };
202 };
203
204 &omap3_pmx_core {
205
206         mmc1_pins: pinmux_mmc1_pins {
207                 pinctrl-single,pins = <
208                         OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_clk.sdmmc1_clk */
209                         OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_cmd.sdmmc1_cmd */
210                         OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat0.sdmmc1_dat0 */
211                         OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat1.sdmmc1_dat1 */
212                         OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat2.sdmmc1_dat2 */
213                         OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat3.sdmmc1_dat3 */
214                 >;
215         };
216
217         mmc2_pins: pinmux_mmc2_pins {
218                 pinctrl-single,pins = <
219                         OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc2_clk.sdmmc2_clk */
220                         OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc2_cmd.sdmmc2_cmd */
221                         OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc2_dat0.sdmmc2_dat0 */
222                         OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc2_dat1.sdmmc2_dat1 */
223                         OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc2_dat2.sdmmc2_dat2 */
224                         OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc2_dat3.sdmmc2_dat3 */
225                         OMAP3_CORE1_IOPAD(0x2164, PIN_OUTPUT_PULLUP | MUX_MODE1)        /* sdmmc2_dat4.sdmmc2_dirdat0 */
226                         OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT_PULLUP | MUX_MODE1)        /* sdmmc2_dat5.sdmmc2_dirdat1 */
227                         OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT_PULLUP | MUX_MODE1)        /* sdmmc2_dat6.sdmmc2_dircmd */
228                         OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE1)         /* sdmmc2_dat7.sdmmc2_clkin */
229                 >;
230         };
231
232         dss_dpi_pins: pinmux_dss_dpi_pins {
233                 pinctrl-single,pins = <
234                         OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0)       /* dss_pclk.dss_pclk */
235                         OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0)       /* dss_hsync.dss_hsync */
236                         OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0)       /* dss_vsync.dss_vsync */
237                         OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0)       /* dss_acbias.dss_acbias */
238                         OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0)       /* dss_data0.dss_data0 */
239                         OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0)       /* dss_data1.dss_data1 */
240                         OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0)       /* dss_data2.dss_data2 */
241                         OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0)       /* dss_data3.dss_data3 */
242                         OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0)       /* dss_data4.dss_data4 */
243                         OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0)       /* dss_data5.dss_data5 */
244                         OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0)       /* dss_data6.dss_data6 */
245                         OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0)       /* dss_data7.dss_data7 */
246                         OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0)       /* dss_data8.dss_data8 */
247                         OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0)       /* dss_data9.dss_data9 */
248                         OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0)       /* dss_data10.dss_data10 */
249                         OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0)       /* dss_data11.dss_data11 */
250                         OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0)       /* dss_data12.dss_data12 */
251                         OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0)       /* dss_data13.dss_data13 */
252                         OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0)       /* dss_data14.dss_data14 */
253                         OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0)       /* dss_data15.dss_data15 */
254                         OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0)       /* dss_data16.dss_data16 */
255                         OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0)       /* dss_data17.dss_data17 */
256                         OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0)       /* dss_data18.dss_data18 */
257                         OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0)       /* dss_data19.dss_data19 */
258                         OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0)       /* dss_data20.dss_data20 */
259                         OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0)       /* dss_data21.dss_data21 */
260                         OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0)       /* dss_data22.dss_data22 */
261                         OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0)       /* dss_data23.dss_data23 */
262                         OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE4)       /* GPIO_157 = lcd reset */
263                 >;
264         };
265
266         uart3_pins: pinmux_uart3_pins {
267                 pinctrl-single,pins = <
268                         OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
269                         OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */
270                 >;
271         };
272
273         led_pins: pinmux_leds_pins {
274                 pinctrl-single,pins = <
275                         OMAP3_CORE1_IOPAD(0x2154, PIN_OUTPUT | MUX_MODE4)       /* GPIO_128 */
276                         OMAP3_CORE1_IOPAD(0x2156, PIN_OUTPUT | MUX_MODE4)       /* GPIO_129 */
277                         OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE4)       /* GPIO_158 */
278                         OMAP3_CORE1_IOPAD(0x2192, PIN_OUTPUT | MUX_MODE4)       /* GPIO_159 */
279                 >;
280         };
281
282         button_pins: pinmux_button_pins {
283                 pinctrl-single,pins = <
284                         OMAP3_CORE1_IOPAD(0x2110, PIN_INPUT | MUX_MODE4)        /* GPIO_96 */
285                         OMAP3_CORE1_IOPAD(0x2112, PIN_INPUT | MUX_MODE4)        /* GPIO_97 */
286                         OMAP3_CORE1_IOPAD(0x2114, PIN_INPUT | MUX_MODE4)        /* GPIO_98 */
287                         OMAP3_CORE1_IOPAD(0x2116, PIN_INPUT | MUX_MODE4)        /* GPIO_99 */
288                         OMAP3_CORE1_IOPAD(0x2118, PIN_INPUT | MUX_MODE4)        /* GPIO_100 */
289                         OMAP3_CORE1_IOPAD(0x211a, PIN_INPUT | MUX_MODE4)        /* GPIO_101 */
290                         OMAP3_CORE1_IOPAD(0x211c, PIN_INPUT | MUX_MODE4)        /* GPIO_102 */
291                         OMAP3_CORE1_IOPAD(0x211e, PIN_INPUT | MUX_MODE4)        /* GPIO_103 */
292                         OMAP3_CORE1_IOPAD(0x2120, PIN_INPUT | MUX_MODE4)        /* GPIO_104 */
293                         OMAP3_CORE1_IOPAD(0x2122, PIN_INPUT | MUX_MODE4)        /* GPIO_105 */
294                         OMAP3_CORE1_IOPAD(0x2124, PIN_INPUT | MUX_MODE4)        /* GPIO_106 */
295                         OMAP3_CORE1_IOPAD(0x2126, PIN_INPUT | MUX_MODE4)        /* GPIO_107 */
296                         OMAP3_CORE1_IOPAD(0x2128, PIN_INPUT | MUX_MODE4)        /* GPIO_108 */
297                         OMAP3_CORE1_IOPAD(0x212a, PIN_INPUT | MUX_MODE4)        /* GPIO_109 */
298                         OMAP3_CORE1_IOPAD(0x212c, PIN_INPUT | MUX_MODE4)        /* GPIO_110 */
299                         OMAP3_CORE1_IOPAD(0x212e, PIN_INPUT | MUX_MODE4)        /* GPIO_111 */
300                         OMAP3_CORE1_IOPAD(0x21d2, PIN_INPUT | MUX_MODE4)        /* GPIO_176 */
301                 >;
302         };
303
304         penirq_pins: pinmux_penirq_pins {
305                 pinctrl-single,pins = <
306                         /* here we could enable to wakeup the cpu from suspend by a pen touch */
307                         OMAP3_CORE1_IOPAD(0x210c, PIN_INPUT | MUX_MODE4)        /* GPIO_94 */
308                 >;
309         };
310
311 };
312
313 &omap3_pmx_core2 {
314         /* define in CPU specific file that includes this one
315          * use either OMAP3430_CORE2_IOPAD() or OMAP3630_CORE2_IOPAD()
316          */
317 };
318
319 &i2c1 {
320         clock-frequency = <2600000>;
321
322         twl: twl@48 {
323                 reg = <0x48>;
324                 interrupts = <7>; /* SYS_NIRQ cascaded to intc */
325                 interrupt-parent = <&intc>;
326
327                 twl_power: power {
328                         compatible = "ti,twl4030-power-reset";
329                         ti,use_poweroff;
330                 };
331
332                 twl_audio: audio {
333                         compatible = "ti,twl4030-audio";
334
335                         codec {
336                                 ti,ramp_delay_value = <3>;
337                         };
338                 };
339         };
340 };
341
342 #include "twl4030.dtsi"
343 #include "twl4030_omap3.dtsi"
344
345 &twl_keypad {
346         keypad,num-rows = <8>;
347         keypad,num-columns = <6>;
348         linux,keymap = <
349                 MATRIX_KEY(0, 0, KEY_9)
350                 MATRIX_KEY(0, 1, KEY_8)
351                 MATRIX_KEY(0, 2, KEY_I)
352                 MATRIX_KEY(0, 3, KEY_J)
353                 MATRIX_KEY(0, 4, KEY_N)
354                 MATRIX_KEY(0, 5, KEY_M)
355                 MATRIX_KEY(1, 0, KEY_0)
356                 MATRIX_KEY(1, 1, KEY_7)
357                 MATRIX_KEY(1, 2, KEY_U)
358                 MATRIX_KEY(1, 3, KEY_H)
359                 MATRIX_KEY(1, 4, KEY_B)
360                 MATRIX_KEY(1, 5, KEY_SPACE)
361                 MATRIX_KEY(2, 0, KEY_BACKSPACE)
362                 MATRIX_KEY(2, 1, KEY_6)
363                 MATRIX_KEY(2, 2, KEY_Y)
364                 MATRIX_KEY(2, 3, KEY_G)
365                 MATRIX_KEY(2, 4, KEY_V)
366                 MATRIX_KEY(2, 5, KEY_FN)
367                 MATRIX_KEY(3, 0, KEY_O)
368                 MATRIX_KEY(3, 1, KEY_5)
369                 MATRIX_KEY(3, 2, KEY_T)
370                 MATRIX_KEY(3, 3, KEY_F)
371                 MATRIX_KEY(3, 4, KEY_C)
372                 MATRIX_KEY(4, 0, KEY_P)
373                 MATRIX_KEY(4, 1, KEY_4)
374                 MATRIX_KEY(4, 2, KEY_R)
375                 MATRIX_KEY(4, 3, KEY_D)
376                 MATRIX_KEY(4, 4, KEY_X)
377                 MATRIX_KEY(5, 0, KEY_K)
378                 MATRIX_KEY(5, 1, KEY_3)
379                 MATRIX_KEY(5, 2, KEY_E)
380                 MATRIX_KEY(5, 3, KEY_S)
381                 MATRIX_KEY(5, 4, KEY_Z)
382                 MATRIX_KEY(6, 0, KEY_L)
383                 MATRIX_KEY(6, 1, KEY_2)
384                 MATRIX_KEY(6, 2, KEY_W)
385                 MATRIX_KEY(6, 3, KEY_A)
386                 MATRIX_KEY(6, 4, KEY_RIGHTBRACE)
387                 MATRIX_KEY(7, 0, KEY_ENTER)
388                 MATRIX_KEY(7, 1, KEY_1)
389                 MATRIX_KEY(7, 2, KEY_Q)
390                 MATRIX_KEY(7, 3, KEY_LEFTSHIFT)
391                 MATRIX_KEY(7, 4, KEY_LEFTBRACE )
392          >;
393 };
394
395 /* backup battery charger */
396 &charger {
397         ti,bb-uvolt = <3200000>;
398         ti,bb-uamp = <150>;
399 };
400
401 /* MMC2 */
402 &vmmc2 {
403         regulator-min-microvolt = <1850000>;
404         regulator-max-microvolt = <3150000>;
405 };
406
407 /* LCD */
408 &vaux1 {
409         regulator-min-microvolt = <3000000>;
410         regulator-max-microvolt = <3000000>;
411 };
412
413 /* USB Host PHY */
414 &vaux2 {
415         regulator-min-microvolt = <1800000>;
416         regulator-max-microvolt = <1800000>;
417 };
418
419 /* available on expansion connector */
420 &vaux3 {
421         regulator-min-microvolt = <2800000>;
422         regulator-max-microvolt = <2800000>;
423 };
424
425 /* ADS7846 and nubs */
426 &vaux4 {
427         regulator-min-microvolt = <2800000>;
428         regulator-max-microvolt = <2800000>;
429 };
430
431 /* power audio DAC and LID sensor */
432 &vsim {
433         regulator-min-microvolt = <2800000>;
434         regulator-max-microvolt = <2800000>;
435         regulator-always-on;
436 };
437
438 &i2c2 {
439         clock-frequency = <100000>;
440         /* no clients so we should disable clock */
441 };
442
443 &i2c3 {
444         clock-frequency = <100000>;
445
446         bq27500@55 {
447                 compatible = "ti,bq27500";
448                 reg = <0x55>;
449         };
450
451 };
452
453 &usb_otg_hs {
454         interface-type = <0>;
455         usb-phy = <&usb2_phy>;
456         phys = <&usb2_phy>;
457         phy-names = "usb2-phy";
458         mode = <3>;
459         power = <50>;
460 };
461
462 &mmc1 {
463         pinctrl-names = "default";
464         pinctrl-0 = <&mmc1_pins>;
465         vmmc-supply = <&vmmc1>;
466         bus-width = <4>;
467         cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_LOW>;
468         wp-gpios = <&gpio4 30 GPIO_ACTIVE_LOW>; /* GPIO_126 */
469 };
470
471 &mmc2 {
472         pinctrl-names = "default";
473         pinctrl-0 = <&mmc2_pins>;
474         vmmc-supply = <&vmmc2>;
475         bus-width = <4>;
476         cd-gpios = <&twl_gpio 1 GPIO_ACTIVE_HIGH>;
477         wp-gpios = <&gpio4 31 GPIO_ACTIVE_LOW>; /* GPIO_127 */
478 };
479
480 /* bluetooth*/
481 &uart1 {
482 };
483
484 /* spare (expansion connector) */
485 &uart2 {
486 };
487
488 /* console (expansion connector) */
489 &uart3 {
490         pinctrl-names = "default";
491         pinctrl-0 = <&uart3_pins>;
492         interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
493 };
494
495 &usbhshost {
496         port2-mode = "ehci-phy";
497 };
498
499 &gpmc {
500         ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */
501
502         nand@0,0 {
503                 reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
504                 nand-bus-width = <16>;
505                 ti,nand-ecc-opt = "sw";
506
507                 gpmc,sync-clk-ps = <0>;
508                 gpmc,cs-on-ns = <0>;
509                 gpmc,cs-rd-off-ns = <44>;
510                 gpmc,cs-wr-off-ns = <44>;
511                 gpmc,adv-on-ns = <6>;
512                 gpmc,adv-rd-off-ns = <34>;
513                 gpmc,adv-wr-off-ns = <44>;
514                 gpmc,we-off-ns = <40>;
515                 gpmc,oe-off-ns = <54>;
516                 gpmc,access-ns = <64>;
517                 gpmc,rd-cycle-ns = <82>;
518                 gpmc,wr-cycle-ns = <82>;
519                 gpmc,wr-access-ns = <40>;
520                 gpmc,wr-data-mux-bus-ns = <0>;
521                 gpmc,device-width = <2>;
522
523                 #address-cells = <1>;
524                 #size-cells = <1>;
525
526                 /* u-boot uses mtdparts=nand:512k(xloader),1920k(uboot),128k(uboot-env),10m(boot),-(rootfs) */
527
528                 x-loader@0 {
529                         label = "xloader";
530                         reg = <0 0x80000>;
531                 };
532
533                 bootloaders@80000 {
534                         label = "uboot";
535                         reg = <0x80000 0x1e0000>;
536                 };
537
538                 bootloaders_env@260000 {
539                         label = "uboot-env";
540                         reg = <0x260000 0x20000>;
541                 };
542
543                 kernel@280000 {
544                         label = "boot";
545                         reg = <0x280000 0xa00000>;
546                 };
547
548                 filesystem@680000 {
549                         label = "rootfs";
550                         reg = <0xc80000 0>;     /* 0 = MTDPART_SIZ_FULL */
551                 };
552         };
553 };
554
555 &mcspi1 {
556         tsc2046@0 {
557                 reg = <0>;      /* CS0 */
558                 compatible = "ti,tsc2046";
559                 spi-max-frequency = <1000000>;
560                 pinctrl-names = "default";
561                 pinctrl-0 = <&penirq_pins>;
562                 interrupt-parent = <&gpio3>;
563                 interrupts = <30 0>;    /* GPIO_94 */
564                 pendown-gpio = <&gpio3 30 0>;
565                 vcc-supply = <&vaux4>;
566
567                 ti,x-min = /bits/ 16 <0>;
568                 ti,x-max = /bits/ 16 <8000>;
569                 ti,y-min = /bits/ 16 <0>;
570                 ti,y-max = /bits/ 16 <4800>;
571                 ti,x-plate-ohms = /bits/ 16 <40>;
572                 ti,pressure-max = /bits/ 16 <255>;
573
574                 linux,wakeup;
575         };
576
577         lcd: lcd@1 {
578                 reg = <1>;      /* CS1 */
579                 compatible =    "omapdss,tpo,td043mtea1";
580                 spi-max-frequency = <100000>;
581                 spi-cpol;
582                 spi-cpha;
583
584                 label = "lcd";
585                 reset-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;      /* GPIO_157 */
586                 vcc-supply = <&vaux1>;
587
588                 port {
589                         lcd_in: endpoint {
590                                 remote-endpoint = <&dpi_out>;
591                         };
592                 };
593         };
594
595
596 };
597
598 /* n/a - used as GPIOs */
599 &mcbsp1 {
600 };
601
602 /* audio DAC */
603 &mcbsp2 {
604 };
605
606 /* bluetooth */
607 &mcbsp3 {
608 };
609
610 /* to twl4030*/
611 &mcbsp4 {
612 };
613
614 &venc {
615         status = "ok";
616
617         vdda-supply = <&vdac>;
618
619         port {
620                 venc_out: endpoint {
621                         remote-endpoint = <&tv_connector_in>;
622                         ti,channels = <2>;
623                 };
624         };
625 };
626
627 &dss {
628         pinctrl-names = "default";
629         pinctrl-0 = < &dss_dpi_pins >;
630
631         status = "ok";
632         vdds_dsi-supply = <&vpll2>;
633
634         port {
635                 dpi_out: endpoint {
636                         remote-endpoint = <&lcd_in>;
637                         data-lines = <24>;
638                 };
639         };
640 };