Skip to main content

mcxa_pac/tdet0/
pgfr.rs

1#[doc = "Register `PGFR[%s]` reader"]
2pub type R = crate::R<PgfrSpec>;
3#[doc = "Register `PGFR[%s]` writer"]
4pub type W = crate::W<PgfrSpec>;
5#[doc = "Field `GFW` reader - Glitch Filter Width"]
6pub type GfwR = crate::FieldReader;
7#[doc = "Field `GFW` writer - Glitch Filter Width"]
8pub type GfwW<'a, REG> = crate::FieldWriter<'a, REG, 6>;
9#[doc = "Glitch Filter Prescaler\n\nValue on reset: 0"]
10#[cfg_attr(feature = "defmt", derive(defmt::Format))]
11#[derive(Clone, Copy, Debug, PartialEq, Eq)]
12pub enum Gfp {
13    #[doc = "0: 512 Hz prescaler clock"]
14    Freq512Hz = 0,
15    #[doc = "1: 32.768 kHz clock"]
16    Freq32Khz = 1,
17}
18impl From<Gfp> for bool {
19    #[inline(always)]
20    fn from(variant: Gfp) -> Self {
21        variant as u8 != 0
22    }
23}
24#[doc = "Field `GFP` reader - Glitch Filter Prescaler"]
25pub type GfpR = crate::BitReader<Gfp>;
26impl GfpR {
27    #[doc = "Get enumerated values variant"]
28    #[inline(always)]
29    pub const fn variant(&self) -> Gfp {
30        match self.bits {
31            false => Gfp::Freq512Hz,
32            true => Gfp::Freq32Khz,
33        }
34    }
35    #[doc = "512 Hz prescaler clock"]
36    #[inline(always)]
37    pub fn is_freq_512_hz(&self) -> bool {
38        *self == Gfp::Freq512Hz
39    }
40    #[doc = "32.768 kHz clock"]
41    #[inline(always)]
42    pub fn is_freq_32_khz(&self) -> bool {
43        *self == Gfp::Freq32Khz
44    }
45}
46#[doc = "Field `GFP` writer - Glitch Filter Prescaler"]
47pub type GfpW<'a, REG> = crate::BitWriter<'a, REG, Gfp>;
48impl<'a, REG> GfpW<'a, REG>
49where
50    REG: crate::Writable + crate::RegisterSpec,
51{
52    #[doc = "512 Hz prescaler clock"]
53    #[inline(always)]
54    pub fn freq_512_hz(self) -> &'a mut crate::W<REG> {
55        self.variant(Gfp::Freq512Hz)
56    }
57    #[doc = "32.768 kHz clock"]
58    #[inline(always)]
59    pub fn freq_32_khz(self) -> &'a mut crate::W<REG> {
60        self.variant(Gfp::Freq32Khz)
61    }
62}
63#[doc = "Glitch Filter Enable\n\nValue on reset: 0"]
64#[cfg_attr(feature = "defmt", derive(defmt::Format))]
65#[derive(Clone, Copy, Debug, PartialEq, Eq)]
66pub enum Gfe {
67    #[doc = "0: Bypasses"]
68    Bypass = 0,
69    #[doc = "1: Enables"]
70    Enable = 1,
71}
72impl From<Gfe> for bool {
73    #[inline(always)]
74    fn from(variant: Gfe) -> Self {
75        variant as u8 != 0
76    }
77}
78#[doc = "Field `GFE` reader - Glitch Filter Enable"]
79pub type GfeR = crate::BitReader<Gfe>;
80impl GfeR {
81    #[doc = "Get enumerated values variant"]
82    #[inline(always)]
83    pub const fn variant(&self) -> Gfe {
84        match self.bits {
85            false => Gfe::Bypass,
86            true => Gfe::Enable,
87        }
88    }
89    #[doc = "Bypasses"]
90    #[inline(always)]
91    pub fn is_bypass(&self) -> bool {
92        *self == Gfe::Bypass
93    }
94    #[doc = "Enables"]
95    #[inline(always)]
96    pub fn is_enable(&self) -> bool {
97        *self == Gfe::Enable
98    }
99}
100#[doc = "Field `GFE` writer - Glitch Filter Enable"]
101pub type GfeW<'a, REG> = crate::BitWriter<'a, REG, Gfe>;
102impl<'a, REG> GfeW<'a, REG>
103where
104    REG: crate::Writable + crate::RegisterSpec,
105{
106    #[doc = "Bypasses"]
107    #[inline(always)]
108    pub fn bypass(self) -> &'a mut crate::W<REG> {
109        self.variant(Gfe::Bypass)
110    }
111    #[doc = "Enables"]
112    #[inline(always)]
113    pub fn enable(self) -> &'a mut crate::W<REG> {
114        self.variant(Gfe::Enable)
115    }
116}
117#[doc = "Tamper Pin Sample Width\n\nValue on reset: 0"]
118#[cfg_attr(feature = "defmt", derive(defmt::Format))]
119#[derive(Clone, Copy, Debug, PartialEq, Eq)]
120#[repr(u8)]
121pub enum Tpsw {
122    #[doc = "0: Continuous monitoring, pin sampling disabled"]
123    Disable = 0,
124    #[doc = "1: 2 cycles for pull enable and 1 cycle for input buffer enable"]
125    Cycles2 = 1,
126    #[doc = "2: 4 cycles for pull enable and 2 cycles for input buffer enable"]
127    Cycles4 = 2,
128    #[doc = "3: 8 cycles for pull enable and 4 cycles for input buffer enable"]
129    Cycles8 = 3,
130}
131impl From<Tpsw> for u8 {
132    #[inline(always)]
133    fn from(variant: Tpsw) -> Self {
134        variant as _
135    }
136}
137impl crate::FieldSpec for Tpsw {
138    type Ux = u8;
139}
140impl crate::IsEnum for Tpsw {}
141#[doc = "Field `TPSW` reader - Tamper Pin Sample Width"]
142pub type TpswR = crate::FieldReader<Tpsw>;
143impl TpswR {
144    #[doc = "Get enumerated values variant"]
145    #[inline(always)]
146    pub const fn variant(&self) -> Tpsw {
147        match self.bits {
148            0 => Tpsw::Disable,
149            1 => Tpsw::Cycles2,
150            2 => Tpsw::Cycles4,
151            3 => Tpsw::Cycles8,
152            _ => unreachable!(),
153        }
154    }
155    #[doc = "Continuous monitoring, pin sampling disabled"]
156    #[inline(always)]
157    pub fn is_disable(&self) -> bool {
158        *self == Tpsw::Disable
159    }
160    #[doc = "2 cycles for pull enable and 1 cycle for input buffer enable"]
161    #[inline(always)]
162    pub fn is_cycles_2(&self) -> bool {
163        *self == Tpsw::Cycles2
164    }
165    #[doc = "4 cycles for pull enable and 2 cycles for input buffer enable"]
166    #[inline(always)]
167    pub fn is_cycles_4(&self) -> bool {
168        *self == Tpsw::Cycles4
169    }
170    #[doc = "8 cycles for pull enable and 4 cycles for input buffer enable"]
171    #[inline(always)]
172    pub fn is_cycles_8(&self) -> bool {
173        *self == Tpsw::Cycles8
174    }
175}
176#[doc = "Field `TPSW` writer - Tamper Pin Sample Width"]
177pub type TpswW<'a, REG> = crate::FieldWriter<'a, REG, 2, Tpsw, crate::Safe>;
178impl<'a, REG> TpswW<'a, REG>
179where
180    REG: crate::Writable + crate::RegisterSpec,
181    REG::Ux: From<u8>,
182{
183    #[doc = "Continuous monitoring, pin sampling disabled"]
184    #[inline(always)]
185    pub fn disable(self) -> &'a mut crate::W<REG> {
186        self.variant(Tpsw::Disable)
187    }
188    #[doc = "2 cycles for pull enable and 1 cycle for input buffer enable"]
189    #[inline(always)]
190    pub fn cycles_2(self) -> &'a mut crate::W<REG> {
191        self.variant(Tpsw::Cycles2)
192    }
193    #[doc = "4 cycles for pull enable and 2 cycles for input buffer enable"]
194    #[inline(always)]
195    pub fn cycles_4(self) -> &'a mut crate::W<REG> {
196        self.variant(Tpsw::Cycles4)
197    }
198    #[doc = "8 cycles for pull enable and 4 cycles for input buffer enable"]
199    #[inline(always)]
200    pub fn cycles_8(self) -> &'a mut crate::W<REG> {
201        self.variant(Tpsw::Cycles8)
202    }
203}
204#[doc = "Tamper Pin Sample Frequency\n\nValue on reset: 0"]
205#[cfg_attr(feature = "defmt", derive(defmt::Format))]
206#[derive(Clone, Copy, Debug, PartialEq, Eq)]
207#[repr(u8)]
208pub enum Tpsf {
209    #[doc = "0: Every 8 cycles"]
210    Cycles8 = 0,
211    #[doc = "1: Every 32 cycles"]
212    Cycles32 = 1,
213    #[doc = "2: Every 128 cycles"]
214    Cycles128 = 2,
215    #[doc = "3: Every 512 cycles"]
216    Cycles512 = 3,
217}
218impl From<Tpsf> for u8 {
219    #[inline(always)]
220    fn from(variant: Tpsf) -> Self {
221        variant as _
222    }
223}
224impl crate::FieldSpec for Tpsf {
225    type Ux = u8;
226}
227impl crate::IsEnum for Tpsf {}
228#[doc = "Field `TPSF` reader - Tamper Pin Sample Frequency"]
229pub type TpsfR = crate::FieldReader<Tpsf>;
230impl TpsfR {
231    #[doc = "Get enumerated values variant"]
232    #[inline(always)]
233    pub const fn variant(&self) -> Tpsf {
234        match self.bits {
235            0 => Tpsf::Cycles8,
236            1 => Tpsf::Cycles32,
237            2 => Tpsf::Cycles128,
238            3 => Tpsf::Cycles512,
239            _ => unreachable!(),
240        }
241    }
242    #[doc = "Every 8 cycles"]
243    #[inline(always)]
244    pub fn is_cycles_8(&self) -> bool {
245        *self == Tpsf::Cycles8
246    }
247    #[doc = "Every 32 cycles"]
248    #[inline(always)]
249    pub fn is_cycles_32(&self) -> bool {
250        *self == Tpsf::Cycles32
251    }
252    #[doc = "Every 128 cycles"]
253    #[inline(always)]
254    pub fn is_cycles_128(&self) -> bool {
255        *self == Tpsf::Cycles128
256    }
257    #[doc = "Every 512 cycles"]
258    #[inline(always)]
259    pub fn is_cycles_512(&self) -> bool {
260        *self == Tpsf::Cycles512
261    }
262}
263#[doc = "Field `TPSF` writer - Tamper Pin Sample Frequency"]
264pub type TpsfW<'a, REG> = crate::FieldWriter<'a, REG, 2, Tpsf, crate::Safe>;
265impl<'a, REG> TpsfW<'a, REG>
266where
267    REG: crate::Writable + crate::RegisterSpec,
268    REG::Ux: From<u8>,
269{
270    #[doc = "Every 8 cycles"]
271    #[inline(always)]
272    pub fn cycles_8(self) -> &'a mut crate::W<REG> {
273        self.variant(Tpsf::Cycles8)
274    }
275    #[doc = "Every 32 cycles"]
276    #[inline(always)]
277    pub fn cycles_32(self) -> &'a mut crate::W<REG> {
278        self.variant(Tpsf::Cycles32)
279    }
280    #[doc = "Every 128 cycles"]
281    #[inline(always)]
282    pub fn cycles_128(self) -> &'a mut crate::W<REG> {
283        self.variant(Tpsf::Cycles128)
284    }
285    #[doc = "Every 512 cycles"]
286    #[inline(always)]
287    pub fn cycles_512(self) -> &'a mut crate::W<REG> {
288        self.variant(Tpsf::Cycles512)
289    }
290}
291#[doc = "Tamper Pull Enable\n\nValue on reset: 0"]
292#[cfg_attr(feature = "defmt", derive(defmt::Format))]
293#[derive(Clone, Copy, Debug, PartialEq, Eq)]
294pub enum Tpe {
295    #[doc = "0: Disables"]
296    Disable = 0,
297    #[doc = "1: Enables"]
298    Enable = 1,
299}
300impl From<Tpe> for bool {
301    #[inline(always)]
302    fn from(variant: Tpe) -> Self {
303        variant as u8 != 0
304    }
305}
306#[doc = "Field `TPE` reader - Tamper Pull Enable"]
307pub type TpeR = crate::BitReader<Tpe>;
308impl TpeR {
309    #[doc = "Get enumerated values variant"]
310    #[inline(always)]
311    pub const fn variant(&self) -> Tpe {
312        match self.bits {
313            false => Tpe::Disable,
314            true => Tpe::Enable,
315        }
316    }
317    #[doc = "Disables"]
318    #[inline(always)]
319    pub fn is_disable(&self) -> bool {
320        *self == Tpe::Disable
321    }
322    #[doc = "Enables"]
323    #[inline(always)]
324    pub fn is_enable(&self) -> bool {
325        *self == Tpe::Enable
326    }
327}
328#[doc = "Field `TPE` writer - Tamper Pull Enable"]
329pub type TpeW<'a, REG> = crate::BitWriter<'a, REG, Tpe>;
330impl<'a, REG> TpeW<'a, REG>
331where
332    REG: crate::Writable + crate::RegisterSpec,
333{
334    #[doc = "Disables"]
335    #[inline(always)]
336    pub fn disable(self) -> &'a mut crate::W<REG> {
337        self.variant(Tpe::Disable)
338    }
339    #[doc = "Enables"]
340    #[inline(always)]
341    pub fn enable(self) -> &'a mut crate::W<REG> {
342        self.variant(Tpe::Enable)
343    }
344}
345#[doc = "Tamper Pull Select\n\nValue on reset: 0"]
346#[cfg_attr(feature = "defmt", derive(defmt::Format))]
347#[derive(Clone, Copy, Debug, PartialEq, Eq)]
348pub enum Tps {
349    #[doc = "0: Asserts"]
350    Assert = 0,
351    #[doc = "1: Negates"]
352    Negate = 1,
353}
354impl From<Tps> for bool {
355    #[inline(always)]
356    fn from(variant: Tps) -> Self {
357        variant as u8 != 0
358    }
359}
360#[doc = "Field `TPS` reader - Tamper Pull Select"]
361pub type TpsR = crate::BitReader<Tps>;
362impl TpsR {
363    #[doc = "Get enumerated values variant"]
364    #[inline(always)]
365    pub const fn variant(&self) -> Tps {
366        match self.bits {
367            false => Tps::Assert,
368            true => Tps::Negate,
369        }
370    }
371    #[doc = "Asserts"]
372    #[inline(always)]
373    pub fn is_assert(&self) -> bool {
374        *self == Tps::Assert
375    }
376    #[doc = "Negates"]
377    #[inline(always)]
378    pub fn is_negate(&self) -> bool {
379        *self == Tps::Negate
380    }
381}
382#[doc = "Field `TPS` writer - Tamper Pull Select"]
383pub type TpsW<'a, REG> = crate::BitWriter<'a, REG, Tps>;
384impl<'a, REG> TpsW<'a, REG>
385where
386    REG: crate::Writable + crate::RegisterSpec,
387{
388    #[doc = "Asserts"]
389    #[inline(always)]
390    pub fn assert(self) -> &'a mut crate::W<REG> {
391        self.variant(Tps::Assert)
392    }
393    #[doc = "Negates"]
394    #[inline(always)]
395    pub fn negate(self) -> &'a mut crate::W<REG> {
396        self.variant(Tps::Negate)
397    }
398}
399#[doc = "Tamper Pull Value\n\nValue on reset: 0"]
400#[cfg_attr(feature = "defmt", derive(defmt::Format))]
401#[derive(Clone, Copy, Debug, PartialEq, Eq)]
402pub enum Tpv {
403    #[doc = "0: Low"]
404    Low = 0,
405    #[doc = "1: High"]
406    High = 1,
407}
408impl From<Tpv> for bool {
409    #[inline(always)]
410    fn from(variant: Tpv) -> Self {
411        variant as u8 != 0
412    }
413}
414#[doc = "Field `TPV` reader - Tamper Pull Value"]
415pub type TpvR = crate::BitReader<Tpv>;
416impl TpvR {
417    #[doc = "Get enumerated values variant"]
418    #[inline(always)]
419    pub const fn variant(&self) -> Tpv {
420        match self.bits {
421            false => Tpv::Low,
422            true => Tpv::High,
423        }
424    }
425    #[doc = "Low"]
426    #[inline(always)]
427    pub fn is_low(&self) -> bool {
428        *self == Tpv::Low
429    }
430    #[doc = "High"]
431    #[inline(always)]
432    pub fn is_high(&self) -> bool {
433        *self == Tpv::High
434    }
435}
436#[doc = "Field `TPV` writer - Tamper Pull Value"]
437pub type TpvW<'a, REG> = crate::BitWriter<'a, REG, Tpv>;
438impl<'a, REG> TpvW<'a, REG>
439where
440    REG: crate::Writable + crate::RegisterSpec,
441{
442    #[doc = "Low"]
443    #[inline(always)]
444    pub fn low(self) -> &'a mut crate::W<REG> {
445        self.variant(Tpv::Low)
446    }
447    #[doc = "High"]
448    #[inline(always)]
449    pub fn high(self) -> &'a mut crate::W<REG> {
450        self.variant(Tpv::High)
451    }
452}
453#[doc = "Tamper Passive Filter\n\nValue on reset: 0"]
454#[cfg_attr(feature = "defmt", derive(defmt::Format))]
455#[derive(Clone, Copy, Debug, PartialEq, Eq)]
456pub enum Tpf {
457    #[doc = "0: Disables"]
458    Disable = 0,
459    #[doc = "1: Enables"]
460    Enable = 1,
461}
462impl From<Tpf> for bool {
463    #[inline(always)]
464    fn from(variant: Tpf) -> Self {
465        variant as u8 != 0
466    }
467}
468#[doc = "Field `TPF` reader - Tamper Passive Filter"]
469pub type TpfR = crate::BitReader<Tpf>;
470impl TpfR {
471    #[doc = "Get enumerated values variant"]
472    #[inline(always)]
473    pub const fn variant(&self) -> Tpf {
474        match self.bits {
475            false => Tpf::Disable,
476            true => Tpf::Enable,
477        }
478    }
479    #[doc = "Disables"]
480    #[inline(always)]
481    pub fn is_disable(&self) -> bool {
482        *self == Tpf::Disable
483    }
484    #[doc = "Enables"]
485    #[inline(always)]
486    pub fn is_enable(&self) -> bool {
487        *self == Tpf::Enable
488    }
489}
490#[doc = "Field `TPF` writer - Tamper Passive Filter"]
491pub type TpfW<'a, REG> = crate::BitWriter<'a, REG, Tpf>;
492impl<'a, REG> TpfW<'a, REG>
493where
494    REG: crate::Writable + crate::RegisterSpec,
495{
496    #[doc = "Disables"]
497    #[inline(always)]
498    pub fn disable(self) -> &'a mut crate::W<REG> {
499        self.variant(Tpf::Disable)
500    }
501    #[doc = "Enables"]
502    #[inline(always)]
503    pub fn enable(self) -> &'a mut crate::W<REG> {
504        self.variant(Tpf::Enable)
505    }
506}
507#[doc = "Input Buffer Enable\n\nValue on reset: 0"]
508#[cfg_attr(feature = "defmt", derive(defmt::Format))]
509#[derive(Clone, Copy, Debug, PartialEq, Eq)]
510pub enum Ibe {
511    #[doc = "0: Disables"]
512    Disable = 0,
513    #[doc = "1: Enables"]
514    Enable = 1,
515}
516impl From<Ibe> for bool {
517    #[inline(always)]
518    fn from(variant: Ibe) -> Self {
519        variant as u8 != 0
520    }
521}
522#[doc = "Field `IBE` reader - Input Buffer Enable"]
523pub type IbeR = crate::BitReader<Ibe>;
524impl IbeR {
525    #[doc = "Get enumerated values variant"]
526    #[inline(always)]
527    pub const fn variant(&self) -> Ibe {
528        match self.bits {
529            false => Ibe::Disable,
530            true => Ibe::Enable,
531        }
532    }
533    #[doc = "Disables"]
534    #[inline(always)]
535    pub fn is_disable(&self) -> bool {
536        *self == Ibe::Disable
537    }
538    #[doc = "Enables"]
539    #[inline(always)]
540    pub fn is_enable(&self) -> bool {
541        *self == Ibe::Enable
542    }
543}
544#[doc = "Field `IBE` writer - Input Buffer Enable"]
545pub type IbeW<'a, REG> = crate::BitWriter<'a, REG, Ibe>;
546impl<'a, REG> IbeW<'a, REG>
547where
548    REG: crate::Writable + crate::RegisterSpec,
549{
550    #[doc = "Disables"]
551    #[inline(always)]
552    pub fn disable(self) -> &'a mut crate::W<REG> {
553        self.variant(Ibe::Disable)
554    }
555    #[doc = "Enables"]
556    #[inline(always)]
557    pub fn enable(self) -> &'a mut crate::W<REG> {
558        self.variant(Ibe::Enable)
559    }
560}
561impl R {
562    #[doc = "Bits 0:5 - Glitch Filter Width"]
563    #[inline(always)]
564    pub fn gfw(&self) -> GfwR {
565        GfwR::new((self.bits & 0x3f) as u8)
566    }
567    #[doc = "Bit 6 - Glitch Filter Prescaler"]
568    #[inline(always)]
569    pub fn gfp(&self) -> GfpR {
570        GfpR::new(((self.bits >> 6) & 1) != 0)
571    }
572    #[doc = "Bit 7 - Glitch Filter Enable"]
573    #[inline(always)]
574    pub fn gfe(&self) -> GfeR {
575        GfeR::new(((self.bits >> 7) & 1) != 0)
576    }
577    #[doc = "Bits 8:9 - Tamper Pin Sample Width"]
578    #[inline(always)]
579    pub fn tpsw(&self) -> TpswR {
580        TpswR::new(((self.bits >> 8) & 3) as u8)
581    }
582    #[doc = "Bits 10:11 - Tamper Pin Sample Frequency"]
583    #[inline(always)]
584    pub fn tpsf(&self) -> TpsfR {
585        TpsfR::new(((self.bits >> 10) & 3) as u8)
586    }
587    #[doc = "Bit 24 - Tamper Pull Enable"]
588    #[inline(always)]
589    pub fn tpe(&self) -> TpeR {
590        TpeR::new(((self.bits >> 24) & 1) != 0)
591    }
592    #[doc = "Bit 25 - Tamper Pull Select"]
593    #[inline(always)]
594    pub fn tps(&self) -> TpsR {
595        TpsR::new(((self.bits >> 25) & 1) != 0)
596    }
597    #[doc = "Bit 26 - Tamper Pull Value"]
598    #[inline(always)]
599    pub fn tpv(&self) -> TpvR {
600        TpvR::new(((self.bits >> 26) & 1) != 0)
601    }
602    #[doc = "Bit 27 - Tamper Passive Filter"]
603    #[inline(always)]
604    pub fn tpf(&self) -> TpfR {
605        TpfR::new(((self.bits >> 27) & 1) != 0)
606    }
607    #[doc = "Bit 31 - Input Buffer Enable"]
608    #[inline(always)]
609    pub fn ibe(&self) -> IbeR {
610        IbeR::new(((self.bits >> 31) & 1) != 0)
611    }
612}
613#[cfg(feature = "debug")]
614impl core::fmt::Debug for R {
615    fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
616        f.debug_struct("PGFR")
617            .field("gfw", &self.gfw())
618            .field("gfp", &self.gfp())
619            .field("gfe", &self.gfe())
620            .field("tpsw", &self.tpsw())
621            .field("tpsf", &self.tpsf())
622            .field("tpe", &self.tpe())
623            .field("tps", &self.tps())
624            .field("tpv", &self.tpv())
625            .field("tpf", &self.tpf())
626            .field("ibe", &self.ibe())
627            .finish()
628    }
629}
630impl W {
631    #[doc = "Bits 0:5 - Glitch Filter Width"]
632    #[inline(always)]
633    pub fn gfw(&mut self) -> GfwW<'_, PgfrSpec> {
634        GfwW::new(self, 0)
635    }
636    #[doc = "Bit 6 - Glitch Filter Prescaler"]
637    #[inline(always)]
638    pub fn gfp(&mut self) -> GfpW<'_, PgfrSpec> {
639        GfpW::new(self, 6)
640    }
641    #[doc = "Bit 7 - Glitch Filter Enable"]
642    #[inline(always)]
643    pub fn gfe(&mut self) -> GfeW<'_, PgfrSpec> {
644        GfeW::new(self, 7)
645    }
646    #[doc = "Bits 8:9 - Tamper Pin Sample Width"]
647    #[inline(always)]
648    pub fn tpsw(&mut self) -> TpswW<'_, PgfrSpec> {
649        TpswW::new(self, 8)
650    }
651    #[doc = "Bits 10:11 - Tamper Pin Sample Frequency"]
652    #[inline(always)]
653    pub fn tpsf(&mut self) -> TpsfW<'_, PgfrSpec> {
654        TpsfW::new(self, 10)
655    }
656    #[doc = "Bit 24 - Tamper Pull Enable"]
657    #[inline(always)]
658    pub fn tpe(&mut self) -> TpeW<'_, PgfrSpec> {
659        TpeW::new(self, 24)
660    }
661    #[doc = "Bit 25 - Tamper Pull Select"]
662    #[inline(always)]
663    pub fn tps(&mut self) -> TpsW<'_, PgfrSpec> {
664        TpsW::new(self, 25)
665    }
666    #[doc = "Bit 26 - Tamper Pull Value"]
667    #[inline(always)]
668    pub fn tpv(&mut self) -> TpvW<'_, PgfrSpec> {
669        TpvW::new(self, 26)
670    }
671    #[doc = "Bit 27 - Tamper Passive Filter"]
672    #[inline(always)]
673    pub fn tpf(&mut self) -> TpfW<'_, PgfrSpec> {
674        TpfW::new(self, 27)
675    }
676    #[doc = "Bit 31 - Input Buffer Enable"]
677    #[inline(always)]
678    pub fn ibe(&mut self) -> IbeW<'_, PgfrSpec> {
679        IbeW::new(self, 31)
680    }
681}
682#[doc = "Pin Glitch Filter\n\nYou can [`read`](crate::Reg::read) this register and get [`pgfr::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pgfr::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
683pub struct PgfrSpec;
684impl crate::RegisterSpec for PgfrSpec {
685    type Ux = u32;
686}
687#[doc = "`read()` method returns [`pgfr::R`](R) reader structure"]
688impl crate::Readable for PgfrSpec {}
689#[doc = "`write(|w| ..)` method takes [`pgfr::W`](W) writer structure"]
690impl crate::Writable for PgfrSpec {
691    type Safety = crate::Unsafe;
692}
693#[doc = "`reset()` method sets PGFR[%s] to value 0"]
694impl crate::Resettable for PgfrSpec {}