Hi Bill, On 02/05/2015 09:28 AM, Bill Pringlemeir wrote: > On 4 Feb 2015, eric.nel...@boundarydevices.com 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. >> >> If a particular system wants to clear it out, this should >> be done later after there's an opportunity for code or >> boot commands to read the value. >> >> Signed-off-by: Eric Nelson <eric.nel...@boundarydevices.com> >> --- >> arch/arm/imx-common/cpu.c | 1 - >> 1 file changed, 1 deletion(-) >> >> diff --git a/arch/arm/imx-common/cpu.c b/arch/arm/imx-common/cpu.c >> index 28ccd29..3e0a582 100644 >> --- a/arch/arm/imx-common/cpu.c >> +++ b/arch/arm/imx-common/cpu.c >> @@ -30,7 +30,6 @@ char *get_reset_cause(void) >> struct src *src_regs = (struct src *)SRC_BASE_ADDR; >> >> cause = readl(&src_regs->srsr); >> - writel(cause, &src_regs->srsr); >> >> switch (cause) { >> case 0x00001: > > There is very similar code in 'arch/arm/cpu/armv7/vf610/generic.c'. The > write is for a hard power on case where these reason registers are full > of weird bogus values (at least on Vybrid; I suspect on iMx). In the > case of a non-POR, the register bits are good. However, if you don't > clear the status, on the next reset it may have multiple registers bits > even though you really want to know the last reason (bit). >
Understood. > Another option would be to clear the value and store the 'cause' > somewhere for other U-Boot users. Unless you wanted to read this from > an OS? I think both files should behave the same, all else equal. > This patch seems a pre-cursor to anything else, since blindly clearing the bits doesn't allow them to be used by code or script in U-Boot or an OS. Regards, Eric _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot