Skip to main content

ra4e1_pac/
pscu.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.20.00, with svd2pac 0.6.1 on Sun, 15 Mar 2026 07:04:18 +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"Peripheral Security Control Unit"]
28unsafe impl ::core::marker::Send for super::Pscu {}
29unsafe impl ::core::marker::Sync for super::Pscu {}
30impl super::Pscu {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36
37    #[doc = "Peripheral Security Attribution Register B"]
38    #[inline(always)]
39    pub const fn psarb(&self) -> &'static crate::common::Reg<self::Psarb_SPEC, crate::common::RW> {
40        unsafe {
41            crate::common::Reg::<self::Psarb_SPEC, crate::common::RW>::from_ptr(
42                self._svd2pac_as_ptr().add(4usize),
43            )
44        }
45    }
46
47    #[doc = "Peripheral Security Attribution Register C"]
48    #[inline(always)]
49    pub const fn psarc(&self) -> &'static crate::common::Reg<self::Psarc_SPEC, crate::common::RW> {
50        unsafe {
51            crate::common::Reg::<self::Psarc_SPEC, crate::common::RW>::from_ptr(
52                self._svd2pac_as_ptr().add(8usize),
53            )
54        }
55    }
56
57    #[doc = "Peripheral Security Attribution Register D"]
58    #[inline(always)]
59    pub const fn psard(&self) -> &'static crate::common::Reg<self::Psard_SPEC, crate::common::RW> {
60        unsafe {
61            crate::common::Reg::<self::Psard_SPEC, crate::common::RW>::from_ptr(
62                self._svd2pac_as_ptr().add(12usize),
63            )
64        }
65    }
66
67    #[doc = "Peripheral Security Attribution Register E"]
68    #[inline(always)]
69    pub const fn psare(&self) -> &'static crate::common::Reg<self::Psare_SPEC, crate::common::RW> {
70        unsafe {
71            crate::common::Reg::<self::Psare_SPEC, crate::common::RW>::from_ptr(
72                self._svd2pac_as_ptr().add(16usize),
73            )
74        }
75    }
76
77    #[doc = "Module Stop Security Attribution Register"]
78    #[inline(always)]
79    pub const fn mssar(&self) -> &'static crate::common::Reg<self::Mssar_SPEC, crate::common::RW> {
80        unsafe {
81            crate::common::Reg::<self::Mssar_SPEC, crate::common::RW>::from_ptr(
82                self._svd2pac_as_ptr().add(20usize),
83            )
84        }
85    }
86
87    #[doc = "Code Flash Security Attribution Monitor Register A"]
88    #[inline(always)]
89    pub const fn cfsamona(
90        &self,
91    ) -> &'static crate::common::Reg<self::Cfsamona_SPEC, crate::common::R> {
92        unsafe {
93            crate::common::Reg::<self::Cfsamona_SPEC, crate::common::R>::from_ptr(
94                self._svd2pac_as_ptr().add(24usize),
95            )
96        }
97    }
98
99    #[doc = "Code Flash Security Attribution Monitor Register B"]
100    #[inline(always)]
101    pub const fn cfsamonb(
102        &self,
103    ) -> &'static crate::common::Reg<self::Cfsamonb_SPEC, crate::common::R> {
104        unsafe {
105            crate::common::Reg::<self::Cfsamonb_SPEC, crate::common::R>::from_ptr(
106                self._svd2pac_as_ptr().add(28usize),
107            )
108        }
109    }
110
111    #[doc = "Data Flash Security Attribution Monitor Register"]
112    #[inline(always)]
113    pub const fn dfsamon(
114        &self,
115    ) -> &'static crate::common::Reg<self::Dfsamon_SPEC, crate::common::R> {
116        unsafe {
117            crate::common::Reg::<self::Dfsamon_SPEC, crate::common::R>::from_ptr(
118                self._svd2pac_as_ptr().add(32usize),
119            )
120        }
121    }
122
123    #[doc = "SRAM Security Attribution Monitor Register A"]
124    #[inline(always)]
125    pub const fn ssamona(
126        &self,
127    ) -> &'static crate::common::Reg<self::Ssamona_SPEC, crate::common::R> {
128        unsafe {
129            crate::common::Reg::<self::Ssamona_SPEC, crate::common::R>::from_ptr(
130                self._svd2pac_as_ptr().add(36usize),
131            )
132        }
133    }
134
135    #[doc = "SRAM Security Attribution Monitor Register B"]
136    #[inline(always)]
137    pub const fn ssamonb(
138        &self,
139    ) -> &'static crate::common::Reg<self::Ssamonb_SPEC, crate::common::R> {
140        unsafe {
141            crate::common::Reg::<self::Ssamonb_SPEC, crate::common::R>::from_ptr(
142                self._svd2pac_as_ptr().add(40usize),
143            )
144        }
145    }
146
147    #[doc = "Device Lifecycle Management State Monitor Register"]
148    #[inline(always)]
149    pub const fn dlmmon(&self) -> &'static crate::common::Reg<self::Dlmmon_SPEC, crate::common::R> {
150        unsafe {
151            crate::common::Reg::<self::Dlmmon_SPEC, crate::common::R>::from_ptr(
152                self._svd2pac_as_ptr().add(44usize),
153            )
154        }
155    }
156}
157#[doc(hidden)]
158#[derive(Copy, Clone, Eq, PartialEq)]
159pub struct Psarb_SPEC;
160impl crate::sealed::RegSpec for Psarb_SPEC {
161    type DataType = u32;
162}
163
164#[doc = "Peripheral Security Attribution Register B"]
165pub type Psarb = crate::RegValueT<Psarb_SPEC>;
166
167impl Psarb {
168    #[doc = "CAN0 and the MSTPCRB.MSTPB2 bit security attribution"]
169    #[inline(always)]
170    pub fn psarb2(
171        self,
172    ) -> crate::common::RegisterField<
173        2,
174        0x1,
175        1,
176        0,
177        psarb::Psarb2,
178        psarb::Psarb2,
179        Psarb_SPEC,
180        crate::common::RW,
181    > {
182        crate::common::RegisterField::<
183            2,
184            0x1,
185            1,
186            0,
187            psarb::Psarb2,
188            psarb::Psarb2,
189            Psarb_SPEC,
190            crate::common::RW,
191        >::from_register(self, 0)
192    }
193
194    #[doc = "QSPI and the MSTPCRB.MSTPB6 bit security attribution"]
195    #[inline(always)]
196    pub fn psarb6(self) -> crate::common::RegisterFieldBool<6, 1, 0, Psarb_SPEC, crate::common::R> {
197        crate::common::RegisterFieldBool::<6, 1, 0, Psarb_SPEC, crate::common::R>::from_register(
198            self, 0,
199        )
200    }
201
202    #[doc = "IIC0 and the MSTPCRB.MSTPB9 bit security attribution"]
203    #[inline(always)]
204    pub fn psarb9(
205        self,
206    ) -> crate::common::RegisterField<
207        9,
208        0x1,
209        1,
210        0,
211        psarb::Psarb9,
212        psarb::Psarb9,
213        Psarb_SPEC,
214        crate::common::RW,
215    > {
216        crate::common::RegisterField::<
217            9,
218            0x1,
219            1,
220            0,
221            psarb::Psarb9,
222            psarb::Psarb9,
223            Psarb_SPEC,
224            crate::common::RW,
225        >::from_register(self, 0)
226    }
227
228    #[doc = "USBFS and the MSTPCRB.MSTPB11 bit security attribution"]
229    #[inline(always)]
230    pub fn psarb11(
231        self,
232    ) -> crate::common::RegisterField<
233        11,
234        0x1,
235        1,
236        0,
237        psarb::Psarb11,
238        psarb::Psarb11,
239        Psarb_SPEC,
240        crate::common::RW,
241    > {
242        crate::common::RegisterField::<
243            11,
244            0x1,
245            1,
246            0,
247            psarb::Psarb11,
248            psarb::Psarb11,
249            Psarb_SPEC,
250            crate::common::RW,
251        >::from_register(self, 0)
252    }
253
254    #[doc = "SPI0 and the MSTPCRB.MSTPB19 bit security attribution"]
255    #[inline(always)]
256    pub fn psarb19(
257        self,
258    ) -> crate::common::RegisterField<
259        19,
260        0x1,
261        1,
262        0,
263        psarb::Psarb19,
264        psarb::Psarb19,
265        Psarb_SPEC,
266        crate::common::RW,
267    > {
268        crate::common::RegisterField::<
269            19,
270            0x1,
271            1,
272            0,
273            psarb::Psarb19,
274            psarb::Psarb19,
275            Psarb_SPEC,
276            crate::common::RW,
277        >::from_register(self, 0)
278    }
279
280    #[doc = "SCI9 and the MSTPCRB.MSTPB22 bit security attribution"]
281    #[inline(always)]
282    pub fn psarb22(
283        self,
284    ) -> crate::common::RegisterField<
285        22,
286        0x1,
287        1,
288        0,
289        psarb::Psarb22,
290        psarb::Psarb22,
291        Psarb_SPEC,
292        crate::common::RW,
293    > {
294        crate::common::RegisterField::<
295            22,
296            0x1,
297            1,
298            0,
299            psarb::Psarb22,
300            psarb::Psarb22,
301            Psarb_SPEC,
302            crate::common::RW,
303        >::from_register(self, 0)
304    }
305
306    #[doc = "SCI4 and the MSTPCRB.MSTPB27 bit security attribution"]
307    #[inline(always)]
308    pub fn psarb27(
309        self,
310    ) -> crate::common::RegisterField<
311        27,
312        0x1,
313        1,
314        0,
315        psarb::Psarb27,
316        psarb::Psarb27,
317        Psarb_SPEC,
318        crate::common::RW,
319    > {
320        crate::common::RegisterField::<
321            27,
322            0x1,
323            1,
324            0,
325            psarb::Psarb27,
326            psarb::Psarb27,
327            Psarb_SPEC,
328            crate::common::RW,
329        >::from_register(self, 0)
330    }
331
332    #[doc = "SCI3 and the MSTPCRB.MSTPB28 bit security attribution"]
333    #[inline(always)]
334    pub fn psarb28(
335        self,
336    ) -> crate::common::RegisterField<
337        28,
338        0x1,
339        1,
340        0,
341        psarb::Psarb28,
342        psarb::Psarb28,
343        Psarb_SPEC,
344        crate::common::RW,
345    > {
346        crate::common::RegisterField::<
347            28,
348            0x1,
349            1,
350            0,
351            psarb::Psarb28,
352            psarb::Psarb28,
353            Psarb_SPEC,
354            crate::common::RW,
355        >::from_register(self, 0)
356    }
357
358    #[doc = "SCI2 and the MSTPCRB.MSTPB29 bit security attribution"]
359    #[inline(always)]
360    pub fn psarb29(
361        self,
362    ) -> crate::common::RegisterField<
363        29,
364        0x1,
365        1,
366        0,
367        psarb::Psarb29,
368        psarb::Psarb29,
369        Psarb_SPEC,
370        crate::common::RW,
371    > {
372        crate::common::RegisterField::<
373            29,
374            0x1,
375            1,
376            0,
377            psarb::Psarb29,
378            psarb::Psarb29,
379            Psarb_SPEC,
380            crate::common::RW,
381        >::from_register(self, 0)
382    }
383
384    #[doc = "SCI1 and the MSTPCRB.MSTPB30 bit security attribution"]
385    #[inline(always)]
386    pub fn psarb30(
387        self,
388    ) -> crate::common::RegisterField<
389        30,
390        0x1,
391        1,
392        0,
393        psarb::Psarb30,
394        psarb::Psarb30,
395        Psarb_SPEC,
396        crate::common::RW,
397    > {
398        crate::common::RegisterField::<
399            30,
400            0x1,
401            1,
402            0,
403            psarb::Psarb30,
404            psarb::Psarb30,
405            Psarb_SPEC,
406            crate::common::RW,
407        >::from_register(self, 0)
408    }
409
410    #[doc = "SCI0 and the MSTPCRB.MSTPB31 bit security attribution"]
411    #[inline(always)]
412    pub fn psarb31(
413        self,
414    ) -> crate::common::RegisterField<
415        31,
416        0x1,
417        1,
418        0,
419        psarb::Psarb31,
420        psarb::Psarb31,
421        Psarb_SPEC,
422        crate::common::RW,
423    > {
424        crate::common::RegisterField::<
425            31,
426            0x1,
427            1,
428            0,
429            psarb::Psarb31,
430            psarb::Psarb31,
431            Psarb_SPEC,
432            crate::common::RW,
433        >::from_register(self, 0)
434    }
435}
436impl ::core::default::Default for Psarb {
437    #[inline(always)]
438    fn default() -> Psarb {
439        <crate::RegValueT<Psarb_SPEC> as RegisterValue<_>>::new(4294967295)
440    }
441}
442pub mod psarb {
443
444    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
445    pub struct Psarb2_SPEC;
446    pub type Psarb2 = crate::EnumBitfieldStruct<u8, Psarb2_SPEC>;
447    impl Psarb2 {
448        #[doc = "Secure"]
449        pub const _0: Self = Self::new(0);
450
451        #[doc = "Non-secure"]
452        pub const _1: Self = Self::new(1);
453    }
454    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
455    pub struct Psarb9_SPEC;
456    pub type Psarb9 = crate::EnumBitfieldStruct<u8, Psarb9_SPEC>;
457    impl Psarb9 {
458        #[doc = "Secure"]
459        pub const _0: Self = Self::new(0);
460
461        #[doc = "Non-secure"]
462        pub const _1: Self = Self::new(1);
463    }
464    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
465    pub struct Psarb11_SPEC;
466    pub type Psarb11 = crate::EnumBitfieldStruct<u8, Psarb11_SPEC>;
467    impl Psarb11 {
468        #[doc = "Secure"]
469        pub const _0: Self = Self::new(0);
470
471        #[doc = "Non-secure"]
472        pub const _1: Self = Self::new(1);
473    }
474    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
475    pub struct Psarb19_SPEC;
476    pub type Psarb19 = crate::EnumBitfieldStruct<u8, Psarb19_SPEC>;
477    impl Psarb19 {
478        #[doc = "Secure"]
479        pub const _0: Self = Self::new(0);
480
481        #[doc = "Non-secure"]
482        pub const _1: Self = Self::new(1);
483    }
484    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
485    pub struct Psarb22_SPEC;
486    pub type Psarb22 = crate::EnumBitfieldStruct<u8, Psarb22_SPEC>;
487    impl Psarb22 {
488        #[doc = "Secure"]
489        pub const _0: Self = Self::new(0);
490
491        #[doc = "Non-secure"]
492        pub const _1: Self = Self::new(1);
493    }
494    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
495    pub struct Psarb27_SPEC;
496    pub type Psarb27 = crate::EnumBitfieldStruct<u8, Psarb27_SPEC>;
497    impl Psarb27 {
498        #[doc = "Secure"]
499        pub const _0: Self = Self::new(0);
500
501        #[doc = "Non-secure"]
502        pub const _1: Self = Self::new(1);
503    }
504    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
505    pub struct Psarb28_SPEC;
506    pub type Psarb28 = crate::EnumBitfieldStruct<u8, Psarb28_SPEC>;
507    impl Psarb28 {
508        #[doc = "Secure"]
509        pub const _0: Self = Self::new(0);
510
511        #[doc = "Non-secure"]
512        pub const _1: Self = Self::new(1);
513    }
514    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
515    pub struct Psarb29_SPEC;
516    pub type Psarb29 = crate::EnumBitfieldStruct<u8, Psarb29_SPEC>;
517    impl Psarb29 {
518        #[doc = "Secure"]
519        pub const _0: Self = Self::new(0);
520
521        #[doc = "Non-secure"]
522        pub const _1: Self = Self::new(1);
523    }
524    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
525    pub struct Psarb30_SPEC;
526    pub type Psarb30 = crate::EnumBitfieldStruct<u8, Psarb30_SPEC>;
527    impl Psarb30 {
528        #[doc = "Secure"]
529        pub const _0: Self = Self::new(0);
530
531        #[doc = "Non-secure"]
532        pub const _1: Self = Self::new(1);
533    }
534    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
535    pub struct Psarb31_SPEC;
536    pub type Psarb31 = crate::EnumBitfieldStruct<u8, Psarb31_SPEC>;
537    impl Psarb31 {
538        #[doc = "Secure"]
539        pub const _0: Self = Self::new(0);
540
541        #[doc = "Non-secure"]
542        pub const _1: Self = Self::new(1);
543    }
544}
545#[doc(hidden)]
546#[derive(Copy, Clone, Eq, PartialEq)]
547pub struct Psarc_SPEC;
548impl crate::sealed::RegSpec for Psarc_SPEC {
549    type DataType = u32;
550}
551
552#[doc = "Peripheral Security Attribution Register C"]
553pub type Psarc = crate::RegValueT<Psarc_SPEC>;
554
555impl Psarc {
556    #[doc = "CAC and the MSTPCRC.MSTPC0 bit security attribution"]
557    #[inline(always)]
558    pub fn psarc0(
559        self,
560    ) -> crate::common::RegisterField<
561        0,
562        0x1,
563        1,
564        0,
565        psarc::Psarc0,
566        psarc::Psarc0,
567        Psarc_SPEC,
568        crate::common::RW,
569    > {
570        crate::common::RegisterField::<
571            0,
572            0x1,
573            1,
574            0,
575            psarc::Psarc0,
576            psarc::Psarc0,
577            Psarc_SPEC,
578            crate::common::RW,
579        >::from_register(self, 0)
580    }
581
582    #[doc = "CRC and the MSTPCRC.MSTPC1 bit security attribution"]
583    #[inline(always)]
584    pub fn psarc1(
585        self,
586    ) -> crate::common::RegisterField<
587        1,
588        0x1,
589        1,
590        0,
591        psarc::Psarc1,
592        psarc::Psarc1,
593        Psarc_SPEC,
594        crate::common::RW,
595    > {
596        crate::common::RegisterField::<
597            1,
598            0x1,
599            1,
600            0,
601            psarc::Psarc1,
602            psarc::Psarc1,
603            Psarc_SPEC,
604            crate::common::RW,
605        >::from_register(self, 0)
606    }
607
608    #[doc = "DOC and the MSTPCRC.MSTPC13 bit security attribution"]
609    #[inline(always)]
610    pub fn psarc13(
611        self,
612    ) -> crate::common::RegisterField<
613        13,
614        0x1,
615        1,
616        0,
617        psarc::Psarc13,
618        psarc::Psarc13,
619        Psarc_SPEC,
620        crate::common::RW,
621    > {
622        crate::common::RegisterField::<
623            13,
624            0x1,
625            1,
626            0,
627            psarc::Psarc13,
628            psarc::Psarc13,
629            Psarc_SPEC,
630            crate::common::RW,
631        >::from_register(self, 0)
632    }
633
634    #[doc = "SCE9 and the MSTPCRC.MSTPC31 bit security attribution"]
635    #[inline(always)]
636    pub fn psarc31(
637        self,
638    ) -> crate::common::RegisterField<
639        31,
640        0x1,
641        1,
642        0,
643        psarc::Psarc31,
644        psarc::Psarc31,
645        Psarc_SPEC,
646        crate::common::RW,
647    > {
648        crate::common::RegisterField::<
649            31,
650            0x1,
651            1,
652            0,
653            psarc::Psarc31,
654            psarc::Psarc31,
655            Psarc_SPEC,
656            crate::common::RW,
657        >::from_register(self, 0)
658    }
659}
660impl ::core::default::Default for Psarc {
661    #[inline(always)]
662    fn default() -> Psarc {
663        <crate::RegValueT<Psarc_SPEC> as RegisterValue<_>>::new(4294967295)
664    }
665}
666pub mod psarc {
667
668    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
669    pub struct Psarc0_SPEC;
670    pub type Psarc0 = crate::EnumBitfieldStruct<u8, Psarc0_SPEC>;
671    impl Psarc0 {
672        #[doc = "Secure"]
673        pub const _0: Self = Self::new(0);
674
675        #[doc = "Non-secure"]
676        pub const _1: Self = Self::new(1);
677    }
678    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
679    pub struct Psarc1_SPEC;
680    pub type Psarc1 = crate::EnumBitfieldStruct<u8, Psarc1_SPEC>;
681    impl Psarc1 {
682        #[doc = "Secure"]
683        pub const _0: Self = Self::new(0);
684
685        #[doc = "Non-secure"]
686        pub const _1: Self = Self::new(1);
687    }
688    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
689    pub struct Psarc13_SPEC;
690    pub type Psarc13 = crate::EnumBitfieldStruct<u8, Psarc13_SPEC>;
691    impl Psarc13 {
692        #[doc = "Secure"]
693        pub const _0: Self = Self::new(0);
694
695        #[doc = "Non-secure"]
696        pub const _1: Self = Self::new(1);
697    }
698    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
699    pub struct Psarc31_SPEC;
700    pub type Psarc31 = crate::EnumBitfieldStruct<u8, Psarc31_SPEC>;
701    impl Psarc31 {
702        #[doc = "Secure"]
703        pub const _0: Self = Self::new(0);
704
705        #[doc = "Non-secure"]
706        pub const _1: Self = Self::new(1);
707    }
708}
709#[doc(hidden)]
710#[derive(Copy, Clone, Eq, PartialEq)]
711pub struct Psard_SPEC;
712impl crate::sealed::RegSpec for Psard_SPEC {
713    type DataType = u32;
714}
715
716#[doc = "Peripheral Security Attribution Register D"]
717pub type Psard = crate::RegValueT<Psard_SPEC>;
718
719impl Psard {
720    #[doc = "AGT3 and the MSTPCRD.MSTPD0 bit security attribution"]
721    #[inline(always)]
722    pub fn psard0(
723        self,
724    ) -> crate::common::RegisterField<
725        0,
726        0x1,
727        1,
728        0,
729        psard::Psard0,
730        psard::Psard0,
731        Psard_SPEC,
732        crate::common::RW,
733    > {
734        crate::common::RegisterField::<
735            0,
736            0x1,
737            1,
738            0,
739            psard::Psard0,
740            psard::Psard0,
741            Psard_SPEC,
742            crate::common::RW,
743        >::from_register(self, 0)
744    }
745
746    #[doc = "AGT2 and the MSTPCRD.MSTPD1 bit security attribution"]
747    #[inline(always)]
748    pub fn psard1(
749        self,
750    ) -> crate::common::RegisterField<
751        1,
752        0x1,
753        1,
754        0,
755        psard::Psard1,
756        psard::Psard1,
757        Psard_SPEC,
758        crate::common::RW,
759    > {
760        crate::common::RegisterField::<
761            1,
762            0x1,
763            1,
764            0,
765            psard::Psard1,
766            psard::Psard1,
767            Psard_SPEC,
768            crate::common::RW,
769        >::from_register(self, 0)
770    }
771
772    #[doc = "AGT1 and the MSTPCRD.MSTPD2 bit security attribution"]
773    #[inline(always)]
774    pub fn psard2(
775        self,
776    ) -> crate::common::RegisterField<
777        2,
778        0x1,
779        1,
780        0,
781        psard::Psard2,
782        psard::Psard2,
783        Psard_SPEC,
784        crate::common::RW,
785    > {
786        crate::common::RegisterField::<
787            2,
788            0x1,
789            1,
790            0,
791            psard::Psard2,
792            psard::Psard2,
793            Psard_SPEC,
794            crate::common::RW,
795        >::from_register(self, 0)
796    }
797
798    #[doc = "AGT0 and the MSTPCRD.MSTPD3 bit security attribution"]
799    #[inline(always)]
800    pub fn psard3(
801        self,
802    ) -> crate::common::RegisterField<
803        3,
804        0x1,
805        1,
806        0,
807        psard::Psard3,
808        psard::Psard3,
809        Psard_SPEC,
810        crate::common::RW,
811    > {
812        crate::common::RegisterField::<
813            3,
814            0x1,
815            1,
816            0,
817            psard::Psard3,
818            psard::Psard3,
819            Psard_SPEC,
820            crate::common::RW,
821        >::from_register(self, 0)
822    }
823
824    #[doc = "POEG Group D and the MSTPCRD.MSTPD11 bit security attribution"]
825    #[inline(always)]
826    pub fn psard11(
827        self,
828    ) -> crate::common::RegisterField<
829        11,
830        0x1,
831        1,
832        0,
833        psard::Psard11,
834        psard::Psard11,
835        Psard_SPEC,
836        crate::common::RW,
837    > {
838        crate::common::RegisterField::<
839            11,
840            0x1,
841            1,
842            0,
843            psard::Psard11,
844            psard::Psard11,
845            Psard_SPEC,
846            crate::common::RW,
847        >::from_register(self, 0)
848    }
849
850    #[doc = "POEG Group C and the MSTPCRD.MSTPD12 bit security attribution"]
851    #[inline(always)]
852    pub fn psard12(
853        self,
854    ) -> crate::common::RegisterField<
855        12,
856        0x1,
857        1,
858        0,
859        psard::Psard12,
860        psard::Psard12,
861        Psard_SPEC,
862        crate::common::RW,
863    > {
864        crate::common::RegisterField::<
865            12,
866            0x1,
867            1,
868            0,
869            psard::Psard12,
870            psard::Psard12,
871            Psard_SPEC,
872            crate::common::RW,
873        >::from_register(self, 0)
874    }
875
876    #[doc = "POEG Group B and the MSTPCRD.MSTPD13 bit security attribution"]
877    #[inline(always)]
878    pub fn psard13(
879        self,
880    ) -> crate::common::RegisterField<
881        13,
882        0x1,
883        1,
884        0,
885        psard::Psard13,
886        psard::Psard13,
887        Psard_SPEC,
888        crate::common::RW,
889    > {
890        crate::common::RegisterField::<
891            13,
892            0x1,
893            1,
894            0,
895            psard::Psard13,
896            psard::Psard13,
897            Psard_SPEC,
898            crate::common::RW,
899        >::from_register(self, 0)
900    }
901
902    #[doc = "POEG Group A and the MSTPCRD.MSTPD14 bit security attribution"]
903    #[inline(always)]
904    pub fn psard14(
905        self,
906    ) -> crate::common::RegisterField<
907        14,
908        0x1,
909        1,
910        0,
911        psard::Psard14,
912        psard::Psard14,
913        Psard_SPEC,
914        crate::common::RW,
915    > {
916        crate::common::RegisterField::<
917            14,
918            0x1,
919            1,
920            0,
921            psard::Psard14,
922            psard::Psard14,
923            Psard_SPEC,
924            crate::common::RW,
925        >::from_register(self, 0)
926    }
927
928    #[doc = "ADC120 and the MSTPCRD.MSTPD16 bit security attribution"]
929    #[inline(always)]
930    pub fn psard16(
931        self,
932    ) -> crate::common::RegisterField<
933        16,
934        0x1,
935        1,
936        0,
937        psard::Psard16,
938        psard::Psard16,
939        Psard_SPEC,
940        crate::common::RW,
941    > {
942        crate::common::RegisterField::<
943            16,
944            0x1,
945            1,
946            0,
947            psard::Psard16,
948            psard::Psard16,
949            Psard_SPEC,
950            crate::common::RW,
951        >::from_register(self, 0)
952    }
953
954    #[doc = "DAC12 and the MSTPCRD.MSTPD20 bit security attribution"]
955    #[inline(always)]
956    pub fn psard20(
957        self,
958    ) -> crate::common::RegisterField<
959        20,
960        0x1,
961        1,
962        0,
963        psard::Psard20,
964        psard::Psard20,
965        Psard_SPEC,
966        crate::common::RW,
967    > {
968        crate::common::RegisterField::<
969            20,
970            0x1,
971            1,
972            0,
973            psard::Psard20,
974            psard::Psard20,
975            Psard_SPEC,
976            crate::common::RW,
977        >::from_register(self, 0)
978    }
979}
980impl ::core::default::Default for Psard {
981    #[inline(always)]
982    fn default() -> Psard {
983        <crate::RegValueT<Psard_SPEC> as RegisterValue<_>>::new(4294967295)
984    }
985}
986pub mod psard {
987
988    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
989    pub struct Psard0_SPEC;
990    pub type Psard0 = crate::EnumBitfieldStruct<u8, Psard0_SPEC>;
991    impl Psard0 {
992        #[doc = "Secure"]
993        pub const _0: Self = Self::new(0);
994
995        #[doc = "Non-secure"]
996        pub const _1: Self = Self::new(1);
997    }
998    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
999    pub struct Psard1_SPEC;
1000    pub type Psard1 = crate::EnumBitfieldStruct<u8, Psard1_SPEC>;
1001    impl Psard1 {
1002        #[doc = "Secure"]
1003        pub const _0: Self = Self::new(0);
1004
1005        #[doc = "Non-secure"]
1006        pub const _1: Self = Self::new(1);
1007    }
1008    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1009    pub struct Psard2_SPEC;
1010    pub type Psard2 = crate::EnumBitfieldStruct<u8, Psard2_SPEC>;
1011    impl Psard2 {
1012        #[doc = "Secure"]
1013        pub const _0: Self = Self::new(0);
1014
1015        #[doc = "Non-secure"]
1016        pub const _1: Self = Self::new(1);
1017    }
1018    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1019    pub struct Psard3_SPEC;
1020    pub type Psard3 = crate::EnumBitfieldStruct<u8, Psard3_SPEC>;
1021    impl Psard3 {
1022        #[doc = "Secure"]
1023        pub const _0: Self = Self::new(0);
1024
1025        #[doc = "Non-secure"]
1026        pub const _1: Self = Self::new(1);
1027    }
1028    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1029    pub struct Psard11_SPEC;
1030    pub type Psard11 = crate::EnumBitfieldStruct<u8, Psard11_SPEC>;
1031    impl Psard11 {
1032        #[doc = "Secure"]
1033        pub const _0: Self = Self::new(0);
1034
1035        #[doc = "Non-secure"]
1036        pub const _1: Self = Self::new(1);
1037    }
1038    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1039    pub struct Psard12_SPEC;
1040    pub type Psard12 = crate::EnumBitfieldStruct<u8, Psard12_SPEC>;
1041    impl Psard12 {
1042        #[doc = "Secure"]
1043        pub const _0: Self = Self::new(0);
1044
1045        #[doc = "Non-secure"]
1046        pub const _1: Self = Self::new(1);
1047    }
1048    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1049    pub struct Psard13_SPEC;
1050    pub type Psard13 = crate::EnumBitfieldStruct<u8, Psard13_SPEC>;
1051    impl Psard13 {
1052        #[doc = "Secure"]
1053        pub const _0: Self = Self::new(0);
1054
1055        #[doc = "Non-secure"]
1056        pub const _1: Self = Self::new(1);
1057    }
1058    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1059    pub struct Psard14_SPEC;
1060    pub type Psard14 = crate::EnumBitfieldStruct<u8, Psard14_SPEC>;
1061    impl Psard14 {
1062        #[doc = "Secure"]
1063        pub const _0: Self = Self::new(0);
1064
1065        #[doc = "Non-secure"]
1066        pub const _1: Self = Self::new(1);
1067    }
1068    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1069    pub struct Psard16_SPEC;
1070    pub type Psard16 = crate::EnumBitfieldStruct<u8, Psard16_SPEC>;
1071    impl Psard16 {
1072        #[doc = "Secure"]
1073        pub const _0: Self = Self::new(0);
1074
1075        #[doc = "Non-secure"]
1076        pub const _1: Self = Self::new(1);
1077    }
1078    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1079    pub struct Psard20_SPEC;
1080    pub type Psard20 = crate::EnumBitfieldStruct<u8, Psard20_SPEC>;
1081    impl Psard20 {
1082        #[doc = "Secure"]
1083        pub const _0: Self = Self::new(0);
1084
1085        #[doc = "Non-secure"]
1086        pub const _1: Self = Self::new(1);
1087    }
1088}
1089#[doc(hidden)]
1090#[derive(Copy, Clone, Eq, PartialEq)]
1091pub struct Psare_SPEC;
1092impl crate::sealed::RegSpec for Psare_SPEC {
1093    type DataType = u32;
1094}
1095
1096#[doc = "Peripheral Security Attribution Register E"]
1097pub type Psare = crate::RegValueT<Psare_SPEC>;
1098
1099impl Psare {
1100    #[doc = "WDT security attribution"]
1101    #[inline(always)]
1102    pub fn psare0(
1103        self,
1104    ) -> crate::common::RegisterField<
1105        0,
1106        0x1,
1107        1,
1108        0,
1109        psare::Psare0,
1110        psare::Psare0,
1111        Psare_SPEC,
1112        crate::common::RW,
1113    > {
1114        crate::common::RegisterField::<
1115            0,
1116            0x1,
1117            1,
1118            0,
1119            psare::Psare0,
1120            psare::Psare0,
1121            Psare_SPEC,
1122            crate::common::RW,
1123        >::from_register(self, 0)
1124    }
1125
1126    #[doc = "IWDT security attribution"]
1127    #[inline(always)]
1128    pub fn psare1(
1129        self,
1130    ) -> crate::common::RegisterField<
1131        1,
1132        0x1,
1133        1,
1134        0,
1135        psare::Psare1,
1136        psare::Psare1,
1137        Psare_SPEC,
1138        crate::common::RW,
1139    > {
1140        crate::common::RegisterField::<
1141            1,
1142            0x1,
1143            1,
1144            0,
1145            psare::Psare1,
1146            psare::Psare1,
1147            Psare_SPEC,
1148            crate::common::RW,
1149        >::from_register(self, 0)
1150    }
1151
1152    #[doc = "RTC security attribution"]
1153    #[inline(always)]
1154    pub fn psare2(
1155        self,
1156    ) -> crate::common::RegisterField<
1157        2,
1158        0x1,
1159        1,
1160        0,
1161        psare::Psare2,
1162        psare::Psare2,
1163        Psare_SPEC,
1164        crate::common::RW,
1165    > {
1166        crate::common::RegisterField::<
1167            2,
1168            0x1,
1169            1,
1170            0,
1171            psare::Psare2,
1172            psare::Psare2,
1173            Psare_SPEC,
1174            crate::common::RW,
1175        >::from_register(self, 0)
1176    }
1177
1178    #[doc = "AGT5 and the MSTPCRE.MSTPE14 bit security attribution"]
1179    #[inline(always)]
1180    pub fn psare14(
1181        self,
1182    ) -> crate::common::RegisterField<
1183        14,
1184        0x1,
1185        1,
1186        0,
1187        psare::Psare14,
1188        psare::Psare14,
1189        Psare_SPEC,
1190        crate::common::RW,
1191    > {
1192        crate::common::RegisterField::<
1193            14,
1194            0x1,
1195            1,
1196            0,
1197            psare::Psare14,
1198            psare::Psare14,
1199            Psare_SPEC,
1200            crate::common::RW,
1201        >::from_register(self, 0)
1202    }
1203
1204    #[doc = "AGT4 and the MSTPCRE.MSTPE15 bit security attribution"]
1205    #[inline(always)]
1206    pub fn psare15(
1207        self,
1208    ) -> crate::common::RegisterField<
1209        15,
1210        0x1,
1211        1,
1212        0,
1213        psare::Psare15,
1214        psare::Psare15,
1215        Psare_SPEC,
1216        crate::common::RW,
1217    > {
1218        crate::common::RegisterField::<
1219            15,
1220            0x1,
1221            1,
1222            0,
1223            psare::Psare15,
1224            psare::Psare15,
1225            Psare_SPEC,
1226            crate::common::RW,
1227        >::from_register(self, 0)
1228    }
1229
1230    #[doc = "GPT5 and the MSTPCRE.MSTPE26 bit security attribution"]
1231    #[inline(always)]
1232    pub fn psare26(
1233        self,
1234    ) -> crate::common::RegisterField<
1235        26,
1236        0x1,
1237        1,
1238        0,
1239        psare::Psare26,
1240        psare::Psare26,
1241        Psare_SPEC,
1242        crate::common::RW,
1243    > {
1244        crate::common::RegisterField::<
1245            26,
1246            0x1,
1247            1,
1248            0,
1249            psare::Psare26,
1250            psare::Psare26,
1251            Psare_SPEC,
1252            crate::common::RW,
1253        >::from_register(self, 0)
1254    }
1255
1256    #[doc = "GPT4 and the MSTPCRE.MSTPE27 bit security attribution"]
1257    #[inline(always)]
1258    pub fn psare27(
1259        self,
1260    ) -> crate::common::RegisterField<
1261        27,
1262        0x1,
1263        1,
1264        0,
1265        psare::Psare27,
1266        psare::Psare27,
1267        Psare_SPEC,
1268        crate::common::RW,
1269    > {
1270        crate::common::RegisterField::<
1271            27,
1272            0x1,
1273            1,
1274            0,
1275            psare::Psare27,
1276            psare::Psare27,
1277            Psare_SPEC,
1278            crate::common::RW,
1279        >::from_register(self, 0)
1280    }
1281
1282    #[doc = "GPT2 and the MSTPCRE.MSTPE29 bit security attribution"]
1283    #[inline(always)]
1284    pub fn psare29(
1285        self,
1286    ) -> crate::common::RegisterField<
1287        29,
1288        0x1,
1289        1,
1290        0,
1291        psare::Psare29,
1292        psare::Psare29,
1293        Psare_SPEC,
1294        crate::common::RW,
1295    > {
1296        crate::common::RegisterField::<
1297            29,
1298            0x1,
1299            1,
1300            0,
1301            psare::Psare29,
1302            psare::Psare29,
1303            Psare_SPEC,
1304            crate::common::RW,
1305        >::from_register(self, 0)
1306    }
1307
1308    #[doc = "GPT1 and the MSTPCRE.MSTPE30 bit security attribution"]
1309    #[inline(always)]
1310    pub fn psare30(
1311        self,
1312    ) -> crate::common::RegisterField<
1313        30,
1314        0x1,
1315        1,
1316        0,
1317        psare::Psare30,
1318        psare::Psare30,
1319        Psare_SPEC,
1320        crate::common::RW,
1321    > {
1322        crate::common::RegisterField::<
1323            30,
1324            0x1,
1325            1,
1326            0,
1327            psare::Psare30,
1328            psare::Psare30,
1329            Psare_SPEC,
1330            crate::common::RW,
1331        >::from_register(self, 0)
1332    }
1333}
1334impl ::core::default::Default for Psare {
1335    #[inline(always)]
1336    fn default() -> Psare {
1337        <crate::RegValueT<Psare_SPEC> as RegisterValue<_>>::new(4294967295)
1338    }
1339}
1340pub mod psare {
1341
1342    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1343    pub struct Psare0_SPEC;
1344    pub type Psare0 = crate::EnumBitfieldStruct<u8, Psare0_SPEC>;
1345    impl Psare0 {
1346        #[doc = "Secure"]
1347        pub const _0: Self = Self::new(0);
1348
1349        #[doc = "Non-secure"]
1350        pub const _1: Self = Self::new(1);
1351    }
1352    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1353    pub struct Psare1_SPEC;
1354    pub type Psare1 = crate::EnumBitfieldStruct<u8, Psare1_SPEC>;
1355    impl Psare1 {
1356        #[doc = "Secure"]
1357        pub const _0: Self = Self::new(0);
1358
1359        #[doc = "Non-secure"]
1360        pub const _1: Self = Self::new(1);
1361    }
1362    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1363    pub struct Psare2_SPEC;
1364    pub type Psare2 = crate::EnumBitfieldStruct<u8, Psare2_SPEC>;
1365    impl Psare2 {
1366        #[doc = "Secure"]
1367        pub const _0: Self = Self::new(0);
1368
1369        #[doc = "Non-secure"]
1370        pub const _1: Self = Self::new(1);
1371    }
1372    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1373    pub struct Psare14_SPEC;
1374    pub type Psare14 = crate::EnumBitfieldStruct<u8, Psare14_SPEC>;
1375    impl Psare14 {
1376        #[doc = "Secure"]
1377        pub const _0: Self = Self::new(0);
1378
1379        #[doc = "Non-secure"]
1380        pub const _1: Self = Self::new(1);
1381    }
1382    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1383    pub struct Psare15_SPEC;
1384    pub type Psare15 = crate::EnumBitfieldStruct<u8, Psare15_SPEC>;
1385    impl Psare15 {
1386        #[doc = "Secure"]
1387        pub const _0: Self = Self::new(0);
1388
1389        #[doc = "Non-secure"]
1390        pub const _1: Self = Self::new(1);
1391    }
1392    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1393    pub struct Psare26_SPEC;
1394    pub type Psare26 = crate::EnumBitfieldStruct<u8, Psare26_SPEC>;
1395    impl Psare26 {
1396        #[doc = "Secure"]
1397        pub const _0: Self = Self::new(0);
1398
1399        #[doc = "Non-secure"]
1400        pub const _1: Self = Self::new(1);
1401    }
1402    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1403    pub struct Psare27_SPEC;
1404    pub type Psare27 = crate::EnumBitfieldStruct<u8, Psare27_SPEC>;
1405    impl Psare27 {
1406        #[doc = "Secure"]
1407        pub const _0: Self = Self::new(0);
1408
1409        #[doc = "Non-secure"]
1410        pub const _1: Self = Self::new(1);
1411    }
1412    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1413    pub struct Psare29_SPEC;
1414    pub type Psare29 = crate::EnumBitfieldStruct<u8, Psare29_SPEC>;
1415    impl Psare29 {
1416        #[doc = "Secure"]
1417        pub const _0: Self = Self::new(0);
1418
1419        #[doc = "Non-secure"]
1420        pub const _1: Self = Self::new(1);
1421    }
1422    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1423    pub struct Psare30_SPEC;
1424    pub type Psare30 = crate::EnumBitfieldStruct<u8, Psare30_SPEC>;
1425    impl Psare30 {
1426        #[doc = "Secure"]
1427        pub const _0: Self = Self::new(0);
1428
1429        #[doc = "Non-secure"]
1430        pub const _1: Self = Self::new(1);
1431    }
1432}
1433#[doc(hidden)]
1434#[derive(Copy, Clone, Eq, PartialEq)]
1435pub struct Mssar_SPEC;
1436impl crate::sealed::RegSpec for Mssar_SPEC {
1437    type DataType = u32;
1438}
1439
1440#[doc = "Module Stop Security Attribution Register"]
1441pub type Mssar = crate::RegValueT<Mssar_SPEC>;
1442
1443impl Mssar {
1444    #[doc = "The MSTPCRC.MSTPC14 bit security attribution"]
1445    #[inline(always)]
1446    pub fn mssar0(
1447        self,
1448    ) -> crate::common::RegisterField<
1449        0,
1450        0x1,
1451        1,
1452        0,
1453        mssar::Mssar0,
1454        mssar::Mssar0,
1455        Mssar_SPEC,
1456        crate::common::RW,
1457    > {
1458        crate::common::RegisterField::<
1459            0,
1460            0x1,
1461            1,
1462            0,
1463            mssar::Mssar0,
1464            mssar::Mssar0,
1465            Mssar_SPEC,
1466            crate::common::RW,
1467        >::from_register(self, 0)
1468    }
1469
1470    #[doc = "The MSTPCRA.MSTPA22 bit security attribution"]
1471    #[inline(always)]
1472    pub fn mssar1(
1473        self,
1474    ) -> crate::common::RegisterField<
1475        1,
1476        0x1,
1477        1,
1478        0,
1479        mssar::Mssar1,
1480        mssar::Mssar1,
1481        Mssar_SPEC,
1482        crate::common::RW,
1483    > {
1484        crate::common::RegisterField::<
1485            1,
1486            0x1,
1487            1,
1488            0,
1489            mssar::Mssar1,
1490            mssar::Mssar1,
1491            Mssar_SPEC,
1492            crate::common::RW,
1493        >::from_register(self, 0)
1494    }
1495
1496    #[doc = "The MSTPCRA.MSTPA7 bit security attribution"]
1497    #[inline(always)]
1498    pub fn mssar2(
1499        self,
1500    ) -> crate::common::RegisterField<
1501        2,
1502        0x1,
1503        1,
1504        0,
1505        mssar::Mssar2,
1506        mssar::Mssar2,
1507        Mssar_SPEC,
1508        crate::common::RW,
1509    > {
1510        crate::common::RegisterField::<
1511            2,
1512            0x1,
1513            1,
1514            0,
1515            mssar::Mssar2,
1516            mssar::Mssar2,
1517            Mssar_SPEC,
1518            crate::common::RW,
1519        >::from_register(self, 0)
1520    }
1521
1522    #[doc = "The MSTPCRA.MSTPA0 bit security attribution"]
1523    #[inline(always)]
1524    pub fn mssar3(
1525        self,
1526    ) -> crate::common::RegisterField<
1527        3,
1528        0x1,
1529        1,
1530        0,
1531        mssar::Mssar3,
1532        mssar::Mssar3,
1533        Mssar_SPEC,
1534        crate::common::RW,
1535    > {
1536        crate::common::RegisterField::<
1537            3,
1538            0x1,
1539            1,
1540            0,
1541            mssar::Mssar3,
1542            mssar::Mssar3,
1543            Mssar_SPEC,
1544            crate::common::RW,
1545        >::from_register(self, 0)
1546    }
1547}
1548impl ::core::default::Default for Mssar {
1549    #[inline(always)]
1550    fn default() -> Mssar {
1551        <crate::RegValueT<Mssar_SPEC> as RegisterValue<_>>::new(4294967295)
1552    }
1553}
1554pub mod mssar {
1555
1556    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1557    pub struct Mssar0_SPEC;
1558    pub type Mssar0 = crate::EnumBitfieldStruct<u8, Mssar0_SPEC>;
1559    impl Mssar0 {
1560        #[doc = "Secure"]
1561        pub const _0: Self = Self::new(0);
1562
1563        #[doc = "Non-secure"]
1564        pub const _1: Self = Self::new(1);
1565    }
1566    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1567    pub struct Mssar1_SPEC;
1568    pub type Mssar1 = crate::EnumBitfieldStruct<u8, Mssar1_SPEC>;
1569    impl Mssar1 {
1570        #[doc = "Secure"]
1571        pub const _0: Self = Self::new(0);
1572
1573        #[doc = "Non-secure"]
1574        pub const _1: Self = Self::new(1);
1575    }
1576    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1577    pub struct Mssar2_SPEC;
1578    pub type Mssar2 = crate::EnumBitfieldStruct<u8, Mssar2_SPEC>;
1579    impl Mssar2 {
1580        #[doc = "Secure"]
1581        pub const _0: Self = Self::new(0);
1582
1583        #[doc = "Non-secure"]
1584        pub const _1: Self = Self::new(1);
1585    }
1586    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1587    pub struct Mssar3_SPEC;
1588    pub type Mssar3 = crate::EnumBitfieldStruct<u8, Mssar3_SPEC>;
1589    impl Mssar3 {
1590        #[doc = "Secure"]
1591        pub const _0: Self = Self::new(0);
1592
1593        #[doc = "Non-secure"]
1594        pub const _1: Self = Self::new(1);
1595    }
1596}
1597#[doc(hidden)]
1598#[derive(Copy, Clone, Eq, PartialEq)]
1599pub struct Cfsamona_SPEC;
1600impl crate::sealed::RegSpec for Cfsamona_SPEC {
1601    type DataType = u32;
1602}
1603
1604#[doc = "Code Flash Security Attribution Monitor Register A"]
1605pub type Cfsamona = crate::RegValueT<Cfsamona_SPEC>;
1606
1607impl Cfsamona {
1608    #[doc = "Code Flash Secure area 2"]
1609    #[inline(always)]
1610    pub fn cfs2(
1611        self,
1612    ) -> crate::common::RegisterField<15, 0x1ff, 1, 0, u16, u16, Cfsamona_SPEC, crate::common::R>
1613    {
1614        crate::common::RegisterField::<15,0x1ff,1,0,u16,u16,Cfsamona_SPEC,crate::common::R>::from_register(self,0)
1615    }
1616}
1617impl ::core::default::Default for Cfsamona {
1618    #[inline(always)]
1619    fn default() -> Cfsamona {
1620        <crate::RegValueT<Cfsamona_SPEC> as RegisterValue<_>>::new(0)
1621    }
1622}
1623
1624#[doc(hidden)]
1625#[derive(Copy, Clone, Eq, PartialEq)]
1626pub struct Cfsamonb_SPEC;
1627impl crate::sealed::RegSpec for Cfsamonb_SPEC {
1628    type DataType = u32;
1629}
1630
1631#[doc = "Code Flash Security Attribution Monitor Register B"]
1632pub type Cfsamonb = crate::RegValueT<Cfsamonb_SPEC>;
1633
1634impl Cfsamonb {
1635    #[doc = "Code Flash Secure area 1"]
1636    #[inline(always)]
1637    pub fn cfs1(
1638        self,
1639    ) -> crate::common::RegisterField<10, 0x3fff, 1, 0, u16, u16, Cfsamonb_SPEC, crate::common::R>
1640    {
1641        crate::common::RegisterField::<10,0x3fff,1,0,u16,u16,Cfsamonb_SPEC,crate::common::R>::from_register(self,0)
1642    }
1643}
1644impl ::core::default::Default for Cfsamonb {
1645    #[inline(always)]
1646    fn default() -> Cfsamonb {
1647        <crate::RegValueT<Cfsamonb_SPEC> as RegisterValue<_>>::new(0)
1648    }
1649}
1650
1651#[doc(hidden)]
1652#[derive(Copy, Clone, Eq, PartialEq)]
1653pub struct Dfsamon_SPEC;
1654impl crate::sealed::RegSpec for Dfsamon_SPEC {
1655    type DataType = u32;
1656}
1657
1658#[doc = "Data Flash Security Attribution Monitor Register"]
1659pub type Dfsamon = crate::RegValueT<Dfsamon_SPEC>;
1660
1661impl Dfsamon {
1662    #[doc = "Data flash Secure area"]
1663    #[inline(always)]
1664    pub fn dfs(
1665        self,
1666    ) -> crate::common::RegisterField<10, 0x3f, 1, 0, u8, u8, Dfsamon_SPEC, crate::common::R> {
1667        crate::common::RegisterField::<10,0x3f,1,0,u8,u8,Dfsamon_SPEC,crate::common::R>::from_register(self,0)
1668    }
1669}
1670impl ::core::default::Default for Dfsamon {
1671    #[inline(always)]
1672    fn default() -> Dfsamon {
1673        <crate::RegValueT<Dfsamon_SPEC> as RegisterValue<_>>::new(0)
1674    }
1675}
1676
1677#[doc(hidden)]
1678#[derive(Copy, Clone, Eq, PartialEq)]
1679pub struct Ssamona_SPEC;
1680impl crate::sealed::RegSpec for Ssamona_SPEC {
1681    type DataType = u32;
1682}
1683
1684#[doc = "SRAM Security Attribution Monitor Register A"]
1685pub type Ssamona = crate::RegValueT<Ssamona_SPEC>;
1686
1687impl Ssamona {
1688    #[doc = "SRAM Secure area 2"]
1689    #[inline(always)]
1690    pub fn ss2(
1691        self,
1692    ) -> crate::common::RegisterField<13, 0xff, 1, 0, u8, u8, Ssamona_SPEC, crate::common::R> {
1693        crate::common::RegisterField::<13,0xff,1,0,u8,u8,Ssamona_SPEC,crate::common::R>::from_register(self,0)
1694    }
1695}
1696impl ::core::default::Default for Ssamona {
1697    #[inline(always)]
1698    fn default() -> Ssamona {
1699        <crate::RegValueT<Ssamona_SPEC> as RegisterValue<_>>::new(0)
1700    }
1701}
1702
1703#[doc(hidden)]
1704#[derive(Copy, Clone, Eq, PartialEq)]
1705pub struct Ssamonb_SPEC;
1706impl crate::sealed::RegSpec for Ssamonb_SPEC {
1707    type DataType = u32;
1708}
1709
1710#[doc = "SRAM Security Attribution Monitor Register B"]
1711pub type Ssamonb = crate::RegValueT<Ssamonb_SPEC>;
1712
1713impl Ssamonb {
1714    #[doc = "SRAM secure area 1"]
1715    #[inline(always)]
1716    pub fn ss1(
1717        self,
1718    ) -> crate::common::RegisterField<10, 0x7ff, 1, 0, u16, u16, Ssamonb_SPEC, crate::common::R>
1719    {
1720        crate::common::RegisterField::<10,0x7ff,1,0,u16,u16,Ssamonb_SPEC,crate::common::R>::from_register(self,0)
1721    }
1722}
1723impl ::core::default::Default for Ssamonb {
1724    #[inline(always)]
1725    fn default() -> Ssamonb {
1726        <crate::RegValueT<Ssamonb_SPEC> as RegisterValue<_>>::new(0)
1727    }
1728}
1729
1730#[doc(hidden)]
1731#[derive(Copy, Clone, Eq, PartialEq)]
1732pub struct Dlmmon_SPEC;
1733impl crate::sealed::RegSpec for Dlmmon_SPEC {
1734    type DataType = u32;
1735}
1736
1737#[doc = "Device Lifecycle Management State Monitor Register"]
1738pub type Dlmmon = crate::RegValueT<Dlmmon_SPEC>;
1739
1740impl Dlmmon {
1741    #[doc = "Device Lifecycle Management State Monitor"]
1742    #[inline(always)]
1743    pub fn dlmmon(
1744        self,
1745    ) -> crate::common::RegisterField<
1746        0,
1747        0xf,
1748        1,
1749        0,
1750        dlmmon::Dlmmon,
1751        dlmmon::Dlmmon,
1752        Dlmmon_SPEC,
1753        crate::common::R,
1754    > {
1755        crate::common::RegisterField::<
1756            0,
1757            0xf,
1758            1,
1759            0,
1760            dlmmon::Dlmmon,
1761            dlmmon::Dlmmon,
1762            Dlmmon_SPEC,
1763            crate::common::R,
1764        >::from_register(self, 0)
1765    }
1766}
1767impl ::core::default::Default for Dlmmon {
1768    #[inline(always)]
1769    fn default() -> Dlmmon {
1770        <crate::RegValueT<Dlmmon_SPEC> as RegisterValue<_>>::new(0)
1771    }
1772}
1773pub mod dlmmon {
1774
1775    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1776    pub struct Dlmmon_SPEC;
1777    pub type Dlmmon = crate::EnumBitfieldStruct<u8, Dlmmon_SPEC>;
1778    impl Dlmmon {
1779        #[doc = "CM"]
1780        pub const _0_X_1: Self = Self::new(1);
1781
1782        #[doc = "SSD"]
1783        pub const _0_X_2: Self = Self::new(2);
1784
1785        #[doc = "NSECSD"]
1786        pub const _0_X_3: Self = Self::new(3);
1787
1788        #[doc = "DPL"]
1789        pub const _0_X_4: Self = Self::new(4);
1790
1791        #[doc = "LCK_DBG"]
1792        pub const _0_X_5: Self = Self::new(5);
1793
1794        #[doc = "LCK_BOOT"]
1795        pub const _0_X_6: Self = Self::new(6);
1796
1797        #[doc = "RMA_REQ"]
1798        pub const _0_X_7: Self = Self::new(7);
1799
1800        #[doc = "RMA_ACK"]
1801        pub const _0_X_8: Self = Self::new(8);
1802    }
1803}