From: Eric Nelson <eric.nelson@boundarydevices.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] imx: don't clobber reset cause
Date: Thu, 05 Feb 2015 10:22:33 -0700 [thread overview]
Message-ID: <54D3A6D9.8040602@boundarydevices.com> (raw)
In-Reply-To: <54D3A625.5000101@denx.de>
Hi Stefano,
On 02/05/2015 10:19 AM, Stefano Babic wrote:
> Hi Bill,
>
> On 05/02/2015 17:28, Bill Pringlemeir wrote:
>> On 4 Feb 2015, eric.nelson at 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.nelson@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).
>>
>> 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.
>>
>
> I have assumed (maybe wrong ?) that the reason for the patch is to let
> the OS reading these bits.
>
In some cases (Windows Embedded), yes.
In the Linux case, we'll likely pass the value to the kernel through
the kernel command-line, so it's available to userspace.
I'm not aware of any kernel functionality for this at the moment.
Regards,
Eric
next prev parent reply other threads:[~2015-02-05 17:22 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-04 21:51 [U-Boot] [PATCH] imx: don't clobber reset cause Eric Nelson
2015-02-05 16:17 ` Stefano Babic
2015-02-05 16:28 ` Bill Pringlemeir
2015-02-05 17:16 ` Eric Nelson
2015-02-05 17:19 ` Stefano Babic
2015-02-05 17:22 ` Eric Nelson [this message]
2015-02-05 17:52 ` Stefano Babic
2015-02-05 18:22 ` Eric Nelson
2015-02-05 18:49 ` Stefano Babic
2015-02-05 22:57 ` [U-Boot] [PATCH] imx: save reset cause in 'reset_cause' environment variable Eric Nelson
2015-02-06 20:36 ` Eric Nelson
2015-02-05 22:58 ` Eric Nelson
2015-02-05 23:06 ` Troy Kisky
2015-02-05 23:14 ` Eric Nelson
2015-02-05 23:17 ` Bill Pringlemeir
2015-02-06 20:40 ` Eric Nelson
2015-02-06 20:56 ` Bill Pringlemeir
2015-02-05 23:01 ` [U-Boot] [PATCH] imx: don't clobber reset cause Eric Nelson
2015-02-05 23:17 ` Troy Kisky
2015-02-10 17:19 ` Eric Nelson
2015-02-10 18:08 ` Bill Pringlemeir
2015-02-11 9:07 ` Stefano Babic
2015-02-11 14:45 ` Eric Nelson
2015-02-15 21:37 ` [U-Boot] [PATCH 1/2] ARM: i.MX: provide access to reset cause through get_imx_reset_cause() Eric Nelson
2015-02-15 21:37 ` [U-Boot] [PATCH 2/2] nitrogen6x: set environment variable reset_cause Eric Nelson
2015-02-17 9:34 ` Stefano Babic
2015-02-17 9:54 ` Stefano Babic
2015-02-17 9:54 ` [U-Boot] [PATCH 1/2] ARM: i.MX: provide access to reset cause through get_imx_reset_cause() Stefano Babic
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54D3A6D9.8040602@boundarydevices.com \
--to=eric.nelson@boundarydevices.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.