From: Marcel Ziswiler <marcel.ziswi...@toradex.com>

Synchronise device tree with linux v6.1-rc3.

Signed-off-by: Marcel Ziswiler <marcel.ziswi...@toradex.com>
Tested-By: Tim Harvey <thar...@gateworks.com> #imx8m{m,n,p}-venice-*

---

Changes in v5:
- Add Tim's tested-by. Thanks!

Changes in v4:
- Re-synched with v6.1-rc3.

 arch/arm/dts/imx8mp-dhcom-pdk2.dts            |  29 +-
 arch/arm/dts/imx8mp-dhcom-som.dtsi            |  20 +-
 arch/arm/dts/imx8mp-evk.dts                   | 179 +++++++----
 arch/arm/dts/imx8mp-icore-mx8mp-edimm2.2.dts  |   2 +-
 arch/arm/dts/imx8mp-icore-mx8mp.dtsi          |   2 +-
 arch/arm/dts/imx8mp-phyboard-pollux-rdk.dts   |  48 +--
 arch/arm/dts/imx8mp-u-boot.dtsi               |   2 +-
 arch/arm/dts/imx8mp-venice-gw74xx.dts         | 284 +++++++++++++-----
 arch/arm/dts/imx8mp-verdin.dtsi               |  32 +-
 arch/arm/dts/imx8mp.dtsi                      | 147 ++++++++-
 include/dt-bindings/clock/imx8mp-clock.h      |  13 +-
 include/dt-bindings/interconnect/fsl,imx8mp.h |  59 ++++
 include/dt-bindings/power/imx8mp-power.h      |  21 +-
 include/dt-bindings/reset/imx8mp-reset.h      |  50 +++
 14 files changed, 683 insertions(+), 205 deletions(-)
 create mode 100644 include/dt-bindings/interconnect/fsl,imx8mp.h
 create mode 100644 include/dt-bindings/reset/imx8mp-reset.h

