9c2c4471acfe50863eafc9ac455a3c729f7ae766
[openwrt.git] / target / linux / imx6 / files-3.10 / arch / arm / boot / dts / imx6q-gw54xx.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 "imx6q.dtsi"
14
15 / {
16         model = "Gateworks Ventana GW54XX";
17         compatible = "gw,imx6q-gw54xx", "gw,ventana", "fsl,imx6q";
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                 ipu0 = &ipu1;
28                 ipu1 = &ipu2;
29                 led0 = &led0;
30                 led1 = &led1;
31                 led2 = &led2;
32                 nand = &gpmi;
33                 pwm0 = &pwm1;
34                 pwm1 = &pwm2;
35                 pwm2 = &pwm3;
36                 pwm3 = &pwm4;
37                 sky2 = &eth1;
38                 spi0 = &ecspi1;
39                 spi1 = &ecspi2;
40                 spi2 = &ecspi3;
41                 spi3 = &ecspi4;
42                 spi4 = &ecspi5;
43                 ssi0 = &ssi1;
44                 ssi1 = &ssi2;
45                 usb0 = &usbh3;
46                 usb1 = &usbotg;
47                 usdhc0 = &usdhc1;
48                 usdhc1 = &usdhc2;
49                 usdhc2 = &usdhc3;
50                 usdhc3 = &usdhc4;
51         };
52
53         chosen {
54                 bootargs = "console=ttymxc1,115200";
55         };
56
57         memory {
58                 reg = <0x10000000 0x40000000>;
59         };
60
61         leds {
62                 compatible = "gpio-leds";
63
64                 led0: user1 {
65                         label = "user1";
66                         gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
67                         default-state = "on";
68                         linux,default-trigger = "heartbeat";
69                 };
70
71                 led1: user2 {
72                         label = "user2";
73                         gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
74                         default-state = "off";
75                 };
76
77                 led2: user3 {
78                         label = "user3";
79                         gpios = <&gpio4 15 1>; /* 111 -> MX6_LOCLED# */
80                         default-state = "off";
81                 };
82         };
83
84         regulators {
85                 compatible = "simple-bus";
86
87                 reg_2p5v: 2p5v {
88                         compatible = "regulator-fixed";
89                         regulator-name = "2P5V";
90                         regulator-min-microvolt = <2500000>;
91                         regulator-max-microvolt = <2500000>;
92                         regulator-always-on;
93                 };
94
95                 reg_3p3v: 3p3v {
96                         compatible = "regulator-fixed";
97                         regulator-name = "3P3V";
98                         regulator-min-microvolt = <3300000>;
99                         regulator-max-microvolt = <3300000>;
100                         regulator-always-on;
101                 };
102
103                 reg_usb_otg_vbus: usb_otg_vbus {
104                         compatible = "regulator-fixed";
105                         regulator-name = "usb_otg_vbus";
106                         regulator-min-microvolt = <5000000>;
107                         regulator-max-microvolt = <5000000>;
108                         gpio = <&gpio3 22 0>;
109                         enable-active-high;
110                 };
111         };
112
113         sound {
114                 compatible = "fsl,imx6q-sabrelite-sgtl5000",
115                              "fsl,imx-audio-sgtl5000";
116                 model = "imx6q-sabrelite-sgtl5000";
117                 ssi-controller = <&ssi1>;
118                 audio-codec = <&codec>;
119                 audio-routing =
120                         "MIC_IN", "Mic Jack",
121                         "Mic Jack", "Mic Bias",
122                         "Headphone Jack", "HP_OUT";
123                 mux-int-port = <1>;
124                 mux-ext-port = <4>;
125         };
126 };
127
128 &audmux {
129         pinctrl-names = "default";
130         pinctrl-0 = <&pinctrl_audmux_3>;
131         status = "okay";
132 };
133
134 &can1 {
135         status = "okay";
136 };
137
138 &fec {
139         pinctrl-names = "default";
140         pinctrl-0 = <&pinctrl_enet_1>;
141         phy-mode = "rgmii";
142         phy-reset-gpios = <&gpio1 30 0>;
143         status = "okay";
144 };
145
146 &gpmi {
147         pinctrl-names = "default";
148         pinctrl-0 = <&pinctrl_gpmi_nand_2>;
149         status = "okay";
150 };
151
152 &i2c1 {
153         status = "okay";
154         clock-frequency = <100000>;
155         pinctrl-names = "default";
156         pinctrl-0 = <&pinctrl_i2c1_1>;
157
158         eeprom: eeprom@50 {
159                 compatible = "atmel,24c02";
160                 reg = <0x50>;
161                 pagesize = <16>;
162         };
163
164         eeprom1: eeprom@50 {
165                 compatible = "atmel,24c02";
166                 reg = <0x50>;
167                 pagesize = <16>;
168         };
169
170         eeprom2: eeprom@51 {
171                 compatible = "atmel,24c02";
172                 reg = <0x51>;
173                 pagesize = <16>;
174         };
175
176         eeprom3: eeprom@52 {
177                 compatible = "atmel,24c02";
178                 reg = <0x52>;
179                 pagesize = <16>;
180         };
181
182         eeprom4: eeprom@53 {
183                 compatible = "atmel,24c02";
184                 reg = <0x53>;
185                 pagesize = <16>;
186         };
187
188         rtc: ds1672@68 {
189                 compatible = "dallas,ds1672";
190                 reg = <0x68>;
191         };
192
193         gpio: pca9555@23 {
194                 compatible = "nxp,pca9555";
195                 reg = <0x23>;
196                 gpio-controller;
197                 #gpio-cells = <2>;
198         };
199
200         hwmon: gsc@29 {
201                 compatible = "gw,gsp";
202                 reg = <0x29>;
203         };
204 };
205
206 &i2c2 {
207         status = "okay";
208         clock-frequency = <100000>;
209         pinctrl-names = "default";
210         pinctrl-0 = <&pinctrl_i2c2_2>;
211
212         pmic: pfuze@08 {
213                 compatible = "fsl,pfuze100";
214                 reg = <0x08>;
215         };
216
217         pciswitch: pex8609@3f {
218                 compatible = "plx,pex8609";
219                 reg = <0x3f>;
220         };
221
222         pciclkgen: si52147@6b {
223                 compatible = "sil,si52147";
224                 reg = <0x6b>;
225         };
226 };
227
228 &i2c3 {
229         status = "okay";
230         clock-frequency = <100000>;
231         pinctrl-names = "default";
232         pinctrl-0 = <&pinctrl_i2c3_2>;
233
234         codec: sgtl5000@0a {
235                 compatible = "fsl,sgtl5000";
236                 reg = <0x0a>;
237                 clocks = <&clks 169>;
238                 VDDA-supply = <&reg_2p5v>;
239                 VDDIO-supply = <&reg_3p3v>;
240         };
241
242         accelerometer: mma8450@1c {
243                 compatible = "fsl,mma8450";
244                 reg = <0x1c>;
245         };
246
247         videoout: adv7393@2a {
248                 compatible = "adi,adv7393";
249                 reg = <0x2a>;
250         };
251
252         videoin: adv7180@20 {
253                 compatible = "adi,adv7180";
254                 reg = <0x20>;
255         };
256
257         hdmiin: adv7611@4c {
258                 compatible = "adi,adv7611";
259                 reg = <0x4c>;
260         };
261
262         touchscreen: egalax_ts@04 {
263                 compatible = "eeti,egalax_ts";
264                 reg = <0x04>;
265                 wakeup-gpios = <&gpio1 12 0>;
266         };
267 };
268
269 &iomuxc {
270         pinctrl-names = "default";
271         pinctrl-0 = <&pinctrl_hog>;
272
273         hog {
274                 pinctrl_hog: hoggrp {
275                         fsl,pins = <
276                                 MX6Q_PAD_EIM_D22__GPIO3_IO22    0x80000000 /* OTG_PWR_EN */
277                                 MX6Q_PAD_EIM_D19__GPIO3_IO19    0x80000000 /* SPINOR_CS0# */
278                                 MX6Q_PAD_KEY_COL0__GPIO4_IO06   0x80000000 /* user1 led */
279                                 MX6Q_PAD_KEY_ROW0__GPIO4_IO07   0x80000000 /* user2 led */
280                                 MX6Q_PAD_KEY_ROW4__GPIO4_IO15   0x80000000 /* user3 led */
281                                 MX6Q_PAD_SD1_DAT0__GPIO1_IO16   0x80000000 /* USBHUB_RST# */
282                                 MX6Q_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* PCIE IRQ */
283                                 MX6Q_PAD_ENET_TXD1__GPIO1_IO29  0x80000000 /* PCIE RST */
284                                 MX6Q_PAD_SD1_DAT3__GPIO1_IO21   0x80000000 /* MIPI_DIO */
285                                 MX6Q_PAD_GPIO_0__CCM_CLKO1      0x000130b0 /* AUD4_MCK */
286                                 MX6Q_PAD_GPIO_2__GPIO1_IO02     0x80000000 /* CAN_STBY */
287                          >;
288                 };
289         };
290 };
291
292 &pcie {
293         reset-gpio = <&gpio1 29 0>;
294         status = "okay";
295
296         eth1: sky2@8 { /* MAC/PHY on bus 8 */
297                 compatible = "marvell,sky2";
298                 /* Filled in by U-Boot */
299                 mac-address = [ 00 00 00 00 00 00 ];
300         };
301 };
302
303 &sata {
304         status = "okay";
305 };
306
307 &ssi1 {
308         fsl,mode = "i2s-slave";
309         status = "okay";
310 };
311
312 &uart1 {
313         pinctrl-names = "default";
314         pinctrl-0 = <&pinctrl_uart1_2>;
315         status = "okay";
316 };
317
318 &uart2 {
319         pinctrl-names = "default";
320         pinctrl-0 = <&pinctrl_uart2_2>;
321         status = "okay";
322 };
323
324 &uart3 {
325         pinctrl-names = "default";
326         pinctrl-0 = <&pinctrl_uart3_1>;
327         status = "okay";
328 };
329
330 &uart5 {
331         status = "okay";
332         pinctrl-names = "default";
333         pinctrl-0 = <&pinctrl_uart5_1>;
334 };
335
336 &usbotg {
337         vbus-supply = <&reg_usb_otg_vbus>;
338         pinctrl-names = "default";
339         pinctrl-0 = <&pinctrl_usbotg_1>;
340         disable-over-current;
341         status = "okay";
342 };
343
344 &usbh1 {
345         status = "okay";
346 };
347
348 &usdhc3 {
349         pinctrl-names = "default";
350         pinctrl-0 = <&pinctrl_usdhc3_2>;
351         cd-gpios = <&gpio7 0 0>;
352         vmmc-supply = <&reg_3p3v>;
353         status = "okay";
354 };