On 2/5/2015 3:58 PM, Eric Nelson wrote: > The cause of a reset is generally useful, and shouldn't be > blindly cleared in the process of displaying it as a part > of the boot announcement. > > Stash the string representation in the environment variable > "reset_cause". > > Values include: > "POR" - power on reset > "CSU" - reset was the result of the csu_reset_b input > "IPP-USER" - ipp_user_reset_b qualified reset > "WDOG" - watchdog reset > "JTAG-HIGH-Z" - HIGH-Z reset from JTAG > "JTAG-SW" - software reset from JTAG > "WARM-BOOT" - WARM boot was initiated by software > > Signed-off-by: Eric Nelson <eric.nel...@boundarydevices.com> > --- > arch/arm/imx-common/cpu.c | 25 ++++++++++++++++--------- > 1 file changed, 16 insertions(+), 9 deletions(-) > > diff --git a/arch/arm/imx-common/cpu.c b/arch/arm/imx-common/cpu.c > index 28ccd29..4a54051 100644 > --- a/arch/arm/imx-common/cpu.c > +++ b/arch/arm/imx-common/cpu.c > @@ -28,6 +28,7 @@ char *get_reset_cause(void) > { > u32 cause; > struct src *src_regs = (struct src *)SRC_BASE_ADDR; > + char *rval = "unknown"; > > cause = readl(&src_regs->srsr); > writel(cause, &src_regs->srsr); > @@ -35,22 +36,28 @@ char *get_reset_cause(void) > switch (cause) { > case 0x00001: > case 0x00011: > - return "POR"; > + rval = "POR"; > + break; > case 0x00004: > - return "CSU"; > + rval = "CSU"; > + break; > case 0x00008: > - return "IPP USER"; > + rval = "IPP-USER"; > + break; > case 0x00010: > - return "WDOG"; > + rval = "WDOG"; > + break; > case 0x00020: > - return "JTAG HIGH-Z"; > + rval = "JTAG-HIGH-Z"; > + break; > case 0x00040: > - return "JTAG SW"; > + rval = "JTAG-SW"; > + break; > case 0x10000: > - return "WARM BOOT"; > - default: > - return "unknown reset"; > + rval = "WARM-BOOT";
Instead of removing default, can we have a hex value, something like sprintf(buf, "unknown(0x%x)", cause); > } > + setenv("reset_cause", rval); > + return rval; > } > > #if defined(CONFIG_MX53) || defined(CONFIG_MX6) > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot