Re: [PATCH v7 6/6] arm64: dts: exynos850: add PMU interrupt generation node
From: Peter Griffin
Date: Fri Oct 02 2026 - 08:46:24 EST
Hi Alexey,
On Wed, 30 Sept 2026 at 01:13, Alexey Klimov <alexey.klimov@xxxxxxxxxx> wrote:
>
> Add pmu_intr_gen node for Exynos850. This hw block is required
> for different power management routines like CPU hotplug and
> different sleep and idle states.
> Also reference this node from main PMU node.
>
> Reviewed-by: Peter Griffin <peter.griffin@xxxxxxxxxx>
> Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx>
> ---
> arch/arm64/boot/dts/exynos/exynos850.dtsi | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/exynos/exynos850.dtsi b/arch/arm64/boot/dts/exynos/exynos850.dtsi
> index 8a4771899a8e..803fc127d895 100644
> --- a/arch/arm64/boot/dts/exynos/exynos850.dtsi
> +++ b/arch/arm64/boot/dts/exynos/exynos850.dtsi
> @@ -231,6 +231,7 @@ gic: interrupt-controller@12a01000 {
> pmu_system_controller: system-controller@11860000 {
> compatible = "samsung,exynos850-pmu", "syscon";
> reg = <0x11860000 0x10000>;
> + google,pmu-intr-gen-syscon = <&pmu_intr_gen>;
>
> poweroff: syscon-poweroff {
> compatible = "syscon-poweroff";
> @@ -248,6 +249,11 @@ reboot: syscon-reboot {
> };
> };
>
> + pmu_intr_gen: syscon@11870000 {
> + compatible = "samsung,exynos850-pmu-intr-gen", "syscon";
> + reg = <0x11870000 0x10000>;
> + };
> +
Since you are now creating your own custom regmap in exynos-pmu you
should drop the syscon compatible here. That should avoid syscon.c
ever creating an MMIO regmap (with the wrong spinlock). I've copied
some of the commit text from my commit
a21d38b5e209c60e73f81e467cc53ad57b5d4080 below for the rationale
behind this.
arm64: dts: exynos: gs101: remove syscon compatible from pmu node
Since commit ba5095ebbc7a ("mfd: syscon: Allow syscon nodes without a
"syscon" compatible") it is possible to register a regmap without the
syscon compatible in the node.
As mentioned in that commit, it's not correct to claim we are compatible
with syscon, as a MMIO regmap created by syscon won't work. Removing the
syscon compatible means syscon driver won't ever create a mmio regmap.
Note this isn't usually an issue today as exynos-pmu runs at an early
initcall so the custom regmap will have been registered first. However
changes proposed in [1] will bring -EPROBE_DEFER support to syscon allowing
this mechanism to be more robust, especially in highly modularized systems.
Technically this is a ABI break but no other platforms are
affected. Additionally (with the benefit of hindsight) a MMIO syscon has
never worked for PMU register writes, thus the ABI break is justified.
Link: https://lore.kernel.org/lkml/aQdHmrchkmOr34r3@stanley.mountain/ [1]
Thanks,
Peter