mirror of
https://github.com/u-boot/u-boot.git
synced 2024-12-05 02:23:31 +08:00
MX31: Introduce get_reset_cause()
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Acked-by: Detlev Zundel <dzu@denx.de>
This commit is contained in:
parent
4adaf9bf09
commit
25d8e1bb19
@ -132,11 +132,38 @@ char *get_cpu_rev(void)
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
char *get_reset_cause(void)
|
||||
{
|
||||
/* read RCSR register from CCM module */
|
||||
struct clock_control_regs *ccm =
|
||||
(struct clock_control_regs *)CCM_BASE;
|
||||
|
||||
u32 cause = readl(&ccm->rcsr) & 0x07;
|
||||
|
||||
switch (cause) {
|
||||
case 0x0000:
|
||||
return "POR";
|
||||
break;
|
||||
case 0x0001:
|
||||
return "RST";
|
||||
break;
|
||||
case 0x0002:
|
||||
return "WDOG";
|
||||
break;
|
||||
case 0x0006:
|
||||
return "JTAG";
|
||||
break;
|
||||
default:
|
||||
return "unknown reset";
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(CONFIG_DISPLAY_CPUINFO)
|
||||
int print_cpuinfo (void)
|
||||
{
|
||||
printf("CPU: Freescale i.MX31 rev %s at %d MHz\n",
|
||||
printf("CPU: Freescale i.MX31 rev %s at %d MHz.",
|
||||
get_cpu_rev(), mx31_get_mcu_main_clk() / 1000000);
|
||||
printf("Reset cause: %s\n", get_reset_cause());
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user