summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ux500/include/mach/hardware.h
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@stericsson.com>2010-08-19 10:27:49 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-09-02 15:46:19 +0100
commitf946738ca882c365a963043de471f45e91ab0a95 (patch)
tree1f4beb6514b94e980e093b0b52bd22189b2563f2 /arch/arm/mach-ux500/include/mach/hardware.h
parent2bfc96a127bc1cc94d26bfaa40159966064f9c8c (diff)
downloadtalos-obmc-linux-f946738ca882c365a963043de471f45e91ab0a95.tar.gz
talos-obmc-linux-f946738ca882c365a963043de471f45e91ab0a95.zip
ARM: 6331/1: ux500 cpu/SoC version macros v2
This patch adds support for checking if the digital baseband (DB) System-on-Chip (aka "cpu) ASIC hardware version is 1.0, 1.1 or 2.0. We print the result in the bootlog, the functions are then used for runtime decisions based on hardware version. Signed-off-by: Mattias Wallin <mattias.wallin@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-ux500/include/mach/hardware.h')
-rw-r--r--arch/arm/mach-ux500/include/mach/hardware.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/arch/arm/mach-ux500/include/mach/hardware.h b/arch/arm/mach-ux500/include/mach/hardware.h
index 8656379a8309..32e883a8f2a2 100644
--- a/arch/arm/mach-ux500/include/mach/hardware.h
+++ b/arch/arm/mach-ux500/include/mach/hardware.h
@@ -104,16 +104,35 @@ static inline bool cpu_is_u8500(void)
#endif
}
+#define CPUID_DB8500ED 0x410fc090
+#define CPUID_DB8500V1 0x411fc091
+#define CPUID_DB8500V2 0x412fc091
+
static inline bool cpu_is_u8500ed(void)
{
- return cpu_is_u8500() && (read_cpuid_id() & 15) == 0;
+ return cpu_is_u8500() && (read_cpuid_id() == CPUID_DB8500ED);
}
static inline bool cpu_is_u8500v1(void)
{
- return cpu_is_u8500() && (read_cpuid_id() & 15) == 1;
+ return cpu_is_u8500() && (read_cpuid_id() == CPUID_DB8500V1);
+}
+
+static inline bool cpu_is_u8500v2(void)
+{
+ return cpu_is_u8500() && (read_cpuid_id() == CPUID_DB8500V2);
}
+#ifdef CONFIG_UX500_SOC_DB8500
+bool cpu_is_u8500v10(void);
+bool cpu_is_u8500v11(void);
+bool cpu_is_u8500v20(void);
+#else
+static inline bool cpu_is_u8500v10(void) { return false; }
+static inline bool cpu_is_u8500v11(void) { return false; }
+static inline bool cpu_is_u8500v20(void) { return false; }
+#endif
+
static inline bool cpu_is_u5500(void)
{
#ifdef CONFIG_UX500_SOC_DB5500
OpenPOWER on IntegriCloud