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    : adc_c_iodefine.h
9  * Version      : 1.00
10  * Description  : IO define file for adc_c.
11  *********************************************************************************************************************/
12 
13 /* =========================================================================================================================== */
14 /* ================                              Device Specific Cluster Section                              ================ */
15 /* =========================================================================================================================== */
16 
17 /* =========================================================================================================================== */
18 /* ================                            Device Specific Peripheral Section                             ================ */
19 /* =========================================================================================================================== */
20 
21 #ifndef ADC_C_IODEFINE_H
22 #define ADC_C_IODEFINE_H
23 
24 typedef struct
25 {
26     union
27     {
28         __IOM uint32_t ADM0;
29         struct
30         {
31             __IOM uint32_t ADCE   : 1;
32             __IM uint32_t  ADBSY  : 1;
33             __IOM uint32_t PWDWNB : 1;
34             uint32_t              : 12;
35             __IOM uint32_t SRESB  : 1;
36             uint32_t              : 16;
37         } ADM0_b;
38     };
39     union
40     {
41         __IOM uint32_t ADM1;
42         struct
43         {
44             __IOM uint32_t TRG   : 1;
45             __IOM uint32_t TRGIN : 1;
46             __IOM uint32_t MS    : 1;
47             __IOM uint32_t RPS   : 1;
48             __IOM uint32_t BS    : 1;
49             uint32_t             : 7;
50             __IOM uint32_t EGA   : 2;
51             uint32_t             : 2;
52             __IM uint32_t TRGEN  : 6;
53             uint32_t             : 10;
54         } ADM1_b;
55     };
56     union
57     {
58         __IOM uint32_t ADM2;
59         struct
60         {
61             __IOM uint32_t CHSEL : 9;
62             uint32_t             : 23;
63         } ADM2_b;
64     };
65     union
66     {
67         __IOM uint32_t ADM3;
68         struct
69         {
70             __IOM uint32_t ADSMP : 8;
71             uint32_t             : 8;
72             __IOM uint32_t ADCMP : 8;
73             __IOM uint32_t ADIL  : 8;
74         } ADM3_b;
75     };
76     union
77     {
78         __IOM uint32_t TSUMODE;
79         struct
80         {
81             uint32_t             : 1;
82             __IOM uint32_t TSUEN : 1;
83             uint32_t             : 30;
84         } TSUMODE_b;
85     };
86     __IM uint8_t RESERVED[12];
87     union
88     {
89         __IOM uint32_t ADINT;
90         struct
91         {
92             __IOM uint32_t INTEN : 12;
93             uint32_t             : 4;
94             __IOM uint32_t CSEEN : 1;
95             uint32_t             : 14;
96             __IM uint32_t INTS   : 1;
97         } ADINT_b;
98     };
99     union
100     {
101         __IOM uint32_t ADSTS;
102         struct
103         {
104             __IOM uint32_t INTST : 9;
105             uint32_t             : 7;
106             __IOM uint32_t CSEST : 1;
107             uint32_t             : 14;
108             __IOM uint32_t TRGS  : 1;
109         } ADSTS_b;
110     };
111     __IM uint8_t RESERVED1[4];
112     union
113     {
114         __IOM uint32_t ADFIL;
115         struct
116         {
117             __IOM uint32_t FILONOFF : 1;
118             uint32_t                : 3;
119             __IOM uint32_t FILNUM   : 2;
120             uint32_t                : 26;
121         } ADFIL_b;
122     };
123     union
124     {
125         __IM uint32_t ADCR0;
126         struct
127         {
128             __IM uint32_t AD0  : 1;
129             __IM uint32_t AD1  : 1;
130             __IM uint32_t AD2  : 1;
131             __IM uint32_t AD3  : 1;
132             __IM uint32_t AD4  : 1;
133             __IM uint32_t AD5  : 1;
134             __IM uint32_t AD6  : 1;
135             __IM uint32_t AD7  : 1;
136             __IM uint32_t AD8  : 1;
137             __IM uint32_t AD9  : 1;
138             __IM uint32_t AD10 : 1;
139             __IM uint32_t AD11 : 1;
140             uint32_t           : 20;
141         } ADCR0_b;
142     };
143     union
144     {
145         __IM uint32_t ADCR1;
146         struct
147         {
148             __IM uint32_t AD0  : 1;
149             __IM uint32_t AD1  : 1;
150             __IM uint32_t AD2  : 1;
151             __IM uint32_t AD3  : 1;
152             __IM uint32_t AD4  : 1;
153             __IM uint32_t AD5  : 1;
154             __IM uint32_t AD6  : 1;
155             __IM uint32_t AD7  : 1;
156             __IM uint32_t AD8  : 1;
157             __IM uint32_t AD9  : 1;
158             __IM uint32_t AD10 : 1;
159             __IM uint32_t AD11 : 1;
160             uint32_t           : 20;
161         } ADCR1_b;
162     };
163     union
164     {
165         __IM uint32_t ADCR2;
166         struct
167         {
168             __IM uint32_t AD0  : 1;
169             __IM uint32_t AD1  : 1;
170             __IM uint32_t AD2  : 1;
171             __IM uint32_t AD3  : 1;
172             __IM uint32_t AD4  : 1;
173             __IM uint32_t AD5  : 1;
174             __IM uint32_t AD6  : 1;
175             __IM uint32_t AD7  : 1;
176             __IM uint32_t AD8  : 1;
177             __IM uint32_t AD9  : 1;
178             __IM uint32_t AD10 : 1;
179             __IM uint32_t AD11 : 1;
180             uint32_t           : 20;
181         } ADCR2_b;
182     };
183     union
184     {
185         __IM uint32_t ADCR3;
186         struct
187         {
188             __IM uint32_t AD0  : 1;
189             __IM uint32_t AD1  : 1;
190             __IM uint32_t AD2  : 1;
191             __IM uint32_t AD3  : 1;
192             __IM uint32_t AD4  : 1;
193             __IM uint32_t AD5  : 1;
194             __IM uint32_t AD6  : 1;
195             __IM uint32_t AD7  : 1;
196             __IM uint32_t AD8  : 1;
197             __IM uint32_t AD9  : 1;
198             __IM uint32_t AD10 : 1;
199             __IM uint32_t AD11 : 1;
200             uint32_t           : 20;
201         } ADCR3_b;
202     };
203     union
204     {
205         __IM uint32_t ADCR4;
206         struct
207         {
208             __IM uint32_t AD0  : 1;
209             __IM uint32_t AD1  : 1;
210             __IM uint32_t AD2  : 1;
211             __IM uint32_t AD3  : 1;
212             __IM uint32_t AD4  : 1;
213             __IM uint32_t AD5  : 1;
214             __IM uint32_t AD6  : 1;
215             __IM uint32_t AD7  : 1;
216             __IM uint32_t AD8  : 1;
217             __IM uint32_t AD9  : 1;
218             __IM uint32_t AD10 : 1;
219             __IM uint32_t AD11 : 1;
220             uint32_t           : 20;
221         } ADCR4_b;
222     };
223     union
224     {
225         __IM uint32_t ADCR5;
226         struct
227         {
228             __IM uint32_t AD0  : 1;
229             __IM uint32_t AD1  : 1;
230             __IM uint32_t AD2  : 1;
231             __IM uint32_t AD3  : 1;
232             __IM uint32_t AD4  : 1;
233             __IM uint32_t AD5  : 1;
234             __IM uint32_t AD6  : 1;
235             __IM uint32_t AD7  : 1;
236             __IM uint32_t AD8  : 1;
237             __IM uint32_t AD9  : 1;
238             __IM uint32_t AD10 : 1;
239             __IM uint32_t AD11 : 1;
240             uint32_t           : 20;
241         } ADCR5_b;
242     };
243     union
244     {
245         __IM uint32_t ADCR6;
246         struct
247         {
248             __IM uint32_t AD0  : 1;
249             __IM uint32_t AD1  : 1;
250             __IM uint32_t AD2  : 1;
251             __IM uint32_t AD3  : 1;
252             __IM uint32_t AD4  : 1;
253             __IM uint32_t AD5  : 1;
254             __IM uint32_t AD6  : 1;
255             __IM uint32_t AD7  : 1;
256             __IM uint32_t AD8  : 1;
257             __IM uint32_t AD9  : 1;
258             __IM uint32_t AD10 : 1;
259             __IM uint32_t AD11 : 1;
260             uint32_t           : 20;
261         } ADCR6_b;
262     };
263     union
264     {
265         __IM uint32_t ADCR7;
266         struct
267         {
268             __IM uint32_t AD0  : 1;
269             __IM uint32_t AD1  : 1;
270             __IM uint32_t AD2  : 1;
271             __IM uint32_t AD3  : 1;
272             __IM uint32_t AD4  : 1;
273             __IM uint32_t AD5  : 1;
274             __IM uint32_t AD6  : 1;
275             __IM uint32_t AD7  : 1;
276             __IM uint32_t AD8  : 1;
277             __IM uint32_t AD9  : 1;
278             __IM uint32_t AD10 : 1;
279             __IM uint32_t AD11 : 1;
280             uint32_t           : 20;
281         } ADCR7_b;
282     };
283     union
284     {
285         __IM uint32_t ADCR8;
286         struct
287         {
288             __IM uint32_t AD0  : 1;
289             __IM uint32_t AD1  : 1;
290             __IM uint32_t AD2  : 1;
291             __IM uint32_t AD3  : 1;
292             __IM uint32_t AD4  : 1;
293             __IM uint32_t AD5  : 1;
294             __IM uint32_t AD6  : 1;
295             __IM uint32_t AD7  : 1;
296             __IM uint32_t AD8  : 1;
297             __IM uint32_t AD9  : 1;
298             __IM uint32_t AD10 : 1;
299             __IM uint32_t AD11 : 1;
300             uint32_t           : 20;
301         } ADCR8_b;
302     };
303     union
304     {
305         __IM uint32_t ADCR9;
306         struct
307         {
308             __IM uint32_t AD0  : 1;
309             __IM uint32_t AD1  : 1;
310             __IM uint32_t AD2  : 1;
311             __IM uint32_t AD3  : 1;
312             __IM uint32_t AD4  : 1;
313             __IM uint32_t AD5  : 1;
314             __IM uint32_t AD6  : 1;
315             __IM uint32_t AD7  : 1;
316             __IM uint32_t AD8  : 1;
317             __IM uint32_t AD9  : 1;
318             __IM uint32_t AD10 : 1;
319             __IM uint32_t AD11 : 1;
320             uint32_t           : 20;
321         } ADCR9_b;
322     };
323     union
324     {
325         __IM uint32_t ADCR10;
326         struct
327         {
328             __IM uint32_t AD0  : 1;
329             __IM uint32_t AD1  : 1;
330             __IM uint32_t AD2  : 1;
331             __IM uint32_t AD3  : 1;
332             __IM uint32_t AD4  : 1;
333             __IM uint32_t AD5  : 1;
334             __IM uint32_t AD6  : 1;
335             __IM uint32_t AD7  : 1;
336             __IM uint32_t AD8  : 1;
337             __IM uint32_t AD9  : 1;
338             __IM uint32_t AD10 : 1;
339             __IM uint32_t AD11 : 1;
340             uint32_t           : 20;
341         } ADCR10_b;
342     };
343     union
344     {
345         __IM uint32_t ADCR11;
346         struct
347         {
348             __IM uint32_t AD0  : 1;
349             __IM uint32_t AD1  : 1;
350             __IM uint32_t AD2  : 1;
351             __IM uint32_t AD3  : 1;
352             __IM uint32_t AD4  : 1;
353             __IM uint32_t AD5  : 1;
354             __IM uint32_t AD6  : 1;
355             __IM uint32_t AD7  : 1;
356             __IM uint32_t AD8  : 1;
357             __IM uint32_t AD9  : 1;
358             __IM uint32_t AD10 : 1;
359             __IM uint32_t AD11 : 1;
360             uint32_t           : 20;
361         } ADCR11_b;
362     };
363 } R_ADC_C_Type;
364 
365 /* =========================================================================================================================== */
366 /* ================                          Device Specific Peripheral Address Map                           ================ */
367 /* =========================================================================================================================== */
368 
369 #define R_ADC_C_BASE    0x40058000
370 
371 /* =========================================================================================================================== */
372 /* ================                                  Peripheral declaration                                   ================ */
373 /* =========================================================================================================================== */
374 
375 #define R_ADC_C    ((R_ADC_C_Type *) R_ADC_C_BASE)
376 
377 #endif                                 /* ADC_C_IODEFINE_H */
378