0001
0002
0003
0004
0005
0006
0007
0008 #ifndef __SOC_PXA_CPU_H
0009 #define __SOC_PXA_CPU_H
0010
0011 #ifdef CONFIG_ARM
0012 #include <asm/cputype.h>
0013 #endif
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058 #ifdef CONFIG_PXA25x
0059 #define __cpu_is_pxa210(id) \
0060 ({ \
0061 unsigned int _id = (id) & 0xf3f0; \
0062 _id == 0x2120; \
0063 })
0064
0065 #define __cpu_is_pxa250(id) \
0066 ({ \
0067 unsigned int _id = (id) & 0xf3ff; \
0068 _id <= 0x2105; \
0069 })
0070
0071 #define __cpu_is_pxa255(id) \
0072 ({ \
0073 unsigned int _id = (id) & 0xffff; \
0074 _id == 0x2d06; \
0075 })
0076
0077 #define __cpu_is_pxa25x(id) \
0078 ({ \
0079 unsigned int _id = (id) & 0xf300; \
0080 _id == 0x2100; \
0081 })
0082 #else
0083 #define __cpu_is_pxa210(id) (0)
0084 #define __cpu_is_pxa250(id) (0)
0085 #define __cpu_is_pxa255(id) (0)
0086 #define __cpu_is_pxa25x(id) (0)
0087 #endif
0088
0089 #ifdef CONFIG_PXA27x
0090 #define __cpu_is_pxa27x(id) \
0091 ({ \
0092 unsigned int _id = (id) >> 4 & 0xfff; \
0093 _id == 0x411; \
0094 })
0095 #else
0096 #define __cpu_is_pxa27x(id) (0)
0097 #endif
0098
0099 #ifdef CONFIG_CPU_PXA300
0100 #define __cpu_is_pxa300(id) \
0101 ({ \
0102 unsigned int _id = (id) >> 4 & 0xfff; \
0103 _id == 0x688; \
0104 })
0105 #else
0106 #define __cpu_is_pxa300(id) (0)
0107 #endif
0108
0109 #ifdef CONFIG_CPU_PXA310
0110 #define __cpu_is_pxa310(id) \
0111 ({ \
0112 unsigned int _id = (id) >> 4 & 0xfff; \
0113 _id == 0x689; \
0114 })
0115 #else
0116 #define __cpu_is_pxa310(id) (0)
0117 #endif
0118
0119 #ifdef CONFIG_CPU_PXA320
0120 #define __cpu_is_pxa320(id) \
0121 ({ \
0122 unsigned int _id = (id) >> 4 & 0xfff; \
0123 _id == 0x603 || _id == 0x682; \
0124 })
0125 #else
0126 #define __cpu_is_pxa320(id) (0)
0127 #endif
0128
0129 #ifdef CONFIG_CPU_PXA930
0130 #define __cpu_is_pxa930(id) \
0131 ({ \
0132 unsigned int _id = (id) >> 4 & 0xfff; \
0133 _id == 0x683; \
0134 })
0135 #else
0136 #define __cpu_is_pxa930(id) (0)
0137 #endif
0138
0139 #ifdef CONFIG_CPU_PXA935
0140 #define __cpu_is_pxa935(id) \
0141 ({ \
0142 unsigned int _id = (id) >> 4 & 0xfff; \
0143 _id == 0x693; \
0144 })
0145 #else
0146 #define __cpu_is_pxa935(id) (0)
0147 #endif
0148
0149 #define cpu_is_pxa210() \
0150 ({ \
0151 __cpu_is_pxa210(read_cpuid_id()); \
0152 })
0153
0154 #define cpu_is_pxa250() \
0155 ({ \
0156 __cpu_is_pxa250(read_cpuid_id()); \
0157 })
0158
0159 #define cpu_is_pxa255() \
0160 ({ \
0161 __cpu_is_pxa255(read_cpuid_id()); \
0162 })
0163
0164 #define cpu_is_pxa25x() \
0165 ({ \
0166 __cpu_is_pxa25x(read_cpuid_id()); \
0167 })
0168
0169 #define cpu_is_pxa27x() \
0170 ({ \
0171 __cpu_is_pxa27x(read_cpuid_id()); \
0172 })
0173
0174 #define cpu_is_pxa300() \
0175 ({ \
0176 __cpu_is_pxa300(read_cpuid_id()); \
0177 })
0178
0179 #define cpu_is_pxa310() \
0180 ({ \
0181 __cpu_is_pxa310(read_cpuid_id()); \
0182 })
0183
0184 #define cpu_is_pxa320() \
0185 ({ \
0186 __cpu_is_pxa320(read_cpuid_id()); \
0187 })
0188
0189 #define cpu_is_pxa930() \
0190 ({ \
0191 __cpu_is_pxa930(read_cpuid_id()); \
0192 })
0193
0194 #define cpu_is_pxa935() \
0195 ({ \
0196 __cpu_is_pxa935(read_cpuid_id()); \
0197 })
0198
0199
0200
0201
0202
0203
0204
0205 #if defined(CONFIG_PXA25x) || defined(CONFIG_PXA27x)
0206 #define __cpu_is_pxa2xx(id) \
0207 ({ \
0208 unsigned int _id = (id) >> 13 & 0x7; \
0209 _id <= 0x2; \
0210 })
0211 #else
0212 #define __cpu_is_pxa2xx(id) (0)
0213 #endif
0214
0215 #ifdef CONFIG_PXA3xx
0216 #define __cpu_is_pxa3xx(id) \
0217 ({ \
0218 __cpu_is_pxa300(id) \
0219 || __cpu_is_pxa310(id) \
0220 || __cpu_is_pxa320(id) \
0221 || __cpu_is_pxa93x(id); \
0222 })
0223 #else
0224 #define __cpu_is_pxa3xx(id) (0)
0225 #endif
0226
0227 #if defined(CONFIG_CPU_PXA930) || defined(CONFIG_CPU_PXA935)
0228 #define __cpu_is_pxa93x(id) \
0229 ({ \
0230 __cpu_is_pxa930(id) \
0231 || __cpu_is_pxa935(id); \
0232 })
0233 #else
0234 #define __cpu_is_pxa93x(id) (0)
0235 #endif
0236
0237 #define cpu_is_pxa2xx() \
0238 ({ \
0239 __cpu_is_pxa2xx(read_cpuid_id()); \
0240 })
0241
0242 #define cpu_is_pxa3xx() \
0243 ({ \
0244 __cpu_is_pxa3xx(read_cpuid_id()); \
0245 })
0246
0247 #define cpu_is_pxa93x() \
0248 ({ \
0249 __cpu_is_pxa93x(read_cpuid_id()); \
0250 })
0251
0252 #endif