Save sram context after changing MPU, DSP or core clocks
[linux-ginger.git] / arch / avr32 / mach-at32ap / intc.h
blob4d3664e43a8e605218bd23dafc72d8821d7c8b68
1 /*
2 * Automatically generated by gen-header.xsl
3 */
4 #ifndef __ASM_AVR32_PERIHP_INTC_H__
5 #define __ASM_AVR32_PERIHP_INTC_H__
7 #define INTC_NUM_INT_GRPS 33
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
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))
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)
329 #endif /* __ASM_AVR32_PERIHP_INTC_H__ */