33904b4a58b88964c7c111c615c4d0a38b5a0317
[openwrt/svn-archive/archive.git] / target / linux / imx6 / patches-3.13 / 0003-ARM-dts-add-Gateworks-Ventana-support.patch
1 From bf2ef777f8ed0830be49b62167cc67d3be6abba6 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 3/3] 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 @@ -136,10 +136,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 +};