• Fabio Estevam's avatar
    ls102xa: Fix reset hang · f861f51c
    Fabio Estevam authored
    Since commit 623d96e8("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 623d96e8("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: default avatarSinan Akman <sinan@writeme.com>
    Tested-by: default avatarSinan Akman <sinan@writeme.com>
    Reviewed-by: default avatarWolfgang Denk <wd@denx.de>
    Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
    f861f51c
Name
Last commit
Last update
Licenses Loading commit data...
api Loading commit data...
arch Loading commit data...
board Loading commit data...
common Loading commit data...
configs Loading commit data...
disk Loading commit data...
doc Loading commit data...
drivers Loading commit data...
dts Loading commit data...
examples Loading commit data...
fs Loading commit data...
include Loading commit data...
lib Loading commit data...
net Loading commit data...
post Loading commit data...
scripts Loading commit data...
test Loading commit data...
tools Loading commit data...
.checkpatch.conf Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
.travis.yml Loading commit data...
Kbuild Loading commit data...
Kconfig Loading commit data...
MAINTAINERS Loading commit data...
MAKEALL Loading commit data...
Makefile Loading commit data...
README Loading commit data...
config.mk Loading commit data...
snapshot.commit Loading commit data...