summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/freescale/fsl-imx8qm-mek-dom0.dts
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm64/boot/dts/freescale/fsl-imx8qm-mek-dom0.dts')
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-imx8qm-mek-dom0.dts331
1 files changed, 331 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8qm-mek-dom0.dts b/arch/arm64/boot/dts/freescale/fsl-imx8qm-mek-dom0.dts
new file mode 100644
index 000000000000..d4ae5b31fe28
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-imx8qm-mek-dom0.dts
@@ -0,0 +1,331 @@
+/*
+ * 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-mek.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_DC_1_CAPTURE0
+ SC_R_DC_1_CAPTURE1
+ SC_R_DC_1_WARP
+ SC_R_DC_1_INTEGRAL0
+ SC_R_DC_1_INTEGRAL1
+ SC_R_DC_1_VIDEO0
+ SC_R_DC_1_VIDEO1
+ SC_R_DC_1_FRAC0
+ SC_R_DC_1_FRAC1
+ 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;
+};