Skip to main content

mcxa_pac/mbc0/
mbc0_dom0_mem0_blk_cfg_w15.rs

1#[doc = "Register `MBC0_DOM0_MEM0_BLK_CFG_W15` reader"]
2pub type R = crate::R<Mbc0Dom0Mem0BlkCfgW15Spec>;
3#[doc = "Register `MBC0_DOM0_MEM0_BLK_CFG_W15` writer"]
4pub type W = crate::W<Mbc0Dom0Mem0BlkCfgW15Spec>;
5#[doc = "Memory Block Access Control Select for block B\n\nValue on reset: 0"]
6#[cfg_attr(feature = "defmt", derive(defmt::Format))]
7#[derive(Clone, Copy, Debug, PartialEq, Eq)]
8#[repr(u8)]
9pub enum Mbacsel0 {
10    #[doc = "0: select MBC_MEMN_GLBAC0 access control policy for block B"]
11    Glbac0 = 0,
12    #[doc = "1: select MBC_MEMN_GLBAC1 access control policy for block B"]
13    Glbac1 = 1,
14    #[doc = "2: select MBC_MEMN_GLBAC2 access control policy for block B"]
15    Glbac2 = 2,
16    #[doc = "3: select MBC_MEMN_GLBAC3 access control policy for block B"]
17    Glbac3 = 3,
18    #[doc = "4: select MBC_MEMN_GLBAC4 access control policy for block B"]
19    Glbac4 = 4,
20    #[doc = "5: select MBC_MEMN_GLBAC5 access control policy for block B"]
21    Glbac5 = 5,
22    #[doc = "6: select MBC_MEMN_GLBAC6 access control policy for block B"]
23    Glbac6 = 6,
24    #[doc = "7: select MBC_MEMN_GLBAC7 access control policy for block B"]
25    Glbac7 = 7,
26}
27impl From<Mbacsel0> for u8 {
28    #[inline(always)]
29    fn from(variant: Mbacsel0) -> Self {
30        variant as _
31    }
32}
33impl crate::FieldSpec for Mbacsel0 {
34    type Ux = u8;
35}
36impl crate::IsEnum for Mbacsel0 {}
37#[doc = "Field `MBACSEL0` reader - Memory Block Access Control Select for block B"]
38pub type Mbacsel0R = crate::FieldReader<Mbacsel0>;
39impl Mbacsel0R {
40    #[doc = "Get enumerated values variant"]
41    #[inline(always)]
42    pub const fn variant(&self) -> Mbacsel0 {
43        match self.bits {
44            0 => Mbacsel0::Glbac0,
45            1 => Mbacsel0::Glbac1,
46            2 => Mbacsel0::Glbac2,
47            3 => Mbacsel0::Glbac3,
48            4 => Mbacsel0::Glbac4,
49            5 => Mbacsel0::Glbac5,
50            6 => Mbacsel0::Glbac6,
51            7 => Mbacsel0::Glbac7,
52            _ => unreachable!(),
53        }
54    }
55    #[doc = "select MBC_MEMN_GLBAC0 access control policy for block B"]
56    #[inline(always)]
57    pub fn is_glbac0(&self) -> bool {
58        *self == Mbacsel0::Glbac0
59    }
60    #[doc = "select MBC_MEMN_GLBAC1 access control policy for block B"]
61    #[inline(always)]
62    pub fn is_glbac1(&self) -> bool {
63        *self == Mbacsel0::Glbac1
64    }
65    #[doc = "select MBC_MEMN_GLBAC2 access control policy for block B"]
66    #[inline(always)]
67    pub fn is_glbac2(&self) -> bool {
68        *self == Mbacsel0::Glbac2
69    }
70    #[doc = "select MBC_MEMN_GLBAC3 access control policy for block B"]
71    #[inline(always)]
72    pub fn is_glbac3(&self) -> bool {
73        *self == Mbacsel0::Glbac3
74    }
75    #[doc = "select MBC_MEMN_GLBAC4 access control policy for block B"]
76    #[inline(always)]
77    pub fn is_glbac4(&self) -> bool {
78        *self == Mbacsel0::Glbac4
79    }
80    #[doc = "select MBC_MEMN_GLBAC5 access control policy for block B"]
81    #[inline(always)]
82    pub fn is_glbac5(&self) -> bool {
83        *self == Mbacsel0::Glbac5
84    }
85    #[doc = "select MBC_MEMN_GLBAC6 access control policy for block B"]
86    #[inline(always)]
87    pub fn is_glbac6(&self) -> bool {
88        *self == Mbacsel0::Glbac6
89    }
90    #[doc = "select MBC_MEMN_GLBAC7 access control policy for block B"]
91    #[inline(always)]
92    pub fn is_glbac7(&self) -> bool {
93        *self == Mbacsel0::Glbac7
94    }
95}
96#[doc = "Field `MBACSEL0` writer - Memory Block Access Control Select for block B"]
97pub type Mbacsel0W<'a, REG> = crate::FieldWriter<'a, REG, 3, Mbacsel0, crate::Safe>;
98impl<'a, REG> Mbacsel0W<'a, REG>
99where
100    REG: crate::Writable + crate::RegisterSpec,
101    REG::Ux: From<u8>,
102{
103    #[doc = "select MBC_MEMN_GLBAC0 access control policy for block B"]
104    #[inline(always)]
105    pub fn glbac0(self) -> &'a mut crate::W<REG> {
106        self.variant(Mbacsel0::Glbac0)
107    }
108    #[doc = "select MBC_MEMN_GLBAC1 access control policy for block B"]
109    #[inline(always)]
110    pub fn glbac1(self) -> &'a mut crate::W<REG> {
111        self.variant(Mbacsel0::Glbac1)
112    }
113    #[doc = "select MBC_MEMN_GLBAC2 access control policy for block B"]
114    #[inline(always)]
115    pub fn glbac2(self) -> &'a mut crate::W<REG> {
116        self.variant(Mbacsel0::Glbac2)
117    }
118    #[doc = "select MBC_MEMN_GLBAC3 access control policy for block B"]
119    #[inline(always)]
120    pub fn glbac3(self) -> &'a mut crate::W<REG> {
121        self.variant(Mbacsel0::Glbac3)
122    }
123    #[doc = "select MBC_MEMN_GLBAC4 access control policy for block B"]
124    #[inline(always)]
125    pub fn glbac4(self) -> &'a mut crate::W<REG> {
126        self.variant(Mbacsel0::Glbac4)
127    }
128    #[doc = "select MBC_MEMN_GLBAC5 access control policy for block B"]
129    #[inline(always)]
130    pub fn glbac5(self) -> &'a mut crate::W<REG> {
131        self.variant(Mbacsel0::Glbac5)
132    }
133    #[doc = "select MBC_MEMN_GLBAC6 access control policy for block B"]
134    #[inline(always)]
135    pub fn glbac6(self) -> &'a mut crate::W<REG> {
136        self.variant(Mbacsel0::Glbac6)
137    }
138    #[doc = "select MBC_MEMN_GLBAC7 access control policy for block B"]
139    #[inline(always)]
140    pub fn glbac7(self) -> &'a mut crate::W<REG> {
141        self.variant(Mbacsel0::Glbac7)
142    }
143}
144#[doc = "NonSecure Enable for block B\n\nValue on reset: 0"]
145#[cfg_attr(feature = "defmt", derive(defmt::Format))]
146#[derive(Clone, Copy, Debug, PartialEq, Eq)]
147pub enum Nse0 {
148    #[doc = "0: Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
149    Allowed = 0,
150    #[doc = "1: Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
151    Notallowed = 1,
152}
153impl From<Nse0> for bool {
154    #[inline(always)]
155    fn from(variant: Nse0) -> Self {
156        variant as u8 != 0
157    }
158}
159#[doc = "Field `NSE0` reader - NonSecure Enable for block B"]
160pub type Nse0R = crate::BitReader<Nse0>;
161impl Nse0R {
162    #[doc = "Get enumerated values variant"]
163    #[inline(always)]
164    pub const fn variant(&self) -> Nse0 {
165        match self.bits {
166            false => Nse0::Allowed,
167            true => Nse0::Notallowed,
168        }
169    }
170    #[doc = "Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
171    #[inline(always)]
172    pub fn is_allowed(&self) -> bool {
173        *self == Nse0::Allowed
174    }
175    #[doc = "Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
176    #[inline(always)]
177    pub fn is_notallowed(&self) -> bool {
178        *self == Nse0::Notallowed
179    }
180}
181#[doc = "Field `NSE0` writer - NonSecure Enable for block B"]
182pub type Nse0W<'a, REG> = crate::BitWriter<'a, REG, Nse0>;
183impl<'a, REG> Nse0W<'a, REG>
184where
185    REG: crate::Writable + crate::RegisterSpec,
186{
187    #[doc = "Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
188    #[inline(always)]
189    pub fn allowed(self) -> &'a mut crate::W<REG> {
190        self.variant(Nse0::Allowed)
191    }
192    #[doc = "Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
193    #[inline(always)]
194    pub fn notallowed(self) -> &'a mut crate::W<REG> {
195        self.variant(Nse0::Notallowed)
196    }
197}
198#[doc = "Memory Block Access Control Select for block B\n\nValue on reset: 0"]
199#[cfg_attr(feature = "defmt", derive(defmt::Format))]
200#[derive(Clone, Copy, Debug, PartialEq, Eq)]
201#[repr(u8)]
202pub enum Mbacsel1 {
203    #[doc = "0: select MBC_MEMN_GLBAC0 access control policy for block B"]
204    Glbac0 = 0,
205    #[doc = "1: select MBC_MEMN_GLBAC1 access control policy for block B"]
206    Glbac1 = 1,
207    #[doc = "2: select MBC_MEMN_GLBAC2 access control policy for block B"]
208    Glbac2 = 2,
209    #[doc = "3: select MBC_MEMN_GLBAC3 access control policy for block B"]
210    Glbac3 = 3,
211    #[doc = "4: select MBC_MEMN_GLBAC4 access control policy for block B"]
212    Glbac4 = 4,
213    #[doc = "5: select MBC_MEMN_GLBAC5 access control policy for block B"]
214    Glbac5 = 5,
215    #[doc = "6: select MBC_MEMN_GLBAC6 access control policy for block B"]
216    Glbac6 = 6,
217    #[doc = "7: select MBC_MEMN_GLBAC7 access control policy for block B"]
218    Glbac7 = 7,
219}
220impl From<Mbacsel1> for u8 {
221    #[inline(always)]
222    fn from(variant: Mbacsel1) -> Self {
223        variant as _
224    }
225}
226impl crate::FieldSpec for Mbacsel1 {
227    type Ux = u8;
228}
229impl crate::IsEnum for Mbacsel1 {}
230#[doc = "Field `MBACSEL1` reader - Memory Block Access Control Select for block B"]
231pub type Mbacsel1R = crate::FieldReader<Mbacsel1>;
232impl Mbacsel1R {
233    #[doc = "Get enumerated values variant"]
234    #[inline(always)]
235    pub const fn variant(&self) -> Mbacsel1 {
236        match self.bits {
237            0 => Mbacsel1::Glbac0,
238            1 => Mbacsel1::Glbac1,
239            2 => Mbacsel1::Glbac2,
240            3 => Mbacsel1::Glbac3,
241            4 => Mbacsel1::Glbac4,
242            5 => Mbacsel1::Glbac5,
243            6 => Mbacsel1::Glbac6,
244            7 => Mbacsel1::Glbac7,
245            _ => unreachable!(),
246        }
247    }
248    #[doc = "select MBC_MEMN_GLBAC0 access control policy for block B"]
249    #[inline(always)]
250    pub fn is_glbac0(&self) -> bool {
251        *self == Mbacsel1::Glbac0
252    }
253    #[doc = "select MBC_MEMN_GLBAC1 access control policy for block B"]
254    #[inline(always)]
255    pub fn is_glbac1(&self) -> bool {
256        *self == Mbacsel1::Glbac1
257    }
258    #[doc = "select MBC_MEMN_GLBAC2 access control policy for block B"]
259    #[inline(always)]
260    pub fn is_glbac2(&self) -> bool {
261        *self == Mbacsel1::Glbac2
262    }
263    #[doc = "select MBC_MEMN_GLBAC3 access control policy for block B"]
264    #[inline(always)]
265    pub fn is_glbac3(&self) -> bool {
266        *self == Mbacsel1::Glbac3
267    }
268    #[doc = "select MBC_MEMN_GLBAC4 access control policy for block B"]
269    #[inline(always)]
270    pub fn is_glbac4(&self) -> bool {
271        *self == Mbacsel1::Glbac4
272    }
273    #[doc = "select MBC_MEMN_GLBAC5 access control policy for block B"]
274    #[inline(always)]
275    pub fn is_glbac5(&self) -> bool {
276        *self == Mbacsel1::Glbac5
277    }
278    #[doc = "select MBC_MEMN_GLBAC6 access control policy for block B"]
279    #[inline(always)]
280    pub fn is_glbac6(&self) -> bool {
281        *self == Mbacsel1::Glbac6
282    }
283    #[doc = "select MBC_MEMN_GLBAC7 access control policy for block B"]
284    #[inline(always)]
285    pub fn is_glbac7(&self) -> bool {
286        *self == Mbacsel1::Glbac7
287    }
288}
289#[doc = "Field `MBACSEL1` writer - Memory Block Access Control Select for block B"]
290pub type Mbacsel1W<'a, REG> = crate::FieldWriter<'a, REG, 3, Mbacsel1, crate::Safe>;
291impl<'a, REG> Mbacsel1W<'a, REG>
292where
293    REG: crate::Writable + crate::RegisterSpec,
294    REG::Ux: From<u8>,
295{
296    #[doc = "select MBC_MEMN_GLBAC0 access control policy for block B"]
297    #[inline(always)]
298    pub fn glbac0(self) -> &'a mut crate::W<REG> {
299        self.variant(Mbacsel1::Glbac0)
300    }
301    #[doc = "select MBC_MEMN_GLBAC1 access control policy for block B"]
302    #[inline(always)]
303    pub fn glbac1(self) -> &'a mut crate::W<REG> {
304        self.variant(Mbacsel1::Glbac1)
305    }
306    #[doc = "select MBC_MEMN_GLBAC2 access control policy for block B"]
307    #[inline(always)]
308    pub fn glbac2(self) -> &'a mut crate::W<REG> {
309        self.variant(Mbacsel1::Glbac2)
310    }
311    #[doc = "select MBC_MEMN_GLBAC3 access control policy for block B"]
312    #[inline(always)]
313    pub fn glbac3(self) -> &'a mut crate::W<REG> {
314        self.variant(Mbacsel1::Glbac3)
315    }
316    #[doc = "select MBC_MEMN_GLBAC4 access control policy for block B"]
317    #[inline(always)]
318    pub fn glbac4(self) -> &'a mut crate::W<REG> {
319        self.variant(Mbacsel1::Glbac4)
320    }
321    #[doc = "select MBC_MEMN_GLBAC5 access control policy for block B"]
322    #[inline(always)]
323    pub fn glbac5(self) -> &'a mut crate::W<REG> {
324        self.variant(Mbacsel1::Glbac5)
325    }
326    #[doc = "select MBC_MEMN_GLBAC6 access control policy for block B"]
327    #[inline(always)]
328    pub fn glbac6(self) -> &'a mut crate::W<REG> {
329        self.variant(Mbacsel1::Glbac6)
330    }
331    #[doc = "select MBC_MEMN_GLBAC7 access control policy for block B"]
332    #[inline(always)]
333    pub fn glbac7(self) -> &'a mut crate::W<REG> {
334        self.variant(Mbacsel1::Glbac7)
335    }
336}
337#[doc = "NonSecure Enable for block B\n\nValue on reset: 0"]
338#[cfg_attr(feature = "defmt", derive(defmt::Format))]
339#[derive(Clone, Copy, Debug, PartialEq, Eq)]
340pub enum Nse1 {
341    #[doc = "0: Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
342    Allowed = 0,
343    #[doc = "1: Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
344    Notallowed = 1,
345}
346impl From<Nse1> for bool {
347    #[inline(always)]
348    fn from(variant: Nse1) -> Self {
349        variant as u8 != 0
350    }
351}
352#[doc = "Field `NSE1` reader - NonSecure Enable for block B"]
353pub type Nse1R = crate::BitReader<Nse1>;
354impl Nse1R {
355    #[doc = "Get enumerated values variant"]
356    #[inline(always)]
357    pub const fn variant(&self) -> Nse1 {
358        match self.bits {
359            false => Nse1::Allowed,
360            true => Nse1::Notallowed,
361        }
362    }
363    #[doc = "Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
364    #[inline(always)]
365    pub fn is_allowed(&self) -> bool {
366        *self == Nse1::Allowed
367    }
368    #[doc = "Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
369    #[inline(always)]
370    pub fn is_notallowed(&self) -> bool {
371        *self == Nse1::Notallowed
372    }
373}
374#[doc = "Field `NSE1` writer - NonSecure Enable for block B"]
375pub type Nse1W<'a, REG> = crate::BitWriter<'a, REG, Nse1>;
376impl<'a, REG> Nse1W<'a, REG>
377where
378    REG: crate::Writable + crate::RegisterSpec,
379{
380    #[doc = "Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
381    #[inline(always)]
382    pub fn allowed(self) -> &'a mut crate::W<REG> {
383        self.variant(Nse1::Allowed)
384    }
385    #[doc = "Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
386    #[inline(always)]
387    pub fn notallowed(self) -> &'a mut crate::W<REG> {
388        self.variant(Nse1::Notallowed)
389    }
390}
391#[doc = "Memory Block Access Control Select for block B\n\nValue on reset: 0"]
392#[cfg_attr(feature = "defmt", derive(defmt::Format))]
393#[derive(Clone, Copy, Debug, PartialEq, Eq)]
394#[repr(u8)]
395pub enum Mbacsel2 {
396    #[doc = "0: select MBC_MEMN_GLBAC0 access control policy for block B"]
397    Glbac0 = 0,
398    #[doc = "1: select MBC_MEMN_GLBAC1 access control policy for block B"]
399    Glbac1 = 1,
400    #[doc = "2: select MBC_MEMN_GLBAC2 access control policy for block B"]
401    Glbac2 = 2,
402    #[doc = "3: select MBC_MEMN_GLBAC3 access control policy for block B"]
403    Glbac3 = 3,
404    #[doc = "4: select MBC_MEMN_GLBAC4 access control policy for block B"]
405    Glbac4 = 4,
406    #[doc = "5: select MBC_MEMN_GLBAC5 access control policy for block B"]
407    Glbac5 = 5,
408    #[doc = "6: select MBC_MEMN_GLBAC6 access control policy for block B"]
409    Glbac6 = 6,
410    #[doc = "7: select MBC_MEMN_GLBAC7 access control policy for block B"]
411    Glbac7 = 7,
412}
413impl From<Mbacsel2> for u8 {
414    #[inline(always)]
415    fn from(variant: Mbacsel2) -> Self {
416        variant as _
417    }
418}
419impl crate::FieldSpec for Mbacsel2 {
420    type Ux = u8;
421}
422impl crate::IsEnum for Mbacsel2 {}
423#[doc = "Field `MBACSEL2` reader - Memory Block Access Control Select for block B"]
424pub type Mbacsel2R = crate::FieldReader<Mbacsel2>;
425impl Mbacsel2R {
426    #[doc = "Get enumerated values variant"]
427    #[inline(always)]
428    pub const fn variant(&self) -> Mbacsel2 {
429        match self.bits {
430            0 => Mbacsel2::Glbac0,
431            1 => Mbacsel2::Glbac1,
432            2 => Mbacsel2::Glbac2,
433            3 => Mbacsel2::Glbac3,
434            4 => Mbacsel2::Glbac4,
435            5 => Mbacsel2::Glbac5,
436            6 => Mbacsel2::Glbac6,
437            7 => Mbacsel2::Glbac7,
438            _ => unreachable!(),
439        }
440    }
441    #[doc = "select MBC_MEMN_GLBAC0 access control policy for block B"]
442    #[inline(always)]
443    pub fn is_glbac0(&self) -> bool {
444        *self == Mbacsel2::Glbac0
445    }
446    #[doc = "select MBC_MEMN_GLBAC1 access control policy for block B"]
447    #[inline(always)]
448    pub fn is_glbac1(&self) -> bool {
449        *self == Mbacsel2::Glbac1
450    }
451    #[doc = "select MBC_MEMN_GLBAC2 access control policy for block B"]
452    #[inline(always)]
453    pub fn is_glbac2(&self) -> bool {
454        *self == Mbacsel2::Glbac2
455    }
456    #[doc = "select MBC_MEMN_GLBAC3 access control policy for block B"]
457    #[inline(always)]
458    pub fn is_glbac3(&self) -> bool {
459        *self == Mbacsel2::Glbac3
460    }
461    #[doc = "select MBC_MEMN_GLBAC4 access control policy for block B"]
462    #[inline(always)]
463    pub fn is_glbac4(&self) -> bool {
464        *self == Mbacsel2::Glbac4
465    }
466    #[doc = "select MBC_MEMN_GLBAC5 access control policy for block B"]
467    #[inline(always)]
468    pub fn is_glbac5(&self) -> bool {
469        *self == Mbacsel2::Glbac5
470    }
471    #[doc = "select MBC_MEMN_GLBAC6 access control policy for block B"]
472    #[inline(always)]
473    pub fn is_glbac6(&self) -> bool {
474        *self == Mbacsel2::Glbac6
475    }
476    #[doc = "select MBC_MEMN_GLBAC7 access control policy for block B"]
477    #[inline(always)]
478    pub fn is_glbac7(&self) -> bool {
479        *self == Mbacsel2::Glbac7
480    }
481}
482#[doc = "Field `MBACSEL2` writer - Memory Block Access Control Select for block B"]
483pub type Mbacsel2W<'a, REG> = crate::FieldWriter<'a, REG, 3, Mbacsel2, crate::Safe>;
484impl<'a, REG> Mbacsel2W<'a, REG>
485where
486    REG: crate::Writable + crate::RegisterSpec,
487    REG::Ux: From<u8>,
488{
489    #[doc = "select MBC_MEMN_GLBAC0 access control policy for block B"]
490    #[inline(always)]
491    pub fn glbac0(self) -> &'a mut crate::W<REG> {
492        self.variant(Mbacsel2::Glbac0)
493    }
494    #[doc = "select MBC_MEMN_GLBAC1 access control policy for block B"]
495    #[inline(always)]
496    pub fn glbac1(self) -> &'a mut crate::W<REG> {
497        self.variant(Mbacsel2::Glbac1)
498    }
499    #[doc = "select MBC_MEMN_GLBAC2 access control policy for block B"]
500    #[inline(always)]
501    pub fn glbac2(self) -> &'a mut crate::W<REG> {
502        self.variant(Mbacsel2::Glbac2)
503    }
504    #[doc = "select MBC_MEMN_GLBAC3 access control policy for block B"]
505    #[inline(always)]
506    pub fn glbac3(self) -> &'a mut crate::W<REG> {
507        self.variant(Mbacsel2::Glbac3)
508    }
509    #[doc = "select MBC_MEMN_GLBAC4 access control policy for block B"]
510    #[inline(always)]
511    pub fn glbac4(self) -> &'a mut crate::W<REG> {
512        self.variant(Mbacsel2::Glbac4)
513    }
514    #[doc = "select MBC_MEMN_GLBAC5 access control policy for block B"]
515    #[inline(always)]
516    pub fn glbac5(self) -> &'a mut crate::W<REG> {
517        self.variant(Mbacsel2::Glbac5)
518    }
519    #[doc = "select MBC_MEMN_GLBAC6 access control policy for block B"]
520    #[inline(always)]
521    pub fn glbac6(self) -> &'a mut crate::W<REG> {
522        self.variant(Mbacsel2::Glbac6)
523    }
524    #[doc = "select MBC_MEMN_GLBAC7 access control policy for block B"]
525    #[inline(always)]
526    pub fn glbac7(self) -> &'a mut crate::W<REG> {
527        self.variant(Mbacsel2::Glbac7)
528    }
529}
530#[doc = "NonSecure Enable for block B\n\nValue on reset: 0"]
531#[cfg_attr(feature = "defmt", derive(defmt::Format))]
532#[derive(Clone, Copy, Debug, PartialEq, Eq)]
533pub enum Nse2 {
534    #[doc = "0: Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
535    Allowed = 0,
536    #[doc = "1: Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
537    Notallowed = 1,
538}
539impl From<Nse2> for bool {
540    #[inline(always)]
541    fn from(variant: Nse2) -> Self {
542        variant as u8 != 0
543    }
544}
545#[doc = "Field `NSE2` reader - NonSecure Enable for block B"]
546pub type Nse2R = crate::BitReader<Nse2>;
547impl Nse2R {
548    #[doc = "Get enumerated values variant"]
549    #[inline(always)]
550    pub const fn variant(&self) -> Nse2 {
551        match self.bits {
552            false => Nse2::Allowed,
553            true => Nse2::Notallowed,
554        }
555    }
556    #[doc = "Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
557    #[inline(always)]
558    pub fn is_allowed(&self) -> bool {
559        *self == Nse2::Allowed
560    }
561    #[doc = "Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
562    #[inline(always)]
563    pub fn is_notallowed(&self) -> bool {
564        *self == Nse2::Notallowed
565    }
566}
567#[doc = "Field `NSE2` writer - NonSecure Enable for block B"]
568pub type Nse2W<'a, REG> = crate::BitWriter<'a, REG, Nse2>;
569impl<'a, REG> Nse2W<'a, REG>
570where
571    REG: crate::Writable + crate::RegisterSpec,
572{
573    #[doc = "Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
574    #[inline(always)]
575    pub fn allowed(self) -> &'a mut crate::W<REG> {
576        self.variant(Nse2::Allowed)
577    }
578    #[doc = "Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
579    #[inline(always)]
580    pub fn notallowed(self) -> &'a mut crate::W<REG> {
581        self.variant(Nse2::Notallowed)
582    }
583}
584#[doc = "Memory Block Access Control Select for block B\n\nValue on reset: 0"]
585#[cfg_attr(feature = "defmt", derive(defmt::Format))]
586#[derive(Clone, Copy, Debug, PartialEq, Eq)]
587#[repr(u8)]
588pub enum Mbacsel3 {
589    #[doc = "0: select MBC_MEMN_GLBAC0 access control policy for block B"]
590    Glbac0 = 0,
591    #[doc = "1: select MBC_MEMN_GLBAC1 access control policy for block B"]
592    Glbac1 = 1,
593    #[doc = "2: select MBC_MEMN_GLBAC2 access control policy for block B"]
594    Glbac2 = 2,
595    #[doc = "3: select MBC_MEMN_GLBAC3 access control policy for block B"]
596    Glbac3 = 3,
597    #[doc = "4: select MBC_MEMN_GLBAC4 access control policy for block B"]
598    Glbac4 = 4,
599    #[doc = "5: select MBC_MEMN_GLBAC5 access control policy for block B"]
600    Glbac5 = 5,
601    #[doc = "6: select MBC_MEMN_GLBAC6 access control policy for block B"]
602    Glbac6 = 6,
603    #[doc = "7: select MBC_MEMN_GLBAC7 access control policy for block B"]
604    Glbac7 = 7,
605}
606impl From<Mbacsel3> for u8 {
607    #[inline(always)]
608    fn from(variant: Mbacsel3) -> Self {
609        variant as _
610    }
611}
612impl crate::FieldSpec for Mbacsel3 {
613    type Ux = u8;
614}
615impl crate::IsEnum for Mbacsel3 {}
616#[doc = "Field `MBACSEL3` reader - Memory Block Access Control Select for block B"]
617pub type Mbacsel3R = crate::FieldReader<Mbacsel3>;
618impl Mbacsel3R {
619    #[doc = "Get enumerated values variant"]
620    #[inline(always)]
621    pub const fn variant(&self) -> Mbacsel3 {
622        match self.bits {
623            0 => Mbacsel3::Glbac0,
624            1 => Mbacsel3::Glbac1,
625            2 => Mbacsel3::Glbac2,
626            3 => Mbacsel3::Glbac3,
627            4 => Mbacsel3::Glbac4,
628            5 => Mbacsel3::Glbac5,
629            6 => Mbacsel3::Glbac6,
630            7 => Mbacsel3::Glbac7,
631            _ => unreachable!(),
632        }
633    }
634    #[doc = "select MBC_MEMN_GLBAC0 access control policy for block B"]
635    #[inline(always)]
636    pub fn is_glbac0(&self) -> bool {
637        *self == Mbacsel3::Glbac0
638    }
639    #[doc = "select MBC_MEMN_GLBAC1 access control policy for block B"]
640    #[inline(always)]
641    pub fn is_glbac1(&self) -> bool {
642        *self == Mbacsel3::Glbac1
643    }
644    #[doc = "select MBC_MEMN_GLBAC2 access control policy for block B"]
645    #[inline(always)]
646    pub fn is_glbac2(&self) -> bool {
647        *self == Mbacsel3::Glbac2
648    }
649    #[doc = "select MBC_MEMN_GLBAC3 access control policy for block B"]
650    #[inline(always)]
651    pub fn is_glbac3(&self) -> bool {
652        *self == Mbacsel3::Glbac3
653    }
654    #[doc = "select MBC_MEMN_GLBAC4 access control policy for block B"]
655    #[inline(always)]
656    pub fn is_glbac4(&self) -> bool {
657        *self == Mbacsel3::Glbac4
658    }
659    #[doc = "select MBC_MEMN_GLBAC5 access control policy for block B"]
660    #[inline(always)]
661    pub fn is_glbac5(&self) -> bool {
662        *self == Mbacsel3::Glbac5
663    }
664    #[doc = "select MBC_MEMN_GLBAC6 access control policy for block B"]
665    #[inline(always)]
666    pub fn is_glbac6(&self) -> bool {
667        *self == Mbacsel3::Glbac6
668    }
669    #[doc = "select MBC_MEMN_GLBAC7 access control policy for block B"]
670    #[inline(always)]
671    pub fn is_glbac7(&self) -> bool {
672        *self == Mbacsel3::Glbac7
673    }
674}
675#[doc = "Field `MBACSEL3` writer - Memory Block Access Control Select for block B"]
676pub type Mbacsel3W<'a, REG> = crate::FieldWriter<'a, REG, 3, Mbacsel3, crate::Safe>;
677impl<'a, REG> Mbacsel3W<'a, REG>
678where
679    REG: crate::Writable + crate::RegisterSpec,
680    REG::Ux: From<u8>,
681{
682    #[doc = "select MBC_MEMN_GLBAC0 access control policy for block B"]
683    #[inline(always)]
684    pub fn glbac0(self) -> &'a mut crate::W<REG> {
685        self.variant(Mbacsel3::Glbac0)
686    }
687    #[doc = "select MBC_MEMN_GLBAC1 access control policy for block B"]
688    #[inline(always)]
689    pub fn glbac1(self) -> &'a mut crate::W<REG> {
690        self.variant(Mbacsel3::Glbac1)
691    }
692    #[doc = "select MBC_MEMN_GLBAC2 access control policy for block B"]
693    #[inline(always)]
694    pub fn glbac2(self) -> &'a mut crate::W<REG> {
695        self.variant(Mbacsel3::Glbac2)
696    }
697    #[doc = "select MBC_MEMN_GLBAC3 access control policy for block B"]
698    #[inline(always)]
699    pub fn glbac3(self) -> &'a mut crate::W<REG> {
700        self.variant(Mbacsel3::Glbac3)
701    }
702    #[doc = "select MBC_MEMN_GLBAC4 access control policy for block B"]
703    #[inline(always)]
704    pub fn glbac4(self) -> &'a mut crate::W<REG> {
705        self.variant(Mbacsel3::Glbac4)
706    }
707    #[doc = "select MBC_MEMN_GLBAC5 access control policy for block B"]
708    #[inline(always)]
709    pub fn glbac5(self) -> &'a mut crate::W<REG> {
710        self.variant(Mbacsel3::Glbac5)
711    }
712    #[doc = "select MBC_MEMN_GLBAC6 access control policy for block B"]
713    #[inline(always)]
714    pub fn glbac6(self) -> &'a mut crate::W<REG> {
715        self.variant(Mbacsel3::Glbac6)
716    }
717    #[doc = "select MBC_MEMN_GLBAC7 access control policy for block B"]
718    #[inline(always)]
719    pub fn glbac7(self) -> &'a mut crate::W<REG> {
720        self.variant(Mbacsel3::Glbac7)
721    }
722}
723#[doc = "NonSecure Enable for block B\n\nValue on reset: 0"]
724#[cfg_attr(feature = "defmt", derive(defmt::Format))]
725#[derive(Clone, Copy, Debug, PartialEq, Eq)]
726pub enum Nse3 {
727    #[doc = "0: Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
728    Allowed = 0,
729    #[doc = "1: Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
730    Notallowed = 1,
731}
732impl From<Nse3> for bool {
733    #[inline(always)]
734    fn from(variant: Nse3) -> Self {
735        variant as u8 != 0
736    }
737}
738#[doc = "Field `NSE3` reader - NonSecure Enable for block B"]
739pub type Nse3R = crate::BitReader<Nse3>;
740impl Nse3R {
741    #[doc = "Get enumerated values variant"]
742    #[inline(always)]
743    pub const fn variant(&self) -> Nse3 {
744        match self.bits {
745            false => Nse3::Allowed,
746            true => Nse3::Notallowed,
747        }
748    }
749    #[doc = "Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
750    #[inline(always)]
751    pub fn is_allowed(&self) -> bool {
752        *self == Nse3::Allowed
753    }
754    #[doc = "Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
755    #[inline(always)]
756    pub fn is_notallowed(&self) -> bool {
757        *self == Nse3::Notallowed
758    }
759}
760#[doc = "Field `NSE3` writer - NonSecure Enable for block B"]
761pub type Nse3W<'a, REG> = crate::BitWriter<'a, REG, Nse3>;
762impl<'a, REG> Nse3W<'a, REG>
763where
764    REG: crate::Writable + crate::RegisterSpec,
765{
766    #[doc = "Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
767    #[inline(always)]
768    pub fn allowed(self) -> &'a mut crate::W<REG> {
769        self.variant(Nse3::Allowed)
770    }
771    #[doc = "Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
772    #[inline(always)]
773    pub fn notallowed(self) -> &'a mut crate::W<REG> {
774        self.variant(Nse3::Notallowed)
775    }
776}
777#[doc = "Memory Block Access Control Select for block B\n\nValue on reset: 0"]
778#[cfg_attr(feature = "defmt", derive(defmt::Format))]
779#[derive(Clone, Copy, Debug, PartialEq, Eq)]
780#[repr(u8)]
781pub enum Mbacsel4 {
782    #[doc = "0: select MBC_MEMN_GLBAC0 access control policy for block B"]
783    Glbac0 = 0,
784    #[doc = "1: select MBC_MEMN_GLBAC1 access control policy for block B"]
785    Glbac1 = 1,
786    #[doc = "2: select MBC_MEMN_GLBAC2 access control policy for block B"]
787    Glbac2 = 2,
788    #[doc = "3: select MBC_MEMN_GLBAC3 access control policy for block B"]
789    Glbac3 = 3,
790    #[doc = "4: select MBC_MEMN_GLBAC4 access control policy for block B"]
791    Glbac4 = 4,
792    #[doc = "5: select MBC_MEMN_GLBAC5 access control policy for block B"]
793    Glbac5 = 5,
794    #[doc = "6: select MBC_MEMN_GLBAC6 access control policy for block B"]
795    Glbac6 = 6,
796    #[doc = "7: select MBC_MEMN_GLBAC7 access control policy for block B"]
797    Glbac7 = 7,
798}
799impl From<Mbacsel4> for u8 {
800    #[inline(always)]
801    fn from(variant: Mbacsel4) -> Self {
802        variant as _
803    }
804}
805impl crate::FieldSpec for Mbacsel4 {
806    type Ux = u8;
807}
808impl crate::IsEnum for Mbacsel4 {}
809#[doc = "Field `MBACSEL4` reader - Memory Block Access Control Select for block B"]
810pub type Mbacsel4R = crate::FieldReader<Mbacsel4>;
811impl Mbacsel4R {
812    #[doc = "Get enumerated values variant"]
813    #[inline(always)]
814    pub const fn variant(&self) -> Mbacsel4 {
815        match self.bits {
816            0 => Mbacsel4::Glbac0,
817            1 => Mbacsel4::Glbac1,
818            2 => Mbacsel4::Glbac2,
819            3 => Mbacsel4::Glbac3,
820            4 => Mbacsel4::Glbac4,
821            5 => Mbacsel4::Glbac5,
822            6 => Mbacsel4::Glbac6,
823            7 => Mbacsel4::Glbac7,
824            _ => unreachable!(),
825        }
826    }
827    #[doc = "select MBC_MEMN_GLBAC0 access control policy for block B"]
828    #[inline(always)]
829    pub fn is_glbac0(&self) -> bool {
830        *self == Mbacsel4::Glbac0
831    }
832    #[doc = "select MBC_MEMN_GLBAC1 access control policy for block B"]
833    #[inline(always)]
834    pub fn is_glbac1(&self) -> bool {
835        *self == Mbacsel4::Glbac1
836    }
837    #[doc = "select MBC_MEMN_GLBAC2 access control policy for block B"]
838    #[inline(always)]
839    pub fn is_glbac2(&self) -> bool {
840        *self == Mbacsel4::Glbac2
841    }
842    #[doc = "select MBC_MEMN_GLBAC3 access control policy for block B"]
843    #[inline(always)]
844    pub fn is_glbac3(&self) -> bool {
845        *self == Mbacsel4::Glbac3
846    }
847    #[doc = "select MBC_MEMN_GLBAC4 access control policy for block B"]
848    #[inline(always)]
849    pub fn is_glbac4(&self) -> bool {
850        *self == Mbacsel4::Glbac4
851    }
852    #[doc = "select MBC_MEMN_GLBAC5 access control policy for block B"]
853    #[inline(always)]
854    pub fn is_glbac5(&self) -> bool {
855        *self == Mbacsel4::Glbac5
856    }
857    #[doc = "select MBC_MEMN_GLBAC6 access control policy for block B"]
858    #[inline(always)]
859    pub fn is_glbac6(&self) -> bool {
860        *self == Mbacsel4::Glbac6
861    }
862    #[doc = "select MBC_MEMN_GLBAC7 access control policy for block B"]
863    #[inline(always)]
864    pub fn is_glbac7(&self) -> bool {
865        *self == Mbacsel4::Glbac7
866    }
867}
868#[doc = "Field `MBACSEL4` writer - Memory Block Access Control Select for block B"]
869pub type Mbacsel4W<'a, REG> = crate::FieldWriter<'a, REG, 3, Mbacsel4, crate::Safe>;
870impl<'a, REG> Mbacsel4W<'a, REG>
871where
872    REG: crate::Writable + crate::RegisterSpec,
873    REG::Ux: From<u8>,
874{
875    #[doc = "select MBC_MEMN_GLBAC0 access control policy for block B"]
876    #[inline(always)]
877    pub fn glbac0(self) -> &'a mut crate::W<REG> {
878        self.variant(Mbacsel4::Glbac0)
879    }
880    #[doc = "select MBC_MEMN_GLBAC1 access control policy for block B"]
881    #[inline(always)]
882    pub fn glbac1(self) -> &'a mut crate::W<REG> {
883        self.variant(Mbacsel4::Glbac1)
884    }
885    #[doc = "select MBC_MEMN_GLBAC2 access control policy for block B"]
886    #[inline(always)]
887    pub fn glbac2(self) -> &'a mut crate::W<REG> {
888        self.variant(Mbacsel4::Glbac2)
889    }
890    #[doc = "select MBC_MEMN_GLBAC3 access control policy for block B"]
891    #[inline(always)]
892    pub fn glbac3(self) -> &'a mut crate::W<REG> {
893        self.variant(Mbacsel4::Glbac3)
894    }
895    #[doc = "select MBC_MEMN_GLBAC4 access control policy for block B"]
896    #[inline(always)]
897    pub fn glbac4(self) -> &'a mut crate::W<REG> {
898        self.variant(Mbacsel4::Glbac4)
899    }
900    #[doc = "select MBC_MEMN_GLBAC5 access control policy for block B"]
901    #[inline(always)]
902    pub fn glbac5(self) -> &'a mut crate::W<REG> {
903        self.variant(Mbacsel4::Glbac5)
904    }
905    #[doc = "select MBC_MEMN_GLBAC6 access control policy for block B"]
906    #[inline(always)]
907    pub fn glbac6(self) -> &'a mut crate::W<REG> {
908        self.variant(Mbacsel4::Glbac6)
909    }
910    #[doc = "select MBC_MEMN_GLBAC7 access control policy for block B"]
911    #[inline(always)]
912    pub fn glbac7(self) -> &'a mut crate::W<REG> {
913        self.variant(Mbacsel4::Glbac7)
914    }
915}
916#[doc = "NonSecure Enable for block B\n\nValue on reset: 0"]
917#[cfg_attr(feature = "defmt", derive(defmt::Format))]
918#[derive(Clone, Copy, Debug, PartialEq, Eq)]
919pub enum Nse4 {
920    #[doc = "0: Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
921    Allowed = 0,
922    #[doc = "1: Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
923    Notallowed = 1,
924}
925impl From<Nse4> for bool {
926    #[inline(always)]
927    fn from(variant: Nse4) -> Self {
928        variant as u8 != 0
929    }
930}
931#[doc = "Field `NSE4` reader - NonSecure Enable for block B"]
932pub type Nse4R = crate::BitReader<Nse4>;
933impl Nse4R {
934    #[doc = "Get enumerated values variant"]
935    #[inline(always)]
936    pub const fn variant(&self) -> Nse4 {
937        match self.bits {
938            false => Nse4::Allowed,
939            true => Nse4::Notallowed,
940        }
941    }
942    #[doc = "Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
943    #[inline(always)]
944    pub fn is_allowed(&self) -> bool {
945        *self == Nse4::Allowed
946    }
947    #[doc = "Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
948    #[inline(always)]
949    pub fn is_notallowed(&self) -> bool {
950        *self == Nse4::Notallowed
951    }
952}
953#[doc = "Field `NSE4` writer - NonSecure Enable for block B"]
954pub type Nse4W<'a, REG> = crate::BitWriter<'a, REG, Nse4>;
955impl<'a, REG> Nse4W<'a, REG>
956where
957    REG: crate::Writable + crate::RegisterSpec,
958{
959    #[doc = "Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
960    #[inline(always)]
961    pub fn allowed(self) -> &'a mut crate::W<REG> {
962        self.variant(Nse4::Allowed)
963    }
964    #[doc = "Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
965    #[inline(always)]
966    pub fn notallowed(self) -> &'a mut crate::W<REG> {
967        self.variant(Nse4::Notallowed)
968    }
969}
970#[doc = "Memory Block Access Control Select for block B\n\nValue on reset: 0"]
971#[cfg_attr(feature = "defmt", derive(defmt::Format))]
972#[derive(Clone, Copy, Debug, PartialEq, Eq)]
973#[repr(u8)]
974pub enum Mbacsel5 {
975    #[doc = "0: select MBC_MEMN_GLBAC0 access control policy for block B"]
976    Glbac0 = 0,
977    #[doc = "1: select MBC_MEMN_GLBAC1 access control policy for block B"]
978    Glbac1 = 1,
979    #[doc = "2: select MBC_MEMN_GLBAC2 access control policy for block B"]
980    Glbac2 = 2,
981    #[doc = "3: select MBC_MEMN_GLBAC3 access control policy for block B"]
982    Glbac3 = 3,
983    #[doc = "4: select MBC_MEMN_GLBAC4 access control policy for block B"]
984    Glbac4 = 4,
985    #[doc = "5: select MBC_MEMN_GLBAC5 access control policy for block B"]
986    Glbac5 = 5,
987    #[doc = "6: select MBC_MEMN_GLBAC6 access control policy for block B"]
988    Glbac6 = 6,
989    #[doc = "7: select MBC_MEMN_GLBAC7 access control policy for block B"]
990    Glbac7 = 7,
991}
992impl From<Mbacsel5> for u8 {
993    #[inline(always)]
994    fn from(variant: Mbacsel5) -> Self {
995        variant as _
996    }
997}
998impl crate::FieldSpec for Mbacsel5 {
999    type Ux = u8;
1000}
1001impl crate::IsEnum for Mbacsel5 {}
1002#[doc = "Field `MBACSEL5` reader - Memory Block Access Control Select for block B"]
1003pub type Mbacsel5R = crate::FieldReader<Mbacsel5>;
1004impl Mbacsel5R {
1005    #[doc = "Get enumerated values variant"]
1006    #[inline(always)]
1007    pub const fn variant(&self) -> Mbacsel5 {
1008        match self.bits {
1009            0 => Mbacsel5::Glbac0,
1010            1 => Mbacsel5::Glbac1,
1011            2 => Mbacsel5::Glbac2,
1012            3 => Mbacsel5::Glbac3,
1013            4 => Mbacsel5::Glbac4,
1014            5 => Mbacsel5::Glbac5,
1015            6 => Mbacsel5::Glbac6,
1016            7 => Mbacsel5::Glbac7,
1017            _ => unreachable!(),
1018        }
1019    }
1020    #[doc = "select MBC_MEMN_GLBAC0 access control policy for block B"]
1021    #[inline(always)]
1022    pub fn is_glbac0(&self) -> bool {
1023        *self == Mbacsel5::Glbac0
1024    }
1025    #[doc = "select MBC_MEMN_GLBAC1 access control policy for block B"]
1026    #[inline(always)]
1027    pub fn is_glbac1(&self) -> bool {
1028        *self == Mbacsel5::Glbac1
1029    }
1030    #[doc = "select MBC_MEMN_GLBAC2 access control policy for block B"]
1031    #[inline(always)]
1032    pub fn is_glbac2(&self) -> bool {
1033        *self == Mbacsel5::Glbac2
1034    }
1035    #[doc = "select MBC_MEMN_GLBAC3 access control policy for block B"]
1036    #[inline(always)]
1037    pub fn is_glbac3(&self) -> bool {
1038        *self == Mbacsel5::Glbac3
1039    }
1040    #[doc = "select MBC_MEMN_GLBAC4 access control policy for block B"]
1041    #[inline(always)]
1042    pub fn is_glbac4(&self) -> bool {
1043        *self == Mbacsel5::Glbac4
1044    }
1045    #[doc = "select MBC_MEMN_GLBAC5 access control policy for block B"]
1046    #[inline(always)]
1047    pub fn is_glbac5(&self) -> bool {
1048        *self == Mbacsel5::Glbac5
1049    }
1050    #[doc = "select MBC_MEMN_GLBAC6 access control policy for block B"]
1051    #[inline(always)]
1052    pub fn is_glbac6(&self) -> bool {
1053        *self == Mbacsel5::Glbac6
1054    }
1055    #[doc = "select MBC_MEMN_GLBAC7 access control policy for block B"]
1056    #[inline(always)]
1057    pub fn is_glbac7(&self) -> bool {
1058        *self == Mbacsel5::Glbac7
1059    }
1060}
1061#[doc = "Field `MBACSEL5` writer - Memory Block Access Control Select for block B"]
1062pub type Mbacsel5W<'a, REG> = crate::FieldWriter<'a, REG, 3, Mbacsel5, crate::Safe>;
1063impl<'a, REG> Mbacsel5W<'a, REG>
1064where
1065    REG: crate::Writable + crate::RegisterSpec,
1066    REG::Ux: From<u8>,
1067{
1068    #[doc = "select MBC_MEMN_GLBAC0 access control policy for block B"]
1069    #[inline(always)]
1070    pub fn glbac0(self) -> &'a mut crate::W<REG> {
1071        self.variant(Mbacsel5::Glbac0)
1072    }
1073    #[doc = "select MBC_MEMN_GLBAC1 access control policy for block B"]
1074    #[inline(always)]
1075    pub fn glbac1(self) -> &'a mut crate::W<REG> {
1076        self.variant(Mbacsel5::Glbac1)
1077    }
1078    #[doc = "select MBC_MEMN_GLBAC2 access control policy for block B"]
1079    #[inline(always)]
1080    pub fn glbac2(self) -> &'a mut crate::W<REG> {
1081        self.variant(Mbacsel5::Glbac2)
1082    }
1083    #[doc = "select MBC_MEMN_GLBAC3 access control policy for block B"]
1084    #[inline(always)]
1085    pub fn glbac3(self) -> &'a mut crate::W<REG> {
1086        self.variant(Mbacsel5::Glbac3)
1087    }
1088    #[doc = "select MBC_MEMN_GLBAC4 access control policy for block B"]
1089    #[inline(always)]
1090    pub fn glbac4(self) -> &'a mut crate::W<REG> {
1091        self.variant(Mbacsel5::Glbac4)
1092    }
1093    #[doc = "select MBC_MEMN_GLBAC5 access control policy for block B"]
1094    #[inline(always)]
1095    pub fn glbac5(self) -> &'a mut crate::W<REG> {
1096        self.variant(Mbacsel5::Glbac5)
1097    }
1098    #[doc = "select MBC_MEMN_GLBAC6 access control policy for block B"]
1099    #[inline(always)]
1100    pub fn glbac6(self) -> &'a mut crate::W<REG> {
1101        self.variant(Mbacsel5::Glbac6)
1102    }
1103    #[doc = "select MBC_MEMN_GLBAC7 access control policy for block B"]
1104    #[inline(always)]
1105    pub fn glbac7(self) -> &'a mut crate::W<REG> {
1106        self.variant(Mbacsel5::Glbac7)
1107    }
1108}
1109#[doc = "NonSecure Enable for block B\n\nValue on reset: 0"]
1110#[cfg_attr(feature = "defmt", derive(defmt::Format))]
1111#[derive(Clone, Copy, Debug, PartialEq, Eq)]
1112pub enum Nse5 {
1113    #[doc = "0: Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
1114    Allowed = 0,
1115    #[doc = "1: Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
1116    Notallowed = 1,
1117}
1118impl From<Nse5> for bool {
1119    #[inline(always)]
1120    fn from(variant: Nse5) -> Self {
1121        variant as u8 != 0
1122    }
1123}
1124#[doc = "Field `NSE5` reader - NonSecure Enable for block B"]
1125pub type Nse5R = crate::BitReader<Nse5>;
1126impl Nse5R {
1127    #[doc = "Get enumerated values variant"]
1128    #[inline(always)]
1129    pub const fn variant(&self) -> Nse5 {
1130        match self.bits {
1131            false => Nse5::Allowed,
1132            true => Nse5::Notallowed,
1133        }
1134    }
1135    #[doc = "Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
1136    #[inline(always)]
1137    pub fn is_allowed(&self) -> bool {
1138        *self == Nse5::Allowed
1139    }
1140    #[doc = "Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
1141    #[inline(always)]
1142    pub fn is_notallowed(&self) -> bool {
1143        *self == Nse5::Notallowed
1144    }
1145}
1146#[doc = "Field `NSE5` writer - NonSecure Enable for block B"]
1147pub type Nse5W<'a, REG> = crate::BitWriter<'a, REG, Nse5>;
1148impl<'a, REG> Nse5W<'a, REG>
1149where
1150    REG: crate::Writable + crate::RegisterSpec,
1151{
1152    #[doc = "Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
1153    #[inline(always)]
1154    pub fn allowed(self) -> &'a mut crate::W<REG> {
1155        self.variant(Nse5::Allowed)
1156    }
1157    #[doc = "Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
1158    #[inline(always)]
1159    pub fn notallowed(self) -> &'a mut crate::W<REG> {
1160        self.variant(Nse5::Notallowed)
1161    }
1162}
1163#[doc = "Memory Block Access Control Select for block B\n\nValue on reset: 0"]
1164#[cfg_attr(feature = "defmt", derive(defmt::Format))]
1165#[derive(Clone, Copy, Debug, PartialEq, Eq)]
1166#[repr(u8)]
1167pub enum Mbacsel6 {
1168    #[doc = "0: select MBC_MEMN_GLBAC0 access control policy for block B"]
1169    Glbac0 = 0,
1170    #[doc = "1: select MBC_MEMN_GLBAC1 access control policy for block B"]
1171    Glbac1 = 1,
1172    #[doc = "2: select MBC_MEMN_GLBAC2 access control policy for block B"]
1173    Glbac2 = 2,
1174    #[doc = "3: select MBC_MEMN_GLBAC3 access control policy for block B"]
1175    Glbac3 = 3,
1176    #[doc = "4: select MBC_MEMN_GLBAC4 access control policy for block B"]
1177    Glbac4 = 4,
1178    #[doc = "5: select MBC_MEMN_GLBAC5 access control policy for block B"]
1179    Glbac5 = 5,
1180    #[doc = "6: select MBC_MEMN_GLBAC6 access control policy for block B"]
1181    Glbac6 = 6,
1182    #[doc = "7: select MBC_MEMN_GLBAC7 access control policy for block B"]
1183    Glbac7 = 7,
1184}
1185impl From<Mbacsel6> for u8 {
1186    #[inline(always)]
1187    fn from(variant: Mbacsel6) -> Self {
1188        variant as _
1189    }
1190}
1191impl crate::FieldSpec for Mbacsel6 {
1192    type Ux = u8;
1193}
1194impl crate::IsEnum for Mbacsel6 {}
1195#[doc = "Field `MBACSEL6` reader - Memory Block Access Control Select for block B"]
1196pub type Mbacsel6R = crate::FieldReader<Mbacsel6>;
1197impl Mbacsel6R {
1198    #[doc = "Get enumerated values variant"]
1199    #[inline(always)]
1200    pub const fn variant(&self) -> Mbacsel6 {
1201        match self.bits {
1202            0 => Mbacsel6::Glbac0,
1203            1 => Mbacsel6::Glbac1,
1204            2 => Mbacsel6::Glbac2,
1205            3 => Mbacsel6::Glbac3,
1206            4 => Mbacsel6::Glbac4,
1207            5 => Mbacsel6::Glbac5,
1208            6 => Mbacsel6::Glbac6,
1209            7 => Mbacsel6::Glbac7,
1210            _ => unreachable!(),
1211        }
1212    }
1213    #[doc = "select MBC_MEMN_GLBAC0 access control policy for block B"]
1214    #[inline(always)]
1215    pub fn is_glbac0(&self) -> bool {
1216        *self == Mbacsel6::Glbac0
1217    }
1218    #[doc = "select MBC_MEMN_GLBAC1 access control policy for block B"]
1219    #[inline(always)]
1220    pub fn is_glbac1(&self) -> bool {
1221        *self == Mbacsel6::Glbac1
1222    }
1223    #[doc = "select MBC_MEMN_GLBAC2 access control policy for block B"]
1224    #[inline(always)]
1225    pub fn is_glbac2(&self) -> bool {
1226        *self == Mbacsel6::Glbac2
1227    }
1228    #[doc = "select MBC_MEMN_GLBAC3 access control policy for block B"]
1229    #[inline(always)]
1230    pub fn is_glbac3(&self) -> bool {
1231        *self == Mbacsel6::Glbac3
1232    }
1233    #[doc = "select MBC_MEMN_GLBAC4 access control policy for block B"]
1234    #[inline(always)]
1235    pub fn is_glbac4(&self) -> bool {
1236        *self == Mbacsel6::Glbac4
1237    }
1238    #[doc = "select MBC_MEMN_GLBAC5 access control policy for block B"]
1239    #[inline(always)]
1240    pub fn is_glbac5(&self) -> bool {
1241        *self == Mbacsel6::Glbac5
1242    }
1243    #[doc = "select MBC_MEMN_GLBAC6 access control policy for block B"]
1244    #[inline(always)]
1245    pub fn is_glbac6(&self) -> bool {
1246        *self == Mbacsel6::Glbac6
1247    }
1248    #[doc = "select MBC_MEMN_GLBAC7 access control policy for block B"]
1249    #[inline(always)]
1250    pub fn is_glbac7(&self) -> bool {
1251        *self == Mbacsel6::Glbac7
1252    }
1253}
1254#[doc = "Field `MBACSEL6` writer - Memory Block Access Control Select for block B"]
1255pub type Mbacsel6W<'a, REG> = crate::FieldWriter<'a, REG, 3, Mbacsel6, crate::Safe>;
1256impl<'a, REG> Mbacsel6W<'a, REG>
1257where
1258    REG: crate::Writable + crate::RegisterSpec,
1259    REG::Ux: From<u8>,
1260{
1261    #[doc = "select MBC_MEMN_GLBAC0 access control policy for block B"]
1262    #[inline(always)]
1263    pub fn glbac0(self) -> &'a mut crate::W<REG> {
1264        self.variant(Mbacsel6::Glbac0)
1265    }
1266    #[doc = "select MBC_MEMN_GLBAC1 access control policy for block B"]
1267    #[inline(always)]
1268    pub fn glbac1(self) -> &'a mut crate::W<REG> {
1269        self.variant(Mbacsel6::Glbac1)
1270    }
1271    #[doc = "select MBC_MEMN_GLBAC2 access control policy for block B"]
1272    #[inline(always)]
1273    pub fn glbac2(self) -> &'a mut crate::W<REG> {
1274        self.variant(Mbacsel6::Glbac2)
1275    }
1276    #[doc = "select MBC_MEMN_GLBAC3 access control policy for block B"]
1277    #[inline(always)]
1278    pub fn glbac3(self) -> &'a mut crate::W<REG> {
1279        self.variant(Mbacsel6::Glbac3)
1280    }
1281    #[doc = "select MBC_MEMN_GLBAC4 access control policy for block B"]
1282    #[inline(always)]
1283    pub fn glbac4(self) -> &'a mut crate::W<REG> {
1284        self.variant(Mbacsel6::Glbac4)
1285    }
1286    #[doc = "select MBC_MEMN_GLBAC5 access control policy for block B"]
1287    #[inline(always)]
1288    pub fn glbac5(self) -> &'a mut crate::W<REG> {
1289        self.variant(Mbacsel6::Glbac5)
1290    }
1291    #[doc = "select MBC_MEMN_GLBAC6 access control policy for block B"]
1292    #[inline(always)]
1293    pub fn glbac6(self) -> &'a mut crate::W<REG> {
1294        self.variant(Mbacsel6::Glbac6)
1295    }
1296    #[doc = "select MBC_MEMN_GLBAC7 access control policy for block B"]
1297    #[inline(always)]
1298    pub fn glbac7(self) -> &'a mut crate::W<REG> {
1299        self.variant(Mbacsel6::Glbac7)
1300    }
1301}
1302#[doc = "NonSecure Enable for block B\n\nValue on reset: 0"]
1303#[cfg_attr(feature = "defmt", derive(defmt::Format))]
1304#[derive(Clone, Copy, Debug, PartialEq, Eq)]
1305pub enum Nse6 {
1306    #[doc = "0: Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
1307    Allowed = 0,
1308    #[doc = "1: Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
1309    Notallowed = 1,
1310}
1311impl From<Nse6> for bool {
1312    #[inline(always)]
1313    fn from(variant: Nse6) -> Self {
1314        variant as u8 != 0
1315    }
1316}
1317#[doc = "Field `NSE6` reader - NonSecure Enable for block B"]
1318pub type Nse6R = crate::BitReader<Nse6>;
1319impl Nse6R {
1320    #[doc = "Get enumerated values variant"]
1321    #[inline(always)]
1322    pub const fn variant(&self) -> Nse6 {
1323        match self.bits {
1324            false => Nse6::Allowed,
1325            true => Nse6::Notallowed,
1326        }
1327    }
1328    #[doc = "Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
1329    #[inline(always)]
1330    pub fn is_allowed(&self) -> bool {
1331        *self == Nse6::Allowed
1332    }
1333    #[doc = "Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
1334    #[inline(always)]
1335    pub fn is_notallowed(&self) -> bool {
1336        *self == Nse6::Notallowed
1337    }
1338}
1339#[doc = "Field `NSE6` writer - NonSecure Enable for block B"]
1340pub type Nse6W<'a, REG> = crate::BitWriter<'a, REG, Nse6>;
1341impl<'a, REG> Nse6W<'a, REG>
1342where
1343    REG: crate::Writable + crate::RegisterSpec,
1344{
1345    #[doc = "Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
1346    #[inline(always)]
1347    pub fn allowed(self) -> &'a mut crate::W<REG> {
1348        self.variant(Nse6::Allowed)
1349    }
1350    #[doc = "Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
1351    #[inline(always)]
1352    pub fn notallowed(self) -> &'a mut crate::W<REG> {
1353        self.variant(Nse6::Notallowed)
1354    }
1355}
1356#[doc = "Memory Block Access Control Select for block B\n\nValue on reset: 0"]
1357#[cfg_attr(feature = "defmt", derive(defmt::Format))]
1358#[derive(Clone, Copy, Debug, PartialEq, Eq)]
1359#[repr(u8)]
1360pub enum Mbacsel7 {
1361    #[doc = "0: select MBC_MEMN_GLBAC0 access control policy for block B"]
1362    Glbac0 = 0,
1363    #[doc = "1: select MBC_MEMN_GLBAC1 access control policy for block B"]
1364    Glbac1 = 1,
1365    #[doc = "2: select MBC_MEMN_GLBAC2 access control policy for block B"]
1366    Glbac2 = 2,
1367    #[doc = "3: select MBC_MEMN_GLBAC3 access control policy for block B"]
1368    Glbac3 = 3,
1369    #[doc = "4: select MBC_MEMN_GLBAC4 access control policy for block B"]
1370    Glbac4 = 4,
1371    #[doc = "5: select MBC_MEMN_GLBAC5 access control policy for block B"]
1372    Glbac5 = 5,
1373    #[doc = "6: select MBC_MEMN_GLBAC6 access control policy for block B"]
1374    Glbac6 = 6,
1375    #[doc = "7: select MBC_MEMN_GLBAC7 access control policy for block B"]
1376    Glbac7 = 7,
1377}
1378impl From<Mbacsel7> for u8 {
1379    #[inline(always)]
1380    fn from(variant: Mbacsel7) -> Self {
1381        variant as _
1382    }
1383}
1384impl crate::FieldSpec for Mbacsel7 {
1385    type Ux = u8;
1386}
1387impl crate::IsEnum for Mbacsel7 {}
1388#[doc = "Field `MBACSEL7` reader - Memory Block Access Control Select for block B"]
1389pub type Mbacsel7R = crate::FieldReader<Mbacsel7>;
1390impl Mbacsel7R {
1391    #[doc = "Get enumerated values variant"]
1392    #[inline(always)]
1393    pub const fn variant(&self) -> Mbacsel7 {
1394        match self.bits {
1395            0 => Mbacsel7::Glbac0,
1396            1 => Mbacsel7::Glbac1,
1397            2 => Mbacsel7::Glbac2,
1398            3 => Mbacsel7::Glbac3,
1399            4 => Mbacsel7::Glbac4,
1400            5 => Mbacsel7::Glbac5,
1401            6 => Mbacsel7::Glbac6,
1402            7 => Mbacsel7::Glbac7,
1403            _ => unreachable!(),
1404        }
1405    }
1406    #[doc = "select MBC_MEMN_GLBAC0 access control policy for block B"]
1407    #[inline(always)]
1408    pub fn is_glbac0(&self) -> bool {
1409        *self == Mbacsel7::Glbac0
1410    }
1411    #[doc = "select MBC_MEMN_GLBAC1 access control policy for block B"]
1412    #[inline(always)]
1413    pub fn is_glbac1(&self) -> bool {
1414        *self == Mbacsel7::Glbac1
1415    }
1416    #[doc = "select MBC_MEMN_GLBAC2 access control policy for block B"]
1417    #[inline(always)]
1418    pub fn is_glbac2(&self) -> bool {
1419        *self == Mbacsel7::Glbac2
1420    }
1421    #[doc = "select MBC_MEMN_GLBAC3 access control policy for block B"]
1422    #[inline(always)]
1423    pub fn is_glbac3(&self) -> bool {
1424        *self == Mbacsel7::Glbac3
1425    }
1426    #[doc = "select MBC_MEMN_GLBAC4 access control policy for block B"]
1427    #[inline(always)]
1428    pub fn is_glbac4(&self) -> bool {
1429        *self == Mbacsel7::Glbac4
1430    }
1431    #[doc = "select MBC_MEMN_GLBAC5 access control policy for block B"]
1432    #[inline(always)]
1433    pub fn is_glbac5(&self) -> bool {
1434        *self == Mbacsel7::Glbac5
1435    }
1436    #[doc = "select MBC_MEMN_GLBAC6 access control policy for block B"]
1437    #[inline(always)]
1438    pub fn is_glbac6(&self) -> bool {
1439        *self == Mbacsel7::Glbac6
1440    }
1441    #[doc = "select MBC_MEMN_GLBAC7 access control policy for block B"]
1442    #[inline(always)]
1443    pub fn is_glbac7(&self) -> bool {
1444        *self == Mbacsel7::Glbac7
1445    }
1446}
1447#[doc = "Field `MBACSEL7` writer - Memory Block Access Control Select for block B"]
1448pub type Mbacsel7W<'a, REG> = crate::FieldWriter<'a, REG, 3, Mbacsel7, crate::Safe>;
1449impl<'a, REG> Mbacsel7W<'a, REG>
1450where
1451    REG: crate::Writable + crate::RegisterSpec,
1452    REG::Ux: From<u8>,
1453{
1454    #[doc = "select MBC_MEMN_GLBAC0 access control policy for block B"]
1455    #[inline(always)]
1456    pub fn glbac0(self) -> &'a mut crate::W<REG> {
1457        self.variant(Mbacsel7::Glbac0)
1458    }
1459    #[doc = "select MBC_MEMN_GLBAC1 access control policy for block B"]
1460    #[inline(always)]
1461    pub fn glbac1(self) -> &'a mut crate::W<REG> {
1462        self.variant(Mbacsel7::Glbac1)
1463    }
1464    #[doc = "select MBC_MEMN_GLBAC2 access control policy for block B"]
1465    #[inline(always)]
1466    pub fn glbac2(self) -> &'a mut crate::W<REG> {
1467        self.variant(Mbacsel7::Glbac2)
1468    }
1469    #[doc = "select MBC_MEMN_GLBAC3 access control policy for block B"]
1470    #[inline(always)]
1471    pub fn glbac3(self) -> &'a mut crate::W<REG> {
1472        self.variant(Mbacsel7::Glbac3)
1473    }
1474    #[doc = "select MBC_MEMN_GLBAC4 access control policy for block B"]
1475    #[inline(always)]
1476    pub fn glbac4(self) -> &'a mut crate::W<REG> {
1477        self.variant(Mbacsel7::Glbac4)
1478    }
1479    #[doc = "select MBC_MEMN_GLBAC5 access control policy for block B"]
1480    #[inline(always)]
1481    pub fn glbac5(self) -> &'a mut crate::W<REG> {
1482        self.variant(Mbacsel7::Glbac5)
1483    }
1484    #[doc = "select MBC_MEMN_GLBAC6 access control policy for block B"]
1485    #[inline(always)]
1486    pub fn glbac6(self) -> &'a mut crate::W<REG> {
1487        self.variant(Mbacsel7::Glbac6)
1488    }
1489    #[doc = "select MBC_MEMN_GLBAC7 access control policy for block B"]
1490    #[inline(always)]
1491    pub fn glbac7(self) -> &'a mut crate::W<REG> {
1492        self.variant(Mbacsel7::Glbac7)
1493    }
1494}
1495#[doc = "NonSecure Enable for block B\n\nValue on reset: 0"]
1496#[cfg_attr(feature = "defmt", derive(defmt::Format))]
1497#[derive(Clone, Copy, Debug, PartialEq, Eq)]
1498pub enum Nse7 {
1499    #[doc = "0: Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
1500    Allowed = 0,
1501    #[doc = "1: Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
1502    Notallowed = 1,
1503}
1504impl From<Nse7> for bool {
1505    #[inline(always)]
1506    fn from(variant: Nse7) -> Self {
1507        variant as u8 != 0
1508    }
1509}
1510#[doc = "Field `NSE7` reader - NonSecure Enable for block B"]
1511pub type Nse7R = crate::BitReader<Nse7>;
1512impl Nse7R {
1513    #[doc = "Get enumerated values variant"]
1514    #[inline(always)]
1515    pub const fn variant(&self) -> Nse7 {
1516        match self.bits {
1517            false => Nse7::Allowed,
1518            true => Nse7::Notallowed,
1519        }
1520    }
1521    #[doc = "Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
1522    #[inline(always)]
1523    pub fn is_allowed(&self) -> bool {
1524        *self == Nse7::Allowed
1525    }
1526    #[doc = "Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
1527    #[inline(always)]
1528    pub fn is_notallowed(&self) -> bool {
1529        *self == Nse7::Notallowed
1530    }
1531}
1532#[doc = "Field `NSE7` writer - NonSecure Enable for block B"]
1533pub type Nse7W<'a, REG> = crate::BitWriter<'a, REG, Nse7>;
1534impl<'a, REG> Nse7W<'a, REG>
1535where
1536    REG: crate::Writable + crate::RegisterSpec,
1537{
1538    #[doc = "Secure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\]), nonsecure accesses to block B are not allowed."]
1539    #[inline(always)]
1540    pub fn allowed(self) -> &'a mut crate::W<REG> {
1541        self.variant(Nse7::Allowed)
1542    }
1543    #[doc = "Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww\\[MBACSEL\\])."]
1544    #[inline(always)]
1545    pub fn notallowed(self) -> &'a mut crate::W<REG> {
1546        self.variant(Nse7::Notallowed)
1547    }
1548}
1549impl R {
1550    #[doc = "Bits 0:2 - Memory Block Access Control Select for block B"]
1551    #[inline(always)]
1552    pub fn mbacsel0(&self) -> Mbacsel0R {
1553        Mbacsel0R::new((self.bits & 7) as u8)
1554    }
1555    #[doc = "Bit 3 - NonSecure Enable for block B"]
1556    #[inline(always)]
1557    pub fn nse0(&self) -> Nse0R {
1558        Nse0R::new(((self.bits >> 3) & 1) != 0)
1559    }
1560    #[doc = "Bits 4:6 - Memory Block Access Control Select for block B"]
1561    #[inline(always)]
1562    pub fn mbacsel1(&self) -> Mbacsel1R {
1563        Mbacsel1R::new(((self.bits >> 4) & 7) as u8)
1564    }
1565    #[doc = "Bit 7 - NonSecure Enable for block B"]
1566    #[inline(always)]
1567    pub fn nse1(&self) -> Nse1R {
1568        Nse1R::new(((self.bits >> 7) & 1) != 0)
1569    }
1570    #[doc = "Bits 8:10 - Memory Block Access Control Select for block B"]
1571    #[inline(always)]
1572    pub fn mbacsel2(&self) -> Mbacsel2R {
1573        Mbacsel2R::new(((self.bits >> 8) & 7) as u8)
1574    }
1575    #[doc = "Bit 11 - NonSecure Enable for block B"]
1576    #[inline(always)]
1577    pub fn nse2(&self) -> Nse2R {
1578        Nse2R::new(((self.bits >> 11) & 1) != 0)
1579    }
1580    #[doc = "Bits 12:14 - Memory Block Access Control Select for block B"]
1581    #[inline(always)]
1582    pub fn mbacsel3(&self) -> Mbacsel3R {
1583        Mbacsel3R::new(((self.bits >> 12) & 7) as u8)
1584    }
1585    #[doc = "Bit 15 - NonSecure Enable for block B"]
1586    #[inline(always)]
1587    pub fn nse3(&self) -> Nse3R {
1588        Nse3R::new(((self.bits >> 15) & 1) != 0)
1589    }
1590    #[doc = "Bits 16:18 - Memory Block Access Control Select for block B"]
1591    #[inline(always)]
1592    pub fn mbacsel4(&self) -> Mbacsel4R {
1593        Mbacsel4R::new(((self.bits >> 16) & 7) as u8)
1594    }
1595    #[doc = "Bit 19 - NonSecure Enable for block B"]
1596    #[inline(always)]
1597    pub fn nse4(&self) -> Nse4R {
1598        Nse4R::new(((self.bits >> 19) & 1) != 0)
1599    }
1600    #[doc = "Bits 20:22 - Memory Block Access Control Select for block B"]
1601    #[inline(always)]
1602    pub fn mbacsel5(&self) -> Mbacsel5R {
1603        Mbacsel5R::new(((self.bits >> 20) & 7) as u8)
1604    }
1605    #[doc = "Bit 23 - NonSecure Enable for block B"]
1606    #[inline(always)]
1607    pub fn nse5(&self) -> Nse5R {
1608        Nse5R::new(((self.bits >> 23) & 1) != 0)
1609    }
1610    #[doc = "Bits 24:26 - Memory Block Access Control Select for block B"]
1611    #[inline(always)]
1612    pub fn mbacsel6(&self) -> Mbacsel6R {
1613        Mbacsel6R::new(((self.bits >> 24) & 7) as u8)
1614    }
1615    #[doc = "Bit 27 - NonSecure Enable for block B"]
1616    #[inline(always)]
1617    pub fn nse6(&self) -> Nse6R {
1618        Nse6R::new(((self.bits >> 27) & 1) != 0)
1619    }
1620    #[doc = "Bits 28:30 - Memory Block Access Control Select for block B"]
1621    #[inline(always)]
1622    pub fn mbacsel7(&self) -> Mbacsel7R {
1623        Mbacsel7R::new(((self.bits >> 28) & 7) as u8)
1624    }
1625    #[doc = "Bit 31 - NonSecure Enable for block B"]
1626    #[inline(always)]
1627    pub fn nse7(&self) -> Nse7R {
1628        Nse7R::new(((self.bits >> 31) & 1) != 0)
1629    }
1630}
1631#[cfg(feature = "debug")]
1632impl core::fmt::Debug for R {
1633    fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1634        f.debug_struct("MBC0_DOM0_MEM0_BLK_CFG_W15")
1635            .field("mbacsel0", &self.mbacsel0())
1636            .field("nse0", &self.nse0())
1637            .field("mbacsel1", &self.mbacsel1())
1638            .field("nse1", &self.nse1())
1639            .field("mbacsel2", &self.mbacsel2())
1640            .field("nse2", &self.nse2())
1641            .field("mbacsel3", &self.mbacsel3())
1642            .field("nse3", &self.nse3())
1643            .field("mbacsel4", &self.mbacsel4())
1644            .field("nse4", &self.nse4())
1645            .field("mbacsel5", &self.mbacsel5())
1646            .field("nse5", &self.nse5())
1647            .field("mbacsel6", &self.mbacsel6())
1648            .field("nse6", &self.nse6())
1649            .field("mbacsel7", &self.mbacsel7())
1650            .field("nse7", &self.nse7())
1651            .finish()
1652    }
1653}
1654impl W {
1655    #[doc = "Bits 0:2 - Memory Block Access Control Select for block B"]
1656    #[inline(always)]
1657    pub fn mbacsel0(&mut self) -> Mbacsel0W<'_, Mbc0Dom0Mem0BlkCfgW15Spec> {
1658        Mbacsel0W::new(self, 0)
1659    }
1660    #[doc = "Bit 3 - NonSecure Enable for block B"]
1661    #[inline(always)]
1662    pub fn nse0(&mut self) -> Nse0W<'_, Mbc0Dom0Mem0BlkCfgW15Spec> {
1663        Nse0W::new(self, 3)
1664    }
1665    #[doc = "Bits 4:6 - Memory Block Access Control Select for block B"]
1666    #[inline(always)]
1667    pub fn mbacsel1(&mut self) -> Mbacsel1W<'_, Mbc0Dom0Mem0BlkCfgW15Spec> {
1668        Mbacsel1W::new(self, 4)
1669    }
1670    #[doc = "Bit 7 - NonSecure Enable for block B"]
1671    #[inline(always)]
1672    pub fn nse1(&mut self) -> Nse1W<'_, Mbc0Dom0Mem0BlkCfgW15Spec> {
1673        Nse1W::new(self, 7)
1674    }
1675    #[doc = "Bits 8:10 - Memory Block Access Control Select for block B"]
1676    #[inline(always)]
1677    pub fn mbacsel2(&mut self) -> Mbacsel2W<'_, Mbc0Dom0Mem0BlkCfgW15Spec> {
1678        Mbacsel2W::new(self, 8)
1679    }
1680    #[doc = "Bit 11 - NonSecure Enable for block B"]
1681    #[inline(always)]
1682    pub fn nse2(&mut self) -> Nse2W<'_, Mbc0Dom0Mem0BlkCfgW15Spec> {
1683        Nse2W::new(self, 11)
1684    }
1685    #[doc = "Bits 12:14 - Memory Block Access Control Select for block B"]
1686    #[inline(always)]
1687    pub fn mbacsel3(&mut self) -> Mbacsel3W<'_, Mbc0Dom0Mem0BlkCfgW15Spec> {
1688        Mbacsel3W::new(self, 12)
1689    }
1690    #[doc = "Bit 15 - NonSecure Enable for block B"]
1691    #[inline(always)]
1692    pub fn nse3(&mut self) -> Nse3W<'_, Mbc0Dom0Mem0BlkCfgW15Spec> {
1693        Nse3W::new(self, 15)
1694    }
1695    #[doc = "Bits 16:18 - Memory Block Access Control Select for block B"]
1696    #[inline(always)]
1697    pub fn mbacsel4(&mut self) -> Mbacsel4W<'_, Mbc0Dom0Mem0BlkCfgW15Spec> {
1698        Mbacsel4W::new(self, 16)
1699    }
1700    #[doc = "Bit 19 - NonSecure Enable for block B"]
1701    #[inline(always)]
1702    pub fn nse4(&mut self) -> Nse4W<'_, Mbc0Dom0Mem0BlkCfgW15Spec> {
1703        Nse4W::new(self, 19)
1704    }
1705    #[doc = "Bits 20:22 - Memory Block Access Control Select for block B"]
1706    #[inline(always)]
1707    pub fn mbacsel5(&mut self) -> Mbacsel5W<'_, Mbc0Dom0Mem0BlkCfgW15Spec> {
1708        Mbacsel5W::new(self, 20)
1709    }
1710    #[doc = "Bit 23 - NonSecure Enable for block B"]
1711    #[inline(always)]
1712    pub fn nse5(&mut self) -> Nse5W<'_, Mbc0Dom0Mem0BlkCfgW15Spec> {
1713        Nse5W::new(self, 23)
1714    }
1715    #[doc = "Bits 24:26 - Memory Block Access Control Select for block B"]
1716    #[inline(always)]
1717    pub fn mbacsel6(&mut self) -> Mbacsel6W<'_, Mbc0Dom0Mem0BlkCfgW15Spec> {
1718        Mbacsel6W::new(self, 24)
1719    }
1720    #[doc = "Bit 27 - NonSecure Enable for block B"]
1721    #[inline(always)]
1722    pub fn nse6(&mut self) -> Nse6W<'_, Mbc0Dom0Mem0BlkCfgW15Spec> {
1723        Nse6W::new(self, 27)
1724    }
1725    #[doc = "Bits 28:30 - Memory Block Access Control Select for block B"]
1726    #[inline(always)]
1727    pub fn mbacsel7(&mut self) -> Mbacsel7W<'_, Mbc0Dom0Mem0BlkCfgW15Spec> {
1728        Mbacsel7W::new(self, 28)
1729    }
1730    #[doc = "Bit 31 - NonSecure Enable for block B"]
1731    #[inline(always)]
1732    pub fn nse7(&mut self) -> Nse7W<'_, Mbc0Dom0Mem0BlkCfgW15Spec> {
1733        Nse7W::new(self, 31)
1734    }
1735}
1736#[doc = "MBC Memory Block Configuration Word\n\nYou can [`read`](crate::Reg::read) this register and get [`mbc0_dom0_mem0_blk_cfg_w15::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mbc0_dom0_mem0_blk_cfg_w15::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
1737pub struct Mbc0Dom0Mem0BlkCfgW15Spec;
1738impl crate::RegisterSpec for Mbc0Dom0Mem0BlkCfgW15Spec {
1739    type Ux = u32;
1740}
1741#[doc = "`read()` method returns [`mbc0_dom0_mem0_blk_cfg_w15::R`](R) reader structure"]
1742impl crate::Readable for Mbc0Dom0Mem0BlkCfgW15Spec {}
1743#[doc = "`write(|w| ..)` method takes [`mbc0_dom0_mem0_blk_cfg_w15::W`](W) writer structure"]
1744impl crate::Writable for Mbc0Dom0Mem0BlkCfgW15Spec {
1745    type Safety = crate::Unsafe;
1746}
1747#[doc = "`reset()` method sets MBC0_DOM0_MEM0_BLK_CFG_W15 to value 0"]
1748impl crate::Resettable for Mbc0Dom0Mem0BlkCfgW15Spec {}