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