diff --git a/arch/arm/dts/imx8mp-dhcom-pdk2.dts 
b/arch/arm/dts/imx8mp-dhcom-pdk2.dts
index c9a481ac9a..382fbedaf6 100644
--- a/arch/arm/dts/imx8mp-dhcom-pdk2.dts
+++ b/arch/arm/dts/imx8mp-dhcom-pdk2.dts
@@ -17,14 +17,13 @@
 / {
        model = "DH electronics i.MX8M Plus DHCOM Premium Developer Kit (2)";
        compatible = "dh,imx8mp-dhcom-pdk2", "dh,imx8mp-dhcom-som",
-                    "fsl,imx8mp";
+                    "fsl,imx8mp";
 
        chosen {
                stdout-path = &uart1;
        };
 
        gpio-keys {
-               #size-cells = <0>;
                compatible = "gpio-keys";
 
                button-0 {
@@ -67,7 +66,7 @@
        led {
                compatible = "gpio-leds";
 
-               led-5 {
+               led-0 {
                        color = <LED_COLOR_ID_GREEN>;
                        default-state = "off";
                        function = LED_FUNCTION_INDICATOR;
@@ -76,7 +75,7 @@
                        pinctrl-names = "default";
                };
 
-               led-6 {
+               led-1 {
                        color = <LED_COLOR_ID_GREEN>;
                        default-state = "off";
                        function = LED_FUNCTION_INDICATOR;
@@ -85,7 +84,7 @@
                        pinctrl-names = "default";
                };
 
-               led-7 {
+               led-2 {
                        color = <LED_COLOR_ID_GREEN>;
                        default-state = "off";
                        function = LED_FUNCTION_INDICATOR;
@@ -94,7 +93,7 @@
                        pinctrl-names = "default";
                };
 
-               led-8 {
+               led-3 {
                        color = <LED_COLOR_ID_GREEN>;
                        default-state = "off";
                        function = LED_FUNCTION_INDICATOR;
@@ -123,10 +122,11 @@
        mdio {
                ethphypdk: ethernet-phy@7 { /* KSZ 9021 */
                        compatible = "ethernet-phy-ieee802.3-c22";
-                       interrupt-parent = <&gpio4>;
-                       interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
                        pinctrl-0 = <&pinctrl_ethphy1>;
                        pinctrl-names = "default";
+                       interrupt-parent = <&gpio4>;
+                       interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
+                       max-speed = <100>;
                        reg = <7>;
                        reset-assert-us = <1000>;
                        reset-deassert-us = <1000>;
@@ -143,7 +143,6 @@
                        txd2-skew-ps = <0>;
                        txd3-skew-ps = <0>;
                        txen-skew-ps = <0>;
-                       max-speed = <100>;
                };
        };
 };
@@ -155,3 +154,15 @@
 &usb3_1 {
        fsl,over-current-active-low;
 };
+
+&iomuxc {
+       /*
+        * GPIO_A,B,C,D are connected to buttons.
+        * GPIO_E,F,H,I are connected to LEDs.
+        * GPIO_M is connected to CLKOUT2.
+        */
+       pinctrl-0 = <&pinctrl_hog_base
+                    &pinctrl_dhcom_g &pinctrl_dhcom_j
+                    &pinctrl_dhcom_k &pinctrl_dhcom_l
+                    &pinctrl_dhcom_int>;
+};
diff --git a/arch/arm/dts/imx8mp-dhcom-som.dtsi 
b/arch/arm/dts/imx8mp-dhcom-som.dtsi
index 197840d1a6..0f13ee3627 100644
--- a/arch/arm/dts/imx8mp-dhcom-som.dtsi
+++ b/arch/arm/dts/imx8mp-dhcom-som.dtsi
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Copyright (C) 2021-2022 Marek Vasut <ma...@denx.de>
  */
@@ -224,10 +224,6 @@
 };
 
 &i2c3 {
-       /*
-        * iMX8MP 1P33A Errata ERR007805
-        * I2C is limited to 384 kHz due to SoC bug.
-        */
        clock-frequency = <100000>;
        pinctrl-names = "default", "gpio";
        pinctrl-0 = <&pinctrl_i2c3>;
@@ -393,10 +389,6 @@
 };
 
 &i2c4 {
-       /*
-        * iMX8MP 1P33A Errata ERR007805
-        * I2C is limited to 384 kHz due to SoC bug.
-        */
        clock-frequency = <100000>;
        pinctrl-names = "default", "gpio";
        pinctrl-0 = <&pinctrl_i2c4>;
@@ -407,10 +399,6 @@
 };
 
 &i2c5 {        /* HDMI EDID bus */
-       /*
-        * iMX8MP 1P33A Errata ERR007805
-        * I2C is limited to 384 kHz due to SoC bug.
-        */
        clock-frequency = <100000>;
        pinctrl-names = "default", "gpio";
        pinctrl-0 = <&pinctrl_i2c5>;
@@ -802,8 +790,8 @@
 
        pinctrl_i2c5: dhcom-i2c5-grp {
                fsl,pins = <
-                       MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL     
0x40000084
-                       MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA     
0x40000084
+                       MX8MP_IOMUXC_HDMI_DDC_SCL__I2C5_SCL             
0x40000084
+                       MX8MP_IOMUXC_HDMI_DDC_SDA__I2C5_SDA             
0x40000084
                >;
        };
 
@@ -830,7 +818,7 @@
        pinctrl_rtc: dhcom-rtc-grp {
                fsl,pins = <
                        /* RTC_#INT Interrupt */
-                       MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05          
0x400001c6
+                       MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05          
0x40000080
                >;
        };
 
diff --git a/arch/arm/dts/imx8mp-evk.dts b/arch/arm/dts/imx8mp-evk.dts
index 4c3ac4214a..9f1469db55 100644
--- a/arch/arm/dts/imx8mp-evk.dts
+++ b/arch/arm/dts/imx8mp-evk.dts
@@ -5,6 +5,7 @@
 
 /dts-v1/;
 
+#include <dt-bindings/phy/phy-imx8-pcie.h>
 #include "imx8mp.dtsi"
 
 / {
@@ -33,6 +34,12 @@
                      <0x1 0x00000000 0 0xc0000000>;
        };
 
+       pcie0_refclk: pcie0-refclk {
+               compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <100000000>;
+       };
+
        reg_can1_stby: regulator-can1-stby {
                compatible = "regulator-fixed";
                regulator-name = "can1-stby";
@@ -55,6 +62,17 @@
                enable-active-high;
        };
 
+       reg_pcie0: regulator-pcie {
+               compatible = "regulator-fixed";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_pcie0_reg>;
+               regulator-name = "MPCIE_3V3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
        reg_usdhc2_vmmc: regulator-usdhc2 {
                compatible = "regulator-fixed";
                pinctrl-names = "default";
@@ -67,18 +85,20 @@
        };
 };
 
-&flexcan1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_flexcan1>;
-       xceiver-supply = <&reg_can1_stby>;
-       status = "okay";
+&A53_0 {
+       cpu-supply = <&reg_arm>;
 };
 
-&flexcan2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_flexcan2>;
-       xceiver-supply = <&reg_can2_stby>;
-       status = "disabled";/* can2 pin conflict with pdm */
+&A53_1 {
+       cpu-supply = <&reg_arm>;
+};
+
+&A53_2 {
+       cpu-supply = <&reg_arm>;
+};
+
+&A53_3 {
+       cpu-supply = <&reg_arm>;
 };
 
 &eqos {
@@ -197,6 +217,20 @@
        };
 };
 
+&flexcan1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan1>;
+       xceiver-supply = <&reg_can1_stby>;
+       status = "okay";
+};
+
+&flexcan2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan2>;
+       xceiver-supply = <&reg_can2_stby>;
+       status = "disabled";/* can2 pin conflict with pdm */
+};
+
 &i2c1 {
        clock-frequency = <400000>;
        pinctrl-names = "default";
@@ -221,7 +255,7 @@
                                regulator-ramp-delay = <3125>;
                        };
 
-                       BUCK2 {
+                       reg_arm: BUCK2 {
                                regulator-name = "BUCK2";
                                regulator-min-microvolt = <720000>;
                                regulator-max-microvolt = <1025000>;
@@ -334,6 +368,28 @@
         */
 };
 
+&pcie_phy {
+       fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
+       clocks = <&pcie0_refclk>;
+       clock-names = "ref";
+       status = "okay";
+};
+
+&pcie {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pcie0>;
+       reset-gpio = <&gpio2 7 GPIO_ACTIVE_LOW>;
+       clocks = <&clk IMX8MP_CLK_HSIO_ROOT>,
+                <&clk IMX8MP_CLK_PCIE_ROOT>,
+                <&clk IMX8MP_CLK_HSIO_AXI>;
+       clock-names = "pcie", "pcie_aux", "pcie_bus";
+       assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>;
+       assigned-clock-rates = <10000000>;
+       assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>;
+       vpcie-supply = <&reg_pcie0>;
+       status = "okay";
+};
+
 &snvs_pwrkey {
        status = "okay";
 };
@@ -395,41 +451,41 @@
 &iomuxc {
        pinctrl_eqos: eqosgrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC                     
        0x3
-                       MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO                   
        0x3
-                       MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0               
        0x91
-                       MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1               
        0x91
-                       MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2               
        0x91
-                       MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3               
        0x91
-                       
MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK       0x91
-                       MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL         
        0x91
-                       MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0               
        0x1f
-                       MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1               
        0x1f
-                       MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2               
        0x1f
-                       MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3               
        0x1f
-                       MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL         
        0x1f
-                       
MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK       0x1f
-                       MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22                       
        0x19
+                       MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC                     
        0x2
+                       MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO                   
        0x2
+                       MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0               
        0x90
+                       MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1               
        0x90
+                       MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2               
        0x90
+                       MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3               
        0x90
+                       
MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK       0x90
+                       MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL         
        0x90
+                       MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0               
        0x16
+                       MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1               
        0x16
+                       MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2               
        0x16
+                       MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3               
        0x16
+                       MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL         
        0x16
+                       
MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK       0x16
+                       MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22                       
        0x10
                >;
        };
 
        pinctrl_fec: fecgrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC               0x3
-                       MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO              0x3
-                       MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0         0x91
-                       MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1         0x91
-                       MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2         0x91
-                       MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3         0x91
-                       MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC          0x91
-                       MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL      0x91
-                       MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0         0x1f
-                       MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1         0x1f
-                       MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2         0x1f
-                       MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3         0x1f
-                       MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL      0x1f
-                       MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC         0x1f
-                       MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02              0x19
+                       MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC               0x2
+                       MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO              0x2
+                       MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0         0x90
+                       MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1         0x90
+                       MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2         0x90
+                       MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3         0x90
+                       MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC          0x90
+                       MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL      0x90
+                       MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0         0x16
+                       MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1         0x16
+                       MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2         0x16
+                       MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3         0x16
+                       MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL      0x16
+                       MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC         0x16
+                       MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02              0x10
                >;
        };
 
@@ -461,28 +517,41 @@
 
        pinctrl_gpio_led: gpioledgrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16   0x19
+                       MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16   0x140
                >;
        };
 
        pinctrl_i2c1: i2c1grp {
                fsl,pins = <
-                       MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL         0x400001c3
-                       MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA         0x400001c3
+                       MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL         0x400001c2
+                       MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA         0x400001c2
                >;
        };
 
        pinctrl_i2c3: i2c3grp {
                fsl,pins = <
-                       MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL         0x400001c3
-                       MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA         0x400001c3
+                       MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL         0x400001c2
+                       MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA         0x400001c2
                >;
        };
 
        pinctrl_i2c5: i2c5grp {
                fsl,pins = <
-                       MX8MP_IOMUXC_SPDIF_RX__I2C5_SDA         0x400001c3
-                       MX8MP_IOMUXC_SPDIF_TX__I2C5_SCL         0x400001c3
+                       MX8MP_IOMUXC_SPDIF_RX__I2C5_SDA         0x400001c2
+                       MX8MP_IOMUXC_SPDIF_TX__I2C5_SCL         0x400001c2
+               >;
+       };
+
+       pinctrl_pcie0: pcie0grp {
+               fsl,pins = <
+                       MX8MP_IOMUXC_I2C4_SCL__PCIE_CLKREQ_B    0x61 /* open 
drain, pull up */
+                       MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07      0x41
+               >;
+       };
+
+       pinctrl_pcie0_reg: pcie0reggrp {
+               fsl,pins = <
+                       MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06      0x41
                >;
        };
 
@@ -500,20 +569,20 @@
 
        pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19    0x41
+                       MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19    0x40
                >;
        };
 
        pinctrl_uart2: uart2grp {
                fsl,pins = <
-                       MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX    0x49
-                       MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX    0x49
+                       MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX    0x140
+                       MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX    0x140
                >;
        };
 
        pinctrl_usb1_vbus: usb1grp {
                fsl,pins = <
-                       MX8MP_IOMUXC_GPIO1_IO14__USB2_OTG_PWR   0x19
+                       MX8MP_IOMUXC_GPIO1_IO14__USB2_OTG_PWR   0x10
                >;
        };
 
@@ -525,7 +594,7 @@
                        MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1    0x1d0
                        MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2    0x1d0
                        MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3    0x1d0
-                       MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1
+                       MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0
                >;
        };
 
@@ -537,7 +606,7 @@
                        MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1    0x1d4
                        MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2    0x1d4
                        MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3    0x1d4
-                       MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1
+                       MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0
                >;
        };
 
@@ -549,7 +618,7 @@
                        MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1    0x1d6
                        MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2    0x1d6
                        MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3    0x1d6
-                       MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1
+                       MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0
                >;
        };
 
