Skip to main content

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