vrcpudef.h revision 1.3.4.2 1 1.3.4.2 nathanw /*-
2 1.3.4.2 nathanw * Copyright (c) 2001 SATO Kazumi, All rights reserved.
3 1.3.4.2 nathanw *
4 1.3.4.2 nathanw * Redistribution and use in source and binary forms, with or without
5 1.3.4.2 nathanw * modification, are permitted provided that the following conditions
6 1.3.4.2 nathanw * are met:
7 1.3.4.2 nathanw * 1. Redistributions of source code must retain the above copyright
8 1.3.4.2 nathanw * notice, this list of conditions and the following disclaimer.
9 1.3.4.2 nathanw * 2. Redistributions in binary form must reproduce the above copyright
10 1.3.4.2 nathanw * notice, this list of conditions and the following disclaimer in the
11 1.3.4.2 nathanw * documentation and/or other materials provided with the distribution.
12 1.3.4.2 nathanw * 3. The name of the author may not be used to endorse or promote products
13 1.3.4.2 nathanw * derived from this software without specific prior written permission.
14 1.3.4.2 nathanw *
15 1.3.4.2 nathanw * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
16 1.3.4.2 nathanw * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 1.3.4.2 nathanw * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18 1.3.4.2 nathanw * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
19 1.3.4.2 nathanw * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 1.3.4.2 nathanw * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 1.3.4.2 nathanw * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 1.3.4.2 nathanw * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 1.3.4.2 nathanw * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 1.3.4.2 nathanw * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 1.3.4.2 nathanw * SUCH DAMAGE.
26 1.3.4.2 nathanw *
27 1.3.4.2 nathanw */
28 1.3.4.2 nathanw
29 1.3.4.2 nathanw /*
30 1.3.4.2 nathanw * definition for identify VR series cpu
31 1.3.4.2 nathanw * $NetBSD: vrcpudef.h,v 1.3.4.2 2002/02/28 04:10:05 nathanw Exp $
32 1.3.4.2 nathanw *
33 1.3.4.2 nathanw * REQUIRE #include "opt_vr41xx.h" before using this header.
34 1.3.4.2 nathanw */
35 1.3.4.2 nathanw #include "opt_vr41xx.h"
36 1.3.4.2 nathanw
37 1.3.4.2 nathanw /*
38 1.3.4.2 nathanw * VR cpu id
39 1.3.4.2 nathanw * It is related with BCU cpu id.
40 1.3.4.2 nathanw * KEEP consistency with bcureg.h
41 1.3.4.2 nathanw */
42 1.3.4.2 nathanw #define VRID_4101 0x0 /* VR4101 */
43 1.3.4.2 nathanw #define VRID_4102 0x1 /* VR4102 */
44 1.3.4.2 nathanw #define VRID_4111 0x2 /* VR4111 */
45 1.3.4.2 nathanw #define VRID_4121 0x3 /* VR4121 */
46 1.3.4.2 nathanw #define VRID_4122 0x4 /* VR4122 */
47 1.3.4.2 nathanw #define VRID_4131 0x5 /* VR4131 */
48 1.3.4.2 nathanw /* conflict other cpu */
49 1.3.4.2 nathanw #define VRID_4181 0x10 /* VR4181 conflict VR4101 */
50 1.3.4.2 nathanw
51 1.3.4.2 nathanw /*
52 1.3.4.2 nathanw * VR cpu architecure group
53 1.3.4.2 nathanw *
54 1.3.4.2 nathanw * vr41xx group: all vr cpus (some registers are same)
55 1.3.4.2 nathanw * vr4181 group: vr4181 (vrip address and registers are same)
56 1.3.4.2 nathanw * vr4101 group: vr4101???
57 1.3.4.2 nathanw * vr4102 group: vr4102, vr4111, vr4121, vr4122 (some resgiters are same)
58 1.3.4.2 nathanw * or vr4102, vr4111, vr4121 (vrip address and registers are same)
59 1.3.4.2 nathanw * vr4111 group: vr4111, vr4121, vr4122 (some registers are same)
60 1.3.4.2 nathanw * or vr4111, vr4121 (vrip address and registers are same)
61 1.3.4.2 nathanw * vr4122 group: vr4122, vr4131 (vrip address and registers are same)
62 1.3.4.2 nathanw *
63 1.3.4.2 nathanw * REQUIRE #include "opt_vr41xx.h" before using this definition.
64 1.3.4.2 nathanw */
65 1.3.4.2 nathanw #if defined VR4181
66 1.3.4.2 nathanw #define VRGROUP_4181 VRID_4181
67 1.3.4.2 nathanw #endif /* defined VR4181 */
68 1.3.4.2 nathanw
69 1.3.4.2 nathanw #if defined VR4101
70 1.3.4.2 nathanw #define VRGROUP_4101 VRID_4101
71 1.3.4.2 nathanw #endif /* defined VR4101 */
72 1.3.4.2 nathanw
73 1.3.4.2 nathanw #if defined VR4102
74 1.3.4.2 nathanw #define VRGROUP_4102 VRID_4102
75 1.3.4.2 nathanw #define VRGROUP_4102_4121 VRID_4102
76 1.3.4.2 nathanw #define VRGROUP_4102_4122 VRID_4102
77 1.3.4.2 nathanw #define VRGROUP_4102_4131 VRID_4102
78 1.3.4.2 nathanw #endif /* defined VR4102 */
79 1.3.4.2 nathanw
80 1.3.4.2 nathanw #if defined VR4111
81 1.3.4.2 nathanw #define VRGROUP_4111_4121 VRID_4111
82 1.3.4.2 nathanw #define VRGROUP_4111_4122 VRID_4111
83 1.3.4.2 nathanw #define VRGROUP_4111_4131 VRID_4111
84 1.3.4.2 nathanw
85 1.3.4.2 nathanw #ifndef VRGROUP_4102_4121
86 1.3.4.2 nathanw #define VRGROUP_4102_4121 VRID_4111
87 1.3.4.2 nathanw #endif /* VRGROUP_4102_4121 */
88 1.3.4.2 nathanw
89 1.3.4.2 nathanw #ifndef VRGROUP_4102_4122
90 1.3.4.2 nathanw #define VRGROUP_4102_4122 VRID_4111
91 1.3.4.2 nathanw #endif /* VRGROUP_4102_4122 */
92 1.3.4.2 nathanw
93 1.3.4.2 nathanw #ifndef VRGROUP_4102_4131
94 1.3.4.2 nathanw #define VRGROUP_4102_4131 VRID_4111
95 1.3.4.2 nathanw #endif /* VRGROUP_4102_4131 */
96 1.3.4.2 nathanw
97 1.3.4.2 nathanw #endif /* defined VR4111 */
98 1.3.4.2 nathanw
99 1.3.4.2 nathanw #if defined VR4121
100 1.3.4.2 nathanw #define VRGROUP_4121_4122 VRID_4121
101 1.3.4.2 nathanw #define VRGROUP_4121_4131 VRID_4131
102 1.3.4.2 nathanw
103 1.3.4.2 nathanw #ifndef VRGROUP_4111_4121
104 1.3.4.2 nathanw #define VRGROUP_4111_4121 VRID_4121
105 1.3.4.2 nathanw #endif /* VRGROUP_4111_4121 */
106 1.3.4.2 nathanw
107 1.3.4.2 nathanw #ifndef VRGROUP_4111_4122
108 1.3.4.2 nathanw #define VRGROUP_4111_4122 VRID_4121
109 1.3.4.2 nathanw #endif /* VRGROUP_4111_4122 */
110 1.3.4.2 nathanw
111 1.3.4.2 nathanw #ifndef VRGROUP_4111_4131
112 1.3.4.2 nathanw #define VRGROUP_4111_4131 VRID_4121
113 1.3.4.2 nathanw #endif /* VRGROUP_4111_4131 */
114 1.3.4.2 nathanw
115 1.3.4.2 nathanw #ifndef VRGROUP_4102_4121
116 1.3.4.2 nathanw #define VRGROUP_4102_4121 VRID_4121
117 1.3.4.2 nathanw #endif /* VRGROUP_4102_4121 */
118 1.3.4.2 nathanw
119 1.3.4.2 nathanw #ifndef VRGROUP_4102_4122
120 1.3.4.2 nathanw #define VRGROUP_4102_4122 VRID_4121
121 1.3.4.2 nathanw #endif /* VRGROUP_4102_4122 */
122 1.3.4.2 nathanw
123 1.3.4.2 nathanw #ifndef VRGROUP_4102_4131
124 1.3.4.2 nathanw #define VRGROUP_4102_4131 VRID_4121
125 1.3.4.2 nathanw #endif /* VRGROUP_4102_4131 */
126 1.3.4.2 nathanw
127 1.3.4.2 nathanw #endif /* VR4121 */
128 1.3.4.2 nathanw
129 1.3.4.2 nathanw
130 1.3.4.2 nathanw #if defined VR4122
131 1.3.4.2 nathanw #define VRGROUP_4122 VRID_4122
132 1.3.4.2 nathanw
133 1.3.4.2 nathanw #ifndef VRGROUP_4122_4131
134 1.3.4.2 nathanw #define VRGROUP_4122_4131 VRID_4122
135 1.3.4.2 nathanw #endif /* VRGROUP_4122_4131 */
136 1.3.4.2 nathanw
137 1.3.4.2 nathanw #ifndef VRGROUP_4111_4122
138 1.3.4.2 nathanw #define VRGROUP_4111_4122 VRID_4122
139 1.3.4.2 nathanw #endif /* VRGROUP_4111_4122 */
140 1.3.4.2 nathanw
141 1.3.4.2 nathanw #ifndef VRGROUP_4111_4131
142 1.3.4.2 nathanw #define VRGROUP_4111_4131 VRID_4122
143 1.3.4.2 nathanw #endif /* VRGROUP_4111_4131 */
144 1.3.4.2 nathanw
145 1.3.4.2 nathanw #ifndef VRGROUP_4102_4122
146 1.3.4.2 nathanw #define VRGROUP_4102_4122 VRID_4122
147 1.3.4.2 nathanw #endif /* VRGROUP_4102_4122 */
148 1.3.4.2 nathanw
149 1.3.4.2 nathanw #ifndef VRGROUP_4102_4131
150 1.3.4.2 nathanw #define VRGROUP_4102_4131 VRID_4122
151 1.3.4.2 nathanw #endif /* VRGROUP_4102_4131 */
152 1.3.4.2 nathanw
153 1.3.4.2 nathanw #endif /* VR4122 */
154 1.3.4.2 nathanw
155 1.3.4.2 nathanw #if defined VR4131
156 1.3.4.2 nathanw #define VRGROUP_4131 VRID_4131
157 1.3.4.2 nathanw
158 1.3.4.2 nathanw #ifndef VRGROUP_4122_4131
159 1.3.4.2 nathanw #define VRGROUP_4122_4131 VRID_4131
160 1.3.4.2 nathanw #endif /* VRGROUP_4122_4131 */
161 1.3.4.2 nathanw
162 1.3.4.2 nathanw #ifndef VRGROUP_4111_4131
163 1.3.4.2 nathanw #define VRGROUP_4111_4131 VRID_4131
164 1.3.4.2 nathanw #endif /* VRGROUP_4111_4131 */
165 1.3.4.2 nathanw
166 1.3.4.2 nathanw #ifndef VRGROUP_4102_4131
167 1.3.4.2 nathanw #define VRGROUP_4102_4131 VRID_4131
168 1.3.4.2 nathanw #endif /* VRGROUP_4102_4131 */
169 1.3.4.2 nathanw
170 1.3.4.2 nathanw #endif /* VR4131 */
171 1.3.4.2 nathanw
172 1.3.4.2 nathanw /*
173 1.3.4.2 nathanw * identify one cpu only
174 1.3.4.2 nathanw */
175 1.3.4.2 nathanw #if defined VR4181 && !defined VR4101 && !defined VRGROUP_4102_4131
176 1.3.4.2 nathanw #define ONLY_VR4181 VRID_4181
177 1.3.4.2 nathanw #endif /* ONLY_VR4181 */
178 1.3.4.2 nathanw
179 1.3.4.2 nathanw #if !defined VR4181 && defined VR4101 && !defined VRGROUP_4102_4131
180 1.3.4.2 nathanw #define ONLY_VR4101 VRID_4101
181 1.3.4.2 nathanw #endif /* ONLY_VR4101 */
182 1.3.4.2 nathanw
183 1.3.4.2 nathanw #if !defined VRGROUP_4181 && !defined VRGROUP_4101 && defined VR4102 && !defined VRGROUP_4111_4131
184 1.3.4.2 nathanw #define ONLY_VR4102 VRID_4102
185 1.3.4.2 nathanw #endif /* ONLY_VR4102 */
186 1.3.4.2 nathanw
187 1.3.4.2 nathanw #if !defined VRGROUP_4181 && !defined VRGROUP_4101 && !defined VR4102 && defined VRGROUP_4111_4121 && !defined VRGROUP_4122_4131
188 1.3.4.2 nathanw #define ONLY_VR4111_4121 VRGROUP_4111_4121
189 1.3.4.2 nathanw #endif /* ONLY_VR4111_4121 */
190 1.3.4.2 nathanw
191 1.3.4.2 nathanw #if !defined VRGROUP_4181 && !defined VRGROUP_4101 && !defined VRGROUP_4102_4121 && defined VR4122 && !defined VRGROUP_4131
192 1.3.4.2 nathanw #define ONLY_VR4122 VRID4122
193 1.3.4.2 nathanw #endif /* ONLY_VR4122 */
194 1.3.4.2 nathanw
195 1.3.4.2 nathanw #if !defined VRGROUP_4181 && !defined VRGROUP_4101 && !defined VRGROUP_4102_4121 && !defined VRGROUP_4122 && defined VR4131
196 1.3.4.2 nathanw #define ONLY_VR4131 VRID4131
197 1.3.4.2 nathanw #endif /* ONLY_VR4131 */
198 1.3.4.2 nathanw
199 1.3.4.2 nathanw #if !defined VRGROUP_4181 && !defined VRGROUP_4101 && !defined VRGROUP_4102_4121 && defined VRGROUP_4122_4131
200 1.3.4.2 nathanw #define ONLY_VR4122_4131 VRGROUP_4122_4131
201 1.3.4.2 nathanw #endif /* ONLY_VR4131 */
202 1.3.4.2 nathanw
203 1.3.4.2 nathanw
204 1.3.4.2 nathanw
205 1.3.4.2 nathanw #if defined ONLY_VR4181
206 1.3.4.2 nathanw #define ONLY_VR_SPECIFIED ONLY_VR4181
207 1.3.4.2 nathanw #endif /* defined ONLY_VR4181 */
208 1.3.4.2 nathanw
209 1.3.4.2 nathanw #if !defined ONLY_VR_SPECIFIED && defined ONLY_VR4101
210 1.3.4.2 nathanw #define ONLY_VR_SPECIFIED ONLY_VR4101
211 1.3.4.2 nathanw #endif /* defined ONLY_VR4101 */
212 1.3.4.2 nathanw
213 1.3.4.2 nathanw #if !defined ONLY_VR_SPECIFIED && defined ONLY_VR4102
214 1.3.4.2 nathanw #define ONLY_VR_SPECIFIED ONLY_VR4102
215 1.3.4.2 nathanw #endif /* defined ONLY_VR4102 */
216 1.3.4.2 nathanw
217 1.3.4.2 nathanw #if !defined ONLY_VR_SPECIFIED && defined ONLY_VR4111_4121
218 1.3.4.2 nathanw #define ONLY_VR_SPECIFIED ONLY_VR4111_4121
219 1.3.4.2 nathanw #endif /* defined ONLY_VR4111_4121 */
220 1.3.4.2 nathanw
221 1.3.4.2 nathanw #if !defined ONLY_VR_SPECIFIED && defined ONLY_VR4122_4131
222 1.3.4.2 nathanw #define ONLY_VR_SPECIFIED ONLY_VR4122_4131
223 1.3.4.2 nathanw #endif /* ONLY_VR4122 */
224 1.3.4.2 nathanw
225 1.3.4.2 nathanw #if !defined ONLY_VR_SPECIFIED && defined ONLY_VR4122
226 1.3.4.2 nathanw #define ONLY_VR_SPECIFIED ONLY_VR4122
227 1.3.4.2 nathanw #endif /* ONLY_VR4122 */
228 1.3.4.2 nathanw
229 1.3.4.2 nathanw #if !defined ONLY_VR_SPECIFIED && defined ONLY_VR4131
230 1.3.4.2 nathanw #define ONLY_VR_SPECIFIED ONLY_VR4131
231 1.3.4.2 nathanw #endif /* ONLY_VR4131 */
232 1.3.4.2 nathanw
233 1.3.4.2 nathanw /*
234 1.3.4.2 nathanw * identify single vrip base address
235 1.3.4.2 nathanw */
236 1.3.4.2 nathanw #if defined ONLY_VR4181
237 1.3.4.2 nathanw #define SINGLE_VRIP_BASE ONLY_VR4181
238 1.3.4.2 nathanw #endif /* defined ONLY_VR4181 */
239 1.3.4.2 nathanw
240 1.3.4.2 nathanw #if !defined VR4181 && defined VRGROUP_4102_4121 && !defined VRGROUP_4122_4131
241 1.3.4.2 nathanw #define SINGLE_VRIP_BASE VRGROUP_4102_4121
242 1.3.4.2 nathanw #endif
243 1.3.4.2 nathanw
244 1.3.4.2 nathanw #if !defined VR4181 && !defined VRGROUP_4102_4121 && defined VRGROUP_4122_4131
245 1.3.4.2 nathanw #define SINGLE_VRIP_BASE VRGROUP_4122_4131
246 1.3.4.2 nathanw #endif
247 1.3.4.2 nathanw
248 1.3.4.2 nathanw /* end */
249