u-boot-brain/arch/arm/cpu/armv7/exynos
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
..
clock_init_exynos4.c EXYNOS: Move files from board/samsung to arch/arm 2013-07-05 17:06:55 +09:00
clock_init_exynos5.c Exynos5800: Introduce new proid for Exynos5800 2014-11-17 19:03:38 +09:00
clock_init.h arm: exynos: Add RPLL for Exynos5420 2014-09-05 20:37:07 +09:00
clock.c Exynos: Clock: Cleanup soc_get_periph_rate 2015-02-13 17:23:06 +09:00
common_setup.h EXYNOS: Move files from board/samsung to arch/arm 2013-07-05 17:06:55 +09:00
config.mk arm: put .hash, .got.plt and .machine_param back in binaries 2014-01-14 11:43:10 +01:00
dmc_common.c Exynos5: DMC: Modify the definition of ddr3_mem_ctrl_init 2014-06-13 17:05:13 +09:00
dmc_init_ddr3.c Exynos5: ddr3: Choose between single or double channel config 2014-11-17 19:03:38 +09:00
dmc_init_exynos4.c EXYNOS: Move files from board/samsung to arch/arm 2013-07-05 17:06:55 +09:00
exynos4_setup.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
exynos5_setup.h Exynos542x: CPU: Power down all secondary cores 2015-02-28 18:03:46 +09:00
Kconfig kconfig: remove unneeded dependency on !SPL_BUILD 2015-02-24 17:06:27 -05:00
lowlevel_init.c Exynos542x: CPU: Power down all secondary cores 2015-02-28 18:03:46 +09:00
Makefile armv7: convert makefiles to Kbuild style 2013-10-31 12:53:39 -04:00
pinmux.c exynos5: pinmux: check flag for i2c config 2015-01-29 17:10:00 -07:00
power.c EXYNOS5: Add function to enable exynos5420 usbdev phy ctrl 2015-02-13 17:19:55 +09:00
soc.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
spl_boot.c arm: Allow lr to be saved by board code 2015-02-16 20:14:54 +01:00
system.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
tzpc.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00