ambiq_apollo3_pac2/gpio/
padregf.rs

1#[doc = "Register `PADREGF` reader"]
2pub struct R(crate::R<PADREGF_SPEC>);
3impl core::ops::Deref for R {
4    type Target = crate::R<PADREGF_SPEC>;
5    #[inline(always)]
6    fn deref(&self) -> &Self::Target {
7        &self.0
8    }
9}
10impl From<crate::R<PADREGF_SPEC>> for R {
11    #[inline(always)]
12    fn from(reader: crate::R<PADREGF_SPEC>) -> Self {
13        R(reader)
14    }
15}
16#[doc = "Register `PADREGF` writer"]
17pub struct W(crate::W<PADREGF_SPEC>);
18impl core::ops::Deref for W {
19    type Target = crate::W<PADREGF_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<PADREGF_SPEC>> for W {
32    #[inline(always)]
33    fn from(writer: crate::W<PADREGF_SPEC>) -> Self {
34        W(writer)
35    }
36}
37#[doc = "Pad 23 function select\n\nValue on reset: 3"]
38#[derive(Clone, Copy, Debug, PartialEq)]
39#[repr(u8)]
40pub enum PAD23FNCSEL_A {
41    #[doc = "0: Configure as the UART0 RX signal value."]
42    UART0RX = 0,
43    #[doc = "1: IOM/MSPI nCE group 23 value."]
44    NCE23 = 1,
45    #[doc = "2: CTIMER connection 14 value."]
46    CT14 = 2,
47    #[doc = "3: Configure as GPIO23 value."]
48    GPIO23 = 3,
49    #[doc = "4: I2S word clock input value."]
50    I2SWCLK = 4,
51    #[doc = "5: Configure as voltage comparitor output value."]
52    CMPOUT = 5,
53    #[doc = "6: MSPI data connection 3 value."]
54    MSPI3 = 6,
55    #[doc = "7: External XTAL osacillatgor input value."]
56    EXTXT = 7,
57}
58impl From<PAD23FNCSEL_A> for u8 {
59    #[inline(always)]
60    fn from(variant: PAD23FNCSEL_A) -> Self {
61        variant as _
62    }
63}
64#[doc = "Field `PAD23FNCSEL` reader - Pad 23 function select"]
65pub struct PAD23FNCSEL_R(crate::FieldReader<u8, PAD23FNCSEL_A>);
66impl PAD23FNCSEL_R {
67    pub(crate) fn new(bits: u8) -> Self {
68        PAD23FNCSEL_R(crate::FieldReader::new(bits))
69    }
70    #[doc = r"Get enumerated values variant"]
71    #[inline(always)]
72    pub fn variant(&self) -> PAD23FNCSEL_A {
73        match self.bits {
74            0 => PAD23FNCSEL_A::UART0RX,
75            1 => PAD23FNCSEL_A::NCE23,
76            2 => PAD23FNCSEL_A::CT14,
77            3 => PAD23FNCSEL_A::GPIO23,
78            4 => PAD23FNCSEL_A::I2SWCLK,
79            5 => PAD23FNCSEL_A::CMPOUT,
80            6 => PAD23FNCSEL_A::MSPI3,
81            7 => PAD23FNCSEL_A::EXTXT,
82            _ => unreachable!(),
83        }
84    }
85    #[doc = "Checks if the value of the field is `UART0RX`"]
86    #[inline(always)]
87    pub fn is_uart0rx(&self) -> bool {
88        **self == PAD23FNCSEL_A::UART0RX
89    }
90    #[doc = "Checks if the value of the field is `NCE23`"]
91    #[inline(always)]
92    pub fn is_nce23(&self) -> bool {
93        **self == PAD23FNCSEL_A::NCE23
94    }
95    #[doc = "Checks if the value of the field is `CT14`"]
96    #[inline(always)]
97    pub fn is_ct14(&self) -> bool {
98        **self == PAD23FNCSEL_A::CT14
99    }
100    #[doc = "Checks if the value of the field is `GPIO23`"]
101    #[inline(always)]
102    pub fn is_gpio23(&self) -> bool {
103        **self == PAD23FNCSEL_A::GPIO23
104    }
105    #[doc = "Checks if the value of the field is `I2SWCLK`"]
106    #[inline(always)]
107    pub fn is_i2swclk(&self) -> bool {
108        **self == PAD23FNCSEL_A::I2SWCLK
109    }
110    #[doc = "Checks if the value of the field is `CMPOUT`"]
111    #[inline(always)]
112    pub fn is_cmpout(&self) -> bool {
113        **self == PAD23FNCSEL_A::CMPOUT
114    }
115    #[doc = "Checks if the value of the field is `MSPI3`"]
116    #[inline(always)]
117    pub fn is_mspi3(&self) -> bool {
118        **self == PAD23FNCSEL_A::MSPI3
119    }
120    #[doc = "Checks if the value of the field is `EXTXT`"]
121    #[inline(always)]
122    pub fn is_extxt(&self) -> bool {
123        **self == PAD23FNCSEL_A::EXTXT
124    }
125}
126impl core::ops::Deref for PAD23FNCSEL_R {
127    type Target = crate::FieldReader<u8, PAD23FNCSEL_A>;
128    #[inline(always)]
129    fn deref(&self) -> &Self::Target {
130        &self.0
131    }
132}
133#[doc = "Field `PAD23FNCSEL` writer - Pad 23 function select"]
134pub struct PAD23FNCSEL_W<'a> {
135    w: &'a mut W,
136}
137impl<'a> PAD23FNCSEL_W<'a> {
138    #[doc = r"Writes `variant` to the field"]
139    #[inline(always)]
140    pub fn variant(self, variant: PAD23FNCSEL_A) -> &'a mut W {
141        self.bits(variant.into())
142    }
143    #[doc = "Configure as the UART0 RX signal value."]
144    #[inline(always)]
145    pub fn uart0rx(self) -> &'a mut W {
146        self.variant(PAD23FNCSEL_A::UART0RX)
147    }
148    #[doc = "IOM/MSPI nCE group 23 value."]
149    #[inline(always)]
150    pub fn nce23(self) -> &'a mut W {
151        self.variant(PAD23FNCSEL_A::NCE23)
152    }
153    #[doc = "CTIMER connection 14 value."]
154    #[inline(always)]
155    pub fn ct14(self) -> &'a mut W {
156        self.variant(PAD23FNCSEL_A::CT14)
157    }
158    #[doc = "Configure as GPIO23 value."]
159    #[inline(always)]
160    pub fn gpio23(self) -> &'a mut W {
161        self.variant(PAD23FNCSEL_A::GPIO23)
162    }
163    #[doc = "I2S word clock input value."]
164    #[inline(always)]
165    pub fn i2swclk(self) -> &'a mut W {
166        self.variant(PAD23FNCSEL_A::I2SWCLK)
167    }
168    #[doc = "Configure as voltage comparitor output value."]
169    #[inline(always)]
170    pub fn cmpout(self) -> &'a mut W {
171        self.variant(PAD23FNCSEL_A::CMPOUT)
172    }
173    #[doc = "MSPI data connection 3 value."]
174    #[inline(always)]
175    pub fn mspi3(self) -> &'a mut W {
176        self.variant(PAD23FNCSEL_A::MSPI3)
177    }
178    #[doc = "External XTAL osacillatgor input value."]
179    #[inline(always)]
180    pub fn extxt(self) -> &'a mut W {
181        self.variant(PAD23FNCSEL_A::EXTXT)
182    }
183    #[doc = r"Writes raw bits to the field"]
184    #[inline(always)]
185    pub fn bits(self, value: u8) -> &'a mut W {
186        self.w.bits = (self.w.bits & !(0x07 << 27)) | ((value as u32 & 0x07) << 27);
187        self.w
188    }
189}
190#[doc = "Pad 23 drive strength\n\nValue on reset: 0"]
191#[derive(Clone, Copy, Debug, PartialEq)]
192pub enum PAD23STRNG_A {
193    #[doc = "0: Low drive strength value."]
194    LOW = 0,
195    #[doc = "1: High drive strength value."]
196    HIGH = 1,
197}
198impl From<PAD23STRNG_A> for bool {
199    #[inline(always)]
200    fn from(variant: PAD23STRNG_A) -> Self {
201        variant as u8 != 0
202    }
203}
204#[doc = "Field `PAD23STRNG` reader - Pad 23 drive strength"]
205pub struct PAD23STRNG_R(crate::FieldReader<bool, PAD23STRNG_A>);
206impl PAD23STRNG_R {
207    pub(crate) fn new(bits: bool) -> Self {
208        PAD23STRNG_R(crate::FieldReader::new(bits))
209    }
210    #[doc = r"Get enumerated values variant"]
211    #[inline(always)]
212    pub fn variant(&self) -> PAD23STRNG_A {
213        match self.bits {
214            false => PAD23STRNG_A::LOW,
215            true => PAD23STRNG_A::HIGH,
216        }
217    }
218    #[doc = "Checks if the value of the field is `LOW`"]
219    #[inline(always)]
220    pub fn is_low(&self) -> bool {
221        **self == PAD23STRNG_A::LOW
222    }
223    #[doc = "Checks if the value of the field is `HIGH`"]
224    #[inline(always)]
225    pub fn is_high(&self) -> bool {
226        **self == PAD23STRNG_A::HIGH
227    }
228}
229impl core::ops::Deref for PAD23STRNG_R {
230    type Target = crate::FieldReader<bool, PAD23STRNG_A>;
231    #[inline(always)]
232    fn deref(&self) -> &Self::Target {
233        &self.0
234    }
235}
236#[doc = "Field `PAD23STRNG` writer - Pad 23 drive strength"]
237pub struct PAD23STRNG_W<'a> {
238    w: &'a mut W,
239}
240impl<'a> PAD23STRNG_W<'a> {
241    #[doc = r"Writes `variant` to the field"]
242    #[inline(always)]
243    pub fn variant(self, variant: PAD23STRNG_A) -> &'a mut W {
244        self.bit(variant.into())
245    }
246    #[doc = "Low drive strength value."]
247    #[inline(always)]
248    pub fn low(self) -> &'a mut W {
249        self.variant(PAD23STRNG_A::LOW)
250    }
251    #[doc = "High drive strength value."]
252    #[inline(always)]
253    pub fn high(self) -> &'a mut W {
254        self.variant(PAD23STRNG_A::HIGH)
255    }
256    #[doc = r"Sets the field bit"]
257    #[inline(always)]
258    pub fn set_bit(self) -> &'a mut W {
259        self.bit(true)
260    }
261    #[doc = r"Clears the field bit"]
262    #[inline(always)]
263    pub fn clear_bit(self) -> &'a mut W {
264        self.bit(false)
265    }
266    #[doc = r"Writes raw bits to the field"]
267    #[inline(always)]
268    pub fn bit(self, value: bool) -> &'a mut W {
269        self.w.bits = (self.w.bits & !(0x01 << 26)) | ((value as u32 & 0x01) << 26);
270        self.w
271    }
272}
273#[doc = "Pad 23 input enable\n\nValue on reset: 0"]
274#[derive(Clone, Copy, Debug, PartialEq)]
275pub enum PAD23INPEN_A {
276    #[doc = "0: Pad input disabled value."]
277    DIS = 0,
278    #[doc = "1: Pad input enabled value."]
279    EN = 1,
280}
281impl From<PAD23INPEN_A> for bool {
282    #[inline(always)]
283    fn from(variant: PAD23INPEN_A) -> Self {
284        variant as u8 != 0
285    }
286}
287#[doc = "Field `PAD23INPEN` reader - Pad 23 input enable"]
288pub struct PAD23INPEN_R(crate::FieldReader<bool, PAD23INPEN_A>);
289impl PAD23INPEN_R {
290    pub(crate) fn new(bits: bool) -> Self {
291        PAD23INPEN_R(crate::FieldReader::new(bits))
292    }
293    #[doc = r"Get enumerated values variant"]
294    #[inline(always)]
295    pub fn variant(&self) -> PAD23INPEN_A {
296        match self.bits {
297            false => PAD23INPEN_A::DIS,
298            true => PAD23INPEN_A::EN,
299        }
300    }
301    #[doc = "Checks if the value of the field is `DIS`"]
302    #[inline(always)]
303    pub fn is_dis(&self) -> bool {
304        **self == PAD23INPEN_A::DIS
305    }
306    #[doc = "Checks if the value of the field is `EN`"]
307    #[inline(always)]
308    pub fn is_en(&self) -> bool {
309        **self == PAD23INPEN_A::EN
310    }
311}
312impl core::ops::Deref for PAD23INPEN_R {
313    type Target = crate::FieldReader<bool, PAD23INPEN_A>;
314    #[inline(always)]
315    fn deref(&self) -> &Self::Target {
316        &self.0
317    }
318}
319#[doc = "Field `PAD23INPEN` writer - Pad 23 input enable"]
320pub struct PAD23INPEN_W<'a> {
321    w: &'a mut W,
322}
323impl<'a> PAD23INPEN_W<'a> {
324    #[doc = r"Writes `variant` to the field"]
325    #[inline(always)]
326    pub fn variant(self, variant: PAD23INPEN_A) -> &'a mut W {
327        self.bit(variant.into())
328    }
329    #[doc = "Pad input disabled value."]
330    #[inline(always)]
331    pub fn dis(self) -> &'a mut W {
332        self.variant(PAD23INPEN_A::DIS)
333    }
334    #[doc = "Pad input enabled value."]
335    #[inline(always)]
336    pub fn en(self) -> &'a mut W {
337        self.variant(PAD23INPEN_A::EN)
338    }
339    #[doc = r"Sets the field bit"]
340    #[inline(always)]
341    pub fn set_bit(self) -> &'a mut W {
342        self.bit(true)
343    }
344    #[doc = r"Clears the field bit"]
345    #[inline(always)]
346    pub fn clear_bit(self) -> &'a mut W {
347        self.bit(false)
348    }
349    #[doc = r"Writes raw bits to the field"]
350    #[inline(always)]
351    pub fn bit(self, value: bool) -> &'a mut W {
352        self.w.bits = (self.w.bits & !(0x01 << 25)) | ((value as u32 & 0x01) << 25);
353        self.w
354    }
355}
356#[doc = "Pad 23 pullup enable\n\nValue on reset: 0"]
357#[derive(Clone, Copy, Debug, PartialEq)]
358pub enum PAD23PULL_A {
359    #[doc = "0: Pullup disabled value."]
360    DIS = 0,
361    #[doc = "1: Pullup enabled value."]
362    EN = 1,
363}
364impl From<PAD23PULL_A> for bool {
365    #[inline(always)]
366    fn from(variant: PAD23PULL_A) -> Self {
367        variant as u8 != 0
368    }
369}
370#[doc = "Field `PAD23PULL` reader - Pad 23 pullup enable"]
371pub struct PAD23PULL_R(crate::FieldReader<bool, PAD23PULL_A>);
372impl PAD23PULL_R {
373    pub(crate) fn new(bits: bool) -> Self {
374        PAD23PULL_R(crate::FieldReader::new(bits))
375    }
376    #[doc = r"Get enumerated values variant"]
377    #[inline(always)]
378    pub fn variant(&self) -> PAD23PULL_A {
379        match self.bits {
380            false => PAD23PULL_A::DIS,
381            true => PAD23PULL_A::EN,
382        }
383    }
384    #[doc = "Checks if the value of the field is `DIS`"]
385    #[inline(always)]
386    pub fn is_dis(&self) -> bool {
387        **self == PAD23PULL_A::DIS
388    }
389    #[doc = "Checks if the value of the field is `EN`"]
390    #[inline(always)]
391    pub fn is_en(&self) -> bool {
392        **self == PAD23PULL_A::EN
393    }
394}
395impl core::ops::Deref for PAD23PULL_R {
396    type Target = crate::FieldReader<bool, PAD23PULL_A>;
397    #[inline(always)]
398    fn deref(&self) -> &Self::Target {
399        &self.0
400    }
401}
402#[doc = "Field `PAD23PULL` writer - Pad 23 pullup enable"]
403pub struct PAD23PULL_W<'a> {
404    w: &'a mut W,
405}
406impl<'a> PAD23PULL_W<'a> {
407    #[doc = r"Writes `variant` to the field"]
408    #[inline(always)]
409    pub fn variant(self, variant: PAD23PULL_A) -> &'a mut W {
410        self.bit(variant.into())
411    }
412    #[doc = "Pullup disabled value."]
413    #[inline(always)]
414    pub fn dis(self) -> &'a mut W {
415        self.variant(PAD23PULL_A::DIS)
416    }
417    #[doc = "Pullup enabled value."]
418    #[inline(always)]
419    pub fn en(self) -> &'a mut W {
420        self.variant(PAD23PULL_A::EN)
421    }
422    #[doc = r"Sets the field bit"]
423    #[inline(always)]
424    pub fn set_bit(self) -> &'a mut W {
425        self.bit(true)
426    }
427    #[doc = r"Clears the field bit"]
428    #[inline(always)]
429    pub fn clear_bit(self) -> &'a mut W {
430        self.bit(false)
431    }
432    #[doc = r"Writes raw bits to the field"]
433    #[inline(always)]
434    pub fn bit(self, value: bool) -> &'a mut W {
435        self.w.bits = (self.w.bits & !(0x01 << 24)) | ((value as u32 & 0x01) << 24);
436        self.w
437    }
438}
439#[doc = "Pad 22 function select\n\nValue on reset: 3"]
440#[derive(Clone, Copy, Debug, PartialEq)]
441#[repr(u8)]
442pub enum PAD22FNCSEL_A {
443    #[doc = "0: Configure as the UART0 TX signal value."]
444    UART0TX = 0,
445    #[doc = "1: IOM/MSPI nCE group 22 value."]
446    NCE22 = 1,
447    #[doc = "2: CTIMER connection 12 value."]
448    CT12 = 2,
449    #[doc = "3: Configure as GPIO22 value."]
450    GPIO22 = 3,
451    #[doc = "4: Configure as the PDM CLK output value."]
452    PDM_CLK = 4,
453    #[doc = "5: External LFRC input value."]
454    EXTLF = 5,
455    #[doc = "6: MSPI data connection 0 value."]
456    MSPI0 = 6,
457    #[doc = "7: Configure as the serial trace data output signal value."]
458    SWO = 7,
459}
460impl From<PAD22FNCSEL_A> for u8 {
461    #[inline(always)]
462    fn from(variant: PAD22FNCSEL_A) -> Self {
463        variant as _
464    }
465}
466#[doc = "Field `PAD22FNCSEL` reader - Pad 22 function select"]
467pub struct PAD22FNCSEL_R(crate::FieldReader<u8, PAD22FNCSEL_A>);
468impl PAD22FNCSEL_R {
469    pub(crate) fn new(bits: u8) -> Self {
470        PAD22FNCSEL_R(crate::FieldReader::new(bits))
471    }
472    #[doc = r"Get enumerated values variant"]
473    #[inline(always)]
474    pub fn variant(&self) -> PAD22FNCSEL_A {
475        match self.bits {
476            0 => PAD22FNCSEL_A::UART0TX,
477            1 => PAD22FNCSEL_A::NCE22,
478            2 => PAD22FNCSEL_A::CT12,
479            3 => PAD22FNCSEL_A::GPIO22,
480            4 => PAD22FNCSEL_A::PDM_CLK,
481            5 => PAD22FNCSEL_A::EXTLF,
482            6 => PAD22FNCSEL_A::MSPI0,
483            7 => PAD22FNCSEL_A::SWO,
484            _ => unreachable!(),
485        }
486    }
487    #[doc = "Checks if the value of the field is `UART0TX`"]
488    #[inline(always)]
489    pub fn is_uart0tx(&self) -> bool {
490        **self == PAD22FNCSEL_A::UART0TX
491    }
492    #[doc = "Checks if the value of the field is `NCE22`"]
493    #[inline(always)]
494    pub fn is_nce22(&self) -> bool {
495        **self == PAD22FNCSEL_A::NCE22
496    }
497    #[doc = "Checks if the value of the field is `CT12`"]
498    #[inline(always)]
499    pub fn is_ct12(&self) -> bool {
500        **self == PAD22FNCSEL_A::CT12
501    }
502    #[doc = "Checks if the value of the field is `GPIO22`"]
503    #[inline(always)]
504    pub fn is_gpio22(&self) -> bool {
505        **self == PAD22FNCSEL_A::GPIO22
506    }
507    #[doc = "Checks if the value of the field is `PDM_CLK`"]
508    #[inline(always)]
509    pub fn is_pdm_clk(&self) -> bool {
510        **self == PAD22FNCSEL_A::PDM_CLK
511    }
512    #[doc = "Checks if the value of the field is `EXTLF`"]
513    #[inline(always)]
514    pub fn is_extlf(&self) -> bool {
515        **self == PAD22FNCSEL_A::EXTLF
516    }
517    #[doc = "Checks if the value of the field is `MSPI0`"]
518    #[inline(always)]
519    pub fn is_mspi0(&self) -> bool {
520        **self == PAD22FNCSEL_A::MSPI0
521    }
522    #[doc = "Checks if the value of the field is `SWO`"]
523    #[inline(always)]
524    pub fn is_swo(&self) -> bool {
525        **self == PAD22FNCSEL_A::SWO
526    }
527}
528impl core::ops::Deref for PAD22FNCSEL_R {
529    type Target = crate::FieldReader<u8, PAD22FNCSEL_A>;
530    #[inline(always)]
531    fn deref(&self) -> &Self::Target {
532        &self.0
533    }
534}
535#[doc = "Field `PAD22FNCSEL` writer - Pad 22 function select"]
536pub struct PAD22FNCSEL_W<'a> {
537    w: &'a mut W,
538}
539impl<'a> PAD22FNCSEL_W<'a> {
540    #[doc = r"Writes `variant` to the field"]
541    #[inline(always)]
542    pub fn variant(self, variant: PAD22FNCSEL_A) -> &'a mut W {
543        self.bits(variant.into())
544    }
545    #[doc = "Configure as the UART0 TX signal value."]
546    #[inline(always)]
547    pub fn uart0tx(self) -> &'a mut W {
548        self.variant(PAD22FNCSEL_A::UART0TX)
549    }
550    #[doc = "IOM/MSPI nCE group 22 value."]
551    #[inline(always)]
552    pub fn nce22(self) -> &'a mut W {
553        self.variant(PAD22FNCSEL_A::NCE22)
554    }
555    #[doc = "CTIMER connection 12 value."]
556    #[inline(always)]
557    pub fn ct12(self) -> &'a mut W {
558        self.variant(PAD22FNCSEL_A::CT12)
559    }
560    #[doc = "Configure as GPIO22 value."]
561    #[inline(always)]
562    pub fn gpio22(self) -> &'a mut W {
563        self.variant(PAD22FNCSEL_A::GPIO22)
564    }
565    #[doc = "Configure as the PDM CLK output value."]
566    #[inline(always)]
567    pub fn pdm_clk(self) -> &'a mut W {
568        self.variant(PAD22FNCSEL_A::PDM_CLK)
569    }
570    #[doc = "External LFRC input value."]
571    #[inline(always)]
572    pub fn extlf(self) -> &'a mut W {
573        self.variant(PAD22FNCSEL_A::EXTLF)
574    }
575    #[doc = "MSPI data connection 0 value."]
576    #[inline(always)]
577    pub fn mspi0(self) -> &'a mut W {
578        self.variant(PAD22FNCSEL_A::MSPI0)
579    }
580    #[doc = "Configure as the serial trace data output signal value."]
581    #[inline(always)]
582    pub fn swo(self) -> &'a mut W {
583        self.variant(PAD22FNCSEL_A::SWO)
584    }
585    #[doc = r"Writes raw bits to the field"]
586    #[inline(always)]
587    pub fn bits(self, value: u8) -> &'a mut W {
588        self.w.bits = (self.w.bits & !(0x07 << 19)) | ((value as u32 & 0x07) << 19);
589        self.w
590    }
591}
592#[doc = "Pad 22 drive strength\n\nValue on reset: 0"]
593#[derive(Clone, Copy, Debug, PartialEq)]
594pub enum PAD22STRNG_A {
595    #[doc = "0: Low drive strength value."]
596    LOW = 0,
597    #[doc = "1: High drive strength value."]
598    HIGH = 1,
599}
600impl From<PAD22STRNG_A> for bool {
601    #[inline(always)]
602    fn from(variant: PAD22STRNG_A) -> Self {
603        variant as u8 != 0
604    }
605}
606#[doc = "Field `PAD22STRNG` reader - Pad 22 drive strength"]
607pub struct PAD22STRNG_R(crate::FieldReader<bool, PAD22STRNG_A>);
608impl PAD22STRNG_R {
609    pub(crate) fn new(bits: bool) -> Self {
610        PAD22STRNG_R(crate::FieldReader::new(bits))
611    }
612    #[doc = r"Get enumerated values variant"]
613    #[inline(always)]
614    pub fn variant(&self) -> PAD22STRNG_A {
615        match self.bits {
616            false => PAD22STRNG_A::LOW,
617            true => PAD22STRNG_A::HIGH,
618        }
619    }
620    #[doc = "Checks if the value of the field is `LOW`"]
621    #[inline(always)]
622    pub fn is_low(&self) -> bool {
623        **self == PAD22STRNG_A::LOW
624    }
625    #[doc = "Checks if the value of the field is `HIGH`"]
626    #[inline(always)]
627    pub fn is_high(&self) -> bool {
628        **self == PAD22STRNG_A::HIGH
629    }
630}
631impl core::ops::Deref for PAD22STRNG_R {
632    type Target = crate::FieldReader<bool, PAD22STRNG_A>;
633    #[inline(always)]
634    fn deref(&self) -> &Self::Target {
635        &self.0
636    }
637}
638#[doc = "Field `PAD22STRNG` writer - Pad 22 drive strength"]
639pub struct PAD22STRNG_W<'a> {
640    w: &'a mut W,
641}
642impl<'a> PAD22STRNG_W<'a> {
643    #[doc = r"Writes `variant` to the field"]
644    #[inline(always)]
645    pub fn variant(self, variant: PAD22STRNG_A) -> &'a mut W {
646        self.bit(variant.into())
647    }
648    #[doc = "Low drive strength value."]
649    #[inline(always)]
650    pub fn low(self) -> &'a mut W {
651        self.variant(PAD22STRNG_A::LOW)
652    }
653    #[doc = "High drive strength value."]
654    #[inline(always)]
655    pub fn high(self) -> &'a mut W {
656        self.variant(PAD22STRNG_A::HIGH)
657    }
658    #[doc = r"Sets the field bit"]
659    #[inline(always)]
660    pub fn set_bit(self) -> &'a mut W {
661        self.bit(true)
662    }
663    #[doc = r"Clears the field bit"]
664    #[inline(always)]
665    pub fn clear_bit(self) -> &'a mut W {
666        self.bit(false)
667    }
668    #[doc = r"Writes raw bits to the field"]
669    #[inline(always)]
670    pub fn bit(self, value: bool) -> &'a mut W {
671        self.w.bits = (self.w.bits & !(0x01 << 18)) | ((value as u32 & 0x01) << 18);
672        self.w
673    }
674}
675#[doc = "Pad 22 input enable\n\nValue on reset: 0"]
676#[derive(Clone, Copy, Debug, PartialEq)]
677pub enum PAD22INPEN_A {
678    #[doc = "0: Pad input disabled value."]
679    DIS = 0,
680    #[doc = "1: Pad input enabled value."]
681    EN = 1,
682}
683impl From<PAD22INPEN_A> for bool {
684    #[inline(always)]
685    fn from(variant: PAD22INPEN_A) -> Self {
686        variant as u8 != 0
687    }
688}
689#[doc = "Field `PAD22INPEN` reader - Pad 22 input enable"]
690pub struct PAD22INPEN_R(crate::FieldReader<bool, PAD22INPEN_A>);
691impl PAD22INPEN_R {
692    pub(crate) fn new(bits: bool) -> Self {
693        PAD22INPEN_R(crate::FieldReader::new(bits))
694    }
695    #[doc = r"Get enumerated values variant"]
696    #[inline(always)]
697    pub fn variant(&self) -> PAD22INPEN_A {
698        match self.bits {
699            false => PAD22INPEN_A::DIS,
700            true => PAD22INPEN_A::EN,
701        }
702    }
703    #[doc = "Checks if the value of the field is `DIS`"]
704    #[inline(always)]
705    pub fn is_dis(&self) -> bool {
706        **self == PAD22INPEN_A::DIS
707    }
708    #[doc = "Checks if the value of the field is `EN`"]
709    #[inline(always)]
710    pub fn is_en(&self) -> bool {
711        **self == PAD22INPEN_A::EN
712    }
713}
714impl core::ops::Deref for PAD22INPEN_R {
715    type Target = crate::FieldReader<bool, PAD22INPEN_A>;
716    #[inline(always)]
717    fn deref(&self) -> &Self::Target {
718        &self.0
719    }
720}
721#[doc = "Field `PAD22INPEN` writer - Pad 22 input enable"]
722pub struct PAD22INPEN_W<'a> {
723    w: &'a mut W,
724}
725impl<'a> PAD22INPEN_W<'a> {
726    #[doc = r"Writes `variant` to the field"]
727    #[inline(always)]
728    pub fn variant(self, variant: PAD22INPEN_A) -> &'a mut W {
729        self.bit(variant.into())
730    }
731    #[doc = "Pad input disabled value."]
732    #[inline(always)]
733    pub fn dis(self) -> &'a mut W {
734        self.variant(PAD22INPEN_A::DIS)
735    }
736    #[doc = "Pad input enabled value."]
737    #[inline(always)]
738    pub fn en(self) -> &'a mut W {
739        self.variant(PAD22INPEN_A::EN)
740    }
741    #[doc = r"Sets the field bit"]
742    #[inline(always)]
743    pub fn set_bit(self) -> &'a mut W {
744        self.bit(true)
745    }
746    #[doc = r"Clears the field bit"]
747    #[inline(always)]
748    pub fn clear_bit(self) -> &'a mut W {
749        self.bit(false)
750    }
751    #[doc = r"Writes raw bits to the field"]
752    #[inline(always)]
753    pub fn bit(self, value: bool) -> &'a mut W {
754        self.w.bits = (self.w.bits & !(0x01 << 17)) | ((value as u32 & 0x01) << 17);
755        self.w
756    }
757}
758#[doc = "Pad 22 pullup enable\n\nValue on reset: 0"]
759#[derive(Clone, Copy, Debug, PartialEq)]
760pub enum PAD22PULL_A {
761    #[doc = "0: Pullup disabled value."]
762    DIS = 0,
763    #[doc = "1: Pullup enabled value."]
764    EN = 1,
765}
766impl From<PAD22PULL_A> for bool {
767    #[inline(always)]
768    fn from(variant: PAD22PULL_A) -> Self {
769        variant as u8 != 0
770    }
771}
772#[doc = "Field `PAD22PULL` reader - Pad 22 pullup enable"]
773pub struct PAD22PULL_R(crate::FieldReader<bool, PAD22PULL_A>);
774impl PAD22PULL_R {
775    pub(crate) fn new(bits: bool) -> Self {
776        PAD22PULL_R(crate::FieldReader::new(bits))
777    }
778    #[doc = r"Get enumerated values variant"]
779    #[inline(always)]
780    pub fn variant(&self) -> PAD22PULL_A {
781        match self.bits {
782            false => PAD22PULL_A::DIS,
783            true => PAD22PULL_A::EN,
784        }
785    }
786    #[doc = "Checks if the value of the field is `DIS`"]
787    #[inline(always)]
788    pub fn is_dis(&self) -> bool {
789        **self == PAD22PULL_A::DIS
790    }
791    #[doc = "Checks if the value of the field is `EN`"]
792    #[inline(always)]
793    pub fn is_en(&self) -> bool {
794        **self == PAD22PULL_A::EN
795    }
796}
797impl core::ops::Deref for PAD22PULL_R {
798    type Target = crate::FieldReader<bool, PAD22PULL_A>;
799    #[inline(always)]
800    fn deref(&self) -> &Self::Target {
801        &self.0
802    }
803}
804#[doc = "Field `PAD22PULL` writer - Pad 22 pullup enable"]
805pub struct PAD22PULL_W<'a> {
806    w: &'a mut W,
807}
808impl<'a> PAD22PULL_W<'a> {
809    #[doc = r"Writes `variant` to the field"]
810    #[inline(always)]
811    pub fn variant(self, variant: PAD22PULL_A) -> &'a mut W {
812        self.bit(variant.into())
813    }
814    #[doc = "Pullup disabled value."]
815    #[inline(always)]
816    pub fn dis(self) -> &'a mut W {
817        self.variant(PAD22PULL_A::DIS)
818    }
819    #[doc = "Pullup enabled value."]
820    #[inline(always)]
821    pub fn en(self) -> &'a mut W {
822        self.variant(PAD22PULL_A::EN)
823    }
824    #[doc = r"Sets the field bit"]
825    #[inline(always)]
826    pub fn set_bit(self) -> &'a mut W {
827        self.bit(true)
828    }
829    #[doc = r"Clears the field bit"]
830    #[inline(always)]
831    pub fn clear_bit(self) -> &'a mut W {
832        self.bit(false)
833    }
834    #[doc = r"Writes raw bits to the field"]
835    #[inline(always)]
836    pub fn bit(self, value: bool) -> &'a mut W {
837        self.w.bits = (self.w.bits & !(0x01 << 16)) | ((value as u32 & 0x01) << 16);
838        self.w
839    }
840}
841#[doc = "Pad 21 function select\n\nValue on reset: 0"]
842#[derive(Clone, Copy, Debug, PartialEq)]
843#[repr(u8)]
844pub enum PAD21FNCSEL_A {
845    #[doc = "0: Configure as the serial wire debug data signal value."]
846    SWDIO = 0,
847    #[doc = "1: IOM/MSPI nCE group 21 value."]
848    NCE21 = 1,
849    #[doc = "3: Configure as GPIO21 value."]
850    GPIO21 = 3,
851    #[doc = "4: Configure as UART0 RX input signal value."]
852    UART0RX = 4,
853    #[doc = "5: Configure as UART1 RX input signal value."]
854    UART1RX = 5,
855    #[doc = "6: I2S byte clock input value."]
856    I2SBCLK = 6,
857    #[doc = "7: Configure as UART1 CTS input signal value."]
858    UA1CTS = 7,
859}
860impl From<PAD21FNCSEL_A> for u8 {
861    #[inline(always)]
862    fn from(variant: PAD21FNCSEL_A) -> Self {
863        variant as _
864    }
865}
866#[doc = "Field `PAD21FNCSEL` reader - Pad 21 function select"]
867pub struct PAD21FNCSEL_R(crate::FieldReader<u8, PAD21FNCSEL_A>);
868impl PAD21FNCSEL_R {
869    pub(crate) fn new(bits: u8) -> Self {
870        PAD21FNCSEL_R(crate::FieldReader::new(bits))
871    }
872    #[doc = r"Get enumerated values variant"]
873    #[inline(always)]
874    pub fn variant(&self) -> Option<PAD21FNCSEL_A> {
875        match self.bits {
876            0 => Some(PAD21FNCSEL_A::SWDIO),
877            1 => Some(PAD21FNCSEL_A::NCE21),
878            3 => Some(PAD21FNCSEL_A::GPIO21),
879            4 => Some(PAD21FNCSEL_A::UART0RX),
880            5 => Some(PAD21FNCSEL_A::UART1RX),
881            6 => Some(PAD21FNCSEL_A::I2SBCLK),
882            7 => Some(PAD21FNCSEL_A::UA1CTS),
883            _ => None,
884        }
885    }
886    #[doc = "Checks if the value of the field is `SWDIO`"]
887    #[inline(always)]
888    pub fn is_swdio(&self) -> bool {
889        **self == PAD21FNCSEL_A::SWDIO
890    }
891    #[doc = "Checks if the value of the field is `NCE21`"]
892    #[inline(always)]
893    pub fn is_nce21(&self) -> bool {
894        **self == PAD21FNCSEL_A::NCE21
895    }
896    #[doc = "Checks if the value of the field is `GPIO21`"]
897    #[inline(always)]
898    pub fn is_gpio21(&self) -> bool {
899        **self == PAD21FNCSEL_A::GPIO21
900    }
901    #[doc = "Checks if the value of the field is `UART0RX`"]
902    #[inline(always)]
903    pub fn is_uart0rx(&self) -> bool {
904        **self == PAD21FNCSEL_A::UART0RX
905    }
906    #[doc = "Checks if the value of the field is `UART1RX`"]
907    #[inline(always)]
908    pub fn is_uart1rx(&self) -> bool {
909        **self == PAD21FNCSEL_A::UART1RX
910    }
911    #[doc = "Checks if the value of the field is `I2SBCLK`"]
912    #[inline(always)]
913    pub fn is_i2sbclk(&self) -> bool {
914        **self == PAD21FNCSEL_A::I2SBCLK
915    }
916    #[doc = "Checks if the value of the field is `UA1CTS`"]
917    #[inline(always)]
918    pub fn is_ua1cts(&self) -> bool {
919        **self == PAD21FNCSEL_A::UA1CTS
920    }
921}
922impl core::ops::Deref for PAD21FNCSEL_R {
923    type Target = crate::FieldReader<u8, PAD21FNCSEL_A>;
924    #[inline(always)]
925    fn deref(&self) -> &Self::Target {
926        &self.0
927    }
928}
929#[doc = "Field `PAD21FNCSEL` writer - Pad 21 function select"]
930pub struct PAD21FNCSEL_W<'a> {
931    w: &'a mut W,
932}
933impl<'a> PAD21FNCSEL_W<'a> {
934    #[doc = r"Writes `variant` to the field"]
935    #[inline(always)]
936    pub fn variant(self, variant: PAD21FNCSEL_A) -> &'a mut W {
937        unsafe { self.bits(variant.into()) }
938    }
939    #[doc = "Configure as the serial wire debug data signal value."]
940    #[inline(always)]
941    pub fn swdio(self) -> &'a mut W {
942        self.variant(PAD21FNCSEL_A::SWDIO)
943    }
944    #[doc = "IOM/MSPI nCE group 21 value."]
945    #[inline(always)]
946    pub fn nce21(self) -> &'a mut W {
947        self.variant(PAD21FNCSEL_A::NCE21)
948    }
949    #[doc = "Configure as GPIO21 value."]
950    #[inline(always)]
951    pub fn gpio21(self) -> &'a mut W {
952        self.variant(PAD21FNCSEL_A::GPIO21)
953    }
954    #[doc = "Configure as UART0 RX input signal value."]
955    #[inline(always)]
956    pub fn uart0rx(self) -> &'a mut W {
957        self.variant(PAD21FNCSEL_A::UART0RX)
958    }
959    #[doc = "Configure as UART1 RX input signal value."]
960    #[inline(always)]
961    pub fn uart1rx(self) -> &'a mut W {
962        self.variant(PAD21FNCSEL_A::UART1RX)
963    }
964    #[doc = "I2S byte clock input value."]
965    #[inline(always)]
966    pub fn i2sbclk(self) -> &'a mut W {
967        self.variant(PAD21FNCSEL_A::I2SBCLK)
968    }
969    #[doc = "Configure as UART1 CTS input signal value."]
970    #[inline(always)]
971    pub fn ua1cts(self) -> &'a mut W {
972        self.variant(PAD21FNCSEL_A::UA1CTS)
973    }
974    #[doc = r"Writes raw bits to the field"]
975    #[inline(always)]
976    pub unsafe fn bits(self, value: u8) -> &'a mut W {
977        self.w.bits = (self.w.bits & !(0x07 << 11)) | ((value as u32 & 0x07) << 11);
978        self.w
979    }
980}
981#[doc = "Pad 21 drive strength\n\nValue on reset: 0"]
982#[derive(Clone, Copy, Debug, PartialEq)]
983pub enum PAD21STRNG_A {
984    #[doc = "0: Low drive strength value."]
985    LOW = 0,
986    #[doc = "1: High drive strength value."]
987    HIGH = 1,
988}
989impl From<PAD21STRNG_A> for bool {
990    #[inline(always)]
991    fn from(variant: PAD21STRNG_A) -> Self {
992        variant as u8 != 0
993    }
994}
995#[doc = "Field `PAD21STRNG` reader - Pad 21 drive strength"]
996pub struct PAD21STRNG_R(crate::FieldReader<bool, PAD21STRNG_A>);
997impl PAD21STRNG_R {
998    pub(crate) fn new(bits: bool) -> Self {
999        PAD21STRNG_R(crate::FieldReader::new(bits))
1000    }
1001    #[doc = r"Get enumerated values variant"]
1002    #[inline(always)]
1003    pub fn variant(&self) -> PAD21STRNG_A {
1004        match self.bits {
1005            false => PAD21STRNG_A::LOW,
1006            true => PAD21STRNG_A::HIGH,
1007        }
1008    }
1009    #[doc = "Checks if the value of the field is `LOW`"]
1010    #[inline(always)]
1011    pub fn is_low(&self) -> bool {
1012        **self == PAD21STRNG_A::LOW
1013    }
1014    #[doc = "Checks if the value of the field is `HIGH`"]
1015    #[inline(always)]
1016    pub fn is_high(&self) -> bool {
1017        **self == PAD21STRNG_A::HIGH
1018    }
1019}
1020impl core::ops::Deref for PAD21STRNG_R {
1021    type Target = crate::FieldReader<bool, PAD21STRNG_A>;
1022    #[inline(always)]
1023    fn deref(&self) -> &Self::Target {
1024        &self.0
1025    }
1026}
1027#[doc = "Field `PAD21STRNG` writer - Pad 21 drive strength"]
1028pub struct PAD21STRNG_W<'a> {
1029    w: &'a mut W,
1030}
1031impl<'a> PAD21STRNG_W<'a> {
1032    #[doc = r"Writes `variant` to the field"]
1033    #[inline(always)]
1034    pub fn variant(self, variant: PAD21STRNG_A) -> &'a mut W {
1035        self.bit(variant.into())
1036    }
1037    #[doc = "Low drive strength value."]
1038    #[inline(always)]
1039    pub fn low(self) -> &'a mut W {
1040        self.variant(PAD21STRNG_A::LOW)
1041    }
1042    #[doc = "High drive strength value."]
1043    #[inline(always)]
1044    pub fn high(self) -> &'a mut W {
1045        self.variant(PAD21STRNG_A::HIGH)
1046    }
1047    #[doc = r"Sets the field bit"]
1048    #[inline(always)]
1049    pub fn set_bit(self) -> &'a mut W {
1050        self.bit(true)
1051    }
1052    #[doc = r"Clears the field bit"]
1053    #[inline(always)]
1054    pub fn clear_bit(self) -> &'a mut W {
1055        self.bit(false)
1056    }
1057    #[doc = r"Writes raw bits to the field"]
1058    #[inline(always)]
1059    pub fn bit(self, value: bool) -> &'a mut W {
1060        self.w.bits = (self.w.bits & !(0x01 << 10)) | ((value as u32 & 0x01) << 10);
1061        self.w
1062    }
1063}
1064#[doc = "Pad 21 input enable\n\nValue on reset: 1"]
1065#[derive(Clone, Copy, Debug, PartialEq)]
1066pub enum PAD21INPEN_A {
1067    #[doc = "0: Pad input disabled value."]
1068    DIS = 0,
1069    #[doc = "1: Pad input enabled value."]
1070    EN = 1,
1071}
1072impl From<PAD21INPEN_A> for bool {
1073    #[inline(always)]
1074    fn from(variant: PAD21INPEN_A) -> Self {
1075        variant as u8 != 0
1076    }
1077}
1078#[doc = "Field `PAD21INPEN` reader - Pad 21 input enable"]
1079pub struct PAD21INPEN_R(crate::FieldReader<bool, PAD21INPEN_A>);
1080impl PAD21INPEN_R {
1081    pub(crate) fn new(bits: bool) -> Self {
1082        PAD21INPEN_R(crate::FieldReader::new(bits))
1083    }
1084    #[doc = r"Get enumerated values variant"]
1085    #[inline(always)]
1086    pub fn variant(&self) -> PAD21INPEN_A {
1087        match self.bits {
1088            false => PAD21INPEN_A::DIS,
1089            true => PAD21INPEN_A::EN,
1090        }
1091    }
1092    #[doc = "Checks if the value of the field is `DIS`"]
1093    #[inline(always)]
1094    pub fn is_dis(&self) -> bool {
1095        **self == PAD21INPEN_A::DIS
1096    }
1097    #[doc = "Checks if the value of the field is `EN`"]
1098    #[inline(always)]
1099    pub fn is_en(&self) -> bool {
1100        **self == PAD21INPEN_A::EN
1101    }
1102}
1103impl core::ops::Deref for PAD21INPEN_R {
1104    type Target = crate::FieldReader<bool, PAD21INPEN_A>;
1105    #[inline(always)]
1106    fn deref(&self) -> &Self::Target {
1107        &self.0
1108    }
1109}
1110#[doc = "Field `PAD21INPEN` writer - Pad 21 input enable"]
1111pub struct PAD21INPEN_W<'a> {
1112    w: &'a mut W,
1113}
1114impl<'a> PAD21INPEN_W<'a> {
1115    #[doc = r"Writes `variant` to the field"]
1116    #[inline(always)]
1117    pub fn variant(self, variant: PAD21INPEN_A) -> &'a mut W {
1118        self.bit(variant.into())
1119    }
1120    #[doc = "Pad input disabled value."]
1121    #[inline(always)]
1122    pub fn dis(self) -> &'a mut W {
1123        self.variant(PAD21INPEN_A::DIS)
1124    }
1125    #[doc = "Pad input enabled value."]
1126    #[inline(always)]
1127    pub fn en(self) -> &'a mut W {
1128        self.variant(PAD21INPEN_A::EN)
1129    }
1130    #[doc = r"Sets the field bit"]
1131    #[inline(always)]
1132    pub fn set_bit(self) -> &'a mut W {
1133        self.bit(true)
1134    }
1135    #[doc = r"Clears the field bit"]
1136    #[inline(always)]
1137    pub fn clear_bit(self) -> &'a mut W {
1138        self.bit(false)
1139    }
1140    #[doc = r"Writes raw bits to the field"]
1141    #[inline(always)]
1142    pub fn bit(self, value: bool) -> &'a mut W {
1143        self.w.bits = (self.w.bits & !(0x01 << 9)) | ((value as u32 & 0x01) << 9);
1144        self.w
1145    }
1146}
1147#[doc = "Pad 21 pullup enable\n\nValue on reset: 0"]
1148#[derive(Clone, Copy, Debug, PartialEq)]
1149pub enum PAD21PULL_A {
1150    #[doc = "0: Pullup disabled value."]
1151    DIS = 0,
1152    #[doc = "1: Pullup enabled value."]
1153    EN = 1,
1154}
1155impl From<PAD21PULL_A> for bool {
1156    #[inline(always)]
1157    fn from(variant: PAD21PULL_A) -> Self {
1158        variant as u8 != 0
1159    }
1160}
1161#[doc = "Field `PAD21PULL` reader - Pad 21 pullup enable"]
1162pub struct PAD21PULL_R(crate::FieldReader<bool, PAD21PULL_A>);
1163impl PAD21PULL_R {
1164    pub(crate) fn new(bits: bool) -> Self {
1165        PAD21PULL_R(crate::FieldReader::new(bits))
1166    }
1167    #[doc = r"Get enumerated values variant"]
1168    #[inline(always)]
1169    pub fn variant(&self) -> PAD21PULL_A {
1170        match self.bits {
1171            false => PAD21PULL_A::DIS,
1172            true => PAD21PULL_A::EN,
1173        }
1174    }
1175    #[doc = "Checks if the value of the field is `DIS`"]
1176    #[inline(always)]
1177    pub fn is_dis(&self) -> bool {
1178        **self == PAD21PULL_A::DIS
1179    }
1180    #[doc = "Checks if the value of the field is `EN`"]
1181    #[inline(always)]
1182    pub fn is_en(&self) -> bool {
1183        **self == PAD21PULL_A::EN
1184    }
1185}
1186impl core::ops::Deref for PAD21PULL_R {
1187    type Target = crate::FieldReader<bool, PAD21PULL_A>;
1188    #[inline(always)]
1189    fn deref(&self) -> &Self::Target {
1190        &self.0
1191    }
1192}
1193#[doc = "Field `PAD21PULL` writer - Pad 21 pullup enable"]
1194pub struct PAD21PULL_W<'a> {
1195    w: &'a mut W,
1196}
1197impl<'a> PAD21PULL_W<'a> {
1198    #[doc = r"Writes `variant` to the field"]
1199    #[inline(always)]
1200    pub fn variant(self, variant: PAD21PULL_A) -> &'a mut W {
1201        self.bit(variant.into())
1202    }
1203    #[doc = "Pullup disabled value."]
1204    #[inline(always)]
1205    pub fn dis(self) -> &'a mut W {
1206        self.variant(PAD21PULL_A::DIS)
1207    }
1208    #[doc = "Pullup enabled value."]
1209    #[inline(always)]
1210    pub fn en(self) -> &'a mut W {
1211        self.variant(PAD21PULL_A::EN)
1212    }
1213    #[doc = r"Sets the field bit"]
1214    #[inline(always)]
1215    pub fn set_bit(self) -> &'a mut W {
1216        self.bit(true)
1217    }
1218    #[doc = r"Clears the field bit"]
1219    #[inline(always)]
1220    pub fn clear_bit(self) -> &'a mut W {
1221        self.bit(false)
1222    }
1223    #[doc = r"Writes raw bits to the field"]
1224    #[inline(always)]
1225    pub fn bit(self, value: bool) -> &'a mut W {
1226        self.w.bits = (self.w.bits & !(0x01 << 8)) | ((value as u32 & 0x01) << 8);
1227        self.w
1228    }
1229}
1230#[doc = "Pad 20 function select\n\nValue on reset: 0"]
1231#[derive(Clone, Copy, Debug, PartialEq)]
1232#[repr(u8)]
1233pub enum PAD20FNCSEL_A {
1234    #[doc = "0: Configure as the serial wire debug clock signal value."]
1235    SWDCK = 0,
1236    #[doc = "1: IOM/MSPI nCE group 20 value."]
1237    NCE20 = 1,
1238    #[doc = "3: Configure as GPIO20 value."]
1239    GPIO20 = 3,
1240    #[doc = "4: Configure as UART0 TX output signal value."]
1241    UART0TX = 4,
1242    #[doc = "5: Configure as UART1 TX output signal value."]
1243    UART1TX = 5,
1244    #[doc = "6: I2S byte clock input value."]
1245    I2SBCLK = 6,
1246    #[doc = "7: Configure as UART1 RTS output signal value."]
1247    UA1RTS = 7,
1248}
1249impl From<PAD20FNCSEL_A> for u8 {
1250    #[inline(always)]
1251    fn from(variant: PAD20FNCSEL_A) -> Self {
1252        variant as _
1253    }
1254}
1255#[doc = "Field `PAD20FNCSEL` reader - Pad 20 function select"]
1256pub struct PAD20FNCSEL_R(crate::FieldReader<u8, PAD20FNCSEL_A>);
1257impl PAD20FNCSEL_R {
1258    pub(crate) fn new(bits: u8) -> Self {
1259        PAD20FNCSEL_R(crate::FieldReader::new(bits))
1260    }
1261    #[doc = r"Get enumerated values variant"]
1262    #[inline(always)]
1263    pub fn variant(&self) -> Option<PAD20FNCSEL_A> {
1264        match self.bits {
1265            0 => Some(PAD20FNCSEL_A::SWDCK),
1266            1 => Some(PAD20FNCSEL_A::NCE20),
1267            3 => Some(PAD20FNCSEL_A::GPIO20),
1268            4 => Some(PAD20FNCSEL_A::UART0TX),
1269            5 => Some(PAD20FNCSEL_A::UART1TX),
1270            6 => Some(PAD20FNCSEL_A::I2SBCLK),
1271            7 => Some(PAD20FNCSEL_A::UA1RTS),
1272            _ => None,
1273        }
1274    }
1275    #[doc = "Checks if the value of the field is `SWDCK`"]
1276    #[inline(always)]
1277    pub fn is_swdck(&self) -> bool {
1278        **self == PAD20FNCSEL_A::SWDCK
1279    }
1280    #[doc = "Checks if the value of the field is `NCE20`"]
1281    #[inline(always)]
1282    pub fn is_nce20(&self) -> bool {
1283        **self == PAD20FNCSEL_A::NCE20
1284    }
1285    #[doc = "Checks if the value of the field is `GPIO20`"]
1286    #[inline(always)]
1287    pub fn is_gpio20(&self) -> bool {
1288        **self == PAD20FNCSEL_A::GPIO20
1289    }
1290    #[doc = "Checks if the value of the field is `UART0TX`"]
1291    #[inline(always)]
1292    pub fn is_uart0tx(&self) -> bool {
1293        **self == PAD20FNCSEL_A::UART0TX
1294    }
1295    #[doc = "Checks if the value of the field is `UART1TX`"]
1296    #[inline(always)]
1297    pub fn is_uart1tx(&self) -> bool {
1298        **self == PAD20FNCSEL_A::UART1TX
1299    }
1300    #[doc = "Checks if the value of the field is `I2SBCLK`"]
1301    #[inline(always)]
1302    pub fn is_i2sbclk(&self) -> bool {
1303        **self == PAD20FNCSEL_A::I2SBCLK
1304    }
1305    #[doc = "Checks if the value of the field is `UA1RTS`"]
1306    #[inline(always)]
1307    pub fn is_ua1rts(&self) -> bool {
1308        **self == PAD20FNCSEL_A::UA1RTS
1309    }
1310}
1311impl core::ops::Deref for PAD20FNCSEL_R {
1312    type Target = crate::FieldReader<u8, PAD20FNCSEL_A>;
1313    #[inline(always)]
1314    fn deref(&self) -> &Self::Target {
1315        &self.0
1316    }
1317}
1318#[doc = "Field `PAD20FNCSEL` writer - Pad 20 function select"]
1319pub struct PAD20FNCSEL_W<'a> {
1320    w: &'a mut W,
1321}
1322impl<'a> PAD20FNCSEL_W<'a> {
1323    #[doc = r"Writes `variant` to the field"]
1324    #[inline(always)]
1325    pub fn variant(self, variant: PAD20FNCSEL_A) -> &'a mut W {
1326        unsafe { self.bits(variant.into()) }
1327    }
1328    #[doc = "Configure as the serial wire debug clock signal value."]
1329    #[inline(always)]
1330    pub fn swdck(self) -> &'a mut W {
1331        self.variant(PAD20FNCSEL_A::SWDCK)
1332    }
1333    #[doc = "IOM/MSPI nCE group 20 value."]
1334    #[inline(always)]
1335    pub fn nce20(self) -> &'a mut W {
1336        self.variant(PAD20FNCSEL_A::NCE20)
1337    }
1338    #[doc = "Configure as GPIO20 value."]
1339    #[inline(always)]
1340    pub fn gpio20(self) -> &'a mut W {
1341        self.variant(PAD20FNCSEL_A::GPIO20)
1342    }
1343    #[doc = "Configure as UART0 TX output signal value."]
1344    #[inline(always)]
1345    pub fn uart0tx(self) -> &'a mut W {
1346        self.variant(PAD20FNCSEL_A::UART0TX)
1347    }
1348    #[doc = "Configure as UART1 TX output signal value."]
1349    #[inline(always)]
1350    pub fn uart1tx(self) -> &'a mut W {
1351        self.variant(PAD20FNCSEL_A::UART1TX)
1352    }
1353    #[doc = "I2S byte clock input value."]
1354    #[inline(always)]
1355    pub fn i2sbclk(self) -> &'a mut W {
1356        self.variant(PAD20FNCSEL_A::I2SBCLK)
1357    }
1358    #[doc = "Configure as UART1 RTS output signal value."]
1359    #[inline(always)]
1360    pub fn ua1rts(self) -> &'a mut W {
1361        self.variant(PAD20FNCSEL_A::UA1RTS)
1362    }
1363    #[doc = r"Writes raw bits to the field"]
1364    #[inline(always)]
1365    pub unsafe fn bits(self, value: u8) -> &'a mut W {
1366        self.w.bits = (self.w.bits & !(0x07 << 3)) | ((value as u32 & 0x07) << 3);
1367        self.w
1368    }
1369}
1370#[doc = "Pad 20 drive strength\n\nValue on reset: 0"]
1371#[derive(Clone, Copy, Debug, PartialEq)]
1372pub enum PAD20STRNG_A {
1373    #[doc = "0: Low drive strength value."]
1374    LOW = 0,
1375    #[doc = "1: High drive strength value."]
1376    HIGH = 1,
1377}
1378impl From<PAD20STRNG_A> for bool {
1379    #[inline(always)]
1380    fn from(variant: PAD20STRNG_A) -> Self {
1381        variant as u8 != 0
1382    }
1383}
1384#[doc = "Field `PAD20STRNG` reader - Pad 20 drive strength"]
1385pub struct PAD20STRNG_R(crate::FieldReader<bool, PAD20STRNG_A>);
1386impl PAD20STRNG_R {
1387    pub(crate) fn new(bits: bool) -> Self {
1388        PAD20STRNG_R(crate::FieldReader::new(bits))
1389    }
1390    #[doc = r"Get enumerated values variant"]
1391    #[inline(always)]
1392    pub fn variant(&self) -> PAD20STRNG_A {
1393        match self.bits {
1394            false => PAD20STRNG_A::LOW,
1395            true => PAD20STRNG_A::HIGH,
1396        }
1397    }
1398    #[doc = "Checks if the value of the field is `LOW`"]
1399    #[inline(always)]
1400    pub fn is_low(&self) -> bool {
1401        **self == PAD20STRNG_A::LOW
1402    }
1403    #[doc = "Checks if the value of the field is `HIGH`"]
1404    #[inline(always)]
1405    pub fn is_high(&self) -> bool {
1406        **self == PAD20STRNG_A::HIGH
1407    }
1408}
1409impl core::ops::Deref for PAD20STRNG_R {
1410    type Target = crate::FieldReader<bool, PAD20STRNG_A>;
1411    #[inline(always)]
1412    fn deref(&self) -> &Self::Target {
1413        &self.0
1414    }
1415}
1416#[doc = "Field `PAD20STRNG` writer - Pad 20 drive strength"]
1417pub struct PAD20STRNG_W<'a> {
1418    w: &'a mut W,
1419}
1420impl<'a> PAD20STRNG_W<'a> {
1421    #[doc = r"Writes `variant` to the field"]
1422    #[inline(always)]
1423    pub fn variant(self, variant: PAD20STRNG_A) -> &'a mut W {
1424        self.bit(variant.into())
1425    }
1426    #[doc = "Low drive strength value."]
1427    #[inline(always)]
1428    pub fn low(self) -> &'a mut W {
1429        self.variant(PAD20STRNG_A::LOW)
1430    }
1431    #[doc = "High drive strength value."]
1432    #[inline(always)]
1433    pub fn high(self) -> &'a mut W {
1434        self.variant(PAD20STRNG_A::HIGH)
1435    }
1436    #[doc = r"Sets the field bit"]
1437    #[inline(always)]
1438    pub fn set_bit(self) -> &'a mut W {
1439        self.bit(true)
1440    }
1441    #[doc = r"Clears the field bit"]
1442    #[inline(always)]
1443    pub fn clear_bit(self) -> &'a mut W {
1444        self.bit(false)
1445    }
1446    #[doc = r"Writes raw bits to the field"]
1447    #[inline(always)]
1448    pub fn bit(self, value: bool) -> &'a mut W {
1449        self.w.bits = (self.w.bits & !(0x01 << 2)) | ((value as u32 & 0x01) << 2);
1450        self.w
1451    }
1452}
1453#[doc = "Pad 20 input enable\n\nValue on reset: 1"]
1454#[derive(Clone, Copy, Debug, PartialEq)]
1455pub enum PAD20INPEN_A {
1456    #[doc = "0: Pad input disabled value."]
1457    DIS = 0,
1458    #[doc = "1: Pad input enabled value."]
1459    EN = 1,
1460}
1461impl From<PAD20INPEN_A> for bool {
1462    #[inline(always)]
1463    fn from(variant: PAD20INPEN_A) -> Self {
1464        variant as u8 != 0
1465    }
1466}
1467#[doc = "Field `PAD20INPEN` reader - Pad 20 input enable"]
1468pub struct PAD20INPEN_R(crate::FieldReader<bool, PAD20INPEN_A>);
1469impl PAD20INPEN_R {
1470    pub(crate) fn new(bits: bool) -> Self {
1471        PAD20INPEN_R(crate::FieldReader::new(bits))
1472    }
1473    #[doc = r"Get enumerated values variant"]
1474    #[inline(always)]
1475    pub fn variant(&self) -> PAD20INPEN_A {
1476        match self.bits {
1477            false => PAD20INPEN_A::DIS,
1478            true => PAD20INPEN_A::EN,
1479        }
1480    }
1481    #[doc = "Checks if the value of the field is `DIS`"]
1482    #[inline(always)]
1483    pub fn is_dis(&self) -> bool {
1484        **self == PAD20INPEN_A::DIS
1485    }
1486    #[doc = "Checks if the value of the field is `EN`"]
1487    #[inline(always)]
1488    pub fn is_en(&self) -> bool {
1489        **self == PAD20INPEN_A::EN
1490    }
1491}
1492impl core::ops::Deref for PAD20INPEN_R {
1493    type Target = crate::FieldReader<bool, PAD20INPEN_A>;
1494    #[inline(always)]
1495    fn deref(&self) -> &Self::Target {
1496        &self.0
1497    }
1498}
1499#[doc = "Field `PAD20INPEN` writer - Pad 20 input enable"]
1500pub struct PAD20INPEN_W<'a> {
1501    w: &'a mut W,
1502}
1503impl<'a> PAD20INPEN_W<'a> {
1504    #[doc = r"Writes `variant` to the field"]
1505    #[inline(always)]
1506    pub fn variant(self, variant: PAD20INPEN_A) -> &'a mut W {
1507        self.bit(variant.into())
1508    }
1509    #[doc = "Pad input disabled value."]
1510    #[inline(always)]
1511    pub fn dis(self) -> &'a mut W {
1512        self.variant(PAD20INPEN_A::DIS)
1513    }
1514    #[doc = "Pad input enabled value."]
1515    #[inline(always)]
1516    pub fn en(self) -> &'a mut W {
1517        self.variant(PAD20INPEN_A::EN)
1518    }
1519    #[doc = r"Sets the field bit"]
1520    #[inline(always)]
1521    pub fn set_bit(self) -> &'a mut W {
1522        self.bit(true)
1523    }
1524    #[doc = r"Clears the field bit"]
1525    #[inline(always)]
1526    pub fn clear_bit(self) -> &'a mut W {
1527        self.bit(false)
1528    }
1529    #[doc = r"Writes raw bits to the field"]
1530    #[inline(always)]
1531    pub fn bit(self, value: bool) -> &'a mut W {
1532        self.w.bits = (self.w.bits & !(0x01 << 1)) | ((value as u32 & 0x01) << 1);
1533        self.w
1534    }
1535}
1536#[doc = "Pad 20 pulldown enable\n\nValue on reset: 0"]
1537#[derive(Clone, Copy, Debug, PartialEq)]
1538pub enum PAD20PULL_A {
1539    #[doc = "0: Pulldown disabled value."]
1540    DIS = 0,
1541    #[doc = "1: Pulldown enabled value."]
1542    EN = 1,
1543}
1544impl From<PAD20PULL_A> for bool {
1545    #[inline(always)]
1546    fn from(variant: PAD20PULL_A) -> Self {
1547        variant as u8 != 0
1548    }
1549}
1550#[doc = "Field `PAD20PULL` reader - Pad 20 pulldown enable"]
1551pub struct PAD20PULL_R(crate::FieldReader<bool, PAD20PULL_A>);
1552impl PAD20PULL_R {
1553    pub(crate) fn new(bits: bool) -> Self {
1554        PAD20PULL_R(crate::FieldReader::new(bits))
1555    }
1556    #[doc = r"Get enumerated values variant"]
1557    #[inline(always)]
1558    pub fn variant(&self) -> PAD20PULL_A {
1559        match self.bits {
1560            false => PAD20PULL_A::DIS,
1561            true => PAD20PULL_A::EN,
1562        }
1563    }
1564    #[doc = "Checks if the value of the field is `DIS`"]
1565    #[inline(always)]
1566    pub fn is_dis(&self) -> bool {
1567        **self == PAD20PULL_A::DIS
1568    }
1569    #[doc = "Checks if the value of the field is `EN`"]
1570    #[inline(always)]
1571    pub fn is_en(&self) -> bool {
1572        **self == PAD20PULL_A::EN
1573    }
1574}
1575impl core::ops::Deref for PAD20PULL_R {
1576    type Target = crate::FieldReader<bool, PAD20PULL_A>;
1577    #[inline(always)]
1578    fn deref(&self) -> &Self::Target {
1579        &self.0
1580    }
1581}
1582#[doc = "Field `PAD20PULL` writer - Pad 20 pulldown enable"]
1583pub struct PAD20PULL_W<'a> {
1584    w: &'a mut W,
1585}
1586impl<'a> PAD20PULL_W<'a> {
1587    #[doc = r"Writes `variant` to the field"]
1588    #[inline(always)]
1589    pub fn variant(self, variant: PAD20PULL_A) -> &'a mut W {
1590        self.bit(variant.into())
1591    }
1592    #[doc = "Pulldown disabled value."]
1593    #[inline(always)]
1594    pub fn dis(self) -> &'a mut W {
1595        self.variant(PAD20PULL_A::DIS)
1596    }
1597    #[doc = "Pulldown enabled value."]
1598    #[inline(always)]
1599    pub fn en(self) -> &'a mut W {
1600        self.variant(PAD20PULL_A::EN)
1601    }
1602    #[doc = r"Sets the field bit"]
1603    #[inline(always)]
1604    pub fn set_bit(self) -> &'a mut W {
1605        self.bit(true)
1606    }
1607    #[doc = r"Clears the field bit"]
1608    #[inline(always)]
1609    pub fn clear_bit(self) -> &'a mut W {
1610        self.bit(false)
1611    }
1612    #[doc = r"Writes raw bits to the field"]
1613    #[inline(always)]
1614    pub fn bit(self, value: bool) -> &'a mut W {
1615        self.w.bits = (self.w.bits & !0x01) | (value as u32 & 0x01);
1616        self.w
1617    }
1618}
1619impl R {
1620    #[doc = "Bits 27:29 - Pad 23 function select"]
1621    #[inline(always)]
1622    pub fn pad23fncsel(&self) -> PAD23FNCSEL_R {
1623        PAD23FNCSEL_R::new(((self.bits >> 27) & 0x07) as u8)
1624    }
1625    #[doc = "Bit 26 - Pad 23 drive strength"]
1626    #[inline(always)]
1627    pub fn pad23strng(&self) -> PAD23STRNG_R {
1628        PAD23STRNG_R::new(((self.bits >> 26) & 0x01) != 0)
1629    }
1630    #[doc = "Bit 25 - Pad 23 input enable"]
1631    #[inline(always)]
1632    pub fn pad23inpen(&self) -> PAD23INPEN_R {
1633        PAD23INPEN_R::new(((self.bits >> 25) & 0x01) != 0)
1634    }
1635    #[doc = "Bit 24 - Pad 23 pullup enable"]
1636    #[inline(always)]
1637    pub fn pad23pull(&self) -> PAD23PULL_R {
1638        PAD23PULL_R::new(((self.bits >> 24) & 0x01) != 0)
1639    }
1640    #[doc = "Bits 19:21 - Pad 22 function select"]
1641    #[inline(always)]
1642    pub fn pad22fncsel(&self) -> PAD22FNCSEL_R {
1643        PAD22FNCSEL_R::new(((self.bits >> 19) & 0x07) as u8)
1644    }
1645    #[doc = "Bit 18 - Pad 22 drive strength"]
1646    #[inline(always)]
1647    pub fn pad22strng(&self) -> PAD22STRNG_R {
1648        PAD22STRNG_R::new(((self.bits >> 18) & 0x01) != 0)
1649    }
1650    #[doc = "Bit 17 - Pad 22 input enable"]
1651    #[inline(always)]
1652    pub fn pad22inpen(&self) -> PAD22INPEN_R {
1653        PAD22INPEN_R::new(((self.bits >> 17) & 0x01) != 0)
1654    }
1655    #[doc = "Bit 16 - Pad 22 pullup enable"]
1656    #[inline(always)]
1657    pub fn pad22pull(&self) -> PAD22PULL_R {
1658        PAD22PULL_R::new(((self.bits >> 16) & 0x01) != 0)
1659    }
1660    #[doc = "Bits 11:13 - Pad 21 function select"]
1661    #[inline(always)]
1662    pub fn pad21fncsel(&self) -> PAD21FNCSEL_R {
1663        PAD21FNCSEL_R::new(((self.bits >> 11) & 0x07) as u8)
1664    }
1665    #[doc = "Bit 10 - Pad 21 drive strength"]
1666    #[inline(always)]
1667    pub fn pad21strng(&self) -> PAD21STRNG_R {
1668        PAD21STRNG_R::new(((self.bits >> 10) & 0x01) != 0)
1669    }
1670    #[doc = "Bit 9 - Pad 21 input enable"]
1671    #[inline(always)]
1672    pub fn pad21inpen(&self) -> PAD21INPEN_R {
1673        PAD21INPEN_R::new(((self.bits >> 9) & 0x01) != 0)
1674    }
1675    #[doc = "Bit 8 - Pad 21 pullup enable"]
1676    #[inline(always)]
1677    pub fn pad21pull(&self) -> PAD21PULL_R {
1678        PAD21PULL_R::new(((self.bits >> 8) & 0x01) != 0)
1679    }
1680    #[doc = "Bits 3:5 - Pad 20 function select"]
1681    #[inline(always)]
1682    pub fn pad20fncsel(&self) -> PAD20FNCSEL_R {
1683        PAD20FNCSEL_R::new(((self.bits >> 3) & 0x07) as u8)
1684    }
1685    #[doc = "Bit 2 - Pad 20 drive strength"]
1686    #[inline(always)]
1687    pub fn pad20strng(&self) -> PAD20STRNG_R {
1688        PAD20STRNG_R::new(((self.bits >> 2) & 0x01) != 0)
1689    }
1690    #[doc = "Bit 1 - Pad 20 input enable"]
1691    #[inline(always)]
1692    pub fn pad20inpen(&self) -> PAD20INPEN_R {
1693        PAD20INPEN_R::new(((self.bits >> 1) & 0x01) != 0)
1694    }
1695    #[doc = "Bit 0 - Pad 20 pulldown enable"]
1696    #[inline(always)]
1697    pub fn pad20pull(&self) -> PAD20PULL_R {
1698        PAD20PULL_R::new((self.bits & 0x01) != 0)
1699    }
1700}
1701impl W {
1702    #[doc = "Bits 27:29 - Pad 23 function select"]
1703    #[inline(always)]
1704    pub fn pad23fncsel(&mut self) -> PAD23FNCSEL_W {
1705        PAD23FNCSEL_W { w: self }
1706    }
1707    #[doc = "Bit 26 - Pad 23 drive strength"]
1708    #[inline(always)]
1709    pub fn pad23strng(&mut self) -> PAD23STRNG_W {
1710        PAD23STRNG_W { w: self }
1711    }
1712    #[doc = "Bit 25 - Pad 23 input enable"]
1713    #[inline(always)]
1714    pub fn pad23inpen(&mut self) -> PAD23INPEN_W {
1715        PAD23INPEN_W { w: self }
1716    }
1717    #[doc = "Bit 24 - Pad 23 pullup enable"]
1718    #[inline(always)]
1719    pub fn pad23pull(&mut self) -> PAD23PULL_W {
1720        PAD23PULL_W { w: self }
1721    }
1722    #[doc = "Bits 19:21 - Pad 22 function select"]
1723    #[inline(always)]
1724    pub fn pad22fncsel(&mut self) -> PAD22FNCSEL_W {
1725        PAD22FNCSEL_W { w: self }
1726    }
1727    #[doc = "Bit 18 - Pad 22 drive strength"]
1728    #[inline(always)]
1729    pub fn pad22strng(&mut self) -> PAD22STRNG_W {
1730        PAD22STRNG_W { w: self }
1731    }
1732    #[doc = "Bit 17 - Pad 22 input enable"]
1733    #[inline(always)]
1734    pub fn pad22inpen(&mut self) -> PAD22INPEN_W {
1735        PAD22INPEN_W { w: self }
1736    }
1737    #[doc = "Bit 16 - Pad 22 pullup enable"]
1738    #[inline(always)]
1739    pub fn pad22pull(&mut self) -> PAD22PULL_W {
1740        PAD22PULL_W { w: self }
1741    }
1742    #[doc = "Bits 11:13 - Pad 21 function select"]
1743    #[inline(always)]
1744    pub fn pad21fncsel(&mut self) -> PAD21FNCSEL_W {
1745        PAD21FNCSEL_W { w: self }
1746    }
1747    #[doc = "Bit 10 - Pad 21 drive strength"]
1748    #[inline(always)]
1749    pub fn pad21strng(&mut self) -> PAD21STRNG_W {
1750        PAD21STRNG_W { w: self }
1751    }
1752    #[doc = "Bit 9 - Pad 21 input enable"]
1753    #[inline(always)]
1754    pub fn pad21inpen(&mut self) -> PAD21INPEN_W {
1755        PAD21INPEN_W { w: self }
1756    }
1757    #[doc = "Bit 8 - Pad 21 pullup enable"]
1758    #[inline(always)]
1759    pub fn pad21pull(&mut self) -> PAD21PULL_W {
1760        PAD21PULL_W { w: self }
1761    }
1762    #[doc = "Bits 3:5 - Pad 20 function select"]
1763    #[inline(always)]
1764    pub fn pad20fncsel(&mut self) -> PAD20FNCSEL_W {
1765        PAD20FNCSEL_W { w: self }
1766    }
1767    #[doc = "Bit 2 - Pad 20 drive strength"]
1768    #[inline(always)]
1769    pub fn pad20strng(&mut self) -> PAD20STRNG_W {
1770        PAD20STRNG_W { w: self }
1771    }
1772    #[doc = "Bit 1 - Pad 20 input enable"]
1773    #[inline(always)]
1774    pub fn pad20inpen(&mut self) -> PAD20INPEN_W {
1775        PAD20INPEN_W { w: self }
1776    }
1777    #[doc = "Bit 0 - Pad 20 pulldown enable"]
1778    #[inline(always)]
1779    pub fn pad20pull(&mut self) -> PAD20PULL_W {
1780        PAD20PULL_W { w: self }
1781    }
1782    #[doc = "Writes raw bits to the register."]
1783    #[inline(always)]
1784    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
1785        self.0.bits(bits);
1786        self
1787    }
1788}
1789#[doc = "Pad Configuration Register F (Pads 20-23)\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 [padregf](index.html) module"]
1790pub struct PADREGF_SPEC;
1791impl crate::RegisterSpec for PADREGF_SPEC {
1792    type Ux = u32;
1793}
1794#[doc = "`read()` method returns [padregf::R](R) reader structure"]
1795impl crate::Readable for PADREGF_SPEC {
1796    type Reader = R;
1797}
1798#[doc = "`write(|w| ..)` method takes [padregf::W](W) writer structure"]
1799impl crate::Writable for PADREGF_SPEC {
1800    type Writer = W;
1801}
1802#[doc = "`reset()` method sets PADREGF to value 0x1818_0202"]
1803impl crate::Resettable for PADREGF_SPEC {
1804    #[inline(always)]
1805    fn reset_value() -> Self::Ux {
1806        0x1818_0202
1807    }
1808}