[PATCH 3/5] arm64: dts: imx: add imx8qxp support

A.s. Dong aisheng.dong at nxp.com
Wed May 2 11:00:54 PDT 2018


> -----Original Message-----
> From: Rob Herring [mailto:robh at kernel.org]
> Sent: Tuesday, May 1, 2018 11:55 PM
> To: A.s. Dong <aisheng.dong at nxp.com>
> Cc: linux-arm-kernel at lists.infradead.org; dongas86 at gmail.com;
> kernel at pengutronix.de; shawnguo at kernel.org; Fabio Estevam
> <fabio.estevam at nxp.com>; catalin.marinas at arm.com;
> will.deacon at arm.com; dl-linux-imx <linux-imx at nxp.com>; Mark Rutland
> <mark.rutland at arm.com>; devicetree at vger.kernel.org
> Subject: Re: [PATCH 3/5] arm64: dts: imx: add imx8qxp support
> 
> On Sat, Apr 28, 2018 at 03:06:15AM +0800, Dong Aisheng wrote:
> > Add imx8qxp support
> >
> > Cc: Rob Herring <robh+dt at kernel.org>
> > Cc: Mark Rutland <mark.rutland at arm.com>
> > Cc: devicetree at vger.kernel.org
> > Cc: Shawn Guo <shawnguo at kernel.org>
> > Cc: Sascha Hauer <kernel at pengutronix.de>
> > Cc: Fabio Estevam <fabio.estevam at nxp.com>
> > Signed-off-by: Dong Aisheng <aisheng.dong at nxp.com>
> > ---
> >  Documentation/devicetree/bindings/arm/fsl.txt     |   5 +
> >  arch/arm64/boot/dts/freescale/Makefile            |   1 +
> >  arch/arm64/boot/dts/freescale/fsl-imx8-ca35.dtsi  |  66 ++
> >  arch/arm64/boot/dts/freescale/fsl-imx8qxp-mek.dts | 138 ++++
> >  arch/arm64/boot/dts/freescale/fsl-imx8qxp.dtsi    | 794
> ++++++++++++++++++++++
> >  include/dt-bindings/power/imx-rsrc.h              | 558 +++++++++++++++
> >  6 files changed, 1562 insertions(+)
> >  create mode 100644 arch/arm64/boot/dts/freescale/fsl-imx8-ca35.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/fsl-imx8qxp-mek.dts
> >  create mode 100644 arch/arm64/boot/dts/freescale/fsl-imx8qxp.dtsi
> >  create mode 100644 include/dt-bindings/power/imx-rsrc.h
> >
> > diff --git a/Documentation/devicetree/bindings/arm/fsl.txt
> b/Documentation/devicetree/bindings/arm/fsl.txt
> > index cdb9dd7..e9aea78 100644
> > --- a/Documentation/devicetree/bindings/arm/fsl.txt
> > +++ b/Documentation/devicetree/bindings/arm/fsl.txt
> > @@ -53,6 +53,11 @@ i.MX6 Quad SABRE Automotive Board
> >  Required root node properties:
> >      - compatible = "fsl,imx6q-sabreauto", "fsl,imx6q";
> >
> > +i.MX8QXP MEK Board
> > +Required root node properties:
> > +    - compatible = "fsl,imx8qxp-mek", "fsl,imx8qxp";
> > +
> > +
> >  Generic i.MX boards
> >  -------------------
> >
> > diff --git a/arch/arm64/boot/dts/freescale/Makefile
> b/arch/arm64/boot/dts/freescale/Makefile
> > index 86e18ad..2622da7 100644
> > --- a/arch/arm64/boot/dts/freescale/Makefile
> > +++ b/arch/arm64/boot/dts/freescale/Makefile
> > @@ -13,3 +13,4 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-
> rdb.dtb
> >  dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-simu.dtb
> >  dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-qds.dtb
> >  dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-rdb.dtb
> > +dtb-$(CONFIG_SOC_IMX8QXP) += fsl-imx8qxp-mek.dtb
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8-ca35.dtsi
> b/arch/arm64/boot/dts/freescale/fsl-imx8-ca35.dtsi
> > new file mode 100644
> > index 0000000..3a3569f
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/fsl-imx8-ca35.dtsi
> > @@ -0,0 +1,66 @@
> > +// SPDX-License-Identifier: GPL-2.0+
> > +/*
> > + * Copyright (C) 2016 Freescale Semiconductor, Inc.
> > + * Copyright 2017~2018 NXP
> > + */
> > +
> > +#include <dt-bindings/interrupt-controller/arm-gic.h>
> > +
> > +/{
> > +	cpus {
> > +		#address-cells = <2>;
> > +		#size-cells = <0>;
> > +
> > +		/* We have 1 clusters having 4 Cortex-A35 cores */
> > +		A35_0: cpu at 0 {
> > +			device_type = "cpu";
> > +			compatible = "arm,cortex-a35";
> > +			reg = <0x0 0x0>;
> > +			enable-method = "psci";
> > +			next-level-cache = <&A35_L2>;
> > +		};
> > +
> > +		A35_1: cpu at 1 {
> > +			device_type = "cpu";
> > +			compatible = "arm,cortex-a35";
> > +			reg = <0x0 0x1>;
> > +			enable-method = "psci";
> > +			next-level-cache = <&A35_L2>;
> > +		};
> > +
> > +		A35_2: cpu at 2 {
> > +			device_type = "cpu";
> > +			compatible = "arm,cortex-a35";
> > +			reg = <0x0 0x2>;
> > +			enable-method = "psci";
> > +			next-level-cache = <&A35_L2>;
> > +		};
> > +
> > +		A35_3: cpu at 3 {
> > +			device_type = "cpu";
> > +			compatible = "arm,cortex-a35";
> > +			reg = <0x0 0x3>;
> > +			enable-method = "psci";
> > +			next-level-cache = <&A35_L2>;
> > +		};
> > +
> > +		A35_L2: l2-cache0 {
> > +			compatible = "cache";
> > +		};
> > +	};
> > +
> > +	pmu {
> > +		compatible = "arm,armv8-pmuv3";
> > +		interrupts = <GIC_PPI 7
> > +			(GIC_CPU_MASK_SIMPLE(6) |
> IRQ_TYPE_LEVEL_HIGH)>;
> > +		interrupt-affinity = <&A35_0>, <&A35_1>, <&A35_2>,
> <&A35_3>;
> > +	};
> > +
> > +	psci {
> > +		compatible = "arm,psci-1.0";
> > +		method = "smc";
> > +		cpu_suspend   = <0xc4000001>;
> > +		cpu_off	      = <0xc4000002>;
> > +		cpu_on	      = <0xc4000003>;
> > +	};
> > +};
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8qxp-mek.dts
> b/arch/arm64/boot/dts/freescale/fsl-imx8qxp-mek.dts
> > new file mode 100644
> > index 0000000..920018e
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/fsl-imx8qxp-mek.dts
> > @@ -0,0 +1,138 @@
> > +// SPDX-License-Identifier: GPL-2.0+
> > +/*
> > + * Copyright 2017~2018 NXP
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include "fsl-imx8qxp.dtsi"
> > +
> > +/ {
> > +	model = "Freescale i.MX8QXP MEK";
> > +	compatible = "fsl,imx8qxp-mek", "fsl,imx8qxp";
> > +
> > +	chosen {
> > +		stdout-path = &dma_lpuart0;
> > +	};
> > +
> > +	regulators {
> > +		compatible = "simple-bus";
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> 
> Remove this container node. It is not a simple-bus.
> 

Got it

> > +
> > +		reg_usdhc2_vmmc: usdhc2_vmmc {
> > +			compatible = "regulator-fixed";
> > +			regulator-name = "SD1_SPWR";
> > +			regulator-min-microvolt = <3000000>;
> > +			regulator-max-microvolt = <3000000>;
> > +			gpio = <&lsio_gpio4 19 GPIO_ACTIVE_HIGH>;
> > +			enable-active-high;
> > +		};
> > +
> > +	};
> > +};
> > +
> > +&dma_lpuart0 {
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_lpuart0>;
> > +	status = "okay";
> > +};
> > +
> > +&fec1 {
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_fec1>;
> > +	phy-mode = "rgmii-id";
> > +	phy-handle = <&ethphy0>;
> > +	fsl,magic-packet;
> > +	status = "okay";
> > +
> > +	mdio {
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> > +
> > +		ethphy0: ethernet-phy at 0 {
> > +			compatible = "ethernet-phy-ieee802.3-c22";
> > +			at803x,eee-disabled;
> > +			at803x,vddio-1p8v;
> > +			reg = <0>;
> > +		};
> > +
> > +		ethphy1: ethernet-phy at 1 {
> > +			compatible = "ethernet-phy-ieee802.3-c22";
> > +			at803x,eee-disabled;
> > +			at803x,vddio-1p8v;
> > +			reg = <1>;
> > +		};
> > +	};
> > +};
> > +
> > +&usdhc1 {
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_usdhc1>;
> > +	bus-width = <8>;
> > +	non-removable;
> > +	status = "okay";
> > +};
> > +
> > +&usdhc2 {
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_usdhc2>;
> > +	non-removable;
> > +	vmmc-supply = <&reg_usdhc2_vmmc>;
> > +	status = "okay";
> > +};
> > +
> > +&iomuxc {
> > +	pinctrl_fec1: fec1grp {
> > +		fsl,pins = <
> > +			SC_P_ENET0_MDC_CONN_ENET0_MDC
> 		0x06000020
> > +			SC_P_ENET0_MDIO_CONN_ENET0_MDIO
> 		0x06000020
> > +
> 	SC_P_ENET0_RGMII_TX_CTL_CONN_ENET0_RGMII_TX_CTL
> 	0x06000020
> > +			SC_P_ENET0_RGMII_TXC_CONN_ENET0_RGMII_TXC
> 	0x06000020
> > +
> 	SC_P_ENET0_RGMII_TXD0_CONN_ENET0_RGMII_TXD0
> 	0x06000020
> > +
> 	SC_P_ENET0_RGMII_TXD1_CONN_ENET0_RGMII_TXD1
> 	0x06000020
> > +
> 	SC_P_ENET0_RGMII_TXD2_CONN_ENET0_RGMII_TXD2
> 	0x06000020
> > +
> 	SC_P_ENET0_RGMII_TXD3_CONN_ENET0_RGMII_TXD3
> 	0x06000020
> > +
> 	SC_P_ENET0_RGMII_RXC_CONN_ENET0_RGMII_RXC	0x06000020
> > +
> 	SC_P_ENET0_RGMII_RX_CTL_CONN_ENET0_RGMII_RX_CTL
> 	0x06000020
> > +
> 	SC_P_ENET0_RGMII_RXD0_CONN_ENET0_RGMII_RXD0
> 	0x06000020
> > +
> 	SC_P_ENET0_RGMII_RXD1_CONN_ENET0_RGMII_RXD1
> 	0x06000020
> > +
> 	SC_P_ENET0_RGMII_RXD2_CONN_ENET0_RGMII_RXD2
> 	0x06000020
> > +
> 	SC_P_ENET0_RGMII_RXD3_CONN_ENET0_RGMII_RXD3
> 	0x06000020
> > +		>;
> > +	};
> > +	pinctrl_lpuart0: lpuart0grp {
> > +		fsl,pins = <
> > +			SC_P_UART0_RX_ADMA_UART0_RX
> 	0x06000020
> > +			SC_P_UART0_TX_ADMA_UART0_TX
> 	0x06000020
> > +		>;
> > +	};
> > +
> > +	pinctrl_usdhc1: usdhc1grp {
> > +		fsl,pins = <
> > +			SC_P_EMMC0_CLK_CONN_EMMC0_CLK
> 		0x06000041
> > +			SC_P_EMMC0_CMD_CONN_EMMC0_CMD
> 		0x00000021
> > +			SC_P_EMMC0_DATA0_CONN_EMMC0_DATA0
> 		0x00000021
> > +			SC_P_EMMC0_DATA1_CONN_EMMC0_DATA1
> 		0x00000021
> > +			SC_P_EMMC0_DATA2_CONN_EMMC0_DATA2
> 		0x00000021
> > +			SC_P_EMMC0_DATA3_CONN_EMMC0_DATA3
> 		0x00000021
> > +			SC_P_EMMC0_DATA4_CONN_EMMC0_DATA4
> 		0x00000021
> > +			SC_P_EMMC0_DATA5_CONN_EMMC0_DATA5
> 		0x00000021
> > +			SC_P_EMMC0_DATA6_CONN_EMMC0_DATA6
> 		0x00000021
> > +			SC_P_EMMC0_DATA7_CONN_EMMC0_DATA7
> 		0x00000021
> > +			SC_P_EMMC0_STROBE_CONN_EMMC0_STROBE
> 		0x00000041
> > +		>;
> > +	};
> > +
> > +	pinctrl_usdhc2: usdhc2grp {
> > +		fsl,pins = <
> > +			SC_P_USDHC1_CLK_CONN_USDHC1_CLK
> 		0x06000041
> > +			SC_P_USDHC1_CMD_CONN_USDHC1_CMD
> 		0x00000021
> > +			SC_P_USDHC1_DATA0_CONN_USDHC1_DATA0
> 		0x00000021
> > +			SC_P_USDHC1_DATA1_CONN_USDHC1_DATA1
> 		0x00000021
> > +			SC_P_USDHC1_DATA2_CONN_USDHC1_DATA2
> 		0x00000021
> > +			SC_P_USDHC1_DATA3_CONN_USDHC1_DATA3
> 		0x00000021
> > +			SC_P_USDHC1_VSELECT_CONN_USDHC1_VSELECT
> 		0x00000021
> > +		>;
> > +	};
> > +};
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8qxp.dtsi
> b/arch/arm64/boot/dts/freescale/fsl-imx8qxp.dtsi
> > new file mode 100644
> > index 0000000..d7cc836
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/fsl-imx8qxp.dtsi
> > @@ -0,0 +1,794 @@
> > +// SPDX-License-Identifier: GPL-2.0+
> > +/*
> > + * Copyright (C) 2016 Freescale Semiconductor, Inc.
> > + * Copyright 2017~2018 NXP
> > + *	Dong Aisheng <aisheng.dong at nxp.com>
> > + */
> > +
> > +#include <dt-bindings/clock/imx8qxp-clock.h>
> > +#include <dt-bindings/gpio/gpio.h>
> > +#include <dt-bindings/pinctrl/pads-imx8qxp.h>
> > +#include <dt-bindings/power/imx-rsrc.h>
> > +
> > +#include "fsl-imx8-ca35.dtsi"
> > +
> > +/ {
> > +	compatible = "fsl,imx8qxp";
> > +	interrupt-parent = <&gic>;
> > +	#address-cells = <2>;
> > +	#size-cells = <2>;
> > +
> > +	aliases {
> > +		serial0 = &dma_lpuart0;
> > +		mmc0 = &usdhc1;
> > +		mmc1 = &usdhc2;
> > +		mmc2 = &usdhc3;
> > +	};
> > +
> > +	memory at 80000000 {
> > +		device_type = "memory";
> > +		reg = <0x00000000 0x80000000 0 0x40000000>;
> > +	};
> > +
> > +	gic: interrupt-controller at 51a00000 {
> > +		compatible = "arm,gic-v3";
> > +		reg = <0x0 0x51a00000 0 0x10000>, /* GIC Dist */
> > +		      <0x0 0x51b00000 0 0xC0000>; /* GICR (RD_base +
> SGI_base) */
> > +		#interrupt-cells = <3>;
> > +		interrupt-controller;
> > +		interrupts = <GIC_PPI 9
> > +			(GIC_CPU_MASK_SIMPLE(6) |
> IRQ_TYPE_LEVEL_HIGH)>;
> > +	};
> > +
> > +	timer {
> > +		compatible = "arm,armv8-timer";
> > +		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) |
> IRQ_TYPE_LEVEL_LOW)>, /* Physical Secure */
> > +			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) |
> IRQ_TYPE_LEVEL_LOW)>, /* Physical Non-Secure */
> > +			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) |
> IRQ_TYPE_LEVEL_LOW)>, /* Virtual */
> > +			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) |
> IRQ_TYPE_LEVEL_LOW)>; /* Hypervisor */
> > +		clock-frequency = <8000000>;
> > +	};
> > +
> > +	scu {
> > +		compatible = "nxp,imx8qxp-scu", "simple-bus";
> 
> This is not a simple-bus.
> 

Well, that's true.
It can be changed to populate the devices in SCU driver.

> > +		fsl,mu = <&lsio_mu0>;
> > +
> > +		clk: clk {
> > +			compatible = "fsl,imx8qxp-clk";
> > +			#clock-cells = <1>;
> > +		};
> > +
> > +		iomuxc: iomuxc {
> > +			compatible = "fsl,imx8qxp-iomuxc";
> > +		};
> > +
> > +		imx8qx-pm {
> > +			#address-cells = <1>;
> > +			#size-cells = <0>;
> > +
> > +			pd_lsio: PD_LSIO {
> 
> Lower case and don't use '_' in node names.
> 

Got it, My mistake.

> Build the dtb with W=12 and fix the warnings.
>

Good suggestions.
 
> > +				compatible = "nxp,imx8qxp-pd";
> > +				#power-domain-cells = <0>;
> > +				#address-cells = <1>;
> > +				#size-cells = <0>;
> > +
> > +				pd_lsio_pwm0: lsio_pwm0 at SC_R_PWM_0 {
> 
> Don't use defines in unit-addresses.
> 

Got it.

> > +					reg = <SC_R_PWM_0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_pwm1: lsio_pwm1 at SC_R_PWM_1 {
> > +					reg = <SC_R_PWM_1>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_pwm2: lsio_pwm2 at SC_R_PWM_2 {
> > +					reg = <SC_R_PWM_2>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_pwm3: lsio_pwm3 at SC_R_PWM_3 {
> > +					reg = <SC_R_PWM_3>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_pwm4: lsio_pwm4 at SC_R_PWM_4 {
> > +					reg = <SC_R_PWM_4>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_pwm5: lsio_pwm5 at SC_R_PWM_5 {
> > +					reg = <SC_R_PWM_5>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_pwm6: lsio_pwm6 at SC_R_PWM_6 {
> > +					reg = <SC_R_PWM_6>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_pwm7: lsio_pwm7 at SC_R_PWM_7 {
> > +					reg = <SC_R_PWM_7>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_kpp: lsio_kpp at SC_R_KPP {
> > +					reg = <SC_R_KPP>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_gpio0: lsio_gpio0 at SC_R_GPIO_0 {
> > +					reg = <SC_R_GPIO_0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_gpio1: lsio_gpio1 at SC_R_GPIO_1 {
> > +					reg = <SC_R_GPIO_1>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_gpio2: lsio_gpio2 at SC_R_GPIO_2 {
> > +					reg = <SC_R_GPIO_2>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_gpio3: lsio_gpio3 at SC_R_GPIO_3 {
> > +					reg = <SC_R_GPIO_3>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_gpio4: lsio_gpio4 at SC_R_GPIO_4 {
> > +					reg = <SC_R_GPIO_4>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_gpio5: lsio_gpio5 at SC_R_GPIO_5 {
> > +					reg = <SC_R_GPIO_5>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_gpio6: lsio_gpio6 at SC_R_GPIO_6 {
> > +					reg = <SC_R_GPIO_6>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_gpio7: lsio_gpio7 at SC_R_GPIO_7 {
> > +					reg = <SC_R_GPIO_7>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_gpt0: lsio_gpt0 at SC_R_GPT_0 {
> > +					reg = <SC_R_GPT_0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_gpt1: lsio_gpt1 at SC_R_GPT_1 {
> > +					reg = <SC_R_GPT_1>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_gpt2: lsio_gpt2 at SC_R_GPT_2 {
> > +					reg = <SC_R_GPT_2>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_gpt3: lsio_gpt3 at SC_R_GPT_3 {
> > +					reg = <SC_R_GPT_3>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_gpt4: lsio_gpt4 at SC_R_GPT_4 {
> > +					reg = <SC_R_GPT_4>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_flexspi0: lsio_fspi0 at SC_R_FSPI_0 {
> > +					reg = <SC_R_FSPI_0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +				pd_lsio_flexspi1: lsio_fspi1 at SC_R_FSPI_1 {
> > +					reg = <SC_R_FSPI_1>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_lsio>;
> > +				};
> > +			};
> > +
> > +			pd_conn: connectivity_power_domain {
> > +				compatible = "nxp,imx8qxp-pd";
> > +				#power-domain-cells = <0>;
> > +				#address-cells = <1>;
> > +				#size-cells = <0>;
> > +
> > +				pd_conn_usbotg0: conn_usb0 at SC_R_USB_0
> {
> > +					reg = <SC_R_USB_0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_conn>;
> > +				};
> > +				pd_conn_usbotg0_phy:
> conn_usb0_phy at SC_R_USB_0_PHY {
> > +					reg = <SC_R_USB_0_PHY>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_conn>;
> > +				};
> > +				pd_conn_usbotg1: conn_usb1 at SC_R_USB_1
> {
> > +					reg = <SC_R_USB_1>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_conn>;
> > +				};
> > +				pd_conn_usb2: conn_usb2 at SC_R_USB_2 {
> > +					reg = <SC_R_USB_2>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_conn>;
> > +				};
> > +				pd_conn_usb2_phy:
> conn_usb2_phy at SC_R_USB_2_PHY {
> > +					reg = <SC_R_USB_2_PHY>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_conn>;
> > +				};
> > +				pd_conn_sdhc0: conn_sdhc0 at SC_R_SDHC_0
> {
> > +					reg = <SC_R_SDHC_0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_conn>;
> > +				};
> > +				pd_conn_sdhc1: conn_sdhc1 at SC_R_SDHC_1
> {
> > +					reg = <SC_R_SDHC_1>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_conn>;
> > +				};
> > +				pd_conn_sdhc2: conn_sdhc2 at SC_R_SDHC_2
> {
> > +					reg = <SC_R_SDHC_2>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_conn>;
> > +				};
> > +				pd_conn_enet0: conn_enet0 at SC_R_ENET_0
> {
> > +					reg = <SC_R_ENET_0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_conn>;
> > +				};
> > +				pd_conn_enet1: conn_enet1 at SC_R_ENET_1
> {
> > +					reg = <SC_R_ENET_1>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_conn>;
> > +				};
> > +				pd_conn_nand: conn_nand at SC_R_NAND {
> > +					reg = <SC_R_NAND>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_conn>;
> > +				};
> > +				pd_conn_mlb0: conn_mlb0 at SC_R_MLB_0 {
> > +					reg = <SC_R_MLB_0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_conn>;
> > +				};
> > +				pd_conn_edma_ch0:
> conn_dma4_ch0 at SC_R_DMA_4_CH0 {
> > +					reg = <SC_R_DMA_4_CH0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains =<&pd_conn>;
> > +				};
> > +				pd_conn_edma_ch1:
> conn_dma4_ch1 at SC_R_DMA_4_CH1 {
> > +					reg = <SC_R_DMA_4_CH1>;
> > +					#power-domain-cells = <0>;
> > +					power-domains =<&pd_conn>;
> > +				};
> > +				pd_conn_edma_ch2:
> conn_dma4_ch2 at SC_R_DMA_4_CH2 {
> > +					reg = <SC_R_DMA_4_CH2>;
> > +					#power-domain-cells = <0>;
> > +					power-domains =<&pd_conn>;
> > +				};
> > +				pd_conn_edma_ch3:
> conn_dma4_ch3 at SC_R_DMA_4_CH3 {
> > +					reg = <SC_R_DMA_4_CH3>;
> > +					#power-domain-cells = <0>;
> > +					power-domains =<&pd_conn>;
> > +				};
> > +				pd_conn_edma_ch4:
> conn_dma4_ch4 at SC_R_DMA_4_CH4 {
> > +					reg = <SC_R_DMA_4_CH4>;
> > +					#power-domain-cells = <0>;
> > +					power-domains =<&pd_conn>;
> > +				};
> > +			};
> > +
> > +			pd_dma: dma_power_domain {
> > +				compatible = "nxp,imx8qxp-pd";
> > +				#power-domain-cells = <0>;
> > +				#address-cells = <1>;
> > +				#size-cells = <0>;
> > +
> > +				pd_dma_flexcan0:
> dma_flexcan0 at SC_R_CAN_0 {
> > +					reg = <SC_R_CAN_0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_flexcan1:
> dma_flexcan1 at SC_R_CAN_1 {
> > +					reg = <SC_R_CAN_1>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_flexcan2:
> dma_flexcan2 at SC_R_CAN_2 {
> > +					reg = <SC_R_CAN_2>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_ftm0: dma_ftm0 at SC_R_FTM_0 {
> > +					reg = <SC_R_FTM_0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_ftm1: dma_ftm1 at SC_R_FTM_1 {
> > +					reg = <SC_R_FTM_1>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_adc0: dma_adc0 at SC_R_ADC_0 {
> > +					reg = <SC_R_ADC_0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_lpi2c0: dma_lpi2c0 at SC_R_I2C_0 {
> > +					reg = <SC_R_I2C_0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_lpi2c1: dma_lpi2c1 at SC_R_I2C_1 {
> > +					reg = <SC_R_I2C_1>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_lpi2c2: dma_lpi2c2 at SC_R_I2C_2 {
> > +					reg = <SC_R_I2C_2>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_lpi2c3: dma_lpi2c3 at SC_R_I2C_3 {
> > +					reg = <SC_R_I2C_3>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_lpuart0:
> dma_lpuart0 at SC_R_UART_0 {
> > +					reg = <SC_R_UART_0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_lpuart1:
> dma_lpuart1 at SC_R_UART_1 {
> > +					reg = <SC_R_UART_1>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_lpuart2:
> dma_lpuart2 at SC_R_UART_2 {
> > +					reg = <SC_R_UART_2>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_lpuart3:
> dma_lpuart3 at SC_R_UART_3 {
> > +					reg = <SC_R_UART_3>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_lpspi0: dma_spi0 at SC_R_SPI_0 {
> > +					reg = <SC_R_SPI_0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_lpspi1: dma_spi1 at SC_R_SPI_1 {
> > +					reg = <SC_R_SPI_1>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_lpspi2: dma_spi2 at SC_R_SPI_2 {
> > +					reg = <SC_R_SPI_2>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_lpspi3: dma_spi3 at SC_R_SPI_3 {
> > +					reg = <SC_R_SPI_3>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_pwm0:
> dma_pwm0 at SC_R_LCD_0_PWM_0 {
> > +					reg = <SC_R_LCD_0_PWM_0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +				pd_dma_lcd0: dma_lcd0 at SC_R_LCD_0 {
> > +					reg = <SC_R_LCD_0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains = <&pd_dma>;
> > +				};
> > +			};
> > +
> > +			pd_gpu: gpu-power-domain {
> > +				compatible = "nxp,imx8qxp-pd";
> > +				#power-domain-cells = <0>;
> > +				#address-cells = <1>;
> > +				#size-cells = <0>;
> > +
> > +				pd_gpu0: gpu0 at SC_R_GPU_0_PID0 {
> > +					reg = <SC_R_GPU_0_PID0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains =<&pd_gpu>;
> > +					#address-cells = <1>;
> > +					#size-cells = <0>;
> > +				};
> > +			};
> > +
> > +			pd_vpu: vpu-power-domain at SC_R_VPU_PID0 {
> > +				compatible = "nxp,imx8qxp-pd";
> > +				reg = <SC_R_VPU_PID0>;
> > +				#power-domain-cells = <0>;
> > +				#address-cells = <1>;
> > +				#size-cells = <0>;
> > +
> > +				pd_vpu_core: vpu_core at SC_R_VPUCORE {
> > +					reg = <SC_R_VPUCORE>;
> > +					#power-domain-cells = <0>;
> > +					power-domains =<&pd_vpu>;
> > +				};
> > +			};
> > +
> > +			pd_hsio: hsio-power-domain {
> > +				compatible = "nxp,imx8qxp-pd";
> > +				#power-domain-cells = <0>;
> > +				#address-cells = <1>;
> > +				#size-cells = <0>;
> > +
> > +				pd_pcie: hsio-pcie-pd at SC_R_PCIE_A {
> > +					reg = <SC_R_PCIE_A>;
> > +					#power-domain-cells = <0>;
> > +					power-domains =<&pd_hsio>;
> > +				};
> > +			};
> > +
> > +			pd_dc: dc-power-domain {
> > +				compatible = "nxp,imx8qxp-pd";
> > +				#power-domain-cells = <0>;
> > +				#address-cells = <1>;
> > +				#size-cells = <0>;
> > +
> > +				pd_dc0: dc0-power-domain at SC_R_DC_0 {
> > +					reg = <SC_R_DC_0>;
> > +					#power-domain-cells = <0>;
> > +					power-domains =<&pd_dc>;
> > +				};
> > +			};
> > +
> > +			pd_mipi_dsi:
> mipi0_dsi_power_domain at SC_R_MIPI_0 {
> > +				compatible = "nxp,imx8qxp-pd";
> > +				reg = <SC_R_MIPI_0>;
> > +				#power-domain-cells = <0>;
> > +				#address-cells = <1>;
> > +				#size-cells = <0>;
> > +
> > +				pd_mipi_dsi_i2c0:
> mipi0_dsi_i2c0 at SC_R_MIPI_0_I2C_0 {
> > +					reg = <SC_R_MIPI_0_I2C_0>;
> > +					power-domains =<&pd_mipi_dsi>;
> > +				};
> > +				pd_mipi_dsi_i2c1:
> mipi0_dsi_i2c1 at SC_R_MIPI_0_I2C_1 {
> > +					reg = <SC_R_MIPI_0_I2C_1>;
> > +					power-domains =<&pd_mipi_dsi>;
> > +				};
> > +				pd_mipi_pwm0:
> mipi0_dsi_pwm0 at SC_R_MIPI_0_PWM_0 {
> > +					reg = <SC_R_MIPI_0_PWM_0>;
> > +					power-domains =<&pd_mipi_dsi>;
> > +				};
> > +			};
> > +
> > +			pd_mipi_csi: mipi_csi0_power_domain at SC_R_CSI_0
> {
> > +				compatible = "nxp,imx8qxp-pd";
> > +				reg = <SC_R_CSI_0>;
> > +				#power-domain-cells = <0>;
> > +				#address-cells = <1>;
> > +				#size-cells = <0>;
> > +
> > +				pd_mipi_csi0_i2c0:
> mipi_csi0_i2c at SC_R_CSI_0_I2C_0 {
> > +					reg = <SC_R_CSI_0_I2C_0>;
> > +					power-domains =<&pd_mipi_csi>;
> > +				};
> > +				pd_mipi_csi0_pwm0:
> mipi_csi0_pwm at SC_R_CSI_0_PWM_0 {
> > +					reg = <SC_R_CSI_0_PWM_0>;
> > +					power-domains =<&pd_mipi_csi>;
> > +				};
> > +			};
> > +		};
> > +	};
> > +
> > +	gpu: gpu at 53100000 {
> > +		compatible = "fsl,imx8qxp-gpu", "fsl,imx8x-gpu";
> 
> Documented?
> 

No.
Does it have to be documented first before we can write it in
dts files? If yes, maybe I can remove GPU node first as it actually
is far from being working right now.

> > +		reg = <0x0 0x53100000 0 0x40000>,
> > +		      <0x0 0x80000000 0x0 0x08000000>,
> > +		      <0x0 0x0 0x0 0x2000000>;
> > +		reg-names = "iobase_3d_0", "phys_baseaddr",
> > +			    "contiguous_mem";
> 
> Putting your RAM base address in here is not okay. And contiguous_mem
> looks suspicious too.
> 

Got it.

> > +		interrupts = <0 64 0x4>;
> > +		interrupt-names = "irq_3d_0";
> > +		clocks = <&clk IMX8QXP_GPU0_CORE_CLK>,
> > +			 <&clk IMX8QXP_GPU0_SHADER_CLK>;
> > +		clock-names = "clk_core_3d_0", "clk_shader_3d_0";
> > +		assigned-clocks = <&clk IMX8QXP_GPU0_CORE_CLK>,
> > +				  <&clk IMX8QXP_GPU0_SHADER_CLK>;
> > +		assigned-clock-rates = <650000000>, <700000000>;
> > +		status = "disabled";
> > +	};
> > +
> > +	audio_subsys: audio at 59000000 {
> 
> bus at ...
>

Got it
 
> if this is just a simple-bus.

MX8QM/QXP is consisted of a number of different HW block subsystems
Which Includes different IP modules.  Audio subsystem is one of them.
It looks like a simple-bus. So I will change to it.
If any issue, please let me know.

> 
> > +		compatible = "simple-bus";
> > +		#address-cells = <2>;
> > +		#size-cells = <2>;
> > +		reg = <0x0 0x59000000 0x0 0x1000000>;
> > +		ranges;
> > +	};
> > +
> > +	dma_subsys: dma at 5a000000 {
> 
> bus at ...
> 
> > +		compatible = "simple-bus";
> > +		#address-cells = <2>;
> > +		#size-cells = <2>;
> 
> Really need 64-bits of size?
> 

Just used to align with child nodes. Any better suggestion?

> > +		reg = <0x0 0x5a000000 0x0 0x1000000>;
> 
> If you have registers for the bus, then it is not a simple-bus (or at
> least should have a more specific compatible in addition).
> 

It could be removed.  It's just subsystem address space range.

> > +		ranges;
> 
> A non-empty ranges is preferred to limit the address space of the bus.
> 

Got it.

> > +
> > +		dma_lpuart0: serial at 5a060000 {
> > +			compatible = "fsl,imx7ulp-lpuart";
> > +			reg = <0x0 0x5a060000 0x0 0x1000>;
> > +			interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
> > +			interrupt-parent = <&gic>;
> > +			clocks = <&clk IMX8QXP_UART0_CLK>;
> > +			clock-names = "ipg";
> > +			status = "disabled";
> > +		};
> > +
> > +		dma_i2c0: i2c at 5a800000 {
> > +			compatible = "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c";
> > +			reg = <0x0 0x5a800000 0x0 0x4000>;
> > +			interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
> > +			interrupt-parent = <&gic>;
> > +			clocks = <&clk IMX8QXP_I2C0_CLK>;
> > +			clock-names = "per";
> > +			assigned-clocks = <&clk IMX8QXP_I2C0_CLK>;
> > +			assigned-clock-rates = <24000000>;
> > +			power-domains = <&pd_dma_lpi2c0>;
> 
> What does the power-domain control exactly? An I2C controller isn't big
> enough to have power gates and you already have clocks defined here, so
> what else is there?
> 

On MX8, Every IP module reside in a subsystem has a power domain.
IP module simply power on/off domains according to requirements,
and SCU firmware will check and may do extra power off of the whole
subsystem if no child using it. So each modules has to operate it properly.

> > +			status = "disabled";
> > +		};
> > +
> > +		dma_i2c1: i2c at 5a810000 {
> > +			compatible = "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c";
> > +			reg = <0x0 0x5a810000 0x0 0x4000>;
> > +			interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
> > +			interrupt-parent = <&gic>;
> > +			clocks = <&clk IMX8QXP_I2C1_CLK>;
> > +			clock-names = "per";
> > +			assigned-clocks = <&clk IMX8QXP_I2C1_CLK>;
> > +			assigned-clock-rates = <24000000>;
> > +			status = "disabled";
> > +		};
> > +
> > +		dma_i2c2: i2c at 5a820000 {
> > +			compatible = "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c";
> > +			reg = <0x0 0x5a820000 0x0 0x4000>;
> > +			interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
> > +			interrupt-parent = <&gic>;
> > +			clocks = <&clk IMX8QXP_I2C2_CLK>;
> > +			clock-names = "per";
> > +			assigned-clocks = <&clk IMX8QXP_I2C2_CLK>;
> > +			assigned-clock-rates = <24000000>;
> > +			power-domains = <&pd_dma_lpi2c2>;
> > +			status = "disabled";
> > +		};
> > +
> > +		dma_i2c3: i2c at 5a830000 {
> > +			compatible = "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c";
> > +			reg = <0x0 0x5a830000 0x0 0x4000>;
> > +			interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
> > +			interrupt-parent = <&gic>;
> > +			clocks = <&clk IMX8QXP_I2C3_CLK>;
> > +			clock-names = "per";
> > +			assigned-clocks = <&clk IMX8QXP_I2C3_CLK>;
> > +			assigned-clock-rates = <24000000>;
> > +			power-domains = <&pd_dma_lpi2c3>;
> > +			status = "disabled";
> > +		};
> > +	};
> > +
> > +	conn_subsys: conn at 5b000000 {
> 
> bus at ...
> 
> > +		compatible = "simple-bus";
> > +		#address-cells = <2>;
> > +		#size-cells = <2>;
> > +		reg = <0x0 0x5b000000 0x0 0x1000000>;
> > +		ranges;
> 
> Same comments here.
> 
> > +
> > +		usdhc1: usdhc at 5b010000 {
> 
> mmc at ...
> 

Got it

> > +			compatible = "fsl,imx7d-usdhc";
> > +			interrupt-parent = <&gic>;
> > +			interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_HIGH>;
> > +			reg = <0x0 0x5b010000 0x0 0x10000>;
> 
> Really have 64KB of registers?
> 

The real IP register address does not have 64KB. It's just IP slot address space
Defined in RM. Need change it according to real address range?

Regards
Dong Aisheng

> > +			clocks = <&clk IMX8QXP_SDHC0_IPG_CLK>,
> > +				 <&clk IMX8QXP_SDHC0_CLK>,
> > +				 <&clk IMX8QXP_CLK_DUMMY>;
> > +			clock-names = "ipg", "per", "ahb";
> > +			assigned-clocks = <&clk IMX8QXP_SDHC0_DIV>;
> > +			assigned-clock-rates = <200000000>;
> > +			power-domains = <&pd_conn_sdhc0>;
> > +			status = "disabled";
> > +		};
> > +
> > +		usdhc2: usdhc at 5b020000 {
> > +			compatible = "fsl,imx7d-usdhc";
> > +			interrupt-parent = <&gic>;
> > +			interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH>;
> > +			reg = <0x0 0x5b020000 0x0 0x10000>;
> > +			clocks = <&clk IMX8QXP_SDHC1_IPG_CLK>,
> > +				 <&clk IMX8QXP_SDHC1_CLK>,
> > +				 <&clk IMX8QXP_CLK_DUMMY>;
> > +			clock-names = "ipg", "per", "ahb";
> > +			assigned-clocks = <&clk IMX8QXP_SDHC1_DIV>;
> > +			assigned-clock-rates = <200000000>;
> > +			power-domains = <&pd_conn_sdhc1>;
> > +			fsl,tuning-start-tap = <20>;
> > +			fsl,tuning-step= <2>;
> > +			status = "disabled";
> > +		};
> > +
> > +		usdhc3: usdhc at 5b030000 {
> > +			compatible = "fsl,imx7d-usdhc";
> > +			interrupt-parent = <&gic>;
> > +			interrupts = <GIC_SPI 234 IRQ_TYPE_LEVEL_HIGH>;
> > +			reg = <0x0 0x5b030000 0x0 0x10000>;
> > +			clocks = <&clk IMX8QXP_SDHC2_IPG_CLK>,
> > +				 <&clk IMX8QXP_SDHC2_CLK>,
> > +				 <&clk IMX8QXP_CLK_DUMMY>;
> > +			clock-names = "ipg", "per", "ahb";
> > +			assigned-clocks = <&clk IMX8QXP_SDHC2_DIV>;
> > +			assigned-clock-rates = <200000000>;
> > +			power-domains = <&pd_conn_sdhc2>;
> > +			status = "disabled";
> > +		};
> > +
> > +		fec1: ethernet at 5b040000 {
> > +			compatible = "fsl,imx6sx-fec";
> > +			reg = <0x0 0x5b040000 0x0 0x10000>;
> > +			interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>,
> > +					<GIC_SPI 256
> IRQ_TYPE_LEVEL_HIGH>,
> > +					<GIC_SPI 257
> IRQ_TYPE_LEVEL_HIGH>,
> > +					<GIC_SPI 259
> IRQ_TYPE_LEVEL_HIGH>;
> > +			clocks = <&clk IMX8QXP_ENET0_IPG_CLK>, <&clk
> IMX8QXP_ENET0_AHB_CLK>, <&clk IMX8QXP_ENET0_TX_CLK>,
> > +				<&clk IMX8QXP_ENET0_PTP_CLK>;
> > +			clock-names = "ipg", "ahb", "enet_clk_ref", "ptp";
> > +			assigned-clocks = <&clk IMX8QXP_ENET0_REF_DIV>,
> <&clk IMX8QXP_ENET0_PTP_CLK>;
> > +			assigned-clock-rates = <125000000>, <125000000>;
> > +			fsl,num-tx-queues=<3>;
> > +			fsl,num-rx-queues=<3>;
> > +			power-domains = <&pd_conn_enet0>;
> > +			status = "disabled";
> > +		};
> > +
> > +		fec2: ethernet at 5b050000 {
> > +			compatible = "fsl,imx8qxp-fec";
> > +			reg = <0x0 0x5b050000 0x0 0x10000>;
> > +			interrupts = <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
> > +					<GIC_SPI 260
> IRQ_TYPE_LEVEL_HIGH>,
> > +					<GIC_SPI 261
> IRQ_TYPE_LEVEL_HIGH>,
> > +					<GIC_SPI 263
> IRQ_TYPE_LEVEL_HIGH>;
> > +			clocks = <&clk IMX8QXP_ENET1_IPG_CLK>, <&clk
> IMX8QXP_ENET1_AHB_CLK>, <&clk IMX8QXP_ENET1_TX_CLK>,
> > +				<&clk IMX8QXP_ENET1_PTP_CLK>;
> > +			clock-names = "ipg", "ahb", "enet_clk_ref", "ptp";
> > +			assigned-clocks = <&clk IMX8QXP_ENET1_REF_DIV>,
> <&clk IMX8QXP_ENET1_PTP_CLK>;
> > +			assigned-clock-rates = <125000000>, <125000000>;
> > +			fsl,num-tx-queues=<3>;
> > +			fsl,num-rx-queues=<3>;
> > +			power-domains = <&pd_conn_enet1>;
> > +			status = "disabled";
> > +		};
> > +	};
> > +
> > +	db_subsys: db at 5c000000 {
> > +		compatible = "simple-bus";
> > +		#address-cells = <2>;
> > +		#size-cells = <2>;
> > +		reg = <0x0 0x5c000000 0x0 0x1000000>;
> > +		ranges;
> > +
> > +		ddr_pmu0: ddr_pmu at 5c020000 {
> > +			compatible = "fsl,imx8-ddr-pmu";
> > +			reg = <0x0 0x5c020000 0x0 0x10000>;
> > +		};
> > +	};
> > +
> > +	lsio_subsys: lsio at 5d000000 {
> > +		compatible = "simple-bus";
> > +		#address-cells = <2>;
> > +		#size-cells = <2>;
> > +		reg = <0x0 0x5d000000 0x0 0x1000000>;
> > +		ranges;
> > +
> > +		lsio_mu0: mu at 5d1b0000 {
> > +			compatible = "fsl,imx8qxp-mu", "fsl,imx6sx-mu";
> > +			reg = <0x0 0x5d1b0000 0x0 0x10000>;
> > +			interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
> > +		};
> > +
> > +		lsio_gpio0: gpio at 5d080000 {
> > +			compatible = "fsl,imx8qxp-gpio", "fsl,imx35-gpio";
> > +			reg = <0x0 0x5d080000 0x0 0x10000>;
> > +			interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
> > +			gpio-controller;
> > +			#gpio-cells = <2>;
> > +			interrupt-controller;
> > +			#interrupt-cells = <2>;
> > +		};
> > +
> > +		lsio_gpio1: gpio at 5d090000 {
> > +			compatible = "fsl,imx8qxp-gpio", "fsl,imx35-gpio";
> > +			reg = <0x0 0x5d090000 0x0 0x10000>;
> > +			interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
> > +			gpio-controller;
> > +			#gpio-cells = <2>;
> > +			interrupt-controller;
> > +			#interrupt-cells = <2>;
> > +		};
> > +
> > +		lsio_gpio2: gpio at 5d0a0000 {
> > +			compatible = "fsl,imx8qxp-gpio", "fsl,imx35-gpio";
> > +			reg = <0x0 0x5d0a0000 0x0 0x10000>;
> > +			interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
> > +			gpio-controller;
> > +			#gpio-cells = <2>;
> > +			interrupt-controller;
> > +			#interrupt-cells = <2>;
> > +		};
> > +
> > +		lsio_gpio3: gpio at 5d0b0000 {
> > +			compatible = "fsl,imx8qxp-gpio", "fsl,imx35-gpio";
> > +			reg = <0x0 0x5d0b0000 0x0 0x10000>;
> > +			interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
> > +			gpio-controller;
> > +			#gpio-cells = <2>;
> > +			interrupt-controller;
> > +			#interrupt-cells = <2>;
> > +		};
> > +
> > +		lsio_gpio4: gpio at 5d0c0000 {
> > +			compatible = "fsl,imx8qxp-gpio", "fsl,imx35-gpio";
> > +			reg = <0x0 0x5d0c0000 0x0 0x10000>;
> > +			interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
> > +			gpio-controller;
> > +			#gpio-cells = <2>;
> > +			interrupt-controller;
> > +			#interrupt-cells = <2>;
> > +		};
> > +
> > +		lsio_gpio5: gpio at 5d0d0000 {
> > +			compatible = "fsl,imx8qxp-gpio", "fsl,imx35-gpio";
> > +			reg = <0x0 0x5d0d0000 0x0 0x10000>;
> > +			interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
> > +			gpio-controller;
> > +			#gpio-cells = <2>;
> > +			interrupt-controller;
> > +			#interrupt-cells = <2>;
> > +		};
> > +
> > +		lsio_gpio6: gpio at 5d0e0000 {
> > +			compatible = "fsl,imx8qxp-gpio", "fsl,imx35-gpio";
> > +			reg = <0x0 0x5d0e0000 0x0 0x10000>;
> > +			interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
> > +			gpio-controller;
> > +			#gpio-cells = <2>;
> > +			interrupt-controller;
> > +			#interrupt-cells = <2>;
> > +		};
> > +
> > +		lsio_gpio7: gpio at 5d0f0000 {
> > +			compatible = "fsl,imx8qxp-gpio", "fsl,imx35-gpio";
> > +			reg = <0x0 0x5d0f0000 0x0 0x10000>;
> > +			interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
> > +			gpio-controller;
> > +			#gpio-cells = <2>;
> > +			interrupt-controller;
> > +			#interrupt-cells = <2>;
> > +		};
> > +	};
> > +
> > +	hsio_subsys: hsio at 5f000000 {
> > +		compatible = "simple-bus";
> > +		#address-cells = <2>;
> > +		#size-cells = <2>;
> > +		reg = <0x0 0x5f000000 0x0 0x1000000>;
> > +		ranges;
> > +	};
> > +
> > +};
> > diff --git a/include/dt-bindings/power/imx-rsrc.h b/include/dt-
> bindings/power/imx-rsrc.h
> > new file mode 100644
> > index 0000000..b4d0980
> > --- /dev/null
> > +++ b/include/dt-bindings/power/imx-rsrc.h
> > @@ -0,0 +1,558 @@
> > +/* SPDX-License-Identifier: GPL-2.0+ */
> > +/*
> > + * Copyright (C) 2016 Freescale Semiconductor, Inc.
> > + * Copyright 2017~2018 NXP
> > + */
> > +
> > +#ifndef __DT_BINDINGS_RSCRC_IMX_H
> > +#define __DT_BINDINGS_RSCRC_IMX_H
> > +
> > +/*
> > + * These defines are used to indicate a resource. Resources include
> peripherals
> > + * and bus masters (but not memory regions). Note items from list should
> > + * never be changed or removed (only added to at the end of the list).
> > + */
> > +#define SC_R_A53                        0
> > +#define SC_R_A53_0                      1
> > +#define SC_R_A53_1                      2
> > +#define SC_R_A53_2                      3
> > +#define SC_R_A53_3                      4
> > +#define SC_R_A72                        5
> > +#define SC_R_A72_0                      6
> > +#define SC_R_A72_1                      7
> > +#define SC_R_A72_2                      8
> > +#define SC_R_A72_3                      9
> > +#define SC_R_CCI                        10
> > +#define SC_R_DB                         11
> > +#define SC_R_DRC_0                      12
> > +#define SC_R_DRC_1                      13
> > +#define SC_R_GIC_SMMU                   14
> > +#define SC_R_IRQSTR_M4_0                15
> > +#define SC_R_IRQSTR_M4_1                16
> > +#define SC_R_SMMU                       17
> > +#define SC_R_GIC                        18
> > +#define SC_R_DC_0_BLIT0                 19
> > +#define SC_R_DC_0_BLIT1                 20
> > +#define SC_R_DC_0_BLIT2                 21
> > +#define SC_R_DC_0_BLIT_OUT              22
> > +#define SC_R_DC_0_CAPTURE0              23
> > +#define SC_R_DC_0_CAPTURE1              24
> > +#define SC_R_DC_0_WARP                  25
> > +#define SC_R_DC_0_INTEGRAL0             26
> > +#define SC_R_DC_0_INTEGRAL1             27
> > +#define SC_R_DC_0_VIDEO0                28
> > +#define SC_R_DC_0_VIDEO1                29
> > +#define SC_R_DC_0_FRAC0                 30
> > +#define SC_R_DC_0_FRAC1                 31
> > +#define SC_R_DC_0                       32
> > +#define SC_R_GPU_2_PID0                 33
> > +#define SC_R_DC_0_PLL_0                 34
> > +#define SC_R_DC_0_PLL_1                 35
> > +#define SC_R_DC_1_BLIT0                 36
> > +#define SC_R_DC_1_BLIT1                 37
> > +#define SC_R_DC_1_BLIT2                 38
> > +#define SC_R_DC_1_BLIT_OUT              39
> > +#define SC_R_DC_1_CAPTURE0              40
> > +#define SC_R_DC_1_CAPTURE1              41
> > +#define SC_R_DC_1_WARP                  42
> > +#define SC_R_DC_1_INTEGRAL0             43
> > +#define SC_R_DC_1_INTEGRAL1             44
> > +#define SC_R_DC_1_VIDEO0                45
> > +#define SC_R_DC_1_VIDEO1                46
> > +#define SC_R_DC_1_FRAC0                 47
> > +#define SC_R_DC_1_FRAC1                 48
> > +#define SC_R_DC_1                       49
> > +#define SC_R_GPU_3_PID0                 50
> > +#define SC_R_DC_1_PLL_0                 51
> > +#define SC_R_DC_1_PLL_1                 52
> > +#define SC_R_SPI_0                      53
> > +#define SC_R_SPI_1                      54
> > +#define SC_R_SPI_2                      55
> > +#define SC_R_SPI_3                      56
> > +#define SC_R_UART_0                     57
> > +#define SC_R_UART_1                     58
> > +#define SC_R_UART_2                     59
> > +#define SC_R_UART_3                     60
> > +#define SC_R_UART_4                     61
> > +#define SC_R_EMVSIM_0                   62
> > +#define SC_R_EMVSIM_1                   63
> > +#define SC_R_DMA_0_CH0                  64
> > +#define SC_R_DMA_0_CH1                  65
> > +#define SC_R_DMA_0_CH2                  66
> > +#define SC_R_DMA_0_CH3                  67
> > +#define SC_R_DMA_0_CH4                  68
> > +#define SC_R_DMA_0_CH5                  69
> > +#define SC_R_DMA_0_CH6                  70
> > +#define SC_R_DMA_0_CH7                  71
> > +#define SC_R_DMA_0_CH8                  72
> > +#define SC_R_DMA_0_CH9                  73
> > +#define SC_R_DMA_0_CH10                 74
> > +#define SC_R_DMA_0_CH11                 75
> > +#define SC_R_DMA_0_CH12                 76
> > +#define SC_R_DMA_0_CH13                 77
> > +#define SC_R_DMA_0_CH14                 78
> > +#define SC_R_DMA_0_CH15                 79
> > +#define SC_R_DMA_0_CH16                 80
> > +#define SC_R_DMA_0_CH17                 81
> > +#define SC_R_DMA_0_CH18                 82
> > +#define SC_R_DMA_0_CH19                 83
> > +#define SC_R_DMA_0_CH20                 84
> > +#define SC_R_DMA_0_CH21                 85
> > +#define SC_R_DMA_0_CH22                 86
> > +#define SC_R_DMA_0_CH23                 87
> > +#define SC_R_DMA_0_CH24                 88
> > +#define SC_R_DMA_0_CH25                 89
> > +#define SC_R_DMA_0_CH26                 90
> > +#define SC_R_DMA_0_CH27                 91
> > +#define SC_R_DMA_0_CH28                 92
> > +#define SC_R_DMA_0_CH29                 93
> > +#define SC_R_DMA_0_CH30                 94
> > +#define SC_R_DMA_0_CH31                 95
> > +#define SC_R_I2C_0                      96
> > +#define SC_R_I2C_1                      97
> > +#define SC_R_I2C_2                      98
> > +#define SC_R_I2C_3                      99
> > +#define SC_R_I2C_4                      100
> > +#define SC_R_ADC_0                      101
> > +#define SC_R_ADC_1                      102
> > +#define SC_R_FTM_0                      103
> > +#define SC_R_FTM_1                      104
> > +#define SC_R_CAN_0                      105
> > +#define SC_R_CAN_1                      106
> > +#define SC_R_CAN_2                      107
> > +#define SC_R_DMA_1_CH0                  108
> > +#define SC_R_DMA_1_CH1                  109
> > +#define SC_R_DMA_1_CH2                  110
> > +#define SC_R_DMA_1_CH3                  111
> > +#define SC_R_DMA_1_CH4                  112
> > +#define SC_R_DMA_1_CH5                  113
> > +#define SC_R_DMA_1_CH6                  114
> > +#define SC_R_DMA_1_CH7                  115
> > +#define SC_R_DMA_1_CH8                  116
> > +#define SC_R_DMA_1_CH9                  117
> > +#define SC_R_DMA_1_CH10                 118
> > +#define SC_R_DMA_1_CH11                 119
> > +#define SC_R_DMA_1_CH12                 120
> > +#define SC_R_DMA_1_CH13                 121
> > +#define SC_R_DMA_1_CH14                 122
> > +#define SC_R_DMA_1_CH15                 123
> > +#define SC_R_DMA_1_CH16                 124
> > +#define SC_R_DMA_1_CH17                 125
> > +#define SC_R_DMA_1_CH18                 126
> > +#define SC_R_DMA_1_CH19                 127
> > +#define SC_R_DMA_1_CH20                 128
> > +#define SC_R_DMA_1_CH21                 129
> > +#define SC_R_DMA_1_CH22                 130
> > +#define SC_R_DMA_1_CH23                 131
> > +#define SC_R_DMA_1_CH24                 132
> > +#define SC_R_DMA_1_CH25                 133
> > +#define SC_R_DMA_1_CH26                 134
> > +#define SC_R_DMA_1_CH27                 135
> > +#define SC_R_DMA_1_CH28                 136
> > +#define SC_R_DMA_1_CH29                 137
> > +#define SC_R_DMA_1_CH30                 138
> > +#define SC_R_DMA_1_CH31                 139
> > +#define SC_R_UNUSED1                    140
> > +#define SC_R_UNUSED2                    141
> > +#define SC_R_UNUSED3                    142
> > +#define SC_R_UNUSED4                    143
> > +#define SC_R_GPU_0_PID0                 144
> > +#define SC_R_GPU_0_PID1                 145
> > +#define SC_R_GPU_0_PID2                 146
> > +#define SC_R_GPU_0_PID3                 147
> > +#define SC_R_GPU_1_PID0                 148
> > +#define SC_R_GPU_1_PID1                 149
> > +#define SC_R_GPU_1_PID2                 150
> > +#define SC_R_GPU_1_PID3                 151
> > +#define SC_R_PCIE_A                     152
> > +#define SC_R_SERDES_0                   153
> > +#define SC_R_MATCH_0                    154
> > +#define SC_R_MATCH_1                    155
> > +#define SC_R_MATCH_2                    156
> > +#define SC_R_MATCH_3                    157
> > +#define SC_R_MATCH_4                    158
> > +#define SC_R_MATCH_5                    159
> > +#define SC_R_MATCH_6                    160
> > +#define SC_R_MATCH_7                    161
> > +#define SC_R_MATCH_8                    162
> > +#define SC_R_MATCH_9                    163
> > +#define SC_R_MATCH_10                   164
> > +#define SC_R_MATCH_11                   165
> > +#define SC_R_MATCH_12                   166
> > +#define SC_R_MATCH_13                   167
> > +#define SC_R_MATCH_14                   168
> > +#define SC_R_PCIE_B                     169
> > +#define SC_R_SATA_0                     170
> > +#define SC_R_SERDES_1                   171
> > +#define SC_R_HSIO_GPIO                  172
> > +#define SC_R_MATCH_15                   173
> > +#define SC_R_MATCH_16                   174
> > +#define SC_R_MATCH_17                   175
> > +#define SC_R_MATCH_18                   176
> > +#define SC_R_MATCH_19                   177
> > +#define SC_R_MATCH_20                   178
> > +#define SC_R_MATCH_21                   179
> > +#define SC_R_MATCH_22                   180
> > +#define SC_R_MATCH_23                   181
> > +#define SC_R_MATCH_24                   182
> > +#define SC_R_MATCH_25                   183
> > +#define SC_R_MATCH_26                   184
> > +#define SC_R_MATCH_27                   185
> > +#define SC_R_MATCH_28                   186
> > +#define SC_R_LCD_0                      187
> > +#define SC_R_LCD_0_PWM_0                188
> > +#define SC_R_LCD_0_I2C_0                189
> > +#define SC_R_LCD_0_I2C_1                190
> > +#define SC_R_PWM_0                      191
> > +#define SC_R_PWM_1                      192
> > +#define SC_R_PWM_2                      193
> > +#define SC_R_PWM_3                      194
> > +#define SC_R_PWM_4                      195
> > +#define SC_R_PWM_5                      196
> > +#define SC_R_PWM_6                      197
> > +#define SC_R_PWM_7                      198
> > +#define SC_R_GPIO_0                     199
> > +#define SC_R_GPIO_1                     200
> > +#define SC_R_GPIO_2                     201
> > +#define SC_R_GPIO_3                     202
> > +#define SC_R_GPIO_4                     203
> > +#define SC_R_GPIO_5                     204
> > +#define SC_R_GPIO_6                     205
> > +#define SC_R_GPIO_7                     206
> > +#define SC_R_GPT_0                      207
> > +#define SC_R_GPT_1                      208
> > +#define SC_R_GPT_2                      209
> > +#define SC_R_GPT_3                      210
> > +#define SC_R_GPT_4                      211
> > +#define SC_R_KPP                        212
> > +#define SC_R_MU_0A                      213
> > +#define SC_R_MU_1A                      214
> > +#define SC_R_MU_2A                      215
> > +#define SC_R_MU_3A                      216
> > +#define SC_R_MU_4A                      217
> > +#define SC_R_MU_5A                      218
> > +#define SC_R_MU_6A                      219
> > +#define SC_R_MU_7A                      220
> > +#define SC_R_MU_8A                      221
> > +#define SC_R_MU_9A                      222
> > +#define SC_R_MU_10A                     223
> > +#define SC_R_MU_11A                     224
> > +#define SC_R_MU_12A                     225
> > +#define SC_R_MU_13A                     226
> > +#define SC_R_MU_5B                      227
> > +#define SC_R_MU_6B                      228
> > +#define SC_R_MU_7B                      229
> > +#define SC_R_MU_8B                      230
> > +#define SC_R_MU_9B                      231
> > +#define SC_R_MU_10B                     232
> > +#define SC_R_MU_11B                     233
> > +#define SC_R_MU_12B                     234
> > +#define SC_R_MU_13B                     235
> > +#define SC_R_ROM_0                      236
> > +#define SC_R_FSPI_0                     237
> > +#define SC_R_FSPI_1                     238
> > +#define SC_R_IEE                        239
> > +#define SC_R_IEE_R0                     240
> > +#define SC_R_IEE_R1                     241
> > +#define SC_R_IEE_R2                     242
> > +#define SC_R_IEE_R3                     243
> > +#define SC_R_IEE_R4                     244
> > +#define SC_R_IEE_R5                     245
> > +#define SC_R_IEE_R6                     246
> > +#define SC_R_IEE_R7                     247
> > +#define SC_R_SDHC_0                     248
> > +#define SC_R_SDHC_1                     249
> > +#define SC_R_SDHC_2                     250
> > +#define SC_R_ENET_0                     251
> > +#define SC_R_ENET_1                     252
> > +#define SC_R_MLB_0                      253
> > +#define SC_R_DMA_2_CH0                  254
> > +#define SC_R_DMA_2_CH1                  255
> > +#define SC_R_DMA_2_CH2                  256
> > +#define SC_R_DMA_2_CH3                  257
> > +#define SC_R_DMA_2_CH4                  258
> > +#define SC_R_USB_0                      259
> > +#define SC_R_USB_1                      260
> > +#define SC_R_USB_0_PHY                  261
> > +#define SC_R_USB_2                      262
> > +#define SC_R_USB_2_PHY                  263
> > +#define SC_R_DTCP                       264
> > +#define SC_R_NAND                       265
> > +#define SC_R_LVDS_0                     266
> > +#define SC_R_LVDS_0_PWM_0               267
> > +#define SC_R_LVDS_0_I2C_0               268
> > +#define SC_R_LVDS_0_I2C_1               269
> > +#define SC_R_LVDS_1                     270
> > +#define SC_R_LVDS_1_PWM_0               271
> > +#define SC_R_LVDS_1_I2C_0               272
> > +#define SC_R_LVDS_1_I2C_1               273
> > +#define SC_R_LVDS_2                     274
> > +#define SC_R_LVDS_2_PWM_0               275
> > +#define SC_R_LVDS_2_I2C_0               276
> > +#define SC_R_LVDS_2_I2C_1               277
> > +#define SC_R_M4_0_PID0                  278
> > +#define SC_R_M4_0_PID1                  279
> > +#define SC_R_M4_0_PID2                  280
> > +#define SC_R_M4_0_PID3                  281
> > +#define SC_R_M4_0_PID4                  282
> > +#define SC_R_M4_0_RGPIO                 283
> > +#define SC_R_M4_0_SEMA42                284
> > +#define SC_R_M4_0_TPM                   285
> > +#define SC_R_M4_0_PIT                   286
> > +#define SC_R_M4_0_UART                  287
> > +#define SC_R_M4_0_I2C                   288
> > +#define SC_R_M4_0_INTMUX                289
> > +#define SC_R_M4_0_SIM                   290
> > +#define SC_R_M4_0_WDOG                  291
> > +#define SC_R_M4_0_MU_0B                 292
> > +#define SC_R_M4_0_MU_0A0                293
> > +#define SC_R_M4_0_MU_0A1                294
> > +#define SC_R_M4_0_MU_0A2                295
> > +#define SC_R_M4_0_MU_0A3                296
> > +#define SC_R_M4_0_MU_1A                 297
> > +#define SC_R_M4_1_PID0                  298
> > +#define SC_R_M4_1_PID1                  299
> > +#define SC_R_M4_1_PID2                  300
> > +#define SC_R_M4_1_PID3                  301
> > +#define SC_R_M4_1_PID4                  302
> > +#define SC_R_M4_1_RGPIO                 303
> > +#define SC_R_M4_1_SEMA42                304
> > +#define SC_R_M4_1_TPM                   305
> > +#define SC_R_M4_1_PIT                   306
> > +#define SC_R_M4_1_UART                  307
> > +#define SC_R_M4_1_I2C                   308
> > +#define SC_R_M4_1_INTMUX                309
> > +#define SC_R_M4_1_SIM                   310
> > +#define SC_R_M4_1_WDOG                  311
> > +#define SC_R_M4_1_MU_0B                 312
> > +#define SC_R_M4_1_MU_0A0                313
> > +#define SC_R_M4_1_MU_0A1                314
> > +#define SC_R_M4_1_MU_0A2                315
> > +#define SC_R_M4_1_MU_0A3                316
> > +#define SC_R_M4_1_MU_1A                 317
> > +#define SC_R_SAI_0                      318
> > +#define SC_R_SAI_1                      319
> > +#define SC_R_SAI_2                      320
> > +#define SC_R_IRQSTR_SCU2                321
> > +#define SC_R_IRQSTR_DSP                 322
> > +#define SC_R_UNUSED5                    323
> > +#define SC_R_UNUSED6                    324
> > +#define SC_R_AUDIO_PLL_0                325
> > +#define SC_R_PI_0                       326
> > +#define SC_R_PI_0_PWM_0                 327
> > +#define SC_R_PI_0_PWM_1                 328
> > +#define SC_R_PI_0_I2C_0                 329
> > +#define SC_R_PI_0_PLL                   330
> > +#define SC_R_PI_1                       331
> > +#define SC_R_PI_1_PWM_0                 332
> > +#define SC_R_PI_1_PWM_1                 333
> > +#define SC_R_PI_1_I2C_0                 334
> > +#define SC_R_PI_1_PLL                   335
> > +#define SC_R_SC_PID0                    336
> > +#define SC_R_SC_PID1                    337
> > +#define SC_R_SC_PID2                    338
> > +#define SC_R_SC_PID3                    339
> > +#define SC_R_SC_PID4                    340
> > +#define SC_R_SC_SEMA42                  341
> > +#define SC_R_SC_TPM                     342
> > +#define SC_R_SC_PIT                     343
> > +#define SC_R_SC_UART                    344
> > +#define SC_R_SC_I2C                     345
> > +#define SC_R_SC_MU_0B                   346
> > +#define SC_R_SC_MU_0A0                  347
> > +#define SC_R_SC_MU_0A1                  348
> > +#define SC_R_SC_MU_0A2                  349
> > +#define SC_R_SC_MU_0A3                  350
> > +#define SC_R_SC_MU_1A                   351
> > +#define SC_R_SYSCNT_RD                  352
> > +#define SC_R_SYSCNT_CMP                 353
> > +#define SC_R_DEBUG                      354
> > +#define SC_R_SYSTEM                     355
> > +#define SC_R_SNVS                       356
> > +#define SC_R_OTP                        357
> > +#define SC_R_VPU_PID0                   358
> > +#define SC_R_VPU_PID1                   359
> > +#define SC_R_VPU_PID2                   360
> > +#define SC_R_VPU_PID3                   361
> > +#define SC_R_VPU_PID4                   362
> > +#define SC_R_VPU_PID5                   363
> > +#define SC_R_VPU_PID6                   364
> > +#define SC_R_VPU_PID7                   365
> > +#define SC_R_VPU_UART                   366
> > +#define SC_R_VPUCORE                    367
> > +#define SC_R_VPUCORE_0                  368
> > +#define SC_R_VPUCORE_1                  369
> > +#define SC_R_VPUCORE_2                  370
> > +#define SC_R_VPUCORE_3                  371
> > +#define SC_R_DMA_4_CH0                  372
> > +#define SC_R_DMA_4_CH1                  373
> > +#define SC_R_DMA_4_CH2                  374
> > +#define SC_R_DMA_4_CH3                  375
> > +#define SC_R_DMA_4_CH4                  376
> > +#define SC_R_ISI_CH0                    377
> > +#define SC_R_ISI_CH1                    378
> > +#define SC_R_ISI_CH2                    379
> > +#define SC_R_ISI_CH3                    380
> > +#define SC_R_ISI_CH4                    381
> > +#define SC_R_ISI_CH5                    382
> > +#define SC_R_ISI_CH6                    383
> > +#define SC_R_ISI_CH7                    384
> > +#define SC_R_MJPEG_DEC_S0               385
> > +#define SC_R_MJPEG_DEC_S1               386
> > +#define SC_R_MJPEG_DEC_S2               387
> > +#define SC_R_MJPEG_DEC_S3               388
> > +#define SC_R_MJPEG_ENC_S0               389
> > +#define SC_R_MJPEG_ENC_S1               390
> > +#define SC_R_MJPEG_ENC_S2               391
> > +#define SC_R_MJPEG_ENC_S3               392
> > +#define SC_R_MIPI_0                     393
> > +#define SC_R_MIPI_0_PWM_0               394
> > +#define SC_R_MIPI_0_I2C_0               395
> > +#define SC_R_MIPI_0_I2C_1               396
> > +#define SC_R_MIPI_1                     397
> > +#define SC_R_MIPI_1_PWM_0               398
> > +#define SC_R_MIPI_1_I2C_0               399
> > +#define SC_R_MIPI_1_I2C_1               400
> > +#define SC_R_CSI_0                      401
> > +#define SC_R_CSI_0_PWM_0                402
> > +#define SC_R_CSI_0_I2C_0                403
> > +#define SC_R_CSI_1                      404
> > +#define SC_R_CSI_1_PWM_0                405
> > +#define SC_R_CSI_1_I2C_0                406
> > +#define SC_R_HDMI                       407
> > +#define SC_R_HDMI_I2S                   408
> > +#define SC_R_HDMI_I2C_0                 409
> > +#define SC_R_HDMI_PLL_0                 410
> > +#define SC_R_HDMI_RX                    411
> > +#define SC_R_HDMI_RX_BYPASS             412
> > +#define SC_R_HDMI_RX_I2C_0              413
> > +#define SC_R_ASRC_0                     414
> > +#define SC_R_ESAI_0                     415
> > +#define SC_R_SPDIF_0                    416
> > +#define SC_R_SPDIF_1                    417
> > +#define SC_R_SAI_3                      418
> > +#define SC_R_SAI_4                      419
> > +#define SC_R_SAI_5                      420
> > +#define SC_R_GPT_5                      421
> > +#define SC_R_GPT_6                      422
> > +#define SC_R_GPT_7                      423
> > +#define SC_R_GPT_8                      424
> > +#define SC_R_GPT_9                      425
> > +#define SC_R_GPT_10                     426
> > +#define SC_R_DMA_2_CH5                  427
> > +#define SC_R_DMA_2_CH6                  428
> > +#define SC_R_DMA_2_CH7                  429
> > +#define SC_R_DMA_2_CH8                  430
> > +#define SC_R_DMA_2_CH9                  431
> > +#define SC_R_DMA_2_CH10                 432
> > +#define SC_R_DMA_2_CH11                 433
> > +#define SC_R_DMA_2_CH12                 434
> > +#define SC_R_DMA_2_CH13                 435
> > +#define SC_R_DMA_2_CH14                 436
> > +#define SC_R_DMA_2_CH15                 437
> > +#define SC_R_DMA_2_CH16                 438
> > +#define SC_R_DMA_2_CH17                 439
> > +#define SC_R_DMA_2_CH18                 440
> > +#define SC_R_DMA_2_CH19                 441
> > +#define SC_R_DMA_2_CH20                 442
> > +#define SC_R_DMA_2_CH21                 443
> > +#define SC_R_DMA_2_CH22                 444
> > +#define SC_R_DMA_2_CH23                 445
> > +#define SC_R_DMA_2_CH24                 446
> > +#define SC_R_DMA_2_CH25                 447
> > +#define SC_R_DMA_2_CH26                 448
> > +#define SC_R_DMA_2_CH27                 449
> > +#define SC_R_DMA_2_CH28                 450
> > +#define SC_R_DMA_2_CH29                 451
> > +#define SC_R_DMA_2_CH30                 452
> > +#define SC_R_DMA_2_CH31                 453
> > +#define SC_R_ASRC_1                     454
> > +#define SC_R_ESAI_1                     455
> > +#define SC_R_SAI_6                      456
> > +#define SC_R_SAI_7                      457
> > +#define SC_R_AMIX                       458
> > +#define SC_R_MQS_0                      459
> > +#define SC_R_DMA_3_CH0                  460
> > +#define SC_R_DMA_3_CH1                  461
> > +#define SC_R_DMA_3_CH2                  462
> > +#define SC_R_DMA_3_CH3                  463
> > +#define SC_R_DMA_3_CH4                  464
> > +#define SC_R_DMA_3_CH5                  465
> > +#define SC_R_DMA_3_CH6                  466
> > +#define SC_R_DMA_3_CH7                  467
> > +#define SC_R_DMA_3_CH8                  468
> > +#define SC_R_DMA_3_CH9                  469
> > +#define SC_R_DMA_3_CH10                 470
> > +#define SC_R_DMA_3_CH11                 471
> > +#define SC_R_DMA_3_CH12                 472
> > +#define SC_R_DMA_3_CH13                 473
> > +#define SC_R_DMA_3_CH14                 474
> > +#define SC_R_DMA_3_CH15                 475
> > +#define SC_R_DMA_3_CH16                 476
> > +#define SC_R_DMA_3_CH17                 477
> > +#define SC_R_DMA_3_CH18                 478
> > +#define SC_R_DMA_3_CH19                 479
> > +#define SC_R_DMA_3_CH20                 480
> > +#define SC_R_DMA_3_CH21                 481
> > +#define SC_R_DMA_3_CH22                 482
> > +#define SC_R_DMA_3_CH23                 483
> > +#define SC_R_DMA_3_CH24                 484
> > +#define SC_R_DMA_3_CH25                 485
> > +#define SC_R_DMA_3_CH26                 486
> > +#define SC_R_DMA_3_CH27                 487
> > +#define SC_R_DMA_3_CH28                 488
> > +#define SC_R_DMA_3_CH29                 489
> > +#define SC_R_DMA_3_CH30                 490
> > +#define SC_R_DMA_3_CH31                 491
> > +#define SC_R_AUDIO_PLL_1                492
> > +#define SC_R_AUDIO_CLK_0                493
> > +#define SC_R_AUDIO_CLK_1                494
> > +#define SC_R_MCLK_OUT_0                 495
> > +#define SC_R_MCLK_OUT_1                 496
> > +#define SC_R_PMIC_0                     497
> > +#define SC_R_PMIC_1                     498
> > +#define SC_R_SECO                       499
> > +#define SC_R_CAAM_JR1                   500
> > +#define SC_R_CAAM_JR2                   501
> > +#define SC_R_CAAM_JR3                   502
> > +#define SC_R_SECO_MU_2                  503
> > +#define SC_R_SECO_MU_3                  504
> > +#define SC_R_SECO_MU_4                  505
> > +#define SC_R_HDMI_RX_PWM_0              506
> > +#define SC_R_A35                        507
> > +#define SC_R_A35_0                      508
> > +#define SC_R_A35_1                      509
> > +#define SC_R_A35_2                      510
> > +#define SC_R_A35_3                      511
> > +#define SC_R_DSP                        512
> > +#define SC_R_DSP_RAM                    513
> > +#define SC_R_CAAM_JR1_OUT               514
> > +#define SC_R_CAAM_JR2_OUT               515
> > +#define SC_R_CAAM_JR3_OUT               516
> > +#define SC_R_VPU_DEC_0                  517
> > +#define SC_R_VPU_ENC_0                  518
> > +#define SC_R_CAAM_JR0                   519
> > +#define SC_R_CAAM_JR0_OUT               520
> > +#define SC_R_PMIC_2                     521
> > +#define SC_R_DBLOGIC                    522
> > +#define SC_R_HDMI_PLL_1                 523
> > +#define SC_R_BOARD_R0                   524
> > +#define SC_R_BOARD_R1                   525
> > +#define SC_R_BOARD_R2                   526
> > +#define SC_R_BOARD_R3                   527
> > +#define SC_R_BOARD_R4                   528
> > +#define SC_R_BOARD_R5                   529
> > +#define SC_R_BOARD_R6                   530
> > +#define SC_R_BOARD_R7                   531
> > +#define SC_R_MJPEG_DEC_MP               532
> > +#define SC_R_MJPEG_ENC_MP               533
> > +#define SC_R_VPU_TS_0                   534
> > +#define SC_R_VPU_MU_0                   535
> > +#define SC_R_VPU_MU_1                   536
> > +#define SC_R_VPU_MU_2                   537
> > +#define SC_R_VPU_MU_3                   538
> > +#define SC_R_VPU_ENC_1                  539
> > +#define SC_R_VPU                        540
> > +#define SC_R_LAST                       541
> > +
> > +#endif /* __DT_BINDINGS_RSCRC_IMX_H */
> > --
> > 2.7.4
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe devicetree" in
> > the body of a message to majordomo at vger.kernel.org
> > More majordomo info at
> https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fvger
> .kernel.org%2Fmajordomo-
> info.html&data=02%7C01%7Caisheng.dong%40nxp.com%7C3cca739d17c14cf
> fc34c08d5af7be76b%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1%7C6
> 36607869058181126&sdata=AgpA2aSoPbriOKPM3qfRCeKrO7ck5CIgcQdESqx
> U8ms%3D&reserved=0



More information about the linux-arm-kernel mailing list