[U-Boot] [PATCH v3 2/2] ls102xa: Fix reset hang
Fabio Estevam
festevam at gmail.com
Mon Oct 12 17:53:12 CEST 2015
Hi Tom,
On Sat, Oct 3, 2015 at 2:21 PM, Fabio Estevam <festevam at gmail.com> wrote:
> From: Fabio Estevam <fabio.estevam at freescale.com>
>
> Since commit 623d96e89aca6("imx: wdog: correct wcr register settings")
> issuing a 'reset' command causes the system to hang.
>
> Unlike i.MX and Vybrid, the watchdog controller on LS102x is big-endian.
>
> This means that the watchdog on LS1021 has been working by accident as
> it does not use the big-endian accessors in drivers/watchdog/imx_watchdog.c.
> Commit 623d96e89aca6("imx: wdog: correct wcr register settings") only
> revelead the endianness problem on LS102x.
>
> In order to fix the reset hang, introduce a reset_cpu() implementation that
> is specific for ls102x, which accesses the watchdog WCR register in big-endian
> format. All that is required to reset LS102x is to clear the SRS bit.
>
> This approach is a temporary workaround to avoid a regression for LS102x
> in the 2015.10 release. The proper fix is to make the watchdog driver
> endian-aware, so that it can work for i.MX, Vybrid and LS102x.
>
> Reported-by: Sinan Akman <sinan at writeme.com>
> Tested-by: Sinan Akman <sinan at writeme.com>
> Reviewed-by: Wolfgang Denk <wd at denx.de>
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
Are you happy with this series?
This one fixes a regression, so it would be nice to have it applied in 2015.10.
Thanks
More information about the U-Boot
mailing list