aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos
diff options
context:
space:
mode:
authorKukjin Kim <kgene.kim@samsung.com>2012-01-25 15:35:57 +0900
committerKukjin Kim <kgene.kim@samsung.com>2012-03-14 02:35:15 -0700
commite9bba61522a7650b0e4d9952bb3ece81d473a52c (patch)
tree7619168da722aaecb9a43837298a161b7f164e79 /arch/arm/mach-exynos
parentARM: EXYNOS: support EINT for EXYNOS4 and EXYNOS5 (diff)
downloadlinux-dev-e9bba61522a7650b0e4d9952bb3ece81d473a52c.tar.xz
linux-dev-e9bba61522a7650b0e4d9952bb3ece81d473a52c.zip
ARM: EXYNOS: add support get_core_count() for EXYNOS5250
The EXYNOS5250 has two Cortex-A15 cores and there's no need to call scu_enable() in platform_smp_prepare_cpus() because Cortex-A15 has no regarding scu register which can be used for getting number of cores. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-exynos')
-rw-r--r--arch/arm/mach-exynos/platsmp.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/arm/mach-exynos/platsmp.c b/arch/arm/mach-exynos/platsmp.c
index 0f2035a1eb6e..36c3984aaa47 100644
--- a/arch/arm/mach-exynos/platsmp.c
+++ b/arch/arm/mach-exynos/platsmp.c
@@ -166,7 +166,10 @@ void __init smp_init_cpus(void)
void __iomem *scu_base = scu_base_addr();
unsigned int i, ncores;
- ncores = scu_base ? scu_get_core_count(scu_base) : 1;
+ if (soc_is_exynos5250())
+ ncores = 2;
+ else
+ ncores = scu_base ? scu_get_core_count(scu_base) : 1;
/* sanity check */
if (ncores > nr_cpu_ids) {
@@ -183,8 +186,8 @@ void __init smp_init_cpus(void)
void __init platform_smp_prepare_cpus(unsigned int max_cpus)
{
-
- scu_enable(scu_base_addr());
+ if (!soc_is_exynos5250())
+ scu_enable(scu_base_addr());
/*
* Write the address of secondary startup into the