u-boot/arch/arm/cpu/armv7/ls102xa
Fabio Estevam f861f51c46 ls102xa: Fix reset hang
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@writeme.com>
Tested-by: Sinan Akman <sinan@writeme.com>
Reviewed-by: Wolfgang Denk <wd@denx.de>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
2015-10-12 12:56:32 -04:00
..
clock.c driver/ifc: Add 64KB page support 2015-04-23 16:46:50 -07:00
cpu.c ls102xa: Fix reset hang 2015-10-12 12:56:32 -04:00
fdt.c arm: ls1021a: Remove the inappropriate use of the function 'sprintf' 2015-07-20 11:44:38 -07:00
fsl_epu.c arm: ls102xa: clear EPU registers for deep sleep 2014-12-11 09:35:42 -08:00
fsl_epu.h arm: ls102xa: clear EPU registers for deep sleep 2014-12-11 09:35:42 -08:00
fsl_ls1_serdes.c arm: ls102xa: Add Freescale LS102xA SoC support 2014-09-08 10:30:32 -07:00
fsl_ls1_serdes.h arm: ls102xa: Add Freescale LS102xA SoC support 2014-09-08 10:30:32 -07:00
ls102xa_serdes.c arm: ls102xa: Add Freescale LS102xA SoC support 2014-09-08 10:30:32 -07:00
Makefile arm/ls102xa: Add PSCI support for ls102xa 2015-07-20 11:44:38 -07:00
psci.S arm/ls102xa: Add PSCI support for ls102xa 2015-07-20 11:44:38 -07:00
spl.c arm: ls102xa: Add SD boot support for LS1021AQDS board 2014-12-11 09:39:22 -08:00
timer.c arm: ls102xa: Add Freescale LS102xA SoC support 2014-09-08 10:30:32 -07:00