1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #ifndef _ASM_ARCH_CPU_H
17 #define _ASM_ARCH_CPU_H
18
19 #include <mach/common.h>
20
21 struct davinci_id {
22 u8 variant;
23 u16 part_no;
24 u16 manufacturer;
25 u32 cpu_id;
26 char *name;
27 };
28
29
30 #define DAVINCI_CPU_ID_DM6446 0x64460000
31 #define DAVINCI_CPU_ID_DM6467 0x64670000
32 #define DAVINCI_CPU_ID_DM355 0x03550000
33 #define DAVINCI_CPU_ID_DM365 0x03650000
34 #define DAVINCI_CPU_ID_DA830 0x08300000
35 #define DAVINCI_CPU_ID_DA850 0x08500000
36
37 #define IS_DAVINCI_CPU(type, id) \
38 static inline int is_davinci_ ##type(void) \
39 { \
40 return (davinci_soc_info.cpu_id == (id)); \
41 }
42
43 IS_DAVINCI_CPU(dm644x, DAVINCI_CPU_ID_DM6446)
44 IS_DAVINCI_CPU(dm646x, DAVINCI_CPU_ID_DM6467)
45 IS_DAVINCI_CPU(dm355, DAVINCI_CPU_ID_DM355)
46 IS_DAVINCI_CPU(dm365, DAVINCI_CPU_ID_DM365)
47 IS_DAVINCI_CPU(da830, DAVINCI_CPU_ID_DA830)
48 IS_DAVINCI_CPU(da850, DAVINCI_CPU_ID_DA850)
49
50 #ifdef CONFIG_ARCH_DAVINCI_DM644x
51 #define cpu_is_davinci_dm644x() is_davinci_dm644x()
52 #else
53 #define cpu_is_davinci_dm644x() 0
54 #endif
55
56 #ifdef CONFIG_ARCH_DAVINCI_DM646x
57 #define cpu_is_davinci_dm646x() is_davinci_dm646x()
58 #else
59 #define cpu_is_davinci_dm646x() 0
60 #endif
61
62 #ifdef CONFIG_ARCH_DAVINCI_DM355
63 #define cpu_is_davinci_dm355() is_davinci_dm355()
64 #else
65 #define cpu_is_davinci_dm355() 0
66 #endif
67
68 #ifdef CONFIG_ARCH_DAVINCI_DM365
69 #define cpu_is_davinci_dm365() is_davinci_dm365()
70 #else
71 #define cpu_is_davinci_dm365() 0
72 #endif
73
74 #ifdef CONFIG_ARCH_DAVINCI_DA830
75 #define cpu_is_davinci_da830() is_davinci_da830()
76 #else
77 #define cpu_is_davinci_da830() 0
78 #endif
79
80 #ifdef CONFIG_ARCH_DAVINCI_DA850
81 #define cpu_is_davinci_da850() is_davinci_da850()
82 #else
83 #define cpu_is_davinci_da850() 0
84 #endif
85
86 #endif