Skip to main content

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