diff options
| author | Alif Zakuan Yuslaimi <[email protected]> | 2025-08-03 18:24:45 -0700 |
|---|---|---|
| committer | Tien Fong Chee <[email protected]> | 2025-08-08 22:20:50 +0800 |
| commit | 71916a72f106ed2aaae5a49885fb86623e5f7aec (patch) | |
| tree | 93492570b5ff220195395e3a98442106e6f6704a /include | |
| parent | c8f5166cff0ccdb1966ed786dba88e9548ce632e (diff) | |
arm: socfpga: soc64: Perform warm reset after L2 reset in SPL
SPL checks for a magic word in the system manager's scratch
register to determine if an L2 reset has occurred. If detected,
SPL places all slave CPUs (CPU1–3) into WFI mode. The master
CPU (CPU0) then initiates a warm reset by writing to the RMR_EL3
system register and also enters WFI mode.
This warm reset flow is handled entirely within the HPS. The
function `socfpga_sysreset_request()` triggers the warm
reset, and upon SPL re-entry, the updated `lowlevel_init_soc64.S`
handles the necessary initialization.
Signed-off-by: Alif Zakuan Yuslaimi <[email protected]>
Reviewed-by: Tien Fong Chee <[email protected]>
Diffstat (limited to 'include')
| -rw-r--r-- | include/configs/socfpga_soc64_common.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/configs/socfpga_soc64_common.h b/include/configs/socfpga_soc64_common.h index 8755532ea82..3d09a06f63e 100644 --- a/include/configs/socfpga_soc64_common.h +++ b/include/configs/socfpga_soc64_common.h @@ -24,6 +24,11 @@ */ #define L2_RESET_DONE_REG 0xFFD12218 +/* sysmgr.boot_scratch_cold8 bit 17 (1bit) will be used to check whether CPU0 + * is being powered off/on from kernel + */ +#define BOOT_SCRATCH_COLD8 0xFFD12220 + /* Magic word to indicate L2 reset is completed */ #define L2_RESET_DONE_STATUS 0x1228E5E7 |
