MIPS: Add P6600 PRID & cpu_type_enum values
[deliverable/linux.git] / arch / mips / include / asm / cpu-type.h
CommitLineData
69f24d17
RB
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2003, 2004 Ralf Baechle
7 * Copyright (C) 2004 Maciej W. Rozycki
8 */
9#ifndef __ASM_CPU_TYPE_H
10#define __ASM_CPU_TYPE_H
11
12#include <linux/smp.h>
13#include <linux/compiler.h>
14
15static inline int __pure __get_cpu_type(const int cpu_type)
16{
17 switch (cpu_type) {
18#if defined(CONFIG_SYS_HAS_CPU_LOONGSON2E) || \
19 defined(CONFIG_SYS_HAS_CPU_LOONGSON2F)
20 case CPU_LOONGSON2:
21#endif
22
c579d310
HC
23#ifdef CONFIG_SYS_HAS_CPU_LOONGSON3
24 case CPU_LOONGSON3:
25#endif
26
69f24d17
RB
27#ifdef CONFIG_SYS_HAS_CPU_LOONGSON1B
28 case CPU_LOONGSON1:
29#endif
30
31#ifdef CONFIG_SYS_HAS_CPU_MIPS32_R1
32 case CPU_4KC:
33 case CPU_ALCHEMY:
69f24d17 34 case CPU_PR4450:
69f24d17
RB
35#endif
36
37#if defined(CONFIG_SYS_HAS_CPU_MIPS32_R1) || \
38 defined(CONFIG_SYS_HAS_CPU_MIPS32_R2)
39 case CPU_4KEC:
5b9cdd24 40 case CPU_JZRISC:
69f24d17
RB
41#endif
42
43#ifdef CONFIG_SYS_HAS_CPU_MIPS32_R2
44 case CPU_4KSC:
45 case CPU_24K:
46 case CPU_34K:
47 case CPU_1004K:
48 case CPU_74K:
49 case CPU_M14KC:
50 case CPU_M14KEC:
26ab96df 51 case CPU_INTERAPTIV:
708ac4b8 52 case CPU_PROAPTIV:
aced4cbd 53 case CPU_P5600:
f36c4720 54 case CPU_M5150:
69f24d17
RB
55#endif
56
4695089f
LY
57#if defined(CONFIG_SYS_HAS_CPU_MIPS32_R2) || \
58 defined(CONFIG_SYS_HAS_CPU_MIPS32_R6) || \
59 defined(CONFIG_SYS_HAS_CPU_MIPS64_R2) || \
60 defined(CONFIG_SYS_HAS_CPU_MIPS64_R6)
61 case CPU_QEMU_GENERIC:
62#endif
63
69f24d17
RB
64#ifdef CONFIG_SYS_HAS_CPU_MIPS64_R1
65 case CPU_5KC:
66 case CPU_5KE:
67 case CPU_20KC:
68 case CPU_25KF:
69 case CPU_SB1:
70 case CPU_SB1A:
71#endif
72
73#ifdef CONFIG_SYS_HAS_CPU_MIPS64_R2
74 /*
75 * All MIPS64 R2 processors have their own special symbols. That is,
76 * there currently is no pure R2 core
77 */
78#endif
79
4e88a862
MC
80#ifdef CONFIG_SYS_HAS_CPU_MIPS64_R6
81 case CPU_I6400:
82#endif
83
69f24d17
RB
84#ifdef CONFIG_SYS_HAS_CPU_R3000
85 case CPU_R2000:
86 case CPU_R3000:
87 case CPU_R3000A:
88 case CPU_R3041:
89 case CPU_R3051:
90 case CPU_R3052:
91 case CPU_R3081:
92 case CPU_R3081E:
93#endif
94
95#ifdef CONFIG_SYS_HAS_CPU_TX39XX
96 case CPU_TX3912:
97 case CPU_TX3922:
98 case CPU_TX3927:
99#endif
100
101#ifdef CONFIG_SYS_HAS_CPU_VR41XX
102 case CPU_VR41XX:
103 case CPU_VR4111:
104 case CPU_VR4121:
105 case CPU_VR4122:
106 case CPU_VR4131:
107 case CPU_VR4133:
108 case CPU_VR4181:
109 case CPU_VR4181A:
110#endif
111
112#ifdef CONFIG_SYS_HAS_CPU_R4300
113 case CPU_R4300:
114 case CPU_R4310:
115#endif
116
117#ifdef CONFIG_SYS_HAS_CPU_R4X00
118 case CPU_R4000PC:
119 case CPU_R4000SC:
120 case CPU_R4000MC:
121 case CPU_R4200:
122 case CPU_R4400PC:
123 case CPU_R4400SC:
124 case CPU_R4400MC:
125 case CPU_R4600:
126 case CPU_R4700:
127 case CPU_R4640:
128 case CPU_R4650:
129#endif
130
131#ifdef CONFIG_SYS_HAS_CPU_TX49XX
132 case CPU_TX49XX:
133#endif
134
135#ifdef CONFIG_SYS_HAS_CPU_R5000
136 case CPU_R5000:
137#endif
138
139#ifdef CONFIG_SYS_HAS_CPU_R5432
140 case CPU_R5432:
141#endif
142
143#ifdef CONFIG_SYS_HAS_CPU_R5500
144 case CPU_R5500:
145#endif
146
147#ifdef CONFIG_SYS_HAS_CPU_R6000
148 case CPU_R6000:
149 case CPU_R6000A:
150#endif
151
152#ifdef CONFIG_SYS_HAS_CPU_NEVADA
153 case CPU_NEVADA:
154#endif
155
156#ifdef CONFIG_SYS_HAS_CPU_R8000
157 case CPU_R8000:
158#endif
159
160#ifdef CONFIG_SYS_HAS_CPU_R10000
161 case CPU_R10000:
162 case CPU_R12000:
163 case CPU_R14000:
30577391 164 case CPU_R16000:
69f24d17
RB
165#endif
166#ifdef CONFIG_SYS_HAS_CPU_RM7000
167 case CPU_RM7000:
168 case CPU_SR71000:
169#endif
69f24d17
RB
170#ifdef CONFIG_SYS_HAS_CPU_SB1
171 case CPU_SB1:
172 case CPU_SB1A:
173#endif
174#ifdef CONFIG_SYS_HAS_CPU_CAVIUM_OCTEON
175 case CPU_CAVIUM_OCTEON:
176 case CPU_CAVIUM_OCTEON_PLUS:
177 case CPU_CAVIUM_OCTEON2:
cd3f5389 178 case CPU_CAVIUM_OCTEON3:
69f24d17
RB
179#endif
180
baaac02e
JG
181#if defined(CONFIG_SYS_HAS_CPU_BMIPS32_3300) || \
182 defined (CONFIG_SYS_HAS_CPU_MIPS32_R1)
183 case CPU_BMIPS32:
184 case CPU_BMIPS3300:
185#endif
186
187#ifdef CONFIG_SYS_HAS_CPU_BMIPS4350
188 case CPU_BMIPS4350:
189#endif
190
69f24d17
RB
191#ifdef CONFIG_SYS_HAS_CPU_BMIPS4380
192 case CPU_BMIPS4380:
193#endif
194
195#ifdef CONFIG_SYS_HAS_CPU_BMIPS5000
196 case CPU_BMIPS5000:
197#endif
198
199#ifdef CONFIG_SYS_HAS_CPU_XLP
200 case CPU_XLP:
201#endif
202
203#ifdef CONFIG_SYS_HAS_CPU_XLR
204 case CPU_XLR:
205#endif
206 break;
207 default:
208 unreachable();
209 }
210
211 return cpu_type;
212}
213
214static inline int __pure current_cpu_type(void)
215{
216 const int cpu_type = current_cpu_data.cputype;
217
218 return __get_cpu_type(cpu_type);
219}
220
221static inline int __pure boot_cpu_type(void)
222{
223 const int cpu_type = cpu_data[0].cputype;
224
225 return __get_cpu_type(cpu_type);
226}
227
228#endif /* __ASM_CPU_TYPE_H */
This page took 0.143009 seconds and 5 git commands to generate.