]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/arm/mach-pxa/include/mach/hardware.h
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / arch / arm / mach-pxa / include / mach / hardware.h
index 814f1458a06a52ec5af6b37643ca4b6db602dd55..6957ba56025bb4728313dc7da3694d46ad3a8394 100644 (file)
@@ -13,6 +13,8 @@
 #ifndef __ASM_ARCH_HARDWARE_H
 #define __ASM_ARCH_HARDWARE_H
 
+#include <mach/addr-map.h>
+
 /*
  * Workarounds for at least 2 errata so far require this.
  * The mapping is set in mach-pxa/generic.c.
 #define __cpu_is_pxa935(id)    (0)
 #endif
 
-#ifdef CONFIG_CPU_PXA950
-#define __cpu_is_pxa950(id)                             \
-       ({                                              \
+#ifdef CONFIG_CPU_PXA955
+#define __cpu_is_pxa955(id)                            \
+       ({                                              \
                unsigned int _id = (id) >> 4 & 0xfff;   \
-               _id == 0x697;                           \
-        })
+               _id == 0x581 || _id == 0xc08            \
+                       || _id == 0xb76;                \
+       })
 #else
-#define __cpu_is_pxa950(id)    (0)
+#define __cpu_is_pxa955(id)    (0)
 #endif
 
 #define cpu_is_pxa210()                                        \
                __cpu_is_pxa935(read_cpuid_id());       \
         })
 
-#define cpu_is_pxa950()                                        \
+#define cpu_is_pxa955()                                        \
        ({                                              \
-               __cpu_is_pxa950(read_cpuid_id());       \
-        })
+               __cpu_is_pxa955(read_cpuid_id());       \
+       })
 
 
 /*
  * CPUID Core Generation Bit
  * <= 0x2 for pxa21x/pxa25x/pxa26x/pxa27x
- * == 0x3 for pxa300/pxa310/pxa320
  */
 #if defined(CONFIG_PXA25x) || defined(CONFIG_PXA27x)
 #define __cpu_is_pxa2xx(id)                            \
 #ifdef CONFIG_PXA3xx
 #define __cpu_is_pxa3xx(id)                            \
        ({                                              \
-               unsigned int _id = (id) >> 13 & 0x7;    \
-               _id == 0x3;                             \
+               __cpu_is_pxa300(id)                     \
+                       || __cpu_is_pxa310(id)          \
+                       || __cpu_is_pxa320(id)          \
+                       || __cpu_is_pxa93x(id);         \
         })
 #else
 #define __cpu_is_pxa3xx(id)    (0)
 #if defined(CONFIG_CPU_PXA930) || defined(CONFIG_CPU_PXA935)
 #define __cpu_is_pxa93x(id)                            \
        ({                                              \
-               unsigned int _id = (id) >> 4 & 0xfff;   \
-               _id == 0x683 || _id == 0x693;           \
+               __cpu_is_pxa930(id)                     \
+                       || __cpu_is_pxa935(id);         \
         })
 #else
 #define __cpu_is_pxa93x(id)    (0)
 #endif
 
+#ifdef CONFIG_PXA95x
+#define __cpu_is_pxa95x(id)                            \
+       ({                                              \
+               __cpu_is_pxa955(id);                    \
+       })
+#else
+#define __cpu_is_pxa95x(id)    (0)
+#endif
+
 #define cpu_is_pxa2xx()                                        \
        ({                                              \
                __cpu_is_pxa2xx(read_cpuid_id());       \
        ({                                              \
                __cpu_is_pxa93x(read_cpuid_id());       \
         })
+
+#define cpu_is_pxa95x()                                        \
+       ({                                              \
+               __cpu_is_pxa95x(read_cpuid_id());       \
+       })
+
 /*
  * return current memory and LCD clock frequency in units of 10kHz
  */