Commit cd272ab0 authored by eric miao's avatar eric miao Committed by Russell King

[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: default avatareric miao <eric.y.miao@gmail.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent fa0b6251
......@@ -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
*/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment