imx6: add initial 3.12 support
[openwrt.git] / target / linux / imx6 / patches-3.12 / 0008-ARM-dts-add-Gateworks-Ventana-support.patch
1 From 02b02b9176fc62b97e58487e35af7df782a0047d Mon Sep 17 00:00:00 2001
2 From: Tim Harvey <tharvey@gateworks.com>
3 Date: Tue, 22 Oct 2013 21:51:26 -0700
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  | 443 ++++++++++++++++++++++++++++++++
22  arch/arm/boot/dts/imx6q-gw54xx.dts    |  23 ++
23  arch/arm/boot/dts/imx6qdl-gw51xx.dtsi | 272 ++++++++++++++++++++
24  arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 373 +++++++++++++++++++++++++++
25  arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 429 +++++++++++++++++++++++++++++++
26  arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | 457 ++++++++++++++++++++++++++++++++++
27  14 files changed, 2147 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 @@ -131,10 +131,19 @@ dtb-$(CONFIG_ARCH_MXC) += \
45         imx53-mba53.dtb \
46         imx53-qsb.dtb \
47         imx53-smd.dtb \
48 +       imx6dl-gw51xx.dtb \
49 +       imx6dl-gw52xx.dtb \
50 +       imx6dl-gw53xx.dtb \
51 +       imx6dl-gw54xx.dtb \
52         imx6dl-sabreauto.dtb \
53         imx6dl-sabresd.dtb \
54         imx6dl-wandboard.dtb \
55         imx6q-arm2.dtb \
56 +       imx6q-gw51xx.dtb \
57 +       imx6q-gw52xx.dtb \
58 +       imx6q-gw53xx.dtb \
59 +       imx6q-gw5400-a.dtb \
60 +       imx6q-gw54xx.dtb \
61         imx6q-phytec-pbab01.dtb \
62         imx6q-sabreauto.dtb \
63         imx6q-sabrelite.dtb \
64 --- /dev/null
65 +++ b/arch/arm/boot/dts/imx6dl-gw51xx.dts
66 @@ -0,0 +1,19 @@
67 +/*
68 + * Copyright 2013 Gateworks Corporation
69 + *
70 + * The code contained herein is licensed under the GNU General Public
71 + * License. You may obtain a copy of the GNU General Public License
72 + * Version 2 or later at the following locations:
73 + *
74 + * http://www.opensource.org/licenses/gpl-license.html
75 + * http://www.gnu.org/copyleft/gpl.html
76 + */
77 +
78 +/dts-v1/;
79 +#include "imx6dl.dtsi"
80 +#include "imx6qdl-gw51xx.dtsi"
81 +
82 +/ {
83 +       model = "Gateworks Ventana i.MX6 DualLite GW51XX";
84 +       compatible = "gw,imx6dl-gw51xx", "gw,ventana", "fsl,imx6dl";
85 +};
86 --- /dev/null
87 +++ b/arch/arm/boot/dts/imx6dl-gw52xx.dts
88 @@ -0,0 +1,19 @@
89 +/*
90 + * Copyright 2013 Gateworks Corporation
91 + *
92 + * The code contained herein is licensed under the GNU General Public
93 + * License. You may obtain a copy of the GNU General Public License
94 + * Version 2 or later at the following locations:
95 + *
96 + * http://www.opensource.org/licenses/gpl-license.html
97 + * http://www.gnu.org/copyleft/gpl.html
98 + */
99 +
100 +/dts-v1/;
101 +#include "imx6dl.dtsi"
102 +#include "imx6qdl-gw52xx.dtsi"
103 +
104 +/ {
105 +       model = "Gateworks Ventana i.MX6 DualLite GW52XX";
106 +       compatible = "gw,imx6dl-gw52xx", "gw,ventana", "fsl,imx6dl";
107 +};
108 --- /dev/null
109 +++ b/arch/arm/boot/dts/imx6dl-gw53xx.dts
110 @@ -0,0 +1,19 @@
111 +/*
112 + * Copyright 2013 Gateworks Corporation
113 + *
114 + * The code contained herein is licensed under the GNU General Public
115 + * License. You may obtain a copy of the GNU General Public License
116 + * Version 2 or later at the following locations:
117 + *
118 + * http://www.opensource.org/licenses/gpl-license.html
119 + * http://www.gnu.org/copyleft/gpl.html
120 + */
121 +
122 +/dts-v1/;
123 +#include "imx6dl.dtsi"
124 +#include "imx6qdl-gw53xx.dtsi"
125 +
126 +/ {
127 +       model = "Gateworks Ventana i.MX6 DualLite GW53XX";
128 +       compatible = "gw,imx6dl-gw53xx", "gw,ventana", "fsl,imx6dl";
129 +};
130 --- /dev/null
131 +++ b/arch/arm/boot/dts/imx6dl-gw54xx.dts
132 @@ -0,0 +1,19 @@
133 +/*
134 + * Copyright 2013 Gateworks Corporation
135 + *
136 + * The code contained herein is licensed under the GNU General Public
137 + * License. You may obtain a copy of the GNU General Public License
138 + * Version 2 or later at the following locations:
139 + *
140 + * http://www.opensource.org/licenses/gpl-license.html
141 + * http://www.gnu.org/copyleft/gpl.html
142 + */
143 +
144 +/dts-v1/;
145 +#include "imx6dl.dtsi"
146 +#include "imx6qdl-gw54xx.dtsi"
147 +
148 +/ {
149 +       model = "Gateworks Ventana i.MX6 DualLite GW54XX";
150 +       compatible = "gw,imx6dl-gw54xx", "gw,ventana", "fsl,imx6dl";
151 +};
152 --- /dev/null
153 +++ b/arch/arm/boot/dts/imx6q-gw51xx.dts
154 @@ -0,0 +1,19 @@
155 +/*
156 + * Copyright 2013 Gateworks Corporation
157 + *
158 + * The code contained herein is licensed under the GNU General Public
159 + * License. You may obtain a copy of the GNU General Public License
160 + * Version 2 or later at the following locations:
161 + *
162 + * http://www.opensource.org/licenses/gpl-license.html
163 + * http://www.gnu.org/copyleft/gpl.html
164 + */
165 +
166 +/dts-v1/;
167 +#include "imx6q.dtsi"
168 +#include "imx6qdl-gw54xx.dtsi"
169 +
170 +/ {
171 +       model = "Gateworks Ventana i.MX6 Quad GW51XX";
172 +       compatible = "gw,imx6q-gw51xx", "gw,ventana", "fsl,imx6q";
173 +};
174 --- /dev/null
175 +++ b/arch/arm/boot/dts/imx6q-gw52xx.dts
176 @@ -0,0 +1,23 @@
177 +/*
178 + * Copyright 2013 Gateworks Corporation
179 + *
180 + * The code contained herein is licensed under the GNU General Public
181 + * License. You may obtain a copy of the GNU General Public License
182 + * Version 2 or later at the following locations:
183 + *
184 + * http://www.opensource.org/licenses/gpl-license.html
185 + * http://www.gnu.org/copyleft/gpl.html
186 + */
187 +
188 +/dts-v1/;
189 +#include "imx6q.dtsi"
190 +#include "imx6qdl-gw52xx.dtsi"
191 +
192 +/ {
193 +       model = "Gateworks Ventana i.MX6 Quad GW52XX";
194 +       compatible = "gw,imx6q-gw52xx", "gw,ventana", "fsl,imx6q";
195 +};
196 +
197 +&sata {
198 +       status = "okay";
199 +};
200 --- /dev/null
201 +++ b/arch/arm/boot/dts/imx6q-gw53xx.dts
202 @@ -0,0 +1,23 @@
203 +/*
204 + * Copyright 2013 Gateworks Corporation
205 + *
206 + * The code contained herein is licensed under the GNU General Public
207 + * License. You may obtain a copy of the GNU General Public License
208 + * Version 2 or later at the following locations:
209 + *
210 + * http://www.opensource.org/licenses/gpl-license.html
211 + * http://www.gnu.org/copyleft/gpl.html
212 + */
213 +
214 +/dts-v1/;
215 +#include "imx6q.dtsi"
216 +#include "imx6qdl-gw53xx.dtsi"
217 +
218 +/ {
219 +       model = "Gateworks Ventana i.MX6 Quad GW53XX";
220 +       compatible = "gw,imx6q-gw53xx", "gw,ventana", "fsl,imx6q";
221 +};
222 +
223 +&sata {
224 +       status = "okay";
225 +};
226 --- /dev/null
227 +++ b/arch/arm/boot/dts/imx6q-gw5400-a.dts
228 @@ -0,0 +1,443 @@
229 +/*
230 + * Copyright 2013 Gateworks Corporation
231 + *
232 + * The code contained herein is licensed under the GNU General Public
233 + * License. You may obtain a copy of the GNU General Public License
234 + * Version 2 or later at the following locations:
235 + *
236 + * http://www.opensource.org/licenses/gpl-license.html
237 + * http://www.gnu.org/copyleft/gpl.html
238 + */
239 +
240 +/dts-v1/;
241 +#include "imx6q.dtsi"
242 +
243 +/ {
244 +       model = "Gateworks Ventana GW5400-A";
245 +       compatible = "gw,imx6q-gw5400-a", "gw,ventana", "fsl,imx6q";
246 +
247 +       /* these are used by bootloader for disabling nodes */
248 +       aliases {
249 +               ethernet0 = &fec;
250 +               ethernet1 = &eth1;
251 +               i2c0 = &i2c1;
252 +               i2c1 = &i2c2;
253 +               i2c2 = &i2c3;
254 +               led0 = &led0;
255 +               led1 = &led1;
256 +               led2 = &led2;
257 +               sky2 = &eth1;
258 +               ssi0 = &ssi1;
259 +               spi0 = &ecspi1;
260 +               usb0 = &usbh1;
261 +               usb1 = &usbotg;
262 +               usdhc2 = &usdhc3;
263 +       };
264 +
265 +       chosen {
266 +               bootargs = "console=ttymxc1,115200";
267 +       };
268 +
269 +       leds {
270 +               compatible = "gpio-leds";
271 +
272 +               led0: user1 {
273 +                       label = "user1";
274 +                       gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
275 +                       default-state = "on";
276 +                       linux,default-trigger = "heartbeat";
277 +               };
278 +
279 +               led1: user2 {
280 +                       label = "user2";
281 +                       gpios = <&gpio4 10 0>; /* 106 -> MX6_PANLEDR */
282 +                       default-state = "off";
283 +               };
284 +
285 +               led2: user3 {
286 +                       label = "user3";
287 +                       gpios = <&gpio4 15 1>; /* 111 -> MX6_LOCLED# */
288 +                       default-state = "off";
289 +               };
290 +       };
291 +
292 +       memory {
293 +               reg = <0x10000000 0x40000000>;
294 +       };
295 +
296 +       pps {
297 +               compatible = "pps-gpio";
298 +               gpios = <&gpio1 5 0>;
299 +               status = "okay";
300 +       };
301 +
302 +       regulators {
303 +               compatible = "simple-bus";
304 +
305 +               reg_1p0v: 1p0v {
306 +                       compatible = "regulator-fixed";
307 +                       regulator-name = "1P0V";
308 +                       regulator-min-microvolt = <1000000>;
309 +                       regulator-max-microvolt = <1000000>;
310 +                       regulator-always-on;
311 +               };
312 +
313 +               reg_3p3v: 3p3v {
314 +                       compatible = "regulator-fixed";
315 +                       regulator-name = "3P3V";
316 +                       regulator-min-microvolt = <3300000>;
317 +                       regulator-max-microvolt = <3300000>;
318 +                       regulator-always-on;
319 +               };
320 +
321 +               reg_usb_h1_vbus: usb_h1_vbus {
322 +                       compatible = "regulator-fixed";
323 +                       regulator-name = "usb_h1_vbus";
324 +                       regulator-min-microvolt = <5000000>;
325 +                       regulator-max-microvolt = <5000000>;
326 +                       regulator-always-on;
327 +               };
328 +
329 +               reg_usb_otg_vbus: usb_otg_vbus {
330 +                       compatible = "regulator-fixed";
331 +                       regulator-name = "usb_otg_vbus";
332 +                       regulator-min-microvolt = <5000000>;
333 +                       regulator-max-microvolt = <5000000>;
334 +                       gpio = <&gpio3 22 0>;
335 +                       enable-active-high;
336 +               };
337 +       };
338 +
339 +       sound {
340 +               compatible = "fsl,imx6q-sabrelite-sgtl5000",
341 +                            "fsl,imx-audio-sgtl5000";
342 +               model = "imx6q-sabrelite-sgtl5000";
343 +               ssi-controller = <&ssi1>;
344 +               audio-codec = <&codec>;
345 +               audio-routing =
346 +                       "MIC_IN", "Mic Jack",
347 +                       "Mic Jack", "Mic Bias",
348 +                       "Headphone Jack", "HP_OUT";
349 +               mux-int-port = <1>;
350 +               mux-ext-port = <4>;
351 +       };
352 +};
353 +
354 +&audmux {
355 +       pinctrl-names = "default";
356 +       pinctrl-0 = <&pinctrl_audmux_1>;
357 +       status = "okay";
358 +};
359 +
360 +&ecspi1 {
361 +       fsl,spi-num-chipselects = <1>;
362 +       cs-gpios = <&gpio3 19 0>;
363 +       pinctrl-names = "default";
364 +       pinctrl-0 = <&pinctrl_ecspi1_1>;
365 +       status = "okay";
366 +
367 +       flash: m25p80@0 {
368 +               compatible = "sst,w25q256";
369 +               spi-max-frequency = <30000000>;
370 +               reg = <0>;
371 +       };
372 +};
373 +
374 +&fec {
375 +       pinctrl-names = "default";
376 +       pinctrl-0 = <&pinctrl_enet_1>;
377 +       phy-mode = "rgmii";
378 +       phy-reset-gpios = <&gpio1 30 0>;
379 +       status = "okay";
380 +};
381 +
382 +&i2c1 {
383 +       clock-frequency = <100000>;
384 +       pinctrl-names = "default";
385 +       pinctrl-0 = <&pinctrl_i2c1_1>;
386 +       status = "okay";
387 +
388 +       eeprom1: eeprom@50 {
389 +               compatible = "atmel,24c02";
390 +               reg = <0x50>;
391 +               pagesize = <16>;
392 +       };
393 +
394 +       eeprom2: eeprom@51 {
395 +               compatible = "atmel,24c02";
396 +               reg = <0x51>;
397 +               pagesize = <16>;
398 +       };
399 +
400 +       eeprom3: eeprom@52 {
401 +               compatible = "atmel,24c02";
402 +               reg = <0x52>;
403 +               pagesize = <16>;
404 +       };
405 +
406 +       eeprom4: eeprom@53 {
407 +               compatible = "atmel,24c02";
408 +               reg = <0x53>;
409 +               pagesize = <16>;
410 +       };
411 +
412 +       gpio: pca9555@23 {
413 +               compatible = "nxp,pca9555";
414 +               reg = <0x23>;
415 +               gpio-controller;
416 +               #gpio-cells = <2>;
417 +       };
418 +
419 +       hwmon: gsc@29 {
420 +               compatible = "gw,gsp";
421 +               reg = <0x29>;
422 +       };
423 +
424 +       rtc: ds1672@68 {
425 +               compatible = "dallas,ds1672";
426 +               reg = <0x68>;
427 +       };
428 +};
429 +
430 +&i2c2 {
431 +       clock-frequency = <100000>;
432 +       pinctrl-names = "default";
433 +       pinctrl-0 = <&pinctrl_i2c2_2>;
434 +       status = "okay";
435 +
436 +       pmic: pfuze100@08 {
437 +               compatible = "fsl,pfuze100";
438 +               reg = <0x08>;
439 +
440 +               regulators {
441 +                       sw1a_reg: sw1ab {
442 +                               regulator-min-microvolt = <300000>;
443 +                               regulator-max-microvolt = <1875000>;
444 +                               regulator-boot-on;
445 +                               regulator-always-on;
446 +                               regulator-ramp-delay = <6250>;
447 +                       };
448 +
449 +                       sw1c_reg: sw1c {
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 +                       sw2_reg: sw2 {
458 +                               regulator-min-microvolt = <800000>;
459 +                               regulator-max-microvolt = <3950000>;
460 +                               regulator-boot-on;
461 +                               regulator-always-on;
462 +                       };
463 +
464 +                       sw3a_reg: sw3a {
465 +                               regulator-min-microvolt = <400000>;
466 +                               regulator-max-microvolt = <1975000>;
467 +                               regulator-boot-on;
468 +                               regulator-always-on;
469 +                       };
470 +
471 +                       sw3b_reg: sw3b {
472 +                               regulator-min-microvolt = <400000>;
473 +                               regulator-max-microvolt = <1975000>;
474 +                               regulator-boot-on;
475 +                               regulator-always-on;
476 +                       };
477 +
478 +                       sw4_reg: sw4 {
479 +                               regulator-min-microvolt = <800000>;
480 +                               regulator-max-microvolt = <3300000>;
481 +                       };
482 +
483 +                       swbst_reg: swbst {
484 +                               regulator-min-microvolt = <5000000>;
485 +                               regulator-max-microvolt = <5150000>;
486 +                       };
487 +
488 +                       snvs_reg: vsnvs {
489 +                               regulator-min-microvolt = <1000000>;
490 +                               regulator-max-microvolt = <3000000>;
491 +                               regulator-boot-on;
492 +                               regulator-always-on;
493 +                       };
494 +
495 +                       vref_reg: vrefddr {
496 +                               regulator-boot-on;
497 +                               regulator-always-on;
498 +                       };
499 +
500 +                       vgen1_reg: vgen1 {
501 +                               regulator-min-microvolt = <800000>;
502 +                               regulator-max-microvolt = <1550000>;
503 +                       };
504 +
505 +                       vgen2_reg: vgen2 {
506 +                               regulator-min-microvolt = <800000>;
507 +                               regulator-max-microvolt = <1550000>;
508 +                       };
509 +
510 +                       vgen3_reg: vgen3 {
511 +                               regulator-min-microvolt = <1800000>;
512 +                               regulator-max-microvolt = <3300000>;
513 +                       };
514 +
515 +                       vgen4_reg: vgen4 {
516 +                               regulator-min-microvolt = <1800000>;
517 +                               regulator-max-microvolt = <3300000>;
518 +                               regulator-always-on;
519 +                       };
520 +
521 +                       vgen5_reg: vgen5 {
522 +                               regulator-min-microvolt = <1800000>;
523 +                               regulator-max-microvolt = <3300000>;
524 +                               regulator-always-on;
525 +                       };
526 +
527 +                       vgen6_reg: vgen6 {
528 +                               regulator-min-microvolt = <1800000>;
529 +                               regulator-max-microvolt = <3300000>;
530 +                               regulator-always-on;
531 +                       };
532 +               };
533 +       };
534 +
535 +       pciswitch: pex8609@3f {
536 +               compatible = "plx,pex8609";
537 +               reg = <0x3f>;
538 +       };
539 +
540 +       pciclkgen: si52147@6b {
541 +               compatible = "sil,si52147";
542 +               reg = <0x6b>;
543 +       };
544 +};
545 +
546 +&i2c3 {
547 +       clock-frequency = <100000>;
548 +       pinctrl-names = "default";
549 +       pinctrl-0 = <&pinctrl_i2c3_2>;
550 +       status = "okay";
551 +
552 +       accelerometer: mma8450@1c {
553 +               compatible = "fsl,mma8450";
554 +               reg = <0x1c>;
555 +       };
556 +
557 +       codec: sgtl5000@0a {
558 +               compatible = "fsl,sgtl5000";
559 +               reg = <0x0a>;
560 +               clocks = <&clks 201>;
561 +               VDDA-supply = <&sw4_reg>;
562 +               VDDIO-supply = <&reg_3p3v>;
563 +       };
564 +
565 +       hdmiin: adv7611@4c {
566 +               compatible = "adi,adv7611";
567 +               reg = <0x4c>;
568 +       };
569 +
570 +       touchscreen: egalax_ts@04 {
571 +               compatible = "eeti,egalax_ts";
572 +               reg = <0x04>;
573 +               interrupt-parent = <&gpio7>;
574 +               interrupts = <12 2>; /* gpio7_12 active low */
575 +               wakeup-gpios = <&gpio7 12 0>;
576 +       };
577 +
578 +       videoout: adv7393@2a {
579 +               compatible = "adi,adv7393";
580 +               reg = <0x2a>;
581 +       };
582 +
583 +       videoin: adv7180@20 {
584 +               compatible = "adi,adv7180";
585 +               reg = <0x20>;
586 +       };
587 +};
588 +
589 +&iomuxc {
590 +       pinctrl-names = "default";
591 +       pinctrl-0 = <&pinctrl_hog>;
592 +
593 +       hog {
594 +               pinctrl_hog: hoggrp {
595 +                       fsl,pins = <
596 +                               MX6QDL_PAD_EIM_D22__GPIO3_IO22    0x80000000 /* OTG_PWR_EN */
597 +                               MX6QDL_PAD_EIM_D19__GPIO3_IO19    0x80000000 /* SPINOR_CS0# */
598 +                               MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* PCIE IRQ */
599 +                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29  0x80000000 /* PCIE RST */
600 +                               MX6QDL_PAD_GPIO_0__CCM_CLKO1      0x000130b0 /* AUD4_MCK */
601 +                               MX6QDL_PAD_GPIO_5__GPIO1_IO05     0x80000000 /* GPS_PPS */
602 +                               MX6QDL_PAD_GPIO_17__GPIO7_IO12    0x80000000 /* TOUCH_IRQ# */
603 +                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06   0x80000000 /* user1 led */
604 +                               MX6QDL_PAD_KEY_COL2__GPIO4_IO10   0x80000000 /* user2 led */
605 +                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15   0x80000000 /* user3 led */
606 +                               MX6QDL_PAD_SD1_DAT0__GPIO1_IO16   0x80000000 /* USBHUB_RST# */
607 +                               MX6QDL_PAD_SD1_DAT3__GPIO1_IO21   0x80000000 /* MIPI_DIO */
608 +                        >;
609 +               };
610 +       };
611 +};
612 +
613 +&ldb {
614 +       status = "okay";
615 +       lvds-channel@0 {
616 +               crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>;
617 +       };
618 +};
619 +
620 +&pcie {
621 +       reset-gpio = <&gpio1 29 0>;
622 +       status = "okay";
623 +
624 +       eth1: sky2@8 { /* MAC/PHY on bus 8 */
625 +               compatible = "marvell,sky2";
626 +       };
627 +};
628 +
629 +&ssi1 {
630 +       fsl,mode = "i2s-slave";
631 +       status = "okay";
632 +};
633 +
634 +&uart1 {
635 +       pinctrl-names = "default";
636 +       pinctrl-0 = <&pinctrl_uart1_2>;
637 +       status = "okay";
638 +};
639 +
640 +&uart2 {
641 +       pinctrl-names = "default";
642 +       pinctrl-0 = <&pinctrl_uart2_3>;
643 +       status = "okay";
644 +};
645 +
646 +&uart5 {
647 +       pinctrl-names = "default";
648 +       pinctrl-0 = <&pinctrl_uart5_1>;
649 +       status = "okay";
650 +};
651 +
652 +&usbotg {
653 +       vbus-supply = <&reg_usb_otg_vbus>;
654 +       pinctrl-names = "default";
655 +       pinctrl-0 = <&pinctrl_usbotg_1>;
656 +       disable-over-current;
657 +       status = "okay";
658 +};
659 +
660 +&usbh1 {
661 +       vbus-supply = <&reg_usb_h1_vbus>;
662 +       status = "okay";
663 +};
664 +
665 +&usdhc3 {
666 +       pinctrl-names = "default";
667 +       pinctrl-0 = <&pinctrl_usdhc3_2>;
668 +       cd-gpios = <&gpio7 0 0>;
669 +       vmmc-supply = <&reg_3p3v>;
670 +       status = "okay";
671 +};
672 --- /dev/null
673 +++ b/arch/arm/boot/dts/imx6q-gw54xx.dts
674 @@ -0,0 +1,23 @@
675 +/*
676 + * Copyright 2013 Gateworks Corporation
677 + *
678 + * The code contained herein is licensed under the GNU General Public
679 + * License. You may obtain a copy of the GNU General Public License
680 + * Version 2 or later at the following locations:
681 + *
682 + * http://www.opensource.org/licenses/gpl-license.html
683 + * http://www.gnu.org/copyleft/gpl.html
684 + */
685 +
686 +/dts-v1/;
687 +#include "imx6q.dtsi"
688 +#include "imx6qdl-gw54xx.dtsi"
689 +
690 +/ {
691 +       model = "Gateworks Ventana i.MX6 Quad GW54XX";
692 +       compatible = "gw,imx6q-gw54xx", "gw,ventana", "fsl,imx6q";
693 +};
694 +
695 +&sata {
696 +       status = "okay";
697 +};
698 --- /dev/null
699 +++ b/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi
700 @@ -0,0 +1,272 @@
701 +/*
702 + * Copyright 2013 Gateworks Corporation
703 + *
704 + * The code contained herein is licensed under the GNU General Public
705 + * License. You may obtain a copy of the GNU General Public License
706 + * Version 2 or later at the following locations:
707 + *
708 + * http://www.opensource.org/licenses/gpl-license.html
709 + * http://www.gnu.org/copyleft/gpl.html
710 + */
711 +
712 +/ {
713 +       /* these are used by bootloader for disabling nodes */
714 +       aliases {
715 +               can0 = &can1;
716 +               ethernet0 = &fec;
717 +               led0 = &led0;
718 +               led1 = &led1;
719 +               nand = &gpmi;
720 +               usb0 = &usbh1;
721 +               usb1 = &usbotg;
722 +       };
723 +
724 +       chosen {
725 +               bootargs = "console=ttymxc1,115200";
726 +       };
727 +
728 +       leds {
729 +               compatible = "gpio-leds";
730 +
731 +               led0: user1 {
732 +                       label = "user1";
733 +                       gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
734 +                       default-state = "on";
735 +                       linux,default-trigger = "heartbeat";
736 +               };
737 +
738 +               led1: user2 {
739 +                       label = "user2";
740 +                       gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
741 +                       default-state = "off";
742 +               };
743 +       };
744 +
745 +       memory {
746 +               reg = <0x10000000 0x20000000>;
747 +       };
748 +
749 +       pps {
750 +               compatible = "pps-gpio";
751 +               gpios = <&gpio1 26 0>;
752 +               status = "okay";
753 +       };
754 +
755 +       regulators {
756 +               compatible = "simple-bus";
757 +
758 +               reg_3p3v: 3p3v {
759 +                       compatible = "regulator-fixed";
760 +                       regulator-name = "3P3V";
761 +                       regulator-min-microvolt = <3300000>;
762 +                       regulator-max-microvolt = <3300000>;
763 +                       regulator-always-on;
764 +               };
765 +
766 +               reg_5p0v: 5p0v {
767 +                       compatible = "regulator-fixed";
768 +                       regulator-name = "5P0V";
769 +                       regulator-min-microvolt = <5000000>;
770 +                       regulator-max-microvolt = <5000000>;
771 +                       regulator-always-on;
772 +               };
773 +
774 +               reg_usb_otg_vbus: usb_otg_vbus {
775 +                       compatible = "regulator-fixed";
776 +                       regulator-name = "usb_otg_vbus";
777 +                       regulator-min-microvolt = <5000000>;
778 +                       regulator-max-microvolt = <5000000>;
779 +                       gpio = <&gpio3 22 0>;
780 +                       enable-active-high;
781 +               };
782 +       };
783 +};
784 +
785 +&fec {
786 +       pinctrl-names = "default";
787 +       pinctrl-0 = <&pinctrl_enet_1>;
788 +       phy-mode = "rgmii";
789 +       phy-reset-gpios = <&gpio1 30 0>;
790 +       status = "okay";
791 +};
792 +
793 +&gpmi {
794 +       pinctrl-names = "default";
795 +       pinctrl-0 = <&pinctrl_gpmi_nand_2>;
796 +       status = "okay";
797 +};
798 +
799 +&i2c1 {
800 +       clock-frequency = <100000>;
801 +       pinctrl-names = "default";
802 +       pinctrl-0 = <&pinctrl_i2c1_1>;
803 +       status = "okay";
804 +
805 +       eeprom1: eeprom@50 {
806 +               compatible = "atmel,24c02";
807 +               reg = <0x50>;
808 +               pagesize = <16>;
809 +       };
810 +
811 +       eeprom2: eeprom@51 {
812 +               compatible = "atmel,24c02";
813 +               reg = <0x51>;
814 +               pagesize = <16>;
815 +       };
816 +
817 +       eeprom3: eeprom@52 {
818 +               compatible = "atmel,24c02";
819 +               reg = <0x52>;
820 +               pagesize = <16>;
821 +       };
822 +
823 +       eeprom4: eeprom@53 {
824 +               compatible = "atmel,24c02";
825 +               reg = <0x53>;
826 +               pagesize = <16>;
827 +       };
828 +
829 +       gpio: pca9555@23 {
830 +               compatible = "nxp,pca9555";
831 +               reg = <0x23>;
832 +               gpio-controller;
833 +               #gpio-cells = <2>;
834 +       };
835 +
836 +       hwmon: gsc@29 {
837 +               compatible = "gw,gsp";
838 +               reg = <0x29>;
839 +       };
840 +
841 +       rtc: ds1672@68 {
842 +               compatible = "dallas,ds1672";
843 +               reg = <0x68>;
844 +       };
845 +};
846 +
847 +&i2c2 {
848 +       clock-frequency = <100000>;
849 +       pinctrl-names = "default";
850 +       pinctrl-0 = <&pinctrl_i2c2_2>;
851 +       status = "okay";
852 +
853 +       pmic: ltc3676@3c {
854 +               compatible = "ltc,ltc3676";
855 +               reg = <0x3c>;
856 +
857 +               regulators {
858 +                       sw1_reg: ltc3676__sw1 {
859 +                               regulator-min-microvolt = <1175000>;
860 +                               regulator-max-microvolt = <1175000>;
861 +                               regulator-boot-on;
862 +                               regulator-always-on;
863 +                       };
864 +
865 +                       sw2_reg: ltc3676__sw2 {
866 +                               regulator-min-microvolt = <1800000>;
867 +                               regulator-max-microvolt = <1800000>;
868 +                               regulator-boot-on;
869 +                               regulator-always-on;
870 +                       };
871 +
872 +                       sw3_reg: ltc3676__sw3 {
873 +                               regulator-min-microvolt = <1175000>;
874 +                               regulator-max-microvolt = <1175000>;
875 +                               regulator-boot-on;
876 +                               regulator-always-on;
877 +                       };
878 +
879 +                       sw4_reg: ltc3676__sw4 {
880 +                               regulator-min-microvolt = <1500000>;
881 +                               regulator-max-microvolt = <1500000>;
882 +                               regulator-boot-on;
883 +                               regulator-always-on;
884 +                       };
885 +
886 +                       ldo2_reg: ltc3676__ldo2 {
887 +                               regulator-min-microvolt = <2500000>;
888 +                               regulator-max-microvolt = <2500000>;
889 +                               regulator-boot-on;
890 +                               regulator-always-on;
891 +                       };
892 +
893 +                       ldo4_reg: ltc3676__ldo4 {
894 +                               regulator-min-microvolt = <3000000>;
895 +                               regulator-max-microvolt = <3000000>;
896 +                       };
897 +               };
898 +       };
899 +};
900 +
901 +&i2c3 {
902 +       clock-frequency = <100000>;
903 +       pinctrl-names = "default";
904 +       pinctrl-0 = <&pinctrl_i2c3_2>;
905 +       status = "okay";
906 +
907 +       videoin: adv7180@20 {
908 +               compatible = "adi,adv7180";
909 +               reg = <0x20>;
910 +       };
911 +};
912 +
913 +&iomuxc {
914 +       pinctrl-names = "default";
915 +       pinctrl-0 = <&pinctrl_hog>;
916 +
917 +       hog {
918 +               pinctrl_hog: hoggrp {
919 +                       fsl,pins = <
920 +                               MX6QDL_PAD_EIM_A19__GPIO2_IO19   0x80000000 /* MEZZ_DIO0 */
921 +                               MX6QDL_PAD_EIM_A20__GPIO2_IO18   0x80000000 /* MEZZ_DIO1 */
922 +                               MX6QDL_PAD_EIM_D22__GPIO3_IO22   0x80000000 /* OTG_PWR_EN */
923 +                               MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x80000000 /* GPS_PPS */
924 +                               MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* PHY Reset */
925 +                               MX6QDL_PAD_GPIO_0__GPIO1_IO00    0x80000000 /* PCIE_RST# */
926 +                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06  0x80000000 /* user1 led */
927 +                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07  0x80000000 /* user2 led */
928 +                        >;
929 +               };
930 +       };
931 +};
932 +
933 +&pcie {
934 +       reset-gpio = <&gpio1 0 0>;
935 +       status = "okay";
936 +};
937 +
938 +&uart1 {
939 +       pinctrl-names = "default";
940 +       pinctrl-0 = <&pinctrl_uart1_2>;
941 +       status = "okay";
942 +};
943 +
944 +&uart2 {
945 +       pinctrl-names = "default";
946 +       pinctrl-0 = <&pinctrl_uart2_3>;
947 +       status = "okay";
948 +};
949 +
950 +&uart3 {
951 +       pinctrl-names = "default";
952 +       pinctrl-0 = <&pinctrl_uart3_3>;
953 +       status = "okay";
954 +};
955 +
956 +&uart5 {
957 +       pinctrl-names = "default";
958 +       pinctrl-0 = <&pinctrl_uart5_1>;
959 +       status = "okay";
960 +};
961 +
962 +&usbotg {
963 +       vbus-supply = <&reg_usb_otg_vbus>;
964 +       pinctrl-names = "default";
965 +       pinctrl-0 = <&pinctrl_usbotg_1>;
966 +       disable-over-current;
967 +       status = "okay";
968 +};
969 +
970 +&usbh1 {
971 +       status = "okay";
972 +};
973 --- /dev/null
974 +++ b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
975 @@ -0,0 +1,373 @@
976 +/*
977 + * Copyright 2013 Gateworks Corporation
978 + *
979 + * The code contained herein is licensed under the GNU General Public
980 + * License. You may obtain a copy of the GNU General Public License
981 + * Version 2 or later at the following locations:
982 + *
983 + * http://www.opensource.org/licenses/gpl-license.html
984 + * http://www.gnu.org/copyleft/gpl.html
985 + */
986 +
987 +/ {
988 +       /* these are used by bootloader for disabling nodes */
989 +       aliases {
990 +               ethernet0 = &fec;
991 +               led0 = &led0;
992 +               led1 = &led1;
993 +               led2 = &led2;
994 +               nand = &gpmi;
995 +               ssi0 = &ssi1;
996 +               usb0 = &usbh1;
997 +               usb1 = &usbotg;
998 +               usdhc2 = &usdhc3;
999 +       };
1000 +
1001 +       chosen {
1002 +               bootargs = "console=ttymxc1,115200";
1003 +       };
1004 +
1005 +       leds {
1006 +               compatible = "gpio-leds";
1007 +
1008 +               led0: user1 {
1009 +                       label = "user1";
1010 +                       gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
1011 +                       default-state = "on";
1012 +                       linux,default-trigger = "heartbeat";
1013 +               };
1014 +
1015 +               led1: user2 {
1016 +                       label = "user2";
1017 +                       gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
1018 +                       default-state = "off";
1019 +               };
1020 +
1021 +               led2: user3 {
1022 +                       label = "user3";
1023 +                       gpios = <&gpio4 15 1>; /* 111 - MX6_LOCLED# */
1024 +                       default-state = "off";
1025 +               };
1026 +       };
1027 +
1028 +       memory {
1029 +               reg = <0x10000000 0x20000000>;
1030 +       };
1031 +
1032 +       pps {
1033 +               compatible = "pps-gpio";
1034 +               gpios = <&gpio1 26 0>;
1035 +               status = "okay";
1036 +       };
1037 +
1038 +       regulators {
1039 +               compatible = "simple-bus";
1040 +
1041 +               reg_1p0v: 1p0v {
1042 +                       compatible = "regulator-fixed";
1043 +                       regulator-name = "1P0V";
1044 +                       regulator-min-microvolt = <1000000>;
1045 +                       regulator-max-microvolt = <1000000>;
1046 +                       regulator-always-on;
1047 +               };
1048 +
1049 +               /* remove this fixed regulator once ltc3676__sw2 driver available */
1050 +               reg_1p8v: 1p8v {
1051 +                       compatible = "regulator-fixed";
1052 +                       regulator-name = "1P8V";
1053 +                       regulator-min-microvolt = <1800000>;
1054 +                       regulator-max-microvolt = <1800000>;
1055 +                       regulator-always-on;
1056 +               };
1057 +
1058 +               reg_3p3v: 3p3v {
1059 +                       compatible = "regulator-fixed";
1060 +                       regulator-name = "3P3V";
1061 +                       regulator-min-microvolt = <3300000>;
1062 +                       regulator-max-microvolt = <3300000>;
1063 +                       regulator-always-on;
1064 +               };
1065 +
1066 +               reg_5p0v: 5p0v {
1067 +                       compatible = "regulator-fixed";
1068 +                       regulator-name = "5P0V";
1069 +                       regulator-min-microvolt = <5000000>;
1070 +                       regulator-max-microvolt = <5000000>;
1071 +                       regulator-always-on;
1072 +               };
1073 +
1074 +               reg_usb_otg_vbus: usb_otg_vbus {
1075 +                       compatible = "regulator-fixed";
1076 +                       regulator-name = "usb_otg_vbus";
1077 +                       regulator-min-microvolt = <5000000>;
1078 +                       regulator-max-microvolt = <5000000>;
1079 +                       gpio = <&gpio3 22 0>;
1080 +                       enable-active-high;
1081 +               };
1082 +       };
1083 +
1084 +       sound {
1085 +               compatible = "fsl,imx6q-sabrelite-sgtl5000",
1086 +                            "fsl,imx-audio-sgtl5000";
1087 +               model = "imx6q-sabrelite-sgtl5000";
1088 +               ssi-controller = <&ssi1>;
1089 +               audio-codec = <&codec>;
1090 +               audio-routing =
1091 +                       "MIC_IN", "Mic Jack",
1092 +                       "Mic Jack", "Mic Bias",
1093 +                       "Headphone Jack", "HP_OUT";
1094 +               mux-int-port = <1>;
1095 +               mux-ext-port = <4>;
1096 +       };
1097 +};
1098 +
1099 +&audmux {
1100 +       pinctrl-names = "default";
1101 +       pinctrl-0 = <&pinctrl_audmux_1>;
1102 +       status = "okay";
1103 +};
1104 +
1105 +&fec {
1106 +       pinctrl-names = "default";
1107 +       pinctrl-0 = <&pinctrl_enet_1>;
1108 +       phy-mode = "rgmii";
1109 +       phy-reset-gpios = <&gpio1 30 0>;
1110 +       status = "okay";
1111 +};
1112 +
1113 +&gpmi {
1114 +       pinctrl-names = "default";
1115 +       pinctrl-0 = <&pinctrl_gpmi_nand_2>;
1116 +       status = "okay";
1117 +};
1118 +
1119 +&i2c1 {
1120 +       clock-frequency = <100000>;
1121 +       pinctrl-names = "default";
1122 +       pinctrl-0 = <&pinctrl_i2c1_1>;
1123 +       status = "okay";
1124 +
1125 +       eeprom1: eeprom@50 {
1126 +               compatible = "atmel,24c02";
1127 +               reg = <0x50>;
1128 +               pagesize = <16>;
1129 +       };
1130 +
1131 +       eeprom2: eeprom@51 {
1132 +               compatible = "atmel,24c02";
1133 +               reg = <0x51>;
1134 +               pagesize = <16>;
1135 +       };
1136 +
1137 +       eeprom3: eeprom@52 {
1138 +               compatible = "atmel,24c02";
1139 +               reg = <0x52>;
1140 +               pagesize = <16>;
1141 +       };
1142 +
1143 +       eeprom4: eeprom@53 {
1144 +               compatible = "atmel,24c02";
1145 +               reg = <0x53>;
1146 +               pagesize = <16>;
1147 +       };
1148 +
1149 +       gpio: pca9555@23 {
1150 +               compatible = "nxp,pca9555";
1151 +               reg = <0x23>;
1152 +               gpio-controller;
1153 +               #gpio-cells = <2>;
1154 +       };
1155 +
1156 +       hwmon: gsc@29 {
1157 +               compatible = "gw,gsp";
1158 +               reg = <0x29>;
1159 +       };
1160 +
1161 +       rtc: ds1672@68 {
1162 +               compatible = "dallas,ds1672";
1163 +               reg = <0x68>;
1164 +       };
1165 +};
1166 +
1167 +&i2c2 {
1168 +       clock-frequency = <100000>;
1169 +       pinctrl-names = "default";
1170 +       pinctrl-0 = <&pinctrl_i2c2_2>;
1171 +       status = "okay";
1172 +
1173 +       pciswitch: pex8609@3f {
1174 +               compatible = "plx,pex8609";
1175 +               reg = <0x3f>;
1176 +       };
1177 +
1178 +       pmic: ltc3676@3c {
1179 +               compatible = "ltc,ltc3676";
1180 +               reg = <0x3c>;
1181 +
1182 +               regulators {
1183 +                       sw1_reg: ltc3676__sw1 {
1184 +                               regulator-min-microvolt = <1175000>;
1185 +                               regulator-max-microvolt = <1175000>;
1186 +                               regulator-boot-on;
1187 +                               regulator-always-on;
1188 +                       };
1189 +
1190 +                       sw2_reg: ltc3676__sw2 {
1191 +                               regulator-min-microvolt = <1800000>;
1192 +                               regulator-max-microvolt = <1800000>;
1193 +                               regulator-boot-on;
1194 +                               regulator-always-on;
1195 +                       };
1196 +
1197 +                       sw3_reg: ltc3676__sw3 {
1198 +                               regulator-min-microvolt = <1175000>;
1199 +                               regulator-max-microvolt = <1175000>;
1200 +                               regulator-boot-on;
1201 +                               regulator-always-on;
1202 +                       };
1203 +
1204 +                       sw4_reg: ltc3676__sw4 {
1205 +                               regulator-min-microvolt = <1500000>;
1206 +                               regulator-max-microvolt = <1500000>;
1207 +                               regulator-boot-on;
1208 +                               regulator-always-on;
1209 +                       };
1210 +
1211 +                       ldo2_reg: ltc3676__ldo2 {
1212 +                               regulator-min-microvolt = <2500000>;
1213 +                               regulator-max-microvolt = <2500000>;
1214 +                               regulator-boot-on;
1215 +                               regulator-always-on;
1216 +                       };
1217 +
1218 +                       ldo3_reg: ltc3676__ldo3 {
1219 +                               regulator-min-microvolt = <1800000>;
1220 +                               regulator-max-microvolt = <1800000>;
1221 +                               regulator-boot-on;
1222 +                               regulator-always-on;
1223 +                       };
1224 +
1225 +                       ldo4_reg: ltc3676__ldo4 {
1226 +                               regulator-min-microvolt = <3000000>;
1227 +                               regulator-max-microvolt = <3000000>;
1228 +                       };
1229 +               };
1230 +       };
1231 +};
1232 +
1233 +&i2c3 {
1234 +       clock-frequency = <100000>;
1235 +       pinctrl-names = "default";
1236 +       pinctrl-0 = <&pinctrl_i2c3_2>;
1237 +       status = "okay";
1238 +
1239 +       accelerometer: fxos8700@1e {
1240 +               compatible = "fsl,fxos8700";
1241 +               reg = <0x13>;
1242 +       };
1243 +
1244 +       codec: sgtl5000@0a {
1245 +               compatible = "fsl,sgtl5000";
1246 +               reg = <0x0a>;
1247 +               clocks = <&clks 169>;
1248 +               VDDA-supply = <&reg_1p8v>;
1249 +               VDDIO-supply = <&reg_3p3v>;
1250 +       };
1251 +
1252 +       touchscreen: egalax_ts@04 {
1253 +               compatible = "eeti,egalax_ts";
1254 +               reg = <0x04>;
1255 +               interrupt-parent = <&gpio7>;
1256 +               interrupts = <12 2>; /* gpio7_12 active low */
1257 +               wakeup-gpios = <&gpio7 12 0>;
1258 +       };
1259 +
1260 +       videoin: adv7180@20 {
1261 +               compatible = "adi,adv7180";
1262 +               reg = <0x20>;
1263 +       };
1264 +};
1265 +
1266 +&iomuxc {
1267 +       pinctrl-names = "default";
1268 +       pinctrl-0 = <&pinctrl_hog>;
1269 +
1270 +       hog {
1271 +               pinctrl_hog: hoggrp {
1272 +                       fsl,pins = <
1273 +                               MX6QDL_PAD_EIM_A19__GPIO2_IO19   0x80000000 /* MEZZ_DIO0 */
1274 +                               MX6QDL_PAD_EIM_A20__GPIO2_IO18   0x80000000 /* MEZZ_DIO1 */
1275 +                               MX6QDL_PAD_EIM_D22__GPIO3_IO22   0x80000000 /* OTG_PWR_EN */
1276 +                               MX6QDL_PAD_EIM_D31__GPIO3_IO31   0x80000000 /* VIDDEC_PDN# */
1277 +                               MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* PHY Reset */
1278 +                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* PCIE_RST# */
1279 +                               MX6QDL_PAD_ENET_RXD0__GPIO1_IO27 0x80000000 /* GPS_PWDN */
1280 +                               MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x80000000 /* GPS_PPS */
1281 +                               MX6QDL_PAD_GPIO_0__CCM_CLKO1     0x000130b0 /* AUD4_MCK */
1282 +                               MX6QDL_PAD_GPIO_2__GPIO1_IO02    0x80000000 /* USB_SEL_PCI */
1283 +                               MX6QDL_PAD_GPIO_17__GPIO7_IO12   0x80000000 /* TOUCH_IRQ# */
1284 +                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06  0x80000000 /* user1 led */
1285 +                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07  0x80000000 /* user2 led */
1286 +                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15  0x80000000 /* user3 led */
1287 +                               MX6QDL_PAD_SD2_CMD__GPIO1_IO11   0x80000000 /* LVDS_TCH# */
1288 +                               MX6QDL_PAD_SD3_DAT5__GPIO7_IO00  0x80000000 /* SD3_CD# */
1289 +                               MX6QDL_PAD_SD4_DAT3__GPIO2_IO11  0x80000000 /* UART2_EN# */
1290 +                        >;
1291 +               };
1292 +       };
1293 +};
1294 +
1295 +&ldb {
1296 +       status = "okay";
1297 +       lvds-channel@0 {
1298 +               crtcs = <&ipu1 0>, <&ipu1 1>;
1299 +       };
1300 +};
1301 +
1302 +&pcie {
1303 +       reset-gpio = <&gpio1 29 0>;
1304 +       status = "okay";
1305 +};
1306 +
1307 +&ssi1 {
1308 +       fsl,mode = "i2s-slave";
1309 +       status = "okay";
1310 +};
1311 +
1312 +&uart1 {
1313 +       pinctrl-names = "default";
1314 +       pinctrl-0 = <&pinctrl_uart1_2>;
1315 +       status = "okay";
1316 +};
1317 +
1318 +&uart2 {
1319 +       pinctrl-names = "default";
1320 +       pinctrl-0 = <&pinctrl_uart2_3>;
1321 +       status = "okay";
1322 +};
1323 +
1324 +&uart5 {
1325 +       pinctrl-names = "default";
1326 +       pinctrl-0 = <&pinctrl_uart5_1>;
1327 +       status = "okay";
1328 +};
1329 +
1330 +&usbotg {
1331 +       vbus-supply = <&reg_usb_otg_vbus>;
1332 +       pinctrl-names = "default";
1333 +       pinctrl-0 = <&pinctrl_usbotg_1>;
1334 +       disable-over-current;
1335 +       status = "okay";
1336 +};
1337 +
1338 +&usbh1 {
1339 +       status = "okay";
1340 +};
1341 +
1342 +&usdhc3 {
1343 +       pinctrl-names = "default";
1344 +       pinctrl-0 = <&pinctrl_usdhc3_2>;
1345 +       cd-gpios = <&gpio7 0 0>;
1346 +       vmmc-supply = <&reg_3p3v>;
1347 +       status = "okay";
1348 +};
1349 --- /dev/null
1350 +++ b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi
1351 @@ -0,0 +1,429 @@
1352 +/*
1353 + * Copyright 2013 Gateworks Corporation
1354 + *
1355 + * The code contained herein is licensed under the GNU General Public
1356 + * License. You may obtain a copy of the GNU General Public License
1357 + * Version 2 or later at the following locations:
1358 + *
1359 + * http://www.opensource.org/licenses/gpl-license.html
1360 + * http://www.gnu.org/copyleft/gpl.html
1361 + */
1362 +
1363 +/ {
1364 +       /* these are used by bootloader for disabling nodes */
1365 +       aliases {
1366 +               can0 = &can1;
1367 +               ethernet0 = &fec;
1368 +               ethernet1 = &eth1;
1369 +               led0 = &led0;
1370 +               led1 = &led1;
1371 +               led2 = &led2;
1372 +               nand = &gpmi;
1373 +               sky2 = &eth1;
1374 +               ssi0 = &ssi1;
1375 +               usb0 = &usbh1;
1376 +               usb1 = &usbotg;
1377 +               usdhc2 = &usdhc3;
1378 +       };
1379 +
1380 +       chosen {
1381 +               bootargs = "console=ttymxc1,115200";
1382 +       };
1383 +
1384 +       leds {
1385 +               compatible = "gpio-leds";
1386 +
1387 +               led0: user1 {
1388 +                       label = "user1";
1389 +                       gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
1390 +                       default-state = "on";
1391 +                       linux,default-trigger = "heartbeat";
1392 +               };
1393 +
1394 +               led1: user2 {
1395 +                       label = "user2";
1396 +                       gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
1397 +                       default-state = "off";
1398 +               };
1399 +
1400 +               led2: user3 {
1401 +                       label = "user3";
1402 +                       gpios = <&gpio4 15 1>; /* 111 -> MX6_LOCLED# */
1403 +                       default-state = "off";
1404 +               };
1405 +       };
1406 +
1407 +       memory {
1408 +               reg = <0x10000000 0x40000000>;
1409 +       };
1410 +
1411 +       pps {
1412 +               compatible = "pps-gpio";
1413 +               gpios = <&gpio1 26 0>;
1414 +               status = "okay";
1415 +       };
1416 +
1417 +       regulators {
1418 +               compatible = "simple-bus";
1419 +
1420 +               reg_1p0v: 1p0v {
1421 +                       compatible = "regulator-fixed";
1422 +                       regulator-name = "1P0V";
1423 +                       regulator-min-microvolt = <1000000>;
1424 +                       regulator-max-microvolt = <1000000>;
1425 +                       regulator-always-on;
1426 +               };
1427 +
1428 +               /* remove when pmic 1p8 regulator available */
1429 +               reg_1p8v: 1p8v {
1430 +                       compatible = "regulator-fixed";
1431 +                       regulator-name = "1P8V";
1432 +                       regulator-min-microvolt = <1800000>;
1433 +                       regulator-max-microvolt = <1800000>;
1434 +                       regulator-always-on;
1435 +               };
1436 +
1437 +               reg_3p3v: 3p3v {
1438 +                       compatible = "regulator-fixed";
1439 +                       regulator-name = "3P3V";
1440 +                       regulator-min-microvolt = <3300000>;
1441 +                       regulator-max-microvolt = <3300000>;
1442 +                       regulator-always-on;
1443 +               };
1444 +
1445 +               reg_usb_h1_vbus: usb_h1_vbus {
1446 +                       compatible = "regulator-fixed";
1447 +                       regulator-name = "usb_h1_vbus";
1448 +                       regulator-min-microvolt = <5000000>;
1449 +                       regulator-max-microvolt = <5000000>;
1450 +                       regulator-always-on;
1451 +               };
1452 +
1453 +               reg_usb_otg_vbus: usb_otg_vbus {
1454 +                       compatible = "regulator-fixed";
1455 +                       regulator-name = "usb_otg_vbus";
1456 +                       regulator-min-microvolt = <5000000>;
1457 +                       regulator-max-microvolt = <5000000>;
1458 +                       gpio = <&gpio3 22 0>;
1459 +                       enable-active-high;
1460 +               };
1461 +       };
1462 +
1463 +       sound {
1464 +               compatible = "fsl,imx6q-sabrelite-sgtl5000",
1465 +                            "fsl,imx-audio-sgtl5000";
1466 +               model = "imx6q-sabrelite-sgtl5000";
1467 +               ssi-controller = <&ssi1>;
1468 +               audio-codec = <&codec>;
1469 +               audio-routing =
1470 +                       "MIC_IN", "Mic Jack",
1471 +                       "Mic Jack", "Mic Bias",
1472 +                       "Headphone Jack", "HP_OUT";
1473 +               mux-int-port = <1>;
1474 +               mux-ext-port = <4>;
1475 +       };
1476 +};
1477 +
1478 +&audmux {
1479 +       pinctrl-names = "default";
1480 +       pinctrl-0 = <&pinctrl_audmux_1>;
1481 +       status = "okay";
1482 +};
1483 +
1484 +&can1 {
1485 +       pinctrl-names = "default";
1486 +       pinctrl-0 = <&pinctrl_flexcan1_1>;
1487 +       status = "okay";
1488 +};
1489 +
1490 +&fec {
1491 +       pinctrl-names = "default";
1492 +       pinctrl-0 = <&pinctrl_enet_1>;
1493 +       phy-mode = "rgmii";
1494 +       phy-reset-gpios = <&gpio1 30 0>;
1495 +       status = "okay";
1496 +};
1497 +
1498 +&gpmi {
1499 +       pinctrl-names = "default";
1500 +       pinctrl-0 = <&pinctrl_gpmi_nand_2>;
1501 +       status = "okay";
1502 +};
1503 +
1504 +&i2c1 {
1505 +       clock-frequency = <100000>;
1506 +       pinctrl-names = "default";
1507 +       pinctrl-0 = <&pinctrl_i2c1_1>;
1508 +       status = "okay";
1509 +
1510 +       eeprom1: eeprom@50 {
1511 +               compatible = "atmel,24c02";
1512 +               reg = <0x50>;
1513 +               pagesize = <16>;
1514 +       };
1515 +
1516 +       eeprom2: eeprom@51 {
1517 +               compatible = "atmel,24c02";
1518 +               reg = <0x51>;
1519 +               pagesize = <16>;
1520 +       };
1521 +
1522 +       eeprom3: eeprom@52 {
1523 +               compatible = "atmel,24c02";
1524 +               reg = <0x52>;
1525 +               pagesize = <16>;
1526 +       };
1527 +
1528 +       eeprom4: eeprom@53 {
1529 +               compatible = "atmel,24c02";
1530 +               reg = <0x53>;
1531 +               pagesize = <16>;
1532 +       };
1533 +
1534 +       gpio: pca9555@23 {
1535 +               compatible = "nxp,pca9555";
1536 +               reg = <0x23>;
1537 +               gpio-controller;
1538 +               #gpio-cells = <2>;
1539 +       };
1540 +
1541 +       hwmon: gsc@29 {
1542 +               compatible = "gw,gsp";
1543 +               reg = <0x29>;
1544 +       };
1545 +
1546 +       rtc: ds1672@68 {
1547 +               compatible = "dallas,ds1672";
1548 +               reg = <0x68>;
1549 +       };
1550 +};
1551 +
1552 +&i2c2 {
1553 +       clock-frequency = <100000>;
1554 +       pinctrl-names = "default";
1555 +       pinctrl-0 = <&pinctrl_i2c2_2>;
1556 +       status = "okay";
1557 +
1558 +       pciclkgen: si53156@6b {
1559 +               compatible = "sil,si53156";
1560 +               reg = <0x6b>;
1561 +       };
1562 +
1563 +       pciswitch: pex8606@3f {
1564 +               compatible = "plx,pex8606";
1565 +               reg = <0x3f>;
1566 +       };
1567 +
1568 +       pmic: ltc3676@3c {
1569 +               compatible = "ltc,ltc3676";
1570 +               reg = <0x3c>;
1571 +
1572 +               regulators {
1573 +                       /* VDD_SOC */
1574 +                       sw1_reg: ltc3676__sw1 {
1575 +                               regulator-min-microvolt = <1175000>;
1576 +                               regulator-max-microvolt = <1175000>;
1577 +                               regulator-boot-on;
1578 +                               regulator-always-on;
1579 +                       };
1580 +
1581 +                       /* VDD_1P8 */
1582 +                       sw2_reg: ltc3676__sw2 {
1583 +                               regulator-min-microvolt = <1800000>;
1584 +                               regulator-max-microvolt = <1800000>;
1585 +                               regulator-boot-on;
1586 +                               regulator-always-on;
1587 +                       };
1588 +
1589 +                       /* VDD_ARM */
1590 +                       sw3_reg: ltc3676__sw3 {
1591 +                               regulator-min-microvolt = <1175000>;
1592 +                               regulator-max-microvolt = <1175000>;
1593 +                               regulator-boot-on;
1594 +                               regulator-always-on;
1595 +                       };
1596 +
1597 +                       /* VDD_DDR */
1598 +                       sw4_reg: ltc3676__sw4 {
1599 +                               regulator-min-microvolt = <1500000>;
1600 +                               regulator-max-microvolt = <1500000>;
1601 +                               regulator-boot-on;
1602 +                               regulator-always-on;
1603 +                       };
1604 +
1605 +                       /* VDD_2P5 */
1606 +                       ldo2_reg: ltc3676__ldo2 {
1607 +                               regulator-min-microvolt = <2500000>;
1608 +                               regulator-max-microvolt = <2500000>;
1609 +                               regulator-boot-on;
1610 +                               regulator-always-on;
1611 +                       };
1612 +
1613 +                       /* VDD_1P8 */
1614 +                       ldo3_reg: ltc3676__ldo3 {
1615 +                               regulator-min-microvolt = <1800000>;
1616 +                               regulator-max-microvolt = <1800000>;
1617 +                               regulator-boot-on;
1618 +                               regulator-always-on;
1619 +                       };
1620 +
1621 +                       /* VDD_HIGH */
1622 +                       ldo4_reg: ltc3676__ldo4 {
1623 +                               regulator-min-microvolt = <3000000>;
1624 +                               regulator-max-microvolt = <3000000>;
1625 +                       };
1626 +               };
1627 +       };
1628 +};
1629 +
1630 +&i2c3 {
1631 +       clock-frequency = <100000>;
1632 +       pinctrl-names = "default";
1633 +       pinctrl-0 = <&pinctrl_i2c3_2>;
1634 +       status = "okay";
1635 +
1636 +       accelerometer: fxos8700@1e {
1637 +               compatible = "fsl,fxos8700";
1638 +               reg = <0x1e>;
1639 +       };
1640 +
1641 +       codec: sgtl5000@0a {
1642 +               compatible = "fsl,sgtl5000";
1643 +               reg = <0x0a>;
1644 +               clocks = <&clks 201>;
1645 +               VDDA-supply = <&reg_1p8v>;
1646 +               VDDIO-supply = <&reg_3p3v>;
1647 +       };
1648 +
1649 +       hdmiin: adv7611@4c {
1650 +               compatible = "adi,adv7611";
1651 +               reg = <0x4c>;
1652 +       };
1653 +
1654 +       touchscreen: egalax_ts@04 {
1655 +               compatible = "eeti,egalax_ts";
1656 +               reg = <0x04>;
1657 +               interrupt-parent = <&gpio1>;
1658 +               interrupts = <11 2>; /* gpio1_11 active low */
1659 +               wakeup-gpios = <&gpio1 11 0>;
1660 +       };
1661 +
1662 +       videoout: adv7393@2a {
1663 +               compatible = "adi,adv7393";
1664 +               reg = <0x2a>;
1665 +       };
1666 +
1667 +       videoin: adv7180@20 {
1668 +               compatible = "adi,adv7180";
1669 +               reg = <0x20>;
1670 +       };
1671 +};
1672 +
1673 +&iomuxc {
1674 +       pinctrl-names = "default";
1675 +       pinctrl-0 = <&pinctrl_hog>;
1676 +
1677 +       hog {
1678 +               pinctrl_hog: hoggrp {
1679 +                       fsl,pins = <
1680 +                               MX6QDL_PAD_EIM_A19__GPIO2_IO19    0x80000000 /* PCIE6EXP_DIO0 */
1681 +                               MX6QDL_PAD_EIM_A20__GPIO2_IO18    0x80000000 /* PCIE6EXP_DIO1 */
1682 +                               MX6QDL_PAD_EIM_D22__GPIO3_IO22    0x80000000 /* OTG_PWR_EN */
1683 +                               MX6QDL_PAD_ENET_RXD0__GPIO1_IO27  0x80000000 /* GPS_SHDN */
1684 +                               MX6QDL_PAD_ENET_RXD1__GPIO1_IO26  0x80000000 /* GPS_PPS */
1685 +                               MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* PCIE IRQ */
1686 +                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29  0x80000000 /* PCIE RST */
1687 +                               MX6QDL_PAD_GPIO_0__CCM_CLKO1      0x000130b0 /* AUD4_MCK */
1688 +                               MX6QDL_PAD_GPIO_2__GPIO1_IO02     0x80000000 /* CAN_STBY */
1689 +                               MX6QDL_PAD_GPIO_8__GPIO1_IO08     0x80000000 /* PMIC_IRQ# */
1690 +                               MX6QDL_PAD_GPIO_9__GPIO1_IO09     0x80000000 /* HUB_RST# */
1691 +                               MX6QDL_PAD_GPIO_17__GPIO7_IO12    0x80000000 /* PCIE_WDIS# */
1692 +                               MX6QDL_PAD_GPIO_19__GPIO4_IO05    0x80000000 /* ACCEL_IRQ# */
1693 +                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06   0x80000000 /* user1 led */
1694 +                               MX6QDL_PAD_KEY_COL4__GPIO4_IO14   0x80000000 /* USBOTG_OC# */
1695 +                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07   0x80000000 /* user2 led */
1696 +                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15   0x80000000 /* user3 led */
1697 +                               MX6QDL_PAD_SD2_CMD__GPIO1_IO11    0x80000000 /* TOUCH_IRQ# */
1698 +                               MX6QDL_PAD_SD3_DAT5__GPIO7_IO00   0x80000000 /* SD3_DET# */
1699 +                        >;
1700 +               };
1701 +       };
1702 +};
1703 +
1704 +&ldb {
1705 +       status = "okay";
1706 +
1707 +       lvds-channel@1 {
1708 +               fsl,data-mapping = "spwg";
1709 +               fsl,data-width = <18>;
1710 +               status = "okay";
1711 +
1712 +               display-timings {
1713 +                       native-mode = <&timing0>;
1714 +                       timing0: hsd100pxn1 {
1715 +                               clock-frequency = <65000000>;
1716 +                               hactive = <1024>;
1717 +                               vactive = <768>;
1718 +                               hback-porch = <220>;
1719 +                               hfront-porch = <40>;
1720 +                               vback-porch = <21>;
1721 +                               vfront-porch = <7>;
1722 +                               hsync-len = <60>;
1723 +                               vsync-len = <10>;
1724 +                       };
1725 +               };
1726 +       };
1727 +};
1728 +
1729 +&pcie {
1730 +       reset-gpio = <&gpio1 29 0>;
1731 +       status = "okay";
1732 +
1733 +       eth1: sky2@8 { /* MAC/PHY on bus 8 */
1734 +               compatible = "marvell,sky2";
1735 +       };
1736 +};
1737 +
1738 +&ssi1 {
1739 +       fsl,mode = "i2s-slave";
1740 +       status = "okay";
1741 +};
1742 +
1743 +&uart1 {
1744 +       pinctrl-names = "default";
1745 +       pinctrl-0 = <&pinctrl_uart1_2>;
1746 +       status = "okay";
1747 +};
1748 +
1749 +&uart2 {
1750 +       pinctrl-names = "default";
1751 +       pinctrl-0 = <&pinctrl_uart2_3>;
1752 +       status = "okay";
1753 +};
1754 +
1755 +&uart5 {
1756 +       pinctrl-names = "default";
1757 +       pinctrl-0 = <&pinctrl_uart5_1>;
1758 +       status = "okay";
1759 +};
1760 +
1761 +&usbotg {
1762 +       vbus-supply = <&reg_usb_otg_vbus>;
1763 +       pinctrl-names = "default";
1764 +       pinctrl-0 = <&pinctrl_usbotg_1>;
1765 +       disable-over-current;
1766 +       status = "okay";
1767 +};
1768 +
1769 +&usbh1 {
1770 +       vbus-supply = <&reg_usb_h1_vbus>;
1771 +       status = "okay";
1772 +};
1773 +
1774 +&usdhc3 {
1775 +       pinctrl-names = "default";
1776 +       pinctrl-0 = <&pinctrl_usdhc3_2>;
1777 +       cd-gpios = <&gpio7 0 0>;
1778 +       vmmc-supply = <&reg_3p3v>;
1779 +       status = "okay";
1780 +};
1781 --- /dev/null
1782 +++ b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi
1783 @@ -0,0 +1,457 @@
1784 +/*
1785 + * Copyright 2013 Gateworks Corporation
1786 + *
1787 + * The code contained herein is licensed under the GNU General Public
1788 + * License. You may obtain a copy of the GNU General Public License
1789 + * Version 2 or later at the following locations:
1790 + *
1791 + * http://www.opensource.org/licenses/gpl-license.html
1792 + * http://www.gnu.org/copyleft/gpl.html
1793 + */
1794 +
1795 +/ {
1796 +       /* these are used by bootloader for disabling nodes */
1797 +       aliases {
1798 +               can0 = &can1;
1799 +               ethernet0 = &fec;
1800 +               ethernet1 = &eth1;
1801 +               led0 = &led0;
1802 +               led1 = &led1;
1803 +               led2 = &led2;
1804 +               nand = &gpmi;
1805 +               sky2 = &eth1;
1806 +               ssi0 = &ssi1;
1807 +               usb0 = &usbh1;
1808 +               usb1 = &usbotg;
1809 +               usdhc2 = &usdhc3;
1810 +       };
1811 +
1812 +       chosen {
1813 +               bootargs = "console=ttymxc1,115200";
1814 +       };
1815 +
1816 +       leds {
1817 +               compatible = "gpio-leds";
1818 +
1819 +               led0: user1 {
1820 +                       label = "user1";
1821 +                       gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
1822 +                       default-state = "on";
1823 +                       linux,default-trigger = "heartbeat";
1824 +               };
1825 +
1826 +               led1: user2 {
1827 +                       label = "user2";
1828 +                       gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
1829 +                       default-state = "off";
1830 +               };
1831 +
1832 +               led2: user3 {
1833 +                       label = "user3";
1834 +                       gpios = <&gpio4 15 1>; /* 111 -> MX6_LOCLED# */
1835 +                       default-state = "off";
1836 +               };
1837 +       };
1838 +
1839 +       memory {
1840 +               reg = <0x10000000 0x40000000>;
1841 +       };
1842 +
1843 +       pps {
1844 +               compatible = "pps-gpio";
1845 +               gpios = <&gpio1 26 0>;
1846 +               status = "okay";
1847 +       };
1848 +
1849 +       regulators {
1850 +               compatible = "simple-bus";
1851 +
1852 +               reg_1p0v: 1p0v {
1853 +                       compatible = "regulator-fixed";
1854 +                       regulator-name = "1P0V";
1855 +                       regulator-min-microvolt = <1000000>;
1856 +                       regulator-max-microvolt = <1000000>;
1857 +                       regulator-always-on;
1858 +               };
1859 +
1860 +               reg_3p3v: 3p3v {
1861 +                       compatible = "regulator-fixed";
1862 +                       regulator-name = "3P3V";
1863 +                       regulator-min-microvolt = <3300000>;
1864 +                       regulator-max-microvolt = <3300000>;
1865 +                       regulator-always-on;
1866 +               };
1867 +
1868 +               reg_usb_h1_vbus: usb_h1_vbus {
1869 +                       compatible = "regulator-fixed";
1870 +                       regulator-name = "usb_h1_vbus";
1871 +                       regulator-min-microvolt = <5000000>;
1872 +                       regulator-max-microvolt = <5000000>;
1873 +                       regulator-always-on;
1874 +               };
1875 +
1876 +               reg_usb_otg_vbus: usb_otg_vbus {
1877 +                       compatible = "regulator-fixed";
1878 +                       regulator-name = "usb_otg_vbus";
1879 +                       regulator-min-microvolt = <5000000>;
1880 +                       regulator-max-microvolt = <5000000>;
1881 +                       gpio = <&gpio3 22 0>;
1882 +                       enable-active-high;
1883 +               };
1884 +       };
1885 +
1886 +       sound {
1887 +               compatible = "fsl,imx6q-sabrelite-sgtl5000",
1888 +                            "fsl,imx-audio-sgtl5000";
1889 +               model = "imx6q-sabrelite-sgtl5000";
1890 +               ssi-controller = <&ssi1>;
1891 +               audio-codec = <&codec>;
1892 +               audio-routing =
1893 +                       "MIC_IN", "Mic Jack",
1894 +                       "Mic Jack", "Mic Bias",
1895 +                       "Headphone Jack", "HP_OUT";
1896 +               mux-int-port = <1>;
1897 +               mux-ext-port = <4>;
1898 +       };
1899 +};
1900 +
1901 +&audmux {
1902 +       pinctrl-names = "default";
1903 +       pinctrl-0 = <&pinctrl_audmux_1>; /* AUD4<->sgtl5000 */
1904 +       status = "okay";
1905 +};
1906 +
1907 +&can1 {
1908 +       pinctrl-names = "default";
1909 +       pinctrl-0 = <&pinctrl_flexcan1_1>;
1910 +       status = "okay";
1911 +};
1912 +
1913 +&fec {
1914 +       pinctrl-names = "default";
1915 +       pinctrl-0 = <&pinctrl_enet_1>;
1916 +       phy-mode = "rgmii";
1917 +       phy-reset-gpios = <&gpio1 30 0>;
1918 +       status = "okay";
1919 +};
1920 +
1921 +&gpmi {
1922 +       pinctrl-names = "default";
1923 +       pinctrl-0 = <&pinctrl_gpmi_nand_2>;
1924 +       status = "okay";
1925 +};
1926 +
1927 +&i2c1 {
1928 +       clock-frequency = <100000>;
1929 +       pinctrl-names = "default";
1930 +       pinctrl-0 = <&pinctrl_i2c1_1>;
1931 +       status = "okay";
1932 +
1933 +       eeprom1: eeprom@50 {
1934 +               compatible = "atmel,24c02";
1935 +               reg = <0x50>;
1936 +               pagesize = <16>;
1937 +       };
1938 +
1939 +       eeprom2: eeprom@51 {
1940 +               compatible = "atmel,24c02";
1941 +               reg = <0x51>;
1942 +               pagesize = <16>;
1943 +       };
1944 +
1945 +       eeprom3: eeprom@52 {
1946 +               compatible = "atmel,24c02";
1947 +               reg = <0x52>;
1948 +               pagesize = <16>;
1949 +       };
1950 +
1951 +       eeprom4: eeprom@53 {
1952 +               compatible = "atmel,24c02";
1953 +               reg = <0x53>;
1954 +               pagesize = <16>;
1955 +       };
1956 +
1957 +       gpio: pca9555@23 {
1958 +               compatible = "nxp,pca9555";
1959 +               reg = <0x23>;
1960 +               gpio-controller;
1961 +               #gpio-cells = <2>;
1962 +       };
1963 +
1964 +       hwmon: gsc@29 {
1965 +               compatible = "gw,gsp";
1966 +               reg = <0x29>;
1967 +       };
1968 +
1969 +       rtc: ds1672@68 {
1970 +               compatible = "dallas,ds1672";
1971 +               reg = <0x68>;
1972 +       };
1973 +};
1974 +
1975 +&i2c2 {
1976 +       clock-frequency = <100000>;
1977 +       pinctrl-names = "default";
1978 +       pinctrl-0 = <&pinctrl_i2c2_2>;
1979 +       status = "okay";
1980 +
1981 +       pmic: pfuze100@08 {
1982 +               compatible = "fsl,pfuze100";
1983 +               reg = <0x08>;
1984 +
1985 +               regulators {
1986 +                       sw1a_reg: sw1ab {
1987 +                               regulator-min-microvolt = <300000>;
1988 +                               regulator-max-microvolt = <1875000>;
1989 +                               regulator-boot-on;
1990 +                               regulator-always-on;
1991 +                               regulator-ramp-delay = <6250>;
1992 +                       };
1993 +
1994 +                       sw1c_reg: sw1c {
1995 +                               regulator-min-microvolt = <300000>;
1996 +                               regulator-max-microvolt = <1875000>;
1997 +                               regulator-boot-on;
1998 +                               regulator-always-on;
1999 +                               regulator-ramp-delay = <6250>;
2000 +                       };
2001 +
2002 +                       sw2_reg: sw2 {
2003 +                               regulator-min-microvolt = <800000>;
2004 +                               regulator-max-microvolt = <3950000>;
2005 +                               regulator-boot-on;
2006 +                               regulator-always-on;
2007 +                       };
2008 +
2009 +                       sw3a_reg: sw3a {
2010 +                               regulator-min-microvolt = <400000>;
2011 +                               regulator-max-microvolt = <1975000>;
2012 +                               regulator-boot-on;
2013 +                               regulator-always-on;
2014 +                       };
2015 +
2016 +                       sw3b_reg: sw3b {
2017 +                               regulator-min-microvolt = <400000>;
2018 +                               regulator-max-microvolt = <1975000>;
2019 +                               regulator-boot-on;
2020 +                               regulator-always-on;
2021 +                       };
2022 +
2023 +                       sw4_reg: sw4 {
2024 +                               regulator-min-microvolt = <800000>;
2025 +                               regulator-max-microvolt = <3300000>;
2026 +                       };
2027 +
2028 +                       swbst_reg: swbst {
2029 +                               regulator-min-microvolt = <5000000>;
2030 +                               regulator-max-microvolt = <5150000>;
2031 +                       };
2032 +
2033 +                       snvs_reg: vsnvs {
2034 +                               regulator-min-microvolt = <1000000>;
2035 +                               regulator-max-microvolt = <3000000>;
2036 +                               regulator-boot-on;
2037 +                               regulator-always-on;
2038 +                       };
2039 +
2040 +                       vref_reg: vrefddr {
2041 +                               regulator-boot-on;
2042 +                               regulator-always-on;
2043 +                       };
2044 +
2045 +                       vgen1_reg: vgen1 {
2046 +                               regulator-min-microvolt = <800000>;
2047 +                               regulator-max-microvolt = <1550000>;
2048 +                       };
2049 +
2050 +                       vgen2_reg: vgen2 {
2051 +                               regulator-min-microvolt = <800000>;
2052 +                               regulator-max-microvolt = <1550000>;
2053 +                       };
2054 +
2055 +                       vgen3_reg: vgen3 {
2056 +                               regulator-min-microvolt = <1800000>;
2057 +                               regulator-max-microvolt = <3300000>;
2058 +                       };
2059 +
2060 +                       vgen4_reg: vgen4 {
2061 +                               regulator-min-microvolt = <1800000>;
2062 +                               regulator-max-microvolt = <3300000>;
2063 +                               regulator-always-on;
2064 +                       };
2065 +
2066 +                       vgen5_reg: vgen5 {
2067 +                               regulator-min-microvolt = <1800000>;
2068 +                               regulator-max-microvolt = <3300000>;
2069 +                               regulator-always-on;
2070 +                       };
2071 +
2072 +                       vgen6_reg: vgen6 {
2073 +                               regulator-min-microvolt = <1800000>;
2074 +                               regulator-max-microvolt = <3300000>;
2075 +                               regulator-always-on;
2076 +                       };
2077 +               };
2078 +       };
2079 +
2080 +       pciswitch: pex8609@3f {
2081 +               compatible = "plx,pex8609";
2082 +               reg = <0x3f>;
2083 +       };
2084 +
2085 +       pciclkgen: si52147@6b {
2086 +               compatible = "sil,si52147";
2087 +               reg = <0x6b>;
2088 +       };
2089 +};
2090 +
2091 +&i2c3 {
2092 +       clock-frequency = <100000>;
2093 +       pinctrl-names = "default";
2094 +       pinctrl-0 = <&pinctrl_i2c3_2>;
2095 +       status = "okay";
2096 +
2097 +       accelerometer: fxos8700@1e {
2098 +               compatible = "fsl,fxos8700";
2099 +               reg = <0x1e>;
2100 +       };
2101 +
2102 +       codec: sgtl5000@0a {
2103 +               compatible = "fsl,sgtl5000";
2104 +               reg = <0x0a>;
2105 +               clocks = <&clks 201>;
2106 +               VDDA-supply = <&sw4_reg>;
2107 +               VDDIO-supply = <&reg_3p3v>;
2108 +       };
2109 +
2110 +       hdmiin: adv7611@4c {
2111 +               compatible = "adi,adv7611";
2112 +               reg = <0x4c>;
2113 +       };
2114 +
2115 +       touchscreen: egalax_ts@04 {
2116 +               compatible = "eeti,egalax_ts";
2117 +               reg = <0x04>;
2118 +               interrupt-parent = <&gpio7>;
2119 +               interrupts = <12 2>; /* gpio7_12 active low */
2120 +               wakeup-gpios = <&gpio7 12 0>;
2121 +       };
2122 +
2123 +       videoout: adv7393@2a {
2124 +               compatible = "adi,adv7393";
2125 +               reg = <0x2a>;
2126 +       };
2127 +
2128 +       videoin: adv7180@20 {
2129 +               compatible = "adi,adv7180";
2130 +               reg = <0x20>;
2131 +       };
2132 +};
2133 +
2134 +&iomuxc {
2135 +       pinctrl-names = "default";
2136 +       pinctrl-0 = <&pinctrl_hog>;
2137 +
2138 +       hog {
2139 +               pinctrl_hog: hoggrp {
2140 +                       fsl,pins = <
2141 +                               MX6QDL_PAD_EIM_D22__GPIO3_IO22    0x80000000 /* OTG_PWR_EN */
2142 +                               MX6QDL_PAD_EIM_D19__GPIO3_IO19    0x80000000 /* SPINOR_CS0# */
2143 +                               MX6QDL_PAD_ENET_RXD1__GPIO1_IO26  0x80000000 /* GPS_PPS */
2144 +                               MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* PCIE IRQ */
2145 +                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29  0x80000000 /* PCIE RST */
2146 +                               MX6QDL_PAD_GPIO_0__CCM_CLKO1      0x000130b0 /* AUD4_MCK */
2147 +                               MX6QDL_PAD_GPIO_2__GPIO1_IO02     0x80000000 /* CAN_STBY */
2148 +                               MX6QDL_PAD_GPIO_17__GPIO7_IO12    0x80000000 /* TOUCH_IRQ# */
2149 +                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06   0x80000000 /* user1 led */
2150 +                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07   0x80000000 /* user2 led */
2151 +                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15   0x80000000 /* user3 led */
2152 +                               MX6QDL_PAD_SD1_DAT0__GPIO1_IO16   0x80000000 /* USBHUB_RST# */
2153 +                               MX6QDL_PAD_SD1_DAT3__GPIO1_IO21   0x80000000 /* MIPI_DIO */
2154 +                        >;
2155 +               };
2156 +       };
2157 +};
2158 +
2159 +&ldb {
2160 +       status = "okay";
2161 +
2162 +       lvds-channel@1 {
2163 +               fsl,data-mapping = "spwg";
2164 +               fsl,data-width = <18>;
2165 +               status = "okay";
2166 +
2167 +               display-timings {
2168 +                       native-mode = <&timing0>;
2169 +                       timing0: hsd100pxn1 {
2170 +                               clock-frequency = <65000000>;
2171 +                               hactive = <1024>;
2172 +                               vactive = <768>;
2173 +                               hback-porch = <220>;
2174 +                               hfront-porch = <40>;
2175 +                               vback-porch = <21>;
2176 +                               vfront-porch = <7>;
2177 +                               hsync-len = <60>;
2178 +                               vsync-len = <10>;
2179 +                       };
2180 +               };
2181 +       };
2182 +};
2183 +
2184 +&pcie {
2185 +       reset-gpio = <&gpio1 29 0>;
2186 +       status = "okay";
2187 +
2188 +       eth1: sky2@8 { /* MAC/PHY on bus 8 */
2189 +               compatible = "marvell,sky2";
2190 +       };
2191 +};
2192 +
2193 +&ssi1 {
2194 +       fsl,mode = "i2s-slave";
2195 +       status = "okay";
2196 +};
2197 +
2198 +&ssi2 {
2199 +       fsl,mode = "i2s-slave";
2200 +       status = "okay";
2201 +};
2202 +
2203 +&uart1 {
2204 +       pinctrl-names = "default";
2205 +       pinctrl-0 = <&pinctrl_uart1_2>;
2206 +       status = "okay";
2207 +};
2208 +
2209 +&uart2 {
2210 +       pinctrl-names = "default";
2211 +       pinctrl-0 = <&pinctrl_uart2_3>;
2212 +       status = "okay";
2213 +};
2214 +
2215 +&uart5 {
2216 +       pinctrl-names = "default";
2217 +       pinctrl-0 = <&pinctrl_uart5_1>;
2218 +       status = "okay";
2219 +};
2220 +
2221 +&usbotg {
2222 +       vbus-supply = <&reg_usb_otg_vbus>;
2223 +       pinctrl-names = "default";
2224 +       pinctrl-0 = <&pinctrl_usbotg_1>;
2225 +       disable-over-current;
2226 +       status = "okay";
2227 +};
2228 +
2229 +&usbh1 {
2230 +       vbus-supply = <&reg_usb_h1_vbus>;
2231 +       status = "okay";
2232 +};
2233 +
2234 +&usdhc3 {
2235 +       pinctrl-names = "default";
2236 +       pinctrl-0 = <&pinctrl_usdhc3_2>;
2237 +       cd-gpios = <&gpio7 0 0>;
2238 +       vmmc-supply = <&reg_3p3v>;
2239 +       status = "okay";
2240 +};