[U-Boot] [PATCH v2 02/11] Exynos542x: CPU: Power down all secondary cores
Simon Glass
sjg at chromium.org
Wed Feb 4 16:00:56 CET 2015
On 3 February 2015 at 01:18, Akshay Saraswat <akshay.s at samsung.com> wrote:
> 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 at samsung.com>
> Signed-off-by: Akshay Saraswat <akshay.s at samsung.com>
> ---
> Changes since v1:
> - Removed unnecessary macros.
> - Changed names of few macros for better understanding.
> - Added MPIDR bit assignment info comment in power_down_core.
>
> arch/arm/cpu/armv7/exynos/exynos5_setup.h | 3 ++
> arch/arm/cpu/armv7/exynos/lowlevel_init.c | 69 ++++++++++++++++++++++++
> arch/arm/include/asm/arch-exynos/cpu.h | 5 ++
> arch/arm/include/asm/arch-exynos/system.h | 87 +++++++++++++++++++++++++++++++
> 4 files changed, 164 insertions(+)
Reviewed-by: Simon Glass <sjg at chromium.org>
More information about the U-Boot
mailing list