ra4e2_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.4.0 on Sat, 12 Apr 2025 22:15:35 +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    #[doc = "Peripheral Security Attribution Register B"]
37    #[inline(always)]
38    pub const fn psarb(&self) -> &'static crate::common::Reg<self::Psarb_SPEC, crate::common::RW> {
39        unsafe {
40            crate::common::Reg::<self::Psarb_SPEC, crate::common::RW>::from_ptr(
41                self._svd2pac_as_ptr().add(4usize),
42            )
43        }
44    }
45
46    #[doc = "Peripheral Security Attribution Register C"]
47    #[inline(always)]
48    pub const fn psarc(&self) -> &'static crate::common::Reg<self::Psarc_SPEC, crate::common::RW> {
49        unsafe {
50            crate::common::Reg::<self::Psarc_SPEC, crate::common::RW>::from_ptr(
51                self._svd2pac_as_ptr().add(8usize),
52            )
53        }
54    }
55
56    #[doc = "Peripheral Security Attribution Register D"]
57    #[inline(always)]
58    pub const fn psard(&self) -> &'static crate::common::Reg<self::Psard_SPEC, crate::common::RW> {
59        unsafe {
60            crate::common::Reg::<self::Psard_SPEC, crate::common::RW>::from_ptr(
61                self._svd2pac_as_ptr().add(12usize),
62            )
63        }
64    }
65
66    #[doc = "Peripheral Security Attribution Register E"]
67    #[inline(always)]
68    pub const fn psare(&self) -> &'static crate::common::Reg<self::Psare_SPEC, crate::common::RW> {
69        unsafe {
70            crate::common::Reg::<self::Psare_SPEC, crate::common::RW>::from_ptr(
71                self._svd2pac_as_ptr().add(16usize),
72            )
73        }
74    }
75
76    #[doc = "Module Stop Security Attribution Register"]
77    #[inline(always)]
78    pub const fn mssar(&self) -> &'static crate::common::Reg<self::Mssar_SPEC, crate::common::RW> {
79        unsafe {
80            crate::common::Reg::<self::Mssar_SPEC, crate::common::RW>::from_ptr(
81                self._svd2pac_as_ptr().add(20usize),
82            )
83        }
84    }
85
86    #[doc = "Code Flash Security Attribution Register A"]
87    #[inline(always)]
88    pub const fn cfsamona(
89        &self,
90    ) -> &'static crate::common::Reg<self::Cfsamona_SPEC, crate::common::RW> {
91        unsafe {
92            crate::common::Reg::<self::Cfsamona_SPEC, crate::common::RW>::from_ptr(
93                self._svd2pac_as_ptr().add(24usize),
94            )
95        }
96    }
97
98    #[doc = "Code Flash Security Attribution Register B"]
99    #[inline(always)]
100    pub const fn cfsamonb(
101        &self,
102    ) -> &'static crate::common::Reg<self::Cfsamonb_SPEC, crate::common::RW> {
103        unsafe {
104            crate::common::Reg::<self::Cfsamonb_SPEC, crate::common::RW>::from_ptr(
105                self._svd2pac_as_ptr().add(28usize),
106            )
107        }
108    }
109
110    #[doc = "Data Flash Security Attribution Register"]
111    #[inline(always)]
112    pub const fn dfsamon(
113        &self,
114    ) -> &'static crate::common::Reg<self::Dfsamon_SPEC, crate::common::RW> {
115        unsafe {
116            crate::common::Reg::<self::Dfsamon_SPEC, crate::common::RW>::from_ptr(
117                self._svd2pac_as_ptr().add(32usize),
118            )
119        }
120    }
121
122    #[doc = "SRAM Security Attribution Register A"]
123    #[inline(always)]
124    pub const fn ssamona(
125        &self,
126    ) -> &'static crate::common::Reg<self::Ssamona_SPEC, crate::common::RW> {
127        unsafe {
128            crate::common::Reg::<self::Ssamona_SPEC, crate::common::RW>::from_ptr(
129                self._svd2pac_as_ptr().add(36usize),
130            )
131        }
132    }
133
134    #[doc = "SRAM Security Attribution Register B"]
135    #[inline(always)]
136    pub const fn ssamonb(
137        &self,
138    ) -> &'static crate::common::Reg<self::Ssamonb_SPEC, crate::common::RW> {
139        unsafe {
140            crate::common::Reg::<self::Ssamonb_SPEC, crate::common::RW>::from_ptr(
141                self._svd2pac_as_ptr().add(40usize),
142            )
143        }
144    }
145}
146#[doc(hidden)]
147#[derive(Copy, Clone, Eq, PartialEq)]
148pub struct Psarb_SPEC;
149impl crate::sealed::RegSpec for Psarb_SPEC {
150    type DataType = u32;
151}
152#[doc = "Peripheral Security Attribution Register B"]
153pub type Psarb = crate::RegValueT<Psarb_SPEC>;
154
155impl Psarb {
156    #[doc = "CEC and the MSTPCRB.MSTPB3 bit security attribution"]
157    #[inline(always)]
158    pub fn psarb3(
159        self,
160    ) -> crate::common::RegisterField<3, 0x1, 1, 0, psarb::Psarb3, Psarb_SPEC, crate::common::RW>
161    {
162        crate::common::RegisterField::<3,0x1,1,0,psarb::Psarb3, Psarb_SPEC,crate::common::RW>::from_register(self,0)
163    }
164    #[doc = "I3C and the MSTPCRB.MSTPB4 bit security attribution"]
165    #[inline(always)]
166    pub fn psarb4(
167        self,
168    ) -> crate::common::RegisterField<4, 0x1, 1, 0, psarb::Psarb4, Psarb_SPEC, crate::common::RW>
169    {
170        crate::common::RegisterField::<4,0x1,1,0,psarb::Psarb4, Psarb_SPEC,crate::common::RW>::from_register(self,0)
171    }
172    #[doc = "USBFS and the MSTPCRB.MSTPB11 bit security attribution"]
173    #[inline(always)]
174    pub fn psarb11(
175        self,
176    ) -> crate::common::RegisterField<11, 0x1, 1, 0, psarb::Psarb11, Psarb_SPEC, crate::common::RW>
177    {
178        crate::common::RegisterField::<11,0x1,1,0,psarb::Psarb11, Psarb_SPEC,crate::common::RW>::from_register(self,0)
179    }
180    #[doc = "SPI1 and the MSTPCRB.MSTPB18 bit security attribution"]
181    #[inline(always)]
182    pub fn psarb18(
183        self,
184    ) -> crate::common::RegisterField<18, 0x1, 1, 0, psarb::Psarb18, Psarb_SPEC, crate::common::RW>
185    {
186        crate::common::RegisterField::<18,0x1,1,0,psarb::Psarb18, Psarb_SPEC,crate::common::RW>::from_register(self,0)
187    }
188    #[doc = "SPI0 and the MSTPCRB.MSTPB19 bit security attribution"]
189    #[inline(always)]
190    pub fn psarb19(
191        self,
192    ) -> crate::common::RegisterField<19, 0x1, 1, 0, psarb::Psarb19, Psarb_SPEC, crate::common::RW>
193    {
194        crate::common::RegisterField::<19,0x1,1,0,psarb::Psarb19, Psarb_SPEC,crate::common::RW>::from_register(self,0)
195    }
196    #[doc = "SCI9 and the MSTPCRB.MSTPB22 bit security attribution"]
197    #[inline(always)]
198    pub fn psarb22(
199        self,
200    ) -> crate::common::RegisterField<22, 0x1, 1, 0, psarb::Psarb22, Psarb_SPEC, crate::common::RW>
201    {
202        crate::common::RegisterField::<22,0x1,1,0,psarb::Psarb22, Psarb_SPEC,crate::common::RW>::from_register(self,0)
203    }
204    #[doc = "SCI0 and the MSTPCRB.MSTPB31 bit security attribution"]
205    #[inline(always)]
206    pub fn psarb31(
207        self,
208    ) -> crate::common::RegisterField<31, 0x1, 1, 0, psarb::Psarb31, Psarb_SPEC, crate::common::RW>
209    {
210        crate::common::RegisterField::<31,0x1,1,0,psarb::Psarb31, Psarb_SPEC,crate::common::RW>::from_register(self,0)
211    }
212}
213impl ::core::default::Default for Psarb {
214    #[inline(always)]
215    fn default() -> Psarb {
216        <crate::RegValueT<Psarb_SPEC> as RegisterValue<_>>::new(4294967295)
217    }
218}
219pub mod psarb {
220
221    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
222    pub struct Psarb3_SPEC;
223    pub type Psarb3 = crate::EnumBitfieldStruct<u8, Psarb3_SPEC>;
224    impl Psarb3 {
225        #[doc = "Secure"]
226        pub const _0: Self = Self::new(0);
227        #[doc = "Non-secure"]
228        pub const _1: Self = Self::new(1);
229    }
230    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
231    pub struct Psarb4_SPEC;
232    pub type Psarb4 = crate::EnumBitfieldStruct<u8, Psarb4_SPEC>;
233    impl Psarb4 {
234        #[doc = "Secure"]
235        pub const _0: Self = Self::new(0);
236        #[doc = "Non-secure"]
237        pub const _1: Self = Self::new(1);
238    }
239    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
240    pub struct Psarb11_SPEC;
241    pub type Psarb11 = crate::EnumBitfieldStruct<u8, Psarb11_SPEC>;
242    impl Psarb11 {
243        #[doc = "Secure"]
244        pub const _0: Self = Self::new(0);
245        #[doc = "Non-secure"]
246        pub const _1: Self = Self::new(1);
247    }
248    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
249    pub struct Psarb18_SPEC;
250    pub type Psarb18 = crate::EnumBitfieldStruct<u8, Psarb18_SPEC>;
251    impl Psarb18 {
252        #[doc = "Secure"]
253        pub const _0: Self = Self::new(0);
254        #[doc = "Non-secure"]
255        pub const _1: Self = Self::new(1);
256    }
257    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
258    pub struct Psarb19_SPEC;
259    pub type Psarb19 = crate::EnumBitfieldStruct<u8, Psarb19_SPEC>;
260    impl Psarb19 {
261        #[doc = "Secure"]
262        pub const _0: Self = Self::new(0);
263        #[doc = "Non-secure"]
264        pub const _1: Self = Self::new(1);
265    }
266    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
267    pub struct Psarb22_SPEC;
268    pub type Psarb22 = crate::EnumBitfieldStruct<u8, Psarb22_SPEC>;
269    impl Psarb22 {
270        #[doc = "Secure"]
271        pub const _0: Self = Self::new(0);
272        #[doc = "Non-secure"]
273        pub const _1: Self = Self::new(1);
274    }
275    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
276    pub struct Psarb31_SPEC;
277    pub type Psarb31 = crate::EnumBitfieldStruct<u8, Psarb31_SPEC>;
278    impl Psarb31 {
279        #[doc = "Secure"]
280        pub const _0: Self = Self::new(0);
281        #[doc = "Non-secure"]
282        pub const _1: Self = Self::new(1);
283    }
284}
285#[doc(hidden)]
286#[derive(Copy, Clone, Eq, PartialEq)]
287pub struct Psarc_SPEC;
288impl crate::sealed::RegSpec for Psarc_SPEC {
289    type DataType = u32;
290}
291#[doc = "Peripheral Security Attribution Register C"]
292pub type Psarc = crate::RegValueT<Psarc_SPEC>;
293
294impl Psarc {
295    #[doc = "CAC and the MSTPCRC.MSTPC0 bit security attribution"]
296    #[inline(always)]
297    pub fn psarc0(
298        self,
299    ) -> crate::common::RegisterField<0, 0x1, 1, 0, psarc::Psarc0, Psarc_SPEC, crate::common::RW>
300    {
301        crate::common::RegisterField::<0,0x1,1,0,psarc::Psarc0, Psarc_SPEC,crate::common::RW>::from_register(self,0)
302    }
303    #[doc = "CRC and the MSTPCRC.MSTPC1 bit security attribution"]
304    #[inline(always)]
305    pub fn psarc1(
306        self,
307    ) -> crate::common::RegisterField<1, 0x1, 1, 0, psarc::Psarc1, Psarc_SPEC, crate::common::RW>
308    {
309        crate::common::RegisterField::<1,0x1,1,0,psarc::Psarc1, Psarc_SPEC,crate::common::RW>::from_register(self,0)
310    }
311    #[doc = "SSIE0 and the MSTPCRC.MSTPC8 bit security attribution"]
312    #[inline(always)]
313    pub fn psarc8(
314        self,
315    ) -> crate::common::RegisterField<8, 0x1, 1, 0, psarc::Psarc8, Psarc_SPEC, crate::common::RW>
316    {
317        crate::common::RegisterField::<8,0x1,1,0,psarc::Psarc8, Psarc_SPEC,crate::common::RW>::from_register(self,0)
318    }
319    #[doc = "DOC and the MSTPCRC.MSTPC13 bit security attribution"]
320    #[inline(always)]
321    pub fn psarc13(
322        self,
323    ) -> crate::common::RegisterField<13, 0x1, 1, 0, psarc::Psarc13, Psarc_SPEC, crate::common::RW>
324    {
325        crate::common::RegisterField::<13,0x1,1,0,psarc::Psarc13, Psarc_SPEC,crate::common::RW>::from_register(self,0)
326    }
327    #[doc = "CANFD0 and the MSTPCRC.MSTPC27 bit security attribution"]
328    #[inline(always)]
329    pub fn psarc27(
330        self,
331    ) -> crate::common::RegisterField<27, 0x1, 1, 0, psarc::Psarc27, Psarc_SPEC, crate::common::RW>
332    {
333        crate::common::RegisterField::<27,0x1,1,0,psarc::Psarc27, Psarc_SPEC,crate::common::RW>::from_register(self,0)
334    }
335    #[doc = "TRNG and the MSTPCRC.MSTPC28 bit security attribution"]
336    #[inline(always)]
337    pub fn psarc28(
338        self,
339    ) -> crate::common::RegisterField<28, 0x1, 1, 0, psarc::Psarc28, Psarc_SPEC, crate::common::RW>
340    {
341        crate::common::RegisterField::<28,0x1,1,0,psarc::Psarc28, Psarc_SPEC,crate::common::RW>::from_register(self,0)
342    }
343}
344impl ::core::default::Default for Psarc {
345    #[inline(always)]
346    fn default() -> Psarc {
347        <crate::RegValueT<Psarc_SPEC> as RegisterValue<_>>::new(4294967295)
348    }
349}
350pub mod psarc {
351
352    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
353    pub struct Psarc0_SPEC;
354    pub type Psarc0 = crate::EnumBitfieldStruct<u8, Psarc0_SPEC>;
355    impl Psarc0 {
356        #[doc = "Secure"]
357        pub const _0: Self = Self::new(0);
358        #[doc = "Non-secure"]
359        pub const _1: Self = Self::new(1);
360    }
361    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
362    pub struct Psarc1_SPEC;
363    pub type Psarc1 = crate::EnumBitfieldStruct<u8, Psarc1_SPEC>;
364    impl Psarc1 {
365        #[doc = "Secure"]
366        pub const _0: Self = Self::new(0);
367        #[doc = "Non-secure"]
368        pub const _1: Self = Self::new(1);
369    }
370    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
371    pub struct Psarc8_SPEC;
372    pub type Psarc8 = crate::EnumBitfieldStruct<u8, Psarc8_SPEC>;
373    impl Psarc8 {
374        #[doc = "Secure"]
375        pub const _0: Self = Self::new(0);
376        #[doc = "Non-secure"]
377        pub const _1: Self = Self::new(1);
378    }
379    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
380    pub struct Psarc13_SPEC;
381    pub type Psarc13 = crate::EnumBitfieldStruct<u8, Psarc13_SPEC>;
382    impl Psarc13 {
383        #[doc = "Secure"]
384        pub const _0: Self = Self::new(0);
385        #[doc = "Non-secure"]
386        pub const _1: Self = Self::new(1);
387    }
388    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
389    pub struct Psarc27_SPEC;
390    pub type Psarc27 = crate::EnumBitfieldStruct<u8, Psarc27_SPEC>;
391    impl Psarc27 {
392        #[doc = "Secure"]
393        pub const _0: Self = Self::new(0);
394        #[doc = "Non-secure"]
395        pub const _1: Self = Self::new(1);
396    }
397    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
398    pub struct Psarc28_SPEC;
399    pub type Psarc28 = crate::EnumBitfieldStruct<u8, Psarc28_SPEC>;
400    impl Psarc28 {
401        #[doc = "Secure"]
402        pub const _0: Self = Self::new(0);
403        #[doc = "Non-secure"]
404        pub const _1: Self = Self::new(1);
405    }
406}
407#[doc(hidden)]
408#[derive(Copy, Clone, Eq, PartialEq)]
409pub struct Psard_SPEC;
410impl crate::sealed::RegSpec for Psard_SPEC {
411    type DataType = u32;
412}
413#[doc = "Peripheral Security Attribution Register D"]
414pub type Psard = crate::RegValueT<Psard_SPEC>;
415
416impl Psard {
417    #[doc = "AGT1 and the MSTPCRD.MSTPD2 bit security attribution"]
418    #[inline(always)]
419    pub fn psard2(
420        self,
421    ) -> crate::common::RegisterField<2, 0x1, 1, 0, psard::Psard2, Psard_SPEC, crate::common::RW>
422    {
423        crate::common::RegisterField::<2,0x1,1,0,psard::Psard2, Psard_SPEC,crate::common::RW>::from_register(self,0)
424    }
425    #[doc = "AGT0 and the MSTPCRD.MSTPD3 bit security attribution"]
426    #[inline(always)]
427    pub fn psard3(
428        self,
429    ) -> crate::common::RegisterField<3, 0x1, 1, 0, psard::Psard3, Psard_SPEC, crate::common::RW>
430    {
431        crate::common::RegisterField::<3,0x1,1,0,psard::Psard3, Psard_SPEC,crate::common::RW>::from_register(self,0)
432    }
433    #[doc = "POEG Group D and the MSTPCRD.MSTPD11 bit security attribution"]
434    #[inline(always)]
435    pub fn psard11(
436        self,
437    ) -> crate::common::RegisterField<11, 0x1, 1, 0, psard::Psard11, Psard_SPEC, crate::common::RW>
438    {
439        crate::common::RegisterField::<11,0x1,1,0,psard::Psard11, Psard_SPEC,crate::common::RW>::from_register(self,0)
440    }
441    #[doc = "POEG Group C and the MSTPCRD.MSTPD12 bit security attribution"]
442    #[inline(always)]
443    pub fn psard12(
444        self,
445    ) -> crate::common::RegisterField<12, 0x1, 1, 0, psard::Psard12, Psard_SPEC, crate::common::RW>
446    {
447        crate::common::RegisterField::<12,0x1,1,0,psard::Psard12, Psard_SPEC,crate::common::RW>::from_register(self,0)
448    }
449    #[doc = "POEG Group B and the MSTPCRD.MSTPD13 bit security attribution"]
450    #[inline(always)]
451    pub fn psard13(
452        self,
453    ) -> crate::common::RegisterField<13, 0x1, 1, 0, psard::Psard13, Psard_SPEC, crate::common::RW>
454    {
455        crate::common::RegisterField::<13,0x1,1,0,psard::Psard13, Psard_SPEC,crate::common::RW>::from_register(self,0)
456    }
457    #[doc = "POEG Group A and the MSTPCRD.MSTPD14 bit security attribution"]
458    #[inline(always)]
459    pub fn psard14(
460        self,
461    ) -> crate::common::RegisterField<14, 0x1, 1, 0, psard::Psard14, Psard_SPEC, crate::common::RW>
462    {
463        crate::common::RegisterField::<14,0x1,1,0,psard::Psard14, Psard_SPEC,crate::common::RW>::from_register(self,0)
464    }
465    #[doc = "ADC120 and the MSTPCRD.MSTPD16 bit security attribution"]
466    #[inline(always)]
467    pub fn psard16(
468        self,
469    ) -> crate::common::RegisterField<16, 0x1, 1, 0, psard::Psard16, Psard_SPEC, crate::common::RW>
470    {
471        crate::common::RegisterField::<16,0x1,1,0,psard::Psard16, Psard_SPEC,crate::common::RW>::from_register(self,0)
472    }
473    #[doc = "DAC12 and the MSTPCRD.MSTPD20 bit security attribution"]
474    #[inline(always)]
475    pub fn psard20(
476        self,
477    ) -> crate::common::RegisterField<20, 0x1, 1, 0, psard::Psard20, Psard_SPEC, crate::common::RW>
478    {
479        crate::common::RegisterField::<20,0x1,1,0,psard::Psard20, Psard_SPEC,crate::common::RW>::from_register(self,0)
480    }
481    #[doc = "TSN and the MSTPCRD.MSTPD22 bit security attribution"]
482    #[inline(always)]
483    pub fn psard22(
484        self,
485    ) -> crate::common::RegisterField<22, 0x1, 1, 0, psard::Psard22, Psard_SPEC, crate::common::RW>
486    {
487        crate::common::RegisterField::<22,0x1,1,0,psard::Psard22, Psard_SPEC,crate::common::RW>::from_register(self,0)
488    }
489}
490impl ::core::default::Default for Psard {
491    #[inline(always)]
492    fn default() -> Psard {
493        <crate::RegValueT<Psard_SPEC> as RegisterValue<_>>::new(4294967295)
494    }
495}
496pub mod psard {
497
498    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
499    pub struct Psard2_SPEC;
500    pub type Psard2 = crate::EnumBitfieldStruct<u8, Psard2_SPEC>;
501    impl Psard2 {
502        #[doc = "Secure"]
503        pub const _0: Self = Self::new(0);
504        #[doc = "Non-secure"]
505        pub const _1: Self = Self::new(1);
506    }
507    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
508    pub struct Psard3_SPEC;
509    pub type Psard3 = crate::EnumBitfieldStruct<u8, Psard3_SPEC>;
510    impl Psard3 {
511        #[doc = "Secure"]
512        pub const _0: Self = Self::new(0);
513        #[doc = "Non-secure"]
514        pub const _1: Self = Self::new(1);
515    }
516    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
517    pub struct Psard11_SPEC;
518    pub type Psard11 = crate::EnumBitfieldStruct<u8, Psard11_SPEC>;
519    impl Psard11 {
520        #[doc = "Secure"]
521        pub const _0: Self = Self::new(0);
522        #[doc = "Non-secure"]
523        pub const _1: Self = Self::new(1);
524    }
525    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
526    pub struct Psard12_SPEC;
527    pub type Psard12 = crate::EnumBitfieldStruct<u8, Psard12_SPEC>;
528    impl Psard12 {
529        #[doc = "Secure"]
530        pub const _0: Self = Self::new(0);
531        #[doc = "Non-secure"]
532        pub const _1: Self = Self::new(1);
533    }
534    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
535    pub struct Psard13_SPEC;
536    pub type Psard13 = crate::EnumBitfieldStruct<u8, Psard13_SPEC>;
537    impl Psard13 {
538        #[doc = "Secure"]
539        pub const _0: Self = Self::new(0);
540        #[doc = "Non-secure"]
541        pub const _1: Self = Self::new(1);
542    }
543    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
544    pub struct Psard14_SPEC;
545    pub type Psard14 = crate::EnumBitfieldStruct<u8, Psard14_SPEC>;
546    impl Psard14 {
547        #[doc = "Secure"]
548        pub const _0: Self = Self::new(0);
549        #[doc = "Non-secure"]
550        pub const _1: Self = Self::new(1);
551    }
552    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
553    pub struct Psard16_SPEC;
554    pub type Psard16 = crate::EnumBitfieldStruct<u8, Psard16_SPEC>;
555    impl Psard16 {
556        #[doc = "Secure"]
557        pub const _0: Self = Self::new(0);
558        #[doc = "Non-secure"]
559        pub const _1: Self = Self::new(1);
560    }
561    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
562    pub struct Psard20_SPEC;
563    pub type Psard20 = crate::EnumBitfieldStruct<u8, Psard20_SPEC>;
564    impl Psard20 {
565        #[doc = "Secure"]
566        pub const _0: Self = Self::new(0);
567        #[doc = "Non-secure"]
568        pub const _1: Self = Self::new(1);
569    }
570    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
571    pub struct Psard22_SPEC;
572    pub type Psard22 = crate::EnumBitfieldStruct<u8, Psard22_SPEC>;
573    impl Psard22 {
574        #[doc = "Secure"]
575        pub const _0: Self = Self::new(0);
576        #[doc = "Non-secure"]
577        pub const _1: Self = Self::new(1);
578    }
579}
580#[doc(hidden)]
581#[derive(Copy, Clone, Eq, PartialEq)]
582pub struct Psare_SPEC;
583impl crate::sealed::RegSpec for Psare_SPEC {
584    type DataType = u32;
585}
586#[doc = "Peripheral Security Attribution Register E"]
587pub type Psare = crate::RegValueT<Psare_SPEC>;
588
589impl Psare {
590    #[doc = "WDT security attribution"]
591    #[inline(always)]
592    pub fn psare0(
593        self,
594    ) -> crate::common::RegisterField<0, 0x1, 1, 0, psare::Psare0, Psare_SPEC, crate::common::RW>
595    {
596        crate::common::RegisterField::<0,0x1,1,0,psare::Psare0, Psare_SPEC,crate::common::RW>::from_register(self,0)
597    }
598    #[doc = "IWDT security attribution"]
599    #[inline(always)]
600    pub fn psare1(
601        self,
602    ) -> crate::common::RegisterField<1, 0x1, 1, 0, psare::Psare1, Psare_SPEC, crate::common::RW>
603    {
604        crate::common::RegisterField::<1,0x1,1,0,psare::Psare1, Psare_SPEC,crate::common::RW>::from_register(self,0)
605    }
606    #[doc = "RTC security attribution"]
607    #[inline(always)]
608    pub fn psare2(
609        self,
610    ) -> crate::common::RegisterField<2, 0x1, 1, 0, psare::Psare2, Psare_SPEC, crate::common::RW>
611    {
612        crate::common::RegisterField::<2,0x1,1,0,psare::Psare2, Psare_SPEC,crate::common::RW>::from_register(self,0)
613    }
614    #[doc = "GPT5 and the MSTPCRE.MSTPE26 bit security attribution"]
615    #[inline(always)]
616    pub fn psare26(
617        self,
618    ) -> crate::common::RegisterField<26, 0x1, 1, 0, psare::Psare26, Psare_SPEC, crate::common::RW>
619    {
620        crate::common::RegisterField::<26,0x1,1,0,psare::Psare26, Psare_SPEC,crate::common::RW>::from_register(self,0)
621    }
622    #[doc = "GPT4 and the MSTPCRE.MSTPE27 bit security attribution"]
623    #[inline(always)]
624    pub fn psare27(
625        self,
626    ) -> crate::common::RegisterField<27, 0x1, 1, 0, psare::Psare27, Psare_SPEC, crate::common::RW>
627    {
628        crate::common::RegisterField::<27,0x1,1,0,psare::Psare27, Psare_SPEC,crate::common::RW>::from_register(self,0)
629    }
630    #[doc = "GPT1 and the MSTPCRE.MSTPE30 bit security attribution"]
631    #[inline(always)]
632    pub fn psare30(
633        self,
634    ) -> crate::common::RegisterField<30, 0x1, 1, 0, psare::Psare30, Psare_SPEC, crate::common::RW>
635    {
636        crate::common::RegisterField::<30,0x1,1,0,psare::Psare30, Psare_SPEC,crate::common::RW>::from_register(self,0)
637    }
638    #[doc = "GPT0, GPT_OPS and the MSTPCRE.MSTPE31 bit security attribution"]
639    #[inline(always)]
640    pub fn psare31(
641        self,
642    ) -> crate::common::RegisterField<31, 0x1, 1, 0, psare::Psare31, Psare_SPEC, crate::common::RW>
643    {
644        crate::common::RegisterField::<31,0x1,1,0,psare::Psare31, Psare_SPEC,crate::common::RW>::from_register(self,0)
645    }
646}
647impl ::core::default::Default for Psare {
648    #[inline(always)]
649    fn default() -> Psare {
650        <crate::RegValueT<Psare_SPEC> as RegisterValue<_>>::new(4294967295)
651    }
652}
653pub mod psare {
654
655    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
656    pub struct Psare0_SPEC;
657    pub type Psare0 = crate::EnumBitfieldStruct<u8, Psare0_SPEC>;
658    impl Psare0 {
659        #[doc = "Secure"]
660        pub const _0: Self = Self::new(0);
661        #[doc = "Non-secure"]
662        pub const _1: Self = Self::new(1);
663    }
664    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
665    pub struct Psare1_SPEC;
666    pub type Psare1 = crate::EnumBitfieldStruct<u8, Psare1_SPEC>;
667    impl Psare1 {
668        #[doc = "Secure"]
669        pub const _0: Self = Self::new(0);
670        #[doc = "Non-secure"]
671        pub const _1: Self = Self::new(1);
672    }
673    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
674    pub struct Psare2_SPEC;
675    pub type Psare2 = crate::EnumBitfieldStruct<u8, Psare2_SPEC>;
676    impl Psare2 {
677        #[doc = "Secure"]
678        pub const _0: Self = Self::new(0);
679        #[doc = "Non-secure"]
680        pub const _1: Self = Self::new(1);
681    }
682    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
683    pub struct Psare26_SPEC;
684    pub type Psare26 = crate::EnumBitfieldStruct<u8, Psare26_SPEC>;
685    impl Psare26 {
686        #[doc = "Secure"]
687        pub const _0: Self = Self::new(0);
688        #[doc = "Non-secure"]
689        pub const _1: Self = Self::new(1);
690    }
691    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
692    pub struct Psare27_SPEC;
693    pub type Psare27 = crate::EnumBitfieldStruct<u8, Psare27_SPEC>;
694    impl Psare27 {
695        #[doc = "Secure"]
696        pub const _0: Self = Self::new(0);
697        #[doc = "Non-secure"]
698        pub const _1: Self = Self::new(1);
699    }
700    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
701    pub struct Psare30_SPEC;
702    pub type Psare30 = crate::EnumBitfieldStruct<u8, Psare30_SPEC>;
703    impl Psare30 {
704        #[doc = "Secure"]
705        pub const _0: Self = Self::new(0);
706        #[doc = "Non-secure"]
707        pub const _1: Self = Self::new(1);
708    }
709    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
710    pub struct Psare31_SPEC;
711    pub type Psare31 = crate::EnumBitfieldStruct<u8, Psare31_SPEC>;
712    impl Psare31 {
713        #[doc = "Secure"]
714        pub const _0: Self = Self::new(0);
715        #[doc = "Non-secure"]
716        pub const _1: Self = Self::new(1);
717    }
718}
719#[doc(hidden)]
720#[derive(Copy, Clone, Eq, PartialEq)]
721pub struct Mssar_SPEC;
722impl crate::sealed::RegSpec for Mssar_SPEC {
723    type DataType = u32;
724}
725#[doc = "Module Stop Security Attribution Register"]
726pub type Mssar = crate::RegValueT<Mssar_SPEC>;
727
728impl Mssar {
729    #[doc = "The MSTPCRC.MSTPC14 bit security attribution"]
730    #[inline(always)]
731    pub fn mssar0(
732        self,
733    ) -> crate::common::RegisterField<0, 0x1, 1, 0, mssar::Mssar0, Mssar_SPEC, crate::common::RW>
734    {
735        crate::common::RegisterField::<0,0x1,1,0,mssar::Mssar0, Mssar_SPEC,crate::common::RW>::from_register(self,0)
736    }
737    #[doc = "The MSTPCRA.MSTPA22 bit security attribution"]
738    #[inline(always)]
739    pub fn mssar1(
740        self,
741    ) -> crate::common::RegisterField<1, 0x1, 1, 0, mssar::Mssar1, Mssar_SPEC, crate::common::RW>
742    {
743        crate::common::RegisterField::<1,0x1,1,0,mssar::Mssar1, Mssar_SPEC,crate::common::RW>::from_register(self,0)
744    }
745    #[doc = "The MSTPCRA.MSTPA7 bit security attribution"]
746    #[inline(always)]
747    pub fn mssar2(
748        self,
749    ) -> crate::common::RegisterField<2, 0x1, 1, 0, mssar::Mssar2, Mssar_SPEC, crate::common::RW>
750    {
751        crate::common::RegisterField::<2,0x1,1,0,mssar::Mssar2, Mssar_SPEC,crate::common::RW>::from_register(self,0)
752    }
753    #[doc = "The MSTPCRA.MSTPA0 bit security attribution"]
754    #[inline(always)]
755    pub fn mssar3(
756        self,
757    ) -> crate::common::RegisterField<3, 0x1, 1, 0, mssar::Mssar3, Mssar_SPEC, crate::common::RW>
758    {
759        crate::common::RegisterField::<3,0x1,1,0,mssar::Mssar3, Mssar_SPEC,crate::common::RW>::from_register(self,0)
760    }
761}
762impl ::core::default::Default for Mssar {
763    #[inline(always)]
764    fn default() -> Mssar {
765        <crate::RegValueT<Mssar_SPEC> as RegisterValue<_>>::new(4294967295)
766    }
767}
768pub mod mssar {
769
770    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
771    pub struct Mssar0_SPEC;
772    pub type Mssar0 = crate::EnumBitfieldStruct<u8, Mssar0_SPEC>;
773    impl Mssar0 {
774        #[doc = "Secure"]
775        pub const _0: Self = Self::new(0);
776        #[doc = "Non-secure"]
777        pub const _1: Self = Self::new(1);
778    }
779    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
780    pub struct Mssar1_SPEC;
781    pub type Mssar1 = crate::EnumBitfieldStruct<u8, Mssar1_SPEC>;
782    impl Mssar1 {
783        #[doc = "Secure"]
784        pub const _0: Self = Self::new(0);
785        #[doc = "Non-secure"]
786        pub const _1: Self = Self::new(1);
787    }
788    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
789    pub struct Mssar2_SPEC;
790    pub type Mssar2 = crate::EnumBitfieldStruct<u8, Mssar2_SPEC>;
791    impl Mssar2 {
792        #[doc = "Secure"]
793        pub const _0: Self = Self::new(0);
794        #[doc = "Non-secure"]
795        pub const _1: Self = Self::new(1);
796    }
797    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
798    pub struct Mssar3_SPEC;
799    pub type Mssar3 = crate::EnumBitfieldStruct<u8, Mssar3_SPEC>;
800    impl Mssar3 {
801        #[doc = "Secure"]
802        pub const _0: Self = Self::new(0);
803        #[doc = "Non-secure"]
804        pub const _1: Self = Self::new(1);
805    }
806}
807#[doc(hidden)]
808#[derive(Copy, Clone, Eq, PartialEq)]
809pub struct Cfsamona_SPEC;
810impl crate::sealed::RegSpec for Cfsamona_SPEC {
811    type DataType = u32;
812}
813#[doc = "Code Flash Security Attribution Register A"]
814pub type Cfsamona = crate::RegValueT<Cfsamona_SPEC>;
815
816impl Cfsamona {
817    #[doc = "Code Flash Secure area 2"]
818    #[inline(always)]
819    pub fn cfs2(
820        self,
821    ) -> crate::common::RegisterField<
822        15,
823        0x1ff,
824        1,
825        0,
826        cfsamona::Cfs2,
827        Cfsamona_SPEC,
828        crate::common::RW,
829    > {
830        crate::common::RegisterField::<
831            15,
832            0x1ff,
833            1,
834            0,
835            cfsamona::Cfs2,
836            Cfsamona_SPEC,
837            crate::common::RW,
838        >::from_register(self, 0)
839    }
840}
841impl ::core::default::Default for Cfsamona {
842    #[inline(always)]
843    fn default() -> Cfsamona {
844        <crate::RegValueT<Cfsamona_SPEC> as RegisterValue<_>>::new(0)
845    }
846}
847pub mod cfsamona {
848
849    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
850    pub struct Cfs2_SPEC;
851    pub type Cfs2 = crate::EnumBitfieldStruct<u8, Cfs2_SPEC>;
852    impl Cfs2 {
853        #[doc = "0 KB"]
854        pub const _0_X_000: Self = Self::new(0);
855        #[doc = "32 KB"]
856        pub const _0_X_001: Self = Self::new(1);
857        #[doc = "64 KB"]
858        pub const _0_X_002: Self = Self::new(2);
859        #[doc = "96 KB"]
860        pub const _0_X_003: Self = Self::new(3);
861        #[doc = "128 KB"]
862        pub const _0_X_004: Self = Self::new(4);
863    }
864}
865#[doc(hidden)]
866#[derive(Copy, Clone, Eq, PartialEq)]
867pub struct Cfsamonb_SPEC;
868impl crate::sealed::RegSpec for Cfsamonb_SPEC {
869    type DataType = u32;
870}
871#[doc = "Code Flash Security Attribution Register B"]
872pub type Cfsamonb = crate::RegValueT<Cfsamonb_SPEC>;
873
874impl Cfsamonb {
875    #[doc = "Code Flash Secure area 1"]
876    #[inline(always)]
877    pub fn cfs1(
878        self,
879    ) -> crate::common::RegisterField<10, 0x3fff, 1, 0, u16, Cfsamonb_SPEC, crate::common::RW> {
880        crate::common::RegisterField::<10,0x3fff,1,0,u16, Cfsamonb_SPEC,crate::common::RW>::from_register(self,0)
881    }
882}
883impl ::core::default::Default for Cfsamonb {
884    #[inline(always)]
885    fn default() -> Cfsamonb {
886        <crate::RegValueT<Cfsamonb_SPEC> as RegisterValue<_>>::new(0)
887    }
888}
889
890#[doc(hidden)]
891#[derive(Copy, Clone, Eq, PartialEq)]
892pub struct Dfsamon_SPEC;
893impl crate::sealed::RegSpec for Dfsamon_SPEC {
894    type DataType = u32;
895}
896#[doc = "Data Flash Security Attribution Register"]
897pub type Dfsamon = crate::RegValueT<Dfsamon_SPEC>;
898
899impl Dfsamon {
900    #[doc = "Data flash Secure area"]
901    #[inline(always)]
902    pub fn dfs(
903        self,
904    ) -> crate::common::RegisterField<10, 0x3f, 1, 0, dfsamon::Dfs, Dfsamon_SPEC, crate::common::RW>
905    {
906        crate::common::RegisterField::<10,0x3f,1,0,dfsamon::Dfs, Dfsamon_SPEC,crate::common::RW>::from_register(self,0)
907    }
908}
909impl ::core::default::Default for Dfsamon {
910    #[inline(always)]
911    fn default() -> Dfsamon {
912        <crate::RegValueT<Dfsamon_SPEC> as RegisterValue<_>>::new(64512)
913    }
914}
915pub mod dfsamon {
916
917    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
918    pub struct Dfs_SPEC;
919    pub type Dfs = crate::EnumBitfieldStruct<u8, Dfs_SPEC>;
920    impl Dfs {
921        #[doc = "0 KB"]
922        pub const _0_X_00: Self = Self::new(0);
923        #[doc = "1 KB"]
924        pub const _0_X_01: Self = Self::new(1);
925        #[doc = "2 KB"]
926        pub const _0_X_02: Self = Self::new(2);
927        #[doc = "3 KB"]
928        pub const _0_X_03: Self = Self::new(3);
929        #[doc = "4 KB"]
930        pub const _0_X_04: Self = Self::new(4);
931        #[doc = "Setting prohibited"]
932        pub const OTHERS: Self = Self::new(0);
933    }
934}
935#[doc(hidden)]
936#[derive(Copy, Clone, Eq, PartialEq)]
937pub struct Ssamona_SPEC;
938impl crate::sealed::RegSpec for Ssamona_SPEC {
939    type DataType = u32;
940}
941#[doc = "SRAM Security Attribution Register A"]
942pub type Ssamona = crate::RegValueT<Ssamona_SPEC>;
943
944impl Ssamona {
945    #[doc = "SRAM Secure area 2"]
946    #[inline(always)]
947    pub fn ss2(
948        self,
949    ) -> crate::common::RegisterField<13, 0xff, 1, 0, ssamona::Ss2, Ssamona_SPEC, crate::common::RW>
950    {
951        crate::common::RegisterField::<13,0xff,1,0,ssamona::Ss2, Ssamona_SPEC,crate::common::RW>::from_register(self,0)
952    }
953}
954impl ::core::default::Default for Ssamona {
955    #[inline(always)]
956    fn default() -> Ssamona {
957        <crate::RegValueT<Ssamona_SPEC> as RegisterValue<_>>::new(2088960)
958    }
959}
960pub mod ssamona {
961
962    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
963    pub struct Ss2_SPEC;
964    pub type Ss2 = crate::EnumBitfieldStruct<u8, Ss2_SPEC>;
965    impl Ss2 {
966        #[doc = "0 KB"]
967        pub const _0_X_000: Self = Self::new(0);
968        #[doc = "8 KB"]
969        pub const _0_X_001: Self = Self::new(1);
970        #[doc = "16 KB"]
971        pub const _0_X_002: Self = Self::new(2);
972        #[doc = "24 KB"]
973        pub const _0_X_003: Self = Self::new(3);
974        #[doc = "32 KB"]
975        pub const _0_X_004: Self = Self::new(4);
976        #[doc = "40 KB"]
977        pub const _0_X_005: Self = Self::new(5);
978        #[doc = "Setting prohibited"]
979        pub const OTHERS: Self = Self::new(0);
980    }
981}
982#[doc(hidden)]
983#[derive(Copy, Clone, Eq, PartialEq)]
984pub struct Ssamonb_SPEC;
985impl crate::sealed::RegSpec for Ssamonb_SPEC {
986    type DataType = u32;
987}
988#[doc = "SRAM Security Attribution Register B"]
989pub type Ssamonb = crate::RegValueT<Ssamonb_SPEC>;
990
991impl Ssamonb {
992    #[doc = "SRAM secure area 1"]
993    #[inline(always)]
994    pub fn ss1(
995        self,
996    ) -> crate::common::RegisterField<10, 0x7ff, 1, 0, u16, Ssamonb_SPEC, crate::common::RW> {
997        crate::common::RegisterField::<10,0x7ff,1,0,u16, Ssamonb_SPEC,crate::common::RW>::from_register(self,0)
998    }
999}
1000impl ::core::default::Default for Ssamonb {
1001    #[inline(always)]
1002    fn default() -> Ssamonb {
1003        <crate::RegValueT<Ssamonb_SPEC> as RegisterValue<_>>::new(2096128)
1004    }
1005}