ra4e2_pac/
cpscu.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"CPU System Security Control Unit"]
28unsafe impl ::core::marker::Send for super::Cpscu {}
29unsafe impl ::core::marker::Sync for super::Cpscu {}
30impl super::Cpscu {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36    #[doc = "Cache Security Attribution Register"]
37    #[inline(always)]
38    pub const fn csar(&self) -> &'static crate::common::Reg<self::Csar_SPEC, crate::common::RW> {
39        unsafe {
40            crate::common::Reg::<self::Csar_SPEC, crate::common::RW>::from_ptr(
41                self._svd2pac_as_ptr().add(0usize),
42            )
43        }
44    }
45
46    #[doc = "SRAM Security Attribution Register"]
47    #[inline(always)]
48    pub const fn sramsar(
49        &self,
50    ) -> &'static crate::common::Reg<self::Sramsar_SPEC, crate::common::RW> {
51        unsafe {
52            crate::common::Reg::<self::Sramsar_SPEC, crate::common::RW>::from_ptr(
53                self._svd2pac_as_ptr().add(16usize),
54            )
55        }
56    }
57
58    #[doc = "Standby RAM memory Security Attribution Register"]
59    #[inline(always)]
60    pub const fn stbramsar(
61        &self,
62    ) -> &'static crate::common::Reg<self::Stbramsar_SPEC, crate::common::RW> {
63        unsafe {
64            crate::common::Reg::<self::Stbramsar_SPEC, crate::common::RW>::from_ptr(
65                self._svd2pac_as_ptr().add(20usize),
66            )
67        }
68    }
69
70    #[doc = "DTC Controller Security Attribution Register"]
71    #[inline(always)]
72    pub const fn dtcsar(
73        &self,
74    ) -> &'static crate::common::Reg<self::Dtcsar_SPEC, crate::common::RW> {
75        unsafe {
76            crate::common::Reg::<self::Dtcsar_SPEC, crate::common::RW>::from_ptr(
77                self._svd2pac_as_ptr().add(48usize),
78            )
79        }
80    }
81
82    #[doc = "DMAC Controller Security Attribution Register"]
83    #[inline(always)]
84    pub const fn dmacsar(
85        &self,
86    ) -> &'static crate::common::Reg<self::Dmacsar_SPEC, crate::common::RW> {
87        unsafe {
88            crate::common::Reg::<self::Dmacsar_SPEC, crate::common::RW>::from_ptr(
89                self._svd2pac_as_ptr().add(52usize),
90            )
91        }
92    }
93
94    #[doc = "Interrupt Controller Unit Security Attribution Register A"]
95    #[inline(always)]
96    pub const fn icusara(
97        &self,
98    ) -> &'static crate::common::Reg<self::Icusara_SPEC, crate::common::RW> {
99        unsafe {
100            crate::common::Reg::<self::Icusara_SPEC, crate::common::RW>::from_ptr(
101                self._svd2pac_as_ptr().add(64usize),
102            )
103        }
104    }
105
106    #[doc = "Interrupt Controller Unit Security Attribution Register B"]
107    #[inline(always)]
108    pub const fn icusarb(
109        &self,
110    ) -> &'static crate::common::Reg<self::Icusarb_SPEC, crate::common::RW> {
111        unsafe {
112            crate::common::Reg::<self::Icusarb_SPEC, crate::common::RW>::from_ptr(
113                self._svd2pac_as_ptr().add(68usize),
114            )
115        }
116    }
117
118    #[doc = "Interrupt Controller Unit Security Attribution Register C"]
119    #[inline(always)]
120    pub const fn icusarc(
121        &self,
122    ) -> &'static crate::common::Reg<self::Icusarc_SPEC, crate::common::RW> {
123        unsafe {
124            crate::common::Reg::<self::Icusarc_SPEC, crate::common::RW>::from_ptr(
125                self._svd2pac_as_ptr().add(72usize),
126            )
127        }
128    }
129
130    #[doc = "Interrupt Controller Unit Security Attribution Register D"]
131    #[inline(always)]
132    pub const fn icusard(
133        &self,
134    ) -> &'static crate::common::Reg<self::Icusard_SPEC, crate::common::RW> {
135        unsafe {
136            crate::common::Reg::<self::Icusard_SPEC, crate::common::RW>::from_ptr(
137                self._svd2pac_as_ptr().add(76usize),
138            )
139        }
140    }
141
142    #[doc = "Interrupt Controller Unit Security Attribution Register F"]
143    #[inline(always)]
144    pub const fn icusarf(
145        &self,
146    ) -> &'static crate::common::Reg<self::Icusarf_SPEC, crate::common::RW> {
147        unsafe {
148            crate::common::Reg::<self::Icusarf_SPEC, crate::common::RW>::from_ptr(
149                self._svd2pac_as_ptr().add(84usize),
150            )
151        }
152    }
153
154    #[doc = "Interrupt Controller Unit Security Attribution Register G"]
155    #[inline(always)]
156    pub const fn icusarg(
157        &self,
158    ) -> &'static crate::common::Reg<self::Icusarg_SPEC, crate::common::RW> {
159        unsafe {
160            crate::common::Reg::<self::Icusarg_SPEC, crate::common::RW>::from_ptr(
161                self._svd2pac_as_ptr().add(112usize),
162            )
163        }
164    }
165
166    #[doc = "Interrupt Controller Unit Security Attribution Register H"]
167    #[inline(always)]
168    pub const fn icusarh(
169        &self,
170    ) -> &'static crate::common::Reg<self::Icusarh_SPEC, crate::common::RW> {
171        unsafe {
172            crate::common::Reg::<self::Icusarh_SPEC, crate::common::RW>::from_ptr(
173                self._svd2pac_as_ptr().add(116usize),
174            )
175        }
176    }
177
178    #[doc = "Interrupt Controller Unit Security Attribution Register I"]
179    #[inline(always)]
180    pub const fn icusari(
181        &self,
182    ) -> &'static crate::common::Reg<self::Icusari_SPEC, crate::common::RW> {
183        unsafe {
184            crate::common::Reg::<self::Icusari_SPEC, crate::common::RW>::from_ptr(
185                self._svd2pac_as_ptr().add(120usize),
186            )
187        }
188    }
189
190    #[doc = "BUS Security Attribution Register A"]
191    #[inline(always)]
192    pub const fn bussara(
193        &self,
194    ) -> &'static crate::common::Reg<self::Bussara_SPEC, crate::common::RW> {
195        unsafe {
196            crate::common::Reg::<self::Bussara_SPEC, crate::common::RW>::from_ptr(
197                self._svd2pac_as_ptr().add(256usize),
198            )
199        }
200    }
201
202    #[doc = "BUS Security Attribution Register B"]
203    #[inline(always)]
204    pub const fn bussarb(
205        &self,
206    ) -> &'static crate::common::Reg<self::Bussarb_SPEC, crate::common::RW> {
207        unsafe {
208            crate::common::Reg::<self::Bussarb_SPEC, crate::common::RW>::from_ptr(
209                self._svd2pac_as_ptr().add(260usize),
210            )
211        }
212    }
213
214    #[doc = "Master Memory Protection Unit Security Attribution Register A"]
215    #[inline(always)]
216    pub const fn mmpusara(
217        &self,
218    ) -> &'static crate::common::Reg<self::Mmpusara_SPEC, crate::common::RW> {
219        unsafe {
220            crate::common::Reg::<self::Mmpusara_SPEC, crate::common::RW>::from_ptr(
221                self._svd2pac_as_ptr().add(304usize),
222            )
223        }
224    }
225
226    #[doc = "Master Memory Protection Unit Security Attribution Register B"]
227    #[inline(always)]
228    pub const fn mmpusarb(
229        &self,
230    ) -> &'static crate::common::Reg<self::Mmpusarb_SPEC, crate::common::RW> {
231        unsafe {
232            crate::common::Reg::<self::Mmpusarb_SPEC, crate::common::RW>::from_ptr(
233                self._svd2pac_as_ptr().add(308usize),
234            )
235        }
236    }
237
238    #[doc = "TrustZone Filter Security Attribution Register"]
239    #[inline(always)]
240    pub const fn tzfsar(
241        &self,
242    ) -> &'static crate::common::Reg<self::Tzfsar_SPEC, crate::common::RW> {
243        unsafe {
244            crate::common::Reg::<self::Tzfsar_SPEC, crate::common::RW>::from_ptr(
245                self._svd2pac_as_ptr().add(384usize),
246            )
247        }
248    }
249
250    #[doc = "CPU Debug Security Attribution Register"]
251    #[inline(always)]
252    pub const fn cpudsar(
253        &self,
254    ) -> &'static crate::common::Reg<self::Cpudsar_SPEC, crate::common::RW> {
255        unsafe {
256            crate::common::Reg::<self::Cpudsar_SPEC, crate::common::RW>::from_ptr(
257                self._svd2pac_as_ptr().add(432usize),
258            )
259        }
260    }
261}
262#[doc(hidden)]
263#[derive(Copy, Clone, Eq, PartialEq)]
264pub struct Csar_SPEC;
265impl crate::sealed::RegSpec for Csar_SPEC {
266    type DataType = u32;
267}
268#[doc = "Cache Security Attribution Register"]
269pub type Csar = crate::RegValueT<Csar_SPEC>;
270
271impl Csar {
272    #[doc = "Security Attributes of Registers for Cache Control"]
273    #[inline(always)]
274    pub fn cachesa(
275        self,
276    ) -> crate::common::RegisterField<0, 0x1, 1, 0, csar::Cachesa, Csar_SPEC, crate::common::RW>
277    {
278        crate::common::RegisterField::<0,0x1,1,0,csar::Cachesa, Csar_SPEC,crate::common::RW>::from_register(self,0)
279    }
280    #[doc = "Security Attributes of Registers for Cache Line Configuration"]
281    #[inline(always)]
282    pub fn cachelsa(
283        self,
284    ) -> crate::common::RegisterField<1, 0x1, 1, 0, csar::Cachelsa, Csar_SPEC, crate::common::RW>
285    {
286        crate::common::RegisterField::<1,0x1,1,0,csar::Cachelsa, Csar_SPEC,crate::common::RW>::from_register(self,0)
287    }
288    #[doc = "Security Attributes of Registers for Cache Error"]
289    #[inline(always)]
290    pub fn cacheesa(
291        self,
292    ) -> crate::common::RegisterField<2, 0x1, 1, 0, csar::Cacheesa, Csar_SPEC, crate::common::RW>
293    {
294        crate::common::RegisterField::<2,0x1,1,0,csar::Cacheesa, Csar_SPEC,crate::common::RW>::from_register(self,0)
295    }
296}
297impl ::core::default::Default for Csar {
298    #[inline(always)]
299    fn default() -> Csar {
300        <crate::RegValueT<Csar_SPEC> as RegisterValue<_>>::new(4294967295)
301    }
302}
303pub mod csar {
304
305    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
306    pub struct Cachesa_SPEC;
307    pub type Cachesa = crate::EnumBitfieldStruct<u8, Cachesa_SPEC>;
308    impl Cachesa {
309        #[doc = "Secure"]
310        pub const _0: Self = Self::new(0);
311        #[doc = "Non-secure"]
312        pub const _1: Self = Self::new(1);
313    }
314    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
315    pub struct Cachelsa_SPEC;
316    pub type Cachelsa = crate::EnumBitfieldStruct<u8, Cachelsa_SPEC>;
317    impl Cachelsa {
318        #[doc = "Secure"]
319        pub const _0: Self = Self::new(0);
320        #[doc = "Non-secure"]
321        pub const _1: Self = Self::new(1);
322    }
323    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
324    pub struct Cacheesa_SPEC;
325    pub type Cacheesa = crate::EnumBitfieldStruct<u8, Cacheesa_SPEC>;
326    impl Cacheesa {
327        #[doc = "Secure"]
328        pub const _0: Self = Self::new(0);
329        #[doc = "Non-secure"]
330        pub const _1: Self = Self::new(1);
331    }
332}
333#[doc(hidden)]
334#[derive(Copy, Clone, Eq, PartialEq)]
335pub struct Sramsar_SPEC;
336impl crate::sealed::RegSpec for Sramsar_SPEC {
337    type DataType = u32;
338}
339#[doc = "SRAM Security Attribution Register"]
340pub type Sramsar = crate::RegValueT<Sramsar_SPEC>;
341
342impl Sramsar {
343    #[doc = "Security attributes of registers for SRAM Protection"]
344    #[inline(always)]
345    pub fn sramsa0(
346        self,
347    ) -> crate::common::RegisterField<0, 0x1, 1, 0, sramsar::Sramsa0, Sramsar_SPEC, crate::common::RW>
348    {
349        crate::common::RegisterField::<
350            0,
351            0x1,
352            1,
353            0,
354            sramsar::Sramsa0,
355            Sramsar_SPEC,
356            crate::common::RW,
357        >::from_register(self, 0)
358    }
359    #[doc = "Security attributes of registers for SRAM Protection 2"]
360    #[inline(always)]
361    pub fn sramsa1(
362        self,
363    ) -> crate::common::RegisterField<1, 0x1, 1, 0, sramsar::Sramsa1, Sramsar_SPEC, crate::common::RW>
364    {
365        crate::common::RegisterField::<
366            1,
367            0x1,
368            1,
369            0,
370            sramsar::Sramsa1,
371            Sramsar_SPEC,
372            crate::common::RW,
373        >::from_register(self, 0)
374    }
375    #[doc = "Security attributes of registers for ECC Relation"]
376    #[inline(always)]
377    pub fn sramsa2(
378        self,
379    ) -> crate::common::RegisterField<2, 0x1, 1, 0, sramsar::Sramsa2, Sramsar_SPEC, crate::common::RW>
380    {
381        crate::common::RegisterField::<
382            2,
383            0x1,
384            1,
385            0,
386            sramsar::Sramsa2,
387            Sramsar_SPEC,
388            crate::common::RW,
389        >::from_register(self, 0)
390    }
391}
392impl ::core::default::Default for Sramsar {
393    #[inline(always)]
394    fn default() -> Sramsar {
395        <crate::RegValueT<Sramsar_SPEC> as RegisterValue<_>>::new(4294967295)
396    }
397}
398pub mod sramsar {
399
400    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
401    pub struct Sramsa0_SPEC;
402    pub type Sramsa0 = crate::EnumBitfieldStruct<u8, Sramsa0_SPEC>;
403    impl Sramsa0 {
404        #[doc = "Secure"]
405        pub const _0: Self = Self::new(0);
406        #[doc = "Non-Secure"]
407        pub const _1: Self = Self::new(1);
408    }
409    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
410    pub struct Sramsa1_SPEC;
411    pub type Sramsa1 = crate::EnumBitfieldStruct<u8, Sramsa1_SPEC>;
412    impl Sramsa1 {
413        #[doc = "Secure"]
414        pub const _0: Self = Self::new(0);
415        #[doc = "Non-Secure"]
416        pub const _1: Self = Self::new(1);
417    }
418    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
419    pub struct Sramsa2_SPEC;
420    pub type Sramsa2 = crate::EnumBitfieldStruct<u8, Sramsa2_SPEC>;
421    impl Sramsa2 {
422        #[doc = "Secure"]
423        pub const _0: Self = Self::new(0);
424        #[doc = "Non-Secure"]
425        pub const _1: Self = Self::new(1);
426    }
427}
428#[doc(hidden)]
429#[derive(Copy, Clone, Eq, PartialEq)]
430pub struct Stbramsar_SPEC;
431impl crate::sealed::RegSpec for Stbramsar_SPEC {
432    type DataType = u32;
433}
434#[doc = "Standby RAM memory Security Attribution Register"]
435pub type Stbramsar = crate::RegValueT<Stbramsar_SPEC>;
436
437impl Stbramsar {
438    #[doc = "Security attributes of each region for Standby RAM"]
439    #[inline(always)]
440    pub fn nsbstbr(
441        self,
442    ) -> crate::common::RegisterField<
443        0,
444        0xf,
445        1,
446        0,
447        stbramsar::Nsbstbr,
448        Stbramsar_SPEC,
449        crate::common::RW,
450    > {
451        crate::common::RegisterField::<
452            0,
453            0xf,
454            1,
455            0,
456            stbramsar::Nsbstbr,
457            Stbramsar_SPEC,
458            crate::common::RW,
459        >::from_register(self, 0)
460    }
461}
462impl ::core::default::Default for Stbramsar {
463    #[inline(always)]
464    fn default() -> Stbramsar {
465        <crate::RegValueT<Stbramsar_SPEC> as RegisterValue<_>>::new(4294967280)
466    }
467}
468pub mod stbramsar {
469
470    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
471    pub struct Nsbstbr_SPEC;
472    pub type Nsbstbr = crate::EnumBitfieldStruct<u8, Nsbstbr_SPEC>;
473    impl Nsbstbr {
474        #[doc = "Region7-0 are all Secure."]
475        pub const _0_X_0: Self = Self::new(0);
476        #[doc = "Region7 is Non-secure. Region6-0 are Secure"]
477        pub const _0_X_1: Self = Self::new(1);
478        #[doc = "Region7-6 are Non-secure. Region5-0 are Secure."]
479        pub const _0_X_2: Self = Self::new(2);
480        #[doc = "Region7-5 are Non-secure. Region4-0 are Secure."]
481        pub const _0_X_3: Self = Self::new(3);
482        #[doc = "Region7-4 are Non-secure. Region 3-0 are Secure."]
483        pub const _0_X_4: Self = Self::new(4);
484        #[doc = "Region7-3 are Non-secure. Region 2-0 are Secure."]
485        pub const _0_X_5: Self = Self::new(5);
486        #[doc = "Region7-2 are Non-secure. Region 1-0 are Secure."]
487        pub const _0_X_6: Self = Self::new(6);
488        #[doc = "Region7-1 are Non-Secure. Region0 is Secure."]
489        pub const _0_X_7: Self = Self::new(7);
490        #[doc = "Region7-0 are all Non-Secure."]
491        pub const OTHERS: Self = Self::new(0);
492    }
493}
494#[doc(hidden)]
495#[derive(Copy, Clone, Eq, PartialEq)]
496pub struct Dtcsar_SPEC;
497impl crate::sealed::RegSpec for Dtcsar_SPEC {
498    type DataType = u32;
499}
500#[doc = "DTC Controller Security Attribution Register"]
501pub type Dtcsar = crate::RegValueT<Dtcsar_SPEC>;
502
503impl Dtcsar {
504    #[doc = "DTC Security Attribution"]
505    #[inline(always)]
506    pub fn dtcstsa(
507        self,
508    ) -> crate::common::RegisterField<0, 0x1, 1, 0, dtcsar::Dtcstsa, Dtcsar_SPEC, crate::common::RW>
509    {
510        crate::common::RegisterField::<0,0x1,1,0,dtcsar::Dtcstsa, Dtcsar_SPEC,crate::common::RW>::from_register(self,0)
511    }
512}
513impl ::core::default::Default for Dtcsar {
514    #[inline(always)]
515    fn default() -> Dtcsar {
516        <crate::RegValueT<Dtcsar_SPEC> as RegisterValue<_>>::new(4294967295)
517    }
518}
519pub mod dtcsar {
520
521    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
522    pub struct Dtcstsa_SPEC;
523    pub type Dtcstsa = crate::EnumBitfieldStruct<u8, Dtcstsa_SPEC>;
524    impl Dtcstsa {
525        #[doc = "Secure."]
526        pub const _0: Self = Self::new(0);
527        #[doc = "Non-Secure."]
528        pub const _1: Self = Self::new(1);
529    }
530}
531#[doc(hidden)]
532#[derive(Copy, Clone, Eq, PartialEq)]
533pub struct Dmacsar_SPEC;
534impl crate::sealed::RegSpec for Dmacsar_SPEC {
535    type DataType = u32;
536}
537#[doc = "DMAC Controller Security Attribution Register"]
538pub type Dmacsar = crate::RegValueT<Dmacsar_SPEC>;
539
540impl Dmacsar {
541    #[doc = "DMAST Security Attribution"]
542    #[inline(always)]
543    pub fn dmastsa(
544        self,
545    ) -> crate::common::RegisterField<0, 0x1, 1, 0, dmacsar::Dmastsa, Dmacsar_SPEC, crate::common::RW>
546    {
547        crate::common::RegisterField::<
548            0,
549            0x1,
550            1,
551            0,
552            dmacsar::Dmastsa,
553            Dmacsar_SPEC,
554            crate::common::RW,
555        >::from_register(self, 0)
556    }
557}
558impl ::core::default::Default for Dmacsar {
559    #[inline(always)]
560    fn default() -> Dmacsar {
561        <crate::RegValueT<Dmacsar_SPEC> as RegisterValue<_>>::new(4294967295)
562    }
563}
564pub mod dmacsar {
565
566    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
567    pub struct Dmastsa_SPEC;
568    pub type Dmastsa = crate::EnumBitfieldStruct<u8, Dmastsa_SPEC>;
569    impl Dmastsa {
570        #[doc = "Secure"]
571        pub const _0: Self = Self::new(0);
572        #[doc = "Non-secure"]
573        pub const _1: Self = Self::new(1);
574    }
575}
576#[doc(hidden)]
577#[derive(Copy, Clone, Eq, PartialEq)]
578pub struct Icusara_SPEC;
579impl crate::sealed::RegSpec for Icusara_SPEC {
580    type DataType = u32;
581}
582#[doc = "Interrupt Controller Unit Security Attribution Register A"]
583pub type Icusara = crate::RegValueT<Icusara_SPEC>;
584
585impl Icusara {
586    #[doc = "Security attributes of registers for the IRQCRn register"]
587    #[inline(always)]
588    pub fn sairqcr00(
589        self,
590    ) -> crate::common::RegisterField<
591        0,
592        0x1,
593        1,
594        0,
595        icusara::Sairqcr00,
596        Icusara_SPEC,
597        crate::common::RW,
598    > {
599        crate::common::RegisterField::<
600            0,
601            0x1,
602            1,
603            0,
604            icusara::Sairqcr00,
605            Icusara_SPEC,
606            crate::common::RW,
607        >::from_register(self, 0)
608    }
609    #[doc = "Security attributes of registers for the IRQCRn register"]
610    #[inline(always)]
611    pub fn sairqcr01(
612        self,
613    ) -> crate::common::RegisterField<
614        1,
615        0x1,
616        1,
617        0,
618        icusara::Sairqcr01,
619        Icusara_SPEC,
620        crate::common::RW,
621    > {
622        crate::common::RegisterField::<
623            1,
624            0x1,
625            1,
626            0,
627            icusara::Sairqcr01,
628            Icusara_SPEC,
629            crate::common::RW,
630        >::from_register(self, 0)
631    }
632    #[doc = "Security attributes of registers for the IRQCRn register"]
633    #[inline(always)]
634    pub fn sairqcr02(
635        self,
636    ) -> crate::common::RegisterField<
637        2,
638        0x1,
639        1,
640        0,
641        icusara::Sairqcr02,
642        Icusara_SPEC,
643        crate::common::RW,
644    > {
645        crate::common::RegisterField::<
646            2,
647            0x1,
648            1,
649            0,
650            icusara::Sairqcr02,
651            Icusara_SPEC,
652            crate::common::RW,
653        >::from_register(self, 0)
654    }
655    #[doc = "Security attributes of registers for the IRQCRn register"]
656    #[inline(always)]
657    pub fn sairqcr03(
658        self,
659    ) -> crate::common::RegisterField<
660        3,
661        0x1,
662        1,
663        0,
664        icusara::Sairqcr03,
665        Icusara_SPEC,
666        crate::common::RW,
667    > {
668        crate::common::RegisterField::<
669            3,
670            0x1,
671            1,
672            0,
673            icusara::Sairqcr03,
674            Icusara_SPEC,
675            crate::common::RW,
676        >::from_register(self, 0)
677    }
678    #[doc = "Security attributes of registers for the IRQCRn register"]
679    #[inline(always)]
680    pub fn sairqcr04(
681        self,
682    ) -> crate::common::RegisterField<
683        4,
684        0x1,
685        1,
686        0,
687        icusara::Sairqcr04,
688        Icusara_SPEC,
689        crate::common::RW,
690    > {
691        crate::common::RegisterField::<
692            4,
693            0x1,
694            1,
695            0,
696            icusara::Sairqcr04,
697            Icusara_SPEC,
698            crate::common::RW,
699        >::from_register(self, 0)
700    }
701    #[doc = "Security attributes of registers for the IRQCRn register"]
702    #[inline(always)]
703    pub fn sairqcr05(
704        self,
705    ) -> crate::common::RegisterField<
706        5,
707        0x1,
708        1,
709        0,
710        icusara::Sairqcr05,
711        Icusara_SPEC,
712        crate::common::RW,
713    > {
714        crate::common::RegisterField::<
715            5,
716            0x1,
717            1,
718            0,
719            icusara::Sairqcr05,
720            Icusara_SPEC,
721            crate::common::RW,
722        >::from_register(self, 0)
723    }
724    #[doc = "Security attributes of registers for the IRQCRn register"]
725    #[inline(always)]
726    pub fn sairqcr06(
727        self,
728    ) -> crate::common::RegisterField<
729        6,
730        0x1,
731        1,
732        0,
733        icusara::Sairqcr06,
734        Icusara_SPEC,
735        crate::common::RW,
736    > {
737        crate::common::RegisterField::<
738            6,
739            0x1,
740            1,
741            0,
742            icusara::Sairqcr06,
743            Icusara_SPEC,
744            crate::common::RW,
745        >::from_register(self, 0)
746    }
747    #[doc = "Security attributes of registers for the IRQCRn register"]
748    #[inline(always)]
749    pub fn sairqcr07(
750        self,
751    ) -> crate::common::RegisterField<
752        7,
753        0x1,
754        1,
755        0,
756        icusara::Sairqcr07,
757        Icusara_SPEC,
758        crate::common::RW,
759    > {
760        crate::common::RegisterField::<
761            7,
762            0x1,
763            1,
764            0,
765            icusara::Sairqcr07,
766            Icusara_SPEC,
767            crate::common::RW,
768        >::from_register(self, 0)
769    }
770    #[doc = "Security attributes of registers for the IRQCRn register"]
771    #[inline(always)]
772    pub fn sairqcr08(
773        self,
774    ) -> crate::common::RegisterField<
775        8,
776        0x1,
777        1,
778        0,
779        icusara::Sairqcr08,
780        Icusara_SPEC,
781        crate::common::RW,
782    > {
783        crate::common::RegisterField::<
784            8,
785            0x1,
786            1,
787            0,
788            icusara::Sairqcr08,
789            Icusara_SPEC,
790            crate::common::RW,
791        >::from_register(self, 0)
792    }
793    #[doc = "Security attributes of registers for the IRQCRn register"]
794    #[inline(always)]
795    pub fn sairqcr09(
796        self,
797    ) -> crate::common::RegisterField<
798        9,
799        0x1,
800        1,
801        0,
802        icusara::Sairqcr09,
803        Icusara_SPEC,
804        crate::common::RW,
805    > {
806        crate::common::RegisterField::<
807            9,
808            0x1,
809            1,
810            0,
811            icusara::Sairqcr09,
812            Icusara_SPEC,
813            crate::common::RW,
814        >::from_register(self, 0)
815    }
816    #[doc = "Security attributes of registers for the IRQCRn register"]
817    #[inline(always)]
818    pub fn sairqcr10(
819        self,
820    ) -> crate::common::RegisterField<
821        10,
822        0x1,
823        1,
824        0,
825        icusara::Sairqcr10,
826        Icusara_SPEC,
827        crate::common::RW,
828    > {
829        crate::common::RegisterField::<
830            10,
831            0x1,
832            1,
833            0,
834            icusara::Sairqcr10,
835            Icusara_SPEC,
836            crate::common::RW,
837        >::from_register(self, 0)
838    }
839    #[doc = "Security attributes of registers for the IRQCRn register"]
840    #[inline(always)]
841    pub fn sairqcr11(
842        self,
843    ) -> crate::common::RegisterField<
844        11,
845        0x1,
846        1,
847        0,
848        icusara::Sairqcr11,
849        Icusara_SPEC,
850        crate::common::RW,
851    > {
852        crate::common::RegisterField::<
853            11,
854            0x1,
855            1,
856            0,
857            icusara::Sairqcr11,
858            Icusara_SPEC,
859            crate::common::RW,
860        >::from_register(self, 0)
861    }
862    #[doc = "Security attributes of registers for the IRQCRn register"]
863    #[inline(always)]
864    pub fn sairqcr12(
865        self,
866    ) -> crate::common::RegisterField<
867        12,
868        0x1,
869        1,
870        0,
871        icusara::Sairqcr12,
872        Icusara_SPEC,
873        crate::common::RW,
874    > {
875        crate::common::RegisterField::<
876            12,
877            0x1,
878            1,
879            0,
880            icusara::Sairqcr12,
881            Icusara_SPEC,
882            crate::common::RW,
883        >::from_register(self, 0)
884    }
885    #[doc = "Security attributes of registers for the IRQCRn register"]
886    #[inline(always)]
887    pub fn sairqcr13(
888        self,
889    ) -> crate::common::RegisterField<
890        13,
891        0x1,
892        1,
893        0,
894        icusara::Sairqcr13,
895        Icusara_SPEC,
896        crate::common::RW,
897    > {
898        crate::common::RegisterField::<
899            13,
900            0x1,
901            1,
902            0,
903            icusara::Sairqcr13,
904            Icusara_SPEC,
905            crate::common::RW,
906        >::from_register(self, 0)
907    }
908    #[doc = "Security attributes of registers for the IRQCRn register"]
909    #[inline(always)]
910    pub fn sairqcr14(
911        self,
912    ) -> crate::common::RegisterField<
913        14,
914        0x1,
915        1,
916        0,
917        icusara::Sairqcr14,
918        Icusara_SPEC,
919        crate::common::RW,
920    > {
921        crate::common::RegisterField::<
922            14,
923            0x1,
924            1,
925            0,
926            icusara::Sairqcr14,
927            Icusara_SPEC,
928            crate::common::RW,
929        >::from_register(self, 0)
930    }
931}
932impl ::core::default::Default for Icusara {
933    #[inline(always)]
934    fn default() -> Icusara {
935        <crate::RegValueT<Icusara_SPEC> as RegisterValue<_>>::new(4294967295)
936    }
937}
938pub mod icusara {
939
940    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
941    pub struct Sairqcr00_SPEC;
942    pub type Sairqcr00 = crate::EnumBitfieldStruct<u8, Sairqcr00_SPEC>;
943    impl Sairqcr00 {
944        #[doc = "Secure"]
945        pub const _0: Self = Self::new(0);
946        #[doc = "Non-secure"]
947        pub const _1: Self = Self::new(1);
948    }
949    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
950    pub struct Sairqcr01_SPEC;
951    pub type Sairqcr01 = crate::EnumBitfieldStruct<u8, Sairqcr01_SPEC>;
952    impl Sairqcr01 {
953        #[doc = "Secure"]
954        pub const _0: Self = Self::new(0);
955        #[doc = "Non-secure"]
956        pub const _1: Self = Self::new(1);
957    }
958    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
959    pub struct Sairqcr02_SPEC;
960    pub type Sairqcr02 = crate::EnumBitfieldStruct<u8, Sairqcr02_SPEC>;
961    impl Sairqcr02 {
962        #[doc = "Secure"]
963        pub const _0: Self = Self::new(0);
964        #[doc = "Non-secure"]
965        pub const _1: Self = Self::new(1);
966    }
967    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
968    pub struct Sairqcr03_SPEC;
969    pub type Sairqcr03 = crate::EnumBitfieldStruct<u8, Sairqcr03_SPEC>;
970    impl Sairqcr03 {
971        #[doc = "Secure"]
972        pub const _0: Self = Self::new(0);
973        #[doc = "Non-secure"]
974        pub const _1: Self = Self::new(1);
975    }
976    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
977    pub struct Sairqcr04_SPEC;
978    pub type Sairqcr04 = crate::EnumBitfieldStruct<u8, Sairqcr04_SPEC>;
979    impl Sairqcr04 {
980        #[doc = "Secure"]
981        pub const _0: Self = Self::new(0);
982        #[doc = "Non-secure"]
983        pub const _1: Self = Self::new(1);
984    }
985    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
986    pub struct Sairqcr05_SPEC;
987    pub type Sairqcr05 = crate::EnumBitfieldStruct<u8, Sairqcr05_SPEC>;
988    impl Sairqcr05 {
989        #[doc = "Secure"]
990        pub const _0: Self = Self::new(0);
991        #[doc = "Non-secure"]
992        pub const _1: Self = Self::new(1);
993    }
994    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
995    pub struct Sairqcr06_SPEC;
996    pub type Sairqcr06 = crate::EnumBitfieldStruct<u8, Sairqcr06_SPEC>;
997    impl Sairqcr06 {
998        #[doc = "Secure"]
999        pub const _0: Self = Self::new(0);
1000        #[doc = "Non-secure"]
1001        pub const _1: Self = Self::new(1);
1002    }
1003    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1004    pub struct Sairqcr07_SPEC;
1005    pub type Sairqcr07 = crate::EnumBitfieldStruct<u8, Sairqcr07_SPEC>;
1006    impl Sairqcr07 {
1007        #[doc = "Secure"]
1008        pub const _0: Self = Self::new(0);
1009        #[doc = "Non-secure"]
1010        pub const _1: Self = Self::new(1);
1011    }
1012    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1013    pub struct Sairqcr08_SPEC;
1014    pub type Sairqcr08 = crate::EnumBitfieldStruct<u8, Sairqcr08_SPEC>;
1015    impl Sairqcr08 {
1016        #[doc = "Secure"]
1017        pub const _0: Self = Self::new(0);
1018        #[doc = "Non-secure"]
1019        pub const _1: Self = Self::new(1);
1020    }
1021    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1022    pub struct Sairqcr09_SPEC;
1023    pub type Sairqcr09 = crate::EnumBitfieldStruct<u8, Sairqcr09_SPEC>;
1024    impl Sairqcr09 {
1025        #[doc = "Secure"]
1026        pub const _0: Self = Self::new(0);
1027        #[doc = "Non-secure"]
1028        pub const _1: Self = Self::new(1);
1029    }
1030    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1031    pub struct Sairqcr10_SPEC;
1032    pub type Sairqcr10 = crate::EnumBitfieldStruct<u8, Sairqcr10_SPEC>;
1033    impl Sairqcr10 {
1034        #[doc = "Secure"]
1035        pub const _0: Self = Self::new(0);
1036        #[doc = "Non-secure"]
1037        pub const _1: Self = Self::new(1);
1038    }
1039    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1040    pub struct Sairqcr11_SPEC;
1041    pub type Sairqcr11 = crate::EnumBitfieldStruct<u8, Sairqcr11_SPEC>;
1042    impl Sairqcr11 {
1043        #[doc = "Secure"]
1044        pub const _0: Self = Self::new(0);
1045        #[doc = "Non-secure"]
1046        pub const _1: Self = Self::new(1);
1047    }
1048    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1049    pub struct Sairqcr12_SPEC;
1050    pub type Sairqcr12 = crate::EnumBitfieldStruct<u8, Sairqcr12_SPEC>;
1051    impl Sairqcr12 {
1052        #[doc = "Secure"]
1053        pub const _0: Self = Self::new(0);
1054        #[doc = "Non-secure"]
1055        pub const _1: Self = Self::new(1);
1056    }
1057    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1058    pub struct Sairqcr13_SPEC;
1059    pub type Sairqcr13 = crate::EnumBitfieldStruct<u8, Sairqcr13_SPEC>;
1060    impl Sairqcr13 {
1061        #[doc = "Secure"]
1062        pub const _0: Self = Self::new(0);
1063        #[doc = "Non-secure"]
1064        pub const _1: Self = Self::new(1);
1065    }
1066    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1067    pub struct Sairqcr14_SPEC;
1068    pub type Sairqcr14 = crate::EnumBitfieldStruct<u8, Sairqcr14_SPEC>;
1069    impl Sairqcr14 {
1070        #[doc = "Secure"]
1071        pub const _0: Self = Self::new(0);
1072        #[doc = "Non-secure"]
1073        pub const _1: Self = Self::new(1);
1074    }
1075}
1076#[doc(hidden)]
1077#[derive(Copy, Clone, Eq, PartialEq)]
1078pub struct Icusarb_SPEC;
1079impl crate::sealed::RegSpec for Icusarb_SPEC {
1080    type DataType = u32;
1081}
1082#[doc = "Interrupt Controller Unit Security Attribution Register B"]
1083pub type Icusarb = crate::RegValueT<Icusarb_SPEC>;
1084
1085impl Icusarb {
1086    #[doc = "Security attributes of registers for nonmaskable interrupt"]
1087    #[inline(always)]
1088    pub fn sanmi(
1089        self,
1090    ) -> crate::common::RegisterField<0, 0x1, 1, 0, icusarb::Sanmi, Icusarb_SPEC, crate::common::RW>
1091    {
1092        crate::common::RegisterField::<0,0x1,1,0,icusarb::Sanmi, Icusarb_SPEC,crate::common::RW>::from_register(self,0)
1093    }
1094}
1095impl ::core::default::Default for Icusarb {
1096    #[inline(always)]
1097    fn default() -> Icusarb {
1098        <crate::RegValueT<Icusarb_SPEC> as RegisterValue<_>>::new(4294967295)
1099    }
1100}
1101pub mod icusarb {
1102
1103    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1104    pub struct Sanmi_SPEC;
1105    pub type Sanmi = crate::EnumBitfieldStruct<u8, Sanmi_SPEC>;
1106    impl Sanmi {
1107        #[doc = "Secure"]
1108        pub const _0: Self = Self::new(0);
1109        #[doc = "Non-secure"]
1110        pub const _1: Self = Self::new(1);
1111    }
1112}
1113#[doc(hidden)]
1114#[derive(Copy, Clone, Eq, PartialEq)]
1115pub struct Icusarc_SPEC;
1116impl crate::sealed::RegSpec for Icusarc_SPEC {
1117    type DataType = u32;
1118}
1119#[doc = "Interrupt Controller Unit Security Attribution Register C"]
1120pub type Icusarc = crate::RegValueT<Icusarc_SPEC>;
1121
1122impl Icusarc {
1123    #[doc = "Security attributes of registers for DMAC channel"]
1124    #[inline(always)]
1125    pub fn sadmac0(
1126        self,
1127    ) -> crate::common::RegisterField<0, 0x1, 1, 0, icusarc::Sadmac0, Icusarc_SPEC, crate::common::RW>
1128    {
1129        crate::common::RegisterField::<
1130            0,
1131            0x1,
1132            1,
1133            0,
1134            icusarc::Sadmac0,
1135            Icusarc_SPEC,
1136            crate::common::RW,
1137        >::from_register(self, 0)
1138    }
1139    #[doc = "Security attributes of registers for DMAC channel"]
1140    #[inline(always)]
1141    pub fn sadmac1(
1142        self,
1143    ) -> crate::common::RegisterField<1, 0x1, 1, 0, icusarc::Sadmac1, Icusarc_SPEC, crate::common::RW>
1144    {
1145        crate::common::RegisterField::<
1146            1,
1147            0x1,
1148            1,
1149            0,
1150            icusarc::Sadmac1,
1151            Icusarc_SPEC,
1152            crate::common::RW,
1153        >::from_register(self, 0)
1154    }
1155    #[doc = "Security attributes of registers for DMAC channel"]
1156    #[inline(always)]
1157    pub fn sadmac2(
1158        self,
1159    ) -> crate::common::RegisterField<2, 0x1, 1, 0, icusarc::Sadmac2, Icusarc_SPEC, crate::common::RW>
1160    {
1161        crate::common::RegisterField::<
1162            2,
1163            0x1,
1164            1,
1165            0,
1166            icusarc::Sadmac2,
1167            Icusarc_SPEC,
1168            crate::common::RW,
1169        >::from_register(self, 0)
1170    }
1171    #[doc = "Security attributes of registers for DMAC channel"]
1172    #[inline(always)]
1173    pub fn sadmac3(
1174        self,
1175    ) -> crate::common::RegisterField<3, 0x1, 1, 0, icusarc::Sadmac3, Icusarc_SPEC, crate::common::RW>
1176    {
1177        crate::common::RegisterField::<
1178            3,
1179            0x1,
1180            1,
1181            0,
1182            icusarc::Sadmac3,
1183            Icusarc_SPEC,
1184            crate::common::RW,
1185        >::from_register(self, 0)
1186    }
1187    #[doc = "Security attributes of registers for DMAC channel"]
1188    #[inline(always)]
1189    pub fn sadmac4(
1190        self,
1191    ) -> crate::common::RegisterField<4, 0x1, 1, 0, icusarc::Sadmac4, Icusarc_SPEC, crate::common::RW>
1192    {
1193        crate::common::RegisterField::<
1194            4,
1195            0x1,
1196            1,
1197            0,
1198            icusarc::Sadmac4,
1199            Icusarc_SPEC,
1200            crate::common::RW,
1201        >::from_register(self, 0)
1202    }
1203    #[doc = "Security attributes of registers for DMAC channel"]
1204    #[inline(always)]
1205    pub fn sadmac5(
1206        self,
1207    ) -> crate::common::RegisterField<5, 0x1, 1, 0, icusarc::Sadmac5, Icusarc_SPEC, crate::common::RW>
1208    {
1209        crate::common::RegisterField::<
1210            5,
1211            0x1,
1212            1,
1213            0,
1214            icusarc::Sadmac5,
1215            Icusarc_SPEC,
1216            crate::common::RW,
1217        >::from_register(self, 0)
1218    }
1219    #[doc = "Security attributes of registers for DMAC channel"]
1220    #[inline(always)]
1221    pub fn sadmac6(
1222        self,
1223    ) -> crate::common::RegisterField<6, 0x1, 1, 0, icusarc::Sadmac6, Icusarc_SPEC, crate::common::RW>
1224    {
1225        crate::common::RegisterField::<
1226            6,
1227            0x1,
1228            1,
1229            0,
1230            icusarc::Sadmac6,
1231            Icusarc_SPEC,
1232            crate::common::RW,
1233        >::from_register(self, 0)
1234    }
1235    #[doc = "Security attributes of registers for DMAC channel"]
1236    #[inline(always)]
1237    pub fn sadmac7(
1238        self,
1239    ) -> crate::common::RegisterField<7, 0x1, 1, 0, icusarc::Sadmac7, Icusarc_SPEC, crate::common::RW>
1240    {
1241        crate::common::RegisterField::<
1242            7,
1243            0x1,
1244            1,
1245            0,
1246            icusarc::Sadmac7,
1247            Icusarc_SPEC,
1248            crate::common::RW,
1249        >::from_register(self, 0)
1250    }
1251}
1252impl ::core::default::Default for Icusarc {
1253    #[inline(always)]
1254    fn default() -> Icusarc {
1255        <crate::RegValueT<Icusarc_SPEC> as RegisterValue<_>>::new(4294967295)
1256    }
1257}
1258pub mod icusarc {
1259
1260    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1261    pub struct Sadmac0_SPEC;
1262    pub type Sadmac0 = crate::EnumBitfieldStruct<u8, Sadmac0_SPEC>;
1263    impl Sadmac0 {
1264        #[doc = "Secure"]
1265        pub const _0: Self = Self::new(0);
1266        #[doc = "Non-secure"]
1267        pub const _1: Self = Self::new(1);
1268    }
1269    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1270    pub struct Sadmac1_SPEC;
1271    pub type Sadmac1 = crate::EnumBitfieldStruct<u8, Sadmac1_SPEC>;
1272    impl Sadmac1 {
1273        #[doc = "Secure"]
1274        pub const _0: Self = Self::new(0);
1275        #[doc = "Non-secure"]
1276        pub const _1: Self = Self::new(1);
1277    }
1278    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1279    pub struct Sadmac2_SPEC;
1280    pub type Sadmac2 = crate::EnumBitfieldStruct<u8, Sadmac2_SPEC>;
1281    impl Sadmac2 {
1282        #[doc = "Secure"]
1283        pub const _0: Self = Self::new(0);
1284        #[doc = "Non-secure"]
1285        pub const _1: Self = Self::new(1);
1286    }
1287    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1288    pub struct Sadmac3_SPEC;
1289    pub type Sadmac3 = crate::EnumBitfieldStruct<u8, Sadmac3_SPEC>;
1290    impl Sadmac3 {
1291        #[doc = "Secure"]
1292        pub const _0: Self = Self::new(0);
1293        #[doc = "Non-secure"]
1294        pub const _1: Self = Self::new(1);
1295    }
1296    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1297    pub struct Sadmac4_SPEC;
1298    pub type Sadmac4 = crate::EnumBitfieldStruct<u8, Sadmac4_SPEC>;
1299    impl Sadmac4 {
1300        #[doc = "Secure"]
1301        pub const _0: Self = Self::new(0);
1302        #[doc = "Non-secure"]
1303        pub const _1: Self = Self::new(1);
1304    }
1305    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1306    pub struct Sadmac5_SPEC;
1307    pub type Sadmac5 = crate::EnumBitfieldStruct<u8, Sadmac5_SPEC>;
1308    impl Sadmac5 {
1309        #[doc = "Secure"]
1310        pub const _0: Self = Self::new(0);
1311        #[doc = "Non-secure"]
1312        pub const _1: Self = Self::new(1);
1313    }
1314    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1315    pub struct Sadmac6_SPEC;
1316    pub type Sadmac6 = crate::EnumBitfieldStruct<u8, Sadmac6_SPEC>;
1317    impl Sadmac6 {
1318        #[doc = "Secure"]
1319        pub const _0: Self = Self::new(0);
1320        #[doc = "Non-secure"]
1321        pub const _1: Self = Self::new(1);
1322    }
1323    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1324    pub struct Sadmac7_SPEC;
1325    pub type Sadmac7 = crate::EnumBitfieldStruct<u8, Sadmac7_SPEC>;
1326    impl Sadmac7 {
1327        #[doc = "Secure"]
1328        pub const _0: Self = Self::new(0);
1329        #[doc = "Non-secure"]
1330        pub const _1: Self = Self::new(1);
1331    }
1332}
1333#[doc(hidden)]
1334#[derive(Copy, Clone, Eq, PartialEq)]
1335pub struct Icusard_SPEC;
1336impl crate::sealed::RegSpec for Icusard_SPEC {
1337    type DataType = u32;
1338}
1339#[doc = "Interrupt Controller Unit Security Attribution Register D"]
1340pub type Icusard = crate::RegValueT<Icusard_SPEC>;
1341
1342impl Icusard {
1343    #[doc = "Security attributes of registers for SELSR0"]
1344    #[inline(always)]
1345    pub fn saselsr0(
1346        self,
1347    ) -> crate::common::RegisterField<
1348        0,
1349        0x1,
1350        1,
1351        0,
1352        icusard::Saselsr0,
1353        Icusard_SPEC,
1354        crate::common::RW,
1355    > {
1356        crate::common::RegisterField::<
1357            0,
1358            0x1,
1359            1,
1360            0,
1361            icusard::Saselsr0,
1362            Icusard_SPEC,
1363            crate::common::RW,
1364        >::from_register(self, 0)
1365    }
1366}
1367impl ::core::default::Default for Icusard {
1368    #[inline(always)]
1369    fn default() -> Icusard {
1370        <crate::RegValueT<Icusard_SPEC> as RegisterValue<_>>::new(4294967295)
1371    }
1372}
1373pub mod icusard {
1374
1375    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1376    pub struct Saselsr0_SPEC;
1377    pub type Saselsr0 = crate::EnumBitfieldStruct<u8, Saselsr0_SPEC>;
1378    impl Saselsr0 {
1379        #[doc = "Secure"]
1380        pub const _0: Self = Self::new(0);
1381        #[doc = "Non-secure"]
1382        pub const _1: Self = Self::new(1);
1383    }
1384}
1385#[doc(hidden)]
1386#[derive(Copy, Clone, Eq, PartialEq)]
1387pub struct Icusarf_SPEC;
1388impl crate::sealed::RegSpec for Icusarf_SPEC {
1389    type DataType = u32;
1390}
1391#[doc = "Interrupt Controller Unit Security Attribution Register F"]
1392pub type Icusarf = crate::RegValueT<Icusarf_SPEC>;
1393
1394impl Icusarf {
1395    #[doc = "Security attributes of registers for WUPEN1.b11"]
1396    #[inline(always)]
1397    pub fn sai3cwup(
1398        self,
1399    ) -> crate::common::RegisterField<
1400        11,
1401        0x1,
1402        1,
1403        0,
1404        icusarf::Sai3Cwup,
1405        Icusarf_SPEC,
1406        crate::common::RW,
1407    > {
1408        crate::common::RegisterField::<
1409            11,
1410            0x1,
1411            1,
1412            0,
1413            icusarf::Sai3Cwup,
1414            Icusarf_SPEC,
1415            crate::common::RW,
1416        >::from_register(self, 0)
1417    }
1418}
1419impl ::core::default::Default for Icusarf {
1420    #[inline(always)]
1421    fn default() -> Icusarf {
1422        <crate::RegValueT<Icusarf_SPEC> as RegisterValue<_>>::new(4294967295)
1423    }
1424}
1425pub mod icusarf {
1426
1427    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1428    pub struct Sai3Cwup_SPEC;
1429    pub type Sai3Cwup = crate::EnumBitfieldStruct<u8, Sai3Cwup_SPEC>;
1430    impl Sai3Cwup {
1431        #[doc = "Secure"]
1432        pub const _0: Self = Self::new(0);
1433        #[doc = "Non-secure"]
1434        pub const _1: Self = Self::new(1);
1435    }
1436}
1437#[doc(hidden)]
1438#[derive(Copy, Clone, Eq, PartialEq)]
1439pub struct Icusarg_SPEC;
1440impl crate::sealed::RegSpec for Icusarg_SPEC {
1441    type DataType = u32;
1442}
1443#[doc = "Interrupt Controller Unit Security Attribution Register G"]
1444pub type Icusarg = crate::RegValueT<Icusarg_SPEC>;
1445
1446impl Icusarg {
1447    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1448    #[inline(always)]
1449    pub fn saielsr00(
1450        self,
1451    ) -> crate::common::RegisterField<
1452        0,
1453        0x1,
1454        1,
1455        0,
1456        icusarg::Saielsr00,
1457        Icusarg_SPEC,
1458        crate::common::RW,
1459    > {
1460        crate::common::RegisterField::<
1461            0,
1462            0x1,
1463            1,
1464            0,
1465            icusarg::Saielsr00,
1466            Icusarg_SPEC,
1467            crate::common::RW,
1468        >::from_register(self, 0)
1469    }
1470    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1471    #[inline(always)]
1472    pub fn saielsr01(
1473        self,
1474    ) -> crate::common::RegisterField<
1475        1,
1476        0x1,
1477        1,
1478        0,
1479        icusarg::Saielsr01,
1480        Icusarg_SPEC,
1481        crate::common::RW,
1482    > {
1483        crate::common::RegisterField::<
1484            1,
1485            0x1,
1486            1,
1487            0,
1488            icusarg::Saielsr01,
1489            Icusarg_SPEC,
1490            crate::common::RW,
1491        >::from_register(self, 0)
1492    }
1493    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1494    #[inline(always)]
1495    pub fn saielsr02(
1496        self,
1497    ) -> crate::common::RegisterField<
1498        2,
1499        0x1,
1500        1,
1501        0,
1502        icusarg::Saielsr02,
1503        Icusarg_SPEC,
1504        crate::common::RW,
1505    > {
1506        crate::common::RegisterField::<
1507            2,
1508            0x1,
1509            1,
1510            0,
1511            icusarg::Saielsr02,
1512            Icusarg_SPEC,
1513            crate::common::RW,
1514        >::from_register(self, 0)
1515    }
1516    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1517    #[inline(always)]
1518    pub fn saielsr03(
1519        self,
1520    ) -> crate::common::RegisterField<
1521        3,
1522        0x1,
1523        1,
1524        0,
1525        icusarg::Saielsr03,
1526        Icusarg_SPEC,
1527        crate::common::RW,
1528    > {
1529        crate::common::RegisterField::<
1530            3,
1531            0x1,
1532            1,
1533            0,
1534            icusarg::Saielsr03,
1535            Icusarg_SPEC,
1536            crate::common::RW,
1537        >::from_register(self, 0)
1538    }
1539    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1540    #[inline(always)]
1541    pub fn saielsr04(
1542        self,
1543    ) -> crate::common::RegisterField<
1544        4,
1545        0x1,
1546        1,
1547        0,
1548        icusarg::Saielsr04,
1549        Icusarg_SPEC,
1550        crate::common::RW,
1551    > {
1552        crate::common::RegisterField::<
1553            4,
1554            0x1,
1555            1,
1556            0,
1557            icusarg::Saielsr04,
1558            Icusarg_SPEC,
1559            crate::common::RW,
1560        >::from_register(self, 0)
1561    }
1562    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1563    #[inline(always)]
1564    pub fn saielsr05(
1565        self,
1566    ) -> crate::common::RegisterField<
1567        5,
1568        0x1,
1569        1,
1570        0,
1571        icusarg::Saielsr05,
1572        Icusarg_SPEC,
1573        crate::common::RW,
1574    > {
1575        crate::common::RegisterField::<
1576            5,
1577            0x1,
1578            1,
1579            0,
1580            icusarg::Saielsr05,
1581            Icusarg_SPEC,
1582            crate::common::RW,
1583        >::from_register(self, 0)
1584    }
1585    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1586    #[inline(always)]
1587    pub fn saielsr06(
1588        self,
1589    ) -> crate::common::RegisterField<
1590        6,
1591        0x1,
1592        1,
1593        0,
1594        icusarg::Saielsr06,
1595        Icusarg_SPEC,
1596        crate::common::RW,
1597    > {
1598        crate::common::RegisterField::<
1599            6,
1600            0x1,
1601            1,
1602            0,
1603            icusarg::Saielsr06,
1604            Icusarg_SPEC,
1605            crate::common::RW,
1606        >::from_register(self, 0)
1607    }
1608    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1609    #[inline(always)]
1610    pub fn saielsr07(
1611        self,
1612    ) -> crate::common::RegisterField<
1613        7,
1614        0x1,
1615        1,
1616        0,
1617        icusarg::Saielsr07,
1618        Icusarg_SPEC,
1619        crate::common::RW,
1620    > {
1621        crate::common::RegisterField::<
1622            7,
1623            0x1,
1624            1,
1625            0,
1626            icusarg::Saielsr07,
1627            Icusarg_SPEC,
1628            crate::common::RW,
1629        >::from_register(self, 0)
1630    }
1631    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1632    #[inline(always)]
1633    pub fn saielsr08(
1634        self,
1635    ) -> crate::common::RegisterField<
1636        8,
1637        0x1,
1638        1,
1639        0,
1640        icusarg::Saielsr08,
1641        Icusarg_SPEC,
1642        crate::common::RW,
1643    > {
1644        crate::common::RegisterField::<
1645            8,
1646            0x1,
1647            1,
1648            0,
1649            icusarg::Saielsr08,
1650            Icusarg_SPEC,
1651            crate::common::RW,
1652        >::from_register(self, 0)
1653    }
1654    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1655    #[inline(always)]
1656    pub fn saielsr09(
1657        self,
1658    ) -> crate::common::RegisterField<
1659        9,
1660        0x1,
1661        1,
1662        0,
1663        icusarg::Saielsr09,
1664        Icusarg_SPEC,
1665        crate::common::RW,
1666    > {
1667        crate::common::RegisterField::<
1668            9,
1669            0x1,
1670            1,
1671            0,
1672            icusarg::Saielsr09,
1673            Icusarg_SPEC,
1674            crate::common::RW,
1675        >::from_register(self, 0)
1676    }
1677    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1678    #[inline(always)]
1679    pub fn saielsr10(
1680        self,
1681    ) -> crate::common::RegisterField<
1682        10,
1683        0x1,
1684        1,
1685        0,
1686        icusarg::Saielsr10,
1687        Icusarg_SPEC,
1688        crate::common::RW,
1689    > {
1690        crate::common::RegisterField::<
1691            10,
1692            0x1,
1693            1,
1694            0,
1695            icusarg::Saielsr10,
1696            Icusarg_SPEC,
1697            crate::common::RW,
1698        >::from_register(self, 0)
1699    }
1700    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1701    #[inline(always)]
1702    pub fn saielsr11(
1703        self,
1704    ) -> crate::common::RegisterField<
1705        11,
1706        0x1,
1707        1,
1708        0,
1709        icusarg::Saielsr11,
1710        Icusarg_SPEC,
1711        crate::common::RW,
1712    > {
1713        crate::common::RegisterField::<
1714            11,
1715            0x1,
1716            1,
1717            0,
1718            icusarg::Saielsr11,
1719            Icusarg_SPEC,
1720            crate::common::RW,
1721        >::from_register(self, 0)
1722    }
1723    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1724    #[inline(always)]
1725    pub fn saielsr12(
1726        self,
1727    ) -> crate::common::RegisterField<
1728        12,
1729        0x1,
1730        1,
1731        0,
1732        icusarg::Saielsr12,
1733        Icusarg_SPEC,
1734        crate::common::RW,
1735    > {
1736        crate::common::RegisterField::<
1737            12,
1738            0x1,
1739            1,
1740            0,
1741            icusarg::Saielsr12,
1742            Icusarg_SPEC,
1743            crate::common::RW,
1744        >::from_register(self, 0)
1745    }
1746    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1747    #[inline(always)]
1748    pub fn saielsr13(
1749        self,
1750    ) -> crate::common::RegisterField<
1751        13,
1752        0x1,
1753        1,
1754        0,
1755        icusarg::Saielsr13,
1756        Icusarg_SPEC,
1757        crate::common::RW,
1758    > {
1759        crate::common::RegisterField::<
1760            13,
1761            0x1,
1762            1,
1763            0,
1764            icusarg::Saielsr13,
1765            Icusarg_SPEC,
1766            crate::common::RW,
1767        >::from_register(self, 0)
1768    }
1769    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1770    #[inline(always)]
1771    pub fn saielsr14(
1772        self,
1773    ) -> crate::common::RegisterField<
1774        14,
1775        0x1,
1776        1,
1777        0,
1778        icusarg::Saielsr14,
1779        Icusarg_SPEC,
1780        crate::common::RW,
1781    > {
1782        crate::common::RegisterField::<
1783            14,
1784            0x1,
1785            1,
1786            0,
1787            icusarg::Saielsr14,
1788            Icusarg_SPEC,
1789            crate::common::RW,
1790        >::from_register(self, 0)
1791    }
1792    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1793    #[inline(always)]
1794    pub fn saielsr15(
1795        self,
1796    ) -> crate::common::RegisterField<
1797        15,
1798        0x1,
1799        1,
1800        0,
1801        icusarg::Saielsr15,
1802        Icusarg_SPEC,
1803        crate::common::RW,
1804    > {
1805        crate::common::RegisterField::<
1806            15,
1807            0x1,
1808            1,
1809            0,
1810            icusarg::Saielsr15,
1811            Icusarg_SPEC,
1812            crate::common::RW,
1813        >::from_register(self, 0)
1814    }
1815    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1816    #[inline(always)]
1817    pub fn saielsr16(
1818        self,
1819    ) -> crate::common::RegisterField<
1820        16,
1821        0x1,
1822        1,
1823        0,
1824        icusarg::Saielsr16,
1825        Icusarg_SPEC,
1826        crate::common::RW,
1827    > {
1828        crate::common::RegisterField::<
1829            16,
1830            0x1,
1831            1,
1832            0,
1833            icusarg::Saielsr16,
1834            Icusarg_SPEC,
1835            crate::common::RW,
1836        >::from_register(self, 0)
1837    }
1838    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1839    #[inline(always)]
1840    pub fn saielsr17(
1841        self,
1842    ) -> crate::common::RegisterField<
1843        17,
1844        0x1,
1845        1,
1846        0,
1847        icusarg::Saielsr17,
1848        Icusarg_SPEC,
1849        crate::common::RW,
1850    > {
1851        crate::common::RegisterField::<
1852            17,
1853            0x1,
1854            1,
1855            0,
1856            icusarg::Saielsr17,
1857            Icusarg_SPEC,
1858            crate::common::RW,
1859        >::from_register(self, 0)
1860    }
1861    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1862    #[inline(always)]
1863    pub fn saielsr18(
1864        self,
1865    ) -> crate::common::RegisterField<
1866        18,
1867        0x1,
1868        1,
1869        0,
1870        icusarg::Saielsr18,
1871        Icusarg_SPEC,
1872        crate::common::RW,
1873    > {
1874        crate::common::RegisterField::<
1875            18,
1876            0x1,
1877            1,
1878            0,
1879            icusarg::Saielsr18,
1880            Icusarg_SPEC,
1881            crate::common::RW,
1882        >::from_register(self, 0)
1883    }
1884    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1885    #[inline(always)]
1886    pub fn saielsr19(
1887        self,
1888    ) -> crate::common::RegisterField<
1889        19,
1890        0x1,
1891        1,
1892        0,
1893        icusarg::Saielsr19,
1894        Icusarg_SPEC,
1895        crate::common::RW,
1896    > {
1897        crate::common::RegisterField::<
1898            19,
1899            0x1,
1900            1,
1901            0,
1902            icusarg::Saielsr19,
1903            Icusarg_SPEC,
1904            crate::common::RW,
1905        >::from_register(self, 0)
1906    }
1907    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1908    #[inline(always)]
1909    pub fn saielsr20(
1910        self,
1911    ) -> crate::common::RegisterField<
1912        20,
1913        0x1,
1914        1,
1915        0,
1916        icusarg::Saielsr20,
1917        Icusarg_SPEC,
1918        crate::common::RW,
1919    > {
1920        crate::common::RegisterField::<
1921            20,
1922            0x1,
1923            1,
1924            0,
1925            icusarg::Saielsr20,
1926            Icusarg_SPEC,
1927            crate::common::RW,
1928        >::from_register(self, 0)
1929    }
1930    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1931    #[inline(always)]
1932    pub fn saielsr21(
1933        self,
1934    ) -> crate::common::RegisterField<
1935        21,
1936        0x1,
1937        1,
1938        0,
1939        icusarg::Saielsr21,
1940        Icusarg_SPEC,
1941        crate::common::RW,
1942    > {
1943        crate::common::RegisterField::<
1944            21,
1945            0x1,
1946            1,
1947            0,
1948            icusarg::Saielsr21,
1949            Icusarg_SPEC,
1950            crate::common::RW,
1951        >::from_register(self, 0)
1952    }
1953    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1954    #[inline(always)]
1955    pub fn saielsr22(
1956        self,
1957    ) -> crate::common::RegisterField<
1958        22,
1959        0x1,
1960        1,
1961        0,
1962        icusarg::Saielsr22,
1963        Icusarg_SPEC,
1964        crate::common::RW,
1965    > {
1966        crate::common::RegisterField::<
1967            22,
1968            0x1,
1969            1,
1970            0,
1971            icusarg::Saielsr22,
1972            Icusarg_SPEC,
1973            crate::common::RW,
1974        >::from_register(self, 0)
1975    }
1976    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
1977    #[inline(always)]
1978    pub fn saielsr23(
1979        self,
1980    ) -> crate::common::RegisterField<
1981        23,
1982        0x1,
1983        1,
1984        0,
1985        icusarg::Saielsr23,
1986        Icusarg_SPEC,
1987        crate::common::RW,
1988    > {
1989        crate::common::RegisterField::<
1990            23,
1991            0x1,
1992            1,
1993            0,
1994            icusarg::Saielsr23,
1995            Icusarg_SPEC,
1996            crate::common::RW,
1997        >::from_register(self, 0)
1998    }
1999    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
2000    #[inline(always)]
2001    pub fn saielsr24(
2002        self,
2003    ) -> crate::common::RegisterField<
2004        24,
2005        0x1,
2006        1,
2007        0,
2008        icusarg::Saielsr24,
2009        Icusarg_SPEC,
2010        crate::common::RW,
2011    > {
2012        crate::common::RegisterField::<
2013            24,
2014            0x1,
2015            1,
2016            0,
2017            icusarg::Saielsr24,
2018            Icusarg_SPEC,
2019            crate::common::RW,
2020        >::from_register(self, 0)
2021    }
2022    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
2023    #[inline(always)]
2024    pub fn saielsr25(
2025        self,
2026    ) -> crate::common::RegisterField<
2027        25,
2028        0x1,
2029        1,
2030        0,
2031        icusarg::Saielsr25,
2032        Icusarg_SPEC,
2033        crate::common::RW,
2034    > {
2035        crate::common::RegisterField::<
2036            25,
2037            0x1,
2038            1,
2039            0,
2040            icusarg::Saielsr25,
2041            Icusarg_SPEC,
2042            crate::common::RW,
2043        >::from_register(self, 0)
2044    }
2045    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
2046    #[inline(always)]
2047    pub fn saielsr26(
2048        self,
2049    ) -> crate::common::RegisterField<
2050        26,
2051        0x1,
2052        1,
2053        0,
2054        icusarg::Saielsr26,
2055        Icusarg_SPEC,
2056        crate::common::RW,
2057    > {
2058        crate::common::RegisterField::<
2059            26,
2060            0x1,
2061            1,
2062            0,
2063            icusarg::Saielsr26,
2064            Icusarg_SPEC,
2065            crate::common::RW,
2066        >::from_register(self, 0)
2067    }
2068    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
2069    #[inline(always)]
2070    pub fn saielsr27(
2071        self,
2072    ) -> crate::common::RegisterField<
2073        27,
2074        0x1,
2075        1,
2076        0,
2077        icusarg::Saielsr27,
2078        Icusarg_SPEC,
2079        crate::common::RW,
2080    > {
2081        crate::common::RegisterField::<
2082            27,
2083            0x1,
2084            1,
2085            0,
2086            icusarg::Saielsr27,
2087            Icusarg_SPEC,
2088            crate::common::RW,
2089        >::from_register(self, 0)
2090    }
2091    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
2092    #[inline(always)]
2093    pub fn saielsr28(
2094        self,
2095    ) -> crate::common::RegisterField<
2096        28,
2097        0x1,
2098        1,
2099        0,
2100        icusarg::Saielsr28,
2101        Icusarg_SPEC,
2102        crate::common::RW,
2103    > {
2104        crate::common::RegisterField::<
2105            28,
2106            0x1,
2107            1,
2108            0,
2109            icusarg::Saielsr28,
2110            Icusarg_SPEC,
2111            crate::common::RW,
2112        >::from_register(self, 0)
2113    }
2114    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
2115    #[inline(always)]
2116    pub fn saielsr29(
2117        self,
2118    ) -> crate::common::RegisterField<
2119        29,
2120        0x1,
2121        1,
2122        0,
2123        icusarg::Saielsr29,
2124        Icusarg_SPEC,
2125        crate::common::RW,
2126    > {
2127        crate::common::RegisterField::<
2128            29,
2129            0x1,
2130            1,
2131            0,
2132            icusarg::Saielsr29,
2133            Icusarg_SPEC,
2134            crate::common::RW,
2135        >::from_register(self, 0)
2136    }
2137    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
2138    #[inline(always)]
2139    pub fn saielsr30(
2140        self,
2141    ) -> crate::common::RegisterField<
2142        30,
2143        0x1,
2144        1,
2145        0,
2146        icusarg::Saielsr30,
2147        Icusarg_SPEC,
2148        crate::common::RW,
2149    > {
2150        crate::common::RegisterField::<
2151            30,
2152            0x1,
2153            1,
2154            0,
2155            icusarg::Saielsr30,
2156            Icusarg_SPEC,
2157            crate::common::RW,
2158        >::from_register(self, 0)
2159    }
2160    #[doc = "Security attributes of registers for IELSR31 to IELSR0"]
2161    #[inline(always)]
2162    pub fn saielsr31(
2163        self,
2164    ) -> crate::common::RegisterField<
2165        31,
2166        0x1,
2167        1,
2168        0,
2169        icusarg::Saielsr31,
2170        Icusarg_SPEC,
2171        crate::common::RW,
2172    > {
2173        crate::common::RegisterField::<
2174            31,
2175            0x1,
2176            1,
2177            0,
2178            icusarg::Saielsr31,
2179            Icusarg_SPEC,
2180            crate::common::RW,
2181        >::from_register(self, 0)
2182    }
2183}
2184impl ::core::default::Default for Icusarg {
2185    #[inline(always)]
2186    fn default() -> Icusarg {
2187        <crate::RegValueT<Icusarg_SPEC> as RegisterValue<_>>::new(4294967295)
2188    }
2189}
2190pub mod icusarg {
2191
2192    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2193    pub struct Saielsr00_SPEC;
2194    pub type Saielsr00 = crate::EnumBitfieldStruct<u8, Saielsr00_SPEC>;
2195    impl Saielsr00 {
2196        #[doc = "Secure"]
2197        pub const _0: Self = Self::new(0);
2198        #[doc = "Non-secure"]
2199        pub const _1: Self = Self::new(1);
2200    }
2201    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2202    pub struct Saielsr01_SPEC;
2203    pub type Saielsr01 = crate::EnumBitfieldStruct<u8, Saielsr01_SPEC>;
2204    impl Saielsr01 {
2205        #[doc = "Secure"]
2206        pub const _0: Self = Self::new(0);
2207        #[doc = "Non-secure"]
2208        pub const _1: Self = Self::new(1);
2209    }
2210    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2211    pub struct Saielsr02_SPEC;
2212    pub type Saielsr02 = crate::EnumBitfieldStruct<u8, Saielsr02_SPEC>;
2213    impl Saielsr02 {
2214        #[doc = "Secure"]
2215        pub const _0: Self = Self::new(0);
2216        #[doc = "Non-secure"]
2217        pub const _1: Self = Self::new(1);
2218    }
2219    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2220    pub struct Saielsr03_SPEC;
2221    pub type Saielsr03 = crate::EnumBitfieldStruct<u8, Saielsr03_SPEC>;
2222    impl Saielsr03 {
2223        #[doc = "Secure"]
2224        pub const _0: Self = Self::new(0);
2225        #[doc = "Non-secure"]
2226        pub const _1: Self = Self::new(1);
2227    }
2228    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2229    pub struct Saielsr04_SPEC;
2230    pub type Saielsr04 = crate::EnumBitfieldStruct<u8, Saielsr04_SPEC>;
2231    impl Saielsr04 {
2232        #[doc = "Secure"]
2233        pub const _0: Self = Self::new(0);
2234        #[doc = "Non-secure"]
2235        pub const _1: Self = Self::new(1);
2236    }
2237    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2238    pub struct Saielsr05_SPEC;
2239    pub type Saielsr05 = crate::EnumBitfieldStruct<u8, Saielsr05_SPEC>;
2240    impl Saielsr05 {
2241        #[doc = "Secure"]
2242        pub const _0: Self = Self::new(0);
2243        #[doc = "Non-secure"]
2244        pub const _1: Self = Self::new(1);
2245    }
2246    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2247    pub struct Saielsr06_SPEC;
2248    pub type Saielsr06 = crate::EnumBitfieldStruct<u8, Saielsr06_SPEC>;
2249    impl Saielsr06 {
2250        #[doc = "Secure"]
2251        pub const _0: Self = Self::new(0);
2252        #[doc = "Non-secure"]
2253        pub const _1: Self = Self::new(1);
2254    }
2255    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2256    pub struct Saielsr07_SPEC;
2257    pub type Saielsr07 = crate::EnumBitfieldStruct<u8, Saielsr07_SPEC>;
2258    impl Saielsr07 {
2259        #[doc = "Secure"]
2260        pub const _0: Self = Self::new(0);
2261        #[doc = "Non-secure"]
2262        pub const _1: Self = Self::new(1);
2263    }
2264    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2265    pub struct Saielsr08_SPEC;
2266    pub type Saielsr08 = crate::EnumBitfieldStruct<u8, Saielsr08_SPEC>;
2267    impl Saielsr08 {
2268        #[doc = "Secure"]
2269        pub const _0: Self = Self::new(0);
2270        #[doc = "Non-secure"]
2271        pub const _1: Self = Self::new(1);
2272    }
2273    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2274    pub struct Saielsr09_SPEC;
2275    pub type Saielsr09 = crate::EnumBitfieldStruct<u8, Saielsr09_SPEC>;
2276    impl Saielsr09 {
2277        #[doc = "Secure"]
2278        pub const _0: Self = Self::new(0);
2279        #[doc = "Non-secure"]
2280        pub const _1: Self = Self::new(1);
2281    }
2282    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2283    pub struct Saielsr10_SPEC;
2284    pub type Saielsr10 = crate::EnumBitfieldStruct<u8, Saielsr10_SPEC>;
2285    impl Saielsr10 {
2286        #[doc = "Secure"]
2287        pub const _0: Self = Self::new(0);
2288        #[doc = "Non-secure"]
2289        pub const _1: Self = Self::new(1);
2290    }
2291    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2292    pub struct Saielsr11_SPEC;
2293    pub type Saielsr11 = crate::EnumBitfieldStruct<u8, Saielsr11_SPEC>;
2294    impl Saielsr11 {
2295        #[doc = "Secure"]
2296        pub const _0: Self = Self::new(0);
2297        #[doc = "Non-secure"]
2298        pub const _1: Self = Self::new(1);
2299    }
2300    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2301    pub struct Saielsr12_SPEC;
2302    pub type Saielsr12 = crate::EnumBitfieldStruct<u8, Saielsr12_SPEC>;
2303    impl Saielsr12 {
2304        #[doc = "Secure"]
2305        pub const _0: Self = Self::new(0);
2306        #[doc = "Non-secure"]
2307        pub const _1: Self = Self::new(1);
2308    }
2309    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2310    pub struct Saielsr13_SPEC;
2311    pub type Saielsr13 = crate::EnumBitfieldStruct<u8, Saielsr13_SPEC>;
2312    impl Saielsr13 {
2313        #[doc = "Secure"]
2314        pub const _0: Self = Self::new(0);
2315        #[doc = "Non-secure"]
2316        pub const _1: Self = Self::new(1);
2317    }
2318    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2319    pub struct Saielsr14_SPEC;
2320    pub type Saielsr14 = crate::EnumBitfieldStruct<u8, Saielsr14_SPEC>;
2321    impl Saielsr14 {
2322        #[doc = "Secure"]
2323        pub const _0: Self = Self::new(0);
2324        #[doc = "Non-secure"]
2325        pub const _1: Self = Self::new(1);
2326    }
2327    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2328    pub struct Saielsr15_SPEC;
2329    pub type Saielsr15 = crate::EnumBitfieldStruct<u8, Saielsr15_SPEC>;
2330    impl Saielsr15 {
2331        #[doc = "Secure"]
2332        pub const _0: Self = Self::new(0);
2333        #[doc = "Non-secure"]
2334        pub const _1: Self = Self::new(1);
2335    }
2336    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2337    pub struct Saielsr16_SPEC;
2338    pub type Saielsr16 = crate::EnumBitfieldStruct<u8, Saielsr16_SPEC>;
2339    impl Saielsr16 {
2340        #[doc = "Secure"]
2341        pub const _0: Self = Self::new(0);
2342        #[doc = "Non-secure"]
2343        pub const _1: Self = Self::new(1);
2344    }
2345    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2346    pub struct Saielsr17_SPEC;
2347    pub type Saielsr17 = crate::EnumBitfieldStruct<u8, Saielsr17_SPEC>;
2348    impl Saielsr17 {
2349        #[doc = "Secure"]
2350        pub const _0: Self = Self::new(0);
2351        #[doc = "Non-secure"]
2352        pub const _1: Self = Self::new(1);
2353    }
2354    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2355    pub struct Saielsr18_SPEC;
2356    pub type Saielsr18 = crate::EnumBitfieldStruct<u8, Saielsr18_SPEC>;
2357    impl Saielsr18 {
2358        #[doc = "Secure"]
2359        pub const _0: Self = Self::new(0);
2360        #[doc = "Non-secure"]
2361        pub const _1: Self = Self::new(1);
2362    }
2363    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2364    pub struct Saielsr19_SPEC;
2365    pub type Saielsr19 = crate::EnumBitfieldStruct<u8, Saielsr19_SPEC>;
2366    impl Saielsr19 {
2367        #[doc = "Secure"]
2368        pub const _0: Self = Self::new(0);
2369        #[doc = "Non-secure"]
2370        pub const _1: Self = Self::new(1);
2371    }
2372    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2373    pub struct Saielsr20_SPEC;
2374    pub type Saielsr20 = crate::EnumBitfieldStruct<u8, Saielsr20_SPEC>;
2375    impl Saielsr20 {
2376        #[doc = "Secure"]
2377        pub const _0: Self = Self::new(0);
2378        #[doc = "Non-secure"]
2379        pub const _1: Self = Self::new(1);
2380    }
2381    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2382    pub struct Saielsr21_SPEC;
2383    pub type Saielsr21 = crate::EnumBitfieldStruct<u8, Saielsr21_SPEC>;
2384    impl Saielsr21 {
2385        #[doc = "Secure"]
2386        pub const _0: Self = Self::new(0);
2387        #[doc = "Non-secure"]
2388        pub const _1: Self = Self::new(1);
2389    }
2390    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2391    pub struct Saielsr22_SPEC;
2392    pub type Saielsr22 = crate::EnumBitfieldStruct<u8, Saielsr22_SPEC>;
2393    impl Saielsr22 {
2394        #[doc = "Secure"]
2395        pub const _0: Self = Self::new(0);
2396        #[doc = "Non-secure"]
2397        pub const _1: Self = Self::new(1);
2398    }
2399    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2400    pub struct Saielsr23_SPEC;
2401    pub type Saielsr23 = crate::EnumBitfieldStruct<u8, Saielsr23_SPEC>;
2402    impl Saielsr23 {
2403        #[doc = "Secure"]
2404        pub const _0: Self = Self::new(0);
2405        #[doc = "Non-secure"]
2406        pub const _1: Self = Self::new(1);
2407    }
2408    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2409    pub struct Saielsr24_SPEC;
2410    pub type Saielsr24 = crate::EnumBitfieldStruct<u8, Saielsr24_SPEC>;
2411    impl Saielsr24 {
2412        #[doc = "Secure"]
2413        pub const _0: Self = Self::new(0);
2414        #[doc = "Non-secure"]
2415        pub const _1: Self = Self::new(1);
2416    }
2417    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2418    pub struct Saielsr25_SPEC;
2419    pub type Saielsr25 = crate::EnumBitfieldStruct<u8, Saielsr25_SPEC>;
2420    impl Saielsr25 {
2421        #[doc = "Secure"]
2422        pub const _0: Self = Self::new(0);
2423        #[doc = "Non-secure"]
2424        pub const _1: Self = Self::new(1);
2425    }
2426    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2427    pub struct Saielsr26_SPEC;
2428    pub type Saielsr26 = crate::EnumBitfieldStruct<u8, Saielsr26_SPEC>;
2429    impl Saielsr26 {
2430        #[doc = "Secure"]
2431        pub const _0: Self = Self::new(0);
2432        #[doc = "Non-secure"]
2433        pub const _1: Self = Self::new(1);
2434    }
2435    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2436    pub struct Saielsr27_SPEC;
2437    pub type Saielsr27 = crate::EnumBitfieldStruct<u8, Saielsr27_SPEC>;
2438    impl Saielsr27 {
2439        #[doc = "Secure"]
2440        pub const _0: Self = Self::new(0);
2441        #[doc = "Non-secure"]
2442        pub const _1: Self = Self::new(1);
2443    }
2444    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2445    pub struct Saielsr28_SPEC;
2446    pub type Saielsr28 = crate::EnumBitfieldStruct<u8, Saielsr28_SPEC>;
2447    impl Saielsr28 {
2448        #[doc = "Secure"]
2449        pub const _0: Self = Self::new(0);
2450        #[doc = "Non-secure"]
2451        pub const _1: Self = Self::new(1);
2452    }
2453    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2454    pub struct Saielsr29_SPEC;
2455    pub type Saielsr29 = crate::EnumBitfieldStruct<u8, Saielsr29_SPEC>;
2456    impl Saielsr29 {
2457        #[doc = "Secure"]
2458        pub const _0: Self = Self::new(0);
2459        #[doc = "Non-secure"]
2460        pub const _1: Self = Self::new(1);
2461    }
2462    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2463    pub struct Saielsr30_SPEC;
2464    pub type Saielsr30 = crate::EnumBitfieldStruct<u8, Saielsr30_SPEC>;
2465    impl Saielsr30 {
2466        #[doc = "Secure"]
2467        pub const _0: Self = Self::new(0);
2468        #[doc = "Non-secure"]
2469        pub const _1: Self = Self::new(1);
2470    }
2471    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2472    pub struct Saielsr31_SPEC;
2473    pub type Saielsr31 = crate::EnumBitfieldStruct<u8, Saielsr31_SPEC>;
2474    impl Saielsr31 {
2475        #[doc = "Secure"]
2476        pub const _0: Self = Self::new(0);
2477        #[doc = "Non-secure"]
2478        pub const _1: Self = Self::new(1);
2479    }
2480}
2481#[doc(hidden)]
2482#[derive(Copy, Clone, Eq, PartialEq)]
2483pub struct Icusarh_SPEC;
2484impl crate::sealed::RegSpec for Icusarh_SPEC {
2485    type DataType = u32;
2486}
2487#[doc = "Interrupt Controller Unit Security Attribution Register H"]
2488pub type Icusarh = crate::RegValueT<Icusarh_SPEC>;
2489
2490impl Icusarh {
2491    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2492    #[inline(always)]
2493    pub fn saielsr32(
2494        self,
2495    ) -> crate::common::RegisterField<
2496        0,
2497        0x1,
2498        1,
2499        0,
2500        icusarh::Saielsr32,
2501        Icusarh_SPEC,
2502        crate::common::RW,
2503    > {
2504        crate::common::RegisterField::<
2505            0,
2506            0x1,
2507            1,
2508            0,
2509            icusarh::Saielsr32,
2510            Icusarh_SPEC,
2511            crate::common::RW,
2512        >::from_register(self, 0)
2513    }
2514    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2515    #[inline(always)]
2516    pub fn saielsr33(
2517        self,
2518    ) -> crate::common::RegisterField<
2519        1,
2520        0x1,
2521        1,
2522        0,
2523        icusarh::Saielsr33,
2524        Icusarh_SPEC,
2525        crate::common::RW,
2526    > {
2527        crate::common::RegisterField::<
2528            1,
2529            0x1,
2530            1,
2531            0,
2532            icusarh::Saielsr33,
2533            Icusarh_SPEC,
2534            crate::common::RW,
2535        >::from_register(self, 0)
2536    }
2537    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2538    #[inline(always)]
2539    pub fn saielsr34(
2540        self,
2541    ) -> crate::common::RegisterField<
2542        2,
2543        0x1,
2544        1,
2545        0,
2546        icusarh::Saielsr34,
2547        Icusarh_SPEC,
2548        crate::common::RW,
2549    > {
2550        crate::common::RegisterField::<
2551            2,
2552            0x1,
2553            1,
2554            0,
2555            icusarh::Saielsr34,
2556            Icusarh_SPEC,
2557            crate::common::RW,
2558        >::from_register(self, 0)
2559    }
2560    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2561    #[inline(always)]
2562    pub fn saielsr35(
2563        self,
2564    ) -> crate::common::RegisterField<
2565        3,
2566        0x1,
2567        1,
2568        0,
2569        icusarh::Saielsr35,
2570        Icusarh_SPEC,
2571        crate::common::RW,
2572    > {
2573        crate::common::RegisterField::<
2574            3,
2575            0x1,
2576            1,
2577            0,
2578            icusarh::Saielsr35,
2579            Icusarh_SPEC,
2580            crate::common::RW,
2581        >::from_register(self, 0)
2582    }
2583    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2584    #[inline(always)]
2585    pub fn saielsr36(
2586        self,
2587    ) -> crate::common::RegisterField<
2588        4,
2589        0x1,
2590        1,
2591        0,
2592        icusarh::Saielsr36,
2593        Icusarh_SPEC,
2594        crate::common::RW,
2595    > {
2596        crate::common::RegisterField::<
2597            4,
2598            0x1,
2599            1,
2600            0,
2601            icusarh::Saielsr36,
2602            Icusarh_SPEC,
2603            crate::common::RW,
2604        >::from_register(self, 0)
2605    }
2606    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2607    #[inline(always)]
2608    pub fn saielsr37(
2609        self,
2610    ) -> crate::common::RegisterField<
2611        5,
2612        0x1,
2613        1,
2614        0,
2615        icusarh::Saielsr37,
2616        Icusarh_SPEC,
2617        crate::common::RW,
2618    > {
2619        crate::common::RegisterField::<
2620            5,
2621            0x1,
2622            1,
2623            0,
2624            icusarh::Saielsr37,
2625            Icusarh_SPEC,
2626            crate::common::RW,
2627        >::from_register(self, 0)
2628    }
2629    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2630    #[inline(always)]
2631    pub fn saielsr38(
2632        self,
2633    ) -> crate::common::RegisterField<
2634        6,
2635        0x1,
2636        1,
2637        0,
2638        icusarh::Saielsr38,
2639        Icusarh_SPEC,
2640        crate::common::RW,
2641    > {
2642        crate::common::RegisterField::<
2643            6,
2644            0x1,
2645            1,
2646            0,
2647            icusarh::Saielsr38,
2648            Icusarh_SPEC,
2649            crate::common::RW,
2650        >::from_register(self, 0)
2651    }
2652    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2653    #[inline(always)]
2654    pub fn saielsr39(
2655        self,
2656    ) -> crate::common::RegisterField<
2657        7,
2658        0x1,
2659        1,
2660        0,
2661        icusarh::Saielsr39,
2662        Icusarh_SPEC,
2663        crate::common::RW,
2664    > {
2665        crate::common::RegisterField::<
2666            7,
2667            0x1,
2668            1,
2669            0,
2670            icusarh::Saielsr39,
2671            Icusarh_SPEC,
2672            crate::common::RW,
2673        >::from_register(self, 0)
2674    }
2675    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2676    #[inline(always)]
2677    pub fn saielsr40(
2678        self,
2679    ) -> crate::common::RegisterField<
2680        8,
2681        0x1,
2682        1,
2683        0,
2684        icusarh::Saielsr40,
2685        Icusarh_SPEC,
2686        crate::common::RW,
2687    > {
2688        crate::common::RegisterField::<
2689            8,
2690            0x1,
2691            1,
2692            0,
2693            icusarh::Saielsr40,
2694            Icusarh_SPEC,
2695            crate::common::RW,
2696        >::from_register(self, 0)
2697    }
2698    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2699    #[inline(always)]
2700    pub fn saielsr41(
2701        self,
2702    ) -> crate::common::RegisterField<
2703        9,
2704        0x1,
2705        1,
2706        0,
2707        icusarh::Saielsr41,
2708        Icusarh_SPEC,
2709        crate::common::RW,
2710    > {
2711        crate::common::RegisterField::<
2712            9,
2713            0x1,
2714            1,
2715            0,
2716            icusarh::Saielsr41,
2717            Icusarh_SPEC,
2718            crate::common::RW,
2719        >::from_register(self, 0)
2720    }
2721    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2722    #[inline(always)]
2723    pub fn saielsr42(
2724        self,
2725    ) -> crate::common::RegisterField<
2726        10,
2727        0x1,
2728        1,
2729        0,
2730        icusarh::Saielsr42,
2731        Icusarh_SPEC,
2732        crate::common::RW,
2733    > {
2734        crate::common::RegisterField::<
2735            10,
2736            0x1,
2737            1,
2738            0,
2739            icusarh::Saielsr42,
2740            Icusarh_SPEC,
2741            crate::common::RW,
2742        >::from_register(self, 0)
2743    }
2744    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2745    #[inline(always)]
2746    pub fn saielsr43(
2747        self,
2748    ) -> crate::common::RegisterField<
2749        11,
2750        0x1,
2751        1,
2752        0,
2753        icusarh::Saielsr43,
2754        Icusarh_SPEC,
2755        crate::common::RW,
2756    > {
2757        crate::common::RegisterField::<
2758            11,
2759            0x1,
2760            1,
2761            0,
2762            icusarh::Saielsr43,
2763            Icusarh_SPEC,
2764            crate::common::RW,
2765        >::from_register(self, 0)
2766    }
2767    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2768    #[inline(always)]
2769    pub fn saielsr44(
2770        self,
2771    ) -> crate::common::RegisterField<
2772        12,
2773        0x1,
2774        1,
2775        0,
2776        icusarh::Saielsr44,
2777        Icusarh_SPEC,
2778        crate::common::RW,
2779    > {
2780        crate::common::RegisterField::<
2781            12,
2782            0x1,
2783            1,
2784            0,
2785            icusarh::Saielsr44,
2786            Icusarh_SPEC,
2787            crate::common::RW,
2788        >::from_register(self, 0)
2789    }
2790    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2791    #[inline(always)]
2792    pub fn saielsr45(
2793        self,
2794    ) -> crate::common::RegisterField<
2795        13,
2796        0x1,
2797        1,
2798        0,
2799        icusarh::Saielsr45,
2800        Icusarh_SPEC,
2801        crate::common::RW,
2802    > {
2803        crate::common::RegisterField::<
2804            13,
2805            0x1,
2806            1,
2807            0,
2808            icusarh::Saielsr45,
2809            Icusarh_SPEC,
2810            crate::common::RW,
2811        >::from_register(self, 0)
2812    }
2813    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2814    #[inline(always)]
2815    pub fn saielsr46(
2816        self,
2817    ) -> crate::common::RegisterField<
2818        14,
2819        0x1,
2820        1,
2821        0,
2822        icusarh::Saielsr46,
2823        Icusarh_SPEC,
2824        crate::common::RW,
2825    > {
2826        crate::common::RegisterField::<
2827            14,
2828            0x1,
2829            1,
2830            0,
2831            icusarh::Saielsr46,
2832            Icusarh_SPEC,
2833            crate::common::RW,
2834        >::from_register(self, 0)
2835    }
2836    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2837    #[inline(always)]
2838    pub fn saielsr47(
2839        self,
2840    ) -> crate::common::RegisterField<
2841        15,
2842        0x1,
2843        1,
2844        0,
2845        icusarh::Saielsr47,
2846        Icusarh_SPEC,
2847        crate::common::RW,
2848    > {
2849        crate::common::RegisterField::<
2850            15,
2851            0x1,
2852            1,
2853            0,
2854            icusarh::Saielsr47,
2855            Icusarh_SPEC,
2856            crate::common::RW,
2857        >::from_register(self, 0)
2858    }
2859    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2860    #[inline(always)]
2861    pub fn saielsr48(
2862        self,
2863    ) -> crate::common::RegisterField<
2864        16,
2865        0x1,
2866        1,
2867        0,
2868        icusarh::Saielsr48,
2869        Icusarh_SPEC,
2870        crate::common::RW,
2871    > {
2872        crate::common::RegisterField::<
2873            16,
2874            0x1,
2875            1,
2876            0,
2877            icusarh::Saielsr48,
2878            Icusarh_SPEC,
2879            crate::common::RW,
2880        >::from_register(self, 0)
2881    }
2882    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2883    #[inline(always)]
2884    pub fn saielsr49(
2885        self,
2886    ) -> crate::common::RegisterField<
2887        17,
2888        0x1,
2889        1,
2890        0,
2891        icusarh::Saielsr49,
2892        Icusarh_SPEC,
2893        crate::common::RW,
2894    > {
2895        crate::common::RegisterField::<
2896            17,
2897            0x1,
2898            1,
2899            0,
2900            icusarh::Saielsr49,
2901            Icusarh_SPEC,
2902            crate::common::RW,
2903        >::from_register(self, 0)
2904    }
2905    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2906    #[inline(always)]
2907    pub fn saielsr50(
2908        self,
2909    ) -> crate::common::RegisterField<
2910        18,
2911        0x1,
2912        1,
2913        0,
2914        icusarh::Saielsr50,
2915        Icusarh_SPEC,
2916        crate::common::RW,
2917    > {
2918        crate::common::RegisterField::<
2919            18,
2920            0x1,
2921            1,
2922            0,
2923            icusarh::Saielsr50,
2924            Icusarh_SPEC,
2925            crate::common::RW,
2926        >::from_register(self, 0)
2927    }
2928    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2929    #[inline(always)]
2930    pub fn saielsr51(
2931        self,
2932    ) -> crate::common::RegisterField<
2933        19,
2934        0x1,
2935        1,
2936        0,
2937        icusarh::Saielsr51,
2938        Icusarh_SPEC,
2939        crate::common::RW,
2940    > {
2941        crate::common::RegisterField::<
2942            19,
2943            0x1,
2944            1,
2945            0,
2946            icusarh::Saielsr51,
2947            Icusarh_SPEC,
2948            crate::common::RW,
2949        >::from_register(self, 0)
2950    }
2951    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2952    #[inline(always)]
2953    pub fn saielsr52(
2954        self,
2955    ) -> crate::common::RegisterField<
2956        20,
2957        0x1,
2958        1,
2959        0,
2960        icusarh::Saielsr52,
2961        Icusarh_SPEC,
2962        crate::common::RW,
2963    > {
2964        crate::common::RegisterField::<
2965            20,
2966            0x1,
2967            1,
2968            0,
2969            icusarh::Saielsr52,
2970            Icusarh_SPEC,
2971            crate::common::RW,
2972        >::from_register(self, 0)
2973    }
2974    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2975    #[inline(always)]
2976    pub fn saielsr53(
2977        self,
2978    ) -> crate::common::RegisterField<
2979        21,
2980        0x1,
2981        1,
2982        0,
2983        icusarh::Saielsr53,
2984        Icusarh_SPEC,
2985        crate::common::RW,
2986    > {
2987        crate::common::RegisterField::<
2988            21,
2989            0x1,
2990            1,
2991            0,
2992            icusarh::Saielsr53,
2993            Icusarh_SPEC,
2994            crate::common::RW,
2995        >::from_register(self, 0)
2996    }
2997    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
2998    #[inline(always)]
2999    pub fn saielsr54(
3000        self,
3001    ) -> crate::common::RegisterField<
3002        22,
3003        0x1,
3004        1,
3005        0,
3006        icusarh::Saielsr54,
3007        Icusarh_SPEC,
3008        crate::common::RW,
3009    > {
3010        crate::common::RegisterField::<
3011            22,
3012            0x1,
3013            1,
3014            0,
3015            icusarh::Saielsr54,
3016            Icusarh_SPEC,
3017            crate::common::RW,
3018        >::from_register(self, 0)
3019    }
3020    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
3021    #[inline(always)]
3022    pub fn saielsr55(
3023        self,
3024    ) -> crate::common::RegisterField<
3025        23,
3026        0x1,
3027        1,
3028        0,
3029        icusarh::Saielsr55,
3030        Icusarh_SPEC,
3031        crate::common::RW,
3032    > {
3033        crate::common::RegisterField::<
3034            23,
3035            0x1,
3036            1,
3037            0,
3038            icusarh::Saielsr55,
3039            Icusarh_SPEC,
3040            crate::common::RW,
3041        >::from_register(self, 0)
3042    }
3043    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
3044    #[inline(always)]
3045    pub fn saielsr56(
3046        self,
3047    ) -> crate::common::RegisterField<
3048        24,
3049        0x1,
3050        1,
3051        0,
3052        icusarh::Saielsr56,
3053        Icusarh_SPEC,
3054        crate::common::RW,
3055    > {
3056        crate::common::RegisterField::<
3057            24,
3058            0x1,
3059            1,
3060            0,
3061            icusarh::Saielsr56,
3062            Icusarh_SPEC,
3063            crate::common::RW,
3064        >::from_register(self, 0)
3065    }
3066    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
3067    #[inline(always)]
3068    pub fn saielsr57(
3069        self,
3070    ) -> crate::common::RegisterField<
3071        25,
3072        0x1,
3073        1,
3074        0,
3075        icusarh::Saielsr57,
3076        Icusarh_SPEC,
3077        crate::common::RW,
3078    > {
3079        crate::common::RegisterField::<
3080            25,
3081            0x1,
3082            1,
3083            0,
3084            icusarh::Saielsr57,
3085            Icusarh_SPEC,
3086            crate::common::RW,
3087        >::from_register(self, 0)
3088    }
3089    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
3090    #[inline(always)]
3091    pub fn saielsr58(
3092        self,
3093    ) -> crate::common::RegisterField<
3094        26,
3095        0x1,
3096        1,
3097        0,
3098        icusarh::Saielsr58,
3099        Icusarh_SPEC,
3100        crate::common::RW,
3101    > {
3102        crate::common::RegisterField::<
3103            26,
3104            0x1,
3105            1,
3106            0,
3107            icusarh::Saielsr58,
3108            Icusarh_SPEC,
3109            crate::common::RW,
3110        >::from_register(self, 0)
3111    }
3112    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
3113    #[inline(always)]
3114    pub fn saielsr59(
3115        self,
3116    ) -> crate::common::RegisterField<
3117        27,
3118        0x1,
3119        1,
3120        0,
3121        icusarh::Saielsr59,
3122        Icusarh_SPEC,
3123        crate::common::RW,
3124    > {
3125        crate::common::RegisterField::<
3126            27,
3127            0x1,
3128            1,
3129            0,
3130            icusarh::Saielsr59,
3131            Icusarh_SPEC,
3132            crate::common::RW,
3133        >::from_register(self, 0)
3134    }
3135    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
3136    #[inline(always)]
3137    pub fn saielsr60(
3138        self,
3139    ) -> crate::common::RegisterField<
3140        28,
3141        0x1,
3142        1,
3143        0,
3144        icusarh::Saielsr60,
3145        Icusarh_SPEC,
3146        crate::common::RW,
3147    > {
3148        crate::common::RegisterField::<
3149            28,
3150            0x1,
3151            1,
3152            0,
3153            icusarh::Saielsr60,
3154            Icusarh_SPEC,
3155            crate::common::RW,
3156        >::from_register(self, 0)
3157    }
3158    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
3159    #[inline(always)]
3160    pub fn saielsr61(
3161        self,
3162    ) -> crate::common::RegisterField<
3163        29,
3164        0x1,
3165        1,
3166        0,
3167        icusarh::Saielsr61,
3168        Icusarh_SPEC,
3169        crate::common::RW,
3170    > {
3171        crate::common::RegisterField::<
3172            29,
3173            0x1,
3174            1,
3175            0,
3176            icusarh::Saielsr61,
3177            Icusarh_SPEC,
3178            crate::common::RW,
3179        >::from_register(self, 0)
3180    }
3181    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
3182    #[inline(always)]
3183    pub fn saielsr62(
3184        self,
3185    ) -> crate::common::RegisterField<
3186        30,
3187        0x1,
3188        1,
3189        0,
3190        icusarh::Saielsr62,
3191        Icusarh_SPEC,
3192        crate::common::RW,
3193    > {
3194        crate::common::RegisterField::<
3195            30,
3196            0x1,
3197            1,
3198            0,
3199            icusarh::Saielsr62,
3200            Icusarh_SPEC,
3201            crate::common::RW,
3202        >::from_register(self, 0)
3203    }
3204    #[doc = "Security attributes of registers for IELSR63 to IELSR32"]
3205    #[inline(always)]
3206    pub fn saielsr63(
3207        self,
3208    ) -> crate::common::RegisterField<
3209        31,
3210        0x1,
3211        1,
3212        0,
3213        icusarh::Saielsr63,
3214        Icusarh_SPEC,
3215        crate::common::RW,
3216    > {
3217        crate::common::RegisterField::<
3218            31,
3219            0x1,
3220            1,
3221            0,
3222            icusarh::Saielsr63,
3223            Icusarh_SPEC,
3224            crate::common::RW,
3225        >::from_register(self, 0)
3226    }
3227}
3228impl ::core::default::Default for Icusarh {
3229    #[inline(always)]
3230    fn default() -> Icusarh {
3231        <crate::RegValueT<Icusarh_SPEC> as RegisterValue<_>>::new(4294967295)
3232    }
3233}
3234pub mod icusarh {
3235
3236    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3237    pub struct Saielsr32_SPEC;
3238    pub type Saielsr32 = crate::EnumBitfieldStruct<u8, Saielsr32_SPEC>;
3239    impl Saielsr32 {
3240        #[doc = "Secure"]
3241        pub const _0: Self = Self::new(0);
3242        #[doc = "Non-secure"]
3243        pub const _1: Self = Self::new(1);
3244    }
3245    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3246    pub struct Saielsr33_SPEC;
3247    pub type Saielsr33 = crate::EnumBitfieldStruct<u8, Saielsr33_SPEC>;
3248    impl Saielsr33 {
3249        #[doc = "Secure"]
3250        pub const _0: Self = Self::new(0);
3251        #[doc = "Non-secure"]
3252        pub const _1: Self = Self::new(1);
3253    }
3254    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3255    pub struct Saielsr34_SPEC;
3256    pub type Saielsr34 = crate::EnumBitfieldStruct<u8, Saielsr34_SPEC>;
3257    impl Saielsr34 {
3258        #[doc = "Secure"]
3259        pub const _0: Self = Self::new(0);
3260        #[doc = "Non-secure"]
3261        pub const _1: Self = Self::new(1);
3262    }
3263    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3264    pub struct Saielsr35_SPEC;
3265    pub type Saielsr35 = crate::EnumBitfieldStruct<u8, Saielsr35_SPEC>;
3266    impl Saielsr35 {
3267        #[doc = "Secure"]
3268        pub const _0: Self = Self::new(0);
3269        #[doc = "Non-secure"]
3270        pub const _1: Self = Self::new(1);
3271    }
3272    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3273    pub struct Saielsr36_SPEC;
3274    pub type Saielsr36 = crate::EnumBitfieldStruct<u8, Saielsr36_SPEC>;
3275    impl Saielsr36 {
3276        #[doc = "Secure"]
3277        pub const _0: Self = Self::new(0);
3278        #[doc = "Non-secure"]
3279        pub const _1: Self = Self::new(1);
3280    }
3281    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3282    pub struct Saielsr37_SPEC;
3283    pub type Saielsr37 = crate::EnumBitfieldStruct<u8, Saielsr37_SPEC>;
3284    impl Saielsr37 {
3285        #[doc = "Secure"]
3286        pub const _0: Self = Self::new(0);
3287        #[doc = "Non-secure"]
3288        pub const _1: Self = Self::new(1);
3289    }
3290    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3291    pub struct Saielsr38_SPEC;
3292    pub type Saielsr38 = crate::EnumBitfieldStruct<u8, Saielsr38_SPEC>;
3293    impl Saielsr38 {
3294        #[doc = "Secure"]
3295        pub const _0: Self = Self::new(0);
3296        #[doc = "Non-secure"]
3297        pub const _1: Self = Self::new(1);
3298    }
3299    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3300    pub struct Saielsr39_SPEC;
3301    pub type Saielsr39 = crate::EnumBitfieldStruct<u8, Saielsr39_SPEC>;
3302    impl Saielsr39 {
3303        #[doc = "Secure"]
3304        pub const _0: Self = Self::new(0);
3305        #[doc = "Non-secure"]
3306        pub const _1: Self = Self::new(1);
3307    }
3308    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3309    pub struct Saielsr40_SPEC;
3310    pub type Saielsr40 = crate::EnumBitfieldStruct<u8, Saielsr40_SPEC>;
3311    impl Saielsr40 {
3312        #[doc = "Secure"]
3313        pub const _0: Self = Self::new(0);
3314        #[doc = "Non-secure"]
3315        pub const _1: Self = Self::new(1);
3316    }
3317    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3318    pub struct Saielsr41_SPEC;
3319    pub type Saielsr41 = crate::EnumBitfieldStruct<u8, Saielsr41_SPEC>;
3320    impl Saielsr41 {
3321        #[doc = "Secure"]
3322        pub const _0: Self = Self::new(0);
3323        #[doc = "Non-secure"]
3324        pub const _1: Self = Self::new(1);
3325    }
3326    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3327    pub struct Saielsr42_SPEC;
3328    pub type Saielsr42 = crate::EnumBitfieldStruct<u8, Saielsr42_SPEC>;
3329    impl Saielsr42 {
3330        #[doc = "Secure"]
3331        pub const _0: Self = Self::new(0);
3332        #[doc = "Non-secure"]
3333        pub const _1: Self = Self::new(1);
3334    }
3335    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3336    pub struct Saielsr43_SPEC;
3337    pub type Saielsr43 = crate::EnumBitfieldStruct<u8, Saielsr43_SPEC>;
3338    impl Saielsr43 {
3339        #[doc = "Secure"]
3340        pub const _0: Self = Self::new(0);
3341        #[doc = "Non-secure"]
3342        pub const _1: Self = Self::new(1);
3343    }
3344    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3345    pub struct Saielsr44_SPEC;
3346    pub type Saielsr44 = crate::EnumBitfieldStruct<u8, Saielsr44_SPEC>;
3347    impl Saielsr44 {
3348        #[doc = "Secure"]
3349        pub const _0: Self = Self::new(0);
3350        #[doc = "Non-secure"]
3351        pub const _1: Self = Self::new(1);
3352    }
3353    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3354    pub struct Saielsr45_SPEC;
3355    pub type Saielsr45 = crate::EnumBitfieldStruct<u8, Saielsr45_SPEC>;
3356    impl Saielsr45 {
3357        #[doc = "Secure"]
3358        pub const _0: Self = Self::new(0);
3359        #[doc = "Non-secure"]
3360        pub const _1: Self = Self::new(1);
3361    }
3362    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3363    pub struct Saielsr46_SPEC;
3364    pub type Saielsr46 = crate::EnumBitfieldStruct<u8, Saielsr46_SPEC>;
3365    impl Saielsr46 {
3366        #[doc = "Secure"]
3367        pub const _0: Self = Self::new(0);
3368        #[doc = "Non-secure"]
3369        pub const _1: Self = Self::new(1);
3370    }
3371    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3372    pub struct Saielsr47_SPEC;
3373    pub type Saielsr47 = crate::EnumBitfieldStruct<u8, Saielsr47_SPEC>;
3374    impl Saielsr47 {
3375        #[doc = "Secure"]
3376        pub const _0: Self = Self::new(0);
3377        #[doc = "Non-secure"]
3378        pub const _1: Self = Self::new(1);
3379    }
3380    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3381    pub struct Saielsr48_SPEC;
3382    pub type Saielsr48 = crate::EnumBitfieldStruct<u8, Saielsr48_SPEC>;
3383    impl Saielsr48 {
3384        #[doc = "Secure"]
3385        pub const _0: Self = Self::new(0);
3386        #[doc = "Non-secure"]
3387        pub const _1: Self = Self::new(1);
3388    }
3389    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3390    pub struct Saielsr49_SPEC;
3391    pub type Saielsr49 = crate::EnumBitfieldStruct<u8, Saielsr49_SPEC>;
3392    impl Saielsr49 {
3393        #[doc = "Secure"]
3394        pub const _0: Self = Self::new(0);
3395        #[doc = "Non-secure"]
3396        pub const _1: Self = Self::new(1);
3397    }
3398    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3399    pub struct Saielsr50_SPEC;
3400    pub type Saielsr50 = crate::EnumBitfieldStruct<u8, Saielsr50_SPEC>;
3401    impl Saielsr50 {
3402        #[doc = "Secure"]
3403        pub const _0: Self = Self::new(0);
3404        #[doc = "Non-secure"]
3405        pub const _1: Self = Self::new(1);
3406    }
3407    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3408    pub struct Saielsr51_SPEC;
3409    pub type Saielsr51 = crate::EnumBitfieldStruct<u8, Saielsr51_SPEC>;
3410    impl Saielsr51 {
3411        #[doc = "Secure"]
3412        pub const _0: Self = Self::new(0);
3413        #[doc = "Non-secure"]
3414        pub const _1: Self = Self::new(1);
3415    }
3416    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3417    pub struct Saielsr52_SPEC;
3418    pub type Saielsr52 = crate::EnumBitfieldStruct<u8, Saielsr52_SPEC>;
3419    impl Saielsr52 {
3420        #[doc = "Secure"]
3421        pub const _0: Self = Self::new(0);
3422        #[doc = "Non-secure"]
3423        pub const _1: Self = Self::new(1);
3424    }
3425    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3426    pub struct Saielsr53_SPEC;
3427    pub type Saielsr53 = crate::EnumBitfieldStruct<u8, Saielsr53_SPEC>;
3428    impl Saielsr53 {
3429        #[doc = "Secure"]
3430        pub const _0: Self = Self::new(0);
3431        #[doc = "Non-secure"]
3432        pub const _1: Self = Self::new(1);
3433    }
3434    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3435    pub struct Saielsr54_SPEC;
3436    pub type Saielsr54 = crate::EnumBitfieldStruct<u8, Saielsr54_SPEC>;
3437    impl Saielsr54 {
3438        #[doc = "Secure"]
3439        pub const _0: Self = Self::new(0);
3440        #[doc = "Non-secure"]
3441        pub const _1: Self = Self::new(1);
3442    }
3443    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3444    pub struct Saielsr55_SPEC;
3445    pub type Saielsr55 = crate::EnumBitfieldStruct<u8, Saielsr55_SPEC>;
3446    impl Saielsr55 {
3447        #[doc = "Secure"]
3448        pub const _0: Self = Self::new(0);
3449        #[doc = "Non-secure"]
3450        pub const _1: Self = Self::new(1);
3451    }
3452    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3453    pub struct Saielsr56_SPEC;
3454    pub type Saielsr56 = crate::EnumBitfieldStruct<u8, Saielsr56_SPEC>;
3455    impl Saielsr56 {
3456        #[doc = "Secure"]
3457        pub const _0: Self = Self::new(0);
3458        #[doc = "Non-secure"]
3459        pub const _1: Self = Self::new(1);
3460    }
3461    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3462    pub struct Saielsr57_SPEC;
3463    pub type Saielsr57 = crate::EnumBitfieldStruct<u8, Saielsr57_SPEC>;
3464    impl Saielsr57 {
3465        #[doc = "Secure"]
3466        pub const _0: Self = Self::new(0);
3467        #[doc = "Non-secure"]
3468        pub const _1: Self = Self::new(1);
3469    }
3470    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3471    pub struct Saielsr58_SPEC;
3472    pub type Saielsr58 = crate::EnumBitfieldStruct<u8, Saielsr58_SPEC>;
3473    impl Saielsr58 {
3474        #[doc = "Secure"]
3475        pub const _0: Self = Self::new(0);
3476        #[doc = "Non-secure"]
3477        pub const _1: Self = Self::new(1);
3478    }
3479    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3480    pub struct Saielsr59_SPEC;
3481    pub type Saielsr59 = crate::EnumBitfieldStruct<u8, Saielsr59_SPEC>;
3482    impl Saielsr59 {
3483        #[doc = "Secure"]
3484        pub const _0: Self = Self::new(0);
3485        #[doc = "Non-secure"]
3486        pub const _1: Self = Self::new(1);
3487    }
3488    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3489    pub struct Saielsr60_SPEC;
3490    pub type Saielsr60 = crate::EnumBitfieldStruct<u8, Saielsr60_SPEC>;
3491    impl Saielsr60 {
3492        #[doc = "Secure"]
3493        pub const _0: Self = Self::new(0);
3494        #[doc = "Non-secure"]
3495        pub const _1: Self = Self::new(1);
3496    }
3497    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3498    pub struct Saielsr61_SPEC;
3499    pub type Saielsr61 = crate::EnumBitfieldStruct<u8, Saielsr61_SPEC>;
3500    impl Saielsr61 {
3501        #[doc = "Secure"]
3502        pub const _0: Self = Self::new(0);
3503        #[doc = "Non-secure"]
3504        pub const _1: Self = Self::new(1);
3505    }
3506    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3507    pub struct Saielsr62_SPEC;
3508    pub type Saielsr62 = crate::EnumBitfieldStruct<u8, Saielsr62_SPEC>;
3509    impl Saielsr62 {
3510        #[doc = "Secure"]
3511        pub const _0: Self = Self::new(0);
3512        #[doc = "Non-secure"]
3513        pub const _1: Self = Self::new(1);
3514    }
3515    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3516    pub struct Saielsr63_SPEC;
3517    pub type Saielsr63 = crate::EnumBitfieldStruct<u8, Saielsr63_SPEC>;
3518    impl Saielsr63 {
3519        #[doc = "Secure"]
3520        pub const _0: Self = Self::new(0);
3521        #[doc = "Non-secure"]
3522        pub const _1: Self = Self::new(1);
3523    }
3524}
3525#[doc(hidden)]
3526#[derive(Copy, Clone, Eq, PartialEq)]
3527pub struct Icusari_SPEC;
3528impl crate::sealed::RegSpec for Icusari_SPEC {
3529    type DataType = u32;
3530}
3531#[doc = "Interrupt Controller Unit Security Attribution Register I"]
3532pub type Icusari = crate::RegValueT<Icusari_SPEC>;
3533
3534impl Icusari {
3535    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3536    #[inline(always)]
3537    pub fn saielsr64(
3538        self,
3539    ) -> crate::common::RegisterField<
3540        0,
3541        0x1,
3542        1,
3543        0,
3544        icusari::Saielsr64,
3545        Icusari_SPEC,
3546        crate::common::RW,
3547    > {
3548        crate::common::RegisterField::<
3549            0,
3550            0x1,
3551            1,
3552            0,
3553            icusari::Saielsr64,
3554            Icusari_SPEC,
3555            crate::common::RW,
3556        >::from_register(self, 0)
3557    }
3558    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3559    #[inline(always)]
3560    pub fn saielsr65(
3561        self,
3562    ) -> crate::common::RegisterField<
3563        1,
3564        0x1,
3565        1,
3566        0,
3567        icusari::Saielsr65,
3568        Icusari_SPEC,
3569        crate::common::RW,
3570    > {
3571        crate::common::RegisterField::<
3572            1,
3573            0x1,
3574            1,
3575            0,
3576            icusari::Saielsr65,
3577            Icusari_SPEC,
3578            crate::common::RW,
3579        >::from_register(self, 0)
3580    }
3581    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3582    #[inline(always)]
3583    pub fn saielsr66(
3584        self,
3585    ) -> crate::common::RegisterField<
3586        2,
3587        0x1,
3588        1,
3589        0,
3590        icusari::Saielsr66,
3591        Icusari_SPEC,
3592        crate::common::RW,
3593    > {
3594        crate::common::RegisterField::<
3595            2,
3596            0x1,
3597            1,
3598            0,
3599            icusari::Saielsr66,
3600            Icusari_SPEC,
3601            crate::common::RW,
3602        >::from_register(self, 0)
3603    }
3604    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3605    #[inline(always)]
3606    pub fn saielsr67(
3607        self,
3608    ) -> crate::common::RegisterField<
3609        3,
3610        0x1,
3611        1,
3612        0,
3613        icusari::Saielsr67,
3614        Icusari_SPEC,
3615        crate::common::RW,
3616    > {
3617        crate::common::RegisterField::<
3618            3,
3619            0x1,
3620            1,
3621            0,
3622            icusari::Saielsr67,
3623            Icusari_SPEC,
3624            crate::common::RW,
3625        >::from_register(self, 0)
3626    }
3627    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3628    #[inline(always)]
3629    pub fn saielsr68(
3630        self,
3631    ) -> crate::common::RegisterField<
3632        4,
3633        0x1,
3634        1,
3635        0,
3636        icusari::Saielsr68,
3637        Icusari_SPEC,
3638        crate::common::RW,
3639    > {
3640        crate::common::RegisterField::<
3641            4,
3642            0x1,
3643            1,
3644            0,
3645            icusari::Saielsr68,
3646            Icusari_SPEC,
3647            crate::common::RW,
3648        >::from_register(self, 0)
3649    }
3650    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3651    #[inline(always)]
3652    pub fn saielsr69(
3653        self,
3654    ) -> crate::common::RegisterField<
3655        5,
3656        0x1,
3657        1,
3658        0,
3659        icusari::Saielsr69,
3660        Icusari_SPEC,
3661        crate::common::RW,
3662    > {
3663        crate::common::RegisterField::<
3664            5,
3665            0x1,
3666            1,
3667            0,
3668            icusari::Saielsr69,
3669            Icusari_SPEC,
3670            crate::common::RW,
3671        >::from_register(self, 0)
3672    }
3673    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3674    #[inline(always)]
3675    pub fn saielsr70(
3676        self,
3677    ) -> crate::common::RegisterField<
3678        6,
3679        0x1,
3680        1,
3681        0,
3682        icusari::Saielsr70,
3683        Icusari_SPEC,
3684        crate::common::RW,
3685    > {
3686        crate::common::RegisterField::<
3687            6,
3688            0x1,
3689            1,
3690            0,
3691            icusari::Saielsr70,
3692            Icusari_SPEC,
3693            crate::common::RW,
3694        >::from_register(self, 0)
3695    }
3696    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3697    #[inline(always)]
3698    pub fn saielsr71(
3699        self,
3700    ) -> crate::common::RegisterField<
3701        7,
3702        0x1,
3703        1,
3704        0,
3705        icusari::Saielsr71,
3706        Icusari_SPEC,
3707        crate::common::RW,
3708    > {
3709        crate::common::RegisterField::<
3710            7,
3711            0x1,
3712            1,
3713            0,
3714            icusari::Saielsr71,
3715            Icusari_SPEC,
3716            crate::common::RW,
3717        >::from_register(self, 0)
3718    }
3719    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3720    #[inline(always)]
3721    pub fn saielsr72(
3722        self,
3723    ) -> crate::common::RegisterField<
3724        8,
3725        0x1,
3726        1,
3727        0,
3728        icusari::Saielsr72,
3729        Icusari_SPEC,
3730        crate::common::RW,
3731    > {
3732        crate::common::RegisterField::<
3733            8,
3734            0x1,
3735            1,
3736            0,
3737            icusari::Saielsr72,
3738            Icusari_SPEC,
3739            crate::common::RW,
3740        >::from_register(self, 0)
3741    }
3742    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3743    #[inline(always)]
3744    pub fn saielsr73(
3745        self,
3746    ) -> crate::common::RegisterField<
3747        9,
3748        0x1,
3749        1,
3750        0,
3751        icusari::Saielsr73,
3752        Icusari_SPEC,
3753        crate::common::RW,
3754    > {
3755        crate::common::RegisterField::<
3756            9,
3757            0x1,
3758            1,
3759            0,
3760            icusari::Saielsr73,
3761            Icusari_SPEC,
3762            crate::common::RW,
3763        >::from_register(self, 0)
3764    }
3765    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3766    #[inline(always)]
3767    pub fn saielsr74(
3768        self,
3769    ) -> crate::common::RegisterField<
3770        10,
3771        0x1,
3772        1,
3773        0,
3774        icusari::Saielsr74,
3775        Icusari_SPEC,
3776        crate::common::RW,
3777    > {
3778        crate::common::RegisterField::<
3779            10,
3780            0x1,
3781            1,
3782            0,
3783            icusari::Saielsr74,
3784            Icusari_SPEC,
3785            crate::common::RW,
3786        >::from_register(self, 0)
3787    }
3788    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3789    #[inline(always)]
3790    pub fn saielsr75(
3791        self,
3792    ) -> crate::common::RegisterField<
3793        11,
3794        0x1,
3795        1,
3796        0,
3797        icusari::Saielsr75,
3798        Icusari_SPEC,
3799        crate::common::RW,
3800    > {
3801        crate::common::RegisterField::<
3802            11,
3803            0x1,
3804            1,
3805            0,
3806            icusari::Saielsr75,
3807            Icusari_SPEC,
3808            crate::common::RW,
3809        >::from_register(self, 0)
3810    }
3811    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3812    #[inline(always)]
3813    pub fn saielsr76(
3814        self,
3815    ) -> crate::common::RegisterField<
3816        12,
3817        0x1,
3818        1,
3819        0,
3820        icusari::Saielsr76,
3821        Icusari_SPEC,
3822        crate::common::RW,
3823    > {
3824        crate::common::RegisterField::<
3825            12,
3826            0x1,
3827            1,
3828            0,
3829            icusari::Saielsr76,
3830            Icusari_SPEC,
3831            crate::common::RW,
3832        >::from_register(self, 0)
3833    }
3834    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3835    #[inline(always)]
3836    pub fn saielsr77(
3837        self,
3838    ) -> crate::common::RegisterField<
3839        13,
3840        0x1,
3841        1,
3842        0,
3843        icusari::Saielsr77,
3844        Icusari_SPEC,
3845        crate::common::RW,
3846    > {
3847        crate::common::RegisterField::<
3848            13,
3849            0x1,
3850            1,
3851            0,
3852            icusari::Saielsr77,
3853            Icusari_SPEC,
3854            crate::common::RW,
3855        >::from_register(self, 0)
3856    }
3857    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3858    #[inline(always)]
3859    pub fn saielsr78(
3860        self,
3861    ) -> crate::common::RegisterField<
3862        14,
3863        0x1,
3864        1,
3865        0,
3866        icusari::Saielsr78,
3867        Icusari_SPEC,
3868        crate::common::RW,
3869    > {
3870        crate::common::RegisterField::<
3871            14,
3872            0x1,
3873            1,
3874            0,
3875            icusari::Saielsr78,
3876            Icusari_SPEC,
3877            crate::common::RW,
3878        >::from_register(self, 0)
3879    }
3880    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3881    #[inline(always)]
3882    pub fn saielsr79(
3883        self,
3884    ) -> crate::common::RegisterField<
3885        15,
3886        0x1,
3887        1,
3888        0,
3889        icusari::Saielsr79,
3890        Icusari_SPEC,
3891        crate::common::RW,
3892    > {
3893        crate::common::RegisterField::<
3894            15,
3895            0x1,
3896            1,
3897            0,
3898            icusari::Saielsr79,
3899            Icusari_SPEC,
3900            crate::common::RW,
3901        >::from_register(self, 0)
3902    }
3903    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3904    #[inline(always)]
3905    pub fn saielsr80(
3906        self,
3907    ) -> crate::common::RegisterField<
3908        16,
3909        0x1,
3910        1,
3911        0,
3912        icusari::Saielsr80,
3913        Icusari_SPEC,
3914        crate::common::RW,
3915    > {
3916        crate::common::RegisterField::<
3917            16,
3918            0x1,
3919            1,
3920            0,
3921            icusari::Saielsr80,
3922            Icusari_SPEC,
3923            crate::common::RW,
3924        >::from_register(self, 0)
3925    }
3926    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3927    #[inline(always)]
3928    pub fn saielsr81(
3929        self,
3930    ) -> crate::common::RegisterField<
3931        17,
3932        0x1,
3933        1,
3934        0,
3935        icusari::Saielsr81,
3936        Icusari_SPEC,
3937        crate::common::RW,
3938    > {
3939        crate::common::RegisterField::<
3940            17,
3941            0x1,
3942            1,
3943            0,
3944            icusari::Saielsr81,
3945            Icusari_SPEC,
3946            crate::common::RW,
3947        >::from_register(self, 0)
3948    }
3949    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3950    #[inline(always)]
3951    pub fn saielsr82(
3952        self,
3953    ) -> crate::common::RegisterField<
3954        18,
3955        0x1,
3956        1,
3957        0,
3958        icusari::Saielsr82,
3959        Icusari_SPEC,
3960        crate::common::RW,
3961    > {
3962        crate::common::RegisterField::<
3963            18,
3964            0x1,
3965            1,
3966            0,
3967            icusari::Saielsr82,
3968            Icusari_SPEC,
3969            crate::common::RW,
3970        >::from_register(self, 0)
3971    }
3972    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3973    #[inline(always)]
3974    pub fn saielsr83(
3975        self,
3976    ) -> crate::common::RegisterField<
3977        19,
3978        0x1,
3979        1,
3980        0,
3981        icusari::Saielsr83,
3982        Icusari_SPEC,
3983        crate::common::RW,
3984    > {
3985        crate::common::RegisterField::<
3986            19,
3987            0x1,
3988            1,
3989            0,
3990            icusari::Saielsr83,
3991            Icusari_SPEC,
3992            crate::common::RW,
3993        >::from_register(self, 0)
3994    }
3995    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
3996    #[inline(always)]
3997    pub fn saielsr84(
3998        self,
3999    ) -> crate::common::RegisterField<
4000        20,
4001        0x1,
4002        1,
4003        0,
4004        icusari::Saielsr84,
4005        Icusari_SPEC,
4006        crate::common::RW,
4007    > {
4008        crate::common::RegisterField::<
4009            20,
4010            0x1,
4011            1,
4012            0,
4013            icusari::Saielsr84,
4014            Icusari_SPEC,
4015            crate::common::RW,
4016        >::from_register(self, 0)
4017    }
4018    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
4019    #[inline(always)]
4020    pub fn saielsr85(
4021        self,
4022    ) -> crate::common::RegisterField<
4023        21,
4024        0x1,
4025        1,
4026        0,
4027        icusari::Saielsr85,
4028        Icusari_SPEC,
4029        crate::common::RW,
4030    > {
4031        crate::common::RegisterField::<
4032            21,
4033            0x1,
4034            1,
4035            0,
4036            icusari::Saielsr85,
4037            Icusari_SPEC,
4038            crate::common::RW,
4039        >::from_register(self, 0)
4040    }
4041    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
4042    #[inline(always)]
4043    pub fn saielsr86(
4044        self,
4045    ) -> crate::common::RegisterField<
4046        22,
4047        0x1,
4048        1,
4049        0,
4050        icusari::Saielsr86,
4051        Icusari_SPEC,
4052        crate::common::RW,
4053    > {
4054        crate::common::RegisterField::<
4055            22,
4056            0x1,
4057            1,
4058            0,
4059            icusari::Saielsr86,
4060            Icusari_SPEC,
4061            crate::common::RW,
4062        >::from_register(self, 0)
4063    }
4064    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
4065    #[inline(always)]
4066    pub fn saielsr87(
4067        self,
4068    ) -> crate::common::RegisterField<
4069        23,
4070        0x1,
4071        1,
4072        0,
4073        icusari::Saielsr87,
4074        Icusari_SPEC,
4075        crate::common::RW,
4076    > {
4077        crate::common::RegisterField::<
4078            23,
4079            0x1,
4080            1,
4081            0,
4082            icusari::Saielsr87,
4083            Icusari_SPEC,
4084            crate::common::RW,
4085        >::from_register(self, 0)
4086    }
4087    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
4088    #[inline(always)]
4089    pub fn saielsr88(
4090        self,
4091    ) -> crate::common::RegisterField<
4092        24,
4093        0x1,
4094        1,
4095        0,
4096        icusari::Saielsr88,
4097        Icusari_SPEC,
4098        crate::common::RW,
4099    > {
4100        crate::common::RegisterField::<
4101            24,
4102            0x1,
4103            1,
4104            0,
4105            icusari::Saielsr88,
4106            Icusari_SPEC,
4107            crate::common::RW,
4108        >::from_register(self, 0)
4109    }
4110    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
4111    #[inline(always)]
4112    pub fn saielsr89(
4113        self,
4114    ) -> crate::common::RegisterField<
4115        25,
4116        0x1,
4117        1,
4118        0,
4119        icusari::Saielsr89,
4120        Icusari_SPEC,
4121        crate::common::RW,
4122    > {
4123        crate::common::RegisterField::<
4124            25,
4125            0x1,
4126            1,
4127            0,
4128            icusari::Saielsr89,
4129            Icusari_SPEC,
4130            crate::common::RW,
4131        >::from_register(self, 0)
4132    }
4133    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
4134    #[inline(always)]
4135    pub fn saielsr90(
4136        self,
4137    ) -> crate::common::RegisterField<
4138        26,
4139        0x1,
4140        1,
4141        0,
4142        icusari::Saielsr90,
4143        Icusari_SPEC,
4144        crate::common::RW,
4145    > {
4146        crate::common::RegisterField::<
4147            26,
4148            0x1,
4149            1,
4150            0,
4151            icusari::Saielsr90,
4152            Icusari_SPEC,
4153            crate::common::RW,
4154        >::from_register(self, 0)
4155    }
4156    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
4157    #[inline(always)]
4158    pub fn saielsr91(
4159        self,
4160    ) -> crate::common::RegisterField<
4161        27,
4162        0x1,
4163        1,
4164        0,
4165        icusari::Saielsr91,
4166        Icusari_SPEC,
4167        crate::common::RW,
4168    > {
4169        crate::common::RegisterField::<
4170            27,
4171            0x1,
4172            1,
4173            0,
4174            icusari::Saielsr91,
4175            Icusari_SPEC,
4176            crate::common::RW,
4177        >::from_register(self, 0)
4178    }
4179    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
4180    #[inline(always)]
4181    pub fn saielsr92(
4182        self,
4183    ) -> crate::common::RegisterField<
4184        28,
4185        0x1,
4186        1,
4187        0,
4188        icusari::Saielsr92,
4189        Icusari_SPEC,
4190        crate::common::RW,
4191    > {
4192        crate::common::RegisterField::<
4193            28,
4194            0x1,
4195            1,
4196            0,
4197            icusari::Saielsr92,
4198            Icusari_SPEC,
4199            crate::common::RW,
4200        >::from_register(self, 0)
4201    }
4202    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
4203    #[inline(always)]
4204    pub fn saielsr93(
4205        self,
4206    ) -> crate::common::RegisterField<
4207        29,
4208        0x1,
4209        1,
4210        0,
4211        icusari::Saielsr93,
4212        Icusari_SPEC,
4213        crate::common::RW,
4214    > {
4215        crate::common::RegisterField::<
4216            29,
4217            0x1,
4218            1,
4219            0,
4220            icusari::Saielsr93,
4221            Icusari_SPEC,
4222            crate::common::RW,
4223        >::from_register(self, 0)
4224    }
4225    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
4226    #[inline(always)]
4227    pub fn saielsr94(
4228        self,
4229    ) -> crate::common::RegisterField<
4230        30,
4231        0x1,
4232        1,
4233        0,
4234        icusari::Saielsr94,
4235        Icusari_SPEC,
4236        crate::common::RW,
4237    > {
4238        crate::common::RegisterField::<
4239            30,
4240            0x1,
4241            1,
4242            0,
4243            icusari::Saielsr94,
4244            Icusari_SPEC,
4245            crate::common::RW,
4246        >::from_register(self, 0)
4247    }
4248    #[doc = "Security attributes of registers for IELSR95 to IELSR64"]
4249    #[inline(always)]
4250    pub fn saielsr95(
4251        self,
4252    ) -> crate::common::RegisterField<
4253        31,
4254        0x1,
4255        1,
4256        0,
4257        icusari::Saielsr95,
4258        Icusari_SPEC,
4259        crate::common::RW,
4260    > {
4261        crate::common::RegisterField::<
4262            31,
4263            0x1,
4264            1,
4265            0,
4266            icusari::Saielsr95,
4267            Icusari_SPEC,
4268            crate::common::RW,
4269        >::from_register(self, 0)
4270    }
4271}
4272impl ::core::default::Default for Icusari {
4273    #[inline(always)]
4274    fn default() -> Icusari {
4275        <crate::RegValueT<Icusari_SPEC> as RegisterValue<_>>::new(4294967295)
4276    }
4277}
4278pub mod icusari {
4279
4280    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4281    pub struct Saielsr64_SPEC;
4282    pub type Saielsr64 = crate::EnumBitfieldStruct<u8, Saielsr64_SPEC>;
4283    impl Saielsr64 {
4284        #[doc = "Secure"]
4285        pub const _0: Self = Self::new(0);
4286        #[doc = "Non-secure"]
4287        pub const _1: Self = Self::new(1);
4288    }
4289    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4290    pub struct Saielsr65_SPEC;
4291    pub type Saielsr65 = crate::EnumBitfieldStruct<u8, Saielsr65_SPEC>;
4292    impl Saielsr65 {
4293        #[doc = "Secure"]
4294        pub const _0: Self = Self::new(0);
4295        #[doc = "Non-secure"]
4296        pub const _1: Self = Self::new(1);
4297    }
4298    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4299    pub struct Saielsr66_SPEC;
4300    pub type Saielsr66 = crate::EnumBitfieldStruct<u8, Saielsr66_SPEC>;
4301    impl Saielsr66 {
4302        #[doc = "Secure"]
4303        pub const _0: Self = Self::new(0);
4304        #[doc = "Non-secure"]
4305        pub const _1: Self = Self::new(1);
4306    }
4307    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4308    pub struct Saielsr67_SPEC;
4309    pub type Saielsr67 = crate::EnumBitfieldStruct<u8, Saielsr67_SPEC>;
4310    impl Saielsr67 {
4311        #[doc = "Secure"]
4312        pub const _0: Self = Self::new(0);
4313        #[doc = "Non-secure"]
4314        pub const _1: Self = Self::new(1);
4315    }
4316    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4317    pub struct Saielsr68_SPEC;
4318    pub type Saielsr68 = crate::EnumBitfieldStruct<u8, Saielsr68_SPEC>;
4319    impl Saielsr68 {
4320        #[doc = "Secure"]
4321        pub const _0: Self = Self::new(0);
4322        #[doc = "Non-secure"]
4323        pub const _1: Self = Self::new(1);
4324    }
4325    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4326    pub struct Saielsr69_SPEC;
4327    pub type Saielsr69 = crate::EnumBitfieldStruct<u8, Saielsr69_SPEC>;
4328    impl Saielsr69 {
4329        #[doc = "Secure"]
4330        pub const _0: Self = Self::new(0);
4331        #[doc = "Non-secure"]
4332        pub const _1: Self = Self::new(1);
4333    }
4334    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4335    pub struct Saielsr70_SPEC;
4336    pub type Saielsr70 = crate::EnumBitfieldStruct<u8, Saielsr70_SPEC>;
4337    impl Saielsr70 {
4338        #[doc = "Secure"]
4339        pub const _0: Self = Self::new(0);
4340        #[doc = "Non-secure"]
4341        pub const _1: Self = Self::new(1);
4342    }
4343    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4344    pub struct Saielsr71_SPEC;
4345    pub type Saielsr71 = crate::EnumBitfieldStruct<u8, Saielsr71_SPEC>;
4346    impl Saielsr71 {
4347        #[doc = "Secure"]
4348        pub const _0: Self = Self::new(0);
4349        #[doc = "Non-secure"]
4350        pub const _1: Self = Self::new(1);
4351    }
4352    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4353    pub struct Saielsr72_SPEC;
4354    pub type Saielsr72 = crate::EnumBitfieldStruct<u8, Saielsr72_SPEC>;
4355    impl Saielsr72 {
4356        #[doc = "Secure"]
4357        pub const _0: Self = Self::new(0);
4358        #[doc = "Non-secure"]
4359        pub const _1: Self = Self::new(1);
4360    }
4361    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4362    pub struct Saielsr73_SPEC;
4363    pub type Saielsr73 = crate::EnumBitfieldStruct<u8, Saielsr73_SPEC>;
4364    impl Saielsr73 {
4365        #[doc = "Secure"]
4366        pub const _0: Self = Self::new(0);
4367        #[doc = "Non-secure"]
4368        pub const _1: Self = Self::new(1);
4369    }
4370    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4371    pub struct Saielsr74_SPEC;
4372    pub type Saielsr74 = crate::EnumBitfieldStruct<u8, Saielsr74_SPEC>;
4373    impl Saielsr74 {
4374        #[doc = "Secure"]
4375        pub const _0: Self = Self::new(0);
4376        #[doc = "Non-secure"]
4377        pub const _1: Self = Self::new(1);
4378    }
4379    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4380    pub struct Saielsr75_SPEC;
4381    pub type Saielsr75 = crate::EnumBitfieldStruct<u8, Saielsr75_SPEC>;
4382    impl Saielsr75 {
4383        #[doc = "Secure"]
4384        pub const _0: Self = Self::new(0);
4385        #[doc = "Non-secure"]
4386        pub const _1: Self = Self::new(1);
4387    }
4388    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4389    pub struct Saielsr76_SPEC;
4390    pub type Saielsr76 = crate::EnumBitfieldStruct<u8, Saielsr76_SPEC>;
4391    impl Saielsr76 {
4392        #[doc = "Secure"]
4393        pub const _0: Self = Self::new(0);
4394        #[doc = "Non-secure"]
4395        pub const _1: Self = Self::new(1);
4396    }
4397    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4398    pub struct Saielsr77_SPEC;
4399    pub type Saielsr77 = crate::EnumBitfieldStruct<u8, Saielsr77_SPEC>;
4400    impl Saielsr77 {
4401        #[doc = "Secure"]
4402        pub const _0: Self = Self::new(0);
4403        #[doc = "Non-secure"]
4404        pub const _1: Self = Self::new(1);
4405    }
4406    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4407    pub struct Saielsr78_SPEC;
4408    pub type Saielsr78 = crate::EnumBitfieldStruct<u8, Saielsr78_SPEC>;
4409    impl Saielsr78 {
4410        #[doc = "Secure"]
4411        pub const _0: Self = Self::new(0);
4412        #[doc = "Non-secure"]
4413        pub const _1: Self = Self::new(1);
4414    }
4415    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4416    pub struct Saielsr79_SPEC;
4417    pub type Saielsr79 = crate::EnumBitfieldStruct<u8, Saielsr79_SPEC>;
4418    impl Saielsr79 {
4419        #[doc = "Secure"]
4420        pub const _0: Self = Self::new(0);
4421        #[doc = "Non-secure"]
4422        pub const _1: Self = Self::new(1);
4423    }
4424    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4425    pub struct Saielsr80_SPEC;
4426    pub type Saielsr80 = crate::EnumBitfieldStruct<u8, Saielsr80_SPEC>;
4427    impl Saielsr80 {
4428        #[doc = "Secure"]
4429        pub const _0: Self = Self::new(0);
4430        #[doc = "Non-secure"]
4431        pub const _1: Self = Self::new(1);
4432    }
4433    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4434    pub struct Saielsr81_SPEC;
4435    pub type Saielsr81 = crate::EnumBitfieldStruct<u8, Saielsr81_SPEC>;
4436    impl Saielsr81 {
4437        #[doc = "Secure"]
4438        pub const _0: Self = Self::new(0);
4439        #[doc = "Non-secure"]
4440        pub const _1: Self = Self::new(1);
4441    }
4442    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4443    pub struct Saielsr82_SPEC;
4444    pub type Saielsr82 = crate::EnumBitfieldStruct<u8, Saielsr82_SPEC>;
4445    impl Saielsr82 {
4446        #[doc = "Secure"]
4447        pub const _0: Self = Self::new(0);
4448        #[doc = "Non-secure"]
4449        pub const _1: Self = Self::new(1);
4450    }
4451    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4452    pub struct Saielsr83_SPEC;
4453    pub type Saielsr83 = crate::EnumBitfieldStruct<u8, Saielsr83_SPEC>;
4454    impl Saielsr83 {
4455        #[doc = "Secure"]
4456        pub const _0: Self = Self::new(0);
4457        #[doc = "Non-secure"]
4458        pub const _1: Self = Self::new(1);
4459    }
4460    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4461    pub struct Saielsr84_SPEC;
4462    pub type Saielsr84 = crate::EnumBitfieldStruct<u8, Saielsr84_SPEC>;
4463    impl Saielsr84 {
4464        #[doc = "Secure"]
4465        pub const _0: Self = Self::new(0);
4466        #[doc = "Non-secure"]
4467        pub const _1: Self = Self::new(1);
4468    }
4469    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4470    pub struct Saielsr85_SPEC;
4471    pub type Saielsr85 = crate::EnumBitfieldStruct<u8, Saielsr85_SPEC>;
4472    impl Saielsr85 {
4473        #[doc = "Secure"]
4474        pub const _0: Self = Self::new(0);
4475        #[doc = "Non-secure"]
4476        pub const _1: Self = Self::new(1);
4477    }
4478    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4479    pub struct Saielsr86_SPEC;
4480    pub type Saielsr86 = crate::EnumBitfieldStruct<u8, Saielsr86_SPEC>;
4481    impl Saielsr86 {
4482        #[doc = "Secure"]
4483        pub const _0: Self = Self::new(0);
4484        #[doc = "Non-secure"]
4485        pub const _1: Self = Self::new(1);
4486    }
4487    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4488    pub struct Saielsr87_SPEC;
4489    pub type Saielsr87 = crate::EnumBitfieldStruct<u8, Saielsr87_SPEC>;
4490    impl Saielsr87 {
4491        #[doc = "Secure"]
4492        pub const _0: Self = Self::new(0);
4493        #[doc = "Non-secure"]
4494        pub const _1: Self = Self::new(1);
4495    }
4496    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4497    pub struct Saielsr88_SPEC;
4498    pub type Saielsr88 = crate::EnumBitfieldStruct<u8, Saielsr88_SPEC>;
4499    impl Saielsr88 {
4500        #[doc = "Secure"]
4501        pub const _0: Self = Self::new(0);
4502        #[doc = "Non-secure"]
4503        pub const _1: Self = Self::new(1);
4504    }
4505    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4506    pub struct Saielsr89_SPEC;
4507    pub type Saielsr89 = crate::EnumBitfieldStruct<u8, Saielsr89_SPEC>;
4508    impl Saielsr89 {
4509        #[doc = "Secure"]
4510        pub const _0: Self = Self::new(0);
4511        #[doc = "Non-secure"]
4512        pub const _1: Self = Self::new(1);
4513    }
4514    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4515    pub struct Saielsr90_SPEC;
4516    pub type Saielsr90 = crate::EnumBitfieldStruct<u8, Saielsr90_SPEC>;
4517    impl Saielsr90 {
4518        #[doc = "Secure"]
4519        pub const _0: Self = Self::new(0);
4520        #[doc = "Non-secure"]
4521        pub const _1: Self = Self::new(1);
4522    }
4523    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4524    pub struct Saielsr91_SPEC;
4525    pub type Saielsr91 = crate::EnumBitfieldStruct<u8, Saielsr91_SPEC>;
4526    impl Saielsr91 {
4527        #[doc = "Secure"]
4528        pub const _0: Self = Self::new(0);
4529        #[doc = "Non-secure"]
4530        pub const _1: Self = Self::new(1);
4531    }
4532    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4533    pub struct Saielsr92_SPEC;
4534    pub type Saielsr92 = crate::EnumBitfieldStruct<u8, Saielsr92_SPEC>;
4535    impl Saielsr92 {
4536        #[doc = "Secure"]
4537        pub const _0: Self = Self::new(0);
4538        #[doc = "Non-secure"]
4539        pub const _1: Self = Self::new(1);
4540    }
4541    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4542    pub struct Saielsr93_SPEC;
4543    pub type Saielsr93 = crate::EnumBitfieldStruct<u8, Saielsr93_SPEC>;
4544    impl Saielsr93 {
4545        #[doc = "Secure"]
4546        pub const _0: Self = Self::new(0);
4547        #[doc = "Non-secure"]
4548        pub const _1: Self = Self::new(1);
4549    }
4550    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4551    pub struct Saielsr94_SPEC;
4552    pub type Saielsr94 = crate::EnumBitfieldStruct<u8, Saielsr94_SPEC>;
4553    impl Saielsr94 {
4554        #[doc = "Secure"]
4555        pub const _0: Self = Self::new(0);
4556        #[doc = "Non-secure"]
4557        pub const _1: Self = Self::new(1);
4558    }
4559    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4560    pub struct Saielsr95_SPEC;
4561    pub type Saielsr95 = crate::EnumBitfieldStruct<u8, Saielsr95_SPEC>;
4562    impl Saielsr95 {
4563        #[doc = "Secure"]
4564        pub const _0: Self = Self::new(0);
4565        #[doc = "Non-secure"]
4566        pub const _1: Self = Self::new(1);
4567    }
4568}
4569#[doc(hidden)]
4570#[derive(Copy, Clone, Eq, PartialEq)]
4571pub struct Bussara_SPEC;
4572impl crate::sealed::RegSpec for Bussara_SPEC {
4573    type DataType = u32;
4574}
4575#[doc = "BUS Security Attribution Register A"]
4576pub type Bussara = crate::RegValueT<Bussara_SPEC>;
4577
4578impl Bussara {
4579    #[doc = "BUS Security Attribution A0"]
4580    #[inline(always)]
4581    pub fn bussa0(
4582        self,
4583    ) -> crate::common::RegisterField<0, 0x1, 1, 0, bussara::Bussa0, Bussara_SPEC, crate::common::RW>
4584    {
4585        crate::common::RegisterField::<0,0x1,1,0,bussara::Bussa0, Bussara_SPEC,crate::common::RW>::from_register(self,0)
4586    }
4587}
4588impl ::core::default::Default for Bussara {
4589    #[inline(always)]
4590    fn default() -> Bussara {
4591        <crate::RegValueT<Bussara_SPEC> as RegisterValue<_>>::new(4294967295)
4592    }
4593}
4594pub mod bussara {
4595
4596    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4597    pub struct Bussa0_SPEC;
4598    pub type Bussa0 = crate::EnumBitfieldStruct<u8, Bussa0_SPEC>;
4599    impl Bussa0 {
4600        #[doc = "Secure"]
4601        pub const _0: Self = Self::new(0);
4602        #[doc = "Non-Secure"]
4603        pub const _1: Self = Self::new(1);
4604    }
4605}
4606#[doc(hidden)]
4607#[derive(Copy, Clone, Eq, PartialEq)]
4608pub struct Bussarb_SPEC;
4609impl crate::sealed::RegSpec for Bussarb_SPEC {
4610    type DataType = u32;
4611}
4612#[doc = "BUS Security Attribution Register B"]
4613pub type Bussarb = crate::RegValueT<Bussarb_SPEC>;
4614
4615impl Bussarb {
4616    #[doc = "BUS Security Attribution B0"]
4617    #[inline(always)]
4618    pub fn bussb0(
4619        self,
4620    ) -> crate::common::RegisterField<0, 0x1, 1, 0, bussarb::Bussb0, Bussarb_SPEC, crate::common::RW>
4621    {
4622        crate::common::RegisterField::<0,0x1,1,0,bussarb::Bussb0, Bussarb_SPEC,crate::common::RW>::from_register(self,0)
4623    }
4624}
4625impl ::core::default::Default for Bussarb {
4626    #[inline(always)]
4627    fn default() -> Bussarb {
4628        <crate::RegValueT<Bussarb_SPEC> as RegisterValue<_>>::new(4294967295)
4629    }
4630}
4631pub mod bussarb {
4632
4633    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4634    pub struct Bussb0_SPEC;
4635    pub type Bussb0 = crate::EnumBitfieldStruct<u8, Bussb0_SPEC>;
4636    impl Bussb0 {
4637        #[doc = "Secure"]
4638        pub const _0: Self = Self::new(0);
4639        #[doc = "Non-Secure"]
4640        pub const _1: Self = Self::new(1);
4641    }
4642}
4643#[doc(hidden)]
4644#[derive(Copy, Clone, Eq, PartialEq)]
4645pub struct Mmpusara_SPEC;
4646impl crate::sealed::RegSpec for Mmpusara_SPEC {
4647    type DataType = u32;
4648}
4649#[doc = "Master Memory Protection Unit Security Attribution Register A"]
4650pub type Mmpusara = crate::RegValueT<Mmpusara_SPEC>;
4651
4652impl Mmpusara {
4653    #[doc = "MMPUA Security Attribution (n = 0 to 7)"]
4654    #[inline(always)]
4655    pub fn mmpuasan(
4656        self,
4657    ) -> crate::common::RegisterField<
4658        0,
4659        0xff,
4660        1,
4661        0,
4662        mmpusara::MmpuasAn,
4663        Mmpusara_SPEC,
4664        crate::common::RW,
4665    > {
4666        crate::common::RegisterField::<
4667            0,
4668            0xff,
4669            1,
4670            0,
4671            mmpusara::MmpuasAn,
4672            Mmpusara_SPEC,
4673            crate::common::RW,
4674        >::from_register(self, 0)
4675    }
4676}
4677impl ::core::default::Default for Mmpusara {
4678    #[inline(always)]
4679    fn default() -> Mmpusara {
4680        <crate::RegValueT<Mmpusara_SPEC> as RegisterValue<_>>::new(4294967295)
4681    }
4682}
4683pub mod mmpusara {
4684
4685    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4686    pub struct MmpuasAn_SPEC;
4687    pub type MmpuasAn = crate::EnumBitfieldStruct<u8, MmpuasAn_SPEC>;
4688    impl MmpuasAn {
4689        #[doc = "Secure"]
4690        pub const _0: Self = Self::new(0);
4691        #[doc = "Non-Secure"]
4692        pub const _1: Self = Self::new(1);
4693    }
4694}
4695#[doc(hidden)]
4696#[derive(Copy, Clone, Eq, PartialEq)]
4697pub struct Mmpusarb_SPEC;
4698impl crate::sealed::RegSpec for Mmpusarb_SPEC {
4699    type DataType = u32;
4700}
4701#[doc = "Master Memory Protection Unit Security Attribution Register B"]
4702pub type Mmpusarb = crate::RegValueT<Mmpusarb_SPEC>;
4703
4704impl Mmpusarb {
4705    #[doc = "MMPUB Security Attribution"]
4706    #[inline(always)]
4707    pub fn mmpubsa0(
4708        self,
4709    ) -> crate::common::RegisterField<
4710        0,
4711        0x1,
4712        1,
4713        0,
4714        mmpusarb::Mmpubsa0,
4715        Mmpusarb_SPEC,
4716        crate::common::RW,
4717    > {
4718        crate::common::RegisterField::<
4719            0,
4720            0x1,
4721            1,
4722            0,
4723            mmpusarb::Mmpubsa0,
4724            Mmpusarb_SPEC,
4725            crate::common::RW,
4726        >::from_register(self, 0)
4727    }
4728}
4729impl ::core::default::Default for Mmpusarb {
4730    #[inline(always)]
4731    fn default() -> Mmpusarb {
4732        <crate::RegValueT<Mmpusarb_SPEC> as RegisterValue<_>>::new(4294967295)
4733    }
4734}
4735pub mod mmpusarb {
4736
4737    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4738    pub struct Mmpubsa0_SPEC;
4739    pub type Mmpubsa0 = crate::EnumBitfieldStruct<u8, Mmpubsa0_SPEC>;
4740    impl Mmpubsa0 {
4741        #[doc = "Secure"]
4742        pub const _0: Self = Self::new(0);
4743        #[doc = "Non-Secure"]
4744        pub const _1: Self = Self::new(1);
4745    }
4746}
4747#[doc(hidden)]
4748#[derive(Copy, Clone, Eq, PartialEq)]
4749pub struct Tzfsar_SPEC;
4750impl crate::sealed::RegSpec for Tzfsar_SPEC {
4751    type DataType = u32;
4752}
4753#[doc = "TrustZone Filter Security Attribution Register"]
4754pub type Tzfsar = crate::RegValueT<Tzfsar_SPEC>;
4755
4756impl Tzfsar {
4757    #[doc = "Security attributes of registers for TrustZone Filter"]
4758    #[inline(always)]
4759    pub fn tzfsa0(
4760        self,
4761    ) -> crate::common::RegisterField<0, 0x1, 1, 0, tzfsar::Tzfsa0, Tzfsar_SPEC, crate::common::RW>
4762    {
4763        crate::common::RegisterField::<0,0x1,1,0,tzfsar::Tzfsa0, Tzfsar_SPEC,crate::common::RW>::from_register(self,0)
4764    }
4765}
4766impl ::core::default::Default for Tzfsar {
4767    #[inline(always)]
4768    fn default() -> Tzfsar {
4769        <crate::RegValueT<Tzfsar_SPEC> as RegisterValue<_>>::new(4294967294)
4770    }
4771}
4772pub mod tzfsar {
4773
4774    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4775    pub struct Tzfsa0_SPEC;
4776    pub type Tzfsa0 = crate::EnumBitfieldStruct<u8, Tzfsa0_SPEC>;
4777    impl Tzfsa0 {
4778        #[doc = "Secure"]
4779        pub const _0: Self = Self::new(0);
4780        #[doc = "Non-secure"]
4781        pub const _1: Self = Self::new(1);
4782    }
4783}
4784#[doc(hidden)]
4785#[derive(Copy, Clone, Eq, PartialEq)]
4786pub struct Cpudsar_SPEC;
4787impl crate::sealed::RegSpec for Cpudsar_SPEC {
4788    type DataType = u32;
4789}
4790#[doc = "CPU Debug Security Attribution Register"]
4791pub type Cpudsar = crate::RegValueT<Cpudsar_SPEC>;
4792
4793impl Cpudsar {
4794    #[doc = "CPU Debug Security Attribution 0"]
4795    #[inline(always)]
4796    pub fn cpudsa0(
4797        self,
4798    ) -> crate::common::RegisterField<0, 0x1, 1, 0, cpudsar::Cpudsa0, Cpudsar_SPEC, crate::common::RW>
4799    {
4800        crate::common::RegisterField::<
4801            0,
4802            0x1,
4803            1,
4804            0,
4805            cpudsar::Cpudsa0,
4806            Cpudsar_SPEC,
4807            crate::common::RW,
4808        >::from_register(self, 0)
4809    }
4810}
4811impl ::core::default::Default for Cpudsar {
4812    #[inline(always)]
4813    fn default() -> Cpudsar {
4814        <crate::RegValueT<Cpudsar_SPEC> as RegisterValue<_>>::new(4294967294)
4815    }
4816}
4817pub mod cpudsar {
4818
4819    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4820    pub struct Cpudsa0_SPEC;
4821    pub type Cpudsa0 = crate::EnumBitfieldStruct<u8, Cpudsa0_SPEC>;
4822    impl Cpudsa0 {
4823        #[doc = "Secure"]
4824        pub const _0: Self = Self::new(0);
4825        #[doc = "Non-secure"]
4826        pub const _1: Self = Self::new(1);
4827    }
4828}