diff --git a/arch/arm/dts/imx8mp-icore-mx8mp-edimm2.2.dts 
b/arch/arm/dts/imx8mp-icore-mx8mp-edimm2.2.dts
index dd703b6a5e..a02b31c42d 100644
--- a/arch/arm/dts/imx8mp-icore-mx8mp-edimm2.2.dts
+++ b/arch/arm/dts/imx8mp-icore-mx8mp-edimm2.2.dts
@@ -2,7 +2,7 @@
 /*
  * Copyright (c) 2018 NXP
  * Copyright (c) 2019 Engicam srl
- * Copyright (c) 2020 Amarula Solutons(India)
+ * Copyright (c) 2020 Amarula Solutions(India)
  */
 
 /dts-v1/;
diff --git a/arch/arm/dts/imx8mp-icore-mx8mp.dtsi 
b/arch/arm/dts/imx8mp-icore-mx8mp.dtsi
index 5116079cce..a6319824ea 100644
--- a/arch/arm/dts/imx8mp-icore-mx8mp.dtsi
+++ b/arch/arm/dts/imx8mp-icore-mx8mp.dtsi
@@ -2,7 +2,7 @@
 /*
  * Copyright (c) 2018 NXP
  * Copyright (c) 2019 Engicam srl
- * Copyright (c) 2020 Amarula Solutons(India)
+ * Copyright (c) 2020 Amarula Solutions(India)
  */
 
 / {
diff --git a/arch/arm/dts/imx8mp-phyboard-pollux-rdk.dts 
b/arch/arm/dts/imx8mp-phyboard-pollux-rdk.dts
index 984a6b9ded..6aa720bafe 100644
--- a/arch/arm/dts/imx8mp-phyboard-pollux-rdk.dts
+++ b/arch/arm/dts/imx8mp-phyboard-pollux-rdk.dts
@@ -116,48 +116,48 @@
 &iomuxc {
        pinctrl_eqos: eqosgrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC                     
0x3
-                       MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO                   
0x3
-                       MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0               
0x91
-                       MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1               
0x91
-                       MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2               
0x91
-                       MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3               
0x91
-                       
MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK       0x91
-                       MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL         
0x91
-                       MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0               
0x1f
-                       MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1               
0x1f
-                       MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2               
0x1f
-                       MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3               
0x1f
-                       MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL         
0x1f
-                       
MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK       0x1f
+                       MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC                     
0x2
+                       MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO                   
0x2
+                       MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0               
0x90
+                       MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1               
0x90
+                       MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2               
0x90
+                       MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3               
0x90
+                       
MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK       0x90
+                       MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL         
0x90
+                       MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0               
0x16
+                       MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1               
0x16
+                       MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2               
0x16
+                       MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3               
0x16
+                       MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL         
0x16
+                       
MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK       0x16
                        MX8MP_IOMUXC_SAI1_MCLK__GPIO4_IO20                      
0x10
                >;
        };
 
        pinctrl_i2c2: i2c2grp {
                fsl,pins = <
-                       MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL         0x400001c3
-                       MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA         0x400001c3
+                       MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL         0x400001c2
+                       MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA         0x400001c2
                >;
        };
 
        pinctrl_i2c2_gpio: i2c2gpiogrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16       0x1e3
-                       MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17       0x1e3
+                       MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16       0x1e2
+                       MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17       0x1e2
                >;
        };
 
        pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19    0x41
+                       MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19    0x40
                >;
        };
 
        pinctrl_uart1: uart1grp {
                fsl,pins = <
-                       MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX    0x49
-                       MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX    0x49
+                       MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX    0x40
+                       MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX    0x40
                >;
        };
 
@@ -175,7 +175,7 @@
                        MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1    0x1d0
                        MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2    0x1d0
                        MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3    0x1d0
-                       MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1
+                       MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0
                >;
        };
 
@@ -187,7 +187,7 @@
                        MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1    0x1d4
                        MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2    0x1d4
                        MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3    0x1d4
-                       MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1
+                       MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0
                >;
        };
 
@@ -199,7 +199,7 @@
                        MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1    0x1d6
                        MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2    0x1d6
                        MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3    0x1d6
-                       MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1
+                       MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0
                >;
        };
 };
diff --git a/arch/arm/dts/imx8mp-u-boot.dtsi b/arch/arm/dts/imx8mp-u-boot.dtsi
index b5d640df7e..f9883aa133 100644
--- a/arch/arm/dts/imx8mp-u-boot.dtsi
+++ b/arch/arm/dts/imx8mp-u-boot.dtsi
@@ -10,7 +10,7 @@
        };
 };
 
-&{/soc@0} {
+&soc {
        u-boot,dm-pre-reloc;
        u-boot,dm-spl;
 };
diff --git a/arch/arm/dts/imx8mp-venice-gw74xx.dts 
b/arch/arm/dts/imx8mp-venice-gw74xx.dts
index 101d311476..06b4c93c58 100644
--- a/arch/arm/dts/imx8mp-venice-gw74xx.dts
+++ b/arch/arm/dts/imx8mp-venice-gw74xx.dts
@@ -8,6 +8,7 @@
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/linux-event-codes.h>
 #include <dt-bindings/leds/common.h>
+#include <dt-bindings/phy/phy-imx8-pcie.h>
 
 #include "imx8mp.dtsi"
 
@@ -100,6 +101,12 @@
                };
        };
 
+       pcie0_refclk: pcie0-refclk {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <100000000>;
+       };
+
        pps {
                compatible = "pps-gpio";
                pinctrl-names = "default";
@@ -123,8 +130,7 @@
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_reg_can>;
                regulator-name = "can2_stby";
-               gpio = <&gpio3 19 GPIO_ACTIVE_HIGH>;
-               enable-active-high;
+               gpio = <&gpio3 19 GPIO_ACTIVE_LOW>;
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
        };
@@ -135,13 +141,29 @@
                compatible = "regulator-fixed";
                regulator-name = "wl";
                gpio = <&gpio3 9 GPIO_ACTIVE_HIGH>;
-               startup-delay-us = <100>;
+               startup-delay-us = <70000>;
                enable-active-high;
-               regulator-min-microvolt = <1800000>;
-               regulator-max-microvolt = <1800000>;
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
        };
 };
 
+&A53_0 {
+       cpu-supply = <&reg_arm>;
+};
+
+&A53_1 {
+       cpu-supply = <&reg_arm>;
+};
+
+&A53_2 {
+       cpu-supply = <&reg_arm>;
+};
+
+&A53_3 {
+       cpu-supply = <&reg_arm>;
+};
+
 /* off-board header */
 &ecspi2 {
        pinctrl-names = "default";
@@ -200,8 +222,8 @@
 &gpio2 {
        gpio-line-names =
                "", "", "", "", "", "", "", "",
-               "", "", "", "", "", "", "", "",
-               "pcie3_wdis#", "", "", "pcie1_wdis@", "pcie2_wdis#", "", "", "",
+               "", "", "", "", "", "", "pcie3_wdis#", "",
+               "", "", "pcie2_wdis#", "", "", "", "", "",
                "", "", "", "", "", "", "", "";
 };
 
@@ -362,7 +384,7 @@
                                regulator-ramp-delay = <3125>;
                        };
 
