ra4e2_pac/
poeg.rs

1/*
2DISCLAIMER
3This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
4No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
5applicable laws, including copyright laws.
6THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
7OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
9LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
10INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
11ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
12Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
13of this software. By using this software, you agree to the additional terms and conditions found by accessing the
14following link:
15http://www.renesas.com/disclaimer
16
17*/
18// Generated from SVD 1.30.00, with svd2pac 0.6.0 on Thu, 24 Jul 2025 04:48:35 +0000
19
20#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"Port Output Enable Module for GPT"]
28unsafe impl ::core::marker::Send for super::Poeg {}
29unsafe impl ::core::marker::Sync for super::Poeg {}
30impl super::Poeg {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36
37    #[doc = "POEG Group A Setting Register"]
38    #[inline(always)]
39    pub const fn poegga(
40        &self,
41    ) -> &'static crate::common::Reg<self::Poegga_SPEC, crate::common::RW> {
42        unsafe {
43            crate::common::Reg::<self::Poegga_SPEC, crate::common::RW>::from_ptr(
44                self._svd2pac_as_ptr().add(0usize),
45            )
46        }
47    }
48
49    #[doc = "POEG Group B Setting Register"]
50    #[inline(always)]
51    pub const fn poeggb(
52        &self,
53    ) -> &'static crate::common::Reg<self::Poeggb_SPEC, crate::common::RW> {
54        unsafe {
55            crate::common::Reg::<self::Poeggb_SPEC, crate::common::RW>::from_ptr(
56                self._svd2pac_as_ptr().add(256usize),
57            )
58        }
59    }
60
61    #[doc = "POEG Group C Setting Register"]
62    #[inline(always)]
63    pub const fn poeggc(
64        &self,
65    ) -> &'static crate::common::Reg<self::Poeggc_SPEC, crate::common::RW> {
66        unsafe {
67            crate::common::Reg::<self::Poeggc_SPEC, crate::common::RW>::from_ptr(
68                self._svd2pac_as_ptr().add(512usize),
69            )
70        }
71    }
72
73    #[doc = "POEG Group D Setting Register"]
74    #[inline(always)]
75    pub const fn poeggd(
76        &self,
77    ) -> &'static crate::common::Reg<self::Poeggd_SPEC, crate::common::RW> {
78        unsafe {
79            crate::common::Reg::<self::Poeggd_SPEC, crate::common::RW>::from_ptr(
80                self._svd2pac_as_ptr().add(768usize),
81            )
82        }
83    }
84}
85#[doc(hidden)]
86#[derive(Copy, Clone, Eq, PartialEq)]
87pub struct Poegga_SPEC;
88impl crate::sealed::RegSpec for Poegga_SPEC {
89    type DataType = u32;
90}
91
92#[doc = "POEG Group A Setting Register"]
93pub type Poegga = crate::RegValueT<Poegga_SPEC>;
94
95impl Poegga {
96    #[doc = "Port Input Detection Flag"]
97    #[inline(always)]
98    pub fn pidf(
99        self,
100    ) -> crate::common::RegisterField<
101        0,
102        0x1,
103        1,
104        0,
105        poegga::Pidf,
106        poegga::Pidf,
107        Poegga_SPEC,
108        crate::common::RW,
109    > {
110        crate::common::RegisterField::<
111            0,
112            0x1,
113            1,
114            0,
115            poegga::Pidf,
116            poegga::Pidf,
117            Poegga_SPEC,
118            crate::common::RW,
119        >::from_register(self, 0)
120    }
121
122    #[doc = "Detection Flag for GPT Output-Disable Request"]
123    #[inline(always)]
124    pub fn iocf(
125        self,
126    ) -> crate::common::RegisterField<
127        1,
128        0x1,
129        1,
130        0,
131        poegga::Iocf,
132        poegga::Iocf,
133        Poegga_SPEC,
134        crate::common::RW,
135    > {
136        crate::common::RegisterField::<
137            1,
138            0x1,
139            1,
140            0,
141            poegga::Iocf,
142            poegga::Iocf,
143            Poegga_SPEC,
144            crate::common::RW,
145        >::from_register(self, 0)
146    }
147
148    #[doc = "Oscillation Stop Detection Flag"]
149    #[inline(always)]
150    pub fn ostpf(
151        self,
152    ) -> crate::common::RegisterField<
153        2,
154        0x1,
155        1,
156        0,
157        poegga::Ostpf,
158        poegga::Ostpf,
159        Poegga_SPEC,
160        crate::common::RW,
161    > {
162        crate::common::RegisterField::<
163            2,
164            0x1,
165            1,
166            0,
167            poegga::Ostpf,
168            poegga::Ostpf,
169            Poegga_SPEC,
170            crate::common::RW,
171        >::from_register(self, 0)
172    }
173
174    #[doc = "Software Stop Flag"]
175    #[inline(always)]
176    pub fn ssf(
177        self,
178    ) -> crate::common::RegisterField<
179        3,
180        0x1,
181        1,
182        0,
183        poegga::Ssf,
184        poegga::Ssf,
185        Poegga_SPEC,
186        crate::common::RW,
187    > {
188        crate::common::RegisterField::<
189            3,
190            0x1,
191            1,
192            0,
193            poegga::Ssf,
194            poegga::Ssf,
195            Poegga_SPEC,
196            crate::common::RW,
197        >::from_register(self, 0)
198    }
199
200    #[doc = "Port Input Detection Enable"]
201    #[inline(always)]
202    pub fn pide(
203        self,
204    ) -> crate::common::RegisterField<
205        4,
206        0x1,
207        1,
208        0,
209        poegga::Pide,
210        poegga::Pide,
211        Poegga_SPEC,
212        crate::common::RW,
213    > {
214        crate::common::RegisterField::<
215            4,
216            0x1,
217            1,
218            0,
219            poegga::Pide,
220            poegga::Pide,
221            Poegga_SPEC,
222            crate::common::RW,
223        >::from_register(self, 0)
224    }
225
226    #[doc = "Enable for GPT Output-Disable Request"]
227    #[inline(always)]
228    pub fn ioce(
229        self,
230    ) -> crate::common::RegisterField<
231        5,
232        0x1,
233        1,
234        0,
235        poegga::Ioce,
236        poegga::Ioce,
237        Poegga_SPEC,
238        crate::common::RW,
239    > {
240        crate::common::RegisterField::<
241            5,
242            0x1,
243            1,
244            0,
245            poegga::Ioce,
246            poegga::Ioce,
247            Poegga_SPEC,
248            crate::common::RW,
249        >::from_register(self, 0)
250    }
251
252    #[doc = "Oscillation Stop Detection Enable"]
253    #[inline(always)]
254    pub fn ostpe(
255        self,
256    ) -> crate::common::RegisterField<
257        6,
258        0x1,
259        1,
260        0,
261        poegga::Ostpe,
262        poegga::Ostpe,
263        Poegga_SPEC,
264        crate::common::RW,
265    > {
266        crate::common::RegisterField::<
267            6,
268            0x1,
269            1,
270            0,
271            poegga::Ostpe,
272            poegga::Ostpe,
273            Poegga_SPEC,
274            crate::common::RW,
275        >::from_register(self, 0)
276    }
277
278    #[doc = "GTETRGn Input Status Flag"]
279    #[inline(always)]
280    pub fn st(
281        self,
282    ) -> crate::common::RegisterField<
283        16,
284        0x1,
285        1,
286        0,
287        poegga::St,
288        poegga::St,
289        Poegga_SPEC,
290        crate::common::R,
291    > {
292        crate::common::RegisterField::<
293            16,
294            0x1,
295            1,
296            0,
297            poegga::St,
298            poegga::St,
299            Poegga_SPEC,
300            crate::common::R,
301        >::from_register(self, 0)
302    }
303
304    #[doc = "GTETRGn Input Reverse"]
305    #[inline(always)]
306    pub fn inv(
307        self,
308    ) -> crate::common::RegisterField<
309        28,
310        0x1,
311        1,
312        0,
313        poegga::Inv,
314        poegga::Inv,
315        Poegga_SPEC,
316        crate::common::RW,
317    > {
318        crate::common::RegisterField::<
319            28,
320            0x1,
321            1,
322            0,
323            poegga::Inv,
324            poegga::Inv,
325            Poegga_SPEC,
326            crate::common::RW,
327        >::from_register(self, 0)
328    }
329
330    #[doc = "Noise Filter Enable"]
331    #[inline(always)]
332    pub fn nfen(
333        self,
334    ) -> crate::common::RegisterField<
335        29,
336        0x1,
337        1,
338        0,
339        poegga::Nfen,
340        poegga::Nfen,
341        Poegga_SPEC,
342        crate::common::RW,
343    > {
344        crate::common::RegisterField::<
345            29,
346            0x1,
347            1,
348            0,
349            poegga::Nfen,
350            poegga::Nfen,
351            Poegga_SPEC,
352            crate::common::RW,
353        >::from_register(self, 0)
354    }
355
356    #[doc = "Noise Filter Clock Select"]
357    #[inline(always)]
358    pub fn nfcs(
359        self,
360    ) -> crate::common::RegisterField<
361        30,
362        0x3,
363        1,
364        0,
365        poegga::Nfcs,
366        poegga::Nfcs,
367        Poegga_SPEC,
368        crate::common::RW,
369    > {
370        crate::common::RegisterField::<
371            30,
372            0x3,
373            1,
374            0,
375            poegga::Nfcs,
376            poegga::Nfcs,
377            Poegga_SPEC,
378            crate::common::RW,
379        >::from_register(self, 0)
380    }
381}
382impl ::core::default::Default for Poegga {
383    #[inline(always)]
384    fn default() -> Poegga {
385        <crate::RegValueT<Poegga_SPEC> as RegisterValue<_>>::new(0)
386    }
387}
388pub mod poegga {
389
390    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
391    pub struct Pidf_SPEC;
392    pub type Pidf = crate::EnumBitfieldStruct<u8, Pidf_SPEC>;
393    impl Pidf {
394        #[doc = "No output-disable request from the GTETRGn pin occurred"]
395        pub const _0: Self = Self::new(0);
396
397        #[doc = "Output-disable request from the GTETRGn pin occurred."]
398        pub const _1: Self = Self::new(1);
399    }
400    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
401    pub struct Iocf_SPEC;
402    pub type Iocf = crate::EnumBitfieldStruct<u8, Iocf_SPEC>;
403    impl Iocf {
404        #[doc = "No output-disable request from GPT occurred."]
405        pub const _0: Self = Self::new(0);
406
407        #[doc = "Output-disable request from GPT occurred."]
408        pub const _1: Self = Self::new(1);
409    }
410    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
411    pub struct Ostpf_SPEC;
412    pub type Ostpf = crate::EnumBitfieldStruct<u8, Ostpf_SPEC>;
413    impl Ostpf {
414        #[doc = "No output-disable request from oscillation stop detection occurred"]
415        pub const _0: Self = Self::new(0);
416
417        #[doc = "Output-disable request from oscillation stop detection occurred"]
418        pub const _1: Self = Self::new(1);
419    }
420    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
421    pub struct Ssf_SPEC;
422    pub type Ssf = crate::EnumBitfieldStruct<u8, Ssf_SPEC>;
423    impl Ssf {
424        #[doc = "No output-disable request from software occurred"]
425        pub const _0: Self = Self::new(0);
426
427        #[doc = "Output-disable request from software occurred"]
428        pub const _1: Self = Self::new(1);
429    }
430    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
431    pub struct Pide_SPEC;
432    pub type Pide = crate::EnumBitfieldStruct<u8, Pide_SPEC>;
433    impl Pide {
434        #[doc = "Disable output-disable requests from the GTETRGn pins"]
435        pub const _0: Self = Self::new(0);
436
437        #[doc = "Enable output-disable requests from the GTETRGn pins"]
438        pub const _1: Self = Self::new(1);
439    }
440    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
441    pub struct Ioce_SPEC;
442    pub type Ioce = crate::EnumBitfieldStruct<u8, Ioce_SPEC>;
443    impl Ioce {
444        #[doc = "Disable output-disable requests from GPT"]
445        pub const _0: Self = Self::new(0);
446
447        #[doc = "Enable output-disable requests from GPT"]
448        pub const _1: Self = Self::new(1);
449    }
450    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
451    pub struct Ostpe_SPEC;
452    pub type Ostpe = crate::EnumBitfieldStruct<u8, Ostpe_SPEC>;
453    impl Ostpe {
454        #[doc = "Disable output-disable requests from oscillation stop detection"]
455        pub const _0: Self = Self::new(0);
456
457        #[doc = "Enable output-disable requests from oscillation stop detection"]
458        pub const _1: Self = Self::new(1);
459    }
460    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
461    pub struct St_SPEC;
462    pub type St = crate::EnumBitfieldStruct<u8, St_SPEC>;
463    impl St {
464        #[doc = "GTETRGn input after filtering was 0"]
465        pub const _0: Self = Self::new(0);
466
467        #[doc = "GTETRGn input after filtering was 1"]
468        pub const _1: Self = Self::new(1);
469    }
470    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
471    pub struct Inv_SPEC;
472    pub type Inv = crate::EnumBitfieldStruct<u8, Inv_SPEC>;
473    impl Inv {
474        #[doc = "Input GTETRGn as-is"]
475        pub const _0: Self = Self::new(0);
476
477        #[doc = "Input GTETRGn in reverse"]
478        pub const _1: Self = Self::new(1);
479    }
480    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
481    pub struct Nfen_SPEC;
482    pub type Nfen = crate::EnumBitfieldStruct<u8, Nfen_SPEC>;
483    impl Nfen {
484        #[doc = "Disable noise filtering"]
485        pub const _0: Self = Self::new(0);
486
487        #[doc = "Enable noise filtering"]
488        pub const _1: Self = Self::new(1);
489    }
490    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
491    pub struct Nfcs_SPEC;
492    pub type Nfcs = crate::EnumBitfieldStruct<u8, Nfcs_SPEC>;
493    impl Nfcs {
494        #[doc = "Sample GTETRGn pin input level three times every PCLKB"]
495        pub const _00: Self = Self::new(0);
496
497        #[doc = "Sample GTETRGn pin input level three times every PCLKB/8"]
498        pub const _01: Self = Self::new(1);
499
500        #[doc = "Sample GTETRGn pin input level three times every PCLKB/32"]
501        pub const _10: Self = Self::new(2);
502
503        #[doc = "Sample GTETRGn pin input level three times every PCLKB/128"]
504        pub const _11: Self = Self::new(3);
505    }
506}
507#[doc(hidden)]
508#[derive(Copy, Clone, Eq, PartialEq)]
509pub struct Poeggb_SPEC;
510impl crate::sealed::RegSpec for Poeggb_SPEC {
511    type DataType = u32;
512}
513
514#[doc = "POEG Group B Setting Register"]
515pub type Poeggb = crate::RegValueT<Poeggb_SPEC>;
516
517impl Poeggb {
518    #[doc = "Port Input Detection Flag"]
519    #[inline(always)]
520    pub fn pidf(
521        self,
522    ) -> crate::common::RegisterField<
523        0,
524        0x1,
525        1,
526        0,
527        poeggb::Pidf,
528        poeggb::Pidf,
529        Poeggb_SPEC,
530        crate::common::RW,
531    > {
532        crate::common::RegisterField::<
533            0,
534            0x1,
535            1,
536            0,
537            poeggb::Pidf,
538            poeggb::Pidf,
539            Poeggb_SPEC,
540            crate::common::RW,
541        >::from_register(self, 0)
542    }
543
544    #[doc = "Detection Flag for GPT Output-Disable Request"]
545    #[inline(always)]
546    pub fn iocf(
547        self,
548    ) -> crate::common::RegisterField<
549        1,
550        0x1,
551        1,
552        0,
553        poeggb::Iocf,
554        poeggb::Iocf,
555        Poeggb_SPEC,
556        crate::common::RW,
557    > {
558        crate::common::RegisterField::<
559            1,
560            0x1,
561            1,
562            0,
563            poeggb::Iocf,
564            poeggb::Iocf,
565            Poeggb_SPEC,
566            crate::common::RW,
567        >::from_register(self, 0)
568    }
569
570    #[doc = "Oscillation Stop Detection Flag"]
571    #[inline(always)]
572    pub fn ostpf(
573        self,
574    ) -> crate::common::RegisterField<
575        2,
576        0x1,
577        1,
578        0,
579        poeggb::Ostpf,
580        poeggb::Ostpf,
581        Poeggb_SPEC,
582        crate::common::RW,
583    > {
584        crate::common::RegisterField::<
585            2,
586            0x1,
587            1,
588            0,
589            poeggb::Ostpf,
590            poeggb::Ostpf,
591            Poeggb_SPEC,
592            crate::common::RW,
593        >::from_register(self, 0)
594    }
595
596    #[doc = "Software Stop Flag"]
597    #[inline(always)]
598    pub fn ssf(
599        self,
600    ) -> crate::common::RegisterField<
601        3,
602        0x1,
603        1,
604        0,
605        poeggb::Ssf,
606        poeggb::Ssf,
607        Poeggb_SPEC,
608        crate::common::RW,
609    > {
610        crate::common::RegisterField::<
611            3,
612            0x1,
613            1,
614            0,
615            poeggb::Ssf,
616            poeggb::Ssf,
617            Poeggb_SPEC,
618            crate::common::RW,
619        >::from_register(self, 0)
620    }
621
622    #[doc = "Port Input Detection Enable"]
623    #[inline(always)]
624    pub fn pide(
625        self,
626    ) -> crate::common::RegisterField<
627        4,
628        0x1,
629        1,
630        0,
631        poeggb::Pide,
632        poeggb::Pide,
633        Poeggb_SPEC,
634        crate::common::RW,
635    > {
636        crate::common::RegisterField::<
637            4,
638            0x1,
639            1,
640            0,
641            poeggb::Pide,
642            poeggb::Pide,
643            Poeggb_SPEC,
644            crate::common::RW,
645        >::from_register(self, 0)
646    }
647
648    #[doc = "Enable for GPT Output-Disable Request"]
649    #[inline(always)]
650    pub fn ioce(
651        self,
652    ) -> crate::common::RegisterField<
653        5,
654        0x1,
655        1,
656        0,
657        poeggb::Ioce,
658        poeggb::Ioce,
659        Poeggb_SPEC,
660        crate::common::RW,
661    > {
662        crate::common::RegisterField::<
663            5,
664            0x1,
665            1,
666            0,
667            poeggb::Ioce,
668            poeggb::Ioce,
669            Poeggb_SPEC,
670            crate::common::RW,
671        >::from_register(self, 0)
672    }
673
674    #[doc = "Oscillation Stop Detection Enable"]
675    #[inline(always)]
676    pub fn ostpe(
677        self,
678    ) -> crate::common::RegisterField<
679        6,
680        0x1,
681        1,
682        0,
683        poeggb::Ostpe,
684        poeggb::Ostpe,
685        Poeggb_SPEC,
686        crate::common::RW,
687    > {
688        crate::common::RegisterField::<
689            6,
690            0x1,
691            1,
692            0,
693            poeggb::Ostpe,
694            poeggb::Ostpe,
695            Poeggb_SPEC,
696            crate::common::RW,
697        >::from_register(self, 0)
698    }
699
700    #[doc = "GTETRGn Input Status Flag"]
701    #[inline(always)]
702    pub fn st(
703        self,
704    ) -> crate::common::RegisterField<
705        16,
706        0x1,
707        1,
708        0,
709        poeggb::St,
710        poeggb::St,
711        Poeggb_SPEC,
712        crate::common::R,
713    > {
714        crate::common::RegisterField::<
715            16,
716            0x1,
717            1,
718            0,
719            poeggb::St,
720            poeggb::St,
721            Poeggb_SPEC,
722            crate::common::R,
723        >::from_register(self, 0)
724    }
725
726    #[doc = "GTETRGn Input Reverse"]
727    #[inline(always)]
728    pub fn inv(
729        self,
730    ) -> crate::common::RegisterField<
731        28,
732        0x1,
733        1,
734        0,
735        poeggb::Inv,
736        poeggb::Inv,
737        Poeggb_SPEC,
738        crate::common::RW,
739    > {
740        crate::common::RegisterField::<
741            28,
742            0x1,
743            1,
744            0,
745            poeggb::Inv,
746            poeggb::Inv,
747            Poeggb_SPEC,
748            crate::common::RW,
749        >::from_register(self, 0)
750    }
751
752    #[doc = "Noise Filter Enable"]
753    #[inline(always)]
754    pub fn nfen(
755        self,
756    ) -> crate::common::RegisterField<
757        29,
758        0x1,
759        1,
760        0,
761        poeggb::Nfen,
762        poeggb::Nfen,
763        Poeggb_SPEC,
764        crate::common::RW,
765    > {
766        crate::common::RegisterField::<
767            29,
768            0x1,
769            1,
770            0,
771            poeggb::Nfen,
772            poeggb::Nfen,
773            Poeggb_SPEC,
774            crate::common::RW,
775        >::from_register(self, 0)
776    }
777
778    #[doc = "Noise Filter Clock Select"]
779    #[inline(always)]
780    pub fn nfcs(
781        self,
782    ) -> crate::common::RegisterField<
783        30,
784        0x3,
785        1,
786        0,
787        poeggb::Nfcs,
788        poeggb::Nfcs,
789        Poeggb_SPEC,
790        crate::common::RW,
791    > {
792        crate::common::RegisterField::<
793            30,
794            0x3,
795            1,
796            0,
797            poeggb::Nfcs,
798            poeggb::Nfcs,
799            Poeggb_SPEC,
800            crate::common::RW,
801        >::from_register(self, 0)
802    }
803}
804impl ::core::default::Default for Poeggb {
805    #[inline(always)]
806    fn default() -> Poeggb {
807        <crate::RegValueT<Poeggb_SPEC> as RegisterValue<_>>::new(0)
808    }
809}
810pub mod poeggb {
811
812    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
813    pub struct Pidf_SPEC;
814    pub type Pidf = crate::EnumBitfieldStruct<u8, Pidf_SPEC>;
815    impl Pidf {
816        #[doc = "No output-disable request from the GTETRGn pin occurred"]
817        pub const _0: Self = Self::new(0);
818
819        #[doc = "Output-disable request from the GTETRGn pin occurred."]
820        pub const _1: Self = Self::new(1);
821    }
822    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
823    pub struct Iocf_SPEC;
824    pub type Iocf = crate::EnumBitfieldStruct<u8, Iocf_SPEC>;
825    impl Iocf {
826        #[doc = "No output-disable request from GPT occurred."]
827        pub const _0: Self = Self::new(0);
828
829        #[doc = "Output-disable request from GPT occurred."]
830        pub const _1: Self = Self::new(1);
831    }
832    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
833    pub struct Ostpf_SPEC;
834    pub type Ostpf = crate::EnumBitfieldStruct<u8, Ostpf_SPEC>;
835    impl Ostpf {
836        #[doc = "No output-disable request from oscillation stop detection occurred"]
837        pub const _0: Self = Self::new(0);
838
839        #[doc = "Output-disable request from oscillation stop detection occurred"]
840        pub const _1: Self = Self::new(1);
841    }
842    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
843    pub struct Ssf_SPEC;
844    pub type Ssf = crate::EnumBitfieldStruct<u8, Ssf_SPEC>;
845    impl Ssf {
846        #[doc = "No output-disable request from software occurred"]
847        pub const _0: Self = Self::new(0);
848
849        #[doc = "Output-disable request from software occurred"]
850        pub const _1: Self = Self::new(1);
851    }
852    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
853    pub struct Pide_SPEC;
854    pub type Pide = crate::EnumBitfieldStruct<u8, Pide_SPEC>;
855    impl Pide {
856        #[doc = "Disable output-disable requests from the GTETRGn pins"]
857        pub const _0: Self = Self::new(0);
858
859        #[doc = "Enable output-disable requests from the GTETRGn pins"]
860        pub const _1: Self = Self::new(1);
861    }
862    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
863    pub struct Ioce_SPEC;
864    pub type Ioce = crate::EnumBitfieldStruct<u8, Ioce_SPEC>;
865    impl Ioce {
866        #[doc = "Disable output-disable requests from GPT"]
867        pub const _0: Self = Self::new(0);
868
869        #[doc = "Enable output-disable requests from GPT"]
870        pub const _1: Self = Self::new(1);
871    }
872    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
873    pub struct Ostpe_SPEC;
874    pub type Ostpe = crate::EnumBitfieldStruct<u8, Ostpe_SPEC>;
875    impl Ostpe {
876        #[doc = "Disable output-disable requests from oscillation stop detection"]
877        pub const _0: Self = Self::new(0);
878
879        #[doc = "Enable output-disable requests from oscillation stop detection"]
880        pub const _1: Self = Self::new(1);
881    }
882    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
883    pub struct St_SPEC;
884    pub type St = crate::EnumBitfieldStruct<u8, St_SPEC>;
885    impl St {
886        #[doc = "GTETRGn input after filtering was 0"]
887        pub const _0: Self = Self::new(0);
888
889        #[doc = "GTETRGn input after filtering was 1"]
890        pub const _1: Self = Self::new(1);
891    }
892    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
893    pub struct Inv_SPEC;
894    pub type Inv = crate::EnumBitfieldStruct<u8, Inv_SPEC>;
895    impl Inv {
896        #[doc = "Input GTETRGn as-is"]
897        pub const _0: Self = Self::new(0);
898
899        #[doc = "Input GTETRGn in reverse"]
900        pub const _1: Self = Self::new(1);
901    }
902    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
903    pub struct Nfen_SPEC;
904    pub type Nfen = crate::EnumBitfieldStruct<u8, Nfen_SPEC>;
905    impl Nfen {
906        #[doc = "Disable noise filtering"]
907        pub const _0: Self = Self::new(0);
908
909        #[doc = "Enable noise filtering"]
910        pub const _1: Self = Self::new(1);
911    }
912    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
913    pub struct Nfcs_SPEC;
914    pub type Nfcs = crate::EnumBitfieldStruct<u8, Nfcs_SPEC>;
915    impl Nfcs {
916        #[doc = "Sample GTETRGn pin input level three times every PCLKB"]
917        pub const _00: Self = Self::new(0);
918
919        #[doc = "Sample GTETRGn pin input level three times every PCLKB/8"]
920        pub const _01: Self = Self::new(1);
921
922        #[doc = "Sample GTETRGn pin input level three times every PCLKB/32"]
923        pub const _10: Self = Self::new(2);
924
925        #[doc = "Sample GTETRGn pin input level three times every PCLKB/128"]
926        pub const _11: Self = Self::new(3);
927    }
928}
929#[doc(hidden)]
930#[derive(Copy, Clone, Eq, PartialEq)]
931pub struct Poeggc_SPEC;
932impl crate::sealed::RegSpec for Poeggc_SPEC {
933    type DataType = u32;
934}
935
936#[doc = "POEG Group C Setting Register"]
937pub type Poeggc = crate::RegValueT<Poeggc_SPEC>;
938
939impl Poeggc {
940    #[doc = "Port Input Detection Flag"]
941    #[inline(always)]
942    pub fn pidf(
943        self,
944    ) -> crate::common::RegisterField<
945        0,
946        0x1,
947        1,
948        0,
949        poeggc::Pidf,
950        poeggc::Pidf,
951        Poeggc_SPEC,
952        crate::common::RW,
953    > {
954        crate::common::RegisterField::<
955            0,
956            0x1,
957            1,
958            0,
959            poeggc::Pidf,
960            poeggc::Pidf,
961            Poeggc_SPEC,
962            crate::common::RW,
963        >::from_register(self, 0)
964    }
965
966    #[doc = "Detection Flag for GPT Output-Disable Request"]
967    #[inline(always)]
968    pub fn iocf(
969        self,
970    ) -> crate::common::RegisterField<
971        1,
972        0x1,
973        1,
974        0,
975        poeggc::Iocf,
976        poeggc::Iocf,
977        Poeggc_SPEC,
978        crate::common::RW,
979    > {
980        crate::common::RegisterField::<
981            1,
982            0x1,
983            1,
984            0,
985            poeggc::Iocf,
986            poeggc::Iocf,
987            Poeggc_SPEC,
988            crate::common::RW,
989        >::from_register(self, 0)
990    }
991
992    #[doc = "Oscillation Stop Detection Flag"]
993    #[inline(always)]
994    pub fn ostpf(
995        self,
996    ) -> crate::common::RegisterField<
997        2,
998        0x1,
999        1,
1000        0,
1001        poeggc::Ostpf,
1002        poeggc::Ostpf,
1003        Poeggc_SPEC,
1004        crate::common::RW,
1005    > {
1006        crate::common::RegisterField::<
1007            2,
1008            0x1,
1009            1,
1010            0,
1011            poeggc::Ostpf,
1012            poeggc::Ostpf,
1013            Poeggc_SPEC,
1014            crate::common::RW,
1015        >::from_register(self, 0)
1016    }
1017
1018    #[doc = "Software Stop Flag"]
1019    #[inline(always)]
1020    pub fn ssf(
1021        self,
1022    ) -> crate::common::RegisterField<
1023        3,
1024        0x1,
1025        1,
1026        0,
1027        poeggc::Ssf,
1028        poeggc::Ssf,
1029        Poeggc_SPEC,
1030        crate::common::RW,
1031    > {
1032        crate::common::RegisterField::<
1033            3,
1034            0x1,
1035            1,
1036            0,
1037            poeggc::Ssf,
1038            poeggc::Ssf,
1039            Poeggc_SPEC,
1040            crate::common::RW,
1041        >::from_register(self, 0)
1042    }
1043
1044    #[doc = "Port Input Detection Enable"]
1045    #[inline(always)]
1046    pub fn pide(
1047        self,
1048    ) -> crate::common::RegisterField<
1049        4,
1050        0x1,
1051        1,
1052        0,
1053        poeggc::Pide,
1054        poeggc::Pide,
1055        Poeggc_SPEC,
1056        crate::common::RW,
1057    > {
1058        crate::common::RegisterField::<
1059            4,
1060            0x1,
1061            1,
1062            0,
1063            poeggc::Pide,
1064            poeggc::Pide,
1065            Poeggc_SPEC,
1066            crate::common::RW,
1067        >::from_register(self, 0)
1068    }
1069
1070    #[doc = "Enable for GPT Output-Disable Request"]
1071    #[inline(always)]
1072    pub fn ioce(
1073        self,
1074    ) -> crate::common::RegisterField<
1075        5,
1076        0x1,
1077        1,
1078        0,
1079        poeggc::Ioce,
1080        poeggc::Ioce,
1081        Poeggc_SPEC,
1082        crate::common::RW,
1083    > {
1084        crate::common::RegisterField::<
1085            5,
1086            0x1,
1087            1,
1088            0,
1089            poeggc::Ioce,
1090            poeggc::Ioce,
1091            Poeggc_SPEC,
1092            crate::common::RW,
1093        >::from_register(self, 0)
1094    }
1095
1096    #[doc = "Oscillation Stop Detection Enable"]
1097    #[inline(always)]
1098    pub fn ostpe(
1099        self,
1100    ) -> crate::common::RegisterField<
1101        6,
1102        0x1,
1103        1,
1104        0,
1105        poeggc::Ostpe,
1106        poeggc::Ostpe,
1107        Poeggc_SPEC,
1108        crate::common::RW,
1109    > {
1110        crate::common::RegisterField::<
1111            6,
1112            0x1,
1113            1,
1114            0,
1115            poeggc::Ostpe,
1116            poeggc::Ostpe,
1117            Poeggc_SPEC,
1118            crate::common::RW,
1119        >::from_register(self, 0)
1120    }
1121
1122    #[doc = "GTETRGn Input Status Flag"]
1123    #[inline(always)]
1124    pub fn st(
1125        self,
1126    ) -> crate::common::RegisterField<
1127        16,
1128        0x1,
1129        1,
1130        0,
1131        poeggc::St,
1132        poeggc::St,
1133        Poeggc_SPEC,
1134        crate::common::R,
1135    > {
1136        crate::common::RegisterField::<
1137            16,
1138            0x1,
1139            1,
1140            0,
1141            poeggc::St,
1142            poeggc::St,
1143            Poeggc_SPEC,
1144            crate::common::R,
1145        >::from_register(self, 0)
1146    }
1147
1148    #[doc = "GTETRGn Input Reverse"]
1149    #[inline(always)]
1150    pub fn inv(
1151        self,
1152    ) -> crate::common::RegisterField<
1153        28,
1154        0x1,
1155        1,
1156        0,
1157        poeggc::Inv,
1158        poeggc::Inv,
1159        Poeggc_SPEC,
1160        crate::common::RW,
1161    > {
1162        crate::common::RegisterField::<
1163            28,
1164            0x1,
1165            1,
1166            0,
1167            poeggc::Inv,
1168            poeggc::Inv,
1169            Poeggc_SPEC,
1170            crate::common::RW,
1171        >::from_register(self, 0)
1172    }
1173
1174    #[doc = "Noise Filter Enable"]
1175    #[inline(always)]
1176    pub fn nfen(
1177        self,
1178    ) -> crate::common::RegisterField<
1179        29,
1180        0x1,
1181        1,
1182        0,
1183        poeggc::Nfen,
1184        poeggc::Nfen,
1185        Poeggc_SPEC,
1186        crate::common::RW,
1187    > {
1188        crate::common::RegisterField::<
1189            29,
1190            0x1,
1191            1,
1192            0,
1193            poeggc::Nfen,
1194            poeggc::Nfen,
1195            Poeggc_SPEC,
1196            crate::common::RW,
1197        >::from_register(self, 0)
1198    }
1199
1200    #[doc = "Noise Filter Clock Select"]
1201    #[inline(always)]
1202    pub fn nfcs(
1203        self,
1204    ) -> crate::common::RegisterField<
1205        30,
1206        0x3,
1207        1,
1208        0,
1209        poeggc::Nfcs,
1210        poeggc::Nfcs,
1211        Poeggc_SPEC,
1212        crate::common::RW,
1213    > {
1214        crate::common::RegisterField::<
1215            30,
1216            0x3,
1217            1,
1218            0,
1219            poeggc::Nfcs,
1220            poeggc::Nfcs,
1221            Poeggc_SPEC,
1222            crate::common::RW,
1223        >::from_register(self, 0)
1224    }
1225}
1226impl ::core::default::Default for Poeggc {
1227    #[inline(always)]
1228    fn default() -> Poeggc {
1229        <crate::RegValueT<Poeggc_SPEC> as RegisterValue<_>>::new(0)
1230    }
1231}
1232pub mod poeggc {
1233
1234    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1235    pub struct Pidf_SPEC;
1236    pub type Pidf = crate::EnumBitfieldStruct<u8, Pidf_SPEC>;
1237    impl Pidf {
1238        #[doc = "No output-disable request from the GTETRGn pin occurred"]
1239        pub const _0: Self = Self::new(0);
1240
1241        #[doc = "Output-disable request from the GTETRGn pin occurred."]
1242        pub const _1: Self = Self::new(1);
1243    }
1244    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1245    pub struct Iocf_SPEC;
1246    pub type Iocf = crate::EnumBitfieldStruct<u8, Iocf_SPEC>;
1247    impl Iocf {
1248        #[doc = "No output-disable request from GPT occurred."]
1249        pub const _0: Self = Self::new(0);
1250
1251        #[doc = "Output-disable request from GPT occurred."]
1252        pub const _1: Self = Self::new(1);
1253    }
1254    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1255    pub struct Ostpf_SPEC;
1256    pub type Ostpf = crate::EnumBitfieldStruct<u8, Ostpf_SPEC>;
1257    impl Ostpf {
1258        #[doc = "No output-disable request from oscillation stop detection occurred"]
1259        pub const _0: Self = Self::new(0);
1260
1261        #[doc = "Output-disable request from oscillation stop detection occurred"]
1262        pub const _1: Self = Self::new(1);
1263    }
1264    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1265    pub struct Ssf_SPEC;
1266    pub type Ssf = crate::EnumBitfieldStruct<u8, Ssf_SPEC>;
1267    impl Ssf {
1268        #[doc = "No output-disable request from software occurred"]
1269        pub const _0: Self = Self::new(0);
1270
1271        #[doc = "Output-disable request from software occurred"]
1272        pub const _1: Self = Self::new(1);
1273    }
1274    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1275    pub struct Pide_SPEC;
1276    pub type Pide = crate::EnumBitfieldStruct<u8, Pide_SPEC>;
1277    impl Pide {
1278        #[doc = "Disable output-disable requests from the GTETRGn pins"]
1279        pub const _0: Self = Self::new(0);
1280
1281        #[doc = "Enable output-disable requests from the GTETRGn pins"]
1282        pub const _1: Self = Self::new(1);
1283    }
1284    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1285    pub struct Ioce_SPEC;
1286    pub type Ioce = crate::EnumBitfieldStruct<u8, Ioce_SPEC>;
1287    impl Ioce {
1288        #[doc = "Disable output-disable requests from GPT"]
1289        pub const _0: Self = Self::new(0);
1290
1291        #[doc = "Enable output-disable requests from GPT"]
1292        pub const _1: Self = Self::new(1);
1293    }
1294    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1295    pub struct Ostpe_SPEC;
1296    pub type Ostpe = crate::EnumBitfieldStruct<u8, Ostpe_SPEC>;
1297    impl Ostpe {
1298        #[doc = "Disable output-disable requests from oscillation stop detection"]
1299        pub const _0: Self = Self::new(0);
1300
1301        #[doc = "Enable output-disable requests from oscillation stop detection"]
1302        pub const _1: Self = Self::new(1);
1303    }
1304    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1305    pub struct St_SPEC;
1306    pub type St = crate::EnumBitfieldStruct<u8, St_SPEC>;
1307    impl St {
1308        #[doc = "GTETRGn input after filtering was 0"]
1309        pub const _0: Self = Self::new(0);
1310
1311        #[doc = "GTETRGn input after filtering was 1"]
1312        pub const _1: Self = Self::new(1);
1313    }
1314    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1315    pub struct Inv_SPEC;
1316    pub type Inv = crate::EnumBitfieldStruct<u8, Inv_SPEC>;
1317    impl Inv {
1318        #[doc = "Input GTETRGn as-is"]
1319        pub const _0: Self = Self::new(0);
1320
1321        #[doc = "Input GTETRGn in reverse"]
1322        pub const _1: Self = Self::new(1);
1323    }
1324    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1325    pub struct Nfen_SPEC;
1326    pub type Nfen = crate::EnumBitfieldStruct<u8, Nfen_SPEC>;
1327    impl Nfen {
1328        #[doc = "Disable noise filtering"]
1329        pub const _0: Self = Self::new(0);
1330
1331        #[doc = "Enable noise filtering"]
1332        pub const _1: Self = Self::new(1);
1333    }
1334    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1335    pub struct Nfcs_SPEC;
1336    pub type Nfcs = crate::EnumBitfieldStruct<u8, Nfcs_SPEC>;
1337    impl Nfcs {
1338        #[doc = "Sample GTETRGn pin input level three times every PCLKB"]
1339        pub const _00: Self = Self::new(0);
1340
1341        #[doc = "Sample GTETRGn pin input level three times every PCLKB/8"]
1342        pub const _01: Self = Self::new(1);
1343
1344        #[doc = "Sample GTETRGn pin input level three times every PCLKB/32"]
1345        pub const _10: Self = Self::new(2);
1346
1347        #[doc = "Sample GTETRGn pin input level three times every PCLKB/128"]
1348        pub const _11: Self = Self::new(3);
1349    }
1350}
1351#[doc(hidden)]
1352#[derive(Copy, Clone, Eq, PartialEq)]
1353pub struct Poeggd_SPEC;
1354impl crate::sealed::RegSpec for Poeggd_SPEC {
1355    type DataType = u32;
1356}
1357
1358#[doc = "POEG Group D Setting Register"]
1359pub type Poeggd = crate::RegValueT<Poeggd_SPEC>;
1360
1361impl Poeggd {
1362    #[doc = "Port Input Detection Flag"]
1363    #[inline(always)]
1364    pub fn pidf(
1365        self,
1366    ) -> crate::common::RegisterField<
1367        0,
1368        0x1,
1369        1,
1370        0,
1371        poeggd::Pidf,
1372        poeggd::Pidf,
1373        Poeggd_SPEC,
1374        crate::common::RW,
1375    > {
1376        crate::common::RegisterField::<
1377            0,
1378            0x1,
1379            1,
1380            0,
1381            poeggd::Pidf,
1382            poeggd::Pidf,
1383            Poeggd_SPEC,
1384            crate::common::RW,
1385        >::from_register(self, 0)
1386    }
1387
1388    #[doc = "Detection Flag for GPT Output-Disable Request"]
1389    #[inline(always)]
1390    pub fn iocf(
1391        self,
1392    ) -> crate::common::RegisterField<
1393        1,
1394        0x1,
1395        1,
1396        0,
1397        poeggd::Iocf,
1398        poeggd::Iocf,
1399        Poeggd_SPEC,
1400        crate::common::RW,
1401    > {
1402        crate::common::RegisterField::<
1403            1,
1404            0x1,
1405            1,
1406            0,
1407            poeggd::Iocf,
1408            poeggd::Iocf,
1409            Poeggd_SPEC,
1410            crate::common::RW,
1411        >::from_register(self, 0)
1412    }
1413
1414    #[doc = "Oscillation Stop Detection Flag"]
1415    #[inline(always)]
1416    pub fn ostpf(
1417        self,
1418    ) -> crate::common::RegisterField<
1419        2,
1420        0x1,
1421        1,
1422        0,
1423        poeggd::Ostpf,
1424        poeggd::Ostpf,
1425        Poeggd_SPEC,
1426        crate::common::RW,
1427    > {
1428        crate::common::RegisterField::<
1429            2,
1430            0x1,
1431            1,
1432            0,
1433            poeggd::Ostpf,
1434            poeggd::Ostpf,
1435            Poeggd_SPEC,
1436            crate::common::RW,
1437        >::from_register(self, 0)
1438    }
1439
1440    #[doc = "Software Stop Flag"]
1441    #[inline(always)]
1442    pub fn ssf(
1443        self,
1444    ) -> crate::common::RegisterField<
1445        3,
1446        0x1,
1447        1,
1448        0,
1449        poeggd::Ssf,
1450        poeggd::Ssf,
1451        Poeggd_SPEC,
1452        crate::common::RW,
1453    > {
1454        crate::common::RegisterField::<
1455            3,
1456            0x1,
1457            1,
1458            0,
1459            poeggd::Ssf,
1460            poeggd::Ssf,
1461            Poeggd_SPEC,
1462            crate::common::RW,
1463        >::from_register(self, 0)
1464    }
1465
1466    #[doc = "Port Input Detection Enable"]
1467    #[inline(always)]
1468    pub fn pide(
1469        self,
1470    ) -> crate::common::RegisterField<
1471        4,
1472        0x1,
1473        1,
1474        0,
1475        poeggd::Pide,
1476        poeggd::Pide,
1477        Poeggd_SPEC,
1478        crate::common::RW,
1479    > {
1480        crate::common::RegisterField::<
1481            4,
1482            0x1,
1483            1,
1484            0,
1485            poeggd::Pide,
1486            poeggd::Pide,
1487            Poeggd_SPEC,
1488            crate::common::RW,
1489        >::from_register(self, 0)
1490    }
1491
1492    #[doc = "Enable for GPT Output-Disable Request"]
1493    #[inline(always)]
1494    pub fn ioce(
1495        self,
1496    ) -> crate::common::RegisterField<
1497        5,
1498        0x1,
1499        1,
1500        0,
1501        poeggd::Ioce,
1502        poeggd::Ioce,
1503        Poeggd_SPEC,
1504        crate::common::RW,
1505    > {
1506        crate::common::RegisterField::<
1507            5,
1508            0x1,
1509            1,
1510            0,
1511            poeggd::Ioce,
1512            poeggd::Ioce,
1513            Poeggd_SPEC,
1514            crate::common::RW,
1515        >::from_register(self, 0)
1516    }
1517
1518    #[doc = "Oscillation Stop Detection Enable"]
1519    #[inline(always)]
1520    pub fn ostpe(
1521        self,
1522    ) -> crate::common::RegisterField<
1523        6,
1524        0x1,
1525        1,
1526        0,
1527        poeggd::Ostpe,
1528        poeggd::Ostpe,
1529        Poeggd_SPEC,
1530        crate::common::RW,
1531    > {
1532        crate::common::RegisterField::<
1533            6,
1534            0x1,
1535            1,
1536            0,
1537            poeggd::Ostpe,
1538            poeggd::Ostpe,
1539            Poeggd_SPEC,
1540            crate::common::RW,
1541        >::from_register(self, 0)
1542    }
1543
1544    #[doc = "GTETRGn Input Status Flag"]
1545    #[inline(always)]
1546    pub fn st(
1547        self,
1548    ) -> crate::common::RegisterField<
1549        16,
1550        0x1,
1551        1,
1552        0,
1553        poeggd::St,
1554        poeggd::St,
1555        Poeggd_SPEC,
1556        crate::common::R,
1557    > {
1558        crate::common::RegisterField::<
1559            16,
1560            0x1,
1561            1,
1562            0,
1563            poeggd::St,
1564            poeggd::St,
1565            Poeggd_SPEC,
1566            crate::common::R,
1567        >::from_register(self, 0)
1568    }
1569
1570    #[doc = "GTETRGn Input Reverse"]
1571    #[inline(always)]
1572    pub fn inv(
1573        self,
1574    ) -> crate::common::RegisterField<
1575        28,
1576        0x1,
1577        1,
1578        0,
1579        poeggd::Inv,
1580        poeggd::Inv,
1581        Poeggd_SPEC,
1582        crate::common::RW,
1583    > {
1584        crate::common::RegisterField::<
1585            28,
1586            0x1,
1587            1,
1588            0,
1589            poeggd::Inv,
1590            poeggd::Inv,
1591            Poeggd_SPEC,
1592            crate::common::RW,
1593        >::from_register(self, 0)
1594    }
1595
1596    #[doc = "Noise Filter Enable"]
1597    #[inline(always)]
1598    pub fn nfen(
1599        self,
1600    ) -> crate::common::RegisterField<
1601        29,
1602        0x1,
1603        1,
1604        0,
1605        poeggd::Nfen,
1606        poeggd::Nfen,
1607        Poeggd_SPEC,
1608        crate::common::RW,
1609    > {
1610        crate::common::RegisterField::<
1611            29,
1612            0x1,
1613            1,
1614            0,
1615            poeggd::Nfen,
1616            poeggd::Nfen,
1617            Poeggd_SPEC,
1618            crate::common::RW,
1619        >::from_register(self, 0)
1620    }
1621
1622    #[doc = "Noise Filter Clock Select"]
1623    #[inline(always)]
1624    pub fn nfcs(
1625        self,
1626    ) -> crate::common::RegisterField<
1627        30,
1628        0x3,
1629        1,
1630        0,
1631        poeggd::Nfcs,
1632        poeggd::Nfcs,
1633        Poeggd_SPEC,
1634        crate::common::RW,
1635    > {
1636        crate::common::RegisterField::<
1637            30,
1638            0x3,
1639            1,
1640            0,
1641            poeggd::Nfcs,
1642            poeggd::Nfcs,
1643            Poeggd_SPEC,
1644            crate::common::RW,
1645        >::from_register(self, 0)
1646    }
1647}
1648impl ::core::default::Default for Poeggd {
1649    #[inline(always)]
1650    fn default() -> Poeggd {
1651        <crate::RegValueT<Poeggd_SPEC> as RegisterValue<_>>::new(0)
1652    }
1653}
1654pub mod poeggd {
1655
1656    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1657    pub struct Pidf_SPEC;
1658    pub type Pidf = crate::EnumBitfieldStruct<u8, Pidf_SPEC>;
1659    impl Pidf {
1660        #[doc = "No output-disable request from the GTETRGn pin occurred"]
1661        pub const _0: Self = Self::new(0);
1662
1663        #[doc = "Output-disable request from the GTETRGn pin occurred."]
1664        pub const _1: Self = Self::new(1);
1665    }
1666    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1667    pub struct Iocf_SPEC;
1668    pub type Iocf = crate::EnumBitfieldStruct<u8, Iocf_SPEC>;
1669    impl Iocf {
1670        #[doc = "No output-disable request from GPT occurred."]
1671        pub const _0: Self = Self::new(0);
1672
1673        #[doc = "Output-disable request from GPT occurred."]
1674        pub const _1: Self = Self::new(1);
1675    }
1676    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1677    pub struct Ostpf_SPEC;
1678    pub type Ostpf = crate::EnumBitfieldStruct<u8, Ostpf_SPEC>;
1679    impl Ostpf {
1680        #[doc = "No output-disable request from oscillation stop detection occurred"]
1681        pub const _0: Self = Self::new(0);
1682
1683        #[doc = "Output-disable request from oscillation stop detection occurred"]
1684        pub const _1: Self = Self::new(1);
1685    }
1686    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1687    pub struct Ssf_SPEC;
1688    pub type Ssf = crate::EnumBitfieldStruct<u8, Ssf_SPEC>;
1689    impl Ssf {
1690        #[doc = "No output-disable request from software occurred"]
1691        pub const _0: Self = Self::new(0);
1692
1693        #[doc = "Output-disable request from software occurred"]
1694        pub const _1: Self = Self::new(1);
1695    }
1696    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1697    pub struct Pide_SPEC;
1698    pub type Pide = crate::EnumBitfieldStruct<u8, Pide_SPEC>;
1699    impl Pide {
1700        #[doc = "Disable output-disable requests from the GTETRGn pins"]
1701        pub const _0: Self = Self::new(0);
1702
1703        #[doc = "Enable output-disable requests from the GTETRGn pins"]
1704        pub const _1: Self = Self::new(1);
1705    }
1706    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1707    pub struct Ioce_SPEC;
1708    pub type Ioce = crate::EnumBitfieldStruct<u8, Ioce_SPEC>;
1709    impl Ioce {
1710        #[doc = "Disable output-disable requests from GPT"]
1711        pub const _0: Self = Self::new(0);
1712
1713        #[doc = "Enable output-disable requests from GPT"]
1714        pub const _1: Self = Self::new(1);
1715    }
1716    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1717    pub struct Ostpe_SPEC;
1718    pub type Ostpe = crate::EnumBitfieldStruct<u8, Ostpe_SPEC>;
1719    impl Ostpe {
1720        #[doc = "Disable output-disable requests from oscillation stop detection"]
1721        pub const _0: Self = Self::new(0);
1722
1723        #[doc = "Enable output-disable requests from oscillation stop detection"]
1724        pub const _1: Self = Self::new(1);
1725    }
1726    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1727    pub struct St_SPEC;
1728    pub type St = crate::EnumBitfieldStruct<u8, St_SPEC>;
1729    impl St {
1730        #[doc = "GTETRGn input after filtering was 0"]
1731        pub const _0: Self = Self::new(0);
1732
1733        #[doc = "GTETRGn input after filtering was 1"]
1734        pub const _1: Self = Self::new(1);
1735    }
1736    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1737    pub struct Inv_SPEC;
1738    pub type Inv = crate::EnumBitfieldStruct<u8, Inv_SPEC>;
1739    impl Inv {
1740        #[doc = "Input GTETRGn as-is"]
1741        pub const _0: Self = Self::new(0);
1742
1743        #[doc = "Input GTETRGn in reverse"]
1744        pub const _1: Self = Self::new(1);
1745    }
1746    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1747    pub struct Nfen_SPEC;
1748    pub type Nfen = crate::EnumBitfieldStruct<u8, Nfen_SPEC>;
1749    impl Nfen {
1750        #[doc = "Disable noise filtering"]
1751        pub const _0: Self = Self::new(0);
1752
1753        #[doc = "Enable noise filtering"]
1754        pub const _1: Self = Self::new(1);
1755    }
1756    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1757    pub struct Nfcs_SPEC;
1758    pub type Nfcs = crate::EnumBitfieldStruct<u8, Nfcs_SPEC>;
1759    impl Nfcs {
1760        #[doc = "Sample GTETRGn pin input level three times every PCLKB"]
1761        pub const _00: Self = Self::new(0);
1762
1763        #[doc = "Sample GTETRGn pin input level three times every PCLKB/8"]
1764        pub const _01: Self = Self::new(1);
1765
1766        #[doc = "Sample GTETRGn pin input level three times every PCLKB/32"]
1767        pub const _10: Self = Self::new(2);
1768
1769        #[doc = "Sample GTETRGn pin input level three times every PCLKB/128"]
1770        pub const _11: Self = Self::new(3);
1771    }
1772}