ra8e2_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.00.01, with svd2pac 0.6.0 on Thu, 24 Jul 2025 04:54:26 +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 or ACMPHS 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    #[inline(always)]
279    pub fn cdre0(
280        self,
281    ) -> crate::common::RegisterField<
282        8,
283        0x1,
284        1,
285        0,
286        poegga::Cdre0,
287        poegga::Cdre0,
288        Poegga_SPEC,
289        crate::common::RW,
290    > {
291        crate::common::RegisterField::<
292            8,
293            0x1,
294            1,
295            0,
296            poegga::Cdre0,
297            poegga::Cdre0,
298            Poegga_SPEC,
299            crate::common::RW,
300        >::from_register(self, 0)
301    }
302
303    #[inline(always)]
304    pub fn cdre1(
305        self,
306    ) -> crate::common::RegisterField<
307        9,
308        0x1,
309        1,
310        0,
311        poegga::Cdre1,
312        poegga::Cdre1,
313        Poegga_SPEC,
314        crate::common::RW,
315    > {
316        crate::common::RegisterField::<
317            9,
318            0x1,
319            1,
320            0,
321            poegga::Cdre1,
322            poegga::Cdre1,
323            Poegga_SPEC,
324            crate::common::RW,
325        >::from_register(self, 0)
326    }
327
328    #[doc = "GTETRGn Input Status Flag"]
329    #[inline(always)]
330    pub fn st(
331        self,
332    ) -> crate::common::RegisterField<
333        16,
334        0x1,
335        1,
336        0,
337        poegga::St,
338        poegga::St,
339        Poegga_SPEC,
340        crate::common::R,
341    > {
342        crate::common::RegisterField::<
343            16,
344            0x1,
345            1,
346            0,
347            poegga::St,
348            poegga::St,
349            Poegga_SPEC,
350            crate::common::R,
351        >::from_register(self, 0)
352    }
353
354    #[doc = "GTETRGn Input Reverse"]
355    #[inline(always)]
356    pub fn inv(
357        self,
358    ) -> crate::common::RegisterField<
359        28,
360        0x1,
361        1,
362        0,
363        poegga::Inv,
364        poegga::Inv,
365        Poegga_SPEC,
366        crate::common::RW,
367    > {
368        crate::common::RegisterField::<
369            28,
370            0x1,
371            1,
372            0,
373            poegga::Inv,
374            poegga::Inv,
375            Poegga_SPEC,
376            crate::common::RW,
377        >::from_register(self, 0)
378    }
379
380    #[doc = "Noise Filter Enable"]
381    #[inline(always)]
382    pub fn nfen(
383        self,
384    ) -> crate::common::RegisterField<
385        29,
386        0x1,
387        1,
388        0,
389        poegga::Nfen,
390        poegga::Nfen,
391        Poegga_SPEC,
392        crate::common::RW,
393    > {
394        crate::common::RegisterField::<
395            29,
396            0x1,
397            1,
398            0,
399            poegga::Nfen,
400            poegga::Nfen,
401            Poegga_SPEC,
402            crate::common::RW,
403        >::from_register(self, 0)
404    }
405
406    #[doc = "Noise Filter Clock Select"]
407    #[inline(always)]
408    pub fn nfcs(
409        self,
410    ) -> crate::common::RegisterField<
411        30,
412        0x3,
413        1,
414        0,
415        poegga::Nfcs,
416        poegga::Nfcs,
417        Poegga_SPEC,
418        crate::common::RW,
419    > {
420        crate::common::RegisterField::<
421            30,
422            0x3,
423            1,
424            0,
425            poegga::Nfcs,
426            poegga::Nfcs,
427            Poegga_SPEC,
428            crate::common::RW,
429        >::from_register(self, 0)
430    }
431}
432impl ::core::default::Default for Poegga {
433    #[inline(always)]
434    fn default() -> Poegga {
435        <crate::RegValueT<Poegga_SPEC> as RegisterValue<_>>::new(0)
436    }
437}
438pub mod poegga {
439
440    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
441    pub struct Pidf_SPEC;
442    pub type Pidf = crate::EnumBitfieldStruct<u8, Pidf_SPEC>;
443    impl Pidf {
444        #[doc = "No output-disable request from the GTETRGn pin occurred"]
445        pub const _0: Self = Self::new(0);
446
447        #[doc = "Output-disable request from the GTETRGn pin occurred."]
448        pub const _1: Self = Self::new(1);
449    }
450    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
451    pub struct Iocf_SPEC;
452    pub type Iocf = crate::EnumBitfieldStruct<u8, Iocf_SPEC>;
453    impl Iocf {
454        #[doc = "No output-disable request from GPT or comparator interrupt occurred."]
455        pub const _0: Self = Self::new(0);
456
457        #[doc = "Output-disable request from GPT or comparator interrupt occurred."]
458        pub const _1: Self = Self::new(1);
459    }
460    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
461    pub struct Ostpf_SPEC;
462    pub type Ostpf = crate::EnumBitfieldStruct<u8, Ostpf_SPEC>;
463    impl Ostpf {
464        #[doc = "No output-disable request from oscillation stop detection occurred"]
465        pub const _0: Self = Self::new(0);
466
467        #[doc = "Output-disable request from oscillation stop detection occurred"]
468        pub const _1: Self = Self::new(1);
469    }
470    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
471    pub struct Ssf_SPEC;
472    pub type Ssf = crate::EnumBitfieldStruct<u8, Ssf_SPEC>;
473    impl Ssf {
474        #[doc = "No output-disable request from software occurred"]
475        pub const _0: Self = Self::new(0);
476
477        #[doc = "Output-disable request from software occurred"]
478        pub const _1: Self = Self::new(1);
479    }
480    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
481    pub struct Pide_SPEC;
482    pub type Pide = crate::EnumBitfieldStruct<u8, Pide_SPEC>;
483    impl Pide {
484        #[doc = "Disable output-disable requests from the GTETRGn pins"]
485        pub const _0: Self = Self::new(0);
486
487        #[doc = "Enable output-disable requests from the GTETRGn pins"]
488        pub const _1: Self = Self::new(1);
489    }
490    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
491    pub struct Ioce_SPEC;
492    pub type Ioce = crate::EnumBitfieldStruct<u8, Ioce_SPEC>;
493    impl Ioce {
494        #[doc = "Disable output-disable requests from GPT"]
495        pub const _0: Self = Self::new(0);
496
497        #[doc = "Enable output-disable requests from GPT"]
498        pub const _1: Self = Self::new(1);
499    }
500    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
501    pub struct Ostpe_SPEC;
502    pub type Ostpe = crate::EnumBitfieldStruct<u8, Ostpe_SPEC>;
503    impl Ostpe {
504        #[doc = "Disable output-disable requests from oscillation stop detection"]
505        pub const _0: Self = Self::new(0);
506
507        #[doc = "Enable output-disable requests from oscillation stop detection"]
508        pub const _1: Self = Self::new(1);
509    }
510    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
511    pub struct Cdre0_SPEC;
512    pub type Cdre0 = crate::EnumBitfieldStruct<u8, Cdre0_SPEC>;
513    impl Cdre0 {
514        #[doc = "Disable output-disable request from ACMPHS0"]
515        pub const _0: Self = Self::new(0);
516
517        #[doc = "Enable output-disable request from ACMPHS0"]
518        pub const _1: Self = Self::new(1);
519    }
520    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
521    pub struct Cdre1_SPEC;
522    pub type Cdre1 = crate::EnumBitfieldStruct<u8, Cdre1_SPEC>;
523    impl Cdre1 {
524        #[doc = "Disable output-disable request from ACMPHS1"]
525        pub const _0: Self = Self::new(0);
526
527        #[doc = "Enable output-disable request from ACMPHS1"]
528        pub const _1: Self = Self::new(1);
529    }
530    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
531    pub struct St_SPEC;
532    pub type St = crate::EnumBitfieldStruct<u8, St_SPEC>;
533    impl St {
534        #[doc = "GTETRGn input after filtering was 0"]
535        pub const _0: Self = Self::new(0);
536
537        #[doc = "GTETRGn input after filtering was 1"]
538        pub const _1: Self = Self::new(1);
539    }
540    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
541    pub struct Inv_SPEC;
542    pub type Inv = crate::EnumBitfieldStruct<u8, Inv_SPEC>;
543    impl Inv {
544        #[doc = "Input GTETRGn as-is"]
545        pub const _0: Self = Self::new(0);
546
547        #[doc = "Input GTETRGn in reverse"]
548        pub const _1: Self = Self::new(1);
549    }
550    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
551    pub struct Nfen_SPEC;
552    pub type Nfen = crate::EnumBitfieldStruct<u8, Nfen_SPEC>;
553    impl Nfen {
554        #[doc = "Disable noise filtering"]
555        pub const _0: Self = Self::new(0);
556
557        #[doc = "Enable noise filtering"]
558        pub const _1: Self = Self::new(1);
559    }
560    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
561    pub struct Nfcs_SPEC;
562    pub type Nfcs = crate::EnumBitfieldStruct<u8, Nfcs_SPEC>;
563    impl Nfcs {
564        #[doc = "Sample GTETRGn pin input level three times every PCLKB"]
565        pub const _00: Self = Self::new(0);
566
567        #[doc = "Sample GTETRGn pin input level three times every PCLKB/8"]
568        pub const _01: Self = Self::new(1);
569
570        #[doc = "Sample GTETRGn pin input level three times every PCLKB/32"]
571        pub const _10: Self = Self::new(2);
572
573        #[doc = "Sample GTETRGn pin input level three times every PCLKB/128"]
574        pub const _11: Self = Self::new(3);
575    }
576}
577#[doc(hidden)]
578#[derive(Copy, Clone, Eq, PartialEq)]
579pub struct Poeggb_SPEC;
580impl crate::sealed::RegSpec for Poeggb_SPEC {
581    type DataType = u32;
582}
583
584#[doc = "POEG Group B Setting Register"]
585pub type Poeggb = crate::RegValueT<Poeggb_SPEC>;
586
587impl Poeggb {
588    #[doc = "Port Input Detection Flag"]
589    #[inline(always)]
590    pub fn pidf(
591        self,
592    ) -> crate::common::RegisterField<
593        0,
594        0x1,
595        1,
596        0,
597        poeggb::Pidf,
598        poeggb::Pidf,
599        Poeggb_SPEC,
600        crate::common::RW,
601    > {
602        crate::common::RegisterField::<
603            0,
604            0x1,
605            1,
606            0,
607            poeggb::Pidf,
608            poeggb::Pidf,
609            Poeggb_SPEC,
610            crate::common::RW,
611        >::from_register(self, 0)
612    }
613
614    #[doc = "Detection Flag for GPT or ACMPHS Output-Disable Request"]
615    #[inline(always)]
616    pub fn iocf(
617        self,
618    ) -> crate::common::RegisterField<
619        1,
620        0x1,
621        1,
622        0,
623        poeggb::Iocf,
624        poeggb::Iocf,
625        Poeggb_SPEC,
626        crate::common::RW,
627    > {
628        crate::common::RegisterField::<
629            1,
630            0x1,
631            1,
632            0,
633            poeggb::Iocf,
634            poeggb::Iocf,
635            Poeggb_SPEC,
636            crate::common::RW,
637        >::from_register(self, 0)
638    }
639
640    #[doc = "Oscillation Stop Detection Flag"]
641    #[inline(always)]
642    pub fn ostpf(
643        self,
644    ) -> crate::common::RegisterField<
645        2,
646        0x1,
647        1,
648        0,
649        poeggb::Ostpf,
650        poeggb::Ostpf,
651        Poeggb_SPEC,
652        crate::common::RW,
653    > {
654        crate::common::RegisterField::<
655            2,
656            0x1,
657            1,
658            0,
659            poeggb::Ostpf,
660            poeggb::Ostpf,
661            Poeggb_SPEC,
662            crate::common::RW,
663        >::from_register(self, 0)
664    }
665
666    #[doc = "Software Stop Flag"]
667    #[inline(always)]
668    pub fn ssf(
669        self,
670    ) -> crate::common::RegisterField<
671        3,
672        0x1,
673        1,
674        0,
675        poeggb::Ssf,
676        poeggb::Ssf,
677        Poeggb_SPEC,
678        crate::common::RW,
679    > {
680        crate::common::RegisterField::<
681            3,
682            0x1,
683            1,
684            0,
685            poeggb::Ssf,
686            poeggb::Ssf,
687            Poeggb_SPEC,
688            crate::common::RW,
689        >::from_register(self, 0)
690    }
691
692    #[doc = "Port Input Detection Enable"]
693    #[inline(always)]
694    pub fn pide(
695        self,
696    ) -> crate::common::RegisterField<
697        4,
698        0x1,
699        1,
700        0,
701        poeggb::Pide,
702        poeggb::Pide,
703        Poeggb_SPEC,
704        crate::common::RW,
705    > {
706        crate::common::RegisterField::<
707            4,
708            0x1,
709            1,
710            0,
711            poeggb::Pide,
712            poeggb::Pide,
713            Poeggb_SPEC,
714            crate::common::RW,
715        >::from_register(self, 0)
716    }
717
718    #[doc = "Enable for GPT Output-Disable Request"]
719    #[inline(always)]
720    pub fn ioce(
721        self,
722    ) -> crate::common::RegisterField<
723        5,
724        0x1,
725        1,
726        0,
727        poeggb::Ioce,
728        poeggb::Ioce,
729        Poeggb_SPEC,
730        crate::common::RW,
731    > {
732        crate::common::RegisterField::<
733            5,
734            0x1,
735            1,
736            0,
737            poeggb::Ioce,
738            poeggb::Ioce,
739            Poeggb_SPEC,
740            crate::common::RW,
741        >::from_register(self, 0)
742    }
743
744    #[doc = "Oscillation Stop Detection Enable"]
745    #[inline(always)]
746    pub fn ostpe(
747        self,
748    ) -> crate::common::RegisterField<
749        6,
750        0x1,
751        1,
752        0,
753        poeggb::Ostpe,
754        poeggb::Ostpe,
755        Poeggb_SPEC,
756        crate::common::RW,
757    > {
758        crate::common::RegisterField::<
759            6,
760            0x1,
761            1,
762            0,
763            poeggb::Ostpe,
764            poeggb::Ostpe,
765            Poeggb_SPEC,
766            crate::common::RW,
767        >::from_register(self, 0)
768    }
769
770    #[inline(always)]
771    pub fn cdre0(
772        self,
773    ) -> crate::common::RegisterField<
774        8,
775        0x1,
776        1,
777        0,
778        poeggb::Cdre0,
779        poeggb::Cdre0,
780        Poeggb_SPEC,
781        crate::common::RW,
782    > {
783        crate::common::RegisterField::<
784            8,
785            0x1,
786            1,
787            0,
788            poeggb::Cdre0,
789            poeggb::Cdre0,
790            Poeggb_SPEC,
791            crate::common::RW,
792        >::from_register(self, 0)
793    }
794
795    #[inline(always)]
796    pub fn cdre1(
797        self,
798    ) -> crate::common::RegisterField<
799        9,
800        0x1,
801        1,
802        0,
803        poeggb::Cdre1,
804        poeggb::Cdre1,
805        Poeggb_SPEC,
806        crate::common::RW,
807    > {
808        crate::common::RegisterField::<
809            9,
810            0x1,
811            1,
812            0,
813            poeggb::Cdre1,
814            poeggb::Cdre1,
815            Poeggb_SPEC,
816            crate::common::RW,
817        >::from_register(self, 0)
818    }
819
820    #[doc = "GTETRGn Input Status Flag"]
821    #[inline(always)]
822    pub fn st(
823        self,
824    ) -> crate::common::RegisterField<
825        16,
826        0x1,
827        1,
828        0,
829        poeggb::St,
830        poeggb::St,
831        Poeggb_SPEC,
832        crate::common::R,
833    > {
834        crate::common::RegisterField::<
835            16,
836            0x1,
837            1,
838            0,
839            poeggb::St,
840            poeggb::St,
841            Poeggb_SPEC,
842            crate::common::R,
843        >::from_register(self, 0)
844    }
845
846    #[doc = "GTETRGn Input Reverse"]
847    #[inline(always)]
848    pub fn inv(
849        self,
850    ) -> crate::common::RegisterField<
851        28,
852        0x1,
853        1,
854        0,
855        poeggb::Inv,
856        poeggb::Inv,
857        Poeggb_SPEC,
858        crate::common::RW,
859    > {
860        crate::common::RegisterField::<
861            28,
862            0x1,
863            1,
864            0,
865            poeggb::Inv,
866            poeggb::Inv,
867            Poeggb_SPEC,
868            crate::common::RW,
869        >::from_register(self, 0)
870    }
871
872    #[doc = "Noise Filter Enable"]
873    #[inline(always)]
874    pub fn nfen(
875        self,
876    ) -> crate::common::RegisterField<
877        29,
878        0x1,
879        1,
880        0,
881        poeggb::Nfen,
882        poeggb::Nfen,
883        Poeggb_SPEC,
884        crate::common::RW,
885    > {
886        crate::common::RegisterField::<
887            29,
888            0x1,
889            1,
890            0,
891            poeggb::Nfen,
892            poeggb::Nfen,
893            Poeggb_SPEC,
894            crate::common::RW,
895        >::from_register(self, 0)
896    }
897
898    #[doc = "Noise Filter Clock Select"]
899    #[inline(always)]
900    pub fn nfcs(
901        self,
902    ) -> crate::common::RegisterField<
903        30,
904        0x3,
905        1,
906        0,
907        poeggb::Nfcs,
908        poeggb::Nfcs,
909        Poeggb_SPEC,
910        crate::common::RW,
911    > {
912        crate::common::RegisterField::<
913            30,
914            0x3,
915            1,
916            0,
917            poeggb::Nfcs,
918            poeggb::Nfcs,
919            Poeggb_SPEC,
920            crate::common::RW,
921        >::from_register(self, 0)
922    }
923}
924impl ::core::default::Default for Poeggb {
925    #[inline(always)]
926    fn default() -> Poeggb {
927        <crate::RegValueT<Poeggb_SPEC> as RegisterValue<_>>::new(0)
928    }
929}
930pub mod poeggb {
931
932    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
933    pub struct Pidf_SPEC;
934    pub type Pidf = crate::EnumBitfieldStruct<u8, Pidf_SPEC>;
935    impl Pidf {
936        #[doc = "No output-disable request from the GTETRGn pin occurred"]
937        pub const _0: Self = Self::new(0);
938
939        #[doc = "Output-disable request from the GTETRGn pin occurred."]
940        pub const _1: Self = Self::new(1);
941    }
942    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
943    pub struct Iocf_SPEC;
944    pub type Iocf = crate::EnumBitfieldStruct<u8, Iocf_SPEC>;
945    impl Iocf {
946        #[doc = "No output-disable request from GPT or comparator interrupt occurred."]
947        pub const _0: Self = Self::new(0);
948
949        #[doc = "Output-disable request from GPT or comparator interrupt occurred."]
950        pub const _1: Self = Self::new(1);
951    }
952    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
953    pub struct Ostpf_SPEC;
954    pub type Ostpf = crate::EnumBitfieldStruct<u8, Ostpf_SPEC>;
955    impl Ostpf {
956        #[doc = "No output-disable request from oscillation stop detection occurred"]
957        pub const _0: Self = Self::new(0);
958
959        #[doc = "Output-disable request from oscillation stop detection occurred"]
960        pub const _1: Self = Self::new(1);
961    }
962    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
963    pub struct Ssf_SPEC;
964    pub type Ssf = crate::EnumBitfieldStruct<u8, Ssf_SPEC>;
965    impl Ssf {
966        #[doc = "No output-disable request from software occurred"]
967        pub const _0: Self = Self::new(0);
968
969        #[doc = "Output-disable request from software occurred"]
970        pub const _1: Self = Self::new(1);
971    }
972    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
973    pub struct Pide_SPEC;
974    pub type Pide = crate::EnumBitfieldStruct<u8, Pide_SPEC>;
975    impl Pide {
976        #[doc = "Disable output-disable requests from the GTETRGn pins"]
977        pub const _0: Self = Self::new(0);
978
979        #[doc = "Enable output-disable requests from the GTETRGn pins"]
980        pub const _1: Self = Self::new(1);
981    }
982    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
983    pub struct Ioce_SPEC;
984    pub type Ioce = crate::EnumBitfieldStruct<u8, Ioce_SPEC>;
985    impl Ioce {
986        #[doc = "Disable output-disable requests from GPT"]
987        pub const _0: Self = Self::new(0);
988
989        #[doc = "Enable output-disable requests from GPT"]
990        pub const _1: Self = Self::new(1);
991    }
992    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
993    pub struct Ostpe_SPEC;
994    pub type Ostpe = crate::EnumBitfieldStruct<u8, Ostpe_SPEC>;
995    impl Ostpe {
996        #[doc = "Disable output-disable requests from oscillation stop detection"]
997        pub const _0: Self = Self::new(0);
998
999        #[doc = "Enable output-disable requests from oscillation stop detection"]
1000        pub const _1: Self = Self::new(1);
1001    }
1002    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1003    pub struct Cdre0_SPEC;
1004    pub type Cdre0 = crate::EnumBitfieldStruct<u8, Cdre0_SPEC>;
1005    impl Cdre0 {
1006        #[doc = "Disable output-disable request from ACMPHS0"]
1007        pub const _0: Self = Self::new(0);
1008
1009        #[doc = "Enable output-disable request from ACMPHS0"]
1010        pub const _1: Self = Self::new(1);
1011    }
1012    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1013    pub struct Cdre1_SPEC;
1014    pub type Cdre1 = crate::EnumBitfieldStruct<u8, Cdre1_SPEC>;
1015    impl Cdre1 {
1016        #[doc = "Disable output-disable request from ACMPHS1"]
1017        pub const _0: Self = Self::new(0);
1018
1019        #[doc = "Enable output-disable request from ACMPHS1"]
1020        pub const _1: Self = Self::new(1);
1021    }
1022    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1023    pub struct St_SPEC;
1024    pub type St = crate::EnumBitfieldStruct<u8, St_SPEC>;
1025    impl St {
1026        #[doc = "GTETRGn input after filtering was 0"]
1027        pub const _0: Self = Self::new(0);
1028
1029        #[doc = "GTETRGn input after filtering was 1"]
1030        pub const _1: Self = Self::new(1);
1031    }
1032    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1033    pub struct Inv_SPEC;
1034    pub type Inv = crate::EnumBitfieldStruct<u8, Inv_SPEC>;
1035    impl Inv {
1036        #[doc = "Input GTETRGn as-is"]
1037        pub const _0: Self = Self::new(0);
1038
1039        #[doc = "Input GTETRGn in reverse"]
1040        pub const _1: Self = Self::new(1);
1041    }
1042    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1043    pub struct Nfen_SPEC;
1044    pub type Nfen = crate::EnumBitfieldStruct<u8, Nfen_SPEC>;
1045    impl Nfen {
1046        #[doc = "Disable noise filtering"]
1047        pub const _0: Self = Self::new(0);
1048
1049        #[doc = "Enable noise filtering"]
1050        pub const _1: Self = Self::new(1);
1051    }
1052    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1053    pub struct Nfcs_SPEC;
1054    pub type Nfcs = crate::EnumBitfieldStruct<u8, Nfcs_SPEC>;
1055    impl Nfcs {
1056        #[doc = "Sample GTETRGn pin input level three times every PCLKB"]
1057        pub const _00: Self = Self::new(0);
1058
1059        #[doc = "Sample GTETRGn pin input level three times every PCLKB/8"]
1060        pub const _01: Self = Self::new(1);
1061
1062        #[doc = "Sample GTETRGn pin input level three times every PCLKB/32"]
1063        pub const _10: Self = Self::new(2);
1064
1065        #[doc = "Sample GTETRGn pin input level three times every PCLKB/128"]
1066        pub const _11: Self = Self::new(3);
1067    }
1068}
1069#[doc(hidden)]
1070#[derive(Copy, Clone, Eq, PartialEq)]
1071pub struct Poeggc_SPEC;
1072impl crate::sealed::RegSpec for Poeggc_SPEC {
1073    type DataType = u32;
1074}
1075
1076#[doc = "POEG Group C Setting Register"]
1077pub type Poeggc = crate::RegValueT<Poeggc_SPEC>;
1078
1079impl Poeggc {
1080    #[doc = "Port Input Detection Flag"]
1081    #[inline(always)]
1082    pub fn pidf(
1083        self,
1084    ) -> crate::common::RegisterField<
1085        0,
1086        0x1,
1087        1,
1088        0,
1089        poeggc::Pidf,
1090        poeggc::Pidf,
1091        Poeggc_SPEC,
1092        crate::common::RW,
1093    > {
1094        crate::common::RegisterField::<
1095            0,
1096            0x1,
1097            1,
1098            0,
1099            poeggc::Pidf,
1100            poeggc::Pidf,
1101            Poeggc_SPEC,
1102            crate::common::RW,
1103        >::from_register(self, 0)
1104    }
1105
1106    #[doc = "Detection Flag for GPT or ACMPHS Output-Disable Request"]
1107    #[inline(always)]
1108    pub fn iocf(
1109        self,
1110    ) -> crate::common::RegisterField<
1111        1,
1112        0x1,
1113        1,
1114        0,
1115        poeggc::Iocf,
1116        poeggc::Iocf,
1117        Poeggc_SPEC,
1118        crate::common::RW,
1119    > {
1120        crate::common::RegisterField::<
1121            1,
1122            0x1,
1123            1,
1124            0,
1125            poeggc::Iocf,
1126            poeggc::Iocf,
1127            Poeggc_SPEC,
1128            crate::common::RW,
1129        >::from_register(self, 0)
1130    }
1131
1132    #[doc = "Oscillation Stop Detection Flag"]
1133    #[inline(always)]
1134    pub fn ostpf(
1135        self,
1136    ) -> crate::common::RegisterField<
1137        2,
1138        0x1,
1139        1,
1140        0,
1141        poeggc::Ostpf,
1142        poeggc::Ostpf,
1143        Poeggc_SPEC,
1144        crate::common::RW,
1145    > {
1146        crate::common::RegisterField::<
1147            2,
1148            0x1,
1149            1,
1150            0,
1151            poeggc::Ostpf,
1152            poeggc::Ostpf,
1153            Poeggc_SPEC,
1154            crate::common::RW,
1155        >::from_register(self, 0)
1156    }
1157
1158    #[doc = "Software Stop Flag"]
1159    #[inline(always)]
1160    pub fn ssf(
1161        self,
1162    ) -> crate::common::RegisterField<
1163        3,
1164        0x1,
1165        1,
1166        0,
1167        poeggc::Ssf,
1168        poeggc::Ssf,
1169        Poeggc_SPEC,
1170        crate::common::RW,
1171    > {
1172        crate::common::RegisterField::<
1173            3,
1174            0x1,
1175            1,
1176            0,
1177            poeggc::Ssf,
1178            poeggc::Ssf,
1179            Poeggc_SPEC,
1180            crate::common::RW,
1181        >::from_register(self, 0)
1182    }
1183
1184    #[doc = "Port Input Detection Enable"]
1185    #[inline(always)]
1186    pub fn pide(
1187        self,
1188    ) -> crate::common::RegisterField<
1189        4,
1190        0x1,
1191        1,
1192        0,
1193        poeggc::Pide,
1194        poeggc::Pide,
1195        Poeggc_SPEC,
1196        crate::common::RW,
1197    > {
1198        crate::common::RegisterField::<
1199            4,
1200            0x1,
1201            1,
1202            0,
1203            poeggc::Pide,
1204            poeggc::Pide,
1205            Poeggc_SPEC,
1206            crate::common::RW,
1207        >::from_register(self, 0)
1208    }
1209
1210    #[doc = "Enable for GPT Output-Disable Request"]
1211    #[inline(always)]
1212    pub fn ioce(
1213        self,
1214    ) -> crate::common::RegisterField<
1215        5,
1216        0x1,
1217        1,
1218        0,
1219        poeggc::Ioce,
1220        poeggc::Ioce,
1221        Poeggc_SPEC,
1222        crate::common::RW,
1223    > {
1224        crate::common::RegisterField::<
1225            5,
1226            0x1,
1227            1,
1228            0,
1229            poeggc::Ioce,
1230            poeggc::Ioce,
1231            Poeggc_SPEC,
1232            crate::common::RW,
1233        >::from_register(self, 0)
1234    }
1235
1236    #[doc = "Oscillation Stop Detection Enable"]
1237    #[inline(always)]
1238    pub fn ostpe(
1239        self,
1240    ) -> crate::common::RegisterField<
1241        6,
1242        0x1,
1243        1,
1244        0,
1245        poeggc::Ostpe,
1246        poeggc::Ostpe,
1247        Poeggc_SPEC,
1248        crate::common::RW,
1249    > {
1250        crate::common::RegisterField::<
1251            6,
1252            0x1,
1253            1,
1254            0,
1255            poeggc::Ostpe,
1256            poeggc::Ostpe,
1257            Poeggc_SPEC,
1258            crate::common::RW,
1259        >::from_register(self, 0)
1260    }
1261
1262    #[inline(always)]
1263    pub fn cdre0(
1264        self,
1265    ) -> crate::common::RegisterField<
1266        8,
1267        0x1,
1268        1,
1269        0,
1270        poeggc::Cdre0,
1271        poeggc::Cdre0,
1272        Poeggc_SPEC,
1273        crate::common::RW,
1274    > {
1275        crate::common::RegisterField::<
1276            8,
1277            0x1,
1278            1,
1279            0,
1280            poeggc::Cdre0,
1281            poeggc::Cdre0,
1282            Poeggc_SPEC,
1283            crate::common::RW,
1284        >::from_register(self, 0)
1285    }
1286
1287    #[inline(always)]
1288    pub fn cdre1(
1289        self,
1290    ) -> crate::common::RegisterField<
1291        9,
1292        0x1,
1293        1,
1294        0,
1295        poeggc::Cdre1,
1296        poeggc::Cdre1,
1297        Poeggc_SPEC,
1298        crate::common::RW,
1299    > {
1300        crate::common::RegisterField::<
1301            9,
1302            0x1,
1303            1,
1304            0,
1305            poeggc::Cdre1,
1306            poeggc::Cdre1,
1307            Poeggc_SPEC,
1308            crate::common::RW,
1309        >::from_register(self, 0)
1310    }
1311
1312    #[doc = "GTETRGn Input Status Flag"]
1313    #[inline(always)]
1314    pub fn st(
1315        self,
1316    ) -> crate::common::RegisterField<
1317        16,
1318        0x1,
1319        1,
1320        0,
1321        poeggc::St,
1322        poeggc::St,
1323        Poeggc_SPEC,
1324        crate::common::R,
1325    > {
1326        crate::common::RegisterField::<
1327            16,
1328            0x1,
1329            1,
1330            0,
1331            poeggc::St,
1332            poeggc::St,
1333            Poeggc_SPEC,
1334            crate::common::R,
1335        >::from_register(self, 0)
1336    }
1337
1338    #[doc = "GTETRGn Input Reverse"]
1339    #[inline(always)]
1340    pub fn inv(
1341        self,
1342    ) -> crate::common::RegisterField<
1343        28,
1344        0x1,
1345        1,
1346        0,
1347        poeggc::Inv,
1348        poeggc::Inv,
1349        Poeggc_SPEC,
1350        crate::common::RW,
1351    > {
1352        crate::common::RegisterField::<
1353            28,
1354            0x1,
1355            1,
1356            0,
1357            poeggc::Inv,
1358            poeggc::Inv,
1359            Poeggc_SPEC,
1360            crate::common::RW,
1361        >::from_register(self, 0)
1362    }
1363
1364    #[doc = "Noise Filter Enable"]
1365    #[inline(always)]
1366    pub fn nfen(
1367        self,
1368    ) -> crate::common::RegisterField<
1369        29,
1370        0x1,
1371        1,
1372        0,
1373        poeggc::Nfen,
1374        poeggc::Nfen,
1375        Poeggc_SPEC,
1376        crate::common::RW,
1377    > {
1378        crate::common::RegisterField::<
1379            29,
1380            0x1,
1381            1,
1382            0,
1383            poeggc::Nfen,
1384            poeggc::Nfen,
1385            Poeggc_SPEC,
1386            crate::common::RW,
1387        >::from_register(self, 0)
1388    }
1389
1390    #[doc = "Noise Filter Clock Select"]
1391    #[inline(always)]
1392    pub fn nfcs(
1393        self,
1394    ) -> crate::common::RegisterField<
1395        30,
1396        0x3,
1397        1,
1398        0,
1399        poeggc::Nfcs,
1400        poeggc::Nfcs,
1401        Poeggc_SPEC,
1402        crate::common::RW,
1403    > {
1404        crate::common::RegisterField::<
1405            30,
1406            0x3,
1407            1,
1408            0,
1409            poeggc::Nfcs,
1410            poeggc::Nfcs,
1411            Poeggc_SPEC,
1412            crate::common::RW,
1413        >::from_register(self, 0)
1414    }
1415}
1416impl ::core::default::Default for Poeggc {
1417    #[inline(always)]
1418    fn default() -> Poeggc {
1419        <crate::RegValueT<Poeggc_SPEC> as RegisterValue<_>>::new(0)
1420    }
1421}
1422pub mod poeggc {
1423
1424    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1425    pub struct Pidf_SPEC;
1426    pub type Pidf = crate::EnumBitfieldStruct<u8, Pidf_SPEC>;
1427    impl Pidf {
1428        #[doc = "No output-disable request from the GTETRGn pin occurred"]
1429        pub const _0: Self = Self::new(0);
1430
1431        #[doc = "Output-disable request from the GTETRGn pin occurred."]
1432        pub const _1: Self = Self::new(1);
1433    }
1434    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1435    pub struct Iocf_SPEC;
1436    pub type Iocf = crate::EnumBitfieldStruct<u8, Iocf_SPEC>;
1437    impl Iocf {
1438        #[doc = "No output-disable request from GPT or comparator interrupt occurred."]
1439        pub const _0: Self = Self::new(0);
1440
1441        #[doc = "Output-disable request from GPT or comparator interrupt occurred."]
1442        pub const _1: Self = Self::new(1);
1443    }
1444    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1445    pub struct Ostpf_SPEC;
1446    pub type Ostpf = crate::EnumBitfieldStruct<u8, Ostpf_SPEC>;
1447    impl Ostpf {
1448        #[doc = "No output-disable request from oscillation stop detection occurred"]
1449        pub const _0: Self = Self::new(0);
1450
1451        #[doc = "Output-disable request from oscillation stop detection occurred"]
1452        pub const _1: Self = Self::new(1);
1453    }
1454    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1455    pub struct Ssf_SPEC;
1456    pub type Ssf = crate::EnumBitfieldStruct<u8, Ssf_SPEC>;
1457    impl Ssf {
1458        #[doc = "No output-disable request from software occurred"]
1459        pub const _0: Self = Self::new(0);
1460
1461        #[doc = "Output-disable request from software occurred"]
1462        pub const _1: Self = Self::new(1);
1463    }
1464    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1465    pub struct Pide_SPEC;
1466    pub type Pide = crate::EnumBitfieldStruct<u8, Pide_SPEC>;
1467    impl Pide {
1468        #[doc = "Disable output-disable requests from the GTETRGn pins"]
1469        pub const _0: Self = Self::new(0);
1470
1471        #[doc = "Enable output-disable requests from the GTETRGn pins"]
1472        pub const _1: Self = Self::new(1);
1473    }
1474    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1475    pub struct Ioce_SPEC;
1476    pub type Ioce = crate::EnumBitfieldStruct<u8, Ioce_SPEC>;
1477    impl Ioce {
1478        #[doc = "Disable output-disable requests from GPT"]
1479        pub const _0: Self = Self::new(0);
1480
1481        #[doc = "Enable output-disable requests from GPT"]
1482        pub const _1: Self = Self::new(1);
1483    }
1484    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1485    pub struct Ostpe_SPEC;
1486    pub type Ostpe = crate::EnumBitfieldStruct<u8, Ostpe_SPEC>;
1487    impl Ostpe {
1488        #[doc = "Disable output-disable requests from oscillation stop detection"]
1489        pub const _0: Self = Self::new(0);
1490
1491        #[doc = "Enable output-disable requests from oscillation stop detection"]
1492        pub const _1: Self = Self::new(1);
1493    }
1494    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1495    pub struct Cdre0_SPEC;
1496    pub type Cdre0 = crate::EnumBitfieldStruct<u8, Cdre0_SPEC>;
1497    impl Cdre0 {
1498        #[doc = "Disable output-disable request from ACMPHS0"]
1499        pub const _0: Self = Self::new(0);
1500
1501        #[doc = "Enable output-disable request from ACMPHS0"]
1502        pub const _1: Self = Self::new(1);
1503    }
1504    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1505    pub struct Cdre1_SPEC;
1506    pub type Cdre1 = crate::EnumBitfieldStruct<u8, Cdre1_SPEC>;
1507    impl Cdre1 {
1508        #[doc = "Disable output-disable request from ACMPHS1"]
1509        pub const _0: Self = Self::new(0);
1510
1511        #[doc = "Enable output-disable request from ACMPHS1"]
1512        pub const _1: Self = Self::new(1);
1513    }
1514    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1515    pub struct St_SPEC;
1516    pub type St = crate::EnumBitfieldStruct<u8, St_SPEC>;
1517    impl St {
1518        #[doc = "GTETRGn input after filtering was 0"]
1519        pub const _0: Self = Self::new(0);
1520
1521        #[doc = "GTETRGn input after filtering was 1"]
1522        pub const _1: Self = Self::new(1);
1523    }
1524    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1525    pub struct Inv_SPEC;
1526    pub type Inv = crate::EnumBitfieldStruct<u8, Inv_SPEC>;
1527    impl Inv {
1528        #[doc = "Input GTETRGn as-is"]
1529        pub const _0: Self = Self::new(0);
1530
1531        #[doc = "Input GTETRGn in reverse"]
1532        pub const _1: Self = Self::new(1);
1533    }
1534    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1535    pub struct Nfen_SPEC;
1536    pub type Nfen = crate::EnumBitfieldStruct<u8, Nfen_SPEC>;
1537    impl Nfen {
1538        #[doc = "Disable noise filtering"]
1539        pub const _0: Self = Self::new(0);
1540
1541        #[doc = "Enable noise filtering"]
1542        pub const _1: Self = Self::new(1);
1543    }
1544    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1545    pub struct Nfcs_SPEC;
1546    pub type Nfcs = crate::EnumBitfieldStruct<u8, Nfcs_SPEC>;
1547    impl Nfcs {
1548        #[doc = "Sample GTETRGn pin input level three times every PCLKB"]
1549        pub const _00: Self = Self::new(0);
1550
1551        #[doc = "Sample GTETRGn pin input level three times every PCLKB/8"]
1552        pub const _01: Self = Self::new(1);
1553
1554        #[doc = "Sample GTETRGn pin input level three times every PCLKB/32"]
1555        pub const _10: Self = Self::new(2);
1556
1557        #[doc = "Sample GTETRGn pin input level three times every PCLKB/128"]
1558        pub const _11: Self = Self::new(3);
1559    }
1560}
1561#[doc(hidden)]
1562#[derive(Copy, Clone, Eq, PartialEq)]
1563pub struct Poeggd_SPEC;
1564impl crate::sealed::RegSpec for Poeggd_SPEC {
1565    type DataType = u32;
1566}
1567
1568#[doc = "POEG Group D Setting Register"]
1569pub type Poeggd = crate::RegValueT<Poeggd_SPEC>;
1570
1571impl Poeggd {
1572    #[doc = "Port Input Detection Flag"]
1573    #[inline(always)]
1574    pub fn pidf(
1575        self,
1576    ) -> crate::common::RegisterField<
1577        0,
1578        0x1,
1579        1,
1580        0,
1581        poeggd::Pidf,
1582        poeggd::Pidf,
1583        Poeggd_SPEC,
1584        crate::common::RW,
1585    > {
1586        crate::common::RegisterField::<
1587            0,
1588            0x1,
1589            1,
1590            0,
1591            poeggd::Pidf,
1592            poeggd::Pidf,
1593            Poeggd_SPEC,
1594            crate::common::RW,
1595        >::from_register(self, 0)
1596    }
1597
1598    #[doc = "Detection Flag for GPT or ACMPHS Output-Disable Request"]
1599    #[inline(always)]
1600    pub fn iocf(
1601        self,
1602    ) -> crate::common::RegisterField<
1603        1,
1604        0x1,
1605        1,
1606        0,
1607        poeggd::Iocf,
1608        poeggd::Iocf,
1609        Poeggd_SPEC,
1610        crate::common::RW,
1611    > {
1612        crate::common::RegisterField::<
1613            1,
1614            0x1,
1615            1,
1616            0,
1617            poeggd::Iocf,
1618            poeggd::Iocf,
1619            Poeggd_SPEC,
1620            crate::common::RW,
1621        >::from_register(self, 0)
1622    }
1623
1624    #[doc = "Oscillation Stop Detection Flag"]
1625    #[inline(always)]
1626    pub fn ostpf(
1627        self,
1628    ) -> crate::common::RegisterField<
1629        2,
1630        0x1,
1631        1,
1632        0,
1633        poeggd::Ostpf,
1634        poeggd::Ostpf,
1635        Poeggd_SPEC,
1636        crate::common::RW,
1637    > {
1638        crate::common::RegisterField::<
1639            2,
1640            0x1,
1641            1,
1642            0,
1643            poeggd::Ostpf,
1644            poeggd::Ostpf,
1645            Poeggd_SPEC,
1646            crate::common::RW,
1647        >::from_register(self, 0)
1648    }
1649
1650    #[doc = "Software Stop Flag"]
1651    #[inline(always)]
1652    pub fn ssf(
1653        self,
1654    ) -> crate::common::RegisterField<
1655        3,
1656        0x1,
1657        1,
1658        0,
1659        poeggd::Ssf,
1660        poeggd::Ssf,
1661        Poeggd_SPEC,
1662        crate::common::RW,
1663    > {
1664        crate::common::RegisterField::<
1665            3,
1666            0x1,
1667            1,
1668            0,
1669            poeggd::Ssf,
1670            poeggd::Ssf,
1671            Poeggd_SPEC,
1672            crate::common::RW,
1673        >::from_register(self, 0)
1674    }
1675
1676    #[doc = "Port Input Detection Enable"]
1677    #[inline(always)]
1678    pub fn pide(
1679        self,
1680    ) -> crate::common::RegisterField<
1681        4,
1682        0x1,
1683        1,
1684        0,
1685        poeggd::Pide,
1686        poeggd::Pide,
1687        Poeggd_SPEC,
1688        crate::common::RW,
1689    > {
1690        crate::common::RegisterField::<
1691            4,
1692            0x1,
1693            1,
1694            0,
1695            poeggd::Pide,
1696            poeggd::Pide,
1697            Poeggd_SPEC,
1698            crate::common::RW,
1699        >::from_register(self, 0)
1700    }
1701
1702    #[doc = "Enable for GPT Output-Disable Request"]
1703    #[inline(always)]
1704    pub fn ioce(
1705        self,
1706    ) -> crate::common::RegisterField<
1707        5,
1708        0x1,
1709        1,
1710        0,
1711        poeggd::Ioce,
1712        poeggd::Ioce,
1713        Poeggd_SPEC,
1714        crate::common::RW,
1715    > {
1716        crate::common::RegisterField::<
1717            5,
1718            0x1,
1719            1,
1720            0,
1721            poeggd::Ioce,
1722            poeggd::Ioce,
1723            Poeggd_SPEC,
1724            crate::common::RW,
1725        >::from_register(self, 0)
1726    }
1727
1728    #[doc = "Oscillation Stop Detection Enable"]
1729    #[inline(always)]
1730    pub fn ostpe(
1731        self,
1732    ) -> crate::common::RegisterField<
1733        6,
1734        0x1,
1735        1,
1736        0,
1737        poeggd::Ostpe,
1738        poeggd::Ostpe,
1739        Poeggd_SPEC,
1740        crate::common::RW,
1741    > {
1742        crate::common::RegisterField::<
1743            6,
1744            0x1,
1745            1,
1746            0,
1747            poeggd::Ostpe,
1748            poeggd::Ostpe,
1749            Poeggd_SPEC,
1750            crate::common::RW,
1751        >::from_register(self, 0)
1752    }
1753
1754    #[inline(always)]
1755    pub fn cdre0(
1756        self,
1757    ) -> crate::common::RegisterField<
1758        8,
1759        0x1,
1760        1,
1761        0,
1762        poeggd::Cdre0,
1763        poeggd::Cdre0,
1764        Poeggd_SPEC,
1765        crate::common::RW,
1766    > {
1767        crate::common::RegisterField::<
1768            8,
1769            0x1,
1770            1,
1771            0,
1772            poeggd::Cdre0,
1773            poeggd::Cdre0,
1774            Poeggd_SPEC,
1775            crate::common::RW,
1776        >::from_register(self, 0)
1777    }
1778
1779    #[inline(always)]
1780    pub fn cdre1(
1781        self,
1782    ) -> crate::common::RegisterField<
1783        9,
1784        0x1,
1785        1,
1786        0,
1787        poeggd::Cdre1,
1788        poeggd::Cdre1,
1789        Poeggd_SPEC,
1790        crate::common::RW,
1791    > {
1792        crate::common::RegisterField::<
1793            9,
1794            0x1,
1795            1,
1796            0,
1797            poeggd::Cdre1,
1798            poeggd::Cdre1,
1799            Poeggd_SPEC,
1800            crate::common::RW,
1801        >::from_register(self, 0)
1802    }
1803
1804    #[doc = "GTETRGn Input Status Flag"]
1805    #[inline(always)]
1806    pub fn st(
1807        self,
1808    ) -> crate::common::RegisterField<
1809        16,
1810        0x1,
1811        1,
1812        0,
1813        poeggd::St,
1814        poeggd::St,
1815        Poeggd_SPEC,
1816        crate::common::R,
1817    > {
1818        crate::common::RegisterField::<
1819            16,
1820            0x1,
1821            1,
1822            0,
1823            poeggd::St,
1824            poeggd::St,
1825            Poeggd_SPEC,
1826            crate::common::R,
1827        >::from_register(self, 0)
1828    }
1829
1830    #[doc = "GTETRGn Input Reverse"]
1831    #[inline(always)]
1832    pub fn inv(
1833        self,
1834    ) -> crate::common::RegisterField<
1835        28,
1836        0x1,
1837        1,
1838        0,
1839        poeggd::Inv,
1840        poeggd::Inv,
1841        Poeggd_SPEC,
1842        crate::common::RW,
1843    > {
1844        crate::common::RegisterField::<
1845            28,
1846            0x1,
1847            1,
1848            0,
1849            poeggd::Inv,
1850            poeggd::Inv,
1851            Poeggd_SPEC,
1852            crate::common::RW,
1853        >::from_register(self, 0)
1854    }
1855
1856    #[doc = "Noise Filter Enable"]
1857    #[inline(always)]
1858    pub fn nfen(
1859        self,
1860    ) -> crate::common::RegisterField<
1861        29,
1862        0x1,
1863        1,
1864        0,
1865        poeggd::Nfen,
1866        poeggd::Nfen,
1867        Poeggd_SPEC,
1868        crate::common::RW,
1869    > {
1870        crate::common::RegisterField::<
1871            29,
1872            0x1,
1873            1,
1874            0,
1875            poeggd::Nfen,
1876            poeggd::Nfen,
1877            Poeggd_SPEC,
1878            crate::common::RW,
1879        >::from_register(self, 0)
1880    }
1881
1882    #[doc = "Noise Filter Clock Select"]
1883    #[inline(always)]
1884    pub fn nfcs(
1885        self,
1886    ) -> crate::common::RegisterField<
1887        30,
1888        0x3,
1889        1,
1890        0,
1891        poeggd::Nfcs,
1892        poeggd::Nfcs,
1893        Poeggd_SPEC,
1894        crate::common::RW,
1895    > {
1896        crate::common::RegisterField::<
1897            30,
1898            0x3,
1899            1,
1900            0,
1901            poeggd::Nfcs,
1902            poeggd::Nfcs,
1903            Poeggd_SPEC,
1904            crate::common::RW,
1905        >::from_register(self, 0)
1906    }
1907}
1908impl ::core::default::Default for Poeggd {
1909    #[inline(always)]
1910    fn default() -> Poeggd {
1911        <crate::RegValueT<Poeggd_SPEC> as RegisterValue<_>>::new(0)
1912    }
1913}
1914pub mod poeggd {
1915
1916    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1917    pub struct Pidf_SPEC;
1918    pub type Pidf = crate::EnumBitfieldStruct<u8, Pidf_SPEC>;
1919    impl Pidf {
1920        #[doc = "No output-disable request from the GTETRGn pin occurred"]
1921        pub const _0: Self = Self::new(0);
1922
1923        #[doc = "Output-disable request from the GTETRGn pin occurred."]
1924        pub const _1: Self = Self::new(1);
1925    }
1926    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1927    pub struct Iocf_SPEC;
1928    pub type Iocf = crate::EnumBitfieldStruct<u8, Iocf_SPEC>;
1929    impl Iocf {
1930        #[doc = "No output-disable request from GPT or comparator interrupt occurred."]
1931        pub const _0: Self = Self::new(0);
1932
1933        #[doc = "Output-disable request from GPT or comparator interrupt occurred."]
1934        pub const _1: Self = Self::new(1);
1935    }
1936    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1937    pub struct Ostpf_SPEC;
1938    pub type Ostpf = crate::EnumBitfieldStruct<u8, Ostpf_SPEC>;
1939    impl Ostpf {
1940        #[doc = "No output-disable request from oscillation stop detection occurred"]
1941        pub const _0: Self = Self::new(0);
1942
1943        #[doc = "Output-disable request from oscillation stop detection occurred"]
1944        pub const _1: Self = Self::new(1);
1945    }
1946    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1947    pub struct Ssf_SPEC;
1948    pub type Ssf = crate::EnumBitfieldStruct<u8, Ssf_SPEC>;
1949    impl Ssf {
1950        #[doc = "No output-disable request from software occurred"]
1951        pub const _0: Self = Self::new(0);
1952
1953        #[doc = "Output-disable request from software occurred"]
1954        pub const _1: Self = Self::new(1);
1955    }
1956    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1957    pub struct Pide_SPEC;
1958    pub type Pide = crate::EnumBitfieldStruct<u8, Pide_SPEC>;
1959    impl Pide {
1960        #[doc = "Disable output-disable requests from the GTETRGn pins"]
1961        pub const _0: Self = Self::new(0);
1962
1963        #[doc = "Enable output-disable requests from the GTETRGn pins"]
1964        pub const _1: Self = Self::new(1);
1965    }
1966    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1967    pub struct Ioce_SPEC;
1968    pub type Ioce = crate::EnumBitfieldStruct<u8, Ioce_SPEC>;
1969    impl Ioce {
1970        #[doc = "Disable output-disable requests from GPT"]
1971        pub const _0: Self = Self::new(0);
1972
1973        #[doc = "Enable output-disable requests from GPT"]
1974        pub const _1: Self = Self::new(1);
1975    }
1976    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1977    pub struct Ostpe_SPEC;
1978    pub type Ostpe = crate::EnumBitfieldStruct<u8, Ostpe_SPEC>;
1979    impl Ostpe {
1980        #[doc = "Disable output-disable requests from oscillation stop detection"]
1981        pub const _0: Self = Self::new(0);
1982
1983        #[doc = "Enable output-disable requests from oscillation stop detection"]
1984        pub const _1: Self = Self::new(1);
1985    }
1986    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1987    pub struct Cdre0_SPEC;
1988    pub type Cdre0 = crate::EnumBitfieldStruct<u8, Cdre0_SPEC>;
1989    impl Cdre0 {
1990        #[doc = "Disable output-disable request from ACMPHS0"]
1991        pub const _0: Self = Self::new(0);
1992
1993        #[doc = "Enable output-disable request from ACMPHS0"]
1994        pub const _1: Self = Self::new(1);
1995    }
1996    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1997    pub struct Cdre1_SPEC;
1998    pub type Cdre1 = crate::EnumBitfieldStruct<u8, Cdre1_SPEC>;
1999    impl Cdre1 {
2000        #[doc = "Disable output-disable request from ACMPHS1"]
2001        pub const _0: Self = Self::new(0);
2002
2003        #[doc = "Enable output-disable request from ACMPHS1"]
2004        pub const _1: Self = Self::new(1);
2005    }
2006    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2007    pub struct St_SPEC;
2008    pub type St = crate::EnumBitfieldStruct<u8, St_SPEC>;
2009    impl St {
2010        #[doc = "GTETRGn input after filtering was 0"]
2011        pub const _0: Self = Self::new(0);
2012
2013        #[doc = "GTETRGn input after filtering was 1"]
2014        pub const _1: Self = Self::new(1);
2015    }
2016    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2017    pub struct Inv_SPEC;
2018    pub type Inv = crate::EnumBitfieldStruct<u8, Inv_SPEC>;
2019    impl Inv {
2020        #[doc = "Input GTETRGn as-is"]
2021        pub const _0: Self = Self::new(0);
2022
2023        #[doc = "Input GTETRGn in reverse"]
2024        pub const _1: Self = Self::new(1);
2025    }
2026    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2027    pub struct Nfen_SPEC;
2028    pub type Nfen = crate::EnumBitfieldStruct<u8, Nfen_SPEC>;
2029    impl Nfen {
2030        #[doc = "Disable noise filtering"]
2031        pub const _0: Self = Self::new(0);
2032
2033        #[doc = "Enable noise filtering"]
2034        pub const _1: Self = Self::new(1);
2035    }
2036    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2037    pub struct Nfcs_SPEC;
2038    pub type Nfcs = crate::EnumBitfieldStruct<u8, Nfcs_SPEC>;
2039    impl Nfcs {
2040        #[doc = "Sample GTETRGn pin input level three times every PCLKB"]
2041        pub const _00: Self = Self::new(0);
2042
2043        #[doc = "Sample GTETRGn pin input level three times every PCLKB/8"]
2044        pub const _01: Self = Self::new(1);
2045
2046        #[doc = "Sample GTETRGn pin input level three times every PCLKB/32"]
2047        pub const _10: Self = Self::new(2);
2048
2049        #[doc = "Sample GTETRGn pin input level three times every PCLKB/128"]
2050        pub const _11: Self = Self::new(3);
2051    }
2052}