imx6: update 3.14 ventana dts with upstream fixes
[openwrt/openwrt.git] / target / linux / imx6 / patches-3.14 / 0003-ARM-dts-add-Gateworks-Ventana-support.patch
1 From e3946fe8050534ccaf8c1266cb1fa90c7f3345c3 Mon Sep 17 00:00:00 2001
2 From: Tim Harvey <tharvey@gateworks.com>
3 Date: Fri, 7 Feb 2014 15:24:56 +0800
4 Subject: [PATCH] ARM: dts: add Gateworks Ventana support
5
6 The Gateworks Ventana product family consists of several baseboard designs
7 based on the Freescale i.MX6 family of processors. Each baseboard has a
8 different set of possible features.
9
10 Signed-off-by: Tim Harvey <tharvey@gateworks.com>
11 Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
12 ---
13 arch/arm/boot/dts/Makefile | 9 +
14 arch/arm/boot/dts/imx6dl-gw51xx.dts | 19 ++
15 arch/arm/boot/dts/imx6dl-gw52xx.dts | 19 ++
16 arch/arm/boot/dts/imx6dl-gw53xx.dts | 19 ++
17 arch/arm/boot/dts/imx6dl-gw54xx.dts | 19 ++
18 arch/arm/boot/dts/imx6q-gw51xx.dts | 19 ++
19 arch/arm/boot/dts/imx6q-gw52xx.dts | 23 ++
20 arch/arm/boot/dts/imx6q-gw53xx.dts | 23 ++
21 arch/arm/boot/dts/imx6q-gw5400-a.dts | 546 ++++++++++++++++++++++++++++++++
22 arch/arm/boot/dts/imx6q-gw54xx.dts | 23 ++
23 arch/arm/boot/dts/imx6qdl-gw51xx.dtsi | 374 ++++++++++++++++++++++
24 arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 490 ++++++++++++++++++++++++++++
25 arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 553 ++++++++++++++++++++++++++++++++
26 arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | 580 ++++++++++++++++++++++++++++++++++
27 14 files changed, 2716 insertions(+)
28 create mode 100644 arch/arm/boot/dts/imx6dl-gw51xx.dts
29 create mode 100644 arch/arm/boot/dts/imx6dl-gw52xx.dts
30 create mode 100644 arch/arm/boot/dts/imx6dl-gw53xx.dts
31 create mode 100644 arch/arm/boot/dts/imx6dl-gw54xx.dts
32 create mode 100644 arch/arm/boot/dts/imx6q-gw51xx.dts
33 create mode 100644 arch/arm/boot/dts/imx6q-gw52xx.dts
34 create mode 100644 arch/arm/boot/dts/imx6q-gw53xx.dts
35 create mode 100644 arch/arm/boot/dts/imx6q-gw5400-a.dts
36 create mode 100644 arch/arm/boot/dts/imx6q-gw54xx.dts
37 create mode 100644 arch/arm/boot/dts/imx6qdl-gw51xx.dtsi
38 create mode 100644 arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
39 create mode 100644 arch/arm/boot/dts/imx6qdl-gw53xx.dtsi
40 create mode 100644 arch/arm/boot/dts/imx6qdl-gw54xx.dtsi
41
42 --- a/arch/arm/boot/dts/Makefile
43 +++ b/arch/arm/boot/dts/Makefile
44 @@ -154,12 +154,21 @@ dtb-$(CONFIG_ARCH_MXC) += \
45 imx53-qsb.dtb \
46 imx53-smd.dtb \
47 imx6dl-cubox-i.dtb \
48 + imx6dl-gw51xx.dtb \
49 + imx6dl-gw52xx.dtb \
50 + imx6dl-gw53xx.dtb \
51 + imx6dl-gw54xx.dtb \
52 imx6dl-hummingboard.dtb \
53 imx6dl-sabreauto.dtb \
54 imx6dl-sabresd.dtb \
55 imx6dl-wandboard.dtb \
56 imx6q-arm2.dtb \
57 imx6q-cubox-i.dtb \
58 + imx6q-gw51xx.dtb \
59 + imx6q-gw52xx.dtb \
60 + imx6q-gw53xx.dtb \
61 + imx6q-gw5400-a.dtb \
62 + imx6q-gw54xx.dtb \
63 imx6q-phytec-pbab01.dtb \
64 imx6q-sabreauto.dtb \
65 imx6q-sabrelite.dtb \
66 --- /dev/null
67 +++ b/arch/arm/boot/dts/imx6dl-gw51xx.dts
68 @@ -0,0 +1,19 @@
69 +/*
70 + * Copyright 2013 Gateworks Corporation
71 + *
72 + * The code contained herein is licensed under the GNU General Public
73 + * License. You may obtain a copy of the GNU General Public License
74 + * Version 2 or later at the following locations:
75 + *
76 + * http://www.opensource.org/licenses/gpl-license.html
77 + * http://www.gnu.org/copyleft/gpl.html
78 + */
79 +
80 +/dts-v1/;
81 +#include "imx6dl.dtsi"
82 +#include "imx6qdl-gw51xx.dtsi"
83 +
84 +/ {
85 + model = "Gateworks Ventana i.MX6 DualLite/Solo GW51XX";
86 + compatible = "gw,imx6dl-gw51xx", "gw,ventana", "fsl,imx6dl";
87 +};
88 --- /dev/null
89 +++ b/arch/arm/boot/dts/imx6dl-gw52xx.dts
90 @@ -0,0 +1,19 @@
91 +/*
92 + * Copyright 2013 Gateworks Corporation
93 + *
94 + * The code contained herein is licensed under the GNU General Public
95 + * License. You may obtain a copy of the GNU General Public License
96 + * Version 2 or later at the following locations:
97 + *
98 + * http://www.opensource.org/licenses/gpl-license.html
99 + * http://www.gnu.org/copyleft/gpl.html
100 + */
101 +
102 +/dts-v1/;
103 +#include "imx6dl.dtsi"
104 +#include "imx6qdl-gw52xx.dtsi"
105 +
106 +/ {
107 + model = "Gateworks Ventana i.MX6 DualLite/Solo GW52XX";
108 + compatible = "gw,imx6dl-gw52xx", "gw,ventana", "fsl,imx6dl";
109 +};
110 --- /dev/null
111 +++ b/arch/arm/boot/dts/imx6dl-gw53xx.dts
112 @@ -0,0 +1,19 @@
113 +/*
114 + * Copyright 2013 Gateworks Corporation
115 + *
116 + * The code contained herein is licensed under the GNU General Public
117 + * License. You may obtain a copy of the GNU General Public License
118 + * Version 2 or later at the following locations:
119 + *
120 + * http://www.opensource.org/licenses/gpl-license.html
121 + * http://www.gnu.org/copyleft/gpl.html
122 + */
123 +
124 +/dts-v1/;
125 +#include "imx6dl.dtsi"
126 +#include "imx6qdl-gw53xx.dtsi"
127 +
128 +/ {
129 + model = "Gateworks Ventana i.MX6 DualLite/Solo GW53XX";
130 + compatible = "gw,imx6dl-gw53xx", "gw,ventana", "fsl,imx6dl";
131 +};
132 --- /dev/null
133 +++ b/arch/arm/boot/dts/imx6dl-gw54xx.dts
134 @@ -0,0 +1,19 @@
135 +/*
136 + * Copyright 2013 Gateworks Corporation
137 + *
138 + * The code contained herein is licensed under the GNU General Public
139 + * License. You may obtain a copy of the GNU General Public License
140 + * Version 2 or later at the following locations:
141 + *
142 + * http://www.opensource.org/licenses/gpl-license.html
143 + * http://www.gnu.org/copyleft/gpl.html
144 + */
145 +
146 +/dts-v1/;
147 +#include "imx6dl.dtsi"
148 +#include "imx6qdl-gw54xx.dtsi"
149 +
150 +/ {
151 + model = "Gateworks Ventana i.MX6 DualLite/Solo GW54XX";
152 + compatible = "gw,imx6dl-gw54xx", "gw,ventana", "fsl,imx6dl";
153 +};
154 --- /dev/null
155 +++ b/arch/arm/boot/dts/imx6q-gw51xx.dts
156 @@ -0,0 +1,19 @@
157 +/*
158 + * Copyright 2013 Gateworks Corporation
159 + *
160 + * The code contained herein is licensed under the GNU General Public
161 + * License. You may obtain a copy of the GNU General Public License
162 + * Version 2 or later at the following locations:
163 + *
164 + * http://www.opensource.org/licenses/gpl-license.html
165 + * http://www.gnu.org/copyleft/gpl.html
166 + */
167 +
168 +/dts-v1/;
169 +#include "imx6q.dtsi"
170 +#include "imx6qdl-gw51xx.dtsi"
171 +
172 +/ {
173 + model = "Gateworks Ventana i.MX6 Dual/Quad GW51XX";
174 + compatible = "gw,imx6q-gw51xx", "gw,ventana", "fsl,imx6q";
175 +};
176 --- /dev/null
177 +++ b/arch/arm/boot/dts/imx6q-gw52xx.dts
178 @@ -0,0 +1,23 @@
179 +/*
180 + * Copyright 2013 Gateworks Corporation
181 + *
182 + * The code contained herein is licensed under the GNU General Public
183 + * License. You may obtain a copy of the GNU General Public License
184 + * Version 2 or later at the following locations:
185 + *
186 + * http://www.opensource.org/licenses/gpl-license.html
187 + * http://www.gnu.org/copyleft/gpl.html
188 + */
189 +
190 +/dts-v1/;
191 +#include "imx6q.dtsi"
192 +#include "imx6qdl-gw52xx.dtsi"
193 +
194 +/ {
195 + model = "Gateworks Ventana i.MX6 Dual/Quad GW52XX";
196 + compatible = "gw,imx6q-gw52xx", "gw,ventana", "fsl,imx6q";
197 +};
198 +
199 +&sata {
200 + status = "okay";
201 +};
202 --- /dev/null
203 +++ b/arch/arm/boot/dts/imx6q-gw53xx.dts
204 @@ -0,0 +1,23 @@
205 +/*
206 + * Copyright 2013 Gateworks Corporation
207 + *
208 + * The code contained herein is licensed under the GNU General Public
209 + * License. You may obtain a copy of the GNU General Public License
210 + * Version 2 or later at the following locations:
211 + *
212 + * http://www.opensource.org/licenses/gpl-license.html
213 + * http://www.gnu.org/copyleft/gpl.html
214 + */
215 +
216 +/dts-v1/;
217 +#include "imx6q.dtsi"
218 +#include "imx6qdl-gw53xx.dtsi"
219 +
220 +/ {
221 + model = "Gateworks Ventana i.MX6 Dual/Quad GW53XX";
222 + compatible = "gw,imx6q-gw53xx", "gw,ventana", "fsl,imx6q";
223 +};
224 +
225 +&sata {
226 + status = "okay";
227 +};
228 --- /dev/null
229 +++ b/arch/arm/boot/dts/imx6q-gw5400-a.dts
230 @@ -0,0 +1,543 @@
231 +/*
232 + * Copyright 2013 Gateworks Corporation
233 + *
234 + * The code contained herein is licensed under the GNU General Public
235 + * License. You may obtain a copy of the GNU General Public License
236 + * Version 2 or later at the following locations:
237 + *
238 + * http://www.opensource.org/licenses/gpl-license.html
239 + * http://www.gnu.org/copyleft/gpl.html
240 + */
241 +
242 +/dts-v1/;
243 +#include "imx6q.dtsi"
244 +
245 +/ {
246 + model = "Gateworks Ventana GW5400-A";
247 + compatible = "gw,imx6q-gw5400-a", "gw,ventana", "fsl,imx6q";
248 +
249 + /* these are used by bootloader for disabling nodes */
250 + aliases {
251 + ethernet0 = &fec;
252 + ethernet1 = &eth1;
253 + i2c0 = &i2c1;
254 + i2c1 = &i2c2;
255 + i2c2 = &i2c3;
256 + led0 = &led0;
257 + led1 = &led1;
258 + led2 = &led2;
259 + sky2 = &eth1;
260 + ssi0 = &ssi1;
261 + spi0 = &ecspi1;
262 + usb0 = &usbh1;
263 + usb1 = &usbotg;
264 + usdhc2 = &usdhc3;
265 + };
266 +
267 + chosen {
268 + bootargs = "console=ttymxc1,115200";
269 + };
270 +
271 + leds {
272 + compatible = "gpio-leds";
273 +
274 + led0: user1 {
275 + label = "user1";
276 + gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
277 + default-state = "on";
278 + linux,default-trigger = "heartbeat";
279 + };
280 +
281 + led1: user2 {
282 + label = "user2";
283 + gpios = <&gpio4 10 0>; /* 106 -> MX6_PANLEDR */
284 + default-state = "off";
285 + };
286 +
287 + led2: user3 {
288 + label = "user3";
289 + gpios = <&gpio4 15 1>; /* 111 -> MX6_LOCLED# */
290 + default-state = "off";
291 + };
292 + };
293 +
294 + memory {
295 + reg = <0x10000000 0x40000000>;
296 + };
297 +
298 + pps {
299 + compatible = "pps-gpio";
300 + gpios = <&gpio1 5 0>;
301 + status = "okay";
302 + };
303 +
304 + regulators {
305 + compatible = "simple-bus";
306 + #address-cells = <1>;
307 + #size-cells = <0>;
308 +
309 + reg_1p0v: regulator@0 {
310 + compatible = "regulator-fixed";
311 + reg = <0>;
312 + regulator-name = "1P0V";
313 + regulator-min-microvolt = <1000000>;
314 + regulator-max-microvolt = <1000000>;
315 + regulator-always-on;
316 + };
317 +
318 + reg_3p3v: regulator@1 {
319 + compatible = "regulator-fixed";
320 + reg = <1>;
321 + regulator-name = "3P3V";
322 + regulator-min-microvolt = <3300000>;
323 + regulator-max-microvolt = <3300000>;
324 + regulator-always-on;
325 + };
326 +
327 + reg_usb_h1_vbus: regulator@2 {
328 + compatible = "regulator-fixed";
329 + reg = <2>;
330 + regulator-name = "usb_h1_vbus";
331 + regulator-min-microvolt = <5000000>;
332 + regulator-max-microvolt = <5000000>;
333 + regulator-always-on;
334 + };
335 +
336 + reg_usb_otg_vbus: regulator@3 {
337 + compatible = "regulator-fixed";
338 + reg = <3>;
339 + regulator-name = "usb_otg_vbus";
340 + regulator-min-microvolt = <5000000>;
341 + regulator-max-microvolt = <5000000>;
342 + gpio = <&gpio3 22 0>;
343 + enable-active-high;
344 + };
345 + };
346 +
347 + sound {
348 + compatible = "fsl,imx6q-ventana-sgtl5000",
349 + "fsl,imx-audio-sgtl5000";
350 + model = "sgtl5000-audio";
351 + ssi-controller = <&ssi1>;
352 + audio-codec = <&codec>;
353 + audio-routing =
354 + "MIC_IN", "Mic Jack",
355 + "Mic Jack", "Mic Bias",
356 + "Headphone Jack", "HP_OUT";
357 + mux-int-port = <1>;
358 + mux-ext-port = <4>;
359 + };
360 +};
361 +
362 +&audmux {
363 + pinctrl-names = "default";
364 + pinctrl-0 = <&pinctrl_audmux>;
365 + status = "okay";
366 +};
367 +
368 +&ecspi1 {
369 + fsl,spi-num-chipselects = <1>;
370 + cs-gpios = <&gpio3 19 0>;
371 + pinctrl-names = "default";
372 + pinctrl-0 = <&pinctrl_ecspi1>;
373 + status = "okay";
374 +
375 + flash: m25p80@0 {
376 + compatible = "sst,w25q256";
377 + spi-max-frequency = <30000000>;
378 + reg = <0>;
379 + };
380 +};
381 +
382 +&fec {
383 + pinctrl-names = "default";
384 + pinctrl-0 = <&pinctrl_enet>;
385 + phy-mode = "rgmii";
386 + phy-reset-gpios = <&gpio1 30 0>;
387 + status = "okay";
388 +};
389 +
390 +&i2c1 {
391 + clock-frequency = <100000>;
392 + pinctrl-names = "default";
393 + pinctrl-0 = <&pinctrl_i2c1>;
394 + status = "okay";
395 +
396 + eeprom1: eeprom@50 {
397 + compatible = "atmel,24c02";
398 + reg = <0x50>;
399 + pagesize = <16>;
400 + };
401 +
402 + eeprom2: eeprom@51 {
403 + compatible = "atmel,24c02";
404 + reg = <0x51>;
405 + pagesize = <16>;
406 + };
407 +
408 + eeprom3: eeprom@52 {
409 + compatible = "atmel,24c02";
410 + reg = <0x52>;
411 + pagesize = <16>;
412 + };
413 +
414 + eeprom4: eeprom@53 {
415 + compatible = "atmel,24c02";
416 + reg = <0x53>;
417 + pagesize = <16>;
418 + };
419 +
420 + gpio: pca9555@23 {
421 + compatible = "nxp,pca9555";
422 + reg = <0x23>;
423 + gpio-controller;
424 + #gpio-cells = <2>;
425 + };
426 +
427 + hwmon: gsc@29 {
428 + compatible = "gw,gsp";
429 + reg = <0x29>;
430 + };
431 +
432 + rtc: ds1672@68 {
433 + compatible = "dallas,ds1672";
434 + reg = <0x68>;
435 + };
436 +};
437 +
438 +&i2c2 {
439 + clock-frequency = <100000>;
440 + pinctrl-names = "default";
441 + pinctrl-0 = <&pinctrl_i2c2>;
442 + status = "okay";
443 +
444 + pmic: pfuze100@08 {
445 + compatible = "fsl,pfuze100";
446 + reg = <0x08>;
447 +
448 + regulators {
449 + sw1a_reg: sw1ab {
450 + regulator-min-microvolt = <300000>;
451 + regulator-max-microvolt = <1875000>;
452 + regulator-boot-on;
453 + regulator-always-on;
454 + regulator-ramp-delay = <6250>;
455 + };
456 +
457 + sw1c_reg: sw1c {
458 + regulator-min-microvolt = <300000>;
459 + regulator-max-microvolt = <1875000>;
460 + regulator-boot-on;
461 + regulator-always-on;
462 + regulator-ramp-delay = <6250>;
463 + };
464 +
465 + sw2_reg: sw2 {
466 + regulator-min-microvolt = <800000>;
467 + regulator-max-microvolt = <3950000>;
468 + regulator-boot-on;
469 + regulator-always-on;
470 + };
471 +
472 + sw3a_reg: sw3a {
473 + regulator-min-microvolt = <400000>;
474 + regulator-max-microvolt = <1975000>;
475 + regulator-boot-on;
476 + regulator-always-on;
477 + };
478 +
479 + sw3b_reg: sw3b {
480 + regulator-min-microvolt = <400000>;
481 + regulator-max-microvolt = <1975000>;
482 + regulator-boot-on;
483 + regulator-always-on;
484 + };
485 +
486 + sw4_reg: sw4 {
487 + regulator-min-microvolt = <800000>;
488 + regulator-max-microvolt = <3300000>;
489 + };
490 +
491 + swbst_reg: swbst {
492 + regulator-min-microvolt = <5000000>;
493 + regulator-max-microvolt = <5150000>;
494 + };
495 +
496 + snvs_reg: vsnvs {
497 + regulator-min-microvolt = <1000000>;
498 + regulator-max-microvolt = <3000000>;
499 + regulator-boot-on;
500 + regulator-always-on;
501 + };
502 +
503 + vref_reg: vrefddr {
504 + regulator-boot-on;
505 + regulator-always-on;
506 + };
507 +
508 + vgen1_reg: vgen1 {
509 + regulator-min-microvolt = <800000>;
510 + regulator-max-microvolt = <1550000>;
511 + };
512 +
513 + vgen2_reg: vgen2 {
514 + regulator-min-microvolt = <800000>;
515 + regulator-max-microvolt = <1550000>;
516 + };
517 +
518 + vgen3_reg: vgen3 {
519 + regulator-min-microvolt = <1800000>;
520 + regulator-max-microvolt = <3300000>;
521 + };
522 +
523 + vgen4_reg: vgen4 {
524 + regulator-min-microvolt = <1800000>;
525 + regulator-max-microvolt = <3300000>;
526 + regulator-always-on;
527 + };
528 +
529 + vgen5_reg: vgen5 {
530 + regulator-min-microvolt = <1800000>;
531 + regulator-max-microvolt = <3300000>;
532 + regulator-always-on;
533 + };
534 +
535 + vgen6_reg: vgen6 {
536 + regulator-min-microvolt = <1800000>;
537 + regulator-max-microvolt = <3300000>;
538 + regulator-always-on;
539 + };
540 + };
541 + };
542 +
543 + pciswitch: pex8609@3f {
544 + compatible = "plx,pex8609";
545 + reg = <0x3f>;
546 + };
547 +
548 + pciclkgen: si52147@6b {
549 + compatible = "sil,si52147";
550 + reg = <0x6b>;
551 + };
552 +};
553 +
554 +&i2c3 {
555 + clock-frequency = <100000>;
556 + pinctrl-names = "default";
557 + pinctrl-0 = <&pinctrl_i2c3>;
558 + status = "okay";
559 +
560 + accelerometer: mma8450@1c {
561 + compatible = "fsl,mma8450";
562 + reg = <0x1c>;
563 + };
564 +
565 + codec: sgtl5000@0a {
566 + compatible = "fsl,sgtl5000";
567 + reg = <0x0a>;
568 + clocks = <&clks 201>;
569 + VDDA-supply = <&sw4_reg>;
570 + VDDIO-supply = <&reg_3p3v>;
571 + };
572 +
573 + hdmiin: adv7611@4c {
574 + compatible = "adi,adv7611";
575 + reg = <0x4c>;
576 + };
577 +
578 + touchscreen: egalax_ts@04 {
579 + compatible = "eeti,egalax_ts";
580 + reg = <0x04>;
581 + interrupt-parent = <&gpio7>;
582 + interrupts = <12 2>; /* gpio7_12 active low */
583 + wakeup-gpios = <&gpio7 12 0>;
584 + };
585 +
586 + videoout: adv7393@2a {
587 + compatible = "adi,adv7393";
588 + reg = <0x2a>;
589 + };
590 +
591 + videoin: adv7180@20 {
592 + compatible = "adi,adv7180";
593 + reg = <0x20>;
594 + };
595 +};
596 +
597 +&iomuxc {
598 + pinctrl-names = "default";
599 + pinctrl-0 = <&pinctrl_hog>;
600 +
601 + imx6q-gw5400-a {
602 + pinctrl_hog: hoggrp {
603 + fsl,pins = <
604 + MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x80000000 /* OTG_PWR_EN */
605 + MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x80000000 /* SPINOR_CS0# */
606 + MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* PCIE IRQ */
607 + MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* PCIE RST */
608 + MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x000130b0 /* AUD4_MCK */
609 + MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x80000000 /* GPS_PPS */
610 + MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x80000000 /* TOUCH_IRQ# */
611 + MX6QDL_PAD_KEY_COL0__GPIO4_IO06 0x80000000 /* user1 led */
612 + MX6QDL_PAD_KEY_COL2__GPIO4_IO10 0x80000000 /* user2 led */
613 + MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x80000000 /* user3 led */
614 + MX6QDL_PAD_SD1_DAT0__GPIO1_IO16 0x80000000 /* USBHUB_RST# */
615 + MX6QDL_PAD_SD1_DAT3__GPIO1_IO21 0x80000000 /* MIPI_DIO */
616 + >;
617 + };
618 +
619 + pinctrl_audmux: audmuxgrp {
620 + fsl,pins = <
621 + MX6QDL_PAD_SD2_DAT0__AUD4_RXD 0x130b0
622 + MX6QDL_PAD_SD2_DAT3__AUD4_TXC 0x130b0
623 + MX6QDL_PAD_SD2_DAT2__AUD4_TXD 0x110b0
624 + MX6QDL_PAD_SD2_DAT1__AUD4_TXFS 0x130b0
625 + >;
626 + };
627 +
628 + pinctrl_ecspi1: ecspi1grp {
629 + fsl,pins = <
630 + MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x100b1
631 + MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x100b1
632 + MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x100b1
633 + >;
634 + };
635 +
636 + pinctrl_enet: enetgrp {
637 + fsl,pins = <
638 + MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
639 + MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
640 + MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
641 + MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
642 + MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
643 + MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
644 + MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
645 + MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
646 + MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
647 + MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
648 + MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
649 + MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
650 + MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
651 + MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
652 + MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
653 + MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
654 + >;
655 + };
656 +
657 + pinctrl_i2c1: i2c1grp {
658 + fsl,pins = <
659 + MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
660 + MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
661 + >;
662 + };
663 +
664 + pinctrl_i2c2: i2c2grp {
665 + fsl,pins = <
666 + MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
667 + MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
668 + >;
669 + };
670 +
671 + pinctrl_i2c3: i2c3grp {
672 + fsl,pins = <
673 + MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
674 + MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
675 + >;
676 + };
677 +
678 + pinctrl_uart1: uart1grp {
679 + fsl,pins = <
680 + MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
681 + MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1
682 + >;
683 + };
684 +
685 + pinctrl_uart2: uart2grp {
686 + fsl,pins = <
687 + MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1
688 + MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1
689 + >;
690 + };
691 +
692 + pinctrl_uart5: uart5grp {
693 + fsl,pins = <
694 + MX6QDL_PAD_KEY_COL1__UART5_TX_DATA 0x1b0b1
695 + MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA 0x1b0b1
696 + >;
697 + };
698 +
699 + pinctrl_usbotg: usbotggrp {
700 + fsl,pins = <
701 + MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
702 + >;
703 + };
704 +
705 + pinctrl_usdhc3: usdhc3grp {
706 + fsl,pins = <
707 + MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
708 + MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
709 + MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
710 + MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
711 + MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
712 + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
713 + >;
714 + };
715 + };
716 +};
717 +
718 +&ldb {
719 + status = "okay";
720 +};
721 +
722 +&pcie {
723 + reset-gpio = <&gpio1 29 0>;
724 + status = "okay";
725 +
726 + eth1: sky2@8 { /* MAC/PHY on bus 8 */
727 + compatible = "marvell,sky2";
728 + };
729 +};
730 +
731 +&ssi1 {
732 + fsl,mode = "i2s-slave";
733 + status = "okay";
734 +};
735 +
736 +&uart1 {
737 + pinctrl-names = "default";
738 + pinctrl-0 = <&pinctrl_uart1>;
739 + status = "okay";
740 +};
741 +
742 +&uart2 {
743 + pinctrl-names = "default";
744 + pinctrl-0 = <&pinctrl_uart2>;
745 + status = "okay";
746 +};
747 +
748 +&uart5 {
749 + pinctrl-names = "default";
750 + pinctrl-0 = <&pinctrl_uart5>;
751 + status = "okay";
752 +};
753 +
754 +&usbotg {
755 + vbus-supply = <&reg_usb_otg_vbus>;
756 + pinctrl-names = "default";
757 + pinctrl-0 = <&pinctrl_usbotg>;
758 + disable-over-current;
759 + status = "okay";
760 +};
761 +
762 +&usbh1 {
763 + vbus-supply = <&reg_usb_h1_vbus>;
764 + status = "okay";
765 +};
766 +
767 +&usdhc3 {
768 + pinctrl-names = "default";
769 + pinctrl-0 = <&pinctrl_usdhc3>;
770 + cd-gpios = <&gpio7 0 0>;
771 + vmmc-supply = <&reg_3p3v>;
772 + status = "okay";
773 +};
774 --- /dev/null
775 +++ b/arch/arm/boot/dts/imx6q-gw54xx.dts
776 @@ -0,0 +1,23 @@
777 +/*
778 + * Copyright 2013 Gateworks Corporation
779 + *
780 + * The code contained herein is licensed under the GNU General Public
781 + * License. You may obtain a copy of the GNU General Public License
782 + * Version 2 or later at the following locations:
783 + *
784 + * http://www.opensource.org/licenses/gpl-license.html
785 + * http://www.gnu.org/copyleft/gpl.html
786 + */
787 +
788 +/dts-v1/;
789 +#include "imx6q.dtsi"
790 +#include "imx6qdl-gw54xx.dtsi"
791 +
792 +/ {
793 + model = "Gateworks Ventana i.MX6 Dual/Quad GW54XX";
794 + compatible = "gw,imx6q-gw54xx", "gw,ventana", "fsl,imx6q";
795 +};
796 +
797 +&sata {
798 + status = "okay";
799 +};
800 --- /dev/null
801 +++ b/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi
802 @@ -0,0 +1,374 @@
803 +/*
804 + * Copyright 2013 Gateworks Corporation
805 + *
806 + * The code contained herein is licensed under the GNU General Public
807 + * License. You may obtain a copy of the GNU General Public License
808 + * Version 2 or later at the following locations:
809 + *
810 + * http://www.opensource.org/licenses/gpl-license.html
811 + * http://www.gnu.org/copyleft/gpl.html
812 + */
813 +
814 +/ {
815 + /* these are used by bootloader for disabling nodes */
816 + aliases {
817 + can0 = &can1;
818 + ethernet0 = &fec;
819 + led0 = &led0;
820 + led1 = &led1;
821 + nand = &gpmi;
822 + usb0 = &usbh1;
823 + usb1 = &usbotg;
824 + };
825 +
826 + chosen {
827 + bootargs = "console=ttymxc1,115200";
828 + };
829 +
830 + leds {
831 + compatible = "gpio-leds";
832 +
833 + led0: user1 {
834 + label = "user1";
835 + gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
836 + default-state = "on";
837 + linux,default-trigger = "heartbeat";
838 + };
839 +
840 + led1: user2 {
841 + label = "user2";
842 + gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
843 + default-state = "off";
844 + };
845 + };
846 +
847 + memory {
848 + reg = <0x10000000 0x20000000>;
849 + };
850 +
851 + pps {
852 + compatible = "pps-gpio";
853 + gpios = <&gpio1 26 0>;
854 + status = "okay";
855 + };
856 +
857 + regulators {
858 + compatible = "simple-bus";
859 + #address-cells = <1>;
860 + #size-cells = <0>;
861 +
862 + reg_3p3v: regulator@0 {
863 + compatible = "regulator-fixed";
864 + reg = <0>;
865 + regulator-name = "3P3V";
866 + regulator-min-microvolt = <3300000>;
867 + regulator-max-microvolt = <3300000>;
868 + regulator-always-on;
869 + };
870 +
871 + reg_5p0v: regulator@1 {
872 + compatible = "regulator-fixed";
873 + reg = <1>;
874 + regulator-name = "5P0V";
875 + regulator-min-microvolt = <5000000>;
876 + regulator-max-microvolt = <5000000>;
877 + regulator-always-on;
878 + };
879 +
880 + reg_usb_otg_vbus: regulator@2 {
881 + compatible = "regulator-fixed";
882 + reg = <2>;
883 + regulator-name = "usb_otg_vbus";
884 + regulator-min-microvolt = <5000000>;
885 + regulator-max-microvolt = <5000000>;
886 + gpio = <&gpio3 22 0>;
887 + enable-active-high;
888 + };
889 + };
890 +};
891 +
892 +&fec {
893 + pinctrl-names = "default";
894 + pinctrl-0 = <&pinctrl_enet>;
895 + phy-mode = "rgmii";
896 + phy-reset-gpios = <&gpio1 30 0>;
897 + status = "okay";
898 +};
899 +
900 +&gpmi {
901 + pinctrl-names = "default";
902 + pinctrl-0 = <&pinctrl_gpmi_nand>;
903 + status = "okay";
904 +};
905 +
906 +&i2c1 {
907 + clock-frequency = <100000>;
908 + pinctrl-names = "default";
909 + pinctrl-0 = <&pinctrl_i2c1>;
910 + status = "okay";
911 +
912 + eeprom1: eeprom@50 {
913 + compatible = "atmel,24c02";
914 + reg = <0x50>;
915 + pagesize = <16>;
916 + };
917 +
918 + eeprom2: eeprom@51 {
919 + compatible = "atmel,24c02";
920 + reg = <0x51>;
921 + pagesize = <16>;
922 + };
923 +
924 + eeprom3: eeprom@52 {
925 + compatible = "atmel,24c02";
926 + reg = <0x52>;
927 + pagesize = <16>;
928 + };
929 +
930 + eeprom4: eeprom@53 {
931 + compatible = "atmel,24c02";
932 + reg = <0x53>;
933 + pagesize = <16>;
934 + };
935 +
936 + gpio: pca9555@23 {
937 + compatible = "nxp,pca9555";
938 + reg = <0x23>;
939 + gpio-controller;
940 + #gpio-cells = <2>;
941 + };
942 +
943 + hwmon: gsc@29 {
944 + compatible = "gw,gsp";
945 + reg = <0x29>;
946 + };
947 +
948 + rtc: ds1672@68 {
949 + compatible = "dallas,ds1672";
950 + reg = <0x68>;
951 + };
952 +};
953 +
954 +&i2c2 {
955 + clock-frequency = <100000>;
956 + pinctrl-names = "default";
957 + pinctrl-0 = <&pinctrl_i2c2>;
958 + status = "okay";
959 +
960 + pmic: ltc3676@3c {
961 + compatible = "ltc,ltc3676";
962 + reg = <0x3c>;
963 +
964 + regulators {
965 + sw1_reg: ltc3676__sw1 {
966 + regulator-min-microvolt = <1175000>;
967 + regulator-max-microvolt = <1175000>;
968 + regulator-boot-on;
969 + regulator-always-on;
970 + };
971 +
972 + sw2_reg: ltc3676__sw2 {
973 + regulator-min-microvolt = <1800000>;
974 + regulator-max-microvolt = <1800000>;
975 + regulator-boot-on;
976 + regulator-always-on;
977 + };
978 +
979 + sw3_reg: ltc3676__sw3 {
980 + regulator-min-microvolt = <1175000>;
981 + regulator-max-microvolt = <1175000>;
982 + regulator-boot-on;
983 + regulator-always-on;
984 + };
985 +
986 + sw4_reg: ltc3676__sw4 {
987 + regulator-min-microvolt = <1500000>;
988 + regulator-max-microvolt = <1500000>;
989 + regulator-boot-on;
990 + regulator-always-on;
991 + };
992 +
993 + ldo2_reg: ltc3676__ldo2 {
994 + regulator-min-microvolt = <2500000>;
995 + regulator-max-microvolt = <2500000>;
996 + regulator-boot-on;
997 + regulator-always-on;
998 + };
999 +
1000 + ldo4_reg: ltc3676__ldo4 {
1001 + regulator-min-microvolt = <3000000>;
1002 + regulator-max-microvolt = <3000000>;
1003 + };
1004 + };
1005 + };
1006 +};
1007 +
1008 +&i2c3 {
1009 + clock-frequency = <100000>;
1010 + pinctrl-names = "default";
1011 + pinctrl-0 = <&pinctrl_i2c3>;
1012 + status = "okay";
1013 +
1014 + videoin: adv7180@20 {
1015 + compatible = "adi,adv7180";
1016 + reg = <0x20>;
1017 + };
1018 +};
1019 +
1020 +&iomuxc {
1021 + pinctrl-names = "default";
1022 + pinctrl-0 = <&pinctrl_hog>;
1023 +
1024 + imx6qdl-gw51xx {
1025 + pinctrl_hog: hoggrp {
1026 + fsl,pins = <
1027 + MX6QDL_PAD_EIM_A19__GPIO2_IO19 0x80000000 /* MEZZ_DIO0 */
1028 + MX6QDL_PAD_EIM_A20__GPIO2_IO18 0x80000000 /* MEZZ_DIO1 */
1029 + MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x80000000 /* OTG_PWR_EN */
1030 + MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x80000000 /* GPS_PPS */
1031 + MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* PHY Reset */
1032 + MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x80000000 /* PCIE_RST# */
1033 + MX6QDL_PAD_KEY_COL0__GPIO4_IO06 0x80000000 /* user1 led */
1034 + MX6QDL_PAD_KEY_ROW0__GPIO4_IO07 0x80000000 /* user2 led */
1035 + >;
1036 + };
1037 +
1038 + pinctrl_enet: enetgrp {
1039 + fsl,pins = <
1040 + MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
1041 + MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
1042 + MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
1043 + MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
1044 + MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
1045 + MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
1046 + MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
1047 + MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
1048 + MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
1049 + MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
1050 + MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
1051 + MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
1052 + MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
1053 + MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
1054 + MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
1055 + MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
1056 + >;
1057 + };
1058 +
1059 + pinctrl_gpmi_nand: gpminandgrp {
1060 + fsl,pins = <
1061 + MX6QDL_PAD_NANDF_CLE__NAND_CLE 0xb0b1
1062 + MX6QDL_PAD_NANDF_ALE__NAND_ALE 0xb0b1
1063 + MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0xb0b1
1064 + MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0xb000
1065 + MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0xb0b1
1066 + MX6QDL_PAD_NANDF_CS1__NAND_CE1_B 0xb0b1
1067 + MX6QDL_PAD_SD4_CMD__NAND_RE_B 0xb0b1
1068 + MX6QDL_PAD_SD4_CLK__NAND_WE_B 0xb0b1
1069 + MX6QDL_PAD_NANDF_D0__NAND_DATA00 0xb0b1
1070 + MX6QDL_PAD_NANDF_D1__NAND_DATA01 0xb0b1
1071 + MX6QDL_PAD_NANDF_D2__NAND_DATA02 0xb0b1
1072 + MX6QDL_PAD_NANDF_D3__NAND_DATA03 0xb0b1
1073 + MX6QDL_PAD_NANDF_D4__NAND_DATA04 0xb0b1
1074 + MX6QDL_PAD_NANDF_D5__NAND_DATA05 0xb0b1
1075 + MX6QDL_PAD_NANDF_D6__NAND_DATA06 0xb0b1
1076 + MX6QDL_PAD_NANDF_D7__NAND_DATA07 0xb0b1
1077 + >;
1078 + };
1079 +
1080 + pinctrl_i2c1: i2c1grp {
1081 + fsl,pins = <
1082 + MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
1083 + MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
1084 + >;
1085 + };
1086 +
1087 + pinctrl_i2c2: i2c2grp {
1088 + fsl,pins = <
1089 + MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
1090 + MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
1091 + >;
1092 + };
1093 +
1094 + pinctrl_i2c3: i2c3grp {
1095 + fsl,pins = <
1096 + MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
1097 + MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
1098 + >;
1099 + };
1100 +
1101 + pinctrl_uart1: uart1grp {
1102 + fsl,pins = <
1103 + MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
1104 + MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1
1105 + >;
1106 + };
1107 +
1108 + pinctrl_uart2: uart2grp {
1109 + fsl,pins = <
1110 + MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1
1111 + MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1
1112 + >;
1113 + };
1114 +
1115 + pinctrl_uart3: uart3grp {
1116 + fsl,pins = <
1117 + MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
1118 + MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
1119 + >;
1120 + };
1121 +
1122 + pinctrl_uart5: uart5grp {
1123 + fsl,pins = <
1124 + MX6QDL_PAD_KEY_COL1__UART5_TX_DATA 0x1b0b1
1125 + MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA 0x1b0b1
1126 + >;
1127 + };
1128 +
1129 + pinctrl_usbotg: usbotggrp {
1130 + fsl,pins = <
1131 + MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
1132 + >;
1133 + };
1134 + };
1135 +};
1136 +
1137 +&pcie {
1138 + reset-gpio = <&gpio1 0 0>;
1139 + status = "okay";
1140 +};
1141 +
1142 +&uart1 {
1143 + pinctrl-names = "default";
1144 + pinctrl-0 = <&pinctrl_uart1>;
1145 + status = "okay";
1146 +};
1147 +
1148 +&uart2 {
1149 + pinctrl-names = "default";
1150 + pinctrl-0 = <&pinctrl_uart2>;
1151 + status = "okay";
1152 +};
1153 +
1154 +&uart3 {
1155 + pinctrl-names = "default";
1156 + pinctrl-0 = <&pinctrl_uart3>;
1157 + status = "okay";
1158 +};
1159 +
1160 +&uart5 {
1161 + pinctrl-names = "default";
1162 + pinctrl-0 = <&pinctrl_uart5>;
1163 + status = "okay";
1164 +};
1165 +
1166 +&usbotg {
1167 + vbus-supply = <&reg_usb_otg_vbus>;
1168 + pinctrl-names = "default";
1169 + pinctrl-0 = <&pinctrl_usbotg>;
1170 + disable-over-current;
1171 + status = "okay";
1172 +};
1173 +
1174 +&usbh1 {
1175 + status = "okay";
1176 +};
1177 --- /dev/null
1178 +++ b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
1179 @@ -0,0 +1,528 @@
1180 +/*
1181 + * Copyright 2013 Gateworks Corporation
1182 + *
1183 + * The code contained herein is licensed under the GNU General Public
1184 + * License. You may obtain a copy of the GNU General Public License
1185 + * Version 2 or later at the following locations:
1186 + *
1187 + * http://www.opensource.org/licenses/gpl-license.html
1188 + * http://www.gnu.org/copyleft/gpl.html
1189 + */
1190 +
1191 +/ {
1192 + /* these are used by bootloader for disabling nodes */
1193 + aliases {
1194 + ethernet0 = &fec;
1195 + led0 = &led0;
1196 + led1 = &led1;
1197 + led2 = &led2;
1198 + nand = &gpmi;
1199 + ssi0 = &ssi1;
1200 + usb0 = &usbh1;
1201 + usb1 = &usbotg;
1202 + usdhc2 = &usdhc3;
1203 + };
1204 +
1205 + chosen {
1206 + bootargs = "console=ttymxc1,115200";
1207 + };
1208 +
1209 + backlight {
1210 + compatible = "pwm-backlight";
1211 + pwms = <&pwm4 0 5000000>;
1212 + brightness-levels = <0 4 8 16 32 64 128 255>;
1213 + default-brightness-level = <7>;
1214 + status = "okay";
1215 + };
1216 +
1217 + leds {
1218 + compatible = "gpio-leds";
1219 +
1220 + led0: user1 {
1221 + label = "user1";
1222 + gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
1223 + default-state = "on";
1224 + linux,default-trigger = "heartbeat";
1225 + };
1226 +
1227 + led1: user2 {
1228 + label = "user2";
1229 + gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
1230 + default-state = "off";
1231 + };
1232 +
1233 + led2: user3 {
1234 + label = "user3";
1235 + gpios = <&gpio4 15 1>; /* 111 - MX6_LOCLED# */
1236 + default-state = "off";
1237 + };
1238 + };
1239 +
1240 + memory {
1241 + reg = <0x10000000 0x20000000>;
1242 + };
1243 +
1244 + pps {
1245 + compatible = "pps-gpio";
1246 + gpios = <&gpio1 26 0>;
1247 + status = "okay";
1248 + };
1249 +
1250 + regulators {
1251 + compatible = "simple-bus";
1252 + #address-cells = <1>;
1253 + #size-cells = <0>;
1254 +
1255 + reg_1p0v: regulator@0 {
1256 + compatible = "regulator-fixed";
1257 + reg = <0>;
1258 + regulator-name = "1P0V";
1259 + regulator-min-microvolt = <1000000>;
1260 + regulator-max-microvolt = <1000000>;
1261 + regulator-always-on;
1262 + };
1263 +
1264 + /* remove this fixed regulator once ltc3676__sw2 driver available */
1265 + reg_1p8v: regulator@1 {
1266 + compatible = "regulator-fixed";
1267 + reg = <1>;
1268 + regulator-name = "1P8V";
1269 + regulator-min-microvolt = <1800000>;
1270 + regulator-max-microvolt = <1800000>;
1271 + regulator-always-on;
1272 + };
1273 +
1274 + reg_3p3v: regulator@2 {
1275 + compatible = "regulator-fixed";
1276 + reg = <2>;
1277 + regulator-name = "3P3V";
1278 + regulator-min-microvolt = <3300000>;
1279 + regulator-max-microvolt = <3300000>;
1280 + regulator-always-on;
1281 + };
1282 +
1283 + reg_5p0v: regulator@3 {
1284 + compatible = "regulator-fixed";
1285 + reg = <3>;
1286 + regulator-name = "5P0V";
1287 + regulator-min-microvolt = <5000000>;
1288 + regulator-max-microvolt = <5000000>;
1289 + regulator-always-on;
1290 + };
1291 +
1292 + reg_usb_otg_vbus: regulator@4 {
1293 + compatible = "regulator-fixed";
1294 + reg = <4>;
1295 + regulator-name = "usb_otg_vbus";
1296 + regulator-min-microvolt = <5000000>;
1297 + regulator-max-microvolt = <5000000>;
1298 + gpio = <&gpio3 22 0>;
1299 + enable-active-high;
1300 + };
1301 + };
1302 +
1303 + sound {
1304 + compatible = "fsl,imx6q-ventana-sgtl5000",
1305 + "fsl,imx-audio-sgtl5000";
1306 + model = "sgtl5000-audio";
1307 + ssi-controller = <&ssi1>;
1308 + audio-codec = <&codec>;
1309 + audio-routing =
1310 + "MIC_IN", "Mic Jack",
1311 + "Mic Jack", "Mic Bias",
1312 + "Headphone Jack", "HP_OUT";
1313 + mux-int-port = <1>;
1314 + mux-ext-port = <4>;
1315 + };
1316 +};
1317 +
1318 +&audmux {
1319 + pinctrl-names = "default";
1320 + pinctrl-0 = <&pinctrl_audmux>;
1321 + status = "okay";
1322 +};
1323 +
1324 +&fec {
1325 + pinctrl-names = "default";
1326 + pinctrl-0 = <&pinctrl_enet>;
1327 + phy-mode = "rgmii";
1328 + phy-reset-gpios = <&gpio1 30 0>;
1329 + status = "okay";
1330 +};
1331 +
1332 +&gpmi {
1333 + pinctrl-names = "default";
1334 + pinctrl-0 = <&pinctrl_gpmi_nand>;
1335 + status = "okay";
1336 +};
1337 +
1338 +&i2c1 {
1339 + clock-frequency = <100000>;
1340 + pinctrl-names = "default";
1341 + pinctrl-0 = <&pinctrl_i2c1>;
1342 + status = "okay";
1343 +
1344 + eeprom1: eeprom@50 {
1345 + compatible = "atmel,24c02";
1346 + reg = <0x50>;
1347 + pagesize = <16>;
1348 + };
1349 +
1350 + eeprom2: eeprom@51 {
1351 + compatible = "atmel,24c02";
1352 + reg = <0x51>;
1353 + pagesize = <16>;
1354 + };
1355 +
1356 + eeprom3: eeprom@52 {
1357 + compatible = "atmel,24c02";
1358 + reg = <0x52>;
1359 + pagesize = <16>;
1360 + };
1361 +
1362 + eeprom4: eeprom@53 {
1363 + compatible = "atmel,24c02";
1364 + reg = <0x53>;
1365 + pagesize = <16>;
1366 + };
1367 +
1368 + gpio: pca9555@23 {
1369 + compatible = "nxp,pca9555";
1370 + reg = <0x23>;
1371 + gpio-controller;
1372 + #gpio-cells = <2>;
1373 + };
1374 +
1375 + hwmon: gsc@29 {
1376 + compatible = "gw,gsp";
1377 + reg = <0x29>;
1378 + };
1379 +
1380 + rtc: ds1672@68 {
1381 + compatible = "dallas,ds1672";
1382 + reg = <0x68>;
1383 + };
1384 +};
1385 +
1386 +&i2c2 {
1387 + clock-frequency = <100000>;
1388 + pinctrl-names = "default";
1389 + pinctrl-0 = <&pinctrl_i2c2>;
1390 + status = "okay";
1391 +
1392 + pciswitch: pex8609@3f {
1393 + compatible = "plx,pex8609";
1394 + reg = <0x3f>;
1395 + };
1396 +
1397 + pmic: ltc3676@3c {
1398 + compatible = "ltc,ltc3676";
1399 + reg = <0x3c>;
1400 +
1401 + regulators {
1402 + sw1_reg: ltc3676__sw1 {
1403 + regulator-min-microvolt = <1175000>;
1404 + regulator-max-microvolt = <1175000>;
1405 + regulator-boot-on;
1406 + regulator-always-on;
1407 + };
1408 +
1409 + sw2_reg: ltc3676__sw2 {
1410 + regulator-min-microvolt = <1800000>;
1411 + regulator-max-microvolt = <1800000>;
1412 + regulator-boot-on;
1413 + regulator-always-on;
1414 + };
1415 +
1416 + sw3_reg: ltc3676__sw3 {
1417 + regulator-min-microvolt = <1175000>;
1418 + regulator-max-microvolt = <1175000>;
1419 + regulator-boot-on;
1420 + regulator-always-on;
1421 + };
1422 +
1423 + sw4_reg: ltc3676__sw4 {
1424 + regulator-min-microvolt = <1500000>;
1425 + regulator-max-microvolt = <1500000>;
1426 + regulator-boot-on;
1427 + regulator-always-on;
1428 + };
1429 +
1430 + ldo2_reg: ltc3676__ldo2 {
1431 + regulator-min-microvolt = <2500000>;
1432 + regulator-max-microvolt = <2500000>;
1433 + regulator-boot-on;
1434 + regulator-always-on;
1435 + };
1436 +
1437 + ldo3_reg: ltc3676__ldo3 {
1438 + regulator-min-microvolt = <1800000>;
1439 + regulator-max-microvolt = <1800000>;
1440 + regulator-boot-on;
1441 + regulator-always-on;
1442 + };
1443 +
1444 + ldo4_reg: ltc3676__ldo4 {
1445 + regulator-min-microvolt = <3000000>;
1446 + regulator-max-microvolt = <3000000>;
1447 + };
1448 + };
1449 + };
1450 +};
1451 +
1452 +&i2c3 {
1453 + clock-frequency = <100000>;
1454 + pinctrl-names = "default";
1455 + pinctrl-0 = <&pinctrl_i2c3>;
1456 + status = "okay";
1457 +
1458 + accelerometer: fxos8700@1e {
1459 + compatible = "fsl,fxos8700";
1460 + reg = <0x13>;
1461 + };
1462 +
1463 + codec: sgtl5000@0a {
1464 + compatible = "fsl,sgtl5000";
1465 + reg = <0x0a>;
1466 + clocks = <&clks 201>;
1467 + VDDA-supply = <&reg_1p8v>;
1468 + VDDIO-supply = <&reg_3p3v>;
1469 + };
1470 +
1471 + touchscreen: egalax_ts@04 {
1472 + compatible = "eeti,egalax_ts";
1473 + reg = <0x04>;
1474 + interrupt-parent = <&gpio7>;
1475 + interrupts = <12 2>; /* gpio7_12 active low */
1476 + wakeup-gpios = <&gpio7 12 0>;
1477 + };
1478 +
1479 + videoin: adv7180@20 {
1480 + compatible = "adi,adv7180";
1481 + reg = <0x20>;
1482 + };
1483 +};
1484 +
1485 +&iomuxc {
1486 + pinctrl-names = "default";
1487 + pinctrl-0 = <&pinctrl_hog>;
1488 +
1489 + imx6qdl-gw52xx {
1490 + pinctrl_hog: hoggrp {
1491 + fsl,pins = <
1492 + MX6QDL_PAD_EIM_A19__GPIO2_IO19 0x80000000 /* MEZZ_DIO0 */
1493 + MX6QDL_PAD_EIM_A20__GPIO2_IO18 0x80000000 /* MEZZ_DIO1 */
1494 + MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x80000000 /* OTG_PWR_EN */
1495 + MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x80000000 /* VIDDEC_PDN# */
1496 + MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* PHY Reset */
1497 + MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* PCIE_RST# */
1498 + MX6QDL_PAD_ENET_RXD0__GPIO1_IO27 0x80000000 /* GPS_PWDN */
1499 + MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x80000000 /* GPS_PPS */
1500 + MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x000130b0 /* AUD4_MCK */
1501 + MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* USB_SEL_PCI */
1502 + MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x80000000 /* TOUCH_IRQ# */
1503 + MX6QDL_PAD_KEY_COL0__GPIO4_IO06 0x80000000 /* user1 led */
1504 + MX6QDL_PAD_KEY_ROW0__GPIO4_IO07 0x80000000 /* user2 led */
1505 + MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x80000000 /* user3 led */
1506 + MX6QDL_PAD_SD2_CMD__GPIO1_IO11 0x80000000 /* LVDS_TCH# */
1507 + MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x80000000 /* SD3_CD# */
1508 + MX6QDL_PAD_SD4_DAT3__GPIO2_IO11 0x80000000 /* UART2_EN# */
1509 + >;
1510 + };
1511 +
1512 + pinctrl_audmux: audmuxgrp {
1513 + fsl,pins = <
1514 + MX6QDL_PAD_SD2_DAT0__AUD4_RXD 0x130b0
1515 + MX6QDL_PAD_SD2_DAT3__AUD4_TXC 0x130b0
1516 + MX6QDL_PAD_SD2_DAT2__AUD4_TXD 0x110b0
1517 + MX6QDL_PAD_SD2_DAT1__AUD4_TXFS 0x130b0
1518 + >;
1519 + };
1520 +
1521 + pinctrl_enet: enetgrp {
1522 + fsl,pins = <
1523 + MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
1524 + MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
1525 + MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
1526 + MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
1527 + MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
1528 + MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
1529 + MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
1530 + MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
1531 + MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
1532 + MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
1533 + MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
1534 + MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
1535 + MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
1536 + MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
1537 + MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
1538 + MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
1539 + >;
1540 + };
1541 +
1542 + pinctrl_gpmi_nand: gpminandgrp {
1543 + fsl,pins = <
1544 + MX6QDL_PAD_NANDF_CLE__NAND_CLE 0xb0b1
1545 + MX6QDL_PAD_NANDF_ALE__NAND_ALE 0xb0b1
1546 + MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0xb0b1
1547 + MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0xb000
1548 + MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0xb0b1
1549 + MX6QDL_PAD_NANDF_CS1__NAND_CE1_B 0xb0b1
1550 + MX6QDL_PAD_SD4_CMD__NAND_RE_B 0xb0b1
1551 + MX6QDL_PAD_SD4_CLK__NAND_WE_B 0xb0b1
1552 + MX6QDL_PAD_NANDF_D0__NAND_DATA00 0xb0b1
1553 + MX6QDL_PAD_NANDF_D1__NAND_DATA01 0xb0b1
1554 + MX6QDL_PAD_NANDF_D2__NAND_DATA02 0xb0b1
1555 + MX6QDL_PAD_NANDF_D3__NAND_DATA03 0xb0b1
1556 + MX6QDL_PAD_NANDF_D4__NAND_DATA04 0xb0b1
1557 + MX6QDL_PAD_NANDF_D5__NAND_DATA05 0xb0b1
1558 + MX6QDL_PAD_NANDF_D6__NAND_DATA06 0xb0b1
1559 + MX6QDL_PAD_NANDF_D7__NAND_DATA07 0xb0b1
1560 + >;
1561 + };
1562 +
1563 + pinctrl_i2c1: i2c1grp {
1564 + fsl,pins = <
1565 + MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
1566 + MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
1567 + >;
1568 + };
1569 +
1570 + pinctrl_i2c2: i2c2grp {
1571 + fsl,pins = <
1572 + MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
1573 + MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
1574 + >;
1575 + };
1576 +
1577 + pinctrl_i2c3: i2c3grp {
1578 + fsl,pins = <
1579 + MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
1580 + MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
1581 + >;
1582 + };
1583 +
1584 + pinctrl_pwm4: pwm4grp {
1585 + fsl,pins = <
1586 + MX6QDL_PAD_SD1_CMD__PWM4_OUT 0x1b0b1
1587 + >;
1588 + };
1589 +
1590 + pinctrl_uart1: uart1grp {
1591 + fsl,pins = <
1592 + MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
1593 + MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1
1594 + >;
1595 + };
1596 +
1597 + pinctrl_uart2: uart2grp {
1598 + fsl,pins = <
1599 + MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1
1600 + MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1
1601 + >;
1602 + };
1603 +
1604 + pinctrl_uart5: uart5grp {
1605 + fsl,pins = <
1606 + MX6QDL_PAD_KEY_COL1__UART5_TX_DATA 0x1b0b1
1607 + MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA 0x1b0b1
1608 + >;
1609 + };
1610 +
1611 + pinctrl_usbotg: usbotggrp {
1612 + fsl,pins = <
1613 + MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
1614 + >;
1615 + };
1616 +
1617 + pinctrl_usdhc3: usdhc3grp {
1618 + fsl,pins = <
1619 + MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
1620 + MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
1621 + MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
1622 + MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
1623 + MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
1624 + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
1625 + >;
1626 + };
1627 + };
1628 +};
1629 +
1630 +&ldb {
1631 + status = "okay";
1632 +
1633 + lvds-channel@0 {
1634 + fsl,data-mapping = "spwg";
1635 + fsl,data-width = <18>;
1636 + status = "okay";
1637 +
1638 + display-timings {
1639 + native-mode = <&timing0>;
1640 + timing0: hsd100pxn1 {
1641 + clock-frequency = <65000000>;
1642 + hactive = <1024>;
1643 + vactive = <768>;
1644 + hback-porch = <220>;
1645 + hfront-porch = <40>;
1646 + vback-porch = <21>;
1647 + vfront-porch = <7>;
1648 + hsync-len = <60>;
1649 + vsync-len = <10>;
1650 + };
1651 + };
1652 + };
1653 +};
1654 +
1655 +&pcie {
1656 + reset-gpio = <&gpio1 29 0>;
1657 + status = "okay";
1658 +};
1659 +
1660 +&pwm4 {
1661 + pinctrl-names = "default";
1662 + pinctrl-0 = <&pinctrl_pwm4>;
1663 + status = "okay";
1664 +};
1665 +
1666 +&ssi1 {
1667 + fsl,mode = "i2s-slave";
1668 + status = "okay";
1669 +};
1670 +
1671 +&uart1 {
1672 + pinctrl-names = "default";
1673 + pinctrl-0 = <&pinctrl_uart1>;
1674 + status = "okay";
1675 +};
1676 +
1677 +&uart2 {
1678 + pinctrl-names = "default";
1679 + pinctrl-0 = <&pinctrl_uart2>;
1680 + status = "okay";
1681 +};
1682 +
1683 +&uart5 {
1684 + pinctrl-names = "default";
1685 + pinctrl-0 = <&pinctrl_uart5>;
1686 + status = "okay";
1687 +};
1688 +
1689 +&usbotg {
1690 + vbus-supply = <&reg_usb_otg_vbus>;
1691 + pinctrl-names = "default";
1692 + pinctrl-0 = <&pinctrl_usbotg>;
1693 + disable-over-current;
1694 + status = "okay";
1695 +};
1696 +
1697 +&usbh1 {
1698 + status = "okay";
1699 +};
1700 +
1701 +&usdhc3 {
1702 + pinctrl-names = "default";
1703 + pinctrl-0 = <&pinctrl_usdhc3>;
1704 + cd-gpios = <&gpio7 0 0>;
1705 + vmmc-supply = <&reg_3p3v>;
1706 + status = "okay";
1707 +};
1708 --- /dev/null
1709 +++ b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi
1710 @@ -0,0 +1,573 @@
1711 +/*
1712 + * Copyright 2013 Gateworks Corporation
1713 + *
1714 + * The code contained herein is licensed under the GNU General Public
1715 + * License. You may obtain a copy of the GNU General Public License
1716 + * Version 2 or later at the following locations:
1717 + *
1718 + * http://www.opensource.org/licenses/gpl-license.html
1719 + * http://www.gnu.org/copyleft/gpl.html
1720 + */
1721 +
1722 +/ {
1723 + /* these are used by bootloader for disabling nodes */
1724 + aliases {
1725 + can0 = &can1;
1726 + ethernet0 = &fec;
1727 + ethernet1 = &eth1;
1728 + led0 = &led0;
1729 + led1 = &led1;
1730 + led2 = &led2;
1731 + nand = &gpmi;
1732 + sky2 = &eth1;
1733 + ssi0 = &ssi1;
1734 + usb0 = &usbh1;
1735 + usb1 = &usbotg;
1736 + usdhc2 = &usdhc3;
1737 + };
1738 +
1739 + chosen {
1740 + bootargs = "console=ttymxc1,115200";
1741 + };
1742 +
1743 + backlight {
1744 + compatible = "pwm-backlight";
1745 + pwms = <&pwm4 0 5000000>;
1746 + brightness-levels = <0 4 8 16 32 64 128 255>;
1747 + default-brightness-level = <7>;
1748 + status = "okay";
1749 + };
1750 +
1751 + leds {
1752 + compatible = "gpio-leds";
1753 +
1754 + led0: user1 {
1755 + label = "user1";
1756 + gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
1757 + default-state = "on";
1758 + linux,default-trigger = "heartbeat";
1759 + };
1760 +
1761 + led1: user2 {
1762 + label = "user2";
1763 + gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
1764 + default-state = "off";
1765 + };
1766 +
1767 + led2: user3 {
1768 + label = "user3";
1769 + gpios = <&gpio4 15 1>; /* 111 -> MX6_LOCLED# */
1770 + default-state = "off";
1771 + };
1772 + };
1773 +
1774 + memory {
1775 + reg = <0x10000000 0x40000000>;
1776 + };
1777 +
1778 + pps {
1779 + compatible = "pps-gpio";
1780 + gpios = <&gpio1 26 0>;
1781 + status = "okay";
1782 + };
1783 +
1784 + regulators {
1785 + compatible = "simple-bus";
1786 + #address-cells = <1>;
1787 + #size-cells = <0>;
1788 +
1789 + reg_1p0v: regulator@0 {
1790 + compatible = "regulator-fixed";
1791 + reg = <0>;
1792 + regulator-name = "1P0V";
1793 + regulator-min-microvolt = <1000000>;
1794 + regulator-max-microvolt = <1000000>;
1795 + regulator-always-on;
1796 + };
1797 +
1798 + /* remove when pmic 1p8 regulator available */
1799 + reg_1p8v: regulator@1 {
1800 + compatible = "regulator-fixed";
1801 + reg = <1>;
1802 + regulator-name = "1P8V";
1803 + regulator-min-microvolt = <1800000>;
1804 + regulator-max-microvolt = <1800000>;
1805 + regulator-always-on;
1806 + };
1807 +
1808 + reg_3p3v: regulator@2 {
1809 + compatible = "regulator-fixed";
1810 + reg = <2>;
1811 + regulator-name = "3P3V";
1812 + regulator-min-microvolt = <3300000>;
1813 + regulator-max-microvolt = <3300000>;
1814 + regulator-always-on;
1815 + };
1816 +
1817 + reg_usb_h1_vbus: regulator@3 {
1818 + compatible = "regulator-fixed";
1819 + reg = <3>;
1820 + regulator-name = "usb_h1_vbus";
1821 + regulator-min-microvolt = <5000000>;
1822 + regulator-max-microvolt = <5000000>;
1823 + regulator-always-on;
1824 + };
1825 +
1826 + reg_usb_otg_vbus: regulator@4 {
1827 + compatible = "regulator-fixed";
1828 + reg = <4>;
1829 + regulator-name = "usb_otg_vbus";
1830 + regulator-min-microvolt = <5000000>;
1831 + regulator-max-microvolt = <5000000>;
1832 + gpio = <&gpio3 22 0>;
1833 + enable-active-high;
1834 + };
1835 + };
1836 +
1837 + sound {
1838 + compatible = "fsl,imx6q-ventana-sgtl5000",
1839 + "fsl,imx-audio-sgtl5000";
1840 + model = "sgtl5000-audio";
1841 + ssi-controller = <&ssi1>;
1842 + audio-codec = <&codec>;
1843 + audio-routing =
1844 + "MIC_IN", "Mic Jack",
1845 + "Mic Jack", "Mic Bias",
1846 + "Headphone Jack", "HP_OUT";
1847 + mux-int-port = <1>;
1848 + mux-ext-port = <4>;
1849 + };
1850 +};
1851 +
1852 +&audmux {
1853 + pinctrl-names = "default";
1854 + pinctrl-0 = <&pinctrl_audmux>;
1855 + status = "okay";
1856 +};
1857 +
1858 +&can1 {
1859 + pinctrl-names = "default";
1860 + pinctrl-0 = <&pinctrl_flexcan1>;
1861 + status = "okay";
1862 +};
1863 +
1864 +&fec {
1865 + pinctrl-names = "default";
1866 + pinctrl-0 = <&pinctrl_enet>;
1867 + phy-mode = "rgmii";
1868 + phy-reset-gpios = <&gpio1 30 0>;
1869 + status = "okay";
1870 +};
1871 +
1872 +&gpmi {
1873 + pinctrl-names = "default";
1874 + pinctrl-0 = <&pinctrl_gpmi_nand>;
1875 + status = "okay";
1876 +};
1877 +
1878 +&i2c1 {
1879 + clock-frequency = <100000>;
1880 + pinctrl-names = "default";
1881 + pinctrl-0 = <&pinctrl_i2c1>;
1882 + status = "okay";
1883 +
1884 + eeprom1: eeprom@50 {
1885 + compatible = "atmel,24c02";
1886 + reg = <0x50>;
1887 + pagesize = <16>;
1888 + };
1889 +
1890 + eeprom2: eeprom@51 {
1891 + compatible = "atmel,24c02";
1892 + reg = <0x51>;
1893 + pagesize = <16>;
1894 + };
1895 +
1896 + eeprom3: eeprom@52 {
1897 + compatible = "atmel,24c02";
1898 + reg = <0x52>;
1899 + pagesize = <16>;
1900 + };
1901 +
1902 + eeprom4: eeprom@53 {
1903 + compatible = "atmel,24c02";
1904 + reg = <0x53>;
1905 + pagesize = <16>;
1906 + };
1907 +
1908 + gpio: pca9555@23 {
1909 + compatible = "nxp,pca9555";
1910 + reg = <0x23>;
1911 + gpio-controller;
1912 + #gpio-cells = <2>;
1913 + };
1914 +
1915 + hwmon: gsc@29 {
1916 + compatible = "gw,gsp";
1917 + reg = <0x29>;
1918 + };
1919 +
1920 + rtc: ds1672@68 {
1921 + compatible = "dallas,ds1672";
1922 + reg = <0x68>;
1923 + };
1924 +};
1925 +
1926 +&i2c2 {
1927 + clock-frequency = <100000>;
1928 + pinctrl-names = "default";
1929 + pinctrl-0 = <&pinctrl_i2c2>;
1930 + status = "okay";
1931 +
1932 + pciclkgen: si53156@6b {
1933 + compatible = "sil,si53156";
1934 + reg = <0x6b>;
1935 + };
1936 +
1937 + pciswitch: pex8606@3f {
1938 + compatible = "plx,pex8606";
1939 + reg = <0x3f>;
1940 + };
1941 +
1942 + pmic: ltc3676@3c {
1943 + compatible = "ltc,ltc3676";
1944 + reg = <0x3c>;
1945 +
1946 + regulators {
1947 + /* VDD_SOC */
1948 + sw1_reg: ltc3676__sw1 {
1949 + regulator-min-microvolt = <1175000>;
1950 + regulator-max-microvolt = <1175000>;
1951 + regulator-boot-on;
1952 + regulator-always-on;
1953 + };
1954 +
1955 + /* VDD_1P8 */
1956 + sw2_reg: ltc3676__sw2 {
1957 + regulator-min-microvolt = <1800000>;
1958 + regulator-max-microvolt = <1800000>;
1959 + regulator-boot-on;
1960 + regulator-always-on;
1961 + };
1962 +
1963 + /* VDD_ARM */
1964 + sw3_reg: ltc3676__sw3 {
1965 + regulator-min-microvolt = <1175000>;
1966 + regulator-max-microvolt = <1175000>;
1967 + regulator-boot-on;
1968 + regulator-always-on;
1969 + };
1970 +
1971 + /* VDD_DDR */
1972 + sw4_reg: ltc3676__sw4 {
1973 + regulator-min-microvolt = <1500000>;
1974 + regulator-max-microvolt = <1500000>;
1975 + regulator-boot-on;
1976 + regulator-always-on;
1977 + };
1978 +
1979 + /* VDD_2P5 */
1980 + ldo2_reg: ltc3676__ldo2 {
1981 + regulator-min-microvolt = <2500000>;
1982 + regulator-max-microvolt = <2500000>;
1983 + regulator-boot-on;
1984 + regulator-always-on;
1985 + };
1986 +
1987 + /* VDD_1P8 */
1988 + ldo3_reg: ltc3676__ldo3 {
1989 + regulator-min-microvolt = <1800000>;
1990 + regulator-max-microvolt = <1800000>;
1991 + regulator-boot-on;
1992 + regulator-always-on;
1993 + };
1994 +
1995 + /* VDD_HIGH */
1996 + ldo4_reg: ltc3676__ldo4 {
1997 + regulator-min-microvolt = <3000000>;
1998 + regulator-max-microvolt = <3000000>;
1999 + };
2000 + };
2001 + };
2002 +};
2003 +
2004 +&i2c3 {
2005 + clock-frequency = <100000>;
2006 + pinctrl-names = "default";
2007 + pinctrl-0 = <&pinctrl_i2c3>;
2008 + status = "okay";
2009 +
2010 + accelerometer: fxos8700@1e {
2011 + compatible = "fsl,fxos8700";
2012 + reg = <0x1e>;
2013 + };
2014 +
2015 + codec: sgtl5000@0a {
2016 + compatible = "fsl,sgtl5000";
2017 + reg = <0x0a>;
2018 + clocks = <&clks 201>;
2019 + VDDA-supply = <&reg_1p8v>;
2020 + VDDIO-supply = <&reg_3p3v>;
2021 + };
2022 +
2023 + hdmiin: adv7611@4c {
2024 + compatible = "adi,adv7611";
2025 + reg = <0x4c>;
2026 + };
2027 +
2028 + touchscreen: egalax_ts@04 {
2029 + compatible = "eeti,egalax_ts";
2030 + reg = <0x04>;
2031 + interrupt-parent = <&gpio1>;
2032 + interrupts = <11 2>; /* gpio1_11 active low */
2033 + wakeup-gpios = <&gpio1 11 0>;
2034 + };
2035 +
2036 + videoout: adv7393@2a {
2037 + compatible = "adi,adv7393";
2038 + reg = <0x2a>;
2039 + };
2040 +
2041 + videoin: adv7180@20 {
2042 + compatible = "adi,adv7180";
2043 + reg = <0x20>;
2044 + };
2045 +};
2046 +
2047 +&iomuxc {
2048 + pinctrl-names = "default";
2049 + pinctrl-0 = <&pinctrl_hog>;
2050 +
2051 + imx6qdl-gw53xx {
2052 + pinctrl_hog: hoggrp {
2053 + fsl,pins = <
2054 + MX6QDL_PAD_EIM_A19__GPIO2_IO19 0x80000000 /* PCIE6EXP_DIO0 */
2055 + MX6QDL_PAD_EIM_A20__GPIO2_IO18 0x80000000 /* PCIE6EXP_DIO1 */
2056 + MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x80000000 /* OTG_PWR_EN */
2057 + MX6QDL_PAD_ENET_RXD0__GPIO1_IO27 0x80000000 /* GPS_SHDN */
2058 + MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x80000000 /* GPS_PPS */
2059 + MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* PCIE IRQ */
2060 + MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* PCIE RST */
2061 + MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x000130b0 /* AUD4_MCK */
2062 + MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* CAN_STBY */
2063 + MX6QDL_PAD_GPIO_8__GPIO1_IO08 0x80000000 /* PMIC_IRQ# */
2064 + MX6QDL_PAD_GPIO_9__GPIO1_IO09 0x80000000 /* HUB_RST# */
2065 + MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x80000000 /* PCIE_WDIS# */
2066 + MX6QDL_PAD_GPIO_19__GPIO4_IO05 0x80000000 /* ACCEL_IRQ# */
2067 + MX6QDL_PAD_KEY_COL0__GPIO4_IO06 0x80000000 /* user1 led */
2068 + MX6QDL_PAD_KEY_COL4__GPIO4_IO14 0x80000000 /* USBOTG_OC# */
2069 + MX6QDL_PAD_KEY_ROW0__GPIO4_IO07 0x80000000 /* user2 led */
2070 + MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x80000000 /* user3 led */
2071 + MX6QDL_PAD_SD2_CMD__GPIO1_IO11 0x80000000 /* TOUCH_IRQ# */
2072 + MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x80000000 /* SD3_DET# */
2073 + >;
2074 + };
2075 +
2076 + pinctrl_audmux: audmuxgrp {
2077 + fsl,pins = <
2078 + MX6QDL_PAD_SD2_DAT0__AUD4_RXD 0x130b0
2079 + MX6QDL_PAD_SD2_DAT3__AUD4_TXC 0x130b0
2080 + MX6QDL_PAD_SD2_DAT2__AUD4_TXD 0x110b0
2081 + MX6QDL_PAD_SD2_DAT1__AUD4_TXFS 0x130b0
2082 + >;
2083 + };
2084 +
2085 + pinctrl_enet: enetgrp {
2086 + fsl,pins = <
2087 + MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
2088 + MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
2089 + MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
2090 + MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
2091 + MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
2092 + MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
2093 + MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
2094 + MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
2095 + MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
2096 + MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
2097 + MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
2098 + MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
2099 + MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
2100 + MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
2101 + MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
2102 + MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
2103 + >;
2104 + };
2105 +
2106 + pinctrl_flexcan1: flexcan1grp {
2107 + fsl,pins = <
2108 + MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x80000000
2109 + MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x80000000
2110 + >;
2111 + };
2112 +
2113 + pinctrl_gpmi_nand: gpminandgrp {
2114 + fsl,pins = <
2115 + MX6QDL_PAD_NANDF_CLE__NAND_CLE 0xb0b1
2116 + MX6QDL_PAD_NANDF_ALE__NAND_ALE 0xb0b1
2117 + MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0xb0b1
2118 + MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0xb000
2119 + MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0xb0b1
2120 + MX6QDL_PAD_NANDF_CS1__NAND_CE1_B 0xb0b1
2121 + MX6QDL_PAD_SD4_CMD__NAND_RE_B 0xb0b1
2122 + MX6QDL_PAD_SD4_CLK__NAND_WE_B 0xb0b1
2123 + MX6QDL_PAD_NANDF_D0__NAND_DATA00 0xb0b1
2124 + MX6QDL_PAD_NANDF_D1__NAND_DATA01 0xb0b1
2125 + MX6QDL_PAD_NANDF_D2__NAND_DATA02 0xb0b1
2126 + MX6QDL_PAD_NANDF_D3__NAND_DATA03 0xb0b1
2127 + MX6QDL_PAD_NANDF_D4__NAND_DATA04 0xb0b1
2128 + MX6QDL_PAD_NANDF_D5__NAND_DATA05 0xb0b1
2129 + MX6QDL_PAD_NANDF_D6__NAND_DATA06 0xb0b1
2130 + MX6QDL_PAD_NANDF_D7__NAND_DATA07 0xb0b1
2131 + >;
2132 + };
2133 +
2134 + pinctrl_i2c1: i2c1grp {
2135 + fsl,pins = <
2136 + MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
2137 + MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
2138 + >;
2139 + };
2140 +
2141 + pinctrl_i2c2: i2c2grp {
2142 + fsl,pins = <
2143 + MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
2144 + MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
2145 + >;
2146 + };
2147 +
2148 + pinctrl_i2c3: i2c3grp {
2149 + fsl,pins = <
2150 + MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
2151 + MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
2152 + >;
2153 + };
2154 +
2155 + pinctrl_pwm4: pwm4grp {
2156 + fsl,pins = <
2157 + MX6QDL_PAD_SD1_CMD__PWM4_OUT 0x1b0b1
2158 + >;
2159 + };
2160 +
2161 + pinctrl_uart1: uart1grp {
2162 + fsl,pins = <
2163 + MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
2164 + MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1
2165 + >;
2166 + };
2167 +
2168 + pinctrl_uart2: uart2grp {
2169 + fsl,pins = <
2170 + MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1
2171 + MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1
2172 + >;
2173 + };
2174 +
2175 + pinctrl_uart5: uart5grp {
2176 + fsl,pins = <
2177 + MX6QDL_PAD_KEY_COL1__UART5_TX_DATA 0x1b0b1
2178 + MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA 0x1b0b1
2179 + >;
2180 + };
2181 +
2182 + pinctrl_usbotg: usbotggrp {
2183 + fsl,pins = <
2184 + MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
2185 + >;
2186 + };
2187 +
2188 + pinctrl_usdhc3: usdhc3grp {
2189 + fsl,pins = <
2190 + MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
2191 + MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
2192 + MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
2193 + MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
2194 + MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
2195 + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
2196 + >;
2197 + };
2198 + };
2199 +};
2200 +
2201 +&ldb {
2202 + status = "okay";
2203 +
2204 + lvds-channel@0 {
2205 + fsl,data-mapping = "spwg";
2206 + fsl,data-width = <18>;
2207 + status = "okay";
2208 +
2209 + display-timings {
2210 + native-mode = <&timing0>;
2211 + timing0: hsd100pxn1 {
2212 + clock-frequency = <65000000>;
2213 + hactive = <1024>;
2214 + vactive = <768>;
2215 + hback-porch = <220>;
2216 + hfront-porch = <40>;
2217 + vback-porch = <21>;
2218 + vfront-porch = <7>;
2219 + hsync-len = <60>;
2220 + vsync-len = <10>;
2221 + };
2222 + };
2223 + };
2224 +};
2225 +
2226 +&pcie {
2227 + reset-gpio = <&gpio1 29 0>;
2228 + status = "okay";
2229 +
2230 + eth1: sky2@8 { /* MAC/PHY on bus 8 */
2231 + compatible = "marvell,sky2";
2232 + };
2233 +};
2234 +
2235 +&pwm4 {
2236 + pinctrl-names = "default";
2237 + pinctrl-0 = <&pinctrl_pwm4>;
2238 + status = "okay";
2239 +};
2240 +
2241 +&ssi1 {
2242 + fsl,mode = "i2s-slave";
2243 + status = "okay";
2244 +};
2245 +
2246 +&uart1 {
2247 + pinctrl-names = "default";
2248 + pinctrl-0 = <&pinctrl_uart1>;
2249 + status = "okay";
2250 +};
2251 +
2252 +&uart2 {
2253 + pinctrl-names = "default";
2254 + pinctrl-0 = <&pinctrl_uart2>;
2255 + status = "okay";
2256 +};
2257 +
2258 +&uart5 {
2259 + pinctrl-names = "default";
2260 + pinctrl-0 = <&pinctrl_uart5>;
2261 + status = "okay";
2262 +};
2263 +
2264 +&usbotg {
2265 + vbus-supply = <&reg_usb_otg_vbus>;
2266 + pinctrl-names = "default";
2267 + pinctrl-0 = <&pinctrl_usbotg>;
2268 + disable-over-current;
2269 + status = "okay";
2270 +};
2271 +
2272 +&usbh1 {
2273 + vbus-supply = <&reg_usb_h1_vbus>;
2274 + status = "okay";
2275 +};
2276 +
2277 +&usdhc3 {
2278 + pinctrl-names = "default";
2279 + pinctrl-0 = <&pinctrl_usdhc3>;
2280 + cd-gpios = <&gpio7 0 0>;
2281 + vmmc-supply = <&reg_3p3v>;
2282 + status = "okay";
2283 +};
2284 --- /dev/null
2285 +++ b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi
2286 @@ -0,0 +1,600 @@
2287 +/*
2288 + * Copyright 2013 Gateworks Corporation
2289 + *
2290 + * The code contained herein is licensed under the GNU General Public
2291 + * License. You may obtain a copy of the GNU General Public License
2292 + * Version 2 or later at the following locations:
2293 + *
2294 + * http://www.opensource.org/licenses/gpl-license.html
2295 + * http://www.gnu.org/copyleft/gpl.html
2296 + */
2297 +
2298 +/ {
2299 + /* these are used by bootloader for disabling nodes */
2300 + aliases {
2301 + can0 = &can1;
2302 + ethernet0 = &fec;
2303 + ethernet1 = &eth1;
2304 + led0 = &led0;
2305 + led1 = &led1;
2306 + led2 = &led2;
2307 + nand = &gpmi;
2308 + sky2 = &eth1;
2309 + ssi0 = &ssi1;
2310 + usb0 = &usbh1;
2311 + usb1 = &usbotg;
2312 + usdhc2 = &usdhc3;
2313 + };
2314 +
2315 + chosen {
2316 + bootargs = "console=ttymxc1,115200";
2317 + };
2318 +
2319 + backlight {
2320 + compatible = "pwm-backlight";
2321 + pwms = <&pwm4 0 5000000>;
2322 + brightness-levels = <0 4 8 16 32 64 128 255>;
2323 + default-brightness-level = <7>;
2324 + status = "okay";
2325 + };
2326 +
2327 + leds {
2328 + compatible = "gpio-leds";
2329 +
2330 + led0: user1 {
2331 + label = "user1";
2332 + gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
2333 + default-state = "on";
2334 + linux,default-trigger = "heartbeat";
2335 + };
2336 +
2337 + led1: user2 {
2338 + label = "user2";
2339 + gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
2340 + default-state = "off";
2341 + };
2342 +
2343 + led2: user3 {
2344 + label = "user3";
2345 + gpios = <&gpio4 15 1>; /* 111 -> MX6_LOCLED# */
2346 + default-state = "off";
2347 + };
2348 + };
2349 +
2350 + memory {
2351 + reg = <0x10000000 0x40000000>;
2352 + };
2353 +
2354 + pps {
2355 + compatible = "pps-gpio";
2356 + gpios = <&gpio1 26 0>;
2357 + status = "okay";
2358 + };
2359 +
2360 + regulators {
2361 + compatible = "simple-bus";
2362 + #address-cells = <1>;
2363 + #size-cells = <0>;
2364 +
2365 + reg_1p0v: regulator@0 {
2366 + compatible = "regulator-fixed";
2367 + reg = <0>;
2368 + regulator-name = "1P0V";
2369 + regulator-min-microvolt = <1000000>;
2370 + regulator-max-microvolt = <1000000>;
2371 + regulator-always-on;
2372 + };
2373 +
2374 + reg_3p3v: regulator@1 {
2375 + compatible = "regulator-fixed";
2376 + reg = <1>;
2377 + regulator-name = "3P3V";
2378 + regulator-min-microvolt = <3300000>;
2379 + regulator-max-microvolt = <3300000>;
2380 + regulator-always-on;
2381 + };
2382 +
2383 + reg_usb_h1_vbus: regulator@2 {
2384 + compatible = "regulator-fixed";
2385 + reg = <2>;
2386 + regulator-name = "usb_h1_vbus";
2387 + regulator-min-microvolt = <5000000>;
2388 + regulator-max-microvolt = <5000000>;
2389 + regulator-always-on;
2390 + };
2391 +
2392 + reg_usb_otg_vbus: regulator@3 {
2393 + compatible = "regulator-fixed";
2394 + reg = <3>;
2395 + regulator-name = "usb_otg_vbus";
2396 + regulator-min-microvolt = <5000000>;
2397 + regulator-max-microvolt = <5000000>;
2398 + gpio = <&gpio3 22 0>;
2399 + enable-active-high;
2400 + };
2401 + };
2402 +
2403 + sound {
2404 + compatible = "fsl,imx6q-ventana-sgtl5000",
2405 + "fsl,imx-audio-sgtl5000";
2406 + model = "sgtl5000-audio";
2407 + ssi-controller = <&ssi1>;
2408 + audio-codec = <&codec>;
2409 + audio-routing =
2410 + "MIC_IN", "Mic Jack",
2411 + "Mic Jack", "Mic Bias",
2412 + "Headphone Jack", "HP_OUT";
2413 + mux-int-port = <1>;
2414 + mux-ext-port = <4>;
2415 + };
2416 +};
2417 +
2418 +&audmux {
2419 + pinctrl-names = "default";
2420 + pinctrl-0 = <&pinctrl_audmux>; /* AUD4<->sgtl5000 */
2421 + status = "okay";
2422 +};
2423 +
2424 +&can1 {
2425 + pinctrl-names = "default";
2426 + pinctrl-0 = <&pinctrl_flexcan1>;
2427 + status = "okay";
2428 +};
2429 +
2430 +&fec {
2431 + pinctrl-names = "default";
2432 + pinctrl-0 = <&pinctrl_enet>;
2433 + phy-mode = "rgmii";
2434 + phy-reset-gpios = <&gpio1 30 0>;
2435 + status = "okay";
2436 +};
2437 +
2438 +&gpmi {
2439 + pinctrl-names = "default";
2440 + pinctrl-0 = <&pinctrl_gpmi_nand>;
2441 + status = "okay";
2442 +};
2443 +
2444 +&i2c1 {
2445 + clock-frequency = <100000>;
2446 + pinctrl-names = "default";
2447 + pinctrl-0 = <&pinctrl_i2c1>;
2448 + status = "okay";
2449 +
2450 + eeprom1: eeprom@50 {
2451 + compatible = "atmel,24c02";
2452 + reg = <0x50>;
2453 + pagesize = <16>;
2454 + };
2455 +
2456 + eeprom2: eeprom@51 {
2457 + compatible = "atmel,24c02";
2458 + reg = <0x51>;
2459 + pagesize = <16>;
2460 + };
2461 +
2462 + eeprom3: eeprom@52 {
2463 + compatible = "atmel,24c02";
2464 + reg = <0x52>;
2465 + pagesize = <16>;
2466 + };
2467 +
2468 + eeprom4: eeprom@53 {
2469 + compatible = "atmel,24c02";
2470 + reg = <0x53>;
2471 + pagesize = <16>;
2472 + };
2473 +
2474 + gpio: pca9555@23 {
2475 + compatible = "nxp,pca9555";
2476 + reg = <0x23>;
2477 + gpio-controller;
2478 + #gpio-cells = <2>;
2479 + };
2480 +
2481 + hwmon: gsc@29 {
2482 + compatible = "gw,gsp";
2483 + reg = <0x29>;
2484 + };
2485 +
2486 + rtc: ds1672@68 {
2487 + compatible = "dallas,ds1672";
2488 + reg = <0x68>;
2489 + };
2490 +};
2491 +
2492 +&i2c2 {
2493 + clock-frequency = <100000>;
2494 + pinctrl-names = "default";
2495 + pinctrl-0 = <&pinctrl_i2c2>;
2496 + status = "okay";
2497 +
2498 + pmic: pfuze100@08 {
2499 + compatible = "fsl,pfuze100";
2500 + reg = <0x08>;
2501 +
2502 + regulators {
2503 + sw1a_reg: sw1ab {
2504 + regulator-min-microvolt = <300000>;
2505 + regulator-max-microvolt = <1875000>;
2506 + regulator-boot-on;
2507 + regulator-always-on;
2508 + regulator-ramp-delay = <6250>;
2509 + };
2510 +
2511 + sw1c_reg: sw1c {
2512 + regulator-min-microvolt = <300000>;
2513 + regulator-max-microvolt = <1875000>;
2514 + regulator-boot-on;
2515 + regulator-always-on;
2516 + regulator-ramp-delay = <6250>;
2517 + };
2518 +
2519 + sw2_reg: sw2 {
2520 + regulator-min-microvolt = <800000>;
2521 + regulator-max-microvolt = <3950000>;
2522 + regulator-boot-on;
2523 + regulator-always-on;
2524 + };
2525 +
2526 + sw3a_reg: sw3a {
2527 + regulator-min-microvolt = <400000>;
2528 + regulator-max-microvolt = <1975000>;
2529 + regulator-boot-on;
2530 + regulator-always-on;
2531 + };
2532 +
2533 + sw3b_reg: sw3b {
2534 + regulator-min-microvolt = <400000>;
2535 + regulator-max-microvolt = <1975000>;
2536 + regulator-boot-on;
2537 + regulator-always-on;
2538 + };
2539 +
2540 + sw4_reg: sw4 {
2541 + regulator-min-microvolt = <800000>;
2542 + regulator-max-microvolt = <3300000>;
2543 + };
2544 +
2545 + swbst_reg: swbst {
2546 + regulator-min-microvolt = <5000000>;
2547 + regulator-max-microvolt = <5150000>;
2548 + };
2549 +
2550 + snvs_reg: vsnvs {
2551 + regulator-min-microvolt = <1000000>;
2552 + regulator-max-microvolt = <3000000>;
2553 + regulator-boot-on;
2554 + regulator-always-on;
2555 + };
2556 +
2557 + vref_reg: vrefddr {
2558 + regulator-boot-on;
2559 + regulator-always-on;
2560 + };
2561 +
2562 + vgen1_reg: vgen1 {
2563 + regulator-min-microvolt = <800000>;
2564 + regulator-max-microvolt = <1550000>;
2565 + };
2566 +
2567 + vgen2_reg: vgen2 {
2568 + regulator-min-microvolt = <800000>;
2569 + regulator-max-microvolt = <1550000>;
2570 + };
2571 +
2572 + vgen3_reg: vgen3 {
2573 + regulator-min-microvolt = <1800000>;
2574 + regulator-max-microvolt = <3300000>;
2575 + };
2576 +
2577 + vgen4_reg: vgen4 {
2578 + regulator-min-microvolt = <1800000>;
2579 + regulator-max-microvolt = <3300000>;
2580 + regulator-always-on;
2581 + };
2582 +
2583 + vgen5_reg: vgen5 {
2584 + regulator-min-microvolt = <1800000>;
2585 + regulator-max-microvolt = <3300000>;
2586 + regulator-always-on;
2587 + };
2588 +
2589 + vgen6_reg: vgen6 {
2590 + regulator-min-microvolt = <1800000>;
2591 + regulator-max-microvolt = <3300000>;
2592 + regulator-always-on;
2593 + };
2594 + };
2595 + };
2596 +
2597 + pciswitch: pex8609@3f {
2598 + compatible = "plx,pex8609";
2599 + reg = <0x3f>;
2600 + };
2601 +
2602 + pciclkgen: si52147@6b {
2603 + compatible = "sil,si52147";
2604 + reg = <0x6b>;
2605 + };
2606 +};
2607 +
2608 +&i2c3 {
2609 + clock-frequency = <100000>;
2610 + pinctrl-names = "default";
2611 + pinctrl-0 = <&pinctrl_i2c3>;
2612 + status = "okay";
2613 +
2614 + accelerometer: fxos8700@1e {
2615 + compatible = "fsl,fxos8700";
2616 + reg = <0x1e>;
2617 + };
2618 +
2619 + codec: sgtl5000@0a {
2620 + compatible = "fsl,sgtl5000";
2621 + reg = <0x0a>;
2622 + clocks = <&clks 201>;
2623 + VDDA-supply = <&sw4_reg>;
2624 + VDDIO-supply = <&reg_3p3v>;
2625 + };
2626 +
2627 + hdmiin: adv7611@4c {
2628 + compatible = "adi,adv7611";
2629 + reg = <0x4c>;
2630 + };
2631 +
2632 + touchscreen: egalax_ts@04 {
2633 + compatible = "eeti,egalax_ts";
2634 + reg = <0x04>;
2635 + interrupt-parent = <&gpio7>;
2636 + interrupts = <12 2>; /* gpio7_12 active low */
2637 + wakeup-gpios = <&gpio7 12 0>;
2638 + };
2639 +
2640 + videoout: adv7393@2a {
2641 + compatible = "adi,adv7393";
2642 + reg = <0x2a>;
2643 + };
2644 +
2645 + videoin: adv7180@20 {
2646 + compatible = "adi,adv7180";
2647 + reg = <0x20>;
2648 + };
2649 +};
2650 +
2651 +&iomuxc {
2652 + pinctrl-names = "default";
2653 + pinctrl-0 = <&pinctrl_hog>;
2654 +
2655 + imx6qdl-gw54xx {
2656 + pinctrl_hog: hoggrp {
2657 + fsl,pins = <
2658 + MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x80000000 /* OTG_PWR_EN */
2659 + MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x80000000 /* SPINOR_CS0# */
2660 + MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x80000000 /* GPS_PPS */
2661 + MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* PCIE IRQ */
2662 + MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* PCIE RST */
2663 + MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x000130b0 /* AUD4_MCK */
2664 + MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* CAN_STBY */
2665 + MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x80000000 /* TOUCH_IRQ# */
2666 + MX6QDL_PAD_KEY_COL0__GPIO4_IO06 0x80000000 /* user1 led */
2667 + MX6QDL_PAD_KEY_ROW0__GPIO4_IO07 0x80000000 /* user2 led */
2668 + MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x80000000 /* user3 led */
2669 + MX6QDL_PAD_SD1_DAT0__GPIO1_IO16 0x80000000 /* USBHUB_RST# */
2670 + MX6QDL_PAD_SD1_DAT3__GPIO1_IO21 0x80000000 /* MIPI_DIO */
2671 + >;
2672 + };
2673 +
2674 + pinctrl_audmux: audmuxgrp {
2675 + fsl,pins = <
2676 + MX6QDL_PAD_SD2_DAT0__AUD4_RXD 0x130b0
2677 + MX6QDL_PAD_SD2_DAT3__AUD4_TXC 0x130b0
2678 + MX6QDL_PAD_SD2_DAT2__AUD4_TXD 0x110b0
2679 + MX6QDL_PAD_SD2_DAT1__AUD4_TXFS 0x130b0
2680 + >;
2681 + };
2682 +
2683 + pinctrl_enet: enetgrp {
2684 + fsl,pins = <
2685 + MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
2686 + MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
2687 + MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
2688 + MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
2689 + MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
2690 + MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
2691 + MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
2692 + MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
2693 + MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
2694 + MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
2695 + MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
2696 + MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
2697 + MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
2698 + MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
2699 + MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
2700 + MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
2701 + >;
2702 + };
2703 +
2704 + pinctrl_flexcan1: flexcan1grp {
2705 + fsl,pins = <
2706 + MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x80000000
2707 + MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x80000000
2708 + >;
2709 + };
2710 +
2711 + pinctrl_gpmi_nand: gpminandgrp {
2712 + fsl,pins = <
2713 + MX6QDL_PAD_NANDF_CLE__NAND_CLE 0xb0b1
2714 + MX6QDL_PAD_NANDF_ALE__NAND_ALE 0xb0b1
2715 + MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0xb0b1
2716 + MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0xb000
2717 + MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0xb0b1
2718 + MX6QDL_PAD_NANDF_CS1__NAND_CE1_B 0xb0b1
2719 + MX6QDL_PAD_SD4_CMD__NAND_RE_B 0xb0b1
2720 + MX6QDL_PAD_SD4_CLK__NAND_WE_B 0xb0b1
2721 + MX6QDL_PAD_NANDF_D0__NAND_DATA00 0xb0b1
2722 + MX6QDL_PAD_NANDF_D1__NAND_DATA01 0xb0b1
2723 + MX6QDL_PAD_NANDF_D2__NAND_DATA02 0xb0b1
2724 + MX6QDL_PAD_NANDF_D3__NAND_DATA03 0xb0b1
2725 + MX6QDL_PAD_NANDF_D4__NAND_DATA04 0xb0b1
2726 + MX6QDL_PAD_NANDF_D5__NAND_DATA05 0xb0b1
2727 + MX6QDL_PAD_NANDF_D6__NAND_DATA06 0xb0b1
2728 + MX6QDL_PAD_NANDF_D7__NAND_DATA07 0xb0b1
2729 + >;
2730 + };
2731 +
2732 + pinctrl_i2c1: i2c1grp {
2733 + fsl,pins = <
2734 + MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
2735 + MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
2736 + >;
2737 + };
2738 +
2739 + pinctrl_i2c2: i2c2grp {
2740 + fsl,pins = <
2741 + MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
2742 + MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
2743 + >;
2744 + };
2745 +
2746 + pinctrl_i2c3: i2c3grp {
2747 + fsl,pins = <
2748 + MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
2749 + MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
2750 + >;
2751 + };
2752 +
2753 + pinctrl_pwm4: pwm4grp {
2754 + fsl,pins = <
2755 + MX6QDL_PAD_SD1_CMD__PWM4_OUT 0x1b0b1
2756 + >;
2757 + };
2758 +
2759 + pinctrl_uart1: uart1grp {
2760 + fsl,pins = <
2761 + MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
2762 + MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1
2763 + >;
2764 + };
2765 +
2766 + pinctrl_uart2: uart2grp {
2767 + fsl,pins = <
2768 + MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1
2769 + MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1
2770 + >;
2771 + };
2772 +
2773 + pinctrl_uart5: uart5grp {
2774 + fsl,pins = <
2775 + MX6QDL_PAD_KEY_COL1__UART5_TX_DATA 0x1b0b1
2776 + MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA 0x1b0b1
2777 + >;
2778 + };
2779 +
2780 + pinctrl_usbotg: usbotggrp {
2781 + fsl,pins = <
2782 + MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
2783 + >;
2784 + };
2785 +
2786 + pinctrl_usdhc3: usdhc3grp {
2787 + fsl,pins = <
2788 + MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
2789 + MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
2790 + MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
2791 + MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
2792 + MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
2793 + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
2794 + >;
2795 + };
2796 + };
2797 +};
2798 +
2799 +&ldb {
2800 + status = "okay";
2801 +
2802 + lvds-channel@0 {
2803 + fsl,data-mapping = "spwg";
2804 + fsl,data-width = <18>;
2805 + status = "okay";
2806 +
2807 + display-timings {
2808 + native-mode = <&timing0>;
2809 + timing0: hsd100pxn1 {
2810 + clock-frequency = <65000000>;
2811 + hactive = <1024>;
2812 + vactive = <768>;
2813 + hback-porch = <220>;
2814 + hfront-porch = <40>;
2815 + vback-porch = <21>;
2816 + vfront-porch = <7>;
2817 + hsync-len = <60>;
2818 + vsync-len = <10>;
2819 + };
2820 + };
2821 + };
2822 +};
2823 +
2824 +&pcie {
2825 + reset-gpio = <&gpio1 29 0>;
2826 + status = "okay";
2827 +
2828 + eth1: sky2@8 { /* MAC/PHY on bus 8 */
2829 + compatible = "marvell,sky2";
2830 + };
2831 +};
2832 +
2833 +&pwm4 {
2834 + pinctrl-names = "default";
2835 + pinctrl-0 = <&pinctrl_pwm4>;
2836 + status = "okay";
2837 +};
2838 +
2839 +&ssi1 {
2840 + fsl,mode = "i2s-slave";
2841 + status = "okay";
2842 +};
2843 +
2844 +&ssi2 {
2845 + fsl,mode = "i2s-slave";
2846 + status = "okay";
2847 +};
2848 +
2849 +&uart1 {
2850 + pinctrl-names = "default";
2851 + pinctrl-0 = <&pinctrl_uart1>;
2852 + status = "okay";
2853 +};
2854 +
2855 +&uart2 {
2856 + pinctrl-names = "default";
2857 + pinctrl-0 = <&pinctrl_uart2>;
2858 + status = "okay";
2859 +};
2860 +
2861 +&uart5 {
2862 + pinctrl-names = "default";
2863 + pinctrl-0 = <&pinctrl_uart5>;
2864 + status = "okay";
2865 +};
2866 +
2867 +&usbotg {
2868 + vbus-supply = <&reg_usb_otg_vbus>;
2869 + pinctrl-names = "default";
2870 + pinctrl-0 = <&pinctrl_usbotg>;
2871 + disable-over-current;
2872 + status = "okay";
2873 +};
2874 +
2875 +&usbh1 {
2876 + vbus-supply = <&reg_usb_h1_vbus>;
2877 + status = "okay";
2878 +};
2879 +
2880 +&usdhc3 {
2881 + pinctrl-names = "default";
2882 + pinctrl-0 = <&pinctrl_usdhc3>;
2883 + cd-gpios = <&gpio7 0 0>;
2884 + vmmc-supply = <&reg_3p3v>;
2885 + status = "okay";
2886 +};