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