Skip to main content

ra6m2_pac/
mmpu.rs

1/*
2DISCLAIMER
3This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
4No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
5applicable laws, including copyright laws.
6THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
7OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
9LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
10INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
11ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
12Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
13of this software. By using this software, you agree to the additional terms and conditions found by accessing the
14following link:
15http://www.renesas.com/disclaimer
16
17*/
18// Generated from SVD 1.2, with svd2pac 0.6.1 on Sun, 15 Mar 2026 07:11:44 +0000
19
20#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"Bus Master MPU"]
28unsafe impl ::core::marker::Send for super::Mmpu {}
29unsafe impl ::core::marker::Sync for super::Mmpu {}
30impl super::Mmpu {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36
37    #[doc = "Bus Master MPU Control Register"]
38    #[inline(always)]
39    pub const fn mmpuctl(
40        &self,
41    ) -> &'static crate::common::ClusterRegisterArray<
42        crate::common::Reg<self::Mmpuctl_SPEC, crate::common::RW>,
43        3,
44        0x400,
45    > {
46        unsafe {
47            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x0usize))
48        }
49    }
50    #[inline(always)]
51    pub const fn mmpuctla(
52        &self,
53    ) -> &'static crate::common::Reg<self::Mmpuctl_SPEC, crate::common::RW> {
54        unsafe {
55            crate::common::Reg::<self::Mmpuctl_SPEC, crate::common::RW>::from_ptr(
56                self._svd2pac_as_ptr().add(0x0usize),
57            )
58        }
59    }
60    #[inline(always)]
61    pub const fn mmpuctlb(
62        &self,
63    ) -> &'static crate::common::Reg<self::Mmpuctl_SPEC, crate::common::RW> {
64        unsafe {
65            crate::common::Reg::<self::Mmpuctl_SPEC, crate::common::RW>::from_ptr(
66                self._svd2pac_as_ptr().add(0x400usize),
67            )
68        }
69    }
70    #[inline(always)]
71    pub const fn mmpuctlc(
72        &self,
73    ) -> &'static crate::common::Reg<self::Mmpuctl_SPEC, crate::common::RW> {
74        unsafe {
75            crate::common::Reg::<self::Mmpuctl_SPEC, crate::common::RW>::from_ptr(
76                self._svd2pac_as_ptr().add(0x800usize),
77            )
78        }
79    }
80
81    #[doc = "Group A Region %s Access Control Register"]
82    #[inline(always)]
83    pub const fn mmpuaca(
84        &self,
85    ) -> &'static crate::common::ClusterRegisterArray<
86        crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW>,
87        32,
88        0x10,
89    > {
90        unsafe {
91            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x200usize))
92        }
93    }
94    #[inline(always)]
95    pub const fn mmpuaca0(
96        &self,
97    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
98        unsafe {
99            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
100                self._svd2pac_as_ptr().add(0x200usize),
101            )
102        }
103    }
104    #[inline(always)]
105    pub const fn mmpuaca1(
106        &self,
107    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
108        unsafe {
109            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
110                self._svd2pac_as_ptr().add(0x210usize),
111            )
112        }
113    }
114    #[inline(always)]
115    pub const fn mmpuaca2(
116        &self,
117    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
118        unsafe {
119            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
120                self._svd2pac_as_ptr().add(0x220usize),
121            )
122        }
123    }
124    #[inline(always)]
125    pub const fn mmpuaca3(
126        &self,
127    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
128        unsafe {
129            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
130                self._svd2pac_as_ptr().add(0x230usize),
131            )
132        }
133    }
134    #[inline(always)]
135    pub const fn mmpuaca4(
136        &self,
137    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
138        unsafe {
139            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
140                self._svd2pac_as_ptr().add(0x240usize),
141            )
142        }
143    }
144    #[inline(always)]
145    pub const fn mmpuaca5(
146        &self,
147    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
148        unsafe {
149            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
150                self._svd2pac_as_ptr().add(0x250usize),
151            )
152        }
153    }
154    #[inline(always)]
155    pub const fn mmpuaca6(
156        &self,
157    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
158        unsafe {
159            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
160                self._svd2pac_as_ptr().add(0x260usize),
161            )
162        }
163    }
164    #[inline(always)]
165    pub const fn mmpuaca7(
166        &self,
167    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
168        unsafe {
169            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
170                self._svd2pac_as_ptr().add(0x270usize),
171            )
172        }
173    }
174    #[inline(always)]
175    pub const fn mmpuaca8(
176        &self,
177    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
178        unsafe {
179            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
180                self._svd2pac_as_ptr().add(0x280usize),
181            )
182        }
183    }
184    #[inline(always)]
185    pub const fn mmpuaca9(
186        &self,
187    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
188        unsafe {
189            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
190                self._svd2pac_as_ptr().add(0x290usize),
191            )
192        }
193    }
194    #[inline(always)]
195    pub const fn mmpuaca10(
196        &self,
197    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
198        unsafe {
199            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
200                self._svd2pac_as_ptr().add(0x2a0usize),
201            )
202        }
203    }
204    #[inline(always)]
205    pub const fn mmpuaca11(
206        &self,
207    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
208        unsafe {
209            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
210                self._svd2pac_as_ptr().add(0x2b0usize),
211            )
212        }
213    }
214    #[inline(always)]
215    pub const fn mmpuaca12(
216        &self,
217    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
218        unsafe {
219            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
220                self._svd2pac_as_ptr().add(0x2c0usize),
221            )
222        }
223    }
224    #[inline(always)]
225    pub const fn mmpuaca13(
226        &self,
227    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
228        unsafe {
229            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
230                self._svd2pac_as_ptr().add(0x2d0usize),
231            )
232        }
233    }
234    #[inline(always)]
235    pub const fn mmpuaca14(
236        &self,
237    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
238        unsafe {
239            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
240                self._svd2pac_as_ptr().add(0x2e0usize),
241            )
242        }
243    }
244    #[inline(always)]
245    pub const fn mmpuaca15(
246        &self,
247    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
248        unsafe {
249            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
250                self._svd2pac_as_ptr().add(0x2f0usize),
251            )
252        }
253    }
254    #[inline(always)]
255    pub const fn mmpuaca16(
256        &self,
257    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
258        unsafe {
259            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
260                self._svd2pac_as_ptr().add(0x300usize),
261            )
262        }
263    }
264    #[inline(always)]
265    pub const fn mmpuaca17(
266        &self,
267    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
268        unsafe {
269            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
270                self._svd2pac_as_ptr().add(0x310usize),
271            )
272        }
273    }
274    #[inline(always)]
275    pub const fn mmpuaca18(
276        &self,
277    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
278        unsafe {
279            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
280                self._svd2pac_as_ptr().add(0x320usize),
281            )
282        }
283    }
284    #[inline(always)]
285    pub const fn mmpuaca19(
286        &self,
287    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
288        unsafe {
289            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
290                self._svd2pac_as_ptr().add(0x330usize),
291            )
292        }
293    }
294    #[inline(always)]
295    pub const fn mmpuaca20(
296        &self,
297    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
298        unsafe {
299            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
300                self._svd2pac_as_ptr().add(0x340usize),
301            )
302        }
303    }
304    #[inline(always)]
305    pub const fn mmpuaca21(
306        &self,
307    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
308        unsafe {
309            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
310                self._svd2pac_as_ptr().add(0x350usize),
311            )
312        }
313    }
314    #[inline(always)]
315    pub const fn mmpuaca22(
316        &self,
317    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
318        unsafe {
319            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
320                self._svd2pac_as_ptr().add(0x360usize),
321            )
322        }
323    }
324    #[inline(always)]
325    pub const fn mmpuaca23(
326        &self,
327    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
328        unsafe {
329            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
330                self._svd2pac_as_ptr().add(0x370usize),
331            )
332        }
333    }
334    #[inline(always)]
335    pub const fn mmpuaca24(
336        &self,
337    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
338        unsafe {
339            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
340                self._svd2pac_as_ptr().add(0x380usize),
341            )
342        }
343    }
344    #[inline(always)]
345    pub const fn mmpuaca25(
346        &self,
347    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
348        unsafe {
349            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
350                self._svd2pac_as_ptr().add(0x390usize),
351            )
352        }
353    }
354    #[inline(always)]
355    pub const fn mmpuaca26(
356        &self,
357    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
358        unsafe {
359            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
360                self._svd2pac_as_ptr().add(0x3a0usize),
361            )
362        }
363    }
364    #[inline(always)]
365    pub const fn mmpuaca27(
366        &self,
367    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
368        unsafe {
369            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
370                self._svd2pac_as_ptr().add(0x3b0usize),
371            )
372        }
373    }
374    #[inline(always)]
375    pub const fn mmpuaca28(
376        &self,
377    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
378        unsafe {
379            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
380                self._svd2pac_as_ptr().add(0x3c0usize),
381            )
382        }
383    }
384    #[inline(always)]
385    pub const fn mmpuaca29(
386        &self,
387    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
388        unsafe {
389            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
390                self._svd2pac_as_ptr().add(0x3d0usize),
391            )
392        }
393    }
394    #[inline(always)]
395    pub const fn mmpuaca30(
396        &self,
397    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
398        unsafe {
399            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
400                self._svd2pac_as_ptr().add(0x3e0usize),
401            )
402        }
403    }
404    #[inline(always)]
405    pub const fn mmpuaca31(
406        &self,
407    ) -> &'static crate::common::Reg<self::Mmpuaca_SPEC, crate::common::RW> {
408        unsafe {
409            crate::common::Reg::<self::Mmpuaca_SPEC, crate::common::RW>::from_ptr(
410                self._svd2pac_as_ptr().add(0x3f0usize),
411            )
412        }
413    }
414
415    #[doc = "Group B Region %s Access Control Register"]
416    #[inline(always)]
417    pub const fn mmpuacb(
418        &self,
419    ) -> &'static crate::common::ClusterRegisterArray<
420        crate::common::Reg<self::Mmpuacb_SPEC, crate::common::RW>,
421        8,
422        0x10,
423    > {
424        unsafe {
425            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x600usize))
426        }
427    }
428    #[inline(always)]
429    pub const fn mmpuacb0(
430        &self,
431    ) -> &'static crate::common::Reg<self::Mmpuacb_SPEC, crate::common::RW> {
432        unsafe {
433            crate::common::Reg::<self::Mmpuacb_SPEC, crate::common::RW>::from_ptr(
434                self._svd2pac_as_ptr().add(0x600usize),
435            )
436        }
437    }
438    #[inline(always)]
439    pub const fn mmpuacb1(
440        &self,
441    ) -> &'static crate::common::Reg<self::Mmpuacb_SPEC, crate::common::RW> {
442        unsafe {
443            crate::common::Reg::<self::Mmpuacb_SPEC, crate::common::RW>::from_ptr(
444                self._svd2pac_as_ptr().add(0x610usize),
445            )
446        }
447    }
448    #[inline(always)]
449    pub const fn mmpuacb2(
450        &self,
451    ) -> &'static crate::common::Reg<self::Mmpuacb_SPEC, crate::common::RW> {
452        unsafe {
453            crate::common::Reg::<self::Mmpuacb_SPEC, crate::common::RW>::from_ptr(
454                self._svd2pac_as_ptr().add(0x620usize),
455            )
456        }
457    }
458    #[inline(always)]
459    pub const fn mmpuacb3(
460        &self,
461    ) -> &'static crate::common::Reg<self::Mmpuacb_SPEC, crate::common::RW> {
462        unsafe {
463            crate::common::Reg::<self::Mmpuacb_SPEC, crate::common::RW>::from_ptr(
464                self._svd2pac_as_ptr().add(0x630usize),
465            )
466        }
467    }
468    #[inline(always)]
469    pub const fn mmpuacb4(
470        &self,
471    ) -> &'static crate::common::Reg<self::Mmpuacb_SPEC, crate::common::RW> {
472        unsafe {
473            crate::common::Reg::<self::Mmpuacb_SPEC, crate::common::RW>::from_ptr(
474                self._svd2pac_as_ptr().add(0x640usize),
475            )
476        }
477    }
478    #[inline(always)]
479    pub const fn mmpuacb5(
480        &self,
481    ) -> &'static crate::common::Reg<self::Mmpuacb_SPEC, crate::common::RW> {
482        unsafe {
483            crate::common::Reg::<self::Mmpuacb_SPEC, crate::common::RW>::from_ptr(
484                self._svd2pac_as_ptr().add(0x650usize),
485            )
486        }
487    }
488    #[inline(always)]
489    pub const fn mmpuacb6(
490        &self,
491    ) -> &'static crate::common::Reg<self::Mmpuacb_SPEC, crate::common::RW> {
492        unsafe {
493            crate::common::Reg::<self::Mmpuacb_SPEC, crate::common::RW>::from_ptr(
494                self._svd2pac_as_ptr().add(0x660usize),
495            )
496        }
497    }
498    #[inline(always)]
499    pub const fn mmpuacb7(
500        &self,
501    ) -> &'static crate::common::Reg<self::Mmpuacb_SPEC, crate::common::RW> {
502        unsafe {
503            crate::common::Reg::<self::Mmpuacb_SPEC, crate::common::RW>::from_ptr(
504                self._svd2pac_as_ptr().add(0x670usize),
505            )
506        }
507    }
508
509    #[doc = "Group C Region %s Access Control Register"]
510    #[inline(always)]
511    pub const fn mmpuacc(
512        &self,
513    ) -> &'static crate::common::ClusterRegisterArray<
514        crate::common::Reg<self::Mmpuacc_SPEC, crate::common::RW>,
515        8,
516        0x10,
517    > {
518        unsafe {
519            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xa00usize))
520        }
521    }
522    #[inline(always)]
523    pub const fn mmpuacc0(
524        &self,
525    ) -> &'static crate::common::Reg<self::Mmpuacc_SPEC, crate::common::RW> {
526        unsafe {
527            crate::common::Reg::<self::Mmpuacc_SPEC, crate::common::RW>::from_ptr(
528                self._svd2pac_as_ptr().add(0xa00usize),
529            )
530        }
531    }
532    #[inline(always)]
533    pub const fn mmpuacc1(
534        &self,
535    ) -> &'static crate::common::Reg<self::Mmpuacc_SPEC, crate::common::RW> {
536        unsafe {
537            crate::common::Reg::<self::Mmpuacc_SPEC, crate::common::RW>::from_ptr(
538                self._svd2pac_as_ptr().add(0xa10usize),
539            )
540        }
541    }
542    #[inline(always)]
543    pub const fn mmpuacc2(
544        &self,
545    ) -> &'static crate::common::Reg<self::Mmpuacc_SPEC, crate::common::RW> {
546        unsafe {
547            crate::common::Reg::<self::Mmpuacc_SPEC, crate::common::RW>::from_ptr(
548                self._svd2pac_as_ptr().add(0xa20usize),
549            )
550        }
551    }
552    #[inline(always)]
553    pub const fn mmpuacc3(
554        &self,
555    ) -> &'static crate::common::Reg<self::Mmpuacc_SPEC, crate::common::RW> {
556        unsafe {
557            crate::common::Reg::<self::Mmpuacc_SPEC, crate::common::RW>::from_ptr(
558                self._svd2pac_as_ptr().add(0xa30usize),
559            )
560        }
561    }
562    #[inline(always)]
563    pub const fn mmpuacc4(
564        &self,
565    ) -> &'static crate::common::Reg<self::Mmpuacc_SPEC, crate::common::RW> {
566        unsafe {
567            crate::common::Reg::<self::Mmpuacc_SPEC, crate::common::RW>::from_ptr(
568                self._svd2pac_as_ptr().add(0xa40usize),
569            )
570        }
571    }
572    #[inline(always)]
573    pub const fn mmpuacc5(
574        &self,
575    ) -> &'static crate::common::Reg<self::Mmpuacc_SPEC, crate::common::RW> {
576        unsafe {
577            crate::common::Reg::<self::Mmpuacc_SPEC, crate::common::RW>::from_ptr(
578                self._svd2pac_as_ptr().add(0xa50usize),
579            )
580        }
581    }
582    #[inline(always)]
583    pub const fn mmpuacc6(
584        &self,
585    ) -> &'static crate::common::Reg<self::Mmpuacc_SPEC, crate::common::RW> {
586        unsafe {
587            crate::common::Reg::<self::Mmpuacc_SPEC, crate::common::RW>::from_ptr(
588                self._svd2pac_as_ptr().add(0xa60usize),
589            )
590        }
591    }
592    #[inline(always)]
593    pub const fn mmpuacc7(
594        &self,
595    ) -> &'static crate::common::Reg<self::Mmpuacc_SPEC, crate::common::RW> {
596        unsafe {
597            crate::common::Reg::<self::Mmpuacc_SPEC, crate::common::RW>::from_ptr(
598                self._svd2pac_as_ptr().add(0xa70usize),
599            )
600        }
601    }
602
603    #[doc = "Group A Region %s Start Address Register"]
604    #[inline(always)]
605    pub const fn mmpusa(
606        &self,
607    ) -> &'static crate::common::ClusterRegisterArray<
608        crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW>,
609        32,
610        0x10,
611    > {
612        unsafe {
613            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x204usize))
614        }
615    }
616    #[inline(always)]
617    pub const fn mmpusa0(
618        &self,
619    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
620        unsafe {
621            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
622                self._svd2pac_as_ptr().add(0x204usize),
623            )
624        }
625    }
626    #[inline(always)]
627    pub const fn mmpusa1(
628        &self,
629    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
630        unsafe {
631            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
632                self._svd2pac_as_ptr().add(0x214usize),
633            )
634        }
635    }
636    #[inline(always)]
637    pub const fn mmpusa2(
638        &self,
639    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
640        unsafe {
641            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
642                self._svd2pac_as_ptr().add(0x224usize),
643            )
644        }
645    }
646    #[inline(always)]
647    pub const fn mmpusa3(
648        &self,
649    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
650        unsafe {
651            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
652                self._svd2pac_as_ptr().add(0x234usize),
653            )
654        }
655    }
656    #[inline(always)]
657    pub const fn mmpusa4(
658        &self,
659    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
660        unsafe {
661            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
662                self._svd2pac_as_ptr().add(0x244usize),
663            )
664        }
665    }
666    #[inline(always)]
667    pub const fn mmpusa5(
668        &self,
669    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
670        unsafe {
671            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
672                self._svd2pac_as_ptr().add(0x254usize),
673            )
674        }
675    }
676    #[inline(always)]
677    pub const fn mmpusa6(
678        &self,
679    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
680        unsafe {
681            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
682                self._svd2pac_as_ptr().add(0x264usize),
683            )
684        }
685    }
686    #[inline(always)]
687    pub const fn mmpusa7(
688        &self,
689    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
690        unsafe {
691            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
692                self._svd2pac_as_ptr().add(0x274usize),
693            )
694        }
695    }
696    #[inline(always)]
697    pub const fn mmpusa8(
698        &self,
699    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
700        unsafe {
701            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
702                self._svd2pac_as_ptr().add(0x284usize),
703            )
704        }
705    }
706    #[inline(always)]
707    pub const fn mmpusa9(
708        &self,
709    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
710        unsafe {
711            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
712                self._svd2pac_as_ptr().add(0x294usize),
713            )
714        }
715    }
716    #[inline(always)]
717    pub const fn mmpusa10(
718        &self,
719    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
720        unsafe {
721            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
722                self._svd2pac_as_ptr().add(0x2a4usize),
723            )
724        }
725    }
726    #[inline(always)]
727    pub const fn mmpusa11(
728        &self,
729    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
730        unsafe {
731            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
732                self._svd2pac_as_ptr().add(0x2b4usize),
733            )
734        }
735    }
736    #[inline(always)]
737    pub const fn mmpusa12(
738        &self,
739    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
740        unsafe {
741            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
742                self._svd2pac_as_ptr().add(0x2c4usize),
743            )
744        }
745    }
746    #[inline(always)]
747    pub const fn mmpusa13(
748        &self,
749    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
750        unsafe {
751            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
752                self._svd2pac_as_ptr().add(0x2d4usize),
753            )
754        }
755    }
756    #[inline(always)]
757    pub const fn mmpusa14(
758        &self,
759    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
760        unsafe {
761            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
762                self._svd2pac_as_ptr().add(0x2e4usize),
763            )
764        }
765    }
766    #[inline(always)]
767    pub const fn mmpusa15(
768        &self,
769    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
770        unsafe {
771            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
772                self._svd2pac_as_ptr().add(0x2f4usize),
773            )
774        }
775    }
776    #[inline(always)]
777    pub const fn mmpusa16(
778        &self,
779    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
780        unsafe {
781            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
782                self._svd2pac_as_ptr().add(0x304usize),
783            )
784        }
785    }
786    #[inline(always)]
787    pub const fn mmpusa17(
788        &self,
789    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
790        unsafe {
791            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
792                self._svd2pac_as_ptr().add(0x314usize),
793            )
794        }
795    }
796    #[inline(always)]
797    pub const fn mmpusa18(
798        &self,
799    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
800        unsafe {
801            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
802                self._svd2pac_as_ptr().add(0x324usize),
803            )
804        }
805    }
806    #[inline(always)]
807    pub const fn mmpusa19(
808        &self,
809    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
810        unsafe {
811            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
812                self._svd2pac_as_ptr().add(0x334usize),
813            )
814        }
815    }
816    #[inline(always)]
817    pub const fn mmpusa20(
818        &self,
819    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
820        unsafe {
821            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
822                self._svd2pac_as_ptr().add(0x344usize),
823            )
824        }
825    }
826    #[inline(always)]
827    pub const fn mmpusa21(
828        &self,
829    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
830        unsafe {
831            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
832                self._svd2pac_as_ptr().add(0x354usize),
833            )
834        }
835    }
836    #[inline(always)]
837    pub const fn mmpusa22(
838        &self,
839    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
840        unsafe {
841            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
842                self._svd2pac_as_ptr().add(0x364usize),
843            )
844        }
845    }
846    #[inline(always)]
847    pub const fn mmpusa23(
848        &self,
849    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
850        unsafe {
851            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
852                self._svd2pac_as_ptr().add(0x374usize),
853            )
854        }
855    }
856    #[inline(always)]
857    pub const fn mmpusa24(
858        &self,
859    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
860        unsafe {
861            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
862                self._svd2pac_as_ptr().add(0x384usize),
863            )
864        }
865    }
866    #[inline(always)]
867    pub const fn mmpusa25(
868        &self,
869    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
870        unsafe {
871            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
872                self._svd2pac_as_ptr().add(0x394usize),
873            )
874        }
875    }
876    #[inline(always)]
877    pub const fn mmpusa26(
878        &self,
879    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
880        unsafe {
881            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
882                self._svd2pac_as_ptr().add(0x3a4usize),
883            )
884        }
885    }
886    #[inline(always)]
887    pub const fn mmpusa27(
888        &self,
889    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
890        unsafe {
891            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
892                self._svd2pac_as_ptr().add(0x3b4usize),
893            )
894        }
895    }
896    #[inline(always)]
897    pub const fn mmpusa28(
898        &self,
899    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
900        unsafe {
901            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
902                self._svd2pac_as_ptr().add(0x3c4usize),
903            )
904        }
905    }
906    #[inline(always)]
907    pub const fn mmpusa29(
908        &self,
909    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
910        unsafe {
911            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
912                self._svd2pac_as_ptr().add(0x3d4usize),
913            )
914        }
915    }
916    #[inline(always)]
917    pub const fn mmpusa30(
918        &self,
919    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
920        unsafe {
921            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
922                self._svd2pac_as_ptr().add(0x3e4usize),
923            )
924        }
925    }
926    #[inline(always)]
927    pub const fn mmpusa31(
928        &self,
929    ) -> &'static crate::common::Reg<self::Mmpusa_SPEC, crate::common::RW> {
930        unsafe {
931            crate::common::Reg::<self::Mmpusa_SPEC, crate::common::RW>::from_ptr(
932                self._svd2pac_as_ptr().add(0x3f4usize),
933            )
934        }
935    }
936
937    #[doc = "Group B Region %s Start Address Register"]
938    #[inline(always)]
939    pub const fn mmpusb(
940        &self,
941    ) -> &'static crate::common::ClusterRegisterArray<
942        crate::common::Reg<self::Mmpusb_SPEC, crate::common::RW>,
943        8,
944        0x10,
945    > {
946        unsafe {
947            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x604usize))
948        }
949    }
950    #[inline(always)]
951    pub const fn mmpusb0(
952        &self,
953    ) -> &'static crate::common::Reg<self::Mmpusb_SPEC, crate::common::RW> {
954        unsafe {
955            crate::common::Reg::<self::Mmpusb_SPEC, crate::common::RW>::from_ptr(
956                self._svd2pac_as_ptr().add(0x604usize),
957            )
958        }
959    }
960    #[inline(always)]
961    pub const fn mmpusb1(
962        &self,
963    ) -> &'static crate::common::Reg<self::Mmpusb_SPEC, crate::common::RW> {
964        unsafe {
965            crate::common::Reg::<self::Mmpusb_SPEC, crate::common::RW>::from_ptr(
966                self._svd2pac_as_ptr().add(0x614usize),
967            )
968        }
969    }
970    #[inline(always)]
971    pub const fn mmpusb2(
972        &self,
973    ) -> &'static crate::common::Reg<self::Mmpusb_SPEC, crate::common::RW> {
974        unsafe {
975            crate::common::Reg::<self::Mmpusb_SPEC, crate::common::RW>::from_ptr(
976                self._svd2pac_as_ptr().add(0x624usize),
977            )
978        }
979    }
980    #[inline(always)]
981    pub const fn mmpusb3(
982        &self,
983    ) -> &'static crate::common::Reg<self::Mmpusb_SPEC, crate::common::RW> {
984        unsafe {
985            crate::common::Reg::<self::Mmpusb_SPEC, crate::common::RW>::from_ptr(
986                self._svd2pac_as_ptr().add(0x634usize),
987            )
988        }
989    }
990    #[inline(always)]
991    pub const fn mmpusb4(
992        &self,
993    ) -> &'static crate::common::Reg<self::Mmpusb_SPEC, crate::common::RW> {
994        unsafe {
995            crate::common::Reg::<self::Mmpusb_SPEC, crate::common::RW>::from_ptr(
996                self._svd2pac_as_ptr().add(0x644usize),
997            )
998        }
999    }
1000    #[inline(always)]
1001    pub const fn mmpusb5(
1002        &self,
1003    ) -> &'static crate::common::Reg<self::Mmpusb_SPEC, crate::common::RW> {
1004        unsafe {
1005            crate::common::Reg::<self::Mmpusb_SPEC, crate::common::RW>::from_ptr(
1006                self._svd2pac_as_ptr().add(0x654usize),
1007            )
1008        }
1009    }
1010    #[inline(always)]
1011    pub const fn mmpusb6(
1012        &self,
1013    ) -> &'static crate::common::Reg<self::Mmpusb_SPEC, crate::common::RW> {
1014        unsafe {
1015            crate::common::Reg::<self::Mmpusb_SPEC, crate::common::RW>::from_ptr(
1016                self._svd2pac_as_ptr().add(0x664usize),
1017            )
1018        }
1019    }
1020    #[inline(always)]
1021    pub const fn mmpusb7(
1022        &self,
1023    ) -> &'static crate::common::Reg<self::Mmpusb_SPEC, crate::common::RW> {
1024        unsafe {
1025            crate::common::Reg::<self::Mmpusb_SPEC, crate::common::RW>::from_ptr(
1026                self._svd2pac_as_ptr().add(0x674usize),
1027            )
1028        }
1029    }
1030
1031    #[doc = "Group C Region %s Start Address Register"]
1032    #[inline(always)]
1033    pub const fn mmpusc(
1034        &self,
1035    ) -> &'static crate::common::ClusterRegisterArray<
1036        crate::common::Reg<self::Mmpusc_SPEC, crate::common::RW>,
1037        8,
1038        0x10,
1039    > {
1040        unsafe {
1041            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xa04usize))
1042        }
1043    }
1044    #[inline(always)]
1045    pub const fn mmpusc0(
1046        &self,
1047    ) -> &'static crate::common::Reg<self::Mmpusc_SPEC, crate::common::RW> {
1048        unsafe {
1049            crate::common::Reg::<self::Mmpusc_SPEC, crate::common::RW>::from_ptr(
1050                self._svd2pac_as_ptr().add(0xa04usize),
1051            )
1052        }
1053    }
1054    #[inline(always)]
1055    pub const fn mmpusc1(
1056        &self,
1057    ) -> &'static crate::common::Reg<self::Mmpusc_SPEC, crate::common::RW> {
1058        unsafe {
1059            crate::common::Reg::<self::Mmpusc_SPEC, crate::common::RW>::from_ptr(
1060                self._svd2pac_as_ptr().add(0xa14usize),
1061            )
1062        }
1063    }
1064    #[inline(always)]
1065    pub const fn mmpusc2(
1066        &self,
1067    ) -> &'static crate::common::Reg<self::Mmpusc_SPEC, crate::common::RW> {
1068        unsafe {
1069            crate::common::Reg::<self::Mmpusc_SPEC, crate::common::RW>::from_ptr(
1070                self._svd2pac_as_ptr().add(0xa24usize),
1071            )
1072        }
1073    }
1074    #[inline(always)]
1075    pub const fn mmpusc3(
1076        &self,
1077    ) -> &'static crate::common::Reg<self::Mmpusc_SPEC, crate::common::RW> {
1078        unsafe {
1079            crate::common::Reg::<self::Mmpusc_SPEC, crate::common::RW>::from_ptr(
1080                self._svd2pac_as_ptr().add(0xa34usize),
1081            )
1082        }
1083    }
1084    #[inline(always)]
1085    pub const fn mmpusc4(
1086        &self,
1087    ) -> &'static crate::common::Reg<self::Mmpusc_SPEC, crate::common::RW> {
1088        unsafe {
1089            crate::common::Reg::<self::Mmpusc_SPEC, crate::common::RW>::from_ptr(
1090                self._svd2pac_as_ptr().add(0xa44usize),
1091            )
1092        }
1093    }
1094    #[inline(always)]
1095    pub const fn mmpusc5(
1096        &self,
1097    ) -> &'static crate::common::Reg<self::Mmpusc_SPEC, crate::common::RW> {
1098        unsafe {
1099            crate::common::Reg::<self::Mmpusc_SPEC, crate::common::RW>::from_ptr(
1100                self._svd2pac_as_ptr().add(0xa54usize),
1101            )
1102        }
1103    }
1104    #[inline(always)]
1105    pub const fn mmpusc6(
1106        &self,
1107    ) -> &'static crate::common::Reg<self::Mmpusc_SPEC, crate::common::RW> {
1108        unsafe {
1109            crate::common::Reg::<self::Mmpusc_SPEC, crate::common::RW>::from_ptr(
1110                self._svd2pac_as_ptr().add(0xa64usize),
1111            )
1112        }
1113    }
1114    #[inline(always)]
1115    pub const fn mmpusc7(
1116        &self,
1117    ) -> &'static crate::common::Reg<self::Mmpusc_SPEC, crate::common::RW> {
1118        unsafe {
1119            crate::common::Reg::<self::Mmpusc_SPEC, crate::common::RW>::from_ptr(
1120                self._svd2pac_as_ptr().add(0xa74usize),
1121            )
1122        }
1123    }
1124
1125    #[doc = "Group A Region %s End Address Register"]
1126    #[inline(always)]
1127    pub const fn mmpuea(
1128        &self,
1129    ) -> &'static crate::common::ClusterRegisterArray<
1130        crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW>,
1131        32,
1132        0x10,
1133    > {
1134        unsafe {
1135            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x208usize))
1136        }
1137    }
1138    #[inline(always)]
1139    pub const fn mmpuea0(
1140        &self,
1141    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1142        unsafe {
1143            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1144                self._svd2pac_as_ptr().add(0x208usize),
1145            )
1146        }
1147    }
1148    #[inline(always)]
1149    pub const fn mmpuea1(
1150        &self,
1151    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1152        unsafe {
1153            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1154                self._svd2pac_as_ptr().add(0x218usize),
1155            )
1156        }
1157    }
1158    #[inline(always)]
1159    pub const fn mmpuea2(
1160        &self,
1161    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1162        unsafe {
1163            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1164                self._svd2pac_as_ptr().add(0x228usize),
1165            )
1166        }
1167    }
1168    #[inline(always)]
1169    pub const fn mmpuea3(
1170        &self,
1171    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1172        unsafe {
1173            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1174                self._svd2pac_as_ptr().add(0x238usize),
1175            )
1176        }
1177    }
1178    #[inline(always)]
1179    pub const fn mmpuea4(
1180        &self,
1181    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1182        unsafe {
1183            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1184                self._svd2pac_as_ptr().add(0x248usize),
1185            )
1186        }
1187    }
1188    #[inline(always)]
1189    pub const fn mmpuea5(
1190        &self,
1191    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1192        unsafe {
1193            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1194                self._svd2pac_as_ptr().add(0x258usize),
1195            )
1196        }
1197    }
1198    #[inline(always)]
1199    pub const fn mmpuea6(
1200        &self,
1201    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1202        unsafe {
1203            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1204                self._svd2pac_as_ptr().add(0x268usize),
1205            )
1206        }
1207    }
1208    #[inline(always)]
1209    pub const fn mmpuea7(
1210        &self,
1211    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1212        unsafe {
1213            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1214                self._svd2pac_as_ptr().add(0x278usize),
1215            )
1216        }
1217    }
1218    #[inline(always)]
1219    pub const fn mmpuea8(
1220        &self,
1221    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1222        unsafe {
1223            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1224                self._svd2pac_as_ptr().add(0x288usize),
1225            )
1226        }
1227    }
1228    #[inline(always)]
1229    pub const fn mmpuea9(
1230        &self,
1231    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1232        unsafe {
1233            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1234                self._svd2pac_as_ptr().add(0x298usize),
1235            )
1236        }
1237    }
1238    #[inline(always)]
1239    pub const fn mmpuea10(
1240        &self,
1241    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1242        unsafe {
1243            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1244                self._svd2pac_as_ptr().add(0x2a8usize),
1245            )
1246        }
1247    }
1248    #[inline(always)]
1249    pub const fn mmpuea11(
1250        &self,
1251    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1252        unsafe {
1253            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1254                self._svd2pac_as_ptr().add(0x2b8usize),
1255            )
1256        }
1257    }
1258    #[inline(always)]
1259    pub const fn mmpuea12(
1260        &self,
1261    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1262        unsafe {
1263            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1264                self._svd2pac_as_ptr().add(0x2c8usize),
1265            )
1266        }
1267    }
1268    #[inline(always)]
1269    pub const fn mmpuea13(
1270        &self,
1271    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1272        unsafe {
1273            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1274                self._svd2pac_as_ptr().add(0x2d8usize),
1275            )
1276        }
1277    }
1278    #[inline(always)]
1279    pub const fn mmpuea14(
1280        &self,
1281    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1282        unsafe {
1283            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1284                self._svd2pac_as_ptr().add(0x2e8usize),
1285            )
1286        }
1287    }
1288    #[inline(always)]
1289    pub const fn mmpuea15(
1290        &self,
1291    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1292        unsafe {
1293            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1294                self._svd2pac_as_ptr().add(0x2f8usize),
1295            )
1296        }
1297    }
1298    #[inline(always)]
1299    pub const fn mmpuea16(
1300        &self,
1301    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1302        unsafe {
1303            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1304                self._svd2pac_as_ptr().add(0x308usize),
1305            )
1306        }
1307    }
1308    #[inline(always)]
1309    pub const fn mmpuea17(
1310        &self,
1311    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1312        unsafe {
1313            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1314                self._svd2pac_as_ptr().add(0x318usize),
1315            )
1316        }
1317    }
1318    #[inline(always)]
1319    pub const fn mmpuea18(
1320        &self,
1321    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1322        unsafe {
1323            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1324                self._svd2pac_as_ptr().add(0x328usize),
1325            )
1326        }
1327    }
1328    #[inline(always)]
1329    pub const fn mmpuea19(
1330        &self,
1331    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1332        unsafe {
1333            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1334                self._svd2pac_as_ptr().add(0x338usize),
1335            )
1336        }
1337    }
1338    #[inline(always)]
1339    pub const fn mmpuea20(
1340        &self,
1341    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1342        unsafe {
1343            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1344                self._svd2pac_as_ptr().add(0x348usize),
1345            )
1346        }
1347    }
1348    #[inline(always)]
1349    pub const fn mmpuea21(
1350        &self,
1351    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1352        unsafe {
1353            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1354                self._svd2pac_as_ptr().add(0x358usize),
1355            )
1356        }
1357    }
1358    #[inline(always)]
1359    pub const fn mmpuea22(
1360        &self,
1361    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1362        unsafe {
1363            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1364                self._svd2pac_as_ptr().add(0x368usize),
1365            )
1366        }
1367    }
1368    #[inline(always)]
1369    pub const fn mmpuea23(
1370        &self,
1371    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1372        unsafe {
1373            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1374                self._svd2pac_as_ptr().add(0x378usize),
1375            )
1376        }
1377    }
1378    #[inline(always)]
1379    pub const fn mmpuea24(
1380        &self,
1381    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1382        unsafe {
1383            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1384                self._svd2pac_as_ptr().add(0x388usize),
1385            )
1386        }
1387    }
1388    #[inline(always)]
1389    pub const fn mmpuea25(
1390        &self,
1391    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1392        unsafe {
1393            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1394                self._svd2pac_as_ptr().add(0x398usize),
1395            )
1396        }
1397    }
1398    #[inline(always)]
1399    pub const fn mmpuea26(
1400        &self,
1401    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1402        unsafe {
1403            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1404                self._svd2pac_as_ptr().add(0x3a8usize),
1405            )
1406        }
1407    }
1408    #[inline(always)]
1409    pub const fn mmpuea27(
1410        &self,
1411    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1412        unsafe {
1413            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1414                self._svd2pac_as_ptr().add(0x3b8usize),
1415            )
1416        }
1417    }
1418    #[inline(always)]
1419    pub const fn mmpuea28(
1420        &self,
1421    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1422        unsafe {
1423            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1424                self._svd2pac_as_ptr().add(0x3c8usize),
1425            )
1426        }
1427    }
1428    #[inline(always)]
1429    pub const fn mmpuea29(
1430        &self,
1431    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1432        unsafe {
1433            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1434                self._svd2pac_as_ptr().add(0x3d8usize),
1435            )
1436        }
1437    }
1438    #[inline(always)]
1439    pub const fn mmpuea30(
1440        &self,
1441    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1442        unsafe {
1443            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1444                self._svd2pac_as_ptr().add(0x3e8usize),
1445            )
1446        }
1447    }
1448    #[inline(always)]
1449    pub const fn mmpuea31(
1450        &self,
1451    ) -> &'static crate::common::Reg<self::Mmpuea_SPEC, crate::common::RW> {
1452        unsafe {
1453            crate::common::Reg::<self::Mmpuea_SPEC, crate::common::RW>::from_ptr(
1454                self._svd2pac_as_ptr().add(0x3f8usize),
1455            )
1456        }
1457    }
1458
1459    #[doc = "Group B Region %s End Address Register"]
1460    #[inline(always)]
1461    pub const fn mmpueb(
1462        &self,
1463    ) -> &'static crate::common::ClusterRegisterArray<
1464        crate::common::Reg<self::Mmpueb_SPEC, crate::common::RW>,
1465        8,
1466        0x10,
1467    > {
1468        unsafe {
1469            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x608usize))
1470        }
1471    }
1472    #[inline(always)]
1473    pub const fn mmpueb0(
1474        &self,
1475    ) -> &'static crate::common::Reg<self::Mmpueb_SPEC, crate::common::RW> {
1476        unsafe {
1477            crate::common::Reg::<self::Mmpueb_SPEC, crate::common::RW>::from_ptr(
1478                self._svd2pac_as_ptr().add(0x608usize),
1479            )
1480        }
1481    }
1482    #[inline(always)]
1483    pub const fn mmpueb1(
1484        &self,
1485    ) -> &'static crate::common::Reg<self::Mmpueb_SPEC, crate::common::RW> {
1486        unsafe {
1487            crate::common::Reg::<self::Mmpueb_SPEC, crate::common::RW>::from_ptr(
1488                self._svd2pac_as_ptr().add(0x618usize),
1489            )
1490        }
1491    }
1492    #[inline(always)]
1493    pub const fn mmpueb2(
1494        &self,
1495    ) -> &'static crate::common::Reg<self::Mmpueb_SPEC, crate::common::RW> {
1496        unsafe {
1497            crate::common::Reg::<self::Mmpueb_SPEC, crate::common::RW>::from_ptr(
1498                self._svd2pac_as_ptr().add(0x628usize),
1499            )
1500        }
1501    }
1502    #[inline(always)]
1503    pub const fn mmpueb3(
1504        &self,
1505    ) -> &'static crate::common::Reg<self::Mmpueb_SPEC, crate::common::RW> {
1506        unsafe {
1507            crate::common::Reg::<self::Mmpueb_SPEC, crate::common::RW>::from_ptr(
1508                self._svd2pac_as_ptr().add(0x638usize),
1509            )
1510        }
1511    }
1512    #[inline(always)]
1513    pub const fn mmpueb4(
1514        &self,
1515    ) -> &'static crate::common::Reg<self::Mmpueb_SPEC, crate::common::RW> {
1516        unsafe {
1517            crate::common::Reg::<self::Mmpueb_SPEC, crate::common::RW>::from_ptr(
1518                self._svd2pac_as_ptr().add(0x648usize),
1519            )
1520        }
1521    }
1522    #[inline(always)]
1523    pub const fn mmpueb5(
1524        &self,
1525    ) -> &'static crate::common::Reg<self::Mmpueb_SPEC, crate::common::RW> {
1526        unsafe {
1527            crate::common::Reg::<self::Mmpueb_SPEC, crate::common::RW>::from_ptr(
1528                self._svd2pac_as_ptr().add(0x658usize),
1529            )
1530        }
1531    }
1532    #[inline(always)]
1533    pub const fn mmpueb6(
1534        &self,
1535    ) -> &'static crate::common::Reg<self::Mmpueb_SPEC, crate::common::RW> {
1536        unsafe {
1537            crate::common::Reg::<self::Mmpueb_SPEC, crate::common::RW>::from_ptr(
1538                self._svd2pac_as_ptr().add(0x668usize),
1539            )
1540        }
1541    }
1542    #[inline(always)]
1543    pub const fn mmpueb7(
1544        &self,
1545    ) -> &'static crate::common::Reg<self::Mmpueb_SPEC, crate::common::RW> {
1546        unsafe {
1547            crate::common::Reg::<self::Mmpueb_SPEC, crate::common::RW>::from_ptr(
1548                self._svd2pac_as_ptr().add(0x678usize),
1549            )
1550        }
1551    }
1552
1553    #[doc = "Group C Region %s End Address Register"]
1554    #[inline(always)]
1555    pub const fn mmpuec(
1556        &self,
1557    ) -> &'static crate::common::ClusterRegisterArray<
1558        crate::common::Reg<self::Mmpuec_SPEC, crate::common::RW>,
1559        8,
1560        0x10,
1561    > {
1562        unsafe {
1563            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xa08usize))
1564        }
1565    }
1566    #[inline(always)]
1567    pub const fn mmpuec0(
1568        &self,
1569    ) -> &'static crate::common::Reg<self::Mmpuec_SPEC, crate::common::RW> {
1570        unsafe {
1571            crate::common::Reg::<self::Mmpuec_SPEC, crate::common::RW>::from_ptr(
1572                self._svd2pac_as_ptr().add(0xa08usize),
1573            )
1574        }
1575    }
1576    #[inline(always)]
1577    pub const fn mmpuec1(
1578        &self,
1579    ) -> &'static crate::common::Reg<self::Mmpuec_SPEC, crate::common::RW> {
1580        unsafe {
1581            crate::common::Reg::<self::Mmpuec_SPEC, crate::common::RW>::from_ptr(
1582                self._svd2pac_as_ptr().add(0xa18usize),
1583            )
1584        }
1585    }
1586    #[inline(always)]
1587    pub const fn mmpuec2(
1588        &self,
1589    ) -> &'static crate::common::Reg<self::Mmpuec_SPEC, crate::common::RW> {
1590        unsafe {
1591            crate::common::Reg::<self::Mmpuec_SPEC, crate::common::RW>::from_ptr(
1592                self._svd2pac_as_ptr().add(0xa28usize),
1593            )
1594        }
1595    }
1596    #[inline(always)]
1597    pub const fn mmpuec3(
1598        &self,
1599    ) -> &'static crate::common::Reg<self::Mmpuec_SPEC, crate::common::RW> {
1600        unsafe {
1601            crate::common::Reg::<self::Mmpuec_SPEC, crate::common::RW>::from_ptr(
1602                self._svd2pac_as_ptr().add(0xa38usize),
1603            )
1604        }
1605    }
1606    #[inline(always)]
1607    pub const fn mmpuec4(
1608        &self,
1609    ) -> &'static crate::common::Reg<self::Mmpuec_SPEC, crate::common::RW> {
1610        unsafe {
1611            crate::common::Reg::<self::Mmpuec_SPEC, crate::common::RW>::from_ptr(
1612                self._svd2pac_as_ptr().add(0xa48usize),
1613            )
1614        }
1615    }
1616    #[inline(always)]
1617    pub const fn mmpuec5(
1618        &self,
1619    ) -> &'static crate::common::Reg<self::Mmpuec_SPEC, crate::common::RW> {
1620        unsafe {
1621            crate::common::Reg::<self::Mmpuec_SPEC, crate::common::RW>::from_ptr(
1622                self._svd2pac_as_ptr().add(0xa58usize),
1623            )
1624        }
1625    }
1626    #[inline(always)]
1627    pub const fn mmpuec6(
1628        &self,
1629    ) -> &'static crate::common::Reg<self::Mmpuec_SPEC, crate::common::RW> {
1630        unsafe {
1631            crate::common::Reg::<self::Mmpuec_SPEC, crate::common::RW>::from_ptr(
1632                self._svd2pac_as_ptr().add(0xa68usize),
1633            )
1634        }
1635    }
1636    #[inline(always)]
1637    pub const fn mmpuec7(
1638        &self,
1639    ) -> &'static crate::common::Reg<self::Mmpuec_SPEC, crate::common::RW> {
1640        unsafe {
1641            crate::common::Reg::<self::Mmpuec_SPEC, crate::common::RW>::from_ptr(
1642                self._svd2pac_as_ptr().add(0xa78usize),
1643            )
1644        }
1645    }
1646
1647    #[doc = "Group A Protection of Register"]
1648    #[inline(always)]
1649    pub const fn mmpupta(
1650        &self,
1651    ) -> &'static crate::common::Reg<self::Mmpupta_SPEC, crate::common::RW> {
1652        unsafe {
1653            crate::common::Reg::<self::Mmpupta_SPEC, crate::common::RW>::from_ptr(
1654                self._svd2pac_as_ptr().add(258usize),
1655            )
1656        }
1657    }
1658
1659    #[doc = "Group B Protection of Register"]
1660    #[inline(always)]
1661    pub const fn mmpuptb(
1662        &self,
1663    ) -> &'static crate::common::Reg<self::Mmpuptb_SPEC, crate::common::RW> {
1664        unsafe {
1665            crate::common::Reg::<self::Mmpuptb_SPEC, crate::common::RW>::from_ptr(
1666                self._svd2pac_as_ptr().add(1282usize),
1667            )
1668        }
1669    }
1670
1671    #[doc = "Group C protection of register"]
1672    #[inline(always)]
1673    pub const fn mmpuptc(
1674        &self,
1675    ) -> &'static crate::common::Reg<self::Mmpuptc_SPEC, crate::common::RW> {
1676        unsafe {
1677            crate::common::Reg::<self::Mmpuptc_SPEC, crate::common::RW>::from_ptr(
1678                self._svd2pac_as_ptr().add(2306usize),
1679            )
1680        }
1681    }
1682}
1683#[doc(hidden)]
1684#[derive(Copy, Clone, Eq, PartialEq)]
1685pub struct Mmpuctl_SPEC;
1686impl crate::sealed::RegSpec for Mmpuctl_SPEC {
1687    type DataType = u16;
1688}
1689
1690#[doc = "Bus Master MPU Control Register"]
1691pub type Mmpuctl = crate::RegValueT<Mmpuctl_SPEC>;
1692
1693impl Mmpuctl {
1694    #[doc = "Write Keyword The data written to these bits are not stored."]
1695    #[inline(always)]
1696    pub fn key(
1697        self,
1698    ) -> crate::common::RegisterField<
1699        8,
1700        0xff,
1701        1,
1702        0,
1703        mmpuctl::Key,
1704        mmpuctl::Key,
1705        Mmpuctl_SPEC,
1706        crate::common::W,
1707    > {
1708        crate::common::RegisterField::<
1709            8,
1710            0xff,
1711            1,
1712            0,
1713            mmpuctl::Key,
1714            mmpuctl::Key,
1715            Mmpuctl_SPEC,
1716            crate::common::W,
1717        >::from_register(self, 0)
1718    }
1719
1720    #[doc = "Operation after detection"]
1721    #[inline(always)]
1722    pub fn oad(
1723        self,
1724    ) -> crate::common::RegisterField<
1725        1,
1726        0x1,
1727        1,
1728        0,
1729        mmpuctl::Oad,
1730        mmpuctl::Oad,
1731        Mmpuctl_SPEC,
1732        crate::common::RW,
1733    > {
1734        crate::common::RegisterField::<
1735            1,
1736            0x1,
1737            1,
1738            0,
1739            mmpuctl::Oad,
1740            mmpuctl::Oad,
1741            Mmpuctl_SPEC,
1742            crate::common::RW,
1743        >::from_register(self, 0)
1744    }
1745
1746    #[doc = "Master Group enable"]
1747    #[inline(always)]
1748    pub fn enable(
1749        self,
1750    ) -> crate::common::RegisterField<
1751        0,
1752        0x1,
1753        1,
1754        0,
1755        mmpuctl::Enable,
1756        mmpuctl::Enable,
1757        Mmpuctl_SPEC,
1758        crate::common::RW,
1759    > {
1760        crate::common::RegisterField::<
1761            0,
1762            0x1,
1763            1,
1764            0,
1765            mmpuctl::Enable,
1766            mmpuctl::Enable,
1767            Mmpuctl_SPEC,
1768            crate::common::RW,
1769        >::from_register(self, 0)
1770    }
1771}
1772impl ::core::default::Default for Mmpuctl {
1773    #[inline(always)]
1774    fn default() -> Mmpuctl {
1775        <crate::RegValueT<Mmpuctl_SPEC> as RegisterValue<_>>::new(0)
1776    }
1777}
1778pub mod mmpuctl {
1779
1780    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1781    pub struct Key_SPEC;
1782    pub type Key = crate::EnumBitfieldStruct<u8, Key_SPEC>;
1783    impl Key {
1784        #[doc = "Writing to the OAD and ENABLE bit is valid, when the KEY bits are written 0xA5."]
1785        pub const _0_X_A_5: Self = Self::new(165);
1786    }
1787    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1788    pub struct Oad_SPEC;
1789    pub type Oad = crate::EnumBitfieldStruct<u8, Oad_SPEC>;
1790    impl Oad {
1791        #[doc = "Non-maskable interrupt."]
1792        pub const _0: Self = Self::new(0);
1793
1794        #[doc = "Internal reset."]
1795        pub const _1: Self = Self::new(1);
1796    }
1797    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1798    pub struct Enable_SPEC;
1799    pub type Enable = crate::EnumBitfieldStruct<u8, Enable_SPEC>;
1800    impl Enable {
1801        #[doc = "Master Group is disabled. Permission of all regions."]
1802        pub const _0: Self = Self::new(0);
1803
1804        #[doc = "Master Group is enabled. Protection of all regions."]
1805        pub const _1: Self = Self::new(1);
1806    }
1807}
1808#[doc(hidden)]
1809#[derive(Copy, Clone, Eq, PartialEq)]
1810pub struct Mmpuaca_SPEC;
1811impl crate::sealed::RegSpec for Mmpuaca_SPEC {
1812    type DataType = u16;
1813}
1814
1815#[doc = "Group A Region %s Access Control Register"]
1816pub type Mmpuaca = crate::RegValueT<Mmpuaca_SPEC>;
1817
1818impl Mmpuaca {
1819    #[doc = "Write protection"]
1820    #[inline(always)]
1821    pub fn wp(
1822        self,
1823    ) -> crate::common::RegisterField<
1824        2,
1825        0x1,
1826        1,
1827        0,
1828        mmpuaca::Wp,
1829        mmpuaca::Wp,
1830        Mmpuaca_SPEC,
1831        crate::common::RW,
1832    > {
1833        crate::common::RegisterField::<
1834            2,
1835            0x1,
1836            1,
1837            0,
1838            mmpuaca::Wp,
1839            mmpuaca::Wp,
1840            Mmpuaca_SPEC,
1841            crate::common::RW,
1842        >::from_register(self, 0)
1843    }
1844
1845    #[doc = "Read protection"]
1846    #[inline(always)]
1847    pub fn rp(
1848        self,
1849    ) -> crate::common::RegisterField<
1850        1,
1851        0x1,
1852        1,
1853        0,
1854        mmpuaca::Rp,
1855        mmpuaca::Rp,
1856        Mmpuaca_SPEC,
1857        crate::common::RW,
1858    > {
1859        crate::common::RegisterField::<
1860            1,
1861            0x1,
1862            1,
1863            0,
1864            mmpuaca::Rp,
1865            mmpuaca::Rp,
1866            Mmpuaca_SPEC,
1867            crate::common::RW,
1868        >::from_register(self, 0)
1869    }
1870
1871    #[doc = "Region enable"]
1872    #[inline(always)]
1873    pub fn enable(
1874        self,
1875    ) -> crate::common::RegisterField<
1876        0,
1877        0x1,
1878        1,
1879        0,
1880        mmpuaca::Enable,
1881        mmpuaca::Enable,
1882        Mmpuaca_SPEC,
1883        crate::common::RW,
1884    > {
1885        crate::common::RegisterField::<
1886            0,
1887            0x1,
1888            1,
1889            0,
1890            mmpuaca::Enable,
1891            mmpuaca::Enable,
1892            Mmpuaca_SPEC,
1893            crate::common::RW,
1894        >::from_register(self, 0)
1895    }
1896}
1897impl ::core::default::Default for Mmpuaca {
1898    #[inline(always)]
1899    fn default() -> Mmpuaca {
1900        <crate::RegValueT<Mmpuaca_SPEC> as RegisterValue<_>>::new(0)
1901    }
1902}
1903pub mod mmpuaca {
1904
1905    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1906    pub struct Wp_SPEC;
1907    pub type Wp = crate::EnumBitfieldStruct<u8, Wp_SPEC>;
1908    impl Wp {
1909        #[doc = "Write permission"]
1910        pub const _0: Self = Self::new(0);
1911
1912        #[doc = "Write protection"]
1913        pub const _1: Self = Self::new(1);
1914    }
1915    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1916    pub struct Rp_SPEC;
1917    pub type Rp = crate::EnumBitfieldStruct<u8, Rp_SPEC>;
1918    impl Rp {
1919        #[doc = "Read permission"]
1920        pub const _0: Self = Self::new(0);
1921
1922        #[doc = "Read protection"]
1923        pub const _1: Self = Self::new(1);
1924    }
1925    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1926    pub struct Enable_SPEC;
1927    pub type Enable = crate::EnumBitfieldStruct<u8, Enable_SPEC>;
1928    impl Enable {
1929        #[doc = "Group m Region n unit is disabled"]
1930        pub const _0: Self = Self::new(0);
1931
1932        #[doc = "Group m Region n unit is enabled"]
1933        pub const _1: Self = Self::new(1);
1934    }
1935}
1936#[doc(hidden)]
1937#[derive(Copy, Clone, Eq, PartialEq)]
1938pub struct Mmpuacb_SPEC;
1939impl crate::sealed::RegSpec for Mmpuacb_SPEC {
1940    type DataType = u16;
1941}
1942
1943#[doc = "Group B Region %s Access Control Register"]
1944pub type Mmpuacb = crate::RegValueT<Mmpuacb_SPEC>;
1945
1946impl Mmpuacb {
1947    #[doc = "Write protection"]
1948    #[inline(always)]
1949    pub fn wp(
1950        self,
1951    ) -> crate::common::RegisterField<
1952        2,
1953        0x1,
1954        1,
1955        0,
1956        mmpuacb::Wp,
1957        mmpuacb::Wp,
1958        Mmpuacb_SPEC,
1959        crate::common::RW,
1960    > {
1961        crate::common::RegisterField::<
1962            2,
1963            0x1,
1964            1,
1965            0,
1966            mmpuacb::Wp,
1967            mmpuacb::Wp,
1968            Mmpuacb_SPEC,
1969            crate::common::RW,
1970        >::from_register(self, 0)
1971    }
1972
1973    #[doc = "Read protection"]
1974    #[inline(always)]
1975    pub fn rp(
1976        self,
1977    ) -> crate::common::RegisterField<
1978        1,
1979        0x1,
1980        1,
1981        0,
1982        mmpuacb::Rp,
1983        mmpuacb::Rp,
1984        Mmpuacb_SPEC,
1985        crate::common::RW,
1986    > {
1987        crate::common::RegisterField::<
1988            1,
1989            0x1,
1990            1,
1991            0,
1992            mmpuacb::Rp,
1993            mmpuacb::Rp,
1994            Mmpuacb_SPEC,
1995            crate::common::RW,
1996        >::from_register(self, 0)
1997    }
1998
1999    #[doc = "Region enable"]
2000    #[inline(always)]
2001    pub fn enable(
2002        self,
2003    ) -> crate::common::RegisterField<
2004        0,
2005        0x1,
2006        1,
2007        0,
2008        mmpuacb::Enable,
2009        mmpuacb::Enable,
2010        Mmpuacb_SPEC,
2011        crate::common::RW,
2012    > {
2013        crate::common::RegisterField::<
2014            0,
2015            0x1,
2016            1,
2017            0,
2018            mmpuacb::Enable,
2019            mmpuacb::Enable,
2020            Mmpuacb_SPEC,
2021            crate::common::RW,
2022        >::from_register(self, 0)
2023    }
2024}
2025impl ::core::default::Default for Mmpuacb {
2026    #[inline(always)]
2027    fn default() -> Mmpuacb {
2028        <crate::RegValueT<Mmpuacb_SPEC> as RegisterValue<_>>::new(0)
2029    }
2030}
2031pub mod mmpuacb {
2032
2033    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2034    pub struct Wp_SPEC;
2035    pub type Wp = crate::EnumBitfieldStruct<u8, Wp_SPEC>;
2036    impl Wp {
2037        #[doc = "Write permission"]
2038        pub const _0: Self = Self::new(0);
2039
2040        #[doc = "Write protection"]
2041        pub const _1: Self = Self::new(1);
2042    }
2043    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2044    pub struct Rp_SPEC;
2045    pub type Rp = crate::EnumBitfieldStruct<u8, Rp_SPEC>;
2046    impl Rp {
2047        #[doc = "Read permission"]
2048        pub const _0: Self = Self::new(0);
2049
2050        #[doc = "Read protection"]
2051        pub const _1: Self = Self::new(1);
2052    }
2053    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2054    pub struct Enable_SPEC;
2055    pub type Enable = crate::EnumBitfieldStruct<u8, Enable_SPEC>;
2056    impl Enable {
2057        #[doc = "Group m Region n unit is disabled"]
2058        pub const _0: Self = Self::new(0);
2059
2060        #[doc = "Group m Region n unit is enabled"]
2061        pub const _1: Self = Self::new(1);
2062    }
2063}
2064#[doc(hidden)]
2065#[derive(Copy, Clone, Eq, PartialEq)]
2066pub struct Mmpuacc_SPEC;
2067impl crate::sealed::RegSpec for Mmpuacc_SPEC {
2068    type DataType = u16;
2069}
2070
2071#[doc = "Group C Region %s Access Control Register"]
2072pub type Mmpuacc = crate::RegValueT<Mmpuacc_SPEC>;
2073
2074impl Mmpuacc {
2075    #[doc = "Write protection"]
2076    #[inline(always)]
2077    pub fn wp(
2078        self,
2079    ) -> crate::common::RegisterField<
2080        2,
2081        0x1,
2082        1,
2083        0,
2084        mmpuacc::Wp,
2085        mmpuacc::Wp,
2086        Mmpuacc_SPEC,
2087        crate::common::RW,
2088    > {
2089        crate::common::RegisterField::<
2090            2,
2091            0x1,
2092            1,
2093            0,
2094            mmpuacc::Wp,
2095            mmpuacc::Wp,
2096            Mmpuacc_SPEC,
2097            crate::common::RW,
2098        >::from_register(self, 0)
2099    }
2100
2101    #[doc = "Read protection"]
2102    #[inline(always)]
2103    pub fn rp(
2104        self,
2105    ) -> crate::common::RegisterField<
2106        1,
2107        0x1,
2108        1,
2109        0,
2110        mmpuacc::Rp,
2111        mmpuacc::Rp,
2112        Mmpuacc_SPEC,
2113        crate::common::RW,
2114    > {
2115        crate::common::RegisterField::<
2116            1,
2117            0x1,
2118            1,
2119            0,
2120            mmpuacc::Rp,
2121            mmpuacc::Rp,
2122            Mmpuacc_SPEC,
2123            crate::common::RW,
2124        >::from_register(self, 0)
2125    }
2126
2127    #[doc = "Region enable"]
2128    #[inline(always)]
2129    pub fn enable(
2130        self,
2131    ) -> crate::common::RegisterField<
2132        0,
2133        0x1,
2134        1,
2135        0,
2136        mmpuacc::Enable,
2137        mmpuacc::Enable,
2138        Mmpuacc_SPEC,
2139        crate::common::RW,
2140    > {
2141        crate::common::RegisterField::<
2142            0,
2143            0x1,
2144            1,
2145            0,
2146            mmpuacc::Enable,
2147            mmpuacc::Enable,
2148            Mmpuacc_SPEC,
2149            crate::common::RW,
2150        >::from_register(self, 0)
2151    }
2152}
2153impl ::core::default::Default for Mmpuacc {
2154    #[inline(always)]
2155    fn default() -> Mmpuacc {
2156        <crate::RegValueT<Mmpuacc_SPEC> as RegisterValue<_>>::new(0)
2157    }
2158}
2159pub mod mmpuacc {
2160
2161    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2162    pub struct Wp_SPEC;
2163    pub type Wp = crate::EnumBitfieldStruct<u8, Wp_SPEC>;
2164    impl Wp {
2165        #[doc = "Write permission"]
2166        pub const _0: Self = Self::new(0);
2167
2168        #[doc = "Write protection"]
2169        pub const _1: Self = Self::new(1);
2170    }
2171    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2172    pub struct Rp_SPEC;
2173    pub type Rp = crate::EnumBitfieldStruct<u8, Rp_SPEC>;
2174    impl Rp {
2175        #[doc = "Read permission"]
2176        pub const _0: Self = Self::new(0);
2177
2178        #[doc = "Read protection"]
2179        pub const _1: Self = Self::new(1);
2180    }
2181    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2182    pub struct Enable_SPEC;
2183    pub type Enable = crate::EnumBitfieldStruct<u8, Enable_SPEC>;
2184    impl Enable {
2185        #[doc = "Group m Region n unit is disabled"]
2186        pub const _0: Self = Self::new(0);
2187
2188        #[doc = "Group m Region n unit is enabled"]
2189        pub const _1: Self = Self::new(1);
2190    }
2191}
2192#[doc(hidden)]
2193#[derive(Copy, Clone, Eq, PartialEq)]
2194pub struct Mmpusa_SPEC;
2195impl crate::sealed::RegSpec for Mmpusa_SPEC {
2196    type DataType = u32;
2197}
2198
2199#[doc = "Group A Region %s Start Address Register"]
2200pub type Mmpusa = crate::RegValueT<Mmpusa_SPEC>;
2201
2202impl Mmpusa {
2203    #[doc = "Address where the region starts, for use in region determination.NOTE: The low-order 2 bits are fixed to 0."]
2204    #[inline(always)]
2205    pub fn mmpusa(
2206        self,
2207    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Mmpusa_SPEC, crate::common::RW>
2208    {
2209        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Mmpusa_SPEC,crate::common::RW>::from_register(self,0)
2210    }
2211}
2212impl ::core::default::Default for Mmpusa {
2213    #[inline(always)]
2214    fn default() -> Mmpusa {
2215        <crate::RegValueT<Mmpusa_SPEC> as RegisterValue<_>>::new(0)
2216    }
2217}
2218
2219#[doc(hidden)]
2220#[derive(Copy, Clone, Eq, PartialEq)]
2221pub struct Mmpusb_SPEC;
2222impl crate::sealed::RegSpec for Mmpusb_SPEC {
2223    type DataType = u32;
2224}
2225
2226#[doc = "Group B Region %s Start Address Register"]
2227pub type Mmpusb = crate::RegValueT<Mmpusb_SPEC>;
2228
2229impl Mmpusb {
2230    #[doc = "Address where the region starts, for use in region determination.NOTE: The low-order 2 bits are fixed to 0."]
2231    #[inline(always)]
2232    pub fn mmpusb(
2233        self,
2234    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Mmpusb_SPEC, crate::common::RW>
2235    {
2236        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Mmpusb_SPEC,crate::common::RW>::from_register(self,0)
2237    }
2238}
2239impl ::core::default::Default for Mmpusb {
2240    #[inline(always)]
2241    fn default() -> Mmpusb {
2242        <crate::RegValueT<Mmpusb_SPEC> as RegisterValue<_>>::new(0)
2243    }
2244}
2245
2246#[doc(hidden)]
2247#[derive(Copy, Clone, Eq, PartialEq)]
2248pub struct Mmpusc_SPEC;
2249impl crate::sealed::RegSpec for Mmpusc_SPEC {
2250    type DataType = u32;
2251}
2252
2253#[doc = "Group C Region %s Start Address Register"]
2254pub type Mmpusc = crate::RegValueT<Mmpusc_SPEC>;
2255
2256impl Mmpusc {
2257    #[doc = "Address where the region starts, for use in region determination.NOTE: The low-order 2 bits are fixed to 0."]
2258    #[inline(always)]
2259    pub fn mmpusc(
2260        self,
2261    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Mmpusc_SPEC, crate::common::RW>
2262    {
2263        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Mmpusc_SPEC,crate::common::RW>::from_register(self,0)
2264    }
2265}
2266impl ::core::default::Default for Mmpusc {
2267    #[inline(always)]
2268    fn default() -> Mmpusc {
2269        <crate::RegValueT<Mmpusc_SPEC> as RegisterValue<_>>::new(0)
2270    }
2271}
2272
2273#[doc(hidden)]
2274#[derive(Copy, Clone, Eq, PartialEq)]
2275pub struct Mmpuea_SPEC;
2276impl crate::sealed::RegSpec for Mmpuea_SPEC {
2277    type DataType = u32;
2278}
2279
2280#[doc = "Group A Region %s End Address Register"]
2281pub type Mmpuea = crate::RegValueT<Mmpuea_SPEC>;
2282
2283impl Mmpuea {
2284    #[doc = "Region end address registerAddress where the region end, for use in region determination.NOTE: The low-order 2 bits are fixed to 1."]
2285    #[inline(always)]
2286    pub fn mmpuea(
2287        self,
2288    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Mmpuea_SPEC, crate::common::RW>
2289    {
2290        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Mmpuea_SPEC,crate::common::RW>::from_register(self,0)
2291    }
2292}
2293impl ::core::default::Default for Mmpuea {
2294    #[inline(always)]
2295    fn default() -> Mmpuea {
2296        <crate::RegValueT<Mmpuea_SPEC> as RegisterValue<_>>::new(3)
2297    }
2298}
2299
2300#[doc(hidden)]
2301#[derive(Copy, Clone, Eq, PartialEq)]
2302pub struct Mmpueb_SPEC;
2303impl crate::sealed::RegSpec for Mmpueb_SPEC {
2304    type DataType = u32;
2305}
2306
2307#[doc = "Group B Region %s End Address Register"]
2308pub type Mmpueb = crate::RegValueT<Mmpueb_SPEC>;
2309
2310impl Mmpueb {
2311    #[doc = "Region end address registerAddress where the region end, for use in region determination.NOTE: The low-order 2 bits are fixed to 1."]
2312    #[inline(always)]
2313    pub fn mmpueb(
2314        self,
2315    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Mmpueb_SPEC, crate::common::RW>
2316    {
2317        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Mmpueb_SPEC,crate::common::RW>::from_register(self,0)
2318    }
2319}
2320impl ::core::default::Default for Mmpueb {
2321    #[inline(always)]
2322    fn default() -> Mmpueb {
2323        <crate::RegValueT<Mmpueb_SPEC> as RegisterValue<_>>::new(3)
2324    }
2325}
2326
2327#[doc(hidden)]
2328#[derive(Copy, Clone, Eq, PartialEq)]
2329pub struct Mmpuec_SPEC;
2330impl crate::sealed::RegSpec for Mmpuec_SPEC {
2331    type DataType = u32;
2332}
2333
2334#[doc = "Group C Region %s End Address Register"]
2335pub type Mmpuec = crate::RegValueT<Mmpuec_SPEC>;
2336
2337impl Mmpuec {
2338    #[doc = "Region end address registerAddress where the region end, for use in region determination.NOTE: The low-order 2 bits are fixed to 1."]
2339    #[inline(always)]
2340    pub fn mmpuec(
2341        self,
2342    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Mmpuec_SPEC, crate::common::RW>
2343    {
2344        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Mmpuec_SPEC,crate::common::RW>::from_register(self,0)
2345    }
2346}
2347impl ::core::default::Default for Mmpuec {
2348    #[inline(always)]
2349    fn default() -> Mmpuec {
2350        <crate::RegValueT<Mmpuec_SPEC> as RegisterValue<_>>::new(3)
2351    }
2352}
2353
2354#[doc(hidden)]
2355#[derive(Copy, Clone, Eq, PartialEq)]
2356pub struct Mmpupta_SPEC;
2357impl crate::sealed::RegSpec for Mmpupta_SPEC {
2358    type DataType = u16;
2359}
2360
2361#[doc = "Group A Protection of Register"]
2362pub type Mmpupta = crate::RegValueT<Mmpupta_SPEC>;
2363
2364impl Mmpupta {
2365    #[doc = "Write Keyword The data written to these bits are not stored."]
2366    #[inline(always)]
2367    pub fn key(
2368        self,
2369    ) -> crate::common::RegisterField<
2370        8,
2371        0xff,
2372        1,
2373        0,
2374        mmpupta::Key,
2375        mmpupta::Key,
2376        Mmpupta_SPEC,
2377        crate::common::W,
2378    > {
2379        crate::common::RegisterField::<
2380            8,
2381            0xff,
2382            1,
2383            0,
2384            mmpupta::Key,
2385            mmpupta::Key,
2386            Mmpupta_SPEC,
2387            crate::common::W,
2388        >::from_register(self, 0)
2389    }
2390
2391    #[doc = "Protection of register(MMPUSAn, MMPUEAn and MMPUACAn)"]
2392    #[inline(always)]
2393    pub fn protect(
2394        self,
2395    ) -> crate::common::RegisterField<
2396        0,
2397        0x1,
2398        1,
2399        0,
2400        mmpupta::Protect,
2401        mmpupta::Protect,
2402        Mmpupta_SPEC,
2403        crate::common::RW,
2404    > {
2405        crate::common::RegisterField::<
2406            0,
2407            0x1,
2408            1,
2409            0,
2410            mmpupta::Protect,
2411            mmpupta::Protect,
2412            Mmpupta_SPEC,
2413            crate::common::RW,
2414        >::from_register(self, 0)
2415    }
2416}
2417impl ::core::default::Default for Mmpupta {
2418    #[inline(always)]
2419    fn default() -> Mmpupta {
2420        <crate::RegValueT<Mmpupta_SPEC> as RegisterValue<_>>::new(0)
2421    }
2422}
2423pub mod mmpupta {
2424
2425    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2426    pub struct Key_SPEC;
2427    pub type Key = crate::EnumBitfieldStruct<u8, Key_SPEC>;
2428    impl Key {
2429        #[doc = "Writing to the PROTECT bit is valid, when the KEY bits are written 0xA5."]
2430        pub const _0_X_A_5: Self = Self::new(165);
2431    }
2432    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2433    pub struct Protect_SPEC;
2434    pub type Protect = crate::EnumBitfieldStruct<u8, Protect_SPEC>;
2435    impl Protect {
2436        #[doc = "All Bus Master MPU Group A register writing is possible."]
2437        pub const _0: Self = Self::new(0);
2438
2439        #[doc = "All Bus Master MPU Group A register writing is protected. Read is possible."]
2440        pub const _1: Self = Self::new(1);
2441    }
2442}
2443#[doc(hidden)]
2444#[derive(Copy, Clone, Eq, PartialEq)]
2445pub struct Mmpuptb_SPEC;
2446impl crate::sealed::RegSpec for Mmpuptb_SPEC {
2447    type DataType = u16;
2448}
2449
2450#[doc = "Group B Protection of Register"]
2451pub type Mmpuptb = crate::RegValueT<Mmpuptb_SPEC>;
2452
2453impl Mmpuptb {
2454    #[doc = "Write Keyword The data written to these bits are not stored."]
2455    #[inline(always)]
2456    pub fn key(
2457        self,
2458    ) -> crate::common::RegisterField<
2459        8,
2460        0xff,
2461        1,
2462        0,
2463        mmpuptb::Key,
2464        mmpuptb::Key,
2465        Mmpuptb_SPEC,
2466        crate::common::W,
2467    > {
2468        crate::common::RegisterField::<
2469            8,
2470            0xff,
2471            1,
2472            0,
2473            mmpuptb::Key,
2474            mmpuptb::Key,
2475            Mmpuptb_SPEC,
2476            crate::common::W,
2477        >::from_register(self, 0)
2478    }
2479
2480    #[doc = "Protection of register(MMPUSBn, MMPUEBn and MMPUACBn)"]
2481    #[inline(always)]
2482    pub fn protect(
2483        self,
2484    ) -> crate::common::RegisterField<
2485        0,
2486        0x1,
2487        1,
2488        0,
2489        mmpuptb::Protect,
2490        mmpuptb::Protect,
2491        Mmpuptb_SPEC,
2492        crate::common::RW,
2493    > {
2494        crate::common::RegisterField::<
2495            0,
2496            0x1,
2497            1,
2498            0,
2499            mmpuptb::Protect,
2500            mmpuptb::Protect,
2501            Mmpuptb_SPEC,
2502            crate::common::RW,
2503        >::from_register(self, 0)
2504    }
2505}
2506impl ::core::default::Default for Mmpuptb {
2507    #[inline(always)]
2508    fn default() -> Mmpuptb {
2509        <crate::RegValueT<Mmpuptb_SPEC> as RegisterValue<_>>::new(0)
2510    }
2511}
2512pub mod mmpuptb {
2513
2514    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2515    pub struct Key_SPEC;
2516    pub type Key = crate::EnumBitfieldStruct<u8, Key_SPEC>;
2517    impl Key {
2518        #[doc = "Writing to the PROTECT bit is valid, when the KEY bits are written 0xA5."]
2519        pub const _0_X_A_5: Self = Self::new(165);
2520    }
2521    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2522    pub struct Protect_SPEC;
2523    pub type Protect = crate::EnumBitfieldStruct<u8, Protect_SPEC>;
2524    impl Protect {
2525        #[doc = "All Bus Master MPU Group B register writing is possible."]
2526        pub const _0: Self = Self::new(0);
2527
2528        #[doc = "All Bus Master MPU Group B register writing is protected. Read is possible."]
2529        pub const _1: Self = Self::new(1);
2530    }
2531}
2532#[doc(hidden)]
2533#[derive(Copy, Clone, Eq, PartialEq)]
2534pub struct Mmpuptc_SPEC;
2535impl crate::sealed::RegSpec for Mmpuptc_SPEC {
2536    type DataType = u16;
2537}
2538
2539#[doc = "Group C protection of register"]
2540pub type Mmpuptc = crate::RegValueT<Mmpuptc_SPEC>;
2541
2542impl Mmpuptc {
2543    #[doc = "Write Keyword The data written to these bits are not stored."]
2544    #[inline(always)]
2545    pub fn key(
2546        self,
2547    ) -> crate::common::RegisterField<
2548        8,
2549        0xff,
2550        1,
2551        0,
2552        mmpuptc::Key,
2553        mmpuptc::Key,
2554        Mmpuptc_SPEC,
2555        crate::common::W,
2556    > {
2557        crate::common::RegisterField::<
2558            8,
2559            0xff,
2560            1,
2561            0,
2562            mmpuptc::Key,
2563            mmpuptc::Key,
2564            Mmpuptc_SPEC,
2565            crate::common::W,
2566        >::from_register(self, 0)
2567    }
2568
2569    #[doc = "Protection of register (MMPUSCn, MMPUECn and MMPUACCn)"]
2570    #[inline(always)]
2571    pub fn protect(
2572        self,
2573    ) -> crate::common::RegisterField<
2574        0,
2575        0x1,
2576        1,
2577        0,
2578        mmpuptc::Protect,
2579        mmpuptc::Protect,
2580        Mmpuptc_SPEC,
2581        crate::common::RW,
2582    > {
2583        crate::common::RegisterField::<
2584            0,
2585            0x1,
2586            1,
2587            0,
2588            mmpuptc::Protect,
2589            mmpuptc::Protect,
2590            Mmpuptc_SPEC,
2591            crate::common::RW,
2592        >::from_register(self, 0)
2593    }
2594}
2595impl ::core::default::Default for Mmpuptc {
2596    #[inline(always)]
2597    fn default() -> Mmpuptc {
2598        <crate::RegValueT<Mmpuptc_SPEC> as RegisterValue<_>>::new(0)
2599    }
2600}
2601pub mod mmpuptc {
2602
2603    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2604    pub struct Key_SPEC;
2605    pub type Key = crate::EnumBitfieldStruct<u8, Key_SPEC>;
2606    impl Key {
2607        #[doc = "Writing to the PROTECT bit is valid, when the KEY bits are written 0xA5."]
2608        pub const _0_X_A_5: Self = Self::new(165);
2609    }
2610    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2611    pub struct Protect_SPEC;
2612    pub type Protect = crate::EnumBitfieldStruct<u8, Protect_SPEC>;
2613    impl Protect {
2614        #[doc = "All Bus Master MPU Group C register writing is possible."]
2615        pub const _0: Self = Self::new(0);
2616
2617        #[doc = "All Bus Master MPU Group C register writing is protected. Read is possible."]
2618        pub const _1: Self = Self::new(1);
2619    }
2620}