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