aboutsummaryrefslogtreecommitdiff
path: root/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h
diff options
context:
space:
mode:
authorRuslan V. Sushko <rsushko@ru.mvista.com>2007-04-06 15:00:31 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-04-21 20:51:55 +0100
commit45fba0846f5a5a48ed3c394aa4f8ca93699e7655 (patch)
tree9c5b34c26fbb3364f2cb4dc80501abaf31458a1b /include/asm-arm/arch-ixp4xx/ixp4xx-regs.h
parent25735d10ba477d5128b1e5ccef42062bea429075 (diff)
[ARM] 4311/1: ixp4xx: add KIXRP435 platform
Add Intel KIXRP435 Reference Platform based on IXP43x processor. Fixed after review : access to cp15 removed in identification functions, used access to global processor_id instead Signed-off-by: Vladimir Barinov <vbarinov@ru.mvista.com> Signed-off-by: Ruslan Sushko <rsushko@ru.mvista.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-arm/arch-ixp4xx/ixp4xx-regs.h')
-rw-r--r--include/asm-arm/arch-ixp4xx/ixp4xx-regs.h36
1 files changed, 32 insertions, 4 deletions
diff --git a/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h b/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h
index ed35e5c94f4..deb989950c5 100644
--- a/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h
+++ b/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h
@@ -607,15 +607,43 @@
#define DCMD_LENGTH 0x01fff /* length mask (max = 8K - 1) */
+/* Processor id value in CP15 Register 0 */
+#define IXP425_PROCESSOR_ID_VALUE 0x690541c0
+#define IXP435_PROCESSOR_ID_VALUE 0x69054040
+#define IXP465_PROCESSOR_ID_VALUE 0x69054200
+#define IXP4XX_PROCESSOR_ID_MASK 0xfffffff0
+
#ifndef __ASSEMBLY__
+static inline int cpu_is_ixp42x(void)
+{
+ extern unsigned int processor_id;
+
+ if ((processor_id & IXP4XX_PROCESSOR_ID_MASK) ==
+ IXP425_PROCESSOR_ID_VALUE )
+ return 1;
+
+ return 0;
+}
+
+static inline int cpu_is_ixp43x(void)
+{
+#ifdef CONFIG_CPU_IXP43X
+ extern unsigned int processor_id;
+
+ if ((processor_id & IXP4XX_PROCESSOR_ID_MASK) ==
+ IXP435_PROCESSOR_ID_VALUE )
+ return 1;
+#endif
+ return 0;
+}
+
static inline int cpu_is_ixp46x(void)
{
#ifdef CONFIG_CPU_IXP46X
- unsigned int processor_id;
-
- asm("mrc p15, 0, %0, cr0, cr0, 0;" : "=r"(processor_id) :);
+ extern unsigned int processor_id;
- if ((processor_id & 0xffffff00) == 0x69054200)
+ if ((processor_id & IXP4XX_PROCESSOR_ID_MASK) ==
+ IXP465_PROCESSOR_ID_VALUE )
return 1;
#endif
return 0;