From f58ef6a45f162e2bd1d0c7c0de00f94bccd3b6f5 Mon Sep 17 00:00:00 2001 From: Denis 'GNUtoo' Carikli Date: Wed, 4 Nov 2020 00:06:26 +0100 Subject: [PATCH 02/11] ARM: dts: exynos: Add reboot modes to midas The values have been taken from the sec-reboot.c driver in the 3.0.101 smdk4412 kernel used in LineageOS which is based on Samsung source code releases for various devices. Only the strict minimum modes have been added: the S-Boot 4.0 bootloader is nonfree, so exporting less well known modes could potentially have unwanted consequences. TODO: - After reboot to download, heimdall doesn't work while it works with the SMDK4412 kernel. - Fix reboot without arguments (Test: Try "Reboot system now" in a recovery after rebooting to the recovery) Signed-off-by: Denis 'GNUtoo' Carikli --- arch/arm/boot/dts/exynos4412-midas.dtsi | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/arch/arm/boot/dts/exynos4412-midas.dtsi b/arch/arm/boot/dts/exynos4412-midas.dtsi index 8e1c19a8ad06..1f9cd7474b16 100644 --- a/arch/arm/boot/dts/exynos4412-midas.dtsi +++ b/arch/arm/boot/dts/exynos4412-midas.dtsi @@ -982,6 +982,29 @@ &mshc_0 { &pmu_system_controller { assigned-clocks = <&pmu_system_controller 0>; assigned-clock-parents = <&clock CLK_XUSBXTI>; + + /* S-Boot 4.0 */ + #define S5P_INFORM2 0xF008 + #define S5P_INFORM3 0x080C + #define BOOT_MODE_PREFIX 0x12345670 + #define BOOT_NORMAL (BOOT_MODE_PREFIX | 0) + #define BOOT_DOWNLOAD (BOOT_MODE_PREFIX | 1) + #define BOOT_RECOVERY (BOOT_MODE_PREFIX | 4) + + no-lpm-mode { + compatible = "syscon-reboot"; + offset = ; + value = <0x12345678>; + }; + + reboot-mode { + compatible = "syscon-reboot-mode"; + offset = ; + mode-normal = ; + mode-recovery = ; + mode-bootloader = ; + mode-download = ; + }; }; &pinctrl_0 { -- 2.38.1