u-boot-brain/arch/arm
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
..
cpu arm: ls1021a: Ensure Generic Timer disabled before jumping into the OS 2015-11-30 08:53:01 -08:00
dts Merge branch 'master' of http://git.denx.de/u-boot-sunxi 2015-11-22 08:20:03 -05:00
imx-common imx: mx7: compile misc.c for mx7 2015-11-12 17:40:54 +01:00
include arm: ls1021a: Ensure LS1021 ARM Generic Timer CompareValue Set 64-bit 2015-11-30 08:53:01 -08:00
lib arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD 2015-11-10 15:03:48 +01:00
mach-at91 Various Makefiles: Add SPDX-License-Identifier tags 2015-11-10 09:19:52 -05:00
mach-bcm283x ARM: rpi: add another revision of Raspberry Pi A+ 2015-10-19 08:12:25 +02:00
mach-davinci arm: Remove da830evm board 2015-09-28 10:48:23 -04:00
mach-exynos arm: exynos: clean up checkpatch issues 2015-11-02 10:38:22 +09:00
mach-highbank ARM: highbank: move SoC sources to mach-highbank 2015-02-21 08:23:51 -05:00
mach-integrator integrator: switch to DM serial port 2015-08-12 20:47:49 -04:00
mach-keystone ARM: k2g: add SD card and eMMC support 2015-10-22 14:22:25 -04:00
mach-kirkwood Revive OpenRD targets 2015-11-10 15:04:21 +01:00
mach-mvebu arm: mvebu: a38x: serdes specification cleanup 2015-11-17 23:41:41 +01:00
mach-orion5x arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD 2015-11-10 15:03:48 +01:00
mach-rockchip ns16550: unify serial_rockchip 2015-11-21 21:50:15 -05:00
mach-socfpga arm: socfpga: reset: correct dma, qspi, and sdmmc reset bit defines 2015-11-03 17:32:16 +01:00
mach-tegra ns16550: unify serial_tegra 2015-11-21 21:50:16 -05:00
mach-uniphier ARM: uniphier: drop UniPhier specific SMP code 2015-11-11 23:35:35 +09:00
mach-versatile arm: Remove versatileab board 2015-09-11 15:01:25 -04:00
mach-zynq ARM: zynq: Remove zc70x target 2015-11-04 14:49:53 +01:00
mvebu-common arm: mvebu: Move mvebu-common into mach-mvebu 2015-05-05 14:28:29 +02:00
thumb1/include/asm/proc-armv arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD 2015-11-10 15:03:48 +01:00
config.mk arm: Include the .got section in the binary 2015-05-14 18:49:34 -06:00
Kconfig dm: cros_ec: Convert cros_ec keyboard driver to driver model 2015-11-19 20:13:40 -07:00
Kconfig.debug arm: debug: add Kconfig entries for lowlevel debug 2014-10-26 22:23:12 +01:00
Makefile arm: Remove unused reference to nomadik 2015-09-15 15:05:22 -04:00