mirror of
https://github.com/u-boot/u-boot.git
synced 2024-12-19 01:33:27 +08:00
arm: socfpga: soc64: Show reset state in SPL
Print reset state (warm/cold) together with the source (watchdog/MPU) which has triggered the warm reset on S10 & Agilex. Signed-off-by: Chee Hong Ang <chee.hong.ang@intel.com> Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com>
This commit is contained in:
parent
d7a1ff40d6
commit
b3e2d9fccb
@ -8,6 +8,7 @@
|
||||
|
||||
void reset_deassert_peripherals_handoff(void);
|
||||
int cpu_has_been_warmreset(void);
|
||||
void print_reset_info(void);
|
||||
void socfpga_bridges_reset(int enable);
|
||||
|
||||
#define RSTMGR_SOC64_STATUS 0x00
|
||||
|
@ -104,3 +104,25 @@ int cpu_has_been_warmreset(void)
|
||||
return readl(socfpga_get_rstmgr_addr() + RSTMGR_SOC64_STATUS) &
|
||||
RSTMGR_L4WD_MPU_WARMRESET_MASK;
|
||||
}
|
||||
|
||||
void print_reset_info(void)
|
||||
{
|
||||
bool iswd;
|
||||
int n;
|
||||
u32 stat = cpu_has_been_warmreset();
|
||||
|
||||
printf("Reset state: %s%s", stat ? "Warm " : "Cold",
|
||||
(stat & RSTMGR_STAT_SDMWARMRST) ? "[from SDM] " : "");
|
||||
|
||||
stat &= ~RSTMGR_STAT_SDMWARMRST;
|
||||
if (!stat) {
|
||||
puts("\n");
|
||||
return;
|
||||
}
|
||||
|
||||
n = generic_ffs(stat) - 1;
|
||||
iswd = (n >= RSTMGR_STAT_L4WD0RST_BITPOS);
|
||||
printf("(Triggered by %s %d)\n", iswd ? "Watchdog" : "MPU",
|
||||
iswd ? (n - RSTMGR_STAT_L4WD0RST_BITPOS) :
|
||||
(n - RSTMGR_STAT_MPU0RST_BITPOS));
|
||||
}
|
||||
|
@ -76,6 +76,7 @@ void board_init_f(ulong dummy)
|
||||
}
|
||||
|
||||
preloader_console_init();
|
||||
print_reset_info();
|
||||
cm_print_clock_quick_summary();
|
||||
|
||||
firewall_setup();
|
||||
|
@ -81,6 +81,7 @@ void board_init_f(ulong dummy)
|
||||
#endif
|
||||
|
||||
preloader_console_init();
|
||||
print_reset_info();
|
||||
cm_print_clock_quick_summary();
|
||||
|
||||
firewall_setup();
|
||||
|
Loading…
Reference in New Issue
Block a user