summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAlif Zakuan Yuslaimi <[email protected]>2025-08-03 18:24:45 -0700
committerTien Fong Chee <[email protected]>2025-08-08 22:20:50 +0800
commit71916a72f106ed2aaae5a49885fb86623e5f7aec (patch)
tree93492570b5ff220195395e3a98442106e6f6704a /include
parentc8f5166cff0ccdb1966ed786dba88e9548ce632e (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.h5
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