blob: 83f311a51cca0ba0a451eb541e644f004cef971e [file] [log] [blame]
Lucas Stachd7637622017-03-23 15:24:29 +01001/*
2 * Copyright (C) 2016-2017 Zodiac Inflight Innovations
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This file is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License
11 * version 2 as published by the Free Software Foundation.
12 *
13 * This file is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * Or, alternatively,
19 *
20 * b) Permission is hereby granted, free of charge, to any person
21 * obtaining a copy of this software and associated documentation
22 * files (the "Software"), to deal in the Software without
23 * restriction, including without limitation the rights to use,
24 * copy, modify, merge, publish, distribute, sublicense, and/or
25 * sell copies of the Software, and to permit persons to whom the
26 * Software is furnished to do so, subject to the following
27 * conditions:
28 *
29 * The above copyright notice and this permission notice shall be
30 * included in all copies or substantial portions of the Software.
31 *
32 * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND,
33 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
34 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
35 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
36 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
37 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
38 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
39 * OTHER DEALINGS IN THE SOFTWARE.
40 */
41
42#include <dt-bindings/gpio/gpio.h>
43#include <dt-bindings/sound/fsl-imx-audmux.h>
44
45/ {
46 chosen {
47 stdout-path = &uart1;
48 };
49
50 aliases {
51 mdio-gpio0 = &mdio1;
52 };
53
54 mdio1: mdio {
55 compatible = "virtual,mdio-gpio";
56 #address-cells = <1>;
57 #size-cells = <0>;
58 pinctrl-names = "default";
59 pinctrl-0 = <&pinctrl_mdio1>;
60 gpios = <&gpio6 5 GPIO_ACTIVE_HIGH
61 &gpio6 4 GPIO_ACTIVE_HIGH>;
Andrew Lunnefb0e482017-07-17 22:25:00 +020062
63 phy: ethernet-phy@0 {
64 reg = <0>;
65 };
Lucas Stachd7637622017-03-23 15:24:29 +010066 };
67
68 reg_28p0v: regulator-28p0v {
69 compatible = "regulator-fixed";
70 regulator-name = "28V_IN";
71 regulator-min-microvolt = <28000000>;
72 regulator-max-microvolt = <28000000>;
73 regulator-always-on;
74 };
75
76 reg_12p0v: regulator-12p0v {
77 compatible = "regulator-fixed";
78 vin-supply = <&reg_28p0v>;
79 regulator-name = "12V_MAIN";
80 regulator-min-microvolt = <12000000>;
81 regulator-max-microvolt = <12000000>;
82 regulator-always-on;
83 };
84
85 reg_5p0v_main: regulator-5p0v-main {
86 compatible = "regulator-fixed";
87 vin-supply = <&reg_12p0v>;
88 regulator-name = "5V_MAIN";
89 regulator-min-microvolt = <5000000>;
90 regulator-max-microvolt = <5000000>;
91 regulator-always-on;
92 };
93
94 reg_5p0v_user_usb: regulator-5p0v-user-usb {
95 compatible = "regulator-fixed";
96 pinctrl-names = "default";
97 pinctrl-0 = <&pinctrl_reg_user_usb>;
98 vin-supply = <&reg_5p0v_main>;
99 regulator-name = "5V_USER_USB";
100 regulator-min-microvolt = <5000000>;
101 regulator-max-microvolt = <5000000>;
102 gpio = <&gpio3 22 GPIO_ACTIVE_LOW>;
103 startup-delay-us = <1000>;
104 };
105
106 reg_3p3v_pmic: regulator-3p3v-pmic {
107 compatible = "regulator-fixed";
108 vin-supply = <&reg_12p0v>;
109 regulator-name = "PMIC_3V3";
110 regulator-min-microvolt = <3300000>;
111 regulator-max-microvolt = <3300000>;
112 regulator-always-on;
113 };
114
115 reg_3p3v: regulator-3p3v {
116 compatible = "regulator-fixed";
117 vin-supply = <&reg_3p3v_pmic>;
118 regulator-name = "GEN_3V3";
119 regulator-min-microvolt = <3300000>;
120 regulator-max-microvolt = <3300000>;
121 regulator-always-on;
122 };
123
124 reg_3p3v_sd: regulator-3p3v-sd {
125 compatible = "regulator-fixed";
126 pinctrl-names = "default";
127 pinctrl-0 = <&pinctrl_reg_3p3v_sd>;
128 vin-supply = <&reg_3p3v>;
129 regulator-name = "3V3_SD";
130 regulator-min-microvolt = <3300000>;
131 regulator-max-microvolt = <3300000>;
132 gpio = <&gpio7 8 GPIO_ACTIVE_HIGH>;
133 startup-delay-us = <1000>;
134 enable-active-high;
135 regulator-always-on;
136 };
137
138 reg_3p3v_display: regulator-3p3v-display {
139 compatible = "regulator-fixed";
140 vin-supply = <&reg_12p0v>;
141 regulator-name = "3V3_DISPLAY";
142 regulator-min-microvolt = <3300000>;
143 regulator-max-microvolt = <3300000>;
144 regulator-always-on;
145 };
146
147 reg_3p3v_ssd: regulator-3p3v-ssd {
148 compatible = "regulator-fixed";
149 vin-supply = <&reg_12p0v>;
150 regulator-name = "3V3_SSD";
151 regulator-min-microvolt = <3300000>;
152 regulator-max-microvolt = <3300000>;
153 regulator-always-on;
154 };
155
156 sound1 {
157 compatible = "simple-audio-card";
158 simple-audio-card,name = "Front";
159 simple-audio-card,format = "i2s";
160 simple-audio-card,bitclock-master = <&sound1_codec>;
161 simple-audio-card,frame-master = <&sound1_codec>;
162 simple-audio-card,widgets =
163 "Headphone", "Headphone Jack";
164 simple-audio-card,routing =
165 "Headphone Jack", "HPLEFT",
166 "Headphone Jack", "HPRIGHT",
167 "LEFTIN", "HPL",
168 "RIGHTIN", "HPR";
169 simple-audio-card,aux-devs = <&hpa1>;
170
171 sound1_cpu: simple-audio-card,cpu {
172 sound-dai = <&ssi2>;
173 };
174
175 sound1_codec: simple-audio-card,codec {
176 sound-dai = <&codec1>;
177 clocks = <&cs2000>;
178 };
179 };
180
181 sound2 {
182 compatible = "simple-audio-card";
183 simple-audio-card,name = "Back";
184 simple-audio-card,format = "i2s";
185 simple-audio-card,bitclock-master = <&sound2_codec>;
186 simple-audio-card,frame-master = <&sound2_codec>;
187 simple-audio-card,widgets =
188 "Headphone", "Headphone Jack";
189 simple-audio-card,routing =
190 "Headphone Jack", "HPLEFT",
191 "Headphone Jack", "HPRIGHT",
192 "LEFTIN", "HPL",
193 "RIGHTIN", "HPR";
194 simple-audio-card,aux-devs = <&hpa2>;
195
196 sound2_cpu: simple-audio-card,cpu {
197 sound-dai = <&ssi1>;
198 };
199
200 sound2_codec: simple-audio-card,codec {
201 sound-dai = <&codec2>;
202 clocks = <&cs2000>;
203 };
204 };
205
206 panel {
207 power-supply = <&reg_3p3v_display>;
208 status = "disabled";
209
210 port {
211 panel_in: endpoint {
212 remote-endpoint = <&lvds0_out>;
213 };
214 };
215 };
216
217 disp0: disp0 {
218 #address-cells = <1>;
219 #size-cells = <0>;
220 compatible = "fsl,imx-parallel-display";
221 pinctrl-names = "default";
222 pinctrl-0 = <&pinctrl_disp0>;
223 status = "disabled";
224
225 port@0 {
226 reg = <0>;
227
228 disp0_in_0: endpoint {
229 remote-endpoint = <&ipu1_di0_disp0>;
230 };
231 };
232
233 port@1 {
234 reg = <1>;
235
236 disp0_out: endpoint {
237 remote-endpoint = <&tc358767_in>;
238 };
239 };
240 };
241
242 cs2000_ref: cs2000-ref {
243 compatible = "fixed-clock";
244 #clock-cells = <0>;
245 clock-frequency = <24576000>;
246 };
247
248 cs2000_in_dummy: cs2000-in-dummy {
249 compatible = "fixed-clock";
250 #clock-cells = <0>;
251 clock-frequency = <0>;
252 };
253
254 edp_refclk: edp-refclk {
255 compatible = "fixed-clock";
256 #clock-cells = <0>;
257 clock-frequency = <19200000>;
258 };
259};
260
261&reg_arm {
262 vin-supply = <&sw1a_reg>;
263};
264
265&reg_pu {
266 vin-supply = <&sw1c_reg>;
267};
268
269&reg_soc {
270 vin-supply = <&sw1c_reg>;
271};
272
273&ldb {
274 lvds-channel@0 {
275 port@4 {
276 reg = <4>;
277
278 lvds0_out: endpoint {
279 remote-endpoint = <&panel_in>;
280 };
281 };
282 };
283};
284
285&uart1 {
286 pinctrl-names = "default";
287 pinctrl-0 = <&pinctrl_uart1>;
288 status = "okay";
289};
290
291&uart3 {
292 pinctrl-names = "default";
293 pinctrl-0 = <&pinctrl_uart3>;
294 uart-has-rtscts;
295 linux,rs485-enabled-at-boot-time;
296 status = "okay";
297};
298
299&uart4 {
300 pinctrl-names = "default";
301 pinctrl-0 = <&pinctrl_uart4>;
302 status = "okay";
303};
304
305&ecspi1 {
306 pinctrl-names = "default";
307 pinctrl-0 = <&pinctrl_ecspi1>;
308 cs-gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
309 status = "okay";
310
311 flash@0 {
312 compatible = "st,m25p128", "jedec,spi-nor";
313 spi-max-frequency = <20000000>;
314 reg = <0>;
315 };
316};
317
318&i2c1 {
319 pinctrl-names = "default";
320 pinctrl-0 = <&pinctrl_i2c1>;
321 clock-frequency = <100000>;
322 status = "okay";
323
324 codec2: codec@18 {
325 compatible = "ti,tlv320dac3100";
326 pinctrl-names = "default";
327 pinctrl-0 = <&pinctrl_codec2>;
328 reg = <0x18>;
329 #sound-dai-cells = <0>;
330 HPVDD-supply = <&reg_3p3v>;
331 SPRVDD-supply = <&reg_3p3v>;
332 SPLVDD-supply = <&reg_3p3v>;
333 AVDD-supply = <&reg_3p3v>;
334 IOVDD-supply = <&reg_3p3v>;
335 DVDD-supply = <&vgen4_reg>;
336 gpio-reset = <&gpio1 2 GPIO_ACTIVE_HIGH>;
337 };
338
339 accel@1c {
340 pinctrl-names = "default";
341 pinctrl-0 = <&pinctrl_accel>;
342 compatible = "fsl,mma8451";
343 reg = <0x1c>;
344 interrupt-parent = <&gpio1>;
345 interrupt-names = "int1", "int2";
346 interrupts = <18 IRQ_TYPE_LEVEL_LOW>, <20 IRQ_TYPE_LEVEL_LOW>;
347 };
348
349 hpa2: amp@60 {
350 compatible = "ti,tpa6130a2";
351 pinctrl-names = "default";
352 pinctrl-0 = <&pinctrl_tpa2>;
353 reg = <0x60>;
354 power-gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
355 Vdd-supply = <&reg_5p0v_main>;
356 };
357
358 edp-bridge@68 {
359 compatible = "toshiba,tc358767";
360 pinctrl-names = "default";
361 pinctrl-0 = <&pinctrl_tc358767>;
362 reg = <0x68>;
363 shutdown-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
364 clock-names = "ref";
365 clocks = <&edp_refclk>;
366 status = "disabled";
367
368 ports {
369 #address-cells = <1>;
370 #size-cells = <0>;
371
372 port@1 {
373 reg = <1>;
374
375 tc358767_in: endpoint {
376 remote-endpoint = <&disp0_out>;
377 };
378 };
379 };
380 };
381};
382
383&i2c2 {
384 pinctrl-names = "default";
385 pinctrl-0 = <&pinctrl_i2c2>;
386 clock-frequency = <100000>;
387 status = "okay";
388
389 pmic@08 {
390 compatible = "fsl,pfuze100";
391 pinctrl-names = "default";
392 pinctrl-0 = <&pinctrl_pfuze100_irq>;
393 reg = <0x08>;
394 interrupt-parent = <&gpio7>;
395 interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
396
397 regulators {
398 sw1a_reg: sw1ab {
399 regulator-min-microvolt = <300000>;
400 regulator-max-microvolt = <1875000>;
401 regulator-boot-on;
402 regulator-always-on;
403 regulator-ramp-delay = <6250>;
404 };
405
406 sw1c_reg: sw1c {
407 regulator-min-microvolt = <300000>;
408 regulator-max-microvolt = <1875000>;
409 regulator-boot-on;
410 regulator-always-on;
411 regulator-ramp-delay = <6250>;
412 };
413
414 sw2_reg: sw2 {
415 regulator-min-microvolt = <800000>;
416 regulator-max-microvolt = <3000000>;
417 regulator-boot-on;
418 regulator-always-on;
419 };
420
421 sw3a_reg: sw3a {
422 regulator-min-microvolt = <400000>;
423 regulator-max-microvolt = <1500000>;
424 regulator-boot-on;
425 regulator-always-on;
426 };
427
428 sw3b_reg: sw3b {
429 regulator-min-microvolt = <400000>;
430 regulator-max-microvolt = <1500000>;
431 regulator-boot-on;
432 regulator-always-on;
433 };
434
435 sw4_reg: sw4 {
436 regulator-min-microvolt = <800000>;
437 regulator-max-microvolt = <1800000>;
438 regulator-boot-on;
439 regulator-always-on;
440 };
441
442 snvs_reg: vsnvs {
443 regulator-min-microvolt = <1000000>;
444 regulator-max-microvolt = <3000000>;
445 regulator-boot-on;
446 regulator-always-on;
447 };
448
449 vref_reg: vrefddr {
450 regulator-boot-on;
451 regulator-always-on;
452 };
453
454 vgen2_reg: vgen2 {
455 regulator-min-microvolt = <1000000>;
456 regulator-max-microvolt = <1500000>;
457 regulator-always-on;
458 };
459
460 vgen4_reg: vgen4 {
461 regulator-min-microvolt = <1200000>;
462 regulator-max-microvolt = <1800000>;
463 regulator-always-on;
464 };
465
466 vgen5_reg: vgen5 {
467 regulator-min-microvolt = <1800000>;
468 regulator-max-microvolt = <2500000>;
469 regulator-always-on;
470 };
471
472 vgen6_reg: vgen6 {
473 regulator-min-microvolt = <1800000>;
474 regulator-max-microvolt = <2800000>;
475 regulator-always-on;
476 };
477 };
478 };
479
480 temp-sense@48 {
481 compatible = "national,lm75";
482 reg = <0x48>;
483 };
484
485 cs2000: clkgen@4e {
486 compatible = "cirrus,cs2000-cp";
487 reg = <0x4e>;
488 #clock-cells = <0>;
489 clock-names = "clk_in", "ref_clk";
490 clocks = <&cs2000_in_dummy>, <&cs2000_ref>;
491 assigned-clocks = <&cs2000>;
492 assigned-clock-rates = <24000000>;
493 };
494
495 eeprom@54 {
496 compatible = "at,24c128";
497 reg = <0x54>;
498 };
499
500 rtc@68 {
501 compatible = "dallas,ds1341";
502 reg = <0x68>;
503 };
504};
505
506&i2c3 {
507 pinctrl-names = "default";
508 pinctrl-0 = <&pinctrl_i2c3>;
509 clock-frequency = <400000>;
510 status = "okay";
511
512 codec1: codec@18 {
513 compatible = "ti,tlv320dac3100";
514 pinctrl-names = "default";
515 pinctrl-0 = <&pinctrl_codec1>;
516 reg = <0x18>;
517 #sound-dai-cells = <0>;
518 HPVDD-supply = <&reg_3p3v>;
519 SPRVDD-supply = <&reg_3p3v>;
520 SPLVDD-supply = <&reg_3p3v>;
521 AVDD-supply = <&reg_3p3v>;
522 IOVDD-supply = <&reg_3p3v>;
523 DVDD-supply = <&vgen4_reg>;
524 gpio-reset = <&gpio1 0 GPIO_ACTIVE_HIGH>;
525 };
526
527 touchscreen@20 {
528 compatible = "syna,rmi4-i2c";
529 pinctrl-names = "default";
530 pinctrl-0 = <&pinctrl_ts>;
531 reg = <0x20>;
532 interrupt-parent = <&gpio1>;
533 interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
534 vdd-supply = <&reg_5p0v_main>;
535 vio-supply = <&reg_3p3v>;
536
537 #address-cells = <1>;
538 #size-cells = <0>;
539
540 rmi4-f01@1 {
541 reg = <0x1>;
542 syna,nosleep-mode = <1>;
543 };
544
545 rmi4-f11@11 {
546 reg = <0x11>;
547 touchscreen-inverted-y;
548 touchscreen-swapped-x-y;
549 syna,sensor-type = <1>;
550 };
551
552 rmi4-f12@12 {
553 reg = <0x12>;
554 touchscreen-inverted-y;
555 touchscreen-swapped-x-y;
556 syna,sensor-type = <1>;
557 };
558 };
559
560 hpa1: amp@60 {
561 compatible = "ti,tpa6130a2";
562 pinctrl-names = "default";
563 pinctrl-0 = <&pinctrl_tpa1>;
564 reg = <0x60>;
565 power-gpio = <&gpio1 4 GPIO_ACTIVE_HIGH>;
566 Vdd-supply = <&reg_5p0v_main>;
567 };
568};
569
570&ipu1_di0_disp0 {
571 remote-endpoint = <&disp0_in_0>;
572};
573
574&pcie {
575 pinctrl-names = "default";
576 pinctrl-0 = <&pinctrl_pcie>;
577 reset-gpio = <&gpio7 12 GPIO_ACTIVE_LOW>;
578 status = "okay";
579};
580
581&usdhc2 {
582 pinctrl-names = "default";
583 pinctrl-0 = <&pinctrl_usdhc2>;
584 bus-width = <4>;
585 cd-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
586 wp-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
587 vmmc-supply = <&reg_3p3v_sd>;
588 vqmmc-supply = <&reg_3p3v>;
589 status = "okay";
590};
591
592&usdhc3 {
593 pinctrl-names = "default";
594 pinctrl-0 = <&pinctrl_usdhc3>;
595 bus-width = <4>;
596 cd-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
597 wp-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
598 vmmc-supply = <&reg_3p3v_sd>;
599 vqmmc-supply = <&reg_3p3v>;
600 status = "okay";
601};
602
603&usdhc4 {
604 pinctrl-names = "default";
605 pinctrl-0 = <&pinctrl_usdhc4>;
606 bus-width = <8>;
607 vmmc-supply = <&reg_3p3v>;
608 vqmmc-supply = <&reg_3p3v>;
609 non-removable;
610 status = "okay";
611};
612
613&sata {
614 target-supply = <&reg_3p3v_ssd>;
615 status = "okay";
616};
617
618&fec {
619 pinctrl-names = "default";
620 pinctrl-0 = <&pinctrl_enet>;
621 phy-mode = "rmii";
Andrew Lunnefb0e482017-07-17 22:25:00 +0200622 phy-handle = <&phy>;
Lucas Stachd7637622017-03-23 15:24:29 +0100623 phy-reset-gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
624 phy-reset-duration = <100>;
625 phy-supply = <&reg_3p3v>;
626 status = "okay";
Andrew Lunn0cce4d32017-07-17 22:25:01 +0200627
628 mdio {
629 #address-cells = <1>;
630 #size-cells = <0>;
631 status = "okay";
632
Andrew Lunnf64992d2017-07-17 22:25:03 +0200633 switch: switch@0 {
Andrew Lunn0cce4d32017-07-17 22:25:01 +0200634 compatible = "marvell,mv88e6085";
Andrew Lunnf64992d2017-07-17 22:25:03 +0200635 pinctrl-0 = <&pinctrl_switch_irq>;
636 pinctrl-names = "default";
Andrew Lunn0cce4d32017-07-17 22:25:01 +0200637 #address-cells = <1>;
638 #size-cells = <0>;
639 reg = <0>;
640 dsa,member = <0 0>;
Andrew Lunncefffa02017-07-17 22:25:02 +0200641 eeprom-length = <512>;
Andrew Lunnf64992d2017-07-17 22:25:03 +0200642 interrupt-parent = <&gpio6>;
643 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
644 interrupt-controller;
645 #interrupt-cells = <2>;
Andrew Lunn0cce4d32017-07-17 22:25:01 +0200646
647 ports {
648 #address-cells = <1>;
649 #size-cells = <0>;
650
651 port@0 {
652 reg = <0>;
653 label = "gigabit_proc";
Andrew Lunnf64992d2017-07-17 22:25:03 +0200654 phy-handle = <&switchphy0>;
Andrew Lunn0cce4d32017-07-17 22:25:01 +0200655 };
656
657 port@1 {
658 reg = <1>;
659 label = "netaux";
Andrew Lunnf64992d2017-07-17 22:25:03 +0200660 phy-handle = <&switchphy1>;
Andrew Lunn0cce4d32017-07-17 22:25:01 +0200661 };
662
663 port@2 {
664 reg = <2>;
665 label = "cpu";
666 ethernet = <&fec>;
667
668 fixed-link {
669 speed = <100>;
670 full-duplex;
671 };
672 };
673
674 port@3 {
675 reg = <3>;
676 label = "netright";
Andrew Lunnf64992d2017-07-17 22:25:03 +0200677 phy-handle = <&switchphy3>;
Andrew Lunn0cce4d32017-07-17 22:25:01 +0200678 };
679
680 port@4 {
681 reg = <4>;
682 label = "netleft";
Andrew Lunnf64992d2017-07-17 22:25:03 +0200683 phy-handle = <&switchphy4>;
684 };
685 };
686
687 mdio {
688 #address-cells = <1>;
689 #size-cells = <0>;
690
691 switchphy0: switchphy@0 {
692 reg = <0>;
693 interrupt-parent = <&switch>;
694 interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
695 };
696
697 switchphy1: switchphy@1 {
698 reg = <1>;
699 interrupt-parent = <&switch>;
700 interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
701 };
702
703 switchphy2: switchphy@2 {
704 reg = <2>;
705 interrupt-parent = <&switch>;
706 interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
707 };
708
709 switchphy3: switchphy@3 {
710 reg = <3>;
711 interrupt-parent = <&switch>;
712 interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
713 };
714
715 switchphy4: switchphy@4 {
716 reg = <4>;
717 interrupt-parent = <&switch>;
718 interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
Andrew Lunn0cce4d32017-07-17 22:25:01 +0200719 };
720 };
721 };
722 };
Lucas Stachd7637622017-03-23 15:24:29 +0100723};
724
725&usbh1 {
726 vbus-supply = <&reg_5p0v_main>;
727 status = "okay";
728};
729
730&usbotg {
731 vbus-supply = <&reg_5p0v_user_usb>;
732 disable-over-current;
733 dr_mode = "host";
734 status = "okay";
735};
736
737&ssi1 {
738 status = "okay";
739};
740
741&ssi2 {
742 status = "okay";
743};
744
745&audmux {
746 pinctrl-names = "default";
747 pinctrl-0 = <&pinctrl_audmux>;
748 status = "okay";
749
750 ssi1 {
751 fsl,audmux-port = <0>;
752 fsl,port-config = <
753 (IMX_AUDMUX_V2_PTCR_SYN |
754 IMX_AUDMUX_V2_PTCR_TFSEL(2) |
755 IMX_AUDMUX_V2_PTCR_TCSEL(2) |
756 IMX_AUDMUX_V2_PTCR_TFSDIR |
757 IMX_AUDMUX_V2_PTCR_TCLKDIR)
758 IMX_AUDMUX_V2_PDCR_RXDSEL(2)
759 >;
760 };
761
762 aud3 {
763 fsl,audmux-port = <2>;
764 fsl,port-config = <
765 IMX_AUDMUX_V2_PTCR_SYN
766 IMX_AUDMUX_V2_PDCR_RXDSEL(0)
767 >;
768 };
769
770 ssi2 {
771 fsl,audmux-port = <1>;
772 fsl,port-config = <
773 (IMX_AUDMUX_V2_PTCR_SYN |
774 IMX_AUDMUX_V2_PTCR_TFSEL(4) |
775 IMX_AUDMUX_V2_PTCR_TCSEL(4) |
776 IMX_AUDMUX_V2_PTCR_TFSDIR |
777 IMX_AUDMUX_V2_PTCR_TCLKDIR)
778 IMX_AUDMUX_V2_PDCR_RXDSEL(4)
779 >;
780 };
781
782 aud5 {
783 fsl,audmux-port = <4>;
784 fsl,port-config = <
785 IMX_AUDMUX_V2_PTCR_SYN
786 IMX_AUDMUX_V2_PDCR_RXDSEL(1)
787 >;
788 };
789};
790
791&iomuxc {
792 pinctrl_accel: accelgrp {
793 fsl,pins = <
794 MX6QDL_PAD_SD1_CMD__GPIO1_IO18 0x4001b000
795 MX6QDL_PAD_SD1_CLK__GPIO1_IO20 0x4001b000
796 >;
797 };
798
799 pinctrl_audmux: audmuxgrp {
800 fsl,pins = <
801 MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0
802 MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x130b0
803 MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0
804 MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0
805 MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x130b0
806 MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0
807 >;
808 };
809
810 pinctrl_codec1: dac1grp {
811 fsl,pins = <
812 MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x40000038
813 >;
814 };
815
816 pinctrl_codec2: dac2grp {
817 fsl,pins = <
818 MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x40000038
819 >;
820 };
821
822 pinctrl_disp0: disp0grp {
823 fsl,pins = <
824 MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x100f9
825 MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x100f9
826 MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x100f9
827 MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x100f9
828 MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x100f9
829 MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x100f9
830 MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x100f9
831 MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x100f9
832 MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x100f9
833 MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x100f9
834 MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x100f9
835 MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x100f9
836 MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x100f9
837 MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x100f9
838 MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x100f9
839 MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x100f9
840 MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x100f9
841 MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x100f9
842 MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x100f9
843 MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x100f9
844 MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x100f9
845 MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x100f9
846 MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x100f9
847 MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x100f9
848 MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x100f9
849 MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x100f9
850 MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x100f9
851 MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x100f9
852 >;
853 };
854
855 pinctrl_ecspi1: ecspi1grp {
856 fsl,pins = <
857 MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x100b1
858 MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x100b1
859 MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x100b1
860 MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x1b0b1
861 >;
862 };
863
864 pinctrl_enet: enetgrp {
865 fsl,pins = <
866 MX6QDL_PAD_ENET_MDC__ENET_MDC 0x000b1
867 MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x100b1
868 MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN 0x100f5
869 MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x100f5
870 MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0 0x100c0
871 MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1 0x100c0
872 MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0 0x100f5
873 MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1 0x100f5
874 MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x40010040
875 MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER 0x100b0
876 MX6QDL_PAD_ENET_REF_CLK__GPIO1_IO23 0x1b0b0
877 >;
878 };
879
880 pinctrl_i2c1: i2c1grp {
881 fsl,pins = <
882 MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1
883 MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1
884 >;
885 };
886
887 pinctrl_i2c2: i2c2grp {
888 fsl,pins = <
889 MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
890 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
891 >;
892 };
893
894 pinctrl_i2c3: i2c3grp {
895 fsl,pins = <
896 MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
897 MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
898 >;
899 };
900
901 pinctrl_mdio1: bitbangmdiogrp {
902 fsl,pins = <
903 /* Bitbang MDIO for DEB Switch */
904 MX6QDL_PAD_CSI0_DAT19__GPIO6_IO05 0x4001b030
905 MX6QDL_PAD_CSI0_DAT18__GPIO6_IO04 0x40018830
906 >;
907 };
908
909 pinctrl_pcie: pciegrp {
910 fsl,pins = <
911 MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x10038
912 >;
913 };
914
915 pinctrl_pfuze100_irq: pfuze100grp {
916 fsl,pins = <
917 MX6QDL_PAD_GPIO_18__GPIO7_IO13 0x40010000
918 >;
919 };
920
921 pinctrl_reg_3p3v_sd: mmcsupply1grp {
922 fsl,pins = <
923 MX6QDL_PAD_SD3_RST__GPIO7_IO08 0x858
924 >;
925 };
926
927 pinctrl_reg_user_usb: usbotggrp {
928 fsl,pins = <
929 MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x40000038
930 >;
931 };
932
933 pinctrl_rmii_phy_irq: phygrp {
934 fsl,pins = <
935 MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x40010000
936 >;
937 };
938
Andrew Lunnf64992d2017-07-17 22:25:03 +0200939 pinctrl_switch_irq: switchgrp {
940 fsl,pins = <
941 MX6QDL_PAD_CSI0_DAT17__GPIO6_IO03 0x4001b000
942 >;
943 };
944
Lucas Stachd7637622017-03-23 15:24:29 +0100945 pinctrl_tc358767: tc358767grp {
946 fsl,pins = <
947 MX6QDL_PAD_GPIO_9__GPIO1_IO09 0x10
948 >;
949 };
950
951 pinctrl_tpa1: tpa6130-1grp {
952 fsl,pins = <
953 MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x40000038
954 >;
955 };
956
957 pinctrl_tpa2: tpa6130-2grp {
958 fsl,pins = <
959 MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x40000038
960 >;
961 };
962
963 pinctrl_ts: tsgrp {
964 fsl,pins = <
965 MX6QDL_PAD_GPIO_8__GPIO1_IO08 0x1b0b0
966 MX6QDL_PAD_GPIO_7__GPIO1_IO07 0x1b0b0
967 >;
968 };
969
970 pinctrl_uart1: uart1grp {
971 fsl,pins = <
972 MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1
973 MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1
974 >;
975 };
976
977 pinctrl_uart3: uart3grp {
978 fsl,pins = <
979 MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
980 MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
981 MX6QDL_PAD_EIM_D31__UART3_RTS_B 0x1b0b1
982 >;
983 };
984
985 pinctrl_uart4: uart4grp {
986 fsl,pins = <
987 MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA 0x1b0b1
988 MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA 0x1b0b1
989 >;
990 };
991
992 pinctrl_usdhc2: usdhc2grp {
993 fsl,pins = <
994 MX6QDL_PAD_SD2_CMD__SD2_CMD 0x10059
995 MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10069
996 MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
997 MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
998 MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
999 MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059
1000 MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x40010040
1001 MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x40010040
1002 >;
1003 };
1004
1005 pinctrl_usdhc3: usdhc3grp {
1006 fsl,pins = <
1007 MX6QDL_PAD_SD3_CMD__SD3_CMD 0x10059
1008 MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10069
1009 MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
1010 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
1011 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
1012 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
1013 MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x40010040
1014 MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x40010040
1015
1016 >;
1017 };
1018
1019 pinctrl_usdhc4: usdhc4grp {
1020 fsl,pins = <
1021 MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059
1022 MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059
1023 MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059
1024 MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059
1025 MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059
1026 MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059
1027 MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17059
1028 MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17059
1029 MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17059
1030 MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17059
1031 MX6QDL_PAD_NANDF_ALE__SD4_RESET 0x1b0b1
1032 >;
1033 };
1034};