]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: dts: exynos850: Add syscon-poweroff node
authorAlexey Klimov <alexey.klimov@linaro.org>
Wed, 25 Mar 2026 00:26:32 +0000 (00:26 +0000)
committerKrzysztof Kozlowski <krzk@kernel.org>
Mon, 27 Apr 2026 13:51:03 +0000 (15:51 +0200)
Without poweroff node Exynos850-based board continue to draw current
(around ~60 mA with my test setup) after poweroff. Kernel also reports
different lockup problems and RCU stalls warnings continuosly after
last kernel messages about hardware being switched off.
Turns out we missed a write to PMU's PS_HOLD_CONTROL (PMU + 0x30c)
register that actually switches the SoC off.

Add poweroff node that implements this.

With this change the current draw after power off is in range of few
milliampers and lockup messages are no more.

Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
Link: https://patch.msgid.link/20260325-exynos850-poweroff-v1-1-34c19c06e74d@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
arch/arm64/boot/dts/exynos/exynos850.dtsi

index cb55015c8dcebfaf8efece4b0e76607594a299f8..3881f573ec08d1fee80d5b0744c1bae42bfadcee 100644 (file)
                        compatible = "samsung,exynos850-pmu", "syscon";
                        reg = <0x11860000 0x10000>;
 
+                       poweroff: syscon-poweroff {
+                               compatible = "syscon-poweroff";
+                               offset = <0x30c>; /* PS_HOLD_CONTROL */
+                               mask = <0x00000100>;
+                               value = <0x0>;
+                       };
+
                        reboot: syscon-reboot {
                                compatible = "syscon-reboot";
                                regmap = <&pmu_system_controller>;