arm: socfpga: Update Agilex SPL data save and restore implementation
Enable backup for data section to support warm reset in Agilex SPL as no SPL image would be reloaded in warm reset. 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:
committed by
Tien Fong Chee
parent
60a377db98
commit
677147c167
@@ -1,6 +1,7 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Copyright (C) 2019 Intel Corporation <www.intel.com>
|
||||
* Copyright (C) 2025 Altera Corporation <www.altera.com>
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -23,11 +24,29 @@
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
u32 reset_flag(void)
|
||||
{
|
||||
/* Check rstmgr.stat for warm reset status */
|
||||
u32 status = readl(SOCFPGA_RSTMGR_ADDRESS);
|
||||
|
||||
/* Check whether any L4 watchdogs or SDM had triggered warm reset */
|
||||
u32 warm_reset_mask = RSTMGR_L4WD_MPU_WARMRESET_MASK;
|
||||
|
||||
if (status & warm_reset_mask)
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
void board_init_f(ulong dummy)
|
||||
{
|
||||
int ret;
|
||||
struct udevice *dev;
|
||||
|
||||
#if defined(CONFIG_XPL_BUILD) && defined(CONFIG_SPL_RECOVER_DATA_SECTION)
|
||||
spl_save_restore_data();
|
||||
#endif
|
||||
|
||||
ret = spl_early_init();
|
||||
if (ret)
|
||||
hang();
|
||||
|
||||
Reference in New Issue
Block a user