Commit 694d04a1 authored by Chanho Park's avatar Chanho Park Committed by Krzysztof Kozlowski
Browse files

arm64: dts: exynos: add syscon reboot/reboot_mode support in ExynosAutov9



Reboot of exynosautov9 SoC can be handled by setting the
bit(SWRESET_SYSTEM[1]) of SYSTEM_CONFIGURATION register(PMU + 0x3a00).
syscon-reboot-mode can be used to indicate the reboot mode for
bootloader. SYSIP_DAT0 register(PMU + 0x810) will not be cleared after
reboot so bootloader can enter the boot mode according to the value.

Signed-off-by: default avatarChanho Park <chanho61.park@samsung.com>
Link: https://lore.kernel.org/r/20220523121244.67341-3-chanho61.park@samsung.com


Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
parent 95099951
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@

#include <dt-bindings/clock/samsung,exynosautov9.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/soc/samsung,boot-mode.h>
#include <dt-bindings/soc/samsung,exynos-usi.h>

/ {
@@ -312,6 +313,22 @@ pinctrl_peric1: pinctrl@10830000 {
		pmu_system_controller: system-controller@10460000 {
			compatible = "samsung,exynos7-pmu", "syscon";
			reg = <0x10460000 0x10000>;

			reboot: syscon-reboot {
				compatible = "syscon-reboot";
				regmap = <&pmu_system_controller>;
				offset = <0x3a00>; /* SYSTEM_CONFIGURATION */
				value = <0x2>;
				mask = <0x2>;
			};

			reboot-mode {
				compatible = "syscon-reboot-mode";
				offset = <0x810>; /* SYSIP_DAT0 */
				mode-bootloader = <EXYNOSAUTOV9_BOOT_BOOTLOADER>;
				mode-fastboot = <EXYNOSAUTOV9_BOOT_FASTBOOT>;
				mode-recovery = <EXYNOSAUTOV9_BOOT_RECOVERY>;
			};
		};

		syscon_fsys2: syscon@17c20000 {