Skip to main content

ra2a1_pac/
gpt161.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.1, with svd2pac 0.6.1 on Sun, 15 Mar 2026 07:00:31 +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"General PWM Timer 1 (16-bit)"]
28unsafe impl ::core::marker::Send for super::Gpt161 {}
29unsafe impl ::core::marker::Sync for super::Gpt161 {}
30impl super::Gpt161 {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36
37    #[doc = "General PWM Timer Write-Protection Register"]
38    #[inline(always)]
39    pub const fn gtwp(&self) -> &'static crate::common::Reg<self::Gtwp_SPEC, crate::common::RW> {
40        unsafe {
41            crate::common::Reg::<self::Gtwp_SPEC, crate::common::RW>::from_ptr(
42                self._svd2pac_as_ptr().add(0usize),
43            )
44        }
45    }
46
47    #[doc = "General PWM Timer Software Start Register"]
48    #[inline(always)]
49    pub const fn gtstr(&self) -> &'static crate::common::Reg<self::Gtstr_SPEC, crate::common::RW> {
50        unsafe {
51            crate::common::Reg::<self::Gtstr_SPEC, crate::common::RW>::from_ptr(
52                self._svd2pac_as_ptr().add(4usize),
53            )
54        }
55    }
56
57    #[doc = "General PWM Timer Software Stop Register"]
58    #[inline(always)]
59    pub const fn gtstp(&self) -> &'static crate::common::Reg<self::Gtstp_SPEC, crate::common::RW> {
60        unsafe {
61            crate::common::Reg::<self::Gtstp_SPEC, crate::common::RW>::from_ptr(
62                self._svd2pac_as_ptr().add(8usize),
63            )
64        }
65    }
66
67    #[doc = "General PWM Timer Software Clear Register"]
68    #[inline(always)]
69    pub const fn gtclr(&self) -> &'static crate::common::Reg<self::Gtclr_SPEC, crate::common::W> {
70        unsafe {
71            crate::common::Reg::<self::Gtclr_SPEC, crate::common::W>::from_ptr(
72                self._svd2pac_as_ptr().add(12usize),
73            )
74        }
75    }
76
77    #[doc = "General PWM Timer Start Source Select Register"]
78    #[inline(always)]
79    pub const fn gtssr(&self) -> &'static crate::common::Reg<self::Gtssr_SPEC, crate::common::RW> {
80        unsafe {
81            crate::common::Reg::<self::Gtssr_SPEC, crate::common::RW>::from_ptr(
82                self._svd2pac_as_ptr().add(16usize),
83            )
84        }
85    }
86
87    #[doc = "General PWM Timer Stop Source Select Register"]
88    #[inline(always)]
89    pub const fn gtpsr(&self) -> &'static crate::common::Reg<self::Gtpsr_SPEC, crate::common::RW> {
90        unsafe {
91            crate::common::Reg::<self::Gtpsr_SPEC, crate::common::RW>::from_ptr(
92                self._svd2pac_as_ptr().add(20usize),
93            )
94        }
95    }
96
97    #[doc = "General PWM Timer Clear Source Select Register"]
98    #[inline(always)]
99    pub const fn gtcsr(&self) -> &'static crate::common::Reg<self::Gtcsr_SPEC, crate::common::RW> {
100        unsafe {
101            crate::common::Reg::<self::Gtcsr_SPEC, crate::common::RW>::from_ptr(
102                self._svd2pac_as_ptr().add(24usize),
103            )
104        }
105    }
106
107    #[doc = "General PWM Timer Up Count Source Select Register"]
108    #[inline(always)]
109    pub const fn gtupsr(
110        &self,
111    ) -> &'static crate::common::Reg<self::Gtupsr_SPEC, crate::common::RW> {
112        unsafe {
113            crate::common::Reg::<self::Gtupsr_SPEC, crate::common::RW>::from_ptr(
114                self._svd2pac_as_ptr().add(28usize),
115            )
116        }
117    }
118
119    #[doc = "General PWM Timer Down Count Source Select Register"]
120    #[inline(always)]
121    pub const fn gtdnsr(
122        &self,
123    ) -> &'static crate::common::Reg<self::Gtdnsr_SPEC, crate::common::RW> {
124        unsafe {
125            crate::common::Reg::<self::Gtdnsr_SPEC, crate::common::RW>::from_ptr(
126                self._svd2pac_as_ptr().add(32usize),
127            )
128        }
129    }
130
131    #[doc = "General PWM Timer Input Capture Source Select Register A"]
132    #[inline(always)]
133    pub const fn gticasr(
134        &self,
135    ) -> &'static crate::common::Reg<self::Gticasr_SPEC, crate::common::RW> {
136        unsafe {
137            crate::common::Reg::<self::Gticasr_SPEC, crate::common::RW>::from_ptr(
138                self._svd2pac_as_ptr().add(36usize),
139            )
140        }
141    }
142
143    #[doc = "General PWM Timer Input Capture Source Select Register B"]
144    #[inline(always)]
145    pub const fn gticbsr(
146        &self,
147    ) -> &'static crate::common::Reg<self::Gticbsr_SPEC, crate::common::RW> {
148        unsafe {
149            crate::common::Reg::<self::Gticbsr_SPEC, crate::common::RW>::from_ptr(
150                self._svd2pac_as_ptr().add(40usize),
151            )
152        }
153    }
154
155    #[doc = "General PWM Timer Control Register"]
156    #[inline(always)]
157    pub const fn gtcr(&self) -> &'static crate::common::Reg<self::Gtcr_SPEC, crate::common::RW> {
158        unsafe {
159            crate::common::Reg::<self::Gtcr_SPEC, crate::common::RW>::from_ptr(
160                self._svd2pac_as_ptr().add(44usize),
161            )
162        }
163    }
164
165    #[doc = "General PWM Timer Count Direction and Duty Setting Register"]
166    #[inline(always)]
167    pub const fn gtuddtyc(
168        &self,
169    ) -> &'static crate::common::Reg<self::Gtuddtyc_SPEC, crate::common::RW> {
170        unsafe {
171            crate::common::Reg::<self::Gtuddtyc_SPEC, crate::common::RW>::from_ptr(
172                self._svd2pac_as_ptr().add(48usize),
173            )
174        }
175    }
176
177    #[doc = "General PWM Timer I/O Control Register"]
178    #[inline(always)]
179    pub const fn gtior(&self) -> &'static crate::common::Reg<self::Gtior_SPEC, crate::common::RW> {
180        unsafe {
181            crate::common::Reg::<self::Gtior_SPEC, crate::common::RW>::from_ptr(
182                self._svd2pac_as_ptr().add(52usize),
183            )
184        }
185    }
186
187    #[doc = "General PWM Timer Interrupt Output Setting Register"]
188    #[inline(always)]
189    pub const fn gtintad(
190        &self,
191    ) -> &'static crate::common::Reg<self::Gtintad_SPEC, crate::common::RW> {
192        unsafe {
193            crate::common::Reg::<self::Gtintad_SPEC, crate::common::RW>::from_ptr(
194                self._svd2pac_as_ptr().add(56usize),
195            )
196        }
197    }
198
199    #[doc = "General PWM Timer Status Register"]
200    #[inline(always)]
201    pub const fn gtst(&self) -> &'static crate::common::Reg<self::Gtst_SPEC, crate::common::RW> {
202        unsafe {
203            crate::common::Reg::<self::Gtst_SPEC, crate::common::RW>::from_ptr(
204                self._svd2pac_as_ptr().add(60usize),
205            )
206        }
207    }
208
209    #[doc = "General PWM Timer Buffer Enable Register"]
210    #[inline(always)]
211    pub const fn gtber(&self) -> &'static crate::common::Reg<self::Gtber_SPEC, crate::common::RW> {
212        unsafe {
213            crate::common::Reg::<self::Gtber_SPEC, crate::common::RW>::from_ptr(
214                self._svd2pac_as_ptr().add(64usize),
215            )
216        }
217    }
218
219    #[doc = "General PWM Timer Counter"]
220    #[inline(always)]
221    pub const fn gtcnt(&self) -> &'static crate::common::Reg<self::Gtcnt_SPEC, crate::common::RW> {
222        unsafe {
223            crate::common::Reg::<self::Gtcnt_SPEC, crate::common::RW>::from_ptr(
224                self._svd2pac_as_ptr().add(72usize),
225            )
226        }
227    }
228
229    #[doc = "General PWM Timer Compare Capture Register A"]
230    #[inline(always)]
231    pub const fn gtccra(
232        &self,
233    ) -> &'static crate::common::Reg<self::Gtccra_SPEC, crate::common::RW> {
234        unsafe {
235            crate::common::Reg::<self::Gtccra_SPEC, crate::common::RW>::from_ptr(
236                self._svd2pac_as_ptr().add(76usize),
237            )
238        }
239    }
240
241    #[doc = "General PWM Timer Compare Capture Register B"]
242    #[inline(always)]
243    pub const fn gtccrb(
244        &self,
245    ) -> &'static crate::common::Reg<self::Gtccrb_SPEC, crate::common::RW> {
246        unsafe {
247            crate::common::Reg::<self::Gtccrb_SPEC, crate::common::RW>::from_ptr(
248                self._svd2pac_as_ptr().add(80usize),
249            )
250        }
251    }
252
253    #[doc = "General PWM Timer Compare Capture Register C"]
254    #[inline(always)]
255    pub const fn gtccrc(
256        &self,
257    ) -> &'static crate::common::Reg<self::Gtccrc_SPEC, crate::common::RW> {
258        unsafe {
259            crate::common::Reg::<self::Gtccrc_SPEC, crate::common::RW>::from_ptr(
260                self._svd2pac_as_ptr().add(84usize),
261            )
262        }
263    }
264
265    #[doc = "General PWM Timer Compare Capture Register E"]
266    #[inline(always)]
267    pub const fn gtccre(
268        &self,
269    ) -> &'static crate::common::Reg<self::Gtccre_SPEC, crate::common::RW> {
270        unsafe {
271            crate::common::Reg::<self::Gtccre_SPEC, crate::common::RW>::from_ptr(
272                self._svd2pac_as_ptr().add(88usize),
273            )
274        }
275    }
276
277    #[doc = "General PWM Timer Compare Capture Register D"]
278    #[inline(always)]
279    pub const fn gtccrd(
280        &self,
281    ) -> &'static crate::common::Reg<self::Gtccrd_SPEC, crate::common::RW> {
282        unsafe {
283            crate::common::Reg::<self::Gtccrd_SPEC, crate::common::RW>::from_ptr(
284                self._svd2pac_as_ptr().add(92usize),
285            )
286        }
287    }
288
289    #[doc = "General PWM Timer Compare Capture Register F"]
290    #[inline(always)]
291    pub const fn gtccrf(
292        &self,
293    ) -> &'static crate::common::Reg<self::Gtccrf_SPEC, crate::common::RW> {
294        unsafe {
295            crate::common::Reg::<self::Gtccrf_SPEC, crate::common::RW>::from_ptr(
296                self._svd2pac_as_ptr().add(96usize),
297            )
298        }
299    }
300
301    #[doc = "General PWM Timer Cycle Setting Register"]
302    #[inline(always)]
303    pub const fn gtpr(&self) -> &'static crate::common::Reg<self::Gtpr_SPEC, crate::common::RW> {
304        unsafe {
305            crate::common::Reg::<self::Gtpr_SPEC, crate::common::RW>::from_ptr(
306                self._svd2pac_as_ptr().add(100usize),
307            )
308        }
309    }
310
311    #[doc = "General PWM Timer Cycle Setting Buffer Register"]
312    #[inline(always)]
313    pub const fn gtpbr(&self) -> &'static crate::common::Reg<self::Gtpbr_SPEC, crate::common::RW> {
314        unsafe {
315            crate::common::Reg::<self::Gtpbr_SPEC, crate::common::RW>::from_ptr(
316                self._svd2pac_as_ptr().add(104usize),
317            )
318        }
319    }
320
321    #[doc = "General PWM Timer Dead Time Control Register"]
322    #[inline(always)]
323    pub const fn gtdtcr(
324        &self,
325    ) -> &'static crate::common::Reg<self::Gtdtcr_SPEC, crate::common::RW> {
326        unsafe {
327            crate::common::Reg::<self::Gtdtcr_SPEC, crate::common::RW>::from_ptr(
328                self._svd2pac_as_ptr().add(136usize),
329            )
330        }
331    }
332
333    #[doc = "General PWM Timer Dead Time Value Register U"]
334    #[inline(always)]
335    pub const fn gtdvu(&self) -> &'static crate::common::Reg<self::Gtdvu_SPEC, crate::common::RW> {
336        unsafe {
337            crate::common::Reg::<self::Gtdvu_SPEC, crate::common::RW>::from_ptr(
338                self._svd2pac_as_ptr().add(140usize),
339            )
340        }
341    }
342}
343#[doc(hidden)]
344#[derive(Copy, Clone, Eq, PartialEq)]
345pub struct Gtwp_SPEC;
346impl crate::sealed::RegSpec for Gtwp_SPEC {
347    type DataType = u32;
348}
349
350#[doc = "General PWM Timer Write-Protection Register"]
351pub type Gtwp = crate::RegValueT<Gtwp_SPEC>;
352
353impl Gtwp {
354    #[doc = "GTWP Key Code"]
355    #[inline(always)]
356    pub fn prkey(
357        self,
358    ) -> crate::common::RegisterField<
359        8,
360        0xff,
361        1,
362        0,
363        gtwp::Prkey,
364        gtwp::Prkey,
365        Gtwp_SPEC,
366        crate::common::W,
367    > {
368        crate::common::RegisterField::<
369            8,
370            0xff,
371            1,
372            0,
373            gtwp::Prkey,
374            gtwp::Prkey,
375            Gtwp_SPEC,
376            crate::common::W,
377        >::from_register(self, 0)
378    }
379
380    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
381    #[inline(always)]
382    pub fn reserved(
383        self,
384    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Gtwp_SPEC, crate::common::RW> {
385        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Gtwp_SPEC,crate::common::RW>::from_register(self,0)
386    }
387
388    #[doc = "Register Write Disable"]
389    #[inline(always)]
390    pub fn wp(
391        self,
392    ) -> crate::common::RegisterField<0, 0x1, 1, 0, gtwp::Wp, gtwp::Wp, Gtwp_SPEC, crate::common::RW>
393    {
394        crate::common::RegisterField::<0,0x1,1,0,gtwp::Wp,gtwp::Wp,Gtwp_SPEC,crate::common::RW>::from_register(self,0)
395    }
396}
397impl ::core::default::Default for Gtwp {
398    #[inline(always)]
399    fn default() -> Gtwp {
400        <crate::RegValueT<Gtwp_SPEC> as RegisterValue<_>>::new(0)
401    }
402}
403pub mod gtwp {
404
405    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
406    pub struct Prkey_SPEC;
407    pub type Prkey = crate::EnumBitfieldStruct<u8, Prkey_SPEC>;
408    impl Prkey {
409        #[doc = "Written to these bits, the WP bits write is permitted."]
410        pub const _0_X_A_5: Self = Self::new(165);
411    }
412    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
413    pub struct Wp_SPEC;
414    pub type Wp = crate::EnumBitfieldStruct<u8, Wp_SPEC>;
415    impl Wp {
416        #[doc = "Write to the register is enabled"]
417        pub const _0: Self = Self::new(0);
418
419        #[doc = "Write to the register is disabled"]
420        pub const _1: Self = Self::new(1);
421    }
422}
423#[doc(hidden)]
424#[derive(Copy, Clone, Eq, PartialEq)]
425pub struct Gtstr_SPEC;
426impl crate::sealed::RegSpec for Gtstr_SPEC {
427    type DataType = u32;
428}
429
430#[doc = "General PWM Timer Software Start Register"]
431pub type Gtstr = crate::RegValueT<Gtstr_SPEC>;
432
433impl Gtstr {
434    #[doc = "These bits are read as 0000000000000000000000000. The write value should be 0000000000000000000000000."]
435    #[inline(always)]
436    pub fn reserved(
437        self,
438    ) -> crate::common::RegisterField<7, 0x1ffffff, 1, 0, u32, u32, Gtstr_SPEC, crate::common::RW>
439    {
440        crate::common::RegisterField::<7,0x1ffffff,1,0,u32,u32,Gtstr_SPEC,crate::common::RW>::from_register(self,0)
441    }
442
443    #[doc = "Channel 6 GTCNT Count StartRead data shows each channel\'s counter status (GTCR.CST bit). 0 means counter stop. 1 means counter running."]
444    #[inline(always)]
445    pub fn cstrt6(
446        self,
447    ) -> crate::common::RegisterField<
448        6,
449        0x1,
450        1,
451        0,
452        gtstr::Cstrt6,
453        gtstr::Cstrt6,
454        Gtstr_SPEC,
455        crate::common::RW,
456    > {
457        crate::common::RegisterField::<
458            6,
459            0x1,
460            1,
461            0,
462            gtstr::Cstrt6,
463            gtstr::Cstrt6,
464            Gtstr_SPEC,
465            crate::common::RW,
466        >::from_register(self, 0)
467    }
468
469    #[doc = "Channel 5 GTCNT Count StartRead data shows each channel\'s counter status (GTCR.CST bit). 0 means counter stop. 1 means counter running."]
470    #[inline(always)]
471    pub fn cstrt5(
472        self,
473    ) -> crate::common::RegisterField<
474        5,
475        0x1,
476        1,
477        0,
478        gtstr::Cstrt5,
479        gtstr::Cstrt5,
480        Gtstr_SPEC,
481        crate::common::RW,
482    > {
483        crate::common::RegisterField::<
484            5,
485            0x1,
486            1,
487            0,
488            gtstr::Cstrt5,
489            gtstr::Cstrt5,
490            Gtstr_SPEC,
491            crate::common::RW,
492        >::from_register(self, 0)
493    }
494
495    #[doc = "Channel 4 GTCNT Count StartRead data shows each channel\'s counter status (GTCR.CST bit). 0 means counter stop. 1 means counter running."]
496    #[inline(always)]
497    pub fn cstrt4(
498        self,
499    ) -> crate::common::RegisterField<
500        4,
501        0x1,
502        1,
503        0,
504        gtstr::Cstrt4,
505        gtstr::Cstrt4,
506        Gtstr_SPEC,
507        crate::common::RW,
508    > {
509        crate::common::RegisterField::<
510            4,
511            0x1,
512            1,
513            0,
514            gtstr::Cstrt4,
515            gtstr::Cstrt4,
516            Gtstr_SPEC,
517            crate::common::RW,
518        >::from_register(self, 0)
519    }
520
521    #[doc = "Channel 3 GTCNT Count StartRead data shows each channel\'s counter status (GTCR.CST bit). 0 means counter stop. 1 means counter running."]
522    #[inline(always)]
523    pub fn cstrt3(
524        self,
525    ) -> crate::common::RegisterField<
526        3,
527        0x1,
528        1,
529        0,
530        gtstr::Cstrt3,
531        gtstr::Cstrt3,
532        Gtstr_SPEC,
533        crate::common::RW,
534    > {
535        crate::common::RegisterField::<
536            3,
537            0x1,
538            1,
539            0,
540            gtstr::Cstrt3,
541            gtstr::Cstrt3,
542            Gtstr_SPEC,
543            crate::common::RW,
544        >::from_register(self, 0)
545    }
546
547    #[doc = "Channel 2 GTCNT Count StartRead data shows each channel\'s counter status (GTCR.CST bit). 0 means counter stop. 1 means counter running."]
548    #[inline(always)]
549    pub fn cstrt2(
550        self,
551    ) -> crate::common::RegisterField<
552        2,
553        0x1,
554        1,
555        0,
556        gtstr::Cstrt2,
557        gtstr::Cstrt2,
558        Gtstr_SPEC,
559        crate::common::RW,
560    > {
561        crate::common::RegisterField::<
562            2,
563            0x1,
564            1,
565            0,
566            gtstr::Cstrt2,
567            gtstr::Cstrt2,
568            Gtstr_SPEC,
569            crate::common::RW,
570        >::from_register(self, 0)
571    }
572
573    #[doc = "Channel 1 GTCNT Count StartRead data shows each channel\'s counter status (GTCR.CST bit). 0 means counter stop. 1 means counter running."]
574    #[inline(always)]
575    pub fn cstrt1(
576        self,
577    ) -> crate::common::RegisterField<
578        1,
579        0x1,
580        1,
581        0,
582        gtstr::Cstrt1,
583        gtstr::Cstrt1,
584        Gtstr_SPEC,
585        crate::common::RW,
586    > {
587        crate::common::RegisterField::<
588            1,
589            0x1,
590            1,
591            0,
592            gtstr::Cstrt1,
593            gtstr::Cstrt1,
594            Gtstr_SPEC,
595            crate::common::RW,
596        >::from_register(self, 0)
597    }
598
599    #[doc = "Channel 0 GTCNT Count StartRead data shows each channel\'s counter status (GTCR.CST bit). 0 means counter stop. 1 means counter running."]
600    #[inline(always)]
601    pub fn cstrt0(
602        self,
603    ) -> crate::common::RegisterField<
604        0,
605        0x1,
606        1,
607        0,
608        gtstr::Cstrt0,
609        gtstr::Cstrt0,
610        Gtstr_SPEC,
611        crate::common::RW,
612    > {
613        crate::common::RegisterField::<
614            0,
615            0x1,
616            1,
617            0,
618            gtstr::Cstrt0,
619            gtstr::Cstrt0,
620            Gtstr_SPEC,
621            crate::common::RW,
622        >::from_register(self, 0)
623    }
624}
625impl ::core::default::Default for Gtstr {
626    #[inline(always)]
627    fn default() -> Gtstr {
628        <crate::RegValueT<Gtstr_SPEC> as RegisterValue<_>>::new(0)
629    }
630}
631pub mod gtstr {
632
633    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
634    pub struct Cstrt6_SPEC;
635    pub type Cstrt6 = crate::EnumBitfieldStruct<u8, Cstrt6_SPEC>;
636    impl Cstrt6 {
637        #[doc = "No effect (write) / counter stop (read)"]
638        pub const _0: Self = Self::new(0);
639
640        #[doc = "GPT166.GTCNT counter starts (write) / Counter running (read)"]
641        pub const _1: Self = Self::new(1);
642    }
643    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
644    pub struct Cstrt5_SPEC;
645    pub type Cstrt5 = crate::EnumBitfieldStruct<u8, Cstrt5_SPEC>;
646    impl Cstrt5 {
647        #[doc = "No effect (write) / counter stop (read)"]
648        pub const _0: Self = Self::new(0);
649
650        #[doc = "GPT165.GTCNT counter starts (write) / Counter running (read)"]
651        pub const _1: Self = Self::new(1);
652    }
653    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
654    pub struct Cstrt4_SPEC;
655    pub type Cstrt4 = crate::EnumBitfieldStruct<u8, Cstrt4_SPEC>;
656    impl Cstrt4 {
657        #[doc = "No effect (write) / counter stop (read)"]
658        pub const _0: Self = Self::new(0);
659
660        #[doc = "GPT164.GTCNT counter starts (write) / Counter running (read)"]
661        pub const _1: Self = Self::new(1);
662    }
663    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
664    pub struct Cstrt3_SPEC;
665    pub type Cstrt3 = crate::EnumBitfieldStruct<u8, Cstrt3_SPEC>;
666    impl Cstrt3 {
667        #[doc = "No effect (write) / counter stop (read)"]
668        pub const _0: Self = Self::new(0);
669
670        #[doc = "GPT163.GTCNT counter starts (write) / Counter running (read)"]
671        pub const _1: Self = Self::new(1);
672    }
673    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
674    pub struct Cstrt2_SPEC;
675    pub type Cstrt2 = crate::EnumBitfieldStruct<u8, Cstrt2_SPEC>;
676    impl Cstrt2 {
677        #[doc = "No effect (write) / counter stop (read)"]
678        pub const _0: Self = Self::new(0);
679
680        #[doc = "GPT162.GTCNT counter starts (write) / Counter running (read)"]
681        pub const _1: Self = Self::new(1);
682    }
683    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
684    pub struct Cstrt1_SPEC;
685    pub type Cstrt1 = crate::EnumBitfieldStruct<u8, Cstrt1_SPEC>;
686    impl Cstrt1 {
687        #[doc = "No effect (write) / counter stop (read)"]
688        pub const _0: Self = Self::new(0);
689
690        #[doc = "GPT161.GTCNT counter starts (write) / Counter running (read)"]
691        pub const _1: Self = Self::new(1);
692    }
693    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
694    pub struct Cstrt0_SPEC;
695    pub type Cstrt0 = crate::EnumBitfieldStruct<u8, Cstrt0_SPEC>;
696    impl Cstrt0 {
697        #[doc = "No effect (write) / counter stop (read)"]
698        pub const _0: Self = Self::new(0);
699
700        #[doc = "GPT320.GTCNT counter starts (write) / Counter running (read)"]
701        pub const _1: Self = Self::new(1);
702    }
703}
704#[doc(hidden)]
705#[derive(Copy, Clone, Eq, PartialEq)]
706pub struct Gtstp_SPEC;
707impl crate::sealed::RegSpec for Gtstp_SPEC {
708    type DataType = u32;
709}
710
711#[doc = "General PWM Timer Software Stop Register"]
712pub type Gtstp = crate::RegValueT<Gtstp_SPEC>;
713
714impl Gtstp {
715    #[doc = "These bits are read as 1111111111111111111111111. The write value should be 1111111111111111111111111."]
716    #[inline(always)]
717    pub fn reserved(
718        self,
719    ) -> crate::common::RegisterField<7, 0x1ffffff, 1, 0, u32, u32, Gtstp_SPEC, crate::common::RW>
720    {
721        crate::common::RegisterField::<7,0x1ffffff,1,0,u32,u32,Gtstp_SPEC,crate::common::RW>::from_register(self,0)
722    }
723
724    #[doc = "Channel 6 GTCNT Count StopRead data shows each channel\'s counter status (GTCR.CST bit). 0 means counter runnning. 1 means counter stop."]
725    #[inline(always)]
726    pub fn cstop6(
727        self,
728    ) -> crate::common::RegisterField<
729        6,
730        0x1,
731        1,
732        0,
733        gtstp::Cstop6,
734        gtstp::Cstop6,
735        Gtstp_SPEC,
736        crate::common::RW,
737    > {
738        crate::common::RegisterField::<
739            6,
740            0x1,
741            1,
742            0,
743            gtstp::Cstop6,
744            gtstp::Cstop6,
745            Gtstp_SPEC,
746            crate::common::RW,
747        >::from_register(self, 0)
748    }
749
750    #[doc = "Channel 5 GTCNT Count StopRead data shows each channel\'s counter status (GTCR.CST bit). 0 means counter runnning. 1 means counter stop."]
751    #[inline(always)]
752    pub fn cstop5(
753        self,
754    ) -> crate::common::RegisterField<
755        5,
756        0x1,
757        1,
758        0,
759        gtstp::Cstop5,
760        gtstp::Cstop5,
761        Gtstp_SPEC,
762        crate::common::RW,
763    > {
764        crate::common::RegisterField::<
765            5,
766            0x1,
767            1,
768            0,
769            gtstp::Cstop5,
770            gtstp::Cstop5,
771            Gtstp_SPEC,
772            crate::common::RW,
773        >::from_register(self, 0)
774    }
775
776    #[doc = "Channel 4 GTCNT Count StopRead data shows each channel\'s counter status (GTCR.CST bit). 0 means counter runnning. 1 means counter stop."]
777    #[inline(always)]
778    pub fn cstop4(
779        self,
780    ) -> crate::common::RegisterField<
781        4,
782        0x1,
783        1,
784        0,
785        gtstp::Cstop4,
786        gtstp::Cstop4,
787        Gtstp_SPEC,
788        crate::common::RW,
789    > {
790        crate::common::RegisterField::<
791            4,
792            0x1,
793            1,
794            0,
795            gtstp::Cstop4,
796            gtstp::Cstop4,
797            Gtstp_SPEC,
798            crate::common::RW,
799        >::from_register(self, 0)
800    }
801
802    #[doc = "Channel 3 GTCNT Count StopRead data shows each channel\'s counter status (GTCR.CST bit). 0 means counter runnning. 1 means counter stop."]
803    #[inline(always)]
804    pub fn cstop3(
805        self,
806    ) -> crate::common::RegisterField<
807        3,
808        0x1,
809        1,
810        0,
811        gtstp::Cstop3,
812        gtstp::Cstop3,
813        Gtstp_SPEC,
814        crate::common::RW,
815    > {
816        crate::common::RegisterField::<
817            3,
818            0x1,
819            1,
820            0,
821            gtstp::Cstop3,
822            gtstp::Cstop3,
823            Gtstp_SPEC,
824            crate::common::RW,
825        >::from_register(self, 0)
826    }
827
828    #[doc = "Channel 2 GTCNT Count StopRead data shows each channel\'s counter status (GTCR.CST bit). 0 means counter runnning. 1 means counter stop."]
829    #[inline(always)]
830    pub fn cstop2(
831        self,
832    ) -> crate::common::RegisterField<
833        2,
834        0x1,
835        1,
836        0,
837        gtstp::Cstop2,
838        gtstp::Cstop2,
839        Gtstp_SPEC,
840        crate::common::RW,
841    > {
842        crate::common::RegisterField::<
843            2,
844            0x1,
845            1,
846            0,
847            gtstp::Cstop2,
848            gtstp::Cstop2,
849            Gtstp_SPEC,
850            crate::common::RW,
851        >::from_register(self, 0)
852    }
853
854    #[doc = "Channel 1 GTCNT Count StopRead data shows each channel\'s counter status (GTCR.CST bit). 0 means counter runnning. 1 means counter stop."]
855    #[inline(always)]
856    pub fn cstop1(
857        self,
858    ) -> crate::common::RegisterField<
859        1,
860        0x1,
861        1,
862        0,
863        gtstp::Cstop1,
864        gtstp::Cstop1,
865        Gtstp_SPEC,
866        crate::common::RW,
867    > {
868        crate::common::RegisterField::<
869            1,
870            0x1,
871            1,
872            0,
873            gtstp::Cstop1,
874            gtstp::Cstop1,
875            Gtstp_SPEC,
876            crate::common::RW,
877        >::from_register(self, 0)
878    }
879
880    #[doc = "Channel 0 GTCNT Count StopRead data shows each channel\'s counter status (GTCR.CST bit). 0 means counter runnning. 1 means counter stop."]
881    #[inline(always)]
882    pub fn cstop0(
883        self,
884    ) -> crate::common::RegisterField<
885        0,
886        0x1,
887        1,
888        0,
889        gtstp::Cstop0,
890        gtstp::Cstop0,
891        Gtstp_SPEC,
892        crate::common::RW,
893    > {
894        crate::common::RegisterField::<
895            0,
896            0x1,
897            1,
898            0,
899            gtstp::Cstop0,
900            gtstp::Cstop0,
901            Gtstp_SPEC,
902            crate::common::RW,
903        >::from_register(self, 0)
904    }
905}
906impl ::core::default::Default for Gtstp {
907    #[inline(always)]
908    fn default() -> Gtstp {
909        <crate::RegValueT<Gtstp_SPEC> as RegisterValue<_>>::new(4294967295)
910    }
911}
912pub mod gtstp {
913
914    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
915    pub struct Cstop6_SPEC;
916    pub type Cstop6 = crate::EnumBitfieldStruct<u8, Cstop6_SPEC>;
917    impl Cstop6 {
918        #[doc = "No effect (write) / counter running (read)"]
919        pub const _0: Self = Self::new(0);
920
921        #[doc = "GPT166.GTCNT counter stops (write) / Counter stop (read)"]
922        pub const _1: Self = Self::new(1);
923    }
924    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
925    pub struct Cstop5_SPEC;
926    pub type Cstop5 = crate::EnumBitfieldStruct<u8, Cstop5_SPEC>;
927    impl Cstop5 {
928        #[doc = "No effect (write) / counter running (read)"]
929        pub const _0: Self = Self::new(0);
930
931        #[doc = "GPT165.GTCNT counter stops (write) / Counter stop (read)"]
932        pub const _1: Self = Self::new(1);
933    }
934    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
935    pub struct Cstop4_SPEC;
936    pub type Cstop4 = crate::EnumBitfieldStruct<u8, Cstop4_SPEC>;
937    impl Cstop4 {
938        #[doc = "No effect (write) / counter running (read)"]
939        pub const _0: Self = Self::new(0);
940
941        #[doc = "GPT164.GTCNT counter stops (write) / Counter stop (read)"]
942        pub const _1: Self = Self::new(1);
943    }
944    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
945    pub struct Cstop3_SPEC;
946    pub type Cstop3 = crate::EnumBitfieldStruct<u8, Cstop3_SPEC>;
947    impl Cstop3 {
948        #[doc = "No effect (write) / counter running (read)"]
949        pub const _0: Self = Self::new(0);
950
951        #[doc = "GPT163.GTCNT counter stops (write) / Counter stop (read)"]
952        pub const _1: Self = Self::new(1);
953    }
954    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
955    pub struct Cstop2_SPEC;
956    pub type Cstop2 = crate::EnumBitfieldStruct<u8, Cstop2_SPEC>;
957    impl Cstop2 {
958        #[doc = "No effect (write) / counter running (read)"]
959        pub const _0: Self = Self::new(0);
960
961        #[doc = "GPT162.GTCNT counter stops (write) / Counter stop (read)"]
962        pub const _1: Self = Self::new(1);
963    }
964    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
965    pub struct Cstop1_SPEC;
966    pub type Cstop1 = crate::EnumBitfieldStruct<u8, Cstop1_SPEC>;
967    impl Cstop1 {
968        #[doc = "No effect (write) / counter running (read)"]
969        pub const _0: Self = Self::new(0);
970
971        #[doc = "GPT161.GTCNT counter stops (write) / Counter stop (read)"]
972        pub const _1: Self = Self::new(1);
973    }
974    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
975    pub struct Cstop0_SPEC;
976    pub type Cstop0 = crate::EnumBitfieldStruct<u8, Cstop0_SPEC>;
977    impl Cstop0 {
978        #[doc = "No effect (write) / counter running (read)"]
979        pub const _0: Self = Self::new(0);
980
981        #[doc = "GPT320.GTCNT counter stops (write) / Counter stop (read)"]
982        pub const _1: Self = Self::new(1);
983    }
984}
985#[doc(hidden)]
986#[derive(Copy, Clone, Eq, PartialEq)]
987pub struct Gtclr_SPEC;
988impl crate::sealed::RegSpec for Gtclr_SPEC {
989    type DataType = u32;
990}
991
992#[doc = "General PWM Timer Software Clear Register"]
993pub type Gtclr = crate::RegValueT<Gtclr_SPEC>;
994
995impl Gtclr {
996    #[doc = "The write value should be 0000000000000000000000000."]
997    #[inline(always)]
998    pub fn reserved(
999        self,
1000    ) -> crate::common::RegisterField<7, 0x1ffffff, 1, 0, u32, u32, Gtclr_SPEC, crate::common::W>
1001    {
1002        crate::common::RegisterField::<7,0x1ffffff,1,0,u32,u32,Gtclr_SPEC,crate::common::W>::from_register(self,0)
1003    }
1004
1005    #[doc = "Channel 6 GTCNT Count Clear"]
1006    #[inline(always)]
1007    pub fn cclr6(
1008        self,
1009    ) -> crate::common::RegisterField<
1010        6,
1011        0x1,
1012        1,
1013        0,
1014        gtclr::Cclr6,
1015        gtclr::Cclr6,
1016        Gtclr_SPEC,
1017        crate::common::W,
1018    > {
1019        crate::common::RegisterField::<
1020            6,
1021            0x1,
1022            1,
1023            0,
1024            gtclr::Cclr6,
1025            gtclr::Cclr6,
1026            Gtclr_SPEC,
1027            crate::common::W,
1028        >::from_register(self, 0)
1029    }
1030
1031    #[doc = "Channel 5 GTCNT Count Clear"]
1032    #[inline(always)]
1033    pub fn cclr5(
1034        self,
1035    ) -> crate::common::RegisterField<
1036        5,
1037        0x1,
1038        1,
1039        0,
1040        gtclr::Cclr5,
1041        gtclr::Cclr5,
1042        Gtclr_SPEC,
1043        crate::common::W,
1044    > {
1045        crate::common::RegisterField::<
1046            5,
1047            0x1,
1048            1,
1049            0,
1050            gtclr::Cclr5,
1051            gtclr::Cclr5,
1052            Gtclr_SPEC,
1053            crate::common::W,
1054        >::from_register(self, 0)
1055    }
1056
1057    #[doc = "Channel 4 GTCNT Count Clear"]
1058    #[inline(always)]
1059    pub fn cclr4(
1060        self,
1061    ) -> crate::common::RegisterField<
1062        4,
1063        0x1,
1064        1,
1065        0,
1066        gtclr::Cclr4,
1067        gtclr::Cclr4,
1068        Gtclr_SPEC,
1069        crate::common::W,
1070    > {
1071        crate::common::RegisterField::<
1072            4,
1073            0x1,
1074            1,
1075            0,
1076            gtclr::Cclr4,
1077            gtclr::Cclr4,
1078            Gtclr_SPEC,
1079            crate::common::W,
1080        >::from_register(self, 0)
1081    }
1082
1083    #[doc = "Channel 3 GTCNT Count Clear"]
1084    #[inline(always)]
1085    pub fn cclr3(
1086        self,
1087    ) -> crate::common::RegisterField<
1088        3,
1089        0x1,
1090        1,
1091        0,
1092        gtclr::Cclr3,
1093        gtclr::Cclr3,
1094        Gtclr_SPEC,
1095        crate::common::W,
1096    > {
1097        crate::common::RegisterField::<
1098            3,
1099            0x1,
1100            1,
1101            0,
1102            gtclr::Cclr3,
1103            gtclr::Cclr3,
1104            Gtclr_SPEC,
1105            crate::common::W,
1106        >::from_register(self, 0)
1107    }
1108
1109    #[doc = "Channel 2 GTCNT Count Clear"]
1110    #[inline(always)]
1111    pub fn cclr2(
1112        self,
1113    ) -> crate::common::RegisterField<
1114        2,
1115        0x1,
1116        1,
1117        0,
1118        gtclr::Cclr2,
1119        gtclr::Cclr2,
1120        Gtclr_SPEC,
1121        crate::common::W,
1122    > {
1123        crate::common::RegisterField::<
1124            2,
1125            0x1,
1126            1,
1127            0,
1128            gtclr::Cclr2,
1129            gtclr::Cclr2,
1130            Gtclr_SPEC,
1131            crate::common::W,
1132        >::from_register(self, 0)
1133    }
1134
1135    #[doc = "Channel 1 GTCNT Count Clear"]
1136    #[inline(always)]
1137    pub fn cclr1(
1138        self,
1139    ) -> crate::common::RegisterField<
1140        1,
1141        0x1,
1142        1,
1143        0,
1144        gtclr::Cclr1,
1145        gtclr::Cclr1,
1146        Gtclr_SPEC,
1147        crate::common::W,
1148    > {
1149        crate::common::RegisterField::<
1150            1,
1151            0x1,
1152            1,
1153            0,
1154            gtclr::Cclr1,
1155            gtclr::Cclr1,
1156            Gtclr_SPEC,
1157            crate::common::W,
1158        >::from_register(self, 0)
1159    }
1160
1161    #[doc = "Channel 0 GTCNT Count Clear"]
1162    #[inline(always)]
1163    pub fn cclr0(
1164        self,
1165    ) -> crate::common::RegisterField<
1166        0,
1167        0x1,
1168        1,
1169        0,
1170        gtclr::Cclr0,
1171        gtclr::Cclr0,
1172        Gtclr_SPEC,
1173        crate::common::W,
1174    > {
1175        crate::common::RegisterField::<
1176            0,
1177            0x1,
1178            1,
1179            0,
1180            gtclr::Cclr0,
1181            gtclr::Cclr0,
1182            Gtclr_SPEC,
1183            crate::common::W,
1184        >::from_register(self, 0)
1185    }
1186}
1187impl ::core::default::Default for Gtclr {
1188    #[inline(always)]
1189    fn default() -> Gtclr {
1190        <crate::RegValueT<Gtclr_SPEC> as RegisterValue<_>>::new(0)
1191    }
1192}
1193pub mod gtclr {
1194
1195    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1196    pub struct Cclr6_SPEC;
1197    pub type Cclr6 = crate::EnumBitfieldStruct<u8, Cclr6_SPEC>;
1198    impl Cclr6 {
1199        #[doc = "No effect"]
1200        pub const _0: Self = Self::new(0);
1201
1202        #[doc = "GPT166.GTCNT counter clears"]
1203        pub const _1: Self = Self::new(1);
1204    }
1205    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1206    pub struct Cclr5_SPEC;
1207    pub type Cclr5 = crate::EnumBitfieldStruct<u8, Cclr5_SPEC>;
1208    impl Cclr5 {
1209        #[doc = "No effect"]
1210        pub const _0: Self = Self::new(0);
1211
1212        #[doc = "GPT165.GTCNT counter clears"]
1213        pub const _1: Self = Self::new(1);
1214    }
1215    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1216    pub struct Cclr4_SPEC;
1217    pub type Cclr4 = crate::EnumBitfieldStruct<u8, Cclr4_SPEC>;
1218    impl Cclr4 {
1219        #[doc = "No effect"]
1220        pub const _0: Self = Self::new(0);
1221
1222        #[doc = "GPT164.GTCNT counter clears"]
1223        pub const _1: Self = Self::new(1);
1224    }
1225    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1226    pub struct Cclr3_SPEC;
1227    pub type Cclr3 = crate::EnumBitfieldStruct<u8, Cclr3_SPEC>;
1228    impl Cclr3 {
1229        #[doc = "No effect"]
1230        pub const _0: Self = Self::new(0);
1231
1232        #[doc = "GPT163.GTCNT counter clears"]
1233        pub const _1: Self = Self::new(1);
1234    }
1235    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1236    pub struct Cclr2_SPEC;
1237    pub type Cclr2 = crate::EnumBitfieldStruct<u8, Cclr2_SPEC>;
1238    impl Cclr2 {
1239        #[doc = "No effect"]
1240        pub const _0: Self = Self::new(0);
1241
1242        #[doc = "GPT162.GTCNT counter clears"]
1243        pub const _1: Self = Self::new(1);
1244    }
1245    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1246    pub struct Cclr1_SPEC;
1247    pub type Cclr1 = crate::EnumBitfieldStruct<u8, Cclr1_SPEC>;
1248    impl Cclr1 {
1249        #[doc = "No effect"]
1250        pub const _0: Self = Self::new(0);
1251
1252        #[doc = "GPT161.GTCNT counter clears"]
1253        pub const _1: Self = Self::new(1);
1254    }
1255    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1256    pub struct Cclr0_SPEC;
1257    pub type Cclr0 = crate::EnumBitfieldStruct<u8, Cclr0_SPEC>;
1258    impl Cclr0 {
1259        #[doc = "No effect"]
1260        pub const _0: Self = Self::new(0);
1261
1262        #[doc = "GPT320.GTCNT counter clears"]
1263        pub const _1: Self = Self::new(1);
1264    }
1265}
1266#[doc(hidden)]
1267#[derive(Copy, Clone, Eq, PartialEq)]
1268pub struct Gtssr_SPEC;
1269impl crate::sealed::RegSpec for Gtssr_SPEC {
1270    type DataType = u32;
1271}
1272
1273#[doc = "General PWM Timer Start Source Select Register"]
1274pub type Gtssr = crate::RegValueT<Gtssr_SPEC>;
1275
1276impl Gtssr {
1277    #[doc = "Software Source Counter Start Enable"]
1278    #[inline(always)]
1279    pub fn cstrt(
1280        self,
1281    ) -> crate::common::RegisterField<
1282        31,
1283        0x1,
1284        1,
1285        0,
1286        gtssr::Cstrt,
1287        gtssr::Cstrt,
1288        Gtssr_SPEC,
1289        crate::common::RW,
1290    > {
1291        crate::common::RegisterField::<
1292            31,
1293            0x1,
1294            1,
1295            0,
1296            gtssr::Cstrt,
1297            gtssr::Cstrt,
1298            Gtssr_SPEC,
1299            crate::common::RW,
1300        >::from_register(self, 0)
1301    }
1302
1303    #[doc = "ELC_GPTD Event Source Counter Start Enable"]
1304    #[inline(always)]
1305    pub fn sselcd(
1306        self,
1307    ) -> crate::common::RegisterField<
1308        19,
1309        0x1,
1310        1,
1311        0,
1312        gtssr::Sselcd,
1313        gtssr::Sselcd,
1314        Gtssr_SPEC,
1315        crate::common::RW,
1316    > {
1317        crate::common::RegisterField::<
1318            19,
1319            0x1,
1320            1,
1321            0,
1322            gtssr::Sselcd,
1323            gtssr::Sselcd,
1324            Gtssr_SPEC,
1325            crate::common::RW,
1326        >::from_register(self, 0)
1327    }
1328
1329    #[doc = "ELC_GPTC Event Source Counter Start Enable"]
1330    #[inline(always)]
1331    pub fn sselcc(
1332        self,
1333    ) -> crate::common::RegisterField<
1334        18,
1335        0x1,
1336        1,
1337        0,
1338        gtssr::Sselcc,
1339        gtssr::Sselcc,
1340        Gtssr_SPEC,
1341        crate::common::RW,
1342    > {
1343        crate::common::RegisterField::<
1344            18,
1345            0x1,
1346            1,
1347            0,
1348            gtssr::Sselcc,
1349            gtssr::Sselcc,
1350            Gtssr_SPEC,
1351            crate::common::RW,
1352        >::from_register(self, 0)
1353    }
1354
1355    #[doc = "ELC_GPTB Event Source Counter Start Enable"]
1356    #[inline(always)]
1357    pub fn sselcb(
1358        self,
1359    ) -> crate::common::RegisterField<
1360        17,
1361        0x1,
1362        1,
1363        0,
1364        gtssr::Sselcb,
1365        gtssr::Sselcb,
1366        Gtssr_SPEC,
1367        crate::common::RW,
1368    > {
1369        crate::common::RegisterField::<
1370            17,
1371            0x1,
1372            1,
1373            0,
1374            gtssr::Sselcb,
1375            gtssr::Sselcb,
1376            Gtssr_SPEC,
1377            crate::common::RW,
1378        >::from_register(self, 0)
1379    }
1380
1381    #[doc = "ELC_GPTA Event Source Counter Start Enable"]
1382    #[inline(always)]
1383    pub fn sselca(
1384        self,
1385    ) -> crate::common::RegisterField<
1386        16,
1387        0x1,
1388        1,
1389        0,
1390        gtssr::Sselca,
1391        gtssr::Sselca,
1392        Gtssr_SPEC,
1393        crate::common::RW,
1394    > {
1395        crate::common::RegisterField::<
1396            16,
1397            0x1,
1398            1,
1399            0,
1400            gtssr::Sselca,
1401            gtssr::Sselca,
1402            Gtssr_SPEC,
1403            crate::common::RW,
1404        >::from_register(self, 0)
1405    }
1406
1407    #[doc = "GTIOCB Pin Falling Input during GTIOCA Value High Source Counter Start Enable"]
1408    #[inline(always)]
1409    pub fn sscbfah(
1410        self,
1411    ) -> crate::common::RegisterField<
1412        15,
1413        0x1,
1414        1,
1415        0,
1416        gtssr::Sscbfah,
1417        gtssr::Sscbfah,
1418        Gtssr_SPEC,
1419        crate::common::RW,
1420    > {
1421        crate::common::RegisterField::<
1422            15,
1423            0x1,
1424            1,
1425            0,
1426            gtssr::Sscbfah,
1427            gtssr::Sscbfah,
1428            Gtssr_SPEC,
1429            crate::common::RW,
1430        >::from_register(self, 0)
1431    }
1432
1433    #[doc = "GTIOCB Pin Falling Input during GTIOCA Value Low Source Counter Start Enable"]
1434    #[inline(always)]
1435    pub fn sscbfal(
1436        self,
1437    ) -> crate::common::RegisterField<
1438        14,
1439        0x1,
1440        1,
1441        0,
1442        gtssr::Sscbfal,
1443        gtssr::Sscbfal,
1444        Gtssr_SPEC,
1445        crate::common::RW,
1446    > {
1447        crate::common::RegisterField::<
1448            14,
1449            0x1,
1450            1,
1451            0,
1452            gtssr::Sscbfal,
1453            gtssr::Sscbfal,
1454            Gtssr_SPEC,
1455            crate::common::RW,
1456        >::from_register(self, 0)
1457    }
1458
1459    #[doc = "GTIOCB Pin Rising Input during GTIOCA Value High Source Counter Start Enable"]
1460    #[inline(always)]
1461    pub fn sscbrah(
1462        self,
1463    ) -> crate::common::RegisterField<
1464        13,
1465        0x1,
1466        1,
1467        0,
1468        gtssr::Sscbrah,
1469        gtssr::Sscbrah,
1470        Gtssr_SPEC,
1471        crate::common::RW,
1472    > {
1473        crate::common::RegisterField::<
1474            13,
1475            0x1,
1476            1,
1477            0,
1478            gtssr::Sscbrah,
1479            gtssr::Sscbrah,
1480            Gtssr_SPEC,
1481            crate::common::RW,
1482        >::from_register(self, 0)
1483    }
1484
1485    #[doc = "GTIOCB Pin Rising Input during GTIOCA Value Low Source Counter Start Enable"]
1486    #[inline(always)]
1487    pub fn sscbral(
1488        self,
1489    ) -> crate::common::RegisterField<
1490        12,
1491        0x1,
1492        1,
1493        0,
1494        gtssr::Sscbral,
1495        gtssr::Sscbral,
1496        Gtssr_SPEC,
1497        crate::common::RW,
1498    > {
1499        crate::common::RegisterField::<
1500            12,
1501            0x1,
1502            1,
1503            0,
1504            gtssr::Sscbral,
1505            gtssr::Sscbral,
1506            Gtssr_SPEC,
1507            crate::common::RW,
1508        >::from_register(self, 0)
1509    }
1510
1511    #[doc = "GTIOCA Pin Falling Input during GTIOCB Value High Source Counter Start Enable"]
1512    #[inline(always)]
1513    pub fn sscafbh(
1514        self,
1515    ) -> crate::common::RegisterField<
1516        11,
1517        0x1,
1518        1,
1519        0,
1520        gtssr::Sscafbh,
1521        gtssr::Sscafbh,
1522        Gtssr_SPEC,
1523        crate::common::RW,
1524    > {
1525        crate::common::RegisterField::<
1526            11,
1527            0x1,
1528            1,
1529            0,
1530            gtssr::Sscafbh,
1531            gtssr::Sscafbh,
1532            Gtssr_SPEC,
1533            crate::common::RW,
1534        >::from_register(self, 0)
1535    }
1536
1537    #[doc = "GTIOCA Pin Falling Input during GTIOCB Value Low Source Counter Start Enable"]
1538    #[inline(always)]
1539    pub fn sscafbl(
1540        self,
1541    ) -> crate::common::RegisterField<
1542        10,
1543        0x1,
1544        1,
1545        0,
1546        gtssr::Sscafbl,
1547        gtssr::Sscafbl,
1548        Gtssr_SPEC,
1549        crate::common::RW,
1550    > {
1551        crate::common::RegisterField::<
1552            10,
1553            0x1,
1554            1,
1555            0,
1556            gtssr::Sscafbl,
1557            gtssr::Sscafbl,
1558            Gtssr_SPEC,
1559            crate::common::RW,
1560        >::from_register(self, 0)
1561    }
1562
1563    #[doc = "GTIOCA Pin Rising Input during GTIOCB Value High Source Counter Start Enable"]
1564    #[inline(always)]
1565    pub fn sscarbh(
1566        self,
1567    ) -> crate::common::RegisterField<
1568        9,
1569        0x1,
1570        1,
1571        0,
1572        gtssr::Sscarbh,
1573        gtssr::Sscarbh,
1574        Gtssr_SPEC,
1575        crate::common::RW,
1576    > {
1577        crate::common::RegisterField::<
1578            9,
1579            0x1,
1580            1,
1581            0,
1582            gtssr::Sscarbh,
1583            gtssr::Sscarbh,
1584            Gtssr_SPEC,
1585            crate::common::RW,
1586        >::from_register(self, 0)
1587    }
1588
1589    #[doc = "GTIOCA Pin Rising Input during GTIOCB Value Low Source Counter Start Enable"]
1590    #[inline(always)]
1591    pub fn sscarbl(
1592        self,
1593    ) -> crate::common::RegisterField<
1594        8,
1595        0x1,
1596        1,
1597        0,
1598        gtssr::Sscarbl,
1599        gtssr::Sscarbl,
1600        Gtssr_SPEC,
1601        crate::common::RW,
1602    > {
1603        crate::common::RegisterField::<
1604            8,
1605            0x1,
1606            1,
1607            0,
1608            gtssr::Sscarbl,
1609            gtssr::Sscarbl,
1610            Gtssr_SPEC,
1611            crate::common::RW,
1612        >::from_register(self, 0)
1613    }
1614
1615    #[doc = "These bits are read as 0000. The write value should be 0000."]
1616    #[inline(always)]
1617    pub fn reserved(
1618        self,
1619    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, Gtssr_SPEC, crate::common::RW> {
1620        crate::common::RegisterField::<4,0xf,1,0,u8,u8,Gtssr_SPEC,crate::common::RW>::from_register(self,0)
1621    }
1622
1623    #[doc = "GTETRGB Pin Falling Input Source Counter Start Enable"]
1624    #[inline(always)]
1625    pub fn ssgtrgbf(
1626        self,
1627    ) -> crate::common::RegisterField<
1628        3,
1629        0x1,
1630        1,
1631        0,
1632        gtssr::Ssgtrgbf,
1633        gtssr::Ssgtrgbf,
1634        Gtssr_SPEC,
1635        crate::common::RW,
1636    > {
1637        crate::common::RegisterField::<
1638            3,
1639            0x1,
1640            1,
1641            0,
1642            gtssr::Ssgtrgbf,
1643            gtssr::Ssgtrgbf,
1644            Gtssr_SPEC,
1645            crate::common::RW,
1646        >::from_register(self, 0)
1647    }
1648
1649    #[doc = "GTETRGB Pin Rising Input Source Counter Start Enable"]
1650    #[inline(always)]
1651    pub fn ssgtrgbr(
1652        self,
1653    ) -> crate::common::RegisterField<
1654        2,
1655        0x1,
1656        1,
1657        0,
1658        gtssr::Ssgtrgbr,
1659        gtssr::Ssgtrgbr,
1660        Gtssr_SPEC,
1661        crate::common::RW,
1662    > {
1663        crate::common::RegisterField::<
1664            2,
1665            0x1,
1666            1,
1667            0,
1668            gtssr::Ssgtrgbr,
1669            gtssr::Ssgtrgbr,
1670            Gtssr_SPEC,
1671            crate::common::RW,
1672        >::from_register(self, 0)
1673    }
1674
1675    #[doc = "GTETRGA Pin Falling Input Source Counter Start Enable"]
1676    #[inline(always)]
1677    pub fn ssgtrgaf(
1678        self,
1679    ) -> crate::common::RegisterField<
1680        1,
1681        0x1,
1682        1,
1683        0,
1684        gtssr::Ssgtrgaf,
1685        gtssr::Ssgtrgaf,
1686        Gtssr_SPEC,
1687        crate::common::RW,
1688    > {
1689        crate::common::RegisterField::<
1690            1,
1691            0x1,
1692            1,
1693            0,
1694            gtssr::Ssgtrgaf,
1695            gtssr::Ssgtrgaf,
1696            Gtssr_SPEC,
1697            crate::common::RW,
1698        >::from_register(self, 0)
1699    }
1700
1701    #[doc = "GTETRGA Pin Rising Input Source Counter Start Enable"]
1702    #[inline(always)]
1703    pub fn ssgtrgar(
1704        self,
1705    ) -> crate::common::RegisterField<
1706        0,
1707        0x1,
1708        1,
1709        0,
1710        gtssr::Ssgtrgar,
1711        gtssr::Ssgtrgar,
1712        Gtssr_SPEC,
1713        crate::common::RW,
1714    > {
1715        crate::common::RegisterField::<
1716            0,
1717            0x1,
1718            1,
1719            0,
1720            gtssr::Ssgtrgar,
1721            gtssr::Ssgtrgar,
1722            Gtssr_SPEC,
1723            crate::common::RW,
1724        >::from_register(self, 0)
1725    }
1726}
1727impl ::core::default::Default for Gtssr {
1728    #[inline(always)]
1729    fn default() -> Gtssr {
1730        <crate::RegValueT<Gtssr_SPEC> as RegisterValue<_>>::new(0)
1731    }
1732}
1733pub mod gtssr {
1734
1735    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1736    pub struct Cstrt_SPEC;
1737    pub type Cstrt = crate::EnumBitfieldStruct<u8, Cstrt_SPEC>;
1738    impl Cstrt {
1739        #[doc = "Counter start is disable by the GTSTR register"]
1740        pub const _0: Self = Self::new(0);
1741
1742        #[doc = "Counter start is enable by the GTSTR register"]
1743        pub const _1: Self = Self::new(1);
1744    }
1745    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1746    pub struct Sselcd_SPEC;
1747    pub type Sselcd = crate::EnumBitfieldStruct<u8, Sselcd_SPEC>;
1748    impl Sselcd {
1749        #[doc = "Counter start is disable at the ELC_GPTD input"]
1750        pub const _0: Self = Self::new(0);
1751
1752        #[doc = "Counter start is enable at the ELC_GPTD input"]
1753        pub const _1: Self = Self::new(1);
1754    }
1755    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1756    pub struct Sselcc_SPEC;
1757    pub type Sselcc = crate::EnumBitfieldStruct<u8, Sselcc_SPEC>;
1758    impl Sselcc {
1759        #[doc = "Counter start is disable at the ELC_GPTC input"]
1760        pub const _0: Self = Self::new(0);
1761
1762        #[doc = "Counter start is enable at the ELC_GPTC input"]
1763        pub const _1: Self = Self::new(1);
1764    }
1765    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1766    pub struct Sselcb_SPEC;
1767    pub type Sselcb = crate::EnumBitfieldStruct<u8, Sselcb_SPEC>;
1768    impl Sselcb {
1769        #[doc = "Counter start is disable at the ELC_GPTB input"]
1770        pub const _0: Self = Self::new(0);
1771
1772        #[doc = "Counter start is enable at the ELC_GPTB input"]
1773        pub const _1: Self = Self::new(1);
1774    }
1775    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1776    pub struct Sselca_SPEC;
1777    pub type Sselca = crate::EnumBitfieldStruct<u8, Sselca_SPEC>;
1778    impl Sselca {
1779        #[doc = "Counter start is disable at the ELC_GPTA input"]
1780        pub const _0: Self = Self::new(0);
1781
1782        #[doc = "Counter start is enable at the ELC_GPTA input"]
1783        pub const _1: Self = Self::new(1);
1784    }
1785    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1786    pub struct Sscbfah_SPEC;
1787    pub type Sscbfah = crate::EnumBitfieldStruct<u8, Sscbfah_SPEC>;
1788    impl Sscbfah {
1789        #[doc = "Counter start is disable at the falling edge of GTIOCB input when GTIOCA input is 1"]
1790        pub const _0: Self = Self::new(0);
1791
1792        #[doc = "Counter start is enable at the falling edge of GTIOCB input when GTIOCA input is 1"]
1793        pub const _1: Self = Self::new(1);
1794    }
1795    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1796    pub struct Sscbfal_SPEC;
1797    pub type Sscbfal = crate::EnumBitfieldStruct<u8, Sscbfal_SPEC>;
1798    impl Sscbfal {
1799        #[doc = "Counter start is disable at the falling edge of GTIOCB input when GTIOCA input is 0"]
1800        pub const _0: Self = Self::new(0);
1801
1802        #[doc = "Counter start is enable at the falling edge of GTIOCB input when GTIOCA input is 0"]
1803        pub const _1: Self = Self::new(1);
1804    }
1805    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1806    pub struct Sscbrah_SPEC;
1807    pub type Sscbrah = crate::EnumBitfieldStruct<u8, Sscbrah_SPEC>;
1808    impl Sscbrah {
1809        #[doc = "Counter start is disable at the rising edge of GTIOCB input when GTIOCA input is 1"]
1810        pub const _0: Self = Self::new(0);
1811
1812        #[doc = "Counter start is enable at the rising edge of GTIOCB input when GTIOCA input is 1"]
1813        pub const _1: Self = Self::new(1);
1814    }
1815    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1816    pub struct Sscbral_SPEC;
1817    pub type Sscbral = crate::EnumBitfieldStruct<u8, Sscbral_SPEC>;
1818    impl Sscbral {
1819        #[doc = "Counter start is disable at the rising edge of GTIOCB input when GTIOCA input is 0"]
1820        pub const _0: Self = Self::new(0);
1821
1822        #[doc = "Counter start is enable at the rising edge of GTIOCB input when GTIOCA input is 0"]
1823        pub const _1: Self = Self::new(1);
1824    }
1825    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1826    pub struct Sscafbh_SPEC;
1827    pub type Sscafbh = crate::EnumBitfieldStruct<u8, Sscafbh_SPEC>;
1828    impl Sscafbh {
1829        #[doc = "Counter start is disable at the falling edge of GTIOCA input when GTIOCB input is 1"]
1830        pub const _0: Self = Self::new(0);
1831
1832        #[doc = "Counter start is enable at the falling edge of GTIOCA input when GTIOCB input is 1"]
1833        pub const _1: Self = Self::new(1);
1834    }
1835    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1836    pub struct Sscafbl_SPEC;
1837    pub type Sscafbl = crate::EnumBitfieldStruct<u8, Sscafbl_SPEC>;
1838    impl Sscafbl {
1839        #[doc = "Counter start is disable at the falling edge of GTIOCA input when GTIOCB input is 0"]
1840        pub const _0: Self = Self::new(0);
1841
1842        #[doc = "Counter start is enable at the falling edge of GTIOCA input when GTIOCB input is 0"]
1843        pub const _1: Self = Self::new(1);
1844    }
1845    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1846    pub struct Sscarbh_SPEC;
1847    pub type Sscarbh = crate::EnumBitfieldStruct<u8, Sscarbh_SPEC>;
1848    impl Sscarbh {
1849        #[doc = "Counter start is disable at the rising edge of GTIOCA input when GTIOCB input is 1"]
1850        pub const _0: Self = Self::new(0);
1851
1852        #[doc = "Counter start is enable at the rising edge of GTIOCA input when GTIOCB input is 1"]
1853        pub const _1: Self = Self::new(1);
1854    }
1855    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1856    pub struct Sscarbl_SPEC;
1857    pub type Sscarbl = crate::EnumBitfieldStruct<u8, Sscarbl_SPEC>;
1858    impl Sscarbl {
1859        #[doc = "Counter start is disable at the rising edge of GTIOCA input when GTIOCB input is 0"]
1860        pub const _0: Self = Self::new(0);
1861
1862        #[doc = "Counter start is enable at the rising edge of GTIOCA input when GTIOCB input is 0"]
1863        pub const _1: Self = Self::new(1);
1864    }
1865    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1866    pub struct Ssgtrgbf_SPEC;
1867    pub type Ssgtrgbf = crate::EnumBitfieldStruct<u8, Ssgtrgbf_SPEC>;
1868    impl Ssgtrgbf {
1869        #[doc = "Counter start is disable at the falling edge of GTETRGB input"]
1870        pub const _0: Self = Self::new(0);
1871
1872        #[doc = "Counter start is enable at the falling edge of GTETRGB input"]
1873        pub const _1: Self = Self::new(1);
1874    }
1875    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1876    pub struct Ssgtrgbr_SPEC;
1877    pub type Ssgtrgbr = crate::EnumBitfieldStruct<u8, Ssgtrgbr_SPEC>;
1878    impl Ssgtrgbr {
1879        #[doc = "Counter start is disable at the rising edge of GTETRGB input"]
1880        pub const _0: Self = Self::new(0);
1881
1882        #[doc = "Counter start is enable at the rising edge of GTETRGB input"]
1883        pub const _1: Self = Self::new(1);
1884    }
1885    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1886    pub struct Ssgtrgaf_SPEC;
1887    pub type Ssgtrgaf = crate::EnumBitfieldStruct<u8, Ssgtrgaf_SPEC>;
1888    impl Ssgtrgaf {
1889        #[doc = "Counter start is disable at the falling edge of GTETRGA input"]
1890        pub const _0: Self = Self::new(0);
1891
1892        #[doc = "Counter start is enable at the falling edge of GTETRGA input"]
1893        pub const _1: Self = Self::new(1);
1894    }
1895    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1896    pub struct Ssgtrgar_SPEC;
1897    pub type Ssgtrgar = crate::EnumBitfieldStruct<u8, Ssgtrgar_SPEC>;
1898    impl Ssgtrgar {
1899        #[doc = "Counter start is disable at the rising edge of GTETRGA input"]
1900        pub const _0: Self = Self::new(0);
1901
1902        #[doc = "Counter start is enable at the rising edge of GTETRGA input"]
1903        pub const _1: Self = Self::new(1);
1904    }
1905}
1906#[doc(hidden)]
1907#[derive(Copy, Clone, Eq, PartialEq)]
1908pub struct Gtpsr_SPEC;
1909impl crate::sealed::RegSpec for Gtpsr_SPEC {
1910    type DataType = u32;
1911}
1912
1913#[doc = "General PWM Timer Stop Source Select Register"]
1914pub type Gtpsr = crate::RegValueT<Gtpsr_SPEC>;
1915
1916impl Gtpsr {
1917    #[doc = "Software Source Counter Stop Enable"]
1918    #[inline(always)]
1919    pub fn cstop(
1920        self,
1921    ) -> crate::common::RegisterField<
1922        31,
1923        0x1,
1924        1,
1925        0,
1926        gtpsr::Cstop,
1927        gtpsr::Cstop,
1928        Gtpsr_SPEC,
1929        crate::common::RW,
1930    > {
1931        crate::common::RegisterField::<
1932            31,
1933            0x1,
1934            1,
1935            0,
1936            gtpsr::Cstop,
1937            gtpsr::Cstop,
1938            Gtpsr_SPEC,
1939            crate::common::RW,
1940        >::from_register(self, 0)
1941    }
1942
1943    #[doc = "ELC_GPTD Event Source Counter Stop Enable"]
1944    #[inline(always)]
1945    pub fn pselcd(
1946        self,
1947    ) -> crate::common::RegisterField<
1948        19,
1949        0x1,
1950        1,
1951        0,
1952        gtpsr::Pselcd,
1953        gtpsr::Pselcd,
1954        Gtpsr_SPEC,
1955        crate::common::RW,
1956    > {
1957        crate::common::RegisterField::<
1958            19,
1959            0x1,
1960            1,
1961            0,
1962            gtpsr::Pselcd,
1963            gtpsr::Pselcd,
1964            Gtpsr_SPEC,
1965            crate::common::RW,
1966        >::from_register(self, 0)
1967    }
1968
1969    #[doc = "ELC_GPTC Event Source Counter Stop Enable"]
1970    #[inline(always)]
1971    pub fn pselcc(
1972        self,
1973    ) -> crate::common::RegisterField<
1974        18,
1975        0x1,
1976        1,
1977        0,
1978        gtpsr::Pselcc,
1979        gtpsr::Pselcc,
1980        Gtpsr_SPEC,
1981        crate::common::RW,
1982    > {
1983        crate::common::RegisterField::<
1984            18,
1985            0x1,
1986            1,
1987            0,
1988            gtpsr::Pselcc,
1989            gtpsr::Pselcc,
1990            Gtpsr_SPEC,
1991            crate::common::RW,
1992        >::from_register(self, 0)
1993    }
1994
1995    #[doc = "ELC_GPTB Event Source Counter Stop Enable"]
1996    #[inline(always)]
1997    pub fn pselcb(
1998        self,
1999    ) -> crate::common::RegisterField<
2000        17,
2001        0x1,
2002        1,
2003        0,
2004        gtpsr::Pselcb,
2005        gtpsr::Pselcb,
2006        Gtpsr_SPEC,
2007        crate::common::RW,
2008    > {
2009        crate::common::RegisterField::<
2010            17,
2011            0x1,
2012            1,
2013            0,
2014            gtpsr::Pselcb,
2015            gtpsr::Pselcb,
2016            Gtpsr_SPEC,
2017            crate::common::RW,
2018        >::from_register(self, 0)
2019    }
2020
2021    #[doc = "ELC_GPTA Event Source Counter Stop Enable"]
2022    #[inline(always)]
2023    pub fn pselca(
2024        self,
2025    ) -> crate::common::RegisterField<
2026        16,
2027        0x1,
2028        1,
2029        0,
2030        gtpsr::Pselca,
2031        gtpsr::Pselca,
2032        Gtpsr_SPEC,
2033        crate::common::RW,
2034    > {
2035        crate::common::RegisterField::<
2036            16,
2037            0x1,
2038            1,
2039            0,
2040            gtpsr::Pselca,
2041            gtpsr::Pselca,
2042            Gtpsr_SPEC,
2043            crate::common::RW,
2044        >::from_register(self, 0)
2045    }
2046
2047    #[doc = "GTIOCB Pin Falling Input during GTIOCA Value High Source Counter Stop Enable"]
2048    #[inline(always)]
2049    pub fn pscbfah(
2050        self,
2051    ) -> crate::common::RegisterField<
2052        15,
2053        0x1,
2054        1,
2055        0,
2056        gtpsr::Pscbfah,
2057        gtpsr::Pscbfah,
2058        Gtpsr_SPEC,
2059        crate::common::RW,
2060    > {
2061        crate::common::RegisterField::<
2062            15,
2063            0x1,
2064            1,
2065            0,
2066            gtpsr::Pscbfah,
2067            gtpsr::Pscbfah,
2068            Gtpsr_SPEC,
2069            crate::common::RW,
2070        >::from_register(self, 0)
2071    }
2072
2073    #[doc = "GTIOCB Pin Falling Input during GTIOCA Value Low Source Counter Stop Enable"]
2074    #[inline(always)]
2075    pub fn pscbfal(
2076        self,
2077    ) -> crate::common::RegisterField<
2078        14,
2079        0x1,
2080        1,
2081        0,
2082        gtpsr::Pscbfal,
2083        gtpsr::Pscbfal,
2084        Gtpsr_SPEC,
2085        crate::common::RW,
2086    > {
2087        crate::common::RegisterField::<
2088            14,
2089            0x1,
2090            1,
2091            0,
2092            gtpsr::Pscbfal,
2093            gtpsr::Pscbfal,
2094            Gtpsr_SPEC,
2095            crate::common::RW,
2096        >::from_register(self, 0)
2097    }
2098
2099    #[doc = "GTIOCB Pin Rising Input during GTIOCA Value High Source Counter Stop Enable"]
2100    #[inline(always)]
2101    pub fn pscbrah(
2102        self,
2103    ) -> crate::common::RegisterField<
2104        13,
2105        0x1,
2106        1,
2107        0,
2108        gtpsr::Pscbrah,
2109        gtpsr::Pscbrah,
2110        Gtpsr_SPEC,
2111        crate::common::RW,
2112    > {
2113        crate::common::RegisterField::<
2114            13,
2115            0x1,
2116            1,
2117            0,
2118            gtpsr::Pscbrah,
2119            gtpsr::Pscbrah,
2120            Gtpsr_SPEC,
2121            crate::common::RW,
2122        >::from_register(self, 0)
2123    }
2124
2125    #[doc = "GTIOCB Pin Rising Input during GTIOCA Value Low Source Counter Stop Enable"]
2126    #[inline(always)]
2127    pub fn pscbral(
2128        self,
2129    ) -> crate::common::RegisterField<
2130        12,
2131        0x1,
2132        1,
2133        0,
2134        gtpsr::Pscbral,
2135        gtpsr::Pscbral,
2136        Gtpsr_SPEC,
2137        crate::common::RW,
2138    > {
2139        crate::common::RegisterField::<
2140            12,
2141            0x1,
2142            1,
2143            0,
2144            gtpsr::Pscbral,
2145            gtpsr::Pscbral,
2146            Gtpsr_SPEC,
2147            crate::common::RW,
2148        >::from_register(self, 0)
2149    }
2150
2151    #[doc = "GTIOCA Pin Falling Input during GTIOCB Value High Source Counter Stop Enable"]
2152    #[inline(always)]
2153    pub fn pscafbh(
2154        self,
2155    ) -> crate::common::RegisterField<
2156        11,
2157        0x1,
2158        1,
2159        0,
2160        gtpsr::Pscafbh,
2161        gtpsr::Pscafbh,
2162        Gtpsr_SPEC,
2163        crate::common::RW,
2164    > {
2165        crate::common::RegisterField::<
2166            11,
2167            0x1,
2168            1,
2169            0,
2170            gtpsr::Pscafbh,
2171            gtpsr::Pscafbh,
2172            Gtpsr_SPEC,
2173            crate::common::RW,
2174        >::from_register(self, 0)
2175    }
2176
2177    #[doc = "GTIOCA Pin Falling Input during GTIOCB Value Low Source Counter Stop Enable"]
2178    #[inline(always)]
2179    pub fn pscafbl(
2180        self,
2181    ) -> crate::common::RegisterField<
2182        10,
2183        0x1,
2184        1,
2185        0,
2186        gtpsr::Pscafbl,
2187        gtpsr::Pscafbl,
2188        Gtpsr_SPEC,
2189        crate::common::RW,
2190    > {
2191        crate::common::RegisterField::<
2192            10,
2193            0x1,
2194            1,
2195            0,
2196            gtpsr::Pscafbl,
2197            gtpsr::Pscafbl,
2198            Gtpsr_SPEC,
2199            crate::common::RW,
2200        >::from_register(self, 0)
2201    }
2202
2203    #[doc = "GTIOCA Pin Rising Input during GTIOCB Value High Source Counter Stop Enable"]
2204    #[inline(always)]
2205    pub fn pscarbh(
2206        self,
2207    ) -> crate::common::RegisterField<
2208        9,
2209        0x1,
2210        1,
2211        0,
2212        gtpsr::Pscarbh,
2213        gtpsr::Pscarbh,
2214        Gtpsr_SPEC,
2215        crate::common::RW,
2216    > {
2217        crate::common::RegisterField::<
2218            9,
2219            0x1,
2220            1,
2221            0,
2222            gtpsr::Pscarbh,
2223            gtpsr::Pscarbh,
2224            Gtpsr_SPEC,
2225            crate::common::RW,
2226        >::from_register(self, 0)
2227    }
2228
2229    #[doc = "GTIOCA Pin Rising Input during GTIOCB Value Low Source Counter Stop Enable"]
2230    #[inline(always)]
2231    pub fn pscarbl(
2232        self,
2233    ) -> crate::common::RegisterField<
2234        8,
2235        0x1,
2236        1,
2237        0,
2238        gtpsr::Pscarbl,
2239        gtpsr::Pscarbl,
2240        Gtpsr_SPEC,
2241        crate::common::RW,
2242    > {
2243        crate::common::RegisterField::<
2244            8,
2245            0x1,
2246            1,
2247            0,
2248            gtpsr::Pscarbl,
2249            gtpsr::Pscarbl,
2250            Gtpsr_SPEC,
2251            crate::common::RW,
2252        >::from_register(self, 0)
2253    }
2254
2255    #[doc = "These bits are read as 0000. The write value should be 0000."]
2256    #[inline(always)]
2257    pub fn reserved(
2258        self,
2259    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, Gtpsr_SPEC, crate::common::RW> {
2260        crate::common::RegisterField::<4,0xf,1,0,u8,u8,Gtpsr_SPEC,crate::common::RW>::from_register(self,0)
2261    }
2262
2263    #[doc = "GTETRGB Pin Falling Input Source Counter Stop Enable"]
2264    #[inline(always)]
2265    pub fn psgtrgbf(
2266        self,
2267    ) -> crate::common::RegisterField<
2268        3,
2269        0x1,
2270        1,
2271        0,
2272        gtpsr::Psgtrgbf,
2273        gtpsr::Psgtrgbf,
2274        Gtpsr_SPEC,
2275        crate::common::RW,
2276    > {
2277        crate::common::RegisterField::<
2278            3,
2279            0x1,
2280            1,
2281            0,
2282            gtpsr::Psgtrgbf,
2283            gtpsr::Psgtrgbf,
2284            Gtpsr_SPEC,
2285            crate::common::RW,
2286        >::from_register(self, 0)
2287    }
2288
2289    #[doc = "GTETRGB Pin Rising Input Source Counter Stop Enable"]
2290    #[inline(always)]
2291    pub fn psgtrgbr(
2292        self,
2293    ) -> crate::common::RegisterField<
2294        2,
2295        0x1,
2296        1,
2297        0,
2298        gtpsr::Psgtrgbr,
2299        gtpsr::Psgtrgbr,
2300        Gtpsr_SPEC,
2301        crate::common::RW,
2302    > {
2303        crate::common::RegisterField::<
2304            2,
2305            0x1,
2306            1,
2307            0,
2308            gtpsr::Psgtrgbr,
2309            gtpsr::Psgtrgbr,
2310            Gtpsr_SPEC,
2311            crate::common::RW,
2312        >::from_register(self, 0)
2313    }
2314
2315    #[doc = "GTETRGA Pin Falling Input Source Counter Stop Enable"]
2316    #[inline(always)]
2317    pub fn psgtrgaf(
2318        self,
2319    ) -> crate::common::RegisterField<
2320        1,
2321        0x1,
2322        1,
2323        0,
2324        gtpsr::Psgtrgaf,
2325        gtpsr::Psgtrgaf,
2326        Gtpsr_SPEC,
2327        crate::common::RW,
2328    > {
2329        crate::common::RegisterField::<
2330            1,
2331            0x1,
2332            1,
2333            0,
2334            gtpsr::Psgtrgaf,
2335            gtpsr::Psgtrgaf,
2336            Gtpsr_SPEC,
2337            crate::common::RW,
2338        >::from_register(self, 0)
2339    }
2340
2341    #[doc = "GTETRGA Pin Rising Input Source Counter Stop Enable"]
2342    #[inline(always)]
2343    pub fn psgtrgar(
2344        self,
2345    ) -> crate::common::RegisterField<
2346        0,
2347        0x1,
2348        1,
2349        0,
2350        gtpsr::Psgtrgar,
2351        gtpsr::Psgtrgar,
2352        Gtpsr_SPEC,
2353        crate::common::RW,
2354    > {
2355        crate::common::RegisterField::<
2356            0,
2357            0x1,
2358            1,
2359            0,
2360            gtpsr::Psgtrgar,
2361            gtpsr::Psgtrgar,
2362            Gtpsr_SPEC,
2363            crate::common::RW,
2364        >::from_register(self, 0)
2365    }
2366}
2367impl ::core::default::Default for Gtpsr {
2368    #[inline(always)]
2369    fn default() -> Gtpsr {
2370        <crate::RegValueT<Gtpsr_SPEC> as RegisterValue<_>>::new(0)
2371    }
2372}
2373pub mod gtpsr {
2374
2375    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2376    pub struct Cstop_SPEC;
2377    pub type Cstop = crate::EnumBitfieldStruct<u8, Cstop_SPEC>;
2378    impl Cstop {
2379        #[doc = "Counter stop is disable by the GTSTP register"]
2380        pub const _0: Self = Self::new(0);
2381
2382        #[doc = "Counter stop is enable by the GTSTP register"]
2383        pub const _1: Self = Self::new(1);
2384    }
2385    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2386    pub struct Pselcd_SPEC;
2387    pub type Pselcd = crate::EnumBitfieldStruct<u8, Pselcd_SPEC>;
2388    impl Pselcd {
2389        #[doc = "Counter stop is disable at the ELC_GPTD input"]
2390        pub const _0: Self = Self::new(0);
2391
2392        #[doc = "Counter stop is enable at the ELC_GPTD input"]
2393        pub const _1: Self = Self::new(1);
2394    }
2395    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2396    pub struct Pselcc_SPEC;
2397    pub type Pselcc = crate::EnumBitfieldStruct<u8, Pselcc_SPEC>;
2398    impl Pselcc {
2399        #[doc = "Counter stop is disable at the ELC_GPTC input"]
2400        pub const _0: Self = Self::new(0);
2401
2402        #[doc = "Counter stop is enable at the ELC_GPTC input"]
2403        pub const _1: Self = Self::new(1);
2404    }
2405    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2406    pub struct Pselcb_SPEC;
2407    pub type Pselcb = crate::EnumBitfieldStruct<u8, Pselcb_SPEC>;
2408    impl Pselcb {
2409        #[doc = "Counter stop is disable at the ELC_GPTB input"]
2410        pub const _0: Self = Self::new(0);
2411
2412        #[doc = "Counter stop is enable at the ELC_GPTB input"]
2413        pub const _1: Self = Self::new(1);
2414    }
2415    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2416    pub struct Pselca_SPEC;
2417    pub type Pselca = crate::EnumBitfieldStruct<u8, Pselca_SPEC>;
2418    impl Pselca {
2419        #[doc = "Counter stop is disable at the ELC_GPTA input"]
2420        pub const _0: Self = Self::new(0);
2421
2422        #[doc = "Counter stop is enable at the ELC_GPTA input"]
2423        pub const _1: Self = Self::new(1);
2424    }
2425    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2426    pub struct Pscbfah_SPEC;
2427    pub type Pscbfah = crate::EnumBitfieldStruct<u8, Pscbfah_SPEC>;
2428    impl Pscbfah {
2429        #[doc = "Counter stop is disable at the falling edge of GTIOCB input when GTIOCA input is 1"]
2430        pub const _0: Self = Self::new(0);
2431
2432        #[doc = "Counter stop is enable at the falling edge of GTIOCB input when GTIOCA input is 1"]
2433        pub const _1: Self = Self::new(1);
2434    }
2435    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2436    pub struct Pscbfal_SPEC;
2437    pub type Pscbfal = crate::EnumBitfieldStruct<u8, Pscbfal_SPEC>;
2438    impl Pscbfal {
2439        #[doc = "Counter stop is disable at the falling edge of GTIOCB input when GTIOCA input is 0"]
2440        pub const _0: Self = Self::new(0);
2441
2442        #[doc = "Counter stop is enable at the falling edge of GTIOCB input when GTIOCA input is 0"]
2443        pub const _1: Self = Self::new(1);
2444    }
2445    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2446    pub struct Pscbrah_SPEC;
2447    pub type Pscbrah = crate::EnumBitfieldStruct<u8, Pscbrah_SPEC>;
2448    impl Pscbrah {
2449        #[doc = "Counter stop is disable at the rising edge of GTIOCB input when GTIOCA input is 1"]
2450        pub const _0: Self = Self::new(0);
2451
2452        #[doc = "Counter stop is enable at the rising edge of GTIOCB input when GTIOCA input is 1"]
2453        pub const _1: Self = Self::new(1);
2454    }
2455    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2456    pub struct Pscbral_SPEC;
2457    pub type Pscbral = crate::EnumBitfieldStruct<u8, Pscbral_SPEC>;
2458    impl Pscbral {
2459        #[doc = "Counter stop is disable at the rising edge of GTIOCB input when GTIOCA input is 0"]
2460        pub const _0: Self = Self::new(0);
2461
2462        #[doc = "Counter stop is enable at the rising edge of GTIOCB input when GTIOCA input is 0"]
2463        pub const _1: Self = Self::new(1);
2464    }
2465    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2466    pub struct Pscafbh_SPEC;
2467    pub type Pscafbh = crate::EnumBitfieldStruct<u8, Pscafbh_SPEC>;
2468    impl Pscafbh {
2469        #[doc = "Counter stop is disable at the falling edge of GTIOCA input when GTIOCB input is 1"]
2470        pub const _0: Self = Self::new(0);
2471
2472        #[doc = "Counter stop is enable at the falling edge of GTIOCA input when GTIOCB input is 1"]
2473        pub const _1: Self = Self::new(1);
2474    }
2475    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2476    pub struct Pscafbl_SPEC;
2477    pub type Pscafbl = crate::EnumBitfieldStruct<u8, Pscafbl_SPEC>;
2478    impl Pscafbl {
2479        #[doc = "Counter stop is disable at the falling edge of GTIOCA input when GTIOCB input is 0"]
2480        pub const _0: Self = Self::new(0);
2481
2482        #[doc = "Counter stop is enable at the falling edge of GTIOCA input when GTIOCB input is 0"]
2483        pub const _1: Self = Self::new(1);
2484    }
2485    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2486    pub struct Pscarbh_SPEC;
2487    pub type Pscarbh = crate::EnumBitfieldStruct<u8, Pscarbh_SPEC>;
2488    impl Pscarbh {
2489        #[doc = "Counter stop is disable at the rising edge of GTIOCA input when GTIOCB input is 1"]
2490        pub const _0: Self = Self::new(0);
2491
2492        #[doc = "Counter stop is enable at the rising edge of GTIOCA input when GTIOCB input is 1"]
2493        pub const _1: Self = Self::new(1);
2494    }
2495    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2496    pub struct Pscarbl_SPEC;
2497    pub type Pscarbl = crate::EnumBitfieldStruct<u8, Pscarbl_SPEC>;
2498    impl Pscarbl {
2499        #[doc = "Counter stop is disable at the rising edge of GTIOCA input when GTIOCB input is 0"]
2500        pub const _0: Self = Self::new(0);
2501
2502        #[doc = "Counter stop is enable at the rising edge of GTIOCA input when GTIOCB input is 0"]
2503        pub const _1: Self = Self::new(1);
2504    }
2505    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2506    pub struct Psgtrgbf_SPEC;
2507    pub type Psgtrgbf = crate::EnumBitfieldStruct<u8, Psgtrgbf_SPEC>;
2508    impl Psgtrgbf {
2509        #[doc = "Counter stop is disable at the falling edge of GTETRGB input"]
2510        pub const _0: Self = Self::new(0);
2511
2512        #[doc = "Counter stop is enable at the falling edge of GTETRGB input"]
2513        pub const _1: Self = Self::new(1);
2514    }
2515    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2516    pub struct Psgtrgbr_SPEC;
2517    pub type Psgtrgbr = crate::EnumBitfieldStruct<u8, Psgtrgbr_SPEC>;
2518    impl Psgtrgbr {
2519        #[doc = "Counter stop is disable at the rising edge of GTETRGB input"]
2520        pub const _0: Self = Self::new(0);
2521
2522        #[doc = "Counter stop is enable at the rising edge of GTETRGB input"]
2523        pub const _1: Self = Self::new(1);
2524    }
2525    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2526    pub struct Psgtrgaf_SPEC;
2527    pub type Psgtrgaf = crate::EnumBitfieldStruct<u8, Psgtrgaf_SPEC>;
2528    impl Psgtrgaf {
2529        #[doc = "Counter stop is disable at the falling edge of GTETRGA input"]
2530        pub const _0: Self = Self::new(0);
2531
2532        #[doc = "Counter stop is enable at the falling edge of GTETRGA input"]
2533        pub const _1: Self = Self::new(1);
2534    }
2535    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2536    pub struct Psgtrgar_SPEC;
2537    pub type Psgtrgar = crate::EnumBitfieldStruct<u8, Psgtrgar_SPEC>;
2538    impl Psgtrgar {
2539        #[doc = "Counter stop is disable at the rising edge of GTETRGA input"]
2540        pub const _0: Self = Self::new(0);
2541
2542        #[doc = "Counter stop is enable at the rising edge of GTETRGA input"]
2543        pub const _1: Self = Self::new(1);
2544    }
2545}
2546#[doc(hidden)]
2547#[derive(Copy, Clone, Eq, PartialEq)]
2548pub struct Gtcsr_SPEC;
2549impl crate::sealed::RegSpec for Gtcsr_SPEC {
2550    type DataType = u32;
2551}
2552
2553#[doc = "General PWM Timer Clear Source Select Register"]
2554pub type Gtcsr = crate::RegValueT<Gtcsr_SPEC>;
2555
2556impl Gtcsr {
2557    #[doc = "Software Source Counter Clear Enable"]
2558    #[inline(always)]
2559    pub fn cclr(
2560        self,
2561    ) -> crate::common::RegisterField<
2562        31,
2563        0x1,
2564        1,
2565        0,
2566        gtcsr::Cclr,
2567        gtcsr::Cclr,
2568        Gtcsr_SPEC,
2569        crate::common::RW,
2570    > {
2571        crate::common::RegisterField::<
2572            31,
2573            0x1,
2574            1,
2575            0,
2576            gtcsr::Cclr,
2577            gtcsr::Cclr,
2578            Gtcsr_SPEC,
2579            crate::common::RW,
2580        >::from_register(self, 0)
2581    }
2582
2583    #[doc = "ELC_GPTD Event Source Counter Clear Enable"]
2584    #[inline(always)]
2585    pub fn cselcd(
2586        self,
2587    ) -> crate::common::RegisterField<
2588        19,
2589        0x1,
2590        1,
2591        0,
2592        gtcsr::Cselcd,
2593        gtcsr::Cselcd,
2594        Gtcsr_SPEC,
2595        crate::common::RW,
2596    > {
2597        crate::common::RegisterField::<
2598            19,
2599            0x1,
2600            1,
2601            0,
2602            gtcsr::Cselcd,
2603            gtcsr::Cselcd,
2604            Gtcsr_SPEC,
2605            crate::common::RW,
2606        >::from_register(self, 0)
2607    }
2608
2609    #[doc = "ELC_GPTC Event Source Counter Clear Enable"]
2610    #[inline(always)]
2611    pub fn cselcc(
2612        self,
2613    ) -> crate::common::RegisterField<
2614        18,
2615        0x1,
2616        1,
2617        0,
2618        gtcsr::Cselcc,
2619        gtcsr::Cselcc,
2620        Gtcsr_SPEC,
2621        crate::common::RW,
2622    > {
2623        crate::common::RegisterField::<
2624            18,
2625            0x1,
2626            1,
2627            0,
2628            gtcsr::Cselcc,
2629            gtcsr::Cselcc,
2630            Gtcsr_SPEC,
2631            crate::common::RW,
2632        >::from_register(self, 0)
2633    }
2634
2635    #[doc = "ELC_GPTB Event Source Counter Clear Enable"]
2636    #[inline(always)]
2637    pub fn cselcb(
2638        self,
2639    ) -> crate::common::RegisterField<
2640        17,
2641        0x1,
2642        1,
2643        0,
2644        gtcsr::Cselcb,
2645        gtcsr::Cselcb,
2646        Gtcsr_SPEC,
2647        crate::common::RW,
2648    > {
2649        crate::common::RegisterField::<
2650            17,
2651            0x1,
2652            1,
2653            0,
2654            gtcsr::Cselcb,
2655            gtcsr::Cselcb,
2656            Gtcsr_SPEC,
2657            crate::common::RW,
2658        >::from_register(self, 0)
2659    }
2660
2661    #[doc = "ELC_GPTA Event Source Counter Clear Enable"]
2662    #[inline(always)]
2663    pub fn cselca(
2664        self,
2665    ) -> crate::common::RegisterField<
2666        16,
2667        0x1,
2668        1,
2669        0,
2670        gtcsr::Cselca,
2671        gtcsr::Cselca,
2672        Gtcsr_SPEC,
2673        crate::common::RW,
2674    > {
2675        crate::common::RegisterField::<
2676            16,
2677            0x1,
2678            1,
2679            0,
2680            gtcsr::Cselca,
2681            gtcsr::Cselca,
2682            Gtcsr_SPEC,
2683            crate::common::RW,
2684        >::from_register(self, 0)
2685    }
2686
2687    #[doc = "GTIOCB Pin Falling Input during GTIOCA Value High Source Counter Clear Enable"]
2688    #[inline(always)]
2689    pub fn cscbfah(
2690        self,
2691    ) -> crate::common::RegisterField<
2692        15,
2693        0x1,
2694        1,
2695        0,
2696        gtcsr::Cscbfah,
2697        gtcsr::Cscbfah,
2698        Gtcsr_SPEC,
2699        crate::common::RW,
2700    > {
2701        crate::common::RegisterField::<
2702            15,
2703            0x1,
2704            1,
2705            0,
2706            gtcsr::Cscbfah,
2707            gtcsr::Cscbfah,
2708            Gtcsr_SPEC,
2709            crate::common::RW,
2710        >::from_register(self, 0)
2711    }
2712
2713    #[doc = "GTIOCB Pin Falling Input during GTIOCA Value Low Source Counter Clear Enable"]
2714    #[inline(always)]
2715    pub fn cscbfal(
2716        self,
2717    ) -> crate::common::RegisterField<
2718        14,
2719        0x1,
2720        1,
2721        0,
2722        gtcsr::Cscbfal,
2723        gtcsr::Cscbfal,
2724        Gtcsr_SPEC,
2725        crate::common::RW,
2726    > {
2727        crate::common::RegisterField::<
2728            14,
2729            0x1,
2730            1,
2731            0,
2732            gtcsr::Cscbfal,
2733            gtcsr::Cscbfal,
2734            Gtcsr_SPEC,
2735            crate::common::RW,
2736        >::from_register(self, 0)
2737    }
2738
2739    #[doc = "GTIOCB Pin Rising Input during GTIOCA Value High Source Counter Clear Enable"]
2740    #[inline(always)]
2741    pub fn cscbrah(
2742        self,
2743    ) -> crate::common::RegisterField<
2744        13,
2745        0x1,
2746        1,
2747        0,
2748        gtcsr::Cscbrah,
2749        gtcsr::Cscbrah,
2750        Gtcsr_SPEC,
2751        crate::common::RW,
2752    > {
2753        crate::common::RegisterField::<
2754            13,
2755            0x1,
2756            1,
2757            0,
2758            gtcsr::Cscbrah,
2759            gtcsr::Cscbrah,
2760            Gtcsr_SPEC,
2761            crate::common::RW,
2762        >::from_register(self, 0)
2763    }
2764
2765    #[doc = "GTIOCB Pin Rising Input during GTIOCA Value Low Source Counter Clear Enable"]
2766    #[inline(always)]
2767    pub fn cscbral(
2768        self,
2769    ) -> crate::common::RegisterField<
2770        12,
2771        0x1,
2772        1,
2773        0,
2774        gtcsr::Cscbral,
2775        gtcsr::Cscbral,
2776        Gtcsr_SPEC,
2777        crate::common::RW,
2778    > {
2779        crate::common::RegisterField::<
2780            12,
2781            0x1,
2782            1,
2783            0,
2784            gtcsr::Cscbral,
2785            gtcsr::Cscbral,
2786            Gtcsr_SPEC,
2787            crate::common::RW,
2788        >::from_register(self, 0)
2789    }
2790
2791    #[doc = "GTIOCA Pin Falling Input during GTIOCB Value High Source Counter Clear Enable"]
2792    #[inline(always)]
2793    pub fn cscafbh(
2794        self,
2795    ) -> crate::common::RegisterField<
2796        11,
2797        0x1,
2798        1,
2799        0,
2800        gtcsr::Cscafbh,
2801        gtcsr::Cscafbh,
2802        Gtcsr_SPEC,
2803        crate::common::RW,
2804    > {
2805        crate::common::RegisterField::<
2806            11,
2807            0x1,
2808            1,
2809            0,
2810            gtcsr::Cscafbh,
2811            gtcsr::Cscafbh,
2812            Gtcsr_SPEC,
2813            crate::common::RW,
2814        >::from_register(self, 0)
2815    }
2816
2817    #[doc = "GTIOCA Pin Falling Input during GTIOCB Value Low Source Counter Clear Enable"]
2818    #[inline(always)]
2819    pub fn cscafbl(
2820        self,
2821    ) -> crate::common::RegisterField<
2822        10,
2823        0x1,
2824        1,
2825        0,
2826        gtcsr::Cscafbl,
2827        gtcsr::Cscafbl,
2828        Gtcsr_SPEC,
2829        crate::common::RW,
2830    > {
2831        crate::common::RegisterField::<
2832            10,
2833            0x1,
2834            1,
2835            0,
2836            gtcsr::Cscafbl,
2837            gtcsr::Cscafbl,
2838            Gtcsr_SPEC,
2839            crate::common::RW,
2840        >::from_register(self, 0)
2841    }
2842
2843    #[doc = "GTIOCA Pin Rising Input during GTIOCB Value High Source Counter Clear Enable"]
2844    #[inline(always)]
2845    pub fn cscarbh(
2846        self,
2847    ) -> crate::common::RegisterField<
2848        9,
2849        0x1,
2850        1,
2851        0,
2852        gtcsr::Cscarbh,
2853        gtcsr::Cscarbh,
2854        Gtcsr_SPEC,
2855        crate::common::RW,
2856    > {
2857        crate::common::RegisterField::<
2858            9,
2859            0x1,
2860            1,
2861            0,
2862            gtcsr::Cscarbh,
2863            gtcsr::Cscarbh,
2864            Gtcsr_SPEC,
2865            crate::common::RW,
2866        >::from_register(self, 0)
2867    }
2868
2869    #[doc = "GTIOCA Pin Rising Input during GTIOCB Value Low Source Counter Clear Enable"]
2870    #[inline(always)]
2871    pub fn cscarbl(
2872        self,
2873    ) -> crate::common::RegisterField<
2874        8,
2875        0x1,
2876        1,
2877        0,
2878        gtcsr::Cscarbl,
2879        gtcsr::Cscarbl,
2880        Gtcsr_SPEC,
2881        crate::common::RW,
2882    > {
2883        crate::common::RegisterField::<
2884            8,
2885            0x1,
2886            1,
2887            0,
2888            gtcsr::Cscarbl,
2889            gtcsr::Cscarbl,
2890            Gtcsr_SPEC,
2891            crate::common::RW,
2892        >::from_register(self, 0)
2893    }
2894
2895    #[doc = "These bits are read as 0000. The write value should be 0000."]
2896    #[inline(always)]
2897    pub fn reserved(
2898        self,
2899    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, Gtcsr_SPEC, crate::common::RW> {
2900        crate::common::RegisterField::<4,0xf,1,0,u8,u8,Gtcsr_SPEC,crate::common::RW>::from_register(self,0)
2901    }
2902
2903    #[doc = "GTETRGB Pin Falling Input Source Counter Clear Enable"]
2904    #[inline(always)]
2905    pub fn csgtrgbf(
2906        self,
2907    ) -> crate::common::RegisterField<
2908        3,
2909        0x1,
2910        1,
2911        0,
2912        gtcsr::Csgtrgbf,
2913        gtcsr::Csgtrgbf,
2914        Gtcsr_SPEC,
2915        crate::common::RW,
2916    > {
2917        crate::common::RegisterField::<
2918            3,
2919            0x1,
2920            1,
2921            0,
2922            gtcsr::Csgtrgbf,
2923            gtcsr::Csgtrgbf,
2924            Gtcsr_SPEC,
2925            crate::common::RW,
2926        >::from_register(self, 0)
2927    }
2928
2929    #[doc = "GTETRGB Pin Rising Input Source Counter Clear Enable"]
2930    #[inline(always)]
2931    pub fn csgtrgbr(
2932        self,
2933    ) -> crate::common::RegisterField<
2934        2,
2935        0x1,
2936        1,
2937        0,
2938        gtcsr::Csgtrgbr,
2939        gtcsr::Csgtrgbr,
2940        Gtcsr_SPEC,
2941        crate::common::RW,
2942    > {
2943        crate::common::RegisterField::<
2944            2,
2945            0x1,
2946            1,
2947            0,
2948            gtcsr::Csgtrgbr,
2949            gtcsr::Csgtrgbr,
2950            Gtcsr_SPEC,
2951            crate::common::RW,
2952        >::from_register(self, 0)
2953    }
2954
2955    #[doc = "GTETRGA Pin Falling Input Source Counter Clear Enable"]
2956    #[inline(always)]
2957    pub fn csgtrgaf(
2958        self,
2959    ) -> crate::common::RegisterField<
2960        1,
2961        0x1,
2962        1,
2963        0,
2964        gtcsr::Csgtrgaf,
2965        gtcsr::Csgtrgaf,
2966        Gtcsr_SPEC,
2967        crate::common::RW,
2968    > {
2969        crate::common::RegisterField::<
2970            1,
2971            0x1,
2972            1,
2973            0,
2974            gtcsr::Csgtrgaf,
2975            gtcsr::Csgtrgaf,
2976            Gtcsr_SPEC,
2977            crate::common::RW,
2978        >::from_register(self, 0)
2979    }
2980
2981    #[doc = "GTETRGA Pin Rising Input Source Counter Clear Enable"]
2982    #[inline(always)]
2983    pub fn csgtrgar(
2984        self,
2985    ) -> crate::common::RegisterField<
2986        0,
2987        0x1,
2988        1,
2989        0,
2990        gtcsr::Csgtrgar,
2991        gtcsr::Csgtrgar,
2992        Gtcsr_SPEC,
2993        crate::common::RW,
2994    > {
2995        crate::common::RegisterField::<
2996            0,
2997            0x1,
2998            1,
2999            0,
3000            gtcsr::Csgtrgar,
3001            gtcsr::Csgtrgar,
3002            Gtcsr_SPEC,
3003            crate::common::RW,
3004        >::from_register(self, 0)
3005    }
3006}
3007impl ::core::default::Default for Gtcsr {
3008    #[inline(always)]
3009    fn default() -> Gtcsr {
3010        <crate::RegValueT<Gtcsr_SPEC> as RegisterValue<_>>::new(0)
3011    }
3012}
3013pub mod gtcsr {
3014
3015    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3016    pub struct Cclr_SPEC;
3017    pub type Cclr = crate::EnumBitfieldStruct<u8, Cclr_SPEC>;
3018    impl Cclr {
3019        #[doc = "Counter clear is disable by the GTCLR register"]
3020        pub const _0: Self = Self::new(0);
3021
3022        #[doc = "Counter clear is enable by the GTCLR register"]
3023        pub const _1: Self = Self::new(1);
3024    }
3025    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3026    pub struct Cselcd_SPEC;
3027    pub type Cselcd = crate::EnumBitfieldStruct<u8, Cselcd_SPEC>;
3028    impl Cselcd {
3029        #[doc = "Counter clear is disable at the ELC_GPTD input"]
3030        pub const _0: Self = Self::new(0);
3031
3032        #[doc = "Counter clear is enable at the ELC_GPTD input"]
3033        pub const _1: Self = Self::new(1);
3034    }
3035    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3036    pub struct Cselcc_SPEC;
3037    pub type Cselcc = crate::EnumBitfieldStruct<u8, Cselcc_SPEC>;
3038    impl Cselcc {
3039        #[doc = "Counter clear is disable at the ELC_GPTC input"]
3040        pub const _0: Self = Self::new(0);
3041
3042        #[doc = "Counter clear is enable at the ELC_GPTC input"]
3043        pub const _1: Self = Self::new(1);
3044    }
3045    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3046    pub struct Cselcb_SPEC;
3047    pub type Cselcb = crate::EnumBitfieldStruct<u8, Cselcb_SPEC>;
3048    impl Cselcb {
3049        #[doc = "Counter clear is disable at the ELC_GPTB input"]
3050        pub const _0: Self = Self::new(0);
3051
3052        #[doc = "Counter clear is enable at the ELC_GPTB input"]
3053        pub const _1: Self = Self::new(1);
3054    }
3055    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3056    pub struct Cselca_SPEC;
3057    pub type Cselca = crate::EnumBitfieldStruct<u8, Cselca_SPEC>;
3058    impl Cselca {
3059        #[doc = "Counter clear is disable at the ELC_GPTA input"]
3060        pub const _0: Self = Self::new(0);
3061
3062        #[doc = "Counter clear is enable at the ELC_GPTA input"]
3063        pub const _1: Self = Self::new(1);
3064    }
3065    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3066    pub struct Cscbfah_SPEC;
3067    pub type Cscbfah = crate::EnumBitfieldStruct<u8, Cscbfah_SPEC>;
3068    impl Cscbfah {
3069        #[doc = "Counter clear is disable at the falling edge of GTIOCB input when GTIOCA input is 1"]
3070        pub const _0: Self = Self::new(0);
3071
3072        #[doc = "Counter clear is enable at the falling edge of GTIOCB input when GTIOCA input is 1"]
3073        pub const _1: Self = Self::new(1);
3074    }
3075    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3076    pub struct Cscbfal_SPEC;
3077    pub type Cscbfal = crate::EnumBitfieldStruct<u8, Cscbfal_SPEC>;
3078    impl Cscbfal {
3079        #[doc = "Counter clear is disable at the falling edge of GTIOCB input when GTIOCA input is 0"]
3080        pub const _0: Self = Self::new(0);
3081
3082        #[doc = "Counter clear is enable at the falling edge of GTIOCB input when GTIOCA input is 0"]
3083        pub const _1: Self = Self::new(1);
3084    }
3085    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3086    pub struct Cscbrah_SPEC;
3087    pub type Cscbrah = crate::EnumBitfieldStruct<u8, Cscbrah_SPEC>;
3088    impl Cscbrah {
3089        #[doc = "Counter clear is disable at the rising edge of GTIOCB input when GTIOCA input is 1"]
3090        pub const _0: Self = Self::new(0);
3091
3092        #[doc = "Counter clear is enable at the rising edge of GTIOCB input when GTIOCA input is 1"]
3093        pub const _1: Self = Self::new(1);
3094    }
3095    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3096    pub struct Cscbral_SPEC;
3097    pub type Cscbral = crate::EnumBitfieldStruct<u8, Cscbral_SPEC>;
3098    impl Cscbral {
3099        #[doc = "Counter clear is disable at the rising edge of GTIOCB input when GTIOCA input is 0"]
3100        pub const _0: Self = Self::new(0);
3101
3102        #[doc = "Counter clear is enable at the rising edge of GTIOCB input when GTIOCA input is 0"]
3103        pub const _1: Self = Self::new(1);
3104    }
3105    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3106    pub struct Cscafbh_SPEC;
3107    pub type Cscafbh = crate::EnumBitfieldStruct<u8, Cscafbh_SPEC>;
3108    impl Cscafbh {
3109        #[doc = "Counter clear is disable at the falling edge of GTIOCA input when GTIOCB input is 1"]
3110        pub const _0: Self = Self::new(0);
3111
3112        #[doc = "Counter clear is enable at the falling edge of GTIOCA input when GTIOCB input is 1"]
3113        pub const _1: Self = Self::new(1);
3114    }
3115    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3116    pub struct Cscafbl_SPEC;
3117    pub type Cscafbl = crate::EnumBitfieldStruct<u8, Cscafbl_SPEC>;
3118    impl Cscafbl {
3119        #[doc = "Counter clear is disable at the falling edge of GTIOCA input when GTIOCB input is 0"]
3120        pub const _0: Self = Self::new(0);
3121
3122        #[doc = "Counter clear is enable at the falling edge of GTIOCA input when GTIOCB input is 0"]
3123        pub const _1: Self = Self::new(1);
3124    }
3125    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3126    pub struct Cscarbh_SPEC;
3127    pub type Cscarbh = crate::EnumBitfieldStruct<u8, Cscarbh_SPEC>;
3128    impl Cscarbh {
3129        #[doc = "Counter clear is disable at the rising edge of GTIOCA input when GTIOCB input is 1"]
3130        pub const _0: Self = Self::new(0);
3131
3132        #[doc = "Counter clear is enable at the rising edge of GTIOCA input when GTIOCB input is 1"]
3133        pub const _1: Self = Self::new(1);
3134    }
3135    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3136    pub struct Cscarbl_SPEC;
3137    pub type Cscarbl = crate::EnumBitfieldStruct<u8, Cscarbl_SPEC>;
3138    impl Cscarbl {
3139        #[doc = "Counter clear is disable at the rising edge of GTIOCA input when GTIOCB input is 0"]
3140        pub const _0: Self = Self::new(0);
3141
3142        #[doc = "Counter clear is enable at the rising edge of GTIOCA input when GTIOCB input is 0"]
3143        pub const _1: Self = Self::new(1);
3144    }
3145    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3146    pub struct Csgtrgbf_SPEC;
3147    pub type Csgtrgbf = crate::EnumBitfieldStruct<u8, Csgtrgbf_SPEC>;
3148    impl Csgtrgbf {
3149        #[doc = "Counter clear is disable at the falling edge of GTETRGB input"]
3150        pub const _0: Self = Self::new(0);
3151
3152        #[doc = "Counter clear is enable at the falling edge of GTETRGB input"]
3153        pub const _1: Self = Self::new(1);
3154    }
3155    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3156    pub struct Csgtrgbr_SPEC;
3157    pub type Csgtrgbr = crate::EnumBitfieldStruct<u8, Csgtrgbr_SPEC>;
3158    impl Csgtrgbr {
3159        #[doc = "Counter clear is disable at the rising edge of GTETRGB input"]
3160        pub const _0: Self = Self::new(0);
3161
3162        #[doc = "Counter clear is enable at the rising edge of GTETRGB input"]
3163        pub const _1: Self = Self::new(1);
3164    }
3165    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3166    pub struct Csgtrgaf_SPEC;
3167    pub type Csgtrgaf = crate::EnumBitfieldStruct<u8, Csgtrgaf_SPEC>;
3168    impl Csgtrgaf {
3169        #[doc = "Counter clear is disable at the falling edge of GTETRGA input"]
3170        pub const _0: Self = Self::new(0);
3171
3172        #[doc = "Counter clear is enable at the falling edge of GTETRGA input"]
3173        pub const _1: Self = Self::new(1);
3174    }
3175    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3176    pub struct Csgtrgar_SPEC;
3177    pub type Csgtrgar = crate::EnumBitfieldStruct<u8, Csgtrgar_SPEC>;
3178    impl Csgtrgar {
3179        #[doc = "Counter clear is disable at the rising edge of GTETRGA input"]
3180        pub const _0: Self = Self::new(0);
3181
3182        #[doc = "Counter clear is enable at the rising edge of GTETRGA input"]
3183        pub const _1: Self = Self::new(1);
3184    }
3185}
3186#[doc(hidden)]
3187#[derive(Copy, Clone, Eq, PartialEq)]
3188pub struct Gtupsr_SPEC;
3189impl crate::sealed::RegSpec for Gtupsr_SPEC {
3190    type DataType = u32;
3191}
3192
3193#[doc = "General PWM Timer Up Count Source Select Register"]
3194pub type Gtupsr = crate::RegValueT<Gtupsr_SPEC>;
3195
3196impl Gtupsr {
3197    #[doc = "ELC_GPTD Event Source Counter Count Up Enable"]
3198    #[inline(always)]
3199    pub fn uselcd(
3200        self,
3201    ) -> crate::common::RegisterField<
3202        19,
3203        0x1,
3204        1,
3205        0,
3206        gtupsr::Uselcd,
3207        gtupsr::Uselcd,
3208        Gtupsr_SPEC,
3209        crate::common::RW,
3210    > {
3211        crate::common::RegisterField::<
3212            19,
3213            0x1,
3214            1,
3215            0,
3216            gtupsr::Uselcd,
3217            gtupsr::Uselcd,
3218            Gtupsr_SPEC,
3219            crate::common::RW,
3220        >::from_register(self, 0)
3221    }
3222
3223    #[doc = "ELC_GPTC Event Source Counter Count Up Enable"]
3224    #[inline(always)]
3225    pub fn uselcc(
3226        self,
3227    ) -> crate::common::RegisterField<
3228        18,
3229        0x1,
3230        1,
3231        0,
3232        gtupsr::Uselcc,
3233        gtupsr::Uselcc,
3234        Gtupsr_SPEC,
3235        crate::common::RW,
3236    > {
3237        crate::common::RegisterField::<
3238            18,
3239            0x1,
3240            1,
3241            0,
3242            gtupsr::Uselcc,
3243            gtupsr::Uselcc,
3244            Gtupsr_SPEC,
3245            crate::common::RW,
3246        >::from_register(self, 0)
3247    }
3248
3249    #[doc = "ELC_GPTB Event Source Counter Count Up Enable"]
3250    #[inline(always)]
3251    pub fn uselcb(
3252        self,
3253    ) -> crate::common::RegisterField<
3254        17,
3255        0x1,
3256        1,
3257        0,
3258        gtupsr::Uselcb,
3259        gtupsr::Uselcb,
3260        Gtupsr_SPEC,
3261        crate::common::RW,
3262    > {
3263        crate::common::RegisterField::<
3264            17,
3265            0x1,
3266            1,
3267            0,
3268            gtupsr::Uselcb,
3269            gtupsr::Uselcb,
3270            Gtupsr_SPEC,
3271            crate::common::RW,
3272        >::from_register(self, 0)
3273    }
3274
3275    #[doc = "ELC_GPTA Event Source Counter Count Up Enable"]
3276    #[inline(always)]
3277    pub fn uselca(
3278        self,
3279    ) -> crate::common::RegisterField<
3280        16,
3281        0x1,
3282        1,
3283        0,
3284        gtupsr::Uselca,
3285        gtupsr::Uselca,
3286        Gtupsr_SPEC,
3287        crate::common::RW,
3288    > {
3289        crate::common::RegisterField::<
3290            16,
3291            0x1,
3292            1,
3293            0,
3294            gtupsr::Uselca,
3295            gtupsr::Uselca,
3296            Gtupsr_SPEC,
3297            crate::common::RW,
3298        >::from_register(self, 0)
3299    }
3300
3301    #[doc = "GTIOCB Pin Falling Input during GTIOCA Value High Source Counter Count Up Enable"]
3302    #[inline(always)]
3303    pub fn uscbfah(
3304        self,
3305    ) -> crate::common::RegisterField<
3306        15,
3307        0x1,
3308        1,
3309        0,
3310        gtupsr::Uscbfah,
3311        gtupsr::Uscbfah,
3312        Gtupsr_SPEC,
3313        crate::common::RW,
3314    > {
3315        crate::common::RegisterField::<
3316            15,
3317            0x1,
3318            1,
3319            0,
3320            gtupsr::Uscbfah,
3321            gtupsr::Uscbfah,
3322            Gtupsr_SPEC,
3323            crate::common::RW,
3324        >::from_register(self, 0)
3325    }
3326
3327    #[doc = "GTIOCB Pin Falling Input during GTIOCA Value Low Source Counter Count Up Enable"]
3328    #[inline(always)]
3329    pub fn uscbfal(
3330        self,
3331    ) -> crate::common::RegisterField<
3332        14,
3333        0x1,
3334        1,
3335        0,
3336        gtupsr::Uscbfal,
3337        gtupsr::Uscbfal,
3338        Gtupsr_SPEC,
3339        crate::common::RW,
3340    > {
3341        crate::common::RegisterField::<
3342            14,
3343            0x1,
3344            1,
3345            0,
3346            gtupsr::Uscbfal,
3347            gtupsr::Uscbfal,
3348            Gtupsr_SPEC,
3349            crate::common::RW,
3350        >::from_register(self, 0)
3351    }
3352
3353    #[doc = "GTIOCB Pin Rising Input during GTIOCA Value High Source Counter Count Up Enable"]
3354    #[inline(always)]
3355    pub fn uscbrah(
3356        self,
3357    ) -> crate::common::RegisterField<
3358        13,
3359        0x1,
3360        1,
3361        0,
3362        gtupsr::Uscbrah,
3363        gtupsr::Uscbrah,
3364        Gtupsr_SPEC,
3365        crate::common::RW,
3366    > {
3367        crate::common::RegisterField::<
3368            13,
3369            0x1,
3370            1,
3371            0,
3372            gtupsr::Uscbrah,
3373            gtupsr::Uscbrah,
3374            Gtupsr_SPEC,
3375            crate::common::RW,
3376        >::from_register(self, 0)
3377    }
3378
3379    #[doc = "GTIOCB Pin Rising Input during GTIOCA Value Low Source Counter Count Up Enable"]
3380    #[inline(always)]
3381    pub fn uscbral(
3382        self,
3383    ) -> crate::common::RegisterField<
3384        12,
3385        0x1,
3386        1,
3387        0,
3388        gtupsr::Uscbral,
3389        gtupsr::Uscbral,
3390        Gtupsr_SPEC,
3391        crate::common::RW,
3392    > {
3393        crate::common::RegisterField::<
3394            12,
3395            0x1,
3396            1,
3397            0,
3398            gtupsr::Uscbral,
3399            gtupsr::Uscbral,
3400            Gtupsr_SPEC,
3401            crate::common::RW,
3402        >::from_register(self, 0)
3403    }
3404
3405    #[doc = "GTIOCA Pin Falling Input during GTIOCB Value High Source Counter Count Up Enable"]
3406    #[inline(always)]
3407    pub fn uscafbh(
3408        self,
3409    ) -> crate::common::RegisterField<
3410        11,
3411        0x1,
3412        1,
3413        0,
3414        gtupsr::Uscafbh,
3415        gtupsr::Uscafbh,
3416        Gtupsr_SPEC,
3417        crate::common::RW,
3418    > {
3419        crate::common::RegisterField::<
3420            11,
3421            0x1,
3422            1,
3423            0,
3424            gtupsr::Uscafbh,
3425            gtupsr::Uscafbh,
3426            Gtupsr_SPEC,
3427            crate::common::RW,
3428        >::from_register(self, 0)
3429    }
3430
3431    #[doc = "GTIOCA Pin Falling Input during GTIOCB Value Low Source Counter Count Up Enable"]
3432    #[inline(always)]
3433    pub fn uscafbl(
3434        self,
3435    ) -> crate::common::RegisterField<
3436        10,
3437        0x1,
3438        1,
3439        0,
3440        gtupsr::Uscafbl,
3441        gtupsr::Uscafbl,
3442        Gtupsr_SPEC,
3443        crate::common::RW,
3444    > {
3445        crate::common::RegisterField::<
3446            10,
3447            0x1,
3448            1,
3449            0,
3450            gtupsr::Uscafbl,
3451            gtupsr::Uscafbl,
3452            Gtupsr_SPEC,
3453            crate::common::RW,
3454        >::from_register(self, 0)
3455    }
3456
3457    #[doc = "GTIOCA Pin Rising Input during GTIOCB Value High Source Counter Count Up Enable"]
3458    #[inline(always)]
3459    pub fn uscarbh(
3460        self,
3461    ) -> crate::common::RegisterField<
3462        9,
3463        0x1,
3464        1,
3465        0,
3466        gtupsr::Uscarbh,
3467        gtupsr::Uscarbh,
3468        Gtupsr_SPEC,
3469        crate::common::RW,
3470    > {
3471        crate::common::RegisterField::<
3472            9,
3473            0x1,
3474            1,
3475            0,
3476            gtupsr::Uscarbh,
3477            gtupsr::Uscarbh,
3478            Gtupsr_SPEC,
3479            crate::common::RW,
3480        >::from_register(self, 0)
3481    }
3482
3483    #[doc = "GTIOCA Pin Rising Input during GTIOCB Value Low Source Counter Count Up Enable"]
3484    #[inline(always)]
3485    pub fn uscarbl(
3486        self,
3487    ) -> crate::common::RegisterField<
3488        8,
3489        0x1,
3490        1,
3491        0,
3492        gtupsr::Uscarbl,
3493        gtupsr::Uscarbl,
3494        Gtupsr_SPEC,
3495        crate::common::RW,
3496    > {
3497        crate::common::RegisterField::<
3498            8,
3499            0x1,
3500            1,
3501            0,
3502            gtupsr::Uscarbl,
3503            gtupsr::Uscarbl,
3504            Gtupsr_SPEC,
3505            crate::common::RW,
3506        >::from_register(self, 0)
3507    }
3508
3509    #[doc = "GTETRGB Pin Falling Input Source Counter Count Up Enable"]
3510    #[inline(always)]
3511    pub fn usgtrgbf(
3512        self,
3513    ) -> crate::common::RegisterField<
3514        3,
3515        0x1,
3516        1,
3517        0,
3518        gtupsr::Usgtrgbf,
3519        gtupsr::Usgtrgbf,
3520        Gtupsr_SPEC,
3521        crate::common::RW,
3522    > {
3523        crate::common::RegisterField::<
3524            3,
3525            0x1,
3526            1,
3527            0,
3528            gtupsr::Usgtrgbf,
3529            gtupsr::Usgtrgbf,
3530            Gtupsr_SPEC,
3531            crate::common::RW,
3532        >::from_register(self, 0)
3533    }
3534
3535    #[doc = "GTETRGB Pin Rising Input Source Counter Count Up Enable"]
3536    #[inline(always)]
3537    pub fn usgtrgbr(
3538        self,
3539    ) -> crate::common::RegisterField<
3540        2,
3541        0x1,
3542        1,
3543        0,
3544        gtupsr::Usgtrgbr,
3545        gtupsr::Usgtrgbr,
3546        Gtupsr_SPEC,
3547        crate::common::RW,
3548    > {
3549        crate::common::RegisterField::<
3550            2,
3551            0x1,
3552            1,
3553            0,
3554            gtupsr::Usgtrgbr,
3555            gtupsr::Usgtrgbr,
3556            Gtupsr_SPEC,
3557            crate::common::RW,
3558        >::from_register(self, 0)
3559    }
3560
3561    #[doc = "GTETRGA Pin Falling Input Source Counter Count Up Enable"]
3562    #[inline(always)]
3563    pub fn usgtrgaf(
3564        self,
3565    ) -> crate::common::RegisterField<
3566        1,
3567        0x1,
3568        1,
3569        0,
3570        gtupsr::Usgtrgaf,
3571        gtupsr::Usgtrgaf,
3572        Gtupsr_SPEC,
3573        crate::common::RW,
3574    > {
3575        crate::common::RegisterField::<
3576            1,
3577            0x1,
3578            1,
3579            0,
3580            gtupsr::Usgtrgaf,
3581            gtupsr::Usgtrgaf,
3582            Gtupsr_SPEC,
3583            crate::common::RW,
3584        >::from_register(self, 0)
3585    }
3586
3587    #[doc = "GTETRGA Pin Rising Input Source Counter Count Up Enable"]
3588    #[inline(always)]
3589    pub fn usgtrgar(
3590        self,
3591    ) -> crate::common::RegisterField<
3592        0,
3593        0x1,
3594        1,
3595        0,
3596        gtupsr::Usgtrgar,
3597        gtupsr::Usgtrgar,
3598        Gtupsr_SPEC,
3599        crate::common::RW,
3600    > {
3601        crate::common::RegisterField::<
3602            0,
3603            0x1,
3604            1,
3605            0,
3606            gtupsr::Usgtrgar,
3607            gtupsr::Usgtrgar,
3608            Gtupsr_SPEC,
3609            crate::common::RW,
3610        >::from_register(self, 0)
3611    }
3612}
3613impl ::core::default::Default for Gtupsr {
3614    #[inline(always)]
3615    fn default() -> Gtupsr {
3616        <crate::RegValueT<Gtupsr_SPEC> as RegisterValue<_>>::new(0)
3617    }
3618}
3619pub mod gtupsr {
3620
3621    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3622    pub struct Uselcd_SPEC;
3623    pub type Uselcd = crate::EnumBitfieldStruct<u8, Uselcd_SPEC>;
3624    impl Uselcd {
3625        #[doc = "Counter count up is disable at the ELC_GPTD input"]
3626        pub const _0: Self = Self::new(0);
3627
3628        #[doc = "Counter count up is enable at the ELC_GPTD input"]
3629        pub const _1: Self = Self::new(1);
3630    }
3631    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3632    pub struct Uselcc_SPEC;
3633    pub type Uselcc = crate::EnumBitfieldStruct<u8, Uselcc_SPEC>;
3634    impl Uselcc {
3635        #[doc = "Counter count up is disable at the ELC_GPTC input"]
3636        pub const _0: Self = Self::new(0);
3637
3638        #[doc = "Counter count up is enable at the ELC_GPTC input"]
3639        pub const _1: Self = Self::new(1);
3640    }
3641    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3642    pub struct Uselcb_SPEC;
3643    pub type Uselcb = crate::EnumBitfieldStruct<u8, Uselcb_SPEC>;
3644    impl Uselcb {
3645        #[doc = "Counter count up is disable at the ELC_GPTB input"]
3646        pub const _0: Self = Self::new(0);
3647
3648        #[doc = "Counter count up is enable at the ELC_GPTB input"]
3649        pub const _1: Self = Self::new(1);
3650    }
3651    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3652    pub struct Uselca_SPEC;
3653    pub type Uselca = crate::EnumBitfieldStruct<u8, Uselca_SPEC>;
3654    impl Uselca {
3655        #[doc = "Counter count up is disable at the ELC_GPTA input"]
3656        pub const _0: Self = Self::new(0);
3657
3658        #[doc = "Counter count up is enable at the ELC_GPTA input"]
3659        pub const _1: Self = Self::new(1);
3660    }
3661    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3662    pub struct Uscbfah_SPEC;
3663    pub type Uscbfah = crate::EnumBitfieldStruct<u8, Uscbfah_SPEC>;
3664    impl Uscbfah {
3665        #[doc = "Counter count up is disable at the falling edge of GTIOCB input when GTIOCA input is 1"]
3666        pub const _0: Self = Self::new(0);
3667
3668        #[doc = "Counter count up is enable at the falling edge of GTIOCB input when GTIOCA input is 1"]
3669        pub const _1: Self = Self::new(1);
3670    }
3671    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3672    pub struct Uscbfal_SPEC;
3673    pub type Uscbfal = crate::EnumBitfieldStruct<u8, Uscbfal_SPEC>;
3674    impl Uscbfal {
3675        #[doc = "Counter count up is disable at the falling edge of GTIOCB input when GTIOCA input is 0"]
3676        pub const _0: Self = Self::new(0);
3677
3678        #[doc = "Counter count up is enable at the falling edge of GTIOCB input when GTIOCA input is 0"]
3679        pub const _1: Self = Self::new(1);
3680    }
3681    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3682    pub struct Uscbrah_SPEC;
3683    pub type Uscbrah = crate::EnumBitfieldStruct<u8, Uscbrah_SPEC>;
3684    impl Uscbrah {
3685        #[doc = "Counter count up is disable at the rising edge of GTIOCB input when GTIOCA input is 1"]
3686        pub const _0: Self = Self::new(0);
3687
3688        #[doc = "Counter count up is enable at the rising edge of GTIOCB input when GTIOCA input is 1"]
3689        pub const _1: Self = Self::new(1);
3690    }
3691    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3692    pub struct Uscbral_SPEC;
3693    pub type Uscbral = crate::EnumBitfieldStruct<u8, Uscbral_SPEC>;
3694    impl Uscbral {
3695        #[doc = "Counter count up is disable at the rising edge of GTIOCB input when GTIOCA input is 0"]
3696        pub const _0: Self = Self::new(0);
3697
3698        #[doc = "Counter count up is enable at the rising edge of GTIOCB input when GTIOCA input is 0"]
3699        pub const _1: Self = Self::new(1);
3700    }
3701    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3702    pub struct Uscafbh_SPEC;
3703    pub type Uscafbh = crate::EnumBitfieldStruct<u8, Uscafbh_SPEC>;
3704    impl Uscafbh {
3705        #[doc = "Counter count up is disable at the falling edge of GTIOCA input when GTIOCB input is 1"]
3706        pub const _0: Self = Self::new(0);
3707
3708        #[doc = "Counter count up is enable at the falling edge of GTIOCA input when GTIOCB input is 1"]
3709        pub const _1: Self = Self::new(1);
3710    }
3711    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3712    pub struct Uscafbl_SPEC;
3713    pub type Uscafbl = crate::EnumBitfieldStruct<u8, Uscafbl_SPEC>;
3714    impl Uscafbl {
3715        #[doc = "Counter count up is disable at the falling edge of GTIOCA input when GTIOCB input is 0"]
3716        pub const _0: Self = Self::new(0);
3717
3718        #[doc = "Counter count up is enable at the falling edge of GTIOCA input when GTIOCB input is 0"]
3719        pub const _1: Self = Self::new(1);
3720    }
3721    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3722    pub struct Uscarbh_SPEC;
3723    pub type Uscarbh = crate::EnumBitfieldStruct<u8, Uscarbh_SPEC>;
3724    impl Uscarbh {
3725        #[doc = "Counter count up is disable at the rising edge of GTIOCA input when GTIOCB input is 1"]
3726        pub const _0: Self = Self::new(0);
3727
3728        #[doc = "Counter count up is enable at the rising edge of GTIOCA input when GTIOCB input is 1"]
3729        pub const _1: Self = Self::new(1);
3730    }
3731    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3732    pub struct Uscarbl_SPEC;
3733    pub type Uscarbl = crate::EnumBitfieldStruct<u8, Uscarbl_SPEC>;
3734    impl Uscarbl {
3735        #[doc = "Counter count up is disable at the rising edge of GTIOCA input when GTIOCB input is 0"]
3736        pub const _0: Self = Self::new(0);
3737
3738        #[doc = "Counter count up is enable at the rising edge of GTIOCA input when GTIOCB input is 0"]
3739        pub const _1: Self = Self::new(1);
3740    }
3741    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3742    pub struct Usgtrgbf_SPEC;
3743    pub type Usgtrgbf = crate::EnumBitfieldStruct<u8, Usgtrgbf_SPEC>;
3744    impl Usgtrgbf {
3745        #[doc = "Counter count up is disable at the falling edge of GTETRGB input"]
3746        pub const _0: Self = Self::new(0);
3747
3748        #[doc = "Counter count up is enable at the falling edge of GTETRGB input"]
3749        pub const _1: Self = Self::new(1);
3750    }
3751    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3752    pub struct Usgtrgbr_SPEC;
3753    pub type Usgtrgbr = crate::EnumBitfieldStruct<u8, Usgtrgbr_SPEC>;
3754    impl Usgtrgbr {
3755        #[doc = "Counter count up is disable at the rising edge of GTETRGB input"]
3756        pub const _0: Self = Self::new(0);
3757
3758        #[doc = "Counter count up is enable at the rising edge of GTETRGB input"]
3759        pub const _1: Self = Self::new(1);
3760    }
3761    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3762    pub struct Usgtrgaf_SPEC;
3763    pub type Usgtrgaf = crate::EnumBitfieldStruct<u8, Usgtrgaf_SPEC>;
3764    impl Usgtrgaf {
3765        #[doc = "Counter count up is disable at the falling edge of GTETRGA input"]
3766        pub const _0: Self = Self::new(0);
3767
3768        #[doc = "Counter count up is enable at the falling edge of GTETRGA input"]
3769        pub const _1: Self = Self::new(1);
3770    }
3771    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3772    pub struct Usgtrgar_SPEC;
3773    pub type Usgtrgar = crate::EnumBitfieldStruct<u8, Usgtrgar_SPEC>;
3774    impl Usgtrgar {
3775        #[doc = "Counter count up is disable at the rising edge of GTETRGA input"]
3776        pub const _0: Self = Self::new(0);
3777
3778        #[doc = "Counter count up is enable at the rising edge of GTETRGA input"]
3779        pub const _1: Self = Self::new(1);
3780    }
3781}
3782#[doc(hidden)]
3783#[derive(Copy, Clone, Eq, PartialEq)]
3784pub struct Gtdnsr_SPEC;
3785impl crate::sealed::RegSpec for Gtdnsr_SPEC {
3786    type DataType = u32;
3787}
3788
3789#[doc = "General PWM Timer Down Count Source Select Register"]
3790pub type Gtdnsr = crate::RegValueT<Gtdnsr_SPEC>;
3791
3792impl Gtdnsr {
3793    #[doc = "ELC_GPTD Event Source Counter Count Down Enable"]
3794    #[inline(always)]
3795    pub fn dselcd(
3796        self,
3797    ) -> crate::common::RegisterField<
3798        19,
3799        0x1,
3800        1,
3801        0,
3802        gtdnsr::Dselcd,
3803        gtdnsr::Dselcd,
3804        Gtdnsr_SPEC,
3805        crate::common::RW,
3806    > {
3807        crate::common::RegisterField::<
3808            19,
3809            0x1,
3810            1,
3811            0,
3812            gtdnsr::Dselcd,
3813            gtdnsr::Dselcd,
3814            Gtdnsr_SPEC,
3815            crate::common::RW,
3816        >::from_register(self, 0)
3817    }
3818
3819    #[doc = "ELC_GPTC Event Source Counter Count Down Enable"]
3820    #[inline(always)]
3821    pub fn dselcc(
3822        self,
3823    ) -> crate::common::RegisterField<
3824        18,
3825        0x1,
3826        1,
3827        0,
3828        gtdnsr::Dselcc,
3829        gtdnsr::Dselcc,
3830        Gtdnsr_SPEC,
3831        crate::common::RW,
3832    > {
3833        crate::common::RegisterField::<
3834            18,
3835            0x1,
3836            1,
3837            0,
3838            gtdnsr::Dselcc,
3839            gtdnsr::Dselcc,
3840            Gtdnsr_SPEC,
3841            crate::common::RW,
3842        >::from_register(self, 0)
3843    }
3844
3845    #[doc = "ELC_GPTB Event Source Counter Count Down Enable"]
3846    #[inline(always)]
3847    pub fn dselcb(
3848        self,
3849    ) -> crate::common::RegisterField<
3850        17,
3851        0x1,
3852        1,
3853        0,
3854        gtdnsr::Dselcb,
3855        gtdnsr::Dselcb,
3856        Gtdnsr_SPEC,
3857        crate::common::RW,
3858    > {
3859        crate::common::RegisterField::<
3860            17,
3861            0x1,
3862            1,
3863            0,
3864            gtdnsr::Dselcb,
3865            gtdnsr::Dselcb,
3866            Gtdnsr_SPEC,
3867            crate::common::RW,
3868        >::from_register(self, 0)
3869    }
3870
3871    #[doc = "ELC_GPTA Event Source Counter Count Down Enable"]
3872    #[inline(always)]
3873    pub fn dselca(
3874        self,
3875    ) -> crate::common::RegisterField<
3876        16,
3877        0x1,
3878        1,
3879        0,
3880        gtdnsr::Dselca,
3881        gtdnsr::Dselca,
3882        Gtdnsr_SPEC,
3883        crate::common::RW,
3884    > {
3885        crate::common::RegisterField::<
3886            16,
3887            0x1,
3888            1,
3889            0,
3890            gtdnsr::Dselca,
3891            gtdnsr::Dselca,
3892            Gtdnsr_SPEC,
3893            crate::common::RW,
3894        >::from_register(self, 0)
3895    }
3896
3897    #[doc = "GTIOCB Pin Falling Input during GTIOCA Value High Source Counter Count Down Enable"]
3898    #[inline(always)]
3899    pub fn dscbfah(
3900        self,
3901    ) -> crate::common::RegisterField<
3902        15,
3903        0x1,
3904        1,
3905        0,
3906        gtdnsr::Dscbfah,
3907        gtdnsr::Dscbfah,
3908        Gtdnsr_SPEC,
3909        crate::common::RW,
3910    > {
3911        crate::common::RegisterField::<
3912            15,
3913            0x1,
3914            1,
3915            0,
3916            gtdnsr::Dscbfah,
3917            gtdnsr::Dscbfah,
3918            Gtdnsr_SPEC,
3919            crate::common::RW,
3920        >::from_register(self, 0)
3921    }
3922
3923    #[doc = "GTIOCB Pin Falling Input during GTIOCA Value Low Source Counter Count Down Enable"]
3924    #[inline(always)]
3925    pub fn dscbfal(
3926        self,
3927    ) -> crate::common::RegisterField<
3928        14,
3929        0x1,
3930        1,
3931        0,
3932        gtdnsr::Dscbfal,
3933        gtdnsr::Dscbfal,
3934        Gtdnsr_SPEC,
3935        crate::common::RW,
3936    > {
3937        crate::common::RegisterField::<
3938            14,
3939            0x1,
3940            1,
3941            0,
3942            gtdnsr::Dscbfal,
3943            gtdnsr::Dscbfal,
3944            Gtdnsr_SPEC,
3945            crate::common::RW,
3946        >::from_register(self, 0)
3947    }
3948
3949    #[doc = "GTIOCB Pin Rising Input during GTIOCA Value High Source Counter Count Down Enable"]
3950    #[inline(always)]
3951    pub fn dscbrah(
3952        self,
3953    ) -> crate::common::RegisterField<
3954        13,
3955        0x1,
3956        1,
3957        0,
3958        gtdnsr::Dscbrah,
3959        gtdnsr::Dscbrah,
3960        Gtdnsr_SPEC,
3961        crate::common::RW,
3962    > {
3963        crate::common::RegisterField::<
3964            13,
3965            0x1,
3966            1,
3967            0,
3968            gtdnsr::Dscbrah,
3969            gtdnsr::Dscbrah,
3970            Gtdnsr_SPEC,
3971            crate::common::RW,
3972        >::from_register(self, 0)
3973    }
3974
3975    #[doc = "GTIOCB Pin Rising Input during GTIOCA Value Low Source Counter Count Down Enable"]
3976    #[inline(always)]
3977    pub fn dscbral(
3978        self,
3979    ) -> crate::common::RegisterField<
3980        12,
3981        0x1,
3982        1,
3983        0,
3984        gtdnsr::Dscbral,
3985        gtdnsr::Dscbral,
3986        Gtdnsr_SPEC,
3987        crate::common::RW,
3988    > {
3989        crate::common::RegisterField::<
3990            12,
3991            0x1,
3992            1,
3993            0,
3994            gtdnsr::Dscbral,
3995            gtdnsr::Dscbral,
3996            Gtdnsr_SPEC,
3997            crate::common::RW,
3998        >::from_register(self, 0)
3999    }
4000
4001    #[doc = "GTIOCA Pin Falling Input during GTIOCB Value High Source Counter Count Down Enable"]
4002    #[inline(always)]
4003    pub fn dscafbh(
4004        self,
4005    ) -> crate::common::RegisterField<
4006        11,
4007        0x1,
4008        1,
4009        0,
4010        gtdnsr::Dscafbh,
4011        gtdnsr::Dscafbh,
4012        Gtdnsr_SPEC,
4013        crate::common::RW,
4014    > {
4015        crate::common::RegisterField::<
4016            11,
4017            0x1,
4018            1,
4019            0,
4020            gtdnsr::Dscafbh,
4021            gtdnsr::Dscafbh,
4022            Gtdnsr_SPEC,
4023            crate::common::RW,
4024        >::from_register(self, 0)
4025    }
4026
4027    #[doc = "GTIOCA Pin Falling Input during GTIOCB Value Low Source Counter Count Down Enable"]
4028    #[inline(always)]
4029    pub fn dscafbl(
4030        self,
4031    ) -> crate::common::RegisterField<
4032        10,
4033        0x1,
4034        1,
4035        0,
4036        gtdnsr::Dscafbl,
4037        gtdnsr::Dscafbl,
4038        Gtdnsr_SPEC,
4039        crate::common::RW,
4040    > {
4041        crate::common::RegisterField::<
4042            10,
4043            0x1,
4044            1,
4045            0,
4046            gtdnsr::Dscafbl,
4047            gtdnsr::Dscafbl,
4048            Gtdnsr_SPEC,
4049            crate::common::RW,
4050        >::from_register(self, 0)
4051    }
4052
4053    #[doc = "GTIOCA Pin Rising Input during GTIOCB Value High Source Counter Count Down Enable"]
4054    #[inline(always)]
4055    pub fn dscarbh(
4056        self,
4057    ) -> crate::common::RegisterField<
4058        9,
4059        0x1,
4060        1,
4061        0,
4062        gtdnsr::Dscarbh,
4063        gtdnsr::Dscarbh,
4064        Gtdnsr_SPEC,
4065        crate::common::RW,
4066    > {
4067        crate::common::RegisterField::<
4068            9,
4069            0x1,
4070            1,
4071            0,
4072            gtdnsr::Dscarbh,
4073            gtdnsr::Dscarbh,
4074            Gtdnsr_SPEC,
4075            crate::common::RW,
4076        >::from_register(self, 0)
4077    }
4078
4079    #[doc = "GTIOCA Pin Rising Input during GTIOCB Value Low Source Counter Count Down Enable"]
4080    #[inline(always)]
4081    pub fn dscarbl(
4082        self,
4083    ) -> crate::common::RegisterField<
4084        8,
4085        0x1,
4086        1,
4087        0,
4088        gtdnsr::Dscarbl,
4089        gtdnsr::Dscarbl,
4090        Gtdnsr_SPEC,
4091        crate::common::RW,
4092    > {
4093        crate::common::RegisterField::<
4094            8,
4095            0x1,
4096            1,
4097            0,
4098            gtdnsr::Dscarbl,
4099            gtdnsr::Dscarbl,
4100            Gtdnsr_SPEC,
4101            crate::common::RW,
4102        >::from_register(self, 0)
4103    }
4104
4105    #[doc = "GTETRGB Pin Falling Input Source Counter Count Down Enable"]
4106    #[inline(always)]
4107    pub fn dsgtrgbf(
4108        self,
4109    ) -> crate::common::RegisterField<
4110        3,
4111        0x1,
4112        1,
4113        0,
4114        gtdnsr::Dsgtrgbf,
4115        gtdnsr::Dsgtrgbf,
4116        Gtdnsr_SPEC,
4117        crate::common::RW,
4118    > {
4119        crate::common::RegisterField::<
4120            3,
4121            0x1,
4122            1,
4123            0,
4124            gtdnsr::Dsgtrgbf,
4125            gtdnsr::Dsgtrgbf,
4126            Gtdnsr_SPEC,
4127            crate::common::RW,
4128        >::from_register(self, 0)
4129    }
4130
4131    #[doc = "GTETRGB Pin Rising Input Source Counter Count Down Enable"]
4132    #[inline(always)]
4133    pub fn dsgtrgbr(
4134        self,
4135    ) -> crate::common::RegisterField<
4136        2,
4137        0x1,
4138        1,
4139        0,
4140        gtdnsr::Dsgtrgbr,
4141        gtdnsr::Dsgtrgbr,
4142        Gtdnsr_SPEC,
4143        crate::common::RW,
4144    > {
4145        crate::common::RegisterField::<
4146            2,
4147            0x1,
4148            1,
4149            0,
4150            gtdnsr::Dsgtrgbr,
4151            gtdnsr::Dsgtrgbr,
4152            Gtdnsr_SPEC,
4153            crate::common::RW,
4154        >::from_register(self, 0)
4155    }
4156
4157    #[doc = "GTETRGA Pin Falling Input Source Counter Count Down Enable"]
4158    #[inline(always)]
4159    pub fn dsgtrgaf(
4160        self,
4161    ) -> crate::common::RegisterField<
4162        1,
4163        0x1,
4164        1,
4165        0,
4166        gtdnsr::Dsgtrgaf,
4167        gtdnsr::Dsgtrgaf,
4168        Gtdnsr_SPEC,
4169        crate::common::RW,
4170    > {
4171        crate::common::RegisterField::<
4172            1,
4173            0x1,
4174            1,
4175            0,
4176            gtdnsr::Dsgtrgaf,
4177            gtdnsr::Dsgtrgaf,
4178            Gtdnsr_SPEC,
4179            crate::common::RW,
4180        >::from_register(self, 0)
4181    }
4182
4183    #[doc = "GTETRGA Pin Rising Input Source Counter Count Down Enable"]
4184    #[inline(always)]
4185    pub fn dsgtrgar(
4186        self,
4187    ) -> crate::common::RegisterField<
4188        0,
4189        0x1,
4190        1,
4191        0,
4192        gtdnsr::Dsgtrgar,
4193        gtdnsr::Dsgtrgar,
4194        Gtdnsr_SPEC,
4195        crate::common::RW,
4196    > {
4197        crate::common::RegisterField::<
4198            0,
4199            0x1,
4200            1,
4201            0,
4202            gtdnsr::Dsgtrgar,
4203            gtdnsr::Dsgtrgar,
4204            Gtdnsr_SPEC,
4205            crate::common::RW,
4206        >::from_register(self, 0)
4207    }
4208}
4209impl ::core::default::Default for Gtdnsr {
4210    #[inline(always)]
4211    fn default() -> Gtdnsr {
4212        <crate::RegValueT<Gtdnsr_SPEC> as RegisterValue<_>>::new(0)
4213    }
4214}
4215pub mod gtdnsr {
4216
4217    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4218    pub struct Dselcd_SPEC;
4219    pub type Dselcd = crate::EnumBitfieldStruct<u8, Dselcd_SPEC>;
4220    impl Dselcd {
4221        #[doc = "Counter count down is disable at the ELC_GPTD input"]
4222        pub const _0: Self = Self::new(0);
4223
4224        #[doc = "Counter count down is enable at the ELC_GPTD input"]
4225        pub const _1: Self = Self::new(1);
4226    }
4227    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4228    pub struct Dselcc_SPEC;
4229    pub type Dselcc = crate::EnumBitfieldStruct<u8, Dselcc_SPEC>;
4230    impl Dselcc {
4231        #[doc = "Counter count down is disable at the ELC_GPTC input"]
4232        pub const _0: Self = Self::new(0);
4233
4234        #[doc = "Counter count down is enable at the ELC_GPTC input"]
4235        pub const _1: Self = Self::new(1);
4236    }
4237    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4238    pub struct Dselcb_SPEC;
4239    pub type Dselcb = crate::EnumBitfieldStruct<u8, Dselcb_SPEC>;
4240    impl Dselcb {
4241        #[doc = "Counter count down is disable at the ELC_GPTB input"]
4242        pub const _0: Self = Self::new(0);
4243
4244        #[doc = "Counter count down is enable at the ELC_GPTB input"]
4245        pub const _1: Self = Self::new(1);
4246    }
4247    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4248    pub struct Dselca_SPEC;
4249    pub type Dselca = crate::EnumBitfieldStruct<u8, Dselca_SPEC>;
4250    impl Dselca {
4251        #[doc = "Counter count down is disable at the ELC_GPTA input"]
4252        pub const _0: Self = Self::new(0);
4253
4254        #[doc = "Counter count down is enable at the ELC_GPTA input"]
4255        pub const _1: Self = Self::new(1);
4256    }
4257    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4258    pub struct Dscbfah_SPEC;
4259    pub type Dscbfah = crate::EnumBitfieldStruct<u8, Dscbfah_SPEC>;
4260    impl Dscbfah {
4261        #[doc = "Counter count down is disable at the falling edge of GTIOCB input when GTIOCA input is 1"]
4262        pub const _0: Self = Self::new(0);
4263
4264        #[doc = "Counter count down is enable at the falling edge of GTIOCB input when GTIOCA input is 1"]
4265        pub const _1: Self = Self::new(1);
4266    }
4267    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4268    pub struct Dscbfal_SPEC;
4269    pub type Dscbfal = crate::EnumBitfieldStruct<u8, Dscbfal_SPEC>;
4270    impl Dscbfal {
4271        #[doc = "Counter count down is disable at the falling edge of GTIOCB input when GTIOCA input is 0"]
4272        pub const _0: Self = Self::new(0);
4273
4274        #[doc = "Counter count down is enable at the falling edge of GTIOCB input when GTIOCA input is 0"]
4275        pub const _1: Self = Self::new(1);
4276    }
4277    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4278    pub struct Dscbrah_SPEC;
4279    pub type Dscbrah = crate::EnumBitfieldStruct<u8, Dscbrah_SPEC>;
4280    impl Dscbrah {
4281        #[doc = "Counter count down is disable at the rising edge of GTIOCB input when GTIOCA input is 1"]
4282        pub const _0: Self = Self::new(0);
4283
4284        #[doc = "Counter count down is enable at the rising edge of GTIOCB input when GTIOCA input is 1"]
4285        pub const _1: Self = Self::new(1);
4286    }
4287    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4288    pub struct Dscbral_SPEC;
4289    pub type Dscbral = crate::EnumBitfieldStruct<u8, Dscbral_SPEC>;
4290    impl Dscbral {
4291        #[doc = "Counter count down is disable at the rising edge of GTIOCB input when GTIOCA input is 0"]
4292        pub const _0: Self = Self::new(0);
4293
4294        #[doc = "Counter count down is enable at the rising edge of GTIOCB input when GTIOCA input is 0"]
4295        pub const _1: Self = Self::new(1);
4296    }
4297    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4298    pub struct Dscafbh_SPEC;
4299    pub type Dscafbh = crate::EnumBitfieldStruct<u8, Dscafbh_SPEC>;
4300    impl Dscafbh {
4301        #[doc = "Counter count down is disable at the falling edge of GTIOCA input when GTIOCB input is 1"]
4302        pub const _0: Self = Self::new(0);
4303
4304        #[doc = "Counter count down is enable at the falling edge of GTIOCA input when GTIOCB input is 1"]
4305        pub const _1: Self = Self::new(1);
4306    }
4307    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4308    pub struct Dscafbl_SPEC;
4309    pub type Dscafbl = crate::EnumBitfieldStruct<u8, Dscafbl_SPEC>;
4310    impl Dscafbl {
4311        #[doc = "Counter count down is disable at the falling edge of GTIOCA input when GTIOCB input is 0"]
4312        pub const _0: Self = Self::new(0);
4313
4314        #[doc = "Counter count down is enable at the falling edge of GTIOCA input when GTIOCB input is 0"]
4315        pub const _1: Self = Self::new(1);
4316    }
4317    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4318    pub struct Dscarbh_SPEC;
4319    pub type Dscarbh = crate::EnumBitfieldStruct<u8, Dscarbh_SPEC>;
4320    impl Dscarbh {
4321        #[doc = "Counter count down is disable at the rising edge of GTIOCA input when GTIOCB input is 1"]
4322        pub const _0: Self = Self::new(0);
4323
4324        #[doc = "Counter count down is enable at the rising edge of GTIOCA input when GTIOCB input is 1"]
4325        pub const _1: Self = Self::new(1);
4326    }
4327    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4328    pub struct Dscarbl_SPEC;
4329    pub type Dscarbl = crate::EnumBitfieldStruct<u8, Dscarbl_SPEC>;
4330    impl Dscarbl {
4331        #[doc = "Counter count down is disable at the rising edge of GTIOCA input when GTIOCB input is 0"]
4332        pub const _0: Self = Self::new(0);
4333
4334        #[doc = "Counter count down is enable at the rising edge of GTIOCA input when GTIOCB input is 0"]
4335        pub const _1: Self = Self::new(1);
4336    }
4337    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4338    pub struct Dsgtrgbf_SPEC;
4339    pub type Dsgtrgbf = crate::EnumBitfieldStruct<u8, Dsgtrgbf_SPEC>;
4340    impl Dsgtrgbf {
4341        #[doc = "Counter count down is disable at the falling edge of GTETRGB input"]
4342        pub const _0: Self = Self::new(0);
4343
4344        #[doc = "Counter count down is enable at the falling edge of GTETRGB input"]
4345        pub const _1: Self = Self::new(1);
4346    }
4347    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4348    pub struct Dsgtrgbr_SPEC;
4349    pub type Dsgtrgbr = crate::EnumBitfieldStruct<u8, Dsgtrgbr_SPEC>;
4350    impl Dsgtrgbr {
4351        #[doc = "Counter count down is disable at the rising edge of GTETRGB input"]
4352        pub const _0: Self = Self::new(0);
4353
4354        #[doc = "Counter count down is enable at the rising edge of GTETRGB input"]
4355        pub const _1: Self = Self::new(1);
4356    }
4357    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4358    pub struct Dsgtrgaf_SPEC;
4359    pub type Dsgtrgaf = crate::EnumBitfieldStruct<u8, Dsgtrgaf_SPEC>;
4360    impl Dsgtrgaf {
4361        #[doc = "Counter count down is disable at the falling edge of GTETRGA input"]
4362        pub const _0: Self = Self::new(0);
4363
4364        #[doc = "Counter count down is enable at the falling edge of GTETRGA input"]
4365        pub const _1: Self = Self::new(1);
4366    }
4367    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4368    pub struct Dsgtrgar_SPEC;
4369    pub type Dsgtrgar = crate::EnumBitfieldStruct<u8, Dsgtrgar_SPEC>;
4370    impl Dsgtrgar {
4371        #[doc = "Counter count down is disable at the rising edge of GTETRGA input"]
4372        pub const _0: Self = Self::new(0);
4373
4374        #[doc = "Counter count down is enable at the rising edge of GTETRGA input"]
4375        pub const _1: Self = Self::new(1);
4376    }
4377}
4378#[doc(hidden)]
4379#[derive(Copy, Clone, Eq, PartialEq)]
4380pub struct Gticasr_SPEC;
4381impl crate::sealed::RegSpec for Gticasr_SPEC {
4382    type DataType = u32;
4383}
4384
4385#[doc = "General PWM Timer Input Capture Source Select Register A"]
4386pub type Gticasr = crate::RegValueT<Gticasr_SPEC>;
4387
4388impl Gticasr {
4389    #[doc = "ELC_GPTD Event Source GTCCRA Input Capture Enable"]
4390    #[inline(always)]
4391    pub fn aselcd(
4392        self,
4393    ) -> crate::common::RegisterField<
4394        19,
4395        0x1,
4396        1,
4397        0,
4398        gticasr::Aselcd,
4399        gticasr::Aselcd,
4400        Gticasr_SPEC,
4401        crate::common::RW,
4402    > {
4403        crate::common::RegisterField::<
4404            19,
4405            0x1,
4406            1,
4407            0,
4408            gticasr::Aselcd,
4409            gticasr::Aselcd,
4410            Gticasr_SPEC,
4411            crate::common::RW,
4412        >::from_register(self, 0)
4413    }
4414
4415    #[doc = "ELC_GPTC Event Source GTCCRA Input Capture Enable"]
4416    #[inline(always)]
4417    pub fn aselcc(
4418        self,
4419    ) -> crate::common::RegisterField<
4420        18,
4421        0x1,
4422        1,
4423        0,
4424        gticasr::Aselcc,
4425        gticasr::Aselcc,
4426        Gticasr_SPEC,
4427        crate::common::RW,
4428    > {
4429        crate::common::RegisterField::<
4430            18,
4431            0x1,
4432            1,
4433            0,
4434            gticasr::Aselcc,
4435            gticasr::Aselcc,
4436            Gticasr_SPEC,
4437            crate::common::RW,
4438        >::from_register(self, 0)
4439    }
4440
4441    #[doc = "ELC_GPTB Event Source GTCCRA Input Capture Enable"]
4442    #[inline(always)]
4443    pub fn aselcb(
4444        self,
4445    ) -> crate::common::RegisterField<
4446        17,
4447        0x1,
4448        1,
4449        0,
4450        gticasr::Aselcb,
4451        gticasr::Aselcb,
4452        Gticasr_SPEC,
4453        crate::common::RW,
4454    > {
4455        crate::common::RegisterField::<
4456            17,
4457            0x1,
4458            1,
4459            0,
4460            gticasr::Aselcb,
4461            gticasr::Aselcb,
4462            Gticasr_SPEC,
4463            crate::common::RW,
4464        >::from_register(self, 0)
4465    }
4466
4467    #[doc = "ELC_GPTA Event Source GTCCRA Input Capture Enable"]
4468    #[inline(always)]
4469    pub fn aselca(
4470        self,
4471    ) -> crate::common::RegisterField<
4472        16,
4473        0x1,
4474        1,
4475        0,
4476        gticasr::Aselca,
4477        gticasr::Aselca,
4478        Gticasr_SPEC,
4479        crate::common::RW,
4480    > {
4481        crate::common::RegisterField::<
4482            16,
4483            0x1,
4484            1,
4485            0,
4486            gticasr::Aselca,
4487            gticasr::Aselca,
4488            Gticasr_SPEC,
4489            crate::common::RW,
4490        >::from_register(self, 0)
4491    }
4492
4493    #[doc = "GTIOCB Pin Falling Input during GTIOCA Value High Source GTCCRA Input Capture Enable"]
4494    #[inline(always)]
4495    pub fn ascbfah(
4496        self,
4497    ) -> crate::common::RegisterField<
4498        15,
4499        0x1,
4500        1,
4501        0,
4502        gticasr::Ascbfah,
4503        gticasr::Ascbfah,
4504        Gticasr_SPEC,
4505        crate::common::RW,
4506    > {
4507        crate::common::RegisterField::<
4508            15,
4509            0x1,
4510            1,
4511            0,
4512            gticasr::Ascbfah,
4513            gticasr::Ascbfah,
4514            Gticasr_SPEC,
4515            crate::common::RW,
4516        >::from_register(self, 0)
4517    }
4518
4519    #[doc = "GTIOCB Pin Falling Input during GTIOCA Value Low Source GTCCRA Input Capture Enable"]
4520    #[inline(always)]
4521    pub fn ascbfal(
4522        self,
4523    ) -> crate::common::RegisterField<
4524        14,
4525        0x1,
4526        1,
4527        0,
4528        gticasr::Ascbfal,
4529        gticasr::Ascbfal,
4530        Gticasr_SPEC,
4531        crate::common::RW,
4532    > {
4533        crate::common::RegisterField::<
4534            14,
4535            0x1,
4536            1,
4537            0,
4538            gticasr::Ascbfal,
4539            gticasr::Ascbfal,
4540            Gticasr_SPEC,
4541            crate::common::RW,
4542        >::from_register(self, 0)
4543    }
4544
4545    #[doc = "GTIOCB Pin Rising Input during GTIOCA Value High Source GTCCRA Input Capture Enable"]
4546    #[inline(always)]
4547    pub fn ascbrah(
4548        self,
4549    ) -> crate::common::RegisterField<
4550        13,
4551        0x1,
4552        1,
4553        0,
4554        gticasr::Ascbrah,
4555        gticasr::Ascbrah,
4556        Gticasr_SPEC,
4557        crate::common::RW,
4558    > {
4559        crate::common::RegisterField::<
4560            13,
4561            0x1,
4562            1,
4563            0,
4564            gticasr::Ascbrah,
4565            gticasr::Ascbrah,
4566            Gticasr_SPEC,
4567            crate::common::RW,
4568        >::from_register(self, 0)
4569    }
4570
4571    #[doc = "GTIOCB Pin Rising Input during GTIOCA Value Low Source GTCCRA Input Capture Enable"]
4572    #[inline(always)]
4573    pub fn ascbral(
4574        self,
4575    ) -> crate::common::RegisterField<
4576        12,
4577        0x1,
4578        1,
4579        0,
4580        gticasr::Ascbral,
4581        gticasr::Ascbral,
4582        Gticasr_SPEC,
4583        crate::common::RW,
4584    > {
4585        crate::common::RegisterField::<
4586            12,
4587            0x1,
4588            1,
4589            0,
4590            gticasr::Ascbral,
4591            gticasr::Ascbral,
4592            Gticasr_SPEC,
4593            crate::common::RW,
4594        >::from_register(self, 0)
4595    }
4596
4597    #[doc = "GTIOCA Pin Falling Input during GTIOCB Value High Source GTCCRA Input Capture Enable"]
4598    #[inline(always)]
4599    pub fn ascafbh(
4600        self,
4601    ) -> crate::common::RegisterField<
4602        11,
4603        0x1,
4604        1,
4605        0,
4606        gticasr::Ascafbh,
4607        gticasr::Ascafbh,
4608        Gticasr_SPEC,
4609        crate::common::RW,
4610    > {
4611        crate::common::RegisterField::<
4612            11,
4613            0x1,
4614            1,
4615            0,
4616            gticasr::Ascafbh,
4617            gticasr::Ascafbh,
4618            Gticasr_SPEC,
4619            crate::common::RW,
4620        >::from_register(self, 0)
4621    }
4622
4623    #[doc = "GTIOCA Pin Falling Input during GTIOCB Value Low Source GTCCRA Input Capture Enable"]
4624    #[inline(always)]
4625    pub fn ascafbl(
4626        self,
4627    ) -> crate::common::RegisterField<
4628        10,
4629        0x1,
4630        1,
4631        0,
4632        gticasr::Ascafbl,
4633        gticasr::Ascafbl,
4634        Gticasr_SPEC,
4635        crate::common::RW,
4636    > {
4637        crate::common::RegisterField::<
4638            10,
4639            0x1,
4640            1,
4641            0,
4642            gticasr::Ascafbl,
4643            gticasr::Ascafbl,
4644            Gticasr_SPEC,
4645            crate::common::RW,
4646        >::from_register(self, 0)
4647    }
4648
4649    #[doc = "GTIOCA Pin Rising Input during GTIOCB Value High Source GTCCRA Input Capture Enable"]
4650    #[inline(always)]
4651    pub fn ascarbh(
4652        self,
4653    ) -> crate::common::RegisterField<
4654        9,
4655        0x1,
4656        1,
4657        0,
4658        gticasr::Ascarbh,
4659        gticasr::Ascarbh,
4660        Gticasr_SPEC,
4661        crate::common::RW,
4662    > {
4663        crate::common::RegisterField::<
4664            9,
4665            0x1,
4666            1,
4667            0,
4668            gticasr::Ascarbh,
4669            gticasr::Ascarbh,
4670            Gticasr_SPEC,
4671            crate::common::RW,
4672        >::from_register(self, 0)
4673    }
4674
4675    #[doc = "GTIOCA Pin Rising Input during GTIOCB Value Low Source GTCCRA Input Capture Enable"]
4676    #[inline(always)]
4677    pub fn ascarbl(
4678        self,
4679    ) -> crate::common::RegisterField<
4680        8,
4681        0x1,
4682        1,
4683        0,
4684        gticasr::Ascarbl,
4685        gticasr::Ascarbl,
4686        Gticasr_SPEC,
4687        crate::common::RW,
4688    > {
4689        crate::common::RegisterField::<
4690            8,
4691            0x1,
4692            1,
4693            0,
4694            gticasr::Ascarbl,
4695            gticasr::Ascarbl,
4696            Gticasr_SPEC,
4697            crate::common::RW,
4698        >::from_register(self, 0)
4699    }
4700
4701    #[doc = "GTETRGB Pin Falling Input Source GTCCRA Input Capture Enable"]
4702    #[inline(always)]
4703    pub fn asgtrgbf(
4704        self,
4705    ) -> crate::common::RegisterField<
4706        3,
4707        0x1,
4708        1,
4709        0,
4710        gticasr::Asgtrgbf,
4711        gticasr::Asgtrgbf,
4712        Gticasr_SPEC,
4713        crate::common::RW,
4714    > {
4715        crate::common::RegisterField::<
4716            3,
4717            0x1,
4718            1,
4719            0,
4720            gticasr::Asgtrgbf,
4721            gticasr::Asgtrgbf,
4722            Gticasr_SPEC,
4723            crate::common::RW,
4724        >::from_register(self, 0)
4725    }
4726
4727    #[doc = "GTETRGB Pin Rising Input Source GTCCRA Input Capture Enable"]
4728    #[inline(always)]
4729    pub fn asgtrgbr(
4730        self,
4731    ) -> crate::common::RegisterField<
4732        2,
4733        0x1,
4734        1,
4735        0,
4736        gticasr::Asgtrgbr,
4737        gticasr::Asgtrgbr,
4738        Gticasr_SPEC,
4739        crate::common::RW,
4740    > {
4741        crate::common::RegisterField::<
4742            2,
4743            0x1,
4744            1,
4745            0,
4746            gticasr::Asgtrgbr,
4747            gticasr::Asgtrgbr,
4748            Gticasr_SPEC,
4749            crate::common::RW,
4750        >::from_register(self, 0)
4751    }
4752
4753    #[doc = "GTETRGA Pin Falling Input Source GTCCRA Input Capture Enable"]
4754    #[inline(always)]
4755    pub fn asgtrgaf(
4756        self,
4757    ) -> crate::common::RegisterField<
4758        1,
4759        0x1,
4760        1,
4761        0,
4762        gticasr::Asgtrgaf,
4763        gticasr::Asgtrgaf,
4764        Gticasr_SPEC,
4765        crate::common::RW,
4766    > {
4767        crate::common::RegisterField::<
4768            1,
4769            0x1,
4770            1,
4771            0,
4772            gticasr::Asgtrgaf,
4773            gticasr::Asgtrgaf,
4774            Gticasr_SPEC,
4775            crate::common::RW,
4776        >::from_register(self, 0)
4777    }
4778
4779    #[doc = "GTETRGA Pin Rising Input Source GTCCRA Input Capture Enable"]
4780    #[inline(always)]
4781    pub fn asgtrgar(
4782        self,
4783    ) -> crate::common::RegisterField<
4784        0,
4785        0x1,
4786        1,
4787        0,
4788        gticasr::Asgtrgar,
4789        gticasr::Asgtrgar,
4790        Gticasr_SPEC,
4791        crate::common::RW,
4792    > {
4793        crate::common::RegisterField::<
4794            0,
4795            0x1,
4796            1,
4797            0,
4798            gticasr::Asgtrgar,
4799            gticasr::Asgtrgar,
4800            Gticasr_SPEC,
4801            crate::common::RW,
4802        >::from_register(self, 0)
4803    }
4804}
4805impl ::core::default::Default for Gticasr {
4806    #[inline(always)]
4807    fn default() -> Gticasr {
4808        <crate::RegValueT<Gticasr_SPEC> as RegisterValue<_>>::new(0)
4809    }
4810}
4811pub mod gticasr {
4812
4813    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4814    pub struct Aselcd_SPEC;
4815    pub type Aselcd = crate::EnumBitfieldStruct<u8, Aselcd_SPEC>;
4816    impl Aselcd {
4817        #[doc = "GTCCRA input capture is disable at the ELC_GPTD input"]
4818        pub const _0: Self = Self::new(0);
4819
4820        #[doc = "GTCCRA input capture is enable at the ELC_GPTD input"]
4821        pub const _1: Self = Self::new(1);
4822    }
4823    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4824    pub struct Aselcc_SPEC;
4825    pub type Aselcc = crate::EnumBitfieldStruct<u8, Aselcc_SPEC>;
4826    impl Aselcc {
4827        #[doc = "GTCCRA input capture is disable at the ELC_GPTC input"]
4828        pub const _0: Self = Self::new(0);
4829
4830        #[doc = "GTCCRA input capture is enable at the ELC_GPTC input"]
4831        pub const _1: Self = Self::new(1);
4832    }
4833    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4834    pub struct Aselcb_SPEC;
4835    pub type Aselcb = crate::EnumBitfieldStruct<u8, Aselcb_SPEC>;
4836    impl Aselcb {
4837        #[doc = "GTCCRA input capture is disable at the ELC_GPTB input"]
4838        pub const _0: Self = Self::new(0);
4839
4840        #[doc = "GTCCRA input capture is enable at the ELC_GPTB input"]
4841        pub const _1: Self = Self::new(1);
4842    }
4843    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4844    pub struct Aselca_SPEC;
4845    pub type Aselca = crate::EnumBitfieldStruct<u8, Aselca_SPEC>;
4846    impl Aselca {
4847        #[doc = "GTCCRA input capture is disable at the ELC_GPTA input"]
4848        pub const _0: Self = Self::new(0);
4849
4850        #[doc = "GTCCRA input capture is enable at the ELC_GPTA input"]
4851        pub const _1: Self = Self::new(1);
4852    }
4853    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4854    pub struct Ascbfah_SPEC;
4855    pub type Ascbfah = crate::EnumBitfieldStruct<u8, Ascbfah_SPEC>;
4856    impl Ascbfah {
4857        #[doc = "GTCCRA input capture is disable at the falling edge of GTIOCB input when GTIOCA input is 1"]
4858        pub const _0: Self = Self::new(0);
4859
4860        #[doc = "GTCCRA input capture is enable at the falling edge of GTIOCB input when GTIOCA input is 1"]
4861        pub const _1: Self = Self::new(1);
4862    }
4863    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4864    pub struct Ascbfal_SPEC;
4865    pub type Ascbfal = crate::EnumBitfieldStruct<u8, Ascbfal_SPEC>;
4866    impl Ascbfal {
4867        #[doc = "GTCCRA input capture is disable at the falling edge of GTIOCB input when GTIOCA input is 0"]
4868        pub const _0: Self = Self::new(0);
4869
4870        #[doc = "GTCCRA input capture is enable at the falling edge of GTIOCB input when GTIOCA input is 0"]
4871        pub const _1: Self = Self::new(1);
4872    }
4873    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4874    pub struct Ascbrah_SPEC;
4875    pub type Ascbrah = crate::EnumBitfieldStruct<u8, Ascbrah_SPEC>;
4876    impl Ascbrah {
4877        #[doc = "GTCCRA input capture is disable at the rising edge of GTIOCB input when GTIOCA input is 1"]
4878        pub const _0: Self = Self::new(0);
4879
4880        #[doc = "GTCCRA input capture is enable at the rising edge of GTIOCB input when GTIOCA input is 1"]
4881        pub const _1: Self = Self::new(1);
4882    }
4883    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4884    pub struct Ascbral_SPEC;
4885    pub type Ascbral = crate::EnumBitfieldStruct<u8, Ascbral_SPEC>;
4886    impl Ascbral {
4887        #[doc = "GTCCRA input capture is disable at the rising edge of GTIOCB input when GTIOCA input is 0"]
4888        pub const _0: Self = Self::new(0);
4889
4890        #[doc = "GTCCRA input capture is enable at the rising edge of GTIOCB input when GTIOCA input is 0"]
4891        pub const _1: Self = Self::new(1);
4892    }
4893    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4894    pub struct Ascafbh_SPEC;
4895    pub type Ascafbh = crate::EnumBitfieldStruct<u8, Ascafbh_SPEC>;
4896    impl Ascafbh {
4897        #[doc = "GTCCRA input capture is disable at the falling edge of GTIOCA input when GTIOCB input is 1"]
4898        pub const _0: Self = Self::new(0);
4899
4900        #[doc = "GTCCRA input capture is enable at the falling edge of GTIOCA input when GTIOCB input is 1"]
4901        pub const _1: Self = Self::new(1);
4902    }
4903    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4904    pub struct Ascafbl_SPEC;
4905    pub type Ascafbl = crate::EnumBitfieldStruct<u8, Ascafbl_SPEC>;
4906    impl Ascafbl {
4907        #[doc = "GTCCRA input capture is disable at the falling edge of GTIOCA input when GTIOCB input is 0"]
4908        pub const _0: Self = Self::new(0);
4909
4910        #[doc = "GTCCRA input capture is enable at the falling edge of GTIOCA input when GTIOCB input is 0"]
4911        pub const _1: Self = Self::new(1);
4912    }
4913    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4914    pub struct Ascarbh_SPEC;
4915    pub type Ascarbh = crate::EnumBitfieldStruct<u8, Ascarbh_SPEC>;
4916    impl Ascarbh {
4917        #[doc = "GTCCRA input capture is disable at the rising edge of GTIOCA input when GTIOCB input is 1"]
4918        pub const _0: Self = Self::new(0);
4919
4920        #[doc = "GTCCRA input capture is enable at the rising edge of GTIOCA input when GTIOCB input is 1"]
4921        pub const _1: Self = Self::new(1);
4922    }
4923    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4924    pub struct Ascarbl_SPEC;
4925    pub type Ascarbl = crate::EnumBitfieldStruct<u8, Ascarbl_SPEC>;
4926    impl Ascarbl {
4927        #[doc = "GTCCRA input capture is disable at the rising edge of GTIOCA input when GTIOCB input is 0"]
4928        pub const _0: Self = Self::new(0);
4929
4930        #[doc = "GTCCRA input capture is enable at the rising edge of GTIOCA input when GTIOCB input is 0"]
4931        pub const _1: Self = Self::new(1);
4932    }
4933    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4934    pub struct Asgtrgbf_SPEC;
4935    pub type Asgtrgbf = crate::EnumBitfieldStruct<u8, Asgtrgbf_SPEC>;
4936    impl Asgtrgbf {
4937        #[doc = "GTCCRA input capture is disable at the falling edge of GTETRGB input"]
4938        pub const _0: Self = Self::new(0);
4939
4940        #[doc = "GTCCRA input capture is enable at the falling edge of GTETRGB input"]
4941        pub const _1: Self = Self::new(1);
4942    }
4943    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4944    pub struct Asgtrgbr_SPEC;
4945    pub type Asgtrgbr = crate::EnumBitfieldStruct<u8, Asgtrgbr_SPEC>;
4946    impl Asgtrgbr {
4947        #[doc = "GTCCRA input capture is disable at the rising edge of GTETRGB input"]
4948        pub const _0: Self = Self::new(0);
4949
4950        #[doc = "GTCCRA input capture is enable at the rising edge of GTETRGB input"]
4951        pub const _1: Self = Self::new(1);
4952    }
4953    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4954    pub struct Asgtrgaf_SPEC;
4955    pub type Asgtrgaf = crate::EnumBitfieldStruct<u8, Asgtrgaf_SPEC>;
4956    impl Asgtrgaf {
4957        #[doc = "GTCCRA input capture is disable at the falling edge of GTETRGA input"]
4958        pub const _0: Self = Self::new(0);
4959
4960        #[doc = "GTCCRA input capture is enable at the falling edge of GTETRGA input"]
4961        pub const _1: Self = Self::new(1);
4962    }
4963    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4964    pub struct Asgtrgar_SPEC;
4965    pub type Asgtrgar = crate::EnumBitfieldStruct<u8, Asgtrgar_SPEC>;
4966    impl Asgtrgar {
4967        #[doc = "GTCCRA input capture is disable at the rising edge of GTETRGA input"]
4968        pub const _0: Self = Self::new(0);
4969
4970        #[doc = "GTCCRA input capture is enable at the rising edge of GTETRGA input"]
4971        pub const _1: Self = Self::new(1);
4972    }
4973}
4974#[doc(hidden)]
4975#[derive(Copy, Clone, Eq, PartialEq)]
4976pub struct Gticbsr_SPEC;
4977impl crate::sealed::RegSpec for Gticbsr_SPEC {
4978    type DataType = u32;
4979}
4980
4981#[doc = "General PWM Timer Input Capture Source Select Register B"]
4982pub type Gticbsr = crate::RegValueT<Gticbsr_SPEC>;
4983
4984impl Gticbsr {
4985    #[doc = "ELC_GPTD Event Source GTCCRB Input Capture Enable"]
4986    #[inline(always)]
4987    pub fn bselcd(
4988        self,
4989    ) -> crate::common::RegisterField<
4990        19,
4991        0x1,
4992        1,
4993        0,
4994        gticbsr::Bselcd,
4995        gticbsr::Bselcd,
4996        Gticbsr_SPEC,
4997        crate::common::RW,
4998    > {
4999        crate::common::RegisterField::<
5000            19,
5001            0x1,
5002            1,
5003            0,
5004            gticbsr::Bselcd,
5005            gticbsr::Bselcd,
5006            Gticbsr_SPEC,
5007            crate::common::RW,
5008        >::from_register(self, 0)
5009    }
5010
5011    #[doc = "ELC_GPTC Event Source GTCCRB Input Capture Enable"]
5012    #[inline(always)]
5013    pub fn bselcc(
5014        self,
5015    ) -> crate::common::RegisterField<
5016        18,
5017        0x1,
5018        1,
5019        0,
5020        gticbsr::Bselcc,
5021        gticbsr::Bselcc,
5022        Gticbsr_SPEC,
5023        crate::common::RW,
5024    > {
5025        crate::common::RegisterField::<
5026            18,
5027            0x1,
5028            1,
5029            0,
5030            gticbsr::Bselcc,
5031            gticbsr::Bselcc,
5032            Gticbsr_SPEC,
5033            crate::common::RW,
5034        >::from_register(self, 0)
5035    }
5036
5037    #[doc = "ELC_GPTB Event Source GTCCRB Input Capture Enable"]
5038    #[inline(always)]
5039    pub fn bselcb(
5040        self,
5041    ) -> crate::common::RegisterField<
5042        17,
5043        0x1,
5044        1,
5045        0,
5046        gticbsr::Bselcb,
5047        gticbsr::Bselcb,
5048        Gticbsr_SPEC,
5049        crate::common::RW,
5050    > {
5051        crate::common::RegisterField::<
5052            17,
5053            0x1,
5054            1,
5055            0,
5056            gticbsr::Bselcb,
5057            gticbsr::Bselcb,
5058            Gticbsr_SPEC,
5059            crate::common::RW,
5060        >::from_register(self, 0)
5061    }
5062
5063    #[doc = "ELC_GPTA Event Source GTCCRB Input Capture Enable"]
5064    #[inline(always)]
5065    pub fn bselca(
5066        self,
5067    ) -> crate::common::RegisterField<
5068        16,
5069        0x1,
5070        1,
5071        0,
5072        gticbsr::Bselca,
5073        gticbsr::Bselca,
5074        Gticbsr_SPEC,
5075        crate::common::RW,
5076    > {
5077        crate::common::RegisterField::<
5078            16,
5079            0x1,
5080            1,
5081            0,
5082            gticbsr::Bselca,
5083            gticbsr::Bselca,
5084            Gticbsr_SPEC,
5085            crate::common::RW,
5086        >::from_register(self, 0)
5087    }
5088
5089    #[doc = "GTIOCB Pin Falling Input during GTIOCA Value High Source GTCCRB Input Capture Enable"]
5090    #[inline(always)]
5091    pub fn bscbfah(
5092        self,
5093    ) -> crate::common::RegisterField<
5094        15,
5095        0x1,
5096        1,
5097        0,
5098        gticbsr::Bscbfah,
5099        gticbsr::Bscbfah,
5100        Gticbsr_SPEC,
5101        crate::common::RW,
5102    > {
5103        crate::common::RegisterField::<
5104            15,
5105            0x1,
5106            1,
5107            0,
5108            gticbsr::Bscbfah,
5109            gticbsr::Bscbfah,
5110            Gticbsr_SPEC,
5111            crate::common::RW,
5112        >::from_register(self, 0)
5113    }
5114
5115    #[doc = "GTIOCB Pin Falling Input during GTIOCA Value Low Source GTCCRB Input Capture Enable"]
5116    #[inline(always)]
5117    pub fn bscbfal(
5118        self,
5119    ) -> crate::common::RegisterField<
5120        14,
5121        0x1,
5122        1,
5123        0,
5124        gticbsr::Bscbfal,
5125        gticbsr::Bscbfal,
5126        Gticbsr_SPEC,
5127        crate::common::RW,
5128    > {
5129        crate::common::RegisterField::<
5130            14,
5131            0x1,
5132            1,
5133            0,
5134            gticbsr::Bscbfal,
5135            gticbsr::Bscbfal,
5136            Gticbsr_SPEC,
5137            crate::common::RW,
5138        >::from_register(self, 0)
5139    }
5140
5141    #[doc = "GTIOCB Pin Rising Input during GTIOCA Value High Source GTCCRB Input Capture Enable"]
5142    #[inline(always)]
5143    pub fn bscbrah(
5144        self,
5145    ) -> crate::common::RegisterField<
5146        13,
5147        0x1,
5148        1,
5149        0,
5150        gticbsr::Bscbrah,
5151        gticbsr::Bscbrah,
5152        Gticbsr_SPEC,
5153        crate::common::RW,
5154    > {
5155        crate::common::RegisterField::<
5156            13,
5157            0x1,
5158            1,
5159            0,
5160            gticbsr::Bscbrah,
5161            gticbsr::Bscbrah,
5162            Gticbsr_SPEC,
5163            crate::common::RW,
5164        >::from_register(self, 0)
5165    }
5166
5167    #[doc = "GTIOCB Pin Rising Input during GTIOCA Value Low Source GTCCRB Input Capture Enable"]
5168    #[inline(always)]
5169    pub fn bscbral(
5170        self,
5171    ) -> crate::common::RegisterField<
5172        12,
5173        0x1,
5174        1,
5175        0,
5176        gticbsr::Bscbral,
5177        gticbsr::Bscbral,
5178        Gticbsr_SPEC,
5179        crate::common::RW,
5180    > {
5181        crate::common::RegisterField::<
5182            12,
5183            0x1,
5184            1,
5185            0,
5186            gticbsr::Bscbral,
5187            gticbsr::Bscbral,
5188            Gticbsr_SPEC,
5189            crate::common::RW,
5190        >::from_register(self, 0)
5191    }
5192
5193    #[doc = "GTIOCA Pin Falling Input during GTIOCB Value High Source GTCCRB Input Capture Enable"]
5194    #[inline(always)]
5195    pub fn bscafbh(
5196        self,
5197    ) -> crate::common::RegisterField<
5198        11,
5199        0x1,
5200        1,
5201        0,
5202        gticbsr::Bscafbh,
5203        gticbsr::Bscafbh,
5204        Gticbsr_SPEC,
5205        crate::common::RW,
5206    > {
5207        crate::common::RegisterField::<
5208            11,
5209            0x1,
5210            1,
5211            0,
5212            gticbsr::Bscafbh,
5213            gticbsr::Bscafbh,
5214            Gticbsr_SPEC,
5215            crate::common::RW,
5216        >::from_register(self, 0)
5217    }
5218
5219    #[doc = "GTIOCA Pin Falling Input during GTIOCB Value Low Source GTCCRB Input Capture Enable"]
5220    #[inline(always)]
5221    pub fn bscafbl(
5222        self,
5223    ) -> crate::common::RegisterField<
5224        10,
5225        0x1,
5226        1,
5227        0,
5228        gticbsr::Bscafbl,
5229        gticbsr::Bscafbl,
5230        Gticbsr_SPEC,
5231        crate::common::RW,
5232    > {
5233        crate::common::RegisterField::<
5234            10,
5235            0x1,
5236            1,
5237            0,
5238            gticbsr::Bscafbl,
5239            gticbsr::Bscafbl,
5240            Gticbsr_SPEC,
5241            crate::common::RW,
5242        >::from_register(self, 0)
5243    }
5244
5245    #[doc = "GTIOCA Pin Rising Input during GTIOCB Value High Source GTCCRB Input Capture Enable"]
5246    #[inline(always)]
5247    pub fn bscarbh(
5248        self,
5249    ) -> crate::common::RegisterField<
5250        9,
5251        0x1,
5252        1,
5253        0,
5254        gticbsr::Bscarbh,
5255        gticbsr::Bscarbh,
5256        Gticbsr_SPEC,
5257        crate::common::RW,
5258    > {
5259        crate::common::RegisterField::<
5260            9,
5261            0x1,
5262            1,
5263            0,
5264            gticbsr::Bscarbh,
5265            gticbsr::Bscarbh,
5266            Gticbsr_SPEC,
5267            crate::common::RW,
5268        >::from_register(self, 0)
5269    }
5270
5271    #[doc = "GTIOCA Pin Rising Input during GTIOCB Value Low Source GTCCRB Input Capture Enable"]
5272    #[inline(always)]
5273    pub fn bscarbl(
5274        self,
5275    ) -> crate::common::RegisterField<
5276        8,
5277        0x1,
5278        1,
5279        0,
5280        gticbsr::Bscarbl,
5281        gticbsr::Bscarbl,
5282        Gticbsr_SPEC,
5283        crate::common::RW,
5284    > {
5285        crate::common::RegisterField::<
5286            8,
5287            0x1,
5288            1,
5289            0,
5290            gticbsr::Bscarbl,
5291            gticbsr::Bscarbl,
5292            Gticbsr_SPEC,
5293            crate::common::RW,
5294        >::from_register(self, 0)
5295    }
5296
5297    #[doc = "GTETRGB Pin Falling Input Source GTCCRB Input Capture Enable"]
5298    #[inline(always)]
5299    pub fn bsgtrgbf(
5300        self,
5301    ) -> crate::common::RegisterField<
5302        3,
5303        0x1,
5304        1,
5305        0,
5306        gticbsr::Bsgtrgbf,
5307        gticbsr::Bsgtrgbf,
5308        Gticbsr_SPEC,
5309        crate::common::RW,
5310    > {
5311        crate::common::RegisterField::<
5312            3,
5313            0x1,
5314            1,
5315            0,
5316            gticbsr::Bsgtrgbf,
5317            gticbsr::Bsgtrgbf,
5318            Gticbsr_SPEC,
5319            crate::common::RW,
5320        >::from_register(self, 0)
5321    }
5322
5323    #[doc = "GTETRGB Pin Rising Input Source GTCCRB Input Capture Enable"]
5324    #[inline(always)]
5325    pub fn bsgtrgbr(
5326        self,
5327    ) -> crate::common::RegisterField<
5328        2,
5329        0x1,
5330        1,
5331        0,
5332        gticbsr::Bsgtrgbr,
5333        gticbsr::Bsgtrgbr,
5334        Gticbsr_SPEC,
5335        crate::common::RW,
5336    > {
5337        crate::common::RegisterField::<
5338            2,
5339            0x1,
5340            1,
5341            0,
5342            gticbsr::Bsgtrgbr,
5343            gticbsr::Bsgtrgbr,
5344            Gticbsr_SPEC,
5345            crate::common::RW,
5346        >::from_register(self, 0)
5347    }
5348
5349    #[doc = "GTETRGA Pin Falling Input Source GTCCRB Input Capture Enable"]
5350    #[inline(always)]
5351    pub fn bsgtrgaf(
5352        self,
5353    ) -> crate::common::RegisterField<
5354        1,
5355        0x1,
5356        1,
5357        0,
5358        gticbsr::Bsgtrgaf,
5359        gticbsr::Bsgtrgaf,
5360        Gticbsr_SPEC,
5361        crate::common::RW,
5362    > {
5363        crate::common::RegisterField::<
5364            1,
5365            0x1,
5366            1,
5367            0,
5368            gticbsr::Bsgtrgaf,
5369            gticbsr::Bsgtrgaf,
5370            Gticbsr_SPEC,
5371            crate::common::RW,
5372        >::from_register(self, 0)
5373    }
5374
5375    #[doc = "GTETRGA Pin Rising Input Source GTCCRB Input Capture Enable"]
5376    #[inline(always)]
5377    pub fn bsgtrgar(
5378        self,
5379    ) -> crate::common::RegisterField<
5380        0,
5381        0x1,
5382        1,
5383        0,
5384        gticbsr::Bsgtrgar,
5385        gticbsr::Bsgtrgar,
5386        Gticbsr_SPEC,
5387        crate::common::RW,
5388    > {
5389        crate::common::RegisterField::<
5390            0,
5391            0x1,
5392            1,
5393            0,
5394            gticbsr::Bsgtrgar,
5395            gticbsr::Bsgtrgar,
5396            Gticbsr_SPEC,
5397            crate::common::RW,
5398        >::from_register(self, 0)
5399    }
5400}
5401impl ::core::default::Default for Gticbsr {
5402    #[inline(always)]
5403    fn default() -> Gticbsr {
5404        <crate::RegValueT<Gticbsr_SPEC> as RegisterValue<_>>::new(0)
5405    }
5406}
5407pub mod gticbsr {
5408
5409    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5410    pub struct Bselcd_SPEC;
5411    pub type Bselcd = crate::EnumBitfieldStruct<u8, Bselcd_SPEC>;
5412    impl Bselcd {
5413        #[doc = "GTCCRB input capture is disable at the ELC_GPTD input"]
5414        pub const _0: Self = Self::new(0);
5415
5416        #[doc = "GTCCRB input capture is enable at the ELC_GPTD input"]
5417        pub const _1: Self = Self::new(1);
5418    }
5419    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5420    pub struct Bselcc_SPEC;
5421    pub type Bselcc = crate::EnumBitfieldStruct<u8, Bselcc_SPEC>;
5422    impl Bselcc {
5423        #[doc = "GTCCRB input capture is disable at the ELC_GPTC input"]
5424        pub const _0: Self = Self::new(0);
5425
5426        #[doc = "GTCCRB input capture is enable at the ELC_GPTC input"]
5427        pub const _1: Self = Self::new(1);
5428    }
5429    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5430    pub struct Bselcb_SPEC;
5431    pub type Bselcb = crate::EnumBitfieldStruct<u8, Bselcb_SPEC>;
5432    impl Bselcb {
5433        #[doc = "GTCCRB input capture is disable at the ELC_GPTB input"]
5434        pub const _0: Self = Self::new(0);
5435
5436        #[doc = "GTCCRB input capture is enable at the ELC_GPTB input"]
5437        pub const _1: Self = Self::new(1);
5438    }
5439    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5440    pub struct Bselca_SPEC;
5441    pub type Bselca = crate::EnumBitfieldStruct<u8, Bselca_SPEC>;
5442    impl Bselca {
5443        #[doc = "GTCCRB input capture is disable at the ELC_GPTA input"]
5444        pub const _0: Self = Self::new(0);
5445
5446        #[doc = "GTCCRB input capture is enable at the ELC_GPTA input"]
5447        pub const _1: Self = Self::new(1);
5448    }
5449    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5450    pub struct Bscbfah_SPEC;
5451    pub type Bscbfah = crate::EnumBitfieldStruct<u8, Bscbfah_SPEC>;
5452    impl Bscbfah {
5453        #[doc = "GTCCRB input capture is disable at the falling edge of GTIOCB input when GTIOCA input is 1"]
5454        pub const _0: Self = Self::new(0);
5455
5456        #[doc = "GTCCRB input capture is enable at the falling edge of GTIOCB input when GTIOCA input is 1"]
5457        pub const _1: Self = Self::new(1);
5458    }
5459    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5460    pub struct Bscbfal_SPEC;
5461    pub type Bscbfal = crate::EnumBitfieldStruct<u8, Bscbfal_SPEC>;
5462    impl Bscbfal {
5463        #[doc = "GTCCRB input capture is disable at the falling edge of GTIOCB input when GTIOCA input is 0"]
5464        pub const _0: Self = Self::new(0);
5465
5466        #[doc = "GTCCRB input capture is enable at the falling edge of GTIOCB input when GTIOCA input is 0"]
5467        pub const _1: Self = Self::new(1);
5468    }
5469    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5470    pub struct Bscbrah_SPEC;
5471    pub type Bscbrah = crate::EnumBitfieldStruct<u8, Bscbrah_SPEC>;
5472    impl Bscbrah {
5473        #[doc = "GTCCRB input capture is disable at the rising edge of GTIOCB input when GTIOCA input is 1"]
5474        pub const _0: Self = Self::new(0);
5475
5476        #[doc = "GTCCRB input capture is enable at the rising edge of GTIOCB input when GTIOCA input is 1"]
5477        pub const _1: Self = Self::new(1);
5478    }
5479    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5480    pub struct Bscbral_SPEC;
5481    pub type Bscbral = crate::EnumBitfieldStruct<u8, Bscbral_SPEC>;
5482    impl Bscbral {
5483        #[doc = "GTCCRB input capture is disable at the rising edge of GTIOCB input when GTIOCA input is 0"]
5484        pub const _0: Self = Self::new(0);
5485
5486        #[doc = "GTCCRB input capture is enable at the rising edge of GTIOCB input when GTIOCA input is 0"]
5487        pub const _1: Self = Self::new(1);
5488    }
5489    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5490    pub struct Bscafbh_SPEC;
5491    pub type Bscafbh = crate::EnumBitfieldStruct<u8, Bscafbh_SPEC>;
5492    impl Bscafbh {
5493        #[doc = "GTCCRB input capture is disable at the falling edge of GTIOCA input when GTIOCB input is 1"]
5494        pub const _0: Self = Self::new(0);
5495
5496        #[doc = "GTCCRB input capture is enable at the falling edge of GTIOCA input when GTIOCB input is 1"]
5497        pub const _1: Self = Self::new(1);
5498    }
5499    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5500    pub struct Bscafbl_SPEC;
5501    pub type Bscafbl = crate::EnumBitfieldStruct<u8, Bscafbl_SPEC>;
5502    impl Bscafbl {
5503        #[doc = "GTCCRB input capture is disable at the falling edge of GTIOCA input when GTIOCB input is 0"]
5504        pub const _0: Self = Self::new(0);
5505
5506        #[doc = "GTCCRB input capture is enable at the falling edge of GTIOCA input when GTIOCB input is 0"]
5507        pub const _1: Self = Self::new(1);
5508    }
5509    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5510    pub struct Bscarbh_SPEC;
5511    pub type Bscarbh = crate::EnumBitfieldStruct<u8, Bscarbh_SPEC>;
5512    impl Bscarbh {
5513        #[doc = "GTCCRB input capture is disable at the rising edge of GTIOCA input when GTIOCB input is 1"]
5514        pub const _0: Self = Self::new(0);
5515
5516        #[doc = "GTCCRB input capture is enable at the rising edge of GTIOCA input when GTIOCB input is 1"]
5517        pub const _1: Self = Self::new(1);
5518    }
5519    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5520    pub struct Bscarbl_SPEC;
5521    pub type Bscarbl = crate::EnumBitfieldStruct<u8, Bscarbl_SPEC>;
5522    impl Bscarbl {
5523        #[doc = "GTCCRB input capture is disable at the rising edge of GTIOCA input when GTIOCB input is 0"]
5524        pub const _0: Self = Self::new(0);
5525
5526        #[doc = "GTCCRB input capture is enable at the rising edge of GTIOCA input when GTIOCB input is 0"]
5527        pub const _1: Self = Self::new(1);
5528    }
5529    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5530    pub struct Bsgtrgbf_SPEC;
5531    pub type Bsgtrgbf = crate::EnumBitfieldStruct<u8, Bsgtrgbf_SPEC>;
5532    impl Bsgtrgbf {
5533        #[doc = "GTCCRB input capture is disable at the falling edge of GTETRGB input"]
5534        pub const _0: Self = Self::new(0);
5535
5536        #[doc = "GTCCRB input capture is enable at the falling edge of GTETRGB input"]
5537        pub const _1: Self = Self::new(1);
5538    }
5539    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5540    pub struct Bsgtrgbr_SPEC;
5541    pub type Bsgtrgbr = crate::EnumBitfieldStruct<u8, Bsgtrgbr_SPEC>;
5542    impl Bsgtrgbr {
5543        #[doc = "GTCCRB input capture is disable at the rising edge of GTETRGB input"]
5544        pub const _0: Self = Self::new(0);
5545
5546        #[doc = "GTCCRB input capture is enable at the rising edge of GTETRGB input"]
5547        pub const _1: Self = Self::new(1);
5548    }
5549    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5550    pub struct Bsgtrgaf_SPEC;
5551    pub type Bsgtrgaf = crate::EnumBitfieldStruct<u8, Bsgtrgaf_SPEC>;
5552    impl Bsgtrgaf {
5553        #[doc = "GTCCRB input capture is disable at the falling edge of GTETRGA input"]
5554        pub const _0: Self = Self::new(0);
5555
5556        #[doc = "GTCCRB input capture is enable at the falling edge of GTETRGA input"]
5557        pub const _1: Self = Self::new(1);
5558    }
5559    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5560    pub struct Bsgtrgar_SPEC;
5561    pub type Bsgtrgar = crate::EnumBitfieldStruct<u8, Bsgtrgar_SPEC>;
5562    impl Bsgtrgar {
5563        #[doc = "GTCCRB input capture is disable at the rising edge of GTETRGA input"]
5564        pub const _0: Self = Self::new(0);
5565
5566        #[doc = "GTCCRB input capture is enable at the rising edge of GTETRGA input"]
5567        pub const _1: Self = Self::new(1);
5568    }
5569}
5570#[doc(hidden)]
5571#[derive(Copy, Clone, Eq, PartialEq)]
5572pub struct Gtcr_SPEC;
5573impl crate::sealed::RegSpec for Gtcr_SPEC {
5574    type DataType = u32;
5575}
5576
5577#[doc = "General PWM Timer Control Register"]
5578pub type Gtcr = crate::RegValueT<Gtcr_SPEC>;
5579
5580impl Gtcr {
5581    #[doc = "Timer Prescaler Select"]
5582    #[inline(always)]
5583    pub fn tpcs(
5584        self,
5585    ) -> crate::common::RegisterField<
5586        24,
5587        0x7,
5588        1,
5589        0,
5590        gtcr::Tpcs,
5591        gtcr::Tpcs,
5592        Gtcr_SPEC,
5593        crate::common::RW,
5594    > {
5595        crate::common::RegisterField::<
5596            24,
5597            0x7,
5598            1,
5599            0,
5600            gtcr::Tpcs,
5601            gtcr::Tpcs,
5602            Gtcr_SPEC,
5603            crate::common::RW,
5604        >::from_register(self, 0)
5605    }
5606
5607    #[doc = "Mode Select"]
5608    #[inline(always)]
5609    pub fn md(
5610        self,
5611    ) -> crate::common::RegisterField<16, 0x7, 1, 0, gtcr::Md, gtcr::Md, Gtcr_SPEC, crate::common::RW>
5612    {
5613        crate::common::RegisterField::<
5614            16,
5615            0x7,
5616            1,
5617            0,
5618            gtcr::Md,
5619            gtcr::Md,
5620            Gtcr_SPEC,
5621            crate::common::RW,
5622        >::from_register(self, 0)
5623    }
5624
5625    #[doc = "These bits are read as 000000000000000. The write value should be 000000000000000."]
5626    #[inline(always)]
5627    pub fn reserved(
5628        self,
5629    ) -> crate::common::RegisterField<1, 0x7fff, 1, 0, u16, u16, Gtcr_SPEC, crate::common::RW> {
5630        crate::common::RegisterField::<1,0x7fff,1,0,u16,u16,Gtcr_SPEC,crate::common::RW>::from_register(self,0)
5631    }
5632
5633    #[doc = "Count Start"]
5634    #[inline(always)]
5635    pub fn cst(
5636        self,
5637    ) -> crate::common::RegisterField<
5638        0,
5639        0x1,
5640        1,
5641        0,
5642        gtcr::Cst,
5643        gtcr::Cst,
5644        Gtcr_SPEC,
5645        crate::common::RW,
5646    > {
5647        crate::common::RegisterField::<
5648            0,
5649            0x1,
5650            1,
5651            0,
5652            gtcr::Cst,
5653            gtcr::Cst,
5654            Gtcr_SPEC,
5655            crate::common::RW,
5656        >::from_register(self, 0)
5657    }
5658}
5659impl ::core::default::Default for Gtcr {
5660    #[inline(always)]
5661    fn default() -> Gtcr {
5662        <crate::RegValueT<Gtcr_SPEC> as RegisterValue<_>>::new(0)
5663    }
5664}
5665pub mod gtcr {
5666
5667    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5668    pub struct Tpcs_SPEC;
5669    pub type Tpcs = crate::EnumBitfieldStruct<u8, Tpcs_SPEC>;
5670    impl Tpcs {
5671        #[doc = "PCLK/1"]
5672        pub const _000: Self = Self::new(0);
5673
5674        #[doc = "PCLK/4"]
5675        pub const _001: Self = Self::new(1);
5676
5677        #[doc = "PCLK/16"]
5678        pub const _010: Self = Self::new(2);
5679
5680        #[doc = "PCLK/64"]
5681        pub const _011: Self = Self::new(3);
5682
5683        #[doc = "PCLK/256"]
5684        pub const _100: Self = Self::new(4);
5685
5686        #[doc = "PCLK/1024"]
5687        pub const _101: Self = Self::new(5);
5688    }
5689    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5690    pub struct Md_SPEC;
5691    pub type Md = crate::EnumBitfieldStruct<u8, Md_SPEC>;
5692    impl Md {
5693        #[doc = "Saw-wave PWM mode (single buffer or double buffer possible)"]
5694        pub const _000: Self = Self::new(0);
5695
5696        #[doc = "Saw-wave one-shot pulse mode (fixed buffer operation)"]
5697        pub const _001: Self = Self::new(1);
5698
5699        #[doc = "Setting prohibited"]
5700        pub const _010: Self = Self::new(2);
5701
5702        #[doc = "Setting prohibited"]
5703        pub const _011: Self = Self::new(3);
5704
5705        #[doc = "Triangle-wave PWM mode 1 (16-bit transfer at crest) (single buffer or double buffer possible)"]
5706        pub const _100: Self = Self::new(4);
5707
5708        #[doc = "Triangle-wave PWM mode 2 (16-bit transfer at crest and trough) (single buffer or double buffer possible)"]
5709        pub const _101: Self = Self::new(5);
5710
5711        #[doc = "Triangle-wave PWM mode 3 (32-bit transfer at trough) fixed buffer operation)"]
5712        pub const _110: Self = Self::new(6);
5713
5714        #[doc = "Setting prohibited"]
5715        pub const _111: Self = Self::new(7);
5716    }
5717    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5718    pub struct Cst_SPEC;
5719    pub type Cst = crate::EnumBitfieldStruct<u8, Cst_SPEC>;
5720    impl Cst {
5721        #[doc = "Count operation is stopped"]
5722        pub const _0: Self = Self::new(0);
5723
5724        #[doc = "Count operation is performed"]
5725        pub const _1: Self = Self::new(1);
5726    }
5727}
5728#[doc(hidden)]
5729#[derive(Copy, Clone, Eq, PartialEq)]
5730pub struct Gtuddtyc_SPEC;
5731impl crate::sealed::RegSpec for Gtuddtyc_SPEC {
5732    type DataType = u32;
5733}
5734
5735#[doc = "General PWM Timer Count Direction and Duty Setting Register"]
5736pub type Gtuddtyc = crate::RegValueT<Gtuddtyc_SPEC>;
5737
5738impl Gtuddtyc {
5739    #[doc = "GTIOCB Output Value Selecting after Releasing  0 percent/100 percent Duty Setting"]
5740    #[inline(always)]
5741    pub fn obdtyr(
5742        self,
5743    ) -> crate::common::RegisterField<
5744        27,
5745        0x1,
5746        1,
5747        0,
5748        gtuddtyc::Obdtyr,
5749        gtuddtyc::Obdtyr,
5750        Gtuddtyc_SPEC,
5751        crate::common::RW,
5752    > {
5753        crate::common::RegisterField::<
5754            27,
5755            0x1,
5756            1,
5757            0,
5758            gtuddtyc::Obdtyr,
5759            gtuddtyc::Obdtyr,
5760            Gtuddtyc_SPEC,
5761            crate::common::RW,
5762        >::from_register(self, 0)
5763    }
5764
5765    #[doc = "Forcible GTIOCB Output Duty Setting"]
5766    #[inline(always)]
5767    pub fn obdtyf(
5768        self,
5769    ) -> crate::common::RegisterField<
5770        26,
5771        0x1,
5772        1,
5773        0,
5774        gtuddtyc::Obdtyf,
5775        gtuddtyc::Obdtyf,
5776        Gtuddtyc_SPEC,
5777        crate::common::RW,
5778    > {
5779        crate::common::RegisterField::<
5780            26,
5781            0x1,
5782            1,
5783            0,
5784            gtuddtyc::Obdtyf,
5785            gtuddtyc::Obdtyf,
5786            Gtuddtyc_SPEC,
5787            crate::common::RW,
5788        >::from_register(self, 0)
5789    }
5790
5791    #[doc = "GTIOCB Output Duty Setting"]
5792    #[inline(always)]
5793    pub fn obdty(
5794        self,
5795    ) -> crate::common::RegisterField<
5796        24,
5797        0x3,
5798        1,
5799        0,
5800        gtuddtyc::Obdty,
5801        gtuddtyc::Obdty,
5802        Gtuddtyc_SPEC,
5803        crate::common::RW,
5804    > {
5805        crate::common::RegisterField::<
5806            24,
5807            0x3,
5808            1,
5809            0,
5810            gtuddtyc::Obdty,
5811            gtuddtyc::Obdty,
5812            Gtuddtyc_SPEC,
5813            crate::common::RW,
5814        >::from_register(self, 0)
5815    }
5816
5817    #[doc = "These bits are read as 0000. The write value should be 0000."]
5818    #[inline(always)]
5819    pub fn reserved(
5820        self,
5821    ) -> crate::common::RegisterField<20, 0xf, 1, 0, u8, u8, Gtuddtyc_SPEC, crate::common::RW> {
5822        crate::common::RegisterField::<20,0xf,1,0,u8,u8,Gtuddtyc_SPEC,crate::common::RW>::from_register(self,0)
5823    }
5824
5825    #[doc = "GTIOCA Output Value Selecting after Releasing  0 percent/100 percent Duty Setting"]
5826    #[inline(always)]
5827    pub fn oadtyr(
5828        self,
5829    ) -> crate::common::RegisterField<
5830        19,
5831        0x1,
5832        1,
5833        0,
5834        gtuddtyc::Oadtyr,
5835        gtuddtyc::Oadtyr,
5836        Gtuddtyc_SPEC,
5837        crate::common::RW,
5838    > {
5839        crate::common::RegisterField::<
5840            19,
5841            0x1,
5842            1,
5843            0,
5844            gtuddtyc::Oadtyr,
5845            gtuddtyc::Oadtyr,
5846            Gtuddtyc_SPEC,
5847            crate::common::RW,
5848        >::from_register(self, 0)
5849    }
5850
5851    #[doc = "Forcible GTIOCA Output Duty Setting"]
5852    #[inline(always)]
5853    pub fn oadtyf(
5854        self,
5855    ) -> crate::common::RegisterField<
5856        18,
5857        0x1,
5858        1,
5859        0,
5860        gtuddtyc::Oadtyf,
5861        gtuddtyc::Oadtyf,
5862        Gtuddtyc_SPEC,
5863        crate::common::RW,
5864    > {
5865        crate::common::RegisterField::<
5866            18,
5867            0x1,
5868            1,
5869            0,
5870            gtuddtyc::Oadtyf,
5871            gtuddtyc::Oadtyf,
5872            Gtuddtyc_SPEC,
5873            crate::common::RW,
5874        >::from_register(self, 0)
5875    }
5876
5877    #[doc = "GTIOCA Output Duty Setting"]
5878    #[inline(always)]
5879    pub fn oadty(
5880        self,
5881    ) -> crate::common::RegisterField<
5882        16,
5883        0x3,
5884        1,
5885        0,
5886        gtuddtyc::Oadty,
5887        gtuddtyc::Oadty,
5888        Gtuddtyc_SPEC,
5889        crate::common::RW,
5890    > {
5891        crate::common::RegisterField::<
5892            16,
5893            0x3,
5894            1,
5895            0,
5896            gtuddtyc::Oadty,
5897            gtuddtyc::Oadty,
5898            Gtuddtyc_SPEC,
5899            crate::common::RW,
5900        >::from_register(self, 0)
5901    }
5902
5903    #[doc = "Forcible Count Direction Setting"]
5904    #[inline(always)]
5905    pub fn udf(
5906        self,
5907    ) -> crate::common::RegisterField<
5908        1,
5909        0x1,
5910        1,
5911        0,
5912        gtuddtyc::Udf,
5913        gtuddtyc::Udf,
5914        Gtuddtyc_SPEC,
5915        crate::common::RW,
5916    > {
5917        crate::common::RegisterField::<
5918            1,
5919            0x1,
5920            1,
5921            0,
5922            gtuddtyc::Udf,
5923            gtuddtyc::Udf,
5924            Gtuddtyc_SPEC,
5925            crate::common::RW,
5926        >::from_register(self, 0)
5927    }
5928
5929    #[doc = "Count Direction Setting"]
5930    #[inline(always)]
5931    pub fn ud(
5932        self,
5933    ) -> crate::common::RegisterField<
5934        0,
5935        0x1,
5936        1,
5937        0,
5938        gtuddtyc::Ud,
5939        gtuddtyc::Ud,
5940        Gtuddtyc_SPEC,
5941        crate::common::RW,
5942    > {
5943        crate::common::RegisterField::<
5944            0,
5945            0x1,
5946            1,
5947            0,
5948            gtuddtyc::Ud,
5949            gtuddtyc::Ud,
5950            Gtuddtyc_SPEC,
5951            crate::common::RW,
5952        >::from_register(self, 0)
5953    }
5954}
5955impl ::core::default::Default for Gtuddtyc {
5956    #[inline(always)]
5957    fn default() -> Gtuddtyc {
5958        <crate::RegValueT<Gtuddtyc_SPEC> as RegisterValue<_>>::new(1)
5959    }
5960}
5961pub mod gtuddtyc {
5962
5963    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5964    pub struct Obdtyr_SPEC;
5965    pub type Obdtyr = crate::EnumBitfieldStruct<u8, Obdtyr_SPEC>;
5966    impl Obdtyr {
5967        #[doc = "Apply output value set in 0 percent/100 percent duty to GTIOB\\[3:2\\] function after releasing 0 percent/100 percent duty setting."]
5968        pub const _0: Self = Self::new(0);
5969
5970        #[doc = "Apply masked compare match output value to GTIOB\\[3:2\\] function after releasing 0 percent/100 percent duty setting."]
5971        pub const _1: Self = Self::new(1);
5972    }
5973    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5974    pub struct Obdtyf_SPEC;
5975    pub type Obdtyf = crate::EnumBitfieldStruct<u8, Obdtyf_SPEC>;
5976    impl Obdtyf {
5977        #[doc = "Not forcibly set"]
5978        pub const _0: Self = Self::new(0);
5979
5980        #[doc = "Forcibly set"]
5981        pub const _1: Self = Self::new(1);
5982    }
5983    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5984    pub struct Obdty_SPEC;
5985    pub type Obdty = crate::EnumBitfieldStruct<u8, Obdty_SPEC>;
5986    impl Obdty {
5987        #[doc = "GTIOCB pin duty is depend on compare match"]
5988        pub const _00: Self = Self::new(0);
5989
5990        #[doc = "GTIOCB pin duty is depend on compare match"]
5991        pub const _01: Self = Self::new(1);
5992
5993        #[doc = "GTIOCB pin duty 0 percent"]
5994        pub const _10: Self = Self::new(2);
5995
5996        #[doc = "GTIOCB pin duty 100 percent"]
5997        pub const _11: Self = Self::new(3);
5998    }
5999    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6000    pub struct Oadtyr_SPEC;
6001    pub type Oadtyr = crate::EnumBitfieldStruct<u8, Oadtyr_SPEC>;
6002    impl Oadtyr {
6003        #[doc = "Apply output value set in 0 percent/100 percent duty to GTIOA\\[3:2\\] function after releasing 0 percent/100 percent duty setting."]
6004        pub const _0: Self = Self::new(0);
6005
6006        #[doc = "Apply masked compare match output value to GTIOA\\[3:2\\] function after releasing 0 percent/100 percent duty setting."]
6007        pub const _1: Self = Self::new(1);
6008    }
6009    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6010    pub struct Oadtyf_SPEC;
6011    pub type Oadtyf = crate::EnumBitfieldStruct<u8, Oadtyf_SPEC>;
6012    impl Oadtyf {
6013        #[doc = "Not forcibly set"]
6014        pub const _0: Self = Self::new(0);
6015
6016        #[doc = "Forcibly set"]
6017        pub const _1: Self = Self::new(1);
6018    }
6019    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6020    pub struct Oadty_SPEC;
6021    pub type Oadty = crate::EnumBitfieldStruct<u8, Oadty_SPEC>;
6022    impl Oadty {
6023        #[doc = "GTIOCA pin duty is depend on compare match"]
6024        pub const _00: Self = Self::new(0);
6025
6026        #[doc = "GTIOCA pin duty is depend on compare match"]
6027        pub const _01: Self = Self::new(1);
6028
6029        #[doc = "GTIOCA pin duty 0 percent"]
6030        pub const _10: Self = Self::new(2);
6031
6032        #[doc = "GTIOCA pin duty 100 percent"]
6033        pub const _11: Self = Self::new(3);
6034    }
6035    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6036    pub struct Udf_SPEC;
6037    pub type Udf = crate::EnumBitfieldStruct<u8, Udf_SPEC>;
6038    impl Udf {
6039        #[doc = "Not forcibly set"]
6040        pub const _0: Self = Self::new(0);
6041
6042        #[doc = "Forcibly set"]
6043        pub const _1: Self = Self::new(1);
6044    }
6045    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6046    pub struct Ud_SPEC;
6047    pub type Ud = crate::EnumBitfieldStruct<u8, Ud_SPEC>;
6048    impl Ud {
6049        #[doc = "GTCNT counts down."]
6050        pub const _0: Self = Self::new(0);
6051
6052        #[doc = "GTCNT counts up."]
6053        pub const _1: Self = Self::new(1);
6054    }
6055}
6056#[doc(hidden)]
6057#[derive(Copy, Clone, Eq, PartialEq)]
6058pub struct Gtior_SPEC;
6059impl crate::sealed::RegSpec for Gtior_SPEC {
6060    type DataType = u32;
6061}
6062
6063#[doc = "General PWM Timer I/O Control Register"]
6064pub type Gtior = crate::RegValueT<Gtior_SPEC>;
6065
6066impl Gtior {
6067    #[doc = "Noise Filter B Sampling Clock Select"]
6068    #[inline(always)]
6069    pub fn nfcsb(
6070        self,
6071    ) -> crate::common::RegisterField<
6072        30,
6073        0x3,
6074        1,
6075        0,
6076        gtior::Nfcsb,
6077        gtior::Nfcsb,
6078        Gtior_SPEC,
6079        crate::common::RW,
6080    > {
6081        crate::common::RegisterField::<
6082            30,
6083            0x3,
6084            1,
6085            0,
6086            gtior::Nfcsb,
6087            gtior::Nfcsb,
6088            Gtior_SPEC,
6089            crate::common::RW,
6090        >::from_register(self, 0)
6091    }
6092
6093    #[doc = "Noise Filter B Enable"]
6094    #[inline(always)]
6095    pub fn nfben(
6096        self,
6097    ) -> crate::common::RegisterField<
6098        29,
6099        0x1,
6100        1,
6101        0,
6102        gtior::Nfben,
6103        gtior::Nfben,
6104        Gtior_SPEC,
6105        crate::common::RW,
6106    > {
6107        crate::common::RegisterField::<
6108            29,
6109            0x1,
6110            1,
6111            0,
6112            gtior::Nfben,
6113            gtior::Nfben,
6114            Gtior_SPEC,
6115            crate::common::RW,
6116        >::from_register(self, 0)
6117    }
6118
6119    #[doc = "GTIOCB Pin Disable Value Setting"]
6120    #[inline(always)]
6121    pub fn obdf(
6122        self,
6123    ) -> crate::common::RegisterField<
6124        25,
6125        0x3,
6126        1,
6127        0,
6128        gtior::Obdf,
6129        gtior::Obdf,
6130        Gtior_SPEC,
6131        crate::common::RW,
6132    > {
6133        crate::common::RegisterField::<
6134            25,
6135            0x3,
6136            1,
6137            0,
6138            gtior::Obdf,
6139            gtior::Obdf,
6140            Gtior_SPEC,
6141            crate::common::RW,
6142        >::from_register(self, 0)
6143    }
6144
6145    #[doc = "GTIOCB Pin Output Enable"]
6146    #[inline(always)]
6147    pub fn obe(
6148        self,
6149    ) -> crate::common::RegisterField<
6150        24,
6151        0x1,
6152        1,
6153        0,
6154        gtior::Obe,
6155        gtior::Obe,
6156        Gtior_SPEC,
6157        crate::common::RW,
6158    > {
6159        crate::common::RegisterField::<
6160            24,
6161            0x1,
6162            1,
6163            0,
6164            gtior::Obe,
6165            gtior::Obe,
6166            Gtior_SPEC,
6167            crate::common::RW,
6168        >::from_register(self, 0)
6169    }
6170
6171    #[doc = "GTIOCB Pin Output Setting at the Start/Stop Count"]
6172    #[inline(always)]
6173    pub fn obhld(
6174        self,
6175    ) -> crate::common::RegisterField<
6176        23,
6177        0x1,
6178        1,
6179        0,
6180        gtior::Obhld,
6181        gtior::Obhld,
6182        Gtior_SPEC,
6183        crate::common::RW,
6184    > {
6185        crate::common::RegisterField::<
6186            23,
6187            0x1,
6188            1,
6189            0,
6190            gtior::Obhld,
6191            gtior::Obhld,
6192            Gtior_SPEC,
6193            crate::common::RW,
6194        >::from_register(self, 0)
6195    }
6196
6197    #[doc = "GTIOCB Pin Output Value Setting at the Count Stop"]
6198    #[inline(always)]
6199    pub fn obdflt(
6200        self,
6201    ) -> crate::common::RegisterField<
6202        22,
6203        0x1,
6204        1,
6205        0,
6206        gtior::Obdflt,
6207        gtior::Obdflt,
6208        Gtior_SPEC,
6209        crate::common::RW,
6210    > {
6211        crate::common::RegisterField::<
6212            22,
6213            0x1,
6214            1,
6215            0,
6216            gtior::Obdflt,
6217            gtior::Obdflt,
6218            Gtior_SPEC,
6219            crate::common::RW,
6220        >::from_register(self, 0)
6221    }
6222
6223    #[doc = "GTIOCB Pin Function Select"]
6224    #[inline(always)]
6225    pub fn gtiob(
6226        self,
6227    ) -> crate::common::RegisterField<
6228        16,
6229        0x1f,
6230        1,
6231        0,
6232        gtior::Gtiob,
6233        gtior::Gtiob,
6234        Gtior_SPEC,
6235        crate::common::RW,
6236    > {
6237        crate::common::RegisterField::<
6238            16,
6239            0x1f,
6240            1,
6241            0,
6242            gtior::Gtiob,
6243            gtior::Gtiob,
6244            Gtior_SPEC,
6245            crate::common::RW,
6246        >::from_register(self, 0)
6247    }
6248
6249    #[doc = "Noise Filter A Sampling Clock Select"]
6250    #[inline(always)]
6251    pub fn nfcsa(
6252        self,
6253    ) -> crate::common::RegisterField<
6254        14,
6255        0x3,
6256        1,
6257        0,
6258        gtior::Nfcsa,
6259        gtior::Nfcsa,
6260        Gtior_SPEC,
6261        crate::common::RW,
6262    > {
6263        crate::common::RegisterField::<
6264            14,
6265            0x3,
6266            1,
6267            0,
6268            gtior::Nfcsa,
6269            gtior::Nfcsa,
6270            Gtior_SPEC,
6271            crate::common::RW,
6272        >::from_register(self, 0)
6273    }
6274
6275    #[doc = "Noise Filter A Enable"]
6276    #[inline(always)]
6277    pub fn nfaen(
6278        self,
6279    ) -> crate::common::RegisterField<
6280        13,
6281        0x1,
6282        1,
6283        0,
6284        gtior::Nfaen,
6285        gtior::Nfaen,
6286        Gtior_SPEC,
6287        crate::common::RW,
6288    > {
6289        crate::common::RegisterField::<
6290            13,
6291            0x1,
6292            1,
6293            0,
6294            gtior::Nfaen,
6295            gtior::Nfaen,
6296            Gtior_SPEC,
6297            crate::common::RW,
6298        >::from_register(self, 0)
6299    }
6300
6301    #[doc = "GTIOCA Pin Disable Value Setting"]
6302    #[inline(always)]
6303    pub fn oadf(
6304        self,
6305    ) -> crate::common::RegisterField<
6306        9,
6307        0x3,
6308        1,
6309        0,
6310        gtior::Oadf,
6311        gtior::Oadf,
6312        Gtior_SPEC,
6313        crate::common::RW,
6314    > {
6315        crate::common::RegisterField::<
6316            9,
6317            0x3,
6318            1,
6319            0,
6320            gtior::Oadf,
6321            gtior::Oadf,
6322            Gtior_SPEC,
6323            crate::common::RW,
6324        >::from_register(self, 0)
6325    }
6326
6327    #[doc = "GTIOCA Pin Output Enable"]
6328    #[inline(always)]
6329    pub fn oae(
6330        self,
6331    ) -> crate::common::RegisterField<
6332        8,
6333        0x1,
6334        1,
6335        0,
6336        gtior::Oae,
6337        gtior::Oae,
6338        Gtior_SPEC,
6339        crate::common::RW,
6340    > {
6341        crate::common::RegisterField::<
6342            8,
6343            0x1,
6344            1,
6345            0,
6346            gtior::Oae,
6347            gtior::Oae,
6348            Gtior_SPEC,
6349            crate::common::RW,
6350        >::from_register(self, 0)
6351    }
6352
6353    #[doc = "GTIOCA Pin Output Setting at the Start/Stop Count"]
6354    #[inline(always)]
6355    pub fn oahld(
6356        self,
6357    ) -> crate::common::RegisterField<
6358        7,
6359        0x1,
6360        1,
6361        0,
6362        gtior::Oahld,
6363        gtior::Oahld,
6364        Gtior_SPEC,
6365        crate::common::RW,
6366    > {
6367        crate::common::RegisterField::<
6368            7,
6369            0x1,
6370            1,
6371            0,
6372            gtior::Oahld,
6373            gtior::Oahld,
6374            Gtior_SPEC,
6375            crate::common::RW,
6376        >::from_register(self, 0)
6377    }
6378
6379    #[doc = "GTIOCA Pin Output Value Setting at the Count Stop"]
6380    #[inline(always)]
6381    pub fn oadflt(
6382        self,
6383    ) -> crate::common::RegisterField<
6384        6,
6385        0x1,
6386        1,
6387        0,
6388        gtior::Oadflt,
6389        gtior::Oadflt,
6390        Gtior_SPEC,
6391        crate::common::RW,
6392    > {
6393        crate::common::RegisterField::<
6394            6,
6395            0x1,
6396            1,
6397            0,
6398            gtior::Oadflt,
6399            gtior::Oadflt,
6400            Gtior_SPEC,
6401            crate::common::RW,
6402        >::from_register(self, 0)
6403    }
6404
6405    #[doc = "This bit is read as 0. The write value should be 0."]
6406    #[inline(always)]
6407    pub fn reserved(
6408        self,
6409    ) -> crate::common::RegisterFieldBool<5, 1, 0, Gtior_SPEC, crate::common::RW> {
6410        crate::common::RegisterFieldBool::<5, 1, 0, Gtior_SPEC, crate::common::RW>::from_register(
6411            self, 0,
6412        )
6413    }
6414
6415    #[doc = "GTIOCA Pin Function Select"]
6416    #[inline(always)]
6417    pub fn gtioa(
6418        self,
6419    ) -> crate::common::RegisterField<
6420        0,
6421        0x1f,
6422        1,
6423        0,
6424        gtior::Gtioa,
6425        gtior::Gtioa,
6426        Gtior_SPEC,
6427        crate::common::RW,
6428    > {
6429        crate::common::RegisterField::<
6430            0,
6431            0x1f,
6432            1,
6433            0,
6434            gtior::Gtioa,
6435            gtior::Gtioa,
6436            Gtior_SPEC,
6437            crate::common::RW,
6438        >::from_register(self, 0)
6439    }
6440}
6441impl ::core::default::Default for Gtior {
6442    #[inline(always)]
6443    fn default() -> Gtior {
6444        <crate::RegValueT<Gtior_SPEC> as RegisterValue<_>>::new(0)
6445    }
6446}
6447pub mod gtior {
6448
6449    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6450    pub struct Nfcsb_SPEC;
6451    pub type Nfcsb = crate::EnumBitfieldStruct<u8, Nfcsb_SPEC>;
6452    impl Nfcsb {
6453        #[doc = "PCLK/1"]
6454        pub const _00: Self = Self::new(0);
6455
6456        #[doc = "PCLK/4"]
6457        pub const _01: Self = Self::new(1);
6458
6459        #[doc = "PCLK/16"]
6460        pub const _10: Self = Self::new(2);
6461
6462        #[doc = "PCLK/64"]
6463        pub const _11: Self = Self::new(3);
6464    }
6465    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6466    pub struct Nfben_SPEC;
6467    pub type Nfben = crate::EnumBitfieldStruct<u8, Nfben_SPEC>;
6468    impl Nfben {
6469        #[doc = "The noise filter for the GTIOCB pin is disabled."]
6470        pub const _0: Self = Self::new(0);
6471
6472        #[doc = "The noise filter for the GTIOCB pin is enabled."]
6473        pub const _1: Self = Self::new(1);
6474    }
6475    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6476    pub struct Obdf_SPEC;
6477    pub type Obdf = crate::EnumBitfieldStruct<u8, Obdf_SPEC>;
6478    impl Obdf {
6479        #[doc = "Output disable is prohibited."]
6480        pub const _00: Self = Self::new(0);
6481
6482        #[doc = "GTIOCB pin is set to Hi-Z when output disable is performed."]
6483        pub const _01: Self = Self::new(1);
6484
6485        #[doc = "GTIOCB pin is set to 0 when output disable is performed."]
6486        pub const _10: Self = Self::new(2);
6487
6488        #[doc = "GTIOCB pin is set to 1 when output disable is performed."]
6489        pub const _11: Self = Self::new(3);
6490    }
6491    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6492    pub struct Obe_SPEC;
6493    pub type Obe = crate::EnumBitfieldStruct<u8, Obe_SPEC>;
6494    impl Obe {
6495        #[doc = "Output is disabled"]
6496        pub const _0: Self = Self::new(0);
6497
6498        #[doc = "Output is enabled"]
6499        pub const _1: Self = Self::new(1);
6500    }
6501    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6502    pub struct Obhld_SPEC;
6503    pub type Obhld = crate::EnumBitfieldStruct<u8, Obhld_SPEC>;
6504    impl Obhld {
6505        #[doc = "The GTIOCB pin output level at start/stop of counting depends on the register setting."]
6506        pub const _0: Self = Self::new(0);
6507
6508        #[doc = "The GTIOCB pin output level is retained at start/stop of counting."]
6509        pub const _1: Self = Self::new(1);
6510    }
6511    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6512    pub struct Obdflt_SPEC;
6513    pub type Obdflt = crate::EnumBitfieldStruct<u8, Obdflt_SPEC>;
6514    impl Obdflt {
6515        #[doc = "The GTIOCB pin outputs low when counting is stopped."]
6516        pub const _0: Self = Self::new(0);
6517
6518        #[doc = "The GTIOCB pin outputs high when counting is stopped."]
6519        pub const _1: Self = Self::new(1);
6520    }
6521    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6522    pub struct Gtiob_SPEC;
6523    pub type Gtiob = crate::EnumBitfieldStruct<u8, Gtiob_SPEC>;
6524    impl Gtiob {
6525        #[doc = "Initial output is Low. Output retained at cycle end. Output retained at GTCCRB compare match."]
6526        pub const _00000: Self = Self::new(0);
6527
6528        #[doc = "Initial output is Low. Output retained at cycle end. Low output at GTCCRB compare match."]
6529        pub const _00001: Self = Self::new(1);
6530
6531        #[doc = "Initial output is Low. Output retained at cycle end. High output at GTCCRB compare match."]
6532        pub const _00010: Self = Self::new(2);
6533
6534        #[doc = "Initial output is Low. Output retained at cycle end. Output toggled at GTCCRB compare match."]
6535        pub const _00011: Self = Self::new(3);
6536
6537        #[doc = "Initial output is Low. Low output at cycle end. Output retained at GTCCRB compare match."]
6538        pub const _00100: Self = Self::new(4);
6539
6540        #[doc = "Initial output is Low. Low output at cycle end. Low output at GTCCRB compare match."]
6541        pub const _00101: Self = Self::new(5);
6542
6543        #[doc = "Initial output is Low. Low output at cycle end. High output at GTCCRB compare match."]
6544        pub const _00110: Self = Self::new(6);
6545
6546        #[doc = "Initial output is Low. Low output at cycle end. Output toggled at GTCCRB compare match."]
6547        pub const _00111: Self = Self::new(7);
6548
6549        #[doc = "Initial output is Low. High output at cycle end. Output retained at GTCCRB compare match."]
6550        pub const _01000: Self = Self::new(8);
6551
6552        #[doc = "Initial output is Low. High output at cycle end. Low output at GTCCRB compare match."]
6553        pub const _01001: Self = Self::new(9);
6554
6555        #[doc = "Initial output is Low. High output at cycle end. High output at GTCCRB compare match."]
6556        pub const _01010: Self = Self::new(10);
6557
6558        #[doc = "Initial output is Low. High output at cycle end. Output toggled at GTCCRB compare match."]
6559        pub const _01011: Self = Self::new(11);
6560
6561        #[doc = "Initial output is Low. Output toggled at cycle end. Output retained at GTCCRB compare match."]
6562        pub const _01100: Self = Self::new(12);
6563
6564        #[doc = "Initial output is Low. Output toggled at cycle end. Low output at GTCCRB compare match."]
6565        pub const _01101: Self = Self::new(13);
6566
6567        #[doc = "Initial output is Low. Output toggled at cycle end. High output at GTCCRB compare match."]
6568        pub const _01110: Self = Self::new(14);
6569
6570        #[doc = "Initial output is Low. Output toggled at cycle end. Output toggled at GTCCRB compare match."]
6571        pub const _01111: Self = Self::new(15);
6572
6573        #[doc = "Initial output is High. Output retained at cycle end. Output retained at GTCCRB compare match."]
6574        pub const _10000: Self = Self::new(16);
6575
6576        #[doc = "Initial output is High. Output retained at cycle end. Low output at GTCCRB compare match."]
6577        pub const _10001: Self = Self::new(17);
6578
6579        #[doc = "Initial output is High. Output retained at cycle end. High output at GTCCRB compare match."]
6580        pub const _10010: Self = Self::new(18);
6581
6582        #[doc = "Initial output is High. Output retained at cycle end. Output toggled at GTCCRB compare match."]
6583        pub const _10011: Self = Self::new(19);
6584
6585        #[doc = "Initial output is High. Low output at cycle end. Output retained at GTCCRB compare match."]
6586        pub const _10100: Self = Self::new(20);
6587
6588        #[doc = "Initial output is High. Low output at cycle end. Low output at GTCCRB compare match."]
6589        pub const _10101: Self = Self::new(21);
6590
6591        #[doc = "Initial output is High. Low output at cycle end. High output at GTCCRB compare match."]
6592        pub const _10110: Self = Self::new(22);
6593
6594        #[doc = "Initial output is High. Low output at cycle end. Output toggled at GTCCRB compare match."]
6595        pub const _10111: Self = Self::new(23);
6596
6597        #[doc = "Initial output is High. High output at cycle end. Output retained at GTCCRB compare match."]
6598        pub const _11000: Self = Self::new(24);
6599
6600        #[doc = "Initial output is High. High output at cycle end. Low output at GTCCRB compare match."]
6601        pub const _11001: Self = Self::new(25);
6602
6603        #[doc = "Initial output is High. High output at cycle end. High output at GTCCRB compare match."]
6604        pub const _11010: Self = Self::new(26);
6605
6606        #[doc = "Initial output is High. High output at cycle end. Output toggled at GTCCRB compare match."]
6607        pub const _11011: Self = Self::new(27);
6608
6609        #[doc = "Initial output is High. Output toggled at cycle end. Output retained at GTCCRB compare match."]
6610        pub const _11100: Self = Self::new(28);
6611
6612        #[doc = "Initial output is High. Output toggled at cycle end. Low output at GTCCRB compare match."]
6613        pub const _11101: Self = Self::new(29);
6614
6615        #[doc = "Initial output is High. Output toggled at cycle end. High output at GTCCRB compare match."]
6616        pub const _11110: Self = Self::new(30);
6617
6618        #[doc = "Initial output is High. Output toggled at cycle end. Output toggled at GTCCRB compare match."]
6619        pub const _11111: Self = Self::new(31);
6620    }
6621    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6622    pub struct Nfcsa_SPEC;
6623    pub type Nfcsa = crate::EnumBitfieldStruct<u8, Nfcsa_SPEC>;
6624    impl Nfcsa {
6625        #[doc = "PCLK/1"]
6626        pub const _00: Self = Self::new(0);
6627
6628        #[doc = "PCLK/4"]
6629        pub const _01: Self = Self::new(1);
6630
6631        #[doc = "PCLK/16"]
6632        pub const _10: Self = Self::new(2);
6633
6634        #[doc = "PCLK/64"]
6635        pub const _11: Self = Self::new(3);
6636    }
6637    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6638    pub struct Nfaen_SPEC;
6639    pub type Nfaen = crate::EnumBitfieldStruct<u8, Nfaen_SPEC>;
6640    impl Nfaen {
6641        #[doc = "The noise filter for the GTIOCA pin is disabled."]
6642        pub const _0: Self = Self::new(0);
6643
6644        #[doc = "The noise filter for the GTIOCA pin is enabled."]
6645        pub const _1: Self = Self::new(1);
6646    }
6647    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6648    pub struct Oadf_SPEC;
6649    pub type Oadf = crate::EnumBitfieldStruct<u8, Oadf_SPEC>;
6650    impl Oadf {
6651        #[doc = "Output disable is prohibited."]
6652        pub const _00: Self = Self::new(0);
6653
6654        #[doc = "GTIOCA pin is set to Hi-Z when output disable is performed."]
6655        pub const _01: Self = Self::new(1);
6656
6657        #[doc = "GTIOCA pin is set to 0 when output disable is performed."]
6658        pub const _10: Self = Self::new(2);
6659
6660        #[doc = "GTIOCA pin is set to 1 when output disable is performed."]
6661        pub const _11: Self = Self::new(3);
6662    }
6663    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6664    pub struct Oae_SPEC;
6665    pub type Oae = crate::EnumBitfieldStruct<u8, Oae_SPEC>;
6666    impl Oae {
6667        #[doc = "Output is disabled"]
6668        pub const _0: Self = Self::new(0);
6669
6670        #[doc = "Output is enabled"]
6671        pub const _1: Self = Self::new(1);
6672    }
6673    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6674    pub struct Oahld_SPEC;
6675    pub type Oahld = crate::EnumBitfieldStruct<u8, Oahld_SPEC>;
6676    impl Oahld {
6677        #[doc = "The GTIOCA pin output level at start/stop of counting depends on the register setting."]
6678        pub const _0: Self = Self::new(0);
6679
6680        #[doc = "The GTIOCA pin output level is retained at start/stop of counting."]
6681        pub const _1: Self = Self::new(1);
6682    }
6683    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6684    pub struct Oadflt_SPEC;
6685    pub type Oadflt = crate::EnumBitfieldStruct<u8, Oadflt_SPEC>;
6686    impl Oadflt {
6687        #[doc = "The GTIOCA pin outputs low when counting is stopped."]
6688        pub const _0: Self = Self::new(0);
6689
6690        #[doc = "The GTIOCA pin outputs high when counting is stopped."]
6691        pub const _1: Self = Self::new(1);
6692    }
6693    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6694    pub struct Gtioa_SPEC;
6695    pub type Gtioa = crate::EnumBitfieldStruct<u8, Gtioa_SPEC>;
6696    impl Gtioa {
6697        #[doc = "Initial output is Low. Output retained at cycle end. Output retained at GTCCRA compare match."]
6698        pub const _00000: Self = Self::new(0);
6699
6700        #[doc = "Initial output is Low. Output retained at cycle end. Low output at GTCCRA compare match."]
6701        pub const _00001: Self = Self::new(1);
6702
6703        #[doc = "Initial output is Low. Output retained at cycle end. High output at GTCCRA compare match."]
6704        pub const _00010: Self = Self::new(2);
6705
6706        #[doc = "Initial output is Low. Output retained at cycle end. Output toggled at GTCCRA compare match."]
6707        pub const _00011: Self = Self::new(3);
6708
6709        #[doc = "Initial output is Low. Low output at cycle end. Output retained at GTCCRA compare match."]
6710        pub const _00100: Self = Self::new(4);
6711
6712        #[doc = "Initial output is Low. Low output at cycle end. Low output at GTCCRA compare match."]
6713        pub const _00101: Self = Self::new(5);
6714
6715        #[doc = "Initial output is Low. Low output at cycle end. High output at GTCCRA compare match."]
6716        pub const _00110: Self = Self::new(6);
6717
6718        #[doc = "Initial output is Low. Low output at cycle end. Output toggled at GTCCRA compare match."]
6719        pub const _00111: Self = Self::new(7);
6720
6721        #[doc = "Initial output is Low. High output at cycle end. Output retained at GTCCRA compare match."]
6722        pub const _01000: Self = Self::new(8);
6723
6724        #[doc = "Initial output is Low. High output at cycle end. Low output at GTCCRA compare match."]
6725        pub const _01001: Self = Self::new(9);
6726
6727        #[doc = "Initial output is Low. High output at cycle end. High output at GTCCRA compare match."]
6728        pub const _01010: Self = Self::new(10);
6729
6730        #[doc = "Initial output is Low. High output at cycle end. Output toggled at GTCCRA compare match."]
6731        pub const _01011: Self = Self::new(11);
6732
6733        #[doc = "Initial output is Low. Output toggled at cycle end. Output retained at GTCCRA compare match."]
6734        pub const _01100: Self = Self::new(12);
6735
6736        #[doc = "Initial output is Low. Output toggled at cycle end. Low output at GTCCRA compare match."]
6737        pub const _01101: Self = Self::new(13);
6738
6739        #[doc = "Initial output is Low. Output toggled at cycle end. High output at GTCCRA compare match."]
6740        pub const _01110: Self = Self::new(14);
6741
6742        #[doc = "Initial output is Low. Output toggled at cycle end. Output toggled at GTCCRA compare match."]
6743        pub const _01111: Self = Self::new(15);
6744
6745        #[doc = "Initial output is High. Output retained at cycle end. Output retained at GTCCRA compare match."]
6746        pub const _10000: Self = Self::new(16);
6747
6748        #[doc = "Initial output is High. Output retained at cycle end. Low output at GTCCRA compare match."]
6749        pub const _10001: Self = Self::new(17);
6750
6751        #[doc = "Initial output is High. Output retained at cycle end. High output at GTCCRA compare match."]
6752        pub const _10010: Self = Self::new(18);
6753
6754        #[doc = "Initial output is High. Output retained at cycle end. Output toggled at GTCCRA compare match."]
6755        pub const _10011: Self = Self::new(19);
6756
6757        #[doc = "Initial output is High. Low output at cycle end. Output retained at GTCCRA compare match."]
6758        pub const _10100: Self = Self::new(20);
6759
6760        #[doc = "Initial output is High. Low output at cycle end. Low output at GTCCRA compare match."]
6761        pub const _10101: Self = Self::new(21);
6762
6763        #[doc = "Initial output is High. Low output at cycle end. High output at GTCCRA compare match."]
6764        pub const _10110: Self = Self::new(22);
6765
6766        #[doc = "Initial output is High. Low output at cycle end. Output toggled at GTCCRA compare match."]
6767        pub const _10111: Self = Self::new(23);
6768
6769        #[doc = "Initial output is High. High output at cycle end. Output retained at GTCCRA compare match."]
6770        pub const _11000: Self = Self::new(24);
6771
6772        #[doc = "Initial output is High. High output at cycle end. Low output at GTCCRA compare match."]
6773        pub const _11001: Self = Self::new(25);
6774
6775        #[doc = "Initial output is High. High output at cycle end. High output at GTCCRA compare match."]
6776        pub const _11010: Self = Self::new(26);
6777
6778        #[doc = "Initial output is High. High output at cycle end. Output toggled at GTCCRA compare match."]
6779        pub const _11011: Self = Self::new(27);
6780
6781        #[doc = "Initial output is High. Output toggled at cycle end. Output retained at GTCCRA compare match."]
6782        pub const _11100: Self = Self::new(28);
6783
6784        #[doc = "Initial output is High. Output toggled at cycle end. Low output at GTCCRA compare match."]
6785        pub const _11101: Self = Self::new(29);
6786
6787        #[doc = "Initial output is High. Output toggled at cycle end. High output at GTCCRA compare match."]
6788        pub const _11110: Self = Self::new(30);
6789
6790        #[doc = "Initial output is High. Output toggled at cycle end. Output toggled at GTCCRA compare match."]
6791        pub const _11111: Self = Self::new(31);
6792    }
6793}
6794#[doc(hidden)]
6795#[derive(Copy, Clone, Eq, PartialEq)]
6796pub struct Gtintad_SPEC;
6797impl crate::sealed::RegSpec for Gtintad_SPEC {
6798    type DataType = u32;
6799}
6800
6801#[doc = "General PWM Timer Interrupt Output Setting Register"]
6802pub type Gtintad = crate::RegValueT<Gtintad_SPEC>;
6803
6804impl Gtintad {
6805    #[doc = "Same Time Output Level Low Disable Request Enable"]
6806    #[inline(always)]
6807    pub fn grpabl(
6808        self,
6809    ) -> crate::common::RegisterField<
6810        30,
6811        0x1,
6812        1,
6813        0,
6814        gtintad::Grpabl,
6815        gtintad::Grpabl,
6816        Gtintad_SPEC,
6817        crate::common::RW,
6818    > {
6819        crate::common::RegisterField::<
6820            30,
6821            0x1,
6822            1,
6823            0,
6824            gtintad::Grpabl,
6825            gtintad::Grpabl,
6826            Gtintad_SPEC,
6827            crate::common::RW,
6828        >::from_register(self, 0)
6829    }
6830
6831    #[doc = "Same Time Output Level High Disable Request Enable"]
6832    #[inline(always)]
6833    pub fn grpabh(
6834        self,
6835    ) -> crate::common::RegisterField<
6836        29,
6837        0x1,
6838        1,
6839        0,
6840        gtintad::Grpabh,
6841        gtintad::Grpabh,
6842        Gtintad_SPEC,
6843        crate::common::RW,
6844    > {
6845        crate::common::RegisterField::<
6846            29,
6847            0x1,
6848            1,
6849            0,
6850            gtintad::Grpabh,
6851            gtintad::Grpabh,
6852            Gtintad_SPEC,
6853            crate::common::RW,
6854        >::from_register(self, 0)
6855    }
6856
6857    #[doc = "Output Disable Source Select"]
6858    #[inline(always)]
6859    pub fn grp(
6860        self,
6861    ) -> crate::common::RegisterField<
6862        24,
6863        0x3,
6864        1,
6865        0,
6866        gtintad::Grp,
6867        gtintad::Grp,
6868        Gtintad_SPEC,
6869        crate::common::RW,
6870    > {
6871        crate::common::RegisterField::<
6872            24,
6873            0x3,
6874            1,
6875            0,
6876            gtintad::Grp,
6877            gtintad::Grp,
6878            Gtintad_SPEC,
6879            crate::common::RW,
6880        >::from_register(self, 0)
6881    }
6882
6883    #[doc = "These bits are read as 000000000000000000000000. The write value should be 000000000000000000000000."]
6884    #[inline(always)]
6885    pub fn reserved(
6886        self,
6887    ) -> crate::common::RegisterField<0, 0xffffff, 1, 0, u32, u32, Gtintad_SPEC, crate::common::RW>
6888    {
6889        crate::common::RegisterField::<0,0xffffff,1,0,u32,u32,Gtintad_SPEC,crate::common::RW>::from_register(self,0)
6890    }
6891}
6892impl ::core::default::Default for Gtintad {
6893    #[inline(always)]
6894    fn default() -> Gtintad {
6895        <crate::RegValueT<Gtintad_SPEC> as RegisterValue<_>>::new(0)
6896    }
6897}
6898pub mod gtintad {
6899
6900    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6901    pub struct Grpabl_SPEC;
6902    pub type Grpabl = crate::EnumBitfieldStruct<u8, Grpabl_SPEC>;
6903    impl Grpabl {
6904        #[doc = "Same time output level low disable request is disabled."]
6905        pub const _0: Self = Self::new(0);
6906
6907        #[doc = "Same time output level low disable request is enabled."]
6908        pub const _1: Self = Self::new(1);
6909    }
6910    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6911    pub struct Grpabh_SPEC;
6912    pub type Grpabh = crate::EnumBitfieldStruct<u8, Grpabh_SPEC>;
6913    impl Grpabh {
6914        #[doc = "Same time output level high disable request is disabled."]
6915        pub const _0: Self = Self::new(0);
6916
6917        #[doc = "Same time output level high disable request is enabled."]
6918        pub const _1: Self = Self::new(1);
6919    }
6920    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6921    pub struct Grp_SPEC;
6922    pub type Grp = crate::EnumBitfieldStruct<u8, Grp_SPEC>;
6923    impl Grp {
6924        #[doc = "Group A output disable request"]
6925        pub const _00: Self = Self::new(0);
6926
6927        #[doc = "Group B output disable request"]
6928        pub const _01: Self = Self::new(1);
6929    }
6930}
6931#[doc(hidden)]
6932#[derive(Copy, Clone, Eq, PartialEq)]
6933pub struct Gtst_SPEC;
6934impl crate::sealed::RegSpec for Gtst_SPEC {
6935    type DataType = u32;
6936}
6937
6938#[doc = "General PWM Timer Status Register"]
6939pub type Gtst = crate::RegValueT<Gtst_SPEC>;
6940
6941impl Gtst {
6942    #[doc = "Same Time Output Level Low Disable Request Enable"]
6943    #[inline(always)]
6944    pub fn oablf(
6945        self,
6946    ) -> crate::common::RegisterField<
6947        30,
6948        0x1,
6949        1,
6950        0,
6951        gtst::Oablf,
6952        gtst::Oablf,
6953        Gtst_SPEC,
6954        crate::common::R,
6955    > {
6956        crate::common::RegisterField::<
6957            30,
6958            0x1,
6959            1,
6960            0,
6961            gtst::Oablf,
6962            gtst::Oablf,
6963            Gtst_SPEC,
6964            crate::common::R,
6965        >::from_register(self, 0)
6966    }
6967
6968    #[doc = "Same Time Output Level High Disable Request Enable"]
6969    #[inline(always)]
6970    pub fn oabhf(
6971        self,
6972    ) -> crate::common::RegisterField<
6973        29,
6974        0x1,
6975        1,
6976        0,
6977        gtst::Oabhf,
6978        gtst::Oabhf,
6979        Gtst_SPEC,
6980        crate::common::R,
6981    > {
6982        crate::common::RegisterField::<
6983            29,
6984            0x1,
6985            1,
6986            0,
6987            gtst::Oabhf,
6988            gtst::Oabhf,
6989            Gtst_SPEC,
6990            crate::common::R,
6991        >::from_register(self, 0)
6992    }
6993
6994    #[doc = "Output Disable Flag"]
6995    #[inline(always)]
6996    pub fn odf(
6997        self,
6998    ) -> crate::common::RegisterField<
6999        24,
7000        0x1,
7001        1,
7002        0,
7003        gtst::Odf,
7004        gtst::Odf,
7005        Gtst_SPEC,
7006        crate::common::R,
7007    > {
7008        crate::common::RegisterField::<
7009            24,
7010            0x1,
7011            1,
7012            0,
7013            gtst::Odf,
7014            gtst::Odf,
7015            Gtst_SPEC,
7016            crate::common::R,
7017        >::from_register(self, 0)
7018    }
7019
7020    #[doc = "Count Direction Flag"]
7021    #[inline(always)]
7022    pub fn gtcf(
7023        self,
7024    ) -> crate::common::RegisterField<
7025        15,
7026        0x1,
7027        1,
7028        0,
7029        gtst::Gtcf,
7030        gtst::Gtcf,
7031        Gtst_SPEC,
7032        crate::common::R,
7033    > {
7034        crate::common::RegisterField::<
7035            15,
7036            0x1,
7037            1,
7038            0,
7039            gtst::Gtcf,
7040            gtst::Gtcf,
7041            Gtst_SPEC,
7042            crate::common::R,
7043        >::from_register(self, 0)
7044    }
7045
7046    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
7047    #[inline(always)]
7048    pub fn reserved(
7049        self,
7050    ) -> crate::common::RegisterField<8, 0x7f, 1, 0, u8, u8, Gtst_SPEC, crate::common::RW> {
7051        crate::common::RegisterField::<8,0x7f,1,0,u8,u8,Gtst_SPEC,crate::common::RW>::from_register(self,0)
7052    }
7053
7054    #[doc = "Underflow Flag"]
7055    #[inline(always)]
7056    pub fn tcfpu(
7057        self,
7058    ) -> crate::common::RegisterField<
7059        7,
7060        0x1,
7061        1,
7062        0,
7063        gtst::Tcfpu,
7064        gtst::Tcfpu,
7065        Gtst_SPEC,
7066        crate::common::RW,
7067    > {
7068        crate::common::RegisterField::<
7069            7,
7070            0x1,
7071            1,
7072            0,
7073            gtst::Tcfpu,
7074            gtst::Tcfpu,
7075            Gtst_SPEC,
7076            crate::common::RW,
7077        >::from_register(self, 0)
7078    }
7079
7080    #[doc = "Overflow Flag"]
7081    #[inline(always)]
7082    pub fn tcpfo(
7083        self,
7084    ) -> crate::common::RegisterField<
7085        6,
7086        0x1,
7087        1,
7088        0,
7089        gtst::Tcpfo,
7090        gtst::Tcpfo,
7091        Gtst_SPEC,
7092        crate::common::RW,
7093    > {
7094        crate::common::RegisterField::<
7095            6,
7096            0x1,
7097            1,
7098            0,
7099            gtst::Tcpfo,
7100            gtst::Tcpfo,
7101            Gtst_SPEC,
7102            crate::common::RW,
7103        >::from_register(self, 0)
7104    }
7105
7106    #[doc = "Input Compare Match Flag F"]
7107    #[inline(always)]
7108    pub fn tcff(
7109        self,
7110    ) -> crate::common::RegisterField<
7111        5,
7112        0x1,
7113        1,
7114        0,
7115        gtst::Tcff,
7116        gtst::Tcff,
7117        Gtst_SPEC,
7118        crate::common::RW,
7119    > {
7120        crate::common::RegisterField::<
7121            5,
7122            0x1,
7123            1,
7124            0,
7125            gtst::Tcff,
7126            gtst::Tcff,
7127            Gtst_SPEC,
7128            crate::common::RW,
7129        >::from_register(self, 0)
7130    }
7131
7132    #[doc = "Input Compare Match Flag E"]
7133    #[inline(always)]
7134    pub fn tcfe(
7135        self,
7136    ) -> crate::common::RegisterField<
7137        4,
7138        0x1,
7139        1,
7140        0,
7141        gtst::Tcfe,
7142        gtst::Tcfe,
7143        Gtst_SPEC,
7144        crate::common::RW,
7145    > {
7146        crate::common::RegisterField::<
7147            4,
7148            0x1,
7149            1,
7150            0,
7151            gtst::Tcfe,
7152            gtst::Tcfe,
7153            Gtst_SPEC,
7154            crate::common::RW,
7155        >::from_register(self, 0)
7156    }
7157
7158    #[doc = "Input Compare Match Flag D"]
7159    #[inline(always)]
7160    pub fn tcfd(
7161        self,
7162    ) -> crate::common::RegisterField<
7163        3,
7164        0x1,
7165        1,
7166        0,
7167        gtst::Tcfd,
7168        gtst::Tcfd,
7169        Gtst_SPEC,
7170        crate::common::RW,
7171    > {
7172        crate::common::RegisterField::<
7173            3,
7174            0x1,
7175            1,
7176            0,
7177            gtst::Tcfd,
7178            gtst::Tcfd,
7179            Gtst_SPEC,
7180            crate::common::RW,
7181        >::from_register(self, 0)
7182    }
7183
7184    #[doc = "Input Compare Match Flag C"]
7185    #[inline(always)]
7186    pub fn tcfc(
7187        self,
7188    ) -> crate::common::RegisterField<
7189        2,
7190        0x1,
7191        1,
7192        0,
7193        gtst::Tcfc,
7194        gtst::Tcfc,
7195        Gtst_SPEC,
7196        crate::common::RW,
7197    > {
7198        crate::common::RegisterField::<
7199            2,
7200            0x1,
7201            1,
7202            0,
7203            gtst::Tcfc,
7204            gtst::Tcfc,
7205            Gtst_SPEC,
7206            crate::common::RW,
7207        >::from_register(self, 0)
7208    }
7209
7210    #[doc = "Input Capture/Compare Match Flag B"]
7211    #[inline(always)]
7212    pub fn tcfb(
7213        self,
7214    ) -> crate::common::RegisterField<
7215        1,
7216        0x1,
7217        1,
7218        0,
7219        gtst::Tcfb,
7220        gtst::Tcfb,
7221        Gtst_SPEC,
7222        crate::common::RW,
7223    > {
7224        crate::common::RegisterField::<
7225            1,
7226            0x1,
7227            1,
7228            0,
7229            gtst::Tcfb,
7230            gtst::Tcfb,
7231            Gtst_SPEC,
7232            crate::common::RW,
7233        >::from_register(self, 0)
7234    }
7235
7236    #[doc = "Input Capture/Compare Match Flag A"]
7237    #[inline(always)]
7238    pub fn tcfa(
7239        self,
7240    ) -> crate::common::RegisterField<
7241        0,
7242        0x1,
7243        1,
7244        0,
7245        gtst::Tcfa,
7246        gtst::Tcfa,
7247        Gtst_SPEC,
7248        crate::common::RW,
7249    > {
7250        crate::common::RegisterField::<
7251            0,
7252            0x1,
7253            1,
7254            0,
7255            gtst::Tcfa,
7256            gtst::Tcfa,
7257            Gtst_SPEC,
7258            crate::common::RW,
7259        >::from_register(self, 0)
7260    }
7261}
7262impl ::core::default::Default for Gtst {
7263    #[inline(always)]
7264    fn default() -> Gtst {
7265        <crate::RegValueT<Gtst_SPEC> as RegisterValue<_>>::new(32768)
7266    }
7267}
7268pub mod gtst {
7269
7270    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7271    pub struct Oablf_SPEC;
7272    pub type Oablf = crate::EnumBitfieldStruct<u8, Oablf_SPEC>;
7273    impl Oablf {
7274        #[doc = "GTIOCA pin and GTIOCB pin don\'t output 0 at the same time."]
7275        pub const _0: Self = Self::new(0);
7276
7277        #[doc = "GTIOCA pin and GTIOCB pin output 0 at the same time."]
7278        pub const _1: Self = Self::new(1);
7279    }
7280    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7281    pub struct Oabhf_SPEC;
7282    pub type Oabhf = crate::EnumBitfieldStruct<u8, Oabhf_SPEC>;
7283    impl Oabhf {
7284        #[doc = "GTIOCA pin and GTIOCB pin don\'t output 1 at the same time."]
7285        pub const _0: Self = Self::new(0);
7286
7287        #[doc = "GTIOCA pin and GTIOCB pin output 1 at the same time."]
7288        pub const _1: Self = Self::new(1);
7289    }
7290    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7291    pub struct Odf_SPEC;
7292    pub type Odf = crate::EnumBitfieldStruct<u8, Odf_SPEC>;
7293    impl Odf {
7294        #[doc = "No output disable request is generated."]
7295        pub const _0: Self = Self::new(0);
7296
7297        #[doc = "An output disable request is generated."]
7298        pub const _1: Self = Self::new(1);
7299    }
7300    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7301    pub struct Gtcf_SPEC;
7302    pub type Gtcf = crate::EnumBitfieldStruct<u8, Gtcf_SPEC>;
7303    impl Gtcf {
7304        #[doc = "The GTCNT counter counts downward."]
7305        pub const _0: Self = Self::new(0);
7306
7307        #[doc = "The GTCNT counter counts upward."]
7308        pub const _1: Self = Self::new(1);
7309    }
7310    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7311    pub struct Tcfpu_SPEC;
7312    pub type Tcfpu = crate::EnumBitfieldStruct<u8, Tcfpu_SPEC>;
7313    impl Tcfpu {
7314        #[doc = "No underflow (trough) has occurred."]
7315        pub const _0: Self = Self::new(0);
7316
7317        #[doc = "An underflow (trough) has occurred."]
7318        pub const _1: Self = Self::new(1);
7319    }
7320    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7321    pub struct Tcpfo_SPEC;
7322    pub type Tcpfo = crate::EnumBitfieldStruct<u8, Tcpfo_SPEC>;
7323    impl Tcpfo {
7324        #[doc = "No overflow (crest) has occurred."]
7325        pub const _0: Self = Self::new(0);
7326
7327        #[doc = "An overflow (crest) has occurred."]
7328        pub const _1: Self = Self::new(1);
7329    }
7330    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7331    pub struct Tcff_SPEC;
7332    pub type Tcff = crate::EnumBitfieldStruct<u8, Tcff_SPEC>;
7333    impl Tcff {
7334        #[doc = "No compare match of GTCCRF is generated"]
7335        pub const _0: Self = Self::new(0);
7336
7337        #[doc = "A compare match of GTCCRF is generated."]
7338        pub const _1: Self = Self::new(1);
7339    }
7340    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7341    pub struct Tcfe_SPEC;
7342    pub type Tcfe = crate::EnumBitfieldStruct<u8, Tcfe_SPEC>;
7343    impl Tcfe {
7344        #[doc = "No compare match of GTCCRE is generated"]
7345        pub const _0: Self = Self::new(0);
7346
7347        #[doc = "A compare match of GTCCRE is generated."]
7348        pub const _1: Self = Self::new(1);
7349    }
7350    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7351    pub struct Tcfd_SPEC;
7352    pub type Tcfd = crate::EnumBitfieldStruct<u8, Tcfd_SPEC>;
7353    impl Tcfd {
7354        #[doc = "No compare match of GTCCRD is generated."]
7355        pub const _0: Self = Self::new(0);
7356
7357        #[doc = "A compare match of GTCCRD is generated."]
7358        pub const _1: Self = Self::new(1);
7359    }
7360    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7361    pub struct Tcfc_SPEC;
7362    pub type Tcfc = crate::EnumBitfieldStruct<u8, Tcfc_SPEC>;
7363    impl Tcfc {
7364        #[doc = "No compare match of GTCCRC is generated."]
7365        pub const _0: Self = Self::new(0);
7366
7367        #[doc = "A compare match of GTCCRC is generated."]
7368        pub const _1: Self = Self::new(1);
7369    }
7370    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7371    pub struct Tcfb_SPEC;
7372    pub type Tcfb = crate::EnumBitfieldStruct<u8, Tcfb_SPEC>;
7373    impl Tcfb {
7374        #[doc = "No input capture/compare match of GTCCRB is generated."]
7375        pub const _0: Self = Self::new(0);
7376
7377        #[doc = "An input capture/compare match of GTCCRB is generated."]
7378        pub const _1: Self = Self::new(1);
7379    }
7380    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7381    pub struct Tcfa_SPEC;
7382    pub type Tcfa = crate::EnumBitfieldStruct<u8, Tcfa_SPEC>;
7383    impl Tcfa {
7384        #[doc = "No input capture/compare match of GTCCRA is generated."]
7385        pub const _0: Self = Self::new(0);
7386
7387        #[doc = "An input capture/compare match of GTCCRA is generated."]
7388        pub const _1: Self = Self::new(1);
7389    }
7390}
7391#[doc(hidden)]
7392#[derive(Copy, Clone, Eq, PartialEq)]
7393pub struct Gtber_SPEC;
7394impl crate::sealed::RegSpec for Gtber_SPEC {
7395    type DataType = u32;
7396}
7397
7398#[doc = "General PWM Timer Buffer Enable Register"]
7399pub type Gtber = crate::RegValueT<Gtber_SPEC>;
7400
7401impl Gtber {
7402    #[doc = "GTCCRA and GTCCRB Forcible Buffer OperationThis bit is read as 0."]
7403    #[inline(always)]
7404    pub fn ccrswt(
7405        self,
7406    ) -> crate::common::RegisterField<
7407        22,
7408        0x1,
7409        1,
7410        0,
7411        gtber::Ccrswt,
7412        gtber::Ccrswt,
7413        Gtber_SPEC,
7414        crate::common::W,
7415    > {
7416        crate::common::RegisterField::<
7417            22,
7418            0x1,
7419            1,
7420            0,
7421            gtber::Ccrswt,
7422            gtber::Ccrswt,
7423            Gtber_SPEC,
7424            crate::common::W,
7425        >::from_register(self, 0)
7426    }
7427
7428    #[doc = "GTPR Buffer Operation"]
7429    #[inline(always)]
7430    pub fn pr(
7431        self,
7432    ) -> crate::common::RegisterField<
7433        20,
7434        0x3,
7435        1,
7436        0,
7437        gtber::Pr,
7438        gtber::Pr,
7439        Gtber_SPEC,
7440        crate::common::RW,
7441    > {
7442        crate::common::RegisterField::<
7443            20,
7444            0x3,
7445            1,
7446            0,
7447            gtber::Pr,
7448            gtber::Pr,
7449            Gtber_SPEC,
7450            crate::common::RW,
7451        >::from_register(self, 0)
7452    }
7453
7454    #[doc = "GTCCRB Buffer Operation"]
7455    #[inline(always)]
7456    pub fn ccrb(
7457        self,
7458    ) -> crate::common::RegisterField<
7459        18,
7460        0x3,
7461        1,
7462        0,
7463        gtber::Ccrb,
7464        gtber::Ccrb,
7465        Gtber_SPEC,
7466        crate::common::RW,
7467    > {
7468        crate::common::RegisterField::<
7469            18,
7470            0x3,
7471            1,
7472            0,
7473            gtber::Ccrb,
7474            gtber::Ccrb,
7475            Gtber_SPEC,
7476            crate::common::RW,
7477        >::from_register(self, 0)
7478    }
7479
7480    #[doc = "GTCCRA Buffer Operation"]
7481    #[inline(always)]
7482    pub fn ccra(
7483        self,
7484    ) -> crate::common::RegisterField<
7485        16,
7486        0x3,
7487        1,
7488        0,
7489        gtber::Ccra,
7490        gtber::Ccra,
7491        Gtber_SPEC,
7492        crate::common::RW,
7493    > {
7494        crate::common::RegisterField::<
7495            16,
7496            0x3,
7497            1,
7498            0,
7499            gtber::Ccra,
7500            gtber::Ccra,
7501            Gtber_SPEC,
7502            crate::common::RW,
7503        >::from_register(self, 0)
7504    }
7505
7506    #[doc = "BD\\[1\\]: GTPR Buffer Operation DisableBD\\[0\\]: GTCCR Buffer Operation Disable"]
7507    #[inline(always)]
7508    pub fn bd(
7509        self,
7510    ) -> crate::common::RegisterField<
7511        0,
7512        0x3,
7513        1,
7514        0,
7515        gtber::Bd,
7516        gtber::Bd,
7517        Gtber_SPEC,
7518        crate::common::RW,
7519    > {
7520        crate::common::RegisterField::<
7521            0,
7522            0x3,
7523            1,
7524            0,
7525            gtber::Bd,
7526            gtber::Bd,
7527            Gtber_SPEC,
7528            crate::common::RW,
7529        >::from_register(self, 0)
7530    }
7531}
7532impl ::core::default::Default for Gtber {
7533    #[inline(always)]
7534    fn default() -> Gtber {
7535        <crate::RegValueT<Gtber_SPEC> as RegisterValue<_>>::new(0)
7536    }
7537}
7538pub mod gtber {
7539
7540    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7541    pub struct Ccrswt_SPEC;
7542    pub type Ccrswt = crate::EnumBitfieldStruct<u8, Ccrswt_SPEC>;
7543    impl Ccrswt {
7544        #[doc = "no effect"]
7545        pub const _0: Self = Self::new(0);
7546
7547        #[doc = "Forcibly performs buffer transfer of GTCCRA and GTCCRB. This bit automatically returns to 0 after the writing of 1."]
7548        pub const _1: Self = Self::new(1);
7549    }
7550    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7551    pub struct Pr_SPEC;
7552    pub type Pr = crate::EnumBitfieldStruct<u8, Pr_SPEC>;
7553    impl Pr {
7554        #[doc = "Buffer operation is not performed"]
7555        pub const _00: Self = Self::new(0);
7556
7557        #[doc = "Single buffer operation (GTPBR --> GTPR)"]
7558        pub const _01: Self = Self::new(1);
7559    }
7560    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7561    pub struct Ccrb_SPEC;
7562    pub type Ccrb = crate::EnumBitfieldStruct<u8, Ccrb_SPEC>;
7563    impl Ccrb {
7564        #[doc = "Buffer operation is not performed"]
7565        pub const _00: Self = Self::new(0);
7566
7567        #[doc = "Single buffer operation (GTCCRB <--> GTCCRE)"]
7568        pub const _01: Self = Self::new(1);
7569
7570        #[doc = "Double buffer operation (GTCCRB <--> GTCCRE <--> GTCCRF)"]
7571        pub const _10: Self = Self::new(2);
7572
7573        #[doc = "Double buffer operation (GTCCRB <--> GTCCRE <--> GTCCRF)"]
7574        pub const _11: Self = Self::new(3);
7575    }
7576    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7577    pub struct Ccra_SPEC;
7578    pub type Ccra = crate::EnumBitfieldStruct<u8, Ccra_SPEC>;
7579    impl Ccra {
7580        #[doc = "Buffer operation is not performed"]
7581        pub const _00: Self = Self::new(0);
7582
7583        #[doc = "Single buffer operation (GTCCRA <--> GTCCRC)"]
7584        pub const _01: Self = Self::new(1);
7585
7586        #[doc = "Double buffer operation (GTCCRA <--> GTCCRC <--> GTCCRD)"]
7587        pub const _10: Self = Self::new(2);
7588
7589        #[doc = "Double buffer operation (GTCCRA <--> GTCCRC <--> GTCCRD)"]
7590        pub const _11: Self = Self::new(3);
7591    }
7592    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7593    pub struct Bd_SPEC;
7594    pub type Bd = crate::EnumBitfieldStruct<u8, Bd_SPEC>;
7595    impl Bd {
7596        #[doc = "Buffer operation is enabled"]
7597        pub const _0: Self = Self::new(0);
7598
7599        #[doc = "Buffer operation is disabled"]
7600        pub const _1: Self = Self::new(1);
7601    }
7602}
7603#[doc(hidden)]
7604#[derive(Copy, Clone, Eq, PartialEq)]
7605pub struct Gtcnt_SPEC;
7606impl crate::sealed::RegSpec for Gtcnt_SPEC {
7607    type DataType = u32;
7608}
7609
7610#[doc = "General PWM Timer Counter"]
7611pub type Gtcnt = crate::RegValueT<Gtcnt_SPEC>;
7612
7613impl Gtcnt {
7614    #[doc = "Counter"]
7615    #[inline(always)]
7616    pub fn gtcnt(
7617        self,
7618    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Gtcnt_SPEC, crate::common::RW>
7619    {
7620        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Gtcnt_SPEC,crate::common::RW>::from_register(self,0)
7621    }
7622}
7623impl ::core::default::Default for Gtcnt {
7624    #[inline(always)]
7625    fn default() -> Gtcnt {
7626        <crate::RegValueT<Gtcnt_SPEC> as RegisterValue<_>>::new(0)
7627    }
7628}
7629
7630#[doc(hidden)]
7631#[derive(Copy, Clone, Eq, PartialEq)]
7632pub struct Gtccra_SPEC;
7633impl crate::sealed::RegSpec for Gtccra_SPEC {
7634    type DataType = u32;
7635}
7636
7637#[doc = "General PWM Timer Compare Capture Register A"]
7638pub type Gtccra = crate::RegValueT<Gtccra_SPEC>;
7639
7640impl Gtccra {
7641    #[doc = "These bits are read as 0000000000000000. The write value should be 0000000000000000."]
7642    #[inline(always)]
7643    pub fn reserved(
7644        self,
7645    ) -> crate::common::RegisterField<16, 0xffff, 1, 0, u16, u16, Gtccra_SPEC, crate::common::RW>
7646    {
7647        crate::common::RegisterField::<16,0xffff,1,0,u16,u16,Gtccra_SPEC,crate::common::RW>::from_register(self,0)
7648    }
7649
7650    #[doc = "Compare Capture Register A"]
7651    #[inline(always)]
7652    pub fn gtccra(
7653        self,
7654    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Gtccra_SPEC, crate::common::RW>
7655    {
7656        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Gtccra_SPEC,crate::common::RW>::from_register(self,0)
7657    }
7658}
7659impl ::core::default::Default for Gtccra {
7660    #[inline(always)]
7661    fn default() -> Gtccra {
7662        <crate::RegValueT<Gtccra_SPEC> as RegisterValue<_>>::new(65535)
7663    }
7664}
7665
7666#[doc(hidden)]
7667#[derive(Copy, Clone, Eq, PartialEq)]
7668pub struct Gtccrb_SPEC;
7669impl crate::sealed::RegSpec for Gtccrb_SPEC {
7670    type DataType = u32;
7671}
7672
7673#[doc = "General PWM Timer Compare Capture Register B"]
7674pub type Gtccrb = crate::RegValueT<Gtccrb_SPEC>;
7675
7676impl Gtccrb {
7677    #[doc = "These bits are read as 0000000000000000. The write value should be 0000000000000000."]
7678    #[inline(always)]
7679    pub fn reserved(
7680        self,
7681    ) -> crate::common::RegisterField<16, 0xffff, 1, 0, u16, u16, Gtccrb_SPEC, crate::common::RW>
7682    {
7683        crate::common::RegisterField::<16,0xffff,1,0,u16,u16,Gtccrb_SPEC,crate::common::RW>::from_register(self,0)
7684    }
7685
7686    #[doc = "Compare Capture Register B"]
7687    #[inline(always)]
7688    pub fn gtccrb(
7689        self,
7690    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Gtccrb_SPEC, crate::common::RW>
7691    {
7692        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Gtccrb_SPEC,crate::common::RW>::from_register(self,0)
7693    }
7694}
7695impl ::core::default::Default for Gtccrb {
7696    #[inline(always)]
7697    fn default() -> Gtccrb {
7698        <crate::RegValueT<Gtccrb_SPEC> as RegisterValue<_>>::new(65535)
7699    }
7700}
7701
7702#[doc(hidden)]
7703#[derive(Copy, Clone, Eq, PartialEq)]
7704pub struct Gtccrc_SPEC;
7705impl crate::sealed::RegSpec for Gtccrc_SPEC {
7706    type DataType = u32;
7707}
7708
7709#[doc = "General PWM Timer Compare Capture Register C"]
7710pub type Gtccrc = crate::RegValueT<Gtccrc_SPEC>;
7711
7712impl Gtccrc {
7713    #[doc = "These bits are read as 0000000000000000. The write value should be 0000000000000000."]
7714    #[inline(always)]
7715    pub fn reserved(
7716        self,
7717    ) -> crate::common::RegisterField<16, 0xffff, 1, 0, u16, u16, Gtccrc_SPEC, crate::common::RW>
7718    {
7719        crate::common::RegisterField::<16,0xffff,1,0,u16,u16,Gtccrc_SPEC,crate::common::RW>::from_register(self,0)
7720    }
7721
7722    #[doc = "Compare Capture Register C"]
7723    #[inline(always)]
7724    pub fn gtccrc(
7725        self,
7726    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Gtccrc_SPEC, crate::common::RW>
7727    {
7728        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Gtccrc_SPEC,crate::common::RW>::from_register(self,0)
7729    }
7730}
7731impl ::core::default::Default for Gtccrc {
7732    #[inline(always)]
7733    fn default() -> Gtccrc {
7734        <crate::RegValueT<Gtccrc_SPEC> as RegisterValue<_>>::new(65535)
7735    }
7736}
7737
7738#[doc(hidden)]
7739#[derive(Copy, Clone, Eq, PartialEq)]
7740pub struct Gtccre_SPEC;
7741impl crate::sealed::RegSpec for Gtccre_SPEC {
7742    type DataType = u32;
7743}
7744
7745#[doc = "General PWM Timer Compare Capture Register E"]
7746pub type Gtccre = crate::RegValueT<Gtccre_SPEC>;
7747
7748impl Gtccre {
7749    #[doc = "These bits are read as 0000000000000000. The write value should be 0000000000000000."]
7750    #[inline(always)]
7751    pub fn reserved(
7752        self,
7753    ) -> crate::common::RegisterField<16, 0xffff, 1, 0, u16, u16, Gtccre_SPEC, crate::common::RW>
7754    {
7755        crate::common::RegisterField::<16,0xffff,1,0,u16,u16,Gtccre_SPEC,crate::common::RW>::from_register(self,0)
7756    }
7757
7758    #[doc = "Compare Capture Register E"]
7759    #[inline(always)]
7760    pub fn gtccre(
7761        self,
7762    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Gtccre_SPEC, crate::common::RW>
7763    {
7764        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Gtccre_SPEC,crate::common::RW>::from_register(self,0)
7765    }
7766}
7767impl ::core::default::Default for Gtccre {
7768    #[inline(always)]
7769    fn default() -> Gtccre {
7770        <crate::RegValueT<Gtccre_SPEC> as RegisterValue<_>>::new(65535)
7771    }
7772}
7773
7774#[doc(hidden)]
7775#[derive(Copy, Clone, Eq, PartialEq)]
7776pub struct Gtccrd_SPEC;
7777impl crate::sealed::RegSpec for Gtccrd_SPEC {
7778    type DataType = u32;
7779}
7780
7781#[doc = "General PWM Timer Compare Capture Register D"]
7782pub type Gtccrd = crate::RegValueT<Gtccrd_SPEC>;
7783
7784impl Gtccrd {
7785    #[doc = "These bits are read as 0000000000000000. The write value should be 0000000000000000."]
7786    #[inline(always)]
7787    pub fn reserved(
7788        self,
7789    ) -> crate::common::RegisterField<16, 0xffff, 1, 0, u16, u16, Gtccrd_SPEC, crate::common::RW>
7790    {
7791        crate::common::RegisterField::<16,0xffff,1,0,u16,u16,Gtccrd_SPEC,crate::common::RW>::from_register(self,0)
7792    }
7793
7794    #[doc = "Compare Capture Register D"]
7795    #[inline(always)]
7796    pub fn gtccrd(
7797        self,
7798    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Gtccrd_SPEC, crate::common::RW>
7799    {
7800        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Gtccrd_SPEC,crate::common::RW>::from_register(self,0)
7801    }
7802}
7803impl ::core::default::Default for Gtccrd {
7804    #[inline(always)]
7805    fn default() -> Gtccrd {
7806        <crate::RegValueT<Gtccrd_SPEC> as RegisterValue<_>>::new(65535)
7807    }
7808}
7809
7810#[doc(hidden)]
7811#[derive(Copy, Clone, Eq, PartialEq)]
7812pub struct Gtccrf_SPEC;
7813impl crate::sealed::RegSpec for Gtccrf_SPEC {
7814    type DataType = u32;
7815}
7816
7817#[doc = "General PWM Timer Compare Capture Register F"]
7818pub type Gtccrf = crate::RegValueT<Gtccrf_SPEC>;
7819
7820impl Gtccrf {
7821    #[doc = "These bits are read as 0000000000000000. The write value should be 0000000000000000."]
7822    #[inline(always)]
7823    pub fn reserved(
7824        self,
7825    ) -> crate::common::RegisterField<16, 0xffff, 1, 0, u16, u16, Gtccrf_SPEC, crate::common::RW>
7826    {
7827        crate::common::RegisterField::<16,0xffff,1,0,u16,u16,Gtccrf_SPEC,crate::common::RW>::from_register(self,0)
7828    }
7829
7830    #[doc = "Compare Capture Register F"]
7831    #[inline(always)]
7832    pub fn gtccrf(
7833        self,
7834    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Gtccrf_SPEC, crate::common::RW>
7835    {
7836        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Gtccrf_SPEC,crate::common::RW>::from_register(self,0)
7837    }
7838}
7839impl ::core::default::Default for Gtccrf {
7840    #[inline(always)]
7841    fn default() -> Gtccrf {
7842        <crate::RegValueT<Gtccrf_SPEC> as RegisterValue<_>>::new(65535)
7843    }
7844}
7845
7846#[doc(hidden)]
7847#[derive(Copy, Clone, Eq, PartialEq)]
7848pub struct Gtpr_SPEC;
7849impl crate::sealed::RegSpec for Gtpr_SPEC {
7850    type DataType = u32;
7851}
7852
7853#[doc = "General PWM Timer Cycle Setting Register"]
7854pub type Gtpr = crate::RegValueT<Gtpr_SPEC>;
7855
7856impl Gtpr {
7857    #[doc = "These bits are read as 0000000000000000. The write value should be 0000000000000000."]
7858    #[inline(always)]
7859    pub fn reserved(
7860        self,
7861    ) -> crate::common::RegisterField<16, 0xffff, 1, 0, u16, u16, Gtpr_SPEC, crate::common::RW>
7862    {
7863        crate::common::RegisterField::<16,0xffff,1,0,u16,u16,Gtpr_SPEC,crate::common::RW>::from_register(self,0)
7864    }
7865
7866    #[doc = "Cycle Setting Register"]
7867    #[inline(always)]
7868    pub fn gtpr(
7869        self,
7870    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Gtpr_SPEC, crate::common::RW> {
7871        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Gtpr_SPEC,crate::common::RW>::from_register(self,0)
7872    }
7873}
7874impl ::core::default::Default for Gtpr {
7875    #[inline(always)]
7876    fn default() -> Gtpr {
7877        <crate::RegValueT<Gtpr_SPEC> as RegisterValue<_>>::new(65535)
7878    }
7879}
7880
7881#[doc(hidden)]
7882#[derive(Copy, Clone, Eq, PartialEq)]
7883pub struct Gtpbr_SPEC;
7884impl crate::sealed::RegSpec for Gtpbr_SPEC {
7885    type DataType = u32;
7886}
7887
7888#[doc = "General PWM Timer Cycle Setting Buffer Register"]
7889pub type Gtpbr = crate::RegValueT<Gtpbr_SPEC>;
7890
7891impl Gtpbr {
7892    #[doc = "These bits are read as 0000000000000000. The write value should be 0000000000000000."]
7893    #[inline(always)]
7894    pub fn reserved(
7895        self,
7896    ) -> crate::common::RegisterField<16, 0xffff, 1, 0, u16, u16, Gtpbr_SPEC, crate::common::RW>
7897    {
7898        crate::common::RegisterField::<16,0xffff,1,0,u16,u16,Gtpbr_SPEC,crate::common::RW>::from_register(self,0)
7899    }
7900
7901    #[doc = "Cycle Setting Buffer Register"]
7902    #[inline(always)]
7903    pub fn gtpbr(
7904        self,
7905    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Gtpbr_SPEC, crate::common::RW>
7906    {
7907        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Gtpbr_SPEC,crate::common::RW>::from_register(self,0)
7908    }
7909}
7910impl ::core::default::Default for Gtpbr {
7911    #[inline(always)]
7912    fn default() -> Gtpbr {
7913        <crate::RegValueT<Gtpbr_SPEC> as RegisterValue<_>>::new(65535)
7914    }
7915}
7916
7917#[doc(hidden)]
7918#[derive(Copy, Clone, Eq, PartialEq)]
7919pub struct Gtdtcr_SPEC;
7920impl crate::sealed::RegSpec for Gtdtcr_SPEC {
7921    type DataType = u32;
7922}
7923
7924#[doc = "General PWM Timer Dead Time Control Register"]
7925pub type Gtdtcr = crate::RegValueT<Gtdtcr_SPEC>;
7926
7927impl Gtdtcr {
7928    #[doc = "These bits are read as 0000000000000000000000000000000. The write value should be 0000000000000000000000000000000."]
7929    #[inline(always)]
7930    pub fn reserved(
7931        self,
7932    ) -> crate::common::RegisterField<1, 0x7fffffff, 1, 0, u32, u32, Gtdtcr_SPEC, crate::common::RW>
7933    {
7934        crate::common::RegisterField::<1,0x7fffffff,1,0,u32,u32,Gtdtcr_SPEC,crate::common::RW>::from_register(self,0)
7935    }
7936
7937    #[doc = "Negative-Phase Waveform Setting"]
7938    #[inline(always)]
7939    pub fn tde(
7940        self,
7941    ) -> crate::common::RegisterField<
7942        0,
7943        0x1,
7944        1,
7945        0,
7946        gtdtcr::Tde,
7947        gtdtcr::Tde,
7948        Gtdtcr_SPEC,
7949        crate::common::RW,
7950    > {
7951        crate::common::RegisterField::<
7952            0,
7953            0x1,
7954            1,
7955            0,
7956            gtdtcr::Tde,
7957            gtdtcr::Tde,
7958            Gtdtcr_SPEC,
7959            crate::common::RW,
7960        >::from_register(self, 0)
7961    }
7962}
7963impl ::core::default::Default for Gtdtcr {
7964    #[inline(always)]
7965    fn default() -> Gtdtcr {
7966        <crate::RegValueT<Gtdtcr_SPEC> as RegisterValue<_>>::new(0)
7967    }
7968}
7969pub mod gtdtcr {
7970
7971    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7972    pub struct Tde_SPEC;
7973    pub type Tde = crate::EnumBitfieldStruct<u8, Tde_SPEC>;
7974    impl Tde {
7975        #[doc = "GTCCRB is set without using GTDVU and GTDVD."]
7976        pub const _0: Self = Self::new(0);
7977
7978        #[doc = "GTDVU and GTDVD are used to set the compare match value for negative-phase waveform with dead time automatically in GTCCRB."]
7979        pub const _1: Self = Self::new(1);
7980    }
7981}
7982#[doc(hidden)]
7983#[derive(Copy, Clone, Eq, PartialEq)]
7984pub struct Gtdvu_SPEC;
7985impl crate::sealed::RegSpec for Gtdvu_SPEC {
7986    type DataType = u32;
7987}
7988
7989#[doc = "General PWM Timer Dead Time Value Register U"]
7990pub type Gtdvu = crate::RegValueT<Gtdvu_SPEC>;
7991
7992impl Gtdvu {
7993    #[doc = "These bits are read as 0000000000000000. The write value should be 0000000000000000."]
7994    #[inline(always)]
7995    pub fn reserved(
7996        self,
7997    ) -> crate::common::RegisterField<16, 0xffff, 1, 0, u16, u16, Gtdvu_SPEC, crate::common::RW>
7998    {
7999        crate::common::RegisterField::<16,0xffff,1,0,u16,u16,Gtdvu_SPEC,crate::common::RW>::from_register(self,0)
8000    }
8001
8002    #[doc = "Dead Time Value Register U"]
8003    #[inline(always)]
8004    pub fn gtdvu(
8005        self,
8006    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Gtdvu_SPEC, crate::common::RW>
8007    {
8008        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Gtdvu_SPEC,crate::common::RW>::from_register(self,0)
8009    }
8010}
8011impl ::core::default::Default for Gtdvu {
8012    #[inline(always)]
8013    fn default() -> Gtdvu {
8014        <crate::RegValueT<Gtdvu_SPEC> as RegisterValue<_>>::new(65535)
8015    }
8016}