[ARM] pxa: add PXA3 cpu_is_xxx() macros

Extracted from patch by Eric Miao, this adds the cpu_is_xxx() macros
for identifying PXA3 SoCs.

Signed-off-by: eric miao <eric.y.miao@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
eric miao 2007-09-11 19:13:17 -07:00 committed by Russell King
parent fa0b62513b
commit cd272ab011
1 changed files with 65 additions and 0 deletions

View File

@ -80,6 +80,24 @@
_id == 0x411; \
})
#define __cpu_is_pxa300(id) \
({ \
unsigned int _id = (id) >> 4 & 0xfff; \
_id == 0x688; \
})
#define __cpu_is_pxa310(id) \
({ \
unsigned int _id = (id) >> 4 & 0xfff; \
_id == 0x689; \
})
#define __cpu_is_pxa320(id) \
({ \
unsigned int _id = (id) >> 4 & 0xfff; \
_id == 0x603 || _id == 0x682; \
})
#define cpu_is_pxa21x() \
({ \
unsigned int id = read_cpuid(CPUID_ID); \
@ -98,6 +116,53 @@
__cpu_is_pxa27x(id); \
})
#define cpu_is_pxa300() \
({ \
unsigned int id = read_cpuid(CPUID_ID); \
__cpu_is_pxa300(id); \
})
#define cpu_is_pxa310() \
({ \
unsigned int id = read_cpuid(CPUID_ID); \
__cpu_is_pxa310(id); \
})
#define cpu_is_pxa320() \
({ \
unsigned int id = read_cpuid(CPUID_ID); \
__cpu_is_pxa320(id); \
})
/*
* CPUID Core Generation Bit
* <= 0x2 for pxa21x/pxa25x/pxa26x/pxa27x
* == 0x3 for pxa300/pxa310/pxa320
*/
#define __cpu_is_pxa2xx(id) \
({ \
unsigned int _id = (id) >> 13 & 0x7; \
_id <= 0x2; \
})
#define __cpu_is_pxa3xx(id) \
({ \
unsigned int _id = (id) >> 13 & 0x7; \
_id == 0x3; \
})
#define cpu_is_pxa2xx() \
({ \
unsigned int id = read_cpuid(CPUID_ID); \
__cpu_is_pxa2xx(id); \
})
#define cpu_is_pxa3xx() \
({ \
unsigned int id = read_cpuid(CPUID_ID); \
__cpu_is_pxa3xx(id); \
})
/*
* Handy routine to set GPIO alternate functions
*/