imx: imx8: print reset cause
Add support for printing reset cause during boot. Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
This commit is contained in:
committed by
Fabio Estevam
parent
0bc69a1d38
commit
c4bc7db966
@@ -45,6 +45,45 @@ struct pass_over_info_t *get_pass_over_info(void)
|
||||
return p;
|
||||
}
|
||||
|
||||
static char *get_reset_cause(void)
|
||||
{
|
||||
sc_pm_reset_reason_t reason;
|
||||
|
||||
if (sc_pm_reset_reason(-1, &reason) != SC_ERR_NONE)
|
||||
return "Unknown reset";
|
||||
|
||||
switch (reason) {
|
||||
case SC_PM_RESET_REASON_POR:
|
||||
return "POR";
|
||||
case SC_PM_RESET_REASON_JTAG:
|
||||
return "JTAG reset ";
|
||||
case SC_PM_RESET_REASON_SW:
|
||||
return "Software reset";
|
||||
case SC_PM_RESET_REASON_WDOG:
|
||||
return "Watchdog reset";
|
||||
case SC_PM_RESET_REASON_LOCKUP:
|
||||
return "SCU lockup reset";
|
||||
case SC_PM_RESET_REASON_SNVS:
|
||||
return "SNVS reset";
|
||||
case SC_PM_RESET_REASON_TEMP:
|
||||
return "Temp panic reset";
|
||||
case SC_PM_RESET_REASON_MSI:
|
||||
return "MSI reset";
|
||||
case SC_PM_RESET_REASON_UECC:
|
||||
return "ECC reset";
|
||||
case SC_PM_RESET_REASON_SCFW_WDOG:
|
||||
return "SCFW watchdog reset";
|
||||
case SC_PM_RESET_REASON_ROM_WDOG:
|
||||
return "SCU ROM watchdog reset";
|
||||
case SC_PM_RESET_REASON_SECO:
|
||||
return "SECO reset";
|
||||
case SC_PM_RESET_REASON_SCFW_FAULT:
|
||||
return "SCFW fault reset";
|
||||
default:
|
||||
return "Unknown reset";
|
||||
}
|
||||
}
|
||||
|
||||
int arch_cpu_init(void)
|
||||
{
|
||||
#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_RECOVER_DATA_SECTION)
|
||||
@@ -322,6 +361,8 @@ int print_bootinfo(void)
|
||||
break;
|
||||
}
|
||||
|
||||
printf("Reset cause: %s\n", get_reset_cause());
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user