diff options
| author | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2020-11-04 00:06:26 +0100 |
|---|---|---|
| committer | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2020-11-05 02:33:13 +0100 |
| commit | 843565d21f7847b70f83cd5bf1d7ddddfa866051 (patch) | |
| tree | 1328b16f90806e81b89eda57aa7d1503f269995e | |
| parent | 9002f4dc84fdc03c698a5ecc55278c41a553dfd9 (diff) | |
| download | kernel_replicant_linux-replicant-10.tar.gz kernel_replicant_linux-replicant-10.tar.bz2 kernel_replicant_linux-replicant-10.zip | |
[WIP] ARM: dts: exynos: Add reboot modes to midasreplicant-10
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.dtsi | 23 |
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 9be98a3d9cf4..a5cd74ad8e4c 100644 --- a/arch/arm/boot/dts/exynos4412-midas.dtsi +++ b/arch/arm/boot/dts/exynos4412-midas.dtsi @@ -998,6 +998,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 { |
