Full support for Ginger Console
[linux-ginger.git] / arch / cris / include / arch-v32 / mach-a3 / mach / hwregs / intr_vect_defs.h
blobb820f6347c7408c0cad81236d506feae4e7f627e
1 #ifndef __intr_vect_defs_h
2 #define __intr_vect_defs_h
4 /*
5 * This file is autogenerated from
6 * file: intr_vect.r
7 *
8 * by ../../../tools/rdesc/bin/rdes2c -outfile intr_vect_defs.h intr_vect.r
9 * Any changes here will be lost.
11 * -*- buffer-read-only: t -*-
13 /* Main access macros */
14 #ifndef REG_RD
15 #define REG_RD( scope, inst, reg ) \
16 REG_READ( reg_##scope##_##reg, \
17 (inst) + REG_RD_ADDR_##scope##_##reg )
18 #endif
20 #ifndef REG_WR
21 #define REG_WR( scope, inst, reg, val ) \
22 REG_WRITE( reg_##scope##_##reg, \
23 (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
24 #endif
26 #ifndef REG_RD_VECT
27 #define REG_RD_VECT( scope, inst, reg, index ) \
28 REG_READ( reg_##scope##_##reg, \
29 (inst) + REG_RD_ADDR_##scope##_##reg + \
30 (index) * STRIDE_##scope##_##reg )
31 #endif
33 #ifndef REG_WR_VECT
34 #define REG_WR_VECT( scope, inst, reg, index, val ) \
35 REG_WRITE( reg_##scope##_##reg, \
36 (inst) + REG_WR_ADDR_##scope##_##reg + \
37 (index) * STRIDE_##scope##_##reg, (val) )
38 #endif
40 #ifndef REG_RD_INT
41 #define REG_RD_INT( scope, inst, reg ) \
42 REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg )
43 #endif
45 #ifndef REG_WR_INT
46 #define REG_WR_INT( scope, inst, reg, val ) \
47 REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
48 #endif
50 #ifndef REG_RD_INT_VECT
51 #define REG_RD_INT_VECT( scope, inst, reg, index ) \
52 REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg + \
53 (index) * STRIDE_##scope##_##reg )
54 #endif
56 #ifndef REG_WR_INT_VECT
57 #define REG_WR_INT_VECT( scope, inst, reg, index, val ) \
58 REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg + \
59 (index) * STRIDE_##scope##_##reg, (val) )
60 #endif
62 #ifndef REG_TYPE_CONV
63 #define REG_TYPE_CONV( type, orgtype, val ) \
64 ( { union { orgtype o; type n; } r; r.o = val; r.n; } )
65 #endif
67 #ifndef reg_page_size
68 #define reg_page_size 8192
69 #endif
71 #ifndef REG_ADDR
72 #define REG_ADDR( scope, inst, reg ) \
73 ( (inst) + REG_RD_ADDR_##scope##_##reg )
74 #endif
76 #ifndef REG_ADDR_VECT
77 #define REG_ADDR_VECT( scope, inst, reg, index ) \
78 ( (inst) + REG_RD_ADDR_##scope##_##reg + \
79 (index) * STRIDE_##scope##_##reg )
80 #endif
82 /* C-code for register scope intr_vect */
85 #define STRIDE_intr_vect_rw_mask 4
86 /* Register rw_mask0, scope intr_vect, type rw */
87 typedef struct {
88 unsigned int timer0 : 1;
89 unsigned int timer1 : 1;
90 unsigned int dma0 : 1;
91 unsigned int dma1 : 1;
92 unsigned int dma2 : 1;
93 unsigned int dma3 : 1;
94 unsigned int dma4 : 1;
95 unsigned int dma5 : 1;
96 unsigned int dma6 : 1;
97 unsigned int dma7 : 1;
98 unsigned int dma9 : 1;
99 unsigned int dma11 : 1;
100 unsigned int gio : 1;
101 unsigned int iop0 : 1;
102 unsigned int iop1 : 1;
103 unsigned int ser0 : 1;
104 unsigned int ser1 : 1;
105 unsigned int ser2 : 1;
106 unsigned int ser3 : 1;
107 unsigned int ser4 : 1;
108 unsigned int sser : 1;
109 unsigned int strdma0 : 1;
110 unsigned int strdma1 : 1;
111 unsigned int strdma2 : 1;
112 unsigned int strdma3 : 1;
113 unsigned int strdma5 : 1;
114 unsigned int vin : 1;
115 unsigned int vout : 1;
116 unsigned int jpeg : 1;
117 unsigned int h264 : 1;
118 unsigned int histo : 1;
119 unsigned int ccd : 1;
120 } reg_intr_vect_rw_mask0;
121 #define reg_intr_vect_rw_mask reg_intr_vect_rw_mask0
122 #define REG_RD_ADDR_intr_vect_rw_mask 0
123 #define REG_WR_ADDR_intr_vect_rw_mask 0
124 #define REG_RD_ADDR_intr_vect_rw_mask0 0
125 #define REG_WR_ADDR_intr_vect_rw_mask0 0
127 #define STRIDE_intr_vect_r_vect 4
128 /* Register r_vect0, scope intr_vect, type r */
129 typedef struct {
130 unsigned int timer0 : 1;
131 unsigned int timer1 : 1;
132 unsigned int dma0 : 1;
133 unsigned int dma1 : 1;
134 unsigned int dma2 : 1;
135 unsigned int dma3 : 1;
136 unsigned int dma4 : 1;
137 unsigned int dma5 : 1;
138 unsigned int dma6 : 1;
139 unsigned int dma7 : 1;
140 unsigned int dma9 : 1;
141 unsigned int dma11 : 1;
142 unsigned int gio : 1;
143 unsigned int iop0 : 1;
144 unsigned int iop1 : 1;
145 unsigned int ser0 : 1;
146 unsigned int ser1 : 1;
147 unsigned int ser2 : 1;
148 unsigned int ser3 : 1;
149 unsigned int ser4 : 1;
150 unsigned int sser : 1;
151 unsigned int strdma0 : 1;
152 unsigned int strdma1 : 1;
153 unsigned int strdma2 : 1;
154 unsigned int strdma3 : 1;
155 unsigned int strdma5 : 1;
156 unsigned int vin : 1;
157 unsigned int vout : 1;
158 unsigned int jpeg : 1;
159 unsigned int h264 : 1;
160 unsigned int histo : 1;
161 unsigned int ccd : 1;
162 } reg_intr_vect_r_vect0;
163 #define reg_intr_vect_r_vect reg_intr_vect_r_vect0
164 #define REG_RD_ADDR_intr_vect_r_vect 8
165 #define REG_RD_ADDR_intr_vect_r_vect0 8
167 #define STRIDE_intr_vect_r_masked_vect 4
168 /* Register r_masked_vect0, scope intr_vect, type r */
169 typedef struct {
170 unsigned int timer0 : 1;
171 unsigned int timer1 : 1;
172 unsigned int dma0 : 1;
173 unsigned int dma1 : 1;
174 unsigned int dma2 : 1;
175 unsigned int dma3 : 1;
176 unsigned int dma4 : 1;
177 unsigned int dma5 : 1;
178 unsigned int dma6 : 1;
179 unsigned int dma7 : 1;
180 unsigned int dma9 : 1;
181 unsigned int dma11 : 1;
182 unsigned int gio : 1;
183 unsigned int iop0 : 1;
184 unsigned int iop1 : 1;
185 unsigned int ser0 : 1;
186 unsigned int ser1 : 1;
187 unsigned int ser2 : 1;
188 unsigned int ser3 : 1;
189 unsigned int ser4 : 1;
190 unsigned int sser : 1;
191 unsigned int strdma0 : 1;
192 unsigned int strdma1 : 1;
193 unsigned int strdma2 : 1;
194 unsigned int strdma3 : 1;
195 unsigned int strdma5 : 1;
196 unsigned int vin : 1;
197 unsigned int vout : 1;
198 unsigned int jpeg : 1;
199 unsigned int h264 : 1;
200 unsigned int histo : 1;
201 unsigned int ccd : 1;
202 } reg_intr_vect_r_masked_vect0;
203 #define reg_intr_vect_r_masked_vect reg_intr_masked_vect_r_vect0
204 #define REG_RD_ADDR_intr_vect_r_masked_vect0 16
205 #define REG_RD_ADDR_intr_vect_r_masked_vect 16
207 #define STRIDE_intr_vect_rw_xmask 4
208 /* Register rw_xmask0, scope intr_vect, type rw */
209 typedef struct {
210 unsigned int timer0 : 1;
211 unsigned int timer1 : 1;
212 unsigned int dma0 : 1;
213 unsigned int dma1 : 1;
214 unsigned int dma2 : 1;
215 unsigned int dma3 : 1;
216 unsigned int dma4 : 1;
217 unsigned int dma5 : 1;
218 unsigned int dma6 : 1;
219 unsigned int dma7 : 1;
220 unsigned int dma9 : 1;
221 unsigned int dma11 : 1;
222 unsigned int gio : 1;
223 unsigned int iop0 : 1;
224 unsigned int iop1 : 1;
225 unsigned int ser0 : 1;
226 unsigned int ser1 : 1;
227 unsigned int ser2 : 1;
228 unsigned int ser3 : 1;
229 unsigned int ser4 : 1;
230 unsigned int sser : 1;
231 unsigned int strdma0 : 1;
232 unsigned int strdma1 : 1;
233 unsigned int strdma2 : 1;
234 unsigned int strdma3 : 1;
235 unsigned int strdma5 : 1;
236 unsigned int vin : 1;
237 unsigned int vout : 1;
238 unsigned int jpeg : 1;
239 unsigned int h264 : 1;
240 unsigned int histo : 1;
241 unsigned int ccd : 1;
242 } reg_intr_vect_rw_xmask0;
243 #define reg_intr_vect_rw_xmask reg_intr_vect_rw_xmask0
244 #define REG_RD_ADDR_intr_vect_rw_xmask0 24
245 #define REG_WR_ADDR_intr_vect_rw_xmask0 24
246 #define REG_RD_ADDR_intr_vect_rw_xmask 24
247 #define REG_WR_ADDR_intr_vect_rw_xmask 24
249 /* Register rw_mask1, scope intr_vect, type rw */
250 typedef struct {
251 unsigned int eth : 1;
252 unsigned int memarb_bar : 1;
253 unsigned int memarb_foo : 1;
254 unsigned int pio : 1;
255 unsigned int sclr : 1;
256 unsigned int sclr_fifo : 1;
257 unsigned int dummy1 : 26;
258 } reg_intr_vect_rw_mask1;
259 #define REG_RD_ADDR_intr_vect_rw_mask1 4
260 #define REG_WR_ADDR_intr_vect_rw_mask1 4
262 /* Register r_vect1, scope intr_vect, type r */
263 typedef struct {
264 unsigned int eth : 1;
265 unsigned int memarb_bar : 1;
266 unsigned int memarb_foo : 1;
267 unsigned int pio : 1;
268 unsigned int sclr : 1;
269 unsigned int sclr_fifo : 1;
270 unsigned int dummy1 : 26;
271 } reg_intr_vect_r_vect1;
272 #define REG_RD_ADDR_intr_vect_r_vect1 12
274 /* Register r_masked_vect1, scope intr_vect, type r */
275 typedef struct {
276 unsigned int eth : 1;
277 unsigned int memarb_bar : 1;
278 unsigned int memarb_foo : 1;
279 unsigned int pio : 1;
280 unsigned int sclr : 1;
281 unsigned int sclr_fifo : 1;
282 unsigned int dummy1 : 26;
283 } reg_intr_vect_r_masked_vect1;
284 #define REG_RD_ADDR_intr_vect_r_masked_vect1 20
286 /* Register rw_xmask1, scope intr_vect, type rw */
287 typedef struct {
288 unsigned int eth : 1;
289 unsigned int memarb_bar : 1;
290 unsigned int memarb_foo : 1;
291 unsigned int pio : 1;
292 unsigned int sclr : 1;
293 unsigned int sclr_fifo : 1;
294 unsigned int dummy1 : 26;
295 } reg_intr_vect_rw_xmask1;
296 #define REG_RD_ADDR_intr_vect_rw_xmask1 28
297 #define REG_WR_ADDR_intr_vect_rw_xmask1 28
299 /* Register rw_xmask_ctrl, scope intr_vect, type rw */
300 typedef struct {
301 unsigned int en : 1;
302 unsigned int dummy1 : 31;
303 } reg_intr_vect_rw_xmask_ctrl;
304 #define REG_RD_ADDR_intr_vect_rw_xmask_ctrl 32
305 #define REG_WR_ADDR_intr_vect_rw_xmask_ctrl 32
307 /* Register r_nmi, scope intr_vect, type r */
308 typedef struct {
309 unsigned int watchdog0 : 1;
310 unsigned int watchdog1 : 1;
311 unsigned int dummy1 : 30;
312 } reg_intr_vect_r_nmi;
313 #define REG_RD_ADDR_intr_vect_r_nmi 64
315 /* Register r_guru, scope intr_vect, type r */
316 typedef struct {
317 unsigned int jtag : 1;
318 unsigned int dummy1 : 31;
319 } reg_intr_vect_r_guru;
320 #define REG_RD_ADDR_intr_vect_r_guru 68
323 /* Register rw_ipi, scope intr_vect, type rw */
324 typedef struct
326 unsigned int vector;
327 } reg_intr_vect_rw_ipi;
328 #define REG_RD_ADDR_intr_vect_rw_ipi 72
329 #define REG_WR_ADDR_intr_vect_rw_ipi 72
331 /* Constants */
332 enum {
333 regk_intr_vect_no = 0x00000000,
334 regk_intr_vect_rw_mask0_default = 0x00000000,
335 regk_intr_vect_rw_mask1_default = 0x00000000,
336 regk_intr_vect_rw_xmask0_default = 0x00000000,
337 regk_intr_vect_rw_xmask1_default = 0x00000000,
338 regk_intr_vect_rw_xmask_ctrl_default = 0x00000000,
339 regk_intr_vect_yes = 0x00000001
341 #endif /* __intr_vect_defs_h */