aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2020-11-04 00:06:26 +0100
committerJoonas Kylmälä <joonas.kylmala@iki.fi>2020-11-17 09:29:49 -0500
commitaf3d9cb8bbc764c1ee5e9ca00b29f0908a4edd87 (patch)
treeb0c86db9d8148890debddce4e833bb6a8a3f9470
parentd6c99f43863fb434ae05e391961aefba8578d85d (diff)
downloadkernel_replicant_linux-af3d9cb8bbc764c1ee5e9ca00b29f0908a4edd87.tar.gz
kernel_replicant_linux-af3d9cb8bbc764c1ee5e9ca00b29f0908a4edd87.tar.bz2
kernel_replicant_linux-af3d9cb8bbc764c1ee5e9ca00b29f0908a4edd87.zip
[WIP] 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 <GNUtoo@cyberdimension.org>
-rw-r--r--arch/arm/boot/dts/exynos4412-midas.dtsi23
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/exynos4412-midas.dtsi b/arch/arm/boot/dts/exynos4412-midas.dtsi
index 7e7c243ff196..7a95e7365fcb 100644
--- a/arch/arm/boot/dts/exynos4412-midas.dtsi
+++ b/arch/arm/boot/dts/exynos4412-midas.dtsi
@@ -983,6 +983,29 @@
&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 = <S5P_INFORM2>;
+ value = <0x12345678>;
+ };
+
+ reboot-mode {
+ compatible = "syscon-reboot-mode";
+ offset = <S5P_INFORM3>;
+ mode-normal = <BOOT_NORMAL>;
+ mode-recovery = <BOOT_RECOVERY>;
+ mode-bootloader = <BOOT_DOWNLOAD>;
+ mode-download = <BOOT_DOWNLOAD>;
+ };
};
&pinctrl_0 {