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