From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Nelson Date: Fri, 06 Feb 2015 13:40:53 -0700 Subject: [U-Boot] [PATCH] imx: save reset cause in 'reset_cause' environment variable In-Reply-To: <1423177107-16012-1-git-send-email-eric.nelson@boundarydevices.com> References: <54D3BB1E.1060409@denx.de> <1423177107-16012-1-git-send-email-eric.nelson@boundarydevices.com> Message-ID: <54D526D5.90003@boundarydevices.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi all, On 02/05/2015 03: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. > > > > 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); > > > } > + setenv("reset_cause", rval); > + return rval; Nak. This routine is called before the environment is initialized. There's no way to set the environment here, which I think means that this patch is a pre-cursor to anything else. http://patchwork.ozlabs.org/patch/436492/ If we feel the need to reset it before an O/S boots, there is a common spot here: http://git.denx.de/?p=u-boot.git;a=blob;f=arch/arm/imx-common/cpu.c;h=28ccd29594ed77976f45837039e40618e527a94f;hb=HEAD#l205 That won't be invoked if the O/S is started with "go" though (often done with QNX or Windows). Regards, Eric