diff --git a/arch/arm/mach-ux500/Kconfig b/arch/arm/mach-ux500/Kconfig
index cd412a3e0ab8e2e170b862b0d6fbcd0c98492ac6..699588f7da87ef168cb93dace8bec346f1534d48 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 99ca89fe9b30ab13717da71340630ec5a2e71d07..d86b3543dd237ce6bb21602f92b71a8e00be03ab 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