1/*
2 * Automatically generated by gen-header.xsl
3 */
4#ifndef __ASM_AVR32_PERIHP_INTC_H__
5#define __ASM_AVR32_PERIHP_INTC_H__
6
7#define INTC_NUM_INT_GRPS            33
8
9#define INTC_INTPR0                  0x0
10# define INTC_INTPR0_INTLEV_OFFSET   30
11# define INTC_INTPR0_INTLEV_SIZE     2
12# define INTC_INTPR0_OFFSET_OFFSET   0
13# define INTC_INTPR0_OFFSET_SIZE     24
14#define INTC_INTREQ0                 0x100
15# define INTC_INTREQ0_IREQUEST0_OFFSET 0
16# define INTC_INTREQ0_IREQUEST0_SIZE 1
17# define INTC_INTREQ0_IREQUEST1_OFFSET 1
18# define INTC_INTREQ0_IREQUEST1_SIZE 1
19#define INTC_INTPR1                  0x4
20# define INTC_INTPR1_INTLEV_OFFSET   30
21# define INTC_INTPR1_INTLEV_SIZE     2
22# define INTC_INTPR1_OFFSET_OFFSET   0
23# define INTC_INTPR1_OFFSET_SIZE     24
24#define INTC_INTREQ1                 0x104
25# define INTC_INTREQ1_IREQUEST32_OFFSET 0
26# define INTC_INTREQ1_IREQUEST32_SIZE 1
27# define INTC_INTREQ1_IREQUEST33_OFFSET 1
28# define INTC_INTREQ1_IREQUEST33_SIZE 1
29# define INTC_INTREQ1_IREQUEST34_OFFSET 2
30# define INTC_INTREQ1_IREQUEST34_SIZE 1
31# define INTC_INTREQ1_IREQUEST35_OFFSET 3
32# define INTC_INTREQ1_IREQUEST35_SIZE 1
33# define INTC_INTREQ1_IREQUEST36_OFFSET 4
34# define INTC_INTREQ1_IREQUEST36_SIZE 1
35# define INTC_INTREQ1_IREQUEST37_OFFSET 5
36# define INTC_INTREQ1_IREQUEST37_SIZE 1
37#define INTC_INTPR2                  0x8
38# define INTC_INTPR2_INTLEV_OFFSET   30
39# define INTC_INTPR2_INTLEV_SIZE     2
40# define INTC_INTPR2_OFFSET_OFFSET   0
41# define INTC_INTPR2_OFFSET_SIZE     24
42#define INTC_INTREQ2                 0x108
43# define INTC_INTREQ2_IREQUEST64_OFFSET 0
44# define INTC_INTREQ2_IREQUEST64_SIZE 1
45# define INTC_INTREQ2_IREQUEST65_OFFSET 1
46# define INTC_INTREQ2_IREQUEST65_SIZE 1
47# define INTC_INTREQ2_IREQUEST66_OFFSET 2
48# define INTC_INTREQ2_IREQUEST66_SIZE 1
49# define INTC_INTREQ2_IREQUEST67_OFFSET 3
50# define INTC_INTREQ2_IREQUEST67_SIZE 1
51# define INTC_INTREQ2_IREQUEST68_OFFSET 4
52# define INTC_INTREQ2_IREQUEST68_SIZE 1
53#define INTC_INTPR3                  0xc
54# define INTC_INTPR3_INTLEV_OFFSET   30
55# define INTC_INTPR3_INTLEV_SIZE     2
56# define INTC_INTPR3_OFFSET_OFFSET   0
57# define INTC_INTPR3_OFFSET_SIZE     24
58#define INTC_INTREQ3                 0x10c
59# define INTC_INTREQ3_IREQUEST96_OFFSET 0
60# define INTC_INTREQ3_IREQUEST96_SIZE 1
61#define INTC_INTPR4                  0x10
62# define INTC_INTPR4_INTLEV_OFFSET   30
63# define INTC_INTPR4_INTLEV_SIZE     2
64# define INTC_INTPR4_OFFSET_OFFSET   0
65# define INTC_INTPR4_OFFSET_SIZE     24
66#define INTC_INTREQ4                 0x110
67# define INTC_INTREQ4_IREQUEST128_OFFSET 0
68# define INTC_INTREQ4_IREQUEST128_SIZE 1
69#define INTC_INTPR5                  0x14
70# define INTC_INTPR5_INTLEV_OFFSET   30
71# define INTC_INTPR5_INTLEV_SIZE     2
72# define INTC_INTPR5_OFFSET_OFFSET   0
73# define INTC_INTPR5_OFFSET_SIZE     24
74#define INTC_INTREQ5                 0x114
75# define INTC_INTREQ5_IREQUEST160_OFFSET 0
76# define INTC_INTREQ5_IREQUEST160_SIZE 1
77#define INTC_INTPR6                  0x18
78# define INTC_INTPR6_INTLEV_OFFSET   30
79# define INTC_INTPR6_INTLEV_SIZE     2
80# define INTC_INTPR6_OFFSET_OFFSET   0
81# define INTC_INTPR6_OFFSET_SIZE     24
82#define INTC_INTREQ6                 0x118
83# define INTC_INTREQ6_IREQUEST192_OFFSET 0
84# define INTC_INTREQ6_IREQUEST192_SIZE 1
85#define INTC_INTPR7                  0x1c
86# define INTC_INTPR7_INTLEV_OFFSET   30
87# define INTC_INTPR7_INTLEV_SIZE     2
88# define INTC_INTPR7_OFFSET_OFFSET   0
89# define INTC_INTPR7_OFFSET_SIZE     24
90#define INTC_INTREQ7                 0x11c
91# define INTC_INTREQ7_IREQUEST224_OFFSET 0
92# define INTC_INTREQ7_IREQUEST224_SIZE 1
93#define INTC_INTPR8                  0x20
94# define INTC_INTPR8_INTLEV_OFFSET   30
95# define INTC_INTPR8_INTLEV_SIZE     2
96# define INTC_INTPR8_OFFSET_OFFSET   0
97# define INTC_INTPR8_OFFSET_SIZE     24
98#define INTC_INTREQ8                 0x120
99# define INTC_INTREQ8_IREQUEST256_OFFSET 0
100# define INTC_INTREQ8_IREQUEST256_SIZE 1
101#define INTC_INTPR9                  0x24
102# define INTC_INTPR9_INTLEV_OFFSET   30
103# define INTC_INTPR9_INTLEV_SIZE     2
104# define INTC_INTPR9_OFFSET_OFFSET   0
105# define INTC_INTPR9_OFFSET_SIZE     24
106#define INTC_INTREQ9                 0x124
107# define INTC_INTREQ9_IREQUEST288_OFFSET 0
108# define INTC_INTREQ9_IREQUEST288_SIZE 1
109#define INTC_INTPR10                 0x28
110# define INTC_INTPR10_INTLEV_OFFSET  30
111# define INTC_INTPR10_INTLEV_SIZE    2
112# define INTC_INTPR10_OFFSET_OFFSET  0
113# define INTC_INTPR10_OFFSET_SIZE    24
114#define INTC_INTREQ10                0x128
115# define INTC_INTREQ10_IREQUEST320_OFFSET 0
116# define INTC_INTREQ10_IREQUEST320_SIZE 1
117#define INTC_INTPR11                 0x2c
118# define INTC_INTPR11_INTLEV_OFFSET  30
119# define INTC_INTPR11_INTLEV_SIZE    2
120# define INTC_INTPR11_OFFSET_OFFSET  0
121# define INTC_INTPR11_OFFSET_SIZE    24
122#define INTC_INTREQ11                0x12c
123# define INTC_INTREQ11_IREQUEST352_OFFSET 0
124# define INTC_INTREQ11_IREQUEST352_SIZE 1
125#define INTC_INTPR12                 0x30
126# define INTC_INTPR12_INTLEV_OFFSET  30
127# define INTC_INTPR12_INTLEV_SIZE    2
128# define INTC_INTPR12_OFFSET_OFFSET  0
129# define INTC_INTPR12_OFFSET_SIZE    24
130#define INTC_INTREQ12                0x130
131# define INTC_INTREQ12_IREQUEST384_OFFSET 0
132# define INTC_INTREQ12_IREQUEST384_SIZE 1
133#define INTC_INTPR13                 0x34
134# define INTC_INTPR13_INTLEV_OFFSET  30
135# define INTC_INTPR13_INTLEV_SIZE    2
136# define INTC_INTPR13_OFFSET_OFFSET  0
137# define INTC_INTPR13_OFFSET_SIZE    24
138#define INTC_INTREQ13                0x134
139# define INTC_INTREQ13_IREQUEST416_OFFSET 0
140# define INTC_INTREQ13_IREQUEST416_SIZE 1
141#define INTC_INTPR14                 0x38
142# define INTC_INTPR14_INTLEV_OFFSET  30
143# define INTC_INTPR14_INTLEV_SIZE    2
144# define INTC_INTPR14_OFFSET_OFFSET  0
145# define INTC_INTPR14_OFFSET_SIZE    24
146#define INTC_INTREQ14                0x138
147# define INTC_INTREQ14_IREQUEST448_OFFSET 0
148# define INTC_INTREQ14_IREQUEST448_SIZE 1
149#define INTC_INTPR15                 0x3c
150# define INTC_INTPR15_INTLEV_OFFSET  30
151# define INTC_INTPR15_INTLEV_SIZE    2
152# define INTC_INTPR15_OFFSET_OFFSET  0
153# define INTC_INTPR15_OFFSET_SIZE    24
154#define INTC_INTREQ15                0x13c
155# define INTC_INTREQ15_IREQUEST480_OFFSET 0
156# define INTC_INTREQ15_IREQUEST480_SIZE 1
157#define INTC_INTPR16                 0x40
158# define INTC_INTPR16_INTLEV_OFFSET  30
159# define INTC_INTPR16_INTLEV_SIZE    2
160# define INTC_INTPR16_OFFSET_OFFSET  0
161# define INTC_INTPR16_OFFSET_SIZE    24
162#define INTC_INTREQ16                0x140
163# define INTC_INTREQ16_IREQUEST512_OFFSET 0
164# define INTC_INTREQ16_IREQUEST512_SIZE 1
165#define INTC_INTPR17                 0x44
166# define INTC_INTPR17_INTLEV_OFFSET  30
167# define INTC_INTPR17_INTLEV_SIZE    2
168# define INTC_INTPR17_OFFSET_OFFSET  0
169# define INTC_INTPR17_OFFSET_SIZE    24
170#define INTC_INTREQ17                0x144
171# define INTC_INTREQ17_IREQUEST544_OFFSET 0
172# define INTC_INTREQ17_IREQUEST544_SIZE 1
173#define INTC_INTPR18                 0x48
174# define INTC_INTPR18_INTLEV_OFFSET  30
175# define INTC_INTPR18_INTLEV_SIZE    2
176# define INTC_INTPR18_OFFSET_OFFSET  0
177# define INTC_INTPR18_OFFSET_SIZE    24
178#define INTC_INTREQ18                0x148
179# define INTC_INTREQ18_IREQUEST576_OFFSET 0
180# define INTC_INTREQ18_IREQUEST576_SIZE 1
181#define INTC_INTPR19                 0x4c
182# define INTC_INTPR19_INTLEV_OFFSET  30
183# define INTC_INTPR19_INTLEV_SIZE    2
184# define INTC_INTPR19_OFFSET_OFFSET  0
185# define INTC_INTPR19_OFFSET_SIZE    24
186#define INTC_INTREQ19                0x14c
187# define INTC_INTREQ19_IREQUEST608_OFFSET 0
188# define INTC_INTREQ19_IREQUEST608_SIZE 1
189# define INTC_INTREQ19_IREQUEST609_OFFSET 1
190# define INTC_INTREQ19_IREQUEST609_SIZE 1
191# define INTC_INTREQ19_IREQUEST610_OFFSET 2
192# define INTC_INTREQ19_IREQUEST610_SIZE 1
193# define INTC_INTREQ19_IREQUEST611_OFFSET 3
194# define INTC_INTREQ19_IREQUEST611_SIZE 1
195#define INTC_INTPR20                 0x50
196# define INTC_INTPR20_INTLEV_OFFSET  30
197# define INTC_INTPR20_INTLEV_SIZE    2
198# define INTC_INTPR20_OFFSET_OFFSET  0
199# define INTC_INTPR20_OFFSET_SIZE    24
200#define INTC_INTREQ20                0x150
201# define INTC_INTREQ20_IREQUEST640_OFFSET 0
202# define INTC_INTREQ20_IREQUEST640_SIZE 1
203#define INTC_INTPR21                 0x54
204# define INTC_INTPR21_INTLEV_OFFSET  30
205# define INTC_INTPR21_INTLEV_SIZE    2
206# define INTC_INTPR21_OFFSET_OFFSET  0
207# define INTC_INTPR21_OFFSET_SIZE    24
208#define INTC_INTREQ21                0x154
209# define INTC_INTREQ21_IREQUEST672_OFFSET 0
210# define INTC_INTREQ21_IREQUEST672_SIZE 1
211#define INTC_INTPR22                 0x58
212# define INTC_INTPR22_INTLEV_OFFSET  30
213# define INTC_INTPR22_INTLEV_SIZE    2
214# define INTC_INTPR22_OFFSET_OFFSET  0
215# define INTC_INTPR22_OFFSET_SIZE    24
216#define INTC_INTREQ22                0x158
217# define INTC_INTREQ22_IREQUEST704_OFFSET 0
218# define INTC_INTREQ22_IREQUEST704_SIZE 1
219# define INTC_INTREQ22_IREQUEST705_OFFSET 1
220# define INTC_INTREQ22_IREQUEST705_SIZE 1
221# define INTC_INTREQ22_IREQUEST706_OFFSET 2
222# define INTC_INTREQ22_IREQUEST706_SIZE 1
223#define INTC_INTPR23                 0x5c
224# define INTC_INTPR23_INTLEV_OFFSET  30
225# define INTC_INTPR23_INTLEV_SIZE    2
226# define INTC_INTPR23_OFFSET_OFFSET  0
227# define INTC_INTPR23_OFFSET_SIZE    24
228#define INTC_INTREQ23                0x15c
229# define INTC_INTREQ23_IREQUEST736_OFFSET 0
230# define INTC_INTREQ23_IREQUEST736_SIZE 1
231# define INTC_INTREQ23_IREQUEST737_OFFSET 1
232# define INTC_INTREQ23_IREQUEST737_SIZE 1
233# define INTC_INTREQ23_IREQUEST738_OFFSET 2
234# define INTC_INTREQ23_IREQUEST738_SIZE 1
235#define INTC_INTPR24                 0x60
236# define INTC_INTPR24_INTLEV_OFFSET  30
237# define INTC_INTPR24_INTLEV_SIZE    2
238# define INTC_INTPR24_OFFSET_OFFSET  0
239# define INTC_INTPR24_OFFSET_SIZE    24
240#define INTC_INTREQ24                0x160
241# define INTC_INTREQ24_IREQUEST768_OFFSET 0
242# define INTC_INTREQ24_IREQUEST768_SIZE 1
243#define INTC_INTPR25                 0x64
244# define INTC_INTPR25_INTLEV_OFFSET  30
245# define INTC_INTPR25_INTLEV_SIZE    2
246# define INTC_INTPR25_OFFSET_OFFSET  0
247# define INTC_INTPR25_OFFSET_SIZE    24
248#define INTC_INTREQ25                0x164
249# define INTC_INTREQ25_IREQUEST800_OFFSET 0
250# define INTC_INTREQ25_IREQUEST800_SIZE 1
251#define INTC_INTPR26                 0x68
252# define INTC_INTPR26_INTLEV_OFFSET  30
253# define INTC_INTPR26_INTLEV_SIZE    2
254# define INTC_INTPR26_OFFSET_OFFSET  0
255# define INTC_INTPR26_OFFSET_SIZE    24
256#define INTC_INTREQ26                0x168
257# define INTC_INTREQ26_IREQUEST832_OFFSET 0
258# define INTC_INTREQ26_IREQUEST832_SIZE 1
259#define INTC_INTPR27                 0x6c
260# define INTC_INTPR27_INTLEV_OFFSET  30
261# define INTC_INTPR27_INTLEV_SIZE    2
262# define INTC_INTPR27_OFFSET_OFFSET  0
263# define INTC_INTPR27_OFFSET_SIZE    24
264#define INTC_INTREQ27                0x16c
265# define INTC_INTREQ27_IREQUEST864_OFFSET 0
266# define INTC_INTREQ27_IREQUEST864_SIZE 1
267#define INTC_INTPR28                 0x70
268# define INTC_INTPR28_INTLEV_OFFSET  30
269# define INTC_INTPR28_INTLEV_SIZE    2
270# define INTC_INTPR28_OFFSET_OFFSET  0
271# define INTC_INTPR28_OFFSET_SIZE    24
272#define INTC_INTREQ28                0x170
273# define INTC_INTREQ28_IREQUEST896_OFFSET 0
274# define INTC_INTREQ28_IREQUEST896_SIZE 1
275#define INTC_INTPR29                 0x74
276# define INTC_INTPR29_INTLEV_OFFSET  30
277# define INTC_INTPR29_INTLEV_SIZE    2
278# define INTC_INTPR29_OFFSET_OFFSET  0
279# define INTC_INTPR29_OFFSET_SIZE    24
280#define INTC_INTREQ29                0x174
281# define INTC_INTREQ29_IREQUEST928_OFFSET 0
282# define INTC_INTREQ29_IREQUEST928_SIZE 1
283#define INTC_INTPR30                 0x78
284# define INTC_INTPR30_INTLEV_OFFSET  30
285# define INTC_INTPR30_INTLEV_SIZE    2
286# define INTC_INTPR30_OFFSET_OFFSET  0
287# define INTC_INTPR30_OFFSET_SIZE    24
288#define INTC_INTREQ30                0x178
289# define INTC_INTREQ30_IREQUEST960_OFFSET 0
290# define INTC_INTREQ30_IREQUEST960_SIZE 1
291#define INTC_INTPR31                 0x7c
292# define INTC_INTPR31_INTLEV_OFFSET  30
293# define INTC_INTPR31_INTLEV_SIZE    2
294# define INTC_INTPR31_OFFSET_OFFSET  0
295# define INTC_INTPR31_OFFSET_SIZE    24
296#define INTC_INTREQ31                0x17c
297# define INTC_INTREQ31_IREQUEST992_OFFSET 0
298# define INTC_INTREQ31_IREQUEST992_SIZE 1
299#define INTC_INTPR32                 0x80
300# define INTC_INTPR32_INTLEV_OFFSET  30
301# define INTC_INTPR32_INTLEV_SIZE    2
302# define INTC_INTPR32_OFFSET_OFFSET  0
303# define INTC_INTPR32_OFFSET_SIZE    24
304#define INTC_INTREQ32                0x180
305# define INTC_INTREQ32_IREQUEST1024_OFFSET 0
306# define INTC_INTREQ32_IREQUEST1024_SIZE 1
307#define INTC_INTCAUSE0               0x20c
308# define INTC_INTCAUSE0_CAUSEGRP_OFFSET 0
309# define INTC_INTCAUSE0_CAUSEGRP_SIZE 6
310#define INTC_INTCAUSE1               0x208
311# define INTC_INTCAUSE1_CAUSEGRP_OFFSET 0
312# define INTC_INTCAUSE1_CAUSEGRP_SIZE 6
313#define INTC_INTCAUSE2               0x204
314# define INTC_INTCAUSE2_CAUSEGRP_OFFSET 0
315# define INTC_INTCAUSE2_CAUSEGRP_SIZE 6
316#define INTC_INTCAUSE3               0x200
317# define INTC_INTCAUSE3_CAUSEGRP_OFFSET 0
318# define INTC_INTCAUSE3_CAUSEGRP_SIZE 6
319
320#define INTC_BIT(name)               (1 << INTC_##name##_OFFSET)
321#define INTC_MKBF(name, value)       (((value) & ((1 << INTC_##name##_SIZE) - 1)) << INTC_##name##_OFFSET)
322#define INTC_GETBF(name, value)      (((value) >> INTC_##name##_OFFSET) & ((1 << INTC_##name##_SIZE) - 1))
323
324#define intc_readl(port,reg)					\
325	__raw_readl((port)->regs + INTC_##reg)
326#define intc_writel(port,reg,value)				\
327	__raw_writel((value), (port)->regs + INTC_##reg)
328
329#endif /* __ASM_AVR32_PERIHP_INTC_H__ */
330