-                       BUCK2 {
+                       reg_arm: BUCK2 {
                                regulator-name = "BUCK2";
                                regulator-min-microvolt = <720000>;
                                regulator-max-microvolt = <1025000>;
@@ -484,35 +506,40 @@
                        lan1: port@0 {
                                reg = <0>;
                                label = "lan1";
+                               phy-mode = "internal";
                                local-mac-address = [00 00 00 00 00 00];
                        };
 
                        lan2: port@1 {
                                reg = <1>;
                                label = "lan2";
+                               phy-mode = "internal";
                                local-mac-address = [00 00 00 00 00 00];
                        };
 
                        lan3: port@2 {
                                reg = <2>;
                                label = "lan3";
+                               phy-mode = "internal";
                                local-mac-address = [00 00 00 00 00 00];
                        };
 
                        lan4: port@3 {
                                reg = <3>;
                                label = "lan4";
+                               phy-mode = "internal";
                                local-mac-address = [00 00 00 00 00 00];
                        };
 
                        lan5: port@4 {
                                reg = <4>;
                                label = "lan5";
+                               phy-mode = "internal";
                                local-mac-address = [00 00 00 00 00 00];
                        };
 
-                       port@6 {
-                               reg = <6>;
+                       port@5 {
+                               reg = <5>;
                                label = "cpu";
                                ethernet = <&fec>;
                                phy-mode = "rgmii-id";
@@ -542,6 +569,28 @@
        status = "okay";
 };
 
+&pcie_phy {
+       fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
+       fsl,clkreq-unsupported;
+       clocks = <&pcie0_refclk>;
+       clock-names = "ref";
+       status = "okay";
+};
+
+&pcie {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pcie0>;
+       reset-gpio = <&gpio2 17 GPIO_ACTIVE_LOW>;
+       clocks = <&clk IMX8MP_CLK_HSIO_ROOT>,
+                <&clk IMX8MP_CLK_PCIE_ROOT>,
+                <&clk IMX8MP_CLK_HSIO_AXI>;
+       clock-names = "pcie", "pcie_aux", "pcie_bus";
+       assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>;
+       assigned-clock-rates = <10000000>;
+       assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>;
+       status = "okay";
+};
+
 /* GPS / off-board header */
 &uart1 {
        pinctrl-names = "default";
@@ -556,6 +605,21 @@
        status = "okay";
 };
 
+/* bluetooth HCI */
+&uart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart3>, <&pinctrl_uart3_gpio>;
+       cts-gpios = <&gpio3 21 GPIO_ACTIVE_LOW>;
+       rts-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
+       uart-has-rtscts;
+       status = "okay";
+
+       bluetooth {
+               compatible = "brcm,bcm4330-bt";
+               shutdown-gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
+       };
+};
+
 &uart4 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart4>;
@@ -563,20 +627,35 @@
 };
 
 /* USB1 - Type C front panel */
-&usb3_phy0 {
+&usb3_0 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_usb1>;
+       fsl,over-current-active-low;
        status = "okay";
 };
 
-&usb3_0 {
-       fsl,over-current-active-low;
+&usb3_phy0 {
        status = "okay";
 };
 
 &usb_dwc3_0 {
-       dr_mode = "host";
+       /* dual role is implemented but not a full featured OTG */
+       adp-disable;
+       hnp-disable;
+       srp-disable;
+       dr_mode = "otg";
+       usb-role-switch;
+       role-switch-default-mode = "peripheral";
        status = "okay";
+
+       connector {
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_usbcon1>;
+               compatible = "gpio-usb-b-connector", "usb-b-connector";
+               type = "micro";
+               label = "Type-C";
+               id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
+       };
 };
 
 /* USB2 - USB3.0 Hub */
@@ -596,6 +675,25 @@
        status = "okay";
 };
 
+/* SDIO WiFi */
+&usdhc1 {
+       pinctrl-names = "default", "state_100mhz", "state_200mhz";
+       pinctrl-0 = <&pinctrl_usdhc1>;
+       pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
+       pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
+       bus-width = <4>;
+       non-removable;
+       vmmc-supply = <&reg_wifi_en>;
+       #address-cells = <1>;
+       #size-cells = <0>;
+       status = "okay";
+
+       wifi@0 {
+               compatible = "cypress,cyw4373-fmac";
+               reg = <0>;
+       };
+};
+
 /* eMMC */
 &usdhc3 {
        assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
@@ -622,15 +720,14 @@
 
        pinctrl_hog: hoggrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09     0x40000041 /* 
DIO0 */
-                       MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11     0x40000041 /* 
DIO1 */
-                       MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14       0x40000041 /* 
M2SKT_OFF# */
-                       MX8MP_IOMUXC_SD2_DATA2__GPIO2_IO17      0x40000159 /* 
PCIE1_WDIS# */
-                       MX8MP_IOMUXC_SD2_DATA3__GPIO2_IO18      0x40000159 /* 
PCIE2_WDIS# */
-                       MX8MP_IOMUXC_SD2_CMD__GPIO2_IO14        0x40000159 /* 
PCIE3_WDIS# */
-                       MX8MP_IOMUXC_NAND_DATA00__GPIO3_IO06    0x40000041 /* 
M2SKT_RST# */
-                       MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18      0x40000159 /* 
M2SKT_WDIS# */
-                       MX8MP_IOMUXC_NAND_ALE__GPIO3_IO00       0x40000159 /* 
M2SKT_GDIS# */
+                       MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09     0x40000040 /* 
DIO0 */
+                       MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11     0x40000040 /* 
DIO1 */
+                       MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14       0x40000040 /* 
M2SKT_OFF# */
+                       MX8MP_IOMUXC_SD2_DATA3__GPIO2_IO18      0x40000150 /* 
PCIE2_WDIS# */
+                       MX8MP_IOMUXC_SD2_CMD__GPIO2_IO14        0x40000150 /* 
PCIE3_WDIS# */
+                       MX8MP_IOMUXC_NAND_DATA00__GPIO3_IO06    0x40000040 /* 
M2SKT_RST# */
+                       MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18      0x40000150 /* 
M2SKT_WDIS# */
+                       MX8MP_IOMUXC_NAND_ALE__GPIO3_IO00       0x40000150 /* 
M2SKT_GDIS# */
                        MX8MP_IOMUXC_SAI3_TXD__GPIO5_IO01       0x40000104 /* 
UART_TERM */
                        MX8MP_IOMUXC_SAI3_TXFS__GPIO4_IO31      0x40000104 /* 
UART_RS485 */
                        MX8MP_IOMUXC_SAI3_TXC__GPIO5_IO00       0x40000104 /* 
UART_HALF */
@@ -639,47 +736,47 @@
 
        pinctrl_accel: accelgrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07     0x159
+                       MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07     0x150
                >;
        };
 
        pinctrl_eqos: eqosgrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC                     
        0x3
-                       MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO                   
        0x3
-                       MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0               
0x91
-                       MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1               
0x91
-                       MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2               
0x91
-                       MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3               
0x91
-                       
MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK       0x91
-                       MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL         
0x91
-                       MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0               
0x1f
-                       MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1               
0x1f
-                       MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2               
0x1f
-                       MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3               
0x1f
-                       MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL         
0x1f
-                       
MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK       0x1f
-                       MX8MP_IOMUXC_SAI3_RXD__GPIO4_IO30               0x141 
/* RST# */
-                       MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28              0x159 
/* IRQ# */
+                       MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC                     
        0x2
+                       MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO                   
        0x2
+                       MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0               
0x90
+                       MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1               
0x90
+                       MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2               
0x90
+                       MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3               
0x90
+                       
MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK       0x90
+                       MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL         
0x90
+                       MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0               
0x16
+                       MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1               
0x16
+                       MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2               
0x16
+                       MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3               
0x16
+                       MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL         
0x16
+                       
MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK       0x16
+                       MX8MP_IOMUXC_SAI3_RXD__GPIO4_IO30               0x140 
/* RST# */
+                       MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28              0x150 
/* IRQ# */
                >;
        };
 
        pinctrl_fec: fecgrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0         0x91
-                       MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1         0x91
-                       MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2         0x91
-                       MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3         0x91
-                       MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC          0x91
-                       MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL      0x91
-                       MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0         0x1f
-                       MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1         0x1f
-                       MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2         0x1f
-                       MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3         0x1f
-                       MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL      0x1f
-                       MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC         0x1f
-                       MX8MP_IOMUXC_SAI1_RXFS__ENET1_1588_EVENT0_IN    0x141
-                       MX8MP_IOMUXC_SAI1_RXC__ENET1_1588_EVENT0_OUT    0x141
+                       MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0         0x90
+                       MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1         0x90
+                       MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2         0x90
+                       MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3         0x90
+                       MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC          0x90
+                       MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL      0x90
+                       MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0         0x16
+                       MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1         0x16
+                       MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2         0x16
+                       MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3         0x16
+                       MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL      0x16
+                       MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC         0x16
+                       MX8MP_IOMUXC_SAI1_RXFS__ENET1_1588_EVENT0_IN    0x140
+                       MX8MP_IOMUXC_SAI1_RXC__ENET1_1588_EVENT0_OUT    0x140
                >;
        };
 
