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 <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
This commit is contained in:
Alif Zakuan Yuslaimi
2025-08-03 18:24:45 -07:00
committed by Tien Fong Chee
parent c8f5166cff
commit 71916a72f1
3 changed files with 102 additions and 0 deletions

View File

@@ -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