[PATCH 6/6] arm64: dts: Add SMMU PMUs to Juno
Robin Murphy
robin.murphy at arm.com
Thu Feb 17 06:24:20 PST 2022
MMU-401 implements a single counter group, with correspondingly a
single overflow interrupt, which is also muxed into the combined
interrupt output; the integrations in Juno rely on the latter.
Signed-off-by: Robin Murphy <robin.murphy at arm.com>
---
arch/arm64/boot/dts/arm/juno-base.dtsi | 26 ++++++++++++++++++++------
1 file changed, 20 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/arm/juno-base.dtsi b/arch/arm64/boot/dts/arm/juno-base.dtsi
index 6288e104a089..9e242ea84871 100644
--- a/arch/arm64/boot/dts/arm/juno-base.dtsi
+++ b/arch/arm64/boot/dts/arm/juno-base.dtsi
@@ -48,20 +48,25 @@ smmu_pcie: iommu at 2b500000 {
compatible = "arm,mmu-401", "arm,smmu-v1";
reg = <0x0 0x2b500000 0x0 0x10000>;
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
#iommu-cells = <1>;
- #global-interrupts = <1>;
+ #global-interrupts = <2>;
+ #pmu-interrupts = <1>;
dma-coherent;
status = "disabled";
+
};
smmu_etr: iommu at 2b600000 {
compatible = "arm,mmu-401", "arm,smmu-v1";
reg = <0x0 0x2b600000 0x0 0x10000>;
interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
#iommu-cells = <1>;
- #global-interrupts = <1>;
+ #global-interrupts = <2>;
+ #pmu-interrupts = <1>;
dma-coherent;
power-domains = <&scpi_devpd 0>;
};
@@ -638,9 +643,11 @@ smmu_dma: iommu at 7fb00000 {
compatible = "arm,mmu-401", "arm,smmu-v1";
reg = <0x0 0x7fb00000 0x0 0x10000>;
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
#iommu-cells = <1>;
- #global-interrupts = <1>;
+ #global-interrupts = <2>;
+ #pmu-interrupts = <1>;
dma-coherent;
};
@@ -648,27 +655,34 @@ smmu_hdlcd1: iommu at 7fb10000 {
compatible = "arm,mmu-401", "arm,smmu-v1";
reg = <0x0 0x7fb10000 0x0 0x10000>;
interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
#iommu-cells = <1>;
- #global-interrupts = <1>;
+ #global-interrupts = <2>;
+ #pmu-interrupts = <1>;
+
};
smmu_hdlcd0: iommu at 7fb20000 {
compatible = "arm,mmu-401", "arm,smmu-v1";
reg = <0x0 0x7fb20000 0x0 0x10000>;
interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
#iommu-cells = <1>;
- #global-interrupts = <1>;
+ #global-interrupts = <2>;
+ #pmu-interrupts = <1>;
};
smmu_usb: iommu at 7fb30000 {
compatible = "arm,mmu-401", "arm,smmu-v1";
reg = <0x0 0x7fb30000 0x0 0x10000>;
interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
#iommu-cells = <1>;
- #global-interrupts = <1>;
+ #global-interrupts = <2>;
+ #pmu-interrupts = <1>;
dma-coherent;
};
--
2.28.0.dirty
More information about the linux-arm-kernel
mailing list