u-boot-brain/arch/arm
Akshay Saraswat ac0d98cd55 Exynos542x: CPU: Power down all secondary cores
This patch adds code to shutdown secondary cores.
When U-boot comes up, all secondary cores appear powered on,
which is undesirable and causes side effects while
initializing these cores in kernel.

Secondary core power down happens in following steps:

Step-1: After Exynos power-on, primary core starts executing first.
Step-2: In iROM code every core has to check 2 flags i.e.
	addresses 0x02020028 & 0x02020004.
Step-3: Initially 0x02020028 is 0 for all cores and 0x02020004 has a
	jump address for primary core and 0 for all secondary cores.
Step-4: Therefore, primary core follows normal iROM execution and jumps
	to BL1 eventually, whereas all secondary cores enter WFE.
Step-5: When primary core comes into function secondary_cores_configure,
	it puts pointer to function power_down_core into 0x02020004
	and provides DSB and SEV for all cores so that they may come out
	of WFE and jump to power_down_core function.
Step-6: And ultimately because of power_down_core all
	secondary cores shut-down.

Signed-off-by: Kimoon Kim <kimoon.kim@samsung.com>
Signed-off-by: Akshay Saraswat <akshay.s@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2015-02-28 18:03:46 +09:00
..
cpu Exynos542x: CPU: Power down all secondary cores 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: CPU: Power down all secondary cores 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