[U-Boot] [PATCH v2] ls102xa: Fix reset hang

Wolfgang Denk wd at denx.de
Fri Oct 2 17:54:24 CEST 2015


Dear Fabio Estevam,

In message <1443799557-26419-2-git-send-email-festevam at gmail.com> you wrote:
> 
> 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.
> 
> Reported-by: Sinan Akman <sinan at writeme.com>
> Tested-by: Sinan Akman <sinan at writeme.com>
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
> ---
> Changes since v1:
> - Do not add duplicate wdog struct (Wolfgang)

Thanks a lot!

Reviewed-by: Wolfgang Denk <wd at denx.de>

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Work 8 hours, sleep 8 hours; but not the same 8 hours.


More information about the U-Boot mailing list