1#[doc = "Register `EXTIPSELH` reader"]
2pub struct R(crate::R<EXTIPSELH_SPEC>);
3impl core::ops::Deref for R {
4    type Target = crate::R<EXTIPSELH_SPEC>;
5    #[inline(always)]
6    fn deref(&self) -> &Self::Target {
7        &self.0
8    }
9}
10impl From<crate::R<EXTIPSELH_SPEC>> for R {
11    #[inline(always)]
12    fn from(reader: crate::R<EXTIPSELH_SPEC>) -> Self {
13        R(reader)
14    }
15}
16#[doc = "Register `EXTIPSELH` writer"]
17pub struct W(crate::W<EXTIPSELH_SPEC>);
18impl core::ops::Deref for W {
19    type Target = crate::W<EXTIPSELH_SPEC>;
20    #[inline(always)]
21    fn deref(&self) -> &Self::Target {
22        &self.0
23    }
24}
25impl core::ops::DerefMut for W {
26    #[inline(always)]
27    fn deref_mut(&mut self) -> &mut Self::Target {
28        &mut self.0
29    }
30}
31impl From<crate::W<EXTIPSELH_SPEC>> for W {
32    #[inline(always)]
33    fn from(writer: crate::W<EXTIPSELH_SPEC>) -> Self {
34        W(writer)
35    }
36}
37#[doc = "External Interrupt 8 Port Select\n\nValue on reset: 0"]
38#[derive(Clone, Copy, Debug, PartialEq)]
39#[repr(u8)]
40pub enum EXTIPSEL8_A {
41    #[doc = "0: Port A group selected for external interrupt 8"]
42    PORTA = 0,
43    #[doc = "1: Port B group selected for external interrupt 8"]
44    PORTB = 1,
45    #[doc = "2: Port C group selected for external interrupt 8"]
46    PORTC = 2,
47    #[doc = "3: Port D group selected for external interrupt 8"]
48    PORTD = 3,
49    #[doc = "5: Port F group selected for external interrupt 8"]
50    PORTF = 5,
51    #[doc = "8: Port I group selected for external interrupt 8"]
52    PORTI = 8,
53    #[doc = "9: Port J group selected for external interrupt 8"]
54    PORTJ = 9,
55    #[doc = "10: Port K group selected for external interrupt 8"]
56    PORTK = 10,
57}
58impl From<EXTIPSEL8_A> for u8 {
59    #[inline(always)]
60    fn from(variant: EXTIPSEL8_A) -> Self {
61        variant as _
62    }
63}
64#[doc = "Field `EXTIPSEL8` reader - External Interrupt 8 Port Select"]
65pub type EXTIPSEL8_R = crate::FieldReader<u8, EXTIPSEL8_A>;
66impl EXTIPSEL8_R {
67    #[doc = "Get enumerated values variant"]
68    #[inline(always)]
69    pub fn variant(&self) -> Option<EXTIPSEL8_A> {
70        match self.bits {
71            0 => Some(EXTIPSEL8_A::PORTA),
72            1 => Some(EXTIPSEL8_A::PORTB),
73            2 => Some(EXTIPSEL8_A::PORTC),
74            3 => Some(EXTIPSEL8_A::PORTD),
75            5 => Some(EXTIPSEL8_A::PORTF),
76            8 => Some(EXTIPSEL8_A::PORTI),
77            9 => Some(EXTIPSEL8_A::PORTJ),
78            10 => Some(EXTIPSEL8_A::PORTK),
79            _ => None,
80        }
81    }
82    #[doc = "Checks if the value of the field is `PORTA`"]
83    #[inline(always)]
84    pub fn is_porta(&self) -> bool {
85        *self == EXTIPSEL8_A::PORTA
86    }
87    #[doc = "Checks if the value of the field is `PORTB`"]
88    #[inline(always)]
89    pub fn is_portb(&self) -> bool {
90        *self == EXTIPSEL8_A::PORTB
91    }
92    #[doc = "Checks if the value of the field is `PORTC`"]
93    #[inline(always)]
94    pub fn is_portc(&self) -> bool {
95        *self == EXTIPSEL8_A::PORTC
96    }
97    #[doc = "Checks if the value of the field is `PORTD`"]
98    #[inline(always)]
99    pub fn is_portd(&self) -> bool {
100        *self == EXTIPSEL8_A::PORTD
101    }
102    #[doc = "Checks if the value of the field is `PORTF`"]
103    #[inline(always)]
104    pub fn is_portf(&self) -> bool {
105        *self == EXTIPSEL8_A::PORTF
106    }
107    #[doc = "Checks if the value of the field is `PORTI`"]
108    #[inline(always)]
109    pub fn is_porti(&self) -> bool {
110        *self == EXTIPSEL8_A::PORTI
111    }
112    #[doc = "Checks if the value of the field is `PORTJ`"]
113    #[inline(always)]
114    pub fn is_portj(&self) -> bool {
115        *self == EXTIPSEL8_A::PORTJ
116    }
117    #[doc = "Checks if the value of the field is `PORTK`"]
118    #[inline(always)]
119    pub fn is_portk(&self) -> bool {
120        *self == EXTIPSEL8_A::PORTK
121    }
122}
123#[doc = "Field `EXTIPSEL8` writer - External Interrupt 8 Port Select"]
124pub type EXTIPSEL8_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL8_A, 4, 0>;
125impl<'a> EXTIPSEL8_W<'a> {
126    #[doc = "Port A group selected for external interrupt 8"]
127    #[inline(always)]
128    pub fn porta(self) -> &'a mut W {
129        self.variant(EXTIPSEL8_A::PORTA)
130    }
131    #[doc = "Port B group selected for external interrupt 8"]
132    #[inline(always)]
133    pub fn portb(self) -> &'a mut W {
134        self.variant(EXTIPSEL8_A::PORTB)
135    }
136    #[doc = "Port C group selected for external interrupt 8"]
137    #[inline(always)]
138    pub fn portc(self) -> &'a mut W {
139        self.variant(EXTIPSEL8_A::PORTC)
140    }
141    #[doc = "Port D group selected for external interrupt 8"]
142    #[inline(always)]
143    pub fn portd(self) -> &'a mut W {
144        self.variant(EXTIPSEL8_A::PORTD)
145    }
146    #[doc = "Port F group selected for external interrupt 8"]
147    #[inline(always)]
148    pub fn portf(self) -> &'a mut W {
149        self.variant(EXTIPSEL8_A::PORTF)
150    }
151    #[doc = "Port I group selected for external interrupt 8"]
152    #[inline(always)]
153    pub fn porti(self) -> &'a mut W {
154        self.variant(EXTIPSEL8_A::PORTI)
155    }
156    #[doc = "Port J group selected for external interrupt 8"]
157    #[inline(always)]
158    pub fn portj(self) -> &'a mut W {
159        self.variant(EXTIPSEL8_A::PORTJ)
160    }
161    #[doc = "Port K group selected for external interrupt 8"]
162    #[inline(always)]
163    pub fn portk(self) -> &'a mut W {
164        self.variant(EXTIPSEL8_A::PORTK)
165    }
166}
167#[doc = "External Interrupt 9 Port Select\n\nValue on reset: 0"]
168#[derive(Clone, Copy, Debug, PartialEq)]
169#[repr(u8)]
170pub enum EXTIPSEL9_A {
171    #[doc = "0: Port A group selected for external interrupt 9"]
172    PORTA = 0,
173    #[doc = "1: Port B group selected for external interrupt 9"]
174    PORTB = 1,
175    #[doc = "2: Port C group selected for external interrupt 9"]
176    PORTC = 2,
177    #[doc = "3: Port D group selected for external interrupt 9"]
178    PORTD = 3,
179    #[doc = "5: Port F group selected for external interrupt 9"]
180    PORTF = 5,
181    #[doc = "8: Port I group selected for external interrupt 9"]
182    PORTI = 8,
183    #[doc = "9: Port J group selected for external interrupt 9"]
184    PORTJ = 9,
185    #[doc = "10: Port K group selected for external interrupt 9"]
186    PORTK = 10,
187}
188impl From<EXTIPSEL9_A> for u8 {
189    #[inline(always)]
190    fn from(variant: EXTIPSEL9_A) -> Self {
191        variant as _
192    }
193}
194#[doc = "Field `EXTIPSEL9` reader - External Interrupt 9 Port Select"]
195pub type EXTIPSEL9_R = crate::FieldReader<u8, EXTIPSEL9_A>;
196impl EXTIPSEL9_R {
197    #[doc = "Get enumerated values variant"]
198    #[inline(always)]
199    pub fn variant(&self) -> Option<EXTIPSEL9_A> {
200        match self.bits {
201            0 => Some(EXTIPSEL9_A::PORTA),
202            1 => Some(EXTIPSEL9_A::PORTB),
203            2 => Some(EXTIPSEL9_A::PORTC),
204            3 => Some(EXTIPSEL9_A::PORTD),
205            5 => Some(EXTIPSEL9_A::PORTF),
206            8 => Some(EXTIPSEL9_A::PORTI),
207            9 => Some(EXTIPSEL9_A::PORTJ),
208            10 => Some(EXTIPSEL9_A::PORTK),
209            _ => None,
210        }
211    }
212    #[doc = "Checks if the value of the field is `PORTA`"]
213    #[inline(always)]
214    pub fn is_porta(&self) -> bool {
215        *self == EXTIPSEL9_A::PORTA
216    }
217    #[doc = "Checks if the value of the field is `PORTB`"]
218    #[inline(always)]
219    pub fn is_portb(&self) -> bool {
220        *self == EXTIPSEL9_A::PORTB
221    }
222    #[doc = "Checks if the value of the field is `PORTC`"]
223    #[inline(always)]
224    pub fn is_portc(&self) -> bool {
225        *self == EXTIPSEL9_A::PORTC
226    }
227    #[doc = "Checks if the value of the field is `PORTD`"]
228    #[inline(always)]
229    pub fn is_portd(&self) -> bool {
230        *self == EXTIPSEL9_A::PORTD
231    }
232    #[doc = "Checks if the value of the field is `PORTF`"]
233    #[inline(always)]
234    pub fn is_portf(&self) -> bool {
235        *self == EXTIPSEL9_A::PORTF
236    }
237    #[doc = "Checks if the value of the field is `PORTI`"]
238    #[inline(always)]
239    pub fn is_porti(&self) -> bool {
240        *self == EXTIPSEL9_A::PORTI
241    }
242    #[doc = "Checks if the value of the field is `PORTJ`"]
243    #[inline(always)]
244    pub fn is_portj(&self) -> bool {
245        *self == EXTIPSEL9_A::PORTJ
246    }
247    #[doc = "Checks if the value of the field is `PORTK`"]
248    #[inline(always)]
249    pub fn is_portk(&self) -> bool {
250        *self == EXTIPSEL9_A::PORTK
251    }
252}
253#[doc = "Field `EXTIPSEL9` writer - External Interrupt 9 Port Select"]
254pub type EXTIPSEL9_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL9_A, 4, 4>;
255impl<'a> EXTIPSEL9_W<'a> {
256    #[doc = "Port A group selected for external interrupt 9"]
257    #[inline(always)]
258    pub fn porta(self) -> &'a mut W {
259        self.variant(EXTIPSEL9_A::PORTA)
260    }
261    #[doc = "Port B group selected for external interrupt 9"]
262    #[inline(always)]
263    pub fn portb(self) -> &'a mut W {
264        self.variant(EXTIPSEL9_A::PORTB)
265    }
266    #[doc = "Port C group selected for external interrupt 9"]
267    #[inline(always)]
268    pub fn portc(self) -> &'a mut W {
269        self.variant(EXTIPSEL9_A::PORTC)
270    }
271    #[doc = "Port D group selected for external interrupt 9"]
272    #[inline(always)]
273    pub fn portd(self) -> &'a mut W {
274        self.variant(EXTIPSEL9_A::PORTD)
275    }
276    #[doc = "Port F group selected for external interrupt 9"]
277    #[inline(always)]
278    pub fn portf(self) -> &'a mut W {
279        self.variant(EXTIPSEL9_A::PORTF)
280    }
281    #[doc = "Port I group selected for external interrupt 9"]
282    #[inline(always)]
283    pub fn porti(self) -> &'a mut W {
284        self.variant(EXTIPSEL9_A::PORTI)
285    }
286    #[doc = "Port J group selected for external interrupt 9"]
287    #[inline(always)]
288    pub fn portj(self) -> &'a mut W {
289        self.variant(EXTIPSEL9_A::PORTJ)
290    }
291    #[doc = "Port K group selected for external interrupt 9"]
292    #[inline(always)]
293    pub fn portk(self) -> &'a mut W {
294        self.variant(EXTIPSEL9_A::PORTK)
295    }
296}
297#[doc = "External Interrupt 10 Port Select\n\nValue on reset: 0"]
298#[derive(Clone, Copy, Debug, PartialEq)]
299#[repr(u8)]
300pub enum EXTIPSEL10_A {
301    #[doc = "0: Port A group selected for external interrupt 10"]
302    PORTA = 0,
303    #[doc = "1: Port B group selected for external interrupt 10"]
304    PORTB = 1,
305    #[doc = "2: Port C group selected for external interrupt 10"]
306    PORTC = 2,
307    #[doc = "3: Port D group selected for external interrupt 10"]
308    PORTD = 3,
309    #[doc = "5: Port F group selected for external interrupt 10"]
310    PORTF = 5,
311    #[doc = "8: Port I group selected for external interrupt 10"]
312    PORTI = 8,
313    #[doc = "9: Port J group selected for external interrupt 10"]
314    PORTJ = 9,
315    #[doc = "10: Port K group selected for external interrupt 10"]
316    PORTK = 10,
317}
318impl From<EXTIPSEL10_A> for u8 {
319    #[inline(always)]
320    fn from(variant: EXTIPSEL10_A) -> Self {
321        variant as _
322    }
323}
324#[doc = "Field `EXTIPSEL10` reader - External Interrupt 10 Port Select"]
325pub type EXTIPSEL10_R = crate::FieldReader<u8, EXTIPSEL10_A>;
326impl EXTIPSEL10_R {
327    #[doc = "Get enumerated values variant"]
328    #[inline(always)]
329    pub fn variant(&self) -> Option<EXTIPSEL10_A> {
330        match self.bits {
331            0 => Some(EXTIPSEL10_A::PORTA),
332            1 => Some(EXTIPSEL10_A::PORTB),
333            2 => Some(EXTIPSEL10_A::PORTC),
334            3 => Some(EXTIPSEL10_A::PORTD),
335            5 => Some(EXTIPSEL10_A::PORTF),
336            8 => Some(EXTIPSEL10_A::PORTI),
337            9 => Some(EXTIPSEL10_A::PORTJ),
338            10 => Some(EXTIPSEL10_A::PORTK),
339            _ => None,
340        }
341    }
342    #[doc = "Checks if the value of the field is `PORTA`"]
343    #[inline(always)]
344    pub fn is_porta(&self) -> bool {
345        *self == EXTIPSEL10_A::PORTA
346    }
347    #[doc = "Checks if the value of the field is `PORTB`"]
348    #[inline(always)]
349    pub fn is_portb(&self) -> bool {
350        *self == EXTIPSEL10_A::PORTB
351    }
352    #[doc = "Checks if the value of the field is `PORTC`"]
353    #[inline(always)]
354    pub fn is_portc(&self) -> bool {
355        *self == EXTIPSEL10_A::PORTC
356    }
357    #[doc = "Checks if the value of the field is `PORTD`"]
358    #[inline(always)]
359    pub fn is_portd(&self) -> bool {
360        *self == EXTIPSEL10_A::PORTD
361    }
362    #[doc = "Checks if the value of the field is `PORTF`"]
363    #[inline(always)]
364    pub fn is_portf(&self) -> bool {
365        *self == EXTIPSEL10_A::PORTF
366    }
367    #[doc = "Checks if the value of the field is `PORTI`"]
368    #[inline(always)]
369    pub fn is_porti(&self) -> bool {
370        *self == EXTIPSEL10_A::PORTI
371    }
372    #[doc = "Checks if the value of the field is `PORTJ`"]
373    #[inline(always)]
374    pub fn is_portj(&self) -> bool {
375        *self == EXTIPSEL10_A::PORTJ
376    }
377    #[doc = "Checks if the value of the field is `PORTK`"]
378    #[inline(always)]
379    pub fn is_portk(&self) -> bool {
380        *self == EXTIPSEL10_A::PORTK
381    }
382}
383#[doc = "Field `EXTIPSEL10` writer - External Interrupt 10 Port Select"]
384pub type EXTIPSEL10_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL10_A, 4, 8>;
385impl<'a> EXTIPSEL10_W<'a> {
386    #[doc = "Port A group selected for external interrupt 10"]
387    #[inline(always)]
388    pub fn porta(self) -> &'a mut W {
389        self.variant(EXTIPSEL10_A::PORTA)
390    }
391    #[doc = "Port B group selected for external interrupt 10"]
392    #[inline(always)]
393    pub fn portb(self) -> &'a mut W {
394        self.variant(EXTIPSEL10_A::PORTB)
395    }
396    #[doc = "Port C group selected for external interrupt 10"]
397    #[inline(always)]
398    pub fn portc(self) -> &'a mut W {
399        self.variant(EXTIPSEL10_A::PORTC)
400    }
401    #[doc = "Port D group selected for external interrupt 10"]
402    #[inline(always)]
403    pub fn portd(self) -> &'a mut W {
404        self.variant(EXTIPSEL10_A::PORTD)
405    }
406    #[doc = "Port F group selected for external interrupt 10"]
407    #[inline(always)]
408    pub fn portf(self) -> &'a mut W {
409        self.variant(EXTIPSEL10_A::PORTF)
410    }
411    #[doc = "Port I group selected for external interrupt 10"]
412    #[inline(always)]
413    pub fn porti(self) -> &'a mut W {
414        self.variant(EXTIPSEL10_A::PORTI)
415    }
416    #[doc = "Port J group selected for external interrupt 10"]
417    #[inline(always)]
418    pub fn portj(self) -> &'a mut W {
419        self.variant(EXTIPSEL10_A::PORTJ)
420    }
421    #[doc = "Port K group selected for external interrupt 10"]
422    #[inline(always)]
423    pub fn portk(self) -> &'a mut W {
424        self.variant(EXTIPSEL10_A::PORTK)
425    }
426}
427#[doc = "External Interrupt 11 Port Select\n\nValue on reset: 0"]
428#[derive(Clone, Copy, Debug, PartialEq)]
429#[repr(u8)]
430pub enum EXTIPSEL11_A {
431    #[doc = "0: Port A group selected for external interrupt 11"]
432    PORTA = 0,
433    #[doc = "1: Port B group selected for external interrupt 11"]
434    PORTB = 1,
435    #[doc = "2: Port C group selected for external interrupt 11"]
436    PORTC = 2,
437    #[doc = "3: Port D group selected for external interrupt 11"]
438    PORTD = 3,
439    #[doc = "5: Port F group selected for external interrupt 11"]
440    PORTF = 5,
441    #[doc = "8: Port I group selected for external interrupt 11"]
442    PORTI = 8,
443    #[doc = "9: Port J group selected for external interrupt 11"]
444    PORTJ = 9,
445    #[doc = "10: Port K group selected for external interrupt 11"]
446    PORTK = 10,
447}
448impl From<EXTIPSEL11_A> for u8 {
449    #[inline(always)]
450    fn from(variant: EXTIPSEL11_A) -> Self {
451        variant as _
452    }
453}
454#[doc = "Field `EXTIPSEL11` reader - External Interrupt 11 Port Select"]
455pub type EXTIPSEL11_R = crate::FieldReader<u8, EXTIPSEL11_A>;
456impl EXTIPSEL11_R {
457    #[doc = "Get enumerated values variant"]
458    #[inline(always)]
459    pub fn variant(&self) -> Option<EXTIPSEL11_A> {
460        match self.bits {
461            0 => Some(EXTIPSEL11_A::PORTA),
462            1 => Some(EXTIPSEL11_A::PORTB),
463            2 => Some(EXTIPSEL11_A::PORTC),
464            3 => Some(EXTIPSEL11_A::PORTD),
465            5 => Some(EXTIPSEL11_A::PORTF),
466            8 => Some(EXTIPSEL11_A::PORTI),
467            9 => Some(EXTIPSEL11_A::PORTJ),
468            10 => Some(EXTIPSEL11_A::PORTK),
469            _ => None,
470        }
471    }
472    #[doc = "Checks if the value of the field is `PORTA`"]
473    #[inline(always)]
474    pub fn is_porta(&self) -> bool {
475        *self == EXTIPSEL11_A::PORTA
476    }
477    #[doc = "Checks if the value of the field is `PORTB`"]
478    #[inline(always)]
479    pub fn is_portb(&self) -> bool {
480        *self == EXTIPSEL11_A::PORTB
481    }
482    #[doc = "Checks if the value of the field is `PORTC`"]
483    #[inline(always)]
484    pub fn is_portc(&self) -> bool {
485        *self == EXTIPSEL11_A::PORTC
486    }
487    #[doc = "Checks if the value of the field is `PORTD`"]
488    #[inline(always)]
489    pub fn is_portd(&self) -> bool {
490        *self == EXTIPSEL11_A::PORTD
491    }
492    #[doc = "Checks if the value of the field is `PORTF`"]
493    #[inline(always)]
494    pub fn is_portf(&self) -> bool {
495        *self == EXTIPSEL11_A::PORTF
496    }
497    #[doc = "Checks if the value of the field is `PORTI`"]
498    #[inline(always)]
499    pub fn is_porti(&self) -> bool {
500        *self == EXTIPSEL11_A::PORTI
501    }
502    #[doc = "Checks if the value of the field is `PORTJ`"]
503    #[inline(always)]
504    pub fn is_portj(&self) -> bool {
505        *self == EXTIPSEL11_A::PORTJ
506    }
507    #[doc = "Checks if the value of the field is `PORTK`"]
508    #[inline(always)]
509    pub fn is_portk(&self) -> bool {
510        *self == EXTIPSEL11_A::PORTK
511    }
512}
513#[doc = "Field `EXTIPSEL11` writer - External Interrupt 11 Port Select"]
514pub type EXTIPSEL11_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL11_A, 4, 12>;
515impl<'a> EXTIPSEL11_W<'a> {
516    #[doc = "Port A group selected for external interrupt 11"]
517    #[inline(always)]
518    pub fn porta(self) -> &'a mut W {
519        self.variant(EXTIPSEL11_A::PORTA)
520    }
521    #[doc = "Port B group selected for external interrupt 11"]
522    #[inline(always)]
523    pub fn portb(self) -> &'a mut W {
524        self.variant(EXTIPSEL11_A::PORTB)
525    }
526    #[doc = "Port C group selected for external interrupt 11"]
527    #[inline(always)]
528    pub fn portc(self) -> &'a mut W {
529        self.variant(EXTIPSEL11_A::PORTC)
530    }
531    #[doc = "Port D group selected for external interrupt 11"]
532    #[inline(always)]
533    pub fn portd(self) -> &'a mut W {
534        self.variant(EXTIPSEL11_A::PORTD)
535    }
536    #[doc = "Port F group selected for external interrupt 11"]
537    #[inline(always)]
538    pub fn portf(self) -> &'a mut W {
539        self.variant(EXTIPSEL11_A::PORTF)
540    }
541    #[doc = "Port I group selected for external interrupt 11"]
542    #[inline(always)]
543    pub fn porti(self) -> &'a mut W {
544        self.variant(EXTIPSEL11_A::PORTI)
545    }
546    #[doc = "Port J group selected for external interrupt 11"]
547    #[inline(always)]
548    pub fn portj(self) -> &'a mut W {
549        self.variant(EXTIPSEL11_A::PORTJ)
550    }
551    #[doc = "Port K group selected for external interrupt 11"]
552    #[inline(always)]
553    pub fn portk(self) -> &'a mut W {
554        self.variant(EXTIPSEL11_A::PORTK)
555    }
556}
557#[doc = "External Interrupt 12 Port Select\n\nValue on reset: 0"]
558#[derive(Clone, Copy, Debug, PartialEq)]
559#[repr(u8)]
560pub enum EXTIPSEL12_A {
561    #[doc = "0: Port A group selected for external interrupt 12"]
562    PORTA = 0,
563    #[doc = "1: Port B group selected for external interrupt 12"]
564    PORTB = 1,
565    #[doc = "2: Port C group selected for external interrupt 12"]
566    PORTC = 2,
567    #[doc = "3: Port D group selected for external interrupt 12"]
568    PORTD = 3,
569    #[doc = "5: Port F group selected for external interrupt 12"]
570    PORTF = 5,
571    #[doc = "8: Port I group selected for external interrupt 12"]
572    PORTI = 8,
573    #[doc = "9: Port J group selected for external interrupt 12"]
574    PORTJ = 9,
575    #[doc = "10: Port K group selected for external interrupt 12"]
576    PORTK = 10,
577}
578impl From<EXTIPSEL12_A> for u8 {
579    #[inline(always)]
580    fn from(variant: EXTIPSEL12_A) -> Self {
581        variant as _
582    }
583}
584#[doc = "Field `EXTIPSEL12` reader - External Interrupt 12 Port Select"]
585pub type EXTIPSEL12_R = crate::FieldReader<u8, EXTIPSEL12_A>;
586impl EXTIPSEL12_R {
587    #[doc = "Get enumerated values variant"]
588    #[inline(always)]
589    pub fn variant(&self) -> Option<EXTIPSEL12_A> {
590        match self.bits {
591            0 => Some(EXTIPSEL12_A::PORTA),
592            1 => Some(EXTIPSEL12_A::PORTB),
593            2 => Some(EXTIPSEL12_A::PORTC),
594            3 => Some(EXTIPSEL12_A::PORTD),
595            5 => Some(EXTIPSEL12_A::PORTF),
596            8 => Some(EXTIPSEL12_A::PORTI),
597            9 => Some(EXTIPSEL12_A::PORTJ),
598            10 => Some(EXTIPSEL12_A::PORTK),
599            _ => None,
600        }
601    }
602    #[doc = "Checks if the value of the field is `PORTA`"]
603    #[inline(always)]
604    pub fn is_porta(&self) -> bool {
605        *self == EXTIPSEL12_A::PORTA
606    }
607    #[doc = "Checks if the value of the field is `PORTB`"]
608    #[inline(always)]
609    pub fn is_portb(&self) -> bool {
610        *self == EXTIPSEL12_A::PORTB
611    }
612    #[doc = "Checks if the value of the field is `PORTC`"]
613    #[inline(always)]
614    pub fn is_portc(&self) -> bool {
615        *self == EXTIPSEL12_A::PORTC
616    }
617    #[doc = "Checks if the value of the field is `PORTD`"]
618    #[inline(always)]
619    pub fn is_portd(&self) -> bool {
620        *self == EXTIPSEL12_A::PORTD
621    }
622    #[doc = "Checks if the value of the field is `PORTF`"]
623    #[inline(always)]
624    pub fn is_portf(&self) -> bool {
625        *self == EXTIPSEL12_A::PORTF
626    }
627    #[doc = "Checks if the value of the field is `PORTI`"]
628    #[inline(always)]
629    pub fn is_porti(&self) -> bool {
630        *self == EXTIPSEL12_A::PORTI
631    }
632    #[doc = "Checks if the value of the field is `PORTJ`"]
633    #[inline(always)]
634    pub fn is_portj(&self) -> bool {
635        *self == EXTIPSEL12_A::PORTJ
636    }
637    #[doc = "Checks if the value of the field is `PORTK`"]
638    #[inline(always)]
639    pub fn is_portk(&self) -> bool {
640        *self == EXTIPSEL12_A::PORTK
641    }
642}
643#[doc = "Field `EXTIPSEL12` writer - External Interrupt 12 Port Select"]
644pub type EXTIPSEL12_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL12_A, 4, 16>;
645impl<'a> EXTIPSEL12_W<'a> {
646    #[doc = "Port A group selected for external interrupt 12"]
647    #[inline(always)]
648    pub fn porta(self) -> &'a mut W {
649        self.variant(EXTIPSEL12_A::PORTA)
650    }
651    #[doc = "Port B group selected for external interrupt 12"]
652    #[inline(always)]
653    pub fn portb(self) -> &'a mut W {
654        self.variant(EXTIPSEL12_A::PORTB)
655    }
656    #[doc = "Port C group selected for external interrupt 12"]
657    #[inline(always)]
658    pub fn portc(self) -> &'a mut W {
659        self.variant(EXTIPSEL12_A::PORTC)
660    }
661    #[doc = "Port D group selected for external interrupt 12"]
662    #[inline(always)]
663    pub fn portd(self) -> &'a mut W {
664        self.variant(EXTIPSEL12_A::PORTD)
665    }
666    #[doc = "Port F group selected for external interrupt 12"]
667    #[inline(always)]
668    pub fn portf(self) -> &'a mut W {
669        self.variant(EXTIPSEL12_A::PORTF)
670    }
671    #[doc = "Port I group selected for external interrupt 12"]
672    #[inline(always)]
673    pub fn porti(self) -> &'a mut W {
674        self.variant(EXTIPSEL12_A::PORTI)
675    }
676    #[doc = "Port J group selected for external interrupt 12"]
677    #[inline(always)]
678    pub fn portj(self) -> &'a mut W {
679        self.variant(EXTIPSEL12_A::PORTJ)
680    }
681    #[doc = "Port K group selected for external interrupt 12"]
682    #[inline(always)]
683    pub fn portk(self) -> &'a mut W {
684        self.variant(EXTIPSEL12_A::PORTK)
685    }
686}
687#[doc = "External Interrupt 13 Port Select\n\nValue on reset: 0"]
688#[derive(Clone, Copy, Debug, PartialEq)]
689#[repr(u8)]
690pub enum EXTIPSEL13_A {
691    #[doc = "0: Port A group selected for external interrupt 13"]
692    PORTA = 0,
693    #[doc = "1: Port B group selected for external interrupt 13"]
694    PORTB = 1,
695    #[doc = "2: Port C group selected for external interrupt 13"]
696    PORTC = 2,
697    #[doc = "3: Port D group selected for external interrupt 13"]
698    PORTD = 3,
699    #[doc = "5: Port F group selected for external interrupt 13"]
700    PORTF = 5,
701    #[doc = "8: Port I group selected for external interrupt 13"]
702    PORTI = 8,
703    #[doc = "9: Port J group selected for external interrupt 13"]
704    PORTJ = 9,
705    #[doc = "10: Port K group selected for external interrupt 13"]
706    PORTK = 10,
707}
708impl From<EXTIPSEL13_A> for u8 {
709    #[inline(always)]
710    fn from(variant: EXTIPSEL13_A) -> Self {
711        variant as _
712    }
713}
714#[doc = "Field `EXTIPSEL13` reader - External Interrupt 13 Port Select"]
715pub type EXTIPSEL13_R = crate::FieldReader<u8, EXTIPSEL13_A>;
716impl EXTIPSEL13_R {
717    #[doc = "Get enumerated values variant"]
718    #[inline(always)]
719    pub fn variant(&self) -> Option<EXTIPSEL13_A> {
720        match self.bits {
721            0 => Some(EXTIPSEL13_A::PORTA),
722            1 => Some(EXTIPSEL13_A::PORTB),
723            2 => Some(EXTIPSEL13_A::PORTC),
724            3 => Some(EXTIPSEL13_A::PORTD),
725            5 => Some(EXTIPSEL13_A::PORTF),
726            8 => Some(EXTIPSEL13_A::PORTI),
727            9 => Some(EXTIPSEL13_A::PORTJ),
728            10 => Some(EXTIPSEL13_A::PORTK),
729            _ => None,
730        }
731    }
732    #[doc = "Checks if the value of the field is `PORTA`"]
733    #[inline(always)]
734    pub fn is_porta(&self) -> bool {
735        *self == EXTIPSEL13_A::PORTA
736    }
737    #[doc = "Checks if the value of the field is `PORTB`"]
738    #[inline(always)]
739    pub fn is_portb(&self) -> bool {
740        *self == EXTIPSEL13_A::PORTB
741    }
742    #[doc = "Checks if the value of the field is `PORTC`"]
743    #[inline(always)]
744    pub fn is_portc(&self) -> bool {
745        *self == EXTIPSEL13_A::PORTC
746    }
747    #[doc = "Checks if the value of the field is `PORTD`"]
748    #[inline(always)]
749    pub fn is_portd(&self) -> bool {
750        *self == EXTIPSEL13_A::PORTD
751    }
752    #[doc = "Checks if the value of the field is `PORTF`"]
753    #[inline(always)]
754    pub fn is_portf(&self) -> bool {
755        *self == EXTIPSEL13_A::PORTF
756    }
757    #[doc = "Checks if the value of the field is `PORTI`"]
758    #[inline(always)]
759    pub fn is_porti(&self) -> bool {
760        *self == EXTIPSEL13_A::PORTI
761    }
762    #[doc = "Checks if the value of the field is `PORTJ`"]
763    #[inline(always)]
764    pub fn is_portj(&self) -> bool {
765        *self == EXTIPSEL13_A::PORTJ
766    }
767    #[doc = "Checks if the value of the field is `PORTK`"]
768    #[inline(always)]
769    pub fn is_portk(&self) -> bool {
770        *self == EXTIPSEL13_A::PORTK
771    }
772}
773#[doc = "Field `EXTIPSEL13` writer - External Interrupt 13 Port Select"]
774pub type EXTIPSEL13_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL13_A, 4, 20>;
775impl<'a> EXTIPSEL13_W<'a> {
776    #[doc = "Port A group selected for external interrupt 13"]
777    #[inline(always)]
778    pub fn porta(self) -> &'a mut W {
779        self.variant(EXTIPSEL13_A::PORTA)
780    }
781    #[doc = "Port B group selected for external interrupt 13"]
782    #[inline(always)]
783    pub fn portb(self) -> &'a mut W {
784        self.variant(EXTIPSEL13_A::PORTB)
785    }
786    #[doc = "Port C group selected for external interrupt 13"]
787    #[inline(always)]
788    pub fn portc(self) -> &'a mut W {
789        self.variant(EXTIPSEL13_A::PORTC)
790    }
791    #[doc = "Port D group selected for external interrupt 13"]
792    #[inline(always)]
793    pub fn portd(self) -> &'a mut W {
794        self.variant(EXTIPSEL13_A::PORTD)
795    }
796    #[doc = "Port F group selected for external interrupt 13"]
797    #[inline(always)]
798    pub fn portf(self) -> &'a mut W {
799        self.variant(EXTIPSEL13_A::PORTF)
800    }
801    #[doc = "Port I group selected for external interrupt 13"]
802    #[inline(always)]
803    pub fn porti(self) -> &'a mut W {
804        self.variant(EXTIPSEL13_A::PORTI)
805    }
806    #[doc = "Port J group selected for external interrupt 13"]
807    #[inline(always)]
808    pub fn portj(self) -> &'a mut W {
809        self.variant(EXTIPSEL13_A::PORTJ)
810    }
811    #[doc = "Port K group selected for external interrupt 13"]
812    #[inline(always)]
813    pub fn portk(self) -> &'a mut W {
814        self.variant(EXTIPSEL13_A::PORTK)
815    }
816}
817#[doc = "External Interrupt 14 Port Select\n\nValue on reset: 0"]
818#[derive(Clone, Copy, Debug, PartialEq)]
819#[repr(u8)]
820pub enum EXTIPSEL14_A {
821    #[doc = "0: Port A group selected for external interrupt 14"]
822    PORTA = 0,
823    #[doc = "1: Port B group selected for external interrupt 14"]
824    PORTB = 1,
825    #[doc = "2: Port C group selected for external interrupt 14"]
826    PORTC = 2,
827    #[doc = "3: Port D group selected for external interrupt 14"]
828    PORTD = 3,
829    #[doc = "5: Port F group selected for external interrupt 14"]
830    PORTF = 5,
831    #[doc = "8: Port I group selected for external interrupt 14"]
832    PORTI = 8,
833    #[doc = "9: Port J group selected for external interrupt 14"]
834    PORTJ = 9,
835    #[doc = "10: Port K group selected for external interrupt 14"]
836    PORTK = 10,
837}
838impl From<EXTIPSEL14_A> for u8 {
839    #[inline(always)]
840    fn from(variant: EXTIPSEL14_A) -> Self {
841        variant as _
842    }
843}
844#[doc = "Field `EXTIPSEL14` reader - External Interrupt 14 Port Select"]
845pub type EXTIPSEL14_R = crate::FieldReader<u8, EXTIPSEL14_A>;
846impl EXTIPSEL14_R {
847    #[doc = "Get enumerated values variant"]
848    #[inline(always)]
849    pub fn variant(&self) -> Option<EXTIPSEL14_A> {
850        match self.bits {
851            0 => Some(EXTIPSEL14_A::PORTA),
852            1 => Some(EXTIPSEL14_A::PORTB),
853            2 => Some(EXTIPSEL14_A::PORTC),
854            3 => Some(EXTIPSEL14_A::PORTD),
855            5 => Some(EXTIPSEL14_A::PORTF),
856            8 => Some(EXTIPSEL14_A::PORTI),
857            9 => Some(EXTIPSEL14_A::PORTJ),
858            10 => Some(EXTIPSEL14_A::PORTK),
859            _ => None,
860        }
861    }
862    #[doc = "Checks if the value of the field is `PORTA`"]
863    #[inline(always)]
864    pub fn is_porta(&self) -> bool {
865        *self == EXTIPSEL14_A::PORTA
866    }
867    #[doc = "Checks if the value of the field is `PORTB`"]
868    #[inline(always)]
869    pub fn is_portb(&self) -> bool {
870        *self == EXTIPSEL14_A::PORTB
871    }
872    #[doc = "Checks if the value of the field is `PORTC`"]
873    #[inline(always)]
874    pub fn is_portc(&self) -> bool {
875        *self == EXTIPSEL14_A::PORTC
876    }
877    #[doc = "Checks if the value of the field is `PORTD`"]
878    #[inline(always)]
879    pub fn is_portd(&self) -> bool {
880        *self == EXTIPSEL14_A::PORTD
881    }
882    #[doc = "Checks if the value of the field is `PORTF`"]
883    #[inline(always)]
884    pub fn is_portf(&self) -> bool {
885        *self == EXTIPSEL14_A::PORTF
886    }
887    #[doc = "Checks if the value of the field is `PORTI`"]
888    #[inline(always)]
889    pub fn is_porti(&self) -> bool {
890        *self == EXTIPSEL14_A::PORTI
891    }
892    #[doc = "Checks if the value of the field is `PORTJ`"]
893    #[inline(always)]
894    pub fn is_portj(&self) -> bool {
895        *self == EXTIPSEL14_A::PORTJ
896    }
897    #[doc = "Checks if the value of the field is `PORTK`"]
898    #[inline(always)]
899    pub fn is_portk(&self) -> bool {
900        *self == EXTIPSEL14_A::PORTK
901    }
902}
903#[doc = "Field `EXTIPSEL14` writer - External Interrupt 14 Port Select"]
904pub type EXTIPSEL14_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL14_A, 4, 24>;
905impl<'a> EXTIPSEL14_W<'a> {
906    #[doc = "Port A group selected for external interrupt 14"]
907    #[inline(always)]
908    pub fn porta(self) -> &'a mut W {
909        self.variant(EXTIPSEL14_A::PORTA)
910    }
911    #[doc = "Port B group selected for external interrupt 14"]
912    #[inline(always)]
913    pub fn portb(self) -> &'a mut W {
914        self.variant(EXTIPSEL14_A::PORTB)
915    }
916    #[doc = "Port C group selected for external interrupt 14"]
917    #[inline(always)]
918    pub fn portc(self) -> &'a mut W {
919        self.variant(EXTIPSEL14_A::PORTC)
920    }
921    #[doc = "Port D group selected for external interrupt 14"]
922    #[inline(always)]
923    pub fn portd(self) -> &'a mut W {
924        self.variant(EXTIPSEL14_A::PORTD)
925    }
926    #[doc = "Port F group selected for external interrupt 14"]
927    #[inline(always)]
928    pub fn portf(self) -> &'a mut W {
929        self.variant(EXTIPSEL14_A::PORTF)
930    }
931    #[doc = "Port I group selected for external interrupt 14"]
932    #[inline(always)]
933    pub fn porti(self) -> &'a mut W {
934        self.variant(EXTIPSEL14_A::PORTI)
935    }
936    #[doc = "Port J group selected for external interrupt 14"]
937    #[inline(always)]
938    pub fn portj(self) -> &'a mut W {
939        self.variant(EXTIPSEL14_A::PORTJ)
940    }
941    #[doc = "Port K group selected for external interrupt 14"]
942    #[inline(always)]
943    pub fn portk(self) -> &'a mut W {
944        self.variant(EXTIPSEL14_A::PORTK)
945    }
946}
947#[doc = "External Interrupt 15 Port Select\n\nValue on reset: 0"]
948#[derive(Clone, Copy, Debug, PartialEq)]
949#[repr(u8)]
950pub enum EXTIPSEL15_A {
951    #[doc = "0: Port A group selected for external interrupt 15"]
952    PORTA = 0,
953    #[doc = "1: Port B group selected for external interrupt 15"]
954    PORTB = 1,
955    #[doc = "2: Port C group selected for external interrupt 15"]
956    PORTC = 2,
957    #[doc = "3: Port D group selected for external interrupt 15"]
958    PORTD = 3,
959    #[doc = "5: Port F group selected for external interrupt 15"]
960    PORTF = 5,
961    #[doc = "8: Port I group selected for external interrupt 15"]
962    PORTI = 8,
963    #[doc = "9: Port J group selected for external interrupt 15"]
964    PORTJ = 9,
965    #[doc = "10: Port K group selected for external interrupt 15"]
966    PORTK = 10,
967}
968impl From<EXTIPSEL15_A> for u8 {
969    #[inline(always)]
970    fn from(variant: EXTIPSEL15_A) -> Self {
971        variant as _
972    }
973}
974#[doc = "Field `EXTIPSEL15` reader - External Interrupt 15 Port Select"]
975pub type EXTIPSEL15_R = crate::FieldReader<u8, EXTIPSEL15_A>;
976impl EXTIPSEL15_R {
977    #[doc = "Get enumerated values variant"]
978    #[inline(always)]
979    pub fn variant(&self) -> Option<EXTIPSEL15_A> {
980        match self.bits {
981            0 => Some(EXTIPSEL15_A::PORTA),
982            1 => Some(EXTIPSEL15_A::PORTB),
983            2 => Some(EXTIPSEL15_A::PORTC),
984            3 => Some(EXTIPSEL15_A::PORTD),
985            5 => Some(EXTIPSEL15_A::PORTF),
986            8 => Some(EXTIPSEL15_A::PORTI),
987            9 => Some(EXTIPSEL15_A::PORTJ),
988            10 => Some(EXTIPSEL15_A::PORTK),
989            _ => None,
990        }
991    }
992    #[doc = "Checks if the value of the field is `PORTA`"]
993    #[inline(always)]
994    pub fn is_porta(&self) -> bool {
995        *self == EXTIPSEL15_A::PORTA
996    }
997    #[doc = "Checks if the value of the field is `PORTB`"]
998    #[inline(always)]
999    pub fn is_portb(&self) -> bool {
1000        *self == EXTIPSEL15_A::PORTB
1001    }
1002    #[doc = "Checks if the value of the field is `PORTC`"]
1003    #[inline(always)]
1004    pub fn is_portc(&self) -> bool {
1005        *self == EXTIPSEL15_A::PORTC
1006    }
1007    #[doc = "Checks if the value of the field is `PORTD`"]
1008    #[inline(always)]
1009    pub fn is_portd(&self) -> bool {
1010        *self == EXTIPSEL15_A::PORTD
1011    }
1012    #[doc = "Checks if the value of the field is `PORTF`"]
1013    #[inline(always)]
1014    pub fn is_portf(&self) -> bool {
1015        *self == EXTIPSEL15_A::PORTF
1016    }
1017    #[doc = "Checks if the value of the field is `PORTI`"]
1018    #[inline(always)]
1019    pub fn is_porti(&self) -> bool {
1020        *self == EXTIPSEL15_A::PORTI
1021    }
1022    #[doc = "Checks if the value of the field is `PORTJ`"]
1023    #[inline(always)]
1024    pub fn is_portj(&self) -> bool {
1025        *self == EXTIPSEL15_A::PORTJ
1026    }
1027    #[doc = "Checks if the value of the field is `PORTK`"]
1028    #[inline(always)]
1029    pub fn is_portk(&self) -> bool {
1030        *self == EXTIPSEL15_A::PORTK
1031    }
1032}
1033#[doc = "Field `EXTIPSEL15` writer - External Interrupt 15 Port Select"]
1034pub type EXTIPSEL15_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL15_A, 4, 28>;
1035impl<'a> EXTIPSEL15_W<'a> {
1036    #[doc = "Port A group selected for external interrupt 15"]
1037    #[inline(always)]
1038    pub fn porta(self) -> &'a mut W {
1039        self.variant(EXTIPSEL15_A::PORTA)
1040    }
1041    #[doc = "Port B group selected for external interrupt 15"]
1042    #[inline(always)]
1043    pub fn portb(self) -> &'a mut W {
1044        self.variant(EXTIPSEL15_A::PORTB)
1045    }
1046    #[doc = "Port C group selected for external interrupt 15"]
1047    #[inline(always)]
1048    pub fn portc(self) -> &'a mut W {
1049        self.variant(EXTIPSEL15_A::PORTC)
1050    }
1051    #[doc = "Port D group selected for external interrupt 15"]
1052    #[inline(always)]
1053    pub fn portd(self) -> &'a mut W {
1054        self.variant(EXTIPSEL15_A::PORTD)
1055    }
1056    #[doc = "Port F group selected for external interrupt 15"]
1057    #[inline(always)]
1058    pub fn portf(self) -> &'a mut W {
1059        self.variant(EXTIPSEL15_A::PORTF)
1060    }
1061    #[doc = "Port I group selected for external interrupt 15"]
1062    #[inline(always)]
1063    pub fn porti(self) -> &'a mut W {
1064        self.variant(EXTIPSEL15_A::PORTI)
1065    }
1066    #[doc = "Port J group selected for external interrupt 15"]
1067    #[inline(always)]
1068    pub fn portj(self) -> &'a mut W {
1069        self.variant(EXTIPSEL15_A::PORTJ)
1070    }
1071    #[doc = "Port K group selected for external interrupt 15"]
1072    #[inline(always)]
1073    pub fn portk(self) -> &'a mut W {
1074        self.variant(EXTIPSEL15_A::PORTK)
1075    }
1076}
1077impl R {
1078    #[doc = "Bits 0:3 - External Interrupt 8 Port Select"]
1079    #[inline(always)]
1080    pub fn extipsel8(&self) -> EXTIPSEL8_R {
1081        EXTIPSEL8_R::new((self.bits & 0x0f) as u8)
1082    }
1083    #[doc = "Bits 4:7 - External Interrupt 9 Port Select"]
1084    #[inline(always)]
1085    pub fn extipsel9(&self) -> EXTIPSEL9_R {
1086        EXTIPSEL9_R::new(((self.bits >> 4) & 0x0f) as u8)
1087    }
1088    #[doc = "Bits 8:11 - External Interrupt 10 Port Select"]
1089    #[inline(always)]
1090    pub fn extipsel10(&self) -> EXTIPSEL10_R {
1091        EXTIPSEL10_R::new(((self.bits >> 8) & 0x0f) as u8)
1092    }
1093    #[doc = "Bits 12:15 - External Interrupt 11 Port Select"]
1094    #[inline(always)]
1095    pub fn extipsel11(&self) -> EXTIPSEL11_R {
1096        EXTIPSEL11_R::new(((self.bits >> 12) & 0x0f) as u8)
1097    }
1098    #[doc = "Bits 16:19 - External Interrupt 12 Port Select"]
1099    #[inline(always)]
1100    pub fn extipsel12(&self) -> EXTIPSEL12_R {
1101        EXTIPSEL12_R::new(((self.bits >> 16) & 0x0f) as u8)
1102    }
1103    #[doc = "Bits 20:23 - External Interrupt 13 Port Select"]
1104    #[inline(always)]
1105    pub fn extipsel13(&self) -> EXTIPSEL13_R {
1106        EXTIPSEL13_R::new(((self.bits >> 20) & 0x0f) as u8)
1107    }
1108    #[doc = "Bits 24:27 - External Interrupt 14 Port Select"]
1109    #[inline(always)]
1110    pub fn extipsel14(&self) -> EXTIPSEL14_R {
1111        EXTIPSEL14_R::new(((self.bits >> 24) & 0x0f) as u8)
1112    }
1113    #[doc = "Bits 28:31 - External Interrupt 15 Port Select"]
1114    #[inline(always)]
1115    pub fn extipsel15(&self) -> EXTIPSEL15_R {
1116        EXTIPSEL15_R::new(((self.bits >> 28) & 0x0f) as u8)
1117    }
1118}
1119impl W {
1120    #[doc = "Bits 0:3 - External Interrupt 8 Port Select"]
1121    #[inline(always)]
1122    pub fn extipsel8(&mut self) -> EXTIPSEL8_W {
1123        EXTIPSEL8_W::new(self)
1124    }
1125    #[doc = "Bits 4:7 - External Interrupt 9 Port Select"]
1126    #[inline(always)]
1127    pub fn extipsel9(&mut self) -> EXTIPSEL9_W {
1128        EXTIPSEL9_W::new(self)
1129    }
1130    #[doc = "Bits 8:11 - External Interrupt 10 Port Select"]
1131    #[inline(always)]
1132    pub fn extipsel10(&mut self) -> EXTIPSEL10_W {
1133        EXTIPSEL10_W::new(self)
1134    }
1135    #[doc = "Bits 12:15 - External Interrupt 11 Port Select"]
1136    #[inline(always)]
1137    pub fn extipsel11(&mut self) -> EXTIPSEL11_W {
1138        EXTIPSEL11_W::new(self)
1139    }
1140    #[doc = "Bits 16:19 - External Interrupt 12 Port Select"]
1141    #[inline(always)]
1142    pub fn extipsel12(&mut self) -> EXTIPSEL12_W {
1143        EXTIPSEL12_W::new(self)
1144    }
1145    #[doc = "Bits 20:23 - External Interrupt 13 Port Select"]
1146    #[inline(always)]
1147    pub fn extipsel13(&mut self) -> EXTIPSEL13_W {
1148        EXTIPSEL13_W::new(self)
1149    }
1150    #[doc = "Bits 24:27 - External Interrupt 14 Port Select"]
1151    #[inline(always)]
1152    pub fn extipsel14(&mut self) -> EXTIPSEL14_W {
1153        EXTIPSEL14_W::new(self)
1154    }
1155    #[doc = "Bits 28:31 - External Interrupt 15 Port Select"]
1156    #[inline(always)]
1157    pub fn extipsel15(&mut self) -> EXTIPSEL15_W {
1158        EXTIPSEL15_W::new(self)
1159    }
1160    #[doc = "Writes raw bits to the register."]
1161    #[inline(always)]
1162    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
1163        self.0.bits(bits);
1164        self
1165    }
1166}
1167#[doc = "External Interrupt Port Select High Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [extipselh](index.html) module"]
1168pub struct EXTIPSELH_SPEC;
1169impl crate::RegisterSpec for EXTIPSELH_SPEC {
1170    type Ux = u32;
1171}
1172#[doc = "`read()` method returns [extipselh::R](R) reader structure"]
1173impl crate::Readable for EXTIPSELH_SPEC {
1174    type Reader = R;
1175}
1176#[doc = "`write(|w| ..)` method takes [extipselh::W](W) writer structure"]
1177impl crate::Writable for EXTIPSELH_SPEC {
1178    type Writer = W;
1179}
1180#[doc = "`reset()` method sets EXTIPSELH to value 0"]
1181impl crate::Resettable for EXTIPSELH_SPEC {
1182    #[inline(always)]
1183    fn reset_value() -> Self::Ux {
1184        0
1185    }
1186}