mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 22:20:45 +00:00
MX5: factor out boot cause funciton to common code
factor out boot cause function to common code to avoid the duplicate code in each board support package Signed-off-by: Jason Liu <jason.hui@linaro.org>
This commit is contained in:
parent
a770975ab6
commit
7517a793f0
1 changed files with 28 additions and 0 deletions
|
@ -77,6 +77,33 @@ u32 get_cpu_rev(void)
|
|||
return system_rev;
|
||||
}
|
||||
|
||||
static char *get_reset_cause(void)
|
||||
{
|
||||
u32 cause;
|
||||
struct src *src_regs = (struct src *)SRC_BASE_ADDR;
|
||||
|
||||
cause = readl(&src_regs->srsr);
|
||||
writel(cause, &src_regs->srsr);
|
||||
|
||||
switch (cause) {
|
||||
case 0x00001:
|
||||
return "POR";
|
||||
case 0x00004:
|
||||
return "CSU";
|
||||
case 0x00008:
|
||||
return "IPP USER";
|
||||
case 0x00010:
|
||||
return "WDOG";
|
||||
case 0x00020:
|
||||
return "JTAG HIGH-Z";
|
||||
case 0x00040:
|
||||
return "JTAG SW";
|
||||
case 0x10000:
|
||||
return "WARM BOOT";
|
||||
default:
|
||||
return "unknown reset";
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(CONFIG_DISPLAY_CPUINFO)
|
||||
int print_cpuinfo(void)
|
||||
|
@ -89,6 +116,7 @@ int print_cpuinfo(void)
|
|||
(cpurev & 0x000F0) >> 4,
|
||||
(cpurev & 0x0000F) >> 0,
|
||||
mxc_get_clock(MXC_ARM_CLK) / 1000000);
|
||||
printf("Reset cause: %s\n", get_reset_cause());
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue