atsam4lc8c/gpio/
mod.rs

1#[doc = r" Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - GPIO Enable Register"]
5    pub gper0: GPER,
6    #[doc = "0x04 - GPIO Enable Register - Set"]
7    pub gpers0: GPERS,
8    #[doc = "0x08 - GPIO Enable Register - Clear"]
9    pub gperc0: GPERC,
10    #[doc = "0x0c - GPIO Enable Register - Toggle"]
11    pub gpert0: GPERT,
12    #[doc = "0x10 - Peripheral Mux Register 0"]
13    pub pmr00: PMR0,
14    #[doc = "0x14 - Peripheral Mux Register 0 - Set"]
15    pub pmr0s0: PMR0S,
16    #[doc = "0x18 - Peripheral Mux Register 0 - Clear"]
17    pub pmr0c0: PMR0C,
18    #[doc = "0x1c - Peripheral Mux Register 0 - Toggle"]
19    pub pmr0t0: PMR0T,
20    #[doc = "0x20 - Peripheral Mux Register 1"]
21    pub pmr10: PMR1,
22    #[doc = "0x24 - Peripheral Mux Register 1 - Set"]
23    pub pmr1s0: PMR1S,
24    #[doc = "0x28 - Peripheral Mux Register 1 - Clear"]
25    pub pmr1c0: PMR1C,
26    #[doc = "0x2c - Peripheral Mux Register 1 - Toggle"]
27    pub pmr1t0: PMR1T,
28    #[doc = "0x30 - Peripheral Mux Register 2"]
29    pub pmr20: PMR2,
30    #[doc = "0x34 - Peripheral Mux Register 2 - Set"]
31    pub pmr2s0: PMR2S,
32    #[doc = "0x38 - Peripheral Mux Register 2 - Clear"]
33    pub pmr2c0: PMR2C,
34    #[doc = "0x3c - Peripheral Mux Register 2 - Toggle"]
35    pub pmr2t0: PMR2T,
36    #[doc = "0x40 - Output Driver Enable Register"]
37    pub oder0: ODER,
38    #[doc = "0x44 - Output Driver Enable Register - Set"]
39    pub oders0: ODERS,
40    #[doc = "0x48 - Output Driver Enable Register - Clear"]
41    pub oderc0: ODERC,
42    #[doc = "0x4c - Output Driver Enable Register - Toggle"]
43    pub odert0: ODERT,
44    #[doc = "0x50 - Output Value Register"]
45    pub ovr0: OVR,
46    #[doc = "0x54 - Output Value Register - Set"]
47    pub ovrs0: OVRS,
48    #[doc = "0x58 - Output Value Register - Clear"]
49    pub ovrc0: OVRC,
50    #[doc = "0x5c - Output Value Register - Toggle"]
51    pub ovrt0: OVRT,
52    #[doc = "0x60 - Pin Value Register"]
53    pub pvr0: PVR,
54    _reserved0: [u8; 12usize],
55    #[doc = "0x70 - Pull-up Enable Register"]
56    pub puer0: PUER,
57    #[doc = "0x74 - Pull-up Enable Register - Set"]
58    pub puers0: PUERS,
59    #[doc = "0x78 - Pull-up Enable Register - Clear"]
60    pub puerc0: PUERC,
61    #[doc = "0x7c - Pull-up Enable Register - Toggle"]
62    pub puert0: PUERT,
63    #[doc = "0x80 - Pull-down Enable Register"]
64    pub pder0: PDER,
65    #[doc = "0x84 - Pull-down Enable Register - Set"]
66    pub pders0: PDERS,
67    #[doc = "0x88 - Pull-down Enable Register - Clear"]
68    pub pderc0: PDERC,
69    #[doc = "0x8c - Pull-down Enable Register - Toggle"]
70    pub pdert0: PDERT,
71    #[doc = "0x90 - Interrupt Enable Register"]
72    pub ier0: IER,
73    #[doc = "0x94 - Interrupt Enable Register - Set"]
74    pub iers0: IERS,
75    #[doc = "0x98 - Interrupt Enable Register - Clear"]
76    pub ierc0: IERC,
77    #[doc = "0x9c - Interrupt Enable Register - Toggle"]
78    pub iert0: IERT,
79    #[doc = "0xa0 - Interrupt Mode Register 0"]
80    pub imr00: IMR0,
81    #[doc = "0xa4 - Interrupt Mode Register 0 - Set"]
82    pub imr0s0: IMR0S,
83    #[doc = "0xa8 - Interrupt Mode Register 0 - Clear"]
84    pub imr0c0: IMR0C,
85    #[doc = "0xac - Interrupt Mode Register 0 - Toggle"]
86    pub imr0t0: IMR0T,
87    #[doc = "0xb0 - Interrupt Mode Register 1"]
88    pub imr10: IMR1,
89    #[doc = "0xb4 - Interrupt Mode Register 1 - Set"]
90    pub imr1s0: IMR1S,
91    #[doc = "0xb8 - Interrupt Mode Register 1 - Clear"]
92    pub imr1c0: IMR1C,
93    #[doc = "0xbc - Interrupt Mode Register 1 - Toggle"]
94    pub imr1t0: IMR1T,
95    #[doc = "0xc0 - Glitch Filter Enable Register"]
96    pub gfer0: GFER,
97    #[doc = "0xc4 - Glitch Filter Enable Register - Set"]
98    pub gfers0: GFERS,
99    #[doc = "0xc8 - Glitch Filter Enable Register - Clear"]
100    pub gferc0: GFERC,
101    #[doc = "0xcc - Glitch Filter Enable Register - Toggle"]
102    pub gfert0: GFERT,
103    #[doc = "0xd0 - Interrupt Flag Register"]
104    pub ifr0: IFR,
105    _reserved1: [u8; 4usize],
106    #[doc = "0xd8 - Interrupt Flag Register - Clear"]
107    pub ifrc0: IFRC,
108    _reserved2: [u8; 4usize],
109    #[doc = "0xe0 - Open Drain Mode Register"]
110    pub odmer0: ODMER,
111    #[doc = "0xe4 - Open Drain Mode Register - Set"]
112    pub odmers0: ODMERS,
113    #[doc = "0xe8 - Open Drain Mode Register - Clear"]
114    pub odmerc0: ODMERC,
115    #[doc = "0xec - Open Drain Mode Register - Toggle"]
116    pub odmert0: ODMERT,
117    _reserved3: [u8; 16usize],
118    #[doc = "0x100 - Output Driving Capability Register 0"]
119    pub odcr00: ODCR0,
120    #[doc = "0x104 - Output Driving Capability Register 0 - Set"]
121    pub odcr0s0: ODCR0S,
122    #[doc = "0x108 - Output Driving Capability Register 0 - Clear"]
123    pub odcr0c0: ODCR0C,
124    #[doc = "0x10c - Output Driving Capability Register 0 - Toggle"]
125    pub odcr0t0: ODCR0T,
126    #[doc = "0x110 - Output Driving Capability Register 1"]
127    pub odcr10: ODCR1,
128    #[doc = "0x114 - Output Driving Capability Register 1 - Set"]
129    pub odcr1s0: ODCR1S,
130    #[doc = "0x118 - Output Driving Capability Register 1 - Clear"]
131    pub odcr1c0: ODCR1C,
132    #[doc = "0x11c - Output Driving Capability Register 1 - Toggle"]
133    pub odcr1t0: ODCR1T,
134    _reserved4: [u8; 16usize],
135    #[doc = "0x130 - Output Slew Rate Register 0"]
136    pub osrr00: OSRR0,
137    #[doc = "0x134 - Output Slew Rate Register 0 - Set"]
138    pub osrr0s0: OSRR0S,
139    #[doc = "0x138 - Output Slew Rate Register 0 - Clear"]
140    pub osrr0c0: OSRR0C,
141    #[doc = "0x13c - Output Slew Rate Register 0 - Toggle"]
142    pub osrr0t0: OSRR0T,
143    _reserved5: [u8; 32usize],
144    #[doc = "0x160 - Schmitt Trigger Enable Register"]
145    pub ster0: STER,
146    #[doc = "0x164 - Schmitt Trigger Enable Register - Set"]
147    pub sters0: STERS,
148    #[doc = "0x168 - Schmitt Trigger Enable Register - Clear"]
149    pub sterc0: STERC,
150    #[doc = "0x16c - Schmitt Trigger Enable Register - Toggle"]
151    pub stert0: STERT,
152    _reserved6: [u8; 16usize],
153    #[doc = "0x180 - Event Enable Register"]
154    pub ever0: EVER,
155    #[doc = "0x184 - Event Enable Register - Set"]
156    pub evers0: EVERS,
157    #[doc = "0x188 - Event Enable Register - Clear"]
158    pub everc0: EVERC,
159    #[doc = "0x18c - Event Enable Register - Toggle"]
160    pub evert0: EVERT,
161    _reserved7: [u8; 16usize],
162    #[doc = "0x1a0 - Lock Register"]
163    pub lock0: LOCK,
164    #[doc = "0x1a4 - Lock Register - Set"]
165    pub locks0: LOCKS,
166    #[doc = "0x1a8 - Lock Register - Clear"]
167    pub lockc0: LOCKC,
168    #[doc = "0x1ac - Lock Register - Toggle"]
169    pub lockt0: LOCKT,
170    _reserved8: [u8; 48usize],
171    #[doc = "0x1e0 - Unlock Register"]
172    pub unlock0: UNLOCK,
173    #[doc = "0x1e4 - Access Status Register"]
174    pub asr0: ASR,
175    _reserved9: [u8; 16usize],
176    #[doc = "0x1f8 - Parameter Register"]
177    pub parameter0: PARAMETER,
178    #[doc = "0x1fc - Version Register"]
179    pub version0: VERSION,
180    #[doc = "0x200 - GPIO Enable Register"]
181    pub gper1: GPER,
182    #[doc = "0x204 - GPIO Enable Register - Set"]
183    pub gpers1: GPERS,
184    #[doc = "0x208 - GPIO Enable Register - Clear"]
185    pub gperc1: GPERC,
186    #[doc = "0x20c - GPIO Enable Register - Toggle"]
187    pub gpert1: GPERT,
188    #[doc = "0x210 - Peripheral Mux Register 0"]
189    pub pmr01: PMR0,
190    #[doc = "0x214 - Peripheral Mux Register 0 - Set"]
191    pub pmr0s1: PMR0S,
192    #[doc = "0x218 - Peripheral Mux Register 0 - Clear"]
193    pub pmr0c1: PMR0C,
194    #[doc = "0x21c - Peripheral Mux Register 0 - Toggle"]
195    pub pmr0t1: PMR0T,
196    #[doc = "0x220 - Peripheral Mux Register 1"]
197    pub pmr11: PMR1,
198    #[doc = "0x224 - Peripheral Mux Register 1 - Set"]
199    pub pmr1s1: PMR1S,
200    #[doc = "0x228 - Peripheral Mux Register 1 - Clear"]
201    pub pmr1c1: PMR1C,
202    #[doc = "0x22c - Peripheral Mux Register 1 - Toggle"]
203    pub pmr1t1: PMR1T,
204    #[doc = "0x230 - Peripheral Mux Register 2"]
205    pub pmr21: PMR2,
206    #[doc = "0x234 - Peripheral Mux Register 2 - Set"]
207    pub pmr2s1: PMR2S,
208    #[doc = "0x238 - Peripheral Mux Register 2 - Clear"]
209    pub pmr2c1: PMR2C,
210    #[doc = "0x23c - Peripheral Mux Register 2 - Toggle"]
211    pub pmr2t1: PMR2T,
212    #[doc = "0x240 - Output Driver Enable Register"]
213    pub oder1: ODER,
214    #[doc = "0x244 - Output Driver Enable Register - Set"]
215    pub oders1: ODERS,
216    #[doc = "0x248 - Output Driver Enable Register - Clear"]
217    pub oderc1: ODERC,
218    #[doc = "0x24c - Output Driver Enable Register - Toggle"]
219    pub odert1: ODERT,
220    #[doc = "0x250 - Output Value Register"]
221    pub ovr1: OVR,
222    #[doc = "0x254 - Output Value Register - Set"]
223    pub ovrs1: OVRS,
224    #[doc = "0x258 - Output Value Register - Clear"]
225    pub ovrc1: OVRC,
226    #[doc = "0x25c - Output Value Register - Toggle"]
227    pub ovrt1: OVRT,
228    #[doc = "0x260 - Pin Value Register"]
229    pub pvr1: PVR,
230    _reserved10: [u8; 12usize],
231    #[doc = "0x270 - Pull-up Enable Register"]
232    pub puer1: PUER,
233    #[doc = "0x274 - Pull-up Enable Register - Set"]
234    pub puers1: PUERS,
235    #[doc = "0x278 - Pull-up Enable Register - Clear"]
236    pub puerc1: PUERC,
237    #[doc = "0x27c - Pull-up Enable Register - Toggle"]
238    pub puert1: PUERT,
239    #[doc = "0x280 - Pull-down Enable Register"]
240    pub pder1: PDER,
241    #[doc = "0x284 - Pull-down Enable Register - Set"]
242    pub pders1: PDERS,
243    #[doc = "0x288 - Pull-down Enable Register - Clear"]
244    pub pderc1: PDERC,
245    #[doc = "0x28c - Pull-down Enable Register - Toggle"]
246    pub pdert1: PDERT,
247    #[doc = "0x290 - Interrupt Enable Register"]
248    pub ier1: IER,
249    #[doc = "0x294 - Interrupt Enable Register - Set"]
250    pub iers1: IERS,
251    #[doc = "0x298 - Interrupt Enable Register - Clear"]
252    pub ierc1: IERC,
253    #[doc = "0x29c - Interrupt Enable Register - Toggle"]
254    pub iert1: IERT,
255    #[doc = "0x2a0 - Interrupt Mode Register 0"]
256    pub imr01: IMR0,
257    #[doc = "0x2a4 - Interrupt Mode Register 0 - Set"]
258    pub imr0s1: IMR0S,
259    #[doc = "0x2a8 - Interrupt Mode Register 0 - Clear"]
260    pub imr0c1: IMR0C,
261    #[doc = "0x2ac - Interrupt Mode Register 0 - Toggle"]
262    pub imr0t1: IMR0T,
263    #[doc = "0x2b0 - Interrupt Mode Register 1"]
264    pub imr11: IMR1,
265    #[doc = "0x2b4 - Interrupt Mode Register 1 - Set"]
266    pub imr1s1: IMR1S,
267    #[doc = "0x2b8 - Interrupt Mode Register 1 - Clear"]
268    pub imr1c1: IMR1C,
269    #[doc = "0x2bc - Interrupt Mode Register 1 - Toggle"]
270    pub imr1t1: IMR1T,
271    #[doc = "0x2c0 - Glitch Filter Enable Register"]
272    pub gfer1: GFER,
273    #[doc = "0x2c4 - Glitch Filter Enable Register - Set"]
274    pub gfers1: GFERS,
275    #[doc = "0x2c8 - Glitch Filter Enable Register - Clear"]
276    pub gferc1: GFERC,
277    #[doc = "0x2cc - Glitch Filter Enable Register - Toggle"]
278    pub gfert1: GFERT,
279    #[doc = "0x2d0 - Interrupt Flag Register"]
280    pub ifr1: IFR,
281    _reserved11: [u8; 4usize],
282    #[doc = "0x2d8 - Interrupt Flag Register - Clear"]
283    pub ifrc1: IFRC,
284    _reserved12: [u8; 4usize],
285    #[doc = "0x2e0 - Open Drain Mode Register"]
286    pub odmer1: ODMER,
287    #[doc = "0x2e4 - Open Drain Mode Register - Set"]
288    pub odmers1: ODMERS,
289    #[doc = "0x2e8 - Open Drain Mode Register - Clear"]
290    pub odmerc1: ODMERC,
291    #[doc = "0x2ec - Open Drain Mode Register - Toggle"]
292    pub odmert1: ODMERT,
293    _reserved13: [u8; 16usize],
294    #[doc = "0x300 - Output Driving Capability Register 0"]
295    pub odcr01: ODCR0,
296    #[doc = "0x304 - Output Driving Capability Register 0 - Set"]
297    pub odcr0s1: ODCR0S,
298    #[doc = "0x308 - Output Driving Capability Register 0 - Clear"]
299    pub odcr0c1: ODCR0C,
300    #[doc = "0x30c - Output Driving Capability Register 0 - Toggle"]
301    pub odcr0t1: ODCR0T,
302    #[doc = "0x310 - Output Driving Capability Register 1"]
303    pub odcr11: ODCR1,
304    #[doc = "0x314 - Output Driving Capability Register 1 - Set"]
305    pub odcr1s1: ODCR1S,
306    #[doc = "0x318 - Output Driving Capability Register 1 - Clear"]
307    pub odcr1c1: ODCR1C,
308    #[doc = "0x31c - Output Driving Capability Register 1 - Toggle"]
309    pub odcr1t1: ODCR1T,
310    _reserved14: [u8; 16usize],
311    #[doc = "0x330 - Output Slew Rate Register 0"]
312    pub osrr01: OSRR0,
313    #[doc = "0x334 - Output Slew Rate Register 0 - Set"]
314    pub osrr0s1: OSRR0S,
315    #[doc = "0x338 - Output Slew Rate Register 0 - Clear"]
316    pub osrr0c1: OSRR0C,
317    #[doc = "0x33c - Output Slew Rate Register 0 - Toggle"]
318    pub osrr0t1: OSRR0T,
319    _reserved15: [u8; 32usize],
320    #[doc = "0x360 - Schmitt Trigger Enable Register"]
321    pub ster1: STER,
322    #[doc = "0x364 - Schmitt Trigger Enable Register - Set"]
323    pub sters1: STERS,
324    #[doc = "0x368 - Schmitt Trigger Enable Register - Clear"]
325    pub sterc1: STERC,
326    #[doc = "0x36c - Schmitt Trigger Enable Register - Toggle"]
327    pub stert1: STERT,
328    _reserved16: [u8; 16usize],
329    #[doc = "0x380 - Event Enable Register"]
330    pub ever1: EVER,
331    #[doc = "0x384 - Event Enable Register - Set"]
332    pub evers1: EVERS,
333    #[doc = "0x388 - Event Enable Register - Clear"]
334    pub everc1: EVERC,
335    #[doc = "0x38c - Event Enable Register - Toggle"]
336    pub evert1: EVERT,
337    _reserved17: [u8; 16usize],
338    #[doc = "0x3a0 - Lock Register"]
339    pub lock1: LOCK,
340    #[doc = "0x3a4 - Lock Register - Set"]
341    pub locks1: LOCKS,
342    #[doc = "0x3a8 - Lock Register - Clear"]
343    pub lockc1: LOCKC,
344    #[doc = "0x3ac - Lock Register - Toggle"]
345    pub lockt1: LOCKT,
346    _reserved18: [u8; 48usize],
347    #[doc = "0x3e0 - Unlock Register"]
348    pub unlock1: UNLOCK,
349    #[doc = "0x3e4 - Access Status Register"]
350    pub asr1: ASR,
351    _reserved19: [u8; 16usize],
352    #[doc = "0x3f8 - Parameter Register"]
353    pub parameter1: PARAMETER,
354    #[doc = "0x3fc - Version Register"]
355    pub version1: VERSION,
356    #[doc = "0x400 - GPIO Enable Register"]
357    pub gper2: GPER,
358    #[doc = "0x404 - GPIO Enable Register - Set"]
359    pub gpers2: GPERS,
360    #[doc = "0x408 - GPIO Enable Register - Clear"]
361    pub gperc2: GPERC,
362    #[doc = "0x40c - GPIO Enable Register - Toggle"]
363    pub gpert2: GPERT,
364    #[doc = "0x410 - Peripheral Mux Register 0"]
365    pub pmr02: PMR0,
366    #[doc = "0x414 - Peripheral Mux Register 0 - Set"]
367    pub pmr0s2: PMR0S,
368    #[doc = "0x418 - Peripheral Mux Register 0 - Clear"]
369    pub pmr0c2: PMR0C,
370    #[doc = "0x41c - Peripheral Mux Register 0 - Toggle"]
371    pub pmr0t2: PMR0T,
372    #[doc = "0x420 - Peripheral Mux Register 1"]
373    pub pmr12: PMR1,
374    #[doc = "0x424 - Peripheral Mux Register 1 - Set"]
375    pub pmr1s2: PMR1S,
376    #[doc = "0x428 - Peripheral Mux Register 1 - Clear"]
377    pub pmr1c2: PMR1C,
378    #[doc = "0x42c - Peripheral Mux Register 1 - Toggle"]
379    pub pmr1t2: PMR1T,
380    #[doc = "0x430 - Peripheral Mux Register 2"]
381    pub pmr22: PMR2,
382    #[doc = "0x434 - Peripheral Mux Register 2 - Set"]
383    pub pmr2s2: PMR2S,
384    #[doc = "0x438 - Peripheral Mux Register 2 - Clear"]
385    pub pmr2c2: PMR2C,
386    #[doc = "0x43c - Peripheral Mux Register 2 - Toggle"]
387    pub pmr2t2: PMR2T,
388    #[doc = "0x440 - Output Driver Enable Register"]
389    pub oder2: ODER,
390    #[doc = "0x444 - Output Driver Enable Register - Set"]
391    pub oders2: ODERS,
392    #[doc = "0x448 - Output Driver Enable Register - Clear"]
393    pub oderc2: ODERC,
394    #[doc = "0x44c - Output Driver Enable Register - Toggle"]
395    pub odert2: ODERT,
396    #[doc = "0x450 - Output Value Register"]
397    pub ovr2: OVR,
398    #[doc = "0x454 - Output Value Register - Set"]
399    pub ovrs2: OVRS,
400    #[doc = "0x458 - Output Value Register - Clear"]
401    pub ovrc2: OVRC,
402    #[doc = "0x45c - Output Value Register - Toggle"]
403    pub ovrt2: OVRT,
404    #[doc = "0x460 - Pin Value Register"]
405    pub pvr2: PVR,
406    _reserved20: [u8; 12usize],
407    #[doc = "0x470 - Pull-up Enable Register"]
408    pub puer2: PUER,
409    #[doc = "0x474 - Pull-up Enable Register - Set"]
410    pub puers2: PUERS,
411    #[doc = "0x478 - Pull-up Enable Register - Clear"]
412    pub puerc2: PUERC,
413    #[doc = "0x47c - Pull-up Enable Register - Toggle"]
414    pub puert2: PUERT,
415    #[doc = "0x480 - Pull-down Enable Register"]
416    pub pder2: PDER,
417    #[doc = "0x484 - Pull-down Enable Register - Set"]
418    pub pders2: PDERS,
419    #[doc = "0x488 - Pull-down Enable Register - Clear"]
420    pub pderc2: PDERC,
421    #[doc = "0x48c - Pull-down Enable Register - Toggle"]
422    pub pdert2: PDERT,
423    #[doc = "0x490 - Interrupt Enable Register"]
424    pub ier2: IER,
425    #[doc = "0x494 - Interrupt Enable Register - Set"]
426    pub iers2: IERS,
427    #[doc = "0x498 - Interrupt Enable Register - Clear"]
428    pub ierc2: IERC,
429    #[doc = "0x49c - Interrupt Enable Register - Toggle"]
430    pub iert2: IERT,
431    #[doc = "0x4a0 - Interrupt Mode Register 0"]
432    pub imr02: IMR0,
433    #[doc = "0x4a4 - Interrupt Mode Register 0 - Set"]
434    pub imr0s2: IMR0S,
435    #[doc = "0x4a8 - Interrupt Mode Register 0 - Clear"]
436    pub imr0c2: IMR0C,
437    #[doc = "0x4ac - Interrupt Mode Register 0 - Toggle"]
438    pub imr0t2: IMR0T,
439    #[doc = "0x4b0 - Interrupt Mode Register 1"]
440    pub imr12: IMR1,
441    #[doc = "0x4b4 - Interrupt Mode Register 1 - Set"]
442    pub imr1s2: IMR1S,
443    #[doc = "0x4b8 - Interrupt Mode Register 1 - Clear"]
444    pub imr1c2: IMR1C,
445    #[doc = "0x4bc - Interrupt Mode Register 1 - Toggle"]
446    pub imr1t2: IMR1T,
447    #[doc = "0x4c0 - Glitch Filter Enable Register"]
448    pub gfer2: GFER,
449    #[doc = "0x4c4 - Glitch Filter Enable Register - Set"]
450    pub gfers2: GFERS,
451    #[doc = "0x4c8 - Glitch Filter Enable Register - Clear"]
452    pub gferc2: GFERC,
453    #[doc = "0x4cc - Glitch Filter Enable Register - Toggle"]
454    pub gfert2: GFERT,
455    #[doc = "0x4d0 - Interrupt Flag Register"]
456    pub ifr2: IFR,
457    _reserved21: [u8; 4usize],
458    #[doc = "0x4d8 - Interrupt Flag Register - Clear"]
459    pub ifrc2: IFRC,
460    _reserved22: [u8; 4usize],
461    #[doc = "0x4e0 - Open Drain Mode Register"]
462    pub odmer2: ODMER,
463    #[doc = "0x4e4 - Open Drain Mode Register - Set"]
464    pub odmers2: ODMERS,
465    #[doc = "0x4e8 - Open Drain Mode Register - Clear"]
466    pub odmerc2: ODMERC,
467    #[doc = "0x4ec - Open Drain Mode Register - Toggle"]
468    pub odmert2: ODMERT,
469    _reserved23: [u8; 16usize],
470    #[doc = "0x500 - Output Driving Capability Register 0"]
471    pub odcr02: ODCR0,
472    #[doc = "0x504 - Output Driving Capability Register 0 - Set"]
473    pub odcr0s2: ODCR0S,
474    #[doc = "0x508 - Output Driving Capability Register 0 - Clear"]
475    pub odcr0c2: ODCR0C,
476    #[doc = "0x50c - Output Driving Capability Register 0 - Toggle"]
477    pub odcr0t2: ODCR0T,
478    #[doc = "0x510 - Output Driving Capability Register 1"]
479    pub odcr12: ODCR1,
480    #[doc = "0x514 - Output Driving Capability Register 1 - Set"]
481    pub odcr1s2: ODCR1S,
482    #[doc = "0x518 - Output Driving Capability Register 1 - Clear"]
483    pub odcr1c2: ODCR1C,
484    #[doc = "0x51c - Output Driving Capability Register 1 - Toggle"]
485    pub odcr1t2: ODCR1T,
486    _reserved24: [u8; 16usize],
487    #[doc = "0x530 - Output Slew Rate Register 0"]
488    pub osrr02: OSRR0,
489    #[doc = "0x534 - Output Slew Rate Register 0 - Set"]
490    pub osrr0s2: OSRR0S,
491    #[doc = "0x538 - Output Slew Rate Register 0 - Clear"]
492    pub osrr0c2: OSRR0C,
493    #[doc = "0x53c - Output Slew Rate Register 0 - Toggle"]
494    pub osrr0t2: OSRR0T,
495    _reserved25: [u8; 32usize],
496    #[doc = "0x560 - Schmitt Trigger Enable Register"]
497    pub ster2: STER,
498    #[doc = "0x564 - Schmitt Trigger Enable Register - Set"]
499    pub sters2: STERS,
500    #[doc = "0x568 - Schmitt Trigger Enable Register - Clear"]
501    pub sterc2: STERC,
502    #[doc = "0x56c - Schmitt Trigger Enable Register - Toggle"]
503    pub stert2: STERT,
504    _reserved26: [u8; 16usize],
505    #[doc = "0x580 - Event Enable Register"]
506    pub ever2: EVER,
507    #[doc = "0x584 - Event Enable Register - Set"]
508    pub evers2: EVERS,
509    #[doc = "0x588 - Event Enable Register - Clear"]
510    pub everc2: EVERC,
511    #[doc = "0x58c - Event Enable Register - Toggle"]
512    pub evert2: EVERT,
513    _reserved27: [u8; 16usize],
514    #[doc = "0x5a0 - Lock Register"]
515    pub lock2: LOCK,
516    #[doc = "0x5a4 - Lock Register - Set"]
517    pub locks2: LOCKS,
518    #[doc = "0x5a8 - Lock Register - Clear"]
519    pub lockc2: LOCKC,
520    #[doc = "0x5ac - Lock Register - Toggle"]
521    pub lockt2: LOCKT,
522    _reserved28: [u8; 48usize],
523    #[doc = "0x5e0 - Unlock Register"]
524    pub unlock2: UNLOCK,
525    #[doc = "0x5e4 - Access Status Register"]
526    pub asr2: ASR,
527    _reserved29: [u8; 16usize],
528    #[doc = "0x5f8 - Parameter Register"]
529    pub parameter2: PARAMETER,
530    #[doc = "0x5fc - Version Register"]
531    pub version2: VERSION,
532}
533#[doc = "GPIO Enable Register"]
534pub struct GPER {
535    register: ::vcell::VolatileCell<u32>,
536}
537#[doc = "GPIO Enable Register"]
538pub mod gper;
539#[doc = "GPIO Enable Register - Set"]
540pub struct GPERS {
541    register: ::vcell::VolatileCell<u32>,
542}
543#[doc = "GPIO Enable Register - Set"]
544pub mod gpers;
545#[doc = "GPIO Enable Register - Clear"]
546pub struct GPERC {
547    register: ::vcell::VolatileCell<u32>,
548}
549#[doc = "GPIO Enable Register - Clear"]
550pub mod gperc;
551#[doc = "GPIO Enable Register - Toggle"]
552pub struct GPERT {
553    register: ::vcell::VolatileCell<u32>,
554}
555#[doc = "GPIO Enable Register - Toggle"]
556pub mod gpert;
557#[doc = "Peripheral Mux Register 0"]
558pub struct PMR0 {
559    register: ::vcell::VolatileCell<u32>,
560}
561#[doc = "Peripheral Mux Register 0"]
562pub mod pmr0;
563#[doc = "Peripheral Mux Register 0 - Set"]
564pub struct PMR0S {
565    register: ::vcell::VolatileCell<u32>,
566}
567#[doc = "Peripheral Mux Register 0 - Set"]
568pub mod pmr0s;
569#[doc = "Peripheral Mux Register 0 - Clear"]
570pub struct PMR0C {
571    register: ::vcell::VolatileCell<u32>,
572}
573#[doc = "Peripheral Mux Register 0 - Clear"]
574pub mod pmr0c;
575#[doc = "Peripheral Mux Register 0 - Toggle"]
576pub struct PMR0T {
577    register: ::vcell::VolatileCell<u32>,
578}
579#[doc = "Peripheral Mux Register 0 - Toggle"]
580pub mod pmr0t;
581#[doc = "Peripheral Mux Register 1"]
582pub struct PMR1 {
583    register: ::vcell::VolatileCell<u32>,
584}
585#[doc = "Peripheral Mux Register 1"]
586pub mod pmr1;
587#[doc = "Peripheral Mux Register 1 - Set"]
588pub struct PMR1S {
589    register: ::vcell::VolatileCell<u32>,
590}
591#[doc = "Peripheral Mux Register 1 - Set"]
592pub mod pmr1s;
593#[doc = "Peripheral Mux Register 1 - Clear"]
594pub struct PMR1C {
595    register: ::vcell::VolatileCell<u32>,
596}
597#[doc = "Peripheral Mux Register 1 - Clear"]
598pub mod pmr1c;
599#[doc = "Peripheral Mux Register 1 - Toggle"]
600pub struct PMR1T {
601    register: ::vcell::VolatileCell<u32>,
602}
603#[doc = "Peripheral Mux Register 1 - Toggle"]
604pub mod pmr1t;
605#[doc = "Peripheral Mux Register 2"]
606pub struct PMR2 {
607    register: ::vcell::VolatileCell<u32>,
608}
609#[doc = "Peripheral Mux Register 2"]
610pub mod pmr2;
611#[doc = "Peripheral Mux Register 2 - Set"]
612pub struct PMR2S {
613    register: ::vcell::VolatileCell<u32>,
614}
615#[doc = "Peripheral Mux Register 2 - Set"]
616pub mod pmr2s;
617#[doc = "Peripheral Mux Register 2 - Clear"]
618pub struct PMR2C {
619    register: ::vcell::VolatileCell<u32>,
620}
621#[doc = "Peripheral Mux Register 2 - Clear"]
622pub mod pmr2c;
623#[doc = "Peripheral Mux Register 2 - Toggle"]
624pub struct PMR2T {
625    register: ::vcell::VolatileCell<u32>,
626}
627#[doc = "Peripheral Mux Register 2 - Toggle"]
628pub mod pmr2t;
629#[doc = "Output Driver Enable Register"]
630pub struct ODER {
631    register: ::vcell::VolatileCell<u32>,
632}
633#[doc = "Output Driver Enable Register"]
634pub mod oder;
635#[doc = "Output Driver Enable Register - Set"]
636pub struct ODERS {
637    register: ::vcell::VolatileCell<u32>,
638}
639#[doc = "Output Driver Enable Register - Set"]
640pub mod oders;
641#[doc = "Output Driver Enable Register - Clear"]
642pub struct ODERC {
643    register: ::vcell::VolatileCell<u32>,
644}
645#[doc = "Output Driver Enable Register - Clear"]
646pub mod oderc;
647#[doc = "Output Driver Enable Register - Toggle"]
648pub struct ODERT {
649    register: ::vcell::VolatileCell<u32>,
650}
651#[doc = "Output Driver Enable Register - Toggle"]
652pub mod odert;
653#[doc = "Output Value Register"]
654pub struct OVR {
655    register: ::vcell::VolatileCell<u32>,
656}
657#[doc = "Output Value Register"]
658pub mod ovr;
659#[doc = "Output Value Register - Set"]
660pub struct OVRS {
661    register: ::vcell::VolatileCell<u32>,
662}
663#[doc = "Output Value Register - Set"]
664pub mod ovrs;
665#[doc = "Output Value Register - Clear"]
666pub struct OVRC {
667    register: ::vcell::VolatileCell<u32>,
668}
669#[doc = "Output Value Register - Clear"]
670pub mod ovrc;
671#[doc = "Output Value Register - Toggle"]
672pub struct OVRT {
673    register: ::vcell::VolatileCell<u32>,
674}
675#[doc = "Output Value Register - Toggle"]
676pub mod ovrt;
677#[doc = "Pin Value Register"]
678pub struct PVR {
679    register: ::vcell::VolatileCell<u32>,
680}
681#[doc = "Pin Value Register"]
682pub mod pvr;
683#[doc = "Pull-up Enable Register"]
684pub struct PUER {
685    register: ::vcell::VolatileCell<u32>,
686}
687#[doc = "Pull-up Enable Register"]
688pub mod puer;
689#[doc = "Pull-up Enable Register - Set"]
690pub struct PUERS {
691    register: ::vcell::VolatileCell<u32>,
692}
693#[doc = "Pull-up Enable Register - Set"]
694pub mod puers;
695#[doc = "Pull-up Enable Register - Clear"]
696pub struct PUERC {
697    register: ::vcell::VolatileCell<u32>,
698}
699#[doc = "Pull-up Enable Register - Clear"]
700pub mod puerc;
701#[doc = "Pull-up Enable Register - Toggle"]
702pub struct PUERT {
703    register: ::vcell::VolatileCell<u32>,
704}
705#[doc = "Pull-up Enable Register - Toggle"]
706pub mod puert;
707#[doc = "Pull-down Enable Register"]
708pub struct PDER {
709    register: ::vcell::VolatileCell<u32>,
710}
711#[doc = "Pull-down Enable Register"]
712pub mod pder;
713#[doc = "Pull-down Enable Register - Set"]
714pub struct PDERS {
715    register: ::vcell::VolatileCell<u32>,
716}
717#[doc = "Pull-down Enable Register - Set"]
718pub mod pders;
719#[doc = "Pull-down Enable Register - Clear"]
720pub struct PDERC {
721    register: ::vcell::VolatileCell<u32>,
722}
723#[doc = "Pull-down Enable Register - Clear"]
724pub mod pderc;
725#[doc = "Pull-down Enable Register - Toggle"]
726pub struct PDERT {
727    register: ::vcell::VolatileCell<u32>,
728}
729#[doc = "Pull-down Enable Register - Toggle"]
730pub mod pdert;
731#[doc = "Interrupt Enable Register"]
732pub struct IER {
733    register: ::vcell::VolatileCell<u32>,
734}
735#[doc = "Interrupt Enable Register"]
736pub mod ier;
737#[doc = "Interrupt Enable Register - Set"]
738pub struct IERS {
739    register: ::vcell::VolatileCell<u32>,
740}
741#[doc = "Interrupt Enable Register - Set"]
742pub mod iers;
743#[doc = "Interrupt Enable Register - Clear"]
744pub struct IERC {
745    register: ::vcell::VolatileCell<u32>,
746}
747#[doc = "Interrupt Enable Register - Clear"]
748pub mod ierc;
749#[doc = "Interrupt Enable Register - Toggle"]
750pub struct IERT {
751    register: ::vcell::VolatileCell<u32>,
752}
753#[doc = "Interrupt Enable Register - Toggle"]
754pub mod iert;
755#[doc = "Interrupt Mode Register 0"]
756pub struct IMR0 {
757    register: ::vcell::VolatileCell<u32>,
758}
759#[doc = "Interrupt Mode Register 0"]
760pub mod imr0;
761#[doc = "Interrupt Mode Register 0 - Set"]
762pub struct IMR0S {
763    register: ::vcell::VolatileCell<u32>,
764}
765#[doc = "Interrupt Mode Register 0 - Set"]
766pub mod imr0s;
767#[doc = "Interrupt Mode Register 0 - Clear"]
768pub struct IMR0C {
769    register: ::vcell::VolatileCell<u32>,
770}
771#[doc = "Interrupt Mode Register 0 - Clear"]
772pub mod imr0c;
773#[doc = "Interrupt Mode Register 0 - Toggle"]
774pub struct IMR0T {
775    register: ::vcell::VolatileCell<u32>,
776}
777#[doc = "Interrupt Mode Register 0 - Toggle"]
778pub mod imr0t;
779#[doc = "Interrupt Mode Register 1"]
780pub struct IMR1 {
781    register: ::vcell::VolatileCell<u32>,
782}
783#[doc = "Interrupt Mode Register 1"]
784pub mod imr1;
785#[doc = "Interrupt Mode Register 1 - Set"]
786pub struct IMR1S {
787    register: ::vcell::VolatileCell<u32>,
788}
789#[doc = "Interrupt Mode Register 1 - Set"]
790pub mod imr1s;
791#[doc = "Interrupt Mode Register 1 - Clear"]
792pub struct IMR1C {
793    register: ::vcell::VolatileCell<u32>,
794}
795#[doc = "Interrupt Mode Register 1 - Clear"]
796pub mod imr1c;
797#[doc = "Interrupt Mode Register 1 - Toggle"]
798pub struct IMR1T {
799    register: ::vcell::VolatileCell<u32>,
800}
801#[doc = "Interrupt Mode Register 1 - Toggle"]
802pub mod imr1t;
803#[doc = "Glitch Filter Enable Register"]
804pub struct GFER {
805    register: ::vcell::VolatileCell<u32>,
806}
807#[doc = "Glitch Filter Enable Register"]
808pub mod gfer;
809#[doc = "Glitch Filter Enable Register - Set"]
810pub struct GFERS {
811    register: ::vcell::VolatileCell<u32>,
812}
813#[doc = "Glitch Filter Enable Register - Set"]
814pub mod gfers;
815#[doc = "Glitch Filter Enable Register - Clear"]
816pub struct GFERC {
817    register: ::vcell::VolatileCell<u32>,
818}
819#[doc = "Glitch Filter Enable Register - Clear"]
820pub mod gferc;
821#[doc = "Glitch Filter Enable Register - Toggle"]
822pub struct GFERT {
823    register: ::vcell::VolatileCell<u32>,
824}
825#[doc = "Glitch Filter Enable Register - Toggle"]
826pub mod gfert;
827#[doc = "Interrupt Flag Register"]
828pub struct IFR {
829    register: ::vcell::VolatileCell<u32>,
830}
831#[doc = "Interrupt Flag Register"]
832pub mod ifr;
833#[doc = "Interrupt Flag Register - Clear"]
834pub struct IFRC {
835    register: ::vcell::VolatileCell<u32>,
836}
837#[doc = "Interrupt Flag Register - Clear"]
838pub mod ifrc;
839#[doc = "Open Drain Mode Register"]
840pub struct ODMER {
841    register: ::vcell::VolatileCell<u32>,
842}
843#[doc = "Open Drain Mode Register"]
844pub mod odmer;
845#[doc = "Open Drain Mode Register - Set"]
846pub struct ODMERS {
847    register: ::vcell::VolatileCell<u32>,
848}
849#[doc = "Open Drain Mode Register - Set"]
850pub mod odmers;
851#[doc = "Open Drain Mode Register - Clear"]
852pub struct ODMERC {
853    register: ::vcell::VolatileCell<u32>,
854}
855#[doc = "Open Drain Mode Register - Clear"]
856pub mod odmerc;
857#[doc = "Open Drain Mode Register - Toggle"]
858pub struct ODMERT {
859    register: ::vcell::VolatileCell<u32>,
860}
861#[doc = "Open Drain Mode Register - Toggle"]
862pub mod odmert;
863#[doc = "Output Driving Capability Register 0"]
864pub struct ODCR0 {
865    register: ::vcell::VolatileCell<u32>,
866}
867#[doc = "Output Driving Capability Register 0"]
868pub mod odcr0;
869#[doc = "Output Driving Capability Register 0 - Set"]
870pub struct ODCR0S {
871    register: ::vcell::VolatileCell<u32>,
872}
873#[doc = "Output Driving Capability Register 0 - Set"]
874pub mod odcr0s;
875#[doc = "Output Driving Capability Register 0 - Clear"]
876pub struct ODCR0C {
877    register: ::vcell::VolatileCell<u32>,
878}
879#[doc = "Output Driving Capability Register 0 - Clear"]
880pub mod odcr0c;
881#[doc = "Output Driving Capability Register 0 - Toggle"]
882pub struct ODCR0T {
883    register: ::vcell::VolatileCell<u32>,
884}
885#[doc = "Output Driving Capability Register 0 - Toggle"]
886pub mod odcr0t;
887#[doc = "Output Driving Capability Register 1"]
888pub struct ODCR1 {
889    register: ::vcell::VolatileCell<u32>,
890}
891#[doc = "Output Driving Capability Register 1"]
892pub mod odcr1;
893#[doc = "Output Driving Capability Register 1 - Set"]
894pub struct ODCR1S {
895    register: ::vcell::VolatileCell<u32>,
896}
897#[doc = "Output Driving Capability Register 1 - Set"]
898pub mod odcr1s;
899#[doc = "Output Driving Capability Register 1 - Clear"]
900pub struct ODCR1C {
901    register: ::vcell::VolatileCell<u32>,
902}
903#[doc = "Output Driving Capability Register 1 - Clear"]
904pub mod odcr1c;
905#[doc = "Output Driving Capability Register 1 - Toggle"]
906pub struct ODCR1T {
907    register: ::vcell::VolatileCell<u32>,
908}
909#[doc = "Output Driving Capability Register 1 - Toggle"]
910pub mod odcr1t;
911#[doc = "Output Slew Rate Register 0"]
912pub struct OSRR0 {
913    register: ::vcell::VolatileCell<u32>,
914}
915#[doc = "Output Slew Rate Register 0"]
916pub mod osrr0;
917#[doc = "Output Slew Rate Register 0 - Set"]
918pub struct OSRR0S {
919    register: ::vcell::VolatileCell<u32>,
920}
921#[doc = "Output Slew Rate Register 0 - Set"]
922pub mod osrr0s;
923#[doc = "Output Slew Rate Register 0 - Clear"]
924pub struct OSRR0C {
925    register: ::vcell::VolatileCell<u32>,
926}
927#[doc = "Output Slew Rate Register 0 - Clear"]
928pub mod osrr0c;
929#[doc = "Output Slew Rate Register 0 - Toggle"]
930pub struct OSRR0T {
931    register: ::vcell::VolatileCell<u32>,
932}
933#[doc = "Output Slew Rate Register 0 - Toggle"]
934pub mod osrr0t;
935#[doc = "Schmitt Trigger Enable Register"]
936pub struct STER {
937    register: ::vcell::VolatileCell<u32>,
938}
939#[doc = "Schmitt Trigger Enable Register"]
940pub mod ster;
941#[doc = "Schmitt Trigger Enable Register - Set"]
942pub struct STERS {
943    register: ::vcell::VolatileCell<u32>,
944}
945#[doc = "Schmitt Trigger Enable Register - Set"]
946pub mod sters;
947#[doc = "Schmitt Trigger Enable Register - Clear"]
948pub struct STERC {
949    register: ::vcell::VolatileCell<u32>,
950}
951#[doc = "Schmitt Trigger Enable Register - Clear"]
952pub mod sterc;
953#[doc = "Schmitt Trigger Enable Register - Toggle"]
954pub struct STERT {
955    register: ::vcell::VolatileCell<u32>,
956}
957#[doc = "Schmitt Trigger Enable Register - Toggle"]
958pub mod stert;
959#[doc = "Event Enable Register"]
960pub struct EVER {
961    register: ::vcell::VolatileCell<u32>,
962}
963#[doc = "Event Enable Register"]
964pub mod ever;
965#[doc = "Event Enable Register - Set"]
966pub struct EVERS {
967    register: ::vcell::VolatileCell<u32>,
968}
969#[doc = "Event Enable Register - Set"]
970pub mod evers;
971#[doc = "Event Enable Register - Clear"]
972pub struct EVERC {
973    register: ::vcell::VolatileCell<u32>,
974}
975#[doc = "Event Enable Register - Clear"]
976pub mod everc;
977#[doc = "Event Enable Register - Toggle"]
978pub struct EVERT {
979    register: ::vcell::VolatileCell<u32>,
980}
981#[doc = "Event Enable Register - Toggle"]
982pub mod evert;
983#[doc = "Lock Register"]
984pub struct LOCK {
985    register: ::vcell::VolatileCell<u32>,
986}
987#[doc = "Lock Register"]
988pub mod lock;
989#[doc = "Lock Register - Set"]
990pub struct LOCKS {
991    register: ::vcell::VolatileCell<u32>,
992}
993#[doc = "Lock Register - Set"]
994pub mod locks;
995#[doc = "Lock Register - Clear"]
996pub struct LOCKC {
997    register: ::vcell::VolatileCell<u32>,
998}
999#[doc = "Lock Register - Clear"]
1000pub mod lockc;
1001#[doc = "Lock Register - Toggle"]
1002pub struct LOCKT {
1003    register: ::vcell::VolatileCell<u32>,
1004}
1005#[doc = "Lock Register - Toggle"]
1006pub mod lockt;
1007#[doc = "Unlock Register"]
1008pub struct UNLOCK {
1009    register: ::vcell::VolatileCell<u32>,
1010}
1011#[doc = "Unlock Register"]
1012pub mod unlock;
1013#[doc = "Access Status Register"]
1014pub struct ASR {
1015    register: ::vcell::VolatileCell<u32>,
1016}
1017#[doc = "Access Status Register"]
1018pub mod asr;
1019#[doc = "Parameter Register"]
1020pub struct PARAMETER {
1021    register: ::vcell::VolatileCell<u32>,
1022}
1023#[doc = "Parameter Register"]
1024pub mod parameter;
1025#[doc = "Version Register"]
1026pub struct VERSION {
1027    register: ::vcell::VolatileCell<u32>,
1028}
1029#[doc = "Version Register"]
1030pub mod version;