1
2#ifndef __ASM_MACH_CPUTYPE_H
3#define __ASM_MACH_CPUTYPE_H
4
5#if defined(CONFIG_ARM) || defined(CONFIG_ARM64)
6#include <asm/cputype.h>
7#endif
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27extern unsigned int mmp_chip_id;
28
29#ifdef CONFIG_CPU_PXA168
30static inline int cpu_is_pxa168(void)
31{
32 return (((read_cpuid_id() >> 8) & 0xff) == 0x84) &&
33 ((mmp_chip_id & 0xfff) == 0x168);
34}
35#else
36#define cpu_is_pxa168() (0)
37#endif
38
39
40#ifdef CONFIG_CPU_PXA910
41static inline int cpu_is_pxa910(void)
42{
43 return (((read_cpuid_id() >> 8) & 0xff) == 0x84) &&
44 (((mmp_chip_id & 0xfff) == 0x910) ||
45 ((mmp_chip_id & 0xfff) == 0x920));
46}
47#else
48#define cpu_is_pxa910() (0)
49#endif
50
51#if defined(CONFIG_CPU_MMP2) || defined(CONFIG_MACH_MMP2_DT)
52static inline int cpu_is_mmp2(void)
53{
54 return (((read_cpuid_id() >> 8) & 0xff) == 0x58) &&
55 (((mmp_chip_id & 0xfff) == 0x410) ||
56 ((mmp_chip_id & 0xfff) == 0x610));
57}
58#else
59#define cpu_is_mmp2() (0)
60#endif
61
62#ifdef CONFIG_MACH_MMP3_DT
63static inline int cpu_is_mmp3(void)
64{
65 return (((read_cpuid_id() >> 8) & 0xff) == 0x58) &&
66 ((mmp_chip_id & 0xffff) == 0x2128);
67}
68
69static inline int cpu_is_mmp3_a0(void)
70{
71 return (cpu_is_mmp3() &&
72 ((mmp_chip_id & 0x00ff0000) == 0x00a00000));
73}
74
75static inline int cpu_is_mmp3_b0(void)
76{
77 return (cpu_is_mmp3() &&
78 ((mmp_chip_id & 0x00ff0000) == 0x00b00000));
79}
80
81#else
82#define cpu_is_mmp3() (0)
83#define cpu_is_mmp3_a0() (0)
84#define cpu_is_mmp3_b0() (0)
85#endif
86
87#endif
88