blob: 83b18721d93305f6c9f47b0989e21b3e2006b0e5 [file] [log] [blame]
Eric Miao49cbe782009-01-20 14:15:18 +08001#ifndef __ASM_MACH_CPUTYPE_H
2#define __ASM_MACH_CPUTYPE_H
3
4#include <asm/cputype.h>
5
6/*
7 * CPU Stepping OLD_ID CPU_ID CHIP_ID
8 *
9 * PXA168 A0 0x41159263 0x56158400 0x00A0A333
Eric Miao14c6b5e2009-03-20 12:50:22 +080010 * PXA910 Y0 0x41159262 0x56158000 0x00F0C910
Haojian Zhuang2f7e8fa2009-12-04 09:41:28 -050011 * MMP2 Z0 0x560f5811
Eric Miao49cbe782009-01-20 14:15:18 +080012 */
13
14#ifdef CONFIG_CPU_PXA168
15# define __cpu_is_pxa168(id) \
16 ({ unsigned int _id = ((id) >> 8) & 0xff; _id == 0x84; })
17#else
18# define __cpu_is_pxa168(id) (0)
19#endif
20
Eric Miao14c6b5e2009-03-20 12:50:22 +080021#ifdef CONFIG_CPU_PXA910
22# define __cpu_is_pxa910(id) \
23 ({ unsigned int _id = ((id) >> 8) & 0xff; _id == 0x80; })
24#else
25# define __cpu_is_pxa910(id) (0)
26#endif
27
Haojian Zhuang2f7e8fa2009-12-04 09:41:28 -050028#ifdef CONFIG_CPU_MMP2
29# define __cpu_is_mmp2(id) \
30 ({ unsigned int _id = ((id) >> 8) & 0xff; _id == 0x58; })
31#else
32# define __cpu_is_mmp2(id) (0)
33#endif
34
Eric Miao49cbe782009-01-20 14:15:18 +080035#define cpu_is_pxa168() ({ __cpu_is_pxa168(read_cpuid_id()); })
Eric Miao14c6b5e2009-03-20 12:50:22 +080036#define cpu_is_pxa910() ({ __cpu_is_pxa910(read_cpuid_id()); })
Haojian Zhuang2f7e8fa2009-12-04 09:41:28 -050037#define cpu_is_mmp2() ({ __cpu_is_mmp2(read_cpuid_id()); })
Eric Miao49cbe782009-01-20 14:15:18 +080038
39#endif /* __ASM_MACH_CPUTYPE_H */