@@ -692,61 +789,67 @@
 
        pinctrl_gsc: gscgrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_SAI1_MCLK__GPIO4_IO20      0x159
+                       MX8MP_IOMUXC_SAI1_MCLK__GPIO4_IO20      0x150
                >;
        };
 
        pinctrl_i2c1: i2c1grp {
                fsl,pins = <
-                       MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL         0x400001c3
-                       MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA         0x400001c3
+                       MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL         0x400001c2
+                       MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA         0x400001c2
                >;
        };
 
        pinctrl_i2c2: i2c2grp {
                fsl,pins = <
-                       MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL         0x400001c3
-                       MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA         0x400001c3
+                       MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL         0x400001c2
+                       MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA         0x400001c2
                >;
        };
 
        pinctrl_i2c3: i2c3grp {
                fsl,pins = <
-                       MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL         0x400001c3
-                       MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA         0x400001c3
+                       MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL         0x400001c2
+                       MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA         0x400001c2
                >;
        };
 
        pinctrl_i2c4: i2c4grp {
                fsl,pins = <
-                       MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL         0x400001c3
-                       MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA         0x400001c3
+                       MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL         0x400001c2
+                       MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA         0x400001c2
                >;
        };
 
        pinctrl_ksz: kszgrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29       0x159 /* IRQ# */
-                       MX8MP_IOMUXC_SAI3_MCLK__GPIO5_IO02      0x141 /* RST# */
+                       MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29       0x150 /* IRQ# */
+                       MX8MP_IOMUXC_SAI3_MCLK__GPIO5_IO02      0x140 /* RST# */
                >;
        };
 
        pinctrl_gpio_leds: ledgrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_SD2_DATA0__GPIO2_IO15      0x19
-                       MX8MP_IOMUXC_SD2_DATA1__GPIO2_IO16      0x19
+                       MX8MP_IOMUXC_SD2_DATA0__GPIO2_IO15      0x10
+                       MX8MP_IOMUXC_SD2_DATA1__GPIO2_IO16      0x10
+               >;
+       };
+
+       pinctrl_pcie0: pciegrp {
+               fsl,pins = <
+                       MX8MP_IOMUXC_SD2_DATA2__GPIO2_IO17      0x110
                >;
        };
 
        pinctrl_pmic: pmicgrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_NAND_DATA01__GPIO3_IO07    0x141
+                       MX8MP_IOMUXC_NAND_DATA01__GPIO3_IO07    0x140
                >;
        };
 
        pinctrl_pps: ppsgrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12     0x141
+                       MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12     0x140
                >;
        };
 
@@ -758,22 +861,22 @@
 
        pinctrl_reg_usb2: regusb2grp {
                fsl,pins = <
-                       MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06     0x141
+                       MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06     0x140
                >;
        };
 
        pinctrl_reg_wifi: regwifigrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_NAND_DATA03__GPIO3_IO09    0x119
+                       MX8MP_IOMUXC_NAND_DATA03__GPIO3_IO09    0x110
                >;
        };
 
        pinctrl_sai2: sai2grp {
                fsl,pins = <
-                       MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_SAI2_TX_SYNC
-                       MX8MP_IOMUXC_SAI2_TXD0__AUDIOMIX_SAI2_TX_DATA00
-                       MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_SAI2_TX_BCLK
-                       MX8MP_IOMUXC_SAI2_MCLK__AUDIOMIX_SAI2_MCLK
+                       MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_SAI2_TX_SYNC   0xd6
+                       MX8MP_IOMUXC_SAI2_TXD0__AUDIOMIX_SAI2_TX_DATA00 0xd6
+                       MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_SAI2_TX_BCLK    0xd6
+                       MX8MP_IOMUXC_SAI2_MCLK__AUDIOMIX_SAI2_MCLK      0xd6
                >;
        };
 
@@ -811,7 +914,7 @@
 
        pinctrl_uart3_gpio: uart3gpiogrp {
                fsl,pins = <
-                       MX8MP_IOMUXC_NAND_DATA02__GPIO3_IO08    0x119
+                       MX8MP_IOMUXC_NAND_DATA02__GPIO3_IO08    0x110
                >;
        };
 
@@ -825,7 +928,12 @@
        pinctrl_usb1: usb1grp {
                fsl,pins = <
                        MX8MP_IOMUXC_GPIO1_IO13__USB1_OTG_OC    0x140
-                       MX8MP_IOMUXC_GPIO1_IO10__USB1_OTG_ID    0x140
+               >;
+       };
+
+       pinctrl_usbcon1: usb1congrp {
+               fsl,pins = <
+                       MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10     0x140
                >;
        };
 
@@ -840,6 +948,28 @@
                >;
        };
 
+       pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
+               fsl,pins = <
+                       MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK        0x194
+                       MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD        0x1d4
+                       MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0    0x1d4
+                       MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1    0x1d4
+                       MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2    0x1d4
+                       MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3    0x1d4
+               >;
+       };
+
+       pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
+               fsl,pins = <
+                       MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK        0x196
+                       MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD        0x1d6
+                       MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0    0x1d6
+                       MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1    0x1d6
+                       MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2    0x1d6
+                       MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3    0x1d6
+               >;
+       };
+
        pinctrl_usdhc3: usdhc3grp {
                fsl,pins = <
                        MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x190
diff --git a/arch/arm/dts/imx8mp-verdin.dtsi b/arch/arm/dts/imx8mp-verdin.dtsi
index 68100a1726..7b712d1888 100644
--- a/arch/arm/dts/imx8mp-verdin.dtsi
+++ b/arch/arm/dts/imx8mp-verdin.dtsi
@@ -49,7 +49,7 @@
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_gpio_keys>;
 
-               wakeup {
+               button-wakeup {
                        debounce-interval = <10>;
                        /* Verdin CTRL_WAKE1_MICO# (SODIMM 252) */
                        gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;
@@ -146,6 +146,30 @@
        };
 };
 
+&A53_0 {
+       cpu-supply = <&reg_vdd_arm>;
+};
+
+&A53_1 {
+       cpu-supply = <&reg_vdd_arm>;
+};
+
+&A53_2 {
+       cpu-supply = <&reg_vdd_arm>;
+};
+
+&A53_3 {
+       cpu-supply = <&reg_vdd_arm>;
+};
+
+&cpu_alert0 {
+       temperature = <95000>;
+};
+
+&cpu_crit0 {
+       temperature = <105000>;
+};
+
 /* Verdin SPI_1 */
 &ecspi1 {
        #address-cells = <1>;
@@ -445,7 +469,7 @@
                                regulator-ramp-delay = <3125>;
                        };
 
-                       BUCK2 {
+                       reg_vdd_arm: BUCK2 {
                                nxp,dvs-run-voltage = <950000>;
                                nxp,dvs-standby-voltage = <850000>;
                                regulator-always-on;
@@ -619,7 +643,7 @@
                interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
                reg = <0x4a>;
                /* Verdin GPIO_2 (SODIMM 208) */
-               reset-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
+               reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
                status = "disabled";
        };
 };
@@ -696,7 +720,7 @@
                pinctrl-0 = <&pinctrl_gpio_9_dsi>, 
<&pinctrl_i2s_2_bclk_touch_reset>;
                reg = <0x4a>;
                /* Verdin I2S_2_BCLK (TOUCH_RESET#, SODIMM 42) */
-               reset-gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>;
+               reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
                status = "disabled";
        };
 
diff --git a/arch/arm/dts/imx8mp.dtsi b/arch/arm/dts/imx8mp.dtsi
index d9542dfff8..bb916a0948 100644
--- a/arch/arm/dts/imx8mp.dtsi
+++ b/arch/arm/dts/imx8mp.dtsi
@@ -5,8 +5,10 @@
 
 #include <dt-bindings/clock/imx8mp-clock.h>
 #include <dt-bindings/power/imx8mp-power.h>
