Skip to main content

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