| /* |
| * Copyright 2018 NXP |
| * |
| * This program is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU General Public License |
| * as published by the Free Software Foundation; either version 2 |
| * of the License, or (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| */ |
| |
| #include "fsl-imx8qm-lpddr4-arm2.dts" |
| #include "fsl-imx8qm-xen.dtsi" |
| |
| / { |
| chosen { |
| #address-cells = <2>; |
| #size-cells = <2>; |
| |
| /* Could be updated by U-Boot */ |
| module@0 { |
| bootargs = "earlycon=xen console=hvc0 loglevel=8 root=/dev/mmcblk1p2 rw rootwait"; |
| compatible = "xen,linux-zimage", "xen,multiboot-module"; |
| reg = <0x00000000 0x80a00000 0x00000000 0xf93a00>; |
| }; |
| }; |
| |
| domu { |
| /* |
| * There are 5 MUs, 0A is used by Dom0, 1A is used |
| * by ATF, so for DomU, 2A/3A/4A could be used. |
| * SC_R_MU_0A |
| * SC_R_MU_1A |
| * SC_R_MU_2A |
| * SC_R_MU_3A |
| * SC_R_MU_4A |
| * The rsrcs and pads will be configured by uboot scu_rm cmd |
| */ |
| #address-cells = <1>; |
| #size-cells = <0>; |
| doma { |
| compatible = "xen,domu"; |
| /* |
| * The name entry in VM configuration file |
| * needs to be same as here. |
| */ |
| domain_name = "DomU"; |
| /* |
| * The reg property will be updated by U-Boot to |
| * reflect the partition id. |
| */ |
| reg = <0>; |
| init_on_rsrcs = < |
| SC_R_MU_2A |
| >; |
| rsrcs = < |
| SC_R_GPU_1_PID0 |
| SC_R_GPU_1_PID1 |
| SC_R_GPU_1_PID2 |
| SC_R_GPU_1_PID3 |
| SC_R_LVDS_1 |
| SC_R_LVDS_1_I2C_0 |
| SC_R_LVDS_1_PWM_0 |
| SC_R_DC_1 |
| SC_R_DC_1_BLIT0 |
| SC_R_DC_1_BLIT1 |
| SC_R_DC_1_BLIT2 |
| SC_R_DC_1_BLIT_OUT |
| SC_R_UNUSED9 |
| SC_R_UNUSED10 |
| SC_R_DC_1_WARP |
| SC_R_UNUSED11 |
| SC_R_UNUSED12 |
| SC_R_DC_1_VIDEO0 |
| SC_R_DC_1_VIDEO1 |
| SC_R_DC_1_FRAC0 |
| SC_R_UNUSED13 |
| SC_R_DC_1_PLL_0 |
| SC_R_DC_1_PLL_1 |
| SC_R_MIPI_1 |
| SC_R_MIPI_1_I2C_0 |
| SC_R_MIPI_1_I2C_1 |
| SC_R_MIPI_1_PWM_0 |
| SC_R_HDMI |
| SC_R_HDMI_I2C_0 |
| SC_R_SDHC_0 |
| SC_R_USB_0 |
| SC_R_USB_0_PHY |
| SC_R_UART_1 |
| SC_R_DMA_0_CH14 |
| SC_R_DMA_0_CH15 |
| SC_R_MU_2A |
| >; |
| pads = < |
| /* i2c1_lvds1 */ |
| SC_P_LVDS1_I2C1_SCL |
| SC_P_LVDS1_I2C1_SDA |
| /* emmc */ |
| SC_P_EMMC0_CLK |
| SC_P_EMMC0_CMD |
| SC_P_EMMC0_DATA0 |
| SC_P_EMMC0_DATA1 |
| SC_P_EMMC0_DATA2 |
| SC_P_EMMC0_DATA3 |
| SC_P_EMMC0_DATA4 |
| SC_P_EMMC0_DATA5 |
| SC_P_EMMC0_DATA6 |
| SC_P_EMMC0_DATA7 |
| SC_P_EMMC0_STROBE |
| SC_P_EMMC0_RESET_B |
| /* usb otg */ |
| SC_P_USB_SS3_TC0 |
| /* uart1 */ |
| SC_P_UART1_RX |
| SC_P_UART1_TX |
| SC_P_UART1_CTS_B |
| SC_P_UART1_RTS_B |
| SC_P_QSPI1A_DQS |
| >; |
| }; |
| }; |
| |
| reserved-memory { |
| /* global autoconfigured region for contiguous allocations */ |
| linux,cma { |
| compatible = "shared-dma-pool"; |
| reusable; |
| size = <0 0x28000000>; |
| alloc-ranges = <0 0xd0000000 0 0x28000000>; |
| linux,cma-default; |
| }; |
| }; |
| |
| display-subsystem { |
| compatible = "fsl,imx-display-subsystem"; |
| ports = <&dpu1_disp0>, <&dpu1_disp1>; |
| }; |
| |
| /* Passthrough to domu */ |
| mu2: mu@5d1d0000 { |
| compatible = "fsl,imx8-mu"; |
| reg = <0x0 0x5d1d0000 0x0 0x10000>; |
| interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>; |
| fsl,scu_ap_mu_id = <0>; |
| xen,passthrough; |
| status = "disabled"; |
| }; |
| |
| }; |
| |
| &usbotg1_lpcg { |
| xen,passthrough; |
| }; |
| |
| &sdhc1_lpcg { |
| xen,passthrough; |
| }; |
| |
| &lpuart1 { |
| xen,passthrough; |
| }; |
| |
| &lpuart1_lpcg { |
| xen,passthrough; |
| }; |
| |
| &di_lvds1_lpcg { |
| xen,passthrough; |
| }; |
| |
| &dc_1_lpcg { |
| xen,passthrough; |
| }; |
| |
| &edma01 { |
| #stream-id-cells = <1>; |
| xen,passthrough; |
| fsl,sc_rsrc_id = <SC_R_DMA_0_CH14>, |
| <SC_R_DMA_0_CH15>; |
| }; |
| |
| /* SMMU */ |
| &smmu { |
| mmu-masters = <&dpu2 0x13>, <&gpu_3d1 0x15>, |
| <&usdhc1 0x12>, <&usbotg1 0x11>, |
| <&edma01 0x10>; |
| }; |
| |
| &lvds_region2 { |
| xen,passthrough; |
| }; |
| |
| &irqsteer_lvds1 { |
| xen,passthrough; |
| }; |
| |
| &i2c1_lvds1 { |
| xen,passthrough; |
| }; |
| |
| &ldb2_phy { |
| xen,passthrough; |
| }; |
| |
| &ldb2 { |
| xen,passthrough; |
| }; |
| |
| &crypto { |
| /* Met CAAM failure on A0, disable it first */ |
| status = "disabled"; |
| }; |
| |
| &dpu2_intsteer { |
| xen,passthrough; |
| }; |
| |
| &dpu2 { |
| xen,passthrough; |
| #stream-id-cells = <1>; |
| iommus = <&smmu>; |
| }; |
| |
| &prg10 { |
| xen,passthrough; |
| }; |
| |
| &prg11 { |
| xen,passthrough; |
| }; |
| |
| &prg12 { |
| xen,passthrough; |
| }; |
| |
| &prg13 { |
| xen,passthrough; |
| }; |
| |
| &prg14 { |
| xen,passthrough; |
| }; |
| |
| &prg15 { |
| xen,passthrough; |
| }; |
| |
| &prg16 { |
| xen,passthrough; |
| }; |
| |
| &prg17 { |
| xen,passthrough; |
| }; |
| |
| &prg18 { |
| xen,passthrough; |
| }; |
| |
| &dpr3_channel1 { |
| xen,passthrough; |
| }; |
| |
| &dpr3_channel2 { |
| xen,passthrough; |
| }; |
| |
| &dpr3_channel3 { |
| xen,passthrough; |
| }; |
| |
| &dpr4_channel1 { |
| xen,passthrough; |
| }; |
| |
| &dpr4_channel2 { |
| xen,passthrough; |
| }; |
| |
| &dpr4_channel3 { |
| xen,passthrough; |
| }; |
| |
| /* GPU */ |
| &pd_gpu1 { |
| xen,passthrough; |
| }; |
| |
| &gpu_3d1 { |
| xen,passthrough; |
| #stream-id-cells = <1>; |
| iommus = <&smmu>; |
| }; |
| |
| &imx8_gpu_ss { |
| cores = <&gpu_3d0>; |
| /delete-property/ reg; |
| /delete-property/ reg-names; |
| }; |
| |
| &sata { |
| status = "disabled"; |
| }; |
| |
| &usdhc1 { |
| xen,passthrough; |
| #stream-id-cells = <1>; |
| iommus = <&smmu>; |
| }; |
| |
| &usbotg1 { |
| /* Hack reg */ |
| reg = <0x0 0x5b0d0000 0x0 0x1000>; |
| xen,passthrough; |
| #stream-id-cells = <1>; |
| iommus = <&smmu>; |
| }; |
| |
| &usbmisc1 { |
| /* Hack */ |
| /delete-property/ reg; |
| status = "disabled"; |
| }; |
| |
| &usbphy1 { |
| reg = <0x0 0x5b100000 0x0 0x1000>; |
| xen,passthrough; |
| }; |