+#include <dt-bindings/reset/imx8mp-reset.h>
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/interconnect/fsl,imx8mp.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/thermal/thermal.h>
 
@@ -195,7 +197,7 @@
        clk_ext4: clock-ext4 {
                compatible = "fixed-clock";
                #clock-cells = <0>;
-               clock-frequency= <133000000>;
+               clock-frequency = <133000000>;
                clock-output-names = "clk_ext4";
        };
 
@@ -293,7 +295,7 @@
                arm,no-tick-in-suspend;
        };
 
-       soc@0 {
+       soc: soc@0 {
                compatible = "fsl,imx8mp-soc", "simple-bus";
                #address-cells = <1>;
                #size-cells = <1>;
@@ -469,6 +471,11 @@
                                        wakeup-source;
                                        status = "disabled";
                                };
+
+                               snvs_lpgpr: snvs-lpgpr {
+                                       compatible = "fsl,imx8mp-snvs-lpgpr",
+                                                    "fsl,imx7d-snvs-lpgpr";
+                               };
                        };
 
                        clk: clock-controller@30380000 {
@@ -595,7 +602,34 @@
                                        pgc_ispdwp: power-domain@18 {
                                                #power-domain-cells = <0>;
                                                reg = 
<IMX8MP_POWER_DOMAIN_MEDIAMIX_ISPDWP>;
-                                               clocks = <&clk 
IMX8MP_CLK_MEDIA_ISP_DIV>;
+                                               clocks = <&clk 
IMX8MP_CLK_MEDIA_ISP_ROOT>;
+                                       };
+
+                                       pgc_vpumix: power-domain@19 {
+                                               #power-domain-cells = <0>;
+                                               reg = 
<IMX8MP_POWER_DOMAIN_VPUMIX>;
+                                               clocks =<&clk 
IMX8MP_CLK_VPU_ROOT>;
+                                       };
+
+                                       pgc_vpu_g1: power-domain@20 {
+                                               #power-domain-cells = <0>;
+                                               power-domains = <&pgc_vpumix>;
+                                               reg = 
<IMX8MP_POWER_DOMAIN_VPU_G1>;
+                                               clocks = <&clk 
IMX8MP_CLK_VPU_G1_ROOT>;
+                                       };
+
+                                       pgc_vpu_g2: power-domain@21 {
+                                               #power-domain-cells = <0>;
+                                               power-domains = <&pgc_vpumix>;
+                                               reg = 
<IMX8MP_POWER_DOMAIN_VPU_G2>;
+                                               clocks = <&clk 
IMX8MP_CLK_VPU_G2_ROOT>;
+                                       };
+
+                                       pgc_vpu_vc8000e: power-domain@22 {
+                                               #power-domain-cells = <0>;
+                                               power-domains = <&pgc_vpumix>;
+                                               reg = 
<IMX8MP_POWER_DOMAIN_VPU_VC8000E>;
+                                               clocks = <&clk 
IMX8MP_CLK_VPU_VC8KE_ROOT>;
                                        };
                                };
                        };
@@ -791,6 +825,7 @@
                                        compatible = "fsl,sec-v4.0-job-ring";
                                        reg = <0x1000 0x1000>;
                                        interrupts = <GIC_SPI 105 
IRQ_TYPE_LEVEL_HIGH>;
+                                       status = "disabled";
                                };
 
                                sec_jr1: jr@2000 {
@@ -903,7 +938,7 @@
                                         <&clk IMX8MP_CLK_USDHC1_ROOT>;
                                clock-names = "ipg", "ahb", "per";
                                fsl,tuning-start-tap = <20>;
-                               fsl,tuning-step= <2>;
+                               fsl,tuning-step = <2>;
                                bus-width = <4>;
                                status = "disabled";
                        };
@@ -917,7 +952,7 @@
                                         <&clk IMX8MP_CLK_USDHC2_ROOT>;
                                clock-names = "ipg", "ahb", "per";
                                fsl,tuning-start-tap = <20>;
-                               fsl,tuning-step= <2>;
+                               fsl,tuning-step = <2>;
                                bus-width = <4>;
                                status = "disabled";
                        };
@@ -931,7 +966,7 @@
                                         <&clk IMX8MP_CLK_USDHC3_ROOT>;
                                clock-names = "ipg", "ahb", "per";
                                fsl,tuning-start-tap = <20>;
-                               fsl,tuning-step= <2>;
+                               fsl,tuning-step = <2>;
                                bus-width = <4>;
                                status = "disabled";
                        };
@@ -1018,6 +1053,26 @@
                        };
                };
 
+               noc: interconnect@32700000 {
+                       compatible = "fsl,imx8mp-noc", "fsl,imx8m-noc";
+                       reg = <0x32700000 0x100000>;
+                       clocks = <&clk IMX8MP_CLK_NOC>;
+                       #interconnect-cells = <1>;
+                       operating-points-v2 = <&noc_opp_table>;
+
+                       noc_opp_table: opp-table {
+                               compatible = "operating-points-v2";
+
+                               opp-200M {
+                                       opp-hz = /bits/ 64 <200000000>;
+                               };
+
+                               opp-1000M {
+                                       opp-hz = /bits/ 64 <1000000000>;
+                               };
+                       };
+               };
+
                aips4: bus@32c00000 {
                        compatible = "fsl,aips-bus", "simple-bus";
                        reg = <0x32c00000 0x400000>;
@@ -1043,6 +1098,18 @@
                                                     "lcdif1", "isi", 
"mipi-csi2",
                                                     "lcdif2", "isp", "dwe",
                                                     "mipi-dsi2";
+                               interconnects =
+                                       <&noc IMX8MP_ICM_LCDIF_RD &noc 
IMX8MP_ICN_MEDIA>,
+                                       <&noc IMX8MP_ICM_LCDIF_WR &noc 
IMX8MP_ICN_MEDIA>,
+                                       <&noc IMX8MP_ICM_ISI0 &noc 
IMX8MP_ICN_MEDIA>,
+                                       <&noc IMX8MP_ICM_ISI1 &noc 
IMX8MP_ICN_MEDIA>,
+                                       <&noc IMX8MP_ICM_ISI2 &noc 
IMX8MP_ICN_MEDIA>,
+                                       <&noc IMX8MP_ICM_ISP0 &noc 
IMX8MP_ICN_MEDIA>,
+                                       <&noc IMX8MP_ICM_ISP1 &noc 
IMX8MP_ICN_MEDIA>,
+                                       <&noc IMX8MP_ICM_DWE &noc 
IMX8MP_ICN_MEDIA>;
+                               interconnect-names = "lcdif-rd", "lcdif-wr", 
"isi0",
+                                                    "isi1", "isi2", "isp0", 
"isp1",
+                                                    "dwe";
                                clocks = <&clk IMX8MP_CLK_MEDIA_APB_ROOT>,
                                         <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>,
                                         <&clk IMX8MP_CLK_MEDIA_CAM1_PIX_ROOT>,
@@ -1063,6 +1130,17 @@
                                #power-domain-cells = <1>;
                        };
 
+                       pcie_phy: pcie-phy@32f00000 {
+                               compatible = "fsl,imx8mp-pcie-phy";
+                               reg = <0x32f00000 0x10000>;
+                               resets = <&src IMX8MP_RESET_PCIEPHY>,
+                                        <&src IMX8MP_RESET_PCIEPHY_PERST>;
+                               reset-names = "pciephy", "perst";
+                               power-domains = <&hsio_blk_ctrl 
IMX8MP_HSIOBLK_PD_PCIE_PHY>;
+                               #phy-cells = <0>;
+                               status = "disabled";
+                       };
+
                        hsio_blk_ctrl: blk-ctrl@32f10000 {
                                compatible = "fsl,imx8mp-hsio-blk-ctrl", 
"syscon";
                                reg = <0x32f10000 0x24>;
@@ -1074,10 +1152,46 @@
                                                <&pgc_hsiomix>, <&pgc_pcie_phy>;
                                power-domain-names = "bus", "usb", "usb-phy1",
                                                     "usb-phy2", "pcie", 
"pcie-phy";
+                               interconnects = <&noc IMX8MP_ICM_NOC_PCIE &noc 
IMX8MP_ICN_HSIO>,
+                                               <&noc IMX8MP_ICM_USB1 &noc 
IMX8MP_ICN_HSIO>,
+                                               <&noc IMX8MP_ICM_USB2 &noc 
IMX8MP_ICN_HSIO>,
+                                               <&noc IMX8MP_ICM_PCIE &noc 
IMX8MP_ICN_HSIO>;
+                               interconnect-names = "noc-pcie", "usb1", 
"usb2", "pcie";
                                #power-domain-cells = <1>;
                        };
                };
 
