<devices>
	<!-- GPIO banks -->
	<device name="gpio1">
		<io_mem address="0x30200000" size="0x10000"/>
		<irq number="96"/>
		<irq number="97"/>
	</device>
	<device name="gpio2">
		<io_mem address="0x30210000" size="0x10000"/>
		<irq number="98"/>
		<irq number="99"/>
	</device>
	<device name="gpio3">
		<io_mem address="0x30220000" size="0x10000"/>
		<irq number="100"/>
		<irq number="101"/>
	</device>
	<device name="gpio4">
		<io_mem address="0x30230000" size="0x10000"/>
		<irq number="102"/>
		<irq number="103"/>
	</device>
	<device name="gpio5">
		<io_mem address="0x30240000" size="0x10000"/>
		<irq number="104"/>
		<irq number="105"/>
	</device>

	<device name="lcd" type="fsl,imx28-lcdif">
		<io_mem address="0x30320000" size="0x10000"/>
		<io_mem address="0x307f0000" size="0x3000"/>
		<irq    number="37"/>
		<clock name="lcdif_pixel_clk_root"
		       parent="video_pll1_clk"
		       rate="594000000"
		       driver_name="pix"/>
	</device>

	<device name="mipi_dsi" type="fsl,imx8mq-nwl-dsi">
		<io_mem       address="0x30a00000" size="0x1000"/>
		<irq          number="66"/>
		<power-domain name="mipi"/>
		<clock        name="mipi_dsi_phy_ref_clk_root"
		              driver_name="phy_ref"/>

		<clock        name="mipi_dsi_esc_rx_clk_root"
		              parent="system_pll1_div10"
		              rate="80000000"
		              driver_name="rx_esc"/>

		<clock        name="mipi_dsi_core_clk_root"
		              parent="system_pll1_div3"
		              rate="266000000"
		              driver_name="core"/>

		<clock        name="mipi_dsi_esc_clk_root"
		              rate="20000000"
		              driver_name="tx_esc"/>

		<clock        name="lcdif_pixel_clk_root"
		              driver_name="lcdif"/>
	</device>

	<device name="pclk" type="reset-pin,pclk">
		<reset-domain name="mipi_dsi_pclk"/>
	</device>

	<device name="esc" type="reset-pin,esc">
		<reset-domain name="mipi_dsi_esc"/>
		<reset-domain name="mipi_dsi_byte"/>
	</device>

	<device name="dpi" type="reset-pin,dpi">
		<reset-domain name="mipi_dsi_dpi"/>
	</device>

	<device name="mipi_dsi_phy" type="fsl,imx8mq-mipi-dphy">
		<clock name="video_pll1_clk"
		       parent="25m_ref_clk"
		       rate="1200000000" />
		<clock name="mipi_dsi_phy_ref_clk_root"
		       parent="video_pll1_clk"
		       rate="24000000"
		       driver_name="phy_ref"/>
	</device>

	<device name="dcss" type="nxp,imx8mq-dcss">
		<io_mem address="0x32e00000" size="0x2d000"/>
		<io_mem address="0x32e2f000" size="0x1000"/>
		<clock  name="display_apb_clk_root"
		        driver_name="apb"/>
		<clock  name="display_axi_clk_root"
		        parent="system_pll1_clk"
		        rate="800000000"
		        driver_name="axi"/>
		<clock  name="display_rtrm_clk_root"
		        parent="system_pll1_clk"
		        rate="400000000"
		        driver_name="rtrm"/>
		<clock  name="video_pll1_clk"
		        parent="25m_ref_clk"
		        rate="1200000000" />
		<clock  name="display_dtrc_clk_root"
		        driver_name="dtrc"/>
		<clock  name="dc_pixel_clk_root"
		        parent="video_pll1_clk"
		        rate="118800000"/>
		<clock  name="video_pll2_clk"
		        parent="hdmi_phy_27m_clk"
		        rate="148500000"
		        driver_name="pix"/>
		<clock  name="video_pll2_clk"
		        driver_name="pll_src"/>
		<clock  name="hdmi_phy_27m_clk"
		        driver_name="pll_phy_ref"/>
	</device>

	<device name="hdmi" type="cdn,imx8mq-hdmi">
		<io_mem address="0x32c00000" size="0x100000"/>
		<io_mem address="0x32e40000" size="0x40000"/>
		<irq    number="48"/>
		<irq    number="57"/>
	</device>

	<device name="irqsteer" type="fsl,imx-irqsteer">
		<io_mem address="0x32e2d000" size="0x1000"/>
		<irq    number="50" />
		<clock  name="display_apb_clk_root"
		        driver_name="ipg"/>
	</device>

	<device name="i2c" type="fsl,imx21-i2c">
		<io_mem address="0x30a50000" size="0x10000"/>
		<irq    number="70" />
		<clock  name="i2c4_clk_root" driver_name=""/>
		<clock  name="i2c4_gate"/>
	</device>

	<device name="pwm">
		<io_mem address="0x30670000" size="0x10000"/>
		<irq    number="114"/>
		<clock  name="pwm2_clk_root"/>
		<clock  name="pwm2_gate"/>
	</device>

	<device name="usb_host_1" type="snps,dwc3">
		<io_mem       address="0x38100000" size="0x10000"/>
		<irq          number="72"/>
		<power-domain name="usb_otg_1"/>
		<clock        name="usb_ctrl1_gate"
		              driver_name="bus_early"/>
		<clock        name="usb_core_ref_clk_root"
		              parent="system_pll1_div8"
		              rate="100000000"
		              driver_name="ref"/>
		<clock        name="usb_bus_clk_root"
		              parent="system_pll2_div2"
		              rate="500000000"/>
		<clock        name="32k_ref_clk"
		              driver_name="suspend"/>
	</device>

	<device name="usb_phy_1" type="fsl,imx8mq-usb-phy">
		<io_mem address="0x381f0040" size="0x40"/>
		<clock  name="usb_phy1_gate"
		        driver_name="phy"/>
		<clock  name="usb_phy_ref_clk_root"
		        parent="system_pll1_div8"
		        rate="100000000"/>
	</device>

	<device name="usb_host_2" type="snps,dwc3">
		<io_mem       address="0x38200000" size="0x10000"/>
		<irq          number="73"/>
		<power-domain name="usb_otg_2"/>
		<clock        name="usb_ctrl2_gate"
		              driver_name="bus_early"/>
		<clock        name="usb_core_ref_clk_root"
		              parent="system_pll1_div8"
		              rate="100000000"
		              driver_name="ref"/>
		<clock        name="usb_bus_clk_root"
		              parent="system_pll2_div2"
		              rate="500000000"/>
		<clock        name="32k_ref_clk"
		              driver_name="suspend"/>
	</device>

	<device name="usb_phy_2" type="fsl,imx8mq-usb-phy">
		<io_mem address="0x382f0040" size="0x40"/>
		<clock  name="usb_phy2_gate"
		        driver_name="phy"/>
		<clock  name="usb_phy_ref_clk_root"
		        parent="system_pll1_div8"
		        rate="100000000"/>
	</device>

	<device name="usdhc1" type="fsl,imx7d-usdhc">
		<io_mem address="0x30b40000" size="0x10000"/>
		<irq    number="54"/>
		<clock  name="ipg_clk_root"
		        driver_name="ipg"/>
		<clock  name="nand_usdhc_bus_clk_root"
		        driver_name="ahb"/>
		<clock  name="usdhc1_clk_root"
		        driver_name="per"/>
		<clock  name="usdhc1_gate"/>
	</device>

	<device name="usdhc2" type="fsl,imx7d-usdhc">
		<io_mem address="0x30b50000" size="0x10000"/>
		<irq    number="55"/>
		<clock  name="ipg_clk_root"
		        driver_name="ipg"/>
		<clock  name="nand_usdhc_bus_clk_root"
		        driver_name="ahb"/>
		<clock  name="usdhc2_clk_root"
		        rate="200000000"
		        driver_name="per"/>
		<clock  name="usdhc2_gate"/>
	</device>

	<device name="fec" type="fsl,imx6sx-fec">
		<io_mem   address="0x30be0000" size="0x10000"/>
		<irq      number="153"/>
		<irq      number="152"/>
		<irq      number="151"/>
		<irq      number="150"/>
		<clock name="enet_axi_clk_root"/>
		<clock name="enet_timer_clk_root" driver_name="ptp"/>
		<clock name="enet_ref_clk_root" driver_name="enet_clk_ref"/>
		<clock name="enet_phy_ref_clk_root" driver_name="enet_out"/>
		<clock name="enet1_gate" driver_name="ipg"/>
		<clock name="enet1_gate" driver_name="ahb"/>
		<property name="mii" value="rgmii-id"/>
	</device>

	<device name="gpu" type="vivante,gc">
		<io_mem       address="0x38000000" size="0x40000"/>
		<irq          number="35"/>
		<power-domain name="gpu"/>
		<clock        name="gpu_gate"/>
		<clock        name="gpu_core_clk_root"
		              parent="gpu_pll_clk"
		              rate="800000000"
		              driver_name="core"/>
		<clock        name="gpu_shader_clk"
		              parent="gpu_pll_clk"
		              rate="800000000"
		              driver_name="shader"/>
		<clock        name="gpu_axi_clk_root"
		              parent="gpu_pll_clk"
		              rate="800000000"
		              driver_name="bus"/>
		<clock        name="gpu_ahb_clk_root"
		              parent="gpu_pll_clk"
		              rate="800000000"
		              driver_name="reg"/>
	</device>

	<device name="pcie_1" leave_operational="yes">
		<io_mem       address="0x33800000" size="0x400000"/>
		<io_mem       address="0x18000000" size="0x8000000"/>
		<irq          number="157"/>
		<irq          number="156"/>
		<irq          number="155"/>
		<irq          number="154"/>
		<power-domain name="pcie_1"/>
		<clock        name="pcie1_ctrl_clk_root"
		              parent="system_pll2_div4"/>
		<clock        name="pcie1_phy_clk_root"
		              parent="system_pll2_div10"/>
		<clock        name="pcie1_aux_clk_root"/>
		<clock        name="pcie_gate"/>
		<reset-domain name="pcie_1_phy"/>
		<reset-domain name="pcie_1_core"/>
	</device>

	<device name="pcie_2" leave_operational="yes">
		<io_mem       address="0x33c00000" size="0x400000"/>
		<io_mem       address="0x20000000" size="0x8000000"/>
		<irq          number="109"/>
		<irq          number="108"/>
		<irq          number="107"/>
		<irq          number="106"/>
		<power-domain name="pcie_2"/>
		<clock        name="pcie2_ctrl_clk_root"
		              parent="system_pll2_div4"/>
		<clock        name="pcie2_phy_clk_root"
		              parent="system_pll2_div10"/>
		<clock        name="pcie2_aux_clk_root"/>
		<clock        name="pcie2_gate"/>
		<reset-domain name="pcie_2_phy"/>
		<reset-domain name="pcie_2_core"/>
	</device>
</devices>
