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 {}