eef42ed38ed82127724a152eb63d1bbeaa10dc20
[openwrt.git] / target / linux / imx6 / files-3.10 / arch / arm / boot / dts / imx6dl-gw52xx.dts
1 /*
2  * Copyright 2013 Gateworks Corporation
3  *
4  * The code contained herein is licensed under the GNU General Public
5  * License. You may obtain a copy of the GNU General Public License
6  * Version 2 or later at the following locations:
7  *
8  * http://www.opensource.org/licenses/gpl-license.html
9  * http://www.gnu.org/copyleft/gpl.html
10  */
11
12 /dts-v1/;
13 #include "imx6dl.dtsi"
14
15 / {
16         model = "Gateworks Ventana i.MX6 DualLite GW52XX";
17         compatible = "gw,imx6dl-gw52xx", "gw,ventana", "fsl,imx6dl";
18
19         /* these are used by bootloader for disabling nodes */
20         aliases {
21                 can0 = &can1;
22                 ethernet0 = &fec;
23                 i2c0 = &i2c1;
24                 i2c1 = &i2c2;
25                 i2c2 = &i2c3;
26                 led0 = &led0;
27                 led1 = &led1;
28                 led2 = &led2;
29                 nand = &gpmi;
30                 ssi0 = &ssi1;
31                 usb0 = &usbh1;
32                 usb1 = &usbotg;
33                 usdhc2 = &usdhc3;
34         };
35
36         memory {
37                 reg = <0x10000000 0x20000000>;
38         };
39
40         leds {
41                 compatible = "gpio-leds";
42
43                 led0: user1 {
44                         label = "user1";
45                         gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
46                         default-state = "on";
47                         linux,default-trigger = "heartbeat";
48                 };
49
50                 led1: user2 {
51                         label = "user2";
52                         gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
53                         default-state = "off";
54                 };
55
56                 led2: user3 {
57                         label = "user3";
58                         gpios = <&gpio4 15 1>; /* 111 - MX6_LOCLED# */
59                         default-state = "off";
60                 };
61         };
62
63         regulators {
64                 compatible = "simple-bus";
65
66                 reg_1p0v: 1p0v {
67                         compatible = "regulator-fixed";
68                         regulator-name = "1P0V";
69                         regulator-min-microvolt = <1000000>;
70                         regulator-max-microvolt = <1000000>;
71                         regulator-always-on;
72                 };
73
74                 /* remove this fixed regulator once ltc3676__sw2 driver available */
75                 reg_1p8v: 1p8v {
76                         compatible = "regulator-fixed";
77                         regulator-name = "1P8V";
78                         regulator-min-microvolt = <1800000>;
79                         regulator-max-microvolt = <1800000>;
80                         regulator-always-on;
81                 };
82
83                 reg_3p3v: 3p3v {
84                         compatible = "regulator-fixed";
85                         regulator-name = "3P3V";
86                         regulator-min-microvolt = <3300000>;
87                         regulator-max-microvolt = <3300000>;
88                         regulator-always-on;
89                 };
90
91                 reg_5p0v: 5p0v {
92                         compatible = "regulator-fixed";
93                         regulator-name = "5P0V";
94                         regulator-min-microvolt = <5000000>;
95                         regulator-max-microvolt = <5000000>;
96                         regulator-always-on;
97                 };
98
99                 reg_usb_otg_vbus: usb_otg_vbus {
100                         compatible = "regulator-fixed";
101                         regulator-name = "usb_otg_vbus";
102                         regulator-min-microvolt = <5000000>;
103                         regulator-max-microvolt = <5000000>;
104                         gpio = <&gpio3 22 0>;
105                         enable-active-high;
106                 };
107         };
108
109         sound {
110                 compatible = "fsl,imx6q-sabrelite-sgtl5000",
111                              "fsl,imx-audio-sgtl5000";
112                 model = "imx6q-sabrelite-sgtl5000";
113                 ssi-controller = <&ssi1>;
114                 audio-codec = <&codec>;
115                 audio-routing =
116                         "MIC_IN", "Mic Jack",
117                         "Mic Jack", "Mic Bias",
118                         "Headphone Jack", "HP_OUT";
119                 mux-int-port = <1>;
120                 mux-ext-port = <4>;
121         };
122 };
123
124 &audmux {
125         pinctrl-names = "default";
126         pinctrl-0 = <&pinctrl_audmux_1>;
127         status = "okay";
128 };
129
130 &can1 {
131         pinctrl-names = "default";
132         pinctrl-0 = <&pinctrl_flexcan1_1>;
133         status = "okay";
134 };
135
136 &fec {
137         pinctrl-names = "default";
138         pinctrl-0 = <&pinctrl_enet_1>;
139         phy-mode = "rgmii";
140         phy-reset-gpios = <&gpio1 30 0>;
141         status = "okay";
142 };
143
144 &gpmi {
145         pinctrl-names = "default";
146         pinctrl-0 = <&pinctrl_gpmi_nand_2>;
147         status = "okay";
148 };
149
150 &i2c1 {
151         clock-frequency = <100000>;
152         pinctrl-names = "default";
153         pinctrl-0 = <&pinctrl_i2c1_1>;
154         status = "okay";
155
156         eeprom1: eeprom@50 {
157                 compatible = "atmel,24c02";
158                 reg = <0x50>;
159                 pagesize = <16>;
160         };
161
162         eeprom2: eeprom@51 {
163                 compatible = "atmel,24c02";
164                 reg = <0x51>;
165                 pagesize = <16>;
166         };
167
168         eeprom3: eeprom@52 {
169                 compatible = "atmel,24c02";
170                 reg = <0x52>;
171                 pagesize = <16>;
172         };
173
174         eeprom4: eeprom@53 {
175                 compatible = "atmel,24c02";
176                 reg = <0x53>;
177                 pagesize = <16>;
178         };
179
180         gpio: pca9555@23 {
181                 compatible = "nxp,pca9555";
182                 reg = <0x23>;
183                 gpio-controller;
184                 #gpio-cells = <2>;
185         };
186
187         hwmon: gsc@29 {
188                 compatible = "gw,gsp";
189                 reg = <0x29>;
190         };
191
192         rtc: ds1672@68 {
193                 compatible = "dallas,ds1672";
194                 reg = <0x68>;
195         };
196 };
197
198 &i2c2 {
199         clock-frequency = <100000>;
200         pinctrl-names = "default";
201         pinctrl-0 = <&pinctrl_i2c2_2>;
202         status = "okay";
203
204         pciswitch: pex8609@3f {
205                 compatible = "plx,pex8609";
206                 reg = <0x3f>;
207         };
208
209         pmic: ltc3676@3c {
210                 compatible = "ltc,ltc3676";
211                 reg = <0x3c>;
212
213                 regulators {
214                         sw1_reg: ltc3676__sw1 {
215                                 regulator-min-microvolt = <1175000>;
216                                 regulator-max-microvolt = <1175000>;
217                                 regulator-boot-on;
218                                 regulator-always-on;
219                         };
220
221                         sw2_reg: ltc3676__sw2 {
222                                 regulator-min-microvolt = <1800000>;
223                                 regulator-max-microvolt = <1800000>;
224                                 regulator-boot-on;
225                                 regulator-always-on;
226                         };
227
228                         sw3_reg: ltc3676__sw3 {
229                                 regulator-min-microvolt = <1175000>;
230                                 regulator-max-microvolt = <1175000>;
231                                 regulator-boot-on;
232                                 regulator-always-on;
233                         };
234
235                         sw4_reg: ltc3676__sw4 {
236                                 regulator-min-microvolt = <1500000>;
237                                 regulator-max-microvolt = <1500000>;
238                                 regulator-boot-on;
239                                 regulator-always-on;
240                         };
241
242                         ldo2_reg: ltc3676__ldo2 {
243                                 regulator-min-microvolt = <2500000>;
244                                 regulator-max-microvolt = <2500000>;
245                                 regulator-boot-on;
246                                 regulator-always-on;
247                         };
248
249                         ldo3_reg: ltc3676__ldo3 {
250                                 regulator-min-microvolt = <1800000>;
251                                 regulator-max-microvolt = <1800000>;
252                                 regulator-boot-on;
253                                 regulator-always-on;
254                         };
255
256                         ldo4_reg: ltc3676__ldo4 {
257                                 regulator-min-microvolt = <3000000>;
258                                 regulator-max-microvolt = <3000000>;
259                         };
260                 };
261         };
262 };
263
264 &i2c3 {
265         clock-frequency = <100000>;
266         pinctrl-names = "default";
267         pinctrl-0 = <&pinctrl_i2c3_2>;
268         status = "okay";
269
270         accelerometer: fxos8700@1e {
271                 compatible = "fsl,fxos8700";
272                 reg = <0x13>;
273         };
274
275         codec: sgtl5000@0a {
276                 compatible = "fsl,sgtl5000";
277                 reg = <0x0a>;
278                 clocks = <&clks 169>;
279                 VDDA-supply = <&reg_1p8v>;
280                 VDDIO-supply = <&reg_3p3v>;
281         };
282
283         touchscreen: egalax_ts@04 {
284                 compatible = "eeti,egalax_ts";
285                 reg = <0x04>;
286                 interrupt-parent = <&gpio7>;
287                 interrupts = <12 2>; /* gpio7_12 active low */
288                 wakeup-gpios = <&gpio7 12 0>;
289         };
290
291         videoin: adv7180@20 {
292                 compatible = "adi,adv7180";
293                 reg = <0x20>;
294         };
295 };
296
297 &iomuxc {
298         pinctrl-names = "default";
299         pinctrl-0 = <&pinctrl_hog>;
300
301         hog {
302                 pinctrl_hog: hoggrp {
303                         fsl,pins = <
304                                 MX6DL_PAD_EIM_A19__GPIO2_IO19   0x80000000 /* MEZZ_DIO0 */
305                                 MX6DL_PAD_EIM_A20__GPIO2_IO18   0x80000000 /* MEZZ_DIO1 */
306                                 MX6DL_PAD_EIM_D22__GPIO3_IO22   0x80000000 /* OTG_PWR_EN */
307                                 MX6DL_PAD_EIM_D31__GPIO3_IO31   0x80000000 /* VIDDEC_PDN# */
308                                 MX6DL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* PHY Reset */
309                                 MX6DL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* PCIE_RST# */
310                                 MX6DL_PAD_ENET_RXD0__GPIO1_IO27 0x80000000 /* GPS_PWDN */
311                                 MX6DL_PAD_ENET_RXD1__GPIO1_IO26 0x80000000 /* GPS_PPS */
312                                 MX6DL_PAD_GPIO_0__CCM_CLKO1     0x000130b0 /* AUD4_MCK */
313                                 MX6DL_PAD_GPIO_2__GPIO1_IO02    0x80000000 /* USB_SEL_PCI */
314                                 MX6DL_PAD_GPIO_17__GPIO7_IO12   0x80000000 /* TOUCH_IRQ# */
315                                 MX6DL_PAD_KEY_COL0__GPIO4_IO06  0x80000000 /* user1 led */
316                                 MX6DL_PAD_KEY_ROW0__GPIO4_IO07  0x80000000 /* user2 led */
317                                 MX6DL_PAD_KEY_ROW4__GPIO4_IO15  0x80000000 /* user3 led */
318                                 MX6DL_PAD_SD2_CMD__GPIO1_IO11   0x80000000 /* LVDS_TCH# */
319                                 MX6DL_PAD_SD3_DAT5__GPIO7_IO00  0x80000000 /* SD3_CD# */
320                                 MX6DL_PAD_SD4_DAT3__GPIO2_IO11  0x80000000 /* UART2_EN# */
321                          >;
322                 };
323         };
324 };
325
326 &ldb {
327         status = "okay";
328         lvds-channel@0 {
329                 crtcs = <&ipu1 0>, <&ipu1 1>;
330         };
331 };
332
333 &pcie {
334         reset-gpio = <&gpio1 29 0>;
335         status = "okay";
336 };
337
338 &ssi1 {
339         fsl,mode = "i2s-slave";
340         status = "okay";
341 };
342
343 &uart1 {
344         pinctrl-names = "default";
345         pinctrl-0 = <&pinctrl_uart1_2>;
346         status = "okay";
347 };
348
349 &uart2 {
350         pinctrl-names = "default";
351         pinctrl-0 = <&pinctrl_uart2_1>;
352         status = "okay";
353 };
354
355 &uart5 {
356         pinctrl-names = "default";
357         pinctrl-0 = <&pinctrl_uart5_1>;
358         status = "okay";
359 };
360
361 &usbotg {
362         vbus-supply = <&reg_usb_otg_vbus>;
363         pinctrl-names = "default";
364         pinctrl-0 = <&pinctrl_usbotg_1>;
365         disable-over-current;
366         status = "okay";
367 };
368
369 &usbh1 {
370         status = "okay";
371 };
372
373 &usdhc3 {
374         pinctrl-names = "default";
375         pinctrl-0 = <&pinctrl_usdhc3_2>;
376         cd-gpios = <&gpio7 0 0>;
377         vmmc-supply = <&reg_3p3v>;
378         status = "okay";
379 };