u-boot/arch/arm
Akshay Saraswat 67a0652c47 Exynos542x: Add workaround for exynos iROM errata
iROM logic provides undesired jump address for CPU2.
This patch adds a programmable susbstitute for a part of
iROM logic which wakes up cores and provides jump addresses.
This patch creates a logic to make all secondary cores jump
to a particular address which evades the possibility of CPU2
jumping to wrong address and create undesired results.

Logic of the workaround:

Step-1: iROM code checks value at address 0x2020028.
Step-2: If value is 0xc9cfcfcf, it jumps to the address (0x202000+CPUid*4),
	else, it continues executing normally.
Step-3: Primary core puts secondary cores in WFE and store 0xc9cfcfcf in
	0x2020028 and jump address (pointer to function low_power_start)
	in (0x202000+CPUid*4).
Step-4: When secondary cores recieve event signal they jump to this address
	and continue execution.

Signed-off-by: Kimoon Kim <kimoon.kim@samsung.com>
Signed-off-by: Akshay Saraswat <akshay.s@samsung.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2015-02-28 18:03:46 +09:00
..
cpu Exynos542x: Add workaround for exynos iROM errata 2015-02-28 18:03:46 +09:00
dts Odroid-XU3: Add eMMC-reset node on DT 2015-02-13 17:17:10 +09:00
imx-common imx: i2c: Zap unnecessary malloc() calls 2014-12-30 14:05:48 +01:00
include Exynos542x: Add workaround for ARM errata 799270 2015-02-28 18:03:46 +09:00
lib Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq 2015-02-25 18:14:18 -05:00
mach-at91 ARM: at91: move SoC headers to mach-at91/include/mach 2015-02-21 08:23:52 -05:00
mach-davinci ARM: davinci: remove hawkboard support 2015-02-24 17:07:29 -05:00
mach-highbank ARM: highbank: move SoC sources to mach-highbank 2015-02-21 08:23:51 -05:00
mach-keystone ARM: keystone: move SoC headers to mach-keystone/include/mach 2015-02-21 08:23:52 -05:00
mach-kirkwood ARM: kirkwood: move SoC headers to mach-kirkwood/include/mach 2015-02-21 08:23:52 -05:00
mach-nomadik ARM: nomadik: move SoC headers to mach-nomadik/include/mach 2015-02-21 08:23:52 -05:00
mach-orion5x ARM: orion5x: move SoC headers to mach-orion5x/include/mach 2015-02-21 08:23:52 -05:00
mach-tegra kconfig: remove unneeded dependency on !SPL_BUILD 2015-02-24 17:06:27 -05:00
mach-versatile ARM: versatile: move SoC sources to mach-versatile 2015-02-21 08:23:51 -05:00
mvebu-common arm: mvebu: Add Serdes PHY config code 2015-02-06 17:24:59 +01:00
config.mk arm: build arch memset/memcpy in Thumb2 mode 2015-01-09 10:20:22 -05:00
Kconfig ARM: remove tnetv107x board support 2015-02-24 17:07:24 -05:00
Kconfig.debug arm: debug: add Kconfig entries for lowlevel debug 2014-10-26 22:23:12 +01:00
Makefile ARM: prepare for including <mach/*.h> 2015-02-21 08:23:52 -05:00