imxrt_ral/blocks/imxrt1011/
gpio.rs

1#[doc = "GPIO"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "GPIO data register"]
5    pub DR: crate::RWRegister<u32>,
6    #[doc = "GPIO direction register"]
7    pub GDIR: crate::RWRegister<u32>,
8    #[doc = "GPIO pad status register"]
9    pub PSR: crate::RORegister<u32>,
10    #[doc = "GPIO interrupt configuration register1"]
11    pub ICR1: crate::RWRegister<u32>,
12    #[doc = "GPIO interrupt configuration register2"]
13    pub ICR2: crate::RWRegister<u32>,
14    #[doc = "GPIO interrupt mask register"]
15    pub IMR: crate::RWRegister<u32>,
16    #[doc = "GPIO interrupt status register"]
17    pub ISR: crate::RWRegister<u32>,
18    #[doc = "GPIO edge select register"]
19    pub EDGE_SEL: crate::RWRegister<u32>,
20    _reserved0: [u8; 0x64],
21    #[doc = "GPIO data register SET"]
22    pub DR_SET: crate::WORegister<u32>,
23    #[doc = "GPIO data register CLEAR"]
24    pub DR_CLEAR: crate::WORegister<u32>,
25    #[doc = "GPIO data register TOGGLE"]
26    pub DR_TOGGLE: crate::WORegister<u32>,
27}
28#[doc = "GPIO data register"]
29pub mod DR {
30    #[doc = "DR"]
31    pub mod DR {
32        pub const offset: u32 = 0;
33        pub const mask: u32 = 0xffff_ffff << offset;
34        pub mod R {}
35        pub mod W {}
36        pub mod RW {}
37    }
38}
39#[doc = "GPIO direction register"]
40pub mod GDIR {
41    #[doc = "GDIR"]
42    pub mod GDIR {
43        pub const offset: u32 = 0;
44        pub const mask: u32 = 0xffff_ffff << offset;
45        pub mod R {}
46        pub mod W {}
47        pub mod RW {}
48    }
49}
50#[doc = "GPIO pad status register"]
51pub mod PSR {
52    #[doc = "PSR"]
53    pub mod PSR {
54        pub const offset: u32 = 0;
55        pub const mask: u32 = 0xffff_ffff << offset;
56        pub mod R {}
57        pub mod W {}
58        pub mod RW {}
59    }
60}
61#[doc = "GPIO interrupt configuration register1"]
62pub mod ICR1 {
63    #[doc = "ICR0"]
64    pub mod ICR0 {
65        pub const offset: u32 = 0;
66        pub const mask: u32 = 0x03 << offset;
67        pub mod R {}
68        pub mod W {}
69        pub mod RW {
70            #[doc = "Interrupt n is low-level sensitive."]
71            pub const LOW_LEVEL: u32 = 0;
72            #[doc = "Interrupt n is high-level sensitive."]
73            pub const HIGH_LEVEL: u32 = 0x01;
74            #[doc = "Interrupt n is rising-edge sensitive."]
75            pub const RISING_EDGE: u32 = 0x02;
76            #[doc = "Interrupt n is falling-edge sensitive."]
77            pub const FALLING_EDGE: u32 = 0x03;
78        }
79    }
80    #[doc = "ICR1"]
81    pub mod ICR1 {
82        pub const offset: u32 = 2;
83        pub const mask: u32 = 0x03 << offset;
84        pub mod R {}
85        pub mod W {}
86        pub mod RW {
87            #[doc = "Interrupt n is low-level sensitive."]
88            pub const LOW_LEVEL: u32 = 0;
89            #[doc = "Interrupt n is high-level sensitive."]
90            pub const HIGH_LEVEL: u32 = 0x01;
91            #[doc = "Interrupt n is rising-edge sensitive."]
92            pub const RISING_EDGE: u32 = 0x02;
93            #[doc = "Interrupt n is falling-edge sensitive."]
94            pub const FALLING_EDGE: u32 = 0x03;
95        }
96    }
97    #[doc = "ICR2"]
98    pub mod ICR2 {
99        pub const offset: u32 = 4;
100        pub const mask: u32 = 0x03 << offset;
101        pub mod R {}
102        pub mod W {}
103        pub mod RW {
104            #[doc = "Interrupt n is low-level sensitive."]
105            pub const LOW_LEVEL: u32 = 0;
106            #[doc = "Interrupt n is high-level sensitive."]
107            pub const HIGH_LEVEL: u32 = 0x01;
108            #[doc = "Interrupt n is rising-edge sensitive."]
109            pub const RISING_EDGE: u32 = 0x02;
110            #[doc = "Interrupt n is falling-edge sensitive."]
111            pub const FALLING_EDGE: u32 = 0x03;
112        }
113    }
114    #[doc = "ICR3"]
115    pub mod ICR3 {
116        pub const offset: u32 = 6;
117        pub const mask: u32 = 0x03 << offset;
118        pub mod R {}
119        pub mod W {}
120        pub mod RW {
121            #[doc = "Interrupt n is low-level sensitive."]
122            pub const LOW_LEVEL: u32 = 0;
123            #[doc = "Interrupt n is high-level sensitive."]
124            pub const HIGH_LEVEL: u32 = 0x01;
125            #[doc = "Interrupt n is rising-edge sensitive."]
126            pub const RISING_EDGE: u32 = 0x02;
127            #[doc = "Interrupt n is falling-edge sensitive."]
128            pub const FALLING_EDGE: u32 = 0x03;
129        }
130    }
131    #[doc = "ICR4"]
132    pub mod ICR4 {
133        pub const offset: u32 = 8;
134        pub const mask: u32 = 0x03 << offset;
135        pub mod R {}
136        pub mod W {}
137        pub mod RW {
138            #[doc = "Interrupt n is low-level sensitive."]
139            pub const LOW_LEVEL: u32 = 0;
140            #[doc = "Interrupt n is high-level sensitive."]
141            pub const HIGH_LEVEL: u32 = 0x01;
142            #[doc = "Interrupt n is rising-edge sensitive."]
143            pub const RISING_EDGE: u32 = 0x02;
144            #[doc = "Interrupt n is falling-edge sensitive."]
145            pub const FALLING_EDGE: u32 = 0x03;
146        }
147    }
148    #[doc = "ICR5"]
149    pub mod ICR5 {
150        pub const offset: u32 = 10;
151        pub const mask: u32 = 0x03 << offset;
152        pub mod R {}
153        pub mod W {}
154        pub mod RW {
155            #[doc = "Interrupt n is low-level sensitive."]
156            pub const LOW_LEVEL: u32 = 0;
157            #[doc = "Interrupt n is high-level sensitive."]
158            pub const HIGH_LEVEL: u32 = 0x01;
159            #[doc = "Interrupt n is rising-edge sensitive."]
160            pub const RISING_EDGE: u32 = 0x02;
161            #[doc = "Interrupt n is falling-edge sensitive."]
162            pub const FALLING_EDGE: u32 = 0x03;
163        }
164    }
165    #[doc = "ICR6"]
166    pub mod ICR6 {
167        pub const offset: u32 = 12;
168        pub const mask: u32 = 0x03 << offset;
169        pub mod R {}
170        pub mod W {}
171        pub mod RW {
172            #[doc = "Interrupt n is low-level sensitive."]
173            pub const LOW_LEVEL: u32 = 0;
174            #[doc = "Interrupt n is high-level sensitive."]
175            pub const HIGH_LEVEL: u32 = 0x01;
176            #[doc = "Interrupt n is rising-edge sensitive."]
177            pub const RISING_EDGE: u32 = 0x02;
178            #[doc = "Interrupt n is falling-edge sensitive."]
179            pub const FALLING_EDGE: u32 = 0x03;
180        }
181    }
182    #[doc = "ICR7"]
183    pub mod ICR7 {
184        pub const offset: u32 = 14;
185        pub const mask: u32 = 0x03 << offset;
186        pub mod R {}
187        pub mod W {}
188        pub mod RW {
189            #[doc = "Interrupt n is low-level sensitive."]
190            pub const LOW_LEVEL: u32 = 0;
191            #[doc = "Interrupt n is high-level sensitive."]
192            pub const HIGH_LEVEL: u32 = 0x01;
193            #[doc = "Interrupt n is rising-edge sensitive."]
194            pub const RISING_EDGE: u32 = 0x02;
195            #[doc = "Interrupt n is falling-edge sensitive."]
196            pub const FALLING_EDGE: u32 = 0x03;
197        }
198    }
199    #[doc = "ICR8"]
200    pub mod ICR8 {
201        pub const offset: u32 = 16;
202        pub const mask: u32 = 0x03 << offset;
203        pub mod R {}
204        pub mod W {}
205        pub mod RW {
206            #[doc = "Interrupt n is low-level sensitive."]
207            pub const LOW_LEVEL: u32 = 0;
208            #[doc = "Interrupt n is high-level sensitive."]
209            pub const HIGH_LEVEL: u32 = 0x01;
210            #[doc = "Interrupt n is rising-edge sensitive."]
211            pub const RISING_EDGE: u32 = 0x02;
212            #[doc = "Interrupt n is falling-edge sensitive."]
213            pub const FALLING_EDGE: u32 = 0x03;
214        }
215    }
216    #[doc = "ICR9"]
217    pub mod ICR9 {
218        pub const offset: u32 = 18;
219        pub const mask: u32 = 0x03 << offset;
220        pub mod R {}
221        pub mod W {}
222        pub mod RW {
223            #[doc = "Interrupt n is low-level sensitive."]
224            pub const LOW_LEVEL: u32 = 0;
225            #[doc = "Interrupt n is high-level sensitive."]
226            pub const HIGH_LEVEL: u32 = 0x01;
227            #[doc = "Interrupt n is rising-edge sensitive."]
228            pub const RISING_EDGE: u32 = 0x02;
229            #[doc = "Interrupt n is falling-edge sensitive."]
230            pub const FALLING_EDGE: u32 = 0x03;
231        }
232    }
233    #[doc = "ICR10"]
234    pub mod ICR10 {
235        pub const offset: u32 = 20;
236        pub const mask: u32 = 0x03 << offset;
237        pub mod R {}
238        pub mod W {}
239        pub mod RW {
240            #[doc = "Interrupt n is low-level sensitive."]
241            pub const LOW_LEVEL: u32 = 0;
242            #[doc = "Interrupt n is high-level sensitive."]
243            pub const HIGH_LEVEL: u32 = 0x01;
244            #[doc = "Interrupt n is rising-edge sensitive."]
245            pub const RISING_EDGE: u32 = 0x02;
246            #[doc = "Interrupt n is falling-edge sensitive."]
247            pub const FALLING_EDGE: u32 = 0x03;
248        }
249    }
250    #[doc = "ICR11"]
251    pub mod ICR11 {
252        pub const offset: u32 = 22;
253        pub const mask: u32 = 0x03 << offset;
254        pub mod R {}
255        pub mod W {}
256        pub mod RW {
257            #[doc = "Interrupt n is low-level sensitive."]
258            pub const LOW_LEVEL: u32 = 0;
259            #[doc = "Interrupt n is high-level sensitive."]
260            pub const HIGH_LEVEL: u32 = 0x01;
261            #[doc = "Interrupt n is rising-edge sensitive."]
262            pub const RISING_EDGE: u32 = 0x02;
263            #[doc = "Interrupt n is falling-edge sensitive."]
264            pub const FALLING_EDGE: u32 = 0x03;
265        }
266    }
267    #[doc = "ICR12"]
268    pub mod ICR12 {
269        pub const offset: u32 = 24;
270        pub const mask: u32 = 0x03 << offset;
271        pub mod R {}
272        pub mod W {}
273        pub mod RW {
274            #[doc = "Interrupt n is low-level sensitive."]
275            pub const LOW_LEVEL: u32 = 0;
276            #[doc = "Interrupt n is high-level sensitive."]
277            pub const HIGH_LEVEL: u32 = 0x01;
278            #[doc = "Interrupt n is rising-edge sensitive."]
279            pub const RISING_EDGE: u32 = 0x02;
280            #[doc = "Interrupt n is falling-edge sensitive."]
281            pub const FALLING_EDGE: u32 = 0x03;
282        }
283    }
284    #[doc = "ICR13"]
285    pub mod ICR13 {
286        pub const offset: u32 = 26;
287        pub const mask: u32 = 0x03 << offset;
288        pub mod R {}
289        pub mod W {}
290        pub mod RW {
291            #[doc = "Interrupt n is low-level sensitive."]
292            pub const LOW_LEVEL: u32 = 0;
293            #[doc = "Interrupt n is high-level sensitive."]
294            pub const HIGH_LEVEL: u32 = 0x01;
295            #[doc = "Interrupt n is rising-edge sensitive."]
296            pub const RISING_EDGE: u32 = 0x02;
297            #[doc = "Interrupt n is falling-edge sensitive."]
298            pub const FALLING_EDGE: u32 = 0x03;
299        }
300    }
301    #[doc = "ICR14"]
302    pub mod ICR14 {
303        pub const offset: u32 = 28;
304        pub const mask: u32 = 0x03 << offset;
305        pub mod R {}
306        pub mod W {}
307        pub mod RW {
308            #[doc = "Interrupt n is low-level sensitive."]
309            pub const LOW_LEVEL: u32 = 0;
310            #[doc = "Interrupt n is high-level sensitive."]
311            pub const HIGH_LEVEL: u32 = 0x01;
312            #[doc = "Interrupt n is rising-edge sensitive."]
313            pub const RISING_EDGE: u32 = 0x02;
314            #[doc = "Interrupt n is falling-edge sensitive."]
315            pub const FALLING_EDGE: u32 = 0x03;
316        }
317    }
318    #[doc = "ICR15"]
319    pub mod ICR15 {
320        pub const offset: u32 = 30;
321        pub const mask: u32 = 0x03 << offset;
322        pub mod R {}
323        pub mod W {}
324        pub mod RW {
325            #[doc = "Interrupt n is low-level sensitive."]
326            pub const LOW_LEVEL: u32 = 0;
327            #[doc = "Interrupt n is high-level sensitive."]
328            pub const HIGH_LEVEL: u32 = 0x01;
329            #[doc = "Interrupt n is rising-edge sensitive."]
330            pub const RISING_EDGE: u32 = 0x02;
331            #[doc = "Interrupt n is falling-edge sensitive."]
332            pub const FALLING_EDGE: u32 = 0x03;
333        }
334    }
335}
336#[doc = "GPIO interrupt configuration register2"]
337pub mod ICR2 {
338    #[doc = "ICR16"]
339    pub mod ICR16 {
340        pub const offset: u32 = 0;
341        pub const mask: u32 = 0x03 << offset;
342        pub mod R {}
343        pub mod W {}
344        pub mod RW {
345            #[doc = "Interrupt n is low-level sensitive."]
346            pub const LOW_LEVEL: u32 = 0;
347            #[doc = "Interrupt n is high-level sensitive."]
348            pub const HIGH_LEVEL: u32 = 0x01;
349            #[doc = "Interrupt n is rising-edge sensitive."]
350            pub const RISING_EDGE: u32 = 0x02;
351            #[doc = "Interrupt n is falling-edge sensitive."]
352            pub const FALLING_EDGE: u32 = 0x03;
353        }
354    }
355    #[doc = "ICR17"]
356    pub mod ICR17 {
357        pub const offset: u32 = 2;
358        pub const mask: u32 = 0x03 << offset;
359        pub mod R {}
360        pub mod W {}
361        pub mod RW {
362            #[doc = "Interrupt n is low-level sensitive."]
363            pub const LOW_LEVEL: u32 = 0;
364            #[doc = "Interrupt n is high-level sensitive."]
365            pub const HIGH_LEVEL: u32 = 0x01;
366            #[doc = "Interrupt n is rising-edge sensitive."]
367            pub const RISING_EDGE: u32 = 0x02;
368            #[doc = "Interrupt n is falling-edge sensitive."]
369            pub const FALLING_EDGE: u32 = 0x03;
370        }
371    }
372    #[doc = "ICR18"]
373    pub mod ICR18 {
374        pub const offset: u32 = 4;
375        pub const mask: u32 = 0x03 << offset;
376        pub mod R {}
377        pub mod W {}
378        pub mod RW {
379            #[doc = "Interrupt n is low-level sensitive."]
380            pub const LOW_LEVEL: u32 = 0;
381            #[doc = "Interrupt n is high-level sensitive."]
382            pub const HIGH_LEVEL: u32 = 0x01;
383            #[doc = "Interrupt n is rising-edge sensitive."]
384            pub const RISING_EDGE: u32 = 0x02;
385            #[doc = "Interrupt n is falling-edge sensitive."]
386            pub const FALLING_EDGE: u32 = 0x03;
387        }
388    }
389    #[doc = "ICR19"]
390    pub mod ICR19 {
391        pub const offset: u32 = 6;
392        pub const mask: u32 = 0x03 << offset;
393        pub mod R {}
394        pub mod W {}
395        pub mod RW {
396            #[doc = "Interrupt n is low-level sensitive."]
397            pub const LOW_LEVEL: u32 = 0;
398            #[doc = "Interrupt n is high-level sensitive."]
399            pub const HIGH_LEVEL: u32 = 0x01;
400            #[doc = "Interrupt n is rising-edge sensitive."]
401            pub const RISING_EDGE: u32 = 0x02;
402            #[doc = "Interrupt n is falling-edge sensitive."]
403            pub const FALLING_EDGE: u32 = 0x03;
404        }
405    }
406    #[doc = "ICR20"]
407    pub mod ICR20 {
408        pub const offset: u32 = 8;
409        pub const mask: u32 = 0x03 << offset;
410        pub mod R {}
411        pub mod W {}
412        pub mod RW {
413            #[doc = "Interrupt n is low-level sensitive."]
414            pub const LOW_LEVEL: u32 = 0;
415            #[doc = "Interrupt n is high-level sensitive."]
416            pub const HIGH_LEVEL: u32 = 0x01;
417            #[doc = "Interrupt n is rising-edge sensitive."]
418            pub const RISING_EDGE: u32 = 0x02;
419            #[doc = "Interrupt n is falling-edge sensitive."]
420            pub const FALLING_EDGE: u32 = 0x03;
421        }
422    }
423    #[doc = "ICR21"]
424    pub mod ICR21 {
425        pub const offset: u32 = 10;
426        pub const mask: u32 = 0x03 << offset;
427        pub mod R {}
428        pub mod W {}
429        pub mod RW {
430            #[doc = "Interrupt n is low-level sensitive."]
431            pub const LOW_LEVEL: u32 = 0;
432            #[doc = "Interrupt n is high-level sensitive."]
433            pub const HIGH_LEVEL: u32 = 0x01;
434            #[doc = "Interrupt n is rising-edge sensitive."]
435            pub const RISING_EDGE: u32 = 0x02;
436            #[doc = "Interrupt n is falling-edge sensitive."]
437            pub const FALLING_EDGE: u32 = 0x03;
438        }
439    }
440    #[doc = "ICR22"]
441    pub mod ICR22 {
442        pub const offset: u32 = 12;
443        pub const mask: u32 = 0x03 << offset;
444        pub mod R {}
445        pub mod W {}
446        pub mod RW {
447            #[doc = "Interrupt n is low-level sensitive."]
448            pub const LOW_LEVEL: u32 = 0;
449            #[doc = "Interrupt n is high-level sensitive."]
450            pub const HIGH_LEVEL: u32 = 0x01;
451            #[doc = "Interrupt n is rising-edge sensitive."]
452            pub const RISING_EDGE: u32 = 0x02;
453            #[doc = "Interrupt n is falling-edge sensitive."]
454            pub const FALLING_EDGE: u32 = 0x03;
455        }
456    }
457    #[doc = "ICR23"]
458    pub mod ICR23 {
459        pub const offset: u32 = 14;
460        pub const mask: u32 = 0x03 << offset;
461        pub mod R {}
462        pub mod W {}
463        pub mod RW {
464            #[doc = "Interrupt n is low-level sensitive."]
465            pub const LOW_LEVEL: u32 = 0;
466            #[doc = "Interrupt n is high-level sensitive."]
467            pub const HIGH_LEVEL: u32 = 0x01;
468            #[doc = "Interrupt n is rising-edge sensitive."]
469            pub const RISING_EDGE: u32 = 0x02;
470            #[doc = "Interrupt n is falling-edge sensitive."]
471            pub const FALLING_EDGE: u32 = 0x03;
472        }
473    }
474    #[doc = "ICR24"]
475    pub mod ICR24 {
476        pub const offset: u32 = 16;
477        pub const mask: u32 = 0x03 << offset;
478        pub mod R {}
479        pub mod W {}
480        pub mod RW {
481            #[doc = "Interrupt n is low-level sensitive."]
482            pub const LOW_LEVEL: u32 = 0;
483            #[doc = "Interrupt n is high-level sensitive."]
484            pub const HIGH_LEVEL: u32 = 0x01;
485            #[doc = "Interrupt n is rising-edge sensitive."]
486            pub const RISING_EDGE: u32 = 0x02;
487            #[doc = "Interrupt n is falling-edge sensitive."]
488            pub const FALLING_EDGE: u32 = 0x03;
489        }
490    }
491    #[doc = "ICR25"]
492    pub mod ICR25 {
493        pub const offset: u32 = 18;
494        pub const mask: u32 = 0x03 << offset;
495        pub mod R {}
496        pub mod W {}
497        pub mod RW {
498            #[doc = "Interrupt n is low-level sensitive."]
499            pub const LOW_LEVEL: u32 = 0;
500            #[doc = "Interrupt n is high-level sensitive."]
501            pub const HIGH_LEVEL: u32 = 0x01;
502            #[doc = "Interrupt n is rising-edge sensitive."]
503            pub const RISING_EDGE: u32 = 0x02;
504            #[doc = "Interrupt n is falling-edge sensitive."]
505            pub const FALLING_EDGE: u32 = 0x03;
506        }
507    }
508    #[doc = "ICR26"]
509    pub mod ICR26 {
510        pub const offset: u32 = 20;
511        pub const mask: u32 = 0x03 << offset;
512        pub mod R {}
513        pub mod W {}
514        pub mod RW {
515            #[doc = "Interrupt n is low-level sensitive."]
516            pub const LOW_LEVEL: u32 = 0;
517            #[doc = "Interrupt n is high-level sensitive."]
518            pub const HIGH_LEVEL: u32 = 0x01;
519            #[doc = "Interrupt n is rising-edge sensitive."]
520            pub const RISING_EDGE: u32 = 0x02;
521            #[doc = "Interrupt n is falling-edge sensitive."]
522            pub const FALLING_EDGE: u32 = 0x03;
523        }
524    }
525    #[doc = "ICR27"]
526    pub mod ICR27 {
527        pub const offset: u32 = 22;
528        pub const mask: u32 = 0x03 << offset;
529        pub mod R {}
530        pub mod W {}
531        pub mod RW {
532            #[doc = "Interrupt n is low-level sensitive."]
533            pub const LOW_LEVEL: u32 = 0;
534            #[doc = "Interrupt n is high-level sensitive."]
535            pub const HIGH_LEVEL: u32 = 0x01;
536            #[doc = "Interrupt n is rising-edge sensitive."]
537            pub const RISING_EDGE: u32 = 0x02;
538            #[doc = "Interrupt n is falling-edge sensitive."]
539            pub const FALLING_EDGE: u32 = 0x03;
540        }
541    }
542    #[doc = "ICR28"]
543    pub mod ICR28 {
544        pub const offset: u32 = 24;
545        pub const mask: u32 = 0x03 << offset;
546        pub mod R {}
547        pub mod W {}
548        pub mod RW {
549            #[doc = "Interrupt n is low-level sensitive."]
550            pub const LOW_LEVEL: u32 = 0;
551            #[doc = "Interrupt n is high-level sensitive."]
552            pub const HIGH_LEVEL: u32 = 0x01;
553            #[doc = "Interrupt n is rising-edge sensitive."]
554            pub const RISING_EDGE: u32 = 0x02;
555            #[doc = "Interrupt n is falling-edge sensitive."]
556            pub const FALLING_EDGE: u32 = 0x03;
557        }
558    }
559    #[doc = "ICR29"]
560    pub mod ICR29 {
561        pub const offset: u32 = 26;
562        pub const mask: u32 = 0x03 << offset;
563        pub mod R {}
564        pub mod W {}
565        pub mod RW {
566            #[doc = "Interrupt n is low-level sensitive."]
567            pub const LOW_LEVEL: u32 = 0;
568            #[doc = "Interrupt n is high-level sensitive."]
569            pub const HIGH_LEVEL: u32 = 0x01;
570            #[doc = "Interrupt n is rising-edge sensitive."]
571            pub const RISING_EDGE: u32 = 0x02;
572            #[doc = "Interrupt n is falling-edge sensitive."]
573            pub const FALLING_EDGE: u32 = 0x03;
574        }
575    }
576    #[doc = "ICR30"]
577    pub mod ICR30 {
578        pub const offset: u32 = 28;
579        pub const mask: u32 = 0x03 << offset;
580        pub mod R {}
581        pub mod W {}
582        pub mod RW {
583            #[doc = "Interrupt n is low-level sensitive."]
584            pub const LOW_LEVEL: u32 = 0;
585            #[doc = "Interrupt n is high-level sensitive."]
586            pub const HIGH_LEVEL: u32 = 0x01;
587            #[doc = "Interrupt n is rising-edge sensitive."]
588            pub const RISING_EDGE: u32 = 0x02;
589            #[doc = "Interrupt n is falling-edge sensitive."]
590            pub const FALLING_EDGE: u32 = 0x03;
591        }
592    }
593    #[doc = "ICR31"]
594    pub mod ICR31 {
595        pub const offset: u32 = 30;
596        pub const mask: u32 = 0x03 << offset;
597        pub mod R {}
598        pub mod W {}
599        pub mod RW {
600            #[doc = "Interrupt n is low-level sensitive."]
601            pub const LOW_LEVEL: u32 = 0;
602            #[doc = "Interrupt n is high-level sensitive."]
603            pub const HIGH_LEVEL: u32 = 0x01;
604            #[doc = "Interrupt n is rising-edge sensitive."]
605            pub const RISING_EDGE: u32 = 0x02;
606            #[doc = "Interrupt n is falling-edge sensitive."]
607            pub const FALLING_EDGE: u32 = 0x03;
608        }
609    }
610}
611#[doc = "GPIO interrupt mask register"]
612pub mod IMR {
613    #[doc = "IMR"]
614    pub mod IMR {
615        pub const offset: u32 = 0;
616        pub const mask: u32 = 0xffff_ffff << offset;
617        pub mod R {}
618        pub mod W {}
619        pub mod RW {}
620    }
621}
622#[doc = "GPIO interrupt status register"]
623pub mod ISR {
624    #[doc = "ISR"]
625    pub mod ISR {
626        pub const offset: u32 = 0;
627        pub const mask: u32 = 0xffff_ffff << offset;
628        pub mod R {}
629        pub mod W {}
630        pub mod RW {}
631    }
632}
633#[doc = "GPIO edge select register"]
634pub mod EDGE_SEL {
635    #[doc = "GPIO_EDGE_SEL"]
636    pub mod GPIO_EDGE_SEL {
637        pub const offset: u32 = 0;
638        pub const mask: u32 = 0xffff_ffff << offset;
639        pub mod R {}
640        pub mod W {}
641        pub mod RW {}
642    }
643}
644#[doc = "GPIO data register SET"]
645pub mod DR_SET {
646    #[doc = "DR_SET"]
647    pub mod DR_SET {
648        pub const offset: u32 = 0;
649        pub const mask: u32 = 0xffff_ffff << offset;
650        pub mod R {}
651        pub mod W {}
652        pub mod RW {}
653    }
654}
655#[doc = "GPIO data register CLEAR"]
656pub mod DR_CLEAR {
657    #[doc = "DR_CLEAR"]
658    pub mod DR_CLEAR {
659        pub const offset: u32 = 0;
660        pub const mask: u32 = 0xffff_ffff << offset;
661        pub mod R {}
662        pub mod W {}
663        pub mod RW {}
664    }
665}
666#[doc = "GPIO data register TOGGLE"]
667pub mod DR_TOGGLE {
668    #[doc = "DR_TOGGLE"]
669    pub mod DR_TOGGLE {
670        pub const offset: u32 = 0;
671        pub const mask: u32 = 0xffff_ffff << offset;
672        pub mod R {}
673        pub mod W {}
674        pub mod RW {}
675    }
676}