aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRabin Vincent <rabin.vincent@stericsson.com>2010-05-03 07:27:31 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-05-04 17:50:00 +0100
commitf38406bbfc5e1d4bd9726454ecb60ba52aa9da11 (patch)
treef2586f252296df9d0500e0e2a9eb672815a7c0f3 /arch
parent72638ddd1422df38d1b1b269038cfc8d66152c10 (diff)
downloadkernel_samsung_smdk4412-f38406bbfc5e1d4bd9726454ecb60ba52aa9da11.zip
kernel_samsung_smdk4412-f38406bbfc5e1d4bd9726454ecb60ba52aa9da11.tar.gz
kernel_samsung_smdk4412-f38406bbfc5e1d4bd9726454ecb60ba52aa9da11.tar.bz2
ARM: 6077/1: ux500: add SOC Kconfig variables
This adds the different config options for SoCs DB8500 and DB5500 and refines the SoC/CPU detection code to support the DB5500 as well via these. The selection between DB5500 and DB8500 is currently a simple compile-time choice. Acked-by: Linus Walleij <linus.walleij@stericsson.com> Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-ux500/Kconfig22
-rw-r--r--arch/arm/mach-ux500/include/mach/hardware.h13
2 files changed, 29 insertions, 6 deletions
diff --git a/arch/arm/mach-ux500/Kconfig b/arch/arm/mach-ux500/Kconfig
index cd412a3..699588f 100644
--- a/arch/arm/mach-ux500/Kconfig
+++ b/arch/arm/mach-ux500/Kconfig
@@ -1,16 +1,30 @@
+if ARCH_U8500
+
+config UX500_SOC_COMMON
+ bool
+ default y
+ select ARM_GIC
+ select HAS_MTU
+ select NOMADIK_GPIO
+
+config UX500_SOC_DB8500
+ bool
+
+config UX500_SOC_DB5500
+ bool
+
menu "ST-Ericsson platform type"
- depends on ARCH_U8500
comment "ST-Ericsson Multicore Mobile Platforms"
config MACH_U8500_MOP
bool "U8500 Early Development platform"
default y
- select ARM_GIC
- select HAS_MTU
- select NOMADIK_GPIO
+ select UX500_SOC_DB8500
help
Include support for mop500 development platform
based on U8500 architecture. The platform is based
on early drop silicon version of 8500.
endmenu
+
+endif
diff --git a/arch/arm/mach-ux500/include/mach/hardware.h b/arch/arm/mach-ux500/include/mach/hardware.h
index 99ca89f..d86b354 100644
--- a/arch/arm/mach-ux500/include/mach/hardware.h
+++ b/arch/arm/mach-ux500/include/mach/hardware.h
@@ -147,14 +147,23 @@
#include <asm/cputype.h>
+static inline bool cpu_is_u8500(void)
+{
+#ifdef CONFIG_UX500_SOC_DB8500
+ return 1;
+#else
+ return 0;
+#endif
+}
+
static inline bool cpu_is_u8500ed(void)
{
- return (read_cpuid_id() & 15) == 0;
+ return cpu_is_u8500() && (read_cpuid_id() & 15) == 0;
}
static inline bool cpu_is_u8500v1(void)
{
- return (read_cpuid_id() & 15) == 1;
+ return cpu_is_u8500() && (read_cpuid_id() & 15) == 1;
}
#endif