Skip to main content

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.1 on Sun, 15 Mar 2026 06:57:20 +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    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8677    pub struct Opcmtsf_SPEC;
8678    pub type Opcmtsf = crate::EnumBitfieldStruct<u8, Opcmtsf_SPEC>;
8679    impl Opcmtsf {
8680        #[doc = "Transition completed"]
8681        pub const _0: Self = Self::new(0);
8682
8683        #[doc = "During transition"]
8684        pub const _1: Self = Self::new(1);
8685    }
8686}
8687#[doc(hidden)]
8688#[derive(Copy, Clone, Eq, PartialEq)]
8689pub struct Moscwtcr_SPEC;
8690impl crate::sealed::RegSpec for Moscwtcr_SPEC {
8691    type DataType = u8;
8692}
8693
8694#[doc = "Main Clock Oscillator Wait Control Register"]
8695pub type Moscwtcr = crate::RegValueT<Moscwtcr_SPEC>;
8696
8697impl Moscwtcr {
8698    #[doc = "Main clock oscillator wait time setting"]
8699    #[inline(always)]
8700    pub fn msts(
8701        self,
8702    ) -> crate::common::RegisterField<
8703        0,
8704        0xf,
8705        1,
8706        0,
8707        moscwtcr::Msts,
8708        moscwtcr::Msts,
8709        Moscwtcr_SPEC,
8710        crate::common::RW,
8711    > {
8712        crate::common::RegisterField::<
8713            0,
8714            0xf,
8715            1,
8716            0,
8717            moscwtcr::Msts,
8718            moscwtcr::Msts,
8719            Moscwtcr_SPEC,
8720            crate::common::RW,
8721        >::from_register(self, 0)
8722    }
8723
8724    #[doc = "These bits are read as 0000. The write value should be 0000."]
8725    #[inline(always)]
8726    pub fn reserved(
8727        self,
8728    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, Moscwtcr_SPEC, crate::common::RW> {
8729        crate::common::RegisterField::<4,0xf,1,0,u8,u8,Moscwtcr_SPEC,crate::common::RW>::from_register(self,0)
8730    }
8731}
8732impl ::core::default::Default for Moscwtcr {
8733    #[inline(always)]
8734    fn default() -> Moscwtcr {
8735        <crate::RegValueT<Moscwtcr_SPEC> as RegisterValue<_>>::new(5)
8736    }
8737}
8738pub mod moscwtcr {
8739
8740    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8741    pub struct Msts_SPEC;
8742    pub type Msts = crate::EnumBitfieldStruct<u8, Msts_SPEC>;
8743    impl Msts {
8744        #[doc = "Wait time=    11.4us (3 cycles) / 15.3us (4 cycles)"]
8745        pub const _0000: Self = Self::new(0);
8746
8747        #[doc = "Wait time=   133.5us (35 cycles)  / 137.3us (36 cycles)"]
8748        pub const _0001: Self = Self::new(1);
8749
8750        #[doc = "Wait time=   255.6us (67 cycles) / 259.4us (68 cycles)"]
8751        pub const _0010: Self = Self::new(2);
8752
8753        #[doc = "Wait time=   499.7us (131 cycles) / 503.5us (132 cycles)"]
8754        pub const _0011: Self = Self::new(3);
8755
8756        #[doc = "Wait time=   988.0us (259 cycles) / 991.8us (260 cycles)"]
8757        pub const _0100: Self = Self::new(4);
8758
8759        #[doc = "Wait time=  2086.6us (547 cycles) (value after reset) / 2090.5us (548 cycles) (value after reset)"]
8760        pub const _0101: Self = Self::new(5);
8761
8762        #[doc = "Wait time=  4039.8us (1059 cycles) / 4043.6us (1060 cycles)"]
8763        pub const _0110: Self = Self::new(6);
8764
8765        #[doc = "Wait time=  8190.2us (2147 cycles) / 8194.0us (2148 cycles)"]
8766        pub const _0111: Self = Self::new(7);
8767
8768        #[doc = "Wait time= 16368.9us (4291 cycles) / 16372.7us (4292 cycles)"]
8769        pub const _1000: Self = Self::new(8);
8770
8771        #[doc = "Wait time= 31139.4us (8163 cycles) / 31143.2us (8164 cycles)"]
8772        pub const _1001: Self = Self::new(9);
8773    }
8774}
8775#[doc(hidden)]
8776#[derive(Copy, Clone, Eq, PartialEq)]
8777pub struct Rstsr1_SPEC;
8778impl crate::sealed::RegSpec for Rstsr1_SPEC {
8779    type DataType = u32;
8780}
8781
8782#[doc = "Reset Status Register 1"]
8783pub type Rstsr1 = crate::RegValueT<Rstsr1_SPEC>;
8784
8785impl Rstsr1 {
8786    #[doc = "Independent Watchdog Timer Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8787    #[inline(always)]
8788    pub fn iwdtrf(
8789        self,
8790    ) -> crate::common::RegisterField<
8791        0,
8792        0x1,
8793        1,
8794        0,
8795        rstsr1::Iwdtrf,
8796        rstsr1::Iwdtrf,
8797        Rstsr1_SPEC,
8798        crate::common::RW,
8799    > {
8800        crate::common::RegisterField::<
8801            0,
8802            0x1,
8803            1,
8804            0,
8805            rstsr1::Iwdtrf,
8806            rstsr1::Iwdtrf,
8807            Rstsr1_SPEC,
8808            crate::common::RW,
8809        >::from_register(self, 0)
8810    }
8811
8812    #[doc = "Watchdog Timer0 Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8813    #[inline(always)]
8814    pub fn wdt0rf(
8815        self,
8816    ) -> crate::common::RegisterField<
8817        1,
8818        0x1,
8819        1,
8820        0,
8821        rstsr1::Wdt0Rf,
8822        rstsr1::Wdt0Rf,
8823        Rstsr1_SPEC,
8824        crate::common::RW,
8825    > {
8826        crate::common::RegisterField::<
8827            1,
8828            0x1,
8829            1,
8830            0,
8831            rstsr1::Wdt0Rf,
8832            rstsr1::Wdt0Rf,
8833            Rstsr1_SPEC,
8834            crate::common::RW,
8835        >::from_register(self, 0)
8836    }
8837
8838    #[doc = "Software Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8839    #[inline(always)]
8840    pub fn swrf(
8841        self,
8842    ) -> crate::common::RegisterField<
8843        2,
8844        0x1,
8845        1,
8846        0,
8847        rstsr1::Swrf,
8848        rstsr1::Swrf,
8849        Rstsr1_SPEC,
8850        crate::common::RW,
8851    > {
8852        crate::common::RegisterField::<
8853            2,
8854            0x1,
8855            1,
8856            0,
8857            rstsr1::Swrf,
8858            rstsr1::Swrf,
8859            Rstsr1_SPEC,
8860            crate::common::RW,
8861        >::from_register(self, 0)
8862    }
8863
8864    #[doc = "CPU0 Lockup Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8865    #[inline(always)]
8866    pub fn clu0rf(
8867        self,
8868    ) -> crate::common::RegisterField<
8869        4,
8870        0x1,
8871        1,
8872        0,
8873        rstsr1::Clu0Rf,
8874        rstsr1::Clu0Rf,
8875        Rstsr1_SPEC,
8876        crate::common::RW,
8877    > {
8878        crate::common::RegisterField::<
8879            4,
8880            0x1,
8881            1,
8882            0,
8883            rstsr1::Clu0Rf,
8884            rstsr1::Clu0Rf,
8885            Rstsr1_SPEC,
8886            crate::common::RW,
8887        >::from_register(self, 0)
8888    }
8889
8890    #[doc = "Local memory 0 error Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8891    #[inline(always)]
8892    pub fn lm0rf(
8893        self,
8894    ) -> crate::common::RegisterField<
8895        5,
8896        0x1,
8897        1,
8898        0,
8899        rstsr1::Lm0Rf,
8900        rstsr1::Lm0Rf,
8901        Rstsr1_SPEC,
8902        crate::common::RW,
8903    > {
8904        crate::common::RegisterField::<
8905            5,
8906            0x1,
8907            1,
8908            0,
8909            rstsr1::Lm0Rf,
8910            rstsr1::Lm0Rf,
8911            Rstsr1_SPEC,
8912            crate::common::RW,
8913        >::from_register(self, 0)
8914    }
8915
8916    #[doc = "Bus error Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8917    #[inline(always)]
8918    pub fn busrf(
8919        self,
8920    ) -> crate::common::RegisterField<
8921        10,
8922        0x1,
8923        1,
8924        0,
8925        rstsr1::Busrf,
8926        rstsr1::Busrf,
8927        Rstsr1_SPEC,
8928        crate::common::RW,
8929    > {
8930        crate::common::RegisterField::<
8931            10,
8932            0x1,
8933            1,
8934            0,
8935            rstsr1::Busrf,
8936            rstsr1::Busrf,
8937            Rstsr1_SPEC,
8938            crate::common::RW,
8939        >::from_register(self, 0)
8940    }
8941
8942    #[doc = "Common memory error Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8943    #[inline(always)]
8944    pub fn cmrf(
8945        self,
8946    ) -> crate::common::RegisterField<
8947        14,
8948        0x1,
8949        1,
8950        0,
8951        rstsr1::Cmrf,
8952        rstsr1::Cmrf,
8953        Rstsr1_SPEC,
8954        crate::common::RW,
8955    > {
8956        crate::common::RegisterField::<
8957            14,
8958            0x1,
8959            1,
8960            0,
8961            rstsr1::Cmrf,
8962            rstsr1::Cmrf,
8963            Rstsr1_SPEC,
8964            crate::common::RW,
8965        >::from_register(self, 0)
8966    }
8967
8968    #[doc = "Watchdog Timer1 Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8969    #[inline(always)]
8970    pub fn wdt1rf(
8971        self,
8972    ) -> crate::common::RegisterField<
8973        17,
8974        0x1,
8975        1,
8976        0,
8977        rstsr1::Wdt1Rf,
8978        rstsr1::Wdt1Rf,
8979        Rstsr1_SPEC,
8980        crate::common::RW,
8981    > {
8982        crate::common::RegisterField::<
8983            17,
8984            0x1,
8985            1,
8986            0,
8987            rstsr1::Wdt1Rf,
8988            rstsr1::Wdt1Rf,
8989            Rstsr1_SPEC,
8990            crate::common::RW,
8991        >::from_register(self, 0)
8992    }
8993
8994    #[doc = "Local memory 1 error Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
8995    #[inline(always)]
8996    pub fn lm1rf(
8997        self,
8998    ) -> crate::common::RegisterField<
8999        21,
9000        0x1,
9001        1,
9002        0,
9003        rstsr1::Lm1Rf,
9004        rstsr1::Lm1Rf,
9005        Rstsr1_SPEC,
9006        crate::common::RW,
9007    > {
9008        crate::common::RegisterField::<
9009            21,
9010            0x1,
9011            1,
9012            0,
9013            rstsr1::Lm1Rf,
9014            rstsr1::Lm1Rf,
9015            Rstsr1_SPEC,
9016            crate::common::RW,
9017        >::from_register(self, 0)
9018    }
9019
9020    #[doc = "Network Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
9021    #[inline(always)]
9022    pub fn nwrf(
9023        self,
9024    ) -> crate::common::RegisterField<
9025        22,
9026        0x1,
9027        1,
9028        0,
9029        rstsr1::Nwrf,
9030        rstsr1::Nwrf,
9031        Rstsr1_SPEC,
9032        crate::common::RW,
9033    > {
9034        crate::common::RegisterField::<
9035            22,
9036            0x1,
9037            1,
9038            0,
9039            rstsr1::Nwrf,
9040            rstsr1::Nwrf,
9041            Rstsr1_SPEC,
9042            crate::common::RW,
9043        >::from_register(self, 0)
9044    }
9045
9046    #[doc = "These bits are read as 000000000. The write value should be 000000000."]
9047    #[inline(always)]
9048    pub fn reserved(
9049        self,
9050    ) -> crate::common::RegisterField<23, 0x1ff, 1, 0, u16, u16, Rstsr1_SPEC, crate::common::RW>
9051    {
9052        crate::common::RegisterField::<23,0x1ff,1,0,u16,u16,Rstsr1_SPEC,crate::common::RW>::from_register(self,0)
9053    }
9054}
9055impl ::core::default::Default for Rstsr1 {
9056    #[inline(always)]
9057    fn default() -> Rstsr1 {
9058        <crate::RegValueT<Rstsr1_SPEC> as RegisterValue<_>>::new(0)
9059    }
9060}
9061pub mod rstsr1 {
9062
9063    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9064    pub struct Iwdtrf_SPEC;
9065    pub type Iwdtrf = crate::EnumBitfieldStruct<u8, Iwdtrf_SPEC>;
9066    impl Iwdtrf {
9067        #[doc = "Independent watchdog timer reset not detected."]
9068        pub const _0: Self = Self::new(0);
9069
9070        #[doc = "Independent watchdog timer reset detected."]
9071        pub const _1: Self = Self::new(1);
9072    }
9073    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9074    pub struct Wdt0Rf_SPEC;
9075    pub type Wdt0Rf = crate::EnumBitfieldStruct<u8, Wdt0Rf_SPEC>;
9076    impl Wdt0Rf {
9077        #[doc = "Watchdog timer0 reset not detected."]
9078        pub const _0: Self = Self::new(0);
9079
9080        #[doc = "Watchdog timer0 reset detected."]
9081        pub const _1: Self = Self::new(1);
9082    }
9083    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9084    pub struct Swrf_SPEC;
9085    pub type Swrf = crate::EnumBitfieldStruct<u8, Swrf_SPEC>;
9086    impl Swrf {
9087        #[doc = "Software reset not detected."]
9088        pub const _0: Self = Self::new(0);
9089
9090        #[doc = "Software reset detected."]
9091        pub const _1: Self = Self::new(1);
9092    }
9093    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9094    pub struct Clu0Rf_SPEC;
9095    pub type Clu0Rf = crate::EnumBitfieldStruct<u8, Clu0Rf_SPEC>;
9096    impl Clu0Rf {
9097        #[doc = "CPU0 Lockup reset not detected."]
9098        pub const _0: Self = Self::new(0);
9099
9100        #[doc = "CPU0 Lockup reset detected."]
9101        pub const _1: Self = Self::new(1);
9102    }
9103    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9104    pub struct Lm0Rf_SPEC;
9105    pub type Lm0Rf = crate::EnumBitfieldStruct<u8, Lm0Rf_SPEC>;
9106    impl Lm0Rf {
9107        #[doc = "Local memory 0 error reset not detected."]
9108        pub const _0: Self = Self::new(0);
9109
9110        #[doc = "Local memory 0 error reset detected."]
9111        pub const _1: Self = Self::new(1);
9112    }
9113    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9114    pub struct Busrf_SPEC;
9115    pub type Busrf = crate::EnumBitfieldStruct<u8, Busrf_SPEC>;
9116    impl Busrf {
9117        #[doc = "Bus error reset not detected."]
9118        pub const _0: Self = Self::new(0);
9119
9120        #[doc = "Bus error reset detected."]
9121        pub const _1: Self = Self::new(1);
9122    }
9123    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9124    pub struct Cmrf_SPEC;
9125    pub type Cmrf = crate::EnumBitfieldStruct<u8, Cmrf_SPEC>;
9126    impl Cmrf {
9127        #[doc = "Common memory error reset not detected."]
9128        pub const _0: Self = Self::new(0);
9129
9130        #[doc = "Common memory error reset detected."]
9131        pub const _1: Self = Self::new(1);
9132    }
9133    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9134    pub struct Wdt1Rf_SPEC;
9135    pub type Wdt1Rf = crate::EnumBitfieldStruct<u8, Wdt1Rf_SPEC>;
9136    impl Wdt1Rf {
9137        #[doc = "Watchdog timer1 reset not detected."]
9138        pub const _0: Self = Self::new(0);
9139
9140        #[doc = "Watchdog timer1 reset detected."]
9141        pub const _1: Self = Self::new(1);
9142    }
9143    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9144    pub struct Lm1Rf_SPEC;
9145    pub type Lm1Rf = crate::EnumBitfieldStruct<u8, Lm1Rf_SPEC>;
9146    impl Lm1Rf {
9147        #[doc = "Local memory 1 error reset not detected."]
9148        pub const _0: Self = Self::new(0);
9149
9150        #[doc = "Local memory 1 error reset detected."]
9151        pub const _1: Self = Self::new(1);
9152    }
9153    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9154    pub struct Nwrf_SPEC;
9155    pub type Nwrf = crate::EnumBitfieldStruct<u8, Nwrf_SPEC>;
9156    impl Nwrf {
9157        #[doc = "Network Reset not detected."]
9158        pub const _0: Self = Self::new(0);
9159
9160        #[doc = "Network Reset detected."]
9161        pub const _1: Self = Self::new(1);
9162    }
9163}
9164#[doc(hidden)]
9165#[derive(Copy, Clone, Eq, PartialEq)]
9166pub struct Syraccr_SPEC;
9167impl crate::sealed::RegSpec for Syraccr_SPEC {
9168    type DataType = u8;
9169}
9170
9171#[doc = "System Register Access Control Register"]
9172pub type Syraccr = crate::RegValueT<Syraccr_SPEC>;
9173
9174impl Syraccr {
9175    #[doc = "Access Ready monitor"]
9176    #[inline(always)]
9177    pub fn busy(
9178        self,
9179    ) -> crate::common::RegisterField<
9180        0,
9181        0x1,
9182        1,
9183        0,
9184        syraccr::Busy,
9185        syraccr::Busy,
9186        Syraccr_SPEC,
9187        crate::common::RW,
9188    > {
9189        crate::common::RegisterField::<
9190            0,
9191            0x1,
9192            1,
9193            0,
9194            syraccr::Busy,
9195            syraccr::Busy,
9196            Syraccr_SPEC,
9197            crate::common::RW,
9198        >::from_register(self, 0)
9199    }
9200
9201    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
9202    #[inline(always)]
9203    pub fn reserved(
9204        self,
9205    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Syraccr_SPEC, crate::common::RW> {
9206        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Syraccr_SPEC,crate::common::RW>::from_register(self,0)
9207    }
9208}
9209impl ::core::default::Default for Syraccr {
9210    #[inline(always)]
9211    fn default() -> Syraccr {
9212        <crate::RegValueT<Syraccr_SPEC> as RegisterValue<_>>::new(0)
9213    }
9214}
9215pub mod syraccr {
9216
9217    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9218    pub struct Busy_SPEC;
9219    pub type Busy = crate::EnumBitfieldStruct<u8, Busy_SPEC>;
9220    impl Busy {
9221        #[doc = "Ready to read/write access"]
9222        pub const _0: Self = Self::new(0);
9223
9224        #[doc = "Writing in progress"]
9225        pub const _1: Self = Self::new(1);
9226    }
9227}
9228#[doc(hidden)]
9229#[derive(Copy, Clone, Eq, PartialEq)]
9230pub struct Pvdcr1_SPEC;
9231impl crate::sealed::RegSpec for Pvdcr1_SPEC {
9232    type DataType = u8;
9233}
9234
9235#[doc = "Voltage Monitor %s Circuit Control Register 1"]
9236pub type Pvdcr1 = crate::RegValueT<Pvdcr1_SPEC>;
9237
9238impl Pvdcr1 {
9239    #[doc = "Voltage Monitor  Interrupt Generation Condition Select"]
9240    #[inline(always)]
9241    pub fn idtsel(
9242        self,
9243    ) -> crate::common::RegisterField<
9244        0,
9245        0x3,
9246        1,
9247        0,
9248        pvdcr1::Idtsel,
9249        pvdcr1::Idtsel,
9250        Pvdcr1_SPEC,
9251        crate::common::RW,
9252    > {
9253        crate::common::RegisterField::<
9254            0,
9255            0x3,
9256            1,
9257            0,
9258            pvdcr1::Idtsel,
9259            pvdcr1::Idtsel,
9260            Pvdcr1_SPEC,
9261            crate::common::RW,
9262        >::from_register(self, 0)
9263    }
9264
9265    #[doc = "Voltage Monitor  Interrupt Type Select"]
9266    #[inline(always)]
9267    pub fn irqsel(
9268        self,
9269    ) -> crate::common::RegisterField<
9270        2,
9271        0x1,
9272        1,
9273        0,
9274        pvdcr1::Irqsel,
9275        pvdcr1::Irqsel,
9276        Pvdcr1_SPEC,
9277        crate::common::RW,
9278    > {
9279        crate::common::RegisterField::<
9280            2,
9281            0x1,
9282            1,
9283            0,
9284            pvdcr1::Irqsel,
9285            pvdcr1::Irqsel,
9286            Pvdcr1_SPEC,
9287            crate::common::RW,
9288        >::from_register(self, 0)
9289    }
9290
9291    #[doc = "These bits are read as 00000. The write value should be 00000."]
9292    #[inline(always)]
9293    pub fn reserved(
9294        self,
9295    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Pvdcr1_SPEC, crate::common::RW> {
9296        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Pvdcr1_SPEC,crate::common::RW>::from_register(self,0)
9297    }
9298}
9299impl ::core::default::Default for Pvdcr1 {
9300    #[inline(always)]
9301    fn default() -> Pvdcr1 {
9302        <crate::RegValueT<Pvdcr1_SPEC> as RegisterValue<_>>::new(1)
9303    }
9304}
9305pub mod pvdcr1 {
9306
9307    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9308    pub struct Idtsel_SPEC;
9309    pub type Idtsel = crate::EnumBitfieldStruct<u8, Idtsel_SPEC>;
9310    impl Idtsel {
9311        #[doc = "Generate when VCC>=Vdet (rise) is detected"]
9312        pub const _00: Self = Self::new(0);
9313
9314        #[doc = "Generate when VCC<Vdet (fall) is detected"]
9315        pub const _01: Self = Self::new(1);
9316
9317        #[doc = "Generate when fall and rise are detected"]
9318        pub const _10: Self = Self::new(2);
9319
9320        #[doc = "Settings prohibited"]
9321        pub const _11: Self = Self::new(3);
9322    }
9323    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9324    pub struct Irqsel_SPEC;
9325    pub type Irqsel = crate::EnumBitfieldStruct<u8, Irqsel_SPEC>;
9326    impl Irqsel {
9327        #[doc = "Non-maskable interrupt"]
9328        pub const _0: Self = Self::new(0);
9329
9330        #[doc = "Maskable interrupt"]
9331        pub const _1: Self = Self::new(1);
9332    }
9333}
9334#[doc(hidden)]
9335#[derive(Copy, Clone, Eq, PartialEq)]
9336pub struct Pvdsr_SPEC;
9337impl crate::sealed::RegSpec for Pvdsr_SPEC {
9338    type DataType = u8;
9339}
9340
9341#[doc = "Voltage Monitor %s Circuit Status Register"]
9342pub type Pvdsr = crate::RegValueT<Pvdsr_SPEC>;
9343
9344impl Pvdsr {
9345    #[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."]
9346    #[inline(always)]
9347    pub fn det(
9348        self,
9349    ) -> crate::common::RegisterField<
9350        0,
9351        0x1,
9352        1,
9353        0,
9354        pvdsr::Det,
9355        pvdsr::Det,
9356        Pvdsr_SPEC,
9357        crate::common::RW,
9358    > {
9359        crate::common::RegisterField::<
9360            0,
9361            0x1,
9362            1,
9363            0,
9364            pvdsr::Det,
9365            pvdsr::Det,
9366            Pvdsr_SPEC,
9367            crate::common::RW,
9368        >::from_register(self, 0)
9369    }
9370
9371    #[doc = "Voltage Monitor Signal Monitor Flag"]
9372    #[inline(always)]
9373    pub fn mon(
9374        self,
9375    ) -> crate::common::RegisterField<
9376        1,
9377        0x1,
9378        1,
9379        0,
9380        pvdsr::Mon,
9381        pvdsr::Mon,
9382        Pvdsr_SPEC,
9383        crate::common::R,
9384    > {
9385        crate::common::RegisterField::<
9386            1,
9387            0x1,
9388            1,
9389            0,
9390            pvdsr::Mon,
9391            pvdsr::Mon,
9392            Pvdsr_SPEC,
9393            crate::common::R,
9394        >::from_register(self, 0)
9395    }
9396
9397    #[doc = "These bits are read as 000000. The write value should be 000000."]
9398    #[inline(always)]
9399    pub fn reserved(
9400        self,
9401    ) -> crate::common::RegisterField<2, 0x3f, 1, 0, u8, u8, Pvdsr_SPEC, crate::common::RW> {
9402        crate::common::RegisterField::<2,0x3f,1,0,u8,u8,Pvdsr_SPEC,crate::common::RW>::from_register(self,0)
9403    }
9404}
9405impl ::core::default::Default for Pvdsr {
9406    #[inline(always)]
9407    fn default() -> Pvdsr {
9408        <crate::RegValueT<Pvdsr_SPEC> as RegisterValue<_>>::new(2)
9409    }
9410}
9411pub mod pvdsr {
9412
9413    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9414    pub struct Det_SPEC;
9415    pub type Det = crate::EnumBitfieldStruct<u8, Det_SPEC>;
9416    impl Det {
9417        #[doc = "Not detected"]
9418        pub const _0: Self = Self::new(0);
9419
9420        #[doc = "Vdet passage detection"]
9421        pub const _1: Self = Self::new(1);
9422    }
9423    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9424    pub struct Mon_SPEC;
9425    pub type Mon = crate::EnumBitfieldStruct<u8, Mon_SPEC>;
9426    impl Mon {
9427        #[doc = "VCC <= Vdet"]
9428        pub const _0: Self = Self::new(0);
9429
9430        #[doc = "VCC > Vdet or MON bit is disabled"]
9431        pub const _1: Self = Self::new(1);
9432    }
9433}
9434#[doc(hidden)]
9435#[derive(Copy, Clone, Eq, PartialEq)]
9436pub struct Crvsyscr_SPEC;
9437impl crate::sealed::RegSpec for Crvsyscr_SPEC {
9438    type DataType = u8;
9439}
9440
9441#[doc = "Clock Recovery System Control Register"]
9442pub type Crvsyscr = crate::RegValueT<Crvsyscr_SPEC>;
9443
9444impl Crvsyscr {
9445    #[doc = "Clock Recovery Enable"]
9446    #[inline(always)]
9447    pub fn crven(
9448        self,
9449    ) -> crate::common::RegisterField<
9450        0,
9451        0x1,
9452        1,
9453        0,
9454        crvsyscr::Crven,
9455        crvsyscr::Crven,
9456        Crvsyscr_SPEC,
9457        crate::common::RW,
9458    > {
9459        crate::common::RegisterField::<
9460            0,
9461            0x1,
9462            1,
9463            0,
9464            crvsyscr::Crven,
9465            crvsyscr::Crven,
9466            Crvsyscr_SPEC,
9467            crate::common::RW,
9468        >::from_register(self, 0)
9469    }
9470
9471    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
9472    #[inline(always)]
9473    pub fn reserved(
9474        self,
9475    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Crvsyscr_SPEC, crate::common::RW> {
9476        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Crvsyscr_SPEC,crate::common::RW>::from_register(self,0)
9477    }
9478}
9479impl ::core::default::Default for Crvsyscr {
9480    #[inline(always)]
9481    fn default() -> Crvsyscr {
9482        <crate::RegValueT<Crvsyscr_SPEC> as RegisterValue<_>>::new(0)
9483    }
9484}
9485pub mod crvsyscr {
9486
9487    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9488    pub struct Crven_SPEC;
9489    pub type Crven = crate::EnumBitfieldStruct<u8, Crven_SPEC>;
9490    impl Crven {
9491        #[doc = "Disable"]
9492        pub const _0: Self = Self::new(0);
9493
9494        #[doc = "Enable"]
9495        pub const _1: Self = Self::new(1);
9496    }
9497}
9498#[doc(hidden)]
9499#[derive(Copy, Clone, Eq, PartialEq)]
9500pub struct Pdctrgd_SPEC;
9501impl crate::sealed::RegSpec for Pdctrgd_SPEC {
9502    type DataType = u8;
9503}
9504
9505#[doc = "Graphics Power Domain Control Register"]
9506pub type Pdctrgd = crate::RegValueT<Pdctrgd_SPEC>;
9507
9508impl Pdctrgd {
9509    #[doc = "Power control enable"]
9510    #[inline(always)]
9511    pub fn pdde(
9512        self,
9513    ) -> crate::common::RegisterField<
9514        0,
9515        0x1,
9516        1,
9517        0,
9518        pdctrgd::Pdde,
9519        pdctrgd::Pdde,
9520        Pdctrgd_SPEC,
9521        crate::common::RW,
9522    > {
9523        crate::common::RegisterField::<
9524            0,
9525            0x1,
9526            1,
9527            0,
9528            pdctrgd::Pdde,
9529            pdctrgd::Pdde,
9530            Pdctrgd_SPEC,
9531            crate::common::RW,
9532        >::from_register(self, 0)
9533    }
9534
9535    #[doc = "These bits are read as 00000. The write value should be 00000."]
9536    #[inline(always)]
9537    pub fn reserved(
9538        self,
9539    ) -> crate::common::RegisterField<1, 0x1f, 1, 0, u8, u8, Pdctrgd_SPEC, crate::common::RW> {
9540        crate::common::RegisterField::<1,0x1f,1,0,u8,u8,Pdctrgd_SPEC,crate::common::RW>::from_register(self,0)
9541    }
9542
9543    #[doc = "Power control status flag"]
9544    #[inline(always)]
9545    pub fn pdcsf(
9546        self,
9547    ) -> crate::common::RegisterField<
9548        6,
9549        0x1,
9550        1,
9551        0,
9552        pdctrgd::Pdcsf,
9553        pdctrgd::Pdcsf,
9554        Pdctrgd_SPEC,
9555        crate::common::R,
9556    > {
9557        crate::common::RegisterField::<
9558            6,
9559            0x1,
9560            1,
9561            0,
9562            pdctrgd::Pdcsf,
9563            pdctrgd::Pdcsf,
9564            Pdctrgd_SPEC,
9565            crate::common::R,
9566        >::from_register(self, 0)
9567    }
9568
9569    #[doc = "Power gating status flag"]
9570    #[inline(always)]
9571    pub fn pdpgsf(
9572        self,
9573    ) -> crate::common::RegisterField<
9574        7,
9575        0x1,
9576        1,
9577        0,
9578        pdctrgd::Pdpgsf,
9579        pdctrgd::Pdpgsf,
9580        Pdctrgd_SPEC,
9581        crate::common::R,
9582    > {
9583        crate::common::RegisterField::<
9584            7,
9585            0x1,
9586            1,
9587            0,
9588            pdctrgd::Pdpgsf,
9589            pdctrgd::Pdpgsf,
9590            Pdctrgd_SPEC,
9591            crate::common::R,
9592        >::from_register(self, 0)
9593    }
9594}
9595impl ::core::default::Default for Pdctrgd {
9596    #[inline(always)]
9597    fn default() -> Pdctrgd {
9598        <crate::RegValueT<Pdctrgd_SPEC> as RegisterValue<_>>::new(129)
9599    }
9600}
9601pub mod pdctrgd {
9602
9603    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9604    pub struct Pdde_SPEC;
9605    pub type Pdde = crate::EnumBitfieldStruct<u8, Pdde_SPEC>;
9606    impl Pdde {
9607        #[doc = "Power on the target domain"]
9608        pub const _0: Self = Self::new(0);
9609
9610        #[doc = "Power off the target domain"]
9611        pub const _1: Self = Self::new(1);
9612    }
9613    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9614    pub struct Pdcsf_SPEC;
9615    pub type Pdcsf = crate::EnumBitfieldStruct<u8, Pdcsf_SPEC>;
9616    impl Pdcsf {
9617        #[doc = "Power gating control is not executed (idle)"]
9618        pub const _0: Self = Self::new(0);
9619
9620        #[doc = "Power gating control is in progress"]
9621        pub const _1: Self = Self::new(1);
9622    }
9623    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9624    pub struct Pdpgsf_SPEC;
9625    pub type Pdpgsf = crate::EnumBitfieldStruct<u8, Pdpgsf_SPEC>;
9626    impl Pdpgsf {
9627        #[doc = "Target domain is power on (not gating)"]
9628        pub const _0: Self = Self::new(0);
9629
9630        #[doc = "Target domain is power off (during Gating)"]
9631        pub const _1: Self = Self::new(1);
9632    }
9633}
9634#[doc(hidden)]
9635#[derive(Copy, Clone, Eq, PartialEq)]
9636pub struct Pdramscr0_SPEC;
9637impl crate::sealed::RegSpec for Pdramscr0_SPEC {
9638    type DataType = u16;
9639}
9640
9641#[doc = "SRAM power domain Standby Control Register 0"]
9642pub type Pdramscr0 = crate::RegValueT<Pdramscr0_SPEC>;
9643
9644impl Pdramscr0 {
9645    #[doc = "This bit is read as 0. The write value should be 0."]
9646    #[inline(always)]
9647    pub fn reserved(
9648        self,
9649    ) -> crate::common::RegisterFieldBool<15, 1, 0, Pdramscr0_SPEC, crate::common::RW> {
9650        crate::common::RegisterFieldBool::<15,1,0,Pdramscr0_SPEC,crate::common::RW>::from_register(self,0)
9651    }
9652}
9653impl ::core::default::Default for Pdramscr0 {
9654    #[inline(always)]
9655    fn default() -> Pdramscr0 {
9656        <crate::RegValueT<Pdramscr0_SPEC> as RegisterValue<_>>::new(32767)
9657    }
9658}
9659
9660#[doc(hidden)]
9661#[derive(Copy, Clone, Eq, PartialEq)]
9662pub struct Pdramscr1_SPEC;
9663impl crate::sealed::RegSpec for Pdramscr1_SPEC {
9664    type DataType = u8;
9665}
9666
9667#[doc = "SRAM power domain Standby Control Register 1"]
9668pub type Pdramscr1 = crate::RegValueT<Pdramscr1_SPEC>;
9669
9670impl Pdramscr1 {
9671    #[doc = "These bits are read as 000000. The write value should be 000000."]
9672    #[inline(always)]
9673    pub fn reserved(
9674        self,
9675    ) -> crate::common::RegisterField<2, 0x3f, 1, 0, u8, u8, Pdramscr1_SPEC, crate::common::RW>
9676    {
9677        crate::common::RegisterField::<2,0x3f,1,0,u8,u8,Pdramscr1_SPEC,crate::common::RW>::from_register(self,0)
9678    }
9679}
9680impl ::core::default::Default for Pdramscr1 {
9681    #[inline(always)]
9682    fn default() -> Pdramscr1 {
9683        <crate::RegValueT<Pdramscr1_SPEC> as RegisterValue<_>>::new(3)
9684    }
9685}
9686
9687#[doc(hidden)]
9688#[derive(Copy, Clone, Eq, PartialEq)]
9689pub struct Vbrsabar_SPEC;
9690impl crate::sealed::RegSpec for Vbrsabar_SPEC {
9691    type DataType = u16;
9692}
9693
9694#[doc = "VBATT Backup Register Security Attribute Boundary Address Register"]
9695pub type Vbrsabar = crate::RegValueT<Vbrsabar_SPEC>;
9696
9697impl Vbrsabar {
9698    #[doc = "Security Attribute Boundary Address"]
9699    #[inline(always)]
9700    pub fn saba(
9701        self,
9702    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Vbrsabar_SPEC, crate::common::RW>
9703    {
9704        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Vbrsabar_SPEC,crate::common::RW>::from_register(self,0)
9705    }
9706}
9707impl ::core::default::Default for Vbrsabar {
9708    #[inline(always)]
9709    fn default() -> Vbrsabar {
9710        <crate::RegValueT<Vbrsabar_SPEC> as RegisterValue<_>>::new(65504)
9711    }
9712}
9713
9714#[doc(hidden)]
9715#[derive(Copy, Clone, Eq, PartialEq)]
9716pub struct Vbrpabars_SPEC;
9717impl crate::sealed::RegSpec for Vbrpabars_SPEC {
9718    type DataType = u16;
9719}
9720
9721#[doc = "VBATT Backup Register Privilege Attribute Boundary Address Register for Secure Region"]
9722pub type Vbrpabars = crate::RegValueT<Vbrpabars_SPEC>;
9723
9724impl Vbrpabars {
9725    #[doc = "Privilege Attribute Boundary Address for Secure Region"]
9726    #[inline(always)]
9727    pub fn pabas(
9728        self,
9729    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Vbrpabars_SPEC, crate::common::RW>
9730    {
9731        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Vbrpabars_SPEC,crate::common::RW>::from_register(self,0)
9732    }
9733}
9734impl ::core::default::Default for Vbrpabars {
9735    #[inline(always)]
9736    fn default() -> Vbrpabars {
9737        <crate::RegValueT<Vbrpabars_SPEC> as RegisterValue<_>>::new(0)
9738    }
9739}
9740
9741#[doc(hidden)]
9742#[derive(Copy, Clone, Eq, PartialEq)]
9743pub struct Vbrpabarns_SPEC;
9744impl crate::sealed::RegSpec for Vbrpabarns_SPEC {
9745    type DataType = u16;
9746}
9747
9748#[doc = "VBATT Backup Register Privilege Attribute Boundary Address Register for Non-secure Region"]
9749pub type Vbrpabarns = crate::RegValueT<Vbrpabarns_SPEC>;
9750
9751impl Vbrpabarns {
9752    #[doc = "Privilege Attribute Boundary Address for Non-secure Region"]
9753    #[inline(always)]
9754    pub fn pabans(
9755        self,
9756    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Vbrpabarns_SPEC, crate::common::RW>
9757    {
9758        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Vbrpabarns_SPEC,crate::common::RW>::from_register(self,0)
9759    }
9760}
9761impl ::core::default::Default for Vbrpabarns {
9762    #[inline(always)]
9763    fn default() -> Vbrpabarns {
9764        <crate::RegValueT<Vbrpabarns_SPEC> as RegisterValue<_>>::new(0)
9765    }
9766}
9767
9768#[doc(hidden)]
9769#[derive(Copy, Clone, Eq, PartialEq)]
9770pub struct Cgfsar_SPEC;
9771impl crate::sealed::RegSpec for Cgfsar_SPEC {
9772    type DataType = u32;
9773}
9774
9775#[doc = "Clock Generation Function Security Attribute Register"]
9776pub type Cgfsar = crate::RegValueT<Cgfsar_SPEC>;
9777
9778impl Cgfsar {
9779    #[doc = "Non-secure Attribute bit 0"]
9780    #[inline(always)]
9781    pub fn nonsec00(
9782        self,
9783    ) -> crate::common::RegisterField<
9784        0,
9785        0x1,
9786        1,
9787        0,
9788        cgfsar::Nonsec00,
9789        cgfsar::Nonsec00,
9790        Cgfsar_SPEC,
9791        crate::common::RW,
9792    > {
9793        crate::common::RegisterField::<
9794            0,
9795            0x1,
9796            1,
9797            0,
9798            cgfsar::Nonsec00,
9799            cgfsar::Nonsec00,
9800            Cgfsar_SPEC,
9801            crate::common::RW,
9802        >::from_register(self, 0)
9803    }
9804
9805    #[doc = "Non-secure Attribute bit 2"]
9806    #[inline(always)]
9807    pub fn nonsec02(
9808        self,
9809    ) -> crate::common::RegisterField<
9810        2,
9811        0x1,
9812        1,
9813        0,
9814        cgfsar::Nonsec02,
9815        cgfsar::Nonsec02,
9816        Cgfsar_SPEC,
9817        crate::common::RW,
9818    > {
9819        crate::common::RegisterField::<
9820            2,
9821            0x1,
9822            1,
9823            0,
9824            cgfsar::Nonsec02,
9825            cgfsar::Nonsec02,
9826            Cgfsar_SPEC,
9827            crate::common::RW,
9828        >::from_register(self, 0)
9829    }
9830
9831    #[doc = "Non-secure Attribute bit 3"]
9832    #[inline(always)]
9833    pub fn nonsec03(
9834        self,
9835    ) -> crate::common::RegisterField<
9836        3,
9837        0x1,
9838        1,
9839        0,
9840        cgfsar::Nonsec03,
9841        cgfsar::Nonsec03,
9842        Cgfsar_SPEC,
9843        crate::common::RW,
9844    > {
9845        crate::common::RegisterField::<
9846            3,
9847            0x1,
9848            1,
9849            0,
9850            cgfsar::Nonsec03,
9851            cgfsar::Nonsec03,
9852            Cgfsar_SPEC,
9853            crate::common::RW,
9854        >::from_register(self, 0)
9855    }
9856
9857    #[doc = "Non-secure Attribute bit 4"]
9858    #[inline(always)]
9859    pub fn nonsec04(
9860        self,
9861    ) -> crate::common::RegisterField<
9862        4,
9863        0x1,
9864        1,
9865        0,
9866        cgfsar::Nonsec04,
9867        cgfsar::Nonsec04,
9868        Cgfsar_SPEC,
9869        crate::common::RW,
9870    > {
9871        crate::common::RegisterField::<
9872            4,
9873            0x1,
9874            1,
9875            0,
9876            cgfsar::Nonsec04,
9877            cgfsar::Nonsec04,
9878            Cgfsar_SPEC,
9879            crate::common::RW,
9880        >::from_register(self, 0)
9881    }
9882
9883    #[doc = "Non-secure Attribute bit 5"]
9884    #[inline(always)]
9885    pub fn nonsec05(
9886        self,
9887    ) -> crate::common::RegisterField<
9888        5,
9889        0x1,
9890        1,
9891        0,
9892        cgfsar::Nonsec05,
9893        cgfsar::Nonsec05,
9894        Cgfsar_SPEC,
9895        crate::common::RW,
9896    > {
9897        crate::common::RegisterField::<
9898            5,
9899            0x1,
9900            1,
9901            0,
9902            cgfsar::Nonsec05,
9903            cgfsar::Nonsec05,
9904            Cgfsar_SPEC,
9905            crate::common::RW,
9906        >::from_register(self, 0)
9907    }
9908
9909    #[doc = "Non-secure Attribute bit 6"]
9910    #[inline(always)]
9911    pub fn nonsec06(
9912        self,
9913    ) -> crate::common::RegisterField<
9914        6,
9915        0x1,
9916        1,
9917        0,
9918        cgfsar::Nonsec06,
9919        cgfsar::Nonsec06,
9920        Cgfsar_SPEC,
9921        crate::common::RW,
9922    > {
9923        crate::common::RegisterField::<
9924            6,
9925            0x1,
9926            1,
9927            0,
9928            cgfsar::Nonsec06,
9929            cgfsar::Nonsec06,
9930            Cgfsar_SPEC,
9931            crate::common::RW,
9932        >::from_register(self, 0)
9933    }
9934
9935    #[doc = "Non-secure Attribute bit 7"]
9936    #[inline(always)]
9937    pub fn nonsec07(
9938        self,
9939    ) -> crate::common::RegisterField<
9940        7,
9941        0x1,
9942        1,
9943        0,
9944        cgfsar::Nonsec07,
9945        cgfsar::Nonsec07,
9946        Cgfsar_SPEC,
9947        crate::common::RW,
9948    > {
9949        crate::common::RegisterField::<
9950            7,
9951            0x1,
9952            1,
9953            0,
9954            cgfsar::Nonsec07,
9955            cgfsar::Nonsec07,
9956            Cgfsar_SPEC,
9957            crate::common::RW,
9958        >::from_register(self, 0)
9959    }
9960
9961    #[doc = "Non-secure Attribute bit 8"]
9962    #[inline(always)]
9963    pub fn nonsec08(
9964        self,
9965    ) -> crate::common::RegisterField<
9966        8,
9967        0x1,
9968        1,
9969        0,
9970        cgfsar::Nonsec08,
9971        cgfsar::Nonsec08,
9972        Cgfsar_SPEC,
9973        crate::common::RW,
9974    > {
9975        crate::common::RegisterField::<
9976            8,
9977            0x1,
9978            1,
9979            0,
9980            cgfsar::Nonsec08,
9981            cgfsar::Nonsec08,
9982            Cgfsar_SPEC,
9983            crate::common::RW,
9984        >::from_register(self, 0)
9985    }
9986
9987    #[doc = "Non-secure Attribute bit 9"]
9988    #[inline(always)]
9989    pub fn nonsec09(
9990        self,
9991    ) -> crate::common::RegisterField<
9992        9,
9993        0x1,
9994        1,
9995        0,
9996        cgfsar::Nonsec09,
9997        cgfsar::Nonsec09,
9998        Cgfsar_SPEC,
9999        crate::common::RW,
10000    > {
10001        crate::common::RegisterField::<
10002            9,
10003            0x1,
10004            1,
10005            0,
10006            cgfsar::Nonsec09,
10007            cgfsar::Nonsec09,
10008            Cgfsar_SPEC,
10009            crate::common::RW,
10010        >::from_register(self, 0)
10011    }
10012
10013    #[doc = "Non-secure Attribute bit 11"]
10014    #[inline(always)]
10015    pub fn nonsec11(
10016        self,
10017    ) -> crate::common::RegisterField<
10018        11,
10019        0x1,
10020        1,
10021        0,
10022        cgfsar::Nonsec11,
10023        cgfsar::Nonsec11,
10024        Cgfsar_SPEC,
10025        crate::common::RW,
10026    > {
10027        crate::common::RegisterField::<
10028            11,
10029            0x1,
10030            1,
10031            0,
10032            cgfsar::Nonsec11,
10033            cgfsar::Nonsec11,
10034            Cgfsar_SPEC,
10035            crate::common::RW,
10036        >::from_register(self, 0)
10037    }
10038
10039    #[doc = "Non-secure Attribute bit 12"]
10040    #[inline(always)]
10041    pub fn nonsec12(
10042        self,
10043    ) -> crate::common::RegisterField<
10044        12,
10045        0x1,
10046        1,
10047        0,
10048        cgfsar::Nonsec12,
10049        cgfsar::Nonsec12,
10050        Cgfsar_SPEC,
10051        crate::common::RW,
10052    > {
10053        crate::common::RegisterField::<
10054            12,
10055            0x1,
10056            1,
10057            0,
10058            cgfsar::Nonsec12,
10059            cgfsar::Nonsec12,
10060            Cgfsar_SPEC,
10061            crate::common::RW,
10062        >::from_register(self, 0)
10063    }
10064
10065    #[doc = "Non-secure Attribute bit 13"]
10066    #[inline(always)]
10067    pub fn nonsec13(
10068        self,
10069    ) -> crate::common::RegisterField<
10070        13,
10071        0x1,
10072        1,
10073        0,
10074        cgfsar::Nonsec13,
10075        cgfsar::Nonsec13,
10076        Cgfsar_SPEC,
10077        crate::common::RW,
10078    > {
10079        crate::common::RegisterField::<
10080            13,
10081            0x1,
10082            1,
10083            0,
10084            cgfsar::Nonsec13,
10085            cgfsar::Nonsec13,
10086            Cgfsar_SPEC,
10087            crate::common::RW,
10088        >::from_register(self, 0)
10089    }
10090
10091    #[doc = "Non-secure Attribute bit 16"]
10092    #[inline(always)]
10093    pub fn nonsec16(
10094        self,
10095    ) -> crate::common::RegisterField<
10096        16,
10097        0x1,
10098        1,
10099        0,
10100        cgfsar::Nonsec16,
10101        cgfsar::Nonsec16,
10102        Cgfsar_SPEC,
10103        crate::common::RW,
10104    > {
10105        crate::common::RegisterField::<
10106            16,
10107            0x1,
10108            1,
10109            0,
10110            cgfsar::Nonsec16,
10111            cgfsar::Nonsec16,
10112            Cgfsar_SPEC,
10113            crate::common::RW,
10114        >::from_register(self, 0)
10115    }
10116
10117    #[doc = "Non-secure Attribute bit 17"]
10118    #[inline(always)]
10119    pub fn nonsec17(
10120        self,
10121    ) -> crate::common::RegisterField<
10122        17,
10123        0x1,
10124        1,
10125        0,
10126        cgfsar::Nonsec17,
10127        cgfsar::Nonsec17,
10128        Cgfsar_SPEC,
10129        crate::common::RW,
10130    > {
10131        crate::common::RegisterField::<
10132            17,
10133            0x1,
10134            1,
10135            0,
10136            cgfsar::Nonsec17,
10137            cgfsar::Nonsec17,
10138            Cgfsar_SPEC,
10139            crate::common::RW,
10140        >::from_register(self, 0)
10141    }
10142
10143    #[doc = "Non-secure Attribute bit 18"]
10144    #[inline(always)]
10145    pub fn nonsec18(
10146        self,
10147    ) -> crate::common::RegisterField<
10148        18,
10149        0x1,
10150        1,
10151        0,
10152        cgfsar::Nonsec18,
10153        cgfsar::Nonsec18,
10154        Cgfsar_SPEC,
10155        crate::common::RW,
10156    > {
10157        crate::common::RegisterField::<
10158            18,
10159            0x1,
10160            1,
10161            0,
10162            cgfsar::Nonsec18,
10163            cgfsar::Nonsec18,
10164            Cgfsar_SPEC,
10165            crate::common::RW,
10166        >::from_register(self, 0)
10167    }
10168
10169    #[doc = "Non-secure Attribute bit 19"]
10170    #[inline(always)]
10171    pub fn nonsec19(
10172        self,
10173    ) -> crate::common::RegisterField<
10174        19,
10175        0x1,
10176        1,
10177        0,
10178        cgfsar::Nonsec19,
10179        cgfsar::Nonsec19,
10180        Cgfsar_SPEC,
10181        crate::common::RW,
10182    > {
10183        crate::common::RegisterField::<
10184            19,
10185            0x1,
10186            1,
10187            0,
10188            cgfsar::Nonsec19,
10189            cgfsar::Nonsec19,
10190            Cgfsar_SPEC,
10191            crate::common::RW,
10192        >::from_register(self, 0)
10193    }
10194
10195    #[doc = "Non-secure Attribute bit 20"]
10196    #[inline(always)]
10197    pub fn nonsec20(
10198        self,
10199    ) -> crate::common::RegisterField<
10200        20,
10201        0x1,
10202        1,
10203        0,
10204        cgfsar::Nonsec20,
10205        cgfsar::Nonsec20,
10206        Cgfsar_SPEC,
10207        crate::common::RW,
10208    > {
10209        crate::common::RegisterField::<
10210            20,
10211            0x1,
10212            1,
10213            0,
10214            cgfsar::Nonsec20,
10215            cgfsar::Nonsec20,
10216            Cgfsar_SPEC,
10217            crate::common::RW,
10218        >::from_register(self, 0)
10219    }
10220
10221    #[doc = "Non-secure Attribute bit 21"]
10222    #[inline(always)]
10223    pub fn nonsec21(
10224        self,
10225    ) -> crate::common::RegisterField<
10226        21,
10227        0x1,
10228        1,
10229        0,
10230        cgfsar::Nonsec21,
10231        cgfsar::Nonsec21,
10232        Cgfsar_SPEC,
10233        crate::common::RW,
10234    > {
10235        crate::common::RegisterField::<
10236            21,
10237            0x1,
10238            1,
10239            0,
10240            cgfsar::Nonsec21,
10241            cgfsar::Nonsec21,
10242            Cgfsar_SPEC,
10243            crate::common::RW,
10244        >::from_register(self, 0)
10245    }
10246
10247    #[doc = "Non-secure Attribute bit 22"]
10248    #[inline(always)]
10249    pub fn nonsec22(
10250        self,
10251    ) -> crate::common::RegisterField<
10252        22,
10253        0x1,
10254        1,
10255        0,
10256        cgfsar::Nonsec22,
10257        cgfsar::Nonsec22,
10258        Cgfsar_SPEC,
10259        crate::common::RW,
10260    > {
10261        crate::common::RegisterField::<
10262            22,
10263            0x1,
10264            1,
10265            0,
10266            cgfsar::Nonsec22,
10267            cgfsar::Nonsec22,
10268            Cgfsar_SPEC,
10269            crate::common::RW,
10270        >::from_register(self, 0)
10271    }
10272
10273    #[doc = "Non-secure Attribute bit 24"]
10274    #[inline(always)]
10275    pub fn nonsec24(
10276        self,
10277    ) -> crate::common::RegisterField<
10278        24,
10279        0x1,
10280        1,
10281        0,
10282        cgfsar::Nonsec24,
10283        cgfsar::Nonsec24,
10284        Cgfsar_SPEC,
10285        crate::common::RW,
10286    > {
10287        crate::common::RegisterField::<
10288            24,
10289            0x1,
10290            1,
10291            0,
10292            cgfsar::Nonsec24,
10293            cgfsar::Nonsec24,
10294            Cgfsar_SPEC,
10295            crate::common::RW,
10296        >::from_register(self, 0)
10297    }
10298
10299    #[doc = "Non-secure Attribute bit 25"]
10300    #[inline(always)]
10301    pub fn nonsec25(
10302        self,
10303    ) -> crate::common::RegisterField<
10304        25,
10305        0x1,
10306        1,
10307        0,
10308        cgfsar::Nonsec25,
10309        cgfsar::Nonsec25,
10310        Cgfsar_SPEC,
10311        crate::common::RW,
10312    > {
10313        crate::common::RegisterField::<
10314            25,
10315            0x1,
10316            1,
10317            0,
10318            cgfsar::Nonsec25,
10319            cgfsar::Nonsec25,
10320            Cgfsar_SPEC,
10321            crate::common::RW,
10322        >::from_register(self, 0)
10323    }
10324
10325    #[doc = "Non-secure Attribute bit 26"]
10326    #[inline(always)]
10327    pub fn nonsec26(
10328        self,
10329    ) -> crate::common::RegisterField<
10330        26,
10331        0x1,
10332        1,
10333        0,
10334        cgfsar::Nonsec26,
10335        cgfsar::Nonsec26,
10336        Cgfsar_SPEC,
10337        crate::common::RW,
10338    > {
10339        crate::common::RegisterField::<
10340            26,
10341            0x1,
10342            1,
10343            0,
10344            cgfsar::Nonsec26,
10345            cgfsar::Nonsec26,
10346            Cgfsar_SPEC,
10347            crate::common::RW,
10348        >::from_register(self, 0)
10349    }
10350
10351    #[doc = "These bits are read as 00000. The write value should be 00000."]
10352    #[inline(always)]
10353    pub fn reserved(
10354        self,
10355    ) -> crate::common::RegisterField<27, 0x1f, 1, 0, u8, u8, Cgfsar_SPEC, crate::common::RW> {
10356        crate::common::RegisterField::<27,0x1f,1,0,u8,u8,Cgfsar_SPEC,crate::common::RW>::from_register(self,0)
10357    }
10358}
10359impl ::core::default::Default for Cgfsar {
10360    #[inline(always)]
10361    fn default() -> Cgfsar {
10362        <crate::RegValueT<Cgfsar_SPEC> as RegisterValue<_>>::new(0)
10363    }
10364}
10365pub mod cgfsar {
10366
10367    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10368    pub struct Nonsec00_SPEC;
10369    pub type Nonsec00 = crate::EnumBitfieldStruct<u8, Nonsec00_SPEC>;
10370    impl Nonsec00 {
10371        #[doc = "Secure"]
10372        pub const _0: Self = Self::new(0);
10373
10374        #[doc = "Non-secure"]
10375        pub const _1: Self = Self::new(1);
10376    }
10377    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10378    pub struct Nonsec02_SPEC;
10379    pub type Nonsec02 = crate::EnumBitfieldStruct<u8, Nonsec02_SPEC>;
10380    impl Nonsec02 {
10381        #[doc = "Secure"]
10382        pub const _0: Self = Self::new(0);
10383
10384        #[doc = "Non-secure"]
10385        pub const _1: Self = Self::new(1);
10386    }
10387    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10388    pub struct Nonsec03_SPEC;
10389    pub type Nonsec03 = crate::EnumBitfieldStruct<u8, Nonsec03_SPEC>;
10390    impl Nonsec03 {
10391        #[doc = "Secure"]
10392        pub const _0: Self = Self::new(0);
10393
10394        #[doc = "Non-secure"]
10395        pub const _1: Self = Self::new(1);
10396    }
10397    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10398    pub struct Nonsec04_SPEC;
10399    pub type Nonsec04 = crate::EnumBitfieldStruct<u8, Nonsec04_SPEC>;
10400    impl Nonsec04 {
10401        #[doc = "Secure"]
10402        pub const _0: Self = Self::new(0);
10403
10404        #[doc = "Non-secure"]
10405        pub const _1: Self = Self::new(1);
10406    }
10407    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10408    pub struct Nonsec05_SPEC;
10409    pub type Nonsec05 = crate::EnumBitfieldStruct<u8, Nonsec05_SPEC>;
10410    impl Nonsec05 {
10411        #[doc = "Secure"]
10412        pub const _0: Self = Self::new(0);
10413
10414        #[doc = "Non-secure"]
10415        pub const _1: Self = Self::new(1);
10416    }
10417    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10418    pub struct Nonsec06_SPEC;
10419    pub type Nonsec06 = crate::EnumBitfieldStruct<u8, Nonsec06_SPEC>;
10420    impl Nonsec06 {
10421        #[doc = "Secure"]
10422        pub const _0: Self = Self::new(0);
10423
10424        #[doc = "Non-secure"]
10425        pub const _1: Self = Self::new(1);
10426    }
10427    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10428    pub struct Nonsec07_SPEC;
10429    pub type Nonsec07 = crate::EnumBitfieldStruct<u8, Nonsec07_SPEC>;
10430    impl Nonsec07 {
10431        #[doc = "Secure"]
10432        pub const _0: Self = Self::new(0);
10433
10434        #[doc = "Non-secure"]
10435        pub const _1: Self = Self::new(1);
10436    }
10437    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10438    pub struct Nonsec08_SPEC;
10439    pub type Nonsec08 = crate::EnumBitfieldStruct<u8, Nonsec08_SPEC>;
10440    impl Nonsec08 {
10441        #[doc = "Secure"]
10442        pub const _0: Self = Self::new(0);
10443
10444        #[doc = "Non-secure"]
10445        pub const _1: Self = Self::new(1);
10446    }
10447    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10448    pub struct Nonsec09_SPEC;
10449    pub type Nonsec09 = crate::EnumBitfieldStruct<u8, Nonsec09_SPEC>;
10450    impl Nonsec09 {
10451        #[doc = "Secure"]
10452        pub const _0: Self = Self::new(0);
10453
10454        #[doc = "Non-secure"]
10455        pub const _1: Self = Self::new(1);
10456    }
10457    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10458    pub struct Nonsec11_SPEC;
10459    pub type Nonsec11 = crate::EnumBitfieldStruct<u8, Nonsec11_SPEC>;
10460    impl Nonsec11 {
10461        #[doc = "Secure"]
10462        pub const _0: Self = Self::new(0);
10463
10464        #[doc = "Non-secure"]
10465        pub const _1: Self = Self::new(1);
10466    }
10467    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10468    pub struct Nonsec12_SPEC;
10469    pub type Nonsec12 = crate::EnumBitfieldStruct<u8, Nonsec12_SPEC>;
10470    impl Nonsec12 {
10471        #[doc = "Secure"]
10472        pub const _0: Self = Self::new(0);
10473
10474        #[doc = "Non-secure"]
10475        pub const _1: Self = Self::new(1);
10476    }
10477    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10478    pub struct Nonsec13_SPEC;
10479    pub type Nonsec13 = crate::EnumBitfieldStruct<u8, Nonsec13_SPEC>;
10480    impl Nonsec13 {
10481        #[doc = "Secure"]
10482        pub const _0: Self = Self::new(0);
10483
10484        #[doc = "Non-secure"]
10485        pub const _1: Self = Self::new(1);
10486    }
10487    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10488    pub struct Nonsec16_SPEC;
10489    pub type Nonsec16 = crate::EnumBitfieldStruct<u8, Nonsec16_SPEC>;
10490    impl Nonsec16 {
10491        #[doc = "Secure"]
10492        pub const _0: Self = Self::new(0);
10493
10494        #[doc = "Non-secure"]
10495        pub const _1: Self = Self::new(1);
10496    }
10497    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10498    pub struct Nonsec17_SPEC;
10499    pub type Nonsec17 = crate::EnumBitfieldStruct<u8, Nonsec17_SPEC>;
10500    impl Nonsec17 {
10501        #[doc = "Secure"]
10502        pub const _0: Self = Self::new(0);
10503
10504        #[doc = "Non-secure"]
10505        pub const _1: Self = Self::new(1);
10506    }
10507    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10508    pub struct Nonsec18_SPEC;
10509    pub type Nonsec18 = crate::EnumBitfieldStruct<u8, Nonsec18_SPEC>;
10510    impl Nonsec18 {
10511        #[doc = "Secure"]
10512        pub const _0: Self = Self::new(0);
10513
10514        #[doc = "Non-secure"]
10515        pub const _1: Self = Self::new(1);
10516    }
10517    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10518    pub struct Nonsec19_SPEC;
10519    pub type Nonsec19 = crate::EnumBitfieldStruct<u8, Nonsec19_SPEC>;
10520    impl Nonsec19 {
10521        #[doc = "Secure"]
10522        pub const _0: Self = Self::new(0);
10523
10524        #[doc = "Non-secure"]
10525        pub const _1: Self = Self::new(1);
10526    }
10527    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10528    pub struct Nonsec20_SPEC;
10529    pub type Nonsec20 = crate::EnumBitfieldStruct<u8, Nonsec20_SPEC>;
10530    impl Nonsec20 {
10531        #[doc = "Secure"]
10532        pub const _0: Self = Self::new(0);
10533
10534        #[doc = "Non-secure"]
10535        pub const _1: Self = Self::new(1);
10536    }
10537    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10538    pub struct Nonsec21_SPEC;
10539    pub type Nonsec21 = crate::EnumBitfieldStruct<u8, Nonsec21_SPEC>;
10540    impl Nonsec21 {
10541        #[doc = "Secure"]
10542        pub const _0: Self = Self::new(0);
10543
10544        #[doc = "Non-secure"]
10545        pub const _1: Self = Self::new(1);
10546    }
10547    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10548    pub struct Nonsec22_SPEC;
10549    pub type Nonsec22 = crate::EnumBitfieldStruct<u8, Nonsec22_SPEC>;
10550    impl Nonsec22 {
10551        #[doc = "Secure"]
10552        pub const _0: Self = Self::new(0);
10553
10554        #[doc = "Non-secure"]
10555        pub const _1: Self = Self::new(1);
10556    }
10557    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10558    pub struct Nonsec24_SPEC;
10559    pub type Nonsec24 = crate::EnumBitfieldStruct<u8, Nonsec24_SPEC>;
10560    impl Nonsec24 {
10561        #[doc = "Secure"]
10562        pub const _0: Self = Self::new(0);
10563
10564        #[doc = "Non-secure"]
10565        pub const _1: Self = Self::new(1);
10566    }
10567    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10568    pub struct Nonsec25_SPEC;
10569    pub type Nonsec25 = crate::EnumBitfieldStruct<u8, Nonsec25_SPEC>;
10570    impl Nonsec25 {
10571        #[doc = "Secure"]
10572        pub const _0: Self = Self::new(0);
10573
10574        #[doc = "Non-secure"]
10575        pub const _1: Self = Self::new(1);
10576    }
10577    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10578    pub struct Nonsec26_SPEC;
10579    pub type Nonsec26 = crate::EnumBitfieldStruct<u8, Nonsec26_SPEC>;
10580    impl Nonsec26 {
10581        #[doc = "Secure"]
10582        pub const _0: Self = Self::new(0);
10583
10584        #[doc = "Non-secure"]
10585        pub const _1: Self = Self::new(1);
10586    }
10587}
10588#[doc(hidden)]
10589#[derive(Copy, Clone, Eq, PartialEq)]
10590pub struct Rstsar_SPEC;
10591impl crate::sealed::RegSpec for Rstsar_SPEC {
10592    type DataType = u32;
10593}
10594
10595#[doc = "Reset Security Attribution Register"]
10596pub type Rstsar = crate::RegValueT<Rstsar_SPEC>;
10597
10598impl Rstsar {
10599    #[doc = "Non-secure Attribute bit 0"]
10600    #[inline(always)]
10601    pub fn nonsec0(
10602        self,
10603    ) -> crate::common::RegisterField<
10604        0,
10605        0x1,
10606        1,
10607        0,
10608        rstsar::Nonsec0,
10609        rstsar::Nonsec0,
10610        Rstsar_SPEC,
10611        crate::common::RW,
10612    > {
10613        crate::common::RegisterField::<
10614            0,
10615            0x1,
10616            1,
10617            0,
10618            rstsar::Nonsec0,
10619            rstsar::Nonsec0,
10620            Rstsar_SPEC,
10621            crate::common::RW,
10622        >::from_register(self, 0)
10623    }
10624
10625    #[doc = "Non-secure Attribute bit 1"]
10626    #[inline(always)]
10627    pub fn nonsec1(
10628        self,
10629    ) -> crate::common::RegisterField<
10630        1,
10631        0x1,
10632        1,
10633        0,
10634        rstsar::Nonsec1,
10635        rstsar::Nonsec1,
10636        Rstsar_SPEC,
10637        crate::common::RW,
10638    > {
10639        crate::common::RegisterField::<
10640            1,
10641            0x1,
10642            1,
10643            0,
10644            rstsar::Nonsec1,
10645            rstsar::Nonsec1,
10646            Rstsar_SPEC,
10647            crate::common::RW,
10648        >::from_register(self, 0)
10649    }
10650
10651    #[doc = "Non-secure Attribute bit 2"]
10652    #[inline(always)]
10653    pub fn nonsec2(
10654        self,
10655    ) -> crate::common::RegisterField<
10656        2,
10657        0x1,
10658        1,
10659        0,
10660        rstsar::Nonsec2,
10661        rstsar::Nonsec2,
10662        Rstsar_SPEC,
10663        crate::common::RW,
10664    > {
10665        crate::common::RegisterField::<
10666            2,
10667            0x1,
10668            1,
10669            0,
10670            rstsar::Nonsec2,
10671            rstsar::Nonsec2,
10672            Rstsar_SPEC,
10673            crate::common::RW,
10674        >::from_register(self, 0)
10675    }
10676
10677    #[doc = "Non-secure Attribute bit 3"]
10678    #[inline(always)]
10679    pub fn nonsec3(
10680        self,
10681    ) -> crate::common::RegisterField<
10682        3,
10683        0x1,
10684        1,
10685        0,
10686        rstsar::Nonsec3,
10687        rstsar::Nonsec3,
10688        Rstsar_SPEC,
10689        crate::common::RW,
10690    > {
10691        crate::common::RegisterField::<
10692            3,
10693            0x1,
10694            1,
10695            0,
10696            rstsar::Nonsec3,
10697            rstsar::Nonsec3,
10698            Rstsar_SPEC,
10699            crate::common::RW,
10700        >::from_register(self, 0)
10701    }
10702
10703    #[doc = "These bits are read as 0000000000000000000000000000. The write value should be 0000000000000000000000000000."]
10704    #[inline(always)]
10705    pub fn reserved(
10706        self,
10707    ) -> crate::common::RegisterField<4, 0xfffffff, 1, 0, u32, u32, Rstsar_SPEC, crate::common::RW>
10708    {
10709        crate::common::RegisterField::<4,0xfffffff,1,0,u32,u32,Rstsar_SPEC,crate::common::RW>::from_register(self,0)
10710    }
10711}
10712impl ::core::default::Default for Rstsar {
10713    #[inline(always)]
10714    fn default() -> Rstsar {
10715        <crate::RegValueT<Rstsar_SPEC> as RegisterValue<_>>::new(0)
10716    }
10717}
10718pub mod rstsar {
10719
10720    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10721    pub struct Nonsec0_SPEC;
10722    pub type Nonsec0 = crate::EnumBitfieldStruct<u8, Nonsec0_SPEC>;
10723    impl Nonsec0 {
10724        #[doc = "Secure"]
10725        pub const _0: Self = Self::new(0);
10726
10727        #[doc = "Non-secure"]
10728        pub const _1: Self = Self::new(1);
10729    }
10730    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10731    pub struct Nonsec1_SPEC;
10732    pub type Nonsec1 = crate::EnumBitfieldStruct<u8, Nonsec1_SPEC>;
10733    impl Nonsec1 {
10734        #[doc = "Secure"]
10735        pub const _0: Self = Self::new(0);
10736
10737        #[doc = "Non-secure"]
10738        pub const _1: Self = Self::new(1);
10739    }
10740    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10741    pub struct Nonsec2_SPEC;
10742    pub type Nonsec2 = crate::EnumBitfieldStruct<u8, Nonsec2_SPEC>;
10743    impl Nonsec2 {
10744        #[doc = "Secure"]
10745        pub const _0: Self = Self::new(0);
10746
10747        #[doc = "Non-secure"]
10748        pub const _1: Self = Self::new(1);
10749    }
10750    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10751    pub struct Nonsec3_SPEC;
10752    pub type Nonsec3 = crate::EnumBitfieldStruct<u8, Nonsec3_SPEC>;
10753    impl Nonsec3 {
10754        #[doc = "Secure"]
10755        pub const _0: Self = Self::new(0);
10756
10757        #[doc = "Non-secure"]
10758        pub const _1: Self = Self::new(1);
10759    }
10760}
10761#[doc(hidden)]
10762#[derive(Copy, Clone, Eq, PartialEq)]
10763pub struct Lpmsar_SPEC;
10764impl crate::sealed::RegSpec for Lpmsar_SPEC {
10765    type DataType = u32;
10766}
10767
10768#[doc = "Low Power Mode Security Attribution Register"]
10769pub type Lpmsar = crate::RegValueT<Lpmsar_SPEC>;
10770
10771impl Lpmsar {
10772    #[doc = "Non-secure Attribute bit 00"]
10773    #[inline(always)]
10774    pub fn nonsec0(
10775        self,
10776    ) -> crate::common::RegisterField<
10777        0,
10778        0x1,
10779        1,
10780        0,
10781        lpmsar::Nonsec0,
10782        lpmsar::Nonsec0,
10783        Lpmsar_SPEC,
10784        crate::common::RW,
10785    > {
10786        crate::common::RegisterField::<
10787            0,
10788            0x1,
10789            1,
10790            0,
10791            lpmsar::Nonsec0,
10792            lpmsar::Nonsec0,
10793            Lpmsar_SPEC,
10794            crate::common::RW,
10795        >::from_register(self, 0)
10796    }
10797
10798    #[doc = "Non-secure Attribute bit 01"]
10799    #[inline(always)]
10800    pub fn nonsec1(
10801        self,
10802    ) -> crate::common::RegisterField<
10803        1,
10804        0x1,
10805        1,
10806        0,
10807        lpmsar::Nonsec1,
10808        lpmsar::Nonsec1,
10809        Lpmsar_SPEC,
10810        crate::common::RW,
10811    > {
10812        crate::common::RegisterField::<
10813            1,
10814            0x1,
10815            1,
10816            0,
10817            lpmsar::Nonsec1,
10818            lpmsar::Nonsec1,
10819            Lpmsar_SPEC,
10820            crate::common::RW,
10821        >::from_register(self, 0)
10822    }
10823
10824    #[doc = "Non-secure Attribute bit 02"]
10825    #[inline(always)]
10826    pub fn nonsec2(
10827        self,
10828    ) -> crate::common::RegisterField<
10829        2,
10830        0x1,
10831        1,
10832        0,
10833        lpmsar::Nonsec2,
10834        lpmsar::Nonsec2,
10835        Lpmsar_SPEC,
10836        crate::common::RW,
10837    > {
10838        crate::common::RegisterField::<
10839            2,
10840            0x1,
10841            1,
10842            0,
10843            lpmsar::Nonsec2,
10844            lpmsar::Nonsec2,
10845            Lpmsar_SPEC,
10846            crate::common::RW,
10847        >::from_register(self, 0)
10848    }
10849
10850    #[doc = "Non-secure Attribute bit 03"]
10851    #[inline(always)]
10852    pub fn nonsec3(
10853        self,
10854    ) -> crate::common::RegisterField<
10855        3,
10856        0x1,
10857        1,
10858        0,
10859        lpmsar::Nonsec3,
10860        lpmsar::Nonsec3,
10861        Lpmsar_SPEC,
10862        crate::common::RW,
10863    > {
10864        crate::common::RegisterField::<
10865            3,
10866            0x1,
10867            1,
10868            0,
10869            lpmsar::Nonsec3,
10870            lpmsar::Nonsec3,
10871            Lpmsar_SPEC,
10872            crate::common::RW,
10873        >::from_register(self, 0)
10874    }
10875
10876    #[doc = "Non-secure Attribute bit 08"]
10877    #[inline(always)]
10878    pub fn nonsec8(
10879        self,
10880    ) -> crate::common::RegisterField<
10881        8,
10882        0x1,
10883        1,
10884        0,
10885        lpmsar::Nonsec8,
10886        lpmsar::Nonsec8,
10887        Lpmsar_SPEC,
10888        crate::common::RW,
10889    > {
10890        crate::common::RegisterField::<
10891            8,
10892            0x1,
10893            1,
10894            0,
10895            lpmsar::Nonsec8,
10896            lpmsar::Nonsec8,
10897            Lpmsar_SPEC,
10898            crate::common::RW,
10899        >::from_register(self, 0)
10900    }
10901
10902    #[doc = "Non-secure Attribute bit 16"]
10903    #[inline(always)]
10904    pub fn nonsec16(
10905        self,
10906    ) -> crate::common::RegisterField<
10907        16,
10908        0x1,
10909        1,
10910        0,
10911        lpmsar::Nonsec16,
10912        lpmsar::Nonsec16,
10913        Lpmsar_SPEC,
10914        crate::common::RW,
10915    > {
10916        crate::common::RegisterField::<
10917            16,
10918            0x1,
10919            1,
10920            0,
10921            lpmsar::Nonsec16,
10922            lpmsar::Nonsec16,
10923            Lpmsar_SPEC,
10924            crate::common::RW,
10925        >::from_register(self, 0)
10926    }
10927
10928    #[doc = "Non-secure Attribute bit 17"]
10929    #[inline(always)]
10930    pub fn nonsec17(
10931        self,
10932    ) -> crate::common::RegisterField<
10933        17,
10934        0x1,
10935        1,
10936        0,
10937        lpmsar::Nonsec17,
10938        lpmsar::Nonsec17,
10939        Lpmsar_SPEC,
10940        crate::common::RW,
10941    > {
10942        crate::common::RegisterField::<
10943            17,
10944            0x1,
10945            1,
10946            0,
10947            lpmsar::Nonsec17,
10948            lpmsar::Nonsec17,
10949            Lpmsar_SPEC,
10950            crate::common::RW,
10951        >::from_register(self, 0)
10952    }
10953
10954    #[doc = "Non-secure Attribute bit 18"]
10955    #[inline(always)]
10956    pub fn nonsec18(
10957        self,
10958    ) -> crate::common::RegisterField<
10959        18,
10960        0x1,
10961        1,
10962        0,
10963        lpmsar::Nonsec18,
10964        lpmsar::Nonsec18,
10965        Lpmsar_SPEC,
10966        crate::common::RW,
10967    > {
10968        crate::common::RegisterField::<
10969            18,
10970            0x1,
10971            1,
10972            0,
10973            lpmsar::Nonsec18,
10974            lpmsar::Nonsec18,
10975            Lpmsar_SPEC,
10976            crate::common::RW,
10977        >::from_register(self, 0)
10978    }
10979
10980    #[doc = "Non-secure Attribute bit 19"]
10981    #[inline(always)]
10982    pub fn nonsec19(
10983        self,
10984    ) -> crate::common::RegisterField<
10985        19,
10986        0x1,
10987        1,
10988        0,
10989        lpmsar::Nonsec19,
10990        lpmsar::Nonsec19,
10991        Lpmsar_SPEC,
10992        crate::common::RW,
10993    > {
10994        crate::common::RegisterField::<
10995            19,
10996            0x1,
10997            1,
10998            0,
10999            lpmsar::Nonsec19,
11000            lpmsar::Nonsec19,
11001            Lpmsar_SPEC,
11002            crate::common::RW,
11003        >::from_register(self, 0)
11004    }
11005
11006    #[doc = "Non-secure Attribute bit 21"]
11007    #[inline(always)]
11008    pub fn nonsec21(
11009        self,
11010    ) -> crate::common::RegisterField<
11011        21,
11012        0x1,
11013        1,
11014        0,
11015        lpmsar::Nonsec21,
11016        lpmsar::Nonsec21,
11017        Lpmsar_SPEC,
11018        crate::common::RW,
11019    > {
11020        crate::common::RegisterField::<
11021            21,
11022            0x1,
11023            1,
11024            0,
11025            lpmsar::Nonsec21,
11026            lpmsar::Nonsec21,
11027            Lpmsar_SPEC,
11028            crate::common::RW,
11029        >::from_register(self, 0)
11030    }
11031
11032    #[doc = "These bits are read as 0000000000. The write value should be 0000000000."]
11033    #[inline(always)]
11034    pub fn reserved(
11035        self,
11036    ) -> crate::common::RegisterField<22, 0x3ff, 1, 0, u16, u16, Lpmsar_SPEC, crate::common::RW>
11037    {
11038        crate::common::RegisterField::<22,0x3ff,1,0,u16,u16,Lpmsar_SPEC,crate::common::RW>::from_register(self,0)
11039    }
11040}
11041impl ::core::default::Default for Lpmsar {
11042    #[inline(always)]
11043    fn default() -> Lpmsar {
11044        <crate::RegValueT<Lpmsar_SPEC> as RegisterValue<_>>::new(0)
11045    }
11046}
11047pub mod lpmsar {
11048
11049    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11050    pub struct Nonsec0_SPEC;
11051    pub type Nonsec0 = crate::EnumBitfieldStruct<u8, Nonsec0_SPEC>;
11052    impl Nonsec0 {
11053        #[doc = "Secure"]
11054        pub const _0: Self = Self::new(0);
11055
11056        #[doc = "Non-secure"]
11057        pub const _1: Self = Self::new(1);
11058    }
11059    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11060    pub struct Nonsec1_SPEC;
11061    pub type Nonsec1 = crate::EnumBitfieldStruct<u8, Nonsec1_SPEC>;
11062    impl Nonsec1 {
11063        #[doc = "Secure"]
11064        pub const _0: Self = Self::new(0);
11065
11066        #[doc = "Non-secure"]
11067        pub const _1: Self = Self::new(1);
11068    }
11069    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11070    pub struct Nonsec2_SPEC;
11071    pub type Nonsec2 = crate::EnumBitfieldStruct<u8, Nonsec2_SPEC>;
11072    impl Nonsec2 {
11073        #[doc = "Secure"]
11074        pub const _0: Self = Self::new(0);
11075
11076        #[doc = "Non-secure"]
11077        pub const _1: Self = Self::new(1);
11078    }
11079    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11080    pub struct Nonsec3_SPEC;
11081    pub type Nonsec3 = crate::EnumBitfieldStruct<u8, Nonsec3_SPEC>;
11082    impl Nonsec3 {
11083        #[doc = "Secure"]
11084        pub const _0: Self = Self::new(0);
11085
11086        #[doc = "Non-secure"]
11087        pub const _1: Self = Self::new(1);
11088    }
11089    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11090    pub struct Nonsec8_SPEC;
11091    pub type Nonsec8 = crate::EnumBitfieldStruct<u8, Nonsec8_SPEC>;
11092    impl Nonsec8 {
11093        #[doc = "Secure"]
11094        pub const _0: Self = Self::new(0);
11095
11096        #[doc = "Non-secure"]
11097        pub const _1: Self = Self::new(1);
11098    }
11099    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11100    pub struct Nonsec16_SPEC;
11101    pub type Nonsec16 = crate::EnumBitfieldStruct<u8, Nonsec16_SPEC>;
11102    impl Nonsec16 {
11103        #[doc = "Secure"]
11104        pub const _0: Self = Self::new(0);
11105
11106        #[doc = "Non-secure"]
11107        pub const _1: Self = Self::new(1);
11108    }
11109    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11110    pub struct Nonsec17_SPEC;
11111    pub type Nonsec17 = crate::EnumBitfieldStruct<u8, Nonsec17_SPEC>;
11112    impl Nonsec17 {
11113        #[doc = "Secure"]
11114        pub const _0: Self = Self::new(0);
11115
11116        #[doc = "Non-secure"]
11117        pub const _1: Self = Self::new(1);
11118    }
11119    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11120    pub struct Nonsec18_SPEC;
11121    pub type Nonsec18 = crate::EnumBitfieldStruct<u8, Nonsec18_SPEC>;
11122    impl Nonsec18 {
11123        #[doc = "Secure"]
11124        pub const _0: Self = Self::new(0);
11125
11126        #[doc = "Non-secure"]
11127        pub const _1: Self = Self::new(1);
11128    }
11129    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11130    pub struct Nonsec19_SPEC;
11131    pub type Nonsec19 = crate::EnumBitfieldStruct<u8, Nonsec19_SPEC>;
11132    impl Nonsec19 {
11133        #[doc = "Secure"]
11134        pub const _0: Self = Self::new(0);
11135
11136        #[doc = "Non-secure"]
11137        pub const _1: Self = Self::new(1);
11138    }
11139    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11140    pub struct Nonsec21_SPEC;
11141    pub type Nonsec21 = crate::EnumBitfieldStruct<u8, Nonsec21_SPEC>;
11142    impl Nonsec21 {
11143        #[doc = "Secure"]
11144        pub const _0: Self = Self::new(0);
11145
11146        #[doc = "Non-secure"]
11147        pub const _1: Self = Self::new(1);
11148    }
11149}
11150#[doc(hidden)]
11151#[derive(Copy, Clone, Eq, PartialEq)]
11152pub struct Pvdsar_SPEC;
11153impl crate::sealed::RegSpec for Pvdsar_SPEC {
11154    type DataType = u32;
11155}
11156
11157#[doc = "Programable Voltage Detection Security Attribution Register"]
11158pub type Pvdsar = crate::RegValueT<Pvdsar_SPEC>;
11159
11160impl Pvdsar {
11161    #[doc = "Non-secure Attribute bit 0"]
11162    #[inline(always)]
11163    pub fn nonsec0(
11164        self,
11165    ) -> crate::common::RegisterField<
11166        0,
11167        0x1,
11168        1,
11169        0,
11170        pvdsar::Nonsec0,
11171        pvdsar::Nonsec0,
11172        Pvdsar_SPEC,
11173        crate::common::RW,
11174    > {
11175        crate::common::RegisterField::<
11176            0,
11177            0x1,
11178            1,
11179            0,
11180            pvdsar::Nonsec0,
11181            pvdsar::Nonsec0,
11182            Pvdsar_SPEC,
11183            crate::common::RW,
11184        >::from_register(self, 0)
11185    }
11186
11187    #[doc = "Non-secure Attribute bit 1"]
11188    #[inline(always)]
11189    pub fn nonsec1(
11190        self,
11191    ) -> crate::common::RegisterField<
11192        1,
11193        0x1,
11194        1,
11195        0,
11196        pvdsar::Nonsec1,
11197        pvdsar::Nonsec1,
11198        Pvdsar_SPEC,
11199        crate::common::RW,
11200    > {
11201        crate::common::RegisterField::<
11202            1,
11203            0x1,
11204            1,
11205            0,
11206            pvdsar::Nonsec1,
11207            pvdsar::Nonsec1,
11208            Pvdsar_SPEC,
11209            crate::common::RW,
11210        >::from_register(self, 0)
11211    }
11212
11213    #[doc = "These bits are read as 000000000000000000000000000000. The write value should be 000000000000000000000000000000."]
11214    #[inline(always)]
11215    pub fn reserved(
11216        self,
11217    ) -> crate::common::RegisterField<2, 0x3fffffff, 1, 0, u32, u32, Pvdsar_SPEC, crate::common::RW>
11218    {
11219        crate::common::RegisterField::<2,0x3fffffff,1,0,u32,u32,Pvdsar_SPEC,crate::common::RW>::from_register(self,0)
11220    }
11221}
11222impl ::core::default::Default for Pvdsar {
11223    #[inline(always)]
11224    fn default() -> Pvdsar {
11225        <crate::RegValueT<Pvdsar_SPEC> as RegisterValue<_>>::new(0)
11226    }
11227}
11228pub mod pvdsar {
11229
11230    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11231    pub struct Nonsec0_SPEC;
11232    pub type Nonsec0 = crate::EnumBitfieldStruct<u8, Nonsec0_SPEC>;
11233    impl Nonsec0 {
11234        #[doc = "Secure"]
11235        pub const _0: Self = Self::new(0);
11236
11237        #[doc = "Non-secure"]
11238        pub const _1: Self = Self::new(1);
11239    }
11240    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11241    pub struct Nonsec1_SPEC;
11242    pub type Nonsec1 = crate::EnumBitfieldStruct<u8, Nonsec1_SPEC>;
11243    impl Nonsec1 {
11244        #[doc = "Secure"]
11245        pub const _0: Self = Self::new(0);
11246
11247        #[doc = "Non-secure"]
11248        pub const _1: Self = Self::new(1);
11249    }
11250}
11251#[doc(hidden)]
11252#[derive(Copy, Clone, Eq, PartialEq)]
11253pub struct Bbfsar_SPEC;
11254impl crate::sealed::RegSpec for Bbfsar_SPEC {
11255    type DataType = u32;
11256}
11257
11258#[doc = "Battery Backup Function Security Attribute Register"]
11259pub type Bbfsar = crate::RegValueT<Bbfsar_SPEC>;
11260
11261impl Bbfsar {
11262    #[doc = "Non-secure Attribute bit 0"]
11263    #[inline(always)]
11264    pub fn nonsec0(
11265        self,
11266    ) -> crate::common::RegisterField<
11267        0,
11268        0x1,
11269        1,
11270        0,
11271        bbfsar::Nonsec0,
11272        bbfsar::Nonsec0,
11273        Bbfsar_SPEC,
11274        crate::common::RW,
11275    > {
11276        crate::common::RegisterField::<
11277            0,
11278            0x1,
11279            1,
11280            0,
11281            bbfsar::Nonsec0,
11282            bbfsar::Nonsec0,
11283            Bbfsar_SPEC,
11284            crate::common::RW,
11285        >::from_register(self, 0)
11286    }
11287
11288    #[doc = "Non-secure Attribute bit 1"]
11289    #[inline(always)]
11290    pub fn nonsec1(
11291        self,
11292    ) -> crate::common::RegisterField<
11293        1,
11294        0x1,
11295        1,
11296        0,
11297        bbfsar::Nonsec1,
11298        bbfsar::Nonsec1,
11299        Bbfsar_SPEC,
11300        crate::common::RW,
11301    > {
11302        crate::common::RegisterField::<
11303            1,
11304            0x1,
11305            1,
11306            0,
11307            bbfsar::Nonsec1,
11308            bbfsar::Nonsec1,
11309            Bbfsar_SPEC,
11310            crate::common::RW,
11311        >::from_register(self, 0)
11312    }
11313
11314    #[doc = "Non-secure Attribute bit 2"]
11315    #[inline(always)]
11316    pub fn nonsec2(
11317        self,
11318    ) -> crate::common::RegisterField<
11319        2,
11320        0x1,
11321        1,
11322        0,
11323        bbfsar::Nonsec2,
11324        bbfsar::Nonsec2,
11325        Bbfsar_SPEC,
11326        crate::common::RW,
11327    > {
11328        crate::common::RegisterField::<
11329            2,
11330            0x1,
11331            1,
11332            0,
11333            bbfsar::Nonsec2,
11334            bbfsar::Nonsec2,
11335            Bbfsar_SPEC,
11336            crate::common::RW,
11337        >::from_register(self, 0)
11338    }
11339
11340    #[doc = "Non-secure Attribute bit 3"]
11341    #[inline(always)]
11342    pub fn nonsec3(
11343        self,
11344    ) -> crate::common::RegisterField<
11345        3,
11346        0x1,
11347        1,
11348        0,
11349        bbfsar::Nonsec3,
11350        bbfsar::Nonsec3,
11351        Bbfsar_SPEC,
11352        crate::common::RW,
11353    > {
11354        crate::common::RegisterField::<
11355            3,
11356            0x1,
11357            1,
11358            0,
11359            bbfsar::Nonsec3,
11360            bbfsar::Nonsec3,
11361            Bbfsar_SPEC,
11362            crate::common::RW,
11363        >::from_register(self, 0)
11364    }
11365
11366    #[doc = "Non-secure Attribute bit 4"]
11367    #[inline(always)]
11368    pub fn nonsec4(
11369        self,
11370    ) -> crate::common::RegisterField<
11371        4,
11372        0x1,
11373        1,
11374        0,
11375        bbfsar::Nonsec4,
11376        bbfsar::Nonsec4,
11377        Bbfsar_SPEC,
11378        crate::common::RW,
11379    > {
11380        crate::common::RegisterField::<
11381            4,
11382            0x1,
11383            1,
11384            0,
11385            bbfsar::Nonsec4,
11386            bbfsar::Nonsec4,
11387            Bbfsar_SPEC,
11388            crate::common::RW,
11389        >::from_register(self, 0)
11390    }
11391
11392    #[doc = "These bits are read as 000000000000000000000000000. The write value should be 000000000000000000000000000."]
11393    #[inline(always)]
11394    pub fn reserved(
11395        self,
11396    ) -> crate::common::RegisterField<5, 0x7ffffff, 1, 0, u32, u32, Bbfsar_SPEC, crate::common::RW>
11397    {
11398        crate::common::RegisterField::<5,0x7ffffff,1,0,u32,u32,Bbfsar_SPEC,crate::common::RW>::from_register(self,0)
11399    }
11400}
11401impl ::core::default::Default for Bbfsar {
11402    #[inline(always)]
11403    fn default() -> Bbfsar {
11404        <crate::RegValueT<Bbfsar_SPEC> as RegisterValue<_>>::new(0)
11405    }
11406}
11407pub mod bbfsar {
11408
11409    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11410    pub struct Nonsec0_SPEC;
11411    pub type Nonsec0 = crate::EnumBitfieldStruct<u8, Nonsec0_SPEC>;
11412    impl Nonsec0 {
11413        #[doc = "Secure"]
11414        pub const _0: Self = Self::new(0);
11415
11416        #[doc = "Non-secure"]
11417        pub const _1: Self = Self::new(1);
11418    }
11419    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11420    pub struct Nonsec1_SPEC;
11421    pub type Nonsec1 = crate::EnumBitfieldStruct<u8, Nonsec1_SPEC>;
11422    impl Nonsec1 {
11423        #[doc = "Secure"]
11424        pub const _0: Self = Self::new(0);
11425
11426        #[doc = "Non-secure"]
11427        pub const _1: Self = Self::new(1);
11428    }
11429    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11430    pub struct Nonsec2_SPEC;
11431    pub type Nonsec2 = crate::EnumBitfieldStruct<u8, Nonsec2_SPEC>;
11432    impl Nonsec2 {
11433        #[doc = "Secure"]
11434        pub const _0: Self = Self::new(0);
11435
11436        #[doc = "Non-secure"]
11437        pub const _1: Self = Self::new(1);
11438    }
11439    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11440    pub struct Nonsec3_SPEC;
11441    pub type Nonsec3 = crate::EnumBitfieldStruct<u8, Nonsec3_SPEC>;
11442    impl Nonsec3 {
11443        #[doc = "Secure"]
11444        pub const _0: Self = Self::new(0);
11445
11446        #[doc = "Non-secure"]
11447        pub const _1: Self = Self::new(1);
11448    }
11449    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11450    pub struct Nonsec4_SPEC;
11451    pub type Nonsec4 = crate::EnumBitfieldStruct<u8, Nonsec4_SPEC>;
11452    impl Nonsec4 {
11453        #[doc = "Secure"]
11454        pub const _0: Self = Self::new(0);
11455
11456        #[doc = "Non-secure"]
11457        pub const _1: Self = Self::new(1);
11458    }
11459}
11460#[doc(hidden)]
11461#[derive(Copy, Clone, Eq, PartialEq)]
11462pub struct Pgcsar_SPEC;
11463impl crate::sealed::RegSpec for Pgcsar_SPEC {
11464    type DataType = u32;
11465}
11466
11467#[doc = "Power Gating Control Security Attribution Register"]
11468pub type Pgcsar = crate::RegValueT<Pgcsar_SPEC>;
11469
11470impl Pgcsar {
11471    #[doc = "Non-secure Attribute bit 01"]
11472    #[inline(always)]
11473    pub fn nonsec1(
11474        self,
11475    ) -> crate::common::RegisterField<
11476        1,
11477        0x1,
11478        1,
11479        0,
11480        pgcsar::Nonsec1,
11481        pgcsar::Nonsec1,
11482        Pgcsar_SPEC,
11483        crate::common::RW,
11484    > {
11485        crate::common::RegisterField::<
11486            1,
11487            0x1,
11488            1,
11489            0,
11490            pgcsar::Nonsec1,
11491            pgcsar::Nonsec1,
11492            Pgcsar_SPEC,
11493            crate::common::RW,
11494        >::from_register(self, 0)
11495    }
11496
11497    #[doc = "Non-secure Attribute bit 02"]
11498    #[inline(always)]
11499    pub fn nonsec2(
11500        self,
11501    ) -> crate::common::RegisterField<
11502        2,
11503        0x1,
11504        1,
11505        0,
11506        pgcsar::Nonsec2,
11507        pgcsar::Nonsec2,
11508        Pgcsar_SPEC,
11509        crate::common::RW,
11510    > {
11511        crate::common::RegisterField::<
11512            2,
11513            0x1,
11514            1,
11515            0,
11516            pgcsar::Nonsec2,
11517            pgcsar::Nonsec2,
11518            Pgcsar_SPEC,
11519            crate::common::RW,
11520        >::from_register(self, 0)
11521    }
11522
11523    #[doc = "These bits are read as 0000000000000000. The write value should be 0000000000000000."]
11524    #[inline(always)]
11525    pub fn reserved(
11526        self,
11527    ) -> crate::common::RegisterField<16, 0xffff, 1, 0, u16, u16, Pgcsar_SPEC, crate::common::RW>
11528    {
11529        crate::common::RegisterField::<16,0xffff,1,0,u16,u16,Pgcsar_SPEC,crate::common::RW>::from_register(self,0)
11530    }
11531}
11532impl ::core::default::Default for Pgcsar {
11533    #[inline(always)]
11534    fn default() -> Pgcsar {
11535        <crate::RegValueT<Pgcsar_SPEC> as RegisterValue<_>>::new(0)
11536    }
11537}
11538pub mod pgcsar {
11539
11540    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11541    pub struct Nonsec1_SPEC;
11542    pub type Nonsec1 = crate::EnumBitfieldStruct<u8, Nonsec1_SPEC>;
11543    impl Nonsec1 {
11544        #[doc = "Secure"]
11545        pub const _0: Self = Self::new(0);
11546
11547        #[doc = "Non-secure"]
11548        pub const _1: Self = Self::new(1);
11549    }
11550    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11551    pub struct Nonsec2_SPEC;
11552    pub type Nonsec2 = crate::EnumBitfieldStruct<u8, Nonsec2_SPEC>;
11553    impl Nonsec2 {
11554        #[doc = "Secure"]
11555        pub const _0: Self = Self::new(0);
11556
11557        #[doc = "Non-secure"]
11558        pub const _1: Self = Self::new(1);
11559    }
11560}
11561#[doc(hidden)]
11562#[derive(Copy, Clone, Eq, PartialEq)]
11563pub struct Dpfsar_SPEC;
11564impl crate::sealed::RegSpec for Dpfsar_SPEC {
11565    type DataType = u32;
11566}
11567
11568#[doc = "Deep Standby Interrupt Factor Security Attribution Register"]
11569pub type Dpfsar = crate::RegValueT<Dpfsar_SPEC>;
11570
11571impl Dpfsar {
11572    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 16"]
11573    #[inline(always)]
11574    pub fn dpfsa16(
11575        self,
11576    ) -> crate::common::RegisterField<
11577        16,
11578        0x1,
11579        1,
11580        0,
11581        dpfsar::Dpfsa16,
11582        dpfsar::Dpfsa16,
11583        Dpfsar_SPEC,
11584        crate::common::RW,
11585    > {
11586        crate::common::RegisterField::<
11587            16,
11588            0x1,
11589            1,
11590            0,
11591            dpfsar::Dpfsa16,
11592            dpfsar::Dpfsa16,
11593            Dpfsar_SPEC,
11594            crate::common::RW,
11595        >::from_register(self, 0)
11596    }
11597
11598    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 17"]
11599    #[inline(always)]
11600    pub fn dpfsa17(
11601        self,
11602    ) -> crate::common::RegisterField<
11603        17,
11604        0x1,
11605        1,
11606        0,
11607        dpfsar::Dpfsa17,
11608        dpfsar::Dpfsa17,
11609        Dpfsar_SPEC,
11610        crate::common::RW,
11611    > {
11612        crate::common::RegisterField::<
11613            17,
11614            0x1,
11615            1,
11616            0,
11617            dpfsar::Dpfsa17,
11618            dpfsar::Dpfsa17,
11619            Dpfsar_SPEC,
11620            crate::common::RW,
11621        >::from_register(self, 0)
11622    }
11623
11624    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 18"]
11625    #[inline(always)]
11626    pub fn dpfsa18(
11627        self,
11628    ) -> crate::common::RegisterField<
11629        18,
11630        0x1,
11631        1,
11632        0,
11633        dpfsar::Dpfsa18,
11634        dpfsar::Dpfsa18,
11635        Dpfsar_SPEC,
11636        crate::common::RW,
11637    > {
11638        crate::common::RegisterField::<
11639            18,
11640            0x1,
11641            1,
11642            0,
11643            dpfsar::Dpfsa18,
11644            dpfsar::Dpfsa18,
11645            Dpfsar_SPEC,
11646            crate::common::RW,
11647        >::from_register(self, 0)
11648    }
11649
11650    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 19"]
11651    #[inline(always)]
11652    pub fn dpfsa19(
11653        self,
11654    ) -> crate::common::RegisterField<
11655        19,
11656        0x1,
11657        1,
11658        0,
11659        dpfsar::Dpfsa19,
11660        dpfsar::Dpfsa19,
11661        Dpfsar_SPEC,
11662        crate::common::RW,
11663    > {
11664        crate::common::RegisterField::<
11665            19,
11666            0x1,
11667            1,
11668            0,
11669            dpfsar::Dpfsa19,
11670            dpfsar::Dpfsa19,
11671            Dpfsar_SPEC,
11672            crate::common::RW,
11673        >::from_register(self, 0)
11674    }
11675
11676    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 20"]
11677    #[inline(always)]
11678    pub fn dpfsa20(
11679        self,
11680    ) -> crate::common::RegisterField<
11681        20,
11682        0x1,
11683        1,
11684        0,
11685        dpfsar::Dpfsa20,
11686        dpfsar::Dpfsa20,
11687        Dpfsar_SPEC,
11688        crate::common::RW,
11689    > {
11690        crate::common::RegisterField::<
11691            20,
11692            0x1,
11693            1,
11694            0,
11695            dpfsar::Dpfsa20,
11696            dpfsar::Dpfsa20,
11697            Dpfsar_SPEC,
11698            crate::common::RW,
11699        >::from_register(self, 0)
11700    }
11701
11702    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 24"]
11703    #[inline(always)]
11704    pub fn dpfsa24(
11705        self,
11706    ) -> crate::common::RegisterField<
11707        24,
11708        0x1,
11709        1,
11710        0,
11711        dpfsar::Dpfsa24,
11712        dpfsar::Dpfsa24,
11713        Dpfsar_SPEC,
11714        crate::common::RW,
11715    > {
11716        crate::common::RegisterField::<
11717            24,
11718            0x1,
11719            1,
11720            0,
11721            dpfsar::Dpfsa24,
11722            dpfsar::Dpfsa24,
11723            Dpfsar_SPEC,
11724            crate::common::RW,
11725        >::from_register(self, 0)
11726    }
11727
11728    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 25"]
11729    #[inline(always)]
11730    pub fn dpfsa25(
11731        self,
11732    ) -> crate::common::RegisterField<
11733        25,
11734        0x1,
11735        1,
11736        0,
11737        dpfsar::Dpfsa25,
11738        dpfsar::Dpfsa25,
11739        Dpfsar_SPEC,
11740        crate::common::RW,
11741    > {
11742        crate::common::RegisterField::<
11743            25,
11744            0x1,
11745            1,
11746            0,
11747            dpfsar::Dpfsa25,
11748            dpfsar::Dpfsa25,
11749            Dpfsar_SPEC,
11750            crate::common::RW,
11751        >::from_register(self, 0)
11752    }
11753
11754    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 26"]
11755    #[inline(always)]
11756    pub fn dpfsa26(
11757        self,
11758    ) -> crate::common::RegisterField<
11759        26,
11760        0x1,
11761        1,
11762        0,
11763        dpfsar::Dpfsa26,
11764        dpfsar::Dpfsa26,
11765        Dpfsar_SPEC,
11766        crate::common::RW,
11767    > {
11768        crate::common::RegisterField::<
11769            26,
11770            0x1,
11771            1,
11772            0,
11773            dpfsar::Dpfsa26,
11774            dpfsar::Dpfsa26,
11775            Dpfsar_SPEC,
11776            crate::common::RW,
11777        >::from_register(self, 0)
11778    }
11779
11780    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 27"]
11781    #[inline(always)]
11782    pub fn dpfsa27(
11783        self,
11784    ) -> crate::common::RegisterField<
11785        27,
11786        0x1,
11787        1,
11788        0,
11789        dpfsar::Dpfsa27,
11790        dpfsar::Dpfsa27,
11791        Dpfsar_SPEC,
11792        crate::common::RW,
11793    > {
11794        crate::common::RegisterField::<
11795            27,
11796            0x1,
11797            1,
11798            0,
11799            dpfsar::Dpfsa27,
11800            dpfsar::Dpfsa27,
11801            Dpfsar_SPEC,
11802            crate::common::RW,
11803        >::from_register(self, 0)
11804    }
11805
11806    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 29"]
11807    #[inline(always)]
11808    pub fn dpfsa29(
11809        self,
11810    ) -> crate::common::RegisterField<
11811        29,
11812        0x1,
11813        1,
11814        0,
11815        dpfsar::Dpfsa29,
11816        dpfsar::Dpfsa29,
11817        Dpfsar_SPEC,
11818        crate::common::RW,
11819    > {
11820        crate::common::RegisterField::<
11821            29,
11822            0x1,
11823            1,
11824            0,
11825            dpfsar::Dpfsa29,
11826            dpfsar::Dpfsa29,
11827            Dpfsar_SPEC,
11828            crate::common::RW,
11829        >::from_register(self, 0)
11830    }
11831
11832    #[doc = "This bit is read as 0. The write value should be 0."]
11833    #[inline(always)]
11834    pub fn reserved(
11835        self,
11836    ) -> crate::common::RegisterFieldBool<30, 1, 0, Dpfsar_SPEC, crate::common::RW> {
11837        crate::common::RegisterFieldBool::<30, 1, 0, Dpfsar_SPEC, crate::common::RW>::from_register(
11838            self, 0,
11839        )
11840    }
11841
11842    #[doc = "Deep Standby Interrupt Factor Security Attribute bit 31"]
11843    #[inline(always)]
11844    pub fn dpfsa31(
11845        self,
11846    ) -> crate::common::RegisterField<
11847        31,
11848        0x1,
11849        1,
11850        0,
11851        dpfsar::Dpfsa31,
11852        dpfsar::Dpfsa31,
11853        Dpfsar_SPEC,
11854        crate::common::RW,
11855    > {
11856        crate::common::RegisterField::<
11857            31,
11858            0x1,
11859            1,
11860            0,
11861            dpfsar::Dpfsa31,
11862            dpfsar::Dpfsa31,
11863            Dpfsar_SPEC,
11864            crate::common::RW,
11865        >::from_register(self, 0)
11866    }
11867}
11868impl ::core::default::Default for Dpfsar {
11869    #[inline(always)]
11870    fn default() -> Dpfsar {
11871        <crate::RegValueT<Dpfsar_SPEC> as RegisterValue<_>>::new(0)
11872    }
11873}
11874pub mod dpfsar {
11875
11876    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11877    pub struct Dpfsa16_SPEC;
11878    pub type Dpfsa16 = crate::EnumBitfieldStruct<u8, Dpfsa16_SPEC>;
11879    impl Dpfsa16 {
11880        #[doc = "Secure"]
11881        pub const _0: Self = Self::new(0);
11882
11883        #[doc = "Non-secure"]
11884        pub const _1: Self = Self::new(1);
11885    }
11886    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11887    pub struct Dpfsa17_SPEC;
11888    pub type Dpfsa17 = crate::EnumBitfieldStruct<u8, Dpfsa17_SPEC>;
11889    impl Dpfsa17 {
11890        #[doc = "Secure"]
11891        pub const _0: Self = Self::new(0);
11892
11893        #[doc = "Non-secure"]
11894        pub const _1: Self = Self::new(1);
11895    }
11896    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11897    pub struct Dpfsa18_SPEC;
11898    pub type Dpfsa18 = crate::EnumBitfieldStruct<u8, Dpfsa18_SPEC>;
11899    impl Dpfsa18 {
11900        #[doc = "Secure"]
11901        pub const _0: Self = Self::new(0);
11902
11903        #[doc = "Non-secure"]
11904        pub const _1: Self = Self::new(1);
11905    }
11906    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11907    pub struct Dpfsa19_SPEC;
11908    pub type Dpfsa19 = crate::EnumBitfieldStruct<u8, Dpfsa19_SPEC>;
11909    impl Dpfsa19 {
11910        #[doc = "Secure"]
11911        pub const _0: Self = Self::new(0);
11912
11913        #[doc = "Non-secure"]
11914        pub const _1: Self = Self::new(1);
11915    }
11916    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11917    pub struct Dpfsa20_SPEC;
11918    pub type Dpfsa20 = crate::EnumBitfieldStruct<u8, Dpfsa20_SPEC>;
11919    impl Dpfsa20 {
11920        #[doc = "Secure"]
11921        pub const _0: Self = Self::new(0);
11922
11923        #[doc = "Non-secure"]
11924        pub const _1: Self = Self::new(1);
11925    }
11926    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11927    pub struct Dpfsa24_SPEC;
11928    pub type Dpfsa24 = crate::EnumBitfieldStruct<u8, Dpfsa24_SPEC>;
11929    impl Dpfsa24 {
11930        #[doc = "Secure"]
11931        pub const _0: Self = Self::new(0);
11932
11933        #[doc = "Non-secure"]
11934        pub const _1: Self = Self::new(1);
11935    }
11936    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11937    pub struct Dpfsa25_SPEC;
11938    pub type Dpfsa25 = crate::EnumBitfieldStruct<u8, Dpfsa25_SPEC>;
11939    impl Dpfsa25 {
11940        #[doc = "Secure"]
11941        pub const _0: Self = Self::new(0);
11942
11943        #[doc = "Non-secure"]
11944        pub const _1: Self = Self::new(1);
11945    }
11946    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11947    pub struct Dpfsa26_SPEC;
11948    pub type Dpfsa26 = crate::EnumBitfieldStruct<u8, Dpfsa26_SPEC>;
11949    impl Dpfsa26 {
11950        #[doc = "Secure"]
11951        pub const _0: Self = Self::new(0);
11952
11953        #[doc = "Non-secure"]
11954        pub const _1: Self = Self::new(1);
11955    }
11956    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11957    pub struct Dpfsa27_SPEC;
11958    pub type Dpfsa27 = crate::EnumBitfieldStruct<u8, Dpfsa27_SPEC>;
11959    impl Dpfsa27 {
11960        #[doc = "Secure"]
11961        pub const _0: Self = Self::new(0);
11962
11963        #[doc = "Non-secure"]
11964        pub const _1: Self = Self::new(1);
11965    }
11966    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11967    pub struct Dpfsa29_SPEC;
11968    pub type Dpfsa29 = crate::EnumBitfieldStruct<u8, Dpfsa29_SPEC>;
11969    impl Dpfsa29 {
11970        #[doc = "Secure"]
11971        pub const _0: Self = Self::new(0);
11972
11973        #[doc = "Non-secure"]
11974        pub const _1: Self = Self::new(1);
11975    }
11976    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11977    pub struct Dpfsa31_SPEC;
11978    pub type Dpfsa31 = crate::EnumBitfieldStruct<u8, Dpfsa31_SPEC>;
11979    impl Dpfsa31 {
11980        #[doc = "Secure"]
11981        pub const _0: Self = Self::new(0);
11982
11983        #[doc = "Non-secure"]
11984        pub const _1: Self = Self::new(1);
11985    }
11986}
11987#[doc(hidden)]
11988#[derive(Copy, Clone, Eq, PartialEq)]
11989pub struct Rscsar_SPEC;
11990impl crate::sealed::RegSpec for Rscsar_SPEC {
11991    type DataType = u32;
11992}
11993
11994#[doc = "RAM Standby Control Security Attribution Register"]
11995pub type Rscsar = crate::RegValueT<Rscsar_SPEC>;
11996
11997impl Rscsar {
11998    #[doc = "RAM Standby Control Security Attribute bit 00"]
11999    #[inline(always)]
12000    pub fn rscsa0(
12001        self,
12002    ) -> crate::common::RegisterField<
12003        0,
12004        0x1,
12005        1,
12006        0,
12007        rscsar::Rscsa0,
12008        rscsar::Rscsa0,
12009        Rscsar_SPEC,
12010        crate::common::RW,
12011    > {
12012        crate::common::RegisterField::<
12013            0,
12014            0x1,
12015            1,
12016            0,
12017            rscsar::Rscsa0,
12018            rscsar::Rscsa0,
12019            Rscsar_SPEC,
12020            crate::common::RW,
12021        >::from_register(self, 0)
12022    }
12023
12024    #[doc = "RAM Standby Control Security Attribute bit 01"]
12025    #[inline(always)]
12026    pub fn rscsa1(
12027        self,
12028    ) -> crate::common::RegisterField<
12029        1,
12030        0x1,
12031        1,
12032        0,
12033        rscsar::Rscsa1,
12034        rscsar::Rscsa1,
12035        Rscsar_SPEC,
12036        crate::common::RW,
12037    > {
12038        crate::common::RegisterField::<
12039            1,
12040            0x1,
12041            1,
12042            0,
12043            rscsar::Rscsa1,
12044            rscsar::Rscsa1,
12045            Rscsar_SPEC,
12046            crate::common::RW,
12047        >::from_register(self, 0)
12048    }
12049
12050    #[doc = "RAM Standby Control Security Attribute bit 02"]
12051    #[inline(always)]
12052    pub fn rscsa2(
12053        self,
12054    ) -> crate::common::RegisterField<
12055        2,
12056        0x1,
12057        1,
12058        0,
12059        rscsar::Rscsa2,
12060        rscsar::Rscsa2,
12061        Rscsar_SPEC,
12062        crate::common::RW,
12063    > {
12064        crate::common::RegisterField::<
12065            2,
12066            0x1,
12067            1,
12068            0,
12069            rscsar::Rscsa2,
12070            rscsar::Rscsa2,
12071            Rscsar_SPEC,
12072            crate::common::RW,
12073        >::from_register(self, 0)
12074    }
12075
12076    #[doc = "RAM Standby Control Security Attribute bit 03"]
12077    #[inline(always)]
12078    pub fn rscsa3(
12079        self,
12080    ) -> crate::common::RegisterField<
12081        3,
12082        0x1,
12083        1,
12084        0,
12085        rscsar::Rscsa3,
12086        rscsar::Rscsa3,
12087        Rscsar_SPEC,
12088        crate::common::RW,
12089    > {
12090        crate::common::RegisterField::<
12091            3,
12092            0x1,
12093            1,
12094            0,
12095            rscsar::Rscsa3,
12096            rscsar::Rscsa3,
12097            Rscsar_SPEC,
12098            crate::common::RW,
12099        >::from_register(self, 0)
12100    }
12101
12102    #[doc = "RAM Standby Control Security Attribute bit 04"]
12103    #[inline(always)]
12104    pub fn rscsa4(
12105        self,
12106    ) -> crate::common::RegisterField<
12107        4,
12108        0x1,
12109        1,
12110        0,
12111        rscsar::Rscsa4,
12112        rscsar::Rscsa4,
12113        Rscsar_SPEC,
12114        crate::common::RW,
12115    > {
12116        crate::common::RegisterField::<
12117            4,
12118            0x1,
12119            1,
12120            0,
12121            rscsar::Rscsa4,
12122            rscsar::Rscsa4,
12123            Rscsar_SPEC,
12124            crate::common::RW,
12125        >::from_register(self, 0)
12126    }
12127
12128    #[doc = "RAM Standby Control Security Attribute bit 05"]
12129    #[inline(always)]
12130    pub fn rscsa5(
12131        self,
12132    ) -> crate::common::RegisterField<
12133        5,
12134        0x1,
12135        1,
12136        0,
12137        rscsar::Rscsa5,
12138        rscsar::Rscsa5,
12139        Rscsar_SPEC,
12140        crate::common::RW,
12141    > {
12142        crate::common::RegisterField::<
12143            5,
12144            0x1,
12145            1,
12146            0,
12147            rscsar::Rscsa5,
12148            rscsar::Rscsa5,
12149            Rscsar_SPEC,
12150            crate::common::RW,
12151        >::from_register(self, 0)
12152    }
12153
12154    #[doc = "RAM Standby Control Security Attribute bit 06"]
12155    #[inline(always)]
12156    pub fn rscsa6(
12157        self,
12158    ) -> crate::common::RegisterField<
12159        6,
12160        0x1,
12161        1,
12162        0,
12163        rscsar::Rscsa6,
12164        rscsar::Rscsa6,
12165        Rscsar_SPEC,
12166        crate::common::RW,
12167    > {
12168        crate::common::RegisterField::<
12169            6,
12170            0x1,
12171            1,
12172            0,
12173            rscsar::Rscsa6,
12174            rscsar::Rscsa6,
12175            Rscsar_SPEC,
12176            crate::common::RW,
12177        >::from_register(self, 0)
12178    }
12179
12180    #[doc = "RAM Standby Control Security Attribute bit 07"]
12181    #[inline(always)]
12182    pub fn rscsa7(
12183        self,
12184    ) -> crate::common::RegisterField<
12185        7,
12186        0x1,
12187        1,
12188        0,
12189        rscsar::Rscsa7,
12190        rscsar::Rscsa7,
12191        Rscsar_SPEC,
12192        crate::common::RW,
12193    > {
12194        crate::common::RegisterField::<
12195            7,
12196            0x1,
12197            1,
12198            0,
12199            rscsar::Rscsa7,
12200            rscsar::Rscsa7,
12201            Rscsar_SPEC,
12202            crate::common::RW,
12203        >::from_register(self, 0)
12204    }
12205
12206    #[doc = "RAM Standby Control Security Attribute bit 08"]
12207    #[inline(always)]
12208    pub fn rscsa8(
12209        self,
12210    ) -> crate::common::RegisterField<
12211        8,
12212        0x1,
12213        1,
12214        0,
12215        rscsar::Rscsa8,
12216        rscsar::Rscsa8,
12217        Rscsar_SPEC,
12218        crate::common::RW,
12219    > {
12220        crate::common::RegisterField::<
12221            8,
12222            0x1,
12223            1,
12224            0,
12225            rscsar::Rscsa8,
12226            rscsar::Rscsa8,
12227            Rscsar_SPEC,
12228            crate::common::RW,
12229        >::from_register(self, 0)
12230    }
12231
12232    #[doc = "RAM Standby Control Security Attribute bit 09"]
12233    #[inline(always)]
12234    pub fn rscsa9(
12235        self,
12236    ) -> crate::common::RegisterField<
12237        9,
12238        0x1,
12239        1,
12240        0,
12241        rscsar::Rscsa9,
12242        rscsar::Rscsa9,
12243        Rscsar_SPEC,
12244        crate::common::RW,
12245    > {
12246        crate::common::RegisterField::<
12247            9,
12248            0x1,
12249            1,
12250            0,
12251            rscsar::Rscsa9,
12252            rscsar::Rscsa9,
12253            Rscsar_SPEC,
12254            crate::common::RW,
12255        >::from_register(self, 0)
12256    }
12257
12258    #[doc = "RAM Standby Control Security Attribute bit 10"]
12259    #[inline(always)]
12260    pub fn rscsa10(
12261        self,
12262    ) -> crate::common::RegisterField<
12263        10,
12264        0x1,
12265        1,
12266        0,
12267        rscsar::Rscsa10,
12268        rscsar::Rscsa10,
12269        Rscsar_SPEC,
12270        crate::common::RW,
12271    > {
12272        crate::common::RegisterField::<
12273            10,
12274            0x1,
12275            1,
12276            0,
12277            rscsar::Rscsa10,
12278            rscsar::Rscsa10,
12279            Rscsar_SPEC,
12280            crate::common::RW,
12281        >::from_register(self, 0)
12282    }
12283
12284    #[doc = "RAM Standby Control Security Attribute bit 11"]
12285    #[inline(always)]
12286    pub fn rscsa11(
12287        self,
12288    ) -> crate::common::RegisterField<
12289        11,
12290        0x1,
12291        1,
12292        0,
12293        rscsar::Rscsa11,
12294        rscsar::Rscsa11,
12295        Rscsar_SPEC,
12296        crate::common::RW,
12297    > {
12298        crate::common::RegisterField::<
12299            11,
12300            0x1,
12301            1,
12302            0,
12303            rscsar::Rscsa11,
12304            rscsar::Rscsa11,
12305            Rscsar_SPEC,
12306            crate::common::RW,
12307        >::from_register(self, 0)
12308    }
12309
12310    #[doc = "RAM Standby Control Security Attribute bit 12"]
12311    #[inline(always)]
12312    pub fn rscsa12(
12313        self,
12314    ) -> crate::common::RegisterField<
12315        12,
12316        0x1,
12317        1,
12318        0,
12319        rscsar::Rscsa12,
12320        rscsar::Rscsa12,
12321        Rscsar_SPEC,
12322        crate::common::RW,
12323    > {
12324        crate::common::RegisterField::<
12325            12,
12326            0x1,
12327            1,
12328            0,
12329            rscsar::Rscsa12,
12330            rscsar::Rscsa12,
12331            Rscsar_SPEC,
12332            crate::common::RW,
12333        >::from_register(self, 0)
12334    }
12335
12336    #[doc = "RAM Standby Control Security Attribute bit 13"]
12337    #[inline(always)]
12338    pub fn rscsa13(
12339        self,
12340    ) -> crate::common::RegisterField<
12341        13,
12342        0x1,
12343        1,
12344        0,
12345        rscsar::Rscsa13,
12346        rscsar::Rscsa13,
12347        Rscsar_SPEC,
12348        crate::common::RW,
12349    > {
12350        crate::common::RegisterField::<
12351            13,
12352            0x1,
12353            1,
12354            0,
12355            rscsar::Rscsa13,
12356            rscsar::Rscsa13,
12357            Rscsar_SPEC,
12358            crate::common::RW,
12359        >::from_register(self, 0)
12360    }
12361
12362    #[doc = "RAM Standby Control Security Attribute bit 14"]
12363    #[inline(always)]
12364    pub fn rscsa14(
12365        self,
12366    ) -> crate::common::RegisterField<
12367        14,
12368        0x1,
12369        1,
12370        0,
12371        rscsar::Rscsa14,
12372        rscsar::Rscsa14,
12373        Rscsar_SPEC,
12374        crate::common::RW,
12375    > {
12376        crate::common::RegisterField::<
12377            14,
12378            0x1,
12379            1,
12380            0,
12381            rscsar::Rscsa14,
12382            rscsar::Rscsa14,
12383            Rscsar_SPEC,
12384            crate::common::RW,
12385        >::from_register(self, 0)
12386    }
12387
12388    #[doc = "RAM Standby Control Security Attribute bit 16"]
12389    #[inline(always)]
12390    pub fn rscsa16(
12391        self,
12392    ) -> crate::common::RegisterField<
12393        16,
12394        0x1,
12395        1,
12396        0,
12397        rscsar::Rscsa16,
12398        rscsar::Rscsa16,
12399        Rscsar_SPEC,
12400        crate::common::RW,
12401    > {
12402        crate::common::RegisterField::<
12403            16,
12404            0x1,
12405            1,
12406            0,
12407            rscsar::Rscsa16,
12408            rscsar::Rscsa16,
12409            Rscsar_SPEC,
12410            crate::common::RW,
12411        >::from_register(self, 0)
12412    }
12413
12414    #[doc = "RAM Standby Control Security Attribute bit 17"]
12415    #[inline(always)]
12416    pub fn rscsa17(
12417        self,
12418    ) -> crate::common::RegisterField<
12419        17,
12420        0x1,
12421        1,
12422        0,
12423        rscsar::Rscsa17,
12424        rscsar::Rscsa17,
12425        Rscsar_SPEC,
12426        crate::common::RW,
12427    > {
12428        crate::common::RegisterField::<
12429            17,
12430            0x1,
12431            1,
12432            0,
12433            rscsar::Rscsa17,
12434            rscsar::Rscsa17,
12435            Rscsar_SPEC,
12436            crate::common::RW,
12437        >::from_register(self, 0)
12438    }
12439
12440    #[doc = "These bits are read as 00000000000000. The write value should be 00000000000000."]
12441    #[inline(always)]
12442    pub fn reserved(
12443        self,
12444    ) -> crate::common::RegisterField<18, 0x3fff, 1, 0, u16, u16, Rscsar_SPEC, crate::common::RW>
12445    {
12446        crate::common::RegisterField::<18,0x3fff,1,0,u16,u16,Rscsar_SPEC,crate::common::RW>::from_register(self,0)
12447    }
12448}
12449impl ::core::default::Default for Rscsar {
12450    #[inline(always)]
12451    fn default() -> Rscsar {
12452        <crate::RegValueT<Rscsar_SPEC> as RegisterValue<_>>::new(0)
12453    }
12454}
12455pub mod rscsar {
12456
12457    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12458    pub struct Rscsa0_SPEC;
12459    pub type Rscsa0 = crate::EnumBitfieldStruct<u8, Rscsa0_SPEC>;
12460    impl Rscsa0 {
12461        #[doc = "Secure"]
12462        pub const _0: Self = Self::new(0);
12463
12464        #[doc = "Non-secure"]
12465        pub const _1: Self = Self::new(1);
12466    }
12467    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12468    pub struct Rscsa1_SPEC;
12469    pub type Rscsa1 = crate::EnumBitfieldStruct<u8, Rscsa1_SPEC>;
12470    impl Rscsa1 {
12471        #[doc = "Secure"]
12472        pub const _0: Self = Self::new(0);
12473
12474        #[doc = "Non-secure"]
12475        pub const _1: Self = Self::new(1);
12476    }
12477    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12478    pub struct Rscsa2_SPEC;
12479    pub type Rscsa2 = crate::EnumBitfieldStruct<u8, Rscsa2_SPEC>;
12480    impl Rscsa2 {
12481        #[doc = "Secure"]
12482        pub const _0: Self = Self::new(0);
12483
12484        #[doc = "Non-secure"]
12485        pub const _1: Self = Self::new(1);
12486    }
12487    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12488    pub struct Rscsa3_SPEC;
12489    pub type Rscsa3 = crate::EnumBitfieldStruct<u8, Rscsa3_SPEC>;
12490    impl Rscsa3 {
12491        #[doc = "Secure"]
12492        pub const _0: Self = Self::new(0);
12493
12494        #[doc = "Non-secure"]
12495        pub const _1: Self = Self::new(1);
12496    }
12497    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12498    pub struct Rscsa4_SPEC;
12499    pub type Rscsa4 = crate::EnumBitfieldStruct<u8, Rscsa4_SPEC>;
12500    impl Rscsa4 {
12501        #[doc = "Secure"]
12502        pub const _0: Self = Self::new(0);
12503
12504        #[doc = "Non-secure"]
12505        pub const _1: Self = Self::new(1);
12506    }
12507    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12508    pub struct Rscsa5_SPEC;
12509    pub type Rscsa5 = crate::EnumBitfieldStruct<u8, Rscsa5_SPEC>;
12510    impl Rscsa5 {
12511        #[doc = "Secure"]
12512        pub const _0: Self = Self::new(0);
12513
12514        #[doc = "Non-secure"]
12515        pub const _1: Self = Self::new(1);
12516    }
12517    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12518    pub struct Rscsa6_SPEC;
12519    pub type Rscsa6 = crate::EnumBitfieldStruct<u8, Rscsa6_SPEC>;
12520    impl Rscsa6 {
12521        #[doc = "Secure"]
12522        pub const _0: Self = Self::new(0);
12523
12524        #[doc = "Non-secure"]
12525        pub const _1: Self = Self::new(1);
12526    }
12527    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12528    pub struct Rscsa7_SPEC;
12529    pub type Rscsa7 = crate::EnumBitfieldStruct<u8, Rscsa7_SPEC>;
12530    impl Rscsa7 {
12531        #[doc = "Secure"]
12532        pub const _0: Self = Self::new(0);
12533
12534        #[doc = "Non-secure"]
12535        pub const _1: Self = Self::new(1);
12536    }
12537    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12538    pub struct Rscsa8_SPEC;
12539    pub type Rscsa8 = crate::EnumBitfieldStruct<u8, Rscsa8_SPEC>;
12540    impl Rscsa8 {
12541        #[doc = "Secure"]
12542        pub const _0: Self = Self::new(0);
12543
12544        #[doc = "Non-secure"]
12545        pub const _1: Self = Self::new(1);
12546    }
12547    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12548    pub struct Rscsa9_SPEC;
12549    pub type Rscsa9 = crate::EnumBitfieldStruct<u8, Rscsa9_SPEC>;
12550    impl Rscsa9 {
12551        #[doc = "Secure"]
12552        pub const _0: Self = Self::new(0);
12553
12554        #[doc = "Non-secure"]
12555        pub const _1: Self = Self::new(1);
12556    }
12557    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12558    pub struct Rscsa10_SPEC;
12559    pub type Rscsa10 = crate::EnumBitfieldStruct<u8, Rscsa10_SPEC>;
12560    impl Rscsa10 {
12561        #[doc = "Secure"]
12562        pub const _0: Self = Self::new(0);
12563
12564        #[doc = "Non-secure"]
12565        pub const _1: Self = Self::new(1);
12566    }
12567    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12568    pub struct Rscsa11_SPEC;
12569    pub type Rscsa11 = crate::EnumBitfieldStruct<u8, Rscsa11_SPEC>;
12570    impl Rscsa11 {
12571        #[doc = "Secure"]
12572        pub const _0: Self = Self::new(0);
12573
12574        #[doc = "Non-secure"]
12575        pub const _1: Self = Self::new(1);
12576    }
12577    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12578    pub struct Rscsa12_SPEC;
12579    pub type Rscsa12 = crate::EnumBitfieldStruct<u8, Rscsa12_SPEC>;
12580    impl Rscsa12 {
12581        #[doc = "Secure"]
12582        pub const _0: Self = Self::new(0);
12583
12584        #[doc = "Non-secure"]
12585        pub const _1: Self = Self::new(1);
12586    }
12587    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12588    pub struct Rscsa13_SPEC;
12589    pub type Rscsa13 = crate::EnumBitfieldStruct<u8, Rscsa13_SPEC>;
12590    impl Rscsa13 {
12591        #[doc = "Secure"]
12592        pub const _0: Self = Self::new(0);
12593
12594        #[doc = "Non-secure"]
12595        pub const _1: Self = Self::new(1);
12596    }
12597    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12598    pub struct Rscsa14_SPEC;
12599    pub type Rscsa14 = crate::EnumBitfieldStruct<u8, Rscsa14_SPEC>;
12600    impl Rscsa14 {
12601        #[doc = "Secure"]
12602        pub const _0: Self = Self::new(0);
12603
12604        #[doc = "Non-secure"]
12605        pub const _1: Self = Self::new(1);
12606    }
12607    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12608    pub struct Rscsa16_SPEC;
12609    pub type Rscsa16 = crate::EnumBitfieldStruct<u8, Rscsa16_SPEC>;
12610    impl Rscsa16 {
12611        #[doc = "Secure"]
12612        pub const _0: Self = Self::new(0);
12613
12614        #[doc = "Non-secure"]
12615        pub const _1: Self = Self::new(1);
12616    }
12617    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12618    pub struct Rscsa17_SPEC;
12619    pub type Rscsa17 = crate::EnumBitfieldStruct<u8, Rscsa17_SPEC>;
12620    impl Rscsa17 {
12621        #[doc = "Secure"]
12622        pub const _0: Self = Self::new(0);
12623
12624        #[doc = "Non-secure"]
12625        pub const _1: Self = Self::new(1);
12626    }
12627}
12628#[doc(hidden)]
12629#[derive(Copy, Clone, Eq, PartialEq)]
12630pub struct PrcrS_SPEC;
12631impl crate::sealed::RegSpec for PrcrS_SPEC {
12632    type DataType = u16;
12633}
12634
12635#[doc = "Protect Register for Secure Register"]
12636pub type PrcrS = crate::RegValueT<PrcrS_SPEC>;
12637
12638impl PrcrS {
12639    #[doc = "Enables writing to the registers related to the clock generation circuit."]
12640    #[inline(always)]
12641    pub fn prc0(
12642        self,
12643    ) -> crate::common::RegisterField<
12644        0,
12645        0x1,
12646        1,
12647        0,
12648        prcr_s::Prc0,
12649        prcr_s::Prc0,
12650        PrcrS_SPEC,
12651        crate::common::RW,
12652    > {
12653        crate::common::RegisterField::<
12654            0,
12655            0x1,
12656            1,
12657            0,
12658            prcr_s::Prc0,
12659            prcr_s::Prc0,
12660            PrcrS_SPEC,
12661            crate::common::RW,
12662        >::from_register(self, 0)
12663    }
12664
12665    #[doc = "Enables writing to the registers related to the operating modes, the low power modes, and the battery backup function."]
12666    #[inline(always)]
12667    pub fn prc1(
12668        self,
12669    ) -> crate::common::RegisterField<
12670        1,
12671        0x1,
12672        1,
12673        0,
12674        prcr_s::Prc1,
12675        prcr_s::Prc1,
12676        PrcrS_SPEC,
12677        crate::common::RW,
12678    > {
12679        crate::common::RegisterField::<
12680            1,
12681            0x1,
12682            1,
12683            0,
12684            prcr_s::Prc1,
12685            prcr_s::Prc1,
12686            PrcrS_SPEC,
12687            crate::common::RW,
12688        >::from_register(self, 0)
12689    }
12690
12691    #[doc = "Enables writing to the registers related to the PVD."]
12692    #[inline(always)]
12693    pub fn prc3(
12694        self,
12695    ) -> crate::common::RegisterField<
12696        3,
12697        0x1,
12698        1,
12699        0,
12700        prcr_s::Prc3,
12701        prcr_s::Prc3,
12702        PrcrS_SPEC,
12703        crate::common::RW,
12704    > {
12705        crate::common::RegisterField::<
12706            3,
12707            0x1,
12708            1,
12709            0,
12710            prcr_s::Prc3,
12711            prcr_s::Prc3,
12712            PrcrS_SPEC,
12713            crate::common::RW,
12714        >::from_register(self, 0)
12715    }
12716
12717    #[doc = "Enables writing to the registers related to the security and privilege setting registers."]
12718    #[inline(always)]
12719    pub fn prc4(
12720        self,
12721    ) -> crate::common::RegisterField<
12722        4,
12723        0x1,
12724        1,
12725        0,
12726        prcr_s::Prc4,
12727        prcr_s::Prc4,
12728        PrcrS_SPEC,
12729        crate::common::RW,
12730    > {
12731        crate::common::RegisterField::<
12732            4,
12733            0x1,
12734            1,
12735            0,
12736            prcr_s::Prc4,
12737            prcr_s::Prc4,
12738            PrcrS_SPEC,
12739            crate::common::RW,
12740        >::from_register(self, 0)
12741    }
12742
12743    #[doc = "Enables writing to the registers related the reset control."]
12744    #[inline(always)]
12745    pub fn prc5(
12746        self,
12747    ) -> crate::common::RegisterField<
12748        5,
12749        0x1,
12750        1,
12751        0,
12752        prcr_s::Prc5,
12753        prcr_s::Prc5,
12754        PrcrS_SPEC,
12755        crate::common::RW,
12756    > {
12757        crate::common::RegisterField::<
12758            5,
12759            0x1,
12760            1,
12761            0,
12762            prcr_s::Prc5,
12763            prcr_s::Prc5,
12764            PrcrS_SPEC,
12765            crate::common::RW,
12766        >::from_register(self, 0)
12767    }
12768
12769    #[doc = "This bit is read as 0. The write value should be 0."]
12770    #[inline(always)]
12771    pub fn reserved(
12772        self,
12773    ) -> crate::common::RegisterFieldBool<7, 1, 0, PrcrS_SPEC, crate::common::RW> {
12774        crate::common::RegisterFieldBool::<7, 1, 0, PrcrS_SPEC, crate::common::RW>::from_register(
12775            self, 0,
12776        )
12777    }
12778
12779    #[doc = "PRC Key Code"]
12780    #[inline(always)]
12781    pub fn prkey(
12782        self,
12783    ) -> crate::common::RegisterField<
12784        8,
12785        0xff,
12786        1,
12787        0,
12788        prcr_s::Prkey,
12789        prcr_s::Prkey,
12790        PrcrS_SPEC,
12791        crate::common::W,
12792    > {
12793        crate::common::RegisterField::<
12794            8,
12795            0xff,
12796            1,
12797            0,
12798            prcr_s::Prkey,
12799            prcr_s::Prkey,
12800            PrcrS_SPEC,
12801            crate::common::W,
12802        >::from_register(self, 0)
12803    }
12804}
12805impl ::core::default::Default for PrcrS {
12806    #[inline(always)]
12807    fn default() -> PrcrS {
12808        <crate::RegValueT<PrcrS_SPEC> as RegisterValue<_>>::new(0)
12809    }
12810}
12811pub mod prcr_s {
12812
12813    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12814    pub struct Prc0_SPEC;
12815    pub type Prc0 = crate::EnumBitfieldStruct<u8, Prc0_SPEC>;
12816    impl Prc0 {
12817        #[doc = "Write disabled"]
12818        pub const _0: Self = Self::new(0);
12819
12820        #[doc = "Write enabled"]
12821        pub const _1: Self = Self::new(1);
12822    }
12823    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12824    pub struct Prc1_SPEC;
12825    pub type Prc1 = crate::EnumBitfieldStruct<u8, Prc1_SPEC>;
12826    impl Prc1 {
12827        #[doc = "Write disabled"]
12828        pub const _0: Self = Self::new(0);
12829
12830        #[doc = "Write enabled"]
12831        pub const _1: Self = Self::new(1);
12832    }
12833    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12834    pub struct Prc3_SPEC;
12835    pub type Prc3 = crate::EnumBitfieldStruct<u8, Prc3_SPEC>;
12836    impl Prc3 {
12837        #[doc = "Write disabled"]
12838        pub const _0: Self = Self::new(0);
12839
12840        #[doc = "Write enabled"]
12841        pub const _1: Self = Self::new(1);
12842    }
12843    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12844    pub struct Prc4_SPEC;
12845    pub type Prc4 = crate::EnumBitfieldStruct<u8, Prc4_SPEC>;
12846    impl Prc4 {
12847        #[doc = "Write disabled"]
12848        pub const _0: Self = Self::new(0);
12849
12850        #[doc = "Write enabled"]
12851        pub const _1: Self = Self::new(1);
12852    }
12853    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12854    pub struct Prc5_SPEC;
12855    pub type Prc5 = crate::EnumBitfieldStruct<u8, Prc5_SPEC>;
12856    impl Prc5 {
12857        #[doc = "Write disabled"]
12858        pub const _0: Self = Self::new(0);
12859
12860        #[doc = "Write enabled"]
12861        pub const _1: Self = Self::new(1);
12862    }
12863    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12864    pub struct Prkey_SPEC;
12865    pub type Prkey = crate::EnumBitfieldStruct<u8, Prkey_SPEC>;
12866    impl Prkey {
12867        #[doc = "Enables writing to the PRCR_S register."]
12868        pub const _0_X_A_5: Self = Self::new(165);
12869    }
12870}
12871#[doc(hidden)]
12872#[derive(Copy, Clone, Eq, PartialEq)]
12873pub struct PrcrNs_SPEC;
12874impl crate::sealed::RegSpec for PrcrNs_SPEC {
12875    type DataType = u16;
12876}
12877
12878#[doc = "Protect Register for Non-secure Register"]
12879pub type PrcrNs = crate::RegValueT<PrcrNs_SPEC>;
12880
12881impl PrcrNs {
12882    #[doc = "Enables writing to the registers related to the clock generation circuit."]
12883    #[inline(always)]
12884    pub fn prc0(
12885        self,
12886    ) -> crate::common::RegisterField<
12887        0,
12888        0x1,
12889        1,
12890        0,
12891        prcr_ns::Prc0,
12892        prcr_ns::Prc0,
12893        PrcrNs_SPEC,
12894        crate::common::RW,
12895    > {
12896        crate::common::RegisterField::<
12897            0,
12898            0x1,
12899            1,
12900            0,
12901            prcr_ns::Prc0,
12902            prcr_ns::Prc0,
12903            PrcrNs_SPEC,
12904            crate::common::RW,
12905        >::from_register(self, 0)
12906    }
12907
12908    #[doc = "Enables writing to the registers related to the operating modes, the low power modes, and the battery backup function."]
12909    #[inline(always)]
12910    pub fn prc1(
12911        self,
12912    ) -> crate::common::RegisterField<
12913        1,
12914        0x1,
12915        1,
12916        0,
12917        prcr_ns::Prc1,
12918        prcr_ns::Prc1,
12919        PrcrNs_SPEC,
12920        crate::common::RW,
12921    > {
12922        crate::common::RegisterField::<
12923            1,
12924            0x1,
12925            1,
12926            0,
12927            prcr_ns::Prc1,
12928            prcr_ns::Prc1,
12929            PrcrNs_SPEC,
12930            crate::common::RW,
12931        >::from_register(self, 0)
12932    }
12933
12934    #[doc = "Enables writing to the registers related to the PVD."]
12935    #[inline(always)]
12936    pub fn prc3(
12937        self,
12938    ) -> crate::common::RegisterField<
12939        3,
12940        0x1,
12941        1,
12942        0,
12943        prcr_ns::Prc3,
12944        prcr_ns::Prc3,
12945        PrcrNs_SPEC,
12946        crate::common::RW,
12947    > {
12948        crate::common::RegisterField::<
12949            3,
12950            0x1,
12951            1,
12952            0,
12953            prcr_ns::Prc3,
12954            prcr_ns::Prc3,
12955            PrcrNs_SPEC,
12956            crate::common::RW,
12957        >::from_register(self, 0)
12958    }
12959
12960    #[doc = "Enables writing to the registers related to the privilege setting registers."]
12961    #[inline(always)]
12962    pub fn prc4(
12963        self,
12964    ) -> crate::common::RegisterField<
12965        4,
12966        0x1,
12967        1,
12968        0,
12969        prcr_ns::Prc4,
12970        prcr_ns::Prc4,
12971        PrcrNs_SPEC,
12972        crate::common::RW,
12973    > {
12974        crate::common::RegisterField::<
12975            4,
12976            0x1,
12977            1,
12978            0,
12979            prcr_ns::Prc4,
12980            prcr_ns::Prc4,
12981            PrcrNs_SPEC,
12982            crate::common::RW,
12983        >::from_register(self, 0)
12984    }
12985
12986    #[doc = "This bit is read as 0. The write value should be 0."]
12987    #[inline(always)]
12988    pub fn reserved(
12989        self,
12990    ) -> crate::common::RegisterFieldBool<7, 1, 0, PrcrNs_SPEC, crate::common::RW> {
12991        crate::common::RegisterFieldBool::<7, 1, 0, PrcrNs_SPEC, crate::common::RW>::from_register(
12992            self, 0,
12993        )
12994    }
12995
12996    #[doc = "PRC Key Code"]
12997    #[inline(always)]
12998    pub fn prkey(
12999        self,
13000    ) -> crate::common::RegisterField<
13001        8,
13002        0xff,
13003        1,
13004        0,
13005        prcr_ns::Prkey,
13006        prcr_ns::Prkey,
13007        PrcrNs_SPEC,
13008        crate::common::W,
13009    > {
13010        crate::common::RegisterField::<
13011            8,
13012            0xff,
13013            1,
13014            0,
13015            prcr_ns::Prkey,
13016            prcr_ns::Prkey,
13017            PrcrNs_SPEC,
13018            crate::common::W,
13019        >::from_register(self, 0)
13020    }
13021}
13022impl ::core::default::Default for PrcrNs {
13023    #[inline(always)]
13024    fn default() -> PrcrNs {
13025        <crate::RegValueT<PrcrNs_SPEC> as RegisterValue<_>>::new(0)
13026    }
13027}
13028pub mod prcr_ns {
13029
13030    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13031    pub struct Prc0_SPEC;
13032    pub type Prc0 = crate::EnumBitfieldStruct<u8, Prc0_SPEC>;
13033    impl Prc0 {
13034        #[doc = "Write disabled"]
13035        pub const _0: Self = Self::new(0);
13036
13037        #[doc = "Write enabled"]
13038        pub const _1: Self = Self::new(1);
13039    }
13040    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13041    pub struct Prc1_SPEC;
13042    pub type Prc1 = crate::EnumBitfieldStruct<u8, Prc1_SPEC>;
13043    impl Prc1 {
13044        #[doc = "Write disabled"]
13045        pub const _0: Self = Self::new(0);
13046
13047        #[doc = "Write enabled"]
13048        pub const _1: Self = Self::new(1);
13049    }
13050    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13051    pub struct Prc3_SPEC;
13052    pub type Prc3 = crate::EnumBitfieldStruct<u8, Prc3_SPEC>;
13053    impl Prc3 {
13054        #[doc = "Write disabled"]
13055        pub const _0: Self = Self::new(0);
13056
13057        #[doc = "Write enabled"]
13058        pub const _1: Self = Self::new(1);
13059    }
13060    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13061    pub struct Prc4_SPEC;
13062    pub type Prc4 = crate::EnumBitfieldStruct<u8, Prc4_SPEC>;
13063    impl Prc4 {
13064        #[doc = "Write disabled"]
13065        pub const _0: Self = Self::new(0);
13066
13067        #[doc = "Write enabled"]
13068        pub const _1: Self = Self::new(1);
13069    }
13070    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13071    pub struct Prkey_SPEC;
13072    pub type Prkey = crate::EnumBitfieldStruct<u8, Prkey_SPEC>;
13073    impl Prkey {
13074        #[doc = "Enables writing to the PRCR_NS register."]
13075        pub const _0_X_A_5: Self = Self::new(165);
13076    }
13077}
13078#[doc(hidden)]
13079#[derive(Copy, Clone, Eq, PartialEq)]
13080pub struct Lococr_SPEC;
13081impl crate::sealed::RegSpec for Lococr_SPEC {
13082    type DataType = u8;
13083}
13084
13085#[doc = "Low-Speed On-Chip Oscillator Control Register"]
13086pub type Lococr = crate::RegValueT<Lococr_SPEC>;
13087
13088impl Lococr {
13089    #[doc = "LOCO Stop"]
13090    #[inline(always)]
13091    pub fn lcstp(
13092        self,
13093    ) -> crate::common::RegisterField<
13094        0,
13095        0x1,
13096        1,
13097        0,
13098        lococr::Lcstp,
13099        lococr::Lcstp,
13100        Lococr_SPEC,
13101        crate::common::RW,
13102    > {
13103        crate::common::RegisterField::<
13104            0,
13105            0x1,
13106            1,
13107            0,
13108            lococr::Lcstp,
13109            lococr::Lcstp,
13110            Lococr_SPEC,
13111            crate::common::RW,
13112        >::from_register(self, 0)
13113    }
13114
13115    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
13116    #[inline(always)]
13117    pub fn reserved(
13118        self,
13119    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Lococr_SPEC, crate::common::RW> {
13120        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Lococr_SPEC,crate::common::RW>::from_register(self,0)
13121    }
13122}
13123impl ::core::default::Default for Lococr {
13124    #[inline(always)]
13125    fn default() -> Lococr {
13126        <crate::RegValueT<Lococr_SPEC> as RegisterValue<_>>::new(0)
13127    }
13128}
13129pub mod lococr {
13130
13131    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13132    pub struct Lcstp_SPEC;
13133    pub type Lcstp = crate::EnumBitfieldStruct<u8, Lcstp_SPEC>;
13134    impl Lcstp {
13135        #[doc = "Operate the LOCO clock"]
13136        pub const _0: Self = Self::new(0);
13137
13138        #[doc = "Stop the LOCO clock"]
13139        pub const _1: Self = Self::new(1);
13140    }
13141}
13142#[doc(hidden)]
13143#[derive(Copy, Clone, Eq, PartialEq)]
13144pub struct Locoutcr_SPEC;
13145impl crate::sealed::RegSpec for Locoutcr_SPEC {
13146    type DataType = u8;
13147}
13148
13149#[doc = "LOCO User Trimming Control Register"]
13150pub type Locoutcr = crate::RegValueT<Locoutcr_SPEC>;
13151
13152impl Locoutcr {
13153    #[doc = "LOCO User Trimming"]
13154    #[inline(always)]
13155    pub fn locoutrm(
13156        self,
13157    ) -> crate::common::RegisterField<
13158        0,
13159        0xff,
13160        1,
13161        0,
13162        locoutcr::Locoutrm,
13163        locoutcr::Locoutrm,
13164        Locoutcr_SPEC,
13165        crate::common::RW,
13166    > {
13167        crate::common::RegisterField::<
13168            0,
13169            0xff,
13170            1,
13171            0,
13172            locoutcr::Locoutrm,
13173            locoutcr::Locoutrm,
13174            Locoutcr_SPEC,
13175            crate::common::RW,
13176        >::from_register(self, 0)
13177    }
13178}
13179impl ::core::default::Default for Locoutcr {
13180    #[inline(always)]
13181    fn default() -> Locoutcr {
13182        <crate::RegValueT<Locoutcr_SPEC> as RegisterValue<_>>::new(0)
13183    }
13184}
13185pub mod locoutcr {
13186
13187    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13188    pub struct Locoutrm_SPEC;
13189    pub type Locoutrm = crate::EnumBitfieldStruct<u8, Locoutrm_SPEC>;
13190    impl Locoutrm {
13191        #[doc = "-128"]
13192        pub const _1000_0000: Self = Self::new(128);
13193
13194        #[doc = "-127"]
13195        pub const _1000_0001: Self = Self::new(129);
13196
13197        #[doc = "-126"]
13198        pub const _1000_0010: Self = Self::new(130);
13199
13200        #[doc = "-1"]
13201        pub const _1111_1111: Self = Self::new(255);
13202
13203        #[doc = "Center Code"]
13204        pub const _0000_0000: Self = Self::new(0);
13205
13206        #[doc = "+1"]
13207        pub const _0000_0001: Self = Self::new(1);
13208
13209        #[doc = "+125"]
13210        pub const _0111_1101: Self = Self::new(125);
13211
13212        #[doc = "+126"]
13213        pub const _0111_1110: Self = Self::new(126);
13214
13215        #[doc = "+127"]
13216        pub const _0111_1111: Self = Self::new(127);
13217    }
13218}
13219#[doc(hidden)]
13220#[derive(Copy, Clone, Eq, PartialEq)]
13221pub struct Dpsbycr_SPEC;
13222impl crate::sealed::RegSpec for Dpsbycr_SPEC {
13223    type DataType = u8;
13224}
13225
13226#[doc = "Deep Standby Control Register"]
13227pub type Dpsbycr = crate::RegValueT<Dpsbycr_SPEC>;
13228
13229impl Dpsbycr {
13230    #[doc = "DCDC SSMODE"]
13231    #[inline(always)]
13232    pub fn dcssmode(
13233        self,
13234    ) -> crate::common::RegisterField<
13235        2,
13236        0x1,
13237        1,
13238        0,
13239        dpsbycr::Dcssmode,
13240        dpsbycr::Dcssmode,
13241        Dpsbycr_SPEC,
13242        crate::common::RW,
13243    > {
13244        crate::common::RegisterField::<
13245            2,
13246            0x1,
13247            1,
13248            0,
13249            dpsbycr::Dcssmode,
13250            dpsbycr::Dcssmode,
13251            Dpsbycr_SPEC,
13252            crate::common::RW,
13253        >::from_register(self, 0)
13254    }
13255
13256    #[doc = "Standby RAM Retention"]
13257    #[inline(always)]
13258    pub fn srkeep(
13259        self,
13260    ) -> crate::common::RegisterField<
13261        4,
13262        0x1,
13263        1,
13264        0,
13265        dpsbycr::Srkeep,
13266        dpsbycr::Srkeep,
13267        Dpsbycr_SPEC,
13268        crate::common::RW,
13269    > {
13270        crate::common::RegisterField::<
13271            4,
13272            0x1,
13273            1,
13274            0,
13275            dpsbycr::Srkeep,
13276            dpsbycr::Srkeep,
13277            Dpsbycr_SPEC,
13278            crate::common::RW,
13279        >::from_register(self, 0)
13280    }
13281
13282    #[doc = "I/O Port Retention"]
13283    #[inline(always)]
13284    pub fn iokeep(
13285        self,
13286    ) -> crate::common::RegisterField<
13287        6,
13288        0x1,
13289        1,
13290        0,
13291        dpsbycr::Iokeep,
13292        dpsbycr::Iokeep,
13293        Dpsbycr_SPEC,
13294        crate::common::RW,
13295    > {
13296        crate::common::RegisterField::<
13297            6,
13298            0x1,
13299            1,
13300            0,
13301            dpsbycr::Iokeep,
13302            dpsbycr::Iokeep,
13303            Dpsbycr_SPEC,
13304            crate::common::RW,
13305        >::from_register(self, 0)
13306    }
13307
13308    #[doc = "This bit is read as 0. The write value should be 0."]
13309    #[inline(always)]
13310    pub fn reserved(
13311        self,
13312    ) -> crate::common::RegisterFieldBool<7, 1, 0, Dpsbycr_SPEC, crate::common::RW> {
13313        crate::common::RegisterFieldBool::<7, 1, 0, Dpsbycr_SPEC, crate::common::RW>::from_register(
13314            self, 0,
13315        )
13316    }
13317}
13318impl ::core::default::Default for Dpsbycr {
13319    #[inline(always)]
13320    fn default() -> Dpsbycr {
13321        <crate::RegValueT<Dpsbycr_SPEC> as RegisterValue<_>>::new(16)
13322    }
13323}
13324pub mod dpsbycr {
13325
13326    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13327    pub struct Dcssmode_SPEC;
13328    pub type Dcssmode = crate::EnumBitfieldStruct<u8, Dcssmode_SPEC>;
13329    impl Dcssmode {
13330        #[doc = "When the Deep Software Standby mode is canceled, the time required to recover is the standard time."]
13331        pub const _0: Self = Self::new(0);
13332
13333        #[doc = "When the Deep Software Standby mode is canceled, the time required to recover is shortened."]
13334        pub const _1: Self = Self::new(1);
13335    }
13336    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13337    pub struct Srkeep_SPEC;
13338    pub type Srkeep = crate::EnumBitfieldStruct<u8, Srkeep_SPEC>;
13339    impl Srkeep {
13340        #[doc = "When entering the Software Standby mode or the Deep Software Standby mode, the contents of Standby RAM are not kept."]
13341        pub const _0: Self = Self::new(0);
13342
13343        #[doc = "When entering the Software Standby mode or the Deep Software Standby mode 1, the contents of Standby RAM are kept."]
13344        pub const _1: Self = Self::new(1);
13345    }
13346    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13347    pub struct Iokeep_SPEC;
13348    pub type Iokeep = crate::EnumBitfieldStruct<u8, Iokeep_SPEC>;
13349    impl Iokeep {
13350        #[doc = "When the Deep Software Standby mode is canceled, the I/O ports are in the reset state."]
13351        pub const _0: Self = Self::new(0);
13352
13353        #[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."]
13354        pub const _1: Self = Self::new(1);
13355    }
13356}
13357#[doc(hidden)]
13358#[derive(Copy, Clone, Eq, PartialEq)]
13359pub struct Dpswcr_SPEC;
13360impl crate::sealed::RegSpec for Dpswcr_SPEC {
13361    type DataType = u8;
13362}
13363
13364#[doc = "Deep Standby Wait Control Register"]
13365pub type Dpswcr = crate::RegValueT<Dpswcr_SPEC>;
13366
13367impl Dpswcr {
13368    #[doc = "Deep Software Wait Standby Time Setting Bit"]
13369    #[inline(always)]
13370    pub fn wtsts(
13371        self,
13372    ) -> crate::common::RegisterField<
13373        0,
13374        0xff,
13375        1,
13376        0,
13377        dpswcr::Wtsts,
13378        dpswcr::Wtsts,
13379        Dpswcr_SPEC,
13380        crate::common::RW,
13381    > {
13382        crate::common::RegisterField::<
13383            0,
13384            0xff,
13385            1,
13386            0,
13387            dpswcr::Wtsts,
13388            dpswcr::Wtsts,
13389            Dpswcr_SPEC,
13390            crate::common::RW,
13391        >::from_register(self, 0)
13392    }
13393}
13394impl ::core::default::Default for Dpswcr {
13395    #[inline(always)]
13396    fn default() -> Dpswcr {
13397        <crate::RegValueT<Dpswcr_SPEC> as RegisterValue<_>>::new(11)
13398    }
13399}
13400pub mod dpswcr {
13401
13402    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13403    pub struct Wtsts_SPEC;
13404    pub type Wtsts = crate::EnumBitfieldStruct<u8, Wtsts_SPEC>;
13405    impl Wtsts {
13406        #[doc = "Wait cycle for fast recovery"]
13407        pub const _0_X_0_B: Self = Self::new(11);
13408
13409        #[doc = "Wait cycle for slow recovery"]
13410        pub const _0_X_9_A: Self = Self::new(154);
13411    }
13412}
13413#[doc(hidden)]
13414#[derive(Copy, Clone, Eq, PartialEq)]
13415pub struct Dpsier0_SPEC;
13416impl crate::sealed::RegSpec for Dpsier0_SPEC {
13417    type DataType = u8;
13418}
13419
13420#[doc = "Deep Standby Interrupt Enable Register 0"]
13421pub type Dpsier0 = crate::RegValueT<Dpsier0_SPEC>;
13422
13423impl Dpsier0 {
13424    #[doc = "IRQ0-DS Pin Enable"]
13425    #[inline(always)]
13426    pub fn dirq0e(
13427        self,
13428    ) -> crate::common::RegisterField<
13429        0,
13430        0x1,
13431        1,
13432        0,
13433        dpsier0::Dirq0E,
13434        dpsier0::Dirq0E,
13435        Dpsier0_SPEC,
13436        crate::common::RW,
13437    > {
13438        crate::common::RegisterField::<
13439            0,
13440            0x1,
13441            1,
13442            0,
13443            dpsier0::Dirq0E,
13444            dpsier0::Dirq0E,
13445            Dpsier0_SPEC,
13446            crate::common::RW,
13447        >::from_register(self, 0)
13448    }
13449
13450    #[doc = "IRQ1-DS Pin Enable"]
13451    #[inline(always)]
13452    pub fn dirq1e(
13453        self,
13454    ) -> crate::common::RegisterField<
13455        1,
13456        0x1,
13457        1,
13458        0,
13459        dpsier0::Dirq1E,
13460        dpsier0::Dirq1E,
13461        Dpsier0_SPEC,
13462        crate::common::RW,
13463    > {
13464        crate::common::RegisterField::<
13465            1,
13466            0x1,
13467            1,
13468            0,
13469            dpsier0::Dirq1E,
13470            dpsier0::Dirq1E,
13471            Dpsier0_SPEC,
13472            crate::common::RW,
13473        >::from_register(self, 0)
13474    }
13475
13476    #[doc = "IRQ2-DS Pin Enable"]
13477    #[inline(always)]
13478    pub fn dirq2e(
13479        self,
13480    ) -> crate::common::RegisterField<
13481        2,
13482        0x1,
13483        1,
13484        0,
13485        dpsier0::Dirq2E,
13486        dpsier0::Dirq2E,
13487        Dpsier0_SPEC,
13488        crate::common::RW,
13489    > {
13490        crate::common::RegisterField::<
13491            2,
13492            0x1,
13493            1,
13494            0,
13495            dpsier0::Dirq2E,
13496            dpsier0::Dirq2E,
13497            Dpsier0_SPEC,
13498            crate::common::RW,
13499        >::from_register(self, 0)
13500    }
13501
13502    #[doc = "IRQ3-DS Pin Enable"]
13503    #[inline(always)]
13504    pub fn dirq3e(
13505        self,
13506    ) -> crate::common::RegisterField<
13507        3,
13508        0x1,
13509        1,
13510        0,
13511        dpsier0::Dirq3E,
13512        dpsier0::Dirq3E,
13513        Dpsier0_SPEC,
13514        crate::common::RW,
13515    > {
13516        crate::common::RegisterField::<
13517            3,
13518            0x1,
13519            1,
13520            0,
13521            dpsier0::Dirq3E,
13522            dpsier0::Dirq3E,
13523            Dpsier0_SPEC,
13524            crate::common::RW,
13525        >::from_register(self, 0)
13526    }
13527
13528    #[doc = "IRQ4-DS Pin Enable"]
13529    #[inline(always)]
13530    pub fn dirq4e(
13531        self,
13532    ) -> crate::common::RegisterField<
13533        4,
13534        0x1,
13535        1,
13536        0,
13537        dpsier0::Dirq4E,
13538        dpsier0::Dirq4E,
13539        Dpsier0_SPEC,
13540        crate::common::RW,
13541    > {
13542        crate::common::RegisterField::<
13543            4,
13544            0x1,
13545            1,
13546            0,
13547            dpsier0::Dirq4E,
13548            dpsier0::Dirq4E,
13549            Dpsier0_SPEC,
13550            crate::common::RW,
13551        >::from_register(self, 0)
13552    }
13553
13554    #[doc = "IRQ5-DS Pin Enable"]
13555    #[inline(always)]
13556    pub fn dirq5e(
13557        self,
13558    ) -> crate::common::RegisterField<
13559        5,
13560        0x1,
13561        1,
13562        0,
13563        dpsier0::Dirq5E,
13564        dpsier0::Dirq5E,
13565        Dpsier0_SPEC,
13566        crate::common::RW,
13567    > {
13568        crate::common::RegisterField::<
13569            5,
13570            0x1,
13571            1,
13572            0,
13573            dpsier0::Dirq5E,
13574            dpsier0::Dirq5E,
13575            Dpsier0_SPEC,
13576            crate::common::RW,
13577        >::from_register(self, 0)
13578    }
13579
13580    #[doc = "IRQ6-DS Pin Enable"]
13581    #[inline(always)]
13582    pub fn dirq6e(
13583        self,
13584    ) -> crate::common::RegisterField<
13585        6,
13586        0x1,
13587        1,
13588        0,
13589        dpsier0::Dirq6E,
13590        dpsier0::Dirq6E,
13591        Dpsier0_SPEC,
13592        crate::common::RW,
13593    > {
13594        crate::common::RegisterField::<
13595            6,
13596            0x1,
13597            1,
13598            0,
13599            dpsier0::Dirq6E,
13600            dpsier0::Dirq6E,
13601            Dpsier0_SPEC,
13602            crate::common::RW,
13603        >::from_register(self, 0)
13604    }
13605
13606    #[doc = "IRQ7-DS Pin Enable"]
13607    #[inline(always)]
13608    pub fn dirq7e(
13609        self,
13610    ) -> crate::common::RegisterField<
13611        7,
13612        0x1,
13613        1,
13614        0,
13615        dpsier0::Dirq7E,
13616        dpsier0::Dirq7E,
13617        Dpsier0_SPEC,
13618        crate::common::RW,
13619    > {
13620        crate::common::RegisterField::<
13621            7,
13622            0x1,
13623            1,
13624            0,
13625            dpsier0::Dirq7E,
13626            dpsier0::Dirq7E,
13627            Dpsier0_SPEC,
13628            crate::common::RW,
13629        >::from_register(self, 0)
13630    }
13631}
13632impl ::core::default::Default for Dpsier0 {
13633    #[inline(always)]
13634    fn default() -> Dpsier0 {
13635        <crate::RegValueT<Dpsier0_SPEC> as RegisterValue<_>>::new(0)
13636    }
13637}
13638pub mod dpsier0 {
13639
13640    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13641    pub struct Dirq0E_SPEC;
13642    pub type Dirq0E = crate::EnumBitfieldStruct<u8, Dirq0E_SPEC>;
13643    impl Dirq0E {
13644        #[doc = "Cancelling deep software standby mode is disabled"]
13645        pub const _0: Self = Self::new(0);
13646
13647        #[doc = "Cancelling deep software standby mode is enabled"]
13648        pub const _1: Self = Self::new(1);
13649    }
13650    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13651    pub struct Dirq1E_SPEC;
13652    pub type Dirq1E = crate::EnumBitfieldStruct<u8, Dirq1E_SPEC>;
13653    impl Dirq1E {
13654        #[doc = "Cancelling deep software standby mode is disabled"]
13655        pub const _0: Self = Self::new(0);
13656
13657        #[doc = "Cancelling deep software standby mode is enabled"]
13658        pub const _1: Self = Self::new(1);
13659    }
13660    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13661    pub struct Dirq2E_SPEC;
13662    pub type Dirq2E = crate::EnumBitfieldStruct<u8, Dirq2E_SPEC>;
13663    impl Dirq2E {
13664        #[doc = "Cancelling deep software standby mode is disabled"]
13665        pub const _0: Self = Self::new(0);
13666
13667        #[doc = "Cancelling deep software standby mode is enabled"]
13668        pub const _1: Self = Self::new(1);
13669    }
13670    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13671    pub struct Dirq3E_SPEC;
13672    pub type Dirq3E = crate::EnumBitfieldStruct<u8, Dirq3E_SPEC>;
13673    impl Dirq3E {
13674        #[doc = "Cancelling deep software standby mode is disabled"]
13675        pub const _0: Self = Self::new(0);
13676
13677        #[doc = "Cancelling deep software standby mode is enabled"]
13678        pub const _1: Self = Self::new(1);
13679    }
13680    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13681    pub struct Dirq4E_SPEC;
13682    pub type Dirq4E = crate::EnumBitfieldStruct<u8, Dirq4E_SPEC>;
13683    impl Dirq4E {
13684        #[doc = "Cancelling deep software standby mode is disabled"]
13685        pub const _0: Self = Self::new(0);
13686
13687        #[doc = "Cancelling deep software standby mode is enabled"]
13688        pub const _1: Self = Self::new(1);
13689    }
13690    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13691    pub struct Dirq5E_SPEC;
13692    pub type Dirq5E = crate::EnumBitfieldStruct<u8, Dirq5E_SPEC>;
13693    impl Dirq5E {
13694        #[doc = "Cancelling deep software standby mode is disabled"]
13695        pub const _0: Self = Self::new(0);
13696
13697        #[doc = "Cancelling deep software standby mode is enabled"]
13698        pub const _1: Self = Self::new(1);
13699    }
13700    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13701    pub struct Dirq6E_SPEC;
13702    pub type Dirq6E = crate::EnumBitfieldStruct<u8, Dirq6E_SPEC>;
13703    impl Dirq6E {
13704        #[doc = "Cancelling deep software standby mode is disabled"]
13705        pub const _0: Self = Self::new(0);
13706
13707        #[doc = "Cancelling deep software standby mode is enabled"]
13708        pub const _1: Self = Self::new(1);
13709    }
13710    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13711    pub struct Dirq7E_SPEC;
13712    pub type Dirq7E = crate::EnumBitfieldStruct<u8, Dirq7E_SPEC>;
13713    impl Dirq7E {
13714        #[doc = "Cancelling deep software standby mode is disabled"]
13715        pub const _0: Self = Self::new(0);
13716
13717        #[doc = "Cancelling deep software standby mode is enabled"]
13718        pub const _1: Self = Self::new(1);
13719    }
13720}
13721#[doc(hidden)]
13722#[derive(Copy, Clone, Eq, PartialEq)]
13723pub struct Dpsier1_SPEC;
13724impl crate::sealed::RegSpec for Dpsier1_SPEC {
13725    type DataType = u8;
13726}
13727
13728#[doc = "Deep Standby Interrupt Enable Register 1"]
13729pub type Dpsier1 = crate::RegValueT<Dpsier1_SPEC>;
13730
13731impl Dpsier1 {
13732    #[doc = "IRQ8-DS Pin Enable"]
13733    #[inline(always)]
13734    pub fn dirq8e(
13735        self,
13736    ) -> crate::common::RegisterField<
13737        0,
13738        0x1,
13739        1,
13740        0,
13741        dpsier1::Dirq8E,
13742        dpsier1::Dirq8E,
13743        Dpsier1_SPEC,
13744        crate::common::RW,
13745    > {
13746        crate::common::RegisterField::<
13747            0,
13748            0x1,
13749            1,
13750            0,
13751            dpsier1::Dirq8E,
13752            dpsier1::Dirq8E,
13753            Dpsier1_SPEC,
13754            crate::common::RW,
13755        >::from_register(self, 0)
13756    }
13757
13758    #[doc = "IRQ9-DS Pin Enable"]
13759    #[inline(always)]
13760    pub fn dirq9e(
13761        self,
13762    ) -> crate::common::RegisterField<
13763        1,
13764        0x1,
13765        1,
13766        0,
13767        dpsier1::Dirq9E,
13768        dpsier1::Dirq9E,
13769        Dpsier1_SPEC,
13770        crate::common::RW,
13771    > {
13772        crate::common::RegisterField::<
13773            1,
13774            0x1,
13775            1,
13776            0,
13777            dpsier1::Dirq9E,
13778            dpsier1::Dirq9E,
13779            Dpsier1_SPEC,
13780            crate::common::RW,
13781        >::from_register(self, 0)
13782    }
13783
13784    #[doc = "IRQ10-DS Pin Enable"]
13785    #[inline(always)]
13786    pub fn dirq10e(
13787        self,
13788    ) -> crate::common::RegisterField<
13789        2,
13790        0x1,
13791        1,
13792        0,
13793        dpsier1::Dirq10E,
13794        dpsier1::Dirq10E,
13795        Dpsier1_SPEC,
13796        crate::common::RW,
13797    > {
13798        crate::common::RegisterField::<
13799            2,
13800            0x1,
13801            1,
13802            0,
13803            dpsier1::Dirq10E,
13804            dpsier1::Dirq10E,
13805            Dpsier1_SPEC,
13806            crate::common::RW,
13807        >::from_register(self, 0)
13808    }
13809
13810    #[doc = "IRQ11-DS Pin Enable"]
13811    #[inline(always)]
13812    pub fn dirq11e(
13813        self,
13814    ) -> crate::common::RegisterField<
13815        3,
13816        0x1,
13817        1,
13818        0,
13819        dpsier1::Dirq11E,
13820        dpsier1::Dirq11E,
13821        Dpsier1_SPEC,
13822        crate::common::RW,
13823    > {
13824        crate::common::RegisterField::<
13825            3,
13826            0x1,
13827            1,
13828            0,
13829            dpsier1::Dirq11E,
13830            dpsier1::Dirq11E,
13831            Dpsier1_SPEC,
13832            crate::common::RW,
13833        >::from_register(self, 0)
13834    }
13835
13836    #[doc = "IRQ12-DS Pin Enable"]
13837    #[inline(always)]
13838    pub fn dirq12e(
13839        self,
13840    ) -> crate::common::RegisterField<
13841        4,
13842        0x1,
13843        1,
13844        0,
13845        dpsier1::Dirq12E,
13846        dpsier1::Dirq12E,
13847        Dpsier1_SPEC,
13848        crate::common::RW,
13849    > {
13850        crate::common::RegisterField::<
13851            4,
13852            0x1,
13853            1,
13854            0,
13855            dpsier1::Dirq12E,
13856            dpsier1::Dirq12E,
13857            Dpsier1_SPEC,
13858            crate::common::RW,
13859        >::from_register(self, 0)
13860    }
13861
13862    #[doc = "IRQ13-DS Pin Enable"]
13863    #[inline(always)]
13864    pub fn dirq13e(
13865        self,
13866    ) -> crate::common::RegisterField<
13867        5,
13868        0x1,
13869        1,
13870        0,
13871        dpsier1::Dirq13E,
13872        dpsier1::Dirq13E,
13873        Dpsier1_SPEC,
13874        crate::common::RW,
13875    > {
13876        crate::common::RegisterField::<
13877            5,
13878            0x1,
13879            1,
13880            0,
13881            dpsier1::Dirq13E,
13882            dpsier1::Dirq13E,
13883            Dpsier1_SPEC,
13884            crate::common::RW,
13885        >::from_register(self, 0)
13886    }
13887
13888    #[doc = "IRQ14-DS Pin Enable"]
13889    #[inline(always)]
13890    pub fn dirq14e(
13891        self,
13892    ) -> crate::common::RegisterField<
13893        6,
13894        0x1,
13895        1,
13896        0,
13897        dpsier1::Dirq14E,
13898        dpsier1::Dirq14E,
13899        Dpsier1_SPEC,
13900        crate::common::RW,
13901    > {
13902        crate::common::RegisterField::<
13903            6,
13904            0x1,
13905            1,
13906            0,
13907            dpsier1::Dirq14E,
13908            dpsier1::Dirq14E,
13909            Dpsier1_SPEC,
13910            crate::common::RW,
13911        >::from_register(self, 0)
13912    }
13913
13914    #[doc = "IRQ15-DS Pin Enable"]
13915    #[inline(always)]
13916    pub fn dirq15e(
13917        self,
13918    ) -> crate::common::RegisterField<
13919        7,
13920        0x1,
13921        1,
13922        0,
13923        dpsier1::Dirq15E,
13924        dpsier1::Dirq15E,
13925        Dpsier1_SPEC,
13926        crate::common::RW,
13927    > {
13928        crate::common::RegisterField::<
13929            7,
13930            0x1,
13931            1,
13932            0,
13933            dpsier1::Dirq15E,
13934            dpsier1::Dirq15E,
13935            Dpsier1_SPEC,
13936            crate::common::RW,
13937        >::from_register(self, 0)
13938    }
13939}
13940impl ::core::default::Default for Dpsier1 {
13941    #[inline(always)]
13942    fn default() -> Dpsier1 {
13943        <crate::RegValueT<Dpsier1_SPEC> as RegisterValue<_>>::new(0)
13944    }
13945}
13946pub mod dpsier1 {
13947
13948    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13949    pub struct Dirq8E_SPEC;
13950    pub type Dirq8E = crate::EnumBitfieldStruct<u8, Dirq8E_SPEC>;
13951    impl Dirq8E {
13952        #[doc = "Cancelling deep software standby mode is disabled"]
13953        pub const _0: Self = Self::new(0);
13954
13955        #[doc = "Cancelling deep software standby mode is enabled"]
13956        pub const _1: Self = Self::new(1);
13957    }
13958    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13959    pub struct Dirq9E_SPEC;
13960    pub type Dirq9E = crate::EnumBitfieldStruct<u8, Dirq9E_SPEC>;
13961    impl Dirq9E {
13962        #[doc = "Cancelling deep software standby mode is disabled"]
13963        pub const _0: Self = Self::new(0);
13964
13965        #[doc = "Cancelling deep software standby mode is enabled"]
13966        pub const _1: Self = Self::new(1);
13967    }
13968    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13969    pub struct Dirq10E_SPEC;
13970    pub type Dirq10E = crate::EnumBitfieldStruct<u8, Dirq10E_SPEC>;
13971    impl Dirq10E {
13972        #[doc = "Cancelling deep software standby mode is disabled"]
13973        pub const _0: Self = Self::new(0);
13974
13975        #[doc = "Cancelling deep software standby mode is enabled"]
13976        pub const _1: Self = Self::new(1);
13977    }
13978    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13979    pub struct Dirq11E_SPEC;
13980    pub type Dirq11E = crate::EnumBitfieldStruct<u8, Dirq11E_SPEC>;
13981    impl Dirq11E {
13982        #[doc = "Cancelling deep software standby mode is disabled"]
13983        pub const _0: Self = Self::new(0);
13984
13985        #[doc = "Cancelling deep software standby mode is enabled"]
13986        pub const _1: Self = Self::new(1);
13987    }
13988    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13989    pub struct Dirq12E_SPEC;
13990    pub type Dirq12E = crate::EnumBitfieldStruct<u8, Dirq12E_SPEC>;
13991    impl Dirq12E {
13992        #[doc = "Cancelling deep software standby mode is disabled"]
13993        pub const _0: Self = Self::new(0);
13994
13995        #[doc = "Cancelling deep software standby mode is enabled"]
13996        pub const _1: Self = Self::new(1);
13997    }
13998    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13999    pub struct Dirq13E_SPEC;
14000    pub type Dirq13E = crate::EnumBitfieldStruct<u8, Dirq13E_SPEC>;
14001    impl Dirq13E {
14002        #[doc = "Cancelling deep software standby mode is disabled"]
14003        pub const _0: Self = Self::new(0);
14004
14005        #[doc = "Cancelling deep software standby mode is enabled"]
14006        pub const _1: Self = Self::new(1);
14007    }
14008    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14009    pub struct Dirq14E_SPEC;
14010    pub type Dirq14E = crate::EnumBitfieldStruct<u8, Dirq14E_SPEC>;
14011    impl Dirq14E {
14012        #[doc = "Cancelling deep software standby mode is disabled"]
14013        pub const _0: Self = Self::new(0);
14014
14015        #[doc = "Cancelling deep software standby mode is enabled"]
14016        pub const _1: Self = Self::new(1);
14017    }
14018    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14019    pub struct Dirq15E_SPEC;
14020    pub type Dirq15E = crate::EnumBitfieldStruct<u8, Dirq15E_SPEC>;
14021    impl Dirq15E {
14022        #[doc = "Cancelling Deep Software Standby mode is disabled"]
14023        pub const _0: Self = Self::new(0);
14024
14025        #[doc = "Cancelling Deep Software Standby mode is enabled"]
14026        pub const _1: Self = Self::new(1);
14027    }
14028}
14029#[doc(hidden)]
14030#[derive(Copy, Clone, Eq, PartialEq)]
14031pub struct Dpsier2_SPEC;
14032impl crate::sealed::RegSpec for Dpsier2_SPEC {
14033    type DataType = u8;
14034}
14035
14036#[doc = "Deep Standby Interrupt Enable Register 2"]
14037pub type Dpsier2 = crate::RegValueT<Dpsier2_SPEC>;
14038
14039impl Dpsier2 {
14040    #[doc = "PVD1 Deep Standby Cancel Signal Enable"]
14041    #[inline(always)]
14042    pub fn dpvd1ie(
14043        self,
14044    ) -> crate::common::RegisterField<
14045        0,
14046        0x1,
14047        1,
14048        0,
14049        dpsier2::Dpvd1Ie,
14050        dpsier2::Dpvd1Ie,
14051        Dpsier2_SPEC,
14052        crate::common::RW,
14053    > {
14054        crate::common::RegisterField::<
14055            0,
14056            0x1,
14057            1,
14058            0,
14059            dpsier2::Dpvd1Ie,
14060            dpsier2::Dpvd1Ie,
14061            Dpsier2_SPEC,
14062            crate::common::RW,
14063        >::from_register(self, 0)
14064    }
14065
14066    #[doc = "PVD2 Deep Standby Cancel Signal Enable"]
14067    #[inline(always)]
14068    pub fn dpvd2ie(
14069        self,
14070    ) -> crate::common::RegisterField<
14071        1,
14072        0x1,
14073        1,
14074        0,
14075        dpsier2::Dpvd2Ie,
14076        dpsier2::Dpvd2Ie,
14077        Dpsier2_SPEC,
14078        crate::common::RW,
14079    > {
14080        crate::common::RegisterField::<
14081            1,
14082            0x1,
14083            1,
14084            0,
14085            dpsier2::Dpvd2Ie,
14086            dpsier2::Dpvd2Ie,
14087            Dpsier2_SPEC,
14088            crate::common::RW,
14089        >::from_register(self, 0)
14090    }
14091
14092    #[doc = "RTC Interval interrupt Deep Standby Cancel Signal Enable"]
14093    #[inline(always)]
14094    pub fn dtrtciie(
14095        self,
14096    ) -> crate::common::RegisterField<
14097        2,
14098        0x1,
14099        1,
14100        0,
14101        dpsier2::Dtrtciie,
14102        dpsier2::Dtrtciie,
14103        Dpsier2_SPEC,
14104        crate::common::RW,
14105    > {
14106        crate::common::RegisterField::<
14107            2,
14108            0x1,
14109            1,
14110            0,
14111            dpsier2::Dtrtciie,
14112            dpsier2::Dtrtciie,
14113            Dpsier2_SPEC,
14114            crate::common::RW,
14115        >::from_register(self, 0)
14116    }
14117
14118    #[doc = "RTC Alarm interrupt Deep Standby Cancel Signal Enable"]
14119    #[inline(always)]
14120    pub fn drtcaie(
14121        self,
14122    ) -> crate::common::RegisterField<
14123        3,
14124        0x1,
14125        1,
14126        0,
14127        dpsier2::Drtcaie,
14128        dpsier2::Drtcaie,
14129        Dpsier2_SPEC,
14130        crate::common::RW,
14131    > {
14132        crate::common::RegisterField::<
14133            3,
14134            0x1,
14135            1,
14136            0,
14137            dpsier2::Drtcaie,
14138            dpsier2::Drtcaie,
14139            Dpsier2_SPEC,
14140            crate::common::RW,
14141        >::from_register(self, 0)
14142    }
14143
14144    #[doc = "NMI Pin Enable"]
14145    #[inline(always)]
14146    pub fn dnmie(
14147        self,
14148    ) -> crate::common::RegisterField<
14149        4,
14150        0x1,
14151        1,
14152        0,
14153        dpsier2::Dnmie,
14154        dpsier2::Dnmie,
14155        Dpsier2_SPEC,
14156        crate::common::RW,
14157    > {
14158        crate::common::RegisterField::<
14159            4,
14160            0x1,
14161            1,
14162            0,
14163            dpsier2::Dnmie,
14164            dpsier2::Dnmie,
14165            Dpsier2_SPEC,
14166            crate::common::RW,
14167        >::from_register(self, 0)
14168    }
14169
14170    #[doc = "This bit is read as 0. The write value should be 0."]
14171    #[inline(always)]
14172    pub fn reserved(
14173        self,
14174    ) -> crate::common::RegisterFieldBool<7, 1, 0, Dpsier2_SPEC, crate::common::RW> {
14175        crate::common::RegisterFieldBool::<7, 1, 0, Dpsier2_SPEC, crate::common::RW>::from_register(
14176            self, 0,
14177        )
14178    }
14179}
14180impl ::core::default::Default for Dpsier2 {
14181    #[inline(always)]
14182    fn default() -> Dpsier2 {
14183        <crate::RegValueT<Dpsier2_SPEC> as RegisterValue<_>>::new(0)
14184    }
14185}
14186pub mod dpsier2 {
14187
14188    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14189    pub struct Dpvd1Ie_SPEC;
14190    pub type Dpvd1Ie = crate::EnumBitfieldStruct<u8, Dpvd1Ie_SPEC>;
14191    impl Dpvd1Ie {
14192        #[doc = "Cancelling deep software standby mode is disabled"]
14193        pub const _0: Self = Self::new(0);
14194
14195        #[doc = "Cancelling deep software standby mode is enabled"]
14196        pub const _1: Self = Self::new(1);
14197    }
14198    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14199    pub struct Dpvd2Ie_SPEC;
14200    pub type Dpvd2Ie = crate::EnumBitfieldStruct<u8, Dpvd2Ie_SPEC>;
14201    impl Dpvd2Ie {
14202        #[doc = "Cancelling deep software standby mode is disabled"]
14203        pub const _0: Self = Self::new(0);
14204
14205        #[doc = "Cancelling deep software standby mode is enabled"]
14206        pub const _1: Self = Self::new(1);
14207    }
14208    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14209    pub struct Dtrtciie_SPEC;
14210    pub type Dtrtciie = crate::EnumBitfieldStruct<u8, Dtrtciie_SPEC>;
14211    impl Dtrtciie {
14212        #[doc = "Cancelling deep software standby mode is disabled"]
14213        pub const _0: Self = Self::new(0);
14214
14215        #[doc = "Cancelling deep software standby mode is enabled"]
14216        pub const _1: Self = Self::new(1);
14217    }
14218    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14219    pub struct Drtcaie_SPEC;
14220    pub type Drtcaie = crate::EnumBitfieldStruct<u8, Drtcaie_SPEC>;
14221    impl Drtcaie {
14222        #[doc = "Cancelling deep software standby mode is disabled"]
14223        pub const _0: Self = Self::new(0);
14224
14225        #[doc = "Cancelling deep software standby mode is enabled"]
14226        pub const _1: Self = Self::new(1);
14227    }
14228    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14229    pub struct Dnmie_SPEC;
14230    pub type Dnmie = crate::EnumBitfieldStruct<u8, Dnmie_SPEC>;
14231    impl Dnmie {
14232        #[doc = "Cancelling deep software standby mode is disabled"]
14233        pub const _0: Self = Self::new(0);
14234
14235        #[doc = "Cancelling deep software standby mode is enabled"]
14236        pub const _1: Self = Self::new(1);
14237    }
14238}
14239#[doc(hidden)]
14240#[derive(Copy, Clone, Eq, PartialEq)]
14241pub struct Dpsier3_SPEC;
14242impl crate::sealed::RegSpec for Dpsier3_SPEC {
14243    type DataType = u8;
14244}
14245
14246#[doc = "Deep Standby Interrupt Enable Register 3"]
14247pub type Dpsier3 = crate::RegValueT<Dpsier3_SPEC>;
14248
14249impl Dpsier3 {
14250    #[doc = "USBFS Suspend/Resume Deep Standby Cancel Signal Enable"]
14251    #[inline(always)]
14252    pub fn dusbfsie(
14253        self,
14254    ) -> crate::common::RegisterField<
14255        0,
14256        0x1,
14257        1,
14258        0,
14259        dpsier3::Dusbfsie,
14260        dpsier3::Dusbfsie,
14261        Dpsier3_SPEC,
14262        crate::common::RW,
14263    > {
14264        crate::common::RegisterField::<
14265            0,
14266            0x1,
14267            1,
14268            0,
14269            dpsier3::Dusbfsie,
14270            dpsier3::Dusbfsie,
14271            Dpsier3_SPEC,
14272            crate::common::RW,
14273        >::from_register(self, 0)
14274    }
14275
14276    #[doc = "USBHS Suspend/Resume Deep Standby Cancel Signal Enable"]
14277    #[inline(always)]
14278    pub fn dusbhsie(
14279        self,
14280    ) -> crate::common::RegisterField<
14281        1,
14282        0x1,
14283        1,
14284        0,
14285        dpsier3::Dusbhsie,
14286        dpsier3::Dusbhsie,
14287        Dpsier3_SPEC,
14288        crate::common::RW,
14289    > {
14290        crate::common::RegisterField::<
14291            1,
14292            0x1,
14293            1,
14294            0,
14295            dpsier3::Dusbhsie,
14296            dpsier3::Dusbhsie,
14297            Dpsier3_SPEC,
14298            crate::common::RW,
14299        >::from_register(self, 0)
14300    }
14301
14302    #[doc = "ULPT0 Overflow Deep Standby Cancel Signal Enable"]
14303    #[inline(always)]
14304    pub fn dulpt0ie(
14305        self,
14306    ) -> crate::common::RegisterField<
14307        2,
14308        0x1,
14309        1,
14310        0,
14311        dpsier3::Dulpt0Ie,
14312        dpsier3::Dulpt0Ie,
14313        Dpsier3_SPEC,
14314        crate::common::RW,
14315    > {
14316        crate::common::RegisterField::<
14317            2,
14318            0x1,
14319            1,
14320            0,
14321            dpsier3::Dulpt0Ie,
14322            dpsier3::Dulpt0Ie,
14323            Dpsier3_SPEC,
14324            crate::common::RW,
14325        >::from_register(self, 0)
14326    }
14327
14328    #[doc = "ULPT1 Overflow Deep Standby Cancel Signal Enable"]
14329    #[inline(always)]
14330    pub fn dulpt1ie(
14331        self,
14332    ) -> crate::common::RegisterField<
14333        3,
14334        0x1,
14335        1,
14336        0,
14337        dpsier3::Dulpt1Ie,
14338        dpsier3::Dulpt1Ie,
14339        Dpsier3_SPEC,
14340        crate::common::RW,
14341    > {
14342        crate::common::RegisterField::<
14343            3,
14344            0x1,
14345            1,
14346            0,
14347            dpsier3::Dulpt1Ie,
14348            dpsier3::Dulpt1Ie,
14349            Dpsier3_SPEC,
14350            crate::common::RW,
14351        >::from_register(self, 0)
14352    }
14353
14354    #[doc = "IWDT Overflow Deep Standby Cancel Signal Enable"]
14355    #[inline(always)]
14356    pub fn diwdtie(
14357        self,
14358    ) -> crate::common::RegisterField<
14359        5,
14360        0x1,
14361        1,
14362        0,
14363        dpsier3::Diwdtie,
14364        dpsier3::Diwdtie,
14365        Dpsier3_SPEC,
14366        crate::common::RW,
14367    > {
14368        crate::common::RegisterField::<
14369            5,
14370            0x1,
14371            1,
14372            0,
14373            dpsier3::Diwdtie,
14374            dpsier3::Diwdtie,
14375            Dpsier3_SPEC,
14376            crate::common::RW,
14377        >::from_register(self, 0)
14378    }
14379
14380    #[doc = "This bit is read as 0. The write value should be 0."]
14381    #[inline(always)]
14382    pub fn reserved(
14383        self,
14384    ) -> crate::common::RegisterFieldBool<6, 1, 0, Dpsier3_SPEC, crate::common::RW> {
14385        crate::common::RegisterFieldBool::<6, 1, 0, Dpsier3_SPEC, crate::common::RW>::from_register(
14386            self, 0,
14387        )
14388    }
14389
14390    #[doc = "VBATT Tamper Detection Deep Standby Cancel Signal Enable"]
14391    #[inline(always)]
14392    pub fn dvbattadie(
14393        self,
14394    ) -> crate::common::RegisterField<
14395        7,
14396        0x1,
14397        1,
14398        0,
14399        dpsier3::Dvbattadie,
14400        dpsier3::Dvbattadie,
14401        Dpsier3_SPEC,
14402        crate::common::RW,
14403    > {
14404        crate::common::RegisterField::<
14405            7,
14406            0x1,
14407            1,
14408            0,
14409            dpsier3::Dvbattadie,
14410            dpsier3::Dvbattadie,
14411            Dpsier3_SPEC,
14412            crate::common::RW,
14413        >::from_register(self, 0)
14414    }
14415}
14416impl ::core::default::Default for Dpsier3 {
14417    #[inline(always)]
14418    fn default() -> Dpsier3 {
14419        <crate::RegValueT<Dpsier3_SPEC> as RegisterValue<_>>::new(0)
14420    }
14421}
14422pub mod dpsier3 {
14423
14424    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14425    pub struct Dusbfsie_SPEC;
14426    pub type Dusbfsie = crate::EnumBitfieldStruct<u8, Dusbfsie_SPEC>;
14427    impl Dusbfsie {
14428        #[doc = "Cancelling deep software standby mode is disabled"]
14429        pub const _0: Self = Self::new(0);
14430
14431        #[doc = "Cancelling deep software standby mode is enabled"]
14432        pub const _1: Self = Self::new(1);
14433    }
14434    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14435    pub struct Dusbhsie_SPEC;
14436    pub type Dusbhsie = crate::EnumBitfieldStruct<u8, Dusbhsie_SPEC>;
14437    impl Dusbhsie {
14438        #[doc = "Cancelling deep software standby mode is disabled"]
14439        pub const _0: Self = Self::new(0);
14440
14441        #[doc = "Cancelling deep software standby mode is enabled"]
14442        pub const _1: Self = Self::new(1);
14443    }
14444    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14445    pub struct Dulpt0Ie_SPEC;
14446    pub type Dulpt0Ie = crate::EnumBitfieldStruct<u8, Dulpt0Ie_SPEC>;
14447    impl Dulpt0Ie {
14448        #[doc = "Cancelling deep software standby mode is disabled"]
14449        pub const _0: Self = Self::new(0);
14450
14451        #[doc = "Cancelling deep software standby mode is enabled"]
14452        pub const _1: Self = Self::new(1);
14453    }
14454    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14455    pub struct Dulpt1Ie_SPEC;
14456    pub type Dulpt1Ie = crate::EnumBitfieldStruct<u8, Dulpt1Ie_SPEC>;
14457    impl Dulpt1Ie {
14458        #[doc = "Cancelling deep software standby mode is disabled"]
14459        pub const _0: Self = Self::new(0);
14460
14461        #[doc = "Cancelling deep software standby mode is enabled"]
14462        pub const _1: Self = Self::new(1);
14463    }
14464    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14465    pub struct Diwdtie_SPEC;
14466    pub type Diwdtie = crate::EnumBitfieldStruct<u8, Diwdtie_SPEC>;
14467    impl Diwdtie {
14468        #[doc = "Cancelling Deep Software Standby mode is disabled"]
14469        pub const _0: Self = Self::new(0);
14470
14471        #[doc = "Cancelling Deep Software Standby mode is enabled"]
14472        pub const _1: Self = Self::new(1);
14473    }
14474    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14475    pub struct Dvbattadie_SPEC;
14476    pub type Dvbattadie = crate::EnumBitfieldStruct<u8, Dvbattadie_SPEC>;
14477    impl Dvbattadie {
14478        #[doc = "Cancelling Deep Software Standby mode is disabled"]
14479        pub const _0: Self = Self::new(0);
14480
14481        #[doc = "Cancelling Deep Software Standby mode is enabled"]
14482        pub const _1: Self = Self::new(1);
14483    }
14484}
14485#[doc(hidden)]
14486#[derive(Copy, Clone, Eq, PartialEq)]
14487pub struct Dpsifr0_SPEC;
14488impl crate::sealed::RegSpec for Dpsifr0_SPEC {
14489    type DataType = u8;
14490}
14491
14492#[doc = "Deep Standby Interrupt Flag Register 0"]
14493pub type Dpsifr0 = crate::RegValueT<Dpsifr0_SPEC>;
14494
14495impl Dpsifr0 {
14496    #[doc = "IRQ0-DS Pin Deep Standby Cancel Flag"]
14497    #[inline(always)]
14498    pub fn dirq0f(
14499        self,
14500    ) -> crate::common::RegisterField<
14501        0,
14502        0x1,
14503        1,
14504        0,
14505        dpsifr0::Dirq0F,
14506        dpsifr0::Dirq0F,
14507        Dpsifr0_SPEC,
14508        crate::common::RW,
14509    > {
14510        crate::common::RegisterField::<
14511            0,
14512            0x1,
14513            1,
14514            0,
14515            dpsifr0::Dirq0F,
14516            dpsifr0::Dirq0F,
14517            Dpsifr0_SPEC,
14518            crate::common::RW,
14519        >::from_register(self, 0)
14520    }
14521
14522    #[doc = "IRQ1-DS Pin Deep Standby Cancel Flag"]
14523    #[inline(always)]
14524    pub fn dirq1f(
14525        self,
14526    ) -> crate::common::RegisterField<
14527        1,
14528        0x1,
14529        1,
14530        0,
14531        dpsifr0::Dirq1F,
14532        dpsifr0::Dirq1F,
14533        Dpsifr0_SPEC,
14534        crate::common::RW,
14535    > {
14536        crate::common::RegisterField::<
14537            1,
14538            0x1,
14539            1,
14540            0,
14541            dpsifr0::Dirq1F,
14542            dpsifr0::Dirq1F,
14543            Dpsifr0_SPEC,
14544            crate::common::RW,
14545        >::from_register(self, 0)
14546    }
14547
14548    #[doc = "IRQ2-DS Pin Deep Standby Cancel Flag"]
14549    #[inline(always)]
14550    pub fn dirq2f(
14551        self,
14552    ) -> crate::common::RegisterField<
14553        2,
14554        0x1,
14555        1,
14556        0,
14557        dpsifr0::Dirq2F,
14558        dpsifr0::Dirq2F,
14559        Dpsifr0_SPEC,
14560        crate::common::RW,
14561    > {
14562        crate::common::RegisterField::<
14563            2,
14564            0x1,
14565            1,
14566            0,
14567            dpsifr0::Dirq2F,
14568            dpsifr0::Dirq2F,
14569            Dpsifr0_SPEC,
14570            crate::common::RW,
14571        >::from_register(self, 0)
14572    }
14573
14574    #[doc = "IRQ3-DS Pin Deep Standby Cancel Flag"]
14575    #[inline(always)]
14576    pub fn dirq3f(
14577        self,
14578    ) -> crate::common::RegisterField<
14579        3,
14580        0x1,
14581        1,
14582        0,
14583        dpsifr0::Dirq3F,
14584        dpsifr0::Dirq3F,
14585        Dpsifr0_SPEC,
14586        crate::common::RW,
14587    > {
14588        crate::common::RegisterField::<
14589            3,
14590            0x1,
14591            1,
14592            0,
14593            dpsifr0::Dirq3F,
14594            dpsifr0::Dirq3F,
14595            Dpsifr0_SPEC,
14596            crate::common::RW,
14597        >::from_register(self, 0)
14598    }
14599
14600    #[doc = "IRQ4-DS Pin Deep Standby Cancel Flag"]
14601    #[inline(always)]
14602    pub fn dirq4f(
14603        self,
14604    ) -> crate::common::RegisterField<
14605        4,
14606        0x1,
14607        1,
14608        0,
14609        dpsifr0::Dirq4F,
14610        dpsifr0::Dirq4F,
14611        Dpsifr0_SPEC,
14612        crate::common::RW,
14613    > {
14614        crate::common::RegisterField::<
14615            4,
14616            0x1,
14617            1,
14618            0,
14619            dpsifr0::Dirq4F,
14620            dpsifr0::Dirq4F,
14621            Dpsifr0_SPEC,
14622            crate::common::RW,
14623        >::from_register(self, 0)
14624    }
14625
14626    #[doc = "IRQ5-DS Pin Deep Standby Cancel Flag"]
14627    #[inline(always)]
14628    pub fn dirq5f(
14629        self,
14630    ) -> crate::common::RegisterField<
14631        5,
14632        0x1,
14633        1,
14634        0,
14635        dpsifr0::Dirq5F,
14636        dpsifr0::Dirq5F,
14637        Dpsifr0_SPEC,
14638        crate::common::RW,
14639    > {
14640        crate::common::RegisterField::<
14641            5,
14642            0x1,
14643            1,
14644            0,
14645            dpsifr0::Dirq5F,
14646            dpsifr0::Dirq5F,
14647            Dpsifr0_SPEC,
14648            crate::common::RW,
14649        >::from_register(self, 0)
14650    }
14651
14652    #[doc = "IRQ6-DS Pin Deep Standby Cancel Flag"]
14653    #[inline(always)]
14654    pub fn dirq6f(
14655        self,
14656    ) -> crate::common::RegisterField<
14657        6,
14658        0x1,
14659        1,
14660        0,
14661        dpsifr0::Dirq6F,
14662        dpsifr0::Dirq6F,
14663        Dpsifr0_SPEC,
14664        crate::common::RW,
14665    > {
14666        crate::common::RegisterField::<
14667            6,
14668            0x1,
14669            1,
14670            0,
14671            dpsifr0::Dirq6F,
14672            dpsifr0::Dirq6F,
14673            Dpsifr0_SPEC,
14674            crate::common::RW,
14675        >::from_register(self, 0)
14676    }
14677
14678    #[doc = "IRQ7-DS Pin Deep Standby Cancel Flag"]
14679    #[inline(always)]
14680    pub fn dirq7f(
14681        self,
14682    ) -> crate::common::RegisterField<
14683        7,
14684        0x1,
14685        1,
14686        0,
14687        dpsifr0::Dirq7F,
14688        dpsifr0::Dirq7F,
14689        Dpsifr0_SPEC,
14690        crate::common::RW,
14691    > {
14692        crate::common::RegisterField::<
14693            7,
14694            0x1,
14695            1,
14696            0,
14697            dpsifr0::Dirq7F,
14698            dpsifr0::Dirq7F,
14699            Dpsifr0_SPEC,
14700            crate::common::RW,
14701        >::from_register(self, 0)
14702    }
14703}
14704impl ::core::default::Default for Dpsifr0 {
14705    #[inline(always)]
14706    fn default() -> Dpsifr0 {
14707        <crate::RegValueT<Dpsifr0_SPEC> as RegisterValue<_>>::new(0)
14708    }
14709}
14710pub mod dpsifr0 {
14711
14712    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14713    pub struct Dirq0F_SPEC;
14714    pub type Dirq0F = crate::EnumBitfieldStruct<u8, Dirq0F_SPEC>;
14715    impl Dirq0F {
14716        #[doc = "The cancel request is not generated"]
14717        pub const _0: Self = Self::new(0);
14718
14719        #[doc = "The cancel request is generated"]
14720        pub const _1: Self = Self::new(1);
14721    }
14722    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14723    pub struct Dirq1F_SPEC;
14724    pub type Dirq1F = crate::EnumBitfieldStruct<u8, Dirq1F_SPEC>;
14725    impl Dirq1F {
14726        #[doc = "The cancel request is not generated"]
14727        pub const _0: Self = Self::new(0);
14728
14729        #[doc = "The cancel request is generated"]
14730        pub const _1: Self = Self::new(1);
14731    }
14732    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14733    pub struct Dirq2F_SPEC;
14734    pub type Dirq2F = crate::EnumBitfieldStruct<u8, Dirq2F_SPEC>;
14735    impl Dirq2F {
14736        #[doc = "The cancel request is not generated"]
14737        pub const _0: Self = Self::new(0);
14738
14739        #[doc = "The cancel request is generated"]
14740        pub const _1: Self = Self::new(1);
14741    }
14742    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14743    pub struct Dirq3F_SPEC;
14744    pub type Dirq3F = crate::EnumBitfieldStruct<u8, Dirq3F_SPEC>;
14745    impl Dirq3F {
14746        #[doc = "The cancel request is not generated"]
14747        pub const _0: Self = Self::new(0);
14748
14749        #[doc = "The cancel request is generated"]
14750        pub const _1: Self = Self::new(1);
14751    }
14752    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14753    pub struct Dirq4F_SPEC;
14754    pub type Dirq4F = crate::EnumBitfieldStruct<u8, Dirq4F_SPEC>;
14755    impl Dirq4F {
14756        #[doc = "The cancel request is not generated"]
14757        pub const _0: Self = Self::new(0);
14758
14759        #[doc = "The cancel request is generated"]
14760        pub const _1: Self = Self::new(1);
14761    }
14762    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14763    pub struct Dirq5F_SPEC;
14764    pub type Dirq5F = crate::EnumBitfieldStruct<u8, Dirq5F_SPEC>;
14765    impl Dirq5F {
14766        #[doc = "The cancel request is not generated"]
14767        pub const _0: Self = Self::new(0);
14768
14769        #[doc = "The cancel request is generated"]
14770        pub const _1: Self = Self::new(1);
14771    }
14772    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14773    pub struct Dirq6F_SPEC;
14774    pub type Dirq6F = crate::EnumBitfieldStruct<u8, Dirq6F_SPEC>;
14775    impl Dirq6F {
14776        #[doc = "The cancel request is not generated"]
14777        pub const _0: Self = Self::new(0);
14778
14779        #[doc = "The cancel request is generated"]
14780        pub const _1: Self = Self::new(1);
14781    }
14782    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14783    pub struct Dirq7F_SPEC;
14784    pub type Dirq7F = crate::EnumBitfieldStruct<u8, Dirq7F_SPEC>;
14785    impl Dirq7F {
14786        #[doc = "The cancel request is not generated"]
14787        pub const _0: Self = Self::new(0);
14788
14789        #[doc = "The cancel request is generated"]
14790        pub const _1: Self = Self::new(1);
14791    }
14792}
14793#[doc(hidden)]
14794#[derive(Copy, Clone, Eq, PartialEq)]
14795pub struct Dpsifr1_SPEC;
14796impl crate::sealed::RegSpec for Dpsifr1_SPEC {
14797    type DataType = u8;
14798}
14799
14800#[doc = "Deep Standby Interrupt Flag Register 1"]
14801pub type Dpsifr1 = crate::RegValueT<Dpsifr1_SPEC>;
14802
14803impl Dpsifr1 {
14804    #[doc = "IRQ8-DS Pin Deep Standby Cancel Flag"]
14805    #[inline(always)]
14806    pub fn dirq8f(
14807        self,
14808    ) -> crate::common::RegisterField<
14809        0,
14810        0x1,
14811        1,
14812        0,
14813        dpsifr1::Dirq8F,
14814        dpsifr1::Dirq8F,
14815        Dpsifr1_SPEC,
14816        crate::common::RW,
14817    > {
14818        crate::common::RegisterField::<
14819            0,
14820            0x1,
14821            1,
14822            0,
14823            dpsifr1::Dirq8F,
14824            dpsifr1::Dirq8F,
14825            Dpsifr1_SPEC,
14826            crate::common::RW,
14827        >::from_register(self, 0)
14828    }
14829
14830    #[doc = "IRQ9-DS Pin Deep Standby Cancel Flag"]
14831    #[inline(always)]
14832    pub fn dirq9f(
14833        self,
14834    ) -> crate::common::RegisterField<
14835        1,
14836        0x1,
14837        1,
14838        0,
14839        dpsifr1::Dirq9F,
14840        dpsifr1::Dirq9F,
14841        Dpsifr1_SPEC,
14842        crate::common::RW,
14843    > {
14844        crate::common::RegisterField::<
14845            1,
14846            0x1,
14847            1,
14848            0,
14849            dpsifr1::Dirq9F,
14850            dpsifr1::Dirq9F,
14851            Dpsifr1_SPEC,
14852            crate::common::RW,
14853        >::from_register(self, 0)
14854    }
14855
14856    #[doc = "IRQ10-DS Pin Deep Standby Cancel Flag"]
14857    #[inline(always)]
14858    pub fn dirq10f(
14859        self,
14860    ) -> crate::common::RegisterField<
14861        2,
14862        0x1,
14863        1,
14864        0,
14865        dpsifr1::Dirq10F,
14866        dpsifr1::Dirq10F,
14867        Dpsifr1_SPEC,
14868        crate::common::RW,
14869    > {
14870        crate::common::RegisterField::<
14871            2,
14872            0x1,
14873            1,
14874            0,
14875            dpsifr1::Dirq10F,
14876            dpsifr1::Dirq10F,
14877            Dpsifr1_SPEC,
14878            crate::common::RW,
14879        >::from_register(self, 0)
14880    }
14881
14882    #[doc = "IRQ11-DS Pin Deep Standby Cancel Flag"]
14883    #[inline(always)]
14884    pub fn dirq11f(
14885        self,
14886    ) -> crate::common::RegisterField<
14887        3,
14888        0x1,
14889        1,
14890        0,
14891        dpsifr1::Dirq11F,
14892        dpsifr1::Dirq11F,
14893        Dpsifr1_SPEC,
14894        crate::common::RW,
14895    > {
14896        crate::common::RegisterField::<
14897            3,
14898            0x1,
14899            1,
14900            0,
14901            dpsifr1::Dirq11F,
14902            dpsifr1::Dirq11F,
14903            Dpsifr1_SPEC,
14904            crate::common::RW,
14905        >::from_register(self, 0)
14906    }
14907
14908    #[doc = "IRQ12-DS Pin Deep Standby Cancel Flag"]
14909    #[inline(always)]
14910    pub fn dirq12f(
14911        self,
14912    ) -> crate::common::RegisterField<
14913        4,
14914        0x1,
14915        1,
14916        0,
14917        dpsifr1::Dirq12F,
14918        dpsifr1::Dirq12F,
14919        Dpsifr1_SPEC,
14920        crate::common::RW,
14921    > {
14922        crate::common::RegisterField::<
14923            4,
14924            0x1,
14925            1,
14926            0,
14927            dpsifr1::Dirq12F,
14928            dpsifr1::Dirq12F,
14929            Dpsifr1_SPEC,
14930            crate::common::RW,
14931        >::from_register(self, 0)
14932    }
14933
14934    #[doc = "IRQ13-DS Pin Deep Standby Cancel Flag"]
14935    #[inline(always)]
14936    pub fn dirq13f(
14937        self,
14938    ) -> crate::common::RegisterField<
14939        5,
14940        0x1,
14941        1,
14942        0,
14943        dpsifr1::Dirq13F,
14944        dpsifr1::Dirq13F,
14945        Dpsifr1_SPEC,
14946        crate::common::RW,
14947    > {
14948        crate::common::RegisterField::<
14949            5,
14950            0x1,
14951            1,
14952            0,
14953            dpsifr1::Dirq13F,
14954            dpsifr1::Dirq13F,
14955            Dpsifr1_SPEC,
14956            crate::common::RW,
14957        >::from_register(self, 0)
14958    }
14959
14960    #[doc = "IRQ14-DS Pin Deep Standby Cancel Flag"]
14961    #[inline(always)]
14962    pub fn dirq14f(
14963        self,
14964    ) -> crate::common::RegisterField<
14965        6,
14966        0x1,
14967        1,
14968        0,
14969        dpsifr1::Dirq14F,
14970        dpsifr1::Dirq14F,
14971        Dpsifr1_SPEC,
14972        crate::common::RW,
14973    > {
14974        crate::common::RegisterField::<
14975            6,
14976            0x1,
14977            1,
14978            0,
14979            dpsifr1::Dirq14F,
14980            dpsifr1::Dirq14F,
14981            Dpsifr1_SPEC,
14982            crate::common::RW,
14983        >::from_register(self, 0)
14984    }
14985
14986    #[doc = "IRQ15-DS Pin Deep Standby Cancel Flag"]
14987    #[inline(always)]
14988    pub fn dirq15f(
14989        self,
14990    ) -> crate::common::RegisterField<
14991        7,
14992        0x1,
14993        1,
14994        0,
14995        dpsifr1::Dirq15F,
14996        dpsifr1::Dirq15F,
14997        Dpsifr1_SPEC,
14998        crate::common::RW,
14999    > {
15000        crate::common::RegisterField::<
15001            7,
15002            0x1,
15003            1,
15004            0,
15005            dpsifr1::Dirq15F,
15006            dpsifr1::Dirq15F,
15007            Dpsifr1_SPEC,
15008            crate::common::RW,
15009        >::from_register(self, 0)
15010    }
15011}
15012impl ::core::default::Default for Dpsifr1 {
15013    #[inline(always)]
15014    fn default() -> Dpsifr1 {
15015        <crate::RegValueT<Dpsifr1_SPEC> as RegisterValue<_>>::new(0)
15016    }
15017}
15018pub mod dpsifr1 {
15019
15020    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15021    pub struct Dirq8F_SPEC;
15022    pub type Dirq8F = crate::EnumBitfieldStruct<u8, Dirq8F_SPEC>;
15023    impl Dirq8F {
15024        #[doc = "The cancel request is not generated"]
15025        pub const _0: Self = Self::new(0);
15026
15027        #[doc = "The cancel request is generated"]
15028        pub const _1: Self = Self::new(1);
15029    }
15030    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15031    pub struct Dirq9F_SPEC;
15032    pub type Dirq9F = crate::EnumBitfieldStruct<u8, Dirq9F_SPEC>;
15033    impl Dirq9F {
15034        #[doc = "The cancel request is not generated"]
15035        pub const _0: Self = Self::new(0);
15036
15037        #[doc = "The cancel request is generated"]
15038        pub const _1: Self = Self::new(1);
15039    }
15040    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15041    pub struct Dirq10F_SPEC;
15042    pub type Dirq10F = crate::EnumBitfieldStruct<u8, Dirq10F_SPEC>;
15043    impl Dirq10F {
15044        #[doc = "The cancel request is not generated"]
15045        pub const _0: Self = Self::new(0);
15046
15047        #[doc = "The cancel request is generated"]
15048        pub const _1: Self = Self::new(1);
15049    }
15050    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15051    pub struct Dirq11F_SPEC;
15052    pub type Dirq11F = crate::EnumBitfieldStruct<u8, Dirq11F_SPEC>;
15053    impl Dirq11F {
15054        #[doc = "The cancel request is not generated"]
15055        pub const _0: Self = Self::new(0);
15056
15057        #[doc = "The cancel request is generated"]
15058        pub const _1: Self = Self::new(1);
15059    }
15060    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15061    pub struct Dirq12F_SPEC;
15062    pub type Dirq12F = crate::EnumBitfieldStruct<u8, Dirq12F_SPEC>;
15063    impl Dirq12F {
15064        #[doc = "The cancel request is not generated"]
15065        pub const _0: Self = Self::new(0);
15066
15067        #[doc = "The cancel request is generated"]
15068        pub const _1: Self = Self::new(1);
15069    }
15070    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15071    pub struct Dirq13F_SPEC;
15072    pub type Dirq13F = crate::EnumBitfieldStruct<u8, Dirq13F_SPEC>;
15073    impl Dirq13F {
15074        #[doc = "The cancel request is not generated"]
15075        pub const _0: Self = Self::new(0);
15076
15077        #[doc = "The cancel request is generated"]
15078        pub const _1: Self = Self::new(1);
15079    }
15080    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15081    pub struct Dirq14F_SPEC;
15082    pub type Dirq14F = crate::EnumBitfieldStruct<u8, Dirq14F_SPEC>;
15083    impl Dirq14F {
15084        #[doc = "The cancel request is not generated"]
15085        pub const _0: Self = Self::new(0);
15086
15087        #[doc = "The cancel request is generated"]
15088        pub const _1: Self = Self::new(1);
15089    }
15090    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15091    pub struct Dirq15F_SPEC;
15092    pub type Dirq15F = crate::EnumBitfieldStruct<u8, Dirq15F_SPEC>;
15093    impl Dirq15F {
15094        #[doc = "The cancel request is not generated"]
15095        pub const _0: Self = Self::new(0);
15096
15097        #[doc = "The cancel request is generated"]
15098        pub const _1: Self = Self::new(1);
15099    }
15100}
15101#[doc(hidden)]
15102#[derive(Copy, Clone, Eq, PartialEq)]
15103pub struct Dpsifr2_SPEC;
15104impl crate::sealed::RegSpec for Dpsifr2_SPEC {
15105    type DataType = u8;
15106}
15107
15108#[doc = "Deep Standby Interrupt Flag Register 2"]
15109pub type Dpsifr2 = crate::RegValueT<Dpsifr2_SPEC>;
15110
15111impl Dpsifr2 {
15112    #[doc = "PVD1 Deep Standby Cancel Flag"]
15113    #[inline(always)]
15114    pub fn dpvd1if(
15115        self,
15116    ) -> crate::common::RegisterField<
15117        0,
15118        0x1,
15119        1,
15120        0,
15121        dpsifr2::Dpvd1If,
15122        dpsifr2::Dpvd1If,
15123        Dpsifr2_SPEC,
15124        crate::common::RW,
15125    > {
15126        crate::common::RegisterField::<
15127            0,
15128            0x1,
15129            1,
15130            0,
15131            dpsifr2::Dpvd1If,
15132            dpsifr2::Dpvd1If,
15133            Dpsifr2_SPEC,
15134            crate::common::RW,
15135        >::from_register(self, 0)
15136    }
15137
15138    #[doc = "PVD2 Deep Standby Cancel Flag"]
15139    #[inline(always)]
15140    pub fn dpvd2if(
15141        self,
15142    ) -> crate::common::RegisterField<
15143        1,
15144        0x1,
15145        1,
15146        0,
15147        dpsifr2::Dpvd2If,
15148        dpsifr2::Dpvd2If,
15149        Dpsifr2_SPEC,
15150        crate::common::RW,
15151    > {
15152        crate::common::RegisterField::<
15153            1,
15154            0x1,
15155            1,
15156            0,
15157            dpsifr2::Dpvd2If,
15158            dpsifr2::Dpvd2If,
15159            Dpsifr2_SPEC,
15160            crate::common::RW,
15161        >::from_register(self, 0)
15162    }
15163
15164    #[doc = "RTC Interval interrupt Deep Standby Cancel Flag"]
15165    #[inline(always)]
15166    pub fn dtrtciif(
15167        self,
15168    ) -> crate::common::RegisterField<
15169        2,
15170        0x1,
15171        1,
15172        0,
15173        dpsifr2::Dtrtciif,
15174        dpsifr2::Dtrtciif,
15175        Dpsifr2_SPEC,
15176        crate::common::RW,
15177    > {
15178        crate::common::RegisterField::<
15179            2,
15180            0x1,
15181            1,
15182            0,
15183            dpsifr2::Dtrtciif,
15184            dpsifr2::Dtrtciif,
15185            Dpsifr2_SPEC,
15186            crate::common::RW,
15187        >::from_register(self, 0)
15188    }
15189
15190    #[doc = "RTC Alarm interrupt Deep Standby Cancel Flag"]
15191    #[inline(always)]
15192    pub fn drtcaif(
15193        self,
15194    ) -> crate::common::RegisterField<
15195        3,
15196        0x1,
15197        1,
15198        0,
15199        dpsifr2::Drtcaif,
15200        dpsifr2::Drtcaif,
15201        Dpsifr2_SPEC,
15202        crate::common::RW,
15203    > {
15204        crate::common::RegisterField::<
15205            3,
15206            0x1,
15207            1,
15208            0,
15209            dpsifr2::Drtcaif,
15210            dpsifr2::Drtcaif,
15211            Dpsifr2_SPEC,
15212            crate::common::RW,
15213        >::from_register(self, 0)
15214    }
15215
15216    #[doc = "NMI Pin Deep Standby Cancel Flag"]
15217    #[inline(always)]
15218    pub fn dnmif(
15219        self,
15220    ) -> crate::common::RegisterField<
15221        4,
15222        0x1,
15223        1,
15224        0,
15225        dpsifr2::Dnmif,
15226        dpsifr2::Dnmif,
15227        Dpsifr2_SPEC,
15228        crate::common::RW,
15229    > {
15230        crate::common::RegisterField::<
15231            4,
15232            0x1,
15233            1,
15234            0,
15235            dpsifr2::Dnmif,
15236            dpsifr2::Dnmif,
15237            Dpsifr2_SPEC,
15238            crate::common::RW,
15239        >::from_register(self, 0)
15240    }
15241
15242    #[doc = "This bit is read as 0. The write value should be 0."]
15243    #[inline(always)]
15244    pub fn reserved(
15245        self,
15246    ) -> crate::common::RegisterFieldBool<7, 1, 0, Dpsifr2_SPEC, crate::common::RW> {
15247        crate::common::RegisterFieldBool::<7, 1, 0, Dpsifr2_SPEC, crate::common::RW>::from_register(
15248            self, 0,
15249        )
15250    }
15251}
15252impl ::core::default::Default for Dpsifr2 {
15253    #[inline(always)]
15254    fn default() -> Dpsifr2 {
15255        <crate::RegValueT<Dpsifr2_SPEC> as RegisterValue<_>>::new(0)
15256    }
15257}
15258pub mod dpsifr2 {
15259
15260    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15261    pub struct Dpvd1If_SPEC;
15262    pub type Dpvd1If = crate::EnumBitfieldStruct<u8, Dpvd1If_SPEC>;
15263    impl Dpvd1If {
15264        #[doc = "The cancel request is not generated"]
15265        pub const _0: Self = Self::new(0);
15266
15267        #[doc = "The cancel request is generated"]
15268        pub const _1: Self = Self::new(1);
15269    }
15270    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15271    pub struct Dpvd2If_SPEC;
15272    pub type Dpvd2If = crate::EnumBitfieldStruct<u8, Dpvd2If_SPEC>;
15273    impl Dpvd2If {
15274        #[doc = "The cancel request is not generated"]
15275        pub const _0: Self = Self::new(0);
15276
15277        #[doc = "The cancel request is generated"]
15278        pub const _1: Self = Self::new(1);
15279    }
15280    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15281    pub struct Dtrtciif_SPEC;
15282    pub type Dtrtciif = crate::EnumBitfieldStruct<u8, Dtrtciif_SPEC>;
15283    impl Dtrtciif {
15284        #[doc = "The cancel request is not generated"]
15285        pub const _0: Self = Self::new(0);
15286
15287        #[doc = "The cancel request is generated"]
15288        pub const _1: Self = Self::new(1);
15289    }
15290    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15291    pub struct Drtcaif_SPEC;
15292    pub type Drtcaif = crate::EnumBitfieldStruct<u8, Drtcaif_SPEC>;
15293    impl Drtcaif {
15294        #[doc = "The cancel request is not generated"]
15295        pub const _0: Self = Self::new(0);
15296
15297        #[doc = "The cancel request is generated"]
15298        pub const _1: Self = Self::new(1);
15299    }
15300    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15301    pub struct Dnmif_SPEC;
15302    pub type Dnmif = crate::EnumBitfieldStruct<u8, Dnmif_SPEC>;
15303    impl Dnmif {
15304        #[doc = "The cancel request is not generated"]
15305        pub const _0: Self = Self::new(0);
15306
15307        #[doc = "The cancel request is generated"]
15308        pub const _1: Self = Self::new(1);
15309    }
15310}
15311#[doc(hidden)]
15312#[derive(Copy, Clone, Eq, PartialEq)]
15313pub struct Dpsifr3_SPEC;
15314impl crate::sealed::RegSpec for Dpsifr3_SPEC {
15315    type DataType = u8;
15316}
15317
15318#[doc = "Deep Standby Interrupt Flag Register 3"]
15319pub type Dpsifr3 = crate::RegValueT<Dpsifr3_SPEC>;
15320
15321impl Dpsifr3 {
15322    #[doc = "USBFS Suspend/Resume Deep Standby Cancel Flag"]
15323    #[inline(always)]
15324    pub fn dusbfsif(
15325        self,
15326    ) -> crate::common::RegisterField<
15327        0,
15328        0x1,
15329        1,
15330        0,
15331        dpsifr3::Dusbfsif,
15332        dpsifr3::Dusbfsif,
15333        Dpsifr3_SPEC,
15334        crate::common::RW,
15335    > {
15336        crate::common::RegisterField::<
15337            0,
15338            0x1,
15339            1,
15340            0,
15341            dpsifr3::Dusbfsif,
15342            dpsifr3::Dusbfsif,
15343            Dpsifr3_SPEC,
15344            crate::common::RW,
15345        >::from_register(self, 0)
15346    }
15347
15348    #[doc = "USBHS Suspend/Resume Deep Standby Cancel Flag"]
15349    #[inline(always)]
15350    pub fn dusbhsif(
15351        self,
15352    ) -> crate::common::RegisterField<
15353        1,
15354        0x1,
15355        1,
15356        0,
15357        dpsifr3::Dusbhsif,
15358        dpsifr3::Dusbhsif,
15359        Dpsifr3_SPEC,
15360        crate::common::RW,
15361    > {
15362        crate::common::RegisterField::<
15363            1,
15364            0x1,
15365            1,
15366            0,
15367            dpsifr3::Dusbhsif,
15368            dpsifr3::Dusbhsif,
15369            Dpsifr3_SPEC,
15370            crate::common::RW,
15371        >::from_register(self, 0)
15372    }
15373
15374    #[doc = "ULPT0 Overflow Deep Standby Cancel Flag"]
15375    #[inline(always)]
15376    pub fn dulpt0if(
15377        self,
15378    ) -> crate::common::RegisterField<
15379        2,
15380        0x1,
15381        1,
15382        0,
15383        dpsifr3::Dulpt0If,
15384        dpsifr3::Dulpt0If,
15385        Dpsifr3_SPEC,
15386        crate::common::RW,
15387    > {
15388        crate::common::RegisterField::<
15389            2,
15390            0x1,
15391            1,
15392            0,
15393            dpsifr3::Dulpt0If,
15394            dpsifr3::Dulpt0If,
15395            Dpsifr3_SPEC,
15396            crate::common::RW,
15397        >::from_register(self, 0)
15398    }
15399
15400    #[doc = "ULPT1 Overflow Deep Standby Cancel Flag"]
15401    #[inline(always)]
15402    pub fn dulpt1if(
15403        self,
15404    ) -> crate::common::RegisterField<
15405        3,
15406        0x1,
15407        1,
15408        0,
15409        dpsifr3::Dulpt1If,
15410        dpsifr3::Dulpt1If,
15411        Dpsifr3_SPEC,
15412        crate::common::RW,
15413    > {
15414        crate::common::RegisterField::<
15415            3,
15416            0x1,
15417            1,
15418            0,
15419            dpsifr3::Dulpt1If,
15420            dpsifr3::Dulpt1If,
15421            Dpsifr3_SPEC,
15422            crate::common::RW,
15423        >::from_register(self, 0)
15424    }
15425
15426    #[doc = "IWDT Overflow Deep Standby Cancel Flag"]
15427    #[inline(always)]
15428    pub fn diwdtif(
15429        self,
15430    ) -> crate::common::RegisterField<
15431        5,
15432        0x1,
15433        1,
15434        0,
15435        dpsifr3::Diwdtif,
15436        dpsifr3::Diwdtif,
15437        Dpsifr3_SPEC,
15438        crate::common::RW,
15439    > {
15440        crate::common::RegisterField::<
15441            5,
15442            0x1,
15443            1,
15444            0,
15445            dpsifr3::Diwdtif,
15446            dpsifr3::Diwdtif,
15447            Dpsifr3_SPEC,
15448            crate::common::RW,
15449        >::from_register(self, 0)
15450    }
15451
15452    #[doc = "This bit is read as 0. The write value should be 0."]
15453    #[inline(always)]
15454    pub fn reserved(
15455        self,
15456    ) -> crate::common::RegisterFieldBool<6, 1, 0, Dpsifr3_SPEC, crate::common::RW> {
15457        crate::common::RegisterFieldBool::<6, 1, 0, Dpsifr3_SPEC, crate::common::RW>::from_register(
15458            self, 0,
15459        )
15460    }
15461
15462    #[doc = "VBATT Tamper Detection Deep Standby Cancel Flag"]
15463    #[inline(always)]
15464    pub fn dvbattadif(
15465        self,
15466    ) -> crate::common::RegisterField<
15467        7,
15468        0x1,
15469        1,
15470        0,
15471        dpsifr3::Dvbattadif,
15472        dpsifr3::Dvbattadif,
15473        Dpsifr3_SPEC,
15474        crate::common::RW,
15475    > {
15476        crate::common::RegisterField::<
15477            7,
15478            0x1,
15479            1,
15480            0,
15481            dpsifr3::Dvbattadif,
15482            dpsifr3::Dvbattadif,
15483            Dpsifr3_SPEC,
15484            crate::common::RW,
15485        >::from_register(self, 0)
15486    }
15487}
15488impl ::core::default::Default for Dpsifr3 {
15489    #[inline(always)]
15490    fn default() -> Dpsifr3 {
15491        <crate::RegValueT<Dpsifr3_SPEC> as RegisterValue<_>>::new(0)
15492    }
15493}
15494pub mod dpsifr3 {
15495
15496    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15497    pub struct Dusbfsif_SPEC;
15498    pub type Dusbfsif = crate::EnumBitfieldStruct<u8, Dusbfsif_SPEC>;
15499    impl Dusbfsif {
15500        #[doc = "The cancel request is not generated"]
15501        pub const _0: Self = Self::new(0);
15502
15503        #[doc = "The cancel request is generated"]
15504        pub const _1: Self = Self::new(1);
15505    }
15506    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15507    pub struct Dusbhsif_SPEC;
15508    pub type Dusbhsif = crate::EnumBitfieldStruct<u8, Dusbhsif_SPEC>;
15509    impl Dusbhsif {
15510        #[doc = "The cancel request is not generated"]
15511        pub const _0: Self = Self::new(0);
15512
15513        #[doc = "The cancel request is generated"]
15514        pub const _1: Self = Self::new(1);
15515    }
15516    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15517    pub struct Dulpt0If_SPEC;
15518    pub type Dulpt0If = crate::EnumBitfieldStruct<u8, Dulpt0If_SPEC>;
15519    impl Dulpt0If {
15520        #[doc = "The cancel request is not generated"]
15521        pub const _0: Self = Self::new(0);
15522
15523        #[doc = "The cancel request is generated"]
15524        pub const _1: Self = Self::new(1);
15525    }
15526    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15527    pub struct Dulpt1If_SPEC;
15528    pub type Dulpt1If = crate::EnumBitfieldStruct<u8, Dulpt1If_SPEC>;
15529    impl Dulpt1If {
15530        #[doc = "The cancel request is not generated"]
15531        pub const _0: Self = Self::new(0);
15532
15533        #[doc = "The cancel request is generated"]
15534        pub const _1: Self = Self::new(1);
15535    }
15536    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15537    pub struct Diwdtif_SPEC;
15538    pub type Diwdtif = crate::EnumBitfieldStruct<u8, Diwdtif_SPEC>;
15539    impl Diwdtif {
15540        #[doc = "The cancel request is not generated"]
15541        pub const _0: Self = Self::new(0);
15542
15543        #[doc = "The cancel request is generated"]
15544        pub const _1: Self = Self::new(1);
15545    }
15546    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15547    pub struct Dvbattadif_SPEC;
15548    pub type Dvbattadif = crate::EnumBitfieldStruct<u8, Dvbattadif_SPEC>;
15549    impl Dvbattadif {
15550        #[doc = "The cancel request is not generated"]
15551        pub const _0: Self = Self::new(0);
15552
15553        #[doc = "The cancel request is generated"]
15554        pub const _1: Self = Self::new(1);
15555    }
15556}
15557#[doc(hidden)]
15558#[derive(Copy, Clone, Eq, PartialEq)]
15559pub struct Dpsiegr0_SPEC;
15560impl crate::sealed::RegSpec for Dpsiegr0_SPEC {
15561    type DataType = u8;
15562}
15563
15564#[doc = "Deep Standby Interrupt Edge Register 0"]
15565pub type Dpsiegr0 = crate::RegValueT<Dpsiegr0_SPEC>;
15566
15567impl Dpsiegr0 {
15568    #[doc = "IRQ0-DS Pin Edge Select"]
15569    #[inline(always)]
15570    pub fn dirq0eg(
15571        self,
15572    ) -> crate::common::RegisterField<
15573        0,
15574        0x1,
15575        1,
15576        0,
15577        dpsiegr0::Dirq0Eg,
15578        dpsiegr0::Dirq0Eg,
15579        Dpsiegr0_SPEC,
15580        crate::common::RW,
15581    > {
15582        crate::common::RegisterField::<
15583            0,
15584            0x1,
15585            1,
15586            0,
15587            dpsiegr0::Dirq0Eg,
15588            dpsiegr0::Dirq0Eg,
15589            Dpsiegr0_SPEC,
15590            crate::common::RW,
15591        >::from_register(self, 0)
15592    }
15593
15594    #[doc = "IRQ1-DS Pin Edge Select"]
15595    #[inline(always)]
15596    pub fn dirq1eg(
15597        self,
15598    ) -> crate::common::RegisterField<
15599        1,
15600        0x1,
15601        1,
15602        0,
15603        dpsiegr0::Dirq1Eg,
15604        dpsiegr0::Dirq1Eg,
15605        Dpsiegr0_SPEC,
15606        crate::common::RW,
15607    > {
15608        crate::common::RegisterField::<
15609            1,
15610            0x1,
15611            1,
15612            0,
15613            dpsiegr0::Dirq1Eg,
15614            dpsiegr0::Dirq1Eg,
15615            Dpsiegr0_SPEC,
15616            crate::common::RW,
15617        >::from_register(self, 0)
15618    }
15619
15620    #[doc = "IRQ2-DS Pin Edge Select"]
15621    #[inline(always)]
15622    pub fn dirq2eg(
15623        self,
15624    ) -> crate::common::RegisterField<
15625        2,
15626        0x1,
15627        1,
15628        0,
15629        dpsiegr0::Dirq2Eg,
15630        dpsiegr0::Dirq2Eg,
15631        Dpsiegr0_SPEC,
15632        crate::common::RW,
15633    > {
15634        crate::common::RegisterField::<
15635            2,
15636            0x1,
15637            1,
15638            0,
15639            dpsiegr0::Dirq2Eg,
15640            dpsiegr0::Dirq2Eg,
15641            Dpsiegr0_SPEC,
15642            crate::common::RW,
15643        >::from_register(self, 0)
15644    }
15645
15646    #[doc = "IRQ3-DS Pin Edge Select"]
15647    #[inline(always)]
15648    pub fn dirq3eg(
15649        self,
15650    ) -> crate::common::RegisterField<
15651        3,
15652        0x1,
15653        1,
15654        0,
15655        dpsiegr0::Dirq3Eg,
15656        dpsiegr0::Dirq3Eg,
15657        Dpsiegr0_SPEC,
15658        crate::common::RW,
15659    > {
15660        crate::common::RegisterField::<
15661            3,
15662            0x1,
15663            1,
15664            0,
15665            dpsiegr0::Dirq3Eg,
15666            dpsiegr0::Dirq3Eg,
15667            Dpsiegr0_SPEC,
15668            crate::common::RW,
15669        >::from_register(self, 0)
15670    }
15671
15672    #[doc = "IRQ4-DS Pin Edge Select"]
15673    #[inline(always)]
15674    pub fn dirq4eg(
15675        self,
15676    ) -> crate::common::RegisterField<
15677        4,
15678        0x1,
15679        1,
15680        0,
15681        dpsiegr0::Dirq4Eg,
15682        dpsiegr0::Dirq4Eg,
15683        Dpsiegr0_SPEC,
15684        crate::common::RW,
15685    > {
15686        crate::common::RegisterField::<
15687            4,
15688            0x1,
15689            1,
15690            0,
15691            dpsiegr0::Dirq4Eg,
15692            dpsiegr0::Dirq4Eg,
15693            Dpsiegr0_SPEC,
15694            crate::common::RW,
15695        >::from_register(self, 0)
15696    }
15697
15698    #[doc = "IRQ5-DS Pin Edge Select"]
15699    #[inline(always)]
15700    pub fn dirq5eg(
15701        self,
15702    ) -> crate::common::RegisterField<
15703        5,
15704        0x1,
15705        1,
15706        0,
15707        dpsiegr0::Dirq5Eg,
15708        dpsiegr0::Dirq5Eg,
15709        Dpsiegr0_SPEC,
15710        crate::common::RW,
15711    > {
15712        crate::common::RegisterField::<
15713            5,
15714            0x1,
15715            1,
15716            0,
15717            dpsiegr0::Dirq5Eg,
15718            dpsiegr0::Dirq5Eg,
15719            Dpsiegr0_SPEC,
15720            crate::common::RW,
15721        >::from_register(self, 0)
15722    }
15723
15724    #[doc = "IRQ6-DS Pin Edge Select"]
15725    #[inline(always)]
15726    pub fn dirq6eg(
15727        self,
15728    ) -> crate::common::RegisterField<
15729        6,
15730        0x1,
15731        1,
15732        0,
15733        dpsiegr0::Dirq6Eg,
15734        dpsiegr0::Dirq6Eg,
15735        Dpsiegr0_SPEC,
15736        crate::common::RW,
15737    > {
15738        crate::common::RegisterField::<
15739            6,
15740            0x1,
15741            1,
15742            0,
15743            dpsiegr0::Dirq6Eg,
15744            dpsiegr0::Dirq6Eg,
15745            Dpsiegr0_SPEC,
15746            crate::common::RW,
15747        >::from_register(self, 0)
15748    }
15749
15750    #[doc = "IRQ7-DS Pin Edge Select"]
15751    #[inline(always)]
15752    pub fn dirq7eg(
15753        self,
15754    ) -> crate::common::RegisterField<
15755        7,
15756        0x1,
15757        1,
15758        0,
15759        dpsiegr0::Dirq7Eg,
15760        dpsiegr0::Dirq7Eg,
15761        Dpsiegr0_SPEC,
15762        crate::common::RW,
15763    > {
15764        crate::common::RegisterField::<
15765            7,
15766            0x1,
15767            1,
15768            0,
15769            dpsiegr0::Dirq7Eg,
15770            dpsiegr0::Dirq7Eg,
15771            Dpsiegr0_SPEC,
15772            crate::common::RW,
15773        >::from_register(self, 0)
15774    }
15775}
15776impl ::core::default::Default for Dpsiegr0 {
15777    #[inline(always)]
15778    fn default() -> Dpsiegr0 {
15779        <crate::RegValueT<Dpsiegr0_SPEC> as RegisterValue<_>>::new(0)
15780    }
15781}
15782pub mod dpsiegr0 {
15783
15784    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15785    pub struct Dirq0Eg_SPEC;
15786    pub type Dirq0Eg = crate::EnumBitfieldStruct<u8, Dirq0Eg_SPEC>;
15787    impl Dirq0Eg {
15788        #[doc = "A cancel request is generated at a falling edge"]
15789        pub const _0: Self = Self::new(0);
15790
15791        #[doc = "A cancel request is generated at a rising edge"]
15792        pub const _1: Self = Self::new(1);
15793    }
15794    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15795    pub struct Dirq1Eg_SPEC;
15796    pub type Dirq1Eg = crate::EnumBitfieldStruct<u8, Dirq1Eg_SPEC>;
15797    impl Dirq1Eg {
15798        #[doc = "A cancel request is generated at a falling edge"]
15799        pub const _0: Self = Self::new(0);
15800
15801        #[doc = "A cancel request is generated at a rising edge"]
15802        pub const _1: Self = Self::new(1);
15803    }
15804    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15805    pub struct Dirq2Eg_SPEC;
15806    pub type Dirq2Eg = crate::EnumBitfieldStruct<u8, Dirq2Eg_SPEC>;
15807    impl Dirq2Eg {
15808        #[doc = "A cancel request is generated at a falling edge"]
15809        pub const _0: Self = Self::new(0);
15810
15811        #[doc = "A cancel request is generated at a rising edge"]
15812        pub const _1: Self = Self::new(1);
15813    }
15814    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15815    pub struct Dirq3Eg_SPEC;
15816    pub type Dirq3Eg = crate::EnumBitfieldStruct<u8, Dirq3Eg_SPEC>;
15817    impl Dirq3Eg {
15818        #[doc = "A cancel request is generated at a falling edge"]
15819        pub const _0: Self = Self::new(0);
15820
15821        #[doc = "A cancel request is generated at a rising edge"]
15822        pub const _1: Self = Self::new(1);
15823    }
15824    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15825    pub struct Dirq4Eg_SPEC;
15826    pub type Dirq4Eg = crate::EnumBitfieldStruct<u8, Dirq4Eg_SPEC>;
15827    impl Dirq4Eg {
15828        #[doc = "A cancel request is generated at a falling edge"]
15829        pub const _0: Self = Self::new(0);
15830
15831        #[doc = "A cancel request is generated at a rising edge"]
15832        pub const _1: Self = Self::new(1);
15833    }
15834    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15835    pub struct Dirq5Eg_SPEC;
15836    pub type Dirq5Eg = crate::EnumBitfieldStruct<u8, Dirq5Eg_SPEC>;
15837    impl Dirq5Eg {
15838        #[doc = "A cancel request is generated at a falling edge"]
15839        pub const _0: Self = Self::new(0);
15840
15841        #[doc = "A cancel request is generated at a rising edge"]
15842        pub const _1: Self = Self::new(1);
15843    }
15844    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15845    pub struct Dirq6Eg_SPEC;
15846    pub type Dirq6Eg = crate::EnumBitfieldStruct<u8, Dirq6Eg_SPEC>;
15847    impl Dirq6Eg {
15848        #[doc = "A cancel request is generated at a falling edge"]
15849        pub const _0: Self = Self::new(0);
15850
15851        #[doc = "A cancel request is generated at a rising edge"]
15852        pub const _1: Self = Self::new(1);
15853    }
15854    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15855    pub struct Dirq7Eg_SPEC;
15856    pub type Dirq7Eg = crate::EnumBitfieldStruct<u8, Dirq7Eg_SPEC>;
15857    impl Dirq7Eg {
15858        #[doc = "A cancel request is generated at a falling edge"]
15859        pub const _0: Self = Self::new(0);
15860
15861        #[doc = "A cancel request is generated at a rising edge"]
15862        pub const _1: Self = Self::new(1);
15863    }
15864}
15865#[doc(hidden)]
15866#[derive(Copy, Clone, Eq, PartialEq)]
15867pub struct Dpsiegr1_SPEC;
15868impl crate::sealed::RegSpec for Dpsiegr1_SPEC {
15869    type DataType = u8;
15870}
15871
15872#[doc = "Deep Standby Interrupt Edge Register 1"]
15873pub type Dpsiegr1 = crate::RegValueT<Dpsiegr1_SPEC>;
15874
15875impl Dpsiegr1 {
15876    #[doc = "IRQ8-DS Pin Edge Select"]
15877    #[inline(always)]
15878    pub fn dirq8eg(
15879        self,
15880    ) -> crate::common::RegisterField<
15881        0,
15882        0x1,
15883        1,
15884        0,
15885        dpsiegr1::Dirq8Eg,
15886        dpsiegr1::Dirq8Eg,
15887        Dpsiegr1_SPEC,
15888        crate::common::RW,
15889    > {
15890        crate::common::RegisterField::<
15891            0,
15892            0x1,
15893            1,
15894            0,
15895            dpsiegr1::Dirq8Eg,
15896            dpsiegr1::Dirq8Eg,
15897            Dpsiegr1_SPEC,
15898            crate::common::RW,
15899        >::from_register(self, 0)
15900    }
15901
15902    #[doc = "IRQ9-DS Pin Edge Select"]
15903    #[inline(always)]
15904    pub fn dirq9eg(
15905        self,
15906    ) -> crate::common::RegisterField<
15907        1,
15908        0x1,
15909        1,
15910        0,
15911        dpsiegr1::Dirq9Eg,
15912        dpsiegr1::Dirq9Eg,
15913        Dpsiegr1_SPEC,
15914        crate::common::RW,
15915    > {
15916        crate::common::RegisterField::<
15917            1,
15918            0x1,
15919            1,
15920            0,
15921            dpsiegr1::Dirq9Eg,
15922            dpsiegr1::Dirq9Eg,
15923            Dpsiegr1_SPEC,
15924            crate::common::RW,
15925        >::from_register(self, 0)
15926    }
15927
15928    #[doc = "IRQ10-DS Pin Edge Select"]
15929    #[inline(always)]
15930    pub fn dirq10eg(
15931        self,
15932    ) -> crate::common::RegisterField<
15933        2,
15934        0x1,
15935        1,
15936        0,
15937        dpsiegr1::Dirq10Eg,
15938        dpsiegr1::Dirq10Eg,
15939        Dpsiegr1_SPEC,
15940        crate::common::RW,
15941    > {
15942        crate::common::RegisterField::<
15943            2,
15944            0x1,
15945            1,
15946            0,
15947            dpsiegr1::Dirq10Eg,
15948            dpsiegr1::Dirq10Eg,
15949            Dpsiegr1_SPEC,
15950            crate::common::RW,
15951        >::from_register(self, 0)
15952    }
15953
15954    #[doc = "IRQ11-DS Pin Edge Select"]
15955    #[inline(always)]
15956    pub fn dirq11eg(
15957        self,
15958    ) -> crate::common::RegisterField<
15959        3,
15960        0x1,
15961        1,
15962        0,
15963        dpsiegr1::Dirq11Eg,
15964        dpsiegr1::Dirq11Eg,
15965        Dpsiegr1_SPEC,
15966        crate::common::RW,
15967    > {
15968        crate::common::RegisterField::<
15969            3,
15970            0x1,
15971            1,
15972            0,
15973            dpsiegr1::Dirq11Eg,
15974            dpsiegr1::Dirq11Eg,
15975            Dpsiegr1_SPEC,
15976            crate::common::RW,
15977        >::from_register(self, 0)
15978    }
15979
15980    #[doc = "IRQ12-DS Pin Edge Select"]
15981    #[inline(always)]
15982    pub fn dirq12eg(
15983        self,
15984    ) -> crate::common::RegisterField<
15985        4,
15986        0x1,
15987        1,
15988        0,
15989        dpsiegr1::Dirq12Eg,
15990        dpsiegr1::Dirq12Eg,
15991        Dpsiegr1_SPEC,
15992        crate::common::RW,
15993    > {
15994        crate::common::RegisterField::<
15995            4,
15996            0x1,
15997            1,
15998            0,
15999            dpsiegr1::Dirq12Eg,
16000            dpsiegr1::Dirq12Eg,
16001            Dpsiegr1_SPEC,
16002            crate::common::RW,
16003        >::from_register(self, 0)
16004    }
16005
16006    #[doc = "IRQ13-DS Pin Edge Select"]
16007    #[inline(always)]
16008    pub fn dirq13eg(
16009        self,
16010    ) -> crate::common::RegisterField<
16011        5,
16012        0x1,
16013        1,
16014        0,
16015        dpsiegr1::Dirq13Eg,
16016        dpsiegr1::Dirq13Eg,
16017        Dpsiegr1_SPEC,
16018        crate::common::RW,
16019    > {
16020        crate::common::RegisterField::<
16021            5,
16022            0x1,
16023            1,
16024            0,
16025            dpsiegr1::Dirq13Eg,
16026            dpsiegr1::Dirq13Eg,
16027            Dpsiegr1_SPEC,
16028            crate::common::RW,
16029        >::from_register(self, 0)
16030    }
16031
16032    #[doc = "IRQ14-DS Pin Edge Select"]
16033    #[inline(always)]
16034    pub fn dirq14eg(
16035        self,
16036    ) -> crate::common::RegisterField<
16037        6,
16038        0x1,
16039        1,
16040        0,
16041        dpsiegr1::Dirq14Eg,
16042        dpsiegr1::Dirq14Eg,
16043        Dpsiegr1_SPEC,
16044        crate::common::RW,
16045    > {
16046        crate::common::RegisterField::<
16047            6,
16048            0x1,
16049            1,
16050            0,
16051            dpsiegr1::Dirq14Eg,
16052            dpsiegr1::Dirq14Eg,
16053            Dpsiegr1_SPEC,
16054            crate::common::RW,
16055        >::from_register(self, 0)
16056    }
16057
16058    #[doc = "IRQ15-DS Pin Edge Select"]
16059    #[inline(always)]
16060    pub fn dirq15eg(
16061        self,
16062    ) -> crate::common::RegisterField<
16063        7,
16064        0x1,
16065        1,
16066        0,
16067        dpsiegr1::Dirq15Eg,
16068        dpsiegr1::Dirq15Eg,
16069        Dpsiegr1_SPEC,
16070        crate::common::RW,
16071    > {
16072        crate::common::RegisterField::<
16073            7,
16074            0x1,
16075            1,
16076            0,
16077            dpsiegr1::Dirq15Eg,
16078            dpsiegr1::Dirq15Eg,
16079            Dpsiegr1_SPEC,
16080            crate::common::RW,
16081        >::from_register(self, 0)
16082    }
16083}
16084impl ::core::default::Default for Dpsiegr1 {
16085    #[inline(always)]
16086    fn default() -> Dpsiegr1 {
16087        <crate::RegValueT<Dpsiegr1_SPEC> as RegisterValue<_>>::new(0)
16088    }
16089}
16090pub mod dpsiegr1 {
16091
16092    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16093    pub struct Dirq8Eg_SPEC;
16094    pub type Dirq8Eg = crate::EnumBitfieldStruct<u8, Dirq8Eg_SPEC>;
16095    impl Dirq8Eg {
16096        #[doc = "A cancel request is generated at a falling edge"]
16097        pub const _0: Self = Self::new(0);
16098
16099        #[doc = "A cancel request is generated at a rising edge"]
16100        pub const _1: Self = Self::new(1);
16101    }
16102    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16103    pub struct Dirq9Eg_SPEC;
16104    pub type Dirq9Eg = crate::EnumBitfieldStruct<u8, Dirq9Eg_SPEC>;
16105    impl Dirq9Eg {
16106        #[doc = "A cancel request is generated at a falling edge"]
16107        pub const _0: Self = Self::new(0);
16108
16109        #[doc = "A cancel request is generated at a rising edge"]
16110        pub const _1: Self = Self::new(1);
16111    }
16112    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16113    pub struct Dirq10Eg_SPEC;
16114    pub type Dirq10Eg = crate::EnumBitfieldStruct<u8, Dirq10Eg_SPEC>;
16115    impl Dirq10Eg {
16116        #[doc = "A cancel request is generated at a falling edge"]
16117        pub const _0: Self = Self::new(0);
16118
16119        #[doc = "A cancel request is generated at a rising edge"]
16120        pub const _1: Self = Self::new(1);
16121    }
16122    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16123    pub struct Dirq11Eg_SPEC;
16124    pub type Dirq11Eg = crate::EnumBitfieldStruct<u8, Dirq11Eg_SPEC>;
16125    impl Dirq11Eg {
16126        #[doc = "A cancel request is generated at a falling edge"]
16127        pub const _0: Self = Self::new(0);
16128
16129        #[doc = "A cancel request is generated at a rising edge"]
16130        pub const _1: Self = Self::new(1);
16131    }
16132    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16133    pub struct Dirq12Eg_SPEC;
16134    pub type Dirq12Eg = crate::EnumBitfieldStruct<u8, Dirq12Eg_SPEC>;
16135    impl Dirq12Eg {
16136        #[doc = "A cancel request is generated at a falling edge"]
16137        pub const _0: Self = Self::new(0);
16138
16139        #[doc = "A cancel request is generated at a rising edge"]
16140        pub const _1: Self = Self::new(1);
16141    }
16142    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16143    pub struct Dirq13Eg_SPEC;
16144    pub type Dirq13Eg = crate::EnumBitfieldStruct<u8, Dirq13Eg_SPEC>;
16145    impl Dirq13Eg {
16146        #[doc = "A cancel request is generated at a falling edge"]
16147        pub const _0: Self = Self::new(0);
16148
16149        #[doc = "A cancel request is generated at a rising edge"]
16150        pub const _1: Self = Self::new(1);
16151    }
16152    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16153    pub struct Dirq14Eg_SPEC;
16154    pub type Dirq14Eg = crate::EnumBitfieldStruct<u8, Dirq14Eg_SPEC>;
16155    impl Dirq14Eg {
16156        #[doc = "A cancel request is generated at a falling edge"]
16157        pub const _0: Self = Self::new(0);
16158
16159        #[doc = "A cancel request is generated at a rising edge"]
16160        pub const _1: Self = Self::new(1);
16161    }
16162    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16163    pub struct Dirq15Eg_SPEC;
16164    pub type Dirq15Eg = crate::EnumBitfieldStruct<u8, Dirq15Eg_SPEC>;
16165    impl Dirq15Eg {
16166        #[doc = "A cancel request is generated at a falling edge"]
16167        pub const _0: Self = Self::new(0);
16168
16169        #[doc = "A cancel request is generated at a rising edge"]
16170        pub const _1: Self = Self::new(1);
16171    }
16172}
16173#[doc(hidden)]
16174#[derive(Copy, Clone, Eq, PartialEq)]
16175pub struct Dpsiegr2_SPEC;
16176impl crate::sealed::RegSpec for Dpsiegr2_SPEC {
16177    type DataType = u8;
16178}
16179
16180#[doc = "Deep Standby Interrupt Edge Register 2"]
16181pub type Dpsiegr2 = crate::RegValueT<Dpsiegr2_SPEC>;
16182
16183impl Dpsiegr2 {
16184    #[doc = "PVD1 Edge Select"]
16185    #[inline(always)]
16186    pub fn dpvd1eg(
16187        self,
16188    ) -> crate::common::RegisterField<
16189        0,
16190        0x1,
16191        1,
16192        0,
16193        dpsiegr2::Dpvd1Eg,
16194        dpsiegr2::Dpvd1Eg,
16195        Dpsiegr2_SPEC,
16196        crate::common::RW,
16197    > {
16198        crate::common::RegisterField::<
16199            0,
16200            0x1,
16201            1,
16202            0,
16203            dpsiegr2::Dpvd1Eg,
16204            dpsiegr2::Dpvd1Eg,
16205            Dpsiegr2_SPEC,
16206            crate::common::RW,
16207        >::from_register(self, 0)
16208    }
16209
16210    #[doc = "PVD2 Edge Select"]
16211    #[inline(always)]
16212    pub fn dpvd2eg(
16213        self,
16214    ) -> crate::common::RegisterField<
16215        1,
16216        0x1,
16217        1,
16218        0,
16219        dpsiegr2::Dpvd2Eg,
16220        dpsiegr2::Dpvd2Eg,
16221        Dpsiegr2_SPEC,
16222        crate::common::RW,
16223    > {
16224        crate::common::RegisterField::<
16225            1,
16226            0x1,
16227            1,
16228            0,
16229            dpsiegr2::Dpvd2Eg,
16230            dpsiegr2::Dpvd2Eg,
16231            Dpsiegr2_SPEC,
16232            crate::common::RW,
16233        >::from_register(self, 0)
16234    }
16235
16236    #[doc = "NMI Pin Edge Select"]
16237    #[inline(always)]
16238    pub fn dnmieg(
16239        self,
16240    ) -> crate::common::RegisterField<
16241        4,
16242        0x1,
16243        1,
16244        0,
16245        dpsiegr2::Dnmieg,
16246        dpsiegr2::Dnmieg,
16247        Dpsiegr2_SPEC,
16248        crate::common::RW,
16249    > {
16250        crate::common::RegisterField::<
16251            4,
16252            0x1,
16253            1,
16254            0,
16255            dpsiegr2::Dnmieg,
16256            dpsiegr2::Dnmieg,
16257            Dpsiegr2_SPEC,
16258            crate::common::RW,
16259        >::from_register(self, 0)
16260    }
16261
16262    #[doc = "This bit is read as 0. The write value should be 0."]
16263    #[inline(always)]
16264    pub fn reserved(
16265        self,
16266    ) -> crate::common::RegisterFieldBool<7, 1, 0, Dpsiegr2_SPEC, crate::common::RW> {
16267        crate::common::RegisterFieldBool::<7, 1, 0, Dpsiegr2_SPEC, crate::common::RW>::from_register(
16268            self, 0,
16269        )
16270    }
16271}
16272impl ::core::default::Default for Dpsiegr2 {
16273    #[inline(always)]
16274    fn default() -> Dpsiegr2 {
16275        <crate::RegValueT<Dpsiegr2_SPEC> as RegisterValue<_>>::new(0)
16276    }
16277}
16278pub mod dpsiegr2 {
16279
16280    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16281    pub struct Dpvd1Eg_SPEC;
16282    pub type Dpvd1Eg = crate::EnumBitfieldStruct<u8, Dpvd1Eg_SPEC>;
16283    impl Dpvd1Eg {
16284        #[doc = "A cancel request is generated when VCC<Vdet1 (fall) is detected"]
16285        pub const _0: Self = Self::new(0);
16286
16287        #[doc = "A cancel request is generated when VCC>=Vdet1 (rise) is detected"]
16288        pub const _1: Self = Self::new(1);
16289    }
16290    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16291    pub struct Dpvd2Eg_SPEC;
16292    pub type Dpvd2Eg = crate::EnumBitfieldStruct<u8, Dpvd2Eg_SPEC>;
16293    impl Dpvd2Eg {
16294        #[doc = "A cancel request is generated when VCC<Vdet2 (fall) is detected"]
16295        pub const _0: Self = Self::new(0);
16296
16297        #[doc = "A cancel request is generated when VCC>=Vdet2 (rise) is detected"]
16298        pub const _1: Self = Self::new(1);
16299    }
16300    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16301    pub struct Dnmieg_SPEC;
16302    pub type Dnmieg = crate::EnumBitfieldStruct<u8, Dnmieg_SPEC>;
16303    impl Dnmieg {
16304        #[doc = "A cancel request is generated at a falling edge"]
16305        pub const _0: Self = Self::new(0);
16306
16307        #[doc = "A cancel request is generated at a rising edge"]
16308        pub const _1: Self = Self::new(1);
16309    }
16310}
16311#[doc(hidden)]
16312#[derive(Copy, Clone, Eq, PartialEq)]
16313pub struct Syocdcr_SPEC;
16314impl crate::sealed::RegSpec for Syocdcr_SPEC {
16315    type DataType = u8;
16316}
16317
16318#[doc = "System Control OCD Control Register"]
16319pub type Syocdcr = crate::RegValueT<Syocdcr_SPEC>;
16320
16321impl Syocdcr {
16322    #[doc = "Deep Standby OCD flag"]
16323    #[inline(always)]
16324    pub fn docdf(
16325        self,
16326    ) -> crate::common::RegisterField<
16327        0,
16328        0x1,
16329        1,
16330        0,
16331        syocdcr::Docdf,
16332        syocdcr::Docdf,
16333        Syocdcr_SPEC,
16334        crate::common::RW,
16335    > {
16336        crate::common::RegisterField::<
16337            0,
16338            0x1,
16339            1,
16340            0,
16341            syocdcr::Docdf,
16342            syocdcr::Docdf,
16343            Syocdcr_SPEC,
16344            crate::common::RW,
16345        >::from_register(self, 0)
16346    }
16347
16348    #[doc = "These bits are read as 000000. The write value should be 000000."]
16349    #[inline(always)]
16350    pub fn reserved(
16351        self,
16352    ) -> crate::common::RegisterField<1, 0x3f, 1, 0, u8, u8, Syocdcr_SPEC, crate::common::RW> {
16353        crate::common::RegisterField::<1,0x3f,1,0,u8,u8,Syocdcr_SPEC,crate::common::RW>::from_register(self,0)
16354    }
16355
16356    #[doc = "Debugger Enable bit"]
16357    #[inline(always)]
16358    pub fn dbgen(
16359        self,
16360    ) -> crate::common::RegisterField<
16361        7,
16362        0x1,
16363        1,
16364        0,
16365        syocdcr::Dbgen,
16366        syocdcr::Dbgen,
16367        Syocdcr_SPEC,
16368        crate::common::RW,
16369    > {
16370        crate::common::RegisterField::<
16371            7,
16372            0x1,
16373            1,
16374            0,
16375            syocdcr::Dbgen,
16376            syocdcr::Dbgen,
16377            Syocdcr_SPEC,
16378            crate::common::RW,
16379        >::from_register(self, 0)
16380    }
16381}
16382impl ::core::default::Default for Syocdcr {
16383    #[inline(always)]
16384    fn default() -> Syocdcr {
16385        <crate::RegValueT<Syocdcr_SPEC> as RegisterValue<_>>::new(128)
16386    }
16387}
16388pub mod syocdcr {
16389
16390    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16391    pub struct Docdf_SPEC;
16392    pub type Docdf = crate::EnumBitfieldStruct<u8, Docdf_SPEC>;
16393    impl Docdf {
16394        #[doc = "DBIRQ is not generated."]
16395        pub const _0: Self = Self::new(0);
16396
16397        #[doc = "DBIRQ is generated."]
16398        pub const _1: Self = Self::new(1);
16399    }
16400    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16401    pub struct Dbgen_SPEC;
16402    pub type Dbgen = crate::EnumBitfieldStruct<u8, Dbgen_SPEC>;
16403    impl Dbgen {
16404        #[doc = "Disable on-chip debugger function"]
16405        pub const _0: Self = Self::new(0);
16406
16407        #[doc = "Enable on-chip debugger function"]
16408        pub const _1: Self = Self::new(1);
16409    }
16410}
16411#[doc(hidden)]
16412#[derive(Copy, Clone, Eq, PartialEq)]
16413pub struct Rstsr0_SPEC;
16414impl crate::sealed::RegSpec for Rstsr0_SPEC {
16415    type DataType = u8;
16416}
16417
16418#[doc = "Reset Status Register 0"]
16419pub type Rstsr0 = crate::RegValueT<Rstsr0_SPEC>;
16420
16421impl Rstsr0 {
16422    #[doc = "Power-On Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
16423    #[inline(always)]
16424    pub fn porf(
16425        self,
16426    ) -> crate::common::RegisterField<
16427        0,
16428        0x1,
16429        1,
16430        0,
16431        rstsr0::Porf,
16432        rstsr0::Porf,
16433        Rstsr0_SPEC,
16434        crate::common::RW,
16435    > {
16436        crate::common::RegisterField::<
16437            0,
16438            0x1,
16439            1,
16440            0,
16441            rstsr0::Porf,
16442            rstsr0::Porf,
16443            Rstsr0_SPEC,
16444            crate::common::RW,
16445        >::from_register(self, 0)
16446    }
16447
16448    #[doc = "Voltage Monitor 0 Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
16449    #[inline(always)]
16450    pub fn pvd0rf(
16451        self,
16452    ) -> crate::common::RegisterField<
16453        1,
16454        0x1,
16455        1,
16456        0,
16457        rstsr0::Pvd0Rf,
16458        rstsr0::Pvd0Rf,
16459        Rstsr0_SPEC,
16460        crate::common::RW,
16461    > {
16462        crate::common::RegisterField::<
16463            1,
16464            0x1,
16465            1,
16466            0,
16467            rstsr0::Pvd0Rf,
16468            rstsr0::Pvd0Rf,
16469            Rstsr0_SPEC,
16470            crate::common::RW,
16471        >::from_register(self, 0)
16472    }
16473
16474    #[doc = "Voltage Monitor 1 Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
16475    #[inline(always)]
16476    pub fn pvd1rf(
16477        self,
16478    ) -> crate::common::RegisterField<
16479        2,
16480        0x1,
16481        1,
16482        0,
16483        rstsr0::Pvd1Rf,
16484        rstsr0::Pvd1Rf,
16485        Rstsr0_SPEC,
16486        crate::common::RW,
16487    > {
16488        crate::common::RegisterField::<
16489            2,
16490            0x1,
16491            1,
16492            0,
16493            rstsr0::Pvd1Rf,
16494            rstsr0::Pvd1Rf,
16495            Rstsr0_SPEC,
16496            crate::common::RW,
16497        >::from_register(self, 0)
16498    }
16499
16500    #[doc = "Voltage Monitor 2 Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
16501    #[inline(always)]
16502    pub fn pvd2rf(
16503        self,
16504    ) -> crate::common::RegisterField<
16505        3,
16506        0x1,
16507        1,
16508        0,
16509        rstsr0::Pvd2Rf,
16510        rstsr0::Pvd2Rf,
16511        Rstsr0_SPEC,
16512        crate::common::RW,
16513    > {
16514        crate::common::RegisterField::<
16515            3,
16516            0x1,
16517            1,
16518            0,
16519            rstsr0::Pvd2Rf,
16520            rstsr0::Pvd2Rf,
16521            Rstsr0_SPEC,
16522            crate::common::RW,
16523        >::from_register(self, 0)
16524    }
16525
16526    #[doc = "Voltage Monitor 3 Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
16527    #[inline(always)]
16528    pub fn pvd3rf(
16529        self,
16530    ) -> crate::common::RegisterField<
16531        4,
16532        0x1,
16533        1,
16534        0,
16535        rstsr0::Pvd3Rf,
16536        rstsr0::Pvd3Rf,
16537        Rstsr0_SPEC,
16538        crate::common::RW,
16539    > {
16540        crate::common::RegisterField::<
16541            4,
16542            0x1,
16543            1,
16544            0,
16545            rstsr0::Pvd3Rf,
16546            rstsr0::Pvd3Rf,
16547            Rstsr0_SPEC,
16548            crate::common::RW,
16549        >::from_register(self, 0)
16550    }
16551
16552    #[doc = "Voltage Monitor 4 Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
16553    #[inline(always)]
16554    pub fn pvd4rf(
16555        self,
16556    ) -> crate::common::RegisterField<
16557        5,
16558        0x1,
16559        1,
16560        0,
16561        rstsr0::Pvd4Rf,
16562        rstsr0::Pvd4Rf,
16563        Rstsr0_SPEC,
16564        crate::common::RW,
16565    > {
16566        crate::common::RegisterField::<
16567            5,
16568            0x1,
16569            1,
16570            0,
16571            rstsr0::Pvd4Rf,
16572            rstsr0::Pvd4Rf,
16573            Rstsr0_SPEC,
16574            crate::common::RW,
16575        >::from_register(self, 0)
16576    }
16577
16578    #[doc = "Voltage Monitor 5 Reset Detect FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
16579    #[inline(always)]
16580    pub fn pvd5rf(
16581        self,
16582    ) -> crate::common::RegisterField<
16583        6,
16584        0x1,
16585        1,
16586        0,
16587        rstsr0::Pvd5Rf,
16588        rstsr0::Pvd5Rf,
16589        Rstsr0_SPEC,
16590        crate::common::RW,
16591    > {
16592        crate::common::RegisterField::<
16593            6,
16594            0x1,
16595            1,
16596            0,
16597            rstsr0::Pvd5Rf,
16598            rstsr0::Pvd5Rf,
16599            Rstsr0_SPEC,
16600            crate::common::RW,
16601        >::from_register(self, 0)
16602    }
16603
16604    #[doc = "Deep Software Standby Reset FlagNOTE: Writable only to clear the flag. Confirm the value is 1 and then write 0."]
16605    #[inline(always)]
16606    pub fn dpsrstf(
16607        self,
16608    ) -> crate::common::RegisterField<
16609        7,
16610        0x1,
16611        1,
16612        0,
16613        rstsr0::Dpsrstf,
16614        rstsr0::Dpsrstf,
16615        Rstsr0_SPEC,
16616        crate::common::RW,
16617    > {
16618        crate::common::RegisterField::<
16619            7,
16620            0x1,
16621            1,
16622            0,
16623            rstsr0::Dpsrstf,
16624            rstsr0::Dpsrstf,
16625            Rstsr0_SPEC,
16626            crate::common::RW,
16627        >::from_register(self, 0)
16628    }
16629}
16630impl ::core::default::Default for Rstsr0 {
16631    #[inline(always)]
16632    fn default() -> Rstsr0 {
16633        <crate::RegValueT<Rstsr0_SPEC> as RegisterValue<_>>::new(0)
16634    }
16635}
16636pub mod rstsr0 {
16637
16638    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16639    pub struct Porf_SPEC;
16640    pub type Porf = crate::EnumBitfieldStruct<u8, Porf_SPEC>;
16641    impl Porf {
16642        #[doc = "Power-on reset not detected."]
16643        pub const _0: Self = Self::new(0);
16644
16645        #[doc = "Power-on reset detected."]
16646        pub const _1: Self = Self::new(1);
16647    }
16648    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16649    pub struct Pvd0Rf_SPEC;
16650    pub type Pvd0Rf = crate::EnumBitfieldStruct<u8, Pvd0Rf_SPEC>;
16651    impl Pvd0Rf {
16652        #[doc = "Voltage Monitor 0 reset not detected."]
16653        pub const _0: Self = Self::new(0);
16654
16655        #[doc = "Voltage Monitor 0 reset detected."]
16656        pub const _1: Self = Self::new(1);
16657    }
16658    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16659    pub struct Pvd1Rf_SPEC;
16660    pub type Pvd1Rf = crate::EnumBitfieldStruct<u8, Pvd1Rf_SPEC>;
16661    impl Pvd1Rf {
16662        #[doc = "Voltage Monitor 1 reset not detected."]
16663        pub const _0: Self = Self::new(0);
16664
16665        #[doc = "Voltage Monitor 1 reset detected."]
16666        pub const _1: Self = Self::new(1);
16667    }
16668    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16669    pub struct Pvd2Rf_SPEC;
16670    pub type Pvd2Rf = crate::EnumBitfieldStruct<u8, Pvd2Rf_SPEC>;
16671    impl Pvd2Rf {
16672        #[doc = "Voltage Monitor 2 reset not detected."]
16673        pub const _0: Self = Self::new(0);
16674
16675        #[doc = "Voltage Monitor 2 reset detected."]
16676        pub const _1: Self = Self::new(1);
16677    }
16678    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16679    pub struct Pvd3Rf_SPEC;
16680    pub type Pvd3Rf = crate::EnumBitfieldStruct<u8, Pvd3Rf_SPEC>;
16681    impl Pvd3Rf {
16682        #[doc = "Voltage Monitor 3 reset not detected."]
16683        pub const _0: Self = Self::new(0);
16684
16685        #[doc = "Voltage Monitor 3 reset detected."]
16686        pub const _1: Self = Self::new(1);
16687    }
16688    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16689    pub struct Pvd4Rf_SPEC;
16690    pub type Pvd4Rf = crate::EnumBitfieldStruct<u8, Pvd4Rf_SPEC>;
16691    impl Pvd4Rf {
16692        #[doc = "Voltage Monitor 4 reset not detected."]
16693        pub const _0: Self = Self::new(0);
16694
16695        #[doc = "Voltage Monitor 4 reset detected."]
16696        pub const _1: Self = Self::new(1);
16697    }
16698    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16699    pub struct Pvd5Rf_SPEC;
16700    pub type Pvd5Rf = crate::EnumBitfieldStruct<u8, Pvd5Rf_SPEC>;
16701    impl Pvd5Rf {
16702        #[doc = "Voltage Monitor 5 reset not detected."]
16703        pub const _0: Self = Self::new(0);
16704
16705        #[doc = "Voltage Monitor 5 reset detected."]
16706        pub const _1: Self = Self::new(1);
16707    }
16708    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16709    pub struct Dpsrstf_SPEC;
16710    pub type Dpsrstf = crate::EnumBitfieldStruct<u8, Dpsrstf_SPEC>;
16711    impl Dpsrstf {
16712        #[doc = "Deep software standby mode cancelation not requested by an interrupt or a reset."]
16713        pub const _0: Self = Self::new(0);
16714
16715        #[doc = "Deep software standby mode cancelation requested by an interrupt or a reset."]
16716        pub const _1: Self = Self::new(1);
16717    }
16718}
16719#[doc(hidden)]
16720#[derive(Copy, Clone, Eq, PartialEq)]
16721pub struct Rstsr2_SPEC;
16722impl crate::sealed::RegSpec for Rstsr2_SPEC {
16723    type DataType = u8;
16724}
16725
16726#[doc = "Reset Status Register 2"]
16727pub type Rstsr2 = crate::RegValueT<Rstsr2_SPEC>;
16728
16729impl Rstsr2 {
16730    #[doc = "Cold/Warm Start Determination Flag"]
16731    #[inline(always)]
16732    pub fn cwsf(
16733        self,
16734    ) -> crate::common::RegisterField<
16735        0,
16736        0x1,
16737        1,
16738        0,
16739        rstsr2::Cwsf,
16740        rstsr2::Cwsf,
16741        Rstsr2_SPEC,
16742        crate::common::RW,
16743    > {
16744        crate::common::RegisterField::<
16745            0,
16746            0x1,
16747            1,
16748            0,
16749            rstsr2::Cwsf,
16750            rstsr2::Cwsf,
16751            Rstsr2_SPEC,
16752            crate::common::RW,
16753        >::from_register(self, 0)
16754    }
16755
16756    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
16757    #[inline(always)]
16758    pub fn reserved(
16759        self,
16760    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Rstsr2_SPEC, crate::common::RW> {
16761        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Rstsr2_SPEC,crate::common::RW>::from_register(self,0)
16762    }
16763}
16764impl ::core::default::Default for Rstsr2 {
16765    #[inline(always)]
16766    fn default() -> Rstsr2 {
16767        <crate::RegValueT<Rstsr2_SPEC> as RegisterValue<_>>::new(0)
16768    }
16769}
16770pub mod rstsr2 {
16771
16772    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16773    pub struct Cwsf_SPEC;
16774    pub type Cwsf = crate::EnumBitfieldStruct<u8, Cwsf_SPEC>;
16775    impl Cwsf {
16776        #[doc = "Cold start"]
16777        pub const _0: Self = Self::new(0);
16778
16779        #[doc = "Warm start"]
16780        pub const _1: Self = Self::new(1);
16781    }
16782}
16783#[doc(hidden)]
16784#[derive(Copy, Clone, Eq, PartialEq)]
16785pub struct Rstsr3_SPEC;
16786impl crate::sealed::RegSpec for Rstsr3_SPEC {
16787    type DataType = u8;
16788}
16789
16790#[doc = "Reset Status Register 3"]
16791pub type Rstsr3 = crate::RegValueT<Rstsr3_SPEC>;
16792
16793impl Rstsr3 {
16794    #[doc = "Overcurrent protection reset Detect Flag"]
16795    #[inline(always)]
16796    pub fn ocprf(
16797        self,
16798    ) -> crate::common::RegisterField<
16799        4,
16800        0x1,
16801        1,
16802        0,
16803        rstsr3::Ocprf,
16804        rstsr3::Ocprf,
16805        Rstsr3_SPEC,
16806        crate::common::RW,
16807    > {
16808        crate::common::RegisterField::<
16809            4,
16810            0x1,
16811            1,
16812            0,
16813            rstsr3::Ocprf,
16814            rstsr3::Ocprf,
16815            Rstsr3_SPEC,
16816            crate::common::RW,
16817        >::from_register(self, 0)
16818    }
16819
16820    #[doc = "These bits are read as 000. The write value should be 000."]
16821    #[inline(always)]
16822    pub fn reserved(
16823        self,
16824    ) -> crate::common::RegisterField<5, 0x7, 1, 0, u8, u8, Rstsr3_SPEC, crate::common::RW> {
16825        crate::common::RegisterField::<5,0x7,1,0,u8,u8,Rstsr3_SPEC,crate::common::RW>::from_register(self,0)
16826    }
16827}
16828impl ::core::default::Default for Rstsr3 {
16829    #[inline(always)]
16830    fn default() -> Rstsr3 {
16831        <crate::RegValueT<Rstsr3_SPEC> as RegisterValue<_>>::new(0)
16832    }
16833}
16834pub mod rstsr3 {
16835
16836    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16837    pub struct Ocprf_SPEC;
16838    pub type Ocprf = crate::EnumBitfieldStruct<u8, Ocprf_SPEC>;
16839    impl Ocprf {
16840        #[doc = "Overcurrent protection reset not detected."]
16841        pub const _0: Self = Self::new(0);
16842
16843        #[doc = "Overcurrent protection reset detected."]
16844        pub const _1: Self = Self::new(1);
16845    }
16846}
16847#[doc(hidden)]
16848#[derive(Copy, Clone, Eq, PartialEq)]
16849pub struct Momcr_SPEC;
16850impl crate::sealed::RegSpec for Momcr_SPEC {
16851    type DataType = u8;
16852}
16853
16854#[doc = "Main Clock Oscillator Mode Oscillation Control Register"]
16855pub type Momcr = crate::RegValueT<Momcr_SPEC>;
16856
16857impl Momcr {
16858    #[doc = "Main Clock Oscillator Drive Capability 0 Switching"]
16859    #[inline(always)]
16860    pub fn modrv0(
16861        self,
16862    ) -> crate::common::RegisterField<
16863        1,
16864        0x7,
16865        1,
16866        0,
16867        momcr::Modrv0,
16868        momcr::Modrv0,
16869        Momcr_SPEC,
16870        crate::common::RW,
16871    > {
16872        crate::common::RegisterField::<
16873            1,
16874            0x7,
16875            1,
16876            0,
16877            momcr::Modrv0,
16878            momcr::Modrv0,
16879            Momcr_SPEC,
16880            crate::common::RW,
16881        >::from_register(self, 0)
16882    }
16883
16884    #[doc = "Auto Gain Control Enable"]
16885    #[inline(always)]
16886    pub fn agcen(
16887        self,
16888    ) -> crate::common::RegisterField<
16889        4,
16890        0x1,
16891        1,
16892        0,
16893        momcr::Agcen,
16894        momcr::Agcen,
16895        Momcr_SPEC,
16896        crate::common::RW,
16897    > {
16898        crate::common::RegisterField::<
16899            4,
16900            0x1,
16901            1,
16902            0,
16903            momcr::Agcen,
16904            momcr::Agcen,
16905            Momcr_SPEC,
16906            crate::common::RW,
16907        >::from_register(self, 0)
16908    }
16909
16910    #[doc = "Main Clock Oscillator Switching"]
16911    #[inline(always)]
16912    pub fn mosel(
16913        self,
16914    ) -> crate::common::RegisterField<
16915        6,
16916        0x1,
16917        1,
16918        0,
16919        momcr::Mosel,
16920        momcr::Mosel,
16921        Momcr_SPEC,
16922        crate::common::RW,
16923    > {
16924        crate::common::RegisterField::<
16925            6,
16926            0x1,
16927            1,
16928            0,
16929            momcr::Mosel,
16930            momcr::Mosel,
16931            Momcr_SPEC,
16932            crate::common::RW,
16933        >::from_register(self, 0)
16934    }
16935
16936    #[doc = "This bit is read as 0. The write value should be 0."]
16937    #[inline(always)]
16938    pub fn reserved(
16939        self,
16940    ) -> crate::common::RegisterFieldBool<7, 1, 0, Momcr_SPEC, crate::common::RW> {
16941        crate::common::RegisterFieldBool::<7, 1, 0, Momcr_SPEC, crate::common::RW>::from_register(
16942            self, 0,
16943        )
16944    }
16945}
16946impl ::core::default::Default for Momcr {
16947    #[inline(always)]
16948    fn default() -> Momcr {
16949        <crate::RegValueT<Momcr_SPEC> as RegisterValue<_>>::new(0)
16950    }
16951}
16952pub mod momcr {
16953
16954    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16955    pub struct Modrv0_SPEC;
16956    pub type Modrv0 = crate::EnumBitfieldStruct<u8, Modrv0_SPEC>;
16957    impl Modrv0 {
16958        #[doc = "8MHz"]
16959        pub const _000: Self = Self::new(0);
16960
16961        #[doc = "8.1MHz to 16MHz"]
16962        pub const _001: Self = Self::new(1);
16963
16964        #[doc = "16.1MHz to 20MHz"]
16965        pub const _010: Self = Self::new(2);
16966
16967        #[doc = "20.1MHz to 26MHz"]
16968        pub const _011: Self = Self::new(3);
16969
16970        #[doc = "48MHz"]
16971        pub const _100: Self = Self::new(4);
16972
16973        #[doc = "48MHz (value after reset)"]
16974        pub const _101: Self = Self::new(5);
16975
16976        #[doc = "48MHz"]
16977        pub const _110: Self = Self::new(6);
16978
16979        #[doc = "48MHz"]
16980        pub const _111: Self = Self::new(7);
16981    }
16982    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16983    pub struct Agcen_SPEC;
16984    pub type Agcen = crate::EnumBitfieldStruct<u8, Agcen_SPEC>;
16985    impl Agcen {
16986        #[doc = "Disable"]
16987        pub const _0: Self = Self::new(0);
16988
16989        #[doc = "Enable"]
16990        pub const _1: Self = Self::new(1);
16991    }
16992    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16993    pub struct Mosel_SPEC;
16994    pub type Mosel = crate::EnumBitfieldStruct<u8, Mosel_SPEC>;
16995    impl Mosel {
16996        #[doc = "Resonator"]
16997        pub const _0: Self = Self::new(0);
16998
16999        #[doc = "External clock input"]
17000        pub const _1: Self = Self::new(1);
17001    }
17002}
17003#[doc(hidden)]
17004#[derive(Copy, Clone, Eq, PartialEq)]
17005pub struct Fwepror_SPEC;
17006impl crate::sealed::RegSpec for Fwepror_SPEC {
17007    type DataType = u8;
17008}
17009
17010#[doc = "Flash Write Erase Protect Register"]
17011pub type Fwepror = crate::RegValueT<Fwepror_SPEC>;
17012
17013impl Fwepror {
17014    #[doc = "Flash Programing and Erasure"]
17015    #[inline(always)]
17016    pub fn flwe(
17017        self,
17018    ) -> crate::common::RegisterField<
17019        0,
17020        0x3,
17021        1,
17022        0,
17023        fwepror::Flwe,
17024        fwepror::Flwe,
17025        Fwepror_SPEC,
17026        crate::common::RW,
17027    > {
17028        crate::common::RegisterField::<
17029            0,
17030            0x3,
17031            1,
17032            0,
17033            fwepror::Flwe,
17034            fwepror::Flwe,
17035            Fwepror_SPEC,
17036            crate::common::RW,
17037        >::from_register(self, 0)
17038    }
17039
17040    #[doc = "These bits are read as 000000. The write value should be 000000."]
17041    #[inline(always)]
17042    pub fn reserved(
17043        self,
17044    ) -> crate::common::RegisterField<2, 0x3f, 1, 0, u8, u8, Fwepror_SPEC, crate::common::RW> {
17045        crate::common::RegisterField::<2,0x3f,1,0,u8,u8,Fwepror_SPEC,crate::common::RW>::from_register(self,0)
17046    }
17047}
17048impl ::core::default::Default for Fwepror {
17049    #[inline(always)]
17050    fn default() -> Fwepror {
17051        <crate::RegValueT<Fwepror_SPEC> as RegisterValue<_>>::new(2)
17052    }
17053}
17054pub mod fwepror {
17055
17056    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17057    pub struct Flwe_SPEC;
17058    pub type Flwe = crate::EnumBitfieldStruct<u8, Flwe_SPEC>;
17059    impl Flwe {
17060        #[doc = "Prohibits programming and erasure of the code flash, data flash or blank checking."]
17061        pub const _00: Self = Self::new(0);
17062
17063        #[doc = "Permits programming and erasure of the code flash, data flash or blank checking."]
17064        pub const _01: Self = Self::new(1);
17065
17066        #[doc = "Prohibits programming and erasure of the code flash, data flash or blank checking."]
17067        pub const _10: Self = Self::new(2);
17068
17069        #[doc = "Prohibits programming and erasure of the code flash, data flash or blank checking."]
17070        pub const _11: Self = Self::new(3);
17071    }
17072}
17073#[doc(hidden)]
17074#[derive(Copy, Clone, Eq, PartialEq)]
17075pub struct Pvd1Cmpcr_SPEC;
17076impl crate::sealed::RegSpec for Pvd1Cmpcr_SPEC {
17077    type DataType = u8;
17078}
17079
17080#[doc = "Voltage Monitor 1 Comparator Control Register"]
17081pub type Pvd1Cmpcr = crate::RegValueT<Pvd1Cmpcr_SPEC>;
17082
17083impl Pvd1Cmpcr {
17084    #[doc = "Detection Voltage 1 Level Select(Standard voltage during drop in voltage)"]
17085    #[inline(always)]
17086    pub fn pvdlvl(
17087        self,
17088    ) -> crate::common::RegisterField<
17089        0,
17090        0x1f,
17091        1,
17092        0,
17093        pvd1cmpcr::Pvdlvl,
17094        pvd1cmpcr::Pvdlvl,
17095        Pvd1Cmpcr_SPEC,
17096        crate::common::RW,
17097    > {
17098        crate::common::RegisterField::<
17099            0,
17100            0x1f,
17101            1,
17102            0,
17103            pvd1cmpcr::Pvdlvl,
17104            pvd1cmpcr::Pvdlvl,
17105            Pvd1Cmpcr_SPEC,
17106            crate::common::RW,
17107        >::from_register(self, 0)
17108    }
17109
17110    #[doc = "These bits are read as 00. The write value should be 00."]
17111    #[inline(always)]
17112    pub fn reserved(
17113        self,
17114    ) -> crate::common::RegisterField<5, 0x3, 1, 0, u8, u8, Pvd1Cmpcr_SPEC, crate::common::RW> {
17115        crate::common::RegisterField::<5,0x3,1,0,u8,u8,Pvd1Cmpcr_SPEC,crate::common::RW>::from_register(self,0)
17116    }
17117
17118    #[doc = "Voltage Detection 1 Enable"]
17119    #[inline(always)]
17120    pub fn pvde(
17121        self,
17122    ) -> crate::common::RegisterField<
17123        7,
17124        0x1,
17125        1,
17126        0,
17127        pvd1cmpcr::Pvde,
17128        pvd1cmpcr::Pvde,
17129        Pvd1Cmpcr_SPEC,
17130        crate::common::RW,
17131    > {
17132        crate::common::RegisterField::<
17133            7,
17134            0x1,
17135            1,
17136            0,
17137            pvd1cmpcr::Pvde,
17138            pvd1cmpcr::Pvde,
17139            Pvd1Cmpcr_SPEC,
17140            crate::common::RW,
17141        >::from_register(self, 0)
17142    }
17143}
17144impl ::core::default::Default for Pvd1Cmpcr {
17145    #[inline(always)]
17146    fn default() -> Pvd1Cmpcr {
17147        <crate::RegValueT<Pvd1Cmpcr_SPEC> as RegisterValue<_>>::new(15)
17148    }
17149}
17150pub mod pvd1cmpcr {
17151
17152    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17153    pub struct Pvdlvl_SPEC;
17154    pub type Pvdlvl = crate::EnumBitfieldStruct<u8, Pvdlvl_SPEC>;
17155    impl Pvdlvl {
17156        #[doc = "4.29V (Vdetm_0)"]
17157        pub const _00000: Self = Self::new(0);
17158
17159        #[doc = "4.16V (Vdetm_1)"]
17160        pub const _00001: Self = Self::new(1);
17161
17162        #[doc = "4.03V (Vdetm_2)"]
17163        pub const _00010: Self = Self::new(2);
17164
17165        #[doc = "3.86V (Vdetm_3)"]
17166        pub const _00011: Self = Self::new(3);
17167
17168        #[doc = "3.14V (Vdetm_4)"]
17169        pub const _00100: Self = Self::new(4);
17170
17171        #[doc = "3.10V (Vdetm_5)"]
17172        pub const _00101: Self = Self::new(5);
17173
17174        #[doc = "3.08V (Vdetm_6)"]
17175        pub const _00110: Self = Self::new(6);
17176
17177        #[doc = "2.85V (Vdetm_7)"]
17178        pub const _00111: Self = Self::new(7);
17179
17180        #[doc = "2.83V (Vdetm_8)"]
17181        pub const _01000: Self = Self::new(8);
17182
17183        #[doc = "2.80V (Vdetm_9)"]
17184        pub const _01001: Self = Self::new(9);
17185
17186        #[doc = "2.62V (Vdetm_10)"]
17187        pub const _01010: Self = Self::new(10);
17188
17189        #[doc = "2.33V (Vdetm_11)"]
17190        pub const _01011: Self = Self::new(11);
17191
17192        #[doc = "1.90V (Vdetm_12)"]
17193        pub const _01100: Self = Self::new(12);
17194
17195        #[doc = "1.86V (Vdetm_13)"]
17196        pub const _01101: Self = Self::new(13);
17197
17198        #[doc = "1.74V (Vdetm_14)"]
17199        pub const _01110: Self = Self::new(14);
17200
17201        #[doc = "1.71V (Vdetm_15)"]
17202        pub const _01111: Self = Self::new(15);
17203    }
17204    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17205    pub struct Pvde_SPEC;
17206    pub type Pvde = crate::EnumBitfieldStruct<u8, Pvde_SPEC>;
17207    impl Pvde {
17208        #[doc = "Voltage detection 1 circuit disabled"]
17209        pub const _0: Self = Self::new(0);
17210
17211        #[doc = "Voltage detection 1 circuit enabled"]
17212        pub const _1: Self = Self::new(1);
17213    }
17214}
17215#[doc(hidden)]
17216#[derive(Copy, Clone, Eq, PartialEq)]
17217pub struct Pvd2Cmpcr_SPEC;
17218impl crate::sealed::RegSpec for Pvd2Cmpcr_SPEC {
17219    type DataType = u8;
17220}
17221
17222#[doc = "Voltage Monitor 2 Comparator Control Register"]
17223pub type Pvd2Cmpcr = crate::RegValueT<Pvd2Cmpcr_SPEC>;
17224
17225impl Pvd2Cmpcr {
17226    #[doc = "Detection Voltage 2 Level Select(Standard voltage during drop in voltage)"]
17227    #[inline(always)]
17228    pub fn pvdlvl(
17229        self,
17230    ) -> crate::common::RegisterField<
17231        0,
17232        0x1f,
17233        1,
17234        0,
17235        pvd2cmpcr::Pvdlvl,
17236        pvd2cmpcr::Pvdlvl,
17237        Pvd2Cmpcr_SPEC,
17238        crate::common::RW,
17239    > {
17240        crate::common::RegisterField::<
17241            0,
17242            0x1f,
17243            1,
17244            0,
17245            pvd2cmpcr::Pvdlvl,
17246            pvd2cmpcr::Pvdlvl,
17247            Pvd2Cmpcr_SPEC,
17248            crate::common::RW,
17249        >::from_register(self, 0)
17250    }
17251
17252    #[doc = "These bits are read as 00. The write value should be 00."]
17253    #[inline(always)]
17254    pub fn reserved(
17255        self,
17256    ) -> crate::common::RegisterField<5, 0x3, 1, 0, u8, u8, Pvd2Cmpcr_SPEC, crate::common::RW> {
17257        crate::common::RegisterField::<5,0x3,1,0,u8,u8,Pvd2Cmpcr_SPEC,crate::common::RW>::from_register(self,0)
17258    }
17259
17260    #[doc = "Voltage Detection 2 Enable"]
17261    #[inline(always)]
17262    pub fn pvde(
17263        self,
17264    ) -> crate::common::RegisterField<
17265        7,
17266        0x1,
17267        1,
17268        0,
17269        pvd2cmpcr::Pvde,
17270        pvd2cmpcr::Pvde,
17271        Pvd2Cmpcr_SPEC,
17272        crate::common::RW,
17273    > {
17274        crate::common::RegisterField::<
17275            7,
17276            0x1,
17277            1,
17278            0,
17279            pvd2cmpcr::Pvde,
17280            pvd2cmpcr::Pvde,
17281            Pvd2Cmpcr_SPEC,
17282            crate::common::RW,
17283        >::from_register(self, 0)
17284    }
17285}
17286impl ::core::default::Default for Pvd2Cmpcr {
17287    #[inline(always)]
17288    fn default() -> Pvd2Cmpcr {
17289        <crate::RegValueT<Pvd2Cmpcr_SPEC> as RegisterValue<_>>::new(15)
17290    }
17291}
17292pub mod pvd2cmpcr {
17293
17294    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17295    pub struct Pvdlvl_SPEC;
17296    pub type Pvdlvl = crate::EnumBitfieldStruct<u8, Pvdlvl_SPEC>;
17297    impl Pvdlvl {
17298        #[doc = "4.29V (Vdetm_0)"]
17299        pub const _00000: Self = Self::new(0);
17300
17301        #[doc = "4.16V (Vdetm_1)"]
17302        pub const _00001: Self = Self::new(1);
17303
17304        #[doc = "4.03V (Vdetm_2)"]
17305        pub const _00010: Self = Self::new(2);
17306
17307        #[doc = "3.86V (Vdetm_3)"]
17308        pub const _00011: Self = Self::new(3);
17309
17310        #[doc = "3.14V (Vdetm_4)"]
17311        pub const _00100: Self = Self::new(4);
17312
17313        #[doc = "3.10V (Vdetm_5)"]
17314        pub const _00101: Self = Self::new(5);
17315
17316        #[doc = "3.08V (Vdetm_6)"]
17317        pub const _00110: Self = Self::new(6);
17318
17319        #[doc = "2.85V (Vdetm_7)"]
17320        pub const _00111: Self = Self::new(7);
17321
17322        #[doc = "2.83V (Vdetm_8)"]
17323        pub const _01000: Self = Self::new(8);
17324
17325        #[doc = "2.80V (Vdetm_9)"]
17326        pub const _01001: Self = Self::new(9);
17327
17328        #[doc = "2.62V (Vdetm_10)"]
17329        pub const _01010: Self = Self::new(10);
17330
17331        #[doc = "2.33V (Vdetm_11)"]
17332        pub const _01011: Self = Self::new(11);
17333
17334        #[doc = "1.90V (Vdetm_12)"]
17335        pub const _01100: Self = Self::new(12);
17336
17337        #[doc = "1.86V (Vdetm_13)"]
17338        pub const _01101: Self = Self::new(13);
17339
17340        #[doc = "1.74V (Vdetm_14)"]
17341        pub const _01110: Self = Self::new(14);
17342
17343        #[doc = "1.71V (Vdetm_15)"]
17344        pub const _01111: Self = Self::new(15);
17345    }
17346    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17347    pub struct Pvde_SPEC;
17348    pub type Pvde = crate::EnumBitfieldStruct<u8, Pvde_SPEC>;
17349    impl Pvde {
17350        #[doc = "Voltage detection 2 circuit disabled"]
17351        pub const _0: Self = Self::new(0);
17352
17353        #[doc = "Voltage detection 2 circuit enabled"]
17354        pub const _1: Self = Self::new(1);
17355    }
17356}
17357#[doc(hidden)]
17358#[derive(Copy, Clone, Eq, PartialEq)]
17359pub struct Pvdcr0_SPEC;
17360impl crate::sealed::RegSpec for Pvdcr0_SPEC {
17361    type DataType = u8;
17362}
17363
17364#[doc = "Voltage Monitor %s Circuit Control Register 0"]
17365pub type Pvdcr0 = crate::RegValueT<Pvdcr0_SPEC>;
17366
17367impl Pvdcr0 {
17368    #[doc = "Voltage Monitor  Interrupt/Reset Enable"]
17369    #[inline(always)]
17370    pub fn rie(
17371        self,
17372    ) -> crate::common::RegisterField<
17373        0,
17374        0x1,
17375        1,
17376        0,
17377        pvdcr0::Rie,
17378        pvdcr0::Rie,
17379        Pvdcr0_SPEC,
17380        crate::common::RW,
17381    > {
17382        crate::common::RegisterField::<
17383            0,
17384            0x1,
17385            1,
17386            0,
17387            pvdcr0::Rie,
17388            pvdcr0::Rie,
17389            Pvdcr0_SPEC,
17390            crate::common::RW,
17391        >::from_register(self, 0)
17392    }
17393
17394    #[doc = "Voltage Monitor Digital Filter Disable Mode Select"]
17395    #[inline(always)]
17396    pub fn dfdis(
17397        self,
17398    ) -> crate::common::RegisterField<
17399        1,
17400        0x1,
17401        1,
17402        0,
17403        pvdcr0::Dfdis,
17404        pvdcr0::Dfdis,
17405        Pvdcr0_SPEC,
17406        crate::common::RW,
17407    > {
17408        crate::common::RegisterField::<
17409            1,
17410            0x1,
17411            1,
17412            0,
17413            pvdcr0::Dfdis,
17414            pvdcr0::Dfdis,
17415            Pvdcr0_SPEC,
17416            crate::common::RW,
17417        >::from_register(self, 0)
17418    }
17419
17420    #[doc = "Voltage Monitor Circuit Comparison Result Output Enable"]
17421    #[inline(always)]
17422    pub fn cmpe(
17423        self,
17424    ) -> crate::common::RegisterField<
17425        2,
17426        0x1,
17427        1,
17428        0,
17429        pvdcr0::Cmpe,
17430        pvdcr0::Cmpe,
17431        Pvdcr0_SPEC,
17432        crate::common::RW,
17433    > {
17434        crate::common::RegisterField::<
17435            2,
17436            0x1,
17437            1,
17438            0,
17439            pvdcr0::Cmpe,
17440            pvdcr0::Cmpe,
17441            Pvdcr0_SPEC,
17442            crate::common::RW,
17443        >::from_register(self, 0)
17444    }
17445
17446    #[doc = "This bit is read as 1. The write value should be 1."]
17447    #[inline(always)]
17448    pub fn reserved(
17449        self,
17450    ) -> crate::common::RegisterFieldBool<3, 1, 0, Pvdcr0_SPEC, crate::common::RW> {
17451        crate::common::RegisterFieldBool::<3, 1, 0, Pvdcr0_SPEC, crate::common::RW>::from_register(
17452            self, 0,
17453        )
17454    }
17455
17456    #[doc = "Sampling Clock Select"]
17457    #[inline(always)]
17458    pub fn fsamp(
17459        self,
17460    ) -> crate::common::RegisterField<
17461        4,
17462        0x3,
17463        1,
17464        0,
17465        pvdcr0::Fsamp,
17466        pvdcr0::Fsamp,
17467        Pvdcr0_SPEC,
17468        crate::common::RW,
17469    > {
17470        crate::common::RegisterField::<
17471            4,
17472            0x3,
17473            1,
17474            0,
17475            pvdcr0::Fsamp,
17476            pvdcr0::Fsamp,
17477            Pvdcr0_SPEC,
17478            crate::common::RW,
17479        >::from_register(self, 0)
17480    }
17481
17482    #[doc = "Voltage Monitor Circuit Mode Select"]
17483    #[inline(always)]
17484    pub fn ri(
17485        self,
17486    ) -> crate::common::RegisterField<
17487        6,
17488        0x1,
17489        1,
17490        0,
17491        pvdcr0::Ri,
17492        pvdcr0::Ri,
17493        Pvdcr0_SPEC,
17494        crate::common::RW,
17495    > {
17496        crate::common::RegisterField::<
17497            6,
17498            0x1,
17499            1,
17500            0,
17501            pvdcr0::Ri,
17502            pvdcr0::Ri,
17503            Pvdcr0_SPEC,
17504            crate::common::RW,
17505        >::from_register(self, 0)
17506    }
17507
17508    #[doc = "Voltage Monitor Reset Negate Select"]
17509    #[inline(always)]
17510    pub fn rn(
17511        self,
17512    ) -> crate::common::RegisterField<
17513        7,
17514        0x1,
17515        1,
17516        0,
17517        pvdcr0::Rn,
17518        pvdcr0::Rn,
17519        Pvdcr0_SPEC,
17520        crate::common::RW,
17521    > {
17522        crate::common::RegisterField::<
17523            7,
17524            0x1,
17525            1,
17526            0,
17527            pvdcr0::Rn,
17528            pvdcr0::Rn,
17529            Pvdcr0_SPEC,
17530            crate::common::RW,
17531        >::from_register(self, 0)
17532    }
17533}
17534impl ::core::default::Default for Pvdcr0 {
17535    #[inline(always)]
17536    fn default() -> Pvdcr0 {
17537        <crate::RegValueT<Pvdcr0_SPEC> as RegisterValue<_>>::new(130)
17538    }
17539}
17540pub mod pvdcr0 {
17541
17542    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17543    pub struct Rie_SPEC;
17544    pub type Rie = crate::EnumBitfieldStruct<u8, Rie_SPEC>;
17545    impl Rie {
17546        #[doc = "Disable"]
17547        pub const _0: Self = Self::new(0);
17548
17549        #[doc = "Enable"]
17550        pub const _1: Self = Self::new(1);
17551    }
17552    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17553    pub struct Dfdis_SPEC;
17554    pub type Dfdis = crate::EnumBitfieldStruct<u8, Dfdis_SPEC>;
17555    impl Dfdis {
17556        #[doc = "Enable digital filter"]
17557        pub const _0: Self = Self::new(0);
17558
17559        #[doc = "Disable digital filter"]
17560        pub const _1: Self = Self::new(1);
17561    }
17562    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17563    pub struct Cmpe_SPEC;
17564    pub type Cmpe = crate::EnumBitfieldStruct<u8, Cmpe_SPEC>;
17565    impl Cmpe {
17566        #[doc = "Disable voltage monitor 1 circuit comparison result output"]
17567        pub const _0: Self = Self::new(0);
17568
17569        #[doc = "Enable voltage monitor 1 circuit comparison result output."]
17570        pub const _1: Self = Self::new(1);
17571    }
17572    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17573    pub struct Fsamp_SPEC;
17574    pub type Fsamp = crate::EnumBitfieldStruct<u8, Fsamp_SPEC>;
17575    impl Fsamp {
17576        #[doc = "1/2 LOCO frequency"]
17577        pub const _00: Self = Self::new(0);
17578
17579        #[doc = "1/4 LOCO frequency"]
17580        pub const _01: Self = Self::new(1);
17581
17582        #[doc = "1/8 LOCO frequency"]
17583        pub const _10: Self = Self::new(2);
17584
17585        #[doc = "1/16 LOCO frequency"]
17586        pub const _11: Self = Self::new(3);
17587    }
17588    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17589    pub struct Ri_SPEC;
17590    pub type Ri = crate::EnumBitfieldStruct<u8, Ri_SPEC>;
17591    impl Ri {
17592        #[doc = "Voltage Monitor  interrupt during Vdet1 passage"]
17593        pub const _0: Self = Self::new(0);
17594
17595        #[doc = "Voltage Monitor  reset enabled when the voltage falls to and below Vdet1"]
17596        pub const _1: Self = Self::new(1);
17597    }
17598    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17599    pub struct Rn_SPEC;
17600    pub type Rn = crate::EnumBitfieldStruct<u8, Rn_SPEC>;
17601    impl Rn {
17602        #[doc = "Negation follows a stabilization time (tPVD) after VCC > Vdet is detected."]
17603        pub const _0: Self = Self::new(0);
17604
17605        #[doc = "Negation follows a stabilization time (tPVD) after assertion of the PVD reset."]
17606        pub const _1: Self = Self::new(1);
17607    }
17608}
17609#[doc(hidden)]
17610#[derive(Copy, Clone, Eq, PartialEq)]
17611pub struct Vbattmnselr_SPEC;
17612impl crate::sealed::RegSpec for Vbattmnselr_SPEC {
17613    type DataType = u8;
17614}
17615
17616#[doc = "Battery Backup Voltage Monitor Function Select Register"]
17617pub type Vbattmnselr = crate::RegValueT<Vbattmnselr_SPEC>;
17618
17619impl Vbattmnselr {
17620    #[doc = "VBATT Voltage Monitor Function Select Bit"]
17621    #[inline(always)]
17622    pub fn vbattmnsel(
17623        self,
17624    ) -> crate::common::RegisterFieldBool<0, 1, 0, Vbattmnselr_SPEC, crate::common::RW> {
17625        crate::common::RegisterFieldBool::<0,1,0,Vbattmnselr_SPEC,crate::common::RW>::from_register(self,0)
17626    }
17627
17628    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
17629    #[inline(always)]
17630    pub fn reserved(
17631        self,
17632    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Vbattmnselr_SPEC, crate::common::RW>
17633    {
17634        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Vbattmnselr_SPEC,crate::common::RW>::from_register(self,0)
17635    }
17636}
17637impl ::core::default::Default for Vbattmnselr {
17638    #[inline(always)]
17639    fn default() -> Vbattmnselr {
17640        <crate::RegValueT<Vbattmnselr_SPEC> as RegisterValue<_>>::new(0)
17641    }
17642}
17643
17644#[doc(hidden)]
17645#[derive(Copy, Clone, Eq, PartialEq)]
17646pub struct Vbtbpcr1_SPEC;
17647impl crate::sealed::RegSpec for Vbtbpcr1_SPEC {
17648    type DataType = u8;
17649}
17650
17651#[doc = "VBATT Battery Power Supply Control Register 1"]
17652pub type Vbtbpcr1 = crate::RegValueT<Vbtbpcr1_SPEC>;
17653
17654impl Vbtbpcr1 {
17655    #[doc = "Battery Power Supply Switch Stop"]
17656    #[inline(always)]
17657    pub fn bpwswstp(
17658        self,
17659    ) -> crate::common::RegisterField<
17660        0,
17661        0x1,
17662        1,
17663        0,
17664        vbtbpcr1::Bpwswstp,
17665        vbtbpcr1::Bpwswstp,
17666        Vbtbpcr1_SPEC,
17667        crate::common::RW,
17668    > {
17669        crate::common::RegisterField::<
17670            0,
17671            0x1,
17672            1,
17673            0,
17674            vbtbpcr1::Bpwswstp,
17675            vbtbpcr1::Bpwswstp,
17676            Vbtbpcr1_SPEC,
17677            crate::common::RW,
17678        >::from_register(self, 0)
17679    }
17680
17681    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
17682    #[inline(always)]
17683    pub fn reserved(
17684        self,
17685    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Vbtbpcr1_SPEC, crate::common::RW> {
17686        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Vbtbpcr1_SPEC,crate::common::RW>::from_register(self,0)
17687    }
17688}
17689impl ::core::default::Default for Vbtbpcr1 {
17690    #[inline(always)]
17691    fn default() -> Vbtbpcr1 {
17692        <crate::RegValueT<Vbtbpcr1_SPEC> as RegisterValue<_>>::new(0)
17693    }
17694}
17695pub mod vbtbpcr1 {
17696
17697    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17698    pub struct Bpwswstp_SPEC;
17699    pub type Bpwswstp = crate::EnumBitfieldStruct<u8, Bpwswstp_SPEC>;
17700    impl Bpwswstp {
17701        #[doc = "Battery power supply switch enable"]
17702        pub const _0: Self = Self::new(0);
17703
17704        #[doc = "Battery power supply switch stop"]
17705        pub const _1: Self = Self::new(1);
17706    }
17707}
17708#[doc(hidden)]
17709#[derive(Copy, Clone, Eq, PartialEq)]
17710pub struct Lpscr_SPEC;
17711impl crate::sealed::RegSpec for Lpscr_SPEC {
17712    type DataType = u8;
17713}
17714
17715#[doc = "Low Power State Control Register"]
17716pub type Lpscr = crate::RegValueT<Lpscr_SPEC>;
17717
17718impl Lpscr {
17719    #[doc = "Low power mode setting bit"]
17720    #[inline(always)]
17721    pub fn lpmd(
17722        self,
17723    ) -> crate::common::RegisterField<
17724        0,
17725        0xf,
17726        1,
17727        0,
17728        lpscr::Lpmd,
17729        lpscr::Lpmd,
17730        Lpscr_SPEC,
17731        crate::common::RW,
17732    > {
17733        crate::common::RegisterField::<
17734            0,
17735            0xf,
17736            1,
17737            0,
17738            lpscr::Lpmd,
17739            lpscr::Lpmd,
17740            Lpscr_SPEC,
17741            crate::common::RW,
17742        >::from_register(self, 0)
17743    }
17744
17745    #[doc = "These bits are read as 0000. The write value should be 0000."]
17746    #[inline(always)]
17747    pub fn reserved(
17748        self,
17749    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, Lpscr_SPEC, crate::common::RW> {
17750        crate::common::RegisterField::<4,0xf,1,0,u8,u8,Lpscr_SPEC,crate::common::RW>::from_register(self,0)
17751    }
17752}
17753impl ::core::default::Default for Lpscr {
17754    #[inline(always)]
17755    fn default() -> Lpscr {
17756        <crate::RegValueT<Lpscr_SPEC> as RegisterValue<_>>::new(4)
17757    }
17758}
17759pub mod lpscr {
17760
17761    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17762    pub struct Lpmd_SPEC;
17763    pub type Lpmd = crate::EnumBitfieldStruct<u8, Lpmd_SPEC>;
17764    impl Lpmd {
17765        #[doc = "System Active"]
17766        pub const _0_H: Self = Self::new(0);
17767
17768        #[doc = "Prohibited. (reserved)"]
17769        pub const _1_H: Self = Self::new(1);
17770
17771        #[doc = "Prohibited. (reserved) for CPU0 Deep Sleep"]
17772        pub const _2_H: Self = Self::new(2);
17773
17774        #[doc = "Prohibited. (reserved) CPU0 Power Gating"]
17775        pub const _3_H: Self = Self::new(3);
17776
17777        #[doc = "Software Standby mode 1"]
17778        pub const _4_H: Self = Self::new(4);
17779
17780        #[doc = "Software Standby mode 2"]
17781        pub const _5_H: Self = Self::new(5);
17782
17783        #[doc = "Prohibited. (reserved for Software Standby mode 3)"]
17784        pub const _6_H: Self = Self::new(6);
17785
17786        #[doc = "Prohibited. (reserved)"]
17787        pub const _7_H: Self = Self::new(7);
17788
17789        #[doc = "Deep Software Standby mode 1"]
17790        pub const _8_H: Self = Self::new(8);
17791
17792        #[doc = "Deep Software Standby mode 2"]
17793        pub const _9_H: Self = Self::new(9);
17794
17795        #[doc = "Deep Software Standby mode 3"]
17796        pub const AH: Self = Self::new(10);
17797    }
17798}
17799#[doc(hidden)]
17800#[derive(Copy, Clone, Eq, PartialEq)]
17801pub struct Sscr1_SPEC;
17802impl crate::sealed::RegSpec for Sscr1_SPEC {
17803    type DataType = u8;
17804}
17805
17806#[doc = "Software Standby Control Register 1"]
17807pub type Sscr1 = crate::RegValueT<Sscr1_SPEC>;
17808
17809impl Sscr1 {
17810    #[doc = "Software Standby 1 Fast Return"]
17811    #[inline(always)]
17812    pub fn ss1fr(
17813        self,
17814    ) -> crate::common::RegisterField<
17815        0,
17816        0x1,
17817        1,
17818        0,
17819        sscr1::Ss1Fr,
17820        sscr1::Ss1Fr,
17821        Sscr1_SPEC,
17822        crate::common::RW,
17823    > {
17824        crate::common::RegisterField::<
17825            0,
17826            0x1,
17827            1,
17828            0,
17829            sscr1::Ss1Fr,
17830            sscr1::Ss1Fr,
17831            Sscr1_SPEC,
17832            crate::common::RW,
17833        >::from_register(self, 0)
17834    }
17835
17836    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
17837    #[inline(always)]
17838    pub fn reserved(
17839        self,
17840    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Sscr1_SPEC, crate::common::RW> {
17841        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Sscr1_SPEC,crate::common::RW>::from_register(self,0)
17842    }
17843}
17844impl ::core::default::Default for Sscr1 {
17845    #[inline(always)]
17846    fn default() -> Sscr1 {
17847        <crate::RegValueT<Sscr1_SPEC> as RegisterValue<_>>::new(0)
17848    }
17849}
17850pub mod sscr1 {
17851
17852    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17853    pub struct Ss1Fr_SPEC;
17854    pub type Ss1Fr = crate::EnumBitfieldStruct<u8, Ss1Fr_SPEC>;
17855    impl Ss1Fr {
17856        #[doc = "When returning from Software Standby mode 1, fast return function is disabled."]
17857        pub const _0: Self = Self::new(0);
17858
17859        #[doc = "When returning from Software Standby mode 1, fast return function is enabled."]
17860        pub const _1: Self = Self::new(1);
17861    }
17862}
17863#[doc(hidden)]
17864#[derive(Copy, Clone, Eq, PartialEq)]
17865pub struct Lvocr_SPEC;
17866impl crate::sealed::RegSpec for Lvocr_SPEC {
17867    type DataType = u8;
17868}
17869
17870#[doc = "Low Power State Control Register"]
17871pub type Lvocr = crate::RegValueT<Lvocr_SPEC>;
17872
17873impl Lvocr {
17874    #[doc = "Low Voltage Operation 0 Enable"]
17875    #[inline(always)]
17876    pub fn lvo0e(
17877        self,
17878    ) -> crate::common::RegisterField<
17879        0,
17880        0x1,
17881        1,
17882        0,
17883        lvocr::Lvo0E,
17884        lvocr::Lvo0E,
17885        Lvocr_SPEC,
17886        crate::common::RW,
17887    > {
17888        crate::common::RegisterField::<
17889            0,
17890            0x1,
17891            1,
17892            0,
17893            lvocr::Lvo0E,
17894            lvocr::Lvo0E,
17895            Lvocr_SPEC,
17896            crate::common::RW,
17897        >::from_register(self, 0)
17898    }
17899
17900    #[doc = "Low Voltage Operation 1 Enable"]
17901    #[inline(always)]
17902    pub fn lvo1e(
17903        self,
17904    ) -> crate::common::RegisterField<
17905        1,
17906        0x1,
17907        1,
17908        0,
17909        lvocr::Lvo1E,
17910        lvocr::Lvo1E,
17911        Lvocr_SPEC,
17912        crate::common::RW,
17913    > {
17914        crate::common::RegisterField::<
17915            1,
17916            0x1,
17917            1,
17918            0,
17919            lvocr::Lvo1E,
17920            lvocr::Lvo1E,
17921            Lvocr_SPEC,
17922            crate::common::RW,
17923        >::from_register(self, 0)
17924    }
17925
17926    #[doc = "These bits are read as 000000. The write value should be 000000."]
17927    #[inline(always)]
17928    pub fn reserved(
17929        self,
17930    ) -> crate::common::RegisterField<2, 0x3f, 1, 0, u8, u8, Lvocr_SPEC, crate::common::RW> {
17931        crate::common::RegisterField::<2,0x3f,1,0,u8,u8,Lvocr_SPEC,crate::common::RW>::from_register(self,0)
17932    }
17933}
17934impl ::core::default::Default for Lvocr {
17935    #[inline(always)]
17936    fn default() -> Lvocr {
17937        <crate::RegValueT<Lvocr_SPEC> as RegisterValue<_>>::new(0)
17938    }
17939}
17940pub mod lvocr {
17941
17942    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17943    pub struct Lvo0E_SPEC;
17944    pub type Lvo0E = crate::EnumBitfieldStruct<u8, Lvo0E_SPEC>;
17945    impl Lvo0E {
17946        #[doc = "Disable"]
17947        pub const _0: Self = Self::new(0);
17948
17949        #[doc = "Enable"]
17950        pub const _1: Self = Self::new(1);
17951    }
17952    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17953    pub struct Lvo1E_SPEC;
17954    pub type Lvo1E = crate::EnumBitfieldStruct<u8, Lvo1E_SPEC>;
17955    impl Lvo1E {
17956        #[doc = "Disable"]
17957        pub const _0: Self = Self::new(0);
17958
17959        #[doc = "Enable"]
17960        pub const _1: Self = Self::new(1);
17961    }
17962}
17963#[doc(hidden)]
17964#[derive(Copy, Clone, Eq, PartialEq)]
17965pub struct Syrstmsk0_SPEC;
17966impl crate::sealed::RegSpec for Syrstmsk0_SPEC {
17967    type DataType = u8;
17968}
17969
17970#[doc = "System Reset Mask Control Register0"]
17971pub type Syrstmsk0 = crate::RegValueT<Syrstmsk0_SPEC>;
17972
17973impl Syrstmsk0 {
17974    #[doc = "Independent watchdog timer Reset Mask"]
17975    #[inline(always)]
17976    pub fn iwdtmask(
17977        self,
17978    ) -> crate::common::RegisterField<
17979        0,
17980        0x1,
17981        1,
17982        0,
17983        syrstmsk0::Iwdtmask,
17984        syrstmsk0::Iwdtmask,
17985        Syrstmsk0_SPEC,
17986        crate::common::RW,
17987    > {
17988        crate::common::RegisterField::<
17989            0,
17990            0x1,
17991            1,
17992            0,
17993            syrstmsk0::Iwdtmask,
17994            syrstmsk0::Iwdtmask,
17995            Syrstmsk0_SPEC,
17996            crate::common::RW,
17997        >::from_register(self, 0)
17998    }
17999
18000    #[doc = "CPU0 Watchdog timer Reset Mask"]
18001    #[inline(always)]
18002    pub fn wdt0mask(
18003        self,
18004    ) -> crate::common::RegisterField<
18005        1,
18006        0x1,
18007        1,
18008        0,
18009        syrstmsk0::Wdt0Mask,
18010        syrstmsk0::Wdt0Mask,
18011        Syrstmsk0_SPEC,
18012        crate::common::RW,
18013    > {
18014        crate::common::RegisterField::<
18015            1,
18016            0x1,
18017            1,
18018            0,
18019            syrstmsk0::Wdt0Mask,
18020            syrstmsk0::Wdt0Mask,
18021            Syrstmsk0_SPEC,
18022            crate::common::RW,
18023        >::from_register(self, 0)
18024    }
18025
18026    #[doc = "Software Reset Mask"]
18027    #[inline(always)]
18028    pub fn swmask(
18029        self,
18030    ) -> crate::common::RegisterField<
18031        2,
18032        0x1,
18033        1,
18034        0,
18035        syrstmsk0::Swmask,
18036        syrstmsk0::Swmask,
18037        Syrstmsk0_SPEC,
18038        crate::common::RW,
18039    > {
18040        crate::common::RegisterField::<
18041            2,
18042            0x1,
18043            1,
18044            0,
18045            syrstmsk0::Swmask,
18046            syrstmsk0::Swmask,
18047            Syrstmsk0_SPEC,
18048            crate::common::RW,
18049        >::from_register(self, 0)
18050    }
18051
18052    #[doc = "This bit is read as 0. The write value should be 0."]
18053    #[inline(always)]
18054    pub fn reserved(
18055        self,
18056    ) -> crate::common::RegisterFieldBool<3, 1, 0, Syrstmsk0_SPEC, crate::common::RW> {
18057        crate::common::RegisterFieldBool::<3,1,0,Syrstmsk0_SPEC,crate::common::RW>::from_register(self,0)
18058    }
18059
18060    #[doc = "CPU0 Lockup Reset Mask"]
18061    #[inline(always)]
18062    pub fn clup0mask(
18063        self,
18064    ) -> crate::common::RegisterField<
18065        4,
18066        0x1,
18067        1,
18068        0,
18069        syrstmsk0::Clup0Mask,
18070        syrstmsk0::Clup0Mask,
18071        Syrstmsk0_SPEC,
18072        crate::common::RW,
18073    > {
18074        crate::common::RegisterField::<
18075            4,
18076            0x1,
18077            1,
18078            0,
18079            syrstmsk0::Clup0Mask,
18080            syrstmsk0::Clup0Mask,
18081            Syrstmsk0_SPEC,
18082            crate::common::RW,
18083        >::from_register(self, 0)
18084    }
18085
18086    #[doc = "Local memory 0 error Reset Mask"]
18087    #[inline(always)]
18088    pub fn lm0mask(
18089        self,
18090    ) -> crate::common::RegisterField<
18091        5,
18092        0x1,
18093        1,
18094        0,
18095        syrstmsk0::Lm0Mask,
18096        syrstmsk0::Lm0Mask,
18097        Syrstmsk0_SPEC,
18098        crate::common::RW,
18099    > {
18100        crate::common::RegisterField::<
18101            5,
18102            0x1,
18103            1,
18104            0,
18105            syrstmsk0::Lm0Mask,
18106            syrstmsk0::Lm0Mask,
18107            Syrstmsk0_SPEC,
18108            crate::common::RW,
18109        >::from_register(self, 0)
18110    }
18111
18112    #[doc = "Common memory error Reset Mask"]
18113    #[inline(always)]
18114    pub fn cmmask(
18115        self,
18116    ) -> crate::common::RegisterField<
18117        6,
18118        0x1,
18119        1,
18120        0,
18121        syrstmsk0::Cmmask,
18122        syrstmsk0::Cmmask,
18123        Syrstmsk0_SPEC,
18124        crate::common::RW,
18125    > {
18126        crate::common::RegisterField::<
18127            6,
18128            0x1,
18129            1,
18130            0,
18131            syrstmsk0::Cmmask,
18132            syrstmsk0::Cmmask,
18133            Syrstmsk0_SPEC,
18134            crate::common::RW,
18135        >::from_register(self, 0)
18136    }
18137
18138    #[doc = "BUS error Reset Mask"]
18139    #[inline(always)]
18140    pub fn busmask(
18141        self,
18142    ) -> crate::common::RegisterField<
18143        7,
18144        0x1,
18145        1,
18146        0,
18147        syrstmsk0::Busmask,
18148        syrstmsk0::Busmask,
18149        Syrstmsk0_SPEC,
18150        crate::common::RW,
18151    > {
18152        crate::common::RegisterField::<
18153            7,
18154            0x1,
18155            1,
18156            0,
18157            syrstmsk0::Busmask,
18158            syrstmsk0::Busmask,
18159            Syrstmsk0_SPEC,
18160            crate::common::RW,
18161        >::from_register(self, 0)
18162    }
18163}
18164impl ::core::default::Default for Syrstmsk0 {
18165    #[inline(always)]
18166    fn default() -> Syrstmsk0 {
18167        <crate::RegValueT<Syrstmsk0_SPEC> as RegisterValue<_>>::new(0)
18168    }
18169}
18170pub mod syrstmsk0 {
18171
18172    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18173    pub struct Iwdtmask_SPEC;
18174    pub type Iwdtmask = crate::EnumBitfieldStruct<u8, Iwdtmask_SPEC>;
18175    impl Iwdtmask {
18176        #[doc = "Reset occurrence is enabled."]
18177        pub const _0: Self = Self::new(0);
18178
18179        #[doc = "Reset occurrence is disabled."]
18180        pub const _1: Self = Self::new(1);
18181    }
18182    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18183    pub struct Wdt0Mask_SPEC;
18184    pub type Wdt0Mask = crate::EnumBitfieldStruct<u8, Wdt0Mask_SPEC>;
18185    impl Wdt0Mask {
18186        #[doc = "Reset occurrence is enabled."]
18187        pub const _0: Self = Self::new(0);
18188
18189        #[doc = "Reset occurrence is disabled."]
18190        pub const _1: Self = Self::new(1);
18191    }
18192    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18193    pub struct Swmask_SPEC;
18194    pub type Swmask = crate::EnumBitfieldStruct<u8, Swmask_SPEC>;
18195    impl Swmask {
18196        #[doc = "Reset occurrence is enabled."]
18197        pub const _0: Self = Self::new(0);
18198
18199        #[doc = "Reset occurrence is disabled."]
18200        pub const _1: Self = Self::new(1);
18201    }
18202    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18203    pub struct Clup0Mask_SPEC;
18204    pub type Clup0Mask = crate::EnumBitfieldStruct<u8, Clup0Mask_SPEC>;
18205    impl Clup0Mask {
18206        #[doc = "Reset occurrence is enabled."]
18207        pub const _0: Self = Self::new(0);
18208
18209        #[doc = "Reset occurrence is disabled."]
18210        pub const _1: Self = Self::new(1);
18211    }
18212    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18213    pub struct Lm0Mask_SPEC;
18214    pub type Lm0Mask = crate::EnumBitfieldStruct<u8, Lm0Mask_SPEC>;
18215    impl Lm0Mask {
18216        #[doc = "Reset occurrence is enabled."]
18217        pub const _0: Self = Self::new(0);
18218
18219        #[doc = "Reset occurrence is disabled."]
18220        pub const _1: Self = Self::new(1);
18221    }
18222    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18223    pub struct Cmmask_SPEC;
18224    pub type Cmmask = crate::EnumBitfieldStruct<u8, Cmmask_SPEC>;
18225    impl Cmmask {
18226        #[doc = "Reset occurrence is enabled."]
18227        pub const _0: Self = Self::new(0);
18228
18229        #[doc = "Reset occurrence is disabled."]
18230        pub const _1: Self = Self::new(1);
18231    }
18232    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18233    pub struct Busmask_SPEC;
18234    pub type Busmask = crate::EnumBitfieldStruct<u8, Busmask_SPEC>;
18235    impl Busmask {
18236        #[doc = "Reset occurrence is enabled."]
18237        pub const _0: Self = Self::new(0);
18238
18239        #[doc = "Reset occurrence is disabled."]
18240        pub const _1: Self = Self::new(1);
18241    }
18242}
18243#[doc(hidden)]
18244#[derive(Copy, Clone, Eq, PartialEq)]
18245pub struct Syrstmsk1_SPEC;
18246impl crate::sealed::RegSpec for Syrstmsk1_SPEC {
18247    type DataType = u8;
18248}
18249
18250#[doc = "System Reset Mask Control Register1"]
18251pub type Syrstmsk1 = crate::RegValueT<Syrstmsk1_SPEC>;
18252
18253impl Syrstmsk1 {
18254    #[doc = "Local memory 1 error Reset Mask"]
18255    #[inline(always)]
18256    pub fn lm1mask(
18257        self,
18258    ) -> crate::common::RegisterField<
18259        5,
18260        0x1,
18261        1,
18262        0,
18263        syrstmsk1::Lm1Mask,
18264        syrstmsk1::Lm1Mask,
18265        Syrstmsk1_SPEC,
18266        crate::common::RW,
18267    > {
18268        crate::common::RegisterField::<
18269            5,
18270            0x1,
18271            1,
18272            0,
18273            syrstmsk1::Lm1Mask,
18274            syrstmsk1::Lm1Mask,
18275            Syrstmsk1_SPEC,
18276            crate::common::RW,
18277        >::from_register(self, 0)
18278    }
18279
18280    #[doc = "This bit is read as 0. The write value should be 0."]
18281    #[inline(always)]
18282    pub fn reserved(
18283        self,
18284    ) -> crate::common::RegisterFieldBool<6, 1, 0, Syrstmsk1_SPEC, crate::common::RW> {
18285        crate::common::RegisterFieldBool::<6,1,0,Syrstmsk1_SPEC,crate::common::RW>::from_register(self,0)
18286    }
18287
18288    #[doc = "Network Reset Mask"]
18289    #[inline(always)]
18290    pub fn nwmask(
18291        self,
18292    ) -> crate::common::RegisterField<
18293        7,
18294        0x1,
18295        1,
18296        0,
18297        syrstmsk1::Nwmask,
18298        syrstmsk1::Nwmask,
18299        Syrstmsk1_SPEC,
18300        crate::common::RW,
18301    > {
18302        crate::common::RegisterField::<
18303            7,
18304            0x1,
18305            1,
18306            0,
18307            syrstmsk1::Nwmask,
18308            syrstmsk1::Nwmask,
18309            Syrstmsk1_SPEC,
18310            crate::common::RW,
18311        >::from_register(self, 0)
18312    }
18313}
18314impl ::core::default::Default for Syrstmsk1 {
18315    #[inline(always)]
18316    fn default() -> Syrstmsk1 {
18317        <crate::RegValueT<Syrstmsk1_SPEC> as RegisterValue<_>>::new(0)
18318    }
18319}
18320pub mod syrstmsk1 {
18321
18322    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18323    pub struct Lm1Mask_SPEC;
18324    pub type Lm1Mask = crate::EnumBitfieldStruct<u8, Lm1Mask_SPEC>;
18325    impl Lm1Mask {
18326        #[doc = "Reset occurrence is enabled."]
18327        pub const _0: Self = Self::new(0);
18328
18329        #[doc = "Reset occurrence is disabled."]
18330        pub const _1: Self = Self::new(1);
18331    }
18332    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18333    pub struct Nwmask_SPEC;
18334    pub type Nwmask = crate::EnumBitfieldStruct<u8, Nwmask_SPEC>;
18335    impl Nwmask {
18336        #[doc = "Reset occurrence is enabled."]
18337        pub const _0: Self = Self::new(0);
18338
18339        #[doc = "Reset occurrence is disabled."]
18340        pub const _1: Self = Self::new(1);
18341    }
18342}
18343#[doc(hidden)]
18344#[derive(Copy, Clone, Eq, PartialEq)]
18345pub struct Syrstmsk2_SPEC;
18346impl crate::sealed::RegSpec for Syrstmsk2_SPEC {
18347    type DataType = u8;
18348}
18349
18350#[doc = "System Reset Mask Control Register2"]
18351pub type Syrstmsk2 = crate::RegValueT<Syrstmsk2_SPEC>;
18352
18353impl Syrstmsk2 {
18354    #[doc = "Voltage Monitor 1 Reset  Mask"]
18355    #[inline(always)]
18356    pub fn pvd1mask(
18357        self,
18358    ) -> crate::common::RegisterField<
18359        0,
18360        0x1,
18361        1,
18362        0,
18363        syrstmsk2::Pvd1Mask,
18364        syrstmsk2::Pvd1Mask,
18365        Syrstmsk2_SPEC,
18366        crate::common::RW,
18367    > {
18368        crate::common::RegisterField::<
18369            0,
18370            0x1,
18371            1,
18372            0,
18373            syrstmsk2::Pvd1Mask,
18374            syrstmsk2::Pvd1Mask,
18375            Syrstmsk2_SPEC,
18376            crate::common::RW,
18377        >::from_register(self, 0)
18378    }
18379
18380    #[doc = "Voltage Monitor 2 Reset  Mask"]
18381    #[inline(always)]
18382    pub fn pvd2mask(
18383        self,
18384    ) -> crate::common::RegisterField<
18385        1,
18386        0x1,
18387        1,
18388        0,
18389        syrstmsk2::Pvd2Mask,
18390        syrstmsk2::Pvd2Mask,
18391        Syrstmsk2_SPEC,
18392        crate::common::RW,
18393    > {
18394        crate::common::RegisterField::<
18395            1,
18396            0x1,
18397            1,
18398            0,
18399            syrstmsk2::Pvd2Mask,
18400            syrstmsk2::Pvd2Mask,
18401            Syrstmsk2_SPEC,
18402            crate::common::RW,
18403        >::from_register(self, 0)
18404    }
18405
18406    #[doc = "Voltage Monitor 3 Reset  Mask"]
18407    #[inline(always)]
18408    pub fn pvd3mask(
18409        self,
18410    ) -> crate::common::RegisterField<
18411        2,
18412        0x1,
18413        1,
18414        0,
18415        syrstmsk2::Pvd3Mask,
18416        syrstmsk2::Pvd3Mask,
18417        Syrstmsk2_SPEC,
18418        crate::common::RW,
18419    > {
18420        crate::common::RegisterField::<
18421            2,
18422            0x1,
18423            1,
18424            0,
18425            syrstmsk2::Pvd3Mask,
18426            syrstmsk2::Pvd3Mask,
18427            Syrstmsk2_SPEC,
18428            crate::common::RW,
18429        >::from_register(self, 0)
18430    }
18431
18432    #[doc = "Voltage Monitor 4 Reset  Mask"]
18433    #[inline(always)]
18434    pub fn pvd4mask(
18435        self,
18436    ) -> crate::common::RegisterField<
18437        3,
18438        0x1,
18439        1,
18440        0,
18441        syrstmsk2::Pvd4Mask,
18442        syrstmsk2::Pvd4Mask,
18443        Syrstmsk2_SPEC,
18444        crate::common::RW,
18445    > {
18446        crate::common::RegisterField::<
18447            3,
18448            0x1,
18449            1,
18450            0,
18451            syrstmsk2::Pvd4Mask,
18452            syrstmsk2::Pvd4Mask,
18453            Syrstmsk2_SPEC,
18454            crate::common::RW,
18455        >::from_register(self, 0)
18456    }
18457
18458    #[doc = "Voltage Monitor 5 Reset  Mask"]
18459    #[inline(always)]
18460    pub fn pvd5mask(
18461        self,
18462    ) -> crate::common::RegisterField<
18463        4,
18464        0x1,
18465        1,
18466        0,
18467        syrstmsk2::Pvd5Mask,
18468        syrstmsk2::Pvd5Mask,
18469        Syrstmsk2_SPEC,
18470        crate::common::RW,
18471    > {
18472        crate::common::RegisterField::<
18473            4,
18474            0x1,
18475            1,
18476            0,
18477            syrstmsk2::Pvd5Mask,
18478            syrstmsk2::Pvd5Mask,
18479            Syrstmsk2_SPEC,
18480            crate::common::RW,
18481        >::from_register(self, 0)
18482    }
18483
18484    #[doc = "These bits are read as 000. The write value should be 000."]
18485    #[inline(always)]
18486    pub fn reserved(
18487        self,
18488    ) -> crate::common::RegisterField<5, 0x7, 1, 0, u8, u8, Syrstmsk2_SPEC, crate::common::RW> {
18489        crate::common::RegisterField::<5,0x7,1,0,u8,u8,Syrstmsk2_SPEC,crate::common::RW>::from_register(self,0)
18490    }
18491}
18492impl ::core::default::Default for Syrstmsk2 {
18493    #[inline(always)]
18494    fn default() -> Syrstmsk2 {
18495        <crate::RegValueT<Syrstmsk2_SPEC> as RegisterValue<_>>::new(0)
18496    }
18497}
18498pub mod syrstmsk2 {
18499
18500    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18501    pub struct Pvd1Mask_SPEC;
18502    pub type Pvd1Mask = crate::EnumBitfieldStruct<u8, Pvd1Mask_SPEC>;
18503    impl Pvd1Mask {
18504        #[doc = "Reset occurrence is enabled."]
18505        pub const _0: Self = Self::new(0);
18506
18507        #[doc = "Reset occurrence is disabled."]
18508        pub const _1: Self = Self::new(1);
18509    }
18510    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18511    pub struct Pvd2Mask_SPEC;
18512    pub type Pvd2Mask = crate::EnumBitfieldStruct<u8, Pvd2Mask_SPEC>;
18513    impl Pvd2Mask {
18514        #[doc = "Reset occurrence is enabled."]
18515        pub const _0: Self = Self::new(0);
18516
18517        #[doc = "Reset occurrence is disabled."]
18518        pub const _1: Self = Self::new(1);
18519    }
18520    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18521    pub struct Pvd3Mask_SPEC;
18522    pub type Pvd3Mask = crate::EnumBitfieldStruct<u8, Pvd3Mask_SPEC>;
18523    impl Pvd3Mask {
18524        #[doc = "Reset occurrence is enabled."]
18525        pub const _0: Self = Self::new(0);
18526
18527        #[doc = "Reset occurrence is disabled."]
18528        pub const _1: Self = Self::new(1);
18529    }
18530    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18531    pub struct Pvd4Mask_SPEC;
18532    pub type Pvd4Mask = crate::EnumBitfieldStruct<u8, Pvd4Mask_SPEC>;
18533    impl Pvd4Mask {
18534        #[doc = "Reset occurrence is enabled."]
18535        pub const _0: Self = Self::new(0);
18536
18537        #[doc = "Reset occurrence is disabled."]
18538        pub const _1: Self = Self::new(1);
18539    }
18540    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18541    pub struct Pvd5Mask_SPEC;
18542    pub type Pvd5Mask = crate::EnumBitfieldStruct<u8, Pvd5Mask_SPEC>;
18543    impl Pvd5Mask {
18544        #[doc = "Reset occurrence is enabled."]
18545        pub const _0: Self = Self::new(0);
18546
18547        #[doc = "Reset occurrence is disabled."]
18548        pub const _1: Self = Self::new(1);
18549    }
18550}
18551#[doc(hidden)]
18552#[derive(Copy, Clone, Eq, PartialEq)]
18553pub struct Pll1Ldocr_SPEC;
18554impl crate::sealed::RegSpec for Pll1Ldocr_SPEC {
18555    type DataType = u8;
18556}
18557
18558#[doc = "PLL1-LDO Control Register"]
18559pub type Pll1Ldocr = crate::RegValueT<Pll1Ldocr_SPEC>;
18560
18561impl Pll1Ldocr {
18562    #[doc = "LDO Stop"]
18563    #[inline(always)]
18564    pub fn ldostp(
18565        self,
18566    ) -> crate::common::RegisterField<
18567        0,
18568        0x1,
18569        1,
18570        0,
18571        pll1ldocr::Ldostp,
18572        pll1ldocr::Ldostp,
18573        Pll1Ldocr_SPEC,
18574        crate::common::RW,
18575    > {
18576        crate::common::RegisterField::<
18577            0,
18578            0x1,
18579            1,
18580            0,
18581            pll1ldocr::Ldostp,
18582            pll1ldocr::Ldostp,
18583            Pll1Ldocr_SPEC,
18584            crate::common::RW,
18585        >::from_register(self, 0)
18586    }
18587
18588    #[doc = "STBY Keep"]
18589    #[inline(always)]
18590    pub fn skeep(
18591        self,
18592    ) -> crate::common::RegisterField<
18593        1,
18594        0x1,
18595        1,
18596        0,
18597        pll1ldocr::Skeep,
18598        pll1ldocr::Skeep,
18599        Pll1Ldocr_SPEC,
18600        crate::common::RW,
18601    > {
18602        crate::common::RegisterField::<
18603            1,
18604            0x1,
18605            1,
18606            0,
18607            pll1ldocr::Skeep,
18608            pll1ldocr::Skeep,
18609            Pll1Ldocr_SPEC,
18610            crate::common::RW,
18611        >::from_register(self, 0)
18612    }
18613
18614    #[doc = "These bits are read as 00000. The write value should be 00000."]
18615    #[inline(always)]
18616    pub fn reserved(
18617        self,
18618    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Pll1Ldocr_SPEC, crate::common::RW>
18619    {
18620        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Pll1Ldocr_SPEC,crate::common::RW>::from_register(self,0)
18621    }
18622}
18623impl ::core::default::Default for Pll1Ldocr {
18624    #[inline(always)]
18625    fn default() -> Pll1Ldocr {
18626        <crate::RegValueT<Pll1Ldocr_SPEC> as RegisterValue<_>>::new(0)
18627    }
18628}
18629pub mod pll1ldocr {
18630
18631    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18632    pub struct Ldostp_SPEC;
18633    pub type Ldostp = crate::EnumBitfieldStruct<u8, Ldostp_SPEC>;
18634    impl Ldostp {
18635        #[doc = "PLL1-LDO is enabled"]
18636        pub const _0: Self = Self::new(0);
18637
18638        #[doc = "PLL1-LDO is stopped"]
18639        pub const _1: Self = Self::new(1);
18640    }
18641    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18642    pub struct Skeep_SPEC;
18643    pub type Skeep = crate::EnumBitfieldStruct<u8, Skeep_SPEC>;
18644    impl Skeep {
18645        #[doc = "PLL1-LDO is stopped during Software Standby mode."]
18646        pub const _0: Self = Self::new(0);
18647
18648        #[doc = "PLL1-LDO state before Software Standby mode is retained during Software Standby mode."]
18649        pub const _1: Self = Self::new(1);
18650    }
18651}
18652#[doc(hidden)]
18653#[derive(Copy, Clone, Eq, PartialEq)]
18654pub struct Pll2Ldocr_SPEC;
18655impl crate::sealed::RegSpec for Pll2Ldocr_SPEC {
18656    type DataType = u8;
18657}
18658
18659#[doc = "PLL2-LDO Control Register"]
18660pub type Pll2Ldocr = crate::RegValueT<Pll2Ldocr_SPEC>;
18661
18662impl Pll2Ldocr {
18663    #[doc = "LDO Stop"]
18664    #[inline(always)]
18665    pub fn ldostp(
18666        self,
18667    ) -> crate::common::RegisterField<
18668        0,
18669        0x1,
18670        1,
18671        0,
18672        pll2ldocr::Ldostp,
18673        pll2ldocr::Ldostp,
18674        Pll2Ldocr_SPEC,
18675        crate::common::RW,
18676    > {
18677        crate::common::RegisterField::<
18678            0,
18679            0x1,
18680            1,
18681            0,
18682            pll2ldocr::Ldostp,
18683            pll2ldocr::Ldostp,
18684            Pll2Ldocr_SPEC,
18685            crate::common::RW,
18686        >::from_register(self, 0)
18687    }
18688
18689    #[doc = "STBY Keep"]
18690    #[inline(always)]
18691    pub fn skeep(
18692        self,
18693    ) -> crate::common::RegisterField<
18694        1,
18695        0x1,
18696        1,
18697        0,
18698        pll2ldocr::Skeep,
18699        pll2ldocr::Skeep,
18700        Pll2Ldocr_SPEC,
18701        crate::common::RW,
18702    > {
18703        crate::common::RegisterField::<
18704            1,
18705            0x1,
18706            1,
18707            0,
18708            pll2ldocr::Skeep,
18709            pll2ldocr::Skeep,
18710            Pll2Ldocr_SPEC,
18711            crate::common::RW,
18712        >::from_register(self, 0)
18713    }
18714
18715    #[doc = "These bits are read as 00000. The write value should be 00000."]
18716    #[inline(always)]
18717    pub fn reserved(
18718        self,
18719    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Pll2Ldocr_SPEC, crate::common::RW>
18720    {
18721        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Pll2Ldocr_SPEC,crate::common::RW>::from_register(self,0)
18722    }
18723}
18724impl ::core::default::Default for Pll2Ldocr {
18725    #[inline(always)]
18726    fn default() -> Pll2Ldocr {
18727        <crate::RegValueT<Pll2Ldocr_SPEC> as RegisterValue<_>>::new(0)
18728    }
18729}
18730pub mod pll2ldocr {
18731
18732    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18733    pub struct Ldostp_SPEC;
18734    pub type Ldostp = crate::EnumBitfieldStruct<u8, Ldostp_SPEC>;
18735    impl Ldostp {
18736        #[doc = "PLL2-LDO is enabled"]
18737        pub const _0: Self = Self::new(0);
18738
18739        #[doc = "PLL2-LDO is stopped"]
18740        pub const _1: Self = Self::new(1);
18741    }
18742    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18743    pub struct Skeep_SPEC;
18744    pub type Skeep = crate::EnumBitfieldStruct<u8, Skeep_SPEC>;
18745    impl Skeep {
18746        #[doc = "PLL2-LDO is stopped during Software Standby mode."]
18747        pub const _0: Self = Self::new(0);
18748
18749        #[doc = "PLL2-LDO state before Software Standby mode is retained during Software Standby mode."]
18750        pub const _1: Self = Self::new(1);
18751    }
18752}
18753#[doc(hidden)]
18754#[derive(Copy, Clone, Eq, PartialEq)]
18755pub struct Hocoldocr_SPEC;
18756impl crate::sealed::RegSpec for Hocoldocr_SPEC {
18757    type DataType = u8;
18758}
18759
18760#[doc = "HOCO-LDO Control Register"]
18761pub type Hocoldocr = crate::RegValueT<Hocoldocr_SPEC>;
18762
18763impl Hocoldocr {
18764    #[doc = "LDO Stop"]
18765    #[inline(always)]
18766    pub fn ldostp(
18767        self,
18768    ) -> crate::common::RegisterField<
18769        0,
18770        0x1,
18771        1,
18772        0,
18773        hocoldocr::Ldostp,
18774        hocoldocr::Ldostp,
18775        Hocoldocr_SPEC,
18776        crate::common::RW,
18777    > {
18778        crate::common::RegisterField::<
18779            0,
18780            0x1,
18781            1,
18782            0,
18783            hocoldocr::Ldostp,
18784            hocoldocr::Ldostp,
18785            Hocoldocr_SPEC,
18786            crate::common::RW,
18787        >::from_register(self, 0)
18788    }
18789
18790    #[doc = "STBY Keep"]
18791    #[inline(always)]
18792    pub fn skeep(
18793        self,
18794    ) -> crate::common::RegisterField<
18795        1,
18796        0x1,
18797        1,
18798        0,
18799        hocoldocr::Skeep,
18800        hocoldocr::Skeep,
18801        Hocoldocr_SPEC,
18802        crate::common::RW,
18803    > {
18804        crate::common::RegisterField::<
18805            1,
18806            0x1,
18807            1,
18808            0,
18809            hocoldocr::Skeep,
18810            hocoldocr::Skeep,
18811            Hocoldocr_SPEC,
18812            crate::common::RW,
18813        >::from_register(self, 0)
18814    }
18815
18816    #[doc = "These bits are read as 00000. The write value should be 00000."]
18817    #[inline(always)]
18818    pub fn reserved(
18819        self,
18820    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Hocoldocr_SPEC, crate::common::RW>
18821    {
18822        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Hocoldocr_SPEC,crate::common::RW>::from_register(self,0)
18823    }
18824}
18825impl ::core::default::Default for Hocoldocr {
18826    #[inline(always)]
18827    fn default() -> Hocoldocr {
18828        <crate::RegValueT<Hocoldocr_SPEC> as RegisterValue<_>>::new(0)
18829    }
18830}
18831pub mod hocoldocr {
18832
18833    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18834    pub struct Ldostp_SPEC;
18835    pub type Ldostp = crate::EnumBitfieldStruct<u8, Ldostp_SPEC>;
18836    impl Ldostp {
18837        #[doc = "HOCO-LDO is enabled"]
18838        pub const _0: Self = Self::new(0);
18839
18840        #[doc = "HOCO-LDO is stopped"]
18841        pub const _1: Self = Self::new(1);
18842    }
18843    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18844    pub struct Skeep_SPEC;
18845    pub type Skeep = crate::EnumBitfieldStruct<u8, Skeep_SPEC>;
18846    impl Skeep {
18847        #[doc = "HOCO-LDO is stopped during Software Standby mode."]
18848        pub const _0: Self = Self::new(0);
18849
18850        #[doc = "HOCO-LDO state before Software Standby mode is retained during Software Standby mode."]
18851        pub const _1: Self = Self::new(1);
18852    }
18853}
18854#[doc(hidden)]
18855#[derive(Copy, Clone, Eq, PartialEq)]
18856pub struct Momcr2_SPEC;
18857impl crate::sealed::RegSpec for Momcr2_SPEC {
18858    type DataType = u8;
18859}
18860
18861#[doc = "Main Clock Oscillator Mode Control Register 2"]
18862pub type Momcr2 = crate::RegValueT<Momcr2_SPEC>;
18863
18864impl Momcr2 {
18865    #[doc = "Main Clock Oscillator Mode Select"]
18866    #[inline(always)]
18867    pub fn momode(
18868        self,
18869    ) -> crate::common::RegisterField<
18870        0,
18871        0x1,
18872        1,
18873        0,
18874        momcr2::Momode,
18875        momcr2::Momode,
18876        Momcr2_SPEC,
18877        crate::common::RW,
18878    > {
18879        crate::common::RegisterField::<
18880            0,
18881            0x1,
18882            1,
18883            0,
18884            momcr2::Momode,
18885            momcr2::Momode,
18886            Momcr2_SPEC,
18887            crate::common::RW,
18888        >::from_register(self, 0)
18889    }
18890
18891    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
18892    #[inline(always)]
18893    pub fn reserved(
18894        self,
18895    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Momcr2_SPEC, crate::common::RW> {
18896        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Momcr2_SPEC,crate::common::RW>::from_register(self,0)
18897    }
18898}
18899impl ::core::default::Default for Momcr2 {
18900    #[inline(always)]
18901    fn default() -> Momcr2 {
18902        <crate::RegValueT<Momcr2_SPEC> as RegisterValue<_>>::new(0)
18903    }
18904}
18905pub mod momcr2 {
18906
18907    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18908    pub struct Momode_SPEC;
18909    pub type Momode = crate::EnumBitfieldStruct<u8, Momode_SPEC>;
18910    impl Momode {
18911        #[doc = "Normal crystal oscillator mode (value after reset)"]
18912        pub const _0: Self = Self::new(0);
18913
18914        #[doc = "8M to 12MHz custom ceramic mode"]
18915        pub const _1: Self = Self::new(1);
18916    }
18917}
18918#[doc(hidden)]
18919#[derive(Copy, Clone, Eq, PartialEq)]
18920pub struct Sosccr_SPEC;
18921impl crate::sealed::RegSpec for Sosccr_SPEC {
18922    type DataType = u8;
18923}
18924
18925#[doc = "Sub-clock oscillator control register"]
18926pub type Sosccr = crate::RegValueT<Sosccr_SPEC>;
18927
18928impl Sosccr {
18929    #[doc = "Sub-Clock Oscillator Stop"]
18930    #[inline(always)]
18931    pub fn sostp(
18932        self,
18933    ) -> crate::common::RegisterField<
18934        0,
18935        0x1,
18936        1,
18937        0,
18938        sosccr::Sostp,
18939        sosccr::Sostp,
18940        Sosccr_SPEC,
18941        crate::common::RW,
18942    > {
18943        crate::common::RegisterField::<
18944            0,
18945            0x1,
18946            1,
18947            0,
18948            sosccr::Sostp,
18949            sosccr::Sostp,
18950            Sosccr_SPEC,
18951            crate::common::RW,
18952        >::from_register(self, 0)
18953    }
18954
18955    #[doc = "These bits are read as 0000000. The write value should be 0000000."]
18956    #[inline(always)]
18957    pub fn reserved(
18958        self,
18959    ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Sosccr_SPEC, crate::common::RW> {
18960        crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Sosccr_SPEC,crate::common::RW>::from_register(self,0)
18961    }
18962}
18963impl ::core::default::Default for Sosccr {
18964    #[inline(always)]
18965    fn default() -> Sosccr {
18966        <crate::RegValueT<Sosccr_SPEC> as RegisterValue<_>>::new(1)
18967    }
18968}
18969pub mod sosccr {
18970
18971    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18972    pub struct Sostp_SPEC;
18973    pub type Sostp = crate::EnumBitfieldStruct<u8, Sostp_SPEC>;
18974    impl Sostp {
18975        #[doc = "Operate the sub-clock oscillator"]
18976        pub const _0: Self = Self::new(0);
18977
18978        #[doc = "Stop the sub-clock oscillator"]
18979        pub const _1: Self = Self::new(1);
18980    }
18981}
18982#[doc(hidden)]
18983#[derive(Copy, Clone, Eq, PartialEq)]
18984pub struct Somcr_SPEC;
18985impl crate::sealed::RegSpec for Somcr_SPEC {
18986    type DataType = u8;
18987}
18988
18989#[doc = "Sub Clock Oscillator Mode Control Register"]
18990pub type Somcr = crate::RegValueT<Somcr_SPEC>;
18991
18992impl Somcr {
18993    #[doc = "Sub Clock Oscillator Drive Capability Switching"]
18994    #[inline(always)]
18995    pub fn sodrv(
18996        self,
18997    ) -> crate::common::RegisterField<
18998        0,
18999        0x3,
19000        1,
19001        0,
19002        somcr::Sodrv,
19003        somcr::Sodrv,
19004        Somcr_SPEC,
19005        crate::common::RW,
19006    > {
19007        crate::common::RegisterField::<
19008            0,
19009            0x3,
19010            1,
19011            0,
19012            somcr::Sodrv,
19013            somcr::Sodrv,
19014            Somcr_SPEC,
19015            crate::common::RW,
19016        >::from_register(self, 0)
19017    }
19018
19019    #[doc = "Sub Clock Oscillator Switching"]
19020    #[inline(always)]
19021    pub fn sosel(
19022        self,
19023    ) -> crate::common::RegisterField<
19024        6,
19025        0x1,
19026        1,
19027        0,
19028        somcr::Sosel,
19029        somcr::Sosel,
19030        Somcr_SPEC,
19031        crate::common::RW,
19032    > {
19033        crate::common::RegisterField::<
19034            6,
19035            0x1,
19036            1,
19037            0,
19038            somcr::Sosel,
19039            somcr::Sosel,
19040            Somcr_SPEC,
19041            crate::common::RW,
19042        >::from_register(self, 0)
19043    }
19044
19045    #[doc = "This bit is read as 0. The write value should be 0."]
19046    #[inline(always)]
19047    pub fn reserved(
19048        self,
19049    ) -> crate::common::RegisterFieldBool<7, 1, 0, Somcr_SPEC, crate::common::RW> {
19050        crate::common::RegisterFieldBool::<7, 1, 0, Somcr_SPEC, crate::common::RW>::from_register(
19051            self, 0,
19052        )
19053    }
19054}
19055impl ::core::default::Default for Somcr {
19056    #[inline(always)]
19057    fn default() -> Somcr {
19058        <crate::RegValueT<Somcr_SPEC> as RegisterValue<_>>::new(0)
19059    }
19060}
19061pub mod somcr {
19062
19063    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19064    pub struct Sodrv_SPEC;
19065    pub type Sodrv = crate::EnumBitfieldStruct<u8, Sodrv_SPEC>;
19066    impl Sodrv {
19067        #[doc = ":Standard(12.5pf) (value after reset)"]
19068        pub const _00: Self = Self::new(0);
19069
19070        #[doc = "Low power mode 1 (9pf)"]
19071        pub const _01: Self = Self::new(1);
19072
19073        #[doc = "Low power mode 2 (7pf)"]
19074        pub const _10: Self = Self::new(2);
19075
19076        #[doc = "Low power mode 3 (4pf)"]
19077        pub const _11: Self = Self::new(3);
19078    }
19079    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19080    pub struct Sosel_SPEC;
19081    pub type Sosel = crate::EnumBitfieldStruct<u8, Sosel_SPEC>;
19082    impl Sosel {
19083        #[doc = "Resonator"]
19084        pub const _0: Self = Self::new(0);
19085
19086        #[doc = "External clock input"]
19087        pub const _1: Self = Self::new(1);
19088    }
19089}
19090#[doc(hidden)]
19091#[derive(Copy, Clone, Eq, PartialEq)]
19092pub struct Vbtber_SPEC;
19093impl crate::sealed::RegSpec for Vbtber_SPEC {
19094    type DataType = u8;
19095}
19096
19097#[doc = "VBATT Backup Enable Register"]
19098pub type Vbtber = crate::RegValueT<Vbtber_SPEC>;
19099
19100impl Vbtber {
19101    #[doc = "VBATT backup register access enable bit"]
19102    #[inline(always)]
19103    pub fn vbae(
19104        self,
19105    ) -> crate::common::RegisterField<
19106        3,
19107        0x1,
19108        1,
19109        0,
19110        vbtber::Vbae,
19111        vbtber::Vbae,
19112        Vbtber_SPEC,
19113        crate::common::RW,
19114    > {
19115        crate::common::RegisterField::<
19116            3,
19117            0x1,
19118            1,
19119            0,
19120            vbtber::Vbae,
19121            vbtber::Vbae,
19122            Vbtber_SPEC,
19123            crate::common::RW,
19124        >::from_register(self, 0)
19125    }
19126
19127    #[doc = "These bits are read as 0000. The write value should be 0000."]
19128    #[inline(always)]
19129    pub fn reserved(
19130        self,
19131    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, Vbtber_SPEC, crate::common::RW> {
19132        crate::common::RegisterField::<4,0xf,1,0,u8,u8,Vbtber_SPEC,crate::common::RW>::from_register(self,0)
19133    }
19134}
19135impl ::core::default::Default for Vbtber {
19136    #[inline(always)]
19137    fn default() -> Vbtber {
19138        <crate::RegValueT<Vbtber_SPEC> as RegisterValue<_>>::new(8)
19139    }
19140}
19141pub mod vbtber {
19142
19143    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19144    pub struct Vbae_SPEC;
19145    pub type Vbae = crate::EnumBitfieldStruct<u8, Vbae_SPEC>;
19146    impl Vbae {
19147        #[doc = "disable to access VBTBKR"]
19148        pub const _0: Self = Self::new(0);
19149
19150        #[doc = "enable to access VBTBKR"]
19151        pub const _1: Self = Self::new(1);
19152    }
19153}
19154#[doc(hidden)]
19155#[derive(Copy, Clone, Eq, PartialEq)]
19156pub struct Vbtbpcr2_SPEC;
19157impl crate::sealed::RegSpec for Vbtbpcr2_SPEC {
19158    type DataType = u8;
19159}
19160
19161#[doc = "VBATT Battery Power Supply Control Register 2"]
19162pub type Vbtbpcr2 = crate::RegValueT<Vbtbpcr2_SPEC>;
19163
19164impl Vbtbpcr2 {
19165    #[doc = "VDETBAT Level Select"]
19166    #[inline(always)]
19167    pub fn vdetlvl(
19168        self,
19169    ) -> crate::common::RegisterField<
19170        0,
19171        0x7,
19172        1,
19173        0,
19174        vbtbpcr2::Vdetlvl,
19175        vbtbpcr2::Vdetlvl,
19176        Vbtbpcr2_SPEC,
19177        crate::common::RW,
19178    > {
19179        crate::common::RegisterField::<
19180            0,
19181            0x7,
19182            1,
19183            0,
19184            vbtbpcr2::Vdetlvl,
19185            vbtbpcr2::Vdetlvl,
19186            Vbtbpcr2_SPEC,
19187            crate::common::RW,
19188        >::from_register(self, 0)
19189    }
19190
19191    #[doc = "Voltage drop detection enable"]
19192    #[inline(always)]
19193    pub fn vdete(
19194        self,
19195    ) -> crate::common::RegisterField<
19196        4,
19197        0x1,
19198        1,
19199        0,
19200        vbtbpcr2::Vdete,
19201        vbtbpcr2::Vdete,
19202        Vbtbpcr2_SPEC,
19203        crate::common::RW,
19204    > {
19205        crate::common::RegisterField::<
19206            4,
19207            0x1,
19208            1,
19209            0,
19210            vbtbpcr2::Vdete,
19211            vbtbpcr2::Vdete,
19212            Vbtbpcr2_SPEC,
19213            crate::common::RW,
19214        >::from_register(self, 0)
19215    }
19216
19217    #[doc = "These bits are read as 000. The write value should be 000."]
19218    #[inline(always)]
19219    pub fn reserved(
19220        self,
19221    ) -> crate::common::RegisterField<5, 0x7, 1, 0, u8, u8, Vbtbpcr2_SPEC, crate::common::RW> {
19222        crate::common::RegisterField::<5,0x7,1,0,u8,u8,Vbtbpcr2_SPEC,crate::common::RW>::from_register(self,0)
19223    }
19224}
19225impl ::core::default::Default for Vbtbpcr2 {
19226    #[inline(always)]
19227    fn default() -> Vbtbpcr2 {
19228        <crate::RegValueT<Vbtbpcr2_SPEC> as RegisterValue<_>>::new(6)
19229    }
19230}
19231pub mod vbtbpcr2 {
19232
19233    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19234    pub struct Vdetlvl_SPEC;
19235    pub type Vdetlvl = crate::EnumBitfieldStruct<u8, Vdetlvl_SPEC>;
19236    impl Vdetlvl {
19237        #[doc = "2.8V"]
19238        pub const _000: Self = Self::new(0);
19239
19240        #[doc = "2.53V"]
19241        pub const _001: Self = Self::new(1);
19242
19243        #[doc = "2.10V"]
19244        pub const _010: Self = Self::new(2);
19245
19246        #[doc = "1.95V"]
19247        pub const _011: Self = Self::new(3);
19248
19249        #[doc = "1.85V"]
19250        pub const _100: Self = Self::new(4);
19251
19252        #[doc = "1.75V"]
19253        pub const _101: Self = Self::new(5);
19254
19255        #[doc = "1.65V"]
19256        pub const _110: Self = Self::new(6);
19257
19258        #[doc = "prohibited (1.55V)"]
19259        pub const _111: Self = Self::new(7);
19260    }
19261    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19262    pub struct Vdete_SPEC;
19263    pub type Vdete = crate::EnumBitfieldStruct<u8, Vdete_SPEC>;
19264    impl Vdete {
19265        #[doc = "VCC Voltage drop detection disable"]
19266        pub const _0: Self = Self::new(0);
19267
19268        #[doc = "VCC Voltage drop detection enable"]
19269        pub const _1: Self = Self::new(1);
19270    }
19271}
19272#[doc(hidden)]
19273#[derive(Copy, Clone, Eq, PartialEq)]
19274pub struct Vbtbpsr_SPEC;
19275impl crate::sealed::RegSpec for Vbtbpsr_SPEC {
19276    type DataType = u8;
19277}
19278
19279#[doc = "VBATT Battery Power Supply Status Register"]
19280pub type Vbtbpsr = crate::RegValueT<Vbtbpsr_SPEC>;
19281
19282impl Vbtbpsr {
19283    #[doc = "VBATT_POR Flag"]
19284    #[inline(always)]
19285    pub fn vbporf(
19286        self,
19287    ) -> crate::common::RegisterField<
19288        0,
19289        0x1,
19290        1,
19291        0,
19292        vbtbpsr::Vbporf,
19293        vbtbpsr::Vbporf,
19294        Vbtbpsr_SPEC,
19295        crate::common::RW,
19296    > {
19297        crate::common::RegisterField::<
19298            0,
19299            0x1,
19300            1,
19301            0,
19302            vbtbpsr::Vbporf,
19303            vbtbpsr::Vbporf,
19304            Vbtbpsr_SPEC,
19305            crate::common::RW,
19306        >::from_register(self, 0)
19307    }
19308
19309    #[doc = "VBATT_POR Monitor"]
19310    #[inline(always)]
19311    pub fn vbporm(
19312        self,
19313    ) -> crate::common::RegisterField<
19314        4,
19315        0x1,
19316        1,
19317        0,
19318        vbtbpsr::Vbporm,
19319        vbtbpsr::Vbporm,
19320        Vbtbpsr_SPEC,
19321        crate::common::RW,
19322    > {
19323        crate::common::RegisterField::<
19324            4,
19325            0x1,
19326            1,
19327            0,
19328            vbtbpsr::Vbporm,
19329            vbtbpsr::Vbporm,
19330            Vbtbpsr_SPEC,
19331            crate::common::RW,
19332        >::from_register(self, 0)
19333    }
19334
19335    #[doc = "Battery Power Supply Switch Status Monitor"]
19336    #[inline(always)]
19337    pub fn bpwswm(
19338        self,
19339    ) -> crate::common::RegisterField<
19340        5,
19341        0x1,
19342        1,
19343        0,
19344        vbtbpsr::Bpwswm,
19345        vbtbpsr::Bpwswm,
19346        Vbtbpsr_SPEC,
19347        crate::common::RW,
19348    > {
19349        crate::common::RegisterField::<
19350            5,
19351            0x1,
19352            1,
19353            0,
19354            vbtbpsr::Bpwswm,
19355            vbtbpsr::Bpwswm,
19356            Vbtbpsr_SPEC,
19357            crate::common::RW,
19358        >::from_register(self, 0)
19359    }
19360
19361    #[doc = "These bits are read as 00. The write value should be 00."]
19362    #[inline(always)]
19363    pub fn reserved(
19364        self,
19365    ) -> crate::common::RegisterField<6, 0x3, 1, 0, u8, u8, Vbtbpsr_SPEC, crate::common::RW> {
19366        crate::common::RegisterField::<6,0x3,1,0,u8,u8,Vbtbpsr_SPEC,crate::common::RW>::from_register(self,0)
19367    }
19368}
19369impl ::core::default::Default for Vbtbpsr {
19370    #[inline(always)]
19371    fn default() -> Vbtbpsr {
19372        <crate::RegValueT<Vbtbpsr_SPEC> as RegisterValue<_>>::new(0)
19373    }
19374}
19375pub mod vbtbpsr {
19376
19377    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19378    pub struct Vbporf_SPEC;
19379    pub type Vbporf = crate::EnumBitfieldStruct<u8, Vbporf_SPEC>;
19380    impl Vbporf {
19381        #[doc = "VBATT_R voltage drop is not detected"]
19382        pub const _0: Self = Self::new(0);
19383
19384        #[doc = "VBATT_R voltage drop is detected"]
19385        pub const _1: Self = Self::new(1);
19386    }
19387    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19388    pub struct Vbporm_SPEC;
19389    pub type Vbporm = crate::EnumBitfieldStruct<u8, Vbporm_SPEC>;
19390    impl Vbporm {
19391        #[doc = "VBATT_R voltage < VVBATPOR"]
19392        pub const _0: Self = Self::new(0);
19393
19394        #[doc = "VBATT_R voltage > VVBATPOR"]
19395        pub const _1: Self = Self::new(1);
19396    }
19397    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19398    pub struct Bpwswm_SPEC;
19399    pub type Bpwswm = crate::EnumBitfieldStruct<u8, Bpwswm_SPEC>;
19400    impl Bpwswm {
19401        #[doc = "VCC voltage < VDETBAT"]
19402        pub const _0: Self = Self::new(0);
19403
19404        #[doc = "VCC voltage > VDETBAT"]
19405        pub const _1: Self = Self::new(1);
19406    }
19407}
19408#[doc(hidden)]
19409#[derive(Copy, Clone, Eq, PartialEq)]
19410pub struct Vbtadsr_SPEC;
19411impl crate::sealed::RegSpec for Vbtadsr_SPEC {
19412    type DataType = u8;
19413}
19414
19415#[doc = "VBATT Tamper detection Status Register"]
19416pub type Vbtadsr = crate::RegValueT<Vbtadsr_SPEC>;
19417
19418impl Vbtadsr {
19419    #[doc = "VBATT Tamper Detection flag 0"]
19420    #[inline(always)]
19421    pub fn vbtadf0(
19422        self,
19423    ) -> crate::common::RegisterField<
19424        0,
19425        0x1,
19426        1,
19427        0,
19428        vbtadsr::Vbtadf0,
19429        vbtadsr::Vbtadf0,
19430        Vbtadsr_SPEC,
19431        crate::common::RW,
19432    > {
19433        crate::common::RegisterField::<
19434            0,
19435            0x1,
19436            1,
19437            0,
19438            vbtadsr::Vbtadf0,
19439            vbtadsr::Vbtadf0,
19440            Vbtadsr_SPEC,
19441            crate::common::RW,
19442        >::from_register(self, 0)
19443    }
19444
19445    #[doc = "VBATT Tamper Detection flag 1"]
19446    #[inline(always)]
19447    pub fn vbtadf1(
19448        self,
19449    ) -> crate::common::RegisterField<
19450        1,
19451        0x1,
19452        1,
19453        0,
19454        vbtadsr::Vbtadf1,
19455        vbtadsr::Vbtadf1,
19456        Vbtadsr_SPEC,
19457        crate::common::RW,
19458    > {
19459        crate::common::RegisterField::<
19460            1,
19461            0x1,
19462            1,
19463            0,
19464            vbtadsr::Vbtadf1,
19465            vbtadsr::Vbtadf1,
19466            Vbtadsr_SPEC,
19467            crate::common::RW,
19468        >::from_register(self, 0)
19469    }
19470
19471    #[doc = "VBATT Tamper Detection flag 2"]
19472    #[inline(always)]
19473    pub fn vbtadf2(
19474        self,
19475    ) -> crate::common::RegisterField<
19476        2,
19477        0x1,
19478        1,
19479        0,
19480        vbtadsr::Vbtadf2,
19481        vbtadsr::Vbtadf2,
19482        Vbtadsr_SPEC,
19483        crate::common::RW,
19484    > {
19485        crate::common::RegisterField::<
19486            2,
19487            0x1,
19488            1,
19489            0,
19490            vbtadsr::Vbtadf2,
19491            vbtadsr::Vbtadf2,
19492            Vbtadsr_SPEC,
19493            crate::common::RW,
19494        >::from_register(self, 0)
19495    }
19496
19497    #[doc = "These bits are read as 00000. The write value should be 00000."]
19498    #[inline(always)]
19499    pub fn reserved(
19500        self,
19501    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Vbtadsr_SPEC, crate::common::RW> {
19502        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Vbtadsr_SPEC,crate::common::RW>::from_register(self,0)
19503    }
19504}
19505impl ::core::default::Default for Vbtadsr {
19506    #[inline(always)]
19507    fn default() -> Vbtadsr {
19508        <crate::RegValueT<Vbtadsr_SPEC> as RegisterValue<_>>::new(0)
19509    }
19510}
19511pub mod vbtadsr {
19512
19513    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19514    pub struct Vbtadf0_SPEC;
19515    pub type Vbtadf0 = crate::EnumBitfieldStruct<u8, Vbtadf0_SPEC>;
19516    impl Vbtadf0 {
19517        #[doc = "RTCIC2 input edge is not detected"]
19518        pub const _0: Self = Self::new(0);
19519
19520        #[doc = "RTCIC2 input edge is detected"]
19521        pub const _1: Self = Self::new(1);
19522    }
19523    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19524    pub struct Vbtadf1_SPEC;
19525    pub type Vbtadf1 = crate::EnumBitfieldStruct<u8, Vbtadf1_SPEC>;
19526    impl Vbtadf1 {
19527        #[doc = "RTCIC1 input edge is not detected"]
19528        pub const _0: Self = Self::new(0);
19529
19530        #[doc = "RTCIC1 input edge is detected"]
19531        pub const _1: Self = Self::new(1);
19532    }
19533    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19534    pub struct Vbtadf2_SPEC;
19535    pub type Vbtadf2 = crate::EnumBitfieldStruct<u8, Vbtadf2_SPEC>;
19536    impl Vbtadf2 {
19537        #[doc = "RTCIC2 input edge is not detected"]
19538        pub const _0: Self = Self::new(0);
19539
19540        #[doc = "RTCIC2 input edge is detected"]
19541        pub const _1: Self = Self::new(1);
19542    }
19543}
19544#[doc(hidden)]
19545#[derive(Copy, Clone, Eq, PartialEq)]
19546pub struct Vbtadcr1_SPEC;
19547impl crate::sealed::RegSpec for Vbtadcr1_SPEC {
19548    type DataType = u8;
19549}
19550
19551#[doc = "VBATT Tamper detection Control  Register 1"]
19552pub type Vbtadcr1 = crate::RegValueT<Vbtadcr1_SPEC>;
19553
19554impl Vbtadcr1 {
19555    #[doc = "VBATT Tamper Detection Interrupt Enable 0"]
19556    #[inline(always)]
19557    pub fn vbtadie0(
19558        self,
19559    ) -> crate::common::RegisterField<
19560        0,
19561        0x1,
19562        1,
19563        0,
19564        vbtadcr1::Vbtadie0,
19565        vbtadcr1::Vbtadie0,
19566        Vbtadcr1_SPEC,
19567        crate::common::RW,
19568    > {
19569        crate::common::RegisterField::<
19570            0,
19571            0x1,
19572            1,
19573            0,
19574            vbtadcr1::Vbtadie0,
19575            vbtadcr1::Vbtadie0,
19576            Vbtadcr1_SPEC,
19577            crate::common::RW,
19578        >::from_register(self, 0)
19579    }
19580
19581    #[doc = "VBATT Tamper Detection Interrupt Enable 1"]
19582    #[inline(always)]
19583    pub fn vbtadie1(
19584        self,
19585    ) -> crate::common::RegisterField<
19586        1,
19587        0x1,
19588        1,
19589        0,
19590        vbtadcr1::Vbtadie1,
19591        vbtadcr1::Vbtadie1,
19592        Vbtadcr1_SPEC,
19593        crate::common::RW,
19594    > {
19595        crate::common::RegisterField::<
19596            1,
19597            0x1,
19598            1,
19599            0,
19600            vbtadcr1::Vbtadie1,
19601            vbtadcr1::Vbtadie1,
19602            Vbtadcr1_SPEC,
19603            crate::common::RW,
19604        >::from_register(self, 0)
19605    }
19606
19607    #[doc = "VBATT Tamper Detection Interrupt Enable 2"]
19608    #[inline(always)]
19609    pub fn vbtadie2(
19610        self,
19611    ) -> crate::common::RegisterField<
19612        2,
19613        0x1,
19614        1,
19615        0,
19616        vbtadcr1::Vbtadie2,
19617        vbtadcr1::Vbtadie2,
19618        Vbtadcr1_SPEC,
19619        crate::common::RW,
19620    > {
19621        crate::common::RegisterField::<
19622            2,
19623            0x1,
19624            1,
19625            0,
19626            vbtadcr1::Vbtadie2,
19627            vbtadcr1::Vbtadie2,
19628            Vbtadcr1_SPEC,
19629            crate::common::RW,
19630        >::from_register(self, 0)
19631    }
19632
19633    #[doc = "VBATT Tamper Detection Backup Register Clear Enable 0"]
19634    #[inline(always)]
19635    pub fn vbtadcle0(
19636        self,
19637    ) -> crate::common::RegisterField<
19638        4,
19639        0x1,
19640        1,
19641        0,
19642        vbtadcr1::Vbtadcle0,
19643        vbtadcr1::Vbtadcle0,
19644        Vbtadcr1_SPEC,
19645        crate::common::RW,
19646    > {
19647        crate::common::RegisterField::<
19648            4,
19649            0x1,
19650            1,
19651            0,
19652            vbtadcr1::Vbtadcle0,
19653            vbtadcr1::Vbtadcle0,
19654            Vbtadcr1_SPEC,
19655            crate::common::RW,
19656        >::from_register(self, 0)
19657    }
19658
19659    #[doc = "VBATT Tamper Detection Backup Register Clear Enable 1"]
19660    #[inline(always)]
19661    pub fn vbtadcle1(
19662        self,
19663    ) -> crate::common::RegisterField<
19664        5,
19665        0x1,
19666        1,
19667        0,
19668        vbtadcr1::Vbtadcle1,
19669        vbtadcr1::Vbtadcle1,
19670        Vbtadcr1_SPEC,
19671        crate::common::RW,
19672    > {
19673        crate::common::RegisterField::<
19674            5,
19675            0x1,
19676            1,
19677            0,
19678            vbtadcr1::Vbtadcle1,
19679            vbtadcr1::Vbtadcle1,
19680            Vbtadcr1_SPEC,
19681            crate::common::RW,
19682        >::from_register(self, 0)
19683    }
19684
19685    #[doc = "VBATT Tamper Detection Backup Register Clear Enable 2"]
19686    #[inline(always)]
19687    pub fn vbtadcle2(
19688        self,
19689    ) -> crate::common::RegisterField<
19690        6,
19691        0x1,
19692        1,
19693        0,
19694        vbtadcr1::Vbtadcle2,
19695        vbtadcr1::Vbtadcle2,
19696        Vbtadcr1_SPEC,
19697        crate::common::RW,
19698    > {
19699        crate::common::RegisterField::<
19700            6,
19701            0x1,
19702            1,
19703            0,
19704            vbtadcr1::Vbtadcle2,
19705            vbtadcr1::Vbtadcle2,
19706            Vbtadcr1_SPEC,
19707            crate::common::RW,
19708        >::from_register(self, 0)
19709    }
19710
19711    #[doc = "This bit is read as 0. The write value should be 0."]
19712    #[inline(always)]
19713    pub fn reserved(
19714        self,
19715    ) -> crate::common::RegisterFieldBool<7, 1, 0, Vbtadcr1_SPEC, crate::common::RW> {
19716        crate::common::RegisterFieldBool::<7, 1, 0, Vbtadcr1_SPEC, crate::common::RW>::from_register(
19717            self, 0,
19718        )
19719    }
19720}
19721impl ::core::default::Default for Vbtadcr1 {
19722    #[inline(always)]
19723    fn default() -> Vbtadcr1 {
19724        <crate::RegValueT<Vbtadcr1_SPEC> as RegisterValue<_>>::new(0)
19725    }
19726}
19727pub mod vbtadcr1 {
19728
19729    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19730    pub struct Vbtadie0_SPEC;
19731    pub type Vbtadie0 = crate::EnumBitfieldStruct<u8, Vbtadie0_SPEC>;
19732    impl Vbtadie0 {
19733        #[doc = "Interrupt by VBTADF0 flag is disable"]
19734        pub const _0: Self = Self::new(0);
19735
19736        #[doc = "Interrupt by VBTADF0 flag is enable"]
19737        pub const _1: Self = Self::new(1);
19738    }
19739    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19740    pub struct Vbtadie1_SPEC;
19741    pub type Vbtadie1 = crate::EnumBitfieldStruct<u8, Vbtadie1_SPEC>;
19742    impl Vbtadie1 {
19743        #[doc = "Interrupt by VBTADF1 flag is disable"]
19744        pub const _0: Self = Self::new(0);
19745
19746        #[doc = "Interrupt by VBTADF1 flag is enable"]
19747        pub const _1: Self = Self::new(1);
19748    }
19749    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19750    pub struct Vbtadie2_SPEC;
19751    pub type Vbtadie2 = crate::EnumBitfieldStruct<u8, Vbtadie2_SPEC>;
19752    impl Vbtadie2 {
19753        #[doc = "Interrupt by VBTADF2 flag is disable"]
19754        pub const _0: Self = Self::new(0);
19755
19756        #[doc = "Interrupt by VBTADF2 flag is enable"]
19757        pub const _1: Self = Self::new(1);
19758    }
19759    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19760    pub struct Vbtadcle0_SPEC;
19761    pub type Vbtadcle0 = crate::EnumBitfieldStruct<u8, Vbtadcle0_SPEC>;
19762    impl Vbtadcle0 {
19763        #[doc = "Clear Backup Register by VBTADF0 flag is disable"]
19764        pub const _0: Self = Self::new(0);
19765
19766        #[doc = "Clear Backup Register by VBTADF0 flag is enable"]
19767        pub const _1: Self = Self::new(1);
19768    }
19769    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19770    pub struct Vbtadcle1_SPEC;
19771    pub type Vbtadcle1 = crate::EnumBitfieldStruct<u8, Vbtadcle1_SPEC>;
19772    impl Vbtadcle1 {
19773        #[doc = "Clear Backup Register by VBTADF1 flag is disable"]
19774        pub const _0: Self = Self::new(0);
19775
19776        #[doc = "Clear Backup Register by VBTADF1 flag is enable"]
19777        pub const _1: Self = Self::new(1);
19778    }
19779    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19780    pub struct Vbtadcle2_SPEC;
19781    pub type Vbtadcle2 = crate::EnumBitfieldStruct<u8, Vbtadcle2_SPEC>;
19782    impl Vbtadcle2 {
19783        #[doc = "Clear Backup Register by VBTADF2 flag is disable"]
19784        pub const _0: Self = Self::new(0);
19785
19786        #[doc = "Clear Backup Register by VBTADF2 flag is enable"]
19787        pub const _1: Self = Self::new(1);
19788    }
19789}
19790#[doc(hidden)]
19791#[derive(Copy, Clone, Eq, PartialEq)]
19792pub struct Vbtadcr2_SPEC;
19793impl crate::sealed::RegSpec for Vbtadcr2_SPEC {
19794    type DataType = u8;
19795}
19796
19797#[doc = "VBATT Tamper detection Control  Register 2"]
19798pub type Vbtadcr2 = crate::RegValueT<Vbtadcr2_SPEC>;
19799
19800impl Vbtadcr2 {
19801    #[doc = "VBATT RTC Time Capture Event Source Select 0"]
19802    #[inline(always)]
19803    pub fn vbrtces0(
19804        self,
19805    ) -> crate::common::RegisterField<
19806        0,
19807        0x1,
19808        1,
19809        0,
19810        vbtadcr2::Vbrtces0,
19811        vbtadcr2::Vbrtces0,
19812        Vbtadcr2_SPEC,
19813        crate::common::RW,
19814    > {
19815        crate::common::RegisterField::<
19816            0,
19817            0x1,
19818            1,
19819            0,
19820            vbtadcr2::Vbrtces0,
19821            vbtadcr2::Vbrtces0,
19822            Vbtadcr2_SPEC,
19823            crate::common::RW,
19824        >::from_register(self, 0)
19825    }
19826
19827    #[doc = "VBATT RTC Time Capture Event Source Select 1"]
19828    #[inline(always)]
19829    pub fn vbrtces1(
19830        self,
19831    ) -> crate::common::RegisterField<
19832        1,
19833        0x1,
19834        1,
19835        0,
19836        vbtadcr2::Vbrtces1,
19837        vbtadcr2::Vbrtces1,
19838        Vbtadcr2_SPEC,
19839        crate::common::RW,
19840    > {
19841        crate::common::RegisterField::<
19842            1,
19843            0x1,
19844            1,
19845            0,
19846            vbtadcr2::Vbrtces1,
19847            vbtadcr2::Vbrtces1,
19848            Vbtadcr2_SPEC,
19849            crate::common::RW,
19850        >::from_register(self, 0)
19851    }
19852
19853    #[doc = "VBATT RTC Time Capture Event Source Select 2"]
19854    #[inline(always)]
19855    pub fn vbrtces2(
19856        self,
19857    ) -> crate::common::RegisterField<
19858        2,
19859        0x1,
19860        1,
19861        0,
19862        vbtadcr2::Vbrtces2,
19863        vbtadcr2::Vbrtces2,
19864        Vbtadcr2_SPEC,
19865        crate::common::RW,
19866    > {
19867        crate::common::RegisterField::<
19868            2,
19869            0x1,
19870            1,
19871            0,
19872            vbtadcr2::Vbrtces2,
19873            vbtadcr2::Vbrtces2,
19874            Vbtadcr2_SPEC,
19875            crate::common::RW,
19876        >::from_register(self, 0)
19877    }
19878
19879    #[doc = "These bits are read as 00000. The write value should be 00000."]
19880    #[inline(always)]
19881    pub fn reserved(
19882        self,
19883    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Vbtadcr2_SPEC, crate::common::RW> {
19884        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Vbtadcr2_SPEC,crate::common::RW>::from_register(self,0)
19885    }
19886}
19887impl ::core::default::Default for Vbtadcr2 {
19888    #[inline(always)]
19889    fn default() -> Vbtadcr2 {
19890        <crate::RegValueT<Vbtadcr2_SPEC> as RegisterValue<_>>::new(0)
19891    }
19892}
19893pub mod vbtadcr2 {
19894
19895    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19896    pub struct Vbrtces0_SPEC;
19897    pub type Vbrtces0 = crate::EnumBitfieldStruct<u8, Vbrtces0_SPEC>;
19898    impl Vbrtces0 {
19899        #[doc = "RTCIC0"]
19900        pub const _0: Self = Self::new(0);
19901
19902        #[doc = "VBTADF0"]
19903        pub const _1: Self = Self::new(1);
19904    }
19905    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19906    pub struct Vbrtces1_SPEC;
19907    pub type Vbrtces1 = crate::EnumBitfieldStruct<u8, Vbrtces1_SPEC>;
19908    impl Vbrtces1 {
19909        #[doc = "RTCIC1"]
19910        pub const _0: Self = Self::new(0);
19911
19912        #[doc = "VBTADF1"]
19913        pub const _1: Self = Self::new(1);
19914    }
19915    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19916    pub struct Vbrtces2_SPEC;
19917    pub type Vbrtces2 = crate::EnumBitfieldStruct<u8, Vbrtces2_SPEC>;
19918    impl Vbrtces2 {
19919        #[doc = "RTCIC2"]
19920        pub const _0: Self = Self::new(0);
19921
19922        #[doc = "VBTADF2"]
19923        pub const _1: Self = Self::new(1);
19924    }
19925}
19926#[doc(hidden)]
19927#[derive(Copy, Clone, Eq, PartialEq)]
19928pub struct Vbtictlr_SPEC;
19929impl crate::sealed::RegSpec for Vbtictlr_SPEC {
19930    type DataType = u8;
19931}
19932
19933#[doc = "VBATT Input Control Register"]
19934pub type Vbtictlr = crate::RegValueT<Vbtictlr_SPEC>;
19935
19936impl Vbtictlr {
19937    #[doc = "RTCIC0 Input Enable"]
19938    #[inline(always)]
19939    pub fn vch0inen(
19940        self,
19941    ) -> crate::common::RegisterField<
19942        0,
19943        0x1,
19944        1,
19945        0,
19946        vbtictlr::Vch0Inen,
19947        vbtictlr::Vch0Inen,
19948        Vbtictlr_SPEC,
19949        crate::common::RW,
19950    > {
19951        crate::common::RegisterField::<
19952            0,
19953            0x1,
19954            1,
19955            0,
19956            vbtictlr::Vch0Inen,
19957            vbtictlr::Vch0Inen,
19958            Vbtictlr_SPEC,
19959            crate::common::RW,
19960        >::from_register(self, 0)
19961    }
19962
19963    #[doc = "RTCIC1 Input Enable"]
19964    #[inline(always)]
19965    pub fn vch1inen(
19966        self,
19967    ) -> crate::common::RegisterField<
19968        1,
19969        0x1,
19970        1,
19971        0,
19972        vbtictlr::Vch1Inen,
19973        vbtictlr::Vch1Inen,
19974        Vbtictlr_SPEC,
19975        crate::common::RW,
19976    > {
19977        crate::common::RegisterField::<
19978            1,
19979            0x1,
19980            1,
19981            0,
19982            vbtictlr::Vch1Inen,
19983            vbtictlr::Vch1Inen,
19984            Vbtictlr_SPEC,
19985            crate::common::RW,
19986        >::from_register(self, 0)
19987    }
19988
19989    #[doc = "RTCIC2 Input Enable"]
19990    #[inline(always)]
19991    pub fn vch2inen(
19992        self,
19993    ) -> crate::common::RegisterField<
19994        2,
19995        0x1,
19996        1,
19997        0,
19998        vbtictlr::Vch2Inen,
19999        vbtictlr::Vch2Inen,
20000        Vbtictlr_SPEC,
20001        crate::common::RW,
20002    > {
20003        crate::common::RegisterField::<
20004            2,
20005            0x1,
20006            1,
20007            0,
20008            vbtictlr::Vch2Inen,
20009            vbtictlr::Vch2Inen,
20010            Vbtictlr_SPEC,
20011            crate::common::RW,
20012        >::from_register(self, 0)
20013    }
20014
20015    #[doc = "These bits are read as 00000. The write value should be 00000."]
20016    #[inline(always)]
20017    pub fn reserved(
20018        self,
20019    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Vbtictlr_SPEC, crate::common::RW> {
20020        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Vbtictlr_SPEC,crate::common::RW>::from_register(self,0)
20021    }
20022}
20023impl ::core::default::Default for Vbtictlr {
20024    #[inline(always)]
20025    fn default() -> Vbtictlr {
20026        <crate::RegValueT<Vbtictlr_SPEC> as RegisterValue<_>>::new(0)
20027    }
20028}
20029pub mod vbtictlr {
20030
20031    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20032    pub struct Vch0Inen_SPEC;
20033    pub type Vch0Inen = crate::EnumBitfieldStruct<u8, Vch0Inen_SPEC>;
20034    impl Vch0Inen {
20035        #[doc = "Disabled"]
20036        pub const _0: Self = Self::new(0);
20037
20038        #[doc = "Enabled"]
20039        pub const _1: Self = Self::new(1);
20040    }
20041    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20042    pub struct Vch1Inen_SPEC;
20043    pub type Vch1Inen = crate::EnumBitfieldStruct<u8, Vch1Inen_SPEC>;
20044    impl Vch1Inen {
20045        #[doc = "Disabled"]
20046        pub const _0: Self = Self::new(0);
20047
20048        #[doc = "Enabled"]
20049        pub const _1: Self = Self::new(1);
20050    }
20051    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20052    pub struct Vch2Inen_SPEC;
20053    pub type Vch2Inen = crate::EnumBitfieldStruct<u8, Vch2Inen_SPEC>;
20054    impl Vch2Inen {
20055        #[doc = "Disabled"]
20056        pub const _0: Self = Self::new(0);
20057
20058        #[doc = "Enabled"]
20059        pub const _1: Self = Self::new(1);
20060    }
20061}
20062#[doc(hidden)]
20063#[derive(Copy, Clone, Eq, PartialEq)]
20064pub struct Vbtictlr2_SPEC;
20065impl crate::sealed::RegSpec for Vbtictlr2_SPEC {
20066    type DataType = u8;
20067}
20068
20069#[doc = "VBATT Input Control Register 2"]
20070pub type Vbtictlr2 = crate::RegValueT<Vbtictlr2_SPEC>;
20071
20072impl Vbtictlr2 {
20073    #[doc = "VBATT CH0 Input Noise Canceler Enable"]
20074    #[inline(always)]
20075    pub fn vch0nce(
20076        self,
20077    ) -> crate::common::RegisterField<
20078        0,
20079        0x1,
20080        1,
20081        0,
20082        vbtictlr2::Vch0Nce,
20083        vbtictlr2::Vch0Nce,
20084        Vbtictlr2_SPEC,
20085        crate::common::RW,
20086    > {
20087        crate::common::RegisterField::<
20088            0,
20089            0x1,
20090            1,
20091            0,
20092            vbtictlr2::Vch0Nce,
20093            vbtictlr2::Vch0Nce,
20094            Vbtictlr2_SPEC,
20095            crate::common::RW,
20096        >::from_register(self, 0)
20097    }
20098
20099    #[doc = "VBATT CH1 Input Noise Canceler Enable"]
20100    #[inline(always)]
20101    pub fn vch1nce(
20102        self,
20103    ) -> crate::common::RegisterField<
20104        1,
20105        0x1,
20106        1,
20107        0,
20108        vbtictlr2::Vch1Nce,
20109        vbtictlr2::Vch1Nce,
20110        Vbtictlr2_SPEC,
20111        crate::common::RW,
20112    > {
20113        crate::common::RegisterField::<
20114            1,
20115            0x1,
20116            1,
20117            0,
20118            vbtictlr2::Vch1Nce,
20119            vbtictlr2::Vch1Nce,
20120            Vbtictlr2_SPEC,
20121            crate::common::RW,
20122        >::from_register(self, 0)
20123    }
20124
20125    #[doc = "VBATT CH2 Input Noise Canceler Enable"]
20126    #[inline(always)]
20127    pub fn vch2nce(
20128        self,
20129    ) -> crate::common::RegisterField<
20130        2,
20131        0x1,
20132        1,
20133        0,
20134        vbtictlr2::Vch2Nce,
20135        vbtictlr2::Vch2Nce,
20136        Vbtictlr2_SPEC,
20137        crate::common::RW,
20138    > {
20139        crate::common::RegisterField::<
20140            2,
20141            0x1,
20142            1,
20143            0,
20144            vbtictlr2::Vch2Nce,
20145            vbtictlr2::Vch2Nce,
20146            Vbtictlr2_SPEC,
20147            crate::common::RW,
20148        >::from_register(self, 0)
20149    }
20150
20151    #[doc = "VBATT CH0 Input Edge Select"]
20152    #[inline(always)]
20153    pub fn vch0eg(
20154        self,
20155    ) -> crate::common::RegisterField<
20156        4,
20157        0x1,
20158        1,
20159        0,
20160        vbtictlr2::Vch0Eg,
20161        vbtictlr2::Vch0Eg,
20162        Vbtictlr2_SPEC,
20163        crate::common::RW,
20164    > {
20165        crate::common::RegisterField::<
20166            4,
20167            0x1,
20168            1,
20169            0,
20170            vbtictlr2::Vch0Eg,
20171            vbtictlr2::Vch0Eg,
20172            Vbtictlr2_SPEC,
20173            crate::common::RW,
20174        >::from_register(self, 0)
20175    }
20176
20177    #[doc = "VBATT CH1 Input Edge Select"]
20178    #[inline(always)]
20179    pub fn vch1eg(
20180        self,
20181    ) -> crate::common::RegisterField<
20182        5,
20183        0x1,
20184        1,
20185        0,
20186        vbtictlr2::Vch1Eg,
20187        vbtictlr2::Vch1Eg,
20188        Vbtictlr2_SPEC,
20189        crate::common::RW,
20190    > {
20191        crate::common::RegisterField::<
20192            5,
20193            0x1,
20194            1,
20195            0,
20196            vbtictlr2::Vch1Eg,
20197            vbtictlr2::Vch1Eg,
20198            Vbtictlr2_SPEC,
20199            crate::common::RW,
20200        >::from_register(self, 0)
20201    }
20202
20203    #[doc = "VBATT CH2 Input Edge Select"]
20204    #[inline(always)]
20205    pub fn vch2eg(
20206        self,
20207    ) -> crate::common::RegisterField<
20208        6,
20209        0x1,
20210        1,
20211        0,
20212        vbtictlr2::Vch2Eg,
20213        vbtictlr2::Vch2Eg,
20214        Vbtictlr2_SPEC,
20215        crate::common::RW,
20216    > {
20217        crate::common::RegisterField::<
20218            6,
20219            0x1,
20220            1,
20221            0,
20222            vbtictlr2::Vch2Eg,
20223            vbtictlr2::Vch2Eg,
20224            Vbtictlr2_SPEC,
20225            crate::common::RW,
20226        >::from_register(self, 0)
20227    }
20228
20229    #[doc = "This bit is read as 0. The write value should be 0."]
20230    #[inline(always)]
20231    pub fn reserved(
20232        self,
20233    ) -> crate::common::RegisterFieldBool<7, 1, 0, Vbtictlr2_SPEC, crate::common::RW> {
20234        crate::common::RegisterFieldBool::<7,1,0,Vbtictlr2_SPEC,crate::common::RW>::from_register(self,0)
20235    }
20236}
20237impl ::core::default::Default for Vbtictlr2 {
20238    #[inline(always)]
20239    fn default() -> Vbtictlr2 {
20240        <crate::RegValueT<Vbtictlr2_SPEC> as RegisterValue<_>>::new(112)
20241    }
20242}
20243pub mod vbtictlr2 {
20244
20245    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20246    pub struct Vch0Nce_SPEC;
20247    pub type Vch0Nce = crate::EnumBitfieldStruct<u8, Vch0Nce_SPEC>;
20248    impl Vch0Nce {
20249        #[doc = "RTCIC0 pin input noise canceler disable"]
20250        pub const _0: Self = Self::new(0);
20251
20252        #[doc = "RTCIC0 pin input noise canceler enable"]
20253        pub const _1: Self = Self::new(1);
20254    }
20255    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20256    pub struct Vch1Nce_SPEC;
20257    pub type Vch1Nce = crate::EnumBitfieldStruct<u8, Vch1Nce_SPEC>;
20258    impl Vch1Nce {
20259        #[doc = "RTCIC1 pin inputs noise canceler disable"]
20260        pub const _0: Self = Self::new(0);
20261
20262        #[doc = "RTCIC1 pin input noise canceler enable"]
20263        pub const _1: Self = Self::new(1);
20264    }
20265    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20266    pub struct Vch2Nce_SPEC;
20267    pub type Vch2Nce = crate::EnumBitfieldStruct<u8, Vch2Nce_SPEC>;
20268    impl Vch2Nce {
20269        #[doc = "RTCIC2 pin input noise canceler disable"]
20270        pub const _0: Self = Self::new(0);
20271
20272        #[doc = "RTCIC2 pin input noise canceler enable"]
20273        pub const _1: Self = Self::new(1);
20274    }
20275    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20276    pub struct Vch0Eg_SPEC;
20277    pub type Vch0Eg = crate::EnumBitfieldStruct<u8, Vch0Eg_SPEC>;
20278    impl Vch0Eg {
20279        #[doc = "RTCIC0 pin input event is detected on falling edge"]
20280        pub const _0: Self = Self::new(0);
20281
20282        #[doc = "RTCIC0 pin input event is detected on rising edge"]
20283        pub const _1: Self = Self::new(1);
20284    }
20285    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20286    pub struct Vch1Eg_SPEC;
20287    pub type Vch1Eg = crate::EnumBitfieldStruct<u8, Vch1Eg_SPEC>;
20288    impl Vch1Eg {
20289        #[doc = "RTCIC1 pin input event is detected on falling edge"]
20290        pub const _0: Self = Self::new(0);
20291
20292        #[doc = "RTCIC1 pin input event is detected on rising edge"]
20293        pub const _1: Self = Self::new(1);
20294    }
20295    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20296    pub struct Vch2Eg_SPEC;
20297    pub type Vch2Eg = crate::EnumBitfieldStruct<u8, Vch2Eg_SPEC>;
20298    impl Vch2Eg {
20299        #[doc = "RTCIC2 pin input event is detected on falling edge"]
20300        pub const _0: Self = Self::new(0);
20301
20302        #[doc = "RTCIC2 pin input event is detected on rising edge"]
20303        pub const _1: Self = Self::new(1);
20304    }
20305}
20306#[doc(hidden)]
20307#[derive(Copy, Clone, Eq, PartialEq)]
20308pub struct Vbtimonr_SPEC;
20309impl crate::sealed::RegSpec for Vbtimonr_SPEC {
20310    type DataType = u8;
20311}
20312
20313#[doc = "VBATT Input Monitor Register"]
20314pub type Vbtimonr = crate::RegValueT<Vbtimonr_SPEC>;
20315
20316impl Vbtimonr {
20317    #[doc = "VBATT CH0 Input monitor"]
20318    #[inline(always)]
20319    pub fn vch0mon(
20320        self,
20321    ) -> crate::common::RegisterField<
20322        0,
20323        0x1,
20324        1,
20325        0,
20326        vbtimonr::Vch0Mon,
20327        vbtimonr::Vch0Mon,
20328        Vbtimonr_SPEC,
20329        crate::common::RW,
20330    > {
20331        crate::common::RegisterField::<
20332            0,
20333            0x1,
20334            1,
20335            0,
20336            vbtimonr::Vch0Mon,
20337            vbtimonr::Vch0Mon,
20338            Vbtimonr_SPEC,
20339            crate::common::RW,
20340        >::from_register(self, 0)
20341    }
20342
20343    #[doc = "VBATT CH1 Input monitor"]
20344    #[inline(always)]
20345    pub fn vch1mon(
20346        self,
20347    ) -> crate::common::RegisterField<
20348        1,
20349        0x1,
20350        1,
20351        0,
20352        vbtimonr::Vch1Mon,
20353        vbtimonr::Vch1Mon,
20354        Vbtimonr_SPEC,
20355        crate::common::RW,
20356    > {
20357        crate::common::RegisterField::<
20358            1,
20359            0x1,
20360            1,
20361            0,
20362            vbtimonr::Vch1Mon,
20363            vbtimonr::Vch1Mon,
20364            Vbtimonr_SPEC,
20365            crate::common::RW,
20366        >::from_register(self, 0)
20367    }
20368
20369    #[doc = "VBATT CH2 Input monitor"]
20370    #[inline(always)]
20371    pub fn vch2mon(
20372        self,
20373    ) -> crate::common::RegisterField<
20374        2,
20375        0x1,
20376        1,
20377        0,
20378        vbtimonr::Vch2Mon,
20379        vbtimonr::Vch2Mon,
20380        Vbtimonr_SPEC,
20381        crate::common::RW,
20382    > {
20383        crate::common::RegisterField::<
20384            2,
20385            0x1,
20386            1,
20387            0,
20388            vbtimonr::Vch2Mon,
20389            vbtimonr::Vch2Mon,
20390            Vbtimonr_SPEC,
20391            crate::common::RW,
20392        >::from_register(self, 0)
20393    }
20394
20395    #[doc = "These bits are read as 00000. The write value should be 00000."]
20396    #[inline(always)]
20397    pub fn reserved(
20398        self,
20399    ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Vbtimonr_SPEC, crate::common::RW> {
20400        crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Vbtimonr_SPEC,crate::common::RW>::from_register(self,0)
20401    }
20402}
20403impl ::core::default::Default for Vbtimonr {
20404    #[inline(always)]
20405    fn default() -> Vbtimonr {
20406        <crate::RegValueT<Vbtimonr_SPEC> as RegisterValue<_>>::new(0)
20407    }
20408}
20409pub mod vbtimonr {
20410
20411    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20412    pub struct Vch0Mon_SPEC;
20413    pub type Vch0Mon = crate::EnumBitfieldStruct<u8, Vch0Mon_SPEC>;
20414    impl Vch0Mon {
20415        #[doc = "RTCIC0 pin input is low level"]
20416        pub const _0: Self = Self::new(0);
20417
20418        #[doc = "RTCIC0 pin input is high level."]
20419        pub const _1: Self = Self::new(1);
20420    }
20421    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20422    pub struct Vch1Mon_SPEC;
20423    pub type Vch1Mon = crate::EnumBitfieldStruct<u8, Vch1Mon_SPEC>;
20424    impl Vch1Mon {
20425        #[doc = "RTCIC1 pin input is low level"]
20426        pub const _0: Self = Self::new(0);
20427
20428        #[doc = "RTCIC1 pin input is high level."]
20429        pub const _1: Self = Self::new(1);
20430    }
20431    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20432    pub struct Vch2Mon_SPEC;
20433    pub type Vch2Mon = crate::EnumBitfieldStruct<u8, Vch2Mon_SPEC>;
20434    impl Vch2Mon {
20435        #[doc = "RTCIC2 pin input is low level"]
20436        pub const _0: Self = Self::new(0);
20437
20438        #[doc = "RTCIC2 pin input is high level."]
20439        pub const _1: Self = Self::new(1);
20440    }
20441}
20442#[doc(hidden)]
20443#[derive(Copy, Clone, Eq, PartialEq)]
20444pub struct Vbtbkr_SPEC;
20445impl crate::sealed::RegSpec for Vbtbkr_SPEC {
20446    type DataType = u8;
20447}
20448
20449#[doc = "VBATT Backup Register %s"]
20450pub type Vbtbkr = crate::RegValueT<Vbtbkr_SPEC>;
20451
20452impl Vbtbkr {
20453    #[doc = "VBTBKRn \\[7:0\\] (n=0 to 127)"]
20454    #[inline(always)]
20455    pub fn vbtbkr(
20456        self,
20457    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Vbtbkr_SPEC, crate::common::RW> {
20458        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Vbtbkr_SPEC,crate::common::RW>::from_register(self,0)
20459    }
20460}
20461impl ::core::default::Default for Vbtbkr {
20462    #[inline(always)]
20463    fn default() -> Vbtbkr {
20464        <crate::RegValueT<Vbtbkr_SPEC> as RegisterValue<_>>::new(0)
20465    }
20466}