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