Skip to main content

ra2e1_pac/
mstp.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.51.00, with svd2pac 0.6.1 on Sun, 15 Mar 2026 07:01:43 +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"Module Stop Control B, C, D"]
28unsafe impl ::core::marker::Send for super::Mstp {}
29unsafe impl ::core::marker::Sync for super::Mstp {}
30impl super::Mstp {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36
37    #[doc = "Module Stop Control Register B"]
38    #[inline(always)]
39    pub const fn mstpcrb(
40        &self,
41    ) -> &'static crate::common::Reg<self::Mstpcrb_SPEC, crate::common::RW> {
42        unsafe {
43            crate::common::Reg::<self::Mstpcrb_SPEC, crate::common::RW>::from_ptr(
44                self._svd2pac_as_ptr().add(0usize),
45            )
46        }
47    }
48
49    #[doc = "Module Stop Control Register C"]
50    #[inline(always)]
51    pub const fn mstpcrc(
52        &self,
53    ) -> &'static crate::common::Reg<self::Mstpcrc_SPEC, crate::common::RW> {
54        unsafe {
55            crate::common::Reg::<self::Mstpcrc_SPEC, crate::common::RW>::from_ptr(
56                self._svd2pac_as_ptr().add(4usize),
57            )
58        }
59    }
60
61    #[doc = "Module Stop Control Register D"]
62    #[inline(always)]
63    pub const fn mstpcrd(
64        &self,
65    ) -> &'static crate::common::Reg<self::Mstpcrd_SPEC, crate::common::RW> {
66        unsafe {
67            crate::common::Reg::<self::Mstpcrd_SPEC, crate::common::RW>::from_ptr(
68                self._svd2pac_as_ptr().add(8usize),
69            )
70        }
71    }
72
73    #[doc = "Low Speed Module R/W Disable Control Register"]
74    #[inline(always)]
75    pub const fn lsmrwdis(
76        &self,
77    ) -> &'static crate::common::Reg<self::Lsmrwdis_SPEC, crate::common::RW> {
78        unsafe {
79            crate::common::Reg::<self::Lsmrwdis_SPEC, crate::common::RW>::from_ptr(
80                self._svd2pac_as_ptr().add(12usize),
81            )
82        }
83    }
84}
85#[doc(hidden)]
86#[derive(Copy, Clone, Eq, PartialEq)]
87pub struct Mstpcrb_SPEC;
88impl crate::sealed::RegSpec for Mstpcrb_SPEC {
89    type DataType = u32;
90}
91
92#[doc = "Module Stop Control Register B"]
93pub type Mstpcrb = crate::RegValueT<Mstpcrb_SPEC>;
94
95impl Mstpcrb {
96    #[doc = "I2C Bus Interface 0 Module Stop"]
97    #[inline(always)]
98    pub fn mstpb9(
99        self,
100    ) -> crate::common::RegisterField<
101        9,
102        0x1,
103        1,
104        0,
105        mstpcrb::Mstpb9,
106        mstpcrb::Mstpb9,
107        Mstpcrb_SPEC,
108        crate::common::RW,
109    > {
110        crate::common::RegisterField::<
111            9,
112            0x1,
113            1,
114            0,
115            mstpcrb::Mstpb9,
116            mstpcrb::Mstpb9,
117            Mstpcrb_SPEC,
118            crate::common::RW,
119        >::from_register(self, 0)
120    }
121
122    #[doc = "Serial Peripheral Interface 0 Module Stop"]
123    #[inline(always)]
124    pub fn mstpb19(
125        self,
126    ) -> crate::common::RegisterField<
127        19,
128        0x1,
129        1,
130        0,
131        mstpcrb::Mstpb19,
132        mstpcrb::Mstpb19,
133        Mstpcrb_SPEC,
134        crate::common::RW,
135    > {
136        crate::common::RegisterField::<
137            19,
138            0x1,
139            1,
140            0,
141            mstpcrb::Mstpb19,
142            mstpcrb::Mstpb19,
143            Mstpcrb_SPEC,
144            crate::common::RW,
145        >::from_register(self, 0)
146    }
147
148    #[doc = "Serial Communication Interface 9 Module Stop"]
149    #[inline(always)]
150    pub fn mstpb22(
151        self,
152    ) -> crate::common::RegisterField<
153        22,
154        0x1,
155        1,
156        0,
157        mstpcrb::Mstpb22,
158        mstpcrb::Mstpb22,
159        Mstpcrb_SPEC,
160        crate::common::RW,
161    > {
162        crate::common::RegisterField::<
163            22,
164            0x1,
165            1,
166            0,
167            mstpcrb::Mstpb22,
168            mstpcrb::Mstpb22,
169            Mstpcrb_SPEC,
170            crate::common::RW,
171        >::from_register(self, 0)
172    }
173
174    #[doc = "Serial Communication Interface 2 Module Stop"]
175    #[inline(always)]
176    pub fn mstpb29(
177        self,
178    ) -> crate::common::RegisterField<
179        29,
180        0x1,
181        1,
182        0,
183        mstpcrb::Mstpb29,
184        mstpcrb::Mstpb29,
185        Mstpcrb_SPEC,
186        crate::common::RW,
187    > {
188        crate::common::RegisterField::<
189            29,
190            0x1,
191            1,
192            0,
193            mstpcrb::Mstpb29,
194            mstpcrb::Mstpb29,
195            Mstpcrb_SPEC,
196            crate::common::RW,
197        >::from_register(self, 0)
198    }
199
200    #[doc = "Serial Communication Interface 1 Module Stop"]
201    #[inline(always)]
202    pub fn mstpb30(
203        self,
204    ) -> crate::common::RegisterField<
205        30,
206        0x1,
207        1,
208        0,
209        mstpcrb::Mstpb30,
210        mstpcrb::Mstpb30,
211        Mstpcrb_SPEC,
212        crate::common::RW,
213    > {
214        crate::common::RegisterField::<
215            30,
216            0x1,
217            1,
218            0,
219            mstpcrb::Mstpb30,
220            mstpcrb::Mstpb30,
221            Mstpcrb_SPEC,
222            crate::common::RW,
223        >::from_register(self, 0)
224    }
225
226    #[doc = "Serial Communication Interface 0 Module Stop"]
227    #[inline(always)]
228    pub fn mstpb31(
229        self,
230    ) -> crate::common::RegisterField<
231        31,
232        0x1,
233        1,
234        0,
235        mstpcrb::Mstpb31,
236        mstpcrb::Mstpb31,
237        Mstpcrb_SPEC,
238        crate::common::RW,
239    > {
240        crate::common::RegisterField::<
241            31,
242            0x1,
243            1,
244            0,
245            mstpcrb::Mstpb31,
246            mstpcrb::Mstpb31,
247            Mstpcrb_SPEC,
248            crate::common::RW,
249        >::from_register(self, 0)
250    }
251}
252impl ::core::default::Default for Mstpcrb {
253    #[inline(always)]
254    fn default() -> Mstpcrb {
255        <crate::RegValueT<Mstpcrb_SPEC> as RegisterValue<_>>::new(4294967295)
256    }
257}
258pub mod mstpcrb {
259
260    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
261    pub struct Mstpb9_SPEC;
262    pub type Mstpb9 = crate::EnumBitfieldStruct<u8, Mstpb9_SPEC>;
263    impl Mstpb9 {
264        #[doc = "Cancel the module-stop state"]
265        pub const _0: Self = Self::new(0);
266
267        #[doc = "Enter the module-stop state"]
268        pub const _1: Self = Self::new(1);
269    }
270    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
271    pub struct Mstpb19_SPEC;
272    pub type Mstpb19 = crate::EnumBitfieldStruct<u8, Mstpb19_SPEC>;
273    impl Mstpb19 {
274        #[doc = "Cancel the module-stop state"]
275        pub const _0: Self = Self::new(0);
276
277        #[doc = "Enter the module-stop state"]
278        pub const _1: Self = Self::new(1);
279    }
280    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
281    pub struct Mstpb22_SPEC;
282    pub type Mstpb22 = crate::EnumBitfieldStruct<u8, Mstpb22_SPEC>;
283    impl Mstpb22 {
284        #[doc = "Cancel the module-stop state"]
285        pub const _0: Self = Self::new(0);
286
287        #[doc = "Enter the module-stop state"]
288        pub const _1: Self = Self::new(1);
289    }
290    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
291    pub struct Mstpb29_SPEC;
292    pub type Mstpb29 = crate::EnumBitfieldStruct<u8, Mstpb29_SPEC>;
293    impl Mstpb29 {
294        #[doc = "Cancel the module-stop state"]
295        pub const _0: Self = Self::new(0);
296
297        #[doc = "Enter the module-stop state"]
298        pub const _1: Self = Self::new(1);
299    }
300    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
301    pub struct Mstpb30_SPEC;
302    pub type Mstpb30 = crate::EnumBitfieldStruct<u8, Mstpb30_SPEC>;
303    impl Mstpb30 {
304        #[doc = "Cancel the module-stop state"]
305        pub const _0: Self = Self::new(0);
306
307        #[doc = "Enter the module-stop state"]
308        pub const _1: Self = Self::new(1);
309    }
310    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
311    pub struct Mstpb31_SPEC;
312    pub type Mstpb31 = crate::EnumBitfieldStruct<u8, Mstpb31_SPEC>;
313    impl Mstpb31 {
314        #[doc = "Cancel the module-stop state"]
315        pub const _0: Self = Self::new(0);
316
317        #[doc = "Enter the module-stop state"]
318        pub const _1: Self = Self::new(1);
319    }
320}
321#[doc(hidden)]
322#[derive(Copy, Clone, Eq, PartialEq)]
323pub struct Mstpcrc_SPEC;
324impl crate::sealed::RegSpec for Mstpcrc_SPEC {
325    type DataType = u32;
326}
327
328#[doc = "Module Stop Control Register C"]
329pub type Mstpcrc = crate::RegValueT<Mstpcrc_SPEC>;
330
331impl Mstpcrc {
332    #[doc = "Clock Frequency Accuracy Measurement Circuit Module Stop"]
333    #[inline(always)]
334    pub fn mstpc0(
335        self,
336    ) -> crate::common::RegisterField<
337        0,
338        0x1,
339        1,
340        0,
341        mstpcrc::Mstpc0,
342        mstpcrc::Mstpc0,
343        Mstpcrc_SPEC,
344        crate::common::RW,
345    > {
346        crate::common::RegisterField::<
347            0,
348            0x1,
349            1,
350            0,
351            mstpcrc::Mstpc0,
352            mstpcrc::Mstpc0,
353            Mstpcrc_SPEC,
354            crate::common::RW,
355        >::from_register(self, 0)
356    }
357
358    #[doc = "Cyclic Redundancy Check Calculator Module Stop"]
359    #[inline(always)]
360    pub fn mstpc1(
361        self,
362    ) -> crate::common::RegisterField<
363        1,
364        0x1,
365        1,
366        0,
367        mstpcrc::Mstpc1,
368        mstpcrc::Mstpc1,
369        Mstpcrc_SPEC,
370        crate::common::RW,
371    > {
372        crate::common::RegisterField::<
373            1,
374            0x1,
375            1,
376            0,
377            mstpcrc::Mstpc1,
378            mstpcrc::Mstpc1,
379            Mstpcrc_SPEC,
380            crate::common::RW,
381        >::from_register(self, 0)
382    }
383
384    #[doc = "Capacitive Sensing Unit Module Stop"]
385    #[inline(always)]
386    pub fn mstpc3(
387        self,
388    ) -> crate::common::RegisterField<
389        3,
390        0x1,
391        1,
392        0,
393        mstpcrc::Mstpc3,
394        mstpcrc::Mstpc3,
395        Mstpcrc_SPEC,
396        crate::common::RW,
397    > {
398        crate::common::RegisterField::<
399            3,
400            0x1,
401            1,
402            0,
403            mstpcrc::Mstpc3,
404            mstpcrc::Mstpc3,
405            Mstpcrc_SPEC,
406            crate::common::RW,
407        >::from_register(self, 0)
408    }
409
410    #[doc = "Data Operation Circuit Module Stop"]
411    #[inline(always)]
412    pub fn mstpc13(
413        self,
414    ) -> crate::common::RegisterField<
415        13,
416        0x1,
417        1,
418        0,
419        mstpcrc::Mstpc13,
420        mstpcrc::Mstpc13,
421        Mstpcrc_SPEC,
422        crate::common::RW,
423    > {
424        crate::common::RegisterField::<
425            13,
426            0x1,
427            1,
428            0,
429            mstpcrc::Mstpc13,
430            mstpcrc::Mstpc13,
431            Mstpcrc_SPEC,
432            crate::common::RW,
433        >::from_register(self, 0)
434    }
435
436    #[doc = "Event Link Controller Module Stop"]
437    #[inline(always)]
438    pub fn mstpc14(
439        self,
440    ) -> crate::common::RegisterField<
441        14,
442        0x1,
443        1,
444        0,
445        mstpcrc::Mstpc14,
446        mstpcrc::Mstpc14,
447        Mstpcrc_SPEC,
448        crate::common::RW,
449    > {
450        crate::common::RegisterField::<
451            14,
452            0x1,
453            1,
454            0,
455            mstpcrc::Mstpc14,
456            mstpcrc::Mstpc14,
457            Mstpcrc_SPEC,
458            crate::common::RW,
459        >::from_register(self, 0)
460    }
461
462    #[doc = "True Random Number Generator Module Stop"]
463    #[inline(always)]
464    pub fn mstpc28(
465        self,
466    ) -> crate::common::RegisterField<
467        28,
468        0x1,
469        1,
470        0,
471        mstpcrc::Mstpc28,
472        mstpcrc::Mstpc28,
473        Mstpcrc_SPEC,
474        crate::common::RW,
475    > {
476        crate::common::RegisterField::<
477            28,
478            0x1,
479            1,
480            0,
481            mstpcrc::Mstpc28,
482            mstpcrc::Mstpc28,
483            Mstpcrc_SPEC,
484            crate::common::RW,
485        >::from_register(self, 0)
486    }
487
488    #[doc = "AES Module Stop"]
489    #[inline(always)]
490    pub fn mstpc31(
491        self,
492    ) -> crate::common::RegisterField<
493        31,
494        0x1,
495        1,
496        0,
497        mstpcrc::Mstpc31,
498        mstpcrc::Mstpc31,
499        Mstpcrc_SPEC,
500        crate::common::RW,
501    > {
502        crate::common::RegisterField::<
503            31,
504            0x1,
505            1,
506            0,
507            mstpcrc::Mstpc31,
508            mstpcrc::Mstpc31,
509            Mstpcrc_SPEC,
510            crate::common::RW,
511        >::from_register(self, 0)
512    }
513}
514impl ::core::default::Default for Mstpcrc {
515    #[inline(always)]
516    fn default() -> Mstpcrc {
517        <crate::RegValueT<Mstpcrc_SPEC> as RegisterValue<_>>::new(4294967295)
518    }
519}
520pub mod mstpcrc {
521
522    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
523    pub struct Mstpc0_SPEC;
524    pub type Mstpc0 = crate::EnumBitfieldStruct<u8, Mstpc0_SPEC>;
525    impl Mstpc0 {
526        #[doc = "Cancel the module-stop state"]
527        pub const _0: Self = Self::new(0);
528
529        #[doc = "Enter the module-stop state"]
530        pub const _1: Self = Self::new(1);
531    }
532    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
533    pub struct Mstpc1_SPEC;
534    pub type Mstpc1 = crate::EnumBitfieldStruct<u8, Mstpc1_SPEC>;
535    impl Mstpc1 {
536        #[doc = "Cancel the module-stop state"]
537        pub const _0: Self = Self::new(0);
538
539        #[doc = "Enter the module-stop state"]
540        pub const _1: Self = Self::new(1);
541    }
542    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
543    pub struct Mstpc3_SPEC;
544    pub type Mstpc3 = crate::EnumBitfieldStruct<u8, Mstpc3_SPEC>;
545    impl Mstpc3 {
546        #[doc = "Cancel the module-stop state"]
547        pub const _0: Self = Self::new(0);
548
549        #[doc = "Enter the module-stop state"]
550        pub const _1: Self = Self::new(1);
551    }
552    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
553    pub struct Mstpc13_SPEC;
554    pub type Mstpc13 = crate::EnumBitfieldStruct<u8, Mstpc13_SPEC>;
555    impl Mstpc13 {
556        #[doc = "Cancel the module-stop state"]
557        pub const _0: Self = Self::new(0);
558
559        #[doc = "Enter the module-stop state"]
560        pub const _1: Self = Self::new(1);
561    }
562    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
563    pub struct Mstpc14_SPEC;
564    pub type Mstpc14 = crate::EnumBitfieldStruct<u8, Mstpc14_SPEC>;
565    impl Mstpc14 {
566        #[doc = "Cancel the module-stop state"]
567        pub const _0: Self = Self::new(0);
568
569        #[doc = "Enter the module-stop state"]
570        pub const _1: Self = Self::new(1);
571    }
572    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
573    pub struct Mstpc28_SPEC;
574    pub type Mstpc28 = crate::EnumBitfieldStruct<u8, Mstpc28_SPEC>;
575    impl Mstpc28 {
576        #[doc = "Cancel the module-stop state"]
577        pub const _0: Self = Self::new(0);
578
579        #[doc = "Enter the module-stop state"]
580        pub const _1: Self = Self::new(1);
581    }
582    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
583    pub struct Mstpc31_SPEC;
584    pub type Mstpc31 = crate::EnumBitfieldStruct<u8, Mstpc31_SPEC>;
585    impl Mstpc31 {
586        #[doc = "Cancel the module-stop state"]
587        pub const _0: Self = Self::new(0);
588
589        #[doc = "Enter the module-stop state"]
590        pub const _1: Self = Self::new(1);
591    }
592}
593#[doc(hidden)]
594#[derive(Copy, Clone, Eq, PartialEq)]
595pub struct Mstpcrd_SPEC;
596impl crate::sealed::RegSpec for Mstpcrd_SPEC {
597    type DataType = u32;
598}
599
600#[doc = "Module Stop Control Register D"]
601pub type Mstpcrd = crate::RegValueT<Mstpcrd_SPEC>;
602
603impl Mstpcrd {
604    #[doc = "Low Power Asynchronous General Purpose Timer 1 Module Stop"]
605    #[inline(always)]
606    pub fn mstpd2(
607        self,
608    ) -> crate::common::RegisterField<
609        2,
610        0x1,
611        1,
612        0,
613        mstpcrd::Mstpd2,
614        mstpcrd::Mstpd2,
615        Mstpcrd_SPEC,
616        crate::common::RW,
617    > {
618        crate::common::RegisterField::<
619            2,
620            0x1,
621            1,
622            0,
623            mstpcrd::Mstpd2,
624            mstpcrd::Mstpd2,
625            Mstpcrd_SPEC,
626            crate::common::RW,
627        >::from_register(self, 0)
628    }
629
630    #[doc = "Low Power Asynchronous General Purpose Timer 0 Module Stop"]
631    #[inline(always)]
632    pub fn mstpd3(
633        self,
634    ) -> crate::common::RegisterField<
635        3,
636        0x1,
637        1,
638        0,
639        mstpcrd::Mstpd3,
640        mstpcrd::Mstpd3,
641        Mstpcrd_SPEC,
642        crate::common::RW,
643    > {
644        crate::common::RegisterField::<
645            3,
646            0x1,
647            1,
648            0,
649            mstpcrd::Mstpd3,
650            mstpcrd::Mstpd3,
651            Mstpcrd_SPEC,
652            crate::common::RW,
653        >::from_register(self, 0)
654    }
655
656    #[doc = "General PWM Timer 32n Module Stop"]
657    #[inline(always)]
658    pub fn mstpd5(
659        self,
660    ) -> crate::common::RegisterField<
661        5,
662        0x1,
663        1,
664        0,
665        mstpcrd::Mstpd5,
666        mstpcrd::Mstpd5,
667        Mstpcrd_SPEC,
668        crate::common::RW,
669    > {
670        crate::common::RegisterField::<
671            5,
672            0x1,
673            1,
674            0,
675            mstpcrd::Mstpd5,
676            mstpcrd::Mstpd5,
677            Mstpcrd_SPEC,
678            crate::common::RW,
679        >::from_register(self, 0)
680    }
681
682    #[doc = "General PWM Timer 164 to 169 and PWM Delay Generation Circuit Module Stop"]
683    #[inline(always)]
684    pub fn mstpd6(
685        self,
686    ) -> crate::common::RegisterField<
687        6,
688        0x1,
689        1,
690        0,
691        mstpcrd::Mstpd6,
692        mstpcrd::Mstpd6,
693        Mstpcrd_SPEC,
694        crate::common::RW,
695    > {
696        crate::common::RegisterField::<
697            6,
698            0x1,
699            1,
700            0,
701            mstpcrd::Mstpd6,
702            mstpcrd::Mstpd6,
703            Mstpcrd_SPEC,
704            crate::common::RW,
705        >::from_register(self, 0)
706    }
707
708    #[doc = "Port Output Enable for GPT Module Stop"]
709    #[inline(always)]
710    pub fn mstpd14(
711        self,
712    ) -> crate::common::RegisterField<
713        14,
714        0x1,
715        1,
716        0,
717        mstpcrd::Mstpd14,
718        mstpcrd::Mstpd14,
719        Mstpcrd_SPEC,
720        crate::common::RW,
721    > {
722        crate::common::RegisterField::<
723            14,
724            0x1,
725            1,
726            0,
727            mstpcrd::Mstpd14,
728            mstpcrd::Mstpd14,
729            Mstpcrd_SPEC,
730            crate::common::RW,
731        >::from_register(self, 0)
732    }
733
734    #[doc = "12-bit A/D Converter Module Stop"]
735    #[inline(always)]
736    pub fn mstpd16(
737        self,
738    ) -> crate::common::RegisterField<
739        16,
740        0x1,
741        1,
742        0,
743        mstpcrd::Mstpd16,
744        mstpcrd::Mstpd16,
745        Mstpcrd_SPEC,
746        crate::common::RW,
747    > {
748        crate::common::RegisterField::<
749            16,
750            0x1,
751            1,
752            0,
753            mstpcrd::Mstpd16,
754            mstpcrd::Mstpd16,
755            Mstpcrd_SPEC,
756            crate::common::RW,
757        >::from_register(self, 0)
758    }
759
760    #[doc = "Low-Power Analog Comparator Module Stop"]
761    #[inline(always)]
762    pub fn mstpd29(
763        self,
764    ) -> crate::common::RegisterField<
765        29,
766        0x1,
767        1,
768        0,
769        mstpcrd::Mstpd29,
770        mstpcrd::Mstpd29,
771        Mstpcrd_SPEC,
772        crate::common::RW,
773    > {
774        crate::common::RegisterField::<
775            29,
776            0x1,
777            1,
778            0,
779            mstpcrd::Mstpd29,
780            mstpcrd::Mstpd29,
781            Mstpcrd_SPEC,
782            crate::common::RW,
783        >::from_register(self, 0)
784    }
785}
786impl ::core::default::Default for Mstpcrd {
787    #[inline(always)]
788    fn default() -> Mstpcrd {
789        <crate::RegValueT<Mstpcrd_SPEC> as RegisterValue<_>>::new(4294967295)
790    }
791}
792pub mod mstpcrd {
793
794    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
795    pub struct Mstpd2_SPEC;
796    pub type Mstpd2 = crate::EnumBitfieldStruct<u8, Mstpd2_SPEC>;
797    impl Mstpd2 {
798        #[doc = "Cancel the module-stop state"]
799        pub const _0: Self = Self::new(0);
800
801        #[doc = "Enter the module-stop state"]
802        pub const _1: Self = Self::new(1);
803    }
804    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
805    pub struct Mstpd3_SPEC;
806    pub type Mstpd3 = crate::EnumBitfieldStruct<u8, Mstpd3_SPEC>;
807    impl Mstpd3 {
808        #[doc = "Cancel the module-stop state"]
809        pub const _0: Self = Self::new(0);
810
811        #[doc = "Enter the module-stop state"]
812        pub const _1: Self = Self::new(1);
813    }
814    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
815    pub struct Mstpd5_SPEC;
816    pub type Mstpd5 = crate::EnumBitfieldStruct<u8, Mstpd5_SPEC>;
817    impl Mstpd5 {
818        #[doc = "Cancel the module-stop state"]
819        pub const _0: Self = Self::new(0);
820
821        #[doc = "Enter the module-stop state"]
822        pub const _1: Self = Self::new(1);
823    }
824    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
825    pub struct Mstpd6_SPEC;
826    pub type Mstpd6 = crate::EnumBitfieldStruct<u8, Mstpd6_SPEC>;
827    impl Mstpd6 {
828        #[doc = "Cancel the module-stop state"]
829        pub const _0: Self = Self::new(0);
830
831        #[doc = "Enter the module-stop state"]
832        pub const _1: Self = Self::new(1);
833    }
834    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
835    pub struct Mstpd14_SPEC;
836    pub type Mstpd14 = crate::EnumBitfieldStruct<u8, Mstpd14_SPEC>;
837    impl Mstpd14 {
838        #[doc = "Cancel the module-stop state"]
839        pub const _0: Self = Self::new(0);
840
841        #[doc = "Enter the module-stop state"]
842        pub const _1: Self = Self::new(1);
843    }
844    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
845    pub struct Mstpd16_SPEC;
846    pub type Mstpd16 = crate::EnumBitfieldStruct<u8, Mstpd16_SPEC>;
847    impl Mstpd16 {
848        #[doc = "Cancel the module-stop state"]
849        pub const _0: Self = Self::new(0);
850
851        #[doc = "Enter the module-stop state"]
852        pub const _1: Self = Self::new(1);
853    }
854    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
855    pub struct Mstpd29_SPEC;
856    pub type Mstpd29 = crate::EnumBitfieldStruct<u8, Mstpd29_SPEC>;
857    impl Mstpd29 {
858        #[doc = "Cancel the module-stop state"]
859        pub const _0: Self = Self::new(0);
860
861        #[doc = "Enter the module-stop state"]
862        pub const _1: Self = Self::new(1);
863    }
864}
865#[doc(hidden)]
866#[derive(Copy, Clone, Eq, PartialEq)]
867pub struct Lsmrwdis_SPEC;
868impl crate::sealed::RegSpec for Lsmrwdis_SPEC {
869    type DataType = u16;
870}
871
872#[doc = "Low Speed Module R/W Disable Control Register"]
873pub type Lsmrwdis = crate::RegValueT<Lsmrwdis_SPEC>;
874
875impl Lsmrwdis {
876    #[doc = "RTC Register R/W Enable Control"]
877    #[inline(always)]
878    pub fn rtcrwdis(
879        self,
880    ) -> crate::common::RegisterField<
881        0,
882        0x1,
883        1,
884        0,
885        lsmrwdis::Rtcrwdis,
886        lsmrwdis::Rtcrwdis,
887        Lsmrwdis_SPEC,
888        crate::common::RW,
889    > {
890        crate::common::RegisterField::<
891            0,
892            0x1,
893            1,
894            0,
895            lsmrwdis::Rtcrwdis,
896            lsmrwdis::Rtcrwdis,
897            Lsmrwdis_SPEC,
898            crate::common::RW,
899        >::from_register(self, 0)
900    }
901
902    #[doc = "WDT Operate Clock Control"]
903    #[inline(always)]
904    pub fn wdtdis(
905        self,
906    ) -> crate::common::RegisterField<
907        1,
908        0x1,
909        1,
910        0,
911        lsmrwdis::Wdtdis,
912        lsmrwdis::Wdtdis,
913        Lsmrwdis_SPEC,
914        crate::common::RW,
915    > {
916        crate::common::RegisterField::<
917            1,
918            0x1,
919            1,
920            0,
921            lsmrwdis::Wdtdis,
922            lsmrwdis::Wdtdis,
923            Lsmrwdis_SPEC,
924            crate::common::RW,
925        >::from_register(self, 0)
926    }
927
928    #[doc = "IWDT Register Clock Control"]
929    #[inline(always)]
930    pub fn iwdtids(
931        self,
932    ) -> crate::common::RegisterField<
933        2,
934        0x1,
935        1,
936        0,
937        lsmrwdis::Iwdtids,
938        lsmrwdis::Iwdtids,
939        Lsmrwdis_SPEC,
940        crate::common::RW,
941    > {
942        crate::common::RegisterField::<
943            2,
944            0x1,
945            1,
946            0,
947            lsmrwdis::Iwdtids,
948            lsmrwdis::Iwdtids,
949            Lsmrwdis_SPEC,
950            crate::common::RW,
951        >::from_register(self, 0)
952    }
953
954    #[doc = "Write Enable for bits \\[2:0\\]"]
955    #[inline(always)]
956    pub fn wren(
957        self,
958    ) -> crate::common::RegisterField<
959        7,
960        0x1,
961        1,
962        0,
963        lsmrwdis::Wren,
964        lsmrwdis::Wren,
965        Lsmrwdis_SPEC,
966        crate::common::RW,
967    > {
968        crate::common::RegisterField::<
969            7,
970            0x1,
971            1,
972            0,
973            lsmrwdis::Wren,
974            lsmrwdis::Wren,
975            Lsmrwdis_SPEC,
976            crate::common::RW,
977        >::from_register(self, 0)
978    }
979
980    #[doc = "LSMRWDIS Key Code"]
981    #[inline(always)]
982    pub fn prkey(
983        self,
984    ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, Lsmrwdis_SPEC, crate::common::W> {
985        crate::common::RegisterField::<8,0xff,1,0,u8,u8,Lsmrwdis_SPEC,crate::common::W>::from_register(self,0)
986    }
987}
988impl ::core::default::Default for Lsmrwdis {
989    #[inline(always)]
990    fn default() -> Lsmrwdis {
991        <crate::RegValueT<Lsmrwdis_SPEC> as RegisterValue<_>>::new(0)
992    }
993}
994pub mod lsmrwdis {
995
996    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
997    pub struct Rtcrwdis_SPEC;
998    pub type Rtcrwdis = crate::EnumBitfieldStruct<u8, Rtcrwdis_SPEC>;
999    impl Rtcrwdis {
1000        #[doc = "RTC register R/W clock always on"]
1001        pub const _0: Self = Self::new(0);
1002
1003        #[doc = "RTC register R/W clock stops"]
1004        pub const _1: Self = Self::new(1);
1005    }
1006    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1007    pub struct Wdtdis_SPEC;
1008    pub type Wdtdis = crate::EnumBitfieldStruct<u8, Wdtdis_SPEC>;
1009    impl Wdtdis {
1010        #[doc = "WDT operates as normal"]
1011        pub const _0: Self = Self::new(0);
1012
1013        #[doc = "Stop the WDT clock and register R/W clock"]
1014        pub const _1: Self = Self::new(1);
1015    }
1016    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1017    pub struct Iwdtids_SPEC;
1018    pub type Iwdtids = crate::EnumBitfieldStruct<u8, Iwdtids_SPEC>;
1019    impl Iwdtids {
1020        #[doc = "IWDT operates as normal"]
1021        pub const _0: Self = Self::new(0);
1022
1023        #[doc = "Stop the IWDT register R/W clock"]
1024        pub const _1: Self = Self::new(1);
1025    }
1026    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1027    pub struct Wren_SPEC;
1028    pub type Wren = crate::EnumBitfieldStruct<u8, Wren_SPEC>;
1029    impl Wren {
1030        #[doc = "Write protect for bits \\[2:0\\]"]
1031        pub const _0: Self = Self::new(0);
1032
1033        #[doc = "Write enable for bits \\[2:0\\]"]
1034        pub const _1: Self = Self::new(1);
1035    }
1036}