From c2509a36d3a001322348272b4eda23c224b93b66 Mon Sep 17 00:00:00 2001 From: Mathew McBride Date: Wed, 12 Apr 2023 07:38:18 +0000 Subject: [PATCH] arm: dts: fsl-ls1088a: import and sync full SMMU nodes with Linux To synchronise the device tree in U-Boot with Linux, the GIC (Interrupt Controller) and SMMU/IOMMU nodes need to be synchronised before changing any dependent components like PCIe and DPAA2/fsl-mc. Signed-off-by: Mathew McBride Reviewed-by: Peng Fan Signed-off-by: Peng Fan Reviewed-by: Ioana Ciornei Tested-by: Ioana Ciornei # on LS1088A-RDB --- arch/arm/dts/fsl-ls1088a.dtsi | 109 +++++++++++++++++++++++++++++++++- 1 file changed, 106 insertions(+), 3 deletions(-) diff --git a/arch/arm/dts/fsl-ls1088a.dtsi b/arch/arm/dts/fsl-ls1088a.dtsi index 3afd847baf..05da798380 100644 --- a/arch/arm/dts/fsl-ls1088a.dtsi +++ b/arch/arm/dts/fsl-ls1088a.dtsi @@ -15,11 +15,23 @@ gic: interrupt-controller@6000000 { compatible = "arm,gic-v3"; - reg = <0x0 0x06000000 0 0x10000>, /* GIC Dist */ - <0x0 0x06100000 0 0x100000>; /* GICR (RD_base + SGI_base) */ #interrupt-cells = <3>; interrupt-controller; - interrupts = <1 9 0x4>; + reg = <0x0 0x06000000 0 0x10000>, /* GIC Dist */ + <0x0 0x06100000 0 0x100000>, /* GICR(RD_base+SGI_base)*/ + <0x0 0x0c0c0000 0 0x2000>, /* GICC */ + <0x0 0x0c0d0000 0 0x1000>, /* GICH */ + <0x0 0x0c0e0000 0 0x20000>; /* GICV */ + interrupts = <1 9 IRQ_TYPE_LEVEL_HIGH>; + #address-cells = <2>; + #size-cells = <2>; + ranges; + + its: gic-its@6020000 { + compatible = "arm,gic-v3-its"; + msi-controller; + reg = <0x0 0x6020000 0 0x20000>; + }; }; timer { @@ -68,6 +80,97 @@ interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>; status = "disabled"; }; + + smmu: iommu@5000000 { + compatible = "arm,mmu-500"; + reg = <0 0x5000000 0 0x800000>; + #iommu-cells = <1>; + stream-match-mask = <0x7C00>; + dma-coherent; + #global-interrupts = <12>; + // global secure fault + interrupts = , + // combined secure + , + // global non-secure fault + , + // combined non-secure + , + // performance counter interrupts 0-7 + , + , + , + , + , + , + , + , + // per context interrupt, 64 interrupts + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + }; }; i2c0: i2c@2000000 { -- 2.39.5