ra8m1_pac/
sysc.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.0 on Thu, 24 Jul 2025 04:55:06 +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"System Control"]
28unsafe impl ::core::marker::Send for super::Sysc {}
29unsafe impl ::core::marker::Sync for super::Sysc {}
30impl super::Sysc {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36
37    #[doc = "Standby Control Register"]
38    #[inline(always)]
39    pub const fn sbycr(&self) -> &'static crate::common::Reg<self::Sbycr_SPEC, crate::common::RW> {
40        unsafe {
41            crate::common::Reg::<self::Sbycr_SPEC, crate::common::RW>::from_ptr(
42                self._svd2pac_as_ptr().add(12usize),
43            )
44        }
45    }
46
47    #[doc = "Software Standby Control Register 2"]
48    #[inline(always)]
49    pub const fn sscr2(&self) -> &'static crate::common::Reg<self::Sscr2_SPEC, crate::common::RW> {
50        unsafe {
51            crate::common::Reg::<self::Sscr2_SPEC, crate::common::RW>::from_ptr(
52                self._svd2pac_as_ptr().add(14usize),
53            )
54        }
55    }
56
57    #[doc = "Flash Standby Control Register"]
58    #[inline(always)]
59    pub const fn flscr(&self) -> &'static crate::common::Reg<self::Flscr_SPEC, crate::common::RW> {
60        unsafe {
61            crate::common::Reg::<self::Flscr_SPEC, crate::common::RW>::from_ptr(
62                self._svd2pac_as_ptr().add(16usize),
63            )
64        }
65    }
66
67    #[doc = "System Clock Division Control Register"]
68    #[inline(always)]
69    pub const fn sckdivcr(
70        &self,
71    ) -> &'static crate::common::Reg<self::Sckdivcr_SPEC, crate::common::RW> {
72        unsafe {
73            crate::common::Reg::<self::Sckdivcr_SPEC, crate::common::RW>::from_ptr(
74                self._svd2pac_as_ptr().add(32usize),
75            )
76        }
77    }
78
79    #[doc = "System Clock Division Control Register 2"]
80    #[inline(always)]
81    pub const fn sckdivcr2(
82        &self,
83    ) -> &'static crate::common::Reg<self::Sckdivcr2_SPEC, crate::common::RW> {
84        unsafe {
85            crate::common::Reg::<self::Sckdivcr2_SPEC, crate::common::RW>::from_ptr(
86                self._svd2pac_as_ptr().add(36usize),
87            )
88        }
89    }
90
91    #[doc = "System Clock Source Control Register"]
92    #[inline(always)]
93    pub const fn sckscr(
94        &self,
95    ) -> &'static crate::common::Reg<self::Sckscr_SPEC, crate::common::RW> {
96        unsafe {
97            crate::common::Reg::<self::Sckscr_SPEC, crate::common::RW>::from_ptr(
98                self._svd2pac_as_ptr().add(38usize),
99            )
100        }
101    }
102
103    #[doc = "PLL Clock Control Register"]
104    #[inline(always)]
105    pub const fn pllccr(
106        &self,
107    ) -> &'static crate::common::Reg<self::Pllccr_SPEC, crate::common::RW> {
108        unsafe {
109            crate::common::Reg::<self::Pllccr_SPEC, crate::common::RW>::from_ptr(
110                self._svd2pac_as_ptr().add(40usize),
111            )
112        }
113    }
114
115    #[doc = "PLL Control Register"]
116    #[inline(always)]
117    pub const fn pllcr(&self) -> &'static crate::common::Reg<self::Pllcr_SPEC, crate::common::RW> {
118        unsafe {
119            crate::common::Reg::<self::Pllcr_SPEC, crate::common::RW>::from_ptr(
120                self._svd2pac_as_ptr().add(42usize),
121            )
122        }
123    }
124
125    #[doc = "External Bus Clock Control Register"]
126    #[inline(always)]
127    pub const fn bckcr(&self) -> &'static crate::common::Reg<self::Bckcr_SPEC, crate::common::RW> {
128        unsafe {
129            crate::common::Reg::<self::Bckcr_SPEC, crate::common::RW>::from_ptr(
130                self._svd2pac_as_ptr().add(48usize),
131            )
132        }
133    }
134
135    #[doc = "Main Clock Oscillator Control Register"]
136    #[inline(always)]
137    pub const fn mosccr(
138        &self,
139    ) -> &'static crate::common::Reg<self::Mosccr_SPEC, crate::common::RW> {
140        unsafe {
141            crate::common::Reg::<self::Mosccr_SPEC, crate::common::RW>::from_ptr(
142                self._svd2pac_as_ptr().add(50usize),
143            )
144        }
145    }
146
147    #[doc = "High-Speed On-Chip Oscillator Control Register"]
148    #[inline(always)]
149    pub const fn hococr(
150        &self,
151    ) -> &'static crate::common::Reg<self::Hococr_SPEC, crate::common::RW> {
152        unsafe {
153            crate::common::Reg::<self::Hococr_SPEC, crate::common::RW>::from_ptr(
154                self._svd2pac_as_ptr().add(54usize),
155            )
156        }
157    }
158
159    #[doc = "Middle-Speed On-Chip Oscillator Control Register"]
160    #[inline(always)]
161    pub const fn mococr(
162        &self,
163    ) -> &'static crate::common::Reg<self::Mococr_SPEC, crate::common::RW> {
164        unsafe {
165            crate::common::Reg::<self::Mococr_SPEC, crate::common::RW>::from_ptr(
166                self._svd2pac_as_ptr().add(56usize),
167            )
168        }
169    }
170
171    #[doc = "FLL Control Register 1"]
172    #[inline(always)]
173    pub const fn fllcr1(
174        &self,
175    ) -> &'static crate::common::Reg<self::Fllcr1_SPEC, crate::common::RW> {
176        unsafe {
177            crate::common::Reg::<self::Fllcr1_SPEC, crate::common::RW>::from_ptr(
178                self._svd2pac_as_ptr().add(57usize),
179            )
180        }
181    }
182
183    #[doc = "FLL Control Register 2"]
184    #[inline(always)]
185    pub const fn fllcr2(
186        &self,
187    ) -> &'static crate::common::Reg<self::Fllcr2_SPEC, crate::common::RW> {
188        unsafe {
189            crate::common::Reg::<self::Fllcr2_SPEC, crate::common::RW>::from_ptr(
190                self._svd2pac_as_ptr().add(58usize),
191            )
192        }
193    }
194
195    #[doc = "Oscillation Stabilization Flag Register"]
196    #[inline(always)]
197    pub const fn oscsf(&self) -> &'static crate::common::Reg<self::Oscsf_SPEC, crate::common::R> {
198        unsafe {
199            crate::common::Reg::<self::Oscsf_SPEC, crate::common::R>::from_ptr(
200                self._svd2pac_as_ptr().add(60usize),
201            )
202        }
203    }
204
205    #[doc = "Clock Out Control Register"]
206    #[inline(always)]
207    pub const fn ckocr(&self) -> &'static crate::common::Reg<self::Ckocr_SPEC, crate::common::RW> {
208        unsafe {
209            crate::common::Reg::<self::Ckocr_SPEC, crate::common::RW>::from_ptr(
210                self._svd2pac_as_ptr().add(62usize),
211            )
212        }
213    }
214
215    #[doc = "Trace Clock Control Register"]
216    #[inline(always)]
217    pub const fn trckcr(
218        &self,
219    ) -> &'static crate::common::Reg<self::Trckcr_SPEC, crate::common::RW> {
220        unsafe {
221            crate::common::Reg::<self::Trckcr_SPEC, crate::common::RW>::from_ptr(
222                self._svd2pac_as_ptr().add(63usize),
223            )
224        }
225    }
226
227    #[doc = "Oscillation Stop Detection Control Register"]
228    #[inline(always)]
229    pub const fn ostdcr(
230        &self,
231    ) -> &'static crate::common::Reg<self::Ostdcr_SPEC, crate::common::RW> {
232        unsafe {
233            crate::common::Reg::<self::Ostdcr_SPEC, crate::common::RW>::from_ptr(
234                self._svd2pac_as_ptr().add(64usize),
235            )
236        }
237    }
238
239    #[doc = "Oscillation Stop Detection Status Register"]
240    #[inline(always)]
241    pub const fn ostdsr(
242        &self,
243    ) -> &'static crate::common::Reg<self::Ostdsr_SPEC, crate::common::RW> {
244        unsafe {
245            crate::common::Reg::<self::Ostdsr_SPEC, crate::common::RW>::from_ptr(
246                self._svd2pac_as_ptr().add(65usize),
247            )
248        }
249    }
250
251    #[doc = "Oscillator Monitor Register"]
252    #[inline(always)]
253    pub const fn oscmonr(
254        &self,
255    ) -> &'static crate::common::Reg<self::Oscmonr_SPEC, crate::common::R> {
256        unsafe {
257            crate::common::Reg::<self::Oscmonr_SPEC, crate::common::R>::from_ptr(
258                self._svd2pac_as_ptr().add(67usize),
259            )
260        }
261    }
262
263    #[doc = "PLL2 Clock Control Register"]
264    #[inline(always)]
265    pub const fn pll2ccr(
266        &self,
267    ) -> &'static crate::common::Reg<self::Pll2Ccr_SPEC, crate::common::RW> {
268        unsafe {
269            crate::common::Reg::<self::Pll2Ccr_SPEC, crate::common::RW>::from_ptr(
270                self._svd2pac_as_ptr().add(72usize),
271            )
272        }
273    }
274
275    #[doc = "PLL2 Control Register"]
276    #[inline(always)]
277    pub const fn pll2cr(
278        &self,
279    ) -> &'static crate::common::Reg<self::Pll2Cr_SPEC, crate::common::RW> {
280        unsafe {
281            crate::common::Reg::<self::Pll2Cr_SPEC, crate::common::RW>::from_ptr(
282                self._svd2pac_as_ptr().add(74usize),
283            )
284        }
285    }
286
287    #[doc = "PLL Clock Control Register 2"]
288    #[inline(always)]
289    pub const fn pllccr2(
290        &self,
291    ) -> &'static crate::common::Reg<self::Pllccr2_SPEC, crate::common::RW> {
292        unsafe {
293            crate::common::Reg::<self::Pllccr2_SPEC, crate::common::RW>::from_ptr(
294                self._svd2pac_as_ptr().add(76usize),
295            )
296        }
297    }
298
299    #[doc = "PLL2 Clock Control Register 2"]
300    #[inline(always)]
301    pub const fn pll2ccr2(
302        &self,
303    ) -> &'static crate::common::Reg<self::Pll2Ccr2_SPEC, crate::common::RW> {
304        unsafe {
305            crate::common::Reg::<self::Pll2Ccr2_SPEC, crate::common::RW>::from_ptr(
306                self._svd2pac_as_ptr().add(78usize),
307            )
308        }
309    }
310
311    #[doc = "External Bus Clock Output Control Register"]
312    #[inline(always)]
313    pub const fn ebckocr(
314        &self,
315    ) -> &'static crate::common::Reg<self::Ebckocr_SPEC, crate::common::RW> {
316        unsafe {
317            crate::common::Reg::<self::Ebckocr_SPEC, crate::common::RW>::from_ptr(
318                self._svd2pac_as_ptr().add(82usize),
319            )
320        }
321    }
322
323    #[doc = "SDRAM Clock Output Control Register"]
324    #[inline(always)]
325    pub const fn sdckocr(
326        &self,
327    ) -> &'static crate::common::Reg<self::Sdckocr_SPEC, crate::common::RW> {
328        unsafe {
329            crate::common::Reg::<self::Sdckocr_SPEC, crate::common::RW>::from_ptr(
330                self._svd2pac_as_ptr().add(83usize),
331            )
332        }
333    }
334
335    #[doc = "SCI clock Division control register"]
336    #[inline(always)]
337    pub const fn scickdivcr(
338        &self,
339    ) -> &'static crate::common::Reg<self::Scickdivcr_SPEC, crate::common::RW> {
340        unsafe {
341            crate::common::Reg::<self::Scickdivcr_SPEC, crate::common::RW>::from_ptr(
342                self._svd2pac_as_ptr().add(84usize),
343            )
344        }
345    }
346
347    #[doc = "SCI clock control register"]
348    #[inline(always)]
349    pub const fn scickcr(
350        &self,
351    ) -> &'static crate::common::Reg<self::Scickcr_SPEC, crate::common::RW> {
352        unsafe {
353            crate::common::Reg::<self::Scickcr_SPEC, crate::common::RW>::from_ptr(
354                self._svd2pac_as_ptr().add(85usize),
355            )
356        }
357    }
358
359    #[doc = "SPI clock Division control register"]
360    #[inline(always)]
361    pub const fn spickdivcr(
362        &self,
363    ) -> &'static crate::common::Reg<self::Spickdivcr_SPEC, crate::common::RW> {
364        unsafe {
365            crate::common::Reg::<self::Spickdivcr_SPEC, crate::common::RW>::from_ptr(
366                self._svd2pac_as_ptr().add(86usize),
367            )
368        }
369    }
370
371    #[doc = "SPI clock control register"]
372    #[inline(always)]
373    pub const fn spickcr(
374        &self,
375    ) -> &'static crate::common::Reg<self::Spickcr_SPEC, crate::common::RW> {
376        unsafe {
377            crate::common::Reg::<self::Spickcr_SPEC, crate::common::RW>::from_ptr(
378                self._svd2pac_as_ptr().add(87usize),
379            )
380        }
381    }
382
383    #[doc = "ADC clock Division control register"]
384    #[inline(always)]
385    pub const fn adcckdivcr(
386        &self,
387    ) -> &'static crate::common::Reg<self::Adcckdivcr_SPEC, crate::common::RW> {
388        unsafe {
389            crate::common::Reg::<self::Adcckdivcr_SPEC, crate::common::RW>::from_ptr(
390                self._svd2pac_as_ptr().add(90usize),
391            )
392        }
393    }
394
395    #[doc = "ADC clock control register"]
396    #[inline(always)]
397    pub const fn adcckcr(
398        &self,
399    ) -> &'static crate::common::Reg<self::Adcckcr_SPEC, crate::common::RW> {
400        unsafe {
401            crate::common::Reg::<self::Adcckcr_SPEC, crate::common::RW>::from_ptr(
402                self._svd2pac_as_ptr().add(91usize),
403            )
404        }
405    }
406
407    #[doc = "GPT clock Division control register"]
408    #[inline(always)]
409    pub const fn gptckdivcr(
410        &self,
411    ) -> &'static crate::common::Reg<self::Gptckdivcr_SPEC, crate::common::RW> {
412        unsafe {
413            crate::common::Reg::<self::Gptckdivcr_SPEC, crate::common::RW>::from_ptr(
414                self._svd2pac_as_ptr().add(92usize),
415            )
416        }
417    }
418
419    #[doc = "GPT clock control register"]
420    #[inline(always)]
421    pub const fn gptckcr(
422        &self,
423    ) -> &'static crate::common::Reg<self::Gptckcr_SPEC, crate::common::RW> {
424        unsafe {
425            crate::common::Reg::<self::Gptckcr_SPEC, crate::common::RW>::from_ptr(
426                self._svd2pac_as_ptr().add(93usize),
427            )
428        }
429    }
430
431    #[doc = "LCD clock Division control register"]
432    #[inline(always)]
433    pub const fn lcdckdivcr(
434        &self,
435    ) -> &'static crate::common::Reg<self::Lcdckdivcr_SPEC, crate::common::RW> {
436        unsafe {
437            crate::common::Reg::<self::Lcdckdivcr_SPEC, crate::common::RW>::from_ptr(
438                self._svd2pac_as_ptr().add(94usize),
439            )
440        }
441    }
442
443    #[doc = "LCD clock control register"]
444    #[inline(always)]
445    pub const fn lcdckcr(
446        &self,
447    ) -> &'static crate::common::Reg<self::Lcdckcr_SPEC, crate::common::RW> {
448        unsafe {
449            crate::common::Reg::<self::Lcdckcr_SPEC, crate::common::RW>::from_ptr(
450                self._svd2pac_as_ptr().add(95usize),
451            )
452        }
453    }
454
455    #[doc = "MOCO User Trimming Control Register"]
456    #[inline(always)]
457    pub const fn mocoutcr(
458        &self,
459    ) -> &'static crate::common::Reg<self::Mocoutcr_SPEC, crate::common::RW> {
460        unsafe {
461            crate::common::Reg::<self::Mocoutcr_SPEC, crate::common::RW>::from_ptr(
462                self._svd2pac_as_ptr().add(97usize),
463            )
464        }
465    }
466
467    #[doc = "HOCO User Trimming Control Register"]
468    #[inline(always)]
469    pub const fn hocoutcr(
470        &self,
471    ) -> &'static crate::common::Reg<self::Hocoutcr_SPEC, crate::common::RW> {
472        unsafe {
473            crate::common::Reg::<self::Hocoutcr_SPEC, crate::common::RW>::from_ptr(
474                self._svd2pac_as_ptr().add(98usize),
475            )
476        }
477    }
478
479    #[doc = "USB clock Division control register"]
480    #[inline(always)]
481    pub const fn usbckdivcr(
482        &self,
483    ) -> &'static crate::common::Reg<self::Usbckdivcr_SPEC, crate::common::RW> {
484        unsafe {
485            crate::common::Reg::<self::Usbckdivcr_SPEC, crate::common::RW>::from_ptr(
486                self._svd2pac_as_ptr().add(108usize),
487            )
488        }
489    }
490
491    #[doc = "Octal-SPI clock Division control register"]
492    #[inline(always)]
493    pub const fn octackdivcr(
494        &self,
495    ) -> &'static crate::common::Reg<self::Octackdivcr_SPEC, crate::common::RW> {
496        unsafe {
497            crate::common::Reg::<self::Octackdivcr_SPEC, crate::common::RW>::from_ptr(
498                self._svd2pac_as_ptr().add(109usize),
499            )
500        }
501    }
502
503    #[doc = "CANFD Core clock Division control register"]
504    #[inline(always)]
505    pub const fn canfdckdivcr(
506        &self,
507    ) -> &'static crate::common::Reg<self::Canfdckdivcr_SPEC, crate::common::RW> {
508        unsafe {
509            crate::common::Reg::<self::Canfdckdivcr_SPEC, crate::common::RW>::from_ptr(
510                self._svd2pac_as_ptr().add(110usize),
511            )
512        }
513    }
514
515    #[doc = "USB60 clock Division control register"]
516    #[inline(always)]
517    pub const fn usb60ckdivcr(
518        &self,
519    ) -> &'static crate::common::Reg<self::Usb60Ckdivcr_SPEC, crate::common::RW> {
520        unsafe {
521            crate::common::Reg::<self::Usb60Ckdivcr_SPEC, crate::common::RW>::from_ptr(
522                self._svd2pac_as_ptr().add(111usize),
523            )
524        }
525    }
526
527    #[doc = "I3C clock Division control register"]
528    #[inline(always)]
529    pub const fn i3cckdivcr(
530        &self,
531    ) -> &'static crate::common::Reg<self::I3Cckdivcr_SPEC, crate::common::RW> {
532        unsafe {
533            crate::common::Reg::<self::I3Cckdivcr_SPEC, crate::common::RW>::from_ptr(
534                self._svd2pac_as_ptr().add(112usize),
535            )
536        }
537    }
538
539    #[doc = "USB clock control register"]
540    #[inline(always)]
541    pub const fn usbckcr(
542        &self,
543    ) -> &'static crate::common::Reg<self::Usbckcr_SPEC, crate::common::RW> {
544        unsafe {
545            crate::common::Reg::<self::Usbckcr_SPEC, crate::common::RW>::from_ptr(
546                self._svd2pac_as_ptr().add(116usize),
547            )
548        }
549    }
550
551    #[doc = "Octal-SPI clock control register"]
552    #[inline(always)]
553    pub const fn octackcr(
554        &self,
555    ) -> &'static crate::common::Reg<self::Octackcr_SPEC, crate::common::RW> {
556        unsafe {
557            crate::common::Reg::<self::Octackcr_SPEC, crate::common::RW>::from_ptr(
558                self._svd2pac_as_ptr().add(117usize),
559            )
560        }
561    }
562
563    #[doc = "CANFD Core clock control register"]
564    #[inline(always)]
565    pub const fn canfdckcr(
566        &self,
567    ) -> &'static crate::common::Reg<self::Canfdckcr_SPEC, crate::common::RW> {
568        unsafe {
569            crate::common::Reg::<self::Canfdckcr_SPEC, crate::common::RW>::from_ptr(
570                self._svd2pac_as_ptr().add(118usize),
571            )
572        }
573    }
574
575    #[doc = "USB60 clock control register"]
576    #[inline(always)]
577    pub const fn usb60ckcr(
578        &self,
579    ) -> &'static crate::common::Reg<self::Usb60Ckcr_SPEC, crate::common::RW> {
580        unsafe {
581            crate::common::Reg::<self::Usb60Ckcr_SPEC, crate::common::RW>::from_ptr(
582                self._svd2pac_as_ptr().add(119usize),
583            )
584        }
585    }
586
587    #[doc = "I3C clock control register"]
588    #[inline(always)]
589    pub const fn i3cckcr(
590        &self,
591    ) -> &'static crate::common::Reg<self::I3Cckcr_SPEC, crate::common::RW> {
592        unsafe {
593            crate::common::Reg::<self::I3Cckcr_SPEC, crate::common::RW>::from_ptr(
594                self._svd2pac_as_ptr().add(120usize),
595            )
596        }
597    }
598
599    #[doc = "Main Clock Oscillator Standby Control Register"]
600    #[inline(always)]
601    pub const fn moscscr(
602        &self,
603    ) -> &'static crate::common::Reg<self::Moscscr_SPEC, crate::common::RW> {
604        unsafe {
605            crate::common::Reg::<self::Moscscr_SPEC, crate::common::RW>::from_ptr(
606                self._svd2pac_as_ptr().add(124usize),
607            )
608        }
609    }
610
611    #[doc = "High-Speed On-Chip Oscillator Standby Control Register"]
612    #[inline(always)]
613    pub const fn hocoscr(
614        &self,
615    ) -> &'static crate::common::Reg<self::Hocoscr_SPEC, crate::common::RW> {
616        unsafe {
617            crate::common::Reg::<self::Hocoscr_SPEC, crate::common::RW>::from_ptr(
618                self._svd2pac_as_ptr().add(125usize),
619            )
620        }
621    }
622
623    #[doc = "Operating Power Control Register"]
624    #[inline(always)]
625    pub const fn opccr(&self) -> &'static crate::common::Reg<self::Opccr_SPEC, crate::common::RW> {
626        unsafe {
627            crate::common::Reg::<self::Opccr_SPEC, crate::common::RW>::from_ptr(
628                self._svd2pac_as_ptr().add(160usize),
629            )
630        }
631    }
632
633    #[doc = "Main Clock Oscillator Wait Control Register"]
634    #[inline(always)]
635    pub const fn moscwtcr(
636        &self,
637    ) -> &'static crate::common::Reg<self::Moscwtcr_SPEC, crate::common::RW> {
638        unsafe {
639            crate::common::Reg::<self::Moscwtcr_SPEC, crate::common::RW>::from_ptr(
640                self._svd2pac_as_ptr().add(162usize),
641            )
642        }
643    }
644
645    #[doc = "Reset Status Register 1"]
646    #[inline(always)]
647    pub const fn rstsr1(
648        &self,
649    ) -> &'static crate::common::Reg<self::Rstsr1_SPEC, crate::common::RW> {
650        unsafe {
651            crate::common::Reg::<self::Rstsr1_SPEC, crate::common::RW>::from_ptr(
652                self._svd2pac_as_ptr().add(192usize),
653            )
654        }
655    }
656
657    #[doc = "System Register Access Control Register"]
658    #[inline(always)]
659    pub const fn syraccr(
660        &self,
661    ) -> &'static crate::common::Reg<self::Syraccr_SPEC, crate::common::RW> {
662        unsafe {
663            crate::common::Reg::<self::Syraccr_SPEC, crate::common::RW>::from_ptr(
664                self._svd2pac_as_ptr().add(204usize),
665            )
666        }
667    }
668
669    #[doc = "Voltage Monitor %s Circuit Control Register 1"]
670    #[inline(always)]
671    pub const fn pvdcr1(
672        &self,
673    ) -> &'static crate::common::ClusterRegisterArray<
674        crate::common::Reg<self::Pvdcr1_SPEC, crate::common::RW>,
675        2,
676        0x2,
677    > {
678        unsafe {
679            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xe0usize))
680        }
681    }
682    #[inline(always)]
683    pub const fn pvd1cr1(
684        &self,
685    ) -> &'static crate::common::Reg<self::Pvdcr1_SPEC, crate::common::RW> {
686        unsafe {
687            crate::common::Reg::<self::Pvdcr1_SPEC, crate::common::RW>::from_ptr(
688                self._svd2pac_as_ptr().add(0xe0usize),
689            )
690        }
691    }
692    #[inline(always)]
693    pub const fn pvd2cr1(
694        &self,
695    ) -> &'static crate::common::Reg<self::Pvdcr1_SPEC, crate::common::RW> {
696        unsafe {
697            crate::common::Reg::<self::Pvdcr1_SPEC, crate::common::RW>::from_ptr(
698                self._svd2pac_as_ptr().add(0xe2usize),
699            )
700        }
701    }
702
703    #[doc = "Voltage Monitor %s Circuit Status Register"]
704    #[inline(always)]
705    pub const fn pvdsr(
706        &self,
707    ) -> &'static crate::common::ClusterRegisterArray<
708        crate::common::Reg<self::Pvdsr_SPEC, crate::common::RW>,
709        2,
710        0x2,
711    > {
712        unsafe {
713            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xe1usize))
714        }
715    }
716    #[inline(always)]
717    pub const fn pvd1sr(&self) -> &'static crate::common::Reg<self::Pvdsr_SPEC, crate::common::RW> {
718        unsafe {
719            crate::common::Reg::<self::Pvdsr_SPEC, crate::common::RW>::from_ptr(
720                self._svd2pac_as_ptr().add(0xe1usize),
721            )
722        }
723    }
724    #[inline(always)]
725    pub const fn pvd2sr(&self) -> &'static crate::common::Reg<self::Pvdsr_SPEC, crate::common::RW> {
726        unsafe {
727            crate::common::Reg::<self::Pvdsr_SPEC, crate::common::RW>::from_ptr(
728                self._svd2pac_as_ptr().add(0xe3usize),
729            )
730        }
731    }
732
733    #[doc = "Clock Recovery System Control Register"]
734    #[inline(always)]
735    pub const fn crvsyscr(
736        &self,
737    ) -> &'static crate::common::Reg<self::Crvsyscr_SPEC, crate::common::RW> {
738        unsafe {
739            crate::common::Reg::<self::Crvsyscr_SPEC, crate::common::RW>::from_ptr(
740                self._svd2pac_as_ptr().add(240usize),
741            )
742        }
743    }
744
745    #[doc = "Graphics Power Domain Control Register"]
746    #[inline(always)]
747    pub const fn pdctrgd(
748        &self,
749    ) -> &'static crate::common::Reg<self::Pdctrgd_SPEC, crate::common::RW> {
750        unsafe {
751            crate::common::Reg::<self::Pdctrgd_SPEC, crate::common::RW>::from_ptr(
752                self._svd2pac_as_ptr().add(272usize),
753            )
754        }
755    }
756
757    #[doc = "SRAM power domain Standby Control Register 0"]
758    #[inline(always)]
759    pub const fn pdramscr0(
760        &self,
761    ) -> &'static crate::common::Reg<self::Pdramscr0_SPEC, crate::common::RW> {
762        unsafe {
763            crate::common::Reg::<self::Pdramscr0_SPEC, crate::common::RW>::from_ptr(
764                self._svd2pac_as_ptr().add(320usize),
765            )
766        }
767    }
768
769    #[doc = "SRAM power domain Standby Control Register 1"]
770    #[inline(always)]
771    pub const fn pdramscr1(
772        &self,
773    ) -> &'static crate::common::Reg<self::Pdramscr1_SPEC, crate::common::RW> {
774        unsafe {
775            crate::common::Reg::<self::Pdramscr1_SPEC, crate::common::RW>::from_ptr(
776                self._svd2pac_as_ptr().add(322usize),
777            )
778        }
779    }
780
781    #[doc = "VBATT Backup Register Security Attribute Boundary Address Register"]
782    #[inline(always)]
783    pub const fn vbrsabar(
784        &self,
785    ) -> &'static crate::common::Reg<self::Vbrsabar_SPEC, crate::common::RW> {
786        unsafe {
787            crate::common::Reg::<self::Vbrsabar_SPEC, crate::common::RW>::from_ptr(
788                self._svd2pac_as_ptr().add(944usize),
789            )
790        }
791    }
792
793    #[doc = "VBATT Backup Register Privilege Attribute Boundary Address Register for Secure Region"]
794    #[inline(always)]
795    pub const fn vbrpabars(
796        &self,
797    ) -> &'static crate::common::Reg<self::Vbrpabars_SPEC, crate::common::RW> {
798        unsafe {
799            crate::common::Reg::<self::Vbrpabars_SPEC, crate::common::RW>::from_ptr(
800                self._svd2pac_as_ptr().add(948usize),
801            )
802        }
803    }
804
805    #[doc = "VBATT Backup Register Privilege Attribute Boundary Address Register for Non-secure Region"]
806    #[inline(always)]
807    pub const fn vbrpabarns(
808        &self,
809    ) -> &'static crate::common::Reg<self::Vbrpabarns_SPEC, crate::common::RW> {
810        unsafe {
811            crate::common::Reg::<self::Vbrpabarns_SPEC, crate::common::RW>::from_ptr(
812                self._svd2pac_as_ptr().add(952usize),
813            )
814        }
815    }
816
817    #[doc = "Clock Generation Function Security Attribute Register"]
818    #[inline(always)]
819    pub const fn cgfsar(
820        &self,
821    ) -> &'static crate::common::Reg<self::Cgfsar_SPEC, crate::common::RW> {
822        unsafe {
823            crate::common::Reg::<self::Cgfsar_SPEC, crate::common::RW>::from_ptr(
824                self._svd2pac_as_ptr().add(960usize),
825            )
826        }
827    }
828
829    #[doc = "Reset Security Attribution Register"]
830    #[inline(always)]
831    pub const fn rstsar(
832        &self,
833    ) -> &'static crate::common::Reg<self::Rstsar_SPEC, crate::common::RW> {
834        unsafe {
835            crate::common::Reg::<self::Rstsar_SPEC, crate::common::RW>::from_ptr(
836                self._svd2pac_as_ptr().add(964usize),
837            )
838        }
839    }
840
841    #[doc = "Low Power Mode Security Attribution Register"]
842    #[inline(always)]
843    pub const fn lpmsar(
844        &self,
845    ) -> &'static crate::common::Reg<self::Lpmsar_SPEC, crate::common::RW> {
846        unsafe {
847            crate::common::Reg::<self::Lpmsar_SPEC, crate::common::RW>::from_ptr(
848                self._svd2pac_as_ptr().add(968usize),
849            )
850        }
851    }
852
853    #[doc = "Programable Voltage Detection Security Attribution Register"]
854    #[inline(always)]
855    pub const fn pvdsar(
856        &self,
857    ) -> &'static crate::common::Reg<self::Pvdsar_SPEC, crate::common::RW> {
858        unsafe {
859            crate::common::Reg::<self::Pvdsar_SPEC, crate::common::RW>::from_ptr(
860                self._svd2pac_as_ptr().add(972usize),
861            )
862        }
863    }
864
865    #[doc = "Battery Backup Function Security Attribute Register"]
866    #[inline(always)]
867    pub const fn bbfsar(
868        &self,
869    ) -> &'static crate::common::Reg<self::Bbfsar_SPEC, crate::common::RW> {
870        unsafe {
871            crate::common::Reg::<self::Bbfsar_SPEC, crate::common::RW>::from_ptr(
872                self._svd2pac_as_ptr().add(976usize),
873            )
874        }
875    }
876
877    #[doc = "Power Gating Control Security Attribution Register"]
878    #[inline(always)]
879    pub const fn pgcsar(
880        &self,
881    ) -> &'static crate::common::Reg<self::Pgcsar_SPEC, crate::common::RW> {
882        unsafe {
883            crate::common::Reg::<self::Pgcsar_SPEC, crate::common::RW>::from_ptr(
884                self._svd2pac_as_ptr().add(984usize),
885            )
886        }
887    }
888
889    #[doc = "Deep Standby Interrupt Factor Security Attribution Register"]
890    #[inline(always)]
891    pub const fn dpfsar(
892        &self,
893    ) -> &'static crate::common::Reg<self::Dpfsar_SPEC, crate::common::RW> {
894        unsafe {
895            crate::common::Reg::<self::Dpfsar_SPEC, crate::common::RW>::from_ptr(
896                self._svd2pac_as_ptr().add(992usize),
897            )
898        }
899    }
900
901    #[doc = "RAM Standby Control Security Attribution Register"]
902    #[inline(always)]
903    pub const fn rscsar(
904        &self,
905    ) -> &'static crate::common::Reg<self::Rscsar_SPEC, crate::common::RW> {
906        unsafe {
907            crate::common::Reg::<self::Rscsar_SPEC, crate::common::RW>::from_ptr(
908                self._svd2pac_as_ptr().add(996usize),
909            )
910        }
911    }
912
913    #[doc = "Protect Register for Secure Register"]
914    #[inline(always)]
915    pub const fn prcr_s(&self) -> &'static crate::common::Reg<self::PrcrS_SPEC, crate::common::RW> {
916        unsafe {
917            crate::common::Reg::<self::PrcrS_SPEC, crate::common::RW>::from_ptr(
918                self._svd2pac_as_ptr().add(1018usize),
919            )
920        }
921    }
922
923    #[doc = "Protect Register for Non-secure Register"]
924    #[inline(always)]
925    pub const fn prcr_ns(
926        &self,
927    ) -> &'static crate::common::Reg<self::PrcrNs_SPEC, crate::common::RW> {
928        unsafe {
929            crate::common::Reg::<self::PrcrNs_SPEC, crate::common::RW>::from_ptr(
930                self._svd2pac_as_ptr().add(1022usize),
931            )
932        }
933    }
934
935    #[doc = "Low-Speed On-Chip Oscillator Control Register"]
936    #[inline(always)]
937    pub const fn lococr(
938        &self,
939    ) -> &'static crate::common::Reg<self::Lococr_SPEC, crate::common::RW> {
940        unsafe {
941            crate::common::Reg::<self::Lococr_SPEC, crate::common::RW>::from_ptr(
942                self._svd2pac_as_ptr().add(1024usize),
943            )
944        }
945    }
946
947    #[doc = "LOCO User Trimming Control Register"]
948    #[inline(always)]
949    pub const fn locoutcr(
950        &self,
951    ) -> &'static crate::common::Reg<self::Locoutcr_SPEC, crate::common::RW> {
952        unsafe {
953            crate::common::Reg::<self::Locoutcr_SPEC, crate::common::RW>::from_ptr(
954                self._svd2pac_as_ptr().add(1026usize),
955            )
956        }
957    }
958
959    #[doc = "Deep Standby Control Register"]
960    #[inline(always)]
961    pub const fn dpsbycr(
962        &self,
963    ) -> &'static crate::common::Reg<self::Dpsbycr_SPEC, crate::common::RW> {
964        unsafe {
965            crate::common::Reg::<self::Dpsbycr_SPEC, crate::common::RW>::from_ptr(
966                self._svd2pac_as_ptr().add(2560usize),
967            )
968        }
969    }
970
971    #[doc = "Deep Standby Wait Control Register"]
972    #[inline(always)]
973    pub const fn dpswcr(
974        &self,
975    ) -> &'static crate::common::Reg<self::Dpswcr_SPEC, crate::common::RW> {
976        unsafe {
977            crate::common::Reg::<self::Dpswcr_SPEC, crate::common::RW>::from_ptr(
978                self._svd2pac_as_ptr().add(2564usize),
979            )
980        }
981    }
982
983    #[doc = "Deep Standby Interrupt Enable Register 0"]
984    #[inline(always)]
985    pub const fn dpsier0(
986        &self,
987    ) -> &'static crate::common::Reg<self::Dpsier0_SPEC, crate::common::RW> {
988        unsafe {
989            crate::common::Reg::<self::Dpsier0_SPEC, crate::common::RW>::from_ptr(
990                self._svd2pac_as_ptr().add(2568usize),
991            )
992        }
993    }
994
995    #[doc = "Deep Standby Interrupt Enable Register 1"]
996    #[inline(always)]
997    pub const fn dpsier1(
998        &self,
999    ) -> &'static crate::common::Reg<self::Dpsier1_SPEC, crate::common::RW> {
1000        unsafe {
1001            crate::common::Reg::<self::Dpsier1_SPEC, crate::common::RW>::from_ptr(
1002                self._svd2pac_as_ptr().add(2572usize),
1003            )
1004        }
1005    }
1006
1007    #[doc = "Deep Standby Interrupt Enable Register 2"]
1008    #[inline(always)]
1009    pub const fn dpsier2(
1010        &self,
1011    ) -> &'static crate::common::Reg<self::Dpsier2_SPEC, crate::common::RW> {
1012        unsafe {
1013            crate::common::Reg::<self::Dpsier2_SPEC, crate::common::RW>::from_ptr(
1014                self._svd2pac_as_ptr().add(2576usize),
1015            )
1016        }
1017    }
1018
1019    #[doc = "Deep Standby Interrupt Enable Register 3"]
1020    #[inline(always)]
1021    pub const fn dpsier3(
1022        &self,
1023    ) -> &'static crate::common::Reg<self::Dpsier3_SPEC, crate::common::RW> {
1024        unsafe {
1025            crate::common::Reg::<self::Dpsier3_SPEC, crate::common::RW>::from_ptr(
1026                self._svd2pac_as_ptr().add(2580usize),
1027            )
1028        }
1029    }
1030
1031    #[doc = "Deep Standby Interrupt Flag Register 0"]
1032    #[inline(always)]
1033    pub const fn dpsifr0(
1034        &self,
1035    ) -> &'static crate::common::Reg<self::Dpsifr0_SPEC, crate::common::RW> {
1036        unsafe {
1037            crate::common::Reg::<self::Dpsifr0_SPEC, crate::common::RW>::from_ptr(
1038                self._svd2pac_as_ptr().add(2584usize),
1039            )
1040        }
1041    }
1042
1043    #[doc = "Deep Standby Interrupt Flag Register 1"]
1044    #[inline(always)]
1045    pub const fn dpsifr1(
1046        &self,
1047    ) -> &'static crate::common::Reg<self::Dpsifr1_SPEC, crate::common::RW> {
1048        unsafe {
1049            crate::common::Reg::<self::Dpsifr1_SPEC, crate::common::RW>::from_ptr(
1050                self._svd2pac_as_ptr().add(2588usize),
1051            )
1052        }
1053    }
1054
1055    #[doc = "Deep Standby Interrupt Flag Register 2"]
1056    #[inline(always)]
1057    pub const fn dpsifr2(
1058        &self,
1059    ) -> &'static crate::common::Reg<self::Dpsifr2_SPEC, crate::common::RW> {
1060        unsafe {
1061            crate::common::Reg::<self::Dpsifr2_SPEC, crate::common::RW>::from_ptr(
1062                self._svd2pac_as_ptr().add(2592usize),
1063            )
1064        }
1065    }
1066
1067    #[doc = "Deep Standby Interrupt Flag Register 3"]
1068    #[inline(always)]
1069    pub const fn dpsifr3(
1070        &self,
1071    ) -> &'static crate::common::Reg<self::Dpsifr3_SPEC, crate::common::RW> {
1072        unsafe {
1073            crate::common::Reg::<self::Dpsifr3_SPEC, crate::common::RW>::from_ptr(
1074                self._svd2pac_as_ptr().add(2596usize),
1075            )
1076        }
1077    }
1078
1079    #[doc = "Deep Standby Interrupt Edge Register 0"]
1080    #[inline(always)]
1081    pub const fn dpsiegr0(
1082        &self,
1083    ) -> &'static crate::common::Reg<self::Dpsiegr0_SPEC, crate::common::RW> {
1084        unsafe {
1085            crate::common::Reg::<self::Dpsiegr0_SPEC, crate::common::RW>::from_ptr(
1086                self._svd2pac_as_ptr().add(2600usize),
1087            )
1088        }
1089    }
1090
1091    #[doc = "Deep Standby Interrupt Edge Register 1"]
1092    #[inline(always)]
1093    pub const fn dpsiegr1(
1094        &self,
1095    ) -> &'static crate::common::Reg<self::Dpsiegr1_SPEC, crate::common::RW> {
1096        unsafe {
1097            crate::common::Reg::<self::Dpsiegr1_SPEC, crate::common::RW>::from_ptr(
1098                self._svd2pac_as_ptr().add(2604usize),
1099            )
1100        }
1101    }
1102
1103    #[doc = "Deep Standby Interrupt Edge Register 2"]
1104    #[inline(always)]
1105    pub const fn dpsiegr2(
1106        &self,
1107    ) -> &'static crate::common::Reg<self::Dpsiegr2_SPEC, crate::common::RW> {
1108        unsafe {
1109            crate::common::Reg::<self::Dpsiegr2_SPEC, crate::common::RW>::from_ptr(
1110                self._svd2pac_as_ptr().add(2608usize),
1111            )
1112        }
1113    }
1114
1115    #[doc = "System Control OCD Control Register"]
1116    #[inline(always)]
1117    pub const fn syocdcr(
1118        &self,
1119    ) -> &'static crate::common::Reg<self::Syocdcr_SPEC, crate::common::RW> {
1120        unsafe {
1121            crate::common::Reg::<self::Syocdcr_SPEC, crate::common::RW>::from_ptr(
1122                self._svd2pac_as_ptr().add(2616usize),
1123            )
1124        }
1125    }
1126
1127    #[doc = "Reset Status Register 0"]
1128    #[inline(always)]
1129    pub const fn rstsr0(
1130        &self,
1131    ) -> &'static crate::common::Reg<self::Rstsr0_SPEC, crate::common::RW> {
1132        unsafe {
1133            crate::common::Reg::<self::Rstsr0_SPEC, crate::common::RW>::from_ptr(
1134                self._svd2pac_as_ptr().add(2624usize),
1135            )
1136        }
1137    }
1138
1139    #[doc = "Reset Status Register 2"]
1140    #[inline(always)]
1141    pub const fn rstsr2(
1142        &self,
1143    ) -> &'static crate::common::Reg<self::Rstsr2_SPEC, crate::common::RW> {
1144        unsafe {
1145            crate::common::Reg::<self::Rstsr2_SPEC, crate::common::RW>::from_ptr(
1146                self._svd2pac_as_ptr().add(2628usize),
1147            )
1148        }
1149    }
1150
1151    #[doc = "Reset Status Register 3"]
1152    #[inline(always)]
1153    pub const fn rstsr3(
1154        &self,
1155    ) -> &'static crate::common::Reg<self::Rstsr3_SPEC, crate::common::RW> {
1156        unsafe {
1157            crate::common::Reg::<self::Rstsr3_SPEC, crate::common::RW>::from_ptr(
1158                self._svd2pac_as_ptr().add(2632usize),
1159            )
1160        }
1161    }
1162
1163    #[doc = "Main Clock Oscillator Mode Oscillation Control Register"]
1164    #[inline(always)]
1165    pub const fn momcr(&self) -> &'static crate::common::Reg<self::Momcr_SPEC, crate::common::RW> {
1166        unsafe {
1167            crate::common::Reg::<self::Momcr_SPEC, crate::common::RW>::from_ptr(
1168                self._svd2pac_as_ptr().add(2640usize),
1169            )
1170        }
1171    }
1172
1173    #[doc = "Flash Write Erase Protect Register"]
1174    #[inline(always)]
1175    pub const fn fwepror(
1176        &self,
1177    ) -> &'static crate::common::Reg<self::Fwepror_SPEC, crate::common::RW> {
1178        unsafe {
1179            crate::common::Reg::<self::Fwepror_SPEC, crate::common::RW>::from_ptr(
1180                self._svd2pac_as_ptr().add(2644usize),
1181            )
1182        }
1183    }
1184
1185    #[doc = "Voltage Monitor 1 Comparator Control Register"]
1186    #[inline(always)]
1187    pub const fn pvd1cmpcr(
1188        &self,
1189    ) -> &'static crate::common::Reg<self::Pvd1Cmpcr_SPEC, crate::common::RW> {
1190        unsafe {
1191            crate::common::Reg::<self::Pvd1Cmpcr_SPEC, crate::common::RW>::from_ptr(
1192                self._svd2pac_as_ptr().add(2648usize),
1193            )
1194        }
1195    }
1196
1197    #[doc = "Voltage Monitor 2 Comparator Control Register"]
1198    #[inline(always)]
1199    pub const fn pvd2cmpcr(
1200        &self,
1201    ) -> &'static crate::common::Reg<self::Pvd2Cmpcr_SPEC, crate::common::RW> {
1202        unsafe {
1203            crate::common::Reg::<self::Pvd2Cmpcr_SPEC, crate::common::RW>::from_ptr(
1204                self._svd2pac_as_ptr().add(2652usize),
1205            )
1206        }
1207    }
1208
1209    #[doc = "Voltage Monitor %s Circuit Control Register 0"]
1210    #[inline(always)]
1211    pub const fn pvdcr0(
1212        &self,
1213    ) -> &'static crate::common::ClusterRegisterArray<
1214        crate::common::Reg<self::Pvdcr0_SPEC, crate::common::RW>,
1215        2,
1216        0x4,
1217    > {
1218        unsafe {
1219            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xa70usize))
1220        }
1221    }
1222    #[inline(always)]
1223    pub const fn pvd1cr0(
1224        &self,
1225    ) -> &'static crate::common::Reg<self::Pvdcr0_SPEC, crate::common::RW> {
1226        unsafe {
1227            crate::common::Reg::<self::Pvdcr0_SPEC, crate::common::RW>::from_ptr(
1228                self._svd2pac_as_ptr().add(0xa70usize),
1229            )
1230        }
1231    }
1232    #[inline(always)]
1233    pub const fn pvd2cr0(
1234        &self,
1235    ) -> &'static crate::common::Reg<self::Pvdcr0_SPEC, crate::common::RW> {
1236        unsafe {
1237            crate::common::Reg::<self::Pvdcr0_SPEC, crate::common::RW>::from_ptr(
1238                self._svd2pac_as_ptr().add(0xa74usize),
1239            )
1240        }
1241    }
1242
1243    #[doc = "Battery Backup Voltage Monitor Function Select Register"]
1244    #[inline(always)]
1245    pub const fn vbattmnselr(
1246        &self,
1247    ) -> &'static crate::common::Reg<self::Vbattmnselr_SPEC, crate::common::RW> {
1248        unsafe {
1249            crate::common::Reg::<self::Vbattmnselr_SPEC, crate::common::RW>::from_ptr(
1250                self._svd2pac_as_ptr().add(2692usize),
1251            )
1252        }
1253    }
1254
1255    #[doc = "VBATT Battery Power Supply Control Register 1"]
1256    #[inline(always)]
1257    pub const fn vbtbpcr1(
1258        &self,
1259    ) -> &'static crate::common::Reg<self::Vbtbpcr1_SPEC, crate::common::RW> {
1260        unsafe {
1261            crate::common::Reg::<self::Vbtbpcr1_SPEC, crate::common::RW>::from_ptr(
1262                self._svd2pac_as_ptr().add(2696usize),
1263            )
1264        }
1265    }
1266
1267    #[doc = "Low Power State Control Register"]
1268    #[inline(always)]
1269    pub const fn lpscr(&self) -> &'static crate::common::Reg<self::Lpscr_SPEC, crate::common::RW> {
1270        unsafe {
1271            crate::common::Reg::<self::Lpscr_SPEC, crate::common::RW>::from_ptr(
1272                self._svd2pac_as_ptr().add(2704usize),
1273            )
1274        }
1275    }
1276
1277    #[doc = "Software Standby Control Register 1"]
1278    #[inline(always)]
1279    pub const fn sscr1(&self) -> &'static crate::common::Reg<self::Sscr1_SPEC, crate::common::RW> {
1280        unsafe {
1281            crate::common::Reg::<self::Sscr1_SPEC, crate::common::RW>::from_ptr(
1282                self._svd2pac_as_ptr().add(2712usize),
1283            )
1284        }
1285    }
1286
1287    #[doc = "Low Power State Control Register"]
1288    #[inline(always)]
1289    pub const fn lvocr(&self) -> &'static crate::common::Reg<self::Lvocr_SPEC, crate::common::RW> {
1290        unsafe {
1291            crate::common::Reg::<self::Lvocr_SPEC, crate::common::RW>::from_ptr(
1292                self._svd2pac_as_ptr().add(2736usize),
1293            )
1294        }
1295    }
1296
1297    #[doc = "System Reset Mask Control Register0"]
1298    #[inline(always)]
1299    pub const fn syrstmsk0(
1300        &self,
1301    ) -> &'static crate::common::Reg<self::Syrstmsk0_SPEC, crate::common::RW> {
1302        unsafe {
1303            crate::common::Reg::<self::Syrstmsk0_SPEC, crate::common::RW>::from_ptr(
1304                self._svd2pac_as_ptr().add(2768usize),
1305            )
1306        }
1307    }
1308
1309    #[doc = "System Reset Mask Control Register1"]
1310    #[inline(always)]
1311    pub const fn syrstmsk1(
1312        &self,
1313    ) -> &'static crate::common::Reg<self::Syrstmsk1_SPEC, crate::common::RW> {
1314        unsafe {
1315            crate::common::Reg::<self::Syrstmsk1_SPEC, crate::common::RW>::from_ptr(
1316                self._svd2pac_as_ptr().add(2772usize),
1317            )
1318        }
1319    }
1320
1321    #[doc = "System Reset Mask Control Register2"]
1322    #[inline(always)]
1323    pub const fn syrstmsk2(
1324        &self,
1325    ) -> &'static crate::common::Reg<self::Syrstmsk2_SPEC, crate::common::RW> {
1326        unsafe {
1327            crate::common::Reg::<self::Syrstmsk2_SPEC, crate::common::RW>::from_ptr(
1328                self._svd2pac_as_ptr().add(2776usize),
1329            )
1330        }
1331    }
1332
1333    #[doc = "PLL1-LDO Control Register"]
1334    #[inline(always)]
1335    pub const fn pll1ldocr(
1336        &self,
1337    ) -> &'static crate::common::Reg<self::Pll1Ldocr_SPEC, crate::common::RW> {
1338        unsafe {
1339            crate::common::Reg::<self::Pll1Ldocr_SPEC, crate::common::RW>::from_ptr(
1340                self._svd2pac_as_ptr().add(2820usize),
1341            )
1342        }
1343    }
1344
1345    #[doc = "PLL2-LDO Control Register"]
1346    #[inline(always)]
1347    pub const fn pll2ldocr(
1348        &self,
1349    ) -> &'static crate::common::Reg<self::Pll2Ldocr_SPEC, crate::common::RW> {
1350        unsafe {
1351            crate::common::Reg::<self::Pll2Ldocr_SPEC, crate::common::RW>::from_ptr(
1352                self._svd2pac_as_ptr().add(2824usize),
1353            )
1354        }
1355    }
1356
1357    #[doc = "HOCO-LDO Control Register"]
1358    #[inline(always)]
1359    pub const fn hocoldocr(
1360        &self,
1361    ) -> &'static crate::common::Reg<self::Hocoldocr_SPEC, crate::common::RW> {
1362        unsafe {
1363            crate::common::Reg::<self::Hocoldocr_SPEC, crate::common::RW>::from_ptr(
1364                self._svd2pac_as_ptr().add(2828usize),
1365            )
1366        }
1367    }
1368
1369    #[doc = "Main Clock Oscillator Mode Control Register 2"]
1370    #[inline(always)]
1371    pub const fn momcr2(
1372        &self,
1373    ) -> &'static crate::common::Reg<self::Momcr2_SPEC, crate::common::RW> {
1374        unsafe {
1375            crate::common::Reg::<self::Momcr2_SPEC, crate::common::RW>::from_ptr(
1376                self._svd2pac_as_ptr().add(2832usize),
1377            )
1378        }
1379    }
1380
1381    #[doc = "Sub-clock oscillator control register"]
1382    #[inline(always)]
1383    pub const fn sosccr(
1384        &self,
1385    ) -> &'static crate::common::Reg<self::Sosccr_SPEC, crate::common::RW> {
1386        unsafe {
1387            crate::common::Reg::<self::Sosccr_SPEC, crate::common::RW>::from_ptr(
1388                self._svd2pac_as_ptr().add(3072usize),
1389            )
1390        }
1391    }
1392
1393    #[doc = "Sub Clock Oscillator Mode Control Register"]
1394    #[inline(always)]
1395    pub const fn somcr(&self) -> &'static crate::common::Reg<self::Somcr_SPEC, crate::common::RW> {
1396        unsafe {
1397            crate::common::Reg::<self::Somcr_SPEC, crate::common::RW>::from_ptr(
1398                self._svd2pac_as_ptr().add(3073usize),
1399            )
1400        }
1401    }
1402
1403    #[doc = "VBATT Backup Enable Register"]
1404    #[inline(always)]
1405    pub const fn vbtber(
1406        &self,
1407    ) -> &'static crate::common::Reg<self::Vbtber_SPEC, crate::common::RW> {
1408        unsafe {
1409            crate::common::Reg::<self::Vbtber_SPEC, crate::common::RW>::from_ptr(
1410                self._svd2pac_as_ptr().add(3136usize),
1411            )
1412        }
1413    }
1414
1415    #[doc = "VBATT Battery Power Supply Control Register 2"]
1416    #[inline(always)]
1417    pub const fn vbtbpcr2(
1418        &self,
1419    ) -> &'static crate::common::Reg<self::Vbtbpcr2_SPEC, crate::common::RW> {
1420        unsafe {
1421            crate::common::Reg::<self::Vbtbpcr2_SPEC, crate::common::RW>::from_ptr(
1422                self._svd2pac_as_ptr().add(3141usize),
1423            )
1424        }
1425    }
1426
1427    #[doc = "VBATT Battery Power Supply Status Register"]
1428    #[inline(always)]
1429    pub const fn vbtbpsr(
1430        &self,
1431    ) -> &'static crate::common::Reg<self::Vbtbpsr_SPEC, crate::common::RW> {
1432        unsafe {
1433            crate::common::Reg::<self::Vbtbpsr_SPEC, crate::common::RW>::from_ptr(
1434                self._svd2pac_as_ptr().add(3142usize),
1435            )
1436        }
1437    }
1438
1439    #[doc = "VBATT Tamper detection Status Register"]
1440    #[inline(always)]
1441    pub const fn vbtadsr(
1442        &self,
1443    ) -> &'static crate::common::Reg<self::Vbtadsr_SPEC, crate::common::RW> {
1444        unsafe {
1445            crate::common::Reg::<self::Vbtadsr_SPEC, crate::common::RW>::from_ptr(
1446                self._svd2pac_as_ptr().add(3144usize),
1447            )
1448        }
1449    }
1450
1451    #[doc = "VBATT Tamper detection Control  Register 1"]
1452    #[inline(always)]
1453    pub const fn vbtadcr1(
1454        &self,
1455    ) -> &'static crate::common::Reg<self::Vbtadcr1_SPEC, crate::common::RW> {
1456        unsafe {
1457            crate::common::Reg::<self::Vbtadcr1_SPEC, crate::common::RW>::from_ptr(
1458                self._svd2pac_as_ptr().add(3145usize),
1459            )
1460        }
1461    }
1462
1463    #[doc = "VBATT Tamper detection Control  Register 2"]
1464    #[inline(always)]
1465    pub const fn vbtadcr2(
1466        &self,
1467    ) -> &'static crate::common::Reg<self::Vbtadcr2_SPEC, crate::common::RW> {
1468        unsafe {
1469            crate::common::Reg::<self::Vbtadcr2_SPEC, crate::common::RW>::from_ptr(
1470                self._svd2pac_as_ptr().add(3146usize),
1471            )
1472        }
1473    }
1474
1475    #[doc = "VBATT Input Control Register"]
1476    #[inline(always)]
1477    pub const fn vbtictlr(
1478        &self,
1479    ) -> &'static crate::common::Reg<self::Vbtictlr_SPEC, crate::common::RW> {
1480        unsafe {
1481            crate::common::Reg::<self::Vbtictlr_SPEC, crate::common::RW>::from_ptr(
1482                self._svd2pac_as_ptr().add(3148usize),
1483            )
1484        }
1485    }
1486
1487    #[doc = "VBATT Input Control Register 2"]
1488    #[inline(always)]
1489    pub const fn vbtictlr2(
1490        &self,
1491    ) -> &'static crate::common::Reg<self::Vbtictlr2_SPEC, crate::common::RW> {
1492        unsafe {
1493            crate::common::Reg::<self::Vbtictlr2_SPEC, crate::common::RW>::from_ptr(
1494                self._svd2pac_as_ptr().add(3149usize),
1495            )
1496        }
1497    }
1498
1499    #[doc = "VBATT Input Monitor Register"]
1500    #[inline(always)]
1501    pub const fn vbtimonr(
1502        &self,
1503    ) -> &'static crate::common::Reg<self::Vbtimonr_SPEC, crate::common::RW> {
1504        unsafe {
1505            crate::common::Reg::<self::Vbtimonr_SPEC, crate::common::RW>::from_ptr(
1506                self._svd2pac_as_ptr().add(3150usize),
1507            )
1508        }
1509    }
1510
1511    #[doc = "VBATT Backup Register %s"]
1512    #[inline(always)]
1513    pub const fn vbtbkr(
1514        &self,
1515    ) -> &'static crate::common::ClusterRegisterArray<
1516        crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW>,
1517        128,
1518        0x1,
1519    > {
1520        unsafe {
1521            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xd00usize))
1522        }
1523    }
1524    #[inline(always)]
1525    pub const fn vbtbkr0(
1526        &self,
1527    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1528        unsafe {
1529            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1530                self._svd2pac_as_ptr().add(0xd00usize),
1531            )
1532        }
1533    }
1534    #[inline(always)]
1535    pub const fn vbtbkr1(
1536        &self,
1537    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1538        unsafe {
1539            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1540                self._svd2pac_as_ptr().add(0xd01usize),
1541            )
1542        }
1543    }
1544    #[inline(always)]
1545    pub const fn vbtbkr2(
1546        &self,
1547    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1548        unsafe {
1549            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1550                self._svd2pac_as_ptr().add(0xd02usize),
1551            )
1552        }
1553    }
1554    #[inline(always)]
1555    pub const fn vbtbkr3(
1556        &self,
1557    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1558        unsafe {
1559            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1560                self._svd2pac_as_ptr().add(0xd03usize),
1561            )
1562        }
1563    }
1564    #[inline(always)]
1565    pub const fn vbtbkr4(
1566        &self,
1567    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1568        unsafe {
1569            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1570                self._svd2pac_as_ptr().add(0xd04usize),
1571            )
1572        }
1573    }
1574    #[inline(always)]
1575    pub const fn vbtbkr5(
1576        &self,
1577    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1578        unsafe {
1579            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1580                self._svd2pac_as_ptr().add(0xd05usize),
1581            )
1582        }
1583    }
1584    #[inline(always)]
1585    pub const fn vbtbkr6(
1586        &self,
1587    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1588        unsafe {
1589            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1590                self._svd2pac_as_ptr().add(0xd06usize),
1591            )
1592        }
1593    }
1594    #[inline(always)]
1595    pub const fn vbtbkr7(
1596        &self,
1597    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1598        unsafe {
1599            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1600                self._svd2pac_as_ptr().add(0xd07usize),
1601            )
1602        }
1603    }
1604    #[inline(always)]
1605    pub const fn vbtbkr8(
1606        &self,
1607    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1608        unsafe {
1609            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1610                self._svd2pac_as_ptr().add(0xd08usize),
1611            )
1612        }
1613    }
1614    #[inline(always)]
1615    pub const fn vbtbkr9(
1616        &self,
1617    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1618        unsafe {
1619            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1620                self._svd2pac_as_ptr().add(0xd09usize),
1621            )
1622        }
1623    }
1624    #[inline(always)]
1625    pub const fn vbtbkr10(
1626        &self,
1627    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1628        unsafe {
1629            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1630                self._svd2pac_as_ptr().add(0xd0ausize),
1631            )
1632        }
1633    }
1634    #[inline(always)]
1635    pub const fn vbtbkr11(
1636        &self,
1637    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1638        unsafe {
1639            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1640                self._svd2pac_as_ptr().add(0xd0busize),
1641            )
1642        }
1643    }
1644    #[inline(always)]
1645    pub const fn vbtbkr12(
1646        &self,
1647    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1648        unsafe {
1649            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1650                self._svd2pac_as_ptr().add(0xd0cusize),
1651            )
1652        }
1653    }
1654    #[inline(always)]
1655    pub const fn vbtbkr13(
1656        &self,
1657    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1658        unsafe {
1659            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1660                self._svd2pac_as_ptr().add(0xd0dusize),
1661            )
1662        }
1663    }
1664    #[inline(always)]
1665    pub const fn vbtbkr14(
1666        &self,
1667    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1668        unsafe {
1669            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1670                self._svd2pac_as_ptr().add(0xd0eusize),
1671            )
1672        }
1673    }
1674    #[inline(always)]
1675    pub const fn vbtbkr15(
1676        &self,
1677    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1678        unsafe {
1679            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1680                self._svd2pac_as_ptr().add(0xd0fusize),
1681            )
1682        }
1683    }
1684    #[inline(always)]
1685    pub const fn vbtbkr16(
1686        &self,
1687    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1688        unsafe {
1689            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1690                self._svd2pac_as_ptr().add(0xd10usize),
1691            )
1692        }
1693    }
1694    #[inline(always)]
1695    pub const fn vbtbkr17(
1696        &self,
1697    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1698        unsafe {
1699            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1700                self._svd2pac_as_ptr().add(0xd11usize),
1701            )
1702        }
1703    }
1704    #[inline(always)]
1705    pub const fn vbtbkr18(
1706        &self,
1707    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1708        unsafe {
1709            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1710                self._svd2pac_as_ptr().add(0xd12usize),
1711            )
1712        }
1713    }
1714    #[inline(always)]
1715    pub const fn vbtbkr19(
1716        &self,
1717    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1718        unsafe {
1719            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1720                self._svd2pac_as_ptr().add(0xd13usize),
1721            )
1722        }
1723    }
1724    #[inline(always)]
1725    pub const fn vbtbkr20(
1726        &self,
1727    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1728        unsafe {
1729            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1730                self._svd2pac_as_ptr().add(0xd14usize),
1731            )
1732        }
1733    }
1734    #[inline(always)]
1735    pub const fn vbtbkr21(
1736        &self,
1737    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1738        unsafe {
1739            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1740                self._svd2pac_as_ptr().add(0xd15usize),
1741            )
1742        }
1743    }
1744    #[inline(always)]
1745    pub const fn vbtbkr22(
1746        &self,
1747    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1748        unsafe {
1749            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1750                self._svd2pac_as_ptr().add(0xd16usize),
1751            )
1752        }
1753    }
1754    #[inline(always)]
1755    pub const fn vbtbkr23(
1756        &self,
1757    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1758        unsafe {
1759            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1760                self._svd2pac_as_ptr().add(0xd17usize),
1761            )
1762        }
1763    }
1764    #[inline(always)]
1765    pub const fn vbtbkr24(
1766        &self,
1767    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1768        unsafe {
1769            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1770                self._svd2pac_as_ptr().add(0xd18usize),
1771            )
1772        }
1773    }
1774    #[inline(always)]
1775    pub const fn vbtbkr25(
1776        &self,
1777    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1778        unsafe {
1779            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1780                self._svd2pac_as_ptr().add(0xd19usize),
1781            )
1782        }
1783    }
1784    #[inline(always)]
1785    pub const fn vbtbkr26(
1786        &self,
1787    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1788        unsafe {
1789            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1790                self._svd2pac_as_ptr().add(0xd1ausize),
1791            )
1792        }
1793    }
1794    #[inline(always)]
1795    pub const fn vbtbkr27(
1796        &self,
1797    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1798        unsafe {
1799            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1800                self._svd2pac_as_ptr().add(0xd1busize),
1801            )
1802        }
1803    }
1804    #[inline(always)]
1805    pub const fn vbtbkr28(
1806        &self,
1807    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1808        unsafe {
1809            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1810                self._svd2pac_as_ptr().add(0xd1cusize),
1811            )
1812        }
1813    }
1814    #[inline(always)]
1815    pub const fn vbtbkr29(
1816        &self,
1817    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1818        unsafe {
1819            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1820                self._svd2pac_as_ptr().add(0xd1dusize),
1821            )
1822        }
1823    }
1824    #[inline(always)]
1825    pub const fn vbtbkr30(
1826        &self,
1827    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1828        unsafe {
1829            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1830                self._svd2pac_as_ptr().add(0xd1eusize),
1831            )
1832        }
1833    }
1834    #[inline(always)]
1835    pub const fn vbtbkr31(
1836        &self,
1837    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1838        unsafe {
1839            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1840                self._svd2pac_as_ptr().add(0xd1fusize),
1841            )
1842        }
1843    }
1844    #[inline(always)]
1845    pub const fn vbtbkr32(
1846        &self,
1847    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1848        unsafe {
1849            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1850                self._svd2pac_as_ptr().add(0xd20usize),
1851            )
1852        }
1853    }
1854    #[inline(always)]
1855    pub const fn vbtbkr33(
1856        &self,
1857    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1858        unsafe {
1859            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1860                self._svd2pac_as_ptr().add(0xd21usize),
1861            )
1862        }
1863    }
1864    #[inline(always)]
1865    pub const fn vbtbkr34(
1866        &self,
1867    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1868        unsafe {
1869            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1870                self._svd2pac_as_ptr().add(0xd22usize),
1871            )
1872        }
1873    }
1874    #[inline(always)]
1875    pub const fn vbtbkr35(
1876        &self,
1877    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1878        unsafe {
1879            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1880                self._svd2pac_as_ptr().add(0xd23usize),
1881            )
1882        }
1883    }
1884    #[inline(always)]
1885    pub const fn vbtbkr36(
1886        &self,
1887    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1888        unsafe {
1889            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1890                self._svd2pac_as_ptr().add(0xd24usize),
1891            )
1892        }
1893    }
1894    #[inline(always)]
1895    pub const fn vbtbkr37(
1896        &self,
1897    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1898        unsafe {
1899            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1900                self._svd2pac_as_ptr().add(0xd25usize),
1901            )
1902        }
1903    }
1904    #[inline(always)]
1905    pub const fn vbtbkr38(
1906        &self,
1907    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1908        unsafe {
1909            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1910                self._svd2pac_as_ptr().add(0xd26usize),
1911            )
1912        }
1913    }
1914    #[inline(always)]
1915    pub const fn vbtbkr39(
1916        &self,
1917    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1918        unsafe {
1919            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1920                self._svd2pac_as_ptr().add(0xd27usize),
1921            )
1922        }
1923    }
1924    #[inline(always)]
1925    pub const fn vbtbkr40(
1926        &self,
1927    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1928        unsafe {
1929            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1930                self._svd2pac_as_ptr().add(0xd28usize),
1931            )
1932        }
1933    }
1934    #[inline(always)]
1935    pub const fn vbtbkr41(
1936        &self,
1937    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1938        unsafe {
1939            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1940                self._svd2pac_as_ptr().add(0xd29usize),
1941            )
1942        }
1943    }
1944    #[inline(always)]
1945    pub const fn vbtbkr42(
1946        &self,
1947    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1948        unsafe {
1949            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1950                self._svd2pac_as_ptr().add(0xd2ausize),
1951            )
1952        }
1953    }
1954    #[inline(always)]
1955    pub const fn vbtbkr43(
1956        &self,
1957    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1958        unsafe {
1959            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1960                self._svd2pac_as_ptr().add(0xd2busize),
1961            )
1962        }
1963    }
1964    #[inline(always)]
1965    pub const fn vbtbkr44(
1966        &self,
1967    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1968        unsafe {
1969            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1970                self._svd2pac_as_ptr().add(0xd2cusize),
1971            )
1972        }
1973    }
1974    #[inline(always)]
1975    pub const fn vbtbkr45(
1976        &self,
1977    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1978        unsafe {
1979            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1980                self._svd2pac_as_ptr().add(0xd2dusize),
1981            )
1982        }
1983    }
1984    #[inline(always)]
1985    pub const fn vbtbkr46(
1986        &self,
1987    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1988        unsafe {
1989            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
1990                self._svd2pac_as_ptr().add(0xd2eusize),
1991            )
1992        }
1993    }
1994    #[inline(always)]
1995    pub const fn vbtbkr47(
1996        &self,
1997    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
1998        unsafe {
1999            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2000                self._svd2pac_as_ptr().add(0xd2fusize),
2001            )
2002        }
2003    }
2004    #[inline(always)]
2005    pub const fn vbtbkr48(
2006        &self,
2007    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2008        unsafe {
2009            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2010                self._svd2pac_as_ptr().add(0xd30usize),
2011            )
2012        }
2013    }
2014    #[inline(always)]
2015    pub const fn vbtbkr49(
2016        &self,
2017    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2018        unsafe {
2019            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2020                self._svd2pac_as_ptr().add(0xd31usize),
2021            )
2022        }
2023    }
2024    #[inline(always)]
2025    pub const fn vbtbkr50(
2026        &self,
2027    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2028        unsafe {
2029            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2030                self._svd2pac_as_ptr().add(0xd32usize),
2031            )
2032        }
2033    }
2034    #[inline(always)]
2035    pub const fn vbtbkr51(
2036        &self,
2037    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2038        unsafe {
2039            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2040                self._svd2pac_as_ptr().add(0xd33usize),
2041            )
2042        }
2043    }
2044    #[inline(always)]
2045    pub const fn vbtbkr52(
2046        &self,
2047    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2048        unsafe {
2049            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2050                self._svd2pac_as_ptr().add(0xd34usize),
2051            )
2052        }
2053    }
2054    #[inline(always)]
2055    pub const fn vbtbkr53(
2056        &self,
2057    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2058        unsafe {
2059            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2060                self._svd2pac_as_ptr().add(0xd35usize),
2061            )
2062        }
2063    }
2064    #[inline(always)]
2065    pub const fn vbtbkr54(
2066        &self,
2067    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2068        unsafe {
2069            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2070                self._svd2pac_as_ptr().add(0xd36usize),
2071            )
2072        }
2073    }
2074    #[inline(always)]
2075    pub const fn vbtbkr55(
2076        &self,
2077    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2078        unsafe {
2079            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2080                self._svd2pac_as_ptr().add(0xd37usize),
2081            )
2082        }
2083    }
2084    #[inline(always)]
2085    pub const fn vbtbkr56(
2086        &self,
2087    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2088        unsafe {
2089            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2090                self._svd2pac_as_ptr().add(0xd38usize),
2091            )
2092        }
2093    }
2094    #[inline(always)]
2095    pub const fn vbtbkr57(
2096        &self,
2097    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2098        unsafe {
2099            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2100                self._svd2pac_as_ptr().add(0xd39usize),
2101            )
2102        }
2103    }
2104    #[inline(always)]
2105    pub const fn vbtbkr58(
2106        &self,
2107    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2108        unsafe {
2109            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2110                self._svd2pac_as_ptr().add(0xd3ausize),
2111            )
2112        }
2113    }
2114    #[inline(always)]
2115    pub const fn vbtbkr59(
2116        &self,
2117    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2118        unsafe {
2119            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2120                self._svd2pac_as_ptr().add(0xd3busize),
2121            )
2122        }
2123    }
2124    #[inline(always)]
2125    pub const fn vbtbkr60(
2126        &self,
2127    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2128        unsafe {
2129            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2130                self._svd2pac_as_ptr().add(0xd3cusize),
2131            )
2132        }
2133    }
2134    #[inline(always)]
2135    pub const fn vbtbkr61(
2136        &self,
2137    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2138        unsafe {
2139            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2140                self._svd2pac_as_ptr().add(0xd3dusize),
2141            )
2142        }
2143    }
2144    #[inline(always)]
2145    pub const fn vbtbkr62(
2146        &self,
2147    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2148        unsafe {
2149            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2150                self._svd2pac_as_ptr().add(0xd3eusize),
2151            )
2152        }
2153    }
2154    #[inline(always)]
2155    pub const fn vbtbkr63(
2156        &self,
2157    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2158        unsafe {
2159            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2160                self._svd2pac_as_ptr().add(0xd3fusize),
2161            )
2162        }
2163    }
2164    #[inline(always)]
2165    pub const fn vbtbkr64(
2166        &self,
2167    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2168        unsafe {
2169            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2170                self._svd2pac_as_ptr().add(0xd40usize),
2171            )
2172        }
2173    }
2174    #[inline(always)]
2175    pub const fn vbtbkr65(
2176        &self,
2177    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2178        unsafe {
2179            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2180                self._svd2pac_as_ptr().add(0xd41usize),
2181            )
2182        }
2183    }
2184    #[inline(always)]
2185    pub const fn vbtbkr66(
2186        &self,
2187    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2188        unsafe {
2189            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2190                self._svd2pac_as_ptr().add(0xd42usize),
2191            )
2192        }
2193    }
2194    #[inline(always)]
2195    pub const fn vbtbkr67(
2196        &self,
2197    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2198        unsafe {
2199            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2200                self._svd2pac_as_ptr().add(0xd43usize),
2201            )
2202        }
2203    }
2204    #[inline(always)]
2205    pub const fn vbtbkr68(
2206        &self,
2207    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2208        unsafe {
2209            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2210                self._svd2pac_as_ptr().add(0xd44usize),
2211            )
2212        }
2213    }
2214    #[inline(always)]
2215    pub const fn vbtbkr69(
2216        &self,
2217    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2218        unsafe {
2219            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2220                self._svd2pac_as_ptr().add(0xd45usize),
2221            )
2222        }
2223    }
2224    #[inline(always)]
2225    pub const fn vbtbkr70(
2226        &self,
2227    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2228        unsafe {
2229            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2230                self._svd2pac_as_ptr().add(0xd46usize),
2231            )
2232        }
2233    }
2234    #[inline(always)]
2235    pub const fn vbtbkr71(
2236        &self,
2237    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2238        unsafe {
2239            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2240                self._svd2pac_as_ptr().add(0xd47usize),
2241            )
2242        }
2243    }
2244    #[inline(always)]
2245    pub const fn vbtbkr72(
2246        &self,
2247    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2248        unsafe {
2249            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2250                self._svd2pac_as_ptr().add(0xd48usize),
2251            )
2252        }
2253    }
2254    #[inline(always)]
2255    pub const fn vbtbkr73(
2256        &self,
2257    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2258        unsafe {
2259            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2260                self._svd2pac_as_ptr().add(0xd49usize),
2261            )
2262        }
2263    }
2264    #[inline(always)]
2265    pub const fn vbtbkr74(
2266        &self,
2267    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2268        unsafe {
2269            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2270                self._svd2pac_as_ptr().add(0xd4ausize),
2271            )
2272        }
2273    }
2274    #[inline(always)]
2275    pub const fn vbtbkr75(
2276        &self,
2277    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2278        unsafe {
2279            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2280                self._svd2pac_as_ptr().add(0xd4busize),
2281            )
2282        }
2283    }
2284    #[inline(always)]
2285    pub const fn vbtbkr76(
2286        &self,
2287    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2288        unsafe {
2289            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2290                self._svd2pac_as_ptr().add(0xd4cusize),
2291            )
2292        }
2293    }
2294    #[inline(always)]
2295    pub const fn vbtbkr77(
2296        &self,
2297    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2298        unsafe {
2299            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2300                self._svd2pac_as_ptr().add(0xd4dusize),
2301            )
2302        }
2303    }
2304    #[inline(always)]
2305    pub const fn vbtbkr78(
2306        &self,
2307    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2308        unsafe {
2309            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2310                self._svd2pac_as_ptr().add(0xd4eusize),
2311            )
2312        }
2313    }
2314    #[inline(always)]
2315    pub const fn vbtbkr79(
2316        &self,
2317    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2318        unsafe {
2319            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2320                self._svd2pac_as_ptr().add(0xd4fusize),
2321            )
2322        }
2323    }
2324    #[inline(always)]
2325    pub const fn vbtbkr80(
2326        &self,
2327    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2328        unsafe {
2329            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2330                self._svd2pac_as_ptr().add(0xd50usize),
2331            )
2332        }
2333    }
2334    #[inline(always)]
2335    pub const fn vbtbkr81(
2336        &self,
2337    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2338        unsafe {
2339            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2340                self._svd2pac_as_ptr().add(0xd51usize),
2341            )
2342        }
2343    }
2344    #[inline(always)]
2345    pub const fn vbtbkr82(
2346        &self,
2347    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2348        unsafe {
2349            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2350                self._svd2pac_as_ptr().add(0xd52usize),
2351            )
2352        }
2353    }
2354    #[inline(always)]
2355    pub const fn vbtbkr83(
2356        &self,
2357    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2358        unsafe {
2359            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2360                self._svd2pac_as_ptr().add(0xd53usize),
2361            )
2362        }
2363    }
2364    #[inline(always)]
2365    pub const fn vbtbkr84(
2366        &self,
2367    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2368        unsafe {
2369            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2370                self._svd2pac_as_ptr().add(0xd54usize),
2371            )
2372        }
2373    }
2374    #[inline(always)]
2375    pub const fn vbtbkr85(
2376        &self,
2377    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2378        unsafe {
2379            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2380                self._svd2pac_as_ptr().add(0xd55usize),
2381            )
2382        }
2383    }
2384    #[inline(always)]
2385    pub const fn vbtbkr86(
2386        &self,
2387    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2388        unsafe {
2389            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2390                self._svd2pac_as_ptr().add(0xd56usize),
2391            )
2392        }
2393    }
2394    #[inline(always)]
2395    pub const fn vbtbkr87(
2396        &self,
2397    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2398        unsafe {
2399            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2400                self._svd2pac_as_ptr().add(0xd57usize),
2401            )
2402        }
2403    }
2404    #[inline(always)]
2405    pub const fn vbtbkr88(
2406        &self,
2407    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2408        unsafe {
2409            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2410                self._svd2pac_as_ptr().add(0xd58usize),
2411            )
2412        }
2413    }
2414    #[inline(always)]
2415    pub const fn vbtbkr89(
2416        &self,
2417    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2418        unsafe {
2419            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2420                self._svd2pac_as_ptr().add(0xd59usize),
2421            )
2422        }
2423    }
2424    #[inline(always)]
2425    pub const fn vbtbkr90(
2426        &self,
2427    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2428        unsafe {
2429            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2430                self._svd2pac_as_ptr().add(0xd5ausize),
2431            )
2432        }
2433    }
2434    #[inline(always)]
2435    pub const fn vbtbkr91(
2436        &self,
2437    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2438        unsafe {
2439            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2440                self._svd2pac_as_ptr().add(0xd5busize),
2441            )
2442        }
2443    }
2444    #[inline(always)]
2445    pub const fn vbtbkr92(
2446        &self,
2447    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2448        unsafe {
2449            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2450                self._svd2pac_as_ptr().add(0xd5cusize),
2451            )
2452        }
2453    }
2454    #[inline(always)]
2455    pub const fn vbtbkr93(
2456        &self,
2457    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2458        unsafe {
2459            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2460                self._svd2pac_as_ptr().add(0xd5dusize),
2461            )
2462        }
2463    }
2464    #[inline(always)]
2465    pub const fn vbtbkr94(
2466        &self,
2467    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2468        unsafe {
2469            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2470                self._svd2pac_as_ptr().add(0xd5eusize),
2471            )
2472        }
2473    }
2474    #[inline(always)]
2475    pub const fn vbtbkr95(
2476        &self,
2477    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2478        unsafe {
2479            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2480                self._svd2pac_as_ptr().add(0xd5fusize),
2481            )
2482        }
2483    }
2484    #[inline(always)]
2485    pub const fn vbtbkr96(
2486        &self,
2487    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2488        unsafe {
2489            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2490                self._svd2pac_as_ptr().add(0xd60usize),
2491            )
2492        }
2493    }
2494    #[inline(always)]
2495    pub const fn vbtbkr97(
2496        &self,
2497    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2498        unsafe {
2499            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2500                self._svd2pac_as_ptr().add(0xd61usize),
2501            )
2502        }
2503    }
2504    #[inline(always)]
2505    pub const fn vbtbkr98(
2506        &self,
2507    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2508        unsafe {
2509            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2510                self._svd2pac_as_ptr().add(0xd62usize),
2511            )
2512        }
2513    }
2514    #[inline(always)]
2515    pub const fn vbtbkr99(
2516        &self,
2517    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2518        unsafe {
2519            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2520                self._svd2pac_as_ptr().add(0xd63usize),
2521            )
2522        }
2523    }
2524    #[inline(always)]
2525    pub const fn vbtbkr100(
2526        &self,
2527    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2528        unsafe {
2529            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2530                self._svd2pac_as_ptr().add(0xd64usize),
2531            )
2532        }
2533    }
2534    #[inline(always)]
2535    pub const fn vbtbkr101(
2536        &self,
2537    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2538        unsafe {
2539            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2540                self._svd2pac_as_ptr().add(0xd65usize),
2541            )
2542        }
2543    }
2544    #[inline(always)]
2545    pub const fn vbtbkr102(
2546        &self,
2547    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2548        unsafe {
2549            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2550                self._svd2pac_as_ptr().add(0xd66usize),
2551            )
2552        }
2553    }
2554    #[inline(always)]
2555    pub const fn vbtbkr103(
2556        &self,
2557    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2558        unsafe {
2559            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2560                self._svd2pac_as_ptr().add(0xd67usize),
2561            )
2562        }
2563    }
2564    #[inline(always)]
2565    pub const fn vbtbkr104(
2566        &self,
2567    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2568        unsafe {
2569            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2570                self._svd2pac_as_ptr().add(0xd68usize),
2571            )
2572        }
2573    }
2574    #[inline(always)]
2575    pub const fn vbtbkr105(
2576        &self,
2577    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2578        unsafe {
2579            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2580                self._svd2pac_as_ptr().add(0xd69usize),
2581            )
2582        }
2583    }
2584    #[inline(always)]
2585    pub const fn vbtbkr106(
2586        &self,
2587    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2588        unsafe {
2589            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2590                self._svd2pac_as_ptr().add(0xd6ausize),
2591            )
2592        }
2593    }
2594    #[inline(always)]
2595    pub const fn vbtbkr107(
2596        &self,
2597    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2598        unsafe {
2599            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2600                self._svd2pac_as_ptr().add(0xd6busize),
2601            )
2602        }
2603    }
2604    #[inline(always)]
2605    pub const fn vbtbkr108(
2606        &self,
2607    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2608        unsafe {
2609            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2610                self._svd2pac_as_ptr().add(0xd6cusize),
2611            )
2612        }
2613    }
2614    #[inline(always)]
2615    pub const fn vbtbkr109(
2616        &self,
2617    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2618        unsafe {
2619            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2620                self._svd2pac_as_ptr().add(0xd6dusize),
2621            )
2622        }
2623    }
2624    #[inline(always)]
2625    pub const fn vbtbkr110(
2626        &self,
2627    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2628        unsafe {
2629            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2630                self._svd2pac_as_ptr().add(0xd6eusize),
2631            )
2632        }
2633    }
2634    #[inline(always)]
2635    pub const fn vbtbkr111(
2636        &self,
2637    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2638        unsafe {
2639            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2640                self._svd2pac_as_ptr().add(0xd6fusize),
2641            )
2642        }
2643    }
2644    #[inline(always)]
2645    pub const fn vbtbkr112(
2646        &self,
2647    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2648        unsafe {
2649            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2650                self._svd2pac_as_ptr().add(0xd70usize),
2651            )
2652        }
2653    }
2654    #[inline(always)]
2655    pub const fn vbtbkr113(
2656        &self,
2657    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2658        unsafe {
2659            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2660                self._svd2pac_as_ptr().add(0xd71usize),
2661            )
2662        }
2663    }
2664    #[inline(always)]
2665    pub const fn vbtbkr114(
2666        &self,
2667    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2668        unsafe {
2669            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2670                self._svd2pac_as_ptr().add(0xd72usize),
2671            )
2672        }
2673    }
2674    #[inline(always)]
2675    pub const fn vbtbkr115(
2676        &self,
2677    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2678        unsafe {
2679            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2680                self._svd2pac_as_ptr().add(0xd73usize),
2681            )
2682        }
2683    }
2684    #[inline(always)]
2685    pub const fn vbtbkr116(
2686        &self,
2687    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2688        unsafe {
2689            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2690                self._svd2pac_as_ptr().add(0xd74usize),
2691            )
2692        }
2693    }
2694    #[inline(always)]
2695    pub const fn vbtbkr117(
2696        &self,
2697    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2698        unsafe {
2699            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2700                self._svd2pac_as_ptr().add(0xd75usize),
2701            )
2702        }
2703    }
2704    #[inline(always)]
2705    pub const fn vbtbkr118(
2706        &self,
2707    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2708        unsafe {
2709            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2710                self._svd2pac_as_ptr().add(0xd76usize),
2711            )
2712        }
2713    }
2714    #[inline(always)]
2715    pub const fn vbtbkr119(
2716        &self,
2717    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2718        unsafe {
2719            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2720                self._svd2pac_as_ptr().add(0xd77usize),
2721            )
2722        }
2723    }
2724    #[inline(always)]
2725    pub const fn vbtbkr120(
2726        &self,
2727    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2728        unsafe {
2729            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2730                self._svd2pac_as_ptr().add(0xd78usize),
2731            )
2732        }
2733    }
2734    #[inline(always)]
2735    pub const fn vbtbkr121(
2736        &self,
2737    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2738        unsafe {
2739            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2740                self._svd2pac_as_ptr().add(0xd79usize),
2741            )
2742        }
2743    }
2744    #[inline(always)]
2745    pub const fn vbtbkr122(
2746        &self,
2747    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2748        unsafe {
2749            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2750                self._svd2pac_as_ptr().add(0xd7ausize),
2751            )
2752        }
2753    }
2754    #[inline(always)]
2755    pub const fn vbtbkr123(
2756        &self,
2757    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2758        unsafe {
2759            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2760                self._svd2pac_as_ptr().add(0xd7busize),
2761            )
2762        }
2763    }
2764    #[inline(always)]
2765    pub const fn vbtbkr124(
2766        &self,
2767    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2768        unsafe {
2769            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2770                self._svd2pac_as_ptr().add(0xd7cusize),
2771            )
2772        }
2773    }
2774    #[inline(always)]
2775    pub const fn vbtbkr125(
2776        &self,
2777    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2778        unsafe {
2779            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2780                self._svd2pac_as_ptr().add(0xd7dusize),
2781            )
2782        }
2783    }
2784    #[inline(always)]
2785    pub const fn vbtbkr126(
2786        &self,
2787    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2788        unsafe {
2789            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2790                self._svd2pac_as_ptr().add(0xd7eusize),
2791            )
2792        }
2793    }
2794    #[inline(always)]
2795    pub const fn vbtbkr127(
2796        &self,
2797    ) -> &'static crate::common::Reg<self::Vbtbkr_SPEC, crate::common::RW> {
2798        unsafe {
2799            crate::common::Reg::<self::Vbtbkr_SPEC, crate::common::RW>::from_ptr(
2800                self._svd2pac_as_ptr().add(0xd7fusize),
2801            )
2802        }
2803    }
2804}
2805#[doc(hidden)]
2806#[derive(Copy, Clone, Eq, PartialEq)]
2807pub struct Sbycr_SPEC;
2808impl crate::sealed::RegSpec for Sbycr_SPEC {
2809    type DataType = u8;
2810}
2811
2812#[doc = "Standby Control Register"]
2813pub type Sbycr = crate::RegValueT<Sbycr_SPEC>;
2814
2815impl Sbycr {
2816    #[doc = "Output Port Enable"]
2817    #[inline(always)]
2818    pub fn ope(
2819        self,
2820    ) -> crate::common::RegisterField<
2821        6,
2822        0x1,
2823        1,
2824        0,
2825        sbycr::Ope,
2826        sbycr::Ope,
2827        Sbycr_SPEC,
2828        crate::common::RW,
2829    > {
2830        crate::common::RegisterField::<
2831            6,
2832            0x1,
2833            1,
2834            0,
2835            sbycr::Ope,
2836            sbycr::Ope,
2837            Sbycr_SPEC,
2838            crate::common::RW,
2839        >::from_register(self, 0)
2840    }
2841
2842    #[doc = "This bit is read as 0. The write value should be 0."]
2843    #[inline(always)]
2844    pub fn reserved(
2845        self,
2846    ) -> crate::common::RegisterFieldBool<7, 1, 0, Sbycr_SPEC, crate::common::RW> {
2847        crate::common::RegisterFieldBool::<7, 1, 0, Sbycr_SPEC, crate::common::RW>::from_register(
2848            self, 0,
2849        )
2850    }
2851}
2852impl ::core::default::Default for Sbycr {
2853    #[inline(always)]
2854    fn default() -> Sbycr {
2855        <crate::RegValueT<Sbycr_SPEC> as RegisterValue<_>>::new(64)
2856    }
2857}
2858pub mod sbycr {
2859
2860    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2861    pub struct Ope_SPEC;
2862    pub type Ope = crate::EnumBitfieldStruct<u8, Ope_SPEC>;
2863    impl Ope {
2864        #[doc = "In software standby mode or deep software standby mode, the address bus and bus control signals are set to the high-impedance state."]
2865        pub const _0: Self = Self::new(0);
2866
2867        #[doc = "In software standby mode or deep software standby mode, the address bus and bus control signals retain the output state.."]
2868        pub const _1: Self = Self::new(1);
2869    }
2870}
2871#[doc(hidden)]
2872#[derive(Copy, Clone, Eq, PartialEq)]
2873pub struct Sscr2_SPEC;
2874impl crate::sealed::RegSpec for Sscr2_SPEC {
2875    type DataType = u8;
2876}
2877
2878#[doc = "Software Standby Control Register 2"]
2879pub type Sscr2 = crate::RegValueT<Sscr2_SPEC>;
2880
2881impl Sscr2 {
2882    #[doc = "Software Standby 1 regulator status flag"]
2883    #[inline(always)]
2884    pub fn ss1rsf(
2885        self,
2886    ) -> crate::common::RegisterField<
2887        0,
2888        0x1,
2889        1,
2890        0,
2891        sscr2::Ss1Rsf,
2892        sscr2::Ss1Rsf,
2893        Sscr2_SPEC,
2894        crate::common::R,
2895    > {
2896        crate::common::RegisterField::<
2897            0,
2898            0x1,
2899            1,
2900            0,
2901            sscr2::Ss1Rsf,
2902            sscr2::Ss1Rsf,
2903            Sscr2_SPEC,
2904            crate::common::R,
2905        >::from_register(self, 0)
2906    }
2907
2908    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
2909    #[inline(always)]
2910    pub fn reserved(
2911        self,
2912    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Sscr2_SPEC, crate::common::RW> {
2913        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Sscr2_SPEC,crate::common::RW>::from_register(self,0)
2914    }
2915}
2916impl ::core::default::Default for Sscr2 {
2917    #[inline(always)]
2918    fn default() -> Sscr2 {
2919        <crate::RegValueT<Sscr2_SPEC> as RegisterValue<_>>::new(0)
2920    }
2921}
2922pub mod sscr2 {
2923
2924    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2925    pub struct Ss1Rsf_SPEC;
2926    pub type Ss1Rsf = crate::EnumBitfieldStruct<u8, Ss1Rsf_SPEC>;
2927    impl Ss1Rsf {
2928        #[doc = "After returning from Software Standby mode 1, the regulator is fully stabilized ."]
2929        pub const _0: Self = Self::new(0);
2930
2931        #[doc = "After returning from Software Standby mode 1, the regulator is not fully stabilized ."]
2932        pub const _1: Self = Self::new(1);
2933    }
2934}
2935#[doc(hidden)]
2936#[derive(Copy, Clone, Eq, PartialEq)]
2937pub struct Flscr_SPEC;
2938impl crate::sealed::RegSpec for Flscr_SPEC {
2939    type DataType = u8;
2940}
2941
2942#[doc = "Flash Standby Control Register"]
2943pub type Flscr = crate::RegValueT<Flscr_SPEC>;
2944
2945impl Flscr {
2946    #[doc = "Flash Stabilization wait completion flag"]
2947    #[inline(always)]
2948    pub fn flswcf(
2949        self,
2950    ) -> crate::common::RegisterField<
2951        0,
2952        0x1,
2953        1,
2954        0,
2955        flscr::Flswcf,
2956        flscr::Flswcf,
2957        Flscr_SPEC,
2958        crate::common::RW,
2959    > {
2960        crate::common::RegisterField::<
2961            0,
2962            0x1,
2963            1,
2964            0,
2965            flscr::Flswcf,
2966            flscr::Flswcf,
2967            Flscr_SPEC,
2968            crate::common::RW,
2969        >::from_register(self, 0)
2970    }
2971
2972    #[doc = "This bit is read as 0. The write value should be 0."]
2973    #[inline(always)]
2974    pub fn reserved(
2975        self,
2976    ) -> crate::common::RegisterFieldBool<7, 1, 0, Flscr_SPEC, crate::common::RW> {
2977        crate::common::RegisterFieldBool::<7, 1, 0, Flscr_SPEC, crate::common::RW>::from_register(
2978            self, 0,
2979        )
2980    }
2981}
2982impl ::core::default::Default for Flscr {
2983    #[inline(always)]
2984    fn default() -> Flscr {
2985        <crate::RegValueT<Flscr_SPEC> as RegisterValue<_>>::new(1)
2986    }
2987}
2988pub mod flscr {
2989
2990    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2991    pub struct Flswcf_SPEC;
2992    pub type Flswcf = crate::EnumBitfieldStruct<u8, Flswcf_SPEC>;
2993    impl Flswcf {
2994        #[doc = "Flash stabilization wait time is not completed when returning to Normal mode from Software standby mode."]
2995        pub const _0: Self = Self::new(0);
2996
2997        #[doc = "Flash stabilization wait time is completed when returning to Normal mode from Software standby mode."]
2998        pub const _1: Self = Self::new(1);
2999    }
3000}
3001#[doc(hidden)]
3002#[derive(Copy, Clone, Eq, PartialEq)]
3003pub struct Sckdivcr_SPEC;
3004impl crate::sealed::RegSpec for Sckdivcr_SPEC {
3005    type DataType = u32;
3006}
3007
3008#[doc = "System Clock Division Control Register"]
3009pub type Sckdivcr = crate::RegValueT<Sckdivcr_SPEC>;
3010
3011impl Sckdivcr {
3012    #[doc = "Peripheral Module Clock D (PCLKD) Select"]
3013    #[inline(always)]
3014    pub fn pckd(
3015        self,
3016    ) -> crate::common::RegisterField<
3017        0,
3018        0xf,
3019        1,
3020        0,
3021        sckdivcr::Pckd,
3022        sckdivcr::Pckd,
3023        Sckdivcr_SPEC,
3024        crate::common::RW,
3025    > {
3026        crate::common::RegisterField::<
3027            0,
3028            0xf,
3029            1,
3030            0,
3031            sckdivcr::Pckd,
3032            sckdivcr::Pckd,
3033            Sckdivcr_SPEC,
3034            crate::common::RW,
3035        >::from_register(self, 0)
3036    }
3037
3038    #[doc = "Peripheral Module Clock C (PCLKC) Select"]
3039    #[inline(always)]
3040    pub fn pckc(
3041        self,
3042    ) -> crate::common::RegisterField<
3043        4,
3044        0xf,
3045        1,
3046        0,
3047        sckdivcr::Pckc,
3048        sckdivcr::Pckc,
3049        Sckdivcr_SPEC,
3050        crate::common::RW,
3051    > {
3052        crate::common::RegisterField::<
3053            4,
3054            0xf,
3055            1,
3056            0,
3057            sckdivcr::Pckc,
3058            sckdivcr::Pckc,
3059            Sckdivcr_SPEC,
3060            crate::common::RW,
3061        >::from_register(self, 0)
3062    }
3063
3064    #[doc = "Peripheral Module Clock B (PCLKB) Select"]
3065    #[inline(always)]
3066    pub fn pckb(
3067        self,
3068    ) -> crate::common::RegisterField<
3069        8,
3070        0xf,
3071        1,
3072        0,
3073        sckdivcr::Pckb,
3074        sckdivcr::Pckb,
3075        Sckdivcr_SPEC,
3076        crate::common::RW,
3077    > {
3078        crate::common::RegisterField::<
3079            8,
3080            0xf,
3081            1,
3082            0,
3083            sckdivcr::Pckb,
3084            sckdivcr::Pckb,
3085            Sckdivcr_SPEC,
3086            crate::common::RW,
3087        >::from_register(self, 0)
3088    }
3089
3090    #[doc = "Peripheral Module Clock A (PCLKA) Select"]
3091    #[inline(always)]
3092    pub fn pcka(
3093        self,
3094    ) -> crate::common::RegisterField<
3095        12,
3096        0xf,
3097        1,
3098        0,
3099        sckdivcr::Pcka,
3100        sckdivcr::Pcka,
3101        Sckdivcr_SPEC,
3102        crate::common::RW,
3103    > {
3104        crate::common::RegisterField::<
3105            12,
3106            0xf,
3107            1,
3108            0,
3109            sckdivcr::Pcka,
3110            sckdivcr::Pcka,
3111            Sckdivcr_SPEC,
3112            crate::common::RW,
3113        >::from_register(self, 0)
3114    }
3115
3116    #[doc = "External Bus Clock (BCLK) Select"]
3117    #[inline(always)]
3118    pub fn bck(
3119        self,
3120    ) -> crate::common::RegisterField<
3121        16,
3122        0xf,
3123        1,
3124        0,
3125        sckdivcr::Bck,
3126        sckdivcr::Bck,
3127        Sckdivcr_SPEC,
3128        crate::common::RW,
3129    > {
3130        crate::common::RegisterField::<
3131            16,
3132            0xf,
3133            1,
3134            0,
3135            sckdivcr::Bck,
3136            sckdivcr::Bck,
3137            Sckdivcr_SPEC,
3138            crate::common::RW,
3139        >::from_register(self, 0)
3140    }
3141
3142    #[doc = "Peripheral Module Clock E (PCLKE) Select"]
3143    #[inline(always)]
3144    pub fn pcke(
3145        self,
3146    ) -> crate::common::RegisterField<
3147        20,
3148        0xf,
3149        1,
3150        0,
3151        sckdivcr::Pcke,
3152        sckdivcr::Pcke,
3153        Sckdivcr_SPEC,
3154        crate::common::RW,
3155    > {
3156        crate::common::RegisterField::<
3157            20,
3158            0xf,
3159            1,
3160            0,
3161            sckdivcr::Pcke,
3162            sckdivcr::Pcke,
3163            Sckdivcr_SPEC,
3164            crate::common::RW,
3165        >::from_register(self, 0)
3166    }
3167
3168    #[doc = "System Clock (ICLK) Select"]
3169    #[inline(always)]
3170    pub fn ick(
3171        self,
3172    ) -> crate::common::RegisterField<
3173        24,
3174        0xf,
3175        1,
3176        0,
3177        sckdivcr::Ick,
3178        sckdivcr::Ick,
3179        Sckdivcr_SPEC,
3180        crate::common::RW,
3181    > {
3182        crate::common::RegisterField::<
3183            24,
3184            0xf,
3185            1,
3186            0,
3187            sckdivcr::Ick,
3188            sckdivcr::Ick,
3189            Sckdivcr_SPEC,
3190            crate::common::RW,
3191        >::from_register(self, 0)
3192    }
3193
3194    #[doc = "Flash IF Clock (FCLK) Select"]
3195    #[inline(always)]
3196    pub fn fck(
3197        self,
3198    ) -> crate::common::RegisterField<
3199        28,
3200        0xf,
3201        1,
3202        0,
3203        sckdivcr::Fck,
3204        sckdivcr::Fck,
3205        Sckdivcr_SPEC,
3206        crate::common::RW,
3207    > {
3208        crate::common::RegisterField::<
3209            28,
3210            0xf,
3211            1,
3212            0,
3213            sckdivcr::Fck,
3214            sckdivcr::Fck,
3215            Sckdivcr_SPEC,
3216            crate::common::RW,
3217        >::from_register(self, 0)
3218    }
3219}
3220impl ::core::default::Default for Sckdivcr {
3221    #[inline(always)]
3222    fn default() -> Sckdivcr {
3223        <crate::RegValueT<Sckdivcr_SPEC> as RegisterValue<_>>::new(0)
3224    }
3225}
3226pub mod sckdivcr {
3227
3228    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3229    pub struct Pckd_SPEC;
3230    pub type Pckd = crate::EnumBitfieldStruct<u8, Pckd_SPEC>;
3231    impl Pckd {
3232        #[doc = "/1 (value after reset)"]
3233        pub const _0000: Self = Self::new(0);
3234
3235        #[doc = "/2"]
3236        pub const _0001: Self = Self::new(1);
3237
3238        #[doc = "/4"]
3239        pub const _0010: Self = Self::new(2);
3240
3241        #[doc = "/8"]
3242        pub const _0011: Self = Self::new(3);
3243
3244        #[doc = "/16"]
3245        pub const _0100: Self = Self::new(4);
3246
3247        #[doc = "/32"]
3248        pub const _0101: Self = Self::new(5);
3249
3250        #[doc = "/64"]
3251        pub const _0110: Self = Self::new(6);
3252
3253        #[doc = "/3"]
3254        pub const _1000: Self = Self::new(8);
3255
3256        #[doc = "/6"]
3257        pub const _1001: Self = Self::new(9);
3258
3259        #[doc = "/12"]
3260        pub const _1010: Self = Self::new(10);
3261    }
3262    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3263    pub struct Pckc_SPEC;
3264    pub type Pckc = crate::EnumBitfieldStruct<u8, Pckc_SPEC>;
3265    impl Pckc {
3266        #[doc = "/1 (value after reset)"]
3267        pub const _0000: Self = Self::new(0);
3268
3269        #[doc = "/2"]
3270        pub const _0001: Self = Self::new(1);
3271
3272        #[doc = "/4"]
3273        pub const _0010: Self = Self::new(2);
3274
3275        #[doc = "/8"]
3276        pub const _0011: Self = Self::new(3);
3277
3278        #[doc = "/16"]
3279        pub const _0100: Self = Self::new(4);
3280
3281        #[doc = "/32"]
3282        pub const _0101: Self = Self::new(5);
3283
3284        #[doc = "/64"]
3285        pub const _0110: Self = Self::new(6);
3286
3287        #[doc = "/3"]
3288        pub const _1000: Self = Self::new(8);
3289
3290        #[doc = "/6"]
3291        pub const _1001: Self = Self::new(9);
3292
3293        #[doc = "/12"]
3294        pub const _1010: Self = Self::new(10);
3295    }
3296    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3297    pub struct Pckb_SPEC;
3298    pub type Pckb = crate::EnumBitfieldStruct<u8, Pckb_SPEC>;
3299    impl Pckb {
3300        #[doc = "/1 (value after reset)"]
3301        pub const _0000: Self = Self::new(0);
3302
3303        #[doc = "/2"]
3304        pub const _0001: Self = Self::new(1);
3305
3306        #[doc = "/4"]
3307        pub const _0010: Self = Self::new(2);
3308
3309        #[doc = "/8"]
3310        pub const _0011: Self = Self::new(3);
3311
3312        #[doc = "/16"]
3313        pub const _0100: Self = Self::new(4);
3314
3315        #[doc = "/32"]
3316        pub const _0101: Self = Self::new(5);
3317
3318        #[doc = "/64"]
3319        pub const _0110: Self = Self::new(6);
3320
3321        #[doc = "/3"]
3322        pub const _1000: Self = Self::new(8);
3323
3324        #[doc = "/6"]
3325        pub const _1001: Self = Self::new(9);
3326
3327        #[doc = "/12"]
3328        pub const _1010: Self = Self::new(10);
3329    }
3330    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3331    pub struct Pcka_SPEC;
3332    pub type Pcka = crate::EnumBitfieldStruct<u8, Pcka_SPEC>;
3333    impl Pcka {
3334        #[doc = "/1 (value after reset)"]
3335        pub const _0000: Self = Self::new(0);
3336
3337        #[doc = "/2"]
3338        pub const _0001: Self = Self::new(1);
3339
3340        #[doc = "/4"]
3341        pub const _0010: Self = Self::new(2);
3342
3343        #[doc = "/8"]
3344        pub const _0011: Self = Self::new(3);
3345
3346        #[doc = "/16"]
3347        pub const _0100: Self = Self::new(4);
3348
3349        #[doc = "/32"]
3350        pub const _0101: Self = Self::new(5);
3351
3352        #[doc = "/64"]
3353        pub const _0110: Self = Self::new(6);
3354
3355        #[doc = "/3"]
3356        pub const _1000: Self = Self::new(8);
3357
3358        #[doc = "/6"]
3359        pub const _1001: Self = Self::new(9);
3360
3361        #[doc = "/12"]
3362        pub const _1010: Self = Self::new(10);
3363    }
3364    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3365    pub struct Bck_SPEC;
3366    pub type Bck = crate::EnumBitfieldStruct<u8, Bck_SPEC>;
3367    impl Bck {
3368        #[doc = "/1 (value after reset)"]
3369        pub const _0000: Self = Self::new(0);
3370
3371        #[doc = "/2"]
3372        pub const _0001: Self = Self::new(1);
3373
3374        #[doc = "/4"]
3375        pub const _0010: Self = Self::new(2);
3376
3377        #[doc = "/8"]
3378        pub const _0011: Self = Self::new(3);
3379
3380        #[doc = "/16"]
3381        pub const _0100: Self = Self::new(4);
3382
3383        #[doc = "/32"]
3384        pub const _0101: Self = Self::new(5);
3385
3386        #[doc = "/64"]
3387        pub const _0110: Self = Self::new(6);
3388
3389        #[doc = "/3"]
3390        pub const _1000: Self = Self::new(8);
3391
3392        #[doc = "/6"]
3393        pub const _1001: Self = Self::new(9);
3394
3395        #[doc = "/12"]
3396        pub const _1010: Self = Self::new(10);
3397    }
3398    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3399    pub struct Pcke_SPEC;
3400    pub type Pcke = crate::EnumBitfieldStruct<u8, Pcke_SPEC>;
3401    impl Pcke {
3402        #[doc = "/1 (value after reset)"]
3403        pub const _0000: Self = Self::new(0);
3404
3405        #[doc = "/2"]
3406        pub const _0001: Self = Self::new(1);
3407
3408        #[doc = "/4"]
3409        pub const _0010: Self = Self::new(2);
3410
3411        #[doc = "/8"]
3412        pub const _0011: Self = Self::new(3);
3413
3414        #[doc = "/16"]
3415        pub const _0100: Self = Self::new(4);
3416
3417        #[doc = "/32"]
3418        pub const _0101: Self = Self::new(5);
3419
3420        #[doc = "/64"]
3421        pub const _0110: Self = Self::new(6);
3422
3423        #[doc = "/3"]
3424        pub const _1000: Self = Self::new(8);
3425
3426        #[doc = "/6"]
3427        pub const _1001: Self = Self::new(9);
3428
3429        #[doc = "/12"]
3430        pub const _1010: Self = Self::new(10);
3431    }
3432    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3433    pub struct Ick_SPEC;
3434    pub type Ick = crate::EnumBitfieldStruct<u8, Ick_SPEC>;
3435    impl Ick {
3436        #[doc = "/1 (value after reset)"]
3437        pub const _0000: Self = Self::new(0);
3438
3439        #[doc = "/2"]
3440        pub const _0001: Self = Self::new(1);
3441
3442        #[doc = "/4"]
3443        pub const _0010: Self = Self::new(2);
3444
3445        #[doc = "/8"]
3446        pub const _0011: Self = Self::new(3);
3447
3448        #[doc = "/16"]
3449        pub const _0100: Self = Self::new(4);
3450
3451        #[doc = "/32"]
3452        pub const _0101: Self = Self::new(5);
3453
3454        #[doc = "/64"]
3455        pub const _0110: Self = Self::new(6);
3456
3457        #[doc = "/3"]
3458        pub const _1000: Self = Self::new(8);
3459
3460        #[doc = "/6"]
3461        pub const _1001: Self = Self::new(9);
3462
3463        #[doc = "/12"]
3464        pub const _1010: Self = Self::new(10);
3465    }
3466    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3467    pub struct Fck_SPEC;
3468    pub type Fck = crate::EnumBitfieldStruct<u8, Fck_SPEC>;
3469    impl Fck {
3470        #[doc = "/1 (value after reset)"]
3471        pub const _0000: Self = Self::new(0);
3472
3473        #[doc = "/2"]
3474        pub const _0001: Self = Self::new(1);
3475
3476        #[doc = "/4"]
3477        pub const _0010: Self = Self::new(2);
3478
3479        #[doc = "/8"]
3480        pub const _0011: Self = Self::new(3);
3481
3482        #[doc = "/16"]
3483        pub const _0100: Self = Self::new(4);
3484
3485        #[doc = "/32"]
3486        pub const _0101: Self = Self::new(5);
3487
3488        #[doc = "/64"]
3489        pub const _0110: Self = Self::new(6);
3490
3491        #[doc = "/3"]
3492        pub const _1000: Self = Self::new(8);
3493
3494        #[doc = "/6"]
3495        pub const _1001: Self = Self::new(9);
3496
3497        #[doc = "/12"]
3498        pub const _1010: Self = Self::new(10);
3499    }
3500}
3501#[doc(hidden)]
3502#[derive(Copy, Clone, Eq, PartialEq)]
3503pub struct Sckdivcr2_SPEC;
3504impl crate::sealed::RegSpec for Sckdivcr2_SPEC {
3505    type DataType = u8;
3506}
3507
3508#[doc = "System Clock Division Control Register 2"]
3509pub type Sckdivcr2 = crate::RegValueT<Sckdivcr2_SPEC>;
3510
3511impl Sckdivcr2 {
3512    #[doc = "CPU Clock (CPUCLK) Select"]
3513    #[inline(always)]
3514    pub fn cpuck(
3515        self,
3516    ) -> crate::common::RegisterField<
3517        0,
3518        0xf,
3519        1,
3520        0,
3521        sckdivcr2::Cpuck,
3522        sckdivcr2::Cpuck,
3523        Sckdivcr2_SPEC,
3524        crate::common::RW,
3525    > {
3526        crate::common::RegisterField::<
3527            0,
3528            0xf,
3529            1,
3530            0,
3531            sckdivcr2::Cpuck,
3532            sckdivcr2::Cpuck,
3533            Sckdivcr2_SPEC,
3534            crate::common::RW,
3535        >::from_register(self, 0)
3536    }
3537
3538    #[doc = "These bits are read as 0. The write value should be 0."]
3539    #[inline(always)]
3540    pub fn reserved(
3541        self,
3542    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, Sckdivcr2_SPEC, crate::common::RW> {
3543        crate::common::RegisterField::<4,0xf,1,0,u8,u8,Sckdivcr2_SPEC,crate::common::RW>::from_register(self,0)
3544    }
3545}
3546impl ::core::default::Default for Sckdivcr2 {
3547    #[inline(always)]
3548    fn default() -> Sckdivcr2 {
3549        <crate::RegValueT<Sckdivcr2_SPEC> as RegisterValue<_>>::new(0)
3550    }
3551}
3552pub mod sckdivcr2 {
3553
3554    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3555    pub struct Cpuck_SPEC;
3556    pub type Cpuck = crate::EnumBitfieldStruct<u8, Cpuck_SPEC>;
3557    impl Cpuck {
3558        #[doc = "/1 (value after reset)"]
3559        pub const _0000: Self = Self::new(0);
3560
3561        #[doc = "/2"]
3562        pub const _0001: Self = Self::new(1);
3563
3564        #[doc = "/4"]
3565        pub const _0010: Self = Self::new(2);
3566
3567        #[doc = "/8"]
3568        pub const _0011: Self = Self::new(3);
3569
3570        #[doc = "/16"]
3571        pub const _0100: Self = Self::new(4);
3572
3573        #[doc = "/32"]
3574        pub const _0101: Self = Self::new(5);
3575
3576        #[doc = "/64"]
3577        pub const _0110: Self = Self::new(6);
3578
3579        #[doc = "/3"]
3580        pub const _1000: Self = Self::new(8);
3581
3582        #[doc = "/6"]
3583        pub const _1001: Self = Self::new(9);
3584
3585        #[doc = "/12"]
3586        pub const _1010: Self = Self::new(10);
3587    }
3588}
3589#[doc(hidden)]
3590#[derive(Copy, Clone, Eq, PartialEq)]
3591pub struct Sckscr_SPEC;
3592impl crate::sealed::RegSpec for Sckscr_SPEC {
3593    type DataType = u8;
3594}
3595
3596#[doc = "System Clock Source Control Register"]
3597pub type Sckscr = crate::RegValueT<Sckscr_SPEC>;
3598
3599impl Sckscr {
3600    #[doc = "Clock Source Select"]
3601    #[inline(always)]
3602    pub fn cksel(
3603        self,
3604    ) -> crate::common::RegisterField<
3605        0,
3606        0x7,
3607        1,
3608        0,
3609        sckscr::Cksel,
3610        sckscr::Cksel,
3611        Sckscr_SPEC,
3612        crate::common::RW,
3613    > {
3614        crate::common::RegisterField::<
3615            0,
3616            0x7,
3617            1,
3618            0,
3619            sckscr::Cksel,
3620            sckscr::Cksel,
3621            Sckscr_SPEC,
3622            crate::common::RW,
3623        >::from_register(self, 0)
3624    }
3625
3626    #[doc = "These bits are read as 00000. The write value should be 00000."]
3627    #[inline(always)]
3628    pub fn reserved(
3629        self,
3630    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Sckscr_SPEC, crate::common::RW> {
3631        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Sckscr_SPEC,crate::common::RW>::from_register(self,0)
3632    }
3633}
3634impl ::core::default::Default for Sckscr {
3635    #[inline(always)]
3636    fn default() -> Sckscr {
3637        <crate::RegValueT<Sckscr_SPEC> as RegisterValue<_>>::new(1)
3638    }
3639}
3640pub mod sckscr {
3641
3642    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3643    pub struct Cksel_SPEC;
3644    pub type Cksel = crate::EnumBitfieldStruct<u8, Cksel_SPEC>;
3645    impl Cksel {
3646        #[doc = "HOCO"]
3647        pub const _000: Self = Self::new(0);
3648
3649        #[doc = "MOCO"]
3650        pub const _001: Self = Self::new(1);
3651
3652        #[doc = "Main clock oscillator"]
3653        pub const _011: Self = Self::new(3);
3654
3655        #[doc = "Sub-clock oscillator"]
3656        pub const _100: Self = Self::new(4);
3657
3658        #[doc = "PLL"]
3659        pub const _101: Self = Self::new(5);
3660    }
3661}
3662#[doc(hidden)]
3663#[derive(Copy, Clone, Eq, PartialEq)]
3664pub struct Pllccr_SPEC;
3665impl crate::sealed::RegSpec for Pllccr_SPEC {
3666    type DataType = u16;
3667}
3668
3669#[doc = "PLL Clock Control Register"]
3670pub type Pllccr = crate::RegValueT<Pllccr_SPEC>;
3671
3672impl Pllccr {
3673    #[doc = "PLL1 Input Frequency Division Ratio Select"]
3674    #[inline(always)]
3675    pub fn plidiv(
3676        self,
3677    ) -> crate::common::RegisterField<
3678        0,
3679        0x3,
3680        1,
3681        0,
3682        pllccr::Plidiv,
3683        pllccr::Plidiv,
3684        Pllccr_SPEC,
3685        crate::common::RW,
3686    > {
3687        crate::common::RegisterField::<
3688            0,
3689            0x3,
3690            1,
3691            0,
3692            pllccr::Plidiv,
3693            pllccr::Plidiv,
3694            Pllccr_SPEC,
3695            crate::common::RW,
3696        >::from_register(self, 0)
3697    }
3698
3699    #[doc = "PLL1 Clock Source Select"]
3700    #[inline(always)]
3701    pub fn plsrcsel(
3702        self,
3703    ) -> crate::common::RegisterField<
3704        4,
3705        0x1,
3706        1,
3707        0,
3708        pllccr::Plsrcsel,
3709        pllccr::Plsrcsel,
3710        Pllccr_SPEC,
3711        crate::common::RW,
3712    > {
3713        crate::common::RegisterField::<
3714            4,
3715            0x1,
3716            1,
3717            0,
3718            pllccr::Plsrcsel,
3719            pllccr::Plsrcsel,
3720            Pllccr_SPEC,
3721            crate::common::RW,
3722        >::from_register(self, 0)
3723    }
3724
3725    #[doc = "This bit is read as 0. The write value should be 0."]
3726    #[inline(always)]
3727    pub fn reserved(
3728        self,
3729    ) -> crate::common::RegisterFieldBool<5, 1, 0, Pllccr_SPEC, crate::common::RW> {
3730        crate::common::RegisterFieldBool::<5, 1, 0, Pllccr_SPEC, crate::common::RW>::from_register(
3731            self, 0,
3732        )
3733    }
3734
3735    #[doc = "PLL1 Frequency Multiplication Fractional Factor Select"]
3736    #[inline(always)]
3737    pub fn pllmulnf(
3738        self,
3739    ) -> crate::common::RegisterField<
3740        6,
3741        0x3,
3742        1,
3743        0,
3744        pllccr::Pllmulnf,
3745        pllccr::Pllmulnf,
3746        Pllccr_SPEC,
3747        crate::common::RW,
3748    > {
3749        crate::common::RegisterField::<
3750            6,
3751            0x3,
3752            1,
3753            0,
3754            pllccr::Pllmulnf,
3755            pllccr::Pllmulnf,
3756            Pllccr_SPEC,
3757            crate::common::RW,
3758        >::from_register(self, 0)
3759    }
3760
3761    #[doc = "PLL1 Frequency Multiplication Factor Select"]
3762    #[inline(always)]
3763    pub fn pllmul(
3764        self,
3765    ) -> crate::common::RegisterField<
3766        8,
3767        0xff,
3768        1,
3769        0,
3770        pllccr::Pllmul,
3771        pllccr::Pllmul,
3772        Pllccr_SPEC,
3773        crate::common::RW,
3774    > {
3775        crate::common::RegisterField::<
3776            8,
3777            0xff,
3778            1,
3779            0,
3780            pllccr::Pllmul,
3781            pllccr::Pllmul,
3782            Pllccr_SPEC,
3783            crate::common::RW,
3784        >::from_register(self, 0)
3785    }
3786}
3787impl ::core::default::Default for Pllccr {
3788    #[inline(always)]
3789    fn default() -> Pllccr {
3790        <crate::RegValueT<Pllccr_SPEC> as RegisterValue<_>>::new(4864)
3791    }
3792}
3793pub mod pllccr {
3794
3795    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3796    pub struct Plidiv_SPEC;
3797    pub type Plidiv = crate::EnumBitfieldStruct<u8, Plidiv_SPEC>;
3798    impl Plidiv {
3799        #[doc = "/1"]
3800        pub const _00: Self = Self::new(0);
3801
3802        #[doc = "/2"]
3803        pub const _01: Self = Self::new(1);
3804
3805        #[doc = "/3"]
3806        pub const _10: Self = Self::new(2);
3807
3808        #[doc = "Setting prohibited"]
3809        pub const _11: Self = Self::new(3);
3810    }
3811    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3812    pub struct Plsrcsel_SPEC;
3813    pub type Plsrcsel = crate::EnumBitfieldStruct<u8, Plsrcsel_SPEC>;
3814    impl Plsrcsel {
3815        #[doc = "Main clock oscillator"]
3816        pub const _0: Self = Self::new(0);
3817
3818        #[doc = "HOCO"]
3819        pub const _1: Self = Self::new(1);
3820    }
3821    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3822    pub struct Pllmulnf_SPEC;
3823    pub type Pllmulnf = crate::EnumBitfieldStruct<u8, Pllmulnf_SPEC>;
3824    impl Pllmulnf {
3825        #[doc = "0.00 (Value after reset)"]
3826        pub const _00: Self = Self::new(0);
3827
3828        #[doc = "0.33 (1/3)"]
3829        pub const _01: Self = Self::new(1);
3830
3831        #[doc = "0.66 (2/3)"]
3832        pub const _10: Self = Self::new(2);
3833
3834        #[doc = "0.50 (1/2)"]
3835        pub const _11: Self = Self::new(3);
3836    }
3837    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3838    pub struct Pllmul_SPEC;
3839    pub type Pllmul = crate::EnumBitfieldStruct<u8, Pllmul_SPEC>;
3840    impl Pllmul {
3841        #[doc = "×26 (Value after reset)"]
3842        pub const _00011001: Self = Self::new(25);
3843
3844        #[doc = "×27"]
3845        pub const _00011010: Self = Self::new(26);
3846
3847        #[doc = "×28"]
3848        pub const _00011011: Self = Self::new(27);
3849
3850        #[doc = "×89"]
3851        pub const _01011000: Self = Self::new(88);
3852
3853        #[doc = "×90"]
3854        pub const _01011001: Self = Self::new(89);
3855
3856        #[doc = "×91"]
3857        pub const _01011010: Self = Self::new(90);
3858
3859        #[doc = "×179"]
3860        pub const _10110010: Self = Self::new(178);
3861
3862        #[doc = "×180"]
3863        pub const _10110011: Self = Self::new(179);
3864    }
3865}
3866#[doc(hidden)]
3867#[derive(Copy, Clone, Eq, PartialEq)]
3868pub struct Pllcr_SPEC;
3869impl crate::sealed::RegSpec for Pllcr_SPEC {
3870    type DataType = u8;
3871}
3872
3873#[doc = "PLL Control Register"]
3874pub type Pllcr = crate::RegValueT<Pllcr_SPEC>;
3875
3876impl Pllcr {
3877    #[doc = "PLL1 Stop Control"]
3878    #[inline(always)]
3879    pub fn pllstp(
3880        self,
3881    ) -> crate::common::RegisterField<
3882        0,
3883        0x1,
3884        1,
3885        0,
3886        pllcr::Pllstp,
3887        pllcr::Pllstp,
3888        Pllcr_SPEC,
3889        crate::common::RW,
3890    > {
3891        crate::common::RegisterField::<
3892            0,
3893            0x1,
3894            1,
3895            0,
3896            pllcr::Pllstp,
3897            pllcr::Pllstp,
3898            Pllcr_SPEC,
3899            crate::common::RW,
3900        >::from_register(self, 0)
3901    }
3902
3903    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
3904    #[inline(always)]
3905    pub fn reserved(
3906        self,
3907    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Pllcr_SPEC, crate::common::RW> {
3908        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Pllcr_SPEC,crate::common::RW>::from_register(self,0)
3909    }
3910}
3911impl ::core::default::Default for Pllcr {
3912    #[inline(always)]
3913    fn default() -> Pllcr {
3914        <crate::RegValueT<Pllcr_SPEC> as RegisterValue<_>>::new(1)
3915    }
3916}
3917pub mod pllcr {
3918
3919    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3920    pub struct Pllstp_SPEC;
3921    pub type Pllstp = crate::EnumBitfieldStruct<u8, Pllstp_SPEC>;
3922    impl Pllstp {
3923        #[doc = "Operate the PLL1"]
3924        pub const _0: Self = Self::new(0);
3925
3926        #[doc = "Stop the PLL1"]
3927        pub const _1: Self = Self::new(1);
3928    }
3929}
3930#[doc(hidden)]
3931#[derive(Copy, Clone, Eq, PartialEq)]
3932pub struct Bckcr_SPEC;
3933impl crate::sealed::RegSpec for Bckcr_SPEC {
3934    type DataType = u8;
3935}
3936
3937#[doc = "External Bus Clock Control Register"]
3938pub type Bckcr = crate::RegValueT<Bckcr_SPEC>;
3939
3940impl Bckcr {
3941    #[doc = "BCLK Pin Output Select"]
3942    #[inline(always)]
3943    pub fn bclkdiv(
3944        self,
3945    ) -> crate::common::RegisterField<
3946        0,
3947        0x1,
3948        1,
3949        0,
3950        bckcr::Bclkdiv,
3951        bckcr::Bclkdiv,
3952        Bckcr_SPEC,
3953        crate::common::RW,
3954    > {
3955        crate::common::RegisterField::<
3956            0,
3957            0x1,
3958            1,
3959            0,
3960            bckcr::Bclkdiv,
3961            bckcr::Bclkdiv,
3962            Bckcr_SPEC,
3963            crate::common::RW,
3964        >::from_register(self, 0)
3965    }
3966
3967    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
3968    #[inline(always)]
3969    pub fn reserved(
3970        self,
3971    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Bckcr_SPEC, crate::common::RW> {
3972        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Bckcr_SPEC,crate::common::RW>::from_register(self,0)
3973    }
3974}
3975impl ::core::default::Default for Bckcr {
3976    #[inline(always)]
3977    fn default() -> Bckcr {
3978        <crate::RegValueT<Bckcr_SPEC> as RegisterValue<_>>::new(0)
3979    }
3980}
3981pub mod bckcr {
3982
3983    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3984    pub struct Bclkdiv_SPEC;
3985    pub type Bclkdiv = crate::EnumBitfieldStruct<u8, Bclkdiv_SPEC>;
3986    impl Bclkdiv {
3987        #[doc = "BCLK"]
3988        pub const _0: Self = Self::new(0);
3989
3990        #[doc = "BCLK/2"]
3991        pub const _1: Self = Self::new(1);
3992    }
3993}
3994#[doc(hidden)]
3995#[derive(Copy, Clone, Eq, PartialEq)]
3996pub struct Mosccr_SPEC;
3997impl crate::sealed::RegSpec for Mosccr_SPEC {
3998    type DataType = u8;
3999}
4000
4001#[doc = "Main Clock Oscillator Control Register"]
4002pub type Mosccr = crate::RegValueT<Mosccr_SPEC>;
4003
4004impl Mosccr {
4005    #[doc = "Main Clock Oscillator Stop"]
4006    #[inline(always)]
4007    pub fn mostp(
4008        self,
4009    ) -> crate::common::RegisterField<
4010        0,
4011        0x1,
4012        1,
4013        0,
4014        mosccr::Mostp,
4015        mosccr::Mostp,
4016        Mosccr_SPEC,
4017        crate::common::RW,
4018    > {
4019        crate::common::RegisterField::<
4020            0,
4021            0x1,
4022            1,
4023            0,
4024            mosccr::Mostp,
4025            mosccr::Mostp,
4026            Mosccr_SPEC,
4027            crate::common::RW,
4028        >::from_register(self, 0)
4029    }
4030
4031    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
4032    #[inline(always)]
4033    pub fn reserved(
4034        self,
4035    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Mosccr_SPEC, crate::common::RW> {
4036        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Mosccr_SPEC,crate::common::RW>::from_register(self,0)
4037    }
4038}
4039impl ::core::default::Default for Mosccr {
4040    #[inline(always)]
4041    fn default() -> Mosccr {
4042        <crate::RegValueT<Mosccr_SPEC> as RegisterValue<_>>::new(1)
4043    }
4044}
4045pub mod mosccr {
4046
4047    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4048    pub struct Mostp_SPEC;
4049    pub type Mostp = crate::EnumBitfieldStruct<u8, Mostp_SPEC>;
4050    impl Mostp {
4051        #[doc = "Main clock oscillator is operating."]
4052        pub const _0: Self = Self::new(0);
4053
4054        #[doc = "Main clock oscillator is stopped."]
4055        pub const _1: Self = Self::new(1);
4056    }
4057}
4058#[doc(hidden)]
4059#[derive(Copy, Clone, Eq, PartialEq)]
4060pub struct Hococr_SPEC;
4061impl crate::sealed::RegSpec for Hococr_SPEC {
4062    type DataType = u8;
4063}
4064
4065#[doc = "High-Speed On-Chip Oscillator Control Register"]
4066pub type Hococr = crate::RegValueT<Hococr_SPEC>;
4067
4068impl Hococr {
4069    #[doc = "HOCO Stop"]
4070    #[inline(always)]
4071    pub fn hcstp(
4072        self,
4073    ) -> crate::common::RegisterField<
4074        0,
4075        0x1,
4076        1,
4077        0,
4078        hococr::Hcstp,
4079        hococr::Hcstp,
4080        Hococr_SPEC,
4081        crate::common::RW,
4082    > {
4083        crate::common::RegisterField::<
4084            0,
4085            0x1,
4086            1,
4087            0,
4088            hococr::Hcstp,
4089            hococr::Hcstp,
4090            Hococr_SPEC,
4091            crate::common::RW,
4092        >::from_register(self, 0)
4093    }
4094
4095    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
4096    #[inline(always)]
4097    pub fn reserved(
4098        self,
4099    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Hococr_SPEC, crate::common::RW> {
4100        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Hococr_SPEC,crate::common::RW>::from_register(self,0)
4101    }
4102}
4103impl ::core::default::Default for Hococr {
4104    #[inline(always)]
4105    fn default() -> Hococr {
4106        <crate::RegValueT<Hococr_SPEC> as RegisterValue<_>>::new(0)
4107    }
4108}
4109pub mod hococr {
4110
4111    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4112    pub struct Hcstp_SPEC;
4113    pub type Hcstp = crate::EnumBitfieldStruct<u8, Hcstp_SPEC>;
4114    impl Hcstp {
4115        #[doc = "Operate the HOCO clock"]
4116        pub const _0: Self = Self::new(0);
4117
4118        #[doc = "Stop the HOCO clock"]
4119        pub const _1: Self = Self::new(1);
4120    }
4121}
4122#[doc(hidden)]
4123#[derive(Copy, Clone, Eq, PartialEq)]
4124pub struct Mococr_SPEC;
4125impl crate::sealed::RegSpec for Mococr_SPEC {
4126    type DataType = u8;
4127}
4128
4129#[doc = "Middle-Speed On-Chip Oscillator Control Register"]
4130pub type Mococr = crate::RegValueT<Mococr_SPEC>;
4131
4132impl Mococr {
4133    #[doc = "MOCO Stop"]
4134    #[inline(always)]
4135    pub fn mcstp(
4136        self,
4137    ) -> crate::common::RegisterField<
4138        0,
4139        0x1,
4140        1,
4141        0,
4142        mococr::Mcstp,
4143        mococr::Mcstp,
4144        Mococr_SPEC,
4145        crate::common::RW,
4146    > {
4147        crate::common::RegisterField::<
4148            0,
4149            0x1,
4150            1,
4151            0,
4152            mococr::Mcstp,
4153            mococr::Mcstp,
4154            Mococr_SPEC,
4155            crate::common::RW,
4156        >::from_register(self, 0)
4157    }
4158
4159    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
4160    #[inline(always)]
4161    pub fn reserved(
4162        self,
4163    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Mococr_SPEC, crate::common::RW> {
4164        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Mococr_SPEC,crate::common::RW>::from_register(self,0)
4165    }
4166}
4167impl ::core::default::Default for Mococr {
4168    #[inline(always)]
4169    fn default() -> Mococr {
4170        <crate::RegValueT<Mococr_SPEC> as RegisterValue<_>>::new(0)
4171    }
4172}
4173pub mod mococr {
4174
4175    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4176    pub struct Mcstp_SPEC;
4177    pub type Mcstp = crate::EnumBitfieldStruct<u8, Mcstp_SPEC>;
4178    impl Mcstp {
4179        #[doc = "Operate the MOCO clock"]
4180        pub const _0: Self = Self::new(0);
4181
4182        #[doc = "Stop the MOCO clock"]
4183        pub const _1: Self = Self::new(1);
4184    }
4185}
4186#[doc(hidden)]
4187#[derive(Copy, Clone, Eq, PartialEq)]
4188pub struct Fllcr1_SPEC;
4189impl crate::sealed::RegSpec for Fllcr1_SPEC {
4190    type DataType = u8;
4191}
4192
4193#[doc = "FLL Control Register 1"]
4194pub type Fllcr1 = crate::RegValueT<Fllcr1_SPEC>;
4195
4196impl Fllcr1 {
4197    #[doc = "FLL Enable"]
4198    #[inline(always)]
4199    pub fn fllen(
4200        self,
4201    ) -> crate::common::RegisterField<
4202        0,
4203        0x1,
4204        1,
4205        0,
4206        fllcr1::Fllen,
4207        fllcr1::Fllen,
4208        Fllcr1_SPEC,
4209        crate::common::RW,
4210    > {
4211        crate::common::RegisterField::<
4212            0,
4213            0x1,
4214            1,
4215            0,
4216            fllcr1::Fllen,
4217            fllcr1::Fllen,
4218            Fllcr1_SPEC,
4219            crate::common::RW,
4220        >::from_register(self, 0)
4221    }
4222
4223    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
4224    #[inline(always)]
4225    pub fn reserved(
4226        self,
4227    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Fllcr1_SPEC, crate::common::RW> {
4228        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Fllcr1_SPEC,crate::common::RW>::from_register(self,0)
4229    }
4230}
4231impl ::core::default::Default for Fllcr1 {
4232    #[inline(always)]
4233    fn default() -> Fllcr1 {
4234        <crate::RegValueT<Fllcr1_SPEC> as RegisterValue<_>>::new(0)
4235    }
4236}
4237pub mod fllcr1 {
4238
4239    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4240    pub struct Fllen_SPEC;
4241    pub type Fllen = crate::EnumBitfieldStruct<u8, Fllen_SPEC>;
4242    impl Fllen {
4243        #[doc = "FLL function is disabled."]
4244        pub const _0: Self = Self::new(0);
4245
4246        #[doc = "FLL function is enabled."]
4247        pub const _1: Self = Self::new(1);
4248    }
4249}
4250#[doc(hidden)]
4251#[derive(Copy, Clone, Eq, PartialEq)]
4252pub struct Fllcr2_SPEC;
4253impl crate::sealed::RegSpec for Fllcr2_SPEC {
4254    type DataType = u16;
4255}
4256
4257#[doc = "FLL Control Register 2"]
4258pub type Fllcr2 = crate::RegValueT<Fllcr2_SPEC>;
4259
4260impl Fllcr2 {
4261    #[doc = "FLL Multiplication Control"]
4262    #[inline(always)]
4263    pub fn fllcntl(
4264        self,
4265    ) -> crate::common::RegisterField<0, 0x7ff, 1, 0, u16, u16, Fllcr2_SPEC, crate::common::RW>
4266    {
4267        crate::common::RegisterField::<0,0x7ff,1,0,u16,u16,Fllcr2_SPEC,crate::common::RW>::from_register(self,0)
4268    }
4269
4270    #[doc = "These bits are read as 00000. The write value should be 00000."]
4271    #[inline(always)]
4272    pub fn reserved(
4273        self,
4274    ) -> crate::common::RegisterField<11, 0x1f, 1, 0, u8, u8, Fllcr2_SPEC, crate::common::RW> {
4275        crate::common::RegisterField::<11,0x1f,1,0,u8,u8,Fllcr2_SPEC,crate::common::RW>::from_register(self,0)
4276    }
4277}
4278impl ::core::default::Default for Fllcr2 {
4279    #[inline(always)]
4280    fn default() -> Fllcr2 {
4281        <crate::RegValueT<Fllcr2_SPEC> as RegisterValue<_>>::new(0)
4282    }
4283}
4284
4285#[doc(hidden)]
4286#[derive(Copy, Clone, Eq, PartialEq)]
4287pub struct Oscsf_SPEC;
4288impl crate::sealed::RegSpec for Oscsf_SPEC {
4289    type DataType = u8;
4290}
4291
4292#[doc = "Oscillation Stabilization Flag Register"]
4293pub type Oscsf = crate::RegValueT<Oscsf_SPEC>;
4294
4295impl Oscsf {
4296    #[doc = "HOCO Clock Oscillation Stabilization FlagNOTE: The HOCOSF bit value after a reset is 1 when the OFS1.HOCOEN bit is 0. It is 0 when the OFS1.HOCOEN bit is 1."]
4297    #[inline(always)]
4298    pub fn hocosf(
4299        self,
4300    ) -> crate::common::RegisterField<
4301        0,
4302        0x1,
4303        1,
4304        0,
4305        oscsf::Hocosf,
4306        oscsf::Hocosf,
4307        Oscsf_SPEC,
4308        crate::common::R,
4309    > {
4310        crate::common::RegisterField::<
4311            0,
4312            0x1,
4313            1,
4314            0,
4315            oscsf::Hocosf,
4316            oscsf::Hocosf,
4317            Oscsf_SPEC,
4318            crate::common::R,
4319        >::from_register(self, 0)
4320    }
4321
4322    #[doc = "Main Clock Oscillation Stabilization Flag"]
4323    #[inline(always)]
4324    pub fn moscsf(
4325        self,
4326    ) -> crate::common::RegisterField<
4327        3,
4328        0x1,
4329        1,
4330        0,
4331        oscsf::Moscsf,
4332        oscsf::Moscsf,
4333        Oscsf_SPEC,
4334        crate::common::R,
4335    > {
4336        crate::common::RegisterField::<
4337            3,
4338            0x1,
4339            1,
4340            0,
4341            oscsf::Moscsf,
4342            oscsf::Moscsf,
4343            Oscsf_SPEC,
4344            crate::common::R,
4345        >::from_register(self, 0)
4346    }
4347
4348    #[doc = "PLL1 Clock Oscillation Stabilization Flag"]
4349    #[inline(always)]
4350    pub fn pllsf(
4351        self,
4352    ) -> crate::common::RegisterField<
4353        5,
4354        0x1,
4355        1,
4356        0,
4357        oscsf::Pllsf,
4358        oscsf::Pllsf,
4359        Oscsf_SPEC,
4360        crate::common::R,
4361    > {
4362        crate::common::RegisterField::<
4363            5,
4364            0x1,
4365            1,
4366            0,
4367            oscsf::Pllsf,
4368            oscsf::Pllsf,
4369            Oscsf_SPEC,
4370            crate::common::R,
4371        >::from_register(self, 0)
4372    }
4373
4374    #[doc = "PLL2 Clock Oscillation Stabilization Flag"]
4375    #[inline(always)]
4376    pub fn pll2sf(
4377        self,
4378    ) -> crate::common::RegisterField<
4379        6,
4380        0x1,
4381        1,
4382        0,
4383        oscsf::Pll2Sf,
4384        oscsf::Pll2Sf,
4385        Oscsf_SPEC,
4386        crate::common::R,
4387    > {
4388        crate::common::RegisterField::<
4389            6,
4390            0x1,
4391            1,
4392            0,
4393            oscsf::Pll2Sf,
4394            oscsf::Pll2Sf,
4395            Oscsf_SPEC,
4396            crate::common::R,
4397        >::from_register(self, 0)
4398    }
4399
4400    #[doc = "This bit is read as 0."]
4401    #[inline(always)]
4402    pub fn reserved(
4403        self,
4404    ) -> crate::common::RegisterFieldBool<7, 1, 0, Oscsf_SPEC, crate::common::R> {
4405        crate::common::RegisterFieldBool::<7, 1, 0, Oscsf_SPEC, crate::common::R>::from_register(
4406            self, 0,
4407        )
4408    }
4409}
4410impl ::core::default::Default for Oscsf {
4411    #[inline(always)]
4412    fn default() -> Oscsf {
4413        <crate::RegValueT<Oscsf_SPEC> as RegisterValue<_>>::new(0)
4414    }
4415}
4416pub mod oscsf {
4417
4418    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4419    pub struct Hocosf_SPEC;
4420    pub type Hocosf = crate::EnumBitfieldStruct<u8, Hocosf_SPEC>;
4421    impl Hocosf {
4422        #[doc = "HOCO clock is stopped or is not yet stable"]
4423        pub const _0: Self = Self::new(0);
4424
4425        #[doc = "HOCO clock is stable, so is available for use as the system clock"]
4426        pub const _1: Self = Self::new(1);
4427    }
4428    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4429    pub struct Moscsf_SPEC;
4430    pub type Moscsf = crate::EnumBitfieldStruct<u8, Moscsf_SPEC>;
4431    impl Moscsf {
4432        #[doc = "Main clock oscillator is stopped (MOSTP = 1) or is not yet stable"]
4433        pub const _0: Self = Self::new(0);
4434
4435        #[doc = "Main clock oscillator is stable, so is available for use as the system clock"]
4436        pub const _1: Self = Self::new(1);
4437    }
4438    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4439    pub struct Pllsf_SPEC;
4440    pub type Pllsf = crate::EnumBitfieldStruct<u8, Pllsf_SPEC>;
4441    impl Pllsf {
4442        #[doc = "The PLL1 clock is stopped or oscillation of the PLL1 clock has not yet become stable."]
4443        pub const _0: Self = Self::new(0);
4444
4445        #[doc = "Oscillation of the PLL1 clock is stable so the clock is available for use as the system clock."]
4446        pub const _1: Self = Self::new(1);
4447    }
4448    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4449    pub struct Pll2Sf_SPEC;
4450    pub type Pll2Sf = crate::EnumBitfieldStruct<u8, Pll2Sf_SPEC>;
4451    impl Pll2Sf {
4452        #[doc = "The PLL2 clock is stopped or oscillation of the PLL2 clock has not yet become stable."]
4453        pub const _0: Self = Self::new(0);
4454
4455        #[doc = "Oscillation of the PLL2 clock is stable so the clock is available for use as the system clock."]
4456        pub const _1: Self = Self::new(1);
4457    }
4458}
4459#[doc(hidden)]
4460#[derive(Copy, Clone, Eq, PartialEq)]
4461pub struct Ckocr_SPEC;
4462impl crate::sealed::RegSpec for Ckocr_SPEC {
4463    type DataType = u8;
4464}
4465
4466#[doc = "Clock Out Control Register"]
4467pub type Ckocr = crate::RegValueT<Ckocr_SPEC>;
4468
4469impl Ckocr {
4470    #[doc = "These bits are read as 0000. The write value should be 0000."]
4471    #[inline(always)]
4472    pub fn reserved(
4473        self,
4474    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Ckocr_SPEC, crate::common::RW> {
4475        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Ckocr_SPEC,crate::common::RW>::from_register(self,0)
4476    }
4477
4478    #[doc = "Clock out input frequency Division Select"]
4479    #[inline(always)]
4480    pub fn ckodiv(
4481        self,
4482    ) -> crate::common::RegisterField<
4483        4,
4484        0x7,
4485        1,
4486        0,
4487        ckocr::Ckodiv,
4488        ckocr::Ckodiv,
4489        Ckocr_SPEC,
4490        crate::common::RW,
4491    > {
4492        crate::common::RegisterField::<
4493            4,
4494            0x7,
4495            1,
4496            0,
4497            ckocr::Ckodiv,
4498            ckocr::Ckodiv,
4499            Ckocr_SPEC,
4500            crate::common::RW,
4501        >::from_register(self, 0)
4502    }
4503
4504    #[doc = "Clock out enable"]
4505    #[inline(always)]
4506    pub fn ckoen(
4507        self,
4508    ) -> crate::common::RegisterField<
4509        7,
4510        0x1,
4511        1,
4512        0,
4513        ckocr::Ckoen,
4514        ckocr::Ckoen,
4515        Ckocr_SPEC,
4516        crate::common::RW,
4517    > {
4518        crate::common::RegisterField::<
4519            7,
4520            0x1,
4521            1,
4522            0,
4523            ckocr::Ckoen,
4524            ckocr::Ckoen,
4525            Ckocr_SPEC,
4526            crate::common::RW,
4527        >::from_register(self, 0)
4528    }
4529}
4530impl ::core::default::Default for Ckocr {
4531    #[inline(always)]
4532    fn default() -> Ckocr {
4533        <crate::RegValueT<Ckocr_SPEC> as RegisterValue<_>>::new(0)
4534    }
4535}
4536pub mod ckocr {
4537
4538    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4539    pub struct Ckodiv_SPEC;
4540    pub type Ckodiv = crate::EnumBitfieldStruct<u8, Ckodiv_SPEC>;
4541    impl Ckodiv {
4542        #[doc = "/1"]
4543        pub const _000: Self = Self::new(0);
4544
4545        #[doc = "/2"]
4546        pub const _001: Self = Self::new(1);
4547
4548        #[doc = "/4"]
4549        pub const _010: Self = Self::new(2);
4550
4551        #[doc = "/8"]
4552        pub const _011: Self = Self::new(3);
4553
4554        #[doc = "/16"]
4555        pub const _100: Self = Self::new(4);
4556
4557        #[doc = "/32"]
4558        pub const _101: Self = Self::new(5);
4559
4560        #[doc = "/64"]
4561        pub const _110: Self = Self::new(6);
4562
4563        #[doc = "/128"]
4564        pub const _111: Self = Self::new(7);
4565    }
4566    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4567    pub struct Ckoen_SPEC;
4568    pub type Ckoen = crate::EnumBitfieldStruct<u8, Ckoen_SPEC>;
4569    impl Ckoen {
4570        #[doc = "Disable clock out"]
4571        pub const _0: Self = Self::new(0);
4572
4573        #[doc = "Enable clock out"]
4574        pub const _1: Self = Self::new(1);
4575    }
4576}
4577#[doc(hidden)]
4578#[derive(Copy, Clone, Eq, PartialEq)]
4579pub struct Trckcr_SPEC;
4580impl crate::sealed::RegSpec for Trckcr_SPEC {
4581    type DataType = u8;
4582}
4583
4584#[doc = "Trace Clock Control Register"]
4585pub type Trckcr = crate::RegValueT<Trckcr_SPEC>;
4586
4587impl Trckcr {
4588    #[doc = "Trace Clock operating frequency select"]
4589    #[inline(always)]
4590    pub fn trck(
4591        self,
4592    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Trckcr_SPEC, crate::common::RW> {
4593        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Trckcr_SPEC,crate::common::RW>::from_register(self,0)
4594    }
4595
4596    #[doc = "Trace Clock source select"]
4597    #[inline(always)]
4598    pub fn trcksel(
4599        self,
4600    ) -> crate::common::RegisterField<
4601        4,
4602        0x1,
4603        1,
4604        0,
4605        trckcr::Trcksel,
4606        trckcr::Trcksel,
4607        Trckcr_SPEC,
4608        crate::common::RW,
4609    > {
4610        crate::common::RegisterField::<
4611            4,
4612            0x1,
4613            1,
4614            0,
4615            trckcr::Trcksel,
4616            trckcr::Trcksel,
4617            Trckcr_SPEC,
4618            crate::common::RW,
4619        >::from_register(self, 0)
4620    }
4621
4622    #[doc = "These bits are read as 00. The write value should be 00."]
4623    #[inline(always)]
4624    pub fn reserved(
4625        self,
4626    ) -> crate::common::RegisterField<5, 0x3, 1, 0, u8, u8, Trckcr_SPEC, crate::common::RW> {
4627        crate::common::RegisterField::<5,0x3,1,0,u8,u8,Trckcr_SPEC,crate::common::RW>::from_register(self,0)
4628    }
4629
4630    #[doc = "Trace Clock operating Enable"]
4631    #[inline(always)]
4632    pub fn trcken(
4633        self,
4634    ) -> crate::common::RegisterField<
4635        7,
4636        0x1,
4637        1,
4638        0,
4639        trckcr::Trcken,
4640        trckcr::Trcken,
4641        Trckcr_SPEC,
4642        crate::common::RW,
4643    > {
4644        crate::common::RegisterField::<
4645            7,
4646            0x1,
4647            1,
4648            0,
4649            trckcr::Trcken,
4650            trckcr::Trcken,
4651            Trckcr_SPEC,
4652            crate::common::RW,
4653        >::from_register(self, 0)
4654    }
4655}
4656impl ::core::default::Default for Trckcr {
4657    #[inline(always)]
4658    fn default() -> Trckcr {
4659        <crate::RegValueT<Trckcr_SPEC> as RegisterValue<_>>::new(2)
4660    }
4661}
4662pub mod trckcr {
4663
4664    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4665    pub struct Trcksel_SPEC;
4666    pub type Trcksel = crate::EnumBitfieldStruct<u8, Trcksel_SPEC>;
4667    impl Trcksel {
4668        #[doc = "System clock source (value after reset)"]
4669        pub const _0: Self = Self::new(0);
4670
4671        #[doc = "HOCO (oscillation in debug mode)"]
4672        pub const _1: Self = Self::new(1);
4673    }
4674    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4675    pub struct Trcken_SPEC;
4676    pub type Trcken = crate::EnumBitfieldStruct<u8, Trcken_SPEC>;
4677    impl Trcken {
4678        #[doc = "Stop"]
4679        pub const _0: Self = Self::new(0);
4680
4681        #[doc = "Operation enable"]
4682        pub const _1: Self = Self::new(1);
4683    }
4684}
4685#[doc(hidden)]
4686#[derive(Copy, Clone, Eq, PartialEq)]
4687pub struct Ostdcr_SPEC;
4688impl crate::sealed::RegSpec for Ostdcr_SPEC {
4689    type DataType = u8;
4690}
4691
4692#[doc = "Oscillation Stop Detection Control Register"]
4693pub type Ostdcr = crate::RegValueT<Ostdcr_SPEC>;
4694
4695impl Ostdcr {
4696    #[doc = "Oscillation Stop Detection Interrupt Enable"]
4697    #[inline(always)]
4698    pub fn ostdie(
4699        self,
4700    ) -> crate::common::RegisterField<
4701        0,
4702        0x1,
4703        1,
4704        0,
4705        ostdcr::Ostdie,
4706        ostdcr::Ostdie,
4707        Ostdcr_SPEC,
4708        crate::common::RW,
4709    > {
4710        crate::common::RegisterField::<
4711            0,
4712            0x1,
4713            1,
4714            0,
4715            ostdcr::Ostdie,
4716            ostdcr::Ostdie,
4717            Ostdcr_SPEC,
4718            crate::common::RW,
4719        >::from_register(self, 0)
4720    }
4721
4722    #[doc = "These bits are read as 000000. The write value should be 000000."]
4723    #[inline(always)]
4724    pub fn reserved(
4725        self,
4726    ) -> crate::common::RegisterField<1, 0x3f, 1, 0, u8, u8, Ostdcr_SPEC, crate::common::RW> {
4727        crate::common::RegisterField::<1,0x3f,1,0,u8,u8,Ostdcr_SPEC,crate::common::RW>::from_register(self,0)
4728    }
4729
4730    #[doc = "Oscillation Stop Detection Function Enable"]
4731    #[inline(always)]
4732    pub fn ostde(
4733        self,
4734    ) -> crate::common::RegisterField<
4735        7,
4736        0x1,
4737        1,
4738        0,
4739        ostdcr::Ostde,
4740        ostdcr::Ostde,
4741        Ostdcr_SPEC,
4742        crate::common::RW,
4743    > {
4744        crate::common::RegisterField::<
4745            7,
4746            0x1,
4747            1,
4748            0,
4749            ostdcr::Ostde,
4750            ostdcr::Ostde,
4751            Ostdcr_SPEC,
4752            crate::common::RW,
4753        >::from_register(self, 0)
4754    }
4755}
4756impl ::core::default::Default for Ostdcr {
4757    #[inline(always)]
4758    fn default() -> Ostdcr {
4759        <crate::RegValueT<Ostdcr_SPEC> as RegisterValue<_>>::new(0)
4760    }
4761}
4762pub mod ostdcr {
4763
4764    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4765    pub struct Ostdie_SPEC;
4766    pub type Ostdie = crate::EnumBitfieldStruct<u8, Ostdie_SPEC>;
4767    impl Ostdie {
4768        #[doc = "Disable oscillation stop detection interrupt (do not notify the POEG)"]
4769        pub const _0: Self = Self::new(0);
4770
4771        #[doc = "Enable oscillation stop detection interrupt (notify the POEG)"]
4772        pub const _1: Self = Self::new(1);
4773    }
4774    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4775    pub struct Ostde_SPEC;
4776    pub type Ostde = crate::EnumBitfieldStruct<u8, Ostde_SPEC>;
4777    impl Ostde {
4778        #[doc = "Disable oscillation stop detection function"]
4779        pub const _0: Self = Self::new(0);
4780
4781        #[doc = "Enable oscillation stop detection function"]
4782        pub const _1: Self = Self::new(1);
4783    }
4784}
4785#[doc(hidden)]
4786#[derive(Copy, Clone, Eq, PartialEq)]
4787pub struct Ostdsr_SPEC;
4788impl crate::sealed::RegSpec for Ostdsr_SPEC {
4789    type DataType = u8;
4790}
4791
4792#[doc = "Oscillation Stop Detection Status Register"]
4793pub type Ostdsr = crate::RegValueT<Ostdsr_SPEC>;
4794
4795impl Ostdsr {
4796    #[doc = "Oscillation Stop Detection Flag"]
4797    #[inline(always)]
4798    pub fn ostdf(
4799        self,
4800    ) -> crate::common::RegisterField<
4801        0,
4802        0x1,
4803        1,
4804        0,
4805        ostdsr::Ostdf,
4806        ostdsr::Ostdf,
4807        Ostdsr_SPEC,
4808        crate::common::RW,
4809    > {
4810        crate::common::RegisterField::<
4811            0,
4812            0x1,
4813            1,
4814            0,
4815            ostdsr::Ostdf,
4816            ostdsr::Ostdf,
4817            Ostdsr_SPEC,
4818            crate::common::RW,
4819        >::from_register(self, 0)
4820    }
4821
4822    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
4823    #[inline(always)]
4824    pub fn reserved(
4825        self,
4826    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Ostdsr_SPEC, crate::common::RW> {
4827        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Ostdsr_SPEC,crate::common::RW>::from_register(self,0)
4828    }
4829}
4830impl ::core::default::Default for Ostdsr {
4831    #[inline(always)]
4832    fn default() -> Ostdsr {
4833        <crate::RegValueT<Ostdsr_SPEC> as RegisterValue<_>>::new(0)
4834    }
4835}
4836pub mod ostdsr {
4837
4838    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4839    pub struct Ostdf_SPEC;
4840    pub type Ostdf = crate::EnumBitfieldStruct<u8, Ostdf_SPEC>;
4841    impl Ostdf {
4842        #[doc = "Main clock oscillation stop not detected"]
4843        pub const _0: Self = Self::new(0);
4844
4845        #[doc = "Main clock oscillation stop detected"]
4846        pub const _1: Self = Self::new(1);
4847    }
4848}
4849#[doc(hidden)]
4850#[derive(Copy, Clone, Eq, PartialEq)]
4851pub struct Oscmonr_SPEC;
4852impl crate::sealed::RegSpec for Oscmonr_SPEC {
4853    type DataType = u8;
4854}
4855
4856#[doc = "Oscillator Monitor Register"]
4857pub type Oscmonr = crate::RegValueT<Oscmonr_SPEC>;
4858
4859impl Oscmonr {
4860    #[doc = "MOCO operation monitor"]
4861    #[inline(always)]
4862    pub fn mocomon(
4863        self,
4864    ) -> crate::common::RegisterField<
4865        1,
4866        0x1,
4867        1,
4868        0,
4869        oscmonr::Mocomon,
4870        oscmonr::Mocomon,
4871        Oscmonr_SPEC,
4872        crate::common::R,
4873    > {
4874        crate::common::RegisterField::<
4875            1,
4876            0x1,
4877            1,
4878            0,
4879            oscmonr::Mocomon,
4880            oscmonr::Mocomon,
4881            Oscmonr_SPEC,
4882            crate::common::R,
4883        >::from_register(self, 0)
4884    }
4885
4886    #[doc = "LOCO operation monitor"]
4887    #[inline(always)]
4888    pub fn locomon(
4889        self,
4890    ) -> crate::common::RegisterField<
4891        2,
4892        0x1,
4893        1,
4894        0,
4895        oscmonr::Locomon,
4896        oscmonr::Locomon,
4897        Oscmonr_SPEC,
4898        crate::common::R,
4899    > {
4900        crate::common::RegisterField::<
4901            2,
4902            0x1,
4903            1,
4904            0,
4905            oscmonr::Locomon,
4906            oscmonr::Locomon,
4907            Oscmonr_SPEC,
4908            crate::common::R,
4909        >::from_register(self, 0)
4910    }
4911
4912    #[doc = "These bits are read as 00000."]
4913    #[inline(always)]
4914    pub fn reserved(
4915        self,
4916    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Oscmonr_SPEC, crate::common::R> {
4917        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Oscmonr_SPEC,crate::common::R>::from_register(self,0)
4918    }
4919}
4920impl ::core::default::Default for Oscmonr {
4921    #[inline(always)]
4922    fn default() -> Oscmonr {
4923        <crate::RegValueT<Oscmonr_SPEC> as RegisterValue<_>>::new(0)
4924    }
4925}
4926pub mod oscmonr {
4927
4928    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4929    pub struct Mocomon_SPEC;
4930    pub type Mocomon = crate::EnumBitfieldStruct<u8, Mocomon_SPEC>;
4931    impl Mocomon {
4932        #[doc = "MOCO is set to operate."]
4933        pub const _0: Self = Self::new(0);
4934
4935        #[doc = "MOCO is set to stop."]
4936        pub const _1: Self = Self::new(1);
4937    }
4938    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4939    pub struct Locomon_SPEC;
4940    pub type Locomon = crate::EnumBitfieldStruct<u8, Locomon_SPEC>;
4941    impl Locomon {
4942        #[doc = "LOCO is set to operate."]
4943        pub const _0: Self = Self::new(0);
4944
4945        #[doc = "LOCO is set to stop"]
4946        pub const _1: Self = Self::new(1);
4947    }
4948}
4949#[doc(hidden)]
4950#[derive(Copy, Clone, Eq, PartialEq)]
4951pub struct Pll2Ccr_SPEC;
4952impl crate::sealed::RegSpec for Pll2Ccr_SPEC {
4953    type DataType = u16;
4954}
4955
4956#[doc = "PLL2 Clock Control Register"]
4957pub type Pll2Ccr = crate::RegValueT<Pll2Ccr_SPEC>;
4958
4959impl Pll2Ccr {
4960    #[doc = "PLL2 Input Frequency Division Ratio Select"]
4961    #[inline(always)]
4962    pub fn pl2idiv(
4963        self,
4964    ) -> crate::common::RegisterField<
4965        0,
4966        0x3,
4967        1,
4968        0,
4969        pll2ccr::Pl2Idiv,
4970        pll2ccr::Pl2Idiv,
4971        Pll2Ccr_SPEC,
4972        crate::common::RW,
4973    > {
4974        crate::common::RegisterField::<
4975            0,
4976            0x3,
4977            1,
4978            0,
4979            pll2ccr::Pl2Idiv,
4980            pll2ccr::Pl2Idiv,
4981            Pll2Ccr_SPEC,
4982            crate::common::RW,
4983        >::from_register(self, 0)
4984    }
4985
4986    #[doc = "PLL Clock Source Select"]
4987    #[inline(always)]
4988    pub fn pl2srcsel(
4989        self,
4990    ) -> crate::common::RegisterField<
4991        4,
4992        0x1,
4993        1,
4994        0,
4995        pll2ccr::Pl2Srcsel,
4996        pll2ccr::Pl2Srcsel,
4997        Pll2Ccr_SPEC,
4998        crate::common::RW,
4999    > {
5000        crate::common::RegisterField::<
5001            4,
5002            0x1,
5003            1,
5004            0,
5005            pll2ccr::Pl2Srcsel,
5006            pll2ccr::Pl2Srcsel,
5007            Pll2Ccr_SPEC,
5008            crate::common::RW,
5009        >::from_register(self, 0)
5010    }
5011
5012    #[doc = "This bit is read as 0. The write value should be 0."]
5013    #[inline(always)]
5014    pub fn reserved(
5015        self,
5016    ) -> crate::common::RegisterFieldBool<5, 1, 0, Pll2Ccr_SPEC, crate::common::RW> {
5017        crate::common::RegisterFieldBool::<5, 1, 0, Pll2Ccr_SPEC, crate::common::RW>::from_register(
5018            self, 0,
5019        )
5020    }
5021
5022    #[doc = "PLL2 Frequency Multiplication Fractional Factor Select"]
5023    #[inline(always)]
5024    pub fn pll2mulnf(
5025        self,
5026    ) -> crate::common::RegisterField<
5027        6,
5028        0x3,
5029        1,
5030        0,
5031        pll2ccr::Pll2Mulnf,
5032        pll2ccr::Pll2Mulnf,
5033        Pll2Ccr_SPEC,
5034        crate::common::RW,
5035    > {
5036        crate::common::RegisterField::<
5037            6,
5038            0x3,
5039            1,
5040            0,
5041            pll2ccr::Pll2Mulnf,
5042            pll2ccr::Pll2Mulnf,
5043            Pll2Ccr_SPEC,
5044            crate::common::RW,
5045        >::from_register(self, 0)
5046    }
5047
5048    #[doc = "PLL2 Frequency Multiplication Factor Select"]
5049    #[inline(always)]
5050    pub fn pll2mul(
5051        self,
5052    ) -> crate::common::RegisterField<
5053        8,
5054        0xff,
5055        1,
5056        0,
5057        pll2ccr::Pll2Mul,
5058        pll2ccr::Pll2Mul,
5059        Pll2Ccr_SPEC,
5060        crate::common::RW,
5061    > {
5062        crate::common::RegisterField::<
5063            8,
5064            0xff,
5065            1,
5066            0,
5067            pll2ccr::Pll2Mul,
5068            pll2ccr::Pll2Mul,
5069            Pll2Ccr_SPEC,
5070            crate::common::RW,
5071        >::from_register(self, 0)
5072    }
5073}
5074impl ::core::default::Default for Pll2Ccr {
5075    #[inline(always)]
5076    fn default() -> Pll2Ccr {
5077        <crate::RegValueT<Pll2Ccr_SPEC> as RegisterValue<_>>::new(6400)
5078    }
5079}
5080pub mod pll2ccr {
5081
5082    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5083    pub struct Pl2Idiv_SPEC;
5084    pub type Pl2Idiv = crate::EnumBitfieldStruct<u8, Pl2Idiv_SPEC>;
5085    impl Pl2Idiv {
5086        #[doc = "/1 (Value after reset)"]
5087        pub const _00: Self = Self::new(0);
5088
5089        #[doc = "/2"]
5090        pub const _01: Self = Self::new(1);
5091
5092        #[doc = "/3"]
5093        pub const _10: Self = Self::new(2);
5094
5095        #[doc = "/4"]
5096        pub const _11: Self = Self::new(3);
5097    }
5098    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5099    pub struct Pl2Srcsel_SPEC;
5100    pub type Pl2Srcsel = crate::EnumBitfieldStruct<u8, Pl2Srcsel_SPEC>;
5101    impl Pl2Srcsel {
5102        #[doc = "Main clock oscillator"]
5103        pub const _0: Self = Self::new(0);
5104
5105        #[doc = "HOCO"]
5106        pub const _1: Self = Self::new(1);
5107    }
5108    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5109    pub struct Pll2Mulnf_SPEC;
5110    pub type Pll2Mulnf = crate::EnumBitfieldStruct<u8, Pll2Mulnf_SPEC>;
5111    impl Pll2Mulnf {
5112        #[doc = "0.00 (Value after reset)"]
5113        pub const _00: Self = Self::new(0);
5114
5115        #[doc = "0.33 (1/3)"]
5116        pub const _01: Self = Self::new(1);
5117
5118        #[doc = "0.66 (2/3)"]
5119        pub const _10: Self = Self::new(2);
5120
5121        #[doc = "0.50 (1/2)"]
5122        pub const _11: Self = Self::new(3);
5123    }
5124    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5125    pub struct Pll2Mul_SPEC;
5126    pub type Pll2Mul = crate::EnumBitfieldStruct<u8, Pll2Mul_SPEC>;
5127    impl Pll2Mul {
5128        #[doc = "×26 (Value after reset)"]
5129        pub const _00011001: Self = Self::new(25);
5130
5131        #[doc = "×27"]
5132        pub const _00011010: Self = Self::new(26);
5133
5134        #[doc = "×28"]
5135        pub const _00011011: Self = Self::new(27);
5136
5137        #[doc = "×89"]
5138        pub const _01011000: Self = Self::new(88);
5139
5140        #[doc = "×90"]
5141        pub const _01011001: Self = Self::new(89);
5142
5143        #[doc = "×91"]
5144        pub const _01011010: Self = Self::new(90);
5145
5146        #[doc = "×179"]
5147        pub const _10110010: Self = Self::new(178);
5148
5149        #[doc = "×180"]
5150        pub const _10110011: Self = Self::new(179);
5151    }
5152}
5153#[doc(hidden)]
5154#[derive(Copy, Clone, Eq, PartialEq)]
5155pub struct Pll2Cr_SPEC;
5156impl crate::sealed::RegSpec for Pll2Cr_SPEC {
5157    type DataType = u8;
5158}
5159
5160#[doc = "PLL2 Control Register"]
5161pub type Pll2Cr = crate::RegValueT<Pll2Cr_SPEC>;
5162
5163impl Pll2Cr {
5164    #[doc = "PLL2 Stop Control"]
5165    #[inline(always)]
5166    pub fn pll2stp(
5167        self,
5168    ) -> crate::common::RegisterField<
5169        0,
5170        0x1,
5171        1,
5172        0,
5173        pll2cr::Pll2Stp,
5174        pll2cr::Pll2Stp,
5175        Pll2Cr_SPEC,
5176        crate::common::RW,
5177    > {
5178        crate::common::RegisterField::<
5179            0,
5180            0x1,
5181            1,
5182            0,
5183            pll2cr::Pll2Stp,
5184            pll2cr::Pll2Stp,
5185            Pll2Cr_SPEC,
5186            crate::common::RW,
5187        >::from_register(self, 0)
5188    }
5189
5190    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
5191    #[inline(always)]
5192    pub fn reserved(
5193        self,
5194    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Pll2Cr_SPEC, crate::common::RW> {
5195        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Pll2Cr_SPEC,crate::common::RW>::from_register(self,0)
5196    }
5197}
5198impl ::core::default::Default for Pll2Cr {
5199    #[inline(always)]
5200    fn default() -> Pll2Cr {
5201        <crate::RegValueT<Pll2Cr_SPEC> as RegisterValue<_>>::new(1)
5202    }
5203}
5204pub mod pll2cr {
5205
5206    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5207    pub struct Pll2Stp_SPEC;
5208    pub type Pll2Stp = crate::EnumBitfieldStruct<u8, Pll2Stp_SPEC>;
5209    impl Pll2Stp {
5210        #[doc = "Operate the PLL2"]
5211        pub const _0: Self = Self::new(0);
5212
5213        #[doc = "Stop the PLL2."]
5214        pub const _1: Self = Self::new(1);
5215    }
5216}
5217#[doc(hidden)]
5218#[derive(Copy, Clone, Eq, PartialEq)]
5219pub struct Pllccr2_SPEC;
5220impl crate::sealed::RegSpec for Pllccr2_SPEC {
5221    type DataType = u16;
5222}
5223
5224#[doc = "PLL Clock Control Register 2"]
5225pub type Pllccr2 = crate::RegValueT<Pllccr2_SPEC>;
5226
5227impl Pllccr2 {
5228    #[doc = "PLL1 Output Frequency Division Ratio Select for output clock P"]
5229    #[inline(always)]
5230    pub fn plodivp(
5231        self,
5232    ) -> crate::common::RegisterField<
5233        0,
5234        0xf,
5235        1,
5236        0,
5237        pllccr2::Plodivp,
5238        pllccr2::Plodivp,
5239        Pllccr2_SPEC,
5240        crate::common::RW,
5241    > {
5242        crate::common::RegisterField::<
5243            0,
5244            0xf,
5245            1,
5246            0,
5247            pllccr2::Plodivp,
5248            pllccr2::Plodivp,
5249            Pllccr2_SPEC,
5250            crate::common::RW,
5251        >::from_register(self, 0)
5252    }
5253
5254    #[doc = "PLL1 Output Frequency Division Ratio Select for output clock Q"]
5255    #[inline(always)]
5256    pub fn plodivq(
5257        self,
5258    ) -> crate::common::RegisterField<
5259        4,
5260        0xf,
5261        1,
5262        0,
5263        pllccr2::Plodivq,
5264        pllccr2::Plodivq,
5265        Pllccr2_SPEC,
5266        crate::common::RW,
5267    > {
5268        crate::common::RegisterField::<
5269            4,
5270            0xf,
5271            1,
5272            0,
5273            pllccr2::Plodivq,
5274            pllccr2::Plodivq,
5275            Pllccr2_SPEC,
5276            crate::common::RW,
5277        >::from_register(self, 0)
5278    }
5279
5280    #[doc = "PLL1 Output Frequency Division Ratio Select for output clock R"]
5281    #[inline(always)]
5282    pub fn plodivr(
5283        self,
5284    ) -> crate::common::RegisterField<
5285        8,
5286        0xf,
5287        1,
5288        0,
5289        pllccr2::Plodivr,
5290        pllccr2::Plodivr,
5291        Pllccr2_SPEC,
5292        crate::common::RW,
5293    > {
5294        crate::common::RegisterField::<
5295            8,
5296            0xf,
5297            1,
5298            0,
5299            pllccr2::Plodivr,
5300            pllccr2::Plodivr,
5301            Pllccr2_SPEC,
5302            crate::common::RW,
5303        >::from_register(self, 0)
5304    }
5305
5306    #[doc = "These bits are read as 0000. The write value should be 0000."]
5307    #[inline(always)]
5308    pub fn reserved(
5309        self,
5310    ) -> crate::common::RegisterField<12, 0xf, 1, 0, u8, u8, Pllccr2_SPEC, crate::common::RW> {
5311        crate::common::RegisterField::<12,0xf,1,0,u8,u8,Pllccr2_SPEC,crate::common::RW>::from_register(self,0)
5312    }
5313}
5314impl ::core::default::Default for Pllccr2 {
5315    #[inline(always)]
5316    fn default() -> Pllccr2 {
5317        <crate::RegValueT<Pllccr2_SPEC> as RegisterValue<_>>::new(1365)
5318    }
5319}
5320pub mod pllccr2 {
5321
5322    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5323    pub struct Plodivp_SPEC;
5324    pub type Plodivp = crate::EnumBitfieldStruct<u8, Plodivp_SPEC>;
5325    impl Plodivp {
5326        #[doc = "×1"]
5327        pub const _0000: Self = Self::new(0);
5328
5329        #[doc = "×1 / 2"]
5330        pub const _0001: Self = Self::new(1);
5331
5332        #[doc = "prohibited"]
5333        pub const _0010: Self = Self::new(2);
5334
5335        #[doc = "×1 / 4"]
5336        pub const _0011: Self = Self::new(3);
5337
5338        #[doc = "prohibited"]
5339        pub const _0100: Self = Self::new(4);
5340
5341        #[doc = "×1 / 6 (Value after reset)"]
5342        pub const _0101: Self = Self::new(5);
5343
5344        #[doc = "prohibited"]
5345        pub const _0110: Self = Self::new(6);
5346
5347        #[doc = "×1 / 8"]
5348        pub const _0111: Self = Self::new(7);
5349
5350        #[doc = "prohibited"]
5351        pub const _1000: Self = Self::new(8);
5352
5353        #[doc = "prohibited"]
5354        pub const _1001: Self = Self::new(9);
5355
5356        #[doc = "prohibited"]
5357        pub const _1010: Self = Self::new(10);
5358
5359        #[doc = "prohibited"]
5360        pub const _1011: Self = Self::new(11);
5361
5362        #[doc = "prohibited"]
5363        pub const _1100: Self = Self::new(12);
5364
5365        #[doc = "prohibited"]
5366        pub const _1101: Self = Self::new(13);
5367
5368        #[doc = "prohibited"]
5369        pub const _1110: Self = Self::new(14);
5370
5371        #[doc = "×1 / 16"]
5372        pub const _1111: Self = Self::new(15);
5373    }
5374    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5375    pub struct Plodivq_SPEC;
5376    pub type Plodivq = crate::EnumBitfieldStruct<u8, Plodivq_SPEC>;
5377    impl Plodivq {
5378        #[doc = "prohibited"]
5379        pub const _0000: Self = Self::new(0);
5380
5381        #[doc = "×1 / 2"]
5382        pub const _0001: Self = Self::new(1);
5383
5384        #[doc = "×1 / 3"]
5385        pub const _0010: Self = Self::new(2);
5386
5387        #[doc = "×1 / 4"]
5388        pub const _0011: Self = Self::new(3);
5389
5390        #[doc = "×1 / 5"]
5391        pub const _0100: Self = Self::new(4);
5392
5393        #[doc = "×1 / 6 (Value after reset)"]
5394        pub const _0101: Self = Self::new(5);
5395
5396        #[doc = "prohibited"]
5397        pub const _0110: Self = Self::new(6);
5398
5399        #[doc = "×1 / 8"]
5400        pub const _0111: Self = Self::new(7);
5401
5402        #[doc = "×1 / 9"]
5403        pub const _1000: Self = Self::new(8);
5404
5405        #[doc = "prohibited"]
5406        pub const _1001: Self = Self::new(9);
5407
5408        #[doc = "prohibited"]
5409        pub const _1010: Self = Self::new(10);
5410
5411        #[doc = "prohibited"]
5412        pub const _1011: Self = Self::new(11);
5413
5414        #[doc = "prohibited"]
5415        pub const _1100: Self = Self::new(12);
5416
5417        #[doc = "prohibited"]
5418        pub const _1101: Self = Self::new(13);
5419
5420        #[doc = "prohibited"]
5421        pub const _1110: Self = Self::new(14);
5422
5423        #[doc = "prohibited"]
5424        pub const _1111: Self = Self::new(15);
5425    }
5426    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5427    pub struct Plodivr_SPEC;
5428    pub type Plodivr = crate::EnumBitfieldStruct<u8, Plodivr_SPEC>;
5429    impl Plodivr {
5430        #[doc = "prohibited"]
5431        pub const _0000: Self = Self::new(0);
5432
5433        #[doc = "×1 / 2"]
5434        pub const _0001: Self = Self::new(1);
5435
5436        #[doc = "×1 / 3"]
5437        pub const _0010: Self = Self::new(2);
5438
5439        #[doc = "×1 / 4"]
5440        pub const _0011: Self = Self::new(3);
5441
5442        #[doc = "×1 / 5"]
5443        pub const _0100: Self = Self::new(4);
5444
5445        #[doc = "×1 / 6 (Value after reset)"]
5446        pub const _0101: Self = Self::new(5);
5447
5448        #[doc = "prohibited"]
5449        pub const _0110: Self = Self::new(6);
5450
5451        #[doc = "×1 / 8"]
5452        pub const _0111: Self = Self::new(7);
5453
5454        #[doc = "×1 / 9"]
5455        pub const _1000: Self = Self::new(8);
5456
5457        #[doc = "prohibited"]
5458        pub const _1001: Self = Self::new(9);
5459
5460        #[doc = "prohibited"]
5461        pub const _1010: Self = Self::new(10);
5462
5463        #[doc = "prohibited"]
5464        pub const _1011: Self = Self::new(11);
5465
5466        #[doc = "prohibited"]
5467        pub const _1100: Self = Self::new(12);
5468
5469        #[doc = "prohibited"]
5470        pub const _1101: Self = Self::new(13);
5471
5472        #[doc = "prohibited"]
5473        pub const _1110: Self = Self::new(14);
5474
5475        #[doc = "prohibited"]
5476        pub const _1111: Self = Self::new(15);
5477    }
5478}
5479#[doc(hidden)]
5480#[derive(Copy, Clone, Eq, PartialEq)]
5481pub struct Pll2Ccr2_SPEC;
5482impl crate::sealed::RegSpec for Pll2Ccr2_SPEC {
5483    type DataType = u16;
5484}
5485
5486#[doc = "PLL2 Clock Control Register 2"]
5487pub type Pll2Ccr2 = crate::RegValueT<Pll2Ccr2_SPEC>;
5488
5489impl Pll2Ccr2 {
5490    #[doc = "PLL2 Output Frequency Division Ratio Select for output clock P"]
5491    #[inline(always)]
5492    pub fn pl2odivp(
5493        self,
5494    ) -> crate::common::RegisterField<
5495        0,
5496        0xf,
5497        1,
5498        0,
5499        pll2ccr2::Pl2Odivp,
5500        pll2ccr2::Pl2Odivp,
5501        Pll2Ccr2_SPEC,
5502        crate::common::RW,
5503    > {
5504        crate::common::RegisterField::<
5505            0,
5506            0xf,
5507            1,
5508            0,
5509            pll2ccr2::Pl2Odivp,
5510            pll2ccr2::Pl2Odivp,
5511            Pll2Ccr2_SPEC,
5512            crate::common::RW,
5513        >::from_register(self, 0)
5514    }
5515
5516    #[doc = "PLL2 Output Frequency Division Ratio Select for output clock Q"]
5517    #[inline(always)]
5518    pub fn pl2odivq(
5519        self,
5520    ) -> crate::common::RegisterField<
5521        4,
5522        0xf,
5523        1,
5524        0,
5525        pll2ccr2::Pl2Odivq,
5526        pll2ccr2::Pl2Odivq,
5527        Pll2Ccr2_SPEC,
5528        crate::common::RW,
5529    > {
5530        crate::common::RegisterField::<
5531            4,
5532            0xf,
5533            1,
5534            0,
5535            pll2ccr2::Pl2Odivq,
5536            pll2ccr2::Pl2Odivq,
5537            Pll2Ccr2_SPEC,
5538            crate::common::RW,
5539        >::from_register(self, 0)
5540    }
5541
5542    #[doc = "PLL2 Output Frequency Division Ratio Select for output clock R"]
5543    #[inline(always)]
5544    pub fn pl2odivr(
5545        self,
5546    ) -> crate::common::RegisterField<
5547        8,
5548        0xf,
5549        1,
5550        0,
5551        pll2ccr2::Pl2Odivr,
5552        pll2ccr2::Pl2Odivr,
5553        Pll2Ccr2_SPEC,
5554        crate::common::RW,
5555    > {
5556        crate::common::RegisterField::<
5557            8,
5558            0xf,
5559            1,
5560            0,
5561            pll2ccr2::Pl2Odivr,
5562            pll2ccr2::Pl2Odivr,
5563            Pll2Ccr2_SPEC,
5564            crate::common::RW,
5565        >::from_register(self, 0)
5566    }
5567
5568    #[doc = "These bits are read as 0000. The write value should be 0000."]
5569    #[inline(always)]
5570    pub fn reserved(
5571        self,
5572    ) -> crate::common::RegisterField<12, 0xf, 1, 0, u8, u8, Pll2Ccr2_SPEC, crate::common::RW> {
5573        crate::common::RegisterField::<12,0xf,1,0,u8,u8,Pll2Ccr2_SPEC,crate::common::RW>::from_register(self,0)
5574    }
5575}
5576impl ::core::default::Default for Pll2Ccr2 {
5577    #[inline(always)]
5578    fn default() -> Pll2Ccr2 {
5579        <crate::RegValueT<Pll2Ccr2_SPEC> as RegisterValue<_>>::new(1365)
5580    }
5581}
5582pub mod pll2ccr2 {
5583
5584    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5585    pub struct Pl2Odivp_SPEC;
5586    pub type Pl2Odivp = crate::EnumBitfieldStruct<u8, Pl2Odivp_SPEC>;
5587    impl Pl2Odivp {
5588        #[doc = "×1"]
5589        pub const _0000: Self = Self::new(0);
5590
5591        #[doc = "×1 / 2"]
5592        pub const _0001: Self = Self::new(1);
5593
5594        #[doc = "prohibited"]
5595        pub const _0010: Self = Self::new(2);
5596
5597        #[doc = "×1 / 4"]
5598        pub const _0011: Self = Self::new(3);
5599
5600        #[doc = "prohibited"]
5601        pub const _0100: Self = Self::new(4);
5602
5603        #[doc = "×1 / 6 (Value after reset)"]
5604        pub const _0101: Self = Self::new(5);
5605
5606        #[doc = "prohibited"]
5607        pub const _0110: Self = Self::new(6);
5608
5609        #[doc = "×1 / 8"]
5610        pub const _0111: Self = Self::new(7);
5611
5612        #[doc = "prohibited"]
5613        pub const _1000: Self = Self::new(8);
5614
5615        #[doc = "prohibited"]
5616        pub const _1001: Self = Self::new(9);
5617
5618        #[doc = "prohibited"]
5619        pub const _1010: Self = Self::new(10);
5620
5621        #[doc = "prohibited"]
5622        pub const _1011: Self = Self::new(11);
5623
5624        #[doc = "prohibited"]
5625        pub const _1100: Self = Self::new(12);
5626
5627        #[doc = "prohibited"]
5628        pub const _1101: Self = Self::new(13);
5629
5630        #[doc = "prohibited"]
5631        pub const _1110: Self = Self::new(14);
5632
5633        #[doc = "×1 / 16"]
5634        pub const _1111: Self = Self::new(15);
5635    }
5636    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5637    pub struct Pl2Odivq_SPEC;
5638    pub type Pl2Odivq = crate::EnumBitfieldStruct<u8, Pl2Odivq_SPEC>;
5639    impl Pl2Odivq {
5640        #[doc = "prohibited"]
5641        pub const _0000: Self = Self::new(0);
5642
5643        #[doc = "×1 / 2"]
5644        pub const _0001: Self = Self::new(1);
5645
5646        #[doc = "×1 / 3"]
5647        pub const _0010: Self = Self::new(2);
5648
5649        #[doc = "×1 / 4"]
5650        pub const _0011: Self = Self::new(3);
5651
5652        #[doc = "×1 / 5"]
5653        pub const _0100: Self = Self::new(4);
5654
5655        #[doc = "×1 / 6 (Value after reset)"]
5656        pub const _0101: Self = Self::new(5);
5657
5658        #[doc = "prohibited"]
5659        pub const _0110: Self = Self::new(6);
5660
5661        #[doc = "×1 / 8"]
5662        pub const _0111: Self = Self::new(7);
5663
5664        #[doc = "×1 / 9"]
5665        pub const _1000: Self = Self::new(8);
5666
5667        #[doc = "prohibited"]
5668        pub const _1001: Self = Self::new(9);
5669
5670        #[doc = "prohibited"]
5671        pub const _1010: Self = Self::new(10);
5672
5673        #[doc = "prohibited"]
5674        pub const _1011: Self = Self::new(11);
5675
5676        #[doc = "prohibited"]
5677        pub const _1100: Self = Self::new(12);
5678
5679        #[doc = "prohibited"]
5680        pub const _1101: Self = Self::new(13);
5681
5682        #[doc = "prohibited"]
5683        pub const _1110: Self = Self::new(14);
5684
5685        #[doc = "prohibited"]
5686        pub const _1111: Self = Self::new(15);
5687    }
5688    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5689    pub struct Pl2Odivr_SPEC;
5690    pub type Pl2Odivr = crate::EnumBitfieldStruct<u8, Pl2Odivr_SPEC>;
5691    impl Pl2Odivr {
5692        #[doc = "prohibited"]
5693        pub const _0000: Self = Self::new(0);
5694
5695        #[doc = "×1 / 2"]
5696        pub const _0001: Self = Self::new(1);
5697
5698        #[doc = "×1 / 3"]
5699        pub const _0010: Self = Self::new(2);
5700
5701        #[doc = "×1 / 4"]
5702        pub const _0011: Self = Self::new(3);
5703
5704        #[doc = "×1 / 5"]
5705        pub const _0100: Self = Self::new(4);
5706
5707        #[doc = "×1 / 6 (Value after reset)"]
5708        pub const _0101: Self = Self::new(5);
5709
5710        #[doc = "prohibited"]
5711        pub const _0110: Self = Self::new(6);
5712
5713        #[doc = "×1 / 8"]
5714        pub const _0111: Self = Self::new(7);
5715
5716        #[doc = "×1 / 9"]
5717        pub const _1000: Self = Self::new(8);
5718
5719        #[doc = "prohibited"]
5720        pub const _1001: Self = Self::new(9);
5721
5722        #[doc = "prohibited"]
5723        pub const _1010: Self = Self::new(10);
5724
5725        #[doc = "prohibited"]
5726        pub const _1011: Self = Self::new(11);
5727
5728        #[doc = "prohibited"]
5729        pub const _1100: Self = Self::new(12);
5730
5731        #[doc = "prohibited"]
5732        pub const _1101: Self = Self::new(13);
5733
5734        #[doc = "prohibited"]
5735        pub const _1110: Self = Self::new(14);
5736
5737        #[doc = "prohibited"]
5738        pub const _1111: Self = Self::new(15);
5739    }
5740}
5741#[doc(hidden)]
5742#[derive(Copy, Clone, Eq, PartialEq)]
5743pub struct Ebckocr_SPEC;
5744impl crate::sealed::RegSpec for Ebckocr_SPEC {
5745    type DataType = u8;
5746}
5747
5748#[doc = "External Bus Clock Output Control Register"]
5749pub type Ebckocr = crate::RegValueT<Ebckocr_SPEC>;
5750
5751impl Ebckocr {
5752    #[doc = "BCLK Pin Output Control"]
5753    #[inline(always)]
5754    pub fn ebckoen(
5755        self,
5756    ) -> crate::common::RegisterField<
5757        0,
5758        0x1,
5759        1,
5760        0,
5761        ebckocr::Ebckoen,
5762        ebckocr::Ebckoen,
5763        Ebckocr_SPEC,
5764        crate::common::RW,
5765    > {
5766        crate::common::RegisterField::<
5767            0,
5768            0x1,
5769            1,
5770            0,
5771            ebckocr::Ebckoen,
5772            ebckocr::Ebckoen,
5773            Ebckocr_SPEC,
5774            crate::common::RW,
5775        >::from_register(self, 0)
5776    }
5777
5778    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
5779    #[inline(always)]
5780    pub fn reserved(
5781        self,
5782    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Ebckocr_SPEC, crate::common::RW> {
5783        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Ebckocr_SPEC,crate::common::RW>::from_register(self,0)
5784    }
5785}
5786impl ::core::default::Default for Ebckocr {
5787    #[inline(always)]
5788    fn default() -> Ebckocr {
5789        <crate::RegValueT<Ebckocr_SPEC> as RegisterValue<_>>::new(0)
5790    }
5791}
5792pub mod ebckocr {
5793
5794    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5795    pub struct Ebckoen_SPEC;
5796    pub type Ebckoen = crate::EnumBitfieldStruct<u8, Ebckoen_SPEC>;
5797    impl Ebckoen {
5798        #[doc = "Disable EBCLK pin output (fixed high)"]
5799        pub const _0: Self = Self::new(0);
5800
5801        #[doc = "Enable EBCLK pin output"]
5802        pub const _1: Self = Self::new(1);
5803    }
5804}
5805#[doc(hidden)]
5806#[derive(Copy, Clone, Eq, PartialEq)]
5807pub struct Sdckocr_SPEC;
5808impl crate::sealed::RegSpec for Sdckocr_SPEC {
5809    type DataType = u8;
5810}
5811
5812#[doc = "SDRAM Clock Output Control Register"]
5813pub type Sdckocr = crate::RegValueT<Sdckocr_SPEC>;
5814
5815impl Sdckocr {
5816    #[doc = "SDCLK Pin Output Control"]
5817    #[inline(always)]
5818    pub fn sdckoen(
5819        self,
5820    ) -> crate::common::RegisterField<
5821        0,
5822        0x1,
5823        1,
5824        0,
5825        sdckocr::Sdckoen,
5826        sdckocr::Sdckoen,
5827        Sdckocr_SPEC,
5828        crate::common::RW,
5829    > {
5830        crate::common::RegisterField::<
5831            0,
5832            0x1,
5833            1,
5834            0,
5835            sdckocr::Sdckoen,
5836            sdckocr::Sdckoen,
5837            Sdckocr_SPEC,
5838            crate::common::RW,
5839        >::from_register(self, 0)
5840    }
5841
5842    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
5843    #[inline(always)]
5844    pub fn reserved(
5845        self,
5846    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Sdckocr_SPEC, crate::common::RW> {
5847        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Sdckocr_SPEC,crate::common::RW>::from_register(self,0)
5848    }
5849}
5850impl ::core::default::Default for Sdckocr {
5851    #[inline(always)]
5852    fn default() -> Sdckocr {
5853        <crate::RegValueT<Sdckocr_SPEC> as RegisterValue<_>>::new(0)
5854    }
5855}
5856pub mod sdckocr {
5857
5858    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5859    pub struct Sdckoen_SPEC;
5860    pub type Sdckoen = crate::EnumBitfieldStruct<u8, Sdckoen_SPEC>;
5861    impl Sdckoen {
5862        #[doc = "Disable SDCLK pin output (fixed high)"]
5863        pub const _0: Self = Self::new(0);
5864
5865        #[doc = "Enable SDCLK pin output"]
5866        pub const _1: Self = Self::new(1);
5867    }
5868}
5869#[doc(hidden)]
5870#[derive(Copy, Clone, Eq, PartialEq)]
5871pub struct Scickdivcr_SPEC;
5872impl crate::sealed::RegSpec for Scickdivcr_SPEC {
5873    type DataType = u8;
5874}
5875
5876#[doc = "SCI clock Division control register"]
5877pub type Scickdivcr = crate::RegValueT<Scickdivcr_SPEC>;
5878
5879impl Scickdivcr {
5880    #[doc = "Clock Division Select"]
5881    #[inline(always)]
5882    pub fn ckdiv(
5883        self,
5884    ) -> crate::common::RegisterField<
5885        0,
5886        0x7,
5887        1,
5888        0,
5889        scickdivcr::Ckdiv,
5890        scickdivcr::Ckdiv,
5891        Scickdivcr_SPEC,
5892        crate::common::RW,
5893    > {
5894        crate::common::RegisterField::<
5895            0,
5896            0x7,
5897            1,
5898            0,
5899            scickdivcr::Ckdiv,
5900            scickdivcr::Ckdiv,
5901            Scickdivcr_SPEC,
5902            crate::common::RW,
5903        >::from_register(self, 0)
5904    }
5905
5906    #[doc = "These bits are read as 00000. The write value should be 00000."]
5907    #[inline(always)]
5908    pub fn reserved(
5909        self,
5910    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Scickdivcr_SPEC, crate::common::RW>
5911    {
5912        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Scickdivcr_SPEC,crate::common::RW>::from_register(self,0)
5913    }
5914}
5915impl ::core::default::Default for Scickdivcr {
5916    #[inline(always)]
5917    fn default() -> Scickdivcr {
5918        <crate::RegValueT<Scickdivcr_SPEC> as RegisterValue<_>>::new(0)
5919    }
5920}
5921pub mod scickdivcr {
5922
5923    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5924    pub struct Ckdiv_SPEC;
5925    pub type Ckdiv = crate::EnumBitfieldStruct<u8, Ckdiv_SPEC>;
5926    impl Ckdiv {
5927        #[doc = "/1 (value after reset)"]
5928        pub const _000: Self = Self::new(0);
5929
5930        #[doc = "/2"]
5931        pub const _001: Self = Self::new(1);
5932
5933        #[doc = "/4"]
5934        pub const _010: Self = Self::new(2);
5935
5936        #[doc = "/6"]
5937        pub const _011: Self = Self::new(3);
5938
5939        #[doc = "/8"]
5940        pub const _100: Self = Self::new(4);
5941
5942        #[doc = "/3"]
5943        pub const _101: Self = Self::new(5);
5944
5945        #[doc = "/5"]
5946        pub const _110: Self = Self::new(6);
5947    }
5948}
5949#[doc(hidden)]
5950#[derive(Copy, Clone, Eq, PartialEq)]
5951pub struct Scickcr_SPEC;
5952impl crate::sealed::RegSpec for Scickcr_SPEC {
5953    type DataType = u8;
5954}
5955
5956#[doc = "SCI clock control register"]
5957pub type Scickcr = crate::RegValueT<Scickcr_SPEC>;
5958
5959impl Scickcr {
5960    #[doc = "Clock Source Select"]
5961    #[inline(always)]
5962    pub fn cksel(
5963        self,
5964    ) -> crate::common::RegisterField<
5965        0,
5966        0xf,
5967        1,
5968        0,
5969        scickcr::Cksel,
5970        scickcr::Cksel,
5971        Scickcr_SPEC,
5972        crate::common::RW,
5973    > {
5974        crate::common::RegisterField::<
5975            0,
5976            0xf,
5977            1,
5978            0,
5979            scickcr::Cksel,
5980            scickcr::Cksel,
5981            Scickcr_SPEC,
5982            crate::common::RW,
5983        >::from_register(self, 0)
5984    }
5985
5986    #[doc = "These bits are read as 00. The write value should be 00."]
5987    #[inline(always)]
5988    pub fn reserved(
5989        self,
5990    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Scickcr_SPEC, crate::common::RW> {
5991        crate::common::RegisterField::<4,0x3,1,0,u8,u8,Scickcr_SPEC,crate::common::RW>::from_register(self,0)
5992    }
5993
5994    #[doc = "Clock Switching Request"]
5995    #[inline(always)]
5996    pub fn cksreq(
5997        self,
5998    ) -> crate::common::RegisterField<
5999        6,
6000        0x1,
6001        1,
6002        0,
6003        scickcr::Cksreq,
6004        scickcr::Cksreq,
6005        Scickcr_SPEC,
6006        crate::common::RW,
6007    > {
6008        crate::common::RegisterField::<
6009            6,
6010            0x1,
6011            1,
6012            0,
6013            scickcr::Cksreq,
6014            scickcr::Cksreq,
6015            Scickcr_SPEC,
6016            crate::common::RW,
6017        >::from_register(self, 0)
6018    }
6019
6020    #[doc = "Clock Switching Ready state flag"]
6021    #[inline(always)]
6022    pub fn cksrdy(
6023        self,
6024    ) -> crate::common::RegisterField<
6025        7,
6026        0x1,
6027        1,
6028        0,
6029        scickcr::Cksrdy,
6030        scickcr::Cksrdy,
6031        Scickcr_SPEC,
6032        crate::common::R,
6033    > {
6034        crate::common::RegisterField::<
6035            7,
6036            0x1,
6037            1,
6038            0,
6039            scickcr::Cksrdy,
6040            scickcr::Cksrdy,
6041            Scickcr_SPEC,
6042            crate::common::R,
6043        >::from_register(self, 0)
6044    }
6045}
6046impl ::core::default::Default for Scickcr {
6047    #[inline(always)]
6048    fn default() -> Scickcr {
6049        <crate::RegValueT<Scickcr_SPEC> as RegisterValue<_>>::new(1)
6050    }
6051}
6052pub mod scickcr {
6053
6054    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6055    pub struct Cksel_SPEC;
6056    pub type Cksel = crate::EnumBitfieldStruct<u8, Cksel_SPEC>;
6057    impl Cksel {
6058        #[doc = "HOCO"]
6059        pub const _0000: Self = Self::new(0);
6060
6061        #[doc = "MOCO (value after reset)"]
6062        pub const _0001: Self = Self::new(1);
6063
6064        #[doc = "LOCO"]
6065        pub const _0010: Self = Self::new(2);
6066
6067        #[doc = "Main clock oscillator"]
6068        pub const _0011: Self = Self::new(3);
6069
6070        #[doc = "Sub-clock oscillator"]
6071        pub const _0100: Self = Self::new(4);
6072
6073        #[doc = "PLL1P"]
6074        pub const _0101: Self = Self::new(5);
6075
6076        #[doc = "PLL2P"]
6077        pub const _0110: Self = Self::new(6);
6078
6079        #[doc = "PLL1Q"]
6080        pub const _0111: Self = Self::new(7);
6081
6082        #[doc = "PLL1R"]
6083        pub const _1000: Self = Self::new(8);
6084
6085        #[doc = "PLL2Q"]
6086        pub const _1001: Self = Self::new(9);
6087
6088        #[doc = "PLL2R"]
6089        pub const _1010: Self = Self::new(10);
6090    }
6091    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6092    pub struct Cksreq_SPEC;
6093    pub type Cksreq = crate::EnumBitfieldStruct<u8, Cksreq_SPEC>;
6094    impl Cksreq {
6095        #[doc = "No request"]
6096        pub const _0: Self = Self::new(0);
6097
6098        #[doc = "Request switching"]
6099        pub const _1: Self = Self::new(1);
6100    }
6101    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6102    pub struct Cksrdy_SPEC;
6103    pub type Cksrdy = crate::EnumBitfieldStruct<u8, Cksrdy_SPEC>;
6104    impl Cksrdy {
6105        #[doc = "Impossible to Switch"]
6106        pub const _0: Self = Self::new(0);
6107
6108        #[doc = "Possible to Switch"]
6109        pub const _1: Self = Self::new(1);
6110    }
6111}
6112#[doc(hidden)]
6113#[derive(Copy, Clone, Eq, PartialEq)]
6114pub struct Spickdivcr_SPEC;
6115impl crate::sealed::RegSpec for Spickdivcr_SPEC {
6116    type DataType = u8;
6117}
6118
6119#[doc = "SPI clock Division control register"]
6120pub type Spickdivcr = crate::RegValueT<Spickdivcr_SPEC>;
6121
6122impl Spickdivcr {
6123    #[doc = "Clock Division Select"]
6124    #[inline(always)]
6125    pub fn ckdiv(
6126        self,
6127    ) -> crate::common::RegisterField<
6128        0,
6129        0x7,
6130        1,
6131        0,
6132        spickdivcr::Ckdiv,
6133        spickdivcr::Ckdiv,
6134        Spickdivcr_SPEC,
6135        crate::common::RW,
6136    > {
6137        crate::common::RegisterField::<
6138            0,
6139            0x7,
6140            1,
6141            0,
6142            spickdivcr::Ckdiv,
6143            spickdivcr::Ckdiv,
6144            Spickdivcr_SPEC,
6145            crate::common::RW,
6146        >::from_register(self, 0)
6147    }
6148
6149    #[doc = "These bits are read as 00000. The write value should be 00000."]
6150    #[inline(always)]
6151    pub fn reserved(
6152        self,
6153    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Spickdivcr_SPEC, crate::common::RW>
6154    {
6155        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Spickdivcr_SPEC,crate::common::RW>::from_register(self,0)
6156    }
6157}
6158impl ::core::default::Default for Spickdivcr {
6159    #[inline(always)]
6160    fn default() -> Spickdivcr {
6161        <crate::RegValueT<Spickdivcr_SPEC> as RegisterValue<_>>::new(0)
6162    }
6163}
6164pub mod spickdivcr {
6165
6166    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6167    pub struct Ckdiv_SPEC;
6168    pub type Ckdiv = crate::EnumBitfieldStruct<u8, Ckdiv_SPEC>;
6169    impl Ckdiv {
6170        #[doc = "/1 (value after reset)"]
6171        pub const _000: Self = Self::new(0);
6172
6173        #[doc = "/2"]
6174        pub const _001: Self = Self::new(1);
6175
6176        #[doc = "/4"]
6177        pub const _010: Self = Self::new(2);
6178
6179        #[doc = "/6"]
6180        pub const _011: Self = Self::new(3);
6181
6182        #[doc = "/8"]
6183        pub const _100: Self = Self::new(4);
6184
6185        #[doc = "/3"]
6186        pub const _101: Self = Self::new(5);
6187
6188        #[doc = "/5"]
6189        pub const _110: Self = Self::new(6);
6190    }
6191}
6192#[doc(hidden)]
6193#[derive(Copy, Clone, Eq, PartialEq)]
6194pub struct Spickcr_SPEC;
6195impl crate::sealed::RegSpec for Spickcr_SPEC {
6196    type DataType = u8;
6197}
6198
6199#[doc = "SPI clock control register"]
6200pub type Spickcr = crate::RegValueT<Spickcr_SPEC>;
6201
6202impl Spickcr {
6203    #[doc = "Clock Source Select"]
6204    #[inline(always)]
6205    pub fn cksel(
6206        self,
6207    ) -> crate::common::RegisterField<
6208        0,
6209        0xf,
6210        1,
6211        0,
6212        spickcr::Cksel,
6213        spickcr::Cksel,
6214        Spickcr_SPEC,
6215        crate::common::RW,
6216    > {
6217        crate::common::RegisterField::<
6218            0,
6219            0xf,
6220            1,
6221            0,
6222            spickcr::Cksel,
6223            spickcr::Cksel,
6224            Spickcr_SPEC,
6225            crate::common::RW,
6226        >::from_register(self, 0)
6227    }
6228
6229    #[doc = "These bits are read as 00. The write value should be 00."]
6230    #[inline(always)]
6231    pub fn reserved(
6232        self,
6233    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Spickcr_SPEC, crate::common::RW> {
6234        crate::common::RegisterField::<4,0x3,1,0,u8,u8,Spickcr_SPEC,crate::common::RW>::from_register(self,0)
6235    }
6236
6237    #[doc = "Clock Switching Request"]
6238    #[inline(always)]
6239    pub fn cksreq(
6240        self,
6241    ) -> crate::common::RegisterField<
6242        6,
6243        0x1,
6244        1,
6245        0,
6246        spickcr::Cksreq,
6247        spickcr::Cksreq,
6248        Spickcr_SPEC,
6249        crate::common::RW,
6250    > {
6251        crate::common::RegisterField::<
6252            6,
6253            0x1,
6254            1,
6255            0,
6256            spickcr::Cksreq,
6257            spickcr::Cksreq,
6258            Spickcr_SPEC,
6259            crate::common::RW,
6260        >::from_register(self, 0)
6261    }
6262
6263    #[doc = "Clock Switching Ready state flag"]
6264    #[inline(always)]
6265    pub fn cksrdy(
6266        self,
6267    ) -> crate::common::RegisterField<
6268        7,
6269        0x1,
6270        1,
6271        0,
6272        spickcr::Cksrdy,
6273        spickcr::Cksrdy,
6274        Spickcr_SPEC,
6275        crate::common::R,
6276    > {
6277        crate::common::RegisterField::<
6278            7,
6279            0x1,
6280            1,
6281            0,
6282            spickcr::Cksrdy,
6283            spickcr::Cksrdy,
6284            Spickcr_SPEC,
6285            crate::common::R,
6286        >::from_register(self, 0)
6287    }
6288}
6289impl ::core::default::Default for Spickcr {
6290    #[inline(always)]
6291    fn default() -> Spickcr {
6292        <crate::RegValueT<Spickcr_SPEC> as RegisterValue<_>>::new(1)
6293    }
6294}
6295pub mod spickcr {
6296
6297    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6298    pub struct Cksel_SPEC;
6299    pub type Cksel = crate::EnumBitfieldStruct<u8, Cksel_SPEC>;
6300    impl Cksel {
6301        #[doc = "HOCO"]
6302        pub const _0000: Self = Self::new(0);
6303
6304        #[doc = "MOCO (value after reset)"]
6305        pub const _0001: Self = Self::new(1);
6306
6307        #[doc = "LOCO"]
6308        pub const _0010: Self = Self::new(2);
6309
6310        #[doc = "Main clock oscillator"]
6311        pub const _0011: Self = Self::new(3);
6312
6313        #[doc = "Sub-clock oscillator"]
6314        pub const _0100: Self = Self::new(4);
6315
6316        #[doc = "PLL1P"]
6317        pub const _0101: Self = Self::new(5);
6318
6319        #[doc = "PLL2P"]
6320        pub const _0110: Self = Self::new(6);
6321
6322        #[doc = "PLL1Q"]
6323        pub const _0111: Self = Self::new(7);
6324
6325        #[doc = "PLL1R"]
6326        pub const _1000: Self = Self::new(8);
6327
6328        #[doc = "PLL2Q"]
6329        pub const _1001: Self = Self::new(9);
6330
6331        #[doc = "PLL2R"]
6332        pub const _1010: Self = Self::new(10);
6333    }
6334    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6335    pub struct Cksreq_SPEC;
6336    pub type Cksreq = crate::EnumBitfieldStruct<u8, Cksreq_SPEC>;
6337    impl Cksreq {
6338        #[doc = "No request"]
6339        pub const _0: Self = Self::new(0);
6340
6341        #[doc = "Request switching"]
6342        pub const _1: Self = Self::new(1);
6343    }
6344    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6345    pub struct Cksrdy_SPEC;
6346    pub type Cksrdy = crate::EnumBitfieldStruct<u8, Cksrdy_SPEC>;
6347    impl Cksrdy {
6348        #[doc = "Impossible to Switch"]
6349        pub const _0: Self = Self::new(0);
6350
6351        #[doc = "Possible to Switch"]
6352        pub const _1: Self = Self::new(1);
6353    }
6354}
6355#[doc(hidden)]
6356#[derive(Copy, Clone, Eq, PartialEq)]
6357pub struct Adcckdivcr_SPEC;
6358impl crate::sealed::RegSpec for Adcckdivcr_SPEC {
6359    type DataType = u8;
6360}
6361
6362#[doc = "ADC clock Division control register"]
6363pub type Adcckdivcr = crate::RegValueT<Adcckdivcr_SPEC>;
6364
6365impl Adcckdivcr {
6366    #[doc = "Clock Division Select"]
6367    #[inline(always)]
6368    pub fn ckdiv(
6369        self,
6370    ) -> crate::common::RegisterField<
6371        0,
6372        0x7,
6373        1,
6374        0,
6375        adcckdivcr::Ckdiv,
6376        adcckdivcr::Ckdiv,
6377        Adcckdivcr_SPEC,
6378        crate::common::RW,
6379    > {
6380        crate::common::RegisterField::<
6381            0,
6382            0x7,
6383            1,
6384            0,
6385            adcckdivcr::Ckdiv,
6386            adcckdivcr::Ckdiv,
6387            Adcckdivcr_SPEC,
6388            crate::common::RW,
6389        >::from_register(self, 0)
6390    }
6391
6392    #[doc = "These bits are read as 00000. The write value should be 00000."]
6393    #[inline(always)]
6394    pub fn reserved(
6395        self,
6396    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Adcckdivcr_SPEC, crate::common::RW>
6397    {
6398        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Adcckdivcr_SPEC,crate::common::RW>::from_register(self,0)
6399    }
6400}
6401impl ::core::default::Default for Adcckdivcr {
6402    #[inline(always)]
6403    fn default() -> Adcckdivcr {
6404        <crate::RegValueT<Adcckdivcr_SPEC> as RegisterValue<_>>::new(0)
6405    }
6406}
6407pub mod adcckdivcr {
6408
6409    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6410    pub struct Ckdiv_SPEC;
6411    pub type Ckdiv = crate::EnumBitfieldStruct<u8, Ckdiv_SPEC>;
6412    impl Ckdiv {
6413        #[doc = "/1 (value after reset)"]
6414        pub const _000: Self = Self::new(0);
6415
6416        #[doc = "/2"]
6417        pub const _001: Self = Self::new(1);
6418
6419        #[doc = "/4"]
6420        pub const _010: Self = Self::new(2);
6421
6422        #[doc = "/6"]
6423        pub const _011: Self = Self::new(3);
6424
6425        #[doc = "/8"]
6426        pub const _100: Self = Self::new(4);
6427
6428        #[doc = "/3"]
6429        pub const _101: Self = Self::new(5);
6430
6431        #[doc = "/5"]
6432        pub const _110: Self = Self::new(6);
6433    }
6434}
6435#[doc(hidden)]
6436#[derive(Copy, Clone, Eq, PartialEq)]
6437pub struct Adcckcr_SPEC;
6438impl crate::sealed::RegSpec for Adcckcr_SPEC {
6439    type DataType = u8;
6440}
6441
6442#[doc = "ADC clock control register"]
6443pub type Adcckcr = crate::RegValueT<Adcckcr_SPEC>;
6444
6445impl Adcckcr {
6446    #[doc = "Clock Source Select"]
6447    #[inline(always)]
6448    pub fn cksel(
6449        self,
6450    ) -> crate::common::RegisterField<
6451        0,
6452        0xf,
6453        1,
6454        0,
6455        adcckcr::Cksel,
6456        adcckcr::Cksel,
6457        Adcckcr_SPEC,
6458        crate::common::RW,
6459    > {
6460        crate::common::RegisterField::<
6461            0,
6462            0xf,
6463            1,
6464            0,
6465            adcckcr::Cksel,
6466            adcckcr::Cksel,
6467            Adcckcr_SPEC,
6468            crate::common::RW,
6469        >::from_register(self, 0)
6470    }
6471
6472    #[doc = "These bits are read as 00. The write value should be 00."]
6473    #[inline(always)]
6474    pub fn reserved(
6475        self,
6476    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Adcckcr_SPEC, crate::common::RW> {
6477        crate::common::RegisterField::<4,0x3,1,0,u8,u8,Adcckcr_SPEC,crate::common::RW>::from_register(self,0)
6478    }
6479
6480    #[doc = "Clock Switching Request"]
6481    #[inline(always)]
6482    pub fn cksreq(
6483        self,
6484    ) -> crate::common::RegisterField<
6485        6,
6486        0x1,
6487        1,
6488        0,
6489        adcckcr::Cksreq,
6490        adcckcr::Cksreq,
6491        Adcckcr_SPEC,
6492        crate::common::RW,
6493    > {
6494        crate::common::RegisterField::<
6495            6,
6496            0x1,
6497            1,
6498            0,
6499            adcckcr::Cksreq,
6500            adcckcr::Cksreq,
6501            Adcckcr_SPEC,
6502            crate::common::RW,
6503        >::from_register(self, 0)
6504    }
6505
6506    #[doc = "Clock Switching Ready state flag"]
6507    #[inline(always)]
6508    pub fn cksrdy(
6509        self,
6510    ) -> crate::common::RegisterField<
6511        7,
6512        0x1,
6513        1,
6514        0,
6515        adcckcr::Cksrdy,
6516        adcckcr::Cksrdy,
6517        Adcckcr_SPEC,
6518        crate::common::R,
6519    > {
6520        crate::common::RegisterField::<
6521            7,
6522            0x1,
6523            1,
6524            0,
6525            adcckcr::Cksrdy,
6526            adcckcr::Cksrdy,
6527            Adcckcr_SPEC,
6528            crate::common::R,
6529        >::from_register(self, 0)
6530    }
6531}
6532impl ::core::default::Default for Adcckcr {
6533    #[inline(always)]
6534    fn default() -> Adcckcr {
6535        <crate::RegValueT<Adcckcr_SPEC> as RegisterValue<_>>::new(1)
6536    }
6537}
6538pub mod adcckcr {
6539
6540    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6541    pub struct Cksel_SPEC;
6542    pub type Cksel = crate::EnumBitfieldStruct<u8, Cksel_SPEC>;
6543    impl Cksel {
6544        #[doc = "HOCO"]
6545        pub const _0000: Self = Self::new(0);
6546
6547        #[doc = "MOCO (value after reset)"]
6548        pub const _0001: Self = Self::new(1);
6549
6550        #[doc = "LOCO"]
6551        pub const _0010: Self = Self::new(2);
6552
6553        #[doc = "Main clock oscillator"]
6554        pub const _0011: Self = Self::new(3);
6555
6556        #[doc = "Sub-clock oscillator"]
6557        pub const _0100: Self = Self::new(4);
6558
6559        #[doc = "PLL1P"]
6560        pub const _0101: Self = Self::new(5);
6561
6562        #[doc = "PLL2P"]
6563        pub const _0110: Self = Self::new(6);
6564
6565        #[doc = "PLL1Q"]
6566        pub const _0111: Self = Self::new(7);
6567
6568        #[doc = "PLL1R"]
6569        pub const _1000: Self = Self::new(8);
6570
6571        #[doc = "PLL2Q"]
6572        pub const _1001: Self = Self::new(9);
6573
6574        #[doc = "PLL2R"]
6575        pub const _1010: Self = Self::new(10);
6576    }
6577    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6578    pub struct Cksreq_SPEC;
6579    pub type Cksreq = crate::EnumBitfieldStruct<u8, Cksreq_SPEC>;
6580    impl Cksreq {
6581        #[doc = "No request"]
6582        pub const _0: Self = Self::new(0);
6583
6584        #[doc = "Request switching"]
6585        pub const _1: Self = Self::new(1);
6586    }
6587    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6588    pub struct Cksrdy_SPEC;
6589    pub type Cksrdy = crate::EnumBitfieldStruct<u8, Cksrdy_SPEC>;
6590    impl Cksrdy {
6591        #[doc = "Impossible to Switch"]
6592        pub const _0: Self = Self::new(0);
6593
6594        #[doc = "Possible to Switch"]
6595        pub const _1: Self = Self::new(1);
6596    }
6597}
6598#[doc(hidden)]
6599#[derive(Copy, Clone, Eq, PartialEq)]
6600pub struct Gptckdivcr_SPEC;
6601impl crate::sealed::RegSpec for Gptckdivcr_SPEC {
6602    type DataType = u8;
6603}
6604
6605#[doc = "GPT clock Division control register"]
6606pub type Gptckdivcr = crate::RegValueT<Gptckdivcr_SPEC>;
6607
6608impl Gptckdivcr {
6609    #[doc = "Clock Division Select"]
6610    #[inline(always)]
6611    pub fn ckdiv(
6612        self,
6613    ) -> crate::common::RegisterField<
6614        0,
6615        0x7,
6616        1,
6617        0,
6618        gptckdivcr::Ckdiv,
6619        gptckdivcr::Ckdiv,
6620        Gptckdivcr_SPEC,
6621        crate::common::RW,
6622    > {
6623        crate::common::RegisterField::<
6624            0,
6625            0x7,
6626            1,
6627            0,
6628            gptckdivcr::Ckdiv,
6629            gptckdivcr::Ckdiv,
6630            Gptckdivcr_SPEC,
6631            crate::common::RW,
6632        >::from_register(self, 0)
6633    }
6634
6635    #[doc = "These bits are read as 00000. The write value should be 00000."]
6636    #[inline(always)]
6637    pub fn reserved(
6638        self,
6639    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Gptckdivcr_SPEC, crate::common::RW>
6640    {
6641        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Gptckdivcr_SPEC,crate::common::RW>::from_register(self,0)
6642    }
6643}
6644impl ::core::default::Default for Gptckdivcr {
6645    #[inline(always)]
6646    fn default() -> Gptckdivcr {
6647        <crate::RegValueT<Gptckdivcr_SPEC> as RegisterValue<_>>::new(0)
6648    }
6649}
6650pub mod gptckdivcr {
6651
6652    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6653    pub struct Ckdiv_SPEC;
6654    pub type Ckdiv = crate::EnumBitfieldStruct<u8, Ckdiv_SPEC>;
6655    impl Ckdiv {
6656        #[doc = "/1 (value after reset)"]
6657        pub const _000: Self = Self::new(0);
6658
6659        #[doc = "/2"]
6660        pub const _001: Self = Self::new(1);
6661
6662        #[doc = "/4"]
6663        pub const _010: Self = Self::new(2);
6664
6665        #[doc = "/6"]
6666        pub const _011: Self = Self::new(3);
6667
6668        #[doc = "/8"]
6669        pub const _100: Self = Self::new(4);
6670
6671        #[doc = "/3"]
6672        pub const _101: Self = Self::new(5);
6673
6674        #[doc = "/5"]
6675        pub const _110: Self = Self::new(6);
6676    }
6677}
6678#[doc(hidden)]
6679#[derive(Copy, Clone, Eq, PartialEq)]
6680pub struct Gptckcr_SPEC;
6681impl crate::sealed::RegSpec for Gptckcr_SPEC {
6682    type DataType = u8;
6683}
6684
6685#[doc = "GPT clock control register"]
6686pub type Gptckcr = crate::RegValueT<Gptckcr_SPEC>;
6687
6688impl Gptckcr {
6689    #[doc = "Clock Source Select"]
6690    #[inline(always)]
6691    pub fn cksel(
6692        self,
6693    ) -> crate::common::RegisterField<
6694        0,
6695        0xf,
6696        1,
6697        0,
6698        gptckcr::Cksel,
6699        gptckcr::Cksel,
6700        Gptckcr_SPEC,
6701        crate::common::RW,
6702    > {
6703        crate::common::RegisterField::<
6704            0,
6705            0xf,
6706            1,
6707            0,
6708            gptckcr::Cksel,
6709            gptckcr::Cksel,
6710            Gptckcr_SPEC,
6711            crate::common::RW,
6712        >::from_register(self, 0)
6713    }
6714
6715    #[doc = "These bits are read as 00. The write value should be 00."]
6716    #[inline(always)]
6717    pub fn reserved(
6718        self,
6719    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Gptckcr_SPEC, crate::common::RW> {
6720        crate::common::RegisterField::<4,0x3,1,0,u8,u8,Gptckcr_SPEC,crate::common::RW>::from_register(self,0)
6721    }
6722
6723    #[doc = "Clock Switching Request"]
6724    #[inline(always)]
6725    pub fn cksreq(
6726        self,
6727    ) -> crate::common::RegisterField<
6728        6,
6729        0x1,
6730        1,
6731        0,
6732        gptckcr::Cksreq,
6733        gptckcr::Cksreq,
6734        Gptckcr_SPEC,
6735        crate::common::RW,
6736    > {
6737        crate::common::RegisterField::<
6738            6,
6739            0x1,
6740            1,
6741            0,
6742            gptckcr::Cksreq,
6743            gptckcr::Cksreq,
6744            Gptckcr_SPEC,
6745            crate::common::RW,
6746        >::from_register(self, 0)
6747    }
6748
6749    #[doc = "Clock Switching Ready state flag"]
6750    #[inline(always)]
6751    pub fn cksrdy(
6752        self,
6753    ) -> crate::common::RegisterField<
6754        7,
6755        0x1,
6756        1,
6757        0,
6758        gptckcr::Cksrdy,
6759        gptckcr::Cksrdy,
6760        Gptckcr_SPEC,
6761        crate::common::R,
6762    > {
6763        crate::common::RegisterField::<
6764            7,
6765            0x1,
6766            1,
6767            0,
6768            gptckcr::Cksrdy,
6769            gptckcr::Cksrdy,
6770            Gptckcr_SPEC,
6771            crate::common::R,
6772        >::from_register(self, 0)
6773    }
6774}
6775impl ::core::default::Default for Gptckcr {
6776    #[inline(always)]
6777    fn default() -> Gptckcr {
6778        <crate::RegValueT<Gptckcr_SPEC> as RegisterValue<_>>::new(1)
6779    }
6780}
6781pub mod gptckcr {
6782
6783    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6784    pub struct Cksel_SPEC;
6785    pub type Cksel = crate::EnumBitfieldStruct<u8, Cksel_SPEC>;
6786    impl Cksel {
6787        #[doc = "HOCO"]
6788        pub const _0000: Self = Self::new(0);
6789
6790        #[doc = "MOCO (value after reset)"]
6791        pub const _0001: Self = Self::new(1);
6792
6793        #[doc = "LOCO"]
6794        pub const _0010: Self = Self::new(2);
6795
6796        #[doc = "Main clock oscillator"]
6797        pub const _0011: Self = Self::new(3);
6798
6799        #[doc = "Sub-clock oscillator"]
6800        pub const _0100: Self = Self::new(4);
6801
6802        #[doc = "PLL1P"]
6803        pub const _0101: Self = Self::new(5);
6804
6805        #[doc = "PLL2P"]
6806        pub const _0110: Self = Self::new(6);
6807
6808        #[doc = "PLL1Q"]
6809        pub const _0111: Self = Self::new(7);
6810
6811        #[doc = "PLL1R"]
6812        pub const _1000: Self = Self::new(8);
6813
6814        #[doc = "PLL2Q"]
6815        pub const _1001: Self = Self::new(9);
6816
6817        #[doc = "PLL2R"]
6818        pub const _1010: Self = Self::new(10);
6819    }
6820    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6821    pub struct Cksreq_SPEC;
6822    pub type Cksreq = crate::EnumBitfieldStruct<u8, Cksreq_SPEC>;
6823    impl Cksreq {
6824        #[doc = "No request"]
6825        pub const _0: Self = Self::new(0);
6826
6827        #[doc = "Request switching"]
6828        pub const _1: Self = Self::new(1);
6829    }
6830    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6831    pub struct Cksrdy_SPEC;
6832    pub type Cksrdy = crate::EnumBitfieldStruct<u8, Cksrdy_SPEC>;
6833    impl Cksrdy {
6834        #[doc = "Impossible to Switch"]
6835        pub const _0: Self = Self::new(0);
6836
6837        #[doc = "Possible to Switch"]
6838        pub const _1: Self = Self::new(1);
6839    }
6840}
6841#[doc(hidden)]
6842#[derive(Copy, Clone, Eq, PartialEq)]
6843pub struct Lcdckdivcr_SPEC;
6844impl crate::sealed::RegSpec for Lcdckdivcr_SPEC {
6845    type DataType = u8;
6846}
6847
6848#[doc = "LCD clock Division control register"]
6849pub type Lcdckdivcr = crate::RegValueT<Lcdckdivcr_SPEC>;
6850
6851impl Lcdckdivcr {
6852    #[doc = "Clock Division Select"]
6853    #[inline(always)]
6854    pub fn ckdiv(
6855        self,
6856    ) -> crate::common::RegisterField<
6857        0,
6858        0x7,
6859        1,
6860        0,
6861        lcdckdivcr::Ckdiv,
6862        lcdckdivcr::Ckdiv,
6863        Lcdckdivcr_SPEC,
6864        crate::common::RW,
6865    > {
6866        crate::common::RegisterField::<
6867            0,
6868            0x7,
6869            1,
6870            0,
6871            lcdckdivcr::Ckdiv,
6872            lcdckdivcr::Ckdiv,
6873            Lcdckdivcr_SPEC,
6874            crate::common::RW,
6875        >::from_register(self, 0)
6876    }
6877
6878    #[doc = "These bits are read as 00000. The write value should be 00000."]
6879    #[inline(always)]
6880    pub fn reserved(
6881        self,
6882    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Lcdckdivcr_SPEC, crate::common::RW>
6883    {
6884        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Lcdckdivcr_SPEC,crate::common::RW>::from_register(self,0)
6885    }
6886}
6887impl ::core::default::Default for Lcdckdivcr {
6888    #[inline(always)]
6889    fn default() -> Lcdckdivcr {
6890        <crate::RegValueT<Lcdckdivcr_SPEC> as RegisterValue<_>>::new(0)
6891    }
6892}
6893pub mod lcdckdivcr {
6894
6895    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6896    pub struct Ckdiv_SPEC;
6897    pub type Ckdiv = crate::EnumBitfieldStruct<u8, Ckdiv_SPEC>;
6898    impl Ckdiv {
6899        #[doc = "/1 (value after reset)"]
6900        pub const _000: Self = Self::new(0);
6901
6902        #[doc = "/2"]
6903        pub const _001: Self = Self::new(1);
6904
6905        #[doc = "/4"]
6906        pub const _010: Self = Self::new(2);
6907
6908        #[doc = "/6"]
6909        pub const _011: Self = Self::new(3);
6910
6911        #[doc = "/8"]
6912        pub const _100: Self = Self::new(4);
6913
6914        #[doc = "/3"]
6915        pub const _101: Self = Self::new(5);
6916
6917        #[doc = "/5"]
6918        pub const _110: Self = Self::new(6);
6919    }
6920}
6921#[doc(hidden)]
6922#[derive(Copy, Clone, Eq, PartialEq)]
6923pub struct Lcdckcr_SPEC;
6924impl crate::sealed::RegSpec for Lcdckcr_SPEC {
6925    type DataType = u8;
6926}
6927
6928#[doc = "LCD clock control register"]
6929pub type Lcdckcr = crate::RegValueT<Lcdckcr_SPEC>;
6930
6931impl Lcdckcr {
6932    #[doc = "Clock Source Select"]
6933    #[inline(always)]
6934    pub fn cksel(
6935        self,
6936    ) -> crate::common::RegisterField<
6937        0,
6938        0xf,
6939        1,
6940        0,
6941        lcdckcr::Cksel,
6942        lcdckcr::Cksel,
6943        Lcdckcr_SPEC,
6944        crate::common::RW,
6945    > {
6946        crate::common::RegisterField::<
6947            0,
6948            0xf,
6949            1,
6950            0,
6951            lcdckcr::Cksel,
6952            lcdckcr::Cksel,
6953            Lcdckcr_SPEC,
6954            crate::common::RW,
6955        >::from_register(self, 0)
6956    }
6957
6958    #[doc = "These bits are read as 00. The write value should be 00."]
6959    #[inline(always)]
6960    pub fn reserved(
6961        self,
6962    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Lcdckcr_SPEC, crate::common::RW> {
6963        crate::common::RegisterField::<4,0x3,1,0,u8,u8,Lcdckcr_SPEC,crate::common::RW>::from_register(self,0)
6964    }
6965
6966    #[doc = "Clock Switching Request"]
6967    #[inline(always)]
6968    pub fn cksreq(
6969        self,
6970    ) -> crate::common::RegisterField<
6971        6,
6972        0x1,
6973        1,
6974        0,
6975        lcdckcr::Cksreq,
6976        lcdckcr::Cksreq,
6977        Lcdckcr_SPEC,
6978        crate::common::RW,
6979    > {
6980        crate::common::RegisterField::<
6981            6,
6982            0x1,
6983            1,
6984            0,
6985            lcdckcr::Cksreq,
6986            lcdckcr::Cksreq,
6987            Lcdckcr_SPEC,
6988            crate::common::RW,
6989        >::from_register(self, 0)
6990    }
6991
6992    #[doc = "Clock Switching Ready state flag"]
6993    #[inline(always)]
6994    pub fn cksrdy(
6995        self,
6996    ) -> crate::common::RegisterField<
6997        7,
6998        0x1,
6999        1,
7000        0,
7001        lcdckcr::Cksrdy,
7002        lcdckcr::Cksrdy,
7003        Lcdckcr_SPEC,
7004        crate::common::R,
7005    > {
7006        crate::common::RegisterField::<
7007            7,
7008            0x1,
7009            1,
7010            0,
7011            lcdckcr::Cksrdy,
7012            lcdckcr::Cksrdy,
7013            Lcdckcr_SPEC,
7014            crate::common::R,
7015        >::from_register(self, 0)
7016    }
7017}
7018impl ::core::default::Default for Lcdckcr {
7019    #[inline(always)]
7020    fn default() -> Lcdckcr {
7021        <crate::RegValueT<Lcdckcr_SPEC> as RegisterValue<_>>::new(1)
7022    }
7023}
7024pub mod lcdckcr {
7025
7026    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7027    pub struct Cksel_SPEC;
7028    pub type Cksel = crate::EnumBitfieldStruct<u8, Cksel_SPEC>;
7029    impl Cksel {
7030        #[doc = "HOCO"]
7031        pub const _0000: Self = Self::new(0);
7032
7033        #[doc = "MOCO (value after reset)"]
7034        pub const _0001: Self = Self::new(1);
7035
7036        #[doc = "LOCO"]
7037        pub const _0010: Self = Self::new(2);
7038
7039        #[doc = "Main clock oscillator"]
7040        pub const _0011: Self = Self::new(3);
7041
7042        #[doc = "Sub-clock oscillator"]
7043        pub const _0100: Self = Self::new(4);
7044
7045        #[doc = "PLL1P"]
7046        pub const _0101: Self = Self::new(5);
7047
7048        #[doc = "PLL2P"]
7049        pub const _0110: Self = Self::new(6);
7050
7051        #[doc = "PLL1Q"]
7052        pub const _0111: Self = Self::new(7);
7053
7054        #[doc = "PLL1R"]
7055        pub const _1000: Self = Self::new(8);
7056
7057        #[doc = "PLL2Q"]
7058        pub const _1001: Self = Self::new(9);
7059
7060        #[doc = "PLL2R"]
7061        pub const _1010: Self = Self::new(10);
7062    }
7063    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7064    pub struct Cksreq_SPEC;
7065    pub type Cksreq = crate::EnumBitfieldStruct<u8, Cksreq_SPEC>;
7066    impl Cksreq {
7067        #[doc = "No request"]
7068        pub const _0: Self = Self::new(0);
7069
7070        #[doc = "Request switching"]
7071        pub const _1: Self = Self::new(1);
7072    }
7073    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7074    pub struct Cksrdy_SPEC;
7075    pub type Cksrdy = crate::EnumBitfieldStruct<u8, Cksrdy_SPEC>;
7076    impl Cksrdy {
7077        #[doc = "Impossible to Switch"]
7078        pub const _0: Self = Self::new(0);
7079
7080        #[doc = "Possible to Switch"]
7081        pub const _1: Self = Self::new(1);
7082    }
7083}
7084#[doc(hidden)]
7085#[derive(Copy, Clone, Eq, PartialEq)]
7086pub struct Mocoutcr_SPEC;
7087impl crate::sealed::RegSpec for Mocoutcr_SPEC {
7088    type DataType = u8;
7089}
7090
7091#[doc = "MOCO User Trimming Control Register"]
7092pub type Mocoutcr = crate::RegValueT<Mocoutcr_SPEC>;
7093
7094impl Mocoutcr {
7095    #[doc = "MOCO User Trimming"]
7096    #[inline(always)]
7097    pub fn mocoutrm(
7098        self,
7099    ) -> crate::common::RegisterField<
7100        0,
7101        0xff,
7102        1,
7103        0,
7104        mocoutcr::Mocoutrm,
7105        mocoutcr::Mocoutrm,
7106        Mocoutcr_SPEC,
7107        crate::common::RW,
7108    > {
7109        crate::common::RegisterField::<
7110            0,
7111            0xff,
7112            1,
7113            0,
7114            mocoutcr::Mocoutrm,
7115            mocoutcr::Mocoutrm,
7116            Mocoutcr_SPEC,
7117            crate::common::RW,
7118        >::from_register(self, 0)
7119    }
7120}
7121impl ::core::default::Default for Mocoutcr {
7122    #[inline(always)]
7123    fn default() -> Mocoutcr {
7124        <crate::RegValueT<Mocoutcr_SPEC> as RegisterValue<_>>::new(0)
7125    }
7126}
7127pub mod mocoutcr {
7128
7129    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7130    pub struct Mocoutrm_SPEC;
7131    pub type Mocoutrm = crate::EnumBitfieldStruct<u8, Mocoutrm_SPEC>;
7132    impl Mocoutrm {
7133        #[doc = "-128"]
7134        pub const _1000_0000: Self = Self::new(128);
7135
7136        #[doc = "-127"]
7137        pub const _1000_0001: Self = Self::new(129);
7138
7139        #[doc = "-126"]
7140        pub const _1000_0010: Self = Self::new(130);
7141
7142        #[doc = "-1"]
7143        pub const _1111_1111: Self = Self::new(255);
7144
7145        #[doc = "Center Code"]
7146        pub const _0000_0000: Self = Self::new(0);
7147
7148        #[doc = "+1"]
7149        pub const _0000_0001: Self = Self::new(1);
7150
7151        #[doc = "+125"]
7152        pub const _0111_1101: Self = Self::new(125);
7153
7154        #[doc = "+126"]
7155        pub const _0111_1110: Self = Self::new(126);
7156
7157        #[doc = "+127"]
7158        pub const _0111_1111: Self = Self::new(127);
7159    }
7160}
7161#[doc(hidden)]
7162#[derive(Copy, Clone, Eq, PartialEq)]
7163pub struct Hocoutcr_SPEC;
7164impl crate::sealed::RegSpec for Hocoutcr_SPEC {
7165    type DataType = u8;
7166}
7167
7168#[doc = "HOCO User Trimming Control Register"]
7169pub type Hocoutcr = crate::RegValueT<Hocoutcr_SPEC>;
7170
7171impl Hocoutcr {
7172    #[doc = "HOCO User Trimming"]
7173    #[inline(always)]
7174    pub fn hocoutrm(
7175        self,
7176    ) -> crate::common::RegisterField<
7177        0,
7178        0xff,
7179        1,
7180        0,
7181        hocoutcr::Hocoutrm,
7182        hocoutcr::Hocoutrm,
7183        Hocoutcr_SPEC,
7184        crate::common::RW,
7185    > {
7186        crate::common::RegisterField::<
7187            0,
7188            0xff,
7189            1,
7190            0,
7191            hocoutcr::Hocoutrm,
7192            hocoutcr::Hocoutrm,
7193            Hocoutcr_SPEC,
7194            crate::common::RW,
7195        >::from_register(self, 0)
7196    }
7197}
7198impl ::core::default::Default for Hocoutcr {
7199    #[inline(always)]
7200    fn default() -> Hocoutcr {
7201        <crate::RegValueT<Hocoutcr_SPEC> as RegisterValue<_>>::new(0)
7202    }
7203}
7204pub mod hocoutcr {
7205
7206    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7207    pub struct Hocoutrm_SPEC;
7208    pub type Hocoutrm = crate::EnumBitfieldStruct<u8, Hocoutrm_SPEC>;
7209    impl Hocoutrm {
7210        #[doc = "-128"]
7211        pub const _1000_0000: Self = Self::new(128);
7212
7213        #[doc = "-127"]
7214        pub const _1000_0001: Self = Self::new(129);
7215
7216        #[doc = "-126"]
7217        pub const _1000_0010: Self = Self::new(130);
7218
7219        #[doc = "-1"]
7220        pub const _1111_1111: Self = Self::new(255);
7221
7222        #[doc = "Center Code"]
7223        pub const _0000_0000: Self = Self::new(0);
7224
7225        #[doc = "+1"]
7226        pub const _0000_0001: Self = Self::new(1);
7227
7228        #[doc = "+125"]
7229        pub const _0111_1101: Self = Self::new(125);
7230
7231        #[doc = "+126"]
7232        pub const _0111_1110: Self = Self::new(126);
7233
7234        #[doc = "+127"]
7235        pub const _0111_1111: Self = Self::new(127);
7236    }
7237}
7238#[doc(hidden)]
7239#[derive(Copy, Clone, Eq, PartialEq)]
7240pub struct Usbckdivcr_SPEC;
7241impl crate::sealed::RegSpec for Usbckdivcr_SPEC {
7242    type DataType = u8;
7243}
7244
7245#[doc = "USB clock Division control register"]
7246pub type Usbckdivcr = crate::RegValueT<Usbckdivcr_SPEC>;
7247
7248impl Usbckdivcr {
7249    #[doc = "USB clock (USBCLK) Division Select"]
7250    #[inline(always)]
7251    pub fn usbckdiv(
7252        self,
7253    ) -> crate::common::RegisterField<
7254        0,
7255        0x7,
7256        1,
7257        0,
7258        usbckdivcr::Usbckdiv,
7259        usbckdivcr::Usbckdiv,
7260        Usbckdivcr_SPEC,
7261        crate::common::RW,
7262    > {
7263        crate::common::RegisterField::<
7264            0,
7265            0x7,
7266            1,
7267            0,
7268            usbckdivcr::Usbckdiv,
7269            usbckdivcr::Usbckdiv,
7270            Usbckdivcr_SPEC,
7271            crate::common::RW,
7272        >::from_register(self, 0)
7273    }
7274
7275    #[doc = "These bits are read as 00000. The write value should be 00000."]
7276    #[inline(always)]
7277    pub fn reserved(
7278        self,
7279    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Usbckdivcr_SPEC, crate::common::RW>
7280    {
7281        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Usbckdivcr_SPEC,crate::common::RW>::from_register(self,0)
7282    }
7283}
7284impl ::core::default::Default for Usbckdivcr {
7285    #[inline(always)]
7286    fn default() -> Usbckdivcr {
7287        <crate::RegValueT<Usbckdivcr_SPEC> as RegisterValue<_>>::new(0)
7288    }
7289}
7290pub mod usbckdivcr {
7291
7292    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7293    pub struct Usbckdiv_SPEC;
7294    pub type Usbckdiv = crate::EnumBitfieldStruct<u8, Usbckdiv_SPEC>;
7295    impl Usbckdiv {
7296        #[doc = "/1 (value after reset)"]
7297        pub const _000: Self = Self::new(0);
7298
7299        #[doc = "/2"]
7300        pub const _001: Self = Self::new(1);
7301
7302        #[doc = "/4"]
7303        pub const _010: Self = Self::new(2);
7304
7305        #[doc = "/6"]
7306        pub const _011: Self = Self::new(3);
7307
7308        #[doc = "/8"]
7309        pub const _100: Self = Self::new(4);
7310
7311        #[doc = "/3"]
7312        pub const _101: Self = Self::new(5);
7313
7314        #[doc = "/5"]
7315        pub const _110: Self = Self::new(6);
7316    }
7317}
7318#[doc(hidden)]
7319#[derive(Copy, Clone, Eq, PartialEq)]
7320pub struct Octackdivcr_SPEC;
7321impl crate::sealed::RegSpec for Octackdivcr_SPEC {
7322    type DataType = u8;
7323}
7324
7325#[doc = "Octal-SPI clock Division control register"]
7326pub type Octackdivcr = crate::RegValueT<Octackdivcr_SPEC>;
7327
7328impl Octackdivcr {
7329    #[doc = "Octal-SPI clock (OCTACLK) Division Select"]
7330    #[inline(always)]
7331    pub fn octackdiv(
7332        self,
7333    ) -> crate::common::RegisterField<
7334        0,
7335        0x7,
7336        1,
7337        0,
7338        octackdivcr::Octackdiv,
7339        octackdivcr::Octackdiv,
7340        Octackdivcr_SPEC,
7341        crate::common::RW,
7342    > {
7343        crate::common::RegisterField::<
7344            0,
7345            0x7,
7346            1,
7347            0,
7348            octackdivcr::Octackdiv,
7349            octackdivcr::Octackdiv,
7350            Octackdivcr_SPEC,
7351            crate::common::RW,
7352        >::from_register(self, 0)
7353    }
7354
7355    #[doc = "These bits are read as 00000. The write value should be 00000."]
7356    #[inline(always)]
7357    pub fn reserved(
7358        self,
7359    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Octackdivcr_SPEC, crate::common::RW>
7360    {
7361        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Octackdivcr_SPEC,crate::common::RW>::from_register(self,0)
7362    }
7363}
7364impl ::core::default::Default for Octackdivcr {
7365    #[inline(always)]
7366    fn default() -> Octackdivcr {
7367        <crate::RegValueT<Octackdivcr_SPEC> as RegisterValue<_>>::new(0)
7368    }
7369}
7370pub mod octackdivcr {
7371
7372    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7373    pub struct Octackdiv_SPEC;
7374    pub type Octackdiv = crate::EnumBitfieldStruct<u8, Octackdiv_SPEC>;
7375    impl Octackdiv {
7376        #[doc = "/1 (value after reset)"]
7377        pub const _000: Self = Self::new(0);
7378
7379        #[doc = "/2"]
7380        pub const _001: Self = Self::new(1);
7381
7382        #[doc = "/4"]
7383        pub const _010: Self = Self::new(2);
7384
7385        #[doc = "/6"]
7386        pub const _011: Self = Self::new(3);
7387
7388        #[doc = "/8"]
7389        pub const _100: Self = Self::new(4);
7390
7391        #[doc = "/3"]
7392        pub const _101: Self = Self::new(5);
7393
7394        #[doc = "/5"]
7395        pub const _110: Self = Self::new(6);
7396    }
7397}
7398#[doc(hidden)]
7399#[derive(Copy, Clone, Eq, PartialEq)]
7400pub struct Canfdckdivcr_SPEC;
7401impl crate::sealed::RegSpec for Canfdckdivcr_SPEC {
7402    type DataType = u8;
7403}
7404
7405#[doc = "CANFD Core clock Division control register"]
7406pub type Canfdckdivcr = crate::RegValueT<Canfdckdivcr_SPEC>;
7407
7408impl Canfdckdivcr {
7409    #[doc = "CANFD Core clock (CANFDCLK) Division Select"]
7410    #[inline(always)]
7411    pub fn canfdckdiv(
7412        self,
7413    ) -> crate::common::RegisterField<
7414        0,
7415        0x7,
7416        1,
7417        0,
7418        canfdckdivcr::Canfdckdiv,
7419        canfdckdivcr::Canfdckdiv,
7420        Canfdckdivcr_SPEC,
7421        crate::common::RW,
7422    > {
7423        crate::common::RegisterField::<
7424            0,
7425            0x7,
7426            1,
7427            0,
7428            canfdckdivcr::Canfdckdiv,
7429            canfdckdivcr::Canfdckdiv,
7430            Canfdckdivcr_SPEC,
7431            crate::common::RW,
7432        >::from_register(self, 0)
7433    }
7434
7435    #[doc = "These bits are read as 00000. The write value should be 00000."]
7436    #[inline(always)]
7437    pub fn reserved(
7438        self,
7439    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Canfdckdivcr_SPEC, crate::common::RW>
7440    {
7441        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Canfdckdivcr_SPEC,crate::common::RW>::from_register(self,0)
7442    }
7443}
7444impl ::core::default::Default for Canfdckdivcr {
7445    #[inline(always)]
7446    fn default() -> Canfdckdivcr {
7447        <crate::RegValueT<Canfdckdivcr_SPEC> as RegisterValue<_>>::new(0)
7448    }
7449}
7450pub mod canfdckdivcr {
7451
7452    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7453    pub struct Canfdckdiv_SPEC;
7454    pub type Canfdckdiv = crate::EnumBitfieldStruct<u8, Canfdckdiv_SPEC>;
7455    impl Canfdckdiv {
7456        #[doc = "/1 (value after reset)"]
7457        pub const _000: Self = Self::new(0);
7458
7459        #[doc = "/2"]
7460        pub const _001: Self = Self::new(1);
7461
7462        #[doc = "/4"]
7463        pub const _010: Self = Self::new(2);
7464
7465        #[doc = "/6"]
7466        pub const _011: Self = Self::new(3);
7467
7468        #[doc = "/8"]
7469        pub const _100: Self = Self::new(4);
7470
7471        #[doc = "/3"]
7472        pub const _101: Self = Self::new(5);
7473
7474        #[doc = "/5"]
7475        pub const _110: Self = Self::new(6);
7476    }
7477}
7478#[doc(hidden)]
7479#[derive(Copy, Clone, Eq, PartialEq)]
7480pub struct Usb60Ckdivcr_SPEC;
7481impl crate::sealed::RegSpec for Usb60Ckdivcr_SPEC {
7482    type DataType = u8;
7483}
7484
7485#[doc = "USB60 clock Division control register"]
7486pub type Usb60Ckdivcr = crate::RegValueT<Usb60Ckdivcr_SPEC>;
7487
7488impl Usb60Ckdivcr {
7489    #[doc = "USB clock (USB60CLK) Division Select"]
7490    #[inline(always)]
7491    pub fn usb60ckdiv(
7492        self,
7493    ) -> crate::common::RegisterField<
7494        0,
7495        0x7,
7496        1,
7497        0,
7498        usb60ckdivcr::Usb60Ckdiv,
7499        usb60ckdivcr::Usb60Ckdiv,
7500        Usb60Ckdivcr_SPEC,
7501        crate::common::RW,
7502    > {
7503        crate::common::RegisterField::<
7504            0,
7505            0x7,
7506            1,
7507            0,
7508            usb60ckdivcr::Usb60Ckdiv,
7509            usb60ckdivcr::Usb60Ckdiv,
7510            Usb60Ckdivcr_SPEC,
7511            crate::common::RW,
7512        >::from_register(self, 0)
7513    }
7514
7515    #[doc = "These bits are read as 00000. The write value should be 00000."]
7516    #[inline(always)]
7517    pub fn reserved(
7518        self,
7519    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Usb60Ckdivcr_SPEC, crate::common::RW>
7520    {
7521        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Usb60Ckdivcr_SPEC,crate::common::RW>::from_register(self,0)
7522    }
7523}
7524impl ::core::default::Default for Usb60Ckdivcr {
7525    #[inline(always)]
7526    fn default() -> Usb60Ckdivcr {
7527        <crate::RegValueT<Usb60Ckdivcr_SPEC> as RegisterValue<_>>::new(0)
7528    }
7529}
7530pub mod usb60ckdivcr {
7531
7532    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7533    pub struct Usb60Ckdiv_SPEC;
7534    pub type Usb60Ckdiv = crate::EnumBitfieldStruct<u8, Usb60Ckdiv_SPEC>;
7535    impl Usb60Ckdiv {
7536        #[doc = "/1 (value after reset)"]
7537        pub const _000: Self = Self::new(0);
7538
7539        #[doc = "/2"]
7540        pub const _001: Self = Self::new(1);
7541
7542        #[doc = "/4"]
7543        pub const _010: Self = Self::new(2);
7544
7545        #[doc = "/6"]
7546        pub const _011: Self = Self::new(3);
7547
7548        #[doc = "/8"]
7549        pub const _100: Self = Self::new(4);
7550
7551        #[doc = "/3"]
7552        pub const _101: Self = Self::new(5);
7553
7554        #[doc = "/5"]
7555        pub const _110: Self = Self::new(6);
7556    }
7557}
7558#[doc(hidden)]
7559#[derive(Copy, Clone, Eq, PartialEq)]
7560pub struct I3Cckdivcr_SPEC;
7561impl crate::sealed::RegSpec for I3Cckdivcr_SPEC {
7562    type DataType = u8;
7563}
7564
7565#[doc = "I3C clock Division control register"]
7566pub type I3Cckdivcr = crate::RegValueT<I3Cckdivcr_SPEC>;
7567
7568impl I3Cckdivcr {
7569    #[doc = "I3C clock (I3CCLK) Division Select"]
7570    #[inline(always)]
7571    pub fn i3cckdiv(
7572        self,
7573    ) -> crate::common::RegisterField<
7574        0,
7575        0x7,
7576        1,
7577        0,
7578        i3cckdivcr::I3Cckdiv,
7579        i3cckdivcr::I3Cckdiv,
7580        I3Cckdivcr_SPEC,
7581        crate::common::RW,
7582    > {
7583        crate::common::RegisterField::<
7584            0,
7585            0x7,
7586            1,
7587            0,
7588            i3cckdivcr::I3Cckdiv,
7589            i3cckdivcr::I3Cckdiv,
7590            I3Cckdivcr_SPEC,
7591            crate::common::RW,
7592        >::from_register(self, 0)
7593    }
7594
7595    #[doc = "These bits are read as 00000. The write value should be 00000."]
7596    #[inline(always)]
7597    pub fn reserved(
7598        self,
7599    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, I3Cckdivcr_SPEC, crate::common::RW>
7600    {
7601        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,I3Cckdivcr_SPEC,crate::common::RW>::from_register(self,0)
7602    }
7603}
7604impl ::core::default::Default for I3Cckdivcr {
7605    #[inline(always)]
7606    fn default() -> I3Cckdivcr {
7607        <crate::RegValueT<I3Cckdivcr_SPEC> as RegisterValue<_>>::new(0)
7608    }
7609}
7610pub mod i3cckdivcr {
7611
7612    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7613    pub struct I3Cckdiv_SPEC;
7614    pub type I3Cckdiv = crate::EnumBitfieldStruct<u8, I3Cckdiv_SPEC>;
7615    impl I3Cckdiv {
7616        #[doc = "/1 (value after reset)"]
7617        pub const _000: Self = Self::new(0);
7618
7619        #[doc = "/2"]
7620        pub const _001: Self = Self::new(1);
7621
7622        #[doc = "/4"]
7623        pub const _010: Self = Self::new(2);
7624
7625        #[doc = "/6"]
7626        pub const _011: Self = Self::new(3);
7627
7628        #[doc = "/8"]
7629        pub const _100: Self = Self::new(4);
7630
7631        #[doc = "/3"]
7632        pub const _101: Self = Self::new(5);
7633
7634        #[doc = "/5"]
7635        pub const _110: Self = Self::new(6);
7636    }
7637}
7638#[doc(hidden)]
7639#[derive(Copy, Clone, Eq, PartialEq)]
7640pub struct Usbckcr_SPEC;
7641impl crate::sealed::RegSpec for Usbckcr_SPEC {
7642    type DataType = u8;
7643}
7644
7645#[doc = "USB clock control register"]
7646pub type Usbckcr = crate::RegValueT<Usbckcr_SPEC>;
7647
7648impl Usbckcr {
7649    #[doc = "USB clock (USBCLK) Source Select"]
7650    #[inline(always)]
7651    pub fn usbcksel(
7652        self,
7653    ) -> crate::common::RegisterField<
7654        0,
7655        0xf,
7656        1,
7657        0,
7658        usbckcr::Usbcksel,
7659        usbckcr::Usbcksel,
7660        Usbckcr_SPEC,
7661        crate::common::RW,
7662    > {
7663        crate::common::RegisterField::<
7664            0,
7665            0xf,
7666            1,
7667            0,
7668            usbckcr::Usbcksel,
7669            usbckcr::Usbcksel,
7670            Usbckcr_SPEC,
7671            crate::common::RW,
7672        >::from_register(self, 0)
7673    }
7674
7675    #[doc = "These bits are read as 00. The write value should be 00."]
7676    #[inline(always)]
7677    pub fn reserved(
7678        self,
7679    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Usbckcr_SPEC, crate::common::RW> {
7680        crate::common::RegisterField::<4,0x3,1,0,u8,u8,Usbckcr_SPEC,crate::common::RW>::from_register(self,0)
7681    }
7682
7683    #[doc = "USB clock (USBCLK) Switching Request"]
7684    #[inline(always)]
7685    pub fn usbcksreq(
7686        self,
7687    ) -> crate::common::RegisterField<
7688        6,
7689        0x1,
7690        1,
7691        0,
7692        usbckcr::Usbcksreq,
7693        usbckcr::Usbcksreq,
7694        Usbckcr_SPEC,
7695        crate::common::RW,
7696    > {
7697        crate::common::RegisterField::<
7698            6,
7699            0x1,
7700            1,
7701            0,
7702            usbckcr::Usbcksreq,
7703            usbckcr::Usbcksreq,
7704            Usbckcr_SPEC,
7705            crate::common::RW,
7706        >::from_register(self, 0)
7707    }
7708
7709    #[doc = "USB clock (USBCLK) Switching Ready state flag"]
7710    #[inline(always)]
7711    pub fn usbcksrdy(
7712        self,
7713    ) -> crate::common::RegisterField<
7714        7,
7715        0x1,
7716        1,
7717        0,
7718        usbckcr::Usbcksrdy,
7719        usbckcr::Usbcksrdy,
7720        Usbckcr_SPEC,
7721        crate::common::RW,
7722    > {
7723        crate::common::RegisterField::<
7724            7,
7725            0x1,
7726            1,
7727            0,
7728            usbckcr::Usbcksrdy,
7729            usbckcr::Usbcksrdy,
7730            Usbckcr_SPEC,
7731            crate::common::RW,
7732        >::from_register(self, 0)
7733    }
7734}
7735impl ::core::default::Default for Usbckcr {
7736    #[inline(always)]
7737    fn default() -> Usbckcr {
7738        <crate::RegValueT<Usbckcr_SPEC> as RegisterValue<_>>::new(1)
7739    }
7740}
7741pub mod usbckcr {
7742
7743    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7744    pub struct Usbcksel_SPEC;
7745    pub type Usbcksel = crate::EnumBitfieldStruct<u8, Usbcksel_SPEC>;
7746    impl Usbcksel {
7747        #[doc = "HOCO"]
7748        pub const _0000: Self = Self::new(0);
7749
7750        #[doc = "MOCO (value after reset)"]
7751        pub const _0001: Self = Self::new(1);
7752
7753        #[doc = "LOCO"]
7754        pub const _0010: Self = Self::new(2);
7755
7756        #[doc = "Main clock oscillator"]
7757        pub const _0011: Self = Self::new(3);
7758
7759        #[doc = "Sub-clock oscillator"]
7760        pub const _0100: Self = Self::new(4);
7761
7762        #[doc = "PLL1P"]
7763        pub const _0101: Self = Self::new(5);
7764
7765        #[doc = "PLL2P"]
7766        pub const _0110: Self = Self::new(6);
7767
7768        #[doc = "PLL1Q"]
7769        pub const _0111: Self = Self::new(7);
7770
7771        #[doc = "PLL1R"]
7772        pub const _1000: Self = Self::new(8);
7773
7774        #[doc = "PLL2Q"]
7775        pub const _1001: Self = Self::new(9);
7776
7777        #[doc = "PLL2R"]
7778        pub const _1010: Self = Self::new(10);
7779    }
7780    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7781    pub struct Usbcksreq_SPEC;
7782    pub type Usbcksreq = crate::EnumBitfieldStruct<u8, Usbcksreq_SPEC>;
7783    impl Usbcksreq {
7784        #[doc = "No request"]
7785        pub const _0: Self = Self::new(0);
7786
7787        #[doc = "Request switching"]
7788        pub const _1: Self = Self::new(1);
7789    }
7790    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7791    pub struct Usbcksrdy_SPEC;
7792    pub type Usbcksrdy = crate::EnumBitfieldStruct<u8, Usbcksrdy_SPEC>;
7793    impl Usbcksrdy {
7794        #[doc = "Impossible to Switch"]
7795        pub const _0: Self = Self::new(0);
7796
7797        #[doc = "Possible to Switch"]
7798        pub const _1: Self = Self::new(1);
7799    }
7800}
7801#[doc(hidden)]
7802#[derive(Copy, Clone, Eq, PartialEq)]
7803pub struct Octackcr_SPEC;
7804impl crate::sealed::RegSpec for Octackcr_SPEC {
7805    type DataType = u8;
7806}
7807
7808#[doc = "Octal-SPI clock control register"]
7809pub type Octackcr = crate::RegValueT<Octackcr_SPEC>;
7810
7811impl Octackcr {
7812    #[doc = "Octal-SPI clock (OCTACLK) Source Select"]
7813    #[inline(always)]
7814    pub fn octacksel(
7815        self,
7816    ) -> crate::common::RegisterField<
7817        0,
7818        0xf,
7819        1,
7820        0,
7821        octackcr::Octacksel,
7822        octackcr::Octacksel,
7823        Octackcr_SPEC,
7824        crate::common::RW,
7825    > {
7826        crate::common::RegisterField::<
7827            0,
7828            0xf,
7829            1,
7830            0,
7831            octackcr::Octacksel,
7832            octackcr::Octacksel,
7833            Octackcr_SPEC,
7834            crate::common::RW,
7835        >::from_register(self, 0)
7836    }
7837
7838    #[doc = "These bits are read as 00. The write value should be 00."]
7839    #[inline(always)]
7840    pub fn reserved(
7841        self,
7842    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Octackcr_SPEC, crate::common::RW> {
7843        crate::common::RegisterField::<4,0x3,1,0,u8,u8,Octackcr_SPEC,crate::common::RW>::from_register(self,0)
7844    }
7845
7846    #[doc = "Octal-SPI clock (OCTACLK) Switching Request"]
7847    #[inline(always)]
7848    pub fn octacksreq(
7849        self,
7850    ) -> crate::common::RegisterField<
7851        6,
7852        0x1,
7853        1,
7854        0,
7855        octackcr::Octacksreq,
7856        octackcr::Octacksreq,
7857        Octackcr_SPEC,
7858        crate::common::RW,
7859    > {
7860        crate::common::RegisterField::<
7861            6,
7862            0x1,
7863            1,
7864            0,
7865            octackcr::Octacksreq,
7866            octackcr::Octacksreq,
7867            Octackcr_SPEC,
7868            crate::common::RW,
7869        >::from_register(self, 0)
7870    }
7871
7872    #[doc = "Octal-SPI clock (OCTACLK) Switching Ready state flag"]
7873    #[inline(always)]
7874    pub fn octacksrdy(
7875        self,
7876    ) -> crate::common::RegisterField<
7877        7,
7878        0x1,
7879        1,
7880        0,
7881        octackcr::Octacksrdy,
7882        octackcr::Octacksrdy,
7883        Octackcr_SPEC,
7884        crate::common::RW,
7885    > {
7886        crate::common::RegisterField::<
7887            7,
7888            0x1,
7889            1,
7890            0,
7891            octackcr::Octacksrdy,
7892            octackcr::Octacksrdy,
7893            Octackcr_SPEC,
7894            crate::common::RW,
7895        >::from_register(self, 0)
7896    }
7897}
7898impl ::core::default::Default for Octackcr {
7899    #[inline(always)]
7900    fn default() -> Octackcr {
7901        <crate::RegValueT<Octackcr_SPEC> as RegisterValue<_>>::new(1)
7902    }
7903}
7904pub mod octackcr {
7905
7906    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7907    pub struct Octacksel_SPEC;
7908    pub type Octacksel = crate::EnumBitfieldStruct<u8, Octacksel_SPEC>;
7909    impl Octacksel {
7910        #[doc = "HOCO"]
7911        pub const _0000: Self = Self::new(0);
7912
7913        #[doc = "MOCO (value after reset)"]
7914        pub const _0001: Self = Self::new(1);
7915
7916        #[doc = "LOCO"]
7917        pub const _0010: Self = Self::new(2);
7918
7919        #[doc = "Main clock oscillator"]
7920        pub const _0011: Self = Self::new(3);
7921
7922        #[doc = "Sub-clock oscillator"]
7923        pub const _0100: Self = Self::new(4);
7924
7925        #[doc = "PLL1P"]
7926        pub const _0101: Self = Self::new(5);
7927
7928        #[doc = "PLL2P"]
7929        pub const _0110: Self = Self::new(6);
7930
7931        #[doc = "PLL1Q"]
7932        pub const _0111: Self = Self::new(7);
7933
7934        #[doc = "PLL1R"]
7935        pub const _1000: Self = Self::new(8);
7936
7937        #[doc = "PLL2Q"]
7938        pub const _1001: Self = Self::new(9);
7939
7940        #[doc = "PLL2R"]
7941        pub const _1010: Self = Self::new(10);
7942    }
7943    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7944    pub struct Octacksreq_SPEC;
7945    pub type Octacksreq = crate::EnumBitfieldStruct<u8, Octacksreq_SPEC>;
7946    impl Octacksreq {
7947        #[doc = "No request"]
7948        pub const _0: Self = Self::new(0);
7949
7950        #[doc = "Request switching"]
7951        pub const _1: Self = Self::new(1);
7952    }
7953    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7954    pub struct Octacksrdy_SPEC;
7955    pub type Octacksrdy = crate::EnumBitfieldStruct<u8, Octacksrdy_SPEC>;
7956    impl Octacksrdy {
7957        #[doc = "Impossible to Switch"]
7958        pub const _0: Self = Self::new(0);
7959
7960        #[doc = "Possible to Switch"]
7961        pub const _1: Self = Self::new(1);
7962    }
7963}
7964#[doc(hidden)]
7965#[derive(Copy, Clone, Eq, PartialEq)]
7966pub struct Canfdckcr_SPEC;
7967impl crate::sealed::RegSpec for Canfdckcr_SPEC {
7968    type DataType = u8;
7969}
7970
7971#[doc = "CANFD Core clock control register"]
7972pub type Canfdckcr = crate::RegValueT<Canfdckcr_SPEC>;
7973
7974impl Canfdckcr {
7975    #[doc = "CANFD Core clock (CANFDCLK) Source Select"]
7976    #[inline(always)]
7977    pub fn canfdcksel(
7978        self,
7979    ) -> crate::common::RegisterField<
7980        0,
7981        0xf,
7982        1,
7983        0,
7984        canfdckcr::Canfdcksel,
7985        canfdckcr::Canfdcksel,
7986        Canfdckcr_SPEC,
7987        crate::common::RW,
7988    > {
7989        crate::common::RegisterField::<
7990            0,
7991            0xf,
7992            1,
7993            0,
7994            canfdckcr::Canfdcksel,
7995            canfdckcr::Canfdcksel,
7996            Canfdckcr_SPEC,
7997            crate::common::RW,
7998        >::from_register(self, 0)
7999    }
8000
8001    #[doc = "These bits are read as 00. The write value should be 00."]
8002    #[inline(always)]
8003    pub fn reserved(
8004        self,
8005    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Canfdckcr_SPEC, crate::common::RW> {
8006        crate::common::RegisterField::<4,0x3,1,0,u8,u8,Canfdckcr_SPEC,crate::common::RW>::from_register(self,0)
8007    }
8008
8009    #[doc = "CANFD Core clock (CANFDCLK) Switching Request"]
8010    #[inline(always)]
8011    pub fn canfdcksreq(
8012        self,
8013    ) -> crate::common::RegisterField<
8014        6,
8015        0x1,
8016        1,
8017        0,
8018        canfdckcr::Canfdcksreq,
8019        canfdckcr::Canfdcksreq,
8020        Canfdckcr_SPEC,
8021        crate::common::RW,
8022    > {
8023        crate::common::RegisterField::<
8024            6,
8025            0x1,
8026            1,
8027            0,
8028            canfdckcr::Canfdcksreq,
8029            canfdckcr::Canfdcksreq,
8030            Canfdckcr_SPEC,
8031            crate::common::RW,
8032        >::from_register(self, 0)
8033    }
8034
8035    #[doc = "CANFD Core clock (CANFDCLK) Switching Ready state flag"]
8036    #[inline(always)]
8037    pub fn canfdcksrdy(
8038        self,
8039    ) -> crate::common::RegisterField<
8040        7,
8041        0x1,
8042        1,
8043        0,
8044        canfdckcr::Canfdcksrdy,
8045        canfdckcr::Canfdcksrdy,
8046        Canfdckcr_SPEC,
8047        crate::common::RW,
8048    > {
8049        crate::common::RegisterField::<
8050            7,
8051            0x1,
8052            1,
8053            0,
8054            canfdckcr::Canfdcksrdy,
8055            canfdckcr::Canfdcksrdy,
8056            Canfdckcr_SPEC,
8057            crate::common::RW,
8058        >::from_register(self, 0)
8059    }
8060}
8061impl ::core::default::Default for Canfdckcr {
8062    #[inline(always)]
8063    fn default() -> Canfdckcr {
8064        <crate::RegValueT<Canfdckcr_SPEC> as RegisterValue<_>>::new(1)
8065    }
8066}
8067pub mod canfdckcr {
8068
8069    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8070    pub struct Canfdcksel_SPEC;
8071    pub type Canfdcksel = crate::EnumBitfieldStruct<u8, Canfdcksel_SPEC>;
8072    impl Canfdcksel {
8073        #[doc = "HOCO"]
8074        pub const _0000: Self = Self::new(0);
8075
8076        #[doc = "MOCO (value after reset)"]
8077        pub const _0001: Self = Self::new(1);
8078
8079        #[doc = "LOCO"]
8080        pub const _0010: Self = Self::new(2);
8081
8082        #[doc = "Main clock oscillator"]
8083        pub const _0011: Self = Self::new(3);
8084
8085        #[doc = "Sub-clock oscillator"]
8086        pub const _0100: Self = Self::new(4);
8087
8088        #[doc = "PLL1P"]
8089        pub const _0101: Self = Self::new(5);
8090
8091        #[doc = "PLL2P"]
8092        pub const _0110: Self = Self::new(6);
8093
8094        #[doc = "PLL1Q"]
8095        pub const _0111: Self = Self::new(7);
8096
8097        #[doc = "PLL1R"]
8098        pub const _1000: Self = Self::new(8);
8099
8100        #[doc = "PLL2Q"]
8101        pub const _1001: Self = Self::new(9);
8102
8103        #[doc = "PLL2R"]
8104        pub const _1010: Self = Self::new(10);
8105    }
8106    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8107    pub struct Canfdcksreq_SPEC;
8108    pub type Canfdcksreq = crate::EnumBitfieldStruct<u8, Canfdcksreq_SPEC>;
8109    impl Canfdcksreq {
8110        #[doc = "No request"]
8111        pub const _0: Self = Self::new(0);
8112
8113        #[doc = "Request switching"]
8114        pub const _1: Self = Self::new(1);
8115    }
8116    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8117    pub struct Canfdcksrdy_SPEC;
8118    pub type Canfdcksrdy = crate::EnumBitfieldStruct<u8, Canfdcksrdy_SPEC>;
8119    impl Canfdcksrdy {
8120        #[doc = "Impossible to Switch"]
8121        pub const _0: Self = Self::new(0);
8122
8123        #[doc = "Possible to Switch"]
8124        pub const _1: Self = Self::new(1);
8125    }
8126}
8127#[doc(hidden)]
8128#[derive(Copy, Clone, Eq, PartialEq)]
8129pub struct Usb60Ckcr_SPEC;
8130impl crate::sealed::RegSpec for Usb60Ckcr_SPEC {
8131    type DataType = u8;
8132}
8133
8134#[doc = "USB60 clock control register"]
8135pub type Usb60Ckcr = crate::RegValueT<Usb60Ckcr_SPEC>;
8136
8137impl Usb60Ckcr {
8138    #[doc = "USB clock (USB60CLK) Source Select"]
8139    #[inline(always)]
8140    pub fn usb60cksel(
8141        self,
8142    ) -> crate::common::RegisterField<
8143        0,
8144        0xf,
8145        1,
8146        0,
8147        usb60ckcr::Usb60Cksel,
8148        usb60ckcr::Usb60Cksel,
8149        Usb60Ckcr_SPEC,
8150        crate::common::RW,
8151    > {
8152        crate::common::RegisterField::<
8153            0,
8154            0xf,
8155            1,
8156            0,
8157            usb60ckcr::Usb60Cksel,
8158            usb60ckcr::Usb60Cksel,
8159            Usb60Ckcr_SPEC,
8160            crate::common::RW,
8161        >::from_register(self, 0)
8162    }
8163
8164    #[doc = "These bits are read as 00. The write value should be 00."]
8165    #[inline(always)]
8166    pub fn reserved(
8167        self,
8168    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Usb60Ckcr_SPEC, crate::common::RW> {
8169        crate::common::RegisterField::<4,0x3,1,0,u8,u8,Usb60Ckcr_SPEC,crate::common::RW>::from_register(self,0)
8170    }
8171
8172    #[doc = "USB clock (USB60CLK)  Switching Request"]
8173    #[inline(always)]
8174    pub fn usb60cksreq(
8175        self,
8176    ) -> crate::common::RegisterField<
8177        6,
8178        0x1,
8179        1,
8180        0,
8181        usb60ckcr::Usb60Cksreq,
8182        usb60ckcr::Usb60Cksreq,
8183        Usb60Ckcr_SPEC,
8184        crate::common::RW,
8185    > {
8186        crate::common::RegisterField::<
8187            6,
8188            0x1,
8189            1,
8190            0,
8191            usb60ckcr::Usb60Cksreq,
8192            usb60ckcr::Usb60Cksreq,
8193            Usb60Ckcr_SPEC,
8194            crate::common::RW,
8195        >::from_register(self, 0)
8196    }
8197
8198    #[doc = "USB clock (USB60CLK)  Switching Ready state flag"]
8199    #[inline(always)]
8200    pub fn usb60cksrdy(
8201        self,
8202    ) -> crate::common::RegisterField<
8203        7,
8204        0x1,
8205        1,
8206        0,
8207        usb60ckcr::Usb60Cksrdy,
8208        usb60ckcr::Usb60Cksrdy,
8209        Usb60Ckcr_SPEC,
8210        crate::common::RW,
8211    > {
8212        crate::common::RegisterField::<
8213            7,
8214            0x1,
8215            1,
8216            0,
8217            usb60ckcr::Usb60Cksrdy,
8218            usb60ckcr::Usb60Cksrdy,
8219            Usb60Ckcr_SPEC,
8220            crate::common::RW,
8221        >::from_register(self, 0)
8222    }
8223}
8224impl ::core::default::Default for Usb60Ckcr {
8225    #[inline(always)]
8226    fn default() -> Usb60Ckcr {
8227        <crate::RegValueT<Usb60Ckcr_SPEC> as RegisterValue<_>>::new(1)
8228    }
8229}
8230pub mod usb60ckcr {
8231
8232    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8233    pub struct Usb60Cksel_SPEC;
8234    pub type Usb60Cksel = crate::EnumBitfieldStruct<u8, Usb60Cksel_SPEC>;
8235    impl Usb60Cksel {
8236        #[doc = "HOCO"]
8237        pub const _0000: Self = Self::new(0);
8238
8239        #[doc = "MOCO (value after reset)"]
8240        pub const _0001: Self = Self::new(1);
8241
8242        #[doc = "LOCO"]
8243        pub const _0010: Self = Self::new(2);
8244
8245        #[doc = "Main clock oscillator"]
8246        pub const _0011: Self = Self::new(3);
8247
8248        #[doc = "Sub-clock oscillator"]
8249        pub const _0100: Self = Self::new(4);
8250
8251        #[doc = "PLL1P"]
8252        pub const _0101: Self = Self::new(5);
8253
8254        #[doc = "PLL2P"]
8255        pub const _0110: Self = Self::new(6);
8256
8257        #[doc = "PLL1Q"]
8258        pub const _0111: Self = Self::new(7);
8259
8260        #[doc = "PLL1R"]
8261        pub const _1000: Self = Self::new(8);
8262
8263        #[doc = "PLL2Q"]
8264        pub const _1001: Self = Self::new(9);
8265
8266        #[doc = "PLL2R"]
8267        pub const _1010: Self = Self::new(10);
8268    }
8269    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8270    pub struct Usb60Cksreq_SPEC;
8271    pub type Usb60Cksreq = crate::EnumBitfieldStruct<u8, Usb60Cksreq_SPEC>;
8272    impl Usb60Cksreq {
8273        #[doc = "No request"]
8274        pub const _0: Self = Self::new(0);
8275
8276        #[doc = "Request switching"]
8277        pub const _1: Self = Self::new(1);
8278    }
8279    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8280    pub struct Usb60Cksrdy_SPEC;
8281    pub type Usb60Cksrdy = crate::EnumBitfieldStruct<u8, Usb60Cksrdy_SPEC>;
8282    impl Usb60Cksrdy {
8283        #[doc = "Impossible to Switch"]
8284        pub const _0: Self = Self::new(0);
8285
8286        #[doc = "Possible to Switch"]
8287        pub const _1: Self = Self::new(1);
8288    }
8289}
8290#[doc(hidden)]
8291#[derive(Copy, Clone, Eq, PartialEq)]
8292pub struct I3Cckcr_SPEC;
8293impl crate::sealed::RegSpec for I3Cckcr_SPEC {
8294    type DataType = u8;
8295}
8296
8297#[doc = "I3C clock control register"]
8298pub type I3Cckcr = crate::RegValueT<I3Cckcr_SPEC>;
8299
8300impl I3Cckcr {
8301    #[doc = "I3C clock (I3CCLK) Source Select"]
8302    #[inline(always)]
8303    pub fn i3ccksel(
8304        self,
8305    ) -> crate::common::RegisterField<
8306        0,
8307        0xf,
8308        1,
8309        0,
8310        i3cckcr::I3Ccksel,
8311        i3cckcr::I3Ccksel,
8312        I3Cckcr_SPEC,
8313        crate::common::RW,
8314    > {
8315        crate::common::RegisterField::<
8316            0,
8317            0xf,
8318            1,
8319            0,
8320            i3cckcr::I3Ccksel,
8321            i3cckcr::I3Ccksel,
8322            I3Cckcr_SPEC,
8323            crate::common::RW,
8324        >::from_register(self, 0)
8325    }
8326
8327    #[doc = "These bits are read as 00. The write value should be 00."]
8328    #[inline(always)]
8329    pub fn reserved(
8330        self,
8331    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, I3Cckcr_SPEC, crate::common::RW> {
8332        crate::common::RegisterField::<4,0x3,1,0,u8,u8,I3Cckcr_SPEC,crate::common::RW>::from_register(self,0)
8333    }
8334
8335    #[doc = "I3C clock (I3CCLK) Switching Request"]
8336    #[inline(always)]
8337    pub fn i3cckreq(
8338        self,
8339    ) -> crate::common::RegisterField<
8340        6,
8341        0x1,
8342        1,
8343        0,
8344        i3cckcr::I3Cckreq,
8345        i3cckcr::I3Cckreq,
8346        I3Cckcr_SPEC,
8347        crate::common::RW,
8348    > {
8349        crate::common::RegisterField::<
8350            6,
8351            0x1,
8352            1,
8353            0,
8354            i3cckcr::I3Cckreq,
8355            i3cckcr::I3Cckreq,
8356            I3Cckcr_SPEC,
8357            crate::common::RW,
8358        >::from_register(self, 0)
8359    }
8360
8361    #[doc = "I3C clock (I3CCLK) Switching Ready state flag"]
8362    #[inline(always)]
8363    pub fn i3ccksrdy(
8364        self,
8365    ) -> crate::common::RegisterField<
8366        7,
8367        0x1,
8368        1,
8369        0,
8370        i3cckcr::I3Ccksrdy,
8371        i3cckcr::I3Ccksrdy,
8372        I3Cckcr_SPEC,
8373        crate::common::RW,
8374    > {
8375        crate::common::RegisterField::<
8376            7,
8377            0x1,
8378            1,
8379            0,
8380            i3cckcr::I3Ccksrdy,
8381            i3cckcr::I3Ccksrdy,
8382            I3Cckcr_SPEC,
8383            crate::common::RW,
8384        >::from_register(self, 0)
8385    }
8386}
8387impl ::core::default::Default for I3Cckcr {
8388    #[inline(always)]
8389    fn default() -> I3Cckcr {
8390        <crate::RegValueT<I3Cckcr_SPEC> as RegisterValue<_>>::new(1)
8391    }
8392}
8393pub mod i3cckcr {
8394
8395    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8396    pub struct I3Ccksel_SPEC;
8397    pub type I3Ccksel = crate::EnumBitfieldStruct<u8, I3Ccksel_SPEC>;
8398    impl I3Ccksel {
8399        #[doc = "HOCO"]
8400        pub const _0000: Self = Self::new(0);
8401
8402        #[doc = "MOCO (value after reset)"]
8403        pub const _0001: Self = Self::new(1);
8404
8405        #[doc = "LOCO"]
8406        pub const _0010: Self = Self::new(2);
8407
8408        #[doc = "Main clock oscillator"]
8409        pub const _0011: Self = Self::new(3);
8410
8411        #[doc = "Sub-clock oscillator"]
8412        pub const _0100: Self = Self::new(4);
8413
8414        #[doc = "PLL1P"]
8415        pub const _0101: Self = Self::new(5);
8416
8417        #[doc = "PLL2P"]
8418        pub const _0110: Self = Self::new(6);
8419
8420        #[doc = "PLL1Q"]
8421        pub const _0111: Self = Self::new(7);
8422
8423        #[doc = "PLL1R"]
8424        pub const _1000: Self = Self::new(8);
8425
8426        #[doc = "PLL2Q"]
8427        pub const _1001: Self = Self::new(9);
8428
8429        #[doc = "PLL2R"]
8430        pub const _1010: Self = Self::new(10);
8431    }
8432    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8433    pub struct I3Cckreq_SPEC;
8434    pub type I3Cckreq = crate::EnumBitfieldStruct<u8, I3Cckreq_SPEC>;
8435    impl I3Cckreq {
8436        #[doc = "No request"]
8437        pub const _0: Self = Self::new(0);
8438
8439        #[doc = "Request switching"]
8440        pub const _1: Self = Self::new(1);
8441    }
8442    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8443    pub struct I3Ccksrdy_SPEC;
8444    pub type I3Ccksrdy = crate::EnumBitfieldStruct<u8, I3Ccksrdy_SPEC>;
8445    impl I3Ccksrdy {
8446        #[doc = "Impossible to Switch"]
8447        pub const _0: Self = Self::new(0);
8448
8449        #[doc = "Possible to Switch"]
8450        pub const _1: Self = Self::new(1);
8451    }
8452}
8453#[doc(hidden)]
8454#[derive(Copy, Clone, Eq, PartialEq)]
8455pub struct Moscscr_SPEC;
8456impl crate::sealed::RegSpec for Moscscr_SPEC {
8457    type DataType = u8;
8458}
8459
8460#[doc = "Main Clock Oscillator Standby Control Register"]
8461pub type Moscscr = crate::RegValueT<Moscscr_SPEC>;
8462
8463impl Moscscr {
8464    #[doc = "Main Clock Oscillator Standby Oscillation Keep select"]
8465    #[inline(always)]
8466    pub fn moscsokp(
8467        self,
8468    ) -> crate::common::RegisterField<
8469        0,
8470        0x1,
8471        1,
8472        0,
8473        moscscr::Moscsokp,
8474        moscscr::Moscsokp,
8475        Moscscr_SPEC,
8476        crate::common::RW,
8477    > {
8478        crate::common::RegisterField::<
8479            0,
8480            0x1,
8481            1,
8482            0,
8483            moscscr::Moscsokp,
8484            moscscr::Moscsokp,
8485            Moscscr_SPEC,
8486            crate::common::RW,
8487        >::from_register(self, 0)
8488    }
8489
8490    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
8491    #[inline(always)]
8492    pub fn reserved(
8493        self,
8494    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Moscscr_SPEC, crate::common::RW> {
8495        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Moscscr_SPEC,crate::common::RW>::from_register(self,0)
8496    }
8497}
8498impl ::core::default::Default for Moscscr {
8499    #[inline(always)]
8500    fn default() -> Moscscr {
8501        <crate::RegValueT<Moscscr_SPEC> as RegisterValue<_>>::new(0)
8502    }
8503}
8504pub mod moscscr {
8505
8506    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8507    pub struct Moscsokp_SPEC;
8508    pub type Moscsokp = crate::EnumBitfieldStruct<u8, Moscsokp_SPEC>;
8509    impl Moscsokp {
8510        #[doc = "Disable"]
8511        pub const _0: Self = Self::new(0);
8512
8513        #[doc = "Enable"]
8514        pub const _1: Self = Self::new(1);
8515    }
8516}
8517#[doc(hidden)]
8518#[derive(Copy, Clone, Eq, PartialEq)]
8519pub struct Hocoscr_SPEC;
8520impl crate::sealed::RegSpec for Hocoscr_SPEC {
8521    type DataType = u8;
8522}
8523
8524#[doc = "High-Speed On-Chip Oscillator Standby Control Register"]
8525pub type Hocoscr = crate::RegValueT<Hocoscr_SPEC>;
8526
8527impl Hocoscr {
8528    #[doc = "HOCO Standby Oscillation Keep select"]
8529    #[inline(always)]
8530    pub fn hocosokp(
8531        self,
8532    ) -> crate::common::RegisterField<
8533        0,
8534        0x1,
8535        1,
8536        0,
8537        hocoscr::Hocosokp,
8538        hocoscr::Hocosokp,
8539        Hocoscr_SPEC,
8540        crate::common::RW,
8541    > {
8542        crate::common::RegisterField::<
8543            0,
8544            0x1,
8545            1,
8546            0,
8547            hocoscr::Hocosokp,
8548            hocoscr::Hocosokp,
8549            Hocoscr_SPEC,
8550            crate::common::RW,
8551        >::from_register(self, 0)
8552    }
8553
8554    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
8555    #[inline(always)]
8556    pub fn reserved(
8557        self,
8558    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Hocoscr_SPEC, crate::common::RW> {
8559        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Hocoscr_SPEC,crate::common::RW>::from_register(self,0)
8560    }
8561}
8562impl ::core::default::Default for Hocoscr {
8563    #[inline(always)]
8564    fn default() -> Hocoscr {
8565        <crate::RegValueT<Hocoscr_SPEC> as RegisterValue<_>>::new(0)
8566    }
8567}
8568pub mod hocoscr {
8569
8570    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8571    pub struct Hocosokp_SPEC;
8572    pub type Hocosokp = crate::EnumBitfieldStruct<u8, Hocosokp_SPEC>;
8573    impl Hocosokp {
8574        #[doc = "Disable"]
8575        pub const _0: Self = Self::new(0);
8576
8577        #[doc = "Enable"]
8578        pub const _1: Self = Self::new(1);
8579    }
8580}
8581#[doc(hidden)]
8582#[derive(Copy, Clone, Eq, PartialEq)]
8583pub struct Opccr_SPEC;
8584impl crate::sealed::RegSpec for Opccr_SPEC {
8585    type DataType = u8;
8586}
8587
8588#[doc = "Operating Power Control Register"]
8589pub type Opccr = crate::RegValueT<Opccr_SPEC>;
8590
8591impl Opccr {
8592    #[doc = "Operating Power Control Mode Select"]
8593    #[inline(always)]
8594    pub fn opcm(
8595        self,
8596    ) -> crate::common::RegisterField<
8597        0,
8598        0x3,
8599        1,
8600        0,
8601        opccr::Opcm,
8602        opccr::Opcm,
8603        Opccr_SPEC,
8604        crate::common::RW,
8605    > {
8606        crate::common::RegisterField::<
8607            0,
8608            0x3,
8609            1,
8610            0,
8611            opccr::Opcm,
8612            opccr::Opcm,
8613            Opccr_SPEC,
8614            crate::common::RW,
8615        >::from_register(self, 0)
8616    }
8617
8618    #[doc = "Operating Power Control Mode Transition Status Flag"]
8619    #[inline(always)]
8620    pub fn opcmtsf(
8621        self,
8622    ) -> crate::common::RegisterField<
8623        4,
8624        0x1,
8625        1,
8626        0,
8627        opccr::Opcmtsf,
8628        opccr::Opcmtsf,
8629        Opccr_SPEC,
8630        crate::common::R,
8631    > {
8632        crate::common::RegisterField::<
8633            4,
8634            0x1,
8635            1,
8636            0,
8637            opccr::Opcmtsf,
8638            opccr::Opcmtsf,
8639            Opccr_SPEC,
8640            crate::common::R,
8641        >::from_register(self, 0)
8642    }
8643
8644    #[doc = "These bits are read as 000. The write value should be 000."]
8645    #[inline(always)]
8646    pub fn reserved(
8647        self,
8648    ) -> crate::common::RegisterField<5, 0x7, 1, 0, u8, u8, Opccr_SPEC, crate::common::RW> {
8649        crate::common::RegisterField::<5,0x7,1,0,u8,u8,Opccr_SPEC,crate::common::RW>::from_register(self,0)
8650    }
8651}
8652impl ::core::default::Default for Opccr {
8653    #[inline(always)]
8654    fn default() -> Opccr {
8655        <crate::RegValueT<Opccr_SPEC> as RegisterValue<_>>::new(0)
8656    }
8657}
8658pub mod opccr {
8659
8660    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8661    pub struct Opcm_SPEC;
8662    pub type Opcm = crate::EnumBitfieldStruct<u8, Opcm_SPEC>;
8663    impl Opcm {
8664        #[doc = "High-speed mode"]
8665        pub const _00: Self = Self::new(0);
8666
8667        #[doc = "Prohibited"]
8668        pub const _01: Self = Self::new(1);
8669
8670        #[doc = "Prohibited"]
8671        pub const _10: Self = Self::new(2);
8672
8673        #[doc = "Low-speed mode"]
8674        pub const _11: Self = Self::new(3);
8675
8676        #[doc = "Setting prohibited"]
8677        pub const OTHERS: Self = Self::new(0);
8678    }
8679    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8680    pub struct Opcmtsf_SPEC;
8681    pub type Opcmtsf = crate::EnumBitfieldStruct<u8, Opcmtsf_SPEC>;
8682    impl Opcmtsf {
8683        #[doc = "Transition completed"]
8684        pub const _0: Self = Self::new(0);
8685
8686        #[doc = "During transition"]
8687        pub const _1: Self = Self::new(1);
8688    }
8689}
8690#[doc(hidden)]
8691#[derive(Copy, Clone, Eq, PartialEq)]
8692pub struct Moscwtcr_SPEC;
8693impl crate::sealed::RegSpec for Moscwtcr_SPEC {
8694    type DataType = u8;
8695}
8696
8697#[doc = "Main Clock Oscillator Wait Control Register"]
8698pub type Moscwtcr = crate::RegValueT<Moscwtcr_SPEC>;
8699
8700impl Moscwtcr {
8701    #[doc = "Main clock oscillator wait time setting"]
8702    #[inline(always)]
8703    pub fn msts(
8704        self,
8705    ) -> crate::common::RegisterField<
8706        0,
8707        0xf,
8708        1,
8709        0,
8710        moscwtcr::Msts,
8711        moscwtcr::Msts,
8712        Moscwtcr_SPEC,
8713        crate::common::RW,
8714    > {
8715        crate::common::RegisterField::<
8716            0,
8717            0xf,
8718            1,
8719            0,
8720            moscwtcr::Msts,
8721            moscwtcr::Msts,
8722            Moscwtcr_SPEC,
8723            crate::common::RW,
8724        >::from_register(self, 0)
8725    }
8726
8727    #[doc = "These bits are read as 0000. The write value should be 0000."]
8728    #[inline(always)]
8729    pub fn reserved(
8730        self,
8731    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, Moscwtcr_SPEC, crate::common::RW> {
8732        crate::common::RegisterField::<4,0xf,1,0,u8,u8,Moscwtcr_SPEC,crate::common::RW>::from_register(self,0)
8733    }
8734}
8735impl ::core::default::Default for Moscwtcr {
8736    #[inline(always)]
8737    fn default() -> Moscwtcr {
8738        <crate::RegValueT<Moscwtcr_SPEC> as RegisterValue<_>>::new(5)
8739    }
8740}
8741pub mod moscwtcr {
8742
8743    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8744    pub struct Msts_SPEC;
8745    pub type Msts = crate::EnumBitfieldStruct<u8, Msts_SPEC>;
8746    impl Msts {
8747        #[doc = "Wait time=    11.4us (3 cycles) / 15.3us (4 cycles)"]
8748        pub const _0000: Self = Self::new(0);
8749
8750        #[doc = "Wait time=   133.5us (35 cycles)  / 137.3us (36 cycles)"]
8751        pub const _0001: Self = Self::new(1);
8752
8753        #[doc = "Wait time=   255.6us (67 cycles) / 259.4us (68 cycles)"]
8754        pub const _0010: Self = Self::new(2);
8755
8756        #[doc = "Wait time=   499.7us (131 cycles) / 503.5us (132 cycles)"]
8757        pub const _0011: Self = Self::new(3);
8758
8759        #[doc = "Wait time=   988.0us (259 cycles) / 991.8us (260 cycles)"]
8760        pub const _0100: Self = Self::new(4);
8761
8762        #[doc = "Wait time=  2086.6us (547 cycles) (value after reset) / 2090.5us (548 cycles) (value after reset)"]
8763        pub const _0101: Self = Self::new(5);
8764
8765        #[doc = "Wait time=  4039.8us (1059 cycles) / 4043.6us (1060 cycles)"]
8766        pub const _0110: Self = Self::new(6);
8767
8768        #[doc = "Wait time=  8190.2us (2147 cycles) / 8194.0us (2148 cycles)"]
8769        pub const _0111: Self = Self::new(7);
8770
8771        #[doc = "Wait time= 16368.9us (4291 cycles) / 16372.7us (4292 cycles)"]
8772        pub const _1000: Self = Self::new(8);
8773
8774        #[doc = "Wait time= 31139.4us (8163 cycles) / 31143.2us (8164 cycles)"]
8775        pub const _1001: Self = Self::new(9);
8776    }
8777}
8778#[doc(hidden)]
8779#[derive(Copy, Clone, Eq, PartialEq)]
8780pub struct Rstsr1_SPEC;
8781impl crate::sealed::RegSpec for Rstsr1_SPEC {
8782    type DataType = u32;
8783}
8784
8785#[doc = "Reset Status Register 1"]
8786pub type Rstsr1 = crate::RegValueT<Rstsr1_SPEC>;
8787
8788impl Rstsr1 {
8789    #[doc = "Independent Watchdog Timer Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8790    #[inline(always)]
8791    pub fn iwdtrf(
8792        self,
8793    ) -> crate::common::RegisterField<
8794        0,
8795        0x1,
8796        1,
8797        0,
8798        rstsr1::Iwdtrf,
8799        rstsr1::Iwdtrf,
8800        Rstsr1_SPEC,
8801        crate::common::RW,
8802    > {
8803        crate::common::RegisterField::<
8804            0,
8805            0x1,
8806            1,
8807            0,
8808            rstsr1::Iwdtrf,
8809            rstsr1::Iwdtrf,
8810            Rstsr1_SPEC,
8811            crate::common::RW,
8812        >::from_register(self, 0)
8813    }
8814
8815    #[doc = "Watchdog Timer0 Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8816    #[inline(always)]
8817    pub fn wdt0rf(
8818        self,
8819    ) -> crate::common::RegisterField<
8820        1,
8821        0x1,
8822        1,
8823        0,
8824        rstsr1::Wdt0Rf,
8825        rstsr1::Wdt0Rf,
8826        Rstsr1_SPEC,
8827        crate::common::RW,
8828    > {
8829        crate::common::RegisterField::<
8830            1,
8831            0x1,
8832            1,
8833            0,
8834            rstsr1::Wdt0Rf,
8835            rstsr1::Wdt0Rf,
8836            Rstsr1_SPEC,
8837            crate::common::RW,
8838        >::from_register(self, 0)
8839    }
8840
8841    #[doc = "Software Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8842    #[inline(always)]
8843    pub fn swrf(
8844        self,
8845    ) -> crate::common::RegisterField<
8846        2,
8847        0x1,
8848        1,
8849        0,
8850        rstsr1::Swrf,
8851        rstsr1::Swrf,
8852        Rstsr1_SPEC,
8853        crate::common::RW,
8854    > {
8855        crate::common::RegisterField::<
8856            2,
8857            0x1,
8858            1,
8859            0,
8860            rstsr1::Swrf,
8861            rstsr1::Swrf,
8862            Rstsr1_SPEC,
8863            crate::common::RW,
8864        >::from_register(self, 0)
8865    }
8866
8867    #[doc = "CPU0 Lockup Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8868    #[inline(always)]
8869    pub fn clu0rf(
8870        self,
8871    ) -> crate::common::RegisterField<
8872        4,
8873        0x1,
8874        1,
8875        0,
8876        rstsr1::Clu0Rf,
8877        rstsr1::Clu0Rf,
8878        Rstsr1_SPEC,
8879        crate::common::RW,
8880    > {
8881        crate::common::RegisterField::<
8882            4,
8883            0x1,
8884            1,
8885            0,
8886            rstsr1::Clu0Rf,
8887            rstsr1::Clu0Rf,
8888            Rstsr1_SPEC,
8889            crate::common::RW,
8890        >::from_register(self, 0)
8891    }
8892
8893    #[doc = "Local memory 0 error Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8894    #[inline(always)]
8895    pub fn lm0rf(
8896        self,
8897    ) -> crate::common::RegisterField<
8898        5,
8899        0x1,
8900        1,
8901        0,
8902        rstsr1::Lm0Rf,
8903        rstsr1::Lm0Rf,
8904        Rstsr1_SPEC,
8905        crate::common::RW,
8906    > {
8907        crate::common::RegisterField::<
8908            5,
8909            0x1,
8910            1,
8911            0,
8912            rstsr1::Lm0Rf,
8913            rstsr1::Lm0Rf,
8914            Rstsr1_SPEC,
8915            crate::common::RW,
8916        >::from_register(self, 0)
8917    }
8918
8919    #[doc = "Bus error Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8920    #[inline(always)]
8921    pub fn busrf(
8922        self,
8923    ) -> crate::common::RegisterField<
8924        10,
8925        0x1,
8926        1,
8927        0,
8928        rstsr1::Busrf,
8929        rstsr1::Busrf,
8930        Rstsr1_SPEC,
8931        crate::common::RW,
8932    > {
8933        crate::common::RegisterField::<
8934            10,
8935            0x1,
8936            1,
8937            0,
8938            rstsr1::Busrf,
8939            rstsr1::Busrf,
8940            Rstsr1_SPEC,
8941            crate::common::RW,
8942        >::from_register(self, 0)
8943    }
8944
8945    #[doc = "Common memory error Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8946    #[inline(always)]
8947    pub fn cmrf(
8948        self,
8949    ) -> crate::common::RegisterField<
8950        14,
8951        0x1,
8952        1,
8953        0,
8954        rstsr1::Cmrf,
8955        rstsr1::Cmrf,
8956        Rstsr1_SPEC,
8957        crate::common::RW,
8958    > {
8959        crate::common::RegisterField::<
8960            14,
8961            0x1,
8962            1,
8963            0,
8964            rstsr1::Cmrf,
8965            rstsr1::Cmrf,
8966            Rstsr1_SPEC,
8967            crate::common::RW,
8968        >::from_register(self, 0)
8969    }
8970
8971    #[doc = "Watchdog Timer1 Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8972    #[inline(always)]
8973    pub fn wdt1rf(
8974        self,
8975    ) -> crate::common::RegisterField<
8976        17,
8977        0x1,
8978        1,
8979        0,
8980        rstsr1::Wdt1Rf,
8981        rstsr1::Wdt1Rf,
8982        Rstsr1_SPEC,
8983        crate::common::RW,
8984    > {
8985        crate::common::RegisterField::<
8986            17,
8987            0x1,
8988            1,
8989            0,
8990            rstsr1::Wdt1Rf,
8991            rstsr1::Wdt1Rf,
8992            Rstsr1_SPEC,
8993            crate::common::RW,
8994        >::from_register(self, 0)
8995    }
8996
8997    #[doc = "Local memory 1 error Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8998    #[inline(always)]
8999    pub fn lm1rf(
9000        self,
9001    ) -> crate::common::RegisterField<
9002        21,
9003        0x1,
9004        1,
9005        0,
9006        rstsr1::Lm1Rf,
9007        rstsr1::Lm1Rf,
9008        Rstsr1_SPEC,
9009        crate::common::RW,
9010    > {
9011        crate::common::RegisterField::<
9012            21,
9013            0x1,
9014            1,
9015            0,
9016            rstsr1::Lm1Rf,
9017            rstsr1::Lm1Rf,
9018            Rstsr1_SPEC,
9019            crate::common::RW,
9020        >::from_register(self, 0)
9021    }
9022
9023    #[doc = "Network Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
9024    #[inline(always)]
9025    pub fn nwrf(
9026        self,
9027    ) -> crate::common::RegisterField<
9028        22,
9029        0x1,
9030        1,
9031        0,
9032        rstsr1::Nwrf,
9033        rstsr1::Nwrf,
9034        Rstsr1_SPEC,
9035        crate::common::RW,
9036    > {
9037        crate::common::RegisterField::<
9038            22,
9039            0x1,
9040            1,
9041            0,
9042            rstsr1::Nwrf,
9043            rstsr1::Nwrf,
9044            Rstsr1_SPEC,
9045            crate::common::RW,
9046        >::from_register(self, 0)
9047    }
9048
9049    #[doc = "These bits are read as 000000000. The write value should be 000000000."]
9050    #[inline(always)]
9051    pub fn reserved(
9052        self,
9053    ) -> crate::common::RegisterField<23, 0x1ff, 1, 0, u16, u16, Rstsr1_SPEC, crate::common::RW>
9054    {
9055        crate::common::RegisterField::<23,0x1ff,1,0,u16,u16,Rstsr1_SPEC,crate::common::RW>::from_register(self,0)
9056    }
9057}
9058impl ::core::default::Default for Rstsr1 {
9059    #[inline(always)]
9060    fn default() -> Rstsr1 {
9061        <crate::RegValueT<Rstsr1_SPEC> as RegisterValue<_>>::new(0)
9062    }
9063}
9064pub mod rstsr1 {
9065
9066    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9067    pub struct Iwdtrf_SPEC;
9068    pub type Iwdtrf = crate::EnumBitfieldStruct<u8, Iwdtrf_SPEC>;
9069    impl Iwdtrf {
9070        #[doc = "Independent watchdog timer reset not detected."]
9071        pub const _0: Self = Self::new(0);
9072
9073        #[doc = "Independent watchdog timer reset detected."]
9074        pub const _1: Self = Self::new(1);
9075    }
9076    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9077    pub struct Wdt0Rf_SPEC;
9078    pub type Wdt0Rf = crate::EnumBitfieldStruct<u8, Wdt0Rf_SPEC>;
9079    impl Wdt0Rf {
9080        #[doc = "Watchdog timer0 reset not detected."]
9081        pub const _0: Self = Self::new(0);
9082
9083        #[doc = "Watchdog timer0 reset detected."]
9084        pub const _1: Self = Self::new(1);
9085    }
9086    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9087    pub struct Swrf_SPEC;
9088    pub type Swrf = crate::EnumBitfieldStruct<u8, Swrf_SPEC>;
9089    impl Swrf {
9090        #[doc = "Software reset not detected."]
9091        pub const _0: Self = Self::new(0);
9092
9093        #[doc = "Software reset detected."]
9094        pub const _1: Self = Self::new(1);
9095    }
9096    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9097    pub struct Clu0Rf_SPEC;
9098    pub type Clu0Rf = crate::EnumBitfieldStruct<u8, Clu0Rf_SPEC>;
9099    impl Clu0Rf {
9100        #[doc = "CPU0 Lockup reset not detected."]
9101        pub const _0: Self = Self::new(0);
9102
9103        #[doc = "CPU0 Lockup reset detected."]
9104        pub const _1: Self = Self::new(1);
9105    }
9106    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9107    pub struct Lm0Rf_SPEC;
9108    pub type Lm0Rf = crate::EnumBitfieldStruct<u8, Lm0Rf_SPEC>;
9109    impl Lm0Rf {
9110        #[doc = "Local memory 0 error reset not detected."]
9111        pub const _0: Self = Self::new(0);
9112
9113        #[doc = "Local memory 0 error reset detected."]
9114        pub const _1: Self = Self::new(1);
9115    }
9116    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9117    pub struct Busrf_SPEC;
9118    pub type Busrf = crate::EnumBitfieldStruct<u8, Busrf_SPEC>;
9119    impl Busrf {
9120        #[doc = "Bus error reset not detected."]
9121        pub const _0: Self = Self::new(0);
9122
9123        #[doc = "Bus error reset detected."]
9124        pub const _1: Self = Self::new(1);
9125    }
9126    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9127    pub struct Cmrf_SPEC;
9128    pub type Cmrf = crate::EnumBitfieldStruct<u8, Cmrf_SPEC>;
9129    impl Cmrf {
9130        #[doc = "Common memory error reset not detected."]
9131        pub const _0: Self = Self::new(0);
9132
9133        #[doc = "Common memory error reset detected."]
9134        pub const _1: Self = Self::new(1);
9135    }
9136    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9137    pub struct Wdt1Rf_SPEC;
9138    pub type Wdt1Rf = crate::EnumBitfieldStruct<u8, Wdt1Rf_SPEC>;
9139    impl Wdt1Rf {
9140        #[doc = "Watchdog timer1 reset not detected."]
9141        pub const _0: Self = Self::new(0);
9142
9143        #[doc = "Watchdog timer1 reset detected."]
9144        pub const _1: Self = Self::new(1);
9145    }
9146    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9147    pub struct Lm1Rf_SPEC;
9148    pub type Lm1Rf = crate::EnumBitfieldStruct<u8, Lm1Rf_SPEC>;
9149    impl Lm1Rf {
9150        #[doc = "Local memory 1 error reset not detected."]
9151        pub const _0: Self = Self::new(0);
9152
9153        #[doc = "Local memory 1 error reset detected."]
9154        pub const _1: Self = Self::new(1);
9155    }
9156    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9157    pub struct Nwrf_SPEC;
9158    pub type Nwrf = crate::EnumBitfieldStruct<u8, Nwrf_SPEC>;
9159    impl Nwrf {
9160        #[doc = "Network Reset not detected."]
9161        pub const _0: Self = Self::new(0);
9162
9163        #[doc = "Network Reset detected."]
9164        pub const _1: Self = Self::new(1);
9165    }
9166}
9167#[doc(hidden)]
9168#[derive(Copy, Clone, Eq, PartialEq)]
9169pub struct Syraccr_SPEC;
9170impl crate::sealed::RegSpec for Syraccr_SPEC {
9171    type DataType = u8;
9172}
9173
9174#[doc = "System Register Access Control Register"]
9175pub type Syraccr = crate::RegValueT<Syraccr_SPEC>;
9176
9177impl Syraccr {
9178    #[doc = "Access Ready monitor"]
9179    #[inline(always)]
9180    pub fn busy(
9181        self,
9182    ) -> crate::common::RegisterField<
9183        0,
9184        0x1,
9185        1,
9186        0,
9187        syraccr::Busy,
9188        syraccr::Busy,
9189        Syraccr_SPEC,
9190        crate::common::RW,
9191    > {
9192        crate::common::RegisterField::<
9193            0,
9194            0x1,
9195            1,
9196            0,
9197            syraccr::Busy,
9198            syraccr::Busy,
9199            Syraccr_SPEC,
9200            crate::common::RW,
9201        >::from_register(self, 0)
9202    }
9203
9204    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
9205    #[inline(always)]
9206    pub fn reserved(
9207        self,
9208    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Syraccr_SPEC, crate::common::RW> {
9209        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Syraccr_SPEC,crate::common::RW>::from_register(self,0)
9210    }
9211}
9212impl ::core::default::Default for Syraccr {
9213    #[inline(always)]
9214    fn default() -> Syraccr {
9215        <crate::RegValueT<Syraccr_SPEC> as RegisterValue<_>>::new(0)
9216    }
9217}
9218pub mod syraccr {
9219
9220    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9221    pub struct Busy_SPEC;
9222    pub type Busy = crate::EnumBitfieldStruct<u8, Busy_SPEC>;
9223    impl Busy {
9224        #[doc = "Ready to read/write access"]
9225        pub const _0: Self = Self::new(0);
9226
9227        #[doc = "Writing in progress"]
9228        pub const _1: Self = Self::new(1);
9229    }
9230}
9231#[doc(hidden)]
9232#[derive(Copy, Clone, Eq, PartialEq)]
9233pub struct Pvdcr1_SPEC;
9234impl crate::sealed::RegSpec for Pvdcr1_SPEC {
9235    type DataType = u8;
9236}
9237
9238#[doc = "Voltage Monitor %s Circuit Control Register 1"]
9239pub type Pvdcr1 = crate::RegValueT<Pvdcr1_SPEC>;
9240
9241impl Pvdcr1 {
9242    #[doc = "Voltage Monitor  Interrupt Generation Condition Select"]
9243    #[inline(always)]
9244    pub fn idtsel(
9245        self,
9246    ) -> crate::common::RegisterField<
9247        0,
9248        0x3,
9249        1,
9250        0,
9251        pvdcr1::Idtsel,
9252        pvdcr1::Idtsel,
9253        Pvdcr1_SPEC,
9254        crate::common::RW,
9255    > {
9256        crate::common::RegisterField::<
9257            0,
9258            0x3,
9259            1,
9260            0,
9261            pvdcr1::Idtsel,
9262            pvdcr1::Idtsel,
9263            Pvdcr1_SPEC,
9264            crate::common::RW,
9265        >::from_register(self, 0)
9266    }
9267
9268    #[doc = "Voltage Monitor  Interrupt Type Select"]
9269    #[inline(always)]
9270    pub fn irqsel(
9271        self,
9272    ) -> crate::common::RegisterField<
9273        2,
9274        0x1,
9275        1,
9276        0,
9277        pvdcr1::Irqsel,
9278        pvdcr1::Irqsel,
9279        Pvdcr1_SPEC,
9280        crate::common::RW,
9281    > {
9282        crate::common::RegisterField::<
9283            2,
9284            0x1,
9285            1,
9286            0,
9287            pvdcr1::Irqsel,
9288            pvdcr1::Irqsel,
9289            Pvdcr1_SPEC,
9290            crate::common::RW,
9291        >::from_register(self, 0)
9292    }
9293
9294    #[doc = "These bits are read as 00000. The write value should be 00000."]
9295    #[inline(always)]
9296    pub fn reserved(
9297        self,
9298    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Pvdcr1_SPEC, crate::common::RW> {
9299        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Pvdcr1_SPEC,crate::common::RW>::from_register(self,0)
9300    }
9301}
9302impl ::core::default::Default for Pvdcr1 {
9303    #[inline(always)]
9304    fn default() -> Pvdcr1 {
9305        <crate::RegValueT<Pvdcr1_SPEC> as RegisterValue<_>>::new(1)
9306    }
9307}
9308pub mod pvdcr1 {
9309
9310    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9311    pub struct Idtsel_SPEC;
9312    pub type Idtsel = crate::EnumBitfieldStruct<u8, Idtsel_SPEC>;
9313    impl Idtsel {
9314        #[doc = "Generate when VCC>=Vdet (rise) is detected"]
9315        pub const _00: Self = Self::new(0);
9316
9317        #[doc = "Generate when VCC<Vdet (fall) is detected"]
9318        pub const _01: Self = Self::new(1);
9319
9320        #[doc = "Generate when fall and rise are detected"]
9321        pub const _10: Self = Self::new(2);
9322
9323        #[doc = "Settings prohibited"]
9324        pub const _11: Self = Self::new(3);
9325    }
9326    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9327    pub struct Irqsel_SPEC;
9328    pub type Irqsel = crate::EnumBitfieldStruct<u8, Irqsel_SPEC>;
9329    impl Irqsel {
9330        #[doc = "Non-maskable interrupt"]
9331        pub const _0: Self = Self::new(0);
9332
9333        #[doc = "Maskable interrupt"]
9334        pub const _1: Self = Self::new(1);
9335    }
9336}
9337#[doc(hidden)]
9338#[derive(Copy, Clone, Eq, PartialEq)]
9339pub struct Pvdsr_SPEC;
9340impl crate::sealed::RegSpec for Pvdsr_SPEC {
9341    type DataType = u8;
9342}
9343
9344#[doc = "Voltage Monitor %s Circuit Status Register"]
9345pub type Pvdsr = crate::RegValueT<Pvdsr_SPEC>;
9346
9347impl Pvdsr {
9348    #[doc = "Voltage Monitor Voltage Change Detection Flag NOTE: Only 0 can be written to this bit. After writing 0 to this bit, it takes 2 system clock cycles for the bit to be read as 0."]
9349    #[inline(always)]
9350    pub fn det(
9351        self,
9352    ) -> crate::common::RegisterField<
9353        0,
9354        0x1,
9355        1,
9356        0,
9357        pvdsr::Det,
9358        pvdsr::Det,
9359        Pvdsr_SPEC,
9360        crate::common::RW,
9361    > {
9362        crate::common::RegisterField::<
9363            0,
9364            0x1,
9365            1,
9366            0,
9367            pvdsr::Det,
9368            pvdsr::Det,
9369            Pvdsr_SPEC,
9370            crate::common::RW,
9371        >::from_register(self, 0)
9372    }
9373
9374    #[doc = "Voltage Monitor Signal Monitor Flag"]
9375    #[inline(always)]
9376    pub fn mon(
9377        self,
9378    ) -> crate::common::RegisterField<
9379        1,
9380        0x1,
9381        1,
9382        0,
9383        pvdsr::Mon,
9384        pvdsr::Mon,
9385        Pvdsr_SPEC,
9386        crate::common::R,
9387    > {
9388        crate::common::RegisterField::<
9389            1,
9390            0x1,
9391            1,
9392            0,
9393            pvdsr::Mon,
9394            pvdsr::Mon,
9395            Pvdsr_SPEC,
9396            crate::common::R,
9397        >::from_register(self, 0)
9398    }
9399
9400    #[doc = "These bits are read as 000000. The write value should be 000000."]
9401    #[inline(always)]
9402    pub fn reserved(
9403        self,
9404    ) -> crate::common::RegisterField<2, 0x3f, 1, 0, u8, u8, Pvdsr_SPEC, crate::common::RW> {
9405        crate::common::RegisterField::<2,0x3f,1,0,u8,u8,Pvdsr_SPEC,crate::common::RW>::from_register(self,0)
9406    }
9407}
9408impl ::core::default::Default for Pvdsr {
9409    #[inline(always)]
9410    fn default() -> Pvdsr {
9411        <crate::RegValueT<Pvdsr_SPEC> as RegisterValue<_>>::new(2)
9412    }
9413}
9414pub mod pvdsr {
9415
9416    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9417    pub struct Det_SPEC;
9418    pub type Det = crate::EnumBitfieldStruct<u8, Det_SPEC>;
9419    impl Det {
9420        #[doc = "Not detected"]
9421        pub const _0: Self = Self::new(0);
9422
9423        #[doc = "Vdet passage detection"]
9424        pub const _1: Self = Self::new(1);
9425    }
9426    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9427    pub struct Mon_SPEC;
9428    pub type Mon = crate::EnumBitfieldStruct<u8, Mon_SPEC>;
9429    impl Mon {
9430        #[doc = "VCC <= Vdet"]
9431        pub const _0: Self = Self::new(0);
9432
9433        #[doc = "VCC > Vdet or MON bit is disabled"]
9434        pub const _1: Self = Self::new(1);
9435    }
9436}
9437#[doc(hidden)]
9438#[derive(Copy, Clone, Eq, PartialEq)]
9439pub struct Crvsyscr_SPEC;
9440impl crate::sealed::RegSpec for Crvsyscr_SPEC {
9441    type DataType = u8;
9442}
9443
9444#[doc = "Clock Recovery System Control Register"]
9445pub type Crvsyscr = crate::RegValueT<Crvsyscr_SPEC>;
9446
9447impl Crvsyscr {
9448    #[doc = "Clock Recovery Enable"]
9449    #[inline(always)]
9450    pub fn crven(
9451        self,
9452    ) -> crate::common::RegisterField<
9453        0,
9454        0x1,
9455        1,
9456        0,
9457        crvsyscr::Crven,
9458        crvsyscr::Crven,
9459        Crvsyscr_SPEC,
9460        crate::common::RW,
9461    > {
9462        crate::common::RegisterField::<
9463            0,
9464            0x1,
9465            1,
9466            0,
9467            crvsyscr::Crven,
9468            crvsyscr::Crven,
9469            Crvsyscr_SPEC,
9470            crate::common::RW,
9471        >::from_register(self, 0)
9472    }
9473
9474    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
9475    #[inline(always)]
9476    pub fn reserved(
9477        self,
9478    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Crvsyscr_SPEC, crate::common::RW> {
9479        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Crvsyscr_SPEC,crate::common::RW>::from_register(self,0)
9480    }
9481}
9482impl ::core::default::Default for Crvsyscr {
9483    #[inline(always)]
9484    fn default() -> Crvsyscr {
9485        <crate::RegValueT<Crvsyscr_SPEC> as RegisterValue<_>>::new(0)
9486    }
9487}
9488pub mod crvsyscr {
9489
9490    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9491    pub struct Crven_SPEC;
9492    pub type Crven = crate::EnumBitfieldStruct<u8, Crven_SPEC>;
9493    impl Crven {
9494        #[doc = "Disable"]
9495        pub const _0: Self = Self::new(0);
9496
9497        #[doc = "Enable"]
9498        pub const _1: Self = Self::new(1);
9499    }
9500}
9501#[doc(hidden)]
9502#[derive(Copy, Clone, Eq, PartialEq)]
9503pub struct Pdctrgd_SPEC;
9504impl crate::sealed::RegSpec for Pdctrgd_SPEC {
9505    type DataType = u8;
9506}
9507
9508#[doc = "Graphics Power Domain Control Register"]
9509pub type Pdctrgd = crate::RegValueT<Pdctrgd_SPEC>;
9510
9511impl Pdctrgd {
9512    #[doc = "Power control enable"]
9513    #[inline(always)]
9514    pub fn pdde(
9515        self,
9516    ) -> crate::common::RegisterField<
9517        0,
9518        0x1,
9519        1,
9520        0,
9521        pdctrgd::Pdde,
9522        pdctrgd::Pdde,
9523        Pdctrgd_SPEC,
9524        crate::common::RW,
9525    > {
9526        crate::common::RegisterField::<
9527            0,
9528            0x1,
9529            1,
9530            0,
9531            pdctrgd::Pdde,
9532            pdctrgd::Pdde,
9533            Pdctrgd_SPEC,
9534            crate::common::RW,
9535        >::from_register(self, 0)
9536    }
9537
9538    #[doc = "These bits are read as 00000. The write value should be 00000."]
9539    #[inline(always)]
9540    pub fn reserved(
9541        self,
9542    ) -> crate::common::RegisterField<1, 0x1f, 1, 0, u8, u8, Pdctrgd_SPEC, crate::common::RW> {
9543        crate::common::RegisterField::<1,0x1f,1,0,u8,u8,Pdctrgd_SPEC,crate::common::RW>::from_register(self,0)
9544    }
9545
9546    #[doc = "Power control status flag"]
9547    #[inline(always)]
9548    pub fn pdcsf(
9549        self,
9550    ) -> crate::common::RegisterField<
9551        6,
9552        0x1,
9553        1,
9554        0,
9555        pdctrgd::Pdcsf,
9556        pdctrgd::Pdcsf,
9557        Pdctrgd_SPEC,
9558        crate::common::R,
9559    > {
9560        crate::common::RegisterField::<
9561            6,
9562            0x1,
9563            1,
9564            0,
9565            pdctrgd::Pdcsf,
9566            pdctrgd::Pdcsf,
9567            Pdctrgd_SPEC,
9568            crate::common::R,
9569        >::from_register(self, 0)
9570    }
9571
9572    #[doc = "Power gating status flag"]
9573    #[inline(always)]
9574    pub fn pdpgsf(
9575        self,
9576    ) -> crate::common::RegisterField<
9577        7,
9578        0x1,
9579        1,
9580        0,
9581        pdctrgd::Pdpgsf,
9582        pdctrgd::Pdpgsf,
9583        Pdctrgd_SPEC,
9584        crate::common::R,
9585    > {
9586        crate::common::RegisterField::<
9587            7,
9588            0x1,
9589            1,
9590            0,
9591            pdctrgd::Pdpgsf,
9592            pdctrgd::Pdpgsf,
9593            Pdctrgd_SPEC,
9594            crate::common::R,
9595        >::from_register(self, 0)
9596    }
9597}
9598impl ::core::default::Default for Pdctrgd {
9599    #[inline(always)]
9600    fn default() -> Pdctrgd {
9601        <crate::RegValueT<Pdctrgd_SPEC> as RegisterValue<_>>::new(129)
9602    }
9603}
9604pub mod pdctrgd {
9605
9606    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9607    pub struct Pdde_SPEC;
9608    pub type Pdde = crate::EnumBitfieldStruct<u8, Pdde_SPEC>;
9609    impl Pdde {
9610        #[doc = "Power on the target domain"]
9611        pub const _0: Self = Self::new(0);
9612
9613        #[doc = "Power off the target domain"]
9614        pub const _1: Self = Self::new(1);
9615    }
9616    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9617    pub struct Pdcsf_SPEC;
9618    pub type Pdcsf = crate::EnumBitfieldStruct<u8, Pdcsf_SPEC>;
9619    impl Pdcsf {
9620        #[doc = "Power gating control is not executed (idle)"]
9621        pub const _0: Self = Self::new(0);
9622
9623        #[doc = "Power gating control is in progress"]
9624        pub const _1: Self = Self::new(1);
9625    }
9626    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9627    pub struct Pdpgsf_SPEC;
9628    pub type Pdpgsf = crate::EnumBitfieldStruct<u8, Pdpgsf_SPEC>;
9629    impl Pdpgsf {
9630        #[doc = "Target domain is power on (not gating)"]
9631        pub const _0: Self = Self::new(0);
9632
9633        #[doc = "Target domain is power off (during Gating)"]
9634        pub const _1: Self = Self::new(1);
9635    }
9636}
9637#[doc(hidden)]
9638#[derive(Copy, Clone, Eq, PartialEq)]
9639pub struct Pdramscr0_SPEC;
9640impl crate::sealed::RegSpec for Pdramscr0_SPEC {
9641    type DataType = u16;
9642}
9643
9644#[doc = "SRAM power domain Standby Control Register 0"]
9645pub type Pdramscr0 = crate::RegValueT<Pdramscr0_SPEC>;
9646
9647impl Pdramscr0 {
9648    #[doc = "This bit is read as 0. The write value should be 0."]
9649    #[inline(always)]
9650    pub fn reserved(
9651        self,
9652    ) -> crate::common::RegisterFieldBool<15, 1, 0, Pdramscr0_SPEC, crate::common::RW> {
9653        crate::common::RegisterFieldBool::<15,1,0,Pdramscr0_SPEC,crate::common::RW>::from_register(self,0)
9654    }
9655}
9656impl ::core::default::Default for Pdramscr0 {
9657    #[inline(always)]
9658    fn default() -> Pdramscr0 {
9659        <crate::RegValueT<Pdramscr0_SPEC> as RegisterValue<_>>::new(32767)
9660    }
9661}
9662
9663#[doc(hidden)]
9664#[derive(Copy, Clone, Eq, PartialEq)]
9665pub struct Pdramscr1_SPEC;
9666impl crate::sealed::RegSpec for Pdramscr1_SPEC {
9667    type DataType = u8;
9668}
9669
9670#[doc = "SRAM power domain Standby Control Register 1"]
9671pub type Pdramscr1 = crate::RegValueT<Pdramscr1_SPEC>;
9672
9673impl Pdramscr1 {
9674    #[doc = "These bits are read as 000000. The write value should be 000000."]
9675    #[inline(always)]
9676    pub fn reserved(
9677        self,
9678    ) -> crate::common::RegisterField<2, 0x3f, 1, 0, u8, u8, Pdramscr1_SPEC, crate::common::RW>
9679    {
9680        crate::common::RegisterField::<2,0x3f,1,0,u8,u8,Pdramscr1_SPEC,crate::common::RW>::from_register(self,0)
9681    }
9682}
9683impl ::core::default::Default for Pdramscr1 {
9684    #[inline(always)]
9685    fn default() -> Pdramscr1 {
9686        <crate::RegValueT<Pdramscr1_SPEC> as RegisterValue<_>>::new(3)
9687    }
9688}
9689
9690#[doc(hidden)]
9691#[derive(Copy, Clone, Eq, PartialEq)]
9692pub struct Vbrsabar_SPEC;
9693impl crate::sealed::RegSpec for Vbrsabar_SPEC {
9694    type DataType = u16;
9695}
9696
9697#[doc = "VBATT Backup Register Security Attribute Boundary Address Register"]
9698pub type Vbrsabar = crate::RegValueT<Vbrsabar_SPEC>;
9699
9700impl Vbrsabar {
9701    #[doc = "Security Attribute Boundary Address"]
9702    #[inline(always)]
9703    pub fn saba(
9704        self,
9705    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Vbrsabar_SPEC, crate::common::RW>
9706    {
9707        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Vbrsabar_SPEC,crate::common::RW>::from_register(self,0)
9708    }
9709}
9710impl ::core::default::Default for Vbrsabar {
9711    #[inline(always)]
9712    fn default() -> Vbrsabar {
9713        <crate::RegValueT<Vbrsabar_SPEC> as RegisterValue<_>>::new(65504)
9714    }
9715}
9716
9717#[doc(hidden)]
9718#[derive(Copy, Clone, Eq, PartialEq)]
9719pub struct Vbrpabars_SPEC;
9720impl crate::sealed::RegSpec for Vbrpabars_SPEC {
9721    type DataType = u16;
9722}
9723
9724#[doc = "VBATT Backup Register Privilege Attribute Boundary Address Register for Secure Region"]
9725pub type Vbrpabars = crate::RegValueT<Vbrpabars_SPEC>;
9726
9727impl Vbrpabars {
9728    #[doc = "Privilege Attribute Boundary Address for Secure Region"]
9729    #[inline(always)]
9730    pub fn pabas(
9731        self,
9732    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Vbrpabars_SPEC, crate::common::RW>
9733    {
9734        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Vbrpabars_SPEC,crate::common::RW>::from_register(self,0)
9735    }
9736}
9737impl ::core::default::Default for Vbrpabars {
9738    #[inline(always)]
9739    fn default() -> Vbrpabars {
9740        <crate::RegValueT<Vbrpabars_SPEC> as RegisterValue<_>>::new(0)
9741    }
9742}
9743
9744#[doc(hidden)]
9745#[derive(Copy, Clone, Eq, PartialEq)]
9746pub struct Vbrpabarns_SPEC;
9747impl crate::sealed::RegSpec for Vbrpabarns_SPEC {
9748    type DataType = u16;
9749}
9750
9751#[doc = "VBATT Backup Register Privilege Attribute Boundary Address Register for Non-secure Region"]
9752pub type Vbrpabarns = crate::RegValueT<Vbrpabarns_SPEC>;
9753
9754impl Vbrpabarns {
9755    #[doc = "Privilege Attribute Boundary Address for Non-secure Region"]
9756    #[inline(always)]
9757    pub fn pabans(
9758        self,
9759    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Vbrpabarns_SPEC, crate::common::RW>
9760    {
9761        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Vbrpabarns_SPEC,crate::common::RW>::from_register(self,0)
9762    }
9763}
9764impl ::core::default::Default for Vbrpabarns {
9765    #[inline(always)]
9766    fn default() -> Vbrpabarns {
9767        <crate::RegValueT<Vbrpabarns_SPEC> as RegisterValue<_>>::new(0)
9768    }
9769}
9770
9771#[doc(hidden)]
9772#[derive(Copy, Clone, Eq, PartialEq)]
9773pub struct Cgfsar_SPEC;
9774impl crate::sealed::RegSpec for Cgfsar_SPEC {
9775    type DataType = u32;
9776}
9777
9778#[doc = "Clock Generation Function Security Attribute Register"]
9779pub type Cgfsar = crate::RegValueT<Cgfsar_SPEC>;
9780
9781impl Cgfsar {
9782    #[doc = "Non-secure Attribute bit 0"]
9783    #[inline(always)]
9784    pub fn nonsec00(
9785        self,
9786    ) -> crate::common::RegisterField<
9787        0,
9788        0x1,
9789        1,
9790        0,
9791        cgfsar::Nonsec00,
9792        cgfsar::Nonsec00,
9793        Cgfsar_SPEC,
9794        crate::common::RW,
9795    > {
9796        crate::common::RegisterField::<
9797            0,
9798            0x1,
9799            1,
9800            0,
9801            cgfsar::Nonsec00,
9802            cgfsar::Nonsec00,
9803            Cgfsar_SPEC,
9804            crate::common::RW,
9805        >::from_register(self, 0)
9806    }
9807
9808    #[doc = "Non-secure Attribute bit 2"]
9809    #[inline(always)]
9810    pub fn nonsec02(
9811        self,
9812    ) -> crate::common::RegisterField<
9813        2,
9814        0x1,
9815        1,
9816        0,
9817        cgfsar::Nonsec02,
9818        cgfsar::Nonsec02,
9819        Cgfsar_SPEC,
9820        crate::common::RW,
9821    > {
9822        crate::common::RegisterField::<
9823            2,
9824            0x1,
9825            1,
9826            0,
9827            cgfsar::Nonsec02,
9828            cgfsar::Nonsec02,
9829            Cgfsar_SPEC,
9830            crate::common::RW,
9831        >::from_register(self, 0)
9832    }
9833
9834    #[doc = "Non-secure Attribute bit 3"]
9835    #[inline(always)]
9836    pub fn nonsec03(
9837        self,
9838    ) -> crate::common::RegisterField<
9839        3,
9840        0x1,
9841        1,
9842        0,
9843        cgfsar::Nonsec03,
9844        cgfsar::Nonsec03,
9845        Cgfsar_SPEC,
9846        crate::common::RW,
9847    > {
9848        crate::common::RegisterField::<
9849            3,
9850            0x1,
9851            1,
9852            0,
9853            cgfsar::Nonsec03,
9854            cgfsar::Nonsec03,
9855            Cgfsar_SPEC,
9856            crate::common::RW,
9857        >::from_register(self, 0)
9858    }
9859
9860    #[doc = "Non-secure Attribute bit 4"]
9861    #[inline(always)]
9862    pub fn nonsec04(
9863        self,
9864    ) -> crate::common::RegisterField<
9865        4,
9866        0x1,
9867        1,
9868        0,
9869        cgfsar::Nonsec04,
9870        cgfsar::Nonsec04,
9871        Cgfsar_SPEC,
9872        crate::common::RW,
9873    > {
9874        crate::common::RegisterField::<
9875            4,
9876            0x1,
9877            1,
9878            0,
9879            cgfsar::Nonsec04,
9880            cgfsar::Nonsec04,
9881            Cgfsar_SPEC,
9882            crate::common::RW,
9883        >::from_register(self, 0)
9884    }
9885
9886    #[doc = "Non-secure Attribute bit 5"]
9887    #[inline(always)]
9888    pub fn nonsec05(
9889        self,
9890    ) -> crate::common::RegisterField<
9891        5,
9892        0x1,
9893        1,
9894        0,
9895        cgfsar::Nonsec05,
9896        cgfsar::Nonsec05,
9897        Cgfsar_SPEC,
9898        crate::common::RW,
9899    > {
9900        crate::common::RegisterField::<
9901            5,
9902            0x1,
9903            1,
9904            0,
9905            cgfsar::Nonsec05,
9906            cgfsar::Nonsec05,
9907            Cgfsar_SPEC,
9908            crate::common::RW,
9909        >::from_register(self, 0)
9910    }
9911
9912    #[doc = "Non-secure Attribute bit 6"]
9913    #[inline(always)]
9914    pub fn nonsec06(
9915        self,
9916    ) -> crate::common::RegisterField<
9917        6,
9918        0x1,
9919        1,
9920        0,
9921        cgfsar::Nonsec06,
9922        cgfsar::Nonsec06,
9923        Cgfsar_SPEC,
9924        crate::common::RW,
9925    > {
9926        crate::common::RegisterField::<
9927            6,
9928            0x1,
9929            1,
9930            0,
9931            cgfsar::Nonsec06,
9932            cgfsar::Nonsec06,
9933            Cgfsar_SPEC,
9934            crate::common::RW,
9935        >::from_register(self, 0)
9936    }
9937
9938    #[doc = "Non-secure Attribute bit 7"]
9939    #[inline(always)]
9940    pub fn nonsec07(
9941        self,
9942    ) -> crate::common::RegisterField<
9943        7,
9944        0x1,
9945        1,
9946        0,
9947        cgfsar::Nonsec07,
9948        cgfsar::Nonsec07,
9949        Cgfsar_SPEC,
9950        crate::common::RW,
9951    > {
9952        crate::common::RegisterField::<
9953            7,
9954            0x1,
9955            1,
9956            0,
9957            cgfsar::Nonsec07,
9958            cgfsar::Nonsec07,
9959            Cgfsar_SPEC,
9960            crate::common::RW,
9961        >::from_register(self, 0)
9962    }
9963
9964    #[doc = "Non-secure Attribute bit 8"]
9965    #[inline(always)]
9966    pub fn nonsec08(
9967        self,
9968    ) -> crate::common::RegisterField<
9969        8,
9970        0x1,
9971        1,
9972        0,
9973        cgfsar::Nonsec08,
9974        cgfsar::Nonsec08,
9975        Cgfsar_SPEC,
9976        crate::common::RW,
9977    > {
9978        crate::common::RegisterField::<
9979            8,
9980            0x1,
9981            1,
9982            0,
9983            cgfsar::Nonsec08,
9984            cgfsar::Nonsec08,
9985            Cgfsar_SPEC,
9986            crate::common::RW,
9987        >::from_register(self, 0)
9988    }
9989
9990    #[doc = "Non-secure Attribute bit 9"]
9991    #[inline(always)]
9992    pub fn nonsec09(
9993        self,
9994    ) -> crate::common::RegisterField<
9995        9,
9996        0x1,
9997        1,
9998        0,
9999        cgfsar::Nonsec09,
10000        cgfsar::Nonsec09,
10001        Cgfsar_SPEC,
10002        crate::common::RW,
10003    > {
10004        crate::common::RegisterField::<
10005            9,
10006            0x1,
10007            1,
10008            0,
10009            cgfsar::Nonsec09,
10010            cgfsar::Nonsec09,
10011            Cgfsar_SPEC,
10012            crate::common::RW,
10013        >::from_register(self, 0)
10014    }
10015
10016    #[doc = "Non-secure Attribute bit 11"]
10017    #[inline(always)]
10018    pub fn nonsec11(
10019        self,
10020    ) -> crate::common::RegisterField<
10021        11,
10022        0x1,
10023        1,
10024        0,
10025        cgfsar::Nonsec11,
10026        cgfsar::Nonsec11,
10027        Cgfsar_SPEC,
10028        crate::common::RW,
10029    > {
10030        crate::common::RegisterField::<
10031            11,
10032            0x1,
10033            1,
10034            0,
10035            cgfsar::Nonsec11,
10036            cgfsar::Nonsec11,
10037            Cgfsar_SPEC,
10038            crate::common::RW,
10039        >::from_register(self, 0)
10040    }
10041
10042    #[doc = "Non-secure Attribute bit 12"]
10043    #[inline(always)]
10044    pub fn nonsec12(
10045        self,
10046    ) -> crate::common::RegisterField<
10047        12,
10048        0x1,
10049        1,
10050        0,
10051        cgfsar::Nonsec12,
10052        cgfsar::Nonsec12,
10053        Cgfsar_SPEC,
10054        crate::common::RW,
10055    > {
10056        crate::common::RegisterField::<
10057            12,
10058            0x1,
10059            1,
10060            0,
10061            cgfsar::Nonsec12,
10062            cgfsar::Nonsec12,
10063            Cgfsar_SPEC,
10064            crate::common::RW,
10065        >::from_register(self, 0)
10066    }
10067
10068    #[doc = "Non-secure Attribute bit 13"]
10069    #[inline(always)]
10070    pub fn nonsec13(
10071        self,
10072    ) -> crate::common::RegisterField<
10073        13,
10074        0x1,
10075        1,
10076        0,
10077        cgfsar::Nonsec13,
10078        cgfsar::Nonsec13,
10079        Cgfsar_SPEC,
10080        crate::common::RW,
10081    > {
10082        crate::common::RegisterField::<
10083            13,
10084            0x1,
10085            1,
10086            0,
10087            cgfsar::Nonsec13,
10088            cgfsar::Nonsec13,
10089            Cgfsar_SPEC,
10090            crate::common::RW,
10091        >::from_register(self, 0)
10092    }
10093
10094    #[doc = "Non-secure Attribute bit 16"]
10095    #[inline(always)]
10096    pub fn nonsec16(
10097        self,
10098    ) -> crate::common::RegisterField<
10099        16,
10100        0x1,
10101        1,
10102        0,
10103        cgfsar::Nonsec16,
10104        cgfsar::Nonsec16,
10105        Cgfsar_SPEC,
10106        crate::common::RW,
10107    > {
10108        crate::common::RegisterField::<
10109            16,
10110            0x1,
10111            1,
10112            0,
10113            cgfsar::Nonsec16,
10114            cgfsar::Nonsec16,
10115            Cgfsar_SPEC,
10116            crate::common::RW,
10117        >::from_register(self, 0)
10118    }
10119
10120    #[doc = "Non-secure Attribute bit 17"]
10121    #[inline(always)]
10122    pub fn nonsec17(
10123        self,
10124    ) -> crate::common::RegisterField<
10125        17,
10126        0x1,
10127        1,
10128        0,
10129        cgfsar::Nonsec17,
10130        cgfsar::Nonsec17,
10131        Cgfsar_SPEC,
10132        crate::common::RW,
10133    > {
10134        crate::common::RegisterField::<
10135            17,
10136            0x1,
10137            1,
10138            0,
10139            cgfsar::Nonsec17,
10140            cgfsar::Nonsec17,
10141            Cgfsar_SPEC,
10142            crate::common::RW,
10143        >::from_register(self, 0)
10144    }
10145
10146    #[doc = "Non-secure Attribute bit 18"]
10147    #[inline(always)]
10148    pub fn nonsec18(
10149        self,
10150    ) -> crate::common::RegisterField<
10151        18,
10152        0x1,
10153        1,
10154        0,
10155        cgfsar::Nonsec18,
10156        cgfsar::Nonsec18,
10157        Cgfsar_SPEC,
10158        crate::common::RW,
10159    > {
10160        crate::common::RegisterField::<
10161            18,
10162            0x1,
10163            1,
10164            0,
10165            cgfsar::Nonsec18,
10166            cgfsar::Nonsec18,
10167            Cgfsar_SPEC,
10168            crate::common::RW,
10169        >::from_register(self, 0)
10170    }
10171
10172    #[doc = "Non-secure Attribute bit 19"]
10173    #[inline(always)]
10174    pub fn nonsec19(
10175        self,
10176    ) -> crate::common::RegisterField<
10177        19,
10178        0x1,
10179        1,
10180        0,
10181        cgfsar::Nonsec19,
10182        cgfsar::Nonsec19,
10183        Cgfsar_SPEC,
10184        crate::common::RW,
10185    > {
10186        crate::common::RegisterField::<
10187            19,
10188            0x1,
10189            1,
10190            0,
10191            cgfsar::Nonsec19,
10192            cgfsar::Nonsec19,
10193            Cgfsar_SPEC,
10194            crate::common::RW,
10195        >::from_register(self, 0)
10196    }
10197
10198    #[doc = "Non-secure Attribute bit 20"]
10199    #[inline(always)]
10200    pub fn nonsec20(
10201        self,
10202    ) -> crate::common::RegisterField<
10203        20,
10204        0x1,
10205        1,
10206        0,
10207        cgfsar::Nonsec20,
10208        cgfsar::Nonsec20,
10209        Cgfsar_SPEC,
10210        crate::common::RW,
10211    > {
10212        crate::common::RegisterField::<
10213            20,
10214            0x1,
10215            1,
10216            0,
10217            cgfsar::Nonsec20,
10218            cgfsar::Nonsec20,
10219            Cgfsar_SPEC,
10220            crate::common::RW,
10221        >::from_register(self, 0)
10222    }
10223
10224    #[doc = "Non-secure Attribute bit 21"]
10225    #[inline(always)]
10226    pub fn nonsec21(
10227        self,
10228    ) -> crate::common::RegisterField<
10229        21,
10230        0x1,
10231        1,
10232        0,
10233        cgfsar::Nonsec21,
10234        cgfsar::Nonsec21,
10235        Cgfsar_SPEC,
10236        crate::common::RW,
10237    > {
10238        crate::common::RegisterField::<
10239            21,
10240            0x1,
10241            1,
10242            0,
10243            cgfsar::Nonsec21,
10244            cgfsar::Nonsec21,
10245            Cgfsar_SPEC,
10246            crate::common::RW,
10247        >::from_register(self, 0)
10248    }
10249
10250    #[doc = "Non-secure Attribute bit 22"]
10251    #[inline(always)]
10252    pub fn nonsec22(
10253        self,
10254    ) -> crate::common::RegisterField<
10255        22,
10256        0x1,
10257        1,
10258        0,
10259        cgfsar::Nonsec22,
10260        cgfsar::Nonsec22,
10261        Cgfsar_SPEC,
10262        crate::common::RW,
10263    > {
10264        crate::common::RegisterField::<
10265            22,
10266            0x1,
10267            1,
10268            0,
10269            cgfsar::Nonsec22,
10270            cgfsar::Nonsec22,
10271            Cgfsar_SPEC,
10272            crate::common::RW,
10273        >::from_register(self, 0)
10274    }
10275
10276    #[doc = "Non-secure Attribute bit 24"]
10277    #[inline(always)]
10278    pub fn nonsec24(
10279        self,
10280    ) -> crate::common::RegisterField<
10281        24,
10282        0x1,
10283        1,
10284        0,
10285        cgfsar::Nonsec24,
10286        cgfsar::Nonsec24,
10287        Cgfsar_SPEC,
10288        crate::common::RW,
10289    > {
10290        crate::common::RegisterField::<
10291            24,
10292            0x1,
10293            1,
10294            0,
10295            cgfsar::Nonsec24,
10296            cgfsar::Nonsec24,
10297            Cgfsar_SPEC,
10298            crate::common::RW,
10299        >::from_register(self, 0)
10300    }
10301
10302    #[doc = "Non-secure Attribute bit 25"]
10303    #[inline(always)]
10304    pub fn nonsec25(
10305        self,
10306    ) -> crate::common::RegisterField<
10307        25,
10308        0x1,
10309        1,
10310        0,
10311        cgfsar::Nonsec25,
10312        cgfsar::Nonsec25,
10313        Cgfsar_SPEC,
10314        crate::common::RW,
10315    > {
10316        crate::common::RegisterField::<
10317            25,
10318            0x1,
10319            1,
10320            0,
10321            cgfsar::Nonsec25,
10322            cgfsar::Nonsec25,
10323            Cgfsar_SPEC,
10324            crate::common::RW,
10325        >::from_register(self, 0)
10326    }
10327
10328    #[doc = "Non-secure Attribute bit 26"]
10329    #[inline(always)]
10330    pub fn nonsec26(
10331        self,
10332    ) -> crate::common::RegisterField<
10333        26,
10334        0x1,
10335        1,
10336        0,
10337        cgfsar::Nonsec26,
10338        cgfsar::Nonsec26,
10339        Cgfsar_SPEC,
10340        crate::common::RW,
10341    > {
10342        crate::common::RegisterField::<
10343            26,
10344            0x1,
10345            1,
10346            0,
10347            cgfsar::Nonsec26,
10348            cgfsar::Nonsec26,
10349            Cgfsar_SPEC,
10350            crate::common::RW,
10351        >::from_register(self, 0)
10352    }
10353
10354    #[doc = "These bits are read as 00000. The write value should be 00000."]
10355    #[inline(always)]
10356    pub fn reserved(
10357        self,
10358    ) -> crate::common::RegisterField<27, 0x1f, 1, 0, u8, u8, Cgfsar_SPEC, crate::common::RW> {
10359        crate::common::RegisterField::<27,0x1f,1,0,u8,u8,Cgfsar_SPEC,crate::common::RW>::from_register(self,0)
10360    }
10361}
10362impl ::core::default::Default for Cgfsar {
10363    #[inline(always)]
10364    fn default() -> Cgfsar {
10365        <crate::RegValueT<Cgfsar_SPEC> as RegisterValue<_>>::new(0)
10366    }
10367}
10368pub mod cgfsar {
10369
10370    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10371    pub struct Nonsec00_SPEC;
10372    pub type Nonsec00 = crate::EnumBitfieldStruct<u8, Nonsec00_SPEC>;
10373    impl Nonsec00 {
10374        #[doc = "Secure"]
10375        pub const _0: Self = Self::new(0);
10376
10377        #[doc = "Non-secure"]
10378        pub const _1: Self = Self::new(1);
10379    }
10380    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10381    pub struct Nonsec02_SPEC;
10382    pub type Nonsec02 = crate::EnumBitfieldStruct<u8, Nonsec02_SPEC>;
10383    impl Nonsec02 {
10384        #[doc = "Secure"]
10385        pub const _0: Self = Self::new(0);
10386
10387        #[doc = "Non-secure"]
10388        pub const _1: Self = Self::new(1);
10389    }
10390    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10391    pub struct Nonsec03_SPEC;
10392    pub type Nonsec03 = crate::EnumBitfieldStruct<u8, Nonsec03_SPEC>;
10393    impl Nonsec03 {
10394        #[doc = "Secure"]
10395        pub const _0: Self = Self::new(0);
10396
10397        #[doc = "Non-secure"]
10398        pub const _1: Self = Self::new(1);
10399    }
10400    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10401    pub struct Nonsec04_SPEC;
10402    pub type Nonsec04 = crate::EnumBitfieldStruct<u8, Nonsec04_SPEC>;
10403    impl Nonsec04 {
10404        #[doc = "Secure"]
10405        pub const _0: Self = Self::new(0);
10406
10407        #[doc = "Non-secure"]
10408        pub const _1: Self = Self::new(1);
10409    }
10410    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10411    pub struct Nonsec05_SPEC;
10412    pub type Nonsec05 = crate::EnumBitfieldStruct<u8, Nonsec05_SPEC>;
10413    impl Nonsec05 {
10414        #[doc = "Secure"]
10415        pub const _0: Self = Self::new(0);
10416
10417        #[doc = "Non-secure"]
10418        pub const _1: Self = Self::new(1);
10419    }
10420    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10421    pub struct Nonsec06_SPEC;
10422    pub type Nonsec06 = crate::EnumBitfieldStruct<u8, Nonsec06_SPEC>;
10423    impl Nonsec06 {
10424        #[doc = "Secure"]
10425        pub const _0: Self = Self::new(0);
10426
10427        #[doc = "Non-secure"]
10428        pub const _1: Self = Self::new(1);
10429    }
10430    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10431    pub struct Nonsec07_SPEC;
10432    pub type Nonsec07 = crate::EnumBitfieldStruct<u8, Nonsec07_SPEC>;
10433    impl Nonsec07 {
10434        #[doc = "Secure"]
10435        pub const _0: Self = Self::new(0);
10436
10437        #[doc = "Non-secure"]
10438        pub const _1: Self = Self::new(1);
10439    }
10440    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10441    pub struct Nonsec08_SPEC;
10442    pub type Nonsec08 = crate::EnumBitfieldStruct<u8, Nonsec08_SPEC>;
10443    impl Nonsec08 {
10444        #[doc = "Secure"]
10445        pub const _0: Self = Self::new(0);
10446
10447        #[doc = "Non-secure"]
10448        pub const _1: Self = Self::new(1);
10449    }
10450    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10451    pub struct Nonsec09_SPEC;
10452    pub type Nonsec09 = crate::EnumBitfieldStruct<u8, Nonsec09_SPEC>;
10453    impl Nonsec09 {
10454        #[doc = "Secure"]
10455        pub const _0: Self = Self::new(0);
10456
10457        #[doc = "Non-secure"]
10458        pub const _1: Self = Self::new(1);
10459    }
10460    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10461    pub struct Nonsec11_SPEC;
10462    pub type Nonsec11 = crate::EnumBitfieldStruct<u8, Nonsec11_SPEC>;
10463    impl Nonsec11 {
10464        #[doc = "Secure"]
10465        pub const _0: Self = Self::new(0);
10466
10467        #[doc = "Non-secure"]
10468        pub const _1: Self = Self::new(1);
10469    }
10470    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10471    pub struct Nonsec12_SPEC;
10472    pub type Nonsec12 = crate::EnumBitfieldStruct<u8, Nonsec12_SPEC>;
10473    impl Nonsec12 {
10474        #[doc = "Secure"]
10475        pub const _0: Self = Self::new(0);
10476
10477        #[doc = "Non-secure"]
10478        pub const _1: Self = Self::new(1);
10479    }
10480    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10481    pub struct Nonsec13_SPEC;
10482    pub type Nonsec13 = crate::EnumBitfieldStruct<u8, Nonsec13_SPEC>;
10483    impl Nonsec13 {
10484        #[doc = "Secure"]
10485        pub const _0: Self = Self::new(0);
10486
10487        #[doc = "Non-secure"]
10488        pub const _1: Self = Self::new(1);
10489    }
10490    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10491    pub struct Nonsec16_SPEC;
10492    pub type Nonsec16 = crate::EnumBitfieldStruct<u8, Nonsec16_SPEC>;
10493    impl Nonsec16 {
10494        #[doc = "Secure"]
10495        pub const _0: Self = Self::new(0);
10496
10497        #[doc = "Non-secure"]
10498        pub const _1: Self = Self::new(1);
10499    }
10500    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10501    pub struct Nonsec17_SPEC;
10502    pub type Nonsec17 = crate::EnumBitfieldStruct<u8, Nonsec17_SPEC>;
10503    impl Nonsec17 {
10504        #[doc = "Secure"]
10505        pub const _0: Self = Self::new(0);
10506
10507        #[doc = "Non-secure"]
10508        pub const _1: Self = Self::new(1);
10509    }
10510    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10511    pub struct Nonsec18_SPEC;
10512    pub type Nonsec18 = crate::EnumBitfieldStruct<u8, Nonsec18_SPEC>;
10513    impl Nonsec18 {
10514        #[doc = "Secure"]
10515        pub const _0: Self = Self::new(0);
10516
10517        #[doc = "Non-secure"]
10518        pub const _1: Self = Self::new(1);
10519    }
10520    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10521    pub struct Nonsec19_SPEC;
10522    pub type Nonsec19 = crate::EnumBitfieldStruct<u8, Nonsec19_SPEC>;
10523    impl Nonsec19 {
10524        #[doc = "Secure"]
10525        pub const _0: Self = Self::new(0);
10526
10527        #[doc = "Non-secure"]
10528        pub const _1: Self = Self::new(1);
10529    }
10530    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10531    pub struct Nonsec20_SPEC;
10532    pub type Nonsec20 = crate::EnumBitfieldStruct<u8, Nonsec20_SPEC>;
10533    impl Nonsec20 {
10534        #[doc = "Secure"]
10535        pub const _0: Self = Self::new(0);
10536
10537        #[doc = "Non-secure"]
10538        pub const _1: Self = Self::new(1);
10539    }
10540    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10541    pub struct Nonsec21_SPEC;
10542    pub type Nonsec21 = crate::EnumBitfieldStruct<u8, Nonsec21_SPEC>;
10543    impl Nonsec21 {
10544        #[doc = "Secure"]
10545        pub const _0: Self = Self::new(0);
10546
10547        #[doc = "Non-secure"]
10548        pub const _1: Self = Self::new(1);
10549    }
10550    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10551    pub struct Nonsec22_SPEC;
10552    pub type Nonsec22 = crate::EnumBitfieldStruct<u8, Nonsec22_SPEC>;
10553    impl Nonsec22 {
10554        #[doc = "Secure"]
10555        pub const _0: Self = Self::new(0);
10556
10557        #[doc = "Non-secure"]
10558        pub const _1: Self = Self::new(1);
10559    }
10560    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10561    pub struct Nonsec24_SPEC;
10562    pub type Nonsec24 = crate::EnumBitfieldStruct<u8, Nonsec24_SPEC>;
10563    impl Nonsec24 {
10564        #[doc = "Secure"]
10565        pub const _0: Self = Self::new(0);
10566
10567        #[doc = "Non-secure"]
10568        pub const _1: Self = Self::new(1);
10569    }
10570    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10571    pub struct Nonsec25_SPEC;
10572    pub type Nonsec25 = crate::EnumBitfieldStruct<u8, Nonsec25_SPEC>;
10573    impl Nonsec25 {
10574        #[doc = "Secure"]
10575        pub const _0: Self = Self::new(0);
10576
10577        #[doc = "Non-secure"]
10578        pub const _1: Self = Self::new(1);
10579    }
10580    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10581    pub struct Nonsec26_SPEC;
10582    pub type Nonsec26 = crate::EnumBitfieldStruct<u8, Nonsec26_SPEC>;
10583    impl Nonsec26 {
10584        #[doc = "Secure"]
10585        pub const _0: Self = Self::new(0);
10586
10587        #[doc = "Non-secure"]
10588        pub const _1: Self = Self::new(1);
10589    }
10590}
10591#[doc(hidden)]
10592#[derive(Copy, Clone, Eq, PartialEq)]
10593pub struct Rstsar_SPEC;
10594impl crate::sealed::RegSpec for Rstsar_SPEC {
10595    type DataType = u32;
10596}
10597
10598#[doc = "Reset Security Attribution Register"]
10599pub type Rstsar = crate::RegValueT<Rstsar_SPEC>;
10600
10601impl Rstsar {
10602    #[doc = "Non-secure Attribute bit 0"]
10603    #[inline(always)]
10604    pub fn nonsec0(
10605        self,
10606    ) -> crate::common::RegisterField<
10607        0,
10608        0x1,
10609        1,
10610        0,
10611        rstsar::Nonsec0,
10612        rstsar::Nonsec0,
10613        Rstsar_SPEC,
10614        crate::common::RW,
10615    > {
10616        crate::common::RegisterField::<
10617            0,
10618            0x1,
10619            1,
10620            0,
10621            rstsar::Nonsec0,
10622            rstsar::Nonsec0,
10623            Rstsar_SPEC,
10624            crate::common::RW,
10625        >::from_register(self, 0)
10626    }
10627
10628    #[doc = "Non-secure Attribute bit 1"]
10629    #[inline(always)]
10630    pub fn nonsec1(
10631        self,
10632    ) -> crate::common::RegisterField<
10633        1,
10634        0x1,
10635        1,
10636        0,
10637        rstsar::Nonsec1,
10638        rstsar::Nonsec1,
10639        Rstsar_SPEC,
10640        crate::common::RW,
10641    > {
10642        crate::common::RegisterField::<
10643            1,
10644            0x1,
10645            1,
10646            0,
10647            rstsar::Nonsec1,
10648            rstsar::Nonsec1,
10649            Rstsar_SPEC,
10650            crate::common::RW,
10651        >::from_register(self, 0)
10652    }
10653
10654    #[doc = "Non-secure Attribute bit 2"]
10655    #[inline(always)]
10656    pub fn nonsec2(
10657        self,
10658    ) -> crate::common::RegisterField<
10659        2,
10660        0x1,
10661        1,
10662        0,
10663        rstsar::Nonsec2,
10664        rstsar::Nonsec2,
10665        Rstsar_SPEC,
10666        crate::common::RW,
10667    > {
10668        crate::common::RegisterField::<
10669            2,
10670            0x1,
10671            1,
10672            0,
10673            rstsar::Nonsec2,
10674            rstsar::Nonsec2,
10675            Rstsar_SPEC,
10676            crate::common::RW,
10677        >::from_register(self, 0)
10678    }
10679
10680    #[doc = "Non-secure Attribute bit 3"]
10681    #[inline(always)]
10682    pub fn nonsec3(
10683        self,
10684    ) -> crate::common::RegisterField<
10685        3,
10686        0x1,
10687        1,
10688        0,
10689        rstsar::Nonsec3,
10690        rstsar::Nonsec3,
10691        Rstsar_SPEC,
10692        crate::common::RW,
10693    > {
10694        crate::common::RegisterField::<
10695            3,
10696            0x1,
10697            1,
10698            0,
10699            rstsar::Nonsec3,
10700            rstsar::Nonsec3,
10701            Rstsar_SPEC,
10702            crate::common::RW,
10703        >::from_register(self, 0)
10704    }
10705
10706    #[doc = "These bits are read as 0000000000000000000000000000. The write value should be 0000000000000000000000000000."]
10707    #[inline(always)]
10708    pub fn reserved(
10709        self,
10710    ) -> crate::common::RegisterField<4, 0xfffffff, 1, 0, u32, u32, Rstsar_SPEC, crate::common::RW>
10711    {
10712        crate::common::RegisterField::<4,0xfffffff,1,0,u32,u32,Rstsar_SPEC,crate::common::RW>::from_register(self,0)
10713    }
10714}
10715impl ::core::default::Default for Rstsar {
10716    #[inline(always)]
10717    fn default() -> Rstsar {
10718        <crate::RegValueT<Rstsar_SPEC> as RegisterValue<_>>::new(0)
10719    }
10720}
10721pub mod rstsar {
10722
10723    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10724    pub struct Nonsec0_SPEC;
10725    pub type Nonsec0 = crate::EnumBitfieldStruct<u8, Nonsec0_SPEC>;
10726    impl Nonsec0 {
10727        #[doc = "Secure"]
10728        pub const _0: Self = Self::new(0);
10729
10730        #[doc = "Non-secure"]
10731        pub const _1: Self = Self::new(1);
10732    }
10733    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10734    pub struct Nonsec1_SPEC;
10735    pub type Nonsec1 = crate::EnumBitfieldStruct<u8, Nonsec1_SPEC>;
10736    impl Nonsec1 {
10737        #[doc = "Secure"]
10738        pub const _0: Self = Self::new(0);
10739
10740        #[doc = "Non-secure"]
10741        pub const _1: Self = Self::new(1);
10742    }
10743    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10744    pub struct Nonsec2_SPEC;
10745    pub type Nonsec2 = crate::EnumBitfieldStruct<u8, Nonsec2_SPEC>;
10746    impl Nonsec2 {
10747        #[doc = "Secure"]
10748        pub const _0: Self = Self::new(0);
10749
10750        #[doc = "Non-secure"]
10751        pub const _1: Self = Self::new(1);
10752    }
10753    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10754    pub struct Nonsec3_SPEC;
10755    pub type Nonsec3 = crate::EnumBitfieldStruct<u8, Nonsec3_SPEC>;
10756    impl Nonsec3 {
10757        #[doc = "Secure"]
10758        pub const _0: Self = Self::new(0);
10759
10760        #[doc = "Non-secure"]
10761        pub const _1: Self = Self::new(1);
10762    }
10763}
10764#[doc(hidden)]
10765#[derive(Copy, Clone, Eq, PartialEq)]
10766pub struct Lpmsar_SPEC;
10767impl crate::sealed::RegSpec for Lpmsar_SPEC {
10768    type DataType = u32;
10769}
10770
10771#[doc = "Low Power Mode Security Attribution Register"]
10772pub type Lpmsar = crate::RegValueT<Lpmsar_SPEC>;
10773
10774impl Lpmsar {
10775    #[doc = "Non-secure Attribute bit 00"]
10776    #[inline(always)]
10777    pub fn nonsec0(
10778        self,
10779    ) -> crate::common::RegisterField<
10780        0,
10781        0x1,
10782        1,
10783        0,
10784        lpmsar::Nonsec0,
10785        lpmsar::Nonsec0,
10786        Lpmsar_SPEC,
10787        crate::common::RW,
10788    > {
10789        crate::common::RegisterField::<
10790            0,
10791            0x1,
10792            1,
10793            0,
10794            lpmsar::Nonsec0,
10795            lpmsar::Nonsec0,
10796            Lpmsar_SPEC,
10797            crate::common::RW,
10798        >::from_register(self, 0)
10799    }
10800
10801    #[doc = "Non-secure Attribute bit 01"]
10802    #[inline(always)]
10803    pub fn nonsec1(
10804        self,
10805    ) -> crate::common::RegisterField<
10806        1,
10807        0x1,
10808        1,
10809        0,
10810        lpmsar::Nonsec1,
10811        lpmsar::Nonsec1,
10812        Lpmsar_SPEC,
10813        crate::common::RW,
10814    > {
10815        crate::common::RegisterField::<
10816            1,
10817            0x1,
10818            1,
10819            0,
10820            lpmsar::Nonsec1,
10821            lpmsar::Nonsec1,
10822            Lpmsar_SPEC,
10823            crate::common::RW,
10824        >::from_register(self, 0)
10825    }
10826
10827    #[doc = "Non-secure Attribute bit 02"]
10828    #[inline(always)]
10829    pub fn nonsec2(
10830        self,
10831    ) -> crate::common::RegisterField<
10832        2,
10833        0x1,
10834        1,
10835        0,
10836        lpmsar::Nonsec2,
10837        lpmsar::Nonsec2,
10838        Lpmsar_SPEC,
10839        crate::common::RW,
10840    > {
10841        crate::common::RegisterField::<
10842            2,
10843            0x1,
10844            1,
10845            0,
10846            lpmsar::Nonsec2,
10847            lpmsar::Nonsec2,
10848            Lpmsar_SPEC,
10849            crate::common::RW,
10850        >::from_register(self, 0)
10851    }
10852
10853    #[doc = "Non-secure Attribute bit 03"]
10854    #[inline(always)]
10855    pub fn nonsec3(
10856        self,
10857    ) -> crate::common::RegisterField<
10858        3,
10859        0x1,
10860        1,
10861        0,
10862        lpmsar::Nonsec3,
10863        lpmsar::Nonsec3,
10864        Lpmsar_SPEC,
10865        crate::common::RW,
10866    > {
10867        crate::common::RegisterField::<
10868            3,
10869            0x1,
10870            1,
10871            0,
10872            lpmsar::Nonsec3,
10873            lpmsar::Nonsec3,
10874            Lpmsar_SPEC,
10875            crate::common::RW,
10876        >::from_register(self, 0)
10877    }
10878
10879    #[doc = "Non-secure Attribute bit 08"]
10880    #[inline(always)]
10881    pub fn nonsec8(
10882        self,
10883    ) -> crate::common::RegisterField<
10884        8,
10885        0x1,
10886        1,
10887        0,
10888        lpmsar::Nonsec8,
10889        lpmsar::Nonsec8,
10890        Lpmsar_SPEC,
10891        crate::common::RW,
10892    > {
10893        crate::common::RegisterField::<
10894            8,
10895            0x1,
10896            1,
10897            0,
10898            lpmsar::Nonsec8,
10899            lpmsar::Nonsec8,
10900            Lpmsar_SPEC,
10901            crate::common::RW,
10902        >::from_register(self, 0)
10903    }
10904
10905    #[doc = "Non-secure Attribute bit 16"]
10906    #[inline(always)]
10907    pub fn nonsec16(
10908        self,
10909    ) -> crate::common::RegisterField<
10910        16,
10911        0x1,
10912        1,
10913        0,
10914        lpmsar::Nonsec16,
10915        lpmsar::Nonsec16,
10916        Lpmsar_SPEC,
10917        crate::common::RW,
10918    > {
10919        crate::common::RegisterField::<
10920            16,
10921            0x1,
10922            1,
10923            0,
10924            lpmsar::Nonsec16,
10925            lpmsar::Nonsec16,
10926            Lpmsar_SPEC,
10927            crate::common::RW,
10928        >::from_register(self, 0)
10929    }
10930
10931    #[doc = "Non-secure Attribute bit 17"]
10932    #[inline(always)]
10933    pub fn nonsec17(
10934        self,
10935    ) -> crate::common::RegisterField<
10936        17,
10937        0x1,
10938        1,
10939        0,
10940        lpmsar::Nonsec17,
10941        lpmsar::Nonsec17,
10942        Lpmsar_SPEC,
10943        crate::common::RW,
10944    > {
10945        crate::common::RegisterField::<
10946            17,
10947            0x1,
10948            1,
10949            0,
10950            lpmsar::Nonsec17,
10951            lpmsar::Nonsec17,
10952            Lpmsar_SPEC,
10953            crate::common::RW,
10954        >::from_register(self, 0)
10955    }
10956
10957    #[doc = "Non-secure Attribute bit 18"]
10958    #[inline(always)]
10959    pub fn nonsec18(
10960        self,
10961    ) -> crate::common::RegisterField<
10962        18,
10963        0x1,
10964        1,
10965        0,
10966        lpmsar::Nonsec18,
10967        lpmsar::Nonsec18,
10968        Lpmsar_SPEC,
10969        crate::common::RW,
10970    > {
10971        crate::common::RegisterField::<
10972            18,
10973            0x1,
10974            1,
10975            0,
10976            lpmsar::Nonsec18,
10977            lpmsar::Nonsec18,
10978            Lpmsar_SPEC,
10979            crate::common::RW,
10980        >::from_register(self, 0)
10981    }
10982
10983    #[doc = "Non-secure Attribute bit 19"]
10984    #[inline(always)]
10985    pub fn nonsec19(
10986        self,
10987    ) -> crate::common::RegisterField<
10988        19,
10989        0x1,
10990        1,
10991        0,
10992        lpmsar::Nonsec19,
10993        lpmsar::Nonsec19,
10994        Lpmsar_SPEC,
10995        crate::common::RW,
10996    > {
10997        crate::common::RegisterField::<
10998            19,
10999            0x1,
11000            1,
11001            0,
11002            lpmsar::Nonsec19,
11003            lpmsar::Nonsec19,
11004            Lpmsar_SPEC,
11005            crate::common::RW,
11006        >::from_register(self, 0)
11007    }
11008
11009    #[doc = "Non-secure Attribute bit 21"]
11010    #[inline(always)]
11011    pub fn nonsec21(
11012        self,
11013    ) -> crate::common::RegisterField<
11014        21,
11015        0x1,
11016        1,
11017        0,
11018        lpmsar::Nonsec21,
11019        lpmsar::Nonsec21,
11020        Lpmsar_SPEC,
11021        crate::common::RW,
11022    > {
11023        crate::common::RegisterField::<
11024            21,
11025            0x1,
11026            1,
11027            0,
11028            lpmsar::Nonsec21,
11029            lpmsar::Nonsec21,
11030            Lpmsar_SPEC,
11031            crate::common::RW,
11032        >::from_register(self, 0)
11033    }
11034
11035    #[doc = "These bits are read as 0000000000. The write value should be 0000000000."]
11036    #[inline(always)]
11037    pub fn reserved(
11038        self,
11039    ) -> crate::common::RegisterField<22, 0x3ff, 1, 0, u16, u16, Lpmsar_SPEC, crate::common::RW>
11040    {
11041        crate::common::RegisterField::<22,0x3ff,1,0,u16,u16,Lpmsar_SPEC,crate::common::RW>::from_register(self,0)
11042    }
11043}
11044impl ::core::default::Default for Lpmsar {
11045    #[inline(always)]
11046    fn default() -> Lpmsar {
11047        <crate::RegValueT<Lpmsar_SPEC> as RegisterValue<_>>::new(0)
11048    }
11049}
11050pub mod lpmsar {
11051
11052    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11053    pub struct Nonsec0_SPEC;
11054    pub type Nonsec0 = crate::EnumBitfieldStruct<u8, Nonsec0_SPEC>;
11055    impl Nonsec0 {
11056        #[doc = "Secure"]
11057        pub const _0: Self = Self::new(0);
11058
11059        #[doc = "Non-secure"]
11060        pub const _1: Self = Self::new(1);
11061    }
11062    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11063    pub struct Nonsec1_SPEC;
11064    pub type Nonsec1 = crate::EnumBitfieldStruct<u8, Nonsec1_SPEC>;
11065    impl Nonsec1 {
11066        #[doc = "Secure"]
11067        pub const _0: Self = Self::new(0);
11068
11069        #[doc = "Non-secure"]
11070        pub const _1: Self = Self::new(1);
11071    }
11072    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11073    pub struct Nonsec2_SPEC;
11074    pub type Nonsec2 = crate::EnumBitfieldStruct<u8, Nonsec2_SPEC>;
11075    impl Nonsec2 {
11076        #[doc = "Secure"]
11077        pub const _0: Self = Self::new(0);
11078
11079        #[doc = "Non-secure"]
11080        pub const _1: Self = Self::new(1);
11081    }
11082    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11083    pub struct Nonsec3_SPEC;
11084    pub type Nonsec3 = crate::EnumBitfieldStruct<u8, Nonsec3_SPEC>;
11085    impl Nonsec3 {
11086        #[doc = "Secure"]
11087        pub const _0: Self = Self::new(0);
11088
11089        #[doc = "Non-secure"]
11090        pub const _1: Self = Self::new(1);
11091    }
11092    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11093    pub struct Nonsec8_SPEC;
11094    pub type Nonsec8 = crate::EnumBitfieldStruct<u8, Nonsec8_SPEC>;
11095    impl Nonsec8 {
11096        #[doc = "Secure"]
11097        pub const _0: Self = Self::new(0);
11098
11099        #[doc = "Non-secure"]
11100        pub const _1: Self = Self::new(1);
11101    }
11102    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11103    pub struct Nonsec16_SPEC;
11104    pub type Nonsec16 = crate::EnumBitfieldStruct<u8, Nonsec16_SPEC>;
11105    impl Nonsec16 {
11106        #[doc = "Secure"]
11107        pub const _0: Self = Self::new(0);
11108
11109        #[doc = "Non-secure"]
11110        pub const _1: Self = Self::new(1);
11111    }
11112    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11113    pub struct Nonsec17_SPEC;
11114    pub type Nonsec17 = crate::EnumBitfieldStruct<u8, Nonsec17_SPEC>;
11115    impl Nonsec17 {
11116        #[doc = "Secure"]
11117        pub const _0: Self = Self::new(0);
11118
11119        #[doc = "Non-secure"]
11120        pub const _1: Self = Self::new(1);
11121    }
11122    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11123    pub struct Nonsec18_SPEC;
11124    pub type Nonsec18 = crate::EnumBitfieldStruct<u8, Nonsec18_SPEC>;
11125    impl Nonsec18 {
11126        #[doc = "Secure"]
11127        pub const _0: Self = Self::new(0);
11128
11129        #[doc = "Non-secure"]
11130        pub const _1: Self = Self::new(1);
11131    }
11132    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11133    pub struct Nonsec19_SPEC;
11134    pub type Nonsec19 = crate::EnumBitfieldStruct<u8, Nonsec19_SPEC>;
11135    impl Nonsec19 {
11136        #[doc = "Secure"]
11137        pub const _0: Self = Self::new(0);
11138
11139        #[doc = "Non-secure"]
11140        pub const _1: Self = Self::new(1);
11141    }
11142    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11143    pub struct Nonsec21_SPEC;
11144    pub type Nonsec21 = crate::EnumBitfieldStruct<u8, Nonsec21_SPEC>;
11145    impl Nonsec21 {
11146        #[doc = "Secure"]
11147        pub const _0: Self = Self::new(0);
11148
11149        #[doc = "Non-secure"]
11150        pub const _1: Self = Self::new(1);
11151    }
11152}
11153#[doc(hidden)]
11154#[derive(Copy, Clone, Eq, PartialEq)]
11155pub struct Pvdsar_SPEC;
11156impl crate::sealed::RegSpec for Pvdsar_SPEC {
11157    type DataType = u32;
11158}
11159
11160#[doc = "Programable Voltage Detection Security Attribution Register"]
11161pub type Pvdsar = crate::RegValueT<Pvdsar_SPEC>;
11162
11163impl Pvdsar {
11164    #[doc = "Non-secure Attribute bit 0"]
11165    #[inline(always)]
11166    pub fn nonsec0(
11167        self,
11168    ) -> crate::common::RegisterField<
11169        0,
11170        0x1,
11171        1,
11172        0,
11173        pvdsar::Nonsec0,
11174        pvdsar::Nonsec0,
11175        Pvdsar_SPEC,
11176        crate::common::RW,
11177    > {
11178        crate::common::RegisterField::<
11179            0,
11180            0x1,
11181            1,
11182            0,
11183            pvdsar::Nonsec0,
11184            pvdsar::Nonsec0,
11185            Pvdsar_SPEC,
11186            crate::common::RW,
11187        >::from_register(self, 0)
11188    }
11189
11190    #[doc = "Non-secure Attribute bit 1"]
11191    #[inline(always)]
11192    pub fn nonsec1(
11193        self,
11194    ) -> crate::common::RegisterField<
11195        1,
11196        0x1,
11197        1,
11198        0,
11199        pvdsar::Nonsec1,
11200        pvdsar::Nonsec1,
11201        Pvdsar_SPEC,
11202        crate::common::RW,
11203    > {
11204        crate::common::RegisterField::<
11205            1,
11206            0x1,
11207            1,
11208            0,
11209            pvdsar::Nonsec1,
11210            pvdsar::Nonsec1,
11211            Pvdsar_SPEC,
11212            crate::common::RW,
11213        >::from_register(self, 0)
11214    }
11215
11216    #[doc = "These bits are read as 000000000000000000000000000000. The write value should be 000000000000000000000000000000."]
11217    #[inline(always)]
11218    pub fn reserved(
11219        self,
11220    ) -> crate::common::RegisterField<2, 0x3fffffff, 1, 0, u32, u32, Pvdsar_SPEC, crate::common::RW>
11221    {
11222        crate::common::RegisterField::<2,0x3fffffff,1,0,u32,u32,Pvdsar_SPEC,crate::common::RW>::from_register(self,0)
11223    }
11224}
11225impl ::core::default::Default for Pvdsar {
11226    #[inline(always)]
11227    fn default() -> Pvdsar {
11228        <crate::RegValueT<Pvdsar_SPEC> as RegisterValue<_>>::new(0)
11229    }
11230}
11231pub mod pvdsar {
11232
11233    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11234    pub struct Nonsec0_SPEC;
11235    pub type Nonsec0 = crate::EnumBitfieldStruct<u8, Nonsec0_SPEC>;
11236    impl Nonsec0 {
11237        #[doc = "Secure"]
11238        pub const _0: Self = Self::new(0);
11239
11240        #[doc = "Non-secure"]
11241        pub const _1: Self = Self::new(1);
11242    }
11243    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11244    pub struct Nonsec1_SPEC;
11245    pub type Nonsec1 = crate::EnumBitfieldStruct<u8, Nonsec1_SPEC>;
11246    impl Nonsec1 {
11247        #[doc = "Secure"]
11248        pub const _0: Self = Self::new(0);
11249
11250        #[doc = "Non-secure"]
11251        pub const _1: Self = Self::new(1);
11252    }
11253}
11254#[doc(hidden)]
11255#[derive(Copy, Clone, Eq, PartialEq)]
11256pub struct Bbfsar_SPEC;
11257impl crate::sealed::RegSpec for Bbfsar_SPEC {
11258    type DataType = u32;
11259}
11260
11261#[doc = "Battery Backup Function Security Attribute Register"]
11262pub type Bbfsar = crate::RegValueT<Bbfsar_SPEC>;
11263
11264impl Bbfsar {
11265    #[doc = "Non-secure Attribute bit 0"]
11266    #[inline(always)]
11267    pub fn nonsec0(
11268        self,
11269    ) -> crate::common::RegisterField<
11270        0,
11271        0x1,
11272        1,
11273        0,
11274        bbfsar::Nonsec0,
11275        bbfsar::Nonsec0,
11276        Bbfsar_SPEC,
11277        crate::common::RW,
11278    > {
11279        crate::common::RegisterField::<
11280            0,
11281            0x1,
11282            1,
11283            0,
11284            bbfsar::Nonsec0,
11285            bbfsar::Nonsec0,
11286            Bbfsar_SPEC,
11287            crate::common::RW,
11288        >::from_register(self, 0)
11289    }
11290
11291    #[doc = "Non-secure Attribute bit 1"]
11292    #[inline(always)]
11293    pub fn nonsec1(
11294        self,
11295    ) -> crate::common::RegisterField<
11296        1,
11297        0x1,
11298        1,
11299        0,
11300        bbfsar::Nonsec1,
11301        bbfsar::Nonsec1,
11302        Bbfsar_SPEC,
11303        crate::common::RW,
11304    > {
11305        crate::common::RegisterField::<
11306            1,
11307            0x1,
11308            1,
11309            0,
11310            bbfsar::Nonsec1,
11311            bbfsar::Nonsec1,
11312            Bbfsar_SPEC,
11313            crate::common::RW,
11314        >::from_register(self, 0)
11315    }
11316
11317    #[doc = "Non-secure Attribute bit 2"]
11318    #[inline(always)]
11319    pub fn nonsec2(
11320        self,
11321    ) -> crate::common::RegisterField<
11322        2,
11323        0x1,
11324        1,
11325        0,
11326        bbfsar::Nonsec2,
11327        bbfsar::Nonsec2,
11328        Bbfsar_SPEC,
11329        crate::common::RW,
11330    > {
11331        crate::common::RegisterField::<
11332            2,
11333            0x1,
11334            1,
11335            0,
11336            bbfsar::Nonsec2,
11337            bbfsar::Nonsec2,
11338            Bbfsar_SPEC,
11339            crate::common::RW,
11340        >::from_register(self, 0)
11341    }
11342
11343    #[doc = "Non-secure Attribute bit 3"]
11344    #[inline(always)]
11345    pub fn nonsec3(
11346        self,
11347    ) -> crate::common::RegisterField<
11348        3,
11349        0x1,
11350        1,
11351        0,
11352        bbfsar::Nonsec3,
11353        bbfsar::Nonsec3,
11354        Bbfsar_SPEC,
11355        crate::common::RW,
11356    > {
11357        crate::common::RegisterField::<
11358            3,
11359            0x1,
11360            1,
11361            0,
11362            bbfsar::Nonsec3,
11363            bbfsar::Nonsec3,
11364            Bbfsar_SPEC,
11365            crate::common::RW,
11366        >::from_register(self, 0)
11367    }
11368
11369    #[doc = "Non-secure Attribute bit 4"]
11370    #[inline(always)]
11371    pub fn nonsec4(
11372        self,
11373    ) -> crate::common::RegisterField<
11374        4,
11375        0x1,
11376        1,
11377        0,
11378        bbfsar::Nonsec4,
11379        bbfsar::Nonsec4,
11380        Bbfsar_SPEC,
11381        crate::common::RW,
11382    > {
11383        crate::common::RegisterField::<
11384            4,
11385            0x1,
11386            1,
11387            0,
11388            bbfsar::Nonsec4,
11389            bbfsar::Nonsec4,
11390            Bbfsar_SPEC,
11391            crate::common::RW,
11392        >::from_register(self, 0)
11393    }
11394
11395    #[doc = "These bits are read as 000000000000000000000000000. The write value should be 000000000000000000000000000."]
11396    #[inline(always)]
11397    pub fn reserved(
11398        self,
11399    ) -> crate::common::RegisterField<5, 0x7ffffff, 1, 0, u32, u32, Bbfsar_SPEC, crate::common::RW>
11400    {
11401        crate::common::RegisterField::<5,0x7ffffff,1,0,u32,u32,Bbfsar_SPEC,crate::common::RW>::from_register(self,0)
11402    }
11403}
11404impl ::core::default::Default for Bbfsar {
11405    #[inline(always)]
11406    fn default() -> Bbfsar {
11407        <crate::RegValueT<Bbfsar_SPEC> as RegisterValue<_>>::new(0)
11408    }
11409}
11410pub mod bbfsar {
11411
11412    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11413    pub struct Nonsec0_SPEC;
11414    pub type Nonsec0 = crate::EnumBitfieldStruct<u8, Nonsec0_SPEC>;
11415    impl Nonsec0 {
11416        #[doc = "Secure"]
11417        pub const _0: Self = Self::new(0);
11418
11419        #[doc = "Non-secure"]
11420        pub const _1: Self = Self::new(1);
11421    }
11422    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11423    pub struct Nonsec1_SPEC;
11424    pub type Nonsec1 = crate::EnumBitfieldStruct<u8, Nonsec1_SPEC>;
11425    impl Nonsec1 {
11426        #[doc = "Secure"]
11427        pub const _0: Self = Self::new(0);
11428
11429        #[doc = "Non-secure"]
11430        pub const _1: Self = Self::new(1);
11431    }
11432    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11433    pub struct Nonsec2_SPEC;
11434    pub type Nonsec2 = crate::EnumBitfieldStruct<u8, Nonsec2_SPEC>;
11435    impl Nonsec2 {
11436        #[doc = "Secure"]
11437        pub const _0: Self = Self::new(0);
11438
11439        #[doc = "Non-secure"]
11440        pub const _1: Self = Self::new(1);
11441    }
11442    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11443    pub struct Nonsec3_SPEC;
11444    pub type Nonsec3 = crate::EnumBitfieldStruct<u8, Nonsec3_SPEC>;
11445    impl Nonsec3 {
11446        #[doc = "Secure"]
11447        pub const _0: Self = Self::new(0);
11448
11449        #[doc = "Non-secure"]
11450        pub const _1: Self = Self::new(1);
11451    }
11452    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11453    pub struct Nonsec4_SPEC;
11454    pub type Nonsec4 = crate::EnumBitfieldStruct<u8, Nonsec4_SPEC>;
11455    impl Nonsec4 {
11456        #[doc = "Secure"]
11457        pub const _0: Self = Self::new(0);
11458
11459        #[doc = "Non-secure"]
11460        pub const _1: Self = Self::new(1);
11461    }
11462}
11463#[doc(hidden)]
11464#[derive(Copy, Clone, Eq, PartialEq)]
11465pub struct Pgcsar_SPEC;
11466impl crate::sealed::RegSpec for Pgcsar_SPEC {
11467    type DataType = u32;
11468}
11469
11470#[doc = "Power Gating Control Security Attribution Register"]
11471pub type Pgcsar = crate::RegValueT<Pgcsar_SPEC>;
11472
11473impl Pgcsar {
11474    #[doc = "Non-secure Attribute bit 01"]
11475    #[inline(always)]
11476    pub fn nonsec1(
11477        self,
11478    ) -> crate::common::RegisterField<
11479        1,
11480        0x1,
11481        1,
11482        0,
11483        pgcsar::Nonsec1,
11484        pgcsar::Nonsec1,
11485        Pgcsar_SPEC,
11486        crate::common::RW,
11487    > {
11488        crate::common::RegisterField::<
11489            1,
11490            0x1,
11491            1,
11492            0,
11493            pgcsar::Nonsec1,
11494            pgcsar::Nonsec1,
11495            Pgcsar_SPEC,
11496            crate::common::RW,
11497        >::from_register(self, 0)
11498    }
11499
11500    #[doc = "Non-secure Attribute bit 02"]
11501    #[inline(always)]
11502    pub fn nonsec2(
11503        self,
11504    ) -> crate::common::RegisterField<
11505        2,
11506        0x1,
11507        1,
11508        0,
11509        pgcsar::Nonsec2,
11510        pgcsar::Nonsec2,
11511        Pgcsar_SPEC,
11512        crate::common::RW,
11513    > {
11514        crate::common::RegisterField::<
11515            2,
11516            0x1,
11517            1,
11518            0,
11519            pgcsar::Nonsec2,
11520            pgcsar::Nonsec2,
11521            Pgcsar_SPEC,
11522            crate::common::RW,
11523        >::from_register(self, 0)
11524    }
11525
11526    #[doc = "These bits are read as 0000000000000000. The write value should be 0000000000000000."]
11527    #[inline(always)]
11528    pub fn reserved(
11529        self,
11530    ) -> crate::common::RegisterField<16, 0xffff, 1, 0, u16, u16, Pgcsar_SPEC, crate::common::RW>
11531    {
11532        crate::common::RegisterField::<16,0xffff,1,0,u16,u16,Pgcsar_SPEC,crate::common::RW>::from_register(self,0)
11533    }
11534}
11535impl ::core::default::Default for Pgcsar {
11536    #[inline(always)]
11537    fn default() -> Pgcsar {
11538        <crate::RegValueT<Pgcsar_SPEC> as RegisterValue<_>>::new(0)
11539    }
11540}
11541pub mod pgcsar {
11542
11543    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11544    pub struct Nonsec1_SPEC;
11545    pub type Nonsec1 = crate::EnumBitfieldStruct<u8, Nonsec1_SPEC>;
11546    impl Nonsec1 {
11547        #[doc = "Secure"]
11548        pub const _0: Self = Self::new(0);
11549
11550        #[doc = "Non-secure"]
11551        pub const _1: Self = Self::new(1);
11552    }
11553    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11554    pub struct Nonsec2_SPEC;
11555    pub type Nonsec2 = crate::EnumBitfieldStruct<u8, Nonsec2_SPEC>;
11556    impl Nonsec2 {
11557        #[doc = "Secure"]
11558        pub const _0: Self = Self::new(0);
11559
11560        #[doc = "Non-secure"]
11561        pub const _1: Self = Self::new(1);
11562    }
11563}
11564#[doc(hidden)]
11565#[derive(Copy, Clone, Eq, PartialEq)]
11566pub struct Dpfsar_SPEC;
11567impl crate::sealed::RegSpec for Dpfsar_SPEC {
11568    type DataType = u32;
11569}
11570
11571#[doc = "Deep Standby Interrupt Factor Security Attribution Register"]
11572pub type Dpfsar = crate::RegValueT<Dpfsar_SPEC>;
11573
11574impl Dpfsar {
11575    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 16"]
11576    #[inline(always)]
11577    pub fn dpfsa16(
11578        self,
11579    ) -> crate::common::RegisterField<
11580        16,
11581        0x1,
11582        1,
11583        0,
11584        dpfsar::Dpfsa16,
11585        dpfsar::Dpfsa16,
11586        Dpfsar_SPEC,
11587        crate::common::RW,
11588    > {
11589        crate::common::RegisterField::<
11590            16,
11591            0x1,
11592            1,
11593            0,
11594            dpfsar::Dpfsa16,
11595            dpfsar::Dpfsa16,
11596            Dpfsar_SPEC,
11597            crate::common::RW,
11598        >::from_register(self, 0)
11599    }
11600
11601    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 17"]
11602    #[inline(always)]
11603    pub fn dpfsa17(
11604        self,
11605    ) -> crate::common::RegisterField<
11606        17,
11607        0x1,
11608        1,
11609        0,
11610        dpfsar::Dpfsa17,
11611        dpfsar::Dpfsa17,
11612        Dpfsar_SPEC,
11613        crate::common::RW,
11614    > {
11615        crate::common::RegisterField::<
11616            17,
11617            0x1,
11618            1,
11619            0,
11620            dpfsar::Dpfsa17,
11621            dpfsar::Dpfsa17,
11622            Dpfsar_SPEC,
11623            crate::common::RW,
11624        >::from_register(self, 0)
11625    }
11626
11627    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 18"]
11628    #[inline(always)]
11629    pub fn dpfsa18(
11630        self,
11631    ) -> crate::common::RegisterField<
11632        18,
11633        0x1,
11634        1,
11635        0,
11636        dpfsar::Dpfsa18,
11637        dpfsar::Dpfsa18,
11638        Dpfsar_SPEC,
11639        crate::common::RW,
11640    > {
11641        crate::common::RegisterField::<
11642            18,
11643            0x1,
11644            1,
11645            0,
11646            dpfsar::Dpfsa18,
11647            dpfsar::Dpfsa18,
11648            Dpfsar_SPEC,
11649            crate::common::RW,
11650        >::from_register(self, 0)
11651    }
11652
11653    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 19"]
11654    #[inline(always)]
11655    pub fn dpfsa19(
11656        self,
11657    ) -> crate::common::RegisterField<
11658        19,
11659        0x1,
11660        1,
11661        0,
11662        dpfsar::Dpfsa19,
11663        dpfsar::Dpfsa19,
11664        Dpfsar_SPEC,
11665        crate::common::RW,
11666    > {
11667        crate::common::RegisterField::<
11668            19,
11669            0x1,
11670            1,
11671            0,
11672            dpfsar::Dpfsa19,
11673            dpfsar::Dpfsa19,
11674            Dpfsar_SPEC,
11675            crate::common::RW,
11676        >::from_register(self, 0)
11677    }
11678
11679    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 20"]
11680    #[inline(always)]
11681    pub fn dpfsa20(
11682        self,
11683    ) -> crate::common::RegisterField<
11684        20,
11685        0x1,
11686        1,
11687        0,
11688        dpfsar::Dpfsa20,
11689        dpfsar::Dpfsa20,
11690        Dpfsar_SPEC,
11691        crate::common::RW,
11692    > {
11693        crate::common::RegisterField::<
11694            20,
11695            0x1,
11696            1,
11697            0,
11698            dpfsar::Dpfsa20,
11699            dpfsar::Dpfsa20,
11700            Dpfsar_SPEC,
11701            crate::common::RW,
11702        >::from_register(self, 0)
11703    }
11704
11705    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 24"]
11706    #[inline(always)]
11707    pub fn dpfsa24(
11708        self,
11709    ) -> crate::common::RegisterField<
11710        24,
11711        0x1,
11712        1,
11713        0,
11714        dpfsar::Dpfsa24,
11715        dpfsar::Dpfsa24,
11716        Dpfsar_SPEC,
11717        crate::common::RW,
11718    > {
11719        crate::common::RegisterField::<
11720            24,
11721            0x1,
11722            1,
11723            0,
11724            dpfsar::Dpfsa24,
11725            dpfsar::Dpfsa24,
11726            Dpfsar_SPEC,
11727            crate::common::RW,
11728        >::from_register(self, 0)
11729    }
11730
11731    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 25"]
11732    #[inline(always)]
11733    pub fn dpfsa25(
11734        self,
11735    ) -> crate::common::RegisterField<
11736        25,
11737        0x1,
11738        1,
11739        0,
11740        dpfsar::Dpfsa25,
11741        dpfsar::Dpfsa25,
11742        Dpfsar_SPEC,
11743        crate::common::RW,
11744    > {
11745        crate::common::RegisterField::<
11746            25,
11747            0x1,
11748            1,
11749            0,
11750            dpfsar::Dpfsa25,
11751            dpfsar::Dpfsa25,
11752            Dpfsar_SPEC,
11753            crate::common::RW,
11754        >::from_register(self, 0)
11755    }
11756
11757    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 26"]
11758    #[inline(always)]
11759    pub fn dpfsa26(
11760        self,
11761    ) -> crate::common::RegisterField<
11762        26,
11763        0x1,
11764        1,
11765        0,
11766        dpfsar::Dpfsa26,
11767        dpfsar::Dpfsa26,
11768        Dpfsar_SPEC,
11769        crate::common::RW,
11770    > {
11771        crate::common::RegisterField::<
11772            26,
11773            0x1,
11774            1,
11775            0,
11776            dpfsar::Dpfsa26,
11777            dpfsar::Dpfsa26,
11778            Dpfsar_SPEC,
11779            crate::common::RW,
11780        >::from_register(self, 0)
11781    }
11782
11783    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 27"]
11784    #[inline(always)]
11785    pub fn dpfsa27(
11786        self,
11787    ) -> crate::common::RegisterField<
11788        27,
11789        0x1,
11790        1,
11791        0,
11792        dpfsar::Dpfsa27,
11793        dpfsar::Dpfsa27,
11794        Dpfsar_SPEC,
11795        crate::common::RW,
11796    > {
11797        crate::common::RegisterField::<
11798            27,
11799            0x1,
11800            1,
11801            0,
11802            dpfsar::Dpfsa27,
11803            dpfsar::Dpfsa27,
11804            Dpfsar_SPEC,
11805            crate::common::RW,
11806        >::from_register(self, 0)
11807    }
11808
11809    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 29"]
11810    #[inline(always)]
11811    pub fn dpfsa29(
11812        self,
11813    ) -> crate::common::RegisterField<
11814        29,
11815        0x1,
11816        1,
11817        0,
11818        dpfsar::Dpfsa29,
11819        dpfsar::Dpfsa29,
11820        Dpfsar_SPEC,
11821        crate::common::RW,
11822    > {
11823        crate::common::RegisterField::<
11824            29,
11825            0x1,
11826            1,
11827            0,
11828            dpfsar::Dpfsa29,
11829            dpfsar::Dpfsa29,
11830            Dpfsar_SPEC,
11831            crate::common::RW,
11832        >::from_register(self, 0)
11833    }
11834
11835    #[doc = "This bit is read as 0. The write value should be 0."]
11836    #[inline(always)]
11837    pub fn reserved(
11838        self,
11839    ) -> crate::common::RegisterFieldBool<30, 1, 0, Dpfsar_SPEC, crate::common::RW> {
11840        crate::common::RegisterFieldBool::<30, 1, 0, Dpfsar_SPEC, crate::common::RW>::from_register(
11841            self, 0,
11842        )
11843    }
11844
11845    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 31"]
11846    #[inline(always)]
11847    pub fn dpfsa31(
11848        self,
11849    ) -> crate::common::RegisterField<
11850        31,
11851        0x1,
11852        1,
11853        0,
11854        dpfsar::Dpfsa31,
11855        dpfsar::Dpfsa31,
11856        Dpfsar_SPEC,
11857        crate::common::RW,
11858    > {
11859        crate::common::RegisterField::<
11860            31,
11861            0x1,
11862            1,
11863            0,
11864            dpfsar::Dpfsa31,
11865            dpfsar::Dpfsa31,
11866            Dpfsar_SPEC,
11867            crate::common::RW,
11868        >::from_register(self, 0)
11869    }
11870}
11871impl ::core::default::Default for Dpfsar {
11872    #[inline(always)]
11873    fn default() -> Dpfsar {
11874        <crate::RegValueT<Dpfsar_SPEC> as RegisterValue<_>>::new(0)
11875    }
11876}
11877pub mod dpfsar {
11878
11879    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11880    pub struct Dpfsa16_SPEC;
11881    pub type Dpfsa16 = crate::EnumBitfieldStruct<u8, Dpfsa16_SPEC>;
11882    impl Dpfsa16 {
11883        #[doc = "Secure"]
11884        pub const _0: Self = Self::new(0);
11885
11886        #[doc = "Non-secure"]
11887        pub const _1: Self = Self::new(1);
11888    }
11889    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11890    pub struct Dpfsa17_SPEC;
11891    pub type Dpfsa17 = crate::EnumBitfieldStruct<u8, Dpfsa17_SPEC>;
11892    impl Dpfsa17 {
11893        #[doc = "Secure"]
11894        pub const _0: Self = Self::new(0);
11895
11896        #[doc = "Non-secure"]
11897        pub const _1: Self = Self::new(1);
11898    }
11899    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11900    pub struct Dpfsa18_SPEC;
11901    pub type Dpfsa18 = crate::EnumBitfieldStruct<u8, Dpfsa18_SPEC>;
11902    impl Dpfsa18 {
11903        #[doc = "Secure"]
11904        pub const _0: Self = Self::new(0);
11905
11906        #[doc = "Non-secure"]
11907        pub const _1: Self = Self::new(1);
11908    }
11909    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11910    pub struct Dpfsa19_SPEC;
11911    pub type Dpfsa19 = crate::EnumBitfieldStruct<u8, Dpfsa19_SPEC>;
11912    impl Dpfsa19 {
11913        #[doc = "Secure"]
11914        pub const _0: Self = Self::new(0);
11915
11916        #[doc = "Non-secure"]
11917        pub const _1: Self = Self::new(1);
11918    }
11919    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11920    pub struct Dpfsa20_SPEC;
11921    pub type Dpfsa20 = crate::EnumBitfieldStruct<u8, Dpfsa20_SPEC>;
11922    impl Dpfsa20 {
11923        #[doc = "Secure"]
11924        pub const _0: Self = Self::new(0);
11925
11926        #[doc = "Non-secure"]
11927        pub const _1: Self = Self::new(1);
11928    }
11929    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11930    pub struct Dpfsa24_SPEC;
11931    pub type Dpfsa24 = crate::EnumBitfieldStruct<u8, Dpfsa24_SPEC>;
11932    impl Dpfsa24 {
11933        #[doc = "Secure"]
11934        pub const _0: Self = Self::new(0);
11935
11936        #[doc = "Non-secure"]
11937        pub const _1: Self = Self::new(1);
11938    }
11939    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11940    pub struct Dpfsa25_SPEC;
11941    pub type Dpfsa25 = crate::EnumBitfieldStruct<u8, Dpfsa25_SPEC>;
11942    impl Dpfsa25 {
11943        #[doc = "Secure"]
11944        pub const _0: Self = Self::new(0);
11945
11946        #[doc = "Non-secure"]
11947        pub const _1: Self = Self::new(1);
11948    }
11949    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11950    pub struct Dpfsa26_SPEC;
11951    pub type Dpfsa26 = crate::EnumBitfieldStruct<u8, Dpfsa26_SPEC>;
11952    impl Dpfsa26 {
11953        #[doc = "Secure"]
11954        pub const _0: Self = Self::new(0);
11955
11956        #[doc = "Non-secure"]
11957        pub const _1: Self = Self::new(1);
11958    }
11959    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11960    pub struct Dpfsa27_SPEC;
11961    pub type Dpfsa27 = crate::EnumBitfieldStruct<u8, Dpfsa27_SPEC>;
11962    impl Dpfsa27 {
11963        #[doc = "Secure"]
11964        pub const _0: Self = Self::new(0);
11965
11966        #[doc = "Non-secure"]
11967        pub const _1: Self = Self::new(1);
11968    }
11969    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11970    pub struct Dpfsa29_SPEC;
11971    pub type Dpfsa29 = crate::EnumBitfieldStruct<u8, Dpfsa29_SPEC>;
11972    impl Dpfsa29 {
11973        #[doc = "Secure"]
11974        pub const _0: Self = Self::new(0);
11975
11976        #[doc = "Non-secure"]
11977        pub const _1: Self = Self::new(1);
11978    }
11979    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11980    pub struct Dpfsa31_SPEC;
11981    pub type Dpfsa31 = crate::EnumBitfieldStruct<u8, Dpfsa31_SPEC>;
11982    impl Dpfsa31 {
11983        #[doc = "Secure"]
11984        pub const _0: Self = Self::new(0);
11985
11986        #[doc = "Non-secure"]
11987        pub const _1: Self = Self::new(1);
11988    }
11989}
11990#[doc(hidden)]
11991#[derive(Copy, Clone, Eq, PartialEq)]
11992pub struct Rscsar_SPEC;
11993impl crate::sealed::RegSpec for Rscsar_SPEC {
11994    type DataType = u32;
11995}
11996
11997#[doc = "RAM Standby Control Security Attribution Register"]
11998pub type Rscsar = crate::RegValueT<Rscsar_SPEC>;
11999
12000impl Rscsar {
12001    #[doc = "RAM Standby Control Security Attribute bit 00"]
12002    #[inline(always)]
12003    pub fn rscsa0(
12004        self,
12005    ) -> crate::common::RegisterField<
12006        0,
12007        0x1,
12008        1,
12009        0,
12010        rscsar::Rscsa0,
12011        rscsar::Rscsa0,
12012        Rscsar_SPEC,
12013        crate::common::RW,
12014    > {
12015        crate::common::RegisterField::<
12016            0,
12017            0x1,
12018            1,
12019            0,
12020            rscsar::Rscsa0,
12021            rscsar::Rscsa0,
12022            Rscsar_SPEC,
12023            crate::common::RW,
12024        >::from_register(self, 0)
12025    }
12026
12027    #[doc = "RAM Standby Control Security Attribute bit 01"]
12028    #[inline(always)]
12029    pub fn rscsa1(
12030        self,
12031    ) -> crate::common::RegisterField<
12032        1,
12033        0x1,
12034        1,
12035        0,
12036        rscsar::Rscsa1,
12037        rscsar::Rscsa1,
12038        Rscsar_SPEC,
12039        crate::common::RW,
12040    > {
12041        crate::common::RegisterField::<
12042            1,
12043            0x1,
12044            1,
12045            0,
12046            rscsar::Rscsa1,
12047            rscsar::Rscsa1,
12048            Rscsar_SPEC,
12049            crate::common::RW,
12050        >::from_register(self, 0)
12051    }
12052
12053    #[doc = "RAM Standby Control Security Attribute bit 02"]
12054    #[inline(always)]
12055    pub fn rscsa2(
12056        self,
12057    ) -> crate::common::RegisterField<
12058        2,
12059        0x1,
12060        1,
12061        0,
12062        rscsar::Rscsa2,
12063        rscsar::Rscsa2,
12064        Rscsar_SPEC,
12065        crate::common::RW,
12066    > {
12067        crate::common::RegisterField::<
12068            2,
12069            0x1,
12070            1,
12071            0,
12072            rscsar::Rscsa2,
12073            rscsar::Rscsa2,
12074            Rscsar_SPEC,
12075            crate::common::RW,
12076        >::from_register(self, 0)
12077    }
12078
12079    #[doc = "RAM Standby Control Security Attribute bit 03"]
12080    #[inline(always)]
12081    pub fn rscsa3(
12082        self,
12083    ) -> crate::common::RegisterField<
12084        3,
12085        0x1,
12086        1,
12087        0,
12088        rscsar::Rscsa3,
12089        rscsar::Rscsa3,
12090        Rscsar_SPEC,
12091        crate::common::RW,
12092    > {
12093        crate::common::RegisterField::<
12094            3,
12095            0x1,
12096            1,
12097            0,
12098            rscsar::Rscsa3,
12099            rscsar::Rscsa3,
12100            Rscsar_SPEC,
12101            crate::common::RW,
12102        >::from_register(self, 0)
12103    }
12104
12105    #[doc = "RAM Standby Control Security Attribute bit 04"]
12106    #[inline(always)]
12107    pub fn rscsa4(
12108        self,
12109    ) -> crate::common::RegisterField<
12110        4,
12111        0x1,
12112        1,
12113        0,
12114        rscsar::Rscsa4,
12115        rscsar::Rscsa4,
12116        Rscsar_SPEC,
12117        crate::common::RW,
12118    > {
12119        crate::common::RegisterField::<
12120            4,
12121            0x1,
12122            1,
12123            0,
12124            rscsar::Rscsa4,
12125            rscsar::Rscsa4,
12126            Rscsar_SPEC,
12127            crate::common::RW,
12128        >::from_register(self, 0)
12129    }
12130
12131    #[doc = "RAM Standby Control Security Attribute bit 05"]
12132    #[inline(always)]
12133    pub fn rscsa5(
12134        self,
12135    ) -> crate::common::RegisterField<
12136        5,
12137        0x1,
12138        1,
12139        0,
12140        rscsar::Rscsa5,
12141        rscsar::Rscsa5,
12142        Rscsar_SPEC,
12143        crate::common::RW,
12144    > {
12145        crate::common::RegisterField::<
12146            5,
12147            0x1,
12148            1,
12149            0,
12150            rscsar::Rscsa5,
12151            rscsar::Rscsa5,
12152            Rscsar_SPEC,
12153            crate::common::RW,
12154        >::from_register(self, 0)
12155    }
12156
12157    #[doc = "RAM Standby Control Security Attribute bit 06"]
12158    #[inline(always)]
12159    pub fn rscsa6(
12160        self,
12161    ) -> crate::common::RegisterField<
12162        6,
12163        0x1,
12164        1,
12165        0,
12166        rscsar::Rscsa6,
12167        rscsar::Rscsa6,
12168        Rscsar_SPEC,
12169        crate::common::RW,
12170    > {
12171        crate::common::RegisterField::<
12172            6,
12173            0x1,
12174            1,
12175            0,
12176            rscsar::Rscsa6,
12177            rscsar::Rscsa6,
12178            Rscsar_SPEC,
12179            crate::common::RW,
12180        >::from_register(self, 0)
12181    }
12182
12183    #[doc = "RAM Standby Control Security Attribute bit 07"]
12184    #[inline(always)]
12185    pub fn rscsa7(
12186        self,
12187    ) -> crate::common::RegisterField<
12188        7,
12189        0x1,
12190        1,
12191        0,
12192        rscsar::Rscsa7,
12193        rscsar::Rscsa7,
12194        Rscsar_SPEC,
12195        crate::common::RW,
12196    > {
12197        crate::common::RegisterField::<
12198            7,
12199            0x1,
12200            1,
12201            0,
12202            rscsar::Rscsa7,
12203            rscsar::Rscsa7,
12204            Rscsar_SPEC,
12205            crate::common::RW,
12206        >::from_register(self, 0)
12207    }
12208
12209    #[doc = "RAM Standby Control Security Attribute bit 08"]
12210    #[inline(always)]
12211    pub fn rscsa8(
12212        self,
12213    ) -> crate::common::RegisterField<
12214        8,
12215        0x1,
12216        1,
12217        0,
12218        rscsar::Rscsa8,
12219        rscsar::Rscsa8,
12220        Rscsar_SPEC,
12221        crate::common::RW,
12222    > {
12223        crate::common::RegisterField::<
12224            8,
12225            0x1,
12226            1,
12227            0,
12228            rscsar::Rscsa8,
12229            rscsar::Rscsa8,
12230            Rscsar_SPEC,
12231            crate::common::RW,
12232        >::from_register(self, 0)
12233    }
12234
12235    #[doc = "RAM Standby Control Security Attribute bit 09"]
12236    #[inline(always)]
12237    pub fn rscsa9(
12238        self,
12239    ) -> crate::common::RegisterField<
12240        9,
12241        0x1,
12242        1,
12243        0,
12244        rscsar::Rscsa9,
12245        rscsar::Rscsa9,
12246        Rscsar_SPEC,
12247        crate::common::RW,
12248    > {
12249        crate::common::RegisterField::<
12250            9,
12251            0x1,
12252            1,
12253            0,
12254            rscsar::Rscsa9,
12255            rscsar::Rscsa9,
12256            Rscsar_SPEC,
12257            crate::common::RW,
12258        >::from_register(self, 0)
12259    }
12260
12261    #[doc = "RAM Standby Control Security Attribute bit 10"]
12262    #[inline(always)]
12263    pub fn rscsa10(
12264        self,
12265    ) -> crate::common::RegisterField<
12266        10,
12267        0x1,
12268        1,
12269        0,
12270        rscsar::Rscsa10,
12271        rscsar::Rscsa10,
12272        Rscsar_SPEC,
12273        crate::common::RW,
12274    > {
12275        crate::common::RegisterField::<
12276            10,
12277            0x1,
12278            1,
12279            0,
12280            rscsar::Rscsa10,
12281            rscsar::Rscsa10,
12282            Rscsar_SPEC,
12283            crate::common::RW,
12284        >::from_register(self, 0)
12285    }
12286
12287    #[doc = "RAM Standby Control Security Attribute bit 11"]
12288    #[inline(always)]
12289    pub fn rscsa11(
12290        self,
12291    ) -> crate::common::RegisterField<
12292        11,
12293        0x1,
12294        1,
12295        0,
12296        rscsar::Rscsa11,
12297        rscsar::Rscsa11,
12298        Rscsar_SPEC,
12299        crate::common::RW,
12300    > {
12301        crate::common::RegisterField::<
12302            11,
12303            0x1,
12304            1,
12305            0,
12306            rscsar::Rscsa11,
12307            rscsar::Rscsa11,
12308            Rscsar_SPEC,
12309            crate::common::RW,
12310        >::from_register(self, 0)
12311    }
12312
12313    #[doc = "RAM Standby Control Security Attribute bit 12"]
12314    #[inline(always)]
12315    pub fn rscsa12(
12316        self,
12317    ) -> crate::common::RegisterField<
12318        12,
12319        0x1,
12320        1,
12321        0,
12322        rscsar::Rscsa12,
12323        rscsar::Rscsa12,
12324        Rscsar_SPEC,
12325        crate::common::RW,
12326    > {
12327        crate::common::RegisterField::<
12328            12,
12329            0x1,
12330            1,
12331            0,
12332            rscsar::Rscsa12,
12333            rscsar::Rscsa12,
12334            Rscsar_SPEC,
12335            crate::common::RW,
12336        >::from_register(self, 0)
12337    }
12338
12339    #[doc = "RAM Standby Control Security Attribute bit 13"]
12340    #[inline(always)]
12341    pub fn rscsa13(
12342        self,
12343    ) -> crate::common::RegisterField<
12344        13,
12345        0x1,
12346        1,
12347        0,
12348        rscsar::Rscsa13,
12349        rscsar::Rscsa13,
12350        Rscsar_SPEC,
12351        crate::common::RW,
12352    > {
12353        crate::common::RegisterField::<
12354            13,
12355            0x1,
12356            1,
12357            0,
12358            rscsar::Rscsa13,
12359            rscsar::Rscsa13,
12360            Rscsar_SPEC,
12361            crate::common::RW,
12362        >::from_register(self, 0)
12363    }
12364
12365    #[doc = "RAM Standby Control Security Attribute bit 14"]
12366    #[inline(always)]
12367    pub fn rscsa14(
12368        self,
12369    ) -> crate::common::RegisterField<
12370        14,
12371        0x1,
12372        1,
12373        0,
12374        rscsar::Rscsa14,
12375        rscsar::Rscsa14,
12376        Rscsar_SPEC,
12377        crate::common::RW,
12378    > {
12379        crate::common::RegisterField::<
12380            14,
12381            0x1,
12382            1,
12383            0,
12384            rscsar::Rscsa14,
12385            rscsar::Rscsa14,
12386            Rscsar_SPEC,
12387            crate::common::RW,
12388        >::from_register(self, 0)
12389    }
12390
12391    #[doc = "RAM Standby Control Security Attribute bit 16"]
12392    #[inline(always)]
12393    pub fn rscsa16(
12394        self,
12395    ) -> crate::common::RegisterField<
12396        16,
12397        0x1,
12398        1,
12399        0,
12400        rscsar::Rscsa16,
12401        rscsar::Rscsa16,
12402        Rscsar_SPEC,
12403        crate::common::RW,
12404    > {
12405        crate::common::RegisterField::<
12406            16,
12407            0x1,
12408            1,
12409            0,
12410            rscsar::Rscsa16,
12411            rscsar::Rscsa16,
12412            Rscsar_SPEC,
12413            crate::common::RW,
12414        >::from_register(self, 0)
12415    }
12416
12417    #[doc = "RAM Standby Control Security Attribute bit 17"]
12418    #[inline(always)]
12419    pub fn rscsa17(
12420        self,
12421    ) -> crate::common::RegisterField<
12422        17,
12423        0x1,
12424        1,
12425        0,
12426        rscsar::Rscsa17,
12427        rscsar::Rscsa17,
12428        Rscsar_SPEC,
12429        crate::common::RW,
12430    > {
12431        crate::common::RegisterField::<
12432            17,
12433            0x1,
12434            1,
12435            0,
12436            rscsar::Rscsa17,
12437            rscsar::Rscsa17,
12438            Rscsar_SPEC,
12439            crate::common::RW,
12440        >::from_register(self, 0)
12441    }
12442
12443    #[doc = "These bits are read as 00000000000000. The write value should be 00000000000000."]
12444    #[inline(always)]
12445    pub fn reserved(
12446        self,
12447    ) -> crate::common::RegisterField<18, 0x3fff, 1, 0, u16, u16, Rscsar_SPEC, crate::common::RW>
12448    {
12449        crate::common::RegisterField::<18,0x3fff,1,0,u16,u16,Rscsar_SPEC,crate::common::RW>::from_register(self,0)
12450    }
12451}
12452impl ::core::default::Default for Rscsar {
12453    #[inline(always)]
12454    fn default() -> Rscsar {
12455        <crate::RegValueT<Rscsar_SPEC> as RegisterValue<_>>::new(0)
12456    }
12457}
12458pub mod rscsar {
12459
12460    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12461    pub struct Rscsa0_SPEC;
12462    pub type Rscsa0 = crate::EnumBitfieldStruct<u8, Rscsa0_SPEC>;
12463    impl Rscsa0 {
12464        #[doc = "Secure"]
12465        pub const _0: Self = Self::new(0);
12466
12467        #[doc = "Non-secure"]
12468        pub const _1: Self = Self::new(1);
12469    }
12470    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12471    pub struct Rscsa1_SPEC;
12472    pub type Rscsa1 = crate::EnumBitfieldStruct<u8, Rscsa1_SPEC>;
12473    impl Rscsa1 {
12474        #[doc = "Secure"]
12475        pub const _0: Self = Self::new(0);
12476
12477        #[doc = "Non-secure"]
12478        pub const _1: Self = Self::new(1);
12479    }
12480    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12481    pub struct Rscsa2_SPEC;
12482    pub type Rscsa2 = crate::EnumBitfieldStruct<u8, Rscsa2_SPEC>;
12483    impl Rscsa2 {
12484        #[doc = "Secure"]
12485        pub const _0: Self = Self::new(0);
12486
12487        #[doc = "Non-secure"]
12488        pub const _1: Self = Self::new(1);
12489    }
12490    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12491    pub struct Rscsa3_SPEC;
12492    pub type Rscsa3 = crate::EnumBitfieldStruct<u8, Rscsa3_SPEC>;
12493    impl Rscsa3 {
12494        #[doc = "Secure"]
12495        pub const _0: Self = Self::new(0);
12496
12497        #[doc = "Non-secure"]
12498        pub const _1: Self = Self::new(1);
12499    }
12500    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12501    pub struct Rscsa4_SPEC;
12502    pub type Rscsa4 = crate::EnumBitfieldStruct<u8, Rscsa4_SPEC>;
12503    impl Rscsa4 {
12504        #[doc = "Secure"]
12505        pub const _0: Self = Self::new(0);
12506
12507        #[doc = "Non-secure"]
12508        pub const _1: Self = Self::new(1);
12509    }
12510    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12511    pub struct Rscsa5_SPEC;
12512    pub type Rscsa5 = crate::EnumBitfieldStruct<u8, Rscsa5_SPEC>;
12513    impl Rscsa5 {
12514        #[doc = "Secure"]
12515        pub const _0: Self = Self::new(0);
12516
12517        #[doc = "Non-secure"]
12518        pub const _1: Self = Self::new(1);
12519    }
12520    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12521    pub struct Rscsa6_SPEC;
12522    pub type Rscsa6 = crate::EnumBitfieldStruct<u8, Rscsa6_SPEC>;
12523    impl Rscsa6 {
12524        #[doc = "Secure"]
12525        pub const _0: Self = Self::new(0);
12526
12527        #[doc = "Non-secure"]
12528        pub const _1: Self = Self::new(1);
12529    }
12530    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12531    pub struct Rscsa7_SPEC;
12532    pub type Rscsa7 = crate::EnumBitfieldStruct<u8, Rscsa7_SPEC>;
12533    impl Rscsa7 {
12534        #[doc = "Secure"]
12535        pub const _0: Self = Self::new(0);
12536
12537        #[doc = "Non-secure"]
12538        pub const _1: Self = Self::new(1);
12539    }
12540    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12541    pub struct Rscsa8_SPEC;
12542    pub type Rscsa8 = crate::EnumBitfieldStruct<u8, Rscsa8_SPEC>;
12543    impl Rscsa8 {
12544        #[doc = "Secure"]
12545        pub const _0: Self = Self::new(0);
12546
12547        #[doc = "Non-secure"]
12548        pub const _1: Self = Self::new(1);
12549    }
12550    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12551    pub struct Rscsa9_SPEC;
12552    pub type Rscsa9 = crate::EnumBitfieldStruct<u8, Rscsa9_SPEC>;
12553    impl Rscsa9 {
12554        #[doc = "Secure"]
12555        pub const _0: Self = Self::new(0);
12556
12557        #[doc = "Non-secure"]
12558        pub const _1: Self = Self::new(1);
12559    }
12560    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12561    pub struct Rscsa10_SPEC;
12562    pub type Rscsa10 = crate::EnumBitfieldStruct<u8, Rscsa10_SPEC>;
12563    impl Rscsa10 {
12564        #[doc = "Secure"]
12565        pub const _0: Self = Self::new(0);
12566
12567        #[doc = "Non-secure"]
12568        pub const _1: Self = Self::new(1);
12569    }
12570    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12571    pub struct Rscsa11_SPEC;
12572    pub type Rscsa11 = crate::EnumBitfieldStruct<u8, Rscsa11_SPEC>;
12573    impl Rscsa11 {
12574        #[doc = "Secure"]
12575        pub const _0: Self = Self::new(0);
12576
12577        #[doc = "Non-secure"]
12578        pub const _1: Self = Self::new(1);
12579    }
12580    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12581    pub struct Rscsa12_SPEC;
12582    pub type Rscsa12 = crate::EnumBitfieldStruct<u8, Rscsa12_SPEC>;
12583    impl Rscsa12 {
12584        #[doc = "Secure"]
12585        pub const _0: Self = Self::new(0);
12586
12587        #[doc = "Non-secure"]
12588        pub const _1: Self = Self::new(1);
12589    }
12590    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12591    pub struct Rscsa13_SPEC;
12592    pub type Rscsa13 = crate::EnumBitfieldStruct<u8, Rscsa13_SPEC>;
12593    impl Rscsa13 {
12594        #[doc = "Secure"]
12595        pub const _0: Self = Self::new(0);
12596
12597        #[doc = "Non-secure"]
12598        pub const _1: Self = Self::new(1);
12599    }
12600    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12601    pub struct Rscsa14_SPEC;
12602    pub type Rscsa14 = crate::EnumBitfieldStruct<u8, Rscsa14_SPEC>;
12603    impl Rscsa14 {
12604        #[doc = "Secure"]
12605        pub const _0: Self = Self::new(0);
12606
12607        #[doc = "Non-secure"]
12608        pub const _1: Self = Self::new(1);
12609    }
12610    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12611    pub struct Rscsa16_SPEC;
12612    pub type Rscsa16 = crate::EnumBitfieldStruct<u8, Rscsa16_SPEC>;
12613    impl Rscsa16 {
12614        #[doc = "Secure"]
12615        pub const _0: Self = Self::new(0);
12616
12617        #[doc = "Non-secure"]
12618        pub const _1: Self = Self::new(1);
12619    }
12620    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12621    pub struct Rscsa17_SPEC;
12622    pub type Rscsa17 = crate::EnumBitfieldStruct<u8, Rscsa17_SPEC>;
12623    impl Rscsa17 {
12624        #[doc = "Secure"]
12625        pub const _0: Self = Self::new(0);
12626
12627        #[doc = "Non-secure"]
12628        pub const _1: Self = Self::new(1);
12629    }
12630}
12631#[doc(hidden)]
12632#[derive(Copy, Clone, Eq, PartialEq)]
12633pub struct PrcrS_SPEC;
12634impl crate::sealed::RegSpec for PrcrS_SPEC {
12635    type DataType = u16;
12636}
12637
12638#[doc = "Protect Register for Secure Register"]
12639pub type PrcrS = crate::RegValueT<PrcrS_SPEC>;
12640
12641impl PrcrS {
12642    #[doc = "Enables writing to the registers related to the clock generation circuit."]
12643    #[inline(always)]
12644    pub fn prc0(
12645        self,
12646    ) -> crate::common::RegisterField<
12647        0,
12648        0x1,
12649        1,
12650        0,
12651        prcr_s::Prc0,
12652        prcr_s::Prc0,
12653        PrcrS_SPEC,
12654        crate::common::RW,
12655    > {
12656        crate::common::RegisterField::<
12657            0,
12658            0x1,
12659            1,
12660            0,
12661            prcr_s::Prc0,
12662            prcr_s::Prc0,
12663            PrcrS_SPEC,
12664            crate::common::RW,
12665        >::from_register(self, 0)
12666    }
12667
12668    #[doc = "Enables writing to the registers related to the operating modes, the low power modes, and the battery backup function."]
12669    #[inline(always)]
12670    pub fn prc1(
12671        self,
12672    ) -> crate::common::RegisterField<
12673        1,
12674        0x1,
12675        1,
12676        0,
12677        prcr_s::Prc1,
12678        prcr_s::Prc1,
12679        PrcrS_SPEC,
12680        crate::common::RW,
12681    > {
12682        crate::common::RegisterField::<
12683            1,
12684            0x1,
12685            1,
12686            0,
12687            prcr_s::Prc1,
12688            prcr_s::Prc1,
12689            PrcrS_SPEC,
12690            crate::common::RW,
12691        >::from_register(self, 0)
12692    }
12693
12694    #[doc = "Enables writing to the registers related to the PVD."]
12695    #[inline(always)]
12696    pub fn prc3(
12697        self,
12698    ) -> crate::common::RegisterField<
12699        3,
12700        0x1,
12701        1,
12702        0,
12703        prcr_s::Prc3,
12704        prcr_s::Prc3,
12705        PrcrS_SPEC,
12706        crate::common::RW,
12707    > {
12708        crate::common::RegisterField::<
12709            3,
12710            0x1,
12711            1,
12712            0,
12713            prcr_s::Prc3,
12714            prcr_s::Prc3,
12715            PrcrS_SPEC,
12716            crate::common::RW,
12717        >::from_register(self, 0)
12718    }
12719
12720    #[doc = "Enables writing to the registers related to the security and privilege setting registers."]
12721    #[inline(always)]
12722    pub fn prc4(
12723        self,
12724    ) -> crate::common::RegisterField<
12725        4,
12726        0x1,
12727        1,
12728        0,
12729        prcr_s::Prc4,
12730        prcr_s::Prc4,
12731        PrcrS_SPEC,
12732        crate::common::RW,
12733    > {
12734        crate::common::RegisterField::<
12735            4,
12736            0x1,
12737            1,
12738            0,
12739            prcr_s::Prc4,
12740            prcr_s::Prc4,
12741            PrcrS_SPEC,
12742            crate::common::RW,
12743        >::from_register(self, 0)
12744    }
12745
12746    #[doc = "Enables writing to the registers related the reset control."]
12747    #[inline(always)]
12748    pub fn prc5(
12749        self,
12750    ) -> crate::common::RegisterField<
12751        5,
12752        0x1,
12753        1,
12754        0,
12755        prcr_s::Prc5,
12756        prcr_s::Prc5,
12757        PrcrS_SPEC,
12758        crate::common::RW,
12759    > {
12760        crate::common::RegisterField::<
12761            5,
12762            0x1,
12763            1,
12764            0,
12765            prcr_s::Prc5,
12766            prcr_s::Prc5,
12767            PrcrS_SPEC,
12768            crate::common::RW,
12769        >::from_register(self, 0)
12770    }
12771
12772    #[doc = "This bit is read as 0. The write value should be 0."]
12773    #[inline(always)]
12774    pub fn reserved(
12775        self,
12776    ) -> crate::common::RegisterFieldBool<7, 1, 0, PrcrS_SPEC, crate::common::RW> {
12777        crate::common::RegisterFieldBool::<7, 1, 0, PrcrS_SPEC, crate::common::RW>::from_register(
12778            self, 0,
12779        )
12780    }
12781
12782    #[doc = "PRC Key Code"]
12783    #[inline(always)]
12784    pub fn prkey(
12785        self,
12786    ) -> crate::common::RegisterField<
12787        8,
12788        0xff,
12789        1,
12790        0,
12791        prcr_s::Prkey,
12792        prcr_s::Prkey,
12793        PrcrS_SPEC,
12794        crate::common::W,
12795    > {
12796        crate::common::RegisterField::<
12797            8,
12798            0xff,
12799            1,
12800            0,
12801            prcr_s::Prkey,
12802            prcr_s::Prkey,
12803            PrcrS_SPEC,
12804            crate::common::W,
12805        >::from_register(self, 0)
12806    }
12807}
12808impl ::core::default::Default for PrcrS {
12809    #[inline(always)]
12810    fn default() -> PrcrS {
12811        <crate::RegValueT<PrcrS_SPEC> as RegisterValue<_>>::new(0)
12812    }
12813}
12814pub mod prcr_s {
12815
12816    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12817    pub struct Prc0_SPEC;
12818    pub type Prc0 = crate::EnumBitfieldStruct<u8, Prc0_SPEC>;
12819    impl Prc0 {
12820        #[doc = "Write disabled"]
12821        pub const _0: Self = Self::new(0);
12822
12823        #[doc = "Write enabled"]
12824        pub const _1: Self = Self::new(1);
12825    }
12826    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12827    pub struct Prc1_SPEC;
12828    pub type Prc1 = crate::EnumBitfieldStruct<u8, Prc1_SPEC>;
12829    impl Prc1 {
12830        #[doc = "Write disabled"]
12831        pub const _0: Self = Self::new(0);
12832
12833        #[doc = "Write enabled"]
12834        pub const _1: Self = Self::new(1);
12835    }
12836    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12837    pub struct Prc3_SPEC;
12838    pub type Prc3 = crate::EnumBitfieldStruct<u8, Prc3_SPEC>;
12839    impl Prc3 {
12840        #[doc = "Write disabled"]
12841        pub const _0: Self = Self::new(0);
12842
12843        #[doc = "Write enabled"]
12844        pub const _1: Self = Self::new(1);
12845    }
12846    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12847    pub struct Prc4_SPEC;
12848    pub type Prc4 = crate::EnumBitfieldStruct<u8, Prc4_SPEC>;
12849    impl Prc4 {
12850        #[doc = "Write disabled"]
12851        pub const _0: Self = Self::new(0);
12852
12853        #[doc = "Write enabled"]
12854        pub const _1: Self = Self::new(1);
12855    }
12856    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12857    pub struct Prc5_SPEC;
12858    pub type Prc5 = crate::EnumBitfieldStruct<u8, Prc5_SPEC>;
12859    impl Prc5 {
12860        #[doc = "Write disabled"]
12861        pub const _0: Self = Self::new(0);
12862
12863        #[doc = "Write enabled"]
12864        pub const _1: Self = Self::new(1);
12865    }
12866    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12867    pub struct Prkey_SPEC;
12868    pub type Prkey = crate::EnumBitfieldStruct<u8, Prkey_SPEC>;
12869    impl Prkey {
12870        #[doc = "Enables writing to the PRCR_S register."]
12871        pub const _0_X_A_5: Self = Self::new(165);
12872
12873        #[doc = "Disables writing to the PRCR_S register."]
12874        pub const OTHERS: Self = Self::new(0);
12875    }
12876}
12877#[doc(hidden)]
12878#[derive(Copy, Clone, Eq, PartialEq)]
12879pub struct PrcrNs_SPEC;
12880impl crate::sealed::RegSpec for PrcrNs_SPEC {
12881    type DataType = u16;
12882}
12883
12884#[doc = "Protect Register for Non-secure Register"]
12885pub type PrcrNs = crate::RegValueT<PrcrNs_SPEC>;
12886
12887impl PrcrNs {
12888    #[doc = "Enables writing to the registers related to the clock generation circuit."]
12889    #[inline(always)]
12890    pub fn prc0(
12891        self,
12892    ) -> crate::common::RegisterField<
12893        0,
12894        0x1,
12895        1,
12896        0,
12897        prcr_ns::Prc0,
12898        prcr_ns::Prc0,
12899        PrcrNs_SPEC,
12900        crate::common::RW,
12901    > {
12902        crate::common::RegisterField::<
12903            0,
12904            0x1,
12905            1,
12906            0,
12907            prcr_ns::Prc0,
12908            prcr_ns::Prc0,
12909            PrcrNs_SPEC,
12910            crate::common::RW,
12911        >::from_register(self, 0)
12912    }
12913
12914    #[doc = "Enables writing to the registers related to the operating modes, the low power modes, and the battery backup function."]
12915    #[inline(always)]
12916    pub fn prc1(
12917        self,
12918    ) -> crate::common::RegisterField<
12919        1,
12920        0x1,
12921        1,
12922        0,
12923        prcr_ns::Prc1,
12924        prcr_ns::Prc1,
12925        PrcrNs_SPEC,
12926        crate::common::RW,
12927    > {
12928        crate::common::RegisterField::<
12929            1,
12930            0x1,
12931            1,
12932            0,
12933            prcr_ns::Prc1,
12934            prcr_ns::Prc1,
12935            PrcrNs_SPEC,
12936            crate::common::RW,
12937        >::from_register(self, 0)
12938    }
12939
12940    #[doc = "Enables writing to the registers related to the PVD."]
12941    #[inline(always)]
12942    pub fn prc3(
12943        self,
12944    ) -> crate::common::RegisterField<
12945        3,
12946        0x1,
12947        1,
12948        0,
12949        prcr_ns::Prc3,
12950        prcr_ns::Prc3,
12951        PrcrNs_SPEC,
12952        crate::common::RW,
12953    > {
12954        crate::common::RegisterField::<
12955            3,
12956            0x1,
12957            1,
12958            0,
12959            prcr_ns::Prc3,
12960            prcr_ns::Prc3,
12961            PrcrNs_SPEC,
12962            crate::common::RW,
12963        >::from_register(self, 0)
12964    }
12965
12966    #[doc = "Enables writing to the registers related to the privilege setting registers."]
12967    #[inline(always)]
12968    pub fn prc4(
12969        self,
12970    ) -> crate::common::RegisterField<
12971        4,
12972        0x1,
12973        1,
12974        0,
12975        prcr_ns::Prc4,
12976        prcr_ns::Prc4,
12977        PrcrNs_SPEC,
12978        crate::common::RW,
12979    > {
12980        crate::common::RegisterField::<
12981            4,
12982            0x1,
12983            1,
12984            0,
12985            prcr_ns::Prc4,
12986            prcr_ns::Prc4,
12987            PrcrNs_SPEC,
12988            crate::common::RW,
12989        >::from_register(self, 0)
12990    }
12991
12992    #[doc = "This bit is read as 0. The write value should be 0."]
12993    #[inline(always)]
12994    pub fn reserved(
12995        self,
12996    ) -> crate::common::RegisterFieldBool<7, 1, 0, PrcrNs_SPEC, crate::common::RW> {
12997        crate::common::RegisterFieldBool::<7, 1, 0, PrcrNs_SPEC, crate::common::RW>::from_register(
12998            self, 0,
12999        )
13000    }
13001
13002    #[doc = "PRC Key Code"]
13003    #[inline(always)]
13004    pub fn prkey(
13005        self,
13006    ) -> crate::common::RegisterField<
13007        8,
13008        0xff,
13009        1,
13010        0,
13011        prcr_ns::Prkey,
13012        prcr_ns::Prkey,
13013        PrcrNs_SPEC,
13014        crate::common::W,
13015    > {
13016        crate::common::RegisterField::<
13017            8,
13018            0xff,
13019            1,
13020            0,
13021            prcr_ns::Prkey,
13022            prcr_ns::Prkey,
13023            PrcrNs_SPEC,
13024            crate::common::W,
13025        >::from_register(self, 0)
13026    }
13027}
13028impl ::core::default::Default for PrcrNs {
13029    #[inline(always)]
13030    fn default() -> PrcrNs {
13031        <crate::RegValueT<PrcrNs_SPEC> as RegisterValue<_>>::new(0)
13032    }
13033}
13034pub mod prcr_ns {
13035
13036    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13037    pub struct Prc0_SPEC;
13038    pub type Prc0 = crate::EnumBitfieldStruct<u8, Prc0_SPEC>;
13039    impl Prc0 {
13040        #[doc = "Write disabled"]
13041        pub const _0: Self = Self::new(0);
13042
13043        #[doc = "Write enabled"]
13044        pub const _1: Self = Self::new(1);
13045    }
13046    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13047    pub struct Prc1_SPEC;
13048    pub type Prc1 = crate::EnumBitfieldStruct<u8, Prc1_SPEC>;
13049    impl Prc1 {
13050        #[doc = "Write disabled"]
13051        pub const _0: Self = Self::new(0);
13052
13053        #[doc = "Write enabled"]
13054        pub const _1: Self = Self::new(1);
13055    }
13056    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13057    pub struct Prc3_SPEC;
13058    pub type Prc3 = crate::EnumBitfieldStruct<u8, Prc3_SPEC>;
13059    impl Prc3 {
13060        #[doc = "Write disabled"]
13061        pub const _0: Self = Self::new(0);
13062
13063        #[doc = "Write enabled"]
13064        pub const _1: Self = Self::new(1);
13065    }
13066    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13067    pub struct Prc4_SPEC;
13068    pub type Prc4 = crate::EnumBitfieldStruct<u8, Prc4_SPEC>;
13069    impl Prc4 {
13070        #[doc = "Write disabled"]
13071        pub const _0: Self = Self::new(0);
13072
13073        #[doc = "Write enabled"]
13074        pub const _1: Self = Self::new(1);
13075    }
13076    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13077    pub struct Prkey_SPEC;
13078    pub type Prkey = crate::EnumBitfieldStruct<u8, Prkey_SPEC>;
13079    impl Prkey {
13080        #[doc = "Enables writing to the PRCR_NS register."]
13081        pub const _0_X_A_5: Self = Self::new(165);
13082
13083        #[doc = "Disables writing to the PRCR_NS register."]
13084        pub const OTHERS: Self = Self::new(0);
13085    }
13086}
13087#[doc(hidden)]
13088#[derive(Copy, Clone, Eq, PartialEq)]
13089pub struct Lococr_SPEC;
13090impl crate::sealed::RegSpec for Lococr_SPEC {
13091    type DataType = u8;
13092}
13093
13094#[doc = "Low-Speed On-Chip Oscillator Control Register"]
13095pub type Lococr = crate::RegValueT<Lococr_SPEC>;
13096
13097impl Lococr {
13098    #[doc = "LOCO Stop"]
13099    #[inline(always)]
13100    pub fn lcstp(
13101        self,
13102    ) -> crate::common::RegisterField<
13103        0,
13104        0x1,
13105        1,
13106        0,
13107        lococr::Lcstp,
13108        lococr::Lcstp,
13109        Lococr_SPEC,
13110        crate::common::RW,
13111    > {
13112        crate::common::RegisterField::<
13113            0,
13114            0x1,
13115            1,
13116            0,
13117            lococr::Lcstp,
13118            lococr::Lcstp,
13119            Lococr_SPEC,
13120            crate::common::RW,
13121        >::from_register(self, 0)
13122    }
13123
13124    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
13125    #[inline(always)]
13126    pub fn reserved(
13127        self,
13128    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Lococr_SPEC, crate::common::RW> {
13129        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Lococr_SPEC,crate::common::RW>::from_register(self,0)
13130    }
13131}
13132impl ::core::default::Default for Lococr {
13133    #[inline(always)]
13134    fn default() -> Lococr {
13135        <crate::RegValueT<Lococr_SPEC> as RegisterValue<_>>::new(0)
13136    }
13137}
13138pub mod lococr {
13139
13140    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13141    pub struct Lcstp_SPEC;
13142    pub type Lcstp = crate::EnumBitfieldStruct<u8, Lcstp_SPEC>;
13143    impl Lcstp {
13144        #[doc = "Operate the LOCO clock"]
13145        pub const _0: Self = Self::new(0);
13146
13147        #[doc = "Stop the LOCO clock"]
13148        pub const _1: Self = Self::new(1);
13149    }
13150}
13151#[doc(hidden)]
13152#[derive(Copy, Clone, Eq, PartialEq)]
13153pub struct Locoutcr_SPEC;
13154impl crate::sealed::RegSpec for Locoutcr_SPEC {
13155    type DataType = u8;
13156}
13157
13158#[doc = "LOCO User Trimming Control Register"]
13159pub type Locoutcr = crate::RegValueT<Locoutcr_SPEC>;
13160
13161impl Locoutcr {
13162    #[doc = "LOCO User Trimming"]
13163    #[inline(always)]
13164    pub fn locoutrm(
13165        self,
13166    ) -> crate::common::RegisterField<
13167        0,
13168        0xff,
13169        1,
13170        0,
13171        locoutcr::Locoutrm,
13172        locoutcr::Locoutrm,
13173        Locoutcr_SPEC,
13174        crate::common::RW,
13175    > {
13176        crate::common::RegisterField::<
13177            0,
13178            0xff,
13179            1,
13180            0,
13181            locoutcr::Locoutrm,
13182            locoutcr::Locoutrm,
13183            Locoutcr_SPEC,
13184            crate::common::RW,
13185        >::from_register(self, 0)
13186    }
13187}
13188impl ::core::default::Default for Locoutcr {
13189    #[inline(always)]
13190    fn default() -> Locoutcr {
13191        <crate::RegValueT<Locoutcr_SPEC> as RegisterValue<_>>::new(0)
13192    }
13193}
13194pub mod locoutcr {
13195
13196    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13197    pub struct Locoutrm_SPEC;
13198    pub type Locoutrm = crate::EnumBitfieldStruct<u8, Locoutrm_SPEC>;
13199    impl Locoutrm {
13200        #[doc = "-128"]
13201        pub const _1000_0000: Self = Self::new(128);
13202
13203        #[doc = "-127"]
13204        pub const _1000_0001: Self = Self::new(129);
13205
13206        #[doc = "-126"]
13207        pub const _1000_0010: Self = Self::new(130);
13208
13209        #[doc = "-1"]
13210        pub const _1111_1111: Self = Self::new(255);
13211
13212        #[doc = "Center Code"]
13213        pub const _0000_0000: Self = Self::new(0);
13214
13215        #[doc = "+1"]
13216        pub const _0000_0001: Self = Self::new(1);
13217
13218        #[doc = "+125"]
13219        pub const _0111_1101: Self = Self::new(125);
13220
13221        #[doc = "+126"]
13222        pub const _0111_1110: Self = Self::new(126);
13223
13224        #[doc = "+127"]
13225        pub const _0111_1111: Self = Self::new(127);
13226    }
13227}
13228#[doc(hidden)]
13229#[derive(Copy, Clone, Eq, PartialEq)]
13230pub struct Dpsbycr_SPEC;
13231impl crate::sealed::RegSpec for Dpsbycr_SPEC {
13232    type DataType = u8;
13233}
13234
13235#[doc = "Deep Standby Control Register"]
13236pub type Dpsbycr = crate::RegValueT<Dpsbycr_SPEC>;
13237
13238impl Dpsbycr {
13239    #[doc = "DCDC SSMODE"]
13240    #[inline(always)]
13241    pub fn dcssmode(
13242        self,
13243    ) -> crate::common::RegisterField<
13244        2,
13245        0x1,
13246        1,
13247        0,
13248        dpsbycr::Dcssmode,
13249        dpsbycr::Dcssmode,
13250        Dpsbycr_SPEC,
13251        crate::common::RW,
13252    > {
13253        crate::common::RegisterField::<
13254            2,
13255            0x1,
13256            1,
13257            0,
13258            dpsbycr::Dcssmode,
13259            dpsbycr::Dcssmode,
13260            Dpsbycr_SPEC,
13261            crate::common::RW,
13262        >::from_register(self, 0)
13263    }
13264
13265    #[doc = "Standby RAM Retention"]
13266    #[inline(always)]
13267    pub fn srkeep(
13268        self,
13269    ) -> crate::common::RegisterField<
13270        4,
13271        0x1,
13272        1,
13273        0,
13274        dpsbycr::Srkeep,
13275        dpsbycr::Srkeep,
13276        Dpsbycr_SPEC,
13277        crate::common::RW,
13278    > {
13279        crate::common::RegisterField::<
13280            4,
13281            0x1,
13282            1,
13283            0,
13284            dpsbycr::Srkeep,
13285            dpsbycr::Srkeep,
13286            Dpsbycr_SPEC,
13287            crate::common::RW,
13288        >::from_register(self, 0)
13289    }
13290
13291    #[doc = "I/O Port Retention"]
13292    #[inline(always)]
13293    pub fn iokeep(
13294        self,
13295    ) -> crate::common::RegisterField<
13296        6,
13297        0x1,
13298        1,
13299        0,
13300        dpsbycr::Iokeep,
13301        dpsbycr::Iokeep,
13302        Dpsbycr_SPEC,
13303        crate::common::RW,
13304    > {
13305        crate::common::RegisterField::<
13306            6,
13307            0x1,
13308            1,
13309            0,
13310            dpsbycr::Iokeep,
13311            dpsbycr::Iokeep,
13312            Dpsbycr_SPEC,
13313            crate::common::RW,
13314        >::from_register(self, 0)
13315    }
13316
13317    #[doc = "This bit is read as 0. The write value should be 0."]
13318    #[inline(always)]
13319    pub fn reserved(
13320        self,
13321    ) -> crate::common::RegisterFieldBool<7, 1, 0, Dpsbycr_SPEC, crate::common::RW> {
13322        crate::common::RegisterFieldBool::<7, 1, 0, Dpsbycr_SPEC, crate::common::RW>::from_register(
13323            self, 0,
13324        )
13325    }
13326}
13327impl ::core::default::Default for Dpsbycr {
13328    #[inline(always)]
13329    fn default() -> Dpsbycr {
13330        <crate::RegValueT<Dpsbycr_SPEC> as RegisterValue<_>>::new(16)
13331    }
13332}
13333pub mod dpsbycr {
13334
13335    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13336    pub struct Dcssmode_SPEC;
13337    pub type Dcssmode = crate::EnumBitfieldStruct<u8, Dcssmode_SPEC>;
13338    impl Dcssmode {
13339        #[doc = "When the Deep Software Standby mode is canceled, the time required to recover is the standard time."]
13340        pub const _0: Self = Self::new(0);
13341
13342        #[doc = "When the Deep Software Standby mode is canceled, the time required to recover is shortened."]
13343        pub const _1: Self = Self::new(1);
13344    }
13345    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13346    pub struct Srkeep_SPEC;
13347    pub type Srkeep = crate::EnumBitfieldStruct<u8, Srkeep_SPEC>;
13348    impl Srkeep {
13349        #[doc = "When entering the Software Standby mode or the Deep Software Standby mode, the contents of Standby RAM are not kept."]
13350        pub const _0: Self = Self::new(0);
13351
13352        #[doc = "When entering the Software Standby mode or the Deep Software Standby mode 1, the contents of Standby RAM are kept."]
13353        pub const _1: Self = Self::new(1);
13354    }
13355    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13356    pub struct Iokeep_SPEC;
13357    pub type Iokeep = crate::EnumBitfieldStruct<u8, Iokeep_SPEC>;
13358    impl Iokeep {
13359        #[doc = "When the Deep Software Standby mode is canceled, the I/O ports are in the reset state."]
13360        pub const _0: Self = Self::new(0);
13361
13362        #[doc = "When the Deep Software Standby mode is canceled, the I/O ports are in the same state as in the Deep Software Standby mode."]
13363        pub const _1: Self = Self::new(1);
13364    }
13365}
13366#[doc(hidden)]
13367#[derive(Copy, Clone, Eq, PartialEq)]
13368pub struct Dpswcr_SPEC;
13369impl crate::sealed::RegSpec for Dpswcr_SPEC {
13370    type DataType = u8;
13371}
13372
13373#[doc = "Deep Standby Wait Control Register"]
13374pub type Dpswcr = crate::RegValueT<Dpswcr_SPEC>;
13375
13376impl Dpswcr {
13377    #[doc = "Deep Software Wait Standby Time Setting Bit"]
13378    #[inline(always)]
13379    pub fn wtsts(
13380        self,
13381    ) -> crate::common::RegisterField<
13382        0,
13383        0xff,
13384        1,
13385        0,
13386        dpswcr::Wtsts,
13387        dpswcr::Wtsts,
13388        Dpswcr_SPEC,
13389        crate::common::RW,
13390    > {
13391        crate::common::RegisterField::<
13392            0,
13393            0xff,
13394            1,
13395            0,
13396            dpswcr::Wtsts,
13397            dpswcr::Wtsts,
13398            Dpswcr_SPEC,
13399            crate::common::RW,
13400        >::from_register(self, 0)
13401    }
13402}
13403impl ::core::default::Default for Dpswcr {
13404    #[inline(always)]
13405    fn default() -> Dpswcr {
13406        <crate::RegValueT<Dpswcr_SPEC> as RegisterValue<_>>::new(11)
13407    }
13408}
13409pub mod dpswcr {
13410
13411    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13412    pub struct Wtsts_SPEC;
13413    pub type Wtsts = crate::EnumBitfieldStruct<u8, Wtsts_SPEC>;
13414    impl Wtsts {
13415        #[doc = "Wait cycle for fast recovery"]
13416        pub const _0_X_0_B: Self = Self::new(11);
13417
13418        #[doc = "Wait cycle for slow recovery"]
13419        pub const _0_X_9_A: Self = Self::new(154);
13420
13421        #[doc = ": Setting prohibited"]
13422        pub const OTHERS: Self = Self::new(0);
13423    }
13424}
13425#[doc(hidden)]
13426#[derive(Copy, Clone, Eq, PartialEq)]
13427pub struct Dpsier0_SPEC;
13428impl crate::sealed::RegSpec for Dpsier0_SPEC {
13429    type DataType = u8;
13430}
13431
13432#[doc = "Deep Standby Interrupt Enable Register 0"]
13433pub type Dpsier0 = crate::RegValueT<Dpsier0_SPEC>;
13434
13435impl Dpsier0 {
13436    #[doc = "IRQ0-DS Pin Enable"]
13437    #[inline(always)]
13438    pub fn dirq0e(
13439        self,
13440    ) -> crate::common::RegisterField<
13441        0,
13442        0x1,
13443        1,
13444        0,
13445        dpsier0::Dirq0E,
13446        dpsier0::Dirq0E,
13447        Dpsier0_SPEC,
13448        crate::common::RW,
13449    > {
13450        crate::common::RegisterField::<
13451            0,
13452            0x1,
13453            1,
13454            0,
13455            dpsier0::Dirq0E,
13456            dpsier0::Dirq0E,
13457            Dpsier0_SPEC,
13458            crate::common::RW,
13459        >::from_register(self, 0)
13460    }
13461
13462    #[doc = "IRQ1-DS Pin Enable"]
13463    #[inline(always)]
13464    pub fn dirq1e(
13465        self,
13466    ) -> crate::common::RegisterField<
13467        1,
13468        0x1,
13469        1,
13470        0,
13471        dpsier0::Dirq1E,
13472        dpsier0::Dirq1E,
13473        Dpsier0_SPEC,
13474        crate::common::RW,
13475    > {
13476        crate::common::RegisterField::<
13477            1,
13478            0x1,
13479            1,
13480            0,
13481            dpsier0::Dirq1E,
13482            dpsier0::Dirq1E,
13483            Dpsier0_SPEC,
13484            crate::common::RW,
13485        >::from_register(self, 0)
13486    }
13487
13488    #[doc = "IRQ2-DS Pin Enable"]
13489    #[inline(always)]
13490    pub fn dirq2e(
13491        self,
13492    ) -> crate::common::RegisterField<
13493        2,
13494        0x1,
13495        1,
13496        0,
13497        dpsier0::Dirq2E,
13498        dpsier0::Dirq2E,
13499        Dpsier0_SPEC,
13500        crate::common::RW,
13501    > {
13502        crate::common::RegisterField::<
13503            2,
13504            0x1,
13505            1,
13506            0,
13507            dpsier0::Dirq2E,
13508            dpsier0::Dirq2E,
13509            Dpsier0_SPEC,
13510            crate::common::RW,
13511        >::from_register(self, 0)
13512    }
13513
13514    #[doc = "IRQ3-DS Pin Enable"]
13515    #[inline(always)]
13516    pub fn dirq3e(
13517        self,
13518    ) -> crate::common::RegisterField<
13519        3,
13520        0x1,
13521        1,
13522        0,
13523        dpsier0::Dirq3E,
13524        dpsier0::Dirq3E,
13525        Dpsier0_SPEC,
13526        crate::common::RW,
13527    > {
13528        crate::common::RegisterField::<
13529            3,
13530            0x1,
13531            1,
13532            0,
13533            dpsier0::Dirq3E,
13534            dpsier0::Dirq3E,
13535            Dpsier0_SPEC,
13536            crate::common::RW,
13537        >::from_register(self, 0)
13538    }
13539
13540    #[doc = "IRQ4-DS Pin Enable"]
13541    #[inline(always)]
13542    pub fn dirq4e(
13543        self,
13544    ) -> crate::common::RegisterField<
13545        4,
13546        0x1,
13547        1,
13548        0,
13549        dpsier0::Dirq4E,
13550        dpsier0::Dirq4E,
13551        Dpsier0_SPEC,
13552        crate::common::RW,
13553    > {
13554        crate::common::RegisterField::<
13555            4,
13556            0x1,
13557            1,
13558            0,
13559            dpsier0::Dirq4E,
13560            dpsier0::Dirq4E,
13561            Dpsier0_SPEC,
13562            crate::common::RW,
13563        >::from_register(self, 0)
13564    }
13565
13566    #[doc = "IRQ5-DS Pin Enable"]
13567    #[inline(always)]
13568    pub fn dirq5e(
13569        self,
13570    ) -> crate::common::RegisterField<
13571        5,
13572        0x1,
13573        1,
13574        0,
13575        dpsier0::Dirq5E,
13576        dpsier0::Dirq5E,
13577        Dpsier0_SPEC,
13578        crate::common::RW,
13579    > {
13580        crate::common::RegisterField::<
13581            5,
13582            0x1,
13583            1,
13584            0,
13585            dpsier0::Dirq5E,
13586            dpsier0::Dirq5E,
13587            Dpsier0_SPEC,
13588            crate::common::RW,
13589        >::from_register(self, 0)
13590    }
13591
13592    #[doc = "IRQ6-DS Pin Enable"]
13593    #[inline(always)]
13594    pub fn dirq6e(
13595        self,
13596    ) -> crate::common::RegisterField<
13597        6,
13598        0x1,
13599        1,
13600        0,
13601        dpsier0::Dirq6E,
13602        dpsier0::Dirq6E,
13603        Dpsier0_SPEC,
13604        crate::common::RW,
13605    > {
13606        crate::common::RegisterField::<
13607            6,
13608            0x1,
13609            1,
13610            0,
13611            dpsier0::Dirq6E,
13612            dpsier0::Dirq6E,
13613            Dpsier0_SPEC,
13614            crate::common::RW,
13615        >::from_register(self, 0)
13616    }
13617
13618    #[doc = "IRQ7-DS Pin Enable"]
13619    #[inline(always)]
13620    pub fn dirq7e(
13621        self,
13622    ) -> crate::common::RegisterField<
13623        7,
13624        0x1,
13625        1,
13626        0,
13627        dpsier0::Dirq7E,
13628        dpsier0::Dirq7E,
13629        Dpsier0_SPEC,
13630        crate::common::RW,
13631    > {
13632        crate::common::RegisterField::<
13633            7,
13634            0x1,
13635            1,
13636            0,
13637            dpsier0::Dirq7E,
13638            dpsier0::Dirq7E,
13639            Dpsier0_SPEC,
13640            crate::common::RW,
13641        >::from_register(self, 0)
13642    }
13643}
13644impl ::core::default::Default for Dpsier0 {
13645    #[inline(always)]
13646    fn default() -> Dpsier0 {
13647        <crate::RegValueT<Dpsier0_SPEC> as RegisterValue<_>>::new(0)
13648    }
13649}
13650pub mod dpsier0 {
13651
13652    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13653    pub struct Dirq0E_SPEC;
13654    pub type Dirq0E = crate::EnumBitfieldStruct<u8, Dirq0E_SPEC>;
13655    impl Dirq0E {
13656        #[doc = "Cancelling deep software standby mode is disabled"]
13657        pub const _0: Self = Self::new(0);
13658
13659        #[doc = "Cancelling deep software standby mode is enabled"]
13660        pub const _1: Self = Self::new(1);
13661    }
13662    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13663    pub struct Dirq1E_SPEC;
13664    pub type Dirq1E = crate::EnumBitfieldStruct<u8, Dirq1E_SPEC>;
13665    impl Dirq1E {
13666        #[doc = "Cancelling deep software standby mode is disabled"]
13667        pub const _0: Self = Self::new(0);
13668
13669        #[doc = "Cancelling deep software standby mode is enabled"]
13670        pub const _1: Self = Self::new(1);
13671    }
13672    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13673    pub struct Dirq2E_SPEC;
13674    pub type Dirq2E = crate::EnumBitfieldStruct<u8, Dirq2E_SPEC>;
13675    impl Dirq2E {
13676        #[doc = "Cancelling deep software standby mode is disabled"]
13677        pub const _0: Self = Self::new(0);
13678
13679        #[doc = "Cancelling deep software standby mode is enabled"]
13680        pub const _1: Self = Self::new(1);
13681    }
13682    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13683    pub struct Dirq3E_SPEC;
13684    pub type Dirq3E = crate::EnumBitfieldStruct<u8, Dirq3E_SPEC>;
13685    impl Dirq3E {
13686        #[doc = "Cancelling deep software standby mode is disabled"]
13687        pub const _0: Self = Self::new(0);
13688
13689        #[doc = "Cancelling deep software standby mode is enabled"]
13690        pub const _1: Self = Self::new(1);
13691    }
13692    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13693    pub struct Dirq4E_SPEC;
13694    pub type Dirq4E = crate::EnumBitfieldStruct<u8, Dirq4E_SPEC>;
13695    impl Dirq4E {
13696        #[doc = "Cancelling deep software standby mode is disabled"]
13697        pub const _0: Self = Self::new(0);
13698
13699        #[doc = "Cancelling deep software standby mode is enabled"]
13700        pub const _1: Self = Self::new(1);
13701    }
13702    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13703    pub struct Dirq5E_SPEC;
13704    pub type Dirq5E = crate::EnumBitfieldStruct<u8, Dirq5E_SPEC>;
13705    impl Dirq5E {
13706        #[doc = "Cancelling deep software standby mode is disabled"]
13707        pub const _0: Self = Self::new(0);
13708
13709        #[doc = "Cancelling deep software standby mode is enabled"]
13710        pub const _1: Self = Self::new(1);
13711    }
13712    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13713    pub struct Dirq6E_SPEC;
13714    pub type Dirq6E = crate::EnumBitfieldStruct<u8, Dirq6E_SPEC>;
13715    impl Dirq6E {
13716        #[doc = "Cancelling deep software standby mode is disabled"]
13717        pub const _0: Self = Self::new(0);
13718
13719        #[doc = "Cancelling deep software standby mode is enabled"]
13720        pub const _1: Self = Self::new(1);
13721    }
13722    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13723    pub struct Dirq7E_SPEC;
13724    pub type Dirq7E = crate::EnumBitfieldStruct<u8, Dirq7E_SPEC>;
13725    impl Dirq7E {
13726        #[doc = "Cancelling deep software standby mode is disabled"]
13727        pub const _0: Self = Self::new(0);
13728
13729        #[doc = "Cancelling deep software standby mode is enabled"]
13730        pub const _1: Self = Self::new(1);
13731    }
13732}
13733#[doc(hidden)]
13734#[derive(Copy, Clone, Eq, PartialEq)]
13735pub struct Dpsier1_SPEC;
13736impl crate::sealed::RegSpec for Dpsier1_SPEC {
13737    type DataType = u8;
13738}
13739
13740#[doc = "Deep Standby Interrupt Enable Register 1"]
13741pub type Dpsier1 = crate::RegValueT<Dpsier1_SPEC>;
13742
13743impl Dpsier1 {
13744    #[doc = "IRQ8-DS Pin Enable"]
13745    #[inline(always)]
13746    pub fn dirq8e(
13747        self,
13748    ) -> crate::common::RegisterField<
13749        0,
13750        0x1,
13751        1,
13752        0,
13753        dpsier1::Dirq8E,
13754        dpsier1::Dirq8E,
13755        Dpsier1_SPEC,
13756        crate::common::RW,
13757    > {
13758        crate::common::RegisterField::<
13759            0,
13760            0x1,
13761            1,
13762            0,
13763            dpsier1::Dirq8E,
13764            dpsier1::Dirq8E,
13765            Dpsier1_SPEC,
13766            crate::common::RW,
13767        >::from_register(self, 0)
13768    }
13769
13770    #[doc = "IRQ9-DS Pin Enable"]
13771    #[inline(always)]
13772    pub fn dirq9e(
13773        self,
13774    ) -> crate::common::RegisterField<
13775        1,
13776        0x1,
13777        1,
13778        0,
13779        dpsier1::Dirq9E,
13780        dpsier1::Dirq9E,
13781        Dpsier1_SPEC,
13782        crate::common::RW,
13783    > {
13784        crate::common::RegisterField::<
13785            1,
13786            0x1,
13787            1,
13788            0,
13789            dpsier1::Dirq9E,
13790            dpsier1::Dirq9E,
13791            Dpsier1_SPEC,
13792            crate::common::RW,
13793        >::from_register(self, 0)
13794    }
13795
13796    #[doc = "IRQ10-DS Pin Enable"]
13797    #[inline(always)]
13798    pub fn dirq10e(
13799        self,
13800    ) -> crate::common::RegisterField<
13801        2,
13802        0x1,
13803        1,
13804        0,
13805        dpsier1::Dirq10E,
13806        dpsier1::Dirq10E,
13807        Dpsier1_SPEC,
13808        crate::common::RW,
13809    > {
13810        crate::common::RegisterField::<
13811            2,
13812            0x1,
13813            1,
13814            0,
13815            dpsier1::Dirq10E,
13816            dpsier1::Dirq10E,
13817            Dpsier1_SPEC,
13818            crate::common::RW,
13819        >::from_register(self, 0)
13820    }
13821
13822    #[doc = "IRQ11-DS Pin Enable"]
13823    #[inline(always)]
13824    pub fn dirq11e(
13825        self,
13826    ) -> crate::common::RegisterField<
13827        3,
13828        0x1,
13829        1,
13830        0,
13831        dpsier1::Dirq11E,
13832        dpsier1::Dirq11E,
13833        Dpsier1_SPEC,
13834        crate::common::RW,
13835    > {
13836        crate::common::RegisterField::<
13837            3,
13838            0x1,
13839            1,
13840            0,
13841            dpsier1::Dirq11E,
13842            dpsier1::Dirq11E,
13843            Dpsier1_SPEC,
13844            crate::common::RW,
13845        >::from_register(self, 0)
13846    }
13847
13848    #[doc = "IRQ12-DS Pin Enable"]
13849    #[inline(always)]
13850    pub fn dirq12e(
13851        self,
13852    ) -> crate::common::RegisterField<
13853        4,
13854        0x1,
13855        1,
13856        0,
13857        dpsier1::Dirq12E,
13858        dpsier1::Dirq12E,
13859        Dpsier1_SPEC,
13860        crate::common::RW,
13861    > {
13862        crate::common::RegisterField::<
13863            4,
13864            0x1,
13865            1,
13866            0,
13867            dpsier1::Dirq12E,
13868            dpsier1::Dirq12E,
13869            Dpsier1_SPEC,
13870            crate::common::RW,
13871        >::from_register(self, 0)
13872    }
13873
13874    #[doc = "IRQ13-DS Pin Enable"]
13875    #[inline(always)]
13876    pub fn dirq13e(
13877        self,
13878    ) -> crate::common::RegisterField<
13879        5,
13880        0x1,
13881        1,
13882        0,
13883        dpsier1::Dirq13E,
13884        dpsier1::Dirq13E,
13885        Dpsier1_SPEC,
13886        crate::common::RW,
13887    > {
13888        crate::common::RegisterField::<
13889            5,
13890            0x1,
13891            1,
13892            0,
13893            dpsier1::Dirq13E,
13894            dpsier1::Dirq13E,
13895            Dpsier1_SPEC,
13896            crate::common::RW,
13897        >::from_register(self, 0)
13898    }
13899
13900    #[doc = "IRQ14-DS Pin Enable"]
13901    #[inline(always)]
13902    pub fn dirq14e(
13903        self,
13904    ) -> crate::common::RegisterField<
13905        6,
13906        0x1,
13907        1,
13908        0,
13909        dpsier1::Dirq14E,
13910        dpsier1::Dirq14E,
13911        Dpsier1_SPEC,
13912        crate::common::RW,
13913    > {
13914        crate::common::RegisterField::<
13915            6,
13916            0x1,
13917            1,
13918            0,
13919            dpsier1::Dirq14E,
13920            dpsier1::Dirq14E,
13921            Dpsier1_SPEC,
13922            crate::common::RW,
13923        >::from_register(self, 0)
13924    }
13925
13926    #[doc = "IRQ15-DS Pin Enable"]
13927    #[inline(always)]
13928    pub fn dirq15e(
13929        self,
13930    ) -> crate::common::RegisterField<
13931        7,
13932        0x1,
13933        1,
13934        0,
13935        dpsier1::Dirq15E,
13936        dpsier1::Dirq15E,
13937        Dpsier1_SPEC,
13938        crate::common::RW,
13939    > {
13940        crate::common::RegisterField::<
13941            7,
13942            0x1,
13943            1,
13944            0,
13945            dpsier1::Dirq15E,
13946            dpsier1::Dirq15E,
13947            Dpsier1_SPEC,
13948            crate::common::RW,
13949        >::from_register(self, 0)
13950    }
13951}
13952impl ::core::default::Default for Dpsier1 {
13953    #[inline(always)]
13954    fn default() -> Dpsier1 {
13955        <crate::RegValueT<Dpsier1_SPEC> as RegisterValue<_>>::new(0)
13956    }
13957}
13958pub mod dpsier1 {
13959
13960    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13961    pub struct Dirq8E_SPEC;
13962    pub type Dirq8E = crate::EnumBitfieldStruct<u8, Dirq8E_SPEC>;
13963    impl Dirq8E {
13964        #[doc = "Cancelling deep software standby mode is disabled"]
13965        pub const _0: Self = Self::new(0);
13966
13967        #[doc = "Cancelling deep software standby mode is enabled"]
13968        pub const _1: Self = Self::new(1);
13969    }
13970    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13971    pub struct Dirq9E_SPEC;
13972    pub type Dirq9E = crate::EnumBitfieldStruct<u8, Dirq9E_SPEC>;
13973    impl Dirq9E {
13974        #[doc = "Cancelling deep software standby mode is disabled"]
13975        pub const _0: Self = Self::new(0);
13976
13977        #[doc = "Cancelling deep software standby mode is enabled"]
13978        pub const _1: Self = Self::new(1);
13979    }
13980    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13981    pub struct Dirq10E_SPEC;
13982    pub type Dirq10E = crate::EnumBitfieldStruct<u8, Dirq10E_SPEC>;
13983    impl Dirq10E {
13984        #[doc = "Cancelling deep software standby mode is disabled"]
13985        pub const _0: Self = Self::new(0);
13986
13987        #[doc = "Cancelling deep software standby mode is enabled"]
13988        pub const _1: Self = Self::new(1);
13989    }
13990    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13991    pub struct Dirq11E_SPEC;
13992    pub type Dirq11E = crate::EnumBitfieldStruct<u8, Dirq11E_SPEC>;
13993    impl Dirq11E {
13994        #[doc = "Cancelling deep software standby mode is disabled"]
13995        pub const _0: Self = Self::new(0);
13996
13997        #[doc = "Cancelling deep software standby mode is enabled"]
13998        pub const _1: Self = Self::new(1);
13999    }
14000    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14001    pub struct Dirq12E_SPEC;
14002    pub type Dirq12E = crate::EnumBitfieldStruct<u8, Dirq12E_SPEC>;
14003    impl Dirq12E {
14004        #[doc = "Cancelling deep software standby mode is disabled"]
14005        pub const _0: Self = Self::new(0);
14006
14007        #[doc = "Cancelling deep software standby mode is enabled"]
14008        pub const _1: Self = Self::new(1);
14009    }
14010    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14011    pub struct Dirq13E_SPEC;
14012    pub type Dirq13E = crate::EnumBitfieldStruct<u8, Dirq13E_SPEC>;
14013    impl Dirq13E {
14014        #[doc = "Cancelling deep software standby mode is disabled"]
14015        pub const _0: Self = Self::new(0);
14016
14017        #[doc = "Cancelling deep software standby mode is enabled"]
14018        pub const _1: Self = Self::new(1);
14019    }
14020    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14021    pub struct Dirq14E_SPEC;
14022    pub type Dirq14E = crate::EnumBitfieldStruct<u8, Dirq14E_SPEC>;
14023    impl Dirq14E {
14024        #[doc = "Cancelling deep software standby mode is disabled"]
14025        pub const _0: Self = Self::new(0);
14026
14027        #[doc = "Cancelling deep software standby mode is enabled"]
14028        pub const _1: Self = Self::new(1);
14029    }
14030    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14031    pub struct Dirq15E_SPEC;
14032    pub type Dirq15E = crate::EnumBitfieldStruct<u8, Dirq15E_SPEC>;
14033    impl Dirq15E {
14034        #[doc = "Cancelling Deep Software Standby mode is disabled"]
14035        pub const _0: Self = Self::new(0);
14036
14037        #[doc = "Cancelling Deep Software Standby mode is enabled"]
14038        pub const _1: Self = Self::new(1);
14039    }
14040}
14041#[doc(hidden)]
14042#[derive(Copy, Clone, Eq, PartialEq)]
14043pub struct Dpsier2_SPEC;
14044impl crate::sealed::RegSpec for Dpsier2_SPEC {
14045    type DataType = u8;
14046}
14047
14048#[doc = "Deep Standby Interrupt Enable Register 2"]
14049pub type Dpsier2 = crate::RegValueT<Dpsier2_SPEC>;
14050
14051impl Dpsier2 {
14052    #[doc = "PVD1 Deep Standby Cancel Signal Enable"]
14053    #[inline(always)]
14054    pub fn dpvd1ie(
14055        self,
14056    ) -> crate::common::RegisterField<
14057        0,
14058        0x1,
14059        1,
14060        0,
14061        dpsier2::Dpvd1Ie,
14062        dpsier2::Dpvd1Ie,
14063        Dpsier2_SPEC,
14064        crate::common::RW,
14065    > {
14066        crate::common::RegisterField::<
14067            0,
14068            0x1,
14069            1,
14070            0,
14071            dpsier2::Dpvd1Ie,
14072            dpsier2::Dpvd1Ie,
14073            Dpsier2_SPEC,
14074            crate::common::RW,
14075        >::from_register(self, 0)
14076    }
14077
14078    #[doc = "PVD2 Deep Standby Cancel Signal Enable"]
14079    #[inline(always)]
14080    pub fn dpvd2ie(
14081        self,
14082    ) -> crate::common::RegisterField<
14083        1,
14084        0x1,
14085        1,
14086        0,
14087        dpsier2::Dpvd2Ie,
14088        dpsier2::Dpvd2Ie,
14089        Dpsier2_SPEC,
14090        crate::common::RW,
14091    > {
14092        crate::common::RegisterField::<
14093            1,
14094            0x1,
14095            1,
14096            0,
14097            dpsier2::Dpvd2Ie,
14098            dpsier2::Dpvd2Ie,
14099            Dpsier2_SPEC,
14100            crate::common::RW,
14101        >::from_register(self, 0)
14102    }
14103
14104    #[doc = "RTC Interval interrupt Deep Standby Cancel Signal Enable"]
14105    #[inline(always)]
14106    pub fn dtrtciie(
14107        self,
14108    ) -> crate::common::RegisterField<
14109        2,
14110        0x1,
14111        1,
14112        0,
14113        dpsier2::Dtrtciie,
14114        dpsier2::Dtrtciie,
14115        Dpsier2_SPEC,
14116        crate::common::RW,
14117    > {
14118        crate::common::RegisterField::<
14119            2,
14120            0x1,
14121            1,
14122            0,
14123            dpsier2::Dtrtciie,
14124            dpsier2::Dtrtciie,
14125            Dpsier2_SPEC,
14126            crate::common::RW,
14127        >::from_register(self, 0)
14128    }
14129
14130    #[doc = "RTC Alarm interrupt Deep Standby Cancel Signal Enable"]
14131    #[inline(always)]
14132    pub fn drtcaie(
14133        self,
14134    ) -> crate::common::RegisterField<
14135        3,
14136        0x1,
14137        1,
14138        0,
14139        dpsier2::Drtcaie,
14140        dpsier2::Drtcaie,
14141        Dpsier2_SPEC,
14142        crate::common::RW,
14143    > {
14144        crate::common::RegisterField::<
14145            3,
14146            0x1,
14147            1,
14148            0,
14149            dpsier2::Drtcaie,
14150            dpsier2::Drtcaie,
14151            Dpsier2_SPEC,
14152            crate::common::RW,
14153        >::from_register(self, 0)
14154    }
14155
14156    #[doc = "NMI Pin Enable"]
14157    #[inline(always)]
14158    pub fn dnmie(
14159        self,
14160    ) -> crate::common::RegisterField<
14161        4,
14162        0x1,
14163        1,
14164        0,
14165        dpsier2::Dnmie,
14166        dpsier2::Dnmie,
14167        Dpsier2_SPEC,
14168        crate::common::RW,
14169    > {
14170        crate::common::RegisterField::<
14171            4,
14172            0x1,
14173            1,
14174            0,
14175            dpsier2::Dnmie,
14176            dpsier2::Dnmie,
14177            Dpsier2_SPEC,
14178            crate::common::RW,
14179        >::from_register(self, 0)
14180    }
14181
14182    #[doc = "This bit is read as 0. The write value should be 0."]
14183    #[inline(always)]
14184    pub fn reserved(
14185        self,
14186    ) -> crate::common::RegisterFieldBool<7, 1, 0, Dpsier2_SPEC, crate::common::RW> {
14187        crate::common::RegisterFieldBool::<7, 1, 0, Dpsier2_SPEC, crate::common::RW>::from_register(
14188            self, 0,
14189        )
14190    }
14191}
14192impl ::core::default::Default for Dpsier2 {
14193    #[inline(always)]
14194    fn default() -> Dpsier2 {
14195        <crate::RegValueT<Dpsier2_SPEC> as RegisterValue<_>>::new(0)
14196    }
14197}
14198pub mod dpsier2 {
14199
14200    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14201    pub struct Dpvd1Ie_SPEC;
14202    pub type Dpvd1Ie = crate::EnumBitfieldStruct<u8, Dpvd1Ie_SPEC>;
14203    impl Dpvd1Ie {
14204        #[doc = "Cancelling deep software standby mode is disabled"]
14205        pub const _0: Self = Self::new(0);
14206
14207        #[doc = "Cancelling deep software standby mode is enabled"]
14208        pub const _1: Self = Self::new(1);
14209    }
14210    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14211    pub struct Dpvd2Ie_SPEC;
14212    pub type Dpvd2Ie = crate::EnumBitfieldStruct<u8, Dpvd2Ie_SPEC>;
14213    impl Dpvd2Ie {
14214        #[doc = "Cancelling deep software standby mode is disabled"]
14215        pub const _0: Self = Self::new(0);
14216
14217        #[doc = "Cancelling deep software standby mode is enabled"]
14218        pub const _1: Self = Self::new(1);
14219    }
14220    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14221    pub struct Dtrtciie_SPEC;
14222    pub type Dtrtciie = crate::EnumBitfieldStruct<u8, Dtrtciie_SPEC>;
14223    impl Dtrtciie {
14224        #[doc = "Cancelling deep software standby mode is disabled"]
14225        pub const _0: Self = Self::new(0);
14226
14227        #[doc = "Cancelling deep software standby mode is enabled"]
14228        pub const _1: Self = Self::new(1);
14229    }
14230    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14231    pub struct Drtcaie_SPEC;
14232    pub type Drtcaie = crate::EnumBitfieldStruct<u8, Drtcaie_SPEC>;
14233    impl Drtcaie {
14234        #[doc = "Cancelling deep software standby mode is disabled"]
14235        pub const _0: Self = Self::new(0);
14236
14237        #[doc = "Cancelling deep software standby mode is enabled"]
14238        pub const _1: Self = Self::new(1);
14239    }
14240    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14241    pub struct Dnmie_SPEC;
14242    pub type Dnmie = crate::EnumBitfieldStruct<u8, Dnmie_SPEC>;
14243    impl Dnmie {
14244        #[doc = "Cancelling deep software standby mode is disabled"]
14245        pub const _0: Self = Self::new(0);
14246
14247        #[doc = "Cancelling deep software standby mode is enabled"]
14248        pub const _1: Self = Self::new(1);
14249    }
14250}
14251#[doc(hidden)]
14252#[derive(Copy, Clone, Eq, PartialEq)]
14253pub struct Dpsier3_SPEC;
14254impl crate::sealed::RegSpec for Dpsier3_SPEC {
14255    type DataType = u8;
14256}
14257
14258#[doc = "Deep Standby Interrupt Enable Register 3"]
14259pub type Dpsier3 = crate::RegValueT<Dpsier3_SPEC>;
14260
14261impl Dpsier3 {
14262    #[doc = "USBFS Suspend/Resume Deep Standby Cancel Signal Enable"]
14263    #[inline(always)]
14264    pub fn dusbfsie(
14265        self,
14266    ) -> crate::common::RegisterField<
14267        0,
14268        0x1,
14269        1,
14270        0,
14271        dpsier3::Dusbfsie,
14272        dpsier3::Dusbfsie,
14273        Dpsier3_SPEC,
14274        crate::common::RW,
14275    > {
14276        crate::common::RegisterField::<
14277            0,
14278            0x1,
14279            1,
14280            0,
14281            dpsier3::Dusbfsie,
14282            dpsier3::Dusbfsie,
14283            Dpsier3_SPEC,
14284            crate::common::RW,
14285        >::from_register(self, 0)
14286    }
14287
14288    #[doc = "USBHS Suspend/Resume Deep Standby Cancel Signal Enable"]
14289    #[inline(always)]
14290    pub fn dusbhsie(
14291        self,
14292    ) -> crate::common::RegisterField<
14293        1,
14294        0x1,
14295        1,
14296        0,
14297        dpsier3::Dusbhsie,
14298        dpsier3::Dusbhsie,
14299        Dpsier3_SPEC,
14300        crate::common::RW,
14301    > {
14302        crate::common::RegisterField::<
14303            1,
14304            0x1,
14305            1,
14306            0,
14307            dpsier3::Dusbhsie,
14308            dpsier3::Dusbhsie,
14309            Dpsier3_SPEC,
14310            crate::common::RW,
14311        >::from_register(self, 0)
14312    }
14313
14314    #[doc = "ULPT0 Overflow Deep Standby Cancel Signal Enable"]
14315    #[inline(always)]
14316    pub fn dulpt0ie(
14317        self,
14318    ) -> crate::common::RegisterField<
14319        2,
14320        0x1,
14321        1,
14322        0,
14323        dpsier3::Dulpt0Ie,
14324        dpsier3::Dulpt0Ie,
14325        Dpsier3_SPEC,
14326        crate::common::RW,
14327    > {
14328        crate::common::RegisterField::<
14329            2,
14330            0x1,
14331            1,
14332            0,
14333            dpsier3::Dulpt0Ie,
14334            dpsier3::Dulpt0Ie,
14335            Dpsier3_SPEC,
14336            crate::common::RW,
14337        >::from_register(self, 0)
14338    }
14339
14340    #[doc = "ULPT1 Overflow Deep Standby Cancel Signal Enable"]
14341    #[inline(always)]
14342    pub fn dulpt1ie(
14343        self,
14344    ) -> crate::common::RegisterField<
14345        3,
14346        0x1,
14347        1,
14348        0,
14349        dpsier3::Dulpt1Ie,
14350        dpsier3::Dulpt1Ie,
14351        Dpsier3_SPEC,
14352        crate::common::RW,
14353    > {
14354        crate::common::RegisterField::<
14355            3,
14356            0x1,
14357            1,
14358            0,
14359            dpsier3::Dulpt1Ie,
14360            dpsier3::Dulpt1Ie,
14361            Dpsier3_SPEC,
14362            crate::common::RW,
14363        >::from_register(self, 0)
14364    }
14365
14366    #[doc = "IWDT Overflow Deep Standby Cancel Signal Enable"]
14367    #[inline(always)]
14368    pub fn diwdtie(
14369        self,
14370    ) -> crate::common::RegisterField<
14371        5,
14372        0x1,
14373        1,
14374        0,
14375        dpsier3::Diwdtie,
14376        dpsier3::Diwdtie,
14377        Dpsier3_SPEC,
14378        crate::common::RW,
14379    > {
14380        crate::common::RegisterField::<
14381            5,
14382            0x1,
14383            1,
14384            0,
14385            dpsier3::Diwdtie,
14386            dpsier3::Diwdtie,
14387            Dpsier3_SPEC,
14388            crate::common::RW,
14389        >::from_register(self, 0)
14390    }
14391
14392    #[doc = "This bit is read as 0. The write value should be 0."]
14393    #[inline(always)]
14394    pub fn reserved(
14395        self,
14396    ) -> crate::common::RegisterFieldBool<6, 1, 0, Dpsier3_SPEC, crate::common::RW> {
14397        crate::common::RegisterFieldBool::<6, 1, 0, Dpsier3_SPEC, crate::common::RW>::from_register(
14398            self, 0,
14399        )
14400    }
14401
14402    #[doc = "VBATT Tamper Detection Deep Standby Cancel Signal Enable"]
14403    #[inline(always)]
14404    pub fn dvbattadie(
14405        self,
14406    ) -> crate::common::RegisterField<
14407        7,
14408        0x1,
14409        1,
14410        0,
14411        dpsier3::Dvbattadie,
14412        dpsier3::Dvbattadie,
14413        Dpsier3_SPEC,
14414        crate::common::RW,
14415    > {
14416        crate::common::RegisterField::<
14417            7,
14418            0x1,
14419            1,
14420            0,
14421            dpsier3::Dvbattadie,
14422            dpsier3::Dvbattadie,
14423            Dpsier3_SPEC,
14424            crate::common::RW,
14425        >::from_register(self, 0)
14426    }
14427}
14428impl ::core::default::Default for Dpsier3 {
14429    #[inline(always)]
14430    fn default() -> Dpsier3 {
14431        <crate::RegValueT<Dpsier3_SPEC> as RegisterValue<_>>::new(0)
14432    }
14433}
14434pub mod dpsier3 {
14435
14436    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14437    pub struct Dusbfsie_SPEC;
14438    pub type Dusbfsie = crate::EnumBitfieldStruct<u8, Dusbfsie_SPEC>;
14439    impl Dusbfsie {
14440        #[doc = "Cancelling deep software standby mode is disabled"]
14441        pub const _0: Self = Self::new(0);
14442
14443        #[doc = "Cancelling deep software standby mode is enabled"]
14444        pub const _1: Self = Self::new(1);
14445    }
14446    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14447    pub struct Dusbhsie_SPEC;
14448    pub type Dusbhsie = crate::EnumBitfieldStruct<u8, Dusbhsie_SPEC>;
14449    impl Dusbhsie {
14450        #[doc = "Cancelling deep software standby mode is disabled"]
14451        pub const _0: Self = Self::new(0);
14452
14453        #[doc = "Cancelling deep software standby mode is enabled"]
14454        pub const _1: Self = Self::new(1);
14455    }
14456    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14457    pub struct Dulpt0Ie_SPEC;
14458    pub type Dulpt0Ie = crate::EnumBitfieldStruct<u8, Dulpt0Ie_SPEC>;
14459    impl Dulpt0Ie {
14460        #[doc = "Cancelling deep software standby mode is disabled"]
14461        pub const _0: Self = Self::new(0);
14462
14463        #[doc = "Cancelling deep software standby mode is enabled"]
14464        pub const _1: Self = Self::new(1);
14465    }
14466    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14467    pub struct Dulpt1Ie_SPEC;
14468    pub type Dulpt1Ie = crate::EnumBitfieldStruct<u8, Dulpt1Ie_SPEC>;
14469    impl Dulpt1Ie {
14470        #[doc = "Cancelling deep software standby mode is disabled"]
14471        pub const _0: Self = Self::new(0);
14472
14473        #[doc = "Cancelling deep software standby mode is enabled"]
14474        pub const _1: Self = Self::new(1);
14475    }
14476    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14477    pub struct Diwdtie_SPEC;
14478    pub type Diwdtie = crate::EnumBitfieldStruct<u8, Diwdtie_SPEC>;
14479    impl Diwdtie {
14480        #[doc = "Cancelling Deep Software Standby mode is disabled"]
14481        pub const _0: Self = Self::new(0);
14482
14483        #[doc = "Cancelling Deep Software Standby mode is enabled"]
14484        pub const _1: Self = Self::new(1);
14485    }
14486    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14487    pub struct Dvbattadie_SPEC;
14488    pub type Dvbattadie = crate::EnumBitfieldStruct<u8, Dvbattadie_SPEC>;
14489    impl Dvbattadie {
14490        #[doc = "Cancelling Deep Software Standby mode is disabled"]
14491        pub const _0: Self = Self::new(0);
14492
14493        #[doc = "Cancelling Deep Software Standby mode is enabled"]
14494        pub const _1: Self = Self::new(1);
14495    }
14496}
14497#[doc(hidden)]
14498#[derive(Copy, Clone, Eq, PartialEq)]
14499pub struct Dpsifr0_SPEC;
14500impl crate::sealed::RegSpec for Dpsifr0_SPEC {
14501    type DataType = u8;
14502}
14503
14504#[doc = "Deep Standby Interrupt Flag Register 0"]
14505pub type Dpsifr0 = crate::RegValueT<Dpsifr0_SPEC>;
14506
14507impl Dpsifr0 {
14508    #[doc = "IRQ0-DS Pin Deep Standby Cancel Flag"]
14509    #[inline(always)]
14510    pub fn dirq0f(
14511        self,
14512    ) -> crate::common::RegisterField<
14513        0,
14514        0x1,
14515        1,
14516        0,
14517        dpsifr0::Dirq0F,
14518        dpsifr0::Dirq0F,
14519        Dpsifr0_SPEC,
14520        crate::common::RW,
14521    > {
14522        crate::common::RegisterField::<
14523            0,
14524            0x1,
14525            1,
14526            0,
14527            dpsifr0::Dirq0F,
14528            dpsifr0::Dirq0F,
14529            Dpsifr0_SPEC,
14530            crate::common::RW,
14531        >::from_register(self, 0)
14532    }
14533
14534    #[doc = "IRQ1-DS Pin Deep Standby Cancel Flag"]
14535    #[inline(always)]
14536    pub fn dirq1f(
14537        self,
14538    ) -> crate::common::RegisterField<
14539        1,
14540        0x1,
14541        1,
14542        0,
14543        dpsifr0::Dirq1F,
14544        dpsifr0::Dirq1F,
14545        Dpsifr0_SPEC,
14546        crate::common::RW,
14547    > {
14548        crate::common::RegisterField::<
14549            1,
14550            0x1,
14551            1,
14552            0,
14553            dpsifr0::Dirq1F,
14554            dpsifr0::Dirq1F,
14555            Dpsifr0_SPEC,
14556            crate::common::RW,
14557        >::from_register(self, 0)
14558    }
14559
14560    #[doc = "IRQ2-DS Pin Deep Standby Cancel Flag"]
14561    #[inline(always)]
14562    pub fn dirq2f(
14563        self,
14564    ) -> crate::common::RegisterField<
14565        2,
14566        0x1,
14567        1,
14568        0,
14569        dpsifr0::Dirq2F,
14570        dpsifr0::Dirq2F,
14571        Dpsifr0_SPEC,
14572        crate::common::RW,
14573    > {
14574        crate::common::RegisterField::<
14575            2,
14576            0x1,
14577            1,
14578            0,
14579            dpsifr0::Dirq2F,
14580            dpsifr0::Dirq2F,
14581            Dpsifr0_SPEC,
14582            crate::common::RW,
14583        >::from_register(self, 0)
14584    }
14585
14586    #[doc = "IRQ3-DS Pin Deep Standby Cancel Flag"]
14587    #[inline(always)]
14588    pub fn dirq3f(
14589        self,
14590    ) -> crate::common::RegisterField<
14591        3,
14592        0x1,
14593        1,
14594        0,
14595        dpsifr0::Dirq3F,
14596        dpsifr0::Dirq3F,
14597        Dpsifr0_SPEC,
14598        crate::common::RW,
14599    > {
14600        crate::common::RegisterField::<
14601            3,
14602            0x1,
14603            1,
14604            0,
14605            dpsifr0::Dirq3F,
14606            dpsifr0::Dirq3F,
14607            Dpsifr0_SPEC,
14608            crate::common::RW,
14609        >::from_register(self, 0)
14610    }
14611
14612    #[doc = "IRQ4-DS Pin Deep Standby Cancel Flag"]
14613    #[inline(always)]
14614    pub fn dirq4f(
14615        self,
14616    ) -> crate::common::RegisterField<
14617        4,
14618        0x1,
14619        1,
14620        0,
14621        dpsifr0::Dirq4F,
14622        dpsifr0::Dirq4F,
14623        Dpsifr0_SPEC,
14624        crate::common::RW,
14625    > {
14626        crate::common::RegisterField::<
14627            4,
14628            0x1,
14629            1,
14630            0,
14631            dpsifr0::Dirq4F,
14632            dpsifr0::Dirq4F,
14633            Dpsifr0_SPEC,
14634            crate::common::RW,
14635        >::from_register(self, 0)
14636    }
14637
14638    #[doc = "IRQ5-DS Pin Deep Standby Cancel Flag"]
14639    #[inline(always)]
14640    pub fn dirq5f(
14641        self,
14642    ) -> crate::common::RegisterField<
14643        5,
14644        0x1,
14645        1,
14646        0,
14647        dpsifr0::Dirq5F,
14648        dpsifr0::Dirq5F,
14649        Dpsifr0_SPEC,
14650        crate::common::RW,
14651    > {
14652        crate::common::RegisterField::<
14653            5,
14654            0x1,
14655            1,
14656            0,
14657            dpsifr0::Dirq5F,
14658            dpsifr0::Dirq5F,
14659            Dpsifr0_SPEC,
14660            crate::common::RW,
14661        >::from_register(self, 0)
14662    }
14663
14664    #[doc = "IRQ6-DS Pin Deep Standby Cancel Flag"]
14665    #[inline(always)]
14666    pub fn dirq6f(
14667        self,
14668    ) -> crate::common::RegisterField<
14669        6,
14670        0x1,
14671        1,
14672        0,
14673        dpsifr0::Dirq6F,
14674        dpsifr0::Dirq6F,
14675        Dpsifr0_SPEC,
14676        crate::common::RW,
14677    > {
14678        crate::common::RegisterField::<
14679            6,
14680            0x1,
14681            1,
14682            0,
14683            dpsifr0::Dirq6F,
14684            dpsifr0::Dirq6F,
14685            Dpsifr0_SPEC,
14686            crate::common::RW,
14687        >::from_register(self, 0)
14688    }
14689
14690    #[doc = "IRQ7-DS Pin Deep Standby Cancel Flag"]
14691    #[inline(always)]
14692    pub fn dirq7f(
14693        self,
14694    ) -> crate::common::RegisterField<
14695        7,
14696        0x1,
14697        1,
14698        0,
14699        dpsifr0::Dirq7F,
14700        dpsifr0::Dirq7F,
14701        Dpsifr0_SPEC,
14702        crate::common::RW,
14703    > {
14704        crate::common::RegisterField::<
14705            7,
14706            0x1,
14707            1,
14708            0,
14709            dpsifr0::Dirq7F,
14710            dpsifr0::Dirq7F,
14711            Dpsifr0_SPEC,
14712            crate::common::RW,
14713        >::from_register(self, 0)
14714    }
14715}
14716impl ::core::default::Default for Dpsifr0 {
14717    #[inline(always)]
14718    fn default() -> Dpsifr0 {
14719        <crate::RegValueT<Dpsifr0_SPEC> as RegisterValue<_>>::new(0)
14720    }
14721}
14722pub mod dpsifr0 {
14723
14724    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14725    pub struct Dirq0F_SPEC;
14726    pub type Dirq0F = crate::EnumBitfieldStruct<u8, Dirq0F_SPEC>;
14727    impl Dirq0F {
14728        #[doc = "The cancel request is not generated"]
14729        pub const _0: Self = Self::new(0);
14730
14731        #[doc = "The cancel request is generated"]
14732        pub const _1: Self = Self::new(1);
14733    }
14734    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14735    pub struct Dirq1F_SPEC;
14736    pub type Dirq1F = crate::EnumBitfieldStruct<u8, Dirq1F_SPEC>;
14737    impl Dirq1F {
14738        #[doc = "The cancel request is not generated"]
14739        pub const _0: Self = Self::new(0);
14740
14741        #[doc = "The cancel request is generated"]
14742        pub const _1: Self = Self::new(1);
14743    }
14744    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14745    pub struct Dirq2F_SPEC;
14746    pub type Dirq2F = crate::EnumBitfieldStruct<u8, Dirq2F_SPEC>;
14747    impl Dirq2F {
14748        #[doc = "The cancel request is not generated"]
14749        pub const _0: Self = Self::new(0);
14750
14751        #[doc = "The cancel request is generated"]
14752        pub const _1: Self = Self::new(1);
14753    }
14754    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14755    pub struct Dirq3F_SPEC;
14756    pub type Dirq3F = crate::EnumBitfieldStruct<u8, Dirq3F_SPEC>;
14757    impl Dirq3F {
14758        #[doc = "The cancel request is not generated"]
14759        pub const _0: Self = Self::new(0);
14760
14761        #[doc = "The cancel request is generated"]
14762        pub const _1: Self = Self::new(1);
14763    }
14764    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14765    pub struct Dirq4F_SPEC;
14766    pub type Dirq4F = crate::EnumBitfieldStruct<u8, Dirq4F_SPEC>;
14767    impl Dirq4F {
14768        #[doc = "The cancel request is not generated"]
14769        pub const _0: Self = Self::new(0);
14770
14771        #[doc = "The cancel request is generated"]
14772        pub const _1: Self = Self::new(1);
14773    }
14774    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14775    pub struct Dirq5F_SPEC;
14776    pub type Dirq5F = crate::EnumBitfieldStruct<u8, Dirq5F_SPEC>;
14777    impl Dirq5F {
14778        #[doc = "The cancel request is not generated"]
14779        pub const _0: Self = Self::new(0);
14780
14781        #[doc = "The cancel request is generated"]
14782        pub const _1: Self = Self::new(1);
14783    }
14784    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14785    pub struct Dirq6F_SPEC;
14786    pub type Dirq6F = crate::EnumBitfieldStruct<u8, Dirq6F_SPEC>;
14787    impl Dirq6F {
14788        #[doc = "The cancel request is not generated"]
14789        pub const _0: Self = Self::new(0);
14790
14791        #[doc = "The cancel request is generated"]
14792        pub const _1: Self = Self::new(1);
14793    }
14794    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14795    pub struct Dirq7F_SPEC;
14796    pub type Dirq7F = crate::EnumBitfieldStruct<u8, Dirq7F_SPEC>;
14797    impl Dirq7F {
14798        #[doc = "The cancel request is not generated"]
14799        pub const _0: Self = Self::new(0);
14800
14801        #[doc = "The cancel request is generated"]
14802        pub const _1: Self = Self::new(1);
14803    }
14804}
14805#[doc(hidden)]
14806#[derive(Copy, Clone, Eq, PartialEq)]
14807pub struct Dpsifr1_SPEC;
14808impl crate::sealed::RegSpec for Dpsifr1_SPEC {
14809    type DataType = u8;
14810}
14811
14812#[doc = "Deep Standby Interrupt Flag Register 1"]
14813pub type Dpsifr1 = crate::RegValueT<Dpsifr1_SPEC>;
14814
14815impl Dpsifr1 {
14816    #[doc = "IRQ8-DS Pin Deep Standby Cancel Flag"]
14817    #[inline(always)]
14818    pub fn dirq8f(
14819        self,
14820    ) -> crate::common::RegisterField<
14821        0,
14822        0x1,
14823        1,
14824        0,
14825        dpsifr1::Dirq8F,
14826        dpsifr1::Dirq8F,
14827        Dpsifr1_SPEC,
14828        crate::common::RW,
14829    > {
14830        crate::common::RegisterField::<
14831            0,
14832            0x1,
14833            1,
14834            0,
14835            dpsifr1::Dirq8F,
14836            dpsifr1::Dirq8F,
14837            Dpsifr1_SPEC,
14838            crate::common::RW,
14839        >::from_register(self, 0)
14840    }
14841
14842    #[doc = "IRQ9-DS Pin Deep Standby Cancel Flag"]
14843    #[inline(always)]
14844    pub fn dirq9f(
14845        self,
14846    ) -> crate::common::RegisterField<
14847        1,
14848        0x1,
14849        1,
14850        0,
14851        dpsifr1::Dirq9F,
14852        dpsifr1::Dirq9F,
14853        Dpsifr1_SPEC,
14854        crate::common::RW,
14855    > {
14856        crate::common::RegisterField::<
14857            1,
14858            0x1,
14859            1,
14860            0,
14861            dpsifr1::Dirq9F,
14862            dpsifr1::Dirq9F,
14863            Dpsifr1_SPEC,
14864            crate::common::RW,
14865        >::from_register(self, 0)
14866    }
14867
14868    #[doc = "IRQ10-DS Pin Deep Standby Cancel Flag"]
14869    #[inline(always)]
14870    pub fn dirq10f(
14871        self,
14872    ) -> crate::common::RegisterField<
14873        2,
14874        0x1,
14875        1,
14876        0,
14877        dpsifr1::Dirq10F,
14878        dpsifr1::Dirq10F,
14879        Dpsifr1_SPEC,
14880        crate::common::RW,
14881    > {
14882        crate::common::RegisterField::<
14883            2,
14884            0x1,
14885            1,
14886            0,
14887            dpsifr1::Dirq10F,
14888            dpsifr1::Dirq10F,
14889            Dpsifr1_SPEC,
14890            crate::common::RW,
14891        >::from_register(self, 0)
14892    }
14893
14894    #[doc = "IRQ11-DS Pin Deep Standby Cancel Flag"]
14895    #[inline(always)]
14896    pub fn dirq11f(
14897        self,
14898    ) -> crate::common::RegisterField<
14899        3,
14900        0x1,
14901        1,
14902        0,
14903        dpsifr1::Dirq11F,
14904        dpsifr1::Dirq11F,
14905        Dpsifr1_SPEC,
14906        crate::common::RW,
14907    > {
14908        crate::common::RegisterField::<
14909            3,
14910            0x1,
14911            1,
14912            0,
14913            dpsifr1::Dirq11F,
14914            dpsifr1::Dirq11F,
14915            Dpsifr1_SPEC,
14916            crate::common::RW,
14917        >::from_register(self, 0)
14918    }
14919
14920    #[doc = "IRQ12-DS Pin Deep Standby Cancel Flag"]
14921    #[inline(always)]
14922    pub fn dirq12f(
14923        self,
14924    ) -> crate::common::RegisterField<
14925        4,
14926        0x1,
14927        1,
14928        0,
14929        dpsifr1::Dirq12F,
14930        dpsifr1::Dirq12F,
14931        Dpsifr1_SPEC,
14932        crate::common::RW,
14933    > {
14934        crate::common::RegisterField::<
14935            4,
14936            0x1,
14937            1,
14938            0,
14939            dpsifr1::Dirq12F,
14940            dpsifr1::Dirq12F,
14941            Dpsifr1_SPEC,
14942            crate::common::RW,
14943        >::from_register(self, 0)
14944    }
14945
14946    #[doc = "IRQ13-DS Pin Deep Standby Cancel Flag"]
14947    #[inline(always)]
14948    pub fn dirq13f(
14949        self,
14950    ) -> crate::common::RegisterField<
14951        5,
14952        0x1,
14953        1,
14954        0,
14955        dpsifr1::Dirq13F,
14956        dpsifr1::Dirq13F,
14957        Dpsifr1_SPEC,
14958        crate::common::RW,
14959    > {
14960        crate::common::RegisterField::<
14961            5,
14962            0x1,
14963            1,
14964            0,
14965            dpsifr1::Dirq13F,
14966            dpsifr1::Dirq13F,
14967            Dpsifr1_SPEC,
14968            crate::common::RW,
14969        >::from_register(self, 0)
14970    }
14971
14972    #[doc = "IRQ14-DS Pin Deep Standby Cancel Flag"]
14973    #[inline(always)]
14974    pub fn dirq14f(
14975        self,
14976    ) -> crate::common::RegisterField<
14977        6,
14978        0x1,
14979        1,
14980        0,
14981        dpsifr1::Dirq14F,
14982        dpsifr1::Dirq14F,
14983        Dpsifr1_SPEC,
14984        crate::common::RW,
14985    > {
14986        crate::common::RegisterField::<
14987            6,
14988            0x1,
14989            1,
14990            0,
14991            dpsifr1::Dirq14F,
14992            dpsifr1::Dirq14F,
14993            Dpsifr1_SPEC,
14994            crate::common::RW,
14995        >::from_register(self, 0)
14996    }
14997
14998    #[doc = "IRQ15-DS Pin Deep Standby Cancel Flag"]
14999    #[inline(always)]
15000    pub fn dirq15f(
15001        self,
15002    ) -> crate::common::RegisterField<
15003        7,
15004        0x1,
15005        1,
15006        0,
15007        dpsifr1::Dirq15F,
15008        dpsifr1::Dirq15F,
15009        Dpsifr1_SPEC,
15010        crate::common::RW,
15011    > {
15012        crate::common::RegisterField::<
15013            7,
15014            0x1,
15015            1,
15016            0,
15017            dpsifr1::Dirq15F,
15018            dpsifr1::Dirq15F,
15019            Dpsifr1_SPEC,
15020            crate::common::RW,
15021        >::from_register(self, 0)
15022    }
15023}
15024impl ::core::default::Default for Dpsifr1 {
15025    #[inline(always)]
15026    fn default() -> Dpsifr1 {
15027        <crate::RegValueT<Dpsifr1_SPEC> as RegisterValue<_>>::new(0)
15028    }
15029}
15030pub mod dpsifr1 {
15031
15032    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15033    pub struct Dirq8F_SPEC;
15034    pub type Dirq8F = crate::EnumBitfieldStruct<u8, Dirq8F_SPEC>;
15035    impl Dirq8F {
15036        #[doc = "The cancel request is not generated"]
15037        pub const _0: Self = Self::new(0);
15038
15039        #[doc = "The cancel request is generated"]
15040        pub const _1: Self = Self::new(1);
15041    }
15042    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15043    pub struct Dirq9F_SPEC;
15044    pub type Dirq9F = crate::EnumBitfieldStruct<u8, Dirq9F_SPEC>;
15045    impl Dirq9F {
15046        #[doc = "The cancel request is not generated"]
15047        pub const _0: Self = Self::new(0);
15048
15049        #[doc = "The cancel request is generated"]
15050        pub const _1: Self = Self::new(1);
15051    }
15052    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15053    pub struct Dirq10F_SPEC;
15054    pub type Dirq10F = crate::EnumBitfieldStruct<u8, Dirq10F_SPEC>;
15055    impl Dirq10F {
15056        #[doc = "The cancel request is not generated"]
15057        pub const _0: Self = Self::new(0);
15058
15059        #[doc = "The cancel request is generated"]
15060        pub const _1: Self = Self::new(1);
15061    }
15062    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15063    pub struct Dirq11F_SPEC;
15064    pub type Dirq11F = crate::EnumBitfieldStruct<u8, Dirq11F_SPEC>;
15065    impl Dirq11F {
15066        #[doc = "The cancel request is not generated"]
15067        pub const _0: Self = Self::new(0);
15068
15069        #[doc = "The cancel request is generated"]
15070        pub const _1: Self = Self::new(1);
15071    }
15072    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15073    pub struct Dirq12F_SPEC;
15074    pub type Dirq12F = crate::EnumBitfieldStruct<u8, Dirq12F_SPEC>;
15075    impl Dirq12F {
15076        #[doc = "The cancel request is not generated"]
15077        pub const _0: Self = Self::new(0);
15078
15079        #[doc = "The cancel request is generated"]
15080        pub const _1: Self = Self::new(1);
15081    }
15082    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15083    pub struct Dirq13F_SPEC;
15084    pub type Dirq13F = crate::EnumBitfieldStruct<u8, Dirq13F_SPEC>;
15085    impl Dirq13F {
15086        #[doc = "The cancel request is not generated"]
15087        pub const _0: Self = Self::new(0);
15088
15089        #[doc = "The cancel request is generated"]
15090        pub const _1: Self = Self::new(1);
15091    }
15092    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15093    pub struct Dirq14F_SPEC;
15094    pub type Dirq14F = crate::EnumBitfieldStruct<u8, Dirq14F_SPEC>;
15095    impl Dirq14F {
15096        #[doc = "The cancel request is not generated"]
15097        pub const _0: Self = Self::new(0);
15098
15099        #[doc = "The cancel request is generated"]
15100        pub const _1: Self = Self::new(1);
15101    }
15102    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15103    pub struct Dirq15F_SPEC;
15104    pub type Dirq15F = crate::EnumBitfieldStruct<u8, Dirq15F_SPEC>;
15105    impl Dirq15F {
15106        #[doc = "The cancel request is not generated"]
15107        pub const _0: Self = Self::new(0);
15108
15109        #[doc = "The cancel request is generated"]
15110        pub const _1: Self = Self::new(1);
15111    }
15112}
15113#[doc(hidden)]
15114#[derive(Copy, Clone, Eq, PartialEq)]
15115pub struct Dpsifr2_SPEC;
15116impl crate::sealed::RegSpec for Dpsifr2_SPEC {
15117    type DataType = u8;
15118}
15119
15120#[doc = "Deep Standby Interrupt Flag Register 2"]
15121pub type Dpsifr2 = crate::RegValueT<Dpsifr2_SPEC>;
15122
15123impl Dpsifr2 {
15124    #[doc = "PVD1 Deep Standby Cancel Flag"]
15125    #[inline(always)]
15126    pub fn dpvd1if(
15127        self,
15128    ) -> crate::common::RegisterField<
15129        0,
15130        0x1,
15131        1,
15132        0,
15133        dpsifr2::Dpvd1If,
15134        dpsifr2::Dpvd1If,
15135        Dpsifr2_SPEC,
15136        crate::common::RW,
15137    > {
15138        crate::common::RegisterField::<
15139            0,
15140            0x1,
15141            1,
15142            0,
15143            dpsifr2::Dpvd1If,
15144            dpsifr2::Dpvd1If,
15145            Dpsifr2_SPEC,
15146            crate::common::RW,
15147        >::from_register(self, 0)
15148    }
15149
15150    #[doc = "PVD2 Deep Standby Cancel Flag"]
15151    #[inline(always)]
15152    pub fn dpvd2if(
15153        self,
15154    ) -> crate::common::RegisterField<
15155        1,
15156        0x1,
15157        1,
15158        0,
15159        dpsifr2::Dpvd2If,
15160        dpsifr2::Dpvd2If,
15161        Dpsifr2_SPEC,
15162        crate::common::RW,
15163    > {
15164        crate::common::RegisterField::<
15165            1,
15166            0x1,
15167            1,
15168            0,
15169            dpsifr2::Dpvd2If,
15170            dpsifr2::Dpvd2If,
15171            Dpsifr2_SPEC,
15172            crate::common::RW,
15173        >::from_register(self, 0)
15174    }
15175
15176    #[doc = "RTC Interval interrupt Deep Standby Cancel Flag"]
15177    #[inline(always)]
15178    pub fn dtrtciif(
15179        self,
15180    ) -> crate::common::RegisterField<
15181        2,
15182        0x1,
15183        1,
15184        0,
15185        dpsifr2::Dtrtciif,
15186        dpsifr2::Dtrtciif,
15187        Dpsifr2_SPEC,
15188        crate::common::RW,
15189    > {
15190        crate::common::RegisterField::<
15191            2,
15192            0x1,
15193            1,
15194            0,
15195            dpsifr2::Dtrtciif,
15196            dpsifr2::Dtrtciif,
15197            Dpsifr2_SPEC,
15198            crate::common::RW,
15199        >::from_register(self, 0)
15200    }
15201
15202    #[doc = "RTC Alarm interrupt Deep Standby Cancel Flag"]
15203    #[inline(always)]
15204    pub fn drtcaif(
15205        self,
15206    ) -> crate::common::RegisterField<
15207        3,
15208        0x1,
15209        1,
15210        0,
15211        dpsifr2::Drtcaif,
15212        dpsifr2::Drtcaif,
15213        Dpsifr2_SPEC,
15214        crate::common::RW,
15215    > {
15216        crate::common::RegisterField::<
15217            3,
15218            0x1,
15219            1,
15220            0,
15221            dpsifr2::Drtcaif,
15222            dpsifr2::Drtcaif,
15223            Dpsifr2_SPEC,
15224            crate::common::RW,
15225        >::from_register(self, 0)
15226    }
15227
15228    #[doc = "NMI Pin Deep Standby Cancel Flag"]
15229    #[inline(always)]
15230    pub fn dnmif(
15231        self,
15232    ) -> crate::common::RegisterField<
15233        4,
15234        0x1,
15235        1,
15236        0,
15237        dpsifr2::Dnmif,
15238        dpsifr2::Dnmif,
15239        Dpsifr2_SPEC,
15240        crate::common::RW,
15241    > {
15242        crate::common::RegisterField::<
15243            4,
15244            0x1,
15245            1,
15246            0,
15247            dpsifr2::Dnmif,
15248            dpsifr2::Dnmif,
15249            Dpsifr2_SPEC,
15250            crate::common::RW,
15251        >::from_register(self, 0)
15252    }
15253
15254    #[doc = "This bit is read as 0. The write value should be 0."]
15255    #[inline(always)]
15256    pub fn reserved(
15257        self,
15258    ) -> crate::common::RegisterFieldBool<7, 1, 0, Dpsifr2_SPEC, crate::common::RW> {
15259        crate::common::RegisterFieldBool::<7, 1, 0, Dpsifr2_SPEC, crate::common::RW>::from_register(
15260            self, 0,
15261        )
15262    }
15263}
15264impl ::core::default::Default for Dpsifr2 {
15265    #[inline(always)]
15266    fn default() -> Dpsifr2 {
15267        <crate::RegValueT<Dpsifr2_SPEC> as RegisterValue<_>>::new(0)
15268    }
15269}
15270pub mod dpsifr2 {
15271
15272    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15273    pub struct Dpvd1If_SPEC;
15274    pub type Dpvd1If = crate::EnumBitfieldStruct<u8, Dpvd1If_SPEC>;
15275    impl Dpvd1If {
15276        #[doc = "The cancel request is not generated"]
15277        pub const _0: Self = Self::new(0);
15278
15279        #[doc = "The cancel request is generated"]
15280        pub const _1: Self = Self::new(1);
15281    }
15282    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15283    pub struct Dpvd2If_SPEC;
15284    pub type Dpvd2If = crate::EnumBitfieldStruct<u8, Dpvd2If_SPEC>;
15285    impl Dpvd2If {
15286        #[doc = "The cancel request is not generated"]
15287        pub const _0: Self = Self::new(0);
15288
15289        #[doc = "The cancel request is generated"]
15290        pub const _1: Self = Self::new(1);
15291    }
15292    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15293    pub struct Dtrtciif_SPEC;
15294    pub type Dtrtciif = crate::EnumBitfieldStruct<u8, Dtrtciif_SPEC>;
15295    impl Dtrtciif {
15296        #[doc = "The cancel request is not generated"]
15297        pub const _0: Self = Self::new(0);
15298
15299        #[doc = "The cancel request is generated"]
15300        pub const _1: Self = Self::new(1);
15301    }
15302    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15303    pub struct Drtcaif_SPEC;
15304    pub type Drtcaif = crate::EnumBitfieldStruct<u8, Drtcaif_SPEC>;
15305    impl Drtcaif {
15306        #[doc = "The cancel request is not generated"]
15307        pub const _0: Self = Self::new(0);
15308
15309        #[doc = "The cancel request is generated"]
15310        pub const _1: Self = Self::new(1);
15311    }
15312    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15313    pub struct Dnmif_SPEC;
15314    pub type Dnmif = crate::EnumBitfieldStruct<u8, Dnmif_SPEC>;
15315    impl Dnmif {
15316        #[doc = "The cancel request is not generated"]
15317        pub const _0: Self = Self::new(0);
15318
15319        #[doc = "The cancel request is generated"]
15320        pub const _1: Self = Self::new(1);
15321    }
15322}
15323#[doc(hidden)]
15324#[derive(Copy, Clone, Eq, PartialEq)]
15325pub struct Dpsifr3_SPEC;
15326impl crate::sealed::RegSpec for Dpsifr3_SPEC {
15327    type DataType = u8;
15328}
15329
15330#[doc = "Deep Standby Interrupt Flag Register 3"]
15331pub type Dpsifr3 = crate::RegValueT<Dpsifr3_SPEC>;
15332
15333impl Dpsifr3 {
15334    #[doc = "USBFS Suspend/Resume Deep Standby Cancel Flag"]
15335    #[inline(always)]
15336    pub fn dusbfsif(
15337        self,
15338    ) -> crate::common::RegisterField<
15339        0,
15340        0x1,
15341        1,
15342        0,
15343        dpsifr3::Dusbfsif,
15344        dpsifr3::Dusbfsif,
15345        Dpsifr3_SPEC,
15346        crate::common::RW,
15347    > {
15348        crate::common::RegisterField::<
15349            0,
15350            0x1,
15351            1,
15352            0,
15353            dpsifr3::Dusbfsif,
15354            dpsifr3::Dusbfsif,
15355            Dpsifr3_SPEC,
15356            crate::common::RW,
15357        >::from_register(self, 0)
15358    }
15359
15360    #[doc = "USBHS Suspend/Resume Deep Standby Cancel Flag"]
15361    #[inline(always)]
15362    pub fn dusbhsif(
15363        self,
15364    ) -> crate::common::RegisterField<
15365        1,
15366        0x1,
15367        1,
15368        0,
15369        dpsifr3::Dusbhsif,
15370        dpsifr3::Dusbhsif,
15371        Dpsifr3_SPEC,
15372        crate::common::RW,
15373    > {
15374        crate::common::RegisterField::<
15375            1,
15376            0x1,
15377            1,
15378            0,
15379            dpsifr3::Dusbhsif,
15380            dpsifr3::Dusbhsif,
15381            Dpsifr3_SPEC,
15382            crate::common::RW,
15383        >::from_register(self, 0)
15384    }
15385
15386    #[doc = "ULPT0 Overflow Deep Standby Cancel Flag"]
15387    #[inline(always)]
15388    pub fn dulpt0if(
15389        self,
15390    ) -> crate::common::RegisterField<
15391        2,
15392        0x1,
15393        1,
15394        0,
15395        dpsifr3::Dulpt0If,
15396        dpsifr3::Dulpt0If,
15397        Dpsifr3_SPEC,
15398        crate::common::RW,
15399    > {
15400        crate::common::RegisterField::<
15401            2,
15402            0x1,
15403            1,
15404            0,
15405            dpsifr3::Dulpt0If,
15406            dpsifr3::Dulpt0If,
15407            Dpsifr3_SPEC,
15408            crate::common::RW,
15409        >::from_register(self, 0)
15410    }
15411
15412    #[doc = "ULPT1 Overflow Deep Standby Cancel Flag"]
15413    #[inline(always)]
15414    pub fn dulpt1if(
15415        self,
15416    ) -> crate::common::RegisterField<
15417        3,
15418        0x1,
15419        1,
15420        0,
15421        dpsifr3::Dulpt1If,
15422        dpsifr3::Dulpt1If,
15423        Dpsifr3_SPEC,
15424        crate::common::RW,
15425    > {
15426        crate::common::RegisterField::<
15427            3,
15428            0x1,
15429            1,
15430            0,
15431            dpsifr3::Dulpt1If,
15432            dpsifr3::Dulpt1If,
15433            Dpsifr3_SPEC,
15434            crate::common::RW,
15435        >::from_register(self, 0)
15436    }
15437
15438    #[doc = "IWDT Overflow Deep Standby Cancel Flag"]
15439    #[inline(always)]
15440    pub fn diwdtif(
15441        self,
15442    ) -> crate::common::RegisterField<
15443        5,
15444        0x1,
15445        1,
15446        0,
15447        dpsifr3::Diwdtif,
15448        dpsifr3::Diwdtif,
15449        Dpsifr3_SPEC,
15450        crate::common::RW,
15451    > {
15452        crate::common::RegisterField::<
15453            5,
15454            0x1,
15455            1,
15456            0,
15457            dpsifr3::Diwdtif,
15458            dpsifr3::Diwdtif,
15459            Dpsifr3_SPEC,
15460            crate::common::RW,
15461        >::from_register(self, 0)
15462    }
15463
15464    #[doc = "This bit is read as 0. The write value should be 0."]
15465    #[inline(always)]
15466    pub fn reserved(
15467        self,
15468    ) -> crate::common::RegisterFieldBool<6, 1, 0, Dpsifr3_SPEC, crate::common::RW> {
15469        crate::common::RegisterFieldBool::<6, 1, 0, Dpsifr3_SPEC, crate::common::RW>::from_register(
15470            self, 0,
15471        )
15472    }
15473
15474    #[doc = "VBATT Tamper Detection Deep Standby Cancel Flag"]
15475    #[inline(always)]
15476    pub fn dvbattadif(
15477        self,
15478    ) -> crate::common::RegisterField<
15479        7,
15480        0x1,
15481        1,
15482        0,
15483        dpsifr3::Dvbattadif,
15484        dpsifr3::Dvbattadif,
15485        Dpsifr3_SPEC,
15486        crate::common::RW,
15487    > {
15488        crate::common::RegisterField::<
15489            7,
15490            0x1,
15491            1,
15492            0,
15493            dpsifr3::Dvbattadif,
15494            dpsifr3::Dvbattadif,
15495            Dpsifr3_SPEC,
15496            crate::common::RW,
15497        >::from_register(self, 0)
15498    }
15499}
15500impl ::core::default::Default for Dpsifr3 {
15501    #[inline(always)]
15502    fn default() -> Dpsifr3 {
15503        <crate::RegValueT<Dpsifr3_SPEC> as RegisterValue<_>>::new(0)
15504    }
15505}
15506pub mod dpsifr3 {
15507
15508    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15509    pub struct Dusbfsif_SPEC;
15510    pub type Dusbfsif = crate::EnumBitfieldStruct<u8, Dusbfsif_SPEC>;
15511    impl Dusbfsif {
15512        #[doc = "The cancel request is not generated"]
15513        pub const _0: Self = Self::new(0);
15514
15515        #[doc = "The cancel request is generated"]
15516        pub const _1: Self = Self::new(1);
15517    }
15518    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15519    pub struct Dusbhsif_SPEC;
15520    pub type Dusbhsif = crate::EnumBitfieldStruct<u8, Dusbhsif_SPEC>;
15521    impl Dusbhsif {
15522        #[doc = "The cancel request is not generated"]
15523        pub const _0: Self = Self::new(0);
15524
15525        #[doc = "The cancel request is generated"]
15526        pub const _1: Self = Self::new(1);
15527    }
15528    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15529    pub struct Dulpt0If_SPEC;
15530    pub type Dulpt0If = crate::EnumBitfieldStruct<u8, Dulpt0If_SPEC>;
15531    impl Dulpt0If {
15532        #[doc = "The cancel request is not generated"]
15533        pub const _0: Self = Self::new(0);
15534
15535        #[doc = "The cancel request is generated"]
15536        pub const _1: Self = Self::new(1);
15537    }
15538    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15539    pub struct Dulpt1If_SPEC;
15540    pub type Dulpt1If = crate::EnumBitfieldStruct<u8, Dulpt1If_SPEC>;
15541    impl Dulpt1If {
15542        #[doc = "The cancel request is not generated"]
15543        pub const _0: Self = Self::new(0);
15544
15545        #[doc = "The cancel request is generated"]
15546        pub const _1: Self = Self::new(1);
15547    }
15548    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15549    pub struct Diwdtif_SPEC;
15550    pub type Diwdtif = crate::EnumBitfieldStruct<u8, Diwdtif_SPEC>;
15551    impl Diwdtif {
15552        #[doc = "The cancel request is not generated"]
15553        pub const _0: Self = Self::new(0);
15554
15555        #[doc = "The cancel request is generated"]
15556        pub const _1: Self = Self::new(1);
15557    }
15558    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15559    pub struct Dvbattadif_SPEC;
15560    pub type Dvbattadif = crate::EnumBitfieldStruct<u8, Dvbattadif_SPEC>;
15561    impl Dvbattadif {
15562        #[doc = "The cancel request is not generated"]
15563        pub const _0: Self = Self::new(0);
15564
15565        #[doc = "The cancel request is generated"]
15566        pub const _1: Self = Self::new(1);
15567    }
15568}
15569#[doc(hidden)]
15570#[derive(Copy, Clone, Eq, PartialEq)]
15571pub struct Dpsiegr0_SPEC;
15572impl crate::sealed::RegSpec for Dpsiegr0_SPEC {
15573    type DataType = u8;
15574}
15575
15576#[doc = "Deep Standby Interrupt Edge Register 0"]
15577pub type Dpsiegr0 = crate::RegValueT<Dpsiegr0_SPEC>;
15578
15579impl Dpsiegr0 {
15580    #[doc = "IRQ0-DS Pin Edge Select"]
15581    #[inline(always)]
15582    pub fn dirq0eg(
15583        self,
15584    ) -> crate::common::RegisterField<
15585        0,
15586        0x1,
15587        1,
15588        0,
15589        dpsiegr0::Dirq0Eg,
15590        dpsiegr0::Dirq0Eg,
15591        Dpsiegr0_SPEC,
15592        crate::common::RW,
15593    > {
15594        crate::common::RegisterField::<
15595            0,
15596            0x1,
15597            1,
15598            0,
15599            dpsiegr0::Dirq0Eg,
15600            dpsiegr0::Dirq0Eg,
15601            Dpsiegr0_SPEC,
15602            crate::common::RW,
15603        >::from_register(self, 0)
15604    }
15605
15606    #[doc = "IRQ1-DS Pin Edge Select"]
15607    #[inline(always)]
15608    pub fn dirq1eg(
15609        self,
15610    ) -> crate::common::RegisterField<
15611        1,
15612        0x1,
15613        1,
15614        0,
15615        dpsiegr0::Dirq1Eg,
15616        dpsiegr0::Dirq1Eg,
15617        Dpsiegr0_SPEC,
15618        crate::common::RW,
15619    > {
15620        crate::common::RegisterField::<
15621            1,
15622            0x1,
15623            1,
15624            0,
15625            dpsiegr0::Dirq1Eg,
15626            dpsiegr0::Dirq1Eg,
15627            Dpsiegr0_SPEC,
15628            crate::common::RW,
15629        >::from_register(self, 0)
15630    }
15631
15632    #[doc = "IRQ2-DS Pin Edge Select"]
15633    #[inline(always)]
15634    pub fn dirq2eg(
15635        self,
15636    ) -> crate::common::RegisterField<
15637        2,
15638        0x1,
15639        1,
15640        0,
15641        dpsiegr0::Dirq2Eg,
15642        dpsiegr0::Dirq2Eg,
15643        Dpsiegr0_SPEC,
15644        crate::common::RW,
15645    > {
15646        crate::common::RegisterField::<
15647            2,
15648            0x1,
15649            1,
15650            0,
15651            dpsiegr0::Dirq2Eg,
15652            dpsiegr0::Dirq2Eg,
15653            Dpsiegr0_SPEC,
15654            crate::common::RW,
15655        >::from_register(self, 0)
15656    }
15657
15658    #[doc = "IRQ3-DS Pin Edge Select"]
15659    #[inline(always)]
15660    pub fn dirq3eg(
15661        self,
15662    ) -> crate::common::RegisterField<
15663        3,
15664        0x1,
15665        1,
15666        0,
15667        dpsiegr0::Dirq3Eg,
15668        dpsiegr0::Dirq3Eg,
15669        Dpsiegr0_SPEC,
15670        crate::common::RW,
15671    > {
15672        crate::common::RegisterField::<
15673            3,
15674            0x1,
15675            1,
15676            0,
15677            dpsiegr0::Dirq3Eg,
15678            dpsiegr0::Dirq3Eg,
15679            Dpsiegr0_SPEC,
15680            crate::common::RW,
15681        >::from_register(self, 0)
15682    }
15683
15684    #[doc = "IRQ4-DS Pin Edge Select"]
15685    #[inline(always)]
15686    pub fn dirq4eg(
15687        self,
15688    ) -> crate::common::RegisterField<
15689        4,
15690        0x1,
15691        1,
15692        0,
15693        dpsiegr0::Dirq4Eg,
15694        dpsiegr0::Dirq4Eg,
15695        Dpsiegr0_SPEC,
15696        crate::common::RW,
15697    > {
15698        crate::common::RegisterField::<
15699            4,
15700            0x1,
15701            1,
15702            0,
15703            dpsiegr0::Dirq4Eg,
15704            dpsiegr0::Dirq4Eg,
15705            Dpsiegr0_SPEC,
15706            crate::common::RW,
15707        >::from_register(self, 0)
15708    }
15709
15710    #[doc = "IRQ5-DS Pin Edge Select"]
15711    #[inline(always)]
15712    pub fn dirq5eg(
15713        self,
15714    ) -> crate::common::RegisterField<
15715        5,
15716        0x1,
15717        1,
15718        0,
15719        dpsiegr0::Dirq5Eg,
15720        dpsiegr0::Dirq5Eg,
15721        Dpsiegr0_SPEC,
15722        crate::common::RW,
15723    > {
15724        crate::common::RegisterField::<
15725            5,
15726            0x1,
15727            1,
15728            0,
15729            dpsiegr0::Dirq5Eg,
15730            dpsiegr0::Dirq5Eg,
15731            Dpsiegr0_SPEC,
15732            crate::common::RW,
15733        >::from_register(self, 0)
15734    }
15735
15736    #[doc = "IRQ6-DS Pin Edge Select"]
15737    #[inline(always)]
15738    pub fn dirq6eg(
15739        self,
15740    ) -> crate::common::RegisterField<
15741        6,
15742        0x1,
15743        1,
15744        0,
15745        dpsiegr0::Dirq6Eg,
15746        dpsiegr0::Dirq6Eg,
15747        Dpsiegr0_SPEC,
15748        crate::common::RW,
15749    > {
15750        crate::common::RegisterField::<
15751            6,
15752            0x1,
15753            1,
15754            0,
15755            dpsiegr0::Dirq6Eg,
15756            dpsiegr0::Dirq6Eg,
15757            Dpsiegr0_SPEC,
15758            crate::common::RW,
15759        >::from_register(self, 0)
15760    }
15761
15762    #[doc = "IRQ7-DS Pin Edge Select"]
15763    #[inline(always)]
15764    pub fn dirq7eg(
15765        self,
15766    ) -> crate::common::RegisterField<
15767        7,
15768        0x1,
15769        1,
15770        0,
15771        dpsiegr0::Dirq7Eg,
15772        dpsiegr0::Dirq7Eg,
15773        Dpsiegr0_SPEC,
15774        crate::common::RW,
15775    > {
15776        crate::common::RegisterField::<
15777            7,
15778            0x1,
15779            1,
15780            0,
15781            dpsiegr0::Dirq7Eg,
15782            dpsiegr0::Dirq7Eg,
15783            Dpsiegr0_SPEC,
15784            crate::common::RW,
15785        >::from_register(self, 0)
15786    }
15787}
15788impl ::core::default::Default for Dpsiegr0 {
15789    #[inline(always)]
15790    fn default() -> Dpsiegr0 {
15791        <crate::RegValueT<Dpsiegr0_SPEC> as RegisterValue<_>>::new(0)
15792    }
15793}
15794pub mod dpsiegr0 {
15795
15796    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15797    pub struct Dirq0Eg_SPEC;
15798    pub type Dirq0Eg = crate::EnumBitfieldStruct<u8, Dirq0Eg_SPEC>;
15799    impl Dirq0Eg {
15800        #[doc = "A cancel request is generated at a falling edge"]
15801        pub const _0: Self = Self::new(0);
15802
15803        #[doc = "A cancel request is generated at a rising edge"]
15804        pub const _1: Self = Self::new(1);
15805    }
15806    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15807    pub struct Dirq1Eg_SPEC;
15808    pub type Dirq1Eg = crate::EnumBitfieldStruct<u8, Dirq1Eg_SPEC>;
15809    impl Dirq1Eg {
15810        #[doc = "A cancel request is generated at a falling edge"]
15811        pub const _0: Self = Self::new(0);
15812
15813        #[doc = "A cancel request is generated at a rising edge"]
15814        pub const _1: Self = Self::new(1);
15815    }
15816    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15817    pub struct Dirq2Eg_SPEC;
15818    pub type Dirq2Eg = crate::EnumBitfieldStruct<u8, Dirq2Eg_SPEC>;
15819    impl Dirq2Eg {
15820        #[doc = "A cancel request is generated at a falling edge"]
15821        pub const _0: Self = Self::new(0);
15822
15823        #[doc = "A cancel request is generated at a rising edge"]
15824        pub const _1: Self = Self::new(1);
15825    }
15826    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15827    pub struct Dirq3Eg_SPEC;
15828    pub type Dirq3Eg = crate::EnumBitfieldStruct<u8, Dirq3Eg_SPEC>;
15829    impl Dirq3Eg {
15830        #[doc = "A cancel request is generated at a falling edge"]
15831        pub const _0: Self = Self::new(0);
15832
15833        #[doc = "A cancel request is generated at a rising edge"]
15834        pub const _1: Self = Self::new(1);
15835    }
15836    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15837    pub struct Dirq4Eg_SPEC;
15838    pub type Dirq4Eg = crate::EnumBitfieldStruct<u8, Dirq4Eg_SPEC>;
15839    impl Dirq4Eg {
15840        #[doc = "A cancel request is generated at a falling edge"]
15841        pub const _0: Self = Self::new(0);
15842
15843        #[doc = "A cancel request is generated at a rising edge"]
15844        pub const _1: Self = Self::new(1);
15845    }
15846    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15847    pub struct Dirq5Eg_SPEC;
15848    pub type Dirq5Eg = crate::EnumBitfieldStruct<u8, Dirq5Eg_SPEC>;
15849    impl Dirq5Eg {
15850        #[doc = "A cancel request is generated at a falling edge"]
15851        pub const _0: Self = Self::new(0);
15852
15853        #[doc = "A cancel request is generated at a rising edge"]
15854        pub const _1: Self = Self::new(1);
15855    }
15856    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15857    pub struct Dirq6Eg_SPEC;
15858    pub type Dirq6Eg = crate::EnumBitfieldStruct<u8, Dirq6Eg_SPEC>;
15859    impl Dirq6Eg {
15860        #[doc = "A cancel request is generated at a falling edge"]
15861        pub const _0: Self = Self::new(0);
15862
15863        #[doc = "A cancel request is generated at a rising edge"]
15864        pub const _1: Self = Self::new(1);
15865    }
15866    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15867    pub struct Dirq7Eg_SPEC;
15868    pub type Dirq7Eg = crate::EnumBitfieldStruct<u8, Dirq7Eg_SPEC>;
15869    impl Dirq7Eg {
15870        #[doc = "A cancel request is generated at a falling edge"]
15871        pub const _0: Self = Self::new(0);
15872
15873        #[doc = "A cancel request is generated at a rising edge"]
15874        pub const _1: Self = Self::new(1);
15875    }
15876}
15877#[doc(hidden)]
15878#[derive(Copy, Clone, Eq, PartialEq)]
15879pub struct Dpsiegr1_SPEC;
15880impl crate::sealed::RegSpec for Dpsiegr1_SPEC {
15881    type DataType = u8;
15882}
15883
15884#[doc = "Deep Standby Interrupt Edge Register 1"]
15885pub type Dpsiegr1 = crate::RegValueT<Dpsiegr1_SPEC>;
15886
15887impl Dpsiegr1 {
15888    #[doc = "IRQ8-DS Pin Edge Select"]
15889    #[inline(always)]
15890    pub fn dirq8eg(
15891        self,
15892    ) -> crate::common::RegisterField<
15893        0,
15894        0x1,
15895        1,
15896        0,
15897        dpsiegr1::Dirq8Eg,
15898        dpsiegr1::Dirq8Eg,
15899        Dpsiegr1_SPEC,
15900        crate::common::RW,
15901    > {
15902        crate::common::RegisterField::<
15903            0,
15904            0x1,
15905            1,
15906            0,
15907            dpsiegr1::Dirq8Eg,
15908            dpsiegr1::Dirq8Eg,
15909            Dpsiegr1_SPEC,
15910            crate::common::RW,
15911        >::from_register(self, 0)
15912    }
15913
15914    #[doc = "IRQ9-DS Pin Edge Select"]
15915    #[inline(always)]
15916    pub fn dirq9eg(
15917        self,
15918    ) -> crate::common::RegisterField<
15919        1,
15920        0x1,
15921        1,
15922        0,
15923        dpsiegr1::Dirq9Eg,
15924        dpsiegr1::Dirq9Eg,
15925        Dpsiegr1_SPEC,
15926        crate::common::RW,
15927    > {
15928        crate::common::RegisterField::<
15929            1,
15930            0x1,
15931            1,
15932            0,
15933            dpsiegr1::Dirq9Eg,
15934            dpsiegr1::Dirq9Eg,
15935            Dpsiegr1_SPEC,
15936            crate::common::RW,
15937        >::from_register(self, 0)
15938    }
15939
15940    #[doc = "IRQ10-DS Pin Edge Select"]
15941    #[inline(always)]
15942    pub fn dirq10eg(
15943        self,
15944    ) -> crate::common::RegisterField<
15945        2,
15946        0x1,
15947        1,
15948        0,
15949        dpsiegr1::Dirq10Eg,
15950        dpsiegr1::Dirq10Eg,
15951        Dpsiegr1_SPEC,
15952        crate::common::RW,
15953    > {
15954        crate::common::RegisterField::<
15955            2,
15956            0x1,
15957            1,
15958            0,
15959            dpsiegr1::Dirq10Eg,
15960            dpsiegr1::Dirq10Eg,
15961            Dpsiegr1_SPEC,
15962            crate::common::RW,
15963        >::from_register(self, 0)
15964    }
15965
15966    #[doc = "IRQ11-DS Pin Edge Select"]
15967    #[inline(always)]
15968    pub fn dirq11eg(
15969        self,
15970    ) -> crate::common::RegisterField<
15971        3,
15972        0x1,
15973        1,
15974        0,
15975        dpsiegr1::Dirq11Eg,
15976        dpsiegr1::Dirq11Eg,
15977        Dpsiegr1_SPEC,
15978        crate::common::RW,
15979    > {
15980        crate::common::RegisterField::<
15981            3,
15982            0x1,
15983            1,
15984            0,
15985            dpsiegr1::Dirq11Eg,
15986            dpsiegr1::Dirq11Eg,
15987            Dpsiegr1_SPEC,
15988            crate::common::RW,
15989        >::from_register(self, 0)
15990    }
15991
15992    #[doc = "IRQ12-DS Pin Edge Select"]
15993    #[inline(always)]
15994    pub fn dirq12eg(
15995        self,
15996    ) -> crate::common::RegisterField<
15997        4,
15998        0x1,
15999        1,
16000        0,
16001        dpsiegr1::Dirq12Eg,
16002        dpsiegr1::Dirq12Eg,
16003        Dpsiegr1_SPEC,
16004        crate::common::RW,
16005    > {
16006        crate::common::RegisterField::<
16007            4,
16008            0x1,
16009            1,
16010            0,
16011            dpsiegr1::Dirq12Eg,
16012            dpsiegr1::Dirq12Eg,
16013            Dpsiegr1_SPEC,
16014            crate::common::RW,
16015        >::from_register(self, 0)
16016    }
16017
16018    #[doc = "IRQ13-DS Pin Edge Select"]
16019    #[inline(always)]
16020    pub fn dirq13eg(
16021        self,
16022    ) -> crate::common::RegisterField<
16023        5,
16024        0x1,
16025        1,
16026        0,
16027        dpsiegr1::Dirq13Eg,
16028        dpsiegr1::Dirq13Eg,
16029        Dpsiegr1_SPEC,
16030        crate::common::RW,
16031    > {
16032        crate::common::RegisterField::<
16033            5,
16034            0x1,
16035            1,
16036            0,
16037            dpsiegr1::Dirq13Eg,
16038            dpsiegr1::Dirq13Eg,
16039            Dpsiegr1_SPEC,
16040            crate::common::RW,
16041        >::from_register(self, 0)
16042    }
16043
16044    #[doc = "IRQ14-DS Pin Edge Select"]
16045    #[inline(always)]
16046    pub fn dirq14eg(
16047        self,
16048    ) -> crate::common::RegisterField<
16049        6,
16050        0x1,
16051        1,
16052        0,
16053        dpsiegr1::Dirq14Eg,
16054        dpsiegr1::Dirq14Eg,
16055        Dpsiegr1_SPEC,
16056        crate::common::RW,
16057    > {
16058        crate::common::RegisterField::<
16059            6,
16060            0x1,
16061            1,
16062            0,
16063            dpsiegr1::Dirq14Eg,
16064            dpsiegr1::Dirq14Eg,
16065            Dpsiegr1_SPEC,
16066            crate::common::RW,
16067        >::from_register(self, 0)
16068    }
16069
16070    #[doc = "IRQ15-DS Pin Edge Select"]
16071    #[inline(always)]
16072    pub fn dirq15eg(
16073        self,
16074    ) -> crate::common::RegisterField<
16075        7,
16076        0x1,
16077        1,
16078        0,
16079        dpsiegr1::Dirq15Eg,
16080        dpsiegr1::Dirq15Eg,
16081        Dpsiegr1_SPEC,
16082        crate::common::RW,
16083    > {
16084        crate::common::RegisterField::<
16085            7,
16086            0x1,
16087            1,
16088            0,
16089            dpsiegr1::Dirq15Eg,
16090            dpsiegr1::Dirq15Eg,
16091            Dpsiegr1_SPEC,
16092            crate::common::RW,
16093        >::from_register(self, 0)
16094    }
16095}
16096impl ::core::default::Default for Dpsiegr1 {
16097    #[inline(always)]
16098    fn default() -> Dpsiegr1 {
16099        <crate::RegValueT<Dpsiegr1_SPEC> as RegisterValue<_>>::new(0)
16100    }
16101}
16102pub mod dpsiegr1 {
16103
16104    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16105    pub struct Dirq8Eg_SPEC;
16106    pub type Dirq8Eg = crate::EnumBitfieldStruct<u8, Dirq8Eg_SPEC>;
16107    impl Dirq8Eg {
16108        #[doc = "A cancel request is generated at a falling edge"]
16109        pub const _0: Self = Self::new(0);
16110
16111        #[doc = "A cancel request is generated at a rising edge"]
16112        pub const _1: Self = Self::new(1);
16113    }
16114    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16115    pub struct Dirq9Eg_SPEC;
16116    pub type Dirq9Eg = crate::EnumBitfieldStruct<u8, Dirq9Eg_SPEC>;
16117    impl Dirq9Eg {
16118        #[doc = "A cancel request is generated at a falling edge"]
16119        pub const _0: Self = Self::new(0);
16120
16121        #[doc = "A cancel request is generated at a rising edge"]
16122        pub const _1: Self = Self::new(1);
16123    }
16124    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16125    pub struct Dirq10Eg_SPEC;
16126    pub type Dirq10Eg = crate::EnumBitfieldStruct<u8, Dirq10Eg_SPEC>;
16127    impl Dirq10Eg {
16128        #[doc = "A cancel request is generated at a falling edge"]
16129        pub const _0: Self = Self::new(0);
16130
16131        #[doc = "A cancel request is generated at a rising edge"]
16132        pub const _1: Self = Self::new(1);
16133    }
16134    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16135    pub struct Dirq11Eg_SPEC;
16136    pub type Dirq11Eg = crate::EnumBitfieldStruct<u8, Dirq11Eg_SPEC>;
16137    impl Dirq11Eg {
16138        #[doc = "A cancel request is generated at a falling edge"]
16139        pub const _0: Self = Self::new(0);
16140
16141        #[doc = "A cancel request is generated at a rising edge"]
16142        pub const _1: Self = Self::new(1);
16143    }
16144    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16145    pub struct Dirq12Eg_SPEC;
16146    pub type Dirq12Eg = crate::EnumBitfieldStruct<u8, Dirq12Eg_SPEC>;
16147    impl Dirq12Eg {
16148        #[doc = "A cancel request is generated at a falling edge"]
16149        pub const _0: Self = Self::new(0);
16150
16151        #[doc = "A cancel request is generated at a rising edge"]
16152        pub const _1: Self = Self::new(1);
16153    }
16154    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16155    pub struct Dirq13Eg_SPEC;
16156    pub type Dirq13Eg = crate::EnumBitfieldStruct<u8, Dirq13Eg_SPEC>;
16157    impl Dirq13Eg {
16158        #[doc = "A cancel request is generated at a falling edge"]
16159        pub const _0: Self = Self::new(0);
16160
16161        #[doc = "A cancel request is generated at a rising edge"]
16162        pub const _1: Self = Self::new(1);
16163    }
16164    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16165    pub struct Dirq14Eg_SPEC;
16166    pub type Dirq14Eg = crate::EnumBitfieldStruct<u8, Dirq14Eg_SPEC>;
16167    impl Dirq14Eg {
16168        #[doc = "A cancel request is generated at a falling edge"]
16169        pub const _0: Self = Self::new(0);
16170
16171        #[doc = "A cancel request is generated at a rising edge"]
16172        pub const _1: Self = Self::new(1);
16173    }
16174    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16175    pub struct Dirq15Eg_SPEC;
16176    pub type Dirq15Eg = crate::EnumBitfieldStruct<u8, Dirq15Eg_SPEC>;
16177    impl Dirq15Eg {
16178        #[doc = "A cancel request is generated at a falling edge"]
16179        pub const _0: Self = Self::new(0);
16180
16181        #[doc = "A cancel request is generated at a rising edge"]
16182        pub const _1: Self = Self::new(1);
16183    }
16184}
16185#[doc(hidden)]
16186#[derive(Copy, Clone, Eq, PartialEq)]
16187pub struct Dpsiegr2_SPEC;
16188impl crate::sealed::RegSpec for Dpsiegr2_SPEC {
16189    type DataType = u8;
16190}
16191
16192#[doc = "Deep Standby Interrupt Edge Register 2"]
16193pub type Dpsiegr2 = crate::RegValueT<Dpsiegr2_SPEC>;
16194
16195impl Dpsiegr2 {
16196    #[doc = "PVD1 Edge Select"]
16197    #[inline(always)]
16198    pub fn dpvd1eg(
16199        self,
16200    ) -> crate::common::RegisterField<
16201        0,
16202        0x1,
16203        1,
16204        0,
16205        dpsiegr2::Dpvd1Eg,
16206        dpsiegr2::Dpvd1Eg,
16207        Dpsiegr2_SPEC,
16208        crate::common::RW,
16209    > {
16210        crate::common::RegisterField::<
16211            0,
16212            0x1,
16213            1,
16214            0,
16215            dpsiegr2::Dpvd1Eg,
16216            dpsiegr2::Dpvd1Eg,
16217            Dpsiegr2_SPEC,
16218            crate::common::RW,
16219        >::from_register(self, 0)
16220    }
16221
16222    #[doc = "PVD2 Edge Select"]
16223    #[inline(always)]
16224    pub fn dpvd2eg(
16225        self,
16226    ) -> crate::common::RegisterField<
16227        1,
16228        0x1,
16229        1,
16230        0,
16231        dpsiegr2::Dpvd2Eg,
16232        dpsiegr2::Dpvd2Eg,
16233        Dpsiegr2_SPEC,
16234        crate::common::RW,
16235    > {
16236        crate::common::RegisterField::<
16237            1,
16238            0x1,
16239            1,
16240            0,
16241            dpsiegr2::Dpvd2Eg,
16242            dpsiegr2::Dpvd2Eg,
16243            Dpsiegr2_SPEC,
16244            crate::common::RW,
16245        >::from_register(self, 0)
16246    }
16247
16248    #[doc = "NMI Pin Edge Select"]
16249    #[inline(always)]
16250    pub fn dnmieg(
16251        self,
16252    ) -> crate::common::RegisterField<
16253        4,
16254        0x1,
16255        1,
16256        0,
16257        dpsiegr2::Dnmieg,
16258        dpsiegr2::Dnmieg,
16259        Dpsiegr2_SPEC,
16260        crate::common::RW,
16261    > {
16262        crate::common::RegisterField::<
16263            4,
16264            0x1,
16265            1,
16266            0,
16267            dpsiegr2::Dnmieg,
16268            dpsiegr2::Dnmieg,
16269            Dpsiegr2_SPEC,
16270            crate::common::RW,
16271        >::from_register(self, 0)
16272    }
16273
16274    #[doc = "This bit is read as 0. The write value should be 0."]
16275    #[inline(always)]
16276    pub fn reserved(
16277        self,
16278    ) -> crate::common::RegisterFieldBool<7, 1, 0, Dpsiegr2_SPEC, crate::common::RW> {
16279        crate::common::RegisterFieldBool::<7, 1, 0, Dpsiegr2_SPEC, crate::common::RW>::from_register(
16280            self, 0,
16281        )
16282    }
16283}
16284impl ::core::default::Default for Dpsiegr2 {
16285    #[inline(always)]
16286    fn default() -> Dpsiegr2 {
16287        <crate::RegValueT<Dpsiegr2_SPEC> as RegisterValue<_>>::new(0)
16288    }
16289}
16290pub mod dpsiegr2 {
16291
16292    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16293    pub struct Dpvd1Eg_SPEC;
16294    pub type Dpvd1Eg = crate::EnumBitfieldStruct<u8, Dpvd1Eg_SPEC>;
16295    impl Dpvd1Eg {
16296        #[doc = "A cancel request is generated when VCC<Vdet1 (fall) is detected"]
16297        pub const _0: Self = Self::new(0);
16298
16299        #[doc = "A cancel request is generated when VCC>=Vdet1 (rise) is detected"]
16300        pub const _1: Self = Self::new(1);
16301    }
16302    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16303    pub struct Dpvd2Eg_SPEC;
16304    pub type Dpvd2Eg = crate::EnumBitfieldStruct<u8, Dpvd2Eg_SPEC>;
16305    impl Dpvd2Eg {
16306        #[doc = "A cancel request is generated when VCC<Vdet2 (fall) is detected"]
16307        pub const _0: Self = Self::new(0);
16308
16309        #[doc = "A cancel request is generated when VCC>=Vdet2 (rise) is detected"]
16310        pub const _1: Self = Self::new(1);
16311    }
16312    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16313    pub struct Dnmieg_SPEC;
16314    pub type Dnmieg = crate::EnumBitfieldStruct<u8, Dnmieg_SPEC>;
16315    impl Dnmieg {
16316        #[doc = "A cancel request is generated at a falling edge"]
16317        pub const _0: Self = Self::new(0);
16318
16319        #[doc = "A cancel request is generated at a rising edge"]
16320        pub const _1: Self = Self::new(1);
16321    }
16322}
16323#[doc(hidden)]
16324#[derive(Copy, Clone, Eq, PartialEq)]
16325pub struct Syocdcr_SPEC;
16326impl crate::sealed::RegSpec for Syocdcr_SPEC {
16327    type DataType = u8;
16328}
16329
16330#[doc = "System Control OCD Control Register"]
16331pub type Syocdcr = crate::RegValueT<Syocdcr_SPEC>;
16332
16333impl Syocdcr {
16334    #[doc = "Deep Standby OCD flag"]
16335    #[inline(always)]
16336    pub fn docdf(
16337        self,
16338    ) -> crate::common::RegisterField<
16339        0,
16340        0x1,
16341        1,
16342        0,
16343        syocdcr::Docdf,
16344        syocdcr::Docdf,
16345        Syocdcr_SPEC,
16346        crate::common::RW,
16347    > {
16348        crate::common::RegisterField::<
16349            0,
16350            0x1,
16351            1,
16352            0,
16353            syocdcr::Docdf,
16354            syocdcr::Docdf,
16355            Syocdcr_SPEC,
16356            crate::common::RW,
16357        >::from_register(self, 0)
16358    }
16359
16360    #[doc = "These bits are read as 000000. The write value should be 000000."]
16361    #[inline(always)]
16362    pub fn reserved(
16363        self,
16364    ) -> crate::common::RegisterField<1, 0x3f, 1, 0, u8, u8, Syocdcr_SPEC, crate::common::RW> {
16365        crate::common::RegisterField::<1,0x3f,1,0,u8,u8,Syocdcr_SPEC,crate::common::RW>::from_register(self,0)
16366    }
16367
16368    #[doc = "Debugger Enable bit"]
16369    #[inline(always)]
16370    pub fn dbgen(
16371        self,
16372    ) -> crate::common::RegisterField<
16373        7,
16374        0x1,
16375        1,
16376        0,
16377        syocdcr::Dbgen,
16378        syocdcr::Dbgen,
16379        Syocdcr_SPEC,
16380        crate::common::RW,
16381    > {
16382        crate::common::RegisterField::<
16383            7,
16384            0x1,
16385            1,
16386            0,
16387            syocdcr::Dbgen,
16388            syocdcr::Dbgen,
16389            Syocdcr_SPEC,
16390            crate::common::RW,
16391        >::from_register(self, 0)
16392    }
16393}
16394impl ::core::default::Default for Syocdcr {
16395    #[inline(always)]
16396    fn default() -> Syocdcr {
16397        <crate::RegValueT<Syocdcr_SPEC> as RegisterValue<_>>::new(128)
16398    }
16399}
16400pub mod syocdcr {
16401
16402    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16403    pub struct Docdf_SPEC;
16404    pub type Docdf = crate::EnumBitfieldStruct<u8, Docdf_SPEC>;
16405    impl Docdf {
16406        #[doc = "DBIRQ is not generated."]
16407        pub const _0: Self = Self::new(0);
16408
16409        #[doc = "DBIRQ is generated."]
16410        pub const _1: Self = Self::new(1);
16411    }
16412    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16413    pub struct Dbgen_SPEC;
16414    pub type Dbgen = crate::EnumBitfieldStruct<u8, Dbgen_SPEC>;
16415    impl Dbgen {
16416        #[doc = "Disable on-chip debugger function"]
16417        pub const _0: Self = Self::new(0);
16418
16419        #[doc = "Enable on-chip debugger function"]
16420        pub const _1: Self = Self::new(1);
16421    }
16422}
16423#[doc(hidden)]
16424#[derive(Copy, Clone, Eq, PartialEq)]
16425pub struct Rstsr0_SPEC;
16426impl crate::sealed::RegSpec for Rstsr0_SPEC {
16427    type DataType = u8;
16428}
16429
16430#[doc = "Reset Status Register 0"]
16431pub type Rstsr0 = crate::RegValueT<Rstsr0_SPEC>;
16432
16433impl Rstsr0 {
16434    #[doc = "Power-On Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
16435    #[inline(always)]
16436    pub fn porf(
16437        self,
16438    ) -> crate::common::RegisterField<
16439        0,
16440        0x1,
16441        1,
16442        0,
16443        rstsr0::Porf,
16444        rstsr0::Porf,
16445        Rstsr0_SPEC,
16446        crate::common::RW,
16447    > {
16448        crate::common::RegisterField::<
16449            0,
16450            0x1,
16451            1,
16452            0,
16453            rstsr0::Porf,
16454            rstsr0::Porf,
16455            Rstsr0_SPEC,
16456            crate::common::RW,
16457        >::from_register(self, 0)
16458    }
16459
16460    #[doc = "Voltage Monitor 0 Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
16461    #[inline(always)]
16462    pub fn pvd0rf(
16463        self,
16464    ) -> crate::common::RegisterField<
16465        1,
16466        0x1,
16467        1,
16468        0,
16469        rstsr0::Pvd0Rf,
16470        rstsr0::Pvd0Rf,
16471        Rstsr0_SPEC,
16472        crate::common::RW,
16473    > {
16474        crate::common::RegisterField::<
16475            1,
16476            0x1,
16477            1,
16478            0,
16479            rstsr0::Pvd0Rf,
16480            rstsr0::Pvd0Rf,
16481            Rstsr0_SPEC,
16482            crate::common::RW,
16483        >::from_register(self, 0)
16484    }
16485
16486    #[doc = "Voltage Monitor 1 Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
16487    #[inline(always)]
16488    pub fn pvd1rf(
16489        self,
16490    ) -> crate::common::RegisterField<
16491        2,
16492        0x1,
16493        1,
16494        0,
16495        rstsr0::Pvd1Rf,
16496        rstsr0::Pvd1Rf,
16497        Rstsr0_SPEC,
16498        crate::common::RW,
16499    > {
16500        crate::common::RegisterField::<
16501            2,
16502            0x1,
16503            1,
16504            0,
16505            rstsr0::Pvd1Rf,
16506            rstsr0::Pvd1Rf,
16507            Rstsr0_SPEC,
16508            crate::common::RW,
16509        >::from_register(self, 0)
16510    }
16511
16512    #[doc = "Voltage Monitor 2 Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
16513    #[inline(always)]
16514    pub fn pvd2rf(
16515        self,
16516    ) -> crate::common::RegisterField<
16517        3,
16518        0x1,
16519        1,
16520        0,
16521        rstsr0::Pvd2Rf,
16522        rstsr0::Pvd2Rf,
16523        Rstsr0_SPEC,
16524        crate::common::RW,
16525    > {
16526        crate::common::RegisterField::<
16527            3,
16528            0x1,
16529            1,
16530            0,
16531            rstsr0::Pvd2Rf,
16532            rstsr0::Pvd2Rf,
16533            Rstsr0_SPEC,
16534            crate::common::RW,
16535        >::from_register(self, 0)
16536    }
16537
16538    #[doc = "Voltage Monitor 3 Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
16539    #[inline(always)]
16540    pub fn pvd3rf(
16541        self,
16542    ) -> crate::common::RegisterField<
16543        4,
16544        0x1,
16545        1,
16546        0,
16547        rstsr0::Pvd3Rf,
16548        rstsr0::Pvd3Rf,
16549        Rstsr0_SPEC,
16550        crate::common::RW,
16551    > {
16552        crate::common::RegisterField::<
16553            4,
16554            0x1,
16555            1,
16556            0,
16557            rstsr0::Pvd3Rf,
16558            rstsr0::Pvd3Rf,
16559            Rstsr0_SPEC,
16560            crate::common::RW,
16561        >::from_register(self, 0)
16562    }
16563
16564    #[doc = "Voltage Monitor 4 Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
16565    #[inline(always)]
16566    pub fn pvd4rf(
16567        self,
16568    ) -> crate::common::RegisterField<
16569        5,
16570        0x1,
16571        1,
16572        0,
16573        rstsr0::Pvd4Rf,
16574        rstsr0::Pvd4Rf,
16575        Rstsr0_SPEC,
16576        crate::common::RW,
16577    > {
16578        crate::common::RegisterField::<
16579            5,
16580            0x1,
16581            1,
16582            0,
16583            rstsr0::Pvd4Rf,
16584            rstsr0::Pvd4Rf,
16585            Rstsr0_SPEC,
16586            crate::common::RW,
16587        >::from_register(self, 0)
16588    }
16589
16590    #[doc = "Voltage Monitor 5 Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
16591    #[inline(always)]
16592    pub fn pvd5rf(
16593        self,
16594    ) -> crate::common::RegisterField<
16595        6,
16596        0x1,
16597        1,
16598        0,
16599        rstsr0::Pvd5Rf,
16600        rstsr0::Pvd5Rf,
16601        Rstsr0_SPEC,
16602        crate::common::RW,
16603    > {
16604        crate::common::RegisterField::<
16605            6,
16606            0x1,
16607            1,
16608            0,
16609            rstsr0::Pvd5Rf,
16610            rstsr0::Pvd5Rf,
16611            Rstsr0_SPEC,
16612            crate::common::RW,
16613        >::from_register(self, 0)
16614    }
16615
16616    #[doc = "Deep Software Standby Reset FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
16617    #[inline(always)]
16618    pub fn dpsrstf(
16619        self,
16620    ) -> crate::common::RegisterField<
16621        7,
16622        0x1,
16623        1,
16624        0,
16625        rstsr0::Dpsrstf,
16626        rstsr0::Dpsrstf,
16627        Rstsr0_SPEC,
16628        crate::common::RW,
16629    > {
16630        crate::common::RegisterField::<
16631            7,
16632            0x1,
16633            1,
16634            0,
16635            rstsr0::Dpsrstf,
16636            rstsr0::Dpsrstf,
16637            Rstsr0_SPEC,
16638            crate::common::RW,
16639        >::from_register(self, 0)
16640    }
16641}
16642impl ::core::default::Default for Rstsr0 {
16643    #[inline(always)]
16644    fn default() -> Rstsr0 {
16645        <crate::RegValueT<Rstsr0_SPEC> as RegisterValue<_>>::new(0)
16646    }
16647}
16648pub mod rstsr0 {
16649
16650    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16651    pub struct Porf_SPEC;
16652    pub type Porf = crate::EnumBitfieldStruct<u8, Porf_SPEC>;
16653    impl Porf {
16654        #[doc = "Power-on reset not detected."]
16655        pub const _0: Self = Self::new(0);
16656
16657        #[doc = "Power-on reset detected."]
16658        pub const _1: Self = Self::new(1);
16659    }
16660    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16661    pub struct Pvd0Rf_SPEC;
16662    pub type Pvd0Rf = crate::EnumBitfieldStruct<u8, Pvd0Rf_SPEC>;
16663    impl Pvd0Rf {
16664        #[doc = "Voltage Monitor 0 reset not detected."]
16665        pub const _0: Self = Self::new(0);
16666
16667        #[doc = "Voltage Monitor 0 reset detected."]
16668        pub const _1: Self = Self::new(1);
16669    }
16670    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16671    pub struct Pvd1Rf_SPEC;
16672    pub type Pvd1Rf = crate::EnumBitfieldStruct<u8, Pvd1Rf_SPEC>;
16673    impl Pvd1Rf {
16674        #[doc = "Voltage Monitor 1 reset not detected."]
16675        pub const _0: Self = Self::new(0);
16676
16677        #[doc = "Voltage Monitor 1 reset detected."]
16678        pub const _1: Self = Self::new(1);
16679    }
16680    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16681    pub struct Pvd2Rf_SPEC;
16682    pub type Pvd2Rf = crate::EnumBitfieldStruct<u8, Pvd2Rf_SPEC>;
16683    impl Pvd2Rf {
16684        #[doc = "Voltage Monitor 2 reset not detected."]
16685        pub const _0: Self = Self::new(0);
16686
16687        #[doc = "Voltage Monitor 2 reset detected."]
16688        pub const _1: Self = Self::new(1);
16689    }
16690    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16691    pub struct Pvd3Rf_SPEC;
16692    pub type Pvd3Rf = crate::EnumBitfieldStruct<u8, Pvd3Rf_SPEC>;
16693    impl Pvd3Rf {
16694        #[doc = "Voltage Monitor 3 reset not detected."]
16695        pub const _0: Self = Self::new(0);
16696
16697        #[doc = "Voltage Monitor 3 reset detected."]
16698        pub const _1: Self = Self::new(1);
16699    }
16700    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16701    pub struct Pvd4Rf_SPEC;
16702    pub type Pvd4Rf = crate::EnumBitfieldStruct<u8, Pvd4Rf_SPEC>;
16703    impl Pvd4Rf {
16704        #[doc = "Voltage Monitor 4 reset not detected."]
16705        pub const _0: Self = Self::new(0);
16706
16707        #[doc = "Voltage Monitor 4 reset detected."]
16708        pub const _1: Self = Self::new(1);
16709    }
16710    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16711    pub struct Pvd5Rf_SPEC;
16712    pub type Pvd5Rf = crate::EnumBitfieldStruct<u8, Pvd5Rf_SPEC>;
16713    impl Pvd5Rf {
16714        #[doc = "Voltage Monitor 5 reset not detected."]
16715        pub const _0: Self = Self::new(0);
16716
16717        #[doc = "Voltage Monitor 5 reset detected."]
16718        pub const _1: Self = Self::new(1);
16719    }
16720    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16721    pub struct Dpsrstf_SPEC;
16722    pub type Dpsrstf = crate::EnumBitfieldStruct<u8, Dpsrstf_SPEC>;
16723    impl Dpsrstf {
16724        #[doc = "Deep software standby mode cancelation not requested by an interrupt or a reset."]
16725        pub const _0: Self = Self::new(0);
16726
16727        #[doc = "Deep software standby mode cancelation requested by an interrupt or a reset."]
16728        pub const _1: Self = Self::new(1);
16729    }
16730}
16731#[doc(hidden)]
16732#[derive(Copy, Clone, Eq, PartialEq)]
16733pub struct Rstsr2_SPEC;
16734impl crate::sealed::RegSpec for Rstsr2_SPEC {
16735    type DataType = u8;
16736}
16737
16738#[doc = "Reset Status Register 2"]
16739pub type Rstsr2 = crate::RegValueT<Rstsr2_SPEC>;
16740
16741impl Rstsr2 {
16742    #[doc = "Cold/Warm Start Determination Flag"]
16743    #[inline(always)]
16744    pub fn cwsf(
16745        self,
16746    ) -> crate::common::RegisterField<
16747        0,
16748        0x1,
16749        1,
16750        0,
16751        rstsr2::Cwsf,
16752        rstsr2::Cwsf,
16753        Rstsr2_SPEC,
16754        crate::common::RW,
16755    > {
16756        crate::common::RegisterField::<
16757            0,
16758            0x1,
16759            1,
16760            0,
16761            rstsr2::Cwsf,
16762            rstsr2::Cwsf,
16763            Rstsr2_SPEC,
16764            crate::common::RW,
16765        >::from_register(self, 0)
16766    }
16767
16768    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
16769    #[inline(always)]
16770    pub fn reserved(
16771        self,
16772    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Rstsr2_SPEC, crate::common::RW> {
16773        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Rstsr2_SPEC,crate::common::RW>::from_register(self,0)
16774    }
16775}
16776impl ::core::default::Default for Rstsr2 {
16777    #[inline(always)]
16778    fn default() -> Rstsr2 {
16779        <crate::RegValueT<Rstsr2_SPEC> as RegisterValue<_>>::new(0)
16780    }
16781}
16782pub mod rstsr2 {
16783
16784    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16785    pub struct Cwsf_SPEC;
16786    pub type Cwsf = crate::EnumBitfieldStruct<u8, Cwsf_SPEC>;
16787    impl Cwsf {
16788        #[doc = "Cold start"]
16789        pub const _0: Self = Self::new(0);
16790
16791        #[doc = "Warm start"]
16792        pub const _1: Self = Self::new(1);
16793    }
16794}
16795#[doc(hidden)]
16796#[derive(Copy, Clone, Eq, PartialEq)]
16797pub struct Rstsr3_SPEC;
16798impl crate::sealed::RegSpec for Rstsr3_SPEC {
16799    type DataType = u8;
16800}
16801
16802#[doc = "Reset Status Register 3"]
16803pub type Rstsr3 = crate::RegValueT<Rstsr3_SPEC>;
16804
16805impl Rstsr3 {
16806    #[doc = "Overcurrent protection reset Detect Flag"]
16807    #[inline(always)]
16808    pub fn ocprf(
16809        self,
16810    ) -> crate::common::RegisterField<
16811        4,
16812        0x1,
16813        1,
16814        0,
16815        rstsr3::Ocprf,
16816        rstsr3::Ocprf,
16817        Rstsr3_SPEC,
16818        crate::common::RW,
16819    > {
16820        crate::common::RegisterField::<
16821            4,
16822            0x1,
16823            1,
16824            0,
16825            rstsr3::Ocprf,
16826            rstsr3::Ocprf,
16827            Rstsr3_SPEC,
16828            crate::common::RW,
16829        >::from_register(self, 0)
16830    }
16831
16832    #[doc = "These bits are read as 000. The write value should be 000."]
16833    #[inline(always)]
16834    pub fn reserved(
16835        self,
16836    ) -> crate::common::RegisterField<5, 0x7, 1, 0, u8, u8, Rstsr3_SPEC, crate::common::RW> {
16837        crate::common::RegisterField::<5,0x7,1,0,u8,u8,Rstsr3_SPEC,crate::common::RW>::from_register(self,0)
16838    }
16839}
16840impl ::core::default::Default for Rstsr3 {
16841    #[inline(always)]
16842    fn default() -> Rstsr3 {
16843        <crate::RegValueT<Rstsr3_SPEC> as RegisterValue<_>>::new(0)
16844    }
16845}
16846pub mod rstsr3 {
16847
16848    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16849    pub struct Ocprf_SPEC;
16850    pub type Ocprf = crate::EnumBitfieldStruct<u8, Ocprf_SPEC>;
16851    impl Ocprf {
16852        #[doc = "Overcurrent protection reset not detected."]
16853        pub const _0: Self = Self::new(0);
16854
16855        #[doc = "Overcurrent protection reset detected."]
16856        pub const _1: Self = Self::new(1);
16857    }
16858}
16859#[doc(hidden)]
16860#[derive(Copy, Clone, Eq, PartialEq)]
16861pub struct Momcr_SPEC;
16862impl crate::sealed::RegSpec for Momcr_SPEC {
16863    type DataType = u8;
16864}
16865
16866#[doc = "Main Clock Oscillator Mode Oscillation Control Register"]
16867pub type Momcr = crate::RegValueT<Momcr_SPEC>;
16868
16869impl Momcr {
16870    #[doc = "Main Clock Oscillator Drive Capability 0 Switching"]
16871    #[inline(always)]
16872    pub fn modrv0(
16873        self,
16874    ) -> crate::common::RegisterField<
16875        1,
16876        0x7,
16877        1,
16878        0,
16879        momcr::Modrv0,
16880        momcr::Modrv0,
16881        Momcr_SPEC,
16882        crate::common::RW,
16883    > {
16884        crate::common::RegisterField::<
16885            1,
16886            0x7,
16887            1,
16888            0,
16889            momcr::Modrv0,
16890            momcr::Modrv0,
16891            Momcr_SPEC,
16892            crate::common::RW,
16893        >::from_register(self, 0)
16894    }
16895
16896    #[doc = "Auto Gain Control Enable"]
16897    #[inline(always)]
16898    pub fn agcen(
16899        self,
16900    ) -> crate::common::RegisterField<
16901        4,
16902        0x1,
16903        1,
16904        0,
16905        momcr::Agcen,
16906        momcr::Agcen,
16907        Momcr_SPEC,
16908        crate::common::RW,
16909    > {
16910        crate::common::RegisterField::<
16911            4,
16912            0x1,
16913            1,
16914            0,
16915            momcr::Agcen,
16916            momcr::Agcen,
16917            Momcr_SPEC,
16918            crate::common::RW,
16919        >::from_register(self, 0)
16920    }
16921
16922    #[doc = "Main Clock Oscillator Switching"]
16923    #[inline(always)]
16924    pub fn mosel(
16925        self,
16926    ) -> crate::common::RegisterField<
16927        6,
16928        0x1,
16929        1,
16930        0,
16931        momcr::Mosel,
16932        momcr::Mosel,
16933        Momcr_SPEC,
16934        crate::common::RW,
16935    > {
16936        crate::common::RegisterField::<
16937            6,
16938            0x1,
16939            1,
16940            0,
16941            momcr::Mosel,
16942            momcr::Mosel,
16943            Momcr_SPEC,
16944            crate::common::RW,
16945        >::from_register(self, 0)
16946    }
16947
16948    #[doc = "This bit is read as 0. The write value should be 0."]
16949    #[inline(always)]
16950    pub fn reserved(
16951        self,
16952    ) -> crate::common::RegisterFieldBool<7, 1, 0, Momcr_SPEC, crate::common::RW> {
16953        crate::common::RegisterFieldBool::<7, 1, 0, Momcr_SPEC, crate::common::RW>::from_register(
16954            self, 0,
16955        )
16956    }
16957}
16958impl ::core::default::Default for Momcr {
16959    #[inline(always)]
16960    fn default() -> Momcr {
16961        <crate::RegValueT<Momcr_SPEC> as RegisterValue<_>>::new(0)
16962    }
16963}
16964pub mod momcr {
16965
16966    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16967    pub struct Modrv0_SPEC;
16968    pub type Modrv0 = crate::EnumBitfieldStruct<u8, Modrv0_SPEC>;
16969    impl Modrv0 {
16970        #[doc = "8MHz"]
16971        pub const _000: Self = Self::new(0);
16972
16973        #[doc = "8.1MHz to 16MHz"]
16974        pub const _001: Self = Self::new(1);
16975
16976        #[doc = "16.1MHz to 20MHz"]
16977        pub const _010: Self = Self::new(2);
16978
16979        #[doc = "20.1MHz to 26MHz"]
16980        pub const _011: Self = Self::new(3);
16981
16982        #[doc = "48MHz"]
16983        pub const _100: Self = Self::new(4);
16984
16985        #[doc = "48MHz (value after reset)"]
16986        pub const _101: Self = Self::new(5);
16987
16988        #[doc = "48MHz"]
16989        pub const _110: Self = Self::new(6);
16990
16991        #[doc = "48MHz"]
16992        pub const _111: Self = Self::new(7);
16993    }
16994    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16995    pub struct Agcen_SPEC;
16996    pub type Agcen = crate::EnumBitfieldStruct<u8, Agcen_SPEC>;
16997    impl Agcen {
16998        #[doc = "Disable"]
16999        pub const _0: Self = Self::new(0);
17000
17001        #[doc = "Enable"]
17002        pub const _1: Self = Self::new(1);
17003    }
17004    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17005    pub struct Mosel_SPEC;
17006    pub type Mosel = crate::EnumBitfieldStruct<u8, Mosel_SPEC>;
17007    impl Mosel {
17008        #[doc = "Resonator"]
17009        pub const _0: Self = Self::new(0);
17010
17011        #[doc = "External clock input"]
17012        pub const _1: Self = Self::new(1);
17013    }
17014}
17015#[doc(hidden)]
17016#[derive(Copy, Clone, Eq, PartialEq)]
17017pub struct Fwepror_SPEC;
17018impl crate::sealed::RegSpec for Fwepror_SPEC {
17019    type DataType = u8;
17020}
17021
17022#[doc = "Flash Write Erase Protect Register"]
17023pub type Fwepror = crate::RegValueT<Fwepror_SPEC>;
17024
17025impl Fwepror {
17026    #[doc = "Flash Programing and Erasure"]
17027    #[inline(always)]
17028    pub fn flwe(
17029        self,
17030    ) -> crate::common::RegisterField<
17031        0,
17032        0x3,
17033        1,
17034        0,
17035        fwepror::Flwe,
17036        fwepror::Flwe,
17037        Fwepror_SPEC,
17038        crate::common::RW,
17039    > {
17040        crate::common::RegisterField::<
17041            0,
17042            0x3,
17043            1,
17044            0,
17045            fwepror::Flwe,
17046            fwepror::Flwe,
17047            Fwepror_SPEC,
17048            crate::common::RW,
17049        >::from_register(self, 0)
17050    }
17051
17052    #[doc = "These bits are read as 000000. The write value should be 000000."]
17053    #[inline(always)]
17054    pub fn reserved(
17055        self,
17056    ) -> crate::common::RegisterField<2, 0x3f, 1, 0, u8, u8, Fwepror_SPEC, crate::common::RW> {
17057        crate::common::RegisterField::<2,0x3f,1,0,u8,u8,Fwepror_SPEC,crate::common::RW>::from_register(self,0)
17058    }
17059}
17060impl ::core::default::Default for Fwepror {
17061    #[inline(always)]
17062    fn default() -> Fwepror {
17063        <crate::RegValueT<Fwepror_SPEC> as RegisterValue<_>>::new(2)
17064    }
17065}
17066pub mod fwepror {
17067
17068    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17069    pub struct Flwe_SPEC;
17070    pub type Flwe = crate::EnumBitfieldStruct<u8, Flwe_SPEC>;
17071    impl Flwe {
17072        #[doc = "Prohibits programming and erasure of the code flash, data flash or blank checking."]
17073        pub const _00: Self = Self::new(0);
17074
17075        #[doc = "Permits programming and erasure of the code flash, data flash or blank checking."]
17076        pub const _01: Self = Self::new(1);
17077
17078        #[doc = "Prohibits programming and erasure of the code flash, data flash or blank checking."]
17079        pub const _10: Self = Self::new(2);
17080
17081        #[doc = "Prohibits programming and erasure of the code flash, data flash or blank checking."]
17082        pub const _11: Self = Self::new(3);
17083    }
17084}
17085#[doc(hidden)]
17086#[derive(Copy, Clone, Eq, PartialEq)]
17087pub struct Pvd1Cmpcr_SPEC;
17088impl crate::sealed::RegSpec for Pvd1Cmpcr_SPEC {
17089    type DataType = u8;
17090}
17091
17092#[doc = "Voltage Monitor 1 Comparator Control Register"]
17093pub type Pvd1Cmpcr = crate::RegValueT<Pvd1Cmpcr_SPEC>;
17094
17095impl Pvd1Cmpcr {
17096    #[doc = "Detection Voltage 1 Level Select(Standard voltage during drop in voltage)"]
17097    #[inline(always)]
17098    pub fn pvdlvl(
17099        self,
17100    ) -> crate::common::RegisterField<
17101        0,
17102        0x1f,
17103        1,
17104        0,
17105        pvd1cmpcr::Pvdlvl,
17106        pvd1cmpcr::Pvdlvl,
17107        Pvd1Cmpcr_SPEC,
17108        crate::common::RW,
17109    > {
17110        crate::common::RegisterField::<
17111            0,
17112            0x1f,
17113            1,
17114            0,
17115            pvd1cmpcr::Pvdlvl,
17116            pvd1cmpcr::Pvdlvl,
17117            Pvd1Cmpcr_SPEC,
17118            crate::common::RW,
17119        >::from_register(self, 0)
17120    }
17121
17122    #[doc = "These bits are read as 00. The write value should be 00."]
17123    #[inline(always)]
17124    pub fn reserved(
17125        self,
17126    ) -> crate::common::RegisterField<5, 0x3, 1, 0, u8, u8, Pvd1Cmpcr_SPEC, crate::common::RW> {
17127        crate::common::RegisterField::<5,0x3,1,0,u8,u8,Pvd1Cmpcr_SPEC,crate::common::RW>::from_register(self,0)
17128    }
17129
17130    #[doc = "Voltage Detection 1 Enable"]
17131    #[inline(always)]
17132    pub fn pvde(
17133        self,
17134    ) -> crate::common::RegisterField<
17135        7,
17136        0x1,
17137        1,
17138        0,
17139        pvd1cmpcr::Pvde,
17140        pvd1cmpcr::Pvde,
17141        Pvd1Cmpcr_SPEC,
17142        crate::common::RW,
17143    > {
17144        crate::common::RegisterField::<
17145            7,
17146            0x1,
17147            1,
17148            0,
17149            pvd1cmpcr::Pvde,
17150            pvd1cmpcr::Pvde,
17151            Pvd1Cmpcr_SPEC,
17152            crate::common::RW,
17153        >::from_register(self, 0)
17154    }
17155}
17156impl ::core::default::Default for Pvd1Cmpcr {
17157    #[inline(always)]
17158    fn default() -> Pvd1Cmpcr {
17159        <crate::RegValueT<Pvd1Cmpcr_SPEC> as RegisterValue<_>>::new(15)
17160    }
17161}
17162pub mod pvd1cmpcr {
17163
17164    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17165    pub struct Pvdlvl_SPEC;
17166    pub type Pvdlvl = crate::EnumBitfieldStruct<u8, Pvdlvl_SPEC>;
17167    impl Pvdlvl {
17168        #[doc = "4.29V (Vdetm_0)"]
17169        pub const _00000: Self = Self::new(0);
17170
17171        #[doc = "4.16V (Vdetm_1)"]
17172        pub const _00001: Self = Self::new(1);
17173
17174        #[doc = "4.03V (Vdetm_2)"]
17175        pub const _00010: Self = Self::new(2);
17176
17177        #[doc = "3.86V (Vdetm_3)"]
17178        pub const _00011: Self = Self::new(3);
17179
17180        #[doc = "3.14V (Vdetm_4)"]
17181        pub const _00100: Self = Self::new(4);
17182
17183        #[doc = "3.10V (Vdetm_5)"]
17184        pub const _00101: Self = Self::new(5);
17185
17186        #[doc = "3.08V (Vdetm_6)"]
17187        pub const _00110: Self = Self::new(6);
17188
17189        #[doc = "2.85V (Vdetm_7)"]
17190        pub const _00111: Self = Self::new(7);
17191
17192        #[doc = "2.83V (Vdetm_8)"]
17193        pub const _01000: Self = Self::new(8);
17194
17195        #[doc = "2.80V (Vdetm_9)"]
17196        pub const _01001: Self = Self::new(9);
17197
17198        #[doc = "2.62V (Vdetm_10)"]
17199        pub const _01010: Self = Self::new(10);
17200
17201        #[doc = "2.33V (Vdetm_11)"]
17202        pub const _01011: Self = Self::new(11);
17203
17204        #[doc = "1.90V (Vdetm_12)"]
17205        pub const _01100: Self = Self::new(12);
17206
17207        #[doc = "1.86V (Vdetm_13)"]
17208        pub const _01101: Self = Self::new(13);
17209
17210        #[doc = "1.74V (Vdetm_14)"]
17211        pub const _01110: Self = Self::new(14);
17212
17213        #[doc = "1.71V (Vdetm_15)"]
17214        pub const _01111: Self = Self::new(15);
17215    }
17216    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17217    pub struct Pvde_SPEC;
17218    pub type Pvde = crate::EnumBitfieldStruct<u8, Pvde_SPEC>;
17219    impl Pvde {
17220        #[doc = "Voltage detection 1 circuit disabled"]
17221        pub const _0: Self = Self::new(0);
17222
17223        #[doc = "Voltage detection 1 circuit enabled"]
17224        pub const _1: Self = Self::new(1);
17225    }
17226}
17227#[doc(hidden)]
17228#[derive(Copy, Clone, Eq, PartialEq)]
17229pub struct Pvd2Cmpcr_SPEC;
17230impl crate::sealed::RegSpec for Pvd2Cmpcr_SPEC {
17231    type DataType = u8;
17232}
17233
17234#[doc = "Voltage Monitor 2 Comparator Control Register"]
17235pub type Pvd2Cmpcr = crate::RegValueT<Pvd2Cmpcr_SPEC>;
17236
17237impl Pvd2Cmpcr {
17238    #[doc = "Detection Voltage 2 Level Select(Standard voltage during drop in voltage)"]
17239    #[inline(always)]
17240    pub fn pvdlvl(
17241        self,
17242    ) -> crate::common::RegisterField<
17243        0,
17244        0x1f,
17245        1,
17246        0,
17247        pvd2cmpcr::Pvdlvl,
17248        pvd2cmpcr::Pvdlvl,
17249        Pvd2Cmpcr_SPEC,
17250        crate::common::RW,
17251    > {
17252        crate::common::RegisterField::<
17253            0,
17254            0x1f,
17255            1,
17256            0,
17257            pvd2cmpcr::Pvdlvl,
17258            pvd2cmpcr::Pvdlvl,
17259            Pvd2Cmpcr_SPEC,
17260            crate::common::RW,
17261        >::from_register(self, 0)
17262    }
17263
17264    #[doc = "These bits are read as 00. The write value should be 00."]
17265    #[inline(always)]
17266    pub fn reserved(
17267        self,
17268    ) -> crate::common::RegisterField<5, 0x3, 1, 0, u8, u8, Pvd2Cmpcr_SPEC, crate::common::RW> {
17269        crate::common::RegisterField::<5,0x3,1,0,u8,u8,Pvd2Cmpcr_SPEC,crate::common::RW>::from_register(self,0)
17270    }
17271
17272    #[doc = "Voltage Detection 2 Enable"]
17273    #[inline(always)]
17274    pub fn pvde(
17275        self,
17276    ) -> crate::common::RegisterField<
17277        7,
17278        0x1,
17279        1,
17280        0,
17281        pvd2cmpcr::Pvde,
17282        pvd2cmpcr::Pvde,
17283        Pvd2Cmpcr_SPEC,
17284        crate::common::RW,
17285    > {
17286        crate::common::RegisterField::<
17287            7,
17288            0x1,
17289            1,
17290            0,
17291            pvd2cmpcr::Pvde,
17292            pvd2cmpcr::Pvde,
17293            Pvd2Cmpcr_SPEC,
17294            crate::common::RW,
17295        >::from_register(self, 0)
17296    }
17297}
17298impl ::core::default::Default for Pvd2Cmpcr {
17299    #[inline(always)]
17300    fn default() -> Pvd2Cmpcr {
17301        <crate::RegValueT<Pvd2Cmpcr_SPEC> as RegisterValue<_>>::new(15)
17302    }
17303}
17304pub mod pvd2cmpcr {
17305
17306    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17307    pub struct Pvdlvl_SPEC;
17308    pub type Pvdlvl = crate::EnumBitfieldStruct<u8, Pvdlvl_SPEC>;
17309    impl Pvdlvl {
17310        #[doc = "4.29V (Vdetm_0)"]
17311        pub const _00000: Self = Self::new(0);
17312
17313        #[doc = "4.16V (Vdetm_1)"]
17314        pub const _00001: Self = Self::new(1);
17315
17316        #[doc = "4.03V (Vdetm_2)"]
17317        pub const _00010: Self = Self::new(2);
17318
17319        #[doc = "3.86V (Vdetm_3)"]
17320        pub const _00011: Self = Self::new(3);
17321
17322        #[doc = "3.14V (Vdetm_4)"]
17323        pub const _00100: Self = Self::new(4);
17324
17325        #[doc = "3.10V (Vdetm_5)"]
17326        pub const _00101: Self = Self::new(5);
17327
17328        #[doc = "3.08V (Vdetm_6)"]
17329        pub const _00110: Self = Self::new(6);
17330
17331        #[doc = "2.85V (Vdetm_7)"]
17332        pub const _00111: Self = Self::new(7);
17333
17334        #[doc = "2.83V (Vdetm_8)"]
17335        pub const _01000: Self = Self::new(8);
17336
17337        #[doc = "2.80V (Vdetm_9)"]
17338        pub const _01001: Self = Self::new(9);
17339
17340        #[doc = "2.62V (Vdetm_10)"]
17341        pub const _01010: Self = Self::new(10);
17342
17343        #[doc = "2.33V (Vdetm_11)"]
17344        pub const _01011: Self = Self::new(11);
17345
17346        #[doc = "1.90V (Vdetm_12)"]
17347        pub const _01100: Self = Self::new(12);
17348
17349        #[doc = "1.86V (Vdetm_13)"]
17350        pub const _01101: Self = Self::new(13);
17351
17352        #[doc = "1.74V (Vdetm_14)"]
17353        pub const _01110: Self = Self::new(14);
17354
17355        #[doc = "1.71V (Vdetm_15)"]
17356        pub const _01111: Self = Self::new(15);
17357    }
17358    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17359    pub struct Pvde_SPEC;
17360    pub type Pvde = crate::EnumBitfieldStruct<u8, Pvde_SPEC>;
17361    impl Pvde {
17362        #[doc = "Voltage detection 2 circuit disabled"]
17363        pub const _0: Self = Self::new(0);
17364
17365        #[doc = "Voltage detection 2 circuit enabled"]
17366        pub const _1: Self = Self::new(1);
17367    }
17368}
17369#[doc(hidden)]
17370#[derive(Copy, Clone, Eq, PartialEq)]
17371pub struct Pvdcr0_SPEC;
17372impl crate::sealed::RegSpec for Pvdcr0_SPEC {
17373    type DataType = u8;
17374}
17375
17376#[doc = "Voltage Monitor %s Circuit Control Register 0"]
17377pub type Pvdcr0 = crate::RegValueT<Pvdcr0_SPEC>;
17378
17379impl Pvdcr0 {
17380    #[doc = "Voltage Monitor  Interrupt/Reset Enable"]
17381    #[inline(always)]
17382    pub fn rie(
17383        self,
17384    ) -> crate::common::RegisterField<
17385        0,
17386        0x1,
17387        1,
17388        0,
17389        pvdcr0::Rie,
17390        pvdcr0::Rie,
17391        Pvdcr0_SPEC,
17392        crate::common::RW,
17393    > {
17394        crate::common::RegisterField::<
17395            0,
17396            0x1,
17397            1,
17398            0,
17399            pvdcr0::Rie,
17400            pvdcr0::Rie,
17401            Pvdcr0_SPEC,
17402            crate::common::RW,
17403        >::from_register(self, 0)
17404    }
17405
17406    #[doc = "Voltage Monitor Digital Filter Disable Mode Select"]
17407    #[inline(always)]
17408    pub fn dfdis(
17409        self,
17410    ) -> crate::common::RegisterField<
17411        1,
17412        0x1,
17413        1,
17414        0,
17415        pvdcr0::Dfdis,
17416        pvdcr0::Dfdis,
17417        Pvdcr0_SPEC,
17418        crate::common::RW,
17419    > {
17420        crate::common::RegisterField::<
17421            1,
17422            0x1,
17423            1,
17424            0,
17425            pvdcr0::Dfdis,
17426            pvdcr0::Dfdis,
17427            Pvdcr0_SPEC,
17428            crate::common::RW,
17429        >::from_register(self, 0)
17430    }
17431
17432    #[doc = "Voltage Monitor Circuit Comparison Result Output Enable"]
17433    #[inline(always)]
17434    pub fn cmpe(
17435        self,
17436    ) -> crate::common::RegisterField<
17437        2,
17438        0x1,
17439        1,
17440        0,
17441        pvdcr0::Cmpe,
17442        pvdcr0::Cmpe,
17443        Pvdcr0_SPEC,
17444        crate::common::RW,
17445    > {
17446        crate::common::RegisterField::<
17447            2,
17448            0x1,
17449            1,
17450            0,
17451            pvdcr0::Cmpe,
17452            pvdcr0::Cmpe,
17453            Pvdcr0_SPEC,
17454            crate::common::RW,
17455        >::from_register(self, 0)
17456    }
17457
17458    #[doc = "This bit is read as 1. The write value should be 1."]
17459    #[inline(always)]
17460    pub fn reserved(
17461        self,
17462    ) -> crate::common::RegisterFieldBool<3, 1, 0, Pvdcr0_SPEC, crate::common::RW> {
17463        crate::common::RegisterFieldBool::<3, 1, 0, Pvdcr0_SPEC, crate::common::RW>::from_register(
17464            self, 0,
17465        )
17466    }
17467
17468    #[doc = "Sampling Clock Select"]
17469    #[inline(always)]
17470    pub fn fsamp(
17471        self,
17472    ) -> crate::common::RegisterField<
17473        4,
17474        0x3,
17475        1,
17476        0,
17477        pvdcr0::Fsamp,
17478        pvdcr0::Fsamp,
17479        Pvdcr0_SPEC,
17480        crate::common::RW,
17481    > {
17482        crate::common::RegisterField::<
17483            4,
17484            0x3,
17485            1,
17486            0,
17487            pvdcr0::Fsamp,
17488            pvdcr0::Fsamp,
17489            Pvdcr0_SPEC,
17490            crate::common::RW,
17491        >::from_register(self, 0)
17492    }
17493
17494    #[doc = "Voltage Monitor Circuit Mode Select"]
17495    #[inline(always)]
17496    pub fn ri(
17497        self,
17498    ) -> crate::common::RegisterField<
17499        6,
17500        0x1,
17501        1,
17502        0,
17503        pvdcr0::Ri,
17504        pvdcr0::Ri,
17505        Pvdcr0_SPEC,
17506        crate::common::RW,
17507    > {
17508        crate::common::RegisterField::<
17509            6,
17510            0x1,
17511            1,
17512            0,
17513            pvdcr0::Ri,
17514            pvdcr0::Ri,
17515            Pvdcr0_SPEC,
17516            crate::common::RW,
17517        >::from_register(self, 0)
17518    }
17519
17520    #[doc = "Voltage Monitor Reset Negate Select"]
17521    #[inline(always)]
17522    pub fn rn(
17523        self,
17524    ) -> crate::common::RegisterField<
17525        7,
17526        0x1,
17527        1,
17528        0,
17529        pvdcr0::Rn,
17530        pvdcr0::Rn,
17531        Pvdcr0_SPEC,
17532        crate::common::RW,
17533    > {
17534        crate::common::RegisterField::<
17535            7,
17536            0x1,
17537            1,
17538            0,
17539            pvdcr0::Rn,
17540            pvdcr0::Rn,
17541            Pvdcr0_SPEC,
17542            crate::common::RW,
17543        >::from_register(self, 0)
17544    }
17545}
17546impl ::core::default::Default for Pvdcr0 {
17547    #[inline(always)]
17548    fn default() -> Pvdcr0 {
17549        <crate::RegValueT<Pvdcr0_SPEC> as RegisterValue<_>>::new(130)
17550    }
17551}
17552pub mod pvdcr0 {
17553
17554    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17555    pub struct Rie_SPEC;
17556    pub type Rie = crate::EnumBitfieldStruct<u8, Rie_SPEC>;
17557    impl Rie {
17558        #[doc = "Disable"]
17559        pub const _0: Self = Self::new(0);
17560
17561        #[doc = "Enable"]
17562        pub const _1: Self = Self::new(1);
17563    }
17564    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17565    pub struct Dfdis_SPEC;
17566    pub type Dfdis = crate::EnumBitfieldStruct<u8, Dfdis_SPEC>;
17567    impl Dfdis {
17568        #[doc = "Enable digital filter"]
17569        pub const _0: Self = Self::new(0);
17570
17571        #[doc = "Disable digital filter"]
17572        pub const _1: Self = Self::new(1);
17573    }
17574    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17575    pub struct Cmpe_SPEC;
17576    pub type Cmpe = crate::EnumBitfieldStruct<u8, Cmpe_SPEC>;
17577    impl Cmpe {
17578        #[doc = "Disable voltage monitor 1 circuit comparison result output"]
17579        pub const _0: Self = Self::new(0);
17580
17581        #[doc = "Enable voltage monitor 1 circuit comparison result output."]
17582        pub const _1: Self = Self::new(1);
17583    }
17584    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17585    pub struct Fsamp_SPEC;
17586    pub type Fsamp = crate::EnumBitfieldStruct<u8, Fsamp_SPEC>;
17587    impl Fsamp {
17588        #[doc = "1/2 LOCO frequency"]
17589        pub const _00: Self = Self::new(0);
17590
17591        #[doc = "1/4 LOCO frequency"]
17592        pub const _01: Self = Self::new(1);
17593
17594        #[doc = "1/8 LOCO frequency"]
17595        pub const _10: Self = Self::new(2);
17596
17597        #[doc = "1/16 LOCO frequency"]
17598        pub const _11: Self = Self::new(3);
17599    }
17600    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17601    pub struct Ri_SPEC;
17602    pub type Ri = crate::EnumBitfieldStruct<u8, Ri_SPEC>;
17603    impl Ri {
17604        #[doc = "Voltage Monitor  interrupt during Vdet1 passage"]
17605        pub const _0: Self = Self::new(0);
17606
17607        #[doc = "Voltage Monitor  reset enabled when the voltage falls to and below Vdet1"]
17608        pub const _1: Self = Self::new(1);
17609    }
17610    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17611    pub struct Rn_SPEC;
17612    pub type Rn = crate::EnumBitfieldStruct<u8, Rn_SPEC>;
17613    impl Rn {
17614        #[doc = "Negation follows a stabilization time (tPVD) after VCC > Vdet is detected."]
17615        pub const _0: Self = Self::new(0);
17616
17617        #[doc = "Negation follows a stabilization time (tPVD) after assertion of the PVD reset."]
17618        pub const _1: Self = Self::new(1);
17619    }
17620}
17621#[doc(hidden)]
17622#[derive(Copy, Clone, Eq, PartialEq)]
17623pub struct Vbattmnselr_SPEC;
17624impl crate::sealed::RegSpec for Vbattmnselr_SPEC {
17625    type DataType = u8;
17626}
17627
17628#[doc = "Battery Backup Voltage Monitor Function Select Register"]
17629pub type Vbattmnselr = crate::RegValueT<Vbattmnselr_SPEC>;
17630
17631impl Vbattmnselr {
17632    #[doc = "VBATT Voltage Monitor Function Select Bit"]
17633    #[inline(always)]
17634    pub fn vbattmnsel(
17635        self,
17636    ) -> crate::common::RegisterFieldBool<0, 1, 0, Vbattmnselr_SPEC, crate::common::RW> {
17637        crate::common::RegisterFieldBool::<0,1,0,Vbattmnselr_SPEC,crate::common::RW>::from_register(self,0)
17638    }
17639
17640    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
17641    #[inline(always)]
17642    pub fn reserved(
17643        self,
17644    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Vbattmnselr_SPEC, crate::common::RW>
17645    {
17646        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Vbattmnselr_SPEC,crate::common::RW>::from_register(self,0)
17647    }
17648}
17649impl ::core::default::Default for Vbattmnselr {
17650    #[inline(always)]
17651    fn default() -> Vbattmnselr {
17652        <crate::RegValueT<Vbattmnselr_SPEC> as RegisterValue<_>>::new(0)
17653    }
17654}
17655
17656#[doc(hidden)]
17657#[derive(Copy, Clone, Eq, PartialEq)]
17658pub struct Vbtbpcr1_SPEC;
17659impl crate::sealed::RegSpec for Vbtbpcr1_SPEC {
17660    type DataType = u8;
17661}
17662
17663#[doc = "VBATT Battery Power Supply Control Register 1"]
17664pub type Vbtbpcr1 = crate::RegValueT<Vbtbpcr1_SPEC>;
17665
17666impl Vbtbpcr1 {
17667    #[doc = "Battery Power Supply Switch Stop"]
17668    #[inline(always)]
17669    pub fn bpwswstp(
17670        self,
17671    ) -> crate::common::RegisterField<
17672        0,
17673        0x1,
17674        1,
17675        0,
17676        vbtbpcr1::Bpwswstp,
17677        vbtbpcr1::Bpwswstp,
17678        Vbtbpcr1_SPEC,
17679        crate::common::RW,
17680    > {
17681        crate::common::RegisterField::<
17682            0,
17683            0x1,
17684            1,
17685            0,
17686            vbtbpcr1::Bpwswstp,
17687            vbtbpcr1::Bpwswstp,
17688            Vbtbpcr1_SPEC,
17689            crate::common::RW,
17690        >::from_register(self, 0)
17691    }
17692
17693    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
17694    #[inline(always)]
17695    pub fn reserved(
17696        self,
17697    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Vbtbpcr1_SPEC, crate::common::RW> {
17698        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Vbtbpcr1_SPEC,crate::common::RW>::from_register(self,0)
17699    }
17700}
17701impl ::core::default::Default for Vbtbpcr1 {
17702    #[inline(always)]
17703    fn default() -> Vbtbpcr1 {
17704        <crate::RegValueT<Vbtbpcr1_SPEC> as RegisterValue<_>>::new(0)
17705    }
17706}
17707pub mod vbtbpcr1 {
17708
17709    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17710    pub struct Bpwswstp_SPEC;
17711    pub type Bpwswstp = crate::EnumBitfieldStruct<u8, Bpwswstp_SPEC>;
17712    impl Bpwswstp {
17713        #[doc = "Battery power supply switch enable"]
17714        pub const _0: Self = Self::new(0);
17715
17716        #[doc = "Battery power supply switch stop"]
17717        pub const _1: Self = Self::new(1);
17718    }
17719}
17720#[doc(hidden)]
17721#[derive(Copy, Clone, Eq, PartialEq)]
17722pub struct Lpscr_SPEC;
17723impl crate::sealed::RegSpec for Lpscr_SPEC {
17724    type DataType = u8;
17725}
17726
17727#[doc = "Low Power State Control Register"]
17728pub type Lpscr = crate::RegValueT<Lpscr_SPEC>;
17729
17730impl Lpscr {
17731    #[doc = "Low power mode setting bit"]
17732    #[inline(always)]
17733    pub fn lpmd(
17734        self,
17735    ) -> crate::common::RegisterField<
17736        0,
17737        0xf,
17738        1,
17739        0,
17740        lpscr::Lpmd,
17741        lpscr::Lpmd,
17742        Lpscr_SPEC,
17743        crate::common::RW,
17744    > {
17745        crate::common::RegisterField::<
17746            0,
17747            0xf,
17748            1,
17749            0,
17750            lpscr::Lpmd,
17751            lpscr::Lpmd,
17752            Lpscr_SPEC,
17753            crate::common::RW,
17754        >::from_register(self, 0)
17755    }
17756
17757    #[doc = "These bits are read as 0000. The write value should be 0000."]
17758    #[inline(always)]
17759    pub fn reserved(
17760        self,
17761    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, Lpscr_SPEC, crate::common::RW> {
17762        crate::common::RegisterField::<4,0xf,1,0,u8,u8,Lpscr_SPEC,crate::common::RW>::from_register(self,0)
17763    }
17764}
17765impl ::core::default::Default for Lpscr {
17766    #[inline(always)]
17767    fn default() -> Lpscr {
17768        <crate::RegValueT<Lpscr_SPEC> as RegisterValue<_>>::new(4)
17769    }
17770}
17771pub mod lpscr {
17772
17773    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17774    pub struct Lpmd_SPEC;
17775    pub type Lpmd = crate::EnumBitfieldStruct<u8, Lpmd_SPEC>;
17776    impl Lpmd {
17777        #[doc = "System Active"]
17778        pub const _0_H: Self = Self::new(0);
17779
17780        #[doc = "Prohibited. (reserved)"]
17781        pub const _1_H: Self = Self::new(1);
17782
17783        #[doc = "Prohibited. (reserved) for CPU0 Deep Sleep"]
17784        pub const _2_H: Self = Self::new(2);
17785
17786        #[doc = "Prohibited. (reserved) CPU0 Power Gating"]
17787        pub const _3_H: Self = Self::new(3);
17788
17789        #[doc = "Software Standby mode 1"]
17790        pub const _4_H: Self = Self::new(4);
17791
17792        #[doc = "Software Standby mode 2"]
17793        pub const _5_H: Self = Self::new(5);
17794
17795        #[doc = "Prohibited. (reserved for Software Standby mode 3)"]
17796        pub const _6_H: Self = Self::new(6);
17797
17798        #[doc = "Prohibited. (reserved)"]
17799        pub const _7_H: Self = Self::new(7);
17800
17801        #[doc = "Deep Software Standby mode 1"]
17802        pub const _8_H: Self = Self::new(8);
17803
17804        #[doc = "Deep Software Standby mode 2"]
17805        pub const _9_H: Self = Self::new(9);
17806
17807        #[doc = "Deep Software Standby mode 3"]
17808        pub const AH: Self = Self::new(10);
17809    }
17810}
17811#[doc(hidden)]
17812#[derive(Copy, Clone, Eq, PartialEq)]
17813pub struct Sscr1_SPEC;
17814impl crate::sealed::RegSpec for Sscr1_SPEC {
17815    type DataType = u8;
17816}
17817
17818#[doc = "Software Standby Control Register 1"]
17819pub type Sscr1 = crate::RegValueT<Sscr1_SPEC>;
17820
17821impl Sscr1 {
17822    #[doc = "Software Standby 1 Fast Return"]
17823    #[inline(always)]
17824    pub fn ss1fr(
17825        self,
17826    ) -> crate::common::RegisterField<
17827        0,
17828        0x1,
17829        1,
17830        0,
17831        sscr1::Ss1Fr,
17832        sscr1::Ss1Fr,
17833        Sscr1_SPEC,
17834        crate::common::RW,
17835    > {
17836        crate::common::RegisterField::<
17837            0,
17838            0x1,
17839            1,
17840            0,
17841            sscr1::Ss1Fr,
17842            sscr1::Ss1Fr,
17843            Sscr1_SPEC,
17844            crate::common::RW,
17845        >::from_register(self, 0)
17846    }
17847
17848    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
17849    #[inline(always)]
17850    pub fn reserved(
17851        self,
17852    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Sscr1_SPEC, crate::common::RW> {
17853        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Sscr1_SPEC,crate::common::RW>::from_register(self,0)
17854    }
17855}
17856impl ::core::default::Default for Sscr1 {
17857    #[inline(always)]
17858    fn default() -> Sscr1 {
17859        <crate::RegValueT<Sscr1_SPEC> as RegisterValue<_>>::new(0)
17860    }
17861}
17862pub mod sscr1 {
17863
17864    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17865    pub struct Ss1Fr_SPEC;
17866    pub type Ss1Fr = crate::EnumBitfieldStruct<u8, Ss1Fr_SPEC>;
17867    impl Ss1Fr {
17868        #[doc = "When returning from Software Standby mode 1, fast return function is disabled."]
17869        pub const _0: Self = Self::new(0);
17870
17871        #[doc = "When returning from Software Standby mode 1, fast return function is enabled."]
17872        pub const _1: Self = Self::new(1);
17873    }
17874}
17875#[doc(hidden)]
17876#[derive(Copy, Clone, Eq, PartialEq)]
17877pub struct Lvocr_SPEC;
17878impl crate::sealed::RegSpec for Lvocr_SPEC {
17879    type DataType = u8;
17880}
17881
17882#[doc = "Low Power State Control Register"]
17883pub type Lvocr = crate::RegValueT<Lvocr_SPEC>;
17884
17885impl Lvocr {
17886    #[doc = "Low Voltage Operation 0 Enable"]
17887    #[inline(always)]
17888    pub fn lvo0e(
17889        self,
17890    ) -> crate::common::RegisterField<
17891        0,
17892        0x1,
17893        1,
17894        0,
17895        lvocr::Lvo0E,
17896        lvocr::Lvo0E,
17897        Lvocr_SPEC,
17898        crate::common::RW,
17899    > {
17900        crate::common::RegisterField::<
17901            0,
17902            0x1,
17903            1,
17904            0,
17905            lvocr::Lvo0E,
17906            lvocr::Lvo0E,
17907            Lvocr_SPEC,
17908            crate::common::RW,
17909        >::from_register(self, 0)
17910    }
17911
17912    #[doc = "Low Voltage Operation 1 Enable"]
17913    #[inline(always)]
17914    pub fn lvo1e(
17915        self,
17916    ) -> crate::common::RegisterField<
17917        1,
17918        0x1,
17919        1,
17920        0,
17921        lvocr::Lvo1E,
17922        lvocr::Lvo1E,
17923        Lvocr_SPEC,
17924        crate::common::RW,
17925    > {
17926        crate::common::RegisterField::<
17927            1,
17928            0x1,
17929            1,
17930            0,
17931            lvocr::Lvo1E,
17932            lvocr::Lvo1E,
17933            Lvocr_SPEC,
17934            crate::common::RW,
17935        >::from_register(self, 0)
17936    }
17937
17938    #[doc = "These bits are read as 000000. The write value should be 000000."]
17939    #[inline(always)]
17940    pub fn reserved(
17941        self,
17942    ) -> crate::common::RegisterField<2, 0x3f, 1, 0, u8, u8, Lvocr_SPEC, crate::common::RW> {
17943        crate::common::RegisterField::<2,0x3f,1,0,u8,u8,Lvocr_SPEC,crate::common::RW>::from_register(self,0)
17944    }
17945}
17946impl ::core::default::Default for Lvocr {
17947    #[inline(always)]
17948    fn default() -> Lvocr {
17949        <crate::RegValueT<Lvocr_SPEC> as RegisterValue<_>>::new(0)
17950    }
17951}
17952pub mod lvocr {
17953
17954    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17955    pub struct Lvo0E_SPEC;
17956    pub type Lvo0E = crate::EnumBitfieldStruct<u8, Lvo0E_SPEC>;
17957    impl Lvo0E {
17958        #[doc = "Disable"]
17959        pub const _0: Self = Self::new(0);
17960
17961        #[doc = "Enable"]
17962        pub const _1: Self = Self::new(1);
17963    }
17964    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17965    pub struct Lvo1E_SPEC;
17966    pub type Lvo1E = crate::EnumBitfieldStruct<u8, Lvo1E_SPEC>;
17967    impl Lvo1E {
17968        #[doc = "Disable"]
17969        pub const _0: Self = Self::new(0);
17970
17971        #[doc = "Enable"]
17972        pub const _1: Self = Self::new(1);
17973    }
17974}
17975#[doc(hidden)]
17976#[derive(Copy, Clone, Eq, PartialEq)]
17977pub struct Syrstmsk0_SPEC;
17978impl crate::sealed::RegSpec for Syrstmsk0_SPEC {
17979    type DataType = u8;
17980}
17981
17982#[doc = "System Reset Mask Control Register0"]
17983pub type Syrstmsk0 = crate::RegValueT<Syrstmsk0_SPEC>;
17984
17985impl Syrstmsk0 {
17986    #[doc = "Independent watchdog timer Reset Mask"]
17987    #[inline(always)]
17988    pub fn iwdtmask(
17989        self,
17990    ) -> crate::common::RegisterField<
17991        0,
17992        0x1,
17993        1,
17994        0,
17995        syrstmsk0::Iwdtmask,
17996        syrstmsk0::Iwdtmask,
17997        Syrstmsk0_SPEC,
17998        crate::common::RW,
17999    > {
18000        crate::common::RegisterField::<
18001            0,
18002            0x1,
18003            1,
18004            0,
18005            syrstmsk0::Iwdtmask,
18006            syrstmsk0::Iwdtmask,
18007            Syrstmsk0_SPEC,
18008            crate::common::RW,
18009        >::from_register(self, 0)
18010    }
18011
18012    #[doc = "CPU0 Watchdog timer Reset Mask"]
18013    #[inline(always)]
18014    pub fn wdt0mask(
18015        self,
18016    ) -> crate::common::RegisterField<
18017        1,
18018        0x1,
18019        1,
18020        0,
18021        syrstmsk0::Wdt0Mask,
18022        syrstmsk0::Wdt0Mask,
18023        Syrstmsk0_SPEC,
18024        crate::common::RW,
18025    > {
18026        crate::common::RegisterField::<
18027            1,
18028            0x1,
18029            1,
18030            0,
18031            syrstmsk0::Wdt0Mask,
18032            syrstmsk0::Wdt0Mask,
18033            Syrstmsk0_SPEC,
18034            crate::common::RW,
18035        >::from_register(self, 0)
18036    }
18037
18038    #[doc = "Software Reset Mask"]
18039    #[inline(always)]
18040    pub fn swmask(
18041        self,
18042    ) -> crate::common::RegisterField<
18043        2,
18044        0x1,
18045        1,
18046        0,
18047        syrstmsk0::Swmask,
18048        syrstmsk0::Swmask,
18049        Syrstmsk0_SPEC,
18050        crate::common::RW,
18051    > {
18052        crate::common::RegisterField::<
18053            2,
18054            0x1,
18055            1,
18056            0,
18057            syrstmsk0::Swmask,
18058            syrstmsk0::Swmask,
18059            Syrstmsk0_SPEC,
18060            crate::common::RW,
18061        >::from_register(self, 0)
18062    }
18063
18064    #[doc = "This bit is read as 0. The write value should be 0."]
18065    #[inline(always)]
18066    pub fn reserved(
18067        self,
18068    ) -> crate::common::RegisterFieldBool<3, 1, 0, Syrstmsk0_SPEC, crate::common::RW> {
18069        crate::common::RegisterFieldBool::<3,1,0,Syrstmsk0_SPEC,crate::common::RW>::from_register(self,0)
18070    }
18071
18072    #[doc = "CPU0 Lockup Reset Mask"]
18073    #[inline(always)]
18074    pub fn clup0mask(
18075        self,
18076    ) -> crate::common::RegisterField<
18077        4,
18078        0x1,
18079        1,
18080        0,
18081        syrstmsk0::Clup0Mask,
18082        syrstmsk0::Clup0Mask,
18083        Syrstmsk0_SPEC,
18084        crate::common::RW,
18085    > {
18086        crate::common::RegisterField::<
18087            4,
18088            0x1,
18089            1,
18090            0,
18091            syrstmsk0::Clup0Mask,
18092            syrstmsk0::Clup0Mask,
18093            Syrstmsk0_SPEC,
18094            crate::common::RW,
18095        >::from_register(self, 0)
18096    }
18097
18098    #[doc = "Local memory 0 error Reset Mask"]
18099    #[inline(always)]
18100    pub fn lm0mask(
18101        self,
18102    ) -> crate::common::RegisterField<
18103        5,
18104        0x1,
18105        1,
18106        0,
18107        syrstmsk0::Lm0Mask,
18108        syrstmsk0::Lm0Mask,
18109        Syrstmsk0_SPEC,
18110        crate::common::RW,
18111    > {
18112        crate::common::RegisterField::<
18113            5,
18114            0x1,
18115            1,
18116            0,
18117            syrstmsk0::Lm0Mask,
18118            syrstmsk0::Lm0Mask,
18119            Syrstmsk0_SPEC,
18120            crate::common::RW,
18121        >::from_register(self, 0)
18122    }
18123
18124    #[doc = "Common memory error Reset Mask"]
18125    #[inline(always)]
18126    pub fn cmmask(
18127        self,
18128    ) -> crate::common::RegisterField<
18129        6,
18130        0x1,
18131        1,
18132        0,
18133        syrstmsk0::Cmmask,
18134        syrstmsk0::Cmmask,
18135        Syrstmsk0_SPEC,
18136        crate::common::RW,
18137    > {
18138        crate::common::RegisterField::<
18139            6,
18140            0x1,
18141            1,
18142            0,
18143            syrstmsk0::Cmmask,
18144            syrstmsk0::Cmmask,
18145            Syrstmsk0_SPEC,
18146            crate::common::RW,
18147        >::from_register(self, 0)
18148    }
18149
18150    #[doc = "BUS error Reset Mask"]
18151    #[inline(always)]
18152    pub fn busmask(
18153        self,
18154    ) -> crate::common::RegisterField<
18155        7,
18156        0x1,
18157        1,
18158        0,
18159        syrstmsk0::Busmask,
18160        syrstmsk0::Busmask,
18161        Syrstmsk0_SPEC,
18162        crate::common::RW,
18163    > {
18164        crate::common::RegisterField::<
18165            7,
18166            0x1,
18167            1,
18168            0,
18169            syrstmsk0::Busmask,
18170            syrstmsk0::Busmask,
18171            Syrstmsk0_SPEC,
18172            crate::common::RW,
18173        >::from_register(self, 0)
18174    }
18175}
18176impl ::core::default::Default for Syrstmsk0 {
18177    #[inline(always)]
18178    fn default() -> Syrstmsk0 {
18179        <crate::RegValueT<Syrstmsk0_SPEC> as RegisterValue<_>>::new(0)
18180    }
18181}
18182pub mod syrstmsk0 {
18183
18184    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18185    pub struct Iwdtmask_SPEC;
18186    pub type Iwdtmask = crate::EnumBitfieldStruct<u8, Iwdtmask_SPEC>;
18187    impl Iwdtmask {
18188        #[doc = "Reset occurrence is enabled."]
18189        pub const _0: Self = Self::new(0);
18190
18191        #[doc = "Reset occurrence is disabled."]
18192        pub const _1: Self = Self::new(1);
18193    }
18194    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18195    pub struct Wdt0Mask_SPEC;
18196    pub type Wdt0Mask = crate::EnumBitfieldStruct<u8, Wdt0Mask_SPEC>;
18197    impl Wdt0Mask {
18198        #[doc = "Reset occurrence is enabled."]
18199        pub const _0: Self = Self::new(0);
18200
18201        #[doc = "Reset occurrence is disabled."]
18202        pub const _1: Self = Self::new(1);
18203    }
18204    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18205    pub struct Swmask_SPEC;
18206    pub type Swmask = crate::EnumBitfieldStruct<u8, Swmask_SPEC>;
18207    impl Swmask {
18208        #[doc = "Reset occurrence is enabled."]
18209        pub const _0: Self = Self::new(0);
18210
18211        #[doc = "Reset occurrence is disabled."]
18212        pub const _1: Self = Self::new(1);
18213    }
18214    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18215    pub struct Clup0Mask_SPEC;
18216    pub type Clup0Mask = crate::EnumBitfieldStruct<u8, Clup0Mask_SPEC>;
18217    impl Clup0Mask {
18218        #[doc = "Reset occurrence is enabled."]
18219        pub const _0: Self = Self::new(0);
18220
18221        #[doc = "Reset occurrence is disabled."]
18222        pub const _1: Self = Self::new(1);
18223    }
18224    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18225    pub struct Lm0Mask_SPEC;
18226    pub type Lm0Mask = crate::EnumBitfieldStruct<u8, Lm0Mask_SPEC>;
18227    impl Lm0Mask {
18228        #[doc = "Reset occurrence is enabled."]
18229        pub const _0: Self = Self::new(0);
18230
18231        #[doc = "Reset occurrence is disabled."]
18232        pub const _1: Self = Self::new(1);
18233    }
18234    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18235    pub struct Cmmask_SPEC;
18236    pub type Cmmask = crate::EnumBitfieldStruct<u8, Cmmask_SPEC>;
18237    impl Cmmask {
18238        #[doc = "Reset occurrence is enabled."]
18239        pub const _0: Self = Self::new(0);
18240
18241        #[doc = "Reset occurrence is disabled."]
18242        pub const _1: Self = Self::new(1);
18243    }
18244    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18245    pub struct Busmask_SPEC;
18246    pub type Busmask = crate::EnumBitfieldStruct<u8, Busmask_SPEC>;
18247    impl Busmask {
18248        #[doc = "Reset occurrence is enabled."]
18249        pub const _0: Self = Self::new(0);
18250
18251        #[doc = "Reset occurrence is disabled."]
18252        pub const _1: Self = Self::new(1);
18253    }
18254}
18255#[doc(hidden)]
18256#[derive(Copy, Clone, Eq, PartialEq)]
18257pub struct Syrstmsk1_SPEC;
18258impl crate::sealed::RegSpec for Syrstmsk1_SPEC {
18259    type DataType = u8;
18260}
18261
18262#[doc = "System Reset Mask Control Register1"]
18263pub type Syrstmsk1 = crate::RegValueT<Syrstmsk1_SPEC>;
18264
18265impl Syrstmsk1 {
18266    #[doc = "Local memory 1 error Reset Mask"]
18267    #[inline(always)]
18268    pub fn lm1mask(
18269        self,
18270    ) -> crate::common::RegisterField<
18271        5,
18272        0x1,
18273        1,
18274        0,
18275        syrstmsk1::Lm1Mask,
18276        syrstmsk1::Lm1Mask,
18277        Syrstmsk1_SPEC,
18278        crate::common::RW,
18279    > {
18280        crate::common::RegisterField::<
18281            5,
18282            0x1,
18283            1,
18284            0,
18285            syrstmsk1::Lm1Mask,
18286            syrstmsk1::Lm1Mask,
18287            Syrstmsk1_SPEC,
18288            crate::common::RW,
18289        >::from_register(self, 0)
18290    }
18291
18292    #[doc = "This bit is read as 0. The write value should be 0."]
18293    #[inline(always)]
18294    pub fn reserved(
18295        self,
18296    ) -> crate::common::RegisterFieldBool<6, 1, 0, Syrstmsk1_SPEC, crate::common::RW> {
18297        crate::common::RegisterFieldBool::<6,1,0,Syrstmsk1_SPEC,crate::common::RW>::from_register(self,0)
18298    }
18299
18300    #[doc = "Network Reset Mask"]
18301    #[inline(always)]
18302    pub fn nwmask(
18303        self,
18304    ) -> crate::common::RegisterField<
18305        7,
18306        0x1,
18307        1,
18308        0,
18309        syrstmsk1::Nwmask,
18310        syrstmsk1::Nwmask,
18311        Syrstmsk1_SPEC,
18312        crate::common::RW,
18313    > {
18314        crate::common::RegisterField::<
18315            7,
18316            0x1,
18317            1,
18318            0,
18319            syrstmsk1::Nwmask,
18320            syrstmsk1::Nwmask,
18321            Syrstmsk1_SPEC,
18322            crate::common::RW,
18323        >::from_register(self, 0)
18324    }
18325}
18326impl ::core::default::Default for Syrstmsk1 {
18327    #[inline(always)]
18328    fn default() -> Syrstmsk1 {
18329        <crate::RegValueT<Syrstmsk1_SPEC> as RegisterValue<_>>::new(0)
18330    }
18331}
18332pub mod syrstmsk1 {
18333
18334    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18335    pub struct Lm1Mask_SPEC;
18336    pub type Lm1Mask = crate::EnumBitfieldStruct<u8, Lm1Mask_SPEC>;
18337    impl Lm1Mask {
18338        #[doc = "Reset occurrence is enabled."]
18339        pub const _0: Self = Self::new(0);
18340
18341        #[doc = "Reset occurrence is disabled."]
18342        pub const _1: Self = Self::new(1);
18343    }
18344    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18345    pub struct Nwmask_SPEC;
18346    pub type Nwmask = crate::EnumBitfieldStruct<u8, Nwmask_SPEC>;
18347    impl Nwmask {
18348        #[doc = "Reset occurrence is enabled."]
18349        pub const _0: Self = Self::new(0);
18350
18351        #[doc = "Reset occurrence is disabled."]
18352        pub const _1: Self = Self::new(1);
18353    }
18354}
18355#[doc(hidden)]
18356#[derive(Copy, Clone, Eq, PartialEq)]
18357pub struct Syrstmsk2_SPEC;
18358impl crate::sealed::RegSpec for Syrstmsk2_SPEC {
18359    type DataType = u8;
18360}
18361
18362#[doc = "System Reset Mask Control Register2"]
18363pub type Syrstmsk2 = crate::RegValueT<Syrstmsk2_SPEC>;
18364
18365impl Syrstmsk2 {
18366    #[doc = "Voltage Monitor 1 Reset  Mask"]
18367    #[inline(always)]
18368    pub fn pvd1mask(
18369        self,
18370    ) -> crate::common::RegisterField<
18371        0,
18372        0x1,
18373        1,
18374        0,
18375        syrstmsk2::Pvd1Mask,
18376        syrstmsk2::Pvd1Mask,
18377        Syrstmsk2_SPEC,
18378        crate::common::RW,
18379    > {
18380        crate::common::RegisterField::<
18381            0,
18382            0x1,
18383            1,
18384            0,
18385            syrstmsk2::Pvd1Mask,
18386            syrstmsk2::Pvd1Mask,
18387            Syrstmsk2_SPEC,
18388            crate::common::RW,
18389        >::from_register(self, 0)
18390    }
18391
18392    #[doc = "Voltage Monitor 2 Reset  Mask"]
18393    #[inline(always)]
18394    pub fn pvd2mask(
18395        self,
18396    ) -> crate::common::RegisterField<
18397        1,
18398        0x1,
18399        1,
18400        0,
18401        syrstmsk2::Pvd2Mask,
18402        syrstmsk2::Pvd2Mask,
18403        Syrstmsk2_SPEC,
18404        crate::common::RW,
18405    > {
18406        crate::common::RegisterField::<
18407            1,
18408            0x1,
18409            1,
18410            0,
18411            syrstmsk2::Pvd2Mask,
18412            syrstmsk2::Pvd2Mask,
18413            Syrstmsk2_SPEC,
18414            crate::common::RW,
18415        >::from_register(self, 0)
18416    }
18417
18418    #[doc = "Voltage Monitor 3 Reset  Mask"]
18419    #[inline(always)]
18420    pub fn pvd3mask(
18421        self,
18422    ) -> crate::common::RegisterField<
18423        2,
18424        0x1,
18425        1,
18426        0,
18427        syrstmsk2::Pvd3Mask,
18428        syrstmsk2::Pvd3Mask,
18429        Syrstmsk2_SPEC,
18430        crate::common::RW,
18431    > {
18432        crate::common::RegisterField::<
18433            2,
18434            0x1,
18435            1,
18436            0,
18437            syrstmsk2::Pvd3Mask,
18438            syrstmsk2::Pvd3Mask,
18439            Syrstmsk2_SPEC,
18440            crate::common::RW,
18441        >::from_register(self, 0)
18442    }
18443
18444    #[doc = "Voltage Monitor 4 Reset  Mask"]
18445    #[inline(always)]
18446    pub fn pvd4mask(
18447        self,
18448    ) -> crate::common::RegisterField<
18449        3,
18450        0x1,
18451        1,
18452        0,
18453        syrstmsk2::Pvd4Mask,
18454        syrstmsk2::Pvd4Mask,
18455        Syrstmsk2_SPEC,
18456        crate::common::RW,
18457    > {
18458        crate::common::RegisterField::<
18459            3,
18460            0x1,
18461            1,
18462            0,
18463            syrstmsk2::Pvd4Mask,
18464            syrstmsk2::Pvd4Mask,
18465            Syrstmsk2_SPEC,
18466            crate::common::RW,
18467        >::from_register(self, 0)
18468    }
18469
18470    #[doc = "Voltage Monitor 5 Reset  Mask"]
18471    #[inline(always)]
18472    pub fn pvd5mask(
18473        self,
18474    ) -> crate::common::RegisterField<
18475        4,
18476        0x1,
18477        1,
18478        0,
18479        syrstmsk2::Pvd5Mask,
18480        syrstmsk2::Pvd5Mask,
18481        Syrstmsk2_SPEC,
18482        crate::common::RW,
18483    > {
18484        crate::common::RegisterField::<
18485            4,
18486            0x1,
18487            1,
18488            0,
18489            syrstmsk2::Pvd5Mask,
18490            syrstmsk2::Pvd5Mask,
18491            Syrstmsk2_SPEC,
18492            crate::common::RW,
18493        >::from_register(self, 0)
18494    }
18495
18496    #[doc = "These bits are read as 000. The write value should be 000."]
18497    #[inline(always)]
18498    pub fn reserved(
18499        self,
18500    ) -> crate::common::RegisterField<5, 0x7, 1, 0, u8, u8, Syrstmsk2_SPEC, crate::common::RW> {
18501        crate::common::RegisterField::<5,0x7,1,0,u8,u8,Syrstmsk2_SPEC,crate::common::RW>::from_register(self,0)
18502    }
18503}
18504impl ::core::default::Default for Syrstmsk2 {
18505    #[inline(always)]
18506    fn default() -> Syrstmsk2 {
18507        <crate::RegValueT<Syrstmsk2_SPEC> as RegisterValue<_>>::new(0)
18508    }
18509}
18510pub mod syrstmsk2 {
18511
18512    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18513    pub struct Pvd1Mask_SPEC;
18514    pub type Pvd1Mask = crate::EnumBitfieldStruct<u8, Pvd1Mask_SPEC>;
18515    impl Pvd1Mask {
18516        #[doc = "Reset occurrence is enabled."]
18517        pub const _0: Self = Self::new(0);
18518
18519        #[doc = "Reset occurrence is disabled."]
18520        pub const _1: Self = Self::new(1);
18521    }
18522    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18523    pub struct Pvd2Mask_SPEC;
18524    pub type Pvd2Mask = crate::EnumBitfieldStruct<u8, Pvd2Mask_SPEC>;
18525    impl Pvd2Mask {
18526        #[doc = "Reset occurrence is enabled."]
18527        pub const _0: Self = Self::new(0);
18528
18529        #[doc = "Reset occurrence is disabled."]
18530        pub const _1: Self = Self::new(1);
18531    }
18532    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18533    pub struct Pvd3Mask_SPEC;
18534    pub type Pvd3Mask = crate::EnumBitfieldStruct<u8, Pvd3Mask_SPEC>;
18535    impl Pvd3Mask {
18536        #[doc = "Reset occurrence is enabled."]
18537        pub const _0: Self = Self::new(0);
18538
18539        #[doc = "Reset occurrence is disabled."]
18540        pub const _1: Self = Self::new(1);
18541    }
18542    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18543    pub struct Pvd4Mask_SPEC;
18544    pub type Pvd4Mask = crate::EnumBitfieldStruct<u8, Pvd4Mask_SPEC>;
18545    impl Pvd4Mask {
18546        #[doc = "Reset occurrence is enabled."]
18547        pub const _0: Self = Self::new(0);
18548
18549        #[doc = "Reset occurrence is disabled."]
18550        pub const _1: Self = Self::new(1);
18551    }
18552    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18553    pub struct Pvd5Mask_SPEC;
18554    pub type Pvd5Mask = crate::EnumBitfieldStruct<u8, Pvd5Mask_SPEC>;
18555    impl Pvd5Mask {
18556        #[doc = "Reset occurrence is enabled."]
18557        pub const _0: Self = Self::new(0);
18558
18559        #[doc = "Reset occurrence is disabled."]
18560        pub const _1: Self = Self::new(1);
18561    }
18562}
18563#[doc(hidden)]
18564#[derive(Copy, Clone, Eq, PartialEq)]
18565pub struct Pll1Ldocr_SPEC;
18566impl crate::sealed::RegSpec for Pll1Ldocr_SPEC {
18567    type DataType = u8;
18568}
18569
18570#[doc = "PLL1-LDO Control Register"]
18571pub type Pll1Ldocr = crate::RegValueT<Pll1Ldocr_SPEC>;
18572
18573impl Pll1Ldocr {
18574    #[doc = "LDO Stop"]
18575    #[inline(always)]
18576    pub fn ldostp(
18577        self,
18578    ) -> crate::common::RegisterField<
18579        0,
18580        0x1,
18581        1,
18582        0,
18583        pll1ldocr::Ldostp,
18584        pll1ldocr::Ldostp,
18585        Pll1Ldocr_SPEC,
18586        crate::common::RW,
18587    > {
18588        crate::common::RegisterField::<
18589            0,
18590            0x1,
18591            1,
18592            0,
18593            pll1ldocr::Ldostp,
18594            pll1ldocr::Ldostp,
18595            Pll1Ldocr_SPEC,
18596            crate::common::RW,
18597        >::from_register(self, 0)
18598    }
18599
18600    #[doc = "STBY Keep"]
18601    #[inline(always)]
18602    pub fn skeep(
18603        self,
18604    ) -> crate::common::RegisterField<
18605        1,
18606        0x1,
18607        1,
18608        0,
18609        pll1ldocr::Skeep,
18610        pll1ldocr::Skeep,
18611        Pll1Ldocr_SPEC,
18612        crate::common::RW,
18613    > {
18614        crate::common::RegisterField::<
18615            1,
18616            0x1,
18617            1,
18618            0,
18619            pll1ldocr::Skeep,
18620            pll1ldocr::Skeep,
18621            Pll1Ldocr_SPEC,
18622            crate::common::RW,
18623        >::from_register(self, 0)
18624    }
18625
18626    #[doc = "These bits are read as 00000. The write value should be 00000."]
18627    #[inline(always)]
18628    pub fn reserved(
18629        self,
18630    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Pll1Ldocr_SPEC, crate::common::RW>
18631    {
18632        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Pll1Ldocr_SPEC,crate::common::RW>::from_register(self,0)
18633    }
18634}
18635impl ::core::default::Default for Pll1Ldocr {
18636    #[inline(always)]
18637    fn default() -> Pll1Ldocr {
18638        <crate::RegValueT<Pll1Ldocr_SPEC> as RegisterValue<_>>::new(0)
18639    }
18640}
18641pub mod pll1ldocr {
18642
18643    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18644    pub struct Ldostp_SPEC;
18645    pub type Ldostp = crate::EnumBitfieldStruct<u8, Ldostp_SPEC>;
18646    impl Ldostp {
18647        #[doc = "PLL1-LDO is enabled"]
18648        pub const _0: Self = Self::new(0);
18649
18650        #[doc = "PLL1-LDO is stopped"]
18651        pub const _1: Self = Self::new(1);
18652    }
18653    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18654    pub struct Skeep_SPEC;
18655    pub type Skeep = crate::EnumBitfieldStruct<u8, Skeep_SPEC>;
18656    impl Skeep {
18657        #[doc = "PLL1-LDO is stopped during Software Standby mode."]
18658        pub const _0: Self = Self::new(0);
18659
18660        #[doc = "PLL1-LDO state before Software Standby mode is retained during Software Standby mode."]
18661        pub const _1: Self = Self::new(1);
18662    }
18663}
18664#[doc(hidden)]
18665#[derive(Copy, Clone, Eq, PartialEq)]
18666pub struct Pll2Ldocr_SPEC;
18667impl crate::sealed::RegSpec for Pll2Ldocr_SPEC {
18668    type DataType = u8;
18669}
18670
18671#[doc = "PLL2-LDO Control Register"]
18672pub type Pll2Ldocr = crate::RegValueT<Pll2Ldocr_SPEC>;
18673
18674impl Pll2Ldocr {
18675    #[doc = "LDO Stop"]
18676    #[inline(always)]
18677    pub fn ldostp(
18678        self,
18679    ) -> crate::common::RegisterField<
18680        0,
18681        0x1,
18682        1,
18683        0,
18684        pll2ldocr::Ldostp,
18685        pll2ldocr::Ldostp,
18686        Pll2Ldocr_SPEC,
18687        crate::common::RW,
18688    > {
18689        crate::common::RegisterField::<
18690            0,
18691            0x1,
18692            1,
18693            0,
18694            pll2ldocr::Ldostp,
18695            pll2ldocr::Ldostp,
18696            Pll2Ldocr_SPEC,
18697            crate::common::RW,
18698        >::from_register(self, 0)
18699    }
18700
18701    #[doc = "STBY Keep"]
18702    #[inline(always)]
18703    pub fn skeep(
18704        self,
18705    ) -> crate::common::RegisterField<
18706        1,
18707        0x1,
18708        1,
18709        0,
18710        pll2ldocr::Skeep,
18711        pll2ldocr::Skeep,
18712        Pll2Ldocr_SPEC,
18713        crate::common::RW,
18714    > {
18715        crate::common::RegisterField::<
18716            1,
18717            0x1,
18718            1,
18719            0,
18720            pll2ldocr::Skeep,
18721            pll2ldocr::Skeep,
18722            Pll2Ldocr_SPEC,
18723            crate::common::RW,
18724        >::from_register(self, 0)
18725    }
18726
18727    #[doc = "These bits are read as 00000. The write value should be 00000."]
18728    #[inline(always)]
18729    pub fn reserved(
18730        self,
18731    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Pll2Ldocr_SPEC, crate::common::RW>
18732    {
18733        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Pll2Ldocr_SPEC,crate::common::RW>::from_register(self,0)
18734    }
18735}
18736impl ::core::default::Default for Pll2Ldocr {
18737    #[inline(always)]
18738    fn default() -> Pll2Ldocr {
18739        <crate::RegValueT<Pll2Ldocr_SPEC> as RegisterValue<_>>::new(0)
18740    }
18741}
18742pub mod pll2ldocr {
18743
18744    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18745    pub struct Ldostp_SPEC;
18746    pub type Ldostp = crate::EnumBitfieldStruct<u8, Ldostp_SPEC>;
18747    impl Ldostp {
18748        #[doc = "PLL2-LDO is enabled"]
18749        pub const _0: Self = Self::new(0);
18750
18751        #[doc = "PLL2-LDO is stopped"]
18752        pub const _1: Self = Self::new(1);
18753    }
18754    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18755    pub struct Skeep_SPEC;
18756    pub type Skeep = crate::EnumBitfieldStruct<u8, Skeep_SPEC>;
18757    impl Skeep {
18758        #[doc = "PLL2-LDO is stopped during Software Standby mode."]
18759        pub const _0: Self = Self::new(0);
18760
18761        #[doc = "PLL2-LDO state before Software Standby mode is retained during Software Standby mode."]
18762        pub const _1: Self = Self::new(1);
18763    }
18764}
18765#[doc(hidden)]
18766#[derive(Copy, Clone, Eq, PartialEq)]
18767pub struct Hocoldocr_SPEC;
18768impl crate::sealed::RegSpec for Hocoldocr_SPEC {
18769    type DataType = u8;
18770}
18771
18772#[doc = "HOCO-LDO Control Register"]
18773pub type Hocoldocr = crate::RegValueT<Hocoldocr_SPEC>;
18774
18775impl Hocoldocr {
18776    #[doc = "LDO Stop"]
18777    #[inline(always)]
18778    pub fn ldostp(
18779        self,
18780    ) -> crate::common::RegisterField<
18781        0,
18782        0x1,
18783        1,
18784        0,
18785        hocoldocr::Ldostp,
18786        hocoldocr::Ldostp,
18787        Hocoldocr_SPEC,
18788        crate::common::RW,
18789    > {
18790        crate::common::RegisterField::<
18791            0,
18792            0x1,
18793            1,
18794            0,
18795            hocoldocr::Ldostp,
18796            hocoldocr::Ldostp,
18797            Hocoldocr_SPEC,
18798            crate::common::RW,
18799        >::from_register(self, 0)
18800    }
18801
18802    #[doc = "STBY Keep"]
18803    #[inline(always)]
18804    pub fn skeep(
18805        self,
18806    ) -> crate::common::RegisterField<
18807        1,
18808        0x1,
18809        1,
18810        0,
18811        hocoldocr::Skeep,
18812        hocoldocr::Skeep,
18813        Hocoldocr_SPEC,
18814        crate::common::RW,
18815    > {
18816        crate::common::RegisterField::<
18817            1,
18818            0x1,
18819            1,
18820            0,
18821            hocoldocr::Skeep,
18822            hocoldocr::Skeep,
18823            Hocoldocr_SPEC,
18824            crate::common::RW,
18825        >::from_register(self, 0)
18826    }
18827
18828    #[doc = "These bits are read as 00000. The write value should be 00000."]
18829    #[inline(always)]
18830    pub fn reserved(
18831        self,
18832    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Hocoldocr_SPEC, crate::common::RW>
18833    {
18834        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Hocoldocr_SPEC,crate::common::RW>::from_register(self,0)
18835    }
18836}
18837impl ::core::default::Default for Hocoldocr {
18838    #[inline(always)]
18839    fn default() -> Hocoldocr {
18840        <crate::RegValueT<Hocoldocr_SPEC> as RegisterValue<_>>::new(0)
18841    }
18842}
18843pub mod hocoldocr {
18844
18845    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18846    pub struct Ldostp_SPEC;
18847    pub type Ldostp = crate::EnumBitfieldStruct<u8, Ldostp_SPEC>;
18848    impl Ldostp {
18849        #[doc = "HOCO-LDO is enabled"]
18850        pub const _0: Self = Self::new(0);
18851
18852        #[doc = "HOCO-LDO is stopped"]
18853        pub const _1: Self = Self::new(1);
18854    }
18855    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18856    pub struct Skeep_SPEC;
18857    pub type Skeep = crate::EnumBitfieldStruct<u8, Skeep_SPEC>;
18858    impl Skeep {
18859        #[doc = "HOCO-LDO is stopped during Software Standby mode."]
18860        pub const _0: Self = Self::new(0);
18861
18862        #[doc = "HOCO-LDO state before Software Standby mode is retained during Software Standby mode."]
18863        pub const _1: Self = Self::new(1);
18864    }
18865}
18866#[doc(hidden)]
18867#[derive(Copy, Clone, Eq, PartialEq)]
18868pub struct Momcr2_SPEC;
18869impl crate::sealed::RegSpec for Momcr2_SPEC {
18870    type DataType = u8;
18871}
18872
18873#[doc = "Main Clock Oscillator Mode Control Register 2"]
18874pub type Momcr2 = crate::RegValueT<Momcr2_SPEC>;
18875
18876impl Momcr2 {
18877    #[doc = "Main Clock Oscillator Mode Select"]
18878    #[inline(always)]
18879    pub fn momode(
18880        self,
18881    ) -> crate::common::RegisterField<
18882        0,
18883        0x1,
18884        1,
18885        0,
18886        momcr2::Momode,
18887        momcr2::Momode,
18888        Momcr2_SPEC,
18889        crate::common::RW,
18890    > {
18891        crate::common::RegisterField::<
18892            0,
18893            0x1,
18894            1,
18895            0,
18896            momcr2::Momode,
18897            momcr2::Momode,
18898            Momcr2_SPEC,
18899            crate::common::RW,
18900        >::from_register(self, 0)
18901    }
18902
18903    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
18904    #[inline(always)]
18905    pub fn reserved(
18906        self,
18907    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Momcr2_SPEC, crate::common::RW> {
18908        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Momcr2_SPEC,crate::common::RW>::from_register(self,0)
18909    }
18910}
18911impl ::core::default::Default for Momcr2 {
18912    #[inline(always)]
18913    fn default() -> Momcr2 {
18914        <crate::RegValueT<Momcr2_SPEC> as RegisterValue<_>>::new(0)
18915    }
18916}
18917pub mod momcr2 {
18918
18919    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18920    pub struct Momode_SPEC;
18921    pub type Momode = crate::EnumBitfieldStruct<u8, Momode_SPEC>;
18922    impl Momode {
18923        #[doc = "Normal crystal oscillator mode (value after reset)"]
18924        pub const _0: Self = Self::new(0);
18925
18926        #[doc = "8M to 12MHz custom ceramic mode"]
18927        pub const _1: Self = Self::new(1);
18928    }
18929}
18930#[doc(hidden)]
18931#[derive(Copy, Clone, Eq, PartialEq)]
18932pub struct Sosccr_SPEC;
18933impl crate::sealed::RegSpec for Sosccr_SPEC {
18934    type DataType = u8;
18935}
18936
18937#[doc = "Sub-clock oscillator control register"]
18938pub type Sosccr = crate::RegValueT<Sosccr_SPEC>;
18939
18940impl Sosccr {
18941    #[doc = "Sub-Clock Oscillator Stop"]
18942    #[inline(always)]
18943    pub fn sostp(
18944        self,
18945    ) -> crate::common::RegisterField<
18946        0,
18947        0x1,
18948        1,
18949        0,
18950        sosccr::Sostp,
18951        sosccr::Sostp,
18952        Sosccr_SPEC,
18953        crate::common::RW,
18954    > {
18955        crate::common::RegisterField::<
18956            0,
18957            0x1,
18958            1,
18959            0,
18960            sosccr::Sostp,
18961            sosccr::Sostp,
18962            Sosccr_SPEC,
18963            crate::common::RW,
18964        >::from_register(self, 0)
18965    }
18966
18967    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
18968    #[inline(always)]
18969    pub fn reserved(
18970        self,
18971    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Sosccr_SPEC, crate::common::RW> {
18972        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Sosccr_SPEC,crate::common::RW>::from_register(self,0)
18973    }
18974}
18975impl ::core::default::Default for Sosccr {
18976    #[inline(always)]
18977    fn default() -> Sosccr {
18978        <crate::RegValueT<Sosccr_SPEC> as RegisterValue<_>>::new(1)
18979    }
18980}
18981pub mod sosccr {
18982
18983    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18984    pub struct Sostp_SPEC;
18985    pub type Sostp = crate::EnumBitfieldStruct<u8, Sostp_SPEC>;
18986    impl Sostp {
18987        #[doc = "Operate the sub-clock oscillator"]
18988        pub const _0: Self = Self::new(0);
18989
18990        #[doc = "Stop the sub-clock oscillator"]
18991        pub const _1: Self = Self::new(1);
18992    }
18993}
18994#[doc(hidden)]
18995#[derive(Copy, Clone, Eq, PartialEq)]
18996pub struct Somcr_SPEC;
18997impl crate::sealed::RegSpec for Somcr_SPEC {
18998    type DataType = u8;
18999}
19000
19001#[doc = "Sub Clock Oscillator Mode Control Register"]
19002pub type Somcr = crate::RegValueT<Somcr_SPEC>;
19003
19004impl Somcr {
19005    #[doc = "Sub Clock Oscillator Drive Capability Switching"]
19006    #[inline(always)]
19007    pub fn sodrv(
19008        self,
19009    ) -> crate::common::RegisterField<
19010        0,
19011        0x3,
19012        1,
19013        0,
19014        somcr::Sodrv,
19015        somcr::Sodrv,
19016        Somcr_SPEC,
19017        crate::common::RW,
19018    > {
19019        crate::common::RegisterField::<
19020            0,
19021            0x3,
19022            1,
19023            0,
19024            somcr::Sodrv,
19025            somcr::Sodrv,
19026            Somcr_SPEC,
19027            crate::common::RW,
19028        >::from_register(self, 0)
19029    }
19030
19031    #[doc = "Sub Clock Oscillator Switching"]
19032    #[inline(always)]
19033    pub fn sosel(
19034        self,
19035    ) -> crate::common::RegisterField<
19036        6,
19037        0x1,
19038        1,
19039        0,
19040        somcr::Sosel,
19041        somcr::Sosel,
19042        Somcr_SPEC,
19043        crate::common::RW,
19044    > {
19045        crate::common::RegisterField::<
19046            6,
19047            0x1,
19048            1,
19049            0,
19050            somcr::Sosel,
19051            somcr::Sosel,
19052            Somcr_SPEC,
19053            crate::common::RW,
19054        >::from_register(self, 0)
19055    }
19056
19057    #[doc = "This bit is read as 0. The write value should be 0."]
19058    #[inline(always)]
19059    pub fn reserved(
19060        self,
19061    ) -> crate::common::RegisterFieldBool<7, 1, 0, Somcr_SPEC, crate::common::RW> {
19062        crate::common::RegisterFieldBool::<7, 1, 0, Somcr_SPEC, crate::common::RW>::from_register(
19063            self, 0,
19064        )
19065    }
19066}
19067impl ::core::default::Default for Somcr {
19068    #[inline(always)]
19069    fn default() -> Somcr {
19070        <crate::RegValueT<Somcr_SPEC> as RegisterValue<_>>::new(0)
19071    }
19072}
19073pub mod somcr {
19074
19075    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19076    pub struct Sodrv_SPEC;
19077    pub type Sodrv = crate::EnumBitfieldStruct<u8, Sodrv_SPEC>;
19078    impl Sodrv {
19079        #[doc = ":Standard(12.5pf) (value after reset)"]
19080        pub const _00: Self = Self::new(0);
19081
19082        #[doc = "Low power mode 1 (9pf)"]
19083        pub const _01: Self = Self::new(1);
19084
19085        #[doc = "Low power mode 2 (7pf)"]
19086        pub const _10: Self = Self::new(2);
19087
19088        #[doc = "Low power mode 3 (4pf)"]
19089        pub const _11: Self = Self::new(3);
19090    }
19091    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19092    pub struct Sosel_SPEC;
19093    pub type Sosel = crate::EnumBitfieldStruct<u8, Sosel_SPEC>;
19094    impl Sosel {
19095        #[doc = "Resonator"]
19096        pub const _0: Self = Self::new(0);
19097
19098        #[doc = "External clock input"]
19099        pub const _1: Self = Self::new(1);
19100    }
19101}
19102#[doc(hidden)]
19103#[derive(Copy, Clone, Eq, PartialEq)]
19104pub struct Vbtber_SPEC;
19105impl crate::sealed::RegSpec for Vbtber_SPEC {
19106    type DataType = u8;
19107}
19108
19109#[doc = "VBATT Backup Enable Register"]
19110pub type Vbtber = crate::RegValueT<Vbtber_SPEC>;
19111
19112impl Vbtber {
19113    #[doc = "VBATT backup register access enable bit"]
19114    #[inline(always)]
19115    pub fn vbae(
19116        self,
19117    ) -> crate::common::RegisterField<
19118        3,
19119        0x1,
19120        1,
19121        0,
19122        vbtber::Vbae,
19123        vbtber::Vbae,
19124        Vbtber_SPEC,
19125        crate::common::RW,
19126    > {
19127        crate::common::RegisterField::<
19128            3,
19129            0x1,
19130            1,
19131            0,
19132            vbtber::Vbae,
19133            vbtber::Vbae,
19134            Vbtber_SPEC,
19135            crate::common::RW,
19136        >::from_register(self, 0)
19137    }
19138
19139    #[doc = "These bits are read as 0000. The write value should be 0000."]
19140    #[inline(always)]
19141    pub fn reserved(
19142        self,
19143    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, Vbtber_SPEC, crate::common::RW> {
19144        crate::common::RegisterField::<4,0xf,1,0,u8,u8,Vbtber_SPEC,crate::common::RW>::from_register(self,0)
19145    }
19146}
19147impl ::core::default::Default for Vbtber {
19148    #[inline(always)]
19149    fn default() -> Vbtber {
19150        <crate::RegValueT<Vbtber_SPEC> as RegisterValue<_>>::new(8)
19151    }
19152}
19153pub mod vbtber {
19154
19155    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19156    pub struct Vbae_SPEC;
19157    pub type Vbae = crate::EnumBitfieldStruct<u8, Vbae_SPEC>;
19158    impl Vbae {
19159        #[doc = "disable to access VBTBKR"]
19160        pub const _0: Self = Self::new(0);
19161
19162        #[doc = "enable to access VBTBKR"]
19163        pub const _1: Self = Self::new(1);
19164    }
19165}
19166#[doc(hidden)]
19167#[derive(Copy, Clone, Eq, PartialEq)]
19168pub struct Vbtbpcr2_SPEC;
19169impl crate::sealed::RegSpec for Vbtbpcr2_SPEC {
19170    type DataType = u8;
19171}
19172
19173#[doc = "VBATT Battery Power Supply Control Register 2"]
19174pub type Vbtbpcr2 = crate::RegValueT<Vbtbpcr2_SPEC>;
19175
19176impl Vbtbpcr2 {
19177    #[doc = "VDETBAT Level Select"]
19178    #[inline(always)]
19179    pub fn vdetlvl(
19180        self,
19181    ) -> crate::common::RegisterField<
19182        0,
19183        0x7,
19184        1,
19185        0,
19186        vbtbpcr2::Vdetlvl,
19187        vbtbpcr2::Vdetlvl,
19188        Vbtbpcr2_SPEC,
19189        crate::common::RW,
19190    > {
19191        crate::common::RegisterField::<
19192            0,
19193            0x7,
19194            1,
19195            0,
19196            vbtbpcr2::Vdetlvl,
19197            vbtbpcr2::Vdetlvl,
19198            Vbtbpcr2_SPEC,
19199            crate::common::RW,
19200        >::from_register(self, 0)
19201    }
19202
19203    #[doc = "Voltage drop detection enable"]
19204    #[inline(always)]
19205    pub fn vdete(
19206        self,
19207    ) -> crate::common::RegisterField<
19208        4,
19209        0x1,
19210        1,
19211        0,
19212        vbtbpcr2::Vdete,
19213        vbtbpcr2::Vdete,
19214        Vbtbpcr2_SPEC,
19215        crate::common::RW,
19216    > {
19217        crate::common::RegisterField::<
19218            4,
19219            0x1,
19220            1,
19221            0,
19222            vbtbpcr2::Vdete,
19223            vbtbpcr2::Vdete,
19224            Vbtbpcr2_SPEC,
19225            crate::common::RW,
19226        >::from_register(self, 0)
19227    }
19228
19229    #[doc = "These bits are read as 000. The write value should be 000."]
19230    #[inline(always)]
19231    pub fn reserved(
19232        self,
19233    ) -> crate::common::RegisterField<5, 0x7, 1, 0, u8, u8, Vbtbpcr2_SPEC, crate::common::RW> {
19234        crate::common::RegisterField::<5,0x7,1,0,u8,u8,Vbtbpcr2_SPEC,crate::common::RW>::from_register(self,0)
19235    }
19236}
19237impl ::core::default::Default for Vbtbpcr2 {
19238    #[inline(always)]
19239    fn default() -> Vbtbpcr2 {
19240        <crate::RegValueT<Vbtbpcr2_SPEC> as RegisterValue<_>>::new(6)
19241    }
19242}
19243pub mod vbtbpcr2 {
19244
19245    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19246    pub struct Vdetlvl_SPEC;
19247    pub type Vdetlvl = crate::EnumBitfieldStruct<u8, Vdetlvl_SPEC>;
19248    impl Vdetlvl {
19249        #[doc = "2.8V"]
19250        pub const _000: Self = Self::new(0);
19251
19252        #[doc = "2.53V"]
19253        pub const _001: Self = Self::new(1);
19254
19255        #[doc = "2.10V"]
19256        pub const _010: Self = Self::new(2);
19257
19258        #[doc = "1.95V"]
19259        pub const _011: Self = Self::new(3);
19260
19261        #[doc = "1.85V"]
19262        pub const _100: Self = Self::new(4);
19263
19264        #[doc = "1.75V"]
19265        pub const _101: Self = Self::new(5);
19266
19267        #[doc = "1.65V"]
19268        pub const _110: Self = Self::new(6);
19269
19270        #[doc = "prohibited (1.55V)"]
19271        pub const _111: Self = Self::new(7);
19272    }
19273    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19274    pub struct Vdete_SPEC;
19275    pub type Vdete = crate::EnumBitfieldStruct<u8, Vdete_SPEC>;
19276    impl Vdete {
19277        #[doc = "VCC Voltage drop detection disable"]
19278        pub const _0: Self = Self::new(0);
19279
19280        #[doc = "VCC Voltage drop detection enable"]
19281        pub const _1: Self = Self::new(1);
19282    }
19283}
19284#[doc(hidden)]
19285#[derive(Copy, Clone, Eq, PartialEq)]
19286pub struct Vbtbpsr_SPEC;
19287impl crate::sealed::RegSpec for Vbtbpsr_SPEC {
19288    type DataType = u8;
19289}
19290
19291#[doc = "VBATT Battery Power Supply Status Register"]
19292pub type Vbtbpsr = crate::RegValueT<Vbtbpsr_SPEC>;
19293
19294impl Vbtbpsr {
19295    #[doc = "VBATT_POR Flag"]
19296    #[inline(always)]
19297    pub fn vbporf(
19298        self,
19299    ) -> crate::common::RegisterField<
19300        0,
19301        0x1,
19302        1,
19303        0,
19304        vbtbpsr::Vbporf,
19305        vbtbpsr::Vbporf,
19306        Vbtbpsr_SPEC,
19307        crate::common::RW,
19308    > {
19309        crate::common::RegisterField::<
19310            0,
19311            0x1,
19312            1,
19313            0,
19314            vbtbpsr::Vbporf,
19315            vbtbpsr::Vbporf,
19316            Vbtbpsr_SPEC,
19317            crate::common::RW,
19318        >::from_register(self, 0)
19319    }
19320
19321    #[doc = "VBATT_POR Monitor"]
19322    #[inline(always)]
19323    pub fn vbporm(
19324        self,
19325    ) -> crate::common::RegisterField<
19326        4,
19327        0x1,
19328        1,
19329        0,
19330        vbtbpsr::Vbporm,
19331        vbtbpsr::Vbporm,
19332        Vbtbpsr_SPEC,
19333        crate::common::RW,
19334    > {
19335        crate::common::RegisterField::<
19336            4,
19337            0x1,
19338            1,
19339            0,
19340            vbtbpsr::Vbporm,
19341            vbtbpsr::Vbporm,
19342            Vbtbpsr_SPEC,
19343            crate::common::RW,
19344        >::from_register(self, 0)
19345    }
19346
19347    #[doc = "Battery Power Supply Switch Status Monitor"]
19348    #[inline(always)]
19349    pub fn bpwswm(
19350        self,
19351    ) -> crate::common::RegisterField<
19352        5,
19353        0x1,
19354        1,
19355        0,
19356        vbtbpsr::Bpwswm,
19357        vbtbpsr::Bpwswm,
19358        Vbtbpsr_SPEC,
19359        crate::common::RW,
19360    > {
19361        crate::common::RegisterField::<
19362            5,
19363            0x1,
19364            1,
19365            0,
19366            vbtbpsr::Bpwswm,
19367            vbtbpsr::Bpwswm,
19368            Vbtbpsr_SPEC,
19369            crate::common::RW,
19370        >::from_register(self, 0)
19371    }
19372
19373    #[doc = "These bits are read as 00. The write value should be 00."]
19374    #[inline(always)]
19375    pub fn reserved(
19376        self,
19377    ) -> crate::common::RegisterField<6, 0x3, 1, 0, u8, u8, Vbtbpsr_SPEC, crate::common::RW> {
19378        crate::common::RegisterField::<6,0x3,1,0,u8,u8,Vbtbpsr_SPEC,crate::common::RW>::from_register(self,0)
19379    }
19380}
19381impl ::core::default::Default for Vbtbpsr {
19382    #[inline(always)]
19383    fn default() -> Vbtbpsr {
19384        <crate::RegValueT<Vbtbpsr_SPEC> as RegisterValue<_>>::new(0)
19385    }
19386}
19387pub mod vbtbpsr {
19388
19389    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19390    pub struct Vbporf_SPEC;
19391    pub type Vbporf = crate::EnumBitfieldStruct<u8, Vbporf_SPEC>;
19392    impl Vbporf {
19393        #[doc = "VBATT_R voltage drop is not detected"]
19394        pub const _0: Self = Self::new(0);
19395
19396        #[doc = "VBATT_R voltage drop is detected"]
19397        pub const _1: Self = Self::new(1);
19398    }
19399    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19400    pub struct Vbporm_SPEC;
19401    pub type Vbporm = crate::EnumBitfieldStruct<u8, Vbporm_SPEC>;
19402    impl Vbporm {
19403        #[doc = "VBATT_R voltage < VVBATPOR"]
19404        pub const _0: Self = Self::new(0);
19405
19406        #[doc = "VBATT_R voltage > VVBATPOR"]
19407        pub const _1: Self = Self::new(1);
19408    }
19409    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19410    pub struct Bpwswm_SPEC;
19411    pub type Bpwswm = crate::EnumBitfieldStruct<u8, Bpwswm_SPEC>;
19412    impl Bpwswm {
19413        #[doc = "VCC voltage < VDETBAT"]
19414        pub const _0: Self = Self::new(0);
19415
19416        #[doc = "VCC voltage > VDETBAT"]
19417        pub const _1: Self = Self::new(1);
19418    }
19419}
19420#[doc(hidden)]
19421#[derive(Copy, Clone, Eq, PartialEq)]
19422pub struct Vbtadsr_SPEC;
19423impl crate::sealed::RegSpec for Vbtadsr_SPEC {
19424    type DataType = u8;
19425}
19426
19427#[doc = "VBATT Tamper detection Status Register"]
19428pub type Vbtadsr = crate::RegValueT<Vbtadsr_SPEC>;
19429
19430impl Vbtadsr {
19431    #[doc = "VBATT Tamper Detection flag 0"]
19432    #[inline(always)]
19433    pub fn vbtadf0(
19434        self,
19435    ) -> crate::common::RegisterField<
19436        0,
19437        0x1,
19438        1,
19439        0,
19440        vbtadsr::Vbtadf0,
19441        vbtadsr::Vbtadf0,
19442        Vbtadsr_SPEC,
19443        crate::common::RW,
19444    > {
19445        crate::common::RegisterField::<
19446            0,
19447            0x1,
19448            1,
19449            0,
19450            vbtadsr::Vbtadf0,
19451            vbtadsr::Vbtadf0,
19452            Vbtadsr_SPEC,
19453            crate::common::RW,
19454        >::from_register(self, 0)
19455    }
19456
19457    #[doc = "VBATT Tamper Detection flag 1"]
19458    #[inline(always)]
19459    pub fn vbtadf1(
19460        self,
19461    ) -> crate::common::RegisterField<
19462        1,
19463        0x1,
19464        1,
19465        0,
19466        vbtadsr::Vbtadf1,
19467        vbtadsr::Vbtadf1,
19468        Vbtadsr_SPEC,
19469        crate::common::RW,
19470    > {
19471        crate::common::RegisterField::<
19472            1,
19473            0x1,
19474            1,
19475            0,
19476            vbtadsr::Vbtadf1,
19477            vbtadsr::Vbtadf1,
19478            Vbtadsr_SPEC,
19479            crate::common::RW,
19480        >::from_register(self, 0)
19481    }
19482
19483    #[doc = "VBATT Tamper Detection flag 2"]
19484    #[inline(always)]
19485    pub fn vbtadf2(
19486        self,
19487    ) -> crate::common::RegisterField<
19488        2,
19489        0x1,
19490        1,
19491        0,
19492        vbtadsr::Vbtadf2,
19493        vbtadsr::Vbtadf2,
19494        Vbtadsr_SPEC,
19495        crate::common::RW,
19496    > {
19497        crate::common::RegisterField::<
19498            2,
19499            0x1,
19500            1,
19501            0,
19502            vbtadsr::Vbtadf2,
19503            vbtadsr::Vbtadf2,
19504            Vbtadsr_SPEC,
19505            crate::common::RW,
19506        >::from_register(self, 0)
19507    }
19508
19509    #[doc = "These bits are read as 00000. The write value should be 00000."]
19510    #[inline(always)]
19511    pub fn reserved(
19512        self,
19513    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Vbtadsr_SPEC, crate::common::RW> {
19514        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Vbtadsr_SPEC,crate::common::RW>::from_register(self,0)
19515    }
19516}
19517impl ::core::default::Default for Vbtadsr {
19518    #[inline(always)]
19519    fn default() -> Vbtadsr {
19520        <crate::RegValueT<Vbtadsr_SPEC> as RegisterValue<_>>::new(0)
19521    }
19522}
19523pub mod vbtadsr {
19524
19525    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19526    pub struct Vbtadf0_SPEC;
19527    pub type Vbtadf0 = crate::EnumBitfieldStruct<u8, Vbtadf0_SPEC>;
19528    impl Vbtadf0 {
19529        #[doc = "RTCIC2 input edge is not detected"]
19530        pub const _0: Self = Self::new(0);
19531
19532        #[doc = "RTCIC2 input edge is detected"]
19533        pub const _1: Self = Self::new(1);
19534    }
19535    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19536    pub struct Vbtadf1_SPEC;
19537    pub type Vbtadf1 = crate::EnumBitfieldStruct<u8, Vbtadf1_SPEC>;
19538    impl Vbtadf1 {
19539        #[doc = "RTCIC1 input edge is not detected"]
19540        pub const _0: Self = Self::new(0);
19541
19542        #[doc = "RTCIC1 input edge is detected"]
19543        pub const _1: Self = Self::new(1);
19544    }
19545    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19546    pub struct Vbtadf2_SPEC;
19547    pub type Vbtadf2 = crate::EnumBitfieldStruct<u8, Vbtadf2_SPEC>;
19548    impl Vbtadf2 {
19549        #[doc = "RTCIC2 input edge is not detected"]
19550        pub const _0: Self = Self::new(0);
19551
19552        #[doc = "RTCIC2 input edge is detected"]
19553        pub const _1: Self = Self::new(1);
19554    }
19555}
19556#[doc(hidden)]
19557#[derive(Copy, Clone, Eq, PartialEq)]
19558pub struct Vbtadcr1_SPEC;
19559impl crate::sealed::RegSpec for Vbtadcr1_SPEC {
19560    type DataType = u8;
19561}
19562
19563#[doc = "VBATT Tamper detection Control  Register 1"]
19564pub type Vbtadcr1 = crate::RegValueT<Vbtadcr1_SPEC>;
19565
19566impl Vbtadcr1 {
19567    #[doc = "VBATT Tamper Detection Interrupt Enable 0"]
19568    #[inline(always)]
19569    pub fn vbtadie0(
19570        self,
19571    ) -> crate::common::RegisterField<
19572        0,
19573        0x1,
19574        1,
19575        0,
19576        vbtadcr1::Vbtadie0,
19577        vbtadcr1::Vbtadie0,
19578        Vbtadcr1_SPEC,
19579        crate::common::RW,
19580    > {
19581        crate::common::RegisterField::<
19582            0,
19583            0x1,
19584            1,
19585            0,
19586            vbtadcr1::Vbtadie0,
19587            vbtadcr1::Vbtadie0,
19588            Vbtadcr1_SPEC,
19589            crate::common::RW,
19590        >::from_register(self, 0)
19591    }
19592
19593    #[doc = "VBATT Tamper Detection Interrupt Enable 1"]
19594    #[inline(always)]
19595    pub fn vbtadie1(
19596        self,
19597    ) -> crate::common::RegisterField<
19598        1,
19599        0x1,
19600        1,
19601        0,
19602        vbtadcr1::Vbtadie1,
19603        vbtadcr1::Vbtadie1,
19604        Vbtadcr1_SPEC,
19605        crate::common::RW,
19606    > {
19607        crate::common::RegisterField::<
19608            1,
19609            0x1,
19610            1,
19611            0,
19612            vbtadcr1::Vbtadie1,
19613            vbtadcr1::Vbtadie1,
19614            Vbtadcr1_SPEC,
19615            crate::common::RW,
19616        >::from_register(self, 0)
19617    }
19618
19619    #[doc = "VBATT Tamper Detection Interrupt Enable 2"]
19620    #[inline(always)]
19621    pub fn vbtadie2(
19622        self,
19623    ) -> crate::common::RegisterField<
19624        2,
19625        0x1,
19626        1,
19627        0,
19628        vbtadcr1::Vbtadie2,
19629        vbtadcr1::Vbtadie2,
19630        Vbtadcr1_SPEC,
19631        crate::common::RW,
19632    > {
19633        crate::common::RegisterField::<
19634            2,
19635            0x1,
19636            1,
19637            0,
19638            vbtadcr1::Vbtadie2,
19639            vbtadcr1::Vbtadie2,
19640            Vbtadcr1_SPEC,
19641            crate::common::RW,
19642        >::from_register(self, 0)
19643    }
19644
19645    #[doc = "VBATT Tamper Detection Backup Register Clear Enable 0"]
19646    #[inline(always)]
19647    pub fn vbtadcle0(
19648        self,
19649    ) -> crate::common::RegisterField<
19650        4,
19651        0x1,
19652        1,
19653        0,
19654        vbtadcr1::Vbtadcle0,
19655        vbtadcr1::Vbtadcle0,
19656        Vbtadcr1_SPEC,
19657        crate::common::RW,
19658    > {
19659        crate::common::RegisterField::<
19660            4,
19661            0x1,
19662            1,
19663            0,
19664            vbtadcr1::Vbtadcle0,
19665            vbtadcr1::Vbtadcle0,
19666            Vbtadcr1_SPEC,
19667            crate::common::RW,
19668        >::from_register(self, 0)
19669    }
19670
19671    #[doc = "VBATT Tamper Detection Backup Register Clear Enable 1"]
19672    #[inline(always)]
19673    pub fn vbtadcle1(
19674        self,
19675    ) -> crate::common::RegisterField<
19676        5,
19677        0x1,
19678        1,
19679        0,
19680        vbtadcr1::Vbtadcle1,
19681        vbtadcr1::Vbtadcle1,
19682        Vbtadcr1_SPEC,
19683        crate::common::RW,
19684    > {
19685        crate::common::RegisterField::<
19686            5,
19687            0x1,
19688            1,
19689            0,
19690            vbtadcr1::Vbtadcle1,
19691            vbtadcr1::Vbtadcle1,
19692            Vbtadcr1_SPEC,
19693            crate::common::RW,
19694        >::from_register(self, 0)
19695    }
19696
19697    #[doc = "VBATT Tamper Detection Backup Register Clear Enable 2"]
19698    #[inline(always)]
19699    pub fn vbtadcle2(
19700        self,
19701    ) -> crate::common::RegisterField<
19702        6,
19703        0x1,
19704        1,
19705        0,
19706        vbtadcr1::Vbtadcle2,
19707        vbtadcr1::Vbtadcle2,
19708        Vbtadcr1_SPEC,
19709        crate::common::RW,
19710    > {
19711        crate::common::RegisterField::<
19712            6,
19713            0x1,
19714            1,
19715            0,
19716            vbtadcr1::Vbtadcle2,
19717            vbtadcr1::Vbtadcle2,
19718            Vbtadcr1_SPEC,
19719            crate::common::RW,
19720        >::from_register(self, 0)
19721    }
19722
19723    #[doc = "This bit is read as 0. The write value should be 0."]
19724    #[inline(always)]
19725    pub fn reserved(
19726        self,
19727    ) -> crate::common::RegisterFieldBool<7, 1, 0, Vbtadcr1_SPEC, crate::common::RW> {
19728        crate::common::RegisterFieldBool::<7, 1, 0, Vbtadcr1_SPEC, crate::common::RW>::from_register(
19729            self, 0,
19730        )
19731    }
19732}
19733impl ::core::default::Default for Vbtadcr1 {
19734    #[inline(always)]
19735    fn default() -> Vbtadcr1 {
19736        <crate::RegValueT<Vbtadcr1_SPEC> as RegisterValue<_>>::new(0)
19737    }
19738}
19739pub mod vbtadcr1 {
19740
19741    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19742    pub struct Vbtadie0_SPEC;
19743    pub type Vbtadie0 = crate::EnumBitfieldStruct<u8, Vbtadie0_SPEC>;
19744    impl Vbtadie0 {
19745        #[doc = "Interrupt by VBTADF0 flag is disable"]
19746        pub const _0: Self = Self::new(0);
19747
19748        #[doc = "Interrupt by VBTADF0 flag is enable"]
19749        pub const _1: Self = Self::new(1);
19750    }
19751    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19752    pub struct Vbtadie1_SPEC;
19753    pub type Vbtadie1 = crate::EnumBitfieldStruct<u8, Vbtadie1_SPEC>;
19754    impl Vbtadie1 {
19755        #[doc = "Interrupt by VBTADF1 flag is disable"]
19756        pub const _0: Self = Self::new(0);
19757
19758        #[doc = "Interrupt by VBTADF1 flag is enable"]
19759        pub const _1: Self = Self::new(1);
19760    }
19761    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19762    pub struct Vbtadie2_SPEC;
19763    pub type Vbtadie2 = crate::EnumBitfieldStruct<u8, Vbtadie2_SPEC>;
19764    impl Vbtadie2 {
19765        #[doc = "Interrupt by VBTADF2 flag is disable"]
19766        pub const _0: Self = Self::new(0);
19767
19768        #[doc = "Interrupt by VBTADF2 flag is enable"]
19769        pub const _1: Self = Self::new(1);
19770    }
19771    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19772    pub struct Vbtadcle0_SPEC;
19773    pub type Vbtadcle0 = crate::EnumBitfieldStruct<u8, Vbtadcle0_SPEC>;
19774    impl Vbtadcle0 {
19775        #[doc = "Clear Backup Register by VBTADF0 flag is disable"]
19776        pub const _0: Self = Self::new(0);
19777
19778        #[doc = "Clear Backup Register by VBTADF0 flag is enable"]
19779        pub const _1: Self = Self::new(1);
19780    }
19781    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19782    pub struct Vbtadcle1_SPEC;
19783    pub type Vbtadcle1 = crate::EnumBitfieldStruct<u8, Vbtadcle1_SPEC>;
19784    impl Vbtadcle1 {
19785        #[doc = "Clear Backup Register by VBTADF1 flag is disable"]
19786        pub const _0: Self = Self::new(0);
19787
19788        #[doc = "Clear Backup Register by VBTADF1 flag is enable"]
19789        pub const _1: Self = Self::new(1);
19790    }
19791    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19792    pub struct Vbtadcle2_SPEC;
19793    pub type Vbtadcle2 = crate::EnumBitfieldStruct<u8, Vbtadcle2_SPEC>;
19794    impl Vbtadcle2 {
19795        #[doc = "Clear Backup Register by VBTADF2 flag is disable"]
19796        pub const _0: Self = Self::new(0);
19797
19798        #[doc = "Clear Backup Register by VBTADF2 flag is enable"]
19799        pub const _1: Self = Self::new(1);
19800    }
19801}
19802#[doc(hidden)]
19803#[derive(Copy, Clone, Eq, PartialEq)]
19804pub struct Vbtadcr2_SPEC;
19805impl crate::sealed::RegSpec for Vbtadcr2_SPEC {
19806    type DataType = u8;
19807}
19808
19809#[doc = "VBATT Tamper detection Control  Register 2"]
19810pub type Vbtadcr2 = crate::RegValueT<Vbtadcr2_SPEC>;
19811
19812impl Vbtadcr2 {
19813    #[doc = "VBATT RTC Time Capture Event Source Select 0"]
19814    #[inline(always)]
19815    pub fn vbrtces0(
19816        self,
19817    ) -> crate::common::RegisterField<
19818        0,
19819        0x1,
19820        1,
19821        0,
19822        vbtadcr2::Vbrtces0,
19823        vbtadcr2::Vbrtces0,
19824        Vbtadcr2_SPEC,
19825        crate::common::RW,
19826    > {
19827        crate::common::RegisterField::<
19828            0,
19829            0x1,
19830            1,
19831            0,
19832            vbtadcr2::Vbrtces0,
19833            vbtadcr2::Vbrtces0,
19834            Vbtadcr2_SPEC,
19835            crate::common::RW,
19836        >::from_register(self, 0)
19837    }
19838
19839    #[doc = "VBATT RTC Time Capture Event Source Select 1"]
19840    #[inline(always)]
19841    pub fn vbrtces1(
19842        self,
19843    ) -> crate::common::RegisterField<
19844        1,
19845        0x1,
19846        1,
19847        0,
19848        vbtadcr2::Vbrtces1,
19849        vbtadcr2::Vbrtces1,
19850        Vbtadcr2_SPEC,
19851        crate::common::RW,
19852    > {
19853        crate::common::RegisterField::<
19854            1,
19855            0x1,
19856            1,
19857            0,
19858            vbtadcr2::Vbrtces1,
19859            vbtadcr2::Vbrtces1,
19860            Vbtadcr2_SPEC,
19861            crate::common::RW,
19862        >::from_register(self, 0)
19863    }
19864
19865    #[doc = "VBATT RTC Time Capture Event Source Select 2"]
19866    #[inline(always)]
19867    pub fn vbrtces2(
19868        self,
19869    ) -> crate::common::RegisterField<
19870        2,
19871        0x1,
19872        1,
19873        0,
19874        vbtadcr2::Vbrtces2,
19875        vbtadcr2::Vbrtces2,
19876        Vbtadcr2_SPEC,
19877        crate::common::RW,
19878    > {
19879        crate::common::RegisterField::<
19880            2,
19881            0x1,
19882            1,
19883            0,
19884            vbtadcr2::Vbrtces2,
19885            vbtadcr2::Vbrtces2,
19886            Vbtadcr2_SPEC,
19887            crate::common::RW,
19888        >::from_register(self, 0)
19889    }
19890
19891    #[doc = "These bits are read as 00000. The write value should be 00000."]
19892    #[inline(always)]
19893    pub fn reserved(
19894        self,
19895    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Vbtadcr2_SPEC, crate::common::RW> {
19896        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Vbtadcr2_SPEC,crate::common::RW>::from_register(self,0)
19897    }
19898}
19899impl ::core::default::Default for Vbtadcr2 {
19900    #[inline(always)]
19901    fn default() -> Vbtadcr2 {
19902        <crate::RegValueT<Vbtadcr2_SPEC> as RegisterValue<_>>::new(0)
19903    }
19904}
19905pub mod vbtadcr2 {
19906
19907    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19908    pub struct Vbrtces0_SPEC;
19909    pub type Vbrtces0 = crate::EnumBitfieldStruct<u8, Vbrtces0_SPEC>;
19910    impl Vbrtces0 {
19911        #[doc = "RTCIC0"]
19912        pub const _0: Self = Self::new(0);
19913
19914        #[doc = "VBTADF0"]
19915        pub const _1: Self = Self::new(1);
19916    }
19917    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19918    pub struct Vbrtces1_SPEC;
19919    pub type Vbrtces1 = crate::EnumBitfieldStruct<u8, Vbrtces1_SPEC>;
19920    impl Vbrtces1 {
19921        #[doc = "RTCIC1"]
19922        pub const _0: Self = Self::new(0);
19923
19924        #[doc = "VBTADF1"]
19925        pub const _1: Self = Self::new(1);
19926    }
19927    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19928    pub struct Vbrtces2_SPEC;
19929    pub type Vbrtces2 = crate::EnumBitfieldStruct<u8, Vbrtces2_SPEC>;
19930    impl Vbrtces2 {
19931        #[doc = "RTCIC2"]
19932        pub const _0: Self = Self::new(0);
19933
19934        #[doc = "VBTADF2"]
19935        pub const _1: Self = Self::new(1);
19936    }
19937}
19938#[doc(hidden)]
19939#[derive(Copy, Clone, Eq, PartialEq)]
19940pub struct Vbtictlr_SPEC;
19941impl crate::sealed::RegSpec for Vbtictlr_SPEC {
19942    type DataType = u8;
19943}
19944
19945#[doc = "VBATT Input Control Register"]
19946pub type Vbtictlr = crate::RegValueT<Vbtictlr_SPEC>;
19947
19948impl Vbtictlr {
19949    #[doc = "RTCIC0 Input Enable"]
19950    #[inline(always)]
19951    pub fn vch0inen(
19952        self,
19953    ) -> crate::common::RegisterField<
19954        0,
19955        0x1,
19956        1,
19957        0,
19958        vbtictlr::Vch0Inen,
19959        vbtictlr::Vch0Inen,
19960        Vbtictlr_SPEC,
19961        crate::common::RW,
19962    > {
19963        crate::common::RegisterField::<
19964            0,
19965            0x1,
19966            1,
19967            0,
19968            vbtictlr::Vch0Inen,
19969            vbtictlr::Vch0Inen,
19970            Vbtictlr_SPEC,
19971            crate::common::RW,
19972        >::from_register(self, 0)
19973    }
19974
19975    #[doc = "RTCIC1 Input Enable"]
19976    #[inline(always)]
19977    pub fn vch1inen(
19978        self,
19979    ) -> crate::common::RegisterField<
19980        1,
19981        0x1,
19982        1,
19983        0,
19984        vbtictlr::Vch1Inen,
19985        vbtictlr::Vch1Inen,
19986        Vbtictlr_SPEC,
19987        crate::common::RW,
19988    > {
19989        crate::common::RegisterField::<
19990            1,
19991            0x1,
19992            1,
19993            0,
19994            vbtictlr::Vch1Inen,
19995            vbtictlr::Vch1Inen,
19996            Vbtictlr_SPEC,
19997            crate::common::RW,
19998        >::from_register(self, 0)
19999    }
20000
20001    #[doc = "RTCIC2 Input Enable"]
20002    #[inline(always)]
20003    pub fn vch2inen(
20004        self,
20005    ) -> crate::common::RegisterField<
20006        2,
20007        0x1,
20008        1,
20009        0,
20010        vbtictlr::Vch2Inen,
20011        vbtictlr::Vch2Inen,
20012        Vbtictlr_SPEC,
20013        crate::common::RW,
20014    > {
20015        crate::common::RegisterField::<
20016            2,
20017            0x1,
20018            1,
20019            0,
20020            vbtictlr::Vch2Inen,
20021            vbtictlr::Vch2Inen,
20022            Vbtictlr_SPEC,
20023            crate::common::RW,
20024        >::from_register(self, 0)
20025    }
20026
20027    #[doc = "These bits are read as 00000. The write value should be 00000."]
20028    #[inline(always)]
20029    pub fn reserved(
20030        self,
20031    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Vbtictlr_SPEC, crate::common::RW> {
20032        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Vbtictlr_SPEC,crate::common::RW>::from_register(self,0)
20033    }
20034}
20035impl ::core::default::Default for Vbtictlr {
20036    #[inline(always)]
20037    fn default() -> Vbtictlr {
20038        <crate::RegValueT<Vbtictlr_SPEC> as RegisterValue<_>>::new(0)
20039    }
20040}
20041pub mod vbtictlr {
20042
20043    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20044    pub struct Vch0Inen_SPEC;
20045    pub type Vch0Inen = crate::EnumBitfieldStruct<u8, Vch0Inen_SPEC>;
20046    impl Vch0Inen {
20047        #[doc = "Disabled"]
20048        pub const _0: Self = Self::new(0);
20049
20050        #[doc = "Enabled"]
20051        pub const _1: Self = Self::new(1);
20052    }
20053    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20054    pub struct Vch1Inen_SPEC;
20055    pub type Vch1Inen = crate::EnumBitfieldStruct<u8, Vch1Inen_SPEC>;
20056    impl Vch1Inen {
20057        #[doc = "Disabled"]
20058        pub const _0: Self = Self::new(0);
20059
20060        #[doc = "Enabled"]
20061        pub const _1: Self = Self::new(1);
20062    }
20063    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20064    pub struct Vch2Inen_SPEC;
20065    pub type Vch2Inen = crate::EnumBitfieldStruct<u8, Vch2Inen_SPEC>;
20066    impl Vch2Inen {
20067        #[doc = "Disabled"]
20068        pub const _0: Self = Self::new(0);
20069
20070        #[doc = "Enabled"]
20071        pub const _1: Self = Self::new(1);
20072    }
20073}
20074#[doc(hidden)]
20075#[derive(Copy, Clone, Eq, PartialEq)]
20076pub struct Vbtictlr2_SPEC;
20077impl crate::sealed::RegSpec for Vbtictlr2_SPEC {
20078    type DataType = u8;
20079}
20080
20081#[doc = "VBATT Input Control Register 2"]
20082pub type Vbtictlr2 = crate::RegValueT<Vbtictlr2_SPEC>;
20083
20084impl Vbtictlr2 {
20085    #[doc = "VBATT CH0 Input Noise Canceler Enable"]
20086    #[inline(always)]
20087    pub fn vch0nce(
20088        self,
20089    ) -> crate::common::RegisterField<
20090        0,
20091        0x1,
20092        1,
20093        0,
20094        vbtictlr2::Vch0Nce,
20095        vbtictlr2::Vch0Nce,
20096        Vbtictlr2_SPEC,
20097        crate::common::RW,
20098    > {
20099        crate::common::RegisterField::<
20100            0,
20101            0x1,
20102            1,
20103            0,
20104            vbtictlr2::Vch0Nce,
20105            vbtictlr2::Vch0Nce,
20106            Vbtictlr2_SPEC,
20107            crate::common::RW,
20108        >::from_register(self, 0)
20109    }
20110
20111    #[doc = "VBATT CH1 Input Noise Canceler Enable"]
20112    #[inline(always)]
20113    pub fn vch1nce(
20114        self,
20115    ) -> crate::common::RegisterField<
20116        1,
20117        0x1,
20118        1,
20119        0,
20120        vbtictlr2::Vch1Nce,
20121        vbtictlr2::Vch1Nce,
20122        Vbtictlr2_SPEC,
20123        crate::common::RW,
20124    > {
20125        crate::common::RegisterField::<
20126            1,
20127            0x1,
20128            1,
20129            0,
20130            vbtictlr2::Vch1Nce,
20131            vbtictlr2::Vch1Nce,
20132            Vbtictlr2_SPEC,
20133            crate::common::RW,
20134        >::from_register(self, 0)
20135    }
20136
20137    #[doc = "VBATT CH2 Input Noise Canceler Enable"]
20138    #[inline(always)]
20139    pub fn vch2nce(
20140        self,
20141    ) -> crate::common::RegisterField<
20142        2,
20143        0x1,
20144        1,
20145        0,
20146        vbtictlr2::Vch2Nce,
20147        vbtictlr2::Vch2Nce,
20148        Vbtictlr2_SPEC,
20149        crate::common::RW,
20150    > {
20151        crate::common::RegisterField::<
20152            2,
20153            0x1,
20154            1,
20155            0,
20156            vbtictlr2::Vch2Nce,
20157            vbtictlr2::Vch2Nce,
20158            Vbtictlr2_SPEC,
20159            crate::common::RW,
20160        >::from_register(self, 0)
20161    }
20162
20163    #[doc = "VBATT CH0 Input Edge Select"]
20164    #[inline(always)]
20165    pub fn vch0eg(
20166        self,
20167    ) -> crate::common::RegisterField<
20168        4,
20169        0x1,
20170        1,
20171        0,
20172        vbtictlr2::Vch0Eg,
20173        vbtictlr2::Vch0Eg,
20174        Vbtictlr2_SPEC,
20175        crate::common::RW,
20176    > {
20177        crate::common::RegisterField::<
20178            4,
20179            0x1,
20180            1,
20181            0,
20182            vbtictlr2::Vch0Eg,
20183            vbtictlr2::Vch0Eg,
20184            Vbtictlr2_SPEC,
20185            crate::common::RW,
20186        >::from_register(self, 0)
20187    }
20188
20189    #[doc = "VBATT CH1 Input Edge Select"]
20190    #[inline(always)]
20191    pub fn vch1eg(
20192        self,
20193    ) -> crate::common::RegisterField<
20194        5,
20195        0x1,
20196        1,
20197        0,
20198        vbtictlr2::Vch1Eg,
20199        vbtictlr2::Vch1Eg,
20200        Vbtictlr2_SPEC,
20201        crate::common::RW,
20202    > {
20203        crate::common::RegisterField::<
20204            5,
20205            0x1,
20206            1,
20207            0,
20208            vbtictlr2::Vch1Eg,
20209            vbtictlr2::Vch1Eg,
20210            Vbtictlr2_SPEC,
20211            crate::common::RW,
20212        >::from_register(self, 0)
20213    }
20214
20215    #[doc = "VBATT CH2 Input Edge Select"]
20216    #[inline(always)]
20217    pub fn vch2eg(
20218        self,
20219    ) -> crate::common::RegisterField<
20220        6,
20221        0x1,
20222        1,
20223        0,
20224        vbtictlr2::Vch2Eg,
20225        vbtictlr2::Vch2Eg,
20226        Vbtictlr2_SPEC,
20227        crate::common::RW,
20228    > {
20229        crate::common::RegisterField::<
20230            6,
20231            0x1,
20232            1,
20233            0,
20234            vbtictlr2::Vch2Eg,
20235            vbtictlr2::Vch2Eg,
20236            Vbtictlr2_SPEC,
20237            crate::common::RW,
20238        >::from_register(self, 0)
20239    }
20240
20241    #[doc = "This bit is read as 0. The write value should be 0."]
20242    #[inline(always)]
20243    pub fn reserved(
20244        self,
20245    ) -> crate::common::RegisterFieldBool<7, 1, 0, Vbtictlr2_SPEC, crate::common::RW> {
20246        crate::common::RegisterFieldBool::<7,1,0,Vbtictlr2_SPEC,crate::common::RW>::from_register(self,0)
20247    }
20248}
20249impl ::core::default::Default for Vbtictlr2 {
20250    #[inline(always)]
20251    fn default() -> Vbtictlr2 {
20252        <crate::RegValueT<Vbtictlr2_SPEC> as RegisterValue<_>>::new(112)
20253    }
20254}
20255pub mod vbtictlr2 {
20256
20257    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20258    pub struct Vch0Nce_SPEC;
20259    pub type Vch0Nce = crate::EnumBitfieldStruct<u8, Vch0Nce_SPEC>;
20260    impl Vch0Nce {
20261        #[doc = "RTCIC0 pin input noise canceler disable"]
20262        pub const _0: Self = Self::new(0);
20263
20264        #[doc = "RTCIC0 pin input noise canceler enable"]
20265        pub const _1: Self = Self::new(1);
20266    }
20267    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20268    pub struct Vch1Nce_SPEC;
20269    pub type Vch1Nce = crate::EnumBitfieldStruct<u8, Vch1Nce_SPEC>;
20270    impl Vch1Nce {
20271        #[doc = "RTCIC1 pin inputs noise canceler disable"]
20272        pub const _0: Self = Self::new(0);
20273
20274        #[doc = "RTCIC1 pin input noise canceler enable"]
20275        pub const _1: Self = Self::new(1);
20276    }
20277    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20278    pub struct Vch2Nce_SPEC;
20279    pub type Vch2Nce = crate::EnumBitfieldStruct<u8, Vch2Nce_SPEC>;
20280    impl Vch2Nce {
20281        #[doc = "RTCIC2 pin input noise canceler disable"]
20282        pub const _0: Self = Self::new(0);
20283
20284        #[doc = "RTCIC2 pin input noise canceler enable"]
20285        pub const _1: Self = Self::new(1);
20286    }
20287    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20288    pub struct Vch0Eg_SPEC;
20289    pub type Vch0Eg = crate::EnumBitfieldStruct<u8, Vch0Eg_SPEC>;
20290    impl Vch0Eg {
20291        #[doc = "RTCIC0 pin input event is detected on falling edge"]
20292        pub const _0: Self = Self::new(0);
20293
20294        #[doc = "RTCIC0 pin input event is detected on rising edge"]
20295        pub const _1: Self = Self::new(1);
20296    }
20297    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20298    pub struct Vch1Eg_SPEC;
20299    pub type Vch1Eg = crate::EnumBitfieldStruct<u8, Vch1Eg_SPEC>;
20300    impl Vch1Eg {
20301        #[doc = "RTCIC1 pin input event is detected on falling edge"]
20302        pub const _0: Self = Self::new(0);
20303
20304        #[doc = "RTCIC1 pin input event is detected on rising edge"]
20305        pub const _1: Self = Self::new(1);
20306    }
20307    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20308    pub struct Vch2Eg_SPEC;
20309    pub type Vch2Eg = crate::EnumBitfieldStruct<u8, Vch2Eg_SPEC>;
20310    impl Vch2Eg {
20311        #[doc = "RTCIC2 pin input event is detected on falling edge"]
20312        pub const _0: Self = Self::new(0);
20313
20314        #[doc = "RTCIC2 pin input event is detected on rising edge"]
20315        pub const _1: Self = Self::new(1);
20316    }
20317}
20318#[doc(hidden)]
20319#[derive(Copy, Clone, Eq, PartialEq)]
20320pub struct Vbtimonr_SPEC;
20321impl crate::sealed::RegSpec for Vbtimonr_SPEC {
20322    type DataType = u8;
20323}
20324
20325#[doc = "VBATT Input Monitor Register"]
20326pub type Vbtimonr = crate::RegValueT<Vbtimonr_SPEC>;
20327
20328impl Vbtimonr {
20329    #[doc = "VBATT CH0 Input monitor"]
20330    #[inline(always)]
20331    pub fn vch0mon(
20332        self,
20333    ) -> crate::common::RegisterField<
20334        0,
20335        0x1,
20336        1,
20337        0,
20338        vbtimonr::Vch0Mon,
20339        vbtimonr::Vch0Mon,
20340        Vbtimonr_SPEC,
20341        crate::common::RW,
20342    > {
20343        crate::common::RegisterField::<
20344            0,
20345            0x1,
20346            1,
20347            0,
20348            vbtimonr::Vch0Mon,
20349            vbtimonr::Vch0Mon,
20350            Vbtimonr_SPEC,
20351            crate::common::RW,
20352        >::from_register(self, 0)
20353    }
20354
20355    #[doc = "VBATT CH1 Input monitor"]
20356    #[inline(always)]
20357    pub fn vch1mon(
20358        self,
20359    ) -> crate::common::RegisterField<
20360        1,
20361        0x1,
20362        1,
20363        0,
20364        vbtimonr::Vch1Mon,
20365        vbtimonr::Vch1Mon,
20366        Vbtimonr_SPEC,
20367        crate::common::RW,
20368    > {
20369        crate::common::RegisterField::<
20370            1,
20371            0x1,
20372            1,
20373            0,
20374            vbtimonr::Vch1Mon,
20375            vbtimonr::Vch1Mon,
20376            Vbtimonr_SPEC,
20377            crate::common::RW,
20378        >::from_register(self, 0)
20379    }
20380
20381    #[doc = "VBATT CH2 Input monitor"]
20382    #[inline(always)]
20383    pub fn vch2mon(
20384        self,
20385    ) -> crate::common::RegisterField<
20386        2,
20387        0x1,
20388        1,
20389        0,
20390        vbtimonr::Vch2Mon,
20391        vbtimonr::Vch2Mon,
20392        Vbtimonr_SPEC,
20393        crate::common::RW,
20394    > {
20395        crate::common::RegisterField::<
20396            2,
20397            0x1,
20398            1,
20399            0,
20400            vbtimonr::Vch2Mon,
20401            vbtimonr::Vch2Mon,
20402            Vbtimonr_SPEC,
20403            crate::common::RW,
20404        >::from_register(self, 0)
20405    }
20406
20407    #[doc = "These bits are read as 00000. The write value should be 00000."]
20408    #[inline(always)]
20409    pub fn reserved(
20410        self,
20411    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Vbtimonr_SPEC, crate::common::RW> {
20412        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Vbtimonr_SPEC,crate::common::RW>::from_register(self,0)
20413    }
20414}
20415impl ::core::default::Default for Vbtimonr {
20416    #[inline(always)]
20417    fn default() -> Vbtimonr {
20418        <crate::RegValueT<Vbtimonr_SPEC> as RegisterValue<_>>::new(0)
20419    }
20420}
20421pub mod vbtimonr {
20422
20423    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20424    pub struct Vch0Mon_SPEC;
20425    pub type Vch0Mon = crate::EnumBitfieldStruct<u8, Vch0Mon_SPEC>;
20426    impl Vch0Mon {
20427        #[doc = "RTCIC0 pin input is low level"]
20428        pub const _0: Self = Self::new(0);
20429
20430        #[doc = "RTCIC0 pin input is high level."]
20431        pub const _1: Self = Self::new(1);
20432    }
20433    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20434    pub struct Vch1Mon_SPEC;
20435    pub type Vch1Mon = crate::EnumBitfieldStruct<u8, Vch1Mon_SPEC>;
20436    impl Vch1Mon {
20437        #[doc = "RTCIC1 pin input is low level"]
20438        pub const _0: Self = Self::new(0);
20439
20440        #[doc = "RTCIC1 pin input is high level."]
20441        pub const _1: Self = Self::new(1);
20442    }
20443    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20444    pub struct Vch2Mon_SPEC;
20445    pub type Vch2Mon = crate::EnumBitfieldStruct<u8, Vch2Mon_SPEC>;
20446    impl Vch2Mon {
20447        #[doc = "RTCIC2 pin input is low level"]
20448        pub const _0: Self = Self::new(0);
20449
20450        #[doc = "RTCIC2 pin input is high level."]
20451        pub const _1: Self = Self::new(1);
20452    }
20453}
20454#[doc(hidden)]
20455#[derive(Copy, Clone, Eq, PartialEq)]
20456pub struct Vbtbkr_SPEC;
20457impl crate::sealed::RegSpec for Vbtbkr_SPEC {
20458    type DataType = u8;
20459}
20460
20461#[doc = "VBATT Backup Register %s"]
20462pub type Vbtbkr = crate::RegValueT<Vbtbkr_SPEC>;
20463
20464impl Vbtbkr {
20465    #[doc = "VBTBKRn \\[7:0\\] (n=0 to 127)"]
20466    #[inline(always)]
20467    pub fn vbtbkr(
20468        self,
20469    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Vbtbkr_SPEC, crate::common::RW> {
20470        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Vbtbkr_SPEC,crate::common::RW>::from_register(self,0)
20471    }
20472}
20473impl ::core::default::Default for Vbtbkr {
20474    #[inline(always)]
20475    fn default() -> Vbtbkr {
20476        <crate::RegValueT<Vbtbkr_SPEC> as RegisterValue<_>>::new(0)
20477    }
20478}