Skip to main content

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