]> www.infradead.org Git - users/hch/misc.git/commitdiff
arm64: dts: exynos: gs101: switch to gs101 specific reboot
authorAndré Draszik <andre.draszik@linaro.org>
Fri, 27 Jun 2025 13:29:32 +0000 (14:29 +0100)
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Mon, 30 Jun 2025 06:04:29 +0000 (08:04 +0200)
gs101 (Google Pixel 6 and Pixel 6 Pro) supports cold- and warm-reboot.
Cold-reset is useful because it is more secure, e.g. wiping all RAM
contents, while the warm-reboot allows RAM contents to be retained
across the reboot, e.g. to collect potential crash information.

Add the required DT changes to switch to the gs101-specific reboot
method, which knows how to issue either reset as requested by the OS.

The PMIC plays a role in this as well, so mark it as
'system-power-controller', which in this case ensures that the device
will wake up again after a cold-reboot, ensuring the full power-cycle
is successful.

Signed-off-by: André Draszik <andre.draszik@linaro.org>
Link: https://lore.kernel.org/r/20250627-gs101-reboot3-v1-3-c3ae49657b1f@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
arch/arm64/boot/dts/exynos/google/gs101-pixel-common.dtsi
arch/arm64/boot/dts/exynos/google/gs101.dtsi

index c1b51f4cfb8c174852b44690f84ed1aa0b4057c2..84ff3e047d3b31b5f96d4d6c78ec933bb05f3e6b 100644 (file)
                interrupts-extended = <&gpa0 6 IRQ_TYPE_LEVEL_LOW>;
                pinctrl-names = "default";
                pinctrl-0 = <&pmic_int>;
+               system-power-controller;
                wakeup-source;
 
                regulators {
index 9fedda986158fb90cb1f7786e8dc48a3a6f44f66..c0f8c25861a9ddb5bbd256b62c66a645922ca74e 100644 (file)
                        };
 
                        reboot: syscon-reboot {
-                               compatible = "syscon-reboot";
-                               offset = <0x3a00>; /* SYSTEM_CONFIGURATION */
-                               mask = <0x2>; /* SWRESET_SYSTEM */
-                               value = <0x2>; /* reset value */
+                               compatible = "google,gs101-reboot";
                        };
 
                        reboot-mode {