+               pcie: pcie@33800000 {
+                       compatible = "fsl,imx8mp-pcie";
+                       reg = <0x33800000 0x400000>, <0x1ff00000 0x80000>;
+                       reg-names = "dbi", "config";
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       device_type = "pci";
+                       bus-range = <0x00 0xff>;
+                       ranges =  <0x81000000 0 0x00000000 0x1ff80000 0 
0x00010000>, /* downstream I/O 64KB */
+                                 <0x82000000 0 0x18000000 0x18000000 0 
0x07f00000>; /* non-prefetchable memory */
+                       num-lanes = <1>;
+                       num-viewport = <4>;
+                       interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "msi";
+                       #interrupt-cells = <1>;
+                       interrupt-map-mask = <0 0 0 0x7>;
+                       interrupt-map = <0 0 0 1 &gic GIC_SPI 126 
IRQ_TYPE_LEVEL_HIGH>,
+                                       <0 0 0 2 &gic GIC_SPI 125 
IRQ_TYPE_LEVEL_HIGH>,
+                                       <0 0 0 3 &gic GIC_SPI 124 
IRQ_TYPE_LEVEL_HIGH>,
+                                       <0 0 0 4 &gic GIC_SPI 123 
IRQ_TYPE_LEVEL_HIGH>;
+                       fsl,max-link-speed = <3>;
+                       linux,pci-domain = <0>;
+                       power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_PCIE>;
+                       resets = <&src IMX8MP_RESET_PCIE_CTRL_APPS_EN>,
+                                <&src IMX8MP_RESET_PCIE_CTRL_APPS_TURNOFF>;
+                       reset-names = "apps", "turnoff";
+                       phys = <&pcie_phy>;
+                       phy-names = "pcie-phy";
+                       status = "disabled";
+               };
+
                gpu3d: gpu@38000000 {
                        compatible = "vivante,gc";
                        reg = <0x38000000 0x8000>;
@@ -1109,6 +1223,23 @@
                        power-domains = <&pgc_gpu2d>;
                };
 
+               vpumix_blk_ctrl: blk-ctrl@38330000 {
+                       compatible = "fsl,imx8mp-vpu-blk-ctrl", "syscon";
+                       reg = <0x38330000 0x100>;
+                       #power-domain-cells = <1>;
+                       power-domains = <&pgc_vpumix>, <&pgc_vpu_g1>,
+                                       <&pgc_vpu_g2>, <&pgc_vpu_vc8000e>;
+                       power-domain-names = "bus", "g1", "g2", "vc8000e";
+                       clocks = <&clk IMX8MP_CLK_VPU_G1_ROOT>,
+                                <&clk IMX8MP_CLK_VPU_G2_ROOT>,
+                                <&clk IMX8MP_CLK_VPU_VC8KE_ROOT>;
+                       clock-names = "g1", "g2", "vc8000e";
+                       interconnects = <&noc IMX8MP_ICM_VPU_G1 &noc 
IMX8MP_ICN_VIDEO>,
+                                       <&noc IMX8MP_ICM_VPU_G2 &noc 
IMX8MP_ICN_VIDEO>,
+                                       <&noc IMX8MP_ICM_VPU_H1 &noc 
IMX8MP_ICN_VIDEO>;
+                       interconnect-names = "g1", "g2", "vc8000e";
+               };
+
                gic: interrupt-controller@38800000 {
                        compatible = "arm,gic-v3";
                        reg = <0x38800000 0x10000>,
@@ -1168,7 +1299,7 @@
                                interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
                                phys = <&usb3_phy0>, <&usb3_phy0>;
                                phy-names = "usb2-phy", "usb3-phy";
-                               snps,dis-u2-freeclk-exists-quirk;
+                               snps,gfladj-refclk-lpm-sel-quirk;
                        };
 
                };
@@ -1210,7 +1341,7 @@
                                interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
                                phys = <&usb3_phy1>, <&usb3_phy1>;
                                phy-names = "usb2-phy", "usb3-phy";
-                               snps,dis-u2-freeclk-exists-quirk;
+                               snps,gfladj-refclk-lpm-sel-quirk;
                        };
                };
 
diff --git a/include/dt-bindings/clock/imx8mp-clock.h 
b/include/dt-bindings/clock/imx8mp-clock.h
index e8d68fbb6e..9d5cc2ddde 100644
--- a/include/dt-bindings/clock/imx8mp-clock.h
+++ b/include/dt-bindings/clock/imx8mp-clock.h
@@ -117,7 +117,6 @@
 #define IMX8MP_CLK_AUDIO_AHB                   108
 #define IMX8MP_CLK_MIPI_DSI_ESC_RX             109
 #define IMX8MP_CLK_IPG_ROOT                    110
-#define IMX8MP_CLK_IPG_AUDIO_ROOT              111
 #define IMX8MP_CLK_DRAM_ALT                    112
 #define IMX8MP_CLK_DRAM_APB                    113
 #define IMX8MP_CLK_VPU_G1                      114
@@ -125,7 +124,6 @@
 #define IMX8MP_CLK_CAN1                                116
 #define IMX8MP_CLK_CAN2                                117
 #define IMX8MP_CLK_MEMREPAIR                   118
-#define IMX8MP_CLK_PCIE_PHY                    119
 #define IMX8MP_CLK_PCIE_AUX                    120
 #define IMX8MP_CLK_I2C5                                121
 #define IMX8MP_CLK_I2C6                                122
@@ -182,8 +180,6 @@
 #define IMX8MP_CLK_MEDIA_CAM2_PIX              173
 #define IMX8MP_CLK_MEDIA_LDB                   174
 #define IMX8MP_CLK_MEDIA_MIPI_CSI2_ESC         175
-#define IMX8MP_CLK_PCIE2_CTRL                  176
-#define IMX8MP_CLK_PCIE2_PHY                   177
 #define IMX8MP_CLK_MEDIA_MIPI_TEST_BYTE                178
 #define IMX8MP_CLK_ECSPI3                      179
 #define IMX8MP_CLK_PDM                         180
@@ -321,8 +317,15 @@
 #define IMX8MP_CLK_AUDIO_AXI                   310
 #define IMX8MP_CLK_HSIO_AXI                    311
 #define IMX8MP_CLK_MEDIA_ISP                   312
+#define IMX8MP_CLK_MEDIA_DISP2_PIX             313
+#define IMX8MP_CLK_CLKOUT1_SEL                 314
+#define IMX8MP_CLK_CLKOUT1_DIV                 315
+#define IMX8MP_CLK_CLKOUT1                     316
+#define IMX8MP_CLK_CLKOUT2_SEL                 317
+#define IMX8MP_CLK_CLKOUT2_DIV                 318
+#define IMX8MP_CLK_CLKOUT2                     319
 
-#define IMX8MP_CLK_END                         313
+#define IMX8MP_CLK_END                         320
 
 #define IMX8MP_CLK_AUDIOMIX_SAI1_IPG           0
 #define IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1         1
