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