u-boot/arch/arm/cpu/armv7
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
..
am33xx ARM: OMAP5/AM43xx: remove enabling USB clocks from enable_basic_clocks() 2015-08-28 12:33:22 -04:00
bcm281xx bcm281xx: add support for "USB OTG clock" 2014-12-29 16:31:23 -05:00
bcmcygnus arm: bcmcygnus: Add bcmcygnus u-architecture 2014-08-30 07:46:40 -04:00
bcmnsp arm: bcmnsp: Add bcmnsp u-architecture 2014-08-30 07:46:40 -04:00
iproc-common arm: iproc: Initial commit of iproc architecture code 2014-08-30 07:46:40 -04:00
kona-common bcm281xx: add support for "USB OTG clock" 2014-12-29 16:31:23 -05:00
ls102xa ls102xa: Fix reset hang 2015-10-12 12:56:32 -04:00
mx5 arch: Make board selection choices optional 2015-05-12 18:10:02 -04:00
mx6 imx: mx6: correct enable_fec_anatop_clock 2015-10-02 10:42:31 +02:00
mx7 imx: fix coding style 2015-09-24 11:32:38 +02:00
omap-common ARM: DRA7: emif: Fix disabling/enabling of refreshes 2015-09-11 14:05:36 -04:00
omap3 arm: Remove omap3_sdp3430 board 2015-09-11 14:56:52 -04:00
omap4 gpio: omap: Drop 'method' parameter 2015-08-12 20:48:06 -04:00
omap5 ARM: OMAP5/AM43xx: remove enabling USB clocks from enable_basic_clocks() 2015-08-28 12:33:22 -04:00
rmobile arm: rmobile: Add Stout board support 2015-08-31 17:32:59 +09:00
s5p-common exynos: Tidy up CPU frequency display 2015-08-05 21:06:14 -06:00
s5pc1xx of: flip CONFIG_SPL_DISABLE_OF_CONTROL into CONFIG_SPL_OF_CONTROL 2015-08-18 13:46:04 -04:00
stv0991 stv0991: configure clock & pad muxing for qspi 2015-07-03 13:50:53 +05:30
sunxi sunxi: retrieve FEL-provided values to environment variables 2015-09-29 11:50:07 +02:00
vf610 imx: vf610 add get_cpu_rev 2015-09-02 15:39:51 +02:00
arch_timer.c arm: add support for arch timer 2014-04-17 17:24:38 -04:00
cache_v7.c ARM: cache: implement a default weak flush_cache() function 2015-08-12 20:47:48 -04:00
config.mk ARM: move -march=* and -mtune= options to arch/arm/Makefile 2015-03-27 16:55:22 +01:00
cp15.c ARM: Introduce erratum workaround for 454179 2015-03-13 09:28:48 -04:00
cpu.c arm: Turn of d-cache before i-cache 2015-09-02 21:28:25 -06:00
Kconfig tegra: Boot in non-secure mode by default 2015-05-13 09:24:16 -07:00
lowlevel_init.S ARM: SPL: Use CONFIG_SPL_DM not CONFIG_DM 2015-08-12 20:48:07 -04:00
Makefile arm: Remove unused ST-Ericsson u8500 arch 2015-09-15 15:05:21 -04:00
nonsec_virt.S arndale: Apply Cortex-A15 errata #773022 and #774769 2015-10-11 17:12:11 -04:00
psci.S ARM: Put target PC for PSCI CPU_ON on per-CPU stack 2015-05-13 09:24:14 -07:00
start.S ARM: Introduce erratum workaround for 801819 2015-08-12 20:47:49 -04:00
syslib.c ARM: OMAP: hide custom bit manipulation function sr32() 2014-04-17 14:39:54 -04:00
virt-dt.c virt-dt: Allow reservation of secure region when in a RAM carveout 2015-05-13 09:24:14 -07:00
virt-v7.c tegra124: Reserve secure RAM using MC_SECURITY_CFG{0, 1}_0 2015-05-13 09:24:15 -07:00