]> git.kernelconcepts.de Git - karo-tx-uboot.git/commit
Exynos542x: CPU: Power down all secondary cores
authorAkshay Saraswat <akshay.s@samsung.com>
Fri, 20 Feb 2015 07:57:12 +0000 (13:27 +0530)
committerLothar Waßmann <LW@KARO-electronics.de>
Tue, 1 Sep 2015 12:05:52 +0000 (14:05 +0200)
commit90701c1fac829b748050c4168cc6d6e6d519557f
treef9a59a9c8e1c6ef46be62bdfd7950eaa43ee2c12
parent3d67c51fb9a57f18b36769ebd78f7c052d9ebcfa
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>
arch/arm/cpu/armv7/exynos/exynos5_setup.h
arch/arm/cpu/armv7/exynos/lowlevel_init.c
arch/arm/include/asm/arch-exynos/cpu.h
arch/arm/include/asm/arch-exynos/system.h