06b4c93c587650e2b001a875c2a647e9763b7774
[linux-2.6-microblaze.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         uart-has-rtscts;
615         status = "okay";
616
617         bluetooth {
618                 compatible = "brcm,bcm4330-bt";
619                 shutdown-gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
620         };
621 };
622
623 &uart4 {
624         pinctrl-names = "default";
625         pinctrl-0 = <&pinctrl_uart4>;
626         status = "okay";
627 };
628
629 /* USB1 - Type C front panel */
630 &usb3_0 {
631         pinctrl-names = "default";
632         pinctrl-0 = <&pinctrl_usb1>;
633         fsl,over-current-active-low;
634         status = "okay";
635 };
636
637 &usb3_phy0 {
638         status = "okay";
639 };
640
641 &usb_dwc3_0 {
642         /* dual role is implemented but not a full featured OTG */
643         adp-disable;
644         hnp-disable;
645         srp-disable;
646         dr_mode = "otg";
647         usb-role-switch;
648         role-switch-default-mode = "peripheral";
649         status = "okay";
650
651         connector {
652                 pinctrl-names = "default";
653                 pinctrl-0 = <&pinctrl_usbcon1>;
654                 compatible = "gpio-usb-b-connector", "usb-b-connector";
655                 type = "micro";
656                 label = "Type-C";
657                 id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
658         };
659 };
660
661 /* USB2 - USB3.0 Hub */
662 &usb3_phy1 {
663         vbus-supply = <&reg_usb2_vbus>;
664         status = "okay";
665 };
666
667 &usb3_1 {
668         fsl,permanently-attached;
669         fsl,disable-port-power-control;
670         status = "okay";
671 };
672
673 &usb_dwc3_1 {
674         dr_mode = "host";
675         status = "okay";
676 };
677
678 /* SDIO WiFi */
679 &usdhc1 {
680         pinctrl-names = "default", "state_100mhz", "state_200mhz";
681         pinctrl-0 = <&pinctrl_usdhc1>;
682         pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
683         pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
684         bus-width = <4>;
685         non-removable;
686         vmmc-supply = <&reg_wifi_en>;
687         #address-cells = <1>;
688         #size-cells = <0>;
689         status = "okay";
690
691         wifi@0 {
692                 compatible = "cypress,cyw4373-fmac";
693                 reg = <0>;
694         };
695 };
696
697 /* eMMC */
698 &usdhc3 {
699         assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
700         assigned-clock-rates = <400000000>;
701         pinctrl-names = "default", "state_100mhz", "state_200mhz";
702         pinctrl-0 = <&pinctrl_usdhc3>;
703         pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
704         pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
705         bus-width = <8>;
706         non-removable;
707         status = "okay";
708 };
709
710 &wdog1 {
711         pinctrl-names = "default";
712         pinctrl-0 = <&pinctrl_wdog>;
713         fsl,ext-reset-output;
714         status = "okay";
715 };
716
717 &iomuxc {
718         pinctrl-names = "default";
719         pinctrl-0 = <&pinctrl_hog>;
720
721         pinctrl_hog: hoggrp {
722                 fsl,pins = <
723                         MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09     0x40000040 /* DIO0 */
724                         MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11     0x40000040 /* DIO1 */
725                         MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14       0x40000040 /* M2SKT_OFF# */
726                         MX8MP_IOMUXC_SD2_DATA3__GPIO2_IO18      0x40000150 /* PCIE2_WDIS# */
727                         MX8MP_IOMUXC_SD2_CMD__GPIO2_IO14        0x40000150 /* PCIE3_WDIS# */
728                         MX8MP_IOMUXC_NAND_DATA00__GPIO3_IO06    0x40000040 /* M2SKT_RST# */
729                         MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18      0x40000150 /* M2SKT_WDIS# */
730                         MX8MP_IOMUXC_NAND_ALE__GPIO3_IO00       0x40000150 /* M2SKT_GDIS# */
731                         MX8MP_IOMUXC_SAI3_TXD__GPIO5_IO01       0x40000104 /* UART_TERM */
732                         MX8MP_IOMUXC_SAI3_TXFS__GPIO4_IO31      0x40000104 /* UART_RS485 */
733                         MX8MP_IOMUXC_SAI3_TXC__GPIO5_IO00       0x40000104 /* UART_HALF */
734                 >;
735         };
736
737         pinctrl_accel: accelgrp {
738                 fsl,pins = <
739                         MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07     0x150
740                 >;
741         };
742
743         pinctrl_eqos: eqosgrp {
744                 fsl,pins = <
745                         MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC                             0x2
746                         MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO                           0x2
747                         MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0               0x90
748                         MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1               0x90
749                         MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2               0x90
750                         MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3               0x90
751                         MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK       0x90
752                         MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL         0x90
753                         MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0               0x16
754                         MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1               0x16
755                         MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2               0x16
756                         MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3               0x16
757                         MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL         0x16
758                         MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK       0x16
759                         MX8MP_IOMUXC_SAI3_RXD__GPIO4_IO30               0x140 /* RST# */
760                         MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28              0x150 /* IRQ# */
761                 >;
762         };
763
764         pinctrl_fec: fecgrp {
765                 fsl,pins = <
766                         MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0         0x90
767                         MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1         0x90
768                         MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2         0x90
769                         MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3         0x90
770                         MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC          0x90
771                         MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL      0x90
772                         MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0         0x16
773                         MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1         0x16
774                         MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2         0x16
775                         MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3         0x16
776                         MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL      0x16
777                         MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC         0x16
778                         MX8MP_IOMUXC_SAI1_RXFS__ENET1_1588_EVENT0_IN    0x140
779                         MX8MP_IOMUXC_SAI1_RXC__ENET1_1588_EVENT0_OUT    0x140
780                 >;
781         };
782
783         pinctrl_flexcan2: flexcan2grp {
784                 fsl,pins = <
785                         MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX         0x154
786                         MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX         0x154
787                 >;
788         };
789
790         pinctrl_gsc: gscgrp {
791                 fsl,pins = <
792                         MX8MP_IOMUXC_SAI1_MCLK__GPIO4_IO20      0x150
793                 >;
794         };
795
796         pinctrl_i2c1: i2c1grp {
797                 fsl,pins = <
798                         MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL         0x400001c2
799                         MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA         0x400001c2
800                 >;
801         };
802
803         pinctrl_i2c2: i2c2grp {
804                 fsl,pins = <
805                         MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL         0x400001c2
806                         MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA         0x400001c2
807                 >;
808         };
809
810         pinctrl_i2c3: i2c3grp {
811                 fsl,pins = <
812                         MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL         0x400001c2
813                         MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA         0x400001c2
814                 >;
815         };
816
817         pinctrl_i2c4: i2c4grp {
818                 fsl,pins = <
819                         MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL         0x400001c2
820                         MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA         0x400001c2
821                 >;
822         };
823
824         pinctrl_ksz: kszgrp {
825                 fsl,pins = <
826                         MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29       0x150 /* IRQ# */
827                         MX8MP_IOMUXC_SAI3_MCLK__GPIO5_IO02      0x140 /* RST# */
828                 >;
829         };
830
831         pinctrl_gpio_leds: ledgrp {
832                 fsl,pins = <
833                         MX8MP_IOMUXC_SD2_DATA0__GPIO2_IO15      0x10
834                         MX8MP_IOMUXC_SD2_DATA1__GPIO2_IO16      0x10
835                 >;
836         };
837
838         pinctrl_pcie0: pciegrp {
839                 fsl,pins = <
840                         MX8MP_IOMUXC_SD2_DATA2__GPIO2_IO17      0x110
841                 >;
842         };
843
844         pinctrl_pmic: pmicgrp {
845                 fsl,pins = <
846                         MX8MP_IOMUXC_NAND_DATA01__GPIO3_IO07    0x140
847                 >;
848         };
849
850         pinctrl_pps: ppsgrp {
851                 fsl,pins = <
852                         MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12     0x140
853                 >;
854         };
855
856         pinctrl_reg_can: regcangrp {
857                 fsl,pins = <
858                         MX8MP_IOMUXC_SAI5_RXFS__GPIO3_IO19      0x154
859                 >;
860         };
861
862         pinctrl_reg_usb2: regusb2grp {
863                 fsl,pins = <
864                         MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06     0x140
865                 >;
866         };
867
868         pinctrl_reg_wifi: regwifigrp {
869                 fsl,pins = <
870                         MX8MP_IOMUXC_NAND_DATA03__GPIO3_IO09    0x110
871                 >;
872         };
873
874         pinctrl_sai2: sai2grp {
875                 fsl,pins = <
876                         MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_SAI2_TX_SYNC   0xd6
877                         MX8MP_IOMUXC_SAI2_TXD0__AUDIOMIX_SAI2_TX_DATA00 0xd6
878                         MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_SAI2_TX_BCLK    0xd6
879                         MX8MP_IOMUXC_SAI2_MCLK__AUDIOMIX_SAI2_MCLK      0xd6
880                 >;
881         };
882
883         pinctrl_spi2: spi2grp {
884                 fsl,pins = <
885                         MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK   0x82
886                         MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI   0x82
887                         MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO   0x82
888                         MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13     0x140
889                 >;
890         };
891
892         pinctrl_uart1: uart1grp {
893                 fsl,pins = <
894                         MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX    0x140
895                         MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX    0x140
896                 >;
897         };
898
899         pinctrl_uart2: uart2grp {
900                 fsl,pins = <
901                         MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX    0x140
902                         MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX    0x140
903                 >;
904         };
905
906         pinctrl_uart3: uart3grp {
907                 fsl,pins = <
908                         MX8MP_IOMUXC_UART3_RXD__UART3_DCE_RX    0x140
909                         MX8MP_IOMUXC_UART3_TXD__UART3_DCE_TX    0x140
910                         MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21      0x140
911                         MX8MP_IOMUXC_SAI5_RXD1__GPIO3_IO22      0x140
912                 >;
913         };
914
915         pinctrl_uart3_gpio: uart3gpiogrp {
916                 fsl,pins = <
917                         MX8MP_IOMUXC_NAND_DATA02__GPIO3_IO08    0x110
918                 >;
919         };
920
921         pinctrl_uart4: uart4grp {
922                 fsl,pins = <
923                         MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX    0x140
924                         MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX    0x140
925                 >;
926         };
927
928         pinctrl_usb1: usb1grp {
929                 fsl,pins = <
930                         MX8MP_IOMUXC_GPIO1_IO13__USB1_OTG_OC    0x140
931                 >;
932         };
933
934         pinctrl_usbcon1: usb1congrp {
935                 fsl,pins = <
936                         MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10     0x140
937                 >;
938         };
939
940         pinctrl_usdhc1: usdhc1grp {
941                 fsl,pins = <
942                         MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK        0x190
943                         MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD        0x1d0
944                         MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0    0x1d0
945                         MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1    0x1d0
946                         MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2    0x1d0
947                         MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3    0x1d0
948                 >;
949         };
950
951         pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
952                 fsl,pins = <
953                         MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK        0x194
954                         MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD        0x1d4
955                         MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0    0x1d4
956                         MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1    0x1d4
957                         MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2    0x1d4
958                         MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3    0x1d4
959                 >;
960         };
961
962         pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
963                 fsl,pins = <
964                         MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK        0x196
965                         MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD        0x1d6
966                         MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0    0x1d6
967                         MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1    0x1d6
968                         MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2    0x1d6
969                         MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3    0x1d6
970                 >;
971         };
972
973         pinctrl_usdhc3: usdhc3grp {
974                 fsl,pins = <
975                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x190
976                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d0
977                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d0
978                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d0
979                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d0
980                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d0
981                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d0
982                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d0
983                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d0
984                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d0
985                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x190
986                 >;
987         };
988
989         pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
990                 fsl,pins = <
991                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x194
992                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d4
993                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d4
994                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d4
995                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d4
996                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d4
997                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d4
998                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d4
999                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d4
1000                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d4
1001                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x194
1002                 >;
1003         };
1004
1005         pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
1006                 fsl,pins = <
1007                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x196
1008                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d6
1009                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d6
1010                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d6
1011                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d6
1012                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d6
1013                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d6
1014                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d6
1015                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d6
1016                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d6
1017                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x196
1018                 >;
1019         };
1020
1021         pinctrl_wdog: wdoggrp {
1022                 fsl,pins = <
1023                         MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B   0x166
1024                 >;
1025         };
1026 };