diff --git a/include/dt-bindings/interconnect/fsl,imx8mp.h 
b/include/dt-bindings/interconnect/fsl,imx8mp.h
new file mode 100644
index 0000000000..7357d41752
--- /dev/null
+++ b/include/dt-bindings/interconnect/fsl,imx8mp.h
@@ -0,0 +1,59 @@
+/* SPDX-License-Identifier: GPL-2.0 OR MIT */
+/*
+ * Interconnect framework driver for i.MX SoC
+ *
+ * Copyright 2022 NXP
+ * Peng Fan <peng....@nxp.com>
+ */
+
+#ifndef __DT_BINDINGS_INTERCONNECT_IMX8MP_H
+#define __DT_BINDINGS_INTERCONNECT_IMX8MP_H
+
+#define IMX8MP_ICN_NOC         0
+#define IMX8MP_ICN_MAIN                1
+#define IMX8MP_ICS_DRAM                2
+#define IMX8MP_ICS_OCRAM       3
+#define IMX8MP_ICM_A53         4
+#define IMX8MP_ICM_SUPERMIX    5
+#define IMX8MP_ICM_GIC         6
+#define IMX8MP_ICM_MLMIX       7
+
+#define IMX8MP_ICN_AUDIO       8
+#define IMX8MP_ICM_DSP         9
+#define IMX8MP_ICM_SDMA2PER    10
+#define IMX8MP_ICM_SDMA2BURST  11
+#define IMX8MP_ICM_SDMA3PER    12
+#define IMX8MP_ICM_SDMA3BURST  13
+#define IMX8MP_ICM_EDMA                14
+
+#define IMX8MP_ICN_GPU         15
+#define IMX8MP_ICM_GPU2D       16
+#define IMX8MP_ICM_GPU3D       17
+
+#define IMX8MP_ICN_HDMI                18
+#define IMX8MP_ICM_HRV         19
+#define IMX8MP_ICM_LCDIF_HDMI  20
+#define IMX8MP_ICM_HDCP                21
+
+#define IMX8MP_ICN_HSIO                22
+#define IMX8MP_ICM_NOC_PCIE    23
+#define IMX8MP_ICM_USB1                24
+#define IMX8MP_ICM_USB2                25
+#define IMX8MP_ICM_PCIE                26
+
+#define IMX8MP_ICN_MEDIA       27
+#define IMX8MP_ICM_LCDIF_RD    28
+#define IMX8MP_ICM_LCDIF_WR    29
+#define IMX8MP_ICM_ISI0                30
+#define IMX8MP_ICM_ISI1                31
+#define IMX8MP_ICM_ISI2                32
+#define IMX8MP_ICM_ISP0                33
+#define IMX8MP_ICM_ISP1                34
+#define IMX8MP_ICM_DWE         35
+
+#define IMX8MP_ICN_VIDEO       36
+#define IMX8MP_ICM_VPU_G1      37
+#define IMX8MP_ICM_VPU_G2      38
+#define IMX8MP_ICM_VPU_H1      39
+
+#endif /* __DT_BINDINGS_INTERCONNECT_IMX8MP_H */
diff --git a/include/dt-bindings/power/imx8mp-power.h 
b/include/dt-bindings/power/imx8mp-power.h
index 3f72bf7818..2fe3c2abad 100644
--- a/include/dt-bindings/power/imx8mp-power.h
+++ b/include/dt-bindings/power/imx8mp-power.h
@@ -38,9 +38,22 @@
 #define IMX8MP_MEDIABLK_PD_ISI                         3
 #define IMX8MP_MEDIABLK_PD_MIPI_CSI2_2                 4
 #define IMX8MP_MEDIABLK_PD_LCDIF_2                     5
-#define IMX8MP_MEDIABLK_PD_ISP2                                6
-#define IMX8MP_MEDIABLK_PD_ISP1                                7
-#define IMX8MP_MEDIABLK_PD_DWE                         8
-#define IMX8MP_MEDIABLK_PD_MIPI_DSI_2                  9
+#define IMX8MP_MEDIABLK_PD_ISP                         6
+#define IMX8MP_MEDIABLK_PD_DWE                         7
+#define IMX8MP_MEDIABLK_PD_MIPI_DSI_2                  8
+
+#define IMX8MP_HDMIBLK_PD_IRQSTEER                     0
+#define IMX8MP_HDMIBLK_PD_LCDIF                                1
+#define IMX8MP_HDMIBLK_PD_PAI                          2
+#define IMX8MP_HDMIBLK_PD_PVI                          3
+#define IMX8MP_HDMIBLK_PD_TRNG                         4
+#define IMX8MP_HDMIBLK_PD_HDMI_TX                      5
+#define IMX8MP_HDMIBLK_PD_HDMI_TX_PHY                  6
+#define IMX8MP_HDMIBLK_PD_HDCP                         7
+#define IMX8MP_HDMIBLK_PD_HRV                          8
+
+#define IMX8MP_VPUBLK_PD_G1                            0
+#define IMX8MP_VPUBLK_PD_G2                            1
+#define IMX8MP_VPUBLK_PD_VC8000E                       2
 
 #endif
diff --git a/include/dt-bindings/reset/imx8mp-reset.h 
b/include/dt-bindings/reset/imx8mp-reset.h
new file mode 100644
index 0000000000..2e8c9104b6
--- /dev/null
+++ b/include/dt-bindings/reset/imx8mp-reset.h
@@ -0,0 +1,50 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright 2020 NXP
+ */
+
+#ifndef DT_BINDING_RESET_IMX8MP_H
+#define DT_BINDING_RESET_IMX8MP_H
+
+#define IMX8MP_RESET_A53_CORE_POR_RESET0       0
+#define IMX8MP_RESET_A53_CORE_POR_RESET1       1
+#define IMX8MP_RESET_A53_CORE_POR_RESET2       2
+#define IMX8MP_RESET_A53_CORE_POR_RESET3       3
+#define IMX8MP_RESET_A53_CORE_RESET0           4
+#define IMX8MP_RESET_A53_CORE_RESET1           5
+#define IMX8MP_RESET_A53_CORE_RESET2           6
+#define IMX8MP_RESET_A53_CORE_RESET3           7
+#define IMX8MP_RESET_A53_DBG_RESET0            8
+#define IMX8MP_RESET_A53_DBG_RESET1            9
+#define IMX8MP_RESET_A53_DBG_RESET2            10
+#define IMX8MP_RESET_A53_DBG_RESET3            11
+#define IMX8MP_RESET_A53_ETM_RESET0            12
+#define IMX8MP_RESET_A53_ETM_RESET1            13
+#define IMX8MP_RESET_A53_ETM_RESET2            14
+#define IMX8MP_RESET_A53_ETM_RESET3            15
+#define IMX8MP_RESET_A53_SOC_DBG_RESET         16
+#define IMX8MP_RESET_A53_L2RESET               17
+#define IMX8MP_RESET_SW_NON_SCLR_M7C_RST       18
+#define IMX8MP_RESET_OTG1_PHY_RESET            19
+#define IMX8MP_RESET_OTG2_PHY_RESET            20
+#define IMX8MP_RESET_SUPERMIX_RESET            21
+#define IMX8MP_RESET_AUDIOMIX_RESET            22
+#define IMX8MP_RESET_MLMIX_RESET               23
+#define IMX8MP_RESET_PCIEPHY                   24
+#define IMX8MP_RESET_PCIEPHY_PERST             25
+#define IMX8MP_RESET_PCIE_CTRL_APPS_EN         26
+#define IMX8MP_RESET_PCIE_CTRL_APPS_TURNOFF    27
+#define IMX8MP_RESET_HDMI_PHY_APB_RESET                28
+#define IMX8MP_RESET_MEDIA_RESET               29
+#define IMX8MP_RESET_GPU2D_RESET               30
+#define IMX8MP_RESET_GPU3D_RESET               31
+#define IMX8MP_RESET_GPU_RESET                 32
+#define IMX8MP_RESET_VPU_RESET                 33
+#define IMX8MP_RESET_VPU_G1_RESET              34
+#define IMX8MP_RESET_VPU_G2_RESET              35
+#define IMX8MP_RESET_VPUVC8KE_RESET            36
+#define IMX8MP_RESET_NOC_RESET                 37
+
+#define IMX8MP_RESET_NUM                       38
+
+#endif
-- 
2.35.1

Reply via email to