1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Copyright 2021 Gateworks Corporation
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/input/linux-event-codes.h>
10 #include <dt-bindings/leds/common.h>
12 #include "imx8mp.dtsi"
15 model = "Gateworks Venice GW74xx i.MX8MP board";
16 compatible = "gateworks,imx8mp-gw74xx", "fsl,imx8mp";
33 device_type = "memory";
34 reg = <0x0 0x40000000 0 0x80000000>;
38 compatible = "gpio-keys";
42 gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
49 interrupt-parent = <&gsc>;
56 interrupt-parent = <&gsc>;
63 interrupt-parent = <&gsc>;
70 interrupt-parent = <&gsc>;
75 label = "switch_hold";
77 interrupt-parent = <&gsc>;
83 compatible = "gpio-leds";
84 pinctrl-names = "default";
85 pinctrl-0 = <&pinctrl_gpio_leds>;
88 function = LED_FUNCTION_HEARTBEAT;
89 color = <LED_COLOR_ID_GREEN>;
90 gpios = <&gpio2 15 GPIO_ACTIVE_HIGH>;
92 linux,default-trigger = "heartbeat";
96 function = LED_FUNCTION_STATUS;
97 color = <LED_COLOR_ID_RED>;
98 gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>;
99 default-state = "off";
104 compatible = "pps-gpio";
105 pinctrl-names = "default";
106 pinctrl-0 = <&pinctrl_pps>;
107 gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
110 reg_usb2_vbus: regulator-usb2 {
111 pinctrl-names = "default";
112 pinctrl-0 = <&pinctrl_reg_usb2>;
113 compatible = "regulator-fixed";
114 regulator-name = "usb_usb2_vbus";
115 gpio = <&gpio1 6 GPIO_ACTIVE_HIGH>;
117 regulator-min-microvolt = <5000000>;
118 regulator-max-microvolt = <5000000>;
121 reg_can2_stby: regulator-can2-stby {
122 compatible = "regulator-fixed";
123 pinctrl-names = "default";
124 pinctrl-0 = <&pinctrl_reg_can>;
125 regulator-name = "can2_stby";
126 gpio = <&gpio3 19 GPIO_ACTIVE_HIGH>;
128 regulator-min-microvolt = <3300000>;
129 regulator-max-microvolt = <3300000>;
132 reg_wifi_en: regulator-wifi-en {
133 pinctrl-names = "default";
134 pinctrl-0 = <&pinctrl_reg_wifi>;
135 compatible = "regulator-fixed";
136 regulator-name = "wl";
137 gpio = <&gpio3 9 GPIO_ACTIVE_HIGH>;
138 startup-delay-us = <100>;
140 regulator-min-microvolt = <1800000>;
141 regulator-max-microvolt = <1800000>;
145 /* off-board header */
147 pinctrl-names = "default";
148 pinctrl-0 = <&pinctrl_spi2>;
149 cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
154 pinctrl-names = "default";
155 pinctrl-0 = <&pinctrl_eqos>;
156 phy-mode = "rgmii-id";
157 phy-handle = <ðphy0>;
161 compatible = "snps,dwmac-mdio";
162 #address-cells = <1>;
165 ethphy0: ethernet-phy@0 {
166 compatible = "ethernet-phy-ieee802.3-c22";
173 pinctrl-names = "default";
174 pinctrl-0 = <&pinctrl_fec>;
175 phy-mode = "rgmii-id";
176 local-mac-address = [00 00 00 00 00 00];
186 pinctrl-names = "default";
187 pinctrl-0 = <&pinctrl_flexcan2>;
188 xceiver-supply = <®_can2_stby>;
194 "", "", "", "", "", "", "", "",
195 "", "", "dio0", "", "dio1", "", "", "",
196 "", "", "", "", "", "", "", "",
197 "", "", "", "", "", "", "", "";
202 "", "", "", "", "", "", "", "",
203 "", "", "", "", "", "", "", "",
204 "pcie3_wdis#", "", "", "pcie1_wdis@", "pcie2_wdis#", "", "", "",
205 "", "", "", "", "", "", "", "";
210 "m2_gdis#", "", "", "", "", "", "", "m2_rst#",
211 "", "", "", "", "", "", "", "",
212 "m2_off#", "", "", "", "", "", "", "",
213 "", "", "", "", "", "", "", "";
218 "", "", "", "", "", "", "", "",
219 "", "", "", "", "", "", "", "",
220 "", "", "", "", "m2_wdis#", "", "", "",
221 "", "", "", "", "", "", "", "uart_rs485";
226 "uart_half", "uart_term", "", "", "", "", "", "",
227 "", "", "", "", "", "", "", "",
228 "", "", "", "", "", "", "", "",
229 "", "", "", "", "", "", "", "";
233 clock-frequency = <100000>;
234 pinctrl-names = "default";
235 pinctrl-0 = <&pinctrl_i2c1>;
239 compatible = "gw,gsc";
241 pinctrl-0 = <&pinctrl_gsc>;
242 interrupt-parent = <&gpio4>;
243 interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
244 interrupt-controller;
245 #interrupt-cells = <1>;
248 compatible = "gw,gsc-adc";
249 #address-cells = <1>;
268 gw,voltage-divider-ohms = <10000 10000>;
275 gw,voltage-divider-ohms = <10000 10000>;
282 gw,voltage-divider-ohms = <22100 1000>;
289 gw,voltage-divider-ohms = <10000 10000>;
296 gw,voltage-divider-ohms = <10000 10000>;
333 gw,voltage-divider-ohms = <10000 10000>;
339 compatible = "nxp,pca9555";
343 interrupt-parent = <&gsc>;
348 compatible = "nxp,pca9450c";
350 pinctrl-names = "default";
351 pinctrl-0 = <&pinctrl_pmic>;
352 interrupt-parent = <&gpio3>;
353 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
357 regulator-name = "BUCK1";
358 regulator-min-microvolt = <720000>;
359 regulator-max-microvolt = <1000000>;
362 regulator-ramp-delay = <3125>;
366 regulator-name = "BUCK2";
367 regulator-min-microvolt = <720000>;
368 regulator-max-microvolt = <1025000>;
371 regulator-ramp-delay = <3125>;
372 nxp,dvs-run-voltage = <950000>;
373 nxp,dvs-standby-voltage = <850000>;
377 regulator-name = "BUCK4";
378 regulator-min-microvolt = <3000000>;
379 regulator-max-microvolt = <3600000>;
385 regulator-name = "BUCK5";
386 regulator-min-microvolt = <1650000>;
387 regulator-max-microvolt = <1950000>;
393 regulator-name = "BUCK6";
394 regulator-min-microvolt = <1045000>;
395 regulator-max-microvolt = <1155000>;
401 regulator-name = "LDO1";
402 regulator-min-microvolt = <1650000>;
403 regulator-max-microvolt = <1950000>;
409 regulator-name = "LDO3";
410 regulator-min-microvolt = <1710000>;
411 regulator-max-microvolt = <1890000>;
417 regulator-name = "LDO5";
418 regulator-min-microvolt = <1800000>;
419 regulator-max-microvolt = <3300000>;
427 compatible = "atmel,24c02";
433 compatible = "atmel,24c02";
439 compatible = "atmel,24c02";
445 compatible = "atmel,24c02";
451 compatible = "dallas,ds1672";
457 clock-frequency = <400000>;
458 pinctrl-names = "default";
459 pinctrl-0 = <&pinctrl_i2c2>;
463 compatible = "st,lis2de12";
464 pinctrl-names = "default";
465 pinctrl-0 = <&pinctrl_accel>;
467 st,drdy-int-pin = <1>;
468 interrupt-parent = <&gpio1>;
469 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
470 interrupt-names = "INT1";
474 compatible = "microchip,ksz9897";
476 pinctrl-0 = <&pinctrl_ksz>;
477 interrupt-parent = <&gpio4>;
478 interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
481 #address-cells = <1>;
487 local-mac-address = [00 00 00 00 00 00];
493 local-mac-address = [00 00 00 00 00 00];
499 local-mac-address = [00 00 00 00 00 00];
505 local-mac-address = [00 00 00 00 00 00];
511 local-mac-address = [00 00 00 00 00 00];
518 phy-mode = "rgmii-id";
529 /* off-board header */
531 clock-frequency = <400000>;
532 pinctrl-names = "default";
533 pinctrl-0 = <&pinctrl_i2c3>;
537 /* off-board header */
539 clock-frequency = <400000>;
540 pinctrl-names = "default";
541 pinctrl-0 = <&pinctrl_i2c4>;
545 /* GPS / off-board header */
547 pinctrl-names = "default";
548 pinctrl-0 = <&pinctrl_uart1>;
554 pinctrl-names = "default";
555 pinctrl-0 = <&pinctrl_uart2>;
560 pinctrl-names = "default";
561 pinctrl-0 = <&pinctrl_uart4>;
565 /* USB1 - Type C front panel */
567 pinctrl-names = "default";
568 pinctrl-0 = <&pinctrl_usb1>;
573 fsl,over-current-active-low;
582 /* USB2 - USB3.0 Hub */
584 vbus-supply = <®_usb2_vbus>;
589 fsl,permanently-attached;
590 fsl,disable-port-power-control;
601 assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
602 assigned-clock-rates = <400000000>;
603 pinctrl-names = "default", "state_100mhz", "state_200mhz";
604 pinctrl-0 = <&pinctrl_usdhc3>;
605 pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
606 pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
613 pinctrl-names = "default";
614 pinctrl-0 = <&pinctrl_wdog>;
615 fsl,ext-reset-output;
620 pinctrl-names = "default";
621 pinctrl-0 = <&pinctrl_hog>;
623 pinctrl_hog: hoggrp {
625 MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09 0x40000041 /* DIO0 */
626 MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11 0x40000041 /* DIO1 */
627 MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14 0x40000041 /* M2SKT_OFF# */
628 MX8MP_IOMUXC_SD2_DATA2__GPIO2_IO17 0x40000159 /* PCIE1_WDIS# */
629 MX8MP_IOMUXC_SD2_DATA3__GPIO2_IO18 0x40000159 /* PCIE2_WDIS# */
630 MX8MP_IOMUXC_SD2_CMD__GPIO2_IO14 0x40000159 /* PCIE3_WDIS# */
631 MX8MP_IOMUXC_NAND_DATA00__GPIO3_IO06 0x40000041 /* M2SKT_RST# */
632 MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x40000159 /* M2SKT_WDIS# */
633 MX8MP_IOMUXC_NAND_ALE__GPIO3_IO00 0x40000159 /* M2SKT_GDIS# */
634 MX8MP_IOMUXC_SAI3_TXD__GPIO5_IO01 0x40000104 /* UART_TERM */
635 MX8MP_IOMUXC_SAI3_TXFS__GPIO4_IO31 0x40000104 /* UART_RS485 */
636 MX8MP_IOMUXC_SAI3_TXC__GPIO5_IO00 0x40000104 /* UART_HALF */
640 pinctrl_accel: accelgrp {
642 MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07 0x159
646 pinctrl_eqos: eqosgrp {
648 MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC 0x3
649 MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO 0x3
650 MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0 0x91
651 MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1 0x91
652 MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2 0x91
653 MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3 0x91
654 MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x91
655 MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x91
656 MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0 0x1f
657 MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1 0x1f
658 MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2 0x1f
659 MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3 0x1f
660 MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x1f
661 MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x1f
662 MX8MP_IOMUXC_SAI3_RXD__GPIO4_IO30 0x141 /* RST# */
663 MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0x159 /* IRQ# */
667 pinctrl_fec: fecgrp {
669 MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0 0x91
670 MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1 0x91
671 MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2 0x91
672 MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3 0x91
673 MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC 0x91
674 MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL 0x91
675 MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0 0x1f
676 MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1 0x1f
677 MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2 0x1f
678 MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3 0x1f
679 MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL 0x1f
680 MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC 0x1f
681 MX8MP_IOMUXC_SAI1_RXFS__ENET1_1588_EVENT0_IN 0x141
682 MX8MP_IOMUXC_SAI1_RXC__ENET1_1588_EVENT0_OUT 0x141
686 pinctrl_flexcan2: flexcan2grp {
688 MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX 0x154
689 MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX 0x154
693 pinctrl_gsc: gscgrp {
695 MX8MP_IOMUXC_SAI1_MCLK__GPIO4_IO20 0x159
699 pinctrl_i2c1: i2c1grp {
701 MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL 0x400001c3
702 MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA 0x400001c3
706 pinctrl_i2c2: i2c2grp {
708 MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001c3
709 MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x400001c3
713 pinctrl_i2c3: i2c3grp {
715 MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL 0x400001c3
716 MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA 0x400001c3
720 pinctrl_i2c4: i2c4grp {
722 MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001c3
723 MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x400001c3
727 pinctrl_ksz: kszgrp {
729 MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0x159 /* IRQ# */
730 MX8MP_IOMUXC_SAI3_MCLK__GPIO5_IO02 0x141 /* RST# */
734 pinctrl_gpio_leds: ledgrp {
736 MX8MP_IOMUXC_SD2_DATA0__GPIO2_IO15 0x19
737 MX8MP_IOMUXC_SD2_DATA1__GPIO2_IO16 0x19
741 pinctrl_pmic: pmicgrp {
743 MX8MP_IOMUXC_NAND_DATA01__GPIO3_IO07 0x141
747 pinctrl_pps: ppsgrp {
749 MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12 0x141
753 pinctrl_reg_can: regcangrp {
755 MX8MP_IOMUXC_SAI5_RXFS__GPIO3_IO19 0x154
759 pinctrl_reg_usb2: regusb2grp {
761 MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06 0x141
765 pinctrl_reg_wifi: regwifigrp {
767 MX8MP_IOMUXC_NAND_DATA03__GPIO3_IO09 0x119
771 pinctrl_sai2: sai2grp {
773 MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_SAI2_TX_SYNC
774 MX8MP_IOMUXC_SAI2_TXD0__AUDIOMIX_SAI2_TX_DATA00
775 MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_SAI2_TX_BCLK
776 MX8MP_IOMUXC_SAI2_MCLK__AUDIOMIX_SAI2_MCLK
780 pinctrl_spi2: spi2grp {
782 MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK 0x82
783 MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI 0x82
784 MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO 0x82
785 MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13 0x140
789 pinctrl_uart1: uart1grp {
791 MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX 0x140
792 MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX 0x140
796 pinctrl_uart2: uart2grp {
798 MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x140
799 MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x140
803 pinctrl_uart3: uart3grp {
805 MX8MP_IOMUXC_UART3_RXD__UART3_DCE_RX 0x140
806 MX8MP_IOMUXC_UART3_TXD__UART3_DCE_TX 0x140
807 MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21 0x140
808 MX8MP_IOMUXC_SAI5_RXD1__GPIO3_IO22 0x140
812 pinctrl_uart3_gpio: uart3gpiogrp {
814 MX8MP_IOMUXC_NAND_DATA02__GPIO3_IO08 0x119
818 pinctrl_uart4: uart4grp {
820 MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX 0x140
821 MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x140
825 pinctrl_usb1: usb1grp {
827 MX8MP_IOMUXC_GPIO1_IO13__USB1_OTG_OC 0x140
828 MX8MP_IOMUXC_GPIO1_IO10__USB1_OTG_ID 0x140
832 pinctrl_usdhc1: usdhc1grp {
834 MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x190
835 MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d0
836 MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d0
837 MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d0
838 MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d0
839 MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d0
843 pinctrl_usdhc3: usdhc3grp {
845 MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x190
846 MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d0
847 MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d0
848 MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d0
849 MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d0
850 MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d0
851 MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d0
852 MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d0
853 MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d0
854 MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d0
855 MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x190
859 pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
861 MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194
862 MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4
863 MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4
864 MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4
865 MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4
866 MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4
867 MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4
868 MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4
869 MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4
870 MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4
871 MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x194
875 pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
877 MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x196
878 MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d6
879 MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d6
880 MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d6
881 MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d6
882 MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d6
883 MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d6
884 MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d6
885 MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d6
886 MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d6
887 MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x196
891 pinctrl_wdog: wdoggrp {
893 MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B 0x166