Merge tag 'qcom-drivers-for-6.9-2' of https://git.kernel.org/pub/scm/linux/kernel...
[linux-block.git] / arch / arm64 / boot / dts / freescale / imx8mp-venice-gw74xx.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright 2021 Gateworks Corporation
4  */
5
6 /dts-v1/;
7
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/input/linux-event-codes.h>
10 #include <dt-bindings/leds/common.h>
11 #include <dt-bindings/phy/phy-imx8-pcie.h>
12
13 #include "imx8mp.dtsi"
14
15 / {
16         model = "Gateworks Venice GW74xx i.MX8MP board";
17         compatible = "gateworks,imx8mp-gw74xx", "fsl,imx8mp";
18
19         aliases {
20                 ethernet0 = &eqos;
21                 ethernet1 = &fec;
22                 ethernet2 = &lan1;
23                 ethernet3 = &lan2;
24                 ethernet4 = &lan3;
25                 ethernet5 = &lan4;
26                 ethernet6 = &lan5;
27         };
28
29         chosen {
30                 stdout-path = &uart2;
31         };
32
33         memory@40000000 {
34                 device_type = "memory";
35                 reg = <0x0 0x40000000 0 0x80000000>;
36         };
37
38         connector {
39                 pinctrl-names = "default";
40                 pinctrl-0 = <&pinctrl_usbcon1>;
41                 compatible = "gpio-usb-b-connector", "usb-b-connector";
42                 type = "micro";
43                 label = "Type-C";
44                 id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
45
46                 port {
47                         usb_dr_connector: endpoint {
48                                 remote-endpoint = <&usb3_dwc>;
49                         };
50                 };
51         };
52
53         gpio-keys {
54                 compatible = "gpio-keys";
55
56                 key-0 {
57                         label = "user_pb";
58                         gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
59                         linux,code = <BTN_0>;
60                 };
61
62                 key-1 {
63                         label = "user_pb1x";
64                         linux,code = <BTN_1>;
65                         interrupt-parent = <&gsc>;
66                         interrupts = <0>;
67                 };
68
69                 key-2 {
70                         label = "key_erased";
71                         linux,code = <BTN_2>;
72                         interrupt-parent = <&gsc>;
73                         interrupts = <1>;
74                 };
75
76                 key-3 {
77                         label = "eeprom_wp";
78                         linux,code = <BTN_3>;
79                         interrupt-parent = <&gsc>;
80                         interrupts = <2>;
81                 };
82
83                 key-4 {
84                         label = "tamper";
85                         linux,code = <BTN_4>;
86                         interrupt-parent = <&gsc>;
87                         interrupts = <5>;
88                 };
89
90                 key-5 {
91                         label = "switch_hold";
92                         linux,code = <BTN_5>;
93                         interrupt-parent = <&gsc>;
94                         interrupts = <7>;
95                 };
96         };
97
98         led-controller {
99                 compatible = "gpio-leds";
100                 pinctrl-names = "default";
101                 pinctrl-0 = <&pinctrl_gpio_leds>;
102
103                 led-0 {
104                         function = LED_FUNCTION_HEARTBEAT;
105                         color = <LED_COLOR_ID_GREEN>;
106                         gpios = <&gpio2 15 GPIO_ACTIVE_HIGH>;
107                         default-state = "on";
108                         linux,default-trigger = "heartbeat";
109                 };
110
111                 led-1 {
112                         function = LED_FUNCTION_STATUS;
113                         color = <LED_COLOR_ID_RED>;
114                         gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>;
115                         default-state = "off";
116                 };
117         };
118
119         pcie0_refclk: pcie0-refclk {
120                 compatible = "fixed-clock";
121                 #clock-cells = <0>;
122                 clock-frequency = <100000000>;
123         };
124
125         pps {
126                 compatible = "pps-gpio";
127                 pinctrl-names = "default";
128                 pinctrl-0 = <&pinctrl_pps>;
129                 gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
130         };
131
132         reg_usb2_vbus: regulator-usb2 {
133                 pinctrl-names = "default";
134                 pinctrl-0 = <&pinctrl_reg_usb2>;
135                 compatible = "regulator-fixed";
136                 regulator-name = "usb_usb2_vbus";
137                 gpio = <&gpio1 6 GPIO_ACTIVE_HIGH>;
138                 enable-active-high;
139                 regulator-min-microvolt = <5000000>;
140                 regulator-max-microvolt = <5000000>;
141         };
142
143         reg_can1_stby: regulator-can1-stby {
144                 compatible = "regulator-fixed";
145                 pinctrl-names = "default";
146                 pinctrl-0 = <&pinctrl_reg_can1>;
147                 regulator-name = "can1_stby";
148                 gpio = <&gpio3 19 GPIO_ACTIVE_LOW>;
149                 regulator-min-microvolt = <3300000>;
150                 regulator-max-microvolt = <3300000>;
151         };
152
153         reg_can2_stby: regulator-can2-stby {
154                 compatible = "regulator-fixed";
155                 pinctrl-names = "default";
156                 pinctrl-0 = <&pinctrl_reg_can2>;
157                 regulator-name = "can2_stby";
158                 gpio = <&gpio5 5 GPIO_ACTIVE_LOW>;
159                 regulator-min-microvolt = <3300000>;
160                 regulator-max-microvolt = <3300000>;
161         };
162
163         reg_wifi_en: regulator-wifi-en {
164                 pinctrl-names = "default";
165                 pinctrl-0 = <&pinctrl_reg_wifi>;
166                 compatible = "regulator-fixed";
167                 regulator-name = "wl";
168                 gpio = <&gpio3 9 GPIO_ACTIVE_HIGH>;
169                 startup-delay-us = <70000>;
170                 enable-active-high;
171                 regulator-min-microvolt = <3300000>;
172                 regulator-max-microvolt = <3300000>;
173         };
174 };
175
176 &A53_0 {
177         cpu-supply = <&reg_arm>;
178 };
179
180 &A53_1 {
181         cpu-supply = <&reg_arm>;
182 };
183
184 &A53_2 {
185         cpu-supply = <&reg_arm>;
186 };
187
188 &A53_3 {
189         cpu-supply = <&reg_arm>;
190 };
191
192 &ecspi1 {
193         pinctrl-names = "default";
194         pinctrl-0 = <&pinctrl_spi1>;
195         cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
196         status = "okay";
197
198         tpm@0 {
199                 compatible = "tcg,tpm_tis-spi";
200                 reg = <0x0>;
201                 spi-max-frequency = <36000000>;
202         };
203 };
204
205 /* off-board header */
206 &ecspi2 {
207         pinctrl-names = "default";
208         pinctrl-0 = <&pinctrl_spi2>;
209         cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
210         status = "okay";
211 };
212
213 &eqos {
214         pinctrl-names = "default";
215         pinctrl-0 = <&pinctrl_eqos>;
216         phy-mode = "rgmii-id";
217         phy-handle = <&ethphy0>;
218         status = "okay";
219
220         mdio {
221                 compatible = "snps,dwmac-mdio";
222                 #address-cells = <1>;
223                 #size-cells = <0>;
224
225                 ethphy0: ethernet-phy@0 {
226                         compatible = "ethernet-phy-ieee802.3-c22";
227                         reg = <0x0>;
228                 };
229         };
230 };
231
232 &fec {
233         pinctrl-names = "default";
234         pinctrl-0 = <&pinctrl_fec>;
235         phy-mode = "rgmii-id";
236         local-mac-address = [00 00 00 00 00 00];
237         status = "okay";
238
239         fixed-link {
240                 speed = <1000>;
241                 full-duplex;
242         };
243 };
244
245 &flexcan1 {
246         pinctrl-names = "default";
247         pinctrl-0 = <&pinctrl_flexcan1>;
248         xceiver-supply = <&reg_can1_stby>;
249         status = "okay";
250 };
251
252 &flexcan2 {
253         pinctrl-names = "default";
254         pinctrl-0 = <&pinctrl_flexcan2>;
255         xceiver-supply = <&reg_can2_stby>;
256         status = "okay";
257 };
258
259 &gpio1 {
260         gpio-line-names =
261                 "", "", "", "", "", "", "", "",
262                 "", "dio0", "", "dio1", "", "", "", "",
263                 "", "", "", "", "", "", "", "",
264                 "", "", "", "", "", "", "", "";
265 };
266
267 &gpio2 {
268         gpio-line-names =
269                 "", "", "", "", "", "", "m2_pin20", "",
270                 "", "", "", "", "", "pcie1_wdis#", "pcie3_wdis#", "",
271                 "", "", "pcie2_wdis#", "", "", "", "", "",
272                 "", "", "", "", "", "", "", "";
273 };
274
275 &gpio3 {
276         gpio-line-names =
277                 "", "", "", "", "", "", "m2_rst", "",
278                 "", "", "", "", "", "", "", "",
279                 "", "", "", "", "", "", "", "",
280                 "", "", "", "", "", "", "", "";
281 };
282
283 &gpio4 {
284         gpio-line-names =
285                 "", "", "m2_off#", "", "", "", "", "",
286                 "", "", "", "", "", "", "", "",
287                 "", "", "m2_wdis#", "", "", "", "", "",
288                 "", "", "", "", "", "", "", "rs485_en";
289 };
290
291 &gpio5 {
292         gpio-line-names =
293                 "rs485_hd", "rs485_term", "", "", "", "", "", "",
294                 "", "", "", "", "", "", "", "",
295                 "", "", "", "", "", "", "", "",
296                 "", "", "", "", "", "", "", "";
297 };
298
299 &i2c1 {
300         clock-frequency = <100000>;
301         pinctrl-names = "default", "gpio";
302         pinctrl-0 = <&pinctrl_i2c1>;
303         pinctrl-1 = <&pinctrl_i2c1_gpio>;
304         scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
305         sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
306         status = "okay";
307
308         gsc: gsc@20 {
309                 compatible = "gw,gsc";
310                 reg = <0x20>;
311                 pinctrl-0 = <&pinctrl_gsc>;
312                 interrupt-parent = <&gpio4>;
313                 interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
314                 interrupt-controller;
315                 #interrupt-cells = <1>;
316                 #address-cells = <1>;
317                 #size-cells = <0>;
318
319                 adc {
320                         compatible = "gw,gsc-adc";
321                         #address-cells = <1>;
322                         #size-cells = <0>;
323
324                         channel@6 {
325                                 gw,mode = <0>;
326                                 reg = <0x06>;
327                                 label = "temp";
328                         };
329
330                         channel@8 {
331                                 gw,mode = <3>;
332                                 reg = <0x08>;
333                                 label = "vdd_bat";
334                         };
335
336                         channel@16 {
337                                 gw,mode = <4>;
338                                 reg = <0x16>;
339                                 label = "fan_tach";
340                         };
341
342                         channel@82 {
343                                 gw,mode = <2>;
344                                 reg = <0x82>;
345                                 label = "vdd_adc1";
346                                 gw,voltage-divider-ohms = <10000 10000>;
347                         };
348
349                         channel@84 {
350                                 gw,mode = <2>;
351                                 reg = <0x84>;
352                                 label = "vdd_adc2";
353                                 gw,voltage-divider-ohms = <10000 10000>;
354                         };
355
356                         channel@86 {
357                                 gw,mode = <2>;
358                                 reg = <0x86>;
359                                 label = "vdd_vin";
360                                 gw,voltage-divider-ohms = <22100 1000>;
361                         };
362
363                         channel@88 {
364                                 gw,mode = <2>;
365                                 reg = <0x88>;
366                                 label = "vdd_3p3";
367                                 gw,voltage-divider-ohms = <10000 10000>;
368                         };
369
370                         channel@8c {
371                                 gw,mode = <2>;
372                                 reg = <0x8c>;
373                                 label = "vdd_2p5";
374                                 gw,voltage-divider-ohms = <10000 10000>;
375                         };
376
377                         channel@90 {
378                                 gw,mode = <2>;
379                                 reg = <0x90>;
380                                 label = "vdd_soc";
381                         };
382
383                         channel@92 {
384                                 gw,mode = <2>;
385                                 reg = <0x92>;
386                                 label = "vdd_arm";
387                         };
388
389                         channel@98 {
390                                 gw,mode = <2>;
391                                 reg = <0x98>;
392                                 label = "vdd_1p8";
393                         };
394
395                         channel@9a {
396                                 gw,mode = <2>;
397                                 reg = <0x9a>;
398                                 label = "vdd_1p2";
399                         };
400
401                         channel@9c {
402                                 gw,mode = <2>;
403                                 reg = <0x9c>;
404                                 label = "vdd_dram";
405                         };
406
407                         channel@a2 {
408                                 gw,mode = <2>;
409                                 reg = <0xa2>;
410                                 label = "vdd_gsc";
411                                 gw,voltage-divider-ohms = <10000 10000>;
412                         };
413                 };
414
415                 fan-controller@a {
416                         compatible = "gw,gsc-fan";
417                         reg = <0x0a>;
418                 };
419         };
420
421         gpio: gpio@23 {
422                 compatible = "nxp,pca9555";
423                 reg = <0x23>;
424                 gpio-controller;
425                 #gpio-cells = <2>;
426                 interrupt-parent = <&gsc>;
427                 interrupts = <4>;
428         };
429
430         eeprom@50 {
431                 compatible = "atmel,24c02";
432                 reg = <0x50>;
433                 pagesize = <16>;
434         };
435
436         eeprom@51 {
437                 compatible = "atmel,24c02";
438                 reg = <0x51>;
439                 pagesize = <16>;
440         };
441
442         eeprom@52 {
443                 compatible = "atmel,24c02";
444                 reg = <0x52>;
445                 pagesize = <16>;
446         };
447
448         eeprom@53 {
449                 compatible = "atmel,24c02";
450                 reg = <0x53>;
451                 pagesize = <16>;
452         };
453
454         rtc@68 {
455                 compatible = "dallas,ds1672";
456                 reg = <0x68>;
457         };
458 };
459
460 &i2c2 {
461         clock-frequency = <400000>;
462         pinctrl-names = "default", "gpio";
463         pinctrl-0 = <&pinctrl_i2c2>;
464         pinctrl-1 = <&pinctrl_i2c2_gpio>;
465         scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
466         sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
467         status = "okay";
468
469         accelerometer@19 {
470                 compatible = "st,lis2de12";
471                 pinctrl-names = "default";
472                 pinctrl-0 = <&pinctrl_accel>;
473                 reg = <0x19>;
474                 st,drdy-int-pin = <1>;
475                 interrupt-parent = <&gpio1>;
476                 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
477         };
478
479         switch: switch@5f {
480                 compatible = "microchip,ksz9897";
481                 reg = <0x5f>;
482                 pinctrl-0 = <&pinctrl_ksz>;
483                 interrupt-parent = <&gpio4>;
484                 interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
485
486                 ports {
487                         #address-cells = <1>;
488                         #size-cells = <0>;
489
490                         lan1: port@0 {
491                                 reg = <0>;
492                                 label = "lan1";
493                                 phy-mode = "internal";
494                                 local-mac-address = [00 00 00 00 00 00];
495                         };
496
497                         lan2: port@1 {
498                                 reg = <1>;
499                                 label = "lan2";
500                                 phy-mode = "internal";
501                                 local-mac-address = [00 00 00 00 00 00];
502                         };
503
504                         lan3: port@2 {
505                                 reg = <2>;
506                                 label = "lan3";
507                                 phy-mode = "internal";
508                                 local-mac-address = [00 00 00 00 00 00];
509                         };
510
511                         lan4: port@3 {
512                                 reg = <3>;
513                                 label = "lan4";
514                                 phy-mode = "internal";
515                                 local-mac-address = [00 00 00 00 00 00];
516                         };
517
518                         lan5: port@4 {
519                                 reg = <4>;
520                                 label = "lan5";
521                                 phy-mode = "internal";
522                                 local-mac-address = [00 00 00 00 00 00];
523                         };
524
525                         port@5 {
526                                 reg = <5>;
527                                 ethernet = <&fec>;
528                                 phy-mode = "rgmii-id";
529
530                                 fixed-link {
531                                         speed = <1000>;
532                                         full-duplex;
533                                 };
534                         };
535                 };
536         };
537 };
538
539 &i2c3 {
540         clock-frequency = <400000>;
541         pinctrl-names = "default", "gpio";
542         pinctrl-0 = <&pinctrl_i2c3>;
543         pinctrl-1 = <&pinctrl_i2c3_gpio>;
544         scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
545         sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
546         status = "okay";
547
548         pmic@25 {
549                 compatible = "nxp,pca9450c";
550                 reg = <0x25>;
551                 pinctrl-names = "default";
552                 pinctrl-0 = <&pinctrl_pmic>;
553                 interrupt-parent = <&gpio3>;
554                 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
555
556                 regulators {
557                         BUCK1 {
558                                 regulator-name = "BUCK1";
559                                 regulator-min-microvolt = <720000>;
560                                 regulator-max-microvolt = <1000000>;
561                                 regulator-boot-on;
562                                 regulator-always-on;
563                                 regulator-ramp-delay = <3125>;
564                         };
565
566                         reg_arm: BUCK2 {
567                                 regulator-name = "BUCK2";
568                                 regulator-min-microvolt = <720000>;
569                                 regulator-max-microvolt = <1025000>;
570                                 regulator-boot-on;
571                                 regulator-always-on;
572                                 regulator-ramp-delay = <3125>;
573                                 nxp,dvs-run-voltage = <950000>;
574                                 nxp,dvs-standby-voltage = <850000>;
575                         };
576
577                         BUCK4 {
578                                 regulator-name = "BUCK4";
579                                 regulator-min-microvolt = <3000000>;
580                                 regulator-max-microvolt = <3600000>;
581                                 regulator-boot-on;
582                                 regulator-always-on;
583                         };
584
585                         BUCK5 {
586                                 regulator-name = "BUCK5";
587                                 regulator-min-microvolt = <1650000>;
588                                 regulator-max-microvolt = <1950000>;
589                                 regulator-boot-on;
590                                 regulator-always-on;
591                         };
592
593                         BUCK6 {
594                                 regulator-name = "BUCK6";
595                                 regulator-min-microvolt = <1045000>;
596                                 regulator-max-microvolt = <1155000>;
597                                 regulator-boot-on;
598                                 regulator-always-on;
599                         };
600
601                         LDO1 {
602                                 regulator-name = "LDO1";
603                                 regulator-min-microvolt = <1650000>;
604                                 regulator-max-microvolt = <1950000>;
605                                 regulator-boot-on;
606                                 regulator-always-on;
607                         };
608
609                         LDO3 {
610                                 regulator-name = "LDO3";
611                                 regulator-min-microvolt = <1710000>;
612                                 regulator-max-microvolt = <1890000>;
613                                 regulator-boot-on;
614                                 regulator-always-on;
615                         };
616
617                         LDO5 {
618                                 regulator-name = "LDO5";
619                                 regulator-min-microvolt = <1800000>;
620                                 regulator-max-microvolt = <3300000>;
621                                 regulator-boot-on;
622                                 regulator-always-on;
623                         };
624                 };
625         };
626 };
627
628 /* off-board header */
629 &i2c4 {
630         clock-frequency = <400000>;
631         pinctrl-names = "default", "gpio";
632         pinctrl-0 = <&pinctrl_i2c4>;
633         pinctrl-1 = <&pinctrl_i2c4_gpio>;
634         scl-gpios = <&gpio5 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
635         sda-gpios = <&gpio5 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
636         status = "okay";
637 };
638
639 &pcie_phy {
640         fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
641         fsl,clkreq-unsupported;
642         clocks = <&pcie0_refclk>;
643         clock-names = "ref";
644         status = "okay";
645 };
646
647 &pcie {
648         pinctrl-names = "default";
649         pinctrl-0 = <&pinctrl_pcie0>;
650         reset-gpio = <&gpio2 17 GPIO_ACTIVE_LOW>;
651         status = "okay";
652 };
653
654 /* GPS / off-board header */
655 &uart1 {
656         pinctrl-names = "default";
657         pinctrl-0 = <&pinctrl_uart1>;
658         status = "okay";
659 };
660
661 /* RS232 console */
662 &uart2 {
663         pinctrl-names = "default";
664         pinctrl-0 = <&pinctrl_uart2>;
665         status = "okay";
666 };
667
668 /* bluetooth HCI */
669 &uart3 {
670         pinctrl-names = "default";
671         pinctrl-0 = <&pinctrl_uart3>, <&pinctrl_uart3_gpio>;
672         cts-gpios = <&gpio3 21 GPIO_ACTIVE_LOW>;
673         rts-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
674         status = "okay";
675
676         bluetooth {
677                 compatible = "brcm,bcm4330-bt";
678                 shutdown-gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
679         };
680 };
681
682 &uart4 {
683         pinctrl-names = "default";
684         pinctrl-0 = <&pinctrl_uart4>;
685         status = "okay";
686 };
687
688 /* USB1 - Type C front panel */
689 &usb3_0 {
690         pinctrl-names = "default";
691         pinctrl-0 = <&pinctrl_usb1>;
692         fsl,over-current-active-low;
693         status = "okay";
694 };
695
696 &usb3_phy0 {
697         status = "okay";
698 };
699
700 &usb_dwc3_0 {
701         /* dual role is implemented but not a full featured OTG */
702         adp-disable;
703         hnp-disable;
704         srp-disable;
705         dr_mode = "otg";
706         usb-role-switch;
707         role-switch-default-mode = "peripheral";
708         status = "okay";
709
710         port {
711                 usb3_dwc: endpoint {
712                         remote-endpoint = <&usb_dr_connector>;
713                 };
714         };
715 };
716
717 /* USB2 - USB3.0 Hub */
718 &usb3_phy1 {
719         vbus-supply = <&reg_usb2_vbus>;
720         status = "okay";
721 };
722
723 &usb3_1 {
724         fsl,permanently-attached;
725         fsl,disable-port-power-control;
726         status = "okay";
727 };
728
729 &usb_dwc3_1 {
730         dr_mode = "host";
731         status = "okay";
732 };
733
734 /* SDIO WiFi */
735 &usdhc1 {
736         pinctrl-names = "default", "state_100mhz", "state_200mhz";
737         pinctrl-0 = <&pinctrl_usdhc1>;
738         pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
739         pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
740         bus-width = <4>;
741         non-removable;
742         vmmc-supply = <&reg_wifi_en>;
743         #address-cells = <1>;
744         #size-cells = <0>;
745         status = "okay";
746
747         wifi@0 {
748                 compatible = "cypress,cyw4373-fmac", "brcm,bcm4329-fmac";
749                 reg = <0>;
750         };
751 };
752
753 /* eMMC */
754 &usdhc3 {
755         assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
756         assigned-clock-rates = <400000000>;
757         pinctrl-names = "default", "state_100mhz", "state_200mhz";
758         pinctrl-0 = <&pinctrl_usdhc3>;
759         pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
760         pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
761         bus-width = <8>;
762         non-removable;
763         status = "okay";
764 };
765
766 &wdog1 {
767         pinctrl-names = "default";
768         pinctrl-0 = <&pinctrl_wdog>;
769         fsl,ext-reset-output;
770         status = "okay";
771 };
772
773 &iomuxc {
774         pinctrl-names = "default";
775         pinctrl-0 = <&pinctrl_hog>;
776
777         pinctrl_hog: hoggrp {
778                 fsl,pins = <
779                         MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09     0x40000040 /* DIO0 */
780                         MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11     0x40000040 /* DIO1 */
781                         MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02      0x40000040 /* M2SKT_OFF# */
782                         MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18      0x40000150 /* M2SKT_WDIS# */
783                         MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06      0x40000040 /* M2SKT_PIN20 */
784                         MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11     0x40000040 /* M2SKT_PIN22 */
785                         MX8MP_IOMUXC_SD2_CLK__GPIO2_IO13        0x40000150 /* PCIE1_WDIS# */
786                         MX8MP_IOMUXC_SD2_CMD__GPIO2_IO14        0x40000150 /* PCIE3_WDIS# */
787                         MX8MP_IOMUXC_SD2_DATA3__GPIO2_IO18      0x40000150 /* PCIE2_WDIS# */
788                         MX8MP_IOMUXC_NAND_DATA00__GPIO3_IO06    0x40000040 /* M2SKT_RST# */
789                         MX8MP_IOMUXC_SAI3_TXD__GPIO5_IO01       0x40000104 /* UART_TERM */
790                         MX8MP_IOMUXC_SAI3_TXFS__GPIO4_IO31      0x40000104 /* UART_RS485 */
791                         MX8MP_IOMUXC_SAI3_TXC__GPIO5_IO00       0x40000104 /* UART_HALF */
792                 >;
793         };
794
795         pinctrl_accel: accelgrp {
796                 fsl,pins = <
797                         MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07     0x150
798                 >;
799         };
800
801         pinctrl_eqos: eqosgrp {
802                 fsl,pins = <
803                         MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC                             0x2
804                         MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO                           0x2
805                         MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0               0x90
806                         MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1               0x90
807                         MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2               0x90
808                         MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3               0x90
809                         MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK       0x90
810                         MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL         0x90
811                         MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0               0x16
812                         MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1               0x16
813                         MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2               0x16
814                         MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3               0x16
815                         MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL         0x16
816                         MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK       0x16
817                         MX8MP_IOMUXC_SAI3_RXD__GPIO4_IO30               0x140 /* RST# */
818                         MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28              0x150 /* IRQ# */
819                 >;
820         };
821
822         pinctrl_fec: fecgrp {
823                 fsl,pins = <
824                         MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0         0x90
825                         MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1         0x90
826                         MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2         0x90
827                         MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3         0x90
828                         MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC          0x90
829                         MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL      0x90
830                         MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0         0x16
831                         MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1         0x16
832                         MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2         0x16
833                         MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3         0x16
834                         MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL      0x16
835                         MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC         0x16
836                         MX8MP_IOMUXC_SAI1_RXFS__ENET1_1588_EVENT0_IN    0x140
837                         MX8MP_IOMUXC_SAI1_RXC__ENET1_1588_EVENT0_OUT    0x140
838                 >;
839         };
840
841         pinctrl_flexcan1: flexcan1grp {
842                 fsl,pins = <
843                         MX8MP_IOMUXC_SPDIF_RX__CAN1_RX          0x154
844                         MX8MP_IOMUXC_SPDIF_TX__CAN1_TX          0x154
845                 >;
846         };
847
848         pinctrl_flexcan2: flexcan2grp {
849                 fsl,pins = <
850                         MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX         0x154
851                         MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX         0x154
852                 >;
853         };
854
855         pinctrl_gsc: gscgrp {
856                 fsl,pins = <
857                         MX8MP_IOMUXC_SAI1_MCLK__GPIO4_IO20      0x150
858                 >;
859         };
860
861         pinctrl_i2c1: i2c1grp {
862                 fsl,pins = <
863                         MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL         0x400001c2
864                         MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA         0x400001c2
865                 >;
866         };
867
868         pinctrl_i2c1_gpio: i2c1gpiogrp {
869                 fsl,pins = <
870                         MX8MP_IOMUXC_I2C1_SCL__GPIO5_IO14       0x400001c2
871                         MX8MP_IOMUXC_I2C1_SDA__GPIO5_IO15       0x400001c2
872                 >;
873         };
874
875         pinctrl_i2c2: i2c2grp {
876                 fsl,pins = <
877                         MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL         0x400001c2
878                         MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA         0x400001c2
879                 >;
880         };
881
882         pinctrl_i2c2_gpio: i2c2gpiogrp {
883                 fsl,pins = <
884                         MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16       0x400001c3
885                         MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17       0x400001c3
886                 >;
887         };
888
889         pinctrl_i2c3: i2c3grp {
890                 fsl,pins = <
891                         MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL         0x400001c2
892                         MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA         0x400001c2
893                 >;
894         };
895
896         pinctrl_i2c3_gpio: i2c3gpiogrp {
897                 fsl,pins = <
898                         MX8MP_IOMUXC_I2C3_SCL__GPIO5_IO18       0x400001c3
899                         MX8MP_IOMUXC_I2C3_SDA__GPIO5_IO19       0x400001c3
900                 >;
901         };
902
903         pinctrl_i2c4: i2c4grp {
904                 fsl,pins = <
905                         MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL         0x400001c2
906                         MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA         0x400001c2
907                 >;
908         };
909
910         pinctrl_i2c4_gpio: i2c4gpiogrp {
911                 fsl,pins = <
912                         MX8MP_IOMUXC_I2C4_SCL__GPIO5_IO20       0x400001c3
913                         MX8MP_IOMUXC_I2C4_SDA__GPIO5_IO21       0x400001c3
914                 >;
915         };
916
917         pinctrl_ksz: kszgrp {
918                 fsl,pins = <
919                         MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29       0x150 /* IRQ# */
920                         MX8MP_IOMUXC_SAI3_MCLK__GPIO5_IO02      0x140 /* RST# */
921                 >;
922         };
923
924         pinctrl_gpio_leds: ledgrp {
925                 fsl,pins = <
926                         MX8MP_IOMUXC_SD2_DATA0__GPIO2_IO15      0x10
927                         MX8MP_IOMUXC_SD2_DATA1__GPIO2_IO16      0x10
928                 >;
929         };
930
931         pinctrl_pcie0: pciegrp {
932                 fsl,pins = <
933                         MX8MP_IOMUXC_SD2_DATA2__GPIO2_IO17      0x106
934                 >;
935         };
936
937         pinctrl_pmic: pmicgrp {
938                 fsl,pins = <
939                         MX8MP_IOMUXC_NAND_DATA01__GPIO3_IO07    0x140
940                 >;
941         };
942
943         pinctrl_pps: ppsgrp {
944                 fsl,pins = <
945                         MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12     0x140
946                 >;
947         };
948
949         pinctrl_reg_can1: regcan1grp {
950                 fsl,pins = <
951                         MX8MP_IOMUXC_SAI5_RXFS__GPIO3_IO19      0x154
952                 >;
953         };
954
955         pinctrl_reg_can2: regcan2grp {
956                 fsl,pins = <
957                         MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05  0x154
958                 >;
959         };
960
961         pinctrl_reg_usb2: regusb2grp {
962                 fsl,pins = <
963                         MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06     0x140
964                 >;
965         };
966
967         pinctrl_reg_wifi: regwifigrp {
968                 fsl,pins = <
969                         MX8MP_IOMUXC_NAND_DATA03__GPIO3_IO09    0x110
970                 >;
971         };
972
973         pinctrl_spi1: spi1grp {
974                 fsl,pins = <
975                         MX8MP_IOMUXC_ECSPI1_SCLK__ECSPI1_SCLK   0x82
976                         MX8MP_IOMUXC_ECSPI1_MOSI__ECSPI1_MOSI   0x82
977                         MX8MP_IOMUXC_ECSPI1_MISO__ECSPI1_MISO   0x82
978                         MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09     0x140
979                 >;
980         };
981
982         pinctrl_spi2: spi2grp {
983                 fsl,pins = <
984                         MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK   0x82
985                         MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI   0x82
986                         MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO   0x82
987                         MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13     0x140
988                 >;
989         };
990
991         pinctrl_uart1: uart1grp {
992                 fsl,pins = <
993                         MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX    0x140
994                         MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX    0x140
995                 >;
996         };
997
998         pinctrl_uart2: uart2grp {
999                 fsl,pins = <
1000                         MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX    0x140
1001                         MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX    0x140
1002                 >;
1003         };
1004
1005         pinctrl_uart3: uart3grp {
1006                 fsl,pins = <
1007                         MX8MP_IOMUXC_UART3_RXD__UART3_DCE_RX    0x140
1008                         MX8MP_IOMUXC_UART3_TXD__UART3_DCE_TX    0x140
1009                         MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21      0x140
1010                         MX8MP_IOMUXC_SAI5_RXD1__GPIO3_IO22      0x140
1011                 >;
1012         };
1013
1014         pinctrl_uart3_gpio: uart3gpiogrp {
1015                 fsl,pins = <
1016                         MX8MP_IOMUXC_NAND_DATA02__GPIO3_IO08    0x110
1017                 >;
1018         };
1019
1020         pinctrl_uart4: uart4grp {
1021                 fsl,pins = <
1022                         MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX    0x140
1023                         MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX    0x140
1024                 >;
1025         };
1026
1027         pinctrl_usb1: usb1grp {
1028                 fsl,pins = <
1029                         MX8MP_IOMUXC_GPIO1_IO13__USB1_OTG_OC    0x140
1030                 >;
1031         };
1032
1033         pinctrl_usbcon1: usb1congrp {
1034                 fsl,pins = <
1035                         MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10     0x140
1036                 >;
1037         };
1038
1039         pinctrl_usdhc1: usdhc1grp {
1040                 fsl,pins = <
1041                         MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK        0x190
1042                         MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD        0x1d0
1043                         MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0    0x1d0
1044                         MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1    0x1d0
1045                         MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2    0x1d0
1046                         MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3    0x1d0
1047                 >;
1048         };
1049
1050         pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
1051                 fsl,pins = <
1052                         MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK        0x194
1053                         MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD        0x1d4
1054                         MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0    0x1d4
1055                         MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1    0x1d4
1056                         MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2    0x1d4
1057                         MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3    0x1d4
1058                 >;
1059         };
1060
1061         pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
1062                 fsl,pins = <
1063                         MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK        0x196
1064                         MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD        0x1d6
1065                         MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0    0x1d6
1066                         MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1    0x1d6
1067                         MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2    0x1d6
1068                         MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3    0x1d6
1069                 >;
1070         };
1071
1072         pinctrl_usdhc3: usdhc3grp {
1073                 fsl,pins = <
1074                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x190
1075                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d0
1076                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d0
1077                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d0
1078                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d0
1079                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d0
1080                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d0
1081                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d0
1082                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d0
1083                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d0
1084                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x190
1085                 >;
1086         };
1087
1088         pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
1089                 fsl,pins = <
1090                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x194
1091                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d4
1092                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d4
1093                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d4
1094                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d4
1095                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d4
1096                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d4
1097                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d4
1098                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d4
1099                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d4
1100                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x194
1101                 >;
1102         };
1103
1104         pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
1105                 fsl,pins = <
1106                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x196
1107                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d6
1108                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d6
1109                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d6
1110                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d6
1111                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d6
1112                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d6
1113                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d6
1114                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d6
1115                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d6
1116                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x196
1117                 >;
1118         };
1119
1120         pinctrl_wdog: wdoggrp {
1121                 fsl,pins = <
1122                         MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B   0x166
1123                 >;
1124         };
1125 };