From: Sinan Akman <sinan@writeme.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] ls1021atwr reset issue (was [ANN] U-Boot v2015.10-rc4 released)
Date: Thu, 1 Oct 2015 15:28:08 -0400 [thread overview]
Message-ID: <560D8948.6010807@writeme.com> (raw)
In-Reply-To: <20151001191434.GA3829@bill-the-cat>
On 01/10/15 03:14 PM, Tom Rini wrote:
> On Thu, Oct 01, 2015 at 04:09:46PM -0300, Fabio Estevam wrote:
>> On Thu, Oct 1, 2015 at 12:19 PM, Sinan Akman <sinan@writeme.com> wrote:
>>> I took a further look at this. I believe this won't work as readw
>>> will now return the data in the wrong endianness. I think Wolfgang
>>> also already pointed out at this. We would need to use the macro with
>>> correct endianness for different platforms (ls1021atwr would need
>>> big endian) and control this based on the watchdog endian setting in dts.
>> The imx platforms do not use dts in U-boot yet.
>>
>>> However, there seems to be other problems here. The original
>>> fix was intending to preserve the current set bits in wcr and
>>> enable DTE. But in the case of ls1021atwr, the watcdog is not
>>> initialized and out of reset we have SRS bit is set. This would
>>> disable wdog_rst and prevent reset from working. Before the
>>> fix it was actually the accidental setting of SRS to zero made
>>> the reset working because a writew(WCR_WDE, &wdog->wcr)
>>> would clear that bit, setting WDE alone would not generate wdog_rst.
>>>
>>> So I believe a proper fix would have the following steps :
>>> - move watchdog driver to DM so that we can make use of endian type
>>> - use macros with the endian type for accessing the registers
>>> - enable hw_watchdog for the board so that it gets initialized to
>>> a known value
>>> - reset SRS to enable generation of wdog_rst, this will reset immediately
>>> with 0x00 default WT value.
>>> - or program the timeout and enable WDE so the board
>>> resets after a longer timeout value if desired
>>>
>>> Does this make sense to everyone ?
>> Looks good. 2015.10 release is only a few days away: do you think you
>> could implement your proposal for the upcoming release?
> That seems rather large. Is there something we can revert today so
> that:
> a) All boards in v2015.07 continue to work in v2015.10 as well as before
> b) Any new boards are not introduced in a totally broken state?
I agree, this is something needs to be done in steps and not in rush.
For coming out of rc4 and making sure ls1021atwr reset works, all
we need is to make sure that SRS bit is set and that this bit is written
properly with big endian. We could add that specifically for ls1021atw.
Still there is something not nice about the current implementation that
is kinda assumes hw_watchdog is enabled and _init is called but it doesn't
check for this. I will come up with something to have ls1021atwr working
and see if it feels clean enough.
Regards
Sinan Akman
next prev parent reply other threads:[~2015-10-01 19:28 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-28 21:09 [U-Boot] [ANN] U-Boot v2015.10-rc4 released Tom Rini
2015-09-29 6:41 ` Wolfgang Denk
2015-09-29 15:35 ` Lukasz Majewski
2015-09-30 16:47 ` Sinan Akman
2015-09-30 17:16 ` York Sun
2015-09-30 17:22 ` Sinan Akman
2015-09-30 18:02 ` Sinan Akman
2015-09-30 18:16 ` Fabio Estevam
2015-09-30 18:33 ` Sinan Akman
2015-09-30 18:56 ` Fabio Estevam
2015-09-30 19:03 ` Fabio Estevam
2015-09-30 19:09 ` Sinan Akman
2015-09-30 19:13 ` Fabio Estevam
2015-10-01 15:19 ` [U-Boot] ls1021atwr reset issue (was [ANN] U-Boot v2015.10-rc4 released) Sinan Akman
2015-10-01 19:09 ` Fabio Estevam
2015-10-01 19:14 ` Tom Rini
2015-10-01 19:17 ` Otavio Salvador
2015-10-01 19:33 ` Sinan Akman
2015-10-01 19:38 ` Fabio Estevam
2015-10-01 19:41 ` Sinan Akman
2015-10-01 19:28 ` Sinan Akman [this message]
2015-10-01 19:36 ` Fabio Estevam
2015-10-01 14:22 ` [U-Boot] [ANN] U-Boot v2015.10-rc4 released Wolfgang Denk
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=560D8948.6010807@writeme.com \
--to=sinan@writeme.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox