1 /*
2 * Copyright (c) 2020 - 2024 Renesas Electronics Corporation and/or its affiliates
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6 
7 /**********************************************************************************************************************
8  * File Name    : intc_im33_iodefine.h
9  * Version      : 1.00
10  * Description  : IO define file for intc_im33.
11  *********************************************************************************************************************/
12 
13 /* ================================================================================================================= */
14 /* ================                              Device Specific Cluster Section                              ====== */
15 /* ================================================================================================================= */
16 
17 /* ================================================================================================================= */
18 /* ================                            Device Specific Peripheral Section                             ====== */
19 /* ================================================================================================================= */
20 
21 #ifndef INTC_IM33_IODEFINE_H
22 #define INTC_IM33_IODEFINE_H
23 
24 typedef struct
25 {
26     union
27     {
28         __IOM uint32_t NSCR;
29         struct
30         {
31             __IOM uint32_t NSTAT : 1;
32             uint32_t             : 15;
33             __IM uint32_t NSMON  : 1;
34             uint32_t             : 15;
35         } NSCR_b;
36     };
37     union
38     {
39         __IOM uint32_t NITSR;
40         struct
41         {
42             __IOM uint32_t NTSEL : 1;
43             uint32_t             : 31;
44         } NITSR_b;
45     };
46     __IM uint8_t RESERVED[8];
47     union
48     {
49         __IOM uint32_t ISCR;
50         struct
51         {
52             __IOM uint32_t ISTAT0 : 1;
53             __IOM uint32_t ISTAT1 : 1;
54             __IOM uint32_t ISTAT2 : 1;
55             __IOM uint32_t ISTAT3 : 1;
56             __IOM uint32_t ISTAT4 : 1;
57             __IOM uint32_t ISTAT5 : 1;
58             __IOM uint32_t ISTAT6 : 1;
59             __IOM uint32_t ISTAT7 : 1;
60             uint32_t              : 24;
61         } ISCR_b;
62     };
63     union
64     {
65         __IOM uint32_t IITSR;
66         struct
67         {
68             __IOM uint32_t IITSEL0 : 2;
69             __IOM uint32_t IITSEL1 : 2;
70             __IOM uint32_t IITSEL2 : 2;
71             __IOM uint32_t IITSEL3 : 2;
72             __IOM uint32_t IITSEL4 : 2;
73             __IOM uint32_t IITSEL5 : 2;
74             __IOM uint32_t IITSEL6 : 2;
75             __IOM uint32_t IITSEL7 : 2;
76             uint32_t               : 16;
77         } IITSR_b;
78     };
79     __IM uint8_t RESERVED1[8];
80     union
81     {
82         __IOM uint32_t TSCR;
83         struct
84         {
85             __IOM uint32_t TSTAT0  : 1;
86             __IOM uint32_t TSTAT1  : 1;
87             __IOM uint32_t TSTAT2  : 1;
88             __IOM uint32_t TSTAT3  : 1;
89             __IOM uint32_t TSTAT4  : 1;
90             __IOM uint32_t TSTAT5  : 1;
91             __IOM uint32_t TSTAT6  : 1;
92             __IOM uint32_t TSTAT7  : 1;
93             __IOM uint32_t TSTAT8  : 1;
94             __IOM uint32_t TSTAT9  : 1;
95             __IOM uint32_t TSTAT10 : 1;
96             __IOM uint32_t TSTAT11 : 1;
97             __IOM uint32_t TSTAT12 : 1;
98             __IOM uint32_t TSTAT13 : 1;
99             __IOM uint32_t TSTAT14 : 1;
100             __IOM uint32_t TSTAT15 : 1;
101             __IOM uint32_t TSTAT16 : 1;
102             __IOM uint32_t TSTAT17 : 1;
103             __IOM uint32_t TSTAT18 : 1;
104             __IOM uint32_t TSTAT19 : 1;
105             __IOM uint32_t TSTAT20 : 1;
106             __IOM uint32_t TSTAT21 : 1;
107             __IOM uint32_t TSTAT22 : 1;
108             __IOM uint32_t TSTAT23 : 1;
109             __IOM uint32_t TSTAT24 : 1;
110             __IOM uint32_t TSTAT25 : 1;
111             __IOM uint32_t TSTAT26 : 1;
112             __IOM uint32_t TSTAT27 : 1;
113             __IOM uint32_t TSTAT28 : 1;
114             __IOM uint32_t TSTAT29 : 1;
115             __IOM uint32_t TSTAT30 : 1;
116             __IOM uint32_t TSTAT31 : 1;
117         } TSCR_b;
118     };
119     union
120     {
121         __IOM uint32_t TITSR0;
122         struct
123         {
124             __IOM uint32_t TITSEL0  : 2;
125             __IOM uint32_t TITSEL1  : 2;
126             __IOM uint32_t TITSEL2  : 2;
127             __IOM uint32_t TITSEL3  : 2;
128             __IOM uint32_t TITSEL4  : 2;
129             __IOM uint32_t TITSEL5  : 2;
130             __IOM uint32_t TITSEL6  : 2;
131             __IOM uint32_t TITSEL7  : 2;
132             __IOM uint32_t TITSEL8  : 2;
133             __IOM uint32_t TITSEL9  : 2;
134             __IOM uint32_t TITSEL10 : 2;
135             __IOM uint32_t TITSEL11 : 2;
136             __IOM uint32_t TITSEL12 : 2;
137             __IOM uint32_t TITSEL13 : 2;
138             __IOM uint32_t TITSEL14 : 2;
139             __IOM uint32_t TITSEL15 : 2;
140         } TITSR0_b;
141     };
142     union
143     {
144         __IOM uint32_t TITSR1;
145         struct
146         {
147             __IOM uint32_t TITSEL16 : 2;
148             __IOM uint32_t TITSEL17 : 2;
149             __IOM uint32_t TITSEL18 : 2;
150             __IOM uint32_t TITSEL19 : 2;
151             __IOM uint32_t TITSEL20 : 2;
152             __IOM uint32_t TITSEL21 : 2;
153             __IOM uint32_t TITSEL22 : 2;
154             __IOM uint32_t TITSEL23 : 2;
155             __IOM uint32_t TITSEL24 : 2;
156             __IOM uint32_t TITSEL25 : 2;
157             __IOM uint32_t TITSEL26 : 2;
158             __IOM uint32_t TITSEL27 : 2;
159             __IOM uint32_t TITSEL28 : 2;
160             __IOM uint32_t TITSEL29 : 2;
161             __IOM uint32_t TITSEL30 : 2;
162             __IOM uint32_t TITSEL31 : 2;
163         } TITSR1_b;
164     };
165     __IM uint8_t RESERVED2[4];
166     union
167     {
168         __IOM uint32_t TSSR0;
169         struct
170         {
171             __IOM uint32_t TSSEL0 : 7;
172             __IOM uint32_t TIEN0  : 1;
173             __IOM uint32_t TSSEL1 : 7;
174             __IOM uint32_t TIEN1  : 1;
175             __IOM uint32_t TSSEL2 : 7;
176             __IOM uint32_t TIEN2  : 1;
177             __IOM uint32_t TSSEL3 : 7;
178             __IOM uint32_t TIEN3  : 1;
179         } TSSR0_b;
180     };
181     union
182     {
183         __IOM uint32_t TSSR1;
184         struct
185         {
186             __IOM uint32_t TSSEL4 : 7;
187             __IOM uint32_t TIEN4  : 1;
188             __IOM uint32_t TSSEL5 : 7;
189             __IOM uint32_t TIEN5  : 1;
190             __IOM uint32_t TSSEL6 : 7;
191             __IOM uint32_t TIEN6  : 1;
192             __IOM uint32_t TSSEL7 : 7;
193             __IOM uint32_t TIEN7  : 1;
194         } TSSR1_b;
195     };
196     union
197     {
198         __IOM uint32_t TSSR2;
199         struct
200         {
201             __IOM uint32_t TSSEL8  : 7;
202             __IOM uint32_t TIEN8   : 1;
203             __IOM uint32_t TSSEL9  : 7;
204             __IOM uint32_t TIEN9   : 1;
205             __IOM uint32_t TSSEL10 : 7;
206             __IOM uint32_t TIEN10  : 1;
207             __IOM uint32_t TSSEL11 : 7;
208             __IOM uint32_t TIEN11  : 1;
209         } TSSR2_b;
210     };
211     union
212     {
213         __IOM uint32_t TSSR3;
214         struct
215         {
216             __IOM uint32_t TSSEL12 : 7;
217             __IOM uint32_t TIEN12  : 1;
218             __IOM uint32_t TSSEL13 : 7;
219             __IOM uint32_t TIEN13  : 1;
220             __IOM uint32_t TSSEL14 : 7;
221             __IOM uint32_t TIEN14  : 1;
222             __IOM uint32_t TSSEL15 : 7;
223             __IOM uint32_t TIEN15  : 1;
224         } TSSR3_b;
225     };
226     union
227     {
228         __IOM uint32_t TSSR4;
229         struct
230         {
231             __IOM uint32_t TSSEL16 : 7;
232             __IOM uint32_t TIEN16  : 1;
233             __IOM uint32_t TSSEL17 : 7;
234             __IOM uint32_t TIEN17  : 1;
235             __IOM uint32_t TSSEL18 : 7;
236             __IOM uint32_t TIEN18  : 1;
237             __IOM uint32_t TSSEL19 : 7;
238             __IOM uint32_t TIEN19  : 1;
239         } TSSR4_b;
240     };
241     union
242     {
243         __IOM uint32_t TSSR5;
244         struct
245         {
246             __IOM uint32_t TSSEL20 : 7;
247             __IOM uint32_t TIEN20  : 1;
248             __IOM uint32_t TSSEL21 : 7;
249             __IOM uint32_t TIEN21  : 1;
250             __IOM uint32_t TSSEL22 : 7;
251             __IOM uint32_t TIEN22  : 1;
252             __IOM uint32_t TSSEL23 : 7;
253             __IOM uint32_t TIEN23  : 1;
254         } TSSR5_b;
255     };
256     union
257     {
258         __IOM uint32_t TSSR6;
259         struct
260         {
261             __IOM uint32_t TSSEL24 : 7;
262             __IOM uint32_t TIEN24  : 1;
263             __IOM uint32_t TSSEL25 : 7;
264             __IOM uint32_t TIEN25  : 1;
265             __IOM uint32_t TSSEL26 : 7;
266             __IOM uint32_t TIEN26  : 1;
267             __IOM uint32_t TSSEL27 : 7;
268             __IOM uint32_t TIEN27  : 1;
269         } TSSR6_b;
270     };
271     union
272     {
273         __IOM uint32_t TSSR7;
274         struct
275         {
276             __IOM uint32_t TSSEL28 : 7;
277             __IOM uint32_t TIEN28  : 1;
278             __IOM uint32_t TSSEL29 : 7;
279             __IOM uint32_t TIEN29  : 1;
280             __IOM uint32_t TSSEL30 : 7;
281             __IOM uint32_t TIEN30  : 1;
282             __IOM uint32_t TSSEL31 : 7;
283             __IOM uint32_t TIEN31  : 1;
284         } TSSR7_b;
285     };
286     union
287     {
288         __IOM uint32_t BEISR0;
289         struct
290         {
291             __IOM uint32_t BESTAT0  : 1;
292             __IOM uint32_t BESTAT1  : 1;
293             __IOM uint32_t BESTAT2  : 1;
294             __IOM uint32_t BESTAT3  : 1;
295             __IOM uint32_t BESTAT4  : 1;
296             __IOM uint32_t BESTAT5  : 1;
297             __IOM uint32_t BESTAT6  : 1;
298             __IOM uint32_t BESTAT7  : 1;
299             __IOM uint32_t BESTAT8  : 1;
300             __IOM uint32_t BESTAT9  : 1;
301             __IOM uint32_t BESTAT10 : 1;
302             __IOM uint32_t BESTAT11 : 1;
303             __IOM uint32_t BESTAT12 : 1;
304             __IOM uint32_t BESTAT13 : 1;
305             __IOM uint32_t BESTAT14 : 1;
306             __IOM uint32_t BESTAT15 : 1;
307             __IOM uint32_t BESTAT16 : 1;
308             __IOM uint32_t BESTAT17 : 1;
309             __IOM uint32_t BESTAT18 : 1;
310             __IOM uint32_t BESTAT19 : 1;
311             __IOM uint32_t BESTAT20 : 1;
312             __IOM uint32_t BESTAT21 : 1;
313             __IOM uint32_t BESTAT22 : 1;
314             __IOM uint32_t BESTAT23 : 1;
315             __IOM uint32_t BESTAT24 : 1;
316             __IOM uint32_t BESTAT25 : 1;
317             __IOM uint32_t BESTAT26 : 1;
318             __IOM uint32_t BESTAT27 : 1;
319             __IOM uint32_t BESTAT28 : 1;
320             __IOM uint32_t BESTAT29 : 1;
321             __IOM uint32_t BESTAT30 : 1;
322             __IOM uint32_t BESTAT31 : 1;
323         } BEISR0_b;
324     };
325     union
326     {
327         __IOM uint32_t BEISR1;
328         struct
329         {
330             __IOM uint32_t BESTAT32 : 1;
331             __IOM uint32_t BESTAT33 : 1;
332             __IOM uint32_t BESTAT34 : 1;
333             __IOM uint32_t BESTAT35 : 1;
334             __IOM uint32_t BESTAT36 : 1;
335             __IOM uint32_t BESTAT37 : 1;
336             __IOM uint32_t BESTAT38 : 1;
337             __IOM uint32_t BESTAT39 : 1;
338             __IOM uint32_t BESTAT40 : 1;
339             __IOM uint32_t BESTAT41 : 1;
340             __IOM uint32_t BESTAT42 : 1;
341             __IOM uint32_t BESTAT43 : 1;
342             __IOM uint32_t BESTAT44 : 1;
343             __IOM uint32_t BESTAT45 : 1;
344             __IOM uint32_t BESTAT46 : 1;
345             uint32_t                : 17;
346         } BEISR1_b;
347     };
348     __IM uint8_t RESERVED3[8];
349     union
350     {
351         __IOM uint32_t EREISR0;
352         struct
353         {
354             __IOM uint32_t A01ESTAT0 : 1;
355             __IOM uint32_t A01ESTAT1 : 1;
356             __IOM uint32_t A01ESTAT2 : 1;
357             __IOM uint32_t A01ESTAT3 : 1;
358             __IOM uint32_t A01ESTAT4 : 1;
359             __IOM uint32_t A01ESTAT5 : 1;
360             __IOM uint32_t A01ESTAT6 : 1;
361             __IOM uint32_t A01ESTAT7 : 1;
362             __IOM uint32_t A11ESTAT0 : 1;
363             __IOM uint32_t A11ESTAT1 : 1;
364             __IOM uint32_t A11ESTAT2 : 1;
365             __IOM uint32_t A11ESTAT3 : 1;
366             __IOM uint32_t A11ESTAT4 : 1;
367             __IOM uint32_t A11ESTAT5 : 1;
368             __IOM uint32_t A11ESTAT6 : 1;
369             __IOM uint32_t A11ESTAT7 : 1;
370             uint32_t                 : 16;
371         } EREISR0_b;
372     };
373     union
374     {
375         __IOM uint32_t EREISR1;
376         struct
377         {
378             __IOM uint32_t M01ESTAT0 : 1;
379             __IOM uint32_t M01ESTAT1 : 1;
380             __IOM uint32_t M01ESTAT2 : 1;
381             __IOM uint32_t M01ESTAT3 : 1;
382             __IOM uint32_t M01ESTAT4 : 1;
383             __IOM uint32_t M01ESTAT5 : 1;
384             __IOM uint32_t M01ESTAT6 : 1;
385             __IOM uint32_t M01ESTAT7 : 1;
386             __IOM uint32_t M11ESTAT0 : 1;
387             __IOM uint32_t M11ESTAT1 : 1;
388             __IOM uint32_t M11ESTAT2 : 1;
389             __IOM uint32_t M11ESTAT3 : 1;
390             __IOM uint32_t M11ESTAT4 : 1;
391             __IOM uint32_t M11ESTAT5 : 1;
392             __IOM uint32_t M11ESTAT6 : 1;
393             __IOM uint32_t M11ESTAT7 : 1;
394             uint32_t                 : 16;
395         } EREISR1_b;
396     };
397     union
398     {
399         __IOM uint32_t EREISR2;
400         struct
401         {
402             __IOM uint32_t A02ESTAT0 : 1;
403             __IOM uint32_t A02ESTAT1 : 1;
404             __IOM uint32_t A02ESTAT2 : 1;
405             __IOM uint32_t A02ESTAT3 : 1;
406             __IOM uint32_t A02ESTAT4 : 1;
407             __IOM uint32_t A02ESTAT5 : 1;
408             __IOM uint32_t A02ESTAT6 : 1;
409             __IOM uint32_t A02ESTAT7 : 1;
410             __IOM uint32_t A12ESTAT0 : 1;
411             __IOM uint32_t A12ESTAT1 : 1;
412             __IOM uint32_t A12ESTAT2 : 1;
413             __IOM uint32_t A12ESTAT3 : 1;
414             __IOM uint32_t A12ESTAT4 : 1;
415             __IOM uint32_t A12ESTAT5 : 1;
416             __IOM uint32_t A12ESTAT6 : 1;
417             __IOM uint32_t A12ESTAT7 : 1;
418             uint32_t                 : 16;
419         } EREISR2_b;
420     };
421     union
422     {
423         __IOM uint32_t EREISR3;
424         struct
425         {
426             __IOM uint32_t M02ESTAT0 : 1;
427             __IOM uint32_t M02ESTAT1 : 1;
428             __IOM uint32_t M02ESTAT2 : 1;
429             __IOM uint32_t M02ESTAT3 : 1;
430             __IOM uint32_t M02ESTAT4 : 1;
431             __IOM uint32_t M02ESTAT5 : 1;
432             __IOM uint32_t M02ESTAT6 : 1;
433             __IOM uint32_t M02ESTAT7 : 1;
434             __IOM uint32_t M12ESTAT0 : 1;
435             __IOM uint32_t M12ESTAT1 : 1;
436             __IOM uint32_t M12ESTAT2 : 1;
437             __IOM uint32_t M12ESTAT3 : 1;
438             __IOM uint32_t M12ESTAT4 : 1;
439             __IOM uint32_t M12ESTAT5 : 1;
440             __IOM uint32_t M12ESTAT6 : 1;
441             __IOM uint32_t M12ESTAT7 : 1;
442             uint32_t                 : 16;
443         } EREISR3_b;
444     };
445     union
446     {
447         __IOM uint32_t EREISR4;
448         struct
449         {
450             __IOM uint32_t A0OFSTAT0 : 1;
451             __IOM uint32_t A0OFSTAT1 : 1;
452             __IOM uint32_t A0OFSTAT2 : 1;
453             __IOM uint32_t A0OFSTAT3 : 1;
454             __IOM uint32_t A0OFSTAT4 : 1;
455             __IOM uint32_t A0OFSTAT5 : 1;
456             __IOM uint32_t A0OFSTAT6 : 1;
457             __IOM uint32_t A0OFSTAT7 : 1;
458             __IOM uint32_t A1OFSTAT0 : 1;
459             __IOM uint32_t A1OFSTAT1 : 1;
460             __IOM uint32_t A1OFSTAT2 : 1;
461             __IOM uint32_t A1OFSTAT3 : 1;
462             __IOM uint32_t A1OFSTAT4 : 1;
463             __IOM uint32_t A1OFSTAT5 : 1;
464             __IOM uint32_t A1OFSTAT6 : 1;
465             __IOM uint32_t A1OFSTAT7 : 1;
466             uint32_t                 : 16;
467         } EREISR4_b;
468     };
469     union
470     {
471         __IOM uint32_t EREISR5;
472         struct
473         {
474             __IOM uint32_t M0OFSTAT0 : 1;
475             __IOM uint32_t M0OFSTAT1 : 1;
476             __IOM uint32_t M0OFSTAT2 : 1;
477             __IOM uint32_t M0OFSTAT3 : 1;
478             __IOM uint32_t M0OFSTAT4 : 1;
479             __IOM uint32_t M0OFSTAT5 : 1;
480             __IOM uint32_t M0OFSTAT6 : 1;
481             __IOM uint32_t M0OFSTAT7 : 1;
482             __IOM uint32_t M1OFSTAT0 : 1;
483             __IOM uint32_t M1OFSTAT1 : 1;
484             __IOM uint32_t M1OFSTAT2 : 1;
485             __IOM uint32_t M1OFSTAT3 : 1;
486             __IOM uint32_t M1OFSTAT4 : 1;
487             __IOM uint32_t M1OFSTAT5 : 1;
488             __IOM uint32_t M1OFSTAT6 : 1;
489             __IOM uint32_t M1OFSTAT7 : 1;
490             uint32_t                 : 16;
491         } EREISR5_b;
492     };
493     __IM uint8_t RESERVED4[8];
494     union
495     {
496         __IOM uint32_t INTPMSEL0;
497         struct
498         {
499             __IOM uint32_t PMINTSEL0  : 1;
500             __IOM uint32_t PMINTSEL1  : 1;
501             __IOM uint32_t PMINTSEL2  : 1;
502             __IOM uint32_t PMINTSEL3  : 1;
503             __IOM uint32_t PMINTSEL4  : 1;
504             __IOM uint32_t PMINTSEL5  : 1;
505             __IOM uint32_t PMINTSEL6  : 1;
506             __IOM uint32_t PMINTSEL7  : 1;
507             __IOM uint32_t PMINTSEL8  : 1;
508             __IOM uint32_t PMINTSEL9  : 1;
509             __IOM uint32_t PMINTSEL10 : 1;
510             __IOM uint32_t PMINTSEL11 : 1;
511             __IOM uint32_t PMINTSEL12 : 1;
512             __IOM uint32_t PMINTSEL13 : 1;
513             __IOM uint32_t PMINTSEL14 : 1;
514             __IOM uint32_t PMINTSEL15 : 1;
515             __IOM uint32_t PMINTSEL16 : 1;
516             __IOM uint32_t PMINTSEL17 : 1;
517             __IOM uint32_t PMINTSEL18 : 1;
518             __IOM uint32_t PMINTSEL19 : 1;
519             __IOM uint32_t PMINTSEL20 : 1;
520             __IOM uint32_t PMINTSEL21 : 1;
521             __IOM uint32_t PMINTSEL22 : 1;
522             __IOM uint32_t PMINTSEL23 : 1;
523             __IOM uint32_t PMINTSEL24 : 1;
524             __IOM uint32_t PMINTSEL25 : 1;
525             __IOM uint32_t PMINTSEL26 : 1;
526             __IOM uint32_t PMINTSEL27 : 1;
527             __IOM uint32_t PMINTSEL28 : 1;
528             __IOM uint32_t PMINTSEL29 : 1;
529             __IOM uint32_t PMINTSEL30 : 1;
530             __IOM uint32_t PMINTSEL31 : 1;
531         } INTPMSEL0_b;
532     };
533     union
534     {
535         __IOM uint32_t INTPMSEL1;
536         struct
537         {
538             __IOM uint32_t PMINTSEL32 : 1;
539             __IOM uint32_t PMINTSEL33 : 1;
540             __IOM uint32_t PMINTSEL34 : 1;
541             __IOM uint32_t PMINTSEL35 : 1;
542             __IOM uint32_t PMINTSEL36 : 1;
543             __IOM uint32_t PMINTSEL37 : 1;
544             __IOM uint32_t PMINTSEL38 : 1;
545             __IOM uint32_t PMINTSEL39 : 1;
546             __IOM uint32_t PMINTSEL40 : 1;
547             __IOM uint32_t PMINTSEL41 : 1;
548             __IOM uint32_t PMINTSEL42 : 1;
549             __IOM uint32_t PMINTSEL43 : 1;
550             uint32_t                  : 20;
551         } INTPMSEL1_b;
552     };
553 } R_INTC_IM33_Type;
554 
555 /* =========================================================================================================================== */
556 /* ================                          Device Specific Peripheral Address Map                           ================ */
557 /* =========================================================================================================================== */
558 #if BSP_FEATURE_CURRENT_CORE_IS_CM33_FPU
559  #define R_INTC_IM33_BASE    0x41070000
560 #else
561  #define R_INTC_IM33_BASE    0x41060000
562 #endif
563 
564 /* =========================================================================================================================== */
565 /* ================                                  Peripheral declaration                                   ================ */
566 /* =========================================================================================================================== */
567 
568 #define R_INTC_IM33    ((R_INTC_IM33_Type *) R_INTC_IM33_BASE)
569 
570 #endif                                 /* INTC_IM33_IODEFINE_H */
571