d79d272b649514bb440d2fdfca1d0e9ef9f2319a
[openwrt/svn-archive/archive.git] / target / linux / imx6 / files-3.10 / arch / arm / boot / dts / imx6q-gw5400-a.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-ventana.dtsi"
14
15 / {
16 model = "Gateworks Ventana GW5400-A";
17 compatible = "gw,imx6q-gw5400-a", "gw,ventana", "fsl,imx6q";
18
19 aliases {
20 ethernet0 = &fec;
21 ethernet1 = &eth1;
22 sky2 = &eth1;
23 };
24
25 /* SDRAM addressing */
26 memory {
27 reg = <0x10000000 0x40000000>;
28 };
29
30 chosen {
31 bootargs = "console=ttymxc1,115200";
32 };
33
34 leds {
35 compatible = "gpio-leds";
36
37 led0: user0 {
38 label = "user0";
39 gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG# */
40 linux,default-trigger = "heartbeat";
41 };
42
43 led1: user1 {
44 label = "user1";
45 gpios = <&gpio4 10 0>; /* 106 -> MX6_PANLEDR# */
46 };
47
48 led2: user2 {
49 label = "user2";
50 gpios = <&gpio4 15 0>; /* 111 -> MX6_LOCLEDR# */
51 };
52 };
53
54 regulators {
55 compatible = "simple-bus";
56
57 reg_2p5v: 2p5v {
58 compatible = "regulator-fixed";
59 regulator-name = "2P5V";
60 regulator-min-microvolt = <2500000>;
61 regulator-max-microvolt = <2500000>;
62 regulator-always-on;
63 };
64
65 reg_3p3v: 3p3v {
66 compatible = "regulator-fixed";
67 regulator-name = "3P3V";
68 regulator-min-microvolt = <3300000>;
69 regulator-max-microvolt = <3300000>;
70 regulator-always-on;
71 };
72
73 reg_usb_otg_vbus: usb_otg_vbus {
74 compatible = "regulator-fixed";
75 regulator-name = "usb_otg_vbus";
76 regulator-min-microvolt = <5000000>;
77 regulator-max-microvolt = <5000000>;
78 gpio = <&gpio3 22 0>;
79 enable-active-high;
80 };
81 };
82
83 sound {
84 compatible = "fsl,imx6q-sabrelite-sgtl5000",
85 "fsl,imx-audio-sgtl5000";
86 model = "imx6q-sabrelite-sgtl5000";
87 ssi-controller = <&ssi1>;
88 audio-codec = <&codec>;
89 audio-routing =
90 "MIC_IN", "Mic Jack",
91 "Mic Jack", "Mic Bias",
92 "Headphone Jack", "HP_OUT";
93 mux-int-port = <1>;
94 mux-ext-port = <4>;
95 };
96 };
97
98 &iomuxc {
99 pinctrl-names = "default";
100 pinctrl-0 = <&pinctrl_hog>;
101
102 hog {
103 pinctrl_hog: hoggrp {
104 fsl,pins = <
105 /* USB OTG Power Enable */
106 MX6Q_PAD_EIM_D22__GPIO3_IO22 0x80000000
107
108 /* 3:19 SPINOR_CS0# */
109 MX6Q_PAD_EIM_D19__GPIO3_IO19 0x80000000
110
111 /* 1:09 MX6_DIO0 (could also be PWM1_PWM0) */
112 MX6Q_PAD_GPIO_9__GPIO1_IO09 0x80000000
113 /* 1:19 MX6_DIO1 (could also be PWM2_PWM0) */
114 MX6Q_PAD_SD1_DAT2__GPIO1_IO19 0x80000000
115 /* 2:09 MX6_DIO2 (could also be PWM3_PWM0) */
116 MX6Q_PAD_SD4_DAT1__GPIO2_IO09 0x80000000
117 /* 2:10 MX6_DIO3 (could also be PWM3_PWM0) */
118 MX6Q_PAD_SD4_DAT2__GPIO2_IO10 0x80000000
119
120 /* 1:16 USBHUB_RST# */
121 MX6Q_PAD_SD1_DAT0__GPIO1_IO16 0x80000000
122
123 /* PCIE IRQ */
124 MX6Q_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000
125 /* PCIE RST */
126 MX6Q_PAD_ENET_TXD1__GPIO1_IO29 0x08000000
127
128 /* 1:12 MIPI_DIO */
129 MX6Q_PAD_SD1_DAT3__GPIO1_IO21 0x80000000
130
131 /* AUD4_MCK */
132 MX6Q_PAD_GPIO_0__CCM_CLKO1 0x80000000
133 >;
134 };
135 };
136
137 #if 0
138 /* ipu1: IPU1_CSI0: HDMI reciver (Digital Video In) */
139 ipu1 {
140 pinctrl_ipu1_1: ipu1grp-5 {
141 fsl,pins = <
142 MX6Q_PAD_CSI0_MCLK__IPU1_CSI0_HSYNC
143 MX6Q_PAD_CSI0_DATA_EN__IPU1_CSI0_DATA_EN
144 MX6Q_PAD_CSI0_PIXCLK__IPU1_CSI0_PIXCLK
145 MX6Q_PAD_CSI0_VSYNC__IPU1_CSI0_VSYNC
146 MX6Q_PAD_CSI0_DAT4__IPU1_CSI0_DATA04
147 MX6Q_PAD_CSI0_DAT5__IPU1_CSI0_DATA05
148 MX6Q_PAD_CSI0_DAT6__IPU1_CSI0_DATA06
149 MX6Q_PAD_CSI0_DAT7__IPU1_CSI0_DATA07
150 MX6Q_PAD_CSI0_DAT8__IPU1_CSI0_DATA08
151 MX6Q_PAD_CSI0_DAT9__IPU1_CSI0_DATA09
152 MX6Q_PAD_CSI0_DAT10__IPU1_CSI0_DATA10
153 MX6Q_PAD_CSI0_DAT11__IPU1_CSI0_DATA11
154 MX6Q_PAD_CSI0_DAT12__IPU1_CSI0_DATA12
155 MX6Q_PAD_CSI0_DAT13__IPU1_CSI0_DATA13
156 MX6Q_PAD_CSI0_DAT14__IPU1_CSI0_DATA14
157 MX6Q_PAD_CSI0_DAT15__IPU1_CSI0_DATA15
158 MX6Q_PAD_CSI0_DAT16__IPU1_CSI0_DATA16
159 MX6Q_PAD_CSI0_DAT17__IPU1_CSI0_DATA17
160 MX6Q_PAD_CSI0_DAT18__IPU1_CSI0_DATA18
161 MX6Q_PAD_CSI0_DAT19__IPU1_CSI0_DATA19
162 >;
163 };
164 };
165
166 /* ipu2: IPU1_CSI1: Analog Video Decoder (Analog Video In) */
167 /* IPU2_CSI1: Analog Video Decoder (Analog Video In) */
168 ipu2 {
169 pinctrl_ipu2_1: ipu2grp-1 {
170 fsl,pins = <
171 MX6Q_PAD_EIM_A17__IPU2_CSI1_DATA12
172 MX6Q_PAD_EIM_D27__IPU2_CSI1_DATA13
173 MX6Q_PAD_EIM_D26__IPU2_CSI1_DATA14
174 MX6Q_PAD_EIM_D20__IPU2_CSI1_DATA15
175 MX6Q_PAD_EIM_D19__IPU2_CSI1_DATA16
176 MX6Q_PAD_EIM_D18__IPU2_CSI1_DATA17
177 MX6Q_PAD_EIM_D16__IPU2_CSI1_DATA18
178 MX6Q_PAD_EIM_EB2__IPU2_CSI1_DATA19
179
180 MX6Q_PAD_EIM_D29__IPU2_CSI1_VSYNC
181 MX6Q_PAD_EIM_EB3__IPU2_CSI1_HSYNC
182 // not sure why this causes kernel to crash in early init
183 // MX6Q_PAD_EIM_A16__IPU2_CSI1_PIXCLK
184 >;
185 };
186 };
187
188 /* ipu3: IPU2_DISP0: Analog Video Encoder (Analog Video Out) */
189 ipu3 {
190 pinctrl_ipu3_1: ipu3grp-5 {
191 fsl,pins = <
192 MX6Q_PAD_DISP0_DAT0__IPU2_DISP0_DATA00
193 MX6Q_PAD_DISP0_DAT1__IPU2_DISP0_DATA01
194 MX6Q_PAD_DISP0_DAT2__IPU2_DISP0_DATA02
195 MX6Q_PAD_DISP0_DAT3__IPU2_DISP0_DATA03
196 MX6Q_PAD_DISP0_DAT4__IPU2_DISP0_DATA04
197 MX6Q_PAD_DISP0_DAT5__IPU2_DISP0_DATA05
198 MX6Q_PAD_DISP0_DAT6__IPU2_DISP0_DATA06
199 MX6Q_PAD_DISP0_DAT7__IPU2_DISP0_DATA07
200 MX6Q_PAD_DISP0_DAT8__IPU2_DISP0_DATA08
201 MX6Q_PAD_DISP0_DAT9__IPU2_DISP0_DATA09
202 MX6Q_PAD_DISP0_DAT10__IPU2_DISP0_DATA10
203 MX6Q_PAD_DISP0_DAT11__IPU2_DISP0_DATA11
204 MX6Q_PAD_DISP0_DAT12__IPU2_DISP0_DATA12
205 MX6Q_PAD_DISP0_DAT13__IPU2_DISP0_DATA13
206 MX6Q_PAD_DISP0_DAT14__IPU2_DISP0_DATA14
207 MX6Q_PAD_DISP0_DAT15__IPU2_DISP0_DATA15
208 >;
209 };
210 };
211 #endif
212 };
213
214 &ecspi1 {
215 pinctrl-names = "default";
216 pinctrl-0 = <&pinctrl_ecspi1_1>;
217 status = "okay";
218
219 flash: m25p80@0 {
220 #address-cells = <1>;
221 #size-cells = <1>;
222 compatible = "sst,w25q256";
223 spi-max-frequency = <30000000>;
224 reg = <0>;
225 };
226 };
227
228 &uart1 {
229 pinctrl-names = "default";
230 pinctrl-0 = <&pinctrl_uart1_2>;
231 status = "okay";
232 };
233
234 &uart2 {
235 pinctrl-names = "default";
236 pinctrl-0 = <&pinctrl_uart2_2>;
237 status = "okay";
238 };
239
240 &uart3 {
241 pinctrl-names = "default";
242 pinctrl-0 = <&pinctrl_uart3_1>;
243 status = "okay";
244 };
245
246 &uart5 {
247 status = "okay";
248 pinctrl-names = "default";
249 pinctrl-0 = <&pinctrl_uart5_1>;
250 };
251
252 &ssi1 {
253 fsl,mode = "i2s-slave";
254 status = "okay";
255 };
256
257 &ssi2 {
258 fsl,mode = "i2s-slave";
259 status = "okay";
260 };
261
262 &can1 {
263 reg = <0x02090000 0x4000>;
264 interrupts = <0 110 0x04>;
265 //clock-frequency
266 status = "okay";
267 };
268
269 &usbh1 {
270 status = "okay";
271 };
272
273 &pcie {
274 rst-gpios = <&gpio1 29 0>; /* PCIESWT_RST# */
275 clken-gpios = <&gpio1 20 0>; /* not used */
276 status = "okay";
277
278 eth1: sky2@8 { /* MAC/PHY on bus 8 */
279 compatible = "marvell,sky2";
280 /* Filled in by U-Boot */
281 mac-address = [ 00 00 00 00 00 00 ];
282 };
283 };
284
285 &fec {
286 pinctrl-names = "default";
287 pinctrl-0 = <&pinctrl_enet_1>;
288 phy-mode = "rgmii";
289 phy-reset-gpios = <&gpio1 30 0>;
290 status = "okay";
291 };
292
293 &usdhc3 {
294 pinctrl-names = "default";
295 pinctrl-0 = <&pinctrl_usdhc3_2>;
296 cd-gpios = <&gpio7 0 0>;
297 vmmc-supply = <&reg_3p3v>;
298 status = "okay";
299 };
300
301 &audmux {
302 pinctrl-names = "default";
303 pinctrl-0 = <&pinctrl_audmux_3>;
304 status = "okay";
305 };
306
307 &i2c1 {
308 status = "okay";
309 clock-frequency = <100000>;
310 pinctrl-names = "default";
311 pinctrl-0 = <&pinctrl_i2c1_1>;
312
313 eeprom: eeprom@50 {
314 compatible = "atmel,24c02";
315 reg = <0x50>;
316 pagesize = <16>;
317 };
318
319 eeprom1: eeprom@50 {
320 compatible = "atmel,24c02";
321 reg = <0x50>;
322 pagesize = <16>;
323 };
324
325 eeprom2: eeprom@51 {
326 compatible = "atmel,24c02";
327 reg = <0x51>;
328 pagesize = <16>;
329 };
330
331 eeprom3: eeprom@52 {
332 compatible = "atmel,24c02";
333 reg = <0x52>;
334 pagesize = <16>;
335 };
336
337 eeprom4: eeprom@53 {
338 compatible = "atmel,24c02";
339 reg = <0x53>;
340 pagesize = <16>;
341 };
342
343 rtc: ds1672@68 {
344 compatible = "dallas,ds1672";
345 reg = <0x68>;
346 };
347
348 gpio: pca9555@23 {
349 compatible = "nxp,pca9555";
350 reg = <0x23>;
351 gpio-controller;
352 #gpio-cells = <2>;
353 };
354
355 hwmon: gsc@29 {
356 compatible = "gw,gsp";
357 reg = <0x29>;
358 };
359 };
360
361 &i2c2 {
362 status = "okay";
363 clock-frequency = <100000>;
364 pinctrl-names = "default";
365 pinctrl-0 = <&pinctrl_i2c2_2>;
366
367 pmic: pfuze@08 {
368 compatible = "fsl,pfuze100";
369 reg = <0x0a>;
370 };
371
372 pciswitch: pex8609@3f {
373 compatible = "plx,pex8609";
374 reg = <0x3f>;
375 };
376
377 pciclkgen: si52147@6b {
378 compatible = "sil,si52147";
379 reg = <0x6b>;
380 };
381 };
382
383 &i2c3 {
384 status = "okay";
385 clock-frequency = <100000>;
386 pinctrl-names = "default";
387 pinctrl-0 = <&pinctrl_i2c3_2>;
388
389 codec: sgtl5000@0a {
390 compatible = "fsl,sgtl5000";
391 reg = <0x0a>;
392 clocks = <&clks 169>;
393 VDDA-supply = <&reg_2p5v>;
394 VDDIO-supply = <&reg_3p3v>;
395 };
396
397 accelerometer: mma8450@1c {
398 compatible = "fsl,mma8450";
399 reg = <0x1c>;
400 };
401
402 videoout: adv7393@2a {
403 compatible = "adi,adv7393";
404 reg = <0x2a>;
405 };
406
407 videoin: adv7180@20 {
408 compatible = "adi,adv7180";
409 reg = <0x20>;
410 };
411
412 hdmiin: adv7611@4c {
413 compatible = "adi,adv7611";
414 reg = <0x4c>;
415 };
416
417 touchscreen: egalax_ts@04 {
418 compatible = "eeti,egalax_ts";
419 reg = <0x04>;
420 wakeup-gpios = <&gpio1 12 0>;
421 };
422 };
423
424 &ldb {
425 status = "okay";
426 lvds-channel@0 {
427 crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>;
428 };
429 };