u-boot-brain/arch/arm/cpu/armv7
Alison Wang a1399534f1 arm: ls1021a: Ensure Generic Timer disabled before jumping into the OS
This patch addresses a problem mentioned recently on this mailing list:
[1].

In that posting a LS1021 based system was locking up at about 5 minutes
after boot,but the problem was mysteriously related to the toolchain
used for building u-boot.Debugging the problem reveals a stuck
interrupt 29 on the GIC.

It appears Freescale's LS1021 support in u-boot erroneously sets the
64-bit ARM generic PL1 physical time CompareValue register to all-ones
with a 32-bit value.This causes the timer compare to fire 344 seconds
after u-boot configures it.Depending on how fast u-boot gets the
kernel booted,this amounts to about 5-minutes of Linux uptime before
locking up.

Apparently the bug is masked by some toolchains. Perhaps this is
explained by default compiler options, word sizes, or binutils versions.

To fix the above issue, the generic physical timer is disabled
before jumping to the OS.

[1]
https://lists.yoctoproject.org/pipermail/meta-freescale/2015-June/014400.html

Signed-off-by: Chris Kilgour <techie@whiterocker.com>
Signed-off-by: Alison Wang <alison.wang@freescale.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: York Sun <yorksun@freescale.com>
2015-11-30 08:53:01 -08:00
..
am33xx am33xx: Remove serial_init in s_init for QSPI/NOR XIP boot 2015-11-23 11:01:53 -05: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 arm: ls1021a: Ensure Generic Timer disabled before jumping into the OS 2015-11-30 08:53:01 -08:00
mx5 arch: Make board selection choices optional 2015-05-12 18:10:02 -04:00
mx6 imx: mx6: implement reset_misc 2015-11-12 17:40:53 +01:00
mx7 mx7: psci: add basic psci support 2015-11-12 17:31:16 +01:00
omap-common omap-common: Common get_board_serial function to pass serial through ATAG 2015-10-22 14:18:31 -04:00
omap3 omap-common: Common function to display die id, replacing omap3-specific version 2015-10-22 14:18:30 -04:00
omap4 omap4: omap_die_id support 2015-10-22 14:17:20 -04:00
omap5 board: ti: beagle_x15: Rename to indicate support for TI am57xx evms 2015-11-18 08:47:03 -05:00
rmobile arm: rmobile: Add Stout board support 2015-08-31 17:32:59 +09:00
s5p-common s5p: cpu_info: print "cpu-model" if exists in dts 2015-11-02 10:37:59 +09: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: clock: Set AHB1 clock frequency to 200MHz on Allwinner H3 2015-11-22 11:31:00 +01: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