From b32e036a7403289b2a10a438bb852da7ca651c86 Mon Sep 17 00:00:00 2001 From: Rob Herring Date: Fri, 12 Apr 2024 17:29:22 -0500 Subject: [PATCH] arm64: dts: sprd: Split PMU nodes for heterogeneous CPUs Arm heterogeneous configurations should have separate PMU nodes for each CPU uarch as the uarch specific events can be different. The "arm,armv8-pmuv3" compatible is also intended for s/w models rather than specific uarch implementations. Signed-off-by: Rob Herring Link: https://lore.kernel.org/r/20240412222923.3873814-1-robh@kernel.org Signed-off-by: Krzysztof Kozlowski --- arch/arm64/boot/dts/sprd/ums512.dtsi | 14 ++++++++++---- arch/arm64/boot/dts/sprd/ums9620.dtsi | 14 ++++++++++---- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/arch/arm64/boot/dts/sprd/ums512.dtsi b/arch/arm64/boot/dts/sprd/ums512.dtsi index dbdb79f8e959b..4c080df487240 100644 --- a/arch/arm64/boot/dts/sprd/ums512.dtsi +++ b/arch/arm64/boot/dts/sprd/ums512.dtsi @@ -136,16 +136,22 @@ ; /* Hipervisor PPI */ }; - pmu { - compatible = "arm,armv8-pmuv3"; + pmu-a55 { + compatible = "arm,cortex-a55-pmu"; interrupts = , , , , , - , - , + ; + interrupt-affinity = <&CPU0>, <&CPU1>, <&CPU2>, <&CPU3>, <&CPU4>, <&CPU5>; + }; + + pmu-a75 { + compatible = "arm,cortex-a75-pmu"; + interrupts = , ; + interrupt-affinity = <&CPU6>, <&CPU7>; }; soc: soc { diff --git a/arch/arm64/boot/dts/sprd/ums9620.dtsi b/arch/arm64/boot/dts/sprd/ums9620.dtsi index 2191f0a4811b1..2458071320c9b 100644 --- a/arch/arm64/boot/dts/sprd/ums9620.dtsi +++ b/arch/arm64/boot/dts/sprd/ums9620.dtsi @@ -144,16 +144,22 @@ ; /* Hipervisor PPI */ }; - pmu { - compatible = "arm,armv8-pmuv3"; + pmu-a55 { + compatible = "arm,cortex-a55-pmu"; interrupts = , , , - , - , + ; + interrupt-affinity = <&CPU0>, <&CPU1>, <&CPU2>, <&CPU3>; + }; + + pmu-a76 { + compatible = "arm,cortex-a76-pmu"; + interrupts = , , , ; + interrupt-affinity = <&CPU4>, <&CPU5>, <&CPU6>, <&CPU7>; }; soc: soc { -- 2.47.3