stm32wb_stm32hal/stm32wb55/
mod.rs

1#![deny(unused_allocation)]
2#![deny(unused_comparisons)]
3extern crate cortex_m;
4#[cfg(feature = "rt")]
5extern crate cortex_m_rt;
6extern crate vcell;
7use core::marker::PhantomData;
8use core::ops::Deref;
9///Number available in the NVIC for configuring priority
10pub const NVIC_PRIO_BITS: u8 = 4;
11#[cfg(feature = "rt")]
12extern "C" {
13    fn WWDG();
14    fn PVD();
15    fn RTC_TAMP();
16    fn RTC_WKUP();
17    fn FLASH();
18    fn RCC();
19    fn EXTI0();
20    fn EXTI1();
21    fn EXTI2();
22    fn EXTI3();
23    fn EXTI4();
24    fn DMA1_CHANNEL1();
25    fn DMA1_CHANNEL2();
26    fn DMA1_CHANNEL3();
27    fn DMA1_CHANNEL4();
28    fn DMA1_CHANNEL5();
29    fn DMA1_CHANNEL6();
30    fn DMA1_CHANNEL7();
31    fn ADC1();
32    fn USB_HP();
33    fn USB_LP();
34    fn C2SEV();
35    fn COMP();
36    fn EXTI5_9();
37    fn TIM1_BRK();
38    fn TIM1_UP();
39    fn TIM1_TRG_COM_TIM17();
40    fn TIM1_CC();
41    fn TIM2();
42    fn PKA();
43    fn I2C1_EV();
44    fn I2C1_ER();
45    fn I2C3_EV();
46    fn I2C3_ER();
47    fn SPI1();
48    fn SPI2();
49    fn USART1();
50    fn LPUART1();
51    fn SAI1();
52    fn TSC();
53    fn EXTI10_15();
54    fn RTC_ALARM();
55    fn CRS_IT();
56    fn PWR_SOTF();
57    fn IPCC_C1_RX_IT();
58    fn IPCC_C1_TX_IT();
59    fn HSEM();
60    fn LPTIM1();
61    fn LPTIM2();
62    fn LCD();
63    fn QUADSPI();
64    fn AES1();
65    fn AES2();
66    fn TRUE_RNG();
67    fn FPU();
68    fn DMA2_CH1();
69    fn DMA2_CH2();
70    fn DMA2_CH3();
71    fn DMA2_CH4();
72    fn DMA2_CH5();
73    fn DMA2_CH6();
74    fn DMA2_CH7();
75    fn DMAMUX_OVR();
76}
77#[doc(hidden)]
78pub union Vector {
79    _handler: unsafe extern "C" fn(),
80    _reserved: u32,
81}
82#[cfg(feature = "rt")]
83#[doc(hidden)]
84#[link_section = ".vector_table.interrupts"]
85#[no_mangle]
86pub static __INTERRUPTS: [Vector; 63] = [
87    Vector { _handler: WWDG },
88    Vector { _handler: PVD },
89    Vector { _handler: RTC_TAMP },
90    Vector { _handler: RTC_WKUP },
91    Vector { _handler: FLASH },
92    Vector { _handler: RCC },
93    Vector { _handler: EXTI0 },
94    Vector { _handler: EXTI1 },
95    Vector { _handler: EXTI2 },
96    Vector { _handler: EXTI3 },
97    Vector { _handler: EXTI4 },
98    Vector {
99        _handler: DMA1_CHANNEL1,
100    },
101    Vector {
102        _handler: DMA1_CHANNEL2,
103    },
104    Vector {
105        _handler: DMA1_CHANNEL3,
106    },
107    Vector {
108        _handler: DMA1_CHANNEL4,
109    },
110    Vector {
111        _handler: DMA1_CHANNEL5,
112    },
113    Vector {
114        _handler: DMA1_CHANNEL6,
115    },
116    Vector {
117        _handler: DMA1_CHANNEL7,
118    },
119    Vector { _handler: ADC1 },
120    Vector { _handler: USB_HP },
121    Vector { _handler: USB_LP },
122    Vector { _handler: C2SEV },
123    Vector { _handler: COMP },
124    Vector { _handler: EXTI5_9 },
125    Vector { _handler: TIM1_BRK },
126    Vector { _handler: TIM1_UP },
127    Vector {
128        _handler: TIM1_TRG_COM_TIM17,
129    },
130    Vector { _handler: TIM1_CC },
131    Vector { _handler: TIM2 },
132    Vector { _handler: PKA },
133    Vector { _handler: I2C1_EV },
134    Vector { _handler: I2C1_ER },
135    Vector { _handler: I2C3_EV },
136    Vector { _handler: I2C3_ER },
137    Vector { _handler: SPI1 },
138    Vector { _handler: SPI2 },
139    Vector { _handler: USART1 },
140    Vector { _handler: LPUART1 },
141    Vector { _handler: SAI1 },
142    Vector { _handler: TSC },
143    Vector {
144        _handler: EXTI10_15,
145    },
146    Vector {
147        _handler: RTC_ALARM,
148    },
149    Vector { _handler: CRS_IT },
150    Vector { _handler: PWR_SOTF },
151    Vector {
152        _handler: IPCC_C1_RX_IT,
153    },
154    Vector {
155        _handler: IPCC_C1_TX_IT,
156    },
157    Vector { _handler: HSEM },
158    Vector { _handler: LPTIM1 },
159    Vector { _handler: LPTIM2 },
160    Vector { _handler: LCD },
161    Vector { _handler: QUADSPI },
162    Vector { _handler: AES1 },
163    Vector { _handler: AES2 },
164    Vector { _handler: TRUE_RNG },
165    Vector { _handler: FPU },
166    Vector { _handler: DMA2_CH1 },
167    Vector { _handler: DMA2_CH2 },
168    Vector { _handler: DMA2_CH3 },
169    Vector { _handler: DMA2_CH4 },
170    Vector { _handler: DMA2_CH5 },
171    Vector { _handler: DMA2_CH6 },
172    Vector { _handler: DMA2_CH7 },
173    Vector {
174        _handler: DMAMUX_OVR,
175    },
176];
177///Enumeration of all the interrupts
178#[derive(Copy, Clone, Debug)]
179#[repr(u8)]
180pub enum Interrupt {
181    ///0 - Window Watchdog interrupt
182    WWDG = 0,
183    ///1 - PVD through EXTI\[16\]
184    ///(C1IMR2\[20\])
185    PVD = 1,
186    ///2 - RTC/TAMP/CSS on LSE through EXTI line 19 interrupt
187    RTC_TAMP = 2,
188    ///3 - RTC wakeup interrupt through EXTI\[19\]
189    RTC_WKUP = 3,
190    ///4 - Flash global interrupt
191    FLASH = 4,
192    ///5 - RCC global interrupt
193    RCC = 5,
194    ///6 - EXTI line 0 interrupt through EXTI\[0\]
195    EXTI0 = 6,
196    ///7 - EXTI line 0 interrupt through EXTI\[1\]
197    EXTI1 = 7,
198    ///8 - EXTI line 0 interrupt through EXTI\[2\]
199    EXTI2 = 8,
200    ///9 - EXTI line 0 interrupt through EXTI\[3\]
201    EXTI3 = 9,
202    ///10 - EXTI line 0 interrupt through EXTI\[4\]
203    EXTI4 = 10,
204    ///11 - DMA1 Channel1 global interrupt
205    DMA1_CHANNEL1 = 11,
206    ///12 - DMA1 Channel2 global interrupt
207    DMA1_CHANNEL2 = 12,
208    ///13 - DMA1 Channel3 interrupt
209    DMA1_CHANNEL3 = 13,
210    ///14 - DMA1 Channel4 interrupt
211    DMA1_CHANNEL4 = 14,
212    ///15 - DMA1 Channel5 interrupt
213    DMA1_CHANNEL5 = 15,
214    ///16 - DMA1 Channel6 interrupt
215    DMA1_CHANNEL6 = 16,
216    ///17 - DMA1 Channel 7 interrupt
217    DMA1_CHANNEL7 = 17,
218    ///18 - ADC1 global interrupt
219    ADC1 = 18,
220    ///19 - USB high priority interrupt
221    USB_HP = 19,
222    ///20 - USB low priority interrupt (including USB wakeup)
223    USB_LP = 20,
224    ///21 - CPU2 SEV through EXTI\[40\]
225    C2SEV = 21,
226    ///22 - COMP2 & COMP1 interrupt through AIEC\[21:20\]
227    COMP = 22,
228    ///23 - EXTI line \[9:5\]
229    ///interrupt through EXTI\[9:5\]
230    EXTI5_9 = 23,
231    ///24 - Timer 1 break interrupt
232    TIM1_BRK = 24,
233    ///25 - Timer 1 Update
234    TIM1_UP = 25,
235    ///26 - TIM1 Trigger and Commutation interrupts and TIM17 global interrupt
236    TIM1_TRG_COM_TIM17 = 26,
237    ///27 - TIM1 Capture Compare interrupt
238    TIM1_CC = 27,
239    ///28 - TIM2 global interrupt
240    TIM2 = 28,
241    ///29 - Private key accelerator interrupt
242    PKA = 29,
243    ///30 - I2C1 event interrupt
244    I2C1_EV = 30,
245    ///31 - I2C1 error interrupt
246    I2C1_ER = 31,
247    ///32 - I2C3 event interrupt
248    I2C3_EV = 32,
249    ///33 - I2C3 error interrupt
250    I2C3_ER = 33,
251    ///34 - SPI 1 global interrupt
252    SPI1 = 34,
253    ///35 - SPI1 global interrupt
254    SPI2 = 35,
255    ///36 - USART1 global interrupt
256    USART1 = 36,
257    ///37 - LPUART1 global interrupt
258    LPUART1 = 37,
259    ///38 - SAI1 global interrupt
260    SAI1 = 38,
261    ///39 - TSC global interrupt
262    TSC = 39,
263    ///40 - EXTI line \[15:10\]
264    ///interrupt through EXTI\[15:10\]
265    EXTI10_15 = 40,
266    ///41 - RTC Alarms (A and B) interrupt through AIEC
267    RTC_ALARM = 41,
268    ///42 - CRS interrupt
269    CRS_IT = 42,
270    ///43 - PWR switching on the fly interrupt
271    PWR_SOTF = 43,
272    ///44 - IPCC CPU1 RX occupied interrupt
273    IPCC_C1_RX_IT = 44,
274    ///45 - IPCC CPU1 TX free interrupt
275    IPCC_C1_TX_IT = 45,
276    ///46 - Semaphore interrupt 0 to CPU1
277    HSEM = 46,
278    ///47 - LPtimer 1 global interrupt
279    LPTIM1 = 47,
280    ///48 - LPtimer 2 global interrupt
281    LPTIM2 = 48,
282    ///49 - LCD global interrupt
283    LCD = 49,
284    ///50 - QSPI global interrupt
285    QUADSPI = 50,
286    ///51 - AES1 global interrupt
287    AES1 = 51,
288    ///52 - AES2 global interrupt
289    AES2 = 52,
290    ///53 - True random number generator interrupt
291    TRUE_RNG = 53,
292    ///54 - Floating point unit interrupt
293    FPU = 54,
294    ///55 - DMA2 channel 1 interrupt
295    DMA2_CH1 = 55,
296    ///56 - DMA2 channel 2 interrupt
297    DMA2_CH2 = 56,
298    ///57 - DMA2 channel 3 interrupt
299    DMA2_CH3 = 57,
300    ///58 - DMA2 channel 4 interrupt
301    DMA2_CH4 = 58,
302    ///59 - DMA2 channel 5 interrupt
303    DMA2_CH5 = 59,
304    ///60 - DMA2 channel 6 interrupt
305    DMA2_CH6 = 60,
306    ///61 - DMA2 channel 7 interrupt
307    DMA2_CH7 = 61,
308    ///62 - DMAMUX overrun interrupt
309    DMAMUX_OVR = 62,
310}
311unsafe impl bare_metal::Nr for Interrupt {
312    #[inline(always)]
313    fn nr(&self) -> u8 {
314        *self as u8
315    }
316}
317#[cfg(feature = "rt")]
318pub use self::Interrupt as interrupt;
319pub use cortex_m::peripheral::Peripherals as CorePeripherals;
320pub use cortex_m::peripheral::{CBP, CPUID, DCB, DWT, FPB, FPU, ITM, MPU, NVIC, SCB, SYST, TPIU};
321#[cfg(feature = "rt")]
322pub use cortex_m_rt::interrupt;
323///Direct memory access controller
324pub struct DMA1 {
325    _marker: PhantomData<*const ()>,
326}
327unsafe impl Send for DMA1 {}
328impl DMA1 {
329    ///Returns a pointer to the register block
330    #[inline(always)]
331    pub const fn ptr() -> *const dma1::RegisterBlock {
332        0x4002_0000 as *const _
333    }
334}
335impl Deref for DMA1 {
336    type Target = dma1::RegisterBlock;
337    #[inline(always)]
338    fn deref(&self) -> &Self::Target {
339        unsafe { &*DMA1::ptr() }
340    }
341}
342///Direct memory access controller
343pub mod dma1 {
344    ///Register block
345    #[repr(C)]
346    pub struct RegisterBlock {
347        ///0x00 - interrupt status register
348        pub isr: ISR,
349        ///0x04 - interrupt flag clear register
350        pub ifcr: IFCR,
351        ///0x08 - channel x configuration register
352        pub ccr1: CCR1,
353        ///0x0c - channel x number of data register
354        pub cndtr1: CNDTR1,
355        ///0x10 - channel x peripheral address register
356        pub cpar1: CPAR1,
357        ///0x14 - channel x memory address register
358        pub cmar1: CMAR1,
359        _reserved6: [u8; 4usize],
360        ///0x1c - channel x configuration register
361        pub ccr2: CCR2,
362        ///0x20 - channel x number of data register
363        pub cndtr2: CNDTR2,
364        ///0x24 - channel x peripheral address register
365        pub cpar2: CPAR2,
366        ///0x28 - channel x memory address register
367        pub cmar2: CMAR2,
368        _reserved10: [u8; 4usize],
369        ///0x30 - channel x configuration register
370        pub ccr3: CCR3,
371        ///0x34 - channel x number of data register
372        pub cndtr3: CNDTR3,
373        ///0x38 - channel x peripheral address register
374        pub cpar3: CPAR3,
375        ///0x3c - channel x memory address register
376        pub cmar3: CMAR3,
377        _reserved14: [u8; 4usize],
378        ///0x44 - channel x configuration register
379        pub ccr4: CCR4,
380        ///0x48 - channel x number of data register
381        pub cndtr4: CNDTR4,
382        ///0x4c - channel x peripheral address register
383        pub cpar4: CPAR4,
384        ///0x50 - channel x memory address register
385        pub cmar4: CMAR4,
386        _reserved18: [u8; 4usize],
387        ///0x58 - channel x configuration register
388        pub ccr5: CCR5,
389        ///0x5c - channel x number of data register
390        pub cndtr5: CNDTR5,
391        ///0x60 - channel x peripheral address register
392        pub cpar5: CPAR5,
393        ///0x64 - channel x memory address register
394        pub cmar5: CMAR5,
395        _reserved22: [u8; 4usize],
396        ///0x6c - channel x configuration register
397        pub ccr6: CCR6,
398        ///0x70 - channel x number of data register
399        pub cndtr6: CNDTR6,
400        ///0x74 - channel x peripheral address register
401        pub cpar6: CPAR6,
402        ///0x78 - channel x memory address register
403        pub cmar6: CMAR6,
404        _reserved26: [u8; 4usize],
405        ///0x80 - channel x configuration register
406        pub ccr7: CCR7,
407        ///0x84 - channel x number of data register
408        pub cndtr7: CNDTR7,
409        ///0x88 - channel x peripheral address register
410        pub cpar7: CPAR7,
411        ///0x8c - channel x memory address register
412        pub cmar7: CMAR7,
413    }
414    ///interrupt status register
415    ///
416    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
417    ///
418    ///For information about available fields see [isr](isr) module
419    pub type ISR = crate::Reg<u32, _ISR>;
420    #[allow(missing_docs)]
421    #[doc(hidden)]
422    pub struct _ISR;
423    ///`read()` method returns [isr::R](isr::R) reader structure
424    impl crate::Readable for ISR {}
425    ///interrupt status register
426    pub mod isr {
427        ///Reader of register ISR
428        pub type R = crate::R<u32, super::ISR>;
429        ///Reader of field `TEIF7`
430        pub type TEIF7_R = crate::R<bool, bool>;
431        ///Reader of field `HTIF7`
432        pub type HTIF7_R = crate::R<bool, bool>;
433        ///Reader of field `TCIF7`
434        pub type TCIF7_R = crate::R<bool, bool>;
435        ///Reader of field `GIF7`
436        pub type GIF7_R = crate::R<bool, bool>;
437        ///Reader of field `TEIF6`
438        pub type TEIF6_R = crate::R<bool, bool>;
439        ///Reader of field `HTIF6`
440        pub type HTIF6_R = crate::R<bool, bool>;
441        ///Reader of field `TCIF6`
442        pub type TCIF6_R = crate::R<bool, bool>;
443        ///Reader of field `GIF6`
444        pub type GIF6_R = crate::R<bool, bool>;
445        ///Reader of field `TEIF5`
446        pub type TEIF5_R = crate::R<bool, bool>;
447        ///Reader of field `HTIF5`
448        pub type HTIF5_R = crate::R<bool, bool>;
449        ///Reader of field `TCIF5`
450        pub type TCIF5_R = crate::R<bool, bool>;
451        ///Reader of field `GIF5`
452        pub type GIF5_R = crate::R<bool, bool>;
453        ///Reader of field `TEIF4`
454        pub type TEIF4_R = crate::R<bool, bool>;
455        ///Reader of field `HTIF4`
456        pub type HTIF4_R = crate::R<bool, bool>;
457        ///Reader of field `TCIF4`
458        pub type TCIF4_R = crate::R<bool, bool>;
459        ///Reader of field `GIF4`
460        pub type GIF4_R = crate::R<bool, bool>;
461        ///Reader of field `TEIF3`
462        pub type TEIF3_R = crate::R<bool, bool>;
463        ///Reader of field `HTIF3`
464        pub type HTIF3_R = crate::R<bool, bool>;
465        ///Reader of field `TCIF3`
466        pub type TCIF3_R = crate::R<bool, bool>;
467        ///Reader of field `GIF3`
468        pub type GIF3_R = crate::R<bool, bool>;
469        ///Reader of field `TEIF2`
470        pub type TEIF2_R = crate::R<bool, bool>;
471        ///Reader of field `HTIF2`
472        pub type HTIF2_R = crate::R<bool, bool>;
473        ///Reader of field `TCIF2`
474        pub type TCIF2_R = crate::R<bool, bool>;
475        ///Reader of field `GIF2`
476        pub type GIF2_R = crate::R<bool, bool>;
477        ///Reader of field `TEIF1`
478        pub type TEIF1_R = crate::R<bool, bool>;
479        ///Reader of field `HTIF1`
480        pub type HTIF1_R = crate::R<bool, bool>;
481        ///Reader of field `TCIF1`
482        pub type TCIF1_R = crate::R<bool, bool>;
483        ///Reader of field `GIF1`
484        pub type GIF1_R = crate::R<bool, bool>;
485        impl R {
486            ///Bit 27 - Channel x transfer error flag (x = 1 ..7)
487            #[inline(always)]
488            pub fn teif7(&self) -> TEIF7_R {
489                TEIF7_R::new(((self.bits >> 27) & 0x01) != 0)
490            }
491            ///Bit 26 - Channel x half transfer flag (x = 1 ..7)
492            #[inline(always)]
493            pub fn htif7(&self) -> HTIF7_R {
494                HTIF7_R::new(((self.bits >> 26) & 0x01) != 0)
495            }
496            ///Bit 25 - Channel x transfer complete flag (x = 1 ..7)
497            #[inline(always)]
498            pub fn tcif7(&self) -> TCIF7_R {
499                TCIF7_R::new(((self.bits >> 25) & 0x01) != 0)
500            }
501            ///Bit 24 - Channel x global interrupt flag (x = 1 ..7)
502            #[inline(always)]
503            pub fn gif7(&self) -> GIF7_R {
504                GIF7_R::new(((self.bits >> 24) & 0x01) != 0)
505            }
506            ///Bit 23 - Channel x transfer error flag (x = 1 ..7)
507            #[inline(always)]
508            pub fn teif6(&self) -> TEIF6_R {
509                TEIF6_R::new(((self.bits >> 23) & 0x01) != 0)
510            }
511            ///Bit 22 - Channel x half transfer flag (x = 1 ..7)
512            #[inline(always)]
513            pub fn htif6(&self) -> HTIF6_R {
514                HTIF6_R::new(((self.bits >> 22) & 0x01) != 0)
515            }
516            ///Bit 21 - Channel x transfer complete flag (x = 1 ..7)
517            #[inline(always)]
518            pub fn tcif6(&self) -> TCIF6_R {
519                TCIF6_R::new(((self.bits >> 21) & 0x01) != 0)
520            }
521            ///Bit 20 - Channel x global interrupt flag (x = 1 ..7)
522            #[inline(always)]
523            pub fn gif6(&self) -> GIF6_R {
524                GIF6_R::new(((self.bits >> 20) & 0x01) != 0)
525            }
526            ///Bit 19 - Channel x transfer error flag (x = 1 ..7)
527            #[inline(always)]
528            pub fn teif5(&self) -> TEIF5_R {
529                TEIF5_R::new(((self.bits >> 19) & 0x01) != 0)
530            }
531            ///Bit 18 - Channel x half transfer flag (x = 1 ..7)
532            #[inline(always)]
533            pub fn htif5(&self) -> HTIF5_R {
534                HTIF5_R::new(((self.bits >> 18) & 0x01) != 0)
535            }
536            ///Bit 17 - Channel x transfer complete flag (x = 1 ..7)
537            #[inline(always)]
538            pub fn tcif5(&self) -> TCIF5_R {
539                TCIF5_R::new(((self.bits >> 17) & 0x01) != 0)
540            }
541            ///Bit 16 - Channel x global interrupt flag (x = 1 ..7)
542            #[inline(always)]
543            pub fn gif5(&self) -> GIF5_R {
544                GIF5_R::new(((self.bits >> 16) & 0x01) != 0)
545            }
546            ///Bit 15 - Channel x transfer error flag (x = 1 ..7)
547            #[inline(always)]
548            pub fn teif4(&self) -> TEIF4_R {
549                TEIF4_R::new(((self.bits >> 15) & 0x01) != 0)
550            }
551            ///Bit 14 - Channel x half transfer flag (x = 1 ..7)
552            #[inline(always)]
553            pub fn htif4(&self) -> HTIF4_R {
554                HTIF4_R::new(((self.bits >> 14) & 0x01) != 0)
555            }
556            ///Bit 13 - Channel x transfer complete flag (x = 1 ..7)
557            #[inline(always)]
558            pub fn tcif4(&self) -> TCIF4_R {
559                TCIF4_R::new(((self.bits >> 13) & 0x01) != 0)
560            }
561            ///Bit 12 - Channel x global interrupt flag (x = 1 ..7)
562            #[inline(always)]
563            pub fn gif4(&self) -> GIF4_R {
564                GIF4_R::new(((self.bits >> 12) & 0x01) != 0)
565            }
566            ///Bit 11 - Channel x transfer error flag (x = 1 ..7)
567            #[inline(always)]
568            pub fn teif3(&self) -> TEIF3_R {
569                TEIF3_R::new(((self.bits >> 11) & 0x01) != 0)
570            }
571            ///Bit 10 - Channel x half transfer flag (x = 1 ..7)
572            #[inline(always)]
573            pub fn htif3(&self) -> HTIF3_R {
574                HTIF3_R::new(((self.bits >> 10) & 0x01) != 0)
575            }
576            ///Bit 9 - Channel x transfer complete flag (x = 1 ..7)
577            #[inline(always)]
578            pub fn tcif3(&self) -> TCIF3_R {
579                TCIF3_R::new(((self.bits >> 9) & 0x01) != 0)
580            }
581            ///Bit 8 - Channel x global interrupt flag (x = 1 ..7)
582            #[inline(always)]
583            pub fn gif3(&self) -> GIF3_R {
584                GIF3_R::new(((self.bits >> 8) & 0x01) != 0)
585            }
586            ///Bit 7 - Channel x transfer error flag (x = 1 ..7)
587            #[inline(always)]
588            pub fn teif2(&self) -> TEIF2_R {
589                TEIF2_R::new(((self.bits >> 7) & 0x01) != 0)
590            }
591            ///Bit 6 - Channel x half transfer flag (x = 1 ..7)
592            #[inline(always)]
593            pub fn htif2(&self) -> HTIF2_R {
594                HTIF2_R::new(((self.bits >> 6) & 0x01) != 0)
595            }
596            ///Bit 5 - Channel x transfer complete flag (x = 1 ..7)
597            #[inline(always)]
598            pub fn tcif2(&self) -> TCIF2_R {
599                TCIF2_R::new(((self.bits >> 5) & 0x01) != 0)
600            }
601            ///Bit 4 - Channel x global interrupt flag (x = 1 ..7)
602            #[inline(always)]
603            pub fn gif2(&self) -> GIF2_R {
604                GIF2_R::new(((self.bits >> 4) & 0x01) != 0)
605            }
606            ///Bit 3 - Channel x transfer error flag (x = 1 ..7)
607            #[inline(always)]
608            pub fn teif1(&self) -> TEIF1_R {
609                TEIF1_R::new(((self.bits >> 3) & 0x01) != 0)
610            }
611            ///Bit 2 - Channel x half transfer flag (x = 1 ..7)
612            #[inline(always)]
613            pub fn htif1(&self) -> HTIF1_R {
614                HTIF1_R::new(((self.bits >> 2) & 0x01) != 0)
615            }
616            ///Bit 1 - Channel x transfer complete flag (x = 1 ..7)
617            #[inline(always)]
618            pub fn tcif1(&self) -> TCIF1_R {
619                TCIF1_R::new(((self.bits >> 1) & 0x01) != 0)
620            }
621            ///Bit 0 - Channel x global interrupt flag (x = 1 ..7)
622            #[inline(always)]
623            pub fn gif1(&self) -> GIF1_R {
624                GIF1_R::new((self.bits & 0x01) != 0)
625            }
626        }
627    }
628    ///interrupt flag clear register
629    ///
630    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
631    ///
632    ///For information about available fields see [ifcr](ifcr) module
633    pub type IFCR = crate::Reg<u32, _IFCR>;
634    #[allow(missing_docs)]
635    #[doc(hidden)]
636    pub struct _IFCR;
637    ///`write(|w| ..)` method takes [ifcr::W](ifcr::W) writer structure
638    impl crate::Writable for IFCR {}
639    ///interrupt flag clear register
640    pub mod ifcr {
641        ///Writer for register IFCR
642        pub type W = crate::W<u32, super::IFCR>;
643        ///Register IFCR `reset()`'s with value 0
644        impl crate::ResetValue for super::IFCR {
645            type Type = u32;
646            #[inline(always)]
647            fn reset_value() -> Self::Type {
648                0
649            }
650        }
651        ///Write proxy for field `CTEIF7`
652        pub struct CTEIF7_W<'a> {
653            w: &'a mut W,
654        }
655        impl<'a> CTEIF7_W<'a> {
656            ///Sets the field bit
657            #[inline(always)]
658            pub fn set_bit(self) -> &'a mut W {
659                self.bit(true)
660            }
661            ///Clears the field bit
662            #[inline(always)]
663            pub fn clear_bit(self) -> &'a mut W {
664                self.bit(false)
665            }
666            ///Writes raw bits to the field
667            #[inline(always)]
668            pub fn bit(self, value: bool) -> &'a mut W {
669                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
670                self.w
671            }
672        }
673        ///Write proxy for field `CHTIF7`
674        pub struct CHTIF7_W<'a> {
675            w: &'a mut W,
676        }
677        impl<'a> CHTIF7_W<'a> {
678            ///Sets the field bit
679            #[inline(always)]
680            pub fn set_bit(self) -> &'a mut W {
681                self.bit(true)
682            }
683            ///Clears the field bit
684            #[inline(always)]
685            pub fn clear_bit(self) -> &'a mut W {
686                self.bit(false)
687            }
688            ///Writes raw bits to the field
689            #[inline(always)]
690            pub fn bit(self, value: bool) -> &'a mut W {
691                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
692                self.w
693            }
694        }
695        ///Write proxy for field `CTCIF7`
696        pub struct CTCIF7_W<'a> {
697            w: &'a mut W,
698        }
699        impl<'a> CTCIF7_W<'a> {
700            ///Sets the field bit
701            #[inline(always)]
702            pub fn set_bit(self) -> &'a mut W {
703                self.bit(true)
704            }
705            ///Clears the field bit
706            #[inline(always)]
707            pub fn clear_bit(self) -> &'a mut W {
708                self.bit(false)
709            }
710            ///Writes raw bits to the field
711            #[inline(always)]
712            pub fn bit(self, value: bool) -> &'a mut W {
713                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
714                self.w
715            }
716        }
717        ///Write proxy for field `CGIF7`
718        pub struct CGIF7_W<'a> {
719            w: &'a mut W,
720        }
721        impl<'a> CGIF7_W<'a> {
722            ///Sets the field bit
723            #[inline(always)]
724            pub fn set_bit(self) -> &'a mut W {
725                self.bit(true)
726            }
727            ///Clears the field bit
728            #[inline(always)]
729            pub fn clear_bit(self) -> &'a mut W {
730                self.bit(false)
731            }
732            ///Writes raw bits to the field
733            #[inline(always)]
734            pub fn bit(self, value: bool) -> &'a mut W {
735                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
736                self.w
737            }
738        }
739        ///Write proxy for field `CTEIF6`
740        pub struct CTEIF6_W<'a> {
741            w: &'a mut W,
742        }
743        impl<'a> CTEIF6_W<'a> {
744            ///Sets the field bit
745            #[inline(always)]
746            pub fn set_bit(self) -> &'a mut W {
747                self.bit(true)
748            }
749            ///Clears the field bit
750            #[inline(always)]
751            pub fn clear_bit(self) -> &'a mut W {
752                self.bit(false)
753            }
754            ///Writes raw bits to the field
755            #[inline(always)]
756            pub fn bit(self, value: bool) -> &'a mut W {
757                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
758                self.w
759            }
760        }
761        ///Write proxy for field `CHTIF6`
762        pub struct CHTIF6_W<'a> {
763            w: &'a mut W,
764        }
765        impl<'a> CHTIF6_W<'a> {
766            ///Sets the field bit
767            #[inline(always)]
768            pub fn set_bit(self) -> &'a mut W {
769                self.bit(true)
770            }
771            ///Clears the field bit
772            #[inline(always)]
773            pub fn clear_bit(self) -> &'a mut W {
774                self.bit(false)
775            }
776            ///Writes raw bits to the field
777            #[inline(always)]
778            pub fn bit(self, value: bool) -> &'a mut W {
779                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
780                self.w
781            }
782        }
783        ///Write proxy for field `CTCIF6`
784        pub struct CTCIF6_W<'a> {
785            w: &'a mut W,
786        }
787        impl<'a> CTCIF6_W<'a> {
788            ///Sets the field bit
789            #[inline(always)]
790            pub fn set_bit(self) -> &'a mut W {
791                self.bit(true)
792            }
793            ///Clears the field bit
794            #[inline(always)]
795            pub fn clear_bit(self) -> &'a mut W {
796                self.bit(false)
797            }
798            ///Writes raw bits to the field
799            #[inline(always)]
800            pub fn bit(self, value: bool) -> &'a mut W {
801                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
802                self.w
803            }
804        }
805        ///Write proxy for field `CGIF6`
806        pub struct CGIF6_W<'a> {
807            w: &'a mut W,
808        }
809        impl<'a> CGIF6_W<'a> {
810            ///Sets the field bit
811            #[inline(always)]
812            pub fn set_bit(self) -> &'a mut W {
813                self.bit(true)
814            }
815            ///Clears the field bit
816            #[inline(always)]
817            pub fn clear_bit(self) -> &'a mut W {
818                self.bit(false)
819            }
820            ///Writes raw bits to the field
821            #[inline(always)]
822            pub fn bit(self, value: bool) -> &'a mut W {
823                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
824                self.w
825            }
826        }
827        ///Write proxy for field `CTEIF5`
828        pub struct CTEIF5_W<'a> {
829            w: &'a mut W,
830        }
831        impl<'a> CTEIF5_W<'a> {
832            ///Sets the field bit
833            #[inline(always)]
834            pub fn set_bit(self) -> &'a mut W {
835                self.bit(true)
836            }
837            ///Clears the field bit
838            #[inline(always)]
839            pub fn clear_bit(self) -> &'a mut W {
840                self.bit(false)
841            }
842            ///Writes raw bits to the field
843            #[inline(always)]
844            pub fn bit(self, value: bool) -> &'a mut W {
845                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
846                self.w
847            }
848        }
849        ///Write proxy for field `CHTIF5`
850        pub struct CHTIF5_W<'a> {
851            w: &'a mut W,
852        }
853        impl<'a> CHTIF5_W<'a> {
854            ///Sets the field bit
855            #[inline(always)]
856            pub fn set_bit(self) -> &'a mut W {
857                self.bit(true)
858            }
859            ///Clears the field bit
860            #[inline(always)]
861            pub fn clear_bit(self) -> &'a mut W {
862                self.bit(false)
863            }
864            ///Writes raw bits to the field
865            #[inline(always)]
866            pub fn bit(self, value: bool) -> &'a mut W {
867                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
868                self.w
869            }
870        }
871        ///Write proxy for field `CTCIF5`
872        pub struct CTCIF5_W<'a> {
873            w: &'a mut W,
874        }
875        impl<'a> CTCIF5_W<'a> {
876            ///Sets the field bit
877            #[inline(always)]
878            pub fn set_bit(self) -> &'a mut W {
879                self.bit(true)
880            }
881            ///Clears the field bit
882            #[inline(always)]
883            pub fn clear_bit(self) -> &'a mut W {
884                self.bit(false)
885            }
886            ///Writes raw bits to the field
887            #[inline(always)]
888            pub fn bit(self, value: bool) -> &'a mut W {
889                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
890                self.w
891            }
892        }
893        ///Write proxy for field `CGIF5`
894        pub struct CGIF5_W<'a> {
895            w: &'a mut W,
896        }
897        impl<'a> CGIF5_W<'a> {
898            ///Sets the field bit
899            #[inline(always)]
900            pub fn set_bit(self) -> &'a mut W {
901                self.bit(true)
902            }
903            ///Clears the field bit
904            #[inline(always)]
905            pub fn clear_bit(self) -> &'a mut W {
906                self.bit(false)
907            }
908            ///Writes raw bits to the field
909            #[inline(always)]
910            pub fn bit(self, value: bool) -> &'a mut W {
911                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
912                self.w
913            }
914        }
915        ///Write proxy for field `CTEIF4`
916        pub struct CTEIF4_W<'a> {
917            w: &'a mut W,
918        }
919        impl<'a> CTEIF4_W<'a> {
920            ///Sets the field bit
921            #[inline(always)]
922            pub fn set_bit(self) -> &'a mut W {
923                self.bit(true)
924            }
925            ///Clears the field bit
926            #[inline(always)]
927            pub fn clear_bit(self) -> &'a mut W {
928                self.bit(false)
929            }
930            ///Writes raw bits to the field
931            #[inline(always)]
932            pub fn bit(self, value: bool) -> &'a mut W {
933                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
934                self.w
935            }
936        }
937        ///Write proxy for field `CHTIF4`
938        pub struct CHTIF4_W<'a> {
939            w: &'a mut W,
940        }
941        impl<'a> CHTIF4_W<'a> {
942            ///Sets the field bit
943            #[inline(always)]
944            pub fn set_bit(self) -> &'a mut W {
945                self.bit(true)
946            }
947            ///Clears the field bit
948            #[inline(always)]
949            pub fn clear_bit(self) -> &'a mut W {
950                self.bit(false)
951            }
952            ///Writes raw bits to the field
953            #[inline(always)]
954            pub fn bit(self, value: bool) -> &'a mut W {
955                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
956                self.w
957            }
958        }
959        ///Write proxy for field `CTCIF4`
960        pub struct CTCIF4_W<'a> {
961            w: &'a mut W,
962        }
963        impl<'a> CTCIF4_W<'a> {
964            ///Sets the field bit
965            #[inline(always)]
966            pub fn set_bit(self) -> &'a mut W {
967                self.bit(true)
968            }
969            ///Clears the field bit
970            #[inline(always)]
971            pub fn clear_bit(self) -> &'a mut W {
972                self.bit(false)
973            }
974            ///Writes raw bits to the field
975            #[inline(always)]
976            pub fn bit(self, value: bool) -> &'a mut W {
977                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
978                self.w
979            }
980        }
981        ///Write proxy for field `CGIF4`
982        pub struct CGIF4_W<'a> {
983            w: &'a mut W,
984        }
985        impl<'a> CGIF4_W<'a> {
986            ///Sets the field bit
987            #[inline(always)]
988            pub fn set_bit(self) -> &'a mut W {
989                self.bit(true)
990            }
991            ///Clears the field bit
992            #[inline(always)]
993            pub fn clear_bit(self) -> &'a mut W {
994                self.bit(false)
995            }
996            ///Writes raw bits to the field
997            #[inline(always)]
998            pub fn bit(self, value: bool) -> &'a mut W {
999                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
1000                self.w
1001            }
1002        }
1003        ///Write proxy for field `CTEIF3`
1004        pub struct CTEIF3_W<'a> {
1005            w: &'a mut W,
1006        }
1007        impl<'a> CTEIF3_W<'a> {
1008            ///Sets the field bit
1009            #[inline(always)]
1010            pub fn set_bit(self) -> &'a mut W {
1011                self.bit(true)
1012            }
1013            ///Clears the field bit
1014            #[inline(always)]
1015            pub fn clear_bit(self) -> &'a mut W {
1016                self.bit(false)
1017            }
1018            ///Writes raw bits to the field
1019            #[inline(always)]
1020            pub fn bit(self, value: bool) -> &'a mut W {
1021                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
1022                self.w
1023            }
1024        }
1025        ///Write proxy for field `CHTIF3`
1026        pub struct CHTIF3_W<'a> {
1027            w: &'a mut W,
1028        }
1029        impl<'a> CHTIF3_W<'a> {
1030            ///Sets the field bit
1031            #[inline(always)]
1032            pub fn set_bit(self) -> &'a mut W {
1033                self.bit(true)
1034            }
1035            ///Clears the field bit
1036            #[inline(always)]
1037            pub fn clear_bit(self) -> &'a mut W {
1038                self.bit(false)
1039            }
1040            ///Writes raw bits to the field
1041            #[inline(always)]
1042            pub fn bit(self, value: bool) -> &'a mut W {
1043                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
1044                self.w
1045            }
1046        }
1047        ///Write proxy for field `CTCIF3`
1048        pub struct CTCIF3_W<'a> {
1049            w: &'a mut W,
1050        }
1051        impl<'a> CTCIF3_W<'a> {
1052            ///Sets the field bit
1053            #[inline(always)]
1054            pub fn set_bit(self) -> &'a mut W {
1055                self.bit(true)
1056            }
1057            ///Clears the field bit
1058            #[inline(always)]
1059            pub fn clear_bit(self) -> &'a mut W {
1060                self.bit(false)
1061            }
1062            ///Writes raw bits to the field
1063            #[inline(always)]
1064            pub fn bit(self, value: bool) -> &'a mut W {
1065                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
1066                self.w
1067            }
1068        }
1069        ///Write proxy for field `CGIF3`
1070        pub struct CGIF3_W<'a> {
1071            w: &'a mut W,
1072        }
1073        impl<'a> CGIF3_W<'a> {
1074            ///Sets the field bit
1075            #[inline(always)]
1076            pub fn set_bit(self) -> &'a mut W {
1077                self.bit(true)
1078            }
1079            ///Clears the field bit
1080            #[inline(always)]
1081            pub fn clear_bit(self) -> &'a mut W {
1082                self.bit(false)
1083            }
1084            ///Writes raw bits to the field
1085            #[inline(always)]
1086            pub fn bit(self, value: bool) -> &'a mut W {
1087                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
1088                self.w
1089            }
1090        }
1091        ///Write proxy for field `CTEIF2`
1092        pub struct CTEIF2_W<'a> {
1093            w: &'a mut W,
1094        }
1095        impl<'a> CTEIF2_W<'a> {
1096            ///Sets the field bit
1097            #[inline(always)]
1098            pub fn set_bit(self) -> &'a mut W {
1099                self.bit(true)
1100            }
1101            ///Clears the field bit
1102            #[inline(always)]
1103            pub fn clear_bit(self) -> &'a mut W {
1104                self.bit(false)
1105            }
1106            ///Writes raw bits to the field
1107            #[inline(always)]
1108            pub fn bit(self, value: bool) -> &'a mut W {
1109                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
1110                self.w
1111            }
1112        }
1113        ///Write proxy for field `CHTIF2`
1114        pub struct CHTIF2_W<'a> {
1115            w: &'a mut W,
1116        }
1117        impl<'a> CHTIF2_W<'a> {
1118            ///Sets the field bit
1119            #[inline(always)]
1120            pub fn set_bit(self) -> &'a mut W {
1121                self.bit(true)
1122            }
1123            ///Clears the field bit
1124            #[inline(always)]
1125            pub fn clear_bit(self) -> &'a mut W {
1126                self.bit(false)
1127            }
1128            ///Writes raw bits to the field
1129            #[inline(always)]
1130            pub fn bit(self, value: bool) -> &'a mut W {
1131                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
1132                self.w
1133            }
1134        }
1135        ///Write proxy for field `CTCIF2`
1136        pub struct CTCIF2_W<'a> {
1137            w: &'a mut W,
1138        }
1139        impl<'a> CTCIF2_W<'a> {
1140            ///Sets the field bit
1141            #[inline(always)]
1142            pub fn set_bit(self) -> &'a mut W {
1143                self.bit(true)
1144            }
1145            ///Clears the field bit
1146            #[inline(always)]
1147            pub fn clear_bit(self) -> &'a mut W {
1148                self.bit(false)
1149            }
1150            ///Writes raw bits to the field
1151            #[inline(always)]
1152            pub fn bit(self, value: bool) -> &'a mut W {
1153                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
1154                self.w
1155            }
1156        }
1157        ///Write proxy for field `CGIF2`
1158        pub struct CGIF2_W<'a> {
1159            w: &'a mut W,
1160        }
1161        impl<'a> CGIF2_W<'a> {
1162            ///Sets the field bit
1163            #[inline(always)]
1164            pub fn set_bit(self) -> &'a mut W {
1165                self.bit(true)
1166            }
1167            ///Clears the field bit
1168            #[inline(always)]
1169            pub fn clear_bit(self) -> &'a mut W {
1170                self.bit(false)
1171            }
1172            ///Writes raw bits to the field
1173            #[inline(always)]
1174            pub fn bit(self, value: bool) -> &'a mut W {
1175                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
1176                self.w
1177            }
1178        }
1179        ///Write proxy for field `CTEIF1`
1180        pub struct CTEIF1_W<'a> {
1181            w: &'a mut W,
1182        }
1183        impl<'a> CTEIF1_W<'a> {
1184            ///Sets the field bit
1185            #[inline(always)]
1186            pub fn set_bit(self) -> &'a mut W {
1187                self.bit(true)
1188            }
1189            ///Clears the field bit
1190            #[inline(always)]
1191            pub fn clear_bit(self) -> &'a mut W {
1192                self.bit(false)
1193            }
1194            ///Writes raw bits to the field
1195            #[inline(always)]
1196            pub fn bit(self, value: bool) -> &'a mut W {
1197                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
1198                self.w
1199            }
1200        }
1201        ///Write proxy for field `CHTIF1`
1202        pub struct CHTIF1_W<'a> {
1203            w: &'a mut W,
1204        }
1205        impl<'a> CHTIF1_W<'a> {
1206            ///Sets the field bit
1207            #[inline(always)]
1208            pub fn set_bit(self) -> &'a mut W {
1209                self.bit(true)
1210            }
1211            ///Clears the field bit
1212            #[inline(always)]
1213            pub fn clear_bit(self) -> &'a mut W {
1214                self.bit(false)
1215            }
1216            ///Writes raw bits to the field
1217            #[inline(always)]
1218            pub fn bit(self, value: bool) -> &'a mut W {
1219                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
1220                self.w
1221            }
1222        }
1223        ///Write proxy for field `CTCIF1`
1224        pub struct CTCIF1_W<'a> {
1225            w: &'a mut W,
1226        }
1227        impl<'a> CTCIF1_W<'a> {
1228            ///Sets the field bit
1229            #[inline(always)]
1230            pub fn set_bit(self) -> &'a mut W {
1231                self.bit(true)
1232            }
1233            ///Clears the field bit
1234            #[inline(always)]
1235            pub fn clear_bit(self) -> &'a mut W {
1236                self.bit(false)
1237            }
1238            ///Writes raw bits to the field
1239            #[inline(always)]
1240            pub fn bit(self, value: bool) -> &'a mut W {
1241                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
1242                self.w
1243            }
1244        }
1245        ///Write proxy for field `CGIF1`
1246        pub struct CGIF1_W<'a> {
1247            w: &'a mut W,
1248        }
1249        impl<'a> CGIF1_W<'a> {
1250            ///Sets the field bit
1251            #[inline(always)]
1252            pub fn set_bit(self) -> &'a mut W {
1253                self.bit(true)
1254            }
1255            ///Clears the field bit
1256            #[inline(always)]
1257            pub fn clear_bit(self) -> &'a mut W {
1258                self.bit(false)
1259            }
1260            ///Writes raw bits to the field
1261            #[inline(always)]
1262            pub fn bit(self, value: bool) -> &'a mut W {
1263                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
1264                self.w
1265            }
1266        }
1267        impl W {
1268            ///Bit 27 - Channel x transfer error clear (x = 1 ..7)
1269            #[inline(always)]
1270            pub fn cteif7(&mut self) -> CTEIF7_W {
1271                CTEIF7_W { w: self }
1272            }
1273            ///Bit 26 - Channel x half transfer clear (x = 1 ..7)
1274            #[inline(always)]
1275            pub fn chtif7(&mut self) -> CHTIF7_W {
1276                CHTIF7_W { w: self }
1277            }
1278            ///Bit 25 - Channel x transfer complete clear (x = 1 ..7)
1279            #[inline(always)]
1280            pub fn ctcif7(&mut self) -> CTCIF7_W {
1281                CTCIF7_W { w: self }
1282            }
1283            ///Bit 24 - Channel x global interrupt clear (x = 1 ..7)
1284            #[inline(always)]
1285            pub fn cgif7(&mut self) -> CGIF7_W {
1286                CGIF7_W { w: self }
1287            }
1288            ///Bit 23 - Channel x transfer error clear (x = 1 ..7)
1289            #[inline(always)]
1290            pub fn cteif6(&mut self) -> CTEIF6_W {
1291                CTEIF6_W { w: self }
1292            }
1293            ///Bit 22 - Channel x half transfer clear (x = 1 ..7)
1294            #[inline(always)]
1295            pub fn chtif6(&mut self) -> CHTIF6_W {
1296                CHTIF6_W { w: self }
1297            }
1298            ///Bit 21 - Channel x transfer complete clear (x = 1 ..7)
1299            #[inline(always)]
1300            pub fn ctcif6(&mut self) -> CTCIF6_W {
1301                CTCIF6_W { w: self }
1302            }
1303            ///Bit 20 - Channel x global interrupt clear (x = 1 ..7)
1304            #[inline(always)]
1305            pub fn cgif6(&mut self) -> CGIF6_W {
1306                CGIF6_W { w: self }
1307            }
1308            ///Bit 19 - Channel x transfer error clear (x = 1 ..7)
1309            #[inline(always)]
1310            pub fn cteif5(&mut self) -> CTEIF5_W {
1311                CTEIF5_W { w: self }
1312            }
1313            ///Bit 18 - Channel x half transfer clear (x = 1 ..7)
1314            #[inline(always)]
1315            pub fn chtif5(&mut self) -> CHTIF5_W {
1316                CHTIF5_W { w: self }
1317            }
1318            ///Bit 17 - Channel x transfer complete clear (x = 1 ..7)
1319            #[inline(always)]
1320            pub fn ctcif5(&mut self) -> CTCIF5_W {
1321                CTCIF5_W { w: self }
1322            }
1323            ///Bit 16 - Channel x global interrupt clear (x = 1 ..7)
1324            #[inline(always)]
1325            pub fn cgif5(&mut self) -> CGIF5_W {
1326                CGIF5_W { w: self }
1327            }
1328            ///Bit 15 - Channel x transfer error clear (x = 1 ..7)
1329            #[inline(always)]
1330            pub fn cteif4(&mut self) -> CTEIF4_W {
1331                CTEIF4_W { w: self }
1332            }
1333            ///Bit 14 - Channel x half transfer clear (x = 1 ..7)
1334            #[inline(always)]
1335            pub fn chtif4(&mut self) -> CHTIF4_W {
1336                CHTIF4_W { w: self }
1337            }
1338            ///Bit 13 - Channel x transfer complete clear (x = 1 ..7)
1339            #[inline(always)]
1340            pub fn ctcif4(&mut self) -> CTCIF4_W {
1341                CTCIF4_W { w: self }
1342            }
1343            ///Bit 12 - Channel x global interrupt clear (x = 1 ..7)
1344            #[inline(always)]
1345            pub fn cgif4(&mut self) -> CGIF4_W {
1346                CGIF4_W { w: self }
1347            }
1348            ///Bit 11 - Channel x transfer error clear (x = 1 ..7)
1349            #[inline(always)]
1350            pub fn cteif3(&mut self) -> CTEIF3_W {
1351                CTEIF3_W { w: self }
1352            }
1353            ///Bit 10 - Channel x half transfer clear (x = 1 ..7)
1354            #[inline(always)]
1355            pub fn chtif3(&mut self) -> CHTIF3_W {
1356                CHTIF3_W { w: self }
1357            }
1358            ///Bit 9 - Channel x transfer complete clear (x = 1 ..7)
1359            #[inline(always)]
1360            pub fn ctcif3(&mut self) -> CTCIF3_W {
1361                CTCIF3_W { w: self }
1362            }
1363            ///Bit 8 - Channel x global interrupt clear (x = 1 ..7)
1364            #[inline(always)]
1365            pub fn cgif3(&mut self) -> CGIF3_W {
1366                CGIF3_W { w: self }
1367            }
1368            ///Bit 7 - Channel x transfer error clear (x = 1 ..7)
1369            #[inline(always)]
1370            pub fn cteif2(&mut self) -> CTEIF2_W {
1371                CTEIF2_W { w: self }
1372            }
1373            ///Bit 6 - Channel x half transfer clear (x = 1 ..7)
1374            #[inline(always)]
1375            pub fn chtif2(&mut self) -> CHTIF2_W {
1376                CHTIF2_W { w: self }
1377            }
1378            ///Bit 5 - Channel x transfer complete clear (x = 1 ..7)
1379            #[inline(always)]
1380            pub fn ctcif2(&mut self) -> CTCIF2_W {
1381                CTCIF2_W { w: self }
1382            }
1383            ///Bit 4 - Channel x global interrupt clear (x = 1 ..7)
1384            #[inline(always)]
1385            pub fn cgif2(&mut self) -> CGIF2_W {
1386                CGIF2_W { w: self }
1387            }
1388            ///Bit 3 - Channel x transfer error clear (x = 1 ..7)
1389            #[inline(always)]
1390            pub fn cteif1(&mut self) -> CTEIF1_W {
1391                CTEIF1_W { w: self }
1392            }
1393            ///Bit 2 - Channel x half transfer clear (x = 1 ..7)
1394            #[inline(always)]
1395            pub fn chtif1(&mut self) -> CHTIF1_W {
1396                CHTIF1_W { w: self }
1397            }
1398            ///Bit 1 - Channel x transfer complete clear (x = 1 ..7)
1399            #[inline(always)]
1400            pub fn ctcif1(&mut self) -> CTCIF1_W {
1401                CTCIF1_W { w: self }
1402            }
1403            ///Bit 0 - Channel x global interrupt clear (x = 1 ..7)
1404            #[inline(always)]
1405            pub fn cgif1(&mut self) -> CGIF1_W {
1406                CGIF1_W { w: self }
1407            }
1408        }
1409    }
1410    ///channel x configuration register
1411    ///
1412    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
1413    ///
1414    ///For information about available fields see [ccr1](ccr1) module
1415    pub type CCR1 = crate::Reg<u32, _CCR1>;
1416    #[allow(missing_docs)]
1417    #[doc(hidden)]
1418    pub struct _CCR1;
1419    ///`read()` method returns [ccr1::R](ccr1::R) reader structure
1420    impl crate::Readable for CCR1 {}
1421    ///`write(|w| ..)` method takes [ccr1::W](ccr1::W) writer structure
1422    impl crate::Writable for CCR1 {}
1423    ///channel x configuration register
1424    pub mod ccr1 {
1425        ///Reader of register CCR1
1426        pub type R = crate::R<u32, super::CCR1>;
1427        ///Writer for register CCR1
1428        pub type W = crate::W<u32, super::CCR1>;
1429        ///Register CCR1 `reset()`'s with value 0
1430        impl crate::ResetValue for super::CCR1 {
1431            type Type = u32;
1432            #[inline(always)]
1433            fn reset_value() -> Self::Type {
1434                0
1435            }
1436        }
1437        ///Reader of field `MEM2MEM`
1438        pub type MEM2MEM_R = crate::R<bool, bool>;
1439        ///Write proxy for field `MEM2MEM`
1440        pub struct MEM2MEM_W<'a> {
1441            w: &'a mut W,
1442        }
1443        impl<'a> MEM2MEM_W<'a> {
1444            ///Sets the field bit
1445            #[inline(always)]
1446            pub fn set_bit(self) -> &'a mut W {
1447                self.bit(true)
1448            }
1449            ///Clears the field bit
1450            #[inline(always)]
1451            pub fn clear_bit(self) -> &'a mut W {
1452                self.bit(false)
1453            }
1454            ///Writes raw bits to the field
1455            #[inline(always)]
1456            pub fn bit(self, value: bool) -> &'a mut W {
1457                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
1458                self.w
1459            }
1460        }
1461        ///Reader of field `PL`
1462        pub type PL_R = crate::R<u8, u8>;
1463        ///Write proxy for field `PL`
1464        pub struct PL_W<'a> {
1465            w: &'a mut W,
1466        }
1467        impl<'a> PL_W<'a> {
1468            ///Writes raw bits to the field
1469            #[inline(always)]
1470            pub unsafe fn bits(self, value: u8) -> &'a mut W {
1471                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
1472                self.w
1473            }
1474        }
1475        ///Reader of field `MSIZE`
1476        pub type MSIZE_R = crate::R<u8, u8>;
1477        ///Write proxy for field `MSIZE`
1478        pub struct MSIZE_W<'a> {
1479            w: &'a mut W,
1480        }
1481        impl<'a> MSIZE_W<'a> {
1482            ///Writes raw bits to the field
1483            #[inline(always)]
1484            pub unsafe fn bits(self, value: u8) -> &'a mut W {
1485                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
1486                self.w
1487            }
1488        }
1489        ///Reader of field `PSIZE`
1490        pub type PSIZE_R = crate::R<u8, u8>;
1491        ///Write proxy for field `PSIZE`
1492        pub struct PSIZE_W<'a> {
1493            w: &'a mut W,
1494        }
1495        impl<'a> PSIZE_W<'a> {
1496            ///Writes raw bits to the field
1497            #[inline(always)]
1498            pub unsafe fn bits(self, value: u8) -> &'a mut W {
1499                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
1500                self.w
1501            }
1502        }
1503        ///Reader of field `MINC`
1504        pub type MINC_R = crate::R<bool, bool>;
1505        ///Write proxy for field `MINC`
1506        pub struct MINC_W<'a> {
1507            w: &'a mut W,
1508        }
1509        impl<'a> MINC_W<'a> {
1510            ///Sets the field bit
1511            #[inline(always)]
1512            pub fn set_bit(self) -> &'a mut W {
1513                self.bit(true)
1514            }
1515            ///Clears the field bit
1516            #[inline(always)]
1517            pub fn clear_bit(self) -> &'a mut W {
1518                self.bit(false)
1519            }
1520            ///Writes raw bits to the field
1521            #[inline(always)]
1522            pub fn bit(self, value: bool) -> &'a mut W {
1523                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
1524                self.w
1525            }
1526        }
1527        ///Reader of field `PINC`
1528        pub type PINC_R = crate::R<bool, bool>;
1529        ///Write proxy for field `PINC`
1530        pub struct PINC_W<'a> {
1531            w: &'a mut W,
1532        }
1533        impl<'a> PINC_W<'a> {
1534            ///Sets the field bit
1535            #[inline(always)]
1536            pub fn set_bit(self) -> &'a mut W {
1537                self.bit(true)
1538            }
1539            ///Clears the field bit
1540            #[inline(always)]
1541            pub fn clear_bit(self) -> &'a mut W {
1542                self.bit(false)
1543            }
1544            ///Writes raw bits to the field
1545            #[inline(always)]
1546            pub fn bit(self, value: bool) -> &'a mut W {
1547                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
1548                self.w
1549            }
1550        }
1551        ///Reader of field `CIRC`
1552        pub type CIRC_R = crate::R<bool, bool>;
1553        ///Write proxy for field `CIRC`
1554        pub struct CIRC_W<'a> {
1555            w: &'a mut W,
1556        }
1557        impl<'a> CIRC_W<'a> {
1558            ///Sets the field bit
1559            #[inline(always)]
1560            pub fn set_bit(self) -> &'a mut W {
1561                self.bit(true)
1562            }
1563            ///Clears the field bit
1564            #[inline(always)]
1565            pub fn clear_bit(self) -> &'a mut W {
1566                self.bit(false)
1567            }
1568            ///Writes raw bits to the field
1569            #[inline(always)]
1570            pub fn bit(self, value: bool) -> &'a mut W {
1571                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
1572                self.w
1573            }
1574        }
1575        ///Reader of field `DIR`
1576        pub type DIR_R = crate::R<bool, bool>;
1577        ///Write proxy for field `DIR`
1578        pub struct DIR_W<'a> {
1579            w: &'a mut W,
1580        }
1581        impl<'a> DIR_W<'a> {
1582            ///Sets the field bit
1583            #[inline(always)]
1584            pub fn set_bit(self) -> &'a mut W {
1585                self.bit(true)
1586            }
1587            ///Clears the field bit
1588            #[inline(always)]
1589            pub fn clear_bit(self) -> &'a mut W {
1590                self.bit(false)
1591            }
1592            ///Writes raw bits to the field
1593            #[inline(always)]
1594            pub fn bit(self, value: bool) -> &'a mut W {
1595                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
1596                self.w
1597            }
1598        }
1599        ///Reader of field `TEIE`
1600        pub type TEIE_R = crate::R<bool, bool>;
1601        ///Write proxy for field `TEIE`
1602        pub struct TEIE_W<'a> {
1603            w: &'a mut W,
1604        }
1605        impl<'a> TEIE_W<'a> {
1606            ///Sets the field bit
1607            #[inline(always)]
1608            pub fn set_bit(self) -> &'a mut W {
1609                self.bit(true)
1610            }
1611            ///Clears the field bit
1612            #[inline(always)]
1613            pub fn clear_bit(self) -> &'a mut W {
1614                self.bit(false)
1615            }
1616            ///Writes raw bits to the field
1617            #[inline(always)]
1618            pub fn bit(self, value: bool) -> &'a mut W {
1619                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
1620                self.w
1621            }
1622        }
1623        ///Reader of field `HTIE`
1624        pub type HTIE_R = crate::R<bool, bool>;
1625        ///Write proxy for field `HTIE`
1626        pub struct HTIE_W<'a> {
1627            w: &'a mut W,
1628        }
1629        impl<'a> HTIE_W<'a> {
1630            ///Sets the field bit
1631            #[inline(always)]
1632            pub fn set_bit(self) -> &'a mut W {
1633                self.bit(true)
1634            }
1635            ///Clears the field bit
1636            #[inline(always)]
1637            pub fn clear_bit(self) -> &'a mut W {
1638                self.bit(false)
1639            }
1640            ///Writes raw bits to the field
1641            #[inline(always)]
1642            pub fn bit(self, value: bool) -> &'a mut W {
1643                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
1644                self.w
1645            }
1646        }
1647        ///Reader of field `TCIE`
1648        pub type TCIE_R = crate::R<bool, bool>;
1649        ///Write proxy for field `TCIE`
1650        pub struct TCIE_W<'a> {
1651            w: &'a mut W,
1652        }
1653        impl<'a> TCIE_W<'a> {
1654            ///Sets the field bit
1655            #[inline(always)]
1656            pub fn set_bit(self) -> &'a mut W {
1657                self.bit(true)
1658            }
1659            ///Clears the field bit
1660            #[inline(always)]
1661            pub fn clear_bit(self) -> &'a mut W {
1662                self.bit(false)
1663            }
1664            ///Writes raw bits to the field
1665            #[inline(always)]
1666            pub fn bit(self, value: bool) -> &'a mut W {
1667                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
1668                self.w
1669            }
1670        }
1671        ///Reader of field `EN`
1672        pub type EN_R = crate::R<bool, bool>;
1673        ///Write proxy for field `EN`
1674        pub struct EN_W<'a> {
1675            w: &'a mut W,
1676        }
1677        impl<'a> EN_W<'a> {
1678            ///Sets the field bit
1679            #[inline(always)]
1680            pub fn set_bit(self) -> &'a mut W {
1681                self.bit(true)
1682            }
1683            ///Clears the field bit
1684            #[inline(always)]
1685            pub fn clear_bit(self) -> &'a mut W {
1686                self.bit(false)
1687            }
1688            ///Writes raw bits to the field
1689            #[inline(always)]
1690            pub fn bit(self, value: bool) -> &'a mut W {
1691                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
1692                self.w
1693            }
1694        }
1695        impl R {
1696            ///Bit 14 - Memory to memory mode
1697            #[inline(always)]
1698            pub fn mem2mem(&self) -> MEM2MEM_R {
1699                MEM2MEM_R::new(((self.bits >> 14) & 0x01) != 0)
1700            }
1701            ///Bits 12:13 - Channel priority level
1702            #[inline(always)]
1703            pub fn pl(&self) -> PL_R {
1704                PL_R::new(((self.bits >> 12) & 0x03) as u8)
1705            }
1706            ///Bits 10:11 - Memory size
1707            #[inline(always)]
1708            pub fn msize(&self) -> MSIZE_R {
1709                MSIZE_R::new(((self.bits >> 10) & 0x03) as u8)
1710            }
1711            ///Bits 8:9 - Peripheral size
1712            #[inline(always)]
1713            pub fn psize(&self) -> PSIZE_R {
1714                PSIZE_R::new(((self.bits >> 8) & 0x03) as u8)
1715            }
1716            ///Bit 7 - Memory increment mode
1717            #[inline(always)]
1718            pub fn minc(&self) -> MINC_R {
1719                MINC_R::new(((self.bits >> 7) & 0x01) != 0)
1720            }
1721            ///Bit 6 - Peripheral increment mode
1722            #[inline(always)]
1723            pub fn pinc(&self) -> PINC_R {
1724                PINC_R::new(((self.bits >> 6) & 0x01) != 0)
1725            }
1726            ///Bit 5 - Circular mode
1727            #[inline(always)]
1728            pub fn circ(&self) -> CIRC_R {
1729                CIRC_R::new(((self.bits >> 5) & 0x01) != 0)
1730            }
1731            ///Bit 4 - Data transfer direction
1732            #[inline(always)]
1733            pub fn dir(&self) -> DIR_R {
1734                DIR_R::new(((self.bits >> 4) & 0x01) != 0)
1735            }
1736            ///Bit 3 - Transfer error interrupt enable
1737            #[inline(always)]
1738            pub fn teie(&self) -> TEIE_R {
1739                TEIE_R::new(((self.bits >> 3) & 0x01) != 0)
1740            }
1741            ///Bit 2 - Half transfer interrupt enable
1742            #[inline(always)]
1743            pub fn htie(&self) -> HTIE_R {
1744                HTIE_R::new(((self.bits >> 2) & 0x01) != 0)
1745            }
1746            ///Bit 1 - Transfer complete interrupt enable
1747            #[inline(always)]
1748            pub fn tcie(&self) -> TCIE_R {
1749                TCIE_R::new(((self.bits >> 1) & 0x01) != 0)
1750            }
1751            ///Bit 0 - Channel enable
1752            #[inline(always)]
1753            pub fn en(&self) -> EN_R {
1754                EN_R::new((self.bits & 0x01) != 0)
1755            }
1756        }
1757        impl W {
1758            ///Bit 14 - Memory to memory mode
1759            #[inline(always)]
1760            pub fn mem2mem(&mut self) -> MEM2MEM_W {
1761                MEM2MEM_W { w: self }
1762            }
1763            ///Bits 12:13 - Channel priority level
1764            #[inline(always)]
1765            pub fn pl(&mut self) -> PL_W {
1766                PL_W { w: self }
1767            }
1768            ///Bits 10:11 - Memory size
1769            #[inline(always)]
1770            pub fn msize(&mut self) -> MSIZE_W {
1771                MSIZE_W { w: self }
1772            }
1773            ///Bits 8:9 - Peripheral size
1774            #[inline(always)]
1775            pub fn psize(&mut self) -> PSIZE_W {
1776                PSIZE_W { w: self }
1777            }
1778            ///Bit 7 - Memory increment mode
1779            #[inline(always)]
1780            pub fn minc(&mut self) -> MINC_W {
1781                MINC_W { w: self }
1782            }
1783            ///Bit 6 - Peripheral increment mode
1784            #[inline(always)]
1785            pub fn pinc(&mut self) -> PINC_W {
1786                PINC_W { w: self }
1787            }
1788            ///Bit 5 - Circular mode
1789            #[inline(always)]
1790            pub fn circ(&mut self) -> CIRC_W {
1791                CIRC_W { w: self }
1792            }
1793            ///Bit 4 - Data transfer direction
1794            #[inline(always)]
1795            pub fn dir(&mut self) -> DIR_W {
1796                DIR_W { w: self }
1797            }
1798            ///Bit 3 - Transfer error interrupt enable
1799            #[inline(always)]
1800            pub fn teie(&mut self) -> TEIE_W {
1801                TEIE_W { w: self }
1802            }
1803            ///Bit 2 - Half transfer interrupt enable
1804            #[inline(always)]
1805            pub fn htie(&mut self) -> HTIE_W {
1806                HTIE_W { w: self }
1807            }
1808            ///Bit 1 - Transfer complete interrupt enable
1809            #[inline(always)]
1810            pub fn tcie(&mut self) -> TCIE_W {
1811                TCIE_W { w: self }
1812            }
1813            ///Bit 0 - Channel enable
1814            #[inline(always)]
1815            pub fn en(&mut self) -> EN_W {
1816                EN_W { w: self }
1817            }
1818        }
1819    }
1820    ///channel x number of data register
1821    ///
1822    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
1823    ///
1824    ///For information about available fields see [cndtr1](cndtr1) module
1825    pub type CNDTR1 = crate::Reg<u32, _CNDTR1>;
1826    #[allow(missing_docs)]
1827    #[doc(hidden)]
1828    pub struct _CNDTR1;
1829    ///`read()` method returns [cndtr1::R](cndtr1::R) reader structure
1830    impl crate::Readable for CNDTR1 {}
1831    ///`write(|w| ..)` method takes [cndtr1::W](cndtr1::W) writer structure
1832    impl crate::Writable for CNDTR1 {}
1833    ///channel x number of data register
1834    pub mod cndtr1 {
1835        ///Reader of register CNDTR1
1836        pub type R = crate::R<u32, super::CNDTR1>;
1837        ///Writer for register CNDTR1
1838        pub type W = crate::W<u32, super::CNDTR1>;
1839        ///Register CNDTR1 `reset()`'s with value 0
1840        impl crate::ResetValue for super::CNDTR1 {
1841            type Type = u32;
1842            #[inline(always)]
1843            fn reset_value() -> Self::Type {
1844                0
1845            }
1846        }
1847        ///Reader of field `NDT`
1848        pub type NDT_R = crate::R<u16, u16>;
1849        ///Write proxy for field `NDT`
1850        pub struct NDT_W<'a> {
1851            w: &'a mut W,
1852        }
1853        impl<'a> NDT_W<'a> {
1854            ///Writes raw bits to the field
1855            #[inline(always)]
1856            pub unsafe fn bits(self, value: u16) -> &'a mut W {
1857                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
1858                self.w
1859            }
1860        }
1861        impl R {
1862            ///Bits 0:15 - Number of data to transfer
1863            #[inline(always)]
1864            pub fn ndt(&self) -> NDT_R {
1865                NDT_R::new((self.bits & 0xffff) as u16)
1866            }
1867        }
1868        impl W {
1869            ///Bits 0:15 - Number of data to transfer
1870            #[inline(always)]
1871            pub fn ndt(&mut self) -> NDT_W {
1872                NDT_W { w: self }
1873            }
1874        }
1875    }
1876    ///channel x peripheral address register
1877    ///
1878    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
1879    ///
1880    ///For information about available fields see [cpar1](cpar1) module
1881    pub type CPAR1 = crate::Reg<u32, _CPAR1>;
1882    #[allow(missing_docs)]
1883    #[doc(hidden)]
1884    pub struct _CPAR1;
1885    ///`read()` method returns [cpar1::R](cpar1::R) reader structure
1886    impl crate::Readable for CPAR1 {}
1887    ///`write(|w| ..)` method takes [cpar1::W](cpar1::W) writer structure
1888    impl crate::Writable for CPAR1 {}
1889    ///channel x peripheral address register
1890    pub mod cpar1 {
1891        ///Reader of register CPAR1
1892        pub type R = crate::R<u32, super::CPAR1>;
1893        ///Writer for register CPAR1
1894        pub type W = crate::W<u32, super::CPAR1>;
1895        ///Register CPAR1 `reset()`'s with value 0
1896        impl crate::ResetValue for super::CPAR1 {
1897            type Type = u32;
1898            #[inline(always)]
1899            fn reset_value() -> Self::Type {
1900                0
1901            }
1902        }
1903        ///Reader of field `PA`
1904        pub type PA_R = crate::R<u32, u32>;
1905        ///Write proxy for field `PA`
1906        pub struct PA_W<'a> {
1907            w: &'a mut W,
1908        }
1909        impl<'a> PA_W<'a> {
1910            ///Writes raw bits to the field
1911            #[inline(always)]
1912            pub unsafe fn bits(self, value: u32) -> &'a mut W {
1913                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
1914                self.w
1915            }
1916        }
1917        impl R {
1918            ///Bits 0:31 - Peripheral address
1919            #[inline(always)]
1920            pub fn pa(&self) -> PA_R {
1921                PA_R::new((self.bits & 0xffff_ffff) as u32)
1922            }
1923        }
1924        impl W {
1925            ///Bits 0:31 - Peripheral address
1926            #[inline(always)]
1927            pub fn pa(&mut self) -> PA_W {
1928                PA_W { w: self }
1929            }
1930        }
1931    }
1932    ///channel x memory address register
1933    ///
1934    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
1935    ///
1936    ///For information about available fields see [cmar1](cmar1) module
1937    pub type CMAR1 = crate::Reg<u32, _CMAR1>;
1938    #[allow(missing_docs)]
1939    #[doc(hidden)]
1940    pub struct _CMAR1;
1941    ///`read()` method returns [cmar1::R](cmar1::R) reader structure
1942    impl crate::Readable for CMAR1 {}
1943    ///`write(|w| ..)` method takes [cmar1::W](cmar1::W) writer structure
1944    impl crate::Writable for CMAR1 {}
1945    ///channel x memory address register
1946    pub mod cmar1 {
1947        ///Reader of register CMAR1
1948        pub type R = crate::R<u32, super::CMAR1>;
1949        ///Writer for register CMAR1
1950        pub type W = crate::W<u32, super::CMAR1>;
1951        ///Register CMAR1 `reset()`'s with value 0
1952        impl crate::ResetValue for super::CMAR1 {
1953            type Type = u32;
1954            #[inline(always)]
1955            fn reset_value() -> Self::Type {
1956                0
1957            }
1958        }
1959        ///Reader of field `MA`
1960        pub type MA_R = crate::R<u32, u32>;
1961        ///Write proxy for field `MA`
1962        pub struct MA_W<'a> {
1963            w: &'a mut W,
1964        }
1965        impl<'a> MA_W<'a> {
1966            ///Writes raw bits to the field
1967            #[inline(always)]
1968            pub unsafe fn bits(self, value: u32) -> &'a mut W {
1969                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
1970                self.w
1971            }
1972        }
1973        impl R {
1974            ///Bits 0:31 - Memory address
1975            #[inline(always)]
1976            pub fn ma(&self) -> MA_R {
1977                MA_R::new((self.bits & 0xffff_ffff) as u32)
1978            }
1979        }
1980        impl W {
1981            ///Bits 0:31 - Memory address
1982            #[inline(always)]
1983            pub fn ma(&mut self) -> MA_W {
1984                MA_W { w: self }
1985            }
1986        }
1987    }
1988    ///channel x configuration register
1989    ///
1990    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
1991    ///
1992    ///For information about available fields see [ccr2](ccr2) module
1993    pub type CCR2 = crate::Reg<u32, _CCR2>;
1994    #[allow(missing_docs)]
1995    #[doc(hidden)]
1996    pub struct _CCR2;
1997    ///`read()` method returns [ccr2::R](ccr2::R) reader structure
1998    impl crate::Readable for CCR2 {}
1999    ///`write(|w| ..)` method takes [ccr2::W](ccr2::W) writer structure
2000    impl crate::Writable for CCR2 {}
2001    ///channel x configuration register
2002    pub mod ccr2 {
2003        ///Reader of register CCR2
2004        pub type R = crate::R<u32, super::CCR2>;
2005        ///Writer for register CCR2
2006        pub type W = crate::W<u32, super::CCR2>;
2007        ///Register CCR2 `reset()`'s with value 0
2008        impl crate::ResetValue for super::CCR2 {
2009            type Type = u32;
2010            #[inline(always)]
2011            fn reset_value() -> Self::Type {
2012                0
2013            }
2014        }
2015        ///Reader of field `MEM2MEM`
2016        pub type MEM2MEM_R = crate::R<bool, bool>;
2017        ///Write proxy for field `MEM2MEM`
2018        pub struct MEM2MEM_W<'a> {
2019            w: &'a mut W,
2020        }
2021        impl<'a> MEM2MEM_W<'a> {
2022            ///Sets the field bit
2023            #[inline(always)]
2024            pub fn set_bit(self) -> &'a mut W {
2025                self.bit(true)
2026            }
2027            ///Clears the field bit
2028            #[inline(always)]
2029            pub fn clear_bit(self) -> &'a mut W {
2030                self.bit(false)
2031            }
2032            ///Writes raw bits to the field
2033            #[inline(always)]
2034            pub fn bit(self, value: bool) -> &'a mut W {
2035                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
2036                self.w
2037            }
2038        }
2039        ///Reader of field `PL`
2040        pub type PL_R = crate::R<u8, u8>;
2041        ///Write proxy for field `PL`
2042        pub struct PL_W<'a> {
2043            w: &'a mut W,
2044        }
2045        impl<'a> PL_W<'a> {
2046            ///Writes raw bits to the field
2047            #[inline(always)]
2048            pub unsafe fn bits(self, value: u8) -> &'a mut W {
2049                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
2050                self.w
2051            }
2052        }
2053        ///Reader of field `MSIZE`
2054        pub type MSIZE_R = crate::R<u8, u8>;
2055        ///Write proxy for field `MSIZE`
2056        pub struct MSIZE_W<'a> {
2057            w: &'a mut W,
2058        }
2059        impl<'a> MSIZE_W<'a> {
2060            ///Writes raw bits to the field
2061            #[inline(always)]
2062            pub unsafe fn bits(self, value: u8) -> &'a mut W {
2063                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
2064                self.w
2065            }
2066        }
2067        ///Reader of field `PSIZE`
2068        pub type PSIZE_R = crate::R<u8, u8>;
2069        ///Write proxy for field `PSIZE`
2070        pub struct PSIZE_W<'a> {
2071            w: &'a mut W,
2072        }
2073        impl<'a> PSIZE_W<'a> {
2074            ///Writes raw bits to the field
2075            #[inline(always)]
2076            pub unsafe fn bits(self, value: u8) -> &'a mut W {
2077                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
2078                self.w
2079            }
2080        }
2081        ///Reader of field `MINC`
2082        pub type MINC_R = crate::R<bool, bool>;
2083        ///Write proxy for field `MINC`
2084        pub struct MINC_W<'a> {
2085            w: &'a mut W,
2086        }
2087        impl<'a> MINC_W<'a> {
2088            ///Sets the field bit
2089            #[inline(always)]
2090            pub fn set_bit(self) -> &'a mut W {
2091                self.bit(true)
2092            }
2093            ///Clears the field bit
2094            #[inline(always)]
2095            pub fn clear_bit(self) -> &'a mut W {
2096                self.bit(false)
2097            }
2098            ///Writes raw bits to the field
2099            #[inline(always)]
2100            pub fn bit(self, value: bool) -> &'a mut W {
2101                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
2102                self.w
2103            }
2104        }
2105        ///Reader of field `PINC`
2106        pub type PINC_R = crate::R<bool, bool>;
2107        ///Write proxy for field `PINC`
2108        pub struct PINC_W<'a> {
2109            w: &'a mut W,
2110        }
2111        impl<'a> PINC_W<'a> {
2112            ///Sets the field bit
2113            #[inline(always)]
2114            pub fn set_bit(self) -> &'a mut W {
2115                self.bit(true)
2116            }
2117            ///Clears the field bit
2118            #[inline(always)]
2119            pub fn clear_bit(self) -> &'a mut W {
2120                self.bit(false)
2121            }
2122            ///Writes raw bits to the field
2123            #[inline(always)]
2124            pub fn bit(self, value: bool) -> &'a mut W {
2125                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
2126                self.w
2127            }
2128        }
2129        ///Reader of field `CIRC`
2130        pub type CIRC_R = crate::R<bool, bool>;
2131        ///Write proxy for field `CIRC`
2132        pub struct CIRC_W<'a> {
2133            w: &'a mut W,
2134        }
2135        impl<'a> CIRC_W<'a> {
2136            ///Sets the field bit
2137            #[inline(always)]
2138            pub fn set_bit(self) -> &'a mut W {
2139                self.bit(true)
2140            }
2141            ///Clears the field bit
2142            #[inline(always)]
2143            pub fn clear_bit(self) -> &'a mut W {
2144                self.bit(false)
2145            }
2146            ///Writes raw bits to the field
2147            #[inline(always)]
2148            pub fn bit(self, value: bool) -> &'a mut W {
2149                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
2150                self.w
2151            }
2152        }
2153        ///Reader of field `DIR`
2154        pub type DIR_R = crate::R<bool, bool>;
2155        ///Write proxy for field `DIR`
2156        pub struct DIR_W<'a> {
2157            w: &'a mut W,
2158        }
2159        impl<'a> DIR_W<'a> {
2160            ///Sets the field bit
2161            #[inline(always)]
2162            pub fn set_bit(self) -> &'a mut W {
2163                self.bit(true)
2164            }
2165            ///Clears the field bit
2166            #[inline(always)]
2167            pub fn clear_bit(self) -> &'a mut W {
2168                self.bit(false)
2169            }
2170            ///Writes raw bits to the field
2171            #[inline(always)]
2172            pub fn bit(self, value: bool) -> &'a mut W {
2173                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
2174                self.w
2175            }
2176        }
2177        ///Reader of field `TEIE`
2178        pub type TEIE_R = crate::R<bool, bool>;
2179        ///Write proxy for field `TEIE`
2180        pub struct TEIE_W<'a> {
2181            w: &'a mut W,
2182        }
2183        impl<'a> TEIE_W<'a> {
2184            ///Sets the field bit
2185            #[inline(always)]
2186            pub fn set_bit(self) -> &'a mut W {
2187                self.bit(true)
2188            }
2189            ///Clears the field bit
2190            #[inline(always)]
2191            pub fn clear_bit(self) -> &'a mut W {
2192                self.bit(false)
2193            }
2194            ///Writes raw bits to the field
2195            #[inline(always)]
2196            pub fn bit(self, value: bool) -> &'a mut W {
2197                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
2198                self.w
2199            }
2200        }
2201        ///Reader of field `HTIE`
2202        pub type HTIE_R = crate::R<bool, bool>;
2203        ///Write proxy for field `HTIE`
2204        pub struct HTIE_W<'a> {
2205            w: &'a mut W,
2206        }
2207        impl<'a> HTIE_W<'a> {
2208            ///Sets the field bit
2209            #[inline(always)]
2210            pub fn set_bit(self) -> &'a mut W {
2211                self.bit(true)
2212            }
2213            ///Clears the field bit
2214            #[inline(always)]
2215            pub fn clear_bit(self) -> &'a mut W {
2216                self.bit(false)
2217            }
2218            ///Writes raw bits to the field
2219            #[inline(always)]
2220            pub fn bit(self, value: bool) -> &'a mut W {
2221                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
2222                self.w
2223            }
2224        }
2225        ///Reader of field `TCIE`
2226        pub type TCIE_R = crate::R<bool, bool>;
2227        ///Write proxy for field `TCIE`
2228        pub struct TCIE_W<'a> {
2229            w: &'a mut W,
2230        }
2231        impl<'a> TCIE_W<'a> {
2232            ///Sets the field bit
2233            #[inline(always)]
2234            pub fn set_bit(self) -> &'a mut W {
2235                self.bit(true)
2236            }
2237            ///Clears the field bit
2238            #[inline(always)]
2239            pub fn clear_bit(self) -> &'a mut W {
2240                self.bit(false)
2241            }
2242            ///Writes raw bits to the field
2243            #[inline(always)]
2244            pub fn bit(self, value: bool) -> &'a mut W {
2245                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
2246                self.w
2247            }
2248        }
2249        ///Reader of field `EN`
2250        pub type EN_R = crate::R<bool, bool>;
2251        ///Write proxy for field `EN`
2252        pub struct EN_W<'a> {
2253            w: &'a mut W,
2254        }
2255        impl<'a> EN_W<'a> {
2256            ///Sets the field bit
2257            #[inline(always)]
2258            pub fn set_bit(self) -> &'a mut W {
2259                self.bit(true)
2260            }
2261            ///Clears the field bit
2262            #[inline(always)]
2263            pub fn clear_bit(self) -> &'a mut W {
2264                self.bit(false)
2265            }
2266            ///Writes raw bits to the field
2267            #[inline(always)]
2268            pub fn bit(self, value: bool) -> &'a mut W {
2269                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
2270                self.w
2271            }
2272        }
2273        impl R {
2274            ///Bit 14 - Memory to memory mode
2275            #[inline(always)]
2276            pub fn mem2mem(&self) -> MEM2MEM_R {
2277                MEM2MEM_R::new(((self.bits >> 14) & 0x01) != 0)
2278            }
2279            ///Bits 12:13 - Channel priority level
2280            #[inline(always)]
2281            pub fn pl(&self) -> PL_R {
2282                PL_R::new(((self.bits >> 12) & 0x03) as u8)
2283            }
2284            ///Bits 10:11 - Memory size
2285            #[inline(always)]
2286            pub fn msize(&self) -> MSIZE_R {
2287                MSIZE_R::new(((self.bits >> 10) & 0x03) as u8)
2288            }
2289            ///Bits 8:9 - Peripheral size
2290            #[inline(always)]
2291            pub fn psize(&self) -> PSIZE_R {
2292                PSIZE_R::new(((self.bits >> 8) & 0x03) as u8)
2293            }
2294            ///Bit 7 - Memory increment mode
2295            #[inline(always)]
2296            pub fn minc(&self) -> MINC_R {
2297                MINC_R::new(((self.bits >> 7) & 0x01) != 0)
2298            }
2299            ///Bit 6 - Peripheral increment mode
2300            #[inline(always)]
2301            pub fn pinc(&self) -> PINC_R {
2302                PINC_R::new(((self.bits >> 6) & 0x01) != 0)
2303            }
2304            ///Bit 5 - Circular mode
2305            #[inline(always)]
2306            pub fn circ(&self) -> CIRC_R {
2307                CIRC_R::new(((self.bits >> 5) & 0x01) != 0)
2308            }
2309            ///Bit 4 - Data transfer direction
2310            #[inline(always)]
2311            pub fn dir(&self) -> DIR_R {
2312                DIR_R::new(((self.bits >> 4) & 0x01) != 0)
2313            }
2314            ///Bit 3 - Transfer error interrupt enable
2315            #[inline(always)]
2316            pub fn teie(&self) -> TEIE_R {
2317                TEIE_R::new(((self.bits >> 3) & 0x01) != 0)
2318            }
2319            ///Bit 2 - Half transfer interrupt enable
2320            #[inline(always)]
2321            pub fn htie(&self) -> HTIE_R {
2322                HTIE_R::new(((self.bits >> 2) & 0x01) != 0)
2323            }
2324            ///Bit 1 - Transfer complete interrupt enable
2325            #[inline(always)]
2326            pub fn tcie(&self) -> TCIE_R {
2327                TCIE_R::new(((self.bits >> 1) & 0x01) != 0)
2328            }
2329            ///Bit 0 - Channel enable
2330            #[inline(always)]
2331            pub fn en(&self) -> EN_R {
2332                EN_R::new((self.bits & 0x01) != 0)
2333            }
2334        }
2335        impl W {
2336            ///Bit 14 - Memory to memory mode
2337            #[inline(always)]
2338            pub fn mem2mem(&mut self) -> MEM2MEM_W {
2339                MEM2MEM_W { w: self }
2340            }
2341            ///Bits 12:13 - Channel priority level
2342            #[inline(always)]
2343            pub fn pl(&mut self) -> PL_W {
2344                PL_W { w: self }
2345            }
2346            ///Bits 10:11 - Memory size
2347            #[inline(always)]
2348            pub fn msize(&mut self) -> MSIZE_W {
2349                MSIZE_W { w: self }
2350            }
2351            ///Bits 8:9 - Peripheral size
2352            #[inline(always)]
2353            pub fn psize(&mut self) -> PSIZE_W {
2354                PSIZE_W { w: self }
2355            }
2356            ///Bit 7 - Memory increment mode
2357            #[inline(always)]
2358            pub fn minc(&mut self) -> MINC_W {
2359                MINC_W { w: self }
2360            }
2361            ///Bit 6 - Peripheral increment mode
2362            #[inline(always)]
2363            pub fn pinc(&mut self) -> PINC_W {
2364                PINC_W { w: self }
2365            }
2366            ///Bit 5 - Circular mode
2367            #[inline(always)]
2368            pub fn circ(&mut self) -> CIRC_W {
2369                CIRC_W { w: self }
2370            }
2371            ///Bit 4 - Data transfer direction
2372            #[inline(always)]
2373            pub fn dir(&mut self) -> DIR_W {
2374                DIR_W { w: self }
2375            }
2376            ///Bit 3 - Transfer error interrupt enable
2377            #[inline(always)]
2378            pub fn teie(&mut self) -> TEIE_W {
2379                TEIE_W { w: self }
2380            }
2381            ///Bit 2 - Half transfer interrupt enable
2382            #[inline(always)]
2383            pub fn htie(&mut self) -> HTIE_W {
2384                HTIE_W { w: self }
2385            }
2386            ///Bit 1 - Transfer complete interrupt enable
2387            #[inline(always)]
2388            pub fn tcie(&mut self) -> TCIE_W {
2389                TCIE_W { w: self }
2390            }
2391            ///Bit 0 - Channel enable
2392            #[inline(always)]
2393            pub fn en(&mut self) -> EN_W {
2394                EN_W { w: self }
2395            }
2396        }
2397    }
2398    ///channel x number of data register
2399    ///
2400    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
2401    ///
2402    ///For information about available fields see [cndtr2](cndtr2) module
2403    pub type CNDTR2 = crate::Reg<u32, _CNDTR2>;
2404    #[allow(missing_docs)]
2405    #[doc(hidden)]
2406    pub struct _CNDTR2;
2407    ///`read()` method returns [cndtr2::R](cndtr2::R) reader structure
2408    impl crate::Readable for CNDTR2 {}
2409    ///`write(|w| ..)` method takes [cndtr2::W](cndtr2::W) writer structure
2410    impl crate::Writable for CNDTR2 {}
2411    ///channel x number of data register
2412    pub mod cndtr2 {
2413        ///Reader of register CNDTR2
2414        pub type R = crate::R<u32, super::CNDTR2>;
2415        ///Writer for register CNDTR2
2416        pub type W = crate::W<u32, super::CNDTR2>;
2417        ///Register CNDTR2 `reset()`'s with value 0
2418        impl crate::ResetValue for super::CNDTR2 {
2419            type Type = u32;
2420            #[inline(always)]
2421            fn reset_value() -> Self::Type {
2422                0
2423            }
2424        }
2425        ///Reader of field `NDT`
2426        pub type NDT_R = crate::R<u16, u16>;
2427        ///Write proxy for field `NDT`
2428        pub struct NDT_W<'a> {
2429            w: &'a mut W,
2430        }
2431        impl<'a> NDT_W<'a> {
2432            ///Writes raw bits to the field
2433            #[inline(always)]
2434            pub unsafe fn bits(self, value: u16) -> &'a mut W {
2435                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
2436                self.w
2437            }
2438        }
2439        impl R {
2440            ///Bits 0:15 - Number of data to transfer
2441            #[inline(always)]
2442            pub fn ndt(&self) -> NDT_R {
2443                NDT_R::new((self.bits & 0xffff) as u16)
2444            }
2445        }
2446        impl W {
2447            ///Bits 0:15 - Number of data to transfer
2448            #[inline(always)]
2449            pub fn ndt(&mut self) -> NDT_W {
2450                NDT_W { w: self }
2451            }
2452        }
2453    }
2454    ///channel x peripheral address register
2455    ///
2456    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
2457    ///
2458    ///For information about available fields see [cpar2](cpar2) module
2459    pub type CPAR2 = crate::Reg<u32, _CPAR2>;
2460    #[allow(missing_docs)]
2461    #[doc(hidden)]
2462    pub struct _CPAR2;
2463    ///`read()` method returns [cpar2::R](cpar2::R) reader structure
2464    impl crate::Readable for CPAR2 {}
2465    ///`write(|w| ..)` method takes [cpar2::W](cpar2::W) writer structure
2466    impl crate::Writable for CPAR2 {}
2467    ///channel x peripheral address register
2468    pub mod cpar2 {
2469        ///Reader of register CPAR2
2470        pub type R = crate::R<u32, super::CPAR2>;
2471        ///Writer for register CPAR2
2472        pub type W = crate::W<u32, super::CPAR2>;
2473        ///Register CPAR2 `reset()`'s with value 0
2474        impl crate::ResetValue for super::CPAR2 {
2475            type Type = u32;
2476            #[inline(always)]
2477            fn reset_value() -> Self::Type {
2478                0
2479            }
2480        }
2481        ///Reader of field `PA`
2482        pub type PA_R = crate::R<u32, u32>;
2483        ///Write proxy for field `PA`
2484        pub struct PA_W<'a> {
2485            w: &'a mut W,
2486        }
2487        impl<'a> PA_W<'a> {
2488            ///Writes raw bits to the field
2489            #[inline(always)]
2490            pub unsafe fn bits(self, value: u32) -> &'a mut W {
2491                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
2492                self.w
2493            }
2494        }
2495        impl R {
2496            ///Bits 0:31 - Peripheral address
2497            #[inline(always)]
2498            pub fn pa(&self) -> PA_R {
2499                PA_R::new((self.bits & 0xffff_ffff) as u32)
2500            }
2501        }
2502        impl W {
2503            ///Bits 0:31 - Peripheral address
2504            #[inline(always)]
2505            pub fn pa(&mut self) -> PA_W {
2506                PA_W { w: self }
2507            }
2508        }
2509    }
2510    ///channel x memory address register
2511    ///
2512    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
2513    ///
2514    ///For information about available fields see [cmar2](cmar2) module
2515    pub type CMAR2 = crate::Reg<u32, _CMAR2>;
2516    #[allow(missing_docs)]
2517    #[doc(hidden)]
2518    pub struct _CMAR2;
2519    ///`read()` method returns [cmar2::R](cmar2::R) reader structure
2520    impl crate::Readable for CMAR2 {}
2521    ///`write(|w| ..)` method takes [cmar2::W](cmar2::W) writer structure
2522    impl crate::Writable for CMAR2 {}
2523    ///channel x memory address register
2524    pub mod cmar2 {
2525        ///Reader of register CMAR2
2526        pub type R = crate::R<u32, super::CMAR2>;
2527        ///Writer for register CMAR2
2528        pub type W = crate::W<u32, super::CMAR2>;
2529        ///Register CMAR2 `reset()`'s with value 0
2530        impl crate::ResetValue for super::CMAR2 {
2531            type Type = u32;
2532            #[inline(always)]
2533            fn reset_value() -> Self::Type {
2534                0
2535            }
2536        }
2537        ///Reader of field `MA`
2538        pub type MA_R = crate::R<u32, u32>;
2539        ///Write proxy for field `MA`
2540        pub struct MA_W<'a> {
2541            w: &'a mut W,
2542        }
2543        impl<'a> MA_W<'a> {
2544            ///Writes raw bits to the field
2545            #[inline(always)]
2546            pub unsafe fn bits(self, value: u32) -> &'a mut W {
2547                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
2548                self.w
2549            }
2550        }
2551        impl R {
2552            ///Bits 0:31 - Memory address
2553            #[inline(always)]
2554            pub fn ma(&self) -> MA_R {
2555                MA_R::new((self.bits & 0xffff_ffff) as u32)
2556            }
2557        }
2558        impl W {
2559            ///Bits 0:31 - Memory address
2560            #[inline(always)]
2561            pub fn ma(&mut self) -> MA_W {
2562                MA_W { w: self }
2563            }
2564        }
2565    }
2566    ///channel x configuration register
2567    ///
2568    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
2569    ///
2570    ///For information about available fields see [ccr3](ccr3) module
2571    pub type CCR3 = crate::Reg<u32, _CCR3>;
2572    #[allow(missing_docs)]
2573    #[doc(hidden)]
2574    pub struct _CCR3;
2575    ///`read()` method returns [ccr3::R](ccr3::R) reader structure
2576    impl crate::Readable for CCR3 {}
2577    ///`write(|w| ..)` method takes [ccr3::W](ccr3::W) writer structure
2578    impl crate::Writable for CCR3 {}
2579    ///channel x configuration register
2580    pub mod ccr3 {
2581        ///Reader of register CCR3
2582        pub type R = crate::R<u32, super::CCR3>;
2583        ///Writer for register CCR3
2584        pub type W = crate::W<u32, super::CCR3>;
2585        ///Register CCR3 `reset()`'s with value 0
2586        impl crate::ResetValue for super::CCR3 {
2587            type Type = u32;
2588            #[inline(always)]
2589            fn reset_value() -> Self::Type {
2590                0
2591            }
2592        }
2593        ///Reader of field `MEM2MEM`
2594        pub type MEM2MEM_R = crate::R<bool, bool>;
2595        ///Write proxy for field `MEM2MEM`
2596        pub struct MEM2MEM_W<'a> {
2597            w: &'a mut W,
2598        }
2599        impl<'a> MEM2MEM_W<'a> {
2600            ///Sets the field bit
2601            #[inline(always)]
2602            pub fn set_bit(self) -> &'a mut W {
2603                self.bit(true)
2604            }
2605            ///Clears the field bit
2606            #[inline(always)]
2607            pub fn clear_bit(self) -> &'a mut W {
2608                self.bit(false)
2609            }
2610            ///Writes raw bits to the field
2611            #[inline(always)]
2612            pub fn bit(self, value: bool) -> &'a mut W {
2613                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
2614                self.w
2615            }
2616        }
2617        ///Reader of field `PL`
2618        pub type PL_R = crate::R<u8, u8>;
2619        ///Write proxy for field `PL`
2620        pub struct PL_W<'a> {
2621            w: &'a mut W,
2622        }
2623        impl<'a> PL_W<'a> {
2624            ///Writes raw bits to the field
2625            #[inline(always)]
2626            pub unsafe fn bits(self, value: u8) -> &'a mut W {
2627                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
2628                self.w
2629            }
2630        }
2631        ///Reader of field `MSIZE`
2632        pub type MSIZE_R = crate::R<u8, u8>;
2633        ///Write proxy for field `MSIZE`
2634        pub struct MSIZE_W<'a> {
2635            w: &'a mut W,
2636        }
2637        impl<'a> MSIZE_W<'a> {
2638            ///Writes raw bits to the field
2639            #[inline(always)]
2640            pub unsafe fn bits(self, value: u8) -> &'a mut W {
2641                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
2642                self.w
2643            }
2644        }
2645        ///Reader of field `PSIZE`
2646        pub type PSIZE_R = crate::R<u8, u8>;
2647        ///Write proxy for field `PSIZE`
2648        pub struct PSIZE_W<'a> {
2649            w: &'a mut W,
2650        }
2651        impl<'a> PSIZE_W<'a> {
2652            ///Writes raw bits to the field
2653            #[inline(always)]
2654            pub unsafe fn bits(self, value: u8) -> &'a mut W {
2655                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
2656                self.w
2657            }
2658        }
2659        ///Reader of field `MINC`
2660        pub type MINC_R = crate::R<bool, bool>;
2661        ///Write proxy for field `MINC`
2662        pub struct MINC_W<'a> {
2663            w: &'a mut W,
2664        }
2665        impl<'a> MINC_W<'a> {
2666            ///Sets the field bit
2667            #[inline(always)]
2668            pub fn set_bit(self) -> &'a mut W {
2669                self.bit(true)
2670            }
2671            ///Clears the field bit
2672            #[inline(always)]
2673            pub fn clear_bit(self) -> &'a mut W {
2674                self.bit(false)
2675            }
2676            ///Writes raw bits to the field
2677            #[inline(always)]
2678            pub fn bit(self, value: bool) -> &'a mut W {
2679                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
2680                self.w
2681            }
2682        }
2683        ///Reader of field `PINC`
2684        pub type PINC_R = crate::R<bool, bool>;
2685        ///Write proxy for field `PINC`
2686        pub struct PINC_W<'a> {
2687            w: &'a mut W,
2688        }
2689        impl<'a> PINC_W<'a> {
2690            ///Sets the field bit
2691            #[inline(always)]
2692            pub fn set_bit(self) -> &'a mut W {
2693                self.bit(true)
2694            }
2695            ///Clears the field bit
2696            #[inline(always)]
2697            pub fn clear_bit(self) -> &'a mut W {
2698                self.bit(false)
2699            }
2700            ///Writes raw bits to the field
2701            #[inline(always)]
2702            pub fn bit(self, value: bool) -> &'a mut W {
2703                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
2704                self.w
2705            }
2706        }
2707        ///Reader of field `CIRC`
2708        pub type CIRC_R = crate::R<bool, bool>;
2709        ///Write proxy for field `CIRC`
2710        pub struct CIRC_W<'a> {
2711            w: &'a mut W,
2712        }
2713        impl<'a> CIRC_W<'a> {
2714            ///Sets the field bit
2715            #[inline(always)]
2716            pub fn set_bit(self) -> &'a mut W {
2717                self.bit(true)
2718            }
2719            ///Clears the field bit
2720            #[inline(always)]
2721            pub fn clear_bit(self) -> &'a mut W {
2722                self.bit(false)
2723            }
2724            ///Writes raw bits to the field
2725            #[inline(always)]
2726            pub fn bit(self, value: bool) -> &'a mut W {
2727                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
2728                self.w
2729            }
2730        }
2731        ///Reader of field `DIR`
2732        pub type DIR_R = crate::R<bool, bool>;
2733        ///Write proxy for field `DIR`
2734        pub struct DIR_W<'a> {
2735            w: &'a mut W,
2736        }
2737        impl<'a> DIR_W<'a> {
2738            ///Sets the field bit
2739            #[inline(always)]
2740            pub fn set_bit(self) -> &'a mut W {
2741                self.bit(true)
2742            }
2743            ///Clears the field bit
2744            #[inline(always)]
2745            pub fn clear_bit(self) -> &'a mut W {
2746                self.bit(false)
2747            }
2748            ///Writes raw bits to the field
2749            #[inline(always)]
2750            pub fn bit(self, value: bool) -> &'a mut W {
2751                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
2752                self.w
2753            }
2754        }
2755        ///Reader of field `TEIE`
2756        pub type TEIE_R = crate::R<bool, bool>;
2757        ///Write proxy for field `TEIE`
2758        pub struct TEIE_W<'a> {
2759            w: &'a mut W,
2760        }
2761        impl<'a> TEIE_W<'a> {
2762            ///Sets the field bit
2763            #[inline(always)]
2764            pub fn set_bit(self) -> &'a mut W {
2765                self.bit(true)
2766            }
2767            ///Clears the field bit
2768            #[inline(always)]
2769            pub fn clear_bit(self) -> &'a mut W {
2770                self.bit(false)
2771            }
2772            ///Writes raw bits to the field
2773            #[inline(always)]
2774            pub fn bit(self, value: bool) -> &'a mut W {
2775                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
2776                self.w
2777            }
2778        }
2779        ///Reader of field `HTIE`
2780        pub type HTIE_R = crate::R<bool, bool>;
2781        ///Write proxy for field `HTIE`
2782        pub struct HTIE_W<'a> {
2783            w: &'a mut W,
2784        }
2785        impl<'a> HTIE_W<'a> {
2786            ///Sets the field bit
2787            #[inline(always)]
2788            pub fn set_bit(self) -> &'a mut W {
2789                self.bit(true)
2790            }
2791            ///Clears the field bit
2792            #[inline(always)]
2793            pub fn clear_bit(self) -> &'a mut W {
2794                self.bit(false)
2795            }
2796            ///Writes raw bits to the field
2797            #[inline(always)]
2798            pub fn bit(self, value: bool) -> &'a mut W {
2799                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
2800                self.w
2801            }
2802        }
2803        ///Reader of field `TCIE`
2804        pub type TCIE_R = crate::R<bool, bool>;
2805        ///Write proxy for field `TCIE`
2806        pub struct TCIE_W<'a> {
2807            w: &'a mut W,
2808        }
2809        impl<'a> TCIE_W<'a> {
2810            ///Sets the field bit
2811            #[inline(always)]
2812            pub fn set_bit(self) -> &'a mut W {
2813                self.bit(true)
2814            }
2815            ///Clears the field bit
2816            #[inline(always)]
2817            pub fn clear_bit(self) -> &'a mut W {
2818                self.bit(false)
2819            }
2820            ///Writes raw bits to the field
2821            #[inline(always)]
2822            pub fn bit(self, value: bool) -> &'a mut W {
2823                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
2824                self.w
2825            }
2826        }
2827        ///Reader of field `EN`
2828        pub type EN_R = crate::R<bool, bool>;
2829        ///Write proxy for field `EN`
2830        pub struct EN_W<'a> {
2831            w: &'a mut W,
2832        }
2833        impl<'a> EN_W<'a> {
2834            ///Sets the field bit
2835            #[inline(always)]
2836            pub fn set_bit(self) -> &'a mut W {
2837                self.bit(true)
2838            }
2839            ///Clears the field bit
2840            #[inline(always)]
2841            pub fn clear_bit(self) -> &'a mut W {
2842                self.bit(false)
2843            }
2844            ///Writes raw bits to the field
2845            #[inline(always)]
2846            pub fn bit(self, value: bool) -> &'a mut W {
2847                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
2848                self.w
2849            }
2850        }
2851        impl R {
2852            ///Bit 14 - Memory to memory mode
2853            #[inline(always)]
2854            pub fn mem2mem(&self) -> MEM2MEM_R {
2855                MEM2MEM_R::new(((self.bits >> 14) & 0x01) != 0)
2856            }
2857            ///Bits 12:13 - Channel priority level
2858            #[inline(always)]
2859            pub fn pl(&self) -> PL_R {
2860                PL_R::new(((self.bits >> 12) & 0x03) as u8)
2861            }
2862            ///Bits 10:11 - Memory size
2863            #[inline(always)]
2864            pub fn msize(&self) -> MSIZE_R {
2865                MSIZE_R::new(((self.bits >> 10) & 0x03) as u8)
2866            }
2867            ///Bits 8:9 - Peripheral size
2868            #[inline(always)]
2869            pub fn psize(&self) -> PSIZE_R {
2870                PSIZE_R::new(((self.bits >> 8) & 0x03) as u8)
2871            }
2872            ///Bit 7 - Memory increment mode
2873            #[inline(always)]
2874            pub fn minc(&self) -> MINC_R {
2875                MINC_R::new(((self.bits >> 7) & 0x01) != 0)
2876            }
2877            ///Bit 6 - Peripheral increment mode
2878            #[inline(always)]
2879            pub fn pinc(&self) -> PINC_R {
2880                PINC_R::new(((self.bits >> 6) & 0x01) != 0)
2881            }
2882            ///Bit 5 - Circular mode
2883            #[inline(always)]
2884            pub fn circ(&self) -> CIRC_R {
2885                CIRC_R::new(((self.bits >> 5) & 0x01) != 0)
2886            }
2887            ///Bit 4 - Data transfer direction
2888            #[inline(always)]
2889            pub fn dir(&self) -> DIR_R {
2890                DIR_R::new(((self.bits >> 4) & 0x01) != 0)
2891            }
2892            ///Bit 3 - Transfer error interrupt enable
2893            #[inline(always)]
2894            pub fn teie(&self) -> TEIE_R {
2895                TEIE_R::new(((self.bits >> 3) & 0x01) != 0)
2896            }
2897            ///Bit 2 - Half transfer interrupt enable
2898            #[inline(always)]
2899            pub fn htie(&self) -> HTIE_R {
2900                HTIE_R::new(((self.bits >> 2) & 0x01) != 0)
2901            }
2902            ///Bit 1 - Transfer complete interrupt enable
2903            #[inline(always)]
2904            pub fn tcie(&self) -> TCIE_R {
2905                TCIE_R::new(((self.bits >> 1) & 0x01) != 0)
2906            }
2907            ///Bit 0 - Channel enable
2908            #[inline(always)]
2909            pub fn en(&self) -> EN_R {
2910                EN_R::new((self.bits & 0x01) != 0)
2911            }
2912        }
2913        impl W {
2914            ///Bit 14 - Memory to memory mode
2915            #[inline(always)]
2916            pub fn mem2mem(&mut self) -> MEM2MEM_W {
2917                MEM2MEM_W { w: self }
2918            }
2919            ///Bits 12:13 - Channel priority level
2920            #[inline(always)]
2921            pub fn pl(&mut self) -> PL_W {
2922                PL_W { w: self }
2923            }
2924            ///Bits 10:11 - Memory size
2925            #[inline(always)]
2926            pub fn msize(&mut self) -> MSIZE_W {
2927                MSIZE_W { w: self }
2928            }
2929            ///Bits 8:9 - Peripheral size
2930            #[inline(always)]
2931            pub fn psize(&mut self) -> PSIZE_W {
2932                PSIZE_W { w: self }
2933            }
2934            ///Bit 7 - Memory increment mode
2935            #[inline(always)]
2936            pub fn minc(&mut self) -> MINC_W {
2937                MINC_W { w: self }
2938            }
2939            ///Bit 6 - Peripheral increment mode
2940            #[inline(always)]
2941            pub fn pinc(&mut self) -> PINC_W {
2942                PINC_W { w: self }
2943            }
2944            ///Bit 5 - Circular mode
2945            #[inline(always)]
2946            pub fn circ(&mut self) -> CIRC_W {
2947                CIRC_W { w: self }
2948            }
2949            ///Bit 4 - Data transfer direction
2950            #[inline(always)]
2951            pub fn dir(&mut self) -> DIR_W {
2952                DIR_W { w: self }
2953            }
2954            ///Bit 3 - Transfer error interrupt enable
2955            #[inline(always)]
2956            pub fn teie(&mut self) -> TEIE_W {
2957                TEIE_W { w: self }
2958            }
2959            ///Bit 2 - Half transfer interrupt enable
2960            #[inline(always)]
2961            pub fn htie(&mut self) -> HTIE_W {
2962                HTIE_W { w: self }
2963            }
2964            ///Bit 1 - Transfer complete interrupt enable
2965            #[inline(always)]
2966            pub fn tcie(&mut self) -> TCIE_W {
2967                TCIE_W { w: self }
2968            }
2969            ///Bit 0 - Channel enable
2970            #[inline(always)]
2971            pub fn en(&mut self) -> EN_W {
2972                EN_W { w: self }
2973            }
2974        }
2975    }
2976    ///channel x number of data register
2977    ///
2978    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
2979    ///
2980    ///For information about available fields see [cndtr3](cndtr3) module
2981    pub type CNDTR3 = crate::Reg<u32, _CNDTR3>;
2982    #[allow(missing_docs)]
2983    #[doc(hidden)]
2984    pub struct _CNDTR3;
2985    ///`read()` method returns [cndtr3::R](cndtr3::R) reader structure
2986    impl crate::Readable for CNDTR3 {}
2987    ///`write(|w| ..)` method takes [cndtr3::W](cndtr3::W) writer structure
2988    impl crate::Writable for CNDTR3 {}
2989    ///channel x number of data register
2990    pub mod cndtr3 {
2991        ///Reader of register CNDTR3
2992        pub type R = crate::R<u32, super::CNDTR3>;
2993        ///Writer for register CNDTR3
2994        pub type W = crate::W<u32, super::CNDTR3>;
2995        ///Register CNDTR3 `reset()`'s with value 0
2996        impl crate::ResetValue for super::CNDTR3 {
2997            type Type = u32;
2998            #[inline(always)]
2999            fn reset_value() -> Self::Type {
3000                0
3001            }
3002        }
3003        ///Reader of field `NDT`
3004        pub type NDT_R = crate::R<u16, u16>;
3005        ///Write proxy for field `NDT`
3006        pub struct NDT_W<'a> {
3007            w: &'a mut W,
3008        }
3009        impl<'a> NDT_W<'a> {
3010            ///Writes raw bits to the field
3011            #[inline(always)]
3012            pub unsafe fn bits(self, value: u16) -> &'a mut W {
3013                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
3014                self.w
3015            }
3016        }
3017        impl R {
3018            ///Bits 0:15 - Number of data to transfer
3019            #[inline(always)]
3020            pub fn ndt(&self) -> NDT_R {
3021                NDT_R::new((self.bits & 0xffff) as u16)
3022            }
3023        }
3024        impl W {
3025            ///Bits 0:15 - Number of data to transfer
3026            #[inline(always)]
3027            pub fn ndt(&mut self) -> NDT_W {
3028                NDT_W { w: self }
3029            }
3030        }
3031    }
3032    ///channel x peripheral address register
3033    ///
3034    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
3035    ///
3036    ///For information about available fields see [cpar3](cpar3) module
3037    pub type CPAR3 = crate::Reg<u32, _CPAR3>;
3038    #[allow(missing_docs)]
3039    #[doc(hidden)]
3040    pub struct _CPAR3;
3041    ///`read()` method returns [cpar3::R](cpar3::R) reader structure
3042    impl crate::Readable for CPAR3 {}
3043    ///`write(|w| ..)` method takes [cpar3::W](cpar3::W) writer structure
3044    impl crate::Writable for CPAR3 {}
3045    ///channel x peripheral address register
3046    pub mod cpar3 {
3047        ///Reader of register CPAR3
3048        pub type R = crate::R<u32, super::CPAR3>;
3049        ///Writer for register CPAR3
3050        pub type W = crate::W<u32, super::CPAR3>;
3051        ///Register CPAR3 `reset()`'s with value 0
3052        impl crate::ResetValue for super::CPAR3 {
3053            type Type = u32;
3054            #[inline(always)]
3055            fn reset_value() -> Self::Type {
3056                0
3057            }
3058        }
3059        ///Reader of field `PA`
3060        pub type PA_R = crate::R<u32, u32>;
3061        ///Write proxy for field `PA`
3062        pub struct PA_W<'a> {
3063            w: &'a mut W,
3064        }
3065        impl<'a> PA_W<'a> {
3066            ///Writes raw bits to the field
3067            #[inline(always)]
3068            pub unsafe fn bits(self, value: u32) -> &'a mut W {
3069                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
3070                self.w
3071            }
3072        }
3073        impl R {
3074            ///Bits 0:31 - Peripheral address
3075            #[inline(always)]
3076            pub fn pa(&self) -> PA_R {
3077                PA_R::new((self.bits & 0xffff_ffff) as u32)
3078            }
3079        }
3080        impl W {
3081            ///Bits 0:31 - Peripheral address
3082            #[inline(always)]
3083            pub fn pa(&mut self) -> PA_W {
3084                PA_W { w: self }
3085            }
3086        }
3087    }
3088    ///channel x memory address register
3089    ///
3090    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
3091    ///
3092    ///For information about available fields see [cmar3](cmar3) module
3093    pub type CMAR3 = crate::Reg<u32, _CMAR3>;
3094    #[allow(missing_docs)]
3095    #[doc(hidden)]
3096    pub struct _CMAR3;
3097    ///`read()` method returns [cmar3::R](cmar3::R) reader structure
3098    impl crate::Readable for CMAR3 {}
3099    ///`write(|w| ..)` method takes [cmar3::W](cmar3::W) writer structure
3100    impl crate::Writable for CMAR3 {}
3101    ///channel x memory address register
3102    pub mod cmar3 {
3103        ///Reader of register CMAR3
3104        pub type R = crate::R<u32, super::CMAR3>;
3105        ///Writer for register CMAR3
3106        pub type W = crate::W<u32, super::CMAR3>;
3107        ///Register CMAR3 `reset()`'s with value 0
3108        impl crate::ResetValue for super::CMAR3 {
3109            type Type = u32;
3110            #[inline(always)]
3111            fn reset_value() -> Self::Type {
3112                0
3113            }
3114        }
3115        ///Reader of field `MA`
3116        pub type MA_R = crate::R<u32, u32>;
3117        ///Write proxy for field `MA`
3118        pub struct MA_W<'a> {
3119            w: &'a mut W,
3120        }
3121        impl<'a> MA_W<'a> {
3122            ///Writes raw bits to the field
3123            #[inline(always)]
3124            pub unsafe fn bits(self, value: u32) -> &'a mut W {
3125                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
3126                self.w
3127            }
3128        }
3129        impl R {
3130            ///Bits 0:31 - Memory address
3131            #[inline(always)]
3132            pub fn ma(&self) -> MA_R {
3133                MA_R::new((self.bits & 0xffff_ffff) as u32)
3134            }
3135        }
3136        impl W {
3137            ///Bits 0:31 - Memory address
3138            #[inline(always)]
3139            pub fn ma(&mut self) -> MA_W {
3140                MA_W { w: self }
3141            }
3142        }
3143    }
3144    ///channel x configuration register
3145    ///
3146    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
3147    ///
3148    ///For information about available fields see [ccr4](ccr4) module
3149    pub type CCR4 = crate::Reg<u32, _CCR4>;
3150    #[allow(missing_docs)]
3151    #[doc(hidden)]
3152    pub struct _CCR4;
3153    ///`read()` method returns [ccr4::R](ccr4::R) reader structure
3154    impl crate::Readable for CCR4 {}
3155    ///`write(|w| ..)` method takes [ccr4::W](ccr4::W) writer structure
3156    impl crate::Writable for CCR4 {}
3157    ///channel x configuration register
3158    pub mod ccr4 {
3159        ///Reader of register CCR4
3160        pub type R = crate::R<u32, super::CCR4>;
3161        ///Writer for register CCR4
3162        pub type W = crate::W<u32, super::CCR4>;
3163        ///Register CCR4 `reset()`'s with value 0
3164        impl crate::ResetValue for super::CCR4 {
3165            type Type = u32;
3166            #[inline(always)]
3167            fn reset_value() -> Self::Type {
3168                0
3169            }
3170        }
3171        ///Reader of field `MEM2MEM`
3172        pub type MEM2MEM_R = crate::R<bool, bool>;
3173        ///Write proxy for field `MEM2MEM`
3174        pub struct MEM2MEM_W<'a> {
3175            w: &'a mut W,
3176        }
3177        impl<'a> MEM2MEM_W<'a> {
3178            ///Sets the field bit
3179            #[inline(always)]
3180            pub fn set_bit(self) -> &'a mut W {
3181                self.bit(true)
3182            }
3183            ///Clears the field bit
3184            #[inline(always)]
3185            pub fn clear_bit(self) -> &'a mut W {
3186                self.bit(false)
3187            }
3188            ///Writes raw bits to the field
3189            #[inline(always)]
3190            pub fn bit(self, value: bool) -> &'a mut W {
3191                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
3192                self.w
3193            }
3194        }
3195        ///Reader of field `PL`
3196        pub type PL_R = crate::R<u8, u8>;
3197        ///Write proxy for field `PL`
3198        pub struct PL_W<'a> {
3199            w: &'a mut W,
3200        }
3201        impl<'a> PL_W<'a> {
3202            ///Writes raw bits to the field
3203            #[inline(always)]
3204            pub unsafe fn bits(self, value: u8) -> &'a mut W {
3205                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
3206                self.w
3207            }
3208        }
3209        ///Reader of field `MSIZE`
3210        pub type MSIZE_R = crate::R<u8, u8>;
3211        ///Write proxy for field `MSIZE`
3212        pub struct MSIZE_W<'a> {
3213            w: &'a mut W,
3214        }
3215        impl<'a> MSIZE_W<'a> {
3216            ///Writes raw bits to the field
3217            #[inline(always)]
3218            pub unsafe fn bits(self, value: u8) -> &'a mut W {
3219                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
3220                self.w
3221            }
3222        }
3223        ///Reader of field `PSIZE`
3224        pub type PSIZE_R = crate::R<u8, u8>;
3225        ///Write proxy for field `PSIZE`
3226        pub struct PSIZE_W<'a> {
3227            w: &'a mut W,
3228        }
3229        impl<'a> PSIZE_W<'a> {
3230            ///Writes raw bits to the field
3231            #[inline(always)]
3232            pub unsafe fn bits(self, value: u8) -> &'a mut W {
3233                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
3234                self.w
3235            }
3236        }
3237        ///Reader of field `MINC`
3238        pub type MINC_R = crate::R<bool, bool>;
3239        ///Write proxy for field `MINC`
3240        pub struct MINC_W<'a> {
3241            w: &'a mut W,
3242        }
3243        impl<'a> MINC_W<'a> {
3244            ///Sets the field bit
3245            #[inline(always)]
3246            pub fn set_bit(self) -> &'a mut W {
3247                self.bit(true)
3248            }
3249            ///Clears the field bit
3250            #[inline(always)]
3251            pub fn clear_bit(self) -> &'a mut W {
3252                self.bit(false)
3253            }
3254            ///Writes raw bits to the field
3255            #[inline(always)]
3256            pub fn bit(self, value: bool) -> &'a mut W {
3257                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
3258                self.w
3259            }
3260        }
3261        ///Reader of field `PINC`
3262        pub type PINC_R = crate::R<bool, bool>;
3263        ///Write proxy for field `PINC`
3264        pub struct PINC_W<'a> {
3265            w: &'a mut W,
3266        }
3267        impl<'a> PINC_W<'a> {
3268            ///Sets the field bit
3269            #[inline(always)]
3270            pub fn set_bit(self) -> &'a mut W {
3271                self.bit(true)
3272            }
3273            ///Clears the field bit
3274            #[inline(always)]
3275            pub fn clear_bit(self) -> &'a mut W {
3276                self.bit(false)
3277            }
3278            ///Writes raw bits to the field
3279            #[inline(always)]
3280            pub fn bit(self, value: bool) -> &'a mut W {
3281                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
3282                self.w
3283            }
3284        }
3285        ///Reader of field `CIRC`
3286        pub type CIRC_R = crate::R<bool, bool>;
3287        ///Write proxy for field `CIRC`
3288        pub struct CIRC_W<'a> {
3289            w: &'a mut W,
3290        }
3291        impl<'a> CIRC_W<'a> {
3292            ///Sets the field bit
3293            #[inline(always)]
3294            pub fn set_bit(self) -> &'a mut W {
3295                self.bit(true)
3296            }
3297            ///Clears the field bit
3298            #[inline(always)]
3299            pub fn clear_bit(self) -> &'a mut W {
3300                self.bit(false)
3301            }
3302            ///Writes raw bits to the field
3303            #[inline(always)]
3304            pub fn bit(self, value: bool) -> &'a mut W {
3305                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
3306                self.w
3307            }
3308        }
3309        ///Reader of field `DIR`
3310        pub type DIR_R = crate::R<bool, bool>;
3311        ///Write proxy for field `DIR`
3312        pub struct DIR_W<'a> {
3313            w: &'a mut W,
3314        }
3315        impl<'a> DIR_W<'a> {
3316            ///Sets the field bit
3317            #[inline(always)]
3318            pub fn set_bit(self) -> &'a mut W {
3319                self.bit(true)
3320            }
3321            ///Clears the field bit
3322            #[inline(always)]
3323            pub fn clear_bit(self) -> &'a mut W {
3324                self.bit(false)
3325            }
3326            ///Writes raw bits to the field
3327            #[inline(always)]
3328            pub fn bit(self, value: bool) -> &'a mut W {
3329                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
3330                self.w
3331            }
3332        }
3333        ///Reader of field `TEIE`
3334        pub type TEIE_R = crate::R<bool, bool>;
3335        ///Write proxy for field `TEIE`
3336        pub struct TEIE_W<'a> {
3337            w: &'a mut W,
3338        }
3339        impl<'a> TEIE_W<'a> {
3340            ///Sets the field bit
3341            #[inline(always)]
3342            pub fn set_bit(self) -> &'a mut W {
3343                self.bit(true)
3344            }
3345            ///Clears the field bit
3346            #[inline(always)]
3347            pub fn clear_bit(self) -> &'a mut W {
3348                self.bit(false)
3349            }
3350            ///Writes raw bits to the field
3351            #[inline(always)]
3352            pub fn bit(self, value: bool) -> &'a mut W {
3353                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
3354                self.w
3355            }
3356        }
3357        ///Reader of field `HTIE`
3358        pub type HTIE_R = crate::R<bool, bool>;
3359        ///Write proxy for field `HTIE`
3360        pub struct HTIE_W<'a> {
3361            w: &'a mut W,
3362        }
3363        impl<'a> HTIE_W<'a> {
3364            ///Sets the field bit
3365            #[inline(always)]
3366            pub fn set_bit(self) -> &'a mut W {
3367                self.bit(true)
3368            }
3369            ///Clears the field bit
3370            #[inline(always)]
3371            pub fn clear_bit(self) -> &'a mut W {
3372                self.bit(false)
3373            }
3374            ///Writes raw bits to the field
3375            #[inline(always)]
3376            pub fn bit(self, value: bool) -> &'a mut W {
3377                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
3378                self.w
3379            }
3380        }
3381        ///Reader of field `TCIE`
3382        pub type TCIE_R = crate::R<bool, bool>;
3383        ///Write proxy for field `TCIE`
3384        pub struct TCIE_W<'a> {
3385            w: &'a mut W,
3386        }
3387        impl<'a> TCIE_W<'a> {
3388            ///Sets the field bit
3389            #[inline(always)]
3390            pub fn set_bit(self) -> &'a mut W {
3391                self.bit(true)
3392            }
3393            ///Clears the field bit
3394            #[inline(always)]
3395            pub fn clear_bit(self) -> &'a mut W {
3396                self.bit(false)
3397            }
3398            ///Writes raw bits to the field
3399            #[inline(always)]
3400            pub fn bit(self, value: bool) -> &'a mut W {
3401                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
3402                self.w
3403            }
3404        }
3405        ///Reader of field `EN`
3406        pub type EN_R = crate::R<bool, bool>;
3407        ///Write proxy for field `EN`
3408        pub struct EN_W<'a> {
3409            w: &'a mut W,
3410        }
3411        impl<'a> EN_W<'a> {
3412            ///Sets the field bit
3413            #[inline(always)]
3414            pub fn set_bit(self) -> &'a mut W {
3415                self.bit(true)
3416            }
3417            ///Clears the field bit
3418            #[inline(always)]
3419            pub fn clear_bit(self) -> &'a mut W {
3420                self.bit(false)
3421            }
3422            ///Writes raw bits to the field
3423            #[inline(always)]
3424            pub fn bit(self, value: bool) -> &'a mut W {
3425                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
3426                self.w
3427            }
3428        }
3429        impl R {
3430            ///Bit 14 - Memory to memory mode
3431            #[inline(always)]
3432            pub fn mem2mem(&self) -> MEM2MEM_R {
3433                MEM2MEM_R::new(((self.bits >> 14) & 0x01) != 0)
3434            }
3435            ///Bits 12:13 - Channel priority level
3436            #[inline(always)]
3437            pub fn pl(&self) -> PL_R {
3438                PL_R::new(((self.bits >> 12) & 0x03) as u8)
3439            }
3440            ///Bits 10:11 - Memory size
3441            #[inline(always)]
3442            pub fn msize(&self) -> MSIZE_R {
3443                MSIZE_R::new(((self.bits >> 10) & 0x03) as u8)
3444            }
3445            ///Bits 8:9 - Peripheral size
3446            #[inline(always)]
3447            pub fn psize(&self) -> PSIZE_R {
3448                PSIZE_R::new(((self.bits >> 8) & 0x03) as u8)
3449            }
3450            ///Bit 7 - Memory increment mode
3451            #[inline(always)]
3452            pub fn minc(&self) -> MINC_R {
3453                MINC_R::new(((self.bits >> 7) & 0x01) != 0)
3454            }
3455            ///Bit 6 - Peripheral increment mode
3456            #[inline(always)]
3457            pub fn pinc(&self) -> PINC_R {
3458                PINC_R::new(((self.bits >> 6) & 0x01) != 0)
3459            }
3460            ///Bit 5 - Circular mode
3461            #[inline(always)]
3462            pub fn circ(&self) -> CIRC_R {
3463                CIRC_R::new(((self.bits >> 5) & 0x01) != 0)
3464            }
3465            ///Bit 4 - Data transfer direction
3466            #[inline(always)]
3467            pub fn dir(&self) -> DIR_R {
3468                DIR_R::new(((self.bits >> 4) & 0x01) != 0)
3469            }
3470            ///Bit 3 - Transfer error interrupt enable
3471            #[inline(always)]
3472            pub fn teie(&self) -> TEIE_R {
3473                TEIE_R::new(((self.bits >> 3) & 0x01) != 0)
3474            }
3475            ///Bit 2 - Half transfer interrupt enable
3476            #[inline(always)]
3477            pub fn htie(&self) -> HTIE_R {
3478                HTIE_R::new(((self.bits >> 2) & 0x01) != 0)
3479            }
3480            ///Bit 1 - Transfer complete interrupt enable
3481            #[inline(always)]
3482            pub fn tcie(&self) -> TCIE_R {
3483                TCIE_R::new(((self.bits >> 1) & 0x01) != 0)
3484            }
3485            ///Bit 0 - Channel enable
3486            #[inline(always)]
3487            pub fn en(&self) -> EN_R {
3488                EN_R::new((self.bits & 0x01) != 0)
3489            }
3490        }
3491        impl W {
3492            ///Bit 14 - Memory to memory mode
3493            #[inline(always)]
3494            pub fn mem2mem(&mut self) -> MEM2MEM_W {
3495                MEM2MEM_W { w: self }
3496            }
3497            ///Bits 12:13 - Channel priority level
3498            #[inline(always)]
3499            pub fn pl(&mut self) -> PL_W {
3500                PL_W { w: self }
3501            }
3502            ///Bits 10:11 - Memory size
3503            #[inline(always)]
3504            pub fn msize(&mut self) -> MSIZE_W {
3505                MSIZE_W { w: self }
3506            }
3507            ///Bits 8:9 - Peripheral size
3508            #[inline(always)]
3509            pub fn psize(&mut self) -> PSIZE_W {
3510                PSIZE_W { w: self }
3511            }
3512            ///Bit 7 - Memory increment mode
3513            #[inline(always)]
3514            pub fn minc(&mut self) -> MINC_W {
3515                MINC_W { w: self }
3516            }
3517            ///Bit 6 - Peripheral increment mode
3518            #[inline(always)]
3519            pub fn pinc(&mut self) -> PINC_W {
3520                PINC_W { w: self }
3521            }
3522            ///Bit 5 - Circular mode
3523            #[inline(always)]
3524            pub fn circ(&mut self) -> CIRC_W {
3525                CIRC_W { w: self }
3526            }
3527            ///Bit 4 - Data transfer direction
3528            #[inline(always)]
3529            pub fn dir(&mut self) -> DIR_W {
3530                DIR_W { w: self }
3531            }
3532            ///Bit 3 - Transfer error interrupt enable
3533            #[inline(always)]
3534            pub fn teie(&mut self) -> TEIE_W {
3535                TEIE_W { w: self }
3536            }
3537            ///Bit 2 - Half transfer interrupt enable
3538            #[inline(always)]
3539            pub fn htie(&mut self) -> HTIE_W {
3540                HTIE_W { w: self }
3541            }
3542            ///Bit 1 - Transfer complete interrupt enable
3543            #[inline(always)]
3544            pub fn tcie(&mut self) -> TCIE_W {
3545                TCIE_W { w: self }
3546            }
3547            ///Bit 0 - Channel enable
3548            #[inline(always)]
3549            pub fn en(&mut self) -> EN_W {
3550                EN_W { w: self }
3551            }
3552        }
3553    }
3554    ///channel x number of data register
3555    ///
3556    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
3557    ///
3558    ///For information about available fields see [cndtr4](cndtr4) module
3559    pub type CNDTR4 = crate::Reg<u32, _CNDTR4>;
3560    #[allow(missing_docs)]
3561    #[doc(hidden)]
3562    pub struct _CNDTR4;
3563    ///`read()` method returns [cndtr4::R](cndtr4::R) reader structure
3564    impl crate::Readable for CNDTR4 {}
3565    ///`write(|w| ..)` method takes [cndtr4::W](cndtr4::W) writer structure
3566    impl crate::Writable for CNDTR4 {}
3567    ///channel x number of data register
3568    pub mod cndtr4 {
3569        ///Reader of register CNDTR4
3570        pub type R = crate::R<u32, super::CNDTR4>;
3571        ///Writer for register CNDTR4
3572        pub type W = crate::W<u32, super::CNDTR4>;
3573        ///Register CNDTR4 `reset()`'s with value 0
3574        impl crate::ResetValue for super::CNDTR4 {
3575            type Type = u32;
3576            #[inline(always)]
3577            fn reset_value() -> Self::Type {
3578                0
3579            }
3580        }
3581        ///Reader of field `NDT`
3582        pub type NDT_R = crate::R<u16, u16>;
3583        ///Write proxy for field `NDT`
3584        pub struct NDT_W<'a> {
3585            w: &'a mut W,
3586        }
3587        impl<'a> NDT_W<'a> {
3588            ///Writes raw bits to the field
3589            #[inline(always)]
3590            pub unsafe fn bits(self, value: u16) -> &'a mut W {
3591                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
3592                self.w
3593            }
3594        }
3595        impl R {
3596            ///Bits 0:15 - Number of data to transfer
3597            #[inline(always)]
3598            pub fn ndt(&self) -> NDT_R {
3599                NDT_R::new((self.bits & 0xffff) as u16)
3600            }
3601        }
3602        impl W {
3603            ///Bits 0:15 - Number of data to transfer
3604            #[inline(always)]
3605            pub fn ndt(&mut self) -> NDT_W {
3606                NDT_W { w: self }
3607            }
3608        }
3609    }
3610    ///channel x peripheral address register
3611    ///
3612    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
3613    ///
3614    ///For information about available fields see [cpar4](cpar4) module
3615    pub type CPAR4 = crate::Reg<u32, _CPAR4>;
3616    #[allow(missing_docs)]
3617    #[doc(hidden)]
3618    pub struct _CPAR4;
3619    ///`read()` method returns [cpar4::R](cpar4::R) reader structure
3620    impl crate::Readable for CPAR4 {}
3621    ///`write(|w| ..)` method takes [cpar4::W](cpar4::W) writer structure
3622    impl crate::Writable for CPAR4 {}
3623    ///channel x peripheral address register
3624    pub mod cpar4 {
3625        ///Reader of register CPAR4
3626        pub type R = crate::R<u32, super::CPAR4>;
3627        ///Writer for register CPAR4
3628        pub type W = crate::W<u32, super::CPAR4>;
3629        ///Register CPAR4 `reset()`'s with value 0
3630        impl crate::ResetValue for super::CPAR4 {
3631            type Type = u32;
3632            #[inline(always)]
3633            fn reset_value() -> Self::Type {
3634                0
3635            }
3636        }
3637        ///Reader of field `PA`
3638        pub type PA_R = crate::R<u32, u32>;
3639        ///Write proxy for field `PA`
3640        pub struct PA_W<'a> {
3641            w: &'a mut W,
3642        }
3643        impl<'a> PA_W<'a> {
3644            ///Writes raw bits to the field
3645            #[inline(always)]
3646            pub unsafe fn bits(self, value: u32) -> &'a mut W {
3647                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
3648                self.w
3649            }
3650        }
3651        impl R {
3652            ///Bits 0:31 - Peripheral address
3653            #[inline(always)]
3654            pub fn pa(&self) -> PA_R {
3655                PA_R::new((self.bits & 0xffff_ffff) as u32)
3656            }
3657        }
3658        impl W {
3659            ///Bits 0:31 - Peripheral address
3660            #[inline(always)]
3661            pub fn pa(&mut self) -> PA_W {
3662                PA_W { w: self }
3663            }
3664        }
3665    }
3666    ///channel x memory address register
3667    ///
3668    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
3669    ///
3670    ///For information about available fields see [cmar4](cmar4) module
3671    pub type CMAR4 = crate::Reg<u32, _CMAR4>;
3672    #[allow(missing_docs)]
3673    #[doc(hidden)]
3674    pub struct _CMAR4;
3675    ///`read()` method returns [cmar4::R](cmar4::R) reader structure
3676    impl crate::Readable for CMAR4 {}
3677    ///`write(|w| ..)` method takes [cmar4::W](cmar4::W) writer structure
3678    impl crate::Writable for CMAR4 {}
3679    ///channel x memory address register
3680    pub mod cmar4 {
3681        ///Reader of register CMAR4
3682        pub type R = crate::R<u32, super::CMAR4>;
3683        ///Writer for register CMAR4
3684        pub type W = crate::W<u32, super::CMAR4>;
3685        ///Register CMAR4 `reset()`'s with value 0
3686        impl crate::ResetValue for super::CMAR4 {
3687            type Type = u32;
3688            #[inline(always)]
3689            fn reset_value() -> Self::Type {
3690                0
3691            }
3692        }
3693        ///Reader of field `MA`
3694        pub type MA_R = crate::R<u32, u32>;
3695        ///Write proxy for field `MA`
3696        pub struct MA_W<'a> {
3697            w: &'a mut W,
3698        }
3699        impl<'a> MA_W<'a> {
3700            ///Writes raw bits to the field
3701            #[inline(always)]
3702            pub unsafe fn bits(self, value: u32) -> &'a mut W {
3703                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
3704                self.w
3705            }
3706        }
3707        impl R {
3708            ///Bits 0:31 - Memory address
3709            #[inline(always)]
3710            pub fn ma(&self) -> MA_R {
3711                MA_R::new((self.bits & 0xffff_ffff) as u32)
3712            }
3713        }
3714        impl W {
3715            ///Bits 0:31 - Memory address
3716            #[inline(always)]
3717            pub fn ma(&mut self) -> MA_W {
3718                MA_W { w: self }
3719            }
3720        }
3721    }
3722    ///channel x configuration register
3723    ///
3724    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
3725    ///
3726    ///For information about available fields see [ccr5](ccr5) module
3727    pub type CCR5 = crate::Reg<u32, _CCR5>;
3728    #[allow(missing_docs)]
3729    #[doc(hidden)]
3730    pub struct _CCR5;
3731    ///`read()` method returns [ccr5::R](ccr5::R) reader structure
3732    impl crate::Readable for CCR5 {}
3733    ///`write(|w| ..)` method takes [ccr5::W](ccr5::W) writer structure
3734    impl crate::Writable for CCR5 {}
3735    ///channel x configuration register
3736    pub mod ccr5 {
3737        ///Reader of register CCR5
3738        pub type R = crate::R<u32, super::CCR5>;
3739        ///Writer for register CCR5
3740        pub type W = crate::W<u32, super::CCR5>;
3741        ///Register CCR5 `reset()`'s with value 0
3742        impl crate::ResetValue for super::CCR5 {
3743            type Type = u32;
3744            #[inline(always)]
3745            fn reset_value() -> Self::Type {
3746                0
3747            }
3748        }
3749        ///Reader of field `MEM2MEM`
3750        pub type MEM2MEM_R = crate::R<bool, bool>;
3751        ///Write proxy for field `MEM2MEM`
3752        pub struct MEM2MEM_W<'a> {
3753            w: &'a mut W,
3754        }
3755        impl<'a> MEM2MEM_W<'a> {
3756            ///Sets the field bit
3757            #[inline(always)]
3758            pub fn set_bit(self) -> &'a mut W {
3759                self.bit(true)
3760            }
3761            ///Clears the field bit
3762            #[inline(always)]
3763            pub fn clear_bit(self) -> &'a mut W {
3764                self.bit(false)
3765            }
3766            ///Writes raw bits to the field
3767            #[inline(always)]
3768            pub fn bit(self, value: bool) -> &'a mut W {
3769                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
3770                self.w
3771            }
3772        }
3773        ///Reader of field `PL`
3774        pub type PL_R = crate::R<u8, u8>;
3775        ///Write proxy for field `PL`
3776        pub struct PL_W<'a> {
3777            w: &'a mut W,
3778        }
3779        impl<'a> PL_W<'a> {
3780            ///Writes raw bits to the field
3781            #[inline(always)]
3782            pub unsafe fn bits(self, value: u8) -> &'a mut W {
3783                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
3784                self.w
3785            }
3786        }
3787        ///Reader of field `MSIZE`
3788        pub type MSIZE_R = crate::R<u8, u8>;
3789        ///Write proxy for field `MSIZE`
3790        pub struct MSIZE_W<'a> {
3791            w: &'a mut W,
3792        }
3793        impl<'a> MSIZE_W<'a> {
3794            ///Writes raw bits to the field
3795            #[inline(always)]
3796            pub unsafe fn bits(self, value: u8) -> &'a mut W {
3797                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
3798                self.w
3799            }
3800        }
3801        ///Reader of field `PSIZE`
3802        pub type PSIZE_R = crate::R<u8, u8>;
3803        ///Write proxy for field `PSIZE`
3804        pub struct PSIZE_W<'a> {
3805            w: &'a mut W,
3806        }
3807        impl<'a> PSIZE_W<'a> {
3808            ///Writes raw bits to the field
3809            #[inline(always)]
3810            pub unsafe fn bits(self, value: u8) -> &'a mut W {
3811                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
3812                self.w
3813            }
3814        }
3815        ///Reader of field `MINC`
3816        pub type MINC_R = crate::R<bool, bool>;
3817        ///Write proxy for field `MINC`
3818        pub struct MINC_W<'a> {
3819            w: &'a mut W,
3820        }
3821        impl<'a> MINC_W<'a> {
3822            ///Sets the field bit
3823            #[inline(always)]
3824            pub fn set_bit(self) -> &'a mut W {
3825                self.bit(true)
3826            }
3827            ///Clears the field bit
3828            #[inline(always)]
3829            pub fn clear_bit(self) -> &'a mut W {
3830                self.bit(false)
3831            }
3832            ///Writes raw bits to the field
3833            #[inline(always)]
3834            pub fn bit(self, value: bool) -> &'a mut W {
3835                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
3836                self.w
3837            }
3838        }
3839        ///Reader of field `PINC`
3840        pub type PINC_R = crate::R<bool, bool>;
3841        ///Write proxy for field `PINC`
3842        pub struct PINC_W<'a> {
3843            w: &'a mut W,
3844        }
3845        impl<'a> PINC_W<'a> {
3846            ///Sets the field bit
3847            #[inline(always)]
3848            pub fn set_bit(self) -> &'a mut W {
3849                self.bit(true)
3850            }
3851            ///Clears the field bit
3852            #[inline(always)]
3853            pub fn clear_bit(self) -> &'a mut W {
3854                self.bit(false)
3855            }
3856            ///Writes raw bits to the field
3857            #[inline(always)]
3858            pub fn bit(self, value: bool) -> &'a mut W {
3859                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
3860                self.w
3861            }
3862        }
3863        ///Reader of field `CIRC`
3864        pub type CIRC_R = crate::R<bool, bool>;
3865        ///Write proxy for field `CIRC`
3866        pub struct CIRC_W<'a> {
3867            w: &'a mut W,
3868        }
3869        impl<'a> CIRC_W<'a> {
3870            ///Sets the field bit
3871            #[inline(always)]
3872            pub fn set_bit(self) -> &'a mut W {
3873                self.bit(true)
3874            }
3875            ///Clears the field bit
3876            #[inline(always)]
3877            pub fn clear_bit(self) -> &'a mut W {
3878                self.bit(false)
3879            }
3880            ///Writes raw bits to the field
3881            #[inline(always)]
3882            pub fn bit(self, value: bool) -> &'a mut W {
3883                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
3884                self.w
3885            }
3886        }
3887        ///Reader of field `DIR`
3888        pub type DIR_R = crate::R<bool, bool>;
3889        ///Write proxy for field `DIR`
3890        pub struct DIR_W<'a> {
3891            w: &'a mut W,
3892        }
3893        impl<'a> DIR_W<'a> {
3894            ///Sets the field bit
3895            #[inline(always)]
3896            pub fn set_bit(self) -> &'a mut W {
3897                self.bit(true)
3898            }
3899            ///Clears the field bit
3900            #[inline(always)]
3901            pub fn clear_bit(self) -> &'a mut W {
3902                self.bit(false)
3903            }
3904            ///Writes raw bits to the field
3905            #[inline(always)]
3906            pub fn bit(self, value: bool) -> &'a mut W {
3907                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
3908                self.w
3909            }
3910        }
3911        ///Reader of field `TEIE`
3912        pub type TEIE_R = crate::R<bool, bool>;
3913        ///Write proxy for field `TEIE`
3914        pub struct TEIE_W<'a> {
3915            w: &'a mut W,
3916        }
3917        impl<'a> TEIE_W<'a> {
3918            ///Sets the field bit
3919            #[inline(always)]
3920            pub fn set_bit(self) -> &'a mut W {
3921                self.bit(true)
3922            }
3923            ///Clears the field bit
3924            #[inline(always)]
3925            pub fn clear_bit(self) -> &'a mut W {
3926                self.bit(false)
3927            }
3928            ///Writes raw bits to the field
3929            #[inline(always)]
3930            pub fn bit(self, value: bool) -> &'a mut W {
3931                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
3932                self.w
3933            }
3934        }
3935        ///Reader of field `HTIE`
3936        pub type HTIE_R = crate::R<bool, bool>;
3937        ///Write proxy for field `HTIE`
3938        pub struct HTIE_W<'a> {
3939            w: &'a mut W,
3940        }
3941        impl<'a> HTIE_W<'a> {
3942            ///Sets the field bit
3943            #[inline(always)]
3944            pub fn set_bit(self) -> &'a mut W {
3945                self.bit(true)
3946            }
3947            ///Clears the field bit
3948            #[inline(always)]
3949            pub fn clear_bit(self) -> &'a mut W {
3950                self.bit(false)
3951            }
3952            ///Writes raw bits to the field
3953            #[inline(always)]
3954            pub fn bit(self, value: bool) -> &'a mut W {
3955                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
3956                self.w
3957            }
3958        }
3959        ///Reader of field `TCIE`
3960        pub type TCIE_R = crate::R<bool, bool>;
3961        ///Write proxy for field `TCIE`
3962        pub struct TCIE_W<'a> {
3963            w: &'a mut W,
3964        }
3965        impl<'a> TCIE_W<'a> {
3966            ///Sets the field bit
3967            #[inline(always)]
3968            pub fn set_bit(self) -> &'a mut W {
3969                self.bit(true)
3970            }
3971            ///Clears the field bit
3972            #[inline(always)]
3973            pub fn clear_bit(self) -> &'a mut W {
3974                self.bit(false)
3975            }
3976            ///Writes raw bits to the field
3977            #[inline(always)]
3978            pub fn bit(self, value: bool) -> &'a mut W {
3979                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
3980                self.w
3981            }
3982        }
3983        ///Reader of field `EN`
3984        pub type EN_R = crate::R<bool, bool>;
3985        ///Write proxy for field `EN`
3986        pub struct EN_W<'a> {
3987            w: &'a mut W,
3988        }
3989        impl<'a> EN_W<'a> {
3990            ///Sets the field bit
3991            #[inline(always)]
3992            pub fn set_bit(self) -> &'a mut W {
3993                self.bit(true)
3994            }
3995            ///Clears the field bit
3996            #[inline(always)]
3997            pub fn clear_bit(self) -> &'a mut W {
3998                self.bit(false)
3999            }
4000            ///Writes raw bits to the field
4001            #[inline(always)]
4002            pub fn bit(self, value: bool) -> &'a mut W {
4003                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
4004                self.w
4005            }
4006        }
4007        impl R {
4008            ///Bit 14 - Memory to memory mode
4009            #[inline(always)]
4010            pub fn mem2mem(&self) -> MEM2MEM_R {
4011                MEM2MEM_R::new(((self.bits >> 14) & 0x01) != 0)
4012            }
4013            ///Bits 12:13 - Channel priority level
4014            #[inline(always)]
4015            pub fn pl(&self) -> PL_R {
4016                PL_R::new(((self.bits >> 12) & 0x03) as u8)
4017            }
4018            ///Bits 10:11 - Memory size
4019            #[inline(always)]
4020            pub fn msize(&self) -> MSIZE_R {
4021                MSIZE_R::new(((self.bits >> 10) & 0x03) as u8)
4022            }
4023            ///Bits 8:9 - Peripheral size
4024            #[inline(always)]
4025            pub fn psize(&self) -> PSIZE_R {
4026                PSIZE_R::new(((self.bits >> 8) & 0x03) as u8)
4027            }
4028            ///Bit 7 - Memory increment mode
4029            #[inline(always)]
4030            pub fn minc(&self) -> MINC_R {
4031                MINC_R::new(((self.bits >> 7) & 0x01) != 0)
4032            }
4033            ///Bit 6 - Peripheral increment mode
4034            #[inline(always)]
4035            pub fn pinc(&self) -> PINC_R {
4036                PINC_R::new(((self.bits >> 6) & 0x01) != 0)
4037            }
4038            ///Bit 5 - Circular mode
4039            #[inline(always)]
4040            pub fn circ(&self) -> CIRC_R {
4041                CIRC_R::new(((self.bits >> 5) & 0x01) != 0)
4042            }
4043            ///Bit 4 - Data transfer direction
4044            #[inline(always)]
4045            pub fn dir(&self) -> DIR_R {
4046                DIR_R::new(((self.bits >> 4) & 0x01) != 0)
4047            }
4048            ///Bit 3 - Transfer error interrupt enable
4049            #[inline(always)]
4050            pub fn teie(&self) -> TEIE_R {
4051                TEIE_R::new(((self.bits >> 3) & 0x01) != 0)
4052            }
4053            ///Bit 2 - Half transfer interrupt enable
4054            #[inline(always)]
4055            pub fn htie(&self) -> HTIE_R {
4056                HTIE_R::new(((self.bits >> 2) & 0x01) != 0)
4057            }
4058            ///Bit 1 - Transfer complete interrupt enable
4059            #[inline(always)]
4060            pub fn tcie(&self) -> TCIE_R {
4061                TCIE_R::new(((self.bits >> 1) & 0x01) != 0)
4062            }
4063            ///Bit 0 - Channel enable
4064            #[inline(always)]
4065            pub fn en(&self) -> EN_R {
4066                EN_R::new((self.bits & 0x01) != 0)
4067            }
4068        }
4069        impl W {
4070            ///Bit 14 - Memory to memory mode
4071            #[inline(always)]
4072            pub fn mem2mem(&mut self) -> MEM2MEM_W {
4073                MEM2MEM_W { w: self }
4074            }
4075            ///Bits 12:13 - Channel priority level
4076            #[inline(always)]
4077            pub fn pl(&mut self) -> PL_W {
4078                PL_W { w: self }
4079            }
4080            ///Bits 10:11 - Memory size
4081            #[inline(always)]
4082            pub fn msize(&mut self) -> MSIZE_W {
4083                MSIZE_W { w: self }
4084            }
4085            ///Bits 8:9 - Peripheral size
4086            #[inline(always)]
4087            pub fn psize(&mut self) -> PSIZE_W {
4088                PSIZE_W { w: self }
4089            }
4090            ///Bit 7 - Memory increment mode
4091            #[inline(always)]
4092            pub fn minc(&mut self) -> MINC_W {
4093                MINC_W { w: self }
4094            }
4095            ///Bit 6 - Peripheral increment mode
4096            #[inline(always)]
4097            pub fn pinc(&mut self) -> PINC_W {
4098                PINC_W { w: self }
4099            }
4100            ///Bit 5 - Circular mode
4101            #[inline(always)]
4102            pub fn circ(&mut self) -> CIRC_W {
4103                CIRC_W { w: self }
4104            }
4105            ///Bit 4 - Data transfer direction
4106            #[inline(always)]
4107            pub fn dir(&mut self) -> DIR_W {
4108                DIR_W { w: self }
4109            }
4110            ///Bit 3 - Transfer error interrupt enable
4111            #[inline(always)]
4112            pub fn teie(&mut self) -> TEIE_W {
4113                TEIE_W { w: self }
4114            }
4115            ///Bit 2 - Half transfer interrupt enable
4116            #[inline(always)]
4117            pub fn htie(&mut self) -> HTIE_W {
4118                HTIE_W { w: self }
4119            }
4120            ///Bit 1 - Transfer complete interrupt enable
4121            #[inline(always)]
4122            pub fn tcie(&mut self) -> TCIE_W {
4123                TCIE_W { w: self }
4124            }
4125            ///Bit 0 - Channel enable
4126            #[inline(always)]
4127            pub fn en(&mut self) -> EN_W {
4128                EN_W { w: self }
4129            }
4130        }
4131    }
4132    ///channel x number of data register
4133    ///
4134    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
4135    ///
4136    ///For information about available fields see [cndtr5](cndtr5) module
4137    pub type CNDTR5 = crate::Reg<u32, _CNDTR5>;
4138    #[allow(missing_docs)]
4139    #[doc(hidden)]
4140    pub struct _CNDTR5;
4141    ///`read()` method returns [cndtr5::R](cndtr5::R) reader structure
4142    impl crate::Readable for CNDTR5 {}
4143    ///`write(|w| ..)` method takes [cndtr5::W](cndtr5::W) writer structure
4144    impl crate::Writable for CNDTR5 {}
4145    ///channel x number of data register
4146    pub mod cndtr5 {
4147        ///Reader of register CNDTR5
4148        pub type R = crate::R<u32, super::CNDTR5>;
4149        ///Writer for register CNDTR5
4150        pub type W = crate::W<u32, super::CNDTR5>;
4151        ///Register CNDTR5 `reset()`'s with value 0
4152        impl crate::ResetValue for super::CNDTR5 {
4153            type Type = u32;
4154            #[inline(always)]
4155            fn reset_value() -> Self::Type {
4156                0
4157            }
4158        }
4159        ///Reader of field `NDT`
4160        pub type NDT_R = crate::R<u16, u16>;
4161        ///Write proxy for field `NDT`
4162        pub struct NDT_W<'a> {
4163            w: &'a mut W,
4164        }
4165        impl<'a> NDT_W<'a> {
4166            ///Writes raw bits to the field
4167            #[inline(always)]
4168            pub unsafe fn bits(self, value: u16) -> &'a mut W {
4169                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
4170                self.w
4171            }
4172        }
4173        impl R {
4174            ///Bits 0:15 - Number of data to transfer
4175            #[inline(always)]
4176            pub fn ndt(&self) -> NDT_R {
4177                NDT_R::new((self.bits & 0xffff) as u16)
4178            }
4179        }
4180        impl W {
4181            ///Bits 0:15 - Number of data to transfer
4182            #[inline(always)]
4183            pub fn ndt(&mut self) -> NDT_W {
4184                NDT_W { w: self }
4185            }
4186        }
4187    }
4188    ///channel x peripheral address register
4189    ///
4190    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
4191    ///
4192    ///For information about available fields see [cpar5](cpar5) module
4193    pub type CPAR5 = crate::Reg<u32, _CPAR5>;
4194    #[allow(missing_docs)]
4195    #[doc(hidden)]
4196    pub struct _CPAR5;
4197    ///`read()` method returns [cpar5::R](cpar5::R) reader structure
4198    impl crate::Readable for CPAR5 {}
4199    ///`write(|w| ..)` method takes [cpar5::W](cpar5::W) writer structure
4200    impl crate::Writable for CPAR5 {}
4201    ///channel x peripheral address register
4202    pub mod cpar5 {
4203        ///Reader of register CPAR5
4204        pub type R = crate::R<u32, super::CPAR5>;
4205        ///Writer for register CPAR5
4206        pub type W = crate::W<u32, super::CPAR5>;
4207        ///Register CPAR5 `reset()`'s with value 0
4208        impl crate::ResetValue for super::CPAR5 {
4209            type Type = u32;
4210            #[inline(always)]
4211            fn reset_value() -> Self::Type {
4212                0
4213            }
4214        }
4215        ///Reader of field `PA`
4216        pub type PA_R = crate::R<u32, u32>;
4217        ///Write proxy for field `PA`
4218        pub struct PA_W<'a> {
4219            w: &'a mut W,
4220        }
4221        impl<'a> PA_W<'a> {
4222            ///Writes raw bits to the field
4223            #[inline(always)]
4224            pub unsafe fn bits(self, value: u32) -> &'a mut W {
4225                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
4226                self.w
4227            }
4228        }
4229        impl R {
4230            ///Bits 0:31 - Peripheral address
4231            #[inline(always)]
4232            pub fn pa(&self) -> PA_R {
4233                PA_R::new((self.bits & 0xffff_ffff) as u32)
4234            }
4235        }
4236        impl W {
4237            ///Bits 0:31 - Peripheral address
4238            #[inline(always)]
4239            pub fn pa(&mut self) -> PA_W {
4240                PA_W { w: self }
4241            }
4242        }
4243    }
4244    ///channel x memory address register
4245    ///
4246    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
4247    ///
4248    ///For information about available fields see [cmar5](cmar5) module
4249    pub type CMAR5 = crate::Reg<u32, _CMAR5>;
4250    #[allow(missing_docs)]
4251    #[doc(hidden)]
4252    pub struct _CMAR5;
4253    ///`read()` method returns [cmar5::R](cmar5::R) reader structure
4254    impl crate::Readable for CMAR5 {}
4255    ///`write(|w| ..)` method takes [cmar5::W](cmar5::W) writer structure
4256    impl crate::Writable for CMAR5 {}
4257    ///channel x memory address register
4258    pub mod cmar5 {
4259        ///Reader of register CMAR5
4260        pub type R = crate::R<u32, super::CMAR5>;
4261        ///Writer for register CMAR5
4262        pub type W = crate::W<u32, super::CMAR5>;
4263        ///Register CMAR5 `reset()`'s with value 0
4264        impl crate::ResetValue for super::CMAR5 {
4265            type Type = u32;
4266            #[inline(always)]
4267            fn reset_value() -> Self::Type {
4268                0
4269            }
4270        }
4271        ///Reader of field `MA`
4272        pub type MA_R = crate::R<u32, u32>;
4273        ///Write proxy for field `MA`
4274        pub struct MA_W<'a> {
4275            w: &'a mut W,
4276        }
4277        impl<'a> MA_W<'a> {
4278            ///Writes raw bits to the field
4279            #[inline(always)]
4280            pub unsafe fn bits(self, value: u32) -> &'a mut W {
4281                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
4282                self.w
4283            }
4284        }
4285        impl R {
4286            ///Bits 0:31 - Memory address
4287            #[inline(always)]
4288            pub fn ma(&self) -> MA_R {
4289                MA_R::new((self.bits & 0xffff_ffff) as u32)
4290            }
4291        }
4292        impl W {
4293            ///Bits 0:31 - Memory address
4294            #[inline(always)]
4295            pub fn ma(&mut self) -> MA_W {
4296                MA_W { w: self }
4297            }
4298        }
4299    }
4300    ///channel x configuration register
4301    ///
4302    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
4303    ///
4304    ///For information about available fields see [ccr6](ccr6) module
4305    pub type CCR6 = crate::Reg<u32, _CCR6>;
4306    #[allow(missing_docs)]
4307    #[doc(hidden)]
4308    pub struct _CCR6;
4309    ///`read()` method returns [ccr6::R](ccr6::R) reader structure
4310    impl crate::Readable for CCR6 {}
4311    ///`write(|w| ..)` method takes [ccr6::W](ccr6::W) writer structure
4312    impl crate::Writable for CCR6 {}
4313    ///channel x configuration register
4314    pub mod ccr6 {
4315        ///Reader of register CCR6
4316        pub type R = crate::R<u32, super::CCR6>;
4317        ///Writer for register CCR6
4318        pub type W = crate::W<u32, super::CCR6>;
4319        ///Register CCR6 `reset()`'s with value 0
4320        impl crate::ResetValue for super::CCR6 {
4321            type Type = u32;
4322            #[inline(always)]
4323            fn reset_value() -> Self::Type {
4324                0
4325            }
4326        }
4327        ///Reader of field `MEM2MEM`
4328        pub type MEM2MEM_R = crate::R<bool, bool>;
4329        ///Write proxy for field `MEM2MEM`
4330        pub struct MEM2MEM_W<'a> {
4331            w: &'a mut W,
4332        }
4333        impl<'a> MEM2MEM_W<'a> {
4334            ///Sets the field bit
4335            #[inline(always)]
4336            pub fn set_bit(self) -> &'a mut W {
4337                self.bit(true)
4338            }
4339            ///Clears the field bit
4340            #[inline(always)]
4341            pub fn clear_bit(self) -> &'a mut W {
4342                self.bit(false)
4343            }
4344            ///Writes raw bits to the field
4345            #[inline(always)]
4346            pub fn bit(self, value: bool) -> &'a mut W {
4347                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
4348                self.w
4349            }
4350        }
4351        ///Reader of field `PL`
4352        pub type PL_R = crate::R<u8, u8>;
4353        ///Write proxy for field `PL`
4354        pub struct PL_W<'a> {
4355            w: &'a mut W,
4356        }
4357        impl<'a> PL_W<'a> {
4358            ///Writes raw bits to the field
4359            #[inline(always)]
4360            pub unsafe fn bits(self, value: u8) -> &'a mut W {
4361                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
4362                self.w
4363            }
4364        }
4365        ///Reader of field `MSIZE`
4366        pub type MSIZE_R = crate::R<u8, u8>;
4367        ///Write proxy for field `MSIZE`
4368        pub struct MSIZE_W<'a> {
4369            w: &'a mut W,
4370        }
4371        impl<'a> MSIZE_W<'a> {
4372            ///Writes raw bits to the field
4373            #[inline(always)]
4374            pub unsafe fn bits(self, value: u8) -> &'a mut W {
4375                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
4376                self.w
4377            }
4378        }
4379        ///Reader of field `PSIZE`
4380        pub type PSIZE_R = crate::R<u8, u8>;
4381        ///Write proxy for field `PSIZE`
4382        pub struct PSIZE_W<'a> {
4383            w: &'a mut W,
4384        }
4385        impl<'a> PSIZE_W<'a> {
4386            ///Writes raw bits to the field
4387            #[inline(always)]
4388            pub unsafe fn bits(self, value: u8) -> &'a mut W {
4389                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
4390                self.w
4391            }
4392        }
4393        ///Reader of field `MINC`
4394        pub type MINC_R = crate::R<bool, bool>;
4395        ///Write proxy for field `MINC`
4396        pub struct MINC_W<'a> {
4397            w: &'a mut W,
4398        }
4399        impl<'a> MINC_W<'a> {
4400            ///Sets the field bit
4401            #[inline(always)]
4402            pub fn set_bit(self) -> &'a mut W {
4403                self.bit(true)
4404            }
4405            ///Clears the field bit
4406            #[inline(always)]
4407            pub fn clear_bit(self) -> &'a mut W {
4408                self.bit(false)
4409            }
4410            ///Writes raw bits to the field
4411            #[inline(always)]
4412            pub fn bit(self, value: bool) -> &'a mut W {
4413                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
4414                self.w
4415            }
4416        }
4417        ///Reader of field `PINC`
4418        pub type PINC_R = crate::R<bool, bool>;
4419        ///Write proxy for field `PINC`
4420        pub struct PINC_W<'a> {
4421            w: &'a mut W,
4422        }
4423        impl<'a> PINC_W<'a> {
4424            ///Sets the field bit
4425            #[inline(always)]
4426            pub fn set_bit(self) -> &'a mut W {
4427                self.bit(true)
4428            }
4429            ///Clears the field bit
4430            #[inline(always)]
4431            pub fn clear_bit(self) -> &'a mut W {
4432                self.bit(false)
4433            }
4434            ///Writes raw bits to the field
4435            #[inline(always)]
4436            pub fn bit(self, value: bool) -> &'a mut W {
4437                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
4438                self.w
4439            }
4440        }
4441        ///Reader of field `CIRC`
4442        pub type CIRC_R = crate::R<bool, bool>;
4443        ///Write proxy for field `CIRC`
4444        pub struct CIRC_W<'a> {
4445            w: &'a mut W,
4446        }
4447        impl<'a> CIRC_W<'a> {
4448            ///Sets the field bit
4449            #[inline(always)]
4450            pub fn set_bit(self) -> &'a mut W {
4451                self.bit(true)
4452            }
4453            ///Clears the field bit
4454            #[inline(always)]
4455            pub fn clear_bit(self) -> &'a mut W {
4456                self.bit(false)
4457            }
4458            ///Writes raw bits to the field
4459            #[inline(always)]
4460            pub fn bit(self, value: bool) -> &'a mut W {
4461                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
4462                self.w
4463            }
4464        }
4465        ///Reader of field `DIR`
4466        pub type DIR_R = crate::R<bool, bool>;
4467        ///Write proxy for field `DIR`
4468        pub struct DIR_W<'a> {
4469            w: &'a mut W,
4470        }
4471        impl<'a> DIR_W<'a> {
4472            ///Sets the field bit
4473            #[inline(always)]
4474            pub fn set_bit(self) -> &'a mut W {
4475                self.bit(true)
4476            }
4477            ///Clears the field bit
4478            #[inline(always)]
4479            pub fn clear_bit(self) -> &'a mut W {
4480                self.bit(false)
4481            }
4482            ///Writes raw bits to the field
4483            #[inline(always)]
4484            pub fn bit(self, value: bool) -> &'a mut W {
4485                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
4486                self.w
4487            }
4488        }
4489        ///Reader of field `TEIE`
4490        pub type TEIE_R = crate::R<bool, bool>;
4491        ///Write proxy for field `TEIE`
4492        pub struct TEIE_W<'a> {
4493            w: &'a mut W,
4494        }
4495        impl<'a> TEIE_W<'a> {
4496            ///Sets the field bit
4497            #[inline(always)]
4498            pub fn set_bit(self) -> &'a mut W {
4499                self.bit(true)
4500            }
4501            ///Clears the field bit
4502            #[inline(always)]
4503            pub fn clear_bit(self) -> &'a mut W {
4504                self.bit(false)
4505            }
4506            ///Writes raw bits to the field
4507            #[inline(always)]
4508            pub fn bit(self, value: bool) -> &'a mut W {
4509                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
4510                self.w
4511            }
4512        }
4513        ///Reader of field `HTIE`
4514        pub type HTIE_R = crate::R<bool, bool>;
4515        ///Write proxy for field `HTIE`
4516        pub struct HTIE_W<'a> {
4517            w: &'a mut W,
4518        }
4519        impl<'a> HTIE_W<'a> {
4520            ///Sets the field bit
4521            #[inline(always)]
4522            pub fn set_bit(self) -> &'a mut W {
4523                self.bit(true)
4524            }
4525            ///Clears the field bit
4526            #[inline(always)]
4527            pub fn clear_bit(self) -> &'a mut W {
4528                self.bit(false)
4529            }
4530            ///Writes raw bits to the field
4531            #[inline(always)]
4532            pub fn bit(self, value: bool) -> &'a mut W {
4533                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
4534                self.w
4535            }
4536        }
4537        ///Reader of field `TCIE`
4538        pub type TCIE_R = crate::R<bool, bool>;
4539        ///Write proxy for field `TCIE`
4540        pub struct TCIE_W<'a> {
4541            w: &'a mut W,
4542        }
4543        impl<'a> TCIE_W<'a> {
4544            ///Sets the field bit
4545            #[inline(always)]
4546            pub fn set_bit(self) -> &'a mut W {
4547                self.bit(true)
4548            }
4549            ///Clears the field bit
4550            #[inline(always)]
4551            pub fn clear_bit(self) -> &'a mut W {
4552                self.bit(false)
4553            }
4554            ///Writes raw bits to the field
4555            #[inline(always)]
4556            pub fn bit(self, value: bool) -> &'a mut W {
4557                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
4558                self.w
4559            }
4560        }
4561        ///Reader of field `EN`
4562        pub type EN_R = crate::R<bool, bool>;
4563        ///Write proxy for field `EN`
4564        pub struct EN_W<'a> {
4565            w: &'a mut W,
4566        }
4567        impl<'a> EN_W<'a> {
4568            ///Sets the field bit
4569            #[inline(always)]
4570            pub fn set_bit(self) -> &'a mut W {
4571                self.bit(true)
4572            }
4573            ///Clears the field bit
4574            #[inline(always)]
4575            pub fn clear_bit(self) -> &'a mut W {
4576                self.bit(false)
4577            }
4578            ///Writes raw bits to the field
4579            #[inline(always)]
4580            pub fn bit(self, value: bool) -> &'a mut W {
4581                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
4582                self.w
4583            }
4584        }
4585        impl R {
4586            ///Bit 14 - Memory to memory mode
4587            #[inline(always)]
4588            pub fn mem2mem(&self) -> MEM2MEM_R {
4589                MEM2MEM_R::new(((self.bits >> 14) & 0x01) != 0)
4590            }
4591            ///Bits 12:13 - Channel priority level
4592            #[inline(always)]
4593            pub fn pl(&self) -> PL_R {
4594                PL_R::new(((self.bits >> 12) & 0x03) as u8)
4595            }
4596            ///Bits 10:11 - Memory size
4597            #[inline(always)]
4598            pub fn msize(&self) -> MSIZE_R {
4599                MSIZE_R::new(((self.bits >> 10) & 0x03) as u8)
4600            }
4601            ///Bits 8:9 - Peripheral size
4602            #[inline(always)]
4603            pub fn psize(&self) -> PSIZE_R {
4604                PSIZE_R::new(((self.bits >> 8) & 0x03) as u8)
4605            }
4606            ///Bit 7 - Memory increment mode
4607            #[inline(always)]
4608            pub fn minc(&self) -> MINC_R {
4609                MINC_R::new(((self.bits >> 7) & 0x01) != 0)
4610            }
4611            ///Bit 6 - Peripheral increment mode
4612            #[inline(always)]
4613            pub fn pinc(&self) -> PINC_R {
4614                PINC_R::new(((self.bits >> 6) & 0x01) != 0)
4615            }
4616            ///Bit 5 - Circular mode
4617            #[inline(always)]
4618            pub fn circ(&self) -> CIRC_R {
4619                CIRC_R::new(((self.bits >> 5) & 0x01) != 0)
4620            }
4621            ///Bit 4 - Data transfer direction
4622            #[inline(always)]
4623            pub fn dir(&self) -> DIR_R {
4624                DIR_R::new(((self.bits >> 4) & 0x01) != 0)
4625            }
4626            ///Bit 3 - Transfer error interrupt enable
4627            #[inline(always)]
4628            pub fn teie(&self) -> TEIE_R {
4629                TEIE_R::new(((self.bits >> 3) & 0x01) != 0)
4630            }
4631            ///Bit 2 - Half transfer interrupt enable
4632            #[inline(always)]
4633            pub fn htie(&self) -> HTIE_R {
4634                HTIE_R::new(((self.bits >> 2) & 0x01) != 0)
4635            }
4636            ///Bit 1 - Transfer complete interrupt enable
4637            #[inline(always)]
4638            pub fn tcie(&self) -> TCIE_R {
4639                TCIE_R::new(((self.bits >> 1) & 0x01) != 0)
4640            }
4641            ///Bit 0 - Channel enable
4642            #[inline(always)]
4643            pub fn en(&self) -> EN_R {
4644                EN_R::new((self.bits & 0x01) != 0)
4645            }
4646        }
4647        impl W {
4648            ///Bit 14 - Memory to memory mode
4649            #[inline(always)]
4650            pub fn mem2mem(&mut self) -> MEM2MEM_W {
4651                MEM2MEM_W { w: self }
4652            }
4653            ///Bits 12:13 - Channel priority level
4654            #[inline(always)]
4655            pub fn pl(&mut self) -> PL_W {
4656                PL_W { w: self }
4657            }
4658            ///Bits 10:11 - Memory size
4659            #[inline(always)]
4660            pub fn msize(&mut self) -> MSIZE_W {
4661                MSIZE_W { w: self }
4662            }
4663            ///Bits 8:9 - Peripheral size
4664            #[inline(always)]
4665            pub fn psize(&mut self) -> PSIZE_W {
4666                PSIZE_W { w: self }
4667            }
4668            ///Bit 7 - Memory increment mode
4669            #[inline(always)]
4670            pub fn minc(&mut self) -> MINC_W {
4671                MINC_W { w: self }
4672            }
4673            ///Bit 6 - Peripheral increment mode
4674            #[inline(always)]
4675            pub fn pinc(&mut self) -> PINC_W {
4676                PINC_W { w: self }
4677            }
4678            ///Bit 5 - Circular mode
4679            #[inline(always)]
4680            pub fn circ(&mut self) -> CIRC_W {
4681                CIRC_W { w: self }
4682            }
4683            ///Bit 4 - Data transfer direction
4684            #[inline(always)]
4685            pub fn dir(&mut self) -> DIR_W {
4686                DIR_W { w: self }
4687            }
4688            ///Bit 3 - Transfer error interrupt enable
4689            #[inline(always)]
4690            pub fn teie(&mut self) -> TEIE_W {
4691                TEIE_W { w: self }
4692            }
4693            ///Bit 2 - Half transfer interrupt enable
4694            #[inline(always)]
4695            pub fn htie(&mut self) -> HTIE_W {
4696                HTIE_W { w: self }
4697            }
4698            ///Bit 1 - Transfer complete interrupt enable
4699            #[inline(always)]
4700            pub fn tcie(&mut self) -> TCIE_W {
4701                TCIE_W { w: self }
4702            }
4703            ///Bit 0 - Channel enable
4704            #[inline(always)]
4705            pub fn en(&mut self) -> EN_W {
4706                EN_W { w: self }
4707            }
4708        }
4709    }
4710    ///channel x number of data register
4711    ///
4712    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
4713    ///
4714    ///For information about available fields see [cndtr6](cndtr6) module
4715    pub type CNDTR6 = crate::Reg<u32, _CNDTR6>;
4716    #[allow(missing_docs)]
4717    #[doc(hidden)]
4718    pub struct _CNDTR6;
4719    ///`read()` method returns [cndtr6::R](cndtr6::R) reader structure
4720    impl crate::Readable for CNDTR6 {}
4721    ///`write(|w| ..)` method takes [cndtr6::W](cndtr6::W) writer structure
4722    impl crate::Writable for CNDTR6 {}
4723    ///channel x number of data register
4724    pub mod cndtr6 {
4725        ///Reader of register CNDTR6
4726        pub type R = crate::R<u32, super::CNDTR6>;
4727        ///Writer for register CNDTR6
4728        pub type W = crate::W<u32, super::CNDTR6>;
4729        ///Register CNDTR6 `reset()`'s with value 0
4730        impl crate::ResetValue for super::CNDTR6 {
4731            type Type = u32;
4732            #[inline(always)]
4733            fn reset_value() -> Self::Type {
4734                0
4735            }
4736        }
4737        ///Reader of field `NDT`
4738        pub type NDT_R = crate::R<u16, u16>;
4739        ///Write proxy for field `NDT`
4740        pub struct NDT_W<'a> {
4741            w: &'a mut W,
4742        }
4743        impl<'a> NDT_W<'a> {
4744            ///Writes raw bits to the field
4745            #[inline(always)]
4746            pub unsafe fn bits(self, value: u16) -> &'a mut W {
4747                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
4748                self.w
4749            }
4750        }
4751        impl R {
4752            ///Bits 0:15 - Number of data to transfer
4753            #[inline(always)]
4754            pub fn ndt(&self) -> NDT_R {
4755                NDT_R::new((self.bits & 0xffff) as u16)
4756            }
4757        }
4758        impl W {
4759            ///Bits 0:15 - Number of data to transfer
4760            #[inline(always)]
4761            pub fn ndt(&mut self) -> NDT_W {
4762                NDT_W { w: self }
4763            }
4764        }
4765    }
4766    ///channel x peripheral address register
4767    ///
4768    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
4769    ///
4770    ///For information about available fields see [cpar6](cpar6) module
4771    pub type CPAR6 = crate::Reg<u32, _CPAR6>;
4772    #[allow(missing_docs)]
4773    #[doc(hidden)]
4774    pub struct _CPAR6;
4775    ///`read()` method returns [cpar6::R](cpar6::R) reader structure
4776    impl crate::Readable for CPAR6 {}
4777    ///`write(|w| ..)` method takes [cpar6::W](cpar6::W) writer structure
4778    impl crate::Writable for CPAR6 {}
4779    ///channel x peripheral address register
4780    pub mod cpar6 {
4781        ///Reader of register CPAR6
4782        pub type R = crate::R<u32, super::CPAR6>;
4783        ///Writer for register CPAR6
4784        pub type W = crate::W<u32, super::CPAR6>;
4785        ///Register CPAR6 `reset()`'s with value 0
4786        impl crate::ResetValue for super::CPAR6 {
4787            type Type = u32;
4788            #[inline(always)]
4789            fn reset_value() -> Self::Type {
4790                0
4791            }
4792        }
4793        ///Reader of field `PA`
4794        pub type PA_R = crate::R<u32, u32>;
4795        ///Write proxy for field `PA`
4796        pub struct PA_W<'a> {
4797            w: &'a mut W,
4798        }
4799        impl<'a> PA_W<'a> {
4800            ///Writes raw bits to the field
4801            #[inline(always)]
4802            pub unsafe fn bits(self, value: u32) -> &'a mut W {
4803                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
4804                self.w
4805            }
4806        }
4807        impl R {
4808            ///Bits 0:31 - Peripheral address
4809            #[inline(always)]
4810            pub fn pa(&self) -> PA_R {
4811                PA_R::new((self.bits & 0xffff_ffff) as u32)
4812            }
4813        }
4814        impl W {
4815            ///Bits 0:31 - Peripheral address
4816            #[inline(always)]
4817            pub fn pa(&mut self) -> PA_W {
4818                PA_W { w: self }
4819            }
4820        }
4821    }
4822    ///channel x memory address register
4823    ///
4824    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
4825    ///
4826    ///For information about available fields see [cmar6](cmar6) module
4827    pub type CMAR6 = crate::Reg<u32, _CMAR6>;
4828    #[allow(missing_docs)]
4829    #[doc(hidden)]
4830    pub struct _CMAR6;
4831    ///`read()` method returns [cmar6::R](cmar6::R) reader structure
4832    impl crate::Readable for CMAR6 {}
4833    ///`write(|w| ..)` method takes [cmar6::W](cmar6::W) writer structure
4834    impl crate::Writable for CMAR6 {}
4835    ///channel x memory address register
4836    pub mod cmar6 {
4837        ///Reader of register CMAR6
4838        pub type R = crate::R<u32, super::CMAR6>;
4839        ///Writer for register CMAR6
4840        pub type W = crate::W<u32, super::CMAR6>;
4841        ///Register CMAR6 `reset()`'s with value 0
4842        impl crate::ResetValue for super::CMAR6 {
4843            type Type = u32;
4844            #[inline(always)]
4845            fn reset_value() -> Self::Type {
4846                0
4847            }
4848        }
4849        ///Reader of field `MA`
4850        pub type MA_R = crate::R<u32, u32>;
4851        ///Write proxy for field `MA`
4852        pub struct MA_W<'a> {
4853            w: &'a mut W,
4854        }
4855        impl<'a> MA_W<'a> {
4856            ///Writes raw bits to the field
4857            #[inline(always)]
4858            pub unsafe fn bits(self, value: u32) -> &'a mut W {
4859                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
4860                self.w
4861            }
4862        }
4863        impl R {
4864            ///Bits 0:31 - Memory address
4865            #[inline(always)]
4866            pub fn ma(&self) -> MA_R {
4867                MA_R::new((self.bits & 0xffff_ffff) as u32)
4868            }
4869        }
4870        impl W {
4871            ///Bits 0:31 - Memory address
4872            #[inline(always)]
4873            pub fn ma(&mut self) -> MA_W {
4874                MA_W { w: self }
4875            }
4876        }
4877    }
4878    ///channel x configuration register
4879    ///
4880    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
4881    ///
4882    ///For information about available fields see [ccr7](ccr7) module
4883    pub type CCR7 = crate::Reg<u32, _CCR7>;
4884    #[allow(missing_docs)]
4885    #[doc(hidden)]
4886    pub struct _CCR7;
4887    ///`read()` method returns [ccr7::R](ccr7::R) reader structure
4888    impl crate::Readable for CCR7 {}
4889    ///`write(|w| ..)` method takes [ccr7::W](ccr7::W) writer structure
4890    impl crate::Writable for CCR7 {}
4891    ///channel x configuration register
4892    pub mod ccr7 {
4893        ///Reader of register CCR7
4894        pub type R = crate::R<u32, super::CCR7>;
4895        ///Writer for register CCR7
4896        pub type W = crate::W<u32, super::CCR7>;
4897        ///Register CCR7 `reset()`'s with value 0
4898        impl crate::ResetValue for super::CCR7 {
4899            type Type = u32;
4900            #[inline(always)]
4901            fn reset_value() -> Self::Type {
4902                0
4903            }
4904        }
4905        ///Reader of field `MEM2MEM`
4906        pub type MEM2MEM_R = crate::R<bool, bool>;
4907        ///Write proxy for field `MEM2MEM`
4908        pub struct MEM2MEM_W<'a> {
4909            w: &'a mut W,
4910        }
4911        impl<'a> MEM2MEM_W<'a> {
4912            ///Sets the field bit
4913            #[inline(always)]
4914            pub fn set_bit(self) -> &'a mut W {
4915                self.bit(true)
4916            }
4917            ///Clears the field bit
4918            #[inline(always)]
4919            pub fn clear_bit(self) -> &'a mut W {
4920                self.bit(false)
4921            }
4922            ///Writes raw bits to the field
4923            #[inline(always)]
4924            pub fn bit(self, value: bool) -> &'a mut W {
4925                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
4926                self.w
4927            }
4928        }
4929        ///Reader of field `PL`
4930        pub type PL_R = crate::R<u8, u8>;
4931        ///Write proxy for field `PL`
4932        pub struct PL_W<'a> {
4933            w: &'a mut W,
4934        }
4935        impl<'a> PL_W<'a> {
4936            ///Writes raw bits to the field
4937            #[inline(always)]
4938            pub unsafe fn bits(self, value: u8) -> &'a mut W {
4939                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
4940                self.w
4941            }
4942        }
4943        ///Reader of field `MSIZE`
4944        pub type MSIZE_R = crate::R<u8, u8>;
4945        ///Write proxy for field `MSIZE`
4946        pub struct MSIZE_W<'a> {
4947            w: &'a mut W,
4948        }
4949        impl<'a> MSIZE_W<'a> {
4950            ///Writes raw bits to the field
4951            #[inline(always)]
4952            pub unsafe fn bits(self, value: u8) -> &'a mut W {
4953                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
4954                self.w
4955            }
4956        }
4957        ///Reader of field `PSIZE`
4958        pub type PSIZE_R = crate::R<u8, u8>;
4959        ///Write proxy for field `PSIZE`
4960        pub struct PSIZE_W<'a> {
4961            w: &'a mut W,
4962        }
4963        impl<'a> PSIZE_W<'a> {
4964            ///Writes raw bits to the field
4965            #[inline(always)]
4966            pub unsafe fn bits(self, value: u8) -> &'a mut W {
4967                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
4968                self.w
4969            }
4970        }
4971        ///Reader of field `MINC`
4972        pub type MINC_R = crate::R<bool, bool>;
4973        ///Write proxy for field `MINC`
4974        pub struct MINC_W<'a> {
4975            w: &'a mut W,
4976        }
4977        impl<'a> MINC_W<'a> {
4978            ///Sets the field bit
4979            #[inline(always)]
4980            pub fn set_bit(self) -> &'a mut W {
4981                self.bit(true)
4982            }
4983            ///Clears the field bit
4984            #[inline(always)]
4985            pub fn clear_bit(self) -> &'a mut W {
4986                self.bit(false)
4987            }
4988            ///Writes raw bits to the field
4989            #[inline(always)]
4990            pub fn bit(self, value: bool) -> &'a mut W {
4991                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
4992                self.w
4993            }
4994        }
4995        ///Reader of field `PINC`
4996        pub type PINC_R = crate::R<bool, bool>;
4997        ///Write proxy for field `PINC`
4998        pub struct PINC_W<'a> {
4999            w: &'a mut W,
5000        }
5001        impl<'a> PINC_W<'a> {
5002            ///Sets the field bit
5003            #[inline(always)]
5004            pub fn set_bit(self) -> &'a mut W {
5005                self.bit(true)
5006            }
5007            ///Clears the field bit
5008            #[inline(always)]
5009            pub fn clear_bit(self) -> &'a mut W {
5010                self.bit(false)
5011            }
5012            ///Writes raw bits to the field
5013            #[inline(always)]
5014            pub fn bit(self, value: bool) -> &'a mut W {
5015                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
5016                self.w
5017            }
5018        }
5019        ///Reader of field `CIRC`
5020        pub type CIRC_R = crate::R<bool, bool>;
5021        ///Write proxy for field `CIRC`
5022        pub struct CIRC_W<'a> {
5023            w: &'a mut W,
5024        }
5025        impl<'a> CIRC_W<'a> {
5026            ///Sets the field bit
5027            #[inline(always)]
5028            pub fn set_bit(self) -> &'a mut W {
5029                self.bit(true)
5030            }
5031            ///Clears the field bit
5032            #[inline(always)]
5033            pub fn clear_bit(self) -> &'a mut W {
5034                self.bit(false)
5035            }
5036            ///Writes raw bits to the field
5037            #[inline(always)]
5038            pub fn bit(self, value: bool) -> &'a mut W {
5039                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
5040                self.w
5041            }
5042        }
5043        ///Reader of field `DIR`
5044        pub type DIR_R = crate::R<bool, bool>;
5045        ///Write proxy for field `DIR`
5046        pub struct DIR_W<'a> {
5047            w: &'a mut W,
5048        }
5049        impl<'a> DIR_W<'a> {
5050            ///Sets the field bit
5051            #[inline(always)]
5052            pub fn set_bit(self) -> &'a mut W {
5053                self.bit(true)
5054            }
5055            ///Clears the field bit
5056            #[inline(always)]
5057            pub fn clear_bit(self) -> &'a mut W {
5058                self.bit(false)
5059            }
5060            ///Writes raw bits to the field
5061            #[inline(always)]
5062            pub fn bit(self, value: bool) -> &'a mut W {
5063                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
5064                self.w
5065            }
5066        }
5067        ///Reader of field `TEIE`
5068        pub type TEIE_R = crate::R<bool, bool>;
5069        ///Write proxy for field `TEIE`
5070        pub struct TEIE_W<'a> {
5071            w: &'a mut W,
5072        }
5073        impl<'a> TEIE_W<'a> {
5074            ///Sets the field bit
5075            #[inline(always)]
5076            pub fn set_bit(self) -> &'a mut W {
5077                self.bit(true)
5078            }
5079            ///Clears the field bit
5080            #[inline(always)]
5081            pub fn clear_bit(self) -> &'a mut W {
5082                self.bit(false)
5083            }
5084            ///Writes raw bits to the field
5085            #[inline(always)]
5086            pub fn bit(self, value: bool) -> &'a mut W {
5087                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
5088                self.w
5089            }
5090        }
5091        ///Reader of field `HTIE`
5092        pub type HTIE_R = crate::R<bool, bool>;
5093        ///Write proxy for field `HTIE`
5094        pub struct HTIE_W<'a> {
5095            w: &'a mut W,
5096        }
5097        impl<'a> HTIE_W<'a> {
5098            ///Sets the field bit
5099            #[inline(always)]
5100            pub fn set_bit(self) -> &'a mut W {
5101                self.bit(true)
5102            }
5103            ///Clears the field bit
5104            #[inline(always)]
5105            pub fn clear_bit(self) -> &'a mut W {
5106                self.bit(false)
5107            }
5108            ///Writes raw bits to the field
5109            #[inline(always)]
5110            pub fn bit(self, value: bool) -> &'a mut W {
5111                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
5112                self.w
5113            }
5114        }
5115        ///Reader of field `TCIE`
5116        pub type TCIE_R = crate::R<bool, bool>;
5117        ///Write proxy for field `TCIE`
5118        pub struct TCIE_W<'a> {
5119            w: &'a mut W,
5120        }
5121        impl<'a> TCIE_W<'a> {
5122            ///Sets the field bit
5123            #[inline(always)]
5124            pub fn set_bit(self) -> &'a mut W {
5125                self.bit(true)
5126            }
5127            ///Clears the field bit
5128            #[inline(always)]
5129            pub fn clear_bit(self) -> &'a mut W {
5130                self.bit(false)
5131            }
5132            ///Writes raw bits to the field
5133            #[inline(always)]
5134            pub fn bit(self, value: bool) -> &'a mut W {
5135                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
5136                self.w
5137            }
5138        }
5139        ///Reader of field `EN`
5140        pub type EN_R = crate::R<bool, bool>;
5141        ///Write proxy for field `EN`
5142        pub struct EN_W<'a> {
5143            w: &'a mut W,
5144        }
5145        impl<'a> EN_W<'a> {
5146            ///Sets the field bit
5147            #[inline(always)]
5148            pub fn set_bit(self) -> &'a mut W {
5149                self.bit(true)
5150            }
5151            ///Clears the field bit
5152            #[inline(always)]
5153            pub fn clear_bit(self) -> &'a mut W {
5154                self.bit(false)
5155            }
5156            ///Writes raw bits to the field
5157            #[inline(always)]
5158            pub fn bit(self, value: bool) -> &'a mut W {
5159                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
5160                self.w
5161            }
5162        }
5163        impl R {
5164            ///Bit 14 - Memory to memory mode
5165            #[inline(always)]
5166            pub fn mem2mem(&self) -> MEM2MEM_R {
5167                MEM2MEM_R::new(((self.bits >> 14) & 0x01) != 0)
5168            }
5169            ///Bits 12:13 - Channel priority level
5170            #[inline(always)]
5171            pub fn pl(&self) -> PL_R {
5172                PL_R::new(((self.bits >> 12) & 0x03) as u8)
5173            }
5174            ///Bits 10:11 - Memory size
5175            #[inline(always)]
5176            pub fn msize(&self) -> MSIZE_R {
5177                MSIZE_R::new(((self.bits >> 10) & 0x03) as u8)
5178            }
5179            ///Bits 8:9 - Peripheral size
5180            #[inline(always)]
5181            pub fn psize(&self) -> PSIZE_R {
5182                PSIZE_R::new(((self.bits >> 8) & 0x03) as u8)
5183            }
5184            ///Bit 7 - Memory increment mode
5185            #[inline(always)]
5186            pub fn minc(&self) -> MINC_R {
5187                MINC_R::new(((self.bits >> 7) & 0x01) != 0)
5188            }
5189            ///Bit 6 - Peripheral increment mode
5190            #[inline(always)]
5191            pub fn pinc(&self) -> PINC_R {
5192                PINC_R::new(((self.bits >> 6) & 0x01) != 0)
5193            }
5194            ///Bit 5 - Circular mode
5195            #[inline(always)]
5196            pub fn circ(&self) -> CIRC_R {
5197                CIRC_R::new(((self.bits >> 5) & 0x01) != 0)
5198            }
5199            ///Bit 4 - Data transfer direction
5200            #[inline(always)]
5201            pub fn dir(&self) -> DIR_R {
5202                DIR_R::new(((self.bits >> 4) & 0x01) != 0)
5203            }
5204            ///Bit 3 - Transfer error interrupt enable
5205            #[inline(always)]
5206            pub fn teie(&self) -> TEIE_R {
5207                TEIE_R::new(((self.bits >> 3) & 0x01) != 0)
5208            }
5209            ///Bit 2 - Half transfer interrupt enable
5210            #[inline(always)]
5211            pub fn htie(&self) -> HTIE_R {
5212                HTIE_R::new(((self.bits >> 2) & 0x01) != 0)
5213            }
5214            ///Bit 1 - Transfer complete interrupt enable
5215            #[inline(always)]
5216            pub fn tcie(&self) -> TCIE_R {
5217                TCIE_R::new(((self.bits >> 1) & 0x01) != 0)
5218            }
5219            ///Bit 0 - Channel enable
5220            #[inline(always)]
5221            pub fn en(&self) -> EN_R {
5222                EN_R::new((self.bits & 0x01) != 0)
5223            }
5224        }
5225        impl W {
5226            ///Bit 14 - Memory to memory mode
5227            #[inline(always)]
5228            pub fn mem2mem(&mut self) -> MEM2MEM_W {
5229                MEM2MEM_W { w: self }
5230            }
5231            ///Bits 12:13 - Channel priority level
5232            #[inline(always)]
5233            pub fn pl(&mut self) -> PL_W {
5234                PL_W { w: self }
5235            }
5236            ///Bits 10:11 - Memory size
5237            #[inline(always)]
5238            pub fn msize(&mut self) -> MSIZE_W {
5239                MSIZE_W { w: self }
5240            }
5241            ///Bits 8:9 - Peripheral size
5242            #[inline(always)]
5243            pub fn psize(&mut self) -> PSIZE_W {
5244                PSIZE_W { w: self }
5245            }
5246            ///Bit 7 - Memory increment mode
5247            #[inline(always)]
5248            pub fn minc(&mut self) -> MINC_W {
5249                MINC_W { w: self }
5250            }
5251            ///Bit 6 - Peripheral increment mode
5252            #[inline(always)]
5253            pub fn pinc(&mut self) -> PINC_W {
5254                PINC_W { w: self }
5255            }
5256            ///Bit 5 - Circular mode
5257            #[inline(always)]
5258            pub fn circ(&mut self) -> CIRC_W {
5259                CIRC_W { w: self }
5260            }
5261            ///Bit 4 - Data transfer direction
5262            #[inline(always)]
5263            pub fn dir(&mut self) -> DIR_W {
5264                DIR_W { w: self }
5265            }
5266            ///Bit 3 - Transfer error interrupt enable
5267            #[inline(always)]
5268            pub fn teie(&mut self) -> TEIE_W {
5269                TEIE_W { w: self }
5270            }
5271            ///Bit 2 - Half transfer interrupt enable
5272            #[inline(always)]
5273            pub fn htie(&mut self) -> HTIE_W {
5274                HTIE_W { w: self }
5275            }
5276            ///Bit 1 - Transfer complete interrupt enable
5277            #[inline(always)]
5278            pub fn tcie(&mut self) -> TCIE_W {
5279                TCIE_W { w: self }
5280            }
5281            ///Bit 0 - Channel enable
5282            #[inline(always)]
5283            pub fn en(&mut self) -> EN_W {
5284                EN_W { w: self }
5285            }
5286        }
5287    }
5288    ///channel x number of data register
5289    ///
5290    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
5291    ///
5292    ///For information about available fields see [cndtr7](cndtr7) module
5293    pub type CNDTR7 = crate::Reg<u32, _CNDTR7>;
5294    #[allow(missing_docs)]
5295    #[doc(hidden)]
5296    pub struct _CNDTR7;
5297    ///`read()` method returns [cndtr7::R](cndtr7::R) reader structure
5298    impl crate::Readable for CNDTR7 {}
5299    ///`write(|w| ..)` method takes [cndtr7::W](cndtr7::W) writer structure
5300    impl crate::Writable for CNDTR7 {}
5301    ///channel x number of data register
5302    pub mod cndtr7 {
5303        ///Reader of register CNDTR7
5304        pub type R = crate::R<u32, super::CNDTR7>;
5305        ///Writer for register CNDTR7
5306        pub type W = crate::W<u32, super::CNDTR7>;
5307        ///Register CNDTR7 `reset()`'s with value 0
5308        impl crate::ResetValue for super::CNDTR7 {
5309            type Type = u32;
5310            #[inline(always)]
5311            fn reset_value() -> Self::Type {
5312                0
5313            }
5314        }
5315        ///Reader of field `NDT`
5316        pub type NDT_R = crate::R<u16, u16>;
5317        ///Write proxy for field `NDT`
5318        pub struct NDT_W<'a> {
5319            w: &'a mut W,
5320        }
5321        impl<'a> NDT_W<'a> {
5322            ///Writes raw bits to the field
5323            #[inline(always)]
5324            pub unsafe fn bits(self, value: u16) -> &'a mut W {
5325                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
5326                self.w
5327            }
5328        }
5329        impl R {
5330            ///Bits 0:15 - Number of data to transfer
5331            #[inline(always)]
5332            pub fn ndt(&self) -> NDT_R {
5333                NDT_R::new((self.bits & 0xffff) as u16)
5334            }
5335        }
5336        impl W {
5337            ///Bits 0:15 - Number of data to transfer
5338            #[inline(always)]
5339            pub fn ndt(&mut self) -> NDT_W {
5340                NDT_W { w: self }
5341            }
5342        }
5343    }
5344    ///channel x peripheral address register
5345    ///
5346    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
5347    ///
5348    ///For information about available fields see [cpar7](cpar7) module
5349    pub type CPAR7 = crate::Reg<u32, _CPAR7>;
5350    #[allow(missing_docs)]
5351    #[doc(hidden)]
5352    pub struct _CPAR7;
5353    ///`read()` method returns [cpar7::R](cpar7::R) reader structure
5354    impl crate::Readable for CPAR7 {}
5355    ///`write(|w| ..)` method takes [cpar7::W](cpar7::W) writer structure
5356    impl crate::Writable for CPAR7 {}
5357    ///channel x peripheral address register
5358    pub mod cpar7 {
5359        ///Reader of register CPAR7
5360        pub type R = crate::R<u32, super::CPAR7>;
5361        ///Writer for register CPAR7
5362        pub type W = crate::W<u32, super::CPAR7>;
5363        ///Register CPAR7 `reset()`'s with value 0
5364        impl crate::ResetValue for super::CPAR7 {
5365            type Type = u32;
5366            #[inline(always)]
5367            fn reset_value() -> Self::Type {
5368                0
5369            }
5370        }
5371        ///Reader of field `PA`
5372        pub type PA_R = crate::R<u32, u32>;
5373        ///Write proxy for field `PA`
5374        pub struct PA_W<'a> {
5375            w: &'a mut W,
5376        }
5377        impl<'a> PA_W<'a> {
5378            ///Writes raw bits to the field
5379            #[inline(always)]
5380            pub unsafe fn bits(self, value: u32) -> &'a mut W {
5381                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
5382                self.w
5383            }
5384        }
5385        impl R {
5386            ///Bits 0:31 - Peripheral address
5387            #[inline(always)]
5388            pub fn pa(&self) -> PA_R {
5389                PA_R::new((self.bits & 0xffff_ffff) as u32)
5390            }
5391        }
5392        impl W {
5393            ///Bits 0:31 - Peripheral address
5394            #[inline(always)]
5395            pub fn pa(&mut self) -> PA_W {
5396                PA_W { w: self }
5397            }
5398        }
5399    }
5400    ///channel x memory address register
5401    ///
5402    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
5403    ///
5404    ///For information about available fields see [cmar7](cmar7) module
5405    pub type CMAR7 = crate::Reg<u32, _CMAR7>;
5406    #[allow(missing_docs)]
5407    #[doc(hidden)]
5408    pub struct _CMAR7;
5409    ///`read()` method returns [cmar7::R](cmar7::R) reader structure
5410    impl crate::Readable for CMAR7 {}
5411    ///`write(|w| ..)` method takes [cmar7::W](cmar7::W) writer structure
5412    impl crate::Writable for CMAR7 {}
5413    ///channel x memory address register
5414    pub mod cmar7 {
5415        ///Reader of register CMAR7
5416        pub type R = crate::R<u32, super::CMAR7>;
5417        ///Writer for register CMAR7
5418        pub type W = crate::W<u32, super::CMAR7>;
5419        ///Register CMAR7 `reset()`'s with value 0
5420        impl crate::ResetValue for super::CMAR7 {
5421            type Type = u32;
5422            #[inline(always)]
5423            fn reset_value() -> Self::Type {
5424                0
5425            }
5426        }
5427        ///Reader of field `MA`
5428        pub type MA_R = crate::R<u32, u32>;
5429        ///Write proxy for field `MA`
5430        pub struct MA_W<'a> {
5431            w: &'a mut W,
5432        }
5433        impl<'a> MA_W<'a> {
5434            ///Writes raw bits to the field
5435            #[inline(always)]
5436            pub unsafe fn bits(self, value: u32) -> &'a mut W {
5437                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
5438                self.w
5439            }
5440        }
5441        impl R {
5442            ///Bits 0:31 - Memory address
5443            #[inline(always)]
5444            pub fn ma(&self) -> MA_R {
5445                MA_R::new((self.bits & 0xffff_ffff) as u32)
5446            }
5447        }
5448        impl W {
5449            ///Bits 0:31 - Memory address
5450            #[inline(always)]
5451            pub fn ma(&mut self) -> MA_W {
5452                MA_W { w: self }
5453            }
5454        }
5455    }
5456}
5457///Direct memory access controller
5458pub struct DMA2 {
5459    _marker: PhantomData<*const ()>,
5460}
5461unsafe impl Send for DMA2 {}
5462impl DMA2 {
5463    ///Returns a pointer to the register block
5464    #[inline(always)]
5465    pub const fn ptr() -> *const dma2::RegisterBlock {
5466        0x4002_0400 as *const _
5467    }
5468}
5469impl Deref for DMA2 {
5470    type Target = dma2::RegisterBlock;
5471    #[inline(always)]
5472    fn deref(&self) -> &Self::Target {
5473        unsafe { &*DMA2::ptr() }
5474    }
5475}
5476///Direct memory access controller
5477pub mod dma2 {
5478    ///Register block
5479    #[repr(C)]
5480    pub struct RegisterBlock {
5481        ///0x00 - interrupt status register
5482        pub isr: ISR,
5483        ///0x04 - interrupt flag clear register
5484        pub ifcr: IFCR,
5485        ///0x08 - channel x configuration register
5486        pub ccr1: CCR1,
5487        ///0x0c - channel x number of data register
5488        pub cndtr1: CNDTR1,
5489        ///0x10 - channel x peripheral address register
5490        pub cpar1: CPAR1,
5491        ///0x14 - channel x memory address register
5492        pub cmar1: CMAR1,
5493        _reserved6: [u8; 4usize],
5494        ///0x1c - channel x configuration register
5495        pub ccr2: CCR2,
5496        ///0x20 - channel x number of data register
5497        pub cndtr2: CNDTR2,
5498        ///0x24 - channel x peripheral address register
5499        pub cpar2: CPAR2,
5500        ///0x28 - channel x memory address register
5501        pub cmar2: CMAR2,
5502        _reserved10: [u8; 4usize],
5503        ///0x30 - channel x configuration register
5504        pub ccr3: CCR3,
5505        ///0x34 - channel x number of data register
5506        pub cndtr3: CNDTR3,
5507        ///0x38 - channel x peripheral address register
5508        pub cpar3: CPAR3,
5509        ///0x3c - channel x memory address register
5510        pub cmar3: CMAR3,
5511        _reserved14: [u8; 4usize],
5512        ///0x44 - channel x configuration register
5513        pub ccr4: CCR4,
5514        ///0x48 - channel x number of data register
5515        pub cndtr4: CNDTR4,
5516        ///0x4c - channel x peripheral address register
5517        pub cpar4: CPAR4,
5518        ///0x50 - channel x memory address register
5519        pub cmar4: CMAR4,
5520        _reserved18: [u8; 4usize],
5521        ///0x58 - channel x configuration register
5522        pub ccr5: CCR5,
5523        ///0x5c - channel x number of data register
5524        pub cndtr5: CNDTR5,
5525        ///0x60 - channel x peripheral address register
5526        pub cpar5: CPAR5,
5527        ///0x64 - channel x memory address register
5528        pub cmar5: CMAR5,
5529        _reserved22: [u8; 4usize],
5530        ///0x6c - channel x configuration register
5531        pub ccr6: CCR6,
5532        ///0x70 - channel x number of data register
5533        pub cndtr6: CNDTR6,
5534        ///0x74 - channel x peripheral address register
5535        pub cpar6: CPAR6,
5536        ///0x78 - channel x memory address register
5537        pub cmar6: CMAR6,
5538        _reserved26: [u8; 4usize],
5539        ///0x80 - channel x configuration register
5540        pub ccr7: CCR7,
5541        ///0x84 - channel x number of data register
5542        pub cndtr7: CNDTR7,
5543        ///0x88 - channel x peripheral address register
5544        pub cpar7: CPAR7,
5545        ///0x8c - channel x memory address register
5546        pub cmar7: CMAR7,
5547        _reserved30: [u8; 24usize],
5548        ///0xa8 - channel selection register
5549        pub cselr: CSELR,
5550    }
5551    ///interrupt status register
5552    ///
5553    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
5554    ///
5555    ///For information about available fields see [isr](isr) module
5556    pub type ISR = crate::Reg<u32, _ISR>;
5557    #[allow(missing_docs)]
5558    #[doc(hidden)]
5559    pub struct _ISR;
5560    ///`read()` method returns [isr::R](isr::R) reader structure
5561    impl crate::Readable for ISR {}
5562    ///interrupt status register
5563    pub mod isr {
5564        ///Reader of register ISR
5565        pub type R = crate::R<u32, super::ISR>;
5566        ///Reader of field `TEIF7`
5567        pub type TEIF7_R = crate::R<bool, bool>;
5568        ///Reader of field `HTIF7`
5569        pub type HTIF7_R = crate::R<bool, bool>;
5570        ///Reader of field `TCIF7`
5571        pub type TCIF7_R = crate::R<bool, bool>;
5572        ///Reader of field `GIF7`
5573        pub type GIF7_R = crate::R<bool, bool>;
5574        ///Reader of field `TEIF6`
5575        pub type TEIF6_R = crate::R<bool, bool>;
5576        ///Reader of field `HTIF6`
5577        pub type HTIF6_R = crate::R<bool, bool>;
5578        ///Reader of field `TCIF6`
5579        pub type TCIF6_R = crate::R<bool, bool>;
5580        ///Reader of field `GIF6`
5581        pub type GIF6_R = crate::R<bool, bool>;
5582        ///Reader of field `TEIF5`
5583        pub type TEIF5_R = crate::R<bool, bool>;
5584        ///Reader of field `HTIF5`
5585        pub type HTIF5_R = crate::R<bool, bool>;
5586        ///Reader of field `TCIF5`
5587        pub type TCIF5_R = crate::R<bool, bool>;
5588        ///Reader of field `GIF5`
5589        pub type GIF5_R = crate::R<bool, bool>;
5590        ///Reader of field `TEIF4`
5591        pub type TEIF4_R = crate::R<bool, bool>;
5592        ///Reader of field `HTIF4`
5593        pub type HTIF4_R = crate::R<bool, bool>;
5594        ///Reader of field `TCIF4`
5595        pub type TCIF4_R = crate::R<bool, bool>;
5596        ///Reader of field `GIF4`
5597        pub type GIF4_R = crate::R<bool, bool>;
5598        ///Reader of field `TEIF3`
5599        pub type TEIF3_R = crate::R<bool, bool>;
5600        ///Reader of field `HTIF3`
5601        pub type HTIF3_R = crate::R<bool, bool>;
5602        ///Reader of field `TCIF3`
5603        pub type TCIF3_R = crate::R<bool, bool>;
5604        ///Reader of field `GIF3`
5605        pub type GIF3_R = crate::R<bool, bool>;
5606        ///Reader of field `TEIF2`
5607        pub type TEIF2_R = crate::R<bool, bool>;
5608        ///Reader of field `HTIF2`
5609        pub type HTIF2_R = crate::R<bool, bool>;
5610        ///Reader of field `TCIF2`
5611        pub type TCIF2_R = crate::R<bool, bool>;
5612        ///Reader of field `GIF2`
5613        pub type GIF2_R = crate::R<bool, bool>;
5614        ///Reader of field `TEIF1`
5615        pub type TEIF1_R = crate::R<bool, bool>;
5616        ///Reader of field `HTIF1`
5617        pub type HTIF1_R = crate::R<bool, bool>;
5618        ///Reader of field `TCIF1`
5619        pub type TCIF1_R = crate::R<bool, bool>;
5620        ///Reader of field `GIF1`
5621        pub type GIF1_R = crate::R<bool, bool>;
5622        impl R {
5623            ///Bit 27 - Channel x transfer error flag (x = 1 ..7)
5624            #[inline(always)]
5625            pub fn teif7(&self) -> TEIF7_R {
5626                TEIF7_R::new(((self.bits >> 27) & 0x01) != 0)
5627            }
5628            ///Bit 26 - Channel x half transfer flag (x = 1 ..7)
5629            #[inline(always)]
5630            pub fn htif7(&self) -> HTIF7_R {
5631                HTIF7_R::new(((self.bits >> 26) & 0x01) != 0)
5632            }
5633            ///Bit 25 - Channel x transfer complete flag (x = 1 ..7)
5634            #[inline(always)]
5635            pub fn tcif7(&self) -> TCIF7_R {
5636                TCIF7_R::new(((self.bits >> 25) & 0x01) != 0)
5637            }
5638            ///Bit 24 - Channel x global interrupt flag (x = 1 ..7)
5639            #[inline(always)]
5640            pub fn gif7(&self) -> GIF7_R {
5641                GIF7_R::new(((self.bits >> 24) & 0x01) != 0)
5642            }
5643            ///Bit 23 - Channel x transfer error flag (x = 1 ..7)
5644            #[inline(always)]
5645            pub fn teif6(&self) -> TEIF6_R {
5646                TEIF6_R::new(((self.bits >> 23) & 0x01) != 0)
5647            }
5648            ///Bit 22 - Channel x half transfer flag (x = 1 ..7)
5649            #[inline(always)]
5650            pub fn htif6(&self) -> HTIF6_R {
5651                HTIF6_R::new(((self.bits >> 22) & 0x01) != 0)
5652            }
5653            ///Bit 21 - Channel x transfer complete flag (x = 1 ..7)
5654            #[inline(always)]
5655            pub fn tcif6(&self) -> TCIF6_R {
5656                TCIF6_R::new(((self.bits >> 21) & 0x01) != 0)
5657            }
5658            ///Bit 20 - Channel x global interrupt flag (x = 1 ..7)
5659            #[inline(always)]
5660            pub fn gif6(&self) -> GIF6_R {
5661                GIF6_R::new(((self.bits >> 20) & 0x01) != 0)
5662            }
5663            ///Bit 19 - Channel x transfer error flag (x = 1 ..7)
5664            #[inline(always)]
5665            pub fn teif5(&self) -> TEIF5_R {
5666                TEIF5_R::new(((self.bits >> 19) & 0x01) != 0)
5667            }
5668            ///Bit 18 - Channel x half transfer flag (x = 1 ..7)
5669            #[inline(always)]
5670            pub fn htif5(&self) -> HTIF5_R {
5671                HTIF5_R::new(((self.bits >> 18) & 0x01) != 0)
5672            }
5673            ///Bit 17 - Channel x transfer complete flag (x = 1 ..7)
5674            #[inline(always)]
5675            pub fn tcif5(&self) -> TCIF5_R {
5676                TCIF5_R::new(((self.bits >> 17) & 0x01) != 0)
5677            }
5678            ///Bit 16 - Channel x global interrupt flag (x = 1 ..7)
5679            #[inline(always)]
5680            pub fn gif5(&self) -> GIF5_R {
5681                GIF5_R::new(((self.bits >> 16) & 0x01) != 0)
5682            }
5683            ///Bit 15 - Channel x transfer error flag (x = 1 ..7)
5684            #[inline(always)]
5685            pub fn teif4(&self) -> TEIF4_R {
5686                TEIF4_R::new(((self.bits >> 15) & 0x01) != 0)
5687            }
5688            ///Bit 14 - Channel x half transfer flag (x = 1 ..7)
5689            #[inline(always)]
5690            pub fn htif4(&self) -> HTIF4_R {
5691                HTIF4_R::new(((self.bits >> 14) & 0x01) != 0)
5692            }
5693            ///Bit 13 - Channel x transfer complete flag (x = 1 ..7)
5694            #[inline(always)]
5695            pub fn tcif4(&self) -> TCIF4_R {
5696                TCIF4_R::new(((self.bits >> 13) & 0x01) != 0)
5697            }
5698            ///Bit 12 - Channel x global interrupt flag (x = 1 ..7)
5699            #[inline(always)]
5700            pub fn gif4(&self) -> GIF4_R {
5701                GIF4_R::new(((self.bits >> 12) & 0x01) != 0)
5702            }
5703            ///Bit 11 - Channel x transfer error flag (x = 1 ..7)
5704            #[inline(always)]
5705            pub fn teif3(&self) -> TEIF3_R {
5706                TEIF3_R::new(((self.bits >> 11) & 0x01) != 0)
5707            }
5708            ///Bit 10 - Channel x half transfer flag (x = 1 ..7)
5709            #[inline(always)]
5710            pub fn htif3(&self) -> HTIF3_R {
5711                HTIF3_R::new(((self.bits >> 10) & 0x01) != 0)
5712            }
5713            ///Bit 9 - Channel x transfer complete flag (x = 1 ..7)
5714            #[inline(always)]
5715            pub fn tcif3(&self) -> TCIF3_R {
5716                TCIF3_R::new(((self.bits >> 9) & 0x01) != 0)
5717            }
5718            ///Bit 8 - Channel x global interrupt flag (x = 1 ..7)
5719            #[inline(always)]
5720            pub fn gif3(&self) -> GIF3_R {
5721                GIF3_R::new(((self.bits >> 8) & 0x01) != 0)
5722            }
5723            ///Bit 7 - Channel x transfer error flag (x = 1 ..7)
5724            #[inline(always)]
5725            pub fn teif2(&self) -> TEIF2_R {
5726                TEIF2_R::new(((self.bits >> 7) & 0x01) != 0)
5727            }
5728            ///Bit 6 - Channel x half transfer flag (x = 1 ..7)
5729            #[inline(always)]
5730            pub fn htif2(&self) -> HTIF2_R {
5731                HTIF2_R::new(((self.bits >> 6) & 0x01) != 0)
5732            }
5733            ///Bit 5 - Channel x transfer complete flag (x = 1 ..7)
5734            #[inline(always)]
5735            pub fn tcif2(&self) -> TCIF2_R {
5736                TCIF2_R::new(((self.bits >> 5) & 0x01) != 0)
5737            }
5738            ///Bit 4 - Channel x global interrupt flag (x = 1 ..7)
5739            #[inline(always)]
5740            pub fn gif2(&self) -> GIF2_R {
5741                GIF2_R::new(((self.bits >> 4) & 0x01) != 0)
5742            }
5743            ///Bit 3 - Channel x transfer error flag (x = 1 ..7)
5744            #[inline(always)]
5745            pub fn teif1(&self) -> TEIF1_R {
5746                TEIF1_R::new(((self.bits >> 3) & 0x01) != 0)
5747            }
5748            ///Bit 2 - Channel x half transfer flag (x = 1 ..7)
5749            #[inline(always)]
5750            pub fn htif1(&self) -> HTIF1_R {
5751                HTIF1_R::new(((self.bits >> 2) & 0x01) != 0)
5752            }
5753            ///Bit 1 - Channel x transfer complete flag (x = 1 ..7)
5754            #[inline(always)]
5755            pub fn tcif1(&self) -> TCIF1_R {
5756                TCIF1_R::new(((self.bits >> 1) & 0x01) != 0)
5757            }
5758            ///Bit 0 - Channel x global interrupt flag (x = 1 ..7)
5759            #[inline(always)]
5760            pub fn gif1(&self) -> GIF1_R {
5761                GIF1_R::new((self.bits & 0x01) != 0)
5762            }
5763        }
5764    }
5765    ///interrupt flag clear register
5766    ///
5767    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
5768    ///
5769    ///For information about available fields see [ifcr](ifcr) module
5770    pub type IFCR = crate::Reg<u32, _IFCR>;
5771    #[allow(missing_docs)]
5772    #[doc(hidden)]
5773    pub struct _IFCR;
5774    ///`write(|w| ..)` method takes [ifcr::W](ifcr::W) writer structure
5775    impl crate::Writable for IFCR {}
5776    ///interrupt flag clear register
5777    pub mod ifcr {
5778        ///Writer for register IFCR
5779        pub type W = crate::W<u32, super::IFCR>;
5780        ///Register IFCR `reset()`'s with value 0
5781        impl crate::ResetValue for super::IFCR {
5782            type Type = u32;
5783            #[inline(always)]
5784            fn reset_value() -> Self::Type {
5785                0
5786            }
5787        }
5788        ///Write proxy for field `CTEIF7`
5789        pub struct CTEIF7_W<'a> {
5790            w: &'a mut W,
5791        }
5792        impl<'a> CTEIF7_W<'a> {
5793            ///Sets the field bit
5794            #[inline(always)]
5795            pub fn set_bit(self) -> &'a mut W {
5796                self.bit(true)
5797            }
5798            ///Clears the field bit
5799            #[inline(always)]
5800            pub fn clear_bit(self) -> &'a mut W {
5801                self.bit(false)
5802            }
5803            ///Writes raw bits to the field
5804            #[inline(always)]
5805            pub fn bit(self, value: bool) -> &'a mut W {
5806                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
5807                self.w
5808            }
5809        }
5810        ///Write proxy for field `CHTIF7`
5811        pub struct CHTIF7_W<'a> {
5812            w: &'a mut W,
5813        }
5814        impl<'a> CHTIF7_W<'a> {
5815            ///Sets the field bit
5816            #[inline(always)]
5817            pub fn set_bit(self) -> &'a mut W {
5818                self.bit(true)
5819            }
5820            ///Clears the field bit
5821            #[inline(always)]
5822            pub fn clear_bit(self) -> &'a mut W {
5823                self.bit(false)
5824            }
5825            ///Writes raw bits to the field
5826            #[inline(always)]
5827            pub fn bit(self, value: bool) -> &'a mut W {
5828                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
5829                self.w
5830            }
5831        }
5832        ///Write proxy for field `CTCIF7`
5833        pub struct CTCIF7_W<'a> {
5834            w: &'a mut W,
5835        }
5836        impl<'a> CTCIF7_W<'a> {
5837            ///Sets the field bit
5838            #[inline(always)]
5839            pub fn set_bit(self) -> &'a mut W {
5840                self.bit(true)
5841            }
5842            ///Clears the field bit
5843            #[inline(always)]
5844            pub fn clear_bit(self) -> &'a mut W {
5845                self.bit(false)
5846            }
5847            ///Writes raw bits to the field
5848            #[inline(always)]
5849            pub fn bit(self, value: bool) -> &'a mut W {
5850                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
5851                self.w
5852            }
5853        }
5854        ///Write proxy for field `CGIF7`
5855        pub struct CGIF7_W<'a> {
5856            w: &'a mut W,
5857        }
5858        impl<'a> CGIF7_W<'a> {
5859            ///Sets the field bit
5860            #[inline(always)]
5861            pub fn set_bit(self) -> &'a mut W {
5862                self.bit(true)
5863            }
5864            ///Clears the field bit
5865            #[inline(always)]
5866            pub fn clear_bit(self) -> &'a mut W {
5867                self.bit(false)
5868            }
5869            ///Writes raw bits to the field
5870            #[inline(always)]
5871            pub fn bit(self, value: bool) -> &'a mut W {
5872                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
5873                self.w
5874            }
5875        }
5876        ///Write proxy for field `CTEIF6`
5877        pub struct CTEIF6_W<'a> {
5878            w: &'a mut W,
5879        }
5880        impl<'a> CTEIF6_W<'a> {
5881            ///Sets the field bit
5882            #[inline(always)]
5883            pub fn set_bit(self) -> &'a mut W {
5884                self.bit(true)
5885            }
5886            ///Clears the field bit
5887            #[inline(always)]
5888            pub fn clear_bit(self) -> &'a mut W {
5889                self.bit(false)
5890            }
5891            ///Writes raw bits to the field
5892            #[inline(always)]
5893            pub fn bit(self, value: bool) -> &'a mut W {
5894                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
5895                self.w
5896            }
5897        }
5898        ///Write proxy for field `CHTIF6`
5899        pub struct CHTIF6_W<'a> {
5900            w: &'a mut W,
5901        }
5902        impl<'a> CHTIF6_W<'a> {
5903            ///Sets the field bit
5904            #[inline(always)]
5905            pub fn set_bit(self) -> &'a mut W {
5906                self.bit(true)
5907            }
5908            ///Clears the field bit
5909            #[inline(always)]
5910            pub fn clear_bit(self) -> &'a mut W {
5911                self.bit(false)
5912            }
5913            ///Writes raw bits to the field
5914            #[inline(always)]
5915            pub fn bit(self, value: bool) -> &'a mut W {
5916                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
5917                self.w
5918            }
5919        }
5920        ///Write proxy for field `CTCIF6`
5921        pub struct CTCIF6_W<'a> {
5922            w: &'a mut W,
5923        }
5924        impl<'a> CTCIF6_W<'a> {
5925            ///Sets the field bit
5926            #[inline(always)]
5927            pub fn set_bit(self) -> &'a mut W {
5928                self.bit(true)
5929            }
5930            ///Clears the field bit
5931            #[inline(always)]
5932            pub fn clear_bit(self) -> &'a mut W {
5933                self.bit(false)
5934            }
5935            ///Writes raw bits to the field
5936            #[inline(always)]
5937            pub fn bit(self, value: bool) -> &'a mut W {
5938                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
5939                self.w
5940            }
5941        }
5942        ///Write proxy for field `CGIF6`
5943        pub struct CGIF6_W<'a> {
5944            w: &'a mut W,
5945        }
5946        impl<'a> CGIF6_W<'a> {
5947            ///Sets the field bit
5948            #[inline(always)]
5949            pub fn set_bit(self) -> &'a mut W {
5950                self.bit(true)
5951            }
5952            ///Clears the field bit
5953            #[inline(always)]
5954            pub fn clear_bit(self) -> &'a mut W {
5955                self.bit(false)
5956            }
5957            ///Writes raw bits to the field
5958            #[inline(always)]
5959            pub fn bit(self, value: bool) -> &'a mut W {
5960                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
5961                self.w
5962            }
5963        }
5964        ///Write proxy for field `CTEIF5`
5965        pub struct CTEIF5_W<'a> {
5966            w: &'a mut W,
5967        }
5968        impl<'a> CTEIF5_W<'a> {
5969            ///Sets the field bit
5970            #[inline(always)]
5971            pub fn set_bit(self) -> &'a mut W {
5972                self.bit(true)
5973            }
5974            ///Clears the field bit
5975            #[inline(always)]
5976            pub fn clear_bit(self) -> &'a mut W {
5977                self.bit(false)
5978            }
5979            ///Writes raw bits to the field
5980            #[inline(always)]
5981            pub fn bit(self, value: bool) -> &'a mut W {
5982                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
5983                self.w
5984            }
5985        }
5986        ///Write proxy for field `CHTIF5`
5987        pub struct CHTIF5_W<'a> {
5988            w: &'a mut W,
5989        }
5990        impl<'a> CHTIF5_W<'a> {
5991            ///Sets the field bit
5992            #[inline(always)]
5993            pub fn set_bit(self) -> &'a mut W {
5994                self.bit(true)
5995            }
5996            ///Clears the field bit
5997            #[inline(always)]
5998            pub fn clear_bit(self) -> &'a mut W {
5999                self.bit(false)
6000            }
6001            ///Writes raw bits to the field
6002            #[inline(always)]
6003            pub fn bit(self, value: bool) -> &'a mut W {
6004                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
6005                self.w
6006            }
6007        }
6008        ///Write proxy for field `CTCIF5`
6009        pub struct CTCIF5_W<'a> {
6010            w: &'a mut W,
6011        }
6012        impl<'a> CTCIF5_W<'a> {
6013            ///Sets the field bit
6014            #[inline(always)]
6015            pub fn set_bit(self) -> &'a mut W {
6016                self.bit(true)
6017            }
6018            ///Clears the field bit
6019            #[inline(always)]
6020            pub fn clear_bit(self) -> &'a mut W {
6021                self.bit(false)
6022            }
6023            ///Writes raw bits to the field
6024            #[inline(always)]
6025            pub fn bit(self, value: bool) -> &'a mut W {
6026                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
6027                self.w
6028            }
6029        }
6030        ///Write proxy for field `CGIF5`
6031        pub struct CGIF5_W<'a> {
6032            w: &'a mut W,
6033        }
6034        impl<'a> CGIF5_W<'a> {
6035            ///Sets the field bit
6036            #[inline(always)]
6037            pub fn set_bit(self) -> &'a mut W {
6038                self.bit(true)
6039            }
6040            ///Clears the field bit
6041            #[inline(always)]
6042            pub fn clear_bit(self) -> &'a mut W {
6043                self.bit(false)
6044            }
6045            ///Writes raw bits to the field
6046            #[inline(always)]
6047            pub fn bit(self, value: bool) -> &'a mut W {
6048                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
6049                self.w
6050            }
6051        }
6052        ///Write proxy for field `CTEIF4`
6053        pub struct CTEIF4_W<'a> {
6054            w: &'a mut W,
6055        }
6056        impl<'a> CTEIF4_W<'a> {
6057            ///Sets the field bit
6058            #[inline(always)]
6059            pub fn set_bit(self) -> &'a mut W {
6060                self.bit(true)
6061            }
6062            ///Clears the field bit
6063            #[inline(always)]
6064            pub fn clear_bit(self) -> &'a mut W {
6065                self.bit(false)
6066            }
6067            ///Writes raw bits to the field
6068            #[inline(always)]
6069            pub fn bit(self, value: bool) -> &'a mut W {
6070                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
6071                self.w
6072            }
6073        }
6074        ///Write proxy for field `CHTIF4`
6075        pub struct CHTIF4_W<'a> {
6076            w: &'a mut W,
6077        }
6078        impl<'a> CHTIF4_W<'a> {
6079            ///Sets the field bit
6080            #[inline(always)]
6081            pub fn set_bit(self) -> &'a mut W {
6082                self.bit(true)
6083            }
6084            ///Clears the field bit
6085            #[inline(always)]
6086            pub fn clear_bit(self) -> &'a mut W {
6087                self.bit(false)
6088            }
6089            ///Writes raw bits to the field
6090            #[inline(always)]
6091            pub fn bit(self, value: bool) -> &'a mut W {
6092                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
6093                self.w
6094            }
6095        }
6096        ///Write proxy for field `CTCIF4`
6097        pub struct CTCIF4_W<'a> {
6098            w: &'a mut W,
6099        }
6100        impl<'a> CTCIF4_W<'a> {
6101            ///Sets the field bit
6102            #[inline(always)]
6103            pub fn set_bit(self) -> &'a mut W {
6104                self.bit(true)
6105            }
6106            ///Clears the field bit
6107            #[inline(always)]
6108            pub fn clear_bit(self) -> &'a mut W {
6109                self.bit(false)
6110            }
6111            ///Writes raw bits to the field
6112            #[inline(always)]
6113            pub fn bit(self, value: bool) -> &'a mut W {
6114                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
6115                self.w
6116            }
6117        }
6118        ///Write proxy for field `CGIF4`
6119        pub struct CGIF4_W<'a> {
6120            w: &'a mut W,
6121        }
6122        impl<'a> CGIF4_W<'a> {
6123            ///Sets the field bit
6124            #[inline(always)]
6125            pub fn set_bit(self) -> &'a mut W {
6126                self.bit(true)
6127            }
6128            ///Clears the field bit
6129            #[inline(always)]
6130            pub fn clear_bit(self) -> &'a mut W {
6131                self.bit(false)
6132            }
6133            ///Writes raw bits to the field
6134            #[inline(always)]
6135            pub fn bit(self, value: bool) -> &'a mut W {
6136                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
6137                self.w
6138            }
6139        }
6140        ///Write proxy for field `CTEIF3`
6141        pub struct CTEIF3_W<'a> {
6142            w: &'a mut W,
6143        }
6144        impl<'a> CTEIF3_W<'a> {
6145            ///Sets the field bit
6146            #[inline(always)]
6147            pub fn set_bit(self) -> &'a mut W {
6148                self.bit(true)
6149            }
6150            ///Clears the field bit
6151            #[inline(always)]
6152            pub fn clear_bit(self) -> &'a mut W {
6153                self.bit(false)
6154            }
6155            ///Writes raw bits to the field
6156            #[inline(always)]
6157            pub fn bit(self, value: bool) -> &'a mut W {
6158                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
6159                self.w
6160            }
6161        }
6162        ///Write proxy for field `CHTIF3`
6163        pub struct CHTIF3_W<'a> {
6164            w: &'a mut W,
6165        }
6166        impl<'a> CHTIF3_W<'a> {
6167            ///Sets the field bit
6168            #[inline(always)]
6169            pub fn set_bit(self) -> &'a mut W {
6170                self.bit(true)
6171            }
6172            ///Clears the field bit
6173            #[inline(always)]
6174            pub fn clear_bit(self) -> &'a mut W {
6175                self.bit(false)
6176            }
6177            ///Writes raw bits to the field
6178            #[inline(always)]
6179            pub fn bit(self, value: bool) -> &'a mut W {
6180                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
6181                self.w
6182            }
6183        }
6184        ///Write proxy for field `CTCIF3`
6185        pub struct CTCIF3_W<'a> {
6186            w: &'a mut W,
6187        }
6188        impl<'a> CTCIF3_W<'a> {
6189            ///Sets the field bit
6190            #[inline(always)]
6191            pub fn set_bit(self) -> &'a mut W {
6192                self.bit(true)
6193            }
6194            ///Clears the field bit
6195            #[inline(always)]
6196            pub fn clear_bit(self) -> &'a mut W {
6197                self.bit(false)
6198            }
6199            ///Writes raw bits to the field
6200            #[inline(always)]
6201            pub fn bit(self, value: bool) -> &'a mut W {
6202                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
6203                self.w
6204            }
6205        }
6206        ///Write proxy for field `CGIF3`
6207        pub struct CGIF3_W<'a> {
6208            w: &'a mut W,
6209        }
6210        impl<'a> CGIF3_W<'a> {
6211            ///Sets the field bit
6212            #[inline(always)]
6213            pub fn set_bit(self) -> &'a mut W {
6214                self.bit(true)
6215            }
6216            ///Clears the field bit
6217            #[inline(always)]
6218            pub fn clear_bit(self) -> &'a mut W {
6219                self.bit(false)
6220            }
6221            ///Writes raw bits to the field
6222            #[inline(always)]
6223            pub fn bit(self, value: bool) -> &'a mut W {
6224                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
6225                self.w
6226            }
6227        }
6228        ///Write proxy for field `CTEIF2`
6229        pub struct CTEIF2_W<'a> {
6230            w: &'a mut W,
6231        }
6232        impl<'a> CTEIF2_W<'a> {
6233            ///Sets the field bit
6234            #[inline(always)]
6235            pub fn set_bit(self) -> &'a mut W {
6236                self.bit(true)
6237            }
6238            ///Clears the field bit
6239            #[inline(always)]
6240            pub fn clear_bit(self) -> &'a mut W {
6241                self.bit(false)
6242            }
6243            ///Writes raw bits to the field
6244            #[inline(always)]
6245            pub fn bit(self, value: bool) -> &'a mut W {
6246                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
6247                self.w
6248            }
6249        }
6250        ///Write proxy for field `CHTIF2`
6251        pub struct CHTIF2_W<'a> {
6252            w: &'a mut W,
6253        }
6254        impl<'a> CHTIF2_W<'a> {
6255            ///Sets the field bit
6256            #[inline(always)]
6257            pub fn set_bit(self) -> &'a mut W {
6258                self.bit(true)
6259            }
6260            ///Clears the field bit
6261            #[inline(always)]
6262            pub fn clear_bit(self) -> &'a mut W {
6263                self.bit(false)
6264            }
6265            ///Writes raw bits to the field
6266            #[inline(always)]
6267            pub fn bit(self, value: bool) -> &'a mut W {
6268                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
6269                self.w
6270            }
6271        }
6272        ///Write proxy for field `CTCIF2`
6273        pub struct CTCIF2_W<'a> {
6274            w: &'a mut W,
6275        }
6276        impl<'a> CTCIF2_W<'a> {
6277            ///Sets the field bit
6278            #[inline(always)]
6279            pub fn set_bit(self) -> &'a mut W {
6280                self.bit(true)
6281            }
6282            ///Clears the field bit
6283            #[inline(always)]
6284            pub fn clear_bit(self) -> &'a mut W {
6285                self.bit(false)
6286            }
6287            ///Writes raw bits to the field
6288            #[inline(always)]
6289            pub fn bit(self, value: bool) -> &'a mut W {
6290                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
6291                self.w
6292            }
6293        }
6294        ///Write proxy for field `CGIF2`
6295        pub struct CGIF2_W<'a> {
6296            w: &'a mut W,
6297        }
6298        impl<'a> CGIF2_W<'a> {
6299            ///Sets the field bit
6300            #[inline(always)]
6301            pub fn set_bit(self) -> &'a mut W {
6302                self.bit(true)
6303            }
6304            ///Clears the field bit
6305            #[inline(always)]
6306            pub fn clear_bit(self) -> &'a mut W {
6307                self.bit(false)
6308            }
6309            ///Writes raw bits to the field
6310            #[inline(always)]
6311            pub fn bit(self, value: bool) -> &'a mut W {
6312                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
6313                self.w
6314            }
6315        }
6316        ///Write proxy for field `CTEIF1`
6317        pub struct CTEIF1_W<'a> {
6318            w: &'a mut W,
6319        }
6320        impl<'a> CTEIF1_W<'a> {
6321            ///Sets the field bit
6322            #[inline(always)]
6323            pub fn set_bit(self) -> &'a mut W {
6324                self.bit(true)
6325            }
6326            ///Clears the field bit
6327            #[inline(always)]
6328            pub fn clear_bit(self) -> &'a mut W {
6329                self.bit(false)
6330            }
6331            ///Writes raw bits to the field
6332            #[inline(always)]
6333            pub fn bit(self, value: bool) -> &'a mut W {
6334                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
6335                self.w
6336            }
6337        }
6338        ///Write proxy for field `CHTIF1`
6339        pub struct CHTIF1_W<'a> {
6340            w: &'a mut W,
6341        }
6342        impl<'a> CHTIF1_W<'a> {
6343            ///Sets the field bit
6344            #[inline(always)]
6345            pub fn set_bit(self) -> &'a mut W {
6346                self.bit(true)
6347            }
6348            ///Clears the field bit
6349            #[inline(always)]
6350            pub fn clear_bit(self) -> &'a mut W {
6351                self.bit(false)
6352            }
6353            ///Writes raw bits to the field
6354            #[inline(always)]
6355            pub fn bit(self, value: bool) -> &'a mut W {
6356                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
6357                self.w
6358            }
6359        }
6360        ///Write proxy for field `CTCIF1`
6361        pub struct CTCIF1_W<'a> {
6362            w: &'a mut W,
6363        }
6364        impl<'a> CTCIF1_W<'a> {
6365            ///Sets the field bit
6366            #[inline(always)]
6367            pub fn set_bit(self) -> &'a mut W {
6368                self.bit(true)
6369            }
6370            ///Clears the field bit
6371            #[inline(always)]
6372            pub fn clear_bit(self) -> &'a mut W {
6373                self.bit(false)
6374            }
6375            ///Writes raw bits to the field
6376            #[inline(always)]
6377            pub fn bit(self, value: bool) -> &'a mut W {
6378                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
6379                self.w
6380            }
6381        }
6382        ///Write proxy for field `CGIF1`
6383        pub struct CGIF1_W<'a> {
6384            w: &'a mut W,
6385        }
6386        impl<'a> CGIF1_W<'a> {
6387            ///Sets the field bit
6388            #[inline(always)]
6389            pub fn set_bit(self) -> &'a mut W {
6390                self.bit(true)
6391            }
6392            ///Clears the field bit
6393            #[inline(always)]
6394            pub fn clear_bit(self) -> &'a mut W {
6395                self.bit(false)
6396            }
6397            ///Writes raw bits to the field
6398            #[inline(always)]
6399            pub fn bit(self, value: bool) -> &'a mut W {
6400                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
6401                self.w
6402            }
6403        }
6404        impl W {
6405            ///Bit 27 - Channel x transfer error clear (x = 1 ..7)
6406            #[inline(always)]
6407            pub fn cteif7(&mut self) -> CTEIF7_W {
6408                CTEIF7_W { w: self }
6409            }
6410            ///Bit 26 - Channel x half transfer clear (x = 1 ..7)
6411            #[inline(always)]
6412            pub fn chtif7(&mut self) -> CHTIF7_W {
6413                CHTIF7_W { w: self }
6414            }
6415            ///Bit 25 - Channel x transfer complete clear (x = 1 ..7)
6416            #[inline(always)]
6417            pub fn ctcif7(&mut self) -> CTCIF7_W {
6418                CTCIF7_W { w: self }
6419            }
6420            ///Bit 24 - Channel x global interrupt clear (x = 1 ..7)
6421            #[inline(always)]
6422            pub fn cgif7(&mut self) -> CGIF7_W {
6423                CGIF7_W { w: self }
6424            }
6425            ///Bit 23 - Channel x transfer error clear (x = 1 ..7)
6426            #[inline(always)]
6427            pub fn cteif6(&mut self) -> CTEIF6_W {
6428                CTEIF6_W { w: self }
6429            }
6430            ///Bit 22 - Channel x half transfer clear (x = 1 ..7)
6431            #[inline(always)]
6432            pub fn chtif6(&mut self) -> CHTIF6_W {
6433                CHTIF6_W { w: self }
6434            }
6435            ///Bit 21 - Channel x transfer complete clear (x = 1 ..7)
6436            #[inline(always)]
6437            pub fn ctcif6(&mut self) -> CTCIF6_W {
6438                CTCIF6_W { w: self }
6439            }
6440            ///Bit 20 - Channel x global interrupt clear (x = 1 ..7)
6441            #[inline(always)]
6442            pub fn cgif6(&mut self) -> CGIF6_W {
6443                CGIF6_W { w: self }
6444            }
6445            ///Bit 19 - Channel x transfer error clear (x = 1 ..7)
6446            #[inline(always)]
6447            pub fn cteif5(&mut self) -> CTEIF5_W {
6448                CTEIF5_W { w: self }
6449            }
6450            ///Bit 18 - Channel x half transfer clear (x = 1 ..7)
6451            #[inline(always)]
6452            pub fn chtif5(&mut self) -> CHTIF5_W {
6453                CHTIF5_W { w: self }
6454            }
6455            ///Bit 17 - Channel x transfer complete clear (x = 1 ..7)
6456            #[inline(always)]
6457            pub fn ctcif5(&mut self) -> CTCIF5_W {
6458                CTCIF5_W { w: self }
6459            }
6460            ///Bit 16 - Channel x global interrupt clear (x = 1 ..7)
6461            #[inline(always)]
6462            pub fn cgif5(&mut self) -> CGIF5_W {
6463                CGIF5_W { w: self }
6464            }
6465            ///Bit 15 - Channel x transfer error clear (x = 1 ..7)
6466            #[inline(always)]
6467            pub fn cteif4(&mut self) -> CTEIF4_W {
6468                CTEIF4_W { w: self }
6469            }
6470            ///Bit 14 - Channel x half transfer clear (x = 1 ..7)
6471            #[inline(always)]
6472            pub fn chtif4(&mut self) -> CHTIF4_W {
6473                CHTIF4_W { w: self }
6474            }
6475            ///Bit 13 - Channel x transfer complete clear (x = 1 ..7)
6476            #[inline(always)]
6477            pub fn ctcif4(&mut self) -> CTCIF4_W {
6478                CTCIF4_W { w: self }
6479            }
6480            ///Bit 12 - Channel x global interrupt clear (x = 1 ..7)
6481            #[inline(always)]
6482            pub fn cgif4(&mut self) -> CGIF4_W {
6483                CGIF4_W { w: self }
6484            }
6485            ///Bit 11 - Channel x transfer error clear (x = 1 ..7)
6486            #[inline(always)]
6487            pub fn cteif3(&mut self) -> CTEIF3_W {
6488                CTEIF3_W { w: self }
6489            }
6490            ///Bit 10 - Channel x half transfer clear (x = 1 ..7)
6491            #[inline(always)]
6492            pub fn chtif3(&mut self) -> CHTIF3_W {
6493                CHTIF3_W { w: self }
6494            }
6495            ///Bit 9 - Channel x transfer complete clear (x = 1 ..7)
6496            #[inline(always)]
6497            pub fn ctcif3(&mut self) -> CTCIF3_W {
6498                CTCIF3_W { w: self }
6499            }
6500            ///Bit 8 - Channel x global interrupt clear (x = 1 ..7)
6501            #[inline(always)]
6502            pub fn cgif3(&mut self) -> CGIF3_W {
6503                CGIF3_W { w: self }
6504            }
6505            ///Bit 7 - Channel x transfer error clear (x = 1 ..7)
6506            #[inline(always)]
6507            pub fn cteif2(&mut self) -> CTEIF2_W {
6508                CTEIF2_W { w: self }
6509            }
6510            ///Bit 6 - Channel x half transfer clear (x = 1 ..7)
6511            #[inline(always)]
6512            pub fn chtif2(&mut self) -> CHTIF2_W {
6513                CHTIF2_W { w: self }
6514            }
6515            ///Bit 5 - Channel x transfer complete clear (x = 1 ..7)
6516            #[inline(always)]
6517            pub fn ctcif2(&mut self) -> CTCIF2_W {
6518                CTCIF2_W { w: self }
6519            }
6520            ///Bit 4 - Channel x global interrupt clear (x = 1 ..7)
6521            #[inline(always)]
6522            pub fn cgif2(&mut self) -> CGIF2_W {
6523                CGIF2_W { w: self }
6524            }
6525            ///Bit 3 - Channel x transfer error clear (x = 1 ..7)
6526            #[inline(always)]
6527            pub fn cteif1(&mut self) -> CTEIF1_W {
6528                CTEIF1_W { w: self }
6529            }
6530            ///Bit 2 - Channel x half transfer clear (x = 1 ..7)
6531            #[inline(always)]
6532            pub fn chtif1(&mut self) -> CHTIF1_W {
6533                CHTIF1_W { w: self }
6534            }
6535            ///Bit 1 - Channel x transfer complete clear (x = 1 ..7)
6536            #[inline(always)]
6537            pub fn ctcif1(&mut self) -> CTCIF1_W {
6538                CTCIF1_W { w: self }
6539            }
6540            ///Bit 0 - Channel x global interrupt clear (x = 1 ..7)
6541            #[inline(always)]
6542            pub fn cgif1(&mut self) -> CGIF1_W {
6543                CGIF1_W { w: self }
6544            }
6545        }
6546    }
6547    ///channel x configuration register
6548    ///
6549    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
6550    ///
6551    ///For information about available fields see [ccr1](ccr1) module
6552    pub type CCR1 = crate::Reg<u32, _CCR1>;
6553    #[allow(missing_docs)]
6554    #[doc(hidden)]
6555    pub struct _CCR1;
6556    ///`read()` method returns [ccr1::R](ccr1::R) reader structure
6557    impl crate::Readable for CCR1 {}
6558    ///`write(|w| ..)` method takes [ccr1::W](ccr1::W) writer structure
6559    impl crate::Writable for CCR1 {}
6560    ///channel x configuration register
6561    pub mod ccr1 {
6562        ///Reader of register CCR1
6563        pub type R = crate::R<u32, super::CCR1>;
6564        ///Writer for register CCR1
6565        pub type W = crate::W<u32, super::CCR1>;
6566        ///Register CCR1 `reset()`'s with value 0
6567        impl crate::ResetValue for super::CCR1 {
6568            type Type = u32;
6569            #[inline(always)]
6570            fn reset_value() -> Self::Type {
6571                0
6572            }
6573        }
6574        ///Reader of field `MEM2MEM`
6575        pub type MEM2MEM_R = crate::R<bool, bool>;
6576        ///Write proxy for field `MEM2MEM`
6577        pub struct MEM2MEM_W<'a> {
6578            w: &'a mut W,
6579        }
6580        impl<'a> MEM2MEM_W<'a> {
6581            ///Sets the field bit
6582            #[inline(always)]
6583            pub fn set_bit(self) -> &'a mut W {
6584                self.bit(true)
6585            }
6586            ///Clears the field bit
6587            #[inline(always)]
6588            pub fn clear_bit(self) -> &'a mut W {
6589                self.bit(false)
6590            }
6591            ///Writes raw bits to the field
6592            #[inline(always)]
6593            pub fn bit(self, value: bool) -> &'a mut W {
6594                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
6595                self.w
6596            }
6597        }
6598        ///Reader of field `PL`
6599        pub type PL_R = crate::R<u8, u8>;
6600        ///Write proxy for field `PL`
6601        pub struct PL_W<'a> {
6602            w: &'a mut W,
6603        }
6604        impl<'a> PL_W<'a> {
6605            ///Writes raw bits to the field
6606            #[inline(always)]
6607            pub unsafe fn bits(self, value: u8) -> &'a mut W {
6608                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
6609                self.w
6610            }
6611        }
6612        ///Reader of field `MSIZE`
6613        pub type MSIZE_R = crate::R<u8, u8>;
6614        ///Write proxy for field `MSIZE`
6615        pub struct MSIZE_W<'a> {
6616            w: &'a mut W,
6617        }
6618        impl<'a> MSIZE_W<'a> {
6619            ///Writes raw bits to the field
6620            #[inline(always)]
6621            pub unsafe fn bits(self, value: u8) -> &'a mut W {
6622                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
6623                self.w
6624            }
6625        }
6626        ///Reader of field `PSIZE`
6627        pub type PSIZE_R = crate::R<u8, u8>;
6628        ///Write proxy for field `PSIZE`
6629        pub struct PSIZE_W<'a> {
6630            w: &'a mut W,
6631        }
6632        impl<'a> PSIZE_W<'a> {
6633            ///Writes raw bits to the field
6634            #[inline(always)]
6635            pub unsafe fn bits(self, value: u8) -> &'a mut W {
6636                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
6637                self.w
6638            }
6639        }
6640        ///Reader of field `MINC`
6641        pub type MINC_R = crate::R<bool, bool>;
6642        ///Write proxy for field `MINC`
6643        pub struct MINC_W<'a> {
6644            w: &'a mut W,
6645        }
6646        impl<'a> MINC_W<'a> {
6647            ///Sets the field bit
6648            #[inline(always)]
6649            pub fn set_bit(self) -> &'a mut W {
6650                self.bit(true)
6651            }
6652            ///Clears the field bit
6653            #[inline(always)]
6654            pub fn clear_bit(self) -> &'a mut W {
6655                self.bit(false)
6656            }
6657            ///Writes raw bits to the field
6658            #[inline(always)]
6659            pub fn bit(self, value: bool) -> &'a mut W {
6660                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
6661                self.w
6662            }
6663        }
6664        ///Reader of field `PINC`
6665        pub type PINC_R = crate::R<bool, bool>;
6666        ///Write proxy for field `PINC`
6667        pub struct PINC_W<'a> {
6668            w: &'a mut W,
6669        }
6670        impl<'a> PINC_W<'a> {
6671            ///Sets the field bit
6672            #[inline(always)]
6673            pub fn set_bit(self) -> &'a mut W {
6674                self.bit(true)
6675            }
6676            ///Clears the field bit
6677            #[inline(always)]
6678            pub fn clear_bit(self) -> &'a mut W {
6679                self.bit(false)
6680            }
6681            ///Writes raw bits to the field
6682            #[inline(always)]
6683            pub fn bit(self, value: bool) -> &'a mut W {
6684                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
6685                self.w
6686            }
6687        }
6688        ///Reader of field `CIRC`
6689        pub type CIRC_R = crate::R<bool, bool>;
6690        ///Write proxy for field `CIRC`
6691        pub struct CIRC_W<'a> {
6692            w: &'a mut W,
6693        }
6694        impl<'a> CIRC_W<'a> {
6695            ///Sets the field bit
6696            #[inline(always)]
6697            pub fn set_bit(self) -> &'a mut W {
6698                self.bit(true)
6699            }
6700            ///Clears the field bit
6701            #[inline(always)]
6702            pub fn clear_bit(self) -> &'a mut W {
6703                self.bit(false)
6704            }
6705            ///Writes raw bits to the field
6706            #[inline(always)]
6707            pub fn bit(self, value: bool) -> &'a mut W {
6708                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
6709                self.w
6710            }
6711        }
6712        ///Reader of field `DIR`
6713        pub type DIR_R = crate::R<bool, bool>;
6714        ///Write proxy for field `DIR`
6715        pub struct DIR_W<'a> {
6716            w: &'a mut W,
6717        }
6718        impl<'a> DIR_W<'a> {
6719            ///Sets the field bit
6720            #[inline(always)]
6721            pub fn set_bit(self) -> &'a mut W {
6722                self.bit(true)
6723            }
6724            ///Clears the field bit
6725            #[inline(always)]
6726            pub fn clear_bit(self) -> &'a mut W {
6727                self.bit(false)
6728            }
6729            ///Writes raw bits to the field
6730            #[inline(always)]
6731            pub fn bit(self, value: bool) -> &'a mut W {
6732                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
6733                self.w
6734            }
6735        }
6736        ///Reader of field `TEIE`
6737        pub type TEIE_R = crate::R<bool, bool>;
6738        ///Write proxy for field `TEIE`
6739        pub struct TEIE_W<'a> {
6740            w: &'a mut W,
6741        }
6742        impl<'a> TEIE_W<'a> {
6743            ///Sets the field bit
6744            #[inline(always)]
6745            pub fn set_bit(self) -> &'a mut W {
6746                self.bit(true)
6747            }
6748            ///Clears the field bit
6749            #[inline(always)]
6750            pub fn clear_bit(self) -> &'a mut W {
6751                self.bit(false)
6752            }
6753            ///Writes raw bits to the field
6754            #[inline(always)]
6755            pub fn bit(self, value: bool) -> &'a mut W {
6756                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
6757                self.w
6758            }
6759        }
6760        ///Reader of field `HTIE`
6761        pub type HTIE_R = crate::R<bool, bool>;
6762        ///Write proxy for field `HTIE`
6763        pub struct HTIE_W<'a> {
6764            w: &'a mut W,
6765        }
6766        impl<'a> HTIE_W<'a> {
6767            ///Sets the field bit
6768            #[inline(always)]
6769            pub fn set_bit(self) -> &'a mut W {
6770                self.bit(true)
6771            }
6772            ///Clears the field bit
6773            #[inline(always)]
6774            pub fn clear_bit(self) -> &'a mut W {
6775                self.bit(false)
6776            }
6777            ///Writes raw bits to the field
6778            #[inline(always)]
6779            pub fn bit(self, value: bool) -> &'a mut W {
6780                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
6781                self.w
6782            }
6783        }
6784        ///Reader of field `TCIE`
6785        pub type TCIE_R = crate::R<bool, bool>;
6786        ///Write proxy for field `TCIE`
6787        pub struct TCIE_W<'a> {
6788            w: &'a mut W,
6789        }
6790        impl<'a> TCIE_W<'a> {
6791            ///Sets the field bit
6792            #[inline(always)]
6793            pub fn set_bit(self) -> &'a mut W {
6794                self.bit(true)
6795            }
6796            ///Clears the field bit
6797            #[inline(always)]
6798            pub fn clear_bit(self) -> &'a mut W {
6799                self.bit(false)
6800            }
6801            ///Writes raw bits to the field
6802            #[inline(always)]
6803            pub fn bit(self, value: bool) -> &'a mut W {
6804                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
6805                self.w
6806            }
6807        }
6808        ///Reader of field `EN`
6809        pub type EN_R = crate::R<bool, bool>;
6810        ///Write proxy for field `EN`
6811        pub struct EN_W<'a> {
6812            w: &'a mut W,
6813        }
6814        impl<'a> EN_W<'a> {
6815            ///Sets the field bit
6816            #[inline(always)]
6817            pub fn set_bit(self) -> &'a mut W {
6818                self.bit(true)
6819            }
6820            ///Clears the field bit
6821            #[inline(always)]
6822            pub fn clear_bit(self) -> &'a mut W {
6823                self.bit(false)
6824            }
6825            ///Writes raw bits to the field
6826            #[inline(always)]
6827            pub fn bit(self, value: bool) -> &'a mut W {
6828                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
6829                self.w
6830            }
6831        }
6832        impl R {
6833            ///Bit 14 - Memory to memory mode
6834            #[inline(always)]
6835            pub fn mem2mem(&self) -> MEM2MEM_R {
6836                MEM2MEM_R::new(((self.bits >> 14) & 0x01) != 0)
6837            }
6838            ///Bits 12:13 - Channel priority level
6839            #[inline(always)]
6840            pub fn pl(&self) -> PL_R {
6841                PL_R::new(((self.bits >> 12) & 0x03) as u8)
6842            }
6843            ///Bits 10:11 - Memory size
6844            #[inline(always)]
6845            pub fn msize(&self) -> MSIZE_R {
6846                MSIZE_R::new(((self.bits >> 10) & 0x03) as u8)
6847            }
6848            ///Bits 8:9 - Peripheral size
6849            #[inline(always)]
6850            pub fn psize(&self) -> PSIZE_R {
6851                PSIZE_R::new(((self.bits >> 8) & 0x03) as u8)
6852            }
6853            ///Bit 7 - Memory increment mode
6854            #[inline(always)]
6855            pub fn minc(&self) -> MINC_R {
6856                MINC_R::new(((self.bits >> 7) & 0x01) != 0)
6857            }
6858            ///Bit 6 - Peripheral increment mode
6859            #[inline(always)]
6860            pub fn pinc(&self) -> PINC_R {
6861                PINC_R::new(((self.bits >> 6) & 0x01) != 0)
6862            }
6863            ///Bit 5 - Circular mode
6864            #[inline(always)]
6865            pub fn circ(&self) -> CIRC_R {
6866                CIRC_R::new(((self.bits >> 5) & 0x01) != 0)
6867            }
6868            ///Bit 4 - Data transfer direction
6869            #[inline(always)]
6870            pub fn dir(&self) -> DIR_R {
6871                DIR_R::new(((self.bits >> 4) & 0x01) != 0)
6872            }
6873            ///Bit 3 - Transfer error interrupt enable
6874            #[inline(always)]
6875            pub fn teie(&self) -> TEIE_R {
6876                TEIE_R::new(((self.bits >> 3) & 0x01) != 0)
6877            }
6878            ///Bit 2 - Half transfer interrupt enable
6879            #[inline(always)]
6880            pub fn htie(&self) -> HTIE_R {
6881                HTIE_R::new(((self.bits >> 2) & 0x01) != 0)
6882            }
6883            ///Bit 1 - Transfer complete interrupt enable
6884            #[inline(always)]
6885            pub fn tcie(&self) -> TCIE_R {
6886                TCIE_R::new(((self.bits >> 1) & 0x01) != 0)
6887            }
6888            ///Bit 0 - Channel enable
6889            #[inline(always)]
6890            pub fn en(&self) -> EN_R {
6891                EN_R::new((self.bits & 0x01) != 0)
6892            }
6893        }
6894        impl W {
6895            ///Bit 14 - Memory to memory mode
6896            #[inline(always)]
6897            pub fn mem2mem(&mut self) -> MEM2MEM_W {
6898                MEM2MEM_W { w: self }
6899            }
6900            ///Bits 12:13 - Channel priority level
6901            #[inline(always)]
6902            pub fn pl(&mut self) -> PL_W {
6903                PL_W { w: self }
6904            }
6905            ///Bits 10:11 - Memory size
6906            #[inline(always)]
6907            pub fn msize(&mut self) -> MSIZE_W {
6908                MSIZE_W { w: self }
6909            }
6910            ///Bits 8:9 - Peripheral size
6911            #[inline(always)]
6912            pub fn psize(&mut self) -> PSIZE_W {
6913                PSIZE_W { w: self }
6914            }
6915            ///Bit 7 - Memory increment mode
6916            #[inline(always)]
6917            pub fn minc(&mut self) -> MINC_W {
6918                MINC_W { w: self }
6919            }
6920            ///Bit 6 - Peripheral increment mode
6921            #[inline(always)]
6922            pub fn pinc(&mut self) -> PINC_W {
6923                PINC_W { w: self }
6924            }
6925            ///Bit 5 - Circular mode
6926            #[inline(always)]
6927            pub fn circ(&mut self) -> CIRC_W {
6928                CIRC_W { w: self }
6929            }
6930            ///Bit 4 - Data transfer direction
6931            #[inline(always)]
6932            pub fn dir(&mut self) -> DIR_W {
6933                DIR_W { w: self }
6934            }
6935            ///Bit 3 - Transfer error interrupt enable
6936            #[inline(always)]
6937            pub fn teie(&mut self) -> TEIE_W {
6938                TEIE_W { w: self }
6939            }
6940            ///Bit 2 - Half transfer interrupt enable
6941            #[inline(always)]
6942            pub fn htie(&mut self) -> HTIE_W {
6943                HTIE_W { w: self }
6944            }
6945            ///Bit 1 - Transfer complete interrupt enable
6946            #[inline(always)]
6947            pub fn tcie(&mut self) -> TCIE_W {
6948                TCIE_W { w: self }
6949            }
6950            ///Bit 0 - Channel enable
6951            #[inline(always)]
6952            pub fn en(&mut self) -> EN_W {
6953                EN_W { w: self }
6954            }
6955        }
6956    }
6957    ///channel x number of data register
6958    ///
6959    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
6960    ///
6961    ///For information about available fields see [cndtr1](cndtr1) module
6962    pub type CNDTR1 = crate::Reg<u32, _CNDTR1>;
6963    #[allow(missing_docs)]
6964    #[doc(hidden)]
6965    pub struct _CNDTR1;
6966    ///`read()` method returns [cndtr1::R](cndtr1::R) reader structure
6967    impl crate::Readable for CNDTR1 {}
6968    ///`write(|w| ..)` method takes [cndtr1::W](cndtr1::W) writer structure
6969    impl crate::Writable for CNDTR1 {}
6970    ///channel x number of data register
6971    pub mod cndtr1 {
6972        ///Reader of register CNDTR1
6973        pub type R = crate::R<u32, super::CNDTR1>;
6974        ///Writer for register CNDTR1
6975        pub type W = crate::W<u32, super::CNDTR1>;
6976        ///Register CNDTR1 `reset()`'s with value 0
6977        impl crate::ResetValue for super::CNDTR1 {
6978            type Type = u32;
6979            #[inline(always)]
6980            fn reset_value() -> Self::Type {
6981                0
6982            }
6983        }
6984        ///Reader of field `NDT`
6985        pub type NDT_R = crate::R<u16, u16>;
6986        ///Write proxy for field `NDT`
6987        pub struct NDT_W<'a> {
6988            w: &'a mut W,
6989        }
6990        impl<'a> NDT_W<'a> {
6991            ///Writes raw bits to the field
6992            #[inline(always)]
6993            pub unsafe fn bits(self, value: u16) -> &'a mut W {
6994                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
6995                self.w
6996            }
6997        }
6998        impl R {
6999            ///Bits 0:15 - Number of data to transfer
7000            #[inline(always)]
7001            pub fn ndt(&self) -> NDT_R {
7002                NDT_R::new((self.bits & 0xffff) as u16)
7003            }
7004        }
7005        impl W {
7006            ///Bits 0:15 - Number of data to transfer
7007            #[inline(always)]
7008            pub fn ndt(&mut self) -> NDT_W {
7009                NDT_W { w: self }
7010            }
7011        }
7012    }
7013    ///channel x peripheral address register
7014    ///
7015    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
7016    ///
7017    ///For information about available fields see [cpar1](cpar1) module
7018    pub type CPAR1 = crate::Reg<u32, _CPAR1>;
7019    #[allow(missing_docs)]
7020    #[doc(hidden)]
7021    pub struct _CPAR1;
7022    ///`read()` method returns [cpar1::R](cpar1::R) reader structure
7023    impl crate::Readable for CPAR1 {}
7024    ///`write(|w| ..)` method takes [cpar1::W](cpar1::W) writer structure
7025    impl crate::Writable for CPAR1 {}
7026    ///channel x peripheral address register
7027    pub mod cpar1 {
7028        ///Reader of register CPAR1
7029        pub type R = crate::R<u32, super::CPAR1>;
7030        ///Writer for register CPAR1
7031        pub type W = crate::W<u32, super::CPAR1>;
7032        ///Register CPAR1 `reset()`'s with value 0
7033        impl crate::ResetValue for super::CPAR1 {
7034            type Type = u32;
7035            #[inline(always)]
7036            fn reset_value() -> Self::Type {
7037                0
7038            }
7039        }
7040        ///Reader of field `PA`
7041        pub type PA_R = crate::R<u32, u32>;
7042        ///Write proxy for field `PA`
7043        pub struct PA_W<'a> {
7044            w: &'a mut W,
7045        }
7046        impl<'a> PA_W<'a> {
7047            ///Writes raw bits to the field
7048            #[inline(always)]
7049            pub unsafe fn bits(self, value: u32) -> &'a mut W {
7050                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
7051                self.w
7052            }
7053        }
7054        impl R {
7055            ///Bits 0:31 - Peripheral address
7056            #[inline(always)]
7057            pub fn pa(&self) -> PA_R {
7058                PA_R::new((self.bits & 0xffff_ffff) as u32)
7059            }
7060        }
7061        impl W {
7062            ///Bits 0:31 - Peripheral address
7063            #[inline(always)]
7064            pub fn pa(&mut self) -> PA_W {
7065                PA_W { w: self }
7066            }
7067        }
7068    }
7069    ///channel x memory address register
7070    ///
7071    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
7072    ///
7073    ///For information about available fields see [cmar1](cmar1) module
7074    pub type CMAR1 = crate::Reg<u32, _CMAR1>;
7075    #[allow(missing_docs)]
7076    #[doc(hidden)]
7077    pub struct _CMAR1;
7078    ///`read()` method returns [cmar1::R](cmar1::R) reader structure
7079    impl crate::Readable for CMAR1 {}
7080    ///`write(|w| ..)` method takes [cmar1::W](cmar1::W) writer structure
7081    impl crate::Writable for CMAR1 {}
7082    ///channel x memory address register
7083    pub mod cmar1 {
7084        ///Reader of register CMAR1
7085        pub type R = crate::R<u32, super::CMAR1>;
7086        ///Writer for register CMAR1
7087        pub type W = crate::W<u32, super::CMAR1>;
7088        ///Register CMAR1 `reset()`'s with value 0
7089        impl crate::ResetValue for super::CMAR1 {
7090            type Type = u32;
7091            #[inline(always)]
7092            fn reset_value() -> Self::Type {
7093                0
7094            }
7095        }
7096        ///Reader of field `MA`
7097        pub type MA_R = crate::R<u32, u32>;
7098        ///Write proxy for field `MA`
7099        pub struct MA_W<'a> {
7100            w: &'a mut W,
7101        }
7102        impl<'a> MA_W<'a> {
7103            ///Writes raw bits to the field
7104            #[inline(always)]
7105            pub unsafe fn bits(self, value: u32) -> &'a mut W {
7106                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
7107                self.w
7108            }
7109        }
7110        impl R {
7111            ///Bits 0:31 - Memory address
7112            #[inline(always)]
7113            pub fn ma(&self) -> MA_R {
7114                MA_R::new((self.bits & 0xffff_ffff) as u32)
7115            }
7116        }
7117        impl W {
7118            ///Bits 0:31 - Memory address
7119            #[inline(always)]
7120            pub fn ma(&mut self) -> MA_W {
7121                MA_W { w: self }
7122            }
7123        }
7124    }
7125    ///channel x configuration register
7126    ///
7127    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
7128    ///
7129    ///For information about available fields see [ccr2](ccr2) module
7130    pub type CCR2 = crate::Reg<u32, _CCR2>;
7131    #[allow(missing_docs)]
7132    #[doc(hidden)]
7133    pub struct _CCR2;
7134    ///`read()` method returns [ccr2::R](ccr2::R) reader structure
7135    impl crate::Readable for CCR2 {}
7136    ///`write(|w| ..)` method takes [ccr2::W](ccr2::W) writer structure
7137    impl crate::Writable for CCR2 {}
7138    ///channel x configuration register
7139    pub mod ccr2 {
7140        ///Reader of register CCR2
7141        pub type R = crate::R<u32, super::CCR2>;
7142        ///Writer for register CCR2
7143        pub type W = crate::W<u32, super::CCR2>;
7144        ///Register CCR2 `reset()`'s with value 0
7145        impl crate::ResetValue for super::CCR2 {
7146            type Type = u32;
7147            #[inline(always)]
7148            fn reset_value() -> Self::Type {
7149                0
7150            }
7151        }
7152        ///Reader of field `MEM2MEM`
7153        pub type MEM2MEM_R = crate::R<bool, bool>;
7154        ///Write proxy for field `MEM2MEM`
7155        pub struct MEM2MEM_W<'a> {
7156            w: &'a mut W,
7157        }
7158        impl<'a> MEM2MEM_W<'a> {
7159            ///Sets the field bit
7160            #[inline(always)]
7161            pub fn set_bit(self) -> &'a mut W {
7162                self.bit(true)
7163            }
7164            ///Clears the field bit
7165            #[inline(always)]
7166            pub fn clear_bit(self) -> &'a mut W {
7167                self.bit(false)
7168            }
7169            ///Writes raw bits to the field
7170            #[inline(always)]
7171            pub fn bit(self, value: bool) -> &'a mut W {
7172                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
7173                self.w
7174            }
7175        }
7176        ///Reader of field `PL`
7177        pub type PL_R = crate::R<u8, u8>;
7178        ///Write proxy for field `PL`
7179        pub struct PL_W<'a> {
7180            w: &'a mut W,
7181        }
7182        impl<'a> PL_W<'a> {
7183            ///Writes raw bits to the field
7184            #[inline(always)]
7185            pub unsafe fn bits(self, value: u8) -> &'a mut W {
7186                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
7187                self.w
7188            }
7189        }
7190        ///Reader of field `MSIZE`
7191        pub type MSIZE_R = crate::R<u8, u8>;
7192        ///Write proxy for field `MSIZE`
7193        pub struct MSIZE_W<'a> {
7194            w: &'a mut W,
7195        }
7196        impl<'a> MSIZE_W<'a> {
7197            ///Writes raw bits to the field
7198            #[inline(always)]
7199            pub unsafe fn bits(self, value: u8) -> &'a mut W {
7200                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
7201                self.w
7202            }
7203        }
7204        ///Reader of field `PSIZE`
7205        pub type PSIZE_R = crate::R<u8, u8>;
7206        ///Write proxy for field `PSIZE`
7207        pub struct PSIZE_W<'a> {
7208            w: &'a mut W,
7209        }
7210        impl<'a> PSIZE_W<'a> {
7211            ///Writes raw bits to the field
7212            #[inline(always)]
7213            pub unsafe fn bits(self, value: u8) -> &'a mut W {
7214                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
7215                self.w
7216            }
7217        }
7218        ///Reader of field `MINC`
7219        pub type MINC_R = crate::R<bool, bool>;
7220        ///Write proxy for field `MINC`
7221        pub struct MINC_W<'a> {
7222            w: &'a mut W,
7223        }
7224        impl<'a> MINC_W<'a> {
7225            ///Sets the field bit
7226            #[inline(always)]
7227            pub fn set_bit(self) -> &'a mut W {
7228                self.bit(true)
7229            }
7230            ///Clears the field bit
7231            #[inline(always)]
7232            pub fn clear_bit(self) -> &'a mut W {
7233                self.bit(false)
7234            }
7235            ///Writes raw bits to the field
7236            #[inline(always)]
7237            pub fn bit(self, value: bool) -> &'a mut W {
7238                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
7239                self.w
7240            }
7241        }
7242        ///Reader of field `PINC`
7243        pub type PINC_R = crate::R<bool, bool>;
7244        ///Write proxy for field `PINC`
7245        pub struct PINC_W<'a> {
7246            w: &'a mut W,
7247        }
7248        impl<'a> PINC_W<'a> {
7249            ///Sets the field bit
7250            #[inline(always)]
7251            pub fn set_bit(self) -> &'a mut W {
7252                self.bit(true)
7253            }
7254            ///Clears the field bit
7255            #[inline(always)]
7256            pub fn clear_bit(self) -> &'a mut W {
7257                self.bit(false)
7258            }
7259            ///Writes raw bits to the field
7260            #[inline(always)]
7261            pub fn bit(self, value: bool) -> &'a mut W {
7262                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
7263                self.w
7264            }
7265        }
7266        ///Reader of field `CIRC`
7267        pub type CIRC_R = crate::R<bool, bool>;
7268        ///Write proxy for field `CIRC`
7269        pub struct CIRC_W<'a> {
7270            w: &'a mut W,
7271        }
7272        impl<'a> CIRC_W<'a> {
7273            ///Sets the field bit
7274            #[inline(always)]
7275            pub fn set_bit(self) -> &'a mut W {
7276                self.bit(true)
7277            }
7278            ///Clears the field bit
7279            #[inline(always)]
7280            pub fn clear_bit(self) -> &'a mut W {
7281                self.bit(false)
7282            }
7283            ///Writes raw bits to the field
7284            #[inline(always)]
7285            pub fn bit(self, value: bool) -> &'a mut W {
7286                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
7287                self.w
7288            }
7289        }
7290        ///Reader of field `DIR`
7291        pub type DIR_R = crate::R<bool, bool>;
7292        ///Write proxy for field `DIR`
7293        pub struct DIR_W<'a> {
7294            w: &'a mut W,
7295        }
7296        impl<'a> DIR_W<'a> {
7297            ///Sets the field bit
7298            #[inline(always)]
7299            pub fn set_bit(self) -> &'a mut W {
7300                self.bit(true)
7301            }
7302            ///Clears the field bit
7303            #[inline(always)]
7304            pub fn clear_bit(self) -> &'a mut W {
7305                self.bit(false)
7306            }
7307            ///Writes raw bits to the field
7308            #[inline(always)]
7309            pub fn bit(self, value: bool) -> &'a mut W {
7310                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
7311                self.w
7312            }
7313        }
7314        ///Reader of field `TEIE`
7315        pub type TEIE_R = crate::R<bool, bool>;
7316        ///Write proxy for field `TEIE`
7317        pub struct TEIE_W<'a> {
7318            w: &'a mut W,
7319        }
7320        impl<'a> TEIE_W<'a> {
7321            ///Sets the field bit
7322            #[inline(always)]
7323            pub fn set_bit(self) -> &'a mut W {
7324                self.bit(true)
7325            }
7326            ///Clears the field bit
7327            #[inline(always)]
7328            pub fn clear_bit(self) -> &'a mut W {
7329                self.bit(false)
7330            }
7331            ///Writes raw bits to the field
7332            #[inline(always)]
7333            pub fn bit(self, value: bool) -> &'a mut W {
7334                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
7335                self.w
7336            }
7337        }
7338        ///Reader of field `HTIE`
7339        pub type HTIE_R = crate::R<bool, bool>;
7340        ///Write proxy for field `HTIE`
7341        pub struct HTIE_W<'a> {
7342            w: &'a mut W,
7343        }
7344        impl<'a> HTIE_W<'a> {
7345            ///Sets the field bit
7346            #[inline(always)]
7347            pub fn set_bit(self) -> &'a mut W {
7348                self.bit(true)
7349            }
7350            ///Clears the field bit
7351            #[inline(always)]
7352            pub fn clear_bit(self) -> &'a mut W {
7353                self.bit(false)
7354            }
7355            ///Writes raw bits to the field
7356            #[inline(always)]
7357            pub fn bit(self, value: bool) -> &'a mut W {
7358                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
7359                self.w
7360            }
7361        }
7362        ///Reader of field `TCIE`
7363        pub type TCIE_R = crate::R<bool, bool>;
7364        ///Write proxy for field `TCIE`
7365        pub struct TCIE_W<'a> {
7366            w: &'a mut W,
7367        }
7368        impl<'a> TCIE_W<'a> {
7369            ///Sets the field bit
7370            #[inline(always)]
7371            pub fn set_bit(self) -> &'a mut W {
7372                self.bit(true)
7373            }
7374            ///Clears the field bit
7375            #[inline(always)]
7376            pub fn clear_bit(self) -> &'a mut W {
7377                self.bit(false)
7378            }
7379            ///Writes raw bits to the field
7380            #[inline(always)]
7381            pub fn bit(self, value: bool) -> &'a mut W {
7382                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
7383                self.w
7384            }
7385        }
7386        ///Reader of field `EN`
7387        pub type EN_R = crate::R<bool, bool>;
7388        ///Write proxy for field `EN`
7389        pub struct EN_W<'a> {
7390            w: &'a mut W,
7391        }
7392        impl<'a> EN_W<'a> {
7393            ///Sets the field bit
7394            #[inline(always)]
7395            pub fn set_bit(self) -> &'a mut W {
7396                self.bit(true)
7397            }
7398            ///Clears the field bit
7399            #[inline(always)]
7400            pub fn clear_bit(self) -> &'a mut W {
7401                self.bit(false)
7402            }
7403            ///Writes raw bits to the field
7404            #[inline(always)]
7405            pub fn bit(self, value: bool) -> &'a mut W {
7406                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
7407                self.w
7408            }
7409        }
7410        impl R {
7411            ///Bit 14 - Memory to memory mode
7412            #[inline(always)]
7413            pub fn mem2mem(&self) -> MEM2MEM_R {
7414                MEM2MEM_R::new(((self.bits >> 14) & 0x01) != 0)
7415            }
7416            ///Bits 12:13 - Channel priority level
7417            #[inline(always)]
7418            pub fn pl(&self) -> PL_R {
7419                PL_R::new(((self.bits >> 12) & 0x03) as u8)
7420            }
7421            ///Bits 10:11 - Memory size
7422            #[inline(always)]
7423            pub fn msize(&self) -> MSIZE_R {
7424                MSIZE_R::new(((self.bits >> 10) & 0x03) as u8)
7425            }
7426            ///Bits 8:9 - Peripheral size
7427            #[inline(always)]
7428            pub fn psize(&self) -> PSIZE_R {
7429                PSIZE_R::new(((self.bits >> 8) & 0x03) as u8)
7430            }
7431            ///Bit 7 - Memory increment mode
7432            #[inline(always)]
7433            pub fn minc(&self) -> MINC_R {
7434                MINC_R::new(((self.bits >> 7) & 0x01) != 0)
7435            }
7436            ///Bit 6 - Peripheral increment mode
7437            #[inline(always)]
7438            pub fn pinc(&self) -> PINC_R {
7439                PINC_R::new(((self.bits >> 6) & 0x01) != 0)
7440            }
7441            ///Bit 5 - Circular mode
7442            #[inline(always)]
7443            pub fn circ(&self) -> CIRC_R {
7444                CIRC_R::new(((self.bits >> 5) & 0x01) != 0)
7445            }
7446            ///Bit 4 - Data transfer direction
7447            #[inline(always)]
7448            pub fn dir(&self) -> DIR_R {
7449                DIR_R::new(((self.bits >> 4) & 0x01) != 0)
7450            }
7451            ///Bit 3 - Transfer error interrupt enable
7452            #[inline(always)]
7453            pub fn teie(&self) -> TEIE_R {
7454                TEIE_R::new(((self.bits >> 3) & 0x01) != 0)
7455            }
7456            ///Bit 2 - Half transfer interrupt enable
7457            #[inline(always)]
7458            pub fn htie(&self) -> HTIE_R {
7459                HTIE_R::new(((self.bits >> 2) & 0x01) != 0)
7460            }
7461            ///Bit 1 - Transfer complete interrupt enable
7462            #[inline(always)]
7463            pub fn tcie(&self) -> TCIE_R {
7464                TCIE_R::new(((self.bits >> 1) & 0x01) != 0)
7465            }
7466            ///Bit 0 - Channel enable
7467            #[inline(always)]
7468            pub fn en(&self) -> EN_R {
7469                EN_R::new((self.bits & 0x01) != 0)
7470            }
7471        }
7472        impl W {
7473            ///Bit 14 - Memory to memory mode
7474            #[inline(always)]
7475            pub fn mem2mem(&mut self) -> MEM2MEM_W {
7476                MEM2MEM_W { w: self }
7477            }
7478            ///Bits 12:13 - Channel priority level
7479            #[inline(always)]
7480            pub fn pl(&mut self) -> PL_W {
7481                PL_W { w: self }
7482            }
7483            ///Bits 10:11 - Memory size
7484            #[inline(always)]
7485            pub fn msize(&mut self) -> MSIZE_W {
7486                MSIZE_W { w: self }
7487            }
7488            ///Bits 8:9 - Peripheral size
7489            #[inline(always)]
7490            pub fn psize(&mut self) -> PSIZE_W {
7491                PSIZE_W { w: self }
7492            }
7493            ///Bit 7 - Memory increment mode
7494            #[inline(always)]
7495            pub fn minc(&mut self) -> MINC_W {
7496                MINC_W { w: self }
7497            }
7498            ///Bit 6 - Peripheral increment mode
7499            #[inline(always)]
7500            pub fn pinc(&mut self) -> PINC_W {
7501                PINC_W { w: self }
7502            }
7503            ///Bit 5 - Circular mode
7504            #[inline(always)]
7505            pub fn circ(&mut self) -> CIRC_W {
7506                CIRC_W { w: self }
7507            }
7508            ///Bit 4 - Data transfer direction
7509            #[inline(always)]
7510            pub fn dir(&mut self) -> DIR_W {
7511                DIR_W { w: self }
7512            }
7513            ///Bit 3 - Transfer error interrupt enable
7514            #[inline(always)]
7515            pub fn teie(&mut self) -> TEIE_W {
7516                TEIE_W { w: self }
7517            }
7518            ///Bit 2 - Half transfer interrupt enable
7519            #[inline(always)]
7520            pub fn htie(&mut self) -> HTIE_W {
7521                HTIE_W { w: self }
7522            }
7523            ///Bit 1 - Transfer complete interrupt enable
7524            #[inline(always)]
7525            pub fn tcie(&mut self) -> TCIE_W {
7526                TCIE_W { w: self }
7527            }
7528            ///Bit 0 - Channel enable
7529            #[inline(always)]
7530            pub fn en(&mut self) -> EN_W {
7531                EN_W { w: self }
7532            }
7533        }
7534    }
7535    ///channel x number of data register
7536    ///
7537    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
7538    ///
7539    ///For information about available fields see [cndtr2](cndtr2) module
7540    pub type CNDTR2 = crate::Reg<u32, _CNDTR2>;
7541    #[allow(missing_docs)]
7542    #[doc(hidden)]
7543    pub struct _CNDTR2;
7544    ///`read()` method returns [cndtr2::R](cndtr2::R) reader structure
7545    impl crate::Readable for CNDTR2 {}
7546    ///`write(|w| ..)` method takes [cndtr2::W](cndtr2::W) writer structure
7547    impl crate::Writable for CNDTR2 {}
7548    ///channel x number of data register
7549    pub mod cndtr2 {
7550        ///Reader of register CNDTR2
7551        pub type R = crate::R<u32, super::CNDTR2>;
7552        ///Writer for register CNDTR2
7553        pub type W = crate::W<u32, super::CNDTR2>;
7554        ///Register CNDTR2 `reset()`'s with value 0
7555        impl crate::ResetValue for super::CNDTR2 {
7556            type Type = u32;
7557            #[inline(always)]
7558            fn reset_value() -> Self::Type {
7559                0
7560            }
7561        }
7562        ///Reader of field `NDT`
7563        pub type NDT_R = crate::R<u16, u16>;
7564        ///Write proxy for field `NDT`
7565        pub struct NDT_W<'a> {
7566            w: &'a mut W,
7567        }
7568        impl<'a> NDT_W<'a> {
7569            ///Writes raw bits to the field
7570            #[inline(always)]
7571            pub unsafe fn bits(self, value: u16) -> &'a mut W {
7572                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
7573                self.w
7574            }
7575        }
7576        impl R {
7577            ///Bits 0:15 - Number of data to transfer
7578            #[inline(always)]
7579            pub fn ndt(&self) -> NDT_R {
7580                NDT_R::new((self.bits & 0xffff) as u16)
7581            }
7582        }
7583        impl W {
7584            ///Bits 0:15 - Number of data to transfer
7585            #[inline(always)]
7586            pub fn ndt(&mut self) -> NDT_W {
7587                NDT_W { w: self }
7588            }
7589        }
7590    }
7591    ///channel x peripheral address register
7592    ///
7593    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
7594    ///
7595    ///For information about available fields see [cpar2](cpar2) module
7596    pub type CPAR2 = crate::Reg<u32, _CPAR2>;
7597    #[allow(missing_docs)]
7598    #[doc(hidden)]
7599    pub struct _CPAR2;
7600    ///`read()` method returns [cpar2::R](cpar2::R) reader structure
7601    impl crate::Readable for CPAR2 {}
7602    ///`write(|w| ..)` method takes [cpar2::W](cpar2::W) writer structure
7603    impl crate::Writable for CPAR2 {}
7604    ///channel x peripheral address register
7605    pub mod cpar2 {
7606        ///Reader of register CPAR2
7607        pub type R = crate::R<u32, super::CPAR2>;
7608        ///Writer for register CPAR2
7609        pub type W = crate::W<u32, super::CPAR2>;
7610        ///Register CPAR2 `reset()`'s with value 0
7611        impl crate::ResetValue for super::CPAR2 {
7612            type Type = u32;
7613            #[inline(always)]
7614            fn reset_value() -> Self::Type {
7615                0
7616            }
7617        }
7618        ///Reader of field `PA`
7619        pub type PA_R = crate::R<u32, u32>;
7620        ///Write proxy for field `PA`
7621        pub struct PA_W<'a> {
7622            w: &'a mut W,
7623        }
7624        impl<'a> PA_W<'a> {
7625            ///Writes raw bits to the field
7626            #[inline(always)]
7627            pub unsafe fn bits(self, value: u32) -> &'a mut W {
7628                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
7629                self.w
7630            }
7631        }
7632        impl R {
7633            ///Bits 0:31 - Peripheral address
7634            #[inline(always)]
7635            pub fn pa(&self) -> PA_R {
7636                PA_R::new((self.bits & 0xffff_ffff) as u32)
7637            }
7638        }
7639        impl W {
7640            ///Bits 0:31 - Peripheral address
7641            #[inline(always)]
7642            pub fn pa(&mut self) -> PA_W {
7643                PA_W { w: self }
7644            }
7645        }
7646    }
7647    ///channel x memory address register
7648    ///
7649    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
7650    ///
7651    ///For information about available fields see [cmar2](cmar2) module
7652    pub type CMAR2 = crate::Reg<u32, _CMAR2>;
7653    #[allow(missing_docs)]
7654    #[doc(hidden)]
7655    pub struct _CMAR2;
7656    ///`read()` method returns [cmar2::R](cmar2::R) reader structure
7657    impl crate::Readable for CMAR2 {}
7658    ///`write(|w| ..)` method takes [cmar2::W](cmar2::W) writer structure
7659    impl crate::Writable for CMAR2 {}
7660    ///channel x memory address register
7661    pub mod cmar2 {
7662        ///Reader of register CMAR2
7663        pub type R = crate::R<u32, super::CMAR2>;
7664        ///Writer for register CMAR2
7665        pub type W = crate::W<u32, super::CMAR2>;
7666        ///Register CMAR2 `reset()`'s with value 0
7667        impl crate::ResetValue for super::CMAR2 {
7668            type Type = u32;
7669            #[inline(always)]
7670            fn reset_value() -> Self::Type {
7671                0
7672            }
7673        }
7674        ///Reader of field `MA`
7675        pub type MA_R = crate::R<u32, u32>;
7676        ///Write proxy for field `MA`
7677        pub struct MA_W<'a> {
7678            w: &'a mut W,
7679        }
7680        impl<'a> MA_W<'a> {
7681            ///Writes raw bits to the field
7682            #[inline(always)]
7683            pub unsafe fn bits(self, value: u32) -> &'a mut W {
7684                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
7685                self.w
7686            }
7687        }
7688        impl R {
7689            ///Bits 0:31 - Memory address
7690            #[inline(always)]
7691            pub fn ma(&self) -> MA_R {
7692                MA_R::new((self.bits & 0xffff_ffff) as u32)
7693            }
7694        }
7695        impl W {
7696            ///Bits 0:31 - Memory address
7697            #[inline(always)]
7698            pub fn ma(&mut self) -> MA_W {
7699                MA_W { w: self }
7700            }
7701        }
7702    }
7703    ///channel x configuration register
7704    ///
7705    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
7706    ///
7707    ///For information about available fields see [ccr3](ccr3) module
7708    pub type CCR3 = crate::Reg<u32, _CCR3>;
7709    #[allow(missing_docs)]
7710    #[doc(hidden)]
7711    pub struct _CCR3;
7712    ///`read()` method returns [ccr3::R](ccr3::R) reader structure
7713    impl crate::Readable for CCR3 {}
7714    ///`write(|w| ..)` method takes [ccr3::W](ccr3::W) writer structure
7715    impl crate::Writable for CCR3 {}
7716    ///channel x configuration register
7717    pub mod ccr3 {
7718        ///Reader of register CCR3
7719        pub type R = crate::R<u32, super::CCR3>;
7720        ///Writer for register CCR3
7721        pub type W = crate::W<u32, super::CCR3>;
7722        ///Register CCR3 `reset()`'s with value 0
7723        impl crate::ResetValue for super::CCR3 {
7724            type Type = u32;
7725            #[inline(always)]
7726            fn reset_value() -> Self::Type {
7727                0
7728            }
7729        }
7730        ///Reader of field `MEM2MEM`
7731        pub type MEM2MEM_R = crate::R<bool, bool>;
7732        ///Write proxy for field `MEM2MEM`
7733        pub struct MEM2MEM_W<'a> {
7734            w: &'a mut W,
7735        }
7736        impl<'a> MEM2MEM_W<'a> {
7737            ///Sets the field bit
7738            #[inline(always)]
7739            pub fn set_bit(self) -> &'a mut W {
7740                self.bit(true)
7741            }
7742            ///Clears the field bit
7743            #[inline(always)]
7744            pub fn clear_bit(self) -> &'a mut W {
7745                self.bit(false)
7746            }
7747            ///Writes raw bits to the field
7748            #[inline(always)]
7749            pub fn bit(self, value: bool) -> &'a mut W {
7750                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
7751                self.w
7752            }
7753        }
7754        ///Reader of field `PL`
7755        pub type PL_R = crate::R<u8, u8>;
7756        ///Write proxy for field `PL`
7757        pub struct PL_W<'a> {
7758            w: &'a mut W,
7759        }
7760        impl<'a> PL_W<'a> {
7761            ///Writes raw bits to the field
7762            #[inline(always)]
7763            pub unsafe fn bits(self, value: u8) -> &'a mut W {
7764                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
7765                self.w
7766            }
7767        }
7768        ///Reader of field `MSIZE`
7769        pub type MSIZE_R = crate::R<u8, u8>;
7770        ///Write proxy for field `MSIZE`
7771        pub struct MSIZE_W<'a> {
7772            w: &'a mut W,
7773        }
7774        impl<'a> MSIZE_W<'a> {
7775            ///Writes raw bits to the field
7776            #[inline(always)]
7777            pub unsafe fn bits(self, value: u8) -> &'a mut W {
7778                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
7779                self.w
7780            }
7781        }
7782        ///Reader of field `PSIZE`
7783        pub type PSIZE_R = crate::R<u8, u8>;
7784        ///Write proxy for field `PSIZE`
7785        pub struct PSIZE_W<'a> {
7786            w: &'a mut W,
7787        }
7788        impl<'a> PSIZE_W<'a> {
7789            ///Writes raw bits to the field
7790            #[inline(always)]
7791            pub unsafe fn bits(self, value: u8) -> &'a mut W {
7792                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
7793                self.w
7794            }
7795        }
7796        ///Reader of field `MINC`
7797        pub type MINC_R = crate::R<bool, bool>;
7798        ///Write proxy for field `MINC`
7799        pub struct MINC_W<'a> {
7800            w: &'a mut W,
7801        }
7802        impl<'a> MINC_W<'a> {
7803            ///Sets the field bit
7804            #[inline(always)]
7805            pub fn set_bit(self) -> &'a mut W {
7806                self.bit(true)
7807            }
7808            ///Clears the field bit
7809            #[inline(always)]
7810            pub fn clear_bit(self) -> &'a mut W {
7811                self.bit(false)
7812            }
7813            ///Writes raw bits to the field
7814            #[inline(always)]
7815            pub fn bit(self, value: bool) -> &'a mut W {
7816                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
7817                self.w
7818            }
7819        }
7820        ///Reader of field `PINC`
7821        pub type PINC_R = crate::R<bool, bool>;
7822        ///Write proxy for field `PINC`
7823        pub struct PINC_W<'a> {
7824            w: &'a mut W,
7825        }
7826        impl<'a> PINC_W<'a> {
7827            ///Sets the field bit
7828            #[inline(always)]
7829            pub fn set_bit(self) -> &'a mut W {
7830                self.bit(true)
7831            }
7832            ///Clears the field bit
7833            #[inline(always)]
7834            pub fn clear_bit(self) -> &'a mut W {
7835                self.bit(false)
7836            }
7837            ///Writes raw bits to the field
7838            #[inline(always)]
7839            pub fn bit(self, value: bool) -> &'a mut W {
7840                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
7841                self.w
7842            }
7843        }
7844        ///Reader of field `CIRC`
7845        pub type CIRC_R = crate::R<bool, bool>;
7846        ///Write proxy for field `CIRC`
7847        pub struct CIRC_W<'a> {
7848            w: &'a mut W,
7849        }
7850        impl<'a> CIRC_W<'a> {
7851            ///Sets the field bit
7852            #[inline(always)]
7853            pub fn set_bit(self) -> &'a mut W {
7854                self.bit(true)
7855            }
7856            ///Clears the field bit
7857            #[inline(always)]
7858            pub fn clear_bit(self) -> &'a mut W {
7859                self.bit(false)
7860            }
7861            ///Writes raw bits to the field
7862            #[inline(always)]
7863            pub fn bit(self, value: bool) -> &'a mut W {
7864                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
7865                self.w
7866            }
7867        }
7868        ///Reader of field `DIR`
7869        pub type DIR_R = crate::R<bool, bool>;
7870        ///Write proxy for field `DIR`
7871        pub struct DIR_W<'a> {
7872            w: &'a mut W,
7873        }
7874        impl<'a> DIR_W<'a> {
7875            ///Sets the field bit
7876            #[inline(always)]
7877            pub fn set_bit(self) -> &'a mut W {
7878                self.bit(true)
7879            }
7880            ///Clears the field bit
7881            #[inline(always)]
7882            pub fn clear_bit(self) -> &'a mut W {
7883                self.bit(false)
7884            }
7885            ///Writes raw bits to the field
7886            #[inline(always)]
7887            pub fn bit(self, value: bool) -> &'a mut W {
7888                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
7889                self.w
7890            }
7891        }
7892        ///Reader of field `TEIE`
7893        pub type TEIE_R = crate::R<bool, bool>;
7894        ///Write proxy for field `TEIE`
7895        pub struct TEIE_W<'a> {
7896            w: &'a mut W,
7897        }
7898        impl<'a> TEIE_W<'a> {
7899            ///Sets the field bit
7900            #[inline(always)]
7901            pub fn set_bit(self) -> &'a mut W {
7902                self.bit(true)
7903            }
7904            ///Clears the field bit
7905            #[inline(always)]
7906            pub fn clear_bit(self) -> &'a mut W {
7907                self.bit(false)
7908            }
7909            ///Writes raw bits to the field
7910            #[inline(always)]
7911            pub fn bit(self, value: bool) -> &'a mut W {
7912                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
7913                self.w
7914            }
7915        }
7916        ///Reader of field `HTIE`
7917        pub type HTIE_R = crate::R<bool, bool>;
7918        ///Write proxy for field `HTIE`
7919        pub struct HTIE_W<'a> {
7920            w: &'a mut W,
7921        }
7922        impl<'a> HTIE_W<'a> {
7923            ///Sets the field bit
7924            #[inline(always)]
7925            pub fn set_bit(self) -> &'a mut W {
7926                self.bit(true)
7927            }
7928            ///Clears the field bit
7929            #[inline(always)]
7930            pub fn clear_bit(self) -> &'a mut W {
7931                self.bit(false)
7932            }
7933            ///Writes raw bits to the field
7934            #[inline(always)]
7935            pub fn bit(self, value: bool) -> &'a mut W {
7936                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
7937                self.w
7938            }
7939        }
7940        ///Reader of field `TCIE`
7941        pub type TCIE_R = crate::R<bool, bool>;
7942        ///Write proxy for field `TCIE`
7943        pub struct TCIE_W<'a> {
7944            w: &'a mut W,
7945        }
7946        impl<'a> TCIE_W<'a> {
7947            ///Sets the field bit
7948            #[inline(always)]
7949            pub fn set_bit(self) -> &'a mut W {
7950                self.bit(true)
7951            }
7952            ///Clears the field bit
7953            #[inline(always)]
7954            pub fn clear_bit(self) -> &'a mut W {
7955                self.bit(false)
7956            }
7957            ///Writes raw bits to the field
7958            #[inline(always)]
7959            pub fn bit(self, value: bool) -> &'a mut W {
7960                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
7961                self.w
7962            }
7963        }
7964        ///Reader of field `EN`
7965        pub type EN_R = crate::R<bool, bool>;
7966        ///Write proxy for field `EN`
7967        pub struct EN_W<'a> {
7968            w: &'a mut W,
7969        }
7970        impl<'a> EN_W<'a> {
7971            ///Sets the field bit
7972            #[inline(always)]
7973            pub fn set_bit(self) -> &'a mut W {
7974                self.bit(true)
7975            }
7976            ///Clears the field bit
7977            #[inline(always)]
7978            pub fn clear_bit(self) -> &'a mut W {
7979                self.bit(false)
7980            }
7981            ///Writes raw bits to the field
7982            #[inline(always)]
7983            pub fn bit(self, value: bool) -> &'a mut W {
7984                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
7985                self.w
7986            }
7987        }
7988        impl R {
7989            ///Bit 14 - Memory to memory mode
7990            #[inline(always)]
7991            pub fn mem2mem(&self) -> MEM2MEM_R {
7992                MEM2MEM_R::new(((self.bits >> 14) & 0x01) != 0)
7993            }
7994            ///Bits 12:13 - Channel priority level
7995            #[inline(always)]
7996            pub fn pl(&self) -> PL_R {
7997                PL_R::new(((self.bits >> 12) & 0x03) as u8)
7998            }
7999            ///Bits 10:11 - Memory size
8000            #[inline(always)]
8001            pub fn msize(&self) -> MSIZE_R {
8002                MSIZE_R::new(((self.bits >> 10) & 0x03) as u8)
8003            }
8004            ///Bits 8:9 - Peripheral size
8005            #[inline(always)]
8006            pub fn psize(&self) -> PSIZE_R {
8007                PSIZE_R::new(((self.bits >> 8) & 0x03) as u8)
8008            }
8009            ///Bit 7 - Memory increment mode
8010            #[inline(always)]
8011            pub fn minc(&self) -> MINC_R {
8012                MINC_R::new(((self.bits >> 7) & 0x01) != 0)
8013            }
8014            ///Bit 6 - Peripheral increment mode
8015            #[inline(always)]
8016            pub fn pinc(&self) -> PINC_R {
8017                PINC_R::new(((self.bits >> 6) & 0x01) != 0)
8018            }
8019            ///Bit 5 - Circular mode
8020            #[inline(always)]
8021            pub fn circ(&self) -> CIRC_R {
8022                CIRC_R::new(((self.bits >> 5) & 0x01) != 0)
8023            }
8024            ///Bit 4 - Data transfer direction
8025            #[inline(always)]
8026            pub fn dir(&self) -> DIR_R {
8027                DIR_R::new(((self.bits >> 4) & 0x01) != 0)
8028            }
8029            ///Bit 3 - Transfer error interrupt enable
8030            #[inline(always)]
8031            pub fn teie(&self) -> TEIE_R {
8032                TEIE_R::new(((self.bits >> 3) & 0x01) != 0)
8033            }
8034            ///Bit 2 - Half transfer interrupt enable
8035            #[inline(always)]
8036            pub fn htie(&self) -> HTIE_R {
8037                HTIE_R::new(((self.bits >> 2) & 0x01) != 0)
8038            }
8039            ///Bit 1 - Transfer complete interrupt enable
8040            #[inline(always)]
8041            pub fn tcie(&self) -> TCIE_R {
8042                TCIE_R::new(((self.bits >> 1) & 0x01) != 0)
8043            }
8044            ///Bit 0 - Channel enable
8045            #[inline(always)]
8046            pub fn en(&self) -> EN_R {
8047                EN_R::new((self.bits & 0x01) != 0)
8048            }
8049        }
8050        impl W {
8051            ///Bit 14 - Memory to memory mode
8052            #[inline(always)]
8053            pub fn mem2mem(&mut self) -> MEM2MEM_W {
8054                MEM2MEM_W { w: self }
8055            }
8056            ///Bits 12:13 - Channel priority level
8057            #[inline(always)]
8058            pub fn pl(&mut self) -> PL_W {
8059                PL_W { w: self }
8060            }
8061            ///Bits 10:11 - Memory size
8062            #[inline(always)]
8063            pub fn msize(&mut self) -> MSIZE_W {
8064                MSIZE_W { w: self }
8065            }
8066            ///Bits 8:9 - Peripheral size
8067            #[inline(always)]
8068            pub fn psize(&mut self) -> PSIZE_W {
8069                PSIZE_W { w: self }
8070            }
8071            ///Bit 7 - Memory increment mode
8072            #[inline(always)]
8073            pub fn minc(&mut self) -> MINC_W {
8074                MINC_W { w: self }
8075            }
8076            ///Bit 6 - Peripheral increment mode
8077            #[inline(always)]
8078            pub fn pinc(&mut self) -> PINC_W {
8079                PINC_W { w: self }
8080            }
8081            ///Bit 5 - Circular mode
8082            #[inline(always)]
8083            pub fn circ(&mut self) -> CIRC_W {
8084                CIRC_W { w: self }
8085            }
8086            ///Bit 4 - Data transfer direction
8087            #[inline(always)]
8088            pub fn dir(&mut self) -> DIR_W {
8089                DIR_W { w: self }
8090            }
8091            ///Bit 3 - Transfer error interrupt enable
8092            #[inline(always)]
8093            pub fn teie(&mut self) -> TEIE_W {
8094                TEIE_W { w: self }
8095            }
8096            ///Bit 2 - Half transfer interrupt enable
8097            #[inline(always)]
8098            pub fn htie(&mut self) -> HTIE_W {
8099                HTIE_W { w: self }
8100            }
8101            ///Bit 1 - Transfer complete interrupt enable
8102            #[inline(always)]
8103            pub fn tcie(&mut self) -> TCIE_W {
8104                TCIE_W { w: self }
8105            }
8106            ///Bit 0 - Channel enable
8107            #[inline(always)]
8108            pub fn en(&mut self) -> EN_W {
8109                EN_W { w: self }
8110            }
8111        }
8112    }
8113    ///channel x number of data register
8114    ///
8115    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
8116    ///
8117    ///For information about available fields see [cndtr3](cndtr3) module
8118    pub type CNDTR3 = crate::Reg<u32, _CNDTR3>;
8119    #[allow(missing_docs)]
8120    #[doc(hidden)]
8121    pub struct _CNDTR3;
8122    ///`read()` method returns [cndtr3::R](cndtr3::R) reader structure
8123    impl crate::Readable for CNDTR3 {}
8124    ///`write(|w| ..)` method takes [cndtr3::W](cndtr3::W) writer structure
8125    impl crate::Writable for CNDTR3 {}
8126    ///channel x number of data register
8127    pub mod cndtr3 {
8128        ///Reader of register CNDTR3
8129        pub type R = crate::R<u32, super::CNDTR3>;
8130        ///Writer for register CNDTR3
8131        pub type W = crate::W<u32, super::CNDTR3>;
8132        ///Register CNDTR3 `reset()`'s with value 0
8133        impl crate::ResetValue for super::CNDTR3 {
8134            type Type = u32;
8135            #[inline(always)]
8136            fn reset_value() -> Self::Type {
8137                0
8138            }
8139        }
8140        ///Reader of field `NDT`
8141        pub type NDT_R = crate::R<u16, u16>;
8142        ///Write proxy for field `NDT`
8143        pub struct NDT_W<'a> {
8144            w: &'a mut W,
8145        }
8146        impl<'a> NDT_W<'a> {
8147            ///Writes raw bits to the field
8148            #[inline(always)]
8149            pub unsafe fn bits(self, value: u16) -> &'a mut W {
8150                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
8151                self.w
8152            }
8153        }
8154        impl R {
8155            ///Bits 0:15 - Number of data to transfer
8156            #[inline(always)]
8157            pub fn ndt(&self) -> NDT_R {
8158                NDT_R::new((self.bits & 0xffff) as u16)
8159            }
8160        }
8161        impl W {
8162            ///Bits 0:15 - Number of data to transfer
8163            #[inline(always)]
8164            pub fn ndt(&mut self) -> NDT_W {
8165                NDT_W { w: self }
8166            }
8167        }
8168    }
8169    ///channel x peripheral address register
8170    ///
8171    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
8172    ///
8173    ///For information about available fields see [cpar3](cpar3) module
8174    pub type CPAR3 = crate::Reg<u32, _CPAR3>;
8175    #[allow(missing_docs)]
8176    #[doc(hidden)]
8177    pub struct _CPAR3;
8178    ///`read()` method returns [cpar3::R](cpar3::R) reader structure
8179    impl crate::Readable for CPAR3 {}
8180    ///`write(|w| ..)` method takes [cpar3::W](cpar3::W) writer structure
8181    impl crate::Writable for CPAR3 {}
8182    ///channel x peripheral address register
8183    pub mod cpar3 {
8184        ///Reader of register CPAR3
8185        pub type R = crate::R<u32, super::CPAR3>;
8186        ///Writer for register CPAR3
8187        pub type W = crate::W<u32, super::CPAR3>;
8188        ///Register CPAR3 `reset()`'s with value 0
8189        impl crate::ResetValue for super::CPAR3 {
8190            type Type = u32;
8191            #[inline(always)]
8192            fn reset_value() -> Self::Type {
8193                0
8194            }
8195        }
8196        ///Reader of field `PA`
8197        pub type PA_R = crate::R<u32, u32>;
8198        ///Write proxy for field `PA`
8199        pub struct PA_W<'a> {
8200            w: &'a mut W,
8201        }
8202        impl<'a> PA_W<'a> {
8203            ///Writes raw bits to the field
8204            #[inline(always)]
8205            pub unsafe fn bits(self, value: u32) -> &'a mut W {
8206                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
8207                self.w
8208            }
8209        }
8210        impl R {
8211            ///Bits 0:31 - Peripheral address
8212            #[inline(always)]
8213            pub fn pa(&self) -> PA_R {
8214                PA_R::new((self.bits & 0xffff_ffff) as u32)
8215            }
8216        }
8217        impl W {
8218            ///Bits 0:31 - Peripheral address
8219            #[inline(always)]
8220            pub fn pa(&mut self) -> PA_W {
8221                PA_W { w: self }
8222            }
8223        }
8224    }
8225    ///channel x memory address register
8226    ///
8227    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
8228    ///
8229    ///For information about available fields see [cmar3](cmar3) module
8230    pub type CMAR3 = crate::Reg<u32, _CMAR3>;
8231    #[allow(missing_docs)]
8232    #[doc(hidden)]
8233    pub struct _CMAR3;
8234    ///`read()` method returns [cmar3::R](cmar3::R) reader structure
8235    impl crate::Readable for CMAR3 {}
8236    ///`write(|w| ..)` method takes [cmar3::W](cmar3::W) writer structure
8237    impl crate::Writable for CMAR3 {}
8238    ///channel x memory address register
8239    pub mod cmar3 {
8240        ///Reader of register CMAR3
8241        pub type R = crate::R<u32, super::CMAR3>;
8242        ///Writer for register CMAR3
8243        pub type W = crate::W<u32, super::CMAR3>;
8244        ///Register CMAR3 `reset()`'s with value 0
8245        impl crate::ResetValue for super::CMAR3 {
8246            type Type = u32;
8247            #[inline(always)]
8248            fn reset_value() -> Self::Type {
8249                0
8250            }
8251        }
8252        ///Reader of field `MA`
8253        pub type MA_R = crate::R<u32, u32>;
8254        ///Write proxy for field `MA`
8255        pub struct MA_W<'a> {
8256            w: &'a mut W,
8257        }
8258        impl<'a> MA_W<'a> {
8259            ///Writes raw bits to the field
8260            #[inline(always)]
8261            pub unsafe fn bits(self, value: u32) -> &'a mut W {
8262                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
8263                self.w
8264            }
8265        }
8266        impl R {
8267            ///Bits 0:31 - Memory address
8268            #[inline(always)]
8269            pub fn ma(&self) -> MA_R {
8270                MA_R::new((self.bits & 0xffff_ffff) as u32)
8271            }
8272        }
8273        impl W {
8274            ///Bits 0:31 - Memory address
8275            #[inline(always)]
8276            pub fn ma(&mut self) -> MA_W {
8277                MA_W { w: self }
8278            }
8279        }
8280    }
8281    ///channel x configuration register
8282    ///
8283    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
8284    ///
8285    ///For information about available fields see [ccr4](ccr4) module
8286    pub type CCR4 = crate::Reg<u32, _CCR4>;
8287    #[allow(missing_docs)]
8288    #[doc(hidden)]
8289    pub struct _CCR4;
8290    ///`read()` method returns [ccr4::R](ccr4::R) reader structure
8291    impl crate::Readable for CCR4 {}
8292    ///`write(|w| ..)` method takes [ccr4::W](ccr4::W) writer structure
8293    impl crate::Writable for CCR4 {}
8294    ///channel x configuration register
8295    pub mod ccr4 {
8296        ///Reader of register CCR4
8297        pub type R = crate::R<u32, super::CCR4>;
8298        ///Writer for register CCR4
8299        pub type W = crate::W<u32, super::CCR4>;
8300        ///Register CCR4 `reset()`'s with value 0
8301        impl crate::ResetValue for super::CCR4 {
8302            type Type = u32;
8303            #[inline(always)]
8304            fn reset_value() -> Self::Type {
8305                0
8306            }
8307        }
8308        ///Reader of field `MEM2MEM`
8309        pub type MEM2MEM_R = crate::R<bool, bool>;
8310        ///Write proxy for field `MEM2MEM`
8311        pub struct MEM2MEM_W<'a> {
8312            w: &'a mut W,
8313        }
8314        impl<'a> MEM2MEM_W<'a> {
8315            ///Sets the field bit
8316            #[inline(always)]
8317            pub fn set_bit(self) -> &'a mut W {
8318                self.bit(true)
8319            }
8320            ///Clears the field bit
8321            #[inline(always)]
8322            pub fn clear_bit(self) -> &'a mut W {
8323                self.bit(false)
8324            }
8325            ///Writes raw bits to the field
8326            #[inline(always)]
8327            pub fn bit(self, value: bool) -> &'a mut W {
8328                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
8329                self.w
8330            }
8331        }
8332        ///Reader of field `PL`
8333        pub type PL_R = crate::R<u8, u8>;
8334        ///Write proxy for field `PL`
8335        pub struct PL_W<'a> {
8336            w: &'a mut W,
8337        }
8338        impl<'a> PL_W<'a> {
8339            ///Writes raw bits to the field
8340            #[inline(always)]
8341            pub unsafe fn bits(self, value: u8) -> &'a mut W {
8342                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
8343                self.w
8344            }
8345        }
8346        ///Reader of field `MSIZE`
8347        pub type MSIZE_R = crate::R<u8, u8>;
8348        ///Write proxy for field `MSIZE`
8349        pub struct MSIZE_W<'a> {
8350            w: &'a mut W,
8351        }
8352        impl<'a> MSIZE_W<'a> {
8353            ///Writes raw bits to the field
8354            #[inline(always)]
8355            pub unsafe fn bits(self, value: u8) -> &'a mut W {
8356                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
8357                self.w
8358            }
8359        }
8360        ///Reader of field `PSIZE`
8361        pub type PSIZE_R = crate::R<u8, u8>;
8362        ///Write proxy for field `PSIZE`
8363        pub struct PSIZE_W<'a> {
8364            w: &'a mut W,
8365        }
8366        impl<'a> PSIZE_W<'a> {
8367            ///Writes raw bits to the field
8368            #[inline(always)]
8369            pub unsafe fn bits(self, value: u8) -> &'a mut W {
8370                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
8371                self.w
8372            }
8373        }
8374        ///Reader of field `MINC`
8375        pub type MINC_R = crate::R<bool, bool>;
8376        ///Write proxy for field `MINC`
8377        pub struct MINC_W<'a> {
8378            w: &'a mut W,
8379        }
8380        impl<'a> MINC_W<'a> {
8381            ///Sets the field bit
8382            #[inline(always)]
8383            pub fn set_bit(self) -> &'a mut W {
8384                self.bit(true)
8385            }
8386            ///Clears the field bit
8387            #[inline(always)]
8388            pub fn clear_bit(self) -> &'a mut W {
8389                self.bit(false)
8390            }
8391            ///Writes raw bits to the field
8392            #[inline(always)]
8393            pub fn bit(self, value: bool) -> &'a mut W {
8394                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
8395                self.w
8396            }
8397        }
8398        ///Reader of field `PINC`
8399        pub type PINC_R = crate::R<bool, bool>;
8400        ///Write proxy for field `PINC`
8401        pub struct PINC_W<'a> {
8402            w: &'a mut W,
8403        }
8404        impl<'a> PINC_W<'a> {
8405            ///Sets the field bit
8406            #[inline(always)]
8407            pub fn set_bit(self) -> &'a mut W {
8408                self.bit(true)
8409            }
8410            ///Clears the field bit
8411            #[inline(always)]
8412            pub fn clear_bit(self) -> &'a mut W {
8413                self.bit(false)
8414            }
8415            ///Writes raw bits to the field
8416            #[inline(always)]
8417            pub fn bit(self, value: bool) -> &'a mut W {
8418                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
8419                self.w
8420            }
8421        }
8422        ///Reader of field `CIRC`
8423        pub type CIRC_R = crate::R<bool, bool>;
8424        ///Write proxy for field `CIRC`
8425        pub struct CIRC_W<'a> {
8426            w: &'a mut W,
8427        }
8428        impl<'a> CIRC_W<'a> {
8429            ///Sets the field bit
8430            #[inline(always)]
8431            pub fn set_bit(self) -> &'a mut W {
8432                self.bit(true)
8433            }
8434            ///Clears the field bit
8435            #[inline(always)]
8436            pub fn clear_bit(self) -> &'a mut W {
8437                self.bit(false)
8438            }
8439            ///Writes raw bits to the field
8440            #[inline(always)]
8441            pub fn bit(self, value: bool) -> &'a mut W {
8442                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
8443                self.w
8444            }
8445        }
8446        ///Reader of field `DIR`
8447        pub type DIR_R = crate::R<bool, bool>;
8448        ///Write proxy for field `DIR`
8449        pub struct DIR_W<'a> {
8450            w: &'a mut W,
8451        }
8452        impl<'a> DIR_W<'a> {
8453            ///Sets the field bit
8454            #[inline(always)]
8455            pub fn set_bit(self) -> &'a mut W {
8456                self.bit(true)
8457            }
8458            ///Clears the field bit
8459            #[inline(always)]
8460            pub fn clear_bit(self) -> &'a mut W {
8461                self.bit(false)
8462            }
8463            ///Writes raw bits to the field
8464            #[inline(always)]
8465            pub fn bit(self, value: bool) -> &'a mut W {
8466                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
8467                self.w
8468            }
8469        }
8470        ///Reader of field `TEIE`
8471        pub type TEIE_R = crate::R<bool, bool>;
8472        ///Write proxy for field `TEIE`
8473        pub struct TEIE_W<'a> {
8474            w: &'a mut W,
8475        }
8476        impl<'a> TEIE_W<'a> {
8477            ///Sets the field bit
8478            #[inline(always)]
8479            pub fn set_bit(self) -> &'a mut W {
8480                self.bit(true)
8481            }
8482            ///Clears the field bit
8483            #[inline(always)]
8484            pub fn clear_bit(self) -> &'a mut W {
8485                self.bit(false)
8486            }
8487            ///Writes raw bits to the field
8488            #[inline(always)]
8489            pub fn bit(self, value: bool) -> &'a mut W {
8490                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
8491                self.w
8492            }
8493        }
8494        ///Reader of field `HTIE`
8495        pub type HTIE_R = crate::R<bool, bool>;
8496        ///Write proxy for field `HTIE`
8497        pub struct HTIE_W<'a> {
8498            w: &'a mut W,
8499        }
8500        impl<'a> HTIE_W<'a> {
8501            ///Sets the field bit
8502            #[inline(always)]
8503            pub fn set_bit(self) -> &'a mut W {
8504                self.bit(true)
8505            }
8506            ///Clears the field bit
8507            #[inline(always)]
8508            pub fn clear_bit(self) -> &'a mut W {
8509                self.bit(false)
8510            }
8511            ///Writes raw bits to the field
8512            #[inline(always)]
8513            pub fn bit(self, value: bool) -> &'a mut W {
8514                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
8515                self.w
8516            }
8517        }
8518        ///Reader of field `TCIE`
8519        pub type TCIE_R = crate::R<bool, bool>;
8520        ///Write proxy for field `TCIE`
8521        pub struct TCIE_W<'a> {
8522            w: &'a mut W,
8523        }
8524        impl<'a> TCIE_W<'a> {
8525            ///Sets the field bit
8526            #[inline(always)]
8527            pub fn set_bit(self) -> &'a mut W {
8528                self.bit(true)
8529            }
8530            ///Clears the field bit
8531            #[inline(always)]
8532            pub fn clear_bit(self) -> &'a mut W {
8533                self.bit(false)
8534            }
8535            ///Writes raw bits to the field
8536            #[inline(always)]
8537            pub fn bit(self, value: bool) -> &'a mut W {
8538                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
8539                self.w
8540            }
8541        }
8542        ///Reader of field `EN`
8543        pub type EN_R = crate::R<bool, bool>;
8544        ///Write proxy for field `EN`
8545        pub struct EN_W<'a> {
8546            w: &'a mut W,
8547        }
8548        impl<'a> EN_W<'a> {
8549            ///Sets the field bit
8550            #[inline(always)]
8551            pub fn set_bit(self) -> &'a mut W {
8552                self.bit(true)
8553            }
8554            ///Clears the field bit
8555            #[inline(always)]
8556            pub fn clear_bit(self) -> &'a mut W {
8557                self.bit(false)
8558            }
8559            ///Writes raw bits to the field
8560            #[inline(always)]
8561            pub fn bit(self, value: bool) -> &'a mut W {
8562                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
8563                self.w
8564            }
8565        }
8566        impl R {
8567            ///Bit 14 - Memory to memory mode
8568            #[inline(always)]
8569            pub fn mem2mem(&self) -> MEM2MEM_R {
8570                MEM2MEM_R::new(((self.bits >> 14) & 0x01) != 0)
8571            }
8572            ///Bits 12:13 - Channel priority level
8573            #[inline(always)]
8574            pub fn pl(&self) -> PL_R {
8575                PL_R::new(((self.bits >> 12) & 0x03) as u8)
8576            }
8577            ///Bits 10:11 - Memory size
8578            #[inline(always)]
8579            pub fn msize(&self) -> MSIZE_R {
8580                MSIZE_R::new(((self.bits >> 10) & 0x03) as u8)
8581            }
8582            ///Bits 8:9 - Peripheral size
8583            #[inline(always)]
8584            pub fn psize(&self) -> PSIZE_R {
8585                PSIZE_R::new(((self.bits >> 8) & 0x03) as u8)
8586            }
8587            ///Bit 7 - Memory increment mode
8588            #[inline(always)]
8589            pub fn minc(&self) -> MINC_R {
8590                MINC_R::new(((self.bits >> 7) & 0x01) != 0)
8591            }
8592            ///Bit 6 - Peripheral increment mode
8593            #[inline(always)]
8594            pub fn pinc(&self) -> PINC_R {
8595                PINC_R::new(((self.bits >> 6) & 0x01) != 0)
8596            }
8597            ///Bit 5 - Circular mode
8598            #[inline(always)]
8599            pub fn circ(&self) -> CIRC_R {
8600                CIRC_R::new(((self.bits >> 5) & 0x01) != 0)
8601            }
8602            ///Bit 4 - Data transfer direction
8603            #[inline(always)]
8604            pub fn dir(&self) -> DIR_R {
8605                DIR_R::new(((self.bits >> 4) & 0x01) != 0)
8606            }
8607            ///Bit 3 - Transfer error interrupt enable
8608            #[inline(always)]
8609            pub fn teie(&self) -> TEIE_R {
8610                TEIE_R::new(((self.bits >> 3) & 0x01) != 0)
8611            }
8612            ///Bit 2 - Half transfer interrupt enable
8613            #[inline(always)]
8614            pub fn htie(&self) -> HTIE_R {
8615                HTIE_R::new(((self.bits >> 2) & 0x01) != 0)
8616            }
8617            ///Bit 1 - Transfer complete interrupt enable
8618            #[inline(always)]
8619            pub fn tcie(&self) -> TCIE_R {
8620                TCIE_R::new(((self.bits >> 1) & 0x01) != 0)
8621            }
8622            ///Bit 0 - Channel enable
8623            #[inline(always)]
8624            pub fn en(&self) -> EN_R {
8625                EN_R::new((self.bits & 0x01) != 0)
8626            }
8627        }
8628        impl W {
8629            ///Bit 14 - Memory to memory mode
8630            #[inline(always)]
8631            pub fn mem2mem(&mut self) -> MEM2MEM_W {
8632                MEM2MEM_W { w: self }
8633            }
8634            ///Bits 12:13 - Channel priority level
8635            #[inline(always)]
8636            pub fn pl(&mut self) -> PL_W {
8637                PL_W { w: self }
8638            }
8639            ///Bits 10:11 - Memory size
8640            #[inline(always)]
8641            pub fn msize(&mut self) -> MSIZE_W {
8642                MSIZE_W { w: self }
8643            }
8644            ///Bits 8:9 - Peripheral size
8645            #[inline(always)]
8646            pub fn psize(&mut self) -> PSIZE_W {
8647                PSIZE_W { w: self }
8648            }
8649            ///Bit 7 - Memory increment mode
8650            #[inline(always)]
8651            pub fn minc(&mut self) -> MINC_W {
8652                MINC_W { w: self }
8653            }
8654            ///Bit 6 - Peripheral increment mode
8655            #[inline(always)]
8656            pub fn pinc(&mut self) -> PINC_W {
8657                PINC_W { w: self }
8658            }
8659            ///Bit 5 - Circular mode
8660            #[inline(always)]
8661            pub fn circ(&mut self) -> CIRC_W {
8662                CIRC_W { w: self }
8663            }
8664            ///Bit 4 - Data transfer direction
8665            #[inline(always)]
8666            pub fn dir(&mut self) -> DIR_W {
8667                DIR_W { w: self }
8668            }
8669            ///Bit 3 - Transfer error interrupt enable
8670            #[inline(always)]
8671            pub fn teie(&mut self) -> TEIE_W {
8672                TEIE_W { w: self }
8673            }
8674            ///Bit 2 - Half transfer interrupt enable
8675            #[inline(always)]
8676            pub fn htie(&mut self) -> HTIE_W {
8677                HTIE_W { w: self }
8678            }
8679            ///Bit 1 - Transfer complete interrupt enable
8680            #[inline(always)]
8681            pub fn tcie(&mut self) -> TCIE_W {
8682                TCIE_W { w: self }
8683            }
8684            ///Bit 0 - Channel enable
8685            #[inline(always)]
8686            pub fn en(&mut self) -> EN_W {
8687                EN_W { w: self }
8688            }
8689        }
8690    }
8691    ///channel x number of data register
8692    ///
8693    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
8694    ///
8695    ///For information about available fields see [cndtr4](cndtr4) module
8696    pub type CNDTR4 = crate::Reg<u32, _CNDTR4>;
8697    #[allow(missing_docs)]
8698    #[doc(hidden)]
8699    pub struct _CNDTR4;
8700    ///`read()` method returns [cndtr4::R](cndtr4::R) reader structure
8701    impl crate::Readable for CNDTR4 {}
8702    ///`write(|w| ..)` method takes [cndtr4::W](cndtr4::W) writer structure
8703    impl crate::Writable for CNDTR4 {}
8704    ///channel x number of data register
8705    pub mod cndtr4 {
8706        ///Reader of register CNDTR4
8707        pub type R = crate::R<u32, super::CNDTR4>;
8708        ///Writer for register CNDTR4
8709        pub type W = crate::W<u32, super::CNDTR4>;
8710        ///Register CNDTR4 `reset()`'s with value 0
8711        impl crate::ResetValue for super::CNDTR4 {
8712            type Type = u32;
8713            #[inline(always)]
8714            fn reset_value() -> Self::Type {
8715                0
8716            }
8717        }
8718        ///Reader of field `NDT`
8719        pub type NDT_R = crate::R<u16, u16>;
8720        ///Write proxy for field `NDT`
8721        pub struct NDT_W<'a> {
8722            w: &'a mut W,
8723        }
8724        impl<'a> NDT_W<'a> {
8725            ///Writes raw bits to the field
8726            #[inline(always)]
8727            pub unsafe fn bits(self, value: u16) -> &'a mut W {
8728                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
8729                self.w
8730            }
8731        }
8732        impl R {
8733            ///Bits 0:15 - Number of data to transfer
8734            #[inline(always)]
8735            pub fn ndt(&self) -> NDT_R {
8736                NDT_R::new((self.bits & 0xffff) as u16)
8737            }
8738        }
8739        impl W {
8740            ///Bits 0:15 - Number of data to transfer
8741            #[inline(always)]
8742            pub fn ndt(&mut self) -> NDT_W {
8743                NDT_W { w: self }
8744            }
8745        }
8746    }
8747    ///channel x peripheral address register
8748    ///
8749    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
8750    ///
8751    ///For information about available fields see [cpar4](cpar4) module
8752    pub type CPAR4 = crate::Reg<u32, _CPAR4>;
8753    #[allow(missing_docs)]
8754    #[doc(hidden)]
8755    pub struct _CPAR4;
8756    ///`read()` method returns [cpar4::R](cpar4::R) reader structure
8757    impl crate::Readable for CPAR4 {}
8758    ///`write(|w| ..)` method takes [cpar4::W](cpar4::W) writer structure
8759    impl crate::Writable for CPAR4 {}
8760    ///channel x peripheral address register
8761    pub mod cpar4 {
8762        ///Reader of register CPAR4
8763        pub type R = crate::R<u32, super::CPAR4>;
8764        ///Writer for register CPAR4
8765        pub type W = crate::W<u32, super::CPAR4>;
8766        ///Register CPAR4 `reset()`'s with value 0
8767        impl crate::ResetValue for super::CPAR4 {
8768            type Type = u32;
8769            #[inline(always)]
8770            fn reset_value() -> Self::Type {
8771                0
8772            }
8773        }
8774        ///Reader of field `PA`
8775        pub type PA_R = crate::R<u32, u32>;
8776        ///Write proxy for field `PA`
8777        pub struct PA_W<'a> {
8778            w: &'a mut W,
8779        }
8780        impl<'a> PA_W<'a> {
8781            ///Writes raw bits to the field
8782            #[inline(always)]
8783            pub unsafe fn bits(self, value: u32) -> &'a mut W {
8784                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
8785                self.w
8786            }
8787        }
8788        impl R {
8789            ///Bits 0:31 - Peripheral address
8790            #[inline(always)]
8791            pub fn pa(&self) -> PA_R {
8792                PA_R::new((self.bits & 0xffff_ffff) as u32)
8793            }
8794        }
8795        impl W {
8796            ///Bits 0:31 - Peripheral address
8797            #[inline(always)]
8798            pub fn pa(&mut self) -> PA_W {
8799                PA_W { w: self }
8800            }
8801        }
8802    }
8803    ///channel x memory address register
8804    ///
8805    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
8806    ///
8807    ///For information about available fields see [cmar4](cmar4) module
8808    pub type CMAR4 = crate::Reg<u32, _CMAR4>;
8809    #[allow(missing_docs)]
8810    #[doc(hidden)]
8811    pub struct _CMAR4;
8812    ///`read()` method returns [cmar4::R](cmar4::R) reader structure
8813    impl crate::Readable for CMAR4 {}
8814    ///`write(|w| ..)` method takes [cmar4::W](cmar4::W) writer structure
8815    impl crate::Writable for CMAR4 {}
8816    ///channel x memory address register
8817    pub mod cmar4 {
8818        ///Reader of register CMAR4
8819        pub type R = crate::R<u32, super::CMAR4>;
8820        ///Writer for register CMAR4
8821        pub type W = crate::W<u32, super::CMAR4>;
8822        ///Register CMAR4 `reset()`'s with value 0
8823        impl crate::ResetValue for super::CMAR4 {
8824            type Type = u32;
8825            #[inline(always)]
8826            fn reset_value() -> Self::Type {
8827                0
8828            }
8829        }
8830        ///Reader of field `MA`
8831        pub type MA_R = crate::R<u32, u32>;
8832        ///Write proxy for field `MA`
8833        pub struct MA_W<'a> {
8834            w: &'a mut W,
8835        }
8836        impl<'a> MA_W<'a> {
8837            ///Writes raw bits to the field
8838            #[inline(always)]
8839            pub unsafe fn bits(self, value: u32) -> &'a mut W {
8840                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
8841                self.w
8842            }
8843        }
8844        impl R {
8845            ///Bits 0:31 - Memory address
8846            #[inline(always)]
8847            pub fn ma(&self) -> MA_R {
8848                MA_R::new((self.bits & 0xffff_ffff) as u32)
8849            }
8850        }
8851        impl W {
8852            ///Bits 0:31 - Memory address
8853            #[inline(always)]
8854            pub fn ma(&mut self) -> MA_W {
8855                MA_W { w: self }
8856            }
8857        }
8858    }
8859    ///channel x configuration register
8860    ///
8861    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
8862    ///
8863    ///For information about available fields see [ccr5](ccr5) module
8864    pub type CCR5 = crate::Reg<u32, _CCR5>;
8865    #[allow(missing_docs)]
8866    #[doc(hidden)]
8867    pub struct _CCR5;
8868    ///`read()` method returns [ccr5::R](ccr5::R) reader structure
8869    impl crate::Readable for CCR5 {}
8870    ///`write(|w| ..)` method takes [ccr5::W](ccr5::W) writer structure
8871    impl crate::Writable for CCR5 {}
8872    ///channel x configuration register
8873    pub mod ccr5 {
8874        ///Reader of register CCR5
8875        pub type R = crate::R<u32, super::CCR5>;
8876        ///Writer for register CCR5
8877        pub type W = crate::W<u32, super::CCR5>;
8878        ///Register CCR5 `reset()`'s with value 0
8879        impl crate::ResetValue for super::CCR5 {
8880            type Type = u32;
8881            #[inline(always)]
8882            fn reset_value() -> Self::Type {
8883                0
8884            }
8885        }
8886        ///Reader of field `MEM2MEM`
8887        pub type MEM2MEM_R = crate::R<bool, bool>;
8888        ///Write proxy for field `MEM2MEM`
8889        pub struct MEM2MEM_W<'a> {
8890            w: &'a mut W,
8891        }
8892        impl<'a> MEM2MEM_W<'a> {
8893            ///Sets the field bit
8894            #[inline(always)]
8895            pub fn set_bit(self) -> &'a mut W {
8896                self.bit(true)
8897            }
8898            ///Clears the field bit
8899            #[inline(always)]
8900            pub fn clear_bit(self) -> &'a mut W {
8901                self.bit(false)
8902            }
8903            ///Writes raw bits to the field
8904            #[inline(always)]
8905            pub fn bit(self, value: bool) -> &'a mut W {
8906                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
8907                self.w
8908            }
8909        }
8910        ///Reader of field `PL`
8911        pub type PL_R = crate::R<u8, u8>;
8912        ///Write proxy for field `PL`
8913        pub struct PL_W<'a> {
8914            w: &'a mut W,
8915        }
8916        impl<'a> PL_W<'a> {
8917            ///Writes raw bits to the field
8918            #[inline(always)]
8919            pub unsafe fn bits(self, value: u8) -> &'a mut W {
8920                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
8921                self.w
8922            }
8923        }
8924        ///Reader of field `MSIZE`
8925        pub type MSIZE_R = crate::R<u8, u8>;
8926        ///Write proxy for field `MSIZE`
8927        pub struct MSIZE_W<'a> {
8928            w: &'a mut W,
8929        }
8930        impl<'a> MSIZE_W<'a> {
8931            ///Writes raw bits to the field
8932            #[inline(always)]
8933            pub unsafe fn bits(self, value: u8) -> &'a mut W {
8934                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
8935                self.w
8936            }
8937        }
8938        ///Reader of field `PSIZE`
8939        pub type PSIZE_R = crate::R<u8, u8>;
8940        ///Write proxy for field `PSIZE`
8941        pub struct PSIZE_W<'a> {
8942            w: &'a mut W,
8943        }
8944        impl<'a> PSIZE_W<'a> {
8945            ///Writes raw bits to the field
8946            #[inline(always)]
8947            pub unsafe fn bits(self, value: u8) -> &'a mut W {
8948                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
8949                self.w
8950            }
8951        }
8952        ///Reader of field `MINC`
8953        pub type MINC_R = crate::R<bool, bool>;
8954        ///Write proxy for field `MINC`
8955        pub struct MINC_W<'a> {
8956            w: &'a mut W,
8957        }
8958        impl<'a> MINC_W<'a> {
8959            ///Sets the field bit
8960            #[inline(always)]
8961            pub fn set_bit(self) -> &'a mut W {
8962                self.bit(true)
8963            }
8964            ///Clears the field bit
8965            #[inline(always)]
8966            pub fn clear_bit(self) -> &'a mut W {
8967                self.bit(false)
8968            }
8969            ///Writes raw bits to the field
8970            #[inline(always)]
8971            pub fn bit(self, value: bool) -> &'a mut W {
8972                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
8973                self.w
8974            }
8975        }
8976        ///Reader of field `PINC`
8977        pub type PINC_R = crate::R<bool, bool>;
8978        ///Write proxy for field `PINC`
8979        pub struct PINC_W<'a> {
8980            w: &'a mut W,
8981        }
8982        impl<'a> PINC_W<'a> {
8983            ///Sets the field bit
8984            #[inline(always)]
8985            pub fn set_bit(self) -> &'a mut W {
8986                self.bit(true)
8987            }
8988            ///Clears the field bit
8989            #[inline(always)]
8990            pub fn clear_bit(self) -> &'a mut W {
8991                self.bit(false)
8992            }
8993            ///Writes raw bits to the field
8994            #[inline(always)]
8995            pub fn bit(self, value: bool) -> &'a mut W {
8996                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
8997                self.w
8998            }
8999        }
9000        ///Reader of field `CIRC`
9001        pub type CIRC_R = crate::R<bool, bool>;
9002        ///Write proxy for field `CIRC`
9003        pub struct CIRC_W<'a> {
9004            w: &'a mut W,
9005        }
9006        impl<'a> CIRC_W<'a> {
9007            ///Sets the field bit
9008            #[inline(always)]
9009            pub fn set_bit(self) -> &'a mut W {
9010                self.bit(true)
9011            }
9012            ///Clears the field bit
9013            #[inline(always)]
9014            pub fn clear_bit(self) -> &'a mut W {
9015                self.bit(false)
9016            }
9017            ///Writes raw bits to the field
9018            #[inline(always)]
9019            pub fn bit(self, value: bool) -> &'a mut W {
9020                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
9021                self.w
9022            }
9023        }
9024        ///Reader of field `DIR`
9025        pub type DIR_R = crate::R<bool, bool>;
9026        ///Write proxy for field `DIR`
9027        pub struct DIR_W<'a> {
9028            w: &'a mut W,
9029        }
9030        impl<'a> DIR_W<'a> {
9031            ///Sets the field bit
9032            #[inline(always)]
9033            pub fn set_bit(self) -> &'a mut W {
9034                self.bit(true)
9035            }
9036            ///Clears the field bit
9037            #[inline(always)]
9038            pub fn clear_bit(self) -> &'a mut W {
9039                self.bit(false)
9040            }
9041            ///Writes raw bits to the field
9042            #[inline(always)]
9043            pub fn bit(self, value: bool) -> &'a mut W {
9044                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
9045                self.w
9046            }
9047        }
9048        ///Reader of field `TEIE`
9049        pub type TEIE_R = crate::R<bool, bool>;
9050        ///Write proxy for field `TEIE`
9051        pub struct TEIE_W<'a> {
9052            w: &'a mut W,
9053        }
9054        impl<'a> TEIE_W<'a> {
9055            ///Sets the field bit
9056            #[inline(always)]
9057            pub fn set_bit(self) -> &'a mut W {
9058                self.bit(true)
9059            }
9060            ///Clears the field bit
9061            #[inline(always)]
9062            pub fn clear_bit(self) -> &'a mut W {
9063                self.bit(false)
9064            }
9065            ///Writes raw bits to the field
9066            #[inline(always)]
9067            pub fn bit(self, value: bool) -> &'a mut W {
9068                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
9069                self.w
9070            }
9071        }
9072        ///Reader of field `HTIE`
9073        pub type HTIE_R = crate::R<bool, bool>;
9074        ///Write proxy for field `HTIE`
9075        pub struct HTIE_W<'a> {
9076            w: &'a mut W,
9077        }
9078        impl<'a> HTIE_W<'a> {
9079            ///Sets the field bit
9080            #[inline(always)]
9081            pub fn set_bit(self) -> &'a mut W {
9082                self.bit(true)
9083            }
9084            ///Clears the field bit
9085            #[inline(always)]
9086            pub fn clear_bit(self) -> &'a mut W {
9087                self.bit(false)
9088            }
9089            ///Writes raw bits to the field
9090            #[inline(always)]
9091            pub fn bit(self, value: bool) -> &'a mut W {
9092                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
9093                self.w
9094            }
9095        }
9096        ///Reader of field `TCIE`
9097        pub type TCIE_R = crate::R<bool, bool>;
9098        ///Write proxy for field `TCIE`
9099        pub struct TCIE_W<'a> {
9100            w: &'a mut W,
9101        }
9102        impl<'a> TCIE_W<'a> {
9103            ///Sets the field bit
9104            #[inline(always)]
9105            pub fn set_bit(self) -> &'a mut W {
9106                self.bit(true)
9107            }
9108            ///Clears the field bit
9109            #[inline(always)]
9110            pub fn clear_bit(self) -> &'a mut W {
9111                self.bit(false)
9112            }
9113            ///Writes raw bits to the field
9114            #[inline(always)]
9115            pub fn bit(self, value: bool) -> &'a mut W {
9116                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
9117                self.w
9118            }
9119        }
9120        ///Reader of field `EN`
9121        pub type EN_R = crate::R<bool, bool>;
9122        ///Write proxy for field `EN`
9123        pub struct EN_W<'a> {
9124            w: &'a mut W,
9125        }
9126        impl<'a> EN_W<'a> {
9127            ///Sets the field bit
9128            #[inline(always)]
9129            pub fn set_bit(self) -> &'a mut W {
9130                self.bit(true)
9131            }
9132            ///Clears the field bit
9133            #[inline(always)]
9134            pub fn clear_bit(self) -> &'a mut W {
9135                self.bit(false)
9136            }
9137            ///Writes raw bits to the field
9138            #[inline(always)]
9139            pub fn bit(self, value: bool) -> &'a mut W {
9140                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
9141                self.w
9142            }
9143        }
9144        impl R {
9145            ///Bit 14 - Memory to memory mode
9146            #[inline(always)]
9147            pub fn mem2mem(&self) -> MEM2MEM_R {
9148                MEM2MEM_R::new(((self.bits >> 14) & 0x01) != 0)
9149            }
9150            ///Bits 12:13 - Channel priority level
9151            #[inline(always)]
9152            pub fn pl(&self) -> PL_R {
9153                PL_R::new(((self.bits >> 12) & 0x03) as u8)
9154            }
9155            ///Bits 10:11 - Memory size
9156            #[inline(always)]
9157            pub fn msize(&self) -> MSIZE_R {
9158                MSIZE_R::new(((self.bits >> 10) & 0x03) as u8)
9159            }
9160            ///Bits 8:9 - Peripheral size
9161            #[inline(always)]
9162            pub fn psize(&self) -> PSIZE_R {
9163                PSIZE_R::new(((self.bits >> 8) & 0x03) as u8)
9164            }
9165            ///Bit 7 - Memory increment mode
9166            #[inline(always)]
9167            pub fn minc(&self) -> MINC_R {
9168                MINC_R::new(((self.bits >> 7) & 0x01) != 0)
9169            }
9170            ///Bit 6 - Peripheral increment mode
9171            #[inline(always)]
9172            pub fn pinc(&self) -> PINC_R {
9173                PINC_R::new(((self.bits >> 6) & 0x01) != 0)
9174            }
9175            ///Bit 5 - Circular mode
9176            #[inline(always)]
9177            pub fn circ(&self) -> CIRC_R {
9178                CIRC_R::new(((self.bits >> 5) & 0x01) != 0)
9179            }
9180            ///Bit 4 - Data transfer direction
9181            #[inline(always)]
9182            pub fn dir(&self) -> DIR_R {
9183                DIR_R::new(((self.bits >> 4) & 0x01) != 0)
9184            }
9185            ///Bit 3 - Transfer error interrupt enable
9186            #[inline(always)]
9187            pub fn teie(&self) -> TEIE_R {
9188                TEIE_R::new(((self.bits >> 3) & 0x01) != 0)
9189            }
9190            ///Bit 2 - Half transfer interrupt enable
9191            #[inline(always)]
9192            pub fn htie(&self) -> HTIE_R {
9193                HTIE_R::new(((self.bits >> 2) & 0x01) != 0)
9194            }
9195            ///Bit 1 - Transfer complete interrupt enable
9196            #[inline(always)]
9197            pub fn tcie(&self) -> TCIE_R {
9198                TCIE_R::new(((self.bits >> 1) & 0x01) != 0)
9199            }
9200            ///Bit 0 - Channel enable
9201            #[inline(always)]
9202            pub fn en(&self) -> EN_R {
9203                EN_R::new((self.bits & 0x01) != 0)
9204            }
9205        }
9206        impl W {
9207            ///Bit 14 - Memory to memory mode
9208            #[inline(always)]
9209            pub fn mem2mem(&mut self) -> MEM2MEM_W {
9210                MEM2MEM_W { w: self }
9211            }
9212            ///Bits 12:13 - Channel priority level
9213            #[inline(always)]
9214            pub fn pl(&mut self) -> PL_W {
9215                PL_W { w: self }
9216            }
9217            ///Bits 10:11 - Memory size
9218            #[inline(always)]
9219            pub fn msize(&mut self) -> MSIZE_W {
9220                MSIZE_W { w: self }
9221            }
9222            ///Bits 8:9 - Peripheral size
9223            #[inline(always)]
9224            pub fn psize(&mut self) -> PSIZE_W {
9225                PSIZE_W { w: self }
9226            }
9227            ///Bit 7 - Memory increment mode
9228            #[inline(always)]
9229            pub fn minc(&mut self) -> MINC_W {
9230                MINC_W { w: self }
9231            }
9232            ///Bit 6 - Peripheral increment mode
9233            #[inline(always)]
9234            pub fn pinc(&mut self) -> PINC_W {
9235                PINC_W { w: self }
9236            }
9237            ///Bit 5 - Circular mode
9238            #[inline(always)]
9239            pub fn circ(&mut self) -> CIRC_W {
9240                CIRC_W { w: self }
9241            }
9242            ///Bit 4 - Data transfer direction
9243            #[inline(always)]
9244            pub fn dir(&mut self) -> DIR_W {
9245                DIR_W { w: self }
9246            }
9247            ///Bit 3 - Transfer error interrupt enable
9248            #[inline(always)]
9249            pub fn teie(&mut self) -> TEIE_W {
9250                TEIE_W { w: self }
9251            }
9252            ///Bit 2 - Half transfer interrupt enable
9253            #[inline(always)]
9254            pub fn htie(&mut self) -> HTIE_W {
9255                HTIE_W { w: self }
9256            }
9257            ///Bit 1 - Transfer complete interrupt enable
9258            #[inline(always)]
9259            pub fn tcie(&mut self) -> TCIE_W {
9260                TCIE_W { w: self }
9261            }
9262            ///Bit 0 - Channel enable
9263            #[inline(always)]
9264            pub fn en(&mut self) -> EN_W {
9265                EN_W { w: self }
9266            }
9267        }
9268    }
9269    ///channel x number of data register
9270    ///
9271    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
9272    ///
9273    ///For information about available fields see [cndtr5](cndtr5) module
9274    pub type CNDTR5 = crate::Reg<u32, _CNDTR5>;
9275    #[allow(missing_docs)]
9276    #[doc(hidden)]
9277    pub struct _CNDTR5;
9278    ///`read()` method returns [cndtr5::R](cndtr5::R) reader structure
9279    impl crate::Readable for CNDTR5 {}
9280    ///`write(|w| ..)` method takes [cndtr5::W](cndtr5::W) writer structure
9281    impl crate::Writable for CNDTR5 {}
9282    ///channel x number of data register
9283    pub mod cndtr5 {
9284        ///Reader of register CNDTR5
9285        pub type R = crate::R<u32, super::CNDTR5>;
9286        ///Writer for register CNDTR5
9287        pub type W = crate::W<u32, super::CNDTR5>;
9288        ///Register CNDTR5 `reset()`'s with value 0
9289        impl crate::ResetValue for super::CNDTR5 {
9290            type Type = u32;
9291            #[inline(always)]
9292            fn reset_value() -> Self::Type {
9293                0
9294            }
9295        }
9296        ///Reader of field `NDT`
9297        pub type NDT_R = crate::R<u16, u16>;
9298        ///Write proxy for field `NDT`
9299        pub struct NDT_W<'a> {
9300            w: &'a mut W,
9301        }
9302        impl<'a> NDT_W<'a> {
9303            ///Writes raw bits to the field
9304            #[inline(always)]
9305            pub unsafe fn bits(self, value: u16) -> &'a mut W {
9306                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
9307                self.w
9308            }
9309        }
9310        impl R {
9311            ///Bits 0:15 - Number of data to transfer
9312            #[inline(always)]
9313            pub fn ndt(&self) -> NDT_R {
9314                NDT_R::new((self.bits & 0xffff) as u16)
9315            }
9316        }
9317        impl W {
9318            ///Bits 0:15 - Number of data to transfer
9319            #[inline(always)]
9320            pub fn ndt(&mut self) -> NDT_W {
9321                NDT_W { w: self }
9322            }
9323        }
9324    }
9325    ///channel x peripheral address register
9326    ///
9327    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
9328    ///
9329    ///For information about available fields see [cpar5](cpar5) module
9330    pub type CPAR5 = crate::Reg<u32, _CPAR5>;
9331    #[allow(missing_docs)]
9332    #[doc(hidden)]
9333    pub struct _CPAR5;
9334    ///`read()` method returns [cpar5::R](cpar5::R) reader structure
9335    impl crate::Readable for CPAR5 {}
9336    ///`write(|w| ..)` method takes [cpar5::W](cpar5::W) writer structure
9337    impl crate::Writable for CPAR5 {}
9338    ///channel x peripheral address register
9339    pub mod cpar5 {
9340        ///Reader of register CPAR5
9341        pub type R = crate::R<u32, super::CPAR5>;
9342        ///Writer for register CPAR5
9343        pub type W = crate::W<u32, super::CPAR5>;
9344        ///Register CPAR5 `reset()`'s with value 0
9345        impl crate::ResetValue for super::CPAR5 {
9346            type Type = u32;
9347            #[inline(always)]
9348            fn reset_value() -> Self::Type {
9349                0
9350            }
9351        }
9352        ///Reader of field `PA`
9353        pub type PA_R = crate::R<u32, u32>;
9354        ///Write proxy for field `PA`
9355        pub struct PA_W<'a> {
9356            w: &'a mut W,
9357        }
9358        impl<'a> PA_W<'a> {
9359            ///Writes raw bits to the field
9360            #[inline(always)]
9361            pub unsafe fn bits(self, value: u32) -> &'a mut W {
9362                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
9363                self.w
9364            }
9365        }
9366        impl R {
9367            ///Bits 0:31 - Peripheral address
9368            #[inline(always)]
9369            pub fn pa(&self) -> PA_R {
9370                PA_R::new((self.bits & 0xffff_ffff) as u32)
9371            }
9372        }
9373        impl W {
9374            ///Bits 0:31 - Peripheral address
9375            #[inline(always)]
9376            pub fn pa(&mut self) -> PA_W {
9377                PA_W { w: self }
9378            }
9379        }
9380    }
9381    ///channel x memory address register
9382    ///
9383    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
9384    ///
9385    ///For information about available fields see [cmar5](cmar5) module
9386    pub type CMAR5 = crate::Reg<u32, _CMAR5>;
9387    #[allow(missing_docs)]
9388    #[doc(hidden)]
9389    pub struct _CMAR5;
9390    ///`read()` method returns [cmar5::R](cmar5::R) reader structure
9391    impl crate::Readable for CMAR5 {}
9392    ///`write(|w| ..)` method takes [cmar5::W](cmar5::W) writer structure
9393    impl crate::Writable for CMAR5 {}
9394    ///channel x memory address register
9395    pub mod cmar5 {
9396        ///Reader of register CMAR5
9397        pub type R = crate::R<u32, super::CMAR5>;
9398        ///Writer for register CMAR5
9399        pub type W = crate::W<u32, super::CMAR5>;
9400        ///Register CMAR5 `reset()`'s with value 0
9401        impl crate::ResetValue for super::CMAR5 {
9402            type Type = u32;
9403            #[inline(always)]
9404            fn reset_value() -> Self::Type {
9405                0
9406            }
9407        }
9408        ///Reader of field `MA`
9409        pub type MA_R = crate::R<u32, u32>;
9410        ///Write proxy for field `MA`
9411        pub struct MA_W<'a> {
9412            w: &'a mut W,
9413        }
9414        impl<'a> MA_W<'a> {
9415            ///Writes raw bits to the field
9416            #[inline(always)]
9417            pub unsafe fn bits(self, value: u32) -> &'a mut W {
9418                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
9419                self.w
9420            }
9421        }
9422        impl R {
9423            ///Bits 0:31 - Memory address
9424            #[inline(always)]
9425            pub fn ma(&self) -> MA_R {
9426                MA_R::new((self.bits & 0xffff_ffff) as u32)
9427            }
9428        }
9429        impl W {
9430            ///Bits 0:31 - Memory address
9431            #[inline(always)]
9432            pub fn ma(&mut self) -> MA_W {
9433                MA_W { w: self }
9434            }
9435        }
9436    }
9437    ///channel x configuration register
9438    ///
9439    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
9440    ///
9441    ///For information about available fields see [ccr6](ccr6) module
9442    pub type CCR6 = crate::Reg<u32, _CCR6>;
9443    #[allow(missing_docs)]
9444    #[doc(hidden)]
9445    pub struct _CCR6;
9446    ///`read()` method returns [ccr6::R](ccr6::R) reader structure
9447    impl crate::Readable for CCR6 {}
9448    ///`write(|w| ..)` method takes [ccr6::W](ccr6::W) writer structure
9449    impl crate::Writable for CCR6 {}
9450    ///channel x configuration register
9451    pub mod ccr6 {
9452        ///Reader of register CCR6
9453        pub type R = crate::R<u32, super::CCR6>;
9454        ///Writer for register CCR6
9455        pub type W = crate::W<u32, super::CCR6>;
9456        ///Register CCR6 `reset()`'s with value 0
9457        impl crate::ResetValue for super::CCR6 {
9458            type Type = u32;
9459            #[inline(always)]
9460            fn reset_value() -> Self::Type {
9461                0
9462            }
9463        }
9464        ///Reader of field `MEM2MEM`
9465        pub type MEM2MEM_R = crate::R<bool, bool>;
9466        ///Write proxy for field `MEM2MEM`
9467        pub struct MEM2MEM_W<'a> {
9468            w: &'a mut W,
9469        }
9470        impl<'a> MEM2MEM_W<'a> {
9471            ///Sets the field bit
9472            #[inline(always)]
9473            pub fn set_bit(self) -> &'a mut W {
9474                self.bit(true)
9475            }
9476            ///Clears the field bit
9477            #[inline(always)]
9478            pub fn clear_bit(self) -> &'a mut W {
9479                self.bit(false)
9480            }
9481            ///Writes raw bits to the field
9482            #[inline(always)]
9483            pub fn bit(self, value: bool) -> &'a mut W {
9484                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
9485                self.w
9486            }
9487        }
9488        ///Reader of field `PL`
9489        pub type PL_R = crate::R<u8, u8>;
9490        ///Write proxy for field `PL`
9491        pub struct PL_W<'a> {
9492            w: &'a mut W,
9493        }
9494        impl<'a> PL_W<'a> {
9495            ///Writes raw bits to the field
9496            #[inline(always)]
9497            pub unsafe fn bits(self, value: u8) -> &'a mut W {
9498                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
9499                self.w
9500            }
9501        }
9502        ///Reader of field `MSIZE`
9503        pub type MSIZE_R = crate::R<u8, u8>;
9504        ///Write proxy for field `MSIZE`
9505        pub struct MSIZE_W<'a> {
9506            w: &'a mut W,
9507        }
9508        impl<'a> MSIZE_W<'a> {
9509            ///Writes raw bits to the field
9510            #[inline(always)]
9511            pub unsafe fn bits(self, value: u8) -> &'a mut W {
9512                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
9513                self.w
9514            }
9515        }
9516        ///Reader of field `PSIZE`
9517        pub type PSIZE_R = crate::R<u8, u8>;
9518        ///Write proxy for field `PSIZE`
9519        pub struct PSIZE_W<'a> {
9520            w: &'a mut W,
9521        }
9522        impl<'a> PSIZE_W<'a> {
9523            ///Writes raw bits to the field
9524            #[inline(always)]
9525            pub unsafe fn bits(self, value: u8) -> &'a mut W {
9526                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
9527                self.w
9528            }
9529        }
9530        ///Reader of field `MINC`
9531        pub type MINC_R = crate::R<bool, bool>;
9532        ///Write proxy for field `MINC`
9533        pub struct MINC_W<'a> {
9534            w: &'a mut W,
9535        }
9536        impl<'a> MINC_W<'a> {
9537            ///Sets the field bit
9538            #[inline(always)]
9539            pub fn set_bit(self) -> &'a mut W {
9540                self.bit(true)
9541            }
9542            ///Clears the field bit
9543            #[inline(always)]
9544            pub fn clear_bit(self) -> &'a mut W {
9545                self.bit(false)
9546            }
9547            ///Writes raw bits to the field
9548            #[inline(always)]
9549            pub fn bit(self, value: bool) -> &'a mut W {
9550                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
9551                self.w
9552            }
9553        }
9554        ///Reader of field `PINC`
9555        pub type PINC_R = crate::R<bool, bool>;
9556        ///Write proxy for field `PINC`
9557        pub struct PINC_W<'a> {
9558            w: &'a mut W,
9559        }
9560        impl<'a> PINC_W<'a> {
9561            ///Sets the field bit
9562            #[inline(always)]
9563            pub fn set_bit(self) -> &'a mut W {
9564                self.bit(true)
9565            }
9566            ///Clears the field bit
9567            #[inline(always)]
9568            pub fn clear_bit(self) -> &'a mut W {
9569                self.bit(false)
9570            }
9571            ///Writes raw bits to the field
9572            #[inline(always)]
9573            pub fn bit(self, value: bool) -> &'a mut W {
9574                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
9575                self.w
9576            }
9577        }
9578        ///Reader of field `CIRC`
9579        pub type CIRC_R = crate::R<bool, bool>;
9580        ///Write proxy for field `CIRC`
9581        pub struct CIRC_W<'a> {
9582            w: &'a mut W,
9583        }
9584        impl<'a> CIRC_W<'a> {
9585            ///Sets the field bit
9586            #[inline(always)]
9587            pub fn set_bit(self) -> &'a mut W {
9588                self.bit(true)
9589            }
9590            ///Clears the field bit
9591            #[inline(always)]
9592            pub fn clear_bit(self) -> &'a mut W {
9593                self.bit(false)
9594            }
9595            ///Writes raw bits to the field
9596            #[inline(always)]
9597            pub fn bit(self, value: bool) -> &'a mut W {
9598                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
9599                self.w
9600            }
9601        }
9602        ///Reader of field `DIR`
9603        pub type DIR_R = crate::R<bool, bool>;
9604        ///Write proxy for field `DIR`
9605        pub struct DIR_W<'a> {
9606            w: &'a mut W,
9607        }
9608        impl<'a> DIR_W<'a> {
9609            ///Sets the field bit
9610            #[inline(always)]
9611            pub fn set_bit(self) -> &'a mut W {
9612                self.bit(true)
9613            }
9614            ///Clears the field bit
9615            #[inline(always)]
9616            pub fn clear_bit(self) -> &'a mut W {
9617                self.bit(false)
9618            }
9619            ///Writes raw bits to the field
9620            #[inline(always)]
9621            pub fn bit(self, value: bool) -> &'a mut W {
9622                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
9623                self.w
9624            }
9625        }
9626        ///Reader of field `TEIE`
9627        pub type TEIE_R = crate::R<bool, bool>;
9628        ///Write proxy for field `TEIE`
9629        pub struct TEIE_W<'a> {
9630            w: &'a mut W,
9631        }
9632        impl<'a> TEIE_W<'a> {
9633            ///Sets the field bit
9634            #[inline(always)]
9635            pub fn set_bit(self) -> &'a mut W {
9636                self.bit(true)
9637            }
9638            ///Clears the field bit
9639            #[inline(always)]
9640            pub fn clear_bit(self) -> &'a mut W {
9641                self.bit(false)
9642            }
9643            ///Writes raw bits to the field
9644            #[inline(always)]
9645            pub fn bit(self, value: bool) -> &'a mut W {
9646                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
9647                self.w
9648            }
9649        }
9650        ///Reader of field `HTIE`
9651        pub type HTIE_R = crate::R<bool, bool>;
9652        ///Write proxy for field `HTIE`
9653        pub struct HTIE_W<'a> {
9654            w: &'a mut W,
9655        }
9656        impl<'a> HTIE_W<'a> {
9657            ///Sets the field bit
9658            #[inline(always)]
9659            pub fn set_bit(self) -> &'a mut W {
9660                self.bit(true)
9661            }
9662            ///Clears the field bit
9663            #[inline(always)]
9664            pub fn clear_bit(self) -> &'a mut W {
9665                self.bit(false)
9666            }
9667            ///Writes raw bits to the field
9668            #[inline(always)]
9669            pub fn bit(self, value: bool) -> &'a mut W {
9670                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
9671                self.w
9672            }
9673        }
9674        ///Reader of field `TCIE`
9675        pub type TCIE_R = crate::R<bool, bool>;
9676        ///Write proxy for field `TCIE`
9677        pub struct TCIE_W<'a> {
9678            w: &'a mut W,
9679        }
9680        impl<'a> TCIE_W<'a> {
9681            ///Sets the field bit
9682            #[inline(always)]
9683            pub fn set_bit(self) -> &'a mut W {
9684                self.bit(true)
9685            }
9686            ///Clears the field bit
9687            #[inline(always)]
9688            pub fn clear_bit(self) -> &'a mut W {
9689                self.bit(false)
9690            }
9691            ///Writes raw bits to the field
9692            #[inline(always)]
9693            pub fn bit(self, value: bool) -> &'a mut W {
9694                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
9695                self.w
9696            }
9697        }
9698        ///Reader of field `EN`
9699        pub type EN_R = crate::R<bool, bool>;
9700        ///Write proxy for field `EN`
9701        pub struct EN_W<'a> {
9702            w: &'a mut W,
9703        }
9704        impl<'a> EN_W<'a> {
9705            ///Sets the field bit
9706            #[inline(always)]
9707            pub fn set_bit(self) -> &'a mut W {
9708                self.bit(true)
9709            }
9710            ///Clears the field bit
9711            #[inline(always)]
9712            pub fn clear_bit(self) -> &'a mut W {
9713                self.bit(false)
9714            }
9715            ///Writes raw bits to the field
9716            #[inline(always)]
9717            pub fn bit(self, value: bool) -> &'a mut W {
9718                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
9719                self.w
9720            }
9721        }
9722        impl R {
9723            ///Bit 14 - Memory to memory mode
9724            #[inline(always)]
9725            pub fn mem2mem(&self) -> MEM2MEM_R {
9726                MEM2MEM_R::new(((self.bits >> 14) & 0x01) != 0)
9727            }
9728            ///Bits 12:13 - Channel priority level
9729            #[inline(always)]
9730            pub fn pl(&self) -> PL_R {
9731                PL_R::new(((self.bits >> 12) & 0x03) as u8)
9732            }
9733            ///Bits 10:11 - Memory size
9734            #[inline(always)]
9735            pub fn msize(&self) -> MSIZE_R {
9736                MSIZE_R::new(((self.bits >> 10) & 0x03) as u8)
9737            }
9738            ///Bits 8:9 - Peripheral size
9739            #[inline(always)]
9740            pub fn psize(&self) -> PSIZE_R {
9741                PSIZE_R::new(((self.bits >> 8) & 0x03) as u8)
9742            }
9743            ///Bit 7 - Memory increment mode
9744            #[inline(always)]
9745            pub fn minc(&self) -> MINC_R {
9746                MINC_R::new(((self.bits >> 7) & 0x01) != 0)
9747            }
9748            ///Bit 6 - Peripheral increment mode
9749            #[inline(always)]
9750            pub fn pinc(&self) -> PINC_R {
9751                PINC_R::new(((self.bits >> 6) & 0x01) != 0)
9752            }
9753            ///Bit 5 - Circular mode
9754            #[inline(always)]
9755            pub fn circ(&self) -> CIRC_R {
9756                CIRC_R::new(((self.bits >> 5) & 0x01) != 0)
9757            }
9758            ///Bit 4 - Data transfer direction
9759            #[inline(always)]
9760            pub fn dir(&self) -> DIR_R {
9761                DIR_R::new(((self.bits >> 4) & 0x01) != 0)
9762            }
9763            ///Bit 3 - Transfer error interrupt enable
9764            #[inline(always)]
9765            pub fn teie(&self) -> TEIE_R {
9766                TEIE_R::new(((self.bits >> 3) & 0x01) != 0)
9767            }
9768            ///Bit 2 - Half transfer interrupt enable
9769            #[inline(always)]
9770            pub fn htie(&self) -> HTIE_R {
9771                HTIE_R::new(((self.bits >> 2) & 0x01) != 0)
9772            }
9773            ///Bit 1 - Transfer complete interrupt enable
9774            #[inline(always)]
9775            pub fn tcie(&self) -> TCIE_R {
9776                TCIE_R::new(((self.bits >> 1) & 0x01) != 0)
9777            }
9778            ///Bit 0 - Channel enable
9779            #[inline(always)]
9780            pub fn en(&self) -> EN_R {
9781                EN_R::new((self.bits & 0x01) != 0)
9782            }
9783        }
9784        impl W {
9785            ///Bit 14 - Memory to memory mode
9786            #[inline(always)]
9787            pub fn mem2mem(&mut self) -> MEM2MEM_W {
9788                MEM2MEM_W { w: self }
9789            }
9790            ///Bits 12:13 - Channel priority level
9791            #[inline(always)]
9792            pub fn pl(&mut self) -> PL_W {
9793                PL_W { w: self }
9794            }
9795            ///Bits 10:11 - Memory size
9796            #[inline(always)]
9797            pub fn msize(&mut self) -> MSIZE_W {
9798                MSIZE_W { w: self }
9799            }
9800            ///Bits 8:9 - Peripheral size
9801            #[inline(always)]
9802            pub fn psize(&mut self) -> PSIZE_W {
9803                PSIZE_W { w: self }
9804            }
9805            ///Bit 7 - Memory increment mode
9806            #[inline(always)]
9807            pub fn minc(&mut self) -> MINC_W {
9808                MINC_W { w: self }
9809            }
9810            ///Bit 6 - Peripheral increment mode
9811            #[inline(always)]
9812            pub fn pinc(&mut self) -> PINC_W {
9813                PINC_W { w: self }
9814            }
9815            ///Bit 5 - Circular mode
9816            #[inline(always)]
9817            pub fn circ(&mut self) -> CIRC_W {
9818                CIRC_W { w: self }
9819            }
9820            ///Bit 4 - Data transfer direction
9821            #[inline(always)]
9822            pub fn dir(&mut self) -> DIR_W {
9823                DIR_W { w: self }
9824            }
9825            ///Bit 3 - Transfer error interrupt enable
9826            #[inline(always)]
9827            pub fn teie(&mut self) -> TEIE_W {
9828                TEIE_W { w: self }
9829            }
9830            ///Bit 2 - Half transfer interrupt enable
9831            #[inline(always)]
9832            pub fn htie(&mut self) -> HTIE_W {
9833                HTIE_W { w: self }
9834            }
9835            ///Bit 1 - Transfer complete interrupt enable
9836            #[inline(always)]
9837            pub fn tcie(&mut self) -> TCIE_W {
9838                TCIE_W { w: self }
9839            }
9840            ///Bit 0 - Channel enable
9841            #[inline(always)]
9842            pub fn en(&mut self) -> EN_W {
9843                EN_W { w: self }
9844            }
9845        }
9846    }
9847    ///channel x number of data register
9848    ///
9849    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
9850    ///
9851    ///For information about available fields see [cndtr6](cndtr6) module
9852    pub type CNDTR6 = crate::Reg<u32, _CNDTR6>;
9853    #[allow(missing_docs)]
9854    #[doc(hidden)]
9855    pub struct _CNDTR6;
9856    ///`read()` method returns [cndtr6::R](cndtr6::R) reader structure
9857    impl crate::Readable for CNDTR6 {}
9858    ///`write(|w| ..)` method takes [cndtr6::W](cndtr6::W) writer structure
9859    impl crate::Writable for CNDTR6 {}
9860    ///channel x number of data register
9861    pub mod cndtr6 {
9862        ///Reader of register CNDTR6
9863        pub type R = crate::R<u32, super::CNDTR6>;
9864        ///Writer for register CNDTR6
9865        pub type W = crate::W<u32, super::CNDTR6>;
9866        ///Register CNDTR6 `reset()`'s with value 0
9867        impl crate::ResetValue for super::CNDTR6 {
9868            type Type = u32;
9869            #[inline(always)]
9870            fn reset_value() -> Self::Type {
9871                0
9872            }
9873        }
9874        ///Reader of field `NDT`
9875        pub type NDT_R = crate::R<u16, u16>;
9876        ///Write proxy for field `NDT`
9877        pub struct NDT_W<'a> {
9878            w: &'a mut W,
9879        }
9880        impl<'a> NDT_W<'a> {
9881            ///Writes raw bits to the field
9882            #[inline(always)]
9883            pub unsafe fn bits(self, value: u16) -> &'a mut W {
9884                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
9885                self.w
9886            }
9887        }
9888        impl R {
9889            ///Bits 0:15 - Number of data to transfer
9890            #[inline(always)]
9891            pub fn ndt(&self) -> NDT_R {
9892                NDT_R::new((self.bits & 0xffff) as u16)
9893            }
9894        }
9895        impl W {
9896            ///Bits 0:15 - Number of data to transfer
9897            #[inline(always)]
9898            pub fn ndt(&mut self) -> NDT_W {
9899                NDT_W { w: self }
9900            }
9901        }
9902    }
9903    ///channel x peripheral address register
9904    ///
9905    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
9906    ///
9907    ///For information about available fields see [cpar6](cpar6) module
9908    pub type CPAR6 = crate::Reg<u32, _CPAR6>;
9909    #[allow(missing_docs)]
9910    #[doc(hidden)]
9911    pub struct _CPAR6;
9912    ///`read()` method returns [cpar6::R](cpar6::R) reader structure
9913    impl crate::Readable for CPAR6 {}
9914    ///`write(|w| ..)` method takes [cpar6::W](cpar6::W) writer structure
9915    impl crate::Writable for CPAR6 {}
9916    ///channel x peripheral address register
9917    pub mod cpar6 {
9918        ///Reader of register CPAR6
9919        pub type R = crate::R<u32, super::CPAR6>;
9920        ///Writer for register CPAR6
9921        pub type W = crate::W<u32, super::CPAR6>;
9922        ///Register CPAR6 `reset()`'s with value 0
9923        impl crate::ResetValue for super::CPAR6 {
9924            type Type = u32;
9925            #[inline(always)]
9926            fn reset_value() -> Self::Type {
9927                0
9928            }
9929        }
9930        ///Reader of field `PA`
9931        pub type PA_R = crate::R<u32, u32>;
9932        ///Write proxy for field `PA`
9933        pub struct PA_W<'a> {
9934            w: &'a mut W,
9935        }
9936        impl<'a> PA_W<'a> {
9937            ///Writes raw bits to the field
9938            #[inline(always)]
9939            pub unsafe fn bits(self, value: u32) -> &'a mut W {
9940                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
9941                self.w
9942            }
9943        }
9944        impl R {
9945            ///Bits 0:31 - Peripheral address
9946            #[inline(always)]
9947            pub fn pa(&self) -> PA_R {
9948                PA_R::new((self.bits & 0xffff_ffff) as u32)
9949            }
9950        }
9951        impl W {
9952            ///Bits 0:31 - Peripheral address
9953            #[inline(always)]
9954            pub fn pa(&mut self) -> PA_W {
9955                PA_W { w: self }
9956            }
9957        }
9958    }
9959    ///channel x memory address register
9960    ///
9961    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
9962    ///
9963    ///For information about available fields see [cmar6](cmar6) module
9964    pub type CMAR6 = crate::Reg<u32, _CMAR6>;
9965    #[allow(missing_docs)]
9966    #[doc(hidden)]
9967    pub struct _CMAR6;
9968    ///`read()` method returns [cmar6::R](cmar6::R) reader structure
9969    impl crate::Readable for CMAR6 {}
9970    ///`write(|w| ..)` method takes [cmar6::W](cmar6::W) writer structure
9971    impl crate::Writable for CMAR6 {}
9972    ///channel x memory address register
9973    pub mod cmar6 {
9974        ///Reader of register CMAR6
9975        pub type R = crate::R<u32, super::CMAR6>;
9976        ///Writer for register CMAR6
9977        pub type W = crate::W<u32, super::CMAR6>;
9978        ///Register CMAR6 `reset()`'s with value 0
9979        impl crate::ResetValue for super::CMAR6 {
9980            type Type = u32;
9981            #[inline(always)]
9982            fn reset_value() -> Self::Type {
9983                0
9984            }
9985        }
9986        ///Reader of field `MA`
9987        pub type MA_R = crate::R<u32, u32>;
9988        ///Write proxy for field `MA`
9989        pub struct MA_W<'a> {
9990            w: &'a mut W,
9991        }
9992        impl<'a> MA_W<'a> {
9993            ///Writes raw bits to the field
9994            #[inline(always)]
9995            pub unsafe fn bits(self, value: u32) -> &'a mut W {
9996                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
9997                self.w
9998            }
9999        }
10000        impl R {
10001            ///Bits 0:31 - Memory address
10002            #[inline(always)]
10003            pub fn ma(&self) -> MA_R {
10004                MA_R::new((self.bits & 0xffff_ffff) as u32)
10005            }
10006        }
10007        impl W {
10008            ///Bits 0:31 - Memory address
10009            #[inline(always)]
10010            pub fn ma(&mut self) -> MA_W {
10011                MA_W { w: self }
10012            }
10013        }
10014    }
10015    ///channel x configuration register
10016    ///
10017    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
10018    ///
10019    ///For information about available fields see [ccr7](ccr7) module
10020    pub type CCR7 = crate::Reg<u32, _CCR7>;
10021    #[allow(missing_docs)]
10022    #[doc(hidden)]
10023    pub struct _CCR7;
10024    ///`read()` method returns [ccr7::R](ccr7::R) reader structure
10025    impl crate::Readable for CCR7 {}
10026    ///`write(|w| ..)` method takes [ccr7::W](ccr7::W) writer structure
10027    impl crate::Writable for CCR7 {}
10028    ///channel x configuration register
10029    pub mod ccr7 {
10030        ///Reader of register CCR7
10031        pub type R = crate::R<u32, super::CCR7>;
10032        ///Writer for register CCR7
10033        pub type W = crate::W<u32, super::CCR7>;
10034        ///Register CCR7 `reset()`'s with value 0
10035        impl crate::ResetValue for super::CCR7 {
10036            type Type = u32;
10037            #[inline(always)]
10038            fn reset_value() -> Self::Type {
10039                0
10040            }
10041        }
10042        ///Reader of field `MEM2MEM`
10043        pub type MEM2MEM_R = crate::R<bool, bool>;
10044        ///Write proxy for field `MEM2MEM`
10045        pub struct MEM2MEM_W<'a> {
10046            w: &'a mut W,
10047        }
10048        impl<'a> MEM2MEM_W<'a> {
10049            ///Sets the field bit
10050            #[inline(always)]
10051            pub fn set_bit(self) -> &'a mut W {
10052                self.bit(true)
10053            }
10054            ///Clears the field bit
10055            #[inline(always)]
10056            pub fn clear_bit(self) -> &'a mut W {
10057                self.bit(false)
10058            }
10059            ///Writes raw bits to the field
10060            #[inline(always)]
10061            pub fn bit(self, value: bool) -> &'a mut W {
10062                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
10063                self.w
10064            }
10065        }
10066        ///Reader of field `PL`
10067        pub type PL_R = crate::R<u8, u8>;
10068        ///Write proxy for field `PL`
10069        pub struct PL_W<'a> {
10070            w: &'a mut W,
10071        }
10072        impl<'a> PL_W<'a> {
10073            ///Writes raw bits to the field
10074            #[inline(always)]
10075            pub unsafe fn bits(self, value: u8) -> &'a mut W {
10076                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
10077                self.w
10078            }
10079        }
10080        ///Reader of field `MSIZE`
10081        pub type MSIZE_R = crate::R<u8, u8>;
10082        ///Write proxy for field `MSIZE`
10083        pub struct MSIZE_W<'a> {
10084            w: &'a mut W,
10085        }
10086        impl<'a> MSIZE_W<'a> {
10087            ///Writes raw bits to the field
10088            #[inline(always)]
10089            pub unsafe fn bits(self, value: u8) -> &'a mut W {
10090                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
10091                self.w
10092            }
10093        }
10094        ///Reader of field `PSIZE`
10095        pub type PSIZE_R = crate::R<u8, u8>;
10096        ///Write proxy for field `PSIZE`
10097        pub struct PSIZE_W<'a> {
10098            w: &'a mut W,
10099        }
10100        impl<'a> PSIZE_W<'a> {
10101            ///Writes raw bits to the field
10102            #[inline(always)]
10103            pub unsafe fn bits(self, value: u8) -> &'a mut W {
10104                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
10105                self.w
10106            }
10107        }
10108        ///Reader of field `MINC`
10109        pub type MINC_R = crate::R<bool, bool>;
10110        ///Write proxy for field `MINC`
10111        pub struct MINC_W<'a> {
10112            w: &'a mut W,
10113        }
10114        impl<'a> MINC_W<'a> {
10115            ///Sets the field bit
10116            #[inline(always)]
10117            pub fn set_bit(self) -> &'a mut W {
10118                self.bit(true)
10119            }
10120            ///Clears the field bit
10121            #[inline(always)]
10122            pub fn clear_bit(self) -> &'a mut W {
10123                self.bit(false)
10124            }
10125            ///Writes raw bits to the field
10126            #[inline(always)]
10127            pub fn bit(self, value: bool) -> &'a mut W {
10128                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
10129                self.w
10130            }
10131        }
10132        ///Reader of field `PINC`
10133        pub type PINC_R = crate::R<bool, bool>;
10134        ///Write proxy for field `PINC`
10135        pub struct PINC_W<'a> {
10136            w: &'a mut W,
10137        }
10138        impl<'a> PINC_W<'a> {
10139            ///Sets the field bit
10140            #[inline(always)]
10141            pub fn set_bit(self) -> &'a mut W {
10142                self.bit(true)
10143            }
10144            ///Clears the field bit
10145            #[inline(always)]
10146            pub fn clear_bit(self) -> &'a mut W {
10147                self.bit(false)
10148            }
10149            ///Writes raw bits to the field
10150            #[inline(always)]
10151            pub fn bit(self, value: bool) -> &'a mut W {
10152                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
10153                self.w
10154            }
10155        }
10156        ///Reader of field `CIRC`
10157        pub type CIRC_R = crate::R<bool, bool>;
10158        ///Write proxy for field `CIRC`
10159        pub struct CIRC_W<'a> {
10160            w: &'a mut W,
10161        }
10162        impl<'a> CIRC_W<'a> {
10163            ///Sets the field bit
10164            #[inline(always)]
10165            pub fn set_bit(self) -> &'a mut W {
10166                self.bit(true)
10167            }
10168            ///Clears the field bit
10169            #[inline(always)]
10170            pub fn clear_bit(self) -> &'a mut W {
10171                self.bit(false)
10172            }
10173            ///Writes raw bits to the field
10174            #[inline(always)]
10175            pub fn bit(self, value: bool) -> &'a mut W {
10176                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
10177                self.w
10178            }
10179        }
10180        ///Reader of field `DIR`
10181        pub type DIR_R = crate::R<bool, bool>;
10182        ///Write proxy for field `DIR`
10183        pub struct DIR_W<'a> {
10184            w: &'a mut W,
10185        }
10186        impl<'a> DIR_W<'a> {
10187            ///Sets the field bit
10188            #[inline(always)]
10189            pub fn set_bit(self) -> &'a mut W {
10190                self.bit(true)
10191            }
10192            ///Clears the field bit
10193            #[inline(always)]
10194            pub fn clear_bit(self) -> &'a mut W {
10195                self.bit(false)
10196            }
10197            ///Writes raw bits to the field
10198            #[inline(always)]
10199            pub fn bit(self, value: bool) -> &'a mut W {
10200                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
10201                self.w
10202            }
10203        }
10204        ///Reader of field `TEIE`
10205        pub type TEIE_R = crate::R<bool, bool>;
10206        ///Write proxy for field `TEIE`
10207        pub struct TEIE_W<'a> {
10208            w: &'a mut W,
10209        }
10210        impl<'a> TEIE_W<'a> {
10211            ///Sets the field bit
10212            #[inline(always)]
10213            pub fn set_bit(self) -> &'a mut W {
10214                self.bit(true)
10215            }
10216            ///Clears the field bit
10217            #[inline(always)]
10218            pub fn clear_bit(self) -> &'a mut W {
10219                self.bit(false)
10220            }
10221            ///Writes raw bits to the field
10222            #[inline(always)]
10223            pub fn bit(self, value: bool) -> &'a mut W {
10224                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
10225                self.w
10226            }
10227        }
10228        ///Reader of field `HTIE`
10229        pub type HTIE_R = crate::R<bool, bool>;
10230        ///Write proxy for field `HTIE`
10231        pub struct HTIE_W<'a> {
10232            w: &'a mut W,
10233        }
10234        impl<'a> HTIE_W<'a> {
10235            ///Sets the field bit
10236            #[inline(always)]
10237            pub fn set_bit(self) -> &'a mut W {
10238                self.bit(true)
10239            }
10240            ///Clears the field bit
10241            #[inline(always)]
10242            pub fn clear_bit(self) -> &'a mut W {
10243                self.bit(false)
10244            }
10245            ///Writes raw bits to the field
10246            #[inline(always)]
10247            pub fn bit(self, value: bool) -> &'a mut W {
10248                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
10249                self.w
10250            }
10251        }
10252        ///Reader of field `TCIE`
10253        pub type TCIE_R = crate::R<bool, bool>;
10254        ///Write proxy for field `TCIE`
10255        pub struct TCIE_W<'a> {
10256            w: &'a mut W,
10257        }
10258        impl<'a> TCIE_W<'a> {
10259            ///Sets the field bit
10260            #[inline(always)]
10261            pub fn set_bit(self) -> &'a mut W {
10262                self.bit(true)
10263            }
10264            ///Clears the field bit
10265            #[inline(always)]
10266            pub fn clear_bit(self) -> &'a mut W {
10267                self.bit(false)
10268            }
10269            ///Writes raw bits to the field
10270            #[inline(always)]
10271            pub fn bit(self, value: bool) -> &'a mut W {
10272                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
10273                self.w
10274            }
10275        }
10276        ///Reader of field `EN`
10277        pub type EN_R = crate::R<bool, bool>;
10278        ///Write proxy for field `EN`
10279        pub struct EN_W<'a> {
10280            w: &'a mut W,
10281        }
10282        impl<'a> EN_W<'a> {
10283            ///Sets the field bit
10284            #[inline(always)]
10285            pub fn set_bit(self) -> &'a mut W {
10286                self.bit(true)
10287            }
10288            ///Clears the field bit
10289            #[inline(always)]
10290            pub fn clear_bit(self) -> &'a mut W {
10291                self.bit(false)
10292            }
10293            ///Writes raw bits to the field
10294            #[inline(always)]
10295            pub fn bit(self, value: bool) -> &'a mut W {
10296                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
10297                self.w
10298            }
10299        }
10300        impl R {
10301            ///Bit 14 - Memory to memory mode
10302            #[inline(always)]
10303            pub fn mem2mem(&self) -> MEM2MEM_R {
10304                MEM2MEM_R::new(((self.bits >> 14) & 0x01) != 0)
10305            }
10306            ///Bits 12:13 - Channel priority level
10307            #[inline(always)]
10308            pub fn pl(&self) -> PL_R {
10309                PL_R::new(((self.bits >> 12) & 0x03) as u8)
10310            }
10311            ///Bits 10:11 - Memory size
10312            #[inline(always)]
10313            pub fn msize(&self) -> MSIZE_R {
10314                MSIZE_R::new(((self.bits >> 10) & 0x03) as u8)
10315            }
10316            ///Bits 8:9 - Peripheral size
10317            #[inline(always)]
10318            pub fn psize(&self) -> PSIZE_R {
10319                PSIZE_R::new(((self.bits >> 8) & 0x03) as u8)
10320            }
10321            ///Bit 7 - Memory increment mode
10322            #[inline(always)]
10323            pub fn minc(&self) -> MINC_R {
10324                MINC_R::new(((self.bits >> 7) & 0x01) != 0)
10325            }
10326            ///Bit 6 - Peripheral increment mode
10327            #[inline(always)]
10328            pub fn pinc(&self) -> PINC_R {
10329                PINC_R::new(((self.bits >> 6) & 0x01) != 0)
10330            }
10331            ///Bit 5 - Circular mode
10332            #[inline(always)]
10333            pub fn circ(&self) -> CIRC_R {
10334                CIRC_R::new(((self.bits >> 5) & 0x01) != 0)
10335            }
10336            ///Bit 4 - Data transfer direction
10337            #[inline(always)]
10338            pub fn dir(&self) -> DIR_R {
10339                DIR_R::new(((self.bits >> 4) & 0x01) != 0)
10340            }
10341            ///Bit 3 - Transfer error interrupt enable
10342            #[inline(always)]
10343            pub fn teie(&self) -> TEIE_R {
10344                TEIE_R::new(((self.bits >> 3) & 0x01) != 0)
10345            }
10346            ///Bit 2 - Half transfer interrupt enable
10347            #[inline(always)]
10348            pub fn htie(&self) -> HTIE_R {
10349                HTIE_R::new(((self.bits >> 2) & 0x01) != 0)
10350            }
10351            ///Bit 1 - Transfer complete interrupt enable
10352            #[inline(always)]
10353            pub fn tcie(&self) -> TCIE_R {
10354                TCIE_R::new(((self.bits >> 1) & 0x01) != 0)
10355            }
10356            ///Bit 0 - Channel enable
10357            #[inline(always)]
10358            pub fn en(&self) -> EN_R {
10359                EN_R::new((self.bits & 0x01) != 0)
10360            }
10361        }
10362        impl W {
10363            ///Bit 14 - Memory to memory mode
10364            #[inline(always)]
10365            pub fn mem2mem(&mut self) -> MEM2MEM_W {
10366                MEM2MEM_W { w: self }
10367            }
10368            ///Bits 12:13 - Channel priority level
10369            #[inline(always)]
10370            pub fn pl(&mut self) -> PL_W {
10371                PL_W { w: self }
10372            }
10373            ///Bits 10:11 - Memory size
10374            #[inline(always)]
10375            pub fn msize(&mut self) -> MSIZE_W {
10376                MSIZE_W { w: self }
10377            }
10378            ///Bits 8:9 - Peripheral size
10379            #[inline(always)]
10380            pub fn psize(&mut self) -> PSIZE_W {
10381                PSIZE_W { w: self }
10382            }
10383            ///Bit 7 - Memory increment mode
10384            #[inline(always)]
10385            pub fn minc(&mut self) -> MINC_W {
10386                MINC_W { w: self }
10387            }
10388            ///Bit 6 - Peripheral increment mode
10389            #[inline(always)]
10390            pub fn pinc(&mut self) -> PINC_W {
10391                PINC_W { w: self }
10392            }
10393            ///Bit 5 - Circular mode
10394            #[inline(always)]
10395            pub fn circ(&mut self) -> CIRC_W {
10396                CIRC_W { w: self }
10397            }
10398            ///Bit 4 - Data transfer direction
10399            #[inline(always)]
10400            pub fn dir(&mut self) -> DIR_W {
10401                DIR_W { w: self }
10402            }
10403            ///Bit 3 - Transfer error interrupt enable
10404            #[inline(always)]
10405            pub fn teie(&mut self) -> TEIE_W {
10406                TEIE_W { w: self }
10407            }
10408            ///Bit 2 - Half transfer interrupt enable
10409            #[inline(always)]
10410            pub fn htie(&mut self) -> HTIE_W {
10411                HTIE_W { w: self }
10412            }
10413            ///Bit 1 - Transfer complete interrupt enable
10414            #[inline(always)]
10415            pub fn tcie(&mut self) -> TCIE_W {
10416                TCIE_W { w: self }
10417            }
10418            ///Bit 0 - Channel enable
10419            #[inline(always)]
10420            pub fn en(&mut self) -> EN_W {
10421                EN_W { w: self }
10422            }
10423        }
10424    }
10425    ///channel x number of data register
10426    ///
10427    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
10428    ///
10429    ///For information about available fields see [cndtr7](cndtr7) module
10430    pub type CNDTR7 = crate::Reg<u32, _CNDTR7>;
10431    #[allow(missing_docs)]
10432    #[doc(hidden)]
10433    pub struct _CNDTR7;
10434    ///`read()` method returns [cndtr7::R](cndtr7::R) reader structure
10435    impl crate::Readable for CNDTR7 {}
10436    ///`write(|w| ..)` method takes [cndtr7::W](cndtr7::W) writer structure
10437    impl crate::Writable for CNDTR7 {}
10438    ///channel x number of data register
10439    pub mod cndtr7 {
10440        ///Reader of register CNDTR7
10441        pub type R = crate::R<u32, super::CNDTR7>;
10442        ///Writer for register CNDTR7
10443        pub type W = crate::W<u32, super::CNDTR7>;
10444        ///Register CNDTR7 `reset()`'s with value 0
10445        impl crate::ResetValue for super::CNDTR7 {
10446            type Type = u32;
10447            #[inline(always)]
10448            fn reset_value() -> Self::Type {
10449                0
10450            }
10451        }
10452        ///Reader of field `NDT`
10453        pub type NDT_R = crate::R<u16, u16>;
10454        ///Write proxy for field `NDT`
10455        pub struct NDT_W<'a> {
10456            w: &'a mut W,
10457        }
10458        impl<'a> NDT_W<'a> {
10459            ///Writes raw bits to the field
10460            #[inline(always)]
10461            pub unsafe fn bits(self, value: u16) -> &'a mut W {
10462                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
10463                self.w
10464            }
10465        }
10466        impl R {
10467            ///Bits 0:15 - Number of data to transfer
10468            #[inline(always)]
10469            pub fn ndt(&self) -> NDT_R {
10470                NDT_R::new((self.bits & 0xffff) as u16)
10471            }
10472        }
10473        impl W {
10474            ///Bits 0:15 - Number of data to transfer
10475            #[inline(always)]
10476            pub fn ndt(&mut self) -> NDT_W {
10477                NDT_W { w: self }
10478            }
10479        }
10480    }
10481    ///channel x peripheral address register
10482    ///
10483    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
10484    ///
10485    ///For information about available fields see [cpar7](cpar7) module
10486    pub type CPAR7 = crate::Reg<u32, _CPAR7>;
10487    #[allow(missing_docs)]
10488    #[doc(hidden)]
10489    pub struct _CPAR7;
10490    ///`read()` method returns [cpar7::R](cpar7::R) reader structure
10491    impl crate::Readable for CPAR7 {}
10492    ///`write(|w| ..)` method takes [cpar7::W](cpar7::W) writer structure
10493    impl crate::Writable for CPAR7 {}
10494    ///channel x peripheral address register
10495    pub mod cpar7 {
10496        ///Reader of register CPAR7
10497        pub type R = crate::R<u32, super::CPAR7>;
10498        ///Writer for register CPAR7
10499        pub type W = crate::W<u32, super::CPAR7>;
10500        ///Register CPAR7 `reset()`'s with value 0
10501        impl crate::ResetValue for super::CPAR7 {
10502            type Type = u32;
10503            #[inline(always)]
10504            fn reset_value() -> Self::Type {
10505                0
10506            }
10507        }
10508        ///Reader of field `PA`
10509        pub type PA_R = crate::R<u32, u32>;
10510        ///Write proxy for field `PA`
10511        pub struct PA_W<'a> {
10512            w: &'a mut W,
10513        }
10514        impl<'a> PA_W<'a> {
10515            ///Writes raw bits to the field
10516            #[inline(always)]
10517            pub unsafe fn bits(self, value: u32) -> &'a mut W {
10518                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
10519                self.w
10520            }
10521        }
10522        impl R {
10523            ///Bits 0:31 - Peripheral address
10524            #[inline(always)]
10525            pub fn pa(&self) -> PA_R {
10526                PA_R::new((self.bits & 0xffff_ffff) as u32)
10527            }
10528        }
10529        impl W {
10530            ///Bits 0:31 - Peripheral address
10531            #[inline(always)]
10532            pub fn pa(&mut self) -> PA_W {
10533                PA_W { w: self }
10534            }
10535        }
10536    }
10537    ///channel x memory address register
10538    ///
10539    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
10540    ///
10541    ///For information about available fields see [cmar7](cmar7) module
10542    pub type CMAR7 = crate::Reg<u32, _CMAR7>;
10543    #[allow(missing_docs)]
10544    #[doc(hidden)]
10545    pub struct _CMAR7;
10546    ///`read()` method returns [cmar7::R](cmar7::R) reader structure
10547    impl crate::Readable for CMAR7 {}
10548    ///`write(|w| ..)` method takes [cmar7::W](cmar7::W) writer structure
10549    impl crate::Writable for CMAR7 {}
10550    ///channel x memory address register
10551    pub mod cmar7 {
10552        ///Reader of register CMAR7
10553        pub type R = crate::R<u32, super::CMAR7>;
10554        ///Writer for register CMAR7
10555        pub type W = crate::W<u32, super::CMAR7>;
10556        ///Register CMAR7 `reset()`'s with value 0
10557        impl crate::ResetValue for super::CMAR7 {
10558            type Type = u32;
10559            #[inline(always)]
10560            fn reset_value() -> Self::Type {
10561                0
10562            }
10563        }
10564        ///Reader of field `MA`
10565        pub type MA_R = crate::R<u32, u32>;
10566        ///Write proxy for field `MA`
10567        pub struct MA_W<'a> {
10568            w: &'a mut W,
10569        }
10570        impl<'a> MA_W<'a> {
10571            ///Writes raw bits to the field
10572            #[inline(always)]
10573            pub unsafe fn bits(self, value: u32) -> &'a mut W {
10574                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
10575                self.w
10576            }
10577        }
10578        impl R {
10579            ///Bits 0:31 - Memory address
10580            #[inline(always)]
10581            pub fn ma(&self) -> MA_R {
10582                MA_R::new((self.bits & 0xffff_ffff) as u32)
10583            }
10584        }
10585        impl W {
10586            ///Bits 0:31 - Memory address
10587            #[inline(always)]
10588            pub fn ma(&mut self) -> MA_W {
10589                MA_W { w: self }
10590            }
10591        }
10592    }
10593    ///channel selection register
10594    ///
10595    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
10596    ///
10597    ///For information about available fields see [cselr](cselr) module
10598    pub type CSELR = crate::Reg<u32, _CSELR>;
10599    #[allow(missing_docs)]
10600    #[doc(hidden)]
10601    pub struct _CSELR;
10602    ///`read()` method returns [cselr::R](cselr::R) reader structure
10603    impl crate::Readable for CSELR {}
10604    ///`write(|w| ..)` method takes [cselr::W](cselr::W) writer structure
10605    impl crate::Writable for CSELR {}
10606    ///channel selection register
10607    pub mod cselr {
10608        ///Reader of register CSELR
10609        pub type R = crate::R<u32, super::CSELR>;
10610        ///Writer for register CSELR
10611        pub type W = crate::W<u32, super::CSELR>;
10612        ///Register CSELR `reset()`'s with value 0
10613        impl crate::ResetValue for super::CSELR {
10614            type Type = u32;
10615            #[inline(always)]
10616            fn reset_value() -> Self::Type {
10617                0
10618            }
10619        }
10620        ///Reader of field `C7S`
10621        pub type C7S_R = crate::R<u8, u8>;
10622        ///Write proxy for field `C7S`
10623        pub struct C7S_W<'a> {
10624            w: &'a mut W,
10625        }
10626        impl<'a> C7S_W<'a> {
10627            ///Writes raw bits to the field
10628            #[inline(always)]
10629            pub unsafe fn bits(self, value: u8) -> &'a mut W {
10630                self.w.bits = (self.w.bits & !(0x0f << 24)) | (((value as u32) & 0x0f) << 24);
10631                self.w
10632            }
10633        }
10634        ///Reader of field `C6S`
10635        pub type C6S_R = crate::R<u8, u8>;
10636        ///Write proxy for field `C6S`
10637        pub struct C6S_W<'a> {
10638            w: &'a mut W,
10639        }
10640        impl<'a> C6S_W<'a> {
10641            ///Writes raw bits to the field
10642            #[inline(always)]
10643            pub unsafe fn bits(self, value: u8) -> &'a mut W {
10644                self.w.bits = (self.w.bits & !(0x0f << 20)) | (((value as u32) & 0x0f) << 20);
10645                self.w
10646            }
10647        }
10648        ///Reader of field `C5S`
10649        pub type C5S_R = crate::R<u8, u8>;
10650        ///Write proxy for field `C5S`
10651        pub struct C5S_W<'a> {
10652            w: &'a mut W,
10653        }
10654        impl<'a> C5S_W<'a> {
10655            ///Writes raw bits to the field
10656            #[inline(always)]
10657            pub unsafe fn bits(self, value: u8) -> &'a mut W {
10658                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
10659                self.w
10660            }
10661        }
10662        ///Reader of field `C4S`
10663        pub type C4S_R = crate::R<u8, u8>;
10664        ///Write proxy for field `C4S`
10665        pub struct C4S_W<'a> {
10666            w: &'a mut W,
10667        }
10668        impl<'a> C4S_W<'a> {
10669            ///Writes raw bits to the field
10670            #[inline(always)]
10671            pub unsafe fn bits(self, value: u8) -> &'a mut W {
10672                self.w.bits = (self.w.bits & !(0x0f << 12)) | (((value as u32) & 0x0f) << 12);
10673                self.w
10674            }
10675        }
10676        ///Reader of field `C3S`
10677        pub type C3S_R = crate::R<u8, u8>;
10678        ///Write proxy for field `C3S`
10679        pub struct C3S_W<'a> {
10680            w: &'a mut W,
10681        }
10682        impl<'a> C3S_W<'a> {
10683            ///Writes raw bits to the field
10684            #[inline(always)]
10685            pub unsafe fn bits(self, value: u8) -> &'a mut W {
10686                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
10687                self.w
10688            }
10689        }
10690        ///Reader of field `C2S`
10691        pub type C2S_R = crate::R<u8, u8>;
10692        ///Write proxy for field `C2S`
10693        pub struct C2S_W<'a> {
10694            w: &'a mut W,
10695        }
10696        impl<'a> C2S_W<'a> {
10697            ///Writes raw bits to the field
10698            #[inline(always)]
10699            pub unsafe fn bits(self, value: u8) -> &'a mut W {
10700                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
10701                self.w
10702            }
10703        }
10704        ///Reader of field `C1S`
10705        pub type C1S_R = crate::R<u8, u8>;
10706        ///Write proxy for field `C1S`
10707        pub struct C1S_W<'a> {
10708            w: &'a mut W,
10709        }
10710        impl<'a> C1S_W<'a> {
10711            ///Writes raw bits to the field
10712            #[inline(always)]
10713            pub unsafe fn bits(self, value: u8) -> &'a mut W {
10714                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
10715                self.w
10716            }
10717        }
10718        impl R {
10719            ///Bits 24:27 - DMA channel 7 selection
10720            #[inline(always)]
10721            pub fn c7s(&self) -> C7S_R {
10722                C7S_R::new(((self.bits >> 24) & 0x0f) as u8)
10723            }
10724            ///Bits 20:23 - DMA channel 6 selection
10725            #[inline(always)]
10726            pub fn c6s(&self) -> C6S_R {
10727                C6S_R::new(((self.bits >> 20) & 0x0f) as u8)
10728            }
10729            ///Bits 16:19 - DMA channel 5 selection
10730            #[inline(always)]
10731            pub fn c5s(&self) -> C5S_R {
10732                C5S_R::new(((self.bits >> 16) & 0x0f) as u8)
10733            }
10734            ///Bits 12:15 - DMA channel 4 selection
10735            #[inline(always)]
10736            pub fn c4s(&self) -> C4S_R {
10737                C4S_R::new(((self.bits >> 12) & 0x0f) as u8)
10738            }
10739            ///Bits 8:11 - DMA channel 3 selection
10740            #[inline(always)]
10741            pub fn c3s(&self) -> C3S_R {
10742                C3S_R::new(((self.bits >> 8) & 0x0f) as u8)
10743            }
10744            ///Bits 4:7 - DMA channel 2 selection
10745            #[inline(always)]
10746            pub fn c2s(&self) -> C2S_R {
10747                C2S_R::new(((self.bits >> 4) & 0x0f) as u8)
10748            }
10749            ///Bits 0:3 - DMA channel 1 selection
10750            #[inline(always)]
10751            pub fn c1s(&self) -> C1S_R {
10752                C1S_R::new((self.bits & 0x0f) as u8)
10753            }
10754        }
10755        impl W {
10756            ///Bits 24:27 - DMA channel 7 selection
10757            #[inline(always)]
10758            pub fn c7s(&mut self) -> C7S_W {
10759                C7S_W { w: self }
10760            }
10761            ///Bits 20:23 - DMA channel 6 selection
10762            #[inline(always)]
10763            pub fn c6s(&mut self) -> C6S_W {
10764                C6S_W { w: self }
10765            }
10766            ///Bits 16:19 - DMA channel 5 selection
10767            #[inline(always)]
10768            pub fn c5s(&mut self) -> C5S_W {
10769                C5S_W { w: self }
10770            }
10771            ///Bits 12:15 - DMA channel 4 selection
10772            #[inline(always)]
10773            pub fn c4s(&mut self) -> C4S_W {
10774                C4S_W { w: self }
10775            }
10776            ///Bits 8:11 - DMA channel 3 selection
10777            #[inline(always)]
10778            pub fn c3s(&mut self) -> C3S_W {
10779                C3S_W { w: self }
10780            }
10781            ///Bits 4:7 - DMA channel 2 selection
10782            #[inline(always)]
10783            pub fn c2s(&mut self) -> C2S_W {
10784                C2S_W { w: self }
10785            }
10786            ///Bits 0:3 - DMA channel 1 selection
10787            #[inline(always)]
10788            pub fn c1s(&mut self) -> C1S_W {
10789                C1S_W { w: self }
10790            }
10791        }
10792    }
10793}
10794///Direct memory access Multiplexer
10795pub struct DMAMUX1 {
10796    _marker: PhantomData<*const ()>,
10797}
10798unsafe impl Send for DMAMUX1 {}
10799impl DMAMUX1 {
10800    ///Returns a pointer to the register block
10801    #[inline(always)]
10802    pub const fn ptr() -> *const dmamux1::RegisterBlock {
10803        0x4002_0800 as *const _
10804    }
10805}
10806impl Deref for DMAMUX1 {
10807    type Target = dmamux1::RegisterBlock;
10808    #[inline(always)]
10809    fn deref(&self) -> &Self::Target {
10810        unsafe { &*DMAMUX1::ptr() }
10811    }
10812}
10813///Direct memory access Multiplexer
10814pub mod dmamux1 {
10815    ///Register block
10816    #[repr(C)]
10817    pub struct RegisterBlock {
10818        ///0x00 - DMA Multiplexer Channel 0 Control register
10819        pub c0cr: C0CR,
10820        ///0x04 - DMA Multiplexer Channel 1 Control register
10821        pub c1cr: C1CR,
10822        ///0x08 - DMA Multiplexer Channel 2 Control register
10823        pub c2cr: C2CR,
10824        ///0x0c - DMA Multiplexer Channel 3 Control register
10825        pub c3cr: C3CR,
10826        ///0x10 - DMA Multiplexer Channel 4 Control register
10827        pub c4cr: C4CR,
10828        ///0x14 - DMA Multiplexer Channel 5 Control register
10829        pub c5cr: C5CR,
10830        ///0x18 - DMA Multiplexer Channel 6 Control register
10831        pub c6cr: C6CR,
10832        ///0x1c - DMA Multiplexer Channel 7 Control register
10833        pub c7cr: C7CR,
10834        ///0x20 - DMA Multiplexer Channel 8 Control register
10835        pub c8cr: C8CR,
10836        ///0x24 - DMA Multiplexer Channel 9 Control register
10837        pub c9cr: C9CR,
10838        ///0x28 - DMA Multiplexer Channel 10 Control register
10839        pub c10cr: C10CR,
10840        ///0x2c - DMA Multiplexer Channel 11 Control register
10841        pub c11cr: C11CR,
10842        ///0x30 - DMA Multiplexer Channel 12 Control register
10843        pub c12cr: C12CR,
10844        ///0x34 - DMA Multiplexer Channel 13 Control register
10845        pub c13cr: C13CR,
10846        _reserved14: [u8; 72usize],
10847        ///0x80 - DMA Multiplexer Channel Status register
10848        pub csr: CSR,
10849        ///0x84 - DMA Channel Clear Flag Register
10850        pub cfr: CFR,
10851        _reserved16: [u8; 120usize],
10852        ///0x100 - DMA Request Generator 0 Control Register
10853        pub rg0cr: RG0CR,
10854        ///0x104 - DMA Request Generator 1 Control Register
10855        pub rg1cr: RG1CR,
10856        ///0x108 - DMA Request Generator 2 Control Register
10857        pub rg2cr: RG2CR,
10858        ///0x10c - DMA Request Generator 3 Control Register
10859        pub rg3cr: RG3CR,
10860        _reserved20: [u8; 48usize],
10861        ///0x140 - DMA Request Generator Status Register
10862        pub rgsr: RGSR,
10863        ///0x144 - DMA Request Generator Clear Flag Register
10864        pub rgcfr: RGCFR,
10865    }
10866    ///DMA Multiplexer Channel 0 Control register
10867    ///
10868    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
10869    ///
10870    ///For information about available fields see [c0cr](c0cr) module
10871    pub type C0CR = crate::Reg<u32, _C0CR>;
10872    #[allow(missing_docs)]
10873    #[doc(hidden)]
10874    pub struct _C0CR;
10875    ///`read()` method returns [c0cr::R](c0cr::R) reader structure
10876    impl crate::Readable for C0CR {}
10877    ///`write(|w| ..)` method takes [c0cr::W](c0cr::W) writer structure
10878    impl crate::Writable for C0CR {}
10879    ///DMA Multiplexer Channel 0 Control register
10880    pub mod c0cr {
10881        ///Reader of register C0CR
10882        pub type R = crate::R<u32, super::C0CR>;
10883        ///Writer for register C0CR
10884        pub type W = crate::W<u32, super::C0CR>;
10885        ///Register C0CR `reset()`'s with value 0
10886        impl crate::ResetValue for super::C0CR {
10887            type Type = u32;
10888            #[inline(always)]
10889            fn reset_value() -> Self::Type {
10890                0
10891            }
10892        }
10893        ///Reader of field `SYNC_ID`
10894        pub type SYNC_ID_R = crate::R<u8, u8>;
10895        ///Write proxy for field `SYNC_ID`
10896        pub struct SYNC_ID_W<'a> {
10897            w: &'a mut W,
10898        }
10899        impl<'a> SYNC_ID_W<'a> {
10900            ///Writes raw bits to the field
10901            #[inline(always)]
10902            pub unsafe fn bits(self, value: u8) -> &'a mut W {
10903                self.w.bits = (self.w.bits & !(0x1f << 24)) | (((value as u32) & 0x1f) << 24);
10904                self.w
10905            }
10906        }
10907        ///Reader of field `NBREQ`
10908        pub type NBREQ_R = crate::R<u8, u8>;
10909        ///Write proxy for field `NBREQ`
10910        pub struct NBREQ_W<'a> {
10911            w: &'a mut W,
10912        }
10913        impl<'a> NBREQ_W<'a> {
10914            ///Writes raw bits to the field
10915            #[inline(always)]
10916            pub unsafe fn bits(self, value: u8) -> &'a mut W {
10917                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
10918                self.w
10919            }
10920        }
10921        ///Reader of field `SPOL`
10922        pub type SPOL_R = crate::R<u8, u8>;
10923        ///Write proxy for field `SPOL`
10924        pub struct SPOL_W<'a> {
10925            w: &'a mut W,
10926        }
10927        impl<'a> SPOL_W<'a> {
10928            ///Writes raw bits to the field
10929            #[inline(always)]
10930            pub unsafe fn bits(self, value: u8) -> &'a mut W {
10931                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
10932                self.w
10933            }
10934        }
10935        ///Reader of field `SE`
10936        pub type SE_R = crate::R<bool, bool>;
10937        ///Write proxy for field `SE`
10938        pub struct SE_W<'a> {
10939            w: &'a mut W,
10940        }
10941        impl<'a> SE_W<'a> {
10942            ///Sets the field bit
10943            #[inline(always)]
10944            pub fn set_bit(self) -> &'a mut W {
10945                self.bit(true)
10946            }
10947            ///Clears the field bit
10948            #[inline(always)]
10949            pub fn clear_bit(self) -> &'a mut W {
10950                self.bit(false)
10951            }
10952            ///Writes raw bits to the field
10953            #[inline(always)]
10954            pub fn bit(self, value: bool) -> &'a mut W {
10955                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
10956                self.w
10957            }
10958        }
10959        ///Reader of field `EGE`
10960        pub type EGE_R = crate::R<bool, bool>;
10961        ///Write proxy for field `EGE`
10962        pub struct EGE_W<'a> {
10963            w: &'a mut W,
10964        }
10965        impl<'a> EGE_W<'a> {
10966            ///Sets the field bit
10967            #[inline(always)]
10968            pub fn set_bit(self) -> &'a mut W {
10969                self.bit(true)
10970            }
10971            ///Clears the field bit
10972            #[inline(always)]
10973            pub fn clear_bit(self) -> &'a mut W {
10974                self.bit(false)
10975            }
10976            ///Writes raw bits to the field
10977            #[inline(always)]
10978            pub fn bit(self, value: bool) -> &'a mut W {
10979                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
10980                self.w
10981            }
10982        }
10983        ///Reader of field `SOIE`
10984        pub type SOIE_R = crate::R<bool, bool>;
10985        ///Write proxy for field `SOIE`
10986        pub struct SOIE_W<'a> {
10987            w: &'a mut W,
10988        }
10989        impl<'a> SOIE_W<'a> {
10990            ///Sets the field bit
10991            #[inline(always)]
10992            pub fn set_bit(self) -> &'a mut W {
10993                self.bit(true)
10994            }
10995            ///Clears the field bit
10996            #[inline(always)]
10997            pub fn clear_bit(self) -> &'a mut W {
10998                self.bit(false)
10999            }
11000            ///Writes raw bits to the field
11001            #[inline(always)]
11002            pub fn bit(self, value: bool) -> &'a mut W {
11003                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
11004                self.w
11005            }
11006        }
11007        ///Reader of field `DMAREQ_ID`
11008        pub type DMAREQ_ID_R = crate::R<u8, u8>;
11009        ///Write proxy for field `DMAREQ_ID`
11010        pub struct DMAREQ_ID_W<'a> {
11011            w: &'a mut W,
11012        }
11013        impl<'a> DMAREQ_ID_W<'a> {
11014            ///Writes raw bits to the field
11015            #[inline(always)]
11016            pub unsafe fn bits(self, value: u8) -> &'a mut W {
11017                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
11018                self.w
11019            }
11020        }
11021        impl R {
11022            ///Bits 24:28 - SYNC_ID
11023            #[inline(always)]
11024            pub fn sync_id(&self) -> SYNC_ID_R {
11025                SYNC_ID_R::new(((self.bits >> 24) & 0x1f) as u8)
11026            }
11027            ///Bits 19:23 - Nb request
11028            #[inline(always)]
11029            pub fn nbreq(&self) -> NBREQ_R {
11030                NBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
11031            }
11032            ///Bits 17:18 - Sync polarity
11033            #[inline(always)]
11034            pub fn spol(&self) -> SPOL_R {
11035                SPOL_R::new(((self.bits >> 17) & 0x03) as u8)
11036            }
11037            ///Bit 16 - Synchronization enable
11038            #[inline(always)]
11039            pub fn se(&self) -> SE_R {
11040                SE_R::new(((self.bits >> 16) & 0x01) != 0)
11041            }
11042            ///Bit 9 - Event Generation Enable
11043            #[inline(always)]
11044            pub fn ege(&self) -> EGE_R {
11045                EGE_R::new(((self.bits >> 9) & 0x01) != 0)
11046            }
11047            ///Bit 8 - Synchronization Overrun Interrupt Enable
11048            #[inline(always)]
11049            pub fn soie(&self) -> SOIE_R {
11050                SOIE_R::new(((self.bits >> 8) & 0x01) != 0)
11051            }
11052            ///Bits 0:7 - DMA Request ID
11053            #[inline(always)]
11054            pub fn dmareq_id(&self) -> DMAREQ_ID_R {
11055                DMAREQ_ID_R::new((self.bits & 0xff) as u8)
11056            }
11057        }
11058        impl W {
11059            ///Bits 24:28 - SYNC_ID
11060            #[inline(always)]
11061            pub fn sync_id(&mut self) -> SYNC_ID_W {
11062                SYNC_ID_W { w: self }
11063            }
11064            ///Bits 19:23 - Nb request
11065            #[inline(always)]
11066            pub fn nbreq(&mut self) -> NBREQ_W {
11067                NBREQ_W { w: self }
11068            }
11069            ///Bits 17:18 - Sync polarity
11070            #[inline(always)]
11071            pub fn spol(&mut self) -> SPOL_W {
11072                SPOL_W { w: self }
11073            }
11074            ///Bit 16 - Synchronization enable
11075            #[inline(always)]
11076            pub fn se(&mut self) -> SE_W {
11077                SE_W { w: self }
11078            }
11079            ///Bit 9 - Event Generation Enable
11080            #[inline(always)]
11081            pub fn ege(&mut self) -> EGE_W {
11082                EGE_W { w: self }
11083            }
11084            ///Bit 8 - Synchronization Overrun Interrupt Enable
11085            #[inline(always)]
11086            pub fn soie(&mut self) -> SOIE_W {
11087                SOIE_W { w: self }
11088            }
11089            ///Bits 0:7 - DMA Request ID
11090            #[inline(always)]
11091            pub fn dmareq_id(&mut self) -> DMAREQ_ID_W {
11092                DMAREQ_ID_W { w: self }
11093            }
11094        }
11095    }
11096    ///DMA Multiplexer Channel 1 Control register
11097    ///
11098    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
11099    ///
11100    ///For information about available fields see [c1cr](c1cr) module
11101    pub type C1CR = crate::Reg<u32, _C1CR>;
11102    #[allow(missing_docs)]
11103    #[doc(hidden)]
11104    pub struct _C1CR;
11105    ///`read()` method returns [c1cr::R](c1cr::R) reader structure
11106    impl crate::Readable for C1CR {}
11107    ///`write(|w| ..)` method takes [c1cr::W](c1cr::W) writer structure
11108    impl crate::Writable for C1CR {}
11109    ///DMA Multiplexer Channel 1 Control register
11110    pub mod c1cr {
11111        ///Reader of register C1CR
11112        pub type R = crate::R<u32, super::C1CR>;
11113        ///Writer for register C1CR
11114        pub type W = crate::W<u32, super::C1CR>;
11115        ///Register C1CR `reset()`'s with value 0
11116        impl crate::ResetValue for super::C1CR {
11117            type Type = u32;
11118            #[inline(always)]
11119            fn reset_value() -> Self::Type {
11120                0
11121            }
11122        }
11123        ///Reader of field `SYNC_ID`
11124        pub type SYNC_ID_R = crate::R<u8, u8>;
11125        ///Write proxy for field `SYNC_ID`
11126        pub struct SYNC_ID_W<'a> {
11127            w: &'a mut W,
11128        }
11129        impl<'a> SYNC_ID_W<'a> {
11130            ///Writes raw bits to the field
11131            #[inline(always)]
11132            pub unsafe fn bits(self, value: u8) -> &'a mut W {
11133                self.w.bits = (self.w.bits & !(0x1f << 24)) | (((value as u32) & 0x1f) << 24);
11134                self.w
11135            }
11136        }
11137        ///Reader of field `NBREQ`
11138        pub type NBREQ_R = crate::R<u8, u8>;
11139        ///Write proxy for field `NBREQ`
11140        pub struct NBREQ_W<'a> {
11141            w: &'a mut W,
11142        }
11143        impl<'a> NBREQ_W<'a> {
11144            ///Writes raw bits to the field
11145            #[inline(always)]
11146            pub unsafe fn bits(self, value: u8) -> &'a mut W {
11147                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
11148                self.w
11149            }
11150        }
11151        ///Reader of field `SPOL`
11152        pub type SPOL_R = crate::R<u8, u8>;
11153        ///Write proxy for field `SPOL`
11154        pub struct SPOL_W<'a> {
11155            w: &'a mut W,
11156        }
11157        impl<'a> SPOL_W<'a> {
11158            ///Writes raw bits to the field
11159            #[inline(always)]
11160            pub unsafe fn bits(self, value: u8) -> &'a mut W {
11161                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
11162                self.w
11163            }
11164        }
11165        ///Reader of field `SE`
11166        pub type SE_R = crate::R<bool, bool>;
11167        ///Write proxy for field `SE`
11168        pub struct SE_W<'a> {
11169            w: &'a mut W,
11170        }
11171        impl<'a> SE_W<'a> {
11172            ///Sets the field bit
11173            #[inline(always)]
11174            pub fn set_bit(self) -> &'a mut W {
11175                self.bit(true)
11176            }
11177            ///Clears the field bit
11178            #[inline(always)]
11179            pub fn clear_bit(self) -> &'a mut W {
11180                self.bit(false)
11181            }
11182            ///Writes raw bits to the field
11183            #[inline(always)]
11184            pub fn bit(self, value: bool) -> &'a mut W {
11185                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
11186                self.w
11187            }
11188        }
11189        ///Reader of field `EGE`
11190        pub type EGE_R = crate::R<bool, bool>;
11191        ///Write proxy for field `EGE`
11192        pub struct EGE_W<'a> {
11193            w: &'a mut W,
11194        }
11195        impl<'a> EGE_W<'a> {
11196            ///Sets the field bit
11197            #[inline(always)]
11198            pub fn set_bit(self) -> &'a mut W {
11199                self.bit(true)
11200            }
11201            ///Clears the field bit
11202            #[inline(always)]
11203            pub fn clear_bit(self) -> &'a mut W {
11204                self.bit(false)
11205            }
11206            ///Writes raw bits to the field
11207            #[inline(always)]
11208            pub fn bit(self, value: bool) -> &'a mut W {
11209                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
11210                self.w
11211            }
11212        }
11213        ///Reader of field `SOIE`
11214        pub type SOIE_R = crate::R<bool, bool>;
11215        ///Write proxy for field `SOIE`
11216        pub struct SOIE_W<'a> {
11217            w: &'a mut W,
11218        }
11219        impl<'a> SOIE_W<'a> {
11220            ///Sets the field bit
11221            #[inline(always)]
11222            pub fn set_bit(self) -> &'a mut W {
11223                self.bit(true)
11224            }
11225            ///Clears the field bit
11226            #[inline(always)]
11227            pub fn clear_bit(self) -> &'a mut W {
11228                self.bit(false)
11229            }
11230            ///Writes raw bits to the field
11231            #[inline(always)]
11232            pub fn bit(self, value: bool) -> &'a mut W {
11233                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
11234                self.w
11235            }
11236        }
11237        ///Reader of field `DMAREQ_ID`
11238        pub type DMAREQ_ID_R = crate::R<u8, u8>;
11239        ///Write proxy for field `DMAREQ_ID`
11240        pub struct DMAREQ_ID_W<'a> {
11241            w: &'a mut W,
11242        }
11243        impl<'a> DMAREQ_ID_W<'a> {
11244            ///Writes raw bits to the field
11245            #[inline(always)]
11246            pub unsafe fn bits(self, value: u8) -> &'a mut W {
11247                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
11248                self.w
11249            }
11250        }
11251        impl R {
11252            ///Bits 24:28 - SYNC_ID
11253            #[inline(always)]
11254            pub fn sync_id(&self) -> SYNC_ID_R {
11255                SYNC_ID_R::new(((self.bits >> 24) & 0x1f) as u8)
11256            }
11257            ///Bits 19:23 - Nb request
11258            #[inline(always)]
11259            pub fn nbreq(&self) -> NBREQ_R {
11260                NBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
11261            }
11262            ///Bits 17:18 - Sync polarity
11263            #[inline(always)]
11264            pub fn spol(&self) -> SPOL_R {
11265                SPOL_R::new(((self.bits >> 17) & 0x03) as u8)
11266            }
11267            ///Bit 16 - Synchronization enable
11268            #[inline(always)]
11269            pub fn se(&self) -> SE_R {
11270                SE_R::new(((self.bits >> 16) & 0x01) != 0)
11271            }
11272            ///Bit 9 - Event Generation Enable
11273            #[inline(always)]
11274            pub fn ege(&self) -> EGE_R {
11275                EGE_R::new(((self.bits >> 9) & 0x01) != 0)
11276            }
11277            ///Bit 8 - Synchronization Overrun Interrupt Enable
11278            #[inline(always)]
11279            pub fn soie(&self) -> SOIE_R {
11280                SOIE_R::new(((self.bits >> 8) & 0x01) != 0)
11281            }
11282            ///Bits 0:7 - DMA Request ID
11283            #[inline(always)]
11284            pub fn dmareq_id(&self) -> DMAREQ_ID_R {
11285                DMAREQ_ID_R::new((self.bits & 0xff) as u8)
11286            }
11287        }
11288        impl W {
11289            ///Bits 24:28 - SYNC_ID
11290            #[inline(always)]
11291            pub fn sync_id(&mut self) -> SYNC_ID_W {
11292                SYNC_ID_W { w: self }
11293            }
11294            ///Bits 19:23 - Nb request
11295            #[inline(always)]
11296            pub fn nbreq(&mut self) -> NBREQ_W {
11297                NBREQ_W { w: self }
11298            }
11299            ///Bits 17:18 - Sync polarity
11300            #[inline(always)]
11301            pub fn spol(&mut self) -> SPOL_W {
11302                SPOL_W { w: self }
11303            }
11304            ///Bit 16 - Synchronization enable
11305            #[inline(always)]
11306            pub fn se(&mut self) -> SE_W {
11307                SE_W { w: self }
11308            }
11309            ///Bit 9 - Event Generation Enable
11310            #[inline(always)]
11311            pub fn ege(&mut self) -> EGE_W {
11312                EGE_W { w: self }
11313            }
11314            ///Bit 8 - Synchronization Overrun Interrupt Enable
11315            #[inline(always)]
11316            pub fn soie(&mut self) -> SOIE_W {
11317                SOIE_W { w: self }
11318            }
11319            ///Bits 0:7 - DMA Request ID
11320            #[inline(always)]
11321            pub fn dmareq_id(&mut self) -> DMAREQ_ID_W {
11322                DMAREQ_ID_W { w: self }
11323            }
11324        }
11325    }
11326    ///DMA Multiplexer Channel 2 Control register
11327    ///
11328    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
11329    ///
11330    ///For information about available fields see [c2cr](c2cr) module
11331    pub type C2CR = crate::Reg<u32, _C2CR>;
11332    #[allow(missing_docs)]
11333    #[doc(hidden)]
11334    pub struct _C2CR;
11335    ///`read()` method returns [c2cr::R](c2cr::R) reader structure
11336    impl crate::Readable for C2CR {}
11337    ///`write(|w| ..)` method takes [c2cr::W](c2cr::W) writer structure
11338    impl crate::Writable for C2CR {}
11339    ///DMA Multiplexer Channel 2 Control register
11340    pub mod c2cr {
11341        ///Reader of register C2CR
11342        pub type R = crate::R<u32, super::C2CR>;
11343        ///Writer for register C2CR
11344        pub type W = crate::W<u32, super::C2CR>;
11345        ///Register C2CR `reset()`'s with value 0
11346        impl crate::ResetValue for super::C2CR {
11347            type Type = u32;
11348            #[inline(always)]
11349            fn reset_value() -> Self::Type {
11350                0
11351            }
11352        }
11353        ///Reader of field `SYNC_ID`
11354        pub type SYNC_ID_R = crate::R<u8, u8>;
11355        ///Write proxy for field `SYNC_ID`
11356        pub struct SYNC_ID_W<'a> {
11357            w: &'a mut W,
11358        }
11359        impl<'a> SYNC_ID_W<'a> {
11360            ///Writes raw bits to the field
11361            #[inline(always)]
11362            pub unsafe fn bits(self, value: u8) -> &'a mut W {
11363                self.w.bits = (self.w.bits & !(0x1f << 24)) | (((value as u32) & 0x1f) << 24);
11364                self.w
11365            }
11366        }
11367        ///Reader of field `NBREQ`
11368        pub type NBREQ_R = crate::R<u8, u8>;
11369        ///Write proxy for field `NBREQ`
11370        pub struct NBREQ_W<'a> {
11371            w: &'a mut W,
11372        }
11373        impl<'a> NBREQ_W<'a> {
11374            ///Writes raw bits to the field
11375            #[inline(always)]
11376            pub unsafe fn bits(self, value: u8) -> &'a mut W {
11377                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
11378                self.w
11379            }
11380        }
11381        ///Reader of field `SPOL`
11382        pub type SPOL_R = crate::R<u8, u8>;
11383        ///Write proxy for field `SPOL`
11384        pub struct SPOL_W<'a> {
11385            w: &'a mut W,
11386        }
11387        impl<'a> SPOL_W<'a> {
11388            ///Writes raw bits to the field
11389            #[inline(always)]
11390            pub unsafe fn bits(self, value: u8) -> &'a mut W {
11391                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
11392                self.w
11393            }
11394        }
11395        ///Reader of field `SE`
11396        pub type SE_R = crate::R<bool, bool>;
11397        ///Write proxy for field `SE`
11398        pub struct SE_W<'a> {
11399            w: &'a mut W,
11400        }
11401        impl<'a> SE_W<'a> {
11402            ///Sets the field bit
11403            #[inline(always)]
11404            pub fn set_bit(self) -> &'a mut W {
11405                self.bit(true)
11406            }
11407            ///Clears the field bit
11408            #[inline(always)]
11409            pub fn clear_bit(self) -> &'a mut W {
11410                self.bit(false)
11411            }
11412            ///Writes raw bits to the field
11413            #[inline(always)]
11414            pub fn bit(self, value: bool) -> &'a mut W {
11415                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
11416                self.w
11417            }
11418        }
11419        ///Reader of field `EGE`
11420        pub type EGE_R = crate::R<bool, bool>;
11421        ///Write proxy for field `EGE`
11422        pub struct EGE_W<'a> {
11423            w: &'a mut W,
11424        }
11425        impl<'a> EGE_W<'a> {
11426            ///Sets the field bit
11427            #[inline(always)]
11428            pub fn set_bit(self) -> &'a mut W {
11429                self.bit(true)
11430            }
11431            ///Clears the field bit
11432            #[inline(always)]
11433            pub fn clear_bit(self) -> &'a mut W {
11434                self.bit(false)
11435            }
11436            ///Writes raw bits to the field
11437            #[inline(always)]
11438            pub fn bit(self, value: bool) -> &'a mut W {
11439                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
11440                self.w
11441            }
11442        }
11443        ///Reader of field `SOIE`
11444        pub type SOIE_R = crate::R<bool, bool>;
11445        ///Write proxy for field `SOIE`
11446        pub struct SOIE_W<'a> {
11447            w: &'a mut W,
11448        }
11449        impl<'a> SOIE_W<'a> {
11450            ///Sets the field bit
11451            #[inline(always)]
11452            pub fn set_bit(self) -> &'a mut W {
11453                self.bit(true)
11454            }
11455            ///Clears the field bit
11456            #[inline(always)]
11457            pub fn clear_bit(self) -> &'a mut W {
11458                self.bit(false)
11459            }
11460            ///Writes raw bits to the field
11461            #[inline(always)]
11462            pub fn bit(self, value: bool) -> &'a mut W {
11463                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
11464                self.w
11465            }
11466        }
11467        ///Reader of field `DMAREQ_ID`
11468        pub type DMAREQ_ID_R = crate::R<u8, u8>;
11469        ///Write proxy for field `DMAREQ_ID`
11470        pub struct DMAREQ_ID_W<'a> {
11471            w: &'a mut W,
11472        }
11473        impl<'a> DMAREQ_ID_W<'a> {
11474            ///Writes raw bits to the field
11475            #[inline(always)]
11476            pub unsafe fn bits(self, value: u8) -> &'a mut W {
11477                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
11478                self.w
11479            }
11480        }
11481        impl R {
11482            ///Bits 24:28 - SYNC_ID
11483            #[inline(always)]
11484            pub fn sync_id(&self) -> SYNC_ID_R {
11485                SYNC_ID_R::new(((self.bits >> 24) & 0x1f) as u8)
11486            }
11487            ///Bits 19:23 - Nb request
11488            #[inline(always)]
11489            pub fn nbreq(&self) -> NBREQ_R {
11490                NBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
11491            }
11492            ///Bits 17:18 - Sync polarity
11493            #[inline(always)]
11494            pub fn spol(&self) -> SPOL_R {
11495                SPOL_R::new(((self.bits >> 17) & 0x03) as u8)
11496            }
11497            ///Bit 16 - Synchronization enable
11498            #[inline(always)]
11499            pub fn se(&self) -> SE_R {
11500                SE_R::new(((self.bits >> 16) & 0x01) != 0)
11501            }
11502            ///Bit 9 - Event Generation Enable
11503            #[inline(always)]
11504            pub fn ege(&self) -> EGE_R {
11505                EGE_R::new(((self.bits >> 9) & 0x01) != 0)
11506            }
11507            ///Bit 8 - Synchronization Overrun Interrupt Enable
11508            #[inline(always)]
11509            pub fn soie(&self) -> SOIE_R {
11510                SOIE_R::new(((self.bits >> 8) & 0x01) != 0)
11511            }
11512            ///Bits 0:7 - DMA Request ID
11513            #[inline(always)]
11514            pub fn dmareq_id(&self) -> DMAREQ_ID_R {
11515                DMAREQ_ID_R::new((self.bits & 0xff) as u8)
11516            }
11517        }
11518        impl W {
11519            ///Bits 24:28 - SYNC_ID
11520            #[inline(always)]
11521            pub fn sync_id(&mut self) -> SYNC_ID_W {
11522                SYNC_ID_W { w: self }
11523            }
11524            ///Bits 19:23 - Nb request
11525            #[inline(always)]
11526            pub fn nbreq(&mut self) -> NBREQ_W {
11527                NBREQ_W { w: self }
11528            }
11529            ///Bits 17:18 - Sync polarity
11530            #[inline(always)]
11531            pub fn spol(&mut self) -> SPOL_W {
11532                SPOL_W { w: self }
11533            }
11534            ///Bit 16 - Synchronization enable
11535            #[inline(always)]
11536            pub fn se(&mut self) -> SE_W {
11537                SE_W { w: self }
11538            }
11539            ///Bit 9 - Event Generation Enable
11540            #[inline(always)]
11541            pub fn ege(&mut self) -> EGE_W {
11542                EGE_W { w: self }
11543            }
11544            ///Bit 8 - Synchronization Overrun Interrupt Enable
11545            #[inline(always)]
11546            pub fn soie(&mut self) -> SOIE_W {
11547                SOIE_W { w: self }
11548            }
11549            ///Bits 0:7 - DMA Request ID
11550            #[inline(always)]
11551            pub fn dmareq_id(&mut self) -> DMAREQ_ID_W {
11552                DMAREQ_ID_W { w: self }
11553            }
11554        }
11555    }
11556    ///DMA Multiplexer Channel 3 Control register
11557    ///
11558    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
11559    ///
11560    ///For information about available fields see [c3cr](c3cr) module
11561    pub type C3CR = crate::Reg<u32, _C3CR>;
11562    #[allow(missing_docs)]
11563    #[doc(hidden)]
11564    pub struct _C3CR;
11565    ///`read()` method returns [c3cr::R](c3cr::R) reader structure
11566    impl crate::Readable for C3CR {}
11567    ///`write(|w| ..)` method takes [c3cr::W](c3cr::W) writer structure
11568    impl crate::Writable for C3CR {}
11569    ///DMA Multiplexer Channel 3 Control register
11570    pub mod c3cr {
11571        ///Reader of register C3CR
11572        pub type R = crate::R<u32, super::C3CR>;
11573        ///Writer for register C3CR
11574        pub type W = crate::W<u32, super::C3CR>;
11575        ///Register C3CR `reset()`'s with value 0
11576        impl crate::ResetValue for super::C3CR {
11577            type Type = u32;
11578            #[inline(always)]
11579            fn reset_value() -> Self::Type {
11580                0
11581            }
11582        }
11583        ///Reader of field `SYNC_ID`
11584        pub type SYNC_ID_R = crate::R<u8, u8>;
11585        ///Write proxy for field `SYNC_ID`
11586        pub struct SYNC_ID_W<'a> {
11587            w: &'a mut W,
11588        }
11589        impl<'a> SYNC_ID_W<'a> {
11590            ///Writes raw bits to the field
11591            #[inline(always)]
11592            pub unsafe fn bits(self, value: u8) -> &'a mut W {
11593                self.w.bits = (self.w.bits & !(0x1f << 24)) | (((value as u32) & 0x1f) << 24);
11594                self.w
11595            }
11596        }
11597        ///Reader of field `NBREQ`
11598        pub type NBREQ_R = crate::R<u8, u8>;
11599        ///Write proxy for field `NBREQ`
11600        pub struct NBREQ_W<'a> {
11601            w: &'a mut W,
11602        }
11603        impl<'a> NBREQ_W<'a> {
11604            ///Writes raw bits to the field
11605            #[inline(always)]
11606            pub unsafe fn bits(self, value: u8) -> &'a mut W {
11607                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
11608                self.w
11609            }
11610        }
11611        ///Reader of field `SPOL`
11612        pub type SPOL_R = crate::R<u8, u8>;
11613        ///Write proxy for field `SPOL`
11614        pub struct SPOL_W<'a> {
11615            w: &'a mut W,
11616        }
11617        impl<'a> SPOL_W<'a> {
11618            ///Writes raw bits to the field
11619            #[inline(always)]
11620            pub unsafe fn bits(self, value: u8) -> &'a mut W {
11621                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
11622                self.w
11623            }
11624        }
11625        ///Reader of field `SE`
11626        pub type SE_R = crate::R<bool, bool>;
11627        ///Write proxy for field `SE`
11628        pub struct SE_W<'a> {
11629            w: &'a mut W,
11630        }
11631        impl<'a> SE_W<'a> {
11632            ///Sets the field bit
11633            #[inline(always)]
11634            pub fn set_bit(self) -> &'a mut W {
11635                self.bit(true)
11636            }
11637            ///Clears the field bit
11638            #[inline(always)]
11639            pub fn clear_bit(self) -> &'a mut W {
11640                self.bit(false)
11641            }
11642            ///Writes raw bits to the field
11643            #[inline(always)]
11644            pub fn bit(self, value: bool) -> &'a mut W {
11645                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
11646                self.w
11647            }
11648        }
11649        ///Reader of field `EGE`
11650        pub type EGE_R = crate::R<bool, bool>;
11651        ///Write proxy for field `EGE`
11652        pub struct EGE_W<'a> {
11653            w: &'a mut W,
11654        }
11655        impl<'a> EGE_W<'a> {
11656            ///Sets the field bit
11657            #[inline(always)]
11658            pub fn set_bit(self) -> &'a mut W {
11659                self.bit(true)
11660            }
11661            ///Clears the field bit
11662            #[inline(always)]
11663            pub fn clear_bit(self) -> &'a mut W {
11664                self.bit(false)
11665            }
11666            ///Writes raw bits to the field
11667            #[inline(always)]
11668            pub fn bit(self, value: bool) -> &'a mut W {
11669                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
11670                self.w
11671            }
11672        }
11673        ///Reader of field `SOIE`
11674        pub type SOIE_R = crate::R<bool, bool>;
11675        ///Write proxy for field `SOIE`
11676        pub struct SOIE_W<'a> {
11677            w: &'a mut W,
11678        }
11679        impl<'a> SOIE_W<'a> {
11680            ///Sets the field bit
11681            #[inline(always)]
11682            pub fn set_bit(self) -> &'a mut W {
11683                self.bit(true)
11684            }
11685            ///Clears the field bit
11686            #[inline(always)]
11687            pub fn clear_bit(self) -> &'a mut W {
11688                self.bit(false)
11689            }
11690            ///Writes raw bits to the field
11691            #[inline(always)]
11692            pub fn bit(self, value: bool) -> &'a mut W {
11693                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
11694                self.w
11695            }
11696        }
11697        ///Reader of field `DMAREQ_ID`
11698        pub type DMAREQ_ID_R = crate::R<u8, u8>;
11699        ///Write proxy for field `DMAREQ_ID`
11700        pub struct DMAREQ_ID_W<'a> {
11701            w: &'a mut W,
11702        }
11703        impl<'a> DMAREQ_ID_W<'a> {
11704            ///Writes raw bits to the field
11705            #[inline(always)]
11706            pub unsafe fn bits(self, value: u8) -> &'a mut W {
11707                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
11708                self.w
11709            }
11710        }
11711        impl R {
11712            ///Bits 24:28 - SYNC_ID
11713            #[inline(always)]
11714            pub fn sync_id(&self) -> SYNC_ID_R {
11715                SYNC_ID_R::new(((self.bits >> 24) & 0x1f) as u8)
11716            }
11717            ///Bits 19:23 - Nb request
11718            #[inline(always)]
11719            pub fn nbreq(&self) -> NBREQ_R {
11720                NBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
11721            }
11722            ///Bits 17:18 - Sync polarity
11723            #[inline(always)]
11724            pub fn spol(&self) -> SPOL_R {
11725                SPOL_R::new(((self.bits >> 17) & 0x03) as u8)
11726            }
11727            ///Bit 16 - Synchronization enable
11728            #[inline(always)]
11729            pub fn se(&self) -> SE_R {
11730                SE_R::new(((self.bits >> 16) & 0x01) != 0)
11731            }
11732            ///Bit 9 - Event Generation Enable
11733            #[inline(always)]
11734            pub fn ege(&self) -> EGE_R {
11735                EGE_R::new(((self.bits >> 9) & 0x01) != 0)
11736            }
11737            ///Bit 8 - Synchronization Overrun Interrupt Enable
11738            #[inline(always)]
11739            pub fn soie(&self) -> SOIE_R {
11740                SOIE_R::new(((self.bits >> 8) & 0x01) != 0)
11741            }
11742            ///Bits 0:7 - DMA Request ID
11743            #[inline(always)]
11744            pub fn dmareq_id(&self) -> DMAREQ_ID_R {
11745                DMAREQ_ID_R::new((self.bits & 0xff) as u8)
11746            }
11747        }
11748        impl W {
11749            ///Bits 24:28 - SYNC_ID
11750            #[inline(always)]
11751            pub fn sync_id(&mut self) -> SYNC_ID_W {
11752                SYNC_ID_W { w: self }
11753            }
11754            ///Bits 19:23 - Nb request
11755            #[inline(always)]
11756            pub fn nbreq(&mut self) -> NBREQ_W {
11757                NBREQ_W { w: self }
11758            }
11759            ///Bits 17:18 - Sync polarity
11760            #[inline(always)]
11761            pub fn spol(&mut self) -> SPOL_W {
11762                SPOL_W { w: self }
11763            }
11764            ///Bit 16 - Synchronization enable
11765            #[inline(always)]
11766            pub fn se(&mut self) -> SE_W {
11767                SE_W { w: self }
11768            }
11769            ///Bit 9 - Event Generation Enable
11770            #[inline(always)]
11771            pub fn ege(&mut self) -> EGE_W {
11772                EGE_W { w: self }
11773            }
11774            ///Bit 8 - Synchronization Overrun Interrupt Enable
11775            #[inline(always)]
11776            pub fn soie(&mut self) -> SOIE_W {
11777                SOIE_W { w: self }
11778            }
11779            ///Bits 0:7 - DMA Request ID
11780            #[inline(always)]
11781            pub fn dmareq_id(&mut self) -> DMAREQ_ID_W {
11782                DMAREQ_ID_W { w: self }
11783            }
11784        }
11785    }
11786    ///DMA Multiplexer Channel 4 Control register
11787    ///
11788    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
11789    ///
11790    ///For information about available fields see [c4cr](c4cr) module
11791    pub type C4CR = crate::Reg<u32, _C4CR>;
11792    #[allow(missing_docs)]
11793    #[doc(hidden)]
11794    pub struct _C4CR;
11795    ///`read()` method returns [c4cr::R](c4cr::R) reader structure
11796    impl crate::Readable for C4CR {}
11797    ///`write(|w| ..)` method takes [c4cr::W](c4cr::W) writer structure
11798    impl crate::Writable for C4CR {}
11799    ///DMA Multiplexer Channel 4 Control register
11800    pub mod c4cr {
11801        ///Reader of register C4CR
11802        pub type R = crate::R<u32, super::C4CR>;
11803        ///Writer for register C4CR
11804        pub type W = crate::W<u32, super::C4CR>;
11805        ///Register C4CR `reset()`'s with value 0
11806        impl crate::ResetValue for super::C4CR {
11807            type Type = u32;
11808            #[inline(always)]
11809            fn reset_value() -> Self::Type {
11810                0
11811            }
11812        }
11813        ///Reader of field `SYNC_ID`
11814        pub type SYNC_ID_R = crate::R<u8, u8>;
11815        ///Write proxy for field `SYNC_ID`
11816        pub struct SYNC_ID_W<'a> {
11817            w: &'a mut W,
11818        }
11819        impl<'a> SYNC_ID_W<'a> {
11820            ///Writes raw bits to the field
11821            #[inline(always)]
11822            pub unsafe fn bits(self, value: u8) -> &'a mut W {
11823                self.w.bits = (self.w.bits & !(0x1f << 24)) | (((value as u32) & 0x1f) << 24);
11824                self.w
11825            }
11826        }
11827        ///Reader of field `NBREQ`
11828        pub type NBREQ_R = crate::R<u8, u8>;
11829        ///Write proxy for field `NBREQ`
11830        pub struct NBREQ_W<'a> {
11831            w: &'a mut W,
11832        }
11833        impl<'a> NBREQ_W<'a> {
11834            ///Writes raw bits to the field
11835            #[inline(always)]
11836            pub unsafe fn bits(self, value: u8) -> &'a mut W {
11837                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
11838                self.w
11839            }
11840        }
11841        ///Reader of field `SPOL`
11842        pub type SPOL_R = crate::R<u8, u8>;
11843        ///Write proxy for field `SPOL`
11844        pub struct SPOL_W<'a> {
11845            w: &'a mut W,
11846        }
11847        impl<'a> SPOL_W<'a> {
11848            ///Writes raw bits to the field
11849            #[inline(always)]
11850            pub unsafe fn bits(self, value: u8) -> &'a mut W {
11851                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
11852                self.w
11853            }
11854        }
11855        ///Reader of field `SE`
11856        pub type SE_R = crate::R<bool, bool>;
11857        ///Write proxy for field `SE`
11858        pub struct SE_W<'a> {
11859            w: &'a mut W,
11860        }
11861        impl<'a> SE_W<'a> {
11862            ///Sets the field bit
11863            #[inline(always)]
11864            pub fn set_bit(self) -> &'a mut W {
11865                self.bit(true)
11866            }
11867            ///Clears the field bit
11868            #[inline(always)]
11869            pub fn clear_bit(self) -> &'a mut W {
11870                self.bit(false)
11871            }
11872            ///Writes raw bits to the field
11873            #[inline(always)]
11874            pub fn bit(self, value: bool) -> &'a mut W {
11875                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
11876                self.w
11877            }
11878        }
11879        ///Reader of field `EGE`
11880        pub type EGE_R = crate::R<bool, bool>;
11881        ///Write proxy for field `EGE`
11882        pub struct EGE_W<'a> {
11883            w: &'a mut W,
11884        }
11885        impl<'a> EGE_W<'a> {
11886            ///Sets the field bit
11887            #[inline(always)]
11888            pub fn set_bit(self) -> &'a mut W {
11889                self.bit(true)
11890            }
11891            ///Clears the field bit
11892            #[inline(always)]
11893            pub fn clear_bit(self) -> &'a mut W {
11894                self.bit(false)
11895            }
11896            ///Writes raw bits to the field
11897            #[inline(always)]
11898            pub fn bit(self, value: bool) -> &'a mut W {
11899                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
11900                self.w
11901            }
11902        }
11903        ///Reader of field `SOIE`
11904        pub type SOIE_R = crate::R<bool, bool>;
11905        ///Write proxy for field `SOIE`
11906        pub struct SOIE_W<'a> {
11907            w: &'a mut W,
11908        }
11909        impl<'a> SOIE_W<'a> {
11910            ///Sets the field bit
11911            #[inline(always)]
11912            pub fn set_bit(self) -> &'a mut W {
11913                self.bit(true)
11914            }
11915            ///Clears the field bit
11916            #[inline(always)]
11917            pub fn clear_bit(self) -> &'a mut W {
11918                self.bit(false)
11919            }
11920            ///Writes raw bits to the field
11921            #[inline(always)]
11922            pub fn bit(self, value: bool) -> &'a mut W {
11923                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
11924                self.w
11925            }
11926        }
11927        ///Reader of field `DMAREQ_ID`
11928        pub type DMAREQ_ID_R = crate::R<u8, u8>;
11929        ///Write proxy for field `DMAREQ_ID`
11930        pub struct DMAREQ_ID_W<'a> {
11931            w: &'a mut W,
11932        }
11933        impl<'a> DMAREQ_ID_W<'a> {
11934            ///Writes raw bits to the field
11935            #[inline(always)]
11936            pub unsafe fn bits(self, value: u8) -> &'a mut W {
11937                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
11938                self.w
11939            }
11940        }
11941        impl R {
11942            ///Bits 24:28 - SYNC_ID
11943            #[inline(always)]
11944            pub fn sync_id(&self) -> SYNC_ID_R {
11945                SYNC_ID_R::new(((self.bits >> 24) & 0x1f) as u8)
11946            }
11947            ///Bits 19:23 - Nb request
11948            #[inline(always)]
11949            pub fn nbreq(&self) -> NBREQ_R {
11950                NBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
11951            }
11952            ///Bits 17:18 - Sync polarity
11953            #[inline(always)]
11954            pub fn spol(&self) -> SPOL_R {
11955                SPOL_R::new(((self.bits >> 17) & 0x03) as u8)
11956            }
11957            ///Bit 16 - Synchronization enable
11958            #[inline(always)]
11959            pub fn se(&self) -> SE_R {
11960                SE_R::new(((self.bits >> 16) & 0x01) != 0)
11961            }
11962            ///Bit 9 - Event Generation Enable
11963            #[inline(always)]
11964            pub fn ege(&self) -> EGE_R {
11965                EGE_R::new(((self.bits >> 9) & 0x01) != 0)
11966            }
11967            ///Bit 8 - Synchronization Overrun Interrupt Enable
11968            #[inline(always)]
11969            pub fn soie(&self) -> SOIE_R {
11970                SOIE_R::new(((self.bits >> 8) & 0x01) != 0)
11971            }
11972            ///Bits 0:7 - DMA Request ID
11973            #[inline(always)]
11974            pub fn dmareq_id(&self) -> DMAREQ_ID_R {
11975                DMAREQ_ID_R::new((self.bits & 0xff) as u8)
11976            }
11977        }
11978        impl W {
11979            ///Bits 24:28 - SYNC_ID
11980            #[inline(always)]
11981            pub fn sync_id(&mut self) -> SYNC_ID_W {
11982                SYNC_ID_W { w: self }
11983            }
11984            ///Bits 19:23 - Nb request
11985            #[inline(always)]
11986            pub fn nbreq(&mut self) -> NBREQ_W {
11987                NBREQ_W { w: self }
11988            }
11989            ///Bits 17:18 - Sync polarity
11990            #[inline(always)]
11991            pub fn spol(&mut self) -> SPOL_W {
11992                SPOL_W { w: self }
11993            }
11994            ///Bit 16 - Synchronization enable
11995            #[inline(always)]
11996            pub fn se(&mut self) -> SE_W {
11997                SE_W { w: self }
11998            }
11999            ///Bit 9 - Event Generation Enable
12000            #[inline(always)]
12001            pub fn ege(&mut self) -> EGE_W {
12002                EGE_W { w: self }
12003            }
12004            ///Bit 8 - Synchronization Overrun Interrupt Enable
12005            #[inline(always)]
12006            pub fn soie(&mut self) -> SOIE_W {
12007                SOIE_W { w: self }
12008            }
12009            ///Bits 0:7 - DMA Request ID
12010            #[inline(always)]
12011            pub fn dmareq_id(&mut self) -> DMAREQ_ID_W {
12012                DMAREQ_ID_W { w: self }
12013            }
12014        }
12015    }
12016    ///DMA Multiplexer Channel 5 Control register
12017    ///
12018    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
12019    ///
12020    ///For information about available fields see [c5cr](c5cr) module
12021    pub type C5CR = crate::Reg<u32, _C5CR>;
12022    #[allow(missing_docs)]
12023    #[doc(hidden)]
12024    pub struct _C5CR;
12025    ///`read()` method returns [c5cr::R](c5cr::R) reader structure
12026    impl crate::Readable for C5CR {}
12027    ///`write(|w| ..)` method takes [c5cr::W](c5cr::W) writer structure
12028    impl crate::Writable for C5CR {}
12029    ///DMA Multiplexer Channel 5 Control register
12030    pub mod c5cr {
12031        ///Reader of register C5CR
12032        pub type R = crate::R<u32, super::C5CR>;
12033        ///Writer for register C5CR
12034        pub type W = crate::W<u32, super::C5CR>;
12035        ///Register C5CR `reset()`'s with value 0
12036        impl crate::ResetValue for super::C5CR {
12037            type Type = u32;
12038            #[inline(always)]
12039            fn reset_value() -> Self::Type {
12040                0
12041            }
12042        }
12043        ///Reader of field `SYNC_ID`
12044        pub type SYNC_ID_R = crate::R<u8, u8>;
12045        ///Write proxy for field `SYNC_ID`
12046        pub struct SYNC_ID_W<'a> {
12047            w: &'a mut W,
12048        }
12049        impl<'a> SYNC_ID_W<'a> {
12050            ///Writes raw bits to the field
12051            #[inline(always)]
12052            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12053                self.w.bits = (self.w.bits & !(0x1f << 24)) | (((value as u32) & 0x1f) << 24);
12054                self.w
12055            }
12056        }
12057        ///Reader of field `NBREQ`
12058        pub type NBREQ_R = crate::R<u8, u8>;
12059        ///Write proxy for field `NBREQ`
12060        pub struct NBREQ_W<'a> {
12061            w: &'a mut W,
12062        }
12063        impl<'a> NBREQ_W<'a> {
12064            ///Writes raw bits to the field
12065            #[inline(always)]
12066            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12067                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
12068                self.w
12069            }
12070        }
12071        ///Reader of field `SPOL`
12072        pub type SPOL_R = crate::R<u8, u8>;
12073        ///Write proxy for field `SPOL`
12074        pub struct SPOL_W<'a> {
12075            w: &'a mut W,
12076        }
12077        impl<'a> SPOL_W<'a> {
12078            ///Writes raw bits to the field
12079            #[inline(always)]
12080            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12081                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
12082                self.w
12083            }
12084        }
12085        ///Reader of field `SE`
12086        pub type SE_R = crate::R<bool, bool>;
12087        ///Write proxy for field `SE`
12088        pub struct SE_W<'a> {
12089            w: &'a mut W,
12090        }
12091        impl<'a> SE_W<'a> {
12092            ///Sets the field bit
12093            #[inline(always)]
12094            pub fn set_bit(self) -> &'a mut W {
12095                self.bit(true)
12096            }
12097            ///Clears the field bit
12098            #[inline(always)]
12099            pub fn clear_bit(self) -> &'a mut W {
12100                self.bit(false)
12101            }
12102            ///Writes raw bits to the field
12103            #[inline(always)]
12104            pub fn bit(self, value: bool) -> &'a mut W {
12105                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
12106                self.w
12107            }
12108        }
12109        ///Reader of field `EGE`
12110        pub type EGE_R = crate::R<bool, bool>;
12111        ///Write proxy for field `EGE`
12112        pub struct EGE_W<'a> {
12113            w: &'a mut W,
12114        }
12115        impl<'a> EGE_W<'a> {
12116            ///Sets the field bit
12117            #[inline(always)]
12118            pub fn set_bit(self) -> &'a mut W {
12119                self.bit(true)
12120            }
12121            ///Clears the field bit
12122            #[inline(always)]
12123            pub fn clear_bit(self) -> &'a mut W {
12124                self.bit(false)
12125            }
12126            ///Writes raw bits to the field
12127            #[inline(always)]
12128            pub fn bit(self, value: bool) -> &'a mut W {
12129                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
12130                self.w
12131            }
12132        }
12133        ///Reader of field `SOIE`
12134        pub type SOIE_R = crate::R<bool, bool>;
12135        ///Write proxy for field `SOIE`
12136        pub struct SOIE_W<'a> {
12137            w: &'a mut W,
12138        }
12139        impl<'a> SOIE_W<'a> {
12140            ///Sets the field bit
12141            #[inline(always)]
12142            pub fn set_bit(self) -> &'a mut W {
12143                self.bit(true)
12144            }
12145            ///Clears the field bit
12146            #[inline(always)]
12147            pub fn clear_bit(self) -> &'a mut W {
12148                self.bit(false)
12149            }
12150            ///Writes raw bits to the field
12151            #[inline(always)]
12152            pub fn bit(self, value: bool) -> &'a mut W {
12153                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
12154                self.w
12155            }
12156        }
12157        ///Reader of field `DMAREQ_ID`
12158        pub type DMAREQ_ID_R = crate::R<u8, u8>;
12159        ///Write proxy for field `DMAREQ_ID`
12160        pub struct DMAREQ_ID_W<'a> {
12161            w: &'a mut W,
12162        }
12163        impl<'a> DMAREQ_ID_W<'a> {
12164            ///Writes raw bits to the field
12165            #[inline(always)]
12166            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12167                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
12168                self.w
12169            }
12170        }
12171        impl R {
12172            ///Bits 24:28 - SYNC_ID
12173            #[inline(always)]
12174            pub fn sync_id(&self) -> SYNC_ID_R {
12175                SYNC_ID_R::new(((self.bits >> 24) & 0x1f) as u8)
12176            }
12177            ///Bits 19:23 - Nb request
12178            #[inline(always)]
12179            pub fn nbreq(&self) -> NBREQ_R {
12180                NBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
12181            }
12182            ///Bits 17:18 - Sync polarity
12183            #[inline(always)]
12184            pub fn spol(&self) -> SPOL_R {
12185                SPOL_R::new(((self.bits >> 17) & 0x03) as u8)
12186            }
12187            ///Bit 16 - Synchronization enable
12188            #[inline(always)]
12189            pub fn se(&self) -> SE_R {
12190                SE_R::new(((self.bits >> 16) & 0x01) != 0)
12191            }
12192            ///Bit 9 - Event Generation Enable
12193            #[inline(always)]
12194            pub fn ege(&self) -> EGE_R {
12195                EGE_R::new(((self.bits >> 9) & 0x01) != 0)
12196            }
12197            ///Bit 8 - Synchronization Overrun Interrupt Enable
12198            #[inline(always)]
12199            pub fn soie(&self) -> SOIE_R {
12200                SOIE_R::new(((self.bits >> 8) & 0x01) != 0)
12201            }
12202            ///Bits 0:7 - DMA Request ID
12203            #[inline(always)]
12204            pub fn dmareq_id(&self) -> DMAREQ_ID_R {
12205                DMAREQ_ID_R::new((self.bits & 0xff) as u8)
12206            }
12207        }
12208        impl W {
12209            ///Bits 24:28 - SYNC_ID
12210            #[inline(always)]
12211            pub fn sync_id(&mut self) -> SYNC_ID_W {
12212                SYNC_ID_W { w: self }
12213            }
12214            ///Bits 19:23 - Nb request
12215            #[inline(always)]
12216            pub fn nbreq(&mut self) -> NBREQ_W {
12217                NBREQ_W { w: self }
12218            }
12219            ///Bits 17:18 - Sync polarity
12220            #[inline(always)]
12221            pub fn spol(&mut self) -> SPOL_W {
12222                SPOL_W { w: self }
12223            }
12224            ///Bit 16 - Synchronization enable
12225            #[inline(always)]
12226            pub fn se(&mut self) -> SE_W {
12227                SE_W { w: self }
12228            }
12229            ///Bit 9 - Event Generation Enable
12230            #[inline(always)]
12231            pub fn ege(&mut self) -> EGE_W {
12232                EGE_W { w: self }
12233            }
12234            ///Bit 8 - Synchronization Overrun Interrupt Enable
12235            #[inline(always)]
12236            pub fn soie(&mut self) -> SOIE_W {
12237                SOIE_W { w: self }
12238            }
12239            ///Bits 0:7 - DMA Request ID
12240            #[inline(always)]
12241            pub fn dmareq_id(&mut self) -> DMAREQ_ID_W {
12242                DMAREQ_ID_W { w: self }
12243            }
12244        }
12245    }
12246    ///DMA Multiplexer Channel 6 Control register
12247    ///
12248    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
12249    ///
12250    ///For information about available fields see [c6cr](c6cr) module
12251    pub type C6CR = crate::Reg<u32, _C6CR>;
12252    #[allow(missing_docs)]
12253    #[doc(hidden)]
12254    pub struct _C6CR;
12255    ///`read()` method returns [c6cr::R](c6cr::R) reader structure
12256    impl crate::Readable for C6CR {}
12257    ///`write(|w| ..)` method takes [c6cr::W](c6cr::W) writer structure
12258    impl crate::Writable for C6CR {}
12259    ///DMA Multiplexer Channel 6 Control register
12260    pub mod c6cr {
12261        ///Reader of register C6CR
12262        pub type R = crate::R<u32, super::C6CR>;
12263        ///Writer for register C6CR
12264        pub type W = crate::W<u32, super::C6CR>;
12265        ///Register C6CR `reset()`'s with value 0
12266        impl crate::ResetValue for super::C6CR {
12267            type Type = u32;
12268            #[inline(always)]
12269            fn reset_value() -> Self::Type {
12270                0
12271            }
12272        }
12273        ///Reader of field `SYNC_ID`
12274        pub type SYNC_ID_R = crate::R<u8, u8>;
12275        ///Write proxy for field `SYNC_ID`
12276        pub struct SYNC_ID_W<'a> {
12277            w: &'a mut W,
12278        }
12279        impl<'a> SYNC_ID_W<'a> {
12280            ///Writes raw bits to the field
12281            #[inline(always)]
12282            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12283                self.w.bits = (self.w.bits & !(0x1f << 24)) | (((value as u32) & 0x1f) << 24);
12284                self.w
12285            }
12286        }
12287        ///Reader of field `NBREQ`
12288        pub type NBREQ_R = crate::R<u8, u8>;
12289        ///Write proxy for field `NBREQ`
12290        pub struct NBREQ_W<'a> {
12291            w: &'a mut W,
12292        }
12293        impl<'a> NBREQ_W<'a> {
12294            ///Writes raw bits to the field
12295            #[inline(always)]
12296            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12297                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
12298                self.w
12299            }
12300        }
12301        ///Reader of field `SPOL`
12302        pub type SPOL_R = crate::R<u8, u8>;
12303        ///Write proxy for field `SPOL`
12304        pub struct SPOL_W<'a> {
12305            w: &'a mut W,
12306        }
12307        impl<'a> SPOL_W<'a> {
12308            ///Writes raw bits to the field
12309            #[inline(always)]
12310            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12311                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
12312                self.w
12313            }
12314        }
12315        ///Reader of field `SE`
12316        pub type SE_R = crate::R<bool, bool>;
12317        ///Write proxy for field `SE`
12318        pub struct SE_W<'a> {
12319            w: &'a mut W,
12320        }
12321        impl<'a> SE_W<'a> {
12322            ///Sets the field bit
12323            #[inline(always)]
12324            pub fn set_bit(self) -> &'a mut W {
12325                self.bit(true)
12326            }
12327            ///Clears the field bit
12328            #[inline(always)]
12329            pub fn clear_bit(self) -> &'a mut W {
12330                self.bit(false)
12331            }
12332            ///Writes raw bits to the field
12333            #[inline(always)]
12334            pub fn bit(self, value: bool) -> &'a mut W {
12335                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
12336                self.w
12337            }
12338        }
12339        ///Reader of field `EGE`
12340        pub type EGE_R = crate::R<bool, bool>;
12341        ///Write proxy for field `EGE`
12342        pub struct EGE_W<'a> {
12343            w: &'a mut W,
12344        }
12345        impl<'a> EGE_W<'a> {
12346            ///Sets the field bit
12347            #[inline(always)]
12348            pub fn set_bit(self) -> &'a mut W {
12349                self.bit(true)
12350            }
12351            ///Clears the field bit
12352            #[inline(always)]
12353            pub fn clear_bit(self) -> &'a mut W {
12354                self.bit(false)
12355            }
12356            ///Writes raw bits to the field
12357            #[inline(always)]
12358            pub fn bit(self, value: bool) -> &'a mut W {
12359                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
12360                self.w
12361            }
12362        }
12363        ///Reader of field `SOIE`
12364        pub type SOIE_R = crate::R<bool, bool>;
12365        ///Write proxy for field `SOIE`
12366        pub struct SOIE_W<'a> {
12367            w: &'a mut W,
12368        }
12369        impl<'a> SOIE_W<'a> {
12370            ///Sets the field bit
12371            #[inline(always)]
12372            pub fn set_bit(self) -> &'a mut W {
12373                self.bit(true)
12374            }
12375            ///Clears the field bit
12376            #[inline(always)]
12377            pub fn clear_bit(self) -> &'a mut W {
12378                self.bit(false)
12379            }
12380            ///Writes raw bits to the field
12381            #[inline(always)]
12382            pub fn bit(self, value: bool) -> &'a mut W {
12383                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
12384                self.w
12385            }
12386        }
12387        ///Reader of field `DMAREQ_ID`
12388        pub type DMAREQ_ID_R = crate::R<u8, u8>;
12389        ///Write proxy for field `DMAREQ_ID`
12390        pub struct DMAREQ_ID_W<'a> {
12391            w: &'a mut W,
12392        }
12393        impl<'a> DMAREQ_ID_W<'a> {
12394            ///Writes raw bits to the field
12395            #[inline(always)]
12396            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12397                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
12398                self.w
12399            }
12400        }
12401        impl R {
12402            ///Bits 24:28 - SYNC_ID
12403            #[inline(always)]
12404            pub fn sync_id(&self) -> SYNC_ID_R {
12405                SYNC_ID_R::new(((self.bits >> 24) & 0x1f) as u8)
12406            }
12407            ///Bits 19:23 - Nb request
12408            #[inline(always)]
12409            pub fn nbreq(&self) -> NBREQ_R {
12410                NBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
12411            }
12412            ///Bits 17:18 - Sync polarity
12413            #[inline(always)]
12414            pub fn spol(&self) -> SPOL_R {
12415                SPOL_R::new(((self.bits >> 17) & 0x03) as u8)
12416            }
12417            ///Bit 16 - Synchronization enable
12418            #[inline(always)]
12419            pub fn se(&self) -> SE_R {
12420                SE_R::new(((self.bits >> 16) & 0x01) != 0)
12421            }
12422            ///Bit 9 - Event Generation Enable
12423            #[inline(always)]
12424            pub fn ege(&self) -> EGE_R {
12425                EGE_R::new(((self.bits >> 9) & 0x01) != 0)
12426            }
12427            ///Bit 8 - Synchronization Overrun Interrupt Enable
12428            #[inline(always)]
12429            pub fn soie(&self) -> SOIE_R {
12430                SOIE_R::new(((self.bits >> 8) & 0x01) != 0)
12431            }
12432            ///Bits 0:7 - DMA Request ID
12433            #[inline(always)]
12434            pub fn dmareq_id(&self) -> DMAREQ_ID_R {
12435                DMAREQ_ID_R::new((self.bits & 0xff) as u8)
12436            }
12437        }
12438        impl W {
12439            ///Bits 24:28 - SYNC_ID
12440            #[inline(always)]
12441            pub fn sync_id(&mut self) -> SYNC_ID_W {
12442                SYNC_ID_W { w: self }
12443            }
12444            ///Bits 19:23 - Nb request
12445            #[inline(always)]
12446            pub fn nbreq(&mut self) -> NBREQ_W {
12447                NBREQ_W { w: self }
12448            }
12449            ///Bits 17:18 - Sync polarity
12450            #[inline(always)]
12451            pub fn spol(&mut self) -> SPOL_W {
12452                SPOL_W { w: self }
12453            }
12454            ///Bit 16 - Synchronization enable
12455            #[inline(always)]
12456            pub fn se(&mut self) -> SE_W {
12457                SE_W { w: self }
12458            }
12459            ///Bit 9 - Event Generation Enable
12460            #[inline(always)]
12461            pub fn ege(&mut self) -> EGE_W {
12462                EGE_W { w: self }
12463            }
12464            ///Bit 8 - Synchronization Overrun Interrupt Enable
12465            #[inline(always)]
12466            pub fn soie(&mut self) -> SOIE_W {
12467                SOIE_W { w: self }
12468            }
12469            ///Bits 0:7 - DMA Request ID
12470            #[inline(always)]
12471            pub fn dmareq_id(&mut self) -> DMAREQ_ID_W {
12472                DMAREQ_ID_W { w: self }
12473            }
12474        }
12475    }
12476    ///DMA Multiplexer Channel 7 Control register
12477    ///
12478    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
12479    ///
12480    ///For information about available fields see [c7cr](c7cr) module
12481    pub type C7CR = crate::Reg<u32, _C7CR>;
12482    #[allow(missing_docs)]
12483    #[doc(hidden)]
12484    pub struct _C7CR;
12485    ///`read()` method returns [c7cr::R](c7cr::R) reader structure
12486    impl crate::Readable for C7CR {}
12487    ///`write(|w| ..)` method takes [c7cr::W](c7cr::W) writer structure
12488    impl crate::Writable for C7CR {}
12489    ///DMA Multiplexer Channel 7 Control register
12490    pub mod c7cr {
12491        ///Reader of register C7CR
12492        pub type R = crate::R<u32, super::C7CR>;
12493        ///Writer for register C7CR
12494        pub type W = crate::W<u32, super::C7CR>;
12495        ///Register C7CR `reset()`'s with value 0
12496        impl crate::ResetValue for super::C7CR {
12497            type Type = u32;
12498            #[inline(always)]
12499            fn reset_value() -> Self::Type {
12500                0
12501            }
12502        }
12503        ///Reader of field `SYNC_ID`
12504        pub type SYNC_ID_R = crate::R<u8, u8>;
12505        ///Write proxy for field `SYNC_ID`
12506        pub struct SYNC_ID_W<'a> {
12507            w: &'a mut W,
12508        }
12509        impl<'a> SYNC_ID_W<'a> {
12510            ///Writes raw bits to the field
12511            #[inline(always)]
12512            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12513                self.w.bits = (self.w.bits & !(0x1f << 24)) | (((value as u32) & 0x1f) << 24);
12514                self.w
12515            }
12516        }
12517        ///Reader of field `NBREQ`
12518        pub type NBREQ_R = crate::R<u8, u8>;
12519        ///Write proxy for field `NBREQ`
12520        pub struct NBREQ_W<'a> {
12521            w: &'a mut W,
12522        }
12523        impl<'a> NBREQ_W<'a> {
12524            ///Writes raw bits to the field
12525            #[inline(always)]
12526            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12527                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
12528                self.w
12529            }
12530        }
12531        ///Reader of field `SPOL`
12532        pub type SPOL_R = crate::R<u8, u8>;
12533        ///Write proxy for field `SPOL`
12534        pub struct SPOL_W<'a> {
12535            w: &'a mut W,
12536        }
12537        impl<'a> SPOL_W<'a> {
12538            ///Writes raw bits to the field
12539            #[inline(always)]
12540            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12541                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
12542                self.w
12543            }
12544        }
12545        ///Reader of field `SE`
12546        pub type SE_R = crate::R<bool, bool>;
12547        ///Write proxy for field `SE`
12548        pub struct SE_W<'a> {
12549            w: &'a mut W,
12550        }
12551        impl<'a> SE_W<'a> {
12552            ///Sets the field bit
12553            #[inline(always)]
12554            pub fn set_bit(self) -> &'a mut W {
12555                self.bit(true)
12556            }
12557            ///Clears the field bit
12558            #[inline(always)]
12559            pub fn clear_bit(self) -> &'a mut W {
12560                self.bit(false)
12561            }
12562            ///Writes raw bits to the field
12563            #[inline(always)]
12564            pub fn bit(self, value: bool) -> &'a mut W {
12565                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
12566                self.w
12567            }
12568        }
12569        ///Reader of field `EGE`
12570        pub type EGE_R = crate::R<bool, bool>;
12571        ///Write proxy for field `EGE`
12572        pub struct EGE_W<'a> {
12573            w: &'a mut W,
12574        }
12575        impl<'a> EGE_W<'a> {
12576            ///Sets the field bit
12577            #[inline(always)]
12578            pub fn set_bit(self) -> &'a mut W {
12579                self.bit(true)
12580            }
12581            ///Clears the field bit
12582            #[inline(always)]
12583            pub fn clear_bit(self) -> &'a mut W {
12584                self.bit(false)
12585            }
12586            ///Writes raw bits to the field
12587            #[inline(always)]
12588            pub fn bit(self, value: bool) -> &'a mut W {
12589                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
12590                self.w
12591            }
12592        }
12593        ///Reader of field `SOIE`
12594        pub type SOIE_R = crate::R<bool, bool>;
12595        ///Write proxy for field `SOIE`
12596        pub struct SOIE_W<'a> {
12597            w: &'a mut W,
12598        }
12599        impl<'a> SOIE_W<'a> {
12600            ///Sets the field bit
12601            #[inline(always)]
12602            pub fn set_bit(self) -> &'a mut W {
12603                self.bit(true)
12604            }
12605            ///Clears the field bit
12606            #[inline(always)]
12607            pub fn clear_bit(self) -> &'a mut W {
12608                self.bit(false)
12609            }
12610            ///Writes raw bits to the field
12611            #[inline(always)]
12612            pub fn bit(self, value: bool) -> &'a mut W {
12613                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
12614                self.w
12615            }
12616        }
12617        ///Reader of field `DMAREQ_ID`
12618        pub type DMAREQ_ID_R = crate::R<u8, u8>;
12619        ///Write proxy for field `DMAREQ_ID`
12620        pub struct DMAREQ_ID_W<'a> {
12621            w: &'a mut W,
12622        }
12623        impl<'a> DMAREQ_ID_W<'a> {
12624            ///Writes raw bits to the field
12625            #[inline(always)]
12626            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12627                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
12628                self.w
12629            }
12630        }
12631        impl R {
12632            ///Bits 24:28 - SYNC_ID
12633            #[inline(always)]
12634            pub fn sync_id(&self) -> SYNC_ID_R {
12635                SYNC_ID_R::new(((self.bits >> 24) & 0x1f) as u8)
12636            }
12637            ///Bits 19:23 - Nb request
12638            #[inline(always)]
12639            pub fn nbreq(&self) -> NBREQ_R {
12640                NBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
12641            }
12642            ///Bits 17:18 - Sync polarity
12643            #[inline(always)]
12644            pub fn spol(&self) -> SPOL_R {
12645                SPOL_R::new(((self.bits >> 17) & 0x03) as u8)
12646            }
12647            ///Bit 16 - Synchronization enable
12648            #[inline(always)]
12649            pub fn se(&self) -> SE_R {
12650                SE_R::new(((self.bits >> 16) & 0x01) != 0)
12651            }
12652            ///Bit 9 - Event Generation Enable
12653            #[inline(always)]
12654            pub fn ege(&self) -> EGE_R {
12655                EGE_R::new(((self.bits >> 9) & 0x01) != 0)
12656            }
12657            ///Bit 8 - Synchronization Overrun Interrupt Enable
12658            #[inline(always)]
12659            pub fn soie(&self) -> SOIE_R {
12660                SOIE_R::new(((self.bits >> 8) & 0x01) != 0)
12661            }
12662            ///Bits 0:7 - DMA Request ID
12663            #[inline(always)]
12664            pub fn dmareq_id(&self) -> DMAREQ_ID_R {
12665                DMAREQ_ID_R::new((self.bits & 0xff) as u8)
12666            }
12667        }
12668        impl W {
12669            ///Bits 24:28 - SYNC_ID
12670            #[inline(always)]
12671            pub fn sync_id(&mut self) -> SYNC_ID_W {
12672                SYNC_ID_W { w: self }
12673            }
12674            ///Bits 19:23 - Nb request
12675            #[inline(always)]
12676            pub fn nbreq(&mut self) -> NBREQ_W {
12677                NBREQ_W { w: self }
12678            }
12679            ///Bits 17:18 - Sync polarity
12680            #[inline(always)]
12681            pub fn spol(&mut self) -> SPOL_W {
12682                SPOL_W { w: self }
12683            }
12684            ///Bit 16 - Synchronization enable
12685            #[inline(always)]
12686            pub fn se(&mut self) -> SE_W {
12687                SE_W { w: self }
12688            }
12689            ///Bit 9 - Event Generation Enable
12690            #[inline(always)]
12691            pub fn ege(&mut self) -> EGE_W {
12692                EGE_W { w: self }
12693            }
12694            ///Bit 8 - Synchronization Overrun Interrupt Enable
12695            #[inline(always)]
12696            pub fn soie(&mut self) -> SOIE_W {
12697                SOIE_W { w: self }
12698            }
12699            ///Bits 0:7 - DMA Request ID
12700            #[inline(always)]
12701            pub fn dmareq_id(&mut self) -> DMAREQ_ID_W {
12702                DMAREQ_ID_W { w: self }
12703            }
12704        }
12705    }
12706    ///DMA Multiplexer Channel 8 Control register
12707    ///
12708    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
12709    ///
12710    ///For information about available fields see [c8cr](c8cr) module
12711    pub type C8CR = crate::Reg<u32, _C8CR>;
12712    #[allow(missing_docs)]
12713    #[doc(hidden)]
12714    pub struct _C8CR;
12715    ///`read()` method returns [c8cr::R](c8cr::R) reader structure
12716    impl crate::Readable for C8CR {}
12717    ///`write(|w| ..)` method takes [c8cr::W](c8cr::W) writer structure
12718    impl crate::Writable for C8CR {}
12719    ///DMA Multiplexer Channel 8 Control register
12720    pub mod c8cr {
12721        ///Reader of register C8CR
12722        pub type R = crate::R<u32, super::C8CR>;
12723        ///Writer for register C8CR
12724        pub type W = crate::W<u32, super::C8CR>;
12725        ///Register C8CR `reset()`'s with value 0
12726        impl crate::ResetValue for super::C8CR {
12727            type Type = u32;
12728            #[inline(always)]
12729            fn reset_value() -> Self::Type {
12730                0
12731            }
12732        }
12733        ///Reader of field `SYNC_ID`
12734        pub type SYNC_ID_R = crate::R<u8, u8>;
12735        ///Write proxy for field `SYNC_ID`
12736        pub struct SYNC_ID_W<'a> {
12737            w: &'a mut W,
12738        }
12739        impl<'a> SYNC_ID_W<'a> {
12740            ///Writes raw bits to the field
12741            #[inline(always)]
12742            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12743                self.w.bits = (self.w.bits & !(0x1f << 24)) | (((value as u32) & 0x1f) << 24);
12744                self.w
12745            }
12746        }
12747        ///Reader of field `NBREQ`
12748        pub type NBREQ_R = crate::R<u8, u8>;
12749        ///Write proxy for field `NBREQ`
12750        pub struct NBREQ_W<'a> {
12751            w: &'a mut W,
12752        }
12753        impl<'a> NBREQ_W<'a> {
12754            ///Writes raw bits to the field
12755            #[inline(always)]
12756            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12757                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
12758                self.w
12759            }
12760        }
12761        ///Reader of field `SPOL`
12762        pub type SPOL_R = crate::R<u8, u8>;
12763        ///Write proxy for field `SPOL`
12764        pub struct SPOL_W<'a> {
12765            w: &'a mut W,
12766        }
12767        impl<'a> SPOL_W<'a> {
12768            ///Writes raw bits to the field
12769            #[inline(always)]
12770            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12771                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
12772                self.w
12773            }
12774        }
12775        ///Reader of field `SE`
12776        pub type SE_R = crate::R<bool, bool>;
12777        ///Write proxy for field `SE`
12778        pub struct SE_W<'a> {
12779            w: &'a mut W,
12780        }
12781        impl<'a> SE_W<'a> {
12782            ///Sets the field bit
12783            #[inline(always)]
12784            pub fn set_bit(self) -> &'a mut W {
12785                self.bit(true)
12786            }
12787            ///Clears the field bit
12788            #[inline(always)]
12789            pub fn clear_bit(self) -> &'a mut W {
12790                self.bit(false)
12791            }
12792            ///Writes raw bits to the field
12793            #[inline(always)]
12794            pub fn bit(self, value: bool) -> &'a mut W {
12795                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
12796                self.w
12797            }
12798        }
12799        ///Reader of field `EGE`
12800        pub type EGE_R = crate::R<bool, bool>;
12801        ///Write proxy for field `EGE`
12802        pub struct EGE_W<'a> {
12803            w: &'a mut W,
12804        }
12805        impl<'a> EGE_W<'a> {
12806            ///Sets the field bit
12807            #[inline(always)]
12808            pub fn set_bit(self) -> &'a mut W {
12809                self.bit(true)
12810            }
12811            ///Clears the field bit
12812            #[inline(always)]
12813            pub fn clear_bit(self) -> &'a mut W {
12814                self.bit(false)
12815            }
12816            ///Writes raw bits to the field
12817            #[inline(always)]
12818            pub fn bit(self, value: bool) -> &'a mut W {
12819                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
12820                self.w
12821            }
12822        }
12823        ///Reader of field `SOIE`
12824        pub type SOIE_R = crate::R<bool, bool>;
12825        ///Write proxy for field `SOIE`
12826        pub struct SOIE_W<'a> {
12827            w: &'a mut W,
12828        }
12829        impl<'a> SOIE_W<'a> {
12830            ///Sets the field bit
12831            #[inline(always)]
12832            pub fn set_bit(self) -> &'a mut W {
12833                self.bit(true)
12834            }
12835            ///Clears the field bit
12836            #[inline(always)]
12837            pub fn clear_bit(self) -> &'a mut W {
12838                self.bit(false)
12839            }
12840            ///Writes raw bits to the field
12841            #[inline(always)]
12842            pub fn bit(self, value: bool) -> &'a mut W {
12843                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
12844                self.w
12845            }
12846        }
12847        ///Reader of field `DMAREQ_ID`
12848        pub type DMAREQ_ID_R = crate::R<u8, u8>;
12849        ///Write proxy for field `DMAREQ_ID`
12850        pub struct DMAREQ_ID_W<'a> {
12851            w: &'a mut W,
12852        }
12853        impl<'a> DMAREQ_ID_W<'a> {
12854            ///Writes raw bits to the field
12855            #[inline(always)]
12856            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12857                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
12858                self.w
12859            }
12860        }
12861        impl R {
12862            ///Bits 24:28 - SYNC_ID
12863            #[inline(always)]
12864            pub fn sync_id(&self) -> SYNC_ID_R {
12865                SYNC_ID_R::new(((self.bits >> 24) & 0x1f) as u8)
12866            }
12867            ///Bits 19:23 - Nb request
12868            #[inline(always)]
12869            pub fn nbreq(&self) -> NBREQ_R {
12870                NBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
12871            }
12872            ///Bits 17:18 - Sync polarity
12873            #[inline(always)]
12874            pub fn spol(&self) -> SPOL_R {
12875                SPOL_R::new(((self.bits >> 17) & 0x03) as u8)
12876            }
12877            ///Bit 16 - Synchronization enable
12878            #[inline(always)]
12879            pub fn se(&self) -> SE_R {
12880                SE_R::new(((self.bits >> 16) & 0x01) != 0)
12881            }
12882            ///Bit 9 - Event Generation Enable
12883            #[inline(always)]
12884            pub fn ege(&self) -> EGE_R {
12885                EGE_R::new(((self.bits >> 9) & 0x01) != 0)
12886            }
12887            ///Bit 8 - Synchronization Overrun Interrupt Enable
12888            #[inline(always)]
12889            pub fn soie(&self) -> SOIE_R {
12890                SOIE_R::new(((self.bits >> 8) & 0x01) != 0)
12891            }
12892            ///Bits 0:7 - DMA Request ID
12893            #[inline(always)]
12894            pub fn dmareq_id(&self) -> DMAREQ_ID_R {
12895                DMAREQ_ID_R::new((self.bits & 0xff) as u8)
12896            }
12897        }
12898        impl W {
12899            ///Bits 24:28 - SYNC_ID
12900            #[inline(always)]
12901            pub fn sync_id(&mut self) -> SYNC_ID_W {
12902                SYNC_ID_W { w: self }
12903            }
12904            ///Bits 19:23 - Nb request
12905            #[inline(always)]
12906            pub fn nbreq(&mut self) -> NBREQ_W {
12907                NBREQ_W { w: self }
12908            }
12909            ///Bits 17:18 - Sync polarity
12910            #[inline(always)]
12911            pub fn spol(&mut self) -> SPOL_W {
12912                SPOL_W { w: self }
12913            }
12914            ///Bit 16 - Synchronization enable
12915            #[inline(always)]
12916            pub fn se(&mut self) -> SE_W {
12917                SE_W { w: self }
12918            }
12919            ///Bit 9 - Event Generation Enable
12920            #[inline(always)]
12921            pub fn ege(&mut self) -> EGE_W {
12922                EGE_W { w: self }
12923            }
12924            ///Bit 8 - Synchronization Overrun Interrupt Enable
12925            #[inline(always)]
12926            pub fn soie(&mut self) -> SOIE_W {
12927                SOIE_W { w: self }
12928            }
12929            ///Bits 0:7 - DMA Request ID
12930            #[inline(always)]
12931            pub fn dmareq_id(&mut self) -> DMAREQ_ID_W {
12932                DMAREQ_ID_W { w: self }
12933            }
12934        }
12935    }
12936    ///DMA Multiplexer Channel 9 Control register
12937    ///
12938    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
12939    ///
12940    ///For information about available fields see [c9cr](c9cr) module
12941    pub type C9CR = crate::Reg<u32, _C9CR>;
12942    #[allow(missing_docs)]
12943    #[doc(hidden)]
12944    pub struct _C9CR;
12945    ///`read()` method returns [c9cr::R](c9cr::R) reader structure
12946    impl crate::Readable for C9CR {}
12947    ///`write(|w| ..)` method takes [c9cr::W](c9cr::W) writer structure
12948    impl crate::Writable for C9CR {}
12949    ///DMA Multiplexer Channel 9 Control register
12950    pub mod c9cr {
12951        ///Reader of register C9CR
12952        pub type R = crate::R<u32, super::C9CR>;
12953        ///Writer for register C9CR
12954        pub type W = crate::W<u32, super::C9CR>;
12955        ///Register C9CR `reset()`'s with value 0
12956        impl crate::ResetValue for super::C9CR {
12957            type Type = u32;
12958            #[inline(always)]
12959            fn reset_value() -> Self::Type {
12960                0
12961            }
12962        }
12963        ///Reader of field `SYNC_ID`
12964        pub type SYNC_ID_R = crate::R<u8, u8>;
12965        ///Write proxy for field `SYNC_ID`
12966        pub struct SYNC_ID_W<'a> {
12967            w: &'a mut W,
12968        }
12969        impl<'a> SYNC_ID_W<'a> {
12970            ///Writes raw bits to the field
12971            #[inline(always)]
12972            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12973                self.w.bits = (self.w.bits & !(0x1f << 24)) | (((value as u32) & 0x1f) << 24);
12974                self.w
12975            }
12976        }
12977        ///Reader of field `NBREQ`
12978        pub type NBREQ_R = crate::R<u8, u8>;
12979        ///Write proxy for field `NBREQ`
12980        pub struct NBREQ_W<'a> {
12981            w: &'a mut W,
12982        }
12983        impl<'a> NBREQ_W<'a> {
12984            ///Writes raw bits to the field
12985            #[inline(always)]
12986            pub unsafe fn bits(self, value: u8) -> &'a mut W {
12987                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
12988                self.w
12989            }
12990        }
12991        ///Reader of field `SPOL`
12992        pub type SPOL_R = crate::R<u8, u8>;
12993        ///Write proxy for field `SPOL`
12994        pub struct SPOL_W<'a> {
12995            w: &'a mut W,
12996        }
12997        impl<'a> SPOL_W<'a> {
12998            ///Writes raw bits to the field
12999            #[inline(always)]
13000            pub unsafe fn bits(self, value: u8) -> &'a mut W {
13001                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
13002                self.w
13003            }
13004        }
13005        ///Reader of field `SE`
13006        pub type SE_R = crate::R<bool, bool>;
13007        ///Write proxy for field `SE`
13008        pub struct SE_W<'a> {
13009            w: &'a mut W,
13010        }
13011        impl<'a> SE_W<'a> {
13012            ///Sets the field bit
13013            #[inline(always)]
13014            pub fn set_bit(self) -> &'a mut W {
13015                self.bit(true)
13016            }
13017            ///Clears the field bit
13018            #[inline(always)]
13019            pub fn clear_bit(self) -> &'a mut W {
13020                self.bit(false)
13021            }
13022            ///Writes raw bits to the field
13023            #[inline(always)]
13024            pub fn bit(self, value: bool) -> &'a mut W {
13025                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
13026                self.w
13027            }
13028        }
13029        ///Reader of field `EGE`
13030        pub type EGE_R = crate::R<bool, bool>;
13031        ///Write proxy for field `EGE`
13032        pub struct EGE_W<'a> {
13033            w: &'a mut W,
13034        }
13035        impl<'a> EGE_W<'a> {
13036            ///Sets the field bit
13037            #[inline(always)]
13038            pub fn set_bit(self) -> &'a mut W {
13039                self.bit(true)
13040            }
13041            ///Clears the field bit
13042            #[inline(always)]
13043            pub fn clear_bit(self) -> &'a mut W {
13044                self.bit(false)
13045            }
13046            ///Writes raw bits to the field
13047            #[inline(always)]
13048            pub fn bit(self, value: bool) -> &'a mut W {
13049                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
13050                self.w
13051            }
13052        }
13053        ///Reader of field `SOIE`
13054        pub type SOIE_R = crate::R<bool, bool>;
13055        ///Write proxy for field `SOIE`
13056        pub struct SOIE_W<'a> {
13057            w: &'a mut W,
13058        }
13059        impl<'a> SOIE_W<'a> {
13060            ///Sets the field bit
13061            #[inline(always)]
13062            pub fn set_bit(self) -> &'a mut W {
13063                self.bit(true)
13064            }
13065            ///Clears the field bit
13066            #[inline(always)]
13067            pub fn clear_bit(self) -> &'a mut W {
13068                self.bit(false)
13069            }
13070            ///Writes raw bits to the field
13071            #[inline(always)]
13072            pub fn bit(self, value: bool) -> &'a mut W {
13073                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
13074                self.w
13075            }
13076        }
13077        ///Reader of field `DMAREQ_ID`
13078        pub type DMAREQ_ID_R = crate::R<u8, u8>;
13079        ///Write proxy for field `DMAREQ_ID`
13080        pub struct DMAREQ_ID_W<'a> {
13081            w: &'a mut W,
13082        }
13083        impl<'a> DMAREQ_ID_W<'a> {
13084            ///Writes raw bits to the field
13085            #[inline(always)]
13086            pub unsafe fn bits(self, value: u8) -> &'a mut W {
13087                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
13088                self.w
13089            }
13090        }
13091        impl R {
13092            ///Bits 24:28 - SYNC_ID
13093            #[inline(always)]
13094            pub fn sync_id(&self) -> SYNC_ID_R {
13095                SYNC_ID_R::new(((self.bits >> 24) & 0x1f) as u8)
13096            }
13097            ///Bits 19:23 - Nb request
13098            #[inline(always)]
13099            pub fn nbreq(&self) -> NBREQ_R {
13100                NBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
13101            }
13102            ///Bits 17:18 - Sync polarity
13103            #[inline(always)]
13104            pub fn spol(&self) -> SPOL_R {
13105                SPOL_R::new(((self.bits >> 17) & 0x03) as u8)
13106            }
13107            ///Bit 16 - Synchronization enable
13108            #[inline(always)]
13109            pub fn se(&self) -> SE_R {
13110                SE_R::new(((self.bits >> 16) & 0x01) != 0)
13111            }
13112            ///Bit 9 - Event Generation Enable
13113            #[inline(always)]
13114            pub fn ege(&self) -> EGE_R {
13115                EGE_R::new(((self.bits >> 9) & 0x01) != 0)
13116            }
13117            ///Bit 8 - Synchronization Overrun Interrupt Enable
13118            #[inline(always)]
13119            pub fn soie(&self) -> SOIE_R {
13120                SOIE_R::new(((self.bits >> 8) & 0x01) != 0)
13121            }
13122            ///Bits 0:7 - DMA Request ID
13123            #[inline(always)]
13124            pub fn dmareq_id(&self) -> DMAREQ_ID_R {
13125                DMAREQ_ID_R::new((self.bits & 0xff) as u8)
13126            }
13127        }
13128        impl W {
13129            ///Bits 24:28 - SYNC_ID
13130            #[inline(always)]
13131            pub fn sync_id(&mut self) -> SYNC_ID_W {
13132                SYNC_ID_W { w: self }
13133            }
13134            ///Bits 19:23 - Nb request
13135            #[inline(always)]
13136            pub fn nbreq(&mut self) -> NBREQ_W {
13137                NBREQ_W { w: self }
13138            }
13139            ///Bits 17:18 - Sync polarity
13140            #[inline(always)]
13141            pub fn spol(&mut self) -> SPOL_W {
13142                SPOL_W { w: self }
13143            }
13144            ///Bit 16 - Synchronization enable
13145            #[inline(always)]
13146            pub fn se(&mut self) -> SE_W {
13147                SE_W { w: self }
13148            }
13149            ///Bit 9 - Event Generation Enable
13150            #[inline(always)]
13151            pub fn ege(&mut self) -> EGE_W {
13152                EGE_W { w: self }
13153            }
13154            ///Bit 8 - Synchronization Overrun Interrupt Enable
13155            #[inline(always)]
13156            pub fn soie(&mut self) -> SOIE_W {
13157                SOIE_W { w: self }
13158            }
13159            ///Bits 0:7 - DMA Request ID
13160            #[inline(always)]
13161            pub fn dmareq_id(&mut self) -> DMAREQ_ID_W {
13162                DMAREQ_ID_W { w: self }
13163            }
13164        }
13165    }
13166    ///DMA Multiplexer Channel 10 Control register
13167    ///
13168    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
13169    ///
13170    ///For information about available fields see [c10cr](c10cr) module
13171    pub type C10CR = crate::Reg<u32, _C10CR>;
13172    #[allow(missing_docs)]
13173    #[doc(hidden)]
13174    pub struct _C10CR;
13175    ///`read()` method returns [c10cr::R](c10cr::R) reader structure
13176    impl crate::Readable for C10CR {}
13177    ///`write(|w| ..)` method takes [c10cr::W](c10cr::W) writer structure
13178    impl crate::Writable for C10CR {}
13179    ///DMA Multiplexer Channel 10 Control register
13180    pub mod c10cr {
13181        ///Reader of register C10CR
13182        pub type R = crate::R<u32, super::C10CR>;
13183        ///Writer for register C10CR
13184        pub type W = crate::W<u32, super::C10CR>;
13185        ///Register C10CR `reset()`'s with value 0
13186        impl crate::ResetValue for super::C10CR {
13187            type Type = u32;
13188            #[inline(always)]
13189            fn reset_value() -> Self::Type {
13190                0
13191            }
13192        }
13193        ///Reader of field `SYNC_ID`
13194        pub type SYNC_ID_R = crate::R<u8, u8>;
13195        ///Write proxy for field `SYNC_ID`
13196        pub struct SYNC_ID_W<'a> {
13197            w: &'a mut W,
13198        }
13199        impl<'a> SYNC_ID_W<'a> {
13200            ///Writes raw bits to the field
13201            #[inline(always)]
13202            pub unsafe fn bits(self, value: u8) -> &'a mut W {
13203                self.w.bits = (self.w.bits & !(0x1f << 24)) | (((value as u32) & 0x1f) << 24);
13204                self.w
13205            }
13206        }
13207        ///Reader of field `NBREQ`
13208        pub type NBREQ_R = crate::R<u8, u8>;
13209        ///Write proxy for field `NBREQ`
13210        pub struct NBREQ_W<'a> {
13211            w: &'a mut W,
13212        }
13213        impl<'a> NBREQ_W<'a> {
13214            ///Writes raw bits to the field
13215            #[inline(always)]
13216            pub unsafe fn bits(self, value: u8) -> &'a mut W {
13217                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
13218                self.w
13219            }
13220        }
13221        ///Reader of field `SPOL`
13222        pub type SPOL_R = crate::R<u8, u8>;
13223        ///Write proxy for field `SPOL`
13224        pub struct SPOL_W<'a> {
13225            w: &'a mut W,
13226        }
13227        impl<'a> SPOL_W<'a> {
13228            ///Writes raw bits to the field
13229            #[inline(always)]
13230            pub unsafe fn bits(self, value: u8) -> &'a mut W {
13231                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
13232                self.w
13233            }
13234        }
13235        ///Reader of field `SE`
13236        pub type SE_R = crate::R<bool, bool>;
13237        ///Write proxy for field `SE`
13238        pub struct SE_W<'a> {
13239            w: &'a mut W,
13240        }
13241        impl<'a> SE_W<'a> {
13242            ///Sets the field bit
13243            #[inline(always)]
13244            pub fn set_bit(self) -> &'a mut W {
13245                self.bit(true)
13246            }
13247            ///Clears the field bit
13248            #[inline(always)]
13249            pub fn clear_bit(self) -> &'a mut W {
13250                self.bit(false)
13251            }
13252            ///Writes raw bits to the field
13253            #[inline(always)]
13254            pub fn bit(self, value: bool) -> &'a mut W {
13255                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
13256                self.w
13257            }
13258        }
13259        ///Reader of field `EGE`
13260        pub type EGE_R = crate::R<bool, bool>;
13261        ///Write proxy for field `EGE`
13262        pub struct EGE_W<'a> {
13263            w: &'a mut W,
13264        }
13265        impl<'a> EGE_W<'a> {
13266            ///Sets the field bit
13267            #[inline(always)]
13268            pub fn set_bit(self) -> &'a mut W {
13269                self.bit(true)
13270            }
13271            ///Clears the field bit
13272            #[inline(always)]
13273            pub fn clear_bit(self) -> &'a mut W {
13274                self.bit(false)
13275            }
13276            ///Writes raw bits to the field
13277            #[inline(always)]
13278            pub fn bit(self, value: bool) -> &'a mut W {
13279                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
13280                self.w
13281            }
13282        }
13283        ///Reader of field `SOIE`
13284        pub type SOIE_R = crate::R<bool, bool>;
13285        ///Write proxy for field `SOIE`
13286        pub struct SOIE_W<'a> {
13287            w: &'a mut W,
13288        }
13289        impl<'a> SOIE_W<'a> {
13290            ///Sets the field bit
13291            #[inline(always)]
13292            pub fn set_bit(self) -> &'a mut W {
13293                self.bit(true)
13294            }
13295            ///Clears the field bit
13296            #[inline(always)]
13297            pub fn clear_bit(self) -> &'a mut W {
13298                self.bit(false)
13299            }
13300            ///Writes raw bits to the field
13301            #[inline(always)]
13302            pub fn bit(self, value: bool) -> &'a mut W {
13303                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
13304                self.w
13305            }
13306        }
13307        ///Reader of field `DMAREQ_ID`
13308        pub type DMAREQ_ID_R = crate::R<u8, u8>;
13309        ///Write proxy for field `DMAREQ_ID`
13310        pub struct DMAREQ_ID_W<'a> {
13311            w: &'a mut W,
13312        }
13313        impl<'a> DMAREQ_ID_W<'a> {
13314            ///Writes raw bits to the field
13315            #[inline(always)]
13316            pub unsafe fn bits(self, value: u8) -> &'a mut W {
13317                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
13318                self.w
13319            }
13320        }
13321        impl R {
13322            ///Bits 24:28 - SYNC_ID
13323            #[inline(always)]
13324            pub fn sync_id(&self) -> SYNC_ID_R {
13325                SYNC_ID_R::new(((self.bits >> 24) & 0x1f) as u8)
13326            }
13327            ///Bits 19:23 - Nb request
13328            #[inline(always)]
13329            pub fn nbreq(&self) -> NBREQ_R {
13330                NBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
13331            }
13332            ///Bits 17:18 - Sync polarity
13333            #[inline(always)]
13334            pub fn spol(&self) -> SPOL_R {
13335                SPOL_R::new(((self.bits >> 17) & 0x03) as u8)
13336            }
13337            ///Bit 16 - Synchronization enable
13338            #[inline(always)]
13339            pub fn se(&self) -> SE_R {
13340                SE_R::new(((self.bits >> 16) & 0x01) != 0)
13341            }
13342            ///Bit 9 - Event Generation Enable
13343            #[inline(always)]
13344            pub fn ege(&self) -> EGE_R {
13345                EGE_R::new(((self.bits >> 9) & 0x01) != 0)
13346            }
13347            ///Bit 8 - Synchronization Overrun Interrupt Enable
13348            #[inline(always)]
13349            pub fn soie(&self) -> SOIE_R {
13350                SOIE_R::new(((self.bits >> 8) & 0x01) != 0)
13351            }
13352            ///Bits 0:7 - DMA Request ID
13353            #[inline(always)]
13354            pub fn dmareq_id(&self) -> DMAREQ_ID_R {
13355                DMAREQ_ID_R::new((self.bits & 0xff) as u8)
13356            }
13357        }
13358        impl W {
13359            ///Bits 24:28 - SYNC_ID
13360            #[inline(always)]
13361            pub fn sync_id(&mut self) -> SYNC_ID_W {
13362                SYNC_ID_W { w: self }
13363            }
13364            ///Bits 19:23 - Nb request
13365            #[inline(always)]
13366            pub fn nbreq(&mut self) -> NBREQ_W {
13367                NBREQ_W { w: self }
13368            }
13369            ///Bits 17:18 - Sync polarity
13370            #[inline(always)]
13371            pub fn spol(&mut self) -> SPOL_W {
13372                SPOL_W { w: self }
13373            }
13374            ///Bit 16 - Synchronization enable
13375            #[inline(always)]
13376            pub fn se(&mut self) -> SE_W {
13377                SE_W { w: self }
13378            }
13379            ///Bit 9 - Event Generation Enable
13380            #[inline(always)]
13381            pub fn ege(&mut self) -> EGE_W {
13382                EGE_W { w: self }
13383            }
13384            ///Bit 8 - Synchronization Overrun Interrupt Enable
13385            #[inline(always)]
13386            pub fn soie(&mut self) -> SOIE_W {
13387                SOIE_W { w: self }
13388            }
13389            ///Bits 0:7 - DMA Request ID
13390            #[inline(always)]
13391            pub fn dmareq_id(&mut self) -> DMAREQ_ID_W {
13392                DMAREQ_ID_W { w: self }
13393            }
13394        }
13395    }
13396    ///DMA Multiplexer Channel 11 Control register
13397    ///
13398    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
13399    ///
13400    ///For information about available fields see [c11cr](c11cr) module
13401    pub type C11CR = crate::Reg<u32, _C11CR>;
13402    #[allow(missing_docs)]
13403    #[doc(hidden)]
13404    pub struct _C11CR;
13405    ///`read()` method returns [c11cr::R](c11cr::R) reader structure
13406    impl crate::Readable for C11CR {}
13407    ///`write(|w| ..)` method takes [c11cr::W](c11cr::W) writer structure
13408    impl crate::Writable for C11CR {}
13409    ///DMA Multiplexer Channel 11 Control register
13410    pub mod c11cr {
13411        ///Reader of register C11CR
13412        pub type R = crate::R<u32, super::C11CR>;
13413        ///Writer for register C11CR
13414        pub type W = crate::W<u32, super::C11CR>;
13415        ///Register C11CR `reset()`'s with value 0
13416        impl crate::ResetValue for super::C11CR {
13417            type Type = u32;
13418            #[inline(always)]
13419            fn reset_value() -> Self::Type {
13420                0
13421            }
13422        }
13423        ///Reader of field `SYNC_ID`
13424        pub type SYNC_ID_R = crate::R<u8, u8>;
13425        ///Write proxy for field `SYNC_ID`
13426        pub struct SYNC_ID_W<'a> {
13427            w: &'a mut W,
13428        }
13429        impl<'a> SYNC_ID_W<'a> {
13430            ///Writes raw bits to the field
13431            #[inline(always)]
13432            pub unsafe fn bits(self, value: u8) -> &'a mut W {
13433                self.w.bits = (self.w.bits & !(0x1f << 24)) | (((value as u32) & 0x1f) << 24);
13434                self.w
13435            }
13436        }
13437        ///Reader of field `NBREQ`
13438        pub type NBREQ_R = crate::R<u8, u8>;
13439        ///Write proxy for field `NBREQ`
13440        pub struct NBREQ_W<'a> {
13441            w: &'a mut W,
13442        }
13443        impl<'a> NBREQ_W<'a> {
13444            ///Writes raw bits to the field
13445            #[inline(always)]
13446            pub unsafe fn bits(self, value: u8) -> &'a mut W {
13447                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
13448                self.w
13449            }
13450        }
13451        ///Reader of field `SPOL`
13452        pub type SPOL_R = crate::R<u8, u8>;
13453        ///Write proxy for field `SPOL`
13454        pub struct SPOL_W<'a> {
13455            w: &'a mut W,
13456        }
13457        impl<'a> SPOL_W<'a> {
13458            ///Writes raw bits to the field
13459            #[inline(always)]
13460            pub unsafe fn bits(self, value: u8) -> &'a mut W {
13461                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
13462                self.w
13463            }
13464        }
13465        ///Reader of field `SE`
13466        pub type SE_R = crate::R<bool, bool>;
13467        ///Write proxy for field `SE`
13468        pub struct SE_W<'a> {
13469            w: &'a mut W,
13470        }
13471        impl<'a> SE_W<'a> {
13472            ///Sets the field bit
13473            #[inline(always)]
13474            pub fn set_bit(self) -> &'a mut W {
13475                self.bit(true)
13476            }
13477            ///Clears the field bit
13478            #[inline(always)]
13479            pub fn clear_bit(self) -> &'a mut W {
13480                self.bit(false)
13481            }
13482            ///Writes raw bits to the field
13483            #[inline(always)]
13484            pub fn bit(self, value: bool) -> &'a mut W {
13485                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
13486                self.w
13487            }
13488        }
13489        ///Reader of field `EGE`
13490        pub type EGE_R = crate::R<bool, bool>;
13491        ///Write proxy for field `EGE`
13492        pub struct EGE_W<'a> {
13493            w: &'a mut W,
13494        }
13495        impl<'a> EGE_W<'a> {
13496            ///Sets the field bit
13497            #[inline(always)]
13498            pub fn set_bit(self) -> &'a mut W {
13499                self.bit(true)
13500            }
13501            ///Clears the field bit
13502            #[inline(always)]
13503            pub fn clear_bit(self) -> &'a mut W {
13504                self.bit(false)
13505            }
13506            ///Writes raw bits to the field
13507            #[inline(always)]
13508            pub fn bit(self, value: bool) -> &'a mut W {
13509                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
13510                self.w
13511            }
13512        }
13513        ///Reader of field `SOIE`
13514        pub type SOIE_R = crate::R<bool, bool>;
13515        ///Write proxy for field `SOIE`
13516        pub struct SOIE_W<'a> {
13517            w: &'a mut W,
13518        }
13519        impl<'a> SOIE_W<'a> {
13520            ///Sets the field bit
13521            #[inline(always)]
13522            pub fn set_bit(self) -> &'a mut W {
13523                self.bit(true)
13524            }
13525            ///Clears the field bit
13526            #[inline(always)]
13527            pub fn clear_bit(self) -> &'a mut W {
13528                self.bit(false)
13529            }
13530            ///Writes raw bits to the field
13531            #[inline(always)]
13532            pub fn bit(self, value: bool) -> &'a mut W {
13533                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
13534                self.w
13535            }
13536        }
13537        ///Reader of field `DMAREQ_ID`
13538        pub type DMAREQ_ID_R = crate::R<u8, u8>;
13539        ///Write proxy for field `DMAREQ_ID`
13540        pub struct DMAREQ_ID_W<'a> {
13541            w: &'a mut W,
13542        }
13543        impl<'a> DMAREQ_ID_W<'a> {
13544            ///Writes raw bits to the field
13545            #[inline(always)]
13546            pub unsafe fn bits(self, value: u8) -> &'a mut W {
13547                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
13548                self.w
13549            }
13550        }
13551        impl R {
13552            ///Bits 24:28 - SYNC_ID
13553            #[inline(always)]
13554            pub fn sync_id(&self) -> SYNC_ID_R {
13555                SYNC_ID_R::new(((self.bits >> 24) & 0x1f) as u8)
13556            }
13557            ///Bits 19:23 - Nb request
13558            #[inline(always)]
13559            pub fn nbreq(&self) -> NBREQ_R {
13560                NBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
13561            }
13562            ///Bits 17:18 - Sync polarity
13563            #[inline(always)]
13564            pub fn spol(&self) -> SPOL_R {
13565                SPOL_R::new(((self.bits >> 17) & 0x03) as u8)
13566            }
13567            ///Bit 16 - Synchronization enable
13568            #[inline(always)]
13569            pub fn se(&self) -> SE_R {
13570                SE_R::new(((self.bits >> 16) & 0x01) != 0)
13571            }
13572            ///Bit 9 - Event Generation Enable
13573            #[inline(always)]
13574            pub fn ege(&self) -> EGE_R {
13575                EGE_R::new(((self.bits >> 9) & 0x01) != 0)
13576            }
13577            ///Bit 8 - Synchronization Overrun Interrupt Enable
13578            #[inline(always)]
13579            pub fn soie(&self) -> SOIE_R {
13580                SOIE_R::new(((self.bits >> 8) & 0x01) != 0)
13581            }
13582            ///Bits 0:7 - DMA Request ID
13583            #[inline(always)]
13584            pub fn dmareq_id(&self) -> DMAREQ_ID_R {
13585                DMAREQ_ID_R::new((self.bits & 0xff) as u8)
13586            }
13587        }
13588        impl W {
13589            ///Bits 24:28 - SYNC_ID
13590            #[inline(always)]
13591            pub fn sync_id(&mut self) -> SYNC_ID_W {
13592                SYNC_ID_W { w: self }
13593            }
13594            ///Bits 19:23 - Nb request
13595            #[inline(always)]
13596            pub fn nbreq(&mut self) -> NBREQ_W {
13597                NBREQ_W { w: self }
13598            }
13599            ///Bits 17:18 - Sync polarity
13600            #[inline(always)]
13601            pub fn spol(&mut self) -> SPOL_W {
13602                SPOL_W { w: self }
13603            }
13604            ///Bit 16 - Synchronization enable
13605            #[inline(always)]
13606            pub fn se(&mut self) -> SE_W {
13607                SE_W { w: self }
13608            }
13609            ///Bit 9 - Event Generation Enable
13610            #[inline(always)]
13611            pub fn ege(&mut self) -> EGE_W {
13612                EGE_W { w: self }
13613            }
13614            ///Bit 8 - Synchronization Overrun Interrupt Enable
13615            #[inline(always)]
13616            pub fn soie(&mut self) -> SOIE_W {
13617                SOIE_W { w: self }
13618            }
13619            ///Bits 0:7 - DMA Request ID
13620            #[inline(always)]
13621            pub fn dmareq_id(&mut self) -> DMAREQ_ID_W {
13622                DMAREQ_ID_W { w: self }
13623            }
13624        }
13625    }
13626    ///DMA Multiplexer Channel 12 Control register
13627    ///
13628    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
13629    ///
13630    ///For information about available fields see [c12cr](c12cr) module
13631    pub type C12CR = crate::Reg<u32, _C12CR>;
13632    #[allow(missing_docs)]
13633    #[doc(hidden)]
13634    pub struct _C12CR;
13635    ///`read()` method returns [c12cr::R](c12cr::R) reader structure
13636    impl crate::Readable for C12CR {}
13637    ///`write(|w| ..)` method takes [c12cr::W](c12cr::W) writer structure
13638    impl crate::Writable for C12CR {}
13639    ///DMA Multiplexer Channel 12 Control register
13640    pub mod c12cr {
13641        ///Reader of register C12CR
13642        pub type R = crate::R<u32, super::C12CR>;
13643        ///Writer for register C12CR
13644        pub type W = crate::W<u32, super::C12CR>;
13645        ///Register C12CR `reset()`'s with value 0
13646        impl crate::ResetValue for super::C12CR {
13647            type Type = u32;
13648            #[inline(always)]
13649            fn reset_value() -> Self::Type {
13650                0
13651            }
13652        }
13653        ///Reader of field `SYNC_ID`
13654        pub type SYNC_ID_R = crate::R<u8, u8>;
13655        ///Write proxy for field `SYNC_ID`
13656        pub struct SYNC_ID_W<'a> {
13657            w: &'a mut W,
13658        }
13659        impl<'a> SYNC_ID_W<'a> {
13660            ///Writes raw bits to the field
13661            #[inline(always)]
13662            pub unsafe fn bits(self, value: u8) -> &'a mut W {
13663                self.w.bits = (self.w.bits & !(0x1f << 24)) | (((value as u32) & 0x1f) << 24);
13664                self.w
13665            }
13666        }
13667        ///Reader of field `NBREQ`
13668        pub type NBREQ_R = crate::R<u8, u8>;
13669        ///Write proxy for field `NBREQ`
13670        pub struct NBREQ_W<'a> {
13671            w: &'a mut W,
13672        }
13673        impl<'a> NBREQ_W<'a> {
13674            ///Writes raw bits to the field
13675            #[inline(always)]
13676            pub unsafe fn bits(self, value: u8) -> &'a mut W {
13677                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
13678                self.w
13679            }
13680        }
13681        ///Reader of field `SPOL`
13682        pub type SPOL_R = crate::R<u8, u8>;
13683        ///Write proxy for field `SPOL`
13684        pub struct SPOL_W<'a> {
13685            w: &'a mut W,
13686        }
13687        impl<'a> SPOL_W<'a> {
13688            ///Writes raw bits to the field
13689            #[inline(always)]
13690            pub unsafe fn bits(self, value: u8) -> &'a mut W {
13691                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
13692                self.w
13693            }
13694        }
13695        ///Reader of field `SE`
13696        pub type SE_R = crate::R<bool, bool>;
13697        ///Write proxy for field `SE`
13698        pub struct SE_W<'a> {
13699            w: &'a mut W,
13700        }
13701        impl<'a> SE_W<'a> {
13702            ///Sets the field bit
13703            #[inline(always)]
13704            pub fn set_bit(self) -> &'a mut W {
13705                self.bit(true)
13706            }
13707            ///Clears the field bit
13708            #[inline(always)]
13709            pub fn clear_bit(self) -> &'a mut W {
13710                self.bit(false)
13711            }
13712            ///Writes raw bits to the field
13713            #[inline(always)]
13714            pub fn bit(self, value: bool) -> &'a mut W {
13715                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
13716                self.w
13717            }
13718        }
13719        ///Reader of field `EGE`
13720        pub type EGE_R = crate::R<bool, bool>;
13721        ///Write proxy for field `EGE`
13722        pub struct EGE_W<'a> {
13723            w: &'a mut W,
13724        }
13725        impl<'a> EGE_W<'a> {
13726            ///Sets the field bit
13727            #[inline(always)]
13728            pub fn set_bit(self) -> &'a mut W {
13729                self.bit(true)
13730            }
13731            ///Clears the field bit
13732            #[inline(always)]
13733            pub fn clear_bit(self) -> &'a mut W {
13734                self.bit(false)
13735            }
13736            ///Writes raw bits to the field
13737            #[inline(always)]
13738            pub fn bit(self, value: bool) -> &'a mut W {
13739                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
13740                self.w
13741            }
13742        }
13743        ///Reader of field `SOIE`
13744        pub type SOIE_R = crate::R<bool, bool>;
13745        ///Write proxy for field `SOIE`
13746        pub struct SOIE_W<'a> {
13747            w: &'a mut W,
13748        }
13749        impl<'a> SOIE_W<'a> {
13750            ///Sets the field bit
13751            #[inline(always)]
13752            pub fn set_bit(self) -> &'a mut W {
13753                self.bit(true)
13754            }
13755            ///Clears the field bit
13756            #[inline(always)]
13757            pub fn clear_bit(self) -> &'a mut W {
13758                self.bit(false)
13759            }
13760            ///Writes raw bits to the field
13761            #[inline(always)]
13762            pub fn bit(self, value: bool) -> &'a mut W {
13763                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
13764                self.w
13765            }
13766        }
13767        ///Reader of field `DMAREQ_ID`
13768        pub type DMAREQ_ID_R = crate::R<u8, u8>;
13769        ///Write proxy for field `DMAREQ_ID`
13770        pub struct DMAREQ_ID_W<'a> {
13771            w: &'a mut W,
13772        }
13773        impl<'a> DMAREQ_ID_W<'a> {
13774            ///Writes raw bits to the field
13775            #[inline(always)]
13776            pub unsafe fn bits(self, value: u8) -> &'a mut W {
13777                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
13778                self.w
13779            }
13780        }
13781        impl R {
13782            ///Bits 24:28 - SYNC_ID
13783            #[inline(always)]
13784            pub fn sync_id(&self) -> SYNC_ID_R {
13785                SYNC_ID_R::new(((self.bits >> 24) & 0x1f) as u8)
13786            }
13787            ///Bits 19:23 - Nb request
13788            #[inline(always)]
13789            pub fn nbreq(&self) -> NBREQ_R {
13790                NBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
13791            }
13792            ///Bits 17:18 - Sync polarity
13793            #[inline(always)]
13794            pub fn spol(&self) -> SPOL_R {
13795                SPOL_R::new(((self.bits >> 17) & 0x03) as u8)
13796            }
13797            ///Bit 16 - Synchronization enable
13798            #[inline(always)]
13799            pub fn se(&self) -> SE_R {
13800                SE_R::new(((self.bits >> 16) & 0x01) != 0)
13801            }
13802            ///Bit 9 - Event Generation Enable
13803            #[inline(always)]
13804            pub fn ege(&self) -> EGE_R {
13805                EGE_R::new(((self.bits >> 9) & 0x01) != 0)
13806            }
13807            ///Bit 8 - Synchronization Overrun Interrupt Enable
13808            #[inline(always)]
13809            pub fn soie(&self) -> SOIE_R {
13810                SOIE_R::new(((self.bits >> 8) & 0x01) != 0)
13811            }
13812            ///Bits 0:7 - DMA Request ID
13813            #[inline(always)]
13814            pub fn dmareq_id(&self) -> DMAREQ_ID_R {
13815                DMAREQ_ID_R::new((self.bits & 0xff) as u8)
13816            }
13817        }
13818        impl W {
13819            ///Bits 24:28 - SYNC_ID
13820            #[inline(always)]
13821            pub fn sync_id(&mut self) -> SYNC_ID_W {
13822                SYNC_ID_W { w: self }
13823            }
13824            ///Bits 19:23 - Nb request
13825            #[inline(always)]
13826            pub fn nbreq(&mut self) -> NBREQ_W {
13827                NBREQ_W { w: self }
13828            }
13829            ///Bits 17:18 - Sync polarity
13830            #[inline(always)]
13831            pub fn spol(&mut self) -> SPOL_W {
13832                SPOL_W { w: self }
13833            }
13834            ///Bit 16 - Synchronization enable
13835            #[inline(always)]
13836            pub fn se(&mut self) -> SE_W {
13837                SE_W { w: self }
13838            }
13839            ///Bit 9 - Event Generation Enable
13840            #[inline(always)]
13841            pub fn ege(&mut self) -> EGE_W {
13842                EGE_W { w: self }
13843            }
13844            ///Bit 8 - Synchronization Overrun Interrupt Enable
13845            #[inline(always)]
13846            pub fn soie(&mut self) -> SOIE_W {
13847                SOIE_W { w: self }
13848            }
13849            ///Bits 0:7 - DMA Request ID
13850            #[inline(always)]
13851            pub fn dmareq_id(&mut self) -> DMAREQ_ID_W {
13852                DMAREQ_ID_W { w: self }
13853            }
13854        }
13855    }
13856    ///DMA Multiplexer Channel 13 Control register
13857    ///
13858    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
13859    ///
13860    ///For information about available fields see [c13cr](c13cr) module
13861    pub type C13CR = crate::Reg<u32, _C13CR>;
13862    #[allow(missing_docs)]
13863    #[doc(hidden)]
13864    pub struct _C13CR;
13865    ///`read()` method returns [c13cr::R](c13cr::R) reader structure
13866    impl crate::Readable for C13CR {}
13867    ///`write(|w| ..)` method takes [c13cr::W](c13cr::W) writer structure
13868    impl crate::Writable for C13CR {}
13869    ///DMA Multiplexer Channel 13 Control register
13870    pub mod c13cr {
13871        ///Reader of register C13CR
13872        pub type R = crate::R<u32, super::C13CR>;
13873        ///Writer for register C13CR
13874        pub type W = crate::W<u32, super::C13CR>;
13875        ///Register C13CR `reset()`'s with value 0
13876        impl crate::ResetValue for super::C13CR {
13877            type Type = u32;
13878            #[inline(always)]
13879            fn reset_value() -> Self::Type {
13880                0
13881            }
13882        }
13883        ///Reader of field `SYNC_ID`
13884        pub type SYNC_ID_R = crate::R<u8, u8>;
13885        ///Write proxy for field `SYNC_ID`
13886        pub struct SYNC_ID_W<'a> {
13887            w: &'a mut W,
13888        }
13889        impl<'a> SYNC_ID_W<'a> {
13890            ///Writes raw bits to the field
13891            #[inline(always)]
13892            pub unsafe fn bits(self, value: u8) -> &'a mut W {
13893                self.w.bits = (self.w.bits & !(0x1f << 24)) | (((value as u32) & 0x1f) << 24);
13894                self.w
13895            }
13896        }
13897        ///Reader of field `NBREQ`
13898        pub type NBREQ_R = crate::R<u8, u8>;
13899        ///Write proxy for field `NBREQ`
13900        pub struct NBREQ_W<'a> {
13901            w: &'a mut W,
13902        }
13903        impl<'a> NBREQ_W<'a> {
13904            ///Writes raw bits to the field
13905            #[inline(always)]
13906            pub unsafe fn bits(self, value: u8) -> &'a mut W {
13907                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
13908                self.w
13909            }
13910        }
13911        ///Reader of field `SPOL`
13912        pub type SPOL_R = crate::R<u8, u8>;
13913        ///Write proxy for field `SPOL`
13914        pub struct SPOL_W<'a> {
13915            w: &'a mut W,
13916        }
13917        impl<'a> SPOL_W<'a> {
13918            ///Writes raw bits to the field
13919            #[inline(always)]
13920            pub unsafe fn bits(self, value: u8) -> &'a mut W {
13921                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
13922                self.w
13923            }
13924        }
13925        ///Reader of field `SE`
13926        pub type SE_R = crate::R<bool, bool>;
13927        ///Write proxy for field `SE`
13928        pub struct SE_W<'a> {
13929            w: &'a mut W,
13930        }
13931        impl<'a> SE_W<'a> {
13932            ///Sets the field bit
13933            #[inline(always)]
13934            pub fn set_bit(self) -> &'a mut W {
13935                self.bit(true)
13936            }
13937            ///Clears the field bit
13938            #[inline(always)]
13939            pub fn clear_bit(self) -> &'a mut W {
13940                self.bit(false)
13941            }
13942            ///Writes raw bits to the field
13943            #[inline(always)]
13944            pub fn bit(self, value: bool) -> &'a mut W {
13945                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
13946                self.w
13947            }
13948        }
13949        ///Reader of field `EGE`
13950        pub type EGE_R = crate::R<bool, bool>;
13951        ///Write proxy for field `EGE`
13952        pub struct EGE_W<'a> {
13953            w: &'a mut W,
13954        }
13955        impl<'a> EGE_W<'a> {
13956            ///Sets the field bit
13957            #[inline(always)]
13958            pub fn set_bit(self) -> &'a mut W {
13959                self.bit(true)
13960            }
13961            ///Clears the field bit
13962            #[inline(always)]
13963            pub fn clear_bit(self) -> &'a mut W {
13964                self.bit(false)
13965            }
13966            ///Writes raw bits to the field
13967            #[inline(always)]
13968            pub fn bit(self, value: bool) -> &'a mut W {
13969                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
13970                self.w
13971            }
13972        }
13973        ///Reader of field `SOIE`
13974        pub type SOIE_R = crate::R<bool, bool>;
13975        ///Write proxy for field `SOIE`
13976        pub struct SOIE_W<'a> {
13977            w: &'a mut W,
13978        }
13979        impl<'a> SOIE_W<'a> {
13980            ///Sets the field bit
13981            #[inline(always)]
13982            pub fn set_bit(self) -> &'a mut W {
13983                self.bit(true)
13984            }
13985            ///Clears the field bit
13986            #[inline(always)]
13987            pub fn clear_bit(self) -> &'a mut W {
13988                self.bit(false)
13989            }
13990            ///Writes raw bits to the field
13991            #[inline(always)]
13992            pub fn bit(self, value: bool) -> &'a mut W {
13993                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
13994                self.w
13995            }
13996        }
13997        ///Reader of field `DMAREQ_ID`
13998        pub type DMAREQ_ID_R = crate::R<u8, u8>;
13999        ///Write proxy for field `DMAREQ_ID`
14000        pub struct DMAREQ_ID_W<'a> {
14001            w: &'a mut W,
14002        }
14003        impl<'a> DMAREQ_ID_W<'a> {
14004            ///Writes raw bits to the field
14005            #[inline(always)]
14006            pub unsafe fn bits(self, value: u8) -> &'a mut W {
14007                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
14008                self.w
14009            }
14010        }
14011        impl R {
14012            ///Bits 24:28 - SYNC_ID
14013            #[inline(always)]
14014            pub fn sync_id(&self) -> SYNC_ID_R {
14015                SYNC_ID_R::new(((self.bits >> 24) & 0x1f) as u8)
14016            }
14017            ///Bits 19:23 - Nb request
14018            #[inline(always)]
14019            pub fn nbreq(&self) -> NBREQ_R {
14020                NBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
14021            }
14022            ///Bits 17:18 - Sync polarity
14023            #[inline(always)]
14024            pub fn spol(&self) -> SPOL_R {
14025                SPOL_R::new(((self.bits >> 17) & 0x03) as u8)
14026            }
14027            ///Bit 16 - Synchronization enable
14028            #[inline(always)]
14029            pub fn se(&self) -> SE_R {
14030                SE_R::new(((self.bits >> 16) & 0x01) != 0)
14031            }
14032            ///Bit 9 - Event Generation Enable
14033            #[inline(always)]
14034            pub fn ege(&self) -> EGE_R {
14035                EGE_R::new(((self.bits >> 9) & 0x01) != 0)
14036            }
14037            ///Bit 8 - Synchronization Overrun Interrupt Enable
14038            #[inline(always)]
14039            pub fn soie(&self) -> SOIE_R {
14040                SOIE_R::new(((self.bits >> 8) & 0x01) != 0)
14041            }
14042            ///Bits 0:7 - DMA Request ID
14043            #[inline(always)]
14044            pub fn dmareq_id(&self) -> DMAREQ_ID_R {
14045                DMAREQ_ID_R::new((self.bits & 0xff) as u8)
14046            }
14047        }
14048        impl W {
14049            ///Bits 24:28 - SYNC_ID
14050            #[inline(always)]
14051            pub fn sync_id(&mut self) -> SYNC_ID_W {
14052                SYNC_ID_W { w: self }
14053            }
14054            ///Bits 19:23 - Nb request
14055            #[inline(always)]
14056            pub fn nbreq(&mut self) -> NBREQ_W {
14057                NBREQ_W { w: self }
14058            }
14059            ///Bits 17:18 - Sync polarity
14060            #[inline(always)]
14061            pub fn spol(&mut self) -> SPOL_W {
14062                SPOL_W { w: self }
14063            }
14064            ///Bit 16 - Synchronization enable
14065            #[inline(always)]
14066            pub fn se(&mut self) -> SE_W {
14067                SE_W { w: self }
14068            }
14069            ///Bit 9 - Event Generation Enable
14070            #[inline(always)]
14071            pub fn ege(&mut self) -> EGE_W {
14072                EGE_W { w: self }
14073            }
14074            ///Bit 8 - Synchronization Overrun Interrupt Enable
14075            #[inline(always)]
14076            pub fn soie(&mut self) -> SOIE_W {
14077                SOIE_W { w: self }
14078            }
14079            ///Bits 0:7 - DMA Request ID
14080            #[inline(always)]
14081            pub fn dmareq_id(&mut self) -> DMAREQ_ID_W {
14082                DMAREQ_ID_W { w: self }
14083            }
14084        }
14085    }
14086    ///DMA Multiplexer Channel Status register
14087    ///
14088    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
14089    ///
14090    ///For information about available fields see [csr](csr) module
14091    pub type CSR = crate::Reg<u32, _CSR>;
14092    #[allow(missing_docs)]
14093    #[doc(hidden)]
14094    pub struct _CSR;
14095    ///`read()` method returns [csr::R](csr::R) reader structure
14096    impl crate::Readable for CSR {}
14097    ///DMA Multiplexer Channel Status register
14098    pub mod csr {
14099        ///Reader of register CSR
14100        pub type R = crate::R<u32, super::CSR>;
14101        ///Reader of field `SOF0`
14102        pub type SOF0_R = crate::R<bool, bool>;
14103        ///Reader of field `SOF1`
14104        pub type SOF1_R = crate::R<bool, bool>;
14105        ///Reader of field `SOF2`
14106        pub type SOF2_R = crate::R<bool, bool>;
14107        ///Reader of field `SOF3`
14108        pub type SOF3_R = crate::R<bool, bool>;
14109        ///Reader of field `SOF4`
14110        pub type SOF4_R = crate::R<bool, bool>;
14111        ///Reader of field `SOF5`
14112        pub type SOF5_R = crate::R<bool, bool>;
14113        ///Reader of field `SOF6`
14114        pub type SOF6_R = crate::R<bool, bool>;
14115        ///Reader of field `SOF7`
14116        pub type SOF7_R = crate::R<bool, bool>;
14117        ///Reader of field `SOF8`
14118        pub type SOF8_R = crate::R<bool, bool>;
14119        ///Reader of field `SOF9`
14120        pub type SOF9_R = crate::R<bool, bool>;
14121        ///Reader of field `SOF10`
14122        pub type SOF10_R = crate::R<bool, bool>;
14123        ///Reader of field `SOF11`
14124        pub type SOF11_R = crate::R<bool, bool>;
14125        ///Reader of field `SOF12`
14126        pub type SOF12_R = crate::R<bool, bool>;
14127        ///Reader of field `SOF13`
14128        pub type SOF13_R = crate::R<bool, bool>;
14129        impl R {
14130            ///Bit 0 - Synchronization Overrun Flag 0
14131            #[inline(always)]
14132            pub fn sof0(&self) -> SOF0_R {
14133                SOF0_R::new((self.bits & 0x01) != 0)
14134            }
14135            ///Bit 1 - Synchronization Overrun Flag 1
14136            #[inline(always)]
14137            pub fn sof1(&self) -> SOF1_R {
14138                SOF1_R::new(((self.bits >> 1) & 0x01) != 0)
14139            }
14140            ///Bit 2 - Synchronization Overrun Flag 2
14141            #[inline(always)]
14142            pub fn sof2(&self) -> SOF2_R {
14143                SOF2_R::new(((self.bits >> 2) & 0x01) != 0)
14144            }
14145            ///Bit 3 - Synchronization Overrun Flag 3
14146            #[inline(always)]
14147            pub fn sof3(&self) -> SOF3_R {
14148                SOF3_R::new(((self.bits >> 3) & 0x01) != 0)
14149            }
14150            ///Bit 4 - Synchronization Overrun Flag 4
14151            #[inline(always)]
14152            pub fn sof4(&self) -> SOF4_R {
14153                SOF4_R::new(((self.bits >> 4) & 0x01) != 0)
14154            }
14155            ///Bit 5 - Synchronization Overrun Flag 5
14156            #[inline(always)]
14157            pub fn sof5(&self) -> SOF5_R {
14158                SOF5_R::new(((self.bits >> 5) & 0x01) != 0)
14159            }
14160            ///Bit 6 - Synchronization Overrun Flag 6
14161            #[inline(always)]
14162            pub fn sof6(&self) -> SOF6_R {
14163                SOF6_R::new(((self.bits >> 6) & 0x01) != 0)
14164            }
14165            ///Bit 7 - Synchronization Overrun Flag 7
14166            #[inline(always)]
14167            pub fn sof7(&self) -> SOF7_R {
14168                SOF7_R::new(((self.bits >> 7) & 0x01) != 0)
14169            }
14170            ///Bit 8 - Synchronization Overrun Flag 8
14171            #[inline(always)]
14172            pub fn sof8(&self) -> SOF8_R {
14173                SOF8_R::new(((self.bits >> 8) & 0x01) != 0)
14174            }
14175            ///Bit 9 - Synchronization Overrun Flag 9
14176            #[inline(always)]
14177            pub fn sof9(&self) -> SOF9_R {
14178                SOF9_R::new(((self.bits >> 9) & 0x01) != 0)
14179            }
14180            ///Bit 10 - Synchronization Overrun Flag 10
14181            #[inline(always)]
14182            pub fn sof10(&self) -> SOF10_R {
14183                SOF10_R::new(((self.bits >> 10) & 0x01) != 0)
14184            }
14185            ///Bit 11 - Synchronization Overrun Flag 11
14186            #[inline(always)]
14187            pub fn sof11(&self) -> SOF11_R {
14188                SOF11_R::new(((self.bits >> 11) & 0x01) != 0)
14189            }
14190            ///Bit 12 - Synchronization Overrun Flag 12
14191            #[inline(always)]
14192            pub fn sof12(&self) -> SOF12_R {
14193                SOF12_R::new(((self.bits >> 12) & 0x01) != 0)
14194            }
14195            ///Bit 13 - Synchronization Overrun Flag 13
14196            #[inline(always)]
14197            pub fn sof13(&self) -> SOF13_R {
14198                SOF13_R::new(((self.bits >> 13) & 0x01) != 0)
14199            }
14200        }
14201    }
14202    ///DMA Channel Clear Flag Register
14203    ///
14204    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
14205    ///
14206    ///For information about available fields see [cfr](cfr) module
14207    pub type CFR = crate::Reg<u32, _CFR>;
14208    #[allow(missing_docs)]
14209    #[doc(hidden)]
14210    pub struct _CFR;
14211    ///`write(|w| ..)` method takes [cfr::W](cfr::W) writer structure
14212    impl crate::Writable for CFR {}
14213    ///DMA Channel Clear Flag Register
14214    pub mod cfr {
14215        ///Writer for register CFR
14216        pub type W = crate::W<u32, super::CFR>;
14217        ///Register CFR `reset()`'s with value 0
14218        impl crate::ResetValue for super::CFR {
14219            type Type = u32;
14220            #[inline(always)]
14221            fn reset_value() -> Self::Type {
14222                0
14223            }
14224        }
14225        ///Write proxy for field `CSOF0`
14226        pub struct CSOF0_W<'a> {
14227            w: &'a mut W,
14228        }
14229        impl<'a> CSOF0_W<'a> {
14230            ///Sets the field bit
14231            #[inline(always)]
14232            pub fn set_bit(self) -> &'a mut W {
14233                self.bit(true)
14234            }
14235            ///Clears the field bit
14236            #[inline(always)]
14237            pub fn clear_bit(self) -> &'a mut W {
14238                self.bit(false)
14239            }
14240            ///Writes raw bits to the field
14241            #[inline(always)]
14242            pub fn bit(self, value: bool) -> &'a mut W {
14243                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
14244                self.w
14245            }
14246        }
14247        ///Write proxy for field `CSOF1`
14248        pub struct CSOF1_W<'a> {
14249            w: &'a mut W,
14250        }
14251        impl<'a> CSOF1_W<'a> {
14252            ///Sets the field bit
14253            #[inline(always)]
14254            pub fn set_bit(self) -> &'a mut W {
14255                self.bit(true)
14256            }
14257            ///Clears the field bit
14258            #[inline(always)]
14259            pub fn clear_bit(self) -> &'a mut W {
14260                self.bit(false)
14261            }
14262            ///Writes raw bits to the field
14263            #[inline(always)]
14264            pub fn bit(self, value: bool) -> &'a mut W {
14265                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
14266                self.w
14267            }
14268        }
14269        ///Write proxy for field `CSOF2`
14270        pub struct CSOF2_W<'a> {
14271            w: &'a mut W,
14272        }
14273        impl<'a> CSOF2_W<'a> {
14274            ///Sets the field bit
14275            #[inline(always)]
14276            pub fn set_bit(self) -> &'a mut W {
14277                self.bit(true)
14278            }
14279            ///Clears the field bit
14280            #[inline(always)]
14281            pub fn clear_bit(self) -> &'a mut W {
14282                self.bit(false)
14283            }
14284            ///Writes raw bits to the field
14285            #[inline(always)]
14286            pub fn bit(self, value: bool) -> &'a mut W {
14287                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
14288                self.w
14289            }
14290        }
14291        ///Write proxy for field `CSOF3`
14292        pub struct CSOF3_W<'a> {
14293            w: &'a mut W,
14294        }
14295        impl<'a> CSOF3_W<'a> {
14296            ///Sets the field bit
14297            #[inline(always)]
14298            pub fn set_bit(self) -> &'a mut W {
14299                self.bit(true)
14300            }
14301            ///Clears the field bit
14302            #[inline(always)]
14303            pub fn clear_bit(self) -> &'a mut W {
14304                self.bit(false)
14305            }
14306            ///Writes raw bits to the field
14307            #[inline(always)]
14308            pub fn bit(self, value: bool) -> &'a mut W {
14309                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
14310                self.w
14311            }
14312        }
14313        ///Write proxy for field `CSOF4`
14314        pub struct CSOF4_W<'a> {
14315            w: &'a mut W,
14316        }
14317        impl<'a> CSOF4_W<'a> {
14318            ///Sets the field bit
14319            #[inline(always)]
14320            pub fn set_bit(self) -> &'a mut W {
14321                self.bit(true)
14322            }
14323            ///Clears the field bit
14324            #[inline(always)]
14325            pub fn clear_bit(self) -> &'a mut W {
14326                self.bit(false)
14327            }
14328            ///Writes raw bits to the field
14329            #[inline(always)]
14330            pub fn bit(self, value: bool) -> &'a mut W {
14331                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
14332                self.w
14333            }
14334        }
14335        ///Write proxy for field `CSOF5`
14336        pub struct CSOF5_W<'a> {
14337            w: &'a mut W,
14338        }
14339        impl<'a> CSOF5_W<'a> {
14340            ///Sets the field bit
14341            #[inline(always)]
14342            pub fn set_bit(self) -> &'a mut W {
14343                self.bit(true)
14344            }
14345            ///Clears the field bit
14346            #[inline(always)]
14347            pub fn clear_bit(self) -> &'a mut W {
14348                self.bit(false)
14349            }
14350            ///Writes raw bits to the field
14351            #[inline(always)]
14352            pub fn bit(self, value: bool) -> &'a mut W {
14353                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
14354                self.w
14355            }
14356        }
14357        ///Write proxy for field `CSOF6`
14358        pub struct CSOF6_W<'a> {
14359            w: &'a mut W,
14360        }
14361        impl<'a> CSOF6_W<'a> {
14362            ///Sets the field bit
14363            #[inline(always)]
14364            pub fn set_bit(self) -> &'a mut W {
14365                self.bit(true)
14366            }
14367            ///Clears the field bit
14368            #[inline(always)]
14369            pub fn clear_bit(self) -> &'a mut W {
14370                self.bit(false)
14371            }
14372            ///Writes raw bits to the field
14373            #[inline(always)]
14374            pub fn bit(self, value: bool) -> &'a mut W {
14375                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
14376                self.w
14377            }
14378        }
14379        ///Write proxy for field `CSOF7`
14380        pub struct CSOF7_W<'a> {
14381            w: &'a mut W,
14382        }
14383        impl<'a> CSOF7_W<'a> {
14384            ///Sets the field bit
14385            #[inline(always)]
14386            pub fn set_bit(self) -> &'a mut W {
14387                self.bit(true)
14388            }
14389            ///Clears the field bit
14390            #[inline(always)]
14391            pub fn clear_bit(self) -> &'a mut W {
14392                self.bit(false)
14393            }
14394            ///Writes raw bits to the field
14395            #[inline(always)]
14396            pub fn bit(self, value: bool) -> &'a mut W {
14397                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
14398                self.w
14399            }
14400        }
14401        ///Write proxy for field `CSOF8`
14402        pub struct CSOF8_W<'a> {
14403            w: &'a mut W,
14404        }
14405        impl<'a> CSOF8_W<'a> {
14406            ///Sets the field bit
14407            #[inline(always)]
14408            pub fn set_bit(self) -> &'a mut W {
14409                self.bit(true)
14410            }
14411            ///Clears the field bit
14412            #[inline(always)]
14413            pub fn clear_bit(self) -> &'a mut W {
14414                self.bit(false)
14415            }
14416            ///Writes raw bits to the field
14417            #[inline(always)]
14418            pub fn bit(self, value: bool) -> &'a mut W {
14419                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
14420                self.w
14421            }
14422        }
14423        ///Write proxy for field `CSOF9`
14424        pub struct CSOF9_W<'a> {
14425            w: &'a mut W,
14426        }
14427        impl<'a> CSOF9_W<'a> {
14428            ///Sets the field bit
14429            #[inline(always)]
14430            pub fn set_bit(self) -> &'a mut W {
14431                self.bit(true)
14432            }
14433            ///Clears the field bit
14434            #[inline(always)]
14435            pub fn clear_bit(self) -> &'a mut W {
14436                self.bit(false)
14437            }
14438            ///Writes raw bits to the field
14439            #[inline(always)]
14440            pub fn bit(self, value: bool) -> &'a mut W {
14441                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
14442                self.w
14443            }
14444        }
14445        ///Write proxy for field `CSOF10`
14446        pub struct CSOF10_W<'a> {
14447            w: &'a mut W,
14448        }
14449        impl<'a> CSOF10_W<'a> {
14450            ///Sets the field bit
14451            #[inline(always)]
14452            pub fn set_bit(self) -> &'a mut W {
14453                self.bit(true)
14454            }
14455            ///Clears the field bit
14456            #[inline(always)]
14457            pub fn clear_bit(self) -> &'a mut W {
14458                self.bit(false)
14459            }
14460            ///Writes raw bits to the field
14461            #[inline(always)]
14462            pub fn bit(self, value: bool) -> &'a mut W {
14463                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
14464                self.w
14465            }
14466        }
14467        ///Write proxy for field `CSOF11`
14468        pub struct CSOF11_W<'a> {
14469            w: &'a mut W,
14470        }
14471        impl<'a> CSOF11_W<'a> {
14472            ///Sets the field bit
14473            #[inline(always)]
14474            pub fn set_bit(self) -> &'a mut W {
14475                self.bit(true)
14476            }
14477            ///Clears the field bit
14478            #[inline(always)]
14479            pub fn clear_bit(self) -> &'a mut W {
14480                self.bit(false)
14481            }
14482            ///Writes raw bits to the field
14483            #[inline(always)]
14484            pub fn bit(self, value: bool) -> &'a mut W {
14485                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
14486                self.w
14487            }
14488        }
14489        ///Write proxy for field `CSOF12`
14490        pub struct CSOF12_W<'a> {
14491            w: &'a mut W,
14492        }
14493        impl<'a> CSOF12_W<'a> {
14494            ///Sets the field bit
14495            #[inline(always)]
14496            pub fn set_bit(self) -> &'a mut W {
14497                self.bit(true)
14498            }
14499            ///Clears the field bit
14500            #[inline(always)]
14501            pub fn clear_bit(self) -> &'a mut W {
14502                self.bit(false)
14503            }
14504            ///Writes raw bits to the field
14505            #[inline(always)]
14506            pub fn bit(self, value: bool) -> &'a mut W {
14507                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
14508                self.w
14509            }
14510        }
14511        ///Write proxy for field `CSOF13`
14512        pub struct CSOF13_W<'a> {
14513            w: &'a mut W,
14514        }
14515        impl<'a> CSOF13_W<'a> {
14516            ///Sets the field bit
14517            #[inline(always)]
14518            pub fn set_bit(self) -> &'a mut W {
14519                self.bit(true)
14520            }
14521            ///Clears the field bit
14522            #[inline(always)]
14523            pub fn clear_bit(self) -> &'a mut W {
14524                self.bit(false)
14525            }
14526            ///Writes raw bits to the field
14527            #[inline(always)]
14528            pub fn bit(self, value: bool) -> &'a mut W {
14529                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
14530                self.w
14531            }
14532        }
14533        impl W {
14534            ///Bit 0 - Synchronization Clear Overrun Flag 0
14535            #[inline(always)]
14536            pub fn csof0(&mut self) -> CSOF0_W {
14537                CSOF0_W { w: self }
14538            }
14539            ///Bit 1 - Synchronization Clear Overrun Flag 1
14540            #[inline(always)]
14541            pub fn csof1(&mut self) -> CSOF1_W {
14542                CSOF1_W { w: self }
14543            }
14544            ///Bit 2 - Synchronization Clear Overrun Flag 2
14545            #[inline(always)]
14546            pub fn csof2(&mut self) -> CSOF2_W {
14547                CSOF2_W { w: self }
14548            }
14549            ///Bit 3 - Synchronization Clear Overrun Flag 3
14550            #[inline(always)]
14551            pub fn csof3(&mut self) -> CSOF3_W {
14552                CSOF3_W { w: self }
14553            }
14554            ///Bit 4 - Synchronization Clear Overrun Flag 4
14555            #[inline(always)]
14556            pub fn csof4(&mut self) -> CSOF4_W {
14557                CSOF4_W { w: self }
14558            }
14559            ///Bit 5 - Synchronization Clear Overrun Flag 5
14560            #[inline(always)]
14561            pub fn csof5(&mut self) -> CSOF5_W {
14562                CSOF5_W { w: self }
14563            }
14564            ///Bit 6 - Synchronization Clear Overrun Flag 6
14565            #[inline(always)]
14566            pub fn csof6(&mut self) -> CSOF6_W {
14567                CSOF6_W { w: self }
14568            }
14569            ///Bit 7 - Synchronization Clear Overrun Flag 7
14570            #[inline(always)]
14571            pub fn csof7(&mut self) -> CSOF7_W {
14572                CSOF7_W { w: self }
14573            }
14574            ///Bit 8 - Synchronization Clear Overrun Flag 8
14575            #[inline(always)]
14576            pub fn csof8(&mut self) -> CSOF8_W {
14577                CSOF8_W { w: self }
14578            }
14579            ///Bit 9 - Synchronization Clear Overrun Flag 9
14580            #[inline(always)]
14581            pub fn csof9(&mut self) -> CSOF9_W {
14582                CSOF9_W { w: self }
14583            }
14584            ///Bit 10 - Synchronization Clear Overrun Flag 10
14585            #[inline(always)]
14586            pub fn csof10(&mut self) -> CSOF10_W {
14587                CSOF10_W { w: self }
14588            }
14589            ///Bit 11 - Synchronization Clear Overrun Flag 11
14590            #[inline(always)]
14591            pub fn csof11(&mut self) -> CSOF11_W {
14592                CSOF11_W { w: self }
14593            }
14594            ///Bit 12 - Synchronization Clear Overrun Flag 12
14595            #[inline(always)]
14596            pub fn csof12(&mut self) -> CSOF12_W {
14597                CSOF12_W { w: self }
14598            }
14599            ///Bit 13 - Synchronization Clear Overrun Flag 13
14600            #[inline(always)]
14601            pub fn csof13(&mut self) -> CSOF13_W {
14602                CSOF13_W { w: self }
14603            }
14604        }
14605    }
14606    ///DMA Request Generator 0 Control Register
14607    ///
14608    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
14609    ///
14610    ///For information about available fields see [rg0cr](rg0cr) module
14611    pub type RG0CR = crate::Reg<u32, _RG0CR>;
14612    #[allow(missing_docs)]
14613    #[doc(hidden)]
14614    pub struct _RG0CR;
14615    ///`read()` method returns [rg0cr::R](rg0cr::R) reader structure
14616    impl crate::Readable for RG0CR {}
14617    ///`write(|w| ..)` method takes [rg0cr::W](rg0cr::W) writer structure
14618    impl crate::Writable for RG0CR {}
14619    ///DMA Request Generator 0 Control Register
14620    pub mod rg0cr {
14621        ///Reader of register RG0CR
14622        pub type R = crate::R<u32, super::RG0CR>;
14623        ///Writer for register RG0CR
14624        pub type W = crate::W<u32, super::RG0CR>;
14625        ///Register RG0CR `reset()`'s with value 0
14626        impl crate::ResetValue for super::RG0CR {
14627            type Type = u32;
14628            #[inline(always)]
14629            fn reset_value() -> Self::Type {
14630                0
14631            }
14632        }
14633        ///Reader of field `GNBREQ`
14634        pub type GNBREQ_R = crate::R<u8, u8>;
14635        ///Write proxy for field `GNBREQ`
14636        pub struct GNBREQ_W<'a> {
14637            w: &'a mut W,
14638        }
14639        impl<'a> GNBREQ_W<'a> {
14640            ///Writes raw bits to the field
14641            #[inline(always)]
14642            pub unsafe fn bits(self, value: u8) -> &'a mut W {
14643                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
14644                self.w
14645            }
14646        }
14647        ///Reader of field `GPOL`
14648        pub type GPOL_R = crate::R<u8, u8>;
14649        ///Write proxy for field `GPOL`
14650        pub struct GPOL_W<'a> {
14651            w: &'a mut W,
14652        }
14653        impl<'a> GPOL_W<'a> {
14654            ///Writes raw bits to the field
14655            #[inline(always)]
14656            pub unsafe fn bits(self, value: u8) -> &'a mut W {
14657                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
14658                self.w
14659            }
14660        }
14661        ///Reader of field `GE`
14662        pub type GE_R = crate::R<bool, bool>;
14663        ///Write proxy for field `GE`
14664        pub struct GE_W<'a> {
14665            w: &'a mut W,
14666        }
14667        impl<'a> GE_W<'a> {
14668            ///Sets the field bit
14669            #[inline(always)]
14670            pub fn set_bit(self) -> &'a mut W {
14671                self.bit(true)
14672            }
14673            ///Clears the field bit
14674            #[inline(always)]
14675            pub fn clear_bit(self) -> &'a mut W {
14676                self.bit(false)
14677            }
14678            ///Writes raw bits to the field
14679            #[inline(always)]
14680            pub fn bit(self, value: bool) -> &'a mut W {
14681                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
14682                self.w
14683            }
14684        }
14685        ///Reader of field `OIE`
14686        pub type OIE_R = crate::R<bool, bool>;
14687        ///Write proxy for field `OIE`
14688        pub struct OIE_W<'a> {
14689            w: &'a mut W,
14690        }
14691        impl<'a> OIE_W<'a> {
14692            ///Sets the field bit
14693            #[inline(always)]
14694            pub fn set_bit(self) -> &'a mut W {
14695                self.bit(true)
14696            }
14697            ///Clears the field bit
14698            #[inline(always)]
14699            pub fn clear_bit(self) -> &'a mut W {
14700                self.bit(false)
14701            }
14702            ///Writes raw bits to the field
14703            #[inline(always)]
14704            pub fn bit(self, value: bool) -> &'a mut W {
14705                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
14706                self.w
14707            }
14708        }
14709        ///Reader of field `SIG_ID`
14710        pub type SIG_ID_R = crate::R<u8, u8>;
14711        ///Write proxy for field `SIG_ID`
14712        pub struct SIG_ID_W<'a> {
14713            w: &'a mut W,
14714        }
14715        impl<'a> SIG_ID_W<'a> {
14716            ///Writes raw bits to the field
14717            #[inline(always)]
14718            pub unsafe fn bits(self, value: u8) -> &'a mut W {
14719                self.w.bits = (self.w.bits & !0x1f) | ((value as u32) & 0x1f);
14720                self.w
14721            }
14722        }
14723        impl R {
14724            ///Bits 19:23 - Number of Request
14725            #[inline(always)]
14726            pub fn gnbreq(&self) -> GNBREQ_R {
14727                GNBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
14728            }
14729            ///Bits 17:18 - Generation Polarity
14730            #[inline(always)]
14731            pub fn gpol(&self) -> GPOL_R {
14732                GPOL_R::new(((self.bits >> 17) & 0x03) as u8)
14733            }
14734            ///Bit 16 - Generation Enable
14735            #[inline(always)]
14736            pub fn ge(&self) -> GE_R {
14737                GE_R::new(((self.bits >> 16) & 0x01) != 0)
14738            }
14739            ///Bit 8 - Overrun Interrupt Enable
14740            #[inline(always)]
14741            pub fn oie(&self) -> OIE_R {
14742                OIE_R::new(((self.bits >> 8) & 0x01) != 0)
14743            }
14744            ///Bits 0:4 - Signal ID
14745            #[inline(always)]
14746            pub fn sig_id(&self) -> SIG_ID_R {
14747                SIG_ID_R::new((self.bits & 0x1f) as u8)
14748            }
14749        }
14750        impl W {
14751            ///Bits 19:23 - Number of Request
14752            #[inline(always)]
14753            pub fn gnbreq(&mut self) -> GNBREQ_W {
14754                GNBREQ_W { w: self }
14755            }
14756            ///Bits 17:18 - Generation Polarity
14757            #[inline(always)]
14758            pub fn gpol(&mut self) -> GPOL_W {
14759                GPOL_W { w: self }
14760            }
14761            ///Bit 16 - Generation Enable
14762            #[inline(always)]
14763            pub fn ge(&mut self) -> GE_W {
14764                GE_W { w: self }
14765            }
14766            ///Bit 8 - Overrun Interrupt Enable
14767            #[inline(always)]
14768            pub fn oie(&mut self) -> OIE_W {
14769                OIE_W { w: self }
14770            }
14771            ///Bits 0:4 - Signal ID
14772            #[inline(always)]
14773            pub fn sig_id(&mut self) -> SIG_ID_W {
14774                SIG_ID_W { w: self }
14775            }
14776        }
14777    }
14778    ///DMA Request Generator 1 Control Register
14779    ///
14780    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
14781    ///
14782    ///For information about available fields see [rg1cr](rg1cr) module
14783    pub type RG1CR = crate::Reg<u32, _RG1CR>;
14784    #[allow(missing_docs)]
14785    #[doc(hidden)]
14786    pub struct _RG1CR;
14787    ///`read()` method returns [rg1cr::R](rg1cr::R) reader structure
14788    impl crate::Readable for RG1CR {}
14789    ///`write(|w| ..)` method takes [rg1cr::W](rg1cr::W) writer structure
14790    impl crate::Writable for RG1CR {}
14791    ///DMA Request Generator 1 Control Register
14792    pub mod rg1cr {
14793        ///Reader of register RG1CR
14794        pub type R = crate::R<u32, super::RG1CR>;
14795        ///Writer for register RG1CR
14796        pub type W = crate::W<u32, super::RG1CR>;
14797        ///Register RG1CR `reset()`'s with value 0
14798        impl crate::ResetValue for super::RG1CR {
14799            type Type = u32;
14800            #[inline(always)]
14801            fn reset_value() -> Self::Type {
14802                0
14803            }
14804        }
14805        ///Reader of field `GNBREQ`
14806        pub type GNBREQ_R = crate::R<u8, u8>;
14807        ///Write proxy for field `GNBREQ`
14808        pub struct GNBREQ_W<'a> {
14809            w: &'a mut W,
14810        }
14811        impl<'a> GNBREQ_W<'a> {
14812            ///Writes raw bits to the field
14813            #[inline(always)]
14814            pub unsafe fn bits(self, value: u8) -> &'a mut W {
14815                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
14816                self.w
14817            }
14818        }
14819        ///Reader of field `GPOL`
14820        pub type GPOL_R = crate::R<u8, u8>;
14821        ///Write proxy for field `GPOL`
14822        pub struct GPOL_W<'a> {
14823            w: &'a mut W,
14824        }
14825        impl<'a> GPOL_W<'a> {
14826            ///Writes raw bits to the field
14827            #[inline(always)]
14828            pub unsafe fn bits(self, value: u8) -> &'a mut W {
14829                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
14830                self.w
14831            }
14832        }
14833        ///Reader of field `GE`
14834        pub type GE_R = crate::R<bool, bool>;
14835        ///Write proxy for field `GE`
14836        pub struct GE_W<'a> {
14837            w: &'a mut W,
14838        }
14839        impl<'a> GE_W<'a> {
14840            ///Sets the field bit
14841            #[inline(always)]
14842            pub fn set_bit(self) -> &'a mut W {
14843                self.bit(true)
14844            }
14845            ///Clears the field bit
14846            #[inline(always)]
14847            pub fn clear_bit(self) -> &'a mut W {
14848                self.bit(false)
14849            }
14850            ///Writes raw bits to the field
14851            #[inline(always)]
14852            pub fn bit(self, value: bool) -> &'a mut W {
14853                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
14854                self.w
14855            }
14856        }
14857        ///Reader of field `OIE`
14858        pub type OIE_R = crate::R<bool, bool>;
14859        ///Write proxy for field `OIE`
14860        pub struct OIE_W<'a> {
14861            w: &'a mut W,
14862        }
14863        impl<'a> OIE_W<'a> {
14864            ///Sets the field bit
14865            #[inline(always)]
14866            pub fn set_bit(self) -> &'a mut W {
14867                self.bit(true)
14868            }
14869            ///Clears the field bit
14870            #[inline(always)]
14871            pub fn clear_bit(self) -> &'a mut W {
14872                self.bit(false)
14873            }
14874            ///Writes raw bits to the field
14875            #[inline(always)]
14876            pub fn bit(self, value: bool) -> &'a mut W {
14877                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
14878                self.w
14879            }
14880        }
14881        ///Reader of field `SIG_ID`
14882        pub type SIG_ID_R = crate::R<u8, u8>;
14883        ///Write proxy for field `SIG_ID`
14884        pub struct SIG_ID_W<'a> {
14885            w: &'a mut W,
14886        }
14887        impl<'a> SIG_ID_W<'a> {
14888            ///Writes raw bits to the field
14889            #[inline(always)]
14890            pub unsafe fn bits(self, value: u8) -> &'a mut W {
14891                self.w.bits = (self.w.bits & !0x1f) | ((value as u32) & 0x1f);
14892                self.w
14893            }
14894        }
14895        impl R {
14896            ///Bits 19:23 - Number of Request
14897            #[inline(always)]
14898            pub fn gnbreq(&self) -> GNBREQ_R {
14899                GNBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
14900            }
14901            ///Bits 17:18 - Generation Polarity
14902            #[inline(always)]
14903            pub fn gpol(&self) -> GPOL_R {
14904                GPOL_R::new(((self.bits >> 17) & 0x03) as u8)
14905            }
14906            ///Bit 16 - Generation Enable
14907            #[inline(always)]
14908            pub fn ge(&self) -> GE_R {
14909                GE_R::new(((self.bits >> 16) & 0x01) != 0)
14910            }
14911            ///Bit 8 - Overrun Interrupt Enable
14912            #[inline(always)]
14913            pub fn oie(&self) -> OIE_R {
14914                OIE_R::new(((self.bits >> 8) & 0x01) != 0)
14915            }
14916            ///Bits 0:4 - Signal ID
14917            #[inline(always)]
14918            pub fn sig_id(&self) -> SIG_ID_R {
14919                SIG_ID_R::new((self.bits & 0x1f) as u8)
14920            }
14921        }
14922        impl W {
14923            ///Bits 19:23 - Number of Request
14924            #[inline(always)]
14925            pub fn gnbreq(&mut self) -> GNBREQ_W {
14926                GNBREQ_W { w: self }
14927            }
14928            ///Bits 17:18 - Generation Polarity
14929            #[inline(always)]
14930            pub fn gpol(&mut self) -> GPOL_W {
14931                GPOL_W { w: self }
14932            }
14933            ///Bit 16 - Generation Enable
14934            #[inline(always)]
14935            pub fn ge(&mut self) -> GE_W {
14936                GE_W { w: self }
14937            }
14938            ///Bit 8 - Overrun Interrupt Enable
14939            #[inline(always)]
14940            pub fn oie(&mut self) -> OIE_W {
14941                OIE_W { w: self }
14942            }
14943            ///Bits 0:4 - Signal ID
14944            #[inline(always)]
14945            pub fn sig_id(&mut self) -> SIG_ID_W {
14946                SIG_ID_W { w: self }
14947            }
14948        }
14949    }
14950    ///DMA Request Generator 2 Control Register
14951    ///
14952    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
14953    ///
14954    ///For information about available fields see [rg2cr](rg2cr) module
14955    pub type RG2CR = crate::Reg<u32, _RG2CR>;
14956    #[allow(missing_docs)]
14957    #[doc(hidden)]
14958    pub struct _RG2CR;
14959    ///`read()` method returns [rg2cr::R](rg2cr::R) reader structure
14960    impl crate::Readable for RG2CR {}
14961    ///`write(|w| ..)` method takes [rg2cr::W](rg2cr::W) writer structure
14962    impl crate::Writable for RG2CR {}
14963    ///DMA Request Generator 2 Control Register
14964    pub mod rg2cr {
14965        ///Reader of register RG2CR
14966        pub type R = crate::R<u32, super::RG2CR>;
14967        ///Writer for register RG2CR
14968        pub type W = crate::W<u32, super::RG2CR>;
14969        ///Register RG2CR `reset()`'s with value 0
14970        impl crate::ResetValue for super::RG2CR {
14971            type Type = u32;
14972            #[inline(always)]
14973            fn reset_value() -> Self::Type {
14974                0
14975            }
14976        }
14977        ///Reader of field `GNBREQ`
14978        pub type GNBREQ_R = crate::R<u8, u8>;
14979        ///Write proxy for field `GNBREQ`
14980        pub struct GNBREQ_W<'a> {
14981            w: &'a mut W,
14982        }
14983        impl<'a> GNBREQ_W<'a> {
14984            ///Writes raw bits to the field
14985            #[inline(always)]
14986            pub unsafe fn bits(self, value: u8) -> &'a mut W {
14987                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
14988                self.w
14989            }
14990        }
14991        ///Reader of field `GPOL`
14992        pub type GPOL_R = crate::R<u8, u8>;
14993        ///Write proxy for field `GPOL`
14994        pub struct GPOL_W<'a> {
14995            w: &'a mut W,
14996        }
14997        impl<'a> GPOL_W<'a> {
14998            ///Writes raw bits to the field
14999            #[inline(always)]
15000            pub unsafe fn bits(self, value: u8) -> &'a mut W {
15001                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
15002                self.w
15003            }
15004        }
15005        ///Reader of field `GE`
15006        pub type GE_R = crate::R<bool, bool>;
15007        ///Write proxy for field `GE`
15008        pub struct GE_W<'a> {
15009            w: &'a mut W,
15010        }
15011        impl<'a> GE_W<'a> {
15012            ///Sets the field bit
15013            #[inline(always)]
15014            pub fn set_bit(self) -> &'a mut W {
15015                self.bit(true)
15016            }
15017            ///Clears the field bit
15018            #[inline(always)]
15019            pub fn clear_bit(self) -> &'a mut W {
15020                self.bit(false)
15021            }
15022            ///Writes raw bits to the field
15023            #[inline(always)]
15024            pub fn bit(self, value: bool) -> &'a mut W {
15025                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
15026                self.w
15027            }
15028        }
15029        ///Reader of field `OIE`
15030        pub type OIE_R = crate::R<bool, bool>;
15031        ///Write proxy for field `OIE`
15032        pub struct OIE_W<'a> {
15033            w: &'a mut W,
15034        }
15035        impl<'a> OIE_W<'a> {
15036            ///Sets the field bit
15037            #[inline(always)]
15038            pub fn set_bit(self) -> &'a mut W {
15039                self.bit(true)
15040            }
15041            ///Clears the field bit
15042            #[inline(always)]
15043            pub fn clear_bit(self) -> &'a mut W {
15044                self.bit(false)
15045            }
15046            ///Writes raw bits to the field
15047            #[inline(always)]
15048            pub fn bit(self, value: bool) -> &'a mut W {
15049                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
15050                self.w
15051            }
15052        }
15053        ///Reader of field `SIG_ID`
15054        pub type SIG_ID_R = crate::R<u8, u8>;
15055        ///Write proxy for field `SIG_ID`
15056        pub struct SIG_ID_W<'a> {
15057            w: &'a mut W,
15058        }
15059        impl<'a> SIG_ID_W<'a> {
15060            ///Writes raw bits to the field
15061            #[inline(always)]
15062            pub unsafe fn bits(self, value: u8) -> &'a mut W {
15063                self.w.bits = (self.w.bits & !0x1f) | ((value as u32) & 0x1f);
15064                self.w
15065            }
15066        }
15067        impl R {
15068            ///Bits 19:23 - Number of Request
15069            #[inline(always)]
15070            pub fn gnbreq(&self) -> GNBREQ_R {
15071                GNBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
15072            }
15073            ///Bits 17:18 - Generation Polarity
15074            #[inline(always)]
15075            pub fn gpol(&self) -> GPOL_R {
15076                GPOL_R::new(((self.bits >> 17) & 0x03) as u8)
15077            }
15078            ///Bit 16 - Generation Enable
15079            #[inline(always)]
15080            pub fn ge(&self) -> GE_R {
15081                GE_R::new(((self.bits >> 16) & 0x01) != 0)
15082            }
15083            ///Bit 8 - Overrun Interrupt Enable
15084            #[inline(always)]
15085            pub fn oie(&self) -> OIE_R {
15086                OIE_R::new(((self.bits >> 8) & 0x01) != 0)
15087            }
15088            ///Bits 0:4 - Signal ID
15089            #[inline(always)]
15090            pub fn sig_id(&self) -> SIG_ID_R {
15091                SIG_ID_R::new((self.bits & 0x1f) as u8)
15092            }
15093        }
15094        impl W {
15095            ///Bits 19:23 - Number of Request
15096            #[inline(always)]
15097            pub fn gnbreq(&mut self) -> GNBREQ_W {
15098                GNBREQ_W { w: self }
15099            }
15100            ///Bits 17:18 - Generation Polarity
15101            #[inline(always)]
15102            pub fn gpol(&mut self) -> GPOL_W {
15103                GPOL_W { w: self }
15104            }
15105            ///Bit 16 - Generation Enable
15106            #[inline(always)]
15107            pub fn ge(&mut self) -> GE_W {
15108                GE_W { w: self }
15109            }
15110            ///Bit 8 - Overrun Interrupt Enable
15111            #[inline(always)]
15112            pub fn oie(&mut self) -> OIE_W {
15113                OIE_W { w: self }
15114            }
15115            ///Bits 0:4 - Signal ID
15116            #[inline(always)]
15117            pub fn sig_id(&mut self) -> SIG_ID_W {
15118                SIG_ID_W { w: self }
15119            }
15120        }
15121    }
15122    ///DMA Request Generator 3 Control Register
15123    ///
15124    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
15125    ///
15126    ///For information about available fields see [rg3cr](rg3cr) module
15127    pub type RG3CR = crate::Reg<u32, _RG3CR>;
15128    #[allow(missing_docs)]
15129    #[doc(hidden)]
15130    pub struct _RG3CR;
15131    ///`read()` method returns [rg3cr::R](rg3cr::R) reader structure
15132    impl crate::Readable for RG3CR {}
15133    ///`write(|w| ..)` method takes [rg3cr::W](rg3cr::W) writer structure
15134    impl crate::Writable for RG3CR {}
15135    ///DMA Request Generator 3 Control Register
15136    pub mod rg3cr {
15137        ///Reader of register RG3CR
15138        pub type R = crate::R<u32, super::RG3CR>;
15139        ///Writer for register RG3CR
15140        pub type W = crate::W<u32, super::RG3CR>;
15141        ///Register RG3CR `reset()`'s with value 0
15142        impl crate::ResetValue for super::RG3CR {
15143            type Type = u32;
15144            #[inline(always)]
15145            fn reset_value() -> Self::Type {
15146                0
15147            }
15148        }
15149        ///Reader of field `GNBREQ`
15150        pub type GNBREQ_R = crate::R<u8, u8>;
15151        ///Write proxy for field `GNBREQ`
15152        pub struct GNBREQ_W<'a> {
15153            w: &'a mut W,
15154        }
15155        impl<'a> GNBREQ_W<'a> {
15156            ///Writes raw bits to the field
15157            #[inline(always)]
15158            pub unsafe fn bits(self, value: u8) -> &'a mut W {
15159                self.w.bits = (self.w.bits & !(0x1f << 19)) | (((value as u32) & 0x1f) << 19);
15160                self.w
15161            }
15162        }
15163        ///Reader of field `GPOL`
15164        pub type GPOL_R = crate::R<u8, u8>;
15165        ///Write proxy for field `GPOL`
15166        pub struct GPOL_W<'a> {
15167            w: &'a mut W,
15168        }
15169        impl<'a> GPOL_W<'a> {
15170            ///Writes raw bits to the field
15171            #[inline(always)]
15172            pub unsafe fn bits(self, value: u8) -> &'a mut W {
15173                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
15174                self.w
15175            }
15176        }
15177        ///Reader of field `GE`
15178        pub type GE_R = crate::R<bool, bool>;
15179        ///Write proxy for field `GE`
15180        pub struct GE_W<'a> {
15181            w: &'a mut W,
15182        }
15183        impl<'a> GE_W<'a> {
15184            ///Sets the field bit
15185            #[inline(always)]
15186            pub fn set_bit(self) -> &'a mut W {
15187                self.bit(true)
15188            }
15189            ///Clears the field bit
15190            #[inline(always)]
15191            pub fn clear_bit(self) -> &'a mut W {
15192                self.bit(false)
15193            }
15194            ///Writes raw bits to the field
15195            #[inline(always)]
15196            pub fn bit(self, value: bool) -> &'a mut W {
15197                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
15198                self.w
15199            }
15200        }
15201        ///Reader of field `OIE`
15202        pub type OIE_R = crate::R<bool, bool>;
15203        ///Write proxy for field `OIE`
15204        pub struct OIE_W<'a> {
15205            w: &'a mut W,
15206        }
15207        impl<'a> OIE_W<'a> {
15208            ///Sets the field bit
15209            #[inline(always)]
15210            pub fn set_bit(self) -> &'a mut W {
15211                self.bit(true)
15212            }
15213            ///Clears the field bit
15214            #[inline(always)]
15215            pub fn clear_bit(self) -> &'a mut W {
15216                self.bit(false)
15217            }
15218            ///Writes raw bits to the field
15219            #[inline(always)]
15220            pub fn bit(self, value: bool) -> &'a mut W {
15221                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
15222                self.w
15223            }
15224        }
15225        ///Reader of field `SIG_ID`
15226        pub type SIG_ID_R = crate::R<u8, u8>;
15227        ///Write proxy for field `SIG_ID`
15228        pub struct SIG_ID_W<'a> {
15229            w: &'a mut W,
15230        }
15231        impl<'a> SIG_ID_W<'a> {
15232            ///Writes raw bits to the field
15233            #[inline(always)]
15234            pub unsafe fn bits(self, value: u8) -> &'a mut W {
15235                self.w.bits = (self.w.bits & !0x1f) | ((value as u32) & 0x1f);
15236                self.w
15237            }
15238        }
15239        impl R {
15240            ///Bits 19:23 - Number of Request
15241            #[inline(always)]
15242            pub fn gnbreq(&self) -> GNBREQ_R {
15243                GNBREQ_R::new(((self.bits >> 19) & 0x1f) as u8)
15244            }
15245            ///Bits 17:18 - Generation Polarity
15246            #[inline(always)]
15247            pub fn gpol(&self) -> GPOL_R {
15248                GPOL_R::new(((self.bits >> 17) & 0x03) as u8)
15249            }
15250            ///Bit 16 - Generation Enable
15251            #[inline(always)]
15252            pub fn ge(&self) -> GE_R {
15253                GE_R::new(((self.bits >> 16) & 0x01) != 0)
15254            }
15255            ///Bit 8 - Overrun Interrupt Enable
15256            #[inline(always)]
15257            pub fn oie(&self) -> OIE_R {
15258                OIE_R::new(((self.bits >> 8) & 0x01) != 0)
15259            }
15260            ///Bits 0:4 - Signal ID
15261            #[inline(always)]
15262            pub fn sig_id(&self) -> SIG_ID_R {
15263                SIG_ID_R::new((self.bits & 0x1f) as u8)
15264            }
15265        }
15266        impl W {
15267            ///Bits 19:23 - Number of Request
15268            #[inline(always)]
15269            pub fn gnbreq(&mut self) -> GNBREQ_W {
15270                GNBREQ_W { w: self }
15271            }
15272            ///Bits 17:18 - Generation Polarity
15273            #[inline(always)]
15274            pub fn gpol(&mut self) -> GPOL_W {
15275                GPOL_W { w: self }
15276            }
15277            ///Bit 16 - Generation Enable
15278            #[inline(always)]
15279            pub fn ge(&mut self) -> GE_W {
15280                GE_W { w: self }
15281            }
15282            ///Bit 8 - Overrun Interrupt Enable
15283            #[inline(always)]
15284            pub fn oie(&mut self) -> OIE_W {
15285                OIE_W { w: self }
15286            }
15287            ///Bits 0:4 - Signal ID
15288            #[inline(always)]
15289            pub fn sig_id(&mut self) -> SIG_ID_W {
15290                SIG_ID_W { w: self }
15291            }
15292        }
15293    }
15294    ///DMA Request Generator Status Register
15295    ///
15296    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
15297    ///
15298    ///For information about available fields see [rgsr](rgsr) module
15299    pub type RGSR = crate::Reg<u32, _RGSR>;
15300    #[allow(missing_docs)]
15301    #[doc(hidden)]
15302    pub struct _RGSR;
15303    ///`read()` method returns [rgsr::R](rgsr::R) reader structure
15304    impl crate::Readable for RGSR {}
15305    ///DMA Request Generator Status Register
15306    pub mod rgsr {
15307        ///Reader of register RGSR
15308        pub type R = crate::R<u32, super::RGSR>;
15309        ///Reader of field `OF0`
15310        pub type OF0_R = crate::R<bool, bool>;
15311        ///Reader of field `OF1`
15312        pub type OF1_R = crate::R<bool, bool>;
15313        ///Reader of field `OF2`
15314        pub type OF2_R = crate::R<bool, bool>;
15315        ///Reader of field `OF3`
15316        pub type OF3_R = crate::R<bool, bool>;
15317        impl R {
15318            ///Bit 0 - Generator Overrun Flag 0
15319            #[inline(always)]
15320            pub fn of0(&self) -> OF0_R {
15321                OF0_R::new((self.bits & 0x01) != 0)
15322            }
15323            ///Bit 1 - Generator Overrun Flag 1
15324            #[inline(always)]
15325            pub fn of1(&self) -> OF1_R {
15326                OF1_R::new(((self.bits >> 1) & 0x01) != 0)
15327            }
15328            ///Bit 2 - Generator Overrun Flag 2
15329            #[inline(always)]
15330            pub fn of2(&self) -> OF2_R {
15331                OF2_R::new(((self.bits >> 2) & 0x01) != 0)
15332            }
15333            ///Bit 3 - Generator Overrun Flag 3
15334            #[inline(always)]
15335            pub fn of3(&self) -> OF3_R {
15336                OF3_R::new(((self.bits >> 3) & 0x01) != 0)
15337            }
15338        }
15339    }
15340    ///DMA Request Generator Clear Flag Register
15341    ///
15342    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
15343    ///
15344    ///For information about available fields see [rgcfr](rgcfr) module
15345    pub type RGCFR = crate::Reg<u32, _RGCFR>;
15346    #[allow(missing_docs)]
15347    #[doc(hidden)]
15348    pub struct _RGCFR;
15349    ///`read()` method returns [rgcfr::R](rgcfr::R) reader structure
15350    impl crate::Readable for RGCFR {}
15351    ///DMA Request Generator Clear Flag Register
15352    pub mod rgcfr {
15353        ///Reader of register RGCFR
15354        pub type R = crate::R<u32, super::RGCFR>;
15355        ///Reader of field `CSOF0`
15356        pub type CSOF0_R = crate::R<bool, bool>;
15357        ///Reader of field `CSOF1`
15358        pub type CSOF1_R = crate::R<bool, bool>;
15359        ///Reader of field `CSOF2`
15360        pub type CSOF2_R = crate::R<bool, bool>;
15361        ///Reader of field `CSOF3`
15362        pub type CSOF3_R = crate::R<bool, bool>;
15363        impl R {
15364            ///Bit 0 - Generator Clear Overrun Flag 0
15365            #[inline(always)]
15366            pub fn csof0(&self) -> CSOF0_R {
15367                CSOF0_R::new((self.bits & 0x01) != 0)
15368            }
15369            ///Bit 1 - Generator Clear Overrun Flag 1
15370            #[inline(always)]
15371            pub fn csof1(&self) -> CSOF1_R {
15372                CSOF1_R::new(((self.bits >> 1) & 0x01) != 0)
15373            }
15374            ///Bit 2 - Generator Clear Overrun Flag 2
15375            #[inline(always)]
15376            pub fn csof2(&self) -> CSOF2_R {
15377                CSOF2_R::new(((self.bits >> 2) & 0x01) != 0)
15378            }
15379            ///Bit 3 - Generator Clear Overrun Flag 3
15380            #[inline(always)]
15381            pub fn csof3(&self) -> CSOF3_R {
15382                CSOF3_R::new(((self.bits >> 3) & 0x01) != 0)
15383            }
15384        }
15385    }
15386}
15387///Cyclic redundancy check calculation unit
15388pub struct CRC {
15389    _marker: PhantomData<*const ()>,
15390}
15391unsafe impl Send for CRC {}
15392impl CRC {
15393    ///Returns a pointer to the register block
15394    #[inline(always)]
15395    pub const fn ptr() -> *const crc::RegisterBlock {
15396        0x4002_3000 as *const _
15397    }
15398}
15399impl Deref for CRC {
15400    type Target = crc::RegisterBlock;
15401    #[inline(always)]
15402    fn deref(&self) -> &Self::Target {
15403        unsafe { &*CRC::ptr() }
15404    }
15405}
15406///Cyclic redundancy check calculation unit
15407pub mod crc {
15408    ///Register block
15409    #[repr(C)]
15410    pub struct RegisterBlock {
15411        ///0x00 - Data register
15412        pub dr: DR,
15413        ///0x04 - Independent data register
15414        pub idr: IDR,
15415        ///0x08 - Control register
15416        pub cr: CR,
15417        _reserved3: [u8; 4usize],
15418        ///0x10 - Initial CRC value
15419        pub init: INIT,
15420        ///0x14 - polynomial
15421        pub pol: POL,
15422    }
15423    ///Data register
15424    ///
15425    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
15426    ///
15427    ///For information about available fields see [dr](dr) module
15428    pub type DR = crate::Reg<u32, _DR>;
15429    #[allow(missing_docs)]
15430    #[doc(hidden)]
15431    pub struct _DR;
15432    ///`read()` method returns [dr::R](dr::R) reader structure
15433    impl crate::Readable for DR {}
15434    ///`write(|w| ..)` method takes [dr::W](dr::W) writer structure
15435    impl crate::Writable for DR {}
15436    ///Data register
15437    pub mod dr {
15438        ///Reader of register DR
15439        pub type R = crate::R<u32, super::DR>;
15440        ///Writer for register DR
15441        pub type W = crate::W<u32, super::DR>;
15442        ///Register DR `reset()`'s with value 0xffff_ffff
15443        impl crate::ResetValue for super::DR {
15444            type Type = u32;
15445            #[inline(always)]
15446            fn reset_value() -> Self::Type {
15447                0xffff_ffff
15448            }
15449        }
15450        ///Reader of field `DR`
15451        pub type DR_R = crate::R<u32, u32>;
15452        ///Write proxy for field `DR`
15453        pub struct DR_W<'a> {
15454            w: &'a mut W,
15455        }
15456        impl<'a> DR_W<'a> {
15457            ///Writes raw bits to the field
15458            #[inline(always)]
15459            pub unsafe fn bits(self, value: u32) -> &'a mut W {
15460                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
15461                self.w
15462            }
15463        }
15464        impl R {
15465            ///Bits 0:31 - Data register bits
15466            #[inline(always)]
15467            pub fn dr(&self) -> DR_R {
15468                DR_R::new((self.bits & 0xffff_ffff) as u32)
15469            }
15470        }
15471        impl W {
15472            ///Bits 0:31 - Data register bits
15473            #[inline(always)]
15474            pub fn dr(&mut self) -> DR_W {
15475                DR_W { w: self }
15476            }
15477        }
15478    }
15479    ///Independent data register
15480    ///
15481    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
15482    ///
15483    ///For information about available fields see [idr](idr) module
15484    pub type IDR = crate::Reg<u32, _IDR>;
15485    #[allow(missing_docs)]
15486    #[doc(hidden)]
15487    pub struct _IDR;
15488    ///`read()` method returns [idr::R](idr::R) reader structure
15489    impl crate::Readable for IDR {}
15490    ///`write(|w| ..)` method takes [idr::W](idr::W) writer structure
15491    impl crate::Writable for IDR {}
15492    ///Independent data register
15493    pub mod idr {
15494        ///Reader of register IDR
15495        pub type R = crate::R<u32, super::IDR>;
15496        ///Writer for register IDR
15497        pub type W = crate::W<u32, super::IDR>;
15498        ///Register IDR `reset()`'s with value 0
15499        impl crate::ResetValue for super::IDR {
15500            type Type = u32;
15501            #[inline(always)]
15502            fn reset_value() -> Self::Type {
15503                0
15504            }
15505        }
15506        ///Reader of field `IDR`
15507        pub type IDR_R = crate::R<u32, u32>;
15508        ///Write proxy for field `IDR`
15509        pub struct IDR_W<'a> {
15510            w: &'a mut W,
15511        }
15512        impl<'a> IDR_W<'a> {
15513            ///Writes raw bits to the field
15514            #[inline(always)]
15515            pub unsafe fn bits(self, value: u32) -> &'a mut W {
15516                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
15517                self.w
15518            }
15519        }
15520        impl R {
15521            ///Bits 0:31 - General-purpose 32-bit data register bits
15522            #[inline(always)]
15523            pub fn idr(&self) -> IDR_R {
15524                IDR_R::new((self.bits & 0xffff_ffff) as u32)
15525            }
15526        }
15527        impl W {
15528            ///Bits 0:31 - General-purpose 32-bit data register bits
15529            #[inline(always)]
15530            pub fn idr(&mut self) -> IDR_W {
15531                IDR_W { w: self }
15532            }
15533        }
15534    }
15535    ///Control register
15536    ///
15537    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
15538    ///
15539    ///For information about available fields see [cr](cr) module
15540    pub type CR = crate::Reg<u32, _CR>;
15541    #[allow(missing_docs)]
15542    #[doc(hidden)]
15543    pub struct _CR;
15544    ///`read()` method returns [cr::R](cr::R) reader structure
15545    impl crate::Readable for CR {}
15546    ///`write(|w| ..)` method takes [cr::W](cr::W) writer structure
15547    impl crate::Writable for CR {}
15548    ///Control register
15549    pub mod cr {
15550        ///Reader of register CR
15551        pub type R = crate::R<u32, super::CR>;
15552        ///Writer for register CR
15553        pub type W = crate::W<u32, super::CR>;
15554        ///Register CR `reset()`'s with value 0
15555        impl crate::ResetValue for super::CR {
15556            type Type = u32;
15557            #[inline(always)]
15558            fn reset_value() -> Self::Type {
15559                0
15560            }
15561        }
15562        ///Reader of field `REV_OUT`
15563        pub type REV_OUT_R = crate::R<bool, bool>;
15564        ///Write proxy for field `REV_OUT`
15565        pub struct REV_OUT_W<'a> {
15566            w: &'a mut W,
15567        }
15568        impl<'a> REV_OUT_W<'a> {
15569            ///Sets the field bit
15570            #[inline(always)]
15571            pub fn set_bit(self) -> &'a mut W {
15572                self.bit(true)
15573            }
15574            ///Clears the field bit
15575            #[inline(always)]
15576            pub fn clear_bit(self) -> &'a mut W {
15577                self.bit(false)
15578            }
15579            ///Writes raw bits to the field
15580            #[inline(always)]
15581            pub fn bit(self, value: bool) -> &'a mut W {
15582                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
15583                self.w
15584            }
15585        }
15586        ///Reader of field `REV_IN`
15587        pub type REV_IN_R = crate::R<u8, u8>;
15588        ///Write proxy for field `REV_IN`
15589        pub struct REV_IN_W<'a> {
15590            w: &'a mut W,
15591        }
15592        impl<'a> REV_IN_W<'a> {
15593            ///Writes raw bits to the field
15594            #[inline(always)]
15595            pub unsafe fn bits(self, value: u8) -> &'a mut W {
15596                self.w.bits = (self.w.bits & !(0x03 << 5)) | (((value as u32) & 0x03) << 5);
15597                self.w
15598            }
15599        }
15600        ///Reader of field `POLYSIZE`
15601        pub type POLYSIZE_R = crate::R<u8, u8>;
15602        ///Write proxy for field `POLYSIZE`
15603        pub struct POLYSIZE_W<'a> {
15604            w: &'a mut W,
15605        }
15606        impl<'a> POLYSIZE_W<'a> {
15607            ///Writes raw bits to the field
15608            #[inline(always)]
15609            pub unsafe fn bits(self, value: u8) -> &'a mut W {
15610                self.w.bits = (self.w.bits & !(0x03 << 3)) | (((value as u32) & 0x03) << 3);
15611                self.w
15612            }
15613        }
15614        ///Reader of field `RESET`
15615        pub type RESET_R = crate::R<bool, bool>;
15616        ///Write proxy for field `RESET`
15617        pub struct RESET_W<'a> {
15618            w: &'a mut W,
15619        }
15620        impl<'a> RESET_W<'a> {
15621            ///Sets the field bit
15622            #[inline(always)]
15623            pub fn set_bit(self) -> &'a mut W {
15624                self.bit(true)
15625            }
15626            ///Clears the field bit
15627            #[inline(always)]
15628            pub fn clear_bit(self) -> &'a mut W {
15629                self.bit(false)
15630            }
15631            ///Writes raw bits to the field
15632            #[inline(always)]
15633            pub fn bit(self, value: bool) -> &'a mut W {
15634                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
15635                self.w
15636            }
15637        }
15638        impl R {
15639            ///Bit 7 - Reverse output data
15640            #[inline(always)]
15641            pub fn rev_out(&self) -> REV_OUT_R {
15642                REV_OUT_R::new(((self.bits >> 7) & 0x01) != 0)
15643            }
15644            ///Bits 5:6 - Reverse input data
15645            #[inline(always)]
15646            pub fn rev_in(&self) -> REV_IN_R {
15647                REV_IN_R::new(((self.bits >> 5) & 0x03) as u8)
15648            }
15649            ///Bits 3:4 - Polynomial size
15650            #[inline(always)]
15651            pub fn polysize(&self) -> POLYSIZE_R {
15652                POLYSIZE_R::new(((self.bits >> 3) & 0x03) as u8)
15653            }
15654            ///Bit 0 - RESET bit
15655            #[inline(always)]
15656            pub fn reset(&self) -> RESET_R {
15657                RESET_R::new((self.bits & 0x01) != 0)
15658            }
15659        }
15660        impl W {
15661            ///Bit 7 - Reverse output data
15662            #[inline(always)]
15663            pub fn rev_out(&mut self) -> REV_OUT_W {
15664                REV_OUT_W { w: self }
15665            }
15666            ///Bits 5:6 - Reverse input data
15667            #[inline(always)]
15668            pub fn rev_in(&mut self) -> REV_IN_W {
15669                REV_IN_W { w: self }
15670            }
15671            ///Bits 3:4 - Polynomial size
15672            #[inline(always)]
15673            pub fn polysize(&mut self) -> POLYSIZE_W {
15674                POLYSIZE_W { w: self }
15675            }
15676            ///Bit 0 - RESET bit
15677            #[inline(always)]
15678            pub fn reset(&mut self) -> RESET_W {
15679                RESET_W { w: self }
15680            }
15681        }
15682    }
15683    ///Initial CRC value
15684    ///
15685    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
15686    ///
15687    ///For information about available fields see [init](init) module
15688    pub type INIT = crate::Reg<u32, _INIT>;
15689    #[allow(missing_docs)]
15690    #[doc(hidden)]
15691    pub struct _INIT;
15692    ///`read()` method returns [init::R](init::R) reader structure
15693    impl crate::Readable for INIT {}
15694    ///`write(|w| ..)` method takes [init::W](init::W) writer structure
15695    impl crate::Writable for INIT {}
15696    ///Initial CRC value
15697    pub mod init {
15698        ///Reader of register INIT
15699        pub type R = crate::R<u32, super::INIT>;
15700        ///Writer for register INIT
15701        pub type W = crate::W<u32, super::INIT>;
15702        ///Register INIT `reset()`'s with value 0xffff_ffff
15703        impl crate::ResetValue for super::INIT {
15704            type Type = u32;
15705            #[inline(always)]
15706            fn reset_value() -> Self::Type {
15707                0xffff_ffff
15708            }
15709        }
15710        ///Reader of field `CRC_INIT`
15711        pub type CRC_INIT_R = crate::R<u32, u32>;
15712        ///Write proxy for field `CRC_INIT`
15713        pub struct CRC_INIT_W<'a> {
15714            w: &'a mut W,
15715        }
15716        impl<'a> CRC_INIT_W<'a> {
15717            ///Writes raw bits to the field
15718            #[inline(always)]
15719            pub unsafe fn bits(self, value: u32) -> &'a mut W {
15720                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
15721                self.w
15722            }
15723        }
15724        impl R {
15725            ///Bits 0:31 - Programmable initial CRC value
15726            #[inline(always)]
15727            pub fn crc_init(&self) -> CRC_INIT_R {
15728                CRC_INIT_R::new((self.bits & 0xffff_ffff) as u32)
15729            }
15730        }
15731        impl W {
15732            ///Bits 0:31 - Programmable initial CRC value
15733            #[inline(always)]
15734            pub fn crc_init(&mut self) -> CRC_INIT_W {
15735                CRC_INIT_W { w: self }
15736            }
15737        }
15738    }
15739    ///polynomial
15740    ///
15741    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
15742    ///
15743    ///For information about available fields see [pol](pol) module
15744    pub type POL = crate::Reg<u32, _POL>;
15745    #[allow(missing_docs)]
15746    #[doc(hidden)]
15747    pub struct _POL;
15748    ///`read()` method returns [pol::R](pol::R) reader structure
15749    impl crate::Readable for POL {}
15750    ///`write(|w| ..)` method takes [pol::W](pol::W) writer structure
15751    impl crate::Writable for POL {}
15752    ///polynomial
15753    pub mod pol {
15754        ///Reader of register POL
15755        pub type R = crate::R<u32, super::POL>;
15756        ///Writer for register POL
15757        pub type W = crate::W<u32, super::POL>;
15758        ///Register POL `reset()`'s with value 0x04c1_1db7
15759        impl crate::ResetValue for super::POL {
15760            type Type = u32;
15761            #[inline(always)]
15762            fn reset_value() -> Self::Type {
15763                0x04c1_1db7
15764            }
15765        }
15766        ///Reader of field `POL`
15767        pub type POL_R = crate::R<u32, u32>;
15768        ///Write proxy for field `POL`
15769        pub struct POL_W<'a> {
15770            w: &'a mut W,
15771        }
15772        impl<'a> POL_W<'a> {
15773            ///Writes raw bits to the field
15774            #[inline(always)]
15775            pub unsafe fn bits(self, value: u32) -> &'a mut W {
15776                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
15777                self.w
15778            }
15779        }
15780        impl R {
15781            ///Bits 0:31 - Programmable polynomial
15782            #[inline(always)]
15783            pub fn pol(&self) -> POL_R {
15784                POL_R::new((self.bits & 0xffff_ffff) as u32)
15785            }
15786        }
15787        impl W {
15788            ///Bits 0:31 - Programmable polynomial
15789            #[inline(always)]
15790            pub fn pol(&mut self) -> POL_W {
15791                POL_W { w: self }
15792            }
15793        }
15794    }
15795}
15796///Liquid crystal display controller
15797pub struct LCD {
15798    _marker: PhantomData<*const ()>,
15799}
15800unsafe impl Send for LCD {}
15801impl LCD {
15802    ///Returns a pointer to the register block
15803    #[inline(always)]
15804    pub const fn ptr() -> *const lcd::RegisterBlock {
15805        0x4000_2400 as *const _
15806    }
15807}
15808impl Deref for LCD {
15809    type Target = lcd::RegisterBlock;
15810    #[inline(always)]
15811    fn deref(&self) -> &Self::Target {
15812        unsafe { &*LCD::ptr() }
15813    }
15814}
15815///Liquid crystal display controller
15816pub mod lcd {
15817    ///Register block
15818    #[repr(C)]
15819    pub struct RegisterBlock {
15820        ///0x00 - control register
15821        pub cr: CR,
15822        ///0x04 - frame control register
15823        pub fcr: FCR,
15824        ///0x08 - status register
15825        pub sr: SR,
15826        ///0x0c - clear register
15827        pub clr: CLR,
15828        _reserved4: [u8; 4usize],
15829        ///0x14 - display memory
15830        pub ram_com0: RAM_COM0,
15831        _reserved5: [u8; 4usize],
15832        ///0x1c - display memory
15833        pub ram_com1: RAM_COM1,
15834        _reserved6: [u8; 4usize],
15835        ///0x24 - display memory
15836        pub ram_com2: RAM_COM2,
15837        _reserved7: [u8; 4usize],
15838        ///0x2c - display memory
15839        pub ram_com3: RAM_COM3,
15840        _reserved8: [u8; 4usize],
15841        ///0x34 - display memory
15842        pub ram_com4: RAM_COM4,
15843        _reserved9: [u8; 4usize],
15844        ///0x3c - display memory
15845        pub ram_com5: RAM_COM5,
15846        _reserved10: [u8; 4usize],
15847        ///0x44 - display memory
15848        pub ram_com6: RAM_COM6,
15849        _reserved11: [u8; 4usize],
15850        ///0x4c - display memory
15851        pub ram_com7: RAM_COM7,
15852    }
15853    ///control register
15854    ///
15855    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
15856    ///
15857    ///For information about available fields see [cr](cr) module
15858    pub type CR = crate::Reg<u32, _CR>;
15859    #[allow(missing_docs)]
15860    #[doc(hidden)]
15861    pub struct _CR;
15862    ///`read()` method returns [cr::R](cr::R) reader structure
15863    impl crate::Readable for CR {}
15864    ///`write(|w| ..)` method takes [cr::W](cr::W) writer structure
15865    impl crate::Writable for CR {}
15866    ///control register
15867    pub mod cr {
15868        ///Reader of register CR
15869        pub type R = crate::R<u32, super::CR>;
15870        ///Writer for register CR
15871        pub type W = crate::W<u32, super::CR>;
15872        ///Register CR `reset()`'s with value 0
15873        impl crate::ResetValue for super::CR {
15874            type Type = u32;
15875            #[inline(always)]
15876            fn reset_value() -> Self::Type {
15877                0
15878            }
15879        }
15880        ///Reader of field `BIAS`
15881        pub type BIAS_R = crate::R<u8, u8>;
15882        ///Write proxy for field `BIAS`
15883        pub struct BIAS_W<'a> {
15884            w: &'a mut W,
15885        }
15886        impl<'a> BIAS_W<'a> {
15887            ///Writes raw bits to the field
15888            #[inline(always)]
15889            pub unsafe fn bits(self, value: u8) -> &'a mut W {
15890                self.w.bits = (self.w.bits & !(0x03 << 5)) | (((value as u32) & 0x03) << 5);
15891                self.w
15892            }
15893        }
15894        ///Reader of field `DUTY`
15895        pub type DUTY_R = crate::R<u8, u8>;
15896        ///Write proxy for field `DUTY`
15897        pub struct DUTY_W<'a> {
15898            w: &'a mut W,
15899        }
15900        impl<'a> DUTY_W<'a> {
15901            ///Writes raw bits to the field
15902            #[inline(always)]
15903            pub unsafe fn bits(self, value: u8) -> &'a mut W {
15904                self.w.bits = (self.w.bits & !(0x07 << 2)) | (((value as u32) & 0x07) << 2);
15905                self.w
15906            }
15907        }
15908        ///Reader of field `VSEL`
15909        pub type VSEL_R = crate::R<bool, bool>;
15910        ///Write proxy for field `VSEL`
15911        pub struct VSEL_W<'a> {
15912            w: &'a mut W,
15913        }
15914        impl<'a> VSEL_W<'a> {
15915            ///Sets the field bit
15916            #[inline(always)]
15917            pub fn set_bit(self) -> &'a mut W {
15918                self.bit(true)
15919            }
15920            ///Clears the field bit
15921            #[inline(always)]
15922            pub fn clear_bit(self) -> &'a mut W {
15923                self.bit(false)
15924            }
15925            ///Writes raw bits to the field
15926            #[inline(always)]
15927            pub fn bit(self, value: bool) -> &'a mut W {
15928                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
15929                self.w
15930            }
15931        }
15932        ///Reader of field `LCDEN`
15933        pub type LCDEN_R = crate::R<bool, bool>;
15934        ///Write proxy for field `LCDEN`
15935        pub struct LCDEN_W<'a> {
15936            w: &'a mut W,
15937        }
15938        impl<'a> LCDEN_W<'a> {
15939            ///Sets the field bit
15940            #[inline(always)]
15941            pub fn set_bit(self) -> &'a mut W {
15942                self.bit(true)
15943            }
15944            ///Clears the field bit
15945            #[inline(always)]
15946            pub fn clear_bit(self) -> &'a mut W {
15947                self.bit(false)
15948            }
15949            ///Writes raw bits to the field
15950            #[inline(always)]
15951            pub fn bit(self, value: bool) -> &'a mut W {
15952                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
15953                self.w
15954            }
15955        }
15956        ///Reader of field `MUX_SEG`
15957        pub type MUX_SEG_R = crate::R<bool, bool>;
15958        ///Write proxy for field `MUX_SEG`
15959        pub struct MUX_SEG_W<'a> {
15960            w: &'a mut W,
15961        }
15962        impl<'a> MUX_SEG_W<'a> {
15963            ///Sets the field bit
15964            #[inline(always)]
15965            pub fn set_bit(self) -> &'a mut W {
15966                self.bit(true)
15967            }
15968            ///Clears the field bit
15969            #[inline(always)]
15970            pub fn clear_bit(self) -> &'a mut W {
15971                self.bit(false)
15972            }
15973            ///Writes raw bits to the field
15974            #[inline(always)]
15975            pub fn bit(self, value: bool) -> &'a mut W {
15976                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
15977                self.w
15978            }
15979        }
15980        ///Reader of field `BUFEN`
15981        pub type BUFEN_R = crate::R<bool, bool>;
15982        ///Write proxy for field `BUFEN`
15983        pub struct BUFEN_W<'a> {
15984            w: &'a mut W,
15985        }
15986        impl<'a> BUFEN_W<'a> {
15987            ///Sets the field bit
15988            #[inline(always)]
15989            pub fn set_bit(self) -> &'a mut W {
15990                self.bit(true)
15991            }
15992            ///Clears the field bit
15993            #[inline(always)]
15994            pub fn clear_bit(self) -> &'a mut W {
15995                self.bit(false)
15996            }
15997            ///Writes raw bits to the field
15998            #[inline(always)]
15999            pub fn bit(self, value: bool) -> &'a mut W {
16000                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
16001                self.w
16002            }
16003        }
16004        impl R {
16005            ///Bits 5:6 - Bias selector
16006            #[inline(always)]
16007            pub fn bias(&self) -> BIAS_R {
16008                BIAS_R::new(((self.bits >> 5) & 0x03) as u8)
16009            }
16010            ///Bits 2:4 - Duty selection
16011            #[inline(always)]
16012            pub fn duty(&self) -> DUTY_R {
16013                DUTY_R::new(((self.bits >> 2) & 0x07) as u8)
16014            }
16015            ///Bit 1 - Voltage source selection
16016            #[inline(always)]
16017            pub fn vsel(&self) -> VSEL_R {
16018                VSEL_R::new(((self.bits >> 1) & 0x01) != 0)
16019            }
16020            ///Bit 0 - LCD controller enable
16021            #[inline(always)]
16022            pub fn lcden(&self) -> LCDEN_R {
16023                LCDEN_R::new((self.bits & 0x01) != 0)
16024            }
16025            ///Bit 7 - Mux segment enable
16026            #[inline(always)]
16027            pub fn mux_seg(&self) -> MUX_SEG_R {
16028                MUX_SEG_R::new(((self.bits >> 7) & 0x01) != 0)
16029            }
16030            ///Bit 8 - Voltage output buffer enable
16031            #[inline(always)]
16032            pub fn bufen(&self) -> BUFEN_R {
16033                BUFEN_R::new(((self.bits >> 8) & 0x01) != 0)
16034            }
16035        }
16036        impl W {
16037            ///Bits 5:6 - Bias selector
16038            #[inline(always)]
16039            pub fn bias(&mut self) -> BIAS_W {
16040                BIAS_W { w: self }
16041            }
16042            ///Bits 2:4 - Duty selection
16043            #[inline(always)]
16044            pub fn duty(&mut self) -> DUTY_W {
16045                DUTY_W { w: self }
16046            }
16047            ///Bit 1 - Voltage source selection
16048            #[inline(always)]
16049            pub fn vsel(&mut self) -> VSEL_W {
16050                VSEL_W { w: self }
16051            }
16052            ///Bit 0 - LCD controller enable
16053            #[inline(always)]
16054            pub fn lcden(&mut self) -> LCDEN_W {
16055                LCDEN_W { w: self }
16056            }
16057            ///Bit 7 - Mux segment enable
16058            #[inline(always)]
16059            pub fn mux_seg(&mut self) -> MUX_SEG_W {
16060                MUX_SEG_W { w: self }
16061            }
16062            ///Bit 8 - Voltage output buffer enable
16063            #[inline(always)]
16064            pub fn bufen(&mut self) -> BUFEN_W {
16065                BUFEN_W { w: self }
16066            }
16067        }
16068    }
16069    ///frame control register
16070    ///
16071    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
16072    ///
16073    ///For information about available fields see [fcr](fcr) module
16074    pub type FCR = crate::Reg<u32, _FCR>;
16075    #[allow(missing_docs)]
16076    #[doc(hidden)]
16077    pub struct _FCR;
16078    ///`read()` method returns [fcr::R](fcr::R) reader structure
16079    impl crate::Readable for FCR {}
16080    ///`write(|w| ..)` method takes [fcr::W](fcr::W) writer structure
16081    impl crate::Writable for FCR {}
16082    ///frame control register
16083    pub mod fcr {
16084        ///Reader of register FCR
16085        pub type R = crate::R<u32, super::FCR>;
16086        ///Writer for register FCR
16087        pub type W = crate::W<u32, super::FCR>;
16088        ///Register FCR `reset()`'s with value 0
16089        impl crate::ResetValue for super::FCR {
16090            type Type = u32;
16091            #[inline(always)]
16092            fn reset_value() -> Self::Type {
16093                0
16094            }
16095        }
16096        ///Reader of field `PS`
16097        pub type PS_R = crate::R<u8, u8>;
16098        ///Write proxy for field `PS`
16099        pub struct PS_W<'a> {
16100            w: &'a mut W,
16101        }
16102        impl<'a> PS_W<'a> {
16103            ///Writes raw bits to the field
16104            #[inline(always)]
16105            pub unsafe fn bits(self, value: u8) -> &'a mut W {
16106                self.w.bits = (self.w.bits & !(0x0f << 22)) | (((value as u32) & 0x0f) << 22);
16107                self.w
16108            }
16109        }
16110        ///Reader of field `DIV`
16111        pub type DIV_R = crate::R<u8, u8>;
16112        ///Write proxy for field `DIV`
16113        pub struct DIV_W<'a> {
16114            w: &'a mut W,
16115        }
16116        impl<'a> DIV_W<'a> {
16117            ///Writes raw bits to the field
16118            #[inline(always)]
16119            pub unsafe fn bits(self, value: u8) -> &'a mut W {
16120                self.w.bits = (self.w.bits & !(0x0f << 18)) | (((value as u32) & 0x0f) << 18);
16121                self.w
16122            }
16123        }
16124        ///Reader of field `BLINK`
16125        pub type BLINK_R = crate::R<u8, u8>;
16126        ///Write proxy for field `BLINK`
16127        pub struct BLINK_W<'a> {
16128            w: &'a mut W,
16129        }
16130        impl<'a> BLINK_W<'a> {
16131            ///Writes raw bits to the field
16132            #[inline(always)]
16133            pub unsafe fn bits(self, value: u8) -> &'a mut W {
16134                self.w.bits = (self.w.bits & !(0x03 << 16)) | (((value as u32) & 0x03) << 16);
16135                self.w
16136            }
16137        }
16138        ///Reader of field `BLINKF`
16139        pub type BLINKF_R = crate::R<u8, u8>;
16140        ///Write proxy for field `BLINKF`
16141        pub struct BLINKF_W<'a> {
16142            w: &'a mut W,
16143        }
16144        impl<'a> BLINKF_W<'a> {
16145            ///Writes raw bits to the field
16146            #[inline(always)]
16147            pub unsafe fn bits(self, value: u8) -> &'a mut W {
16148                self.w.bits = (self.w.bits & !(0x07 << 13)) | (((value as u32) & 0x07) << 13);
16149                self.w
16150            }
16151        }
16152        ///Reader of field `CC`
16153        pub type CC_R = crate::R<u8, u8>;
16154        ///Write proxy for field `CC`
16155        pub struct CC_W<'a> {
16156            w: &'a mut W,
16157        }
16158        impl<'a> CC_W<'a> {
16159            ///Writes raw bits to the field
16160            #[inline(always)]
16161            pub unsafe fn bits(self, value: u8) -> &'a mut W {
16162                self.w.bits = (self.w.bits & !(0x07 << 10)) | (((value as u32) & 0x07) << 10);
16163                self.w
16164            }
16165        }
16166        ///Reader of field `DEAD`
16167        pub type DEAD_R = crate::R<u8, u8>;
16168        ///Write proxy for field `DEAD`
16169        pub struct DEAD_W<'a> {
16170            w: &'a mut W,
16171        }
16172        impl<'a> DEAD_W<'a> {
16173            ///Writes raw bits to the field
16174            #[inline(always)]
16175            pub unsafe fn bits(self, value: u8) -> &'a mut W {
16176                self.w.bits = (self.w.bits & !(0x07 << 7)) | (((value as u32) & 0x07) << 7);
16177                self.w
16178            }
16179        }
16180        ///Reader of field `PON`
16181        pub type PON_R = crate::R<u8, u8>;
16182        ///Write proxy for field `PON`
16183        pub struct PON_W<'a> {
16184            w: &'a mut W,
16185        }
16186        impl<'a> PON_W<'a> {
16187            ///Writes raw bits to the field
16188            #[inline(always)]
16189            pub unsafe fn bits(self, value: u8) -> &'a mut W {
16190                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
16191                self.w
16192            }
16193        }
16194        ///Reader of field `UDDIE`
16195        pub type UDDIE_R = crate::R<bool, bool>;
16196        ///Write proxy for field `UDDIE`
16197        pub struct UDDIE_W<'a> {
16198            w: &'a mut W,
16199        }
16200        impl<'a> UDDIE_W<'a> {
16201            ///Sets the field bit
16202            #[inline(always)]
16203            pub fn set_bit(self) -> &'a mut W {
16204                self.bit(true)
16205            }
16206            ///Clears the field bit
16207            #[inline(always)]
16208            pub fn clear_bit(self) -> &'a mut W {
16209                self.bit(false)
16210            }
16211            ///Writes raw bits to the field
16212            #[inline(always)]
16213            pub fn bit(self, value: bool) -> &'a mut W {
16214                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
16215                self.w
16216            }
16217        }
16218        ///Reader of field `SOFIE`
16219        pub type SOFIE_R = crate::R<bool, bool>;
16220        ///Write proxy for field `SOFIE`
16221        pub struct SOFIE_W<'a> {
16222            w: &'a mut W,
16223        }
16224        impl<'a> SOFIE_W<'a> {
16225            ///Sets the field bit
16226            #[inline(always)]
16227            pub fn set_bit(self) -> &'a mut W {
16228                self.bit(true)
16229            }
16230            ///Clears the field bit
16231            #[inline(always)]
16232            pub fn clear_bit(self) -> &'a mut W {
16233                self.bit(false)
16234            }
16235            ///Writes raw bits to the field
16236            #[inline(always)]
16237            pub fn bit(self, value: bool) -> &'a mut W {
16238                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
16239                self.w
16240            }
16241        }
16242        ///Reader of field `HD`
16243        pub type HD_R = crate::R<bool, bool>;
16244        ///Write proxy for field `HD`
16245        pub struct HD_W<'a> {
16246            w: &'a mut W,
16247        }
16248        impl<'a> HD_W<'a> {
16249            ///Sets the field bit
16250            #[inline(always)]
16251            pub fn set_bit(self) -> &'a mut W {
16252                self.bit(true)
16253            }
16254            ///Clears the field bit
16255            #[inline(always)]
16256            pub fn clear_bit(self) -> &'a mut W {
16257                self.bit(false)
16258            }
16259            ///Writes raw bits to the field
16260            #[inline(always)]
16261            pub fn bit(self, value: bool) -> &'a mut W {
16262                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
16263                self.w
16264            }
16265        }
16266        impl R {
16267            ///Bits 22:25 - PS 16-bit prescaler
16268            #[inline(always)]
16269            pub fn ps(&self) -> PS_R {
16270                PS_R::new(((self.bits >> 22) & 0x0f) as u8)
16271            }
16272            ///Bits 18:21 - DIV clock divider
16273            #[inline(always)]
16274            pub fn div(&self) -> DIV_R {
16275                DIV_R::new(((self.bits >> 18) & 0x0f) as u8)
16276            }
16277            ///Bits 16:17 - Blink mode selection
16278            #[inline(always)]
16279            pub fn blink(&self) -> BLINK_R {
16280                BLINK_R::new(((self.bits >> 16) & 0x03) as u8)
16281            }
16282            ///Bits 13:15 - Blink frequency selection
16283            #[inline(always)]
16284            pub fn blinkf(&self) -> BLINKF_R {
16285                BLINKF_R::new(((self.bits >> 13) & 0x07) as u8)
16286            }
16287            ///Bits 10:12 - Contrast control
16288            #[inline(always)]
16289            pub fn cc(&self) -> CC_R {
16290                CC_R::new(((self.bits >> 10) & 0x07) as u8)
16291            }
16292            ///Bits 7:9 - Dead time duration
16293            #[inline(always)]
16294            pub fn dead(&self) -> DEAD_R {
16295                DEAD_R::new(((self.bits >> 7) & 0x07) as u8)
16296            }
16297            ///Bits 4:6 - Pulse ON duration
16298            #[inline(always)]
16299            pub fn pon(&self) -> PON_R {
16300                PON_R::new(((self.bits >> 4) & 0x07) as u8)
16301            }
16302            ///Bit 3 - Update display done interrupt enable
16303            #[inline(always)]
16304            pub fn uddie(&self) -> UDDIE_R {
16305                UDDIE_R::new(((self.bits >> 3) & 0x01) != 0)
16306            }
16307            ///Bit 1 - Start of frame interrupt enable
16308            #[inline(always)]
16309            pub fn sofie(&self) -> SOFIE_R {
16310                SOFIE_R::new(((self.bits >> 1) & 0x01) != 0)
16311            }
16312            ///Bit 0 - High drive enable
16313            #[inline(always)]
16314            pub fn hd(&self) -> HD_R {
16315                HD_R::new((self.bits & 0x01) != 0)
16316            }
16317        }
16318        impl W {
16319            ///Bits 22:25 - PS 16-bit prescaler
16320            #[inline(always)]
16321            pub fn ps(&mut self) -> PS_W {
16322                PS_W { w: self }
16323            }
16324            ///Bits 18:21 - DIV clock divider
16325            #[inline(always)]
16326            pub fn div(&mut self) -> DIV_W {
16327                DIV_W { w: self }
16328            }
16329            ///Bits 16:17 - Blink mode selection
16330            #[inline(always)]
16331            pub fn blink(&mut self) -> BLINK_W {
16332                BLINK_W { w: self }
16333            }
16334            ///Bits 13:15 - Blink frequency selection
16335            #[inline(always)]
16336            pub fn blinkf(&mut self) -> BLINKF_W {
16337                BLINKF_W { w: self }
16338            }
16339            ///Bits 10:12 - Contrast control
16340            #[inline(always)]
16341            pub fn cc(&mut self) -> CC_W {
16342                CC_W { w: self }
16343            }
16344            ///Bits 7:9 - Dead time duration
16345            #[inline(always)]
16346            pub fn dead(&mut self) -> DEAD_W {
16347                DEAD_W { w: self }
16348            }
16349            ///Bits 4:6 - Pulse ON duration
16350            #[inline(always)]
16351            pub fn pon(&mut self) -> PON_W {
16352                PON_W { w: self }
16353            }
16354            ///Bit 3 - Update display done interrupt enable
16355            #[inline(always)]
16356            pub fn uddie(&mut self) -> UDDIE_W {
16357                UDDIE_W { w: self }
16358            }
16359            ///Bit 1 - Start of frame interrupt enable
16360            #[inline(always)]
16361            pub fn sofie(&mut self) -> SOFIE_W {
16362                SOFIE_W { w: self }
16363            }
16364            ///Bit 0 - High drive enable
16365            #[inline(always)]
16366            pub fn hd(&mut self) -> HD_W {
16367                HD_W { w: self }
16368            }
16369        }
16370    }
16371    ///status register
16372    ///
16373    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
16374    ///
16375    ///For information about available fields see [sr](sr) module
16376    pub type SR = crate::Reg<u32, _SR>;
16377    #[allow(missing_docs)]
16378    #[doc(hidden)]
16379    pub struct _SR;
16380    ///`read()` method returns [sr::R](sr::R) reader structure
16381    impl crate::Readable for SR {}
16382    ///`write(|w| ..)` method takes [sr::W](sr::W) writer structure
16383    impl crate::Writable for SR {}
16384    ///status register
16385    pub mod sr {
16386        ///Reader of register SR
16387        pub type R = crate::R<u32, super::SR>;
16388        ///Writer for register SR
16389        pub type W = crate::W<u32, super::SR>;
16390        ///Register SR `reset()`'s with value 0x20
16391        impl crate::ResetValue for super::SR {
16392            type Type = u32;
16393            #[inline(always)]
16394            fn reset_value() -> Self::Type {
16395                0x20
16396            }
16397        }
16398        ///Reader of field `FCRSF`
16399        pub type FCRSF_R = crate::R<bool, bool>;
16400        ///Reader of field `RDY`
16401        pub type RDY_R = crate::R<bool, bool>;
16402        ///Reader of field `UDD`
16403        pub type UDD_R = crate::R<bool, bool>;
16404        ///Reader of field `UDR`
16405        pub type UDR_R = crate::R<bool, bool>;
16406        ///Write proxy for field `UDR`
16407        pub struct UDR_W<'a> {
16408            w: &'a mut W,
16409        }
16410        impl<'a> UDR_W<'a> {
16411            ///Sets the field bit
16412            #[inline(always)]
16413            pub fn set_bit(self) -> &'a mut W {
16414                self.bit(true)
16415            }
16416            ///Clears the field bit
16417            #[inline(always)]
16418            pub fn clear_bit(self) -> &'a mut W {
16419                self.bit(false)
16420            }
16421            ///Writes raw bits to the field
16422            #[inline(always)]
16423            pub fn bit(self, value: bool) -> &'a mut W {
16424                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
16425                self.w
16426            }
16427        }
16428        ///Reader of field `SOF`
16429        pub type SOF_R = crate::R<bool, bool>;
16430        ///Reader of field `ENS`
16431        pub type ENS_R = crate::R<bool, bool>;
16432        impl R {
16433            ///Bit 5 - LCD Frame Control Register Synchronization flag
16434            #[inline(always)]
16435            pub fn fcrsf(&self) -> FCRSF_R {
16436                FCRSF_R::new(((self.bits >> 5) & 0x01) != 0)
16437            }
16438            ///Bit 4 - Ready flag
16439            #[inline(always)]
16440            pub fn rdy(&self) -> RDY_R {
16441                RDY_R::new(((self.bits >> 4) & 0x01) != 0)
16442            }
16443            ///Bit 3 - Update Display Done
16444            #[inline(always)]
16445            pub fn udd(&self) -> UDD_R {
16446                UDD_R::new(((self.bits >> 3) & 0x01) != 0)
16447            }
16448            ///Bit 2 - Update display request
16449            #[inline(always)]
16450            pub fn udr(&self) -> UDR_R {
16451                UDR_R::new(((self.bits >> 2) & 0x01) != 0)
16452            }
16453            ///Bit 1 - Start of frame flag
16454            #[inline(always)]
16455            pub fn sof(&self) -> SOF_R {
16456                SOF_R::new(((self.bits >> 1) & 0x01) != 0)
16457            }
16458            ///Bit 0 - ENS
16459            #[inline(always)]
16460            pub fn ens(&self) -> ENS_R {
16461                ENS_R::new((self.bits & 0x01) != 0)
16462            }
16463        }
16464        impl W {
16465            ///Bit 2 - Update display request
16466            #[inline(always)]
16467            pub fn udr(&mut self) -> UDR_W {
16468                UDR_W { w: self }
16469            }
16470        }
16471    }
16472    ///clear register
16473    ///
16474    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
16475    ///
16476    ///For information about available fields see [clr](clr) module
16477    pub type CLR = crate::Reg<u32, _CLR>;
16478    #[allow(missing_docs)]
16479    #[doc(hidden)]
16480    pub struct _CLR;
16481    ///`write(|w| ..)` method takes [clr::W](clr::W) writer structure
16482    impl crate::Writable for CLR {}
16483    ///clear register
16484    pub mod clr {
16485        ///Writer for register CLR
16486        pub type W = crate::W<u32, super::CLR>;
16487        ///Register CLR `reset()`'s with value 0
16488        impl crate::ResetValue for super::CLR {
16489            type Type = u32;
16490            #[inline(always)]
16491            fn reset_value() -> Self::Type {
16492                0
16493            }
16494        }
16495        ///Write proxy for field `UDDC`
16496        pub struct UDDC_W<'a> {
16497            w: &'a mut W,
16498        }
16499        impl<'a> UDDC_W<'a> {
16500            ///Sets the field bit
16501            #[inline(always)]
16502            pub fn set_bit(self) -> &'a mut W {
16503                self.bit(true)
16504            }
16505            ///Clears the field bit
16506            #[inline(always)]
16507            pub fn clear_bit(self) -> &'a mut W {
16508                self.bit(false)
16509            }
16510            ///Writes raw bits to the field
16511            #[inline(always)]
16512            pub fn bit(self, value: bool) -> &'a mut W {
16513                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
16514                self.w
16515            }
16516        }
16517        ///Write proxy for field `SOFC`
16518        pub struct SOFC_W<'a> {
16519            w: &'a mut W,
16520        }
16521        impl<'a> SOFC_W<'a> {
16522            ///Sets the field bit
16523            #[inline(always)]
16524            pub fn set_bit(self) -> &'a mut W {
16525                self.bit(true)
16526            }
16527            ///Clears the field bit
16528            #[inline(always)]
16529            pub fn clear_bit(self) -> &'a mut W {
16530                self.bit(false)
16531            }
16532            ///Writes raw bits to the field
16533            #[inline(always)]
16534            pub fn bit(self, value: bool) -> &'a mut W {
16535                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
16536                self.w
16537            }
16538        }
16539        impl W {
16540            ///Bit 3 - Update display done clear
16541            #[inline(always)]
16542            pub fn uddc(&mut self) -> UDDC_W {
16543                UDDC_W { w: self }
16544            }
16545            ///Bit 1 - Start of frame flag clear
16546            #[inline(always)]
16547            pub fn sofc(&mut self) -> SOFC_W {
16548                SOFC_W { w: self }
16549            }
16550        }
16551    }
16552    ///display memory
16553    ///
16554    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
16555    ///
16556    ///For information about available fields see [ram_com0](ram_com0) module
16557    pub type RAM_COM0 = crate::Reg<u32, _RAM_COM0>;
16558    #[allow(missing_docs)]
16559    #[doc(hidden)]
16560    pub struct _RAM_COM0;
16561    ///`read()` method returns [ram_com0::R](ram_com0::R) reader structure
16562    impl crate::Readable for RAM_COM0 {}
16563    ///`write(|w| ..)` method takes [ram_com0::W](ram_com0::W) writer structure
16564    impl crate::Writable for RAM_COM0 {}
16565    ///display memory
16566    pub mod ram_com0 {
16567        ///Reader of register RAM_COM0
16568        pub type R = crate::R<u32, super::RAM_COM0>;
16569        ///Writer for register RAM_COM0
16570        pub type W = crate::W<u32, super::RAM_COM0>;
16571        ///Register RAM_COM0 `reset()`'s with value 0
16572        impl crate::ResetValue for super::RAM_COM0 {
16573            type Type = u32;
16574            #[inline(always)]
16575            fn reset_value() -> Self::Type {
16576                0
16577            }
16578        }
16579        ///Reader of field `S31`
16580        pub type S31_R = crate::R<bool, bool>;
16581        ///Write proxy for field `S31`
16582        pub struct S31_W<'a> {
16583            w: &'a mut W,
16584        }
16585        impl<'a> S31_W<'a> {
16586            ///Sets the field bit
16587            #[inline(always)]
16588            pub fn set_bit(self) -> &'a mut W {
16589                self.bit(true)
16590            }
16591            ///Clears the field bit
16592            #[inline(always)]
16593            pub fn clear_bit(self) -> &'a mut W {
16594                self.bit(false)
16595            }
16596            ///Writes raw bits to the field
16597            #[inline(always)]
16598            pub fn bit(self, value: bool) -> &'a mut W {
16599                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
16600                self.w
16601            }
16602        }
16603        ///Reader of field `S30`
16604        pub type S30_R = crate::R<bool, bool>;
16605        ///Write proxy for field `S30`
16606        pub struct S30_W<'a> {
16607            w: &'a mut W,
16608        }
16609        impl<'a> S30_W<'a> {
16610            ///Sets the field bit
16611            #[inline(always)]
16612            pub fn set_bit(self) -> &'a mut W {
16613                self.bit(true)
16614            }
16615            ///Clears the field bit
16616            #[inline(always)]
16617            pub fn clear_bit(self) -> &'a mut W {
16618                self.bit(false)
16619            }
16620            ///Writes raw bits to the field
16621            #[inline(always)]
16622            pub fn bit(self, value: bool) -> &'a mut W {
16623                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
16624                self.w
16625            }
16626        }
16627        ///Reader of field `S29`
16628        pub type S29_R = crate::R<bool, bool>;
16629        ///Write proxy for field `S29`
16630        pub struct S29_W<'a> {
16631            w: &'a mut W,
16632        }
16633        impl<'a> S29_W<'a> {
16634            ///Sets the field bit
16635            #[inline(always)]
16636            pub fn set_bit(self) -> &'a mut W {
16637                self.bit(true)
16638            }
16639            ///Clears the field bit
16640            #[inline(always)]
16641            pub fn clear_bit(self) -> &'a mut W {
16642                self.bit(false)
16643            }
16644            ///Writes raw bits to the field
16645            #[inline(always)]
16646            pub fn bit(self, value: bool) -> &'a mut W {
16647                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
16648                self.w
16649            }
16650        }
16651        ///Reader of field `S28`
16652        pub type S28_R = crate::R<bool, bool>;
16653        ///Write proxy for field `S28`
16654        pub struct S28_W<'a> {
16655            w: &'a mut W,
16656        }
16657        impl<'a> S28_W<'a> {
16658            ///Sets the field bit
16659            #[inline(always)]
16660            pub fn set_bit(self) -> &'a mut W {
16661                self.bit(true)
16662            }
16663            ///Clears the field bit
16664            #[inline(always)]
16665            pub fn clear_bit(self) -> &'a mut W {
16666                self.bit(false)
16667            }
16668            ///Writes raw bits to the field
16669            #[inline(always)]
16670            pub fn bit(self, value: bool) -> &'a mut W {
16671                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
16672                self.w
16673            }
16674        }
16675        ///Reader of field `S27`
16676        pub type S27_R = crate::R<bool, bool>;
16677        ///Write proxy for field `S27`
16678        pub struct S27_W<'a> {
16679            w: &'a mut W,
16680        }
16681        impl<'a> S27_W<'a> {
16682            ///Sets the field bit
16683            #[inline(always)]
16684            pub fn set_bit(self) -> &'a mut W {
16685                self.bit(true)
16686            }
16687            ///Clears the field bit
16688            #[inline(always)]
16689            pub fn clear_bit(self) -> &'a mut W {
16690                self.bit(false)
16691            }
16692            ///Writes raw bits to the field
16693            #[inline(always)]
16694            pub fn bit(self, value: bool) -> &'a mut W {
16695                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
16696                self.w
16697            }
16698        }
16699        ///Reader of field `S26`
16700        pub type S26_R = crate::R<bool, bool>;
16701        ///Write proxy for field `S26`
16702        pub struct S26_W<'a> {
16703            w: &'a mut W,
16704        }
16705        impl<'a> S26_W<'a> {
16706            ///Sets the field bit
16707            #[inline(always)]
16708            pub fn set_bit(self) -> &'a mut W {
16709                self.bit(true)
16710            }
16711            ///Clears the field bit
16712            #[inline(always)]
16713            pub fn clear_bit(self) -> &'a mut W {
16714                self.bit(false)
16715            }
16716            ///Writes raw bits to the field
16717            #[inline(always)]
16718            pub fn bit(self, value: bool) -> &'a mut W {
16719                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
16720                self.w
16721            }
16722        }
16723        ///Reader of field `S25`
16724        pub type S25_R = crate::R<bool, bool>;
16725        ///Write proxy for field `S25`
16726        pub struct S25_W<'a> {
16727            w: &'a mut W,
16728        }
16729        impl<'a> S25_W<'a> {
16730            ///Sets the field bit
16731            #[inline(always)]
16732            pub fn set_bit(self) -> &'a mut W {
16733                self.bit(true)
16734            }
16735            ///Clears the field bit
16736            #[inline(always)]
16737            pub fn clear_bit(self) -> &'a mut W {
16738                self.bit(false)
16739            }
16740            ///Writes raw bits to the field
16741            #[inline(always)]
16742            pub fn bit(self, value: bool) -> &'a mut W {
16743                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
16744                self.w
16745            }
16746        }
16747        ///Reader of field `S24`
16748        pub type S24_R = crate::R<bool, bool>;
16749        ///Write proxy for field `S24`
16750        pub struct S24_W<'a> {
16751            w: &'a mut W,
16752        }
16753        impl<'a> S24_W<'a> {
16754            ///Sets the field bit
16755            #[inline(always)]
16756            pub fn set_bit(self) -> &'a mut W {
16757                self.bit(true)
16758            }
16759            ///Clears the field bit
16760            #[inline(always)]
16761            pub fn clear_bit(self) -> &'a mut W {
16762                self.bit(false)
16763            }
16764            ///Writes raw bits to the field
16765            #[inline(always)]
16766            pub fn bit(self, value: bool) -> &'a mut W {
16767                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
16768                self.w
16769            }
16770        }
16771        ///Reader of field `S23`
16772        pub type S23_R = crate::R<bool, bool>;
16773        ///Write proxy for field `S23`
16774        pub struct S23_W<'a> {
16775            w: &'a mut W,
16776        }
16777        impl<'a> S23_W<'a> {
16778            ///Sets the field bit
16779            #[inline(always)]
16780            pub fn set_bit(self) -> &'a mut W {
16781                self.bit(true)
16782            }
16783            ///Clears the field bit
16784            #[inline(always)]
16785            pub fn clear_bit(self) -> &'a mut W {
16786                self.bit(false)
16787            }
16788            ///Writes raw bits to the field
16789            #[inline(always)]
16790            pub fn bit(self, value: bool) -> &'a mut W {
16791                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
16792                self.w
16793            }
16794        }
16795        ///Reader of field `S22`
16796        pub type S22_R = crate::R<bool, bool>;
16797        ///Write proxy for field `S22`
16798        pub struct S22_W<'a> {
16799            w: &'a mut W,
16800        }
16801        impl<'a> S22_W<'a> {
16802            ///Sets the field bit
16803            #[inline(always)]
16804            pub fn set_bit(self) -> &'a mut W {
16805                self.bit(true)
16806            }
16807            ///Clears the field bit
16808            #[inline(always)]
16809            pub fn clear_bit(self) -> &'a mut W {
16810                self.bit(false)
16811            }
16812            ///Writes raw bits to the field
16813            #[inline(always)]
16814            pub fn bit(self, value: bool) -> &'a mut W {
16815                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
16816                self.w
16817            }
16818        }
16819        ///Reader of field `S21`
16820        pub type S21_R = crate::R<bool, bool>;
16821        ///Write proxy for field `S21`
16822        pub struct S21_W<'a> {
16823            w: &'a mut W,
16824        }
16825        impl<'a> S21_W<'a> {
16826            ///Sets the field bit
16827            #[inline(always)]
16828            pub fn set_bit(self) -> &'a mut W {
16829                self.bit(true)
16830            }
16831            ///Clears the field bit
16832            #[inline(always)]
16833            pub fn clear_bit(self) -> &'a mut W {
16834                self.bit(false)
16835            }
16836            ///Writes raw bits to the field
16837            #[inline(always)]
16838            pub fn bit(self, value: bool) -> &'a mut W {
16839                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
16840                self.w
16841            }
16842        }
16843        ///Reader of field `S20`
16844        pub type S20_R = crate::R<bool, bool>;
16845        ///Write proxy for field `S20`
16846        pub struct S20_W<'a> {
16847            w: &'a mut W,
16848        }
16849        impl<'a> S20_W<'a> {
16850            ///Sets the field bit
16851            #[inline(always)]
16852            pub fn set_bit(self) -> &'a mut W {
16853                self.bit(true)
16854            }
16855            ///Clears the field bit
16856            #[inline(always)]
16857            pub fn clear_bit(self) -> &'a mut W {
16858                self.bit(false)
16859            }
16860            ///Writes raw bits to the field
16861            #[inline(always)]
16862            pub fn bit(self, value: bool) -> &'a mut W {
16863                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
16864                self.w
16865            }
16866        }
16867        ///Reader of field `S19`
16868        pub type S19_R = crate::R<bool, bool>;
16869        ///Write proxy for field `S19`
16870        pub struct S19_W<'a> {
16871            w: &'a mut W,
16872        }
16873        impl<'a> S19_W<'a> {
16874            ///Sets the field bit
16875            #[inline(always)]
16876            pub fn set_bit(self) -> &'a mut W {
16877                self.bit(true)
16878            }
16879            ///Clears the field bit
16880            #[inline(always)]
16881            pub fn clear_bit(self) -> &'a mut W {
16882                self.bit(false)
16883            }
16884            ///Writes raw bits to the field
16885            #[inline(always)]
16886            pub fn bit(self, value: bool) -> &'a mut W {
16887                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
16888                self.w
16889            }
16890        }
16891        ///Reader of field `S18`
16892        pub type S18_R = crate::R<bool, bool>;
16893        ///Write proxy for field `S18`
16894        pub struct S18_W<'a> {
16895            w: &'a mut W,
16896        }
16897        impl<'a> S18_W<'a> {
16898            ///Sets the field bit
16899            #[inline(always)]
16900            pub fn set_bit(self) -> &'a mut W {
16901                self.bit(true)
16902            }
16903            ///Clears the field bit
16904            #[inline(always)]
16905            pub fn clear_bit(self) -> &'a mut W {
16906                self.bit(false)
16907            }
16908            ///Writes raw bits to the field
16909            #[inline(always)]
16910            pub fn bit(self, value: bool) -> &'a mut W {
16911                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
16912                self.w
16913            }
16914        }
16915        ///Reader of field `S17`
16916        pub type S17_R = crate::R<bool, bool>;
16917        ///Write proxy for field `S17`
16918        pub struct S17_W<'a> {
16919            w: &'a mut W,
16920        }
16921        impl<'a> S17_W<'a> {
16922            ///Sets the field bit
16923            #[inline(always)]
16924            pub fn set_bit(self) -> &'a mut W {
16925                self.bit(true)
16926            }
16927            ///Clears the field bit
16928            #[inline(always)]
16929            pub fn clear_bit(self) -> &'a mut W {
16930                self.bit(false)
16931            }
16932            ///Writes raw bits to the field
16933            #[inline(always)]
16934            pub fn bit(self, value: bool) -> &'a mut W {
16935                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
16936                self.w
16937            }
16938        }
16939        ///Reader of field `S16`
16940        pub type S16_R = crate::R<bool, bool>;
16941        ///Write proxy for field `S16`
16942        pub struct S16_W<'a> {
16943            w: &'a mut W,
16944        }
16945        impl<'a> S16_W<'a> {
16946            ///Sets the field bit
16947            #[inline(always)]
16948            pub fn set_bit(self) -> &'a mut W {
16949                self.bit(true)
16950            }
16951            ///Clears the field bit
16952            #[inline(always)]
16953            pub fn clear_bit(self) -> &'a mut W {
16954                self.bit(false)
16955            }
16956            ///Writes raw bits to the field
16957            #[inline(always)]
16958            pub fn bit(self, value: bool) -> &'a mut W {
16959                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
16960                self.w
16961            }
16962        }
16963        ///Reader of field `S15`
16964        pub type S15_R = crate::R<bool, bool>;
16965        ///Write proxy for field `S15`
16966        pub struct S15_W<'a> {
16967            w: &'a mut W,
16968        }
16969        impl<'a> S15_W<'a> {
16970            ///Sets the field bit
16971            #[inline(always)]
16972            pub fn set_bit(self) -> &'a mut W {
16973                self.bit(true)
16974            }
16975            ///Clears the field bit
16976            #[inline(always)]
16977            pub fn clear_bit(self) -> &'a mut W {
16978                self.bit(false)
16979            }
16980            ///Writes raw bits to the field
16981            #[inline(always)]
16982            pub fn bit(self, value: bool) -> &'a mut W {
16983                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
16984                self.w
16985            }
16986        }
16987        ///Reader of field `S14`
16988        pub type S14_R = crate::R<bool, bool>;
16989        ///Write proxy for field `S14`
16990        pub struct S14_W<'a> {
16991            w: &'a mut W,
16992        }
16993        impl<'a> S14_W<'a> {
16994            ///Sets the field bit
16995            #[inline(always)]
16996            pub fn set_bit(self) -> &'a mut W {
16997                self.bit(true)
16998            }
16999            ///Clears the field bit
17000            #[inline(always)]
17001            pub fn clear_bit(self) -> &'a mut W {
17002                self.bit(false)
17003            }
17004            ///Writes raw bits to the field
17005            #[inline(always)]
17006            pub fn bit(self, value: bool) -> &'a mut W {
17007                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
17008                self.w
17009            }
17010        }
17011        ///Reader of field `S13`
17012        pub type S13_R = crate::R<bool, bool>;
17013        ///Write proxy for field `S13`
17014        pub struct S13_W<'a> {
17015            w: &'a mut W,
17016        }
17017        impl<'a> S13_W<'a> {
17018            ///Sets the field bit
17019            #[inline(always)]
17020            pub fn set_bit(self) -> &'a mut W {
17021                self.bit(true)
17022            }
17023            ///Clears the field bit
17024            #[inline(always)]
17025            pub fn clear_bit(self) -> &'a mut W {
17026                self.bit(false)
17027            }
17028            ///Writes raw bits to the field
17029            #[inline(always)]
17030            pub fn bit(self, value: bool) -> &'a mut W {
17031                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
17032                self.w
17033            }
17034        }
17035        ///Reader of field `S12`
17036        pub type S12_R = crate::R<bool, bool>;
17037        ///Write proxy for field `S12`
17038        pub struct S12_W<'a> {
17039            w: &'a mut W,
17040        }
17041        impl<'a> S12_W<'a> {
17042            ///Sets the field bit
17043            #[inline(always)]
17044            pub fn set_bit(self) -> &'a mut W {
17045                self.bit(true)
17046            }
17047            ///Clears the field bit
17048            #[inline(always)]
17049            pub fn clear_bit(self) -> &'a mut W {
17050                self.bit(false)
17051            }
17052            ///Writes raw bits to the field
17053            #[inline(always)]
17054            pub fn bit(self, value: bool) -> &'a mut W {
17055                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
17056                self.w
17057            }
17058        }
17059        ///Reader of field `S11`
17060        pub type S11_R = crate::R<bool, bool>;
17061        ///Write proxy for field `S11`
17062        pub struct S11_W<'a> {
17063            w: &'a mut W,
17064        }
17065        impl<'a> S11_W<'a> {
17066            ///Sets the field bit
17067            #[inline(always)]
17068            pub fn set_bit(self) -> &'a mut W {
17069                self.bit(true)
17070            }
17071            ///Clears the field bit
17072            #[inline(always)]
17073            pub fn clear_bit(self) -> &'a mut W {
17074                self.bit(false)
17075            }
17076            ///Writes raw bits to the field
17077            #[inline(always)]
17078            pub fn bit(self, value: bool) -> &'a mut W {
17079                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
17080                self.w
17081            }
17082        }
17083        ///Reader of field `S10`
17084        pub type S10_R = crate::R<bool, bool>;
17085        ///Write proxy for field `S10`
17086        pub struct S10_W<'a> {
17087            w: &'a mut W,
17088        }
17089        impl<'a> S10_W<'a> {
17090            ///Sets the field bit
17091            #[inline(always)]
17092            pub fn set_bit(self) -> &'a mut W {
17093                self.bit(true)
17094            }
17095            ///Clears the field bit
17096            #[inline(always)]
17097            pub fn clear_bit(self) -> &'a mut W {
17098                self.bit(false)
17099            }
17100            ///Writes raw bits to the field
17101            #[inline(always)]
17102            pub fn bit(self, value: bool) -> &'a mut W {
17103                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
17104                self.w
17105            }
17106        }
17107        ///Reader of field `S09`
17108        pub type S09_R = crate::R<bool, bool>;
17109        ///Write proxy for field `S09`
17110        pub struct S09_W<'a> {
17111            w: &'a mut W,
17112        }
17113        impl<'a> S09_W<'a> {
17114            ///Sets the field bit
17115            #[inline(always)]
17116            pub fn set_bit(self) -> &'a mut W {
17117                self.bit(true)
17118            }
17119            ///Clears the field bit
17120            #[inline(always)]
17121            pub fn clear_bit(self) -> &'a mut W {
17122                self.bit(false)
17123            }
17124            ///Writes raw bits to the field
17125            #[inline(always)]
17126            pub fn bit(self, value: bool) -> &'a mut W {
17127                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
17128                self.w
17129            }
17130        }
17131        ///Reader of field `S08`
17132        pub type S08_R = crate::R<bool, bool>;
17133        ///Write proxy for field `S08`
17134        pub struct S08_W<'a> {
17135            w: &'a mut W,
17136        }
17137        impl<'a> S08_W<'a> {
17138            ///Sets the field bit
17139            #[inline(always)]
17140            pub fn set_bit(self) -> &'a mut W {
17141                self.bit(true)
17142            }
17143            ///Clears the field bit
17144            #[inline(always)]
17145            pub fn clear_bit(self) -> &'a mut W {
17146                self.bit(false)
17147            }
17148            ///Writes raw bits to the field
17149            #[inline(always)]
17150            pub fn bit(self, value: bool) -> &'a mut W {
17151                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
17152                self.w
17153            }
17154        }
17155        ///Reader of field `S07`
17156        pub type S07_R = crate::R<bool, bool>;
17157        ///Write proxy for field `S07`
17158        pub struct S07_W<'a> {
17159            w: &'a mut W,
17160        }
17161        impl<'a> S07_W<'a> {
17162            ///Sets the field bit
17163            #[inline(always)]
17164            pub fn set_bit(self) -> &'a mut W {
17165                self.bit(true)
17166            }
17167            ///Clears the field bit
17168            #[inline(always)]
17169            pub fn clear_bit(self) -> &'a mut W {
17170                self.bit(false)
17171            }
17172            ///Writes raw bits to the field
17173            #[inline(always)]
17174            pub fn bit(self, value: bool) -> &'a mut W {
17175                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
17176                self.w
17177            }
17178        }
17179        ///Reader of field `S06`
17180        pub type S06_R = crate::R<bool, bool>;
17181        ///Write proxy for field `S06`
17182        pub struct S06_W<'a> {
17183            w: &'a mut W,
17184        }
17185        impl<'a> S06_W<'a> {
17186            ///Sets the field bit
17187            #[inline(always)]
17188            pub fn set_bit(self) -> &'a mut W {
17189                self.bit(true)
17190            }
17191            ///Clears the field bit
17192            #[inline(always)]
17193            pub fn clear_bit(self) -> &'a mut W {
17194                self.bit(false)
17195            }
17196            ///Writes raw bits to the field
17197            #[inline(always)]
17198            pub fn bit(self, value: bool) -> &'a mut W {
17199                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
17200                self.w
17201            }
17202        }
17203        ///Reader of field `S05`
17204        pub type S05_R = crate::R<bool, bool>;
17205        ///Write proxy for field `S05`
17206        pub struct S05_W<'a> {
17207            w: &'a mut W,
17208        }
17209        impl<'a> S05_W<'a> {
17210            ///Sets the field bit
17211            #[inline(always)]
17212            pub fn set_bit(self) -> &'a mut W {
17213                self.bit(true)
17214            }
17215            ///Clears the field bit
17216            #[inline(always)]
17217            pub fn clear_bit(self) -> &'a mut W {
17218                self.bit(false)
17219            }
17220            ///Writes raw bits to the field
17221            #[inline(always)]
17222            pub fn bit(self, value: bool) -> &'a mut W {
17223                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
17224                self.w
17225            }
17226        }
17227        ///Reader of field `S04`
17228        pub type S04_R = crate::R<bool, bool>;
17229        ///Write proxy for field `S04`
17230        pub struct S04_W<'a> {
17231            w: &'a mut W,
17232        }
17233        impl<'a> S04_W<'a> {
17234            ///Sets the field bit
17235            #[inline(always)]
17236            pub fn set_bit(self) -> &'a mut W {
17237                self.bit(true)
17238            }
17239            ///Clears the field bit
17240            #[inline(always)]
17241            pub fn clear_bit(self) -> &'a mut W {
17242                self.bit(false)
17243            }
17244            ///Writes raw bits to the field
17245            #[inline(always)]
17246            pub fn bit(self, value: bool) -> &'a mut W {
17247                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
17248                self.w
17249            }
17250        }
17251        ///Reader of field `S03`
17252        pub type S03_R = crate::R<bool, bool>;
17253        ///Write proxy for field `S03`
17254        pub struct S03_W<'a> {
17255            w: &'a mut W,
17256        }
17257        impl<'a> S03_W<'a> {
17258            ///Sets the field bit
17259            #[inline(always)]
17260            pub fn set_bit(self) -> &'a mut W {
17261                self.bit(true)
17262            }
17263            ///Clears the field bit
17264            #[inline(always)]
17265            pub fn clear_bit(self) -> &'a mut W {
17266                self.bit(false)
17267            }
17268            ///Writes raw bits to the field
17269            #[inline(always)]
17270            pub fn bit(self, value: bool) -> &'a mut W {
17271                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
17272                self.w
17273            }
17274        }
17275        ///Reader of field `S02`
17276        pub type S02_R = crate::R<bool, bool>;
17277        ///Write proxy for field `S02`
17278        pub struct S02_W<'a> {
17279            w: &'a mut W,
17280        }
17281        impl<'a> S02_W<'a> {
17282            ///Sets the field bit
17283            #[inline(always)]
17284            pub fn set_bit(self) -> &'a mut W {
17285                self.bit(true)
17286            }
17287            ///Clears the field bit
17288            #[inline(always)]
17289            pub fn clear_bit(self) -> &'a mut W {
17290                self.bit(false)
17291            }
17292            ///Writes raw bits to the field
17293            #[inline(always)]
17294            pub fn bit(self, value: bool) -> &'a mut W {
17295                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
17296                self.w
17297            }
17298        }
17299        ///Reader of field `S01`
17300        pub type S01_R = crate::R<bool, bool>;
17301        ///Write proxy for field `S01`
17302        pub struct S01_W<'a> {
17303            w: &'a mut W,
17304        }
17305        impl<'a> S01_W<'a> {
17306            ///Sets the field bit
17307            #[inline(always)]
17308            pub fn set_bit(self) -> &'a mut W {
17309                self.bit(true)
17310            }
17311            ///Clears the field bit
17312            #[inline(always)]
17313            pub fn clear_bit(self) -> &'a mut W {
17314                self.bit(false)
17315            }
17316            ///Writes raw bits to the field
17317            #[inline(always)]
17318            pub fn bit(self, value: bool) -> &'a mut W {
17319                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
17320                self.w
17321            }
17322        }
17323        ///Reader of field `S00`
17324        pub type S00_R = crate::R<bool, bool>;
17325        ///Write proxy for field `S00`
17326        pub struct S00_W<'a> {
17327            w: &'a mut W,
17328        }
17329        impl<'a> S00_W<'a> {
17330            ///Sets the field bit
17331            #[inline(always)]
17332            pub fn set_bit(self) -> &'a mut W {
17333                self.bit(true)
17334            }
17335            ///Clears the field bit
17336            #[inline(always)]
17337            pub fn clear_bit(self) -> &'a mut W {
17338                self.bit(false)
17339            }
17340            ///Writes raw bits to the field
17341            #[inline(always)]
17342            pub fn bit(self, value: bool) -> &'a mut W {
17343                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
17344                self.w
17345            }
17346        }
17347        impl R {
17348            ///Bit 31 - S31
17349            #[inline(always)]
17350            pub fn s31(&self) -> S31_R {
17351                S31_R::new(((self.bits >> 31) & 0x01) != 0)
17352            }
17353            ///Bit 30 - S30
17354            #[inline(always)]
17355            pub fn s30(&self) -> S30_R {
17356                S30_R::new(((self.bits >> 30) & 0x01) != 0)
17357            }
17358            ///Bit 29 - S29
17359            #[inline(always)]
17360            pub fn s29(&self) -> S29_R {
17361                S29_R::new(((self.bits >> 29) & 0x01) != 0)
17362            }
17363            ///Bit 28 - S28
17364            #[inline(always)]
17365            pub fn s28(&self) -> S28_R {
17366                S28_R::new(((self.bits >> 28) & 0x01) != 0)
17367            }
17368            ///Bit 27 - S27
17369            #[inline(always)]
17370            pub fn s27(&self) -> S27_R {
17371                S27_R::new(((self.bits >> 27) & 0x01) != 0)
17372            }
17373            ///Bit 26 - S26
17374            #[inline(always)]
17375            pub fn s26(&self) -> S26_R {
17376                S26_R::new(((self.bits >> 26) & 0x01) != 0)
17377            }
17378            ///Bit 25 - S25
17379            #[inline(always)]
17380            pub fn s25(&self) -> S25_R {
17381                S25_R::new(((self.bits >> 25) & 0x01) != 0)
17382            }
17383            ///Bit 24 - S24
17384            #[inline(always)]
17385            pub fn s24(&self) -> S24_R {
17386                S24_R::new(((self.bits >> 24) & 0x01) != 0)
17387            }
17388            ///Bit 23 - S23
17389            #[inline(always)]
17390            pub fn s23(&self) -> S23_R {
17391                S23_R::new(((self.bits >> 23) & 0x01) != 0)
17392            }
17393            ///Bit 22 - S22
17394            #[inline(always)]
17395            pub fn s22(&self) -> S22_R {
17396                S22_R::new(((self.bits >> 22) & 0x01) != 0)
17397            }
17398            ///Bit 21 - S21
17399            #[inline(always)]
17400            pub fn s21(&self) -> S21_R {
17401                S21_R::new(((self.bits >> 21) & 0x01) != 0)
17402            }
17403            ///Bit 20 - S20
17404            #[inline(always)]
17405            pub fn s20(&self) -> S20_R {
17406                S20_R::new(((self.bits >> 20) & 0x01) != 0)
17407            }
17408            ///Bit 19 - S19
17409            #[inline(always)]
17410            pub fn s19(&self) -> S19_R {
17411                S19_R::new(((self.bits >> 19) & 0x01) != 0)
17412            }
17413            ///Bit 18 - S18
17414            #[inline(always)]
17415            pub fn s18(&self) -> S18_R {
17416                S18_R::new(((self.bits >> 18) & 0x01) != 0)
17417            }
17418            ///Bit 17 - S17
17419            #[inline(always)]
17420            pub fn s17(&self) -> S17_R {
17421                S17_R::new(((self.bits >> 17) & 0x01) != 0)
17422            }
17423            ///Bit 16 - S16
17424            #[inline(always)]
17425            pub fn s16(&self) -> S16_R {
17426                S16_R::new(((self.bits >> 16) & 0x01) != 0)
17427            }
17428            ///Bit 15 - S15
17429            #[inline(always)]
17430            pub fn s15(&self) -> S15_R {
17431                S15_R::new(((self.bits >> 15) & 0x01) != 0)
17432            }
17433            ///Bit 14 - S14
17434            #[inline(always)]
17435            pub fn s14(&self) -> S14_R {
17436                S14_R::new(((self.bits >> 14) & 0x01) != 0)
17437            }
17438            ///Bit 13 - S13
17439            #[inline(always)]
17440            pub fn s13(&self) -> S13_R {
17441                S13_R::new(((self.bits >> 13) & 0x01) != 0)
17442            }
17443            ///Bit 12 - S12
17444            #[inline(always)]
17445            pub fn s12(&self) -> S12_R {
17446                S12_R::new(((self.bits >> 12) & 0x01) != 0)
17447            }
17448            ///Bit 11 - S11
17449            #[inline(always)]
17450            pub fn s11(&self) -> S11_R {
17451                S11_R::new(((self.bits >> 11) & 0x01) != 0)
17452            }
17453            ///Bit 10 - S10
17454            #[inline(always)]
17455            pub fn s10(&self) -> S10_R {
17456                S10_R::new(((self.bits >> 10) & 0x01) != 0)
17457            }
17458            ///Bit 9 - S09
17459            #[inline(always)]
17460            pub fn s09(&self) -> S09_R {
17461                S09_R::new(((self.bits >> 9) & 0x01) != 0)
17462            }
17463            ///Bit 8 - S08
17464            #[inline(always)]
17465            pub fn s08(&self) -> S08_R {
17466                S08_R::new(((self.bits >> 8) & 0x01) != 0)
17467            }
17468            ///Bit 7 - S07
17469            #[inline(always)]
17470            pub fn s07(&self) -> S07_R {
17471                S07_R::new(((self.bits >> 7) & 0x01) != 0)
17472            }
17473            ///Bit 6 - S06
17474            #[inline(always)]
17475            pub fn s06(&self) -> S06_R {
17476                S06_R::new(((self.bits >> 6) & 0x01) != 0)
17477            }
17478            ///Bit 5 - S05
17479            #[inline(always)]
17480            pub fn s05(&self) -> S05_R {
17481                S05_R::new(((self.bits >> 5) & 0x01) != 0)
17482            }
17483            ///Bit 4 - S04
17484            #[inline(always)]
17485            pub fn s04(&self) -> S04_R {
17486                S04_R::new(((self.bits >> 4) & 0x01) != 0)
17487            }
17488            ///Bit 3 - S03
17489            #[inline(always)]
17490            pub fn s03(&self) -> S03_R {
17491                S03_R::new(((self.bits >> 3) & 0x01) != 0)
17492            }
17493            ///Bit 2 - S02
17494            #[inline(always)]
17495            pub fn s02(&self) -> S02_R {
17496                S02_R::new(((self.bits >> 2) & 0x01) != 0)
17497            }
17498            ///Bit 1 - S01
17499            #[inline(always)]
17500            pub fn s01(&self) -> S01_R {
17501                S01_R::new(((self.bits >> 1) & 0x01) != 0)
17502            }
17503            ///Bit 0 - S00
17504            #[inline(always)]
17505            pub fn s00(&self) -> S00_R {
17506                S00_R::new((self.bits & 0x01) != 0)
17507            }
17508        }
17509        impl W {
17510            ///Bit 31 - S31
17511            #[inline(always)]
17512            pub fn s31(&mut self) -> S31_W {
17513                S31_W { w: self }
17514            }
17515            ///Bit 30 - S30
17516            #[inline(always)]
17517            pub fn s30(&mut self) -> S30_W {
17518                S30_W { w: self }
17519            }
17520            ///Bit 29 - S29
17521            #[inline(always)]
17522            pub fn s29(&mut self) -> S29_W {
17523                S29_W { w: self }
17524            }
17525            ///Bit 28 - S28
17526            #[inline(always)]
17527            pub fn s28(&mut self) -> S28_W {
17528                S28_W { w: self }
17529            }
17530            ///Bit 27 - S27
17531            #[inline(always)]
17532            pub fn s27(&mut self) -> S27_W {
17533                S27_W { w: self }
17534            }
17535            ///Bit 26 - S26
17536            #[inline(always)]
17537            pub fn s26(&mut self) -> S26_W {
17538                S26_W { w: self }
17539            }
17540            ///Bit 25 - S25
17541            #[inline(always)]
17542            pub fn s25(&mut self) -> S25_W {
17543                S25_W { w: self }
17544            }
17545            ///Bit 24 - S24
17546            #[inline(always)]
17547            pub fn s24(&mut self) -> S24_W {
17548                S24_W { w: self }
17549            }
17550            ///Bit 23 - S23
17551            #[inline(always)]
17552            pub fn s23(&mut self) -> S23_W {
17553                S23_W { w: self }
17554            }
17555            ///Bit 22 - S22
17556            #[inline(always)]
17557            pub fn s22(&mut self) -> S22_W {
17558                S22_W { w: self }
17559            }
17560            ///Bit 21 - S21
17561            #[inline(always)]
17562            pub fn s21(&mut self) -> S21_W {
17563                S21_W { w: self }
17564            }
17565            ///Bit 20 - S20
17566            #[inline(always)]
17567            pub fn s20(&mut self) -> S20_W {
17568                S20_W { w: self }
17569            }
17570            ///Bit 19 - S19
17571            #[inline(always)]
17572            pub fn s19(&mut self) -> S19_W {
17573                S19_W { w: self }
17574            }
17575            ///Bit 18 - S18
17576            #[inline(always)]
17577            pub fn s18(&mut self) -> S18_W {
17578                S18_W { w: self }
17579            }
17580            ///Bit 17 - S17
17581            #[inline(always)]
17582            pub fn s17(&mut self) -> S17_W {
17583                S17_W { w: self }
17584            }
17585            ///Bit 16 - S16
17586            #[inline(always)]
17587            pub fn s16(&mut self) -> S16_W {
17588                S16_W { w: self }
17589            }
17590            ///Bit 15 - S15
17591            #[inline(always)]
17592            pub fn s15(&mut self) -> S15_W {
17593                S15_W { w: self }
17594            }
17595            ///Bit 14 - S14
17596            #[inline(always)]
17597            pub fn s14(&mut self) -> S14_W {
17598                S14_W { w: self }
17599            }
17600            ///Bit 13 - S13
17601            #[inline(always)]
17602            pub fn s13(&mut self) -> S13_W {
17603                S13_W { w: self }
17604            }
17605            ///Bit 12 - S12
17606            #[inline(always)]
17607            pub fn s12(&mut self) -> S12_W {
17608                S12_W { w: self }
17609            }
17610            ///Bit 11 - S11
17611            #[inline(always)]
17612            pub fn s11(&mut self) -> S11_W {
17613                S11_W { w: self }
17614            }
17615            ///Bit 10 - S10
17616            #[inline(always)]
17617            pub fn s10(&mut self) -> S10_W {
17618                S10_W { w: self }
17619            }
17620            ///Bit 9 - S09
17621            #[inline(always)]
17622            pub fn s09(&mut self) -> S09_W {
17623                S09_W { w: self }
17624            }
17625            ///Bit 8 - S08
17626            #[inline(always)]
17627            pub fn s08(&mut self) -> S08_W {
17628                S08_W { w: self }
17629            }
17630            ///Bit 7 - S07
17631            #[inline(always)]
17632            pub fn s07(&mut self) -> S07_W {
17633                S07_W { w: self }
17634            }
17635            ///Bit 6 - S06
17636            #[inline(always)]
17637            pub fn s06(&mut self) -> S06_W {
17638                S06_W { w: self }
17639            }
17640            ///Bit 5 - S05
17641            #[inline(always)]
17642            pub fn s05(&mut self) -> S05_W {
17643                S05_W { w: self }
17644            }
17645            ///Bit 4 - S04
17646            #[inline(always)]
17647            pub fn s04(&mut self) -> S04_W {
17648                S04_W { w: self }
17649            }
17650            ///Bit 3 - S03
17651            #[inline(always)]
17652            pub fn s03(&mut self) -> S03_W {
17653                S03_W { w: self }
17654            }
17655            ///Bit 2 - S02
17656            #[inline(always)]
17657            pub fn s02(&mut self) -> S02_W {
17658                S02_W { w: self }
17659            }
17660            ///Bit 1 - S01
17661            #[inline(always)]
17662            pub fn s01(&mut self) -> S01_W {
17663                S01_W { w: self }
17664            }
17665            ///Bit 0 - S00
17666            #[inline(always)]
17667            pub fn s00(&mut self) -> S00_W {
17668                S00_W { w: self }
17669            }
17670        }
17671    }
17672    ///display memory
17673    ///
17674    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
17675    ///
17676    ///For information about available fields see [ram_com1](ram_com1) module
17677    pub type RAM_COM1 = crate::Reg<u32, _RAM_COM1>;
17678    #[allow(missing_docs)]
17679    #[doc(hidden)]
17680    pub struct _RAM_COM1;
17681    ///`read()` method returns [ram_com1::R](ram_com1::R) reader structure
17682    impl crate::Readable for RAM_COM1 {}
17683    ///`write(|w| ..)` method takes [ram_com1::W](ram_com1::W) writer structure
17684    impl crate::Writable for RAM_COM1 {}
17685    ///display memory
17686    pub mod ram_com1 {
17687        ///Reader of register RAM_COM1
17688        pub type R = crate::R<u32, super::RAM_COM1>;
17689        ///Writer for register RAM_COM1
17690        pub type W = crate::W<u32, super::RAM_COM1>;
17691        ///Register RAM_COM1 `reset()`'s with value 0
17692        impl crate::ResetValue for super::RAM_COM1 {
17693            type Type = u32;
17694            #[inline(always)]
17695            fn reset_value() -> Self::Type {
17696                0
17697            }
17698        }
17699        ///Reader of field `S31`
17700        pub type S31_R = crate::R<bool, bool>;
17701        ///Write proxy for field `S31`
17702        pub struct S31_W<'a> {
17703            w: &'a mut W,
17704        }
17705        impl<'a> S31_W<'a> {
17706            ///Sets the field bit
17707            #[inline(always)]
17708            pub fn set_bit(self) -> &'a mut W {
17709                self.bit(true)
17710            }
17711            ///Clears the field bit
17712            #[inline(always)]
17713            pub fn clear_bit(self) -> &'a mut W {
17714                self.bit(false)
17715            }
17716            ///Writes raw bits to the field
17717            #[inline(always)]
17718            pub fn bit(self, value: bool) -> &'a mut W {
17719                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
17720                self.w
17721            }
17722        }
17723        ///Reader of field `S30`
17724        pub type S30_R = crate::R<bool, bool>;
17725        ///Write proxy for field `S30`
17726        pub struct S30_W<'a> {
17727            w: &'a mut W,
17728        }
17729        impl<'a> S30_W<'a> {
17730            ///Sets the field bit
17731            #[inline(always)]
17732            pub fn set_bit(self) -> &'a mut W {
17733                self.bit(true)
17734            }
17735            ///Clears the field bit
17736            #[inline(always)]
17737            pub fn clear_bit(self) -> &'a mut W {
17738                self.bit(false)
17739            }
17740            ///Writes raw bits to the field
17741            #[inline(always)]
17742            pub fn bit(self, value: bool) -> &'a mut W {
17743                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
17744                self.w
17745            }
17746        }
17747        ///Reader of field `S29`
17748        pub type S29_R = crate::R<bool, bool>;
17749        ///Write proxy for field `S29`
17750        pub struct S29_W<'a> {
17751            w: &'a mut W,
17752        }
17753        impl<'a> S29_W<'a> {
17754            ///Sets the field bit
17755            #[inline(always)]
17756            pub fn set_bit(self) -> &'a mut W {
17757                self.bit(true)
17758            }
17759            ///Clears the field bit
17760            #[inline(always)]
17761            pub fn clear_bit(self) -> &'a mut W {
17762                self.bit(false)
17763            }
17764            ///Writes raw bits to the field
17765            #[inline(always)]
17766            pub fn bit(self, value: bool) -> &'a mut W {
17767                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
17768                self.w
17769            }
17770        }
17771        ///Reader of field `S28`
17772        pub type S28_R = crate::R<bool, bool>;
17773        ///Write proxy for field `S28`
17774        pub struct S28_W<'a> {
17775            w: &'a mut W,
17776        }
17777        impl<'a> S28_W<'a> {
17778            ///Sets the field bit
17779            #[inline(always)]
17780            pub fn set_bit(self) -> &'a mut W {
17781                self.bit(true)
17782            }
17783            ///Clears the field bit
17784            #[inline(always)]
17785            pub fn clear_bit(self) -> &'a mut W {
17786                self.bit(false)
17787            }
17788            ///Writes raw bits to the field
17789            #[inline(always)]
17790            pub fn bit(self, value: bool) -> &'a mut W {
17791                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
17792                self.w
17793            }
17794        }
17795        ///Reader of field `S27`
17796        pub type S27_R = crate::R<bool, bool>;
17797        ///Write proxy for field `S27`
17798        pub struct S27_W<'a> {
17799            w: &'a mut W,
17800        }
17801        impl<'a> S27_W<'a> {
17802            ///Sets the field bit
17803            #[inline(always)]
17804            pub fn set_bit(self) -> &'a mut W {
17805                self.bit(true)
17806            }
17807            ///Clears the field bit
17808            #[inline(always)]
17809            pub fn clear_bit(self) -> &'a mut W {
17810                self.bit(false)
17811            }
17812            ///Writes raw bits to the field
17813            #[inline(always)]
17814            pub fn bit(self, value: bool) -> &'a mut W {
17815                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
17816                self.w
17817            }
17818        }
17819        ///Reader of field `S26`
17820        pub type S26_R = crate::R<bool, bool>;
17821        ///Write proxy for field `S26`
17822        pub struct S26_W<'a> {
17823            w: &'a mut W,
17824        }
17825        impl<'a> S26_W<'a> {
17826            ///Sets the field bit
17827            #[inline(always)]
17828            pub fn set_bit(self) -> &'a mut W {
17829                self.bit(true)
17830            }
17831            ///Clears the field bit
17832            #[inline(always)]
17833            pub fn clear_bit(self) -> &'a mut W {
17834                self.bit(false)
17835            }
17836            ///Writes raw bits to the field
17837            #[inline(always)]
17838            pub fn bit(self, value: bool) -> &'a mut W {
17839                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
17840                self.w
17841            }
17842        }
17843        ///Reader of field `S25`
17844        pub type S25_R = crate::R<bool, bool>;
17845        ///Write proxy for field `S25`
17846        pub struct S25_W<'a> {
17847            w: &'a mut W,
17848        }
17849        impl<'a> S25_W<'a> {
17850            ///Sets the field bit
17851            #[inline(always)]
17852            pub fn set_bit(self) -> &'a mut W {
17853                self.bit(true)
17854            }
17855            ///Clears the field bit
17856            #[inline(always)]
17857            pub fn clear_bit(self) -> &'a mut W {
17858                self.bit(false)
17859            }
17860            ///Writes raw bits to the field
17861            #[inline(always)]
17862            pub fn bit(self, value: bool) -> &'a mut W {
17863                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
17864                self.w
17865            }
17866        }
17867        ///Reader of field `S24`
17868        pub type S24_R = crate::R<bool, bool>;
17869        ///Write proxy for field `S24`
17870        pub struct S24_W<'a> {
17871            w: &'a mut W,
17872        }
17873        impl<'a> S24_W<'a> {
17874            ///Sets the field bit
17875            #[inline(always)]
17876            pub fn set_bit(self) -> &'a mut W {
17877                self.bit(true)
17878            }
17879            ///Clears the field bit
17880            #[inline(always)]
17881            pub fn clear_bit(self) -> &'a mut W {
17882                self.bit(false)
17883            }
17884            ///Writes raw bits to the field
17885            #[inline(always)]
17886            pub fn bit(self, value: bool) -> &'a mut W {
17887                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
17888                self.w
17889            }
17890        }
17891        ///Reader of field `S23`
17892        pub type S23_R = crate::R<bool, bool>;
17893        ///Write proxy for field `S23`
17894        pub struct S23_W<'a> {
17895            w: &'a mut W,
17896        }
17897        impl<'a> S23_W<'a> {
17898            ///Sets the field bit
17899            #[inline(always)]
17900            pub fn set_bit(self) -> &'a mut W {
17901                self.bit(true)
17902            }
17903            ///Clears the field bit
17904            #[inline(always)]
17905            pub fn clear_bit(self) -> &'a mut W {
17906                self.bit(false)
17907            }
17908            ///Writes raw bits to the field
17909            #[inline(always)]
17910            pub fn bit(self, value: bool) -> &'a mut W {
17911                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
17912                self.w
17913            }
17914        }
17915        ///Reader of field `S22`
17916        pub type S22_R = crate::R<bool, bool>;
17917        ///Write proxy for field `S22`
17918        pub struct S22_W<'a> {
17919            w: &'a mut W,
17920        }
17921        impl<'a> S22_W<'a> {
17922            ///Sets the field bit
17923            #[inline(always)]
17924            pub fn set_bit(self) -> &'a mut W {
17925                self.bit(true)
17926            }
17927            ///Clears the field bit
17928            #[inline(always)]
17929            pub fn clear_bit(self) -> &'a mut W {
17930                self.bit(false)
17931            }
17932            ///Writes raw bits to the field
17933            #[inline(always)]
17934            pub fn bit(self, value: bool) -> &'a mut W {
17935                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
17936                self.w
17937            }
17938        }
17939        ///Reader of field `S21`
17940        pub type S21_R = crate::R<bool, bool>;
17941        ///Write proxy for field `S21`
17942        pub struct S21_W<'a> {
17943            w: &'a mut W,
17944        }
17945        impl<'a> S21_W<'a> {
17946            ///Sets the field bit
17947            #[inline(always)]
17948            pub fn set_bit(self) -> &'a mut W {
17949                self.bit(true)
17950            }
17951            ///Clears the field bit
17952            #[inline(always)]
17953            pub fn clear_bit(self) -> &'a mut W {
17954                self.bit(false)
17955            }
17956            ///Writes raw bits to the field
17957            #[inline(always)]
17958            pub fn bit(self, value: bool) -> &'a mut W {
17959                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
17960                self.w
17961            }
17962        }
17963        ///Reader of field `S20`
17964        pub type S20_R = crate::R<bool, bool>;
17965        ///Write proxy for field `S20`
17966        pub struct S20_W<'a> {
17967            w: &'a mut W,
17968        }
17969        impl<'a> S20_W<'a> {
17970            ///Sets the field bit
17971            #[inline(always)]
17972            pub fn set_bit(self) -> &'a mut W {
17973                self.bit(true)
17974            }
17975            ///Clears the field bit
17976            #[inline(always)]
17977            pub fn clear_bit(self) -> &'a mut W {
17978                self.bit(false)
17979            }
17980            ///Writes raw bits to the field
17981            #[inline(always)]
17982            pub fn bit(self, value: bool) -> &'a mut W {
17983                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
17984                self.w
17985            }
17986        }
17987        ///Reader of field `S19`
17988        pub type S19_R = crate::R<bool, bool>;
17989        ///Write proxy for field `S19`
17990        pub struct S19_W<'a> {
17991            w: &'a mut W,
17992        }
17993        impl<'a> S19_W<'a> {
17994            ///Sets the field bit
17995            #[inline(always)]
17996            pub fn set_bit(self) -> &'a mut W {
17997                self.bit(true)
17998            }
17999            ///Clears the field bit
18000            #[inline(always)]
18001            pub fn clear_bit(self) -> &'a mut W {
18002                self.bit(false)
18003            }
18004            ///Writes raw bits to the field
18005            #[inline(always)]
18006            pub fn bit(self, value: bool) -> &'a mut W {
18007                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
18008                self.w
18009            }
18010        }
18011        ///Reader of field `S18`
18012        pub type S18_R = crate::R<bool, bool>;
18013        ///Write proxy for field `S18`
18014        pub struct S18_W<'a> {
18015            w: &'a mut W,
18016        }
18017        impl<'a> S18_W<'a> {
18018            ///Sets the field bit
18019            #[inline(always)]
18020            pub fn set_bit(self) -> &'a mut W {
18021                self.bit(true)
18022            }
18023            ///Clears the field bit
18024            #[inline(always)]
18025            pub fn clear_bit(self) -> &'a mut W {
18026                self.bit(false)
18027            }
18028            ///Writes raw bits to the field
18029            #[inline(always)]
18030            pub fn bit(self, value: bool) -> &'a mut W {
18031                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
18032                self.w
18033            }
18034        }
18035        ///Reader of field `S17`
18036        pub type S17_R = crate::R<bool, bool>;
18037        ///Write proxy for field `S17`
18038        pub struct S17_W<'a> {
18039            w: &'a mut W,
18040        }
18041        impl<'a> S17_W<'a> {
18042            ///Sets the field bit
18043            #[inline(always)]
18044            pub fn set_bit(self) -> &'a mut W {
18045                self.bit(true)
18046            }
18047            ///Clears the field bit
18048            #[inline(always)]
18049            pub fn clear_bit(self) -> &'a mut W {
18050                self.bit(false)
18051            }
18052            ///Writes raw bits to the field
18053            #[inline(always)]
18054            pub fn bit(self, value: bool) -> &'a mut W {
18055                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
18056                self.w
18057            }
18058        }
18059        ///Reader of field `S16`
18060        pub type S16_R = crate::R<bool, bool>;
18061        ///Write proxy for field `S16`
18062        pub struct S16_W<'a> {
18063            w: &'a mut W,
18064        }
18065        impl<'a> S16_W<'a> {
18066            ///Sets the field bit
18067            #[inline(always)]
18068            pub fn set_bit(self) -> &'a mut W {
18069                self.bit(true)
18070            }
18071            ///Clears the field bit
18072            #[inline(always)]
18073            pub fn clear_bit(self) -> &'a mut W {
18074                self.bit(false)
18075            }
18076            ///Writes raw bits to the field
18077            #[inline(always)]
18078            pub fn bit(self, value: bool) -> &'a mut W {
18079                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
18080                self.w
18081            }
18082        }
18083        ///Reader of field `S15`
18084        pub type S15_R = crate::R<bool, bool>;
18085        ///Write proxy for field `S15`
18086        pub struct S15_W<'a> {
18087            w: &'a mut W,
18088        }
18089        impl<'a> S15_W<'a> {
18090            ///Sets the field bit
18091            #[inline(always)]
18092            pub fn set_bit(self) -> &'a mut W {
18093                self.bit(true)
18094            }
18095            ///Clears the field bit
18096            #[inline(always)]
18097            pub fn clear_bit(self) -> &'a mut W {
18098                self.bit(false)
18099            }
18100            ///Writes raw bits to the field
18101            #[inline(always)]
18102            pub fn bit(self, value: bool) -> &'a mut W {
18103                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
18104                self.w
18105            }
18106        }
18107        ///Reader of field `S14`
18108        pub type S14_R = crate::R<bool, bool>;
18109        ///Write proxy for field `S14`
18110        pub struct S14_W<'a> {
18111            w: &'a mut W,
18112        }
18113        impl<'a> S14_W<'a> {
18114            ///Sets the field bit
18115            #[inline(always)]
18116            pub fn set_bit(self) -> &'a mut W {
18117                self.bit(true)
18118            }
18119            ///Clears the field bit
18120            #[inline(always)]
18121            pub fn clear_bit(self) -> &'a mut W {
18122                self.bit(false)
18123            }
18124            ///Writes raw bits to the field
18125            #[inline(always)]
18126            pub fn bit(self, value: bool) -> &'a mut W {
18127                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
18128                self.w
18129            }
18130        }
18131        ///Reader of field `S13`
18132        pub type S13_R = crate::R<bool, bool>;
18133        ///Write proxy for field `S13`
18134        pub struct S13_W<'a> {
18135            w: &'a mut W,
18136        }
18137        impl<'a> S13_W<'a> {
18138            ///Sets the field bit
18139            #[inline(always)]
18140            pub fn set_bit(self) -> &'a mut W {
18141                self.bit(true)
18142            }
18143            ///Clears the field bit
18144            #[inline(always)]
18145            pub fn clear_bit(self) -> &'a mut W {
18146                self.bit(false)
18147            }
18148            ///Writes raw bits to the field
18149            #[inline(always)]
18150            pub fn bit(self, value: bool) -> &'a mut W {
18151                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
18152                self.w
18153            }
18154        }
18155        ///Reader of field `S12`
18156        pub type S12_R = crate::R<bool, bool>;
18157        ///Write proxy for field `S12`
18158        pub struct S12_W<'a> {
18159            w: &'a mut W,
18160        }
18161        impl<'a> S12_W<'a> {
18162            ///Sets the field bit
18163            #[inline(always)]
18164            pub fn set_bit(self) -> &'a mut W {
18165                self.bit(true)
18166            }
18167            ///Clears the field bit
18168            #[inline(always)]
18169            pub fn clear_bit(self) -> &'a mut W {
18170                self.bit(false)
18171            }
18172            ///Writes raw bits to the field
18173            #[inline(always)]
18174            pub fn bit(self, value: bool) -> &'a mut W {
18175                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
18176                self.w
18177            }
18178        }
18179        ///Reader of field `S11`
18180        pub type S11_R = crate::R<bool, bool>;
18181        ///Write proxy for field `S11`
18182        pub struct S11_W<'a> {
18183            w: &'a mut W,
18184        }
18185        impl<'a> S11_W<'a> {
18186            ///Sets the field bit
18187            #[inline(always)]
18188            pub fn set_bit(self) -> &'a mut W {
18189                self.bit(true)
18190            }
18191            ///Clears the field bit
18192            #[inline(always)]
18193            pub fn clear_bit(self) -> &'a mut W {
18194                self.bit(false)
18195            }
18196            ///Writes raw bits to the field
18197            #[inline(always)]
18198            pub fn bit(self, value: bool) -> &'a mut W {
18199                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
18200                self.w
18201            }
18202        }
18203        ///Reader of field `S10`
18204        pub type S10_R = crate::R<bool, bool>;
18205        ///Write proxy for field `S10`
18206        pub struct S10_W<'a> {
18207            w: &'a mut W,
18208        }
18209        impl<'a> S10_W<'a> {
18210            ///Sets the field bit
18211            #[inline(always)]
18212            pub fn set_bit(self) -> &'a mut W {
18213                self.bit(true)
18214            }
18215            ///Clears the field bit
18216            #[inline(always)]
18217            pub fn clear_bit(self) -> &'a mut W {
18218                self.bit(false)
18219            }
18220            ///Writes raw bits to the field
18221            #[inline(always)]
18222            pub fn bit(self, value: bool) -> &'a mut W {
18223                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
18224                self.w
18225            }
18226        }
18227        ///Reader of field `S09`
18228        pub type S09_R = crate::R<bool, bool>;
18229        ///Write proxy for field `S09`
18230        pub struct S09_W<'a> {
18231            w: &'a mut W,
18232        }
18233        impl<'a> S09_W<'a> {
18234            ///Sets the field bit
18235            #[inline(always)]
18236            pub fn set_bit(self) -> &'a mut W {
18237                self.bit(true)
18238            }
18239            ///Clears the field bit
18240            #[inline(always)]
18241            pub fn clear_bit(self) -> &'a mut W {
18242                self.bit(false)
18243            }
18244            ///Writes raw bits to the field
18245            #[inline(always)]
18246            pub fn bit(self, value: bool) -> &'a mut W {
18247                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
18248                self.w
18249            }
18250        }
18251        ///Reader of field `S08`
18252        pub type S08_R = crate::R<bool, bool>;
18253        ///Write proxy for field `S08`
18254        pub struct S08_W<'a> {
18255            w: &'a mut W,
18256        }
18257        impl<'a> S08_W<'a> {
18258            ///Sets the field bit
18259            #[inline(always)]
18260            pub fn set_bit(self) -> &'a mut W {
18261                self.bit(true)
18262            }
18263            ///Clears the field bit
18264            #[inline(always)]
18265            pub fn clear_bit(self) -> &'a mut W {
18266                self.bit(false)
18267            }
18268            ///Writes raw bits to the field
18269            #[inline(always)]
18270            pub fn bit(self, value: bool) -> &'a mut W {
18271                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
18272                self.w
18273            }
18274        }
18275        ///Reader of field `S07`
18276        pub type S07_R = crate::R<bool, bool>;
18277        ///Write proxy for field `S07`
18278        pub struct S07_W<'a> {
18279            w: &'a mut W,
18280        }
18281        impl<'a> S07_W<'a> {
18282            ///Sets the field bit
18283            #[inline(always)]
18284            pub fn set_bit(self) -> &'a mut W {
18285                self.bit(true)
18286            }
18287            ///Clears the field bit
18288            #[inline(always)]
18289            pub fn clear_bit(self) -> &'a mut W {
18290                self.bit(false)
18291            }
18292            ///Writes raw bits to the field
18293            #[inline(always)]
18294            pub fn bit(self, value: bool) -> &'a mut W {
18295                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
18296                self.w
18297            }
18298        }
18299        ///Reader of field `S06`
18300        pub type S06_R = crate::R<bool, bool>;
18301        ///Write proxy for field `S06`
18302        pub struct S06_W<'a> {
18303            w: &'a mut W,
18304        }
18305        impl<'a> S06_W<'a> {
18306            ///Sets the field bit
18307            #[inline(always)]
18308            pub fn set_bit(self) -> &'a mut W {
18309                self.bit(true)
18310            }
18311            ///Clears the field bit
18312            #[inline(always)]
18313            pub fn clear_bit(self) -> &'a mut W {
18314                self.bit(false)
18315            }
18316            ///Writes raw bits to the field
18317            #[inline(always)]
18318            pub fn bit(self, value: bool) -> &'a mut W {
18319                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
18320                self.w
18321            }
18322        }
18323        ///Reader of field `S05`
18324        pub type S05_R = crate::R<bool, bool>;
18325        ///Write proxy for field `S05`
18326        pub struct S05_W<'a> {
18327            w: &'a mut W,
18328        }
18329        impl<'a> S05_W<'a> {
18330            ///Sets the field bit
18331            #[inline(always)]
18332            pub fn set_bit(self) -> &'a mut W {
18333                self.bit(true)
18334            }
18335            ///Clears the field bit
18336            #[inline(always)]
18337            pub fn clear_bit(self) -> &'a mut W {
18338                self.bit(false)
18339            }
18340            ///Writes raw bits to the field
18341            #[inline(always)]
18342            pub fn bit(self, value: bool) -> &'a mut W {
18343                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
18344                self.w
18345            }
18346        }
18347        ///Reader of field `S04`
18348        pub type S04_R = crate::R<bool, bool>;
18349        ///Write proxy for field `S04`
18350        pub struct S04_W<'a> {
18351            w: &'a mut W,
18352        }
18353        impl<'a> S04_W<'a> {
18354            ///Sets the field bit
18355            #[inline(always)]
18356            pub fn set_bit(self) -> &'a mut W {
18357                self.bit(true)
18358            }
18359            ///Clears the field bit
18360            #[inline(always)]
18361            pub fn clear_bit(self) -> &'a mut W {
18362                self.bit(false)
18363            }
18364            ///Writes raw bits to the field
18365            #[inline(always)]
18366            pub fn bit(self, value: bool) -> &'a mut W {
18367                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
18368                self.w
18369            }
18370        }
18371        ///Reader of field `S03`
18372        pub type S03_R = crate::R<bool, bool>;
18373        ///Write proxy for field `S03`
18374        pub struct S03_W<'a> {
18375            w: &'a mut W,
18376        }
18377        impl<'a> S03_W<'a> {
18378            ///Sets the field bit
18379            #[inline(always)]
18380            pub fn set_bit(self) -> &'a mut W {
18381                self.bit(true)
18382            }
18383            ///Clears the field bit
18384            #[inline(always)]
18385            pub fn clear_bit(self) -> &'a mut W {
18386                self.bit(false)
18387            }
18388            ///Writes raw bits to the field
18389            #[inline(always)]
18390            pub fn bit(self, value: bool) -> &'a mut W {
18391                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
18392                self.w
18393            }
18394        }
18395        ///Reader of field `S02`
18396        pub type S02_R = crate::R<bool, bool>;
18397        ///Write proxy for field `S02`
18398        pub struct S02_W<'a> {
18399            w: &'a mut W,
18400        }
18401        impl<'a> S02_W<'a> {
18402            ///Sets the field bit
18403            #[inline(always)]
18404            pub fn set_bit(self) -> &'a mut W {
18405                self.bit(true)
18406            }
18407            ///Clears the field bit
18408            #[inline(always)]
18409            pub fn clear_bit(self) -> &'a mut W {
18410                self.bit(false)
18411            }
18412            ///Writes raw bits to the field
18413            #[inline(always)]
18414            pub fn bit(self, value: bool) -> &'a mut W {
18415                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
18416                self.w
18417            }
18418        }
18419        ///Reader of field `S01`
18420        pub type S01_R = crate::R<bool, bool>;
18421        ///Write proxy for field `S01`
18422        pub struct S01_W<'a> {
18423            w: &'a mut W,
18424        }
18425        impl<'a> S01_W<'a> {
18426            ///Sets the field bit
18427            #[inline(always)]
18428            pub fn set_bit(self) -> &'a mut W {
18429                self.bit(true)
18430            }
18431            ///Clears the field bit
18432            #[inline(always)]
18433            pub fn clear_bit(self) -> &'a mut W {
18434                self.bit(false)
18435            }
18436            ///Writes raw bits to the field
18437            #[inline(always)]
18438            pub fn bit(self, value: bool) -> &'a mut W {
18439                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
18440                self.w
18441            }
18442        }
18443        ///Reader of field `S00`
18444        pub type S00_R = crate::R<bool, bool>;
18445        ///Write proxy for field `S00`
18446        pub struct S00_W<'a> {
18447            w: &'a mut W,
18448        }
18449        impl<'a> S00_W<'a> {
18450            ///Sets the field bit
18451            #[inline(always)]
18452            pub fn set_bit(self) -> &'a mut W {
18453                self.bit(true)
18454            }
18455            ///Clears the field bit
18456            #[inline(always)]
18457            pub fn clear_bit(self) -> &'a mut W {
18458                self.bit(false)
18459            }
18460            ///Writes raw bits to the field
18461            #[inline(always)]
18462            pub fn bit(self, value: bool) -> &'a mut W {
18463                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
18464                self.w
18465            }
18466        }
18467        impl R {
18468            ///Bit 31 - S31
18469            #[inline(always)]
18470            pub fn s31(&self) -> S31_R {
18471                S31_R::new(((self.bits >> 31) & 0x01) != 0)
18472            }
18473            ///Bit 30 - S30
18474            #[inline(always)]
18475            pub fn s30(&self) -> S30_R {
18476                S30_R::new(((self.bits >> 30) & 0x01) != 0)
18477            }
18478            ///Bit 29 - S29
18479            #[inline(always)]
18480            pub fn s29(&self) -> S29_R {
18481                S29_R::new(((self.bits >> 29) & 0x01) != 0)
18482            }
18483            ///Bit 28 - S28
18484            #[inline(always)]
18485            pub fn s28(&self) -> S28_R {
18486                S28_R::new(((self.bits >> 28) & 0x01) != 0)
18487            }
18488            ///Bit 27 - S27
18489            #[inline(always)]
18490            pub fn s27(&self) -> S27_R {
18491                S27_R::new(((self.bits >> 27) & 0x01) != 0)
18492            }
18493            ///Bit 26 - S26
18494            #[inline(always)]
18495            pub fn s26(&self) -> S26_R {
18496                S26_R::new(((self.bits >> 26) & 0x01) != 0)
18497            }
18498            ///Bit 25 - S25
18499            #[inline(always)]
18500            pub fn s25(&self) -> S25_R {
18501                S25_R::new(((self.bits >> 25) & 0x01) != 0)
18502            }
18503            ///Bit 24 - S24
18504            #[inline(always)]
18505            pub fn s24(&self) -> S24_R {
18506                S24_R::new(((self.bits >> 24) & 0x01) != 0)
18507            }
18508            ///Bit 23 - S23
18509            #[inline(always)]
18510            pub fn s23(&self) -> S23_R {
18511                S23_R::new(((self.bits >> 23) & 0x01) != 0)
18512            }
18513            ///Bit 22 - S22
18514            #[inline(always)]
18515            pub fn s22(&self) -> S22_R {
18516                S22_R::new(((self.bits >> 22) & 0x01) != 0)
18517            }
18518            ///Bit 21 - S21
18519            #[inline(always)]
18520            pub fn s21(&self) -> S21_R {
18521                S21_R::new(((self.bits >> 21) & 0x01) != 0)
18522            }
18523            ///Bit 20 - S20
18524            #[inline(always)]
18525            pub fn s20(&self) -> S20_R {
18526                S20_R::new(((self.bits >> 20) & 0x01) != 0)
18527            }
18528            ///Bit 19 - S19
18529            #[inline(always)]
18530            pub fn s19(&self) -> S19_R {
18531                S19_R::new(((self.bits >> 19) & 0x01) != 0)
18532            }
18533            ///Bit 18 - S18
18534            #[inline(always)]
18535            pub fn s18(&self) -> S18_R {
18536                S18_R::new(((self.bits >> 18) & 0x01) != 0)
18537            }
18538            ///Bit 17 - S17
18539            #[inline(always)]
18540            pub fn s17(&self) -> S17_R {
18541                S17_R::new(((self.bits >> 17) & 0x01) != 0)
18542            }
18543            ///Bit 16 - S16
18544            #[inline(always)]
18545            pub fn s16(&self) -> S16_R {
18546                S16_R::new(((self.bits >> 16) & 0x01) != 0)
18547            }
18548            ///Bit 15 - S15
18549            #[inline(always)]
18550            pub fn s15(&self) -> S15_R {
18551                S15_R::new(((self.bits >> 15) & 0x01) != 0)
18552            }
18553            ///Bit 14 - S14
18554            #[inline(always)]
18555            pub fn s14(&self) -> S14_R {
18556                S14_R::new(((self.bits >> 14) & 0x01) != 0)
18557            }
18558            ///Bit 13 - S13
18559            #[inline(always)]
18560            pub fn s13(&self) -> S13_R {
18561                S13_R::new(((self.bits >> 13) & 0x01) != 0)
18562            }
18563            ///Bit 12 - S12
18564            #[inline(always)]
18565            pub fn s12(&self) -> S12_R {
18566                S12_R::new(((self.bits >> 12) & 0x01) != 0)
18567            }
18568            ///Bit 11 - S11
18569            #[inline(always)]
18570            pub fn s11(&self) -> S11_R {
18571                S11_R::new(((self.bits >> 11) & 0x01) != 0)
18572            }
18573            ///Bit 10 - S10
18574            #[inline(always)]
18575            pub fn s10(&self) -> S10_R {
18576                S10_R::new(((self.bits >> 10) & 0x01) != 0)
18577            }
18578            ///Bit 9 - S09
18579            #[inline(always)]
18580            pub fn s09(&self) -> S09_R {
18581                S09_R::new(((self.bits >> 9) & 0x01) != 0)
18582            }
18583            ///Bit 8 - S08
18584            #[inline(always)]
18585            pub fn s08(&self) -> S08_R {
18586                S08_R::new(((self.bits >> 8) & 0x01) != 0)
18587            }
18588            ///Bit 7 - S07
18589            #[inline(always)]
18590            pub fn s07(&self) -> S07_R {
18591                S07_R::new(((self.bits >> 7) & 0x01) != 0)
18592            }
18593            ///Bit 6 - S06
18594            #[inline(always)]
18595            pub fn s06(&self) -> S06_R {
18596                S06_R::new(((self.bits >> 6) & 0x01) != 0)
18597            }
18598            ///Bit 5 - S05
18599            #[inline(always)]
18600            pub fn s05(&self) -> S05_R {
18601                S05_R::new(((self.bits >> 5) & 0x01) != 0)
18602            }
18603            ///Bit 4 - S04
18604            #[inline(always)]
18605            pub fn s04(&self) -> S04_R {
18606                S04_R::new(((self.bits >> 4) & 0x01) != 0)
18607            }
18608            ///Bit 3 - S03
18609            #[inline(always)]
18610            pub fn s03(&self) -> S03_R {
18611                S03_R::new(((self.bits >> 3) & 0x01) != 0)
18612            }
18613            ///Bit 2 - S02
18614            #[inline(always)]
18615            pub fn s02(&self) -> S02_R {
18616                S02_R::new(((self.bits >> 2) & 0x01) != 0)
18617            }
18618            ///Bit 1 - S01
18619            #[inline(always)]
18620            pub fn s01(&self) -> S01_R {
18621                S01_R::new(((self.bits >> 1) & 0x01) != 0)
18622            }
18623            ///Bit 0 - S00
18624            #[inline(always)]
18625            pub fn s00(&self) -> S00_R {
18626                S00_R::new((self.bits & 0x01) != 0)
18627            }
18628        }
18629        impl W {
18630            ///Bit 31 - S31
18631            #[inline(always)]
18632            pub fn s31(&mut self) -> S31_W {
18633                S31_W { w: self }
18634            }
18635            ///Bit 30 - S30
18636            #[inline(always)]
18637            pub fn s30(&mut self) -> S30_W {
18638                S30_W { w: self }
18639            }
18640            ///Bit 29 - S29
18641            #[inline(always)]
18642            pub fn s29(&mut self) -> S29_W {
18643                S29_W { w: self }
18644            }
18645            ///Bit 28 - S28
18646            #[inline(always)]
18647            pub fn s28(&mut self) -> S28_W {
18648                S28_W { w: self }
18649            }
18650            ///Bit 27 - S27
18651            #[inline(always)]
18652            pub fn s27(&mut self) -> S27_W {
18653                S27_W { w: self }
18654            }
18655            ///Bit 26 - S26
18656            #[inline(always)]
18657            pub fn s26(&mut self) -> S26_W {
18658                S26_W { w: self }
18659            }
18660            ///Bit 25 - S25
18661            #[inline(always)]
18662            pub fn s25(&mut self) -> S25_W {
18663                S25_W { w: self }
18664            }
18665            ///Bit 24 - S24
18666            #[inline(always)]
18667            pub fn s24(&mut self) -> S24_W {
18668                S24_W { w: self }
18669            }
18670            ///Bit 23 - S23
18671            #[inline(always)]
18672            pub fn s23(&mut self) -> S23_W {
18673                S23_W { w: self }
18674            }
18675            ///Bit 22 - S22
18676            #[inline(always)]
18677            pub fn s22(&mut self) -> S22_W {
18678                S22_W { w: self }
18679            }
18680            ///Bit 21 - S21
18681            #[inline(always)]
18682            pub fn s21(&mut self) -> S21_W {
18683                S21_W { w: self }
18684            }
18685            ///Bit 20 - S20
18686            #[inline(always)]
18687            pub fn s20(&mut self) -> S20_W {
18688                S20_W { w: self }
18689            }
18690            ///Bit 19 - S19
18691            #[inline(always)]
18692            pub fn s19(&mut self) -> S19_W {
18693                S19_W { w: self }
18694            }
18695            ///Bit 18 - S18
18696            #[inline(always)]
18697            pub fn s18(&mut self) -> S18_W {
18698                S18_W { w: self }
18699            }
18700            ///Bit 17 - S17
18701            #[inline(always)]
18702            pub fn s17(&mut self) -> S17_W {
18703                S17_W { w: self }
18704            }
18705            ///Bit 16 - S16
18706            #[inline(always)]
18707            pub fn s16(&mut self) -> S16_W {
18708                S16_W { w: self }
18709            }
18710            ///Bit 15 - S15
18711            #[inline(always)]
18712            pub fn s15(&mut self) -> S15_W {
18713                S15_W { w: self }
18714            }
18715            ///Bit 14 - S14
18716            #[inline(always)]
18717            pub fn s14(&mut self) -> S14_W {
18718                S14_W { w: self }
18719            }
18720            ///Bit 13 - S13
18721            #[inline(always)]
18722            pub fn s13(&mut self) -> S13_W {
18723                S13_W { w: self }
18724            }
18725            ///Bit 12 - S12
18726            #[inline(always)]
18727            pub fn s12(&mut self) -> S12_W {
18728                S12_W { w: self }
18729            }
18730            ///Bit 11 - S11
18731            #[inline(always)]
18732            pub fn s11(&mut self) -> S11_W {
18733                S11_W { w: self }
18734            }
18735            ///Bit 10 - S10
18736            #[inline(always)]
18737            pub fn s10(&mut self) -> S10_W {
18738                S10_W { w: self }
18739            }
18740            ///Bit 9 - S09
18741            #[inline(always)]
18742            pub fn s09(&mut self) -> S09_W {
18743                S09_W { w: self }
18744            }
18745            ///Bit 8 - S08
18746            #[inline(always)]
18747            pub fn s08(&mut self) -> S08_W {
18748                S08_W { w: self }
18749            }
18750            ///Bit 7 - S07
18751            #[inline(always)]
18752            pub fn s07(&mut self) -> S07_W {
18753                S07_W { w: self }
18754            }
18755            ///Bit 6 - S06
18756            #[inline(always)]
18757            pub fn s06(&mut self) -> S06_W {
18758                S06_W { w: self }
18759            }
18760            ///Bit 5 - S05
18761            #[inline(always)]
18762            pub fn s05(&mut self) -> S05_W {
18763                S05_W { w: self }
18764            }
18765            ///Bit 4 - S04
18766            #[inline(always)]
18767            pub fn s04(&mut self) -> S04_W {
18768                S04_W { w: self }
18769            }
18770            ///Bit 3 - S03
18771            #[inline(always)]
18772            pub fn s03(&mut self) -> S03_W {
18773                S03_W { w: self }
18774            }
18775            ///Bit 2 - S02
18776            #[inline(always)]
18777            pub fn s02(&mut self) -> S02_W {
18778                S02_W { w: self }
18779            }
18780            ///Bit 1 - S01
18781            #[inline(always)]
18782            pub fn s01(&mut self) -> S01_W {
18783                S01_W { w: self }
18784            }
18785            ///Bit 0 - S00
18786            #[inline(always)]
18787            pub fn s00(&mut self) -> S00_W {
18788                S00_W { w: self }
18789            }
18790        }
18791    }
18792    ///display memory
18793    ///
18794    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
18795    ///
18796    ///For information about available fields see [ram_com2](ram_com2) module
18797    pub type RAM_COM2 = crate::Reg<u32, _RAM_COM2>;
18798    #[allow(missing_docs)]
18799    #[doc(hidden)]
18800    pub struct _RAM_COM2;
18801    ///`read()` method returns [ram_com2::R](ram_com2::R) reader structure
18802    impl crate::Readable for RAM_COM2 {}
18803    ///`write(|w| ..)` method takes [ram_com2::W](ram_com2::W) writer structure
18804    impl crate::Writable for RAM_COM2 {}
18805    ///display memory
18806    pub mod ram_com2 {
18807        ///Reader of register RAM_COM2
18808        pub type R = crate::R<u32, super::RAM_COM2>;
18809        ///Writer for register RAM_COM2
18810        pub type W = crate::W<u32, super::RAM_COM2>;
18811        ///Register RAM_COM2 `reset()`'s with value 0
18812        impl crate::ResetValue for super::RAM_COM2 {
18813            type Type = u32;
18814            #[inline(always)]
18815            fn reset_value() -> Self::Type {
18816                0
18817            }
18818        }
18819        ///Reader of field `S31`
18820        pub type S31_R = crate::R<bool, bool>;
18821        ///Write proxy for field `S31`
18822        pub struct S31_W<'a> {
18823            w: &'a mut W,
18824        }
18825        impl<'a> S31_W<'a> {
18826            ///Sets the field bit
18827            #[inline(always)]
18828            pub fn set_bit(self) -> &'a mut W {
18829                self.bit(true)
18830            }
18831            ///Clears the field bit
18832            #[inline(always)]
18833            pub fn clear_bit(self) -> &'a mut W {
18834                self.bit(false)
18835            }
18836            ///Writes raw bits to the field
18837            #[inline(always)]
18838            pub fn bit(self, value: bool) -> &'a mut W {
18839                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
18840                self.w
18841            }
18842        }
18843        ///Reader of field `S30`
18844        pub type S30_R = crate::R<bool, bool>;
18845        ///Write proxy for field `S30`
18846        pub struct S30_W<'a> {
18847            w: &'a mut W,
18848        }
18849        impl<'a> S30_W<'a> {
18850            ///Sets the field bit
18851            #[inline(always)]
18852            pub fn set_bit(self) -> &'a mut W {
18853                self.bit(true)
18854            }
18855            ///Clears the field bit
18856            #[inline(always)]
18857            pub fn clear_bit(self) -> &'a mut W {
18858                self.bit(false)
18859            }
18860            ///Writes raw bits to the field
18861            #[inline(always)]
18862            pub fn bit(self, value: bool) -> &'a mut W {
18863                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
18864                self.w
18865            }
18866        }
18867        ///Reader of field `S29`
18868        pub type S29_R = crate::R<bool, bool>;
18869        ///Write proxy for field `S29`
18870        pub struct S29_W<'a> {
18871            w: &'a mut W,
18872        }
18873        impl<'a> S29_W<'a> {
18874            ///Sets the field bit
18875            #[inline(always)]
18876            pub fn set_bit(self) -> &'a mut W {
18877                self.bit(true)
18878            }
18879            ///Clears the field bit
18880            #[inline(always)]
18881            pub fn clear_bit(self) -> &'a mut W {
18882                self.bit(false)
18883            }
18884            ///Writes raw bits to the field
18885            #[inline(always)]
18886            pub fn bit(self, value: bool) -> &'a mut W {
18887                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
18888                self.w
18889            }
18890        }
18891        ///Reader of field `S28`
18892        pub type S28_R = crate::R<bool, bool>;
18893        ///Write proxy for field `S28`
18894        pub struct S28_W<'a> {
18895            w: &'a mut W,
18896        }
18897        impl<'a> S28_W<'a> {
18898            ///Sets the field bit
18899            #[inline(always)]
18900            pub fn set_bit(self) -> &'a mut W {
18901                self.bit(true)
18902            }
18903            ///Clears the field bit
18904            #[inline(always)]
18905            pub fn clear_bit(self) -> &'a mut W {
18906                self.bit(false)
18907            }
18908            ///Writes raw bits to the field
18909            #[inline(always)]
18910            pub fn bit(self, value: bool) -> &'a mut W {
18911                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
18912                self.w
18913            }
18914        }
18915        ///Reader of field `S27`
18916        pub type S27_R = crate::R<bool, bool>;
18917        ///Write proxy for field `S27`
18918        pub struct S27_W<'a> {
18919            w: &'a mut W,
18920        }
18921        impl<'a> S27_W<'a> {
18922            ///Sets the field bit
18923            #[inline(always)]
18924            pub fn set_bit(self) -> &'a mut W {
18925                self.bit(true)
18926            }
18927            ///Clears the field bit
18928            #[inline(always)]
18929            pub fn clear_bit(self) -> &'a mut W {
18930                self.bit(false)
18931            }
18932            ///Writes raw bits to the field
18933            #[inline(always)]
18934            pub fn bit(self, value: bool) -> &'a mut W {
18935                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
18936                self.w
18937            }
18938        }
18939        ///Reader of field `S26`
18940        pub type S26_R = crate::R<bool, bool>;
18941        ///Write proxy for field `S26`
18942        pub struct S26_W<'a> {
18943            w: &'a mut W,
18944        }
18945        impl<'a> S26_W<'a> {
18946            ///Sets the field bit
18947            #[inline(always)]
18948            pub fn set_bit(self) -> &'a mut W {
18949                self.bit(true)
18950            }
18951            ///Clears the field bit
18952            #[inline(always)]
18953            pub fn clear_bit(self) -> &'a mut W {
18954                self.bit(false)
18955            }
18956            ///Writes raw bits to the field
18957            #[inline(always)]
18958            pub fn bit(self, value: bool) -> &'a mut W {
18959                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
18960                self.w
18961            }
18962        }
18963        ///Reader of field `S25`
18964        pub type S25_R = crate::R<bool, bool>;
18965        ///Write proxy for field `S25`
18966        pub struct S25_W<'a> {
18967            w: &'a mut W,
18968        }
18969        impl<'a> S25_W<'a> {
18970            ///Sets the field bit
18971            #[inline(always)]
18972            pub fn set_bit(self) -> &'a mut W {
18973                self.bit(true)
18974            }
18975            ///Clears the field bit
18976            #[inline(always)]
18977            pub fn clear_bit(self) -> &'a mut W {
18978                self.bit(false)
18979            }
18980            ///Writes raw bits to the field
18981            #[inline(always)]
18982            pub fn bit(self, value: bool) -> &'a mut W {
18983                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
18984                self.w
18985            }
18986        }
18987        ///Reader of field `S24`
18988        pub type S24_R = crate::R<bool, bool>;
18989        ///Write proxy for field `S24`
18990        pub struct S24_W<'a> {
18991            w: &'a mut W,
18992        }
18993        impl<'a> S24_W<'a> {
18994            ///Sets the field bit
18995            #[inline(always)]
18996            pub fn set_bit(self) -> &'a mut W {
18997                self.bit(true)
18998            }
18999            ///Clears the field bit
19000            #[inline(always)]
19001            pub fn clear_bit(self) -> &'a mut W {
19002                self.bit(false)
19003            }
19004            ///Writes raw bits to the field
19005            #[inline(always)]
19006            pub fn bit(self, value: bool) -> &'a mut W {
19007                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
19008                self.w
19009            }
19010        }
19011        ///Reader of field `S23`
19012        pub type S23_R = crate::R<bool, bool>;
19013        ///Write proxy for field `S23`
19014        pub struct S23_W<'a> {
19015            w: &'a mut W,
19016        }
19017        impl<'a> S23_W<'a> {
19018            ///Sets the field bit
19019            #[inline(always)]
19020            pub fn set_bit(self) -> &'a mut W {
19021                self.bit(true)
19022            }
19023            ///Clears the field bit
19024            #[inline(always)]
19025            pub fn clear_bit(self) -> &'a mut W {
19026                self.bit(false)
19027            }
19028            ///Writes raw bits to the field
19029            #[inline(always)]
19030            pub fn bit(self, value: bool) -> &'a mut W {
19031                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
19032                self.w
19033            }
19034        }
19035        ///Reader of field `S22`
19036        pub type S22_R = crate::R<bool, bool>;
19037        ///Write proxy for field `S22`
19038        pub struct S22_W<'a> {
19039            w: &'a mut W,
19040        }
19041        impl<'a> S22_W<'a> {
19042            ///Sets the field bit
19043            #[inline(always)]
19044            pub fn set_bit(self) -> &'a mut W {
19045                self.bit(true)
19046            }
19047            ///Clears the field bit
19048            #[inline(always)]
19049            pub fn clear_bit(self) -> &'a mut W {
19050                self.bit(false)
19051            }
19052            ///Writes raw bits to the field
19053            #[inline(always)]
19054            pub fn bit(self, value: bool) -> &'a mut W {
19055                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
19056                self.w
19057            }
19058        }
19059        ///Reader of field `S21`
19060        pub type S21_R = crate::R<bool, bool>;
19061        ///Write proxy for field `S21`
19062        pub struct S21_W<'a> {
19063            w: &'a mut W,
19064        }
19065        impl<'a> S21_W<'a> {
19066            ///Sets the field bit
19067            #[inline(always)]
19068            pub fn set_bit(self) -> &'a mut W {
19069                self.bit(true)
19070            }
19071            ///Clears the field bit
19072            #[inline(always)]
19073            pub fn clear_bit(self) -> &'a mut W {
19074                self.bit(false)
19075            }
19076            ///Writes raw bits to the field
19077            #[inline(always)]
19078            pub fn bit(self, value: bool) -> &'a mut W {
19079                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
19080                self.w
19081            }
19082        }
19083        ///Reader of field `S20`
19084        pub type S20_R = crate::R<bool, bool>;
19085        ///Write proxy for field `S20`
19086        pub struct S20_W<'a> {
19087            w: &'a mut W,
19088        }
19089        impl<'a> S20_W<'a> {
19090            ///Sets the field bit
19091            #[inline(always)]
19092            pub fn set_bit(self) -> &'a mut W {
19093                self.bit(true)
19094            }
19095            ///Clears the field bit
19096            #[inline(always)]
19097            pub fn clear_bit(self) -> &'a mut W {
19098                self.bit(false)
19099            }
19100            ///Writes raw bits to the field
19101            #[inline(always)]
19102            pub fn bit(self, value: bool) -> &'a mut W {
19103                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
19104                self.w
19105            }
19106        }
19107        ///Reader of field `S19`
19108        pub type S19_R = crate::R<bool, bool>;
19109        ///Write proxy for field `S19`
19110        pub struct S19_W<'a> {
19111            w: &'a mut W,
19112        }
19113        impl<'a> S19_W<'a> {
19114            ///Sets the field bit
19115            #[inline(always)]
19116            pub fn set_bit(self) -> &'a mut W {
19117                self.bit(true)
19118            }
19119            ///Clears the field bit
19120            #[inline(always)]
19121            pub fn clear_bit(self) -> &'a mut W {
19122                self.bit(false)
19123            }
19124            ///Writes raw bits to the field
19125            #[inline(always)]
19126            pub fn bit(self, value: bool) -> &'a mut W {
19127                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
19128                self.w
19129            }
19130        }
19131        ///Reader of field `S18`
19132        pub type S18_R = crate::R<bool, bool>;
19133        ///Write proxy for field `S18`
19134        pub struct S18_W<'a> {
19135            w: &'a mut W,
19136        }
19137        impl<'a> S18_W<'a> {
19138            ///Sets the field bit
19139            #[inline(always)]
19140            pub fn set_bit(self) -> &'a mut W {
19141                self.bit(true)
19142            }
19143            ///Clears the field bit
19144            #[inline(always)]
19145            pub fn clear_bit(self) -> &'a mut W {
19146                self.bit(false)
19147            }
19148            ///Writes raw bits to the field
19149            #[inline(always)]
19150            pub fn bit(self, value: bool) -> &'a mut W {
19151                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
19152                self.w
19153            }
19154        }
19155        ///Reader of field `S17`
19156        pub type S17_R = crate::R<bool, bool>;
19157        ///Write proxy for field `S17`
19158        pub struct S17_W<'a> {
19159            w: &'a mut W,
19160        }
19161        impl<'a> S17_W<'a> {
19162            ///Sets the field bit
19163            #[inline(always)]
19164            pub fn set_bit(self) -> &'a mut W {
19165                self.bit(true)
19166            }
19167            ///Clears the field bit
19168            #[inline(always)]
19169            pub fn clear_bit(self) -> &'a mut W {
19170                self.bit(false)
19171            }
19172            ///Writes raw bits to the field
19173            #[inline(always)]
19174            pub fn bit(self, value: bool) -> &'a mut W {
19175                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
19176                self.w
19177            }
19178        }
19179        ///Reader of field `S16`
19180        pub type S16_R = crate::R<bool, bool>;
19181        ///Write proxy for field `S16`
19182        pub struct S16_W<'a> {
19183            w: &'a mut W,
19184        }
19185        impl<'a> S16_W<'a> {
19186            ///Sets the field bit
19187            #[inline(always)]
19188            pub fn set_bit(self) -> &'a mut W {
19189                self.bit(true)
19190            }
19191            ///Clears the field bit
19192            #[inline(always)]
19193            pub fn clear_bit(self) -> &'a mut W {
19194                self.bit(false)
19195            }
19196            ///Writes raw bits to the field
19197            #[inline(always)]
19198            pub fn bit(self, value: bool) -> &'a mut W {
19199                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
19200                self.w
19201            }
19202        }
19203        ///Reader of field `S15`
19204        pub type S15_R = crate::R<bool, bool>;
19205        ///Write proxy for field `S15`
19206        pub struct S15_W<'a> {
19207            w: &'a mut W,
19208        }
19209        impl<'a> S15_W<'a> {
19210            ///Sets the field bit
19211            #[inline(always)]
19212            pub fn set_bit(self) -> &'a mut W {
19213                self.bit(true)
19214            }
19215            ///Clears the field bit
19216            #[inline(always)]
19217            pub fn clear_bit(self) -> &'a mut W {
19218                self.bit(false)
19219            }
19220            ///Writes raw bits to the field
19221            #[inline(always)]
19222            pub fn bit(self, value: bool) -> &'a mut W {
19223                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
19224                self.w
19225            }
19226        }
19227        ///Reader of field `S14`
19228        pub type S14_R = crate::R<bool, bool>;
19229        ///Write proxy for field `S14`
19230        pub struct S14_W<'a> {
19231            w: &'a mut W,
19232        }
19233        impl<'a> S14_W<'a> {
19234            ///Sets the field bit
19235            #[inline(always)]
19236            pub fn set_bit(self) -> &'a mut W {
19237                self.bit(true)
19238            }
19239            ///Clears the field bit
19240            #[inline(always)]
19241            pub fn clear_bit(self) -> &'a mut W {
19242                self.bit(false)
19243            }
19244            ///Writes raw bits to the field
19245            #[inline(always)]
19246            pub fn bit(self, value: bool) -> &'a mut W {
19247                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
19248                self.w
19249            }
19250        }
19251        ///Reader of field `S13`
19252        pub type S13_R = crate::R<bool, bool>;
19253        ///Write proxy for field `S13`
19254        pub struct S13_W<'a> {
19255            w: &'a mut W,
19256        }
19257        impl<'a> S13_W<'a> {
19258            ///Sets the field bit
19259            #[inline(always)]
19260            pub fn set_bit(self) -> &'a mut W {
19261                self.bit(true)
19262            }
19263            ///Clears the field bit
19264            #[inline(always)]
19265            pub fn clear_bit(self) -> &'a mut W {
19266                self.bit(false)
19267            }
19268            ///Writes raw bits to the field
19269            #[inline(always)]
19270            pub fn bit(self, value: bool) -> &'a mut W {
19271                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
19272                self.w
19273            }
19274        }
19275        ///Reader of field `S12`
19276        pub type S12_R = crate::R<bool, bool>;
19277        ///Write proxy for field `S12`
19278        pub struct S12_W<'a> {
19279            w: &'a mut W,
19280        }
19281        impl<'a> S12_W<'a> {
19282            ///Sets the field bit
19283            #[inline(always)]
19284            pub fn set_bit(self) -> &'a mut W {
19285                self.bit(true)
19286            }
19287            ///Clears the field bit
19288            #[inline(always)]
19289            pub fn clear_bit(self) -> &'a mut W {
19290                self.bit(false)
19291            }
19292            ///Writes raw bits to the field
19293            #[inline(always)]
19294            pub fn bit(self, value: bool) -> &'a mut W {
19295                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
19296                self.w
19297            }
19298        }
19299        ///Reader of field `S11`
19300        pub type S11_R = crate::R<bool, bool>;
19301        ///Write proxy for field `S11`
19302        pub struct S11_W<'a> {
19303            w: &'a mut W,
19304        }
19305        impl<'a> S11_W<'a> {
19306            ///Sets the field bit
19307            #[inline(always)]
19308            pub fn set_bit(self) -> &'a mut W {
19309                self.bit(true)
19310            }
19311            ///Clears the field bit
19312            #[inline(always)]
19313            pub fn clear_bit(self) -> &'a mut W {
19314                self.bit(false)
19315            }
19316            ///Writes raw bits to the field
19317            #[inline(always)]
19318            pub fn bit(self, value: bool) -> &'a mut W {
19319                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
19320                self.w
19321            }
19322        }
19323        ///Reader of field `S10`
19324        pub type S10_R = crate::R<bool, bool>;
19325        ///Write proxy for field `S10`
19326        pub struct S10_W<'a> {
19327            w: &'a mut W,
19328        }
19329        impl<'a> S10_W<'a> {
19330            ///Sets the field bit
19331            #[inline(always)]
19332            pub fn set_bit(self) -> &'a mut W {
19333                self.bit(true)
19334            }
19335            ///Clears the field bit
19336            #[inline(always)]
19337            pub fn clear_bit(self) -> &'a mut W {
19338                self.bit(false)
19339            }
19340            ///Writes raw bits to the field
19341            #[inline(always)]
19342            pub fn bit(self, value: bool) -> &'a mut W {
19343                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
19344                self.w
19345            }
19346        }
19347        ///Reader of field `S09`
19348        pub type S09_R = crate::R<bool, bool>;
19349        ///Write proxy for field `S09`
19350        pub struct S09_W<'a> {
19351            w: &'a mut W,
19352        }
19353        impl<'a> S09_W<'a> {
19354            ///Sets the field bit
19355            #[inline(always)]
19356            pub fn set_bit(self) -> &'a mut W {
19357                self.bit(true)
19358            }
19359            ///Clears the field bit
19360            #[inline(always)]
19361            pub fn clear_bit(self) -> &'a mut W {
19362                self.bit(false)
19363            }
19364            ///Writes raw bits to the field
19365            #[inline(always)]
19366            pub fn bit(self, value: bool) -> &'a mut W {
19367                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
19368                self.w
19369            }
19370        }
19371        ///Reader of field `S08`
19372        pub type S08_R = crate::R<bool, bool>;
19373        ///Write proxy for field `S08`
19374        pub struct S08_W<'a> {
19375            w: &'a mut W,
19376        }
19377        impl<'a> S08_W<'a> {
19378            ///Sets the field bit
19379            #[inline(always)]
19380            pub fn set_bit(self) -> &'a mut W {
19381                self.bit(true)
19382            }
19383            ///Clears the field bit
19384            #[inline(always)]
19385            pub fn clear_bit(self) -> &'a mut W {
19386                self.bit(false)
19387            }
19388            ///Writes raw bits to the field
19389            #[inline(always)]
19390            pub fn bit(self, value: bool) -> &'a mut W {
19391                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
19392                self.w
19393            }
19394        }
19395        ///Reader of field `S07`
19396        pub type S07_R = crate::R<bool, bool>;
19397        ///Write proxy for field `S07`
19398        pub struct S07_W<'a> {
19399            w: &'a mut W,
19400        }
19401        impl<'a> S07_W<'a> {
19402            ///Sets the field bit
19403            #[inline(always)]
19404            pub fn set_bit(self) -> &'a mut W {
19405                self.bit(true)
19406            }
19407            ///Clears the field bit
19408            #[inline(always)]
19409            pub fn clear_bit(self) -> &'a mut W {
19410                self.bit(false)
19411            }
19412            ///Writes raw bits to the field
19413            #[inline(always)]
19414            pub fn bit(self, value: bool) -> &'a mut W {
19415                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
19416                self.w
19417            }
19418        }
19419        ///Reader of field `S06`
19420        pub type S06_R = crate::R<bool, bool>;
19421        ///Write proxy for field `S06`
19422        pub struct S06_W<'a> {
19423            w: &'a mut W,
19424        }
19425        impl<'a> S06_W<'a> {
19426            ///Sets the field bit
19427            #[inline(always)]
19428            pub fn set_bit(self) -> &'a mut W {
19429                self.bit(true)
19430            }
19431            ///Clears the field bit
19432            #[inline(always)]
19433            pub fn clear_bit(self) -> &'a mut W {
19434                self.bit(false)
19435            }
19436            ///Writes raw bits to the field
19437            #[inline(always)]
19438            pub fn bit(self, value: bool) -> &'a mut W {
19439                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
19440                self.w
19441            }
19442        }
19443        ///Reader of field `S05`
19444        pub type S05_R = crate::R<bool, bool>;
19445        ///Write proxy for field `S05`
19446        pub struct S05_W<'a> {
19447            w: &'a mut W,
19448        }
19449        impl<'a> S05_W<'a> {
19450            ///Sets the field bit
19451            #[inline(always)]
19452            pub fn set_bit(self) -> &'a mut W {
19453                self.bit(true)
19454            }
19455            ///Clears the field bit
19456            #[inline(always)]
19457            pub fn clear_bit(self) -> &'a mut W {
19458                self.bit(false)
19459            }
19460            ///Writes raw bits to the field
19461            #[inline(always)]
19462            pub fn bit(self, value: bool) -> &'a mut W {
19463                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
19464                self.w
19465            }
19466        }
19467        ///Reader of field `S04`
19468        pub type S04_R = crate::R<bool, bool>;
19469        ///Write proxy for field `S04`
19470        pub struct S04_W<'a> {
19471            w: &'a mut W,
19472        }
19473        impl<'a> S04_W<'a> {
19474            ///Sets the field bit
19475            #[inline(always)]
19476            pub fn set_bit(self) -> &'a mut W {
19477                self.bit(true)
19478            }
19479            ///Clears the field bit
19480            #[inline(always)]
19481            pub fn clear_bit(self) -> &'a mut W {
19482                self.bit(false)
19483            }
19484            ///Writes raw bits to the field
19485            #[inline(always)]
19486            pub fn bit(self, value: bool) -> &'a mut W {
19487                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
19488                self.w
19489            }
19490        }
19491        ///Reader of field `S03`
19492        pub type S03_R = crate::R<bool, bool>;
19493        ///Write proxy for field `S03`
19494        pub struct S03_W<'a> {
19495            w: &'a mut W,
19496        }
19497        impl<'a> S03_W<'a> {
19498            ///Sets the field bit
19499            #[inline(always)]
19500            pub fn set_bit(self) -> &'a mut W {
19501                self.bit(true)
19502            }
19503            ///Clears the field bit
19504            #[inline(always)]
19505            pub fn clear_bit(self) -> &'a mut W {
19506                self.bit(false)
19507            }
19508            ///Writes raw bits to the field
19509            #[inline(always)]
19510            pub fn bit(self, value: bool) -> &'a mut W {
19511                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
19512                self.w
19513            }
19514        }
19515        ///Reader of field `S02`
19516        pub type S02_R = crate::R<bool, bool>;
19517        ///Write proxy for field `S02`
19518        pub struct S02_W<'a> {
19519            w: &'a mut W,
19520        }
19521        impl<'a> S02_W<'a> {
19522            ///Sets the field bit
19523            #[inline(always)]
19524            pub fn set_bit(self) -> &'a mut W {
19525                self.bit(true)
19526            }
19527            ///Clears the field bit
19528            #[inline(always)]
19529            pub fn clear_bit(self) -> &'a mut W {
19530                self.bit(false)
19531            }
19532            ///Writes raw bits to the field
19533            #[inline(always)]
19534            pub fn bit(self, value: bool) -> &'a mut W {
19535                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
19536                self.w
19537            }
19538        }
19539        ///Reader of field `S01`
19540        pub type S01_R = crate::R<bool, bool>;
19541        ///Write proxy for field `S01`
19542        pub struct S01_W<'a> {
19543            w: &'a mut W,
19544        }
19545        impl<'a> S01_W<'a> {
19546            ///Sets the field bit
19547            #[inline(always)]
19548            pub fn set_bit(self) -> &'a mut W {
19549                self.bit(true)
19550            }
19551            ///Clears the field bit
19552            #[inline(always)]
19553            pub fn clear_bit(self) -> &'a mut W {
19554                self.bit(false)
19555            }
19556            ///Writes raw bits to the field
19557            #[inline(always)]
19558            pub fn bit(self, value: bool) -> &'a mut W {
19559                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
19560                self.w
19561            }
19562        }
19563        ///Reader of field `S00`
19564        pub type S00_R = crate::R<bool, bool>;
19565        ///Write proxy for field `S00`
19566        pub struct S00_W<'a> {
19567            w: &'a mut W,
19568        }
19569        impl<'a> S00_W<'a> {
19570            ///Sets the field bit
19571            #[inline(always)]
19572            pub fn set_bit(self) -> &'a mut W {
19573                self.bit(true)
19574            }
19575            ///Clears the field bit
19576            #[inline(always)]
19577            pub fn clear_bit(self) -> &'a mut W {
19578                self.bit(false)
19579            }
19580            ///Writes raw bits to the field
19581            #[inline(always)]
19582            pub fn bit(self, value: bool) -> &'a mut W {
19583                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
19584                self.w
19585            }
19586        }
19587        impl R {
19588            ///Bit 31 - S31
19589            #[inline(always)]
19590            pub fn s31(&self) -> S31_R {
19591                S31_R::new(((self.bits >> 31) & 0x01) != 0)
19592            }
19593            ///Bit 30 - S30
19594            #[inline(always)]
19595            pub fn s30(&self) -> S30_R {
19596                S30_R::new(((self.bits >> 30) & 0x01) != 0)
19597            }
19598            ///Bit 29 - S29
19599            #[inline(always)]
19600            pub fn s29(&self) -> S29_R {
19601                S29_R::new(((self.bits >> 29) & 0x01) != 0)
19602            }
19603            ///Bit 28 - S28
19604            #[inline(always)]
19605            pub fn s28(&self) -> S28_R {
19606                S28_R::new(((self.bits >> 28) & 0x01) != 0)
19607            }
19608            ///Bit 27 - S27
19609            #[inline(always)]
19610            pub fn s27(&self) -> S27_R {
19611                S27_R::new(((self.bits >> 27) & 0x01) != 0)
19612            }
19613            ///Bit 26 - S26
19614            #[inline(always)]
19615            pub fn s26(&self) -> S26_R {
19616                S26_R::new(((self.bits >> 26) & 0x01) != 0)
19617            }
19618            ///Bit 25 - S25
19619            #[inline(always)]
19620            pub fn s25(&self) -> S25_R {
19621                S25_R::new(((self.bits >> 25) & 0x01) != 0)
19622            }
19623            ///Bit 24 - S24
19624            #[inline(always)]
19625            pub fn s24(&self) -> S24_R {
19626                S24_R::new(((self.bits >> 24) & 0x01) != 0)
19627            }
19628            ///Bit 23 - S23
19629            #[inline(always)]
19630            pub fn s23(&self) -> S23_R {
19631                S23_R::new(((self.bits >> 23) & 0x01) != 0)
19632            }
19633            ///Bit 22 - S22
19634            #[inline(always)]
19635            pub fn s22(&self) -> S22_R {
19636                S22_R::new(((self.bits >> 22) & 0x01) != 0)
19637            }
19638            ///Bit 21 - S21
19639            #[inline(always)]
19640            pub fn s21(&self) -> S21_R {
19641                S21_R::new(((self.bits >> 21) & 0x01) != 0)
19642            }
19643            ///Bit 20 - S20
19644            #[inline(always)]
19645            pub fn s20(&self) -> S20_R {
19646                S20_R::new(((self.bits >> 20) & 0x01) != 0)
19647            }
19648            ///Bit 19 - S19
19649            #[inline(always)]
19650            pub fn s19(&self) -> S19_R {
19651                S19_R::new(((self.bits >> 19) & 0x01) != 0)
19652            }
19653            ///Bit 18 - S18
19654            #[inline(always)]
19655            pub fn s18(&self) -> S18_R {
19656                S18_R::new(((self.bits >> 18) & 0x01) != 0)
19657            }
19658            ///Bit 17 - S17
19659            #[inline(always)]
19660            pub fn s17(&self) -> S17_R {
19661                S17_R::new(((self.bits >> 17) & 0x01) != 0)
19662            }
19663            ///Bit 16 - S16
19664            #[inline(always)]
19665            pub fn s16(&self) -> S16_R {
19666                S16_R::new(((self.bits >> 16) & 0x01) != 0)
19667            }
19668            ///Bit 15 - S15
19669            #[inline(always)]
19670            pub fn s15(&self) -> S15_R {
19671                S15_R::new(((self.bits >> 15) & 0x01) != 0)
19672            }
19673            ///Bit 14 - S14
19674            #[inline(always)]
19675            pub fn s14(&self) -> S14_R {
19676                S14_R::new(((self.bits >> 14) & 0x01) != 0)
19677            }
19678            ///Bit 13 - S13
19679            #[inline(always)]
19680            pub fn s13(&self) -> S13_R {
19681                S13_R::new(((self.bits >> 13) & 0x01) != 0)
19682            }
19683            ///Bit 12 - S12
19684            #[inline(always)]
19685            pub fn s12(&self) -> S12_R {
19686                S12_R::new(((self.bits >> 12) & 0x01) != 0)
19687            }
19688            ///Bit 11 - S11
19689            #[inline(always)]
19690            pub fn s11(&self) -> S11_R {
19691                S11_R::new(((self.bits >> 11) & 0x01) != 0)
19692            }
19693            ///Bit 10 - S10
19694            #[inline(always)]
19695            pub fn s10(&self) -> S10_R {
19696                S10_R::new(((self.bits >> 10) & 0x01) != 0)
19697            }
19698            ///Bit 9 - S09
19699            #[inline(always)]
19700            pub fn s09(&self) -> S09_R {
19701                S09_R::new(((self.bits >> 9) & 0x01) != 0)
19702            }
19703            ///Bit 8 - S08
19704            #[inline(always)]
19705            pub fn s08(&self) -> S08_R {
19706                S08_R::new(((self.bits >> 8) & 0x01) != 0)
19707            }
19708            ///Bit 7 - S07
19709            #[inline(always)]
19710            pub fn s07(&self) -> S07_R {
19711                S07_R::new(((self.bits >> 7) & 0x01) != 0)
19712            }
19713            ///Bit 6 - S06
19714            #[inline(always)]
19715            pub fn s06(&self) -> S06_R {
19716                S06_R::new(((self.bits >> 6) & 0x01) != 0)
19717            }
19718            ///Bit 5 - S05
19719            #[inline(always)]
19720            pub fn s05(&self) -> S05_R {
19721                S05_R::new(((self.bits >> 5) & 0x01) != 0)
19722            }
19723            ///Bit 4 - S04
19724            #[inline(always)]
19725            pub fn s04(&self) -> S04_R {
19726                S04_R::new(((self.bits >> 4) & 0x01) != 0)
19727            }
19728            ///Bit 3 - S03
19729            #[inline(always)]
19730            pub fn s03(&self) -> S03_R {
19731                S03_R::new(((self.bits >> 3) & 0x01) != 0)
19732            }
19733            ///Bit 2 - S02
19734            #[inline(always)]
19735            pub fn s02(&self) -> S02_R {
19736                S02_R::new(((self.bits >> 2) & 0x01) != 0)
19737            }
19738            ///Bit 1 - S01
19739            #[inline(always)]
19740            pub fn s01(&self) -> S01_R {
19741                S01_R::new(((self.bits >> 1) & 0x01) != 0)
19742            }
19743            ///Bit 0 - S00
19744            #[inline(always)]
19745            pub fn s00(&self) -> S00_R {
19746                S00_R::new((self.bits & 0x01) != 0)
19747            }
19748        }
19749        impl W {
19750            ///Bit 31 - S31
19751            #[inline(always)]
19752            pub fn s31(&mut self) -> S31_W {
19753                S31_W { w: self }
19754            }
19755            ///Bit 30 - S30
19756            #[inline(always)]
19757            pub fn s30(&mut self) -> S30_W {
19758                S30_W { w: self }
19759            }
19760            ///Bit 29 - S29
19761            #[inline(always)]
19762            pub fn s29(&mut self) -> S29_W {
19763                S29_W { w: self }
19764            }
19765            ///Bit 28 - S28
19766            #[inline(always)]
19767            pub fn s28(&mut self) -> S28_W {
19768                S28_W { w: self }
19769            }
19770            ///Bit 27 - S27
19771            #[inline(always)]
19772            pub fn s27(&mut self) -> S27_W {
19773                S27_W { w: self }
19774            }
19775            ///Bit 26 - S26
19776            #[inline(always)]
19777            pub fn s26(&mut self) -> S26_W {
19778                S26_W { w: self }
19779            }
19780            ///Bit 25 - S25
19781            #[inline(always)]
19782            pub fn s25(&mut self) -> S25_W {
19783                S25_W { w: self }
19784            }
19785            ///Bit 24 - S24
19786            #[inline(always)]
19787            pub fn s24(&mut self) -> S24_W {
19788                S24_W { w: self }
19789            }
19790            ///Bit 23 - S23
19791            #[inline(always)]
19792            pub fn s23(&mut self) -> S23_W {
19793                S23_W { w: self }
19794            }
19795            ///Bit 22 - S22
19796            #[inline(always)]
19797            pub fn s22(&mut self) -> S22_W {
19798                S22_W { w: self }
19799            }
19800            ///Bit 21 - S21
19801            #[inline(always)]
19802            pub fn s21(&mut self) -> S21_W {
19803                S21_W { w: self }
19804            }
19805            ///Bit 20 - S20
19806            #[inline(always)]
19807            pub fn s20(&mut self) -> S20_W {
19808                S20_W { w: self }
19809            }
19810            ///Bit 19 - S19
19811            #[inline(always)]
19812            pub fn s19(&mut self) -> S19_W {
19813                S19_W { w: self }
19814            }
19815            ///Bit 18 - S18
19816            #[inline(always)]
19817            pub fn s18(&mut self) -> S18_W {
19818                S18_W { w: self }
19819            }
19820            ///Bit 17 - S17
19821            #[inline(always)]
19822            pub fn s17(&mut self) -> S17_W {
19823                S17_W { w: self }
19824            }
19825            ///Bit 16 - S16
19826            #[inline(always)]
19827            pub fn s16(&mut self) -> S16_W {
19828                S16_W { w: self }
19829            }
19830            ///Bit 15 - S15
19831            #[inline(always)]
19832            pub fn s15(&mut self) -> S15_W {
19833                S15_W { w: self }
19834            }
19835            ///Bit 14 - S14
19836            #[inline(always)]
19837            pub fn s14(&mut self) -> S14_W {
19838                S14_W { w: self }
19839            }
19840            ///Bit 13 - S13
19841            #[inline(always)]
19842            pub fn s13(&mut self) -> S13_W {
19843                S13_W { w: self }
19844            }
19845            ///Bit 12 - S12
19846            #[inline(always)]
19847            pub fn s12(&mut self) -> S12_W {
19848                S12_W { w: self }
19849            }
19850            ///Bit 11 - S11
19851            #[inline(always)]
19852            pub fn s11(&mut self) -> S11_W {
19853                S11_W { w: self }
19854            }
19855            ///Bit 10 - S10
19856            #[inline(always)]
19857            pub fn s10(&mut self) -> S10_W {
19858                S10_W { w: self }
19859            }
19860            ///Bit 9 - S09
19861            #[inline(always)]
19862            pub fn s09(&mut self) -> S09_W {
19863                S09_W { w: self }
19864            }
19865            ///Bit 8 - S08
19866            #[inline(always)]
19867            pub fn s08(&mut self) -> S08_W {
19868                S08_W { w: self }
19869            }
19870            ///Bit 7 - S07
19871            #[inline(always)]
19872            pub fn s07(&mut self) -> S07_W {
19873                S07_W { w: self }
19874            }
19875            ///Bit 6 - S06
19876            #[inline(always)]
19877            pub fn s06(&mut self) -> S06_W {
19878                S06_W { w: self }
19879            }
19880            ///Bit 5 - S05
19881            #[inline(always)]
19882            pub fn s05(&mut self) -> S05_W {
19883                S05_W { w: self }
19884            }
19885            ///Bit 4 - S04
19886            #[inline(always)]
19887            pub fn s04(&mut self) -> S04_W {
19888                S04_W { w: self }
19889            }
19890            ///Bit 3 - S03
19891            #[inline(always)]
19892            pub fn s03(&mut self) -> S03_W {
19893                S03_W { w: self }
19894            }
19895            ///Bit 2 - S02
19896            #[inline(always)]
19897            pub fn s02(&mut self) -> S02_W {
19898                S02_W { w: self }
19899            }
19900            ///Bit 1 - S01
19901            #[inline(always)]
19902            pub fn s01(&mut self) -> S01_W {
19903                S01_W { w: self }
19904            }
19905            ///Bit 0 - S00
19906            #[inline(always)]
19907            pub fn s00(&mut self) -> S00_W {
19908                S00_W { w: self }
19909            }
19910        }
19911    }
19912    ///display memory
19913    ///
19914    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
19915    ///
19916    ///For information about available fields see [ram_com3](ram_com3) module
19917    pub type RAM_COM3 = crate::Reg<u32, _RAM_COM3>;
19918    #[allow(missing_docs)]
19919    #[doc(hidden)]
19920    pub struct _RAM_COM3;
19921    ///`read()` method returns [ram_com3::R](ram_com3::R) reader structure
19922    impl crate::Readable for RAM_COM3 {}
19923    ///`write(|w| ..)` method takes [ram_com3::W](ram_com3::W) writer structure
19924    impl crate::Writable for RAM_COM3 {}
19925    ///display memory
19926    pub mod ram_com3 {
19927        ///Reader of register RAM_COM3
19928        pub type R = crate::R<u32, super::RAM_COM3>;
19929        ///Writer for register RAM_COM3
19930        pub type W = crate::W<u32, super::RAM_COM3>;
19931        ///Register RAM_COM3 `reset()`'s with value 0
19932        impl crate::ResetValue for super::RAM_COM3 {
19933            type Type = u32;
19934            #[inline(always)]
19935            fn reset_value() -> Self::Type {
19936                0
19937            }
19938        }
19939        ///Reader of field `S31`
19940        pub type S31_R = crate::R<bool, bool>;
19941        ///Write proxy for field `S31`
19942        pub struct S31_W<'a> {
19943            w: &'a mut W,
19944        }
19945        impl<'a> S31_W<'a> {
19946            ///Sets the field bit
19947            #[inline(always)]
19948            pub fn set_bit(self) -> &'a mut W {
19949                self.bit(true)
19950            }
19951            ///Clears the field bit
19952            #[inline(always)]
19953            pub fn clear_bit(self) -> &'a mut W {
19954                self.bit(false)
19955            }
19956            ///Writes raw bits to the field
19957            #[inline(always)]
19958            pub fn bit(self, value: bool) -> &'a mut W {
19959                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
19960                self.w
19961            }
19962        }
19963        ///Reader of field `S30`
19964        pub type S30_R = crate::R<bool, bool>;
19965        ///Write proxy for field `S30`
19966        pub struct S30_W<'a> {
19967            w: &'a mut W,
19968        }
19969        impl<'a> S30_W<'a> {
19970            ///Sets the field bit
19971            #[inline(always)]
19972            pub fn set_bit(self) -> &'a mut W {
19973                self.bit(true)
19974            }
19975            ///Clears the field bit
19976            #[inline(always)]
19977            pub fn clear_bit(self) -> &'a mut W {
19978                self.bit(false)
19979            }
19980            ///Writes raw bits to the field
19981            #[inline(always)]
19982            pub fn bit(self, value: bool) -> &'a mut W {
19983                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
19984                self.w
19985            }
19986        }
19987        ///Reader of field `S29`
19988        pub type S29_R = crate::R<bool, bool>;
19989        ///Write proxy for field `S29`
19990        pub struct S29_W<'a> {
19991            w: &'a mut W,
19992        }
19993        impl<'a> S29_W<'a> {
19994            ///Sets the field bit
19995            #[inline(always)]
19996            pub fn set_bit(self) -> &'a mut W {
19997                self.bit(true)
19998            }
19999            ///Clears the field bit
20000            #[inline(always)]
20001            pub fn clear_bit(self) -> &'a mut W {
20002                self.bit(false)
20003            }
20004            ///Writes raw bits to the field
20005            #[inline(always)]
20006            pub fn bit(self, value: bool) -> &'a mut W {
20007                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
20008                self.w
20009            }
20010        }
20011        ///Reader of field `S28`
20012        pub type S28_R = crate::R<bool, bool>;
20013        ///Write proxy for field `S28`
20014        pub struct S28_W<'a> {
20015            w: &'a mut W,
20016        }
20017        impl<'a> S28_W<'a> {
20018            ///Sets the field bit
20019            #[inline(always)]
20020            pub fn set_bit(self) -> &'a mut W {
20021                self.bit(true)
20022            }
20023            ///Clears the field bit
20024            #[inline(always)]
20025            pub fn clear_bit(self) -> &'a mut W {
20026                self.bit(false)
20027            }
20028            ///Writes raw bits to the field
20029            #[inline(always)]
20030            pub fn bit(self, value: bool) -> &'a mut W {
20031                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
20032                self.w
20033            }
20034        }
20035        ///Reader of field `S27`
20036        pub type S27_R = crate::R<bool, bool>;
20037        ///Write proxy for field `S27`
20038        pub struct S27_W<'a> {
20039            w: &'a mut W,
20040        }
20041        impl<'a> S27_W<'a> {
20042            ///Sets the field bit
20043            #[inline(always)]
20044            pub fn set_bit(self) -> &'a mut W {
20045                self.bit(true)
20046            }
20047            ///Clears the field bit
20048            #[inline(always)]
20049            pub fn clear_bit(self) -> &'a mut W {
20050                self.bit(false)
20051            }
20052            ///Writes raw bits to the field
20053            #[inline(always)]
20054            pub fn bit(self, value: bool) -> &'a mut W {
20055                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
20056                self.w
20057            }
20058        }
20059        ///Reader of field `S26`
20060        pub type S26_R = crate::R<bool, bool>;
20061        ///Write proxy for field `S26`
20062        pub struct S26_W<'a> {
20063            w: &'a mut W,
20064        }
20065        impl<'a> S26_W<'a> {
20066            ///Sets the field bit
20067            #[inline(always)]
20068            pub fn set_bit(self) -> &'a mut W {
20069                self.bit(true)
20070            }
20071            ///Clears the field bit
20072            #[inline(always)]
20073            pub fn clear_bit(self) -> &'a mut W {
20074                self.bit(false)
20075            }
20076            ///Writes raw bits to the field
20077            #[inline(always)]
20078            pub fn bit(self, value: bool) -> &'a mut W {
20079                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
20080                self.w
20081            }
20082        }
20083        ///Reader of field `S25`
20084        pub type S25_R = crate::R<bool, bool>;
20085        ///Write proxy for field `S25`
20086        pub struct S25_W<'a> {
20087            w: &'a mut W,
20088        }
20089        impl<'a> S25_W<'a> {
20090            ///Sets the field bit
20091            #[inline(always)]
20092            pub fn set_bit(self) -> &'a mut W {
20093                self.bit(true)
20094            }
20095            ///Clears the field bit
20096            #[inline(always)]
20097            pub fn clear_bit(self) -> &'a mut W {
20098                self.bit(false)
20099            }
20100            ///Writes raw bits to the field
20101            #[inline(always)]
20102            pub fn bit(self, value: bool) -> &'a mut W {
20103                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
20104                self.w
20105            }
20106        }
20107        ///Reader of field `S24`
20108        pub type S24_R = crate::R<bool, bool>;
20109        ///Write proxy for field `S24`
20110        pub struct S24_W<'a> {
20111            w: &'a mut W,
20112        }
20113        impl<'a> S24_W<'a> {
20114            ///Sets the field bit
20115            #[inline(always)]
20116            pub fn set_bit(self) -> &'a mut W {
20117                self.bit(true)
20118            }
20119            ///Clears the field bit
20120            #[inline(always)]
20121            pub fn clear_bit(self) -> &'a mut W {
20122                self.bit(false)
20123            }
20124            ///Writes raw bits to the field
20125            #[inline(always)]
20126            pub fn bit(self, value: bool) -> &'a mut W {
20127                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
20128                self.w
20129            }
20130        }
20131        ///Reader of field `S23`
20132        pub type S23_R = crate::R<bool, bool>;
20133        ///Write proxy for field `S23`
20134        pub struct S23_W<'a> {
20135            w: &'a mut W,
20136        }
20137        impl<'a> S23_W<'a> {
20138            ///Sets the field bit
20139            #[inline(always)]
20140            pub fn set_bit(self) -> &'a mut W {
20141                self.bit(true)
20142            }
20143            ///Clears the field bit
20144            #[inline(always)]
20145            pub fn clear_bit(self) -> &'a mut W {
20146                self.bit(false)
20147            }
20148            ///Writes raw bits to the field
20149            #[inline(always)]
20150            pub fn bit(self, value: bool) -> &'a mut W {
20151                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
20152                self.w
20153            }
20154        }
20155        ///Reader of field `S22`
20156        pub type S22_R = crate::R<bool, bool>;
20157        ///Write proxy for field `S22`
20158        pub struct S22_W<'a> {
20159            w: &'a mut W,
20160        }
20161        impl<'a> S22_W<'a> {
20162            ///Sets the field bit
20163            #[inline(always)]
20164            pub fn set_bit(self) -> &'a mut W {
20165                self.bit(true)
20166            }
20167            ///Clears the field bit
20168            #[inline(always)]
20169            pub fn clear_bit(self) -> &'a mut W {
20170                self.bit(false)
20171            }
20172            ///Writes raw bits to the field
20173            #[inline(always)]
20174            pub fn bit(self, value: bool) -> &'a mut W {
20175                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
20176                self.w
20177            }
20178        }
20179        ///Reader of field `S21`
20180        pub type S21_R = crate::R<bool, bool>;
20181        ///Write proxy for field `S21`
20182        pub struct S21_W<'a> {
20183            w: &'a mut W,
20184        }
20185        impl<'a> S21_W<'a> {
20186            ///Sets the field bit
20187            #[inline(always)]
20188            pub fn set_bit(self) -> &'a mut W {
20189                self.bit(true)
20190            }
20191            ///Clears the field bit
20192            #[inline(always)]
20193            pub fn clear_bit(self) -> &'a mut W {
20194                self.bit(false)
20195            }
20196            ///Writes raw bits to the field
20197            #[inline(always)]
20198            pub fn bit(self, value: bool) -> &'a mut W {
20199                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
20200                self.w
20201            }
20202        }
20203        ///Reader of field `S20`
20204        pub type S20_R = crate::R<bool, bool>;
20205        ///Write proxy for field `S20`
20206        pub struct S20_W<'a> {
20207            w: &'a mut W,
20208        }
20209        impl<'a> S20_W<'a> {
20210            ///Sets the field bit
20211            #[inline(always)]
20212            pub fn set_bit(self) -> &'a mut W {
20213                self.bit(true)
20214            }
20215            ///Clears the field bit
20216            #[inline(always)]
20217            pub fn clear_bit(self) -> &'a mut W {
20218                self.bit(false)
20219            }
20220            ///Writes raw bits to the field
20221            #[inline(always)]
20222            pub fn bit(self, value: bool) -> &'a mut W {
20223                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
20224                self.w
20225            }
20226        }
20227        ///Reader of field `S19`
20228        pub type S19_R = crate::R<bool, bool>;
20229        ///Write proxy for field `S19`
20230        pub struct S19_W<'a> {
20231            w: &'a mut W,
20232        }
20233        impl<'a> S19_W<'a> {
20234            ///Sets the field bit
20235            #[inline(always)]
20236            pub fn set_bit(self) -> &'a mut W {
20237                self.bit(true)
20238            }
20239            ///Clears the field bit
20240            #[inline(always)]
20241            pub fn clear_bit(self) -> &'a mut W {
20242                self.bit(false)
20243            }
20244            ///Writes raw bits to the field
20245            #[inline(always)]
20246            pub fn bit(self, value: bool) -> &'a mut W {
20247                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
20248                self.w
20249            }
20250        }
20251        ///Reader of field `S18`
20252        pub type S18_R = crate::R<bool, bool>;
20253        ///Write proxy for field `S18`
20254        pub struct S18_W<'a> {
20255            w: &'a mut W,
20256        }
20257        impl<'a> S18_W<'a> {
20258            ///Sets the field bit
20259            #[inline(always)]
20260            pub fn set_bit(self) -> &'a mut W {
20261                self.bit(true)
20262            }
20263            ///Clears the field bit
20264            #[inline(always)]
20265            pub fn clear_bit(self) -> &'a mut W {
20266                self.bit(false)
20267            }
20268            ///Writes raw bits to the field
20269            #[inline(always)]
20270            pub fn bit(self, value: bool) -> &'a mut W {
20271                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
20272                self.w
20273            }
20274        }
20275        ///Reader of field `S17`
20276        pub type S17_R = crate::R<bool, bool>;
20277        ///Write proxy for field `S17`
20278        pub struct S17_W<'a> {
20279            w: &'a mut W,
20280        }
20281        impl<'a> S17_W<'a> {
20282            ///Sets the field bit
20283            #[inline(always)]
20284            pub fn set_bit(self) -> &'a mut W {
20285                self.bit(true)
20286            }
20287            ///Clears the field bit
20288            #[inline(always)]
20289            pub fn clear_bit(self) -> &'a mut W {
20290                self.bit(false)
20291            }
20292            ///Writes raw bits to the field
20293            #[inline(always)]
20294            pub fn bit(self, value: bool) -> &'a mut W {
20295                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
20296                self.w
20297            }
20298        }
20299        ///Reader of field `S16`
20300        pub type S16_R = crate::R<bool, bool>;
20301        ///Write proxy for field `S16`
20302        pub struct S16_W<'a> {
20303            w: &'a mut W,
20304        }
20305        impl<'a> S16_W<'a> {
20306            ///Sets the field bit
20307            #[inline(always)]
20308            pub fn set_bit(self) -> &'a mut W {
20309                self.bit(true)
20310            }
20311            ///Clears the field bit
20312            #[inline(always)]
20313            pub fn clear_bit(self) -> &'a mut W {
20314                self.bit(false)
20315            }
20316            ///Writes raw bits to the field
20317            #[inline(always)]
20318            pub fn bit(self, value: bool) -> &'a mut W {
20319                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
20320                self.w
20321            }
20322        }
20323        ///Reader of field `S15`
20324        pub type S15_R = crate::R<bool, bool>;
20325        ///Write proxy for field `S15`
20326        pub struct S15_W<'a> {
20327            w: &'a mut W,
20328        }
20329        impl<'a> S15_W<'a> {
20330            ///Sets the field bit
20331            #[inline(always)]
20332            pub fn set_bit(self) -> &'a mut W {
20333                self.bit(true)
20334            }
20335            ///Clears the field bit
20336            #[inline(always)]
20337            pub fn clear_bit(self) -> &'a mut W {
20338                self.bit(false)
20339            }
20340            ///Writes raw bits to the field
20341            #[inline(always)]
20342            pub fn bit(self, value: bool) -> &'a mut W {
20343                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
20344                self.w
20345            }
20346        }
20347        ///Reader of field `S14`
20348        pub type S14_R = crate::R<bool, bool>;
20349        ///Write proxy for field `S14`
20350        pub struct S14_W<'a> {
20351            w: &'a mut W,
20352        }
20353        impl<'a> S14_W<'a> {
20354            ///Sets the field bit
20355            #[inline(always)]
20356            pub fn set_bit(self) -> &'a mut W {
20357                self.bit(true)
20358            }
20359            ///Clears the field bit
20360            #[inline(always)]
20361            pub fn clear_bit(self) -> &'a mut W {
20362                self.bit(false)
20363            }
20364            ///Writes raw bits to the field
20365            #[inline(always)]
20366            pub fn bit(self, value: bool) -> &'a mut W {
20367                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
20368                self.w
20369            }
20370        }
20371        ///Reader of field `S13`
20372        pub type S13_R = crate::R<bool, bool>;
20373        ///Write proxy for field `S13`
20374        pub struct S13_W<'a> {
20375            w: &'a mut W,
20376        }
20377        impl<'a> S13_W<'a> {
20378            ///Sets the field bit
20379            #[inline(always)]
20380            pub fn set_bit(self) -> &'a mut W {
20381                self.bit(true)
20382            }
20383            ///Clears the field bit
20384            #[inline(always)]
20385            pub fn clear_bit(self) -> &'a mut W {
20386                self.bit(false)
20387            }
20388            ///Writes raw bits to the field
20389            #[inline(always)]
20390            pub fn bit(self, value: bool) -> &'a mut W {
20391                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
20392                self.w
20393            }
20394        }
20395        ///Reader of field `S12`
20396        pub type S12_R = crate::R<bool, bool>;
20397        ///Write proxy for field `S12`
20398        pub struct S12_W<'a> {
20399            w: &'a mut W,
20400        }
20401        impl<'a> S12_W<'a> {
20402            ///Sets the field bit
20403            #[inline(always)]
20404            pub fn set_bit(self) -> &'a mut W {
20405                self.bit(true)
20406            }
20407            ///Clears the field bit
20408            #[inline(always)]
20409            pub fn clear_bit(self) -> &'a mut W {
20410                self.bit(false)
20411            }
20412            ///Writes raw bits to the field
20413            #[inline(always)]
20414            pub fn bit(self, value: bool) -> &'a mut W {
20415                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
20416                self.w
20417            }
20418        }
20419        ///Reader of field `S11`
20420        pub type S11_R = crate::R<bool, bool>;
20421        ///Write proxy for field `S11`
20422        pub struct S11_W<'a> {
20423            w: &'a mut W,
20424        }
20425        impl<'a> S11_W<'a> {
20426            ///Sets the field bit
20427            #[inline(always)]
20428            pub fn set_bit(self) -> &'a mut W {
20429                self.bit(true)
20430            }
20431            ///Clears the field bit
20432            #[inline(always)]
20433            pub fn clear_bit(self) -> &'a mut W {
20434                self.bit(false)
20435            }
20436            ///Writes raw bits to the field
20437            #[inline(always)]
20438            pub fn bit(self, value: bool) -> &'a mut W {
20439                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
20440                self.w
20441            }
20442        }
20443        ///Reader of field `S10`
20444        pub type S10_R = crate::R<bool, bool>;
20445        ///Write proxy for field `S10`
20446        pub struct S10_W<'a> {
20447            w: &'a mut W,
20448        }
20449        impl<'a> S10_W<'a> {
20450            ///Sets the field bit
20451            #[inline(always)]
20452            pub fn set_bit(self) -> &'a mut W {
20453                self.bit(true)
20454            }
20455            ///Clears the field bit
20456            #[inline(always)]
20457            pub fn clear_bit(self) -> &'a mut W {
20458                self.bit(false)
20459            }
20460            ///Writes raw bits to the field
20461            #[inline(always)]
20462            pub fn bit(self, value: bool) -> &'a mut W {
20463                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
20464                self.w
20465            }
20466        }
20467        ///Reader of field `S09`
20468        pub type S09_R = crate::R<bool, bool>;
20469        ///Write proxy for field `S09`
20470        pub struct S09_W<'a> {
20471            w: &'a mut W,
20472        }
20473        impl<'a> S09_W<'a> {
20474            ///Sets the field bit
20475            #[inline(always)]
20476            pub fn set_bit(self) -> &'a mut W {
20477                self.bit(true)
20478            }
20479            ///Clears the field bit
20480            #[inline(always)]
20481            pub fn clear_bit(self) -> &'a mut W {
20482                self.bit(false)
20483            }
20484            ///Writes raw bits to the field
20485            #[inline(always)]
20486            pub fn bit(self, value: bool) -> &'a mut W {
20487                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
20488                self.w
20489            }
20490        }
20491        ///Reader of field `S08`
20492        pub type S08_R = crate::R<bool, bool>;
20493        ///Write proxy for field `S08`
20494        pub struct S08_W<'a> {
20495            w: &'a mut W,
20496        }
20497        impl<'a> S08_W<'a> {
20498            ///Sets the field bit
20499            #[inline(always)]
20500            pub fn set_bit(self) -> &'a mut W {
20501                self.bit(true)
20502            }
20503            ///Clears the field bit
20504            #[inline(always)]
20505            pub fn clear_bit(self) -> &'a mut W {
20506                self.bit(false)
20507            }
20508            ///Writes raw bits to the field
20509            #[inline(always)]
20510            pub fn bit(self, value: bool) -> &'a mut W {
20511                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
20512                self.w
20513            }
20514        }
20515        ///Reader of field `S07`
20516        pub type S07_R = crate::R<bool, bool>;
20517        ///Write proxy for field `S07`
20518        pub struct S07_W<'a> {
20519            w: &'a mut W,
20520        }
20521        impl<'a> S07_W<'a> {
20522            ///Sets the field bit
20523            #[inline(always)]
20524            pub fn set_bit(self) -> &'a mut W {
20525                self.bit(true)
20526            }
20527            ///Clears the field bit
20528            #[inline(always)]
20529            pub fn clear_bit(self) -> &'a mut W {
20530                self.bit(false)
20531            }
20532            ///Writes raw bits to the field
20533            #[inline(always)]
20534            pub fn bit(self, value: bool) -> &'a mut W {
20535                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
20536                self.w
20537            }
20538        }
20539        ///Reader of field `S06`
20540        pub type S06_R = crate::R<bool, bool>;
20541        ///Write proxy for field `S06`
20542        pub struct S06_W<'a> {
20543            w: &'a mut W,
20544        }
20545        impl<'a> S06_W<'a> {
20546            ///Sets the field bit
20547            #[inline(always)]
20548            pub fn set_bit(self) -> &'a mut W {
20549                self.bit(true)
20550            }
20551            ///Clears the field bit
20552            #[inline(always)]
20553            pub fn clear_bit(self) -> &'a mut W {
20554                self.bit(false)
20555            }
20556            ///Writes raw bits to the field
20557            #[inline(always)]
20558            pub fn bit(self, value: bool) -> &'a mut W {
20559                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
20560                self.w
20561            }
20562        }
20563        ///Reader of field `S05`
20564        pub type S05_R = crate::R<bool, bool>;
20565        ///Write proxy for field `S05`
20566        pub struct S05_W<'a> {
20567            w: &'a mut W,
20568        }
20569        impl<'a> S05_W<'a> {
20570            ///Sets the field bit
20571            #[inline(always)]
20572            pub fn set_bit(self) -> &'a mut W {
20573                self.bit(true)
20574            }
20575            ///Clears the field bit
20576            #[inline(always)]
20577            pub fn clear_bit(self) -> &'a mut W {
20578                self.bit(false)
20579            }
20580            ///Writes raw bits to the field
20581            #[inline(always)]
20582            pub fn bit(self, value: bool) -> &'a mut W {
20583                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
20584                self.w
20585            }
20586        }
20587        ///Reader of field `S04`
20588        pub type S04_R = crate::R<bool, bool>;
20589        ///Write proxy for field `S04`
20590        pub struct S04_W<'a> {
20591            w: &'a mut W,
20592        }
20593        impl<'a> S04_W<'a> {
20594            ///Sets the field bit
20595            #[inline(always)]
20596            pub fn set_bit(self) -> &'a mut W {
20597                self.bit(true)
20598            }
20599            ///Clears the field bit
20600            #[inline(always)]
20601            pub fn clear_bit(self) -> &'a mut W {
20602                self.bit(false)
20603            }
20604            ///Writes raw bits to the field
20605            #[inline(always)]
20606            pub fn bit(self, value: bool) -> &'a mut W {
20607                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
20608                self.w
20609            }
20610        }
20611        ///Reader of field `S03`
20612        pub type S03_R = crate::R<bool, bool>;
20613        ///Write proxy for field `S03`
20614        pub struct S03_W<'a> {
20615            w: &'a mut W,
20616        }
20617        impl<'a> S03_W<'a> {
20618            ///Sets the field bit
20619            #[inline(always)]
20620            pub fn set_bit(self) -> &'a mut W {
20621                self.bit(true)
20622            }
20623            ///Clears the field bit
20624            #[inline(always)]
20625            pub fn clear_bit(self) -> &'a mut W {
20626                self.bit(false)
20627            }
20628            ///Writes raw bits to the field
20629            #[inline(always)]
20630            pub fn bit(self, value: bool) -> &'a mut W {
20631                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
20632                self.w
20633            }
20634        }
20635        ///Reader of field `S02`
20636        pub type S02_R = crate::R<bool, bool>;
20637        ///Write proxy for field `S02`
20638        pub struct S02_W<'a> {
20639            w: &'a mut W,
20640        }
20641        impl<'a> S02_W<'a> {
20642            ///Sets the field bit
20643            #[inline(always)]
20644            pub fn set_bit(self) -> &'a mut W {
20645                self.bit(true)
20646            }
20647            ///Clears the field bit
20648            #[inline(always)]
20649            pub fn clear_bit(self) -> &'a mut W {
20650                self.bit(false)
20651            }
20652            ///Writes raw bits to the field
20653            #[inline(always)]
20654            pub fn bit(self, value: bool) -> &'a mut W {
20655                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
20656                self.w
20657            }
20658        }
20659        ///Reader of field `S01`
20660        pub type S01_R = crate::R<bool, bool>;
20661        ///Write proxy for field `S01`
20662        pub struct S01_W<'a> {
20663            w: &'a mut W,
20664        }
20665        impl<'a> S01_W<'a> {
20666            ///Sets the field bit
20667            #[inline(always)]
20668            pub fn set_bit(self) -> &'a mut W {
20669                self.bit(true)
20670            }
20671            ///Clears the field bit
20672            #[inline(always)]
20673            pub fn clear_bit(self) -> &'a mut W {
20674                self.bit(false)
20675            }
20676            ///Writes raw bits to the field
20677            #[inline(always)]
20678            pub fn bit(self, value: bool) -> &'a mut W {
20679                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
20680                self.w
20681            }
20682        }
20683        ///Reader of field `S00`
20684        pub type S00_R = crate::R<bool, bool>;
20685        ///Write proxy for field `S00`
20686        pub struct S00_W<'a> {
20687            w: &'a mut W,
20688        }
20689        impl<'a> S00_W<'a> {
20690            ///Sets the field bit
20691            #[inline(always)]
20692            pub fn set_bit(self) -> &'a mut W {
20693                self.bit(true)
20694            }
20695            ///Clears the field bit
20696            #[inline(always)]
20697            pub fn clear_bit(self) -> &'a mut W {
20698                self.bit(false)
20699            }
20700            ///Writes raw bits to the field
20701            #[inline(always)]
20702            pub fn bit(self, value: bool) -> &'a mut W {
20703                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
20704                self.w
20705            }
20706        }
20707        impl R {
20708            ///Bit 31 - S31
20709            #[inline(always)]
20710            pub fn s31(&self) -> S31_R {
20711                S31_R::new(((self.bits >> 31) & 0x01) != 0)
20712            }
20713            ///Bit 30 - S30
20714            #[inline(always)]
20715            pub fn s30(&self) -> S30_R {
20716                S30_R::new(((self.bits >> 30) & 0x01) != 0)
20717            }
20718            ///Bit 29 - S29
20719            #[inline(always)]
20720            pub fn s29(&self) -> S29_R {
20721                S29_R::new(((self.bits >> 29) & 0x01) != 0)
20722            }
20723            ///Bit 28 - S28
20724            #[inline(always)]
20725            pub fn s28(&self) -> S28_R {
20726                S28_R::new(((self.bits >> 28) & 0x01) != 0)
20727            }
20728            ///Bit 27 - S27
20729            #[inline(always)]
20730            pub fn s27(&self) -> S27_R {
20731                S27_R::new(((self.bits >> 27) & 0x01) != 0)
20732            }
20733            ///Bit 26 - S26
20734            #[inline(always)]
20735            pub fn s26(&self) -> S26_R {
20736                S26_R::new(((self.bits >> 26) & 0x01) != 0)
20737            }
20738            ///Bit 25 - S25
20739            #[inline(always)]
20740            pub fn s25(&self) -> S25_R {
20741                S25_R::new(((self.bits >> 25) & 0x01) != 0)
20742            }
20743            ///Bit 24 - S24
20744            #[inline(always)]
20745            pub fn s24(&self) -> S24_R {
20746                S24_R::new(((self.bits >> 24) & 0x01) != 0)
20747            }
20748            ///Bit 23 - S23
20749            #[inline(always)]
20750            pub fn s23(&self) -> S23_R {
20751                S23_R::new(((self.bits >> 23) & 0x01) != 0)
20752            }
20753            ///Bit 22 - S22
20754            #[inline(always)]
20755            pub fn s22(&self) -> S22_R {
20756                S22_R::new(((self.bits >> 22) & 0x01) != 0)
20757            }
20758            ///Bit 21 - S21
20759            #[inline(always)]
20760            pub fn s21(&self) -> S21_R {
20761                S21_R::new(((self.bits >> 21) & 0x01) != 0)
20762            }
20763            ///Bit 20 - S20
20764            #[inline(always)]
20765            pub fn s20(&self) -> S20_R {
20766                S20_R::new(((self.bits >> 20) & 0x01) != 0)
20767            }
20768            ///Bit 19 - S19
20769            #[inline(always)]
20770            pub fn s19(&self) -> S19_R {
20771                S19_R::new(((self.bits >> 19) & 0x01) != 0)
20772            }
20773            ///Bit 18 - S18
20774            #[inline(always)]
20775            pub fn s18(&self) -> S18_R {
20776                S18_R::new(((self.bits >> 18) & 0x01) != 0)
20777            }
20778            ///Bit 17 - S17
20779            #[inline(always)]
20780            pub fn s17(&self) -> S17_R {
20781                S17_R::new(((self.bits >> 17) & 0x01) != 0)
20782            }
20783            ///Bit 16 - S16
20784            #[inline(always)]
20785            pub fn s16(&self) -> S16_R {
20786                S16_R::new(((self.bits >> 16) & 0x01) != 0)
20787            }
20788            ///Bit 15 - S15
20789            #[inline(always)]
20790            pub fn s15(&self) -> S15_R {
20791                S15_R::new(((self.bits >> 15) & 0x01) != 0)
20792            }
20793            ///Bit 14 - S14
20794            #[inline(always)]
20795            pub fn s14(&self) -> S14_R {
20796                S14_R::new(((self.bits >> 14) & 0x01) != 0)
20797            }
20798            ///Bit 13 - S13
20799            #[inline(always)]
20800            pub fn s13(&self) -> S13_R {
20801                S13_R::new(((self.bits >> 13) & 0x01) != 0)
20802            }
20803            ///Bit 12 - S12
20804            #[inline(always)]
20805            pub fn s12(&self) -> S12_R {
20806                S12_R::new(((self.bits >> 12) & 0x01) != 0)
20807            }
20808            ///Bit 11 - S11
20809            #[inline(always)]
20810            pub fn s11(&self) -> S11_R {
20811                S11_R::new(((self.bits >> 11) & 0x01) != 0)
20812            }
20813            ///Bit 10 - S10
20814            #[inline(always)]
20815            pub fn s10(&self) -> S10_R {
20816                S10_R::new(((self.bits >> 10) & 0x01) != 0)
20817            }
20818            ///Bit 9 - S09
20819            #[inline(always)]
20820            pub fn s09(&self) -> S09_R {
20821                S09_R::new(((self.bits >> 9) & 0x01) != 0)
20822            }
20823            ///Bit 8 - S08
20824            #[inline(always)]
20825            pub fn s08(&self) -> S08_R {
20826                S08_R::new(((self.bits >> 8) & 0x01) != 0)
20827            }
20828            ///Bit 7 - S07
20829            #[inline(always)]
20830            pub fn s07(&self) -> S07_R {
20831                S07_R::new(((self.bits >> 7) & 0x01) != 0)
20832            }
20833            ///Bit 6 - S06
20834            #[inline(always)]
20835            pub fn s06(&self) -> S06_R {
20836                S06_R::new(((self.bits >> 6) & 0x01) != 0)
20837            }
20838            ///Bit 5 - S05
20839            #[inline(always)]
20840            pub fn s05(&self) -> S05_R {
20841                S05_R::new(((self.bits >> 5) & 0x01) != 0)
20842            }
20843            ///Bit 4 - S04
20844            #[inline(always)]
20845            pub fn s04(&self) -> S04_R {
20846                S04_R::new(((self.bits >> 4) & 0x01) != 0)
20847            }
20848            ///Bit 3 - S03
20849            #[inline(always)]
20850            pub fn s03(&self) -> S03_R {
20851                S03_R::new(((self.bits >> 3) & 0x01) != 0)
20852            }
20853            ///Bit 2 - S02
20854            #[inline(always)]
20855            pub fn s02(&self) -> S02_R {
20856                S02_R::new(((self.bits >> 2) & 0x01) != 0)
20857            }
20858            ///Bit 1 - S01
20859            #[inline(always)]
20860            pub fn s01(&self) -> S01_R {
20861                S01_R::new(((self.bits >> 1) & 0x01) != 0)
20862            }
20863            ///Bit 0 - S00
20864            #[inline(always)]
20865            pub fn s00(&self) -> S00_R {
20866                S00_R::new((self.bits & 0x01) != 0)
20867            }
20868        }
20869        impl W {
20870            ///Bit 31 - S31
20871            #[inline(always)]
20872            pub fn s31(&mut self) -> S31_W {
20873                S31_W { w: self }
20874            }
20875            ///Bit 30 - S30
20876            #[inline(always)]
20877            pub fn s30(&mut self) -> S30_W {
20878                S30_W { w: self }
20879            }
20880            ///Bit 29 - S29
20881            #[inline(always)]
20882            pub fn s29(&mut self) -> S29_W {
20883                S29_W { w: self }
20884            }
20885            ///Bit 28 - S28
20886            #[inline(always)]
20887            pub fn s28(&mut self) -> S28_W {
20888                S28_W { w: self }
20889            }
20890            ///Bit 27 - S27
20891            #[inline(always)]
20892            pub fn s27(&mut self) -> S27_W {
20893                S27_W { w: self }
20894            }
20895            ///Bit 26 - S26
20896            #[inline(always)]
20897            pub fn s26(&mut self) -> S26_W {
20898                S26_W { w: self }
20899            }
20900            ///Bit 25 - S25
20901            #[inline(always)]
20902            pub fn s25(&mut self) -> S25_W {
20903                S25_W { w: self }
20904            }
20905            ///Bit 24 - S24
20906            #[inline(always)]
20907            pub fn s24(&mut self) -> S24_W {
20908                S24_W { w: self }
20909            }
20910            ///Bit 23 - S23
20911            #[inline(always)]
20912            pub fn s23(&mut self) -> S23_W {
20913                S23_W { w: self }
20914            }
20915            ///Bit 22 - S22
20916            #[inline(always)]
20917            pub fn s22(&mut self) -> S22_W {
20918                S22_W { w: self }
20919            }
20920            ///Bit 21 - S21
20921            #[inline(always)]
20922            pub fn s21(&mut self) -> S21_W {
20923                S21_W { w: self }
20924            }
20925            ///Bit 20 - S20
20926            #[inline(always)]
20927            pub fn s20(&mut self) -> S20_W {
20928                S20_W { w: self }
20929            }
20930            ///Bit 19 - S19
20931            #[inline(always)]
20932            pub fn s19(&mut self) -> S19_W {
20933                S19_W { w: self }
20934            }
20935            ///Bit 18 - S18
20936            #[inline(always)]
20937            pub fn s18(&mut self) -> S18_W {
20938                S18_W { w: self }
20939            }
20940            ///Bit 17 - S17
20941            #[inline(always)]
20942            pub fn s17(&mut self) -> S17_W {
20943                S17_W { w: self }
20944            }
20945            ///Bit 16 - S16
20946            #[inline(always)]
20947            pub fn s16(&mut self) -> S16_W {
20948                S16_W { w: self }
20949            }
20950            ///Bit 15 - S15
20951            #[inline(always)]
20952            pub fn s15(&mut self) -> S15_W {
20953                S15_W { w: self }
20954            }
20955            ///Bit 14 - S14
20956            #[inline(always)]
20957            pub fn s14(&mut self) -> S14_W {
20958                S14_W { w: self }
20959            }
20960            ///Bit 13 - S13
20961            #[inline(always)]
20962            pub fn s13(&mut self) -> S13_W {
20963                S13_W { w: self }
20964            }
20965            ///Bit 12 - S12
20966            #[inline(always)]
20967            pub fn s12(&mut self) -> S12_W {
20968                S12_W { w: self }
20969            }
20970            ///Bit 11 - S11
20971            #[inline(always)]
20972            pub fn s11(&mut self) -> S11_W {
20973                S11_W { w: self }
20974            }
20975            ///Bit 10 - S10
20976            #[inline(always)]
20977            pub fn s10(&mut self) -> S10_W {
20978                S10_W { w: self }
20979            }
20980            ///Bit 9 - S09
20981            #[inline(always)]
20982            pub fn s09(&mut self) -> S09_W {
20983                S09_W { w: self }
20984            }
20985            ///Bit 8 - S08
20986            #[inline(always)]
20987            pub fn s08(&mut self) -> S08_W {
20988                S08_W { w: self }
20989            }
20990            ///Bit 7 - S07
20991            #[inline(always)]
20992            pub fn s07(&mut self) -> S07_W {
20993                S07_W { w: self }
20994            }
20995            ///Bit 6 - S06
20996            #[inline(always)]
20997            pub fn s06(&mut self) -> S06_W {
20998                S06_W { w: self }
20999            }
21000            ///Bit 5 - S05
21001            #[inline(always)]
21002            pub fn s05(&mut self) -> S05_W {
21003                S05_W { w: self }
21004            }
21005            ///Bit 4 - S04
21006            #[inline(always)]
21007            pub fn s04(&mut self) -> S04_W {
21008                S04_W { w: self }
21009            }
21010            ///Bit 3 - S03
21011            #[inline(always)]
21012            pub fn s03(&mut self) -> S03_W {
21013                S03_W { w: self }
21014            }
21015            ///Bit 2 - S02
21016            #[inline(always)]
21017            pub fn s02(&mut self) -> S02_W {
21018                S02_W { w: self }
21019            }
21020            ///Bit 1 - S01
21021            #[inline(always)]
21022            pub fn s01(&mut self) -> S01_W {
21023                S01_W { w: self }
21024            }
21025            ///Bit 0 - S00
21026            #[inline(always)]
21027            pub fn s00(&mut self) -> S00_W {
21028                S00_W { w: self }
21029            }
21030        }
21031    }
21032    ///display memory
21033    ///
21034    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
21035    ///
21036    ///For information about available fields see [ram_com4](ram_com4) module
21037    pub type RAM_COM4 = crate::Reg<u32, _RAM_COM4>;
21038    #[allow(missing_docs)]
21039    #[doc(hidden)]
21040    pub struct _RAM_COM4;
21041    ///`read()` method returns [ram_com4::R](ram_com4::R) reader structure
21042    impl crate::Readable for RAM_COM4 {}
21043    ///`write(|w| ..)` method takes [ram_com4::W](ram_com4::W) writer structure
21044    impl crate::Writable for RAM_COM4 {}
21045    ///display memory
21046    pub mod ram_com4 {
21047        ///Reader of register RAM_COM4
21048        pub type R = crate::R<u32, super::RAM_COM4>;
21049        ///Writer for register RAM_COM4
21050        pub type W = crate::W<u32, super::RAM_COM4>;
21051        ///Register RAM_COM4 `reset()`'s with value 0
21052        impl crate::ResetValue for super::RAM_COM4 {
21053            type Type = u32;
21054            #[inline(always)]
21055            fn reset_value() -> Self::Type {
21056                0
21057            }
21058        }
21059        ///Reader of field `S31`
21060        pub type S31_R = crate::R<bool, bool>;
21061        ///Write proxy for field `S31`
21062        pub struct S31_W<'a> {
21063            w: &'a mut W,
21064        }
21065        impl<'a> S31_W<'a> {
21066            ///Sets the field bit
21067            #[inline(always)]
21068            pub fn set_bit(self) -> &'a mut W {
21069                self.bit(true)
21070            }
21071            ///Clears the field bit
21072            #[inline(always)]
21073            pub fn clear_bit(self) -> &'a mut W {
21074                self.bit(false)
21075            }
21076            ///Writes raw bits to the field
21077            #[inline(always)]
21078            pub fn bit(self, value: bool) -> &'a mut W {
21079                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
21080                self.w
21081            }
21082        }
21083        ///Reader of field `S30`
21084        pub type S30_R = crate::R<bool, bool>;
21085        ///Write proxy for field `S30`
21086        pub struct S30_W<'a> {
21087            w: &'a mut W,
21088        }
21089        impl<'a> S30_W<'a> {
21090            ///Sets the field bit
21091            #[inline(always)]
21092            pub fn set_bit(self) -> &'a mut W {
21093                self.bit(true)
21094            }
21095            ///Clears the field bit
21096            #[inline(always)]
21097            pub fn clear_bit(self) -> &'a mut W {
21098                self.bit(false)
21099            }
21100            ///Writes raw bits to the field
21101            #[inline(always)]
21102            pub fn bit(self, value: bool) -> &'a mut W {
21103                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
21104                self.w
21105            }
21106        }
21107        ///Reader of field `S29`
21108        pub type S29_R = crate::R<bool, bool>;
21109        ///Write proxy for field `S29`
21110        pub struct S29_W<'a> {
21111            w: &'a mut W,
21112        }
21113        impl<'a> S29_W<'a> {
21114            ///Sets the field bit
21115            #[inline(always)]
21116            pub fn set_bit(self) -> &'a mut W {
21117                self.bit(true)
21118            }
21119            ///Clears the field bit
21120            #[inline(always)]
21121            pub fn clear_bit(self) -> &'a mut W {
21122                self.bit(false)
21123            }
21124            ///Writes raw bits to the field
21125            #[inline(always)]
21126            pub fn bit(self, value: bool) -> &'a mut W {
21127                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
21128                self.w
21129            }
21130        }
21131        ///Reader of field `S28`
21132        pub type S28_R = crate::R<bool, bool>;
21133        ///Write proxy for field `S28`
21134        pub struct S28_W<'a> {
21135            w: &'a mut W,
21136        }
21137        impl<'a> S28_W<'a> {
21138            ///Sets the field bit
21139            #[inline(always)]
21140            pub fn set_bit(self) -> &'a mut W {
21141                self.bit(true)
21142            }
21143            ///Clears the field bit
21144            #[inline(always)]
21145            pub fn clear_bit(self) -> &'a mut W {
21146                self.bit(false)
21147            }
21148            ///Writes raw bits to the field
21149            #[inline(always)]
21150            pub fn bit(self, value: bool) -> &'a mut W {
21151                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
21152                self.w
21153            }
21154        }
21155        ///Reader of field `S27`
21156        pub type S27_R = crate::R<bool, bool>;
21157        ///Write proxy for field `S27`
21158        pub struct S27_W<'a> {
21159            w: &'a mut W,
21160        }
21161        impl<'a> S27_W<'a> {
21162            ///Sets the field bit
21163            #[inline(always)]
21164            pub fn set_bit(self) -> &'a mut W {
21165                self.bit(true)
21166            }
21167            ///Clears the field bit
21168            #[inline(always)]
21169            pub fn clear_bit(self) -> &'a mut W {
21170                self.bit(false)
21171            }
21172            ///Writes raw bits to the field
21173            #[inline(always)]
21174            pub fn bit(self, value: bool) -> &'a mut W {
21175                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
21176                self.w
21177            }
21178        }
21179        ///Reader of field `S26`
21180        pub type S26_R = crate::R<bool, bool>;
21181        ///Write proxy for field `S26`
21182        pub struct S26_W<'a> {
21183            w: &'a mut W,
21184        }
21185        impl<'a> S26_W<'a> {
21186            ///Sets the field bit
21187            #[inline(always)]
21188            pub fn set_bit(self) -> &'a mut W {
21189                self.bit(true)
21190            }
21191            ///Clears the field bit
21192            #[inline(always)]
21193            pub fn clear_bit(self) -> &'a mut W {
21194                self.bit(false)
21195            }
21196            ///Writes raw bits to the field
21197            #[inline(always)]
21198            pub fn bit(self, value: bool) -> &'a mut W {
21199                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
21200                self.w
21201            }
21202        }
21203        ///Reader of field `S25`
21204        pub type S25_R = crate::R<bool, bool>;
21205        ///Write proxy for field `S25`
21206        pub struct S25_W<'a> {
21207            w: &'a mut W,
21208        }
21209        impl<'a> S25_W<'a> {
21210            ///Sets the field bit
21211            #[inline(always)]
21212            pub fn set_bit(self) -> &'a mut W {
21213                self.bit(true)
21214            }
21215            ///Clears the field bit
21216            #[inline(always)]
21217            pub fn clear_bit(self) -> &'a mut W {
21218                self.bit(false)
21219            }
21220            ///Writes raw bits to the field
21221            #[inline(always)]
21222            pub fn bit(self, value: bool) -> &'a mut W {
21223                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
21224                self.w
21225            }
21226        }
21227        ///Reader of field `S24`
21228        pub type S24_R = crate::R<bool, bool>;
21229        ///Write proxy for field `S24`
21230        pub struct S24_W<'a> {
21231            w: &'a mut W,
21232        }
21233        impl<'a> S24_W<'a> {
21234            ///Sets the field bit
21235            #[inline(always)]
21236            pub fn set_bit(self) -> &'a mut W {
21237                self.bit(true)
21238            }
21239            ///Clears the field bit
21240            #[inline(always)]
21241            pub fn clear_bit(self) -> &'a mut W {
21242                self.bit(false)
21243            }
21244            ///Writes raw bits to the field
21245            #[inline(always)]
21246            pub fn bit(self, value: bool) -> &'a mut W {
21247                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
21248                self.w
21249            }
21250        }
21251        ///Reader of field `S23`
21252        pub type S23_R = crate::R<bool, bool>;
21253        ///Write proxy for field `S23`
21254        pub struct S23_W<'a> {
21255            w: &'a mut W,
21256        }
21257        impl<'a> S23_W<'a> {
21258            ///Sets the field bit
21259            #[inline(always)]
21260            pub fn set_bit(self) -> &'a mut W {
21261                self.bit(true)
21262            }
21263            ///Clears the field bit
21264            #[inline(always)]
21265            pub fn clear_bit(self) -> &'a mut W {
21266                self.bit(false)
21267            }
21268            ///Writes raw bits to the field
21269            #[inline(always)]
21270            pub fn bit(self, value: bool) -> &'a mut W {
21271                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
21272                self.w
21273            }
21274        }
21275        ///Reader of field `S22`
21276        pub type S22_R = crate::R<bool, bool>;
21277        ///Write proxy for field `S22`
21278        pub struct S22_W<'a> {
21279            w: &'a mut W,
21280        }
21281        impl<'a> S22_W<'a> {
21282            ///Sets the field bit
21283            #[inline(always)]
21284            pub fn set_bit(self) -> &'a mut W {
21285                self.bit(true)
21286            }
21287            ///Clears the field bit
21288            #[inline(always)]
21289            pub fn clear_bit(self) -> &'a mut W {
21290                self.bit(false)
21291            }
21292            ///Writes raw bits to the field
21293            #[inline(always)]
21294            pub fn bit(self, value: bool) -> &'a mut W {
21295                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
21296                self.w
21297            }
21298        }
21299        ///Reader of field `S21`
21300        pub type S21_R = crate::R<bool, bool>;
21301        ///Write proxy for field `S21`
21302        pub struct S21_W<'a> {
21303            w: &'a mut W,
21304        }
21305        impl<'a> S21_W<'a> {
21306            ///Sets the field bit
21307            #[inline(always)]
21308            pub fn set_bit(self) -> &'a mut W {
21309                self.bit(true)
21310            }
21311            ///Clears the field bit
21312            #[inline(always)]
21313            pub fn clear_bit(self) -> &'a mut W {
21314                self.bit(false)
21315            }
21316            ///Writes raw bits to the field
21317            #[inline(always)]
21318            pub fn bit(self, value: bool) -> &'a mut W {
21319                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
21320                self.w
21321            }
21322        }
21323        ///Reader of field `S20`
21324        pub type S20_R = crate::R<bool, bool>;
21325        ///Write proxy for field `S20`
21326        pub struct S20_W<'a> {
21327            w: &'a mut W,
21328        }
21329        impl<'a> S20_W<'a> {
21330            ///Sets the field bit
21331            #[inline(always)]
21332            pub fn set_bit(self) -> &'a mut W {
21333                self.bit(true)
21334            }
21335            ///Clears the field bit
21336            #[inline(always)]
21337            pub fn clear_bit(self) -> &'a mut W {
21338                self.bit(false)
21339            }
21340            ///Writes raw bits to the field
21341            #[inline(always)]
21342            pub fn bit(self, value: bool) -> &'a mut W {
21343                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
21344                self.w
21345            }
21346        }
21347        ///Reader of field `S19`
21348        pub type S19_R = crate::R<bool, bool>;
21349        ///Write proxy for field `S19`
21350        pub struct S19_W<'a> {
21351            w: &'a mut W,
21352        }
21353        impl<'a> S19_W<'a> {
21354            ///Sets the field bit
21355            #[inline(always)]
21356            pub fn set_bit(self) -> &'a mut W {
21357                self.bit(true)
21358            }
21359            ///Clears the field bit
21360            #[inline(always)]
21361            pub fn clear_bit(self) -> &'a mut W {
21362                self.bit(false)
21363            }
21364            ///Writes raw bits to the field
21365            #[inline(always)]
21366            pub fn bit(self, value: bool) -> &'a mut W {
21367                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
21368                self.w
21369            }
21370        }
21371        ///Reader of field `S18`
21372        pub type S18_R = crate::R<bool, bool>;
21373        ///Write proxy for field `S18`
21374        pub struct S18_W<'a> {
21375            w: &'a mut W,
21376        }
21377        impl<'a> S18_W<'a> {
21378            ///Sets the field bit
21379            #[inline(always)]
21380            pub fn set_bit(self) -> &'a mut W {
21381                self.bit(true)
21382            }
21383            ///Clears the field bit
21384            #[inline(always)]
21385            pub fn clear_bit(self) -> &'a mut W {
21386                self.bit(false)
21387            }
21388            ///Writes raw bits to the field
21389            #[inline(always)]
21390            pub fn bit(self, value: bool) -> &'a mut W {
21391                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
21392                self.w
21393            }
21394        }
21395        ///Reader of field `S17`
21396        pub type S17_R = crate::R<bool, bool>;
21397        ///Write proxy for field `S17`
21398        pub struct S17_W<'a> {
21399            w: &'a mut W,
21400        }
21401        impl<'a> S17_W<'a> {
21402            ///Sets the field bit
21403            #[inline(always)]
21404            pub fn set_bit(self) -> &'a mut W {
21405                self.bit(true)
21406            }
21407            ///Clears the field bit
21408            #[inline(always)]
21409            pub fn clear_bit(self) -> &'a mut W {
21410                self.bit(false)
21411            }
21412            ///Writes raw bits to the field
21413            #[inline(always)]
21414            pub fn bit(self, value: bool) -> &'a mut W {
21415                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
21416                self.w
21417            }
21418        }
21419        ///Reader of field `S16`
21420        pub type S16_R = crate::R<bool, bool>;
21421        ///Write proxy for field `S16`
21422        pub struct S16_W<'a> {
21423            w: &'a mut W,
21424        }
21425        impl<'a> S16_W<'a> {
21426            ///Sets the field bit
21427            #[inline(always)]
21428            pub fn set_bit(self) -> &'a mut W {
21429                self.bit(true)
21430            }
21431            ///Clears the field bit
21432            #[inline(always)]
21433            pub fn clear_bit(self) -> &'a mut W {
21434                self.bit(false)
21435            }
21436            ///Writes raw bits to the field
21437            #[inline(always)]
21438            pub fn bit(self, value: bool) -> &'a mut W {
21439                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
21440                self.w
21441            }
21442        }
21443        ///Reader of field `S15`
21444        pub type S15_R = crate::R<bool, bool>;
21445        ///Write proxy for field `S15`
21446        pub struct S15_W<'a> {
21447            w: &'a mut W,
21448        }
21449        impl<'a> S15_W<'a> {
21450            ///Sets the field bit
21451            #[inline(always)]
21452            pub fn set_bit(self) -> &'a mut W {
21453                self.bit(true)
21454            }
21455            ///Clears the field bit
21456            #[inline(always)]
21457            pub fn clear_bit(self) -> &'a mut W {
21458                self.bit(false)
21459            }
21460            ///Writes raw bits to the field
21461            #[inline(always)]
21462            pub fn bit(self, value: bool) -> &'a mut W {
21463                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
21464                self.w
21465            }
21466        }
21467        ///Reader of field `S14`
21468        pub type S14_R = crate::R<bool, bool>;
21469        ///Write proxy for field `S14`
21470        pub struct S14_W<'a> {
21471            w: &'a mut W,
21472        }
21473        impl<'a> S14_W<'a> {
21474            ///Sets the field bit
21475            #[inline(always)]
21476            pub fn set_bit(self) -> &'a mut W {
21477                self.bit(true)
21478            }
21479            ///Clears the field bit
21480            #[inline(always)]
21481            pub fn clear_bit(self) -> &'a mut W {
21482                self.bit(false)
21483            }
21484            ///Writes raw bits to the field
21485            #[inline(always)]
21486            pub fn bit(self, value: bool) -> &'a mut W {
21487                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
21488                self.w
21489            }
21490        }
21491        ///Reader of field `S13`
21492        pub type S13_R = crate::R<bool, bool>;
21493        ///Write proxy for field `S13`
21494        pub struct S13_W<'a> {
21495            w: &'a mut W,
21496        }
21497        impl<'a> S13_W<'a> {
21498            ///Sets the field bit
21499            #[inline(always)]
21500            pub fn set_bit(self) -> &'a mut W {
21501                self.bit(true)
21502            }
21503            ///Clears the field bit
21504            #[inline(always)]
21505            pub fn clear_bit(self) -> &'a mut W {
21506                self.bit(false)
21507            }
21508            ///Writes raw bits to the field
21509            #[inline(always)]
21510            pub fn bit(self, value: bool) -> &'a mut W {
21511                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
21512                self.w
21513            }
21514        }
21515        ///Reader of field `S12`
21516        pub type S12_R = crate::R<bool, bool>;
21517        ///Write proxy for field `S12`
21518        pub struct S12_W<'a> {
21519            w: &'a mut W,
21520        }
21521        impl<'a> S12_W<'a> {
21522            ///Sets the field bit
21523            #[inline(always)]
21524            pub fn set_bit(self) -> &'a mut W {
21525                self.bit(true)
21526            }
21527            ///Clears the field bit
21528            #[inline(always)]
21529            pub fn clear_bit(self) -> &'a mut W {
21530                self.bit(false)
21531            }
21532            ///Writes raw bits to the field
21533            #[inline(always)]
21534            pub fn bit(self, value: bool) -> &'a mut W {
21535                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
21536                self.w
21537            }
21538        }
21539        ///Reader of field `S11`
21540        pub type S11_R = crate::R<bool, bool>;
21541        ///Write proxy for field `S11`
21542        pub struct S11_W<'a> {
21543            w: &'a mut W,
21544        }
21545        impl<'a> S11_W<'a> {
21546            ///Sets the field bit
21547            #[inline(always)]
21548            pub fn set_bit(self) -> &'a mut W {
21549                self.bit(true)
21550            }
21551            ///Clears the field bit
21552            #[inline(always)]
21553            pub fn clear_bit(self) -> &'a mut W {
21554                self.bit(false)
21555            }
21556            ///Writes raw bits to the field
21557            #[inline(always)]
21558            pub fn bit(self, value: bool) -> &'a mut W {
21559                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
21560                self.w
21561            }
21562        }
21563        ///Reader of field `S10`
21564        pub type S10_R = crate::R<bool, bool>;
21565        ///Write proxy for field `S10`
21566        pub struct S10_W<'a> {
21567            w: &'a mut W,
21568        }
21569        impl<'a> S10_W<'a> {
21570            ///Sets the field bit
21571            #[inline(always)]
21572            pub fn set_bit(self) -> &'a mut W {
21573                self.bit(true)
21574            }
21575            ///Clears the field bit
21576            #[inline(always)]
21577            pub fn clear_bit(self) -> &'a mut W {
21578                self.bit(false)
21579            }
21580            ///Writes raw bits to the field
21581            #[inline(always)]
21582            pub fn bit(self, value: bool) -> &'a mut W {
21583                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
21584                self.w
21585            }
21586        }
21587        ///Reader of field `S09`
21588        pub type S09_R = crate::R<bool, bool>;
21589        ///Write proxy for field `S09`
21590        pub struct S09_W<'a> {
21591            w: &'a mut W,
21592        }
21593        impl<'a> S09_W<'a> {
21594            ///Sets the field bit
21595            #[inline(always)]
21596            pub fn set_bit(self) -> &'a mut W {
21597                self.bit(true)
21598            }
21599            ///Clears the field bit
21600            #[inline(always)]
21601            pub fn clear_bit(self) -> &'a mut W {
21602                self.bit(false)
21603            }
21604            ///Writes raw bits to the field
21605            #[inline(always)]
21606            pub fn bit(self, value: bool) -> &'a mut W {
21607                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
21608                self.w
21609            }
21610        }
21611        ///Reader of field `S08`
21612        pub type S08_R = crate::R<bool, bool>;
21613        ///Write proxy for field `S08`
21614        pub struct S08_W<'a> {
21615            w: &'a mut W,
21616        }
21617        impl<'a> S08_W<'a> {
21618            ///Sets the field bit
21619            #[inline(always)]
21620            pub fn set_bit(self) -> &'a mut W {
21621                self.bit(true)
21622            }
21623            ///Clears the field bit
21624            #[inline(always)]
21625            pub fn clear_bit(self) -> &'a mut W {
21626                self.bit(false)
21627            }
21628            ///Writes raw bits to the field
21629            #[inline(always)]
21630            pub fn bit(self, value: bool) -> &'a mut W {
21631                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
21632                self.w
21633            }
21634        }
21635        ///Reader of field `S07`
21636        pub type S07_R = crate::R<bool, bool>;
21637        ///Write proxy for field `S07`
21638        pub struct S07_W<'a> {
21639            w: &'a mut W,
21640        }
21641        impl<'a> S07_W<'a> {
21642            ///Sets the field bit
21643            #[inline(always)]
21644            pub fn set_bit(self) -> &'a mut W {
21645                self.bit(true)
21646            }
21647            ///Clears the field bit
21648            #[inline(always)]
21649            pub fn clear_bit(self) -> &'a mut W {
21650                self.bit(false)
21651            }
21652            ///Writes raw bits to the field
21653            #[inline(always)]
21654            pub fn bit(self, value: bool) -> &'a mut W {
21655                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
21656                self.w
21657            }
21658        }
21659        ///Reader of field `S06`
21660        pub type S06_R = crate::R<bool, bool>;
21661        ///Write proxy for field `S06`
21662        pub struct S06_W<'a> {
21663            w: &'a mut W,
21664        }
21665        impl<'a> S06_W<'a> {
21666            ///Sets the field bit
21667            #[inline(always)]
21668            pub fn set_bit(self) -> &'a mut W {
21669                self.bit(true)
21670            }
21671            ///Clears the field bit
21672            #[inline(always)]
21673            pub fn clear_bit(self) -> &'a mut W {
21674                self.bit(false)
21675            }
21676            ///Writes raw bits to the field
21677            #[inline(always)]
21678            pub fn bit(self, value: bool) -> &'a mut W {
21679                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
21680                self.w
21681            }
21682        }
21683        ///Reader of field `S05`
21684        pub type S05_R = crate::R<bool, bool>;
21685        ///Write proxy for field `S05`
21686        pub struct S05_W<'a> {
21687            w: &'a mut W,
21688        }
21689        impl<'a> S05_W<'a> {
21690            ///Sets the field bit
21691            #[inline(always)]
21692            pub fn set_bit(self) -> &'a mut W {
21693                self.bit(true)
21694            }
21695            ///Clears the field bit
21696            #[inline(always)]
21697            pub fn clear_bit(self) -> &'a mut W {
21698                self.bit(false)
21699            }
21700            ///Writes raw bits to the field
21701            #[inline(always)]
21702            pub fn bit(self, value: bool) -> &'a mut W {
21703                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
21704                self.w
21705            }
21706        }
21707        ///Reader of field `S04`
21708        pub type S04_R = crate::R<bool, bool>;
21709        ///Write proxy for field `S04`
21710        pub struct S04_W<'a> {
21711            w: &'a mut W,
21712        }
21713        impl<'a> S04_W<'a> {
21714            ///Sets the field bit
21715            #[inline(always)]
21716            pub fn set_bit(self) -> &'a mut W {
21717                self.bit(true)
21718            }
21719            ///Clears the field bit
21720            #[inline(always)]
21721            pub fn clear_bit(self) -> &'a mut W {
21722                self.bit(false)
21723            }
21724            ///Writes raw bits to the field
21725            #[inline(always)]
21726            pub fn bit(self, value: bool) -> &'a mut W {
21727                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
21728                self.w
21729            }
21730        }
21731        ///Reader of field `S03`
21732        pub type S03_R = crate::R<bool, bool>;
21733        ///Write proxy for field `S03`
21734        pub struct S03_W<'a> {
21735            w: &'a mut W,
21736        }
21737        impl<'a> S03_W<'a> {
21738            ///Sets the field bit
21739            #[inline(always)]
21740            pub fn set_bit(self) -> &'a mut W {
21741                self.bit(true)
21742            }
21743            ///Clears the field bit
21744            #[inline(always)]
21745            pub fn clear_bit(self) -> &'a mut W {
21746                self.bit(false)
21747            }
21748            ///Writes raw bits to the field
21749            #[inline(always)]
21750            pub fn bit(self, value: bool) -> &'a mut W {
21751                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
21752                self.w
21753            }
21754        }
21755        ///Reader of field `S02`
21756        pub type S02_R = crate::R<bool, bool>;
21757        ///Write proxy for field `S02`
21758        pub struct S02_W<'a> {
21759            w: &'a mut W,
21760        }
21761        impl<'a> S02_W<'a> {
21762            ///Sets the field bit
21763            #[inline(always)]
21764            pub fn set_bit(self) -> &'a mut W {
21765                self.bit(true)
21766            }
21767            ///Clears the field bit
21768            #[inline(always)]
21769            pub fn clear_bit(self) -> &'a mut W {
21770                self.bit(false)
21771            }
21772            ///Writes raw bits to the field
21773            #[inline(always)]
21774            pub fn bit(self, value: bool) -> &'a mut W {
21775                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
21776                self.w
21777            }
21778        }
21779        ///Reader of field `S01`
21780        pub type S01_R = crate::R<bool, bool>;
21781        ///Write proxy for field `S01`
21782        pub struct S01_W<'a> {
21783            w: &'a mut W,
21784        }
21785        impl<'a> S01_W<'a> {
21786            ///Sets the field bit
21787            #[inline(always)]
21788            pub fn set_bit(self) -> &'a mut W {
21789                self.bit(true)
21790            }
21791            ///Clears the field bit
21792            #[inline(always)]
21793            pub fn clear_bit(self) -> &'a mut W {
21794                self.bit(false)
21795            }
21796            ///Writes raw bits to the field
21797            #[inline(always)]
21798            pub fn bit(self, value: bool) -> &'a mut W {
21799                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
21800                self.w
21801            }
21802        }
21803        ///Reader of field `S00`
21804        pub type S00_R = crate::R<bool, bool>;
21805        ///Write proxy for field `S00`
21806        pub struct S00_W<'a> {
21807            w: &'a mut W,
21808        }
21809        impl<'a> S00_W<'a> {
21810            ///Sets the field bit
21811            #[inline(always)]
21812            pub fn set_bit(self) -> &'a mut W {
21813                self.bit(true)
21814            }
21815            ///Clears the field bit
21816            #[inline(always)]
21817            pub fn clear_bit(self) -> &'a mut W {
21818                self.bit(false)
21819            }
21820            ///Writes raw bits to the field
21821            #[inline(always)]
21822            pub fn bit(self, value: bool) -> &'a mut W {
21823                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
21824                self.w
21825            }
21826        }
21827        impl R {
21828            ///Bit 31 - S31
21829            #[inline(always)]
21830            pub fn s31(&self) -> S31_R {
21831                S31_R::new(((self.bits >> 31) & 0x01) != 0)
21832            }
21833            ///Bit 30 - S30
21834            #[inline(always)]
21835            pub fn s30(&self) -> S30_R {
21836                S30_R::new(((self.bits >> 30) & 0x01) != 0)
21837            }
21838            ///Bit 29 - S29
21839            #[inline(always)]
21840            pub fn s29(&self) -> S29_R {
21841                S29_R::new(((self.bits >> 29) & 0x01) != 0)
21842            }
21843            ///Bit 28 - S28
21844            #[inline(always)]
21845            pub fn s28(&self) -> S28_R {
21846                S28_R::new(((self.bits >> 28) & 0x01) != 0)
21847            }
21848            ///Bit 27 - S27
21849            #[inline(always)]
21850            pub fn s27(&self) -> S27_R {
21851                S27_R::new(((self.bits >> 27) & 0x01) != 0)
21852            }
21853            ///Bit 26 - S26
21854            #[inline(always)]
21855            pub fn s26(&self) -> S26_R {
21856                S26_R::new(((self.bits >> 26) & 0x01) != 0)
21857            }
21858            ///Bit 25 - S25
21859            #[inline(always)]
21860            pub fn s25(&self) -> S25_R {
21861                S25_R::new(((self.bits >> 25) & 0x01) != 0)
21862            }
21863            ///Bit 24 - S24
21864            #[inline(always)]
21865            pub fn s24(&self) -> S24_R {
21866                S24_R::new(((self.bits >> 24) & 0x01) != 0)
21867            }
21868            ///Bit 23 - S23
21869            #[inline(always)]
21870            pub fn s23(&self) -> S23_R {
21871                S23_R::new(((self.bits >> 23) & 0x01) != 0)
21872            }
21873            ///Bit 22 - S22
21874            #[inline(always)]
21875            pub fn s22(&self) -> S22_R {
21876                S22_R::new(((self.bits >> 22) & 0x01) != 0)
21877            }
21878            ///Bit 21 - S21
21879            #[inline(always)]
21880            pub fn s21(&self) -> S21_R {
21881                S21_R::new(((self.bits >> 21) & 0x01) != 0)
21882            }
21883            ///Bit 20 - S20
21884            #[inline(always)]
21885            pub fn s20(&self) -> S20_R {
21886                S20_R::new(((self.bits >> 20) & 0x01) != 0)
21887            }
21888            ///Bit 19 - S19
21889            #[inline(always)]
21890            pub fn s19(&self) -> S19_R {
21891                S19_R::new(((self.bits >> 19) & 0x01) != 0)
21892            }
21893            ///Bit 18 - S18
21894            #[inline(always)]
21895            pub fn s18(&self) -> S18_R {
21896                S18_R::new(((self.bits >> 18) & 0x01) != 0)
21897            }
21898            ///Bit 17 - S17
21899            #[inline(always)]
21900            pub fn s17(&self) -> S17_R {
21901                S17_R::new(((self.bits >> 17) & 0x01) != 0)
21902            }
21903            ///Bit 16 - S16
21904            #[inline(always)]
21905            pub fn s16(&self) -> S16_R {
21906                S16_R::new(((self.bits >> 16) & 0x01) != 0)
21907            }
21908            ///Bit 15 - S15
21909            #[inline(always)]
21910            pub fn s15(&self) -> S15_R {
21911                S15_R::new(((self.bits >> 15) & 0x01) != 0)
21912            }
21913            ///Bit 14 - S14
21914            #[inline(always)]
21915            pub fn s14(&self) -> S14_R {
21916                S14_R::new(((self.bits >> 14) & 0x01) != 0)
21917            }
21918            ///Bit 13 - S13
21919            #[inline(always)]
21920            pub fn s13(&self) -> S13_R {
21921                S13_R::new(((self.bits >> 13) & 0x01) != 0)
21922            }
21923            ///Bit 12 - S12
21924            #[inline(always)]
21925            pub fn s12(&self) -> S12_R {
21926                S12_R::new(((self.bits >> 12) & 0x01) != 0)
21927            }
21928            ///Bit 11 - S11
21929            #[inline(always)]
21930            pub fn s11(&self) -> S11_R {
21931                S11_R::new(((self.bits >> 11) & 0x01) != 0)
21932            }
21933            ///Bit 10 - S10
21934            #[inline(always)]
21935            pub fn s10(&self) -> S10_R {
21936                S10_R::new(((self.bits >> 10) & 0x01) != 0)
21937            }
21938            ///Bit 9 - S09
21939            #[inline(always)]
21940            pub fn s09(&self) -> S09_R {
21941                S09_R::new(((self.bits >> 9) & 0x01) != 0)
21942            }
21943            ///Bit 8 - S08
21944            #[inline(always)]
21945            pub fn s08(&self) -> S08_R {
21946                S08_R::new(((self.bits >> 8) & 0x01) != 0)
21947            }
21948            ///Bit 7 - S07
21949            #[inline(always)]
21950            pub fn s07(&self) -> S07_R {
21951                S07_R::new(((self.bits >> 7) & 0x01) != 0)
21952            }
21953            ///Bit 6 - S06
21954            #[inline(always)]
21955            pub fn s06(&self) -> S06_R {
21956                S06_R::new(((self.bits >> 6) & 0x01) != 0)
21957            }
21958            ///Bit 5 - S05
21959            #[inline(always)]
21960            pub fn s05(&self) -> S05_R {
21961                S05_R::new(((self.bits >> 5) & 0x01) != 0)
21962            }
21963            ///Bit 4 - S04
21964            #[inline(always)]
21965            pub fn s04(&self) -> S04_R {
21966                S04_R::new(((self.bits >> 4) & 0x01) != 0)
21967            }
21968            ///Bit 3 - S03
21969            #[inline(always)]
21970            pub fn s03(&self) -> S03_R {
21971                S03_R::new(((self.bits >> 3) & 0x01) != 0)
21972            }
21973            ///Bit 2 - S02
21974            #[inline(always)]
21975            pub fn s02(&self) -> S02_R {
21976                S02_R::new(((self.bits >> 2) & 0x01) != 0)
21977            }
21978            ///Bit 1 - S01
21979            #[inline(always)]
21980            pub fn s01(&self) -> S01_R {
21981                S01_R::new(((self.bits >> 1) & 0x01) != 0)
21982            }
21983            ///Bit 0 - S00
21984            #[inline(always)]
21985            pub fn s00(&self) -> S00_R {
21986                S00_R::new((self.bits & 0x01) != 0)
21987            }
21988        }
21989        impl W {
21990            ///Bit 31 - S31
21991            #[inline(always)]
21992            pub fn s31(&mut self) -> S31_W {
21993                S31_W { w: self }
21994            }
21995            ///Bit 30 - S30
21996            #[inline(always)]
21997            pub fn s30(&mut self) -> S30_W {
21998                S30_W { w: self }
21999            }
22000            ///Bit 29 - S29
22001            #[inline(always)]
22002            pub fn s29(&mut self) -> S29_W {
22003                S29_W { w: self }
22004            }
22005            ///Bit 28 - S28
22006            #[inline(always)]
22007            pub fn s28(&mut self) -> S28_W {
22008                S28_W { w: self }
22009            }
22010            ///Bit 27 - S27
22011            #[inline(always)]
22012            pub fn s27(&mut self) -> S27_W {
22013                S27_W { w: self }
22014            }
22015            ///Bit 26 - S26
22016            #[inline(always)]
22017            pub fn s26(&mut self) -> S26_W {
22018                S26_W { w: self }
22019            }
22020            ///Bit 25 - S25
22021            #[inline(always)]
22022            pub fn s25(&mut self) -> S25_W {
22023                S25_W { w: self }
22024            }
22025            ///Bit 24 - S24
22026            #[inline(always)]
22027            pub fn s24(&mut self) -> S24_W {
22028                S24_W { w: self }
22029            }
22030            ///Bit 23 - S23
22031            #[inline(always)]
22032            pub fn s23(&mut self) -> S23_W {
22033                S23_W { w: self }
22034            }
22035            ///Bit 22 - S22
22036            #[inline(always)]
22037            pub fn s22(&mut self) -> S22_W {
22038                S22_W { w: self }
22039            }
22040            ///Bit 21 - S21
22041            #[inline(always)]
22042            pub fn s21(&mut self) -> S21_W {
22043                S21_W { w: self }
22044            }
22045            ///Bit 20 - S20
22046            #[inline(always)]
22047            pub fn s20(&mut self) -> S20_W {
22048                S20_W { w: self }
22049            }
22050            ///Bit 19 - S19
22051            #[inline(always)]
22052            pub fn s19(&mut self) -> S19_W {
22053                S19_W { w: self }
22054            }
22055            ///Bit 18 - S18
22056            #[inline(always)]
22057            pub fn s18(&mut self) -> S18_W {
22058                S18_W { w: self }
22059            }
22060            ///Bit 17 - S17
22061            #[inline(always)]
22062            pub fn s17(&mut self) -> S17_W {
22063                S17_W { w: self }
22064            }
22065            ///Bit 16 - S16
22066            #[inline(always)]
22067            pub fn s16(&mut self) -> S16_W {
22068                S16_W { w: self }
22069            }
22070            ///Bit 15 - S15
22071            #[inline(always)]
22072            pub fn s15(&mut self) -> S15_W {
22073                S15_W { w: self }
22074            }
22075            ///Bit 14 - S14
22076            #[inline(always)]
22077            pub fn s14(&mut self) -> S14_W {
22078                S14_W { w: self }
22079            }
22080            ///Bit 13 - S13
22081            #[inline(always)]
22082            pub fn s13(&mut self) -> S13_W {
22083                S13_W { w: self }
22084            }
22085            ///Bit 12 - S12
22086            #[inline(always)]
22087            pub fn s12(&mut self) -> S12_W {
22088                S12_W { w: self }
22089            }
22090            ///Bit 11 - S11
22091            #[inline(always)]
22092            pub fn s11(&mut self) -> S11_W {
22093                S11_W { w: self }
22094            }
22095            ///Bit 10 - S10
22096            #[inline(always)]
22097            pub fn s10(&mut self) -> S10_W {
22098                S10_W { w: self }
22099            }
22100            ///Bit 9 - S09
22101            #[inline(always)]
22102            pub fn s09(&mut self) -> S09_W {
22103                S09_W { w: self }
22104            }
22105            ///Bit 8 - S08
22106            #[inline(always)]
22107            pub fn s08(&mut self) -> S08_W {
22108                S08_W { w: self }
22109            }
22110            ///Bit 7 - S07
22111            #[inline(always)]
22112            pub fn s07(&mut self) -> S07_W {
22113                S07_W { w: self }
22114            }
22115            ///Bit 6 - S06
22116            #[inline(always)]
22117            pub fn s06(&mut self) -> S06_W {
22118                S06_W { w: self }
22119            }
22120            ///Bit 5 - S05
22121            #[inline(always)]
22122            pub fn s05(&mut self) -> S05_W {
22123                S05_W { w: self }
22124            }
22125            ///Bit 4 - S04
22126            #[inline(always)]
22127            pub fn s04(&mut self) -> S04_W {
22128                S04_W { w: self }
22129            }
22130            ///Bit 3 - S03
22131            #[inline(always)]
22132            pub fn s03(&mut self) -> S03_W {
22133                S03_W { w: self }
22134            }
22135            ///Bit 2 - S02
22136            #[inline(always)]
22137            pub fn s02(&mut self) -> S02_W {
22138                S02_W { w: self }
22139            }
22140            ///Bit 1 - S01
22141            #[inline(always)]
22142            pub fn s01(&mut self) -> S01_W {
22143                S01_W { w: self }
22144            }
22145            ///Bit 0 - S00
22146            #[inline(always)]
22147            pub fn s00(&mut self) -> S00_W {
22148                S00_W { w: self }
22149            }
22150        }
22151    }
22152    ///display memory
22153    ///
22154    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
22155    ///
22156    ///For information about available fields see [ram_com5](ram_com5) module
22157    pub type RAM_COM5 = crate::Reg<u32, _RAM_COM5>;
22158    #[allow(missing_docs)]
22159    #[doc(hidden)]
22160    pub struct _RAM_COM5;
22161    ///`read()` method returns [ram_com5::R](ram_com5::R) reader structure
22162    impl crate::Readable for RAM_COM5 {}
22163    ///`write(|w| ..)` method takes [ram_com5::W](ram_com5::W) writer structure
22164    impl crate::Writable for RAM_COM5 {}
22165    ///display memory
22166    pub mod ram_com5 {
22167        ///Reader of register RAM_COM5
22168        pub type R = crate::R<u32, super::RAM_COM5>;
22169        ///Writer for register RAM_COM5
22170        pub type W = crate::W<u32, super::RAM_COM5>;
22171        ///Register RAM_COM5 `reset()`'s with value 0
22172        impl crate::ResetValue for super::RAM_COM5 {
22173            type Type = u32;
22174            #[inline(always)]
22175            fn reset_value() -> Self::Type {
22176                0
22177            }
22178        }
22179        ///Reader of field `S31`
22180        pub type S31_R = crate::R<bool, bool>;
22181        ///Write proxy for field `S31`
22182        pub struct S31_W<'a> {
22183            w: &'a mut W,
22184        }
22185        impl<'a> S31_W<'a> {
22186            ///Sets the field bit
22187            #[inline(always)]
22188            pub fn set_bit(self) -> &'a mut W {
22189                self.bit(true)
22190            }
22191            ///Clears the field bit
22192            #[inline(always)]
22193            pub fn clear_bit(self) -> &'a mut W {
22194                self.bit(false)
22195            }
22196            ///Writes raw bits to the field
22197            #[inline(always)]
22198            pub fn bit(self, value: bool) -> &'a mut W {
22199                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
22200                self.w
22201            }
22202        }
22203        ///Reader of field `S30`
22204        pub type S30_R = crate::R<bool, bool>;
22205        ///Write proxy for field `S30`
22206        pub struct S30_W<'a> {
22207            w: &'a mut W,
22208        }
22209        impl<'a> S30_W<'a> {
22210            ///Sets the field bit
22211            #[inline(always)]
22212            pub fn set_bit(self) -> &'a mut W {
22213                self.bit(true)
22214            }
22215            ///Clears the field bit
22216            #[inline(always)]
22217            pub fn clear_bit(self) -> &'a mut W {
22218                self.bit(false)
22219            }
22220            ///Writes raw bits to the field
22221            #[inline(always)]
22222            pub fn bit(self, value: bool) -> &'a mut W {
22223                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
22224                self.w
22225            }
22226        }
22227        ///Reader of field `S29`
22228        pub type S29_R = crate::R<bool, bool>;
22229        ///Write proxy for field `S29`
22230        pub struct S29_W<'a> {
22231            w: &'a mut W,
22232        }
22233        impl<'a> S29_W<'a> {
22234            ///Sets the field bit
22235            #[inline(always)]
22236            pub fn set_bit(self) -> &'a mut W {
22237                self.bit(true)
22238            }
22239            ///Clears the field bit
22240            #[inline(always)]
22241            pub fn clear_bit(self) -> &'a mut W {
22242                self.bit(false)
22243            }
22244            ///Writes raw bits to the field
22245            #[inline(always)]
22246            pub fn bit(self, value: bool) -> &'a mut W {
22247                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
22248                self.w
22249            }
22250        }
22251        ///Reader of field `S28`
22252        pub type S28_R = crate::R<bool, bool>;
22253        ///Write proxy for field `S28`
22254        pub struct S28_W<'a> {
22255            w: &'a mut W,
22256        }
22257        impl<'a> S28_W<'a> {
22258            ///Sets the field bit
22259            #[inline(always)]
22260            pub fn set_bit(self) -> &'a mut W {
22261                self.bit(true)
22262            }
22263            ///Clears the field bit
22264            #[inline(always)]
22265            pub fn clear_bit(self) -> &'a mut W {
22266                self.bit(false)
22267            }
22268            ///Writes raw bits to the field
22269            #[inline(always)]
22270            pub fn bit(self, value: bool) -> &'a mut W {
22271                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
22272                self.w
22273            }
22274        }
22275        ///Reader of field `S27`
22276        pub type S27_R = crate::R<bool, bool>;
22277        ///Write proxy for field `S27`
22278        pub struct S27_W<'a> {
22279            w: &'a mut W,
22280        }
22281        impl<'a> S27_W<'a> {
22282            ///Sets the field bit
22283            #[inline(always)]
22284            pub fn set_bit(self) -> &'a mut W {
22285                self.bit(true)
22286            }
22287            ///Clears the field bit
22288            #[inline(always)]
22289            pub fn clear_bit(self) -> &'a mut W {
22290                self.bit(false)
22291            }
22292            ///Writes raw bits to the field
22293            #[inline(always)]
22294            pub fn bit(self, value: bool) -> &'a mut W {
22295                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
22296                self.w
22297            }
22298        }
22299        ///Reader of field `S26`
22300        pub type S26_R = crate::R<bool, bool>;
22301        ///Write proxy for field `S26`
22302        pub struct S26_W<'a> {
22303            w: &'a mut W,
22304        }
22305        impl<'a> S26_W<'a> {
22306            ///Sets the field bit
22307            #[inline(always)]
22308            pub fn set_bit(self) -> &'a mut W {
22309                self.bit(true)
22310            }
22311            ///Clears the field bit
22312            #[inline(always)]
22313            pub fn clear_bit(self) -> &'a mut W {
22314                self.bit(false)
22315            }
22316            ///Writes raw bits to the field
22317            #[inline(always)]
22318            pub fn bit(self, value: bool) -> &'a mut W {
22319                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
22320                self.w
22321            }
22322        }
22323        ///Reader of field `S25`
22324        pub type S25_R = crate::R<bool, bool>;
22325        ///Write proxy for field `S25`
22326        pub struct S25_W<'a> {
22327            w: &'a mut W,
22328        }
22329        impl<'a> S25_W<'a> {
22330            ///Sets the field bit
22331            #[inline(always)]
22332            pub fn set_bit(self) -> &'a mut W {
22333                self.bit(true)
22334            }
22335            ///Clears the field bit
22336            #[inline(always)]
22337            pub fn clear_bit(self) -> &'a mut W {
22338                self.bit(false)
22339            }
22340            ///Writes raw bits to the field
22341            #[inline(always)]
22342            pub fn bit(self, value: bool) -> &'a mut W {
22343                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
22344                self.w
22345            }
22346        }
22347        ///Reader of field `S24`
22348        pub type S24_R = crate::R<bool, bool>;
22349        ///Write proxy for field `S24`
22350        pub struct S24_W<'a> {
22351            w: &'a mut W,
22352        }
22353        impl<'a> S24_W<'a> {
22354            ///Sets the field bit
22355            #[inline(always)]
22356            pub fn set_bit(self) -> &'a mut W {
22357                self.bit(true)
22358            }
22359            ///Clears the field bit
22360            #[inline(always)]
22361            pub fn clear_bit(self) -> &'a mut W {
22362                self.bit(false)
22363            }
22364            ///Writes raw bits to the field
22365            #[inline(always)]
22366            pub fn bit(self, value: bool) -> &'a mut W {
22367                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
22368                self.w
22369            }
22370        }
22371        ///Reader of field `S23`
22372        pub type S23_R = crate::R<bool, bool>;
22373        ///Write proxy for field `S23`
22374        pub struct S23_W<'a> {
22375            w: &'a mut W,
22376        }
22377        impl<'a> S23_W<'a> {
22378            ///Sets the field bit
22379            #[inline(always)]
22380            pub fn set_bit(self) -> &'a mut W {
22381                self.bit(true)
22382            }
22383            ///Clears the field bit
22384            #[inline(always)]
22385            pub fn clear_bit(self) -> &'a mut W {
22386                self.bit(false)
22387            }
22388            ///Writes raw bits to the field
22389            #[inline(always)]
22390            pub fn bit(self, value: bool) -> &'a mut W {
22391                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
22392                self.w
22393            }
22394        }
22395        ///Reader of field `S22`
22396        pub type S22_R = crate::R<bool, bool>;
22397        ///Write proxy for field `S22`
22398        pub struct S22_W<'a> {
22399            w: &'a mut W,
22400        }
22401        impl<'a> S22_W<'a> {
22402            ///Sets the field bit
22403            #[inline(always)]
22404            pub fn set_bit(self) -> &'a mut W {
22405                self.bit(true)
22406            }
22407            ///Clears the field bit
22408            #[inline(always)]
22409            pub fn clear_bit(self) -> &'a mut W {
22410                self.bit(false)
22411            }
22412            ///Writes raw bits to the field
22413            #[inline(always)]
22414            pub fn bit(self, value: bool) -> &'a mut W {
22415                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
22416                self.w
22417            }
22418        }
22419        ///Reader of field `S21`
22420        pub type S21_R = crate::R<bool, bool>;
22421        ///Write proxy for field `S21`
22422        pub struct S21_W<'a> {
22423            w: &'a mut W,
22424        }
22425        impl<'a> S21_W<'a> {
22426            ///Sets the field bit
22427            #[inline(always)]
22428            pub fn set_bit(self) -> &'a mut W {
22429                self.bit(true)
22430            }
22431            ///Clears the field bit
22432            #[inline(always)]
22433            pub fn clear_bit(self) -> &'a mut W {
22434                self.bit(false)
22435            }
22436            ///Writes raw bits to the field
22437            #[inline(always)]
22438            pub fn bit(self, value: bool) -> &'a mut W {
22439                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
22440                self.w
22441            }
22442        }
22443        ///Reader of field `S20`
22444        pub type S20_R = crate::R<bool, bool>;
22445        ///Write proxy for field `S20`
22446        pub struct S20_W<'a> {
22447            w: &'a mut W,
22448        }
22449        impl<'a> S20_W<'a> {
22450            ///Sets the field bit
22451            #[inline(always)]
22452            pub fn set_bit(self) -> &'a mut W {
22453                self.bit(true)
22454            }
22455            ///Clears the field bit
22456            #[inline(always)]
22457            pub fn clear_bit(self) -> &'a mut W {
22458                self.bit(false)
22459            }
22460            ///Writes raw bits to the field
22461            #[inline(always)]
22462            pub fn bit(self, value: bool) -> &'a mut W {
22463                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
22464                self.w
22465            }
22466        }
22467        ///Reader of field `S19`
22468        pub type S19_R = crate::R<bool, bool>;
22469        ///Write proxy for field `S19`
22470        pub struct S19_W<'a> {
22471            w: &'a mut W,
22472        }
22473        impl<'a> S19_W<'a> {
22474            ///Sets the field bit
22475            #[inline(always)]
22476            pub fn set_bit(self) -> &'a mut W {
22477                self.bit(true)
22478            }
22479            ///Clears the field bit
22480            #[inline(always)]
22481            pub fn clear_bit(self) -> &'a mut W {
22482                self.bit(false)
22483            }
22484            ///Writes raw bits to the field
22485            #[inline(always)]
22486            pub fn bit(self, value: bool) -> &'a mut W {
22487                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
22488                self.w
22489            }
22490        }
22491        ///Reader of field `S18`
22492        pub type S18_R = crate::R<bool, bool>;
22493        ///Write proxy for field `S18`
22494        pub struct S18_W<'a> {
22495            w: &'a mut W,
22496        }
22497        impl<'a> S18_W<'a> {
22498            ///Sets the field bit
22499            #[inline(always)]
22500            pub fn set_bit(self) -> &'a mut W {
22501                self.bit(true)
22502            }
22503            ///Clears the field bit
22504            #[inline(always)]
22505            pub fn clear_bit(self) -> &'a mut W {
22506                self.bit(false)
22507            }
22508            ///Writes raw bits to the field
22509            #[inline(always)]
22510            pub fn bit(self, value: bool) -> &'a mut W {
22511                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
22512                self.w
22513            }
22514        }
22515        ///Reader of field `S17`
22516        pub type S17_R = crate::R<bool, bool>;
22517        ///Write proxy for field `S17`
22518        pub struct S17_W<'a> {
22519            w: &'a mut W,
22520        }
22521        impl<'a> S17_W<'a> {
22522            ///Sets the field bit
22523            #[inline(always)]
22524            pub fn set_bit(self) -> &'a mut W {
22525                self.bit(true)
22526            }
22527            ///Clears the field bit
22528            #[inline(always)]
22529            pub fn clear_bit(self) -> &'a mut W {
22530                self.bit(false)
22531            }
22532            ///Writes raw bits to the field
22533            #[inline(always)]
22534            pub fn bit(self, value: bool) -> &'a mut W {
22535                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
22536                self.w
22537            }
22538        }
22539        ///Reader of field `S16`
22540        pub type S16_R = crate::R<bool, bool>;
22541        ///Write proxy for field `S16`
22542        pub struct S16_W<'a> {
22543            w: &'a mut W,
22544        }
22545        impl<'a> S16_W<'a> {
22546            ///Sets the field bit
22547            #[inline(always)]
22548            pub fn set_bit(self) -> &'a mut W {
22549                self.bit(true)
22550            }
22551            ///Clears the field bit
22552            #[inline(always)]
22553            pub fn clear_bit(self) -> &'a mut W {
22554                self.bit(false)
22555            }
22556            ///Writes raw bits to the field
22557            #[inline(always)]
22558            pub fn bit(self, value: bool) -> &'a mut W {
22559                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
22560                self.w
22561            }
22562        }
22563        ///Reader of field `S15`
22564        pub type S15_R = crate::R<bool, bool>;
22565        ///Write proxy for field `S15`
22566        pub struct S15_W<'a> {
22567            w: &'a mut W,
22568        }
22569        impl<'a> S15_W<'a> {
22570            ///Sets the field bit
22571            #[inline(always)]
22572            pub fn set_bit(self) -> &'a mut W {
22573                self.bit(true)
22574            }
22575            ///Clears the field bit
22576            #[inline(always)]
22577            pub fn clear_bit(self) -> &'a mut W {
22578                self.bit(false)
22579            }
22580            ///Writes raw bits to the field
22581            #[inline(always)]
22582            pub fn bit(self, value: bool) -> &'a mut W {
22583                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
22584                self.w
22585            }
22586        }
22587        ///Reader of field `S14`
22588        pub type S14_R = crate::R<bool, bool>;
22589        ///Write proxy for field `S14`
22590        pub struct S14_W<'a> {
22591            w: &'a mut W,
22592        }
22593        impl<'a> S14_W<'a> {
22594            ///Sets the field bit
22595            #[inline(always)]
22596            pub fn set_bit(self) -> &'a mut W {
22597                self.bit(true)
22598            }
22599            ///Clears the field bit
22600            #[inline(always)]
22601            pub fn clear_bit(self) -> &'a mut W {
22602                self.bit(false)
22603            }
22604            ///Writes raw bits to the field
22605            #[inline(always)]
22606            pub fn bit(self, value: bool) -> &'a mut W {
22607                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
22608                self.w
22609            }
22610        }
22611        ///Reader of field `S13`
22612        pub type S13_R = crate::R<bool, bool>;
22613        ///Write proxy for field `S13`
22614        pub struct S13_W<'a> {
22615            w: &'a mut W,
22616        }
22617        impl<'a> S13_W<'a> {
22618            ///Sets the field bit
22619            #[inline(always)]
22620            pub fn set_bit(self) -> &'a mut W {
22621                self.bit(true)
22622            }
22623            ///Clears the field bit
22624            #[inline(always)]
22625            pub fn clear_bit(self) -> &'a mut W {
22626                self.bit(false)
22627            }
22628            ///Writes raw bits to the field
22629            #[inline(always)]
22630            pub fn bit(self, value: bool) -> &'a mut W {
22631                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
22632                self.w
22633            }
22634        }
22635        ///Reader of field `S12`
22636        pub type S12_R = crate::R<bool, bool>;
22637        ///Write proxy for field `S12`
22638        pub struct S12_W<'a> {
22639            w: &'a mut W,
22640        }
22641        impl<'a> S12_W<'a> {
22642            ///Sets the field bit
22643            #[inline(always)]
22644            pub fn set_bit(self) -> &'a mut W {
22645                self.bit(true)
22646            }
22647            ///Clears the field bit
22648            #[inline(always)]
22649            pub fn clear_bit(self) -> &'a mut W {
22650                self.bit(false)
22651            }
22652            ///Writes raw bits to the field
22653            #[inline(always)]
22654            pub fn bit(self, value: bool) -> &'a mut W {
22655                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
22656                self.w
22657            }
22658        }
22659        ///Reader of field `S11`
22660        pub type S11_R = crate::R<bool, bool>;
22661        ///Write proxy for field `S11`
22662        pub struct S11_W<'a> {
22663            w: &'a mut W,
22664        }
22665        impl<'a> S11_W<'a> {
22666            ///Sets the field bit
22667            #[inline(always)]
22668            pub fn set_bit(self) -> &'a mut W {
22669                self.bit(true)
22670            }
22671            ///Clears the field bit
22672            #[inline(always)]
22673            pub fn clear_bit(self) -> &'a mut W {
22674                self.bit(false)
22675            }
22676            ///Writes raw bits to the field
22677            #[inline(always)]
22678            pub fn bit(self, value: bool) -> &'a mut W {
22679                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
22680                self.w
22681            }
22682        }
22683        ///Reader of field `S10`
22684        pub type S10_R = crate::R<bool, bool>;
22685        ///Write proxy for field `S10`
22686        pub struct S10_W<'a> {
22687            w: &'a mut W,
22688        }
22689        impl<'a> S10_W<'a> {
22690            ///Sets the field bit
22691            #[inline(always)]
22692            pub fn set_bit(self) -> &'a mut W {
22693                self.bit(true)
22694            }
22695            ///Clears the field bit
22696            #[inline(always)]
22697            pub fn clear_bit(self) -> &'a mut W {
22698                self.bit(false)
22699            }
22700            ///Writes raw bits to the field
22701            #[inline(always)]
22702            pub fn bit(self, value: bool) -> &'a mut W {
22703                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
22704                self.w
22705            }
22706        }
22707        ///Reader of field `S09`
22708        pub type S09_R = crate::R<bool, bool>;
22709        ///Write proxy for field `S09`
22710        pub struct S09_W<'a> {
22711            w: &'a mut W,
22712        }
22713        impl<'a> S09_W<'a> {
22714            ///Sets the field bit
22715            #[inline(always)]
22716            pub fn set_bit(self) -> &'a mut W {
22717                self.bit(true)
22718            }
22719            ///Clears the field bit
22720            #[inline(always)]
22721            pub fn clear_bit(self) -> &'a mut W {
22722                self.bit(false)
22723            }
22724            ///Writes raw bits to the field
22725            #[inline(always)]
22726            pub fn bit(self, value: bool) -> &'a mut W {
22727                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
22728                self.w
22729            }
22730        }
22731        ///Reader of field `S08`
22732        pub type S08_R = crate::R<bool, bool>;
22733        ///Write proxy for field `S08`
22734        pub struct S08_W<'a> {
22735            w: &'a mut W,
22736        }
22737        impl<'a> S08_W<'a> {
22738            ///Sets the field bit
22739            #[inline(always)]
22740            pub fn set_bit(self) -> &'a mut W {
22741                self.bit(true)
22742            }
22743            ///Clears the field bit
22744            #[inline(always)]
22745            pub fn clear_bit(self) -> &'a mut W {
22746                self.bit(false)
22747            }
22748            ///Writes raw bits to the field
22749            #[inline(always)]
22750            pub fn bit(self, value: bool) -> &'a mut W {
22751                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
22752                self.w
22753            }
22754        }
22755        ///Reader of field `S07`
22756        pub type S07_R = crate::R<bool, bool>;
22757        ///Write proxy for field `S07`
22758        pub struct S07_W<'a> {
22759            w: &'a mut W,
22760        }
22761        impl<'a> S07_W<'a> {
22762            ///Sets the field bit
22763            #[inline(always)]
22764            pub fn set_bit(self) -> &'a mut W {
22765                self.bit(true)
22766            }
22767            ///Clears the field bit
22768            #[inline(always)]
22769            pub fn clear_bit(self) -> &'a mut W {
22770                self.bit(false)
22771            }
22772            ///Writes raw bits to the field
22773            #[inline(always)]
22774            pub fn bit(self, value: bool) -> &'a mut W {
22775                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
22776                self.w
22777            }
22778        }
22779        ///Reader of field `S06`
22780        pub type S06_R = crate::R<bool, bool>;
22781        ///Write proxy for field `S06`
22782        pub struct S06_W<'a> {
22783            w: &'a mut W,
22784        }
22785        impl<'a> S06_W<'a> {
22786            ///Sets the field bit
22787            #[inline(always)]
22788            pub fn set_bit(self) -> &'a mut W {
22789                self.bit(true)
22790            }
22791            ///Clears the field bit
22792            #[inline(always)]
22793            pub fn clear_bit(self) -> &'a mut W {
22794                self.bit(false)
22795            }
22796            ///Writes raw bits to the field
22797            #[inline(always)]
22798            pub fn bit(self, value: bool) -> &'a mut W {
22799                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
22800                self.w
22801            }
22802        }
22803        ///Reader of field `S05`
22804        pub type S05_R = crate::R<bool, bool>;
22805        ///Write proxy for field `S05`
22806        pub struct S05_W<'a> {
22807            w: &'a mut W,
22808        }
22809        impl<'a> S05_W<'a> {
22810            ///Sets the field bit
22811            #[inline(always)]
22812            pub fn set_bit(self) -> &'a mut W {
22813                self.bit(true)
22814            }
22815            ///Clears the field bit
22816            #[inline(always)]
22817            pub fn clear_bit(self) -> &'a mut W {
22818                self.bit(false)
22819            }
22820            ///Writes raw bits to the field
22821            #[inline(always)]
22822            pub fn bit(self, value: bool) -> &'a mut W {
22823                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
22824                self.w
22825            }
22826        }
22827        ///Reader of field `S04`
22828        pub type S04_R = crate::R<bool, bool>;
22829        ///Write proxy for field `S04`
22830        pub struct S04_W<'a> {
22831            w: &'a mut W,
22832        }
22833        impl<'a> S04_W<'a> {
22834            ///Sets the field bit
22835            #[inline(always)]
22836            pub fn set_bit(self) -> &'a mut W {
22837                self.bit(true)
22838            }
22839            ///Clears the field bit
22840            #[inline(always)]
22841            pub fn clear_bit(self) -> &'a mut W {
22842                self.bit(false)
22843            }
22844            ///Writes raw bits to the field
22845            #[inline(always)]
22846            pub fn bit(self, value: bool) -> &'a mut W {
22847                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
22848                self.w
22849            }
22850        }
22851        ///Reader of field `S03`
22852        pub type S03_R = crate::R<bool, bool>;
22853        ///Write proxy for field `S03`
22854        pub struct S03_W<'a> {
22855            w: &'a mut W,
22856        }
22857        impl<'a> S03_W<'a> {
22858            ///Sets the field bit
22859            #[inline(always)]
22860            pub fn set_bit(self) -> &'a mut W {
22861                self.bit(true)
22862            }
22863            ///Clears the field bit
22864            #[inline(always)]
22865            pub fn clear_bit(self) -> &'a mut W {
22866                self.bit(false)
22867            }
22868            ///Writes raw bits to the field
22869            #[inline(always)]
22870            pub fn bit(self, value: bool) -> &'a mut W {
22871                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
22872                self.w
22873            }
22874        }
22875        ///Reader of field `S02`
22876        pub type S02_R = crate::R<bool, bool>;
22877        ///Write proxy for field `S02`
22878        pub struct S02_W<'a> {
22879            w: &'a mut W,
22880        }
22881        impl<'a> S02_W<'a> {
22882            ///Sets the field bit
22883            #[inline(always)]
22884            pub fn set_bit(self) -> &'a mut W {
22885                self.bit(true)
22886            }
22887            ///Clears the field bit
22888            #[inline(always)]
22889            pub fn clear_bit(self) -> &'a mut W {
22890                self.bit(false)
22891            }
22892            ///Writes raw bits to the field
22893            #[inline(always)]
22894            pub fn bit(self, value: bool) -> &'a mut W {
22895                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
22896                self.w
22897            }
22898        }
22899        ///Reader of field `S01`
22900        pub type S01_R = crate::R<bool, bool>;
22901        ///Write proxy for field `S01`
22902        pub struct S01_W<'a> {
22903            w: &'a mut W,
22904        }
22905        impl<'a> S01_W<'a> {
22906            ///Sets the field bit
22907            #[inline(always)]
22908            pub fn set_bit(self) -> &'a mut W {
22909                self.bit(true)
22910            }
22911            ///Clears the field bit
22912            #[inline(always)]
22913            pub fn clear_bit(self) -> &'a mut W {
22914                self.bit(false)
22915            }
22916            ///Writes raw bits to the field
22917            #[inline(always)]
22918            pub fn bit(self, value: bool) -> &'a mut W {
22919                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
22920                self.w
22921            }
22922        }
22923        ///Reader of field `S00`
22924        pub type S00_R = crate::R<bool, bool>;
22925        ///Write proxy for field `S00`
22926        pub struct S00_W<'a> {
22927            w: &'a mut W,
22928        }
22929        impl<'a> S00_W<'a> {
22930            ///Sets the field bit
22931            #[inline(always)]
22932            pub fn set_bit(self) -> &'a mut W {
22933                self.bit(true)
22934            }
22935            ///Clears the field bit
22936            #[inline(always)]
22937            pub fn clear_bit(self) -> &'a mut W {
22938                self.bit(false)
22939            }
22940            ///Writes raw bits to the field
22941            #[inline(always)]
22942            pub fn bit(self, value: bool) -> &'a mut W {
22943                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
22944                self.w
22945            }
22946        }
22947        impl R {
22948            ///Bit 31 - S31
22949            #[inline(always)]
22950            pub fn s31(&self) -> S31_R {
22951                S31_R::new(((self.bits >> 31) & 0x01) != 0)
22952            }
22953            ///Bit 30 - S30
22954            #[inline(always)]
22955            pub fn s30(&self) -> S30_R {
22956                S30_R::new(((self.bits >> 30) & 0x01) != 0)
22957            }
22958            ///Bit 29 - S29
22959            #[inline(always)]
22960            pub fn s29(&self) -> S29_R {
22961                S29_R::new(((self.bits >> 29) & 0x01) != 0)
22962            }
22963            ///Bit 28 - S28
22964            #[inline(always)]
22965            pub fn s28(&self) -> S28_R {
22966                S28_R::new(((self.bits >> 28) & 0x01) != 0)
22967            }
22968            ///Bit 27 - S27
22969            #[inline(always)]
22970            pub fn s27(&self) -> S27_R {
22971                S27_R::new(((self.bits >> 27) & 0x01) != 0)
22972            }
22973            ///Bit 26 - S26
22974            #[inline(always)]
22975            pub fn s26(&self) -> S26_R {
22976                S26_R::new(((self.bits >> 26) & 0x01) != 0)
22977            }
22978            ///Bit 25 - S25
22979            #[inline(always)]
22980            pub fn s25(&self) -> S25_R {
22981                S25_R::new(((self.bits >> 25) & 0x01) != 0)
22982            }
22983            ///Bit 24 - S24
22984            #[inline(always)]
22985            pub fn s24(&self) -> S24_R {
22986                S24_R::new(((self.bits >> 24) & 0x01) != 0)
22987            }
22988            ///Bit 23 - S23
22989            #[inline(always)]
22990            pub fn s23(&self) -> S23_R {
22991                S23_R::new(((self.bits >> 23) & 0x01) != 0)
22992            }
22993            ///Bit 22 - S22
22994            #[inline(always)]
22995            pub fn s22(&self) -> S22_R {
22996                S22_R::new(((self.bits >> 22) & 0x01) != 0)
22997            }
22998            ///Bit 21 - S21
22999            #[inline(always)]
23000            pub fn s21(&self) -> S21_R {
23001                S21_R::new(((self.bits >> 21) & 0x01) != 0)
23002            }
23003            ///Bit 20 - S20
23004            #[inline(always)]
23005            pub fn s20(&self) -> S20_R {
23006                S20_R::new(((self.bits >> 20) & 0x01) != 0)
23007            }
23008            ///Bit 19 - S19
23009            #[inline(always)]
23010            pub fn s19(&self) -> S19_R {
23011                S19_R::new(((self.bits >> 19) & 0x01) != 0)
23012            }
23013            ///Bit 18 - S18
23014            #[inline(always)]
23015            pub fn s18(&self) -> S18_R {
23016                S18_R::new(((self.bits >> 18) & 0x01) != 0)
23017            }
23018            ///Bit 17 - S17
23019            #[inline(always)]
23020            pub fn s17(&self) -> S17_R {
23021                S17_R::new(((self.bits >> 17) & 0x01) != 0)
23022            }
23023            ///Bit 16 - S16
23024            #[inline(always)]
23025            pub fn s16(&self) -> S16_R {
23026                S16_R::new(((self.bits >> 16) & 0x01) != 0)
23027            }
23028            ///Bit 15 - S15
23029            #[inline(always)]
23030            pub fn s15(&self) -> S15_R {
23031                S15_R::new(((self.bits >> 15) & 0x01) != 0)
23032            }
23033            ///Bit 14 - S14
23034            #[inline(always)]
23035            pub fn s14(&self) -> S14_R {
23036                S14_R::new(((self.bits >> 14) & 0x01) != 0)
23037            }
23038            ///Bit 13 - S13
23039            #[inline(always)]
23040            pub fn s13(&self) -> S13_R {
23041                S13_R::new(((self.bits >> 13) & 0x01) != 0)
23042            }
23043            ///Bit 12 - S12
23044            #[inline(always)]
23045            pub fn s12(&self) -> S12_R {
23046                S12_R::new(((self.bits >> 12) & 0x01) != 0)
23047            }
23048            ///Bit 11 - S11
23049            #[inline(always)]
23050            pub fn s11(&self) -> S11_R {
23051                S11_R::new(((self.bits >> 11) & 0x01) != 0)
23052            }
23053            ///Bit 10 - S10
23054            #[inline(always)]
23055            pub fn s10(&self) -> S10_R {
23056                S10_R::new(((self.bits >> 10) & 0x01) != 0)
23057            }
23058            ///Bit 9 - S09
23059            #[inline(always)]
23060            pub fn s09(&self) -> S09_R {
23061                S09_R::new(((self.bits >> 9) & 0x01) != 0)
23062            }
23063            ///Bit 8 - S08
23064            #[inline(always)]
23065            pub fn s08(&self) -> S08_R {
23066                S08_R::new(((self.bits >> 8) & 0x01) != 0)
23067            }
23068            ///Bit 7 - S07
23069            #[inline(always)]
23070            pub fn s07(&self) -> S07_R {
23071                S07_R::new(((self.bits >> 7) & 0x01) != 0)
23072            }
23073            ///Bit 6 - S06
23074            #[inline(always)]
23075            pub fn s06(&self) -> S06_R {
23076                S06_R::new(((self.bits >> 6) & 0x01) != 0)
23077            }
23078            ///Bit 5 - S05
23079            #[inline(always)]
23080            pub fn s05(&self) -> S05_R {
23081                S05_R::new(((self.bits >> 5) & 0x01) != 0)
23082            }
23083            ///Bit 4 - S04
23084            #[inline(always)]
23085            pub fn s04(&self) -> S04_R {
23086                S04_R::new(((self.bits >> 4) & 0x01) != 0)
23087            }
23088            ///Bit 3 - S03
23089            #[inline(always)]
23090            pub fn s03(&self) -> S03_R {
23091                S03_R::new(((self.bits >> 3) & 0x01) != 0)
23092            }
23093            ///Bit 2 - S02
23094            #[inline(always)]
23095            pub fn s02(&self) -> S02_R {
23096                S02_R::new(((self.bits >> 2) & 0x01) != 0)
23097            }
23098            ///Bit 1 - S01
23099            #[inline(always)]
23100            pub fn s01(&self) -> S01_R {
23101                S01_R::new(((self.bits >> 1) & 0x01) != 0)
23102            }
23103            ///Bit 0 - S00
23104            #[inline(always)]
23105            pub fn s00(&self) -> S00_R {
23106                S00_R::new((self.bits & 0x01) != 0)
23107            }
23108        }
23109        impl W {
23110            ///Bit 31 - S31
23111            #[inline(always)]
23112            pub fn s31(&mut self) -> S31_W {
23113                S31_W { w: self }
23114            }
23115            ///Bit 30 - S30
23116            #[inline(always)]
23117            pub fn s30(&mut self) -> S30_W {
23118                S30_W { w: self }
23119            }
23120            ///Bit 29 - S29
23121            #[inline(always)]
23122            pub fn s29(&mut self) -> S29_W {
23123                S29_W { w: self }
23124            }
23125            ///Bit 28 - S28
23126            #[inline(always)]
23127            pub fn s28(&mut self) -> S28_W {
23128                S28_W { w: self }
23129            }
23130            ///Bit 27 - S27
23131            #[inline(always)]
23132            pub fn s27(&mut self) -> S27_W {
23133                S27_W { w: self }
23134            }
23135            ///Bit 26 - S26
23136            #[inline(always)]
23137            pub fn s26(&mut self) -> S26_W {
23138                S26_W { w: self }
23139            }
23140            ///Bit 25 - S25
23141            #[inline(always)]
23142            pub fn s25(&mut self) -> S25_W {
23143                S25_W { w: self }
23144            }
23145            ///Bit 24 - S24
23146            #[inline(always)]
23147            pub fn s24(&mut self) -> S24_W {
23148                S24_W { w: self }
23149            }
23150            ///Bit 23 - S23
23151            #[inline(always)]
23152            pub fn s23(&mut self) -> S23_W {
23153                S23_W { w: self }
23154            }
23155            ///Bit 22 - S22
23156            #[inline(always)]
23157            pub fn s22(&mut self) -> S22_W {
23158                S22_W { w: self }
23159            }
23160            ///Bit 21 - S21
23161            #[inline(always)]
23162            pub fn s21(&mut self) -> S21_W {
23163                S21_W { w: self }
23164            }
23165            ///Bit 20 - S20
23166            #[inline(always)]
23167            pub fn s20(&mut self) -> S20_W {
23168                S20_W { w: self }
23169            }
23170            ///Bit 19 - S19
23171            #[inline(always)]
23172            pub fn s19(&mut self) -> S19_W {
23173                S19_W { w: self }
23174            }
23175            ///Bit 18 - S18
23176            #[inline(always)]
23177            pub fn s18(&mut self) -> S18_W {
23178                S18_W { w: self }
23179            }
23180            ///Bit 17 - S17
23181            #[inline(always)]
23182            pub fn s17(&mut self) -> S17_W {
23183                S17_W { w: self }
23184            }
23185            ///Bit 16 - S16
23186            #[inline(always)]
23187            pub fn s16(&mut self) -> S16_W {
23188                S16_W { w: self }
23189            }
23190            ///Bit 15 - S15
23191            #[inline(always)]
23192            pub fn s15(&mut self) -> S15_W {
23193                S15_W { w: self }
23194            }
23195            ///Bit 14 - S14
23196            #[inline(always)]
23197            pub fn s14(&mut self) -> S14_W {
23198                S14_W { w: self }
23199            }
23200            ///Bit 13 - S13
23201            #[inline(always)]
23202            pub fn s13(&mut self) -> S13_W {
23203                S13_W { w: self }
23204            }
23205            ///Bit 12 - S12
23206            #[inline(always)]
23207            pub fn s12(&mut self) -> S12_W {
23208                S12_W { w: self }
23209            }
23210            ///Bit 11 - S11
23211            #[inline(always)]
23212            pub fn s11(&mut self) -> S11_W {
23213                S11_W { w: self }
23214            }
23215            ///Bit 10 - S10
23216            #[inline(always)]
23217            pub fn s10(&mut self) -> S10_W {
23218                S10_W { w: self }
23219            }
23220            ///Bit 9 - S09
23221            #[inline(always)]
23222            pub fn s09(&mut self) -> S09_W {
23223                S09_W { w: self }
23224            }
23225            ///Bit 8 - S08
23226            #[inline(always)]
23227            pub fn s08(&mut self) -> S08_W {
23228                S08_W { w: self }
23229            }
23230            ///Bit 7 - S07
23231            #[inline(always)]
23232            pub fn s07(&mut self) -> S07_W {
23233                S07_W { w: self }
23234            }
23235            ///Bit 6 - S06
23236            #[inline(always)]
23237            pub fn s06(&mut self) -> S06_W {
23238                S06_W { w: self }
23239            }
23240            ///Bit 5 - S05
23241            #[inline(always)]
23242            pub fn s05(&mut self) -> S05_W {
23243                S05_W { w: self }
23244            }
23245            ///Bit 4 - S04
23246            #[inline(always)]
23247            pub fn s04(&mut self) -> S04_W {
23248                S04_W { w: self }
23249            }
23250            ///Bit 3 - S03
23251            #[inline(always)]
23252            pub fn s03(&mut self) -> S03_W {
23253                S03_W { w: self }
23254            }
23255            ///Bit 2 - S02
23256            #[inline(always)]
23257            pub fn s02(&mut self) -> S02_W {
23258                S02_W { w: self }
23259            }
23260            ///Bit 1 - S01
23261            #[inline(always)]
23262            pub fn s01(&mut self) -> S01_W {
23263                S01_W { w: self }
23264            }
23265            ///Bit 0 - S00
23266            #[inline(always)]
23267            pub fn s00(&mut self) -> S00_W {
23268                S00_W { w: self }
23269            }
23270        }
23271    }
23272    ///display memory
23273    ///
23274    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
23275    ///
23276    ///For information about available fields see [ram_com6](ram_com6) module
23277    pub type RAM_COM6 = crate::Reg<u32, _RAM_COM6>;
23278    #[allow(missing_docs)]
23279    #[doc(hidden)]
23280    pub struct _RAM_COM6;
23281    ///`read()` method returns [ram_com6::R](ram_com6::R) reader structure
23282    impl crate::Readable for RAM_COM6 {}
23283    ///`write(|w| ..)` method takes [ram_com6::W](ram_com6::W) writer structure
23284    impl crate::Writable for RAM_COM6 {}
23285    ///display memory
23286    pub mod ram_com6 {
23287        ///Reader of register RAM_COM6
23288        pub type R = crate::R<u32, super::RAM_COM6>;
23289        ///Writer for register RAM_COM6
23290        pub type W = crate::W<u32, super::RAM_COM6>;
23291        ///Register RAM_COM6 `reset()`'s with value 0
23292        impl crate::ResetValue for super::RAM_COM6 {
23293            type Type = u32;
23294            #[inline(always)]
23295            fn reset_value() -> Self::Type {
23296                0
23297            }
23298        }
23299        ///Reader of field `S31`
23300        pub type S31_R = crate::R<bool, bool>;
23301        ///Write proxy for field `S31`
23302        pub struct S31_W<'a> {
23303            w: &'a mut W,
23304        }
23305        impl<'a> S31_W<'a> {
23306            ///Sets the field bit
23307            #[inline(always)]
23308            pub fn set_bit(self) -> &'a mut W {
23309                self.bit(true)
23310            }
23311            ///Clears the field bit
23312            #[inline(always)]
23313            pub fn clear_bit(self) -> &'a mut W {
23314                self.bit(false)
23315            }
23316            ///Writes raw bits to the field
23317            #[inline(always)]
23318            pub fn bit(self, value: bool) -> &'a mut W {
23319                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
23320                self.w
23321            }
23322        }
23323        ///Reader of field `S30`
23324        pub type S30_R = crate::R<bool, bool>;
23325        ///Write proxy for field `S30`
23326        pub struct S30_W<'a> {
23327            w: &'a mut W,
23328        }
23329        impl<'a> S30_W<'a> {
23330            ///Sets the field bit
23331            #[inline(always)]
23332            pub fn set_bit(self) -> &'a mut W {
23333                self.bit(true)
23334            }
23335            ///Clears the field bit
23336            #[inline(always)]
23337            pub fn clear_bit(self) -> &'a mut W {
23338                self.bit(false)
23339            }
23340            ///Writes raw bits to the field
23341            #[inline(always)]
23342            pub fn bit(self, value: bool) -> &'a mut W {
23343                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
23344                self.w
23345            }
23346        }
23347        ///Reader of field `S29`
23348        pub type S29_R = crate::R<bool, bool>;
23349        ///Write proxy for field `S29`
23350        pub struct S29_W<'a> {
23351            w: &'a mut W,
23352        }
23353        impl<'a> S29_W<'a> {
23354            ///Sets the field bit
23355            #[inline(always)]
23356            pub fn set_bit(self) -> &'a mut W {
23357                self.bit(true)
23358            }
23359            ///Clears the field bit
23360            #[inline(always)]
23361            pub fn clear_bit(self) -> &'a mut W {
23362                self.bit(false)
23363            }
23364            ///Writes raw bits to the field
23365            #[inline(always)]
23366            pub fn bit(self, value: bool) -> &'a mut W {
23367                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
23368                self.w
23369            }
23370        }
23371        ///Reader of field `S28`
23372        pub type S28_R = crate::R<bool, bool>;
23373        ///Write proxy for field `S28`
23374        pub struct S28_W<'a> {
23375            w: &'a mut W,
23376        }
23377        impl<'a> S28_W<'a> {
23378            ///Sets the field bit
23379            #[inline(always)]
23380            pub fn set_bit(self) -> &'a mut W {
23381                self.bit(true)
23382            }
23383            ///Clears the field bit
23384            #[inline(always)]
23385            pub fn clear_bit(self) -> &'a mut W {
23386                self.bit(false)
23387            }
23388            ///Writes raw bits to the field
23389            #[inline(always)]
23390            pub fn bit(self, value: bool) -> &'a mut W {
23391                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
23392                self.w
23393            }
23394        }
23395        ///Reader of field `S27`
23396        pub type S27_R = crate::R<bool, bool>;
23397        ///Write proxy for field `S27`
23398        pub struct S27_W<'a> {
23399            w: &'a mut W,
23400        }
23401        impl<'a> S27_W<'a> {
23402            ///Sets the field bit
23403            #[inline(always)]
23404            pub fn set_bit(self) -> &'a mut W {
23405                self.bit(true)
23406            }
23407            ///Clears the field bit
23408            #[inline(always)]
23409            pub fn clear_bit(self) -> &'a mut W {
23410                self.bit(false)
23411            }
23412            ///Writes raw bits to the field
23413            #[inline(always)]
23414            pub fn bit(self, value: bool) -> &'a mut W {
23415                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
23416                self.w
23417            }
23418        }
23419        ///Reader of field `S26`
23420        pub type S26_R = crate::R<bool, bool>;
23421        ///Write proxy for field `S26`
23422        pub struct S26_W<'a> {
23423            w: &'a mut W,
23424        }
23425        impl<'a> S26_W<'a> {
23426            ///Sets the field bit
23427            #[inline(always)]
23428            pub fn set_bit(self) -> &'a mut W {
23429                self.bit(true)
23430            }
23431            ///Clears the field bit
23432            #[inline(always)]
23433            pub fn clear_bit(self) -> &'a mut W {
23434                self.bit(false)
23435            }
23436            ///Writes raw bits to the field
23437            #[inline(always)]
23438            pub fn bit(self, value: bool) -> &'a mut W {
23439                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
23440                self.w
23441            }
23442        }
23443        ///Reader of field `S25`
23444        pub type S25_R = crate::R<bool, bool>;
23445        ///Write proxy for field `S25`
23446        pub struct S25_W<'a> {
23447            w: &'a mut W,
23448        }
23449        impl<'a> S25_W<'a> {
23450            ///Sets the field bit
23451            #[inline(always)]
23452            pub fn set_bit(self) -> &'a mut W {
23453                self.bit(true)
23454            }
23455            ///Clears the field bit
23456            #[inline(always)]
23457            pub fn clear_bit(self) -> &'a mut W {
23458                self.bit(false)
23459            }
23460            ///Writes raw bits to the field
23461            #[inline(always)]
23462            pub fn bit(self, value: bool) -> &'a mut W {
23463                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
23464                self.w
23465            }
23466        }
23467        ///Reader of field `S24`
23468        pub type S24_R = crate::R<bool, bool>;
23469        ///Write proxy for field `S24`
23470        pub struct S24_W<'a> {
23471            w: &'a mut W,
23472        }
23473        impl<'a> S24_W<'a> {
23474            ///Sets the field bit
23475            #[inline(always)]
23476            pub fn set_bit(self) -> &'a mut W {
23477                self.bit(true)
23478            }
23479            ///Clears the field bit
23480            #[inline(always)]
23481            pub fn clear_bit(self) -> &'a mut W {
23482                self.bit(false)
23483            }
23484            ///Writes raw bits to the field
23485            #[inline(always)]
23486            pub fn bit(self, value: bool) -> &'a mut W {
23487                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
23488                self.w
23489            }
23490        }
23491        ///Reader of field `S23`
23492        pub type S23_R = crate::R<bool, bool>;
23493        ///Write proxy for field `S23`
23494        pub struct S23_W<'a> {
23495            w: &'a mut W,
23496        }
23497        impl<'a> S23_W<'a> {
23498            ///Sets the field bit
23499            #[inline(always)]
23500            pub fn set_bit(self) -> &'a mut W {
23501                self.bit(true)
23502            }
23503            ///Clears the field bit
23504            #[inline(always)]
23505            pub fn clear_bit(self) -> &'a mut W {
23506                self.bit(false)
23507            }
23508            ///Writes raw bits to the field
23509            #[inline(always)]
23510            pub fn bit(self, value: bool) -> &'a mut W {
23511                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
23512                self.w
23513            }
23514        }
23515        ///Reader of field `S22`
23516        pub type S22_R = crate::R<bool, bool>;
23517        ///Write proxy for field `S22`
23518        pub struct S22_W<'a> {
23519            w: &'a mut W,
23520        }
23521        impl<'a> S22_W<'a> {
23522            ///Sets the field bit
23523            #[inline(always)]
23524            pub fn set_bit(self) -> &'a mut W {
23525                self.bit(true)
23526            }
23527            ///Clears the field bit
23528            #[inline(always)]
23529            pub fn clear_bit(self) -> &'a mut W {
23530                self.bit(false)
23531            }
23532            ///Writes raw bits to the field
23533            #[inline(always)]
23534            pub fn bit(self, value: bool) -> &'a mut W {
23535                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
23536                self.w
23537            }
23538        }
23539        ///Reader of field `S21`
23540        pub type S21_R = crate::R<bool, bool>;
23541        ///Write proxy for field `S21`
23542        pub struct S21_W<'a> {
23543            w: &'a mut W,
23544        }
23545        impl<'a> S21_W<'a> {
23546            ///Sets the field bit
23547            #[inline(always)]
23548            pub fn set_bit(self) -> &'a mut W {
23549                self.bit(true)
23550            }
23551            ///Clears the field bit
23552            #[inline(always)]
23553            pub fn clear_bit(self) -> &'a mut W {
23554                self.bit(false)
23555            }
23556            ///Writes raw bits to the field
23557            #[inline(always)]
23558            pub fn bit(self, value: bool) -> &'a mut W {
23559                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
23560                self.w
23561            }
23562        }
23563        ///Reader of field `S20`
23564        pub type S20_R = crate::R<bool, bool>;
23565        ///Write proxy for field `S20`
23566        pub struct S20_W<'a> {
23567            w: &'a mut W,
23568        }
23569        impl<'a> S20_W<'a> {
23570            ///Sets the field bit
23571            #[inline(always)]
23572            pub fn set_bit(self) -> &'a mut W {
23573                self.bit(true)
23574            }
23575            ///Clears the field bit
23576            #[inline(always)]
23577            pub fn clear_bit(self) -> &'a mut W {
23578                self.bit(false)
23579            }
23580            ///Writes raw bits to the field
23581            #[inline(always)]
23582            pub fn bit(self, value: bool) -> &'a mut W {
23583                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
23584                self.w
23585            }
23586        }
23587        ///Reader of field `S19`
23588        pub type S19_R = crate::R<bool, bool>;
23589        ///Write proxy for field `S19`
23590        pub struct S19_W<'a> {
23591            w: &'a mut W,
23592        }
23593        impl<'a> S19_W<'a> {
23594            ///Sets the field bit
23595            #[inline(always)]
23596            pub fn set_bit(self) -> &'a mut W {
23597                self.bit(true)
23598            }
23599            ///Clears the field bit
23600            #[inline(always)]
23601            pub fn clear_bit(self) -> &'a mut W {
23602                self.bit(false)
23603            }
23604            ///Writes raw bits to the field
23605            #[inline(always)]
23606            pub fn bit(self, value: bool) -> &'a mut W {
23607                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
23608                self.w
23609            }
23610        }
23611        ///Reader of field `S18`
23612        pub type S18_R = crate::R<bool, bool>;
23613        ///Write proxy for field `S18`
23614        pub struct S18_W<'a> {
23615            w: &'a mut W,
23616        }
23617        impl<'a> S18_W<'a> {
23618            ///Sets the field bit
23619            #[inline(always)]
23620            pub fn set_bit(self) -> &'a mut W {
23621                self.bit(true)
23622            }
23623            ///Clears the field bit
23624            #[inline(always)]
23625            pub fn clear_bit(self) -> &'a mut W {
23626                self.bit(false)
23627            }
23628            ///Writes raw bits to the field
23629            #[inline(always)]
23630            pub fn bit(self, value: bool) -> &'a mut W {
23631                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
23632                self.w
23633            }
23634        }
23635        ///Reader of field `S17`
23636        pub type S17_R = crate::R<bool, bool>;
23637        ///Write proxy for field `S17`
23638        pub struct S17_W<'a> {
23639            w: &'a mut W,
23640        }
23641        impl<'a> S17_W<'a> {
23642            ///Sets the field bit
23643            #[inline(always)]
23644            pub fn set_bit(self) -> &'a mut W {
23645                self.bit(true)
23646            }
23647            ///Clears the field bit
23648            #[inline(always)]
23649            pub fn clear_bit(self) -> &'a mut W {
23650                self.bit(false)
23651            }
23652            ///Writes raw bits to the field
23653            #[inline(always)]
23654            pub fn bit(self, value: bool) -> &'a mut W {
23655                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
23656                self.w
23657            }
23658        }
23659        ///Reader of field `S16`
23660        pub type S16_R = crate::R<bool, bool>;
23661        ///Write proxy for field `S16`
23662        pub struct S16_W<'a> {
23663            w: &'a mut W,
23664        }
23665        impl<'a> S16_W<'a> {
23666            ///Sets the field bit
23667            #[inline(always)]
23668            pub fn set_bit(self) -> &'a mut W {
23669                self.bit(true)
23670            }
23671            ///Clears the field bit
23672            #[inline(always)]
23673            pub fn clear_bit(self) -> &'a mut W {
23674                self.bit(false)
23675            }
23676            ///Writes raw bits to the field
23677            #[inline(always)]
23678            pub fn bit(self, value: bool) -> &'a mut W {
23679                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
23680                self.w
23681            }
23682        }
23683        ///Reader of field `S15`
23684        pub type S15_R = crate::R<bool, bool>;
23685        ///Write proxy for field `S15`
23686        pub struct S15_W<'a> {
23687            w: &'a mut W,
23688        }
23689        impl<'a> S15_W<'a> {
23690            ///Sets the field bit
23691            #[inline(always)]
23692            pub fn set_bit(self) -> &'a mut W {
23693                self.bit(true)
23694            }
23695            ///Clears the field bit
23696            #[inline(always)]
23697            pub fn clear_bit(self) -> &'a mut W {
23698                self.bit(false)
23699            }
23700            ///Writes raw bits to the field
23701            #[inline(always)]
23702            pub fn bit(self, value: bool) -> &'a mut W {
23703                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
23704                self.w
23705            }
23706        }
23707        ///Reader of field `S14`
23708        pub type S14_R = crate::R<bool, bool>;
23709        ///Write proxy for field `S14`
23710        pub struct S14_W<'a> {
23711            w: &'a mut W,
23712        }
23713        impl<'a> S14_W<'a> {
23714            ///Sets the field bit
23715            #[inline(always)]
23716            pub fn set_bit(self) -> &'a mut W {
23717                self.bit(true)
23718            }
23719            ///Clears the field bit
23720            #[inline(always)]
23721            pub fn clear_bit(self) -> &'a mut W {
23722                self.bit(false)
23723            }
23724            ///Writes raw bits to the field
23725            #[inline(always)]
23726            pub fn bit(self, value: bool) -> &'a mut W {
23727                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
23728                self.w
23729            }
23730        }
23731        ///Reader of field `S13`
23732        pub type S13_R = crate::R<bool, bool>;
23733        ///Write proxy for field `S13`
23734        pub struct S13_W<'a> {
23735            w: &'a mut W,
23736        }
23737        impl<'a> S13_W<'a> {
23738            ///Sets the field bit
23739            #[inline(always)]
23740            pub fn set_bit(self) -> &'a mut W {
23741                self.bit(true)
23742            }
23743            ///Clears the field bit
23744            #[inline(always)]
23745            pub fn clear_bit(self) -> &'a mut W {
23746                self.bit(false)
23747            }
23748            ///Writes raw bits to the field
23749            #[inline(always)]
23750            pub fn bit(self, value: bool) -> &'a mut W {
23751                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
23752                self.w
23753            }
23754        }
23755        ///Reader of field `S12`
23756        pub type S12_R = crate::R<bool, bool>;
23757        ///Write proxy for field `S12`
23758        pub struct S12_W<'a> {
23759            w: &'a mut W,
23760        }
23761        impl<'a> S12_W<'a> {
23762            ///Sets the field bit
23763            #[inline(always)]
23764            pub fn set_bit(self) -> &'a mut W {
23765                self.bit(true)
23766            }
23767            ///Clears the field bit
23768            #[inline(always)]
23769            pub fn clear_bit(self) -> &'a mut W {
23770                self.bit(false)
23771            }
23772            ///Writes raw bits to the field
23773            #[inline(always)]
23774            pub fn bit(self, value: bool) -> &'a mut W {
23775                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
23776                self.w
23777            }
23778        }
23779        ///Reader of field `S11`
23780        pub type S11_R = crate::R<bool, bool>;
23781        ///Write proxy for field `S11`
23782        pub struct S11_W<'a> {
23783            w: &'a mut W,
23784        }
23785        impl<'a> S11_W<'a> {
23786            ///Sets the field bit
23787            #[inline(always)]
23788            pub fn set_bit(self) -> &'a mut W {
23789                self.bit(true)
23790            }
23791            ///Clears the field bit
23792            #[inline(always)]
23793            pub fn clear_bit(self) -> &'a mut W {
23794                self.bit(false)
23795            }
23796            ///Writes raw bits to the field
23797            #[inline(always)]
23798            pub fn bit(self, value: bool) -> &'a mut W {
23799                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
23800                self.w
23801            }
23802        }
23803        ///Reader of field `S10`
23804        pub type S10_R = crate::R<bool, bool>;
23805        ///Write proxy for field `S10`
23806        pub struct S10_W<'a> {
23807            w: &'a mut W,
23808        }
23809        impl<'a> S10_W<'a> {
23810            ///Sets the field bit
23811            #[inline(always)]
23812            pub fn set_bit(self) -> &'a mut W {
23813                self.bit(true)
23814            }
23815            ///Clears the field bit
23816            #[inline(always)]
23817            pub fn clear_bit(self) -> &'a mut W {
23818                self.bit(false)
23819            }
23820            ///Writes raw bits to the field
23821            #[inline(always)]
23822            pub fn bit(self, value: bool) -> &'a mut W {
23823                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
23824                self.w
23825            }
23826        }
23827        ///Reader of field `S09`
23828        pub type S09_R = crate::R<bool, bool>;
23829        ///Write proxy for field `S09`
23830        pub struct S09_W<'a> {
23831            w: &'a mut W,
23832        }
23833        impl<'a> S09_W<'a> {
23834            ///Sets the field bit
23835            #[inline(always)]
23836            pub fn set_bit(self) -> &'a mut W {
23837                self.bit(true)
23838            }
23839            ///Clears the field bit
23840            #[inline(always)]
23841            pub fn clear_bit(self) -> &'a mut W {
23842                self.bit(false)
23843            }
23844            ///Writes raw bits to the field
23845            #[inline(always)]
23846            pub fn bit(self, value: bool) -> &'a mut W {
23847                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
23848                self.w
23849            }
23850        }
23851        ///Reader of field `S08`
23852        pub type S08_R = crate::R<bool, bool>;
23853        ///Write proxy for field `S08`
23854        pub struct S08_W<'a> {
23855            w: &'a mut W,
23856        }
23857        impl<'a> S08_W<'a> {
23858            ///Sets the field bit
23859            #[inline(always)]
23860            pub fn set_bit(self) -> &'a mut W {
23861                self.bit(true)
23862            }
23863            ///Clears the field bit
23864            #[inline(always)]
23865            pub fn clear_bit(self) -> &'a mut W {
23866                self.bit(false)
23867            }
23868            ///Writes raw bits to the field
23869            #[inline(always)]
23870            pub fn bit(self, value: bool) -> &'a mut W {
23871                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
23872                self.w
23873            }
23874        }
23875        ///Reader of field `S07`
23876        pub type S07_R = crate::R<bool, bool>;
23877        ///Write proxy for field `S07`
23878        pub struct S07_W<'a> {
23879            w: &'a mut W,
23880        }
23881        impl<'a> S07_W<'a> {
23882            ///Sets the field bit
23883            #[inline(always)]
23884            pub fn set_bit(self) -> &'a mut W {
23885                self.bit(true)
23886            }
23887            ///Clears the field bit
23888            #[inline(always)]
23889            pub fn clear_bit(self) -> &'a mut W {
23890                self.bit(false)
23891            }
23892            ///Writes raw bits to the field
23893            #[inline(always)]
23894            pub fn bit(self, value: bool) -> &'a mut W {
23895                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
23896                self.w
23897            }
23898        }
23899        ///Reader of field `S06`
23900        pub type S06_R = crate::R<bool, bool>;
23901        ///Write proxy for field `S06`
23902        pub struct S06_W<'a> {
23903            w: &'a mut W,
23904        }
23905        impl<'a> S06_W<'a> {
23906            ///Sets the field bit
23907            #[inline(always)]
23908            pub fn set_bit(self) -> &'a mut W {
23909                self.bit(true)
23910            }
23911            ///Clears the field bit
23912            #[inline(always)]
23913            pub fn clear_bit(self) -> &'a mut W {
23914                self.bit(false)
23915            }
23916            ///Writes raw bits to the field
23917            #[inline(always)]
23918            pub fn bit(self, value: bool) -> &'a mut W {
23919                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
23920                self.w
23921            }
23922        }
23923        ///Reader of field `S05`
23924        pub type S05_R = crate::R<bool, bool>;
23925        ///Write proxy for field `S05`
23926        pub struct S05_W<'a> {
23927            w: &'a mut W,
23928        }
23929        impl<'a> S05_W<'a> {
23930            ///Sets the field bit
23931            #[inline(always)]
23932            pub fn set_bit(self) -> &'a mut W {
23933                self.bit(true)
23934            }
23935            ///Clears the field bit
23936            #[inline(always)]
23937            pub fn clear_bit(self) -> &'a mut W {
23938                self.bit(false)
23939            }
23940            ///Writes raw bits to the field
23941            #[inline(always)]
23942            pub fn bit(self, value: bool) -> &'a mut W {
23943                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
23944                self.w
23945            }
23946        }
23947        ///Reader of field `S04`
23948        pub type S04_R = crate::R<bool, bool>;
23949        ///Write proxy for field `S04`
23950        pub struct S04_W<'a> {
23951            w: &'a mut W,
23952        }
23953        impl<'a> S04_W<'a> {
23954            ///Sets the field bit
23955            #[inline(always)]
23956            pub fn set_bit(self) -> &'a mut W {
23957                self.bit(true)
23958            }
23959            ///Clears the field bit
23960            #[inline(always)]
23961            pub fn clear_bit(self) -> &'a mut W {
23962                self.bit(false)
23963            }
23964            ///Writes raw bits to the field
23965            #[inline(always)]
23966            pub fn bit(self, value: bool) -> &'a mut W {
23967                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
23968                self.w
23969            }
23970        }
23971        ///Reader of field `S03`
23972        pub type S03_R = crate::R<bool, bool>;
23973        ///Write proxy for field `S03`
23974        pub struct S03_W<'a> {
23975            w: &'a mut W,
23976        }
23977        impl<'a> S03_W<'a> {
23978            ///Sets the field bit
23979            #[inline(always)]
23980            pub fn set_bit(self) -> &'a mut W {
23981                self.bit(true)
23982            }
23983            ///Clears the field bit
23984            #[inline(always)]
23985            pub fn clear_bit(self) -> &'a mut W {
23986                self.bit(false)
23987            }
23988            ///Writes raw bits to the field
23989            #[inline(always)]
23990            pub fn bit(self, value: bool) -> &'a mut W {
23991                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
23992                self.w
23993            }
23994        }
23995        ///Reader of field `S02`
23996        pub type S02_R = crate::R<bool, bool>;
23997        ///Write proxy for field `S02`
23998        pub struct S02_W<'a> {
23999            w: &'a mut W,
24000        }
24001        impl<'a> S02_W<'a> {
24002            ///Sets the field bit
24003            #[inline(always)]
24004            pub fn set_bit(self) -> &'a mut W {
24005                self.bit(true)
24006            }
24007            ///Clears the field bit
24008            #[inline(always)]
24009            pub fn clear_bit(self) -> &'a mut W {
24010                self.bit(false)
24011            }
24012            ///Writes raw bits to the field
24013            #[inline(always)]
24014            pub fn bit(self, value: bool) -> &'a mut W {
24015                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
24016                self.w
24017            }
24018        }
24019        ///Reader of field `S01`
24020        pub type S01_R = crate::R<bool, bool>;
24021        ///Write proxy for field `S01`
24022        pub struct S01_W<'a> {
24023            w: &'a mut W,
24024        }
24025        impl<'a> S01_W<'a> {
24026            ///Sets the field bit
24027            #[inline(always)]
24028            pub fn set_bit(self) -> &'a mut W {
24029                self.bit(true)
24030            }
24031            ///Clears the field bit
24032            #[inline(always)]
24033            pub fn clear_bit(self) -> &'a mut W {
24034                self.bit(false)
24035            }
24036            ///Writes raw bits to the field
24037            #[inline(always)]
24038            pub fn bit(self, value: bool) -> &'a mut W {
24039                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
24040                self.w
24041            }
24042        }
24043        ///Reader of field `S00`
24044        pub type S00_R = crate::R<bool, bool>;
24045        ///Write proxy for field `S00`
24046        pub struct S00_W<'a> {
24047            w: &'a mut W,
24048        }
24049        impl<'a> S00_W<'a> {
24050            ///Sets the field bit
24051            #[inline(always)]
24052            pub fn set_bit(self) -> &'a mut W {
24053                self.bit(true)
24054            }
24055            ///Clears the field bit
24056            #[inline(always)]
24057            pub fn clear_bit(self) -> &'a mut W {
24058                self.bit(false)
24059            }
24060            ///Writes raw bits to the field
24061            #[inline(always)]
24062            pub fn bit(self, value: bool) -> &'a mut W {
24063                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
24064                self.w
24065            }
24066        }
24067        impl R {
24068            ///Bit 31 - S31
24069            #[inline(always)]
24070            pub fn s31(&self) -> S31_R {
24071                S31_R::new(((self.bits >> 31) & 0x01) != 0)
24072            }
24073            ///Bit 30 - S30
24074            #[inline(always)]
24075            pub fn s30(&self) -> S30_R {
24076                S30_R::new(((self.bits >> 30) & 0x01) != 0)
24077            }
24078            ///Bit 29 - S29
24079            #[inline(always)]
24080            pub fn s29(&self) -> S29_R {
24081                S29_R::new(((self.bits >> 29) & 0x01) != 0)
24082            }
24083            ///Bit 28 - S28
24084            #[inline(always)]
24085            pub fn s28(&self) -> S28_R {
24086                S28_R::new(((self.bits >> 28) & 0x01) != 0)
24087            }
24088            ///Bit 27 - S27
24089            #[inline(always)]
24090            pub fn s27(&self) -> S27_R {
24091                S27_R::new(((self.bits >> 27) & 0x01) != 0)
24092            }
24093            ///Bit 26 - S26
24094            #[inline(always)]
24095            pub fn s26(&self) -> S26_R {
24096                S26_R::new(((self.bits >> 26) & 0x01) != 0)
24097            }
24098            ///Bit 25 - S25
24099            #[inline(always)]
24100            pub fn s25(&self) -> S25_R {
24101                S25_R::new(((self.bits >> 25) & 0x01) != 0)
24102            }
24103            ///Bit 24 - S24
24104            #[inline(always)]
24105            pub fn s24(&self) -> S24_R {
24106                S24_R::new(((self.bits >> 24) & 0x01) != 0)
24107            }
24108            ///Bit 23 - S23
24109            #[inline(always)]
24110            pub fn s23(&self) -> S23_R {
24111                S23_R::new(((self.bits >> 23) & 0x01) != 0)
24112            }
24113            ///Bit 22 - S22
24114            #[inline(always)]
24115            pub fn s22(&self) -> S22_R {
24116                S22_R::new(((self.bits >> 22) & 0x01) != 0)
24117            }
24118            ///Bit 21 - S21
24119            #[inline(always)]
24120            pub fn s21(&self) -> S21_R {
24121                S21_R::new(((self.bits >> 21) & 0x01) != 0)
24122            }
24123            ///Bit 20 - S20
24124            #[inline(always)]
24125            pub fn s20(&self) -> S20_R {
24126                S20_R::new(((self.bits >> 20) & 0x01) != 0)
24127            }
24128            ///Bit 19 - S19
24129            #[inline(always)]
24130            pub fn s19(&self) -> S19_R {
24131                S19_R::new(((self.bits >> 19) & 0x01) != 0)
24132            }
24133            ///Bit 18 - S18
24134            #[inline(always)]
24135            pub fn s18(&self) -> S18_R {
24136                S18_R::new(((self.bits >> 18) & 0x01) != 0)
24137            }
24138            ///Bit 17 - S17
24139            #[inline(always)]
24140            pub fn s17(&self) -> S17_R {
24141                S17_R::new(((self.bits >> 17) & 0x01) != 0)
24142            }
24143            ///Bit 16 - S16
24144            #[inline(always)]
24145            pub fn s16(&self) -> S16_R {
24146                S16_R::new(((self.bits >> 16) & 0x01) != 0)
24147            }
24148            ///Bit 15 - S15
24149            #[inline(always)]
24150            pub fn s15(&self) -> S15_R {
24151                S15_R::new(((self.bits >> 15) & 0x01) != 0)
24152            }
24153            ///Bit 14 - S14
24154            #[inline(always)]
24155            pub fn s14(&self) -> S14_R {
24156                S14_R::new(((self.bits >> 14) & 0x01) != 0)
24157            }
24158            ///Bit 13 - S13
24159            #[inline(always)]
24160            pub fn s13(&self) -> S13_R {
24161                S13_R::new(((self.bits >> 13) & 0x01) != 0)
24162            }
24163            ///Bit 12 - S12
24164            #[inline(always)]
24165            pub fn s12(&self) -> S12_R {
24166                S12_R::new(((self.bits >> 12) & 0x01) != 0)
24167            }
24168            ///Bit 11 - S11
24169            #[inline(always)]
24170            pub fn s11(&self) -> S11_R {
24171                S11_R::new(((self.bits >> 11) & 0x01) != 0)
24172            }
24173            ///Bit 10 - S10
24174            #[inline(always)]
24175            pub fn s10(&self) -> S10_R {
24176                S10_R::new(((self.bits >> 10) & 0x01) != 0)
24177            }
24178            ///Bit 9 - S09
24179            #[inline(always)]
24180            pub fn s09(&self) -> S09_R {
24181                S09_R::new(((self.bits >> 9) & 0x01) != 0)
24182            }
24183            ///Bit 8 - S08
24184            #[inline(always)]
24185            pub fn s08(&self) -> S08_R {
24186                S08_R::new(((self.bits >> 8) & 0x01) != 0)
24187            }
24188            ///Bit 7 - S07
24189            #[inline(always)]
24190            pub fn s07(&self) -> S07_R {
24191                S07_R::new(((self.bits >> 7) & 0x01) != 0)
24192            }
24193            ///Bit 6 - S06
24194            #[inline(always)]
24195            pub fn s06(&self) -> S06_R {
24196                S06_R::new(((self.bits >> 6) & 0x01) != 0)
24197            }
24198            ///Bit 5 - S05
24199            #[inline(always)]
24200            pub fn s05(&self) -> S05_R {
24201                S05_R::new(((self.bits >> 5) & 0x01) != 0)
24202            }
24203            ///Bit 4 - S04
24204            #[inline(always)]
24205            pub fn s04(&self) -> S04_R {
24206                S04_R::new(((self.bits >> 4) & 0x01) != 0)
24207            }
24208            ///Bit 3 - S03
24209            #[inline(always)]
24210            pub fn s03(&self) -> S03_R {
24211                S03_R::new(((self.bits >> 3) & 0x01) != 0)
24212            }
24213            ///Bit 2 - S02
24214            #[inline(always)]
24215            pub fn s02(&self) -> S02_R {
24216                S02_R::new(((self.bits >> 2) & 0x01) != 0)
24217            }
24218            ///Bit 1 - S01
24219            #[inline(always)]
24220            pub fn s01(&self) -> S01_R {
24221                S01_R::new(((self.bits >> 1) & 0x01) != 0)
24222            }
24223            ///Bit 0 - S00
24224            #[inline(always)]
24225            pub fn s00(&self) -> S00_R {
24226                S00_R::new((self.bits & 0x01) != 0)
24227            }
24228        }
24229        impl W {
24230            ///Bit 31 - S31
24231            #[inline(always)]
24232            pub fn s31(&mut self) -> S31_W {
24233                S31_W { w: self }
24234            }
24235            ///Bit 30 - S30
24236            #[inline(always)]
24237            pub fn s30(&mut self) -> S30_W {
24238                S30_W { w: self }
24239            }
24240            ///Bit 29 - S29
24241            #[inline(always)]
24242            pub fn s29(&mut self) -> S29_W {
24243                S29_W { w: self }
24244            }
24245            ///Bit 28 - S28
24246            #[inline(always)]
24247            pub fn s28(&mut self) -> S28_W {
24248                S28_W { w: self }
24249            }
24250            ///Bit 27 - S27
24251            #[inline(always)]
24252            pub fn s27(&mut self) -> S27_W {
24253                S27_W { w: self }
24254            }
24255            ///Bit 26 - S26
24256            #[inline(always)]
24257            pub fn s26(&mut self) -> S26_W {
24258                S26_W { w: self }
24259            }
24260            ///Bit 25 - S25
24261            #[inline(always)]
24262            pub fn s25(&mut self) -> S25_W {
24263                S25_W { w: self }
24264            }
24265            ///Bit 24 - S24
24266            #[inline(always)]
24267            pub fn s24(&mut self) -> S24_W {
24268                S24_W { w: self }
24269            }
24270            ///Bit 23 - S23
24271            #[inline(always)]
24272            pub fn s23(&mut self) -> S23_W {
24273                S23_W { w: self }
24274            }
24275            ///Bit 22 - S22
24276            #[inline(always)]
24277            pub fn s22(&mut self) -> S22_W {
24278                S22_W { w: self }
24279            }
24280            ///Bit 21 - S21
24281            #[inline(always)]
24282            pub fn s21(&mut self) -> S21_W {
24283                S21_W { w: self }
24284            }
24285            ///Bit 20 - S20
24286            #[inline(always)]
24287            pub fn s20(&mut self) -> S20_W {
24288                S20_W { w: self }
24289            }
24290            ///Bit 19 - S19
24291            #[inline(always)]
24292            pub fn s19(&mut self) -> S19_W {
24293                S19_W { w: self }
24294            }
24295            ///Bit 18 - S18
24296            #[inline(always)]
24297            pub fn s18(&mut self) -> S18_W {
24298                S18_W { w: self }
24299            }
24300            ///Bit 17 - S17
24301            #[inline(always)]
24302            pub fn s17(&mut self) -> S17_W {
24303                S17_W { w: self }
24304            }
24305            ///Bit 16 - S16
24306            #[inline(always)]
24307            pub fn s16(&mut self) -> S16_W {
24308                S16_W { w: self }
24309            }
24310            ///Bit 15 - S15
24311            #[inline(always)]
24312            pub fn s15(&mut self) -> S15_W {
24313                S15_W { w: self }
24314            }
24315            ///Bit 14 - S14
24316            #[inline(always)]
24317            pub fn s14(&mut self) -> S14_W {
24318                S14_W { w: self }
24319            }
24320            ///Bit 13 - S13
24321            #[inline(always)]
24322            pub fn s13(&mut self) -> S13_W {
24323                S13_W { w: self }
24324            }
24325            ///Bit 12 - S12
24326            #[inline(always)]
24327            pub fn s12(&mut self) -> S12_W {
24328                S12_W { w: self }
24329            }
24330            ///Bit 11 - S11
24331            #[inline(always)]
24332            pub fn s11(&mut self) -> S11_W {
24333                S11_W { w: self }
24334            }
24335            ///Bit 10 - S10
24336            #[inline(always)]
24337            pub fn s10(&mut self) -> S10_W {
24338                S10_W { w: self }
24339            }
24340            ///Bit 9 - S09
24341            #[inline(always)]
24342            pub fn s09(&mut self) -> S09_W {
24343                S09_W { w: self }
24344            }
24345            ///Bit 8 - S08
24346            #[inline(always)]
24347            pub fn s08(&mut self) -> S08_W {
24348                S08_W { w: self }
24349            }
24350            ///Bit 7 - S07
24351            #[inline(always)]
24352            pub fn s07(&mut self) -> S07_W {
24353                S07_W { w: self }
24354            }
24355            ///Bit 6 - S06
24356            #[inline(always)]
24357            pub fn s06(&mut self) -> S06_W {
24358                S06_W { w: self }
24359            }
24360            ///Bit 5 - S05
24361            #[inline(always)]
24362            pub fn s05(&mut self) -> S05_W {
24363                S05_W { w: self }
24364            }
24365            ///Bit 4 - S04
24366            #[inline(always)]
24367            pub fn s04(&mut self) -> S04_W {
24368                S04_W { w: self }
24369            }
24370            ///Bit 3 - S03
24371            #[inline(always)]
24372            pub fn s03(&mut self) -> S03_W {
24373                S03_W { w: self }
24374            }
24375            ///Bit 2 - S02
24376            #[inline(always)]
24377            pub fn s02(&mut self) -> S02_W {
24378                S02_W { w: self }
24379            }
24380            ///Bit 1 - S01
24381            #[inline(always)]
24382            pub fn s01(&mut self) -> S01_W {
24383                S01_W { w: self }
24384            }
24385            ///Bit 0 - S00
24386            #[inline(always)]
24387            pub fn s00(&mut self) -> S00_W {
24388                S00_W { w: self }
24389            }
24390        }
24391    }
24392    ///display memory
24393    ///
24394    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
24395    ///
24396    ///For information about available fields see [ram_com7](ram_com7) module
24397    pub type RAM_COM7 = crate::Reg<u32, _RAM_COM7>;
24398    #[allow(missing_docs)]
24399    #[doc(hidden)]
24400    pub struct _RAM_COM7;
24401    ///`read()` method returns [ram_com7::R](ram_com7::R) reader structure
24402    impl crate::Readable for RAM_COM7 {}
24403    ///`write(|w| ..)` method takes [ram_com7::W](ram_com7::W) writer structure
24404    impl crate::Writable for RAM_COM7 {}
24405    ///display memory
24406    pub mod ram_com7 {
24407        ///Reader of register RAM_COM7
24408        pub type R = crate::R<u32, super::RAM_COM7>;
24409        ///Writer for register RAM_COM7
24410        pub type W = crate::W<u32, super::RAM_COM7>;
24411        ///Register RAM_COM7 `reset()`'s with value 0
24412        impl crate::ResetValue for super::RAM_COM7 {
24413            type Type = u32;
24414            #[inline(always)]
24415            fn reset_value() -> Self::Type {
24416                0
24417            }
24418        }
24419        ///Reader of field `S31`
24420        pub type S31_R = crate::R<bool, bool>;
24421        ///Write proxy for field `S31`
24422        pub struct S31_W<'a> {
24423            w: &'a mut W,
24424        }
24425        impl<'a> S31_W<'a> {
24426            ///Sets the field bit
24427            #[inline(always)]
24428            pub fn set_bit(self) -> &'a mut W {
24429                self.bit(true)
24430            }
24431            ///Clears the field bit
24432            #[inline(always)]
24433            pub fn clear_bit(self) -> &'a mut W {
24434                self.bit(false)
24435            }
24436            ///Writes raw bits to the field
24437            #[inline(always)]
24438            pub fn bit(self, value: bool) -> &'a mut W {
24439                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
24440                self.w
24441            }
24442        }
24443        ///Reader of field `S30`
24444        pub type S30_R = crate::R<bool, bool>;
24445        ///Write proxy for field `S30`
24446        pub struct S30_W<'a> {
24447            w: &'a mut W,
24448        }
24449        impl<'a> S30_W<'a> {
24450            ///Sets the field bit
24451            #[inline(always)]
24452            pub fn set_bit(self) -> &'a mut W {
24453                self.bit(true)
24454            }
24455            ///Clears the field bit
24456            #[inline(always)]
24457            pub fn clear_bit(self) -> &'a mut W {
24458                self.bit(false)
24459            }
24460            ///Writes raw bits to the field
24461            #[inline(always)]
24462            pub fn bit(self, value: bool) -> &'a mut W {
24463                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
24464                self.w
24465            }
24466        }
24467        ///Reader of field `S29`
24468        pub type S29_R = crate::R<bool, bool>;
24469        ///Write proxy for field `S29`
24470        pub struct S29_W<'a> {
24471            w: &'a mut W,
24472        }
24473        impl<'a> S29_W<'a> {
24474            ///Sets the field bit
24475            #[inline(always)]
24476            pub fn set_bit(self) -> &'a mut W {
24477                self.bit(true)
24478            }
24479            ///Clears the field bit
24480            #[inline(always)]
24481            pub fn clear_bit(self) -> &'a mut W {
24482                self.bit(false)
24483            }
24484            ///Writes raw bits to the field
24485            #[inline(always)]
24486            pub fn bit(self, value: bool) -> &'a mut W {
24487                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
24488                self.w
24489            }
24490        }
24491        ///Reader of field `S28`
24492        pub type S28_R = crate::R<bool, bool>;
24493        ///Write proxy for field `S28`
24494        pub struct S28_W<'a> {
24495            w: &'a mut W,
24496        }
24497        impl<'a> S28_W<'a> {
24498            ///Sets the field bit
24499            #[inline(always)]
24500            pub fn set_bit(self) -> &'a mut W {
24501                self.bit(true)
24502            }
24503            ///Clears the field bit
24504            #[inline(always)]
24505            pub fn clear_bit(self) -> &'a mut W {
24506                self.bit(false)
24507            }
24508            ///Writes raw bits to the field
24509            #[inline(always)]
24510            pub fn bit(self, value: bool) -> &'a mut W {
24511                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
24512                self.w
24513            }
24514        }
24515        ///Reader of field `S27`
24516        pub type S27_R = crate::R<bool, bool>;
24517        ///Write proxy for field `S27`
24518        pub struct S27_W<'a> {
24519            w: &'a mut W,
24520        }
24521        impl<'a> S27_W<'a> {
24522            ///Sets the field bit
24523            #[inline(always)]
24524            pub fn set_bit(self) -> &'a mut W {
24525                self.bit(true)
24526            }
24527            ///Clears the field bit
24528            #[inline(always)]
24529            pub fn clear_bit(self) -> &'a mut W {
24530                self.bit(false)
24531            }
24532            ///Writes raw bits to the field
24533            #[inline(always)]
24534            pub fn bit(self, value: bool) -> &'a mut W {
24535                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
24536                self.w
24537            }
24538        }
24539        ///Reader of field `S26`
24540        pub type S26_R = crate::R<bool, bool>;
24541        ///Write proxy for field `S26`
24542        pub struct S26_W<'a> {
24543            w: &'a mut W,
24544        }
24545        impl<'a> S26_W<'a> {
24546            ///Sets the field bit
24547            #[inline(always)]
24548            pub fn set_bit(self) -> &'a mut W {
24549                self.bit(true)
24550            }
24551            ///Clears the field bit
24552            #[inline(always)]
24553            pub fn clear_bit(self) -> &'a mut W {
24554                self.bit(false)
24555            }
24556            ///Writes raw bits to the field
24557            #[inline(always)]
24558            pub fn bit(self, value: bool) -> &'a mut W {
24559                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
24560                self.w
24561            }
24562        }
24563        ///Reader of field `S25`
24564        pub type S25_R = crate::R<bool, bool>;
24565        ///Write proxy for field `S25`
24566        pub struct S25_W<'a> {
24567            w: &'a mut W,
24568        }
24569        impl<'a> S25_W<'a> {
24570            ///Sets the field bit
24571            #[inline(always)]
24572            pub fn set_bit(self) -> &'a mut W {
24573                self.bit(true)
24574            }
24575            ///Clears the field bit
24576            #[inline(always)]
24577            pub fn clear_bit(self) -> &'a mut W {
24578                self.bit(false)
24579            }
24580            ///Writes raw bits to the field
24581            #[inline(always)]
24582            pub fn bit(self, value: bool) -> &'a mut W {
24583                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
24584                self.w
24585            }
24586        }
24587        ///Reader of field `S24`
24588        pub type S24_R = crate::R<bool, bool>;
24589        ///Write proxy for field `S24`
24590        pub struct S24_W<'a> {
24591            w: &'a mut W,
24592        }
24593        impl<'a> S24_W<'a> {
24594            ///Sets the field bit
24595            #[inline(always)]
24596            pub fn set_bit(self) -> &'a mut W {
24597                self.bit(true)
24598            }
24599            ///Clears the field bit
24600            #[inline(always)]
24601            pub fn clear_bit(self) -> &'a mut W {
24602                self.bit(false)
24603            }
24604            ///Writes raw bits to the field
24605            #[inline(always)]
24606            pub fn bit(self, value: bool) -> &'a mut W {
24607                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
24608                self.w
24609            }
24610        }
24611        ///Reader of field `S23`
24612        pub type S23_R = crate::R<bool, bool>;
24613        ///Write proxy for field `S23`
24614        pub struct S23_W<'a> {
24615            w: &'a mut W,
24616        }
24617        impl<'a> S23_W<'a> {
24618            ///Sets the field bit
24619            #[inline(always)]
24620            pub fn set_bit(self) -> &'a mut W {
24621                self.bit(true)
24622            }
24623            ///Clears the field bit
24624            #[inline(always)]
24625            pub fn clear_bit(self) -> &'a mut W {
24626                self.bit(false)
24627            }
24628            ///Writes raw bits to the field
24629            #[inline(always)]
24630            pub fn bit(self, value: bool) -> &'a mut W {
24631                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
24632                self.w
24633            }
24634        }
24635        ///Reader of field `S22`
24636        pub type S22_R = crate::R<bool, bool>;
24637        ///Write proxy for field `S22`
24638        pub struct S22_W<'a> {
24639            w: &'a mut W,
24640        }
24641        impl<'a> S22_W<'a> {
24642            ///Sets the field bit
24643            #[inline(always)]
24644            pub fn set_bit(self) -> &'a mut W {
24645                self.bit(true)
24646            }
24647            ///Clears the field bit
24648            #[inline(always)]
24649            pub fn clear_bit(self) -> &'a mut W {
24650                self.bit(false)
24651            }
24652            ///Writes raw bits to the field
24653            #[inline(always)]
24654            pub fn bit(self, value: bool) -> &'a mut W {
24655                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
24656                self.w
24657            }
24658        }
24659        ///Reader of field `S21`
24660        pub type S21_R = crate::R<bool, bool>;
24661        ///Write proxy for field `S21`
24662        pub struct S21_W<'a> {
24663            w: &'a mut W,
24664        }
24665        impl<'a> S21_W<'a> {
24666            ///Sets the field bit
24667            #[inline(always)]
24668            pub fn set_bit(self) -> &'a mut W {
24669                self.bit(true)
24670            }
24671            ///Clears the field bit
24672            #[inline(always)]
24673            pub fn clear_bit(self) -> &'a mut W {
24674                self.bit(false)
24675            }
24676            ///Writes raw bits to the field
24677            #[inline(always)]
24678            pub fn bit(self, value: bool) -> &'a mut W {
24679                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
24680                self.w
24681            }
24682        }
24683        ///Reader of field `S20`
24684        pub type S20_R = crate::R<bool, bool>;
24685        ///Write proxy for field `S20`
24686        pub struct S20_W<'a> {
24687            w: &'a mut W,
24688        }
24689        impl<'a> S20_W<'a> {
24690            ///Sets the field bit
24691            #[inline(always)]
24692            pub fn set_bit(self) -> &'a mut W {
24693                self.bit(true)
24694            }
24695            ///Clears the field bit
24696            #[inline(always)]
24697            pub fn clear_bit(self) -> &'a mut W {
24698                self.bit(false)
24699            }
24700            ///Writes raw bits to the field
24701            #[inline(always)]
24702            pub fn bit(self, value: bool) -> &'a mut W {
24703                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
24704                self.w
24705            }
24706        }
24707        ///Reader of field `S19`
24708        pub type S19_R = crate::R<bool, bool>;
24709        ///Write proxy for field `S19`
24710        pub struct S19_W<'a> {
24711            w: &'a mut W,
24712        }
24713        impl<'a> S19_W<'a> {
24714            ///Sets the field bit
24715            #[inline(always)]
24716            pub fn set_bit(self) -> &'a mut W {
24717                self.bit(true)
24718            }
24719            ///Clears the field bit
24720            #[inline(always)]
24721            pub fn clear_bit(self) -> &'a mut W {
24722                self.bit(false)
24723            }
24724            ///Writes raw bits to the field
24725            #[inline(always)]
24726            pub fn bit(self, value: bool) -> &'a mut W {
24727                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
24728                self.w
24729            }
24730        }
24731        ///Reader of field `S18`
24732        pub type S18_R = crate::R<bool, bool>;
24733        ///Write proxy for field `S18`
24734        pub struct S18_W<'a> {
24735            w: &'a mut W,
24736        }
24737        impl<'a> S18_W<'a> {
24738            ///Sets the field bit
24739            #[inline(always)]
24740            pub fn set_bit(self) -> &'a mut W {
24741                self.bit(true)
24742            }
24743            ///Clears the field bit
24744            #[inline(always)]
24745            pub fn clear_bit(self) -> &'a mut W {
24746                self.bit(false)
24747            }
24748            ///Writes raw bits to the field
24749            #[inline(always)]
24750            pub fn bit(self, value: bool) -> &'a mut W {
24751                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
24752                self.w
24753            }
24754        }
24755        ///Reader of field `S17`
24756        pub type S17_R = crate::R<bool, bool>;
24757        ///Write proxy for field `S17`
24758        pub struct S17_W<'a> {
24759            w: &'a mut W,
24760        }
24761        impl<'a> S17_W<'a> {
24762            ///Sets the field bit
24763            #[inline(always)]
24764            pub fn set_bit(self) -> &'a mut W {
24765                self.bit(true)
24766            }
24767            ///Clears the field bit
24768            #[inline(always)]
24769            pub fn clear_bit(self) -> &'a mut W {
24770                self.bit(false)
24771            }
24772            ///Writes raw bits to the field
24773            #[inline(always)]
24774            pub fn bit(self, value: bool) -> &'a mut W {
24775                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
24776                self.w
24777            }
24778        }
24779        ///Reader of field `S16`
24780        pub type S16_R = crate::R<bool, bool>;
24781        ///Write proxy for field `S16`
24782        pub struct S16_W<'a> {
24783            w: &'a mut W,
24784        }
24785        impl<'a> S16_W<'a> {
24786            ///Sets the field bit
24787            #[inline(always)]
24788            pub fn set_bit(self) -> &'a mut W {
24789                self.bit(true)
24790            }
24791            ///Clears the field bit
24792            #[inline(always)]
24793            pub fn clear_bit(self) -> &'a mut W {
24794                self.bit(false)
24795            }
24796            ///Writes raw bits to the field
24797            #[inline(always)]
24798            pub fn bit(self, value: bool) -> &'a mut W {
24799                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
24800                self.w
24801            }
24802        }
24803        ///Reader of field `S15`
24804        pub type S15_R = crate::R<bool, bool>;
24805        ///Write proxy for field `S15`
24806        pub struct S15_W<'a> {
24807            w: &'a mut W,
24808        }
24809        impl<'a> S15_W<'a> {
24810            ///Sets the field bit
24811            #[inline(always)]
24812            pub fn set_bit(self) -> &'a mut W {
24813                self.bit(true)
24814            }
24815            ///Clears the field bit
24816            #[inline(always)]
24817            pub fn clear_bit(self) -> &'a mut W {
24818                self.bit(false)
24819            }
24820            ///Writes raw bits to the field
24821            #[inline(always)]
24822            pub fn bit(self, value: bool) -> &'a mut W {
24823                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
24824                self.w
24825            }
24826        }
24827        ///Reader of field `S14`
24828        pub type S14_R = crate::R<bool, bool>;
24829        ///Write proxy for field `S14`
24830        pub struct S14_W<'a> {
24831            w: &'a mut W,
24832        }
24833        impl<'a> S14_W<'a> {
24834            ///Sets the field bit
24835            #[inline(always)]
24836            pub fn set_bit(self) -> &'a mut W {
24837                self.bit(true)
24838            }
24839            ///Clears the field bit
24840            #[inline(always)]
24841            pub fn clear_bit(self) -> &'a mut W {
24842                self.bit(false)
24843            }
24844            ///Writes raw bits to the field
24845            #[inline(always)]
24846            pub fn bit(self, value: bool) -> &'a mut W {
24847                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
24848                self.w
24849            }
24850        }
24851        ///Reader of field `S13`
24852        pub type S13_R = crate::R<bool, bool>;
24853        ///Write proxy for field `S13`
24854        pub struct S13_W<'a> {
24855            w: &'a mut W,
24856        }
24857        impl<'a> S13_W<'a> {
24858            ///Sets the field bit
24859            #[inline(always)]
24860            pub fn set_bit(self) -> &'a mut W {
24861                self.bit(true)
24862            }
24863            ///Clears the field bit
24864            #[inline(always)]
24865            pub fn clear_bit(self) -> &'a mut W {
24866                self.bit(false)
24867            }
24868            ///Writes raw bits to the field
24869            #[inline(always)]
24870            pub fn bit(self, value: bool) -> &'a mut W {
24871                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
24872                self.w
24873            }
24874        }
24875        ///Reader of field `S12`
24876        pub type S12_R = crate::R<bool, bool>;
24877        ///Write proxy for field `S12`
24878        pub struct S12_W<'a> {
24879            w: &'a mut W,
24880        }
24881        impl<'a> S12_W<'a> {
24882            ///Sets the field bit
24883            #[inline(always)]
24884            pub fn set_bit(self) -> &'a mut W {
24885                self.bit(true)
24886            }
24887            ///Clears the field bit
24888            #[inline(always)]
24889            pub fn clear_bit(self) -> &'a mut W {
24890                self.bit(false)
24891            }
24892            ///Writes raw bits to the field
24893            #[inline(always)]
24894            pub fn bit(self, value: bool) -> &'a mut W {
24895                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
24896                self.w
24897            }
24898        }
24899        ///Reader of field `S11`
24900        pub type S11_R = crate::R<bool, bool>;
24901        ///Write proxy for field `S11`
24902        pub struct S11_W<'a> {
24903            w: &'a mut W,
24904        }
24905        impl<'a> S11_W<'a> {
24906            ///Sets the field bit
24907            #[inline(always)]
24908            pub fn set_bit(self) -> &'a mut W {
24909                self.bit(true)
24910            }
24911            ///Clears the field bit
24912            #[inline(always)]
24913            pub fn clear_bit(self) -> &'a mut W {
24914                self.bit(false)
24915            }
24916            ///Writes raw bits to the field
24917            #[inline(always)]
24918            pub fn bit(self, value: bool) -> &'a mut W {
24919                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
24920                self.w
24921            }
24922        }
24923        ///Reader of field `S10`
24924        pub type S10_R = crate::R<bool, bool>;
24925        ///Write proxy for field `S10`
24926        pub struct S10_W<'a> {
24927            w: &'a mut W,
24928        }
24929        impl<'a> S10_W<'a> {
24930            ///Sets the field bit
24931            #[inline(always)]
24932            pub fn set_bit(self) -> &'a mut W {
24933                self.bit(true)
24934            }
24935            ///Clears the field bit
24936            #[inline(always)]
24937            pub fn clear_bit(self) -> &'a mut W {
24938                self.bit(false)
24939            }
24940            ///Writes raw bits to the field
24941            #[inline(always)]
24942            pub fn bit(self, value: bool) -> &'a mut W {
24943                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
24944                self.w
24945            }
24946        }
24947        ///Reader of field `S09`
24948        pub type S09_R = crate::R<bool, bool>;
24949        ///Write proxy for field `S09`
24950        pub struct S09_W<'a> {
24951            w: &'a mut W,
24952        }
24953        impl<'a> S09_W<'a> {
24954            ///Sets the field bit
24955            #[inline(always)]
24956            pub fn set_bit(self) -> &'a mut W {
24957                self.bit(true)
24958            }
24959            ///Clears the field bit
24960            #[inline(always)]
24961            pub fn clear_bit(self) -> &'a mut W {
24962                self.bit(false)
24963            }
24964            ///Writes raw bits to the field
24965            #[inline(always)]
24966            pub fn bit(self, value: bool) -> &'a mut W {
24967                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
24968                self.w
24969            }
24970        }
24971        ///Reader of field `S08`
24972        pub type S08_R = crate::R<bool, bool>;
24973        ///Write proxy for field `S08`
24974        pub struct S08_W<'a> {
24975            w: &'a mut W,
24976        }
24977        impl<'a> S08_W<'a> {
24978            ///Sets the field bit
24979            #[inline(always)]
24980            pub fn set_bit(self) -> &'a mut W {
24981                self.bit(true)
24982            }
24983            ///Clears the field bit
24984            #[inline(always)]
24985            pub fn clear_bit(self) -> &'a mut W {
24986                self.bit(false)
24987            }
24988            ///Writes raw bits to the field
24989            #[inline(always)]
24990            pub fn bit(self, value: bool) -> &'a mut W {
24991                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
24992                self.w
24993            }
24994        }
24995        ///Reader of field `S07`
24996        pub type S07_R = crate::R<bool, bool>;
24997        ///Write proxy for field `S07`
24998        pub struct S07_W<'a> {
24999            w: &'a mut W,
25000        }
25001        impl<'a> S07_W<'a> {
25002            ///Sets the field bit
25003            #[inline(always)]
25004            pub fn set_bit(self) -> &'a mut W {
25005                self.bit(true)
25006            }
25007            ///Clears the field bit
25008            #[inline(always)]
25009            pub fn clear_bit(self) -> &'a mut W {
25010                self.bit(false)
25011            }
25012            ///Writes raw bits to the field
25013            #[inline(always)]
25014            pub fn bit(self, value: bool) -> &'a mut W {
25015                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
25016                self.w
25017            }
25018        }
25019        ///Reader of field `S06`
25020        pub type S06_R = crate::R<bool, bool>;
25021        ///Write proxy for field `S06`
25022        pub struct S06_W<'a> {
25023            w: &'a mut W,
25024        }
25025        impl<'a> S06_W<'a> {
25026            ///Sets the field bit
25027            #[inline(always)]
25028            pub fn set_bit(self) -> &'a mut W {
25029                self.bit(true)
25030            }
25031            ///Clears the field bit
25032            #[inline(always)]
25033            pub fn clear_bit(self) -> &'a mut W {
25034                self.bit(false)
25035            }
25036            ///Writes raw bits to the field
25037            #[inline(always)]
25038            pub fn bit(self, value: bool) -> &'a mut W {
25039                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
25040                self.w
25041            }
25042        }
25043        ///Reader of field `S05`
25044        pub type S05_R = crate::R<bool, bool>;
25045        ///Write proxy for field `S05`
25046        pub struct S05_W<'a> {
25047            w: &'a mut W,
25048        }
25049        impl<'a> S05_W<'a> {
25050            ///Sets the field bit
25051            #[inline(always)]
25052            pub fn set_bit(self) -> &'a mut W {
25053                self.bit(true)
25054            }
25055            ///Clears the field bit
25056            #[inline(always)]
25057            pub fn clear_bit(self) -> &'a mut W {
25058                self.bit(false)
25059            }
25060            ///Writes raw bits to the field
25061            #[inline(always)]
25062            pub fn bit(self, value: bool) -> &'a mut W {
25063                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
25064                self.w
25065            }
25066        }
25067        ///Reader of field `S04`
25068        pub type S04_R = crate::R<bool, bool>;
25069        ///Write proxy for field `S04`
25070        pub struct S04_W<'a> {
25071            w: &'a mut W,
25072        }
25073        impl<'a> S04_W<'a> {
25074            ///Sets the field bit
25075            #[inline(always)]
25076            pub fn set_bit(self) -> &'a mut W {
25077                self.bit(true)
25078            }
25079            ///Clears the field bit
25080            #[inline(always)]
25081            pub fn clear_bit(self) -> &'a mut W {
25082                self.bit(false)
25083            }
25084            ///Writes raw bits to the field
25085            #[inline(always)]
25086            pub fn bit(self, value: bool) -> &'a mut W {
25087                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
25088                self.w
25089            }
25090        }
25091        ///Reader of field `S03`
25092        pub type S03_R = crate::R<bool, bool>;
25093        ///Write proxy for field `S03`
25094        pub struct S03_W<'a> {
25095            w: &'a mut W,
25096        }
25097        impl<'a> S03_W<'a> {
25098            ///Sets the field bit
25099            #[inline(always)]
25100            pub fn set_bit(self) -> &'a mut W {
25101                self.bit(true)
25102            }
25103            ///Clears the field bit
25104            #[inline(always)]
25105            pub fn clear_bit(self) -> &'a mut W {
25106                self.bit(false)
25107            }
25108            ///Writes raw bits to the field
25109            #[inline(always)]
25110            pub fn bit(self, value: bool) -> &'a mut W {
25111                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
25112                self.w
25113            }
25114        }
25115        ///Reader of field `S02`
25116        pub type S02_R = crate::R<bool, bool>;
25117        ///Write proxy for field `S02`
25118        pub struct S02_W<'a> {
25119            w: &'a mut W,
25120        }
25121        impl<'a> S02_W<'a> {
25122            ///Sets the field bit
25123            #[inline(always)]
25124            pub fn set_bit(self) -> &'a mut W {
25125                self.bit(true)
25126            }
25127            ///Clears the field bit
25128            #[inline(always)]
25129            pub fn clear_bit(self) -> &'a mut W {
25130                self.bit(false)
25131            }
25132            ///Writes raw bits to the field
25133            #[inline(always)]
25134            pub fn bit(self, value: bool) -> &'a mut W {
25135                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
25136                self.w
25137            }
25138        }
25139        ///Reader of field `S01`
25140        pub type S01_R = crate::R<bool, bool>;
25141        ///Write proxy for field `S01`
25142        pub struct S01_W<'a> {
25143            w: &'a mut W,
25144        }
25145        impl<'a> S01_W<'a> {
25146            ///Sets the field bit
25147            #[inline(always)]
25148            pub fn set_bit(self) -> &'a mut W {
25149                self.bit(true)
25150            }
25151            ///Clears the field bit
25152            #[inline(always)]
25153            pub fn clear_bit(self) -> &'a mut W {
25154                self.bit(false)
25155            }
25156            ///Writes raw bits to the field
25157            #[inline(always)]
25158            pub fn bit(self, value: bool) -> &'a mut W {
25159                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
25160                self.w
25161            }
25162        }
25163        ///Reader of field `S00`
25164        pub type S00_R = crate::R<bool, bool>;
25165        ///Write proxy for field `S00`
25166        pub struct S00_W<'a> {
25167            w: &'a mut W,
25168        }
25169        impl<'a> S00_W<'a> {
25170            ///Sets the field bit
25171            #[inline(always)]
25172            pub fn set_bit(self) -> &'a mut W {
25173                self.bit(true)
25174            }
25175            ///Clears the field bit
25176            #[inline(always)]
25177            pub fn clear_bit(self) -> &'a mut W {
25178                self.bit(false)
25179            }
25180            ///Writes raw bits to the field
25181            #[inline(always)]
25182            pub fn bit(self, value: bool) -> &'a mut W {
25183                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
25184                self.w
25185            }
25186        }
25187        impl R {
25188            ///Bit 31 - S31
25189            #[inline(always)]
25190            pub fn s31(&self) -> S31_R {
25191                S31_R::new(((self.bits >> 31) & 0x01) != 0)
25192            }
25193            ///Bit 30 - S30
25194            #[inline(always)]
25195            pub fn s30(&self) -> S30_R {
25196                S30_R::new(((self.bits >> 30) & 0x01) != 0)
25197            }
25198            ///Bit 29 - S29
25199            #[inline(always)]
25200            pub fn s29(&self) -> S29_R {
25201                S29_R::new(((self.bits >> 29) & 0x01) != 0)
25202            }
25203            ///Bit 28 - S28
25204            #[inline(always)]
25205            pub fn s28(&self) -> S28_R {
25206                S28_R::new(((self.bits >> 28) & 0x01) != 0)
25207            }
25208            ///Bit 27 - S27
25209            #[inline(always)]
25210            pub fn s27(&self) -> S27_R {
25211                S27_R::new(((self.bits >> 27) & 0x01) != 0)
25212            }
25213            ///Bit 26 - S26
25214            #[inline(always)]
25215            pub fn s26(&self) -> S26_R {
25216                S26_R::new(((self.bits >> 26) & 0x01) != 0)
25217            }
25218            ///Bit 25 - S25
25219            #[inline(always)]
25220            pub fn s25(&self) -> S25_R {
25221                S25_R::new(((self.bits >> 25) & 0x01) != 0)
25222            }
25223            ///Bit 24 - S24
25224            #[inline(always)]
25225            pub fn s24(&self) -> S24_R {
25226                S24_R::new(((self.bits >> 24) & 0x01) != 0)
25227            }
25228            ///Bit 23 - S23
25229            #[inline(always)]
25230            pub fn s23(&self) -> S23_R {
25231                S23_R::new(((self.bits >> 23) & 0x01) != 0)
25232            }
25233            ///Bit 22 - S22
25234            #[inline(always)]
25235            pub fn s22(&self) -> S22_R {
25236                S22_R::new(((self.bits >> 22) & 0x01) != 0)
25237            }
25238            ///Bit 21 - S21
25239            #[inline(always)]
25240            pub fn s21(&self) -> S21_R {
25241                S21_R::new(((self.bits >> 21) & 0x01) != 0)
25242            }
25243            ///Bit 20 - S20
25244            #[inline(always)]
25245            pub fn s20(&self) -> S20_R {
25246                S20_R::new(((self.bits >> 20) & 0x01) != 0)
25247            }
25248            ///Bit 19 - S19
25249            #[inline(always)]
25250            pub fn s19(&self) -> S19_R {
25251                S19_R::new(((self.bits >> 19) & 0x01) != 0)
25252            }
25253            ///Bit 18 - S18
25254            #[inline(always)]
25255            pub fn s18(&self) -> S18_R {
25256                S18_R::new(((self.bits >> 18) & 0x01) != 0)
25257            }
25258            ///Bit 17 - S17
25259            #[inline(always)]
25260            pub fn s17(&self) -> S17_R {
25261                S17_R::new(((self.bits >> 17) & 0x01) != 0)
25262            }
25263            ///Bit 16 - S16
25264            #[inline(always)]
25265            pub fn s16(&self) -> S16_R {
25266                S16_R::new(((self.bits >> 16) & 0x01) != 0)
25267            }
25268            ///Bit 15 - S15
25269            #[inline(always)]
25270            pub fn s15(&self) -> S15_R {
25271                S15_R::new(((self.bits >> 15) & 0x01) != 0)
25272            }
25273            ///Bit 14 - S14
25274            #[inline(always)]
25275            pub fn s14(&self) -> S14_R {
25276                S14_R::new(((self.bits >> 14) & 0x01) != 0)
25277            }
25278            ///Bit 13 - S13
25279            #[inline(always)]
25280            pub fn s13(&self) -> S13_R {
25281                S13_R::new(((self.bits >> 13) & 0x01) != 0)
25282            }
25283            ///Bit 12 - S12
25284            #[inline(always)]
25285            pub fn s12(&self) -> S12_R {
25286                S12_R::new(((self.bits >> 12) & 0x01) != 0)
25287            }
25288            ///Bit 11 - S11
25289            #[inline(always)]
25290            pub fn s11(&self) -> S11_R {
25291                S11_R::new(((self.bits >> 11) & 0x01) != 0)
25292            }
25293            ///Bit 10 - S10
25294            #[inline(always)]
25295            pub fn s10(&self) -> S10_R {
25296                S10_R::new(((self.bits >> 10) & 0x01) != 0)
25297            }
25298            ///Bit 9 - S09
25299            #[inline(always)]
25300            pub fn s09(&self) -> S09_R {
25301                S09_R::new(((self.bits >> 9) & 0x01) != 0)
25302            }
25303            ///Bit 8 - S08
25304            #[inline(always)]
25305            pub fn s08(&self) -> S08_R {
25306                S08_R::new(((self.bits >> 8) & 0x01) != 0)
25307            }
25308            ///Bit 7 - S07
25309            #[inline(always)]
25310            pub fn s07(&self) -> S07_R {
25311                S07_R::new(((self.bits >> 7) & 0x01) != 0)
25312            }
25313            ///Bit 6 - S06
25314            #[inline(always)]
25315            pub fn s06(&self) -> S06_R {
25316                S06_R::new(((self.bits >> 6) & 0x01) != 0)
25317            }
25318            ///Bit 5 - S05
25319            #[inline(always)]
25320            pub fn s05(&self) -> S05_R {
25321                S05_R::new(((self.bits >> 5) & 0x01) != 0)
25322            }
25323            ///Bit 4 - S04
25324            #[inline(always)]
25325            pub fn s04(&self) -> S04_R {
25326                S04_R::new(((self.bits >> 4) & 0x01) != 0)
25327            }
25328            ///Bit 3 - S03
25329            #[inline(always)]
25330            pub fn s03(&self) -> S03_R {
25331                S03_R::new(((self.bits >> 3) & 0x01) != 0)
25332            }
25333            ///Bit 2 - S02
25334            #[inline(always)]
25335            pub fn s02(&self) -> S02_R {
25336                S02_R::new(((self.bits >> 2) & 0x01) != 0)
25337            }
25338            ///Bit 1 - S01
25339            #[inline(always)]
25340            pub fn s01(&self) -> S01_R {
25341                S01_R::new(((self.bits >> 1) & 0x01) != 0)
25342            }
25343            ///Bit 0 - S00
25344            #[inline(always)]
25345            pub fn s00(&self) -> S00_R {
25346                S00_R::new((self.bits & 0x01) != 0)
25347            }
25348        }
25349        impl W {
25350            ///Bit 31 - S31
25351            #[inline(always)]
25352            pub fn s31(&mut self) -> S31_W {
25353                S31_W { w: self }
25354            }
25355            ///Bit 30 - S30
25356            #[inline(always)]
25357            pub fn s30(&mut self) -> S30_W {
25358                S30_W { w: self }
25359            }
25360            ///Bit 29 - S29
25361            #[inline(always)]
25362            pub fn s29(&mut self) -> S29_W {
25363                S29_W { w: self }
25364            }
25365            ///Bit 28 - S28
25366            #[inline(always)]
25367            pub fn s28(&mut self) -> S28_W {
25368                S28_W { w: self }
25369            }
25370            ///Bit 27 - S27
25371            #[inline(always)]
25372            pub fn s27(&mut self) -> S27_W {
25373                S27_W { w: self }
25374            }
25375            ///Bit 26 - S26
25376            #[inline(always)]
25377            pub fn s26(&mut self) -> S26_W {
25378                S26_W { w: self }
25379            }
25380            ///Bit 25 - S25
25381            #[inline(always)]
25382            pub fn s25(&mut self) -> S25_W {
25383                S25_W { w: self }
25384            }
25385            ///Bit 24 - S24
25386            #[inline(always)]
25387            pub fn s24(&mut self) -> S24_W {
25388                S24_W { w: self }
25389            }
25390            ///Bit 23 - S23
25391            #[inline(always)]
25392            pub fn s23(&mut self) -> S23_W {
25393                S23_W { w: self }
25394            }
25395            ///Bit 22 - S22
25396            #[inline(always)]
25397            pub fn s22(&mut self) -> S22_W {
25398                S22_W { w: self }
25399            }
25400            ///Bit 21 - S21
25401            #[inline(always)]
25402            pub fn s21(&mut self) -> S21_W {
25403                S21_W { w: self }
25404            }
25405            ///Bit 20 - S20
25406            #[inline(always)]
25407            pub fn s20(&mut self) -> S20_W {
25408                S20_W { w: self }
25409            }
25410            ///Bit 19 - S19
25411            #[inline(always)]
25412            pub fn s19(&mut self) -> S19_W {
25413                S19_W { w: self }
25414            }
25415            ///Bit 18 - S18
25416            #[inline(always)]
25417            pub fn s18(&mut self) -> S18_W {
25418                S18_W { w: self }
25419            }
25420            ///Bit 17 - S17
25421            #[inline(always)]
25422            pub fn s17(&mut self) -> S17_W {
25423                S17_W { w: self }
25424            }
25425            ///Bit 16 - S16
25426            #[inline(always)]
25427            pub fn s16(&mut self) -> S16_W {
25428                S16_W { w: self }
25429            }
25430            ///Bit 15 - S15
25431            #[inline(always)]
25432            pub fn s15(&mut self) -> S15_W {
25433                S15_W { w: self }
25434            }
25435            ///Bit 14 - S14
25436            #[inline(always)]
25437            pub fn s14(&mut self) -> S14_W {
25438                S14_W { w: self }
25439            }
25440            ///Bit 13 - S13
25441            #[inline(always)]
25442            pub fn s13(&mut self) -> S13_W {
25443                S13_W { w: self }
25444            }
25445            ///Bit 12 - S12
25446            #[inline(always)]
25447            pub fn s12(&mut self) -> S12_W {
25448                S12_W { w: self }
25449            }
25450            ///Bit 11 - S11
25451            #[inline(always)]
25452            pub fn s11(&mut self) -> S11_W {
25453                S11_W { w: self }
25454            }
25455            ///Bit 10 - S10
25456            #[inline(always)]
25457            pub fn s10(&mut self) -> S10_W {
25458                S10_W { w: self }
25459            }
25460            ///Bit 9 - S09
25461            #[inline(always)]
25462            pub fn s09(&mut self) -> S09_W {
25463                S09_W { w: self }
25464            }
25465            ///Bit 8 - S08
25466            #[inline(always)]
25467            pub fn s08(&mut self) -> S08_W {
25468                S08_W { w: self }
25469            }
25470            ///Bit 7 - S07
25471            #[inline(always)]
25472            pub fn s07(&mut self) -> S07_W {
25473                S07_W { w: self }
25474            }
25475            ///Bit 6 - S06
25476            #[inline(always)]
25477            pub fn s06(&mut self) -> S06_W {
25478                S06_W { w: self }
25479            }
25480            ///Bit 5 - S05
25481            #[inline(always)]
25482            pub fn s05(&mut self) -> S05_W {
25483                S05_W { w: self }
25484            }
25485            ///Bit 4 - S04
25486            #[inline(always)]
25487            pub fn s04(&mut self) -> S04_W {
25488                S04_W { w: self }
25489            }
25490            ///Bit 3 - S03
25491            #[inline(always)]
25492            pub fn s03(&mut self) -> S03_W {
25493                S03_W { w: self }
25494            }
25495            ///Bit 2 - S02
25496            #[inline(always)]
25497            pub fn s02(&mut self) -> S02_W {
25498                S02_W { w: self }
25499            }
25500            ///Bit 1 - S01
25501            #[inline(always)]
25502            pub fn s01(&mut self) -> S01_W {
25503                S01_W { w: self }
25504            }
25505            ///Bit 0 - S00
25506            #[inline(always)]
25507            pub fn s00(&mut self) -> S00_W {
25508                S00_W { w: self }
25509            }
25510        }
25511    }
25512}
25513///Touch sensing controller
25514pub struct TSC {
25515    _marker: PhantomData<*const ()>,
25516}
25517unsafe impl Send for TSC {}
25518impl TSC {
25519    ///Returns a pointer to the register block
25520    #[inline(always)]
25521    pub const fn ptr() -> *const tsc::RegisterBlock {
25522        0x4002_4000 as *const _
25523    }
25524}
25525impl Deref for TSC {
25526    type Target = tsc::RegisterBlock;
25527    #[inline(always)]
25528    fn deref(&self) -> &Self::Target {
25529        unsafe { &*TSC::ptr() }
25530    }
25531}
25532///Touch sensing controller
25533pub mod tsc {
25534    ///Register block
25535    #[repr(C)]
25536    pub struct RegisterBlock {
25537        ///0x00 - control register
25538        pub cr: CR,
25539        ///0x04 - interrupt enable register
25540        pub ier: IER,
25541        ///0x08 - interrupt clear register
25542        pub icr: ICR,
25543        ///0x0c - interrupt status register
25544        pub isr: ISR,
25545        ///0x10 - I/O hysteresis control register
25546        pub iohcr: IOHCR,
25547        _reserved5: [u8; 4usize],
25548        ///0x18 - I/O analog switch control register
25549        pub ioascr: IOASCR,
25550        _reserved6: [u8; 4usize],
25551        ///0x20 - I/O sampling control register
25552        pub ioscr: IOSCR,
25553        _reserved7: [u8; 4usize],
25554        ///0x28 - I/O channel control register
25555        pub ioccr: IOCCR,
25556        _reserved8: [u8; 4usize],
25557        ///0x30 - I/O group control status register
25558        pub iogcsr: IOGCSR,
25559        ///0x34 - I/O group x counter register
25560        pub iog1cr: IOG1CR,
25561        ///0x38 - I/O group x counter register
25562        pub iog2cr: IOG2CR,
25563        ///0x3c - I/O group x counter register
25564        pub iog3cr: IOG3CR,
25565        ///0x40 - I/O group x counter register
25566        pub iog4cr: IOG4CR,
25567        ///0x44 - I/O group x counter register
25568        pub iog5cr: IOG5CR,
25569        ///0x48 - I/O group x counter register
25570        pub iog6cr: IOG6CR,
25571        ///0x4c - I/O group x counter register
25572        pub iog7cr: IOG7CR,
25573    }
25574    ///control register
25575    ///
25576    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
25577    ///
25578    ///For information about available fields see [cr](cr) module
25579    pub type CR = crate::Reg<u32, _CR>;
25580    #[allow(missing_docs)]
25581    #[doc(hidden)]
25582    pub struct _CR;
25583    ///`read()` method returns [cr::R](cr::R) reader structure
25584    impl crate::Readable for CR {}
25585    ///`write(|w| ..)` method takes [cr::W](cr::W) writer structure
25586    impl crate::Writable for CR {}
25587    ///control register
25588    pub mod cr {
25589        ///Reader of register CR
25590        pub type R = crate::R<u32, super::CR>;
25591        ///Writer for register CR
25592        pub type W = crate::W<u32, super::CR>;
25593        ///Register CR `reset()`'s with value 0
25594        impl crate::ResetValue for super::CR {
25595            type Type = u32;
25596            #[inline(always)]
25597            fn reset_value() -> Self::Type {
25598                0
25599            }
25600        }
25601        ///Reader of field `CTPH`
25602        pub type CTPH_R = crate::R<u8, u8>;
25603        ///Write proxy for field `CTPH`
25604        pub struct CTPH_W<'a> {
25605            w: &'a mut W,
25606        }
25607        impl<'a> CTPH_W<'a> {
25608            ///Writes raw bits to the field
25609            #[inline(always)]
25610            pub unsafe fn bits(self, value: u8) -> &'a mut W {
25611                self.w.bits = (self.w.bits & !(0x0f << 28)) | (((value as u32) & 0x0f) << 28);
25612                self.w
25613            }
25614        }
25615        ///Reader of field `CTPL`
25616        pub type CTPL_R = crate::R<u8, u8>;
25617        ///Write proxy for field `CTPL`
25618        pub struct CTPL_W<'a> {
25619            w: &'a mut W,
25620        }
25621        impl<'a> CTPL_W<'a> {
25622            ///Writes raw bits to the field
25623            #[inline(always)]
25624            pub unsafe fn bits(self, value: u8) -> &'a mut W {
25625                self.w.bits = (self.w.bits & !(0x0f << 24)) | (((value as u32) & 0x0f) << 24);
25626                self.w
25627            }
25628        }
25629        ///Reader of field `SSD`
25630        pub type SSD_R = crate::R<u8, u8>;
25631        ///Write proxy for field `SSD`
25632        pub struct SSD_W<'a> {
25633            w: &'a mut W,
25634        }
25635        impl<'a> SSD_W<'a> {
25636            ///Writes raw bits to the field
25637            #[inline(always)]
25638            pub unsafe fn bits(self, value: u8) -> &'a mut W {
25639                self.w.bits = (self.w.bits & !(0x7f << 17)) | (((value as u32) & 0x7f) << 17);
25640                self.w
25641            }
25642        }
25643        ///Reader of field `SSE`
25644        pub type SSE_R = crate::R<bool, bool>;
25645        ///Write proxy for field `SSE`
25646        pub struct SSE_W<'a> {
25647            w: &'a mut W,
25648        }
25649        impl<'a> SSE_W<'a> {
25650            ///Sets the field bit
25651            #[inline(always)]
25652            pub fn set_bit(self) -> &'a mut W {
25653                self.bit(true)
25654            }
25655            ///Clears the field bit
25656            #[inline(always)]
25657            pub fn clear_bit(self) -> &'a mut W {
25658                self.bit(false)
25659            }
25660            ///Writes raw bits to the field
25661            #[inline(always)]
25662            pub fn bit(self, value: bool) -> &'a mut W {
25663                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
25664                self.w
25665            }
25666        }
25667        ///Reader of field `SSPSC`
25668        pub type SSPSC_R = crate::R<bool, bool>;
25669        ///Write proxy for field `SSPSC`
25670        pub struct SSPSC_W<'a> {
25671            w: &'a mut W,
25672        }
25673        impl<'a> SSPSC_W<'a> {
25674            ///Sets the field bit
25675            #[inline(always)]
25676            pub fn set_bit(self) -> &'a mut W {
25677                self.bit(true)
25678            }
25679            ///Clears the field bit
25680            #[inline(always)]
25681            pub fn clear_bit(self) -> &'a mut W {
25682                self.bit(false)
25683            }
25684            ///Writes raw bits to the field
25685            #[inline(always)]
25686            pub fn bit(self, value: bool) -> &'a mut W {
25687                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
25688                self.w
25689            }
25690        }
25691        ///Reader of field `PGPSC`
25692        pub type PGPSC_R = crate::R<u8, u8>;
25693        ///Write proxy for field `PGPSC`
25694        pub struct PGPSC_W<'a> {
25695            w: &'a mut W,
25696        }
25697        impl<'a> PGPSC_W<'a> {
25698            ///Writes raw bits to the field
25699            #[inline(always)]
25700            pub unsafe fn bits(self, value: u8) -> &'a mut W {
25701                self.w.bits = (self.w.bits & !(0x07 << 12)) | (((value as u32) & 0x07) << 12);
25702                self.w
25703            }
25704        }
25705        ///Reader of field `MCV`
25706        pub type MCV_R = crate::R<u8, u8>;
25707        ///Write proxy for field `MCV`
25708        pub struct MCV_W<'a> {
25709            w: &'a mut W,
25710        }
25711        impl<'a> MCV_W<'a> {
25712            ///Writes raw bits to the field
25713            #[inline(always)]
25714            pub unsafe fn bits(self, value: u8) -> &'a mut W {
25715                self.w.bits = (self.w.bits & !(0x07 << 5)) | (((value as u32) & 0x07) << 5);
25716                self.w
25717            }
25718        }
25719        ///Reader of field `IODEF`
25720        pub type IODEF_R = crate::R<bool, bool>;
25721        ///Write proxy for field `IODEF`
25722        pub struct IODEF_W<'a> {
25723            w: &'a mut W,
25724        }
25725        impl<'a> IODEF_W<'a> {
25726            ///Sets the field bit
25727            #[inline(always)]
25728            pub fn set_bit(self) -> &'a mut W {
25729                self.bit(true)
25730            }
25731            ///Clears the field bit
25732            #[inline(always)]
25733            pub fn clear_bit(self) -> &'a mut W {
25734                self.bit(false)
25735            }
25736            ///Writes raw bits to the field
25737            #[inline(always)]
25738            pub fn bit(self, value: bool) -> &'a mut W {
25739                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
25740                self.w
25741            }
25742        }
25743        ///Reader of field `SYNCPOL`
25744        pub type SYNCPOL_R = crate::R<bool, bool>;
25745        ///Write proxy for field `SYNCPOL`
25746        pub struct SYNCPOL_W<'a> {
25747            w: &'a mut W,
25748        }
25749        impl<'a> SYNCPOL_W<'a> {
25750            ///Sets the field bit
25751            #[inline(always)]
25752            pub fn set_bit(self) -> &'a mut W {
25753                self.bit(true)
25754            }
25755            ///Clears the field bit
25756            #[inline(always)]
25757            pub fn clear_bit(self) -> &'a mut W {
25758                self.bit(false)
25759            }
25760            ///Writes raw bits to the field
25761            #[inline(always)]
25762            pub fn bit(self, value: bool) -> &'a mut W {
25763                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
25764                self.w
25765            }
25766        }
25767        ///Reader of field `AM`
25768        pub type AM_R = crate::R<bool, bool>;
25769        ///Write proxy for field `AM`
25770        pub struct AM_W<'a> {
25771            w: &'a mut W,
25772        }
25773        impl<'a> AM_W<'a> {
25774            ///Sets the field bit
25775            #[inline(always)]
25776            pub fn set_bit(self) -> &'a mut W {
25777                self.bit(true)
25778            }
25779            ///Clears the field bit
25780            #[inline(always)]
25781            pub fn clear_bit(self) -> &'a mut W {
25782                self.bit(false)
25783            }
25784            ///Writes raw bits to the field
25785            #[inline(always)]
25786            pub fn bit(self, value: bool) -> &'a mut W {
25787                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
25788                self.w
25789            }
25790        }
25791        ///Reader of field `START`
25792        pub type START_R = crate::R<bool, bool>;
25793        ///Write proxy for field `START`
25794        pub struct START_W<'a> {
25795            w: &'a mut W,
25796        }
25797        impl<'a> START_W<'a> {
25798            ///Sets the field bit
25799            #[inline(always)]
25800            pub fn set_bit(self) -> &'a mut W {
25801                self.bit(true)
25802            }
25803            ///Clears the field bit
25804            #[inline(always)]
25805            pub fn clear_bit(self) -> &'a mut W {
25806                self.bit(false)
25807            }
25808            ///Writes raw bits to the field
25809            #[inline(always)]
25810            pub fn bit(self, value: bool) -> &'a mut W {
25811                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
25812                self.w
25813            }
25814        }
25815        ///Reader of field `TSCE`
25816        pub type TSCE_R = crate::R<bool, bool>;
25817        ///Write proxy for field `TSCE`
25818        pub struct TSCE_W<'a> {
25819            w: &'a mut W,
25820        }
25821        impl<'a> TSCE_W<'a> {
25822            ///Sets the field bit
25823            #[inline(always)]
25824            pub fn set_bit(self) -> &'a mut W {
25825                self.bit(true)
25826            }
25827            ///Clears the field bit
25828            #[inline(always)]
25829            pub fn clear_bit(self) -> &'a mut W {
25830                self.bit(false)
25831            }
25832            ///Writes raw bits to the field
25833            #[inline(always)]
25834            pub fn bit(self, value: bool) -> &'a mut W {
25835                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
25836                self.w
25837            }
25838        }
25839        impl R {
25840            ///Bits 28:31 - Charge transfer pulse high
25841            #[inline(always)]
25842            pub fn ctph(&self) -> CTPH_R {
25843                CTPH_R::new(((self.bits >> 28) & 0x0f) as u8)
25844            }
25845            ///Bits 24:27 - Charge transfer pulse low
25846            #[inline(always)]
25847            pub fn ctpl(&self) -> CTPL_R {
25848                CTPL_R::new(((self.bits >> 24) & 0x0f) as u8)
25849            }
25850            ///Bits 17:23 - Spread spectrum deviation
25851            #[inline(always)]
25852            pub fn ssd(&self) -> SSD_R {
25853                SSD_R::new(((self.bits >> 17) & 0x7f) as u8)
25854            }
25855            ///Bit 16 - Spread spectrum enable
25856            #[inline(always)]
25857            pub fn sse(&self) -> SSE_R {
25858                SSE_R::new(((self.bits >> 16) & 0x01) != 0)
25859            }
25860            ///Bit 15 - Spread spectrum prescaler
25861            #[inline(always)]
25862            pub fn sspsc(&self) -> SSPSC_R {
25863                SSPSC_R::new(((self.bits >> 15) & 0x01) != 0)
25864            }
25865            ///Bits 12:14 - pulse generator prescaler
25866            #[inline(always)]
25867            pub fn pgpsc(&self) -> PGPSC_R {
25868                PGPSC_R::new(((self.bits >> 12) & 0x07) as u8)
25869            }
25870            ///Bits 5:7 - Max count value
25871            #[inline(always)]
25872            pub fn mcv(&self) -> MCV_R {
25873                MCV_R::new(((self.bits >> 5) & 0x07) as u8)
25874            }
25875            ///Bit 4 - I/O Default mode
25876            #[inline(always)]
25877            pub fn iodef(&self) -> IODEF_R {
25878                IODEF_R::new(((self.bits >> 4) & 0x01) != 0)
25879            }
25880            ///Bit 3 - Synchronization pin polarity
25881            #[inline(always)]
25882            pub fn syncpol(&self) -> SYNCPOL_R {
25883                SYNCPOL_R::new(((self.bits >> 3) & 0x01) != 0)
25884            }
25885            ///Bit 2 - Acquisition mode
25886            #[inline(always)]
25887            pub fn am(&self) -> AM_R {
25888                AM_R::new(((self.bits >> 2) & 0x01) != 0)
25889            }
25890            ///Bit 1 - Start a new acquisition
25891            #[inline(always)]
25892            pub fn start(&self) -> START_R {
25893                START_R::new(((self.bits >> 1) & 0x01) != 0)
25894            }
25895            ///Bit 0 - Touch sensing controller enable
25896            #[inline(always)]
25897            pub fn tsce(&self) -> TSCE_R {
25898                TSCE_R::new((self.bits & 0x01) != 0)
25899            }
25900        }
25901        impl W {
25902            ///Bits 28:31 - Charge transfer pulse high
25903            #[inline(always)]
25904            pub fn ctph(&mut self) -> CTPH_W {
25905                CTPH_W { w: self }
25906            }
25907            ///Bits 24:27 - Charge transfer pulse low
25908            #[inline(always)]
25909            pub fn ctpl(&mut self) -> CTPL_W {
25910                CTPL_W { w: self }
25911            }
25912            ///Bits 17:23 - Spread spectrum deviation
25913            #[inline(always)]
25914            pub fn ssd(&mut self) -> SSD_W {
25915                SSD_W { w: self }
25916            }
25917            ///Bit 16 - Spread spectrum enable
25918            #[inline(always)]
25919            pub fn sse(&mut self) -> SSE_W {
25920                SSE_W { w: self }
25921            }
25922            ///Bit 15 - Spread spectrum prescaler
25923            #[inline(always)]
25924            pub fn sspsc(&mut self) -> SSPSC_W {
25925                SSPSC_W { w: self }
25926            }
25927            ///Bits 12:14 - pulse generator prescaler
25928            #[inline(always)]
25929            pub fn pgpsc(&mut self) -> PGPSC_W {
25930                PGPSC_W { w: self }
25931            }
25932            ///Bits 5:7 - Max count value
25933            #[inline(always)]
25934            pub fn mcv(&mut self) -> MCV_W {
25935                MCV_W { w: self }
25936            }
25937            ///Bit 4 - I/O Default mode
25938            #[inline(always)]
25939            pub fn iodef(&mut self) -> IODEF_W {
25940                IODEF_W { w: self }
25941            }
25942            ///Bit 3 - Synchronization pin polarity
25943            #[inline(always)]
25944            pub fn syncpol(&mut self) -> SYNCPOL_W {
25945                SYNCPOL_W { w: self }
25946            }
25947            ///Bit 2 - Acquisition mode
25948            #[inline(always)]
25949            pub fn am(&mut self) -> AM_W {
25950                AM_W { w: self }
25951            }
25952            ///Bit 1 - Start a new acquisition
25953            #[inline(always)]
25954            pub fn start(&mut self) -> START_W {
25955                START_W { w: self }
25956            }
25957            ///Bit 0 - Touch sensing controller enable
25958            #[inline(always)]
25959            pub fn tsce(&mut self) -> TSCE_W {
25960                TSCE_W { w: self }
25961            }
25962        }
25963    }
25964    ///interrupt enable register
25965    ///
25966    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
25967    ///
25968    ///For information about available fields see [ier](ier) module
25969    pub type IER = crate::Reg<u32, _IER>;
25970    #[allow(missing_docs)]
25971    #[doc(hidden)]
25972    pub struct _IER;
25973    ///`read()` method returns [ier::R](ier::R) reader structure
25974    impl crate::Readable for IER {}
25975    ///`write(|w| ..)` method takes [ier::W](ier::W) writer structure
25976    impl crate::Writable for IER {}
25977    ///interrupt enable register
25978    pub mod ier {
25979        ///Reader of register IER
25980        pub type R = crate::R<u32, super::IER>;
25981        ///Writer for register IER
25982        pub type W = crate::W<u32, super::IER>;
25983        ///Register IER `reset()`'s with value 0
25984        impl crate::ResetValue for super::IER {
25985            type Type = u32;
25986            #[inline(always)]
25987            fn reset_value() -> Self::Type {
25988                0
25989            }
25990        }
25991        ///Reader of field `MCEIE`
25992        pub type MCEIE_R = crate::R<bool, bool>;
25993        ///Write proxy for field `MCEIE`
25994        pub struct MCEIE_W<'a> {
25995            w: &'a mut W,
25996        }
25997        impl<'a> MCEIE_W<'a> {
25998            ///Sets the field bit
25999            #[inline(always)]
26000            pub fn set_bit(self) -> &'a mut W {
26001                self.bit(true)
26002            }
26003            ///Clears the field bit
26004            #[inline(always)]
26005            pub fn clear_bit(self) -> &'a mut W {
26006                self.bit(false)
26007            }
26008            ///Writes raw bits to the field
26009            #[inline(always)]
26010            pub fn bit(self, value: bool) -> &'a mut W {
26011                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
26012                self.w
26013            }
26014        }
26015        ///Reader of field `EOAIE`
26016        pub type EOAIE_R = crate::R<bool, bool>;
26017        ///Write proxy for field `EOAIE`
26018        pub struct EOAIE_W<'a> {
26019            w: &'a mut W,
26020        }
26021        impl<'a> EOAIE_W<'a> {
26022            ///Sets the field bit
26023            #[inline(always)]
26024            pub fn set_bit(self) -> &'a mut W {
26025                self.bit(true)
26026            }
26027            ///Clears the field bit
26028            #[inline(always)]
26029            pub fn clear_bit(self) -> &'a mut W {
26030                self.bit(false)
26031            }
26032            ///Writes raw bits to the field
26033            #[inline(always)]
26034            pub fn bit(self, value: bool) -> &'a mut W {
26035                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
26036                self.w
26037            }
26038        }
26039        impl R {
26040            ///Bit 1 - Max count error interrupt enable
26041            #[inline(always)]
26042            pub fn mceie(&self) -> MCEIE_R {
26043                MCEIE_R::new(((self.bits >> 1) & 0x01) != 0)
26044            }
26045            ///Bit 0 - End of acquisition interrupt enable
26046            #[inline(always)]
26047            pub fn eoaie(&self) -> EOAIE_R {
26048                EOAIE_R::new((self.bits & 0x01) != 0)
26049            }
26050        }
26051        impl W {
26052            ///Bit 1 - Max count error interrupt enable
26053            #[inline(always)]
26054            pub fn mceie(&mut self) -> MCEIE_W {
26055                MCEIE_W { w: self }
26056            }
26057            ///Bit 0 - End of acquisition interrupt enable
26058            #[inline(always)]
26059            pub fn eoaie(&mut self) -> EOAIE_W {
26060                EOAIE_W { w: self }
26061            }
26062        }
26063    }
26064    ///interrupt clear register
26065    ///
26066    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
26067    ///
26068    ///For information about available fields see [icr](icr) module
26069    pub type ICR = crate::Reg<u32, _ICR>;
26070    #[allow(missing_docs)]
26071    #[doc(hidden)]
26072    pub struct _ICR;
26073    ///`read()` method returns [icr::R](icr::R) reader structure
26074    impl crate::Readable for ICR {}
26075    ///`write(|w| ..)` method takes [icr::W](icr::W) writer structure
26076    impl crate::Writable for ICR {}
26077    ///interrupt clear register
26078    pub mod icr {
26079        ///Reader of register ICR
26080        pub type R = crate::R<u32, super::ICR>;
26081        ///Writer for register ICR
26082        pub type W = crate::W<u32, super::ICR>;
26083        ///Register ICR `reset()`'s with value 0
26084        impl crate::ResetValue for super::ICR {
26085            type Type = u32;
26086            #[inline(always)]
26087            fn reset_value() -> Self::Type {
26088                0
26089            }
26090        }
26091        ///Reader of field `MCEIC`
26092        pub type MCEIC_R = crate::R<bool, bool>;
26093        ///Write proxy for field `MCEIC`
26094        pub struct MCEIC_W<'a> {
26095            w: &'a mut W,
26096        }
26097        impl<'a> MCEIC_W<'a> {
26098            ///Sets the field bit
26099            #[inline(always)]
26100            pub fn set_bit(self) -> &'a mut W {
26101                self.bit(true)
26102            }
26103            ///Clears the field bit
26104            #[inline(always)]
26105            pub fn clear_bit(self) -> &'a mut W {
26106                self.bit(false)
26107            }
26108            ///Writes raw bits to the field
26109            #[inline(always)]
26110            pub fn bit(self, value: bool) -> &'a mut W {
26111                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
26112                self.w
26113            }
26114        }
26115        ///Reader of field `EOAIC`
26116        pub type EOAIC_R = crate::R<bool, bool>;
26117        ///Write proxy for field `EOAIC`
26118        pub struct EOAIC_W<'a> {
26119            w: &'a mut W,
26120        }
26121        impl<'a> EOAIC_W<'a> {
26122            ///Sets the field bit
26123            #[inline(always)]
26124            pub fn set_bit(self) -> &'a mut W {
26125                self.bit(true)
26126            }
26127            ///Clears the field bit
26128            #[inline(always)]
26129            pub fn clear_bit(self) -> &'a mut W {
26130                self.bit(false)
26131            }
26132            ///Writes raw bits to the field
26133            #[inline(always)]
26134            pub fn bit(self, value: bool) -> &'a mut W {
26135                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
26136                self.w
26137            }
26138        }
26139        impl R {
26140            ///Bit 1 - Max count error interrupt clear
26141            #[inline(always)]
26142            pub fn mceic(&self) -> MCEIC_R {
26143                MCEIC_R::new(((self.bits >> 1) & 0x01) != 0)
26144            }
26145            ///Bit 0 - End of acquisition interrupt clear
26146            #[inline(always)]
26147            pub fn eoaic(&self) -> EOAIC_R {
26148                EOAIC_R::new((self.bits & 0x01) != 0)
26149            }
26150        }
26151        impl W {
26152            ///Bit 1 - Max count error interrupt clear
26153            #[inline(always)]
26154            pub fn mceic(&mut self) -> MCEIC_W {
26155                MCEIC_W { w: self }
26156            }
26157            ///Bit 0 - End of acquisition interrupt clear
26158            #[inline(always)]
26159            pub fn eoaic(&mut self) -> EOAIC_W {
26160                EOAIC_W { w: self }
26161            }
26162        }
26163    }
26164    ///interrupt status register
26165    ///
26166    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
26167    ///
26168    ///For information about available fields see [isr](isr) module
26169    pub type ISR = crate::Reg<u32, _ISR>;
26170    #[allow(missing_docs)]
26171    #[doc(hidden)]
26172    pub struct _ISR;
26173    ///`read()` method returns [isr::R](isr::R) reader structure
26174    impl crate::Readable for ISR {}
26175    ///`write(|w| ..)` method takes [isr::W](isr::W) writer structure
26176    impl crate::Writable for ISR {}
26177    ///interrupt status register
26178    pub mod isr {
26179        ///Reader of register ISR
26180        pub type R = crate::R<u32, super::ISR>;
26181        ///Writer for register ISR
26182        pub type W = crate::W<u32, super::ISR>;
26183        ///Register ISR `reset()`'s with value 0
26184        impl crate::ResetValue for super::ISR {
26185            type Type = u32;
26186            #[inline(always)]
26187            fn reset_value() -> Self::Type {
26188                0
26189            }
26190        }
26191        ///Reader of field `MCEF`
26192        pub type MCEF_R = crate::R<bool, bool>;
26193        ///Write proxy for field `MCEF`
26194        pub struct MCEF_W<'a> {
26195            w: &'a mut W,
26196        }
26197        impl<'a> MCEF_W<'a> {
26198            ///Sets the field bit
26199            #[inline(always)]
26200            pub fn set_bit(self) -> &'a mut W {
26201                self.bit(true)
26202            }
26203            ///Clears the field bit
26204            #[inline(always)]
26205            pub fn clear_bit(self) -> &'a mut W {
26206                self.bit(false)
26207            }
26208            ///Writes raw bits to the field
26209            #[inline(always)]
26210            pub fn bit(self, value: bool) -> &'a mut W {
26211                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
26212                self.w
26213            }
26214        }
26215        ///Reader of field `EOAF`
26216        pub type EOAF_R = crate::R<bool, bool>;
26217        ///Write proxy for field `EOAF`
26218        pub struct EOAF_W<'a> {
26219            w: &'a mut W,
26220        }
26221        impl<'a> EOAF_W<'a> {
26222            ///Sets the field bit
26223            #[inline(always)]
26224            pub fn set_bit(self) -> &'a mut W {
26225                self.bit(true)
26226            }
26227            ///Clears the field bit
26228            #[inline(always)]
26229            pub fn clear_bit(self) -> &'a mut W {
26230                self.bit(false)
26231            }
26232            ///Writes raw bits to the field
26233            #[inline(always)]
26234            pub fn bit(self, value: bool) -> &'a mut W {
26235                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
26236                self.w
26237            }
26238        }
26239        impl R {
26240            ///Bit 1 - Max count error flag
26241            #[inline(always)]
26242            pub fn mcef(&self) -> MCEF_R {
26243                MCEF_R::new(((self.bits >> 1) & 0x01) != 0)
26244            }
26245            ///Bit 0 - End of acquisition flag
26246            #[inline(always)]
26247            pub fn eoaf(&self) -> EOAF_R {
26248                EOAF_R::new((self.bits & 0x01) != 0)
26249            }
26250        }
26251        impl W {
26252            ///Bit 1 - Max count error flag
26253            #[inline(always)]
26254            pub fn mcef(&mut self) -> MCEF_W {
26255                MCEF_W { w: self }
26256            }
26257            ///Bit 0 - End of acquisition flag
26258            #[inline(always)]
26259            pub fn eoaf(&mut self) -> EOAF_W {
26260                EOAF_W { w: self }
26261            }
26262        }
26263    }
26264    ///I/O hysteresis control register
26265    ///
26266    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
26267    ///
26268    ///For information about available fields see [iohcr](iohcr) module
26269    pub type IOHCR = crate::Reg<u32, _IOHCR>;
26270    #[allow(missing_docs)]
26271    #[doc(hidden)]
26272    pub struct _IOHCR;
26273    ///`read()` method returns [iohcr::R](iohcr::R) reader structure
26274    impl crate::Readable for IOHCR {}
26275    ///`write(|w| ..)` method takes [iohcr::W](iohcr::W) writer structure
26276    impl crate::Writable for IOHCR {}
26277    ///I/O hysteresis control register
26278    pub mod iohcr {
26279        ///Reader of register IOHCR
26280        pub type R = crate::R<u32, super::IOHCR>;
26281        ///Writer for register IOHCR
26282        pub type W = crate::W<u32, super::IOHCR>;
26283        ///Register IOHCR `reset()`'s with value 0xffff_ffff
26284        impl crate::ResetValue for super::IOHCR {
26285            type Type = u32;
26286            #[inline(always)]
26287            fn reset_value() -> Self::Type {
26288                0xffff_ffff
26289            }
26290        }
26291        ///Reader of field `G7_IO4`
26292        pub type G7_IO4_R = crate::R<bool, bool>;
26293        ///Write proxy for field `G7_IO4`
26294        pub struct G7_IO4_W<'a> {
26295            w: &'a mut W,
26296        }
26297        impl<'a> G7_IO4_W<'a> {
26298            ///Sets the field bit
26299            #[inline(always)]
26300            pub fn set_bit(self) -> &'a mut W {
26301                self.bit(true)
26302            }
26303            ///Clears the field bit
26304            #[inline(always)]
26305            pub fn clear_bit(self) -> &'a mut W {
26306                self.bit(false)
26307            }
26308            ///Writes raw bits to the field
26309            #[inline(always)]
26310            pub fn bit(self, value: bool) -> &'a mut W {
26311                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
26312                self.w
26313            }
26314        }
26315        ///Reader of field `G7_IO3`
26316        pub type G7_IO3_R = crate::R<bool, bool>;
26317        ///Write proxy for field `G7_IO3`
26318        pub struct G7_IO3_W<'a> {
26319            w: &'a mut W,
26320        }
26321        impl<'a> G7_IO3_W<'a> {
26322            ///Sets the field bit
26323            #[inline(always)]
26324            pub fn set_bit(self) -> &'a mut W {
26325                self.bit(true)
26326            }
26327            ///Clears the field bit
26328            #[inline(always)]
26329            pub fn clear_bit(self) -> &'a mut W {
26330                self.bit(false)
26331            }
26332            ///Writes raw bits to the field
26333            #[inline(always)]
26334            pub fn bit(self, value: bool) -> &'a mut W {
26335                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
26336                self.w
26337            }
26338        }
26339        ///Reader of field `G7_IO2`
26340        pub type G7_IO2_R = crate::R<bool, bool>;
26341        ///Write proxy for field `G7_IO2`
26342        pub struct G7_IO2_W<'a> {
26343            w: &'a mut W,
26344        }
26345        impl<'a> G7_IO2_W<'a> {
26346            ///Sets the field bit
26347            #[inline(always)]
26348            pub fn set_bit(self) -> &'a mut W {
26349                self.bit(true)
26350            }
26351            ///Clears the field bit
26352            #[inline(always)]
26353            pub fn clear_bit(self) -> &'a mut W {
26354                self.bit(false)
26355            }
26356            ///Writes raw bits to the field
26357            #[inline(always)]
26358            pub fn bit(self, value: bool) -> &'a mut W {
26359                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
26360                self.w
26361            }
26362        }
26363        ///Reader of field `G7_IO1`
26364        pub type G7_IO1_R = crate::R<bool, bool>;
26365        ///Write proxy for field `G7_IO1`
26366        pub struct G7_IO1_W<'a> {
26367            w: &'a mut W,
26368        }
26369        impl<'a> G7_IO1_W<'a> {
26370            ///Sets the field bit
26371            #[inline(always)]
26372            pub fn set_bit(self) -> &'a mut W {
26373                self.bit(true)
26374            }
26375            ///Clears the field bit
26376            #[inline(always)]
26377            pub fn clear_bit(self) -> &'a mut W {
26378                self.bit(false)
26379            }
26380            ///Writes raw bits to the field
26381            #[inline(always)]
26382            pub fn bit(self, value: bool) -> &'a mut W {
26383                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
26384                self.w
26385            }
26386        }
26387        ///Reader of field `G6_IO4`
26388        pub type G6_IO4_R = crate::R<bool, bool>;
26389        ///Write proxy for field `G6_IO4`
26390        pub struct G6_IO4_W<'a> {
26391            w: &'a mut W,
26392        }
26393        impl<'a> G6_IO4_W<'a> {
26394            ///Sets the field bit
26395            #[inline(always)]
26396            pub fn set_bit(self) -> &'a mut W {
26397                self.bit(true)
26398            }
26399            ///Clears the field bit
26400            #[inline(always)]
26401            pub fn clear_bit(self) -> &'a mut W {
26402                self.bit(false)
26403            }
26404            ///Writes raw bits to the field
26405            #[inline(always)]
26406            pub fn bit(self, value: bool) -> &'a mut W {
26407                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
26408                self.w
26409            }
26410        }
26411        ///Reader of field `G6_IO3`
26412        pub type G6_IO3_R = crate::R<bool, bool>;
26413        ///Write proxy for field `G6_IO3`
26414        pub struct G6_IO3_W<'a> {
26415            w: &'a mut W,
26416        }
26417        impl<'a> G6_IO3_W<'a> {
26418            ///Sets the field bit
26419            #[inline(always)]
26420            pub fn set_bit(self) -> &'a mut W {
26421                self.bit(true)
26422            }
26423            ///Clears the field bit
26424            #[inline(always)]
26425            pub fn clear_bit(self) -> &'a mut W {
26426                self.bit(false)
26427            }
26428            ///Writes raw bits to the field
26429            #[inline(always)]
26430            pub fn bit(self, value: bool) -> &'a mut W {
26431                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
26432                self.w
26433            }
26434        }
26435        ///Reader of field `G6_IO2`
26436        pub type G6_IO2_R = crate::R<bool, bool>;
26437        ///Write proxy for field `G6_IO2`
26438        pub struct G6_IO2_W<'a> {
26439            w: &'a mut W,
26440        }
26441        impl<'a> G6_IO2_W<'a> {
26442            ///Sets the field bit
26443            #[inline(always)]
26444            pub fn set_bit(self) -> &'a mut W {
26445                self.bit(true)
26446            }
26447            ///Clears the field bit
26448            #[inline(always)]
26449            pub fn clear_bit(self) -> &'a mut W {
26450                self.bit(false)
26451            }
26452            ///Writes raw bits to the field
26453            #[inline(always)]
26454            pub fn bit(self, value: bool) -> &'a mut W {
26455                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
26456                self.w
26457            }
26458        }
26459        ///Reader of field `G6_IO1`
26460        pub type G6_IO1_R = crate::R<bool, bool>;
26461        ///Write proxy for field `G6_IO1`
26462        pub struct G6_IO1_W<'a> {
26463            w: &'a mut W,
26464        }
26465        impl<'a> G6_IO1_W<'a> {
26466            ///Sets the field bit
26467            #[inline(always)]
26468            pub fn set_bit(self) -> &'a mut W {
26469                self.bit(true)
26470            }
26471            ///Clears the field bit
26472            #[inline(always)]
26473            pub fn clear_bit(self) -> &'a mut W {
26474                self.bit(false)
26475            }
26476            ///Writes raw bits to the field
26477            #[inline(always)]
26478            pub fn bit(self, value: bool) -> &'a mut W {
26479                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
26480                self.w
26481            }
26482        }
26483        ///Reader of field `G5_IO4`
26484        pub type G5_IO4_R = crate::R<bool, bool>;
26485        ///Write proxy for field `G5_IO4`
26486        pub struct G5_IO4_W<'a> {
26487            w: &'a mut W,
26488        }
26489        impl<'a> G5_IO4_W<'a> {
26490            ///Sets the field bit
26491            #[inline(always)]
26492            pub fn set_bit(self) -> &'a mut W {
26493                self.bit(true)
26494            }
26495            ///Clears the field bit
26496            #[inline(always)]
26497            pub fn clear_bit(self) -> &'a mut W {
26498                self.bit(false)
26499            }
26500            ///Writes raw bits to the field
26501            #[inline(always)]
26502            pub fn bit(self, value: bool) -> &'a mut W {
26503                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
26504                self.w
26505            }
26506        }
26507        ///Reader of field `G5_IO3`
26508        pub type G5_IO3_R = crate::R<bool, bool>;
26509        ///Write proxy for field `G5_IO3`
26510        pub struct G5_IO3_W<'a> {
26511            w: &'a mut W,
26512        }
26513        impl<'a> G5_IO3_W<'a> {
26514            ///Sets the field bit
26515            #[inline(always)]
26516            pub fn set_bit(self) -> &'a mut W {
26517                self.bit(true)
26518            }
26519            ///Clears the field bit
26520            #[inline(always)]
26521            pub fn clear_bit(self) -> &'a mut W {
26522                self.bit(false)
26523            }
26524            ///Writes raw bits to the field
26525            #[inline(always)]
26526            pub fn bit(self, value: bool) -> &'a mut W {
26527                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
26528                self.w
26529            }
26530        }
26531        ///Reader of field `G5_IO2`
26532        pub type G5_IO2_R = crate::R<bool, bool>;
26533        ///Write proxy for field `G5_IO2`
26534        pub struct G5_IO2_W<'a> {
26535            w: &'a mut W,
26536        }
26537        impl<'a> G5_IO2_W<'a> {
26538            ///Sets the field bit
26539            #[inline(always)]
26540            pub fn set_bit(self) -> &'a mut W {
26541                self.bit(true)
26542            }
26543            ///Clears the field bit
26544            #[inline(always)]
26545            pub fn clear_bit(self) -> &'a mut W {
26546                self.bit(false)
26547            }
26548            ///Writes raw bits to the field
26549            #[inline(always)]
26550            pub fn bit(self, value: bool) -> &'a mut W {
26551                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
26552                self.w
26553            }
26554        }
26555        ///Reader of field `G5_IO1`
26556        pub type G5_IO1_R = crate::R<bool, bool>;
26557        ///Write proxy for field `G5_IO1`
26558        pub struct G5_IO1_W<'a> {
26559            w: &'a mut W,
26560        }
26561        impl<'a> G5_IO1_W<'a> {
26562            ///Sets the field bit
26563            #[inline(always)]
26564            pub fn set_bit(self) -> &'a mut W {
26565                self.bit(true)
26566            }
26567            ///Clears the field bit
26568            #[inline(always)]
26569            pub fn clear_bit(self) -> &'a mut W {
26570                self.bit(false)
26571            }
26572            ///Writes raw bits to the field
26573            #[inline(always)]
26574            pub fn bit(self, value: bool) -> &'a mut W {
26575                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
26576                self.w
26577            }
26578        }
26579        ///Reader of field `G4_IO4`
26580        pub type G4_IO4_R = crate::R<bool, bool>;
26581        ///Write proxy for field `G4_IO4`
26582        pub struct G4_IO4_W<'a> {
26583            w: &'a mut W,
26584        }
26585        impl<'a> G4_IO4_W<'a> {
26586            ///Sets the field bit
26587            #[inline(always)]
26588            pub fn set_bit(self) -> &'a mut W {
26589                self.bit(true)
26590            }
26591            ///Clears the field bit
26592            #[inline(always)]
26593            pub fn clear_bit(self) -> &'a mut W {
26594                self.bit(false)
26595            }
26596            ///Writes raw bits to the field
26597            #[inline(always)]
26598            pub fn bit(self, value: bool) -> &'a mut W {
26599                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
26600                self.w
26601            }
26602        }
26603        ///Reader of field `G4_IO3`
26604        pub type G4_IO3_R = crate::R<bool, bool>;
26605        ///Write proxy for field `G4_IO3`
26606        pub struct G4_IO3_W<'a> {
26607            w: &'a mut W,
26608        }
26609        impl<'a> G4_IO3_W<'a> {
26610            ///Sets the field bit
26611            #[inline(always)]
26612            pub fn set_bit(self) -> &'a mut W {
26613                self.bit(true)
26614            }
26615            ///Clears the field bit
26616            #[inline(always)]
26617            pub fn clear_bit(self) -> &'a mut W {
26618                self.bit(false)
26619            }
26620            ///Writes raw bits to the field
26621            #[inline(always)]
26622            pub fn bit(self, value: bool) -> &'a mut W {
26623                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
26624                self.w
26625            }
26626        }
26627        ///Reader of field `G4_IO2`
26628        pub type G4_IO2_R = crate::R<bool, bool>;
26629        ///Write proxy for field `G4_IO2`
26630        pub struct G4_IO2_W<'a> {
26631            w: &'a mut W,
26632        }
26633        impl<'a> G4_IO2_W<'a> {
26634            ///Sets the field bit
26635            #[inline(always)]
26636            pub fn set_bit(self) -> &'a mut W {
26637                self.bit(true)
26638            }
26639            ///Clears the field bit
26640            #[inline(always)]
26641            pub fn clear_bit(self) -> &'a mut W {
26642                self.bit(false)
26643            }
26644            ///Writes raw bits to the field
26645            #[inline(always)]
26646            pub fn bit(self, value: bool) -> &'a mut W {
26647                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
26648                self.w
26649            }
26650        }
26651        ///Reader of field `G4_IO1`
26652        pub type G4_IO1_R = crate::R<bool, bool>;
26653        ///Write proxy for field `G4_IO1`
26654        pub struct G4_IO1_W<'a> {
26655            w: &'a mut W,
26656        }
26657        impl<'a> G4_IO1_W<'a> {
26658            ///Sets the field bit
26659            #[inline(always)]
26660            pub fn set_bit(self) -> &'a mut W {
26661                self.bit(true)
26662            }
26663            ///Clears the field bit
26664            #[inline(always)]
26665            pub fn clear_bit(self) -> &'a mut W {
26666                self.bit(false)
26667            }
26668            ///Writes raw bits to the field
26669            #[inline(always)]
26670            pub fn bit(self, value: bool) -> &'a mut W {
26671                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
26672                self.w
26673            }
26674        }
26675        ///Reader of field `G3_IO4`
26676        pub type G3_IO4_R = crate::R<bool, bool>;
26677        ///Write proxy for field `G3_IO4`
26678        pub struct G3_IO4_W<'a> {
26679            w: &'a mut W,
26680        }
26681        impl<'a> G3_IO4_W<'a> {
26682            ///Sets the field bit
26683            #[inline(always)]
26684            pub fn set_bit(self) -> &'a mut W {
26685                self.bit(true)
26686            }
26687            ///Clears the field bit
26688            #[inline(always)]
26689            pub fn clear_bit(self) -> &'a mut W {
26690                self.bit(false)
26691            }
26692            ///Writes raw bits to the field
26693            #[inline(always)]
26694            pub fn bit(self, value: bool) -> &'a mut W {
26695                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
26696                self.w
26697            }
26698        }
26699        ///Reader of field `G3_IO3`
26700        pub type G3_IO3_R = crate::R<bool, bool>;
26701        ///Write proxy for field `G3_IO3`
26702        pub struct G3_IO3_W<'a> {
26703            w: &'a mut W,
26704        }
26705        impl<'a> G3_IO3_W<'a> {
26706            ///Sets the field bit
26707            #[inline(always)]
26708            pub fn set_bit(self) -> &'a mut W {
26709                self.bit(true)
26710            }
26711            ///Clears the field bit
26712            #[inline(always)]
26713            pub fn clear_bit(self) -> &'a mut W {
26714                self.bit(false)
26715            }
26716            ///Writes raw bits to the field
26717            #[inline(always)]
26718            pub fn bit(self, value: bool) -> &'a mut W {
26719                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
26720                self.w
26721            }
26722        }
26723        ///Reader of field `G3_IO2`
26724        pub type G3_IO2_R = crate::R<bool, bool>;
26725        ///Write proxy for field `G3_IO2`
26726        pub struct G3_IO2_W<'a> {
26727            w: &'a mut W,
26728        }
26729        impl<'a> G3_IO2_W<'a> {
26730            ///Sets the field bit
26731            #[inline(always)]
26732            pub fn set_bit(self) -> &'a mut W {
26733                self.bit(true)
26734            }
26735            ///Clears the field bit
26736            #[inline(always)]
26737            pub fn clear_bit(self) -> &'a mut W {
26738                self.bit(false)
26739            }
26740            ///Writes raw bits to the field
26741            #[inline(always)]
26742            pub fn bit(self, value: bool) -> &'a mut W {
26743                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
26744                self.w
26745            }
26746        }
26747        ///Reader of field `G3_IO1`
26748        pub type G3_IO1_R = crate::R<bool, bool>;
26749        ///Write proxy for field `G3_IO1`
26750        pub struct G3_IO1_W<'a> {
26751            w: &'a mut W,
26752        }
26753        impl<'a> G3_IO1_W<'a> {
26754            ///Sets the field bit
26755            #[inline(always)]
26756            pub fn set_bit(self) -> &'a mut W {
26757                self.bit(true)
26758            }
26759            ///Clears the field bit
26760            #[inline(always)]
26761            pub fn clear_bit(self) -> &'a mut W {
26762                self.bit(false)
26763            }
26764            ///Writes raw bits to the field
26765            #[inline(always)]
26766            pub fn bit(self, value: bool) -> &'a mut W {
26767                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
26768                self.w
26769            }
26770        }
26771        ///Reader of field `G2_IO4`
26772        pub type G2_IO4_R = crate::R<bool, bool>;
26773        ///Write proxy for field `G2_IO4`
26774        pub struct G2_IO4_W<'a> {
26775            w: &'a mut W,
26776        }
26777        impl<'a> G2_IO4_W<'a> {
26778            ///Sets the field bit
26779            #[inline(always)]
26780            pub fn set_bit(self) -> &'a mut W {
26781                self.bit(true)
26782            }
26783            ///Clears the field bit
26784            #[inline(always)]
26785            pub fn clear_bit(self) -> &'a mut W {
26786                self.bit(false)
26787            }
26788            ///Writes raw bits to the field
26789            #[inline(always)]
26790            pub fn bit(self, value: bool) -> &'a mut W {
26791                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
26792                self.w
26793            }
26794        }
26795        ///Reader of field `G2_IO3`
26796        pub type G2_IO3_R = crate::R<bool, bool>;
26797        ///Write proxy for field `G2_IO3`
26798        pub struct G2_IO3_W<'a> {
26799            w: &'a mut W,
26800        }
26801        impl<'a> G2_IO3_W<'a> {
26802            ///Sets the field bit
26803            #[inline(always)]
26804            pub fn set_bit(self) -> &'a mut W {
26805                self.bit(true)
26806            }
26807            ///Clears the field bit
26808            #[inline(always)]
26809            pub fn clear_bit(self) -> &'a mut W {
26810                self.bit(false)
26811            }
26812            ///Writes raw bits to the field
26813            #[inline(always)]
26814            pub fn bit(self, value: bool) -> &'a mut W {
26815                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
26816                self.w
26817            }
26818        }
26819        ///Reader of field `G2_IO2`
26820        pub type G2_IO2_R = crate::R<bool, bool>;
26821        ///Write proxy for field `G2_IO2`
26822        pub struct G2_IO2_W<'a> {
26823            w: &'a mut W,
26824        }
26825        impl<'a> G2_IO2_W<'a> {
26826            ///Sets the field bit
26827            #[inline(always)]
26828            pub fn set_bit(self) -> &'a mut W {
26829                self.bit(true)
26830            }
26831            ///Clears the field bit
26832            #[inline(always)]
26833            pub fn clear_bit(self) -> &'a mut W {
26834                self.bit(false)
26835            }
26836            ///Writes raw bits to the field
26837            #[inline(always)]
26838            pub fn bit(self, value: bool) -> &'a mut W {
26839                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
26840                self.w
26841            }
26842        }
26843        ///Reader of field `G2_IO1`
26844        pub type G2_IO1_R = crate::R<bool, bool>;
26845        ///Write proxy for field `G2_IO1`
26846        pub struct G2_IO1_W<'a> {
26847            w: &'a mut W,
26848        }
26849        impl<'a> G2_IO1_W<'a> {
26850            ///Sets the field bit
26851            #[inline(always)]
26852            pub fn set_bit(self) -> &'a mut W {
26853                self.bit(true)
26854            }
26855            ///Clears the field bit
26856            #[inline(always)]
26857            pub fn clear_bit(self) -> &'a mut W {
26858                self.bit(false)
26859            }
26860            ///Writes raw bits to the field
26861            #[inline(always)]
26862            pub fn bit(self, value: bool) -> &'a mut W {
26863                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
26864                self.w
26865            }
26866        }
26867        ///Reader of field `G1_IO4`
26868        pub type G1_IO4_R = crate::R<bool, bool>;
26869        ///Write proxy for field `G1_IO4`
26870        pub struct G1_IO4_W<'a> {
26871            w: &'a mut W,
26872        }
26873        impl<'a> G1_IO4_W<'a> {
26874            ///Sets the field bit
26875            #[inline(always)]
26876            pub fn set_bit(self) -> &'a mut W {
26877                self.bit(true)
26878            }
26879            ///Clears the field bit
26880            #[inline(always)]
26881            pub fn clear_bit(self) -> &'a mut W {
26882                self.bit(false)
26883            }
26884            ///Writes raw bits to the field
26885            #[inline(always)]
26886            pub fn bit(self, value: bool) -> &'a mut W {
26887                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
26888                self.w
26889            }
26890        }
26891        ///Reader of field `G1_IO3`
26892        pub type G1_IO3_R = crate::R<bool, bool>;
26893        ///Write proxy for field `G1_IO3`
26894        pub struct G1_IO3_W<'a> {
26895            w: &'a mut W,
26896        }
26897        impl<'a> G1_IO3_W<'a> {
26898            ///Sets the field bit
26899            #[inline(always)]
26900            pub fn set_bit(self) -> &'a mut W {
26901                self.bit(true)
26902            }
26903            ///Clears the field bit
26904            #[inline(always)]
26905            pub fn clear_bit(self) -> &'a mut W {
26906                self.bit(false)
26907            }
26908            ///Writes raw bits to the field
26909            #[inline(always)]
26910            pub fn bit(self, value: bool) -> &'a mut W {
26911                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
26912                self.w
26913            }
26914        }
26915        ///Reader of field `G1_IO2`
26916        pub type G1_IO2_R = crate::R<bool, bool>;
26917        ///Write proxy for field `G1_IO2`
26918        pub struct G1_IO2_W<'a> {
26919            w: &'a mut W,
26920        }
26921        impl<'a> G1_IO2_W<'a> {
26922            ///Sets the field bit
26923            #[inline(always)]
26924            pub fn set_bit(self) -> &'a mut W {
26925                self.bit(true)
26926            }
26927            ///Clears the field bit
26928            #[inline(always)]
26929            pub fn clear_bit(self) -> &'a mut W {
26930                self.bit(false)
26931            }
26932            ///Writes raw bits to the field
26933            #[inline(always)]
26934            pub fn bit(self, value: bool) -> &'a mut W {
26935                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
26936                self.w
26937            }
26938        }
26939        ///Reader of field `G1_IO1`
26940        pub type G1_IO1_R = crate::R<bool, bool>;
26941        ///Write proxy for field `G1_IO1`
26942        pub struct G1_IO1_W<'a> {
26943            w: &'a mut W,
26944        }
26945        impl<'a> G1_IO1_W<'a> {
26946            ///Sets the field bit
26947            #[inline(always)]
26948            pub fn set_bit(self) -> &'a mut W {
26949                self.bit(true)
26950            }
26951            ///Clears the field bit
26952            #[inline(always)]
26953            pub fn clear_bit(self) -> &'a mut W {
26954                self.bit(false)
26955            }
26956            ///Writes raw bits to the field
26957            #[inline(always)]
26958            pub fn bit(self, value: bool) -> &'a mut W {
26959                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
26960                self.w
26961            }
26962        }
26963        impl R {
26964            ///Bit 27 - G7_IO4
26965            #[inline(always)]
26966            pub fn g7_io4(&self) -> G7_IO4_R {
26967                G7_IO4_R::new(((self.bits >> 27) & 0x01) != 0)
26968            }
26969            ///Bit 26 - G7_IO3
26970            #[inline(always)]
26971            pub fn g7_io3(&self) -> G7_IO3_R {
26972                G7_IO3_R::new(((self.bits >> 26) & 0x01) != 0)
26973            }
26974            ///Bit 25 - G7_IO2
26975            #[inline(always)]
26976            pub fn g7_io2(&self) -> G7_IO2_R {
26977                G7_IO2_R::new(((self.bits >> 25) & 0x01) != 0)
26978            }
26979            ///Bit 24 - G7_IO1
26980            #[inline(always)]
26981            pub fn g7_io1(&self) -> G7_IO1_R {
26982                G7_IO1_R::new(((self.bits >> 24) & 0x01) != 0)
26983            }
26984            ///Bit 23 - G6_IO4
26985            #[inline(always)]
26986            pub fn g6_io4(&self) -> G6_IO4_R {
26987                G6_IO4_R::new(((self.bits >> 23) & 0x01) != 0)
26988            }
26989            ///Bit 22 - G6_IO3
26990            #[inline(always)]
26991            pub fn g6_io3(&self) -> G6_IO3_R {
26992                G6_IO3_R::new(((self.bits >> 22) & 0x01) != 0)
26993            }
26994            ///Bit 21 - G6_IO2
26995            #[inline(always)]
26996            pub fn g6_io2(&self) -> G6_IO2_R {
26997                G6_IO2_R::new(((self.bits >> 21) & 0x01) != 0)
26998            }
26999            ///Bit 20 - G6_IO1
27000            #[inline(always)]
27001            pub fn g6_io1(&self) -> G6_IO1_R {
27002                G6_IO1_R::new(((self.bits >> 20) & 0x01) != 0)
27003            }
27004            ///Bit 19 - G5_IO4
27005            #[inline(always)]
27006            pub fn g5_io4(&self) -> G5_IO4_R {
27007                G5_IO4_R::new(((self.bits >> 19) & 0x01) != 0)
27008            }
27009            ///Bit 18 - G5_IO3
27010            #[inline(always)]
27011            pub fn g5_io3(&self) -> G5_IO3_R {
27012                G5_IO3_R::new(((self.bits >> 18) & 0x01) != 0)
27013            }
27014            ///Bit 17 - G5_IO2
27015            #[inline(always)]
27016            pub fn g5_io2(&self) -> G5_IO2_R {
27017                G5_IO2_R::new(((self.bits >> 17) & 0x01) != 0)
27018            }
27019            ///Bit 16 - G5_IO1
27020            #[inline(always)]
27021            pub fn g5_io1(&self) -> G5_IO1_R {
27022                G5_IO1_R::new(((self.bits >> 16) & 0x01) != 0)
27023            }
27024            ///Bit 15 - G4_IO4
27025            #[inline(always)]
27026            pub fn g4_io4(&self) -> G4_IO4_R {
27027                G4_IO4_R::new(((self.bits >> 15) & 0x01) != 0)
27028            }
27029            ///Bit 14 - G4_IO3
27030            #[inline(always)]
27031            pub fn g4_io3(&self) -> G4_IO3_R {
27032                G4_IO3_R::new(((self.bits >> 14) & 0x01) != 0)
27033            }
27034            ///Bit 13 - G4_IO2
27035            #[inline(always)]
27036            pub fn g4_io2(&self) -> G4_IO2_R {
27037                G4_IO2_R::new(((self.bits >> 13) & 0x01) != 0)
27038            }
27039            ///Bit 12 - G4_IO1
27040            #[inline(always)]
27041            pub fn g4_io1(&self) -> G4_IO1_R {
27042                G4_IO1_R::new(((self.bits >> 12) & 0x01) != 0)
27043            }
27044            ///Bit 11 - G3_IO4
27045            #[inline(always)]
27046            pub fn g3_io4(&self) -> G3_IO4_R {
27047                G3_IO4_R::new(((self.bits >> 11) & 0x01) != 0)
27048            }
27049            ///Bit 10 - G3_IO3
27050            #[inline(always)]
27051            pub fn g3_io3(&self) -> G3_IO3_R {
27052                G3_IO3_R::new(((self.bits >> 10) & 0x01) != 0)
27053            }
27054            ///Bit 9 - G3_IO2
27055            #[inline(always)]
27056            pub fn g3_io2(&self) -> G3_IO2_R {
27057                G3_IO2_R::new(((self.bits >> 9) & 0x01) != 0)
27058            }
27059            ///Bit 8 - G3_IO1
27060            #[inline(always)]
27061            pub fn g3_io1(&self) -> G3_IO1_R {
27062                G3_IO1_R::new(((self.bits >> 8) & 0x01) != 0)
27063            }
27064            ///Bit 7 - G2_IO4
27065            #[inline(always)]
27066            pub fn g2_io4(&self) -> G2_IO4_R {
27067                G2_IO4_R::new(((self.bits >> 7) & 0x01) != 0)
27068            }
27069            ///Bit 6 - G2_IO3
27070            #[inline(always)]
27071            pub fn g2_io3(&self) -> G2_IO3_R {
27072                G2_IO3_R::new(((self.bits >> 6) & 0x01) != 0)
27073            }
27074            ///Bit 5 - G2_IO2
27075            #[inline(always)]
27076            pub fn g2_io2(&self) -> G2_IO2_R {
27077                G2_IO2_R::new(((self.bits >> 5) & 0x01) != 0)
27078            }
27079            ///Bit 4 - G2_IO1
27080            #[inline(always)]
27081            pub fn g2_io1(&self) -> G2_IO1_R {
27082                G2_IO1_R::new(((self.bits >> 4) & 0x01) != 0)
27083            }
27084            ///Bit 3 - G1_IO4
27085            #[inline(always)]
27086            pub fn g1_io4(&self) -> G1_IO4_R {
27087                G1_IO4_R::new(((self.bits >> 3) & 0x01) != 0)
27088            }
27089            ///Bit 2 - G1_IO3
27090            #[inline(always)]
27091            pub fn g1_io3(&self) -> G1_IO3_R {
27092                G1_IO3_R::new(((self.bits >> 2) & 0x01) != 0)
27093            }
27094            ///Bit 1 - G1_IO2
27095            #[inline(always)]
27096            pub fn g1_io2(&self) -> G1_IO2_R {
27097                G1_IO2_R::new(((self.bits >> 1) & 0x01) != 0)
27098            }
27099            ///Bit 0 - G1_IO1
27100            #[inline(always)]
27101            pub fn g1_io1(&self) -> G1_IO1_R {
27102                G1_IO1_R::new((self.bits & 0x01) != 0)
27103            }
27104        }
27105        impl W {
27106            ///Bit 27 - G7_IO4
27107            #[inline(always)]
27108            pub fn g7_io4(&mut self) -> G7_IO4_W {
27109                G7_IO4_W { w: self }
27110            }
27111            ///Bit 26 - G7_IO3
27112            #[inline(always)]
27113            pub fn g7_io3(&mut self) -> G7_IO3_W {
27114                G7_IO3_W { w: self }
27115            }
27116            ///Bit 25 - G7_IO2
27117            #[inline(always)]
27118            pub fn g7_io2(&mut self) -> G7_IO2_W {
27119                G7_IO2_W { w: self }
27120            }
27121            ///Bit 24 - G7_IO1
27122            #[inline(always)]
27123            pub fn g7_io1(&mut self) -> G7_IO1_W {
27124                G7_IO1_W { w: self }
27125            }
27126            ///Bit 23 - G6_IO4
27127            #[inline(always)]
27128            pub fn g6_io4(&mut self) -> G6_IO4_W {
27129                G6_IO4_W { w: self }
27130            }
27131            ///Bit 22 - G6_IO3
27132            #[inline(always)]
27133            pub fn g6_io3(&mut self) -> G6_IO3_W {
27134                G6_IO3_W { w: self }
27135            }
27136            ///Bit 21 - G6_IO2
27137            #[inline(always)]
27138            pub fn g6_io2(&mut self) -> G6_IO2_W {
27139                G6_IO2_W { w: self }
27140            }
27141            ///Bit 20 - G6_IO1
27142            #[inline(always)]
27143            pub fn g6_io1(&mut self) -> G6_IO1_W {
27144                G6_IO1_W { w: self }
27145            }
27146            ///Bit 19 - G5_IO4
27147            #[inline(always)]
27148            pub fn g5_io4(&mut self) -> G5_IO4_W {
27149                G5_IO4_W { w: self }
27150            }
27151            ///Bit 18 - G5_IO3
27152            #[inline(always)]
27153            pub fn g5_io3(&mut self) -> G5_IO3_W {
27154                G5_IO3_W { w: self }
27155            }
27156            ///Bit 17 - G5_IO2
27157            #[inline(always)]
27158            pub fn g5_io2(&mut self) -> G5_IO2_W {
27159                G5_IO2_W { w: self }
27160            }
27161            ///Bit 16 - G5_IO1
27162            #[inline(always)]
27163            pub fn g5_io1(&mut self) -> G5_IO1_W {
27164                G5_IO1_W { w: self }
27165            }
27166            ///Bit 15 - G4_IO4
27167            #[inline(always)]
27168            pub fn g4_io4(&mut self) -> G4_IO4_W {
27169                G4_IO4_W { w: self }
27170            }
27171            ///Bit 14 - G4_IO3
27172            #[inline(always)]
27173            pub fn g4_io3(&mut self) -> G4_IO3_W {
27174                G4_IO3_W { w: self }
27175            }
27176            ///Bit 13 - G4_IO2
27177            #[inline(always)]
27178            pub fn g4_io2(&mut self) -> G4_IO2_W {
27179                G4_IO2_W { w: self }
27180            }
27181            ///Bit 12 - G4_IO1
27182            #[inline(always)]
27183            pub fn g4_io1(&mut self) -> G4_IO1_W {
27184                G4_IO1_W { w: self }
27185            }
27186            ///Bit 11 - G3_IO4
27187            #[inline(always)]
27188            pub fn g3_io4(&mut self) -> G3_IO4_W {
27189                G3_IO4_W { w: self }
27190            }
27191            ///Bit 10 - G3_IO3
27192            #[inline(always)]
27193            pub fn g3_io3(&mut self) -> G3_IO3_W {
27194                G3_IO3_W { w: self }
27195            }
27196            ///Bit 9 - G3_IO2
27197            #[inline(always)]
27198            pub fn g3_io2(&mut self) -> G3_IO2_W {
27199                G3_IO2_W { w: self }
27200            }
27201            ///Bit 8 - G3_IO1
27202            #[inline(always)]
27203            pub fn g3_io1(&mut self) -> G3_IO1_W {
27204                G3_IO1_W { w: self }
27205            }
27206            ///Bit 7 - G2_IO4
27207            #[inline(always)]
27208            pub fn g2_io4(&mut self) -> G2_IO4_W {
27209                G2_IO4_W { w: self }
27210            }
27211            ///Bit 6 - G2_IO3
27212            #[inline(always)]
27213            pub fn g2_io3(&mut self) -> G2_IO3_W {
27214                G2_IO3_W { w: self }
27215            }
27216            ///Bit 5 - G2_IO2
27217            #[inline(always)]
27218            pub fn g2_io2(&mut self) -> G2_IO2_W {
27219                G2_IO2_W { w: self }
27220            }
27221            ///Bit 4 - G2_IO1
27222            #[inline(always)]
27223            pub fn g2_io1(&mut self) -> G2_IO1_W {
27224                G2_IO1_W { w: self }
27225            }
27226            ///Bit 3 - G1_IO4
27227            #[inline(always)]
27228            pub fn g1_io4(&mut self) -> G1_IO4_W {
27229                G1_IO4_W { w: self }
27230            }
27231            ///Bit 2 - G1_IO3
27232            #[inline(always)]
27233            pub fn g1_io3(&mut self) -> G1_IO3_W {
27234                G1_IO3_W { w: self }
27235            }
27236            ///Bit 1 - G1_IO2
27237            #[inline(always)]
27238            pub fn g1_io2(&mut self) -> G1_IO2_W {
27239                G1_IO2_W { w: self }
27240            }
27241            ///Bit 0 - G1_IO1
27242            #[inline(always)]
27243            pub fn g1_io1(&mut self) -> G1_IO1_W {
27244                G1_IO1_W { w: self }
27245            }
27246        }
27247    }
27248    ///I/O analog switch control register
27249    ///
27250    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
27251    ///
27252    ///For information about available fields see [ioascr](ioascr) module
27253    pub type IOASCR = crate::Reg<u32, _IOASCR>;
27254    #[allow(missing_docs)]
27255    #[doc(hidden)]
27256    pub struct _IOASCR;
27257    ///`read()` method returns [ioascr::R](ioascr::R) reader structure
27258    impl crate::Readable for IOASCR {}
27259    ///`write(|w| ..)` method takes [ioascr::W](ioascr::W) writer structure
27260    impl crate::Writable for IOASCR {}
27261    ///I/O analog switch control register
27262    pub mod ioascr {
27263        ///Reader of register IOASCR
27264        pub type R = crate::R<u32, super::IOASCR>;
27265        ///Writer for register IOASCR
27266        pub type W = crate::W<u32, super::IOASCR>;
27267        ///Register IOASCR `reset()`'s with value 0
27268        impl crate::ResetValue for super::IOASCR {
27269            type Type = u32;
27270            #[inline(always)]
27271            fn reset_value() -> Self::Type {
27272                0
27273            }
27274        }
27275        ///Reader of field `G7_IO4`
27276        pub type G7_IO4_R = crate::R<bool, bool>;
27277        ///Write proxy for field `G7_IO4`
27278        pub struct G7_IO4_W<'a> {
27279            w: &'a mut W,
27280        }
27281        impl<'a> G7_IO4_W<'a> {
27282            ///Sets the field bit
27283            #[inline(always)]
27284            pub fn set_bit(self) -> &'a mut W {
27285                self.bit(true)
27286            }
27287            ///Clears the field bit
27288            #[inline(always)]
27289            pub fn clear_bit(self) -> &'a mut W {
27290                self.bit(false)
27291            }
27292            ///Writes raw bits to the field
27293            #[inline(always)]
27294            pub fn bit(self, value: bool) -> &'a mut W {
27295                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
27296                self.w
27297            }
27298        }
27299        ///Reader of field `G7_IO3`
27300        pub type G7_IO3_R = crate::R<bool, bool>;
27301        ///Write proxy for field `G7_IO3`
27302        pub struct G7_IO3_W<'a> {
27303            w: &'a mut W,
27304        }
27305        impl<'a> G7_IO3_W<'a> {
27306            ///Sets the field bit
27307            #[inline(always)]
27308            pub fn set_bit(self) -> &'a mut W {
27309                self.bit(true)
27310            }
27311            ///Clears the field bit
27312            #[inline(always)]
27313            pub fn clear_bit(self) -> &'a mut W {
27314                self.bit(false)
27315            }
27316            ///Writes raw bits to the field
27317            #[inline(always)]
27318            pub fn bit(self, value: bool) -> &'a mut W {
27319                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
27320                self.w
27321            }
27322        }
27323        ///Reader of field `G7_IO2`
27324        pub type G7_IO2_R = crate::R<bool, bool>;
27325        ///Write proxy for field `G7_IO2`
27326        pub struct G7_IO2_W<'a> {
27327            w: &'a mut W,
27328        }
27329        impl<'a> G7_IO2_W<'a> {
27330            ///Sets the field bit
27331            #[inline(always)]
27332            pub fn set_bit(self) -> &'a mut W {
27333                self.bit(true)
27334            }
27335            ///Clears the field bit
27336            #[inline(always)]
27337            pub fn clear_bit(self) -> &'a mut W {
27338                self.bit(false)
27339            }
27340            ///Writes raw bits to the field
27341            #[inline(always)]
27342            pub fn bit(self, value: bool) -> &'a mut W {
27343                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
27344                self.w
27345            }
27346        }
27347        ///Reader of field `G7_IO1`
27348        pub type G7_IO1_R = crate::R<bool, bool>;
27349        ///Write proxy for field `G7_IO1`
27350        pub struct G7_IO1_W<'a> {
27351            w: &'a mut W,
27352        }
27353        impl<'a> G7_IO1_W<'a> {
27354            ///Sets the field bit
27355            #[inline(always)]
27356            pub fn set_bit(self) -> &'a mut W {
27357                self.bit(true)
27358            }
27359            ///Clears the field bit
27360            #[inline(always)]
27361            pub fn clear_bit(self) -> &'a mut W {
27362                self.bit(false)
27363            }
27364            ///Writes raw bits to the field
27365            #[inline(always)]
27366            pub fn bit(self, value: bool) -> &'a mut W {
27367                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
27368                self.w
27369            }
27370        }
27371        ///Reader of field `G6_IO4`
27372        pub type G6_IO4_R = crate::R<bool, bool>;
27373        ///Write proxy for field `G6_IO4`
27374        pub struct G6_IO4_W<'a> {
27375            w: &'a mut W,
27376        }
27377        impl<'a> G6_IO4_W<'a> {
27378            ///Sets the field bit
27379            #[inline(always)]
27380            pub fn set_bit(self) -> &'a mut W {
27381                self.bit(true)
27382            }
27383            ///Clears the field bit
27384            #[inline(always)]
27385            pub fn clear_bit(self) -> &'a mut W {
27386                self.bit(false)
27387            }
27388            ///Writes raw bits to the field
27389            #[inline(always)]
27390            pub fn bit(self, value: bool) -> &'a mut W {
27391                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
27392                self.w
27393            }
27394        }
27395        ///Reader of field `G6_IO3`
27396        pub type G6_IO3_R = crate::R<bool, bool>;
27397        ///Write proxy for field `G6_IO3`
27398        pub struct G6_IO3_W<'a> {
27399            w: &'a mut W,
27400        }
27401        impl<'a> G6_IO3_W<'a> {
27402            ///Sets the field bit
27403            #[inline(always)]
27404            pub fn set_bit(self) -> &'a mut W {
27405                self.bit(true)
27406            }
27407            ///Clears the field bit
27408            #[inline(always)]
27409            pub fn clear_bit(self) -> &'a mut W {
27410                self.bit(false)
27411            }
27412            ///Writes raw bits to the field
27413            #[inline(always)]
27414            pub fn bit(self, value: bool) -> &'a mut W {
27415                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
27416                self.w
27417            }
27418        }
27419        ///Reader of field `G6_IO2`
27420        pub type G6_IO2_R = crate::R<bool, bool>;
27421        ///Write proxy for field `G6_IO2`
27422        pub struct G6_IO2_W<'a> {
27423            w: &'a mut W,
27424        }
27425        impl<'a> G6_IO2_W<'a> {
27426            ///Sets the field bit
27427            #[inline(always)]
27428            pub fn set_bit(self) -> &'a mut W {
27429                self.bit(true)
27430            }
27431            ///Clears the field bit
27432            #[inline(always)]
27433            pub fn clear_bit(self) -> &'a mut W {
27434                self.bit(false)
27435            }
27436            ///Writes raw bits to the field
27437            #[inline(always)]
27438            pub fn bit(self, value: bool) -> &'a mut W {
27439                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
27440                self.w
27441            }
27442        }
27443        ///Reader of field `G6_IO1`
27444        pub type G6_IO1_R = crate::R<bool, bool>;
27445        ///Write proxy for field `G6_IO1`
27446        pub struct G6_IO1_W<'a> {
27447            w: &'a mut W,
27448        }
27449        impl<'a> G6_IO1_W<'a> {
27450            ///Sets the field bit
27451            #[inline(always)]
27452            pub fn set_bit(self) -> &'a mut W {
27453                self.bit(true)
27454            }
27455            ///Clears the field bit
27456            #[inline(always)]
27457            pub fn clear_bit(self) -> &'a mut W {
27458                self.bit(false)
27459            }
27460            ///Writes raw bits to the field
27461            #[inline(always)]
27462            pub fn bit(self, value: bool) -> &'a mut W {
27463                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
27464                self.w
27465            }
27466        }
27467        ///Reader of field `G5_IO4`
27468        pub type G5_IO4_R = crate::R<bool, bool>;
27469        ///Write proxy for field `G5_IO4`
27470        pub struct G5_IO4_W<'a> {
27471            w: &'a mut W,
27472        }
27473        impl<'a> G5_IO4_W<'a> {
27474            ///Sets the field bit
27475            #[inline(always)]
27476            pub fn set_bit(self) -> &'a mut W {
27477                self.bit(true)
27478            }
27479            ///Clears the field bit
27480            #[inline(always)]
27481            pub fn clear_bit(self) -> &'a mut W {
27482                self.bit(false)
27483            }
27484            ///Writes raw bits to the field
27485            #[inline(always)]
27486            pub fn bit(self, value: bool) -> &'a mut W {
27487                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
27488                self.w
27489            }
27490        }
27491        ///Reader of field `G5_IO3`
27492        pub type G5_IO3_R = crate::R<bool, bool>;
27493        ///Write proxy for field `G5_IO3`
27494        pub struct G5_IO3_W<'a> {
27495            w: &'a mut W,
27496        }
27497        impl<'a> G5_IO3_W<'a> {
27498            ///Sets the field bit
27499            #[inline(always)]
27500            pub fn set_bit(self) -> &'a mut W {
27501                self.bit(true)
27502            }
27503            ///Clears the field bit
27504            #[inline(always)]
27505            pub fn clear_bit(self) -> &'a mut W {
27506                self.bit(false)
27507            }
27508            ///Writes raw bits to the field
27509            #[inline(always)]
27510            pub fn bit(self, value: bool) -> &'a mut W {
27511                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
27512                self.w
27513            }
27514        }
27515        ///Reader of field `G5_IO2`
27516        pub type G5_IO2_R = crate::R<bool, bool>;
27517        ///Write proxy for field `G5_IO2`
27518        pub struct G5_IO2_W<'a> {
27519            w: &'a mut W,
27520        }
27521        impl<'a> G5_IO2_W<'a> {
27522            ///Sets the field bit
27523            #[inline(always)]
27524            pub fn set_bit(self) -> &'a mut W {
27525                self.bit(true)
27526            }
27527            ///Clears the field bit
27528            #[inline(always)]
27529            pub fn clear_bit(self) -> &'a mut W {
27530                self.bit(false)
27531            }
27532            ///Writes raw bits to the field
27533            #[inline(always)]
27534            pub fn bit(self, value: bool) -> &'a mut W {
27535                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
27536                self.w
27537            }
27538        }
27539        ///Reader of field `G5_IO1`
27540        pub type G5_IO1_R = crate::R<bool, bool>;
27541        ///Write proxy for field `G5_IO1`
27542        pub struct G5_IO1_W<'a> {
27543            w: &'a mut W,
27544        }
27545        impl<'a> G5_IO1_W<'a> {
27546            ///Sets the field bit
27547            #[inline(always)]
27548            pub fn set_bit(self) -> &'a mut W {
27549                self.bit(true)
27550            }
27551            ///Clears the field bit
27552            #[inline(always)]
27553            pub fn clear_bit(self) -> &'a mut W {
27554                self.bit(false)
27555            }
27556            ///Writes raw bits to the field
27557            #[inline(always)]
27558            pub fn bit(self, value: bool) -> &'a mut W {
27559                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
27560                self.w
27561            }
27562        }
27563        ///Reader of field `G4_IO4`
27564        pub type G4_IO4_R = crate::R<bool, bool>;
27565        ///Write proxy for field `G4_IO4`
27566        pub struct G4_IO4_W<'a> {
27567            w: &'a mut W,
27568        }
27569        impl<'a> G4_IO4_W<'a> {
27570            ///Sets the field bit
27571            #[inline(always)]
27572            pub fn set_bit(self) -> &'a mut W {
27573                self.bit(true)
27574            }
27575            ///Clears the field bit
27576            #[inline(always)]
27577            pub fn clear_bit(self) -> &'a mut W {
27578                self.bit(false)
27579            }
27580            ///Writes raw bits to the field
27581            #[inline(always)]
27582            pub fn bit(self, value: bool) -> &'a mut W {
27583                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
27584                self.w
27585            }
27586        }
27587        ///Reader of field `G4_IO3`
27588        pub type G4_IO3_R = crate::R<bool, bool>;
27589        ///Write proxy for field `G4_IO3`
27590        pub struct G4_IO3_W<'a> {
27591            w: &'a mut W,
27592        }
27593        impl<'a> G4_IO3_W<'a> {
27594            ///Sets the field bit
27595            #[inline(always)]
27596            pub fn set_bit(self) -> &'a mut W {
27597                self.bit(true)
27598            }
27599            ///Clears the field bit
27600            #[inline(always)]
27601            pub fn clear_bit(self) -> &'a mut W {
27602                self.bit(false)
27603            }
27604            ///Writes raw bits to the field
27605            #[inline(always)]
27606            pub fn bit(self, value: bool) -> &'a mut W {
27607                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
27608                self.w
27609            }
27610        }
27611        ///Reader of field `G4_IO2`
27612        pub type G4_IO2_R = crate::R<bool, bool>;
27613        ///Write proxy for field `G4_IO2`
27614        pub struct G4_IO2_W<'a> {
27615            w: &'a mut W,
27616        }
27617        impl<'a> G4_IO2_W<'a> {
27618            ///Sets the field bit
27619            #[inline(always)]
27620            pub fn set_bit(self) -> &'a mut W {
27621                self.bit(true)
27622            }
27623            ///Clears the field bit
27624            #[inline(always)]
27625            pub fn clear_bit(self) -> &'a mut W {
27626                self.bit(false)
27627            }
27628            ///Writes raw bits to the field
27629            #[inline(always)]
27630            pub fn bit(self, value: bool) -> &'a mut W {
27631                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
27632                self.w
27633            }
27634        }
27635        ///Reader of field `G4_IO1`
27636        pub type G4_IO1_R = crate::R<bool, bool>;
27637        ///Write proxy for field `G4_IO1`
27638        pub struct G4_IO1_W<'a> {
27639            w: &'a mut W,
27640        }
27641        impl<'a> G4_IO1_W<'a> {
27642            ///Sets the field bit
27643            #[inline(always)]
27644            pub fn set_bit(self) -> &'a mut W {
27645                self.bit(true)
27646            }
27647            ///Clears the field bit
27648            #[inline(always)]
27649            pub fn clear_bit(self) -> &'a mut W {
27650                self.bit(false)
27651            }
27652            ///Writes raw bits to the field
27653            #[inline(always)]
27654            pub fn bit(self, value: bool) -> &'a mut W {
27655                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
27656                self.w
27657            }
27658        }
27659        ///Reader of field `G3_IO4`
27660        pub type G3_IO4_R = crate::R<bool, bool>;
27661        ///Write proxy for field `G3_IO4`
27662        pub struct G3_IO4_W<'a> {
27663            w: &'a mut W,
27664        }
27665        impl<'a> G3_IO4_W<'a> {
27666            ///Sets the field bit
27667            #[inline(always)]
27668            pub fn set_bit(self) -> &'a mut W {
27669                self.bit(true)
27670            }
27671            ///Clears the field bit
27672            #[inline(always)]
27673            pub fn clear_bit(self) -> &'a mut W {
27674                self.bit(false)
27675            }
27676            ///Writes raw bits to the field
27677            #[inline(always)]
27678            pub fn bit(self, value: bool) -> &'a mut W {
27679                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
27680                self.w
27681            }
27682        }
27683        ///Reader of field `G3_IO3`
27684        pub type G3_IO3_R = crate::R<bool, bool>;
27685        ///Write proxy for field `G3_IO3`
27686        pub struct G3_IO3_W<'a> {
27687            w: &'a mut W,
27688        }
27689        impl<'a> G3_IO3_W<'a> {
27690            ///Sets the field bit
27691            #[inline(always)]
27692            pub fn set_bit(self) -> &'a mut W {
27693                self.bit(true)
27694            }
27695            ///Clears the field bit
27696            #[inline(always)]
27697            pub fn clear_bit(self) -> &'a mut W {
27698                self.bit(false)
27699            }
27700            ///Writes raw bits to the field
27701            #[inline(always)]
27702            pub fn bit(self, value: bool) -> &'a mut W {
27703                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
27704                self.w
27705            }
27706        }
27707        ///Reader of field `G3_IO2`
27708        pub type G3_IO2_R = crate::R<bool, bool>;
27709        ///Write proxy for field `G3_IO2`
27710        pub struct G3_IO2_W<'a> {
27711            w: &'a mut W,
27712        }
27713        impl<'a> G3_IO2_W<'a> {
27714            ///Sets the field bit
27715            #[inline(always)]
27716            pub fn set_bit(self) -> &'a mut W {
27717                self.bit(true)
27718            }
27719            ///Clears the field bit
27720            #[inline(always)]
27721            pub fn clear_bit(self) -> &'a mut W {
27722                self.bit(false)
27723            }
27724            ///Writes raw bits to the field
27725            #[inline(always)]
27726            pub fn bit(self, value: bool) -> &'a mut W {
27727                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
27728                self.w
27729            }
27730        }
27731        ///Reader of field `G3_IO1`
27732        pub type G3_IO1_R = crate::R<bool, bool>;
27733        ///Write proxy for field `G3_IO1`
27734        pub struct G3_IO1_W<'a> {
27735            w: &'a mut W,
27736        }
27737        impl<'a> G3_IO1_W<'a> {
27738            ///Sets the field bit
27739            #[inline(always)]
27740            pub fn set_bit(self) -> &'a mut W {
27741                self.bit(true)
27742            }
27743            ///Clears the field bit
27744            #[inline(always)]
27745            pub fn clear_bit(self) -> &'a mut W {
27746                self.bit(false)
27747            }
27748            ///Writes raw bits to the field
27749            #[inline(always)]
27750            pub fn bit(self, value: bool) -> &'a mut W {
27751                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
27752                self.w
27753            }
27754        }
27755        ///Reader of field `G2_IO4`
27756        pub type G2_IO4_R = crate::R<bool, bool>;
27757        ///Write proxy for field `G2_IO4`
27758        pub struct G2_IO4_W<'a> {
27759            w: &'a mut W,
27760        }
27761        impl<'a> G2_IO4_W<'a> {
27762            ///Sets the field bit
27763            #[inline(always)]
27764            pub fn set_bit(self) -> &'a mut W {
27765                self.bit(true)
27766            }
27767            ///Clears the field bit
27768            #[inline(always)]
27769            pub fn clear_bit(self) -> &'a mut W {
27770                self.bit(false)
27771            }
27772            ///Writes raw bits to the field
27773            #[inline(always)]
27774            pub fn bit(self, value: bool) -> &'a mut W {
27775                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
27776                self.w
27777            }
27778        }
27779        ///Reader of field `G2_IO3`
27780        pub type G2_IO3_R = crate::R<bool, bool>;
27781        ///Write proxy for field `G2_IO3`
27782        pub struct G2_IO3_W<'a> {
27783            w: &'a mut W,
27784        }
27785        impl<'a> G2_IO3_W<'a> {
27786            ///Sets the field bit
27787            #[inline(always)]
27788            pub fn set_bit(self) -> &'a mut W {
27789                self.bit(true)
27790            }
27791            ///Clears the field bit
27792            #[inline(always)]
27793            pub fn clear_bit(self) -> &'a mut W {
27794                self.bit(false)
27795            }
27796            ///Writes raw bits to the field
27797            #[inline(always)]
27798            pub fn bit(self, value: bool) -> &'a mut W {
27799                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
27800                self.w
27801            }
27802        }
27803        ///Reader of field `G2_IO2`
27804        pub type G2_IO2_R = crate::R<bool, bool>;
27805        ///Write proxy for field `G2_IO2`
27806        pub struct G2_IO2_W<'a> {
27807            w: &'a mut W,
27808        }
27809        impl<'a> G2_IO2_W<'a> {
27810            ///Sets the field bit
27811            #[inline(always)]
27812            pub fn set_bit(self) -> &'a mut W {
27813                self.bit(true)
27814            }
27815            ///Clears the field bit
27816            #[inline(always)]
27817            pub fn clear_bit(self) -> &'a mut W {
27818                self.bit(false)
27819            }
27820            ///Writes raw bits to the field
27821            #[inline(always)]
27822            pub fn bit(self, value: bool) -> &'a mut W {
27823                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
27824                self.w
27825            }
27826        }
27827        ///Reader of field `G2_IO1`
27828        pub type G2_IO1_R = crate::R<bool, bool>;
27829        ///Write proxy for field `G2_IO1`
27830        pub struct G2_IO1_W<'a> {
27831            w: &'a mut W,
27832        }
27833        impl<'a> G2_IO1_W<'a> {
27834            ///Sets the field bit
27835            #[inline(always)]
27836            pub fn set_bit(self) -> &'a mut W {
27837                self.bit(true)
27838            }
27839            ///Clears the field bit
27840            #[inline(always)]
27841            pub fn clear_bit(self) -> &'a mut W {
27842                self.bit(false)
27843            }
27844            ///Writes raw bits to the field
27845            #[inline(always)]
27846            pub fn bit(self, value: bool) -> &'a mut W {
27847                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
27848                self.w
27849            }
27850        }
27851        ///Reader of field `G1_IO4`
27852        pub type G1_IO4_R = crate::R<bool, bool>;
27853        ///Write proxy for field `G1_IO4`
27854        pub struct G1_IO4_W<'a> {
27855            w: &'a mut W,
27856        }
27857        impl<'a> G1_IO4_W<'a> {
27858            ///Sets the field bit
27859            #[inline(always)]
27860            pub fn set_bit(self) -> &'a mut W {
27861                self.bit(true)
27862            }
27863            ///Clears the field bit
27864            #[inline(always)]
27865            pub fn clear_bit(self) -> &'a mut W {
27866                self.bit(false)
27867            }
27868            ///Writes raw bits to the field
27869            #[inline(always)]
27870            pub fn bit(self, value: bool) -> &'a mut W {
27871                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
27872                self.w
27873            }
27874        }
27875        ///Reader of field `G1_IO3`
27876        pub type G1_IO3_R = crate::R<bool, bool>;
27877        ///Write proxy for field `G1_IO3`
27878        pub struct G1_IO3_W<'a> {
27879            w: &'a mut W,
27880        }
27881        impl<'a> G1_IO3_W<'a> {
27882            ///Sets the field bit
27883            #[inline(always)]
27884            pub fn set_bit(self) -> &'a mut W {
27885                self.bit(true)
27886            }
27887            ///Clears the field bit
27888            #[inline(always)]
27889            pub fn clear_bit(self) -> &'a mut W {
27890                self.bit(false)
27891            }
27892            ///Writes raw bits to the field
27893            #[inline(always)]
27894            pub fn bit(self, value: bool) -> &'a mut W {
27895                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
27896                self.w
27897            }
27898        }
27899        ///Reader of field `G1_IO2`
27900        pub type G1_IO2_R = crate::R<bool, bool>;
27901        ///Write proxy for field `G1_IO2`
27902        pub struct G1_IO2_W<'a> {
27903            w: &'a mut W,
27904        }
27905        impl<'a> G1_IO2_W<'a> {
27906            ///Sets the field bit
27907            #[inline(always)]
27908            pub fn set_bit(self) -> &'a mut W {
27909                self.bit(true)
27910            }
27911            ///Clears the field bit
27912            #[inline(always)]
27913            pub fn clear_bit(self) -> &'a mut W {
27914                self.bit(false)
27915            }
27916            ///Writes raw bits to the field
27917            #[inline(always)]
27918            pub fn bit(self, value: bool) -> &'a mut W {
27919                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
27920                self.w
27921            }
27922        }
27923        ///Reader of field `G1_IO1`
27924        pub type G1_IO1_R = crate::R<bool, bool>;
27925        ///Write proxy for field `G1_IO1`
27926        pub struct G1_IO1_W<'a> {
27927            w: &'a mut W,
27928        }
27929        impl<'a> G1_IO1_W<'a> {
27930            ///Sets the field bit
27931            #[inline(always)]
27932            pub fn set_bit(self) -> &'a mut W {
27933                self.bit(true)
27934            }
27935            ///Clears the field bit
27936            #[inline(always)]
27937            pub fn clear_bit(self) -> &'a mut W {
27938                self.bit(false)
27939            }
27940            ///Writes raw bits to the field
27941            #[inline(always)]
27942            pub fn bit(self, value: bool) -> &'a mut W {
27943                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
27944                self.w
27945            }
27946        }
27947        impl R {
27948            ///Bit 27 - G7_IO4
27949            #[inline(always)]
27950            pub fn g7_io4(&self) -> G7_IO4_R {
27951                G7_IO4_R::new(((self.bits >> 27) & 0x01) != 0)
27952            }
27953            ///Bit 26 - G7_IO3
27954            #[inline(always)]
27955            pub fn g7_io3(&self) -> G7_IO3_R {
27956                G7_IO3_R::new(((self.bits >> 26) & 0x01) != 0)
27957            }
27958            ///Bit 25 - G7_IO2
27959            #[inline(always)]
27960            pub fn g7_io2(&self) -> G7_IO2_R {
27961                G7_IO2_R::new(((self.bits >> 25) & 0x01) != 0)
27962            }
27963            ///Bit 24 - G7_IO1
27964            #[inline(always)]
27965            pub fn g7_io1(&self) -> G7_IO1_R {
27966                G7_IO1_R::new(((self.bits >> 24) & 0x01) != 0)
27967            }
27968            ///Bit 23 - G6_IO4
27969            #[inline(always)]
27970            pub fn g6_io4(&self) -> G6_IO4_R {
27971                G6_IO4_R::new(((self.bits >> 23) & 0x01) != 0)
27972            }
27973            ///Bit 22 - G6_IO3
27974            #[inline(always)]
27975            pub fn g6_io3(&self) -> G6_IO3_R {
27976                G6_IO3_R::new(((self.bits >> 22) & 0x01) != 0)
27977            }
27978            ///Bit 21 - G6_IO2
27979            #[inline(always)]
27980            pub fn g6_io2(&self) -> G6_IO2_R {
27981                G6_IO2_R::new(((self.bits >> 21) & 0x01) != 0)
27982            }
27983            ///Bit 20 - G6_IO1
27984            #[inline(always)]
27985            pub fn g6_io1(&self) -> G6_IO1_R {
27986                G6_IO1_R::new(((self.bits >> 20) & 0x01) != 0)
27987            }
27988            ///Bit 19 - G5_IO4
27989            #[inline(always)]
27990            pub fn g5_io4(&self) -> G5_IO4_R {
27991                G5_IO4_R::new(((self.bits >> 19) & 0x01) != 0)
27992            }
27993            ///Bit 18 - G5_IO3
27994            #[inline(always)]
27995            pub fn g5_io3(&self) -> G5_IO3_R {
27996                G5_IO3_R::new(((self.bits >> 18) & 0x01) != 0)
27997            }
27998            ///Bit 17 - G5_IO2
27999            #[inline(always)]
28000            pub fn g5_io2(&self) -> G5_IO2_R {
28001                G5_IO2_R::new(((self.bits >> 17) & 0x01) != 0)
28002            }
28003            ///Bit 16 - G5_IO1
28004            #[inline(always)]
28005            pub fn g5_io1(&self) -> G5_IO1_R {
28006                G5_IO1_R::new(((self.bits >> 16) & 0x01) != 0)
28007            }
28008            ///Bit 15 - G4_IO4
28009            #[inline(always)]
28010            pub fn g4_io4(&self) -> G4_IO4_R {
28011                G4_IO4_R::new(((self.bits >> 15) & 0x01) != 0)
28012            }
28013            ///Bit 14 - G4_IO3
28014            #[inline(always)]
28015            pub fn g4_io3(&self) -> G4_IO3_R {
28016                G4_IO3_R::new(((self.bits >> 14) & 0x01) != 0)
28017            }
28018            ///Bit 13 - G4_IO2
28019            #[inline(always)]
28020            pub fn g4_io2(&self) -> G4_IO2_R {
28021                G4_IO2_R::new(((self.bits >> 13) & 0x01) != 0)
28022            }
28023            ///Bit 12 - G4_IO1
28024            #[inline(always)]
28025            pub fn g4_io1(&self) -> G4_IO1_R {
28026                G4_IO1_R::new(((self.bits >> 12) & 0x01) != 0)
28027            }
28028            ///Bit 11 - G3_IO4
28029            #[inline(always)]
28030            pub fn g3_io4(&self) -> G3_IO4_R {
28031                G3_IO4_R::new(((self.bits >> 11) & 0x01) != 0)
28032            }
28033            ///Bit 10 - G3_IO3
28034            #[inline(always)]
28035            pub fn g3_io3(&self) -> G3_IO3_R {
28036                G3_IO3_R::new(((self.bits >> 10) & 0x01) != 0)
28037            }
28038            ///Bit 9 - G3_IO2
28039            #[inline(always)]
28040            pub fn g3_io2(&self) -> G3_IO2_R {
28041                G3_IO2_R::new(((self.bits >> 9) & 0x01) != 0)
28042            }
28043            ///Bit 8 - G3_IO1
28044            #[inline(always)]
28045            pub fn g3_io1(&self) -> G3_IO1_R {
28046                G3_IO1_R::new(((self.bits >> 8) & 0x01) != 0)
28047            }
28048            ///Bit 7 - G2_IO4
28049            #[inline(always)]
28050            pub fn g2_io4(&self) -> G2_IO4_R {
28051                G2_IO4_R::new(((self.bits >> 7) & 0x01) != 0)
28052            }
28053            ///Bit 6 - G2_IO3
28054            #[inline(always)]
28055            pub fn g2_io3(&self) -> G2_IO3_R {
28056                G2_IO3_R::new(((self.bits >> 6) & 0x01) != 0)
28057            }
28058            ///Bit 5 - G2_IO2
28059            #[inline(always)]
28060            pub fn g2_io2(&self) -> G2_IO2_R {
28061                G2_IO2_R::new(((self.bits >> 5) & 0x01) != 0)
28062            }
28063            ///Bit 4 - G2_IO1
28064            #[inline(always)]
28065            pub fn g2_io1(&self) -> G2_IO1_R {
28066                G2_IO1_R::new(((self.bits >> 4) & 0x01) != 0)
28067            }
28068            ///Bit 3 - G1_IO4
28069            #[inline(always)]
28070            pub fn g1_io4(&self) -> G1_IO4_R {
28071                G1_IO4_R::new(((self.bits >> 3) & 0x01) != 0)
28072            }
28073            ///Bit 2 - G1_IO3
28074            #[inline(always)]
28075            pub fn g1_io3(&self) -> G1_IO3_R {
28076                G1_IO3_R::new(((self.bits >> 2) & 0x01) != 0)
28077            }
28078            ///Bit 1 - G1_IO2
28079            #[inline(always)]
28080            pub fn g1_io2(&self) -> G1_IO2_R {
28081                G1_IO2_R::new(((self.bits >> 1) & 0x01) != 0)
28082            }
28083            ///Bit 0 - G1_IO1
28084            #[inline(always)]
28085            pub fn g1_io1(&self) -> G1_IO1_R {
28086                G1_IO1_R::new((self.bits & 0x01) != 0)
28087            }
28088        }
28089        impl W {
28090            ///Bit 27 - G7_IO4
28091            #[inline(always)]
28092            pub fn g7_io4(&mut self) -> G7_IO4_W {
28093                G7_IO4_W { w: self }
28094            }
28095            ///Bit 26 - G7_IO3
28096            #[inline(always)]
28097            pub fn g7_io3(&mut self) -> G7_IO3_W {
28098                G7_IO3_W { w: self }
28099            }
28100            ///Bit 25 - G7_IO2
28101            #[inline(always)]
28102            pub fn g7_io2(&mut self) -> G7_IO2_W {
28103                G7_IO2_W { w: self }
28104            }
28105            ///Bit 24 - G7_IO1
28106            #[inline(always)]
28107            pub fn g7_io1(&mut self) -> G7_IO1_W {
28108                G7_IO1_W { w: self }
28109            }
28110            ///Bit 23 - G6_IO4
28111            #[inline(always)]
28112            pub fn g6_io4(&mut self) -> G6_IO4_W {
28113                G6_IO4_W { w: self }
28114            }
28115            ///Bit 22 - G6_IO3
28116            #[inline(always)]
28117            pub fn g6_io3(&mut self) -> G6_IO3_W {
28118                G6_IO3_W { w: self }
28119            }
28120            ///Bit 21 - G6_IO2
28121            #[inline(always)]
28122            pub fn g6_io2(&mut self) -> G6_IO2_W {
28123                G6_IO2_W { w: self }
28124            }
28125            ///Bit 20 - G6_IO1
28126            #[inline(always)]
28127            pub fn g6_io1(&mut self) -> G6_IO1_W {
28128                G6_IO1_W { w: self }
28129            }
28130            ///Bit 19 - G5_IO4
28131            #[inline(always)]
28132            pub fn g5_io4(&mut self) -> G5_IO4_W {
28133                G5_IO4_W { w: self }
28134            }
28135            ///Bit 18 - G5_IO3
28136            #[inline(always)]
28137            pub fn g5_io3(&mut self) -> G5_IO3_W {
28138                G5_IO3_W { w: self }
28139            }
28140            ///Bit 17 - G5_IO2
28141            #[inline(always)]
28142            pub fn g5_io2(&mut self) -> G5_IO2_W {
28143                G5_IO2_W { w: self }
28144            }
28145            ///Bit 16 - G5_IO1
28146            #[inline(always)]
28147            pub fn g5_io1(&mut self) -> G5_IO1_W {
28148                G5_IO1_W { w: self }
28149            }
28150            ///Bit 15 - G4_IO4
28151            #[inline(always)]
28152            pub fn g4_io4(&mut self) -> G4_IO4_W {
28153                G4_IO4_W { w: self }
28154            }
28155            ///Bit 14 - G4_IO3
28156            #[inline(always)]
28157            pub fn g4_io3(&mut self) -> G4_IO3_W {
28158                G4_IO3_W { w: self }
28159            }
28160            ///Bit 13 - G4_IO2
28161            #[inline(always)]
28162            pub fn g4_io2(&mut self) -> G4_IO2_W {
28163                G4_IO2_W { w: self }
28164            }
28165            ///Bit 12 - G4_IO1
28166            #[inline(always)]
28167            pub fn g4_io1(&mut self) -> G4_IO1_W {
28168                G4_IO1_W { w: self }
28169            }
28170            ///Bit 11 - G3_IO4
28171            #[inline(always)]
28172            pub fn g3_io4(&mut self) -> G3_IO4_W {
28173                G3_IO4_W { w: self }
28174            }
28175            ///Bit 10 - G3_IO3
28176            #[inline(always)]
28177            pub fn g3_io3(&mut self) -> G3_IO3_W {
28178                G3_IO3_W { w: self }
28179            }
28180            ///Bit 9 - G3_IO2
28181            #[inline(always)]
28182            pub fn g3_io2(&mut self) -> G3_IO2_W {
28183                G3_IO2_W { w: self }
28184            }
28185            ///Bit 8 - G3_IO1
28186            #[inline(always)]
28187            pub fn g3_io1(&mut self) -> G3_IO1_W {
28188                G3_IO1_W { w: self }
28189            }
28190            ///Bit 7 - G2_IO4
28191            #[inline(always)]
28192            pub fn g2_io4(&mut self) -> G2_IO4_W {
28193                G2_IO4_W { w: self }
28194            }
28195            ///Bit 6 - G2_IO3
28196            #[inline(always)]
28197            pub fn g2_io3(&mut self) -> G2_IO3_W {
28198                G2_IO3_W { w: self }
28199            }
28200            ///Bit 5 - G2_IO2
28201            #[inline(always)]
28202            pub fn g2_io2(&mut self) -> G2_IO2_W {
28203                G2_IO2_W { w: self }
28204            }
28205            ///Bit 4 - G2_IO1
28206            #[inline(always)]
28207            pub fn g2_io1(&mut self) -> G2_IO1_W {
28208                G2_IO1_W { w: self }
28209            }
28210            ///Bit 3 - G1_IO4
28211            #[inline(always)]
28212            pub fn g1_io4(&mut self) -> G1_IO4_W {
28213                G1_IO4_W { w: self }
28214            }
28215            ///Bit 2 - G1_IO3
28216            #[inline(always)]
28217            pub fn g1_io3(&mut self) -> G1_IO3_W {
28218                G1_IO3_W { w: self }
28219            }
28220            ///Bit 1 - G1_IO2
28221            #[inline(always)]
28222            pub fn g1_io2(&mut self) -> G1_IO2_W {
28223                G1_IO2_W { w: self }
28224            }
28225            ///Bit 0 - G1_IO1
28226            #[inline(always)]
28227            pub fn g1_io1(&mut self) -> G1_IO1_W {
28228                G1_IO1_W { w: self }
28229            }
28230        }
28231    }
28232    ///I/O sampling control register
28233    ///
28234    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
28235    ///
28236    ///For information about available fields see [ioscr](ioscr) module
28237    pub type IOSCR = crate::Reg<u32, _IOSCR>;
28238    #[allow(missing_docs)]
28239    #[doc(hidden)]
28240    pub struct _IOSCR;
28241    ///`read()` method returns [ioscr::R](ioscr::R) reader structure
28242    impl crate::Readable for IOSCR {}
28243    ///`write(|w| ..)` method takes [ioscr::W](ioscr::W) writer structure
28244    impl crate::Writable for IOSCR {}
28245    ///I/O sampling control register
28246    pub mod ioscr {
28247        ///Reader of register IOSCR
28248        pub type R = crate::R<u32, super::IOSCR>;
28249        ///Writer for register IOSCR
28250        pub type W = crate::W<u32, super::IOSCR>;
28251        ///Register IOSCR `reset()`'s with value 0
28252        impl crate::ResetValue for super::IOSCR {
28253            type Type = u32;
28254            #[inline(always)]
28255            fn reset_value() -> Self::Type {
28256                0
28257            }
28258        }
28259        ///Reader of field `G7_IO4`
28260        pub type G7_IO4_R = crate::R<bool, bool>;
28261        ///Write proxy for field `G7_IO4`
28262        pub struct G7_IO4_W<'a> {
28263            w: &'a mut W,
28264        }
28265        impl<'a> G7_IO4_W<'a> {
28266            ///Sets the field bit
28267            #[inline(always)]
28268            pub fn set_bit(self) -> &'a mut W {
28269                self.bit(true)
28270            }
28271            ///Clears the field bit
28272            #[inline(always)]
28273            pub fn clear_bit(self) -> &'a mut W {
28274                self.bit(false)
28275            }
28276            ///Writes raw bits to the field
28277            #[inline(always)]
28278            pub fn bit(self, value: bool) -> &'a mut W {
28279                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
28280                self.w
28281            }
28282        }
28283        ///Reader of field `G7_IO3`
28284        pub type G7_IO3_R = crate::R<bool, bool>;
28285        ///Write proxy for field `G7_IO3`
28286        pub struct G7_IO3_W<'a> {
28287            w: &'a mut W,
28288        }
28289        impl<'a> G7_IO3_W<'a> {
28290            ///Sets the field bit
28291            #[inline(always)]
28292            pub fn set_bit(self) -> &'a mut W {
28293                self.bit(true)
28294            }
28295            ///Clears the field bit
28296            #[inline(always)]
28297            pub fn clear_bit(self) -> &'a mut W {
28298                self.bit(false)
28299            }
28300            ///Writes raw bits to the field
28301            #[inline(always)]
28302            pub fn bit(self, value: bool) -> &'a mut W {
28303                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
28304                self.w
28305            }
28306        }
28307        ///Reader of field `G7_IO2`
28308        pub type G7_IO2_R = crate::R<bool, bool>;
28309        ///Write proxy for field `G7_IO2`
28310        pub struct G7_IO2_W<'a> {
28311            w: &'a mut W,
28312        }
28313        impl<'a> G7_IO2_W<'a> {
28314            ///Sets the field bit
28315            #[inline(always)]
28316            pub fn set_bit(self) -> &'a mut W {
28317                self.bit(true)
28318            }
28319            ///Clears the field bit
28320            #[inline(always)]
28321            pub fn clear_bit(self) -> &'a mut W {
28322                self.bit(false)
28323            }
28324            ///Writes raw bits to the field
28325            #[inline(always)]
28326            pub fn bit(self, value: bool) -> &'a mut W {
28327                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
28328                self.w
28329            }
28330        }
28331        ///Reader of field `G7_IO1`
28332        pub type G7_IO1_R = crate::R<bool, bool>;
28333        ///Write proxy for field `G7_IO1`
28334        pub struct G7_IO1_W<'a> {
28335            w: &'a mut W,
28336        }
28337        impl<'a> G7_IO1_W<'a> {
28338            ///Sets the field bit
28339            #[inline(always)]
28340            pub fn set_bit(self) -> &'a mut W {
28341                self.bit(true)
28342            }
28343            ///Clears the field bit
28344            #[inline(always)]
28345            pub fn clear_bit(self) -> &'a mut W {
28346                self.bit(false)
28347            }
28348            ///Writes raw bits to the field
28349            #[inline(always)]
28350            pub fn bit(self, value: bool) -> &'a mut W {
28351                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
28352                self.w
28353            }
28354        }
28355        ///Reader of field `G6_IO4`
28356        pub type G6_IO4_R = crate::R<bool, bool>;
28357        ///Write proxy for field `G6_IO4`
28358        pub struct G6_IO4_W<'a> {
28359            w: &'a mut W,
28360        }
28361        impl<'a> G6_IO4_W<'a> {
28362            ///Sets the field bit
28363            #[inline(always)]
28364            pub fn set_bit(self) -> &'a mut W {
28365                self.bit(true)
28366            }
28367            ///Clears the field bit
28368            #[inline(always)]
28369            pub fn clear_bit(self) -> &'a mut W {
28370                self.bit(false)
28371            }
28372            ///Writes raw bits to the field
28373            #[inline(always)]
28374            pub fn bit(self, value: bool) -> &'a mut W {
28375                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
28376                self.w
28377            }
28378        }
28379        ///Reader of field `G6_IO3`
28380        pub type G6_IO3_R = crate::R<bool, bool>;
28381        ///Write proxy for field `G6_IO3`
28382        pub struct G6_IO3_W<'a> {
28383            w: &'a mut W,
28384        }
28385        impl<'a> G6_IO3_W<'a> {
28386            ///Sets the field bit
28387            #[inline(always)]
28388            pub fn set_bit(self) -> &'a mut W {
28389                self.bit(true)
28390            }
28391            ///Clears the field bit
28392            #[inline(always)]
28393            pub fn clear_bit(self) -> &'a mut W {
28394                self.bit(false)
28395            }
28396            ///Writes raw bits to the field
28397            #[inline(always)]
28398            pub fn bit(self, value: bool) -> &'a mut W {
28399                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
28400                self.w
28401            }
28402        }
28403        ///Reader of field `G6_IO2`
28404        pub type G6_IO2_R = crate::R<bool, bool>;
28405        ///Write proxy for field `G6_IO2`
28406        pub struct G6_IO2_W<'a> {
28407            w: &'a mut W,
28408        }
28409        impl<'a> G6_IO2_W<'a> {
28410            ///Sets the field bit
28411            #[inline(always)]
28412            pub fn set_bit(self) -> &'a mut W {
28413                self.bit(true)
28414            }
28415            ///Clears the field bit
28416            #[inline(always)]
28417            pub fn clear_bit(self) -> &'a mut W {
28418                self.bit(false)
28419            }
28420            ///Writes raw bits to the field
28421            #[inline(always)]
28422            pub fn bit(self, value: bool) -> &'a mut W {
28423                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
28424                self.w
28425            }
28426        }
28427        ///Reader of field `G6_IO1`
28428        pub type G6_IO1_R = crate::R<bool, bool>;
28429        ///Write proxy for field `G6_IO1`
28430        pub struct G6_IO1_W<'a> {
28431            w: &'a mut W,
28432        }
28433        impl<'a> G6_IO1_W<'a> {
28434            ///Sets the field bit
28435            #[inline(always)]
28436            pub fn set_bit(self) -> &'a mut W {
28437                self.bit(true)
28438            }
28439            ///Clears the field bit
28440            #[inline(always)]
28441            pub fn clear_bit(self) -> &'a mut W {
28442                self.bit(false)
28443            }
28444            ///Writes raw bits to the field
28445            #[inline(always)]
28446            pub fn bit(self, value: bool) -> &'a mut W {
28447                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
28448                self.w
28449            }
28450        }
28451        ///Reader of field `G5_IO4`
28452        pub type G5_IO4_R = crate::R<bool, bool>;
28453        ///Write proxy for field `G5_IO4`
28454        pub struct G5_IO4_W<'a> {
28455            w: &'a mut W,
28456        }
28457        impl<'a> G5_IO4_W<'a> {
28458            ///Sets the field bit
28459            #[inline(always)]
28460            pub fn set_bit(self) -> &'a mut W {
28461                self.bit(true)
28462            }
28463            ///Clears the field bit
28464            #[inline(always)]
28465            pub fn clear_bit(self) -> &'a mut W {
28466                self.bit(false)
28467            }
28468            ///Writes raw bits to the field
28469            #[inline(always)]
28470            pub fn bit(self, value: bool) -> &'a mut W {
28471                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
28472                self.w
28473            }
28474        }
28475        ///Reader of field `G5_IO3`
28476        pub type G5_IO3_R = crate::R<bool, bool>;
28477        ///Write proxy for field `G5_IO3`
28478        pub struct G5_IO3_W<'a> {
28479            w: &'a mut W,
28480        }
28481        impl<'a> G5_IO3_W<'a> {
28482            ///Sets the field bit
28483            #[inline(always)]
28484            pub fn set_bit(self) -> &'a mut W {
28485                self.bit(true)
28486            }
28487            ///Clears the field bit
28488            #[inline(always)]
28489            pub fn clear_bit(self) -> &'a mut W {
28490                self.bit(false)
28491            }
28492            ///Writes raw bits to the field
28493            #[inline(always)]
28494            pub fn bit(self, value: bool) -> &'a mut W {
28495                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
28496                self.w
28497            }
28498        }
28499        ///Reader of field `G5_IO2`
28500        pub type G5_IO2_R = crate::R<bool, bool>;
28501        ///Write proxy for field `G5_IO2`
28502        pub struct G5_IO2_W<'a> {
28503            w: &'a mut W,
28504        }
28505        impl<'a> G5_IO2_W<'a> {
28506            ///Sets the field bit
28507            #[inline(always)]
28508            pub fn set_bit(self) -> &'a mut W {
28509                self.bit(true)
28510            }
28511            ///Clears the field bit
28512            #[inline(always)]
28513            pub fn clear_bit(self) -> &'a mut W {
28514                self.bit(false)
28515            }
28516            ///Writes raw bits to the field
28517            #[inline(always)]
28518            pub fn bit(self, value: bool) -> &'a mut W {
28519                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
28520                self.w
28521            }
28522        }
28523        ///Reader of field `G5_IO1`
28524        pub type G5_IO1_R = crate::R<bool, bool>;
28525        ///Write proxy for field `G5_IO1`
28526        pub struct G5_IO1_W<'a> {
28527            w: &'a mut W,
28528        }
28529        impl<'a> G5_IO1_W<'a> {
28530            ///Sets the field bit
28531            #[inline(always)]
28532            pub fn set_bit(self) -> &'a mut W {
28533                self.bit(true)
28534            }
28535            ///Clears the field bit
28536            #[inline(always)]
28537            pub fn clear_bit(self) -> &'a mut W {
28538                self.bit(false)
28539            }
28540            ///Writes raw bits to the field
28541            #[inline(always)]
28542            pub fn bit(self, value: bool) -> &'a mut W {
28543                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
28544                self.w
28545            }
28546        }
28547        ///Reader of field `G4_IO4`
28548        pub type G4_IO4_R = crate::R<bool, bool>;
28549        ///Write proxy for field `G4_IO4`
28550        pub struct G4_IO4_W<'a> {
28551            w: &'a mut W,
28552        }
28553        impl<'a> G4_IO4_W<'a> {
28554            ///Sets the field bit
28555            #[inline(always)]
28556            pub fn set_bit(self) -> &'a mut W {
28557                self.bit(true)
28558            }
28559            ///Clears the field bit
28560            #[inline(always)]
28561            pub fn clear_bit(self) -> &'a mut W {
28562                self.bit(false)
28563            }
28564            ///Writes raw bits to the field
28565            #[inline(always)]
28566            pub fn bit(self, value: bool) -> &'a mut W {
28567                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
28568                self.w
28569            }
28570        }
28571        ///Reader of field `G4_IO3`
28572        pub type G4_IO3_R = crate::R<bool, bool>;
28573        ///Write proxy for field `G4_IO3`
28574        pub struct G4_IO3_W<'a> {
28575            w: &'a mut W,
28576        }
28577        impl<'a> G4_IO3_W<'a> {
28578            ///Sets the field bit
28579            #[inline(always)]
28580            pub fn set_bit(self) -> &'a mut W {
28581                self.bit(true)
28582            }
28583            ///Clears the field bit
28584            #[inline(always)]
28585            pub fn clear_bit(self) -> &'a mut W {
28586                self.bit(false)
28587            }
28588            ///Writes raw bits to the field
28589            #[inline(always)]
28590            pub fn bit(self, value: bool) -> &'a mut W {
28591                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
28592                self.w
28593            }
28594        }
28595        ///Reader of field `G4_IO2`
28596        pub type G4_IO2_R = crate::R<bool, bool>;
28597        ///Write proxy for field `G4_IO2`
28598        pub struct G4_IO2_W<'a> {
28599            w: &'a mut W,
28600        }
28601        impl<'a> G4_IO2_W<'a> {
28602            ///Sets the field bit
28603            #[inline(always)]
28604            pub fn set_bit(self) -> &'a mut W {
28605                self.bit(true)
28606            }
28607            ///Clears the field bit
28608            #[inline(always)]
28609            pub fn clear_bit(self) -> &'a mut W {
28610                self.bit(false)
28611            }
28612            ///Writes raw bits to the field
28613            #[inline(always)]
28614            pub fn bit(self, value: bool) -> &'a mut W {
28615                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
28616                self.w
28617            }
28618        }
28619        ///Reader of field `G4_IO1`
28620        pub type G4_IO1_R = crate::R<bool, bool>;
28621        ///Write proxy for field `G4_IO1`
28622        pub struct G4_IO1_W<'a> {
28623            w: &'a mut W,
28624        }
28625        impl<'a> G4_IO1_W<'a> {
28626            ///Sets the field bit
28627            #[inline(always)]
28628            pub fn set_bit(self) -> &'a mut W {
28629                self.bit(true)
28630            }
28631            ///Clears the field bit
28632            #[inline(always)]
28633            pub fn clear_bit(self) -> &'a mut W {
28634                self.bit(false)
28635            }
28636            ///Writes raw bits to the field
28637            #[inline(always)]
28638            pub fn bit(self, value: bool) -> &'a mut W {
28639                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
28640                self.w
28641            }
28642        }
28643        ///Reader of field `G3_IO4`
28644        pub type G3_IO4_R = crate::R<bool, bool>;
28645        ///Write proxy for field `G3_IO4`
28646        pub struct G3_IO4_W<'a> {
28647            w: &'a mut W,
28648        }
28649        impl<'a> G3_IO4_W<'a> {
28650            ///Sets the field bit
28651            #[inline(always)]
28652            pub fn set_bit(self) -> &'a mut W {
28653                self.bit(true)
28654            }
28655            ///Clears the field bit
28656            #[inline(always)]
28657            pub fn clear_bit(self) -> &'a mut W {
28658                self.bit(false)
28659            }
28660            ///Writes raw bits to the field
28661            #[inline(always)]
28662            pub fn bit(self, value: bool) -> &'a mut W {
28663                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
28664                self.w
28665            }
28666        }
28667        ///Reader of field `G3_IO3`
28668        pub type G3_IO3_R = crate::R<bool, bool>;
28669        ///Write proxy for field `G3_IO3`
28670        pub struct G3_IO3_W<'a> {
28671            w: &'a mut W,
28672        }
28673        impl<'a> G3_IO3_W<'a> {
28674            ///Sets the field bit
28675            #[inline(always)]
28676            pub fn set_bit(self) -> &'a mut W {
28677                self.bit(true)
28678            }
28679            ///Clears the field bit
28680            #[inline(always)]
28681            pub fn clear_bit(self) -> &'a mut W {
28682                self.bit(false)
28683            }
28684            ///Writes raw bits to the field
28685            #[inline(always)]
28686            pub fn bit(self, value: bool) -> &'a mut W {
28687                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
28688                self.w
28689            }
28690        }
28691        ///Reader of field `G3_IO2`
28692        pub type G3_IO2_R = crate::R<bool, bool>;
28693        ///Write proxy for field `G3_IO2`
28694        pub struct G3_IO2_W<'a> {
28695            w: &'a mut W,
28696        }
28697        impl<'a> G3_IO2_W<'a> {
28698            ///Sets the field bit
28699            #[inline(always)]
28700            pub fn set_bit(self) -> &'a mut W {
28701                self.bit(true)
28702            }
28703            ///Clears the field bit
28704            #[inline(always)]
28705            pub fn clear_bit(self) -> &'a mut W {
28706                self.bit(false)
28707            }
28708            ///Writes raw bits to the field
28709            #[inline(always)]
28710            pub fn bit(self, value: bool) -> &'a mut W {
28711                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
28712                self.w
28713            }
28714        }
28715        ///Reader of field `G3_IO1`
28716        pub type G3_IO1_R = crate::R<bool, bool>;
28717        ///Write proxy for field `G3_IO1`
28718        pub struct G3_IO1_W<'a> {
28719            w: &'a mut W,
28720        }
28721        impl<'a> G3_IO1_W<'a> {
28722            ///Sets the field bit
28723            #[inline(always)]
28724            pub fn set_bit(self) -> &'a mut W {
28725                self.bit(true)
28726            }
28727            ///Clears the field bit
28728            #[inline(always)]
28729            pub fn clear_bit(self) -> &'a mut W {
28730                self.bit(false)
28731            }
28732            ///Writes raw bits to the field
28733            #[inline(always)]
28734            pub fn bit(self, value: bool) -> &'a mut W {
28735                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
28736                self.w
28737            }
28738        }
28739        ///Reader of field `G2_IO4`
28740        pub type G2_IO4_R = crate::R<bool, bool>;
28741        ///Write proxy for field `G2_IO4`
28742        pub struct G2_IO4_W<'a> {
28743            w: &'a mut W,
28744        }
28745        impl<'a> G2_IO4_W<'a> {
28746            ///Sets the field bit
28747            #[inline(always)]
28748            pub fn set_bit(self) -> &'a mut W {
28749                self.bit(true)
28750            }
28751            ///Clears the field bit
28752            #[inline(always)]
28753            pub fn clear_bit(self) -> &'a mut W {
28754                self.bit(false)
28755            }
28756            ///Writes raw bits to the field
28757            #[inline(always)]
28758            pub fn bit(self, value: bool) -> &'a mut W {
28759                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
28760                self.w
28761            }
28762        }
28763        ///Reader of field `G2_IO3`
28764        pub type G2_IO3_R = crate::R<bool, bool>;
28765        ///Write proxy for field `G2_IO3`
28766        pub struct G2_IO3_W<'a> {
28767            w: &'a mut W,
28768        }
28769        impl<'a> G2_IO3_W<'a> {
28770            ///Sets the field bit
28771            #[inline(always)]
28772            pub fn set_bit(self) -> &'a mut W {
28773                self.bit(true)
28774            }
28775            ///Clears the field bit
28776            #[inline(always)]
28777            pub fn clear_bit(self) -> &'a mut W {
28778                self.bit(false)
28779            }
28780            ///Writes raw bits to the field
28781            #[inline(always)]
28782            pub fn bit(self, value: bool) -> &'a mut W {
28783                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
28784                self.w
28785            }
28786        }
28787        ///Reader of field `G2_IO2`
28788        pub type G2_IO2_R = crate::R<bool, bool>;
28789        ///Write proxy for field `G2_IO2`
28790        pub struct G2_IO2_W<'a> {
28791            w: &'a mut W,
28792        }
28793        impl<'a> G2_IO2_W<'a> {
28794            ///Sets the field bit
28795            #[inline(always)]
28796            pub fn set_bit(self) -> &'a mut W {
28797                self.bit(true)
28798            }
28799            ///Clears the field bit
28800            #[inline(always)]
28801            pub fn clear_bit(self) -> &'a mut W {
28802                self.bit(false)
28803            }
28804            ///Writes raw bits to the field
28805            #[inline(always)]
28806            pub fn bit(self, value: bool) -> &'a mut W {
28807                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
28808                self.w
28809            }
28810        }
28811        ///Reader of field `G2_IO1`
28812        pub type G2_IO1_R = crate::R<bool, bool>;
28813        ///Write proxy for field `G2_IO1`
28814        pub struct G2_IO1_W<'a> {
28815            w: &'a mut W,
28816        }
28817        impl<'a> G2_IO1_W<'a> {
28818            ///Sets the field bit
28819            #[inline(always)]
28820            pub fn set_bit(self) -> &'a mut W {
28821                self.bit(true)
28822            }
28823            ///Clears the field bit
28824            #[inline(always)]
28825            pub fn clear_bit(self) -> &'a mut W {
28826                self.bit(false)
28827            }
28828            ///Writes raw bits to the field
28829            #[inline(always)]
28830            pub fn bit(self, value: bool) -> &'a mut W {
28831                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
28832                self.w
28833            }
28834        }
28835        ///Reader of field `G1_IO4`
28836        pub type G1_IO4_R = crate::R<bool, bool>;
28837        ///Write proxy for field `G1_IO4`
28838        pub struct G1_IO4_W<'a> {
28839            w: &'a mut W,
28840        }
28841        impl<'a> G1_IO4_W<'a> {
28842            ///Sets the field bit
28843            #[inline(always)]
28844            pub fn set_bit(self) -> &'a mut W {
28845                self.bit(true)
28846            }
28847            ///Clears the field bit
28848            #[inline(always)]
28849            pub fn clear_bit(self) -> &'a mut W {
28850                self.bit(false)
28851            }
28852            ///Writes raw bits to the field
28853            #[inline(always)]
28854            pub fn bit(self, value: bool) -> &'a mut W {
28855                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
28856                self.w
28857            }
28858        }
28859        ///Reader of field `G1_IO3`
28860        pub type G1_IO3_R = crate::R<bool, bool>;
28861        ///Write proxy for field `G1_IO3`
28862        pub struct G1_IO3_W<'a> {
28863            w: &'a mut W,
28864        }
28865        impl<'a> G1_IO3_W<'a> {
28866            ///Sets the field bit
28867            #[inline(always)]
28868            pub fn set_bit(self) -> &'a mut W {
28869                self.bit(true)
28870            }
28871            ///Clears the field bit
28872            #[inline(always)]
28873            pub fn clear_bit(self) -> &'a mut W {
28874                self.bit(false)
28875            }
28876            ///Writes raw bits to the field
28877            #[inline(always)]
28878            pub fn bit(self, value: bool) -> &'a mut W {
28879                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
28880                self.w
28881            }
28882        }
28883        ///Reader of field `G1_IO2`
28884        pub type G1_IO2_R = crate::R<bool, bool>;
28885        ///Write proxy for field `G1_IO2`
28886        pub struct G1_IO2_W<'a> {
28887            w: &'a mut W,
28888        }
28889        impl<'a> G1_IO2_W<'a> {
28890            ///Sets the field bit
28891            #[inline(always)]
28892            pub fn set_bit(self) -> &'a mut W {
28893                self.bit(true)
28894            }
28895            ///Clears the field bit
28896            #[inline(always)]
28897            pub fn clear_bit(self) -> &'a mut W {
28898                self.bit(false)
28899            }
28900            ///Writes raw bits to the field
28901            #[inline(always)]
28902            pub fn bit(self, value: bool) -> &'a mut W {
28903                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
28904                self.w
28905            }
28906        }
28907        ///Reader of field `G1_IO1`
28908        pub type G1_IO1_R = crate::R<bool, bool>;
28909        ///Write proxy for field `G1_IO1`
28910        pub struct G1_IO1_W<'a> {
28911            w: &'a mut W,
28912        }
28913        impl<'a> G1_IO1_W<'a> {
28914            ///Sets the field bit
28915            #[inline(always)]
28916            pub fn set_bit(self) -> &'a mut W {
28917                self.bit(true)
28918            }
28919            ///Clears the field bit
28920            #[inline(always)]
28921            pub fn clear_bit(self) -> &'a mut W {
28922                self.bit(false)
28923            }
28924            ///Writes raw bits to the field
28925            #[inline(always)]
28926            pub fn bit(self, value: bool) -> &'a mut W {
28927                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
28928                self.w
28929            }
28930        }
28931        impl R {
28932            ///Bit 27 - G7_IO4
28933            #[inline(always)]
28934            pub fn g7_io4(&self) -> G7_IO4_R {
28935                G7_IO4_R::new(((self.bits >> 27) & 0x01) != 0)
28936            }
28937            ///Bit 26 - G7_IO3
28938            #[inline(always)]
28939            pub fn g7_io3(&self) -> G7_IO3_R {
28940                G7_IO3_R::new(((self.bits >> 26) & 0x01) != 0)
28941            }
28942            ///Bit 25 - G7_IO2
28943            #[inline(always)]
28944            pub fn g7_io2(&self) -> G7_IO2_R {
28945                G7_IO2_R::new(((self.bits >> 25) & 0x01) != 0)
28946            }
28947            ///Bit 24 - G7_IO1
28948            #[inline(always)]
28949            pub fn g7_io1(&self) -> G7_IO1_R {
28950                G7_IO1_R::new(((self.bits >> 24) & 0x01) != 0)
28951            }
28952            ///Bit 23 - G6_IO4
28953            #[inline(always)]
28954            pub fn g6_io4(&self) -> G6_IO4_R {
28955                G6_IO4_R::new(((self.bits >> 23) & 0x01) != 0)
28956            }
28957            ///Bit 22 - G6_IO3
28958            #[inline(always)]
28959            pub fn g6_io3(&self) -> G6_IO3_R {
28960                G6_IO3_R::new(((self.bits >> 22) & 0x01) != 0)
28961            }
28962            ///Bit 21 - G6_IO2
28963            #[inline(always)]
28964            pub fn g6_io2(&self) -> G6_IO2_R {
28965                G6_IO2_R::new(((self.bits >> 21) & 0x01) != 0)
28966            }
28967            ///Bit 20 - G6_IO1
28968            #[inline(always)]
28969            pub fn g6_io1(&self) -> G6_IO1_R {
28970                G6_IO1_R::new(((self.bits >> 20) & 0x01) != 0)
28971            }
28972            ///Bit 19 - G5_IO4
28973            #[inline(always)]
28974            pub fn g5_io4(&self) -> G5_IO4_R {
28975                G5_IO4_R::new(((self.bits >> 19) & 0x01) != 0)
28976            }
28977            ///Bit 18 - G5_IO3
28978            #[inline(always)]
28979            pub fn g5_io3(&self) -> G5_IO3_R {
28980                G5_IO3_R::new(((self.bits >> 18) & 0x01) != 0)
28981            }
28982            ///Bit 17 - G5_IO2
28983            #[inline(always)]
28984            pub fn g5_io2(&self) -> G5_IO2_R {
28985                G5_IO2_R::new(((self.bits >> 17) & 0x01) != 0)
28986            }
28987            ///Bit 16 - G5_IO1
28988            #[inline(always)]
28989            pub fn g5_io1(&self) -> G5_IO1_R {
28990                G5_IO1_R::new(((self.bits >> 16) & 0x01) != 0)
28991            }
28992            ///Bit 15 - G4_IO4
28993            #[inline(always)]
28994            pub fn g4_io4(&self) -> G4_IO4_R {
28995                G4_IO4_R::new(((self.bits >> 15) & 0x01) != 0)
28996            }
28997            ///Bit 14 - G4_IO3
28998            #[inline(always)]
28999            pub fn g4_io3(&self) -> G4_IO3_R {
29000                G4_IO3_R::new(((self.bits >> 14) & 0x01) != 0)
29001            }
29002            ///Bit 13 - G4_IO2
29003            #[inline(always)]
29004            pub fn g4_io2(&self) -> G4_IO2_R {
29005                G4_IO2_R::new(((self.bits >> 13) & 0x01) != 0)
29006            }
29007            ///Bit 12 - G4_IO1
29008            #[inline(always)]
29009            pub fn g4_io1(&self) -> G4_IO1_R {
29010                G4_IO1_R::new(((self.bits >> 12) & 0x01) != 0)
29011            }
29012            ///Bit 11 - G3_IO4
29013            #[inline(always)]
29014            pub fn g3_io4(&self) -> G3_IO4_R {
29015                G3_IO4_R::new(((self.bits >> 11) & 0x01) != 0)
29016            }
29017            ///Bit 10 - G3_IO3
29018            #[inline(always)]
29019            pub fn g3_io3(&self) -> G3_IO3_R {
29020                G3_IO3_R::new(((self.bits >> 10) & 0x01) != 0)
29021            }
29022            ///Bit 9 - G3_IO2
29023            #[inline(always)]
29024            pub fn g3_io2(&self) -> G3_IO2_R {
29025                G3_IO2_R::new(((self.bits >> 9) & 0x01) != 0)
29026            }
29027            ///Bit 8 - G3_IO1
29028            #[inline(always)]
29029            pub fn g3_io1(&self) -> G3_IO1_R {
29030                G3_IO1_R::new(((self.bits >> 8) & 0x01) != 0)
29031            }
29032            ///Bit 7 - G2_IO4
29033            #[inline(always)]
29034            pub fn g2_io4(&self) -> G2_IO4_R {
29035                G2_IO4_R::new(((self.bits >> 7) & 0x01) != 0)
29036            }
29037            ///Bit 6 - G2_IO3
29038            #[inline(always)]
29039            pub fn g2_io3(&self) -> G2_IO3_R {
29040                G2_IO3_R::new(((self.bits >> 6) & 0x01) != 0)
29041            }
29042            ///Bit 5 - G2_IO2
29043            #[inline(always)]
29044            pub fn g2_io2(&self) -> G2_IO2_R {
29045                G2_IO2_R::new(((self.bits >> 5) & 0x01) != 0)
29046            }
29047            ///Bit 4 - G2_IO1
29048            #[inline(always)]
29049            pub fn g2_io1(&self) -> G2_IO1_R {
29050                G2_IO1_R::new(((self.bits >> 4) & 0x01) != 0)
29051            }
29052            ///Bit 3 - G1_IO4
29053            #[inline(always)]
29054            pub fn g1_io4(&self) -> G1_IO4_R {
29055                G1_IO4_R::new(((self.bits >> 3) & 0x01) != 0)
29056            }
29057            ///Bit 2 - G1_IO3
29058            #[inline(always)]
29059            pub fn g1_io3(&self) -> G1_IO3_R {
29060                G1_IO3_R::new(((self.bits >> 2) & 0x01) != 0)
29061            }
29062            ///Bit 1 - G1_IO2
29063            #[inline(always)]
29064            pub fn g1_io2(&self) -> G1_IO2_R {
29065                G1_IO2_R::new(((self.bits >> 1) & 0x01) != 0)
29066            }
29067            ///Bit 0 - G1_IO1
29068            #[inline(always)]
29069            pub fn g1_io1(&self) -> G1_IO1_R {
29070                G1_IO1_R::new((self.bits & 0x01) != 0)
29071            }
29072        }
29073        impl W {
29074            ///Bit 27 - G7_IO4
29075            #[inline(always)]
29076            pub fn g7_io4(&mut self) -> G7_IO4_W {
29077                G7_IO4_W { w: self }
29078            }
29079            ///Bit 26 - G7_IO3
29080            #[inline(always)]
29081            pub fn g7_io3(&mut self) -> G7_IO3_W {
29082                G7_IO3_W { w: self }
29083            }
29084            ///Bit 25 - G7_IO2
29085            #[inline(always)]
29086            pub fn g7_io2(&mut self) -> G7_IO2_W {
29087                G7_IO2_W { w: self }
29088            }
29089            ///Bit 24 - G7_IO1
29090            #[inline(always)]
29091            pub fn g7_io1(&mut self) -> G7_IO1_W {
29092                G7_IO1_W { w: self }
29093            }
29094            ///Bit 23 - G6_IO4
29095            #[inline(always)]
29096            pub fn g6_io4(&mut self) -> G6_IO4_W {
29097                G6_IO4_W { w: self }
29098            }
29099            ///Bit 22 - G6_IO3
29100            #[inline(always)]
29101            pub fn g6_io3(&mut self) -> G6_IO3_W {
29102                G6_IO3_W { w: self }
29103            }
29104            ///Bit 21 - G6_IO2
29105            #[inline(always)]
29106            pub fn g6_io2(&mut self) -> G6_IO2_W {
29107                G6_IO2_W { w: self }
29108            }
29109            ///Bit 20 - G6_IO1
29110            #[inline(always)]
29111            pub fn g6_io1(&mut self) -> G6_IO1_W {
29112                G6_IO1_W { w: self }
29113            }
29114            ///Bit 19 - G5_IO4
29115            #[inline(always)]
29116            pub fn g5_io4(&mut self) -> G5_IO4_W {
29117                G5_IO4_W { w: self }
29118            }
29119            ///Bit 18 - G5_IO3
29120            #[inline(always)]
29121            pub fn g5_io3(&mut self) -> G5_IO3_W {
29122                G5_IO3_W { w: self }
29123            }
29124            ///Bit 17 - G5_IO2
29125            #[inline(always)]
29126            pub fn g5_io2(&mut self) -> G5_IO2_W {
29127                G5_IO2_W { w: self }
29128            }
29129            ///Bit 16 - G5_IO1
29130            #[inline(always)]
29131            pub fn g5_io1(&mut self) -> G5_IO1_W {
29132                G5_IO1_W { w: self }
29133            }
29134            ///Bit 15 - G4_IO4
29135            #[inline(always)]
29136            pub fn g4_io4(&mut self) -> G4_IO4_W {
29137                G4_IO4_W { w: self }
29138            }
29139            ///Bit 14 - G4_IO3
29140            #[inline(always)]
29141            pub fn g4_io3(&mut self) -> G4_IO3_W {
29142                G4_IO3_W { w: self }
29143            }
29144            ///Bit 13 - G4_IO2
29145            #[inline(always)]
29146            pub fn g4_io2(&mut self) -> G4_IO2_W {
29147                G4_IO2_W { w: self }
29148            }
29149            ///Bit 12 - G4_IO1
29150            #[inline(always)]
29151            pub fn g4_io1(&mut self) -> G4_IO1_W {
29152                G4_IO1_W { w: self }
29153            }
29154            ///Bit 11 - G3_IO4
29155            #[inline(always)]
29156            pub fn g3_io4(&mut self) -> G3_IO4_W {
29157                G3_IO4_W { w: self }
29158            }
29159            ///Bit 10 - G3_IO3
29160            #[inline(always)]
29161            pub fn g3_io3(&mut self) -> G3_IO3_W {
29162                G3_IO3_W { w: self }
29163            }
29164            ///Bit 9 - G3_IO2
29165            #[inline(always)]
29166            pub fn g3_io2(&mut self) -> G3_IO2_W {
29167                G3_IO2_W { w: self }
29168            }
29169            ///Bit 8 - G3_IO1
29170            #[inline(always)]
29171            pub fn g3_io1(&mut self) -> G3_IO1_W {
29172                G3_IO1_W { w: self }
29173            }
29174            ///Bit 7 - G2_IO4
29175            #[inline(always)]
29176            pub fn g2_io4(&mut self) -> G2_IO4_W {
29177                G2_IO4_W { w: self }
29178            }
29179            ///Bit 6 - G2_IO3
29180            #[inline(always)]
29181            pub fn g2_io3(&mut self) -> G2_IO3_W {
29182                G2_IO3_W { w: self }
29183            }
29184            ///Bit 5 - G2_IO2
29185            #[inline(always)]
29186            pub fn g2_io2(&mut self) -> G2_IO2_W {
29187                G2_IO2_W { w: self }
29188            }
29189            ///Bit 4 - G2_IO1
29190            #[inline(always)]
29191            pub fn g2_io1(&mut self) -> G2_IO1_W {
29192                G2_IO1_W { w: self }
29193            }
29194            ///Bit 3 - G1_IO4
29195            #[inline(always)]
29196            pub fn g1_io4(&mut self) -> G1_IO4_W {
29197                G1_IO4_W { w: self }
29198            }
29199            ///Bit 2 - G1_IO3
29200            #[inline(always)]
29201            pub fn g1_io3(&mut self) -> G1_IO3_W {
29202                G1_IO3_W { w: self }
29203            }
29204            ///Bit 1 - G1_IO2
29205            #[inline(always)]
29206            pub fn g1_io2(&mut self) -> G1_IO2_W {
29207                G1_IO2_W { w: self }
29208            }
29209            ///Bit 0 - G1_IO1
29210            #[inline(always)]
29211            pub fn g1_io1(&mut self) -> G1_IO1_W {
29212                G1_IO1_W { w: self }
29213            }
29214        }
29215    }
29216    ///I/O channel control register
29217    ///
29218    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
29219    ///
29220    ///For information about available fields see [ioccr](ioccr) module
29221    pub type IOCCR = crate::Reg<u32, _IOCCR>;
29222    #[allow(missing_docs)]
29223    #[doc(hidden)]
29224    pub struct _IOCCR;
29225    ///`read()` method returns [ioccr::R](ioccr::R) reader structure
29226    impl crate::Readable for IOCCR {}
29227    ///`write(|w| ..)` method takes [ioccr::W](ioccr::W) writer structure
29228    impl crate::Writable for IOCCR {}
29229    ///I/O channel control register
29230    pub mod ioccr {
29231        ///Reader of register IOCCR
29232        pub type R = crate::R<u32, super::IOCCR>;
29233        ///Writer for register IOCCR
29234        pub type W = crate::W<u32, super::IOCCR>;
29235        ///Register IOCCR `reset()`'s with value 0
29236        impl crate::ResetValue for super::IOCCR {
29237            type Type = u32;
29238            #[inline(always)]
29239            fn reset_value() -> Self::Type {
29240                0
29241            }
29242        }
29243        ///Reader of field `G7_IO4`
29244        pub type G7_IO4_R = crate::R<bool, bool>;
29245        ///Write proxy for field `G7_IO4`
29246        pub struct G7_IO4_W<'a> {
29247            w: &'a mut W,
29248        }
29249        impl<'a> G7_IO4_W<'a> {
29250            ///Sets the field bit
29251            #[inline(always)]
29252            pub fn set_bit(self) -> &'a mut W {
29253                self.bit(true)
29254            }
29255            ///Clears the field bit
29256            #[inline(always)]
29257            pub fn clear_bit(self) -> &'a mut W {
29258                self.bit(false)
29259            }
29260            ///Writes raw bits to the field
29261            #[inline(always)]
29262            pub fn bit(self, value: bool) -> &'a mut W {
29263                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
29264                self.w
29265            }
29266        }
29267        ///Reader of field `G7_IO3`
29268        pub type G7_IO3_R = crate::R<bool, bool>;
29269        ///Write proxy for field `G7_IO3`
29270        pub struct G7_IO3_W<'a> {
29271            w: &'a mut W,
29272        }
29273        impl<'a> G7_IO3_W<'a> {
29274            ///Sets the field bit
29275            #[inline(always)]
29276            pub fn set_bit(self) -> &'a mut W {
29277                self.bit(true)
29278            }
29279            ///Clears the field bit
29280            #[inline(always)]
29281            pub fn clear_bit(self) -> &'a mut W {
29282                self.bit(false)
29283            }
29284            ///Writes raw bits to the field
29285            #[inline(always)]
29286            pub fn bit(self, value: bool) -> &'a mut W {
29287                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
29288                self.w
29289            }
29290        }
29291        ///Reader of field `G7_IO2`
29292        pub type G7_IO2_R = crate::R<bool, bool>;
29293        ///Write proxy for field `G7_IO2`
29294        pub struct G7_IO2_W<'a> {
29295            w: &'a mut W,
29296        }
29297        impl<'a> G7_IO2_W<'a> {
29298            ///Sets the field bit
29299            #[inline(always)]
29300            pub fn set_bit(self) -> &'a mut W {
29301                self.bit(true)
29302            }
29303            ///Clears the field bit
29304            #[inline(always)]
29305            pub fn clear_bit(self) -> &'a mut W {
29306                self.bit(false)
29307            }
29308            ///Writes raw bits to the field
29309            #[inline(always)]
29310            pub fn bit(self, value: bool) -> &'a mut W {
29311                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
29312                self.w
29313            }
29314        }
29315        ///Reader of field `G7_IO1`
29316        pub type G7_IO1_R = crate::R<bool, bool>;
29317        ///Write proxy for field `G7_IO1`
29318        pub struct G7_IO1_W<'a> {
29319            w: &'a mut W,
29320        }
29321        impl<'a> G7_IO1_W<'a> {
29322            ///Sets the field bit
29323            #[inline(always)]
29324            pub fn set_bit(self) -> &'a mut W {
29325                self.bit(true)
29326            }
29327            ///Clears the field bit
29328            #[inline(always)]
29329            pub fn clear_bit(self) -> &'a mut W {
29330                self.bit(false)
29331            }
29332            ///Writes raw bits to the field
29333            #[inline(always)]
29334            pub fn bit(self, value: bool) -> &'a mut W {
29335                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
29336                self.w
29337            }
29338        }
29339        ///Reader of field `G6_IO4`
29340        pub type G6_IO4_R = crate::R<bool, bool>;
29341        ///Write proxy for field `G6_IO4`
29342        pub struct G6_IO4_W<'a> {
29343            w: &'a mut W,
29344        }
29345        impl<'a> G6_IO4_W<'a> {
29346            ///Sets the field bit
29347            #[inline(always)]
29348            pub fn set_bit(self) -> &'a mut W {
29349                self.bit(true)
29350            }
29351            ///Clears the field bit
29352            #[inline(always)]
29353            pub fn clear_bit(self) -> &'a mut W {
29354                self.bit(false)
29355            }
29356            ///Writes raw bits to the field
29357            #[inline(always)]
29358            pub fn bit(self, value: bool) -> &'a mut W {
29359                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
29360                self.w
29361            }
29362        }
29363        ///Reader of field `G6_IO3`
29364        pub type G6_IO3_R = crate::R<bool, bool>;
29365        ///Write proxy for field `G6_IO3`
29366        pub struct G6_IO3_W<'a> {
29367            w: &'a mut W,
29368        }
29369        impl<'a> G6_IO3_W<'a> {
29370            ///Sets the field bit
29371            #[inline(always)]
29372            pub fn set_bit(self) -> &'a mut W {
29373                self.bit(true)
29374            }
29375            ///Clears the field bit
29376            #[inline(always)]
29377            pub fn clear_bit(self) -> &'a mut W {
29378                self.bit(false)
29379            }
29380            ///Writes raw bits to the field
29381            #[inline(always)]
29382            pub fn bit(self, value: bool) -> &'a mut W {
29383                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
29384                self.w
29385            }
29386        }
29387        ///Reader of field `G6_IO2`
29388        pub type G6_IO2_R = crate::R<bool, bool>;
29389        ///Write proxy for field `G6_IO2`
29390        pub struct G6_IO2_W<'a> {
29391            w: &'a mut W,
29392        }
29393        impl<'a> G6_IO2_W<'a> {
29394            ///Sets the field bit
29395            #[inline(always)]
29396            pub fn set_bit(self) -> &'a mut W {
29397                self.bit(true)
29398            }
29399            ///Clears the field bit
29400            #[inline(always)]
29401            pub fn clear_bit(self) -> &'a mut W {
29402                self.bit(false)
29403            }
29404            ///Writes raw bits to the field
29405            #[inline(always)]
29406            pub fn bit(self, value: bool) -> &'a mut W {
29407                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
29408                self.w
29409            }
29410        }
29411        ///Reader of field `G6_IO1`
29412        pub type G6_IO1_R = crate::R<bool, bool>;
29413        ///Write proxy for field `G6_IO1`
29414        pub struct G6_IO1_W<'a> {
29415            w: &'a mut W,
29416        }
29417        impl<'a> G6_IO1_W<'a> {
29418            ///Sets the field bit
29419            #[inline(always)]
29420            pub fn set_bit(self) -> &'a mut W {
29421                self.bit(true)
29422            }
29423            ///Clears the field bit
29424            #[inline(always)]
29425            pub fn clear_bit(self) -> &'a mut W {
29426                self.bit(false)
29427            }
29428            ///Writes raw bits to the field
29429            #[inline(always)]
29430            pub fn bit(self, value: bool) -> &'a mut W {
29431                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
29432                self.w
29433            }
29434        }
29435        ///Reader of field `G5_IO4`
29436        pub type G5_IO4_R = crate::R<bool, bool>;
29437        ///Write proxy for field `G5_IO4`
29438        pub struct G5_IO4_W<'a> {
29439            w: &'a mut W,
29440        }
29441        impl<'a> G5_IO4_W<'a> {
29442            ///Sets the field bit
29443            #[inline(always)]
29444            pub fn set_bit(self) -> &'a mut W {
29445                self.bit(true)
29446            }
29447            ///Clears the field bit
29448            #[inline(always)]
29449            pub fn clear_bit(self) -> &'a mut W {
29450                self.bit(false)
29451            }
29452            ///Writes raw bits to the field
29453            #[inline(always)]
29454            pub fn bit(self, value: bool) -> &'a mut W {
29455                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
29456                self.w
29457            }
29458        }
29459        ///Reader of field `G5_IO3`
29460        pub type G5_IO3_R = crate::R<bool, bool>;
29461        ///Write proxy for field `G5_IO3`
29462        pub struct G5_IO3_W<'a> {
29463            w: &'a mut W,
29464        }
29465        impl<'a> G5_IO3_W<'a> {
29466            ///Sets the field bit
29467            #[inline(always)]
29468            pub fn set_bit(self) -> &'a mut W {
29469                self.bit(true)
29470            }
29471            ///Clears the field bit
29472            #[inline(always)]
29473            pub fn clear_bit(self) -> &'a mut W {
29474                self.bit(false)
29475            }
29476            ///Writes raw bits to the field
29477            #[inline(always)]
29478            pub fn bit(self, value: bool) -> &'a mut W {
29479                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
29480                self.w
29481            }
29482        }
29483        ///Reader of field `G5_IO2`
29484        pub type G5_IO2_R = crate::R<bool, bool>;
29485        ///Write proxy for field `G5_IO2`
29486        pub struct G5_IO2_W<'a> {
29487            w: &'a mut W,
29488        }
29489        impl<'a> G5_IO2_W<'a> {
29490            ///Sets the field bit
29491            #[inline(always)]
29492            pub fn set_bit(self) -> &'a mut W {
29493                self.bit(true)
29494            }
29495            ///Clears the field bit
29496            #[inline(always)]
29497            pub fn clear_bit(self) -> &'a mut W {
29498                self.bit(false)
29499            }
29500            ///Writes raw bits to the field
29501            #[inline(always)]
29502            pub fn bit(self, value: bool) -> &'a mut W {
29503                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
29504                self.w
29505            }
29506        }
29507        ///Reader of field `G5_IO1`
29508        pub type G5_IO1_R = crate::R<bool, bool>;
29509        ///Write proxy for field `G5_IO1`
29510        pub struct G5_IO1_W<'a> {
29511            w: &'a mut W,
29512        }
29513        impl<'a> G5_IO1_W<'a> {
29514            ///Sets the field bit
29515            #[inline(always)]
29516            pub fn set_bit(self) -> &'a mut W {
29517                self.bit(true)
29518            }
29519            ///Clears the field bit
29520            #[inline(always)]
29521            pub fn clear_bit(self) -> &'a mut W {
29522                self.bit(false)
29523            }
29524            ///Writes raw bits to the field
29525            #[inline(always)]
29526            pub fn bit(self, value: bool) -> &'a mut W {
29527                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
29528                self.w
29529            }
29530        }
29531        ///Reader of field `G4_IO4`
29532        pub type G4_IO4_R = crate::R<bool, bool>;
29533        ///Write proxy for field `G4_IO4`
29534        pub struct G4_IO4_W<'a> {
29535            w: &'a mut W,
29536        }
29537        impl<'a> G4_IO4_W<'a> {
29538            ///Sets the field bit
29539            #[inline(always)]
29540            pub fn set_bit(self) -> &'a mut W {
29541                self.bit(true)
29542            }
29543            ///Clears the field bit
29544            #[inline(always)]
29545            pub fn clear_bit(self) -> &'a mut W {
29546                self.bit(false)
29547            }
29548            ///Writes raw bits to the field
29549            #[inline(always)]
29550            pub fn bit(self, value: bool) -> &'a mut W {
29551                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
29552                self.w
29553            }
29554        }
29555        ///Reader of field `G4_IO3`
29556        pub type G4_IO3_R = crate::R<bool, bool>;
29557        ///Write proxy for field `G4_IO3`
29558        pub struct G4_IO3_W<'a> {
29559            w: &'a mut W,
29560        }
29561        impl<'a> G4_IO3_W<'a> {
29562            ///Sets the field bit
29563            #[inline(always)]
29564            pub fn set_bit(self) -> &'a mut W {
29565                self.bit(true)
29566            }
29567            ///Clears the field bit
29568            #[inline(always)]
29569            pub fn clear_bit(self) -> &'a mut W {
29570                self.bit(false)
29571            }
29572            ///Writes raw bits to the field
29573            #[inline(always)]
29574            pub fn bit(self, value: bool) -> &'a mut W {
29575                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
29576                self.w
29577            }
29578        }
29579        ///Reader of field `G4_IO2`
29580        pub type G4_IO2_R = crate::R<bool, bool>;
29581        ///Write proxy for field `G4_IO2`
29582        pub struct G4_IO2_W<'a> {
29583            w: &'a mut W,
29584        }
29585        impl<'a> G4_IO2_W<'a> {
29586            ///Sets the field bit
29587            #[inline(always)]
29588            pub fn set_bit(self) -> &'a mut W {
29589                self.bit(true)
29590            }
29591            ///Clears the field bit
29592            #[inline(always)]
29593            pub fn clear_bit(self) -> &'a mut W {
29594                self.bit(false)
29595            }
29596            ///Writes raw bits to the field
29597            #[inline(always)]
29598            pub fn bit(self, value: bool) -> &'a mut W {
29599                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
29600                self.w
29601            }
29602        }
29603        ///Reader of field `G4_IO1`
29604        pub type G4_IO1_R = crate::R<bool, bool>;
29605        ///Write proxy for field `G4_IO1`
29606        pub struct G4_IO1_W<'a> {
29607            w: &'a mut W,
29608        }
29609        impl<'a> G4_IO1_W<'a> {
29610            ///Sets the field bit
29611            #[inline(always)]
29612            pub fn set_bit(self) -> &'a mut W {
29613                self.bit(true)
29614            }
29615            ///Clears the field bit
29616            #[inline(always)]
29617            pub fn clear_bit(self) -> &'a mut W {
29618                self.bit(false)
29619            }
29620            ///Writes raw bits to the field
29621            #[inline(always)]
29622            pub fn bit(self, value: bool) -> &'a mut W {
29623                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
29624                self.w
29625            }
29626        }
29627        ///Reader of field `G3_IO4`
29628        pub type G3_IO4_R = crate::R<bool, bool>;
29629        ///Write proxy for field `G3_IO4`
29630        pub struct G3_IO4_W<'a> {
29631            w: &'a mut W,
29632        }
29633        impl<'a> G3_IO4_W<'a> {
29634            ///Sets the field bit
29635            #[inline(always)]
29636            pub fn set_bit(self) -> &'a mut W {
29637                self.bit(true)
29638            }
29639            ///Clears the field bit
29640            #[inline(always)]
29641            pub fn clear_bit(self) -> &'a mut W {
29642                self.bit(false)
29643            }
29644            ///Writes raw bits to the field
29645            #[inline(always)]
29646            pub fn bit(self, value: bool) -> &'a mut W {
29647                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
29648                self.w
29649            }
29650        }
29651        ///Reader of field `G3_IO3`
29652        pub type G3_IO3_R = crate::R<bool, bool>;
29653        ///Write proxy for field `G3_IO3`
29654        pub struct G3_IO3_W<'a> {
29655            w: &'a mut W,
29656        }
29657        impl<'a> G3_IO3_W<'a> {
29658            ///Sets the field bit
29659            #[inline(always)]
29660            pub fn set_bit(self) -> &'a mut W {
29661                self.bit(true)
29662            }
29663            ///Clears the field bit
29664            #[inline(always)]
29665            pub fn clear_bit(self) -> &'a mut W {
29666                self.bit(false)
29667            }
29668            ///Writes raw bits to the field
29669            #[inline(always)]
29670            pub fn bit(self, value: bool) -> &'a mut W {
29671                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
29672                self.w
29673            }
29674        }
29675        ///Reader of field `G3_IO2`
29676        pub type G3_IO2_R = crate::R<bool, bool>;
29677        ///Write proxy for field `G3_IO2`
29678        pub struct G3_IO2_W<'a> {
29679            w: &'a mut W,
29680        }
29681        impl<'a> G3_IO2_W<'a> {
29682            ///Sets the field bit
29683            #[inline(always)]
29684            pub fn set_bit(self) -> &'a mut W {
29685                self.bit(true)
29686            }
29687            ///Clears the field bit
29688            #[inline(always)]
29689            pub fn clear_bit(self) -> &'a mut W {
29690                self.bit(false)
29691            }
29692            ///Writes raw bits to the field
29693            #[inline(always)]
29694            pub fn bit(self, value: bool) -> &'a mut W {
29695                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
29696                self.w
29697            }
29698        }
29699        ///Reader of field `G3_IO1`
29700        pub type G3_IO1_R = crate::R<bool, bool>;
29701        ///Write proxy for field `G3_IO1`
29702        pub struct G3_IO1_W<'a> {
29703            w: &'a mut W,
29704        }
29705        impl<'a> G3_IO1_W<'a> {
29706            ///Sets the field bit
29707            #[inline(always)]
29708            pub fn set_bit(self) -> &'a mut W {
29709                self.bit(true)
29710            }
29711            ///Clears the field bit
29712            #[inline(always)]
29713            pub fn clear_bit(self) -> &'a mut W {
29714                self.bit(false)
29715            }
29716            ///Writes raw bits to the field
29717            #[inline(always)]
29718            pub fn bit(self, value: bool) -> &'a mut W {
29719                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
29720                self.w
29721            }
29722        }
29723        ///Reader of field `G2_IO4`
29724        pub type G2_IO4_R = crate::R<bool, bool>;
29725        ///Write proxy for field `G2_IO4`
29726        pub struct G2_IO4_W<'a> {
29727            w: &'a mut W,
29728        }
29729        impl<'a> G2_IO4_W<'a> {
29730            ///Sets the field bit
29731            #[inline(always)]
29732            pub fn set_bit(self) -> &'a mut W {
29733                self.bit(true)
29734            }
29735            ///Clears the field bit
29736            #[inline(always)]
29737            pub fn clear_bit(self) -> &'a mut W {
29738                self.bit(false)
29739            }
29740            ///Writes raw bits to the field
29741            #[inline(always)]
29742            pub fn bit(self, value: bool) -> &'a mut W {
29743                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
29744                self.w
29745            }
29746        }
29747        ///Reader of field `G2_IO3`
29748        pub type G2_IO3_R = crate::R<bool, bool>;
29749        ///Write proxy for field `G2_IO3`
29750        pub struct G2_IO3_W<'a> {
29751            w: &'a mut W,
29752        }
29753        impl<'a> G2_IO3_W<'a> {
29754            ///Sets the field bit
29755            #[inline(always)]
29756            pub fn set_bit(self) -> &'a mut W {
29757                self.bit(true)
29758            }
29759            ///Clears the field bit
29760            #[inline(always)]
29761            pub fn clear_bit(self) -> &'a mut W {
29762                self.bit(false)
29763            }
29764            ///Writes raw bits to the field
29765            #[inline(always)]
29766            pub fn bit(self, value: bool) -> &'a mut W {
29767                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
29768                self.w
29769            }
29770        }
29771        ///Reader of field `G2_IO2`
29772        pub type G2_IO2_R = crate::R<bool, bool>;
29773        ///Write proxy for field `G2_IO2`
29774        pub struct G2_IO2_W<'a> {
29775            w: &'a mut W,
29776        }
29777        impl<'a> G2_IO2_W<'a> {
29778            ///Sets the field bit
29779            #[inline(always)]
29780            pub fn set_bit(self) -> &'a mut W {
29781                self.bit(true)
29782            }
29783            ///Clears the field bit
29784            #[inline(always)]
29785            pub fn clear_bit(self) -> &'a mut W {
29786                self.bit(false)
29787            }
29788            ///Writes raw bits to the field
29789            #[inline(always)]
29790            pub fn bit(self, value: bool) -> &'a mut W {
29791                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
29792                self.w
29793            }
29794        }
29795        ///Reader of field `G2_IO1`
29796        pub type G2_IO1_R = crate::R<bool, bool>;
29797        ///Write proxy for field `G2_IO1`
29798        pub struct G2_IO1_W<'a> {
29799            w: &'a mut W,
29800        }
29801        impl<'a> G2_IO1_W<'a> {
29802            ///Sets the field bit
29803            #[inline(always)]
29804            pub fn set_bit(self) -> &'a mut W {
29805                self.bit(true)
29806            }
29807            ///Clears the field bit
29808            #[inline(always)]
29809            pub fn clear_bit(self) -> &'a mut W {
29810                self.bit(false)
29811            }
29812            ///Writes raw bits to the field
29813            #[inline(always)]
29814            pub fn bit(self, value: bool) -> &'a mut W {
29815                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
29816                self.w
29817            }
29818        }
29819        ///Reader of field `G1_IO4`
29820        pub type G1_IO4_R = crate::R<bool, bool>;
29821        ///Write proxy for field `G1_IO4`
29822        pub struct G1_IO4_W<'a> {
29823            w: &'a mut W,
29824        }
29825        impl<'a> G1_IO4_W<'a> {
29826            ///Sets the field bit
29827            #[inline(always)]
29828            pub fn set_bit(self) -> &'a mut W {
29829                self.bit(true)
29830            }
29831            ///Clears the field bit
29832            #[inline(always)]
29833            pub fn clear_bit(self) -> &'a mut W {
29834                self.bit(false)
29835            }
29836            ///Writes raw bits to the field
29837            #[inline(always)]
29838            pub fn bit(self, value: bool) -> &'a mut W {
29839                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
29840                self.w
29841            }
29842        }
29843        ///Reader of field `G1_IO3`
29844        pub type G1_IO3_R = crate::R<bool, bool>;
29845        ///Write proxy for field `G1_IO3`
29846        pub struct G1_IO3_W<'a> {
29847            w: &'a mut W,
29848        }
29849        impl<'a> G1_IO3_W<'a> {
29850            ///Sets the field bit
29851            #[inline(always)]
29852            pub fn set_bit(self) -> &'a mut W {
29853                self.bit(true)
29854            }
29855            ///Clears the field bit
29856            #[inline(always)]
29857            pub fn clear_bit(self) -> &'a mut W {
29858                self.bit(false)
29859            }
29860            ///Writes raw bits to the field
29861            #[inline(always)]
29862            pub fn bit(self, value: bool) -> &'a mut W {
29863                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
29864                self.w
29865            }
29866        }
29867        ///Reader of field `G1_IO2`
29868        pub type G1_IO2_R = crate::R<bool, bool>;
29869        ///Write proxy for field `G1_IO2`
29870        pub struct G1_IO2_W<'a> {
29871            w: &'a mut W,
29872        }
29873        impl<'a> G1_IO2_W<'a> {
29874            ///Sets the field bit
29875            #[inline(always)]
29876            pub fn set_bit(self) -> &'a mut W {
29877                self.bit(true)
29878            }
29879            ///Clears the field bit
29880            #[inline(always)]
29881            pub fn clear_bit(self) -> &'a mut W {
29882                self.bit(false)
29883            }
29884            ///Writes raw bits to the field
29885            #[inline(always)]
29886            pub fn bit(self, value: bool) -> &'a mut W {
29887                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
29888                self.w
29889            }
29890        }
29891        ///Reader of field `G1_IO1`
29892        pub type G1_IO1_R = crate::R<bool, bool>;
29893        ///Write proxy for field `G1_IO1`
29894        pub struct G1_IO1_W<'a> {
29895            w: &'a mut W,
29896        }
29897        impl<'a> G1_IO1_W<'a> {
29898            ///Sets the field bit
29899            #[inline(always)]
29900            pub fn set_bit(self) -> &'a mut W {
29901                self.bit(true)
29902            }
29903            ///Clears the field bit
29904            #[inline(always)]
29905            pub fn clear_bit(self) -> &'a mut W {
29906                self.bit(false)
29907            }
29908            ///Writes raw bits to the field
29909            #[inline(always)]
29910            pub fn bit(self, value: bool) -> &'a mut W {
29911                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
29912                self.w
29913            }
29914        }
29915        impl R {
29916            ///Bit 27 - G7_IO4
29917            #[inline(always)]
29918            pub fn g7_io4(&self) -> G7_IO4_R {
29919                G7_IO4_R::new(((self.bits >> 27) & 0x01) != 0)
29920            }
29921            ///Bit 26 - G7_IO3
29922            #[inline(always)]
29923            pub fn g7_io3(&self) -> G7_IO3_R {
29924                G7_IO3_R::new(((self.bits >> 26) & 0x01) != 0)
29925            }
29926            ///Bit 25 - G7_IO2
29927            #[inline(always)]
29928            pub fn g7_io2(&self) -> G7_IO2_R {
29929                G7_IO2_R::new(((self.bits >> 25) & 0x01) != 0)
29930            }
29931            ///Bit 24 - G7_IO1
29932            #[inline(always)]
29933            pub fn g7_io1(&self) -> G7_IO1_R {
29934                G7_IO1_R::new(((self.bits >> 24) & 0x01) != 0)
29935            }
29936            ///Bit 23 - G6_IO4
29937            #[inline(always)]
29938            pub fn g6_io4(&self) -> G6_IO4_R {
29939                G6_IO4_R::new(((self.bits >> 23) & 0x01) != 0)
29940            }
29941            ///Bit 22 - G6_IO3
29942            #[inline(always)]
29943            pub fn g6_io3(&self) -> G6_IO3_R {
29944                G6_IO3_R::new(((self.bits >> 22) & 0x01) != 0)
29945            }
29946            ///Bit 21 - G6_IO2
29947            #[inline(always)]
29948            pub fn g6_io2(&self) -> G6_IO2_R {
29949                G6_IO2_R::new(((self.bits >> 21) & 0x01) != 0)
29950            }
29951            ///Bit 20 - G6_IO1
29952            #[inline(always)]
29953            pub fn g6_io1(&self) -> G6_IO1_R {
29954                G6_IO1_R::new(((self.bits >> 20) & 0x01) != 0)
29955            }
29956            ///Bit 19 - G5_IO4
29957            #[inline(always)]
29958            pub fn g5_io4(&self) -> G5_IO4_R {
29959                G5_IO4_R::new(((self.bits >> 19) & 0x01) != 0)
29960            }
29961            ///Bit 18 - G5_IO3
29962            #[inline(always)]
29963            pub fn g5_io3(&self) -> G5_IO3_R {
29964                G5_IO3_R::new(((self.bits >> 18) & 0x01) != 0)
29965            }
29966            ///Bit 17 - G5_IO2
29967            #[inline(always)]
29968            pub fn g5_io2(&self) -> G5_IO2_R {
29969                G5_IO2_R::new(((self.bits >> 17) & 0x01) != 0)
29970            }
29971            ///Bit 16 - G5_IO1
29972            #[inline(always)]
29973            pub fn g5_io1(&self) -> G5_IO1_R {
29974                G5_IO1_R::new(((self.bits >> 16) & 0x01) != 0)
29975            }
29976            ///Bit 15 - G4_IO4
29977            #[inline(always)]
29978            pub fn g4_io4(&self) -> G4_IO4_R {
29979                G4_IO4_R::new(((self.bits >> 15) & 0x01) != 0)
29980            }
29981            ///Bit 14 - G4_IO3
29982            #[inline(always)]
29983            pub fn g4_io3(&self) -> G4_IO3_R {
29984                G4_IO3_R::new(((self.bits >> 14) & 0x01) != 0)
29985            }
29986            ///Bit 13 - G4_IO2
29987            #[inline(always)]
29988            pub fn g4_io2(&self) -> G4_IO2_R {
29989                G4_IO2_R::new(((self.bits >> 13) & 0x01) != 0)
29990            }
29991            ///Bit 12 - G4_IO1
29992            #[inline(always)]
29993            pub fn g4_io1(&self) -> G4_IO1_R {
29994                G4_IO1_R::new(((self.bits >> 12) & 0x01) != 0)
29995            }
29996            ///Bit 11 - G3_IO4
29997            #[inline(always)]
29998            pub fn g3_io4(&self) -> G3_IO4_R {
29999                G3_IO4_R::new(((self.bits >> 11) & 0x01) != 0)
30000            }
30001            ///Bit 10 - G3_IO3
30002            #[inline(always)]
30003            pub fn g3_io3(&self) -> G3_IO3_R {
30004                G3_IO3_R::new(((self.bits >> 10) & 0x01) != 0)
30005            }
30006            ///Bit 9 - G3_IO2
30007            #[inline(always)]
30008            pub fn g3_io2(&self) -> G3_IO2_R {
30009                G3_IO2_R::new(((self.bits >> 9) & 0x01) != 0)
30010            }
30011            ///Bit 8 - G3_IO1
30012            #[inline(always)]
30013            pub fn g3_io1(&self) -> G3_IO1_R {
30014                G3_IO1_R::new(((self.bits >> 8) & 0x01) != 0)
30015            }
30016            ///Bit 7 - G2_IO4
30017            #[inline(always)]
30018            pub fn g2_io4(&self) -> G2_IO4_R {
30019                G2_IO4_R::new(((self.bits >> 7) & 0x01) != 0)
30020            }
30021            ///Bit 6 - G2_IO3
30022            #[inline(always)]
30023            pub fn g2_io3(&self) -> G2_IO3_R {
30024                G2_IO3_R::new(((self.bits >> 6) & 0x01) != 0)
30025            }
30026            ///Bit 5 - G2_IO2
30027            #[inline(always)]
30028            pub fn g2_io2(&self) -> G2_IO2_R {
30029                G2_IO2_R::new(((self.bits >> 5) & 0x01) != 0)
30030            }
30031            ///Bit 4 - G2_IO1
30032            #[inline(always)]
30033            pub fn g2_io1(&self) -> G2_IO1_R {
30034                G2_IO1_R::new(((self.bits >> 4) & 0x01) != 0)
30035            }
30036            ///Bit 3 - G1_IO4
30037            #[inline(always)]
30038            pub fn g1_io4(&self) -> G1_IO4_R {
30039                G1_IO4_R::new(((self.bits >> 3) & 0x01) != 0)
30040            }
30041            ///Bit 2 - G1_IO3
30042            #[inline(always)]
30043            pub fn g1_io3(&self) -> G1_IO3_R {
30044                G1_IO3_R::new(((self.bits >> 2) & 0x01) != 0)
30045            }
30046            ///Bit 1 - G1_IO2
30047            #[inline(always)]
30048            pub fn g1_io2(&self) -> G1_IO2_R {
30049                G1_IO2_R::new(((self.bits >> 1) & 0x01) != 0)
30050            }
30051            ///Bit 0 - G1_IO1
30052            #[inline(always)]
30053            pub fn g1_io1(&self) -> G1_IO1_R {
30054                G1_IO1_R::new((self.bits & 0x01) != 0)
30055            }
30056        }
30057        impl W {
30058            ///Bit 27 - G7_IO4
30059            #[inline(always)]
30060            pub fn g7_io4(&mut self) -> G7_IO4_W {
30061                G7_IO4_W { w: self }
30062            }
30063            ///Bit 26 - G7_IO3
30064            #[inline(always)]
30065            pub fn g7_io3(&mut self) -> G7_IO3_W {
30066                G7_IO3_W { w: self }
30067            }
30068            ///Bit 25 - G7_IO2
30069            #[inline(always)]
30070            pub fn g7_io2(&mut self) -> G7_IO2_W {
30071                G7_IO2_W { w: self }
30072            }
30073            ///Bit 24 - G7_IO1
30074            #[inline(always)]
30075            pub fn g7_io1(&mut self) -> G7_IO1_W {
30076                G7_IO1_W { w: self }
30077            }
30078            ///Bit 23 - G6_IO4
30079            #[inline(always)]
30080            pub fn g6_io4(&mut self) -> G6_IO4_W {
30081                G6_IO4_W { w: self }
30082            }
30083            ///Bit 22 - G6_IO3
30084            #[inline(always)]
30085            pub fn g6_io3(&mut self) -> G6_IO3_W {
30086                G6_IO3_W { w: self }
30087            }
30088            ///Bit 21 - G6_IO2
30089            #[inline(always)]
30090            pub fn g6_io2(&mut self) -> G6_IO2_W {
30091                G6_IO2_W { w: self }
30092            }
30093            ///Bit 20 - G6_IO1
30094            #[inline(always)]
30095            pub fn g6_io1(&mut self) -> G6_IO1_W {
30096                G6_IO1_W { w: self }
30097            }
30098            ///Bit 19 - G5_IO4
30099            #[inline(always)]
30100            pub fn g5_io4(&mut self) -> G5_IO4_W {
30101                G5_IO4_W { w: self }
30102            }
30103            ///Bit 18 - G5_IO3
30104            #[inline(always)]
30105            pub fn g5_io3(&mut self) -> G5_IO3_W {
30106                G5_IO3_W { w: self }
30107            }
30108            ///Bit 17 - G5_IO2
30109            #[inline(always)]
30110            pub fn g5_io2(&mut self) -> G5_IO2_W {
30111                G5_IO2_W { w: self }
30112            }
30113            ///Bit 16 - G5_IO1
30114            #[inline(always)]
30115            pub fn g5_io1(&mut self) -> G5_IO1_W {
30116                G5_IO1_W { w: self }
30117            }
30118            ///Bit 15 - G4_IO4
30119            #[inline(always)]
30120            pub fn g4_io4(&mut self) -> G4_IO4_W {
30121                G4_IO4_W { w: self }
30122            }
30123            ///Bit 14 - G4_IO3
30124            #[inline(always)]
30125            pub fn g4_io3(&mut self) -> G4_IO3_W {
30126                G4_IO3_W { w: self }
30127            }
30128            ///Bit 13 - G4_IO2
30129            #[inline(always)]
30130            pub fn g4_io2(&mut self) -> G4_IO2_W {
30131                G4_IO2_W { w: self }
30132            }
30133            ///Bit 12 - G4_IO1
30134            #[inline(always)]
30135            pub fn g4_io1(&mut self) -> G4_IO1_W {
30136                G4_IO1_W { w: self }
30137            }
30138            ///Bit 11 - G3_IO4
30139            #[inline(always)]
30140            pub fn g3_io4(&mut self) -> G3_IO4_W {
30141                G3_IO4_W { w: self }
30142            }
30143            ///Bit 10 - G3_IO3
30144            #[inline(always)]
30145            pub fn g3_io3(&mut self) -> G3_IO3_W {
30146                G3_IO3_W { w: self }
30147            }
30148            ///Bit 9 - G3_IO2
30149            #[inline(always)]
30150            pub fn g3_io2(&mut self) -> G3_IO2_W {
30151                G3_IO2_W { w: self }
30152            }
30153            ///Bit 8 - G3_IO1
30154            #[inline(always)]
30155            pub fn g3_io1(&mut self) -> G3_IO1_W {
30156                G3_IO1_W { w: self }
30157            }
30158            ///Bit 7 - G2_IO4
30159            #[inline(always)]
30160            pub fn g2_io4(&mut self) -> G2_IO4_W {
30161                G2_IO4_W { w: self }
30162            }
30163            ///Bit 6 - G2_IO3
30164            #[inline(always)]
30165            pub fn g2_io3(&mut self) -> G2_IO3_W {
30166                G2_IO3_W { w: self }
30167            }
30168            ///Bit 5 - G2_IO2
30169            #[inline(always)]
30170            pub fn g2_io2(&mut self) -> G2_IO2_W {
30171                G2_IO2_W { w: self }
30172            }
30173            ///Bit 4 - G2_IO1
30174            #[inline(always)]
30175            pub fn g2_io1(&mut self) -> G2_IO1_W {
30176                G2_IO1_W { w: self }
30177            }
30178            ///Bit 3 - G1_IO4
30179            #[inline(always)]
30180            pub fn g1_io4(&mut self) -> G1_IO4_W {
30181                G1_IO4_W { w: self }
30182            }
30183            ///Bit 2 - G1_IO3
30184            #[inline(always)]
30185            pub fn g1_io3(&mut self) -> G1_IO3_W {
30186                G1_IO3_W { w: self }
30187            }
30188            ///Bit 1 - G1_IO2
30189            #[inline(always)]
30190            pub fn g1_io2(&mut self) -> G1_IO2_W {
30191                G1_IO2_W { w: self }
30192            }
30193            ///Bit 0 - G1_IO1
30194            #[inline(always)]
30195            pub fn g1_io1(&mut self) -> G1_IO1_W {
30196                G1_IO1_W { w: self }
30197            }
30198        }
30199    }
30200    ///I/O group control status register
30201    ///
30202    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
30203    ///
30204    ///For information about available fields see [iogcsr](iogcsr) module
30205    pub type IOGCSR = crate::Reg<u32, _IOGCSR>;
30206    #[allow(missing_docs)]
30207    #[doc(hidden)]
30208    pub struct _IOGCSR;
30209    ///`read()` method returns [iogcsr::R](iogcsr::R) reader structure
30210    impl crate::Readable for IOGCSR {}
30211    ///`write(|w| ..)` method takes [iogcsr::W](iogcsr::W) writer structure
30212    impl crate::Writable for IOGCSR {}
30213    ///I/O group control status register
30214    pub mod iogcsr {
30215        ///Reader of register IOGCSR
30216        pub type R = crate::R<u32, super::IOGCSR>;
30217        ///Writer for register IOGCSR
30218        pub type W = crate::W<u32, super::IOGCSR>;
30219        ///Register IOGCSR `reset()`'s with value 0
30220        impl crate::ResetValue for super::IOGCSR {
30221            type Type = u32;
30222            #[inline(always)]
30223            fn reset_value() -> Self::Type {
30224                0
30225            }
30226        }
30227        ///Reader of field `G7S`
30228        pub type G7S_R = crate::R<bool, bool>;
30229        ///Reader of field `G6S`
30230        pub type G6S_R = crate::R<bool, bool>;
30231        ///Reader of field `G5S`
30232        pub type G5S_R = crate::R<bool, bool>;
30233        ///Reader of field `G4S`
30234        pub type G4S_R = crate::R<bool, bool>;
30235        ///Reader of field `G3S`
30236        pub type G3S_R = crate::R<bool, bool>;
30237        ///Reader of field `G2S`
30238        pub type G2S_R = crate::R<bool, bool>;
30239        ///Reader of field `G1S`
30240        pub type G1S_R = crate::R<bool, bool>;
30241        ///Reader of field `G7E`
30242        pub type G7E_R = crate::R<bool, bool>;
30243        ///Write proxy for field `G7E`
30244        pub struct G7E_W<'a> {
30245            w: &'a mut W,
30246        }
30247        impl<'a> G7E_W<'a> {
30248            ///Sets the field bit
30249            #[inline(always)]
30250            pub fn set_bit(self) -> &'a mut W {
30251                self.bit(true)
30252            }
30253            ///Clears the field bit
30254            #[inline(always)]
30255            pub fn clear_bit(self) -> &'a mut W {
30256                self.bit(false)
30257            }
30258            ///Writes raw bits to the field
30259            #[inline(always)]
30260            pub fn bit(self, value: bool) -> &'a mut W {
30261                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
30262                self.w
30263            }
30264        }
30265        ///Reader of field `G6E`
30266        pub type G6E_R = crate::R<bool, bool>;
30267        ///Write proxy for field `G6E`
30268        pub struct G6E_W<'a> {
30269            w: &'a mut W,
30270        }
30271        impl<'a> G6E_W<'a> {
30272            ///Sets the field bit
30273            #[inline(always)]
30274            pub fn set_bit(self) -> &'a mut W {
30275                self.bit(true)
30276            }
30277            ///Clears the field bit
30278            #[inline(always)]
30279            pub fn clear_bit(self) -> &'a mut W {
30280                self.bit(false)
30281            }
30282            ///Writes raw bits to the field
30283            #[inline(always)]
30284            pub fn bit(self, value: bool) -> &'a mut W {
30285                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
30286                self.w
30287            }
30288        }
30289        ///Reader of field `G5E`
30290        pub type G5E_R = crate::R<bool, bool>;
30291        ///Write proxy for field `G5E`
30292        pub struct G5E_W<'a> {
30293            w: &'a mut W,
30294        }
30295        impl<'a> G5E_W<'a> {
30296            ///Sets the field bit
30297            #[inline(always)]
30298            pub fn set_bit(self) -> &'a mut W {
30299                self.bit(true)
30300            }
30301            ///Clears the field bit
30302            #[inline(always)]
30303            pub fn clear_bit(self) -> &'a mut W {
30304                self.bit(false)
30305            }
30306            ///Writes raw bits to the field
30307            #[inline(always)]
30308            pub fn bit(self, value: bool) -> &'a mut W {
30309                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
30310                self.w
30311            }
30312        }
30313        ///Reader of field `G4E`
30314        pub type G4E_R = crate::R<bool, bool>;
30315        ///Write proxy for field `G4E`
30316        pub struct G4E_W<'a> {
30317            w: &'a mut W,
30318        }
30319        impl<'a> G4E_W<'a> {
30320            ///Sets the field bit
30321            #[inline(always)]
30322            pub fn set_bit(self) -> &'a mut W {
30323                self.bit(true)
30324            }
30325            ///Clears the field bit
30326            #[inline(always)]
30327            pub fn clear_bit(self) -> &'a mut W {
30328                self.bit(false)
30329            }
30330            ///Writes raw bits to the field
30331            #[inline(always)]
30332            pub fn bit(self, value: bool) -> &'a mut W {
30333                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
30334                self.w
30335            }
30336        }
30337        ///Reader of field `G3E`
30338        pub type G3E_R = crate::R<bool, bool>;
30339        ///Write proxy for field `G3E`
30340        pub struct G3E_W<'a> {
30341            w: &'a mut W,
30342        }
30343        impl<'a> G3E_W<'a> {
30344            ///Sets the field bit
30345            #[inline(always)]
30346            pub fn set_bit(self) -> &'a mut W {
30347                self.bit(true)
30348            }
30349            ///Clears the field bit
30350            #[inline(always)]
30351            pub fn clear_bit(self) -> &'a mut W {
30352                self.bit(false)
30353            }
30354            ///Writes raw bits to the field
30355            #[inline(always)]
30356            pub fn bit(self, value: bool) -> &'a mut W {
30357                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
30358                self.w
30359            }
30360        }
30361        ///Reader of field `G2E`
30362        pub type G2E_R = crate::R<bool, bool>;
30363        ///Write proxy for field `G2E`
30364        pub struct G2E_W<'a> {
30365            w: &'a mut W,
30366        }
30367        impl<'a> G2E_W<'a> {
30368            ///Sets the field bit
30369            #[inline(always)]
30370            pub fn set_bit(self) -> &'a mut W {
30371                self.bit(true)
30372            }
30373            ///Clears the field bit
30374            #[inline(always)]
30375            pub fn clear_bit(self) -> &'a mut W {
30376                self.bit(false)
30377            }
30378            ///Writes raw bits to the field
30379            #[inline(always)]
30380            pub fn bit(self, value: bool) -> &'a mut W {
30381                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
30382                self.w
30383            }
30384        }
30385        ///Reader of field `G1E`
30386        pub type G1E_R = crate::R<bool, bool>;
30387        ///Write proxy for field `G1E`
30388        pub struct G1E_W<'a> {
30389            w: &'a mut W,
30390        }
30391        impl<'a> G1E_W<'a> {
30392            ///Sets the field bit
30393            #[inline(always)]
30394            pub fn set_bit(self) -> &'a mut W {
30395                self.bit(true)
30396            }
30397            ///Clears the field bit
30398            #[inline(always)]
30399            pub fn clear_bit(self) -> &'a mut W {
30400                self.bit(false)
30401            }
30402            ///Writes raw bits to the field
30403            #[inline(always)]
30404            pub fn bit(self, value: bool) -> &'a mut W {
30405                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
30406                self.w
30407            }
30408        }
30409        impl R {
30410            ///Bit 22 - Analog I/O group x status
30411            #[inline(always)]
30412            pub fn g7s(&self) -> G7S_R {
30413                G7S_R::new(((self.bits >> 22) & 0x01) != 0)
30414            }
30415            ///Bit 21 - Analog I/O group x status
30416            #[inline(always)]
30417            pub fn g6s(&self) -> G6S_R {
30418                G6S_R::new(((self.bits >> 21) & 0x01) != 0)
30419            }
30420            ///Bit 20 - Analog I/O group x status
30421            #[inline(always)]
30422            pub fn g5s(&self) -> G5S_R {
30423                G5S_R::new(((self.bits >> 20) & 0x01) != 0)
30424            }
30425            ///Bit 19 - Analog I/O group x status
30426            #[inline(always)]
30427            pub fn g4s(&self) -> G4S_R {
30428                G4S_R::new(((self.bits >> 19) & 0x01) != 0)
30429            }
30430            ///Bit 18 - Analog I/O group x status
30431            #[inline(always)]
30432            pub fn g3s(&self) -> G3S_R {
30433                G3S_R::new(((self.bits >> 18) & 0x01) != 0)
30434            }
30435            ///Bit 17 - Analog I/O group x status
30436            #[inline(always)]
30437            pub fn g2s(&self) -> G2S_R {
30438                G2S_R::new(((self.bits >> 17) & 0x01) != 0)
30439            }
30440            ///Bit 16 - Analog I/O group x status
30441            #[inline(always)]
30442            pub fn g1s(&self) -> G1S_R {
30443                G1S_R::new(((self.bits >> 16) & 0x01) != 0)
30444            }
30445            ///Bit 6 - Analog I/O group x enable
30446            #[inline(always)]
30447            pub fn g7e(&self) -> G7E_R {
30448                G7E_R::new(((self.bits >> 6) & 0x01) != 0)
30449            }
30450            ///Bit 5 - Analog I/O group x enable
30451            #[inline(always)]
30452            pub fn g6e(&self) -> G6E_R {
30453                G6E_R::new(((self.bits >> 5) & 0x01) != 0)
30454            }
30455            ///Bit 4 - Analog I/O group x enable
30456            #[inline(always)]
30457            pub fn g5e(&self) -> G5E_R {
30458                G5E_R::new(((self.bits >> 4) & 0x01) != 0)
30459            }
30460            ///Bit 3 - Analog I/O group x enable
30461            #[inline(always)]
30462            pub fn g4e(&self) -> G4E_R {
30463                G4E_R::new(((self.bits >> 3) & 0x01) != 0)
30464            }
30465            ///Bit 2 - Analog I/O group x enable
30466            #[inline(always)]
30467            pub fn g3e(&self) -> G3E_R {
30468                G3E_R::new(((self.bits >> 2) & 0x01) != 0)
30469            }
30470            ///Bit 1 - Analog I/O group x enable
30471            #[inline(always)]
30472            pub fn g2e(&self) -> G2E_R {
30473                G2E_R::new(((self.bits >> 1) & 0x01) != 0)
30474            }
30475            ///Bit 0 - Analog I/O group x enable
30476            #[inline(always)]
30477            pub fn g1e(&self) -> G1E_R {
30478                G1E_R::new((self.bits & 0x01) != 0)
30479            }
30480        }
30481        impl W {
30482            ///Bit 6 - Analog I/O group x enable
30483            #[inline(always)]
30484            pub fn g7e(&mut self) -> G7E_W {
30485                G7E_W { w: self }
30486            }
30487            ///Bit 5 - Analog I/O group x enable
30488            #[inline(always)]
30489            pub fn g6e(&mut self) -> G6E_W {
30490                G6E_W { w: self }
30491            }
30492            ///Bit 4 - Analog I/O group x enable
30493            #[inline(always)]
30494            pub fn g5e(&mut self) -> G5E_W {
30495                G5E_W { w: self }
30496            }
30497            ///Bit 3 - Analog I/O group x enable
30498            #[inline(always)]
30499            pub fn g4e(&mut self) -> G4E_W {
30500                G4E_W { w: self }
30501            }
30502            ///Bit 2 - Analog I/O group x enable
30503            #[inline(always)]
30504            pub fn g3e(&mut self) -> G3E_W {
30505                G3E_W { w: self }
30506            }
30507            ///Bit 1 - Analog I/O group x enable
30508            #[inline(always)]
30509            pub fn g2e(&mut self) -> G2E_W {
30510                G2E_W { w: self }
30511            }
30512            ///Bit 0 - Analog I/O group x enable
30513            #[inline(always)]
30514            pub fn g1e(&mut self) -> G1E_W {
30515                G1E_W { w: self }
30516            }
30517        }
30518    }
30519    ///I/O group x counter register
30520    ///
30521    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
30522    ///
30523    ///For information about available fields see [iog1cr](iog1cr) module
30524    pub type IOG1CR = crate::Reg<u32, _IOG1CR>;
30525    #[allow(missing_docs)]
30526    #[doc(hidden)]
30527    pub struct _IOG1CR;
30528    ///`read()` method returns [iog1cr::R](iog1cr::R) reader structure
30529    impl crate::Readable for IOG1CR {}
30530    ///I/O group x counter register
30531    pub mod iog1cr {
30532        ///Reader of register IOG1CR
30533        pub type R = crate::R<u32, super::IOG1CR>;
30534        ///Reader of field `CNT`
30535        pub type CNT_R = crate::R<u16, u16>;
30536        impl R {
30537            ///Bits 0:13 - Counter value
30538            #[inline(always)]
30539            pub fn cnt(&self) -> CNT_R {
30540                CNT_R::new((self.bits & 0x3fff) as u16)
30541            }
30542        }
30543    }
30544    ///I/O group x counter register
30545    ///
30546    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
30547    ///
30548    ///For information about available fields see [iog2cr](iog2cr) module
30549    pub type IOG2CR = crate::Reg<u32, _IOG2CR>;
30550    #[allow(missing_docs)]
30551    #[doc(hidden)]
30552    pub struct _IOG2CR;
30553    ///`read()` method returns [iog2cr::R](iog2cr::R) reader structure
30554    impl crate::Readable for IOG2CR {}
30555    ///I/O group x counter register
30556    pub mod iog2cr {
30557        ///Reader of register IOG2CR
30558        pub type R = crate::R<u32, super::IOG2CR>;
30559        ///Reader of field `CNT`
30560        pub type CNT_R = crate::R<u16, u16>;
30561        impl R {
30562            ///Bits 0:13 - Counter value
30563            #[inline(always)]
30564            pub fn cnt(&self) -> CNT_R {
30565                CNT_R::new((self.bits & 0x3fff) as u16)
30566            }
30567        }
30568    }
30569    ///I/O group x counter register
30570    ///
30571    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
30572    ///
30573    ///For information about available fields see [iog3cr](iog3cr) module
30574    pub type IOG3CR = crate::Reg<u32, _IOG3CR>;
30575    #[allow(missing_docs)]
30576    #[doc(hidden)]
30577    pub struct _IOG3CR;
30578    ///`read()` method returns [iog3cr::R](iog3cr::R) reader structure
30579    impl crate::Readable for IOG3CR {}
30580    ///I/O group x counter register
30581    pub mod iog3cr {
30582        ///Reader of register IOG3CR
30583        pub type R = crate::R<u32, super::IOG3CR>;
30584        ///Reader of field `CNT`
30585        pub type CNT_R = crate::R<u16, u16>;
30586        impl R {
30587            ///Bits 0:13 - Counter value
30588            #[inline(always)]
30589            pub fn cnt(&self) -> CNT_R {
30590                CNT_R::new((self.bits & 0x3fff) as u16)
30591            }
30592        }
30593    }
30594    ///I/O group x counter register
30595    ///
30596    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
30597    ///
30598    ///For information about available fields see [iog4cr](iog4cr) module
30599    pub type IOG4CR = crate::Reg<u32, _IOG4CR>;
30600    #[allow(missing_docs)]
30601    #[doc(hidden)]
30602    pub struct _IOG4CR;
30603    ///`read()` method returns [iog4cr::R](iog4cr::R) reader structure
30604    impl crate::Readable for IOG4CR {}
30605    ///I/O group x counter register
30606    pub mod iog4cr {
30607        ///Reader of register IOG4CR
30608        pub type R = crate::R<u32, super::IOG4CR>;
30609        ///Reader of field `CNT`
30610        pub type CNT_R = crate::R<u16, u16>;
30611        impl R {
30612            ///Bits 0:13 - Counter value
30613            #[inline(always)]
30614            pub fn cnt(&self) -> CNT_R {
30615                CNT_R::new((self.bits & 0x3fff) as u16)
30616            }
30617        }
30618    }
30619    ///I/O group x counter register
30620    ///
30621    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
30622    ///
30623    ///For information about available fields see [iog5cr](iog5cr) module
30624    pub type IOG5CR = crate::Reg<u32, _IOG5CR>;
30625    #[allow(missing_docs)]
30626    #[doc(hidden)]
30627    pub struct _IOG5CR;
30628    ///`read()` method returns [iog5cr::R](iog5cr::R) reader structure
30629    impl crate::Readable for IOG5CR {}
30630    ///I/O group x counter register
30631    pub mod iog5cr {
30632        ///Reader of register IOG5CR
30633        pub type R = crate::R<u32, super::IOG5CR>;
30634        ///Reader of field `CNT`
30635        pub type CNT_R = crate::R<u16, u16>;
30636        impl R {
30637            ///Bits 0:13 - Counter value
30638            #[inline(always)]
30639            pub fn cnt(&self) -> CNT_R {
30640                CNT_R::new((self.bits & 0x3fff) as u16)
30641            }
30642        }
30643    }
30644    ///I/O group x counter register
30645    ///
30646    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
30647    ///
30648    ///For information about available fields see [iog6cr](iog6cr) module
30649    pub type IOG6CR = crate::Reg<u32, _IOG6CR>;
30650    #[allow(missing_docs)]
30651    #[doc(hidden)]
30652    pub struct _IOG6CR;
30653    ///`read()` method returns [iog6cr::R](iog6cr::R) reader structure
30654    impl crate::Readable for IOG6CR {}
30655    ///I/O group x counter register
30656    pub mod iog6cr {
30657        ///Reader of register IOG6CR
30658        pub type R = crate::R<u32, super::IOG6CR>;
30659        ///Reader of field `CNT`
30660        pub type CNT_R = crate::R<u16, u16>;
30661        impl R {
30662            ///Bits 0:13 - Counter value
30663            #[inline(always)]
30664            pub fn cnt(&self) -> CNT_R {
30665                CNT_R::new((self.bits & 0x3fff) as u16)
30666            }
30667        }
30668    }
30669    ///I/O group x counter register
30670    ///
30671    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
30672    ///
30673    ///For information about available fields see [iog7cr](iog7cr) module
30674    pub type IOG7CR = crate::Reg<u32, _IOG7CR>;
30675    #[allow(missing_docs)]
30676    #[doc(hidden)]
30677    pub struct _IOG7CR;
30678    ///`read()` method returns [iog7cr::R](iog7cr::R) reader structure
30679    impl crate::Readable for IOG7CR {}
30680    ///I/O group x counter register
30681    pub mod iog7cr {
30682        ///Reader of register IOG7CR
30683        pub type R = crate::R<u32, super::IOG7CR>;
30684        ///Reader of field `CNT`
30685        pub type CNT_R = crate::R<u16, u16>;
30686        impl R {
30687            ///Bits 0:13 - Counter value
30688            #[inline(always)]
30689            pub fn cnt(&self) -> CNT_R {
30690                CNT_R::new((self.bits & 0x3fff) as u16)
30691            }
30692        }
30693    }
30694}
30695///Independent watchdog
30696pub struct IWDG {
30697    _marker: PhantomData<*const ()>,
30698}
30699unsafe impl Send for IWDG {}
30700impl IWDG {
30701    ///Returns a pointer to the register block
30702    #[inline(always)]
30703    pub const fn ptr() -> *const iwdg::RegisterBlock {
30704        0x4000_3000 as *const _
30705    }
30706}
30707impl Deref for IWDG {
30708    type Target = iwdg::RegisterBlock;
30709    #[inline(always)]
30710    fn deref(&self) -> &Self::Target {
30711        unsafe { &*IWDG::ptr() }
30712    }
30713}
30714///Independent watchdog
30715pub mod iwdg {
30716    ///Register block
30717    #[repr(C)]
30718    pub struct RegisterBlock {
30719        ///0x00 - Key register
30720        pub kr: KR,
30721        ///0x04 - Prescaler register
30722        pub pr: PR,
30723        ///0x08 - Reload register
30724        pub rlr: RLR,
30725        ///0x0c - Status register
30726        pub sr: SR,
30727        ///0x10 - Window register
30728        pub winr: WINR,
30729    }
30730    ///Key register
30731    ///
30732    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
30733    ///
30734    ///For information about available fields see [kr](kr) module
30735    pub type KR = crate::Reg<u32, _KR>;
30736    #[allow(missing_docs)]
30737    #[doc(hidden)]
30738    pub struct _KR;
30739    ///`write(|w| ..)` method takes [kr::W](kr::W) writer structure
30740    impl crate::Writable for KR {}
30741    ///Key register
30742    pub mod kr {
30743        ///Writer for register KR
30744        pub type W = crate::W<u32, super::KR>;
30745        ///Register KR `reset()`'s with value 0
30746        impl crate::ResetValue for super::KR {
30747            type Type = u32;
30748            #[inline(always)]
30749            fn reset_value() -> Self::Type {
30750                0
30751            }
30752        }
30753        ///Write proxy for field `KEY`
30754        pub struct KEY_W<'a> {
30755            w: &'a mut W,
30756        }
30757        impl<'a> KEY_W<'a> {
30758            ///Writes raw bits to the field
30759            #[inline(always)]
30760            pub unsafe fn bits(self, value: u16) -> &'a mut W {
30761                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
30762                self.w
30763            }
30764        }
30765        impl W {
30766            ///Bits 0:15 - Key value (write only, read 0x0000)
30767            #[inline(always)]
30768            pub fn key(&mut self) -> KEY_W {
30769                KEY_W { w: self }
30770            }
30771        }
30772    }
30773    ///Prescaler register
30774    ///
30775    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
30776    ///
30777    ///For information about available fields see [pr](pr) module
30778    pub type PR = crate::Reg<u32, _PR>;
30779    #[allow(missing_docs)]
30780    #[doc(hidden)]
30781    pub struct _PR;
30782    ///`read()` method returns [pr::R](pr::R) reader structure
30783    impl crate::Readable for PR {}
30784    ///`write(|w| ..)` method takes [pr::W](pr::W) writer structure
30785    impl crate::Writable for PR {}
30786    ///Prescaler register
30787    pub mod pr {
30788        ///Reader of register PR
30789        pub type R = crate::R<u32, super::PR>;
30790        ///Writer for register PR
30791        pub type W = crate::W<u32, super::PR>;
30792        ///Register PR `reset()`'s with value 0
30793        impl crate::ResetValue for super::PR {
30794            type Type = u32;
30795            #[inline(always)]
30796            fn reset_value() -> Self::Type {
30797                0
30798            }
30799        }
30800        ///Reader of field `PR`
30801        pub type PR_R = crate::R<u8, u8>;
30802        ///Write proxy for field `PR`
30803        pub struct PR_W<'a> {
30804            w: &'a mut W,
30805        }
30806        impl<'a> PR_W<'a> {
30807            ///Writes raw bits to the field
30808            #[inline(always)]
30809            pub unsafe fn bits(self, value: u8) -> &'a mut W {
30810                self.w.bits = (self.w.bits & !0x07) | ((value as u32) & 0x07);
30811                self.w
30812            }
30813        }
30814        impl R {
30815            ///Bits 0:2 - Prescaler divider
30816            #[inline(always)]
30817            pub fn pr(&self) -> PR_R {
30818                PR_R::new((self.bits & 0x07) as u8)
30819            }
30820        }
30821        impl W {
30822            ///Bits 0:2 - Prescaler divider
30823            #[inline(always)]
30824            pub fn pr(&mut self) -> PR_W {
30825                PR_W { w: self }
30826            }
30827        }
30828    }
30829    ///Reload register
30830    ///
30831    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
30832    ///
30833    ///For information about available fields see [rlr](rlr) module
30834    pub type RLR = crate::Reg<u32, _RLR>;
30835    #[allow(missing_docs)]
30836    #[doc(hidden)]
30837    pub struct _RLR;
30838    ///`read()` method returns [rlr::R](rlr::R) reader structure
30839    impl crate::Readable for RLR {}
30840    ///`write(|w| ..)` method takes [rlr::W](rlr::W) writer structure
30841    impl crate::Writable for RLR {}
30842    ///Reload register
30843    pub mod rlr {
30844        ///Reader of register RLR
30845        pub type R = crate::R<u32, super::RLR>;
30846        ///Writer for register RLR
30847        pub type W = crate::W<u32, super::RLR>;
30848        ///Register RLR `reset()`'s with value 0x0fff
30849        impl crate::ResetValue for super::RLR {
30850            type Type = u32;
30851            #[inline(always)]
30852            fn reset_value() -> Self::Type {
30853                0x0fff
30854            }
30855        }
30856        ///Reader of field `RL`
30857        pub type RL_R = crate::R<u16, u16>;
30858        ///Write proxy for field `RL`
30859        pub struct RL_W<'a> {
30860            w: &'a mut W,
30861        }
30862        impl<'a> RL_W<'a> {
30863            ///Writes raw bits to the field
30864            #[inline(always)]
30865            pub unsafe fn bits(self, value: u16) -> &'a mut W {
30866                self.w.bits = (self.w.bits & !0x0fff) | ((value as u32) & 0x0fff);
30867                self.w
30868            }
30869        }
30870        impl R {
30871            ///Bits 0:11 - Watchdog counter reload value
30872            #[inline(always)]
30873            pub fn rl(&self) -> RL_R {
30874                RL_R::new((self.bits & 0x0fff) as u16)
30875            }
30876        }
30877        impl W {
30878            ///Bits 0:11 - Watchdog counter reload value
30879            #[inline(always)]
30880            pub fn rl(&mut self) -> RL_W {
30881                RL_W { w: self }
30882            }
30883        }
30884    }
30885    ///Status register
30886    ///
30887    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
30888    ///
30889    ///For information about available fields see [sr](sr) module
30890    pub type SR = crate::Reg<u32, _SR>;
30891    #[allow(missing_docs)]
30892    #[doc(hidden)]
30893    pub struct _SR;
30894    ///`read()` method returns [sr::R](sr::R) reader structure
30895    impl crate::Readable for SR {}
30896    ///Status register
30897    pub mod sr {
30898        ///Reader of register SR
30899        pub type R = crate::R<u32, super::SR>;
30900        ///Reader of field `WVU`
30901        pub type WVU_R = crate::R<bool, bool>;
30902        ///Reader of field `RVU`
30903        pub type RVU_R = crate::R<bool, bool>;
30904        ///Reader of field `PVU`
30905        pub type PVU_R = crate::R<bool, bool>;
30906        impl R {
30907            ///Bit 2 - Watchdog counter window value update
30908            #[inline(always)]
30909            pub fn wvu(&self) -> WVU_R {
30910                WVU_R::new(((self.bits >> 2) & 0x01) != 0)
30911            }
30912            ///Bit 1 - Watchdog counter reload value update
30913            #[inline(always)]
30914            pub fn rvu(&self) -> RVU_R {
30915                RVU_R::new(((self.bits >> 1) & 0x01) != 0)
30916            }
30917            ///Bit 0 - Watchdog prescaler value update
30918            #[inline(always)]
30919            pub fn pvu(&self) -> PVU_R {
30920                PVU_R::new((self.bits & 0x01) != 0)
30921            }
30922        }
30923    }
30924    ///Window register
30925    ///
30926    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
30927    ///
30928    ///For information about available fields see [winr](winr) module
30929    pub type WINR = crate::Reg<u32, _WINR>;
30930    #[allow(missing_docs)]
30931    #[doc(hidden)]
30932    pub struct _WINR;
30933    ///`read()` method returns [winr::R](winr::R) reader structure
30934    impl crate::Readable for WINR {}
30935    ///`write(|w| ..)` method takes [winr::W](winr::W) writer structure
30936    impl crate::Writable for WINR {}
30937    ///Window register
30938    pub mod winr {
30939        ///Reader of register WINR
30940        pub type R = crate::R<u32, super::WINR>;
30941        ///Writer for register WINR
30942        pub type W = crate::W<u32, super::WINR>;
30943        ///Register WINR `reset()`'s with value 0x0fff
30944        impl crate::ResetValue for super::WINR {
30945            type Type = u32;
30946            #[inline(always)]
30947            fn reset_value() -> Self::Type {
30948                0x0fff
30949            }
30950        }
30951        ///Reader of field `WIN`
30952        pub type WIN_R = crate::R<u16, u16>;
30953        ///Write proxy for field `WIN`
30954        pub struct WIN_W<'a> {
30955            w: &'a mut W,
30956        }
30957        impl<'a> WIN_W<'a> {
30958            ///Writes raw bits to the field
30959            #[inline(always)]
30960            pub unsafe fn bits(self, value: u16) -> &'a mut W {
30961                self.w.bits = (self.w.bits & !0x0fff) | ((value as u32) & 0x0fff);
30962                self.w
30963            }
30964        }
30965        impl R {
30966            ///Bits 0:11 - Watchdog counter window value
30967            #[inline(always)]
30968            pub fn win(&self) -> WIN_R {
30969                WIN_R::new((self.bits & 0x0fff) as u16)
30970            }
30971        }
30972        impl W {
30973            ///Bits 0:11 - Watchdog counter window value
30974            #[inline(always)]
30975            pub fn win(&mut self) -> WIN_W {
30976                WIN_W { w: self }
30977            }
30978        }
30979    }
30980}
30981///System window watchdog
30982pub struct WWDG {
30983    _marker: PhantomData<*const ()>,
30984}
30985unsafe impl Send for WWDG {}
30986impl WWDG {
30987    ///Returns a pointer to the register block
30988    #[inline(always)]
30989    pub const fn ptr() -> *const wwdg::RegisterBlock {
30990        0x4000_2c00 as *const _
30991    }
30992}
30993impl Deref for WWDG {
30994    type Target = wwdg::RegisterBlock;
30995    #[inline(always)]
30996    fn deref(&self) -> &Self::Target {
30997        unsafe { &*WWDG::ptr() }
30998    }
30999}
31000///System window watchdog
31001pub mod wwdg {
31002    ///Register block
31003    #[repr(C)]
31004    pub struct RegisterBlock {
31005        ///0x00 - Control register
31006        pub cr: CR,
31007        ///0x04 - Configuration register
31008        pub cfr: CFR,
31009        ///0x08 - Status register
31010        pub sr: SR,
31011    }
31012    ///Control register
31013    ///
31014    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
31015    ///
31016    ///For information about available fields see [cr](cr) module
31017    pub type CR = crate::Reg<u32, _CR>;
31018    #[allow(missing_docs)]
31019    #[doc(hidden)]
31020    pub struct _CR;
31021    ///`read()` method returns [cr::R](cr::R) reader structure
31022    impl crate::Readable for CR {}
31023    ///`write(|w| ..)` method takes [cr::W](cr::W) writer structure
31024    impl crate::Writable for CR {}
31025    ///Control register
31026    pub mod cr {
31027        ///Reader of register CR
31028        pub type R = crate::R<u32, super::CR>;
31029        ///Writer for register CR
31030        pub type W = crate::W<u32, super::CR>;
31031        ///Register CR `reset()`'s with value 0x7f
31032        impl crate::ResetValue for super::CR {
31033            type Type = u32;
31034            #[inline(always)]
31035            fn reset_value() -> Self::Type {
31036                0x7f
31037            }
31038        }
31039        ///Reader of field `WDGA`
31040        pub type WDGA_R = crate::R<bool, bool>;
31041        ///Write proxy for field `WDGA`
31042        pub struct WDGA_W<'a> {
31043            w: &'a mut W,
31044        }
31045        impl<'a> WDGA_W<'a> {
31046            ///Sets the field bit
31047            #[inline(always)]
31048            pub fn set_bit(self) -> &'a mut W {
31049                self.bit(true)
31050            }
31051            ///Clears the field bit
31052            #[inline(always)]
31053            pub fn clear_bit(self) -> &'a mut W {
31054                self.bit(false)
31055            }
31056            ///Writes raw bits to the field
31057            #[inline(always)]
31058            pub fn bit(self, value: bool) -> &'a mut W {
31059                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
31060                self.w
31061            }
31062        }
31063        ///Reader of field `T`
31064        pub type T_R = crate::R<u8, u8>;
31065        ///Write proxy for field `T`
31066        pub struct T_W<'a> {
31067            w: &'a mut W,
31068        }
31069        impl<'a> T_W<'a> {
31070            ///Writes raw bits to the field
31071            #[inline(always)]
31072            pub unsafe fn bits(self, value: u8) -> &'a mut W {
31073                self.w.bits = (self.w.bits & !0x7f) | ((value as u32) & 0x7f);
31074                self.w
31075            }
31076        }
31077        impl R {
31078            ///Bit 7 - Activation bit
31079            #[inline(always)]
31080            pub fn wdga(&self) -> WDGA_R {
31081                WDGA_R::new(((self.bits >> 7) & 0x01) != 0)
31082            }
31083            ///Bits 0:6 - 7-bit counter (MSB to LSB)
31084            #[inline(always)]
31085            pub fn t(&self) -> T_R {
31086                T_R::new((self.bits & 0x7f) as u8)
31087            }
31088        }
31089        impl W {
31090            ///Bit 7 - Activation bit
31091            #[inline(always)]
31092            pub fn wdga(&mut self) -> WDGA_W {
31093                WDGA_W { w: self }
31094            }
31095            ///Bits 0:6 - 7-bit counter (MSB to LSB)
31096            #[inline(always)]
31097            pub fn t(&mut self) -> T_W {
31098                T_W { w: self }
31099            }
31100        }
31101    }
31102    ///Configuration register
31103    ///
31104    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
31105    ///
31106    ///For information about available fields see [cfr](cfr) module
31107    pub type CFR = crate::Reg<u32, _CFR>;
31108    #[allow(missing_docs)]
31109    #[doc(hidden)]
31110    pub struct _CFR;
31111    ///`read()` method returns [cfr::R](cfr::R) reader structure
31112    impl crate::Readable for CFR {}
31113    ///`write(|w| ..)` method takes [cfr::W](cfr::W) writer structure
31114    impl crate::Writable for CFR {}
31115    ///Configuration register
31116    pub mod cfr {
31117        ///Reader of register CFR
31118        pub type R = crate::R<u32, super::CFR>;
31119        ///Writer for register CFR
31120        pub type W = crate::W<u32, super::CFR>;
31121        ///Register CFR `reset()`'s with value 0x7f
31122        impl crate::ResetValue for super::CFR {
31123            type Type = u32;
31124            #[inline(always)]
31125            fn reset_value() -> Self::Type {
31126                0x7f
31127            }
31128        }
31129        ///Reader of field `WDGTB`
31130        pub type WDGTB_R = crate::R<u8, u8>;
31131        ///Write proxy for field `WDGTB`
31132        pub struct WDGTB_W<'a> {
31133            w: &'a mut W,
31134        }
31135        impl<'a> WDGTB_W<'a> {
31136            ///Writes raw bits to the field
31137            #[inline(always)]
31138            pub unsafe fn bits(self, value: u8) -> &'a mut W {
31139                self.w.bits = (self.w.bits & !(0x07 << 11)) | (((value as u32) & 0x07) << 11);
31140                self.w
31141            }
31142        }
31143        ///Reader of field `EWI`
31144        pub type EWI_R = crate::R<bool, bool>;
31145        ///Write proxy for field `EWI`
31146        pub struct EWI_W<'a> {
31147            w: &'a mut W,
31148        }
31149        impl<'a> EWI_W<'a> {
31150            ///Sets the field bit
31151            #[inline(always)]
31152            pub fn set_bit(self) -> &'a mut W {
31153                self.bit(true)
31154            }
31155            ///Clears the field bit
31156            #[inline(always)]
31157            pub fn clear_bit(self) -> &'a mut W {
31158                self.bit(false)
31159            }
31160            ///Writes raw bits to the field
31161            #[inline(always)]
31162            pub fn bit(self, value: bool) -> &'a mut W {
31163                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
31164                self.w
31165            }
31166        }
31167        ///Reader of field `W`
31168        pub type W_R = crate::R<u8, u8>;
31169        ///Write proxy for field `W`
31170        pub struct W_W<'a> {
31171            w: &'a mut W,
31172        }
31173        impl<'a> W_W<'a> {
31174            ///Writes raw bits to the field
31175            #[inline(always)]
31176            pub unsafe fn bits(self, value: u8) -> &'a mut W {
31177                self.w.bits = (self.w.bits & !0x7f) | ((value as u32) & 0x7f);
31178                self.w
31179            }
31180        }
31181        impl R {
31182            ///Bits 11:13 - Timer base
31183            #[inline(always)]
31184            pub fn wdgtb(&self) -> WDGTB_R {
31185                WDGTB_R::new(((self.bits >> 11) & 0x07) as u8)
31186            }
31187            ///Bit 9 - Early wakeup interrupt
31188            #[inline(always)]
31189            pub fn ewi(&self) -> EWI_R {
31190                EWI_R::new(((self.bits >> 9) & 0x01) != 0)
31191            }
31192            ///Bits 0:6 - 7-bit window value
31193            #[inline(always)]
31194            pub fn w(&self) -> W_R {
31195                W_R::new((self.bits & 0x7f) as u8)
31196            }
31197        }
31198        impl W {
31199            ///Bits 11:13 - Timer base
31200            #[inline(always)]
31201            pub fn wdgtb(&mut self) -> WDGTB_W {
31202                WDGTB_W { w: self }
31203            }
31204            ///Bit 9 - Early wakeup interrupt
31205            #[inline(always)]
31206            pub fn ewi(&mut self) -> EWI_W {
31207                EWI_W { w: self }
31208            }
31209            ///Bits 0:6 - 7-bit window value
31210            #[inline(always)]
31211            pub fn w(&mut self) -> W_W {
31212                W_W { w: self }
31213            }
31214        }
31215    }
31216    ///Status register
31217    ///
31218    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
31219    ///
31220    ///For information about available fields see [sr](sr) module
31221    pub type SR = crate::Reg<u32, _SR>;
31222    #[allow(missing_docs)]
31223    #[doc(hidden)]
31224    pub struct _SR;
31225    ///`read()` method returns [sr::R](sr::R) reader structure
31226    impl crate::Readable for SR {}
31227    ///`write(|w| ..)` method takes [sr::W](sr::W) writer structure
31228    impl crate::Writable for SR {}
31229    ///Status register
31230    pub mod sr {
31231        ///Reader of register SR
31232        pub type R = crate::R<u32, super::SR>;
31233        ///Writer for register SR
31234        pub type W = crate::W<u32, super::SR>;
31235        ///Register SR `reset()`'s with value 0
31236        impl crate::ResetValue for super::SR {
31237            type Type = u32;
31238            #[inline(always)]
31239            fn reset_value() -> Self::Type {
31240                0
31241            }
31242        }
31243        ///Reader of field `EWIF`
31244        pub type EWIF_R = crate::R<bool, bool>;
31245        ///Write proxy for field `EWIF`
31246        pub struct EWIF_W<'a> {
31247            w: &'a mut W,
31248        }
31249        impl<'a> EWIF_W<'a> {
31250            ///Sets the field bit
31251            #[inline(always)]
31252            pub fn set_bit(self) -> &'a mut W {
31253                self.bit(true)
31254            }
31255            ///Clears the field bit
31256            #[inline(always)]
31257            pub fn clear_bit(self) -> &'a mut W {
31258                self.bit(false)
31259            }
31260            ///Writes raw bits to the field
31261            #[inline(always)]
31262            pub fn bit(self, value: bool) -> &'a mut W {
31263                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
31264                self.w
31265            }
31266        }
31267        impl R {
31268            ///Bit 0 - Early wakeup interrupt flag
31269            #[inline(always)]
31270            pub fn ewif(&self) -> EWIF_R {
31271                EWIF_R::new((self.bits & 0x01) != 0)
31272            }
31273        }
31274        impl W {
31275            ///Bit 0 - Early wakeup interrupt flag
31276            #[inline(always)]
31277            pub fn ewif(&mut self) -> EWIF_W {
31278                EWIF_W { w: self }
31279            }
31280        }
31281    }
31282}
31283///Comparator instance 1
31284pub struct COMP {
31285    _marker: PhantomData<*const ()>,
31286}
31287unsafe impl Send for COMP {}
31288impl COMP {
31289    ///Returns a pointer to the register block
31290    #[inline(always)]
31291    pub const fn ptr() -> *const comp::RegisterBlock {
31292        0x4001_0200 as *const _
31293    }
31294}
31295impl Deref for COMP {
31296    type Target = comp::RegisterBlock;
31297    #[inline(always)]
31298    fn deref(&self) -> &Self::Target {
31299        unsafe { &*COMP::ptr() }
31300    }
31301}
31302///Comparator instance 1
31303pub mod comp {
31304    ///Register block
31305    #[repr(C)]
31306    pub struct RegisterBlock {
31307        ///0x00 - Comparator control and status register
31308        pub comp1_csr: COMP1_CSR,
31309        ///0x04 - Comparator 2 control and status register
31310        pub comp2_csr: COMP2_CSR,
31311    }
31312    ///Comparator control and status register
31313    ///
31314    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
31315    ///
31316    ///For information about available fields see [comp1_csr](comp1_csr) module
31317    pub type COMP1_CSR = crate::Reg<u32, _COMP1_CSR>;
31318    #[allow(missing_docs)]
31319    #[doc(hidden)]
31320    pub struct _COMP1_CSR;
31321    ///`read()` method returns [comp1_csr::R](comp1_csr::R) reader structure
31322    impl crate::Readable for COMP1_CSR {}
31323    ///`write(|w| ..)` method takes [comp1_csr::W](comp1_csr::W) writer structure
31324    impl crate::Writable for COMP1_CSR {}
31325    ///Comparator control and status register
31326    pub mod comp1_csr {
31327        ///Reader of register COMP1_CSR
31328        pub type R = crate::R<u32, super::COMP1_CSR>;
31329        ///Writer for register COMP1_CSR
31330        pub type W = crate::W<u32, super::COMP1_CSR>;
31331        ///Register COMP1_CSR `reset()`'s with value 0
31332        impl crate::ResetValue for super::COMP1_CSR {
31333            type Type = u32;
31334            #[inline(always)]
31335            fn reset_value() -> Self::Type {
31336                0
31337            }
31338        }
31339        ///Reader of field `COMP1_EN`
31340        pub type COMP1_EN_R = crate::R<bool, bool>;
31341        ///Write proxy for field `COMP1_EN`
31342        pub struct COMP1_EN_W<'a> {
31343            w: &'a mut W,
31344        }
31345        impl<'a> COMP1_EN_W<'a> {
31346            ///Sets the field bit
31347            #[inline(always)]
31348            pub fn set_bit(self) -> &'a mut W {
31349                self.bit(true)
31350            }
31351            ///Clears the field bit
31352            #[inline(always)]
31353            pub fn clear_bit(self) -> &'a mut W {
31354                self.bit(false)
31355            }
31356            ///Writes raw bits to the field
31357            #[inline(always)]
31358            pub fn bit(self, value: bool) -> &'a mut W {
31359                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
31360                self.w
31361            }
31362        }
31363        ///Reader of field `COMP1_PWRMODE`
31364        pub type COMP1_PWRMODE_R = crate::R<u8, u8>;
31365        ///Write proxy for field `COMP1_PWRMODE`
31366        pub struct COMP1_PWRMODE_W<'a> {
31367            w: &'a mut W,
31368        }
31369        impl<'a> COMP1_PWRMODE_W<'a> {
31370            ///Writes raw bits to the field
31371            #[inline(always)]
31372            pub unsafe fn bits(self, value: u8) -> &'a mut W {
31373                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
31374                self.w
31375            }
31376        }
31377        ///Reader of field `COMP1_INMSEL`
31378        pub type COMP1_INMSEL_R = crate::R<u8, u8>;
31379        ///Write proxy for field `COMP1_INMSEL`
31380        pub struct COMP1_INMSEL_W<'a> {
31381            w: &'a mut W,
31382        }
31383        impl<'a> COMP1_INMSEL_W<'a> {
31384            ///Writes raw bits to the field
31385            #[inline(always)]
31386            pub unsafe fn bits(self, value: u8) -> &'a mut W {
31387                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
31388                self.w
31389            }
31390        }
31391        ///Reader of field `COMP1_INPSEL`
31392        pub type COMP1_INPSEL_R = crate::R<u8, u8>;
31393        ///Write proxy for field `COMP1_INPSEL`
31394        pub struct COMP1_INPSEL_W<'a> {
31395            w: &'a mut W,
31396        }
31397        impl<'a> COMP1_INPSEL_W<'a> {
31398            ///Writes raw bits to the field
31399            #[inline(always)]
31400            pub unsafe fn bits(self, value: u8) -> &'a mut W {
31401                self.w.bits = (self.w.bits & !(0x03 << 7)) | (((value as u32) & 0x03) << 7);
31402                self.w
31403            }
31404        }
31405        ///Reader of field `COMP1_POLARITY`
31406        pub type COMP1_POLARITY_R = crate::R<bool, bool>;
31407        ///Write proxy for field `COMP1_POLARITY`
31408        pub struct COMP1_POLARITY_W<'a> {
31409            w: &'a mut W,
31410        }
31411        impl<'a> COMP1_POLARITY_W<'a> {
31412            ///Sets the field bit
31413            #[inline(always)]
31414            pub fn set_bit(self) -> &'a mut W {
31415                self.bit(true)
31416            }
31417            ///Clears the field bit
31418            #[inline(always)]
31419            pub fn clear_bit(self) -> &'a mut W {
31420                self.bit(false)
31421            }
31422            ///Writes raw bits to the field
31423            #[inline(always)]
31424            pub fn bit(self, value: bool) -> &'a mut W {
31425                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
31426                self.w
31427            }
31428        }
31429        ///Reader of field `COMP1_HYST`
31430        pub type COMP1_HYST_R = crate::R<u8, u8>;
31431        ///Write proxy for field `COMP1_HYST`
31432        pub struct COMP1_HYST_W<'a> {
31433            w: &'a mut W,
31434        }
31435        impl<'a> COMP1_HYST_W<'a> {
31436            ///Writes raw bits to the field
31437            #[inline(always)]
31438            pub unsafe fn bits(self, value: u8) -> &'a mut W {
31439                self.w.bits = (self.w.bits & !(0x03 << 16)) | (((value as u32) & 0x03) << 16);
31440                self.w
31441            }
31442        }
31443        ///Reader of field `COMP1_BLANKING`
31444        pub type COMP1_BLANKING_R = crate::R<u8, u8>;
31445        ///Write proxy for field `COMP1_BLANKING`
31446        pub struct COMP1_BLANKING_W<'a> {
31447            w: &'a mut W,
31448        }
31449        impl<'a> COMP1_BLANKING_W<'a> {
31450            ///Writes raw bits to the field
31451            #[inline(always)]
31452            pub unsafe fn bits(self, value: u8) -> &'a mut W {
31453                self.w.bits = (self.w.bits & !(0x07 << 18)) | (((value as u32) & 0x07) << 18);
31454                self.w
31455            }
31456        }
31457        ///Reader of field `COMP1_BRGEN`
31458        pub type COMP1_BRGEN_R = crate::R<bool, bool>;
31459        ///Write proxy for field `COMP1_BRGEN`
31460        pub struct COMP1_BRGEN_W<'a> {
31461            w: &'a mut W,
31462        }
31463        impl<'a> COMP1_BRGEN_W<'a> {
31464            ///Sets the field bit
31465            #[inline(always)]
31466            pub fn set_bit(self) -> &'a mut W {
31467                self.bit(true)
31468            }
31469            ///Clears the field bit
31470            #[inline(always)]
31471            pub fn clear_bit(self) -> &'a mut W {
31472                self.bit(false)
31473            }
31474            ///Writes raw bits to the field
31475            #[inline(always)]
31476            pub fn bit(self, value: bool) -> &'a mut W {
31477                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
31478                self.w
31479            }
31480        }
31481        ///Reader of field `COMP1_SCALEN`
31482        pub type COMP1_SCALEN_R = crate::R<bool, bool>;
31483        ///Write proxy for field `COMP1_SCALEN`
31484        pub struct COMP1_SCALEN_W<'a> {
31485            w: &'a mut W,
31486        }
31487        impl<'a> COMP1_SCALEN_W<'a> {
31488            ///Sets the field bit
31489            #[inline(always)]
31490            pub fn set_bit(self) -> &'a mut W {
31491                self.bit(true)
31492            }
31493            ///Clears the field bit
31494            #[inline(always)]
31495            pub fn clear_bit(self) -> &'a mut W {
31496                self.bit(false)
31497            }
31498            ///Writes raw bits to the field
31499            #[inline(always)]
31500            pub fn bit(self, value: bool) -> &'a mut W {
31501                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
31502                self.w
31503            }
31504        }
31505        ///Reader of field `COMP1_INMESEL`
31506        pub type COMP1_INMESEL_R = crate::R<u8, u8>;
31507        ///Write proxy for field `COMP1_INMESEL`
31508        pub struct COMP1_INMESEL_W<'a> {
31509            w: &'a mut W,
31510        }
31511        impl<'a> COMP1_INMESEL_W<'a> {
31512            ///Writes raw bits to the field
31513            #[inline(always)]
31514            pub unsafe fn bits(self, value: u8) -> &'a mut W {
31515                self.w.bits = (self.w.bits & !(0x03 << 25)) | (((value as u32) & 0x03) << 25);
31516                self.w
31517            }
31518        }
31519        ///Reader of field `COMP1_VALUE`
31520        pub type COMP1_VALUE_R = crate::R<bool, bool>;
31521        ///Reader of field `COMP1_LOCK`
31522        pub type COMP1_LOCK_R = crate::R<bool, bool>;
31523        ///Write proxy for field `COMP1_LOCK`
31524        pub struct COMP1_LOCK_W<'a> {
31525            w: &'a mut W,
31526        }
31527        impl<'a> COMP1_LOCK_W<'a> {
31528            ///Sets the field bit
31529            #[inline(always)]
31530            pub fn set_bit(self) -> &'a mut W {
31531                self.bit(true)
31532            }
31533            ///Clears the field bit
31534            #[inline(always)]
31535            pub fn clear_bit(self) -> &'a mut W {
31536                self.bit(false)
31537            }
31538            ///Writes raw bits to the field
31539            #[inline(always)]
31540            pub fn bit(self, value: bool) -> &'a mut W {
31541                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
31542                self.w
31543            }
31544        }
31545        impl R {
31546            ///Bit 0 - Comparator enable
31547            #[inline(always)]
31548            pub fn comp1_en(&self) -> COMP1_EN_R {
31549                COMP1_EN_R::new((self.bits & 0x01) != 0)
31550            }
31551            ///Bits 2:3 - Comparator power mode
31552            #[inline(always)]
31553            pub fn comp1_pwrmode(&self) -> COMP1_PWRMODE_R {
31554                COMP1_PWRMODE_R::new(((self.bits >> 2) & 0x03) as u8)
31555            }
31556            ///Bits 4:6 - Comparator input minus selection
31557            #[inline(always)]
31558            pub fn comp1_inmsel(&self) -> COMP1_INMSEL_R {
31559                COMP1_INMSEL_R::new(((self.bits >> 4) & 0x07) as u8)
31560            }
31561            ///Bits 7:8 - Comparator input plus selection
31562            #[inline(always)]
31563            pub fn comp1_inpsel(&self) -> COMP1_INPSEL_R {
31564                COMP1_INPSEL_R::new(((self.bits >> 7) & 0x03) as u8)
31565            }
31566            ///Bit 15 - Comparator output polarity
31567            #[inline(always)]
31568            pub fn comp1_polarity(&self) -> COMP1_POLARITY_R {
31569                COMP1_POLARITY_R::new(((self.bits >> 15) & 0x01) != 0)
31570            }
31571            ///Bits 16:17 - Comparator hysteresis
31572            #[inline(always)]
31573            pub fn comp1_hyst(&self) -> COMP1_HYST_R {
31574                COMP1_HYST_R::new(((self.bits >> 16) & 0x03) as u8)
31575            }
31576            ///Bits 18:20 - Comparator blanking source
31577            #[inline(always)]
31578            pub fn comp1_blanking(&self) -> COMP1_BLANKING_R {
31579                COMP1_BLANKING_R::new(((self.bits >> 18) & 0x07) as u8)
31580            }
31581            ///Bit 22 - Comparator voltage scaler enable
31582            #[inline(always)]
31583            pub fn comp1_brgen(&self) -> COMP1_BRGEN_R {
31584                COMP1_BRGEN_R::new(((self.bits >> 22) & 0x01) != 0)
31585            }
31586            ///Bit 23 - Comparator scaler bridge enable
31587            #[inline(always)]
31588            pub fn comp1_scalen(&self) -> COMP1_SCALEN_R {
31589                COMP1_SCALEN_R::new(((self.bits >> 23) & 0x01) != 0)
31590            }
31591            ///Bits 25:26 - Comparator input minus extended selection
31592            #[inline(always)]
31593            pub fn comp1_inmesel(&self) -> COMP1_INMESEL_R {
31594                COMP1_INMESEL_R::new(((self.bits >> 25) & 0x03) as u8)
31595            }
31596            ///Bit 30 - Comparator output level
31597            #[inline(always)]
31598            pub fn comp1_value(&self) -> COMP1_VALUE_R {
31599                COMP1_VALUE_R::new(((self.bits >> 30) & 0x01) != 0)
31600            }
31601            ///Bit 31 - Comparator lock
31602            #[inline(always)]
31603            pub fn comp1_lock(&self) -> COMP1_LOCK_R {
31604                COMP1_LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
31605            }
31606        }
31607        impl W {
31608            ///Bit 0 - Comparator enable
31609            #[inline(always)]
31610            pub fn comp1_en(&mut self) -> COMP1_EN_W {
31611                COMP1_EN_W { w: self }
31612            }
31613            ///Bits 2:3 - Comparator power mode
31614            #[inline(always)]
31615            pub fn comp1_pwrmode(&mut self) -> COMP1_PWRMODE_W {
31616                COMP1_PWRMODE_W { w: self }
31617            }
31618            ///Bits 4:6 - Comparator input minus selection
31619            #[inline(always)]
31620            pub fn comp1_inmsel(&mut self) -> COMP1_INMSEL_W {
31621                COMP1_INMSEL_W { w: self }
31622            }
31623            ///Bits 7:8 - Comparator input plus selection
31624            #[inline(always)]
31625            pub fn comp1_inpsel(&mut self) -> COMP1_INPSEL_W {
31626                COMP1_INPSEL_W { w: self }
31627            }
31628            ///Bit 15 - Comparator output polarity
31629            #[inline(always)]
31630            pub fn comp1_polarity(&mut self) -> COMP1_POLARITY_W {
31631                COMP1_POLARITY_W { w: self }
31632            }
31633            ///Bits 16:17 - Comparator hysteresis
31634            #[inline(always)]
31635            pub fn comp1_hyst(&mut self) -> COMP1_HYST_W {
31636                COMP1_HYST_W { w: self }
31637            }
31638            ///Bits 18:20 - Comparator blanking source
31639            #[inline(always)]
31640            pub fn comp1_blanking(&mut self) -> COMP1_BLANKING_W {
31641                COMP1_BLANKING_W { w: self }
31642            }
31643            ///Bit 22 - Comparator voltage scaler enable
31644            #[inline(always)]
31645            pub fn comp1_brgen(&mut self) -> COMP1_BRGEN_W {
31646                COMP1_BRGEN_W { w: self }
31647            }
31648            ///Bit 23 - Comparator scaler bridge enable
31649            #[inline(always)]
31650            pub fn comp1_scalen(&mut self) -> COMP1_SCALEN_W {
31651                COMP1_SCALEN_W { w: self }
31652            }
31653            ///Bits 25:26 - Comparator input minus extended selection
31654            #[inline(always)]
31655            pub fn comp1_inmesel(&mut self) -> COMP1_INMESEL_W {
31656                COMP1_INMESEL_W { w: self }
31657            }
31658            ///Bit 31 - Comparator lock
31659            #[inline(always)]
31660            pub fn comp1_lock(&mut self) -> COMP1_LOCK_W {
31661                COMP1_LOCK_W { w: self }
31662            }
31663        }
31664    }
31665    ///Comparator 2 control and status register
31666    ///
31667    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
31668    ///
31669    ///For information about available fields see [comp2_csr](comp2_csr) module
31670    pub type COMP2_CSR = crate::Reg<u32, _COMP2_CSR>;
31671    #[allow(missing_docs)]
31672    #[doc(hidden)]
31673    pub struct _COMP2_CSR;
31674    ///`read()` method returns [comp2_csr::R](comp2_csr::R) reader structure
31675    impl crate::Readable for COMP2_CSR {}
31676    ///`write(|w| ..)` method takes [comp2_csr::W](comp2_csr::W) writer structure
31677    impl crate::Writable for COMP2_CSR {}
31678    ///Comparator 2 control and status register
31679    pub mod comp2_csr {
31680        ///Reader of register COMP2_CSR
31681        pub type R = crate::R<u32, super::COMP2_CSR>;
31682        ///Writer for register COMP2_CSR
31683        pub type W = crate::W<u32, super::COMP2_CSR>;
31684        ///Register COMP2_CSR `reset()`'s with value 0
31685        impl crate::ResetValue for super::COMP2_CSR {
31686            type Type = u32;
31687            #[inline(always)]
31688            fn reset_value() -> Self::Type {
31689                0
31690            }
31691        }
31692        ///Reader of field `COMP2_EN`
31693        pub type COMP2_EN_R = crate::R<bool, bool>;
31694        ///Write proxy for field `COMP2_EN`
31695        pub struct COMP2_EN_W<'a> {
31696            w: &'a mut W,
31697        }
31698        impl<'a> COMP2_EN_W<'a> {
31699            ///Sets the field bit
31700            #[inline(always)]
31701            pub fn set_bit(self) -> &'a mut W {
31702                self.bit(true)
31703            }
31704            ///Clears the field bit
31705            #[inline(always)]
31706            pub fn clear_bit(self) -> &'a mut W {
31707                self.bit(false)
31708            }
31709            ///Writes raw bits to the field
31710            #[inline(always)]
31711            pub fn bit(self, value: bool) -> &'a mut W {
31712                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
31713                self.w
31714            }
31715        }
31716        ///Reader of field `COMP2_PWRMODE`
31717        pub type COMP2_PWRMODE_R = crate::R<u8, u8>;
31718        ///Write proxy for field `COMP2_PWRMODE`
31719        pub struct COMP2_PWRMODE_W<'a> {
31720            w: &'a mut W,
31721        }
31722        impl<'a> COMP2_PWRMODE_W<'a> {
31723            ///Writes raw bits to the field
31724            #[inline(always)]
31725            pub unsafe fn bits(self, value: u8) -> &'a mut W {
31726                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
31727                self.w
31728            }
31729        }
31730        ///Reader of field `COMP2_INMSEL`
31731        pub type COMP2_INMSEL_R = crate::R<u8, u8>;
31732        ///Write proxy for field `COMP2_INMSEL`
31733        pub struct COMP2_INMSEL_W<'a> {
31734            w: &'a mut W,
31735        }
31736        impl<'a> COMP2_INMSEL_W<'a> {
31737            ///Writes raw bits to the field
31738            #[inline(always)]
31739            pub unsafe fn bits(self, value: u8) -> &'a mut W {
31740                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u32) & 0x03) << 4);
31741                self.w
31742            }
31743        }
31744        ///Reader of field `COMP2_INPSEL`
31745        pub type COMP2_INPSEL_R = crate::R<u8, u8>;
31746        ///Write proxy for field `COMP2_INPSEL`
31747        pub struct COMP2_INPSEL_W<'a> {
31748            w: &'a mut W,
31749        }
31750        impl<'a> COMP2_INPSEL_W<'a> {
31751            ///Writes raw bits to the field
31752            #[inline(always)]
31753            pub unsafe fn bits(self, value: u8) -> &'a mut W {
31754                self.w.bits = (self.w.bits & !(0x03 << 7)) | (((value as u32) & 0x03) << 7);
31755                self.w
31756            }
31757        }
31758        ///Reader of field `COMP2_WINMODE`
31759        pub type COMP2_WINMODE_R = crate::R<bool, bool>;
31760        ///Write proxy for field `COMP2_WINMODE`
31761        pub struct COMP2_WINMODE_W<'a> {
31762            w: &'a mut W,
31763        }
31764        impl<'a> COMP2_WINMODE_W<'a> {
31765            ///Sets the field bit
31766            #[inline(always)]
31767            pub fn set_bit(self) -> &'a mut W {
31768                self.bit(true)
31769            }
31770            ///Clears the field bit
31771            #[inline(always)]
31772            pub fn clear_bit(self) -> &'a mut W {
31773                self.bit(false)
31774            }
31775            ///Writes raw bits to the field
31776            #[inline(always)]
31777            pub fn bit(self, value: bool) -> &'a mut W {
31778                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
31779                self.w
31780            }
31781        }
31782        ///Reader of field `COMP2_POLARITY`
31783        pub type COMP2_POLARITY_R = crate::R<bool, bool>;
31784        ///Write proxy for field `COMP2_POLARITY`
31785        pub struct COMP2_POLARITY_W<'a> {
31786            w: &'a mut W,
31787        }
31788        impl<'a> COMP2_POLARITY_W<'a> {
31789            ///Sets the field bit
31790            #[inline(always)]
31791            pub fn set_bit(self) -> &'a mut W {
31792                self.bit(true)
31793            }
31794            ///Clears the field bit
31795            #[inline(always)]
31796            pub fn clear_bit(self) -> &'a mut W {
31797                self.bit(false)
31798            }
31799            ///Writes raw bits to the field
31800            #[inline(always)]
31801            pub fn bit(self, value: bool) -> &'a mut W {
31802                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
31803                self.w
31804            }
31805        }
31806        ///Reader of field `COMP2_HYST`
31807        pub type COMP2_HYST_R = crate::R<u8, u8>;
31808        ///Write proxy for field `COMP2_HYST`
31809        pub struct COMP2_HYST_W<'a> {
31810            w: &'a mut W,
31811        }
31812        impl<'a> COMP2_HYST_W<'a> {
31813            ///Writes raw bits to the field
31814            #[inline(always)]
31815            pub unsafe fn bits(self, value: u8) -> &'a mut W {
31816                self.w.bits = (self.w.bits & !(0x03 << 16)) | (((value as u32) & 0x03) << 16);
31817                self.w
31818            }
31819        }
31820        ///Reader of field `COMP2_BLANKING`
31821        pub type COMP2_BLANKING_R = crate::R<u8, u8>;
31822        ///Write proxy for field `COMP2_BLANKING`
31823        pub struct COMP2_BLANKING_W<'a> {
31824            w: &'a mut W,
31825        }
31826        impl<'a> COMP2_BLANKING_W<'a> {
31827            ///Writes raw bits to the field
31828            #[inline(always)]
31829            pub unsafe fn bits(self, value: u8) -> &'a mut W {
31830                self.w.bits = (self.w.bits & !(0x07 << 18)) | (((value as u32) & 0x07) << 18);
31831                self.w
31832            }
31833        }
31834        ///Reader of field `COMP2_BRGEN`
31835        pub type COMP2_BRGEN_R = crate::R<bool, bool>;
31836        ///Write proxy for field `COMP2_BRGEN`
31837        pub struct COMP2_BRGEN_W<'a> {
31838            w: &'a mut W,
31839        }
31840        impl<'a> COMP2_BRGEN_W<'a> {
31841            ///Sets the field bit
31842            #[inline(always)]
31843            pub fn set_bit(self) -> &'a mut W {
31844                self.bit(true)
31845            }
31846            ///Clears the field bit
31847            #[inline(always)]
31848            pub fn clear_bit(self) -> &'a mut W {
31849                self.bit(false)
31850            }
31851            ///Writes raw bits to the field
31852            #[inline(always)]
31853            pub fn bit(self, value: bool) -> &'a mut W {
31854                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
31855                self.w
31856            }
31857        }
31858        ///Reader of field `COMP2_SCALEN`
31859        pub type COMP2_SCALEN_R = crate::R<bool, bool>;
31860        ///Write proxy for field `COMP2_SCALEN`
31861        pub struct COMP2_SCALEN_W<'a> {
31862            w: &'a mut W,
31863        }
31864        impl<'a> COMP2_SCALEN_W<'a> {
31865            ///Sets the field bit
31866            #[inline(always)]
31867            pub fn set_bit(self) -> &'a mut W {
31868                self.bit(true)
31869            }
31870            ///Clears the field bit
31871            #[inline(always)]
31872            pub fn clear_bit(self) -> &'a mut W {
31873                self.bit(false)
31874            }
31875            ///Writes raw bits to the field
31876            #[inline(always)]
31877            pub fn bit(self, value: bool) -> &'a mut W {
31878                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
31879                self.w
31880            }
31881        }
31882        ///Reader of field `COMP2_INMESEL`
31883        pub type COMP2_INMESEL_R = crate::R<u8, u8>;
31884        ///Write proxy for field `COMP2_INMESEL`
31885        pub struct COMP2_INMESEL_W<'a> {
31886            w: &'a mut W,
31887        }
31888        impl<'a> COMP2_INMESEL_W<'a> {
31889            ///Writes raw bits to the field
31890            #[inline(always)]
31891            pub unsafe fn bits(self, value: u8) -> &'a mut W {
31892                self.w.bits = (self.w.bits & !(0x03 << 25)) | (((value as u32) & 0x03) << 25);
31893                self.w
31894            }
31895        }
31896        ///Reader of field `COMP2_VALUE`
31897        pub type COMP2_VALUE_R = crate::R<bool, bool>;
31898        ///Reader of field `COMP2_LOCK`
31899        pub type COMP2_LOCK_R = crate::R<bool, bool>;
31900        ///Write proxy for field `COMP2_LOCK`
31901        pub struct COMP2_LOCK_W<'a> {
31902            w: &'a mut W,
31903        }
31904        impl<'a> COMP2_LOCK_W<'a> {
31905            ///Sets the field bit
31906            #[inline(always)]
31907            pub fn set_bit(self) -> &'a mut W {
31908                self.bit(true)
31909            }
31910            ///Clears the field bit
31911            #[inline(always)]
31912            pub fn clear_bit(self) -> &'a mut W {
31913                self.bit(false)
31914            }
31915            ///Writes raw bits to the field
31916            #[inline(always)]
31917            pub fn bit(self, value: bool) -> &'a mut W {
31918                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
31919                self.w
31920            }
31921        }
31922        impl R {
31923            ///Bit 0 - Comparator 2 enable bit
31924            #[inline(always)]
31925            pub fn comp2_en(&self) -> COMP2_EN_R {
31926                COMP2_EN_R::new((self.bits & 0x01) != 0)
31927            }
31928            ///Bits 2:3 - Power Mode of the comparator 2
31929            #[inline(always)]
31930            pub fn comp2_pwrmode(&self) -> COMP2_PWRMODE_R {
31931                COMP2_PWRMODE_R::new(((self.bits >> 2) & 0x03) as u8)
31932            }
31933            ///Bits 4:5 - Comparator 2 input minus selection bits
31934            #[inline(always)]
31935            pub fn comp2_inmsel(&self) -> COMP2_INMSEL_R {
31936                COMP2_INMSEL_R::new(((self.bits >> 4) & 0x03) as u8)
31937            }
31938            ///Bits 7:8 - Comparator 1 input plus selection bit
31939            #[inline(always)]
31940            pub fn comp2_inpsel(&self) -> COMP2_INPSEL_R {
31941                COMP2_INPSEL_R::new(((self.bits >> 7) & 0x03) as u8)
31942            }
31943            ///Bit 9 - Windows mode selection bit
31944            #[inline(always)]
31945            pub fn comp2_winmode(&self) -> COMP2_WINMODE_R {
31946                COMP2_WINMODE_R::new(((self.bits >> 9) & 0x01) != 0)
31947            }
31948            ///Bit 15 - Comparator 2 polarity selection bit
31949            #[inline(always)]
31950            pub fn comp2_polarity(&self) -> COMP2_POLARITY_R {
31951                COMP2_POLARITY_R::new(((self.bits >> 15) & 0x01) != 0)
31952            }
31953            ///Bits 16:17 - Comparator 2 hysteresis selection bits
31954            #[inline(always)]
31955            pub fn comp2_hyst(&self) -> COMP2_HYST_R {
31956                COMP2_HYST_R::new(((self.bits >> 16) & 0x03) as u8)
31957            }
31958            ///Bits 18:20 - Comparator 2 blanking source selection bits
31959            #[inline(always)]
31960            pub fn comp2_blanking(&self) -> COMP2_BLANKING_R {
31961                COMP2_BLANKING_R::new(((self.bits >> 18) & 0x07) as u8)
31962            }
31963            ///Bit 22 - Scaler bridge enable
31964            #[inline(always)]
31965            pub fn comp2_brgen(&self) -> COMP2_BRGEN_R {
31966                COMP2_BRGEN_R::new(((self.bits >> 22) & 0x01) != 0)
31967            }
31968            ///Bit 23 - Voltage scaler enable bit
31969            #[inline(always)]
31970            pub fn comp2_scalen(&self) -> COMP2_SCALEN_R {
31971                COMP2_SCALEN_R::new(((self.bits >> 23) & 0x01) != 0)
31972            }
31973            ///Bits 25:26 - comparator 2 input minus extended selection bits.
31974            #[inline(always)]
31975            pub fn comp2_inmesel(&self) -> COMP2_INMESEL_R {
31976                COMP2_INMESEL_R::new(((self.bits >> 25) & 0x03) as u8)
31977            }
31978            ///Bit 30 - Comparator 2 output status bit
31979            #[inline(always)]
31980            pub fn comp2_value(&self) -> COMP2_VALUE_R {
31981                COMP2_VALUE_R::new(((self.bits >> 30) & 0x01) != 0)
31982            }
31983            ///Bit 31 - CSR register lock bit
31984            #[inline(always)]
31985            pub fn comp2_lock(&self) -> COMP2_LOCK_R {
31986                COMP2_LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
31987            }
31988        }
31989        impl W {
31990            ///Bit 0 - Comparator 2 enable bit
31991            #[inline(always)]
31992            pub fn comp2_en(&mut self) -> COMP2_EN_W {
31993                COMP2_EN_W { w: self }
31994            }
31995            ///Bits 2:3 - Power Mode of the comparator 2
31996            #[inline(always)]
31997            pub fn comp2_pwrmode(&mut self) -> COMP2_PWRMODE_W {
31998                COMP2_PWRMODE_W { w: self }
31999            }
32000            ///Bits 4:5 - Comparator 2 input minus selection bits
32001            #[inline(always)]
32002            pub fn comp2_inmsel(&mut self) -> COMP2_INMSEL_W {
32003                COMP2_INMSEL_W { w: self }
32004            }
32005            ///Bits 7:8 - Comparator 1 input plus selection bit
32006            #[inline(always)]
32007            pub fn comp2_inpsel(&mut self) -> COMP2_INPSEL_W {
32008                COMP2_INPSEL_W { w: self }
32009            }
32010            ///Bit 9 - Windows mode selection bit
32011            #[inline(always)]
32012            pub fn comp2_winmode(&mut self) -> COMP2_WINMODE_W {
32013                COMP2_WINMODE_W { w: self }
32014            }
32015            ///Bit 15 - Comparator 2 polarity selection bit
32016            #[inline(always)]
32017            pub fn comp2_polarity(&mut self) -> COMP2_POLARITY_W {
32018                COMP2_POLARITY_W { w: self }
32019            }
32020            ///Bits 16:17 - Comparator 2 hysteresis selection bits
32021            #[inline(always)]
32022            pub fn comp2_hyst(&mut self) -> COMP2_HYST_W {
32023                COMP2_HYST_W { w: self }
32024            }
32025            ///Bits 18:20 - Comparator 2 blanking source selection bits
32026            #[inline(always)]
32027            pub fn comp2_blanking(&mut self) -> COMP2_BLANKING_W {
32028                COMP2_BLANKING_W { w: self }
32029            }
32030            ///Bit 22 - Scaler bridge enable
32031            #[inline(always)]
32032            pub fn comp2_brgen(&mut self) -> COMP2_BRGEN_W {
32033                COMP2_BRGEN_W { w: self }
32034            }
32035            ///Bit 23 - Voltage scaler enable bit
32036            #[inline(always)]
32037            pub fn comp2_scalen(&mut self) -> COMP2_SCALEN_W {
32038                COMP2_SCALEN_W { w: self }
32039            }
32040            ///Bits 25:26 - comparator 2 input minus extended selection bits.
32041            #[inline(always)]
32042            pub fn comp2_inmesel(&mut self) -> COMP2_INMESEL_W {
32043                COMP2_INMESEL_W { w: self }
32044            }
32045            ///Bit 31 - CSR register lock bit
32046            #[inline(always)]
32047            pub fn comp2_lock(&mut self) -> COMP2_LOCK_W {
32048                COMP2_LOCK_W { w: self }
32049            }
32050        }
32051    }
32052}
32053///Inter-integrated circuit
32054pub struct I2C1 {
32055    _marker: PhantomData<*const ()>,
32056}
32057unsafe impl Send for I2C1 {}
32058impl I2C1 {
32059    ///Returns a pointer to the register block
32060    #[inline(always)]
32061    pub const fn ptr() -> *const i2c1::RegisterBlock {
32062        0x4000_5400 as *const _
32063    }
32064}
32065impl Deref for I2C1 {
32066    type Target = i2c1::RegisterBlock;
32067    #[inline(always)]
32068    fn deref(&self) -> &Self::Target {
32069        unsafe { &*I2C1::ptr() }
32070    }
32071}
32072///Inter-integrated circuit
32073pub mod i2c1 {
32074    ///Register block
32075    #[repr(C)]
32076    pub struct RegisterBlock {
32077        ///0x00 - Control register 1
32078        pub cr1: CR1,
32079        ///0x04 - Control register 2
32080        pub cr2: CR2,
32081        ///0x08 - Own address register 1
32082        pub oar1: OAR1,
32083        ///0x0c - Own address register 2
32084        pub oar2: OAR2,
32085        ///0x10 - Timing register
32086        pub timingr: TIMINGR,
32087        ///0x14 - Status register 1
32088        pub timeoutr: TIMEOUTR,
32089        ///0x18 - Interrupt and Status register
32090        pub isr: ISR,
32091        ///0x1c - Interrupt clear register
32092        pub icr: ICR,
32093        ///0x20 - PEC register
32094        pub pecr: PECR,
32095        ///0x24 - Receive data register
32096        pub rxdr: RXDR,
32097        ///0x28 - Transmit data register
32098        pub txdr: TXDR,
32099    }
32100    ///Control register 1
32101    ///
32102    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
32103    ///
32104    ///For information about available fields see [cr1](cr1) module
32105    pub type CR1 = crate::Reg<u32, _CR1>;
32106    #[allow(missing_docs)]
32107    #[doc(hidden)]
32108    pub struct _CR1;
32109    ///`read()` method returns [cr1::R](cr1::R) reader structure
32110    impl crate::Readable for CR1 {}
32111    ///`write(|w| ..)` method takes [cr1::W](cr1::W) writer structure
32112    impl crate::Writable for CR1 {}
32113    ///Control register 1
32114    pub mod cr1 {
32115        ///Reader of register CR1
32116        pub type R = crate::R<u32, super::CR1>;
32117        ///Writer for register CR1
32118        pub type W = crate::W<u32, super::CR1>;
32119        ///Register CR1 `reset()`'s with value 0
32120        impl crate::ResetValue for super::CR1 {
32121            type Type = u32;
32122            #[inline(always)]
32123            fn reset_value() -> Self::Type {
32124                0
32125            }
32126        }
32127        ///Reader of field `PE`
32128        pub type PE_R = crate::R<bool, bool>;
32129        ///Write proxy for field `PE`
32130        pub struct PE_W<'a> {
32131            w: &'a mut W,
32132        }
32133        impl<'a> PE_W<'a> {
32134            ///Sets the field bit
32135            #[inline(always)]
32136            pub fn set_bit(self) -> &'a mut W {
32137                self.bit(true)
32138            }
32139            ///Clears the field bit
32140            #[inline(always)]
32141            pub fn clear_bit(self) -> &'a mut W {
32142                self.bit(false)
32143            }
32144            ///Writes raw bits to the field
32145            #[inline(always)]
32146            pub fn bit(self, value: bool) -> &'a mut W {
32147                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
32148                self.w
32149            }
32150        }
32151        ///Reader of field `TXIE`
32152        pub type TXIE_R = crate::R<bool, bool>;
32153        ///Write proxy for field `TXIE`
32154        pub struct TXIE_W<'a> {
32155            w: &'a mut W,
32156        }
32157        impl<'a> TXIE_W<'a> {
32158            ///Sets the field bit
32159            #[inline(always)]
32160            pub fn set_bit(self) -> &'a mut W {
32161                self.bit(true)
32162            }
32163            ///Clears the field bit
32164            #[inline(always)]
32165            pub fn clear_bit(self) -> &'a mut W {
32166                self.bit(false)
32167            }
32168            ///Writes raw bits to the field
32169            #[inline(always)]
32170            pub fn bit(self, value: bool) -> &'a mut W {
32171                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
32172                self.w
32173            }
32174        }
32175        ///Reader of field `RXIE`
32176        pub type RXIE_R = crate::R<bool, bool>;
32177        ///Write proxy for field `RXIE`
32178        pub struct RXIE_W<'a> {
32179            w: &'a mut W,
32180        }
32181        impl<'a> RXIE_W<'a> {
32182            ///Sets the field bit
32183            #[inline(always)]
32184            pub fn set_bit(self) -> &'a mut W {
32185                self.bit(true)
32186            }
32187            ///Clears the field bit
32188            #[inline(always)]
32189            pub fn clear_bit(self) -> &'a mut W {
32190                self.bit(false)
32191            }
32192            ///Writes raw bits to the field
32193            #[inline(always)]
32194            pub fn bit(self, value: bool) -> &'a mut W {
32195                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
32196                self.w
32197            }
32198        }
32199        ///Reader of field `ADDRIE`
32200        pub type ADDRIE_R = crate::R<bool, bool>;
32201        ///Write proxy for field `ADDRIE`
32202        pub struct ADDRIE_W<'a> {
32203            w: &'a mut W,
32204        }
32205        impl<'a> ADDRIE_W<'a> {
32206            ///Sets the field bit
32207            #[inline(always)]
32208            pub fn set_bit(self) -> &'a mut W {
32209                self.bit(true)
32210            }
32211            ///Clears the field bit
32212            #[inline(always)]
32213            pub fn clear_bit(self) -> &'a mut W {
32214                self.bit(false)
32215            }
32216            ///Writes raw bits to the field
32217            #[inline(always)]
32218            pub fn bit(self, value: bool) -> &'a mut W {
32219                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
32220                self.w
32221            }
32222        }
32223        ///Reader of field `NACKIE`
32224        pub type NACKIE_R = crate::R<bool, bool>;
32225        ///Write proxy for field `NACKIE`
32226        pub struct NACKIE_W<'a> {
32227            w: &'a mut W,
32228        }
32229        impl<'a> NACKIE_W<'a> {
32230            ///Sets the field bit
32231            #[inline(always)]
32232            pub fn set_bit(self) -> &'a mut W {
32233                self.bit(true)
32234            }
32235            ///Clears the field bit
32236            #[inline(always)]
32237            pub fn clear_bit(self) -> &'a mut W {
32238                self.bit(false)
32239            }
32240            ///Writes raw bits to the field
32241            #[inline(always)]
32242            pub fn bit(self, value: bool) -> &'a mut W {
32243                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
32244                self.w
32245            }
32246        }
32247        ///Reader of field `STOPIE`
32248        pub type STOPIE_R = crate::R<bool, bool>;
32249        ///Write proxy for field `STOPIE`
32250        pub struct STOPIE_W<'a> {
32251            w: &'a mut W,
32252        }
32253        impl<'a> STOPIE_W<'a> {
32254            ///Sets the field bit
32255            #[inline(always)]
32256            pub fn set_bit(self) -> &'a mut W {
32257                self.bit(true)
32258            }
32259            ///Clears the field bit
32260            #[inline(always)]
32261            pub fn clear_bit(self) -> &'a mut W {
32262                self.bit(false)
32263            }
32264            ///Writes raw bits to the field
32265            #[inline(always)]
32266            pub fn bit(self, value: bool) -> &'a mut W {
32267                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
32268                self.w
32269            }
32270        }
32271        ///Reader of field `TCIE`
32272        pub type TCIE_R = crate::R<bool, bool>;
32273        ///Write proxy for field `TCIE`
32274        pub struct TCIE_W<'a> {
32275            w: &'a mut W,
32276        }
32277        impl<'a> TCIE_W<'a> {
32278            ///Sets the field bit
32279            #[inline(always)]
32280            pub fn set_bit(self) -> &'a mut W {
32281                self.bit(true)
32282            }
32283            ///Clears the field bit
32284            #[inline(always)]
32285            pub fn clear_bit(self) -> &'a mut W {
32286                self.bit(false)
32287            }
32288            ///Writes raw bits to the field
32289            #[inline(always)]
32290            pub fn bit(self, value: bool) -> &'a mut W {
32291                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
32292                self.w
32293            }
32294        }
32295        ///Reader of field `ERRIE`
32296        pub type ERRIE_R = crate::R<bool, bool>;
32297        ///Write proxy for field `ERRIE`
32298        pub struct ERRIE_W<'a> {
32299            w: &'a mut W,
32300        }
32301        impl<'a> ERRIE_W<'a> {
32302            ///Sets the field bit
32303            #[inline(always)]
32304            pub fn set_bit(self) -> &'a mut W {
32305                self.bit(true)
32306            }
32307            ///Clears the field bit
32308            #[inline(always)]
32309            pub fn clear_bit(self) -> &'a mut W {
32310                self.bit(false)
32311            }
32312            ///Writes raw bits to the field
32313            #[inline(always)]
32314            pub fn bit(self, value: bool) -> &'a mut W {
32315                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
32316                self.w
32317            }
32318        }
32319        ///Reader of field `DNF`
32320        pub type DNF_R = crate::R<u8, u8>;
32321        ///Write proxy for field `DNF`
32322        pub struct DNF_W<'a> {
32323            w: &'a mut W,
32324        }
32325        impl<'a> DNF_W<'a> {
32326            ///Writes raw bits to the field
32327            #[inline(always)]
32328            pub unsafe fn bits(self, value: u8) -> &'a mut W {
32329                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
32330                self.w
32331            }
32332        }
32333        ///Reader of field `ANFOFF`
32334        pub type ANFOFF_R = crate::R<bool, bool>;
32335        ///Write proxy for field `ANFOFF`
32336        pub struct ANFOFF_W<'a> {
32337            w: &'a mut W,
32338        }
32339        impl<'a> ANFOFF_W<'a> {
32340            ///Sets the field bit
32341            #[inline(always)]
32342            pub fn set_bit(self) -> &'a mut W {
32343                self.bit(true)
32344            }
32345            ///Clears the field bit
32346            #[inline(always)]
32347            pub fn clear_bit(self) -> &'a mut W {
32348                self.bit(false)
32349            }
32350            ///Writes raw bits to the field
32351            #[inline(always)]
32352            pub fn bit(self, value: bool) -> &'a mut W {
32353                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
32354                self.w
32355            }
32356        }
32357        ///Reader of field `TXDMAEN`
32358        pub type TXDMAEN_R = crate::R<bool, bool>;
32359        ///Write proxy for field `TXDMAEN`
32360        pub struct TXDMAEN_W<'a> {
32361            w: &'a mut W,
32362        }
32363        impl<'a> TXDMAEN_W<'a> {
32364            ///Sets the field bit
32365            #[inline(always)]
32366            pub fn set_bit(self) -> &'a mut W {
32367                self.bit(true)
32368            }
32369            ///Clears the field bit
32370            #[inline(always)]
32371            pub fn clear_bit(self) -> &'a mut W {
32372                self.bit(false)
32373            }
32374            ///Writes raw bits to the field
32375            #[inline(always)]
32376            pub fn bit(self, value: bool) -> &'a mut W {
32377                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
32378                self.w
32379            }
32380        }
32381        ///Reader of field `RXDMAEN`
32382        pub type RXDMAEN_R = crate::R<bool, bool>;
32383        ///Write proxy for field `RXDMAEN`
32384        pub struct RXDMAEN_W<'a> {
32385            w: &'a mut W,
32386        }
32387        impl<'a> RXDMAEN_W<'a> {
32388            ///Sets the field bit
32389            #[inline(always)]
32390            pub fn set_bit(self) -> &'a mut W {
32391                self.bit(true)
32392            }
32393            ///Clears the field bit
32394            #[inline(always)]
32395            pub fn clear_bit(self) -> &'a mut W {
32396                self.bit(false)
32397            }
32398            ///Writes raw bits to the field
32399            #[inline(always)]
32400            pub fn bit(self, value: bool) -> &'a mut W {
32401                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
32402                self.w
32403            }
32404        }
32405        ///Reader of field `SBC`
32406        pub type SBC_R = crate::R<bool, bool>;
32407        ///Write proxy for field `SBC`
32408        pub struct SBC_W<'a> {
32409            w: &'a mut W,
32410        }
32411        impl<'a> SBC_W<'a> {
32412            ///Sets the field bit
32413            #[inline(always)]
32414            pub fn set_bit(self) -> &'a mut W {
32415                self.bit(true)
32416            }
32417            ///Clears the field bit
32418            #[inline(always)]
32419            pub fn clear_bit(self) -> &'a mut W {
32420                self.bit(false)
32421            }
32422            ///Writes raw bits to the field
32423            #[inline(always)]
32424            pub fn bit(self, value: bool) -> &'a mut W {
32425                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
32426                self.w
32427            }
32428        }
32429        ///Reader of field `NOSTRETCH`
32430        pub type NOSTRETCH_R = crate::R<bool, bool>;
32431        ///Write proxy for field `NOSTRETCH`
32432        pub struct NOSTRETCH_W<'a> {
32433            w: &'a mut W,
32434        }
32435        impl<'a> NOSTRETCH_W<'a> {
32436            ///Sets the field bit
32437            #[inline(always)]
32438            pub fn set_bit(self) -> &'a mut W {
32439                self.bit(true)
32440            }
32441            ///Clears the field bit
32442            #[inline(always)]
32443            pub fn clear_bit(self) -> &'a mut W {
32444                self.bit(false)
32445            }
32446            ///Writes raw bits to the field
32447            #[inline(always)]
32448            pub fn bit(self, value: bool) -> &'a mut W {
32449                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
32450                self.w
32451            }
32452        }
32453        ///Reader of field `WUPEN`
32454        pub type WUPEN_R = crate::R<bool, bool>;
32455        ///Write proxy for field `WUPEN`
32456        pub struct WUPEN_W<'a> {
32457            w: &'a mut W,
32458        }
32459        impl<'a> WUPEN_W<'a> {
32460            ///Sets the field bit
32461            #[inline(always)]
32462            pub fn set_bit(self) -> &'a mut W {
32463                self.bit(true)
32464            }
32465            ///Clears the field bit
32466            #[inline(always)]
32467            pub fn clear_bit(self) -> &'a mut W {
32468                self.bit(false)
32469            }
32470            ///Writes raw bits to the field
32471            #[inline(always)]
32472            pub fn bit(self, value: bool) -> &'a mut W {
32473                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
32474                self.w
32475            }
32476        }
32477        ///Reader of field `GCEN`
32478        pub type GCEN_R = crate::R<bool, bool>;
32479        ///Write proxy for field `GCEN`
32480        pub struct GCEN_W<'a> {
32481            w: &'a mut W,
32482        }
32483        impl<'a> GCEN_W<'a> {
32484            ///Sets the field bit
32485            #[inline(always)]
32486            pub fn set_bit(self) -> &'a mut W {
32487                self.bit(true)
32488            }
32489            ///Clears the field bit
32490            #[inline(always)]
32491            pub fn clear_bit(self) -> &'a mut W {
32492                self.bit(false)
32493            }
32494            ///Writes raw bits to the field
32495            #[inline(always)]
32496            pub fn bit(self, value: bool) -> &'a mut W {
32497                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
32498                self.w
32499            }
32500        }
32501        ///Reader of field `SMBHEN`
32502        pub type SMBHEN_R = crate::R<bool, bool>;
32503        ///Write proxy for field `SMBHEN`
32504        pub struct SMBHEN_W<'a> {
32505            w: &'a mut W,
32506        }
32507        impl<'a> SMBHEN_W<'a> {
32508            ///Sets the field bit
32509            #[inline(always)]
32510            pub fn set_bit(self) -> &'a mut W {
32511                self.bit(true)
32512            }
32513            ///Clears the field bit
32514            #[inline(always)]
32515            pub fn clear_bit(self) -> &'a mut W {
32516                self.bit(false)
32517            }
32518            ///Writes raw bits to the field
32519            #[inline(always)]
32520            pub fn bit(self, value: bool) -> &'a mut W {
32521                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
32522                self.w
32523            }
32524        }
32525        ///Reader of field `SMBDEN`
32526        pub type SMBDEN_R = crate::R<bool, bool>;
32527        ///Write proxy for field `SMBDEN`
32528        pub struct SMBDEN_W<'a> {
32529            w: &'a mut W,
32530        }
32531        impl<'a> SMBDEN_W<'a> {
32532            ///Sets the field bit
32533            #[inline(always)]
32534            pub fn set_bit(self) -> &'a mut W {
32535                self.bit(true)
32536            }
32537            ///Clears the field bit
32538            #[inline(always)]
32539            pub fn clear_bit(self) -> &'a mut W {
32540                self.bit(false)
32541            }
32542            ///Writes raw bits to the field
32543            #[inline(always)]
32544            pub fn bit(self, value: bool) -> &'a mut W {
32545                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
32546                self.w
32547            }
32548        }
32549        ///Reader of field `ALERTEN`
32550        pub type ALERTEN_R = crate::R<bool, bool>;
32551        ///Write proxy for field `ALERTEN`
32552        pub struct ALERTEN_W<'a> {
32553            w: &'a mut W,
32554        }
32555        impl<'a> ALERTEN_W<'a> {
32556            ///Sets the field bit
32557            #[inline(always)]
32558            pub fn set_bit(self) -> &'a mut W {
32559                self.bit(true)
32560            }
32561            ///Clears the field bit
32562            #[inline(always)]
32563            pub fn clear_bit(self) -> &'a mut W {
32564                self.bit(false)
32565            }
32566            ///Writes raw bits to the field
32567            #[inline(always)]
32568            pub fn bit(self, value: bool) -> &'a mut W {
32569                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
32570                self.w
32571            }
32572        }
32573        ///Reader of field `PECEN`
32574        pub type PECEN_R = crate::R<bool, bool>;
32575        ///Write proxy for field `PECEN`
32576        pub struct PECEN_W<'a> {
32577            w: &'a mut W,
32578        }
32579        impl<'a> PECEN_W<'a> {
32580            ///Sets the field bit
32581            #[inline(always)]
32582            pub fn set_bit(self) -> &'a mut W {
32583                self.bit(true)
32584            }
32585            ///Clears the field bit
32586            #[inline(always)]
32587            pub fn clear_bit(self) -> &'a mut W {
32588                self.bit(false)
32589            }
32590            ///Writes raw bits to the field
32591            #[inline(always)]
32592            pub fn bit(self, value: bool) -> &'a mut W {
32593                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
32594                self.w
32595            }
32596        }
32597        impl R {
32598            ///Bit 0 - Peripheral enable
32599            #[inline(always)]
32600            pub fn pe(&self) -> PE_R {
32601                PE_R::new((self.bits & 0x01) != 0)
32602            }
32603            ///Bit 1 - TX Interrupt enable
32604            #[inline(always)]
32605            pub fn txie(&self) -> TXIE_R {
32606                TXIE_R::new(((self.bits >> 1) & 0x01) != 0)
32607            }
32608            ///Bit 2 - RX Interrupt enable
32609            #[inline(always)]
32610            pub fn rxie(&self) -> RXIE_R {
32611                RXIE_R::new(((self.bits >> 2) & 0x01) != 0)
32612            }
32613            ///Bit 3 - Address match interrupt enable (slave only)
32614            #[inline(always)]
32615            pub fn addrie(&self) -> ADDRIE_R {
32616                ADDRIE_R::new(((self.bits >> 3) & 0x01) != 0)
32617            }
32618            ///Bit 4 - Not acknowledge received interrupt enable
32619            #[inline(always)]
32620            pub fn nackie(&self) -> NACKIE_R {
32621                NACKIE_R::new(((self.bits >> 4) & 0x01) != 0)
32622            }
32623            ///Bit 5 - STOP detection Interrupt enable
32624            #[inline(always)]
32625            pub fn stopie(&self) -> STOPIE_R {
32626                STOPIE_R::new(((self.bits >> 5) & 0x01) != 0)
32627            }
32628            ///Bit 6 - Transfer Complete interrupt enable
32629            #[inline(always)]
32630            pub fn tcie(&self) -> TCIE_R {
32631                TCIE_R::new(((self.bits >> 6) & 0x01) != 0)
32632            }
32633            ///Bit 7 - Error interrupts enable
32634            #[inline(always)]
32635            pub fn errie(&self) -> ERRIE_R {
32636                ERRIE_R::new(((self.bits >> 7) & 0x01) != 0)
32637            }
32638            ///Bits 8:11 - Digital noise filter
32639            #[inline(always)]
32640            pub fn dnf(&self) -> DNF_R {
32641                DNF_R::new(((self.bits >> 8) & 0x0f) as u8)
32642            }
32643            ///Bit 12 - Analog noise filter OFF
32644            #[inline(always)]
32645            pub fn anfoff(&self) -> ANFOFF_R {
32646                ANFOFF_R::new(((self.bits >> 12) & 0x01) != 0)
32647            }
32648            ///Bit 14 - DMA transmission requests enable
32649            #[inline(always)]
32650            pub fn txdmaen(&self) -> TXDMAEN_R {
32651                TXDMAEN_R::new(((self.bits >> 14) & 0x01) != 0)
32652            }
32653            ///Bit 15 - DMA reception requests enable
32654            #[inline(always)]
32655            pub fn rxdmaen(&self) -> RXDMAEN_R {
32656                RXDMAEN_R::new(((self.bits >> 15) & 0x01) != 0)
32657            }
32658            ///Bit 16 - Slave byte control
32659            #[inline(always)]
32660            pub fn sbc(&self) -> SBC_R {
32661                SBC_R::new(((self.bits >> 16) & 0x01) != 0)
32662            }
32663            ///Bit 17 - Clock stretching disable
32664            #[inline(always)]
32665            pub fn nostretch(&self) -> NOSTRETCH_R {
32666                NOSTRETCH_R::new(((self.bits >> 17) & 0x01) != 0)
32667            }
32668            ///Bit 18 - Wakeup from STOP enable
32669            #[inline(always)]
32670            pub fn wupen(&self) -> WUPEN_R {
32671                WUPEN_R::new(((self.bits >> 18) & 0x01) != 0)
32672            }
32673            ///Bit 19 - General call enable
32674            #[inline(always)]
32675            pub fn gcen(&self) -> GCEN_R {
32676                GCEN_R::new(((self.bits >> 19) & 0x01) != 0)
32677            }
32678            ///Bit 20 - SMBus Host address enable
32679            #[inline(always)]
32680            pub fn smbhen(&self) -> SMBHEN_R {
32681                SMBHEN_R::new(((self.bits >> 20) & 0x01) != 0)
32682            }
32683            ///Bit 21 - SMBus Device Default address enable
32684            #[inline(always)]
32685            pub fn smbden(&self) -> SMBDEN_R {
32686                SMBDEN_R::new(((self.bits >> 21) & 0x01) != 0)
32687            }
32688            ///Bit 22 - SMBUS alert enable
32689            #[inline(always)]
32690            pub fn alerten(&self) -> ALERTEN_R {
32691                ALERTEN_R::new(((self.bits >> 22) & 0x01) != 0)
32692            }
32693            ///Bit 23 - PEC enable
32694            #[inline(always)]
32695            pub fn pecen(&self) -> PECEN_R {
32696                PECEN_R::new(((self.bits >> 23) & 0x01) != 0)
32697            }
32698        }
32699        impl W {
32700            ///Bit 0 - Peripheral enable
32701            #[inline(always)]
32702            pub fn pe(&mut self) -> PE_W {
32703                PE_W { w: self }
32704            }
32705            ///Bit 1 - TX Interrupt enable
32706            #[inline(always)]
32707            pub fn txie(&mut self) -> TXIE_W {
32708                TXIE_W { w: self }
32709            }
32710            ///Bit 2 - RX Interrupt enable
32711            #[inline(always)]
32712            pub fn rxie(&mut self) -> RXIE_W {
32713                RXIE_W { w: self }
32714            }
32715            ///Bit 3 - Address match interrupt enable (slave only)
32716            #[inline(always)]
32717            pub fn addrie(&mut self) -> ADDRIE_W {
32718                ADDRIE_W { w: self }
32719            }
32720            ///Bit 4 - Not acknowledge received interrupt enable
32721            #[inline(always)]
32722            pub fn nackie(&mut self) -> NACKIE_W {
32723                NACKIE_W { w: self }
32724            }
32725            ///Bit 5 - STOP detection Interrupt enable
32726            #[inline(always)]
32727            pub fn stopie(&mut self) -> STOPIE_W {
32728                STOPIE_W { w: self }
32729            }
32730            ///Bit 6 - Transfer Complete interrupt enable
32731            #[inline(always)]
32732            pub fn tcie(&mut self) -> TCIE_W {
32733                TCIE_W { w: self }
32734            }
32735            ///Bit 7 - Error interrupts enable
32736            #[inline(always)]
32737            pub fn errie(&mut self) -> ERRIE_W {
32738                ERRIE_W { w: self }
32739            }
32740            ///Bits 8:11 - Digital noise filter
32741            #[inline(always)]
32742            pub fn dnf(&mut self) -> DNF_W {
32743                DNF_W { w: self }
32744            }
32745            ///Bit 12 - Analog noise filter OFF
32746            #[inline(always)]
32747            pub fn anfoff(&mut self) -> ANFOFF_W {
32748                ANFOFF_W { w: self }
32749            }
32750            ///Bit 14 - DMA transmission requests enable
32751            #[inline(always)]
32752            pub fn txdmaen(&mut self) -> TXDMAEN_W {
32753                TXDMAEN_W { w: self }
32754            }
32755            ///Bit 15 - DMA reception requests enable
32756            #[inline(always)]
32757            pub fn rxdmaen(&mut self) -> RXDMAEN_W {
32758                RXDMAEN_W { w: self }
32759            }
32760            ///Bit 16 - Slave byte control
32761            #[inline(always)]
32762            pub fn sbc(&mut self) -> SBC_W {
32763                SBC_W { w: self }
32764            }
32765            ///Bit 17 - Clock stretching disable
32766            #[inline(always)]
32767            pub fn nostretch(&mut self) -> NOSTRETCH_W {
32768                NOSTRETCH_W { w: self }
32769            }
32770            ///Bit 18 - Wakeup from STOP enable
32771            #[inline(always)]
32772            pub fn wupen(&mut self) -> WUPEN_W {
32773                WUPEN_W { w: self }
32774            }
32775            ///Bit 19 - General call enable
32776            #[inline(always)]
32777            pub fn gcen(&mut self) -> GCEN_W {
32778                GCEN_W { w: self }
32779            }
32780            ///Bit 20 - SMBus Host address enable
32781            #[inline(always)]
32782            pub fn smbhen(&mut self) -> SMBHEN_W {
32783                SMBHEN_W { w: self }
32784            }
32785            ///Bit 21 - SMBus Device Default address enable
32786            #[inline(always)]
32787            pub fn smbden(&mut self) -> SMBDEN_W {
32788                SMBDEN_W { w: self }
32789            }
32790            ///Bit 22 - SMBUS alert enable
32791            #[inline(always)]
32792            pub fn alerten(&mut self) -> ALERTEN_W {
32793                ALERTEN_W { w: self }
32794            }
32795            ///Bit 23 - PEC enable
32796            #[inline(always)]
32797            pub fn pecen(&mut self) -> PECEN_W {
32798                PECEN_W { w: self }
32799            }
32800        }
32801    }
32802    ///Control register 2
32803    ///
32804    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
32805    ///
32806    ///For information about available fields see [cr2](cr2) module
32807    pub type CR2 = crate::Reg<u32, _CR2>;
32808    #[allow(missing_docs)]
32809    #[doc(hidden)]
32810    pub struct _CR2;
32811    ///`read()` method returns [cr2::R](cr2::R) reader structure
32812    impl crate::Readable for CR2 {}
32813    ///`write(|w| ..)` method takes [cr2::W](cr2::W) writer structure
32814    impl crate::Writable for CR2 {}
32815    ///Control register 2
32816    pub mod cr2 {
32817        ///Reader of register CR2
32818        pub type R = crate::R<u32, super::CR2>;
32819        ///Writer for register CR2
32820        pub type W = crate::W<u32, super::CR2>;
32821        ///Register CR2 `reset()`'s with value 0
32822        impl crate::ResetValue for super::CR2 {
32823            type Type = u32;
32824            #[inline(always)]
32825            fn reset_value() -> Self::Type {
32826                0
32827            }
32828        }
32829        ///Reader of field `PECBYTE`
32830        pub type PECBYTE_R = crate::R<bool, bool>;
32831        ///Write proxy for field `PECBYTE`
32832        pub struct PECBYTE_W<'a> {
32833            w: &'a mut W,
32834        }
32835        impl<'a> PECBYTE_W<'a> {
32836            ///Sets the field bit
32837            #[inline(always)]
32838            pub fn set_bit(self) -> &'a mut W {
32839                self.bit(true)
32840            }
32841            ///Clears the field bit
32842            #[inline(always)]
32843            pub fn clear_bit(self) -> &'a mut W {
32844                self.bit(false)
32845            }
32846            ///Writes raw bits to the field
32847            #[inline(always)]
32848            pub fn bit(self, value: bool) -> &'a mut W {
32849                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
32850                self.w
32851            }
32852        }
32853        ///Reader of field `AUTOEND`
32854        pub type AUTOEND_R = crate::R<bool, bool>;
32855        ///Write proxy for field `AUTOEND`
32856        pub struct AUTOEND_W<'a> {
32857            w: &'a mut W,
32858        }
32859        impl<'a> AUTOEND_W<'a> {
32860            ///Sets the field bit
32861            #[inline(always)]
32862            pub fn set_bit(self) -> &'a mut W {
32863                self.bit(true)
32864            }
32865            ///Clears the field bit
32866            #[inline(always)]
32867            pub fn clear_bit(self) -> &'a mut W {
32868                self.bit(false)
32869            }
32870            ///Writes raw bits to the field
32871            #[inline(always)]
32872            pub fn bit(self, value: bool) -> &'a mut W {
32873                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
32874                self.w
32875            }
32876        }
32877        ///Reader of field `RELOAD`
32878        pub type RELOAD_R = crate::R<bool, bool>;
32879        ///Write proxy for field `RELOAD`
32880        pub struct RELOAD_W<'a> {
32881            w: &'a mut W,
32882        }
32883        impl<'a> RELOAD_W<'a> {
32884            ///Sets the field bit
32885            #[inline(always)]
32886            pub fn set_bit(self) -> &'a mut W {
32887                self.bit(true)
32888            }
32889            ///Clears the field bit
32890            #[inline(always)]
32891            pub fn clear_bit(self) -> &'a mut W {
32892                self.bit(false)
32893            }
32894            ///Writes raw bits to the field
32895            #[inline(always)]
32896            pub fn bit(self, value: bool) -> &'a mut W {
32897                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
32898                self.w
32899            }
32900        }
32901        ///Reader of field `NBYTES`
32902        pub type NBYTES_R = crate::R<u8, u8>;
32903        ///Write proxy for field `NBYTES`
32904        pub struct NBYTES_W<'a> {
32905            w: &'a mut W,
32906        }
32907        impl<'a> NBYTES_W<'a> {
32908            ///Writes raw bits to the field
32909            #[inline(always)]
32910            pub unsafe fn bits(self, value: u8) -> &'a mut W {
32911                self.w.bits = (self.w.bits & !(0xff << 16)) | (((value as u32) & 0xff) << 16);
32912                self.w
32913            }
32914        }
32915        ///Reader of field `NACK`
32916        pub type NACK_R = crate::R<bool, bool>;
32917        ///Write proxy for field `NACK`
32918        pub struct NACK_W<'a> {
32919            w: &'a mut W,
32920        }
32921        impl<'a> NACK_W<'a> {
32922            ///Sets the field bit
32923            #[inline(always)]
32924            pub fn set_bit(self) -> &'a mut W {
32925                self.bit(true)
32926            }
32927            ///Clears the field bit
32928            #[inline(always)]
32929            pub fn clear_bit(self) -> &'a mut W {
32930                self.bit(false)
32931            }
32932            ///Writes raw bits to the field
32933            #[inline(always)]
32934            pub fn bit(self, value: bool) -> &'a mut W {
32935                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
32936                self.w
32937            }
32938        }
32939        ///Reader of field `STOP`
32940        pub type STOP_R = crate::R<bool, bool>;
32941        ///Write proxy for field `STOP`
32942        pub struct STOP_W<'a> {
32943            w: &'a mut W,
32944        }
32945        impl<'a> STOP_W<'a> {
32946            ///Sets the field bit
32947            #[inline(always)]
32948            pub fn set_bit(self) -> &'a mut W {
32949                self.bit(true)
32950            }
32951            ///Clears the field bit
32952            #[inline(always)]
32953            pub fn clear_bit(self) -> &'a mut W {
32954                self.bit(false)
32955            }
32956            ///Writes raw bits to the field
32957            #[inline(always)]
32958            pub fn bit(self, value: bool) -> &'a mut W {
32959                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
32960                self.w
32961            }
32962        }
32963        ///Reader of field `START`
32964        pub type START_R = crate::R<bool, bool>;
32965        ///Write proxy for field `START`
32966        pub struct START_W<'a> {
32967            w: &'a mut W,
32968        }
32969        impl<'a> START_W<'a> {
32970            ///Sets the field bit
32971            #[inline(always)]
32972            pub fn set_bit(self) -> &'a mut W {
32973                self.bit(true)
32974            }
32975            ///Clears the field bit
32976            #[inline(always)]
32977            pub fn clear_bit(self) -> &'a mut W {
32978                self.bit(false)
32979            }
32980            ///Writes raw bits to the field
32981            #[inline(always)]
32982            pub fn bit(self, value: bool) -> &'a mut W {
32983                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
32984                self.w
32985            }
32986        }
32987        ///Reader of field `HEAD10R`
32988        pub type HEAD10R_R = crate::R<bool, bool>;
32989        ///Write proxy for field `HEAD10R`
32990        pub struct HEAD10R_W<'a> {
32991            w: &'a mut W,
32992        }
32993        impl<'a> HEAD10R_W<'a> {
32994            ///Sets the field bit
32995            #[inline(always)]
32996            pub fn set_bit(self) -> &'a mut W {
32997                self.bit(true)
32998            }
32999            ///Clears the field bit
33000            #[inline(always)]
33001            pub fn clear_bit(self) -> &'a mut W {
33002                self.bit(false)
33003            }
33004            ///Writes raw bits to the field
33005            #[inline(always)]
33006            pub fn bit(self, value: bool) -> &'a mut W {
33007                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
33008                self.w
33009            }
33010        }
33011        ///Reader of field `ADD10`
33012        pub type ADD10_R = crate::R<bool, bool>;
33013        ///Write proxy for field `ADD10`
33014        pub struct ADD10_W<'a> {
33015            w: &'a mut W,
33016        }
33017        impl<'a> ADD10_W<'a> {
33018            ///Sets the field bit
33019            #[inline(always)]
33020            pub fn set_bit(self) -> &'a mut W {
33021                self.bit(true)
33022            }
33023            ///Clears the field bit
33024            #[inline(always)]
33025            pub fn clear_bit(self) -> &'a mut W {
33026                self.bit(false)
33027            }
33028            ///Writes raw bits to the field
33029            #[inline(always)]
33030            pub fn bit(self, value: bool) -> &'a mut W {
33031                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
33032                self.w
33033            }
33034        }
33035        ///Reader of field `RD_WRN`
33036        pub type RD_WRN_R = crate::R<bool, bool>;
33037        ///Write proxy for field `RD_WRN`
33038        pub struct RD_WRN_W<'a> {
33039            w: &'a mut W,
33040        }
33041        impl<'a> RD_WRN_W<'a> {
33042            ///Sets the field bit
33043            #[inline(always)]
33044            pub fn set_bit(self) -> &'a mut W {
33045                self.bit(true)
33046            }
33047            ///Clears the field bit
33048            #[inline(always)]
33049            pub fn clear_bit(self) -> &'a mut W {
33050                self.bit(false)
33051            }
33052            ///Writes raw bits to the field
33053            #[inline(always)]
33054            pub fn bit(self, value: bool) -> &'a mut W {
33055                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
33056                self.w
33057            }
33058        }
33059        ///Reader of field `SADD`
33060        pub type SADD_R = crate::R<u16, u16>;
33061        ///Write proxy for field `SADD`
33062        pub struct SADD_W<'a> {
33063            w: &'a mut W,
33064        }
33065        impl<'a> SADD_W<'a> {
33066            ///Writes raw bits to the field
33067            #[inline(always)]
33068            pub unsafe fn bits(self, value: u16) -> &'a mut W {
33069                self.w.bits = (self.w.bits & !0x03ff) | ((value as u32) & 0x03ff);
33070                self.w
33071            }
33072        }
33073        impl R {
33074            ///Bit 26 - Packet error checking byte
33075            #[inline(always)]
33076            pub fn pecbyte(&self) -> PECBYTE_R {
33077                PECBYTE_R::new(((self.bits >> 26) & 0x01) != 0)
33078            }
33079            ///Bit 25 - Automatic end mode (master mode)
33080            #[inline(always)]
33081            pub fn autoend(&self) -> AUTOEND_R {
33082                AUTOEND_R::new(((self.bits >> 25) & 0x01) != 0)
33083            }
33084            ///Bit 24 - NBYTES reload mode
33085            #[inline(always)]
33086            pub fn reload(&self) -> RELOAD_R {
33087                RELOAD_R::new(((self.bits >> 24) & 0x01) != 0)
33088            }
33089            ///Bits 16:23 - Number of bytes
33090            #[inline(always)]
33091            pub fn nbytes(&self) -> NBYTES_R {
33092                NBYTES_R::new(((self.bits >> 16) & 0xff) as u8)
33093            }
33094            ///Bit 15 - NACK generation (slave mode)
33095            #[inline(always)]
33096            pub fn nack(&self) -> NACK_R {
33097                NACK_R::new(((self.bits >> 15) & 0x01) != 0)
33098            }
33099            ///Bit 14 - Stop generation (master mode)
33100            #[inline(always)]
33101            pub fn stop(&self) -> STOP_R {
33102                STOP_R::new(((self.bits >> 14) & 0x01) != 0)
33103            }
33104            ///Bit 13 - Start generation
33105            #[inline(always)]
33106            pub fn start(&self) -> START_R {
33107                START_R::new(((self.bits >> 13) & 0x01) != 0)
33108            }
33109            ///Bit 12 - 10-bit address header only read direction (master receiver mode)
33110            #[inline(always)]
33111            pub fn head10r(&self) -> HEAD10R_R {
33112                HEAD10R_R::new(((self.bits >> 12) & 0x01) != 0)
33113            }
33114            ///Bit 11 - 10-bit addressing mode (master mode)
33115            #[inline(always)]
33116            pub fn add10(&self) -> ADD10_R {
33117                ADD10_R::new(((self.bits >> 11) & 0x01) != 0)
33118            }
33119            ///Bit 10 - Transfer direction (master mode)
33120            #[inline(always)]
33121            pub fn rd_wrn(&self) -> RD_WRN_R {
33122                RD_WRN_R::new(((self.bits >> 10) & 0x01) != 0)
33123            }
33124            ///Bits 0:9 - Slave address bit (master mode)
33125            #[inline(always)]
33126            pub fn sadd(&self) -> SADD_R {
33127                SADD_R::new((self.bits & 0x03ff) as u16)
33128            }
33129        }
33130        impl W {
33131            ///Bit 26 - Packet error checking byte
33132            #[inline(always)]
33133            pub fn pecbyte(&mut self) -> PECBYTE_W {
33134                PECBYTE_W { w: self }
33135            }
33136            ///Bit 25 - Automatic end mode (master mode)
33137            #[inline(always)]
33138            pub fn autoend(&mut self) -> AUTOEND_W {
33139                AUTOEND_W { w: self }
33140            }
33141            ///Bit 24 - NBYTES reload mode
33142            #[inline(always)]
33143            pub fn reload(&mut self) -> RELOAD_W {
33144                RELOAD_W { w: self }
33145            }
33146            ///Bits 16:23 - Number of bytes
33147            #[inline(always)]
33148            pub fn nbytes(&mut self) -> NBYTES_W {
33149                NBYTES_W { w: self }
33150            }
33151            ///Bit 15 - NACK generation (slave mode)
33152            #[inline(always)]
33153            pub fn nack(&mut self) -> NACK_W {
33154                NACK_W { w: self }
33155            }
33156            ///Bit 14 - Stop generation (master mode)
33157            #[inline(always)]
33158            pub fn stop(&mut self) -> STOP_W {
33159                STOP_W { w: self }
33160            }
33161            ///Bit 13 - Start generation
33162            #[inline(always)]
33163            pub fn start(&mut self) -> START_W {
33164                START_W { w: self }
33165            }
33166            ///Bit 12 - 10-bit address header only read direction (master receiver mode)
33167            #[inline(always)]
33168            pub fn head10r(&mut self) -> HEAD10R_W {
33169                HEAD10R_W { w: self }
33170            }
33171            ///Bit 11 - 10-bit addressing mode (master mode)
33172            #[inline(always)]
33173            pub fn add10(&mut self) -> ADD10_W {
33174                ADD10_W { w: self }
33175            }
33176            ///Bit 10 - Transfer direction (master mode)
33177            #[inline(always)]
33178            pub fn rd_wrn(&mut self) -> RD_WRN_W {
33179                RD_WRN_W { w: self }
33180            }
33181            ///Bits 0:9 - Slave address bit (master mode)
33182            #[inline(always)]
33183            pub fn sadd(&mut self) -> SADD_W {
33184                SADD_W { w: self }
33185            }
33186        }
33187    }
33188    ///Own address register 1
33189    ///
33190    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
33191    ///
33192    ///For information about available fields see [oar1](oar1) module
33193    pub type OAR1 = crate::Reg<u32, _OAR1>;
33194    #[allow(missing_docs)]
33195    #[doc(hidden)]
33196    pub struct _OAR1;
33197    ///`read()` method returns [oar1::R](oar1::R) reader structure
33198    impl crate::Readable for OAR1 {}
33199    ///`write(|w| ..)` method takes [oar1::W](oar1::W) writer structure
33200    impl crate::Writable for OAR1 {}
33201    ///Own address register 1
33202    pub mod oar1 {
33203        ///Reader of register OAR1
33204        pub type R = crate::R<u32, super::OAR1>;
33205        ///Writer for register OAR1
33206        pub type W = crate::W<u32, super::OAR1>;
33207        ///Register OAR1 `reset()`'s with value 0
33208        impl crate::ResetValue for super::OAR1 {
33209            type Type = u32;
33210            #[inline(always)]
33211            fn reset_value() -> Self::Type {
33212                0
33213            }
33214        }
33215        ///Reader of field `OA1`
33216        pub type OA1_R = crate::R<u16, u16>;
33217        ///Write proxy for field `OA1`
33218        pub struct OA1_W<'a> {
33219            w: &'a mut W,
33220        }
33221        impl<'a> OA1_W<'a> {
33222            ///Writes raw bits to the field
33223            #[inline(always)]
33224            pub unsafe fn bits(self, value: u16) -> &'a mut W {
33225                self.w.bits = (self.w.bits & !0x03ff) | ((value as u32) & 0x03ff);
33226                self.w
33227            }
33228        }
33229        ///Reader of field `OA1MODE`
33230        pub type OA1MODE_R = crate::R<bool, bool>;
33231        ///Write proxy for field `OA1MODE`
33232        pub struct OA1MODE_W<'a> {
33233            w: &'a mut W,
33234        }
33235        impl<'a> OA1MODE_W<'a> {
33236            ///Sets the field bit
33237            #[inline(always)]
33238            pub fn set_bit(self) -> &'a mut W {
33239                self.bit(true)
33240            }
33241            ///Clears the field bit
33242            #[inline(always)]
33243            pub fn clear_bit(self) -> &'a mut W {
33244                self.bit(false)
33245            }
33246            ///Writes raw bits to the field
33247            #[inline(always)]
33248            pub fn bit(self, value: bool) -> &'a mut W {
33249                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
33250                self.w
33251            }
33252        }
33253        ///Reader of field `OA1EN`
33254        pub type OA1EN_R = crate::R<bool, bool>;
33255        ///Write proxy for field `OA1EN`
33256        pub struct OA1EN_W<'a> {
33257            w: &'a mut W,
33258        }
33259        impl<'a> OA1EN_W<'a> {
33260            ///Sets the field bit
33261            #[inline(always)]
33262            pub fn set_bit(self) -> &'a mut W {
33263                self.bit(true)
33264            }
33265            ///Clears the field bit
33266            #[inline(always)]
33267            pub fn clear_bit(self) -> &'a mut W {
33268                self.bit(false)
33269            }
33270            ///Writes raw bits to the field
33271            #[inline(always)]
33272            pub fn bit(self, value: bool) -> &'a mut W {
33273                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
33274                self.w
33275            }
33276        }
33277        impl R {
33278            ///Bits 0:9 - Interface address
33279            #[inline(always)]
33280            pub fn oa1(&self) -> OA1_R {
33281                OA1_R::new((self.bits & 0x03ff) as u16)
33282            }
33283            ///Bit 10 - Own Address 1 10-bit mode
33284            #[inline(always)]
33285            pub fn oa1mode(&self) -> OA1MODE_R {
33286                OA1MODE_R::new(((self.bits >> 10) & 0x01) != 0)
33287            }
33288            ///Bit 15 - Own Address 1 enable
33289            #[inline(always)]
33290            pub fn oa1en(&self) -> OA1EN_R {
33291                OA1EN_R::new(((self.bits >> 15) & 0x01) != 0)
33292            }
33293        }
33294        impl W {
33295            ///Bits 0:9 - Interface address
33296            #[inline(always)]
33297            pub fn oa1(&mut self) -> OA1_W {
33298                OA1_W { w: self }
33299            }
33300            ///Bit 10 - Own Address 1 10-bit mode
33301            #[inline(always)]
33302            pub fn oa1mode(&mut self) -> OA1MODE_W {
33303                OA1MODE_W { w: self }
33304            }
33305            ///Bit 15 - Own Address 1 enable
33306            #[inline(always)]
33307            pub fn oa1en(&mut self) -> OA1EN_W {
33308                OA1EN_W { w: self }
33309            }
33310        }
33311    }
33312    ///Own address register 2
33313    ///
33314    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
33315    ///
33316    ///For information about available fields see [oar2](oar2) module
33317    pub type OAR2 = crate::Reg<u32, _OAR2>;
33318    #[allow(missing_docs)]
33319    #[doc(hidden)]
33320    pub struct _OAR2;
33321    ///`read()` method returns [oar2::R](oar2::R) reader structure
33322    impl crate::Readable for OAR2 {}
33323    ///`write(|w| ..)` method takes [oar2::W](oar2::W) writer structure
33324    impl crate::Writable for OAR2 {}
33325    ///Own address register 2
33326    pub mod oar2 {
33327        ///Reader of register OAR2
33328        pub type R = crate::R<u32, super::OAR2>;
33329        ///Writer for register OAR2
33330        pub type W = crate::W<u32, super::OAR2>;
33331        ///Register OAR2 `reset()`'s with value 0
33332        impl crate::ResetValue for super::OAR2 {
33333            type Type = u32;
33334            #[inline(always)]
33335            fn reset_value() -> Self::Type {
33336                0
33337            }
33338        }
33339        ///Reader of field `OA2`
33340        pub type OA2_R = crate::R<u8, u8>;
33341        ///Write proxy for field `OA2`
33342        pub struct OA2_W<'a> {
33343            w: &'a mut W,
33344        }
33345        impl<'a> OA2_W<'a> {
33346            ///Writes raw bits to the field
33347            #[inline(always)]
33348            pub unsafe fn bits(self, value: u8) -> &'a mut W {
33349                self.w.bits = (self.w.bits & !(0x7f << 1)) | (((value as u32) & 0x7f) << 1);
33350                self.w
33351            }
33352        }
33353        ///Reader of field `OA2MSK`
33354        pub type OA2MSK_R = crate::R<u8, u8>;
33355        ///Write proxy for field `OA2MSK`
33356        pub struct OA2MSK_W<'a> {
33357            w: &'a mut W,
33358        }
33359        impl<'a> OA2MSK_W<'a> {
33360            ///Writes raw bits to the field
33361            #[inline(always)]
33362            pub unsafe fn bits(self, value: u8) -> &'a mut W {
33363                self.w.bits = (self.w.bits & !(0x07 << 8)) | (((value as u32) & 0x07) << 8);
33364                self.w
33365            }
33366        }
33367        ///Reader of field `OA2EN`
33368        pub type OA2EN_R = crate::R<bool, bool>;
33369        ///Write proxy for field `OA2EN`
33370        pub struct OA2EN_W<'a> {
33371            w: &'a mut W,
33372        }
33373        impl<'a> OA2EN_W<'a> {
33374            ///Sets the field bit
33375            #[inline(always)]
33376            pub fn set_bit(self) -> &'a mut W {
33377                self.bit(true)
33378            }
33379            ///Clears the field bit
33380            #[inline(always)]
33381            pub fn clear_bit(self) -> &'a mut W {
33382                self.bit(false)
33383            }
33384            ///Writes raw bits to the field
33385            #[inline(always)]
33386            pub fn bit(self, value: bool) -> &'a mut W {
33387                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
33388                self.w
33389            }
33390        }
33391        impl R {
33392            ///Bits 1:7 - Interface address
33393            #[inline(always)]
33394            pub fn oa2(&self) -> OA2_R {
33395                OA2_R::new(((self.bits >> 1) & 0x7f) as u8)
33396            }
33397            ///Bits 8:10 - Own Address 2 masks
33398            #[inline(always)]
33399            pub fn oa2msk(&self) -> OA2MSK_R {
33400                OA2MSK_R::new(((self.bits >> 8) & 0x07) as u8)
33401            }
33402            ///Bit 15 - Own Address 2 enable
33403            #[inline(always)]
33404            pub fn oa2en(&self) -> OA2EN_R {
33405                OA2EN_R::new(((self.bits >> 15) & 0x01) != 0)
33406            }
33407        }
33408        impl W {
33409            ///Bits 1:7 - Interface address
33410            #[inline(always)]
33411            pub fn oa2(&mut self) -> OA2_W {
33412                OA2_W { w: self }
33413            }
33414            ///Bits 8:10 - Own Address 2 masks
33415            #[inline(always)]
33416            pub fn oa2msk(&mut self) -> OA2MSK_W {
33417                OA2MSK_W { w: self }
33418            }
33419            ///Bit 15 - Own Address 2 enable
33420            #[inline(always)]
33421            pub fn oa2en(&mut self) -> OA2EN_W {
33422                OA2EN_W { w: self }
33423            }
33424        }
33425    }
33426    ///Timing register
33427    ///
33428    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
33429    ///
33430    ///For information about available fields see [timingr](timingr) module
33431    pub type TIMINGR = crate::Reg<u32, _TIMINGR>;
33432    #[allow(missing_docs)]
33433    #[doc(hidden)]
33434    pub struct _TIMINGR;
33435    ///`read()` method returns [timingr::R](timingr::R) reader structure
33436    impl crate::Readable for TIMINGR {}
33437    ///`write(|w| ..)` method takes [timingr::W](timingr::W) writer structure
33438    impl crate::Writable for TIMINGR {}
33439    ///Timing register
33440    pub mod timingr {
33441        ///Reader of register TIMINGR
33442        pub type R = crate::R<u32, super::TIMINGR>;
33443        ///Writer for register TIMINGR
33444        pub type W = crate::W<u32, super::TIMINGR>;
33445        ///Register TIMINGR `reset()`'s with value 0
33446        impl crate::ResetValue for super::TIMINGR {
33447            type Type = u32;
33448            #[inline(always)]
33449            fn reset_value() -> Self::Type {
33450                0
33451            }
33452        }
33453        ///Reader of field `SCLL`
33454        pub type SCLL_R = crate::R<u8, u8>;
33455        ///Write proxy for field `SCLL`
33456        pub struct SCLL_W<'a> {
33457            w: &'a mut W,
33458        }
33459        impl<'a> SCLL_W<'a> {
33460            ///Writes raw bits to the field
33461            #[inline(always)]
33462            pub unsafe fn bits(self, value: u8) -> &'a mut W {
33463                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
33464                self.w
33465            }
33466        }
33467        ///Reader of field `SCLH`
33468        pub type SCLH_R = crate::R<u8, u8>;
33469        ///Write proxy for field `SCLH`
33470        pub struct SCLH_W<'a> {
33471            w: &'a mut W,
33472        }
33473        impl<'a> SCLH_W<'a> {
33474            ///Writes raw bits to the field
33475            #[inline(always)]
33476            pub unsafe fn bits(self, value: u8) -> &'a mut W {
33477                self.w.bits = (self.w.bits & !(0xff << 8)) | (((value as u32) & 0xff) << 8);
33478                self.w
33479            }
33480        }
33481        ///Reader of field `SDADEL`
33482        pub type SDADEL_R = crate::R<u8, u8>;
33483        ///Write proxy for field `SDADEL`
33484        pub struct SDADEL_W<'a> {
33485            w: &'a mut W,
33486        }
33487        impl<'a> SDADEL_W<'a> {
33488            ///Writes raw bits to the field
33489            #[inline(always)]
33490            pub unsafe fn bits(self, value: u8) -> &'a mut W {
33491                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
33492                self.w
33493            }
33494        }
33495        ///Reader of field `SCLDEL`
33496        pub type SCLDEL_R = crate::R<u8, u8>;
33497        ///Write proxy for field `SCLDEL`
33498        pub struct SCLDEL_W<'a> {
33499            w: &'a mut W,
33500        }
33501        impl<'a> SCLDEL_W<'a> {
33502            ///Writes raw bits to the field
33503            #[inline(always)]
33504            pub unsafe fn bits(self, value: u8) -> &'a mut W {
33505                self.w.bits = (self.w.bits & !(0x0f << 20)) | (((value as u32) & 0x0f) << 20);
33506                self.w
33507            }
33508        }
33509        ///Reader of field `PRESC`
33510        pub type PRESC_R = crate::R<u8, u8>;
33511        ///Write proxy for field `PRESC`
33512        pub struct PRESC_W<'a> {
33513            w: &'a mut W,
33514        }
33515        impl<'a> PRESC_W<'a> {
33516            ///Writes raw bits to the field
33517            #[inline(always)]
33518            pub unsafe fn bits(self, value: u8) -> &'a mut W {
33519                self.w.bits = (self.w.bits & !(0x0f << 28)) | (((value as u32) & 0x0f) << 28);
33520                self.w
33521            }
33522        }
33523        impl R {
33524            ///Bits 0:7 - SCL low period (master mode)
33525            #[inline(always)]
33526            pub fn scll(&self) -> SCLL_R {
33527                SCLL_R::new((self.bits & 0xff) as u8)
33528            }
33529            ///Bits 8:15 - SCL high period (master mode)
33530            #[inline(always)]
33531            pub fn sclh(&self) -> SCLH_R {
33532                SCLH_R::new(((self.bits >> 8) & 0xff) as u8)
33533            }
33534            ///Bits 16:19 - Data hold time
33535            #[inline(always)]
33536            pub fn sdadel(&self) -> SDADEL_R {
33537                SDADEL_R::new(((self.bits >> 16) & 0x0f) as u8)
33538            }
33539            ///Bits 20:23 - Data setup time
33540            #[inline(always)]
33541            pub fn scldel(&self) -> SCLDEL_R {
33542                SCLDEL_R::new(((self.bits >> 20) & 0x0f) as u8)
33543            }
33544            ///Bits 28:31 - Timing prescaler
33545            #[inline(always)]
33546            pub fn presc(&self) -> PRESC_R {
33547                PRESC_R::new(((self.bits >> 28) & 0x0f) as u8)
33548            }
33549        }
33550        impl W {
33551            ///Bits 0:7 - SCL low period (master mode)
33552            #[inline(always)]
33553            pub fn scll(&mut self) -> SCLL_W {
33554                SCLL_W { w: self }
33555            }
33556            ///Bits 8:15 - SCL high period (master mode)
33557            #[inline(always)]
33558            pub fn sclh(&mut self) -> SCLH_W {
33559                SCLH_W { w: self }
33560            }
33561            ///Bits 16:19 - Data hold time
33562            #[inline(always)]
33563            pub fn sdadel(&mut self) -> SDADEL_W {
33564                SDADEL_W { w: self }
33565            }
33566            ///Bits 20:23 - Data setup time
33567            #[inline(always)]
33568            pub fn scldel(&mut self) -> SCLDEL_W {
33569                SCLDEL_W { w: self }
33570            }
33571            ///Bits 28:31 - Timing prescaler
33572            #[inline(always)]
33573            pub fn presc(&mut self) -> PRESC_W {
33574                PRESC_W { w: self }
33575            }
33576        }
33577    }
33578    ///Status register 1
33579    ///
33580    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
33581    ///
33582    ///For information about available fields see [timeoutr](timeoutr) module
33583    pub type TIMEOUTR = crate::Reg<u32, _TIMEOUTR>;
33584    #[allow(missing_docs)]
33585    #[doc(hidden)]
33586    pub struct _TIMEOUTR;
33587    ///`read()` method returns [timeoutr::R](timeoutr::R) reader structure
33588    impl crate::Readable for TIMEOUTR {}
33589    ///`write(|w| ..)` method takes [timeoutr::W](timeoutr::W) writer structure
33590    impl crate::Writable for TIMEOUTR {}
33591    ///Status register 1
33592    pub mod timeoutr {
33593        ///Reader of register TIMEOUTR
33594        pub type R = crate::R<u32, super::TIMEOUTR>;
33595        ///Writer for register TIMEOUTR
33596        pub type W = crate::W<u32, super::TIMEOUTR>;
33597        ///Register TIMEOUTR `reset()`'s with value 0
33598        impl crate::ResetValue for super::TIMEOUTR {
33599            type Type = u32;
33600            #[inline(always)]
33601            fn reset_value() -> Self::Type {
33602                0
33603            }
33604        }
33605        ///Reader of field `TIMEOUTA`
33606        pub type TIMEOUTA_R = crate::R<u16, u16>;
33607        ///Write proxy for field `TIMEOUTA`
33608        pub struct TIMEOUTA_W<'a> {
33609            w: &'a mut W,
33610        }
33611        impl<'a> TIMEOUTA_W<'a> {
33612            ///Writes raw bits to the field
33613            #[inline(always)]
33614            pub unsafe fn bits(self, value: u16) -> &'a mut W {
33615                self.w.bits = (self.w.bits & !0x0fff) | ((value as u32) & 0x0fff);
33616                self.w
33617            }
33618        }
33619        ///Reader of field `TIDLE`
33620        pub type TIDLE_R = crate::R<bool, bool>;
33621        ///Write proxy for field `TIDLE`
33622        pub struct TIDLE_W<'a> {
33623            w: &'a mut W,
33624        }
33625        impl<'a> TIDLE_W<'a> {
33626            ///Sets the field bit
33627            #[inline(always)]
33628            pub fn set_bit(self) -> &'a mut W {
33629                self.bit(true)
33630            }
33631            ///Clears the field bit
33632            #[inline(always)]
33633            pub fn clear_bit(self) -> &'a mut W {
33634                self.bit(false)
33635            }
33636            ///Writes raw bits to the field
33637            #[inline(always)]
33638            pub fn bit(self, value: bool) -> &'a mut W {
33639                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
33640                self.w
33641            }
33642        }
33643        ///Reader of field `TIMOUTEN`
33644        pub type TIMOUTEN_R = crate::R<bool, bool>;
33645        ///Write proxy for field `TIMOUTEN`
33646        pub struct TIMOUTEN_W<'a> {
33647            w: &'a mut W,
33648        }
33649        impl<'a> TIMOUTEN_W<'a> {
33650            ///Sets the field bit
33651            #[inline(always)]
33652            pub fn set_bit(self) -> &'a mut W {
33653                self.bit(true)
33654            }
33655            ///Clears the field bit
33656            #[inline(always)]
33657            pub fn clear_bit(self) -> &'a mut W {
33658                self.bit(false)
33659            }
33660            ///Writes raw bits to the field
33661            #[inline(always)]
33662            pub fn bit(self, value: bool) -> &'a mut W {
33663                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
33664                self.w
33665            }
33666        }
33667        ///Reader of field `TIMEOUTB`
33668        pub type TIMEOUTB_R = crate::R<u16, u16>;
33669        ///Write proxy for field `TIMEOUTB`
33670        pub struct TIMEOUTB_W<'a> {
33671            w: &'a mut W,
33672        }
33673        impl<'a> TIMEOUTB_W<'a> {
33674            ///Writes raw bits to the field
33675            #[inline(always)]
33676            pub unsafe fn bits(self, value: u16) -> &'a mut W {
33677                self.w.bits = (self.w.bits & !(0x0fff << 16)) | (((value as u32) & 0x0fff) << 16);
33678                self.w
33679            }
33680        }
33681        ///Reader of field `TEXTEN`
33682        pub type TEXTEN_R = crate::R<bool, bool>;
33683        ///Write proxy for field `TEXTEN`
33684        pub struct TEXTEN_W<'a> {
33685            w: &'a mut W,
33686        }
33687        impl<'a> TEXTEN_W<'a> {
33688            ///Sets the field bit
33689            #[inline(always)]
33690            pub fn set_bit(self) -> &'a mut W {
33691                self.bit(true)
33692            }
33693            ///Clears the field bit
33694            #[inline(always)]
33695            pub fn clear_bit(self) -> &'a mut W {
33696                self.bit(false)
33697            }
33698            ///Writes raw bits to the field
33699            #[inline(always)]
33700            pub fn bit(self, value: bool) -> &'a mut W {
33701                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
33702                self.w
33703            }
33704        }
33705        impl R {
33706            ///Bits 0:11 - Bus timeout A
33707            #[inline(always)]
33708            pub fn timeouta(&self) -> TIMEOUTA_R {
33709                TIMEOUTA_R::new((self.bits & 0x0fff) as u16)
33710            }
33711            ///Bit 12 - Idle clock timeout detection
33712            #[inline(always)]
33713            pub fn tidle(&self) -> TIDLE_R {
33714                TIDLE_R::new(((self.bits >> 12) & 0x01) != 0)
33715            }
33716            ///Bit 15 - Clock timeout enable
33717            #[inline(always)]
33718            pub fn timouten(&self) -> TIMOUTEN_R {
33719                TIMOUTEN_R::new(((self.bits >> 15) & 0x01) != 0)
33720            }
33721            ///Bits 16:27 - Bus timeout B
33722            #[inline(always)]
33723            pub fn timeoutb(&self) -> TIMEOUTB_R {
33724                TIMEOUTB_R::new(((self.bits >> 16) & 0x0fff) as u16)
33725            }
33726            ///Bit 31 - Extended clock timeout enable
33727            #[inline(always)]
33728            pub fn texten(&self) -> TEXTEN_R {
33729                TEXTEN_R::new(((self.bits >> 31) & 0x01) != 0)
33730            }
33731        }
33732        impl W {
33733            ///Bits 0:11 - Bus timeout A
33734            #[inline(always)]
33735            pub fn timeouta(&mut self) -> TIMEOUTA_W {
33736                TIMEOUTA_W { w: self }
33737            }
33738            ///Bit 12 - Idle clock timeout detection
33739            #[inline(always)]
33740            pub fn tidle(&mut self) -> TIDLE_W {
33741                TIDLE_W { w: self }
33742            }
33743            ///Bit 15 - Clock timeout enable
33744            #[inline(always)]
33745            pub fn timouten(&mut self) -> TIMOUTEN_W {
33746                TIMOUTEN_W { w: self }
33747            }
33748            ///Bits 16:27 - Bus timeout B
33749            #[inline(always)]
33750            pub fn timeoutb(&mut self) -> TIMEOUTB_W {
33751                TIMEOUTB_W { w: self }
33752            }
33753            ///Bit 31 - Extended clock timeout enable
33754            #[inline(always)]
33755            pub fn texten(&mut self) -> TEXTEN_W {
33756                TEXTEN_W { w: self }
33757            }
33758        }
33759    }
33760    ///Interrupt and Status register
33761    ///
33762    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
33763    ///
33764    ///For information about available fields see [isr](isr) module
33765    pub type ISR = crate::Reg<u32, _ISR>;
33766    #[allow(missing_docs)]
33767    #[doc(hidden)]
33768    pub struct _ISR;
33769    ///`read()` method returns [isr::R](isr::R) reader structure
33770    impl crate::Readable for ISR {}
33771    ///`write(|w| ..)` method takes [isr::W](isr::W) writer structure
33772    impl crate::Writable for ISR {}
33773    ///Interrupt and Status register
33774    pub mod isr {
33775        ///Reader of register ISR
33776        pub type R = crate::R<u32, super::ISR>;
33777        ///Writer for register ISR
33778        pub type W = crate::W<u32, super::ISR>;
33779        ///Register ISR `reset()`'s with value 0x01
33780        impl crate::ResetValue for super::ISR {
33781            type Type = u32;
33782            #[inline(always)]
33783            fn reset_value() -> Self::Type {
33784                0x01
33785            }
33786        }
33787        ///Reader of field `ADDCODE`
33788        pub type ADDCODE_R = crate::R<u8, u8>;
33789        ///Reader of field `DIR`
33790        pub type DIR_R = crate::R<bool, bool>;
33791        ///Reader of field `BUSY`
33792        pub type BUSY_R = crate::R<bool, bool>;
33793        ///Reader of field `ALERT`
33794        pub type ALERT_R = crate::R<bool, bool>;
33795        ///Reader of field `TIMEOUT`
33796        pub type TIMEOUT_R = crate::R<bool, bool>;
33797        ///Reader of field `PECERR`
33798        pub type PECERR_R = crate::R<bool, bool>;
33799        ///Reader of field `OVR`
33800        pub type OVR_R = crate::R<bool, bool>;
33801        ///Reader of field `ARLO`
33802        pub type ARLO_R = crate::R<bool, bool>;
33803        ///Reader of field `BERR`
33804        pub type BERR_R = crate::R<bool, bool>;
33805        ///Reader of field `TCR`
33806        pub type TCR_R = crate::R<bool, bool>;
33807        ///Reader of field `TC`
33808        pub type TC_R = crate::R<bool, bool>;
33809        ///Reader of field `STOPF`
33810        pub type STOPF_R = crate::R<bool, bool>;
33811        ///Reader of field `NACKF`
33812        pub type NACKF_R = crate::R<bool, bool>;
33813        ///Reader of field `ADDR`
33814        pub type ADDR_R = crate::R<bool, bool>;
33815        ///Reader of field `RXNE`
33816        pub type RXNE_R = crate::R<bool, bool>;
33817        ///Reader of field `TXIS`
33818        pub type TXIS_R = crate::R<bool, bool>;
33819        ///Write proxy for field `TXIS`
33820        pub struct TXIS_W<'a> {
33821            w: &'a mut W,
33822        }
33823        impl<'a> TXIS_W<'a> {
33824            ///Sets the field bit
33825            #[inline(always)]
33826            pub fn set_bit(self) -> &'a mut W {
33827                self.bit(true)
33828            }
33829            ///Clears the field bit
33830            #[inline(always)]
33831            pub fn clear_bit(self) -> &'a mut W {
33832                self.bit(false)
33833            }
33834            ///Writes raw bits to the field
33835            #[inline(always)]
33836            pub fn bit(self, value: bool) -> &'a mut W {
33837                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
33838                self.w
33839            }
33840        }
33841        ///Reader of field `TXE`
33842        pub type TXE_R = crate::R<bool, bool>;
33843        ///Write proxy for field `TXE`
33844        pub struct TXE_W<'a> {
33845            w: &'a mut W,
33846        }
33847        impl<'a> TXE_W<'a> {
33848            ///Sets the field bit
33849            #[inline(always)]
33850            pub fn set_bit(self) -> &'a mut W {
33851                self.bit(true)
33852            }
33853            ///Clears the field bit
33854            #[inline(always)]
33855            pub fn clear_bit(self) -> &'a mut W {
33856                self.bit(false)
33857            }
33858            ///Writes raw bits to the field
33859            #[inline(always)]
33860            pub fn bit(self, value: bool) -> &'a mut W {
33861                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
33862                self.w
33863            }
33864        }
33865        impl R {
33866            ///Bits 17:23 - Address match code (Slave mode)
33867            #[inline(always)]
33868            pub fn addcode(&self) -> ADDCODE_R {
33869                ADDCODE_R::new(((self.bits >> 17) & 0x7f) as u8)
33870            }
33871            ///Bit 16 - Transfer direction (Slave mode)
33872            #[inline(always)]
33873            pub fn dir(&self) -> DIR_R {
33874                DIR_R::new(((self.bits >> 16) & 0x01) != 0)
33875            }
33876            ///Bit 15 - Bus busy
33877            #[inline(always)]
33878            pub fn busy(&self) -> BUSY_R {
33879                BUSY_R::new(((self.bits >> 15) & 0x01) != 0)
33880            }
33881            ///Bit 13 - SMBus alert
33882            #[inline(always)]
33883            pub fn alert(&self) -> ALERT_R {
33884                ALERT_R::new(((self.bits >> 13) & 0x01) != 0)
33885            }
33886            ///Bit 12 - Timeout or t_low detection flag
33887            #[inline(always)]
33888            pub fn timeout(&self) -> TIMEOUT_R {
33889                TIMEOUT_R::new(((self.bits >> 12) & 0x01) != 0)
33890            }
33891            ///Bit 11 - PEC Error in reception
33892            #[inline(always)]
33893            pub fn pecerr(&self) -> PECERR_R {
33894                PECERR_R::new(((self.bits >> 11) & 0x01) != 0)
33895            }
33896            ///Bit 10 - Overrun/Underrun (slave mode)
33897            #[inline(always)]
33898            pub fn ovr(&self) -> OVR_R {
33899                OVR_R::new(((self.bits >> 10) & 0x01) != 0)
33900            }
33901            ///Bit 9 - Arbitration lost
33902            #[inline(always)]
33903            pub fn arlo(&self) -> ARLO_R {
33904                ARLO_R::new(((self.bits >> 9) & 0x01) != 0)
33905            }
33906            ///Bit 8 - Bus error
33907            #[inline(always)]
33908            pub fn berr(&self) -> BERR_R {
33909                BERR_R::new(((self.bits >> 8) & 0x01) != 0)
33910            }
33911            ///Bit 7 - Transfer Complete Reload
33912            #[inline(always)]
33913            pub fn tcr(&self) -> TCR_R {
33914                TCR_R::new(((self.bits >> 7) & 0x01) != 0)
33915            }
33916            ///Bit 6 - Transfer Complete (master mode)
33917            #[inline(always)]
33918            pub fn tc(&self) -> TC_R {
33919                TC_R::new(((self.bits >> 6) & 0x01) != 0)
33920            }
33921            ///Bit 5 - Stop detection flag
33922            #[inline(always)]
33923            pub fn stopf(&self) -> STOPF_R {
33924                STOPF_R::new(((self.bits >> 5) & 0x01) != 0)
33925            }
33926            ///Bit 4 - Not acknowledge received flag
33927            #[inline(always)]
33928            pub fn nackf(&self) -> NACKF_R {
33929                NACKF_R::new(((self.bits >> 4) & 0x01) != 0)
33930            }
33931            ///Bit 3 - Address matched (slave mode)
33932            #[inline(always)]
33933            pub fn addr(&self) -> ADDR_R {
33934                ADDR_R::new(((self.bits >> 3) & 0x01) != 0)
33935            }
33936            ///Bit 2 - Receive data register not empty (receivers)
33937            #[inline(always)]
33938            pub fn rxne(&self) -> RXNE_R {
33939                RXNE_R::new(((self.bits >> 2) & 0x01) != 0)
33940            }
33941            ///Bit 1 - Transmit interrupt status (transmitters)
33942            #[inline(always)]
33943            pub fn txis(&self) -> TXIS_R {
33944                TXIS_R::new(((self.bits >> 1) & 0x01) != 0)
33945            }
33946            ///Bit 0 - Transmit data register empty (transmitters)
33947            #[inline(always)]
33948            pub fn txe(&self) -> TXE_R {
33949                TXE_R::new((self.bits & 0x01) != 0)
33950            }
33951        }
33952        impl W {
33953            ///Bit 1 - Transmit interrupt status (transmitters)
33954            #[inline(always)]
33955            pub fn txis(&mut self) -> TXIS_W {
33956                TXIS_W { w: self }
33957            }
33958            ///Bit 0 - Transmit data register empty (transmitters)
33959            #[inline(always)]
33960            pub fn txe(&mut self) -> TXE_W {
33961                TXE_W { w: self }
33962            }
33963        }
33964    }
33965    ///Interrupt clear register
33966    ///
33967    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
33968    ///
33969    ///For information about available fields see [icr](icr) module
33970    pub type ICR = crate::Reg<u32, _ICR>;
33971    #[allow(missing_docs)]
33972    #[doc(hidden)]
33973    pub struct _ICR;
33974    ///`write(|w| ..)` method takes [icr::W](icr::W) writer structure
33975    impl crate::Writable for ICR {}
33976    ///Interrupt clear register
33977    pub mod icr {
33978        ///Writer for register ICR
33979        pub type W = crate::W<u32, super::ICR>;
33980        ///Register ICR `reset()`'s with value 0
33981        impl crate::ResetValue for super::ICR {
33982            type Type = u32;
33983            #[inline(always)]
33984            fn reset_value() -> Self::Type {
33985                0
33986            }
33987        }
33988        ///Write proxy for field `ALERTCF`
33989        pub struct ALERTCF_W<'a> {
33990            w: &'a mut W,
33991        }
33992        impl<'a> ALERTCF_W<'a> {
33993            ///Sets the field bit
33994            #[inline(always)]
33995            pub fn set_bit(self) -> &'a mut W {
33996                self.bit(true)
33997            }
33998            ///Clears the field bit
33999            #[inline(always)]
34000            pub fn clear_bit(self) -> &'a mut W {
34001                self.bit(false)
34002            }
34003            ///Writes raw bits to the field
34004            #[inline(always)]
34005            pub fn bit(self, value: bool) -> &'a mut W {
34006                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
34007                self.w
34008            }
34009        }
34010        ///Write proxy for field `TIMOUTCF`
34011        pub struct TIMOUTCF_W<'a> {
34012            w: &'a mut W,
34013        }
34014        impl<'a> TIMOUTCF_W<'a> {
34015            ///Sets the field bit
34016            #[inline(always)]
34017            pub fn set_bit(self) -> &'a mut W {
34018                self.bit(true)
34019            }
34020            ///Clears the field bit
34021            #[inline(always)]
34022            pub fn clear_bit(self) -> &'a mut W {
34023                self.bit(false)
34024            }
34025            ///Writes raw bits to the field
34026            #[inline(always)]
34027            pub fn bit(self, value: bool) -> &'a mut W {
34028                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
34029                self.w
34030            }
34031        }
34032        ///Write proxy for field `PECCF`
34033        pub struct PECCF_W<'a> {
34034            w: &'a mut W,
34035        }
34036        impl<'a> PECCF_W<'a> {
34037            ///Sets the field bit
34038            #[inline(always)]
34039            pub fn set_bit(self) -> &'a mut W {
34040                self.bit(true)
34041            }
34042            ///Clears the field bit
34043            #[inline(always)]
34044            pub fn clear_bit(self) -> &'a mut W {
34045                self.bit(false)
34046            }
34047            ///Writes raw bits to the field
34048            #[inline(always)]
34049            pub fn bit(self, value: bool) -> &'a mut W {
34050                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
34051                self.w
34052            }
34053        }
34054        ///Write proxy for field `OVRCF`
34055        pub struct OVRCF_W<'a> {
34056            w: &'a mut W,
34057        }
34058        impl<'a> OVRCF_W<'a> {
34059            ///Sets the field bit
34060            #[inline(always)]
34061            pub fn set_bit(self) -> &'a mut W {
34062                self.bit(true)
34063            }
34064            ///Clears the field bit
34065            #[inline(always)]
34066            pub fn clear_bit(self) -> &'a mut W {
34067                self.bit(false)
34068            }
34069            ///Writes raw bits to the field
34070            #[inline(always)]
34071            pub fn bit(self, value: bool) -> &'a mut W {
34072                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
34073                self.w
34074            }
34075        }
34076        ///Write proxy for field `ARLOCF`
34077        pub struct ARLOCF_W<'a> {
34078            w: &'a mut W,
34079        }
34080        impl<'a> ARLOCF_W<'a> {
34081            ///Sets the field bit
34082            #[inline(always)]
34083            pub fn set_bit(self) -> &'a mut W {
34084                self.bit(true)
34085            }
34086            ///Clears the field bit
34087            #[inline(always)]
34088            pub fn clear_bit(self) -> &'a mut W {
34089                self.bit(false)
34090            }
34091            ///Writes raw bits to the field
34092            #[inline(always)]
34093            pub fn bit(self, value: bool) -> &'a mut W {
34094                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
34095                self.w
34096            }
34097        }
34098        ///Write proxy for field `BERRCF`
34099        pub struct BERRCF_W<'a> {
34100            w: &'a mut W,
34101        }
34102        impl<'a> BERRCF_W<'a> {
34103            ///Sets the field bit
34104            #[inline(always)]
34105            pub fn set_bit(self) -> &'a mut W {
34106                self.bit(true)
34107            }
34108            ///Clears the field bit
34109            #[inline(always)]
34110            pub fn clear_bit(self) -> &'a mut W {
34111                self.bit(false)
34112            }
34113            ///Writes raw bits to the field
34114            #[inline(always)]
34115            pub fn bit(self, value: bool) -> &'a mut W {
34116                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
34117                self.w
34118            }
34119        }
34120        ///Write proxy for field `STOPCF`
34121        pub struct STOPCF_W<'a> {
34122            w: &'a mut W,
34123        }
34124        impl<'a> STOPCF_W<'a> {
34125            ///Sets the field bit
34126            #[inline(always)]
34127            pub fn set_bit(self) -> &'a mut W {
34128                self.bit(true)
34129            }
34130            ///Clears the field bit
34131            #[inline(always)]
34132            pub fn clear_bit(self) -> &'a mut W {
34133                self.bit(false)
34134            }
34135            ///Writes raw bits to the field
34136            #[inline(always)]
34137            pub fn bit(self, value: bool) -> &'a mut W {
34138                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
34139                self.w
34140            }
34141        }
34142        ///Write proxy for field `NACKCF`
34143        pub struct NACKCF_W<'a> {
34144            w: &'a mut W,
34145        }
34146        impl<'a> NACKCF_W<'a> {
34147            ///Sets the field bit
34148            #[inline(always)]
34149            pub fn set_bit(self) -> &'a mut W {
34150                self.bit(true)
34151            }
34152            ///Clears the field bit
34153            #[inline(always)]
34154            pub fn clear_bit(self) -> &'a mut W {
34155                self.bit(false)
34156            }
34157            ///Writes raw bits to the field
34158            #[inline(always)]
34159            pub fn bit(self, value: bool) -> &'a mut W {
34160                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
34161                self.w
34162            }
34163        }
34164        ///Write proxy for field `ADDRCF`
34165        pub struct ADDRCF_W<'a> {
34166            w: &'a mut W,
34167        }
34168        impl<'a> ADDRCF_W<'a> {
34169            ///Sets the field bit
34170            #[inline(always)]
34171            pub fn set_bit(self) -> &'a mut W {
34172                self.bit(true)
34173            }
34174            ///Clears the field bit
34175            #[inline(always)]
34176            pub fn clear_bit(self) -> &'a mut W {
34177                self.bit(false)
34178            }
34179            ///Writes raw bits to the field
34180            #[inline(always)]
34181            pub fn bit(self, value: bool) -> &'a mut W {
34182                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
34183                self.w
34184            }
34185        }
34186        impl W {
34187            ///Bit 13 - Alert flag clear
34188            #[inline(always)]
34189            pub fn alertcf(&mut self) -> ALERTCF_W {
34190                ALERTCF_W { w: self }
34191            }
34192            ///Bit 12 - Timeout detection flag clear
34193            #[inline(always)]
34194            pub fn timoutcf(&mut self) -> TIMOUTCF_W {
34195                TIMOUTCF_W { w: self }
34196            }
34197            ///Bit 11 - PEC Error flag clear
34198            #[inline(always)]
34199            pub fn peccf(&mut self) -> PECCF_W {
34200                PECCF_W { w: self }
34201            }
34202            ///Bit 10 - Overrun/Underrun flag clear
34203            #[inline(always)]
34204            pub fn ovrcf(&mut self) -> OVRCF_W {
34205                OVRCF_W { w: self }
34206            }
34207            ///Bit 9 - Arbitration lost flag clear
34208            #[inline(always)]
34209            pub fn arlocf(&mut self) -> ARLOCF_W {
34210                ARLOCF_W { w: self }
34211            }
34212            ///Bit 8 - Bus error flag clear
34213            #[inline(always)]
34214            pub fn berrcf(&mut self) -> BERRCF_W {
34215                BERRCF_W { w: self }
34216            }
34217            ///Bit 5 - Stop detection flag clear
34218            #[inline(always)]
34219            pub fn stopcf(&mut self) -> STOPCF_W {
34220                STOPCF_W { w: self }
34221            }
34222            ///Bit 4 - Not Acknowledge flag clear
34223            #[inline(always)]
34224            pub fn nackcf(&mut self) -> NACKCF_W {
34225                NACKCF_W { w: self }
34226            }
34227            ///Bit 3 - Address Matched flag clear
34228            #[inline(always)]
34229            pub fn addrcf(&mut self) -> ADDRCF_W {
34230                ADDRCF_W { w: self }
34231            }
34232        }
34233    }
34234    ///PEC register
34235    ///
34236    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
34237    ///
34238    ///For information about available fields see [pecr](pecr) module
34239    pub type PECR = crate::Reg<u32, _PECR>;
34240    #[allow(missing_docs)]
34241    #[doc(hidden)]
34242    pub struct _PECR;
34243    ///`read()` method returns [pecr::R](pecr::R) reader structure
34244    impl crate::Readable for PECR {}
34245    ///PEC register
34246    pub mod pecr {
34247        ///Reader of register PECR
34248        pub type R = crate::R<u32, super::PECR>;
34249        ///Reader of field `PEC`
34250        pub type PEC_R = crate::R<u8, u8>;
34251        impl R {
34252            ///Bits 0:7 - Packet error checking register
34253            #[inline(always)]
34254            pub fn pec(&self) -> PEC_R {
34255                PEC_R::new((self.bits & 0xff) as u8)
34256            }
34257        }
34258    }
34259    ///Receive data register
34260    ///
34261    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
34262    ///
34263    ///For information about available fields see [rxdr](rxdr) module
34264    pub type RXDR = crate::Reg<u32, _RXDR>;
34265    #[allow(missing_docs)]
34266    #[doc(hidden)]
34267    pub struct _RXDR;
34268    ///`read()` method returns [rxdr::R](rxdr::R) reader structure
34269    impl crate::Readable for RXDR {}
34270    ///Receive data register
34271    pub mod rxdr {
34272        ///Reader of register RXDR
34273        pub type R = crate::R<u32, super::RXDR>;
34274        ///Reader of field `RXDATA`
34275        pub type RXDATA_R = crate::R<u8, u8>;
34276        impl R {
34277            ///Bits 0:7 - 8-bit receive data
34278            #[inline(always)]
34279            pub fn rxdata(&self) -> RXDATA_R {
34280                RXDATA_R::new((self.bits & 0xff) as u8)
34281            }
34282        }
34283    }
34284    ///Transmit data register
34285    ///
34286    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
34287    ///
34288    ///For information about available fields see [txdr](txdr) module
34289    pub type TXDR = crate::Reg<u32, _TXDR>;
34290    #[allow(missing_docs)]
34291    #[doc(hidden)]
34292    pub struct _TXDR;
34293    ///`read()` method returns [txdr::R](txdr::R) reader structure
34294    impl crate::Readable for TXDR {}
34295    ///`write(|w| ..)` method takes [txdr::W](txdr::W) writer structure
34296    impl crate::Writable for TXDR {}
34297    ///Transmit data register
34298    pub mod txdr {
34299        ///Reader of register TXDR
34300        pub type R = crate::R<u32, super::TXDR>;
34301        ///Writer for register TXDR
34302        pub type W = crate::W<u32, super::TXDR>;
34303        ///Register TXDR `reset()`'s with value 0
34304        impl crate::ResetValue for super::TXDR {
34305            type Type = u32;
34306            #[inline(always)]
34307            fn reset_value() -> Self::Type {
34308                0
34309            }
34310        }
34311        ///Reader of field `TXDATA`
34312        pub type TXDATA_R = crate::R<u8, u8>;
34313        ///Write proxy for field `TXDATA`
34314        pub struct TXDATA_W<'a> {
34315            w: &'a mut W,
34316        }
34317        impl<'a> TXDATA_W<'a> {
34318            ///Writes raw bits to the field
34319            #[inline(always)]
34320            pub unsafe fn bits(self, value: u8) -> &'a mut W {
34321                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
34322                self.w
34323            }
34324        }
34325        impl R {
34326            ///Bits 0:7 - 8-bit transmit data
34327            #[inline(always)]
34328            pub fn txdata(&self) -> TXDATA_R {
34329                TXDATA_R::new((self.bits & 0xff) as u8)
34330            }
34331        }
34332        impl W {
34333            ///Bits 0:7 - 8-bit transmit data
34334            #[inline(always)]
34335            pub fn txdata(&mut self) -> TXDATA_W {
34336                TXDATA_W { w: self }
34337            }
34338        }
34339    }
34340}
34341///Inter-integrated circuit
34342pub struct I2C3 {
34343    _marker: PhantomData<*const ()>,
34344}
34345unsafe impl Send for I2C3 {}
34346impl I2C3 {
34347    ///Returns a pointer to the register block
34348    #[inline(always)]
34349    pub const fn ptr() -> *const i2c1::RegisterBlock {
34350        0x4000_5c00 as *const _
34351    }
34352}
34353impl Deref for I2C3 {
34354    type Target = i2c1::RegisterBlock;
34355    #[inline(always)]
34356    fn deref(&self) -> &Self::Target {
34357        unsafe { &*I2C3::ptr() }
34358    }
34359}
34360///Flash
34361pub struct FLASH {
34362    _marker: PhantomData<*const ()>,
34363}
34364unsafe impl Send for FLASH {}
34365impl FLASH {
34366    ///Returns a pointer to the register block
34367    #[inline(always)]
34368    pub const fn ptr() -> *const flash::RegisterBlock {
34369        0x5800_4000 as *const _
34370    }
34371}
34372impl Deref for FLASH {
34373    type Target = flash::RegisterBlock;
34374    #[inline(always)]
34375    fn deref(&self) -> &Self::Target {
34376        unsafe { &*FLASH::ptr() }
34377    }
34378}
34379///Flash
34380pub mod flash {
34381    ///Register block
34382    #[repr(C)]
34383    pub struct RegisterBlock {
34384        ///0x00 - Access control register
34385        pub acr: ACR,
34386        _reserved1: [u8; 4usize],
34387        ///0x08 - Flash key register
34388        pub keyr: KEYR,
34389        ///0x0c - Option byte key register
34390        pub optkeyr: OPTKEYR,
34391        ///0x10 - Status register
34392        pub sr: SR,
34393        ///0x14 - Flash control register
34394        pub cr: CR,
34395        ///0x18 - Flash ECC register
34396        pub eccr: ECCR,
34397        _reserved6: [u8; 4usize],
34398        ///0x20 - Flash option register
34399        pub optr: OPTR,
34400        ///0x24 - Flash Bank 1 PCROP Start address zone A register
34401        pub pcrop1asr: PCROP1ASR,
34402        ///0x28 - Flash Bank 1 PCROP End address zone A register
34403        pub pcrop1aer: PCROP1AER,
34404        ///0x2c - Flash Bank 1 WRP area A address register
34405        pub wrp1ar: WRP1AR,
34406        ///0x30 - Flash Bank 1 WRP area B address register
34407        pub wrp1br: WRP1BR,
34408        ///0x34 - Flash Bank 1 PCROP Start address area B register
34409        pub pcrop1bsr: PCROP1BSR,
34410        ///0x38 - Flash Bank 1 PCROP End address area B register
34411        pub pcrop1ber: PCROP1BER,
34412        ///0x3c - IPCC mailbox data buffer address register
34413        pub ipccbr: IPCCBR,
34414        _reserved14: [u8; 28usize],
34415        ///0x5c - CPU2 cortex M0 access control register
34416        pub c2acr: C2ACR,
34417        ///0x60 - CPU2 cortex M0 status register
34418        pub c2sr: C2SR,
34419        ///0x64 - CPU2 cortex M0 control register
34420        pub c2cr: C2CR,
34421        _reserved17: [u8; 24usize],
34422        ///0x80 - Secure flash start address register
34423        pub sfr: SFR,
34424        ///0x84 - Secure SRAM2 start address and cortex M0 reset vector register
34425        pub srrvr: SRRVR,
34426    }
34427    ///Access control register
34428    ///
34429    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
34430    ///
34431    ///For information about available fields see [acr](acr) module
34432    pub type ACR = crate::Reg<u32, _ACR>;
34433    #[allow(missing_docs)]
34434    #[doc(hidden)]
34435    pub struct _ACR;
34436    ///`read()` method returns [acr::R](acr::R) reader structure
34437    impl crate::Readable for ACR {}
34438    ///`write(|w| ..)` method takes [acr::W](acr::W) writer structure
34439    impl crate::Writable for ACR {}
34440    ///Access control register
34441    pub mod acr {
34442        ///Reader of register ACR
34443        pub type R = crate::R<u32, super::ACR>;
34444        ///Writer for register ACR
34445        pub type W = crate::W<u32, super::ACR>;
34446        ///Register ACR `reset()`'s with value 0x0600
34447        impl crate::ResetValue for super::ACR {
34448            type Type = u32;
34449            #[inline(always)]
34450            fn reset_value() -> Self::Type {
34451                0x0600
34452            }
34453        }
34454        ///Reader of field `LATENCY`
34455        pub type LATENCY_R = crate::R<u8, u8>;
34456        ///Write proxy for field `LATENCY`
34457        pub struct LATENCY_W<'a> {
34458            w: &'a mut W,
34459        }
34460        impl<'a> LATENCY_W<'a> {
34461            ///Writes raw bits to the field
34462            #[inline(always)]
34463            pub unsafe fn bits(self, value: u8) -> &'a mut W {
34464                self.w.bits = (self.w.bits & !0x07) | ((value as u32) & 0x07);
34465                self.w
34466            }
34467        }
34468        ///Reader of field `PRFTEN`
34469        pub type PRFTEN_R = crate::R<bool, bool>;
34470        ///Write proxy for field `PRFTEN`
34471        pub struct PRFTEN_W<'a> {
34472            w: &'a mut W,
34473        }
34474        impl<'a> PRFTEN_W<'a> {
34475            ///Sets the field bit
34476            #[inline(always)]
34477            pub fn set_bit(self) -> &'a mut W {
34478                self.bit(true)
34479            }
34480            ///Clears the field bit
34481            #[inline(always)]
34482            pub fn clear_bit(self) -> &'a mut W {
34483                self.bit(false)
34484            }
34485            ///Writes raw bits to the field
34486            #[inline(always)]
34487            pub fn bit(self, value: bool) -> &'a mut W {
34488                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
34489                self.w
34490            }
34491        }
34492        ///Reader of field `ICEN`
34493        pub type ICEN_R = crate::R<bool, bool>;
34494        ///Write proxy for field `ICEN`
34495        pub struct ICEN_W<'a> {
34496            w: &'a mut W,
34497        }
34498        impl<'a> ICEN_W<'a> {
34499            ///Sets the field bit
34500            #[inline(always)]
34501            pub fn set_bit(self) -> &'a mut W {
34502                self.bit(true)
34503            }
34504            ///Clears the field bit
34505            #[inline(always)]
34506            pub fn clear_bit(self) -> &'a mut W {
34507                self.bit(false)
34508            }
34509            ///Writes raw bits to the field
34510            #[inline(always)]
34511            pub fn bit(self, value: bool) -> &'a mut W {
34512                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
34513                self.w
34514            }
34515        }
34516        ///Reader of field `DCEN`
34517        pub type DCEN_R = crate::R<bool, bool>;
34518        ///Write proxy for field `DCEN`
34519        pub struct DCEN_W<'a> {
34520            w: &'a mut W,
34521        }
34522        impl<'a> DCEN_W<'a> {
34523            ///Sets the field bit
34524            #[inline(always)]
34525            pub fn set_bit(self) -> &'a mut W {
34526                self.bit(true)
34527            }
34528            ///Clears the field bit
34529            #[inline(always)]
34530            pub fn clear_bit(self) -> &'a mut W {
34531                self.bit(false)
34532            }
34533            ///Writes raw bits to the field
34534            #[inline(always)]
34535            pub fn bit(self, value: bool) -> &'a mut W {
34536                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
34537                self.w
34538            }
34539        }
34540        ///Reader of field `ICRST`
34541        pub type ICRST_R = crate::R<bool, bool>;
34542        ///Write proxy for field `ICRST`
34543        pub struct ICRST_W<'a> {
34544            w: &'a mut W,
34545        }
34546        impl<'a> ICRST_W<'a> {
34547            ///Sets the field bit
34548            #[inline(always)]
34549            pub fn set_bit(self) -> &'a mut W {
34550                self.bit(true)
34551            }
34552            ///Clears the field bit
34553            #[inline(always)]
34554            pub fn clear_bit(self) -> &'a mut W {
34555                self.bit(false)
34556            }
34557            ///Writes raw bits to the field
34558            #[inline(always)]
34559            pub fn bit(self, value: bool) -> &'a mut W {
34560                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
34561                self.w
34562            }
34563        }
34564        ///Reader of field `DCRST`
34565        pub type DCRST_R = crate::R<bool, bool>;
34566        ///Write proxy for field `DCRST`
34567        pub struct DCRST_W<'a> {
34568            w: &'a mut W,
34569        }
34570        impl<'a> DCRST_W<'a> {
34571            ///Sets the field bit
34572            #[inline(always)]
34573            pub fn set_bit(self) -> &'a mut W {
34574                self.bit(true)
34575            }
34576            ///Clears the field bit
34577            #[inline(always)]
34578            pub fn clear_bit(self) -> &'a mut W {
34579                self.bit(false)
34580            }
34581            ///Writes raw bits to the field
34582            #[inline(always)]
34583            pub fn bit(self, value: bool) -> &'a mut W {
34584                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
34585                self.w
34586            }
34587        }
34588        ///Reader of field `PES`
34589        pub type PES_R = crate::R<bool, bool>;
34590        ///Write proxy for field `PES`
34591        pub struct PES_W<'a> {
34592            w: &'a mut W,
34593        }
34594        impl<'a> PES_W<'a> {
34595            ///Sets the field bit
34596            #[inline(always)]
34597            pub fn set_bit(self) -> &'a mut W {
34598                self.bit(true)
34599            }
34600            ///Clears the field bit
34601            #[inline(always)]
34602            pub fn clear_bit(self) -> &'a mut W {
34603                self.bit(false)
34604            }
34605            ///Writes raw bits to the field
34606            #[inline(always)]
34607            pub fn bit(self, value: bool) -> &'a mut W {
34608                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
34609                self.w
34610            }
34611        }
34612        ///Reader of field `EMPTY`
34613        pub type EMPTY_R = crate::R<bool, bool>;
34614        ///Write proxy for field `EMPTY`
34615        pub struct EMPTY_W<'a> {
34616            w: &'a mut W,
34617        }
34618        impl<'a> EMPTY_W<'a> {
34619            ///Sets the field bit
34620            #[inline(always)]
34621            pub fn set_bit(self) -> &'a mut W {
34622                self.bit(true)
34623            }
34624            ///Clears the field bit
34625            #[inline(always)]
34626            pub fn clear_bit(self) -> &'a mut W {
34627                self.bit(false)
34628            }
34629            ///Writes raw bits to the field
34630            #[inline(always)]
34631            pub fn bit(self, value: bool) -> &'a mut W {
34632                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
34633                self.w
34634            }
34635        }
34636        impl R {
34637            ///Bits 0:2 - Latency
34638            #[inline(always)]
34639            pub fn latency(&self) -> LATENCY_R {
34640                LATENCY_R::new((self.bits & 0x07) as u8)
34641            }
34642            ///Bit 8 - Prefetch enable
34643            #[inline(always)]
34644            pub fn prften(&self) -> PRFTEN_R {
34645                PRFTEN_R::new(((self.bits >> 8) & 0x01) != 0)
34646            }
34647            ///Bit 9 - Instruction cache enable
34648            #[inline(always)]
34649            pub fn icen(&self) -> ICEN_R {
34650                ICEN_R::new(((self.bits >> 9) & 0x01) != 0)
34651            }
34652            ///Bit 10 - Data cache enable
34653            #[inline(always)]
34654            pub fn dcen(&self) -> DCEN_R {
34655                DCEN_R::new(((self.bits >> 10) & 0x01) != 0)
34656            }
34657            ///Bit 11 - Instruction cache reset
34658            #[inline(always)]
34659            pub fn icrst(&self) -> ICRST_R {
34660                ICRST_R::new(((self.bits >> 11) & 0x01) != 0)
34661            }
34662            ///Bit 12 - Data cache reset
34663            #[inline(always)]
34664            pub fn dcrst(&self) -> DCRST_R {
34665                DCRST_R::new(((self.bits >> 12) & 0x01) != 0)
34666            }
34667            ///Bit 15 - CPU1 CortexM4 program erase suspend request
34668            #[inline(always)]
34669            pub fn pes(&self) -> PES_R {
34670                PES_R::new(((self.bits >> 15) & 0x01) != 0)
34671            }
34672            ///Bit 16 - Flash User area empty
34673            #[inline(always)]
34674            pub fn empty(&self) -> EMPTY_R {
34675                EMPTY_R::new(((self.bits >> 16) & 0x01) != 0)
34676            }
34677        }
34678        impl W {
34679            ///Bits 0:2 - Latency
34680            #[inline(always)]
34681            pub fn latency(&mut self) -> LATENCY_W {
34682                LATENCY_W { w: self }
34683            }
34684            ///Bit 8 - Prefetch enable
34685            #[inline(always)]
34686            pub fn prften(&mut self) -> PRFTEN_W {
34687                PRFTEN_W { w: self }
34688            }
34689            ///Bit 9 - Instruction cache enable
34690            #[inline(always)]
34691            pub fn icen(&mut self) -> ICEN_W {
34692                ICEN_W { w: self }
34693            }
34694            ///Bit 10 - Data cache enable
34695            #[inline(always)]
34696            pub fn dcen(&mut self) -> DCEN_W {
34697                DCEN_W { w: self }
34698            }
34699            ///Bit 11 - Instruction cache reset
34700            #[inline(always)]
34701            pub fn icrst(&mut self) -> ICRST_W {
34702                ICRST_W { w: self }
34703            }
34704            ///Bit 12 - Data cache reset
34705            #[inline(always)]
34706            pub fn dcrst(&mut self) -> DCRST_W {
34707                DCRST_W { w: self }
34708            }
34709            ///Bit 15 - CPU1 CortexM4 program erase suspend request
34710            #[inline(always)]
34711            pub fn pes(&mut self) -> PES_W {
34712                PES_W { w: self }
34713            }
34714            ///Bit 16 - Flash User area empty
34715            #[inline(always)]
34716            pub fn empty(&mut self) -> EMPTY_W {
34717                EMPTY_W { w: self }
34718            }
34719        }
34720    }
34721    ///Flash key register
34722    ///
34723    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
34724    ///
34725    ///For information about available fields see [keyr](keyr) module
34726    pub type KEYR = crate::Reg<u32, _KEYR>;
34727    #[allow(missing_docs)]
34728    #[doc(hidden)]
34729    pub struct _KEYR;
34730    ///`write(|w| ..)` method takes [keyr::W](keyr::W) writer structure
34731    impl crate::Writable for KEYR {}
34732    ///Flash key register
34733    pub mod keyr {
34734        ///Writer for register KEYR
34735        pub type W = crate::W<u32, super::KEYR>;
34736        ///Register KEYR `reset()`'s with value 0
34737        impl crate::ResetValue for super::KEYR {
34738            type Type = u32;
34739            #[inline(always)]
34740            fn reset_value() -> Self::Type {
34741                0
34742            }
34743        }
34744        ///Write proxy for field `KEYR`
34745        pub struct KEYR_W<'a> {
34746            w: &'a mut W,
34747        }
34748        impl<'a> KEYR_W<'a> {
34749            ///Writes raw bits to the field
34750            #[inline(always)]
34751            pub unsafe fn bits(self, value: u32) -> &'a mut W {
34752                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
34753                self.w
34754            }
34755        }
34756        impl W {
34757            ///Bits 0:31 - KEYR
34758            #[inline(always)]
34759            pub fn keyr(&mut self) -> KEYR_W {
34760                KEYR_W { w: self }
34761            }
34762        }
34763    }
34764    ///Option byte key register
34765    ///
34766    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
34767    ///
34768    ///For information about available fields see [optkeyr](optkeyr) module
34769    pub type OPTKEYR = crate::Reg<u32, _OPTKEYR>;
34770    #[allow(missing_docs)]
34771    #[doc(hidden)]
34772    pub struct _OPTKEYR;
34773    ///`write(|w| ..)` method takes [optkeyr::W](optkeyr::W) writer structure
34774    impl crate::Writable for OPTKEYR {}
34775    ///Option byte key register
34776    pub mod optkeyr {
34777        ///Writer for register OPTKEYR
34778        pub type W = crate::W<u32, super::OPTKEYR>;
34779        ///Register OPTKEYR `reset()`'s with value 0
34780        impl crate::ResetValue for super::OPTKEYR {
34781            type Type = u32;
34782            #[inline(always)]
34783            fn reset_value() -> Self::Type {
34784                0
34785            }
34786        }
34787        ///Write proxy for field `OPTKEYR`
34788        pub struct OPTKEYR_W<'a> {
34789            w: &'a mut W,
34790        }
34791        impl<'a> OPTKEYR_W<'a> {
34792            ///Writes raw bits to the field
34793            #[inline(always)]
34794            pub unsafe fn bits(self, value: u32) -> &'a mut W {
34795                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
34796                self.w
34797            }
34798        }
34799        impl W {
34800            ///Bits 0:31 - Option byte key
34801            #[inline(always)]
34802            pub fn optkeyr(&mut self) -> OPTKEYR_W {
34803                OPTKEYR_W { w: self }
34804            }
34805        }
34806    }
34807    ///Status register
34808    ///
34809    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
34810    ///
34811    ///For information about available fields see [sr](sr) module
34812    pub type SR = crate::Reg<u32, _SR>;
34813    #[allow(missing_docs)]
34814    #[doc(hidden)]
34815    pub struct _SR;
34816    ///`read()` method returns [sr::R](sr::R) reader structure
34817    impl crate::Readable for SR {}
34818    ///`write(|w| ..)` method takes [sr::W](sr::W) writer structure
34819    impl crate::Writable for SR {}
34820    ///Status register
34821    pub mod sr {
34822        ///Reader of register SR
34823        pub type R = crate::R<u32, super::SR>;
34824        ///Writer for register SR
34825        pub type W = crate::W<u32, super::SR>;
34826        ///Register SR `reset()`'s with value 0
34827        impl crate::ResetValue for super::SR {
34828            type Type = u32;
34829            #[inline(always)]
34830            fn reset_value() -> Self::Type {
34831                0
34832            }
34833        }
34834        ///Reader of field `EOP`
34835        pub type EOP_R = crate::R<bool, bool>;
34836        ///Write proxy for field `EOP`
34837        pub struct EOP_W<'a> {
34838            w: &'a mut W,
34839        }
34840        impl<'a> EOP_W<'a> {
34841            ///Sets the field bit
34842            #[inline(always)]
34843            pub fn set_bit(self) -> &'a mut W {
34844                self.bit(true)
34845            }
34846            ///Clears the field bit
34847            #[inline(always)]
34848            pub fn clear_bit(self) -> &'a mut W {
34849                self.bit(false)
34850            }
34851            ///Writes raw bits to the field
34852            #[inline(always)]
34853            pub fn bit(self, value: bool) -> &'a mut W {
34854                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
34855                self.w
34856            }
34857        }
34858        ///Reader of field `OPERR`
34859        pub type OPERR_R = crate::R<bool, bool>;
34860        ///Write proxy for field `OPERR`
34861        pub struct OPERR_W<'a> {
34862            w: &'a mut W,
34863        }
34864        impl<'a> OPERR_W<'a> {
34865            ///Sets the field bit
34866            #[inline(always)]
34867            pub fn set_bit(self) -> &'a mut W {
34868                self.bit(true)
34869            }
34870            ///Clears the field bit
34871            #[inline(always)]
34872            pub fn clear_bit(self) -> &'a mut W {
34873                self.bit(false)
34874            }
34875            ///Writes raw bits to the field
34876            #[inline(always)]
34877            pub fn bit(self, value: bool) -> &'a mut W {
34878                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
34879                self.w
34880            }
34881        }
34882        ///Reader of field `PROGERR`
34883        pub type PROGERR_R = crate::R<bool, bool>;
34884        ///Write proxy for field `PROGERR`
34885        pub struct PROGERR_W<'a> {
34886            w: &'a mut W,
34887        }
34888        impl<'a> PROGERR_W<'a> {
34889            ///Sets the field bit
34890            #[inline(always)]
34891            pub fn set_bit(self) -> &'a mut W {
34892                self.bit(true)
34893            }
34894            ///Clears the field bit
34895            #[inline(always)]
34896            pub fn clear_bit(self) -> &'a mut W {
34897                self.bit(false)
34898            }
34899            ///Writes raw bits to the field
34900            #[inline(always)]
34901            pub fn bit(self, value: bool) -> &'a mut W {
34902                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
34903                self.w
34904            }
34905        }
34906        ///Reader of field `WRPERR`
34907        pub type WRPERR_R = crate::R<bool, bool>;
34908        ///Write proxy for field `WRPERR`
34909        pub struct WRPERR_W<'a> {
34910            w: &'a mut W,
34911        }
34912        impl<'a> WRPERR_W<'a> {
34913            ///Sets the field bit
34914            #[inline(always)]
34915            pub fn set_bit(self) -> &'a mut W {
34916                self.bit(true)
34917            }
34918            ///Clears the field bit
34919            #[inline(always)]
34920            pub fn clear_bit(self) -> &'a mut W {
34921                self.bit(false)
34922            }
34923            ///Writes raw bits to the field
34924            #[inline(always)]
34925            pub fn bit(self, value: bool) -> &'a mut W {
34926                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
34927                self.w
34928            }
34929        }
34930        ///Reader of field `PGAERR`
34931        pub type PGAERR_R = crate::R<bool, bool>;
34932        ///Write proxy for field `PGAERR`
34933        pub struct PGAERR_W<'a> {
34934            w: &'a mut W,
34935        }
34936        impl<'a> PGAERR_W<'a> {
34937            ///Sets the field bit
34938            #[inline(always)]
34939            pub fn set_bit(self) -> &'a mut W {
34940                self.bit(true)
34941            }
34942            ///Clears the field bit
34943            #[inline(always)]
34944            pub fn clear_bit(self) -> &'a mut W {
34945                self.bit(false)
34946            }
34947            ///Writes raw bits to the field
34948            #[inline(always)]
34949            pub fn bit(self, value: bool) -> &'a mut W {
34950                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
34951                self.w
34952            }
34953        }
34954        ///Reader of field `SIZERR`
34955        pub type SIZERR_R = crate::R<bool, bool>;
34956        ///Write proxy for field `SIZERR`
34957        pub struct SIZERR_W<'a> {
34958            w: &'a mut W,
34959        }
34960        impl<'a> SIZERR_W<'a> {
34961            ///Sets the field bit
34962            #[inline(always)]
34963            pub fn set_bit(self) -> &'a mut W {
34964                self.bit(true)
34965            }
34966            ///Clears the field bit
34967            #[inline(always)]
34968            pub fn clear_bit(self) -> &'a mut W {
34969                self.bit(false)
34970            }
34971            ///Writes raw bits to the field
34972            #[inline(always)]
34973            pub fn bit(self, value: bool) -> &'a mut W {
34974                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
34975                self.w
34976            }
34977        }
34978        ///Reader of field `PGSERR`
34979        pub type PGSERR_R = crate::R<bool, bool>;
34980        ///Write proxy for field `PGSERR`
34981        pub struct PGSERR_W<'a> {
34982            w: &'a mut W,
34983        }
34984        impl<'a> PGSERR_W<'a> {
34985            ///Sets the field bit
34986            #[inline(always)]
34987            pub fn set_bit(self) -> &'a mut W {
34988                self.bit(true)
34989            }
34990            ///Clears the field bit
34991            #[inline(always)]
34992            pub fn clear_bit(self) -> &'a mut W {
34993                self.bit(false)
34994            }
34995            ///Writes raw bits to the field
34996            #[inline(always)]
34997            pub fn bit(self, value: bool) -> &'a mut W {
34998                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
34999                self.w
35000            }
35001        }
35002        ///Reader of field `MISERR`
35003        pub type MISERR_R = crate::R<bool, bool>;
35004        ///Write proxy for field `MISERR`
35005        pub struct MISERR_W<'a> {
35006            w: &'a mut W,
35007        }
35008        impl<'a> MISERR_W<'a> {
35009            ///Sets the field bit
35010            #[inline(always)]
35011            pub fn set_bit(self) -> &'a mut W {
35012                self.bit(true)
35013            }
35014            ///Clears the field bit
35015            #[inline(always)]
35016            pub fn clear_bit(self) -> &'a mut W {
35017                self.bit(false)
35018            }
35019            ///Writes raw bits to the field
35020            #[inline(always)]
35021            pub fn bit(self, value: bool) -> &'a mut W {
35022                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
35023                self.w
35024            }
35025        }
35026        ///Reader of field `FASTERR`
35027        pub type FASTERR_R = crate::R<bool, bool>;
35028        ///Write proxy for field `FASTERR`
35029        pub struct FASTERR_W<'a> {
35030            w: &'a mut W,
35031        }
35032        impl<'a> FASTERR_W<'a> {
35033            ///Sets the field bit
35034            #[inline(always)]
35035            pub fn set_bit(self) -> &'a mut W {
35036                self.bit(true)
35037            }
35038            ///Clears the field bit
35039            #[inline(always)]
35040            pub fn clear_bit(self) -> &'a mut W {
35041                self.bit(false)
35042            }
35043            ///Writes raw bits to the field
35044            #[inline(always)]
35045            pub fn bit(self, value: bool) -> &'a mut W {
35046                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
35047                self.w
35048            }
35049        }
35050        ///Reader of field `OPTNV`
35051        pub type OPTNV_R = crate::R<bool, bool>;
35052        ///Reader of field `RDERR`
35053        pub type RDERR_R = crate::R<bool, bool>;
35054        ///Write proxy for field `RDERR`
35055        pub struct RDERR_W<'a> {
35056            w: &'a mut W,
35057        }
35058        impl<'a> RDERR_W<'a> {
35059            ///Sets the field bit
35060            #[inline(always)]
35061            pub fn set_bit(self) -> &'a mut W {
35062                self.bit(true)
35063            }
35064            ///Clears the field bit
35065            #[inline(always)]
35066            pub fn clear_bit(self) -> &'a mut W {
35067                self.bit(false)
35068            }
35069            ///Writes raw bits to the field
35070            #[inline(always)]
35071            pub fn bit(self, value: bool) -> &'a mut W {
35072                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
35073                self.w
35074            }
35075        }
35076        ///Reader of field `OPTVERR`
35077        pub type OPTVERR_R = crate::R<bool, bool>;
35078        ///Write proxy for field `OPTVERR`
35079        pub struct OPTVERR_W<'a> {
35080            w: &'a mut W,
35081        }
35082        impl<'a> OPTVERR_W<'a> {
35083            ///Sets the field bit
35084            #[inline(always)]
35085            pub fn set_bit(self) -> &'a mut W {
35086                self.bit(true)
35087            }
35088            ///Clears the field bit
35089            #[inline(always)]
35090            pub fn clear_bit(self) -> &'a mut W {
35091                self.bit(false)
35092            }
35093            ///Writes raw bits to the field
35094            #[inline(always)]
35095            pub fn bit(self, value: bool) -> &'a mut W {
35096                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
35097                self.w
35098            }
35099        }
35100        ///Reader of field `BSY`
35101        pub type BSY_R = crate::R<bool, bool>;
35102        ///Reader of field `CFGBSY`
35103        pub type CFGBSY_R = crate::R<bool, bool>;
35104        ///Reader of field `PESD`
35105        pub type PESD_R = crate::R<bool, bool>;
35106        impl R {
35107            ///Bit 0 - End of operation
35108            #[inline(always)]
35109            pub fn eop(&self) -> EOP_R {
35110                EOP_R::new((self.bits & 0x01) != 0)
35111            }
35112            ///Bit 1 - Operation error
35113            #[inline(always)]
35114            pub fn operr(&self) -> OPERR_R {
35115                OPERR_R::new(((self.bits >> 1) & 0x01) != 0)
35116            }
35117            ///Bit 3 - Programming error
35118            #[inline(always)]
35119            pub fn progerr(&self) -> PROGERR_R {
35120                PROGERR_R::new(((self.bits >> 3) & 0x01) != 0)
35121            }
35122            ///Bit 4 - Write protected error
35123            #[inline(always)]
35124            pub fn wrperr(&self) -> WRPERR_R {
35125                WRPERR_R::new(((self.bits >> 4) & 0x01) != 0)
35126            }
35127            ///Bit 5 - Programming alignment error
35128            #[inline(always)]
35129            pub fn pgaerr(&self) -> PGAERR_R {
35130                PGAERR_R::new(((self.bits >> 5) & 0x01) != 0)
35131            }
35132            ///Bit 6 - Size error
35133            #[inline(always)]
35134            pub fn sizerr(&self) -> SIZERR_R {
35135                SIZERR_R::new(((self.bits >> 6) & 0x01) != 0)
35136            }
35137            ///Bit 7 - Programming sequence error
35138            #[inline(always)]
35139            pub fn pgserr(&self) -> PGSERR_R {
35140                PGSERR_R::new(((self.bits >> 7) & 0x01) != 0)
35141            }
35142            ///Bit 8 - Fast programming data miss error
35143            #[inline(always)]
35144            pub fn miserr(&self) -> MISERR_R {
35145                MISERR_R::new(((self.bits >> 8) & 0x01) != 0)
35146            }
35147            ///Bit 9 - Fast programming error
35148            #[inline(always)]
35149            pub fn fasterr(&self) -> FASTERR_R {
35150                FASTERR_R::new(((self.bits >> 9) & 0x01) != 0)
35151            }
35152            ///Bit 13 - User Option OPTVAL indication
35153            #[inline(always)]
35154            pub fn optnv(&self) -> OPTNV_R {
35155                OPTNV_R::new(((self.bits >> 13) & 0x01) != 0)
35156            }
35157            ///Bit 14 - PCROP read error
35158            #[inline(always)]
35159            pub fn rderr(&self) -> RDERR_R {
35160                RDERR_R::new(((self.bits >> 14) & 0x01) != 0)
35161            }
35162            ///Bit 15 - Option validity error
35163            #[inline(always)]
35164            pub fn optverr(&self) -> OPTVERR_R {
35165                OPTVERR_R::new(((self.bits >> 15) & 0x01) != 0)
35166            }
35167            ///Bit 16 - Busy
35168            #[inline(always)]
35169            pub fn bsy(&self) -> BSY_R {
35170                BSY_R::new(((self.bits >> 16) & 0x01) != 0)
35171            }
35172            ///Bit 18 - Programming or erase configuration busy
35173            #[inline(always)]
35174            pub fn cfgbsy(&self) -> CFGBSY_R {
35175                CFGBSY_R::new(((self.bits >> 18) & 0x01) != 0)
35176            }
35177            ///Bit 19 - Programming or erase operation suspended
35178            #[inline(always)]
35179            pub fn pesd(&self) -> PESD_R {
35180                PESD_R::new(((self.bits >> 19) & 0x01) != 0)
35181            }
35182        }
35183        impl W {
35184            ///Bit 0 - End of operation
35185            #[inline(always)]
35186            pub fn eop(&mut self) -> EOP_W {
35187                EOP_W { w: self }
35188            }
35189            ///Bit 1 - Operation error
35190            #[inline(always)]
35191            pub fn operr(&mut self) -> OPERR_W {
35192                OPERR_W { w: self }
35193            }
35194            ///Bit 3 - Programming error
35195            #[inline(always)]
35196            pub fn progerr(&mut self) -> PROGERR_W {
35197                PROGERR_W { w: self }
35198            }
35199            ///Bit 4 - Write protected error
35200            #[inline(always)]
35201            pub fn wrperr(&mut self) -> WRPERR_W {
35202                WRPERR_W { w: self }
35203            }
35204            ///Bit 5 - Programming alignment error
35205            #[inline(always)]
35206            pub fn pgaerr(&mut self) -> PGAERR_W {
35207                PGAERR_W { w: self }
35208            }
35209            ///Bit 6 - Size error
35210            #[inline(always)]
35211            pub fn sizerr(&mut self) -> SIZERR_W {
35212                SIZERR_W { w: self }
35213            }
35214            ///Bit 7 - Programming sequence error
35215            #[inline(always)]
35216            pub fn pgserr(&mut self) -> PGSERR_W {
35217                PGSERR_W { w: self }
35218            }
35219            ///Bit 8 - Fast programming data miss error
35220            #[inline(always)]
35221            pub fn miserr(&mut self) -> MISERR_W {
35222                MISERR_W { w: self }
35223            }
35224            ///Bit 9 - Fast programming error
35225            #[inline(always)]
35226            pub fn fasterr(&mut self) -> FASTERR_W {
35227                FASTERR_W { w: self }
35228            }
35229            ///Bit 14 - PCROP read error
35230            #[inline(always)]
35231            pub fn rderr(&mut self) -> RDERR_W {
35232                RDERR_W { w: self }
35233            }
35234            ///Bit 15 - Option validity error
35235            #[inline(always)]
35236            pub fn optverr(&mut self) -> OPTVERR_W {
35237                OPTVERR_W { w: self }
35238            }
35239        }
35240    }
35241    ///Flash control register
35242    ///
35243    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
35244    ///
35245    ///For information about available fields see [cr](cr) module
35246    pub type CR = crate::Reg<u32, _CR>;
35247    #[allow(missing_docs)]
35248    #[doc(hidden)]
35249    pub struct _CR;
35250    ///`read()` method returns [cr::R](cr::R) reader structure
35251    impl crate::Readable for CR {}
35252    ///`write(|w| ..)` method takes [cr::W](cr::W) writer structure
35253    impl crate::Writable for CR {}
35254    ///Flash control register
35255    pub mod cr {
35256        ///Reader of register CR
35257        pub type R = crate::R<u32, super::CR>;
35258        ///Writer for register CR
35259        pub type W = crate::W<u32, super::CR>;
35260        ///Register CR `reset()`'s with value 0xc000_0000
35261        impl crate::ResetValue for super::CR {
35262            type Type = u32;
35263            #[inline(always)]
35264            fn reset_value() -> Self::Type {
35265                0xc000_0000
35266            }
35267        }
35268        ///Reader of field `PG`
35269        pub type PG_R = crate::R<bool, bool>;
35270        ///Write proxy for field `PG`
35271        pub struct PG_W<'a> {
35272            w: &'a mut W,
35273        }
35274        impl<'a> PG_W<'a> {
35275            ///Sets the field bit
35276            #[inline(always)]
35277            pub fn set_bit(self) -> &'a mut W {
35278                self.bit(true)
35279            }
35280            ///Clears the field bit
35281            #[inline(always)]
35282            pub fn clear_bit(self) -> &'a mut W {
35283                self.bit(false)
35284            }
35285            ///Writes raw bits to the field
35286            #[inline(always)]
35287            pub fn bit(self, value: bool) -> &'a mut W {
35288                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
35289                self.w
35290            }
35291        }
35292        ///Reader of field `PER`
35293        pub type PER_R = crate::R<bool, bool>;
35294        ///Write proxy for field `PER`
35295        pub struct PER_W<'a> {
35296            w: &'a mut W,
35297        }
35298        impl<'a> PER_W<'a> {
35299            ///Sets the field bit
35300            #[inline(always)]
35301            pub fn set_bit(self) -> &'a mut W {
35302                self.bit(true)
35303            }
35304            ///Clears the field bit
35305            #[inline(always)]
35306            pub fn clear_bit(self) -> &'a mut W {
35307                self.bit(false)
35308            }
35309            ///Writes raw bits to the field
35310            #[inline(always)]
35311            pub fn bit(self, value: bool) -> &'a mut W {
35312                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
35313                self.w
35314            }
35315        }
35316        ///Reader of field `MER`
35317        pub type MER_R = crate::R<bool, bool>;
35318        ///Write proxy for field `MER`
35319        pub struct MER_W<'a> {
35320            w: &'a mut W,
35321        }
35322        impl<'a> MER_W<'a> {
35323            ///Sets the field bit
35324            #[inline(always)]
35325            pub fn set_bit(self) -> &'a mut W {
35326                self.bit(true)
35327            }
35328            ///Clears the field bit
35329            #[inline(always)]
35330            pub fn clear_bit(self) -> &'a mut W {
35331                self.bit(false)
35332            }
35333            ///Writes raw bits to the field
35334            #[inline(always)]
35335            pub fn bit(self, value: bool) -> &'a mut W {
35336                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
35337                self.w
35338            }
35339        }
35340        ///Reader of field `PNB`
35341        pub type PNB_R = crate::R<u8, u8>;
35342        ///Write proxy for field `PNB`
35343        pub struct PNB_W<'a> {
35344            w: &'a mut W,
35345        }
35346        impl<'a> PNB_W<'a> {
35347            ///Writes raw bits to the field
35348            #[inline(always)]
35349            pub unsafe fn bits(self, value: u8) -> &'a mut W {
35350                self.w.bits = (self.w.bits & !(0xff << 3)) | (((value as u32) & 0xff) << 3);
35351                self.w
35352            }
35353        }
35354        ///Reader of field `STRT`
35355        pub type STRT_R = crate::R<bool, bool>;
35356        ///Write proxy for field `STRT`
35357        pub struct STRT_W<'a> {
35358            w: &'a mut W,
35359        }
35360        impl<'a> STRT_W<'a> {
35361            ///Sets the field bit
35362            #[inline(always)]
35363            pub fn set_bit(self) -> &'a mut W {
35364                self.bit(true)
35365            }
35366            ///Clears the field bit
35367            #[inline(always)]
35368            pub fn clear_bit(self) -> &'a mut W {
35369                self.bit(false)
35370            }
35371            ///Writes raw bits to the field
35372            #[inline(always)]
35373            pub fn bit(self, value: bool) -> &'a mut W {
35374                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
35375                self.w
35376            }
35377        }
35378        ///Reader of field `OPTSTRT`
35379        pub type OPTSTRT_R = crate::R<bool, bool>;
35380        ///Write proxy for field `OPTSTRT`
35381        pub struct OPTSTRT_W<'a> {
35382            w: &'a mut W,
35383        }
35384        impl<'a> OPTSTRT_W<'a> {
35385            ///Sets the field bit
35386            #[inline(always)]
35387            pub fn set_bit(self) -> &'a mut W {
35388                self.bit(true)
35389            }
35390            ///Clears the field bit
35391            #[inline(always)]
35392            pub fn clear_bit(self) -> &'a mut W {
35393                self.bit(false)
35394            }
35395            ///Writes raw bits to the field
35396            #[inline(always)]
35397            pub fn bit(self, value: bool) -> &'a mut W {
35398                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
35399                self.w
35400            }
35401        }
35402        ///Reader of field `FSTPG`
35403        pub type FSTPG_R = crate::R<bool, bool>;
35404        ///Write proxy for field `FSTPG`
35405        pub struct FSTPG_W<'a> {
35406            w: &'a mut W,
35407        }
35408        impl<'a> FSTPG_W<'a> {
35409            ///Sets the field bit
35410            #[inline(always)]
35411            pub fn set_bit(self) -> &'a mut W {
35412                self.bit(true)
35413            }
35414            ///Clears the field bit
35415            #[inline(always)]
35416            pub fn clear_bit(self) -> &'a mut W {
35417                self.bit(false)
35418            }
35419            ///Writes raw bits to the field
35420            #[inline(always)]
35421            pub fn bit(self, value: bool) -> &'a mut W {
35422                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
35423                self.w
35424            }
35425        }
35426        ///Reader of field `EOPIE`
35427        pub type EOPIE_R = crate::R<bool, bool>;
35428        ///Write proxy for field `EOPIE`
35429        pub struct EOPIE_W<'a> {
35430            w: &'a mut W,
35431        }
35432        impl<'a> EOPIE_W<'a> {
35433            ///Sets the field bit
35434            #[inline(always)]
35435            pub fn set_bit(self) -> &'a mut W {
35436                self.bit(true)
35437            }
35438            ///Clears the field bit
35439            #[inline(always)]
35440            pub fn clear_bit(self) -> &'a mut W {
35441                self.bit(false)
35442            }
35443            ///Writes raw bits to the field
35444            #[inline(always)]
35445            pub fn bit(self, value: bool) -> &'a mut W {
35446                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
35447                self.w
35448            }
35449        }
35450        ///Reader of field `ERRIE`
35451        pub type ERRIE_R = crate::R<bool, bool>;
35452        ///Write proxy for field `ERRIE`
35453        pub struct ERRIE_W<'a> {
35454            w: &'a mut W,
35455        }
35456        impl<'a> ERRIE_W<'a> {
35457            ///Sets the field bit
35458            #[inline(always)]
35459            pub fn set_bit(self) -> &'a mut W {
35460                self.bit(true)
35461            }
35462            ///Clears the field bit
35463            #[inline(always)]
35464            pub fn clear_bit(self) -> &'a mut W {
35465                self.bit(false)
35466            }
35467            ///Writes raw bits to the field
35468            #[inline(always)]
35469            pub fn bit(self, value: bool) -> &'a mut W {
35470                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
35471                self.w
35472            }
35473        }
35474        ///Reader of field `RDERRIE`
35475        pub type RDERRIE_R = crate::R<bool, bool>;
35476        ///Write proxy for field `RDERRIE`
35477        pub struct RDERRIE_W<'a> {
35478            w: &'a mut W,
35479        }
35480        impl<'a> RDERRIE_W<'a> {
35481            ///Sets the field bit
35482            #[inline(always)]
35483            pub fn set_bit(self) -> &'a mut W {
35484                self.bit(true)
35485            }
35486            ///Clears the field bit
35487            #[inline(always)]
35488            pub fn clear_bit(self) -> &'a mut W {
35489                self.bit(false)
35490            }
35491            ///Writes raw bits to the field
35492            #[inline(always)]
35493            pub fn bit(self, value: bool) -> &'a mut W {
35494                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
35495                self.w
35496            }
35497        }
35498        ///Reader of field `OBL_LAUNCH`
35499        pub type OBL_LAUNCH_R = crate::R<bool, bool>;
35500        ///Write proxy for field `OBL_LAUNCH`
35501        pub struct OBL_LAUNCH_W<'a> {
35502            w: &'a mut W,
35503        }
35504        impl<'a> OBL_LAUNCH_W<'a> {
35505            ///Sets the field bit
35506            #[inline(always)]
35507            pub fn set_bit(self) -> &'a mut W {
35508                self.bit(true)
35509            }
35510            ///Clears the field bit
35511            #[inline(always)]
35512            pub fn clear_bit(self) -> &'a mut W {
35513                self.bit(false)
35514            }
35515            ///Writes raw bits to the field
35516            #[inline(always)]
35517            pub fn bit(self, value: bool) -> &'a mut W {
35518                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
35519                self.w
35520            }
35521        }
35522        ///Reader of field `OPTLOCK`
35523        pub type OPTLOCK_R = crate::R<bool, bool>;
35524        ///Write proxy for field `OPTLOCK`
35525        pub struct OPTLOCK_W<'a> {
35526            w: &'a mut W,
35527        }
35528        impl<'a> OPTLOCK_W<'a> {
35529            ///Sets the field bit
35530            #[inline(always)]
35531            pub fn set_bit(self) -> &'a mut W {
35532                self.bit(true)
35533            }
35534            ///Clears the field bit
35535            #[inline(always)]
35536            pub fn clear_bit(self) -> &'a mut W {
35537                self.bit(false)
35538            }
35539            ///Writes raw bits to the field
35540            #[inline(always)]
35541            pub fn bit(self, value: bool) -> &'a mut W {
35542                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
35543                self.w
35544            }
35545        }
35546        ///Reader of field `LOCK`
35547        pub type LOCK_R = crate::R<bool, bool>;
35548        ///Write proxy for field `LOCK`
35549        pub struct LOCK_W<'a> {
35550            w: &'a mut W,
35551        }
35552        impl<'a> LOCK_W<'a> {
35553            ///Sets the field bit
35554            #[inline(always)]
35555            pub fn set_bit(self) -> &'a mut W {
35556                self.bit(true)
35557            }
35558            ///Clears the field bit
35559            #[inline(always)]
35560            pub fn clear_bit(self) -> &'a mut W {
35561                self.bit(false)
35562            }
35563            ///Writes raw bits to the field
35564            #[inline(always)]
35565            pub fn bit(self, value: bool) -> &'a mut W {
35566                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
35567                self.w
35568            }
35569        }
35570        impl R {
35571            ///Bit 0 - Programming
35572            #[inline(always)]
35573            pub fn pg(&self) -> PG_R {
35574                PG_R::new((self.bits & 0x01) != 0)
35575            }
35576            ///Bit 1 - Page erase
35577            #[inline(always)]
35578            pub fn per(&self) -> PER_R {
35579                PER_R::new(((self.bits >> 1) & 0x01) != 0)
35580            }
35581            ///Bit 2 - This bit triggers the mass erase (all user pages) when set
35582            #[inline(always)]
35583            pub fn mer(&self) -> MER_R {
35584                MER_R::new(((self.bits >> 2) & 0x01) != 0)
35585            }
35586            ///Bits 3:10 - Page number selection
35587            #[inline(always)]
35588            pub fn pnb(&self) -> PNB_R {
35589                PNB_R::new(((self.bits >> 3) & 0xff) as u8)
35590            }
35591            ///Bit 16 - Start
35592            #[inline(always)]
35593            pub fn strt(&self) -> STRT_R {
35594                STRT_R::new(((self.bits >> 16) & 0x01) != 0)
35595            }
35596            ///Bit 17 - Options modification start
35597            #[inline(always)]
35598            pub fn optstrt(&self) -> OPTSTRT_R {
35599                OPTSTRT_R::new(((self.bits >> 17) & 0x01) != 0)
35600            }
35601            ///Bit 18 - Fast programming
35602            #[inline(always)]
35603            pub fn fstpg(&self) -> FSTPG_R {
35604                FSTPG_R::new(((self.bits >> 18) & 0x01) != 0)
35605            }
35606            ///Bit 24 - End of operation interrupt enable
35607            #[inline(always)]
35608            pub fn eopie(&self) -> EOPIE_R {
35609                EOPIE_R::new(((self.bits >> 24) & 0x01) != 0)
35610            }
35611            ///Bit 25 - Error interrupt enable
35612            #[inline(always)]
35613            pub fn errie(&self) -> ERRIE_R {
35614                ERRIE_R::new(((self.bits >> 25) & 0x01) != 0)
35615            }
35616            ///Bit 26 - PCROP read error interrupt enable
35617            #[inline(always)]
35618            pub fn rderrie(&self) -> RDERRIE_R {
35619                RDERRIE_R::new(((self.bits >> 26) & 0x01) != 0)
35620            }
35621            ///Bit 27 - Force the option byte loading
35622            #[inline(always)]
35623            pub fn obl_launch(&self) -> OBL_LAUNCH_R {
35624                OBL_LAUNCH_R::new(((self.bits >> 27) & 0x01) != 0)
35625            }
35626            ///Bit 30 - Options Lock
35627            #[inline(always)]
35628            pub fn optlock(&self) -> OPTLOCK_R {
35629                OPTLOCK_R::new(((self.bits >> 30) & 0x01) != 0)
35630            }
35631            ///Bit 31 - FLASH_CR Lock
35632            #[inline(always)]
35633            pub fn lock(&self) -> LOCK_R {
35634                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
35635            }
35636        }
35637        impl W {
35638            ///Bit 0 - Programming
35639            #[inline(always)]
35640            pub fn pg(&mut self) -> PG_W {
35641                PG_W { w: self }
35642            }
35643            ///Bit 1 - Page erase
35644            #[inline(always)]
35645            pub fn per(&mut self) -> PER_W {
35646                PER_W { w: self }
35647            }
35648            ///Bit 2 - This bit triggers the mass erase (all user pages) when set
35649            #[inline(always)]
35650            pub fn mer(&mut self) -> MER_W {
35651                MER_W { w: self }
35652            }
35653            ///Bits 3:10 - Page number selection
35654            #[inline(always)]
35655            pub fn pnb(&mut self) -> PNB_W {
35656                PNB_W { w: self }
35657            }
35658            ///Bit 16 - Start
35659            #[inline(always)]
35660            pub fn strt(&mut self) -> STRT_W {
35661                STRT_W { w: self }
35662            }
35663            ///Bit 17 - Options modification start
35664            #[inline(always)]
35665            pub fn optstrt(&mut self) -> OPTSTRT_W {
35666                OPTSTRT_W { w: self }
35667            }
35668            ///Bit 18 - Fast programming
35669            #[inline(always)]
35670            pub fn fstpg(&mut self) -> FSTPG_W {
35671                FSTPG_W { w: self }
35672            }
35673            ///Bit 24 - End of operation interrupt enable
35674            #[inline(always)]
35675            pub fn eopie(&mut self) -> EOPIE_W {
35676                EOPIE_W { w: self }
35677            }
35678            ///Bit 25 - Error interrupt enable
35679            #[inline(always)]
35680            pub fn errie(&mut self) -> ERRIE_W {
35681                ERRIE_W { w: self }
35682            }
35683            ///Bit 26 - PCROP read error interrupt enable
35684            #[inline(always)]
35685            pub fn rderrie(&mut self) -> RDERRIE_W {
35686                RDERRIE_W { w: self }
35687            }
35688            ///Bit 27 - Force the option byte loading
35689            #[inline(always)]
35690            pub fn obl_launch(&mut self) -> OBL_LAUNCH_W {
35691                OBL_LAUNCH_W { w: self }
35692            }
35693            ///Bit 30 - Options Lock
35694            #[inline(always)]
35695            pub fn optlock(&mut self) -> OPTLOCK_W {
35696                OPTLOCK_W { w: self }
35697            }
35698            ///Bit 31 - FLASH_CR Lock
35699            #[inline(always)]
35700            pub fn lock(&mut self) -> LOCK_W {
35701                LOCK_W { w: self }
35702            }
35703        }
35704    }
35705    ///Flash ECC register
35706    ///
35707    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
35708    ///
35709    ///For information about available fields see [eccr](eccr) module
35710    pub type ECCR = crate::Reg<u32, _ECCR>;
35711    #[allow(missing_docs)]
35712    #[doc(hidden)]
35713    pub struct _ECCR;
35714    ///`read()` method returns [eccr::R](eccr::R) reader structure
35715    impl crate::Readable for ECCR {}
35716    ///`write(|w| ..)` method takes [eccr::W](eccr::W) writer structure
35717    impl crate::Writable for ECCR {}
35718    ///Flash ECC register
35719    pub mod eccr {
35720        ///Reader of register ECCR
35721        pub type R = crate::R<u32, super::ECCR>;
35722        ///Writer for register ECCR
35723        pub type W = crate::W<u32, super::ECCR>;
35724        ///Register ECCR `reset()`'s with value 0
35725        impl crate::ResetValue for super::ECCR {
35726            type Type = u32;
35727            #[inline(always)]
35728            fn reset_value() -> Self::Type {
35729                0
35730            }
35731        }
35732        ///Reader of field `ADDR_ECC`
35733        pub type ADDR_ECC_R = crate::R<u32, u32>;
35734        ///Reader of field `SYSF_ECC`
35735        pub type SYSF_ECC_R = crate::R<bool, bool>;
35736        ///Reader of field `ECCCIE`
35737        pub type ECCCIE_R = crate::R<bool, bool>;
35738        ///Write proxy for field `ECCCIE`
35739        pub struct ECCCIE_W<'a> {
35740            w: &'a mut W,
35741        }
35742        impl<'a> ECCCIE_W<'a> {
35743            ///Sets the field bit
35744            #[inline(always)]
35745            pub fn set_bit(self) -> &'a mut W {
35746                self.bit(true)
35747            }
35748            ///Clears the field bit
35749            #[inline(always)]
35750            pub fn clear_bit(self) -> &'a mut W {
35751                self.bit(false)
35752            }
35753            ///Writes raw bits to the field
35754            #[inline(always)]
35755            pub fn bit(self, value: bool) -> &'a mut W {
35756                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
35757                self.w
35758            }
35759        }
35760        ///Reader of field `CPUID`
35761        pub type CPUID_R = crate::R<u8, u8>;
35762        ///Reader of field `ECCC`
35763        pub type ECCC_R = crate::R<bool, bool>;
35764        ///Write proxy for field `ECCC`
35765        pub struct ECCC_W<'a> {
35766            w: &'a mut W,
35767        }
35768        impl<'a> ECCC_W<'a> {
35769            ///Sets the field bit
35770            #[inline(always)]
35771            pub fn set_bit(self) -> &'a mut W {
35772                self.bit(true)
35773            }
35774            ///Clears the field bit
35775            #[inline(always)]
35776            pub fn clear_bit(self) -> &'a mut W {
35777                self.bit(false)
35778            }
35779            ///Writes raw bits to the field
35780            #[inline(always)]
35781            pub fn bit(self, value: bool) -> &'a mut W {
35782                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
35783                self.w
35784            }
35785        }
35786        ///Reader of field `ECCD`
35787        pub type ECCD_R = crate::R<bool, bool>;
35788        ///Write proxy for field `ECCD`
35789        pub struct ECCD_W<'a> {
35790            w: &'a mut W,
35791        }
35792        impl<'a> ECCD_W<'a> {
35793            ///Sets the field bit
35794            #[inline(always)]
35795            pub fn set_bit(self) -> &'a mut W {
35796                self.bit(true)
35797            }
35798            ///Clears the field bit
35799            #[inline(always)]
35800            pub fn clear_bit(self) -> &'a mut W {
35801                self.bit(false)
35802            }
35803            ///Writes raw bits to the field
35804            #[inline(always)]
35805            pub fn bit(self, value: bool) -> &'a mut W {
35806                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
35807                self.w
35808            }
35809        }
35810        impl R {
35811            ///Bits 0:16 - ECC fail address
35812            #[inline(always)]
35813            pub fn addr_ecc(&self) -> ADDR_ECC_R {
35814                ADDR_ECC_R::new((self.bits & 0x0001_ffff) as u32)
35815            }
35816            ///Bit 20 - System Flash ECC fail
35817            #[inline(always)]
35818            pub fn sysf_ecc(&self) -> SYSF_ECC_R {
35819                SYSF_ECC_R::new(((self.bits >> 20) & 0x01) != 0)
35820            }
35821            ///Bit 24 - ECC correction interrupt enable
35822            #[inline(always)]
35823            pub fn ecccie(&self) -> ECCCIE_R {
35824                ECCCIE_R::new(((self.bits >> 24) & 0x01) != 0)
35825            }
35826            ///Bits 26:28 - CPU identification
35827            #[inline(always)]
35828            pub fn cpuid(&self) -> CPUID_R {
35829                CPUID_R::new(((self.bits >> 26) & 0x07) as u8)
35830            }
35831            ///Bit 30 - ECC correction
35832            #[inline(always)]
35833            pub fn eccc(&self) -> ECCC_R {
35834                ECCC_R::new(((self.bits >> 30) & 0x01) != 0)
35835            }
35836            ///Bit 31 - ECC detection
35837            #[inline(always)]
35838            pub fn eccd(&self) -> ECCD_R {
35839                ECCD_R::new(((self.bits >> 31) & 0x01) != 0)
35840            }
35841        }
35842        impl W {
35843            ///Bit 24 - ECC correction interrupt enable
35844            #[inline(always)]
35845            pub fn ecccie(&mut self) -> ECCCIE_W {
35846                ECCCIE_W { w: self }
35847            }
35848            ///Bit 30 - ECC correction
35849            #[inline(always)]
35850            pub fn eccc(&mut self) -> ECCC_W {
35851                ECCC_W { w: self }
35852            }
35853            ///Bit 31 - ECC detection
35854            #[inline(always)]
35855            pub fn eccd(&mut self) -> ECCD_W {
35856                ECCD_W { w: self }
35857            }
35858        }
35859    }
35860    ///Flash option register
35861    ///
35862    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
35863    ///
35864    ///For information about available fields see [optr](optr) module
35865    pub type OPTR = crate::Reg<u32, _OPTR>;
35866    #[allow(missing_docs)]
35867    #[doc(hidden)]
35868    pub struct _OPTR;
35869    ///`read()` method returns [optr::R](optr::R) reader structure
35870    impl crate::Readable for OPTR {}
35871    ///`write(|w| ..)` method takes [optr::W](optr::W) writer structure
35872    impl crate::Writable for OPTR {}
35873    ///Flash option register
35874    pub mod optr {
35875        ///Reader of register OPTR
35876        pub type R = crate::R<u32, super::OPTR>;
35877        ///Writer for register OPTR
35878        pub type W = crate::W<u32, super::OPTR>;
35879        ///Register OPTR `reset()`'s with value 0x1070_8000
35880        impl crate::ResetValue for super::OPTR {
35881            type Type = u32;
35882            #[inline(always)]
35883            fn reset_value() -> Self::Type {
35884                0x1070_8000
35885            }
35886        }
35887        ///Reader of field `RDP`
35888        pub type RDP_R = crate::R<u8, u8>;
35889        ///Write proxy for field `RDP`
35890        pub struct RDP_W<'a> {
35891            w: &'a mut W,
35892        }
35893        impl<'a> RDP_W<'a> {
35894            ///Writes raw bits to the field
35895            #[inline(always)]
35896            pub unsafe fn bits(self, value: u8) -> &'a mut W {
35897                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
35898                self.w
35899            }
35900        }
35901        ///Reader of field `ESE`
35902        pub type ESE_R = crate::R<bool, bool>;
35903        ///Write proxy for field `ESE`
35904        pub struct ESE_W<'a> {
35905            w: &'a mut W,
35906        }
35907        impl<'a> ESE_W<'a> {
35908            ///Sets the field bit
35909            #[inline(always)]
35910            pub fn set_bit(self) -> &'a mut W {
35911                self.bit(true)
35912            }
35913            ///Clears the field bit
35914            #[inline(always)]
35915            pub fn clear_bit(self) -> &'a mut W {
35916                self.bit(false)
35917            }
35918            ///Writes raw bits to the field
35919            #[inline(always)]
35920            pub fn bit(self, value: bool) -> &'a mut W {
35921                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
35922                self.w
35923            }
35924        }
35925        ///Reader of field `BOR_LEV`
35926        pub type BOR_LEV_R = crate::R<u8, u8>;
35927        ///Write proxy for field `BOR_LEV`
35928        pub struct BOR_LEV_W<'a> {
35929            w: &'a mut W,
35930        }
35931        impl<'a> BOR_LEV_W<'a> {
35932            ///Writes raw bits to the field
35933            #[inline(always)]
35934            pub unsafe fn bits(self, value: u8) -> &'a mut W {
35935                self.w.bits = (self.w.bits & !(0x07 << 9)) | (((value as u32) & 0x07) << 9);
35936                self.w
35937            }
35938        }
35939        ///Reader of field `nRST_STOP`
35940        pub type NRST_STOP_R = crate::R<bool, bool>;
35941        ///Write proxy for field `nRST_STOP`
35942        pub struct NRST_STOP_W<'a> {
35943            w: &'a mut W,
35944        }
35945        impl<'a> NRST_STOP_W<'a> {
35946            ///Sets the field bit
35947            #[inline(always)]
35948            pub fn set_bit(self) -> &'a mut W {
35949                self.bit(true)
35950            }
35951            ///Clears the field bit
35952            #[inline(always)]
35953            pub fn clear_bit(self) -> &'a mut W {
35954                self.bit(false)
35955            }
35956            ///Writes raw bits to the field
35957            #[inline(always)]
35958            pub fn bit(self, value: bool) -> &'a mut W {
35959                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
35960                self.w
35961            }
35962        }
35963        ///Reader of field `nRST_STDBY`
35964        pub type NRST_STDBY_R = crate::R<bool, bool>;
35965        ///Write proxy for field `nRST_STDBY`
35966        pub struct NRST_STDBY_W<'a> {
35967            w: &'a mut W,
35968        }
35969        impl<'a> NRST_STDBY_W<'a> {
35970            ///Sets the field bit
35971            #[inline(always)]
35972            pub fn set_bit(self) -> &'a mut W {
35973                self.bit(true)
35974            }
35975            ///Clears the field bit
35976            #[inline(always)]
35977            pub fn clear_bit(self) -> &'a mut W {
35978                self.bit(false)
35979            }
35980            ///Writes raw bits to the field
35981            #[inline(always)]
35982            pub fn bit(self, value: bool) -> &'a mut W {
35983                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
35984                self.w
35985            }
35986        }
35987        ///Reader of field `nRST_SHDW`
35988        pub type NRST_SHDW_R = crate::R<bool, bool>;
35989        ///Write proxy for field `nRST_SHDW`
35990        pub struct NRST_SHDW_W<'a> {
35991            w: &'a mut W,
35992        }
35993        impl<'a> NRST_SHDW_W<'a> {
35994            ///Sets the field bit
35995            #[inline(always)]
35996            pub fn set_bit(self) -> &'a mut W {
35997                self.bit(true)
35998            }
35999            ///Clears the field bit
36000            #[inline(always)]
36001            pub fn clear_bit(self) -> &'a mut W {
36002                self.bit(false)
36003            }
36004            ///Writes raw bits to the field
36005            #[inline(always)]
36006            pub fn bit(self, value: bool) -> &'a mut W {
36007                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
36008                self.w
36009            }
36010        }
36011        ///Reader of field `IDWG_SW`
36012        pub type IDWG_SW_R = crate::R<bool, bool>;
36013        ///Write proxy for field `IDWG_SW`
36014        pub struct IDWG_SW_W<'a> {
36015            w: &'a mut W,
36016        }
36017        impl<'a> IDWG_SW_W<'a> {
36018            ///Sets the field bit
36019            #[inline(always)]
36020            pub fn set_bit(self) -> &'a mut W {
36021                self.bit(true)
36022            }
36023            ///Clears the field bit
36024            #[inline(always)]
36025            pub fn clear_bit(self) -> &'a mut W {
36026                self.bit(false)
36027            }
36028            ///Writes raw bits to the field
36029            #[inline(always)]
36030            pub fn bit(self, value: bool) -> &'a mut W {
36031                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
36032                self.w
36033            }
36034        }
36035        ///Reader of field `IWDG_STOP`
36036        pub type IWDG_STOP_R = crate::R<bool, bool>;
36037        ///Write proxy for field `IWDG_STOP`
36038        pub struct IWDG_STOP_W<'a> {
36039            w: &'a mut W,
36040        }
36041        impl<'a> IWDG_STOP_W<'a> {
36042            ///Sets the field bit
36043            #[inline(always)]
36044            pub fn set_bit(self) -> &'a mut W {
36045                self.bit(true)
36046            }
36047            ///Clears the field bit
36048            #[inline(always)]
36049            pub fn clear_bit(self) -> &'a mut W {
36050                self.bit(false)
36051            }
36052            ///Writes raw bits to the field
36053            #[inline(always)]
36054            pub fn bit(self, value: bool) -> &'a mut W {
36055                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
36056                self.w
36057            }
36058        }
36059        ///Reader of field `IWDG_STDBY`
36060        pub type IWDG_STDBY_R = crate::R<bool, bool>;
36061        ///Write proxy for field `IWDG_STDBY`
36062        pub struct IWDG_STDBY_W<'a> {
36063            w: &'a mut W,
36064        }
36065        impl<'a> IWDG_STDBY_W<'a> {
36066            ///Sets the field bit
36067            #[inline(always)]
36068            pub fn set_bit(self) -> &'a mut W {
36069                self.bit(true)
36070            }
36071            ///Clears the field bit
36072            #[inline(always)]
36073            pub fn clear_bit(self) -> &'a mut W {
36074                self.bit(false)
36075            }
36076            ///Writes raw bits to the field
36077            #[inline(always)]
36078            pub fn bit(self, value: bool) -> &'a mut W {
36079                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
36080                self.w
36081            }
36082        }
36083        ///Reader of field `WWDG_SW`
36084        pub type WWDG_SW_R = crate::R<bool, bool>;
36085        ///Write proxy for field `WWDG_SW`
36086        pub struct WWDG_SW_W<'a> {
36087            w: &'a mut W,
36088        }
36089        impl<'a> WWDG_SW_W<'a> {
36090            ///Sets the field bit
36091            #[inline(always)]
36092            pub fn set_bit(self) -> &'a mut W {
36093                self.bit(true)
36094            }
36095            ///Clears the field bit
36096            #[inline(always)]
36097            pub fn clear_bit(self) -> &'a mut W {
36098                self.bit(false)
36099            }
36100            ///Writes raw bits to the field
36101            #[inline(always)]
36102            pub fn bit(self, value: bool) -> &'a mut W {
36103                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
36104                self.w
36105            }
36106        }
36107        ///Reader of field `nBOOT1`
36108        pub type NBOOT1_R = crate::R<bool, bool>;
36109        ///Write proxy for field `nBOOT1`
36110        pub struct NBOOT1_W<'a> {
36111            w: &'a mut W,
36112        }
36113        impl<'a> NBOOT1_W<'a> {
36114            ///Sets the field bit
36115            #[inline(always)]
36116            pub fn set_bit(self) -> &'a mut W {
36117                self.bit(true)
36118            }
36119            ///Clears the field bit
36120            #[inline(always)]
36121            pub fn clear_bit(self) -> &'a mut W {
36122                self.bit(false)
36123            }
36124            ///Writes raw bits to the field
36125            #[inline(always)]
36126            pub fn bit(self, value: bool) -> &'a mut W {
36127                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
36128                self.w
36129            }
36130        }
36131        ///Reader of field `SRAM2_PE`
36132        pub type SRAM2_PE_R = crate::R<bool, bool>;
36133        ///Write proxy for field `SRAM2_PE`
36134        pub struct SRAM2_PE_W<'a> {
36135            w: &'a mut W,
36136        }
36137        impl<'a> SRAM2_PE_W<'a> {
36138            ///Sets the field bit
36139            #[inline(always)]
36140            pub fn set_bit(self) -> &'a mut W {
36141                self.bit(true)
36142            }
36143            ///Clears the field bit
36144            #[inline(always)]
36145            pub fn clear_bit(self) -> &'a mut W {
36146                self.bit(false)
36147            }
36148            ///Writes raw bits to the field
36149            #[inline(always)]
36150            pub fn bit(self, value: bool) -> &'a mut W {
36151                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
36152                self.w
36153            }
36154        }
36155        ///Reader of field `SRAM2_RST`
36156        pub type SRAM2_RST_R = crate::R<bool, bool>;
36157        ///Write proxy for field `SRAM2_RST`
36158        pub struct SRAM2_RST_W<'a> {
36159            w: &'a mut W,
36160        }
36161        impl<'a> SRAM2_RST_W<'a> {
36162            ///Sets the field bit
36163            #[inline(always)]
36164            pub fn set_bit(self) -> &'a mut W {
36165                self.bit(true)
36166            }
36167            ///Clears the field bit
36168            #[inline(always)]
36169            pub fn clear_bit(self) -> &'a mut W {
36170                self.bit(false)
36171            }
36172            ///Writes raw bits to the field
36173            #[inline(always)]
36174            pub fn bit(self, value: bool) -> &'a mut W {
36175                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
36176                self.w
36177            }
36178        }
36179        ///Reader of field `nSWBOOT0`
36180        pub type NSWBOOT0_R = crate::R<bool, bool>;
36181        ///Write proxy for field `nSWBOOT0`
36182        pub struct NSWBOOT0_W<'a> {
36183            w: &'a mut W,
36184        }
36185        impl<'a> NSWBOOT0_W<'a> {
36186            ///Sets the field bit
36187            #[inline(always)]
36188            pub fn set_bit(self) -> &'a mut W {
36189                self.bit(true)
36190            }
36191            ///Clears the field bit
36192            #[inline(always)]
36193            pub fn clear_bit(self) -> &'a mut W {
36194                self.bit(false)
36195            }
36196            ///Writes raw bits to the field
36197            #[inline(always)]
36198            pub fn bit(self, value: bool) -> &'a mut W {
36199                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
36200                self.w
36201            }
36202        }
36203        ///Reader of field `nBOOT0`
36204        pub type NBOOT0_R = crate::R<bool, bool>;
36205        ///Write proxy for field `nBOOT0`
36206        pub struct NBOOT0_W<'a> {
36207            w: &'a mut W,
36208        }
36209        impl<'a> NBOOT0_W<'a> {
36210            ///Sets the field bit
36211            #[inline(always)]
36212            pub fn set_bit(self) -> &'a mut W {
36213                self.bit(true)
36214            }
36215            ///Clears the field bit
36216            #[inline(always)]
36217            pub fn clear_bit(self) -> &'a mut W {
36218                self.bit(false)
36219            }
36220            ///Writes raw bits to the field
36221            #[inline(always)]
36222            pub fn bit(self, value: bool) -> &'a mut W {
36223                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
36224                self.w
36225            }
36226        }
36227        ///Reader of field `AGC_TRIM`
36228        pub type AGC_TRIM_R = crate::R<u8, u8>;
36229        ///Write proxy for field `AGC_TRIM`
36230        pub struct AGC_TRIM_W<'a> {
36231            w: &'a mut W,
36232        }
36233        impl<'a> AGC_TRIM_W<'a> {
36234            ///Writes raw bits to the field
36235            #[inline(always)]
36236            pub unsafe fn bits(self, value: u8) -> &'a mut W {
36237                self.w.bits = (self.w.bits & !(0x07 << 29)) | (((value as u32) & 0x07) << 29);
36238                self.w
36239            }
36240        }
36241        impl R {
36242            ///Bits 0:7 - Read protection level
36243            #[inline(always)]
36244            pub fn rdp(&self) -> RDP_R {
36245                RDP_R::new((self.bits & 0xff) as u8)
36246            }
36247            ///Bit 8 - Security enabled
36248            #[inline(always)]
36249            pub fn ese(&self) -> ESE_R {
36250                ESE_R::new(((self.bits >> 8) & 0x01) != 0)
36251            }
36252            ///Bits 9:11 - BOR reset Level
36253            #[inline(always)]
36254            pub fn bor_lev(&self) -> BOR_LEV_R {
36255                BOR_LEV_R::new(((self.bits >> 9) & 0x07) as u8)
36256            }
36257            ///Bit 12 - nRST_STOP
36258            #[inline(always)]
36259            pub fn n_rst_stop(&self) -> NRST_STOP_R {
36260                NRST_STOP_R::new(((self.bits >> 12) & 0x01) != 0)
36261            }
36262            ///Bit 13 - nRST_STDBY
36263            #[inline(always)]
36264            pub fn n_rst_stdby(&self) -> NRST_STDBY_R {
36265                NRST_STDBY_R::new(((self.bits >> 13) & 0x01) != 0)
36266            }
36267            ///Bit 14 - nRST_SHDW
36268            #[inline(always)]
36269            pub fn n_rst_shdw(&self) -> NRST_SHDW_R {
36270                NRST_SHDW_R::new(((self.bits >> 14) & 0x01) != 0)
36271            }
36272            ///Bit 16 - Independent watchdog selection
36273            #[inline(always)]
36274            pub fn idwg_sw(&self) -> IDWG_SW_R {
36275                IDWG_SW_R::new(((self.bits >> 16) & 0x01) != 0)
36276            }
36277            ///Bit 17 - Independent watchdog counter freeze in Stop mode
36278            #[inline(always)]
36279            pub fn iwdg_stop(&self) -> IWDG_STOP_R {
36280                IWDG_STOP_R::new(((self.bits >> 17) & 0x01) != 0)
36281            }
36282            ///Bit 18 - Independent watchdog counter freeze in Standby mode
36283            #[inline(always)]
36284            pub fn iwdg_stdby(&self) -> IWDG_STDBY_R {
36285                IWDG_STDBY_R::new(((self.bits >> 18) & 0x01) != 0)
36286            }
36287            ///Bit 19 - Window watchdog selection
36288            #[inline(always)]
36289            pub fn wwdg_sw(&self) -> WWDG_SW_R {
36290                WWDG_SW_R::new(((self.bits >> 19) & 0x01) != 0)
36291            }
36292            ///Bit 23 - Boot configuration
36293            #[inline(always)]
36294            pub fn n_boot1(&self) -> NBOOT1_R {
36295                NBOOT1_R::new(((self.bits >> 23) & 0x01) != 0)
36296            }
36297            ///Bit 24 - SRAM2 parity check enable
36298            #[inline(always)]
36299            pub fn sram2_pe(&self) -> SRAM2_PE_R {
36300                SRAM2_PE_R::new(((self.bits >> 24) & 0x01) != 0)
36301            }
36302            ///Bit 25 - SRAM2 Erase when system reset
36303            #[inline(always)]
36304            pub fn sram2_rst(&self) -> SRAM2_RST_R {
36305                SRAM2_RST_R::new(((self.bits >> 25) & 0x01) != 0)
36306            }
36307            ///Bit 26 - Software Boot0
36308            #[inline(always)]
36309            pub fn n_swboot0(&self) -> NSWBOOT0_R {
36310                NSWBOOT0_R::new(((self.bits >> 26) & 0x01) != 0)
36311            }
36312            ///Bit 27 - nBoot0 option bit
36313            #[inline(always)]
36314            pub fn n_boot0(&self) -> NBOOT0_R {
36315                NBOOT0_R::new(((self.bits >> 27) & 0x01) != 0)
36316            }
36317            ///Bits 29:31 - Radio Automatic Gain Control Trimming
36318            #[inline(always)]
36319            pub fn agc_trim(&self) -> AGC_TRIM_R {
36320                AGC_TRIM_R::new(((self.bits >> 29) & 0x07) as u8)
36321            }
36322        }
36323        impl W {
36324            ///Bits 0:7 - Read protection level
36325            #[inline(always)]
36326            pub fn rdp(&mut self) -> RDP_W {
36327                RDP_W { w: self }
36328            }
36329            ///Bit 8 - Security enabled
36330            #[inline(always)]
36331            pub fn ese(&mut self) -> ESE_W {
36332                ESE_W { w: self }
36333            }
36334            ///Bits 9:11 - BOR reset Level
36335            #[inline(always)]
36336            pub fn bor_lev(&mut self) -> BOR_LEV_W {
36337                BOR_LEV_W { w: self }
36338            }
36339            ///Bit 12 - nRST_STOP
36340            #[inline(always)]
36341            pub fn n_rst_stop(&mut self) -> NRST_STOP_W {
36342                NRST_STOP_W { w: self }
36343            }
36344            ///Bit 13 - nRST_STDBY
36345            #[inline(always)]
36346            pub fn n_rst_stdby(&mut self) -> NRST_STDBY_W {
36347                NRST_STDBY_W { w: self }
36348            }
36349            ///Bit 14 - nRST_SHDW
36350            #[inline(always)]
36351            pub fn n_rst_shdw(&mut self) -> NRST_SHDW_W {
36352                NRST_SHDW_W { w: self }
36353            }
36354            ///Bit 16 - Independent watchdog selection
36355            #[inline(always)]
36356            pub fn idwg_sw(&mut self) -> IDWG_SW_W {
36357                IDWG_SW_W { w: self }
36358            }
36359            ///Bit 17 - Independent watchdog counter freeze in Stop mode
36360            #[inline(always)]
36361            pub fn iwdg_stop(&mut self) -> IWDG_STOP_W {
36362                IWDG_STOP_W { w: self }
36363            }
36364            ///Bit 18 - Independent watchdog counter freeze in Standby mode
36365            #[inline(always)]
36366            pub fn iwdg_stdby(&mut self) -> IWDG_STDBY_W {
36367                IWDG_STDBY_W { w: self }
36368            }
36369            ///Bit 19 - Window watchdog selection
36370            #[inline(always)]
36371            pub fn wwdg_sw(&mut self) -> WWDG_SW_W {
36372                WWDG_SW_W { w: self }
36373            }
36374            ///Bit 23 - Boot configuration
36375            #[inline(always)]
36376            pub fn n_boot1(&mut self) -> NBOOT1_W {
36377                NBOOT1_W { w: self }
36378            }
36379            ///Bit 24 - SRAM2 parity check enable
36380            #[inline(always)]
36381            pub fn sram2_pe(&mut self) -> SRAM2_PE_W {
36382                SRAM2_PE_W { w: self }
36383            }
36384            ///Bit 25 - SRAM2 Erase when system reset
36385            #[inline(always)]
36386            pub fn sram2_rst(&mut self) -> SRAM2_RST_W {
36387                SRAM2_RST_W { w: self }
36388            }
36389            ///Bit 26 - Software Boot0
36390            #[inline(always)]
36391            pub fn n_swboot0(&mut self) -> NSWBOOT0_W {
36392                NSWBOOT0_W { w: self }
36393            }
36394            ///Bit 27 - nBoot0 option bit
36395            #[inline(always)]
36396            pub fn n_boot0(&mut self) -> NBOOT0_W {
36397                NBOOT0_W { w: self }
36398            }
36399            ///Bits 29:31 - Radio Automatic Gain Control Trimming
36400            #[inline(always)]
36401            pub fn agc_trim(&mut self) -> AGC_TRIM_W {
36402                AGC_TRIM_W { w: self }
36403            }
36404        }
36405    }
36406    ///Flash Bank 1 PCROP Start address zone A register
36407    ///
36408    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
36409    ///
36410    ///For information about available fields see [pcrop1asr](pcrop1asr) module
36411    pub type PCROP1ASR = crate::Reg<u32, _PCROP1ASR>;
36412    #[allow(missing_docs)]
36413    #[doc(hidden)]
36414    pub struct _PCROP1ASR;
36415    ///`read()` method returns [pcrop1asr::R](pcrop1asr::R) reader structure
36416    impl crate::Readable for PCROP1ASR {}
36417    ///`write(|w| ..)` method takes [pcrop1asr::W](pcrop1asr::W) writer structure
36418    impl crate::Writable for PCROP1ASR {}
36419    ///Flash Bank 1 PCROP Start address zone A register
36420    pub mod pcrop1asr {
36421        ///Reader of register PCROP1ASR
36422        pub type R = crate::R<u32, super::PCROP1ASR>;
36423        ///Writer for register PCROP1ASR
36424        pub type W = crate::W<u32, super::PCROP1ASR>;
36425        ///Register PCROP1ASR `reset()`'s with value 0xffff_fe00
36426        impl crate::ResetValue for super::PCROP1ASR {
36427            type Type = u32;
36428            #[inline(always)]
36429            fn reset_value() -> Self::Type {
36430                0xffff_fe00
36431            }
36432        }
36433        ///Reader of field `PCROP1A_STRT`
36434        pub type PCROP1A_STRT_R = crate::R<u16, u16>;
36435        ///Write proxy for field `PCROP1A_STRT`
36436        pub struct PCROP1A_STRT_W<'a> {
36437            w: &'a mut W,
36438        }
36439        impl<'a> PCROP1A_STRT_W<'a> {
36440            ///Writes raw bits to the field
36441            #[inline(always)]
36442            pub unsafe fn bits(self, value: u16) -> &'a mut W {
36443                self.w.bits = (self.w.bits & !0x01ff) | ((value as u32) & 0x01ff);
36444                self.w
36445            }
36446        }
36447        impl R {
36448            ///Bits 0:8 - Bank 1 PCROPQ area start offset
36449            #[inline(always)]
36450            pub fn pcrop1a_strt(&self) -> PCROP1A_STRT_R {
36451                PCROP1A_STRT_R::new((self.bits & 0x01ff) as u16)
36452            }
36453        }
36454        impl W {
36455            ///Bits 0:8 - Bank 1 PCROPQ area start offset
36456            #[inline(always)]
36457            pub fn pcrop1a_strt(&mut self) -> PCROP1A_STRT_W {
36458                PCROP1A_STRT_W { w: self }
36459            }
36460        }
36461    }
36462    ///Flash Bank 1 PCROP End address zone A register
36463    ///
36464    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
36465    ///
36466    ///For information about available fields see [pcrop1aer](pcrop1aer) module
36467    pub type PCROP1AER = crate::Reg<u32, _PCROP1AER>;
36468    #[allow(missing_docs)]
36469    #[doc(hidden)]
36470    pub struct _PCROP1AER;
36471    ///`read()` method returns [pcrop1aer::R](pcrop1aer::R) reader structure
36472    impl crate::Readable for PCROP1AER {}
36473    ///`write(|w| ..)` method takes [pcrop1aer::W](pcrop1aer::W) writer structure
36474    impl crate::Writable for PCROP1AER {}
36475    ///Flash Bank 1 PCROP End address zone A register
36476    pub mod pcrop1aer {
36477        ///Reader of register PCROP1AER
36478        pub type R = crate::R<u32, super::PCROP1AER>;
36479        ///Writer for register PCROP1AER
36480        pub type W = crate::W<u32, super::PCROP1AER>;
36481        ///Register PCROP1AER `reset()`'s with value 0x7fff_fe00
36482        impl crate::ResetValue for super::PCROP1AER {
36483            type Type = u32;
36484            #[inline(always)]
36485            fn reset_value() -> Self::Type {
36486                0x7fff_fe00
36487            }
36488        }
36489        ///Reader of field `PCROP1A_END`
36490        pub type PCROP1A_END_R = crate::R<u16, u16>;
36491        ///Write proxy for field `PCROP1A_END`
36492        pub struct PCROP1A_END_W<'a> {
36493            w: &'a mut W,
36494        }
36495        impl<'a> PCROP1A_END_W<'a> {
36496            ///Writes raw bits to the field
36497            #[inline(always)]
36498            pub unsafe fn bits(self, value: u16) -> &'a mut W {
36499                self.w.bits = (self.w.bits & !0x01ff) | ((value as u32) & 0x01ff);
36500                self.w
36501            }
36502        }
36503        ///Reader of field `PCROP_RDP`
36504        pub type PCROP_RDP_R = crate::R<bool, bool>;
36505        ///Write proxy for field `PCROP_RDP`
36506        pub struct PCROP_RDP_W<'a> {
36507            w: &'a mut W,
36508        }
36509        impl<'a> PCROP_RDP_W<'a> {
36510            ///Sets the field bit
36511            #[inline(always)]
36512            pub fn set_bit(self) -> &'a mut W {
36513                self.bit(true)
36514            }
36515            ///Clears the field bit
36516            #[inline(always)]
36517            pub fn clear_bit(self) -> &'a mut W {
36518                self.bit(false)
36519            }
36520            ///Writes raw bits to the field
36521            #[inline(always)]
36522            pub fn bit(self, value: bool) -> &'a mut W {
36523                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
36524                self.w
36525            }
36526        }
36527        impl R {
36528            ///Bits 0:8 - Bank 1 PCROP area end offset
36529            #[inline(always)]
36530            pub fn pcrop1a_end(&self) -> PCROP1A_END_R {
36531                PCROP1A_END_R::new((self.bits & 0x01ff) as u16)
36532            }
36533            ///Bit 31 - PCROP area preserved when RDP level decreased
36534            #[inline(always)]
36535            pub fn pcrop_rdp(&self) -> PCROP_RDP_R {
36536                PCROP_RDP_R::new(((self.bits >> 31) & 0x01) != 0)
36537            }
36538        }
36539        impl W {
36540            ///Bits 0:8 - Bank 1 PCROP area end offset
36541            #[inline(always)]
36542            pub fn pcrop1a_end(&mut self) -> PCROP1A_END_W {
36543                PCROP1A_END_W { w: self }
36544            }
36545            ///Bit 31 - PCROP area preserved when RDP level decreased
36546            #[inline(always)]
36547            pub fn pcrop_rdp(&mut self) -> PCROP_RDP_W {
36548                PCROP_RDP_W { w: self }
36549            }
36550        }
36551    }
36552    ///Flash Bank 1 WRP area A address register
36553    ///
36554    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
36555    ///
36556    ///For information about available fields see [wrp1ar](wrp1ar) module
36557    pub type WRP1AR = crate::Reg<u32, _WRP1AR>;
36558    #[allow(missing_docs)]
36559    #[doc(hidden)]
36560    pub struct _WRP1AR;
36561    ///`read()` method returns [wrp1ar::R](wrp1ar::R) reader structure
36562    impl crate::Readable for WRP1AR {}
36563    ///`write(|w| ..)` method takes [wrp1ar::W](wrp1ar::W) writer structure
36564    impl crate::Writable for WRP1AR {}
36565    ///Flash Bank 1 WRP area A address register
36566    pub mod wrp1ar {
36567        ///Reader of register WRP1AR
36568        pub type R = crate::R<u32, super::WRP1AR>;
36569        ///Writer for register WRP1AR
36570        pub type W = crate::W<u32, super::WRP1AR>;
36571        ///Register WRP1AR `reset()`'s with value 0xff00_ff00
36572        impl crate::ResetValue for super::WRP1AR {
36573            type Type = u32;
36574            #[inline(always)]
36575            fn reset_value() -> Self::Type {
36576                0xff00_ff00
36577            }
36578        }
36579        ///Reader of field `WRP1A_STRT`
36580        pub type WRP1A_STRT_R = crate::R<u8, u8>;
36581        ///Write proxy for field `WRP1A_STRT`
36582        pub struct WRP1A_STRT_W<'a> {
36583            w: &'a mut W,
36584        }
36585        impl<'a> WRP1A_STRT_W<'a> {
36586            ///Writes raw bits to the field
36587            #[inline(always)]
36588            pub unsafe fn bits(self, value: u8) -> &'a mut W {
36589                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
36590                self.w
36591            }
36592        }
36593        ///Reader of field `WRP1A_END`
36594        pub type WRP1A_END_R = crate::R<u8, u8>;
36595        ///Write proxy for field `WRP1A_END`
36596        pub struct WRP1A_END_W<'a> {
36597            w: &'a mut W,
36598        }
36599        impl<'a> WRP1A_END_W<'a> {
36600            ///Writes raw bits to the field
36601            #[inline(always)]
36602            pub unsafe fn bits(self, value: u8) -> &'a mut W {
36603                self.w.bits = (self.w.bits & !(0xff << 16)) | (((value as u32) & 0xff) << 16);
36604                self.w
36605            }
36606        }
36607        impl R {
36608            ///Bits 0:7 - Bank 1 WRP first area A start offset
36609            #[inline(always)]
36610            pub fn wrp1a_strt(&self) -> WRP1A_STRT_R {
36611                WRP1A_STRT_R::new((self.bits & 0xff) as u8)
36612            }
36613            ///Bits 16:23 - Bank 1 WRP first area A end offset
36614            #[inline(always)]
36615            pub fn wrp1a_end(&self) -> WRP1A_END_R {
36616                WRP1A_END_R::new(((self.bits >> 16) & 0xff) as u8)
36617            }
36618        }
36619        impl W {
36620            ///Bits 0:7 - Bank 1 WRP first area A start offset
36621            #[inline(always)]
36622            pub fn wrp1a_strt(&mut self) -> WRP1A_STRT_W {
36623                WRP1A_STRT_W { w: self }
36624            }
36625            ///Bits 16:23 - Bank 1 WRP first area A end offset
36626            #[inline(always)]
36627            pub fn wrp1a_end(&mut self) -> WRP1A_END_W {
36628                WRP1A_END_W { w: self }
36629            }
36630        }
36631    }
36632    ///Flash Bank 1 WRP area B address register
36633    ///
36634    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
36635    ///
36636    ///For information about available fields see [wrp1br](wrp1br) module
36637    pub type WRP1BR = crate::Reg<u32, _WRP1BR>;
36638    #[allow(missing_docs)]
36639    #[doc(hidden)]
36640    pub struct _WRP1BR;
36641    ///`read()` method returns [wrp1br::R](wrp1br::R) reader structure
36642    impl crate::Readable for WRP1BR {}
36643    ///`write(|w| ..)` method takes [wrp1br::W](wrp1br::W) writer structure
36644    impl crate::Writable for WRP1BR {}
36645    ///Flash Bank 1 WRP area B address register
36646    pub mod wrp1br {
36647        ///Reader of register WRP1BR
36648        pub type R = crate::R<u32, super::WRP1BR>;
36649        ///Writer for register WRP1BR
36650        pub type W = crate::W<u32, super::WRP1BR>;
36651        ///Register WRP1BR `reset()`'s with value 0xff00_ff00
36652        impl crate::ResetValue for super::WRP1BR {
36653            type Type = u32;
36654            #[inline(always)]
36655            fn reset_value() -> Self::Type {
36656                0xff00_ff00
36657            }
36658        }
36659        ///Reader of field `WRP1B_STRT`
36660        pub type WRP1B_STRT_R = crate::R<u8, u8>;
36661        ///Write proxy for field `WRP1B_STRT`
36662        pub struct WRP1B_STRT_W<'a> {
36663            w: &'a mut W,
36664        }
36665        impl<'a> WRP1B_STRT_W<'a> {
36666            ///Writes raw bits to the field
36667            #[inline(always)]
36668            pub unsafe fn bits(self, value: u8) -> &'a mut W {
36669                self.w.bits = (self.w.bits & !(0xff << 16)) | (((value as u32) & 0xff) << 16);
36670                self.w
36671            }
36672        }
36673        ///Reader of field `WRP1B_END`
36674        pub type WRP1B_END_R = crate::R<u8, u8>;
36675        ///Write proxy for field `WRP1B_END`
36676        pub struct WRP1B_END_W<'a> {
36677            w: &'a mut W,
36678        }
36679        impl<'a> WRP1B_END_W<'a> {
36680            ///Writes raw bits to the field
36681            #[inline(always)]
36682            pub unsafe fn bits(self, value: u8) -> &'a mut W {
36683                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
36684                self.w
36685            }
36686        }
36687        impl R {
36688            ///Bits 16:23 - Bank 1 WRP second area B end offset
36689            #[inline(always)]
36690            pub fn wrp1b_strt(&self) -> WRP1B_STRT_R {
36691                WRP1B_STRT_R::new(((self.bits >> 16) & 0xff) as u8)
36692            }
36693            ///Bits 0:7 - Bank 1 WRP second area B start offset
36694            #[inline(always)]
36695            pub fn wrp1b_end(&self) -> WRP1B_END_R {
36696                WRP1B_END_R::new((self.bits & 0xff) as u8)
36697            }
36698        }
36699        impl W {
36700            ///Bits 16:23 - Bank 1 WRP second area B end offset
36701            #[inline(always)]
36702            pub fn wrp1b_strt(&mut self) -> WRP1B_STRT_W {
36703                WRP1B_STRT_W { w: self }
36704            }
36705            ///Bits 0:7 - Bank 1 WRP second area B start offset
36706            #[inline(always)]
36707            pub fn wrp1b_end(&mut self) -> WRP1B_END_W {
36708                WRP1B_END_W { w: self }
36709            }
36710        }
36711    }
36712    ///Flash Bank 1 PCROP Start address area B register
36713    ///
36714    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
36715    ///
36716    ///For information about available fields see [pcrop1bsr](pcrop1bsr) module
36717    pub type PCROP1BSR = crate::Reg<u32, _PCROP1BSR>;
36718    #[allow(missing_docs)]
36719    #[doc(hidden)]
36720    pub struct _PCROP1BSR;
36721    ///`read()` method returns [pcrop1bsr::R](pcrop1bsr::R) reader structure
36722    impl crate::Readable for PCROP1BSR {}
36723    ///`write(|w| ..)` method takes [pcrop1bsr::W](pcrop1bsr::W) writer structure
36724    impl crate::Writable for PCROP1BSR {}
36725    ///Flash Bank 1 PCROP Start address area B register
36726    pub mod pcrop1bsr {
36727        ///Reader of register PCROP1BSR
36728        pub type R = crate::R<u32, super::PCROP1BSR>;
36729        ///Writer for register PCROP1BSR
36730        pub type W = crate::W<u32, super::PCROP1BSR>;
36731        ///Register PCROP1BSR `reset()`'s with value 0xffff_fe00
36732        impl crate::ResetValue for super::PCROP1BSR {
36733            type Type = u32;
36734            #[inline(always)]
36735            fn reset_value() -> Self::Type {
36736                0xffff_fe00
36737            }
36738        }
36739        ///Reader of field `PCROP1B_STRT`
36740        pub type PCROP1B_STRT_R = crate::R<u16, u16>;
36741        ///Write proxy for field `PCROP1B_STRT`
36742        pub struct PCROP1B_STRT_W<'a> {
36743            w: &'a mut W,
36744        }
36745        impl<'a> PCROP1B_STRT_W<'a> {
36746            ///Writes raw bits to the field
36747            #[inline(always)]
36748            pub unsafe fn bits(self, value: u16) -> &'a mut W {
36749                self.w.bits = (self.w.bits & !0x01ff) | ((value as u32) & 0x01ff);
36750                self.w
36751            }
36752        }
36753        impl R {
36754            ///Bits 0:8 - Bank 1 PCROP area B start offset
36755            #[inline(always)]
36756            pub fn pcrop1b_strt(&self) -> PCROP1B_STRT_R {
36757                PCROP1B_STRT_R::new((self.bits & 0x01ff) as u16)
36758            }
36759        }
36760        impl W {
36761            ///Bits 0:8 - Bank 1 PCROP area B start offset
36762            #[inline(always)]
36763            pub fn pcrop1b_strt(&mut self) -> PCROP1B_STRT_W {
36764                PCROP1B_STRT_W { w: self }
36765            }
36766        }
36767    }
36768    ///Flash Bank 1 PCROP End address area B register
36769    ///
36770    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
36771    ///
36772    ///For information about available fields see [pcrop1ber](pcrop1ber) module
36773    pub type PCROP1BER = crate::Reg<u32, _PCROP1BER>;
36774    #[allow(missing_docs)]
36775    #[doc(hidden)]
36776    pub struct _PCROP1BER;
36777    ///`read()` method returns [pcrop1ber::R](pcrop1ber::R) reader structure
36778    impl crate::Readable for PCROP1BER {}
36779    ///`write(|w| ..)` method takes [pcrop1ber::W](pcrop1ber::W) writer structure
36780    impl crate::Writable for PCROP1BER {}
36781    ///Flash Bank 1 PCROP End address area B register
36782    pub mod pcrop1ber {
36783        ///Reader of register PCROP1BER
36784        pub type R = crate::R<u32, super::PCROP1BER>;
36785        ///Writer for register PCROP1BER
36786        pub type W = crate::W<u32, super::PCROP1BER>;
36787        ///Register PCROP1BER `reset()`'s with value 0xffff_fe00
36788        impl crate::ResetValue for super::PCROP1BER {
36789            type Type = u32;
36790            #[inline(always)]
36791            fn reset_value() -> Self::Type {
36792                0xffff_fe00
36793            }
36794        }
36795        ///Reader of field `PCROP1B_END`
36796        pub type PCROP1B_END_R = crate::R<u16, u16>;
36797        ///Write proxy for field `PCROP1B_END`
36798        pub struct PCROP1B_END_W<'a> {
36799            w: &'a mut W,
36800        }
36801        impl<'a> PCROP1B_END_W<'a> {
36802            ///Writes raw bits to the field
36803            #[inline(always)]
36804            pub unsafe fn bits(self, value: u16) -> &'a mut W {
36805                self.w.bits = (self.w.bits & !0x01ff) | ((value as u32) & 0x01ff);
36806                self.w
36807            }
36808        }
36809        impl R {
36810            ///Bits 0:8 - Bank 1 PCROP area end area B offset
36811            #[inline(always)]
36812            pub fn pcrop1b_end(&self) -> PCROP1B_END_R {
36813                PCROP1B_END_R::new((self.bits & 0x01ff) as u16)
36814            }
36815        }
36816        impl W {
36817            ///Bits 0:8 - Bank 1 PCROP area end area B offset
36818            #[inline(always)]
36819            pub fn pcrop1b_end(&mut self) -> PCROP1B_END_W {
36820                PCROP1B_END_W { w: self }
36821            }
36822        }
36823    }
36824    ///IPCC mailbox data buffer address register
36825    ///
36826    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
36827    ///
36828    ///For information about available fields see [ipccbr](ipccbr) module
36829    pub type IPCCBR = crate::Reg<u32, _IPCCBR>;
36830    #[allow(missing_docs)]
36831    #[doc(hidden)]
36832    pub struct _IPCCBR;
36833    ///`read()` method returns [ipccbr::R](ipccbr::R) reader structure
36834    impl crate::Readable for IPCCBR {}
36835    ///`write(|w| ..)` method takes [ipccbr::W](ipccbr::W) writer structure
36836    impl crate::Writable for IPCCBR {}
36837    ///IPCC mailbox data buffer address register
36838    pub mod ipccbr {
36839        ///Reader of register IPCCBR
36840        pub type R = crate::R<u32, super::IPCCBR>;
36841        ///Writer for register IPCCBR
36842        pub type W = crate::W<u32, super::IPCCBR>;
36843        ///Register IPCCBR `reset()`'s with value 0xffff_c000
36844        impl crate::ResetValue for super::IPCCBR {
36845            type Type = u32;
36846            #[inline(always)]
36847            fn reset_value() -> Self::Type {
36848                0xffff_c000
36849            }
36850        }
36851        ///Reader of field `IPCCDBA`
36852        pub type IPCCDBA_R = crate::R<u16, u16>;
36853        ///Write proxy for field `IPCCDBA`
36854        pub struct IPCCDBA_W<'a> {
36855            w: &'a mut W,
36856        }
36857        impl<'a> IPCCDBA_W<'a> {
36858            ///Writes raw bits to the field
36859            #[inline(always)]
36860            pub unsafe fn bits(self, value: u16) -> &'a mut W {
36861                self.w.bits = (self.w.bits & !0x3fff) | ((value as u32) & 0x3fff);
36862                self.w
36863            }
36864        }
36865        impl R {
36866            ///Bits 0:13 - PCC mailbox data buffer base address
36867            #[inline(always)]
36868            pub fn ipccdba(&self) -> IPCCDBA_R {
36869                IPCCDBA_R::new((self.bits & 0x3fff) as u16)
36870            }
36871        }
36872        impl W {
36873            ///Bits 0:13 - PCC mailbox data buffer base address
36874            #[inline(always)]
36875            pub fn ipccdba(&mut self) -> IPCCDBA_W {
36876                IPCCDBA_W { w: self }
36877            }
36878        }
36879    }
36880    ///CPU2 cortex M0 access control register
36881    ///
36882    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
36883    ///
36884    ///For information about available fields see [c2acr](c2acr) module
36885    pub type C2ACR = crate::Reg<u32, _C2ACR>;
36886    #[allow(missing_docs)]
36887    #[doc(hidden)]
36888    pub struct _C2ACR;
36889    ///`read()` method returns [c2acr::R](c2acr::R) reader structure
36890    impl crate::Readable for C2ACR {}
36891    ///`write(|w| ..)` method takes [c2acr::W](c2acr::W) writer structure
36892    impl crate::Writable for C2ACR {}
36893    ///CPU2 cortex M0 access control register
36894    pub mod c2acr {
36895        ///Reader of register C2ACR
36896        pub type R = crate::R<u32, super::C2ACR>;
36897        ///Writer for register C2ACR
36898        pub type W = crate::W<u32, super::C2ACR>;
36899        ///Register C2ACR `reset()`'s with value 0x0600
36900        impl crate::ResetValue for super::C2ACR {
36901            type Type = u32;
36902            #[inline(always)]
36903            fn reset_value() -> Self::Type {
36904                0x0600
36905            }
36906        }
36907        ///Reader of field `PRFTEN`
36908        pub type PRFTEN_R = crate::R<bool, bool>;
36909        ///Write proxy for field `PRFTEN`
36910        pub struct PRFTEN_W<'a> {
36911            w: &'a mut W,
36912        }
36913        impl<'a> PRFTEN_W<'a> {
36914            ///Sets the field bit
36915            #[inline(always)]
36916            pub fn set_bit(self) -> &'a mut W {
36917                self.bit(true)
36918            }
36919            ///Clears the field bit
36920            #[inline(always)]
36921            pub fn clear_bit(self) -> &'a mut W {
36922                self.bit(false)
36923            }
36924            ///Writes raw bits to the field
36925            #[inline(always)]
36926            pub fn bit(self, value: bool) -> &'a mut W {
36927                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
36928                self.w
36929            }
36930        }
36931        ///Reader of field `ICEN`
36932        pub type ICEN_R = crate::R<bool, bool>;
36933        ///Write proxy for field `ICEN`
36934        pub struct ICEN_W<'a> {
36935            w: &'a mut W,
36936        }
36937        impl<'a> ICEN_W<'a> {
36938            ///Sets the field bit
36939            #[inline(always)]
36940            pub fn set_bit(self) -> &'a mut W {
36941                self.bit(true)
36942            }
36943            ///Clears the field bit
36944            #[inline(always)]
36945            pub fn clear_bit(self) -> &'a mut W {
36946                self.bit(false)
36947            }
36948            ///Writes raw bits to the field
36949            #[inline(always)]
36950            pub fn bit(self, value: bool) -> &'a mut W {
36951                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
36952                self.w
36953            }
36954        }
36955        ///Reader of field `ICRST`
36956        pub type ICRST_R = crate::R<bool, bool>;
36957        ///Write proxy for field `ICRST`
36958        pub struct ICRST_W<'a> {
36959            w: &'a mut W,
36960        }
36961        impl<'a> ICRST_W<'a> {
36962            ///Sets the field bit
36963            #[inline(always)]
36964            pub fn set_bit(self) -> &'a mut W {
36965                self.bit(true)
36966            }
36967            ///Clears the field bit
36968            #[inline(always)]
36969            pub fn clear_bit(self) -> &'a mut W {
36970                self.bit(false)
36971            }
36972            ///Writes raw bits to the field
36973            #[inline(always)]
36974            pub fn bit(self, value: bool) -> &'a mut W {
36975                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
36976                self.w
36977            }
36978        }
36979        ///Reader of field `PES`
36980        pub type PES_R = crate::R<bool, bool>;
36981        ///Write proxy for field `PES`
36982        pub struct PES_W<'a> {
36983            w: &'a mut W,
36984        }
36985        impl<'a> PES_W<'a> {
36986            ///Sets the field bit
36987            #[inline(always)]
36988            pub fn set_bit(self) -> &'a mut W {
36989                self.bit(true)
36990            }
36991            ///Clears the field bit
36992            #[inline(always)]
36993            pub fn clear_bit(self) -> &'a mut W {
36994                self.bit(false)
36995            }
36996            ///Writes raw bits to the field
36997            #[inline(always)]
36998            pub fn bit(self, value: bool) -> &'a mut W {
36999                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
37000                self.w
37001            }
37002        }
37003        impl R {
37004            ///Bit 8 - CPU2 cortex M0 prefetch enable
37005            #[inline(always)]
37006            pub fn prften(&self) -> PRFTEN_R {
37007                PRFTEN_R::new(((self.bits >> 8) & 0x01) != 0)
37008            }
37009            ///Bit 9 - CPU2 cortex M0 instruction cache enable
37010            #[inline(always)]
37011            pub fn icen(&self) -> ICEN_R {
37012                ICEN_R::new(((self.bits >> 9) & 0x01) != 0)
37013            }
37014            ///Bit 11 - CPU2 cortex M0 instruction cache reset
37015            #[inline(always)]
37016            pub fn icrst(&self) -> ICRST_R {
37017                ICRST_R::new(((self.bits >> 11) & 0x01) != 0)
37018            }
37019            ///Bit 15 - CPU2 cortex M0 program erase suspend request
37020            #[inline(always)]
37021            pub fn pes(&self) -> PES_R {
37022                PES_R::new(((self.bits >> 15) & 0x01) != 0)
37023            }
37024        }
37025        impl W {
37026            ///Bit 8 - CPU2 cortex M0 prefetch enable
37027            #[inline(always)]
37028            pub fn prften(&mut self) -> PRFTEN_W {
37029                PRFTEN_W { w: self }
37030            }
37031            ///Bit 9 - CPU2 cortex M0 instruction cache enable
37032            #[inline(always)]
37033            pub fn icen(&mut self) -> ICEN_W {
37034                ICEN_W { w: self }
37035            }
37036            ///Bit 11 - CPU2 cortex M0 instruction cache reset
37037            #[inline(always)]
37038            pub fn icrst(&mut self) -> ICRST_W {
37039                ICRST_W { w: self }
37040            }
37041            ///Bit 15 - CPU2 cortex M0 program erase suspend request
37042            #[inline(always)]
37043            pub fn pes(&mut self) -> PES_W {
37044                PES_W { w: self }
37045            }
37046        }
37047    }
37048    ///CPU2 cortex M0 status register
37049    ///
37050    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
37051    ///
37052    ///For information about available fields see [c2sr](c2sr) module
37053    pub type C2SR = crate::Reg<u32, _C2SR>;
37054    #[allow(missing_docs)]
37055    #[doc(hidden)]
37056    pub struct _C2SR;
37057    ///`read()` method returns [c2sr::R](c2sr::R) reader structure
37058    impl crate::Readable for C2SR {}
37059    ///`write(|w| ..)` method takes [c2sr::W](c2sr::W) writer structure
37060    impl crate::Writable for C2SR {}
37061    ///CPU2 cortex M0 status register
37062    pub mod c2sr {
37063        ///Reader of register C2SR
37064        pub type R = crate::R<u32, super::C2SR>;
37065        ///Writer for register C2SR
37066        pub type W = crate::W<u32, super::C2SR>;
37067        ///Register C2SR `reset()`'s with value 0
37068        impl crate::ResetValue for super::C2SR {
37069            type Type = u32;
37070            #[inline(always)]
37071            fn reset_value() -> Self::Type {
37072                0
37073            }
37074        }
37075        ///Reader of field `EOP`
37076        pub type EOP_R = crate::R<bool, bool>;
37077        ///Write proxy for field `EOP`
37078        pub struct EOP_W<'a> {
37079            w: &'a mut W,
37080        }
37081        impl<'a> EOP_W<'a> {
37082            ///Sets the field bit
37083            #[inline(always)]
37084            pub fn set_bit(self) -> &'a mut W {
37085                self.bit(true)
37086            }
37087            ///Clears the field bit
37088            #[inline(always)]
37089            pub fn clear_bit(self) -> &'a mut W {
37090                self.bit(false)
37091            }
37092            ///Writes raw bits to the field
37093            #[inline(always)]
37094            pub fn bit(self, value: bool) -> &'a mut W {
37095                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
37096                self.w
37097            }
37098        }
37099        ///Reader of field `OPERR`
37100        pub type OPERR_R = crate::R<bool, bool>;
37101        ///Write proxy for field `OPERR`
37102        pub struct OPERR_W<'a> {
37103            w: &'a mut W,
37104        }
37105        impl<'a> OPERR_W<'a> {
37106            ///Sets the field bit
37107            #[inline(always)]
37108            pub fn set_bit(self) -> &'a mut W {
37109                self.bit(true)
37110            }
37111            ///Clears the field bit
37112            #[inline(always)]
37113            pub fn clear_bit(self) -> &'a mut W {
37114                self.bit(false)
37115            }
37116            ///Writes raw bits to the field
37117            #[inline(always)]
37118            pub fn bit(self, value: bool) -> &'a mut W {
37119                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
37120                self.w
37121            }
37122        }
37123        ///Reader of field `PROGERR`
37124        pub type PROGERR_R = crate::R<bool, bool>;
37125        ///Write proxy for field `PROGERR`
37126        pub struct PROGERR_W<'a> {
37127            w: &'a mut W,
37128        }
37129        impl<'a> PROGERR_W<'a> {
37130            ///Sets the field bit
37131            #[inline(always)]
37132            pub fn set_bit(self) -> &'a mut W {
37133                self.bit(true)
37134            }
37135            ///Clears the field bit
37136            #[inline(always)]
37137            pub fn clear_bit(self) -> &'a mut W {
37138                self.bit(false)
37139            }
37140            ///Writes raw bits to the field
37141            #[inline(always)]
37142            pub fn bit(self, value: bool) -> &'a mut W {
37143                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
37144                self.w
37145            }
37146        }
37147        ///Reader of field `WRPERR`
37148        pub type WRPERR_R = crate::R<bool, bool>;
37149        ///Write proxy for field `WRPERR`
37150        pub struct WRPERR_W<'a> {
37151            w: &'a mut W,
37152        }
37153        impl<'a> WRPERR_W<'a> {
37154            ///Sets the field bit
37155            #[inline(always)]
37156            pub fn set_bit(self) -> &'a mut W {
37157                self.bit(true)
37158            }
37159            ///Clears the field bit
37160            #[inline(always)]
37161            pub fn clear_bit(self) -> &'a mut W {
37162                self.bit(false)
37163            }
37164            ///Writes raw bits to the field
37165            #[inline(always)]
37166            pub fn bit(self, value: bool) -> &'a mut W {
37167                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
37168                self.w
37169            }
37170        }
37171        ///Reader of field `PGAERR`
37172        pub type PGAERR_R = crate::R<bool, bool>;
37173        ///Write proxy for field `PGAERR`
37174        pub struct PGAERR_W<'a> {
37175            w: &'a mut W,
37176        }
37177        impl<'a> PGAERR_W<'a> {
37178            ///Sets the field bit
37179            #[inline(always)]
37180            pub fn set_bit(self) -> &'a mut W {
37181                self.bit(true)
37182            }
37183            ///Clears the field bit
37184            #[inline(always)]
37185            pub fn clear_bit(self) -> &'a mut W {
37186                self.bit(false)
37187            }
37188            ///Writes raw bits to the field
37189            #[inline(always)]
37190            pub fn bit(self, value: bool) -> &'a mut W {
37191                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
37192                self.w
37193            }
37194        }
37195        ///Reader of field `SIZERR`
37196        pub type SIZERR_R = crate::R<bool, bool>;
37197        ///Write proxy for field `SIZERR`
37198        pub struct SIZERR_W<'a> {
37199            w: &'a mut W,
37200        }
37201        impl<'a> SIZERR_W<'a> {
37202            ///Sets the field bit
37203            #[inline(always)]
37204            pub fn set_bit(self) -> &'a mut W {
37205                self.bit(true)
37206            }
37207            ///Clears the field bit
37208            #[inline(always)]
37209            pub fn clear_bit(self) -> &'a mut W {
37210                self.bit(false)
37211            }
37212            ///Writes raw bits to the field
37213            #[inline(always)]
37214            pub fn bit(self, value: bool) -> &'a mut W {
37215                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
37216                self.w
37217            }
37218        }
37219        ///Reader of field `PGSERR`
37220        pub type PGSERR_R = crate::R<bool, bool>;
37221        ///Write proxy for field `PGSERR`
37222        pub struct PGSERR_W<'a> {
37223            w: &'a mut W,
37224        }
37225        impl<'a> PGSERR_W<'a> {
37226            ///Sets the field bit
37227            #[inline(always)]
37228            pub fn set_bit(self) -> &'a mut W {
37229                self.bit(true)
37230            }
37231            ///Clears the field bit
37232            #[inline(always)]
37233            pub fn clear_bit(self) -> &'a mut W {
37234                self.bit(false)
37235            }
37236            ///Writes raw bits to the field
37237            #[inline(always)]
37238            pub fn bit(self, value: bool) -> &'a mut W {
37239                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
37240                self.w
37241            }
37242        }
37243        ///Reader of field `MISSERR`
37244        pub type MISSERR_R = crate::R<bool, bool>;
37245        ///Write proxy for field `MISSERR`
37246        pub struct MISSERR_W<'a> {
37247            w: &'a mut W,
37248        }
37249        impl<'a> MISSERR_W<'a> {
37250            ///Sets the field bit
37251            #[inline(always)]
37252            pub fn set_bit(self) -> &'a mut W {
37253                self.bit(true)
37254            }
37255            ///Clears the field bit
37256            #[inline(always)]
37257            pub fn clear_bit(self) -> &'a mut W {
37258                self.bit(false)
37259            }
37260            ///Writes raw bits to the field
37261            #[inline(always)]
37262            pub fn bit(self, value: bool) -> &'a mut W {
37263                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
37264                self.w
37265            }
37266        }
37267        ///Reader of field `FASTERR`
37268        pub type FASTERR_R = crate::R<bool, bool>;
37269        ///Write proxy for field `FASTERR`
37270        pub struct FASTERR_W<'a> {
37271            w: &'a mut W,
37272        }
37273        impl<'a> FASTERR_W<'a> {
37274            ///Sets the field bit
37275            #[inline(always)]
37276            pub fn set_bit(self) -> &'a mut W {
37277                self.bit(true)
37278            }
37279            ///Clears the field bit
37280            #[inline(always)]
37281            pub fn clear_bit(self) -> &'a mut W {
37282                self.bit(false)
37283            }
37284            ///Writes raw bits to the field
37285            #[inline(always)]
37286            pub fn bit(self, value: bool) -> &'a mut W {
37287                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
37288                self.w
37289            }
37290        }
37291        ///Reader of field `RDERR`
37292        pub type RDERR_R = crate::R<bool, bool>;
37293        ///Write proxy for field `RDERR`
37294        pub struct RDERR_W<'a> {
37295            w: &'a mut W,
37296        }
37297        impl<'a> RDERR_W<'a> {
37298            ///Sets the field bit
37299            #[inline(always)]
37300            pub fn set_bit(self) -> &'a mut W {
37301                self.bit(true)
37302            }
37303            ///Clears the field bit
37304            #[inline(always)]
37305            pub fn clear_bit(self) -> &'a mut W {
37306                self.bit(false)
37307            }
37308            ///Writes raw bits to the field
37309            #[inline(always)]
37310            pub fn bit(self, value: bool) -> &'a mut W {
37311                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
37312                self.w
37313            }
37314        }
37315        ///Reader of field `BSY`
37316        pub type BSY_R = crate::R<bool, bool>;
37317        ///Write proxy for field `BSY`
37318        pub struct BSY_W<'a> {
37319            w: &'a mut W,
37320        }
37321        impl<'a> BSY_W<'a> {
37322            ///Sets the field bit
37323            #[inline(always)]
37324            pub fn set_bit(self) -> &'a mut W {
37325                self.bit(true)
37326            }
37327            ///Clears the field bit
37328            #[inline(always)]
37329            pub fn clear_bit(self) -> &'a mut W {
37330                self.bit(false)
37331            }
37332            ///Writes raw bits to the field
37333            #[inline(always)]
37334            pub fn bit(self, value: bool) -> &'a mut W {
37335                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
37336                self.w
37337            }
37338        }
37339        ///Reader of field `CFGBSY`
37340        pub type CFGBSY_R = crate::R<bool, bool>;
37341        ///Write proxy for field `CFGBSY`
37342        pub struct CFGBSY_W<'a> {
37343            w: &'a mut W,
37344        }
37345        impl<'a> CFGBSY_W<'a> {
37346            ///Sets the field bit
37347            #[inline(always)]
37348            pub fn set_bit(self) -> &'a mut W {
37349                self.bit(true)
37350            }
37351            ///Clears the field bit
37352            #[inline(always)]
37353            pub fn clear_bit(self) -> &'a mut W {
37354                self.bit(false)
37355            }
37356            ///Writes raw bits to the field
37357            #[inline(always)]
37358            pub fn bit(self, value: bool) -> &'a mut W {
37359                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
37360                self.w
37361            }
37362        }
37363        ///Reader of field `PESD`
37364        pub type PESD_R = crate::R<bool, bool>;
37365        ///Write proxy for field `PESD`
37366        pub struct PESD_W<'a> {
37367            w: &'a mut W,
37368        }
37369        impl<'a> PESD_W<'a> {
37370            ///Sets the field bit
37371            #[inline(always)]
37372            pub fn set_bit(self) -> &'a mut W {
37373                self.bit(true)
37374            }
37375            ///Clears the field bit
37376            #[inline(always)]
37377            pub fn clear_bit(self) -> &'a mut W {
37378                self.bit(false)
37379            }
37380            ///Writes raw bits to the field
37381            #[inline(always)]
37382            pub fn bit(self, value: bool) -> &'a mut W {
37383                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
37384                self.w
37385            }
37386        }
37387        impl R {
37388            ///Bit 0 - End of operation
37389            #[inline(always)]
37390            pub fn eop(&self) -> EOP_R {
37391                EOP_R::new((self.bits & 0x01) != 0)
37392            }
37393            ///Bit 1 - Operation error
37394            #[inline(always)]
37395            pub fn operr(&self) -> OPERR_R {
37396                OPERR_R::new(((self.bits >> 1) & 0x01) != 0)
37397            }
37398            ///Bit 3 - Programming error
37399            #[inline(always)]
37400            pub fn progerr(&self) -> PROGERR_R {
37401                PROGERR_R::new(((self.bits >> 3) & 0x01) != 0)
37402            }
37403            ///Bit 4 - write protection error
37404            #[inline(always)]
37405            pub fn wrperr(&self) -> WRPERR_R {
37406                WRPERR_R::new(((self.bits >> 4) & 0x01) != 0)
37407            }
37408            ///Bit 5 - Programming alignment error
37409            #[inline(always)]
37410            pub fn pgaerr(&self) -> PGAERR_R {
37411                PGAERR_R::new(((self.bits >> 5) & 0x01) != 0)
37412            }
37413            ///Bit 6 - Size error
37414            #[inline(always)]
37415            pub fn sizerr(&self) -> SIZERR_R {
37416                SIZERR_R::new(((self.bits >> 6) & 0x01) != 0)
37417            }
37418            ///Bit 7 - Programming sequence error
37419            #[inline(always)]
37420            pub fn pgserr(&self) -> PGSERR_R {
37421                PGSERR_R::new(((self.bits >> 7) & 0x01) != 0)
37422            }
37423            ///Bit 8 - Fast programming data miss error
37424            #[inline(always)]
37425            pub fn misserr(&self) -> MISSERR_R {
37426                MISSERR_R::new(((self.bits >> 8) & 0x01) != 0)
37427            }
37428            ///Bit 9 - Fast programming error
37429            #[inline(always)]
37430            pub fn fasterr(&self) -> FASTERR_R {
37431                FASTERR_R::new(((self.bits >> 9) & 0x01) != 0)
37432            }
37433            ///Bit 14 - PCROP read error
37434            #[inline(always)]
37435            pub fn rderr(&self) -> RDERR_R {
37436                RDERR_R::new(((self.bits >> 14) & 0x01) != 0)
37437            }
37438            ///Bit 16 - Busy
37439            #[inline(always)]
37440            pub fn bsy(&self) -> BSY_R {
37441                BSY_R::new(((self.bits >> 16) & 0x01) != 0)
37442            }
37443            ///Bit 18 - Programming or erase configuration busy
37444            #[inline(always)]
37445            pub fn cfgbsy(&self) -> CFGBSY_R {
37446                CFGBSY_R::new(((self.bits >> 18) & 0x01) != 0)
37447            }
37448            ///Bit 19 - Programming or erase operation suspended
37449            #[inline(always)]
37450            pub fn pesd(&self) -> PESD_R {
37451                PESD_R::new(((self.bits >> 19) & 0x01) != 0)
37452            }
37453        }
37454        impl W {
37455            ///Bit 0 - End of operation
37456            #[inline(always)]
37457            pub fn eop(&mut self) -> EOP_W {
37458                EOP_W { w: self }
37459            }
37460            ///Bit 1 - Operation error
37461            #[inline(always)]
37462            pub fn operr(&mut self) -> OPERR_W {
37463                OPERR_W { w: self }
37464            }
37465            ///Bit 3 - Programming error
37466            #[inline(always)]
37467            pub fn progerr(&mut self) -> PROGERR_W {
37468                PROGERR_W { w: self }
37469            }
37470            ///Bit 4 - write protection error
37471            #[inline(always)]
37472            pub fn wrperr(&mut self) -> WRPERR_W {
37473                WRPERR_W { w: self }
37474            }
37475            ///Bit 5 - Programming alignment error
37476            #[inline(always)]
37477            pub fn pgaerr(&mut self) -> PGAERR_W {
37478                PGAERR_W { w: self }
37479            }
37480            ///Bit 6 - Size error
37481            #[inline(always)]
37482            pub fn sizerr(&mut self) -> SIZERR_W {
37483                SIZERR_W { w: self }
37484            }
37485            ///Bit 7 - Programming sequence error
37486            #[inline(always)]
37487            pub fn pgserr(&mut self) -> PGSERR_W {
37488                PGSERR_W { w: self }
37489            }
37490            ///Bit 8 - Fast programming data miss error
37491            #[inline(always)]
37492            pub fn misserr(&mut self) -> MISSERR_W {
37493                MISSERR_W { w: self }
37494            }
37495            ///Bit 9 - Fast programming error
37496            #[inline(always)]
37497            pub fn fasterr(&mut self) -> FASTERR_W {
37498                FASTERR_W { w: self }
37499            }
37500            ///Bit 14 - PCROP read error
37501            #[inline(always)]
37502            pub fn rderr(&mut self) -> RDERR_W {
37503                RDERR_W { w: self }
37504            }
37505            ///Bit 16 - Busy
37506            #[inline(always)]
37507            pub fn bsy(&mut self) -> BSY_W {
37508                BSY_W { w: self }
37509            }
37510            ///Bit 18 - Programming or erase configuration busy
37511            #[inline(always)]
37512            pub fn cfgbsy(&mut self) -> CFGBSY_W {
37513                CFGBSY_W { w: self }
37514            }
37515            ///Bit 19 - Programming or erase operation suspended
37516            #[inline(always)]
37517            pub fn pesd(&mut self) -> PESD_W {
37518                PESD_W { w: self }
37519            }
37520        }
37521    }
37522    ///CPU2 cortex M0 control register
37523    ///
37524    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
37525    ///
37526    ///For information about available fields see [c2cr](c2cr) module
37527    pub type C2CR = crate::Reg<u32, _C2CR>;
37528    #[allow(missing_docs)]
37529    #[doc(hidden)]
37530    pub struct _C2CR;
37531    ///`read()` method returns [c2cr::R](c2cr::R) reader structure
37532    impl crate::Readable for C2CR {}
37533    ///`write(|w| ..)` method takes [c2cr::W](c2cr::W) writer structure
37534    impl crate::Writable for C2CR {}
37535    ///CPU2 cortex M0 control register
37536    pub mod c2cr {
37537        ///Reader of register C2CR
37538        pub type R = crate::R<u32, super::C2CR>;
37539        ///Writer for register C2CR
37540        pub type W = crate::W<u32, super::C2CR>;
37541        ///Register C2CR `reset()`'s with value 0
37542        impl crate::ResetValue for super::C2CR {
37543            type Type = u32;
37544            #[inline(always)]
37545            fn reset_value() -> Self::Type {
37546                0
37547            }
37548        }
37549        ///Reader of field `PG`
37550        pub type PG_R = crate::R<bool, bool>;
37551        ///Write proxy for field `PG`
37552        pub struct PG_W<'a> {
37553            w: &'a mut W,
37554        }
37555        impl<'a> PG_W<'a> {
37556            ///Sets the field bit
37557            #[inline(always)]
37558            pub fn set_bit(self) -> &'a mut W {
37559                self.bit(true)
37560            }
37561            ///Clears the field bit
37562            #[inline(always)]
37563            pub fn clear_bit(self) -> &'a mut W {
37564                self.bit(false)
37565            }
37566            ///Writes raw bits to the field
37567            #[inline(always)]
37568            pub fn bit(self, value: bool) -> &'a mut W {
37569                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
37570                self.w
37571            }
37572        }
37573        ///Reader of field `PER`
37574        pub type PER_R = crate::R<bool, bool>;
37575        ///Write proxy for field `PER`
37576        pub struct PER_W<'a> {
37577            w: &'a mut W,
37578        }
37579        impl<'a> PER_W<'a> {
37580            ///Sets the field bit
37581            #[inline(always)]
37582            pub fn set_bit(self) -> &'a mut W {
37583                self.bit(true)
37584            }
37585            ///Clears the field bit
37586            #[inline(always)]
37587            pub fn clear_bit(self) -> &'a mut W {
37588                self.bit(false)
37589            }
37590            ///Writes raw bits to the field
37591            #[inline(always)]
37592            pub fn bit(self, value: bool) -> &'a mut W {
37593                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
37594                self.w
37595            }
37596        }
37597        ///Reader of field `MER`
37598        pub type MER_R = crate::R<bool, bool>;
37599        ///Write proxy for field `MER`
37600        pub struct MER_W<'a> {
37601            w: &'a mut W,
37602        }
37603        impl<'a> MER_W<'a> {
37604            ///Sets the field bit
37605            #[inline(always)]
37606            pub fn set_bit(self) -> &'a mut W {
37607                self.bit(true)
37608            }
37609            ///Clears the field bit
37610            #[inline(always)]
37611            pub fn clear_bit(self) -> &'a mut W {
37612                self.bit(false)
37613            }
37614            ///Writes raw bits to the field
37615            #[inline(always)]
37616            pub fn bit(self, value: bool) -> &'a mut W {
37617                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
37618                self.w
37619            }
37620        }
37621        ///Reader of field `PNB`
37622        pub type PNB_R = crate::R<u8, u8>;
37623        ///Write proxy for field `PNB`
37624        pub struct PNB_W<'a> {
37625            w: &'a mut W,
37626        }
37627        impl<'a> PNB_W<'a> {
37628            ///Writes raw bits to the field
37629            #[inline(always)]
37630            pub unsafe fn bits(self, value: u8) -> &'a mut W {
37631                self.w.bits = (self.w.bits & !(0xff << 3)) | (((value as u32) & 0xff) << 3);
37632                self.w
37633            }
37634        }
37635        ///Reader of field `STRT`
37636        pub type STRT_R = crate::R<bool, bool>;
37637        ///Write proxy for field `STRT`
37638        pub struct STRT_W<'a> {
37639            w: &'a mut W,
37640        }
37641        impl<'a> STRT_W<'a> {
37642            ///Sets the field bit
37643            #[inline(always)]
37644            pub fn set_bit(self) -> &'a mut W {
37645                self.bit(true)
37646            }
37647            ///Clears the field bit
37648            #[inline(always)]
37649            pub fn clear_bit(self) -> &'a mut W {
37650                self.bit(false)
37651            }
37652            ///Writes raw bits to the field
37653            #[inline(always)]
37654            pub fn bit(self, value: bool) -> &'a mut W {
37655                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
37656                self.w
37657            }
37658        }
37659        ///Reader of field `FSTPG`
37660        pub type FSTPG_R = crate::R<bool, bool>;
37661        ///Write proxy for field `FSTPG`
37662        pub struct FSTPG_W<'a> {
37663            w: &'a mut W,
37664        }
37665        impl<'a> FSTPG_W<'a> {
37666            ///Sets the field bit
37667            #[inline(always)]
37668            pub fn set_bit(self) -> &'a mut W {
37669                self.bit(true)
37670            }
37671            ///Clears the field bit
37672            #[inline(always)]
37673            pub fn clear_bit(self) -> &'a mut W {
37674                self.bit(false)
37675            }
37676            ///Writes raw bits to the field
37677            #[inline(always)]
37678            pub fn bit(self, value: bool) -> &'a mut W {
37679                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
37680                self.w
37681            }
37682        }
37683        ///Reader of field `EOPIE`
37684        pub type EOPIE_R = crate::R<bool, bool>;
37685        ///Write proxy for field `EOPIE`
37686        pub struct EOPIE_W<'a> {
37687            w: &'a mut W,
37688        }
37689        impl<'a> EOPIE_W<'a> {
37690            ///Sets the field bit
37691            #[inline(always)]
37692            pub fn set_bit(self) -> &'a mut W {
37693                self.bit(true)
37694            }
37695            ///Clears the field bit
37696            #[inline(always)]
37697            pub fn clear_bit(self) -> &'a mut W {
37698                self.bit(false)
37699            }
37700            ///Writes raw bits to the field
37701            #[inline(always)]
37702            pub fn bit(self, value: bool) -> &'a mut W {
37703                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
37704                self.w
37705            }
37706        }
37707        ///Reader of field `ERRIE`
37708        pub type ERRIE_R = crate::R<bool, bool>;
37709        ///Write proxy for field `ERRIE`
37710        pub struct ERRIE_W<'a> {
37711            w: &'a mut W,
37712        }
37713        impl<'a> ERRIE_W<'a> {
37714            ///Sets the field bit
37715            #[inline(always)]
37716            pub fn set_bit(self) -> &'a mut W {
37717                self.bit(true)
37718            }
37719            ///Clears the field bit
37720            #[inline(always)]
37721            pub fn clear_bit(self) -> &'a mut W {
37722                self.bit(false)
37723            }
37724            ///Writes raw bits to the field
37725            #[inline(always)]
37726            pub fn bit(self, value: bool) -> &'a mut W {
37727                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
37728                self.w
37729            }
37730        }
37731        ///Reader of field `RDERRIE`
37732        pub type RDERRIE_R = crate::R<bool, bool>;
37733        ///Write proxy for field `RDERRIE`
37734        pub struct RDERRIE_W<'a> {
37735            w: &'a mut W,
37736        }
37737        impl<'a> RDERRIE_W<'a> {
37738            ///Sets the field bit
37739            #[inline(always)]
37740            pub fn set_bit(self) -> &'a mut W {
37741                self.bit(true)
37742            }
37743            ///Clears the field bit
37744            #[inline(always)]
37745            pub fn clear_bit(self) -> &'a mut W {
37746                self.bit(false)
37747            }
37748            ///Writes raw bits to the field
37749            #[inline(always)]
37750            pub fn bit(self, value: bool) -> &'a mut W {
37751                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
37752                self.w
37753            }
37754        }
37755        impl R {
37756            ///Bit 0 - Programming
37757            #[inline(always)]
37758            pub fn pg(&self) -> PG_R {
37759                PG_R::new((self.bits & 0x01) != 0)
37760            }
37761            ///Bit 1 - Page erase
37762            #[inline(always)]
37763            pub fn per(&self) -> PER_R {
37764                PER_R::new(((self.bits >> 1) & 0x01) != 0)
37765            }
37766            ///Bit 2 - Masse erase
37767            #[inline(always)]
37768            pub fn mer(&self) -> MER_R {
37769                MER_R::new(((self.bits >> 2) & 0x01) != 0)
37770            }
37771            ///Bits 3:10 - Page Number selection
37772            #[inline(always)]
37773            pub fn pnb(&self) -> PNB_R {
37774                PNB_R::new(((self.bits >> 3) & 0xff) as u8)
37775            }
37776            ///Bit 16 - Start
37777            #[inline(always)]
37778            pub fn strt(&self) -> STRT_R {
37779                STRT_R::new(((self.bits >> 16) & 0x01) != 0)
37780            }
37781            ///Bit 18 - Fast programming
37782            #[inline(always)]
37783            pub fn fstpg(&self) -> FSTPG_R {
37784                FSTPG_R::new(((self.bits >> 18) & 0x01) != 0)
37785            }
37786            ///Bit 24 - End of operation interrupt enable
37787            #[inline(always)]
37788            pub fn eopie(&self) -> EOPIE_R {
37789                EOPIE_R::new(((self.bits >> 24) & 0x01) != 0)
37790            }
37791            ///Bit 25 - Error interrupt enable
37792            #[inline(always)]
37793            pub fn errie(&self) -> ERRIE_R {
37794                ERRIE_R::new(((self.bits >> 25) & 0x01) != 0)
37795            }
37796            ///Bit 26 - PCROP read error interrupt enable
37797            #[inline(always)]
37798            pub fn rderrie(&self) -> RDERRIE_R {
37799                RDERRIE_R::new(((self.bits >> 26) & 0x01) != 0)
37800            }
37801        }
37802        impl W {
37803            ///Bit 0 - Programming
37804            #[inline(always)]
37805            pub fn pg(&mut self) -> PG_W {
37806                PG_W { w: self }
37807            }
37808            ///Bit 1 - Page erase
37809            #[inline(always)]
37810            pub fn per(&mut self) -> PER_W {
37811                PER_W { w: self }
37812            }
37813            ///Bit 2 - Masse erase
37814            #[inline(always)]
37815            pub fn mer(&mut self) -> MER_W {
37816                MER_W { w: self }
37817            }
37818            ///Bits 3:10 - Page Number selection
37819            #[inline(always)]
37820            pub fn pnb(&mut self) -> PNB_W {
37821                PNB_W { w: self }
37822            }
37823            ///Bit 16 - Start
37824            #[inline(always)]
37825            pub fn strt(&mut self) -> STRT_W {
37826                STRT_W { w: self }
37827            }
37828            ///Bit 18 - Fast programming
37829            #[inline(always)]
37830            pub fn fstpg(&mut self) -> FSTPG_W {
37831                FSTPG_W { w: self }
37832            }
37833            ///Bit 24 - End of operation interrupt enable
37834            #[inline(always)]
37835            pub fn eopie(&mut self) -> EOPIE_W {
37836                EOPIE_W { w: self }
37837            }
37838            ///Bit 25 - Error interrupt enable
37839            #[inline(always)]
37840            pub fn errie(&mut self) -> ERRIE_W {
37841                ERRIE_W { w: self }
37842            }
37843            ///Bit 26 - PCROP read error interrupt enable
37844            #[inline(always)]
37845            pub fn rderrie(&mut self) -> RDERRIE_W {
37846                RDERRIE_W { w: self }
37847            }
37848        }
37849    }
37850    ///Secure flash start address register
37851    ///
37852    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
37853    ///
37854    ///For information about available fields see [sfr](sfr) module
37855    pub type SFR = crate::Reg<u32, _SFR>;
37856    #[allow(missing_docs)]
37857    #[doc(hidden)]
37858    pub struct _SFR;
37859    ///`read()` method returns [sfr::R](sfr::R) reader structure
37860    impl crate::Readable for SFR {}
37861    ///`write(|w| ..)` method takes [sfr::W](sfr::W) writer structure
37862    impl crate::Writable for SFR {}
37863    ///Secure flash start address register
37864    pub mod sfr {
37865        ///Reader of register SFR
37866        pub type R = crate::R<u32, super::SFR>;
37867        ///Writer for register SFR
37868        pub type W = crate::W<u32, super::SFR>;
37869        ///Register SFR `reset()`'s with value 0xffff_ee00
37870        impl crate::ResetValue for super::SFR {
37871            type Type = u32;
37872            #[inline(always)]
37873            fn reset_value() -> Self::Type {
37874                0xffff_ee00
37875            }
37876        }
37877        ///Reader of field `SFSA`
37878        pub type SFSA_R = crate::R<u8, u8>;
37879        ///Write proxy for field `SFSA`
37880        pub struct SFSA_W<'a> {
37881            w: &'a mut W,
37882        }
37883        impl<'a> SFSA_W<'a> {
37884            ///Writes raw bits to the field
37885            #[inline(always)]
37886            pub unsafe fn bits(self, value: u8) -> &'a mut W {
37887                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
37888                self.w
37889            }
37890        }
37891        ///Reader of field `DDS`
37892        pub type DDS_R = crate::R<bool, bool>;
37893        ///Write proxy for field `DDS`
37894        pub struct DDS_W<'a> {
37895            w: &'a mut W,
37896        }
37897        impl<'a> DDS_W<'a> {
37898            ///Sets the field bit
37899            #[inline(always)]
37900            pub fn set_bit(self) -> &'a mut W {
37901                self.bit(true)
37902            }
37903            ///Clears the field bit
37904            #[inline(always)]
37905            pub fn clear_bit(self) -> &'a mut W {
37906                self.bit(false)
37907            }
37908            ///Writes raw bits to the field
37909            #[inline(always)]
37910            pub fn bit(self, value: bool) -> &'a mut W {
37911                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
37912                self.w
37913            }
37914        }
37915        ///Reader of field `FSD`
37916        pub type FSD_R = crate::R<bool, bool>;
37917        ///Write proxy for field `FSD`
37918        pub struct FSD_W<'a> {
37919            w: &'a mut W,
37920        }
37921        impl<'a> FSD_W<'a> {
37922            ///Sets the field bit
37923            #[inline(always)]
37924            pub fn set_bit(self) -> &'a mut W {
37925                self.bit(true)
37926            }
37927            ///Clears the field bit
37928            #[inline(always)]
37929            pub fn clear_bit(self) -> &'a mut W {
37930                self.bit(false)
37931            }
37932            ///Writes raw bits to the field
37933            #[inline(always)]
37934            pub fn bit(self, value: bool) -> &'a mut W {
37935                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
37936                self.w
37937            }
37938        }
37939        impl R {
37940            ///Bits 0:7 - Secure flash start address
37941            #[inline(always)]
37942            pub fn sfsa(&self) -> SFSA_R {
37943                SFSA_R::new((self.bits & 0xff) as u8)
37944            }
37945            ///Bit 12 - Disable Cortex M0 debug access
37946            #[inline(always)]
37947            pub fn dds(&self) -> DDS_R {
37948                DDS_R::new(((self.bits >> 12) & 0x01) != 0)
37949            }
37950            ///Bit 8 - Flash security disable
37951            #[inline(always)]
37952            pub fn fsd(&self) -> FSD_R {
37953                FSD_R::new(((self.bits >> 8) & 0x01) != 0)
37954            }
37955        }
37956        impl W {
37957            ///Bits 0:7 - Secure flash start address
37958            #[inline(always)]
37959            pub fn sfsa(&mut self) -> SFSA_W {
37960                SFSA_W { w: self }
37961            }
37962            ///Bit 12 - Disable Cortex M0 debug access
37963            #[inline(always)]
37964            pub fn dds(&mut self) -> DDS_W {
37965                DDS_W { w: self }
37966            }
37967            ///Bit 8 - Flash security disable
37968            #[inline(always)]
37969            pub fn fsd(&mut self) -> FSD_W {
37970                FSD_W { w: self }
37971            }
37972        }
37973    }
37974    ///Secure SRAM2 start address and cortex M0 reset vector register
37975    ///
37976    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
37977    ///
37978    ///For information about available fields see [srrvr](srrvr) module
37979    pub type SRRVR = crate::Reg<u32, _SRRVR>;
37980    #[allow(missing_docs)]
37981    #[doc(hidden)]
37982    pub struct _SRRVR;
37983    ///`read()` method returns [srrvr::R](srrvr::R) reader structure
37984    impl crate::Readable for SRRVR {}
37985    ///`write(|w| ..)` method takes [srrvr::W](srrvr::W) writer structure
37986    impl crate::Writable for SRRVR {}
37987    ///Secure SRAM2 start address and cortex M0 reset vector register
37988    pub mod srrvr {
37989        ///Reader of register SRRVR
37990        pub type R = crate::R<u32, super::SRRVR>;
37991        ///Writer for register SRRVR
37992        pub type W = crate::W<u32, super::SRRVR>;
37993        ///Register SRRVR `reset()`'s with value 0x0100_0000
37994        impl crate::ResetValue for super::SRRVR {
37995            type Type = u32;
37996            #[inline(always)]
37997            fn reset_value() -> Self::Type {
37998                0x0100_0000
37999            }
38000        }
38001        ///Reader of field `SBRV`
38002        pub type SBRV_R = crate::R<u32, u32>;
38003        ///Write proxy for field `SBRV`
38004        pub struct SBRV_W<'a> {
38005            w: &'a mut W,
38006        }
38007        impl<'a> SBRV_W<'a> {
38008            ///Writes raw bits to the field
38009            #[inline(always)]
38010            pub unsafe fn bits(self, value: u32) -> &'a mut W {
38011                self.w.bits = (self.w.bits & !0x0003_ffff) | ((value as u32) & 0x0003_ffff);
38012                self.w
38013            }
38014        }
38015        ///Reader of field `SBRSA`
38016        pub type SBRSA_R = crate::R<u8, u8>;
38017        ///Write proxy for field `SBRSA`
38018        pub struct SBRSA_W<'a> {
38019            w: &'a mut W,
38020        }
38021        impl<'a> SBRSA_W<'a> {
38022            ///Writes raw bits to the field
38023            #[inline(always)]
38024            pub unsafe fn bits(self, value: u8) -> &'a mut W {
38025                self.w.bits = (self.w.bits & !(0x1f << 18)) | (((value as u32) & 0x1f) << 18);
38026                self.w
38027            }
38028        }
38029        ///Reader of field `BRSD`
38030        pub type BRSD_R = crate::R<bool, bool>;
38031        ///Write proxy for field `BRSD`
38032        pub struct BRSD_W<'a> {
38033            w: &'a mut W,
38034        }
38035        impl<'a> BRSD_W<'a> {
38036            ///Sets the field bit
38037            #[inline(always)]
38038            pub fn set_bit(self) -> &'a mut W {
38039                self.bit(true)
38040            }
38041            ///Clears the field bit
38042            #[inline(always)]
38043            pub fn clear_bit(self) -> &'a mut W {
38044                self.bit(false)
38045            }
38046            ///Writes raw bits to the field
38047            #[inline(always)]
38048            pub fn bit(self, value: bool) -> &'a mut W {
38049                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
38050                self.w
38051            }
38052        }
38053        ///Reader of field `SNBRSA`
38054        pub type SNBRSA_R = crate::R<u8, u8>;
38055        ///Write proxy for field `SNBRSA`
38056        pub struct SNBRSA_W<'a> {
38057            w: &'a mut W,
38058        }
38059        impl<'a> SNBRSA_W<'a> {
38060            ///Writes raw bits to the field
38061            #[inline(always)]
38062            pub unsafe fn bits(self, value: u8) -> &'a mut W {
38063                self.w.bits = (self.w.bits & !(0x1f << 25)) | (((value as u32) & 0x1f) << 25);
38064                self.w
38065            }
38066        }
38067        ///Reader of field `C2OPT`
38068        pub type C2OPT_R = crate::R<bool, bool>;
38069        ///Write proxy for field `C2OPT`
38070        pub struct C2OPT_W<'a> {
38071            w: &'a mut W,
38072        }
38073        impl<'a> C2OPT_W<'a> {
38074            ///Sets the field bit
38075            #[inline(always)]
38076            pub fn set_bit(self) -> &'a mut W {
38077                self.bit(true)
38078            }
38079            ///Clears the field bit
38080            #[inline(always)]
38081            pub fn clear_bit(self) -> &'a mut W {
38082                self.bit(false)
38083            }
38084            ///Writes raw bits to the field
38085            #[inline(always)]
38086            pub fn bit(self, value: bool) -> &'a mut W {
38087                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
38088                self.w
38089            }
38090        }
38091        ///Reader of field `NBRSD`
38092        pub type NBRSD_R = crate::R<bool, bool>;
38093        ///Write proxy for field `NBRSD`
38094        pub struct NBRSD_W<'a> {
38095            w: &'a mut W,
38096        }
38097        impl<'a> NBRSD_W<'a> {
38098            ///Sets the field bit
38099            #[inline(always)]
38100            pub fn set_bit(self) -> &'a mut W {
38101                self.bit(true)
38102            }
38103            ///Clears the field bit
38104            #[inline(always)]
38105            pub fn clear_bit(self) -> &'a mut W {
38106                self.bit(false)
38107            }
38108            ///Writes raw bits to the field
38109            #[inline(always)]
38110            pub fn bit(self, value: bool) -> &'a mut W {
38111                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
38112                self.w
38113            }
38114        }
38115        impl R {
38116            ///Bits 0:17 - cortex M0 access control register
38117            #[inline(always)]
38118            pub fn sbrv(&self) -> SBRV_R {
38119                SBRV_R::new((self.bits & 0x0003_ffff) as u32)
38120            }
38121            ///Bits 18:22 - Secure backup SRAM2a start address
38122            #[inline(always)]
38123            pub fn sbrsa(&self) -> SBRSA_R {
38124                SBRSA_R::new(((self.bits >> 18) & 0x1f) as u8)
38125            }
38126            ///Bit 23 - backup SRAM2a security disable
38127            #[inline(always)]
38128            pub fn brsd(&self) -> BRSD_R {
38129                BRSD_R::new(((self.bits >> 23) & 0x01) != 0)
38130            }
38131            ///Bits 25:29 - Secure non backup SRAM2a start address
38132            #[inline(always)]
38133            pub fn snbrsa(&self) -> SNBRSA_R {
38134                SNBRSA_R::new(((self.bits >> 25) & 0x1f) as u8)
38135            }
38136            ///Bit 31 - CPU2 cortex M0 boot reset vector memory selection
38137            #[inline(always)]
38138            pub fn c2opt(&self) -> C2OPT_R {
38139                C2OPT_R::new(((self.bits >> 31) & 0x01) != 0)
38140            }
38141            ///Bit 30 - non-backup SRAM2b security disable
38142            #[inline(always)]
38143            pub fn nbrsd(&self) -> NBRSD_R {
38144                NBRSD_R::new(((self.bits >> 30) & 0x01) != 0)
38145            }
38146        }
38147        impl W {
38148            ///Bits 0:17 - cortex M0 access control register
38149            #[inline(always)]
38150            pub fn sbrv(&mut self) -> SBRV_W {
38151                SBRV_W { w: self }
38152            }
38153            ///Bits 18:22 - Secure backup SRAM2a start address
38154            #[inline(always)]
38155            pub fn sbrsa(&mut self) -> SBRSA_W {
38156                SBRSA_W { w: self }
38157            }
38158            ///Bit 23 - backup SRAM2a security disable
38159            #[inline(always)]
38160            pub fn brsd(&mut self) -> BRSD_W {
38161                BRSD_W { w: self }
38162            }
38163            ///Bits 25:29 - Secure non backup SRAM2a start address
38164            #[inline(always)]
38165            pub fn snbrsa(&mut self) -> SNBRSA_W {
38166                SNBRSA_W { w: self }
38167            }
38168            ///Bit 31 - CPU2 cortex M0 boot reset vector memory selection
38169            #[inline(always)]
38170            pub fn c2opt(&mut self) -> C2OPT_W {
38171                C2OPT_W { w: self }
38172            }
38173            ///Bit 30 - non-backup SRAM2b security disable
38174            #[inline(always)]
38175            pub fn nbrsd(&mut self) -> NBRSD_W {
38176                NBRSD_W { w: self }
38177            }
38178        }
38179    }
38180}
38181///QuadSPI interface
38182pub struct QUADSPI {
38183    _marker: PhantomData<*const ()>,
38184}
38185unsafe impl Send for QUADSPI {}
38186impl QUADSPI {
38187    ///Returns a pointer to the register block
38188    #[inline(always)]
38189    pub const fn ptr() -> *const quadspi::RegisterBlock {
38190        0xa000_1000 as *const _
38191    }
38192}
38193impl Deref for QUADSPI {
38194    type Target = quadspi::RegisterBlock;
38195    #[inline(always)]
38196    fn deref(&self) -> &Self::Target {
38197        unsafe { &*QUADSPI::ptr() }
38198    }
38199}
38200///QuadSPI interface
38201pub mod quadspi {
38202    ///Register block
38203    #[repr(C)]
38204    pub struct RegisterBlock {
38205        ///0x00 - control register
38206        pub cr: CR,
38207        ///0x04 - device configuration register
38208        pub dcr: DCR,
38209        ///0x08 - status register
38210        pub sr: SR,
38211        ///0x0c - flag clear register
38212        pub fcr: FCR,
38213        ///0x10 - data length register
38214        pub dlr: DLR,
38215        ///0x14 - communication configuration register
38216        pub ccr: CCR,
38217        ///0x18 - address register
38218        pub ar: AR,
38219        ///0x1c - ABR
38220        pub abr: ABR,
38221        ///0x20 - data register
38222        pub dr: DR,
38223        ///0x24 - polling status mask register
38224        pub psmkr: PSMKR,
38225        ///0x28 - polling status match register
38226        pub psmar: PSMAR,
38227        ///0x2c - polling interval register
38228        pub pir: PIR,
38229        ///0x30 - low-power timeout register
38230        pub lptr: LPTR,
38231    }
38232    ///control register
38233    ///
38234    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
38235    ///
38236    ///For information about available fields see [cr](cr) module
38237    pub type CR = crate::Reg<u32, _CR>;
38238    #[allow(missing_docs)]
38239    #[doc(hidden)]
38240    pub struct _CR;
38241    ///`read()` method returns [cr::R](cr::R) reader structure
38242    impl crate::Readable for CR {}
38243    ///`write(|w| ..)` method takes [cr::W](cr::W) writer structure
38244    impl crate::Writable for CR {}
38245    ///control register
38246    pub mod cr {
38247        ///Reader of register CR
38248        pub type R = crate::R<u32, super::CR>;
38249        ///Writer for register CR
38250        pub type W = crate::W<u32, super::CR>;
38251        ///Register CR `reset()`'s with value 0
38252        impl crate::ResetValue for super::CR {
38253            type Type = u32;
38254            #[inline(always)]
38255            fn reset_value() -> Self::Type {
38256                0
38257            }
38258        }
38259        ///Reader of field `PRESCALER`
38260        pub type PRESCALER_R = crate::R<u8, u8>;
38261        ///Write proxy for field `PRESCALER`
38262        pub struct PRESCALER_W<'a> {
38263            w: &'a mut W,
38264        }
38265        impl<'a> PRESCALER_W<'a> {
38266            ///Writes raw bits to the field
38267            #[inline(always)]
38268            pub unsafe fn bits(self, value: u8) -> &'a mut W {
38269                self.w.bits = (self.w.bits & !(0xff << 24)) | (((value as u32) & 0xff) << 24);
38270                self.w
38271            }
38272        }
38273        ///Reader of field `PMM`
38274        pub type PMM_R = crate::R<bool, bool>;
38275        ///Write proxy for field `PMM`
38276        pub struct PMM_W<'a> {
38277            w: &'a mut W,
38278        }
38279        impl<'a> PMM_W<'a> {
38280            ///Sets the field bit
38281            #[inline(always)]
38282            pub fn set_bit(self) -> &'a mut W {
38283                self.bit(true)
38284            }
38285            ///Clears the field bit
38286            #[inline(always)]
38287            pub fn clear_bit(self) -> &'a mut W {
38288                self.bit(false)
38289            }
38290            ///Writes raw bits to the field
38291            #[inline(always)]
38292            pub fn bit(self, value: bool) -> &'a mut W {
38293                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
38294                self.w
38295            }
38296        }
38297        ///Reader of field `APMS`
38298        pub type APMS_R = crate::R<bool, bool>;
38299        ///Write proxy for field `APMS`
38300        pub struct APMS_W<'a> {
38301            w: &'a mut W,
38302        }
38303        impl<'a> APMS_W<'a> {
38304            ///Sets the field bit
38305            #[inline(always)]
38306            pub fn set_bit(self) -> &'a mut W {
38307                self.bit(true)
38308            }
38309            ///Clears the field bit
38310            #[inline(always)]
38311            pub fn clear_bit(self) -> &'a mut W {
38312                self.bit(false)
38313            }
38314            ///Writes raw bits to the field
38315            #[inline(always)]
38316            pub fn bit(self, value: bool) -> &'a mut W {
38317                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
38318                self.w
38319            }
38320        }
38321        ///Reader of field `TOIE`
38322        pub type TOIE_R = crate::R<bool, bool>;
38323        ///Write proxy for field `TOIE`
38324        pub struct TOIE_W<'a> {
38325            w: &'a mut W,
38326        }
38327        impl<'a> TOIE_W<'a> {
38328            ///Sets the field bit
38329            #[inline(always)]
38330            pub fn set_bit(self) -> &'a mut W {
38331                self.bit(true)
38332            }
38333            ///Clears the field bit
38334            #[inline(always)]
38335            pub fn clear_bit(self) -> &'a mut W {
38336                self.bit(false)
38337            }
38338            ///Writes raw bits to the field
38339            #[inline(always)]
38340            pub fn bit(self, value: bool) -> &'a mut W {
38341                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
38342                self.w
38343            }
38344        }
38345        ///Reader of field `SMIE`
38346        pub type SMIE_R = crate::R<bool, bool>;
38347        ///Write proxy for field `SMIE`
38348        pub struct SMIE_W<'a> {
38349            w: &'a mut W,
38350        }
38351        impl<'a> SMIE_W<'a> {
38352            ///Sets the field bit
38353            #[inline(always)]
38354            pub fn set_bit(self) -> &'a mut W {
38355                self.bit(true)
38356            }
38357            ///Clears the field bit
38358            #[inline(always)]
38359            pub fn clear_bit(self) -> &'a mut W {
38360                self.bit(false)
38361            }
38362            ///Writes raw bits to the field
38363            #[inline(always)]
38364            pub fn bit(self, value: bool) -> &'a mut W {
38365                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
38366                self.w
38367            }
38368        }
38369        ///Reader of field `FTIE`
38370        pub type FTIE_R = crate::R<bool, bool>;
38371        ///Write proxy for field `FTIE`
38372        pub struct FTIE_W<'a> {
38373            w: &'a mut W,
38374        }
38375        impl<'a> FTIE_W<'a> {
38376            ///Sets the field bit
38377            #[inline(always)]
38378            pub fn set_bit(self) -> &'a mut W {
38379                self.bit(true)
38380            }
38381            ///Clears the field bit
38382            #[inline(always)]
38383            pub fn clear_bit(self) -> &'a mut W {
38384                self.bit(false)
38385            }
38386            ///Writes raw bits to the field
38387            #[inline(always)]
38388            pub fn bit(self, value: bool) -> &'a mut W {
38389                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
38390                self.w
38391            }
38392        }
38393        ///Reader of field `TCIE`
38394        pub type TCIE_R = crate::R<bool, bool>;
38395        ///Write proxy for field `TCIE`
38396        pub struct TCIE_W<'a> {
38397            w: &'a mut W,
38398        }
38399        impl<'a> TCIE_W<'a> {
38400            ///Sets the field bit
38401            #[inline(always)]
38402            pub fn set_bit(self) -> &'a mut W {
38403                self.bit(true)
38404            }
38405            ///Clears the field bit
38406            #[inline(always)]
38407            pub fn clear_bit(self) -> &'a mut W {
38408                self.bit(false)
38409            }
38410            ///Writes raw bits to the field
38411            #[inline(always)]
38412            pub fn bit(self, value: bool) -> &'a mut W {
38413                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
38414                self.w
38415            }
38416        }
38417        ///Reader of field `TEIE`
38418        pub type TEIE_R = crate::R<bool, bool>;
38419        ///Write proxy for field `TEIE`
38420        pub struct TEIE_W<'a> {
38421            w: &'a mut W,
38422        }
38423        impl<'a> TEIE_W<'a> {
38424            ///Sets the field bit
38425            #[inline(always)]
38426            pub fn set_bit(self) -> &'a mut W {
38427                self.bit(true)
38428            }
38429            ///Clears the field bit
38430            #[inline(always)]
38431            pub fn clear_bit(self) -> &'a mut W {
38432                self.bit(false)
38433            }
38434            ///Writes raw bits to the field
38435            #[inline(always)]
38436            pub fn bit(self, value: bool) -> &'a mut W {
38437                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
38438                self.w
38439            }
38440        }
38441        ///Reader of field `FTHRES`
38442        pub type FTHRES_R = crate::R<u8, u8>;
38443        ///Write proxy for field `FTHRES`
38444        pub struct FTHRES_W<'a> {
38445            w: &'a mut W,
38446        }
38447        impl<'a> FTHRES_W<'a> {
38448            ///Writes raw bits to the field
38449            #[inline(always)]
38450            pub unsafe fn bits(self, value: u8) -> &'a mut W {
38451                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
38452                self.w
38453            }
38454        }
38455        ///Reader of field `SSHIFT`
38456        pub type SSHIFT_R = crate::R<bool, bool>;
38457        ///Write proxy for field `SSHIFT`
38458        pub struct SSHIFT_W<'a> {
38459            w: &'a mut W,
38460        }
38461        impl<'a> SSHIFT_W<'a> {
38462            ///Sets the field bit
38463            #[inline(always)]
38464            pub fn set_bit(self) -> &'a mut W {
38465                self.bit(true)
38466            }
38467            ///Clears the field bit
38468            #[inline(always)]
38469            pub fn clear_bit(self) -> &'a mut W {
38470                self.bit(false)
38471            }
38472            ///Writes raw bits to the field
38473            #[inline(always)]
38474            pub fn bit(self, value: bool) -> &'a mut W {
38475                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
38476                self.w
38477            }
38478        }
38479        ///Reader of field `TCEN`
38480        pub type TCEN_R = crate::R<bool, bool>;
38481        ///Write proxy for field `TCEN`
38482        pub struct TCEN_W<'a> {
38483            w: &'a mut W,
38484        }
38485        impl<'a> TCEN_W<'a> {
38486            ///Sets the field bit
38487            #[inline(always)]
38488            pub fn set_bit(self) -> &'a mut W {
38489                self.bit(true)
38490            }
38491            ///Clears the field bit
38492            #[inline(always)]
38493            pub fn clear_bit(self) -> &'a mut W {
38494                self.bit(false)
38495            }
38496            ///Writes raw bits to the field
38497            #[inline(always)]
38498            pub fn bit(self, value: bool) -> &'a mut W {
38499                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
38500                self.w
38501            }
38502        }
38503        ///Reader of field `DMAEN`
38504        pub type DMAEN_R = crate::R<bool, bool>;
38505        ///Write proxy for field `DMAEN`
38506        pub struct DMAEN_W<'a> {
38507            w: &'a mut W,
38508        }
38509        impl<'a> DMAEN_W<'a> {
38510            ///Sets the field bit
38511            #[inline(always)]
38512            pub fn set_bit(self) -> &'a mut W {
38513                self.bit(true)
38514            }
38515            ///Clears the field bit
38516            #[inline(always)]
38517            pub fn clear_bit(self) -> &'a mut W {
38518                self.bit(false)
38519            }
38520            ///Writes raw bits to the field
38521            #[inline(always)]
38522            pub fn bit(self, value: bool) -> &'a mut W {
38523                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
38524                self.w
38525            }
38526        }
38527        ///Reader of field `ABORT`
38528        pub type ABORT_R = crate::R<bool, bool>;
38529        ///Write proxy for field `ABORT`
38530        pub struct ABORT_W<'a> {
38531            w: &'a mut W,
38532        }
38533        impl<'a> ABORT_W<'a> {
38534            ///Sets the field bit
38535            #[inline(always)]
38536            pub fn set_bit(self) -> &'a mut W {
38537                self.bit(true)
38538            }
38539            ///Clears the field bit
38540            #[inline(always)]
38541            pub fn clear_bit(self) -> &'a mut W {
38542                self.bit(false)
38543            }
38544            ///Writes raw bits to the field
38545            #[inline(always)]
38546            pub fn bit(self, value: bool) -> &'a mut W {
38547                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
38548                self.w
38549            }
38550        }
38551        ///Reader of field `EN`
38552        pub type EN_R = crate::R<bool, bool>;
38553        ///Write proxy for field `EN`
38554        pub struct EN_W<'a> {
38555            w: &'a mut W,
38556        }
38557        impl<'a> EN_W<'a> {
38558            ///Sets the field bit
38559            #[inline(always)]
38560            pub fn set_bit(self) -> &'a mut W {
38561                self.bit(true)
38562            }
38563            ///Clears the field bit
38564            #[inline(always)]
38565            pub fn clear_bit(self) -> &'a mut W {
38566                self.bit(false)
38567            }
38568            ///Writes raw bits to the field
38569            #[inline(always)]
38570            pub fn bit(self, value: bool) -> &'a mut W {
38571                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
38572                self.w
38573            }
38574        }
38575        impl R {
38576            ///Bits 24:31 - Clock prescaler
38577            #[inline(always)]
38578            pub fn prescaler(&self) -> PRESCALER_R {
38579                PRESCALER_R::new(((self.bits >> 24) & 0xff) as u8)
38580            }
38581            ///Bit 23 - Polling match mode
38582            #[inline(always)]
38583            pub fn pmm(&self) -> PMM_R {
38584                PMM_R::new(((self.bits >> 23) & 0x01) != 0)
38585            }
38586            ///Bit 22 - Automatic poll mode stop
38587            #[inline(always)]
38588            pub fn apms(&self) -> APMS_R {
38589                APMS_R::new(((self.bits >> 22) & 0x01) != 0)
38590            }
38591            ///Bit 20 - TimeOut interrupt enable
38592            #[inline(always)]
38593            pub fn toie(&self) -> TOIE_R {
38594                TOIE_R::new(((self.bits >> 20) & 0x01) != 0)
38595            }
38596            ///Bit 19 - Status match interrupt enable
38597            #[inline(always)]
38598            pub fn smie(&self) -> SMIE_R {
38599                SMIE_R::new(((self.bits >> 19) & 0x01) != 0)
38600            }
38601            ///Bit 18 - FIFO threshold interrupt enable
38602            #[inline(always)]
38603            pub fn ftie(&self) -> FTIE_R {
38604                FTIE_R::new(((self.bits >> 18) & 0x01) != 0)
38605            }
38606            ///Bit 17 - Transfer complete interrupt enable
38607            #[inline(always)]
38608            pub fn tcie(&self) -> TCIE_R {
38609                TCIE_R::new(((self.bits >> 17) & 0x01) != 0)
38610            }
38611            ///Bit 16 - Transfer error interrupt enable
38612            #[inline(always)]
38613            pub fn teie(&self) -> TEIE_R {
38614                TEIE_R::new(((self.bits >> 16) & 0x01) != 0)
38615            }
38616            ///Bits 8:11 - FIFO threshold level
38617            #[inline(always)]
38618            pub fn fthres(&self) -> FTHRES_R {
38619                FTHRES_R::new(((self.bits >> 8) & 0x0f) as u8)
38620            }
38621            ///Bit 4 - Sample shift
38622            #[inline(always)]
38623            pub fn sshift(&self) -> SSHIFT_R {
38624                SSHIFT_R::new(((self.bits >> 4) & 0x01) != 0)
38625            }
38626            ///Bit 3 - Timeout counter enable
38627            #[inline(always)]
38628            pub fn tcen(&self) -> TCEN_R {
38629                TCEN_R::new(((self.bits >> 3) & 0x01) != 0)
38630            }
38631            ///Bit 2 - DMA enable
38632            #[inline(always)]
38633            pub fn dmaen(&self) -> DMAEN_R {
38634                DMAEN_R::new(((self.bits >> 2) & 0x01) != 0)
38635            }
38636            ///Bit 1 - Abort request
38637            #[inline(always)]
38638            pub fn abort(&self) -> ABORT_R {
38639                ABORT_R::new(((self.bits >> 1) & 0x01) != 0)
38640            }
38641            ///Bit 0 - Enable
38642            #[inline(always)]
38643            pub fn en(&self) -> EN_R {
38644                EN_R::new((self.bits & 0x01) != 0)
38645            }
38646        }
38647        impl W {
38648            ///Bits 24:31 - Clock prescaler
38649            #[inline(always)]
38650            pub fn prescaler(&mut self) -> PRESCALER_W {
38651                PRESCALER_W { w: self }
38652            }
38653            ///Bit 23 - Polling match mode
38654            #[inline(always)]
38655            pub fn pmm(&mut self) -> PMM_W {
38656                PMM_W { w: self }
38657            }
38658            ///Bit 22 - Automatic poll mode stop
38659            #[inline(always)]
38660            pub fn apms(&mut self) -> APMS_W {
38661                APMS_W { w: self }
38662            }
38663            ///Bit 20 - TimeOut interrupt enable
38664            #[inline(always)]
38665            pub fn toie(&mut self) -> TOIE_W {
38666                TOIE_W { w: self }
38667            }
38668            ///Bit 19 - Status match interrupt enable
38669            #[inline(always)]
38670            pub fn smie(&mut self) -> SMIE_W {
38671                SMIE_W { w: self }
38672            }
38673            ///Bit 18 - FIFO threshold interrupt enable
38674            #[inline(always)]
38675            pub fn ftie(&mut self) -> FTIE_W {
38676                FTIE_W { w: self }
38677            }
38678            ///Bit 17 - Transfer complete interrupt enable
38679            #[inline(always)]
38680            pub fn tcie(&mut self) -> TCIE_W {
38681                TCIE_W { w: self }
38682            }
38683            ///Bit 16 - Transfer error interrupt enable
38684            #[inline(always)]
38685            pub fn teie(&mut self) -> TEIE_W {
38686                TEIE_W { w: self }
38687            }
38688            ///Bits 8:11 - FIFO threshold level
38689            #[inline(always)]
38690            pub fn fthres(&mut self) -> FTHRES_W {
38691                FTHRES_W { w: self }
38692            }
38693            ///Bit 4 - Sample shift
38694            #[inline(always)]
38695            pub fn sshift(&mut self) -> SSHIFT_W {
38696                SSHIFT_W { w: self }
38697            }
38698            ///Bit 3 - Timeout counter enable
38699            #[inline(always)]
38700            pub fn tcen(&mut self) -> TCEN_W {
38701                TCEN_W { w: self }
38702            }
38703            ///Bit 2 - DMA enable
38704            #[inline(always)]
38705            pub fn dmaen(&mut self) -> DMAEN_W {
38706                DMAEN_W { w: self }
38707            }
38708            ///Bit 1 - Abort request
38709            #[inline(always)]
38710            pub fn abort(&mut self) -> ABORT_W {
38711                ABORT_W { w: self }
38712            }
38713            ///Bit 0 - Enable
38714            #[inline(always)]
38715            pub fn en(&mut self) -> EN_W {
38716                EN_W { w: self }
38717            }
38718        }
38719    }
38720    ///device configuration register
38721    ///
38722    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
38723    ///
38724    ///For information about available fields see [dcr](dcr) module
38725    pub type DCR = crate::Reg<u32, _DCR>;
38726    #[allow(missing_docs)]
38727    #[doc(hidden)]
38728    pub struct _DCR;
38729    ///`read()` method returns [dcr::R](dcr::R) reader structure
38730    impl crate::Readable for DCR {}
38731    ///`write(|w| ..)` method takes [dcr::W](dcr::W) writer structure
38732    impl crate::Writable for DCR {}
38733    ///device configuration register
38734    pub mod dcr {
38735        ///Reader of register DCR
38736        pub type R = crate::R<u32, super::DCR>;
38737        ///Writer for register DCR
38738        pub type W = crate::W<u32, super::DCR>;
38739        ///Register DCR `reset()`'s with value 0
38740        impl crate::ResetValue for super::DCR {
38741            type Type = u32;
38742            #[inline(always)]
38743            fn reset_value() -> Self::Type {
38744                0
38745            }
38746        }
38747        ///Reader of field `FSIZE`
38748        pub type FSIZE_R = crate::R<u8, u8>;
38749        ///Write proxy for field `FSIZE`
38750        pub struct FSIZE_W<'a> {
38751            w: &'a mut W,
38752        }
38753        impl<'a> FSIZE_W<'a> {
38754            ///Writes raw bits to the field
38755            #[inline(always)]
38756            pub unsafe fn bits(self, value: u8) -> &'a mut W {
38757                self.w.bits = (self.w.bits & !(0x1f << 16)) | (((value as u32) & 0x1f) << 16);
38758                self.w
38759            }
38760        }
38761        ///Reader of field `CSHT`
38762        pub type CSHT_R = crate::R<u8, u8>;
38763        ///Write proxy for field `CSHT`
38764        pub struct CSHT_W<'a> {
38765            w: &'a mut W,
38766        }
38767        impl<'a> CSHT_W<'a> {
38768            ///Writes raw bits to the field
38769            #[inline(always)]
38770            pub unsafe fn bits(self, value: u8) -> &'a mut W {
38771                self.w.bits = (self.w.bits & !(0x07 << 8)) | (((value as u32) & 0x07) << 8);
38772                self.w
38773            }
38774        }
38775        ///Reader of field `CKMODE`
38776        pub type CKMODE_R = crate::R<bool, bool>;
38777        ///Write proxy for field `CKMODE`
38778        pub struct CKMODE_W<'a> {
38779            w: &'a mut W,
38780        }
38781        impl<'a> CKMODE_W<'a> {
38782            ///Sets the field bit
38783            #[inline(always)]
38784            pub fn set_bit(self) -> &'a mut W {
38785                self.bit(true)
38786            }
38787            ///Clears the field bit
38788            #[inline(always)]
38789            pub fn clear_bit(self) -> &'a mut W {
38790                self.bit(false)
38791            }
38792            ///Writes raw bits to the field
38793            #[inline(always)]
38794            pub fn bit(self, value: bool) -> &'a mut W {
38795                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
38796                self.w
38797            }
38798        }
38799        impl R {
38800            ///Bits 16:20 - FLASH memory size
38801            #[inline(always)]
38802            pub fn fsize(&self) -> FSIZE_R {
38803                FSIZE_R::new(((self.bits >> 16) & 0x1f) as u8)
38804            }
38805            ///Bits 8:10 - Chip select high time
38806            #[inline(always)]
38807            pub fn csht(&self) -> CSHT_R {
38808                CSHT_R::new(((self.bits >> 8) & 0x07) as u8)
38809            }
38810            ///Bit 0 - Mode 0 / mode 3
38811            #[inline(always)]
38812            pub fn ckmode(&self) -> CKMODE_R {
38813                CKMODE_R::new((self.bits & 0x01) != 0)
38814            }
38815        }
38816        impl W {
38817            ///Bits 16:20 - FLASH memory size
38818            #[inline(always)]
38819            pub fn fsize(&mut self) -> FSIZE_W {
38820                FSIZE_W { w: self }
38821            }
38822            ///Bits 8:10 - Chip select high time
38823            #[inline(always)]
38824            pub fn csht(&mut self) -> CSHT_W {
38825                CSHT_W { w: self }
38826            }
38827            ///Bit 0 - Mode 0 / mode 3
38828            #[inline(always)]
38829            pub fn ckmode(&mut self) -> CKMODE_W {
38830                CKMODE_W { w: self }
38831            }
38832        }
38833    }
38834    ///status register
38835    ///
38836    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
38837    ///
38838    ///For information about available fields see [sr](sr) module
38839    pub type SR = crate::Reg<u32, _SR>;
38840    #[allow(missing_docs)]
38841    #[doc(hidden)]
38842    pub struct _SR;
38843    ///`read()` method returns [sr::R](sr::R) reader structure
38844    impl crate::Readable for SR {}
38845    ///status register
38846    pub mod sr {
38847        ///Reader of register SR
38848        pub type R = crate::R<u32, super::SR>;
38849        ///Reader of field `FLEVEL`
38850        pub type FLEVEL_R = crate::R<u8, u8>;
38851        ///Reader of field `BUSY`
38852        pub type BUSY_R = crate::R<bool, bool>;
38853        ///Reader of field `TOF`
38854        pub type TOF_R = crate::R<bool, bool>;
38855        ///Reader of field `SMF`
38856        pub type SMF_R = crate::R<bool, bool>;
38857        ///Reader of field `FTF`
38858        pub type FTF_R = crate::R<bool, bool>;
38859        ///Reader of field `TCF`
38860        pub type TCF_R = crate::R<bool, bool>;
38861        ///Reader of field `TEF`
38862        pub type TEF_R = crate::R<bool, bool>;
38863        impl R {
38864            ///Bits 8:12 - FIFO level
38865            #[inline(always)]
38866            pub fn flevel(&self) -> FLEVEL_R {
38867                FLEVEL_R::new(((self.bits >> 8) & 0x1f) as u8)
38868            }
38869            ///Bit 5 - Busy
38870            #[inline(always)]
38871            pub fn busy(&self) -> BUSY_R {
38872                BUSY_R::new(((self.bits >> 5) & 0x01) != 0)
38873            }
38874            ///Bit 4 - Timeout flag
38875            #[inline(always)]
38876            pub fn tof(&self) -> TOF_R {
38877                TOF_R::new(((self.bits >> 4) & 0x01) != 0)
38878            }
38879            ///Bit 3 - Status match flag
38880            #[inline(always)]
38881            pub fn smf(&self) -> SMF_R {
38882                SMF_R::new(((self.bits >> 3) & 0x01) != 0)
38883            }
38884            ///Bit 2 - FIFO threshold flag
38885            #[inline(always)]
38886            pub fn ftf(&self) -> FTF_R {
38887                FTF_R::new(((self.bits >> 2) & 0x01) != 0)
38888            }
38889            ///Bit 1 - Transfer complete flag
38890            #[inline(always)]
38891            pub fn tcf(&self) -> TCF_R {
38892                TCF_R::new(((self.bits >> 1) & 0x01) != 0)
38893            }
38894            ///Bit 0 - Transfer error flag
38895            #[inline(always)]
38896            pub fn tef(&self) -> TEF_R {
38897                TEF_R::new((self.bits & 0x01) != 0)
38898            }
38899        }
38900    }
38901    ///flag clear register
38902    ///
38903    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
38904    ///
38905    ///For information about available fields see [fcr](fcr) module
38906    pub type FCR = crate::Reg<u32, _FCR>;
38907    #[allow(missing_docs)]
38908    #[doc(hidden)]
38909    pub struct _FCR;
38910    ///`read()` method returns [fcr::R](fcr::R) reader structure
38911    impl crate::Readable for FCR {}
38912    ///`write(|w| ..)` method takes [fcr::W](fcr::W) writer structure
38913    impl crate::Writable for FCR {}
38914    ///flag clear register
38915    pub mod fcr {
38916        ///Reader of register FCR
38917        pub type R = crate::R<u32, super::FCR>;
38918        ///Writer for register FCR
38919        pub type W = crate::W<u32, super::FCR>;
38920        ///Register FCR `reset()`'s with value 0
38921        impl crate::ResetValue for super::FCR {
38922            type Type = u32;
38923            #[inline(always)]
38924            fn reset_value() -> Self::Type {
38925                0
38926            }
38927        }
38928        ///Reader of field `CTOF`
38929        pub type CTOF_R = crate::R<bool, bool>;
38930        ///Write proxy for field `CTOF`
38931        pub struct CTOF_W<'a> {
38932            w: &'a mut W,
38933        }
38934        impl<'a> CTOF_W<'a> {
38935            ///Sets the field bit
38936            #[inline(always)]
38937            pub fn set_bit(self) -> &'a mut W {
38938                self.bit(true)
38939            }
38940            ///Clears the field bit
38941            #[inline(always)]
38942            pub fn clear_bit(self) -> &'a mut W {
38943                self.bit(false)
38944            }
38945            ///Writes raw bits to the field
38946            #[inline(always)]
38947            pub fn bit(self, value: bool) -> &'a mut W {
38948                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
38949                self.w
38950            }
38951        }
38952        ///Reader of field `CSMF`
38953        pub type CSMF_R = crate::R<bool, bool>;
38954        ///Write proxy for field `CSMF`
38955        pub struct CSMF_W<'a> {
38956            w: &'a mut W,
38957        }
38958        impl<'a> CSMF_W<'a> {
38959            ///Sets the field bit
38960            #[inline(always)]
38961            pub fn set_bit(self) -> &'a mut W {
38962                self.bit(true)
38963            }
38964            ///Clears the field bit
38965            #[inline(always)]
38966            pub fn clear_bit(self) -> &'a mut W {
38967                self.bit(false)
38968            }
38969            ///Writes raw bits to the field
38970            #[inline(always)]
38971            pub fn bit(self, value: bool) -> &'a mut W {
38972                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
38973                self.w
38974            }
38975        }
38976        ///Reader of field `CTCF`
38977        pub type CTCF_R = crate::R<bool, bool>;
38978        ///Write proxy for field `CTCF`
38979        pub struct CTCF_W<'a> {
38980            w: &'a mut W,
38981        }
38982        impl<'a> CTCF_W<'a> {
38983            ///Sets the field bit
38984            #[inline(always)]
38985            pub fn set_bit(self) -> &'a mut W {
38986                self.bit(true)
38987            }
38988            ///Clears the field bit
38989            #[inline(always)]
38990            pub fn clear_bit(self) -> &'a mut W {
38991                self.bit(false)
38992            }
38993            ///Writes raw bits to the field
38994            #[inline(always)]
38995            pub fn bit(self, value: bool) -> &'a mut W {
38996                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
38997                self.w
38998            }
38999        }
39000        ///Reader of field `CTEF`
39001        pub type CTEF_R = crate::R<bool, bool>;
39002        ///Write proxy for field `CTEF`
39003        pub struct CTEF_W<'a> {
39004            w: &'a mut W,
39005        }
39006        impl<'a> CTEF_W<'a> {
39007            ///Sets the field bit
39008            #[inline(always)]
39009            pub fn set_bit(self) -> &'a mut W {
39010                self.bit(true)
39011            }
39012            ///Clears the field bit
39013            #[inline(always)]
39014            pub fn clear_bit(self) -> &'a mut W {
39015                self.bit(false)
39016            }
39017            ///Writes raw bits to the field
39018            #[inline(always)]
39019            pub fn bit(self, value: bool) -> &'a mut W {
39020                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
39021                self.w
39022            }
39023        }
39024        impl R {
39025            ///Bit 4 - Clear timeout flag
39026            #[inline(always)]
39027            pub fn ctof(&self) -> CTOF_R {
39028                CTOF_R::new(((self.bits >> 4) & 0x01) != 0)
39029            }
39030            ///Bit 3 - Clear status match flag
39031            #[inline(always)]
39032            pub fn csmf(&self) -> CSMF_R {
39033                CSMF_R::new(((self.bits >> 3) & 0x01) != 0)
39034            }
39035            ///Bit 1 - Clear transfer complete flag
39036            #[inline(always)]
39037            pub fn ctcf(&self) -> CTCF_R {
39038                CTCF_R::new(((self.bits >> 1) & 0x01) != 0)
39039            }
39040            ///Bit 0 - Clear transfer error flag
39041            #[inline(always)]
39042            pub fn ctef(&self) -> CTEF_R {
39043                CTEF_R::new((self.bits & 0x01) != 0)
39044            }
39045        }
39046        impl W {
39047            ///Bit 4 - Clear timeout flag
39048            #[inline(always)]
39049            pub fn ctof(&mut self) -> CTOF_W {
39050                CTOF_W { w: self }
39051            }
39052            ///Bit 3 - Clear status match flag
39053            #[inline(always)]
39054            pub fn csmf(&mut self) -> CSMF_W {
39055                CSMF_W { w: self }
39056            }
39057            ///Bit 1 - Clear transfer complete flag
39058            #[inline(always)]
39059            pub fn ctcf(&mut self) -> CTCF_W {
39060                CTCF_W { w: self }
39061            }
39062            ///Bit 0 - Clear transfer error flag
39063            #[inline(always)]
39064            pub fn ctef(&mut self) -> CTEF_W {
39065                CTEF_W { w: self }
39066            }
39067        }
39068    }
39069    ///data length register
39070    ///
39071    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
39072    ///
39073    ///For information about available fields see [dlr](dlr) module
39074    pub type DLR = crate::Reg<u32, _DLR>;
39075    #[allow(missing_docs)]
39076    #[doc(hidden)]
39077    pub struct _DLR;
39078    ///`read()` method returns [dlr::R](dlr::R) reader structure
39079    impl crate::Readable for DLR {}
39080    ///`write(|w| ..)` method takes [dlr::W](dlr::W) writer structure
39081    impl crate::Writable for DLR {}
39082    ///data length register
39083    pub mod dlr {
39084        ///Reader of register DLR
39085        pub type R = crate::R<u32, super::DLR>;
39086        ///Writer for register DLR
39087        pub type W = crate::W<u32, super::DLR>;
39088        ///Register DLR `reset()`'s with value 0
39089        impl crate::ResetValue for super::DLR {
39090            type Type = u32;
39091            #[inline(always)]
39092            fn reset_value() -> Self::Type {
39093                0
39094            }
39095        }
39096        ///Reader of field `DL`
39097        pub type DL_R = crate::R<u32, u32>;
39098        ///Write proxy for field `DL`
39099        pub struct DL_W<'a> {
39100            w: &'a mut W,
39101        }
39102        impl<'a> DL_W<'a> {
39103            ///Writes raw bits to the field
39104            #[inline(always)]
39105            pub unsafe fn bits(self, value: u32) -> &'a mut W {
39106                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
39107                self.w
39108            }
39109        }
39110        impl R {
39111            ///Bits 0:31 - Data length
39112            #[inline(always)]
39113            pub fn dl(&self) -> DL_R {
39114                DL_R::new((self.bits & 0xffff_ffff) as u32)
39115            }
39116        }
39117        impl W {
39118            ///Bits 0:31 - Data length
39119            #[inline(always)]
39120            pub fn dl(&mut self) -> DL_W {
39121                DL_W { w: self }
39122            }
39123        }
39124    }
39125    ///communication configuration register
39126    ///
39127    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
39128    ///
39129    ///For information about available fields see [ccr](ccr) module
39130    pub type CCR = crate::Reg<u32, _CCR>;
39131    #[allow(missing_docs)]
39132    #[doc(hidden)]
39133    pub struct _CCR;
39134    ///`read()` method returns [ccr::R](ccr::R) reader structure
39135    impl crate::Readable for CCR {}
39136    ///`write(|w| ..)` method takes [ccr::W](ccr::W) writer structure
39137    impl crate::Writable for CCR {}
39138    ///communication configuration register
39139    pub mod ccr {
39140        ///Reader of register CCR
39141        pub type R = crate::R<u32, super::CCR>;
39142        ///Writer for register CCR
39143        pub type W = crate::W<u32, super::CCR>;
39144        ///Register CCR `reset()`'s with value 0
39145        impl crate::ResetValue for super::CCR {
39146            type Type = u32;
39147            #[inline(always)]
39148            fn reset_value() -> Self::Type {
39149                0
39150            }
39151        }
39152        ///Reader of field `DDRM`
39153        pub type DDRM_R = crate::R<bool, bool>;
39154        ///Write proxy for field `DDRM`
39155        pub struct DDRM_W<'a> {
39156            w: &'a mut W,
39157        }
39158        impl<'a> DDRM_W<'a> {
39159            ///Sets the field bit
39160            #[inline(always)]
39161            pub fn set_bit(self) -> &'a mut W {
39162                self.bit(true)
39163            }
39164            ///Clears the field bit
39165            #[inline(always)]
39166            pub fn clear_bit(self) -> &'a mut W {
39167                self.bit(false)
39168            }
39169            ///Writes raw bits to the field
39170            #[inline(always)]
39171            pub fn bit(self, value: bool) -> &'a mut W {
39172                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
39173                self.w
39174            }
39175        }
39176        ///Reader of field `SIOO`
39177        pub type SIOO_R = crate::R<bool, bool>;
39178        ///Write proxy for field `SIOO`
39179        pub struct SIOO_W<'a> {
39180            w: &'a mut W,
39181        }
39182        impl<'a> SIOO_W<'a> {
39183            ///Sets the field bit
39184            #[inline(always)]
39185            pub fn set_bit(self) -> &'a mut W {
39186                self.bit(true)
39187            }
39188            ///Clears the field bit
39189            #[inline(always)]
39190            pub fn clear_bit(self) -> &'a mut W {
39191                self.bit(false)
39192            }
39193            ///Writes raw bits to the field
39194            #[inline(always)]
39195            pub fn bit(self, value: bool) -> &'a mut W {
39196                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
39197                self.w
39198            }
39199        }
39200        ///Reader of field `FMODE`
39201        pub type FMODE_R = crate::R<u8, u8>;
39202        ///Write proxy for field `FMODE`
39203        pub struct FMODE_W<'a> {
39204            w: &'a mut W,
39205        }
39206        impl<'a> FMODE_W<'a> {
39207            ///Writes raw bits to the field
39208            #[inline(always)]
39209            pub unsafe fn bits(self, value: u8) -> &'a mut W {
39210                self.w.bits = (self.w.bits & !(0x03 << 26)) | (((value as u32) & 0x03) << 26);
39211                self.w
39212            }
39213        }
39214        ///Reader of field `DMODE`
39215        pub type DMODE_R = crate::R<u8, u8>;
39216        ///Write proxy for field `DMODE`
39217        pub struct DMODE_W<'a> {
39218            w: &'a mut W,
39219        }
39220        impl<'a> DMODE_W<'a> {
39221            ///Writes raw bits to the field
39222            #[inline(always)]
39223            pub unsafe fn bits(self, value: u8) -> &'a mut W {
39224                self.w.bits = (self.w.bits & !(0x03 << 24)) | (((value as u32) & 0x03) << 24);
39225                self.w
39226            }
39227        }
39228        ///Reader of field `DCYC`
39229        pub type DCYC_R = crate::R<u8, u8>;
39230        ///Write proxy for field `DCYC`
39231        pub struct DCYC_W<'a> {
39232            w: &'a mut W,
39233        }
39234        impl<'a> DCYC_W<'a> {
39235            ///Writes raw bits to the field
39236            #[inline(always)]
39237            pub unsafe fn bits(self, value: u8) -> &'a mut W {
39238                self.w.bits = (self.w.bits & !(0x1f << 18)) | (((value as u32) & 0x1f) << 18);
39239                self.w
39240            }
39241        }
39242        ///Reader of field `ABSIZE`
39243        pub type ABSIZE_R = crate::R<u8, u8>;
39244        ///Write proxy for field `ABSIZE`
39245        pub struct ABSIZE_W<'a> {
39246            w: &'a mut W,
39247        }
39248        impl<'a> ABSIZE_W<'a> {
39249            ///Writes raw bits to the field
39250            #[inline(always)]
39251            pub unsafe fn bits(self, value: u8) -> &'a mut W {
39252                self.w.bits = (self.w.bits & !(0x03 << 16)) | (((value as u32) & 0x03) << 16);
39253                self.w
39254            }
39255        }
39256        ///Reader of field `ABMODE`
39257        pub type ABMODE_R = crate::R<u8, u8>;
39258        ///Write proxy for field `ABMODE`
39259        pub struct ABMODE_W<'a> {
39260            w: &'a mut W,
39261        }
39262        impl<'a> ABMODE_W<'a> {
39263            ///Writes raw bits to the field
39264            #[inline(always)]
39265            pub unsafe fn bits(self, value: u8) -> &'a mut W {
39266                self.w.bits = (self.w.bits & !(0x03 << 14)) | (((value as u32) & 0x03) << 14);
39267                self.w
39268            }
39269        }
39270        ///Reader of field `ADSIZE`
39271        pub type ADSIZE_R = crate::R<u8, u8>;
39272        ///Write proxy for field `ADSIZE`
39273        pub struct ADSIZE_W<'a> {
39274            w: &'a mut W,
39275        }
39276        impl<'a> ADSIZE_W<'a> {
39277            ///Writes raw bits to the field
39278            #[inline(always)]
39279            pub unsafe fn bits(self, value: u8) -> &'a mut W {
39280                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
39281                self.w
39282            }
39283        }
39284        ///Reader of field `ADMODE`
39285        pub type ADMODE_R = crate::R<u8, u8>;
39286        ///Write proxy for field `ADMODE`
39287        pub struct ADMODE_W<'a> {
39288            w: &'a mut W,
39289        }
39290        impl<'a> ADMODE_W<'a> {
39291            ///Writes raw bits to the field
39292            #[inline(always)]
39293            pub unsafe fn bits(self, value: u8) -> &'a mut W {
39294                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
39295                self.w
39296            }
39297        }
39298        ///Reader of field `IMODE`
39299        pub type IMODE_R = crate::R<u8, u8>;
39300        ///Write proxy for field `IMODE`
39301        pub struct IMODE_W<'a> {
39302            w: &'a mut W,
39303        }
39304        impl<'a> IMODE_W<'a> {
39305            ///Writes raw bits to the field
39306            #[inline(always)]
39307            pub unsafe fn bits(self, value: u8) -> &'a mut W {
39308                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
39309                self.w
39310            }
39311        }
39312        ///Reader of field `INSTRUCTION`
39313        pub type INSTRUCTION_R = crate::R<u8, u8>;
39314        ///Write proxy for field `INSTRUCTION`
39315        pub struct INSTRUCTION_W<'a> {
39316            w: &'a mut W,
39317        }
39318        impl<'a> INSTRUCTION_W<'a> {
39319            ///Writes raw bits to the field
39320            #[inline(always)]
39321            pub unsafe fn bits(self, value: u8) -> &'a mut W {
39322                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
39323                self.w
39324            }
39325        }
39326        impl R {
39327            ///Bit 31 - Double data rate mode
39328            #[inline(always)]
39329            pub fn ddrm(&self) -> DDRM_R {
39330                DDRM_R::new(((self.bits >> 31) & 0x01) != 0)
39331            }
39332            ///Bit 28 - Send instruction only once mode
39333            #[inline(always)]
39334            pub fn sioo(&self) -> SIOO_R {
39335                SIOO_R::new(((self.bits >> 28) & 0x01) != 0)
39336            }
39337            ///Bits 26:27 - Functional mode
39338            #[inline(always)]
39339            pub fn fmode(&self) -> FMODE_R {
39340                FMODE_R::new(((self.bits >> 26) & 0x03) as u8)
39341            }
39342            ///Bits 24:25 - Data mode
39343            #[inline(always)]
39344            pub fn dmode(&self) -> DMODE_R {
39345                DMODE_R::new(((self.bits >> 24) & 0x03) as u8)
39346            }
39347            ///Bits 18:22 - Number of dummy cycles
39348            #[inline(always)]
39349            pub fn dcyc(&self) -> DCYC_R {
39350                DCYC_R::new(((self.bits >> 18) & 0x1f) as u8)
39351            }
39352            ///Bits 16:17 - Alternate bytes size
39353            #[inline(always)]
39354            pub fn absize(&self) -> ABSIZE_R {
39355                ABSIZE_R::new(((self.bits >> 16) & 0x03) as u8)
39356            }
39357            ///Bits 14:15 - Alternate bytes mode
39358            #[inline(always)]
39359            pub fn abmode(&self) -> ABMODE_R {
39360                ABMODE_R::new(((self.bits >> 14) & 0x03) as u8)
39361            }
39362            ///Bits 12:13 - Address size
39363            #[inline(always)]
39364            pub fn adsize(&self) -> ADSIZE_R {
39365                ADSIZE_R::new(((self.bits >> 12) & 0x03) as u8)
39366            }
39367            ///Bits 10:11 - Address mode
39368            #[inline(always)]
39369            pub fn admode(&self) -> ADMODE_R {
39370                ADMODE_R::new(((self.bits >> 10) & 0x03) as u8)
39371            }
39372            ///Bits 8:9 - Instruction mode
39373            #[inline(always)]
39374            pub fn imode(&self) -> IMODE_R {
39375                IMODE_R::new(((self.bits >> 8) & 0x03) as u8)
39376            }
39377            ///Bits 0:7 - Instruction
39378            #[inline(always)]
39379            pub fn instruction(&self) -> INSTRUCTION_R {
39380                INSTRUCTION_R::new((self.bits & 0xff) as u8)
39381            }
39382        }
39383        impl W {
39384            ///Bit 31 - Double data rate mode
39385            #[inline(always)]
39386            pub fn ddrm(&mut self) -> DDRM_W {
39387                DDRM_W { w: self }
39388            }
39389            ///Bit 28 - Send instruction only once mode
39390            #[inline(always)]
39391            pub fn sioo(&mut self) -> SIOO_W {
39392                SIOO_W { w: self }
39393            }
39394            ///Bits 26:27 - Functional mode
39395            #[inline(always)]
39396            pub fn fmode(&mut self) -> FMODE_W {
39397                FMODE_W { w: self }
39398            }
39399            ///Bits 24:25 - Data mode
39400            #[inline(always)]
39401            pub fn dmode(&mut self) -> DMODE_W {
39402                DMODE_W { w: self }
39403            }
39404            ///Bits 18:22 - Number of dummy cycles
39405            #[inline(always)]
39406            pub fn dcyc(&mut self) -> DCYC_W {
39407                DCYC_W { w: self }
39408            }
39409            ///Bits 16:17 - Alternate bytes size
39410            #[inline(always)]
39411            pub fn absize(&mut self) -> ABSIZE_W {
39412                ABSIZE_W { w: self }
39413            }
39414            ///Bits 14:15 - Alternate bytes mode
39415            #[inline(always)]
39416            pub fn abmode(&mut self) -> ABMODE_W {
39417                ABMODE_W { w: self }
39418            }
39419            ///Bits 12:13 - Address size
39420            #[inline(always)]
39421            pub fn adsize(&mut self) -> ADSIZE_W {
39422                ADSIZE_W { w: self }
39423            }
39424            ///Bits 10:11 - Address mode
39425            #[inline(always)]
39426            pub fn admode(&mut self) -> ADMODE_W {
39427                ADMODE_W { w: self }
39428            }
39429            ///Bits 8:9 - Instruction mode
39430            #[inline(always)]
39431            pub fn imode(&mut self) -> IMODE_W {
39432                IMODE_W { w: self }
39433            }
39434            ///Bits 0:7 - Instruction
39435            #[inline(always)]
39436            pub fn instruction(&mut self) -> INSTRUCTION_W {
39437                INSTRUCTION_W { w: self }
39438            }
39439        }
39440    }
39441    ///address register
39442    ///
39443    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
39444    ///
39445    ///For information about available fields see [ar](ar) module
39446    pub type AR = crate::Reg<u32, _AR>;
39447    #[allow(missing_docs)]
39448    #[doc(hidden)]
39449    pub struct _AR;
39450    ///`read()` method returns [ar::R](ar::R) reader structure
39451    impl crate::Readable for AR {}
39452    ///`write(|w| ..)` method takes [ar::W](ar::W) writer structure
39453    impl crate::Writable for AR {}
39454    ///address register
39455    pub mod ar {
39456        ///Reader of register AR
39457        pub type R = crate::R<u32, super::AR>;
39458        ///Writer for register AR
39459        pub type W = crate::W<u32, super::AR>;
39460        ///Register AR `reset()`'s with value 0
39461        impl crate::ResetValue for super::AR {
39462            type Type = u32;
39463            #[inline(always)]
39464            fn reset_value() -> Self::Type {
39465                0
39466            }
39467        }
39468        ///Reader of field `ADDRESS`
39469        pub type ADDRESS_R = crate::R<u32, u32>;
39470        ///Write proxy for field `ADDRESS`
39471        pub struct ADDRESS_W<'a> {
39472            w: &'a mut W,
39473        }
39474        impl<'a> ADDRESS_W<'a> {
39475            ///Writes raw bits to the field
39476            #[inline(always)]
39477            pub unsafe fn bits(self, value: u32) -> &'a mut W {
39478                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
39479                self.w
39480            }
39481        }
39482        impl R {
39483            ///Bits 0:31 - Address
39484            #[inline(always)]
39485            pub fn address(&self) -> ADDRESS_R {
39486                ADDRESS_R::new((self.bits & 0xffff_ffff) as u32)
39487            }
39488        }
39489        impl W {
39490            ///Bits 0:31 - Address
39491            #[inline(always)]
39492            pub fn address(&mut self) -> ADDRESS_W {
39493                ADDRESS_W { w: self }
39494            }
39495        }
39496    }
39497    ///ABR
39498    ///
39499    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
39500    ///
39501    ///For information about available fields see [abr](abr) module
39502    pub type ABR = crate::Reg<u32, _ABR>;
39503    #[allow(missing_docs)]
39504    #[doc(hidden)]
39505    pub struct _ABR;
39506    ///`read()` method returns [abr::R](abr::R) reader structure
39507    impl crate::Readable for ABR {}
39508    ///`write(|w| ..)` method takes [abr::W](abr::W) writer structure
39509    impl crate::Writable for ABR {}
39510    ///ABR
39511    pub mod abr {
39512        ///Reader of register ABR
39513        pub type R = crate::R<u32, super::ABR>;
39514        ///Writer for register ABR
39515        pub type W = crate::W<u32, super::ABR>;
39516        ///Register ABR `reset()`'s with value 0
39517        impl crate::ResetValue for super::ABR {
39518            type Type = u32;
39519            #[inline(always)]
39520            fn reset_value() -> Self::Type {
39521                0
39522            }
39523        }
39524        ///Reader of field `ALTERNATE`
39525        pub type ALTERNATE_R = crate::R<u32, u32>;
39526        ///Write proxy for field `ALTERNATE`
39527        pub struct ALTERNATE_W<'a> {
39528            w: &'a mut W,
39529        }
39530        impl<'a> ALTERNATE_W<'a> {
39531            ///Writes raw bits to the field
39532            #[inline(always)]
39533            pub unsafe fn bits(self, value: u32) -> &'a mut W {
39534                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
39535                self.w
39536            }
39537        }
39538        impl R {
39539            ///Bits 0:31 - ALTERNATE
39540            #[inline(always)]
39541            pub fn alternate(&self) -> ALTERNATE_R {
39542                ALTERNATE_R::new((self.bits & 0xffff_ffff) as u32)
39543            }
39544        }
39545        impl W {
39546            ///Bits 0:31 - ALTERNATE
39547            #[inline(always)]
39548            pub fn alternate(&mut self) -> ALTERNATE_W {
39549                ALTERNATE_W { w: self }
39550            }
39551        }
39552    }
39553    ///data register
39554    ///
39555    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
39556    ///
39557    ///For information about available fields see [dr](dr) module
39558    pub type DR = crate::Reg<u32, _DR>;
39559    #[allow(missing_docs)]
39560    #[doc(hidden)]
39561    pub struct _DR;
39562    ///`read()` method returns [dr::R](dr::R) reader structure
39563    impl crate::Readable for DR {}
39564    ///`write(|w| ..)` method takes [dr::W](dr::W) writer structure
39565    impl crate::Writable for DR {}
39566    ///data register
39567    pub mod dr {
39568        ///Reader of register DR
39569        pub type R = crate::R<u32, super::DR>;
39570        ///Writer for register DR
39571        pub type W = crate::W<u32, super::DR>;
39572        ///Register DR `reset()`'s with value 0
39573        impl crate::ResetValue for super::DR {
39574            type Type = u32;
39575            #[inline(always)]
39576            fn reset_value() -> Self::Type {
39577                0
39578            }
39579        }
39580        ///Reader of field `DATA`
39581        pub type DATA_R = crate::R<u32, u32>;
39582        ///Write proxy for field `DATA`
39583        pub struct DATA_W<'a> {
39584            w: &'a mut W,
39585        }
39586        impl<'a> DATA_W<'a> {
39587            ///Writes raw bits to the field
39588            #[inline(always)]
39589            pub unsafe fn bits(self, value: u32) -> &'a mut W {
39590                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
39591                self.w
39592            }
39593        }
39594        impl R {
39595            ///Bits 0:31 - Data
39596            #[inline(always)]
39597            pub fn data(&self) -> DATA_R {
39598                DATA_R::new((self.bits & 0xffff_ffff) as u32)
39599            }
39600        }
39601        impl W {
39602            ///Bits 0:31 - Data
39603            #[inline(always)]
39604            pub fn data(&mut self) -> DATA_W {
39605                DATA_W { w: self }
39606            }
39607        }
39608    }
39609    ///polling status mask register
39610    ///
39611    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
39612    ///
39613    ///For information about available fields see [psmkr](psmkr) module
39614    pub type PSMKR = crate::Reg<u32, _PSMKR>;
39615    #[allow(missing_docs)]
39616    #[doc(hidden)]
39617    pub struct _PSMKR;
39618    ///`read()` method returns [psmkr::R](psmkr::R) reader structure
39619    impl crate::Readable for PSMKR {}
39620    ///`write(|w| ..)` method takes [psmkr::W](psmkr::W) writer structure
39621    impl crate::Writable for PSMKR {}
39622    ///polling status mask register
39623    pub mod psmkr {
39624        ///Reader of register PSMKR
39625        pub type R = crate::R<u32, super::PSMKR>;
39626        ///Writer for register PSMKR
39627        pub type W = crate::W<u32, super::PSMKR>;
39628        ///Register PSMKR `reset()`'s with value 0
39629        impl crate::ResetValue for super::PSMKR {
39630            type Type = u32;
39631            #[inline(always)]
39632            fn reset_value() -> Self::Type {
39633                0
39634            }
39635        }
39636        ///Reader of field `MASK`
39637        pub type MASK_R = crate::R<u32, u32>;
39638        ///Write proxy for field `MASK`
39639        pub struct MASK_W<'a> {
39640            w: &'a mut W,
39641        }
39642        impl<'a> MASK_W<'a> {
39643            ///Writes raw bits to the field
39644            #[inline(always)]
39645            pub unsafe fn bits(self, value: u32) -> &'a mut W {
39646                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
39647                self.w
39648            }
39649        }
39650        impl R {
39651            ///Bits 0:31 - Status mask
39652            #[inline(always)]
39653            pub fn mask(&self) -> MASK_R {
39654                MASK_R::new((self.bits & 0xffff_ffff) as u32)
39655            }
39656        }
39657        impl W {
39658            ///Bits 0:31 - Status mask
39659            #[inline(always)]
39660            pub fn mask(&mut self) -> MASK_W {
39661                MASK_W { w: self }
39662            }
39663        }
39664    }
39665    ///polling status match register
39666    ///
39667    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
39668    ///
39669    ///For information about available fields see [psmar](psmar) module
39670    pub type PSMAR = crate::Reg<u32, _PSMAR>;
39671    #[allow(missing_docs)]
39672    #[doc(hidden)]
39673    pub struct _PSMAR;
39674    ///`read()` method returns [psmar::R](psmar::R) reader structure
39675    impl crate::Readable for PSMAR {}
39676    ///`write(|w| ..)` method takes [psmar::W](psmar::W) writer structure
39677    impl crate::Writable for PSMAR {}
39678    ///polling status match register
39679    pub mod psmar {
39680        ///Reader of register PSMAR
39681        pub type R = crate::R<u32, super::PSMAR>;
39682        ///Writer for register PSMAR
39683        pub type W = crate::W<u32, super::PSMAR>;
39684        ///Register PSMAR `reset()`'s with value 0
39685        impl crate::ResetValue for super::PSMAR {
39686            type Type = u32;
39687            #[inline(always)]
39688            fn reset_value() -> Self::Type {
39689                0
39690            }
39691        }
39692        ///Reader of field `MATCH`
39693        pub type MATCH_R = crate::R<u32, u32>;
39694        ///Write proxy for field `MATCH`
39695        pub struct MATCH_W<'a> {
39696            w: &'a mut W,
39697        }
39698        impl<'a> MATCH_W<'a> {
39699            ///Writes raw bits to the field
39700            #[inline(always)]
39701            pub unsafe fn bits(self, value: u32) -> &'a mut W {
39702                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
39703                self.w
39704            }
39705        }
39706        impl R {
39707            ///Bits 0:31 - Status match
39708            #[inline(always)]
39709            pub fn match_(&self) -> MATCH_R {
39710                MATCH_R::new((self.bits & 0xffff_ffff) as u32)
39711            }
39712        }
39713        impl W {
39714            ///Bits 0:31 - Status match
39715            #[inline(always)]
39716            pub fn match_(&mut self) -> MATCH_W {
39717                MATCH_W { w: self }
39718            }
39719        }
39720    }
39721    ///polling interval register
39722    ///
39723    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
39724    ///
39725    ///For information about available fields see [pir](pir) module
39726    pub type PIR = crate::Reg<u32, _PIR>;
39727    #[allow(missing_docs)]
39728    #[doc(hidden)]
39729    pub struct _PIR;
39730    ///`read()` method returns [pir::R](pir::R) reader structure
39731    impl crate::Readable for PIR {}
39732    ///`write(|w| ..)` method takes [pir::W](pir::W) writer structure
39733    impl crate::Writable for PIR {}
39734    ///polling interval register
39735    pub mod pir {
39736        ///Reader of register PIR
39737        pub type R = crate::R<u32, super::PIR>;
39738        ///Writer for register PIR
39739        pub type W = crate::W<u32, super::PIR>;
39740        ///Register PIR `reset()`'s with value 0
39741        impl crate::ResetValue for super::PIR {
39742            type Type = u32;
39743            #[inline(always)]
39744            fn reset_value() -> Self::Type {
39745                0
39746            }
39747        }
39748        ///Reader of field `INTERVAL`
39749        pub type INTERVAL_R = crate::R<u16, u16>;
39750        ///Write proxy for field `INTERVAL`
39751        pub struct INTERVAL_W<'a> {
39752            w: &'a mut W,
39753        }
39754        impl<'a> INTERVAL_W<'a> {
39755            ///Writes raw bits to the field
39756            #[inline(always)]
39757            pub unsafe fn bits(self, value: u16) -> &'a mut W {
39758                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
39759                self.w
39760            }
39761        }
39762        impl R {
39763            ///Bits 0:15 - Polling interval
39764            #[inline(always)]
39765            pub fn interval(&self) -> INTERVAL_R {
39766                INTERVAL_R::new((self.bits & 0xffff) as u16)
39767            }
39768        }
39769        impl W {
39770            ///Bits 0:15 - Polling interval
39771            #[inline(always)]
39772            pub fn interval(&mut self) -> INTERVAL_W {
39773                INTERVAL_W { w: self }
39774            }
39775        }
39776    }
39777    ///low-power timeout register
39778    ///
39779    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
39780    ///
39781    ///For information about available fields see [lptr](lptr) module
39782    pub type LPTR = crate::Reg<u32, _LPTR>;
39783    #[allow(missing_docs)]
39784    #[doc(hidden)]
39785    pub struct _LPTR;
39786    ///`read()` method returns [lptr::R](lptr::R) reader structure
39787    impl crate::Readable for LPTR {}
39788    ///`write(|w| ..)` method takes [lptr::W](lptr::W) writer structure
39789    impl crate::Writable for LPTR {}
39790    ///low-power timeout register
39791    pub mod lptr {
39792        ///Reader of register LPTR
39793        pub type R = crate::R<u32, super::LPTR>;
39794        ///Writer for register LPTR
39795        pub type W = crate::W<u32, super::LPTR>;
39796        ///Register LPTR `reset()`'s with value 0
39797        impl crate::ResetValue for super::LPTR {
39798            type Type = u32;
39799            #[inline(always)]
39800            fn reset_value() -> Self::Type {
39801                0
39802            }
39803        }
39804        ///Reader of field `TIMEOUT`
39805        pub type TIMEOUT_R = crate::R<u16, u16>;
39806        ///Write proxy for field `TIMEOUT`
39807        pub struct TIMEOUT_W<'a> {
39808            w: &'a mut W,
39809        }
39810        impl<'a> TIMEOUT_W<'a> {
39811            ///Writes raw bits to the field
39812            #[inline(always)]
39813            pub unsafe fn bits(self, value: u16) -> &'a mut W {
39814                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
39815                self.w
39816            }
39817        }
39818        impl R {
39819            ///Bits 0:15 - Timeout period
39820            #[inline(always)]
39821            pub fn timeout(&self) -> TIMEOUT_R {
39822                TIMEOUT_R::new((self.bits & 0xffff) as u16)
39823            }
39824        }
39825        impl W {
39826            ///Bits 0:15 - Timeout period
39827            #[inline(always)]
39828            pub fn timeout(&mut self) -> TIMEOUT_W {
39829                TIMEOUT_W { w: self }
39830            }
39831        }
39832    }
39833}
39834///Reset and clock control
39835pub struct RCC {
39836    _marker: PhantomData<*const ()>,
39837}
39838unsafe impl Send for RCC {}
39839impl RCC {
39840    ///Returns a pointer to the register block
39841    #[inline(always)]
39842    pub const fn ptr() -> *const rcc::RegisterBlock {
39843        0x5800_0000 as *const _
39844    }
39845}
39846impl Deref for RCC {
39847    type Target = rcc::RegisterBlock;
39848    #[inline(always)]
39849    fn deref(&self) -> &Self::Target {
39850        unsafe { &*RCC::ptr() }
39851    }
39852}
39853///Reset and clock control
39854pub mod rcc {
39855    ///Register block
39856    #[repr(C)]
39857    pub struct RegisterBlock {
39858        ///0x00 - Clock control register
39859        pub cr: CR,
39860        ///0x04 - Internal clock sources calibration register
39861        pub icscr: ICSCR,
39862        ///0x08 - Clock configuration register
39863        pub cfgr: CFGR,
39864        ///0x0c - PLLSYS configuration register
39865        pub pllcfgr: PLLCFGR,
39866        ///0x10 - PLLSAI1 configuration register
39867        pub pllsai1cfgr: PLLSAI1CFGR,
39868        _reserved5: [u8; 4usize],
39869        ///0x18 - Clock interrupt enable register
39870        pub cier: CIER,
39871        ///0x1c - Clock interrupt flag register
39872        pub cifr: CIFR,
39873        ///0x20 - Clock interrupt clear register
39874        pub cicr: CICR,
39875        ///0x24 - Step Down converter control register
39876        pub smpscr: SMPSCR,
39877        ///0x28 - AHB1 peripheral reset register
39878        pub ahb1rstr: AHB1RSTR,
39879        ///0x2c - AHB2 peripheral reset register
39880        pub ahb2rstr: AHB2RSTR,
39881        ///0x30 - AHB3 peripheral reset register
39882        pub ahb3rstr: AHB3RSTR,
39883        _reserved12: [u8; 4usize],
39884        ///0x38 - APB1 peripheral reset register 1
39885        pub apb1rstr1: APB1RSTR1,
39886        ///0x3c - APB1 peripheral reset register 2
39887        pub apb1rstr2: APB1RSTR2,
39888        ///0x40 - APB2 peripheral reset register
39889        pub apb2rstr: APB2RSTR,
39890        ///0x44 - APB3 peripheral reset register
39891        pub apb3rstr: APB3RSTR,
39892        ///0x48 - AHB1 peripheral clock enable register
39893        pub ahb1enr: AHB1ENR,
39894        ///0x4c - AHB2 peripheral clock enable register
39895        pub ahb2enr: AHB2ENR,
39896        ///0x50 - AHB3 peripheral clock enable register
39897        pub ahb3enr: AHB3ENR,
39898        _reserved19: [u8; 4usize],
39899        ///0x58 - APB1ENR1
39900        pub apb1enr1: APB1ENR1,
39901        ///0x5c - APB1 peripheral clock enable register 2
39902        pub apb1enr2: APB1ENR2,
39903        ///0x60 - APB2ENR
39904        pub apb2enr: APB2ENR,
39905        _reserved22: [u8; 4usize],
39906        ///0x68 - AHB1 peripheral clocks enable in Sleep and Stop modes register
39907        pub ahb1smenr: AHB1SMENR,
39908        ///0x6c - AHB2 peripheral clocks enable in Sleep and Stop modes register
39909        pub ahb2smenr: AHB2SMENR,
39910        ///0x70 - AHB3 peripheral clocks enable in Sleep and Stop modes register
39911        pub ahb3smenr: AHB3SMENR,
39912        _reserved25: [u8; 4usize],
39913        ///0x78 - APB1SMENR1
39914        pub apb1smenr1: APB1SMENR1,
39915        ///0x7c - APB1 peripheral clocks enable in Sleep and Stop modes register 2
39916        pub apb1smenr2: APB1SMENR2,
39917        ///0x80 - APB2SMENR
39918        pub apb2smenr: APB2SMENR,
39919        _reserved28: [u8; 4usize],
39920        ///0x88 - CCIPR
39921        pub ccipr: CCIPR,
39922        _reserved29: [u8; 4usize],
39923        ///0x90 - BDCR
39924        pub bdcr: BDCR,
39925        ///0x94 - CSR
39926        pub csr: CSR,
39927        ///0x98 - Clock recovery RC register
39928        pub crrcr: CRRCR,
39929        ///0x9c - Clock HSE register
39930        pub hsecr: HSECR,
39931        _reserved33: [u8; 104usize],
39932        ///0x108 - Extended clock recovery register
39933        pub extcfgr: EXTCFGR,
39934        _reserved34: [u8; 60usize],
39935        ///0x148 - CPU2 AHB1 peripheral clock enable register
39936        pub c2ahb1enr: C2AHB1ENR,
39937        ///0x14c - CPU2 AHB2 peripheral clock enable register
39938        pub c2ahb2enr: C2AHB2ENR,
39939        ///0x150 - CPU2 AHB3 peripheral clock enable register
39940        pub c2ahb3enr: C2AHB3ENR,
39941        _reserved37: [u8; 4usize],
39942        ///0x158 - CPU2 APB1ENR1
39943        pub c2apb1enr1: C2APB1ENR1,
39944        ///0x15c - CPU2 APB1 peripheral clock enable register 2
39945        pub c2apb1enr2: C2APB1ENR2,
39946        ///0x160 - CPU2 APB2ENR
39947        pub c2apb2enr: C2APB2ENR,
39948        ///0x164 - CPU2 APB3ENR
39949        pub c2apb3enr: C2APB3ENR,
39950        ///0x168 - CPU2 AHB1 peripheral clocks enable in Sleep and Stop modes register
39951        pub c2ahb1smenr: C2AHB1SMENR,
39952        ///0x16c - CPU2 AHB2 peripheral clocks enable in Sleep and Stop modes register
39953        pub c2ahb2smenr: C2AHB2SMENR,
39954        ///0x170 - CPU2 AHB3 peripheral clocks enable in Sleep and Stop modes register
39955        pub c2ahb3smenr: C2AHB3SMENR,
39956        _reserved44: [u8; 4usize],
39957        ///0x178 - CPU2 APB1SMENR1
39958        pub c2apb1smenr1: C2APB1SMENR1,
39959        ///0x17c - CPU2 APB1 peripheral clocks enable in Sleep and Stop modes register 2
39960        pub c2apb1smenr2: C2APB1SMENR2,
39961        ///0x180 - CPU2 APB2SMENR
39962        pub c2apb2smenr: C2APB2SMENR,
39963        ///0x184 - CPU2 APB3SMENR
39964        pub c2apb3smenr: C2APB3SMENR,
39965    }
39966    ///Clock control register
39967    ///
39968    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
39969    ///
39970    ///For information about available fields see [cr](cr) module
39971    pub type CR = crate::Reg<u32, _CR>;
39972    #[allow(missing_docs)]
39973    #[doc(hidden)]
39974    pub struct _CR;
39975    ///`read()` method returns [cr::R](cr::R) reader structure
39976    impl crate::Readable for CR {}
39977    ///`write(|w| ..)` method takes [cr::W](cr::W) writer structure
39978    impl crate::Writable for CR {}
39979    ///Clock control register
39980    pub mod cr {
39981        ///Reader of register CR
39982        pub type R = crate::R<u32, super::CR>;
39983        ///Writer for register CR
39984        pub type W = crate::W<u32, super::CR>;
39985        ///Register CR `reset()`'s with value 0x61
39986        impl crate::ResetValue for super::CR {
39987            type Type = u32;
39988            #[inline(always)]
39989            fn reset_value() -> Self::Type {
39990                0x61
39991            }
39992        }
39993        ///Reader of field `PLLSAI1RDY`
39994        pub type PLLSAI1RDY_R = crate::R<bool, bool>;
39995        ///Reader of field `PLLSAI1ON`
39996        pub type PLLSAI1ON_R = crate::R<bool, bool>;
39997        ///Write proxy for field `PLLSAI1ON`
39998        pub struct PLLSAI1ON_W<'a> {
39999            w: &'a mut W,
40000        }
40001        impl<'a> PLLSAI1ON_W<'a> {
40002            ///Sets the field bit
40003            #[inline(always)]
40004            pub fn set_bit(self) -> &'a mut W {
40005                self.bit(true)
40006            }
40007            ///Clears the field bit
40008            #[inline(always)]
40009            pub fn clear_bit(self) -> &'a mut W {
40010                self.bit(false)
40011            }
40012            ///Writes raw bits to the field
40013            #[inline(always)]
40014            pub fn bit(self, value: bool) -> &'a mut W {
40015                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
40016                self.w
40017            }
40018        }
40019        ///Reader of field `PLLRDY`
40020        pub type PLLRDY_R = crate::R<bool, bool>;
40021        ///Reader of field `PLLON`
40022        pub type PLLON_R = crate::R<bool, bool>;
40023        ///Write proxy for field `PLLON`
40024        pub struct PLLON_W<'a> {
40025            w: &'a mut W,
40026        }
40027        impl<'a> PLLON_W<'a> {
40028            ///Sets the field bit
40029            #[inline(always)]
40030            pub fn set_bit(self) -> &'a mut W {
40031                self.bit(true)
40032            }
40033            ///Clears the field bit
40034            #[inline(always)]
40035            pub fn clear_bit(self) -> &'a mut W {
40036                self.bit(false)
40037            }
40038            ///Writes raw bits to the field
40039            #[inline(always)]
40040            pub fn bit(self, value: bool) -> &'a mut W {
40041                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
40042                self.w
40043            }
40044        }
40045        ///Reader of field `HSEPRE`
40046        pub type HSEPRE_R = crate::R<bool, bool>;
40047        ///Write proxy for field `HSEPRE`
40048        pub struct HSEPRE_W<'a> {
40049            w: &'a mut W,
40050        }
40051        impl<'a> HSEPRE_W<'a> {
40052            ///Sets the field bit
40053            #[inline(always)]
40054            pub fn set_bit(self) -> &'a mut W {
40055                self.bit(true)
40056            }
40057            ///Clears the field bit
40058            #[inline(always)]
40059            pub fn clear_bit(self) -> &'a mut W {
40060                self.bit(false)
40061            }
40062            ///Writes raw bits to the field
40063            #[inline(always)]
40064            pub fn bit(self, value: bool) -> &'a mut W {
40065                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
40066                self.w
40067            }
40068        }
40069        ///Write proxy for field `CSSON`
40070        pub struct CSSON_W<'a> {
40071            w: &'a mut W,
40072        }
40073        impl<'a> CSSON_W<'a> {
40074            ///Sets the field bit
40075            #[inline(always)]
40076            pub fn set_bit(self) -> &'a mut W {
40077                self.bit(true)
40078            }
40079            ///Clears the field bit
40080            #[inline(always)]
40081            pub fn clear_bit(self) -> &'a mut W {
40082                self.bit(false)
40083            }
40084            ///Writes raw bits to the field
40085            #[inline(always)]
40086            pub fn bit(self, value: bool) -> &'a mut W {
40087                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
40088                self.w
40089            }
40090        }
40091        ///Reader of field `HSEBYP`
40092        pub type HSEBYP_R = crate::R<bool, bool>;
40093        ///Write proxy for field `HSEBYP`
40094        pub struct HSEBYP_W<'a> {
40095            w: &'a mut W,
40096        }
40097        impl<'a> HSEBYP_W<'a> {
40098            ///Sets the field bit
40099            #[inline(always)]
40100            pub fn set_bit(self) -> &'a mut W {
40101                self.bit(true)
40102            }
40103            ///Clears the field bit
40104            #[inline(always)]
40105            pub fn clear_bit(self) -> &'a mut W {
40106                self.bit(false)
40107            }
40108            ///Writes raw bits to the field
40109            #[inline(always)]
40110            pub fn bit(self, value: bool) -> &'a mut W {
40111                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
40112                self.w
40113            }
40114        }
40115        ///Reader of field `HSERDY`
40116        pub type HSERDY_R = crate::R<bool, bool>;
40117        ///Reader of field `HSEON`
40118        pub type HSEON_R = crate::R<bool, bool>;
40119        ///Write proxy for field `HSEON`
40120        pub struct HSEON_W<'a> {
40121            w: &'a mut W,
40122        }
40123        impl<'a> HSEON_W<'a> {
40124            ///Sets the field bit
40125            #[inline(always)]
40126            pub fn set_bit(self) -> &'a mut W {
40127                self.bit(true)
40128            }
40129            ///Clears the field bit
40130            #[inline(always)]
40131            pub fn clear_bit(self) -> &'a mut W {
40132                self.bit(false)
40133            }
40134            ///Writes raw bits to the field
40135            #[inline(always)]
40136            pub fn bit(self, value: bool) -> &'a mut W {
40137                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
40138                self.w
40139            }
40140        }
40141        ///Reader of field `HSIKERDY`
40142        pub type HSIKERDY_R = crate::R<bool, bool>;
40143        ///Reader of field `HSIASFS`
40144        pub type HSIASFS_R = crate::R<bool, bool>;
40145        ///Write proxy for field `HSIASFS`
40146        pub struct HSIASFS_W<'a> {
40147            w: &'a mut W,
40148        }
40149        impl<'a> HSIASFS_W<'a> {
40150            ///Sets the field bit
40151            #[inline(always)]
40152            pub fn set_bit(self) -> &'a mut W {
40153                self.bit(true)
40154            }
40155            ///Clears the field bit
40156            #[inline(always)]
40157            pub fn clear_bit(self) -> &'a mut W {
40158                self.bit(false)
40159            }
40160            ///Writes raw bits to the field
40161            #[inline(always)]
40162            pub fn bit(self, value: bool) -> &'a mut W {
40163                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
40164                self.w
40165            }
40166        }
40167        ///Reader of field `HSIRDY`
40168        pub type HSIRDY_R = crate::R<bool, bool>;
40169        ///Reader of field `HSIKERON`
40170        pub type HSIKERON_R = crate::R<bool, bool>;
40171        ///Write proxy for field `HSIKERON`
40172        pub struct HSIKERON_W<'a> {
40173            w: &'a mut W,
40174        }
40175        impl<'a> HSIKERON_W<'a> {
40176            ///Sets the field bit
40177            #[inline(always)]
40178            pub fn set_bit(self) -> &'a mut W {
40179                self.bit(true)
40180            }
40181            ///Clears the field bit
40182            #[inline(always)]
40183            pub fn clear_bit(self) -> &'a mut W {
40184                self.bit(false)
40185            }
40186            ///Writes raw bits to the field
40187            #[inline(always)]
40188            pub fn bit(self, value: bool) -> &'a mut W {
40189                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
40190                self.w
40191            }
40192        }
40193        ///Reader of field `HSION`
40194        pub type HSION_R = crate::R<bool, bool>;
40195        ///Write proxy for field `HSION`
40196        pub struct HSION_W<'a> {
40197            w: &'a mut W,
40198        }
40199        impl<'a> HSION_W<'a> {
40200            ///Sets the field bit
40201            #[inline(always)]
40202            pub fn set_bit(self) -> &'a mut W {
40203                self.bit(true)
40204            }
40205            ///Clears the field bit
40206            #[inline(always)]
40207            pub fn clear_bit(self) -> &'a mut W {
40208                self.bit(false)
40209            }
40210            ///Writes raw bits to the field
40211            #[inline(always)]
40212            pub fn bit(self, value: bool) -> &'a mut W {
40213                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
40214                self.w
40215            }
40216        }
40217        ///Reader of field `MSIRANGE`
40218        pub type MSIRANGE_R = crate::R<u8, u8>;
40219        ///Write proxy for field `MSIRANGE`
40220        pub struct MSIRANGE_W<'a> {
40221            w: &'a mut W,
40222        }
40223        impl<'a> MSIRANGE_W<'a> {
40224            ///Writes raw bits to the field
40225            #[inline(always)]
40226            pub unsafe fn bits(self, value: u8) -> &'a mut W {
40227                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
40228                self.w
40229            }
40230        }
40231        ///Reader of field `MSIPLLEN`
40232        pub type MSIPLLEN_R = crate::R<bool, bool>;
40233        ///Write proxy for field `MSIPLLEN`
40234        pub struct MSIPLLEN_W<'a> {
40235            w: &'a mut W,
40236        }
40237        impl<'a> MSIPLLEN_W<'a> {
40238            ///Sets the field bit
40239            #[inline(always)]
40240            pub fn set_bit(self) -> &'a mut W {
40241                self.bit(true)
40242            }
40243            ///Clears the field bit
40244            #[inline(always)]
40245            pub fn clear_bit(self) -> &'a mut W {
40246                self.bit(false)
40247            }
40248            ///Writes raw bits to the field
40249            #[inline(always)]
40250            pub fn bit(self, value: bool) -> &'a mut W {
40251                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
40252                self.w
40253            }
40254        }
40255        ///Reader of field `MSIRDY`
40256        pub type MSIRDY_R = crate::R<bool, bool>;
40257        ///Reader of field `MSION`
40258        pub type MSION_R = crate::R<bool, bool>;
40259        ///Write proxy for field `MSION`
40260        pub struct MSION_W<'a> {
40261            w: &'a mut W,
40262        }
40263        impl<'a> MSION_W<'a> {
40264            ///Sets the field bit
40265            #[inline(always)]
40266            pub fn set_bit(self) -> &'a mut W {
40267                self.bit(true)
40268            }
40269            ///Clears the field bit
40270            #[inline(always)]
40271            pub fn clear_bit(self) -> &'a mut W {
40272                self.bit(false)
40273            }
40274            ///Writes raw bits to the field
40275            #[inline(always)]
40276            pub fn bit(self, value: bool) -> &'a mut W {
40277                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
40278                self.w
40279            }
40280        }
40281        impl R {
40282            ///Bit 27 - SAI1 PLL clock ready flag
40283            #[inline(always)]
40284            pub fn pllsai1rdy(&self) -> PLLSAI1RDY_R {
40285                PLLSAI1RDY_R::new(((self.bits >> 27) & 0x01) != 0)
40286            }
40287            ///Bit 26 - SAI1 PLL enable
40288            #[inline(always)]
40289            pub fn pllsai1on(&self) -> PLLSAI1ON_R {
40290                PLLSAI1ON_R::new(((self.bits >> 26) & 0x01) != 0)
40291            }
40292            ///Bit 25 - Main PLL clock ready flag
40293            #[inline(always)]
40294            pub fn pllrdy(&self) -> PLLRDY_R {
40295                PLLRDY_R::new(((self.bits >> 25) & 0x01) != 0)
40296            }
40297            ///Bit 24 - Main PLL enable
40298            #[inline(always)]
40299            pub fn pllon(&self) -> PLLON_R {
40300                PLLON_R::new(((self.bits >> 24) & 0x01) != 0)
40301            }
40302            ///Bit 20 - HSE sysclk and PLL M divider prescaler
40303            #[inline(always)]
40304            pub fn hsepre(&self) -> HSEPRE_R {
40305                HSEPRE_R::new(((self.bits >> 20) & 0x01) != 0)
40306            }
40307            ///Bit 18 - HSE crystal oscillator bypass
40308            #[inline(always)]
40309            pub fn hsebyp(&self) -> HSEBYP_R {
40310                HSEBYP_R::new(((self.bits >> 18) & 0x01) != 0)
40311            }
40312            ///Bit 17 - HSE clock ready flag
40313            #[inline(always)]
40314            pub fn hserdy(&self) -> HSERDY_R {
40315                HSERDY_R::new(((self.bits >> 17) & 0x01) != 0)
40316            }
40317            ///Bit 16 - HSE clock enabled
40318            #[inline(always)]
40319            pub fn hseon(&self) -> HSEON_R {
40320                HSEON_R::new(((self.bits >> 16) & 0x01) != 0)
40321            }
40322            ///Bit 12 - HSI kernel clock ready flag for peripherals requests
40323            #[inline(always)]
40324            pub fn hsikerdy(&self) -> HSIKERDY_R {
40325                HSIKERDY_R::new(((self.bits >> 12) & 0x01) != 0)
40326            }
40327            ///Bit 11 - HSI automatic start from Stop
40328            #[inline(always)]
40329            pub fn hsiasfs(&self) -> HSIASFS_R {
40330                HSIASFS_R::new(((self.bits >> 11) & 0x01) != 0)
40331            }
40332            ///Bit 10 - HSI clock ready flag
40333            #[inline(always)]
40334            pub fn hsirdy(&self) -> HSIRDY_R {
40335                HSIRDY_R::new(((self.bits >> 10) & 0x01) != 0)
40336            }
40337            ///Bit 9 - HSI always enable for peripheral kernels
40338            #[inline(always)]
40339            pub fn hsikeron(&self) -> HSIKERON_R {
40340                HSIKERON_R::new(((self.bits >> 9) & 0x01) != 0)
40341            }
40342            ///Bit 8 - HSI clock enabled
40343            #[inline(always)]
40344            pub fn hsion(&self) -> HSION_R {
40345                HSION_R::new(((self.bits >> 8) & 0x01) != 0)
40346            }
40347            ///Bits 4:7 - MSI clock ranges
40348            #[inline(always)]
40349            pub fn msirange(&self) -> MSIRANGE_R {
40350                MSIRANGE_R::new(((self.bits >> 4) & 0x0f) as u8)
40351            }
40352            ///Bit 2 - MSI clock PLL enable
40353            #[inline(always)]
40354            pub fn msipllen(&self) -> MSIPLLEN_R {
40355                MSIPLLEN_R::new(((self.bits >> 2) & 0x01) != 0)
40356            }
40357            ///Bit 1 - MSI clock ready flag
40358            #[inline(always)]
40359            pub fn msirdy(&self) -> MSIRDY_R {
40360                MSIRDY_R::new(((self.bits >> 1) & 0x01) != 0)
40361            }
40362            ///Bit 0 - MSI clock enable
40363            #[inline(always)]
40364            pub fn msion(&self) -> MSION_R {
40365                MSION_R::new((self.bits & 0x01) != 0)
40366            }
40367        }
40368        impl W {
40369            ///Bit 26 - SAI1 PLL enable
40370            #[inline(always)]
40371            pub fn pllsai1on(&mut self) -> PLLSAI1ON_W {
40372                PLLSAI1ON_W { w: self }
40373            }
40374            ///Bit 24 - Main PLL enable
40375            #[inline(always)]
40376            pub fn pllon(&mut self) -> PLLON_W {
40377                PLLON_W { w: self }
40378            }
40379            ///Bit 20 - HSE sysclk and PLL M divider prescaler
40380            #[inline(always)]
40381            pub fn hsepre(&mut self) -> HSEPRE_W {
40382                HSEPRE_W { w: self }
40383            }
40384            ///Bit 19 - HSE Clock security system enable
40385            #[inline(always)]
40386            pub fn csson(&mut self) -> CSSON_W {
40387                CSSON_W { w: self }
40388            }
40389            ///Bit 18 - HSE crystal oscillator bypass
40390            #[inline(always)]
40391            pub fn hsebyp(&mut self) -> HSEBYP_W {
40392                HSEBYP_W { w: self }
40393            }
40394            ///Bit 16 - HSE clock enabled
40395            #[inline(always)]
40396            pub fn hseon(&mut self) -> HSEON_W {
40397                HSEON_W { w: self }
40398            }
40399            ///Bit 11 - HSI automatic start from Stop
40400            #[inline(always)]
40401            pub fn hsiasfs(&mut self) -> HSIASFS_W {
40402                HSIASFS_W { w: self }
40403            }
40404            ///Bit 9 - HSI always enable for peripheral kernels
40405            #[inline(always)]
40406            pub fn hsikeron(&mut self) -> HSIKERON_W {
40407                HSIKERON_W { w: self }
40408            }
40409            ///Bit 8 - HSI clock enabled
40410            #[inline(always)]
40411            pub fn hsion(&mut self) -> HSION_W {
40412                HSION_W { w: self }
40413            }
40414            ///Bits 4:7 - MSI clock ranges
40415            #[inline(always)]
40416            pub fn msirange(&mut self) -> MSIRANGE_W {
40417                MSIRANGE_W { w: self }
40418            }
40419            ///Bit 2 - MSI clock PLL enable
40420            #[inline(always)]
40421            pub fn msipllen(&mut self) -> MSIPLLEN_W {
40422                MSIPLLEN_W { w: self }
40423            }
40424            ///Bit 0 - MSI clock enable
40425            #[inline(always)]
40426            pub fn msion(&mut self) -> MSION_W {
40427                MSION_W { w: self }
40428            }
40429        }
40430    }
40431    ///Internal clock sources calibration register
40432    ///
40433    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
40434    ///
40435    ///For information about available fields see [icscr](icscr) module
40436    pub type ICSCR = crate::Reg<u32, _ICSCR>;
40437    #[allow(missing_docs)]
40438    #[doc(hidden)]
40439    pub struct _ICSCR;
40440    ///`read()` method returns [icscr::R](icscr::R) reader structure
40441    impl crate::Readable for ICSCR {}
40442    ///`write(|w| ..)` method takes [icscr::W](icscr::W) writer structure
40443    impl crate::Writable for ICSCR {}
40444    ///Internal clock sources calibration register
40445    pub mod icscr {
40446        ///Reader of register ICSCR
40447        pub type R = crate::R<u32, super::ICSCR>;
40448        ///Writer for register ICSCR
40449        pub type W = crate::W<u32, super::ICSCR>;
40450        ///Register ICSCR `reset()`'s with value 0x4000_0000
40451        impl crate::ResetValue for super::ICSCR {
40452            type Type = u32;
40453            #[inline(always)]
40454            fn reset_value() -> Self::Type {
40455                0x4000_0000
40456            }
40457        }
40458        ///Reader of field `HSITRIM`
40459        pub type HSITRIM_R = crate::R<u8, u8>;
40460        ///Write proxy for field `HSITRIM`
40461        pub struct HSITRIM_W<'a> {
40462            w: &'a mut W,
40463        }
40464        impl<'a> HSITRIM_W<'a> {
40465            ///Writes raw bits to the field
40466            #[inline(always)]
40467            pub unsafe fn bits(self, value: u8) -> &'a mut W {
40468                self.w.bits = (self.w.bits & !(0x7f << 24)) | (((value as u32) & 0x7f) << 24);
40469                self.w
40470            }
40471        }
40472        ///Reader of field `HSICAL`
40473        pub type HSICAL_R = crate::R<u8, u8>;
40474        ///Reader of field `MSITRIM`
40475        pub type MSITRIM_R = crate::R<u8, u8>;
40476        ///Write proxy for field `MSITRIM`
40477        pub struct MSITRIM_W<'a> {
40478            w: &'a mut W,
40479        }
40480        impl<'a> MSITRIM_W<'a> {
40481            ///Writes raw bits to the field
40482            #[inline(always)]
40483            pub unsafe fn bits(self, value: u8) -> &'a mut W {
40484                self.w.bits = (self.w.bits & !(0xff << 8)) | (((value as u32) & 0xff) << 8);
40485                self.w
40486            }
40487        }
40488        ///Reader of field `MSICAL`
40489        pub type MSICAL_R = crate::R<u8, u8>;
40490        impl R {
40491            ///Bits 24:30 - HSI clock trimming
40492            #[inline(always)]
40493            pub fn hsitrim(&self) -> HSITRIM_R {
40494                HSITRIM_R::new(((self.bits >> 24) & 0x7f) as u8)
40495            }
40496            ///Bits 16:23 - HSI clock calibration
40497            #[inline(always)]
40498            pub fn hsical(&self) -> HSICAL_R {
40499                HSICAL_R::new(((self.bits >> 16) & 0xff) as u8)
40500            }
40501            ///Bits 8:15 - MSI clock trimming
40502            #[inline(always)]
40503            pub fn msitrim(&self) -> MSITRIM_R {
40504                MSITRIM_R::new(((self.bits >> 8) & 0xff) as u8)
40505            }
40506            ///Bits 0:7 - MSI clock calibration
40507            #[inline(always)]
40508            pub fn msical(&self) -> MSICAL_R {
40509                MSICAL_R::new((self.bits & 0xff) as u8)
40510            }
40511        }
40512        impl W {
40513            ///Bits 24:30 - HSI clock trimming
40514            #[inline(always)]
40515            pub fn hsitrim(&mut self) -> HSITRIM_W {
40516                HSITRIM_W { w: self }
40517            }
40518            ///Bits 8:15 - MSI clock trimming
40519            #[inline(always)]
40520            pub fn msitrim(&mut self) -> MSITRIM_W {
40521                MSITRIM_W { w: self }
40522            }
40523        }
40524    }
40525    ///Clock configuration register
40526    ///
40527    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
40528    ///
40529    ///For information about available fields see [cfgr](cfgr) module
40530    pub type CFGR = crate::Reg<u32, _CFGR>;
40531    #[allow(missing_docs)]
40532    #[doc(hidden)]
40533    pub struct _CFGR;
40534    ///`read()` method returns [cfgr::R](cfgr::R) reader structure
40535    impl crate::Readable for CFGR {}
40536    ///`write(|w| ..)` method takes [cfgr::W](cfgr::W) writer structure
40537    impl crate::Writable for CFGR {}
40538    ///Clock configuration register
40539    pub mod cfgr {
40540        ///Reader of register CFGR
40541        pub type R = crate::R<u32, super::CFGR>;
40542        ///Writer for register CFGR
40543        pub type W = crate::W<u32, super::CFGR>;
40544        ///Register CFGR `reset()`'s with value 0x0007_0000
40545        impl crate::ResetValue for super::CFGR {
40546            type Type = u32;
40547            #[inline(always)]
40548            fn reset_value() -> Self::Type {
40549                0x0007_0000
40550            }
40551        }
40552        ///Reader of field `MCOPRE`
40553        pub type MCOPRE_R = crate::R<u8, u8>;
40554        ///Write proxy for field `MCOPRE`
40555        pub struct MCOPRE_W<'a> {
40556            w: &'a mut W,
40557        }
40558        impl<'a> MCOPRE_W<'a> {
40559            ///Writes raw bits to the field
40560            #[inline(always)]
40561            pub unsafe fn bits(self, value: u8) -> &'a mut W {
40562                self.w.bits = (self.w.bits & !(0x07 << 28)) | (((value as u32) & 0x07) << 28);
40563                self.w
40564            }
40565        }
40566        ///Reader of field `MCOSEL`
40567        pub type MCOSEL_R = crate::R<u8, u8>;
40568        ///Write proxy for field `MCOSEL`
40569        pub struct MCOSEL_W<'a> {
40570            w: &'a mut W,
40571        }
40572        impl<'a> MCOSEL_W<'a> {
40573            ///Writes raw bits to the field
40574            #[inline(always)]
40575            pub unsafe fn bits(self, value: u8) -> &'a mut W {
40576                self.w.bits = (self.w.bits & !(0x0f << 24)) | (((value as u32) & 0x0f) << 24);
40577                self.w
40578            }
40579        }
40580        ///Reader of field `PPRE2F`
40581        pub type PPRE2F_R = crate::R<bool, bool>;
40582        ///Reader of field `PPRE1F`
40583        pub type PPRE1F_R = crate::R<bool, bool>;
40584        ///Reader of field `HPREF`
40585        pub type HPREF_R = crate::R<bool, bool>;
40586        ///Reader of field `STOPWUCK`
40587        pub type STOPWUCK_R = crate::R<bool, bool>;
40588        ///Write proxy for field `STOPWUCK`
40589        pub struct STOPWUCK_W<'a> {
40590            w: &'a mut W,
40591        }
40592        impl<'a> STOPWUCK_W<'a> {
40593            ///Sets the field bit
40594            #[inline(always)]
40595            pub fn set_bit(self) -> &'a mut W {
40596                self.bit(true)
40597            }
40598            ///Clears the field bit
40599            #[inline(always)]
40600            pub fn clear_bit(self) -> &'a mut W {
40601                self.bit(false)
40602            }
40603            ///Writes raw bits to the field
40604            #[inline(always)]
40605            pub fn bit(self, value: bool) -> &'a mut W {
40606                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
40607                self.w
40608            }
40609        }
40610        ///Reader of field `PPRE2`
40611        pub type PPRE2_R = crate::R<u8, u8>;
40612        ///Write proxy for field `PPRE2`
40613        pub struct PPRE2_W<'a> {
40614            w: &'a mut W,
40615        }
40616        impl<'a> PPRE2_W<'a> {
40617            ///Writes raw bits to the field
40618            #[inline(always)]
40619            pub unsafe fn bits(self, value: u8) -> &'a mut W {
40620                self.w.bits = (self.w.bits & !(0x07 << 11)) | (((value as u32) & 0x07) << 11);
40621                self.w
40622            }
40623        }
40624        ///Reader of field `PPRE1`
40625        pub type PPRE1_R = crate::R<u8, u8>;
40626        ///Write proxy for field `PPRE1`
40627        pub struct PPRE1_W<'a> {
40628            w: &'a mut W,
40629        }
40630        impl<'a> PPRE1_W<'a> {
40631            ///Writes raw bits to the field
40632            #[inline(always)]
40633            pub unsafe fn bits(self, value: u8) -> &'a mut W {
40634                self.w.bits = (self.w.bits & !(0x07 << 8)) | (((value as u32) & 0x07) << 8);
40635                self.w
40636            }
40637        }
40638        ///Reader of field `HPRE`
40639        pub type HPRE_R = crate::R<u8, u8>;
40640        ///Write proxy for field `HPRE`
40641        pub struct HPRE_W<'a> {
40642            w: &'a mut W,
40643        }
40644        impl<'a> HPRE_W<'a> {
40645            ///Writes raw bits to the field
40646            #[inline(always)]
40647            pub unsafe fn bits(self, value: u8) -> &'a mut W {
40648                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
40649                self.w
40650            }
40651        }
40652        ///Reader of field `SWS`
40653        pub type SWS_R = crate::R<u8, u8>;
40654        ///Reader of field `SW`
40655        pub type SW_R = crate::R<u8, u8>;
40656        ///Write proxy for field `SW`
40657        pub struct SW_W<'a> {
40658            w: &'a mut W,
40659        }
40660        impl<'a> SW_W<'a> {
40661            ///Writes raw bits to the field
40662            #[inline(always)]
40663            pub unsafe fn bits(self, value: u8) -> &'a mut W {
40664                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
40665                self.w
40666            }
40667        }
40668        impl R {
40669            ///Bits 28:30 - Microcontroller clock output prescaler
40670            #[inline(always)]
40671            pub fn mcopre(&self) -> MCOPRE_R {
40672                MCOPRE_R::new(((self.bits >> 28) & 0x07) as u8)
40673            }
40674            ///Bits 24:27 - Microcontroller clock output
40675            #[inline(always)]
40676            pub fn mcosel(&self) -> MCOSEL_R {
40677                MCOSEL_R::new(((self.bits >> 24) & 0x0f) as u8)
40678            }
40679            ///Bit 18 - APB2 prescaler flag
40680            #[inline(always)]
40681            pub fn ppre2f(&self) -> PPRE2F_R {
40682                PPRE2F_R::new(((self.bits >> 18) & 0x01) != 0)
40683            }
40684            ///Bit 17 - APB1 prescaler flag
40685            #[inline(always)]
40686            pub fn ppre1f(&self) -> PPRE1F_R {
40687                PPRE1F_R::new(((self.bits >> 17) & 0x01) != 0)
40688            }
40689            ///Bit 16 - AHB prescaler flag
40690            #[inline(always)]
40691            pub fn hpref(&self) -> HPREF_R {
40692                HPREF_R::new(((self.bits >> 16) & 0x01) != 0)
40693            }
40694            ///Bit 15 - Wakeup from Stop and CSS backup clock selection
40695            #[inline(always)]
40696            pub fn stopwuck(&self) -> STOPWUCK_R {
40697                STOPWUCK_R::new(((self.bits >> 15) & 0x01) != 0)
40698            }
40699            ///Bits 11:13 - APB high-speed prescaler (APB2)
40700            #[inline(always)]
40701            pub fn ppre2(&self) -> PPRE2_R {
40702                PPRE2_R::new(((self.bits >> 11) & 0x07) as u8)
40703            }
40704            ///Bits 8:10 - PB low-speed prescaler (APB1)
40705            #[inline(always)]
40706            pub fn ppre1(&self) -> PPRE1_R {
40707                PPRE1_R::new(((self.bits >> 8) & 0x07) as u8)
40708            }
40709            ///Bits 4:7 - AHB prescaler
40710            #[inline(always)]
40711            pub fn hpre(&self) -> HPRE_R {
40712                HPRE_R::new(((self.bits >> 4) & 0x0f) as u8)
40713            }
40714            ///Bits 2:3 - System clock switch status
40715            #[inline(always)]
40716            pub fn sws(&self) -> SWS_R {
40717                SWS_R::new(((self.bits >> 2) & 0x03) as u8)
40718            }
40719            ///Bits 0:1 - System clock switch
40720            #[inline(always)]
40721            pub fn sw(&self) -> SW_R {
40722                SW_R::new((self.bits & 0x03) as u8)
40723            }
40724        }
40725        impl W {
40726            ///Bits 28:30 - Microcontroller clock output prescaler
40727            #[inline(always)]
40728            pub fn mcopre(&mut self) -> MCOPRE_W {
40729                MCOPRE_W { w: self }
40730            }
40731            ///Bits 24:27 - Microcontroller clock output
40732            #[inline(always)]
40733            pub fn mcosel(&mut self) -> MCOSEL_W {
40734                MCOSEL_W { w: self }
40735            }
40736            ///Bit 15 - Wakeup from Stop and CSS backup clock selection
40737            #[inline(always)]
40738            pub fn stopwuck(&mut self) -> STOPWUCK_W {
40739                STOPWUCK_W { w: self }
40740            }
40741            ///Bits 11:13 - APB high-speed prescaler (APB2)
40742            #[inline(always)]
40743            pub fn ppre2(&mut self) -> PPRE2_W {
40744                PPRE2_W { w: self }
40745            }
40746            ///Bits 8:10 - PB low-speed prescaler (APB1)
40747            #[inline(always)]
40748            pub fn ppre1(&mut self) -> PPRE1_W {
40749                PPRE1_W { w: self }
40750            }
40751            ///Bits 4:7 - AHB prescaler
40752            #[inline(always)]
40753            pub fn hpre(&mut self) -> HPRE_W {
40754                HPRE_W { w: self }
40755            }
40756            ///Bits 0:1 - System clock switch
40757            #[inline(always)]
40758            pub fn sw(&mut self) -> SW_W {
40759                SW_W { w: self }
40760            }
40761        }
40762    }
40763    ///PLLSYS configuration register
40764    ///
40765    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
40766    ///
40767    ///For information about available fields see [pllcfgr](pllcfgr) module
40768    pub type PLLCFGR = crate::Reg<u32, _PLLCFGR>;
40769    #[allow(missing_docs)]
40770    #[doc(hidden)]
40771    pub struct _PLLCFGR;
40772    ///`read()` method returns [pllcfgr::R](pllcfgr::R) reader structure
40773    impl crate::Readable for PLLCFGR {}
40774    ///`write(|w| ..)` method takes [pllcfgr::W](pllcfgr::W) writer structure
40775    impl crate::Writable for PLLCFGR {}
40776    ///PLLSYS configuration register
40777    pub mod pllcfgr {
40778        ///Reader of register PLLCFGR
40779        pub type R = crate::R<u32, super::PLLCFGR>;
40780        ///Writer for register PLLCFGR
40781        pub type W = crate::W<u32, super::PLLCFGR>;
40782        ///Register PLLCFGR `reset()`'s with value 0x2204_0100
40783        impl crate::ResetValue for super::PLLCFGR {
40784            type Type = u32;
40785            #[inline(always)]
40786            fn reset_value() -> Self::Type {
40787                0x2204_0100
40788            }
40789        }
40790        ///Reader of field `PLLR`
40791        pub type PLLR_R = crate::R<u8, u8>;
40792        ///Write proxy for field `PLLR`
40793        pub struct PLLR_W<'a> {
40794            w: &'a mut W,
40795        }
40796        impl<'a> PLLR_W<'a> {
40797            ///Writes raw bits to the field
40798            #[inline(always)]
40799            pub unsafe fn bits(self, value: u8) -> &'a mut W {
40800                self.w.bits = (self.w.bits & !(0x07 << 29)) | (((value as u32) & 0x07) << 29);
40801                self.w
40802            }
40803        }
40804        ///Reader of field `PLLREN`
40805        pub type PLLREN_R = crate::R<bool, bool>;
40806        ///Write proxy for field `PLLREN`
40807        pub struct PLLREN_W<'a> {
40808            w: &'a mut W,
40809        }
40810        impl<'a> PLLREN_W<'a> {
40811            ///Sets the field bit
40812            #[inline(always)]
40813            pub fn set_bit(self) -> &'a mut W {
40814                self.bit(true)
40815            }
40816            ///Clears the field bit
40817            #[inline(always)]
40818            pub fn clear_bit(self) -> &'a mut W {
40819                self.bit(false)
40820            }
40821            ///Writes raw bits to the field
40822            #[inline(always)]
40823            pub fn bit(self, value: bool) -> &'a mut W {
40824                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
40825                self.w
40826            }
40827        }
40828        ///Reader of field `PLLQ`
40829        pub type PLLQ_R = crate::R<u8, u8>;
40830        ///Write proxy for field `PLLQ`
40831        pub struct PLLQ_W<'a> {
40832            w: &'a mut W,
40833        }
40834        impl<'a> PLLQ_W<'a> {
40835            ///Writes raw bits to the field
40836            #[inline(always)]
40837            pub unsafe fn bits(self, value: u8) -> &'a mut W {
40838                self.w.bits = (self.w.bits & !(0x07 << 25)) | (((value as u32) & 0x07) << 25);
40839                self.w
40840            }
40841        }
40842        ///Reader of field `PLLQEN`
40843        pub type PLLQEN_R = crate::R<bool, bool>;
40844        ///Write proxy for field `PLLQEN`
40845        pub struct PLLQEN_W<'a> {
40846            w: &'a mut W,
40847        }
40848        impl<'a> PLLQEN_W<'a> {
40849            ///Sets the field bit
40850            #[inline(always)]
40851            pub fn set_bit(self) -> &'a mut W {
40852                self.bit(true)
40853            }
40854            ///Clears the field bit
40855            #[inline(always)]
40856            pub fn clear_bit(self) -> &'a mut W {
40857                self.bit(false)
40858            }
40859            ///Writes raw bits to the field
40860            #[inline(always)]
40861            pub fn bit(self, value: bool) -> &'a mut W {
40862                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
40863                self.w
40864            }
40865        }
40866        ///Reader of field `PLLP`
40867        pub type PLLP_R = crate::R<u8, u8>;
40868        ///Write proxy for field `PLLP`
40869        pub struct PLLP_W<'a> {
40870            w: &'a mut W,
40871        }
40872        impl<'a> PLLP_W<'a> {
40873            ///Writes raw bits to the field
40874            #[inline(always)]
40875            pub unsafe fn bits(self, value: u8) -> &'a mut W {
40876                self.w.bits = (self.w.bits & !(0x1f << 17)) | (((value as u32) & 0x1f) << 17);
40877                self.w
40878            }
40879        }
40880        ///Reader of field `PLLPEN`
40881        pub type PLLPEN_R = crate::R<bool, bool>;
40882        ///Write proxy for field `PLLPEN`
40883        pub struct PLLPEN_W<'a> {
40884            w: &'a mut W,
40885        }
40886        impl<'a> PLLPEN_W<'a> {
40887            ///Sets the field bit
40888            #[inline(always)]
40889            pub fn set_bit(self) -> &'a mut W {
40890                self.bit(true)
40891            }
40892            ///Clears the field bit
40893            #[inline(always)]
40894            pub fn clear_bit(self) -> &'a mut W {
40895                self.bit(false)
40896            }
40897            ///Writes raw bits to the field
40898            #[inline(always)]
40899            pub fn bit(self, value: bool) -> &'a mut W {
40900                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
40901                self.w
40902            }
40903        }
40904        ///Reader of field `PLLN`
40905        pub type PLLN_R = crate::R<u8, u8>;
40906        ///Write proxy for field `PLLN`
40907        pub struct PLLN_W<'a> {
40908            w: &'a mut W,
40909        }
40910        impl<'a> PLLN_W<'a> {
40911            ///Writes raw bits to the field
40912            #[inline(always)]
40913            pub unsafe fn bits(self, value: u8) -> &'a mut W {
40914                self.w.bits = (self.w.bits & !(0x7f << 8)) | (((value as u32) & 0x7f) << 8);
40915                self.w
40916            }
40917        }
40918        ///Reader of field `PLLM`
40919        pub type PLLM_R = crate::R<u8, u8>;
40920        ///Write proxy for field `PLLM`
40921        pub struct PLLM_W<'a> {
40922            w: &'a mut W,
40923        }
40924        impl<'a> PLLM_W<'a> {
40925            ///Writes raw bits to the field
40926            #[inline(always)]
40927            pub unsafe fn bits(self, value: u8) -> &'a mut W {
40928                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
40929                self.w
40930            }
40931        }
40932        ///Reader of field `PLLSRC`
40933        pub type PLLSRC_R = crate::R<u8, u8>;
40934        ///Write proxy for field `PLLSRC`
40935        pub struct PLLSRC_W<'a> {
40936            w: &'a mut W,
40937        }
40938        impl<'a> PLLSRC_W<'a> {
40939            ///Writes raw bits to the field
40940            #[inline(always)]
40941            pub unsafe fn bits(self, value: u8) -> &'a mut W {
40942                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
40943                self.w
40944            }
40945        }
40946        impl R {
40947            ///Bits 29:31 - Main PLLSYS division factor R for SYSCLK (system clock)
40948            #[inline(always)]
40949            pub fn pllr(&self) -> PLLR_R {
40950                PLLR_R::new(((self.bits >> 29) & 0x07) as u8)
40951            }
40952            ///Bit 28 - Main PLLSYSR PLLCLK output enable
40953            #[inline(always)]
40954            pub fn pllren(&self) -> PLLREN_R {
40955                PLLREN_R::new(((self.bits >> 28) & 0x01) != 0)
40956            }
40957            ///Bits 25:27 - Main PLLSYS division factor Q for PLLSYSUSBCLK
40958            #[inline(always)]
40959            pub fn pllq(&self) -> PLLQ_R {
40960                PLLQ_R::new(((self.bits >> 25) & 0x07) as u8)
40961            }
40962            ///Bit 24 - Main PLLSYSQ output enable
40963            #[inline(always)]
40964            pub fn pllqen(&self) -> PLLQEN_R {
40965                PLLQEN_R::new(((self.bits >> 24) & 0x01) != 0)
40966            }
40967            ///Bits 17:21 - Main PLL division factor P for PPLSYSSAICLK
40968            #[inline(always)]
40969            pub fn pllp(&self) -> PLLP_R {
40970                PLLP_R::new(((self.bits >> 17) & 0x1f) as u8)
40971            }
40972            ///Bit 16 - Main PLLSYSP output enable
40973            #[inline(always)]
40974            pub fn pllpen(&self) -> PLLPEN_R {
40975                PLLPEN_R::new(((self.bits >> 16) & 0x01) != 0)
40976            }
40977            ///Bits 8:14 - Main PLLSYS multiplication factor N
40978            #[inline(always)]
40979            pub fn plln(&self) -> PLLN_R {
40980                PLLN_R::new(((self.bits >> 8) & 0x7f) as u8)
40981            }
40982            ///Bits 4:6 - Division factor M for the main PLL and audio PLL (PLLSAI1 and PLLSAI2) input clock
40983            #[inline(always)]
40984            pub fn pllm(&self) -> PLLM_R {
40985                PLLM_R::new(((self.bits >> 4) & 0x07) as u8)
40986            }
40987            ///Bits 0:1 - Main PLL, PLLSAI1 and PLLSAI2 entry clock source
40988            #[inline(always)]
40989            pub fn pllsrc(&self) -> PLLSRC_R {
40990                PLLSRC_R::new((self.bits & 0x03) as u8)
40991            }
40992        }
40993        impl W {
40994            ///Bits 29:31 - Main PLLSYS division factor R for SYSCLK (system clock)
40995            #[inline(always)]
40996            pub fn pllr(&mut self) -> PLLR_W {
40997                PLLR_W { w: self }
40998            }
40999            ///Bit 28 - Main PLLSYSR PLLCLK output enable
41000            #[inline(always)]
41001            pub fn pllren(&mut self) -> PLLREN_W {
41002                PLLREN_W { w: self }
41003            }
41004            ///Bits 25:27 - Main PLLSYS division factor Q for PLLSYSUSBCLK
41005            #[inline(always)]
41006            pub fn pllq(&mut self) -> PLLQ_W {
41007                PLLQ_W { w: self }
41008            }
41009            ///Bit 24 - Main PLLSYSQ output enable
41010            #[inline(always)]
41011            pub fn pllqen(&mut self) -> PLLQEN_W {
41012                PLLQEN_W { w: self }
41013            }
41014            ///Bits 17:21 - Main PLL division factor P for PPLSYSSAICLK
41015            #[inline(always)]
41016            pub fn pllp(&mut self) -> PLLP_W {
41017                PLLP_W { w: self }
41018            }
41019            ///Bit 16 - Main PLLSYSP output enable
41020            #[inline(always)]
41021            pub fn pllpen(&mut self) -> PLLPEN_W {
41022                PLLPEN_W { w: self }
41023            }
41024            ///Bits 8:14 - Main PLLSYS multiplication factor N
41025            #[inline(always)]
41026            pub fn plln(&mut self) -> PLLN_W {
41027                PLLN_W { w: self }
41028            }
41029            ///Bits 4:6 - Division factor M for the main PLL and audio PLL (PLLSAI1 and PLLSAI2) input clock
41030            #[inline(always)]
41031            pub fn pllm(&mut self) -> PLLM_W {
41032                PLLM_W { w: self }
41033            }
41034            ///Bits 0:1 - Main PLL, PLLSAI1 and PLLSAI2 entry clock source
41035            #[inline(always)]
41036            pub fn pllsrc(&mut self) -> PLLSRC_W {
41037                PLLSRC_W { w: self }
41038            }
41039        }
41040    }
41041    ///PLLSAI1 configuration register
41042    ///
41043    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
41044    ///
41045    ///For information about available fields see [pllsai1cfgr](pllsai1cfgr) module
41046    pub type PLLSAI1CFGR = crate::Reg<u32, _PLLSAI1CFGR>;
41047    #[allow(missing_docs)]
41048    #[doc(hidden)]
41049    pub struct _PLLSAI1CFGR;
41050    ///`read()` method returns [pllsai1cfgr::R](pllsai1cfgr::R) reader structure
41051    impl crate::Readable for PLLSAI1CFGR {}
41052    ///`write(|w| ..)` method takes [pllsai1cfgr::W](pllsai1cfgr::W) writer structure
41053    impl crate::Writable for PLLSAI1CFGR {}
41054    ///PLLSAI1 configuration register
41055    pub mod pllsai1cfgr {
41056        ///Reader of register PLLSAI1CFGR
41057        pub type R = crate::R<u32, super::PLLSAI1CFGR>;
41058        ///Writer for register PLLSAI1CFGR
41059        pub type W = crate::W<u32, super::PLLSAI1CFGR>;
41060        ///Register PLLSAI1CFGR `reset()`'s with value 0x2204_0100
41061        impl crate::ResetValue for super::PLLSAI1CFGR {
41062            type Type = u32;
41063            #[inline(always)]
41064            fn reset_value() -> Self::Type {
41065                0x2204_0100
41066            }
41067        }
41068        ///Reader of field `PLLR`
41069        pub type PLLR_R = crate::R<u8, u8>;
41070        ///Write proxy for field `PLLR`
41071        pub struct PLLR_W<'a> {
41072            w: &'a mut W,
41073        }
41074        impl<'a> PLLR_W<'a> {
41075            ///Writes raw bits to the field
41076            #[inline(always)]
41077            pub unsafe fn bits(self, value: u8) -> &'a mut W {
41078                self.w.bits = (self.w.bits & !(0x07 << 29)) | (((value as u32) & 0x07) << 29);
41079                self.w
41080            }
41081        }
41082        ///Reader of field `PLLREN`
41083        pub type PLLREN_R = crate::R<bool, bool>;
41084        ///Write proxy for field `PLLREN`
41085        pub struct PLLREN_W<'a> {
41086            w: &'a mut W,
41087        }
41088        impl<'a> PLLREN_W<'a> {
41089            ///Sets the field bit
41090            #[inline(always)]
41091            pub fn set_bit(self) -> &'a mut W {
41092                self.bit(true)
41093            }
41094            ///Clears the field bit
41095            #[inline(always)]
41096            pub fn clear_bit(self) -> &'a mut W {
41097                self.bit(false)
41098            }
41099            ///Writes raw bits to the field
41100            #[inline(always)]
41101            pub fn bit(self, value: bool) -> &'a mut W {
41102                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
41103                self.w
41104            }
41105        }
41106        ///Reader of field `PLLQ`
41107        pub type PLLQ_R = crate::R<u8, u8>;
41108        ///Write proxy for field `PLLQ`
41109        pub struct PLLQ_W<'a> {
41110            w: &'a mut W,
41111        }
41112        impl<'a> PLLQ_W<'a> {
41113            ///Writes raw bits to the field
41114            #[inline(always)]
41115            pub unsafe fn bits(self, value: u8) -> &'a mut W {
41116                self.w.bits = (self.w.bits & !(0x07 << 25)) | (((value as u32) & 0x07) << 25);
41117                self.w
41118            }
41119        }
41120        ///Reader of field `PLLQEN`
41121        pub type PLLQEN_R = crate::R<bool, bool>;
41122        ///Write proxy for field `PLLQEN`
41123        pub struct PLLQEN_W<'a> {
41124            w: &'a mut W,
41125        }
41126        impl<'a> PLLQEN_W<'a> {
41127            ///Sets the field bit
41128            #[inline(always)]
41129            pub fn set_bit(self) -> &'a mut W {
41130                self.bit(true)
41131            }
41132            ///Clears the field bit
41133            #[inline(always)]
41134            pub fn clear_bit(self) -> &'a mut W {
41135                self.bit(false)
41136            }
41137            ///Writes raw bits to the field
41138            #[inline(always)]
41139            pub fn bit(self, value: bool) -> &'a mut W {
41140                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
41141                self.w
41142            }
41143        }
41144        ///Reader of field `PLLP`
41145        pub type PLLP_R = crate::R<u8, u8>;
41146        ///Write proxy for field `PLLP`
41147        pub struct PLLP_W<'a> {
41148            w: &'a mut W,
41149        }
41150        impl<'a> PLLP_W<'a> {
41151            ///Writes raw bits to the field
41152            #[inline(always)]
41153            pub unsafe fn bits(self, value: u8) -> &'a mut W {
41154                self.w.bits = (self.w.bits & !(0x1f << 17)) | (((value as u32) & 0x1f) << 17);
41155                self.w
41156            }
41157        }
41158        ///Reader of field `PLLPEN`
41159        pub type PLLPEN_R = crate::R<bool, bool>;
41160        ///Write proxy for field `PLLPEN`
41161        pub struct PLLPEN_W<'a> {
41162            w: &'a mut W,
41163        }
41164        impl<'a> PLLPEN_W<'a> {
41165            ///Sets the field bit
41166            #[inline(always)]
41167            pub fn set_bit(self) -> &'a mut W {
41168                self.bit(true)
41169            }
41170            ///Clears the field bit
41171            #[inline(always)]
41172            pub fn clear_bit(self) -> &'a mut W {
41173                self.bit(false)
41174            }
41175            ///Writes raw bits to the field
41176            #[inline(always)]
41177            pub fn bit(self, value: bool) -> &'a mut W {
41178                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
41179                self.w
41180            }
41181        }
41182        ///Reader of field `PLLN`
41183        pub type PLLN_R = crate::R<u8, u8>;
41184        ///Write proxy for field `PLLN`
41185        pub struct PLLN_W<'a> {
41186            w: &'a mut W,
41187        }
41188        impl<'a> PLLN_W<'a> {
41189            ///Writes raw bits to the field
41190            #[inline(always)]
41191            pub unsafe fn bits(self, value: u8) -> &'a mut W {
41192                self.w.bits = (self.w.bits & !(0x7f << 8)) | (((value as u32) & 0x7f) << 8);
41193                self.w
41194            }
41195        }
41196        impl R {
41197            ///Bits 29:31 - PLLSAI division factor R for PLLADC1CLK (ADC clock)
41198            #[inline(always)]
41199            pub fn pllr(&self) -> PLLR_R {
41200                PLLR_R::new(((self.bits >> 29) & 0x07) as u8)
41201            }
41202            ///Bit 28 - PLLSAI PLLADC1CLK output enable
41203            #[inline(always)]
41204            pub fn pllren(&self) -> PLLREN_R {
41205                PLLREN_R::new(((self.bits >> 28) & 0x01) != 0)
41206            }
41207            ///Bits 25:27 - SAIPLL division factor Q for PLLSAIUSBCLK (48 MHz clock)
41208            #[inline(always)]
41209            pub fn pllq(&self) -> PLLQ_R {
41210                PLLQ_R::new(((self.bits >> 25) & 0x07) as u8)
41211            }
41212            ///Bit 24 - SAIPLL PLLSAIUSBCLK output enable
41213            #[inline(always)]
41214            pub fn pllqen(&self) -> PLLQEN_R {
41215                PLLQEN_R::new(((self.bits >> 24) & 0x01) != 0)
41216            }
41217            ///Bits 17:21 - SAI1PLL division factor P for PLLSAICLK (SAI1clock)
41218            #[inline(always)]
41219            pub fn pllp(&self) -> PLLP_R {
41220                PLLP_R::new(((self.bits >> 17) & 0x1f) as u8)
41221            }
41222            ///Bit 16 - SAIPLL PLLSAI1CLK output enable
41223            #[inline(always)]
41224            pub fn pllpen(&self) -> PLLPEN_R {
41225                PLLPEN_R::new(((self.bits >> 16) & 0x01) != 0)
41226            }
41227            ///Bits 8:14 - SAIPLL multiplication factor for VCO
41228            #[inline(always)]
41229            pub fn plln(&self) -> PLLN_R {
41230                PLLN_R::new(((self.bits >> 8) & 0x7f) as u8)
41231            }
41232        }
41233        impl W {
41234            ///Bits 29:31 - PLLSAI division factor R for PLLADC1CLK (ADC clock)
41235            #[inline(always)]
41236            pub fn pllr(&mut self) -> PLLR_W {
41237                PLLR_W { w: self }
41238            }
41239            ///Bit 28 - PLLSAI PLLADC1CLK output enable
41240            #[inline(always)]
41241            pub fn pllren(&mut self) -> PLLREN_W {
41242                PLLREN_W { w: self }
41243            }
41244            ///Bits 25:27 - SAIPLL division factor Q for PLLSAIUSBCLK (48 MHz clock)
41245            #[inline(always)]
41246            pub fn pllq(&mut self) -> PLLQ_W {
41247                PLLQ_W { w: self }
41248            }
41249            ///Bit 24 - SAIPLL PLLSAIUSBCLK output enable
41250            #[inline(always)]
41251            pub fn pllqen(&mut self) -> PLLQEN_W {
41252                PLLQEN_W { w: self }
41253            }
41254            ///Bits 17:21 - SAI1PLL division factor P for PLLSAICLK (SAI1clock)
41255            #[inline(always)]
41256            pub fn pllp(&mut self) -> PLLP_W {
41257                PLLP_W { w: self }
41258            }
41259            ///Bit 16 - SAIPLL PLLSAI1CLK output enable
41260            #[inline(always)]
41261            pub fn pllpen(&mut self) -> PLLPEN_W {
41262                PLLPEN_W { w: self }
41263            }
41264            ///Bits 8:14 - SAIPLL multiplication factor for VCO
41265            #[inline(always)]
41266            pub fn plln(&mut self) -> PLLN_W {
41267                PLLN_W { w: self }
41268            }
41269        }
41270    }
41271    ///Clock interrupt enable register
41272    ///
41273    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
41274    ///
41275    ///For information about available fields see [cier](cier) module
41276    pub type CIER = crate::Reg<u32, _CIER>;
41277    #[allow(missing_docs)]
41278    #[doc(hidden)]
41279    pub struct _CIER;
41280    ///`read()` method returns [cier::R](cier::R) reader structure
41281    impl crate::Readable for CIER {}
41282    ///`write(|w| ..)` method takes [cier::W](cier::W) writer structure
41283    impl crate::Writable for CIER {}
41284    ///Clock interrupt enable register
41285    pub mod cier {
41286        ///Reader of register CIER
41287        pub type R = crate::R<u32, super::CIER>;
41288        ///Writer for register CIER
41289        pub type W = crate::W<u32, super::CIER>;
41290        ///Register CIER `reset()`'s with value 0
41291        impl crate::ResetValue for super::CIER {
41292            type Type = u32;
41293            #[inline(always)]
41294            fn reset_value() -> Self::Type {
41295                0
41296            }
41297        }
41298        ///Reader of field `LSI2RDYIE`
41299        pub type LSI2RDYIE_R = crate::R<bool, bool>;
41300        ///Write proxy for field `LSI2RDYIE`
41301        pub struct LSI2RDYIE_W<'a> {
41302            w: &'a mut W,
41303        }
41304        impl<'a> LSI2RDYIE_W<'a> {
41305            ///Sets the field bit
41306            #[inline(always)]
41307            pub fn set_bit(self) -> &'a mut W {
41308                self.bit(true)
41309            }
41310            ///Clears the field bit
41311            #[inline(always)]
41312            pub fn clear_bit(self) -> &'a mut W {
41313                self.bit(false)
41314            }
41315            ///Writes raw bits to the field
41316            #[inline(always)]
41317            pub fn bit(self, value: bool) -> &'a mut W {
41318                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
41319                self.w
41320            }
41321        }
41322        ///Reader of field `HSI48RDYIE`
41323        pub type HSI48RDYIE_R = crate::R<bool, bool>;
41324        ///Write proxy for field `HSI48RDYIE`
41325        pub struct HSI48RDYIE_W<'a> {
41326            w: &'a mut W,
41327        }
41328        impl<'a> HSI48RDYIE_W<'a> {
41329            ///Sets the field bit
41330            #[inline(always)]
41331            pub fn set_bit(self) -> &'a mut W {
41332                self.bit(true)
41333            }
41334            ///Clears the field bit
41335            #[inline(always)]
41336            pub fn clear_bit(self) -> &'a mut W {
41337                self.bit(false)
41338            }
41339            ///Writes raw bits to the field
41340            #[inline(always)]
41341            pub fn bit(self, value: bool) -> &'a mut W {
41342                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
41343                self.w
41344            }
41345        }
41346        ///Reader of field `LSECSSIE`
41347        pub type LSECSSIE_R = crate::R<bool, bool>;
41348        ///Write proxy for field `LSECSSIE`
41349        pub struct LSECSSIE_W<'a> {
41350            w: &'a mut W,
41351        }
41352        impl<'a> LSECSSIE_W<'a> {
41353            ///Sets the field bit
41354            #[inline(always)]
41355            pub fn set_bit(self) -> &'a mut W {
41356                self.bit(true)
41357            }
41358            ///Clears the field bit
41359            #[inline(always)]
41360            pub fn clear_bit(self) -> &'a mut W {
41361                self.bit(false)
41362            }
41363            ///Writes raw bits to the field
41364            #[inline(always)]
41365            pub fn bit(self, value: bool) -> &'a mut W {
41366                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
41367                self.w
41368            }
41369        }
41370        ///Reader of field `PLLSAI1RDYIE`
41371        pub type PLLSAI1RDYIE_R = crate::R<bool, bool>;
41372        ///Write proxy for field `PLLSAI1RDYIE`
41373        pub struct PLLSAI1RDYIE_W<'a> {
41374            w: &'a mut W,
41375        }
41376        impl<'a> PLLSAI1RDYIE_W<'a> {
41377            ///Sets the field bit
41378            #[inline(always)]
41379            pub fn set_bit(self) -> &'a mut W {
41380                self.bit(true)
41381            }
41382            ///Clears the field bit
41383            #[inline(always)]
41384            pub fn clear_bit(self) -> &'a mut W {
41385                self.bit(false)
41386            }
41387            ///Writes raw bits to the field
41388            #[inline(always)]
41389            pub fn bit(self, value: bool) -> &'a mut W {
41390                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
41391                self.w
41392            }
41393        }
41394        ///Reader of field `PLLRDYIE`
41395        pub type PLLRDYIE_R = crate::R<bool, bool>;
41396        ///Write proxy for field `PLLRDYIE`
41397        pub struct PLLRDYIE_W<'a> {
41398            w: &'a mut W,
41399        }
41400        impl<'a> PLLRDYIE_W<'a> {
41401            ///Sets the field bit
41402            #[inline(always)]
41403            pub fn set_bit(self) -> &'a mut W {
41404                self.bit(true)
41405            }
41406            ///Clears the field bit
41407            #[inline(always)]
41408            pub fn clear_bit(self) -> &'a mut W {
41409                self.bit(false)
41410            }
41411            ///Writes raw bits to the field
41412            #[inline(always)]
41413            pub fn bit(self, value: bool) -> &'a mut W {
41414                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
41415                self.w
41416            }
41417        }
41418        ///Reader of field `HSERDYIE`
41419        pub type HSERDYIE_R = crate::R<bool, bool>;
41420        ///Write proxy for field `HSERDYIE`
41421        pub struct HSERDYIE_W<'a> {
41422            w: &'a mut W,
41423        }
41424        impl<'a> HSERDYIE_W<'a> {
41425            ///Sets the field bit
41426            #[inline(always)]
41427            pub fn set_bit(self) -> &'a mut W {
41428                self.bit(true)
41429            }
41430            ///Clears the field bit
41431            #[inline(always)]
41432            pub fn clear_bit(self) -> &'a mut W {
41433                self.bit(false)
41434            }
41435            ///Writes raw bits to the field
41436            #[inline(always)]
41437            pub fn bit(self, value: bool) -> &'a mut W {
41438                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
41439                self.w
41440            }
41441        }
41442        ///Reader of field `HSIRDYIE`
41443        pub type HSIRDYIE_R = crate::R<bool, bool>;
41444        ///Write proxy for field `HSIRDYIE`
41445        pub struct HSIRDYIE_W<'a> {
41446            w: &'a mut W,
41447        }
41448        impl<'a> HSIRDYIE_W<'a> {
41449            ///Sets the field bit
41450            #[inline(always)]
41451            pub fn set_bit(self) -> &'a mut W {
41452                self.bit(true)
41453            }
41454            ///Clears the field bit
41455            #[inline(always)]
41456            pub fn clear_bit(self) -> &'a mut W {
41457                self.bit(false)
41458            }
41459            ///Writes raw bits to the field
41460            #[inline(always)]
41461            pub fn bit(self, value: bool) -> &'a mut W {
41462                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
41463                self.w
41464            }
41465        }
41466        ///Reader of field `MSIRDYIE`
41467        pub type MSIRDYIE_R = crate::R<bool, bool>;
41468        ///Write proxy for field `MSIRDYIE`
41469        pub struct MSIRDYIE_W<'a> {
41470            w: &'a mut W,
41471        }
41472        impl<'a> MSIRDYIE_W<'a> {
41473            ///Sets the field bit
41474            #[inline(always)]
41475            pub fn set_bit(self) -> &'a mut W {
41476                self.bit(true)
41477            }
41478            ///Clears the field bit
41479            #[inline(always)]
41480            pub fn clear_bit(self) -> &'a mut W {
41481                self.bit(false)
41482            }
41483            ///Writes raw bits to the field
41484            #[inline(always)]
41485            pub fn bit(self, value: bool) -> &'a mut W {
41486                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
41487                self.w
41488            }
41489        }
41490        ///Reader of field `LSERDYIE`
41491        pub type LSERDYIE_R = crate::R<bool, bool>;
41492        ///Write proxy for field `LSERDYIE`
41493        pub struct LSERDYIE_W<'a> {
41494            w: &'a mut W,
41495        }
41496        impl<'a> LSERDYIE_W<'a> {
41497            ///Sets the field bit
41498            #[inline(always)]
41499            pub fn set_bit(self) -> &'a mut W {
41500                self.bit(true)
41501            }
41502            ///Clears the field bit
41503            #[inline(always)]
41504            pub fn clear_bit(self) -> &'a mut W {
41505                self.bit(false)
41506            }
41507            ///Writes raw bits to the field
41508            #[inline(always)]
41509            pub fn bit(self, value: bool) -> &'a mut W {
41510                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
41511                self.w
41512            }
41513        }
41514        ///Reader of field `LSI1RDYIE`
41515        pub type LSI1RDYIE_R = crate::R<bool, bool>;
41516        ///Write proxy for field `LSI1RDYIE`
41517        pub struct LSI1RDYIE_W<'a> {
41518            w: &'a mut W,
41519        }
41520        impl<'a> LSI1RDYIE_W<'a> {
41521            ///Sets the field bit
41522            #[inline(always)]
41523            pub fn set_bit(self) -> &'a mut W {
41524                self.bit(true)
41525            }
41526            ///Clears the field bit
41527            #[inline(always)]
41528            pub fn clear_bit(self) -> &'a mut W {
41529                self.bit(false)
41530            }
41531            ///Writes raw bits to the field
41532            #[inline(always)]
41533            pub fn bit(self, value: bool) -> &'a mut W {
41534                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
41535                self.w
41536            }
41537        }
41538        impl R {
41539            ///Bit 11 - LSI2 ready interrupt enable
41540            #[inline(always)]
41541            pub fn lsi2rdyie(&self) -> LSI2RDYIE_R {
41542                LSI2RDYIE_R::new(((self.bits >> 11) & 0x01) != 0)
41543            }
41544            ///Bit 10 - HSI48 ready interrupt enable
41545            #[inline(always)]
41546            pub fn hsi48rdyie(&self) -> HSI48RDYIE_R {
41547                HSI48RDYIE_R::new(((self.bits >> 10) & 0x01) != 0)
41548            }
41549            ///Bit 9 - LSE clock security system interrupt enable
41550            #[inline(always)]
41551            pub fn lsecssie(&self) -> LSECSSIE_R {
41552                LSECSSIE_R::new(((self.bits >> 9) & 0x01) != 0)
41553            }
41554            ///Bit 6 - PLLSAI1 ready interrupt enable
41555            #[inline(always)]
41556            pub fn pllsai1rdyie(&self) -> PLLSAI1RDYIE_R {
41557                PLLSAI1RDYIE_R::new(((self.bits >> 6) & 0x01) != 0)
41558            }
41559            ///Bit 5 - PLLSYS ready interrupt enable
41560            #[inline(always)]
41561            pub fn pllrdyie(&self) -> PLLRDYIE_R {
41562                PLLRDYIE_R::new(((self.bits >> 5) & 0x01) != 0)
41563            }
41564            ///Bit 4 - HSE ready interrupt enable
41565            #[inline(always)]
41566            pub fn hserdyie(&self) -> HSERDYIE_R {
41567                HSERDYIE_R::new(((self.bits >> 4) & 0x01) != 0)
41568            }
41569            ///Bit 3 - HSI ready interrupt enable
41570            #[inline(always)]
41571            pub fn hsirdyie(&self) -> HSIRDYIE_R {
41572                HSIRDYIE_R::new(((self.bits >> 3) & 0x01) != 0)
41573            }
41574            ///Bit 2 - MSI ready interrupt enable
41575            #[inline(always)]
41576            pub fn msirdyie(&self) -> MSIRDYIE_R {
41577                MSIRDYIE_R::new(((self.bits >> 2) & 0x01) != 0)
41578            }
41579            ///Bit 1 - LSE ready interrupt enable
41580            #[inline(always)]
41581            pub fn lserdyie(&self) -> LSERDYIE_R {
41582                LSERDYIE_R::new(((self.bits >> 1) & 0x01) != 0)
41583            }
41584            ///Bit 0 - LSI1 ready interrupt enable
41585            #[inline(always)]
41586            pub fn lsi1rdyie(&self) -> LSI1RDYIE_R {
41587                LSI1RDYIE_R::new((self.bits & 0x01) != 0)
41588            }
41589        }
41590        impl W {
41591            ///Bit 11 - LSI2 ready interrupt enable
41592            #[inline(always)]
41593            pub fn lsi2rdyie(&mut self) -> LSI2RDYIE_W {
41594                LSI2RDYIE_W { w: self }
41595            }
41596            ///Bit 10 - HSI48 ready interrupt enable
41597            #[inline(always)]
41598            pub fn hsi48rdyie(&mut self) -> HSI48RDYIE_W {
41599                HSI48RDYIE_W { w: self }
41600            }
41601            ///Bit 9 - LSE clock security system interrupt enable
41602            #[inline(always)]
41603            pub fn lsecssie(&mut self) -> LSECSSIE_W {
41604                LSECSSIE_W { w: self }
41605            }
41606            ///Bit 6 - PLLSAI1 ready interrupt enable
41607            #[inline(always)]
41608            pub fn pllsai1rdyie(&mut self) -> PLLSAI1RDYIE_W {
41609                PLLSAI1RDYIE_W { w: self }
41610            }
41611            ///Bit 5 - PLLSYS ready interrupt enable
41612            #[inline(always)]
41613            pub fn pllrdyie(&mut self) -> PLLRDYIE_W {
41614                PLLRDYIE_W { w: self }
41615            }
41616            ///Bit 4 - HSE ready interrupt enable
41617            #[inline(always)]
41618            pub fn hserdyie(&mut self) -> HSERDYIE_W {
41619                HSERDYIE_W { w: self }
41620            }
41621            ///Bit 3 - HSI ready interrupt enable
41622            #[inline(always)]
41623            pub fn hsirdyie(&mut self) -> HSIRDYIE_W {
41624                HSIRDYIE_W { w: self }
41625            }
41626            ///Bit 2 - MSI ready interrupt enable
41627            #[inline(always)]
41628            pub fn msirdyie(&mut self) -> MSIRDYIE_W {
41629                MSIRDYIE_W { w: self }
41630            }
41631            ///Bit 1 - LSE ready interrupt enable
41632            #[inline(always)]
41633            pub fn lserdyie(&mut self) -> LSERDYIE_W {
41634                LSERDYIE_W { w: self }
41635            }
41636            ///Bit 0 - LSI1 ready interrupt enable
41637            #[inline(always)]
41638            pub fn lsi1rdyie(&mut self) -> LSI1RDYIE_W {
41639                LSI1RDYIE_W { w: self }
41640            }
41641        }
41642    }
41643    ///Clock interrupt flag register
41644    ///
41645    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
41646    ///
41647    ///For information about available fields see [cifr](cifr) module
41648    pub type CIFR = crate::Reg<u32, _CIFR>;
41649    #[allow(missing_docs)]
41650    #[doc(hidden)]
41651    pub struct _CIFR;
41652    ///`read()` method returns [cifr::R](cifr::R) reader structure
41653    impl crate::Readable for CIFR {}
41654    ///Clock interrupt flag register
41655    pub mod cifr {
41656        ///Reader of register CIFR
41657        pub type R = crate::R<u32, super::CIFR>;
41658        ///Reader of field `LSI2RDYF`
41659        pub type LSI2RDYF_R = crate::R<bool, bool>;
41660        ///Reader of field `HSI48RDYF`
41661        pub type HSI48RDYF_R = crate::R<bool, bool>;
41662        ///Reader of field `LSECSSF`
41663        pub type LSECSSF_R = crate::R<bool, bool>;
41664        ///Reader of field `HSECSSF`
41665        pub type HSECSSF_R = crate::R<bool, bool>;
41666        ///Reader of field `PLLSAI1RDYF`
41667        pub type PLLSAI1RDYF_R = crate::R<bool, bool>;
41668        ///Reader of field `PLLRDYF`
41669        pub type PLLRDYF_R = crate::R<bool, bool>;
41670        ///Reader of field `HSERDYF`
41671        pub type HSERDYF_R = crate::R<bool, bool>;
41672        ///Reader of field `HSIRDYF`
41673        pub type HSIRDYF_R = crate::R<bool, bool>;
41674        ///Reader of field `MSIRDYF`
41675        pub type MSIRDYF_R = crate::R<bool, bool>;
41676        ///Reader of field `LSERDYF`
41677        pub type LSERDYF_R = crate::R<bool, bool>;
41678        ///Reader of field `LSI1RDYF`
41679        pub type LSI1RDYF_R = crate::R<bool, bool>;
41680        impl R {
41681            ///Bit 11 - LSI2 ready interrupt flag
41682            #[inline(always)]
41683            pub fn lsi2rdyf(&self) -> LSI2RDYF_R {
41684                LSI2RDYF_R::new(((self.bits >> 11) & 0x01) != 0)
41685            }
41686            ///Bit 10 - HSI48 ready interrupt flag
41687            #[inline(always)]
41688            pub fn hsi48rdyf(&self) -> HSI48RDYF_R {
41689                HSI48RDYF_R::new(((self.bits >> 10) & 0x01) != 0)
41690            }
41691            ///Bit 9 - LSE Clock security system interrupt flag
41692            #[inline(always)]
41693            pub fn lsecssf(&self) -> LSECSSF_R {
41694                LSECSSF_R::new(((self.bits >> 9) & 0x01) != 0)
41695            }
41696            ///Bit 8 - HSE Clock security system interrupt flag
41697            #[inline(always)]
41698            pub fn hsecssf(&self) -> HSECSSF_R {
41699                HSECSSF_R::new(((self.bits >> 8) & 0x01) != 0)
41700            }
41701            ///Bit 6 - PLLSAI1 ready interrupt flag
41702            #[inline(always)]
41703            pub fn pllsai1rdyf(&self) -> PLLSAI1RDYF_R {
41704                PLLSAI1RDYF_R::new(((self.bits >> 6) & 0x01) != 0)
41705            }
41706            ///Bit 5 - PLL ready interrupt flag
41707            #[inline(always)]
41708            pub fn pllrdyf(&self) -> PLLRDYF_R {
41709                PLLRDYF_R::new(((self.bits >> 5) & 0x01) != 0)
41710            }
41711            ///Bit 4 - HSE ready interrupt flag
41712            #[inline(always)]
41713            pub fn hserdyf(&self) -> HSERDYF_R {
41714                HSERDYF_R::new(((self.bits >> 4) & 0x01) != 0)
41715            }
41716            ///Bit 3 - HSI ready interrupt flag
41717            #[inline(always)]
41718            pub fn hsirdyf(&self) -> HSIRDYF_R {
41719                HSIRDYF_R::new(((self.bits >> 3) & 0x01) != 0)
41720            }
41721            ///Bit 2 - MSI ready interrupt flag
41722            #[inline(always)]
41723            pub fn msirdyf(&self) -> MSIRDYF_R {
41724                MSIRDYF_R::new(((self.bits >> 2) & 0x01) != 0)
41725            }
41726            ///Bit 1 - LSE ready interrupt flag
41727            #[inline(always)]
41728            pub fn lserdyf(&self) -> LSERDYF_R {
41729                LSERDYF_R::new(((self.bits >> 1) & 0x01) != 0)
41730            }
41731            ///Bit 0 - LSI1 ready interrupt flag
41732            #[inline(always)]
41733            pub fn lsi1rdyf(&self) -> LSI1RDYF_R {
41734                LSI1RDYF_R::new((self.bits & 0x01) != 0)
41735            }
41736        }
41737    }
41738    ///Clock interrupt clear register
41739    ///
41740    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
41741    ///
41742    ///For information about available fields see [cicr](cicr) module
41743    pub type CICR = crate::Reg<u32, _CICR>;
41744    #[allow(missing_docs)]
41745    #[doc(hidden)]
41746    pub struct _CICR;
41747    ///`write(|w| ..)` method takes [cicr::W](cicr::W) writer structure
41748    impl crate::Writable for CICR {}
41749    ///Clock interrupt clear register
41750    pub mod cicr {
41751        ///Writer for register CICR
41752        pub type W = crate::W<u32, super::CICR>;
41753        ///Register CICR `reset()`'s with value 0
41754        impl crate::ResetValue for super::CICR {
41755            type Type = u32;
41756            #[inline(always)]
41757            fn reset_value() -> Self::Type {
41758                0
41759            }
41760        }
41761        ///Write proxy for field `LSI2RDYC`
41762        pub struct LSI2RDYC_W<'a> {
41763            w: &'a mut W,
41764        }
41765        impl<'a> LSI2RDYC_W<'a> {
41766            ///Sets the field bit
41767            #[inline(always)]
41768            pub fn set_bit(self) -> &'a mut W {
41769                self.bit(true)
41770            }
41771            ///Clears the field bit
41772            #[inline(always)]
41773            pub fn clear_bit(self) -> &'a mut W {
41774                self.bit(false)
41775            }
41776            ///Writes raw bits to the field
41777            #[inline(always)]
41778            pub fn bit(self, value: bool) -> &'a mut W {
41779                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
41780                self.w
41781            }
41782        }
41783        ///Write proxy for field `HSI48RDYC`
41784        pub struct HSI48RDYC_W<'a> {
41785            w: &'a mut W,
41786        }
41787        impl<'a> HSI48RDYC_W<'a> {
41788            ///Sets the field bit
41789            #[inline(always)]
41790            pub fn set_bit(self) -> &'a mut W {
41791                self.bit(true)
41792            }
41793            ///Clears the field bit
41794            #[inline(always)]
41795            pub fn clear_bit(self) -> &'a mut W {
41796                self.bit(false)
41797            }
41798            ///Writes raw bits to the field
41799            #[inline(always)]
41800            pub fn bit(self, value: bool) -> &'a mut W {
41801                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
41802                self.w
41803            }
41804        }
41805        ///Write proxy for field `LSECSSC`
41806        pub struct LSECSSC_W<'a> {
41807            w: &'a mut W,
41808        }
41809        impl<'a> LSECSSC_W<'a> {
41810            ///Sets the field bit
41811            #[inline(always)]
41812            pub fn set_bit(self) -> &'a mut W {
41813                self.bit(true)
41814            }
41815            ///Clears the field bit
41816            #[inline(always)]
41817            pub fn clear_bit(self) -> &'a mut W {
41818                self.bit(false)
41819            }
41820            ///Writes raw bits to the field
41821            #[inline(always)]
41822            pub fn bit(self, value: bool) -> &'a mut W {
41823                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
41824                self.w
41825            }
41826        }
41827        ///Write proxy for field `HSECSSC`
41828        pub struct HSECSSC_W<'a> {
41829            w: &'a mut W,
41830        }
41831        impl<'a> HSECSSC_W<'a> {
41832            ///Sets the field bit
41833            #[inline(always)]
41834            pub fn set_bit(self) -> &'a mut W {
41835                self.bit(true)
41836            }
41837            ///Clears the field bit
41838            #[inline(always)]
41839            pub fn clear_bit(self) -> &'a mut W {
41840                self.bit(false)
41841            }
41842            ///Writes raw bits to the field
41843            #[inline(always)]
41844            pub fn bit(self, value: bool) -> &'a mut W {
41845                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
41846                self.w
41847            }
41848        }
41849        ///Write proxy for field `PLLSAI1RDYC`
41850        pub struct PLLSAI1RDYC_W<'a> {
41851            w: &'a mut W,
41852        }
41853        impl<'a> PLLSAI1RDYC_W<'a> {
41854            ///Sets the field bit
41855            #[inline(always)]
41856            pub fn set_bit(self) -> &'a mut W {
41857                self.bit(true)
41858            }
41859            ///Clears the field bit
41860            #[inline(always)]
41861            pub fn clear_bit(self) -> &'a mut W {
41862                self.bit(false)
41863            }
41864            ///Writes raw bits to the field
41865            #[inline(always)]
41866            pub fn bit(self, value: bool) -> &'a mut W {
41867                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
41868                self.w
41869            }
41870        }
41871        ///Write proxy for field `PLLRDYC`
41872        pub struct PLLRDYC_W<'a> {
41873            w: &'a mut W,
41874        }
41875        impl<'a> PLLRDYC_W<'a> {
41876            ///Sets the field bit
41877            #[inline(always)]
41878            pub fn set_bit(self) -> &'a mut W {
41879                self.bit(true)
41880            }
41881            ///Clears the field bit
41882            #[inline(always)]
41883            pub fn clear_bit(self) -> &'a mut W {
41884                self.bit(false)
41885            }
41886            ///Writes raw bits to the field
41887            #[inline(always)]
41888            pub fn bit(self, value: bool) -> &'a mut W {
41889                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
41890                self.w
41891            }
41892        }
41893        ///Write proxy for field `HSERDYC`
41894        pub struct HSERDYC_W<'a> {
41895            w: &'a mut W,
41896        }
41897        impl<'a> HSERDYC_W<'a> {
41898            ///Sets the field bit
41899            #[inline(always)]
41900            pub fn set_bit(self) -> &'a mut W {
41901                self.bit(true)
41902            }
41903            ///Clears the field bit
41904            #[inline(always)]
41905            pub fn clear_bit(self) -> &'a mut W {
41906                self.bit(false)
41907            }
41908            ///Writes raw bits to the field
41909            #[inline(always)]
41910            pub fn bit(self, value: bool) -> &'a mut W {
41911                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
41912                self.w
41913            }
41914        }
41915        ///Write proxy for field `HSIRDYC`
41916        pub struct HSIRDYC_W<'a> {
41917            w: &'a mut W,
41918        }
41919        impl<'a> HSIRDYC_W<'a> {
41920            ///Sets the field bit
41921            #[inline(always)]
41922            pub fn set_bit(self) -> &'a mut W {
41923                self.bit(true)
41924            }
41925            ///Clears the field bit
41926            #[inline(always)]
41927            pub fn clear_bit(self) -> &'a mut W {
41928                self.bit(false)
41929            }
41930            ///Writes raw bits to the field
41931            #[inline(always)]
41932            pub fn bit(self, value: bool) -> &'a mut W {
41933                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
41934                self.w
41935            }
41936        }
41937        ///Write proxy for field `MSIRDYC`
41938        pub struct MSIRDYC_W<'a> {
41939            w: &'a mut W,
41940        }
41941        impl<'a> MSIRDYC_W<'a> {
41942            ///Sets the field bit
41943            #[inline(always)]
41944            pub fn set_bit(self) -> &'a mut W {
41945                self.bit(true)
41946            }
41947            ///Clears the field bit
41948            #[inline(always)]
41949            pub fn clear_bit(self) -> &'a mut W {
41950                self.bit(false)
41951            }
41952            ///Writes raw bits to the field
41953            #[inline(always)]
41954            pub fn bit(self, value: bool) -> &'a mut W {
41955                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
41956                self.w
41957            }
41958        }
41959        ///Write proxy for field `LSERDYC`
41960        pub struct LSERDYC_W<'a> {
41961            w: &'a mut W,
41962        }
41963        impl<'a> LSERDYC_W<'a> {
41964            ///Sets the field bit
41965            #[inline(always)]
41966            pub fn set_bit(self) -> &'a mut W {
41967                self.bit(true)
41968            }
41969            ///Clears the field bit
41970            #[inline(always)]
41971            pub fn clear_bit(self) -> &'a mut W {
41972                self.bit(false)
41973            }
41974            ///Writes raw bits to the field
41975            #[inline(always)]
41976            pub fn bit(self, value: bool) -> &'a mut W {
41977                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
41978                self.w
41979            }
41980        }
41981        ///Write proxy for field `LSI1RDYC`
41982        pub struct LSI1RDYC_W<'a> {
41983            w: &'a mut W,
41984        }
41985        impl<'a> LSI1RDYC_W<'a> {
41986            ///Sets the field bit
41987            #[inline(always)]
41988            pub fn set_bit(self) -> &'a mut W {
41989                self.bit(true)
41990            }
41991            ///Clears the field bit
41992            #[inline(always)]
41993            pub fn clear_bit(self) -> &'a mut W {
41994                self.bit(false)
41995            }
41996            ///Writes raw bits to the field
41997            #[inline(always)]
41998            pub fn bit(self, value: bool) -> &'a mut W {
41999                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
42000                self.w
42001            }
42002        }
42003        impl W {
42004            ///Bit 11 - LSI2 ready interrupt clear
42005            #[inline(always)]
42006            pub fn lsi2rdyc(&mut self) -> LSI2RDYC_W {
42007                LSI2RDYC_W { w: self }
42008            }
42009            ///Bit 10 - HSI48 ready interrupt clear
42010            #[inline(always)]
42011            pub fn hsi48rdyc(&mut self) -> HSI48RDYC_W {
42012                HSI48RDYC_W { w: self }
42013            }
42014            ///Bit 9 - LSE Clock security system interrupt clear
42015            #[inline(always)]
42016            pub fn lsecssc(&mut self) -> LSECSSC_W {
42017                LSECSSC_W { w: self }
42018            }
42019            ///Bit 8 - HSE Clock security system interrupt clear
42020            #[inline(always)]
42021            pub fn hsecssc(&mut self) -> HSECSSC_W {
42022                HSECSSC_W { w: self }
42023            }
42024            ///Bit 6 - PLLSAI1 ready interrupt clear
42025            #[inline(always)]
42026            pub fn pllsai1rdyc(&mut self) -> PLLSAI1RDYC_W {
42027                PLLSAI1RDYC_W { w: self }
42028            }
42029            ///Bit 5 - PLL ready interrupt clear
42030            #[inline(always)]
42031            pub fn pllrdyc(&mut self) -> PLLRDYC_W {
42032                PLLRDYC_W { w: self }
42033            }
42034            ///Bit 4 - HSE ready interrupt clear
42035            #[inline(always)]
42036            pub fn hserdyc(&mut self) -> HSERDYC_W {
42037                HSERDYC_W { w: self }
42038            }
42039            ///Bit 3 - HSI ready interrupt clear
42040            #[inline(always)]
42041            pub fn hsirdyc(&mut self) -> HSIRDYC_W {
42042                HSIRDYC_W { w: self }
42043            }
42044            ///Bit 2 - MSI ready interrupt clear
42045            #[inline(always)]
42046            pub fn msirdyc(&mut self) -> MSIRDYC_W {
42047                MSIRDYC_W { w: self }
42048            }
42049            ///Bit 1 - LSE ready interrupt clear
42050            #[inline(always)]
42051            pub fn lserdyc(&mut self) -> LSERDYC_W {
42052                LSERDYC_W { w: self }
42053            }
42054            ///Bit 0 - LSI1 ready interrupt clear
42055            #[inline(always)]
42056            pub fn lsi1rdyc(&mut self) -> LSI1RDYC_W {
42057                LSI1RDYC_W { w: self }
42058            }
42059        }
42060    }
42061    ///Step Down converter control register
42062    ///
42063    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
42064    ///
42065    ///For information about available fields see [smpscr](smpscr) module
42066    pub type SMPSCR = crate::Reg<u32, _SMPSCR>;
42067    #[allow(missing_docs)]
42068    #[doc(hidden)]
42069    pub struct _SMPSCR;
42070    ///`read()` method returns [smpscr::R](smpscr::R) reader structure
42071    impl crate::Readable for SMPSCR {}
42072    ///`write(|w| ..)` method takes [smpscr::W](smpscr::W) writer structure
42073    impl crate::Writable for SMPSCR {}
42074    ///Step Down converter control register
42075    pub mod smpscr {
42076        ///Reader of register SMPSCR
42077        pub type R = crate::R<u32, super::SMPSCR>;
42078        ///Writer for register SMPSCR
42079        pub type W = crate::W<u32, super::SMPSCR>;
42080        ///Register SMPSCR `reset()`'s with value 0x0301
42081        impl crate::ResetValue for super::SMPSCR {
42082            type Type = u32;
42083            #[inline(always)]
42084            fn reset_value() -> Self::Type {
42085                0x0301
42086            }
42087        }
42088        ///Reader of field `SMPSSWS`
42089        pub type SMPSSWS_R = crate::R<u8, u8>;
42090        ///Reader of field `SMPSDIV`
42091        pub type SMPSDIV_R = crate::R<u8, u8>;
42092        ///Write proxy for field `SMPSDIV`
42093        pub struct SMPSDIV_W<'a> {
42094            w: &'a mut W,
42095        }
42096        impl<'a> SMPSDIV_W<'a> {
42097            ///Writes raw bits to the field
42098            #[inline(always)]
42099            pub unsafe fn bits(self, value: u8) -> &'a mut W {
42100                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u32) & 0x03) << 4);
42101                self.w
42102            }
42103        }
42104        ///Reader of field `SMPSSEL`
42105        pub type SMPSSEL_R = crate::R<u8, u8>;
42106        ///Write proxy for field `SMPSSEL`
42107        pub struct SMPSSEL_W<'a> {
42108            w: &'a mut W,
42109        }
42110        impl<'a> SMPSSEL_W<'a> {
42111            ///Writes raw bits to the field
42112            #[inline(always)]
42113            pub unsafe fn bits(self, value: u8) -> &'a mut W {
42114                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
42115                self.w
42116            }
42117        }
42118        impl R {
42119            ///Bits 8:9 - Step Down converter clock switch status
42120            #[inline(always)]
42121            pub fn smpssws(&self) -> SMPSSWS_R {
42122                SMPSSWS_R::new(((self.bits >> 8) & 0x03) as u8)
42123            }
42124            ///Bits 4:5 - Step Down converter clock prescaler
42125            #[inline(always)]
42126            pub fn smpsdiv(&self) -> SMPSDIV_R {
42127                SMPSDIV_R::new(((self.bits >> 4) & 0x03) as u8)
42128            }
42129            ///Bits 0:1 - Step Down converter clock selection
42130            #[inline(always)]
42131            pub fn smpssel(&self) -> SMPSSEL_R {
42132                SMPSSEL_R::new((self.bits & 0x03) as u8)
42133            }
42134        }
42135        impl W {
42136            ///Bits 4:5 - Step Down converter clock prescaler
42137            #[inline(always)]
42138            pub fn smpsdiv(&mut self) -> SMPSDIV_W {
42139                SMPSDIV_W { w: self }
42140            }
42141            ///Bits 0:1 - Step Down converter clock selection
42142            #[inline(always)]
42143            pub fn smpssel(&mut self) -> SMPSSEL_W {
42144                SMPSSEL_W { w: self }
42145            }
42146        }
42147    }
42148    ///AHB1 peripheral reset register
42149    ///
42150    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
42151    ///
42152    ///For information about available fields see [ahb1rstr](ahb1rstr) module
42153    pub type AHB1RSTR = crate::Reg<u32, _AHB1RSTR>;
42154    #[allow(missing_docs)]
42155    #[doc(hidden)]
42156    pub struct _AHB1RSTR;
42157    ///`read()` method returns [ahb1rstr::R](ahb1rstr::R) reader structure
42158    impl crate::Readable for AHB1RSTR {}
42159    ///`write(|w| ..)` method takes [ahb1rstr::W](ahb1rstr::W) writer structure
42160    impl crate::Writable for AHB1RSTR {}
42161    ///AHB1 peripheral reset register
42162    pub mod ahb1rstr {
42163        ///Reader of register AHB1RSTR
42164        pub type R = crate::R<u32, super::AHB1RSTR>;
42165        ///Writer for register AHB1RSTR
42166        pub type W = crate::W<u32, super::AHB1RSTR>;
42167        ///Register AHB1RSTR `reset()`'s with value 0
42168        impl crate::ResetValue for super::AHB1RSTR {
42169            type Type = u32;
42170            #[inline(always)]
42171            fn reset_value() -> Self::Type {
42172                0
42173            }
42174        }
42175        ///Reader of field `TSCRST`
42176        pub type TSCRST_R = crate::R<bool, bool>;
42177        ///Write proxy for field `TSCRST`
42178        pub struct TSCRST_W<'a> {
42179            w: &'a mut W,
42180        }
42181        impl<'a> TSCRST_W<'a> {
42182            ///Sets the field bit
42183            #[inline(always)]
42184            pub fn set_bit(self) -> &'a mut W {
42185                self.bit(true)
42186            }
42187            ///Clears the field bit
42188            #[inline(always)]
42189            pub fn clear_bit(self) -> &'a mut W {
42190                self.bit(false)
42191            }
42192            ///Writes raw bits to the field
42193            #[inline(always)]
42194            pub fn bit(self, value: bool) -> &'a mut W {
42195                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
42196                self.w
42197            }
42198        }
42199        ///Reader of field `CRCRST`
42200        pub type CRCRST_R = crate::R<bool, bool>;
42201        ///Write proxy for field `CRCRST`
42202        pub struct CRCRST_W<'a> {
42203            w: &'a mut W,
42204        }
42205        impl<'a> CRCRST_W<'a> {
42206            ///Sets the field bit
42207            #[inline(always)]
42208            pub fn set_bit(self) -> &'a mut W {
42209                self.bit(true)
42210            }
42211            ///Clears the field bit
42212            #[inline(always)]
42213            pub fn clear_bit(self) -> &'a mut W {
42214                self.bit(false)
42215            }
42216            ///Writes raw bits to the field
42217            #[inline(always)]
42218            pub fn bit(self, value: bool) -> &'a mut W {
42219                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
42220                self.w
42221            }
42222        }
42223        ///Reader of field `DMAMUXRST`
42224        pub type DMAMUXRST_R = crate::R<bool, bool>;
42225        ///Write proxy for field `DMAMUXRST`
42226        pub struct DMAMUXRST_W<'a> {
42227            w: &'a mut W,
42228        }
42229        impl<'a> DMAMUXRST_W<'a> {
42230            ///Sets the field bit
42231            #[inline(always)]
42232            pub fn set_bit(self) -> &'a mut W {
42233                self.bit(true)
42234            }
42235            ///Clears the field bit
42236            #[inline(always)]
42237            pub fn clear_bit(self) -> &'a mut W {
42238                self.bit(false)
42239            }
42240            ///Writes raw bits to the field
42241            #[inline(always)]
42242            pub fn bit(self, value: bool) -> &'a mut W {
42243                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
42244                self.w
42245            }
42246        }
42247        ///Reader of field `DMA2RST`
42248        pub type DMA2RST_R = crate::R<bool, bool>;
42249        ///Write proxy for field `DMA2RST`
42250        pub struct DMA2RST_W<'a> {
42251            w: &'a mut W,
42252        }
42253        impl<'a> DMA2RST_W<'a> {
42254            ///Sets the field bit
42255            #[inline(always)]
42256            pub fn set_bit(self) -> &'a mut W {
42257                self.bit(true)
42258            }
42259            ///Clears the field bit
42260            #[inline(always)]
42261            pub fn clear_bit(self) -> &'a mut W {
42262                self.bit(false)
42263            }
42264            ///Writes raw bits to the field
42265            #[inline(always)]
42266            pub fn bit(self, value: bool) -> &'a mut W {
42267                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
42268                self.w
42269            }
42270        }
42271        ///Reader of field `DMA1RST`
42272        pub type DMA1RST_R = crate::R<bool, bool>;
42273        ///Write proxy for field `DMA1RST`
42274        pub struct DMA1RST_W<'a> {
42275            w: &'a mut W,
42276        }
42277        impl<'a> DMA1RST_W<'a> {
42278            ///Sets the field bit
42279            #[inline(always)]
42280            pub fn set_bit(self) -> &'a mut W {
42281                self.bit(true)
42282            }
42283            ///Clears the field bit
42284            #[inline(always)]
42285            pub fn clear_bit(self) -> &'a mut W {
42286                self.bit(false)
42287            }
42288            ///Writes raw bits to the field
42289            #[inline(always)]
42290            pub fn bit(self, value: bool) -> &'a mut W {
42291                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
42292                self.w
42293            }
42294        }
42295        impl R {
42296            ///Bit 16 - Touch Sensing Controller reset
42297            #[inline(always)]
42298            pub fn tscrst(&self) -> TSCRST_R {
42299                TSCRST_R::new(((self.bits >> 16) & 0x01) != 0)
42300            }
42301            ///Bit 12 - CRC reset
42302            #[inline(always)]
42303            pub fn crcrst(&self) -> CRCRST_R {
42304                CRCRST_R::new(((self.bits >> 12) & 0x01) != 0)
42305            }
42306            ///Bit 2 - DMAMUX reset
42307            #[inline(always)]
42308            pub fn dmamuxrst(&self) -> DMAMUXRST_R {
42309                DMAMUXRST_R::new(((self.bits >> 2) & 0x01) != 0)
42310            }
42311            ///Bit 1 - DMA2 reset
42312            #[inline(always)]
42313            pub fn dma2rst(&self) -> DMA2RST_R {
42314                DMA2RST_R::new(((self.bits >> 1) & 0x01) != 0)
42315            }
42316            ///Bit 0 - DMA1 reset
42317            #[inline(always)]
42318            pub fn dma1rst(&self) -> DMA1RST_R {
42319                DMA1RST_R::new((self.bits & 0x01) != 0)
42320            }
42321        }
42322        impl W {
42323            ///Bit 16 - Touch Sensing Controller reset
42324            #[inline(always)]
42325            pub fn tscrst(&mut self) -> TSCRST_W {
42326                TSCRST_W { w: self }
42327            }
42328            ///Bit 12 - CRC reset
42329            #[inline(always)]
42330            pub fn crcrst(&mut self) -> CRCRST_W {
42331                CRCRST_W { w: self }
42332            }
42333            ///Bit 2 - DMAMUX reset
42334            #[inline(always)]
42335            pub fn dmamuxrst(&mut self) -> DMAMUXRST_W {
42336                DMAMUXRST_W { w: self }
42337            }
42338            ///Bit 1 - DMA2 reset
42339            #[inline(always)]
42340            pub fn dma2rst(&mut self) -> DMA2RST_W {
42341                DMA2RST_W { w: self }
42342            }
42343            ///Bit 0 - DMA1 reset
42344            #[inline(always)]
42345            pub fn dma1rst(&mut self) -> DMA1RST_W {
42346                DMA1RST_W { w: self }
42347            }
42348        }
42349    }
42350    ///AHB2 peripheral reset register
42351    ///
42352    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
42353    ///
42354    ///For information about available fields see [ahb2rstr](ahb2rstr) module
42355    pub type AHB2RSTR = crate::Reg<u32, _AHB2RSTR>;
42356    #[allow(missing_docs)]
42357    #[doc(hidden)]
42358    pub struct _AHB2RSTR;
42359    ///`read()` method returns [ahb2rstr::R](ahb2rstr::R) reader structure
42360    impl crate::Readable for AHB2RSTR {}
42361    ///`write(|w| ..)` method takes [ahb2rstr::W](ahb2rstr::W) writer structure
42362    impl crate::Writable for AHB2RSTR {}
42363    ///AHB2 peripheral reset register
42364    pub mod ahb2rstr {
42365        ///Reader of register AHB2RSTR
42366        pub type R = crate::R<u32, super::AHB2RSTR>;
42367        ///Writer for register AHB2RSTR
42368        pub type W = crate::W<u32, super::AHB2RSTR>;
42369        ///Register AHB2RSTR `reset()`'s with value 0
42370        impl crate::ResetValue for super::AHB2RSTR {
42371            type Type = u32;
42372            #[inline(always)]
42373            fn reset_value() -> Self::Type {
42374                0
42375            }
42376        }
42377        ///Reader of field `AES1RST`
42378        pub type AES1RST_R = crate::R<bool, bool>;
42379        ///Write proxy for field `AES1RST`
42380        pub struct AES1RST_W<'a> {
42381            w: &'a mut W,
42382        }
42383        impl<'a> AES1RST_W<'a> {
42384            ///Sets the field bit
42385            #[inline(always)]
42386            pub fn set_bit(self) -> &'a mut W {
42387                self.bit(true)
42388            }
42389            ///Clears the field bit
42390            #[inline(always)]
42391            pub fn clear_bit(self) -> &'a mut W {
42392                self.bit(false)
42393            }
42394            ///Writes raw bits to the field
42395            #[inline(always)]
42396            pub fn bit(self, value: bool) -> &'a mut W {
42397                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
42398                self.w
42399            }
42400        }
42401        ///Reader of field `ADCRST`
42402        pub type ADCRST_R = crate::R<bool, bool>;
42403        ///Write proxy for field `ADCRST`
42404        pub struct ADCRST_W<'a> {
42405            w: &'a mut W,
42406        }
42407        impl<'a> ADCRST_W<'a> {
42408            ///Sets the field bit
42409            #[inline(always)]
42410            pub fn set_bit(self) -> &'a mut W {
42411                self.bit(true)
42412            }
42413            ///Clears the field bit
42414            #[inline(always)]
42415            pub fn clear_bit(self) -> &'a mut W {
42416                self.bit(false)
42417            }
42418            ///Writes raw bits to the field
42419            #[inline(always)]
42420            pub fn bit(self, value: bool) -> &'a mut W {
42421                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
42422                self.w
42423            }
42424        }
42425        ///Reader of field `GPIOHRST`
42426        pub type GPIOHRST_R = crate::R<bool, bool>;
42427        ///Write proxy for field `GPIOHRST`
42428        pub struct GPIOHRST_W<'a> {
42429            w: &'a mut W,
42430        }
42431        impl<'a> GPIOHRST_W<'a> {
42432            ///Sets the field bit
42433            #[inline(always)]
42434            pub fn set_bit(self) -> &'a mut W {
42435                self.bit(true)
42436            }
42437            ///Clears the field bit
42438            #[inline(always)]
42439            pub fn clear_bit(self) -> &'a mut W {
42440                self.bit(false)
42441            }
42442            ///Writes raw bits to the field
42443            #[inline(always)]
42444            pub fn bit(self, value: bool) -> &'a mut W {
42445                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
42446                self.w
42447            }
42448        }
42449        ///Reader of field `GPIOERST`
42450        pub type GPIOERST_R = crate::R<bool, bool>;
42451        ///Write proxy for field `GPIOERST`
42452        pub struct GPIOERST_W<'a> {
42453            w: &'a mut W,
42454        }
42455        impl<'a> GPIOERST_W<'a> {
42456            ///Sets the field bit
42457            #[inline(always)]
42458            pub fn set_bit(self) -> &'a mut W {
42459                self.bit(true)
42460            }
42461            ///Clears the field bit
42462            #[inline(always)]
42463            pub fn clear_bit(self) -> &'a mut W {
42464                self.bit(false)
42465            }
42466            ///Writes raw bits to the field
42467            #[inline(always)]
42468            pub fn bit(self, value: bool) -> &'a mut W {
42469                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
42470                self.w
42471            }
42472        }
42473        ///Reader of field `GPIODRST`
42474        pub type GPIODRST_R = crate::R<bool, bool>;
42475        ///Write proxy for field `GPIODRST`
42476        pub struct GPIODRST_W<'a> {
42477            w: &'a mut W,
42478        }
42479        impl<'a> GPIODRST_W<'a> {
42480            ///Sets the field bit
42481            #[inline(always)]
42482            pub fn set_bit(self) -> &'a mut W {
42483                self.bit(true)
42484            }
42485            ///Clears the field bit
42486            #[inline(always)]
42487            pub fn clear_bit(self) -> &'a mut W {
42488                self.bit(false)
42489            }
42490            ///Writes raw bits to the field
42491            #[inline(always)]
42492            pub fn bit(self, value: bool) -> &'a mut W {
42493                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
42494                self.w
42495            }
42496        }
42497        ///Reader of field `GPIOCRST`
42498        pub type GPIOCRST_R = crate::R<bool, bool>;
42499        ///Write proxy for field `GPIOCRST`
42500        pub struct GPIOCRST_W<'a> {
42501            w: &'a mut W,
42502        }
42503        impl<'a> GPIOCRST_W<'a> {
42504            ///Sets the field bit
42505            #[inline(always)]
42506            pub fn set_bit(self) -> &'a mut W {
42507                self.bit(true)
42508            }
42509            ///Clears the field bit
42510            #[inline(always)]
42511            pub fn clear_bit(self) -> &'a mut W {
42512                self.bit(false)
42513            }
42514            ///Writes raw bits to the field
42515            #[inline(always)]
42516            pub fn bit(self, value: bool) -> &'a mut W {
42517                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
42518                self.w
42519            }
42520        }
42521        ///Reader of field `GPIOBRST`
42522        pub type GPIOBRST_R = crate::R<bool, bool>;
42523        ///Write proxy for field `GPIOBRST`
42524        pub struct GPIOBRST_W<'a> {
42525            w: &'a mut W,
42526        }
42527        impl<'a> GPIOBRST_W<'a> {
42528            ///Sets the field bit
42529            #[inline(always)]
42530            pub fn set_bit(self) -> &'a mut W {
42531                self.bit(true)
42532            }
42533            ///Clears the field bit
42534            #[inline(always)]
42535            pub fn clear_bit(self) -> &'a mut W {
42536                self.bit(false)
42537            }
42538            ///Writes raw bits to the field
42539            #[inline(always)]
42540            pub fn bit(self, value: bool) -> &'a mut W {
42541                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
42542                self.w
42543            }
42544        }
42545        ///Reader of field `GPIOARST`
42546        pub type GPIOARST_R = crate::R<bool, bool>;
42547        ///Write proxy for field `GPIOARST`
42548        pub struct GPIOARST_W<'a> {
42549            w: &'a mut W,
42550        }
42551        impl<'a> GPIOARST_W<'a> {
42552            ///Sets the field bit
42553            #[inline(always)]
42554            pub fn set_bit(self) -> &'a mut W {
42555                self.bit(true)
42556            }
42557            ///Clears the field bit
42558            #[inline(always)]
42559            pub fn clear_bit(self) -> &'a mut W {
42560                self.bit(false)
42561            }
42562            ///Writes raw bits to the field
42563            #[inline(always)]
42564            pub fn bit(self, value: bool) -> &'a mut W {
42565                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
42566                self.w
42567            }
42568        }
42569        impl R {
42570            ///Bit 16 - AES1 hardware accelerator reset
42571            #[inline(always)]
42572            pub fn aes1rst(&self) -> AES1RST_R {
42573                AES1RST_R::new(((self.bits >> 16) & 0x01) != 0)
42574            }
42575            ///Bit 13 - ADC reset
42576            #[inline(always)]
42577            pub fn adcrst(&self) -> ADCRST_R {
42578                ADCRST_R::new(((self.bits >> 13) & 0x01) != 0)
42579            }
42580            ///Bit 7 - IO port H reset
42581            #[inline(always)]
42582            pub fn gpiohrst(&self) -> GPIOHRST_R {
42583                GPIOHRST_R::new(((self.bits >> 7) & 0x01) != 0)
42584            }
42585            ///Bit 4 - IO port E reset
42586            #[inline(always)]
42587            pub fn gpioerst(&self) -> GPIOERST_R {
42588                GPIOERST_R::new(((self.bits >> 4) & 0x01) != 0)
42589            }
42590            ///Bit 3 - IO port D reset
42591            #[inline(always)]
42592            pub fn gpiodrst(&self) -> GPIODRST_R {
42593                GPIODRST_R::new(((self.bits >> 3) & 0x01) != 0)
42594            }
42595            ///Bit 2 - IO port C reset
42596            #[inline(always)]
42597            pub fn gpiocrst(&self) -> GPIOCRST_R {
42598                GPIOCRST_R::new(((self.bits >> 2) & 0x01) != 0)
42599            }
42600            ///Bit 1 - IO port B reset
42601            #[inline(always)]
42602            pub fn gpiobrst(&self) -> GPIOBRST_R {
42603                GPIOBRST_R::new(((self.bits >> 1) & 0x01) != 0)
42604            }
42605            ///Bit 0 - IO port A reset
42606            #[inline(always)]
42607            pub fn gpioarst(&self) -> GPIOARST_R {
42608                GPIOARST_R::new((self.bits & 0x01) != 0)
42609            }
42610        }
42611        impl W {
42612            ///Bit 16 - AES1 hardware accelerator reset
42613            #[inline(always)]
42614            pub fn aes1rst(&mut self) -> AES1RST_W {
42615                AES1RST_W { w: self }
42616            }
42617            ///Bit 13 - ADC reset
42618            #[inline(always)]
42619            pub fn adcrst(&mut self) -> ADCRST_W {
42620                ADCRST_W { w: self }
42621            }
42622            ///Bit 7 - IO port H reset
42623            #[inline(always)]
42624            pub fn gpiohrst(&mut self) -> GPIOHRST_W {
42625                GPIOHRST_W { w: self }
42626            }
42627            ///Bit 4 - IO port E reset
42628            #[inline(always)]
42629            pub fn gpioerst(&mut self) -> GPIOERST_W {
42630                GPIOERST_W { w: self }
42631            }
42632            ///Bit 3 - IO port D reset
42633            #[inline(always)]
42634            pub fn gpiodrst(&mut self) -> GPIODRST_W {
42635                GPIODRST_W { w: self }
42636            }
42637            ///Bit 2 - IO port C reset
42638            #[inline(always)]
42639            pub fn gpiocrst(&mut self) -> GPIOCRST_W {
42640                GPIOCRST_W { w: self }
42641            }
42642            ///Bit 1 - IO port B reset
42643            #[inline(always)]
42644            pub fn gpiobrst(&mut self) -> GPIOBRST_W {
42645                GPIOBRST_W { w: self }
42646            }
42647            ///Bit 0 - IO port A reset
42648            #[inline(always)]
42649            pub fn gpioarst(&mut self) -> GPIOARST_W {
42650                GPIOARST_W { w: self }
42651            }
42652        }
42653    }
42654    ///AHB3 peripheral reset register
42655    ///
42656    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
42657    ///
42658    ///For information about available fields see [ahb3rstr](ahb3rstr) module
42659    pub type AHB3RSTR = crate::Reg<u32, _AHB3RSTR>;
42660    #[allow(missing_docs)]
42661    #[doc(hidden)]
42662    pub struct _AHB3RSTR;
42663    ///`read()` method returns [ahb3rstr::R](ahb3rstr::R) reader structure
42664    impl crate::Readable for AHB3RSTR {}
42665    ///`write(|w| ..)` method takes [ahb3rstr::W](ahb3rstr::W) writer structure
42666    impl crate::Writable for AHB3RSTR {}
42667    ///AHB3 peripheral reset register
42668    pub mod ahb3rstr {
42669        ///Reader of register AHB3RSTR
42670        pub type R = crate::R<u32, super::AHB3RSTR>;
42671        ///Writer for register AHB3RSTR
42672        pub type W = crate::W<u32, super::AHB3RSTR>;
42673        ///Register AHB3RSTR `reset()`'s with value 0
42674        impl crate::ResetValue for super::AHB3RSTR {
42675            type Type = u32;
42676            #[inline(always)]
42677            fn reset_value() -> Self::Type {
42678                0
42679            }
42680        }
42681        ///Reader of field `FLASHRST`
42682        pub type FLASHRST_R = crate::R<bool, bool>;
42683        ///Write proxy for field `FLASHRST`
42684        pub struct FLASHRST_W<'a> {
42685            w: &'a mut W,
42686        }
42687        impl<'a> FLASHRST_W<'a> {
42688            ///Sets the field bit
42689            #[inline(always)]
42690            pub fn set_bit(self) -> &'a mut W {
42691                self.bit(true)
42692            }
42693            ///Clears the field bit
42694            #[inline(always)]
42695            pub fn clear_bit(self) -> &'a mut W {
42696                self.bit(false)
42697            }
42698            ///Writes raw bits to the field
42699            #[inline(always)]
42700            pub fn bit(self, value: bool) -> &'a mut W {
42701                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
42702                self.w
42703            }
42704        }
42705        ///Reader of field `IPCCRST`
42706        pub type IPCCRST_R = crate::R<bool, bool>;
42707        ///Write proxy for field `IPCCRST`
42708        pub struct IPCCRST_W<'a> {
42709            w: &'a mut W,
42710        }
42711        impl<'a> IPCCRST_W<'a> {
42712            ///Sets the field bit
42713            #[inline(always)]
42714            pub fn set_bit(self) -> &'a mut W {
42715                self.bit(true)
42716            }
42717            ///Clears the field bit
42718            #[inline(always)]
42719            pub fn clear_bit(self) -> &'a mut W {
42720                self.bit(false)
42721            }
42722            ///Writes raw bits to the field
42723            #[inline(always)]
42724            pub fn bit(self, value: bool) -> &'a mut W {
42725                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
42726                self.w
42727            }
42728        }
42729        ///Reader of field `HSEMRST`
42730        pub type HSEMRST_R = crate::R<bool, bool>;
42731        ///Write proxy for field `HSEMRST`
42732        pub struct HSEMRST_W<'a> {
42733            w: &'a mut W,
42734        }
42735        impl<'a> HSEMRST_W<'a> {
42736            ///Sets the field bit
42737            #[inline(always)]
42738            pub fn set_bit(self) -> &'a mut W {
42739                self.bit(true)
42740            }
42741            ///Clears the field bit
42742            #[inline(always)]
42743            pub fn clear_bit(self) -> &'a mut W {
42744                self.bit(false)
42745            }
42746            ///Writes raw bits to the field
42747            #[inline(always)]
42748            pub fn bit(self, value: bool) -> &'a mut W {
42749                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
42750                self.w
42751            }
42752        }
42753        ///Reader of field `RNGRST`
42754        pub type RNGRST_R = crate::R<bool, bool>;
42755        ///Write proxy for field `RNGRST`
42756        pub struct RNGRST_W<'a> {
42757            w: &'a mut W,
42758        }
42759        impl<'a> RNGRST_W<'a> {
42760            ///Sets the field bit
42761            #[inline(always)]
42762            pub fn set_bit(self) -> &'a mut W {
42763                self.bit(true)
42764            }
42765            ///Clears the field bit
42766            #[inline(always)]
42767            pub fn clear_bit(self) -> &'a mut W {
42768                self.bit(false)
42769            }
42770            ///Writes raw bits to the field
42771            #[inline(always)]
42772            pub fn bit(self, value: bool) -> &'a mut W {
42773                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
42774                self.w
42775            }
42776        }
42777        ///Reader of field `AES2RST`
42778        pub type AES2RST_R = crate::R<bool, bool>;
42779        ///Write proxy for field `AES2RST`
42780        pub struct AES2RST_W<'a> {
42781            w: &'a mut W,
42782        }
42783        impl<'a> AES2RST_W<'a> {
42784            ///Sets the field bit
42785            #[inline(always)]
42786            pub fn set_bit(self) -> &'a mut W {
42787                self.bit(true)
42788            }
42789            ///Clears the field bit
42790            #[inline(always)]
42791            pub fn clear_bit(self) -> &'a mut W {
42792                self.bit(false)
42793            }
42794            ///Writes raw bits to the field
42795            #[inline(always)]
42796            pub fn bit(self, value: bool) -> &'a mut W {
42797                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
42798                self.w
42799            }
42800        }
42801        ///Reader of field `PKARST`
42802        pub type PKARST_R = crate::R<bool, bool>;
42803        ///Write proxy for field `PKARST`
42804        pub struct PKARST_W<'a> {
42805            w: &'a mut W,
42806        }
42807        impl<'a> PKARST_W<'a> {
42808            ///Sets the field bit
42809            #[inline(always)]
42810            pub fn set_bit(self) -> &'a mut W {
42811                self.bit(true)
42812            }
42813            ///Clears the field bit
42814            #[inline(always)]
42815            pub fn clear_bit(self) -> &'a mut W {
42816                self.bit(false)
42817            }
42818            ///Writes raw bits to the field
42819            #[inline(always)]
42820            pub fn bit(self, value: bool) -> &'a mut W {
42821                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
42822                self.w
42823            }
42824        }
42825        ///Reader of field `QSPIRST`
42826        pub type QSPIRST_R = crate::R<bool, bool>;
42827        ///Write proxy for field `QSPIRST`
42828        pub struct QSPIRST_W<'a> {
42829            w: &'a mut W,
42830        }
42831        impl<'a> QSPIRST_W<'a> {
42832            ///Sets the field bit
42833            #[inline(always)]
42834            pub fn set_bit(self) -> &'a mut W {
42835                self.bit(true)
42836            }
42837            ///Clears the field bit
42838            #[inline(always)]
42839            pub fn clear_bit(self) -> &'a mut W {
42840                self.bit(false)
42841            }
42842            ///Writes raw bits to the field
42843            #[inline(always)]
42844            pub fn bit(self, value: bool) -> &'a mut W {
42845                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
42846                self.w
42847            }
42848        }
42849        impl R {
42850            ///Bit 25 - Flash interface reset
42851            #[inline(always)]
42852            pub fn flashrst(&self) -> FLASHRST_R {
42853                FLASHRST_R::new(((self.bits >> 25) & 0x01) != 0)
42854            }
42855            ///Bit 20 - IPCC interface reset
42856            #[inline(always)]
42857            pub fn ipccrst(&self) -> IPCCRST_R {
42858                IPCCRST_R::new(((self.bits >> 20) & 0x01) != 0)
42859            }
42860            ///Bit 19 - HSEM interface reset
42861            #[inline(always)]
42862            pub fn hsemrst(&self) -> HSEMRST_R {
42863                HSEMRST_R::new(((self.bits >> 19) & 0x01) != 0)
42864            }
42865            ///Bit 18 - RNG interface reset
42866            #[inline(always)]
42867            pub fn rngrst(&self) -> RNGRST_R {
42868                RNGRST_R::new(((self.bits >> 18) & 0x01) != 0)
42869            }
42870            ///Bit 17 - AES2 interface reset
42871            #[inline(always)]
42872            pub fn aes2rst(&self) -> AES2RST_R {
42873                AES2RST_R::new(((self.bits >> 17) & 0x01) != 0)
42874            }
42875            ///Bit 16 - PKA interface reset
42876            #[inline(always)]
42877            pub fn pkarst(&self) -> PKARST_R {
42878                PKARST_R::new(((self.bits >> 16) & 0x01) != 0)
42879            }
42880            ///Bit 8 - Quad SPI memory interface reset
42881            #[inline(always)]
42882            pub fn qspirst(&self) -> QSPIRST_R {
42883                QSPIRST_R::new(((self.bits >> 8) & 0x01) != 0)
42884            }
42885        }
42886        impl W {
42887            ///Bit 25 - Flash interface reset
42888            #[inline(always)]
42889            pub fn flashrst(&mut self) -> FLASHRST_W {
42890                FLASHRST_W { w: self }
42891            }
42892            ///Bit 20 - IPCC interface reset
42893            #[inline(always)]
42894            pub fn ipccrst(&mut self) -> IPCCRST_W {
42895                IPCCRST_W { w: self }
42896            }
42897            ///Bit 19 - HSEM interface reset
42898            #[inline(always)]
42899            pub fn hsemrst(&mut self) -> HSEMRST_W {
42900                HSEMRST_W { w: self }
42901            }
42902            ///Bit 18 - RNG interface reset
42903            #[inline(always)]
42904            pub fn rngrst(&mut self) -> RNGRST_W {
42905                RNGRST_W { w: self }
42906            }
42907            ///Bit 17 - AES2 interface reset
42908            #[inline(always)]
42909            pub fn aes2rst(&mut self) -> AES2RST_W {
42910                AES2RST_W { w: self }
42911            }
42912            ///Bit 16 - PKA interface reset
42913            #[inline(always)]
42914            pub fn pkarst(&mut self) -> PKARST_W {
42915                PKARST_W { w: self }
42916            }
42917            ///Bit 8 - Quad SPI memory interface reset
42918            #[inline(always)]
42919            pub fn qspirst(&mut self) -> QSPIRST_W {
42920                QSPIRST_W { w: self }
42921            }
42922        }
42923    }
42924    ///APB1 peripheral reset register 1
42925    ///
42926    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
42927    ///
42928    ///For information about available fields see [apb1rstr1](apb1rstr1) module
42929    pub type APB1RSTR1 = crate::Reg<u32, _APB1RSTR1>;
42930    #[allow(missing_docs)]
42931    #[doc(hidden)]
42932    pub struct _APB1RSTR1;
42933    ///`read()` method returns [apb1rstr1::R](apb1rstr1::R) reader structure
42934    impl crate::Readable for APB1RSTR1 {}
42935    ///`write(|w| ..)` method takes [apb1rstr1::W](apb1rstr1::W) writer structure
42936    impl crate::Writable for APB1RSTR1 {}
42937    ///APB1 peripheral reset register 1
42938    pub mod apb1rstr1 {
42939        ///Reader of register APB1RSTR1
42940        pub type R = crate::R<u32, super::APB1RSTR1>;
42941        ///Writer for register APB1RSTR1
42942        pub type W = crate::W<u32, super::APB1RSTR1>;
42943        ///Register APB1RSTR1 `reset()`'s with value 0
42944        impl crate::ResetValue for super::APB1RSTR1 {
42945            type Type = u32;
42946            #[inline(always)]
42947            fn reset_value() -> Self::Type {
42948                0
42949            }
42950        }
42951        ///Reader of field `LPTIM1RST`
42952        pub type LPTIM1RST_R = crate::R<bool, bool>;
42953        ///Write proxy for field `LPTIM1RST`
42954        pub struct LPTIM1RST_W<'a> {
42955            w: &'a mut W,
42956        }
42957        impl<'a> LPTIM1RST_W<'a> {
42958            ///Sets the field bit
42959            #[inline(always)]
42960            pub fn set_bit(self) -> &'a mut W {
42961                self.bit(true)
42962            }
42963            ///Clears the field bit
42964            #[inline(always)]
42965            pub fn clear_bit(self) -> &'a mut W {
42966                self.bit(false)
42967            }
42968            ///Writes raw bits to the field
42969            #[inline(always)]
42970            pub fn bit(self, value: bool) -> &'a mut W {
42971                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
42972                self.w
42973            }
42974        }
42975        ///Reader of field `USBFSRST`
42976        pub type USBFSRST_R = crate::R<bool, bool>;
42977        ///Write proxy for field `USBFSRST`
42978        pub struct USBFSRST_W<'a> {
42979            w: &'a mut W,
42980        }
42981        impl<'a> USBFSRST_W<'a> {
42982            ///Sets the field bit
42983            #[inline(always)]
42984            pub fn set_bit(self) -> &'a mut W {
42985                self.bit(true)
42986            }
42987            ///Clears the field bit
42988            #[inline(always)]
42989            pub fn clear_bit(self) -> &'a mut W {
42990                self.bit(false)
42991            }
42992            ///Writes raw bits to the field
42993            #[inline(always)]
42994            pub fn bit(self, value: bool) -> &'a mut W {
42995                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
42996                self.w
42997            }
42998        }
42999        ///Reader of field `CRSRST`
43000        pub type CRSRST_R = crate::R<bool, bool>;
43001        ///Write proxy for field `CRSRST`
43002        pub struct CRSRST_W<'a> {
43003            w: &'a mut W,
43004        }
43005        impl<'a> CRSRST_W<'a> {
43006            ///Sets the field bit
43007            #[inline(always)]
43008            pub fn set_bit(self) -> &'a mut W {
43009                self.bit(true)
43010            }
43011            ///Clears the field bit
43012            #[inline(always)]
43013            pub fn clear_bit(self) -> &'a mut W {
43014                self.bit(false)
43015            }
43016            ///Writes raw bits to the field
43017            #[inline(always)]
43018            pub fn bit(self, value: bool) -> &'a mut W {
43019                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
43020                self.w
43021            }
43022        }
43023        ///Reader of field `I2C3RST`
43024        pub type I2C3RST_R = crate::R<bool, bool>;
43025        ///Write proxy for field `I2C3RST`
43026        pub struct I2C3RST_W<'a> {
43027            w: &'a mut W,
43028        }
43029        impl<'a> I2C3RST_W<'a> {
43030            ///Sets the field bit
43031            #[inline(always)]
43032            pub fn set_bit(self) -> &'a mut W {
43033                self.bit(true)
43034            }
43035            ///Clears the field bit
43036            #[inline(always)]
43037            pub fn clear_bit(self) -> &'a mut W {
43038                self.bit(false)
43039            }
43040            ///Writes raw bits to the field
43041            #[inline(always)]
43042            pub fn bit(self, value: bool) -> &'a mut W {
43043                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
43044                self.w
43045            }
43046        }
43047        ///Reader of field `I2C1RST`
43048        pub type I2C1RST_R = crate::R<bool, bool>;
43049        ///Write proxy for field `I2C1RST`
43050        pub struct I2C1RST_W<'a> {
43051            w: &'a mut W,
43052        }
43053        impl<'a> I2C1RST_W<'a> {
43054            ///Sets the field bit
43055            #[inline(always)]
43056            pub fn set_bit(self) -> &'a mut W {
43057                self.bit(true)
43058            }
43059            ///Clears the field bit
43060            #[inline(always)]
43061            pub fn clear_bit(self) -> &'a mut W {
43062                self.bit(false)
43063            }
43064            ///Writes raw bits to the field
43065            #[inline(always)]
43066            pub fn bit(self, value: bool) -> &'a mut W {
43067                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
43068                self.w
43069            }
43070        }
43071        ///Reader of field `SPI2RST`
43072        pub type SPI2RST_R = crate::R<bool, bool>;
43073        ///Write proxy for field `SPI2RST`
43074        pub struct SPI2RST_W<'a> {
43075            w: &'a mut W,
43076        }
43077        impl<'a> SPI2RST_W<'a> {
43078            ///Sets the field bit
43079            #[inline(always)]
43080            pub fn set_bit(self) -> &'a mut W {
43081                self.bit(true)
43082            }
43083            ///Clears the field bit
43084            #[inline(always)]
43085            pub fn clear_bit(self) -> &'a mut W {
43086                self.bit(false)
43087            }
43088            ///Writes raw bits to the field
43089            #[inline(always)]
43090            pub fn bit(self, value: bool) -> &'a mut W {
43091                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
43092                self.w
43093            }
43094        }
43095        ///Reader of field `LCDRST`
43096        pub type LCDRST_R = crate::R<bool, bool>;
43097        ///Write proxy for field `LCDRST`
43098        pub struct LCDRST_W<'a> {
43099            w: &'a mut W,
43100        }
43101        impl<'a> LCDRST_W<'a> {
43102            ///Sets the field bit
43103            #[inline(always)]
43104            pub fn set_bit(self) -> &'a mut W {
43105                self.bit(true)
43106            }
43107            ///Clears the field bit
43108            #[inline(always)]
43109            pub fn clear_bit(self) -> &'a mut W {
43110                self.bit(false)
43111            }
43112            ///Writes raw bits to the field
43113            #[inline(always)]
43114            pub fn bit(self, value: bool) -> &'a mut W {
43115                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
43116                self.w
43117            }
43118        }
43119        ///Reader of field `TIM2RST`
43120        pub type TIM2RST_R = crate::R<bool, bool>;
43121        ///Write proxy for field `TIM2RST`
43122        pub struct TIM2RST_W<'a> {
43123            w: &'a mut W,
43124        }
43125        impl<'a> TIM2RST_W<'a> {
43126            ///Sets the field bit
43127            #[inline(always)]
43128            pub fn set_bit(self) -> &'a mut W {
43129                self.bit(true)
43130            }
43131            ///Clears the field bit
43132            #[inline(always)]
43133            pub fn clear_bit(self) -> &'a mut W {
43134                self.bit(false)
43135            }
43136            ///Writes raw bits to the field
43137            #[inline(always)]
43138            pub fn bit(self, value: bool) -> &'a mut W {
43139                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
43140                self.w
43141            }
43142        }
43143        impl R {
43144            ///Bit 31 - Low Power Timer 1 reset
43145            #[inline(always)]
43146            pub fn lptim1rst(&self) -> LPTIM1RST_R {
43147                LPTIM1RST_R::new(((self.bits >> 31) & 0x01) != 0)
43148            }
43149            ///Bit 26 - USB FS reset
43150            #[inline(always)]
43151            pub fn usbfsrst(&self) -> USBFSRST_R {
43152                USBFSRST_R::new(((self.bits >> 26) & 0x01) != 0)
43153            }
43154            ///Bit 24 - CRS reset
43155            #[inline(always)]
43156            pub fn crsrst(&self) -> CRSRST_R {
43157                CRSRST_R::new(((self.bits >> 24) & 0x01) != 0)
43158            }
43159            ///Bit 23 - I2C3 reset
43160            #[inline(always)]
43161            pub fn i2c3rst(&self) -> I2C3RST_R {
43162                I2C3RST_R::new(((self.bits >> 23) & 0x01) != 0)
43163            }
43164            ///Bit 21 - I2C1 reset
43165            #[inline(always)]
43166            pub fn i2c1rst(&self) -> I2C1RST_R {
43167                I2C1RST_R::new(((self.bits >> 21) & 0x01) != 0)
43168            }
43169            ///Bit 14 - SPI2 reset
43170            #[inline(always)]
43171            pub fn spi2rst(&self) -> SPI2RST_R {
43172                SPI2RST_R::new(((self.bits >> 14) & 0x01) != 0)
43173            }
43174            ///Bit 9 - LCD interface reset
43175            #[inline(always)]
43176            pub fn lcdrst(&self) -> LCDRST_R {
43177                LCDRST_R::new(((self.bits >> 9) & 0x01) != 0)
43178            }
43179            ///Bit 0 - TIM2 timer reset
43180            #[inline(always)]
43181            pub fn tim2rst(&self) -> TIM2RST_R {
43182                TIM2RST_R::new((self.bits & 0x01) != 0)
43183            }
43184        }
43185        impl W {
43186            ///Bit 31 - Low Power Timer 1 reset
43187            #[inline(always)]
43188            pub fn lptim1rst(&mut self) -> LPTIM1RST_W {
43189                LPTIM1RST_W { w: self }
43190            }
43191            ///Bit 26 - USB FS reset
43192            #[inline(always)]
43193            pub fn usbfsrst(&mut self) -> USBFSRST_W {
43194                USBFSRST_W { w: self }
43195            }
43196            ///Bit 24 - CRS reset
43197            #[inline(always)]
43198            pub fn crsrst(&mut self) -> CRSRST_W {
43199                CRSRST_W { w: self }
43200            }
43201            ///Bit 23 - I2C3 reset
43202            #[inline(always)]
43203            pub fn i2c3rst(&mut self) -> I2C3RST_W {
43204                I2C3RST_W { w: self }
43205            }
43206            ///Bit 21 - I2C1 reset
43207            #[inline(always)]
43208            pub fn i2c1rst(&mut self) -> I2C1RST_W {
43209                I2C1RST_W { w: self }
43210            }
43211            ///Bit 14 - SPI2 reset
43212            #[inline(always)]
43213            pub fn spi2rst(&mut self) -> SPI2RST_W {
43214                SPI2RST_W { w: self }
43215            }
43216            ///Bit 9 - LCD interface reset
43217            #[inline(always)]
43218            pub fn lcdrst(&mut self) -> LCDRST_W {
43219                LCDRST_W { w: self }
43220            }
43221            ///Bit 0 - TIM2 timer reset
43222            #[inline(always)]
43223            pub fn tim2rst(&mut self) -> TIM2RST_W {
43224                TIM2RST_W { w: self }
43225            }
43226        }
43227    }
43228    ///APB1 peripheral reset register 2
43229    ///
43230    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
43231    ///
43232    ///For information about available fields see [apb1rstr2](apb1rstr2) module
43233    pub type APB1RSTR2 = crate::Reg<u32, _APB1RSTR2>;
43234    #[allow(missing_docs)]
43235    #[doc(hidden)]
43236    pub struct _APB1RSTR2;
43237    ///`read()` method returns [apb1rstr2::R](apb1rstr2::R) reader structure
43238    impl crate::Readable for APB1RSTR2 {}
43239    ///`write(|w| ..)` method takes [apb1rstr2::W](apb1rstr2::W) writer structure
43240    impl crate::Writable for APB1RSTR2 {}
43241    ///APB1 peripheral reset register 2
43242    pub mod apb1rstr2 {
43243        ///Reader of register APB1RSTR2
43244        pub type R = crate::R<u32, super::APB1RSTR2>;
43245        ///Writer for register APB1RSTR2
43246        pub type W = crate::W<u32, super::APB1RSTR2>;
43247        ///Register APB1RSTR2 `reset()`'s with value 0
43248        impl crate::ResetValue for super::APB1RSTR2 {
43249            type Type = u32;
43250            #[inline(always)]
43251            fn reset_value() -> Self::Type {
43252                0
43253            }
43254        }
43255        ///Reader of field `LPTIM2RST`
43256        pub type LPTIM2RST_R = crate::R<bool, bool>;
43257        ///Write proxy for field `LPTIM2RST`
43258        pub struct LPTIM2RST_W<'a> {
43259            w: &'a mut W,
43260        }
43261        impl<'a> LPTIM2RST_W<'a> {
43262            ///Sets the field bit
43263            #[inline(always)]
43264            pub fn set_bit(self) -> &'a mut W {
43265                self.bit(true)
43266            }
43267            ///Clears the field bit
43268            #[inline(always)]
43269            pub fn clear_bit(self) -> &'a mut W {
43270                self.bit(false)
43271            }
43272            ///Writes raw bits to the field
43273            #[inline(always)]
43274            pub fn bit(self, value: bool) -> &'a mut W {
43275                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
43276                self.w
43277            }
43278        }
43279        ///Reader of field `LPUART1RST`
43280        pub type LPUART1RST_R = crate::R<bool, bool>;
43281        ///Write proxy for field `LPUART1RST`
43282        pub struct LPUART1RST_W<'a> {
43283            w: &'a mut W,
43284        }
43285        impl<'a> LPUART1RST_W<'a> {
43286            ///Sets the field bit
43287            #[inline(always)]
43288            pub fn set_bit(self) -> &'a mut W {
43289                self.bit(true)
43290            }
43291            ///Clears the field bit
43292            #[inline(always)]
43293            pub fn clear_bit(self) -> &'a mut W {
43294                self.bit(false)
43295            }
43296            ///Writes raw bits to the field
43297            #[inline(always)]
43298            pub fn bit(self, value: bool) -> &'a mut W {
43299                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
43300                self.w
43301            }
43302        }
43303        impl R {
43304            ///Bit 5 - Low-power timer 2 reset
43305            #[inline(always)]
43306            pub fn lptim2rst(&self) -> LPTIM2RST_R {
43307                LPTIM2RST_R::new(((self.bits >> 5) & 0x01) != 0)
43308            }
43309            ///Bit 0 - Low-power UART 1 reset
43310            #[inline(always)]
43311            pub fn lpuart1rst(&self) -> LPUART1RST_R {
43312                LPUART1RST_R::new((self.bits & 0x01) != 0)
43313            }
43314        }
43315        impl W {
43316            ///Bit 5 - Low-power timer 2 reset
43317            #[inline(always)]
43318            pub fn lptim2rst(&mut self) -> LPTIM2RST_W {
43319                LPTIM2RST_W { w: self }
43320            }
43321            ///Bit 0 - Low-power UART 1 reset
43322            #[inline(always)]
43323            pub fn lpuart1rst(&mut self) -> LPUART1RST_W {
43324                LPUART1RST_W { w: self }
43325            }
43326        }
43327    }
43328    ///APB2 peripheral reset register
43329    ///
43330    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
43331    ///
43332    ///For information about available fields see [apb2rstr](apb2rstr) module
43333    pub type APB2RSTR = crate::Reg<u32, _APB2RSTR>;
43334    #[allow(missing_docs)]
43335    #[doc(hidden)]
43336    pub struct _APB2RSTR;
43337    ///`read()` method returns [apb2rstr::R](apb2rstr::R) reader structure
43338    impl crate::Readable for APB2RSTR {}
43339    ///`write(|w| ..)` method takes [apb2rstr::W](apb2rstr::W) writer structure
43340    impl crate::Writable for APB2RSTR {}
43341    ///APB2 peripheral reset register
43342    pub mod apb2rstr {
43343        ///Reader of register APB2RSTR
43344        pub type R = crate::R<u32, super::APB2RSTR>;
43345        ///Writer for register APB2RSTR
43346        pub type W = crate::W<u32, super::APB2RSTR>;
43347        ///Register APB2RSTR `reset()`'s with value 0
43348        impl crate::ResetValue for super::APB2RSTR {
43349            type Type = u32;
43350            #[inline(always)]
43351            fn reset_value() -> Self::Type {
43352                0
43353            }
43354        }
43355        ///Reader of field `SAI1RST`
43356        pub type SAI1RST_R = crate::R<bool, bool>;
43357        ///Write proxy for field `SAI1RST`
43358        pub struct SAI1RST_W<'a> {
43359            w: &'a mut W,
43360        }
43361        impl<'a> SAI1RST_W<'a> {
43362            ///Sets the field bit
43363            #[inline(always)]
43364            pub fn set_bit(self) -> &'a mut W {
43365                self.bit(true)
43366            }
43367            ///Clears the field bit
43368            #[inline(always)]
43369            pub fn clear_bit(self) -> &'a mut W {
43370                self.bit(false)
43371            }
43372            ///Writes raw bits to the field
43373            #[inline(always)]
43374            pub fn bit(self, value: bool) -> &'a mut W {
43375                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
43376                self.w
43377            }
43378        }
43379        ///Reader of field `TIM17RST`
43380        pub type TIM17RST_R = crate::R<bool, bool>;
43381        ///Write proxy for field `TIM17RST`
43382        pub struct TIM17RST_W<'a> {
43383            w: &'a mut W,
43384        }
43385        impl<'a> TIM17RST_W<'a> {
43386            ///Sets the field bit
43387            #[inline(always)]
43388            pub fn set_bit(self) -> &'a mut W {
43389                self.bit(true)
43390            }
43391            ///Clears the field bit
43392            #[inline(always)]
43393            pub fn clear_bit(self) -> &'a mut W {
43394                self.bit(false)
43395            }
43396            ///Writes raw bits to the field
43397            #[inline(always)]
43398            pub fn bit(self, value: bool) -> &'a mut W {
43399                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
43400                self.w
43401            }
43402        }
43403        ///Reader of field `TIM16RST`
43404        pub type TIM16RST_R = crate::R<bool, bool>;
43405        ///Write proxy for field `TIM16RST`
43406        pub struct TIM16RST_W<'a> {
43407            w: &'a mut W,
43408        }
43409        impl<'a> TIM16RST_W<'a> {
43410            ///Sets the field bit
43411            #[inline(always)]
43412            pub fn set_bit(self) -> &'a mut W {
43413                self.bit(true)
43414            }
43415            ///Clears the field bit
43416            #[inline(always)]
43417            pub fn clear_bit(self) -> &'a mut W {
43418                self.bit(false)
43419            }
43420            ///Writes raw bits to the field
43421            #[inline(always)]
43422            pub fn bit(self, value: bool) -> &'a mut W {
43423                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
43424                self.w
43425            }
43426        }
43427        ///Reader of field `USART1RST`
43428        pub type USART1RST_R = crate::R<bool, bool>;
43429        ///Write proxy for field `USART1RST`
43430        pub struct USART1RST_W<'a> {
43431            w: &'a mut W,
43432        }
43433        impl<'a> USART1RST_W<'a> {
43434            ///Sets the field bit
43435            #[inline(always)]
43436            pub fn set_bit(self) -> &'a mut W {
43437                self.bit(true)
43438            }
43439            ///Clears the field bit
43440            #[inline(always)]
43441            pub fn clear_bit(self) -> &'a mut W {
43442                self.bit(false)
43443            }
43444            ///Writes raw bits to the field
43445            #[inline(always)]
43446            pub fn bit(self, value: bool) -> &'a mut W {
43447                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
43448                self.w
43449            }
43450        }
43451        ///Reader of field `SPI1RST`
43452        pub type SPI1RST_R = crate::R<bool, bool>;
43453        ///Write proxy for field `SPI1RST`
43454        pub struct SPI1RST_W<'a> {
43455            w: &'a mut W,
43456        }
43457        impl<'a> SPI1RST_W<'a> {
43458            ///Sets the field bit
43459            #[inline(always)]
43460            pub fn set_bit(self) -> &'a mut W {
43461                self.bit(true)
43462            }
43463            ///Clears the field bit
43464            #[inline(always)]
43465            pub fn clear_bit(self) -> &'a mut W {
43466                self.bit(false)
43467            }
43468            ///Writes raw bits to the field
43469            #[inline(always)]
43470            pub fn bit(self, value: bool) -> &'a mut W {
43471                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
43472                self.w
43473            }
43474        }
43475        ///Reader of field `TIM1RST`
43476        pub type TIM1RST_R = crate::R<bool, bool>;
43477        ///Write proxy for field `TIM1RST`
43478        pub struct TIM1RST_W<'a> {
43479            w: &'a mut W,
43480        }
43481        impl<'a> TIM1RST_W<'a> {
43482            ///Sets the field bit
43483            #[inline(always)]
43484            pub fn set_bit(self) -> &'a mut W {
43485                self.bit(true)
43486            }
43487            ///Clears the field bit
43488            #[inline(always)]
43489            pub fn clear_bit(self) -> &'a mut W {
43490                self.bit(false)
43491            }
43492            ///Writes raw bits to the field
43493            #[inline(always)]
43494            pub fn bit(self, value: bool) -> &'a mut W {
43495                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
43496                self.w
43497            }
43498        }
43499        impl R {
43500            ///Bit 21 - Serial audio interface 1 (SAI1) reset
43501            #[inline(always)]
43502            pub fn sai1rst(&self) -> SAI1RST_R {
43503                SAI1RST_R::new(((self.bits >> 21) & 0x01) != 0)
43504            }
43505            ///Bit 18 - TIM17 timer reset
43506            #[inline(always)]
43507            pub fn tim17rst(&self) -> TIM17RST_R {
43508                TIM17RST_R::new(((self.bits >> 18) & 0x01) != 0)
43509            }
43510            ///Bit 17 - TIM16 timer reset
43511            #[inline(always)]
43512            pub fn tim16rst(&self) -> TIM16RST_R {
43513                TIM16RST_R::new(((self.bits >> 17) & 0x01) != 0)
43514            }
43515            ///Bit 14 - USART1 reset
43516            #[inline(always)]
43517            pub fn usart1rst(&self) -> USART1RST_R {
43518                USART1RST_R::new(((self.bits >> 14) & 0x01) != 0)
43519            }
43520            ///Bit 12 - SPI1 reset
43521            #[inline(always)]
43522            pub fn spi1rst(&self) -> SPI1RST_R {
43523                SPI1RST_R::new(((self.bits >> 12) & 0x01) != 0)
43524            }
43525            ///Bit 11 - TIM1 timer reset
43526            #[inline(always)]
43527            pub fn tim1rst(&self) -> TIM1RST_R {
43528                TIM1RST_R::new(((self.bits >> 11) & 0x01) != 0)
43529            }
43530        }
43531        impl W {
43532            ///Bit 21 - Serial audio interface 1 (SAI1) reset
43533            #[inline(always)]
43534            pub fn sai1rst(&mut self) -> SAI1RST_W {
43535                SAI1RST_W { w: self }
43536            }
43537            ///Bit 18 - TIM17 timer reset
43538            #[inline(always)]
43539            pub fn tim17rst(&mut self) -> TIM17RST_W {
43540                TIM17RST_W { w: self }
43541            }
43542            ///Bit 17 - TIM16 timer reset
43543            #[inline(always)]
43544            pub fn tim16rst(&mut self) -> TIM16RST_W {
43545                TIM16RST_W { w: self }
43546            }
43547            ///Bit 14 - USART1 reset
43548            #[inline(always)]
43549            pub fn usart1rst(&mut self) -> USART1RST_W {
43550                USART1RST_W { w: self }
43551            }
43552            ///Bit 12 - SPI1 reset
43553            #[inline(always)]
43554            pub fn spi1rst(&mut self) -> SPI1RST_W {
43555                SPI1RST_W { w: self }
43556            }
43557            ///Bit 11 - TIM1 timer reset
43558            #[inline(always)]
43559            pub fn tim1rst(&mut self) -> TIM1RST_W {
43560                TIM1RST_W { w: self }
43561            }
43562        }
43563    }
43564    ///APB3 peripheral reset register
43565    ///
43566    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
43567    ///
43568    ///For information about available fields see [apb3rstr](apb3rstr) module
43569    pub type APB3RSTR = crate::Reg<u32, _APB3RSTR>;
43570    #[allow(missing_docs)]
43571    #[doc(hidden)]
43572    pub struct _APB3RSTR;
43573    ///`read()` method returns [apb3rstr::R](apb3rstr::R) reader structure
43574    impl crate::Readable for APB3RSTR {}
43575    ///`write(|w| ..)` method takes [apb3rstr::W](apb3rstr::W) writer structure
43576    impl crate::Writable for APB3RSTR {}
43577    ///APB3 peripheral reset register
43578    pub mod apb3rstr {
43579        ///Reader of register APB3RSTR
43580        pub type R = crate::R<u32, super::APB3RSTR>;
43581        ///Writer for register APB3RSTR
43582        pub type W = crate::W<u32, super::APB3RSTR>;
43583        ///Register APB3RSTR `reset()`'s with value 0
43584        impl crate::ResetValue for super::APB3RSTR {
43585            type Type = u32;
43586            #[inline(always)]
43587            fn reset_value() -> Self::Type {
43588                0
43589            }
43590        }
43591        ///Reader of field `RFRST`
43592        pub type RFRST_R = crate::R<bool, bool>;
43593        ///Write proxy for field `RFRST`
43594        pub struct RFRST_W<'a> {
43595            w: &'a mut W,
43596        }
43597        impl<'a> RFRST_W<'a> {
43598            ///Sets the field bit
43599            #[inline(always)]
43600            pub fn set_bit(self) -> &'a mut W {
43601                self.bit(true)
43602            }
43603            ///Clears the field bit
43604            #[inline(always)]
43605            pub fn clear_bit(self) -> &'a mut W {
43606                self.bit(false)
43607            }
43608            ///Writes raw bits to the field
43609            #[inline(always)]
43610            pub fn bit(self, value: bool) -> &'a mut W {
43611                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
43612                self.w
43613            }
43614        }
43615        impl R {
43616            ///Bit 0 - Radio system BLE reset
43617            #[inline(always)]
43618            pub fn rfrst(&self) -> RFRST_R {
43619                RFRST_R::new((self.bits & 0x01) != 0)
43620            }
43621        }
43622        impl W {
43623            ///Bit 0 - Radio system BLE reset
43624            #[inline(always)]
43625            pub fn rfrst(&mut self) -> RFRST_W {
43626                RFRST_W { w: self }
43627            }
43628        }
43629    }
43630    ///AHB1 peripheral clock enable register
43631    ///
43632    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
43633    ///
43634    ///For information about available fields see [ahb1enr](ahb1enr) module
43635    pub type AHB1ENR = crate::Reg<u32, _AHB1ENR>;
43636    #[allow(missing_docs)]
43637    #[doc(hidden)]
43638    pub struct _AHB1ENR;
43639    ///`read()` method returns [ahb1enr::R](ahb1enr::R) reader structure
43640    impl crate::Readable for AHB1ENR {}
43641    ///`write(|w| ..)` method takes [ahb1enr::W](ahb1enr::W) writer structure
43642    impl crate::Writable for AHB1ENR {}
43643    ///AHB1 peripheral clock enable register
43644    pub mod ahb1enr {
43645        ///Reader of register AHB1ENR
43646        pub type R = crate::R<u32, super::AHB1ENR>;
43647        ///Writer for register AHB1ENR
43648        pub type W = crate::W<u32, super::AHB1ENR>;
43649        ///Register AHB1ENR `reset()`'s with value 0x0100
43650        impl crate::ResetValue for super::AHB1ENR {
43651            type Type = u32;
43652            #[inline(always)]
43653            fn reset_value() -> Self::Type {
43654                0x0100
43655            }
43656        }
43657        ///Reader of field `TSCEN`
43658        pub type TSCEN_R = crate::R<bool, bool>;
43659        ///Write proxy for field `TSCEN`
43660        pub struct TSCEN_W<'a> {
43661            w: &'a mut W,
43662        }
43663        impl<'a> TSCEN_W<'a> {
43664            ///Sets the field bit
43665            #[inline(always)]
43666            pub fn set_bit(self) -> &'a mut W {
43667                self.bit(true)
43668            }
43669            ///Clears the field bit
43670            #[inline(always)]
43671            pub fn clear_bit(self) -> &'a mut W {
43672                self.bit(false)
43673            }
43674            ///Writes raw bits to the field
43675            #[inline(always)]
43676            pub fn bit(self, value: bool) -> &'a mut W {
43677                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
43678                self.w
43679            }
43680        }
43681        ///Reader of field `CRCEN`
43682        pub type CRCEN_R = crate::R<bool, bool>;
43683        ///Write proxy for field `CRCEN`
43684        pub struct CRCEN_W<'a> {
43685            w: &'a mut W,
43686        }
43687        impl<'a> CRCEN_W<'a> {
43688            ///Sets the field bit
43689            #[inline(always)]
43690            pub fn set_bit(self) -> &'a mut W {
43691                self.bit(true)
43692            }
43693            ///Clears the field bit
43694            #[inline(always)]
43695            pub fn clear_bit(self) -> &'a mut W {
43696                self.bit(false)
43697            }
43698            ///Writes raw bits to the field
43699            #[inline(always)]
43700            pub fn bit(self, value: bool) -> &'a mut W {
43701                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
43702                self.w
43703            }
43704        }
43705        ///Reader of field `DMAMUXEN`
43706        pub type DMAMUXEN_R = crate::R<bool, bool>;
43707        ///Write proxy for field `DMAMUXEN`
43708        pub struct DMAMUXEN_W<'a> {
43709            w: &'a mut W,
43710        }
43711        impl<'a> DMAMUXEN_W<'a> {
43712            ///Sets the field bit
43713            #[inline(always)]
43714            pub fn set_bit(self) -> &'a mut W {
43715                self.bit(true)
43716            }
43717            ///Clears the field bit
43718            #[inline(always)]
43719            pub fn clear_bit(self) -> &'a mut W {
43720                self.bit(false)
43721            }
43722            ///Writes raw bits to the field
43723            #[inline(always)]
43724            pub fn bit(self, value: bool) -> &'a mut W {
43725                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
43726                self.w
43727            }
43728        }
43729        ///Reader of field `DMA2EN`
43730        pub type DMA2EN_R = crate::R<bool, bool>;
43731        ///Write proxy for field `DMA2EN`
43732        pub struct DMA2EN_W<'a> {
43733            w: &'a mut W,
43734        }
43735        impl<'a> DMA2EN_W<'a> {
43736            ///Sets the field bit
43737            #[inline(always)]
43738            pub fn set_bit(self) -> &'a mut W {
43739                self.bit(true)
43740            }
43741            ///Clears the field bit
43742            #[inline(always)]
43743            pub fn clear_bit(self) -> &'a mut W {
43744                self.bit(false)
43745            }
43746            ///Writes raw bits to the field
43747            #[inline(always)]
43748            pub fn bit(self, value: bool) -> &'a mut W {
43749                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
43750                self.w
43751            }
43752        }
43753        ///Reader of field `DMA1EN`
43754        pub type DMA1EN_R = crate::R<bool, bool>;
43755        ///Write proxy for field `DMA1EN`
43756        pub struct DMA1EN_W<'a> {
43757            w: &'a mut W,
43758        }
43759        impl<'a> DMA1EN_W<'a> {
43760            ///Sets the field bit
43761            #[inline(always)]
43762            pub fn set_bit(self) -> &'a mut W {
43763                self.bit(true)
43764            }
43765            ///Clears the field bit
43766            #[inline(always)]
43767            pub fn clear_bit(self) -> &'a mut W {
43768                self.bit(false)
43769            }
43770            ///Writes raw bits to the field
43771            #[inline(always)]
43772            pub fn bit(self, value: bool) -> &'a mut W {
43773                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
43774                self.w
43775            }
43776        }
43777        impl R {
43778            ///Bit 16 - Touch Sensing Controller clock enable
43779            #[inline(always)]
43780            pub fn tscen(&self) -> TSCEN_R {
43781                TSCEN_R::new(((self.bits >> 16) & 0x01) != 0)
43782            }
43783            ///Bit 12 - CPU1 CRC clock enable
43784            #[inline(always)]
43785            pub fn crcen(&self) -> CRCEN_R {
43786                CRCEN_R::new(((self.bits >> 12) & 0x01) != 0)
43787            }
43788            ///Bit 2 - DMAMUX clock enable
43789            #[inline(always)]
43790            pub fn dmamuxen(&self) -> DMAMUXEN_R {
43791                DMAMUXEN_R::new(((self.bits >> 2) & 0x01) != 0)
43792            }
43793            ///Bit 1 - DMA2 clock enable
43794            #[inline(always)]
43795            pub fn dma2en(&self) -> DMA2EN_R {
43796                DMA2EN_R::new(((self.bits >> 1) & 0x01) != 0)
43797            }
43798            ///Bit 0 - DMA1 clock enable
43799            #[inline(always)]
43800            pub fn dma1en(&self) -> DMA1EN_R {
43801                DMA1EN_R::new((self.bits & 0x01) != 0)
43802            }
43803        }
43804        impl W {
43805            ///Bit 16 - Touch Sensing Controller clock enable
43806            #[inline(always)]
43807            pub fn tscen(&mut self) -> TSCEN_W {
43808                TSCEN_W { w: self }
43809            }
43810            ///Bit 12 - CPU1 CRC clock enable
43811            #[inline(always)]
43812            pub fn crcen(&mut self) -> CRCEN_W {
43813                CRCEN_W { w: self }
43814            }
43815            ///Bit 2 - DMAMUX clock enable
43816            #[inline(always)]
43817            pub fn dmamuxen(&mut self) -> DMAMUXEN_W {
43818                DMAMUXEN_W { w: self }
43819            }
43820            ///Bit 1 - DMA2 clock enable
43821            #[inline(always)]
43822            pub fn dma2en(&mut self) -> DMA2EN_W {
43823                DMA2EN_W { w: self }
43824            }
43825            ///Bit 0 - DMA1 clock enable
43826            #[inline(always)]
43827            pub fn dma1en(&mut self) -> DMA1EN_W {
43828                DMA1EN_W { w: self }
43829            }
43830        }
43831    }
43832    ///AHB2 peripheral clock enable register
43833    ///
43834    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
43835    ///
43836    ///For information about available fields see [ahb2enr](ahb2enr) module
43837    pub type AHB2ENR = crate::Reg<u32, _AHB2ENR>;
43838    #[allow(missing_docs)]
43839    #[doc(hidden)]
43840    pub struct _AHB2ENR;
43841    ///`read()` method returns [ahb2enr::R](ahb2enr::R) reader structure
43842    impl crate::Readable for AHB2ENR {}
43843    ///`write(|w| ..)` method takes [ahb2enr::W](ahb2enr::W) writer structure
43844    impl crate::Writable for AHB2ENR {}
43845    ///AHB2 peripheral clock enable register
43846    pub mod ahb2enr {
43847        ///Reader of register AHB2ENR
43848        pub type R = crate::R<u32, super::AHB2ENR>;
43849        ///Writer for register AHB2ENR
43850        pub type W = crate::W<u32, super::AHB2ENR>;
43851        ///Register AHB2ENR `reset()`'s with value 0
43852        impl crate::ResetValue for super::AHB2ENR {
43853            type Type = u32;
43854            #[inline(always)]
43855            fn reset_value() -> Self::Type {
43856                0
43857            }
43858        }
43859        ///Reader of field `AES1EN`
43860        pub type AES1EN_R = crate::R<bool, bool>;
43861        ///Write proxy for field `AES1EN`
43862        pub struct AES1EN_W<'a> {
43863            w: &'a mut W,
43864        }
43865        impl<'a> AES1EN_W<'a> {
43866            ///Sets the field bit
43867            #[inline(always)]
43868            pub fn set_bit(self) -> &'a mut W {
43869                self.bit(true)
43870            }
43871            ///Clears the field bit
43872            #[inline(always)]
43873            pub fn clear_bit(self) -> &'a mut W {
43874                self.bit(false)
43875            }
43876            ///Writes raw bits to the field
43877            #[inline(always)]
43878            pub fn bit(self, value: bool) -> &'a mut W {
43879                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
43880                self.w
43881            }
43882        }
43883        ///Reader of field `ADCEN`
43884        pub type ADCEN_R = crate::R<bool, bool>;
43885        ///Write proxy for field `ADCEN`
43886        pub struct ADCEN_W<'a> {
43887            w: &'a mut W,
43888        }
43889        impl<'a> ADCEN_W<'a> {
43890            ///Sets the field bit
43891            #[inline(always)]
43892            pub fn set_bit(self) -> &'a mut W {
43893                self.bit(true)
43894            }
43895            ///Clears the field bit
43896            #[inline(always)]
43897            pub fn clear_bit(self) -> &'a mut W {
43898                self.bit(false)
43899            }
43900            ///Writes raw bits to the field
43901            #[inline(always)]
43902            pub fn bit(self, value: bool) -> &'a mut W {
43903                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
43904                self.w
43905            }
43906        }
43907        ///Reader of field `GPIOHEN`
43908        pub type GPIOHEN_R = crate::R<bool, bool>;
43909        ///Write proxy for field `GPIOHEN`
43910        pub struct GPIOHEN_W<'a> {
43911            w: &'a mut W,
43912        }
43913        impl<'a> GPIOHEN_W<'a> {
43914            ///Sets the field bit
43915            #[inline(always)]
43916            pub fn set_bit(self) -> &'a mut W {
43917                self.bit(true)
43918            }
43919            ///Clears the field bit
43920            #[inline(always)]
43921            pub fn clear_bit(self) -> &'a mut W {
43922                self.bit(false)
43923            }
43924            ///Writes raw bits to the field
43925            #[inline(always)]
43926            pub fn bit(self, value: bool) -> &'a mut W {
43927                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
43928                self.w
43929            }
43930        }
43931        ///Reader of field `GPIOEEN`
43932        pub type GPIOEEN_R = crate::R<bool, bool>;
43933        ///Write proxy for field `GPIOEEN`
43934        pub struct GPIOEEN_W<'a> {
43935            w: &'a mut W,
43936        }
43937        impl<'a> GPIOEEN_W<'a> {
43938            ///Sets the field bit
43939            #[inline(always)]
43940            pub fn set_bit(self) -> &'a mut W {
43941                self.bit(true)
43942            }
43943            ///Clears the field bit
43944            #[inline(always)]
43945            pub fn clear_bit(self) -> &'a mut W {
43946                self.bit(false)
43947            }
43948            ///Writes raw bits to the field
43949            #[inline(always)]
43950            pub fn bit(self, value: bool) -> &'a mut W {
43951                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
43952                self.w
43953            }
43954        }
43955        ///Reader of field `GPIODEN`
43956        pub type GPIODEN_R = crate::R<bool, bool>;
43957        ///Write proxy for field `GPIODEN`
43958        pub struct GPIODEN_W<'a> {
43959            w: &'a mut W,
43960        }
43961        impl<'a> GPIODEN_W<'a> {
43962            ///Sets the field bit
43963            #[inline(always)]
43964            pub fn set_bit(self) -> &'a mut W {
43965                self.bit(true)
43966            }
43967            ///Clears the field bit
43968            #[inline(always)]
43969            pub fn clear_bit(self) -> &'a mut W {
43970                self.bit(false)
43971            }
43972            ///Writes raw bits to the field
43973            #[inline(always)]
43974            pub fn bit(self, value: bool) -> &'a mut W {
43975                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
43976                self.w
43977            }
43978        }
43979        ///Reader of field `GPIOCEN`
43980        pub type GPIOCEN_R = crate::R<bool, bool>;
43981        ///Write proxy for field `GPIOCEN`
43982        pub struct GPIOCEN_W<'a> {
43983            w: &'a mut W,
43984        }
43985        impl<'a> GPIOCEN_W<'a> {
43986            ///Sets the field bit
43987            #[inline(always)]
43988            pub fn set_bit(self) -> &'a mut W {
43989                self.bit(true)
43990            }
43991            ///Clears the field bit
43992            #[inline(always)]
43993            pub fn clear_bit(self) -> &'a mut W {
43994                self.bit(false)
43995            }
43996            ///Writes raw bits to the field
43997            #[inline(always)]
43998            pub fn bit(self, value: bool) -> &'a mut W {
43999                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
44000                self.w
44001            }
44002        }
44003        ///Reader of field `GPIOBEN`
44004        pub type GPIOBEN_R = crate::R<bool, bool>;
44005        ///Write proxy for field `GPIOBEN`
44006        pub struct GPIOBEN_W<'a> {
44007            w: &'a mut W,
44008        }
44009        impl<'a> GPIOBEN_W<'a> {
44010            ///Sets the field bit
44011            #[inline(always)]
44012            pub fn set_bit(self) -> &'a mut W {
44013                self.bit(true)
44014            }
44015            ///Clears the field bit
44016            #[inline(always)]
44017            pub fn clear_bit(self) -> &'a mut W {
44018                self.bit(false)
44019            }
44020            ///Writes raw bits to the field
44021            #[inline(always)]
44022            pub fn bit(self, value: bool) -> &'a mut W {
44023                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
44024                self.w
44025            }
44026        }
44027        ///Reader of field `GPIOAEN`
44028        pub type GPIOAEN_R = crate::R<bool, bool>;
44029        ///Write proxy for field `GPIOAEN`
44030        pub struct GPIOAEN_W<'a> {
44031            w: &'a mut W,
44032        }
44033        impl<'a> GPIOAEN_W<'a> {
44034            ///Sets the field bit
44035            #[inline(always)]
44036            pub fn set_bit(self) -> &'a mut W {
44037                self.bit(true)
44038            }
44039            ///Clears the field bit
44040            #[inline(always)]
44041            pub fn clear_bit(self) -> &'a mut W {
44042                self.bit(false)
44043            }
44044            ///Writes raw bits to the field
44045            #[inline(always)]
44046            pub fn bit(self, value: bool) -> &'a mut W {
44047                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
44048                self.w
44049            }
44050        }
44051        impl R {
44052            ///Bit 16 - AES1 accelerator clock enable
44053            #[inline(always)]
44054            pub fn aes1en(&self) -> AES1EN_R {
44055                AES1EN_R::new(((self.bits >> 16) & 0x01) != 0)
44056            }
44057            ///Bit 13 - ADC clock enable
44058            #[inline(always)]
44059            pub fn adcen(&self) -> ADCEN_R {
44060                ADCEN_R::new(((self.bits >> 13) & 0x01) != 0)
44061            }
44062            ///Bit 7 - IO port H clock enable
44063            #[inline(always)]
44064            pub fn gpiohen(&self) -> GPIOHEN_R {
44065                GPIOHEN_R::new(((self.bits >> 7) & 0x01) != 0)
44066            }
44067            ///Bit 4 - IO port E clock enable
44068            #[inline(always)]
44069            pub fn gpioeen(&self) -> GPIOEEN_R {
44070                GPIOEEN_R::new(((self.bits >> 4) & 0x01) != 0)
44071            }
44072            ///Bit 3 - IO port D clock enable
44073            #[inline(always)]
44074            pub fn gpioden(&self) -> GPIODEN_R {
44075                GPIODEN_R::new(((self.bits >> 3) & 0x01) != 0)
44076            }
44077            ///Bit 2 - IO port C clock enable
44078            #[inline(always)]
44079            pub fn gpiocen(&self) -> GPIOCEN_R {
44080                GPIOCEN_R::new(((self.bits >> 2) & 0x01) != 0)
44081            }
44082            ///Bit 1 - IO port B clock enable
44083            #[inline(always)]
44084            pub fn gpioben(&self) -> GPIOBEN_R {
44085                GPIOBEN_R::new(((self.bits >> 1) & 0x01) != 0)
44086            }
44087            ///Bit 0 - IO port A clock enable
44088            #[inline(always)]
44089            pub fn gpioaen(&self) -> GPIOAEN_R {
44090                GPIOAEN_R::new((self.bits & 0x01) != 0)
44091            }
44092        }
44093        impl W {
44094            ///Bit 16 - AES1 accelerator clock enable
44095            #[inline(always)]
44096            pub fn aes1en(&mut self) -> AES1EN_W {
44097                AES1EN_W { w: self }
44098            }
44099            ///Bit 13 - ADC clock enable
44100            #[inline(always)]
44101            pub fn adcen(&mut self) -> ADCEN_W {
44102                ADCEN_W { w: self }
44103            }
44104            ///Bit 7 - IO port H clock enable
44105            #[inline(always)]
44106            pub fn gpiohen(&mut self) -> GPIOHEN_W {
44107                GPIOHEN_W { w: self }
44108            }
44109            ///Bit 4 - IO port E clock enable
44110            #[inline(always)]
44111            pub fn gpioeen(&mut self) -> GPIOEEN_W {
44112                GPIOEEN_W { w: self }
44113            }
44114            ///Bit 3 - IO port D clock enable
44115            #[inline(always)]
44116            pub fn gpioden(&mut self) -> GPIODEN_W {
44117                GPIODEN_W { w: self }
44118            }
44119            ///Bit 2 - IO port C clock enable
44120            #[inline(always)]
44121            pub fn gpiocen(&mut self) -> GPIOCEN_W {
44122                GPIOCEN_W { w: self }
44123            }
44124            ///Bit 1 - IO port B clock enable
44125            #[inline(always)]
44126            pub fn gpioben(&mut self) -> GPIOBEN_W {
44127                GPIOBEN_W { w: self }
44128            }
44129            ///Bit 0 - IO port A clock enable
44130            #[inline(always)]
44131            pub fn gpioaen(&mut self) -> GPIOAEN_W {
44132                GPIOAEN_W { w: self }
44133            }
44134        }
44135    }
44136    ///AHB3 peripheral clock enable register
44137    ///
44138    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
44139    ///
44140    ///For information about available fields see [ahb3enr](ahb3enr) module
44141    pub type AHB3ENR = crate::Reg<u32, _AHB3ENR>;
44142    #[allow(missing_docs)]
44143    #[doc(hidden)]
44144    pub struct _AHB3ENR;
44145    ///`read()` method returns [ahb3enr::R](ahb3enr::R) reader structure
44146    impl crate::Readable for AHB3ENR {}
44147    ///`write(|w| ..)` method takes [ahb3enr::W](ahb3enr::W) writer structure
44148    impl crate::Writable for AHB3ENR {}
44149    ///AHB3 peripheral clock enable register
44150    pub mod ahb3enr {
44151        ///Reader of register AHB3ENR
44152        pub type R = crate::R<u32, super::AHB3ENR>;
44153        ///Writer for register AHB3ENR
44154        pub type W = crate::W<u32, super::AHB3ENR>;
44155        ///Register AHB3ENR `reset()`'s with value 0x0208_0000
44156        impl crate::ResetValue for super::AHB3ENR {
44157            type Type = u32;
44158            #[inline(always)]
44159            fn reset_value() -> Self::Type {
44160                0x0208_0000
44161            }
44162        }
44163        ///Reader of field `FLASHEN`
44164        pub type FLASHEN_R = crate::R<bool, bool>;
44165        ///Write proxy for field `FLASHEN`
44166        pub struct FLASHEN_W<'a> {
44167            w: &'a mut W,
44168        }
44169        impl<'a> FLASHEN_W<'a> {
44170            ///Sets the field bit
44171            #[inline(always)]
44172            pub fn set_bit(self) -> &'a mut W {
44173                self.bit(true)
44174            }
44175            ///Clears the field bit
44176            #[inline(always)]
44177            pub fn clear_bit(self) -> &'a mut W {
44178                self.bit(false)
44179            }
44180            ///Writes raw bits to the field
44181            #[inline(always)]
44182            pub fn bit(self, value: bool) -> &'a mut W {
44183                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
44184                self.w
44185            }
44186        }
44187        ///Reader of field `IPCCEN`
44188        pub type IPCCEN_R = crate::R<bool, bool>;
44189        ///Write proxy for field `IPCCEN`
44190        pub struct IPCCEN_W<'a> {
44191            w: &'a mut W,
44192        }
44193        impl<'a> IPCCEN_W<'a> {
44194            ///Sets the field bit
44195            #[inline(always)]
44196            pub fn set_bit(self) -> &'a mut W {
44197                self.bit(true)
44198            }
44199            ///Clears the field bit
44200            #[inline(always)]
44201            pub fn clear_bit(self) -> &'a mut W {
44202                self.bit(false)
44203            }
44204            ///Writes raw bits to the field
44205            #[inline(always)]
44206            pub fn bit(self, value: bool) -> &'a mut W {
44207                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
44208                self.w
44209            }
44210        }
44211        ///Reader of field `HSEMEN`
44212        pub type HSEMEN_R = crate::R<bool, bool>;
44213        ///Write proxy for field `HSEMEN`
44214        pub struct HSEMEN_W<'a> {
44215            w: &'a mut W,
44216        }
44217        impl<'a> HSEMEN_W<'a> {
44218            ///Sets the field bit
44219            #[inline(always)]
44220            pub fn set_bit(self) -> &'a mut W {
44221                self.bit(true)
44222            }
44223            ///Clears the field bit
44224            #[inline(always)]
44225            pub fn clear_bit(self) -> &'a mut W {
44226                self.bit(false)
44227            }
44228            ///Writes raw bits to the field
44229            #[inline(always)]
44230            pub fn bit(self, value: bool) -> &'a mut W {
44231                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
44232                self.w
44233            }
44234        }
44235        ///Reader of field `RNGEN`
44236        pub type RNGEN_R = crate::R<bool, bool>;
44237        ///Write proxy for field `RNGEN`
44238        pub struct RNGEN_W<'a> {
44239            w: &'a mut W,
44240        }
44241        impl<'a> RNGEN_W<'a> {
44242            ///Sets the field bit
44243            #[inline(always)]
44244            pub fn set_bit(self) -> &'a mut W {
44245                self.bit(true)
44246            }
44247            ///Clears the field bit
44248            #[inline(always)]
44249            pub fn clear_bit(self) -> &'a mut W {
44250                self.bit(false)
44251            }
44252            ///Writes raw bits to the field
44253            #[inline(always)]
44254            pub fn bit(self, value: bool) -> &'a mut W {
44255                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
44256                self.w
44257            }
44258        }
44259        ///Reader of field `AES2EN`
44260        pub type AES2EN_R = crate::R<bool, bool>;
44261        ///Write proxy for field `AES2EN`
44262        pub struct AES2EN_W<'a> {
44263            w: &'a mut W,
44264        }
44265        impl<'a> AES2EN_W<'a> {
44266            ///Sets the field bit
44267            #[inline(always)]
44268            pub fn set_bit(self) -> &'a mut W {
44269                self.bit(true)
44270            }
44271            ///Clears the field bit
44272            #[inline(always)]
44273            pub fn clear_bit(self) -> &'a mut W {
44274                self.bit(false)
44275            }
44276            ///Writes raw bits to the field
44277            #[inline(always)]
44278            pub fn bit(self, value: bool) -> &'a mut W {
44279                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
44280                self.w
44281            }
44282        }
44283        ///Reader of field `PKAEN`
44284        pub type PKAEN_R = crate::R<bool, bool>;
44285        ///Write proxy for field `PKAEN`
44286        pub struct PKAEN_W<'a> {
44287            w: &'a mut W,
44288        }
44289        impl<'a> PKAEN_W<'a> {
44290            ///Sets the field bit
44291            #[inline(always)]
44292            pub fn set_bit(self) -> &'a mut W {
44293                self.bit(true)
44294            }
44295            ///Clears the field bit
44296            #[inline(always)]
44297            pub fn clear_bit(self) -> &'a mut W {
44298                self.bit(false)
44299            }
44300            ///Writes raw bits to the field
44301            #[inline(always)]
44302            pub fn bit(self, value: bool) -> &'a mut W {
44303                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
44304                self.w
44305            }
44306        }
44307        ///Reader of field `QSPIEN`
44308        pub type QSPIEN_R = crate::R<bool, bool>;
44309        ///Write proxy for field `QSPIEN`
44310        pub struct QSPIEN_W<'a> {
44311            w: &'a mut W,
44312        }
44313        impl<'a> QSPIEN_W<'a> {
44314            ///Sets the field bit
44315            #[inline(always)]
44316            pub fn set_bit(self) -> &'a mut W {
44317                self.bit(true)
44318            }
44319            ///Clears the field bit
44320            #[inline(always)]
44321            pub fn clear_bit(self) -> &'a mut W {
44322                self.bit(false)
44323            }
44324            ///Writes raw bits to the field
44325            #[inline(always)]
44326            pub fn bit(self, value: bool) -> &'a mut W {
44327                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
44328                self.w
44329            }
44330        }
44331        impl R {
44332            ///Bit 25 - FLASHEN
44333            #[inline(always)]
44334            pub fn flashen(&self) -> FLASHEN_R {
44335                FLASHEN_R::new(((self.bits >> 25) & 0x01) != 0)
44336            }
44337            ///Bit 20 - IPCCEN
44338            #[inline(always)]
44339            pub fn ipccen(&self) -> IPCCEN_R {
44340                IPCCEN_R::new(((self.bits >> 20) & 0x01) != 0)
44341            }
44342            ///Bit 19 - HSEMEN
44343            #[inline(always)]
44344            pub fn hsemen(&self) -> HSEMEN_R {
44345                HSEMEN_R::new(((self.bits >> 19) & 0x01) != 0)
44346            }
44347            ///Bit 18 - RNGEN
44348            #[inline(always)]
44349            pub fn rngen(&self) -> RNGEN_R {
44350                RNGEN_R::new(((self.bits >> 18) & 0x01) != 0)
44351            }
44352            ///Bit 17 - AES2EN
44353            #[inline(always)]
44354            pub fn aes2en(&self) -> AES2EN_R {
44355                AES2EN_R::new(((self.bits >> 17) & 0x01) != 0)
44356            }
44357            ///Bit 16 - PKAEN
44358            #[inline(always)]
44359            pub fn pkaen(&self) -> PKAEN_R {
44360                PKAEN_R::new(((self.bits >> 16) & 0x01) != 0)
44361            }
44362            ///Bit 8 - QSPIEN
44363            #[inline(always)]
44364            pub fn qspien(&self) -> QSPIEN_R {
44365                QSPIEN_R::new(((self.bits >> 8) & 0x01) != 0)
44366            }
44367        }
44368        impl W {
44369            ///Bit 25 - FLASHEN
44370            #[inline(always)]
44371            pub fn flashen(&mut self) -> FLASHEN_W {
44372                FLASHEN_W { w: self }
44373            }
44374            ///Bit 20 - IPCCEN
44375            #[inline(always)]
44376            pub fn ipccen(&mut self) -> IPCCEN_W {
44377                IPCCEN_W { w: self }
44378            }
44379            ///Bit 19 - HSEMEN
44380            #[inline(always)]
44381            pub fn hsemen(&mut self) -> HSEMEN_W {
44382                HSEMEN_W { w: self }
44383            }
44384            ///Bit 18 - RNGEN
44385            #[inline(always)]
44386            pub fn rngen(&mut self) -> RNGEN_W {
44387                RNGEN_W { w: self }
44388            }
44389            ///Bit 17 - AES2EN
44390            #[inline(always)]
44391            pub fn aes2en(&mut self) -> AES2EN_W {
44392                AES2EN_W { w: self }
44393            }
44394            ///Bit 16 - PKAEN
44395            #[inline(always)]
44396            pub fn pkaen(&mut self) -> PKAEN_W {
44397                PKAEN_W { w: self }
44398            }
44399            ///Bit 8 - QSPIEN
44400            #[inline(always)]
44401            pub fn qspien(&mut self) -> QSPIEN_W {
44402                QSPIEN_W { w: self }
44403            }
44404        }
44405    }
44406    ///APB1ENR1
44407    ///
44408    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
44409    ///
44410    ///For information about available fields see [apb1enr1](apb1enr1) module
44411    pub type APB1ENR1 = crate::Reg<u32, _APB1ENR1>;
44412    #[allow(missing_docs)]
44413    #[doc(hidden)]
44414    pub struct _APB1ENR1;
44415    ///`read()` method returns [apb1enr1::R](apb1enr1::R) reader structure
44416    impl crate::Readable for APB1ENR1 {}
44417    ///`write(|w| ..)` method takes [apb1enr1::W](apb1enr1::W) writer structure
44418    impl crate::Writable for APB1ENR1 {}
44419    ///APB1ENR1
44420    pub mod apb1enr1 {
44421        ///Reader of register APB1ENR1
44422        pub type R = crate::R<u32, super::APB1ENR1>;
44423        ///Writer for register APB1ENR1
44424        pub type W = crate::W<u32, super::APB1ENR1>;
44425        ///Register APB1ENR1 `reset()`'s with value 0x0400
44426        impl crate::ResetValue for super::APB1ENR1 {
44427            type Type = u32;
44428            #[inline(always)]
44429            fn reset_value() -> Self::Type {
44430                0x0400
44431            }
44432        }
44433        ///Reader of field `LPTIM1EN`
44434        pub type LPTIM1EN_R = crate::R<bool, bool>;
44435        ///Write proxy for field `LPTIM1EN`
44436        pub struct LPTIM1EN_W<'a> {
44437            w: &'a mut W,
44438        }
44439        impl<'a> LPTIM1EN_W<'a> {
44440            ///Sets the field bit
44441            #[inline(always)]
44442            pub fn set_bit(self) -> &'a mut W {
44443                self.bit(true)
44444            }
44445            ///Clears the field bit
44446            #[inline(always)]
44447            pub fn clear_bit(self) -> &'a mut W {
44448                self.bit(false)
44449            }
44450            ///Writes raw bits to the field
44451            #[inline(always)]
44452            pub fn bit(self, value: bool) -> &'a mut W {
44453                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
44454                self.w
44455            }
44456        }
44457        ///Reader of field `USBEN`
44458        pub type USBEN_R = crate::R<bool, bool>;
44459        ///Write proxy for field `USBEN`
44460        pub struct USBEN_W<'a> {
44461            w: &'a mut W,
44462        }
44463        impl<'a> USBEN_W<'a> {
44464            ///Sets the field bit
44465            #[inline(always)]
44466            pub fn set_bit(self) -> &'a mut W {
44467                self.bit(true)
44468            }
44469            ///Clears the field bit
44470            #[inline(always)]
44471            pub fn clear_bit(self) -> &'a mut W {
44472                self.bit(false)
44473            }
44474            ///Writes raw bits to the field
44475            #[inline(always)]
44476            pub fn bit(self, value: bool) -> &'a mut W {
44477                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
44478                self.w
44479            }
44480        }
44481        ///Reader of field `CRSEN`
44482        pub type CRSEN_R = crate::R<bool, bool>;
44483        ///Write proxy for field `CRSEN`
44484        pub struct CRSEN_W<'a> {
44485            w: &'a mut W,
44486        }
44487        impl<'a> CRSEN_W<'a> {
44488            ///Sets the field bit
44489            #[inline(always)]
44490            pub fn set_bit(self) -> &'a mut W {
44491                self.bit(true)
44492            }
44493            ///Clears the field bit
44494            #[inline(always)]
44495            pub fn clear_bit(self) -> &'a mut W {
44496                self.bit(false)
44497            }
44498            ///Writes raw bits to the field
44499            #[inline(always)]
44500            pub fn bit(self, value: bool) -> &'a mut W {
44501                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
44502                self.w
44503            }
44504        }
44505        ///Reader of field `I2C3EN`
44506        pub type I2C3EN_R = crate::R<bool, bool>;
44507        ///Write proxy for field `I2C3EN`
44508        pub struct I2C3EN_W<'a> {
44509            w: &'a mut W,
44510        }
44511        impl<'a> I2C3EN_W<'a> {
44512            ///Sets the field bit
44513            #[inline(always)]
44514            pub fn set_bit(self) -> &'a mut W {
44515                self.bit(true)
44516            }
44517            ///Clears the field bit
44518            #[inline(always)]
44519            pub fn clear_bit(self) -> &'a mut W {
44520                self.bit(false)
44521            }
44522            ///Writes raw bits to the field
44523            #[inline(always)]
44524            pub fn bit(self, value: bool) -> &'a mut W {
44525                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
44526                self.w
44527            }
44528        }
44529        ///Reader of field `I2C1EN`
44530        pub type I2C1EN_R = crate::R<bool, bool>;
44531        ///Write proxy for field `I2C1EN`
44532        pub struct I2C1EN_W<'a> {
44533            w: &'a mut W,
44534        }
44535        impl<'a> I2C1EN_W<'a> {
44536            ///Sets the field bit
44537            #[inline(always)]
44538            pub fn set_bit(self) -> &'a mut W {
44539                self.bit(true)
44540            }
44541            ///Clears the field bit
44542            #[inline(always)]
44543            pub fn clear_bit(self) -> &'a mut W {
44544                self.bit(false)
44545            }
44546            ///Writes raw bits to the field
44547            #[inline(always)]
44548            pub fn bit(self, value: bool) -> &'a mut W {
44549                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
44550                self.w
44551            }
44552        }
44553        ///Reader of field `SPI2EN`
44554        pub type SPI2EN_R = crate::R<bool, bool>;
44555        ///Write proxy for field `SPI2EN`
44556        pub struct SPI2EN_W<'a> {
44557            w: &'a mut W,
44558        }
44559        impl<'a> SPI2EN_W<'a> {
44560            ///Sets the field bit
44561            #[inline(always)]
44562            pub fn set_bit(self) -> &'a mut W {
44563                self.bit(true)
44564            }
44565            ///Clears the field bit
44566            #[inline(always)]
44567            pub fn clear_bit(self) -> &'a mut W {
44568                self.bit(false)
44569            }
44570            ///Writes raw bits to the field
44571            #[inline(always)]
44572            pub fn bit(self, value: bool) -> &'a mut W {
44573                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
44574                self.w
44575            }
44576        }
44577        ///Reader of field `WWDGEN`
44578        pub type WWDGEN_R = crate::R<bool, bool>;
44579        ///Write proxy for field `WWDGEN`
44580        pub struct WWDGEN_W<'a> {
44581            w: &'a mut W,
44582        }
44583        impl<'a> WWDGEN_W<'a> {
44584            ///Sets the field bit
44585            #[inline(always)]
44586            pub fn set_bit(self) -> &'a mut W {
44587                self.bit(true)
44588            }
44589            ///Clears the field bit
44590            #[inline(always)]
44591            pub fn clear_bit(self) -> &'a mut W {
44592                self.bit(false)
44593            }
44594            ///Writes raw bits to the field
44595            #[inline(always)]
44596            pub fn bit(self, value: bool) -> &'a mut W {
44597                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
44598                self.w
44599            }
44600        }
44601        ///Reader of field `RTCAPBEN`
44602        pub type RTCAPBEN_R = crate::R<bool, bool>;
44603        ///Write proxy for field `RTCAPBEN`
44604        pub struct RTCAPBEN_W<'a> {
44605            w: &'a mut W,
44606        }
44607        impl<'a> RTCAPBEN_W<'a> {
44608            ///Sets the field bit
44609            #[inline(always)]
44610            pub fn set_bit(self) -> &'a mut W {
44611                self.bit(true)
44612            }
44613            ///Clears the field bit
44614            #[inline(always)]
44615            pub fn clear_bit(self) -> &'a mut W {
44616                self.bit(false)
44617            }
44618            ///Writes raw bits to the field
44619            #[inline(always)]
44620            pub fn bit(self, value: bool) -> &'a mut W {
44621                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
44622                self.w
44623            }
44624        }
44625        ///Reader of field `LCDEN`
44626        pub type LCDEN_R = crate::R<bool, bool>;
44627        ///Write proxy for field `LCDEN`
44628        pub struct LCDEN_W<'a> {
44629            w: &'a mut W,
44630        }
44631        impl<'a> LCDEN_W<'a> {
44632            ///Sets the field bit
44633            #[inline(always)]
44634            pub fn set_bit(self) -> &'a mut W {
44635                self.bit(true)
44636            }
44637            ///Clears the field bit
44638            #[inline(always)]
44639            pub fn clear_bit(self) -> &'a mut W {
44640                self.bit(false)
44641            }
44642            ///Writes raw bits to the field
44643            #[inline(always)]
44644            pub fn bit(self, value: bool) -> &'a mut W {
44645                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
44646                self.w
44647            }
44648        }
44649        ///Reader of field `TIM2EN`
44650        pub type TIM2EN_R = crate::R<bool, bool>;
44651        ///Write proxy for field `TIM2EN`
44652        pub struct TIM2EN_W<'a> {
44653            w: &'a mut W,
44654        }
44655        impl<'a> TIM2EN_W<'a> {
44656            ///Sets the field bit
44657            #[inline(always)]
44658            pub fn set_bit(self) -> &'a mut W {
44659                self.bit(true)
44660            }
44661            ///Clears the field bit
44662            #[inline(always)]
44663            pub fn clear_bit(self) -> &'a mut W {
44664                self.bit(false)
44665            }
44666            ///Writes raw bits to the field
44667            #[inline(always)]
44668            pub fn bit(self, value: bool) -> &'a mut W {
44669                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
44670                self.w
44671            }
44672        }
44673        impl R {
44674            ///Bit 31 - CPU1 Low power timer 1 clock enable
44675            #[inline(always)]
44676            pub fn lptim1en(&self) -> LPTIM1EN_R {
44677                LPTIM1EN_R::new(((self.bits >> 31) & 0x01) != 0)
44678            }
44679            ///Bit 26 - CPU1 USB clock enable
44680            #[inline(always)]
44681            pub fn usben(&self) -> USBEN_R {
44682                USBEN_R::new(((self.bits >> 26) & 0x01) != 0)
44683            }
44684            ///Bit 24 - CPU1 CRS clock enable
44685            #[inline(always)]
44686            pub fn crsen(&self) -> CRSEN_R {
44687                CRSEN_R::new(((self.bits >> 24) & 0x01) != 0)
44688            }
44689            ///Bit 23 - CPU1 I2C3 clock enable
44690            #[inline(always)]
44691            pub fn i2c3en(&self) -> I2C3EN_R {
44692                I2C3EN_R::new(((self.bits >> 23) & 0x01) != 0)
44693            }
44694            ///Bit 21 - CPU1 I2C1 clock enable
44695            #[inline(always)]
44696            pub fn i2c1en(&self) -> I2C1EN_R {
44697                I2C1EN_R::new(((self.bits >> 21) & 0x01) != 0)
44698            }
44699            ///Bit 14 - CPU1 SPI2 clock enable
44700            #[inline(always)]
44701            pub fn spi2en(&self) -> SPI2EN_R {
44702                SPI2EN_R::new(((self.bits >> 14) & 0x01) != 0)
44703            }
44704            ///Bit 11 - CPU1 Window watchdog clock enable
44705            #[inline(always)]
44706            pub fn wwdgen(&self) -> WWDGEN_R {
44707                WWDGEN_R::new(((self.bits >> 11) & 0x01) != 0)
44708            }
44709            ///Bit 10 - CPU1 RTC APB clock enable
44710            #[inline(always)]
44711            pub fn rtcapben(&self) -> RTCAPBEN_R {
44712                RTCAPBEN_R::new(((self.bits >> 10) & 0x01) != 0)
44713            }
44714            ///Bit 9 - CPU1 LCD clock enable
44715            #[inline(always)]
44716            pub fn lcden(&self) -> LCDEN_R {
44717                LCDEN_R::new(((self.bits >> 9) & 0x01) != 0)
44718            }
44719            ///Bit 0 - CPU1 TIM2 timer clock enable
44720            #[inline(always)]
44721            pub fn tim2en(&self) -> TIM2EN_R {
44722                TIM2EN_R::new((self.bits & 0x01) != 0)
44723            }
44724        }
44725        impl W {
44726            ///Bit 31 - CPU1 Low power timer 1 clock enable
44727            #[inline(always)]
44728            pub fn lptim1en(&mut self) -> LPTIM1EN_W {
44729                LPTIM1EN_W { w: self }
44730            }
44731            ///Bit 26 - CPU1 USB clock enable
44732            #[inline(always)]
44733            pub fn usben(&mut self) -> USBEN_W {
44734                USBEN_W { w: self }
44735            }
44736            ///Bit 24 - CPU1 CRS clock enable
44737            #[inline(always)]
44738            pub fn crsen(&mut self) -> CRSEN_W {
44739                CRSEN_W { w: self }
44740            }
44741            ///Bit 23 - CPU1 I2C3 clock enable
44742            #[inline(always)]
44743            pub fn i2c3en(&mut self) -> I2C3EN_W {
44744                I2C3EN_W { w: self }
44745            }
44746            ///Bit 21 - CPU1 I2C1 clock enable
44747            #[inline(always)]
44748            pub fn i2c1en(&mut self) -> I2C1EN_W {
44749                I2C1EN_W { w: self }
44750            }
44751            ///Bit 14 - CPU1 SPI2 clock enable
44752            #[inline(always)]
44753            pub fn spi2en(&mut self) -> SPI2EN_W {
44754                SPI2EN_W { w: self }
44755            }
44756            ///Bit 11 - CPU1 Window watchdog clock enable
44757            #[inline(always)]
44758            pub fn wwdgen(&mut self) -> WWDGEN_W {
44759                WWDGEN_W { w: self }
44760            }
44761            ///Bit 10 - CPU1 RTC APB clock enable
44762            #[inline(always)]
44763            pub fn rtcapben(&mut self) -> RTCAPBEN_W {
44764                RTCAPBEN_W { w: self }
44765            }
44766            ///Bit 9 - CPU1 LCD clock enable
44767            #[inline(always)]
44768            pub fn lcden(&mut self) -> LCDEN_W {
44769                LCDEN_W { w: self }
44770            }
44771            ///Bit 0 - CPU1 TIM2 timer clock enable
44772            #[inline(always)]
44773            pub fn tim2en(&mut self) -> TIM2EN_W {
44774                TIM2EN_W { w: self }
44775            }
44776        }
44777    }
44778    ///APB1 peripheral clock enable register 2
44779    ///
44780    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
44781    ///
44782    ///For information about available fields see [apb1enr2](apb1enr2) module
44783    pub type APB1ENR2 = crate::Reg<u32, _APB1ENR2>;
44784    #[allow(missing_docs)]
44785    #[doc(hidden)]
44786    pub struct _APB1ENR2;
44787    ///`read()` method returns [apb1enr2::R](apb1enr2::R) reader structure
44788    impl crate::Readable for APB1ENR2 {}
44789    ///`write(|w| ..)` method takes [apb1enr2::W](apb1enr2::W) writer structure
44790    impl crate::Writable for APB1ENR2 {}
44791    ///APB1 peripheral clock enable register 2
44792    pub mod apb1enr2 {
44793        ///Reader of register APB1ENR2
44794        pub type R = crate::R<u32, super::APB1ENR2>;
44795        ///Writer for register APB1ENR2
44796        pub type W = crate::W<u32, super::APB1ENR2>;
44797        ///Register APB1ENR2 `reset()`'s with value 0
44798        impl crate::ResetValue for super::APB1ENR2 {
44799            type Type = u32;
44800            #[inline(always)]
44801            fn reset_value() -> Self::Type {
44802                0
44803            }
44804        }
44805        ///Reader of field `LPTIM2EN`
44806        pub type LPTIM2EN_R = crate::R<bool, bool>;
44807        ///Write proxy for field `LPTIM2EN`
44808        pub struct LPTIM2EN_W<'a> {
44809            w: &'a mut W,
44810        }
44811        impl<'a> LPTIM2EN_W<'a> {
44812            ///Sets the field bit
44813            #[inline(always)]
44814            pub fn set_bit(self) -> &'a mut W {
44815                self.bit(true)
44816            }
44817            ///Clears the field bit
44818            #[inline(always)]
44819            pub fn clear_bit(self) -> &'a mut W {
44820                self.bit(false)
44821            }
44822            ///Writes raw bits to the field
44823            #[inline(always)]
44824            pub fn bit(self, value: bool) -> &'a mut W {
44825                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
44826                self.w
44827            }
44828        }
44829        ///Reader of field `LPUART1EN`
44830        pub type LPUART1EN_R = crate::R<bool, bool>;
44831        ///Write proxy for field `LPUART1EN`
44832        pub struct LPUART1EN_W<'a> {
44833            w: &'a mut W,
44834        }
44835        impl<'a> LPUART1EN_W<'a> {
44836            ///Sets the field bit
44837            #[inline(always)]
44838            pub fn set_bit(self) -> &'a mut W {
44839                self.bit(true)
44840            }
44841            ///Clears the field bit
44842            #[inline(always)]
44843            pub fn clear_bit(self) -> &'a mut W {
44844                self.bit(false)
44845            }
44846            ///Writes raw bits to the field
44847            #[inline(always)]
44848            pub fn bit(self, value: bool) -> &'a mut W {
44849                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
44850                self.w
44851            }
44852        }
44853        impl R {
44854            ///Bit 5 - CPU1 LPTIM2EN
44855            #[inline(always)]
44856            pub fn lptim2en(&self) -> LPTIM2EN_R {
44857                LPTIM2EN_R::new(((self.bits >> 5) & 0x01) != 0)
44858            }
44859            ///Bit 0 - CPU1 Low power UART 1 clock enable
44860            #[inline(always)]
44861            pub fn lpuart1en(&self) -> LPUART1EN_R {
44862                LPUART1EN_R::new((self.bits & 0x01) != 0)
44863            }
44864        }
44865        impl W {
44866            ///Bit 5 - CPU1 LPTIM2EN
44867            #[inline(always)]
44868            pub fn lptim2en(&mut self) -> LPTIM2EN_W {
44869                LPTIM2EN_W { w: self }
44870            }
44871            ///Bit 0 - CPU1 Low power UART 1 clock enable
44872            #[inline(always)]
44873            pub fn lpuart1en(&mut self) -> LPUART1EN_W {
44874                LPUART1EN_W { w: self }
44875            }
44876        }
44877    }
44878    ///APB2ENR
44879    ///
44880    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
44881    ///
44882    ///For information about available fields see [apb2enr](apb2enr) module
44883    pub type APB2ENR = crate::Reg<u32, _APB2ENR>;
44884    #[allow(missing_docs)]
44885    #[doc(hidden)]
44886    pub struct _APB2ENR;
44887    ///`read()` method returns [apb2enr::R](apb2enr::R) reader structure
44888    impl crate::Readable for APB2ENR {}
44889    ///`write(|w| ..)` method takes [apb2enr::W](apb2enr::W) writer structure
44890    impl crate::Writable for APB2ENR {}
44891    ///APB2ENR
44892    pub mod apb2enr {
44893        ///Reader of register APB2ENR
44894        pub type R = crate::R<u32, super::APB2ENR>;
44895        ///Writer for register APB2ENR
44896        pub type W = crate::W<u32, super::APB2ENR>;
44897        ///Register APB2ENR `reset()`'s with value 0
44898        impl crate::ResetValue for super::APB2ENR {
44899            type Type = u32;
44900            #[inline(always)]
44901            fn reset_value() -> Self::Type {
44902                0
44903            }
44904        }
44905        ///Reader of field `SAI1EN`
44906        pub type SAI1EN_R = crate::R<bool, bool>;
44907        ///Write proxy for field `SAI1EN`
44908        pub struct SAI1EN_W<'a> {
44909            w: &'a mut W,
44910        }
44911        impl<'a> SAI1EN_W<'a> {
44912            ///Sets the field bit
44913            #[inline(always)]
44914            pub fn set_bit(self) -> &'a mut W {
44915                self.bit(true)
44916            }
44917            ///Clears the field bit
44918            #[inline(always)]
44919            pub fn clear_bit(self) -> &'a mut W {
44920                self.bit(false)
44921            }
44922            ///Writes raw bits to the field
44923            #[inline(always)]
44924            pub fn bit(self, value: bool) -> &'a mut W {
44925                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
44926                self.w
44927            }
44928        }
44929        ///Reader of field `TIM17EN`
44930        pub type TIM17EN_R = crate::R<bool, bool>;
44931        ///Write proxy for field `TIM17EN`
44932        pub struct TIM17EN_W<'a> {
44933            w: &'a mut W,
44934        }
44935        impl<'a> TIM17EN_W<'a> {
44936            ///Sets the field bit
44937            #[inline(always)]
44938            pub fn set_bit(self) -> &'a mut W {
44939                self.bit(true)
44940            }
44941            ///Clears the field bit
44942            #[inline(always)]
44943            pub fn clear_bit(self) -> &'a mut W {
44944                self.bit(false)
44945            }
44946            ///Writes raw bits to the field
44947            #[inline(always)]
44948            pub fn bit(self, value: bool) -> &'a mut W {
44949                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
44950                self.w
44951            }
44952        }
44953        ///Reader of field `TIM16EN`
44954        pub type TIM16EN_R = crate::R<bool, bool>;
44955        ///Write proxy for field `TIM16EN`
44956        pub struct TIM16EN_W<'a> {
44957            w: &'a mut W,
44958        }
44959        impl<'a> TIM16EN_W<'a> {
44960            ///Sets the field bit
44961            #[inline(always)]
44962            pub fn set_bit(self) -> &'a mut W {
44963                self.bit(true)
44964            }
44965            ///Clears the field bit
44966            #[inline(always)]
44967            pub fn clear_bit(self) -> &'a mut W {
44968                self.bit(false)
44969            }
44970            ///Writes raw bits to the field
44971            #[inline(always)]
44972            pub fn bit(self, value: bool) -> &'a mut W {
44973                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
44974                self.w
44975            }
44976        }
44977        ///Reader of field `USART1EN`
44978        pub type USART1EN_R = crate::R<bool, bool>;
44979        ///Write proxy for field `USART1EN`
44980        pub struct USART1EN_W<'a> {
44981            w: &'a mut W,
44982        }
44983        impl<'a> USART1EN_W<'a> {
44984            ///Sets the field bit
44985            #[inline(always)]
44986            pub fn set_bit(self) -> &'a mut W {
44987                self.bit(true)
44988            }
44989            ///Clears the field bit
44990            #[inline(always)]
44991            pub fn clear_bit(self) -> &'a mut W {
44992                self.bit(false)
44993            }
44994            ///Writes raw bits to the field
44995            #[inline(always)]
44996            pub fn bit(self, value: bool) -> &'a mut W {
44997                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
44998                self.w
44999            }
45000        }
45001        ///Reader of field `SPI1EN`
45002        pub type SPI1EN_R = crate::R<bool, bool>;
45003        ///Write proxy for field `SPI1EN`
45004        pub struct SPI1EN_W<'a> {
45005            w: &'a mut W,
45006        }
45007        impl<'a> SPI1EN_W<'a> {
45008            ///Sets the field bit
45009            #[inline(always)]
45010            pub fn set_bit(self) -> &'a mut W {
45011                self.bit(true)
45012            }
45013            ///Clears the field bit
45014            #[inline(always)]
45015            pub fn clear_bit(self) -> &'a mut W {
45016                self.bit(false)
45017            }
45018            ///Writes raw bits to the field
45019            #[inline(always)]
45020            pub fn bit(self, value: bool) -> &'a mut W {
45021                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
45022                self.w
45023            }
45024        }
45025        ///Reader of field `TIM1EN`
45026        pub type TIM1EN_R = crate::R<bool, bool>;
45027        ///Write proxy for field `TIM1EN`
45028        pub struct TIM1EN_W<'a> {
45029            w: &'a mut W,
45030        }
45031        impl<'a> TIM1EN_W<'a> {
45032            ///Sets the field bit
45033            #[inline(always)]
45034            pub fn set_bit(self) -> &'a mut W {
45035                self.bit(true)
45036            }
45037            ///Clears the field bit
45038            #[inline(always)]
45039            pub fn clear_bit(self) -> &'a mut W {
45040                self.bit(false)
45041            }
45042            ///Writes raw bits to the field
45043            #[inline(always)]
45044            pub fn bit(self, value: bool) -> &'a mut W {
45045                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
45046                self.w
45047            }
45048        }
45049        impl R {
45050            ///Bit 21 - CPU1 SAI1 clock enable
45051            #[inline(always)]
45052            pub fn sai1en(&self) -> SAI1EN_R {
45053                SAI1EN_R::new(((self.bits >> 21) & 0x01) != 0)
45054            }
45055            ///Bit 18 - CPU1 TIM17 timer clock enable
45056            #[inline(always)]
45057            pub fn tim17en(&self) -> TIM17EN_R {
45058                TIM17EN_R::new(((self.bits >> 18) & 0x01) != 0)
45059            }
45060            ///Bit 17 - CPU1 TIM16 timer clock enable
45061            #[inline(always)]
45062            pub fn tim16en(&self) -> TIM16EN_R {
45063                TIM16EN_R::new(((self.bits >> 17) & 0x01) != 0)
45064            }
45065            ///Bit 14 - CPU1 USART1clock enable
45066            #[inline(always)]
45067            pub fn usart1en(&self) -> USART1EN_R {
45068                USART1EN_R::new(((self.bits >> 14) & 0x01) != 0)
45069            }
45070            ///Bit 12 - CPU1 SPI1 clock enable
45071            #[inline(always)]
45072            pub fn spi1en(&self) -> SPI1EN_R {
45073                SPI1EN_R::new(((self.bits >> 12) & 0x01) != 0)
45074            }
45075            ///Bit 11 - CPU1 TIM1 timer clock enable
45076            #[inline(always)]
45077            pub fn tim1en(&self) -> TIM1EN_R {
45078                TIM1EN_R::new(((self.bits >> 11) & 0x01) != 0)
45079            }
45080        }
45081        impl W {
45082            ///Bit 21 - CPU1 SAI1 clock enable
45083            #[inline(always)]
45084            pub fn sai1en(&mut self) -> SAI1EN_W {
45085                SAI1EN_W { w: self }
45086            }
45087            ///Bit 18 - CPU1 TIM17 timer clock enable
45088            #[inline(always)]
45089            pub fn tim17en(&mut self) -> TIM17EN_W {
45090                TIM17EN_W { w: self }
45091            }
45092            ///Bit 17 - CPU1 TIM16 timer clock enable
45093            #[inline(always)]
45094            pub fn tim16en(&mut self) -> TIM16EN_W {
45095                TIM16EN_W { w: self }
45096            }
45097            ///Bit 14 - CPU1 USART1clock enable
45098            #[inline(always)]
45099            pub fn usart1en(&mut self) -> USART1EN_W {
45100                USART1EN_W { w: self }
45101            }
45102            ///Bit 12 - CPU1 SPI1 clock enable
45103            #[inline(always)]
45104            pub fn spi1en(&mut self) -> SPI1EN_W {
45105                SPI1EN_W { w: self }
45106            }
45107            ///Bit 11 - CPU1 TIM1 timer clock enable
45108            #[inline(always)]
45109            pub fn tim1en(&mut self) -> TIM1EN_W {
45110                TIM1EN_W { w: self }
45111            }
45112        }
45113    }
45114    ///AHB1 peripheral clocks enable in Sleep and Stop modes register
45115    ///
45116    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
45117    ///
45118    ///For information about available fields see [ahb1smenr](ahb1smenr) module
45119    pub type AHB1SMENR = crate::Reg<u32, _AHB1SMENR>;
45120    #[allow(missing_docs)]
45121    #[doc(hidden)]
45122    pub struct _AHB1SMENR;
45123    ///`read()` method returns [ahb1smenr::R](ahb1smenr::R) reader structure
45124    impl crate::Readable for AHB1SMENR {}
45125    ///`write(|w| ..)` method takes [ahb1smenr::W](ahb1smenr::W) writer structure
45126    impl crate::Writable for AHB1SMENR {}
45127    ///AHB1 peripheral clocks enable in Sleep and Stop modes register
45128    pub mod ahb1smenr {
45129        ///Reader of register AHB1SMENR
45130        pub type R = crate::R<u32, super::AHB1SMENR>;
45131        ///Writer for register AHB1SMENR
45132        pub type W = crate::W<u32, super::AHB1SMENR>;
45133        ///Register AHB1SMENR `reset()`'s with value 0x0001_1207
45134        impl crate::ResetValue for super::AHB1SMENR {
45135            type Type = u32;
45136            #[inline(always)]
45137            fn reset_value() -> Self::Type {
45138                0x0001_1207
45139            }
45140        }
45141        ///Reader of field `TSCSMEN`
45142        pub type TSCSMEN_R = crate::R<bool, bool>;
45143        ///Write proxy for field `TSCSMEN`
45144        pub struct TSCSMEN_W<'a> {
45145            w: &'a mut W,
45146        }
45147        impl<'a> TSCSMEN_W<'a> {
45148            ///Sets the field bit
45149            #[inline(always)]
45150            pub fn set_bit(self) -> &'a mut W {
45151                self.bit(true)
45152            }
45153            ///Clears the field bit
45154            #[inline(always)]
45155            pub fn clear_bit(self) -> &'a mut W {
45156                self.bit(false)
45157            }
45158            ///Writes raw bits to the field
45159            #[inline(always)]
45160            pub fn bit(self, value: bool) -> &'a mut W {
45161                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
45162                self.w
45163            }
45164        }
45165        ///Reader of field `CRCSMEN`
45166        pub type CRCSMEN_R = crate::R<bool, bool>;
45167        ///Write proxy for field `CRCSMEN`
45168        pub struct CRCSMEN_W<'a> {
45169            w: &'a mut W,
45170        }
45171        impl<'a> CRCSMEN_W<'a> {
45172            ///Sets the field bit
45173            #[inline(always)]
45174            pub fn set_bit(self) -> &'a mut W {
45175                self.bit(true)
45176            }
45177            ///Clears the field bit
45178            #[inline(always)]
45179            pub fn clear_bit(self) -> &'a mut W {
45180                self.bit(false)
45181            }
45182            ///Writes raw bits to the field
45183            #[inline(always)]
45184            pub fn bit(self, value: bool) -> &'a mut W {
45185                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
45186                self.w
45187            }
45188        }
45189        ///Reader of field `SRAM1SMEN`
45190        pub type SRAM1SMEN_R = crate::R<bool, bool>;
45191        ///Write proxy for field `SRAM1SMEN`
45192        pub struct SRAM1SMEN_W<'a> {
45193            w: &'a mut W,
45194        }
45195        impl<'a> SRAM1SMEN_W<'a> {
45196            ///Sets the field bit
45197            #[inline(always)]
45198            pub fn set_bit(self) -> &'a mut W {
45199                self.bit(true)
45200            }
45201            ///Clears the field bit
45202            #[inline(always)]
45203            pub fn clear_bit(self) -> &'a mut W {
45204                self.bit(false)
45205            }
45206            ///Writes raw bits to the field
45207            #[inline(always)]
45208            pub fn bit(self, value: bool) -> &'a mut W {
45209                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
45210                self.w
45211            }
45212        }
45213        ///Reader of field `DMAMUXSMEN`
45214        pub type DMAMUXSMEN_R = crate::R<bool, bool>;
45215        ///Write proxy for field `DMAMUXSMEN`
45216        pub struct DMAMUXSMEN_W<'a> {
45217            w: &'a mut W,
45218        }
45219        impl<'a> DMAMUXSMEN_W<'a> {
45220            ///Sets the field bit
45221            #[inline(always)]
45222            pub fn set_bit(self) -> &'a mut W {
45223                self.bit(true)
45224            }
45225            ///Clears the field bit
45226            #[inline(always)]
45227            pub fn clear_bit(self) -> &'a mut W {
45228                self.bit(false)
45229            }
45230            ///Writes raw bits to the field
45231            #[inline(always)]
45232            pub fn bit(self, value: bool) -> &'a mut W {
45233                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
45234                self.w
45235            }
45236        }
45237        ///Reader of field `DMA2SMEN`
45238        pub type DMA2SMEN_R = crate::R<bool, bool>;
45239        ///Write proxy for field `DMA2SMEN`
45240        pub struct DMA2SMEN_W<'a> {
45241            w: &'a mut W,
45242        }
45243        impl<'a> DMA2SMEN_W<'a> {
45244            ///Sets the field bit
45245            #[inline(always)]
45246            pub fn set_bit(self) -> &'a mut W {
45247                self.bit(true)
45248            }
45249            ///Clears the field bit
45250            #[inline(always)]
45251            pub fn clear_bit(self) -> &'a mut W {
45252                self.bit(false)
45253            }
45254            ///Writes raw bits to the field
45255            #[inline(always)]
45256            pub fn bit(self, value: bool) -> &'a mut W {
45257                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
45258                self.w
45259            }
45260        }
45261        ///Reader of field `DMA1SMEN`
45262        pub type DMA1SMEN_R = crate::R<bool, bool>;
45263        ///Write proxy for field `DMA1SMEN`
45264        pub struct DMA1SMEN_W<'a> {
45265            w: &'a mut W,
45266        }
45267        impl<'a> DMA1SMEN_W<'a> {
45268            ///Sets the field bit
45269            #[inline(always)]
45270            pub fn set_bit(self) -> &'a mut W {
45271                self.bit(true)
45272            }
45273            ///Clears the field bit
45274            #[inline(always)]
45275            pub fn clear_bit(self) -> &'a mut W {
45276                self.bit(false)
45277            }
45278            ///Writes raw bits to the field
45279            #[inline(always)]
45280            pub fn bit(self, value: bool) -> &'a mut W {
45281                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
45282                self.w
45283            }
45284        }
45285        impl R {
45286            ///Bit 16 - CPU1 Touch Sensing Controller clocks enable during Sleep and Stop modes
45287            #[inline(always)]
45288            pub fn tscsmen(&self) -> TSCSMEN_R {
45289                TSCSMEN_R::new(((self.bits >> 16) & 0x01) != 0)
45290            }
45291            ///Bit 12 - CPU1 CRCSMEN
45292            #[inline(always)]
45293            pub fn crcsmen(&self) -> CRCSMEN_R {
45294                CRCSMEN_R::new(((self.bits >> 12) & 0x01) != 0)
45295            }
45296            ///Bit 9 - CPU1 SRAM1 interface clocks enable during Sleep and Stop modes
45297            #[inline(always)]
45298            pub fn sram1smen(&self) -> SRAM1SMEN_R {
45299                SRAM1SMEN_R::new(((self.bits >> 9) & 0x01) != 0)
45300            }
45301            ///Bit 2 - CPU1 DMAMUX clocks enable during Sleep and Stop modes
45302            #[inline(always)]
45303            pub fn dmamuxsmen(&self) -> DMAMUXSMEN_R {
45304                DMAMUXSMEN_R::new(((self.bits >> 2) & 0x01) != 0)
45305            }
45306            ///Bit 1 - CPU1 DMA2 clocks enable during Sleep and Stop modes
45307            #[inline(always)]
45308            pub fn dma2smen(&self) -> DMA2SMEN_R {
45309                DMA2SMEN_R::new(((self.bits >> 1) & 0x01) != 0)
45310            }
45311            ///Bit 0 - CPU1 DMA1 clocks enable during Sleep and Stop modes
45312            #[inline(always)]
45313            pub fn dma1smen(&self) -> DMA1SMEN_R {
45314                DMA1SMEN_R::new((self.bits & 0x01) != 0)
45315            }
45316        }
45317        impl W {
45318            ///Bit 16 - CPU1 Touch Sensing Controller clocks enable during Sleep and Stop modes
45319            #[inline(always)]
45320            pub fn tscsmen(&mut self) -> TSCSMEN_W {
45321                TSCSMEN_W { w: self }
45322            }
45323            ///Bit 12 - CPU1 CRCSMEN
45324            #[inline(always)]
45325            pub fn crcsmen(&mut self) -> CRCSMEN_W {
45326                CRCSMEN_W { w: self }
45327            }
45328            ///Bit 9 - CPU1 SRAM1 interface clocks enable during Sleep and Stop modes
45329            #[inline(always)]
45330            pub fn sram1smen(&mut self) -> SRAM1SMEN_W {
45331                SRAM1SMEN_W { w: self }
45332            }
45333            ///Bit 2 - CPU1 DMAMUX clocks enable during Sleep and Stop modes
45334            #[inline(always)]
45335            pub fn dmamuxsmen(&mut self) -> DMAMUXSMEN_W {
45336                DMAMUXSMEN_W { w: self }
45337            }
45338            ///Bit 1 - CPU1 DMA2 clocks enable during Sleep and Stop modes
45339            #[inline(always)]
45340            pub fn dma2smen(&mut self) -> DMA2SMEN_W {
45341                DMA2SMEN_W { w: self }
45342            }
45343            ///Bit 0 - CPU1 DMA1 clocks enable during Sleep and Stop modes
45344            #[inline(always)]
45345            pub fn dma1smen(&mut self) -> DMA1SMEN_W {
45346                DMA1SMEN_W { w: self }
45347            }
45348        }
45349    }
45350    ///AHB2 peripheral clocks enable in Sleep and Stop modes register
45351    ///
45352    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
45353    ///
45354    ///For information about available fields see [ahb2smenr](ahb2smenr) module
45355    pub type AHB2SMENR = crate::Reg<u32, _AHB2SMENR>;
45356    #[allow(missing_docs)]
45357    #[doc(hidden)]
45358    pub struct _AHB2SMENR;
45359    ///`read()` method returns [ahb2smenr::R](ahb2smenr::R) reader structure
45360    impl crate::Readable for AHB2SMENR {}
45361    ///`write(|w| ..)` method takes [ahb2smenr::W](ahb2smenr::W) writer structure
45362    impl crate::Writable for AHB2SMENR {}
45363    ///AHB2 peripheral clocks enable in Sleep and Stop modes register
45364    pub mod ahb2smenr {
45365        ///Reader of register AHB2SMENR
45366        pub type R = crate::R<u32, super::AHB2SMENR>;
45367        ///Writer for register AHB2SMENR
45368        pub type W = crate::W<u32, super::AHB2SMENR>;
45369        ///Register AHB2SMENR `reset()`'s with value 0x0001_209f
45370        impl crate::ResetValue for super::AHB2SMENR {
45371            type Type = u32;
45372            #[inline(always)]
45373            fn reset_value() -> Self::Type {
45374                0x0001_209f
45375            }
45376        }
45377        ///Reader of field `AES1SMEN`
45378        pub type AES1SMEN_R = crate::R<bool, bool>;
45379        ///Write proxy for field `AES1SMEN`
45380        pub struct AES1SMEN_W<'a> {
45381            w: &'a mut W,
45382        }
45383        impl<'a> AES1SMEN_W<'a> {
45384            ///Sets the field bit
45385            #[inline(always)]
45386            pub fn set_bit(self) -> &'a mut W {
45387                self.bit(true)
45388            }
45389            ///Clears the field bit
45390            #[inline(always)]
45391            pub fn clear_bit(self) -> &'a mut W {
45392                self.bit(false)
45393            }
45394            ///Writes raw bits to the field
45395            #[inline(always)]
45396            pub fn bit(self, value: bool) -> &'a mut W {
45397                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
45398                self.w
45399            }
45400        }
45401        ///Reader of field `ADCFSSMEN`
45402        pub type ADCFSSMEN_R = crate::R<bool, bool>;
45403        ///Write proxy for field `ADCFSSMEN`
45404        pub struct ADCFSSMEN_W<'a> {
45405            w: &'a mut W,
45406        }
45407        impl<'a> ADCFSSMEN_W<'a> {
45408            ///Sets the field bit
45409            #[inline(always)]
45410            pub fn set_bit(self) -> &'a mut W {
45411                self.bit(true)
45412            }
45413            ///Clears the field bit
45414            #[inline(always)]
45415            pub fn clear_bit(self) -> &'a mut W {
45416                self.bit(false)
45417            }
45418            ///Writes raw bits to the field
45419            #[inline(always)]
45420            pub fn bit(self, value: bool) -> &'a mut W {
45421                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
45422                self.w
45423            }
45424        }
45425        ///Reader of field `GPIOHSMEN`
45426        pub type GPIOHSMEN_R = crate::R<bool, bool>;
45427        ///Write proxy for field `GPIOHSMEN`
45428        pub struct GPIOHSMEN_W<'a> {
45429            w: &'a mut W,
45430        }
45431        impl<'a> GPIOHSMEN_W<'a> {
45432            ///Sets the field bit
45433            #[inline(always)]
45434            pub fn set_bit(self) -> &'a mut W {
45435                self.bit(true)
45436            }
45437            ///Clears the field bit
45438            #[inline(always)]
45439            pub fn clear_bit(self) -> &'a mut W {
45440                self.bit(false)
45441            }
45442            ///Writes raw bits to the field
45443            #[inline(always)]
45444            pub fn bit(self, value: bool) -> &'a mut W {
45445                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
45446                self.w
45447            }
45448        }
45449        ///Reader of field `GPIOESMEN`
45450        pub type GPIOESMEN_R = crate::R<bool, bool>;
45451        ///Write proxy for field `GPIOESMEN`
45452        pub struct GPIOESMEN_W<'a> {
45453            w: &'a mut W,
45454        }
45455        impl<'a> GPIOESMEN_W<'a> {
45456            ///Sets the field bit
45457            #[inline(always)]
45458            pub fn set_bit(self) -> &'a mut W {
45459                self.bit(true)
45460            }
45461            ///Clears the field bit
45462            #[inline(always)]
45463            pub fn clear_bit(self) -> &'a mut W {
45464                self.bit(false)
45465            }
45466            ///Writes raw bits to the field
45467            #[inline(always)]
45468            pub fn bit(self, value: bool) -> &'a mut W {
45469                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
45470                self.w
45471            }
45472        }
45473        ///Reader of field `GPIODSMEN`
45474        pub type GPIODSMEN_R = crate::R<bool, bool>;
45475        ///Write proxy for field `GPIODSMEN`
45476        pub struct GPIODSMEN_W<'a> {
45477            w: &'a mut W,
45478        }
45479        impl<'a> GPIODSMEN_W<'a> {
45480            ///Sets the field bit
45481            #[inline(always)]
45482            pub fn set_bit(self) -> &'a mut W {
45483                self.bit(true)
45484            }
45485            ///Clears the field bit
45486            #[inline(always)]
45487            pub fn clear_bit(self) -> &'a mut W {
45488                self.bit(false)
45489            }
45490            ///Writes raw bits to the field
45491            #[inline(always)]
45492            pub fn bit(self, value: bool) -> &'a mut W {
45493                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
45494                self.w
45495            }
45496        }
45497        ///Reader of field `GPIOCSMEN`
45498        pub type GPIOCSMEN_R = crate::R<bool, bool>;
45499        ///Write proxy for field `GPIOCSMEN`
45500        pub struct GPIOCSMEN_W<'a> {
45501            w: &'a mut W,
45502        }
45503        impl<'a> GPIOCSMEN_W<'a> {
45504            ///Sets the field bit
45505            #[inline(always)]
45506            pub fn set_bit(self) -> &'a mut W {
45507                self.bit(true)
45508            }
45509            ///Clears the field bit
45510            #[inline(always)]
45511            pub fn clear_bit(self) -> &'a mut W {
45512                self.bit(false)
45513            }
45514            ///Writes raw bits to the field
45515            #[inline(always)]
45516            pub fn bit(self, value: bool) -> &'a mut W {
45517                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
45518                self.w
45519            }
45520        }
45521        ///Reader of field `GPIOBSMEN`
45522        pub type GPIOBSMEN_R = crate::R<bool, bool>;
45523        ///Write proxy for field `GPIOBSMEN`
45524        pub struct GPIOBSMEN_W<'a> {
45525            w: &'a mut W,
45526        }
45527        impl<'a> GPIOBSMEN_W<'a> {
45528            ///Sets the field bit
45529            #[inline(always)]
45530            pub fn set_bit(self) -> &'a mut W {
45531                self.bit(true)
45532            }
45533            ///Clears the field bit
45534            #[inline(always)]
45535            pub fn clear_bit(self) -> &'a mut W {
45536                self.bit(false)
45537            }
45538            ///Writes raw bits to the field
45539            #[inline(always)]
45540            pub fn bit(self, value: bool) -> &'a mut W {
45541                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
45542                self.w
45543            }
45544        }
45545        ///Reader of field `GPIOASMEN`
45546        pub type GPIOASMEN_R = crate::R<bool, bool>;
45547        ///Write proxy for field `GPIOASMEN`
45548        pub struct GPIOASMEN_W<'a> {
45549            w: &'a mut W,
45550        }
45551        impl<'a> GPIOASMEN_W<'a> {
45552            ///Sets the field bit
45553            #[inline(always)]
45554            pub fn set_bit(self) -> &'a mut W {
45555                self.bit(true)
45556            }
45557            ///Clears the field bit
45558            #[inline(always)]
45559            pub fn clear_bit(self) -> &'a mut W {
45560                self.bit(false)
45561            }
45562            ///Writes raw bits to the field
45563            #[inline(always)]
45564            pub fn bit(self, value: bool) -> &'a mut W {
45565                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
45566                self.w
45567            }
45568        }
45569        impl R {
45570            ///Bit 16 - CPU1 AES1 accelerator clocks enable during Sleep and Stop modes
45571            #[inline(always)]
45572            pub fn aes1smen(&self) -> AES1SMEN_R {
45573                AES1SMEN_R::new(((self.bits >> 16) & 0x01) != 0)
45574            }
45575            ///Bit 13 - CPU1 ADC clocks enable during Sleep and Stop modes
45576            #[inline(always)]
45577            pub fn adcfssmen(&self) -> ADCFSSMEN_R {
45578                ADCFSSMEN_R::new(((self.bits >> 13) & 0x01) != 0)
45579            }
45580            ///Bit 7 - CPU1 IO port H clocks enable during Sleep and Stop modes
45581            #[inline(always)]
45582            pub fn gpiohsmen(&self) -> GPIOHSMEN_R {
45583                GPIOHSMEN_R::new(((self.bits >> 7) & 0x01) != 0)
45584            }
45585            ///Bit 4 - CPU1 IO port E clocks enable during Sleep and Stop modes
45586            #[inline(always)]
45587            pub fn gpioesmen(&self) -> GPIOESMEN_R {
45588                GPIOESMEN_R::new(((self.bits >> 4) & 0x01) != 0)
45589            }
45590            ///Bit 3 - CPU1 IO port D clocks enable during Sleep and Stop modes
45591            #[inline(always)]
45592            pub fn gpiodsmen(&self) -> GPIODSMEN_R {
45593                GPIODSMEN_R::new(((self.bits >> 3) & 0x01) != 0)
45594            }
45595            ///Bit 2 - CPU1 IO port C clocks enable during Sleep and Stop modes
45596            #[inline(always)]
45597            pub fn gpiocsmen(&self) -> GPIOCSMEN_R {
45598                GPIOCSMEN_R::new(((self.bits >> 2) & 0x01) != 0)
45599            }
45600            ///Bit 1 - CPU1 IO port B clocks enable during Sleep and Stop modes
45601            #[inline(always)]
45602            pub fn gpiobsmen(&self) -> GPIOBSMEN_R {
45603                GPIOBSMEN_R::new(((self.bits >> 1) & 0x01) != 0)
45604            }
45605            ///Bit 0 - CPU1 IO port A clocks enable during Sleep and Stop modes
45606            #[inline(always)]
45607            pub fn gpioasmen(&self) -> GPIOASMEN_R {
45608                GPIOASMEN_R::new((self.bits & 0x01) != 0)
45609            }
45610        }
45611        impl W {
45612            ///Bit 16 - CPU1 AES1 accelerator clocks enable during Sleep and Stop modes
45613            #[inline(always)]
45614            pub fn aes1smen(&mut self) -> AES1SMEN_W {
45615                AES1SMEN_W { w: self }
45616            }
45617            ///Bit 13 - CPU1 ADC clocks enable during Sleep and Stop modes
45618            #[inline(always)]
45619            pub fn adcfssmen(&mut self) -> ADCFSSMEN_W {
45620                ADCFSSMEN_W { w: self }
45621            }
45622            ///Bit 7 - CPU1 IO port H clocks enable during Sleep and Stop modes
45623            #[inline(always)]
45624            pub fn gpiohsmen(&mut self) -> GPIOHSMEN_W {
45625                GPIOHSMEN_W { w: self }
45626            }
45627            ///Bit 4 - CPU1 IO port E clocks enable during Sleep and Stop modes
45628            #[inline(always)]
45629            pub fn gpioesmen(&mut self) -> GPIOESMEN_W {
45630                GPIOESMEN_W { w: self }
45631            }
45632            ///Bit 3 - CPU1 IO port D clocks enable during Sleep and Stop modes
45633            #[inline(always)]
45634            pub fn gpiodsmen(&mut self) -> GPIODSMEN_W {
45635                GPIODSMEN_W { w: self }
45636            }
45637            ///Bit 2 - CPU1 IO port C clocks enable during Sleep and Stop modes
45638            #[inline(always)]
45639            pub fn gpiocsmen(&mut self) -> GPIOCSMEN_W {
45640                GPIOCSMEN_W { w: self }
45641            }
45642            ///Bit 1 - CPU1 IO port B clocks enable during Sleep and Stop modes
45643            #[inline(always)]
45644            pub fn gpiobsmen(&mut self) -> GPIOBSMEN_W {
45645                GPIOBSMEN_W { w: self }
45646            }
45647            ///Bit 0 - CPU1 IO port A clocks enable during Sleep and Stop modes
45648            #[inline(always)]
45649            pub fn gpioasmen(&mut self) -> GPIOASMEN_W {
45650                GPIOASMEN_W { w: self }
45651            }
45652        }
45653    }
45654    ///AHB3 peripheral clocks enable in Sleep and Stop modes register
45655    ///
45656    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
45657    ///
45658    ///For information about available fields see [ahb3smenr](ahb3smenr) module
45659    pub type AHB3SMENR = crate::Reg<u32, _AHB3SMENR>;
45660    #[allow(missing_docs)]
45661    #[doc(hidden)]
45662    pub struct _AHB3SMENR;
45663    ///`read()` method returns [ahb3smenr::R](ahb3smenr::R) reader structure
45664    impl crate::Readable for AHB3SMENR {}
45665    ///`write(|w| ..)` method takes [ahb3smenr::W](ahb3smenr::W) writer structure
45666    impl crate::Writable for AHB3SMENR {}
45667    ///AHB3 peripheral clocks enable in Sleep and Stop modes register
45668    pub mod ahb3smenr {
45669        ///Reader of register AHB3SMENR
45670        pub type R = crate::R<u32, super::AHB3SMENR>;
45671        ///Writer for register AHB3SMENR
45672        pub type W = crate::W<u32, super::AHB3SMENR>;
45673        ///Register AHB3SMENR `reset()`'s with value 0x0307_0100
45674        impl crate::ResetValue for super::AHB3SMENR {
45675            type Type = u32;
45676            #[inline(always)]
45677            fn reset_value() -> Self::Type {
45678                0x0307_0100
45679            }
45680        }
45681        ///Reader of field `FLASHSMEN`
45682        pub type FLASHSMEN_R = crate::R<bool, bool>;
45683        ///Write proxy for field `FLASHSMEN`
45684        pub struct FLASHSMEN_W<'a> {
45685            w: &'a mut W,
45686        }
45687        impl<'a> FLASHSMEN_W<'a> {
45688            ///Sets the field bit
45689            #[inline(always)]
45690            pub fn set_bit(self) -> &'a mut W {
45691                self.bit(true)
45692            }
45693            ///Clears the field bit
45694            #[inline(always)]
45695            pub fn clear_bit(self) -> &'a mut W {
45696                self.bit(false)
45697            }
45698            ///Writes raw bits to the field
45699            #[inline(always)]
45700            pub fn bit(self, value: bool) -> &'a mut W {
45701                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
45702                self.w
45703            }
45704        }
45705        ///Reader of field `SRAM2SMEN`
45706        pub type SRAM2SMEN_R = crate::R<bool, bool>;
45707        ///Write proxy for field `SRAM2SMEN`
45708        pub struct SRAM2SMEN_W<'a> {
45709            w: &'a mut W,
45710        }
45711        impl<'a> SRAM2SMEN_W<'a> {
45712            ///Sets the field bit
45713            #[inline(always)]
45714            pub fn set_bit(self) -> &'a mut W {
45715                self.bit(true)
45716            }
45717            ///Clears the field bit
45718            #[inline(always)]
45719            pub fn clear_bit(self) -> &'a mut W {
45720                self.bit(false)
45721            }
45722            ///Writes raw bits to the field
45723            #[inline(always)]
45724            pub fn bit(self, value: bool) -> &'a mut W {
45725                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
45726                self.w
45727            }
45728        }
45729        ///Reader of field `RNGSMEN`
45730        pub type RNGSMEN_R = crate::R<bool, bool>;
45731        ///Write proxy for field `RNGSMEN`
45732        pub struct RNGSMEN_W<'a> {
45733            w: &'a mut W,
45734        }
45735        impl<'a> RNGSMEN_W<'a> {
45736            ///Sets the field bit
45737            #[inline(always)]
45738            pub fn set_bit(self) -> &'a mut W {
45739                self.bit(true)
45740            }
45741            ///Clears the field bit
45742            #[inline(always)]
45743            pub fn clear_bit(self) -> &'a mut W {
45744                self.bit(false)
45745            }
45746            ///Writes raw bits to the field
45747            #[inline(always)]
45748            pub fn bit(self, value: bool) -> &'a mut W {
45749                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
45750                self.w
45751            }
45752        }
45753        ///Reader of field `AES2SMEN`
45754        pub type AES2SMEN_R = crate::R<bool, bool>;
45755        ///Write proxy for field `AES2SMEN`
45756        pub struct AES2SMEN_W<'a> {
45757            w: &'a mut W,
45758        }
45759        impl<'a> AES2SMEN_W<'a> {
45760            ///Sets the field bit
45761            #[inline(always)]
45762            pub fn set_bit(self) -> &'a mut W {
45763                self.bit(true)
45764            }
45765            ///Clears the field bit
45766            #[inline(always)]
45767            pub fn clear_bit(self) -> &'a mut W {
45768                self.bit(false)
45769            }
45770            ///Writes raw bits to the field
45771            #[inline(always)]
45772            pub fn bit(self, value: bool) -> &'a mut W {
45773                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
45774                self.w
45775            }
45776        }
45777        ///Reader of field `PKASMEN`
45778        pub type PKASMEN_R = crate::R<bool, bool>;
45779        ///Write proxy for field `PKASMEN`
45780        pub struct PKASMEN_W<'a> {
45781            w: &'a mut W,
45782        }
45783        impl<'a> PKASMEN_W<'a> {
45784            ///Sets the field bit
45785            #[inline(always)]
45786            pub fn set_bit(self) -> &'a mut W {
45787                self.bit(true)
45788            }
45789            ///Clears the field bit
45790            #[inline(always)]
45791            pub fn clear_bit(self) -> &'a mut W {
45792                self.bit(false)
45793            }
45794            ///Writes raw bits to the field
45795            #[inline(always)]
45796            pub fn bit(self, value: bool) -> &'a mut W {
45797                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
45798                self.w
45799            }
45800        }
45801        ///Reader of field `QSPISMEN`
45802        pub type QSPISMEN_R = crate::R<bool, bool>;
45803        ///Write proxy for field `QSPISMEN`
45804        pub struct QSPISMEN_W<'a> {
45805            w: &'a mut W,
45806        }
45807        impl<'a> QSPISMEN_W<'a> {
45808            ///Sets the field bit
45809            #[inline(always)]
45810            pub fn set_bit(self) -> &'a mut W {
45811                self.bit(true)
45812            }
45813            ///Clears the field bit
45814            #[inline(always)]
45815            pub fn clear_bit(self) -> &'a mut W {
45816                self.bit(false)
45817            }
45818            ///Writes raw bits to the field
45819            #[inline(always)]
45820            pub fn bit(self, value: bool) -> &'a mut W {
45821                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
45822                self.w
45823            }
45824        }
45825        impl R {
45826            ///Bit 25 - Flash interface clocks enable during CPU1 sleep mode
45827            #[inline(always)]
45828            pub fn flashsmen(&self) -> FLASHSMEN_R {
45829                FLASHSMEN_R::new(((self.bits >> 25) & 0x01) != 0)
45830            }
45831            ///Bit 24 - SRAM2a and SRAM2b memory interface clocks enable during CPU1 sleep mode
45832            #[inline(always)]
45833            pub fn sram2smen(&self) -> SRAM2SMEN_R {
45834                SRAM2SMEN_R::new(((self.bits >> 24) & 0x01) != 0)
45835            }
45836            ///Bit 18 - True RNG clocks enable during CPU1 sleep mode
45837            #[inline(always)]
45838            pub fn rngsmen(&self) -> RNGSMEN_R {
45839                RNGSMEN_R::new(((self.bits >> 18) & 0x01) != 0)
45840            }
45841            ///Bit 17 - AES2 accelerator clocks enable during CPU1 sleep mode
45842            #[inline(always)]
45843            pub fn aes2smen(&self) -> AES2SMEN_R {
45844                AES2SMEN_R::new(((self.bits >> 17) & 0x01) != 0)
45845            }
45846            ///Bit 16 - PKA accelerator clocks enable during CPU1 sleep mode
45847            #[inline(always)]
45848            pub fn pkasmen(&self) -> PKASMEN_R {
45849                PKASMEN_R::new(((self.bits >> 16) & 0x01) != 0)
45850            }
45851            ///Bit 8 - QSPISMEN
45852            #[inline(always)]
45853            pub fn qspismen(&self) -> QSPISMEN_R {
45854                QSPISMEN_R::new(((self.bits >> 8) & 0x01) != 0)
45855            }
45856        }
45857        impl W {
45858            ///Bit 25 - Flash interface clocks enable during CPU1 sleep mode
45859            #[inline(always)]
45860            pub fn flashsmen(&mut self) -> FLASHSMEN_W {
45861                FLASHSMEN_W { w: self }
45862            }
45863            ///Bit 24 - SRAM2a and SRAM2b memory interface clocks enable during CPU1 sleep mode
45864            #[inline(always)]
45865            pub fn sram2smen(&mut self) -> SRAM2SMEN_W {
45866                SRAM2SMEN_W { w: self }
45867            }
45868            ///Bit 18 - True RNG clocks enable during CPU1 sleep mode
45869            #[inline(always)]
45870            pub fn rngsmen(&mut self) -> RNGSMEN_W {
45871                RNGSMEN_W { w: self }
45872            }
45873            ///Bit 17 - AES2 accelerator clocks enable during CPU1 sleep mode
45874            #[inline(always)]
45875            pub fn aes2smen(&mut self) -> AES2SMEN_W {
45876                AES2SMEN_W { w: self }
45877            }
45878            ///Bit 16 - PKA accelerator clocks enable during CPU1 sleep mode
45879            #[inline(always)]
45880            pub fn pkasmen(&mut self) -> PKASMEN_W {
45881                PKASMEN_W { w: self }
45882            }
45883            ///Bit 8 - QSPISMEN
45884            #[inline(always)]
45885            pub fn qspismen(&mut self) -> QSPISMEN_W {
45886                QSPISMEN_W { w: self }
45887            }
45888        }
45889    }
45890    ///APB1SMENR1
45891    ///
45892    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
45893    ///
45894    ///For information about available fields see [apb1smenr1](apb1smenr1) module
45895    pub type APB1SMENR1 = crate::Reg<u32, _APB1SMENR1>;
45896    #[allow(missing_docs)]
45897    #[doc(hidden)]
45898    pub struct _APB1SMENR1;
45899    ///`read()` method returns [apb1smenr1::R](apb1smenr1::R) reader structure
45900    impl crate::Readable for APB1SMENR1 {}
45901    ///`write(|w| ..)` method takes [apb1smenr1::W](apb1smenr1::W) writer structure
45902    impl crate::Writable for APB1SMENR1 {}
45903    ///APB1SMENR1
45904    pub mod apb1smenr1 {
45905        ///Reader of register APB1SMENR1
45906        pub type R = crate::R<u32, super::APB1SMENR1>;
45907        ///Writer for register APB1SMENR1
45908        pub type W = crate::W<u32, super::APB1SMENR1>;
45909        ///Register APB1SMENR1 `reset()`'s with value 0x85a0_4e01
45910        impl crate::ResetValue for super::APB1SMENR1 {
45911            type Type = u32;
45912            #[inline(always)]
45913            fn reset_value() -> Self::Type {
45914                0x85a0_4e01
45915            }
45916        }
45917        ///Reader of field `LPTIM1SMEN`
45918        pub type LPTIM1SMEN_R = crate::R<bool, bool>;
45919        ///Write proxy for field `LPTIM1SMEN`
45920        pub struct LPTIM1SMEN_W<'a> {
45921            w: &'a mut W,
45922        }
45923        impl<'a> LPTIM1SMEN_W<'a> {
45924            ///Sets the field bit
45925            #[inline(always)]
45926            pub fn set_bit(self) -> &'a mut W {
45927                self.bit(true)
45928            }
45929            ///Clears the field bit
45930            #[inline(always)]
45931            pub fn clear_bit(self) -> &'a mut W {
45932                self.bit(false)
45933            }
45934            ///Writes raw bits to the field
45935            #[inline(always)]
45936            pub fn bit(self, value: bool) -> &'a mut W {
45937                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
45938                self.w
45939            }
45940        }
45941        ///Reader of field `USBSMEN`
45942        pub type USBSMEN_R = crate::R<bool, bool>;
45943        ///Write proxy for field `USBSMEN`
45944        pub struct USBSMEN_W<'a> {
45945            w: &'a mut W,
45946        }
45947        impl<'a> USBSMEN_W<'a> {
45948            ///Sets the field bit
45949            #[inline(always)]
45950            pub fn set_bit(self) -> &'a mut W {
45951                self.bit(true)
45952            }
45953            ///Clears the field bit
45954            #[inline(always)]
45955            pub fn clear_bit(self) -> &'a mut W {
45956                self.bit(false)
45957            }
45958            ///Writes raw bits to the field
45959            #[inline(always)]
45960            pub fn bit(self, value: bool) -> &'a mut W {
45961                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
45962                self.w
45963            }
45964        }
45965        ///Reader of field `CRSMEN`
45966        pub type CRSMEN_R = crate::R<bool, bool>;
45967        ///Write proxy for field `CRSMEN`
45968        pub struct CRSMEN_W<'a> {
45969            w: &'a mut W,
45970        }
45971        impl<'a> CRSMEN_W<'a> {
45972            ///Sets the field bit
45973            #[inline(always)]
45974            pub fn set_bit(self) -> &'a mut W {
45975                self.bit(true)
45976            }
45977            ///Clears the field bit
45978            #[inline(always)]
45979            pub fn clear_bit(self) -> &'a mut W {
45980                self.bit(false)
45981            }
45982            ///Writes raw bits to the field
45983            #[inline(always)]
45984            pub fn bit(self, value: bool) -> &'a mut W {
45985                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
45986                self.w
45987            }
45988        }
45989        ///Reader of field `I2C3SMEN`
45990        pub type I2C3SMEN_R = crate::R<bool, bool>;
45991        ///Write proxy for field `I2C3SMEN`
45992        pub struct I2C3SMEN_W<'a> {
45993            w: &'a mut W,
45994        }
45995        impl<'a> I2C3SMEN_W<'a> {
45996            ///Sets the field bit
45997            #[inline(always)]
45998            pub fn set_bit(self) -> &'a mut W {
45999                self.bit(true)
46000            }
46001            ///Clears the field bit
46002            #[inline(always)]
46003            pub fn clear_bit(self) -> &'a mut W {
46004                self.bit(false)
46005            }
46006            ///Writes raw bits to the field
46007            #[inline(always)]
46008            pub fn bit(self, value: bool) -> &'a mut W {
46009                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
46010                self.w
46011            }
46012        }
46013        ///Reader of field `I2C1SMEN`
46014        pub type I2C1SMEN_R = crate::R<bool, bool>;
46015        ///Write proxy for field `I2C1SMEN`
46016        pub struct I2C1SMEN_W<'a> {
46017            w: &'a mut W,
46018        }
46019        impl<'a> I2C1SMEN_W<'a> {
46020            ///Sets the field bit
46021            #[inline(always)]
46022            pub fn set_bit(self) -> &'a mut W {
46023                self.bit(true)
46024            }
46025            ///Clears the field bit
46026            #[inline(always)]
46027            pub fn clear_bit(self) -> &'a mut W {
46028                self.bit(false)
46029            }
46030            ///Writes raw bits to the field
46031            #[inline(always)]
46032            pub fn bit(self, value: bool) -> &'a mut W {
46033                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
46034                self.w
46035            }
46036        }
46037        ///Reader of field `SPI2SMEN`
46038        pub type SPI2SMEN_R = crate::R<bool, bool>;
46039        ///Write proxy for field `SPI2SMEN`
46040        pub struct SPI2SMEN_W<'a> {
46041            w: &'a mut W,
46042        }
46043        impl<'a> SPI2SMEN_W<'a> {
46044            ///Sets the field bit
46045            #[inline(always)]
46046            pub fn set_bit(self) -> &'a mut W {
46047                self.bit(true)
46048            }
46049            ///Clears the field bit
46050            #[inline(always)]
46051            pub fn clear_bit(self) -> &'a mut W {
46052                self.bit(false)
46053            }
46054            ///Writes raw bits to the field
46055            #[inline(always)]
46056            pub fn bit(self, value: bool) -> &'a mut W {
46057                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
46058                self.w
46059            }
46060        }
46061        ///Reader of field `WWDGSMEN`
46062        pub type WWDGSMEN_R = crate::R<bool, bool>;
46063        ///Write proxy for field `WWDGSMEN`
46064        pub struct WWDGSMEN_W<'a> {
46065            w: &'a mut W,
46066        }
46067        impl<'a> WWDGSMEN_W<'a> {
46068            ///Sets the field bit
46069            #[inline(always)]
46070            pub fn set_bit(self) -> &'a mut W {
46071                self.bit(true)
46072            }
46073            ///Clears the field bit
46074            #[inline(always)]
46075            pub fn clear_bit(self) -> &'a mut W {
46076                self.bit(false)
46077            }
46078            ///Writes raw bits to the field
46079            #[inline(always)]
46080            pub fn bit(self, value: bool) -> &'a mut W {
46081                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
46082                self.w
46083            }
46084        }
46085        ///Reader of field `RTCAPBSMEN`
46086        pub type RTCAPBSMEN_R = crate::R<bool, bool>;
46087        ///Write proxy for field `RTCAPBSMEN`
46088        pub struct RTCAPBSMEN_W<'a> {
46089            w: &'a mut W,
46090        }
46091        impl<'a> RTCAPBSMEN_W<'a> {
46092            ///Sets the field bit
46093            #[inline(always)]
46094            pub fn set_bit(self) -> &'a mut W {
46095                self.bit(true)
46096            }
46097            ///Clears the field bit
46098            #[inline(always)]
46099            pub fn clear_bit(self) -> &'a mut W {
46100                self.bit(false)
46101            }
46102            ///Writes raw bits to the field
46103            #[inline(always)]
46104            pub fn bit(self, value: bool) -> &'a mut W {
46105                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
46106                self.w
46107            }
46108        }
46109        ///Reader of field `LCDSMEN`
46110        pub type LCDSMEN_R = crate::R<bool, bool>;
46111        ///Write proxy for field `LCDSMEN`
46112        pub struct LCDSMEN_W<'a> {
46113            w: &'a mut W,
46114        }
46115        impl<'a> LCDSMEN_W<'a> {
46116            ///Sets the field bit
46117            #[inline(always)]
46118            pub fn set_bit(self) -> &'a mut W {
46119                self.bit(true)
46120            }
46121            ///Clears the field bit
46122            #[inline(always)]
46123            pub fn clear_bit(self) -> &'a mut W {
46124                self.bit(false)
46125            }
46126            ///Writes raw bits to the field
46127            #[inline(always)]
46128            pub fn bit(self, value: bool) -> &'a mut W {
46129                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
46130                self.w
46131            }
46132        }
46133        ///Reader of field `TIM2SMEN`
46134        pub type TIM2SMEN_R = crate::R<bool, bool>;
46135        ///Write proxy for field `TIM2SMEN`
46136        pub struct TIM2SMEN_W<'a> {
46137            w: &'a mut W,
46138        }
46139        impl<'a> TIM2SMEN_W<'a> {
46140            ///Sets the field bit
46141            #[inline(always)]
46142            pub fn set_bit(self) -> &'a mut W {
46143                self.bit(true)
46144            }
46145            ///Clears the field bit
46146            #[inline(always)]
46147            pub fn clear_bit(self) -> &'a mut W {
46148                self.bit(false)
46149            }
46150            ///Writes raw bits to the field
46151            #[inline(always)]
46152            pub fn bit(self, value: bool) -> &'a mut W {
46153                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
46154                self.w
46155            }
46156        }
46157        impl R {
46158            ///Bit 31 - Low power timer 1 clocks enable during CPU1 Sleep mode
46159            #[inline(always)]
46160            pub fn lptim1smen(&self) -> LPTIM1SMEN_R {
46161                LPTIM1SMEN_R::new(((self.bits >> 31) & 0x01) != 0)
46162            }
46163            ///Bit 26 - USB FS clocks enable during CPU1 Sleep mode
46164            #[inline(always)]
46165            pub fn usbsmen(&self) -> USBSMEN_R {
46166                USBSMEN_R::new(((self.bits >> 26) & 0x01) != 0)
46167            }
46168            ///Bit 24 - CRS clocks enable during CPU1 Sleep mode
46169            #[inline(always)]
46170            pub fn crsmen(&self) -> CRSMEN_R {
46171                CRSMEN_R::new(((self.bits >> 24) & 0x01) != 0)
46172            }
46173            ///Bit 23 - I2C3 clocks enable during CPU1 Sleep mode
46174            #[inline(always)]
46175            pub fn i2c3smen(&self) -> I2C3SMEN_R {
46176                I2C3SMEN_R::new(((self.bits >> 23) & 0x01) != 0)
46177            }
46178            ///Bit 21 - I2C1 clocks enable during CPU1 Sleep mode
46179            #[inline(always)]
46180            pub fn i2c1smen(&self) -> I2C1SMEN_R {
46181                I2C1SMEN_R::new(((self.bits >> 21) & 0x01) != 0)
46182            }
46183            ///Bit 14 - SPI2 clocks enable during CPU1 Sleep mode
46184            #[inline(always)]
46185            pub fn spi2smen(&self) -> SPI2SMEN_R {
46186                SPI2SMEN_R::new(((self.bits >> 14) & 0x01) != 0)
46187            }
46188            ///Bit 11 - Window watchdog clocks enable during CPU1 Sleep mode
46189            #[inline(always)]
46190            pub fn wwdgsmen(&self) -> WWDGSMEN_R {
46191                WWDGSMEN_R::new(((self.bits >> 11) & 0x01) != 0)
46192            }
46193            ///Bit 10 - RTC APB clocks enable during CPU1 Sleep mode
46194            #[inline(always)]
46195            pub fn rtcapbsmen(&self) -> RTCAPBSMEN_R {
46196                RTCAPBSMEN_R::new(((self.bits >> 10) & 0x01) != 0)
46197            }
46198            ///Bit 9 - LCD clocks enable during CPU1 Sleep mode
46199            #[inline(always)]
46200            pub fn lcdsmen(&self) -> LCDSMEN_R {
46201                LCDSMEN_R::new(((self.bits >> 9) & 0x01) != 0)
46202            }
46203            ///Bit 0 - TIM2 timer clocks enable during CPU1 Sleep mode
46204            #[inline(always)]
46205            pub fn tim2smen(&self) -> TIM2SMEN_R {
46206                TIM2SMEN_R::new((self.bits & 0x01) != 0)
46207            }
46208        }
46209        impl W {
46210            ///Bit 31 - Low power timer 1 clocks enable during CPU1 Sleep mode
46211            #[inline(always)]
46212            pub fn lptim1smen(&mut self) -> LPTIM1SMEN_W {
46213                LPTIM1SMEN_W { w: self }
46214            }
46215            ///Bit 26 - USB FS clocks enable during CPU1 Sleep mode
46216            #[inline(always)]
46217            pub fn usbsmen(&mut self) -> USBSMEN_W {
46218                USBSMEN_W { w: self }
46219            }
46220            ///Bit 24 - CRS clocks enable during CPU1 Sleep mode
46221            #[inline(always)]
46222            pub fn crsmen(&mut self) -> CRSMEN_W {
46223                CRSMEN_W { w: self }
46224            }
46225            ///Bit 23 - I2C3 clocks enable during CPU1 Sleep mode
46226            #[inline(always)]
46227            pub fn i2c3smen(&mut self) -> I2C3SMEN_W {
46228                I2C3SMEN_W { w: self }
46229            }
46230            ///Bit 21 - I2C1 clocks enable during CPU1 Sleep mode
46231            #[inline(always)]
46232            pub fn i2c1smen(&mut self) -> I2C1SMEN_W {
46233                I2C1SMEN_W { w: self }
46234            }
46235            ///Bit 14 - SPI2 clocks enable during CPU1 Sleep mode
46236            #[inline(always)]
46237            pub fn spi2smen(&mut self) -> SPI2SMEN_W {
46238                SPI2SMEN_W { w: self }
46239            }
46240            ///Bit 11 - Window watchdog clocks enable during CPU1 Sleep mode
46241            #[inline(always)]
46242            pub fn wwdgsmen(&mut self) -> WWDGSMEN_W {
46243                WWDGSMEN_W { w: self }
46244            }
46245            ///Bit 10 - RTC APB clocks enable during CPU1 Sleep mode
46246            #[inline(always)]
46247            pub fn rtcapbsmen(&mut self) -> RTCAPBSMEN_W {
46248                RTCAPBSMEN_W { w: self }
46249            }
46250            ///Bit 9 - LCD clocks enable during CPU1 Sleep mode
46251            #[inline(always)]
46252            pub fn lcdsmen(&mut self) -> LCDSMEN_W {
46253                LCDSMEN_W { w: self }
46254            }
46255            ///Bit 0 - TIM2 timer clocks enable during CPU1 Sleep mode
46256            #[inline(always)]
46257            pub fn tim2smen(&mut self) -> TIM2SMEN_W {
46258                TIM2SMEN_W { w: self }
46259            }
46260        }
46261    }
46262    ///APB1 peripheral clocks enable in Sleep and Stop modes register 2
46263    ///
46264    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
46265    ///
46266    ///For information about available fields see [apb1smenr2](apb1smenr2) module
46267    pub type APB1SMENR2 = crate::Reg<u32, _APB1SMENR2>;
46268    #[allow(missing_docs)]
46269    #[doc(hidden)]
46270    pub struct _APB1SMENR2;
46271    ///`read()` method returns [apb1smenr2::R](apb1smenr2::R) reader structure
46272    impl crate::Readable for APB1SMENR2 {}
46273    ///`write(|w| ..)` method takes [apb1smenr2::W](apb1smenr2::W) writer structure
46274    impl crate::Writable for APB1SMENR2 {}
46275    ///APB1 peripheral clocks enable in Sleep and Stop modes register 2
46276    pub mod apb1smenr2 {
46277        ///Reader of register APB1SMENR2
46278        pub type R = crate::R<u32, super::APB1SMENR2>;
46279        ///Writer for register APB1SMENR2
46280        pub type W = crate::W<u32, super::APB1SMENR2>;
46281        ///Register APB1SMENR2 `reset()`'s with value 0x21
46282        impl crate::ResetValue for super::APB1SMENR2 {
46283            type Type = u32;
46284            #[inline(always)]
46285            fn reset_value() -> Self::Type {
46286                0x21
46287            }
46288        }
46289        ///Reader of field `LPTIM2SMEN`
46290        pub type LPTIM2SMEN_R = crate::R<bool, bool>;
46291        ///Write proxy for field `LPTIM2SMEN`
46292        pub struct LPTIM2SMEN_W<'a> {
46293            w: &'a mut W,
46294        }
46295        impl<'a> LPTIM2SMEN_W<'a> {
46296            ///Sets the field bit
46297            #[inline(always)]
46298            pub fn set_bit(self) -> &'a mut W {
46299                self.bit(true)
46300            }
46301            ///Clears the field bit
46302            #[inline(always)]
46303            pub fn clear_bit(self) -> &'a mut W {
46304                self.bit(false)
46305            }
46306            ///Writes raw bits to the field
46307            #[inline(always)]
46308            pub fn bit(self, value: bool) -> &'a mut W {
46309                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
46310                self.w
46311            }
46312        }
46313        ///Reader of field `LPUART1SMEN`
46314        pub type LPUART1SMEN_R = crate::R<bool, bool>;
46315        ///Write proxy for field `LPUART1SMEN`
46316        pub struct LPUART1SMEN_W<'a> {
46317            w: &'a mut W,
46318        }
46319        impl<'a> LPUART1SMEN_W<'a> {
46320            ///Sets the field bit
46321            #[inline(always)]
46322            pub fn set_bit(self) -> &'a mut W {
46323                self.bit(true)
46324            }
46325            ///Clears the field bit
46326            #[inline(always)]
46327            pub fn clear_bit(self) -> &'a mut W {
46328                self.bit(false)
46329            }
46330            ///Writes raw bits to the field
46331            #[inline(always)]
46332            pub fn bit(self, value: bool) -> &'a mut W {
46333                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
46334                self.w
46335            }
46336        }
46337        impl R {
46338            ///Bit 5 - Low power timer 2 clocks enable during CPU1 Sleep mode
46339            #[inline(always)]
46340            pub fn lptim2smen(&self) -> LPTIM2SMEN_R {
46341                LPTIM2SMEN_R::new(((self.bits >> 5) & 0x01) != 0)
46342            }
46343            ///Bit 0 - Low power UART 1 clocks enable during CPU1 Sleep mode
46344            #[inline(always)]
46345            pub fn lpuart1smen(&self) -> LPUART1SMEN_R {
46346                LPUART1SMEN_R::new((self.bits & 0x01) != 0)
46347            }
46348        }
46349        impl W {
46350            ///Bit 5 - Low power timer 2 clocks enable during CPU1 Sleep mode
46351            #[inline(always)]
46352            pub fn lptim2smen(&mut self) -> LPTIM2SMEN_W {
46353                LPTIM2SMEN_W { w: self }
46354            }
46355            ///Bit 0 - Low power UART 1 clocks enable during CPU1 Sleep mode
46356            #[inline(always)]
46357            pub fn lpuart1smen(&mut self) -> LPUART1SMEN_W {
46358                LPUART1SMEN_W { w: self }
46359            }
46360        }
46361    }
46362    ///APB2SMENR
46363    ///
46364    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
46365    ///
46366    ///For information about available fields see [apb2smenr](apb2smenr) module
46367    pub type APB2SMENR = crate::Reg<u32, _APB2SMENR>;
46368    #[allow(missing_docs)]
46369    #[doc(hidden)]
46370    pub struct _APB2SMENR;
46371    ///`read()` method returns [apb2smenr::R](apb2smenr::R) reader structure
46372    impl crate::Readable for APB2SMENR {}
46373    ///`write(|w| ..)` method takes [apb2smenr::W](apb2smenr::W) writer structure
46374    impl crate::Writable for APB2SMENR {}
46375    ///APB2SMENR
46376    pub mod apb2smenr {
46377        ///Reader of register APB2SMENR
46378        pub type R = crate::R<u32, super::APB2SMENR>;
46379        ///Writer for register APB2SMENR
46380        pub type W = crate::W<u32, super::APB2SMENR>;
46381        ///Register APB2SMENR `reset()`'s with value 0x0026_5800
46382        impl crate::ResetValue for super::APB2SMENR {
46383            type Type = u32;
46384            #[inline(always)]
46385            fn reset_value() -> Self::Type {
46386                0x0026_5800
46387            }
46388        }
46389        ///Reader of field `SAI1SMEN`
46390        pub type SAI1SMEN_R = crate::R<bool, bool>;
46391        ///Write proxy for field `SAI1SMEN`
46392        pub struct SAI1SMEN_W<'a> {
46393            w: &'a mut W,
46394        }
46395        impl<'a> SAI1SMEN_W<'a> {
46396            ///Sets the field bit
46397            #[inline(always)]
46398            pub fn set_bit(self) -> &'a mut W {
46399                self.bit(true)
46400            }
46401            ///Clears the field bit
46402            #[inline(always)]
46403            pub fn clear_bit(self) -> &'a mut W {
46404                self.bit(false)
46405            }
46406            ///Writes raw bits to the field
46407            #[inline(always)]
46408            pub fn bit(self, value: bool) -> &'a mut W {
46409                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
46410                self.w
46411            }
46412        }
46413        ///Reader of field `TIM17SMEN`
46414        pub type TIM17SMEN_R = crate::R<bool, bool>;
46415        ///Write proxy for field `TIM17SMEN`
46416        pub struct TIM17SMEN_W<'a> {
46417            w: &'a mut W,
46418        }
46419        impl<'a> TIM17SMEN_W<'a> {
46420            ///Sets the field bit
46421            #[inline(always)]
46422            pub fn set_bit(self) -> &'a mut W {
46423                self.bit(true)
46424            }
46425            ///Clears the field bit
46426            #[inline(always)]
46427            pub fn clear_bit(self) -> &'a mut W {
46428                self.bit(false)
46429            }
46430            ///Writes raw bits to the field
46431            #[inline(always)]
46432            pub fn bit(self, value: bool) -> &'a mut W {
46433                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
46434                self.w
46435            }
46436        }
46437        ///Reader of field `TIM16SMEN`
46438        pub type TIM16SMEN_R = crate::R<bool, bool>;
46439        ///Write proxy for field `TIM16SMEN`
46440        pub struct TIM16SMEN_W<'a> {
46441            w: &'a mut W,
46442        }
46443        impl<'a> TIM16SMEN_W<'a> {
46444            ///Sets the field bit
46445            #[inline(always)]
46446            pub fn set_bit(self) -> &'a mut W {
46447                self.bit(true)
46448            }
46449            ///Clears the field bit
46450            #[inline(always)]
46451            pub fn clear_bit(self) -> &'a mut W {
46452                self.bit(false)
46453            }
46454            ///Writes raw bits to the field
46455            #[inline(always)]
46456            pub fn bit(self, value: bool) -> &'a mut W {
46457                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
46458                self.w
46459            }
46460        }
46461        ///Reader of field `USART1SMEN`
46462        pub type USART1SMEN_R = crate::R<bool, bool>;
46463        ///Write proxy for field `USART1SMEN`
46464        pub struct USART1SMEN_W<'a> {
46465            w: &'a mut W,
46466        }
46467        impl<'a> USART1SMEN_W<'a> {
46468            ///Sets the field bit
46469            #[inline(always)]
46470            pub fn set_bit(self) -> &'a mut W {
46471                self.bit(true)
46472            }
46473            ///Clears the field bit
46474            #[inline(always)]
46475            pub fn clear_bit(self) -> &'a mut W {
46476                self.bit(false)
46477            }
46478            ///Writes raw bits to the field
46479            #[inline(always)]
46480            pub fn bit(self, value: bool) -> &'a mut W {
46481                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
46482                self.w
46483            }
46484        }
46485        ///Reader of field `SPI1SMEN`
46486        pub type SPI1SMEN_R = crate::R<bool, bool>;
46487        ///Write proxy for field `SPI1SMEN`
46488        pub struct SPI1SMEN_W<'a> {
46489            w: &'a mut W,
46490        }
46491        impl<'a> SPI1SMEN_W<'a> {
46492            ///Sets the field bit
46493            #[inline(always)]
46494            pub fn set_bit(self) -> &'a mut W {
46495                self.bit(true)
46496            }
46497            ///Clears the field bit
46498            #[inline(always)]
46499            pub fn clear_bit(self) -> &'a mut W {
46500                self.bit(false)
46501            }
46502            ///Writes raw bits to the field
46503            #[inline(always)]
46504            pub fn bit(self, value: bool) -> &'a mut W {
46505                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
46506                self.w
46507            }
46508        }
46509        ///Reader of field `TIM1SMEN`
46510        pub type TIM1SMEN_R = crate::R<bool, bool>;
46511        ///Write proxy for field `TIM1SMEN`
46512        pub struct TIM1SMEN_W<'a> {
46513            w: &'a mut W,
46514        }
46515        impl<'a> TIM1SMEN_W<'a> {
46516            ///Sets the field bit
46517            #[inline(always)]
46518            pub fn set_bit(self) -> &'a mut W {
46519                self.bit(true)
46520            }
46521            ///Clears the field bit
46522            #[inline(always)]
46523            pub fn clear_bit(self) -> &'a mut W {
46524                self.bit(false)
46525            }
46526            ///Writes raw bits to the field
46527            #[inline(always)]
46528            pub fn bit(self, value: bool) -> &'a mut W {
46529                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
46530                self.w
46531            }
46532        }
46533        impl R {
46534            ///Bit 21 - SAI1 clocks enable during CPU1 Sleep mode
46535            #[inline(always)]
46536            pub fn sai1smen(&self) -> SAI1SMEN_R {
46537                SAI1SMEN_R::new(((self.bits >> 21) & 0x01) != 0)
46538            }
46539            ///Bit 18 - TIM17 timer clocks enable during CPU1 Sleep mode
46540            #[inline(always)]
46541            pub fn tim17smen(&self) -> TIM17SMEN_R {
46542                TIM17SMEN_R::new(((self.bits >> 18) & 0x01) != 0)
46543            }
46544            ///Bit 17 - TIM16 timer clocks enable during CPU1 Sleep mode
46545            #[inline(always)]
46546            pub fn tim16smen(&self) -> TIM16SMEN_R {
46547                TIM16SMEN_R::new(((self.bits >> 17) & 0x01) != 0)
46548            }
46549            ///Bit 14 - USART1clocks enable during CPU1 Sleep mode
46550            #[inline(always)]
46551            pub fn usart1smen(&self) -> USART1SMEN_R {
46552                USART1SMEN_R::new(((self.bits >> 14) & 0x01) != 0)
46553            }
46554            ///Bit 12 - SPI1 clocks enable during CPU1 Sleep mode
46555            #[inline(always)]
46556            pub fn spi1smen(&self) -> SPI1SMEN_R {
46557                SPI1SMEN_R::new(((self.bits >> 12) & 0x01) != 0)
46558            }
46559            ///Bit 11 - TIM1 timer clocks enable during CPU1 Sleep mode
46560            #[inline(always)]
46561            pub fn tim1smen(&self) -> TIM1SMEN_R {
46562                TIM1SMEN_R::new(((self.bits >> 11) & 0x01) != 0)
46563            }
46564        }
46565        impl W {
46566            ///Bit 21 - SAI1 clocks enable during CPU1 Sleep mode
46567            #[inline(always)]
46568            pub fn sai1smen(&mut self) -> SAI1SMEN_W {
46569                SAI1SMEN_W { w: self }
46570            }
46571            ///Bit 18 - TIM17 timer clocks enable during CPU1 Sleep mode
46572            #[inline(always)]
46573            pub fn tim17smen(&mut self) -> TIM17SMEN_W {
46574                TIM17SMEN_W { w: self }
46575            }
46576            ///Bit 17 - TIM16 timer clocks enable during CPU1 Sleep mode
46577            #[inline(always)]
46578            pub fn tim16smen(&mut self) -> TIM16SMEN_W {
46579                TIM16SMEN_W { w: self }
46580            }
46581            ///Bit 14 - USART1clocks enable during CPU1 Sleep mode
46582            #[inline(always)]
46583            pub fn usart1smen(&mut self) -> USART1SMEN_W {
46584                USART1SMEN_W { w: self }
46585            }
46586            ///Bit 12 - SPI1 clocks enable during CPU1 Sleep mode
46587            #[inline(always)]
46588            pub fn spi1smen(&mut self) -> SPI1SMEN_W {
46589                SPI1SMEN_W { w: self }
46590            }
46591            ///Bit 11 - TIM1 timer clocks enable during CPU1 Sleep mode
46592            #[inline(always)]
46593            pub fn tim1smen(&mut self) -> TIM1SMEN_W {
46594                TIM1SMEN_W { w: self }
46595            }
46596        }
46597    }
46598    ///CCIPR
46599    ///
46600    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
46601    ///
46602    ///For information about available fields see [ccipr](ccipr) module
46603    pub type CCIPR = crate::Reg<u32, _CCIPR>;
46604    #[allow(missing_docs)]
46605    #[doc(hidden)]
46606    pub struct _CCIPR;
46607    ///`read()` method returns [ccipr::R](ccipr::R) reader structure
46608    impl crate::Readable for CCIPR {}
46609    ///`write(|w| ..)` method takes [ccipr::W](ccipr::W) writer structure
46610    impl crate::Writable for CCIPR {}
46611    ///CCIPR
46612    pub mod ccipr {
46613        ///Reader of register CCIPR
46614        pub type R = crate::R<u32, super::CCIPR>;
46615        ///Writer for register CCIPR
46616        pub type W = crate::W<u32, super::CCIPR>;
46617        ///Register CCIPR `reset()`'s with value 0
46618        impl crate::ResetValue for super::CCIPR {
46619            type Type = u32;
46620            #[inline(always)]
46621            fn reset_value() -> Self::Type {
46622                0
46623            }
46624        }
46625        ///Reader of field `RNGSEL`
46626        pub type RNGSEL_R = crate::R<u8, u8>;
46627        ///Write proxy for field `RNGSEL`
46628        pub struct RNGSEL_W<'a> {
46629            w: &'a mut W,
46630        }
46631        impl<'a> RNGSEL_W<'a> {
46632            ///Writes raw bits to the field
46633            #[inline(always)]
46634            pub unsafe fn bits(self, value: u8) -> &'a mut W {
46635                self.w.bits = (self.w.bits & !(0x03 << 30)) | (((value as u32) & 0x03) << 30);
46636                self.w
46637            }
46638        }
46639        ///Reader of field `ADCSEL`
46640        pub type ADCSEL_R = crate::R<u8, u8>;
46641        ///Write proxy for field `ADCSEL`
46642        pub struct ADCSEL_W<'a> {
46643            w: &'a mut W,
46644        }
46645        impl<'a> ADCSEL_W<'a> {
46646            ///Writes raw bits to the field
46647            #[inline(always)]
46648            pub unsafe fn bits(self, value: u8) -> &'a mut W {
46649                self.w.bits = (self.w.bits & !(0x03 << 28)) | (((value as u32) & 0x03) << 28);
46650                self.w
46651            }
46652        }
46653        ///Reader of field `CLK48SEL`
46654        pub type CLK48SEL_R = crate::R<u8, u8>;
46655        ///Write proxy for field `CLK48SEL`
46656        pub struct CLK48SEL_W<'a> {
46657            w: &'a mut W,
46658        }
46659        impl<'a> CLK48SEL_W<'a> {
46660            ///Writes raw bits to the field
46661            #[inline(always)]
46662            pub unsafe fn bits(self, value: u8) -> &'a mut W {
46663                self.w.bits = (self.w.bits & !(0x03 << 26)) | (((value as u32) & 0x03) << 26);
46664                self.w
46665            }
46666        }
46667        ///Reader of field `SAI1SEL`
46668        pub type SAI1SEL_R = crate::R<u8, u8>;
46669        ///Write proxy for field `SAI1SEL`
46670        pub struct SAI1SEL_W<'a> {
46671            w: &'a mut W,
46672        }
46673        impl<'a> SAI1SEL_W<'a> {
46674            ///Writes raw bits to the field
46675            #[inline(always)]
46676            pub unsafe fn bits(self, value: u8) -> &'a mut W {
46677                self.w.bits = (self.w.bits & !(0x03 << 22)) | (((value as u32) & 0x03) << 22);
46678                self.w
46679            }
46680        }
46681        ///Reader of field `LPTIM2SEL`
46682        pub type LPTIM2SEL_R = crate::R<u8, u8>;
46683        ///Write proxy for field `LPTIM2SEL`
46684        pub struct LPTIM2SEL_W<'a> {
46685            w: &'a mut W,
46686        }
46687        impl<'a> LPTIM2SEL_W<'a> {
46688            ///Writes raw bits to the field
46689            #[inline(always)]
46690            pub unsafe fn bits(self, value: u8) -> &'a mut W {
46691                self.w.bits = (self.w.bits & !(0x03 << 20)) | (((value as u32) & 0x03) << 20);
46692                self.w
46693            }
46694        }
46695        ///Reader of field `LPTIM1SEL`
46696        pub type LPTIM1SEL_R = crate::R<u8, u8>;
46697        ///Write proxy for field `LPTIM1SEL`
46698        pub struct LPTIM1SEL_W<'a> {
46699            w: &'a mut W,
46700        }
46701        impl<'a> LPTIM1SEL_W<'a> {
46702            ///Writes raw bits to the field
46703            #[inline(always)]
46704            pub unsafe fn bits(self, value: u8) -> &'a mut W {
46705                self.w.bits = (self.w.bits & !(0x03 << 18)) | (((value as u32) & 0x03) << 18);
46706                self.w
46707            }
46708        }
46709        ///Reader of field `I2C3SEL`
46710        pub type I2C3SEL_R = crate::R<u8, u8>;
46711        ///Write proxy for field `I2C3SEL`
46712        pub struct I2C3SEL_W<'a> {
46713            w: &'a mut W,
46714        }
46715        impl<'a> I2C3SEL_W<'a> {
46716            ///Writes raw bits to the field
46717            #[inline(always)]
46718            pub unsafe fn bits(self, value: u8) -> &'a mut W {
46719                self.w.bits = (self.w.bits & !(0x03 << 16)) | (((value as u32) & 0x03) << 16);
46720                self.w
46721            }
46722        }
46723        ///Reader of field `I2C1SEL`
46724        pub type I2C1SEL_R = crate::R<u8, u8>;
46725        ///Write proxy for field `I2C1SEL`
46726        pub struct I2C1SEL_W<'a> {
46727            w: &'a mut W,
46728        }
46729        impl<'a> I2C1SEL_W<'a> {
46730            ///Writes raw bits to the field
46731            #[inline(always)]
46732            pub unsafe fn bits(self, value: u8) -> &'a mut W {
46733                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
46734                self.w
46735            }
46736        }
46737        ///Reader of field `LPUART1SEL`
46738        pub type LPUART1SEL_R = crate::R<u8, u8>;
46739        ///Write proxy for field `LPUART1SEL`
46740        pub struct LPUART1SEL_W<'a> {
46741            w: &'a mut W,
46742        }
46743        impl<'a> LPUART1SEL_W<'a> {
46744            ///Writes raw bits to the field
46745            #[inline(always)]
46746            pub unsafe fn bits(self, value: u8) -> &'a mut W {
46747                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
46748                self.w
46749            }
46750        }
46751        ///Reader of field `USART1SEL`
46752        pub type USART1SEL_R = crate::R<u8, u8>;
46753        ///Write proxy for field `USART1SEL`
46754        pub struct USART1SEL_W<'a> {
46755            w: &'a mut W,
46756        }
46757        impl<'a> USART1SEL_W<'a> {
46758            ///Writes raw bits to the field
46759            #[inline(always)]
46760            pub unsafe fn bits(self, value: u8) -> &'a mut W {
46761                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
46762                self.w
46763            }
46764        }
46765        impl R {
46766            ///Bits 30:31 - RNG clock source selection
46767            #[inline(always)]
46768            pub fn rngsel(&self) -> RNGSEL_R {
46769                RNGSEL_R::new(((self.bits >> 30) & 0x03) as u8)
46770            }
46771            ///Bits 28:29 - ADCs clock source selection
46772            #[inline(always)]
46773            pub fn adcsel(&self) -> ADCSEL_R {
46774                ADCSEL_R::new(((self.bits >> 28) & 0x03) as u8)
46775            }
46776            ///Bits 26:27 - 48 MHz clock source selection
46777            #[inline(always)]
46778            pub fn clk48sel(&self) -> CLK48SEL_R {
46779                CLK48SEL_R::new(((self.bits >> 26) & 0x03) as u8)
46780            }
46781            ///Bits 22:23 - SAI1 clock source selection
46782            #[inline(always)]
46783            pub fn sai1sel(&self) -> SAI1SEL_R {
46784                SAI1SEL_R::new(((self.bits >> 22) & 0x03) as u8)
46785            }
46786            ///Bits 20:21 - Low power timer 2 clock source selection
46787            #[inline(always)]
46788            pub fn lptim2sel(&self) -> LPTIM2SEL_R {
46789                LPTIM2SEL_R::new(((self.bits >> 20) & 0x03) as u8)
46790            }
46791            ///Bits 18:19 - Low power timer 1 clock source selection
46792            #[inline(always)]
46793            pub fn lptim1sel(&self) -> LPTIM1SEL_R {
46794                LPTIM1SEL_R::new(((self.bits >> 18) & 0x03) as u8)
46795            }
46796            ///Bits 16:17 - I2C3 clock source selection
46797            #[inline(always)]
46798            pub fn i2c3sel(&self) -> I2C3SEL_R {
46799                I2C3SEL_R::new(((self.bits >> 16) & 0x03) as u8)
46800            }
46801            ///Bits 12:13 - I2C1 clock source selection
46802            #[inline(always)]
46803            pub fn i2c1sel(&self) -> I2C1SEL_R {
46804                I2C1SEL_R::new(((self.bits >> 12) & 0x03) as u8)
46805            }
46806            ///Bits 10:11 - LPUART1 clock source selection
46807            #[inline(always)]
46808            pub fn lpuart1sel(&self) -> LPUART1SEL_R {
46809                LPUART1SEL_R::new(((self.bits >> 10) & 0x03) as u8)
46810            }
46811            ///Bits 0:1 - USART1 clock source selection
46812            #[inline(always)]
46813            pub fn usart1sel(&self) -> USART1SEL_R {
46814                USART1SEL_R::new((self.bits & 0x03) as u8)
46815            }
46816        }
46817        impl W {
46818            ///Bits 30:31 - RNG clock source selection
46819            #[inline(always)]
46820            pub fn rngsel(&mut self) -> RNGSEL_W {
46821                RNGSEL_W { w: self }
46822            }
46823            ///Bits 28:29 - ADCs clock source selection
46824            #[inline(always)]
46825            pub fn adcsel(&mut self) -> ADCSEL_W {
46826                ADCSEL_W { w: self }
46827            }
46828            ///Bits 26:27 - 48 MHz clock source selection
46829            #[inline(always)]
46830            pub fn clk48sel(&mut self) -> CLK48SEL_W {
46831                CLK48SEL_W { w: self }
46832            }
46833            ///Bits 22:23 - SAI1 clock source selection
46834            #[inline(always)]
46835            pub fn sai1sel(&mut self) -> SAI1SEL_W {
46836                SAI1SEL_W { w: self }
46837            }
46838            ///Bits 20:21 - Low power timer 2 clock source selection
46839            #[inline(always)]
46840            pub fn lptim2sel(&mut self) -> LPTIM2SEL_W {
46841                LPTIM2SEL_W { w: self }
46842            }
46843            ///Bits 18:19 - Low power timer 1 clock source selection
46844            #[inline(always)]
46845            pub fn lptim1sel(&mut self) -> LPTIM1SEL_W {
46846                LPTIM1SEL_W { w: self }
46847            }
46848            ///Bits 16:17 - I2C3 clock source selection
46849            #[inline(always)]
46850            pub fn i2c3sel(&mut self) -> I2C3SEL_W {
46851                I2C3SEL_W { w: self }
46852            }
46853            ///Bits 12:13 - I2C1 clock source selection
46854            #[inline(always)]
46855            pub fn i2c1sel(&mut self) -> I2C1SEL_W {
46856                I2C1SEL_W { w: self }
46857            }
46858            ///Bits 10:11 - LPUART1 clock source selection
46859            #[inline(always)]
46860            pub fn lpuart1sel(&mut self) -> LPUART1SEL_W {
46861                LPUART1SEL_W { w: self }
46862            }
46863            ///Bits 0:1 - USART1 clock source selection
46864            #[inline(always)]
46865            pub fn usart1sel(&mut self) -> USART1SEL_W {
46866                USART1SEL_W { w: self }
46867            }
46868        }
46869    }
46870    ///BDCR
46871    ///
46872    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
46873    ///
46874    ///For information about available fields see [bdcr](bdcr) module
46875    pub type BDCR = crate::Reg<u32, _BDCR>;
46876    #[allow(missing_docs)]
46877    #[doc(hidden)]
46878    pub struct _BDCR;
46879    ///`read()` method returns [bdcr::R](bdcr::R) reader structure
46880    impl crate::Readable for BDCR {}
46881    ///`write(|w| ..)` method takes [bdcr::W](bdcr::W) writer structure
46882    impl crate::Writable for BDCR {}
46883    ///BDCR
46884    pub mod bdcr {
46885        ///Reader of register BDCR
46886        pub type R = crate::R<u32, super::BDCR>;
46887        ///Writer for register BDCR
46888        pub type W = crate::W<u32, super::BDCR>;
46889        ///Register BDCR `reset()`'s with value 0
46890        impl crate::ResetValue for super::BDCR {
46891            type Type = u32;
46892            #[inline(always)]
46893            fn reset_value() -> Self::Type {
46894                0
46895            }
46896        }
46897        ///Reader of field `LSCOSEL`
46898        pub type LSCOSEL_R = crate::R<u8, u8>;
46899        ///Write proxy for field `LSCOSEL`
46900        pub struct LSCOSEL_W<'a> {
46901            w: &'a mut W,
46902        }
46903        impl<'a> LSCOSEL_W<'a> {
46904            ///Writes raw bits to the field
46905            #[inline(always)]
46906            pub unsafe fn bits(self, value: u8) -> &'a mut W {
46907                self.w.bits = (self.w.bits & !(0x03 << 25)) | (((value as u32) & 0x03) << 25);
46908                self.w
46909            }
46910        }
46911        ///Reader of field `LSCOEN`
46912        pub type LSCOEN_R = crate::R<bool, bool>;
46913        ///Write proxy for field `LSCOEN`
46914        pub struct LSCOEN_W<'a> {
46915            w: &'a mut W,
46916        }
46917        impl<'a> LSCOEN_W<'a> {
46918            ///Sets the field bit
46919            #[inline(always)]
46920            pub fn set_bit(self) -> &'a mut W {
46921                self.bit(true)
46922            }
46923            ///Clears the field bit
46924            #[inline(always)]
46925            pub fn clear_bit(self) -> &'a mut W {
46926                self.bit(false)
46927            }
46928            ///Writes raw bits to the field
46929            #[inline(always)]
46930            pub fn bit(self, value: bool) -> &'a mut W {
46931                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
46932                self.w
46933            }
46934        }
46935        ///Reader of field `BDRST`
46936        pub type BDRST_R = crate::R<bool, bool>;
46937        ///Write proxy for field `BDRST`
46938        pub struct BDRST_W<'a> {
46939            w: &'a mut W,
46940        }
46941        impl<'a> BDRST_W<'a> {
46942            ///Sets the field bit
46943            #[inline(always)]
46944            pub fn set_bit(self) -> &'a mut W {
46945                self.bit(true)
46946            }
46947            ///Clears the field bit
46948            #[inline(always)]
46949            pub fn clear_bit(self) -> &'a mut W {
46950                self.bit(false)
46951            }
46952            ///Writes raw bits to the field
46953            #[inline(always)]
46954            pub fn bit(self, value: bool) -> &'a mut W {
46955                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
46956                self.w
46957            }
46958        }
46959        ///Reader of field `RTCEN`
46960        pub type RTCEN_R = crate::R<bool, bool>;
46961        ///Write proxy for field `RTCEN`
46962        pub struct RTCEN_W<'a> {
46963            w: &'a mut W,
46964        }
46965        impl<'a> RTCEN_W<'a> {
46966            ///Sets the field bit
46967            #[inline(always)]
46968            pub fn set_bit(self) -> &'a mut W {
46969                self.bit(true)
46970            }
46971            ///Clears the field bit
46972            #[inline(always)]
46973            pub fn clear_bit(self) -> &'a mut W {
46974                self.bit(false)
46975            }
46976            ///Writes raw bits to the field
46977            #[inline(always)]
46978            pub fn bit(self, value: bool) -> &'a mut W {
46979                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
46980                self.w
46981            }
46982        }
46983        ///Reader of field `RTCSEL`
46984        pub type RTCSEL_R = crate::R<u8, u8>;
46985        ///Write proxy for field `RTCSEL`
46986        pub struct RTCSEL_W<'a> {
46987            w: &'a mut W,
46988        }
46989        impl<'a> RTCSEL_W<'a> {
46990            ///Writes raw bits to the field
46991            #[inline(always)]
46992            pub unsafe fn bits(self, value: u8) -> &'a mut W {
46993                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
46994                self.w
46995            }
46996        }
46997        ///Reader of field `LSECSSD_`
46998        pub type LSECSSD__R = crate::R<bool, bool>;
46999        ///Reader of field `LSECSSON`
47000        pub type LSECSSON_R = crate::R<bool, bool>;
47001        ///Write proxy for field `LSECSSON`
47002        pub struct LSECSSON_W<'a> {
47003            w: &'a mut W,
47004        }
47005        impl<'a> LSECSSON_W<'a> {
47006            ///Sets the field bit
47007            #[inline(always)]
47008            pub fn set_bit(self) -> &'a mut W {
47009                self.bit(true)
47010            }
47011            ///Clears the field bit
47012            #[inline(always)]
47013            pub fn clear_bit(self) -> &'a mut W {
47014                self.bit(false)
47015            }
47016            ///Writes raw bits to the field
47017            #[inline(always)]
47018            pub fn bit(self, value: bool) -> &'a mut W {
47019                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
47020                self.w
47021            }
47022        }
47023        ///Reader of field `LSEDRV`
47024        pub type LSEDRV_R = crate::R<u8, u8>;
47025        ///Write proxy for field `LSEDRV`
47026        pub struct LSEDRV_W<'a> {
47027            w: &'a mut W,
47028        }
47029        impl<'a> LSEDRV_W<'a> {
47030            ///Writes raw bits to the field
47031            #[inline(always)]
47032            pub unsafe fn bits(self, value: u8) -> &'a mut W {
47033                self.w.bits = (self.w.bits & !(0x03 << 3)) | (((value as u32) & 0x03) << 3);
47034                self.w
47035            }
47036        }
47037        ///Reader of field `LSEBYP`
47038        pub type LSEBYP_R = crate::R<bool, bool>;
47039        ///Write proxy for field `LSEBYP`
47040        pub struct LSEBYP_W<'a> {
47041            w: &'a mut W,
47042        }
47043        impl<'a> LSEBYP_W<'a> {
47044            ///Sets the field bit
47045            #[inline(always)]
47046            pub fn set_bit(self) -> &'a mut W {
47047                self.bit(true)
47048            }
47049            ///Clears the field bit
47050            #[inline(always)]
47051            pub fn clear_bit(self) -> &'a mut W {
47052                self.bit(false)
47053            }
47054            ///Writes raw bits to the field
47055            #[inline(always)]
47056            pub fn bit(self, value: bool) -> &'a mut W {
47057                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
47058                self.w
47059            }
47060        }
47061        ///Reader of field `LSERDY`
47062        pub type LSERDY_R = crate::R<bool, bool>;
47063        ///Reader of field `LSEON`
47064        pub type LSEON_R = crate::R<bool, bool>;
47065        ///Write proxy for field `LSEON`
47066        pub struct LSEON_W<'a> {
47067            w: &'a mut W,
47068        }
47069        impl<'a> LSEON_W<'a> {
47070            ///Sets the field bit
47071            #[inline(always)]
47072            pub fn set_bit(self) -> &'a mut W {
47073                self.bit(true)
47074            }
47075            ///Clears the field bit
47076            #[inline(always)]
47077            pub fn clear_bit(self) -> &'a mut W {
47078                self.bit(false)
47079            }
47080            ///Writes raw bits to the field
47081            #[inline(always)]
47082            pub fn bit(self, value: bool) -> &'a mut W {
47083                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
47084                self.w
47085            }
47086        }
47087        impl R {
47088            ///Bits 25:26 - Low speed clock output selection
47089            #[inline(always)]
47090            pub fn lscosel(&self) -> LSCOSEL_R {
47091                LSCOSEL_R::new(((self.bits >> 25) & 0x03) as u8)
47092            }
47093            ///Bit 24 - Low speed clock output enable
47094            #[inline(always)]
47095            pub fn lscoen(&self) -> LSCOEN_R {
47096                LSCOEN_R::new(((self.bits >> 24) & 0x01) != 0)
47097            }
47098            ///Bit 16 - Backup domain software reset
47099            #[inline(always)]
47100            pub fn bdrst(&self) -> BDRST_R {
47101                BDRST_R::new(((self.bits >> 16) & 0x01) != 0)
47102            }
47103            ///Bit 15 - RTC clock enable
47104            #[inline(always)]
47105            pub fn rtcen(&self) -> RTCEN_R {
47106                RTCEN_R::new(((self.bits >> 15) & 0x01) != 0)
47107            }
47108            ///Bits 8:9 - RTC clock source selection
47109            #[inline(always)]
47110            pub fn rtcsel(&self) -> RTCSEL_R {
47111                RTCSEL_R::new(((self.bits >> 8) & 0x03) as u8)
47112            }
47113            ///Bit 6 - CSS on LSE failure detection
47114            #[inline(always)]
47115            pub fn lsecssd_(&self) -> LSECSSD__R {
47116                LSECSSD__R::new(((self.bits >> 6) & 0x01) != 0)
47117            }
47118            ///Bit 5 - LSECSSON
47119            #[inline(always)]
47120            pub fn lsecsson(&self) -> LSECSSON_R {
47121                LSECSSON_R::new(((self.bits >> 5) & 0x01) != 0)
47122            }
47123            ///Bits 3:4 - SE oscillator drive capability
47124            #[inline(always)]
47125            pub fn lsedrv(&self) -> LSEDRV_R {
47126                LSEDRV_R::new(((self.bits >> 3) & 0x03) as u8)
47127            }
47128            ///Bit 2 - LSE oscillator bypass
47129            #[inline(always)]
47130            pub fn lsebyp(&self) -> LSEBYP_R {
47131                LSEBYP_R::new(((self.bits >> 2) & 0x01) != 0)
47132            }
47133            ///Bit 1 - LSE oscillator ready
47134            #[inline(always)]
47135            pub fn lserdy(&self) -> LSERDY_R {
47136                LSERDY_R::new(((self.bits >> 1) & 0x01) != 0)
47137            }
47138            ///Bit 0 - LSE oscillator enable
47139            #[inline(always)]
47140            pub fn lseon(&self) -> LSEON_R {
47141                LSEON_R::new((self.bits & 0x01) != 0)
47142            }
47143        }
47144        impl W {
47145            ///Bits 25:26 - Low speed clock output selection
47146            #[inline(always)]
47147            pub fn lscosel(&mut self) -> LSCOSEL_W {
47148                LSCOSEL_W { w: self }
47149            }
47150            ///Bit 24 - Low speed clock output enable
47151            #[inline(always)]
47152            pub fn lscoen(&mut self) -> LSCOEN_W {
47153                LSCOEN_W { w: self }
47154            }
47155            ///Bit 16 - Backup domain software reset
47156            #[inline(always)]
47157            pub fn bdrst(&mut self) -> BDRST_W {
47158                BDRST_W { w: self }
47159            }
47160            ///Bit 15 - RTC clock enable
47161            #[inline(always)]
47162            pub fn rtcen(&mut self) -> RTCEN_W {
47163                RTCEN_W { w: self }
47164            }
47165            ///Bits 8:9 - RTC clock source selection
47166            #[inline(always)]
47167            pub fn rtcsel(&mut self) -> RTCSEL_W {
47168                RTCSEL_W { w: self }
47169            }
47170            ///Bit 5 - LSECSSON
47171            #[inline(always)]
47172            pub fn lsecsson(&mut self) -> LSECSSON_W {
47173                LSECSSON_W { w: self }
47174            }
47175            ///Bits 3:4 - SE oscillator drive capability
47176            #[inline(always)]
47177            pub fn lsedrv(&mut self) -> LSEDRV_W {
47178                LSEDRV_W { w: self }
47179            }
47180            ///Bit 2 - LSE oscillator bypass
47181            #[inline(always)]
47182            pub fn lsebyp(&mut self) -> LSEBYP_W {
47183                LSEBYP_W { w: self }
47184            }
47185            ///Bit 0 - LSE oscillator enable
47186            #[inline(always)]
47187            pub fn lseon(&mut self) -> LSEON_W {
47188                LSEON_W { w: self }
47189            }
47190        }
47191    }
47192    ///CSR
47193    ///
47194    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
47195    ///
47196    ///For information about available fields see [csr](csr) module
47197    pub type CSR = crate::Reg<u32, _CSR>;
47198    #[allow(missing_docs)]
47199    #[doc(hidden)]
47200    pub struct _CSR;
47201    ///`read()` method returns [csr::R](csr::R) reader structure
47202    impl crate::Readable for CSR {}
47203    ///`write(|w| ..)` method takes [csr::W](csr::W) writer structure
47204    impl crate::Writable for CSR {}
47205    ///CSR
47206    pub mod csr {
47207        ///Reader of register CSR
47208        pub type R = crate::R<u32, super::CSR>;
47209        ///Writer for register CSR
47210        pub type W = crate::W<u32, super::CSR>;
47211        ///Register CSR `reset()`'s with value 0x0c00_0000
47212        impl crate::ResetValue for super::CSR {
47213            type Type = u32;
47214            #[inline(always)]
47215            fn reset_value() -> Self::Type {
47216                0x0c00_0000
47217            }
47218        }
47219        ///Reader of field `LPWRRSTF`
47220        pub type LPWRRSTF_R = crate::R<bool, bool>;
47221        ///Reader of field `WWDGRSTF`
47222        pub type WWDGRSTF_R = crate::R<bool, bool>;
47223        ///Reader of field `IWDGRSTF`
47224        pub type IWDGRSTF_R = crate::R<bool, bool>;
47225        ///Reader of field `SFTRSTF`
47226        pub type SFTRSTF_R = crate::R<bool, bool>;
47227        ///Reader of field `BORRSTF`
47228        pub type BORRSTF_R = crate::R<bool, bool>;
47229        ///Reader of field `PINRSTF`
47230        pub type PINRSTF_R = crate::R<bool, bool>;
47231        ///Reader of field `OBLRSTF`
47232        pub type OBLRSTF_R = crate::R<bool, bool>;
47233        ///Reader of field `RMVF`
47234        pub type RMVF_R = crate::R<bool, bool>;
47235        ///Write proxy for field `RMVF`
47236        pub struct RMVF_W<'a> {
47237            w: &'a mut W,
47238        }
47239        impl<'a> RMVF_W<'a> {
47240            ///Sets the field bit
47241            #[inline(always)]
47242            pub fn set_bit(self) -> &'a mut W {
47243                self.bit(true)
47244            }
47245            ///Clears the field bit
47246            #[inline(always)]
47247            pub fn clear_bit(self) -> &'a mut W {
47248                self.bit(false)
47249            }
47250            ///Writes raw bits to the field
47251            #[inline(always)]
47252            pub fn bit(self, value: bool) -> &'a mut W {
47253                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
47254                self.w
47255            }
47256        }
47257        ///Reader of field `RFWKPSEL`
47258        pub type RFWKPSEL_R = crate::R<u8, u8>;
47259        ///Write proxy for field `RFWKPSEL`
47260        pub struct RFWKPSEL_W<'a> {
47261            w: &'a mut W,
47262        }
47263        impl<'a> RFWKPSEL_W<'a> {
47264            ///Writes raw bits to the field
47265            #[inline(always)]
47266            pub unsafe fn bits(self, value: u8) -> &'a mut W {
47267                self.w.bits = (self.w.bits & !(0x03 << 14)) | (((value as u32) & 0x03) << 14);
47268                self.w
47269            }
47270        }
47271        ///Reader of field `LSI2BW`
47272        pub type LSI2BW_R = crate::R<u8, u8>;
47273        ///Write proxy for field `LSI2BW`
47274        pub struct LSI2BW_W<'a> {
47275            w: &'a mut W,
47276        }
47277        impl<'a> LSI2BW_W<'a> {
47278            ///Writes raw bits to the field
47279            #[inline(always)]
47280            pub unsafe fn bits(self, value: u8) -> &'a mut W {
47281                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
47282                self.w
47283            }
47284        }
47285        ///Reader of field `LSI2TRIMOK`
47286        pub type LSI2TRIMOK_R = crate::R<bool, bool>;
47287        ///Reader of field `LSI2TRIMEN`
47288        pub type LSI2TRIMEN_R = crate::R<bool, bool>;
47289        ///Write proxy for field `LSI2TRIMEN`
47290        pub struct LSI2TRIMEN_W<'a> {
47291            w: &'a mut W,
47292        }
47293        impl<'a> LSI2TRIMEN_W<'a> {
47294            ///Sets the field bit
47295            #[inline(always)]
47296            pub fn set_bit(self) -> &'a mut W {
47297                self.bit(true)
47298            }
47299            ///Clears the field bit
47300            #[inline(always)]
47301            pub fn clear_bit(self) -> &'a mut W {
47302                self.bit(false)
47303            }
47304            ///Writes raw bits to the field
47305            #[inline(always)]
47306            pub fn bit(self, value: bool) -> &'a mut W {
47307                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
47308                self.w
47309            }
47310        }
47311        ///Reader of field `LSI2RDY`
47312        pub type LSI2RDY_R = crate::R<bool, bool>;
47313        ///Reader of field `LSI2ON`
47314        pub type LSI2ON_R = crate::R<bool, bool>;
47315        ///Write proxy for field `LSI2ON`
47316        pub struct LSI2ON_W<'a> {
47317            w: &'a mut W,
47318        }
47319        impl<'a> LSI2ON_W<'a> {
47320            ///Sets the field bit
47321            #[inline(always)]
47322            pub fn set_bit(self) -> &'a mut W {
47323                self.bit(true)
47324            }
47325            ///Clears the field bit
47326            #[inline(always)]
47327            pub fn clear_bit(self) -> &'a mut W {
47328                self.bit(false)
47329            }
47330            ///Writes raw bits to the field
47331            #[inline(always)]
47332            pub fn bit(self, value: bool) -> &'a mut W {
47333                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
47334                self.w
47335            }
47336        }
47337        ///Reader of field `LSI1RDY`
47338        pub type LSI1RDY_R = crate::R<bool, bool>;
47339        ///Reader of field `LSI1ON`
47340        pub type LSI1ON_R = crate::R<bool, bool>;
47341        ///Write proxy for field `LSI1ON`
47342        pub struct LSI1ON_W<'a> {
47343            w: &'a mut W,
47344        }
47345        impl<'a> LSI1ON_W<'a> {
47346            ///Sets the field bit
47347            #[inline(always)]
47348            pub fn set_bit(self) -> &'a mut W {
47349                self.bit(true)
47350            }
47351            ///Clears the field bit
47352            #[inline(always)]
47353            pub fn clear_bit(self) -> &'a mut W {
47354                self.bit(false)
47355            }
47356            ///Writes raw bits to the field
47357            #[inline(always)]
47358            pub fn bit(self, value: bool) -> &'a mut W {
47359                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
47360                self.w
47361            }
47362        }
47363        ///Reader of field `RFRSTS`
47364        pub type RFRSTS_R = crate::R<bool, bool>;
47365        impl R {
47366            ///Bit 31 - Low-power reset flag
47367            #[inline(always)]
47368            pub fn lpwrrstf(&self) -> LPWRRSTF_R {
47369                LPWRRSTF_R::new(((self.bits >> 31) & 0x01) != 0)
47370            }
47371            ///Bit 30 - Window watchdog reset flag
47372            #[inline(always)]
47373            pub fn wwdgrstf(&self) -> WWDGRSTF_R {
47374                WWDGRSTF_R::new(((self.bits >> 30) & 0x01) != 0)
47375            }
47376            ///Bit 29 - Independent window watchdog reset flag
47377            #[inline(always)]
47378            pub fn iwdgrstf(&self) -> IWDGRSTF_R {
47379                IWDGRSTF_R::new(((self.bits >> 29) & 0x01) != 0)
47380            }
47381            ///Bit 28 - Software reset flag
47382            #[inline(always)]
47383            pub fn sftrstf(&self) -> SFTRSTF_R {
47384                SFTRSTF_R::new(((self.bits >> 28) & 0x01) != 0)
47385            }
47386            ///Bit 27 - BOR flag
47387            #[inline(always)]
47388            pub fn borrstf(&self) -> BORRSTF_R {
47389                BORRSTF_R::new(((self.bits >> 27) & 0x01) != 0)
47390            }
47391            ///Bit 26 - Pin reset flag
47392            #[inline(always)]
47393            pub fn pinrstf(&self) -> PINRSTF_R {
47394                PINRSTF_R::new(((self.bits >> 26) & 0x01) != 0)
47395            }
47396            ///Bit 25 - Option byte loader reset flag
47397            #[inline(always)]
47398            pub fn oblrstf(&self) -> OBLRSTF_R {
47399                OBLRSTF_R::new(((self.bits >> 25) & 0x01) != 0)
47400            }
47401            ///Bit 23 - Remove reset flag
47402            #[inline(always)]
47403            pub fn rmvf(&self) -> RMVF_R {
47404                RMVF_R::new(((self.bits >> 23) & 0x01) != 0)
47405            }
47406            ///Bits 14:15 - RF system wakeup clock source selection
47407            #[inline(always)]
47408            pub fn rfwkpsel(&self) -> RFWKPSEL_R {
47409                RFWKPSEL_R::new(((self.bits >> 14) & 0x03) as u8)
47410            }
47411            ///Bits 8:11 - LSI2 oscillator bias configuration
47412            #[inline(always)]
47413            pub fn lsi2bw(&self) -> LSI2BW_R {
47414                LSI2BW_R::new(((self.bits >> 8) & 0x0f) as u8)
47415            }
47416            ///Bit 5 - LSI2 oscillator trim OK
47417            #[inline(always)]
47418            pub fn lsi2trimok(&self) -> LSI2TRIMOK_R {
47419                LSI2TRIMOK_R::new(((self.bits >> 5) & 0x01) != 0)
47420            }
47421            ///Bit 4 - LSI2 oscillator trimming enable
47422            #[inline(always)]
47423            pub fn lsi2trimen(&self) -> LSI2TRIMEN_R {
47424                LSI2TRIMEN_R::new(((self.bits >> 4) & 0x01) != 0)
47425            }
47426            ///Bit 3 - LSI2 oscillator ready
47427            #[inline(always)]
47428            pub fn lsi2rdy(&self) -> LSI2RDY_R {
47429                LSI2RDY_R::new(((self.bits >> 3) & 0x01) != 0)
47430            }
47431            ///Bit 2 - LSI2 oscillator enabled
47432            #[inline(always)]
47433            pub fn lsi2on(&self) -> LSI2ON_R {
47434                LSI2ON_R::new(((self.bits >> 2) & 0x01) != 0)
47435            }
47436            ///Bit 1 - LSI1 oscillator ready
47437            #[inline(always)]
47438            pub fn lsi1rdy(&self) -> LSI1RDY_R {
47439                LSI1RDY_R::new(((self.bits >> 1) & 0x01) != 0)
47440            }
47441            ///Bit 0 - LSI1 oscillator enabled
47442            #[inline(always)]
47443            pub fn lsi1on(&self) -> LSI1ON_R {
47444                LSI1ON_R::new((self.bits & 0x01) != 0)
47445            }
47446            ///Bit 16 - Radio system BLE and 802.15.4 reset status
47447            #[inline(always)]
47448            pub fn rfrsts(&self) -> RFRSTS_R {
47449                RFRSTS_R::new(((self.bits >> 16) & 0x01) != 0)
47450            }
47451        }
47452        impl W {
47453            ///Bit 23 - Remove reset flag
47454            #[inline(always)]
47455            pub fn rmvf(&mut self) -> RMVF_W {
47456                RMVF_W { w: self }
47457            }
47458            ///Bits 14:15 - RF system wakeup clock source selection
47459            #[inline(always)]
47460            pub fn rfwkpsel(&mut self) -> RFWKPSEL_W {
47461                RFWKPSEL_W { w: self }
47462            }
47463            ///Bits 8:11 - LSI2 oscillator bias configuration
47464            #[inline(always)]
47465            pub fn lsi2bw(&mut self) -> LSI2BW_W {
47466                LSI2BW_W { w: self }
47467            }
47468            ///Bit 4 - LSI2 oscillator trimming enable
47469            #[inline(always)]
47470            pub fn lsi2trimen(&mut self) -> LSI2TRIMEN_W {
47471                LSI2TRIMEN_W { w: self }
47472            }
47473            ///Bit 2 - LSI2 oscillator enabled
47474            #[inline(always)]
47475            pub fn lsi2on(&mut self) -> LSI2ON_W {
47476                LSI2ON_W { w: self }
47477            }
47478            ///Bit 0 - LSI1 oscillator enabled
47479            #[inline(always)]
47480            pub fn lsi1on(&mut self) -> LSI1ON_W {
47481                LSI1ON_W { w: self }
47482            }
47483        }
47484    }
47485    ///Clock recovery RC register
47486    ///
47487    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
47488    ///
47489    ///For information about available fields see [crrcr](crrcr) module
47490    pub type CRRCR = crate::Reg<u32, _CRRCR>;
47491    #[allow(missing_docs)]
47492    #[doc(hidden)]
47493    pub struct _CRRCR;
47494    ///`read()` method returns [crrcr::R](crrcr::R) reader structure
47495    impl crate::Readable for CRRCR {}
47496    ///`write(|w| ..)` method takes [crrcr::W](crrcr::W) writer structure
47497    impl crate::Writable for CRRCR {}
47498    ///Clock recovery RC register
47499    pub mod crrcr {
47500        ///Reader of register CRRCR
47501        pub type R = crate::R<u32, super::CRRCR>;
47502        ///Writer for register CRRCR
47503        pub type W = crate::W<u32, super::CRRCR>;
47504        ///Register CRRCR `reset()`'s with value 0
47505        impl crate::ResetValue for super::CRRCR {
47506            type Type = u32;
47507            #[inline(always)]
47508            fn reset_value() -> Self::Type {
47509                0
47510            }
47511        }
47512        ///Reader of field `HSI48CAL`
47513        pub type HSI48CAL_R = crate::R<u16, u16>;
47514        ///Reader of field `HSI48RDY`
47515        pub type HSI48RDY_R = crate::R<bool, bool>;
47516        ///Reader of field `HSI48ON`
47517        pub type HSI48ON_R = crate::R<bool, bool>;
47518        ///Write proxy for field `HSI48ON`
47519        pub struct HSI48ON_W<'a> {
47520            w: &'a mut W,
47521        }
47522        impl<'a> HSI48ON_W<'a> {
47523            ///Sets the field bit
47524            #[inline(always)]
47525            pub fn set_bit(self) -> &'a mut W {
47526                self.bit(true)
47527            }
47528            ///Clears the field bit
47529            #[inline(always)]
47530            pub fn clear_bit(self) -> &'a mut W {
47531                self.bit(false)
47532            }
47533            ///Writes raw bits to the field
47534            #[inline(always)]
47535            pub fn bit(self, value: bool) -> &'a mut W {
47536                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
47537                self.w
47538            }
47539        }
47540        impl R {
47541            ///Bits 7:15 - HSI48 clock calibration
47542            #[inline(always)]
47543            pub fn hsi48cal(&self) -> HSI48CAL_R {
47544                HSI48CAL_R::new(((self.bits >> 7) & 0x01ff) as u16)
47545            }
47546            ///Bit 1 - HSI48 clock ready
47547            #[inline(always)]
47548            pub fn hsi48rdy(&self) -> HSI48RDY_R {
47549                HSI48RDY_R::new(((self.bits >> 1) & 0x01) != 0)
47550            }
47551            ///Bit 0 - HSI48 oscillator enabled
47552            #[inline(always)]
47553            pub fn hsi48on(&self) -> HSI48ON_R {
47554                HSI48ON_R::new((self.bits & 0x01) != 0)
47555            }
47556        }
47557        impl W {
47558            ///Bit 0 - HSI48 oscillator enabled
47559            #[inline(always)]
47560            pub fn hsi48on(&mut self) -> HSI48ON_W {
47561                HSI48ON_W { w: self }
47562            }
47563        }
47564    }
47565    ///Clock HSE register
47566    ///
47567    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
47568    ///
47569    ///For information about available fields see [hsecr](hsecr) module
47570    pub type HSECR = crate::Reg<u32, _HSECR>;
47571    #[allow(missing_docs)]
47572    #[doc(hidden)]
47573    pub struct _HSECR;
47574    ///`read()` method returns [hsecr::R](hsecr::R) reader structure
47575    impl crate::Readable for HSECR {}
47576    ///`write(|w| ..)` method takes [hsecr::W](hsecr::W) writer structure
47577    impl crate::Writable for HSECR {}
47578    ///Clock HSE register
47579    pub mod hsecr {
47580        ///Reader of register HSECR
47581        pub type R = crate::R<u32, super::HSECR>;
47582        ///Writer for register HSECR
47583        pub type W = crate::W<u32, super::HSECR>;
47584        ///Register HSECR `reset()`'s with value 0x30
47585        impl crate::ResetValue for super::HSECR {
47586            type Type = u32;
47587            #[inline(always)]
47588            fn reset_value() -> Self::Type {
47589                0x30
47590            }
47591        }
47592        ///Reader of field `HSETUNE`
47593        pub type HSETUNE_R = crate::R<u8, u8>;
47594        ///Reader of field `HSEGMC`
47595        pub type HSEGMC_R = crate::R<u8, u8>;
47596        ///Write proxy for field `HSEGMC`
47597        pub struct HSEGMC_W<'a> {
47598            w: &'a mut W,
47599        }
47600        impl<'a> HSEGMC_W<'a> {
47601            ///Writes raw bits to the field
47602            #[inline(always)]
47603            pub unsafe fn bits(self, value: u8) -> &'a mut W {
47604                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
47605                self.w
47606            }
47607        }
47608        ///Reader of field `HSES`
47609        pub type HSES_R = crate::R<bool, bool>;
47610        ///Write proxy for field `HSES`
47611        pub struct HSES_W<'a> {
47612            w: &'a mut W,
47613        }
47614        impl<'a> HSES_W<'a> {
47615            ///Sets the field bit
47616            #[inline(always)]
47617            pub fn set_bit(self) -> &'a mut W {
47618                self.bit(true)
47619            }
47620            ///Clears the field bit
47621            #[inline(always)]
47622            pub fn clear_bit(self) -> &'a mut W {
47623                self.bit(false)
47624            }
47625            ///Writes raw bits to the field
47626            #[inline(always)]
47627            pub fn bit(self, value: bool) -> &'a mut W {
47628                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
47629                self.w
47630            }
47631        }
47632        ///Reader of field `UNLOCKED`
47633        pub type UNLOCKED_R = crate::R<bool, bool>;
47634        ///Write proxy for field `UNLOCKED`
47635        pub struct UNLOCKED_W<'a> {
47636            w: &'a mut W,
47637        }
47638        impl<'a> UNLOCKED_W<'a> {
47639            ///Sets the field bit
47640            #[inline(always)]
47641            pub fn set_bit(self) -> &'a mut W {
47642                self.bit(true)
47643            }
47644            ///Clears the field bit
47645            #[inline(always)]
47646            pub fn clear_bit(self) -> &'a mut W {
47647                self.bit(false)
47648            }
47649            ///Writes raw bits to the field
47650            #[inline(always)]
47651            pub fn bit(self, value: bool) -> &'a mut W {
47652                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
47653                self.w
47654            }
47655        }
47656        impl R {
47657            ///Bits 8:13 - HSE capacitor tuning
47658            #[inline(always)]
47659            pub fn hsetune(&self) -> HSETUNE_R {
47660                HSETUNE_R::new(((self.bits >> 8) & 0x3f) as u8)
47661            }
47662            ///Bits 4:6 - HSE current control
47663            #[inline(always)]
47664            pub fn hsegmc(&self) -> HSEGMC_R {
47665                HSEGMC_R::new(((self.bits >> 4) & 0x07) as u8)
47666            }
47667            ///Bit 3 - HSE Sense amplifier threshold
47668            #[inline(always)]
47669            pub fn hses(&self) -> HSES_R {
47670                HSES_R::new(((self.bits >> 3) & 0x01) != 0)
47671            }
47672            ///Bit 0 - Register lock system
47673            #[inline(always)]
47674            pub fn unlocked(&self) -> UNLOCKED_R {
47675                UNLOCKED_R::new((self.bits & 0x01) != 0)
47676            }
47677        }
47678        impl W {
47679            ///Bits 4:6 - HSE current control
47680            #[inline(always)]
47681            pub fn hsegmc(&mut self) -> HSEGMC_W {
47682                HSEGMC_W { w: self }
47683            }
47684            ///Bit 3 - HSE Sense amplifier threshold
47685            #[inline(always)]
47686            pub fn hses(&mut self) -> HSES_W {
47687                HSES_W { w: self }
47688            }
47689            ///Bit 0 - Register lock system
47690            #[inline(always)]
47691            pub fn unlocked(&mut self) -> UNLOCKED_W {
47692                UNLOCKED_W { w: self }
47693            }
47694        }
47695    }
47696    ///Extended clock recovery register
47697    ///
47698    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
47699    ///
47700    ///For information about available fields see [extcfgr](extcfgr) module
47701    pub type EXTCFGR = crate::Reg<u32, _EXTCFGR>;
47702    #[allow(missing_docs)]
47703    #[doc(hidden)]
47704    pub struct _EXTCFGR;
47705    ///`read()` method returns [extcfgr::R](extcfgr::R) reader structure
47706    impl crate::Readable for EXTCFGR {}
47707    ///`write(|w| ..)` method takes [extcfgr::W](extcfgr::W) writer structure
47708    impl crate::Writable for EXTCFGR {}
47709    ///Extended clock recovery register
47710    pub mod extcfgr {
47711        ///Reader of register EXTCFGR
47712        pub type R = crate::R<u32, super::EXTCFGR>;
47713        ///Writer for register EXTCFGR
47714        pub type W = crate::W<u32, super::EXTCFGR>;
47715        ///Register EXTCFGR `reset()`'s with value 0x0003_0000
47716        impl crate::ResetValue for super::EXTCFGR {
47717            type Type = u32;
47718            #[inline(always)]
47719            fn reset_value() -> Self::Type {
47720                0x0003_0000
47721            }
47722        }
47723        ///Reader of field `RFCSS`
47724        pub type RFCSS_R = crate::R<bool, bool>;
47725        ///Reader of field `C2HPREF`
47726        pub type C2HPREF_R = crate::R<bool, bool>;
47727        ///Reader of field `SHDHPREF`
47728        pub type SHDHPREF_R = crate::R<bool, bool>;
47729        ///Reader of field `C2HPRE`
47730        pub type C2HPRE_R = crate::R<u8, u8>;
47731        ///Write proxy for field `C2HPRE`
47732        pub struct C2HPRE_W<'a> {
47733            w: &'a mut W,
47734        }
47735        impl<'a> C2HPRE_W<'a> {
47736            ///Writes raw bits to the field
47737            #[inline(always)]
47738            pub unsafe fn bits(self, value: u8) -> &'a mut W {
47739                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
47740                self.w
47741            }
47742        }
47743        ///Reader of field `SHDHPRE`
47744        pub type SHDHPRE_R = crate::R<u8, u8>;
47745        ///Write proxy for field `SHDHPRE`
47746        pub struct SHDHPRE_W<'a> {
47747            w: &'a mut W,
47748        }
47749        impl<'a> SHDHPRE_W<'a> {
47750            ///Writes raw bits to the field
47751            #[inline(always)]
47752            pub unsafe fn bits(self, value: u8) -> &'a mut W {
47753                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
47754                self.w
47755            }
47756        }
47757        impl R {
47758            ///Bit 20 - RF clock source selected
47759            #[inline(always)]
47760            pub fn rfcss(&self) -> RFCSS_R {
47761                RFCSS_R::new(((self.bits >> 20) & 0x01) != 0)
47762            }
47763            ///Bit 17 - CPU2 AHB prescaler flag
47764            #[inline(always)]
47765            pub fn c2hpref(&self) -> C2HPREF_R {
47766                C2HPREF_R::new(((self.bits >> 17) & 0x01) != 0)
47767            }
47768            ///Bit 16 - Shared AHB prescaler flag
47769            #[inline(always)]
47770            pub fn shdhpref(&self) -> SHDHPREF_R {
47771                SHDHPREF_R::new(((self.bits >> 16) & 0x01) != 0)
47772            }
47773            ///Bits 4:7 - CPU2 AHB prescaler
47774            #[inline(always)]
47775            pub fn c2hpre(&self) -> C2HPRE_R {
47776                C2HPRE_R::new(((self.bits >> 4) & 0x0f) as u8)
47777            }
47778            ///Bits 0:3 - Shared AHB prescaler
47779            #[inline(always)]
47780            pub fn shdhpre(&self) -> SHDHPRE_R {
47781                SHDHPRE_R::new((self.bits & 0x0f) as u8)
47782            }
47783        }
47784        impl W {
47785            ///Bits 4:7 - CPU2 AHB prescaler
47786            #[inline(always)]
47787            pub fn c2hpre(&mut self) -> C2HPRE_W {
47788                C2HPRE_W { w: self }
47789            }
47790            ///Bits 0:3 - Shared AHB prescaler
47791            #[inline(always)]
47792            pub fn shdhpre(&mut self) -> SHDHPRE_W {
47793                SHDHPRE_W { w: self }
47794            }
47795        }
47796    }
47797    ///CPU2 AHB1 peripheral clock enable register
47798    ///
47799    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
47800    ///
47801    ///For information about available fields see [c2ahb1enr](c2ahb1enr) module
47802    pub type C2AHB1ENR = crate::Reg<u32, _C2AHB1ENR>;
47803    #[allow(missing_docs)]
47804    #[doc(hidden)]
47805    pub struct _C2AHB1ENR;
47806    ///`read()` method returns [c2ahb1enr::R](c2ahb1enr::R) reader structure
47807    impl crate::Readable for C2AHB1ENR {}
47808    ///`write(|w| ..)` method takes [c2ahb1enr::W](c2ahb1enr::W) writer structure
47809    impl crate::Writable for C2AHB1ENR {}
47810    ///CPU2 AHB1 peripheral clock enable register
47811    pub mod c2ahb1enr {
47812        ///Reader of register C2AHB1ENR
47813        pub type R = crate::R<u32, super::C2AHB1ENR>;
47814        ///Writer for register C2AHB1ENR
47815        pub type W = crate::W<u32, super::C2AHB1ENR>;
47816        ///Register C2AHB1ENR `reset()`'s with value 0
47817        impl crate::ResetValue for super::C2AHB1ENR {
47818            type Type = u32;
47819            #[inline(always)]
47820            fn reset_value() -> Self::Type {
47821                0
47822            }
47823        }
47824        ///Reader of field `TSCEN`
47825        pub type TSCEN_R = crate::R<bool, bool>;
47826        ///Write proxy for field `TSCEN`
47827        pub struct TSCEN_W<'a> {
47828            w: &'a mut W,
47829        }
47830        impl<'a> TSCEN_W<'a> {
47831            ///Sets the field bit
47832            #[inline(always)]
47833            pub fn set_bit(self) -> &'a mut W {
47834                self.bit(true)
47835            }
47836            ///Clears the field bit
47837            #[inline(always)]
47838            pub fn clear_bit(self) -> &'a mut W {
47839                self.bit(false)
47840            }
47841            ///Writes raw bits to the field
47842            #[inline(always)]
47843            pub fn bit(self, value: bool) -> &'a mut W {
47844                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
47845                self.w
47846            }
47847        }
47848        ///Reader of field `CRCEN`
47849        pub type CRCEN_R = crate::R<bool, bool>;
47850        ///Write proxy for field `CRCEN`
47851        pub struct CRCEN_W<'a> {
47852            w: &'a mut W,
47853        }
47854        impl<'a> CRCEN_W<'a> {
47855            ///Sets the field bit
47856            #[inline(always)]
47857            pub fn set_bit(self) -> &'a mut W {
47858                self.bit(true)
47859            }
47860            ///Clears the field bit
47861            #[inline(always)]
47862            pub fn clear_bit(self) -> &'a mut W {
47863                self.bit(false)
47864            }
47865            ///Writes raw bits to the field
47866            #[inline(always)]
47867            pub fn bit(self, value: bool) -> &'a mut W {
47868                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
47869                self.w
47870            }
47871        }
47872        ///Reader of field `SRAM1EN`
47873        pub type SRAM1EN_R = crate::R<bool, bool>;
47874        ///Write proxy for field `SRAM1EN`
47875        pub struct SRAM1EN_W<'a> {
47876            w: &'a mut W,
47877        }
47878        impl<'a> SRAM1EN_W<'a> {
47879            ///Sets the field bit
47880            #[inline(always)]
47881            pub fn set_bit(self) -> &'a mut W {
47882                self.bit(true)
47883            }
47884            ///Clears the field bit
47885            #[inline(always)]
47886            pub fn clear_bit(self) -> &'a mut W {
47887                self.bit(false)
47888            }
47889            ///Writes raw bits to the field
47890            #[inline(always)]
47891            pub fn bit(self, value: bool) -> &'a mut W {
47892                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
47893                self.w
47894            }
47895        }
47896        ///Reader of field `DMAMUXEN`
47897        pub type DMAMUXEN_R = crate::R<bool, bool>;
47898        ///Write proxy for field `DMAMUXEN`
47899        pub struct DMAMUXEN_W<'a> {
47900            w: &'a mut W,
47901        }
47902        impl<'a> DMAMUXEN_W<'a> {
47903            ///Sets the field bit
47904            #[inline(always)]
47905            pub fn set_bit(self) -> &'a mut W {
47906                self.bit(true)
47907            }
47908            ///Clears the field bit
47909            #[inline(always)]
47910            pub fn clear_bit(self) -> &'a mut W {
47911                self.bit(false)
47912            }
47913            ///Writes raw bits to the field
47914            #[inline(always)]
47915            pub fn bit(self, value: bool) -> &'a mut W {
47916                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
47917                self.w
47918            }
47919        }
47920        ///Reader of field `DMA2EN`
47921        pub type DMA2EN_R = crate::R<bool, bool>;
47922        ///Write proxy for field `DMA2EN`
47923        pub struct DMA2EN_W<'a> {
47924            w: &'a mut W,
47925        }
47926        impl<'a> DMA2EN_W<'a> {
47927            ///Sets the field bit
47928            #[inline(always)]
47929            pub fn set_bit(self) -> &'a mut W {
47930                self.bit(true)
47931            }
47932            ///Clears the field bit
47933            #[inline(always)]
47934            pub fn clear_bit(self) -> &'a mut W {
47935                self.bit(false)
47936            }
47937            ///Writes raw bits to the field
47938            #[inline(always)]
47939            pub fn bit(self, value: bool) -> &'a mut W {
47940                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
47941                self.w
47942            }
47943        }
47944        ///Reader of field `DMA1EN`
47945        pub type DMA1EN_R = crate::R<bool, bool>;
47946        ///Write proxy for field `DMA1EN`
47947        pub struct DMA1EN_W<'a> {
47948            w: &'a mut W,
47949        }
47950        impl<'a> DMA1EN_W<'a> {
47951            ///Sets the field bit
47952            #[inline(always)]
47953            pub fn set_bit(self) -> &'a mut W {
47954                self.bit(true)
47955            }
47956            ///Clears the field bit
47957            #[inline(always)]
47958            pub fn clear_bit(self) -> &'a mut W {
47959                self.bit(false)
47960            }
47961            ///Writes raw bits to the field
47962            #[inline(always)]
47963            pub fn bit(self, value: bool) -> &'a mut W {
47964                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
47965                self.w
47966            }
47967        }
47968        impl R {
47969            ///Bit 16 - CPU2 Touch Sensing Controller clock enable
47970            #[inline(always)]
47971            pub fn tscen(&self) -> TSCEN_R {
47972                TSCEN_R::new(((self.bits >> 16) & 0x01) != 0)
47973            }
47974            ///Bit 12 - CPU2 CRC clock enable
47975            #[inline(always)]
47976            pub fn crcen(&self) -> CRCEN_R {
47977                CRCEN_R::new(((self.bits >> 12) & 0x01) != 0)
47978            }
47979            ///Bit 9 - CPU2 SRAM1 clock enable
47980            #[inline(always)]
47981            pub fn sram1en(&self) -> SRAM1EN_R {
47982                SRAM1EN_R::new(((self.bits >> 9) & 0x01) != 0)
47983            }
47984            ///Bit 2 - CPU2 DMAMUX clock enable
47985            #[inline(always)]
47986            pub fn dmamuxen(&self) -> DMAMUXEN_R {
47987                DMAMUXEN_R::new(((self.bits >> 2) & 0x01) != 0)
47988            }
47989            ///Bit 1 - CPU2 DMA2 clock enable
47990            #[inline(always)]
47991            pub fn dma2en(&self) -> DMA2EN_R {
47992                DMA2EN_R::new(((self.bits >> 1) & 0x01) != 0)
47993            }
47994            ///Bit 0 - CPU2 DMA1 clock enable
47995            #[inline(always)]
47996            pub fn dma1en(&self) -> DMA1EN_R {
47997                DMA1EN_R::new((self.bits & 0x01) != 0)
47998            }
47999        }
48000        impl W {
48001            ///Bit 16 - CPU2 Touch Sensing Controller clock enable
48002            #[inline(always)]
48003            pub fn tscen(&mut self) -> TSCEN_W {
48004                TSCEN_W { w: self }
48005            }
48006            ///Bit 12 - CPU2 CRC clock enable
48007            #[inline(always)]
48008            pub fn crcen(&mut self) -> CRCEN_W {
48009                CRCEN_W { w: self }
48010            }
48011            ///Bit 9 - CPU2 SRAM1 clock enable
48012            #[inline(always)]
48013            pub fn sram1en(&mut self) -> SRAM1EN_W {
48014                SRAM1EN_W { w: self }
48015            }
48016            ///Bit 2 - CPU2 DMAMUX clock enable
48017            #[inline(always)]
48018            pub fn dmamuxen(&mut self) -> DMAMUXEN_W {
48019                DMAMUXEN_W { w: self }
48020            }
48021            ///Bit 1 - CPU2 DMA2 clock enable
48022            #[inline(always)]
48023            pub fn dma2en(&mut self) -> DMA2EN_W {
48024                DMA2EN_W { w: self }
48025            }
48026            ///Bit 0 - CPU2 DMA1 clock enable
48027            #[inline(always)]
48028            pub fn dma1en(&mut self) -> DMA1EN_W {
48029                DMA1EN_W { w: self }
48030            }
48031        }
48032    }
48033    ///CPU2 AHB2 peripheral clock enable register
48034    ///
48035    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
48036    ///
48037    ///For information about available fields see [c2ahb2enr](c2ahb2enr) module
48038    pub type C2AHB2ENR = crate::Reg<u32, _C2AHB2ENR>;
48039    #[allow(missing_docs)]
48040    #[doc(hidden)]
48041    pub struct _C2AHB2ENR;
48042    ///`read()` method returns [c2ahb2enr::R](c2ahb2enr::R) reader structure
48043    impl crate::Readable for C2AHB2ENR {}
48044    ///`write(|w| ..)` method takes [c2ahb2enr::W](c2ahb2enr::W) writer structure
48045    impl crate::Writable for C2AHB2ENR {}
48046    ///CPU2 AHB2 peripheral clock enable register
48047    pub mod c2ahb2enr {
48048        ///Reader of register C2AHB2ENR
48049        pub type R = crate::R<u32, super::C2AHB2ENR>;
48050        ///Writer for register C2AHB2ENR
48051        pub type W = crate::W<u32, super::C2AHB2ENR>;
48052        ///Register C2AHB2ENR `reset()`'s with value 0
48053        impl crate::ResetValue for super::C2AHB2ENR {
48054            type Type = u32;
48055            #[inline(always)]
48056            fn reset_value() -> Self::Type {
48057                0
48058            }
48059        }
48060        ///Reader of field `AES1EN`
48061        pub type AES1EN_R = crate::R<bool, bool>;
48062        ///Write proxy for field `AES1EN`
48063        pub struct AES1EN_W<'a> {
48064            w: &'a mut W,
48065        }
48066        impl<'a> AES1EN_W<'a> {
48067            ///Sets the field bit
48068            #[inline(always)]
48069            pub fn set_bit(self) -> &'a mut W {
48070                self.bit(true)
48071            }
48072            ///Clears the field bit
48073            #[inline(always)]
48074            pub fn clear_bit(self) -> &'a mut W {
48075                self.bit(false)
48076            }
48077            ///Writes raw bits to the field
48078            #[inline(always)]
48079            pub fn bit(self, value: bool) -> &'a mut W {
48080                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
48081                self.w
48082            }
48083        }
48084        ///Reader of field `ADCEN`
48085        pub type ADCEN_R = crate::R<bool, bool>;
48086        ///Write proxy for field `ADCEN`
48087        pub struct ADCEN_W<'a> {
48088            w: &'a mut W,
48089        }
48090        impl<'a> ADCEN_W<'a> {
48091            ///Sets the field bit
48092            #[inline(always)]
48093            pub fn set_bit(self) -> &'a mut W {
48094                self.bit(true)
48095            }
48096            ///Clears the field bit
48097            #[inline(always)]
48098            pub fn clear_bit(self) -> &'a mut W {
48099                self.bit(false)
48100            }
48101            ///Writes raw bits to the field
48102            #[inline(always)]
48103            pub fn bit(self, value: bool) -> &'a mut W {
48104                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
48105                self.w
48106            }
48107        }
48108        ///Reader of field `GPIOHEN`
48109        pub type GPIOHEN_R = crate::R<bool, bool>;
48110        ///Write proxy for field `GPIOHEN`
48111        pub struct GPIOHEN_W<'a> {
48112            w: &'a mut W,
48113        }
48114        impl<'a> GPIOHEN_W<'a> {
48115            ///Sets the field bit
48116            #[inline(always)]
48117            pub fn set_bit(self) -> &'a mut W {
48118                self.bit(true)
48119            }
48120            ///Clears the field bit
48121            #[inline(always)]
48122            pub fn clear_bit(self) -> &'a mut W {
48123                self.bit(false)
48124            }
48125            ///Writes raw bits to the field
48126            #[inline(always)]
48127            pub fn bit(self, value: bool) -> &'a mut W {
48128                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
48129                self.w
48130            }
48131        }
48132        ///Reader of field `GPIOEEN`
48133        pub type GPIOEEN_R = crate::R<bool, bool>;
48134        ///Write proxy for field `GPIOEEN`
48135        pub struct GPIOEEN_W<'a> {
48136            w: &'a mut W,
48137        }
48138        impl<'a> GPIOEEN_W<'a> {
48139            ///Sets the field bit
48140            #[inline(always)]
48141            pub fn set_bit(self) -> &'a mut W {
48142                self.bit(true)
48143            }
48144            ///Clears the field bit
48145            #[inline(always)]
48146            pub fn clear_bit(self) -> &'a mut W {
48147                self.bit(false)
48148            }
48149            ///Writes raw bits to the field
48150            #[inline(always)]
48151            pub fn bit(self, value: bool) -> &'a mut W {
48152                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
48153                self.w
48154            }
48155        }
48156        ///Reader of field `GPIODEN`
48157        pub type GPIODEN_R = crate::R<bool, bool>;
48158        ///Write proxy for field `GPIODEN`
48159        pub struct GPIODEN_W<'a> {
48160            w: &'a mut W,
48161        }
48162        impl<'a> GPIODEN_W<'a> {
48163            ///Sets the field bit
48164            #[inline(always)]
48165            pub fn set_bit(self) -> &'a mut W {
48166                self.bit(true)
48167            }
48168            ///Clears the field bit
48169            #[inline(always)]
48170            pub fn clear_bit(self) -> &'a mut W {
48171                self.bit(false)
48172            }
48173            ///Writes raw bits to the field
48174            #[inline(always)]
48175            pub fn bit(self, value: bool) -> &'a mut W {
48176                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
48177                self.w
48178            }
48179        }
48180        ///Reader of field `GPIOCEN`
48181        pub type GPIOCEN_R = crate::R<bool, bool>;
48182        ///Write proxy for field `GPIOCEN`
48183        pub struct GPIOCEN_W<'a> {
48184            w: &'a mut W,
48185        }
48186        impl<'a> GPIOCEN_W<'a> {
48187            ///Sets the field bit
48188            #[inline(always)]
48189            pub fn set_bit(self) -> &'a mut W {
48190                self.bit(true)
48191            }
48192            ///Clears the field bit
48193            #[inline(always)]
48194            pub fn clear_bit(self) -> &'a mut W {
48195                self.bit(false)
48196            }
48197            ///Writes raw bits to the field
48198            #[inline(always)]
48199            pub fn bit(self, value: bool) -> &'a mut W {
48200                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
48201                self.w
48202            }
48203        }
48204        ///Reader of field `GPIOBEN`
48205        pub type GPIOBEN_R = crate::R<bool, bool>;
48206        ///Write proxy for field `GPIOBEN`
48207        pub struct GPIOBEN_W<'a> {
48208            w: &'a mut W,
48209        }
48210        impl<'a> GPIOBEN_W<'a> {
48211            ///Sets the field bit
48212            #[inline(always)]
48213            pub fn set_bit(self) -> &'a mut W {
48214                self.bit(true)
48215            }
48216            ///Clears the field bit
48217            #[inline(always)]
48218            pub fn clear_bit(self) -> &'a mut W {
48219                self.bit(false)
48220            }
48221            ///Writes raw bits to the field
48222            #[inline(always)]
48223            pub fn bit(self, value: bool) -> &'a mut W {
48224                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
48225                self.w
48226            }
48227        }
48228        ///Reader of field `GPIOAEN`
48229        pub type GPIOAEN_R = crate::R<bool, bool>;
48230        ///Write proxy for field `GPIOAEN`
48231        pub struct GPIOAEN_W<'a> {
48232            w: &'a mut W,
48233        }
48234        impl<'a> GPIOAEN_W<'a> {
48235            ///Sets the field bit
48236            #[inline(always)]
48237            pub fn set_bit(self) -> &'a mut W {
48238                self.bit(true)
48239            }
48240            ///Clears the field bit
48241            #[inline(always)]
48242            pub fn clear_bit(self) -> &'a mut W {
48243                self.bit(false)
48244            }
48245            ///Writes raw bits to the field
48246            #[inline(always)]
48247            pub fn bit(self, value: bool) -> &'a mut W {
48248                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
48249                self.w
48250            }
48251        }
48252        impl R {
48253            ///Bit 16 - CPU2 AES1 accelerator clock enable
48254            #[inline(always)]
48255            pub fn aes1en(&self) -> AES1EN_R {
48256                AES1EN_R::new(((self.bits >> 16) & 0x01) != 0)
48257            }
48258            ///Bit 13 - CPU2 ADC clock enable
48259            #[inline(always)]
48260            pub fn adcen(&self) -> ADCEN_R {
48261                ADCEN_R::new(((self.bits >> 13) & 0x01) != 0)
48262            }
48263            ///Bit 7 - CPU2 IO port H clock enable
48264            #[inline(always)]
48265            pub fn gpiohen(&self) -> GPIOHEN_R {
48266                GPIOHEN_R::new(((self.bits >> 7) & 0x01) != 0)
48267            }
48268            ///Bit 4 - CPU2 IO port E clock enable
48269            #[inline(always)]
48270            pub fn gpioeen(&self) -> GPIOEEN_R {
48271                GPIOEEN_R::new(((self.bits >> 4) & 0x01) != 0)
48272            }
48273            ///Bit 3 - CPU2 IO port D clock enable
48274            #[inline(always)]
48275            pub fn gpioden(&self) -> GPIODEN_R {
48276                GPIODEN_R::new(((self.bits >> 3) & 0x01) != 0)
48277            }
48278            ///Bit 2 - CPU2 IO port C clock enable
48279            #[inline(always)]
48280            pub fn gpiocen(&self) -> GPIOCEN_R {
48281                GPIOCEN_R::new(((self.bits >> 2) & 0x01) != 0)
48282            }
48283            ///Bit 1 - CPU2 IO port B clock enable
48284            #[inline(always)]
48285            pub fn gpioben(&self) -> GPIOBEN_R {
48286                GPIOBEN_R::new(((self.bits >> 1) & 0x01) != 0)
48287            }
48288            ///Bit 0 - CPU2 IO port A clock enable
48289            #[inline(always)]
48290            pub fn gpioaen(&self) -> GPIOAEN_R {
48291                GPIOAEN_R::new((self.bits & 0x01) != 0)
48292            }
48293        }
48294        impl W {
48295            ///Bit 16 - CPU2 AES1 accelerator clock enable
48296            #[inline(always)]
48297            pub fn aes1en(&mut self) -> AES1EN_W {
48298                AES1EN_W { w: self }
48299            }
48300            ///Bit 13 - CPU2 ADC clock enable
48301            #[inline(always)]
48302            pub fn adcen(&mut self) -> ADCEN_W {
48303                ADCEN_W { w: self }
48304            }
48305            ///Bit 7 - CPU2 IO port H clock enable
48306            #[inline(always)]
48307            pub fn gpiohen(&mut self) -> GPIOHEN_W {
48308                GPIOHEN_W { w: self }
48309            }
48310            ///Bit 4 - CPU2 IO port E clock enable
48311            #[inline(always)]
48312            pub fn gpioeen(&mut self) -> GPIOEEN_W {
48313                GPIOEEN_W { w: self }
48314            }
48315            ///Bit 3 - CPU2 IO port D clock enable
48316            #[inline(always)]
48317            pub fn gpioden(&mut self) -> GPIODEN_W {
48318                GPIODEN_W { w: self }
48319            }
48320            ///Bit 2 - CPU2 IO port C clock enable
48321            #[inline(always)]
48322            pub fn gpiocen(&mut self) -> GPIOCEN_W {
48323                GPIOCEN_W { w: self }
48324            }
48325            ///Bit 1 - CPU2 IO port B clock enable
48326            #[inline(always)]
48327            pub fn gpioben(&mut self) -> GPIOBEN_W {
48328                GPIOBEN_W { w: self }
48329            }
48330            ///Bit 0 - CPU2 IO port A clock enable
48331            #[inline(always)]
48332            pub fn gpioaen(&mut self) -> GPIOAEN_W {
48333                GPIOAEN_W { w: self }
48334            }
48335        }
48336    }
48337    ///CPU2 AHB3 peripheral clock enable register
48338    ///
48339    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
48340    ///
48341    ///For information about available fields see [c2ahb3enr](c2ahb3enr) module
48342    pub type C2AHB3ENR = crate::Reg<u32, _C2AHB3ENR>;
48343    #[allow(missing_docs)]
48344    #[doc(hidden)]
48345    pub struct _C2AHB3ENR;
48346    ///`read()` method returns [c2ahb3enr::R](c2ahb3enr::R) reader structure
48347    impl crate::Readable for C2AHB3ENR {}
48348    ///`write(|w| ..)` method takes [c2ahb3enr::W](c2ahb3enr::W) writer structure
48349    impl crate::Writable for C2AHB3ENR {}
48350    ///CPU2 AHB3 peripheral clock enable register
48351    pub mod c2ahb3enr {
48352        ///Reader of register C2AHB3ENR
48353        pub type R = crate::R<u32, super::C2AHB3ENR>;
48354        ///Writer for register C2AHB3ENR
48355        pub type W = crate::W<u32, super::C2AHB3ENR>;
48356        ///Register C2AHB3ENR `reset()`'s with value 0x0208_0000
48357        impl crate::ResetValue for super::C2AHB3ENR {
48358            type Type = u32;
48359            #[inline(always)]
48360            fn reset_value() -> Self::Type {
48361                0x0208_0000
48362            }
48363        }
48364        ///Reader of field `FLASHEN`
48365        pub type FLASHEN_R = crate::R<bool, bool>;
48366        ///Write proxy for field `FLASHEN`
48367        pub struct FLASHEN_W<'a> {
48368            w: &'a mut W,
48369        }
48370        impl<'a> FLASHEN_W<'a> {
48371            ///Sets the field bit
48372            #[inline(always)]
48373            pub fn set_bit(self) -> &'a mut W {
48374                self.bit(true)
48375            }
48376            ///Clears the field bit
48377            #[inline(always)]
48378            pub fn clear_bit(self) -> &'a mut W {
48379                self.bit(false)
48380            }
48381            ///Writes raw bits to the field
48382            #[inline(always)]
48383            pub fn bit(self, value: bool) -> &'a mut W {
48384                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
48385                self.w
48386            }
48387        }
48388        ///Reader of field `IPCCEN`
48389        pub type IPCCEN_R = crate::R<bool, bool>;
48390        ///Write proxy for field `IPCCEN`
48391        pub struct IPCCEN_W<'a> {
48392            w: &'a mut W,
48393        }
48394        impl<'a> IPCCEN_W<'a> {
48395            ///Sets the field bit
48396            #[inline(always)]
48397            pub fn set_bit(self) -> &'a mut W {
48398                self.bit(true)
48399            }
48400            ///Clears the field bit
48401            #[inline(always)]
48402            pub fn clear_bit(self) -> &'a mut W {
48403                self.bit(false)
48404            }
48405            ///Writes raw bits to the field
48406            #[inline(always)]
48407            pub fn bit(self, value: bool) -> &'a mut W {
48408                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
48409                self.w
48410            }
48411        }
48412        ///Reader of field `HSEMEN`
48413        pub type HSEMEN_R = crate::R<bool, bool>;
48414        ///Write proxy for field `HSEMEN`
48415        pub struct HSEMEN_W<'a> {
48416            w: &'a mut W,
48417        }
48418        impl<'a> HSEMEN_W<'a> {
48419            ///Sets the field bit
48420            #[inline(always)]
48421            pub fn set_bit(self) -> &'a mut W {
48422                self.bit(true)
48423            }
48424            ///Clears the field bit
48425            #[inline(always)]
48426            pub fn clear_bit(self) -> &'a mut W {
48427                self.bit(false)
48428            }
48429            ///Writes raw bits to the field
48430            #[inline(always)]
48431            pub fn bit(self, value: bool) -> &'a mut W {
48432                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
48433                self.w
48434            }
48435        }
48436        ///Reader of field `RNGEN`
48437        pub type RNGEN_R = crate::R<bool, bool>;
48438        ///Write proxy for field `RNGEN`
48439        pub struct RNGEN_W<'a> {
48440            w: &'a mut W,
48441        }
48442        impl<'a> RNGEN_W<'a> {
48443            ///Sets the field bit
48444            #[inline(always)]
48445            pub fn set_bit(self) -> &'a mut W {
48446                self.bit(true)
48447            }
48448            ///Clears the field bit
48449            #[inline(always)]
48450            pub fn clear_bit(self) -> &'a mut W {
48451                self.bit(false)
48452            }
48453            ///Writes raw bits to the field
48454            #[inline(always)]
48455            pub fn bit(self, value: bool) -> &'a mut W {
48456                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
48457                self.w
48458            }
48459        }
48460        ///Reader of field `AES2EN`
48461        pub type AES2EN_R = crate::R<bool, bool>;
48462        ///Write proxy for field `AES2EN`
48463        pub struct AES2EN_W<'a> {
48464            w: &'a mut W,
48465        }
48466        impl<'a> AES2EN_W<'a> {
48467            ///Sets the field bit
48468            #[inline(always)]
48469            pub fn set_bit(self) -> &'a mut W {
48470                self.bit(true)
48471            }
48472            ///Clears the field bit
48473            #[inline(always)]
48474            pub fn clear_bit(self) -> &'a mut W {
48475                self.bit(false)
48476            }
48477            ///Writes raw bits to the field
48478            #[inline(always)]
48479            pub fn bit(self, value: bool) -> &'a mut W {
48480                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
48481                self.w
48482            }
48483        }
48484        ///Reader of field `PKAEN`
48485        pub type PKAEN_R = crate::R<bool, bool>;
48486        ///Write proxy for field `PKAEN`
48487        pub struct PKAEN_W<'a> {
48488            w: &'a mut W,
48489        }
48490        impl<'a> PKAEN_W<'a> {
48491            ///Sets the field bit
48492            #[inline(always)]
48493            pub fn set_bit(self) -> &'a mut W {
48494                self.bit(true)
48495            }
48496            ///Clears the field bit
48497            #[inline(always)]
48498            pub fn clear_bit(self) -> &'a mut W {
48499                self.bit(false)
48500            }
48501            ///Writes raw bits to the field
48502            #[inline(always)]
48503            pub fn bit(self, value: bool) -> &'a mut W {
48504                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
48505                self.w
48506            }
48507        }
48508        impl R {
48509            ///Bit 25 - CPU2 FLASHEN
48510            #[inline(always)]
48511            pub fn flashen(&self) -> FLASHEN_R {
48512                FLASHEN_R::new(((self.bits >> 25) & 0x01) != 0)
48513            }
48514            ///Bit 20 - CPU2 IPCCEN
48515            #[inline(always)]
48516            pub fn ipccen(&self) -> IPCCEN_R {
48517                IPCCEN_R::new(((self.bits >> 20) & 0x01) != 0)
48518            }
48519            ///Bit 19 - CPU2 HSEMEN
48520            #[inline(always)]
48521            pub fn hsemen(&self) -> HSEMEN_R {
48522                HSEMEN_R::new(((self.bits >> 19) & 0x01) != 0)
48523            }
48524            ///Bit 18 - CPU2 RNGEN
48525            #[inline(always)]
48526            pub fn rngen(&self) -> RNGEN_R {
48527                RNGEN_R::new(((self.bits >> 18) & 0x01) != 0)
48528            }
48529            ///Bit 17 - CPU2 AES2EN
48530            #[inline(always)]
48531            pub fn aes2en(&self) -> AES2EN_R {
48532                AES2EN_R::new(((self.bits >> 17) & 0x01) != 0)
48533            }
48534            ///Bit 16 - CPU2 PKAEN
48535            #[inline(always)]
48536            pub fn pkaen(&self) -> PKAEN_R {
48537                PKAEN_R::new(((self.bits >> 16) & 0x01) != 0)
48538            }
48539        }
48540        impl W {
48541            ///Bit 25 - CPU2 FLASHEN
48542            #[inline(always)]
48543            pub fn flashen(&mut self) -> FLASHEN_W {
48544                FLASHEN_W { w: self }
48545            }
48546            ///Bit 20 - CPU2 IPCCEN
48547            #[inline(always)]
48548            pub fn ipccen(&mut self) -> IPCCEN_W {
48549                IPCCEN_W { w: self }
48550            }
48551            ///Bit 19 - CPU2 HSEMEN
48552            #[inline(always)]
48553            pub fn hsemen(&mut self) -> HSEMEN_W {
48554                HSEMEN_W { w: self }
48555            }
48556            ///Bit 18 - CPU2 RNGEN
48557            #[inline(always)]
48558            pub fn rngen(&mut self) -> RNGEN_W {
48559                RNGEN_W { w: self }
48560            }
48561            ///Bit 17 - CPU2 AES2EN
48562            #[inline(always)]
48563            pub fn aes2en(&mut self) -> AES2EN_W {
48564                AES2EN_W { w: self }
48565            }
48566            ///Bit 16 - CPU2 PKAEN
48567            #[inline(always)]
48568            pub fn pkaen(&mut self) -> PKAEN_W {
48569                PKAEN_W { w: self }
48570            }
48571        }
48572    }
48573    ///CPU2 APB1ENR1
48574    ///
48575    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
48576    ///
48577    ///For information about available fields see [c2apb1enr1](c2apb1enr1) module
48578    pub type C2APB1ENR1 = crate::Reg<u32, _C2APB1ENR1>;
48579    #[allow(missing_docs)]
48580    #[doc(hidden)]
48581    pub struct _C2APB1ENR1;
48582    ///`read()` method returns [c2apb1enr1::R](c2apb1enr1::R) reader structure
48583    impl crate::Readable for C2APB1ENR1 {}
48584    ///`write(|w| ..)` method takes [c2apb1enr1::W](c2apb1enr1::W) writer structure
48585    impl crate::Writable for C2APB1ENR1 {}
48586    ///CPU2 APB1ENR1
48587    pub mod c2apb1enr1 {
48588        ///Reader of register C2APB1ENR1
48589        pub type R = crate::R<u32, super::C2APB1ENR1>;
48590        ///Writer for register C2APB1ENR1
48591        pub type W = crate::W<u32, super::C2APB1ENR1>;
48592        ///Register C2APB1ENR1 `reset()`'s with value 0x0400
48593        impl crate::ResetValue for super::C2APB1ENR1 {
48594            type Type = u32;
48595            #[inline(always)]
48596            fn reset_value() -> Self::Type {
48597                0x0400
48598            }
48599        }
48600        ///Reader of field `LPTIM1EN`
48601        pub type LPTIM1EN_R = crate::R<bool, bool>;
48602        ///Write proxy for field `LPTIM1EN`
48603        pub struct LPTIM1EN_W<'a> {
48604            w: &'a mut W,
48605        }
48606        impl<'a> LPTIM1EN_W<'a> {
48607            ///Sets the field bit
48608            #[inline(always)]
48609            pub fn set_bit(self) -> &'a mut W {
48610                self.bit(true)
48611            }
48612            ///Clears the field bit
48613            #[inline(always)]
48614            pub fn clear_bit(self) -> &'a mut W {
48615                self.bit(false)
48616            }
48617            ///Writes raw bits to the field
48618            #[inline(always)]
48619            pub fn bit(self, value: bool) -> &'a mut W {
48620                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
48621                self.w
48622            }
48623        }
48624        ///Reader of field `USBEN`
48625        pub type USBEN_R = crate::R<bool, bool>;
48626        ///Write proxy for field `USBEN`
48627        pub struct USBEN_W<'a> {
48628            w: &'a mut W,
48629        }
48630        impl<'a> USBEN_W<'a> {
48631            ///Sets the field bit
48632            #[inline(always)]
48633            pub fn set_bit(self) -> &'a mut W {
48634                self.bit(true)
48635            }
48636            ///Clears the field bit
48637            #[inline(always)]
48638            pub fn clear_bit(self) -> &'a mut W {
48639                self.bit(false)
48640            }
48641            ///Writes raw bits to the field
48642            #[inline(always)]
48643            pub fn bit(self, value: bool) -> &'a mut W {
48644                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
48645                self.w
48646            }
48647        }
48648        ///Reader of field `CRSEN`
48649        pub type CRSEN_R = crate::R<bool, bool>;
48650        ///Write proxy for field `CRSEN`
48651        pub struct CRSEN_W<'a> {
48652            w: &'a mut W,
48653        }
48654        impl<'a> CRSEN_W<'a> {
48655            ///Sets the field bit
48656            #[inline(always)]
48657            pub fn set_bit(self) -> &'a mut W {
48658                self.bit(true)
48659            }
48660            ///Clears the field bit
48661            #[inline(always)]
48662            pub fn clear_bit(self) -> &'a mut W {
48663                self.bit(false)
48664            }
48665            ///Writes raw bits to the field
48666            #[inline(always)]
48667            pub fn bit(self, value: bool) -> &'a mut W {
48668                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
48669                self.w
48670            }
48671        }
48672        ///Reader of field `I2C3EN`
48673        pub type I2C3EN_R = crate::R<bool, bool>;
48674        ///Write proxy for field `I2C3EN`
48675        pub struct I2C3EN_W<'a> {
48676            w: &'a mut W,
48677        }
48678        impl<'a> I2C3EN_W<'a> {
48679            ///Sets the field bit
48680            #[inline(always)]
48681            pub fn set_bit(self) -> &'a mut W {
48682                self.bit(true)
48683            }
48684            ///Clears the field bit
48685            #[inline(always)]
48686            pub fn clear_bit(self) -> &'a mut W {
48687                self.bit(false)
48688            }
48689            ///Writes raw bits to the field
48690            #[inline(always)]
48691            pub fn bit(self, value: bool) -> &'a mut W {
48692                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
48693                self.w
48694            }
48695        }
48696        ///Reader of field `I2C1EN`
48697        pub type I2C1EN_R = crate::R<bool, bool>;
48698        ///Write proxy for field `I2C1EN`
48699        pub struct I2C1EN_W<'a> {
48700            w: &'a mut W,
48701        }
48702        impl<'a> I2C1EN_W<'a> {
48703            ///Sets the field bit
48704            #[inline(always)]
48705            pub fn set_bit(self) -> &'a mut W {
48706                self.bit(true)
48707            }
48708            ///Clears the field bit
48709            #[inline(always)]
48710            pub fn clear_bit(self) -> &'a mut W {
48711                self.bit(false)
48712            }
48713            ///Writes raw bits to the field
48714            #[inline(always)]
48715            pub fn bit(self, value: bool) -> &'a mut W {
48716                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
48717                self.w
48718            }
48719        }
48720        ///Reader of field `SPI2EN`
48721        pub type SPI2EN_R = crate::R<bool, bool>;
48722        ///Write proxy for field `SPI2EN`
48723        pub struct SPI2EN_W<'a> {
48724            w: &'a mut W,
48725        }
48726        impl<'a> SPI2EN_W<'a> {
48727            ///Sets the field bit
48728            #[inline(always)]
48729            pub fn set_bit(self) -> &'a mut W {
48730                self.bit(true)
48731            }
48732            ///Clears the field bit
48733            #[inline(always)]
48734            pub fn clear_bit(self) -> &'a mut W {
48735                self.bit(false)
48736            }
48737            ///Writes raw bits to the field
48738            #[inline(always)]
48739            pub fn bit(self, value: bool) -> &'a mut W {
48740                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
48741                self.w
48742            }
48743        }
48744        ///Reader of field `RTCAPBEN`
48745        pub type RTCAPBEN_R = crate::R<bool, bool>;
48746        ///Write proxy for field `RTCAPBEN`
48747        pub struct RTCAPBEN_W<'a> {
48748            w: &'a mut W,
48749        }
48750        impl<'a> RTCAPBEN_W<'a> {
48751            ///Sets the field bit
48752            #[inline(always)]
48753            pub fn set_bit(self) -> &'a mut W {
48754                self.bit(true)
48755            }
48756            ///Clears the field bit
48757            #[inline(always)]
48758            pub fn clear_bit(self) -> &'a mut W {
48759                self.bit(false)
48760            }
48761            ///Writes raw bits to the field
48762            #[inline(always)]
48763            pub fn bit(self, value: bool) -> &'a mut W {
48764                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
48765                self.w
48766            }
48767        }
48768        ///Reader of field `LCDEN`
48769        pub type LCDEN_R = crate::R<bool, bool>;
48770        ///Write proxy for field `LCDEN`
48771        pub struct LCDEN_W<'a> {
48772            w: &'a mut W,
48773        }
48774        impl<'a> LCDEN_W<'a> {
48775            ///Sets the field bit
48776            #[inline(always)]
48777            pub fn set_bit(self) -> &'a mut W {
48778                self.bit(true)
48779            }
48780            ///Clears the field bit
48781            #[inline(always)]
48782            pub fn clear_bit(self) -> &'a mut W {
48783                self.bit(false)
48784            }
48785            ///Writes raw bits to the field
48786            #[inline(always)]
48787            pub fn bit(self, value: bool) -> &'a mut W {
48788                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
48789                self.w
48790            }
48791        }
48792        ///Reader of field `TIM2EN`
48793        pub type TIM2EN_R = crate::R<bool, bool>;
48794        ///Write proxy for field `TIM2EN`
48795        pub struct TIM2EN_W<'a> {
48796            w: &'a mut W,
48797        }
48798        impl<'a> TIM2EN_W<'a> {
48799            ///Sets the field bit
48800            #[inline(always)]
48801            pub fn set_bit(self) -> &'a mut W {
48802                self.bit(true)
48803            }
48804            ///Clears the field bit
48805            #[inline(always)]
48806            pub fn clear_bit(self) -> &'a mut W {
48807                self.bit(false)
48808            }
48809            ///Writes raw bits to the field
48810            #[inline(always)]
48811            pub fn bit(self, value: bool) -> &'a mut W {
48812                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
48813                self.w
48814            }
48815        }
48816        impl R {
48817            ///Bit 31 - CPU2 Low power timer 1 clock enable
48818            #[inline(always)]
48819            pub fn lptim1en(&self) -> LPTIM1EN_R {
48820                LPTIM1EN_R::new(((self.bits >> 31) & 0x01) != 0)
48821            }
48822            ///Bit 26 - CPU2 USB clock enable
48823            #[inline(always)]
48824            pub fn usben(&self) -> USBEN_R {
48825                USBEN_R::new(((self.bits >> 26) & 0x01) != 0)
48826            }
48827            ///Bit 24 - CPU2 CRS clock enable
48828            #[inline(always)]
48829            pub fn crsen(&self) -> CRSEN_R {
48830                CRSEN_R::new(((self.bits >> 24) & 0x01) != 0)
48831            }
48832            ///Bit 23 - CPU2 I2C3 clock enable
48833            #[inline(always)]
48834            pub fn i2c3en(&self) -> I2C3EN_R {
48835                I2C3EN_R::new(((self.bits >> 23) & 0x01) != 0)
48836            }
48837            ///Bit 21 - CPU2 I2C1 clock enable
48838            #[inline(always)]
48839            pub fn i2c1en(&self) -> I2C1EN_R {
48840                I2C1EN_R::new(((self.bits >> 21) & 0x01) != 0)
48841            }
48842            ///Bit 14 - CPU2 SPI2 clock enable
48843            #[inline(always)]
48844            pub fn spi2en(&self) -> SPI2EN_R {
48845                SPI2EN_R::new(((self.bits >> 14) & 0x01) != 0)
48846            }
48847            ///Bit 10 - CPU2 RTC APB clock enable
48848            #[inline(always)]
48849            pub fn rtcapben(&self) -> RTCAPBEN_R {
48850                RTCAPBEN_R::new(((self.bits >> 10) & 0x01) != 0)
48851            }
48852            ///Bit 9 - CPU2 LCD clock enable
48853            #[inline(always)]
48854            pub fn lcden(&self) -> LCDEN_R {
48855                LCDEN_R::new(((self.bits >> 9) & 0x01) != 0)
48856            }
48857            ///Bit 0 - CPU2 TIM2 timer clock enable
48858            #[inline(always)]
48859            pub fn tim2en(&self) -> TIM2EN_R {
48860                TIM2EN_R::new((self.bits & 0x01) != 0)
48861            }
48862        }
48863        impl W {
48864            ///Bit 31 - CPU2 Low power timer 1 clock enable
48865            #[inline(always)]
48866            pub fn lptim1en(&mut self) -> LPTIM1EN_W {
48867                LPTIM1EN_W { w: self }
48868            }
48869            ///Bit 26 - CPU2 USB clock enable
48870            #[inline(always)]
48871            pub fn usben(&mut self) -> USBEN_W {
48872                USBEN_W { w: self }
48873            }
48874            ///Bit 24 - CPU2 CRS clock enable
48875            #[inline(always)]
48876            pub fn crsen(&mut self) -> CRSEN_W {
48877                CRSEN_W { w: self }
48878            }
48879            ///Bit 23 - CPU2 I2C3 clock enable
48880            #[inline(always)]
48881            pub fn i2c3en(&mut self) -> I2C3EN_W {
48882                I2C3EN_W { w: self }
48883            }
48884            ///Bit 21 - CPU2 I2C1 clock enable
48885            #[inline(always)]
48886            pub fn i2c1en(&mut self) -> I2C1EN_W {
48887                I2C1EN_W { w: self }
48888            }
48889            ///Bit 14 - CPU2 SPI2 clock enable
48890            #[inline(always)]
48891            pub fn spi2en(&mut self) -> SPI2EN_W {
48892                SPI2EN_W { w: self }
48893            }
48894            ///Bit 10 - CPU2 RTC APB clock enable
48895            #[inline(always)]
48896            pub fn rtcapben(&mut self) -> RTCAPBEN_W {
48897                RTCAPBEN_W { w: self }
48898            }
48899            ///Bit 9 - CPU2 LCD clock enable
48900            #[inline(always)]
48901            pub fn lcden(&mut self) -> LCDEN_W {
48902                LCDEN_W { w: self }
48903            }
48904            ///Bit 0 - CPU2 TIM2 timer clock enable
48905            #[inline(always)]
48906            pub fn tim2en(&mut self) -> TIM2EN_W {
48907                TIM2EN_W { w: self }
48908            }
48909        }
48910    }
48911    ///CPU2 APB1 peripheral clock enable register 2
48912    ///
48913    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
48914    ///
48915    ///For information about available fields see [c2apb1enr2](c2apb1enr2) module
48916    pub type C2APB1ENR2 = crate::Reg<u32, _C2APB1ENR2>;
48917    #[allow(missing_docs)]
48918    #[doc(hidden)]
48919    pub struct _C2APB1ENR2;
48920    ///`read()` method returns [c2apb1enr2::R](c2apb1enr2::R) reader structure
48921    impl crate::Readable for C2APB1ENR2 {}
48922    ///`write(|w| ..)` method takes [c2apb1enr2::W](c2apb1enr2::W) writer structure
48923    impl crate::Writable for C2APB1ENR2 {}
48924    ///CPU2 APB1 peripheral clock enable register 2
48925    pub mod c2apb1enr2 {
48926        ///Reader of register C2APB1ENR2
48927        pub type R = crate::R<u32, super::C2APB1ENR2>;
48928        ///Writer for register C2APB1ENR2
48929        pub type W = crate::W<u32, super::C2APB1ENR2>;
48930        ///Register C2APB1ENR2 `reset()`'s with value 0
48931        impl crate::ResetValue for super::C2APB1ENR2 {
48932            type Type = u32;
48933            #[inline(always)]
48934            fn reset_value() -> Self::Type {
48935                0
48936            }
48937        }
48938        ///Reader of field `LPTIM2EN`
48939        pub type LPTIM2EN_R = crate::R<bool, bool>;
48940        ///Write proxy for field `LPTIM2EN`
48941        pub struct LPTIM2EN_W<'a> {
48942            w: &'a mut W,
48943        }
48944        impl<'a> LPTIM2EN_W<'a> {
48945            ///Sets the field bit
48946            #[inline(always)]
48947            pub fn set_bit(self) -> &'a mut W {
48948                self.bit(true)
48949            }
48950            ///Clears the field bit
48951            #[inline(always)]
48952            pub fn clear_bit(self) -> &'a mut W {
48953                self.bit(false)
48954            }
48955            ///Writes raw bits to the field
48956            #[inline(always)]
48957            pub fn bit(self, value: bool) -> &'a mut W {
48958                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
48959                self.w
48960            }
48961        }
48962        ///Reader of field `LPUART1EN`
48963        pub type LPUART1EN_R = crate::R<bool, bool>;
48964        ///Write proxy for field `LPUART1EN`
48965        pub struct LPUART1EN_W<'a> {
48966            w: &'a mut W,
48967        }
48968        impl<'a> LPUART1EN_W<'a> {
48969            ///Sets the field bit
48970            #[inline(always)]
48971            pub fn set_bit(self) -> &'a mut W {
48972                self.bit(true)
48973            }
48974            ///Clears the field bit
48975            #[inline(always)]
48976            pub fn clear_bit(self) -> &'a mut W {
48977                self.bit(false)
48978            }
48979            ///Writes raw bits to the field
48980            #[inline(always)]
48981            pub fn bit(self, value: bool) -> &'a mut W {
48982                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
48983                self.w
48984            }
48985        }
48986        impl R {
48987            ///Bit 5 - CPU2 LPTIM2EN
48988            #[inline(always)]
48989            pub fn lptim2en(&self) -> LPTIM2EN_R {
48990                LPTIM2EN_R::new(((self.bits >> 5) & 0x01) != 0)
48991            }
48992            ///Bit 0 - CPU2 Low power UART 1 clock enable
48993            #[inline(always)]
48994            pub fn lpuart1en(&self) -> LPUART1EN_R {
48995                LPUART1EN_R::new((self.bits & 0x01) != 0)
48996            }
48997        }
48998        impl W {
48999            ///Bit 5 - CPU2 LPTIM2EN
49000            #[inline(always)]
49001            pub fn lptim2en(&mut self) -> LPTIM2EN_W {
49002                LPTIM2EN_W { w: self }
49003            }
49004            ///Bit 0 - CPU2 Low power UART 1 clock enable
49005            #[inline(always)]
49006            pub fn lpuart1en(&mut self) -> LPUART1EN_W {
49007                LPUART1EN_W { w: self }
49008            }
49009        }
49010    }
49011    ///CPU2 APB2ENR
49012    ///
49013    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
49014    ///
49015    ///For information about available fields see [c2apb2enr](c2apb2enr) module
49016    pub type C2APB2ENR = crate::Reg<u32, _C2APB2ENR>;
49017    #[allow(missing_docs)]
49018    #[doc(hidden)]
49019    pub struct _C2APB2ENR;
49020    ///`read()` method returns [c2apb2enr::R](c2apb2enr::R) reader structure
49021    impl crate::Readable for C2APB2ENR {}
49022    ///`write(|w| ..)` method takes [c2apb2enr::W](c2apb2enr::W) writer structure
49023    impl crate::Writable for C2APB2ENR {}
49024    ///CPU2 APB2ENR
49025    pub mod c2apb2enr {
49026        ///Reader of register C2APB2ENR
49027        pub type R = crate::R<u32, super::C2APB2ENR>;
49028        ///Writer for register C2APB2ENR
49029        pub type W = crate::W<u32, super::C2APB2ENR>;
49030        ///Register C2APB2ENR `reset()`'s with value 0
49031        impl crate::ResetValue for super::C2APB2ENR {
49032            type Type = u32;
49033            #[inline(always)]
49034            fn reset_value() -> Self::Type {
49035                0
49036            }
49037        }
49038        ///Reader of field `SAI1EN`
49039        pub type SAI1EN_R = crate::R<bool, bool>;
49040        ///Write proxy for field `SAI1EN`
49041        pub struct SAI1EN_W<'a> {
49042            w: &'a mut W,
49043        }
49044        impl<'a> SAI1EN_W<'a> {
49045            ///Sets the field bit
49046            #[inline(always)]
49047            pub fn set_bit(self) -> &'a mut W {
49048                self.bit(true)
49049            }
49050            ///Clears the field bit
49051            #[inline(always)]
49052            pub fn clear_bit(self) -> &'a mut W {
49053                self.bit(false)
49054            }
49055            ///Writes raw bits to the field
49056            #[inline(always)]
49057            pub fn bit(self, value: bool) -> &'a mut W {
49058                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
49059                self.w
49060            }
49061        }
49062        ///Reader of field `TIM17EN`
49063        pub type TIM17EN_R = crate::R<bool, bool>;
49064        ///Write proxy for field `TIM17EN`
49065        pub struct TIM17EN_W<'a> {
49066            w: &'a mut W,
49067        }
49068        impl<'a> TIM17EN_W<'a> {
49069            ///Sets the field bit
49070            #[inline(always)]
49071            pub fn set_bit(self) -> &'a mut W {
49072                self.bit(true)
49073            }
49074            ///Clears the field bit
49075            #[inline(always)]
49076            pub fn clear_bit(self) -> &'a mut W {
49077                self.bit(false)
49078            }
49079            ///Writes raw bits to the field
49080            #[inline(always)]
49081            pub fn bit(self, value: bool) -> &'a mut W {
49082                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
49083                self.w
49084            }
49085        }
49086        ///Reader of field `TIM16EN`
49087        pub type TIM16EN_R = crate::R<bool, bool>;
49088        ///Write proxy for field `TIM16EN`
49089        pub struct TIM16EN_W<'a> {
49090            w: &'a mut W,
49091        }
49092        impl<'a> TIM16EN_W<'a> {
49093            ///Sets the field bit
49094            #[inline(always)]
49095            pub fn set_bit(self) -> &'a mut W {
49096                self.bit(true)
49097            }
49098            ///Clears the field bit
49099            #[inline(always)]
49100            pub fn clear_bit(self) -> &'a mut W {
49101                self.bit(false)
49102            }
49103            ///Writes raw bits to the field
49104            #[inline(always)]
49105            pub fn bit(self, value: bool) -> &'a mut W {
49106                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
49107                self.w
49108            }
49109        }
49110        ///Reader of field `USART1EN`
49111        pub type USART1EN_R = crate::R<bool, bool>;
49112        ///Write proxy for field `USART1EN`
49113        pub struct USART1EN_W<'a> {
49114            w: &'a mut W,
49115        }
49116        impl<'a> USART1EN_W<'a> {
49117            ///Sets the field bit
49118            #[inline(always)]
49119            pub fn set_bit(self) -> &'a mut W {
49120                self.bit(true)
49121            }
49122            ///Clears the field bit
49123            #[inline(always)]
49124            pub fn clear_bit(self) -> &'a mut W {
49125                self.bit(false)
49126            }
49127            ///Writes raw bits to the field
49128            #[inline(always)]
49129            pub fn bit(self, value: bool) -> &'a mut W {
49130                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
49131                self.w
49132            }
49133        }
49134        ///Reader of field `SPI1EN`
49135        pub type SPI1EN_R = crate::R<bool, bool>;
49136        ///Write proxy for field `SPI1EN`
49137        pub struct SPI1EN_W<'a> {
49138            w: &'a mut W,
49139        }
49140        impl<'a> SPI1EN_W<'a> {
49141            ///Sets the field bit
49142            #[inline(always)]
49143            pub fn set_bit(self) -> &'a mut W {
49144                self.bit(true)
49145            }
49146            ///Clears the field bit
49147            #[inline(always)]
49148            pub fn clear_bit(self) -> &'a mut W {
49149                self.bit(false)
49150            }
49151            ///Writes raw bits to the field
49152            #[inline(always)]
49153            pub fn bit(self, value: bool) -> &'a mut W {
49154                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
49155                self.w
49156            }
49157        }
49158        ///Reader of field `TIM1EN`
49159        pub type TIM1EN_R = crate::R<bool, bool>;
49160        ///Write proxy for field `TIM1EN`
49161        pub struct TIM1EN_W<'a> {
49162            w: &'a mut W,
49163        }
49164        impl<'a> TIM1EN_W<'a> {
49165            ///Sets the field bit
49166            #[inline(always)]
49167            pub fn set_bit(self) -> &'a mut W {
49168                self.bit(true)
49169            }
49170            ///Clears the field bit
49171            #[inline(always)]
49172            pub fn clear_bit(self) -> &'a mut W {
49173                self.bit(false)
49174            }
49175            ///Writes raw bits to the field
49176            #[inline(always)]
49177            pub fn bit(self, value: bool) -> &'a mut W {
49178                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
49179                self.w
49180            }
49181        }
49182        impl R {
49183            ///Bit 21 - CPU2 SAI1 clock enable
49184            #[inline(always)]
49185            pub fn sai1en(&self) -> SAI1EN_R {
49186                SAI1EN_R::new(((self.bits >> 21) & 0x01) != 0)
49187            }
49188            ///Bit 18 - CPU2 TIM17 timer clock enable
49189            #[inline(always)]
49190            pub fn tim17en(&self) -> TIM17EN_R {
49191                TIM17EN_R::new(((self.bits >> 18) & 0x01) != 0)
49192            }
49193            ///Bit 17 - CPU2 TIM16 timer clock enable
49194            #[inline(always)]
49195            pub fn tim16en(&self) -> TIM16EN_R {
49196                TIM16EN_R::new(((self.bits >> 17) & 0x01) != 0)
49197            }
49198            ///Bit 14 - CPU2 USART1clock enable
49199            #[inline(always)]
49200            pub fn usart1en(&self) -> USART1EN_R {
49201                USART1EN_R::new(((self.bits >> 14) & 0x01) != 0)
49202            }
49203            ///Bit 12 - CPU2 SPI1 clock enable
49204            #[inline(always)]
49205            pub fn spi1en(&self) -> SPI1EN_R {
49206                SPI1EN_R::new(((self.bits >> 12) & 0x01) != 0)
49207            }
49208            ///Bit 11 - CPU2 TIM1 timer clock enable
49209            #[inline(always)]
49210            pub fn tim1en(&self) -> TIM1EN_R {
49211                TIM1EN_R::new(((self.bits >> 11) & 0x01) != 0)
49212            }
49213        }
49214        impl W {
49215            ///Bit 21 - CPU2 SAI1 clock enable
49216            #[inline(always)]
49217            pub fn sai1en(&mut self) -> SAI1EN_W {
49218                SAI1EN_W { w: self }
49219            }
49220            ///Bit 18 - CPU2 TIM17 timer clock enable
49221            #[inline(always)]
49222            pub fn tim17en(&mut self) -> TIM17EN_W {
49223                TIM17EN_W { w: self }
49224            }
49225            ///Bit 17 - CPU2 TIM16 timer clock enable
49226            #[inline(always)]
49227            pub fn tim16en(&mut self) -> TIM16EN_W {
49228                TIM16EN_W { w: self }
49229            }
49230            ///Bit 14 - CPU2 USART1clock enable
49231            #[inline(always)]
49232            pub fn usart1en(&mut self) -> USART1EN_W {
49233                USART1EN_W { w: self }
49234            }
49235            ///Bit 12 - CPU2 SPI1 clock enable
49236            #[inline(always)]
49237            pub fn spi1en(&mut self) -> SPI1EN_W {
49238                SPI1EN_W { w: self }
49239            }
49240            ///Bit 11 - CPU2 TIM1 timer clock enable
49241            #[inline(always)]
49242            pub fn tim1en(&mut self) -> TIM1EN_W {
49243                TIM1EN_W { w: self }
49244            }
49245        }
49246    }
49247    ///CPU2 APB3ENR
49248    ///
49249    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
49250    ///
49251    ///For information about available fields see [c2apb3enr](c2apb3enr) module
49252    pub type C2APB3ENR = crate::Reg<u32, _C2APB3ENR>;
49253    #[allow(missing_docs)]
49254    #[doc(hidden)]
49255    pub struct _C2APB3ENR;
49256    ///`read()` method returns [c2apb3enr::R](c2apb3enr::R) reader structure
49257    impl crate::Readable for C2APB3ENR {}
49258    ///`write(|w| ..)` method takes [c2apb3enr::W](c2apb3enr::W) writer structure
49259    impl crate::Writable for C2APB3ENR {}
49260    ///CPU2 APB3ENR
49261    pub mod c2apb3enr {
49262        ///Reader of register C2APB3ENR
49263        pub type R = crate::R<u32, super::C2APB3ENR>;
49264        ///Writer for register C2APB3ENR
49265        pub type W = crate::W<u32, super::C2APB3ENR>;
49266        ///Register C2APB3ENR `reset()`'s with value 0
49267        impl crate::ResetValue for super::C2APB3ENR {
49268            type Type = u32;
49269            #[inline(always)]
49270            fn reset_value() -> Self::Type {
49271                0
49272            }
49273        }
49274        ///Reader of field `EN802`
49275        pub type EN802_R = crate::R<bool, bool>;
49276        ///Write proxy for field `EN802`
49277        pub struct EN802_W<'a> {
49278            w: &'a mut W,
49279        }
49280        impl<'a> EN802_W<'a> {
49281            ///Sets the field bit
49282            #[inline(always)]
49283            pub fn set_bit(self) -> &'a mut W {
49284                self.bit(true)
49285            }
49286            ///Clears the field bit
49287            #[inline(always)]
49288            pub fn clear_bit(self) -> &'a mut W {
49289                self.bit(false)
49290            }
49291            ///Writes raw bits to the field
49292            #[inline(always)]
49293            pub fn bit(self, value: bool) -> &'a mut W {
49294                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
49295                self.w
49296            }
49297        }
49298        ///Reader of field `BLEEN`
49299        pub type BLEEN_R = crate::R<bool, bool>;
49300        ///Write proxy for field `BLEEN`
49301        pub struct BLEEN_W<'a> {
49302            w: &'a mut W,
49303        }
49304        impl<'a> BLEEN_W<'a> {
49305            ///Sets the field bit
49306            #[inline(always)]
49307            pub fn set_bit(self) -> &'a mut W {
49308                self.bit(true)
49309            }
49310            ///Clears the field bit
49311            #[inline(always)]
49312            pub fn clear_bit(self) -> &'a mut W {
49313                self.bit(false)
49314            }
49315            ///Writes raw bits to the field
49316            #[inline(always)]
49317            pub fn bit(self, value: bool) -> &'a mut W {
49318                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
49319                self.w
49320            }
49321        }
49322        impl R {
49323            ///Bit 1 - CPU2 802.15.4 interface clock enable
49324            #[inline(always)]
49325            pub fn en802(&self) -> EN802_R {
49326                EN802_R::new(((self.bits >> 1) & 0x01) != 0)
49327            }
49328            ///Bit 0 - CPU2 BLE interface clock enable
49329            #[inline(always)]
49330            pub fn bleen(&self) -> BLEEN_R {
49331                BLEEN_R::new((self.bits & 0x01) != 0)
49332            }
49333        }
49334        impl W {
49335            ///Bit 1 - CPU2 802.15.4 interface clock enable
49336            #[inline(always)]
49337            pub fn en802(&mut self) -> EN802_W {
49338                EN802_W { w: self }
49339            }
49340            ///Bit 0 - CPU2 BLE interface clock enable
49341            #[inline(always)]
49342            pub fn bleen(&mut self) -> BLEEN_W {
49343                BLEEN_W { w: self }
49344            }
49345        }
49346    }
49347    ///CPU2 AHB1 peripheral clocks enable in Sleep and Stop modes register
49348    ///
49349    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
49350    ///
49351    ///For information about available fields see [c2ahb1smenr](c2ahb1smenr) module
49352    pub type C2AHB1SMENR = crate::Reg<u32, _C2AHB1SMENR>;
49353    #[allow(missing_docs)]
49354    #[doc(hidden)]
49355    pub struct _C2AHB1SMENR;
49356    ///`read()` method returns [c2ahb1smenr::R](c2ahb1smenr::R) reader structure
49357    impl crate::Readable for C2AHB1SMENR {}
49358    ///`write(|w| ..)` method takes [c2ahb1smenr::W](c2ahb1smenr::W) writer structure
49359    impl crate::Writable for C2AHB1SMENR {}
49360    ///CPU2 AHB1 peripheral clocks enable in Sleep and Stop modes register
49361    pub mod c2ahb1smenr {
49362        ///Reader of register C2AHB1SMENR
49363        pub type R = crate::R<u32, super::C2AHB1SMENR>;
49364        ///Writer for register C2AHB1SMENR
49365        pub type W = crate::W<u32, super::C2AHB1SMENR>;
49366        ///Register C2AHB1SMENR `reset()`'s with value 0x0001_1207
49367        impl crate::ResetValue for super::C2AHB1SMENR {
49368            type Type = u32;
49369            #[inline(always)]
49370            fn reset_value() -> Self::Type {
49371                0x0001_1207
49372            }
49373        }
49374        ///Reader of field `TSCSMEN`
49375        pub type TSCSMEN_R = crate::R<bool, bool>;
49376        ///Write proxy for field `TSCSMEN`
49377        pub struct TSCSMEN_W<'a> {
49378            w: &'a mut W,
49379        }
49380        impl<'a> TSCSMEN_W<'a> {
49381            ///Sets the field bit
49382            #[inline(always)]
49383            pub fn set_bit(self) -> &'a mut W {
49384                self.bit(true)
49385            }
49386            ///Clears the field bit
49387            #[inline(always)]
49388            pub fn clear_bit(self) -> &'a mut W {
49389                self.bit(false)
49390            }
49391            ///Writes raw bits to the field
49392            #[inline(always)]
49393            pub fn bit(self, value: bool) -> &'a mut W {
49394                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
49395                self.w
49396            }
49397        }
49398        ///Reader of field `CRCSMEN`
49399        pub type CRCSMEN_R = crate::R<bool, bool>;
49400        ///Write proxy for field `CRCSMEN`
49401        pub struct CRCSMEN_W<'a> {
49402            w: &'a mut W,
49403        }
49404        impl<'a> CRCSMEN_W<'a> {
49405            ///Sets the field bit
49406            #[inline(always)]
49407            pub fn set_bit(self) -> &'a mut W {
49408                self.bit(true)
49409            }
49410            ///Clears the field bit
49411            #[inline(always)]
49412            pub fn clear_bit(self) -> &'a mut W {
49413                self.bit(false)
49414            }
49415            ///Writes raw bits to the field
49416            #[inline(always)]
49417            pub fn bit(self, value: bool) -> &'a mut W {
49418                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
49419                self.w
49420            }
49421        }
49422        ///Reader of field `SRAM1SMEN`
49423        pub type SRAM1SMEN_R = crate::R<bool, bool>;
49424        ///Write proxy for field `SRAM1SMEN`
49425        pub struct SRAM1SMEN_W<'a> {
49426            w: &'a mut W,
49427        }
49428        impl<'a> SRAM1SMEN_W<'a> {
49429            ///Sets the field bit
49430            #[inline(always)]
49431            pub fn set_bit(self) -> &'a mut W {
49432                self.bit(true)
49433            }
49434            ///Clears the field bit
49435            #[inline(always)]
49436            pub fn clear_bit(self) -> &'a mut W {
49437                self.bit(false)
49438            }
49439            ///Writes raw bits to the field
49440            #[inline(always)]
49441            pub fn bit(self, value: bool) -> &'a mut W {
49442                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
49443                self.w
49444            }
49445        }
49446        ///Reader of field `DMAMUXSMEN`
49447        pub type DMAMUXSMEN_R = crate::R<bool, bool>;
49448        ///Write proxy for field `DMAMUXSMEN`
49449        pub struct DMAMUXSMEN_W<'a> {
49450            w: &'a mut W,
49451        }
49452        impl<'a> DMAMUXSMEN_W<'a> {
49453            ///Sets the field bit
49454            #[inline(always)]
49455            pub fn set_bit(self) -> &'a mut W {
49456                self.bit(true)
49457            }
49458            ///Clears the field bit
49459            #[inline(always)]
49460            pub fn clear_bit(self) -> &'a mut W {
49461                self.bit(false)
49462            }
49463            ///Writes raw bits to the field
49464            #[inline(always)]
49465            pub fn bit(self, value: bool) -> &'a mut W {
49466                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
49467                self.w
49468            }
49469        }
49470        ///Reader of field `DMA2SMEN`
49471        pub type DMA2SMEN_R = crate::R<bool, bool>;
49472        ///Write proxy for field `DMA2SMEN`
49473        pub struct DMA2SMEN_W<'a> {
49474            w: &'a mut W,
49475        }
49476        impl<'a> DMA2SMEN_W<'a> {
49477            ///Sets the field bit
49478            #[inline(always)]
49479            pub fn set_bit(self) -> &'a mut W {
49480                self.bit(true)
49481            }
49482            ///Clears the field bit
49483            #[inline(always)]
49484            pub fn clear_bit(self) -> &'a mut W {
49485                self.bit(false)
49486            }
49487            ///Writes raw bits to the field
49488            #[inline(always)]
49489            pub fn bit(self, value: bool) -> &'a mut W {
49490                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
49491                self.w
49492            }
49493        }
49494        ///Reader of field `DMA1SMEN`
49495        pub type DMA1SMEN_R = crate::R<bool, bool>;
49496        ///Write proxy for field `DMA1SMEN`
49497        pub struct DMA1SMEN_W<'a> {
49498            w: &'a mut W,
49499        }
49500        impl<'a> DMA1SMEN_W<'a> {
49501            ///Sets the field bit
49502            #[inline(always)]
49503            pub fn set_bit(self) -> &'a mut W {
49504                self.bit(true)
49505            }
49506            ///Clears the field bit
49507            #[inline(always)]
49508            pub fn clear_bit(self) -> &'a mut W {
49509                self.bit(false)
49510            }
49511            ///Writes raw bits to the field
49512            #[inline(always)]
49513            pub fn bit(self, value: bool) -> &'a mut W {
49514                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
49515                self.w
49516            }
49517        }
49518        impl R {
49519            ///Bit 16 - CPU2 Touch Sensing Controller clocks enable during Sleep and Stop modes
49520            #[inline(always)]
49521            pub fn tscsmen(&self) -> TSCSMEN_R {
49522                TSCSMEN_R::new(((self.bits >> 16) & 0x01) != 0)
49523            }
49524            ///Bit 12 - CPU2 CRCSMEN
49525            #[inline(always)]
49526            pub fn crcsmen(&self) -> CRCSMEN_R {
49527                CRCSMEN_R::new(((self.bits >> 12) & 0x01) != 0)
49528            }
49529            ///Bit 9 - SRAM1 interface clock enable during CPU1 CSleep mode
49530            #[inline(always)]
49531            pub fn sram1smen(&self) -> SRAM1SMEN_R {
49532                SRAM1SMEN_R::new(((self.bits >> 9) & 0x01) != 0)
49533            }
49534            ///Bit 2 - CPU2 DMAMUX clocks enable during Sleep and Stop modes
49535            #[inline(always)]
49536            pub fn dmamuxsmen(&self) -> DMAMUXSMEN_R {
49537                DMAMUXSMEN_R::new(((self.bits >> 2) & 0x01) != 0)
49538            }
49539            ///Bit 1 - CPU2 DMA2 clocks enable during Sleep and Stop modes
49540            #[inline(always)]
49541            pub fn dma2smen(&self) -> DMA2SMEN_R {
49542                DMA2SMEN_R::new(((self.bits >> 1) & 0x01) != 0)
49543            }
49544            ///Bit 0 - CPU2 DMA1 clocks enable during Sleep and Stop modes
49545            #[inline(always)]
49546            pub fn dma1smen(&self) -> DMA1SMEN_R {
49547                DMA1SMEN_R::new((self.bits & 0x01) != 0)
49548            }
49549        }
49550        impl W {
49551            ///Bit 16 - CPU2 Touch Sensing Controller clocks enable during Sleep and Stop modes
49552            #[inline(always)]
49553            pub fn tscsmen(&mut self) -> TSCSMEN_W {
49554                TSCSMEN_W { w: self }
49555            }
49556            ///Bit 12 - CPU2 CRCSMEN
49557            #[inline(always)]
49558            pub fn crcsmen(&mut self) -> CRCSMEN_W {
49559                CRCSMEN_W { w: self }
49560            }
49561            ///Bit 9 - SRAM1 interface clock enable during CPU1 CSleep mode
49562            #[inline(always)]
49563            pub fn sram1smen(&mut self) -> SRAM1SMEN_W {
49564                SRAM1SMEN_W { w: self }
49565            }
49566            ///Bit 2 - CPU2 DMAMUX clocks enable during Sleep and Stop modes
49567            #[inline(always)]
49568            pub fn dmamuxsmen(&mut self) -> DMAMUXSMEN_W {
49569                DMAMUXSMEN_W { w: self }
49570            }
49571            ///Bit 1 - CPU2 DMA2 clocks enable during Sleep and Stop modes
49572            #[inline(always)]
49573            pub fn dma2smen(&mut self) -> DMA2SMEN_W {
49574                DMA2SMEN_W { w: self }
49575            }
49576            ///Bit 0 - CPU2 DMA1 clocks enable during Sleep and Stop modes
49577            #[inline(always)]
49578            pub fn dma1smen(&mut self) -> DMA1SMEN_W {
49579                DMA1SMEN_W { w: self }
49580            }
49581        }
49582    }
49583    ///CPU2 AHB2 peripheral clocks enable in Sleep and Stop modes register
49584    ///
49585    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
49586    ///
49587    ///For information about available fields see [c2ahb2smenr](c2ahb2smenr) module
49588    pub type C2AHB2SMENR = crate::Reg<u32, _C2AHB2SMENR>;
49589    #[allow(missing_docs)]
49590    #[doc(hidden)]
49591    pub struct _C2AHB2SMENR;
49592    ///`read()` method returns [c2ahb2smenr::R](c2ahb2smenr::R) reader structure
49593    impl crate::Readable for C2AHB2SMENR {}
49594    ///`write(|w| ..)` method takes [c2ahb2smenr::W](c2ahb2smenr::W) writer structure
49595    impl crate::Writable for C2AHB2SMENR {}
49596    ///CPU2 AHB2 peripheral clocks enable in Sleep and Stop modes register
49597    pub mod c2ahb2smenr {
49598        ///Reader of register C2AHB2SMENR
49599        pub type R = crate::R<u32, super::C2AHB2SMENR>;
49600        ///Writer for register C2AHB2SMENR
49601        pub type W = crate::W<u32, super::C2AHB2SMENR>;
49602        ///Register C2AHB2SMENR `reset()`'s with value 0x0001_209f
49603        impl crate::ResetValue for super::C2AHB2SMENR {
49604            type Type = u32;
49605            #[inline(always)]
49606            fn reset_value() -> Self::Type {
49607                0x0001_209f
49608            }
49609        }
49610        ///Reader of field `AES1SMEN`
49611        pub type AES1SMEN_R = crate::R<bool, bool>;
49612        ///Write proxy for field `AES1SMEN`
49613        pub struct AES1SMEN_W<'a> {
49614            w: &'a mut W,
49615        }
49616        impl<'a> AES1SMEN_W<'a> {
49617            ///Sets the field bit
49618            #[inline(always)]
49619            pub fn set_bit(self) -> &'a mut W {
49620                self.bit(true)
49621            }
49622            ///Clears the field bit
49623            #[inline(always)]
49624            pub fn clear_bit(self) -> &'a mut W {
49625                self.bit(false)
49626            }
49627            ///Writes raw bits to the field
49628            #[inline(always)]
49629            pub fn bit(self, value: bool) -> &'a mut W {
49630                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
49631                self.w
49632            }
49633        }
49634        ///Reader of field `ADCFSSMEN`
49635        pub type ADCFSSMEN_R = crate::R<bool, bool>;
49636        ///Write proxy for field `ADCFSSMEN`
49637        pub struct ADCFSSMEN_W<'a> {
49638            w: &'a mut W,
49639        }
49640        impl<'a> ADCFSSMEN_W<'a> {
49641            ///Sets the field bit
49642            #[inline(always)]
49643            pub fn set_bit(self) -> &'a mut W {
49644                self.bit(true)
49645            }
49646            ///Clears the field bit
49647            #[inline(always)]
49648            pub fn clear_bit(self) -> &'a mut W {
49649                self.bit(false)
49650            }
49651            ///Writes raw bits to the field
49652            #[inline(always)]
49653            pub fn bit(self, value: bool) -> &'a mut W {
49654                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
49655                self.w
49656            }
49657        }
49658        ///Reader of field `GPIOHSMEN`
49659        pub type GPIOHSMEN_R = crate::R<bool, bool>;
49660        ///Write proxy for field `GPIOHSMEN`
49661        pub struct GPIOHSMEN_W<'a> {
49662            w: &'a mut W,
49663        }
49664        impl<'a> GPIOHSMEN_W<'a> {
49665            ///Sets the field bit
49666            #[inline(always)]
49667            pub fn set_bit(self) -> &'a mut W {
49668                self.bit(true)
49669            }
49670            ///Clears the field bit
49671            #[inline(always)]
49672            pub fn clear_bit(self) -> &'a mut W {
49673                self.bit(false)
49674            }
49675            ///Writes raw bits to the field
49676            #[inline(always)]
49677            pub fn bit(self, value: bool) -> &'a mut W {
49678                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
49679                self.w
49680            }
49681        }
49682        ///Reader of field `GPIOESMEN`
49683        pub type GPIOESMEN_R = crate::R<bool, bool>;
49684        ///Write proxy for field `GPIOESMEN`
49685        pub struct GPIOESMEN_W<'a> {
49686            w: &'a mut W,
49687        }
49688        impl<'a> GPIOESMEN_W<'a> {
49689            ///Sets the field bit
49690            #[inline(always)]
49691            pub fn set_bit(self) -> &'a mut W {
49692                self.bit(true)
49693            }
49694            ///Clears the field bit
49695            #[inline(always)]
49696            pub fn clear_bit(self) -> &'a mut W {
49697                self.bit(false)
49698            }
49699            ///Writes raw bits to the field
49700            #[inline(always)]
49701            pub fn bit(self, value: bool) -> &'a mut W {
49702                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
49703                self.w
49704            }
49705        }
49706        ///Reader of field `GPIODSMEN`
49707        pub type GPIODSMEN_R = crate::R<bool, bool>;
49708        ///Write proxy for field `GPIODSMEN`
49709        pub struct GPIODSMEN_W<'a> {
49710            w: &'a mut W,
49711        }
49712        impl<'a> GPIODSMEN_W<'a> {
49713            ///Sets the field bit
49714            #[inline(always)]
49715            pub fn set_bit(self) -> &'a mut W {
49716                self.bit(true)
49717            }
49718            ///Clears the field bit
49719            #[inline(always)]
49720            pub fn clear_bit(self) -> &'a mut W {
49721                self.bit(false)
49722            }
49723            ///Writes raw bits to the field
49724            #[inline(always)]
49725            pub fn bit(self, value: bool) -> &'a mut W {
49726                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
49727                self.w
49728            }
49729        }
49730        ///Reader of field `GPIOCSMEN`
49731        pub type GPIOCSMEN_R = crate::R<bool, bool>;
49732        ///Write proxy for field `GPIOCSMEN`
49733        pub struct GPIOCSMEN_W<'a> {
49734            w: &'a mut W,
49735        }
49736        impl<'a> GPIOCSMEN_W<'a> {
49737            ///Sets the field bit
49738            #[inline(always)]
49739            pub fn set_bit(self) -> &'a mut W {
49740                self.bit(true)
49741            }
49742            ///Clears the field bit
49743            #[inline(always)]
49744            pub fn clear_bit(self) -> &'a mut W {
49745                self.bit(false)
49746            }
49747            ///Writes raw bits to the field
49748            #[inline(always)]
49749            pub fn bit(self, value: bool) -> &'a mut W {
49750                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
49751                self.w
49752            }
49753        }
49754        ///Reader of field `GPIOBSMEN`
49755        pub type GPIOBSMEN_R = crate::R<bool, bool>;
49756        ///Write proxy for field `GPIOBSMEN`
49757        pub struct GPIOBSMEN_W<'a> {
49758            w: &'a mut W,
49759        }
49760        impl<'a> GPIOBSMEN_W<'a> {
49761            ///Sets the field bit
49762            #[inline(always)]
49763            pub fn set_bit(self) -> &'a mut W {
49764                self.bit(true)
49765            }
49766            ///Clears the field bit
49767            #[inline(always)]
49768            pub fn clear_bit(self) -> &'a mut W {
49769                self.bit(false)
49770            }
49771            ///Writes raw bits to the field
49772            #[inline(always)]
49773            pub fn bit(self, value: bool) -> &'a mut W {
49774                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
49775                self.w
49776            }
49777        }
49778        ///Reader of field `GPIOASMEN`
49779        pub type GPIOASMEN_R = crate::R<bool, bool>;
49780        ///Write proxy for field `GPIOASMEN`
49781        pub struct GPIOASMEN_W<'a> {
49782            w: &'a mut W,
49783        }
49784        impl<'a> GPIOASMEN_W<'a> {
49785            ///Sets the field bit
49786            #[inline(always)]
49787            pub fn set_bit(self) -> &'a mut W {
49788                self.bit(true)
49789            }
49790            ///Clears the field bit
49791            #[inline(always)]
49792            pub fn clear_bit(self) -> &'a mut W {
49793                self.bit(false)
49794            }
49795            ///Writes raw bits to the field
49796            #[inline(always)]
49797            pub fn bit(self, value: bool) -> &'a mut W {
49798                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
49799                self.w
49800            }
49801        }
49802        impl R {
49803            ///Bit 16 - CPU2 AES1 accelerator clocks enable during Sleep and Stop modes
49804            #[inline(always)]
49805            pub fn aes1smen(&self) -> AES1SMEN_R {
49806                AES1SMEN_R::new(((self.bits >> 16) & 0x01) != 0)
49807            }
49808            ///Bit 13 - CPU2 ADC clocks enable during Sleep and Stop modes
49809            #[inline(always)]
49810            pub fn adcfssmen(&self) -> ADCFSSMEN_R {
49811                ADCFSSMEN_R::new(((self.bits >> 13) & 0x01) != 0)
49812            }
49813            ///Bit 7 - CPU2 IO port H clocks enable during Sleep and Stop modes
49814            #[inline(always)]
49815            pub fn gpiohsmen(&self) -> GPIOHSMEN_R {
49816                GPIOHSMEN_R::new(((self.bits >> 7) & 0x01) != 0)
49817            }
49818            ///Bit 4 - CPU2 IO port E clocks enable during Sleep and Stop modes
49819            #[inline(always)]
49820            pub fn gpioesmen(&self) -> GPIOESMEN_R {
49821                GPIOESMEN_R::new(((self.bits >> 4) & 0x01) != 0)
49822            }
49823            ///Bit 3 - CPU2 IO port D clocks enable during Sleep and Stop modes
49824            #[inline(always)]
49825            pub fn gpiodsmen(&self) -> GPIODSMEN_R {
49826                GPIODSMEN_R::new(((self.bits >> 3) & 0x01) != 0)
49827            }
49828            ///Bit 2 - CPU2 IO port C clocks enable during Sleep and Stop modes
49829            #[inline(always)]
49830            pub fn gpiocsmen(&self) -> GPIOCSMEN_R {
49831                GPIOCSMEN_R::new(((self.bits >> 2) & 0x01) != 0)
49832            }
49833            ///Bit 1 - CPU2 IO port B clocks enable during Sleep and Stop modes
49834            #[inline(always)]
49835            pub fn gpiobsmen(&self) -> GPIOBSMEN_R {
49836                GPIOBSMEN_R::new(((self.bits >> 1) & 0x01) != 0)
49837            }
49838            ///Bit 0 - CPU2 IO port A clocks enable during Sleep and Stop modes
49839            #[inline(always)]
49840            pub fn gpioasmen(&self) -> GPIOASMEN_R {
49841                GPIOASMEN_R::new((self.bits & 0x01) != 0)
49842            }
49843        }
49844        impl W {
49845            ///Bit 16 - CPU2 AES1 accelerator clocks enable during Sleep and Stop modes
49846            #[inline(always)]
49847            pub fn aes1smen(&mut self) -> AES1SMEN_W {
49848                AES1SMEN_W { w: self }
49849            }
49850            ///Bit 13 - CPU2 ADC clocks enable during Sleep and Stop modes
49851            #[inline(always)]
49852            pub fn adcfssmen(&mut self) -> ADCFSSMEN_W {
49853                ADCFSSMEN_W { w: self }
49854            }
49855            ///Bit 7 - CPU2 IO port H clocks enable during Sleep and Stop modes
49856            #[inline(always)]
49857            pub fn gpiohsmen(&mut self) -> GPIOHSMEN_W {
49858                GPIOHSMEN_W { w: self }
49859            }
49860            ///Bit 4 - CPU2 IO port E clocks enable during Sleep and Stop modes
49861            #[inline(always)]
49862            pub fn gpioesmen(&mut self) -> GPIOESMEN_W {
49863                GPIOESMEN_W { w: self }
49864            }
49865            ///Bit 3 - CPU2 IO port D clocks enable during Sleep and Stop modes
49866            #[inline(always)]
49867            pub fn gpiodsmen(&mut self) -> GPIODSMEN_W {
49868                GPIODSMEN_W { w: self }
49869            }
49870            ///Bit 2 - CPU2 IO port C clocks enable during Sleep and Stop modes
49871            #[inline(always)]
49872            pub fn gpiocsmen(&mut self) -> GPIOCSMEN_W {
49873                GPIOCSMEN_W { w: self }
49874            }
49875            ///Bit 1 - CPU2 IO port B clocks enable during Sleep and Stop modes
49876            #[inline(always)]
49877            pub fn gpiobsmen(&mut self) -> GPIOBSMEN_W {
49878                GPIOBSMEN_W { w: self }
49879            }
49880            ///Bit 0 - CPU2 IO port A clocks enable during Sleep and Stop modes
49881            #[inline(always)]
49882            pub fn gpioasmen(&mut self) -> GPIOASMEN_W {
49883                GPIOASMEN_W { w: self }
49884            }
49885        }
49886    }
49887    ///CPU2 AHB3 peripheral clocks enable in Sleep and Stop modes register
49888    ///
49889    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
49890    ///
49891    ///For information about available fields see [c2ahb3smenr](c2ahb3smenr) module
49892    pub type C2AHB3SMENR = crate::Reg<u32, _C2AHB3SMENR>;
49893    #[allow(missing_docs)]
49894    #[doc(hidden)]
49895    pub struct _C2AHB3SMENR;
49896    ///`read()` method returns [c2ahb3smenr::R](c2ahb3smenr::R) reader structure
49897    impl crate::Readable for C2AHB3SMENR {}
49898    ///`write(|w| ..)` method takes [c2ahb3smenr::W](c2ahb3smenr::W) writer structure
49899    impl crate::Writable for C2AHB3SMENR {}
49900    ///CPU2 AHB3 peripheral clocks enable in Sleep and Stop modes register
49901    pub mod c2ahb3smenr {
49902        ///Reader of register C2AHB3SMENR
49903        pub type R = crate::R<u32, super::C2AHB3SMENR>;
49904        ///Writer for register C2AHB3SMENR
49905        pub type W = crate::W<u32, super::C2AHB3SMENR>;
49906        ///Register C2AHB3SMENR `reset()`'s with value 0x0307_0000
49907        impl crate::ResetValue for super::C2AHB3SMENR {
49908            type Type = u32;
49909            #[inline(always)]
49910            fn reset_value() -> Self::Type {
49911                0x0307_0000
49912            }
49913        }
49914        ///Reader of field `FLASHSMEN`
49915        pub type FLASHSMEN_R = crate::R<bool, bool>;
49916        ///Write proxy for field `FLASHSMEN`
49917        pub struct FLASHSMEN_W<'a> {
49918            w: &'a mut W,
49919        }
49920        impl<'a> FLASHSMEN_W<'a> {
49921            ///Sets the field bit
49922            #[inline(always)]
49923            pub fn set_bit(self) -> &'a mut W {
49924                self.bit(true)
49925            }
49926            ///Clears the field bit
49927            #[inline(always)]
49928            pub fn clear_bit(self) -> &'a mut W {
49929                self.bit(false)
49930            }
49931            ///Writes raw bits to the field
49932            #[inline(always)]
49933            pub fn bit(self, value: bool) -> &'a mut W {
49934                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
49935                self.w
49936            }
49937        }
49938        ///Reader of field `SRAM2SMEN`
49939        pub type SRAM2SMEN_R = crate::R<bool, bool>;
49940        ///Write proxy for field `SRAM2SMEN`
49941        pub struct SRAM2SMEN_W<'a> {
49942            w: &'a mut W,
49943        }
49944        impl<'a> SRAM2SMEN_W<'a> {
49945            ///Sets the field bit
49946            #[inline(always)]
49947            pub fn set_bit(self) -> &'a mut W {
49948                self.bit(true)
49949            }
49950            ///Clears the field bit
49951            #[inline(always)]
49952            pub fn clear_bit(self) -> &'a mut W {
49953                self.bit(false)
49954            }
49955            ///Writes raw bits to the field
49956            #[inline(always)]
49957            pub fn bit(self, value: bool) -> &'a mut W {
49958                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
49959                self.w
49960            }
49961        }
49962        ///Reader of field `RNGSMEN`
49963        pub type RNGSMEN_R = crate::R<bool, bool>;
49964        ///Write proxy for field `RNGSMEN`
49965        pub struct RNGSMEN_W<'a> {
49966            w: &'a mut W,
49967        }
49968        impl<'a> RNGSMEN_W<'a> {
49969            ///Sets the field bit
49970            #[inline(always)]
49971            pub fn set_bit(self) -> &'a mut W {
49972                self.bit(true)
49973            }
49974            ///Clears the field bit
49975            #[inline(always)]
49976            pub fn clear_bit(self) -> &'a mut W {
49977                self.bit(false)
49978            }
49979            ///Writes raw bits to the field
49980            #[inline(always)]
49981            pub fn bit(self, value: bool) -> &'a mut W {
49982                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
49983                self.w
49984            }
49985        }
49986        ///Reader of field `AES2SMEN`
49987        pub type AES2SMEN_R = crate::R<bool, bool>;
49988        ///Write proxy for field `AES2SMEN`
49989        pub struct AES2SMEN_W<'a> {
49990            w: &'a mut W,
49991        }
49992        impl<'a> AES2SMEN_W<'a> {
49993            ///Sets the field bit
49994            #[inline(always)]
49995            pub fn set_bit(self) -> &'a mut W {
49996                self.bit(true)
49997            }
49998            ///Clears the field bit
49999            #[inline(always)]
50000            pub fn clear_bit(self) -> &'a mut W {
50001                self.bit(false)
50002            }
50003            ///Writes raw bits to the field
50004            #[inline(always)]
50005            pub fn bit(self, value: bool) -> &'a mut W {
50006                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
50007                self.w
50008            }
50009        }
50010        ///Reader of field `PKASMEN`
50011        pub type PKASMEN_R = crate::R<bool, bool>;
50012        ///Write proxy for field `PKASMEN`
50013        pub struct PKASMEN_W<'a> {
50014            w: &'a mut W,
50015        }
50016        impl<'a> PKASMEN_W<'a> {
50017            ///Sets the field bit
50018            #[inline(always)]
50019            pub fn set_bit(self) -> &'a mut W {
50020                self.bit(true)
50021            }
50022            ///Clears the field bit
50023            #[inline(always)]
50024            pub fn clear_bit(self) -> &'a mut W {
50025                self.bit(false)
50026            }
50027            ///Writes raw bits to the field
50028            #[inline(always)]
50029            pub fn bit(self, value: bool) -> &'a mut W {
50030                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
50031                self.w
50032            }
50033        }
50034        impl R {
50035            ///Bit 25 - Flash interface clocks enable during CPU2 sleep modes
50036            #[inline(always)]
50037            pub fn flashsmen(&self) -> FLASHSMEN_R {
50038                FLASHSMEN_R::new(((self.bits >> 25) & 0x01) != 0)
50039            }
50040            ///Bit 24 - SRAM2a and SRAM2b memory interface clocks enable during CPU2 sleep modes
50041            #[inline(always)]
50042            pub fn sram2smen(&self) -> SRAM2SMEN_R {
50043                SRAM2SMEN_R::new(((self.bits >> 24) & 0x01) != 0)
50044            }
50045            ///Bit 18 - True RNG clocks enable during CPU2 sleep modes
50046            #[inline(always)]
50047            pub fn rngsmen(&self) -> RNGSMEN_R {
50048                RNGSMEN_R::new(((self.bits >> 18) & 0x01) != 0)
50049            }
50050            ///Bit 17 - AES2 accelerator clocks enable during CPU2 sleep modes
50051            #[inline(always)]
50052            pub fn aes2smen(&self) -> AES2SMEN_R {
50053                AES2SMEN_R::new(((self.bits >> 17) & 0x01) != 0)
50054            }
50055            ///Bit 16 - PKA accelerator clocks enable during CPU2 sleep modes
50056            #[inline(always)]
50057            pub fn pkasmen(&self) -> PKASMEN_R {
50058                PKASMEN_R::new(((self.bits >> 16) & 0x01) != 0)
50059            }
50060        }
50061        impl W {
50062            ///Bit 25 - Flash interface clocks enable during CPU2 sleep modes
50063            #[inline(always)]
50064            pub fn flashsmen(&mut self) -> FLASHSMEN_W {
50065                FLASHSMEN_W { w: self }
50066            }
50067            ///Bit 24 - SRAM2a and SRAM2b memory interface clocks enable during CPU2 sleep modes
50068            #[inline(always)]
50069            pub fn sram2smen(&mut self) -> SRAM2SMEN_W {
50070                SRAM2SMEN_W { w: self }
50071            }
50072            ///Bit 18 - True RNG clocks enable during CPU2 sleep modes
50073            #[inline(always)]
50074            pub fn rngsmen(&mut self) -> RNGSMEN_W {
50075                RNGSMEN_W { w: self }
50076            }
50077            ///Bit 17 - AES2 accelerator clocks enable during CPU2 sleep modes
50078            #[inline(always)]
50079            pub fn aes2smen(&mut self) -> AES2SMEN_W {
50080                AES2SMEN_W { w: self }
50081            }
50082            ///Bit 16 - PKA accelerator clocks enable during CPU2 sleep modes
50083            #[inline(always)]
50084            pub fn pkasmen(&mut self) -> PKASMEN_W {
50085                PKASMEN_W { w: self }
50086            }
50087        }
50088    }
50089    ///CPU2 APB1SMENR1
50090    ///
50091    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
50092    ///
50093    ///For information about available fields see [c2apb1smenr1](c2apb1smenr1) module
50094    pub type C2APB1SMENR1 = crate::Reg<u32, _C2APB1SMENR1>;
50095    #[allow(missing_docs)]
50096    #[doc(hidden)]
50097    pub struct _C2APB1SMENR1;
50098    ///`read()` method returns [c2apb1smenr1::R](c2apb1smenr1::R) reader structure
50099    impl crate::Readable for C2APB1SMENR1 {}
50100    ///`write(|w| ..)` method takes [c2apb1smenr1::W](c2apb1smenr1::W) writer structure
50101    impl crate::Writable for C2APB1SMENR1 {}
50102    ///CPU2 APB1SMENR1
50103    pub mod c2apb1smenr1 {
50104        ///Reader of register C2APB1SMENR1
50105        pub type R = crate::R<u32, super::C2APB1SMENR1>;
50106        ///Writer for register C2APB1SMENR1
50107        pub type W = crate::W<u32, super::C2APB1SMENR1>;
50108        ///Register C2APB1SMENR1 `reset()`'s with value 0x85a0_4601
50109        impl crate::ResetValue for super::C2APB1SMENR1 {
50110            type Type = u32;
50111            #[inline(always)]
50112            fn reset_value() -> Self::Type {
50113                0x85a0_4601
50114            }
50115        }
50116        ///Reader of field `LPTIM1SMEN`
50117        pub type LPTIM1SMEN_R = crate::R<bool, bool>;
50118        ///Write proxy for field `LPTIM1SMEN`
50119        pub struct LPTIM1SMEN_W<'a> {
50120            w: &'a mut W,
50121        }
50122        impl<'a> LPTIM1SMEN_W<'a> {
50123            ///Sets the field bit
50124            #[inline(always)]
50125            pub fn set_bit(self) -> &'a mut W {
50126                self.bit(true)
50127            }
50128            ///Clears the field bit
50129            #[inline(always)]
50130            pub fn clear_bit(self) -> &'a mut W {
50131                self.bit(false)
50132            }
50133            ///Writes raw bits to the field
50134            #[inline(always)]
50135            pub fn bit(self, value: bool) -> &'a mut W {
50136                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
50137                self.w
50138            }
50139        }
50140        ///Reader of field `USBSMEN`
50141        pub type USBSMEN_R = crate::R<bool, bool>;
50142        ///Write proxy for field `USBSMEN`
50143        pub struct USBSMEN_W<'a> {
50144            w: &'a mut W,
50145        }
50146        impl<'a> USBSMEN_W<'a> {
50147            ///Sets the field bit
50148            #[inline(always)]
50149            pub fn set_bit(self) -> &'a mut W {
50150                self.bit(true)
50151            }
50152            ///Clears the field bit
50153            #[inline(always)]
50154            pub fn clear_bit(self) -> &'a mut W {
50155                self.bit(false)
50156            }
50157            ///Writes raw bits to the field
50158            #[inline(always)]
50159            pub fn bit(self, value: bool) -> &'a mut W {
50160                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
50161                self.w
50162            }
50163        }
50164        ///Reader of field `CRSMEN`
50165        pub type CRSMEN_R = crate::R<bool, bool>;
50166        ///Write proxy for field `CRSMEN`
50167        pub struct CRSMEN_W<'a> {
50168            w: &'a mut W,
50169        }
50170        impl<'a> CRSMEN_W<'a> {
50171            ///Sets the field bit
50172            #[inline(always)]
50173            pub fn set_bit(self) -> &'a mut W {
50174                self.bit(true)
50175            }
50176            ///Clears the field bit
50177            #[inline(always)]
50178            pub fn clear_bit(self) -> &'a mut W {
50179                self.bit(false)
50180            }
50181            ///Writes raw bits to the field
50182            #[inline(always)]
50183            pub fn bit(self, value: bool) -> &'a mut W {
50184                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
50185                self.w
50186            }
50187        }
50188        ///Reader of field `I2C3SMEN`
50189        pub type I2C3SMEN_R = crate::R<bool, bool>;
50190        ///Write proxy for field `I2C3SMEN`
50191        pub struct I2C3SMEN_W<'a> {
50192            w: &'a mut W,
50193        }
50194        impl<'a> I2C3SMEN_W<'a> {
50195            ///Sets the field bit
50196            #[inline(always)]
50197            pub fn set_bit(self) -> &'a mut W {
50198                self.bit(true)
50199            }
50200            ///Clears the field bit
50201            #[inline(always)]
50202            pub fn clear_bit(self) -> &'a mut W {
50203                self.bit(false)
50204            }
50205            ///Writes raw bits to the field
50206            #[inline(always)]
50207            pub fn bit(self, value: bool) -> &'a mut W {
50208                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
50209                self.w
50210            }
50211        }
50212        ///Reader of field `I2C1SMEN`
50213        pub type I2C1SMEN_R = crate::R<bool, bool>;
50214        ///Write proxy for field `I2C1SMEN`
50215        pub struct I2C1SMEN_W<'a> {
50216            w: &'a mut W,
50217        }
50218        impl<'a> I2C1SMEN_W<'a> {
50219            ///Sets the field bit
50220            #[inline(always)]
50221            pub fn set_bit(self) -> &'a mut W {
50222                self.bit(true)
50223            }
50224            ///Clears the field bit
50225            #[inline(always)]
50226            pub fn clear_bit(self) -> &'a mut W {
50227                self.bit(false)
50228            }
50229            ///Writes raw bits to the field
50230            #[inline(always)]
50231            pub fn bit(self, value: bool) -> &'a mut W {
50232                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
50233                self.w
50234            }
50235        }
50236        ///Reader of field `SPI2SMEN`
50237        pub type SPI2SMEN_R = crate::R<bool, bool>;
50238        ///Write proxy for field `SPI2SMEN`
50239        pub struct SPI2SMEN_W<'a> {
50240            w: &'a mut W,
50241        }
50242        impl<'a> SPI2SMEN_W<'a> {
50243            ///Sets the field bit
50244            #[inline(always)]
50245            pub fn set_bit(self) -> &'a mut W {
50246                self.bit(true)
50247            }
50248            ///Clears the field bit
50249            #[inline(always)]
50250            pub fn clear_bit(self) -> &'a mut W {
50251                self.bit(false)
50252            }
50253            ///Writes raw bits to the field
50254            #[inline(always)]
50255            pub fn bit(self, value: bool) -> &'a mut W {
50256                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
50257                self.w
50258            }
50259        }
50260        ///Reader of field `RTCAPBSMEN`
50261        pub type RTCAPBSMEN_R = crate::R<bool, bool>;
50262        ///Write proxy for field `RTCAPBSMEN`
50263        pub struct RTCAPBSMEN_W<'a> {
50264            w: &'a mut W,
50265        }
50266        impl<'a> RTCAPBSMEN_W<'a> {
50267            ///Sets the field bit
50268            #[inline(always)]
50269            pub fn set_bit(self) -> &'a mut W {
50270                self.bit(true)
50271            }
50272            ///Clears the field bit
50273            #[inline(always)]
50274            pub fn clear_bit(self) -> &'a mut W {
50275                self.bit(false)
50276            }
50277            ///Writes raw bits to the field
50278            #[inline(always)]
50279            pub fn bit(self, value: bool) -> &'a mut W {
50280                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
50281                self.w
50282            }
50283        }
50284        ///Reader of field `LCDSMEN`
50285        pub type LCDSMEN_R = crate::R<bool, bool>;
50286        ///Write proxy for field `LCDSMEN`
50287        pub struct LCDSMEN_W<'a> {
50288            w: &'a mut W,
50289        }
50290        impl<'a> LCDSMEN_W<'a> {
50291            ///Sets the field bit
50292            #[inline(always)]
50293            pub fn set_bit(self) -> &'a mut W {
50294                self.bit(true)
50295            }
50296            ///Clears the field bit
50297            #[inline(always)]
50298            pub fn clear_bit(self) -> &'a mut W {
50299                self.bit(false)
50300            }
50301            ///Writes raw bits to the field
50302            #[inline(always)]
50303            pub fn bit(self, value: bool) -> &'a mut W {
50304                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
50305                self.w
50306            }
50307        }
50308        ///Reader of field `TIM2SMEN`
50309        pub type TIM2SMEN_R = crate::R<bool, bool>;
50310        ///Write proxy for field `TIM2SMEN`
50311        pub struct TIM2SMEN_W<'a> {
50312            w: &'a mut W,
50313        }
50314        impl<'a> TIM2SMEN_W<'a> {
50315            ///Sets the field bit
50316            #[inline(always)]
50317            pub fn set_bit(self) -> &'a mut W {
50318                self.bit(true)
50319            }
50320            ///Clears the field bit
50321            #[inline(always)]
50322            pub fn clear_bit(self) -> &'a mut W {
50323                self.bit(false)
50324            }
50325            ///Writes raw bits to the field
50326            #[inline(always)]
50327            pub fn bit(self, value: bool) -> &'a mut W {
50328                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
50329                self.w
50330            }
50331        }
50332        impl R {
50333            ///Bit 31 - Low power timer 1 clocks enable during CPU2 Sleep mode
50334            #[inline(always)]
50335            pub fn lptim1smen(&self) -> LPTIM1SMEN_R {
50336                LPTIM1SMEN_R::new(((self.bits >> 31) & 0x01) != 0)
50337            }
50338            ///Bit 26 - USB FS clocks enable during CPU2 Sleep mode
50339            #[inline(always)]
50340            pub fn usbsmen(&self) -> USBSMEN_R {
50341                USBSMEN_R::new(((self.bits >> 26) & 0x01) != 0)
50342            }
50343            ///Bit 24 - CRS clocks enable during CPU2 Sleep mode
50344            #[inline(always)]
50345            pub fn crsmen(&self) -> CRSMEN_R {
50346                CRSMEN_R::new(((self.bits >> 24) & 0x01) != 0)
50347            }
50348            ///Bit 23 - I2C3 clocks enable during CPU2 Sleep mode
50349            #[inline(always)]
50350            pub fn i2c3smen(&self) -> I2C3SMEN_R {
50351                I2C3SMEN_R::new(((self.bits >> 23) & 0x01) != 0)
50352            }
50353            ///Bit 21 - I2C1 clocks enable during CPU2 Sleep mode
50354            #[inline(always)]
50355            pub fn i2c1smen(&self) -> I2C1SMEN_R {
50356                I2C1SMEN_R::new(((self.bits >> 21) & 0x01) != 0)
50357            }
50358            ///Bit 14 - SPI2 clocks enable during CPU2 Sleep mode
50359            #[inline(always)]
50360            pub fn spi2smen(&self) -> SPI2SMEN_R {
50361                SPI2SMEN_R::new(((self.bits >> 14) & 0x01) != 0)
50362            }
50363            ///Bit 10 - RTC APB clocks enable during CPU2 Sleep mode
50364            #[inline(always)]
50365            pub fn rtcapbsmen(&self) -> RTCAPBSMEN_R {
50366                RTCAPBSMEN_R::new(((self.bits >> 10) & 0x01) != 0)
50367            }
50368            ///Bit 9 - LCD clocks enable during CPU2 Sleep mode
50369            #[inline(always)]
50370            pub fn lcdsmen(&self) -> LCDSMEN_R {
50371                LCDSMEN_R::new(((self.bits >> 9) & 0x01) != 0)
50372            }
50373            ///Bit 0 - TIM2 timer clocks enable during CPU2 Sleep mode
50374            #[inline(always)]
50375            pub fn tim2smen(&self) -> TIM2SMEN_R {
50376                TIM2SMEN_R::new((self.bits & 0x01) != 0)
50377            }
50378        }
50379        impl W {
50380            ///Bit 31 - Low power timer 1 clocks enable during CPU2 Sleep mode
50381            #[inline(always)]
50382            pub fn lptim1smen(&mut self) -> LPTIM1SMEN_W {
50383                LPTIM1SMEN_W { w: self }
50384            }
50385            ///Bit 26 - USB FS clocks enable during CPU2 Sleep mode
50386            #[inline(always)]
50387            pub fn usbsmen(&mut self) -> USBSMEN_W {
50388                USBSMEN_W { w: self }
50389            }
50390            ///Bit 24 - CRS clocks enable during CPU2 Sleep mode
50391            #[inline(always)]
50392            pub fn crsmen(&mut self) -> CRSMEN_W {
50393                CRSMEN_W { w: self }
50394            }
50395            ///Bit 23 - I2C3 clocks enable during CPU2 Sleep mode
50396            #[inline(always)]
50397            pub fn i2c3smen(&mut self) -> I2C3SMEN_W {
50398                I2C3SMEN_W { w: self }
50399            }
50400            ///Bit 21 - I2C1 clocks enable during CPU2 Sleep mode
50401            #[inline(always)]
50402            pub fn i2c1smen(&mut self) -> I2C1SMEN_W {
50403                I2C1SMEN_W { w: self }
50404            }
50405            ///Bit 14 - SPI2 clocks enable during CPU2 Sleep mode
50406            #[inline(always)]
50407            pub fn spi2smen(&mut self) -> SPI2SMEN_W {
50408                SPI2SMEN_W { w: self }
50409            }
50410            ///Bit 10 - RTC APB clocks enable during CPU2 Sleep mode
50411            #[inline(always)]
50412            pub fn rtcapbsmen(&mut self) -> RTCAPBSMEN_W {
50413                RTCAPBSMEN_W { w: self }
50414            }
50415            ///Bit 9 - LCD clocks enable during CPU2 Sleep mode
50416            #[inline(always)]
50417            pub fn lcdsmen(&mut self) -> LCDSMEN_W {
50418                LCDSMEN_W { w: self }
50419            }
50420            ///Bit 0 - TIM2 timer clocks enable during CPU2 Sleep mode
50421            #[inline(always)]
50422            pub fn tim2smen(&mut self) -> TIM2SMEN_W {
50423                TIM2SMEN_W { w: self }
50424            }
50425        }
50426    }
50427    ///CPU2 APB1 peripheral clocks enable in Sleep and Stop modes register 2
50428    ///
50429    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
50430    ///
50431    ///For information about available fields see [c2apb1smenr2](c2apb1smenr2) module
50432    pub type C2APB1SMENR2 = crate::Reg<u32, _C2APB1SMENR2>;
50433    #[allow(missing_docs)]
50434    #[doc(hidden)]
50435    pub struct _C2APB1SMENR2;
50436    ///`read()` method returns [c2apb1smenr2::R](c2apb1smenr2::R) reader structure
50437    impl crate::Readable for C2APB1SMENR2 {}
50438    ///`write(|w| ..)` method takes [c2apb1smenr2::W](c2apb1smenr2::W) writer structure
50439    impl crate::Writable for C2APB1SMENR2 {}
50440    ///CPU2 APB1 peripheral clocks enable in Sleep and Stop modes register 2
50441    pub mod c2apb1smenr2 {
50442        ///Reader of register C2APB1SMENR2
50443        pub type R = crate::R<u32, super::C2APB1SMENR2>;
50444        ///Writer for register C2APB1SMENR2
50445        pub type W = crate::W<u32, super::C2APB1SMENR2>;
50446        ///Register C2APB1SMENR2 `reset()`'s with value 0x21
50447        impl crate::ResetValue for super::C2APB1SMENR2 {
50448            type Type = u32;
50449            #[inline(always)]
50450            fn reset_value() -> Self::Type {
50451                0x21
50452            }
50453        }
50454        ///Reader of field `LPTIM2SMEN`
50455        pub type LPTIM2SMEN_R = crate::R<bool, bool>;
50456        ///Write proxy for field `LPTIM2SMEN`
50457        pub struct LPTIM2SMEN_W<'a> {
50458            w: &'a mut W,
50459        }
50460        impl<'a> LPTIM2SMEN_W<'a> {
50461            ///Sets the field bit
50462            #[inline(always)]
50463            pub fn set_bit(self) -> &'a mut W {
50464                self.bit(true)
50465            }
50466            ///Clears the field bit
50467            #[inline(always)]
50468            pub fn clear_bit(self) -> &'a mut W {
50469                self.bit(false)
50470            }
50471            ///Writes raw bits to the field
50472            #[inline(always)]
50473            pub fn bit(self, value: bool) -> &'a mut W {
50474                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
50475                self.w
50476            }
50477        }
50478        ///Reader of field `LPUART1SMEN`
50479        pub type LPUART1SMEN_R = crate::R<bool, bool>;
50480        ///Write proxy for field `LPUART1SMEN`
50481        pub struct LPUART1SMEN_W<'a> {
50482            w: &'a mut W,
50483        }
50484        impl<'a> LPUART1SMEN_W<'a> {
50485            ///Sets the field bit
50486            #[inline(always)]
50487            pub fn set_bit(self) -> &'a mut W {
50488                self.bit(true)
50489            }
50490            ///Clears the field bit
50491            #[inline(always)]
50492            pub fn clear_bit(self) -> &'a mut W {
50493                self.bit(false)
50494            }
50495            ///Writes raw bits to the field
50496            #[inline(always)]
50497            pub fn bit(self, value: bool) -> &'a mut W {
50498                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
50499                self.w
50500            }
50501        }
50502        impl R {
50503            ///Bit 5 - Low power timer 2 clocks enable during CPU2 Sleep mode
50504            #[inline(always)]
50505            pub fn lptim2smen(&self) -> LPTIM2SMEN_R {
50506                LPTIM2SMEN_R::new(((self.bits >> 5) & 0x01) != 0)
50507            }
50508            ///Bit 0 - Low power UART 1 clocks enable during CPU2 Sleep mode
50509            #[inline(always)]
50510            pub fn lpuart1smen(&self) -> LPUART1SMEN_R {
50511                LPUART1SMEN_R::new((self.bits & 0x01) != 0)
50512            }
50513        }
50514        impl W {
50515            ///Bit 5 - Low power timer 2 clocks enable during CPU2 Sleep mode
50516            #[inline(always)]
50517            pub fn lptim2smen(&mut self) -> LPTIM2SMEN_W {
50518                LPTIM2SMEN_W { w: self }
50519            }
50520            ///Bit 0 - Low power UART 1 clocks enable during CPU2 Sleep mode
50521            #[inline(always)]
50522            pub fn lpuart1smen(&mut self) -> LPUART1SMEN_W {
50523                LPUART1SMEN_W { w: self }
50524            }
50525        }
50526    }
50527    ///CPU2 APB2SMENR
50528    ///
50529    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
50530    ///
50531    ///For information about available fields see [c2apb2smenr](c2apb2smenr) module
50532    pub type C2APB2SMENR = crate::Reg<u32, _C2APB2SMENR>;
50533    #[allow(missing_docs)]
50534    #[doc(hidden)]
50535    pub struct _C2APB2SMENR;
50536    ///`read()` method returns [c2apb2smenr::R](c2apb2smenr::R) reader structure
50537    impl crate::Readable for C2APB2SMENR {}
50538    ///`write(|w| ..)` method takes [c2apb2smenr::W](c2apb2smenr::W) writer structure
50539    impl crate::Writable for C2APB2SMENR {}
50540    ///CPU2 APB2SMENR
50541    pub mod c2apb2smenr {
50542        ///Reader of register C2APB2SMENR
50543        pub type R = crate::R<u32, super::C2APB2SMENR>;
50544        ///Writer for register C2APB2SMENR
50545        pub type W = crate::W<u32, super::C2APB2SMENR>;
50546        ///Register C2APB2SMENR `reset()`'s with value 0x0026_5800
50547        impl crate::ResetValue for super::C2APB2SMENR {
50548            type Type = u32;
50549            #[inline(always)]
50550            fn reset_value() -> Self::Type {
50551                0x0026_5800
50552            }
50553        }
50554        ///Reader of field `SAI1SMEN`
50555        pub type SAI1SMEN_R = crate::R<bool, bool>;
50556        ///Write proxy for field `SAI1SMEN`
50557        pub struct SAI1SMEN_W<'a> {
50558            w: &'a mut W,
50559        }
50560        impl<'a> SAI1SMEN_W<'a> {
50561            ///Sets the field bit
50562            #[inline(always)]
50563            pub fn set_bit(self) -> &'a mut W {
50564                self.bit(true)
50565            }
50566            ///Clears the field bit
50567            #[inline(always)]
50568            pub fn clear_bit(self) -> &'a mut W {
50569                self.bit(false)
50570            }
50571            ///Writes raw bits to the field
50572            #[inline(always)]
50573            pub fn bit(self, value: bool) -> &'a mut W {
50574                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
50575                self.w
50576            }
50577        }
50578        ///Reader of field `TIM17SMEN`
50579        pub type TIM17SMEN_R = crate::R<bool, bool>;
50580        ///Write proxy for field `TIM17SMEN`
50581        pub struct TIM17SMEN_W<'a> {
50582            w: &'a mut W,
50583        }
50584        impl<'a> TIM17SMEN_W<'a> {
50585            ///Sets the field bit
50586            #[inline(always)]
50587            pub fn set_bit(self) -> &'a mut W {
50588                self.bit(true)
50589            }
50590            ///Clears the field bit
50591            #[inline(always)]
50592            pub fn clear_bit(self) -> &'a mut W {
50593                self.bit(false)
50594            }
50595            ///Writes raw bits to the field
50596            #[inline(always)]
50597            pub fn bit(self, value: bool) -> &'a mut W {
50598                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
50599                self.w
50600            }
50601        }
50602        ///Reader of field `TIM16SMEN`
50603        pub type TIM16SMEN_R = crate::R<bool, bool>;
50604        ///Write proxy for field `TIM16SMEN`
50605        pub struct TIM16SMEN_W<'a> {
50606            w: &'a mut W,
50607        }
50608        impl<'a> TIM16SMEN_W<'a> {
50609            ///Sets the field bit
50610            #[inline(always)]
50611            pub fn set_bit(self) -> &'a mut W {
50612                self.bit(true)
50613            }
50614            ///Clears the field bit
50615            #[inline(always)]
50616            pub fn clear_bit(self) -> &'a mut W {
50617                self.bit(false)
50618            }
50619            ///Writes raw bits to the field
50620            #[inline(always)]
50621            pub fn bit(self, value: bool) -> &'a mut W {
50622                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
50623                self.w
50624            }
50625        }
50626        ///Reader of field `USART1SMEN`
50627        pub type USART1SMEN_R = crate::R<bool, bool>;
50628        ///Write proxy for field `USART1SMEN`
50629        pub struct USART1SMEN_W<'a> {
50630            w: &'a mut W,
50631        }
50632        impl<'a> USART1SMEN_W<'a> {
50633            ///Sets the field bit
50634            #[inline(always)]
50635            pub fn set_bit(self) -> &'a mut W {
50636                self.bit(true)
50637            }
50638            ///Clears the field bit
50639            #[inline(always)]
50640            pub fn clear_bit(self) -> &'a mut W {
50641                self.bit(false)
50642            }
50643            ///Writes raw bits to the field
50644            #[inline(always)]
50645            pub fn bit(self, value: bool) -> &'a mut W {
50646                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
50647                self.w
50648            }
50649        }
50650        ///Reader of field `SPI1SMEN`
50651        pub type SPI1SMEN_R = crate::R<bool, bool>;
50652        ///Write proxy for field `SPI1SMEN`
50653        pub struct SPI1SMEN_W<'a> {
50654            w: &'a mut W,
50655        }
50656        impl<'a> SPI1SMEN_W<'a> {
50657            ///Sets the field bit
50658            #[inline(always)]
50659            pub fn set_bit(self) -> &'a mut W {
50660                self.bit(true)
50661            }
50662            ///Clears the field bit
50663            #[inline(always)]
50664            pub fn clear_bit(self) -> &'a mut W {
50665                self.bit(false)
50666            }
50667            ///Writes raw bits to the field
50668            #[inline(always)]
50669            pub fn bit(self, value: bool) -> &'a mut W {
50670                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
50671                self.w
50672            }
50673        }
50674        ///Reader of field `TIM1SMEN`
50675        pub type TIM1SMEN_R = crate::R<bool, bool>;
50676        ///Write proxy for field `TIM1SMEN`
50677        pub struct TIM1SMEN_W<'a> {
50678            w: &'a mut W,
50679        }
50680        impl<'a> TIM1SMEN_W<'a> {
50681            ///Sets the field bit
50682            #[inline(always)]
50683            pub fn set_bit(self) -> &'a mut W {
50684                self.bit(true)
50685            }
50686            ///Clears the field bit
50687            #[inline(always)]
50688            pub fn clear_bit(self) -> &'a mut W {
50689                self.bit(false)
50690            }
50691            ///Writes raw bits to the field
50692            #[inline(always)]
50693            pub fn bit(self, value: bool) -> &'a mut W {
50694                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
50695                self.w
50696            }
50697        }
50698        impl R {
50699            ///Bit 21 - SAI1 clocks enable during CPU2 Sleep mode
50700            #[inline(always)]
50701            pub fn sai1smen(&self) -> SAI1SMEN_R {
50702                SAI1SMEN_R::new(((self.bits >> 21) & 0x01) != 0)
50703            }
50704            ///Bit 18 - TIM17 timer clocks enable during CPU2 Sleep mode
50705            #[inline(always)]
50706            pub fn tim17smen(&self) -> TIM17SMEN_R {
50707                TIM17SMEN_R::new(((self.bits >> 18) & 0x01) != 0)
50708            }
50709            ///Bit 17 - TIM16 timer clocks enable during CPU2 Sleep mode
50710            #[inline(always)]
50711            pub fn tim16smen(&self) -> TIM16SMEN_R {
50712                TIM16SMEN_R::new(((self.bits >> 17) & 0x01) != 0)
50713            }
50714            ///Bit 14 - USART1clocks enable during CPU2 Sleep mode
50715            #[inline(always)]
50716            pub fn usart1smen(&self) -> USART1SMEN_R {
50717                USART1SMEN_R::new(((self.bits >> 14) & 0x01) != 0)
50718            }
50719            ///Bit 12 - SPI1 clocks enable during CPU2 Sleep mode
50720            #[inline(always)]
50721            pub fn spi1smen(&self) -> SPI1SMEN_R {
50722                SPI1SMEN_R::new(((self.bits >> 12) & 0x01) != 0)
50723            }
50724            ///Bit 11 - TIM1 timer clocks enable during CPU2 Sleep mode
50725            #[inline(always)]
50726            pub fn tim1smen(&self) -> TIM1SMEN_R {
50727                TIM1SMEN_R::new(((self.bits >> 11) & 0x01) != 0)
50728            }
50729        }
50730        impl W {
50731            ///Bit 21 - SAI1 clocks enable during CPU2 Sleep mode
50732            #[inline(always)]
50733            pub fn sai1smen(&mut self) -> SAI1SMEN_W {
50734                SAI1SMEN_W { w: self }
50735            }
50736            ///Bit 18 - TIM17 timer clocks enable during CPU2 Sleep mode
50737            #[inline(always)]
50738            pub fn tim17smen(&mut self) -> TIM17SMEN_W {
50739                TIM17SMEN_W { w: self }
50740            }
50741            ///Bit 17 - TIM16 timer clocks enable during CPU2 Sleep mode
50742            #[inline(always)]
50743            pub fn tim16smen(&mut self) -> TIM16SMEN_W {
50744                TIM16SMEN_W { w: self }
50745            }
50746            ///Bit 14 - USART1clocks enable during CPU2 Sleep mode
50747            #[inline(always)]
50748            pub fn usart1smen(&mut self) -> USART1SMEN_W {
50749                USART1SMEN_W { w: self }
50750            }
50751            ///Bit 12 - SPI1 clocks enable during CPU2 Sleep mode
50752            #[inline(always)]
50753            pub fn spi1smen(&mut self) -> SPI1SMEN_W {
50754                SPI1SMEN_W { w: self }
50755            }
50756            ///Bit 11 - TIM1 timer clocks enable during CPU2 Sleep mode
50757            #[inline(always)]
50758            pub fn tim1smen(&mut self) -> TIM1SMEN_W {
50759                TIM1SMEN_W { w: self }
50760            }
50761        }
50762    }
50763    ///CPU2 APB3SMENR
50764    ///
50765    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
50766    ///
50767    ///For information about available fields see [c2apb3smenr](c2apb3smenr) module
50768    pub type C2APB3SMENR = crate::Reg<u32, _C2APB3SMENR>;
50769    #[allow(missing_docs)]
50770    #[doc(hidden)]
50771    pub struct _C2APB3SMENR;
50772    ///`read()` method returns [c2apb3smenr::R](c2apb3smenr::R) reader structure
50773    impl crate::Readable for C2APB3SMENR {}
50774    ///`write(|w| ..)` method takes [c2apb3smenr::W](c2apb3smenr::W) writer structure
50775    impl crate::Writable for C2APB3SMENR {}
50776    ///CPU2 APB3SMENR
50777    pub mod c2apb3smenr {
50778        ///Reader of register C2APB3SMENR
50779        pub type R = crate::R<u32, super::C2APB3SMENR>;
50780        ///Writer for register C2APB3SMENR
50781        pub type W = crate::W<u32, super::C2APB3SMENR>;
50782        ///Register C2APB3SMENR `reset()`'s with value 0x03
50783        impl crate::ResetValue for super::C2APB3SMENR {
50784            type Type = u32;
50785            #[inline(always)]
50786            fn reset_value() -> Self::Type {
50787                0x03
50788            }
50789        }
50790        ///Reader of field `SMEN802`
50791        pub type SMEN802_R = crate::R<bool, bool>;
50792        ///Write proxy for field `SMEN802`
50793        pub struct SMEN802_W<'a> {
50794            w: &'a mut W,
50795        }
50796        impl<'a> SMEN802_W<'a> {
50797            ///Sets the field bit
50798            #[inline(always)]
50799            pub fn set_bit(self) -> &'a mut W {
50800                self.bit(true)
50801            }
50802            ///Clears the field bit
50803            #[inline(always)]
50804            pub fn clear_bit(self) -> &'a mut W {
50805                self.bit(false)
50806            }
50807            ///Writes raw bits to the field
50808            #[inline(always)]
50809            pub fn bit(self, value: bool) -> &'a mut W {
50810                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
50811                self.w
50812            }
50813        }
50814        ///Reader of field `BLESMEN`
50815        pub type BLESMEN_R = crate::R<bool, bool>;
50816        ///Write proxy for field `BLESMEN`
50817        pub struct BLESMEN_W<'a> {
50818            w: &'a mut W,
50819        }
50820        impl<'a> BLESMEN_W<'a> {
50821            ///Sets the field bit
50822            #[inline(always)]
50823            pub fn set_bit(self) -> &'a mut W {
50824                self.bit(true)
50825            }
50826            ///Clears the field bit
50827            #[inline(always)]
50828            pub fn clear_bit(self) -> &'a mut W {
50829                self.bit(false)
50830            }
50831            ///Writes raw bits to the field
50832            #[inline(always)]
50833            pub fn bit(self, value: bool) -> &'a mut W {
50834                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
50835                self.w
50836            }
50837        }
50838        impl R {
50839            ///Bit 1 - 802.15.4 interface clocks enable during CPU2 Sleep modes
50840            #[inline(always)]
50841            pub fn smen802(&self) -> SMEN802_R {
50842                SMEN802_R::new(((self.bits >> 1) & 0x01) != 0)
50843            }
50844            ///Bit 0 - BLE interface clocks enable during CPU2 Sleep mode
50845            #[inline(always)]
50846            pub fn blesmen(&self) -> BLESMEN_R {
50847                BLESMEN_R::new((self.bits & 0x01) != 0)
50848            }
50849        }
50850        impl W {
50851            ///Bit 1 - 802.15.4 interface clocks enable during CPU2 Sleep modes
50852            #[inline(always)]
50853            pub fn smen802(&mut self) -> SMEN802_W {
50854                SMEN802_W { w: self }
50855            }
50856            ///Bit 0 - BLE interface clocks enable during CPU2 Sleep mode
50857            #[inline(always)]
50858            pub fn blesmen(&mut self) -> BLESMEN_W {
50859                BLESMEN_W { w: self }
50860            }
50861        }
50862    }
50863}
50864///Power control
50865pub struct PWR {
50866    _marker: PhantomData<*const ()>,
50867}
50868unsafe impl Send for PWR {}
50869impl PWR {
50870    ///Returns a pointer to the register block
50871    #[inline(always)]
50872    pub const fn ptr() -> *const pwr::RegisterBlock {
50873        0x5800_0400 as *const _
50874    }
50875}
50876impl Deref for PWR {
50877    type Target = pwr::RegisterBlock;
50878    #[inline(always)]
50879    fn deref(&self) -> &Self::Target {
50880        unsafe { &*PWR::ptr() }
50881    }
50882}
50883///Power control
50884pub mod pwr {
50885    ///Register block
50886    #[repr(C)]
50887    pub struct RegisterBlock {
50888        ///0x00 - Power control register 1
50889        pub cr1: CR1,
50890        ///0x04 - Power control register 2
50891        pub cr2: CR2,
50892        ///0x08 - Power control register 3
50893        pub cr3: CR3,
50894        ///0x0c - Power control register 4
50895        pub cr4: CR4,
50896        ///0x10 - Power status register 1
50897        pub sr1: SR1,
50898        ///0x14 - Power status register 2
50899        pub sr2: SR2,
50900        ///0x18 - Power status clear register
50901        pub scr: SCR,
50902        ///0x1c - Power control register 5
50903        pub cr5: CR5,
50904        ///0x20 - Power Port A pull-up control register
50905        pub pucra: PUCRA,
50906        ///0x24 - Power Port A pull-down control register
50907        pub pdcra: PDCRA,
50908        ///0x28 - Power Port B pull-up control register
50909        pub pucrb: PUCRB,
50910        ///0x2c - Power Port B pull-down control register
50911        pub pdcrb: PDCRB,
50912        ///0x30 - Power Port C pull-up control register
50913        pub pucrc: PUCRC,
50914        ///0x34 - Power Port C pull-down control register
50915        pub pdcrc: PDCRC,
50916        ///0x38 - Power Port D pull-up control register
50917        pub pucrd: PUCRD,
50918        ///0x3c - Power Port D pull-down control register
50919        pub pdcrd: PDCRD,
50920        ///0x40 - Power Port E pull-up control register
50921        pub pucre: PUCRE,
50922        ///0x44 - Power Port E pull-down control register
50923        pub pdcre: PDCRE,
50924        _reserved18: [u8; 16usize],
50925        ///0x58 - Power Port H pull-up control register
50926        pub pucrh: PUCRH,
50927        ///0x5c - Power Port H pull-down control register
50928        pub pdcrh: PDCRH,
50929        _reserved20: [u8; 32usize],
50930        ///0x80 - CPU2 Power control register 1
50931        pub c2cr1: C2CR1,
50932        ///0x84 - CPU2 Power control register 3
50933        pub c2cr3: C2CR3,
50934        ///0x88 - Power status clear register
50935        pub extscr: EXTSCR,
50936    }
50937    ///Power control register 1
50938    ///
50939    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
50940    ///
50941    ///For information about available fields see [cr1](cr1) module
50942    pub type CR1 = crate::Reg<u32, _CR1>;
50943    #[allow(missing_docs)]
50944    #[doc(hidden)]
50945    pub struct _CR1;
50946    ///`read()` method returns [cr1::R](cr1::R) reader structure
50947    impl crate::Readable for CR1 {}
50948    ///`write(|w| ..)` method takes [cr1::W](cr1::W) writer structure
50949    impl crate::Writable for CR1 {}
50950    ///Power control register 1
50951    pub mod cr1 {
50952        ///Reader of register CR1
50953        pub type R = crate::R<u32, super::CR1>;
50954        ///Writer for register CR1
50955        pub type W = crate::W<u32, super::CR1>;
50956        ///Register CR1 `reset()`'s with value 0x0200
50957        impl crate::ResetValue for super::CR1 {
50958            type Type = u32;
50959            #[inline(always)]
50960            fn reset_value() -> Self::Type {
50961                0x0200
50962            }
50963        }
50964        ///Reader of field `LPR`
50965        pub type LPR_R = crate::R<bool, bool>;
50966        ///Write proxy for field `LPR`
50967        pub struct LPR_W<'a> {
50968            w: &'a mut W,
50969        }
50970        impl<'a> LPR_W<'a> {
50971            ///Sets the field bit
50972            #[inline(always)]
50973            pub fn set_bit(self) -> &'a mut W {
50974                self.bit(true)
50975            }
50976            ///Clears the field bit
50977            #[inline(always)]
50978            pub fn clear_bit(self) -> &'a mut W {
50979                self.bit(false)
50980            }
50981            ///Writes raw bits to the field
50982            #[inline(always)]
50983            pub fn bit(self, value: bool) -> &'a mut W {
50984                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
50985                self.w
50986            }
50987        }
50988        ///Reader of field `VOS`
50989        pub type VOS_R = crate::R<u8, u8>;
50990        ///Write proxy for field `VOS`
50991        pub struct VOS_W<'a> {
50992            w: &'a mut W,
50993        }
50994        impl<'a> VOS_W<'a> {
50995            ///Writes raw bits to the field
50996            #[inline(always)]
50997            pub unsafe fn bits(self, value: u8) -> &'a mut W {
50998                self.w.bits = (self.w.bits & !(0x03 << 9)) | (((value as u32) & 0x03) << 9);
50999                self.w
51000            }
51001        }
51002        ///Reader of field `DBP`
51003        pub type DBP_R = crate::R<bool, bool>;
51004        ///Write proxy for field `DBP`
51005        pub struct DBP_W<'a> {
51006            w: &'a mut W,
51007        }
51008        impl<'a> DBP_W<'a> {
51009            ///Sets the field bit
51010            #[inline(always)]
51011            pub fn set_bit(self) -> &'a mut W {
51012                self.bit(true)
51013            }
51014            ///Clears the field bit
51015            #[inline(always)]
51016            pub fn clear_bit(self) -> &'a mut W {
51017                self.bit(false)
51018            }
51019            ///Writes raw bits to the field
51020            #[inline(always)]
51021            pub fn bit(self, value: bool) -> &'a mut W {
51022                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
51023                self.w
51024            }
51025        }
51026        ///Reader of field `FPDS`
51027        pub type FPDS_R = crate::R<bool, bool>;
51028        ///Write proxy for field `FPDS`
51029        pub struct FPDS_W<'a> {
51030            w: &'a mut W,
51031        }
51032        impl<'a> FPDS_W<'a> {
51033            ///Sets the field bit
51034            #[inline(always)]
51035            pub fn set_bit(self) -> &'a mut W {
51036                self.bit(true)
51037            }
51038            ///Clears the field bit
51039            #[inline(always)]
51040            pub fn clear_bit(self) -> &'a mut W {
51041                self.bit(false)
51042            }
51043            ///Writes raw bits to the field
51044            #[inline(always)]
51045            pub fn bit(self, value: bool) -> &'a mut W {
51046                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
51047                self.w
51048            }
51049        }
51050        ///Reader of field `FPDR`
51051        pub type FPDR_R = crate::R<bool, bool>;
51052        ///Write proxy for field `FPDR`
51053        pub struct FPDR_W<'a> {
51054            w: &'a mut W,
51055        }
51056        impl<'a> FPDR_W<'a> {
51057            ///Sets the field bit
51058            #[inline(always)]
51059            pub fn set_bit(self) -> &'a mut W {
51060                self.bit(true)
51061            }
51062            ///Clears the field bit
51063            #[inline(always)]
51064            pub fn clear_bit(self) -> &'a mut W {
51065                self.bit(false)
51066            }
51067            ///Writes raw bits to the field
51068            #[inline(always)]
51069            pub fn bit(self, value: bool) -> &'a mut W {
51070                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
51071                self.w
51072            }
51073        }
51074        ///Reader of field `LPMS`
51075        pub type LPMS_R = crate::R<u8, u8>;
51076        ///Write proxy for field `LPMS`
51077        pub struct LPMS_W<'a> {
51078            w: &'a mut W,
51079        }
51080        impl<'a> LPMS_W<'a> {
51081            ///Writes raw bits to the field
51082            #[inline(always)]
51083            pub unsafe fn bits(self, value: u8) -> &'a mut W {
51084                self.w.bits = (self.w.bits & !0x07) | ((value as u32) & 0x07);
51085                self.w
51086            }
51087        }
51088        impl R {
51089            ///Bit 14 - Low-power run
51090            #[inline(always)]
51091            pub fn lpr(&self) -> LPR_R {
51092                LPR_R::new(((self.bits >> 14) & 0x01) != 0)
51093            }
51094            ///Bits 9:10 - Voltage scaling range selection
51095            #[inline(always)]
51096            pub fn vos(&self) -> VOS_R {
51097                VOS_R::new(((self.bits >> 9) & 0x03) as u8)
51098            }
51099            ///Bit 8 - Disable backup domain write protection
51100            #[inline(always)]
51101            pub fn dbp(&self) -> DBP_R {
51102                DBP_R::new(((self.bits >> 8) & 0x01) != 0)
51103            }
51104            ///Bit 5 - Flash power down mode during LPsSleep for CPU1
51105            #[inline(always)]
51106            pub fn fpds(&self) -> FPDS_R {
51107                FPDS_R::new(((self.bits >> 5) & 0x01) != 0)
51108            }
51109            ///Bit 4 - Flash power down mode during LPRun for CPU1
51110            #[inline(always)]
51111            pub fn fpdr(&self) -> FPDR_R {
51112                FPDR_R::new(((self.bits >> 4) & 0x01) != 0)
51113            }
51114            ///Bits 0:2 - Low-power mode selection for CPU1
51115            #[inline(always)]
51116            pub fn lpms(&self) -> LPMS_R {
51117                LPMS_R::new((self.bits & 0x07) as u8)
51118            }
51119        }
51120        impl W {
51121            ///Bit 14 - Low-power run
51122            #[inline(always)]
51123            pub fn lpr(&mut self) -> LPR_W {
51124                LPR_W { w: self }
51125            }
51126            ///Bits 9:10 - Voltage scaling range selection
51127            #[inline(always)]
51128            pub fn vos(&mut self) -> VOS_W {
51129                VOS_W { w: self }
51130            }
51131            ///Bit 8 - Disable backup domain write protection
51132            #[inline(always)]
51133            pub fn dbp(&mut self) -> DBP_W {
51134                DBP_W { w: self }
51135            }
51136            ///Bit 5 - Flash power down mode during LPsSleep for CPU1
51137            #[inline(always)]
51138            pub fn fpds(&mut self) -> FPDS_W {
51139                FPDS_W { w: self }
51140            }
51141            ///Bit 4 - Flash power down mode during LPRun for CPU1
51142            #[inline(always)]
51143            pub fn fpdr(&mut self) -> FPDR_W {
51144                FPDR_W { w: self }
51145            }
51146            ///Bits 0:2 - Low-power mode selection for CPU1
51147            #[inline(always)]
51148            pub fn lpms(&mut self) -> LPMS_W {
51149                LPMS_W { w: self }
51150            }
51151        }
51152    }
51153    ///Power control register 2
51154    ///
51155    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
51156    ///
51157    ///For information about available fields see [cr2](cr2) module
51158    pub type CR2 = crate::Reg<u32, _CR2>;
51159    #[allow(missing_docs)]
51160    #[doc(hidden)]
51161    pub struct _CR2;
51162    ///`read()` method returns [cr2::R](cr2::R) reader structure
51163    impl crate::Readable for CR2 {}
51164    ///`write(|w| ..)` method takes [cr2::W](cr2::W) writer structure
51165    impl crate::Writable for CR2 {}
51166    ///Power control register 2
51167    pub mod cr2 {
51168        ///Reader of register CR2
51169        pub type R = crate::R<u32, super::CR2>;
51170        ///Writer for register CR2
51171        pub type W = crate::W<u32, super::CR2>;
51172        ///Register CR2 `reset()`'s with value 0
51173        impl crate::ResetValue for super::CR2 {
51174            type Type = u32;
51175            #[inline(always)]
51176            fn reset_value() -> Self::Type {
51177                0
51178            }
51179        }
51180        ///Reader of field `USV`
51181        pub type USV_R = crate::R<bool, bool>;
51182        ///Write proxy for field `USV`
51183        pub struct USV_W<'a> {
51184            w: &'a mut W,
51185        }
51186        impl<'a> USV_W<'a> {
51187            ///Sets the field bit
51188            #[inline(always)]
51189            pub fn set_bit(self) -> &'a mut W {
51190                self.bit(true)
51191            }
51192            ///Clears the field bit
51193            #[inline(always)]
51194            pub fn clear_bit(self) -> &'a mut W {
51195                self.bit(false)
51196            }
51197            ///Writes raw bits to the field
51198            #[inline(always)]
51199            pub fn bit(self, value: bool) -> &'a mut W {
51200                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
51201                self.w
51202            }
51203        }
51204        ///Reader of field `PVME3`
51205        pub type PVME3_R = crate::R<bool, bool>;
51206        ///Write proxy for field `PVME3`
51207        pub struct PVME3_W<'a> {
51208            w: &'a mut W,
51209        }
51210        impl<'a> PVME3_W<'a> {
51211            ///Sets the field bit
51212            #[inline(always)]
51213            pub fn set_bit(self) -> &'a mut W {
51214                self.bit(true)
51215            }
51216            ///Clears the field bit
51217            #[inline(always)]
51218            pub fn clear_bit(self) -> &'a mut W {
51219                self.bit(false)
51220            }
51221            ///Writes raw bits to the field
51222            #[inline(always)]
51223            pub fn bit(self, value: bool) -> &'a mut W {
51224                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
51225                self.w
51226            }
51227        }
51228        ///Reader of field `PVME1`
51229        pub type PVME1_R = crate::R<bool, bool>;
51230        ///Write proxy for field `PVME1`
51231        pub struct PVME1_W<'a> {
51232            w: &'a mut W,
51233        }
51234        impl<'a> PVME1_W<'a> {
51235            ///Sets the field bit
51236            #[inline(always)]
51237            pub fn set_bit(self) -> &'a mut W {
51238                self.bit(true)
51239            }
51240            ///Clears the field bit
51241            #[inline(always)]
51242            pub fn clear_bit(self) -> &'a mut W {
51243                self.bit(false)
51244            }
51245            ///Writes raw bits to the field
51246            #[inline(always)]
51247            pub fn bit(self, value: bool) -> &'a mut W {
51248                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
51249                self.w
51250            }
51251        }
51252        ///Reader of field `PLS`
51253        pub type PLS_R = crate::R<u8, u8>;
51254        ///Write proxy for field `PLS`
51255        pub struct PLS_W<'a> {
51256            w: &'a mut W,
51257        }
51258        impl<'a> PLS_W<'a> {
51259            ///Writes raw bits to the field
51260            #[inline(always)]
51261            pub unsafe fn bits(self, value: u8) -> &'a mut W {
51262                self.w.bits = (self.w.bits & !(0x07 << 1)) | (((value as u32) & 0x07) << 1);
51263                self.w
51264            }
51265        }
51266        ///Reader of field `PVDE`
51267        pub type PVDE_R = crate::R<bool, bool>;
51268        ///Write proxy for field `PVDE`
51269        pub struct PVDE_W<'a> {
51270            w: &'a mut W,
51271        }
51272        impl<'a> PVDE_W<'a> {
51273            ///Sets the field bit
51274            #[inline(always)]
51275            pub fn set_bit(self) -> &'a mut W {
51276                self.bit(true)
51277            }
51278            ///Clears the field bit
51279            #[inline(always)]
51280            pub fn clear_bit(self) -> &'a mut W {
51281                self.bit(false)
51282            }
51283            ///Writes raw bits to the field
51284            #[inline(always)]
51285            pub fn bit(self, value: bool) -> &'a mut W {
51286                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
51287                self.w
51288            }
51289        }
51290        impl R {
51291            ///Bit 10 - VDDUSB USB supply valid
51292            #[inline(always)]
51293            pub fn usv(&self) -> USV_R {
51294                USV_R::new(((self.bits >> 10) & 0x01) != 0)
51295            }
51296            ///Bit 6 - Peripheral voltage monitoring 3 enable: VDDA vs. 1.62V
51297            #[inline(always)]
51298            pub fn pvme3(&self) -> PVME3_R {
51299                PVME3_R::new(((self.bits >> 6) & 0x01) != 0)
51300            }
51301            ///Bit 4 - Peripheral voltage monitoring 1 enable: VDDUSB vs. 1.2V
51302            #[inline(always)]
51303            pub fn pvme1(&self) -> PVME1_R {
51304                PVME1_R::new(((self.bits >> 4) & 0x01) != 0)
51305            }
51306            ///Bits 1:3 - Power voltage detector level selection
51307            #[inline(always)]
51308            pub fn pls(&self) -> PLS_R {
51309                PLS_R::new(((self.bits >> 1) & 0x07) as u8)
51310            }
51311            ///Bit 0 - Power voltage detector enable
51312            #[inline(always)]
51313            pub fn pvde(&self) -> PVDE_R {
51314                PVDE_R::new((self.bits & 0x01) != 0)
51315            }
51316        }
51317        impl W {
51318            ///Bit 10 - VDDUSB USB supply valid
51319            #[inline(always)]
51320            pub fn usv(&mut self) -> USV_W {
51321                USV_W { w: self }
51322            }
51323            ///Bit 6 - Peripheral voltage monitoring 3 enable: VDDA vs. 1.62V
51324            #[inline(always)]
51325            pub fn pvme3(&mut self) -> PVME3_W {
51326                PVME3_W { w: self }
51327            }
51328            ///Bit 4 - Peripheral voltage monitoring 1 enable: VDDUSB vs. 1.2V
51329            #[inline(always)]
51330            pub fn pvme1(&mut self) -> PVME1_W {
51331                PVME1_W { w: self }
51332            }
51333            ///Bits 1:3 - Power voltage detector level selection
51334            #[inline(always)]
51335            pub fn pls(&mut self) -> PLS_W {
51336                PLS_W { w: self }
51337            }
51338            ///Bit 0 - Power voltage detector enable
51339            #[inline(always)]
51340            pub fn pvde(&mut self) -> PVDE_W {
51341                PVDE_W { w: self }
51342            }
51343        }
51344    }
51345    ///Power control register 3
51346    ///
51347    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
51348    ///
51349    ///For information about available fields see [cr3](cr3) module
51350    pub type CR3 = crate::Reg<u32, _CR3>;
51351    #[allow(missing_docs)]
51352    #[doc(hidden)]
51353    pub struct _CR3;
51354    ///`read()` method returns [cr3::R](cr3::R) reader structure
51355    impl crate::Readable for CR3 {}
51356    ///`write(|w| ..)` method takes [cr3::W](cr3::W) writer structure
51357    impl crate::Writable for CR3 {}
51358    ///Power control register 3
51359    pub mod cr3 {
51360        ///Reader of register CR3
51361        pub type R = crate::R<u32, super::CR3>;
51362        ///Writer for register CR3
51363        pub type W = crate::W<u32, super::CR3>;
51364        ///Register CR3 `reset()`'s with value 0x8000
51365        impl crate::ResetValue for super::CR3 {
51366            type Type = u32;
51367            #[inline(always)]
51368            fn reset_value() -> Self::Type {
51369                0x8000
51370            }
51371        }
51372        ///Reader of field `EIWUL`
51373        pub type EIWUL_R = crate::R<bool, bool>;
51374        ///Write proxy for field `EIWUL`
51375        pub struct EIWUL_W<'a> {
51376            w: &'a mut W,
51377        }
51378        impl<'a> EIWUL_W<'a> {
51379            ///Sets the field bit
51380            #[inline(always)]
51381            pub fn set_bit(self) -> &'a mut W {
51382                self.bit(true)
51383            }
51384            ///Clears the field bit
51385            #[inline(always)]
51386            pub fn clear_bit(self) -> &'a mut W {
51387                self.bit(false)
51388            }
51389            ///Writes raw bits to the field
51390            #[inline(always)]
51391            pub fn bit(self, value: bool) -> &'a mut W {
51392                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
51393                self.w
51394            }
51395        }
51396        ///Reader of field `EC2H`
51397        pub type EC2H_R = crate::R<bool, bool>;
51398        ///Write proxy for field `EC2H`
51399        pub struct EC2H_W<'a> {
51400            w: &'a mut W,
51401        }
51402        impl<'a> EC2H_W<'a> {
51403            ///Sets the field bit
51404            #[inline(always)]
51405            pub fn set_bit(self) -> &'a mut W {
51406                self.bit(true)
51407            }
51408            ///Clears the field bit
51409            #[inline(always)]
51410            pub fn clear_bit(self) -> &'a mut W {
51411                self.bit(false)
51412            }
51413            ///Writes raw bits to the field
51414            #[inline(always)]
51415            pub fn bit(self, value: bool) -> &'a mut W {
51416                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
51417                self.w
51418            }
51419        }
51420        ///Reader of field `E802A`
51421        pub type E802A_R = crate::R<bool, bool>;
51422        ///Write proxy for field `E802A`
51423        pub struct E802A_W<'a> {
51424            w: &'a mut W,
51425        }
51426        impl<'a> E802A_W<'a> {
51427            ///Sets the field bit
51428            #[inline(always)]
51429            pub fn set_bit(self) -> &'a mut W {
51430                self.bit(true)
51431            }
51432            ///Clears the field bit
51433            #[inline(always)]
51434            pub fn clear_bit(self) -> &'a mut W {
51435                self.bit(false)
51436            }
51437            ///Writes raw bits to the field
51438            #[inline(always)]
51439            pub fn bit(self, value: bool) -> &'a mut W {
51440                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
51441                self.w
51442            }
51443        }
51444        ///Reader of field `EBLEA`
51445        pub type EBLEA_R = crate::R<bool, bool>;
51446        ///Write proxy for field `EBLEA`
51447        pub struct EBLEA_W<'a> {
51448            w: &'a mut W,
51449        }
51450        impl<'a> EBLEA_W<'a> {
51451            ///Sets the field bit
51452            #[inline(always)]
51453            pub fn set_bit(self) -> &'a mut W {
51454                self.bit(true)
51455            }
51456            ///Clears the field bit
51457            #[inline(always)]
51458            pub fn clear_bit(self) -> &'a mut W {
51459                self.bit(false)
51460            }
51461            ///Writes raw bits to the field
51462            #[inline(always)]
51463            pub fn bit(self, value: bool) -> &'a mut W {
51464                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
51465                self.w
51466            }
51467        }
51468        ///Reader of field `ECRPE`
51469        pub type ECRPE_R = crate::R<bool, bool>;
51470        ///Write proxy for field `ECRPE`
51471        pub struct ECRPE_W<'a> {
51472            w: &'a mut W,
51473        }
51474        impl<'a> ECRPE_W<'a> {
51475            ///Sets the field bit
51476            #[inline(always)]
51477            pub fn set_bit(self) -> &'a mut W {
51478                self.bit(true)
51479            }
51480            ///Clears the field bit
51481            #[inline(always)]
51482            pub fn clear_bit(self) -> &'a mut W {
51483                self.bit(false)
51484            }
51485            ///Writes raw bits to the field
51486            #[inline(always)]
51487            pub fn bit(self, value: bool) -> &'a mut W {
51488                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
51489                self.w
51490            }
51491        }
51492        ///Reader of field `APC`
51493        pub type APC_R = crate::R<bool, bool>;
51494        ///Write proxy for field `APC`
51495        pub struct APC_W<'a> {
51496            w: &'a mut W,
51497        }
51498        impl<'a> APC_W<'a> {
51499            ///Sets the field bit
51500            #[inline(always)]
51501            pub fn set_bit(self) -> &'a mut W {
51502                self.bit(true)
51503            }
51504            ///Clears the field bit
51505            #[inline(always)]
51506            pub fn clear_bit(self) -> &'a mut W {
51507                self.bit(false)
51508            }
51509            ///Writes raw bits to the field
51510            #[inline(always)]
51511            pub fn bit(self, value: bool) -> &'a mut W {
51512                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
51513                self.w
51514            }
51515        }
51516        ///Reader of field `RRS`
51517        pub type RRS_R = crate::R<bool, bool>;
51518        ///Write proxy for field `RRS`
51519        pub struct RRS_W<'a> {
51520            w: &'a mut W,
51521        }
51522        impl<'a> RRS_W<'a> {
51523            ///Sets the field bit
51524            #[inline(always)]
51525            pub fn set_bit(self) -> &'a mut W {
51526                self.bit(true)
51527            }
51528            ///Clears the field bit
51529            #[inline(always)]
51530            pub fn clear_bit(self) -> &'a mut W {
51531                self.bit(false)
51532            }
51533            ///Writes raw bits to the field
51534            #[inline(always)]
51535            pub fn bit(self, value: bool) -> &'a mut W {
51536                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
51537                self.w
51538            }
51539        }
51540        ///Reader of field `EBORHSDFB`
51541        pub type EBORHSDFB_R = crate::R<bool, bool>;
51542        ///Write proxy for field `EBORHSDFB`
51543        pub struct EBORHSDFB_W<'a> {
51544            w: &'a mut W,
51545        }
51546        impl<'a> EBORHSDFB_W<'a> {
51547            ///Sets the field bit
51548            #[inline(always)]
51549            pub fn set_bit(self) -> &'a mut W {
51550                self.bit(true)
51551            }
51552            ///Clears the field bit
51553            #[inline(always)]
51554            pub fn clear_bit(self) -> &'a mut W {
51555                self.bit(false)
51556            }
51557            ///Writes raw bits to the field
51558            #[inline(always)]
51559            pub fn bit(self, value: bool) -> &'a mut W {
51560                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
51561                self.w
51562            }
51563        }
51564        ///Reader of field `EWUP5`
51565        pub type EWUP5_R = crate::R<bool, bool>;
51566        ///Write proxy for field `EWUP5`
51567        pub struct EWUP5_W<'a> {
51568            w: &'a mut W,
51569        }
51570        impl<'a> EWUP5_W<'a> {
51571            ///Sets the field bit
51572            #[inline(always)]
51573            pub fn set_bit(self) -> &'a mut W {
51574                self.bit(true)
51575            }
51576            ///Clears the field bit
51577            #[inline(always)]
51578            pub fn clear_bit(self) -> &'a mut W {
51579                self.bit(false)
51580            }
51581            ///Writes raw bits to the field
51582            #[inline(always)]
51583            pub fn bit(self, value: bool) -> &'a mut W {
51584                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
51585                self.w
51586            }
51587        }
51588        ///Reader of field `EWUP4`
51589        pub type EWUP4_R = crate::R<bool, bool>;
51590        ///Write proxy for field `EWUP4`
51591        pub struct EWUP4_W<'a> {
51592            w: &'a mut W,
51593        }
51594        impl<'a> EWUP4_W<'a> {
51595            ///Sets the field bit
51596            #[inline(always)]
51597            pub fn set_bit(self) -> &'a mut W {
51598                self.bit(true)
51599            }
51600            ///Clears the field bit
51601            #[inline(always)]
51602            pub fn clear_bit(self) -> &'a mut W {
51603                self.bit(false)
51604            }
51605            ///Writes raw bits to the field
51606            #[inline(always)]
51607            pub fn bit(self, value: bool) -> &'a mut W {
51608                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
51609                self.w
51610            }
51611        }
51612        ///Reader of field `EWUP3`
51613        pub type EWUP3_R = crate::R<bool, bool>;
51614        ///Write proxy for field `EWUP3`
51615        pub struct EWUP3_W<'a> {
51616            w: &'a mut W,
51617        }
51618        impl<'a> EWUP3_W<'a> {
51619            ///Sets the field bit
51620            #[inline(always)]
51621            pub fn set_bit(self) -> &'a mut W {
51622                self.bit(true)
51623            }
51624            ///Clears the field bit
51625            #[inline(always)]
51626            pub fn clear_bit(self) -> &'a mut W {
51627                self.bit(false)
51628            }
51629            ///Writes raw bits to the field
51630            #[inline(always)]
51631            pub fn bit(self, value: bool) -> &'a mut W {
51632                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
51633                self.w
51634            }
51635        }
51636        ///Reader of field `EWUP2`
51637        pub type EWUP2_R = crate::R<bool, bool>;
51638        ///Write proxy for field `EWUP2`
51639        pub struct EWUP2_W<'a> {
51640            w: &'a mut W,
51641        }
51642        impl<'a> EWUP2_W<'a> {
51643            ///Sets the field bit
51644            #[inline(always)]
51645            pub fn set_bit(self) -> &'a mut W {
51646                self.bit(true)
51647            }
51648            ///Clears the field bit
51649            #[inline(always)]
51650            pub fn clear_bit(self) -> &'a mut W {
51651                self.bit(false)
51652            }
51653            ///Writes raw bits to the field
51654            #[inline(always)]
51655            pub fn bit(self, value: bool) -> &'a mut W {
51656                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
51657                self.w
51658            }
51659        }
51660        ///Reader of field `EWUP1`
51661        pub type EWUP1_R = crate::R<bool, bool>;
51662        ///Write proxy for field `EWUP1`
51663        pub struct EWUP1_W<'a> {
51664            w: &'a mut W,
51665        }
51666        impl<'a> EWUP1_W<'a> {
51667            ///Sets the field bit
51668            #[inline(always)]
51669            pub fn set_bit(self) -> &'a mut W {
51670                self.bit(true)
51671            }
51672            ///Clears the field bit
51673            #[inline(always)]
51674            pub fn clear_bit(self) -> &'a mut W {
51675                self.bit(false)
51676            }
51677            ///Writes raw bits to the field
51678            #[inline(always)]
51679            pub fn bit(self, value: bool) -> &'a mut W {
51680                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
51681                self.w
51682            }
51683        }
51684        impl R {
51685            ///Bit 15 - Enable internal wakeup line for CPU1
51686            #[inline(always)]
51687            pub fn eiwul(&self) -> EIWUL_R {
51688                EIWUL_R::new(((self.bits >> 15) & 0x01) != 0)
51689            }
51690            ///Bit 14 - Enable CPU2 Hold interrupt for CPU1
51691            #[inline(always)]
51692            pub fn ec2h(&self) -> EC2H_R {
51693                EC2H_R::new(((self.bits >> 14) & 0x01) != 0)
51694            }
51695            ///Bit 13 - Enable end of activity interrupt for CPU1
51696            #[inline(always)]
51697            pub fn e802a(&self) -> E802A_R {
51698                E802A_R::new(((self.bits >> 13) & 0x01) != 0)
51699            }
51700            ///Bit 11 - Enable BLE end of activity interrupt for CPU1
51701            #[inline(always)]
51702            pub fn eblea(&self) -> EBLEA_R {
51703                EBLEA_R::new(((self.bits >> 11) & 0x01) != 0)
51704            }
51705            ///Bit 12 - Enable critical radio phase end of activity interrupt for CPU1
51706            #[inline(always)]
51707            pub fn ecrpe(&self) -> ECRPE_R {
51708                ECRPE_R::new(((self.bits >> 12) & 0x01) != 0)
51709            }
51710            ///Bit 10 - Apply pull-up and pull-down configuration
51711            #[inline(always)]
51712            pub fn apc(&self) -> APC_R {
51713                APC_R::new(((self.bits >> 10) & 0x01) != 0)
51714            }
51715            ///Bit 9 - SRAM2a retention in Standby mode
51716            #[inline(always)]
51717            pub fn rrs(&self) -> RRS_R {
51718                RRS_R::new(((self.bits >> 9) & 0x01) != 0)
51719            }
51720            ///Bit 8 - Enable BORH and Step Down counverter forced in Bypass interrups for CPU1
51721            #[inline(always)]
51722            pub fn eborhsdfb(&self) -> EBORHSDFB_R {
51723                EBORHSDFB_R::new(((self.bits >> 8) & 0x01) != 0)
51724            }
51725            ///Bit 4 - Enable Wakeup pin WKUP5
51726            #[inline(always)]
51727            pub fn ewup5(&self) -> EWUP5_R {
51728                EWUP5_R::new(((self.bits >> 4) & 0x01) != 0)
51729            }
51730            ///Bit 3 - Enable Wakeup pin WKUP4
51731            #[inline(always)]
51732            pub fn ewup4(&self) -> EWUP4_R {
51733                EWUP4_R::new(((self.bits >> 3) & 0x01) != 0)
51734            }
51735            ///Bit 2 - Enable Wakeup pin WKUP3
51736            #[inline(always)]
51737            pub fn ewup3(&self) -> EWUP3_R {
51738                EWUP3_R::new(((self.bits >> 2) & 0x01) != 0)
51739            }
51740            ///Bit 1 - Enable Wakeup pin WKUP2
51741            #[inline(always)]
51742            pub fn ewup2(&self) -> EWUP2_R {
51743                EWUP2_R::new(((self.bits >> 1) & 0x01) != 0)
51744            }
51745            ///Bit 0 - Enable Wakeup pin WKUP1
51746            #[inline(always)]
51747            pub fn ewup1(&self) -> EWUP1_R {
51748                EWUP1_R::new((self.bits & 0x01) != 0)
51749            }
51750        }
51751        impl W {
51752            ///Bit 15 - Enable internal wakeup line for CPU1
51753            #[inline(always)]
51754            pub fn eiwul(&mut self) -> EIWUL_W {
51755                EIWUL_W { w: self }
51756            }
51757            ///Bit 14 - Enable CPU2 Hold interrupt for CPU1
51758            #[inline(always)]
51759            pub fn ec2h(&mut self) -> EC2H_W {
51760                EC2H_W { w: self }
51761            }
51762            ///Bit 13 - Enable end of activity interrupt for CPU1
51763            #[inline(always)]
51764            pub fn e802a(&mut self) -> E802A_W {
51765                E802A_W { w: self }
51766            }
51767            ///Bit 11 - Enable BLE end of activity interrupt for CPU1
51768            #[inline(always)]
51769            pub fn eblea(&mut self) -> EBLEA_W {
51770                EBLEA_W { w: self }
51771            }
51772            ///Bit 12 - Enable critical radio phase end of activity interrupt for CPU1
51773            #[inline(always)]
51774            pub fn ecrpe(&mut self) -> ECRPE_W {
51775                ECRPE_W { w: self }
51776            }
51777            ///Bit 10 - Apply pull-up and pull-down configuration
51778            #[inline(always)]
51779            pub fn apc(&mut self) -> APC_W {
51780                APC_W { w: self }
51781            }
51782            ///Bit 9 - SRAM2a retention in Standby mode
51783            #[inline(always)]
51784            pub fn rrs(&mut self) -> RRS_W {
51785                RRS_W { w: self }
51786            }
51787            ///Bit 8 - Enable BORH and Step Down counverter forced in Bypass interrups for CPU1
51788            #[inline(always)]
51789            pub fn eborhsdfb(&mut self) -> EBORHSDFB_W {
51790                EBORHSDFB_W { w: self }
51791            }
51792            ///Bit 4 - Enable Wakeup pin WKUP5
51793            #[inline(always)]
51794            pub fn ewup5(&mut self) -> EWUP5_W {
51795                EWUP5_W { w: self }
51796            }
51797            ///Bit 3 - Enable Wakeup pin WKUP4
51798            #[inline(always)]
51799            pub fn ewup4(&mut self) -> EWUP4_W {
51800                EWUP4_W { w: self }
51801            }
51802            ///Bit 2 - Enable Wakeup pin WKUP3
51803            #[inline(always)]
51804            pub fn ewup3(&mut self) -> EWUP3_W {
51805                EWUP3_W { w: self }
51806            }
51807            ///Bit 1 - Enable Wakeup pin WKUP2
51808            #[inline(always)]
51809            pub fn ewup2(&mut self) -> EWUP2_W {
51810                EWUP2_W { w: self }
51811            }
51812            ///Bit 0 - Enable Wakeup pin WKUP1
51813            #[inline(always)]
51814            pub fn ewup1(&mut self) -> EWUP1_W {
51815                EWUP1_W { w: self }
51816            }
51817        }
51818    }
51819    ///Power control register 4
51820    ///
51821    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
51822    ///
51823    ///For information about available fields see [cr4](cr4) module
51824    pub type CR4 = crate::Reg<u32, _CR4>;
51825    #[allow(missing_docs)]
51826    #[doc(hidden)]
51827    pub struct _CR4;
51828    ///`read()` method returns [cr4::R](cr4::R) reader structure
51829    impl crate::Readable for CR4 {}
51830    ///`write(|w| ..)` method takes [cr4::W](cr4::W) writer structure
51831    impl crate::Writable for CR4 {}
51832    ///Power control register 4
51833    pub mod cr4 {
51834        ///Reader of register CR4
51835        pub type R = crate::R<u32, super::CR4>;
51836        ///Writer for register CR4
51837        pub type W = crate::W<u32, super::CR4>;
51838        ///Register CR4 `reset()`'s with value 0
51839        impl crate::ResetValue for super::CR4 {
51840            type Type = u32;
51841            #[inline(always)]
51842            fn reset_value() -> Self::Type {
51843                0
51844            }
51845        }
51846        ///Reader of field `C2BOOT`
51847        pub type C2BOOT_R = crate::R<bool, bool>;
51848        ///Write proxy for field `C2BOOT`
51849        pub struct C2BOOT_W<'a> {
51850            w: &'a mut W,
51851        }
51852        impl<'a> C2BOOT_W<'a> {
51853            ///Sets the field bit
51854            #[inline(always)]
51855            pub fn set_bit(self) -> &'a mut W {
51856                self.bit(true)
51857            }
51858            ///Clears the field bit
51859            #[inline(always)]
51860            pub fn clear_bit(self) -> &'a mut W {
51861                self.bit(false)
51862            }
51863            ///Writes raw bits to the field
51864            #[inline(always)]
51865            pub fn bit(self, value: bool) -> &'a mut W {
51866                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
51867                self.w
51868            }
51869        }
51870        ///Reader of field `VBRS`
51871        pub type VBRS_R = crate::R<bool, bool>;
51872        ///Write proxy for field `VBRS`
51873        pub struct VBRS_W<'a> {
51874            w: &'a mut W,
51875        }
51876        impl<'a> VBRS_W<'a> {
51877            ///Sets the field bit
51878            #[inline(always)]
51879            pub fn set_bit(self) -> &'a mut W {
51880                self.bit(true)
51881            }
51882            ///Clears the field bit
51883            #[inline(always)]
51884            pub fn clear_bit(self) -> &'a mut W {
51885                self.bit(false)
51886            }
51887            ///Writes raw bits to the field
51888            #[inline(always)]
51889            pub fn bit(self, value: bool) -> &'a mut W {
51890                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
51891                self.w
51892            }
51893        }
51894        ///Reader of field `VBE`
51895        pub type VBE_R = crate::R<bool, bool>;
51896        ///Write proxy for field `VBE`
51897        pub struct VBE_W<'a> {
51898            w: &'a mut W,
51899        }
51900        impl<'a> VBE_W<'a> {
51901            ///Sets the field bit
51902            #[inline(always)]
51903            pub fn set_bit(self) -> &'a mut W {
51904                self.bit(true)
51905            }
51906            ///Clears the field bit
51907            #[inline(always)]
51908            pub fn clear_bit(self) -> &'a mut W {
51909                self.bit(false)
51910            }
51911            ///Writes raw bits to the field
51912            #[inline(always)]
51913            pub fn bit(self, value: bool) -> &'a mut W {
51914                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
51915                self.w
51916            }
51917        }
51918        ///Reader of field `WP5`
51919        pub type WP5_R = crate::R<bool, bool>;
51920        ///Write proxy for field `WP5`
51921        pub struct WP5_W<'a> {
51922            w: &'a mut W,
51923        }
51924        impl<'a> WP5_W<'a> {
51925            ///Sets the field bit
51926            #[inline(always)]
51927            pub fn set_bit(self) -> &'a mut W {
51928                self.bit(true)
51929            }
51930            ///Clears the field bit
51931            #[inline(always)]
51932            pub fn clear_bit(self) -> &'a mut W {
51933                self.bit(false)
51934            }
51935            ///Writes raw bits to the field
51936            #[inline(always)]
51937            pub fn bit(self, value: bool) -> &'a mut W {
51938                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
51939                self.w
51940            }
51941        }
51942        ///Reader of field `WP4`
51943        pub type WP4_R = crate::R<bool, bool>;
51944        ///Write proxy for field `WP4`
51945        pub struct WP4_W<'a> {
51946            w: &'a mut W,
51947        }
51948        impl<'a> WP4_W<'a> {
51949            ///Sets the field bit
51950            #[inline(always)]
51951            pub fn set_bit(self) -> &'a mut W {
51952                self.bit(true)
51953            }
51954            ///Clears the field bit
51955            #[inline(always)]
51956            pub fn clear_bit(self) -> &'a mut W {
51957                self.bit(false)
51958            }
51959            ///Writes raw bits to the field
51960            #[inline(always)]
51961            pub fn bit(self, value: bool) -> &'a mut W {
51962                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
51963                self.w
51964            }
51965        }
51966        ///Reader of field `WP3`
51967        pub type WP3_R = crate::R<bool, bool>;
51968        ///Write proxy for field `WP3`
51969        pub struct WP3_W<'a> {
51970            w: &'a mut W,
51971        }
51972        impl<'a> WP3_W<'a> {
51973            ///Sets the field bit
51974            #[inline(always)]
51975            pub fn set_bit(self) -> &'a mut W {
51976                self.bit(true)
51977            }
51978            ///Clears the field bit
51979            #[inline(always)]
51980            pub fn clear_bit(self) -> &'a mut W {
51981                self.bit(false)
51982            }
51983            ///Writes raw bits to the field
51984            #[inline(always)]
51985            pub fn bit(self, value: bool) -> &'a mut W {
51986                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
51987                self.w
51988            }
51989        }
51990        ///Reader of field `WP2`
51991        pub type WP2_R = crate::R<bool, bool>;
51992        ///Write proxy for field `WP2`
51993        pub struct WP2_W<'a> {
51994            w: &'a mut W,
51995        }
51996        impl<'a> WP2_W<'a> {
51997            ///Sets the field bit
51998            #[inline(always)]
51999            pub fn set_bit(self) -> &'a mut W {
52000                self.bit(true)
52001            }
52002            ///Clears the field bit
52003            #[inline(always)]
52004            pub fn clear_bit(self) -> &'a mut W {
52005                self.bit(false)
52006            }
52007            ///Writes raw bits to the field
52008            #[inline(always)]
52009            pub fn bit(self, value: bool) -> &'a mut W {
52010                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
52011                self.w
52012            }
52013        }
52014        ///Reader of field `WP1`
52015        pub type WP1_R = crate::R<bool, bool>;
52016        ///Write proxy for field `WP1`
52017        pub struct WP1_W<'a> {
52018            w: &'a mut W,
52019        }
52020        impl<'a> WP1_W<'a> {
52021            ///Sets the field bit
52022            #[inline(always)]
52023            pub fn set_bit(self) -> &'a mut W {
52024                self.bit(true)
52025            }
52026            ///Clears the field bit
52027            #[inline(always)]
52028            pub fn clear_bit(self) -> &'a mut W {
52029                self.bit(false)
52030            }
52031            ///Writes raw bits to the field
52032            #[inline(always)]
52033            pub fn bit(self, value: bool) -> &'a mut W {
52034                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
52035                self.w
52036            }
52037        }
52038        impl R {
52039            ///Bit 15 - BOOT CPU2 after reset or wakeup from Stop or Standby modes
52040            #[inline(always)]
52041            pub fn c2boot(&self) -> C2BOOT_R {
52042                C2BOOT_R::new(((self.bits >> 15) & 0x01) != 0)
52043            }
52044            ///Bit 9 - VBAT battery charging resistor selection
52045            #[inline(always)]
52046            pub fn vbrs(&self) -> VBRS_R {
52047                VBRS_R::new(((self.bits >> 9) & 0x01) != 0)
52048            }
52049            ///Bit 8 - VBAT battery charging enable
52050            #[inline(always)]
52051            pub fn vbe(&self) -> VBE_R {
52052                VBE_R::new(((self.bits >> 8) & 0x01) != 0)
52053            }
52054            ///Bit 4 - Wakeup pin WKUP5 polarity
52055            #[inline(always)]
52056            pub fn wp5(&self) -> WP5_R {
52057                WP5_R::new(((self.bits >> 4) & 0x01) != 0)
52058            }
52059            ///Bit 3 - Wakeup pin WKUP4 polarity
52060            #[inline(always)]
52061            pub fn wp4(&self) -> WP4_R {
52062                WP4_R::new(((self.bits >> 3) & 0x01) != 0)
52063            }
52064            ///Bit 2 - Wakeup pin WKUP3 polarity
52065            #[inline(always)]
52066            pub fn wp3(&self) -> WP3_R {
52067                WP3_R::new(((self.bits >> 2) & 0x01) != 0)
52068            }
52069            ///Bit 1 - Wakeup pin WKUP2 polarity
52070            #[inline(always)]
52071            pub fn wp2(&self) -> WP2_R {
52072                WP2_R::new(((self.bits >> 1) & 0x01) != 0)
52073            }
52074            ///Bit 0 - Wakeup pin WKUP1 polarity
52075            #[inline(always)]
52076            pub fn wp1(&self) -> WP1_R {
52077                WP1_R::new((self.bits & 0x01) != 0)
52078            }
52079        }
52080        impl W {
52081            ///Bit 15 - BOOT CPU2 after reset or wakeup from Stop or Standby modes
52082            #[inline(always)]
52083            pub fn c2boot(&mut self) -> C2BOOT_W {
52084                C2BOOT_W { w: self }
52085            }
52086            ///Bit 9 - VBAT battery charging resistor selection
52087            #[inline(always)]
52088            pub fn vbrs(&mut self) -> VBRS_W {
52089                VBRS_W { w: self }
52090            }
52091            ///Bit 8 - VBAT battery charging enable
52092            #[inline(always)]
52093            pub fn vbe(&mut self) -> VBE_W {
52094                VBE_W { w: self }
52095            }
52096            ///Bit 4 - Wakeup pin WKUP5 polarity
52097            #[inline(always)]
52098            pub fn wp5(&mut self) -> WP5_W {
52099                WP5_W { w: self }
52100            }
52101            ///Bit 3 - Wakeup pin WKUP4 polarity
52102            #[inline(always)]
52103            pub fn wp4(&mut self) -> WP4_W {
52104                WP4_W { w: self }
52105            }
52106            ///Bit 2 - Wakeup pin WKUP3 polarity
52107            #[inline(always)]
52108            pub fn wp3(&mut self) -> WP3_W {
52109                WP3_W { w: self }
52110            }
52111            ///Bit 1 - Wakeup pin WKUP2 polarity
52112            #[inline(always)]
52113            pub fn wp2(&mut self) -> WP2_W {
52114                WP2_W { w: self }
52115            }
52116            ///Bit 0 - Wakeup pin WKUP1 polarity
52117            #[inline(always)]
52118            pub fn wp1(&mut self) -> WP1_W {
52119                WP1_W { w: self }
52120            }
52121        }
52122    }
52123    ///Power status register 1
52124    ///
52125    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
52126    ///
52127    ///For information about available fields see [sr1](sr1) module
52128    pub type SR1 = crate::Reg<u32, _SR1>;
52129    #[allow(missing_docs)]
52130    #[doc(hidden)]
52131    pub struct _SR1;
52132    ///`read()` method returns [sr1::R](sr1::R) reader structure
52133    impl crate::Readable for SR1 {}
52134    ///Power status register 1
52135    pub mod sr1 {
52136        ///Reader of register SR1
52137        pub type R = crate::R<u32, super::SR1>;
52138        ///Reader of field `WUFI`
52139        pub type WUFI_R = crate::R<bool, bool>;
52140        ///Reader of field `C2HF`
52141        pub type C2HF_R = crate::R<bool, bool>;
52142        ///Reader of field `AF802`
52143        pub type AF802_R = crate::R<bool, bool>;
52144        ///Reader of field `BLEAF`
52145        pub type BLEAF_R = crate::R<bool, bool>;
52146        ///Reader of field `CRPEF`
52147        pub type CRPEF_R = crate::R<bool, bool>;
52148        ///Reader of field `_802WUF`
52149        pub type _802WUF_R = crate::R<bool, bool>;
52150        ///Reader of field `BLEWUF`
52151        pub type BLEWUF_R = crate::R<bool, bool>;
52152        ///Reader of field `BORHF`
52153        pub type BORHF_R = crate::R<bool, bool>;
52154        ///Reader of field `SDFBF`
52155        pub type SDFBF_R = crate::R<bool, bool>;
52156        ///Reader of field `CWUF5`
52157        pub type CWUF5_R = crate::R<bool, bool>;
52158        ///Reader of field `CWUF4`
52159        pub type CWUF4_R = crate::R<bool, bool>;
52160        ///Reader of field `CWUF3`
52161        pub type CWUF3_R = crate::R<bool, bool>;
52162        ///Reader of field `CWUF2`
52163        pub type CWUF2_R = crate::R<bool, bool>;
52164        ///Reader of field `CWUF1`
52165        pub type CWUF1_R = crate::R<bool, bool>;
52166        impl R {
52167            ///Bit 15 - Internal Wakeup interrupt flag
52168            #[inline(always)]
52169            pub fn wufi(&self) -> WUFI_R {
52170                WUFI_R::new(((self.bits >> 15) & 0x01) != 0)
52171            }
52172            ///Bit 14 - CPU2 Hold interrupt flag
52173            #[inline(always)]
52174            pub fn c2hf(&self) -> C2HF_R {
52175                C2HF_R::new(((self.bits >> 14) & 0x01) != 0)
52176            }
52177            ///Bit 13 - 802.15.4 end of activity interrupt flag
52178            #[inline(always)]
52179            pub fn af802(&self) -> AF802_R {
52180                AF802_R::new(((self.bits >> 13) & 0x01) != 0)
52181            }
52182            ///Bit 12 - BLE end of activity interrupt flag
52183            #[inline(always)]
52184            pub fn bleaf(&self) -> BLEAF_R {
52185                BLEAF_R::new(((self.bits >> 12) & 0x01) != 0)
52186            }
52187            ///Bit 11 - Enable critical radio phase end of activity interrupt flag
52188            #[inline(always)]
52189            pub fn crpef(&self) -> CRPEF_R {
52190                CRPEF_R::new(((self.bits >> 11) & 0x01) != 0)
52191            }
52192            ///Bit 10 - 802.15.4 wakeup interrupt flag
52193            #[inline(always)]
52194            pub fn _802wuf(&self) -> _802WUF_R {
52195                _802WUF_R::new(((self.bits >> 10) & 0x01) != 0)
52196            }
52197            ///Bit 9 - BLE wakeup interrupt flag
52198            #[inline(always)]
52199            pub fn blewuf(&self) -> BLEWUF_R {
52200                BLEWUF_R::new(((self.bits >> 9) & 0x01) != 0)
52201            }
52202            ///Bit 8 - BORH interrupt flag
52203            #[inline(always)]
52204            pub fn borhf(&self) -> BORHF_R {
52205                BORHF_R::new(((self.bits >> 8) & 0x01) != 0)
52206            }
52207            ///Bit 7 - Step Down converter forced in Bypass interrupt flag
52208            #[inline(always)]
52209            pub fn sdfbf(&self) -> SDFBF_R {
52210                SDFBF_R::new(((self.bits >> 7) & 0x01) != 0)
52211            }
52212            ///Bit 4 - Wakeup flag 5
52213            #[inline(always)]
52214            pub fn cwuf5(&self) -> CWUF5_R {
52215                CWUF5_R::new(((self.bits >> 4) & 0x01) != 0)
52216            }
52217            ///Bit 3 - Wakeup flag 4
52218            #[inline(always)]
52219            pub fn cwuf4(&self) -> CWUF4_R {
52220                CWUF4_R::new(((self.bits >> 3) & 0x01) != 0)
52221            }
52222            ///Bit 2 - Wakeup flag 3
52223            #[inline(always)]
52224            pub fn cwuf3(&self) -> CWUF3_R {
52225                CWUF3_R::new(((self.bits >> 2) & 0x01) != 0)
52226            }
52227            ///Bit 1 - Wakeup flag 2
52228            #[inline(always)]
52229            pub fn cwuf2(&self) -> CWUF2_R {
52230                CWUF2_R::new(((self.bits >> 1) & 0x01) != 0)
52231            }
52232            ///Bit 0 - Wakeup flag 1
52233            #[inline(always)]
52234            pub fn cwuf1(&self) -> CWUF1_R {
52235                CWUF1_R::new((self.bits & 0x01) != 0)
52236            }
52237        }
52238    }
52239    ///Power status register 2
52240    ///
52241    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
52242    ///
52243    ///For information about available fields see [sr2](sr2) module
52244    pub type SR2 = crate::Reg<u32, _SR2>;
52245    #[allow(missing_docs)]
52246    #[doc(hidden)]
52247    pub struct _SR2;
52248    ///`read()` method returns [sr2::R](sr2::R) reader structure
52249    impl crate::Readable for SR2 {}
52250    ///Power status register 2
52251    pub mod sr2 {
52252        ///Reader of register SR2
52253        pub type R = crate::R<u32, super::SR2>;
52254        ///Reader of field `PVMO3`
52255        pub type PVMO3_R = crate::R<bool, bool>;
52256        ///Reader of field `PVMO1`
52257        pub type PVMO1_R = crate::R<bool, bool>;
52258        ///Reader of field `PVDO`
52259        pub type PVDO_R = crate::R<bool, bool>;
52260        ///Reader of field `VOSF`
52261        pub type VOSF_R = crate::R<bool, bool>;
52262        ///Reader of field `REGLPF`
52263        pub type REGLPF_R = crate::R<bool, bool>;
52264        ///Reader of field `REGLPS`
52265        pub type REGLPS_R = crate::R<bool, bool>;
52266        ///Reader of field `SDSMPSF`
52267        pub type SDSMPSF_R = crate::R<bool, bool>;
52268        ///Reader of field `SDBF`
52269        pub type SDBF_R = crate::R<bool, bool>;
52270        impl R {
52271            ///Bit 14 - Peripheral voltage monitoring output: VDDA vs. 1.62 V
52272            #[inline(always)]
52273            pub fn pvmo3(&self) -> PVMO3_R {
52274                PVMO3_R::new(((self.bits >> 14) & 0x01) != 0)
52275            }
52276            ///Bit 12 - Peripheral voltage monitoring output: VDDUSB vs. 1.2 V
52277            #[inline(always)]
52278            pub fn pvmo1(&self) -> PVMO1_R {
52279                PVMO1_R::new(((self.bits >> 12) & 0x01) != 0)
52280            }
52281            ///Bit 11 - Power voltage detector output
52282            #[inline(always)]
52283            pub fn pvdo(&self) -> PVDO_R {
52284                PVDO_R::new(((self.bits >> 11) & 0x01) != 0)
52285            }
52286            ///Bit 10 - Voltage scaling flag
52287            #[inline(always)]
52288            pub fn vosf(&self) -> VOSF_R {
52289                VOSF_R::new(((self.bits >> 10) & 0x01) != 0)
52290            }
52291            ///Bit 9 - Low-power regulator flag
52292            #[inline(always)]
52293            pub fn reglpf(&self) -> REGLPF_R {
52294                REGLPF_R::new(((self.bits >> 9) & 0x01) != 0)
52295            }
52296            ///Bit 8 - Low-power regulator started
52297            #[inline(always)]
52298            pub fn reglps(&self) -> REGLPS_R {
52299                REGLPS_R::new(((self.bits >> 8) & 0x01) != 0)
52300            }
52301            ///Bit 1 - Step Down converter SMPS mode flag
52302            #[inline(always)]
52303            pub fn sdsmpsf(&self) -> SDSMPSF_R {
52304                SDSMPSF_R::new(((self.bits >> 1) & 0x01) != 0)
52305            }
52306            ///Bit 0 - Step Down converter Bypass mode flag
52307            #[inline(always)]
52308            pub fn sdbf(&self) -> SDBF_R {
52309                SDBF_R::new((self.bits & 0x01) != 0)
52310            }
52311        }
52312    }
52313    ///Power status clear register
52314    ///
52315    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
52316    ///
52317    ///For information about available fields see [scr](scr) module
52318    pub type SCR = crate::Reg<u32, _SCR>;
52319    #[allow(missing_docs)]
52320    #[doc(hidden)]
52321    pub struct _SCR;
52322    ///`write(|w| ..)` method takes [scr::W](scr::W) writer structure
52323    impl crate::Writable for SCR {}
52324    ///Power status clear register
52325    pub mod scr {
52326        ///Writer for register SCR
52327        pub type W = crate::W<u32, super::SCR>;
52328        ///Register SCR `reset()`'s with value 0
52329        impl crate::ResetValue for super::SCR {
52330            type Type = u32;
52331            #[inline(always)]
52332            fn reset_value() -> Self::Type {
52333                0
52334            }
52335        }
52336        ///Write proxy for field `CC2HF`
52337        pub struct CC2HF_W<'a> {
52338            w: &'a mut W,
52339        }
52340        impl<'a> CC2HF_W<'a> {
52341            ///Sets the field bit
52342            #[inline(always)]
52343            pub fn set_bit(self) -> &'a mut W {
52344                self.bit(true)
52345            }
52346            ///Clears the field bit
52347            #[inline(always)]
52348            pub fn clear_bit(self) -> &'a mut W {
52349                self.bit(false)
52350            }
52351            ///Writes raw bits to the field
52352            #[inline(always)]
52353            pub fn bit(self, value: bool) -> &'a mut W {
52354                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
52355                self.w
52356            }
52357        }
52358        ///Write proxy for field `C802AF`
52359        pub struct C802AF_W<'a> {
52360            w: &'a mut W,
52361        }
52362        impl<'a> C802AF_W<'a> {
52363            ///Sets the field bit
52364            #[inline(always)]
52365            pub fn set_bit(self) -> &'a mut W {
52366                self.bit(true)
52367            }
52368            ///Clears the field bit
52369            #[inline(always)]
52370            pub fn clear_bit(self) -> &'a mut W {
52371                self.bit(false)
52372            }
52373            ///Writes raw bits to the field
52374            #[inline(always)]
52375            pub fn bit(self, value: bool) -> &'a mut W {
52376                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
52377                self.w
52378            }
52379        }
52380        ///Write proxy for field `CBLEAF`
52381        pub struct CBLEAF_W<'a> {
52382            w: &'a mut W,
52383        }
52384        impl<'a> CBLEAF_W<'a> {
52385            ///Sets the field bit
52386            #[inline(always)]
52387            pub fn set_bit(self) -> &'a mut W {
52388                self.bit(true)
52389            }
52390            ///Clears the field bit
52391            #[inline(always)]
52392            pub fn clear_bit(self) -> &'a mut W {
52393                self.bit(false)
52394            }
52395            ///Writes raw bits to the field
52396            #[inline(always)]
52397            pub fn bit(self, value: bool) -> &'a mut W {
52398                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
52399                self.w
52400            }
52401        }
52402        ///Write proxy for field `CCRPEF`
52403        pub struct CCRPEF_W<'a> {
52404            w: &'a mut W,
52405        }
52406        impl<'a> CCRPEF_W<'a> {
52407            ///Sets the field bit
52408            #[inline(always)]
52409            pub fn set_bit(self) -> &'a mut W {
52410                self.bit(true)
52411            }
52412            ///Clears the field bit
52413            #[inline(always)]
52414            pub fn clear_bit(self) -> &'a mut W {
52415                self.bit(false)
52416            }
52417            ///Writes raw bits to the field
52418            #[inline(always)]
52419            pub fn bit(self, value: bool) -> &'a mut W {
52420                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
52421                self.w
52422            }
52423        }
52424        ///Write proxy for field `C802WUF`
52425        pub struct C802WUF_W<'a> {
52426            w: &'a mut W,
52427        }
52428        impl<'a> C802WUF_W<'a> {
52429            ///Sets the field bit
52430            #[inline(always)]
52431            pub fn set_bit(self) -> &'a mut W {
52432                self.bit(true)
52433            }
52434            ///Clears the field bit
52435            #[inline(always)]
52436            pub fn clear_bit(self) -> &'a mut W {
52437                self.bit(false)
52438            }
52439            ///Writes raw bits to the field
52440            #[inline(always)]
52441            pub fn bit(self, value: bool) -> &'a mut W {
52442                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
52443                self.w
52444            }
52445        }
52446        ///Write proxy for field `CBLEWUF`
52447        pub struct CBLEWUF_W<'a> {
52448            w: &'a mut W,
52449        }
52450        impl<'a> CBLEWUF_W<'a> {
52451            ///Sets the field bit
52452            #[inline(always)]
52453            pub fn set_bit(self) -> &'a mut W {
52454                self.bit(true)
52455            }
52456            ///Clears the field bit
52457            #[inline(always)]
52458            pub fn clear_bit(self) -> &'a mut W {
52459                self.bit(false)
52460            }
52461            ///Writes raw bits to the field
52462            #[inline(always)]
52463            pub fn bit(self, value: bool) -> &'a mut W {
52464                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
52465                self.w
52466            }
52467        }
52468        ///Write proxy for field `CBORHF`
52469        pub struct CBORHF_W<'a> {
52470            w: &'a mut W,
52471        }
52472        impl<'a> CBORHF_W<'a> {
52473            ///Sets the field bit
52474            #[inline(always)]
52475            pub fn set_bit(self) -> &'a mut W {
52476                self.bit(true)
52477            }
52478            ///Clears the field bit
52479            #[inline(always)]
52480            pub fn clear_bit(self) -> &'a mut W {
52481                self.bit(false)
52482            }
52483            ///Writes raw bits to the field
52484            #[inline(always)]
52485            pub fn bit(self, value: bool) -> &'a mut W {
52486                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
52487                self.w
52488            }
52489        }
52490        ///Write proxy for field `CSMPSFBF`
52491        pub struct CSMPSFBF_W<'a> {
52492            w: &'a mut W,
52493        }
52494        impl<'a> CSMPSFBF_W<'a> {
52495            ///Sets the field bit
52496            #[inline(always)]
52497            pub fn set_bit(self) -> &'a mut W {
52498                self.bit(true)
52499            }
52500            ///Clears the field bit
52501            #[inline(always)]
52502            pub fn clear_bit(self) -> &'a mut W {
52503                self.bit(false)
52504            }
52505            ///Writes raw bits to the field
52506            #[inline(always)]
52507            pub fn bit(self, value: bool) -> &'a mut W {
52508                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
52509                self.w
52510            }
52511        }
52512        ///Write proxy for field `CWUF5`
52513        pub struct CWUF5_W<'a> {
52514            w: &'a mut W,
52515        }
52516        impl<'a> CWUF5_W<'a> {
52517            ///Sets the field bit
52518            #[inline(always)]
52519            pub fn set_bit(self) -> &'a mut W {
52520                self.bit(true)
52521            }
52522            ///Clears the field bit
52523            #[inline(always)]
52524            pub fn clear_bit(self) -> &'a mut W {
52525                self.bit(false)
52526            }
52527            ///Writes raw bits to the field
52528            #[inline(always)]
52529            pub fn bit(self, value: bool) -> &'a mut W {
52530                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
52531                self.w
52532            }
52533        }
52534        ///Write proxy for field `CWUF4`
52535        pub struct CWUF4_W<'a> {
52536            w: &'a mut W,
52537        }
52538        impl<'a> CWUF4_W<'a> {
52539            ///Sets the field bit
52540            #[inline(always)]
52541            pub fn set_bit(self) -> &'a mut W {
52542                self.bit(true)
52543            }
52544            ///Clears the field bit
52545            #[inline(always)]
52546            pub fn clear_bit(self) -> &'a mut W {
52547                self.bit(false)
52548            }
52549            ///Writes raw bits to the field
52550            #[inline(always)]
52551            pub fn bit(self, value: bool) -> &'a mut W {
52552                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
52553                self.w
52554            }
52555        }
52556        ///Write proxy for field `CWUF3`
52557        pub struct CWUF3_W<'a> {
52558            w: &'a mut W,
52559        }
52560        impl<'a> CWUF3_W<'a> {
52561            ///Sets the field bit
52562            #[inline(always)]
52563            pub fn set_bit(self) -> &'a mut W {
52564                self.bit(true)
52565            }
52566            ///Clears the field bit
52567            #[inline(always)]
52568            pub fn clear_bit(self) -> &'a mut W {
52569                self.bit(false)
52570            }
52571            ///Writes raw bits to the field
52572            #[inline(always)]
52573            pub fn bit(self, value: bool) -> &'a mut W {
52574                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
52575                self.w
52576            }
52577        }
52578        ///Write proxy for field `CWUF2`
52579        pub struct CWUF2_W<'a> {
52580            w: &'a mut W,
52581        }
52582        impl<'a> CWUF2_W<'a> {
52583            ///Sets the field bit
52584            #[inline(always)]
52585            pub fn set_bit(self) -> &'a mut W {
52586                self.bit(true)
52587            }
52588            ///Clears the field bit
52589            #[inline(always)]
52590            pub fn clear_bit(self) -> &'a mut W {
52591                self.bit(false)
52592            }
52593            ///Writes raw bits to the field
52594            #[inline(always)]
52595            pub fn bit(self, value: bool) -> &'a mut W {
52596                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
52597                self.w
52598            }
52599        }
52600        ///Write proxy for field `CWUF1`
52601        pub struct CWUF1_W<'a> {
52602            w: &'a mut W,
52603        }
52604        impl<'a> CWUF1_W<'a> {
52605            ///Sets the field bit
52606            #[inline(always)]
52607            pub fn set_bit(self) -> &'a mut W {
52608                self.bit(true)
52609            }
52610            ///Clears the field bit
52611            #[inline(always)]
52612            pub fn clear_bit(self) -> &'a mut W {
52613                self.bit(false)
52614            }
52615            ///Writes raw bits to the field
52616            #[inline(always)]
52617            pub fn bit(self, value: bool) -> &'a mut W {
52618                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
52619                self.w
52620            }
52621        }
52622        impl W {
52623            ///Bit 14 - Clear CPU2 Hold interrupt flag
52624            #[inline(always)]
52625            pub fn cc2hf(&mut self) -> CC2HF_W {
52626                CC2HF_W { w: self }
52627            }
52628            ///Bit 13 - Clear 802.15.4 end of activity interrupt flag
52629            #[inline(always)]
52630            pub fn c802af(&mut self) -> C802AF_W {
52631                C802AF_W { w: self }
52632            }
52633            ///Bit 12 - Clear BLE end of activity interrupt flag
52634            #[inline(always)]
52635            pub fn cbleaf(&mut self) -> CBLEAF_W {
52636                CBLEAF_W { w: self }
52637            }
52638            ///Bit 11 - Clear critical radio phase end of activity interrupt flag
52639            #[inline(always)]
52640            pub fn ccrpef(&mut self) -> CCRPEF_W {
52641                CCRPEF_W { w: self }
52642            }
52643            ///Bit 10 - Clear 802.15.4 wakeup interrupt flag
52644            #[inline(always)]
52645            pub fn c802wuf(&mut self) -> C802WUF_W {
52646                C802WUF_W { w: self }
52647            }
52648            ///Bit 9 - Clear BLE wakeup interrupt flag
52649            #[inline(always)]
52650            pub fn cblewuf(&mut self) -> CBLEWUF_W {
52651                CBLEWUF_W { w: self }
52652            }
52653            ///Bit 8 - Clear BORH interrupt flag
52654            #[inline(always)]
52655            pub fn cborhf(&mut self) -> CBORHF_W {
52656                CBORHF_W { w: self }
52657            }
52658            ///Bit 7 - Clear SMPS Step Down converter forced in Bypass interrupt flag
52659            #[inline(always)]
52660            pub fn csmpsfbf(&mut self) -> CSMPSFBF_W {
52661                CSMPSFBF_W { w: self }
52662            }
52663            ///Bit 4 - Clear wakeup flag 5
52664            #[inline(always)]
52665            pub fn cwuf5(&mut self) -> CWUF5_W {
52666                CWUF5_W { w: self }
52667            }
52668            ///Bit 3 - Clear wakeup flag 4
52669            #[inline(always)]
52670            pub fn cwuf4(&mut self) -> CWUF4_W {
52671                CWUF4_W { w: self }
52672            }
52673            ///Bit 2 - Clear wakeup flag 3
52674            #[inline(always)]
52675            pub fn cwuf3(&mut self) -> CWUF3_W {
52676                CWUF3_W { w: self }
52677            }
52678            ///Bit 1 - Clear wakeup flag 2
52679            #[inline(always)]
52680            pub fn cwuf2(&mut self) -> CWUF2_W {
52681                CWUF2_W { w: self }
52682            }
52683            ///Bit 0 - Clear wakeup flag 1
52684            #[inline(always)]
52685            pub fn cwuf1(&mut self) -> CWUF1_W {
52686                CWUF1_W { w: self }
52687            }
52688        }
52689    }
52690    ///Power control register 5
52691    ///
52692    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
52693    ///
52694    ///For information about available fields see [cr5](cr5) module
52695    pub type CR5 = crate::Reg<u32, _CR5>;
52696    #[allow(missing_docs)]
52697    #[doc(hidden)]
52698    pub struct _CR5;
52699    ///`read()` method returns [cr5::R](cr5::R) reader structure
52700    impl crate::Readable for CR5 {}
52701    ///`write(|w| ..)` method takes [cr5::W](cr5::W) writer structure
52702    impl crate::Writable for CR5 {}
52703    ///Power control register 5
52704    pub mod cr5 {
52705        ///Reader of register CR5
52706        pub type R = crate::R<u32, super::CR5>;
52707        ///Writer for register CR5
52708        pub type W = crate::W<u32, super::CR5>;
52709        ///Register CR5 `reset()`'s with value 0x4270
52710        impl crate::ResetValue for super::CR5 {
52711            type Type = u32;
52712            #[inline(always)]
52713            fn reset_value() -> Self::Type {
52714                0x4270
52715            }
52716        }
52717        ///Reader of field `SDEB`
52718        pub type SDEB_R = crate::R<bool, bool>;
52719        ///Write proxy for field `SDEB`
52720        pub struct SDEB_W<'a> {
52721            w: &'a mut W,
52722        }
52723        impl<'a> SDEB_W<'a> {
52724            ///Sets the field bit
52725            #[inline(always)]
52726            pub fn set_bit(self) -> &'a mut W {
52727                self.bit(true)
52728            }
52729            ///Clears the field bit
52730            #[inline(always)]
52731            pub fn clear_bit(self) -> &'a mut W {
52732                self.bit(false)
52733            }
52734            ///Writes raw bits to the field
52735            #[inline(always)]
52736            pub fn bit(self, value: bool) -> &'a mut W {
52737                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
52738                self.w
52739            }
52740        }
52741        ///Reader of field `SDBEN`
52742        pub type SDBEN_R = crate::R<bool, bool>;
52743        ///Write proxy for field `SDBEN`
52744        pub struct SDBEN_W<'a> {
52745            w: &'a mut W,
52746        }
52747        impl<'a> SDBEN_W<'a> {
52748            ///Sets the field bit
52749            #[inline(always)]
52750            pub fn set_bit(self) -> &'a mut W {
52751                self.bit(true)
52752            }
52753            ///Clears the field bit
52754            #[inline(always)]
52755            pub fn clear_bit(self) -> &'a mut W {
52756                self.bit(false)
52757            }
52758            ///Writes raw bits to the field
52759            #[inline(always)]
52760            pub fn bit(self, value: bool) -> &'a mut W {
52761                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
52762                self.w
52763            }
52764        }
52765        ///Reader of field `SMPSCFG`
52766        pub type SMPSCFG_R = crate::R<bool, bool>;
52767        ///Write proxy for field `SMPSCFG`
52768        pub struct SMPSCFG_W<'a> {
52769            w: &'a mut W,
52770        }
52771        impl<'a> SMPSCFG_W<'a> {
52772            ///Sets the field bit
52773            #[inline(always)]
52774            pub fn set_bit(self) -> &'a mut W {
52775                self.bit(true)
52776            }
52777            ///Clears the field bit
52778            #[inline(always)]
52779            pub fn clear_bit(self) -> &'a mut W {
52780                self.bit(false)
52781            }
52782            ///Writes raw bits to the field
52783            #[inline(always)]
52784            pub fn bit(self, value: bool) -> &'a mut W {
52785                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
52786                self.w
52787            }
52788        }
52789        ///Reader of field `BORHC`
52790        pub type BORHC_R = crate::R<bool, bool>;
52791        ///Write proxy for field `BORHC`
52792        pub struct BORHC_W<'a> {
52793            w: &'a mut W,
52794        }
52795        impl<'a> BORHC_W<'a> {
52796            ///Sets the field bit
52797            #[inline(always)]
52798            pub fn set_bit(self) -> &'a mut W {
52799                self.bit(true)
52800            }
52801            ///Clears the field bit
52802            #[inline(always)]
52803            pub fn clear_bit(self) -> &'a mut W {
52804                self.bit(false)
52805            }
52806            ///Writes raw bits to the field
52807            #[inline(always)]
52808            pub fn bit(self, value: bool) -> &'a mut W {
52809                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
52810                self.w
52811            }
52812        }
52813        ///Reader of field `SDSC`
52814        pub type SDSC_R = crate::R<u8, u8>;
52815        ///Write proxy for field `SDSC`
52816        pub struct SDSC_W<'a> {
52817            w: &'a mut W,
52818        }
52819        impl<'a> SDSC_W<'a> {
52820            ///Writes raw bits to the field
52821            #[inline(always)]
52822            pub unsafe fn bits(self, value: u8) -> &'a mut W {
52823                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
52824                self.w
52825            }
52826        }
52827        ///Reader of field `SDVOS`
52828        pub type SDVOS_R = crate::R<u8, u8>;
52829        ///Write proxy for field `SDVOS`
52830        pub struct SDVOS_W<'a> {
52831            w: &'a mut W,
52832        }
52833        impl<'a> SDVOS_W<'a> {
52834            ///Writes raw bits to the field
52835            #[inline(always)]
52836            pub unsafe fn bits(self, value: u8) -> &'a mut W {
52837                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
52838                self.w
52839            }
52840        }
52841        impl R {
52842            ///Bit 15 - Enable Step Down converter SMPS mode enabled
52843            #[inline(always)]
52844            pub fn sdeb(&self) -> SDEB_R {
52845                SDEB_R::new(((self.bits >> 15) & 0x01) != 0)
52846            }
52847            ///Bit 14 - Enable Step Down converter Bypass mode enabled
52848            #[inline(always)]
52849            pub fn sdben(&self) -> SDBEN_R {
52850                SDBEN_R::new(((self.bits >> 14) & 0x01) != 0)
52851            }
52852            ///Bit 9 - VOS configuration selection (non user)
52853            #[inline(always)]
52854            pub fn smpscfg(&self) -> SMPSCFG_R {
52855                SMPSCFG_R::new(((self.bits >> 9) & 0x01) != 0)
52856            }
52857            ///Bit 8 - BORH configuration selection
52858            #[inline(always)]
52859            pub fn borhc(&self) -> BORHC_R {
52860                BORHC_R::new(((self.bits >> 8) & 0x01) != 0)
52861            }
52862            ///Bits 4:6 - Step Down converter supplt startup current selection
52863            #[inline(always)]
52864            pub fn sdsc(&self) -> SDSC_R {
52865                SDSC_R::new(((self.bits >> 4) & 0x07) as u8)
52866            }
52867            ///Bits 0:3 - Step Down converter voltage output scaling
52868            #[inline(always)]
52869            pub fn sdvos(&self) -> SDVOS_R {
52870                SDVOS_R::new((self.bits & 0x0f) as u8)
52871            }
52872        }
52873        impl W {
52874            ///Bit 15 - Enable Step Down converter SMPS mode enabled
52875            #[inline(always)]
52876            pub fn sdeb(&mut self) -> SDEB_W {
52877                SDEB_W { w: self }
52878            }
52879            ///Bit 14 - Enable Step Down converter Bypass mode enabled
52880            #[inline(always)]
52881            pub fn sdben(&mut self) -> SDBEN_W {
52882                SDBEN_W { w: self }
52883            }
52884            ///Bit 9 - VOS configuration selection (non user)
52885            #[inline(always)]
52886            pub fn smpscfg(&mut self) -> SMPSCFG_W {
52887                SMPSCFG_W { w: self }
52888            }
52889            ///Bit 8 - BORH configuration selection
52890            #[inline(always)]
52891            pub fn borhc(&mut self) -> BORHC_W {
52892                BORHC_W { w: self }
52893            }
52894            ///Bits 4:6 - Step Down converter supplt startup current selection
52895            #[inline(always)]
52896            pub fn sdsc(&mut self) -> SDSC_W {
52897                SDSC_W { w: self }
52898            }
52899            ///Bits 0:3 - Step Down converter voltage output scaling
52900            #[inline(always)]
52901            pub fn sdvos(&mut self) -> SDVOS_W {
52902                SDVOS_W { w: self }
52903            }
52904        }
52905    }
52906    ///Power Port A pull-up control register
52907    ///
52908    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
52909    ///
52910    ///For information about available fields see [pucra](pucra) module
52911    pub type PUCRA = crate::Reg<u32, _PUCRA>;
52912    #[allow(missing_docs)]
52913    #[doc(hidden)]
52914    pub struct _PUCRA;
52915    ///`read()` method returns [pucra::R](pucra::R) reader structure
52916    impl crate::Readable for PUCRA {}
52917    ///`write(|w| ..)` method takes [pucra::W](pucra::W) writer structure
52918    impl crate::Writable for PUCRA {}
52919    ///Power Port A pull-up control register
52920    pub mod pucra {
52921        ///Reader of register PUCRA
52922        pub type R = crate::R<u32, super::PUCRA>;
52923        ///Writer for register PUCRA
52924        pub type W = crate::W<u32, super::PUCRA>;
52925        ///Register PUCRA `reset()`'s with value 0
52926        impl crate::ResetValue for super::PUCRA {
52927            type Type = u32;
52928            #[inline(always)]
52929            fn reset_value() -> Self::Type {
52930                0
52931            }
52932        }
52933        ///Reader of field `PU15`
52934        pub type PU15_R = crate::R<bool, bool>;
52935        ///Write proxy for field `PU15`
52936        pub struct PU15_W<'a> {
52937            w: &'a mut W,
52938        }
52939        impl<'a> PU15_W<'a> {
52940            ///Sets the field bit
52941            #[inline(always)]
52942            pub fn set_bit(self) -> &'a mut W {
52943                self.bit(true)
52944            }
52945            ///Clears the field bit
52946            #[inline(always)]
52947            pub fn clear_bit(self) -> &'a mut W {
52948                self.bit(false)
52949            }
52950            ///Writes raw bits to the field
52951            #[inline(always)]
52952            pub fn bit(self, value: bool) -> &'a mut W {
52953                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
52954                self.w
52955            }
52956        }
52957        ///Reader of field `PU13`
52958        pub type PU13_R = crate::R<bool, bool>;
52959        ///Write proxy for field `PU13`
52960        pub struct PU13_W<'a> {
52961            w: &'a mut W,
52962        }
52963        impl<'a> PU13_W<'a> {
52964            ///Sets the field bit
52965            #[inline(always)]
52966            pub fn set_bit(self) -> &'a mut W {
52967                self.bit(true)
52968            }
52969            ///Clears the field bit
52970            #[inline(always)]
52971            pub fn clear_bit(self) -> &'a mut W {
52972                self.bit(false)
52973            }
52974            ///Writes raw bits to the field
52975            #[inline(always)]
52976            pub fn bit(self, value: bool) -> &'a mut W {
52977                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
52978                self.w
52979            }
52980        }
52981        ///Reader of field `PU12`
52982        pub type PU12_R = crate::R<bool, bool>;
52983        ///Write proxy for field `PU12`
52984        pub struct PU12_W<'a> {
52985            w: &'a mut W,
52986        }
52987        impl<'a> PU12_W<'a> {
52988            ///Sets the field bit
52989            #[inline(always)]
52990            pub fn set_bit(self) -> &'a mut W {
52991                self.bit(true)
52992            }
52993            ///Clears the field bit
52994            #[inline(always)]
52995            pub fn clear_bit(self) -> &'a mut W {
52996                self.bit(false)
52997            }
52998            ///Writes raw bits to the field
52999            #[inline(always)]
53000            pub fn bit(self, value: bool) -> &'a mut W {
53001                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
53002                self.w
53003            }
53004        }
53005        ///Reader of field `PU11`
53006        pub type PU11_R = crate::R<bool, bool>;
53007        ///Write proxy for field `PU11`
53008        pub struct PU11_W<'a> {
53009            w: &'a mut W,
53010        }
53011        impl<'a> PU11_W<'a> {
53012            ///Sets the field bit
53013            #[inline(always)]
53014            pub fn set_bit(self) -> &'a mut W {
53015                self.bit(true)
53016            }
53017            ///Clears the field bit
53018            #[inline(always)]
53019            pub fn clear_bit(self) -> &'a mut W {
53020                self.bit(false)
53021            }
53022            ///Writes raw bits to the field
53023            #[inline(always)]
53024            pub fn bit(self, value: bool) -> &'a mut W {
53025                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
53026                self.w
53027            }
53028        }
53029        ///Reader of field `PU10`
53030        pub type PU10_R = crate::R<bool, bool>;
53031        ///Write proxy for field `PU10`
53032        pub struct PU10_W<'a> {
53033            w: &'a mut W,
53034        }
53035        impl<'a> PU10_W<'a> {
53036            ///Sets the field bit
53037            #[inline(always)]
53038            pub fn set_bit(self) -> &'a mut W {
53039                self.bit(true)
53040            }
53041            ///Clears the field bit
53042            #[inline(always)]
53043            pub fn clear_bit(self) -> &'a mut W {
53044                self.bit(false)
53045            }
53046            ///Writes raw bits to the field
53047            #[inline(always)]
53048            pub fn bit(self, value: bool) -> &'a mut W {
53049                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
53050                self.w
53051            }
53052        }
53053        ///Reader of field `PU9`
53054        pub type PU9_R = crate::R<bool, bool>;
53055        ///Write proxy for field `PU9`
53056        pub struct PU9_W<'a> {
53057            w: &'a mut W,
53058        }
53059        impl<'a> PU9_W<'a> {
53060            ///Sets the field bit
53061            #[inline(always)]
53062            pub fn set_bit(self) -> &'a mut W {
53063                self.bit(true)
53064            }
53065            ///Clears the field bit
53066            #[inline(always)]
53067            pub fn clear_bit(self) -> &'a mut W {
53068                self.bit(false)
53069            }
53070            ///Writes raw bits to the field
53071            #[inline(always)]
53072            pub fn bit(self, value: bool) -> &'a mut W {
53073                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
53074                self.w
53075            }
53076        }
53077        ///Reader of field `PU8`
53078        pub type PU8_R = crate::R<bool, bool>;
53079        ///Write proxy for field `PU8`
53080        pub struct PU8_W<'a> {
53081            w: &'a mut W,
53082        }
53083        impl<'a> PU8_W<'a> {
53084            ///Sets the field bit
53085            #[inline(always)]
53086            pub fn set_bit(self) -> &'a mut W {
53087                self.bit(true)
53088            }
53089            ///Clears the field bit
53090            #[inline(always)]
53091            pub fn clear_bit(self) -> &'a mut W {
53092                self.bit(false)
53093            }
53094            ///Writes raw bits to the field
53095            #[inline(always)]
53096            pub fn bit(self, value: bool) -> &'a mut W {
53097                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
53098                self.w
53099            }
53100        }
53101        ///Reader of field `PU7`
53102        pub type PU7_R = crate::R<bool, bool>;
53103        ///Write proxy for field `PU7`
53104        pub struct PU7_W<'a> {
53105            w: &'a mut W,
53106        }
53107        impl<'a> PU7_W<'a> {
53108            ///Sets the field bit
53109            #[inline(always)]
53110            pub fn set_bit(self) -> &'a mut W {
53111                self.bit(true)
53112            }
53113            ///Clears the field bit
53114            #[inline(always)]
53115            pub fn clear_bit(self) -> &'a mut W {
53116                self.bit(false)
53117            }
53118            ///Writes raw bits to the field
53119            #[inline(always)]
53120            pub fn bit(self, value: bool) -> &'a mut W {
53121                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
53122                self.w
53123            }
53124        }
53125        ///Reader of field `PU6`
53126        pub type PU6_R = crate::R<bool, bool>;
53127        ///Write proxy for field `PU6`
53128        pub struct PU6_W<'a> {
53129            w: &'a mut W,
53130        }
53131        impl<'a> PU6_W<'a> {
53132            ///Sets the field bit
53133            #[inline(always)]
53134            pub fn set_bit(self) -> &'a mut W {
53135                self.bit(true)
53136            }
53137            ///Clears the field bit
53138            #[inline(always)]
53139            pub fn clear_bit(self) -> &'a mut W {
53140                self.bit(false)
53141            }
53142            ///Writes raw bits to the field
53143            #[inline(always)]
53144            pub fn bit(self, value: bool) -> &'a mut W {
53145                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
53146                self.w
53147            }
53148        }
53149        ///Reader of field `PU5`
53150        pub type PU5_R = crate::R<bool, bool>;
53151        ///Write proxy for field `PU5`
53152        pub struct PU5_W<'a> {
53153            w: &'a mut W,
53154        }
53155        impl<'a> PU5_W<'a> {
53156            ///Sets the field bit
53157            #[inline(always)]
53158            pub fn set_bit(self) -> &'a mut W {
53159                self.bit(true)
53160            }
53161            ///Clears the field bit
53162            #[inline(always)]
53163            pub fn clear_bit(self) -> &'a mut W {
53164                self.bit(false)
53165            }
53166            ///Writes raw bits to the field
53167            #[inline(always)]
53168            pub fn bit(self, value: bool) -> &'a mut W {
53169                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
53170                self.w
53171            }
53172        }
53173        ///Reader of field `PU4`
53174        pub type PU4_R = crate::R<bool, bool>;
53175        ///Write proxy for field `PU4`
53176        pub struct PU4_W<'a> {
53177            w: &'a mut W,
53178        }
53179        impl<'a> PU4_W<'a> {
53180            ///Sets the field bit
53181            #[inline(always)]
53182            pub fn set_bit(self) -> &'a mut W {
53183                self.bit(true)
53184            }
53185            ///Clears the field bit
53186            #[inline(always)]
53187            pub fn clear_bit(self) -> &'a mut W {
53188                self.bit(false)
53189            }
53190            ///Writes raw bits to the field
53191            #[inline(always)]
53192            pub fn bit(self, value: bool) -> &'a mut W {
53193                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
53194                self.w
53195            }
53196        }
53197        ///Reader of field `PU3`
53198        pub type PU3_R = crate::R<bool, bool>;
53199        ///Write proxy for field `PU3`
53200        pub struct PU3_W<'a> {
53201            w: &'a mut W,
53202        }
53203        impl<'a> PU3_W<'a> {
53204            ///Sets the field bit
53205            #[inline(always)]
53206            pub fn set_bit(self) -> &'a mut W {
53207                self.bit(true)
53208            }
53209            ///Clears the field bit
53210            #[inline(always)]
53211            pub fn clear_bit(self) -> &'a mut W {
53212                self.bit(false)
53213            }
53214            ///Writes raw bits to the field
53215            #[inline(always)]
53216            pub fn bit(self, value: bool) -> &'a mut W {
53217                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
53218                self.w
53219            }
53220        }
53221        ///Reader of field `PU2`
53222        pub type PU2_R = crate::R<bool, bool>;
53223        ///Write proxy for field `PU2`
53224        pub struct PU2_W<'a> {
53225            w: &'a mut W,
53226        }
53227        impl<'a> PU2_W<'a> {
53228            ///Sets the field bit
53229            #[inline(always)]
53230            pub fn set_bit(self) -> &'a mut W {
53231                self.bit(true)
53232            }
53233            ///Clears the field bit
53234            #[inline(always)]
53235            pub fn clear_bit(self) -> &'a mut W {
53236                self.bit(false)
53237            }
53238            ///Writes raw bits to the field
53239            #[inline(always)]
53240            pub fn bit(self, value: bool) -> &'a mut W {
53241                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
53242                self.w
53243            }
53244        }
53245        ///Reader of field `PU1`
53246        pub type PU1_R = crate::R<bool, bool>;
53247        ///Write proxy for field `PU1`
53248        pub struct PU1_W<'a> {
53249            w: &'a mut W,
53250        }
53251        impl<'a> PU1_W<'a> {
53252            ///Sets the field bit
53253            #[inline(always)]
53254            pub fn set_bit(self) -> &'a mut W {
53255                self.bit(true)
53256            }
53257            ///Clears the field bit
53258            #[inline(always)]
53259            pub fn clear_bit(self) -> &'a mut W {
53260                self.bit(false)
53261            }
53262            ///Writes raw bits to the field
53263            #[inline(always)]
53264            pub fn bit(self, value: bool) -> &'a mut W {
53265                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
53266                self.w
53267            }
53268        }
53269        ///Reader of field `PU0`
53270        pub type PU0_R = crate::R<bool, bool>;
53271        ///Write proxy for field `PU0`
53272        pub struct PU0_W<'a> {
53273            w: &'a mut W,
53274        }
53275        impl<'a> PU0_W<'a> {
53276            ///Sets the field bit
53277            #[inline(always)]
53278            pub fn set_bit(self) -> &'a mut W {
53279                self.bit(true)
53280            }
53281            ///Clears the field bit
53282            #[inline(always)]
53283            pub fn clear_bit(self) -> &'a mut W {
53284                self.bit(false)
53285            }
53286            ///Writes raw bits to the field
53287            #[inline(always)]
53288            pub fn bit(self, value: bool) -> &'a mut W {
53289                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
53290                self.w
53291            }
53292        }
53293        impl R {
53294            ///Bit 15 - Port A pull-up bit y (y=0..15)
53295            #[inline(always)]
53296            pub fn pu15(&self) -> PU15_R {
53297                PU15_R::new(((self.bits >> 15) & 0x01) != 0)
53298            }
53299            ///Bit 13 - Port A pull-up bit y (y=0..15)
53300            #[inline(always)]
53301            pub fn pu13(&self) -> PU13_R {
53302                PU13_R::new(((self.bits >> 13) & 0x01) != 0)
53303            }
53304            ///Bit 12 - Port A pull-up bit y (y=0..15)
53305            #[inline(always)]
53306            pub fn pu12(&self) -> PU12_R {
53307                PU12_R::new(((self.bits >> 12) & 0x01) != 0)
53308            }
53309            ///Bit 11 - Port A pull-up bit y (y=0..15)
53310            #[inline(always)]
53311            pub fn pu11(&self) -> PU11_R {
53312                PU11_R::new(((self.bits >> 11) & 0x01) != 0)
53313            }
53314            ///Bit 10 - Port A pull-up bit y (y=0..15)
53315            #[inline(always)]
53316            pub fn pu10(&self) -> PU10_R {
53317                PU10_R::new(((self.bits >> 10) & 0x01) != 0)
53318            }
53319            ///Bit 9 - Port A pull-up bit y (y=0..15)
53320            #[inline(always)]
53321            pub fn pu9(&self) -> PU9_R {
53322                PU9_R::new(((self.bits >> 9) & 0x01) != 0)
53323            }
53324            ///Bit 8 - Port A pull-up bit y (y=0..15)
53325            #[inline(always)]
53326            pub fn pu8(&self) -> PU8_R {
53327                PU8_R::new(((self.bits >> 8) & 0x01) != 0)
53328            }
53329            ///Bit 7 - Port A pull-up bit y (y=0..15)
53330            #[inline(always)]
53331            pub fn pu7(&self) -> PU7_R {
53332                PU7_R::new(((self.bits >> 7) & 0x01) != 0)
53333            }
53334            ///Bit 6 - Port A pull-up bit y (y=0..15)
53335            #[inline(always)]
53336            pub fn pu6(&self) -> PU6_R {
53337                PU6_R::new(((self.bits >> 6) & 0x01) != 0)
53338            }
53339            ///Bit 5 - Port A pull-up bit y (y=0..15)
53340            #[inline(always)]
53341            pub fn pu5(&self) -> PU5_R {
53342                PU5_R::new(((self.bits >> 5) & 0x01) != 0)
53343            }
53344            ///Bit 4 - Port A pull-up bit y (y=0..15)
53345            #[inline(always)]
53346            pub fn pu4(&self) -> PU4_R {
53347                PU4_R::new(((self.bits >> 4) & 0x01) != 0)
53348            }
53349            ///Bit 3 - Port A pull-up bit y (y=0..15)
53350            #[inline(always)]
53351            pub fn pu3(&self) -> PU3_R {
53352                PU3_R::new(((self.bits >> 3) & 0x01) != 0)
53353            }
53354            ///Bit 2 - Port A pull-up bit y (y=0..15)
53355            #[inline(always)]
53356            pub fn pu2(&self) -> PU2_R {
53357                PU2_R::new(((self.bits >> 2) & 0x01) != 0)
53358            }
53359            ///Bit 1 - Port A pull-up bit y (y=0..15)
53360            #[inline(always)]
53361            pub fn pu1(&self) -> PU1_R {
53362                PU1_R::new(((self.bits >> 1) & 0x01) != 0)
53363            }
53364            ///Bit 0 - Port A pull-up bit y (y=0..15)
53365            #[inline(always)]
53366            pub fn pu0(&self) -> PU0_R {
53367                PU0_R::new((self.bits & 0x01) != 0)
53368            }
53369        }
53370        impl W {
53371            ///Bit 15 - Port A pull-up bit y (y=0..15)
53372            #[inline(always)]
53373            pub fn pu15(&mut self) -> PU15_W {
53374                PU15_W { w: self }
53375            }
53376            ///Bit 13 - Port A pull-up bit y (y=0..15)
53377            #[inline(always)]
53378            pub fn pu13(&mut self) -> PU13_W {
53379                PU13_W { w: self }
53380            }
53381            ///Bit 12 - Port A pull-up bit y (y=0..15)
53382            #[inline(always)]
53383            pub fn pu12(&mut self) -> PU12_W {
53384                PU12_W { w: self }
53385            }
53386            ///Bit 11 - Port A pull-up bit y (y=0..15)
53387            #[inline(always)]
53388            pub fn pu11(&mut self) -> PU11_W {
53389                PU11_W { w: self }
53390            }
53391            ///Bit 10 - Port A pull-up bit y (y=0..15)
53392            #[inline(always)]
53393            pub fn pu10(&mut self) -> PU10_W {
53394                PU10_W { w: self }
53395            }
53396            ///Bit 9 - Port A pull-up bit y (y=0..15)
53397            #[inline(always)]
53398            pub fn pu9(&mut self) -> PU9_W {
53399                PU9_W { w: self }
53400            }
53401            ///Bit 8 - Port A pull-up bit y (y=0..15)
53402            #[inline(always)]
53403            pub fn pu8(&mut self) -> PU8_W {
53404                PU8_W { w: self }
53405            }
53406            ///Bit 7 - Port A pull-up bit y (y=0..15)
53407            #[inline(always)]
53408            pub fn pu7(&mut self) -> PU7_W {
53409                PU7_W { w: self }
53410            }
53411            ///Bit 6 - Port A pull-up bit y (y=0..15)
53412            #[inline(always)]
53413            pub fn pu6(&mut self) -> PU6_W {
53414                PU6_W { w: self }
53415            }
53416            ///Bit 5 - Port A pull-up bit y (y=0..15)
53417            #[inline(always)]
53418            pub fn pu5(&mut self) -> PU5_W {
53419                PU5_W { w: self }
53420            }
53421            ///Bit 4 - Port A pull-up bit y (y=0..15)
53422            #[inline(always)]
53423            pub fn pu4(&mut self) -> PU4_W {
53424                PU4_W { w: self }
53425            }
53426            ///Bit 3 - Port A pull-up bit y (y=0..15)
53427            #[inline(always)]
53428            pub fn pu3(&mut self) -> PU3_W {
53429                PU3_W { w: self }
53430            }
53431            ///Bit 2 - Port A pull-up bit y (y=0..15)
53432            #[inline(always)]
53433            pub fn pu2(&mut self) -> PU2_W {
53434                PU2_W { w: self }
53435            }
53436            ///Bit 1 - Port A pull-up bit y (y=0..15)
53437            #[inline(always)]
53438            pub fn pu1(&mut self) -> PU1_W {
53439                PU1_W { w: self }
53440            }
53441            ///Bit 0 - Port A pull-up bit y (y=0..15)
53442            #[inline(always)]
53443            pub fn pu0(&mut self) -> PU0_W {
53444                PU0_W { w: self }
53445            }
53446        }
53447    }
53448    ///Power Port A pull-down control register
53449    ///
53450    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
53451    ///
53452    ///For information about available fields see [pdcra](pdcra) module
53453    pub type PDCRA = crate::Reg<u32, _PDCRA>;
53454    #[allow(missing_docs)]
53455    #[doc(hidden)]
53456    pub struct _PDCRA;
53457    ///`read()` method returns [pdcra::R](pdcra::R) reader structure
53458    impl crate::Readable for PDCRA {}
53459    ///`write(|w| ..)` method takes [pdcra::W](pdcra::W) writer structure
53460    impl crate::Writable for PDCRA {}
53461    ///Power Port A pull-down control register
53462    pub mod pdcra {
53463        ///Reader of register PDCRA
53464        pub type R = crate::R<u32, super::PDCRA>;
53465        ///Writer for register PDCRA
53466        pub type W = crate::W<u32, super::PDCRA>;
53467        ///Register PDCRA `reset()`'s with value 0
53468        impl crate::ResetValue for super::PDCRA {
53469            type Type = u32;
53470            #[inline(always)]
53471            fn reset_value() -> Self::Type {
53472                0
53473            }
53474        }
53475        ///Reader of field `PD14`
53476        pub type PD14_R = crate::R<bool, bool>;
53477        ///Write proxy for field `PD14`
53478        pub struct PD14_W<'a> {
53479            w: &'a mut W,
53480        }
53481        impl<'a> PD14_W<'a> {
53482            ///Sets the field bit
53483            #[inline(always)]
53484            pub fn set_bit(self) -> &'a mut W {
53485                self.bit(true)
53486            }
53487            ///Clears the field bit
53488            #[inline(always)]
53489            pub fn clear_bit(self) -> &'a mut W {
53490                self.bit(false)
53491            }
53492            ///Writes raw bits to the field
53493            #[inline(always)]
53494            pub fn bit(self, value: bool) -> &'a mut W {
53495                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
53496                self.w
53497            }
53498        }
53499        ///Reader of field `PD12`
53500        pub type PD12_R = crate::R<bool, bool>;
53501        ///Write proxy for field `PD12`
53502        pub struct PD12_W<'a> {
53503            w: &'a mut W,
53504        }
53505        impl<'a> PD12_W<'a> {
53506            ///Sets the field bit
53507            #[inline(always)]
53508            pub fn set_bit(self) -> &'a mut W {
53509                self.bit(true)
53510            }
53511            ///Clears the field bit
53512            #[inline(always)]
53513            pub fn clear_bit(self) -> &'a mut W {
53514                self.bit(false)
53515            }
53516            ///Writes raw bits to the field
53517            #[inline(always)]
53518            pub fn bit(self, value: bool) -> &'a mut W {
53519                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
53520                self.w
53521            }
53522        }
53523        ///Reader of field `PD11`
53524        pub type PD11_R = crate::R<bool, bool>;
53525        ///Write proxy for field `PD11`
53526        pub struct PD11_W<'a> {
53527            w: &'a mut W,
53528        }
53529        impl<'a> PD11_W<'a> {
53530            ///Sets the field bit
53531            #[inline(always)]
53532            pub fn set_bit(self) -> &'a mut W {
53533                self.bit(true)
53534            }
53535            ///Clears the field bit
53536            #[inline(always)]
53537            pub fn clear_bit(self) -> &'a mut W {
53538                self.bit(false)
53539            }
53540            ///Writes raw bits to the field
53541            #[inline(always)]
53542            pub fn bit(self, value: bool) -> &'a mut W {
53543                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
53544                self.w
53545            }
53546        }
53547        ///Reader of field `PD10`
53548        pub type PD10_R = crate::R<bool, bool>;
53549        ///Write proxy for field `PD10`
53550        pub struct PD10_W<'a> {
53551            w: &'a mut W,
53552        }
53553        impl<'a> PD10_W<'a> {
53554            ///Sets the field bit
53555            #[inline(always)]
53556            pub fn set_bit(self) -> &'a mut W {
53557                self.bit(true)
53558            }
53559            ///Clears the field bit
53560            #[inline(always)]
53561            pub fn clear_bit(self) -> &'a mut W {
53562                self.bit(false)
53563            }
53564            ///Writes raw bits to the field
53565            #[inline(always)]
53566            pub fn bit(self, value: bool) -> &'a mut W {
53567                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
53568                self.w
53569            }
53570        }
53571        ///Reader of field `PD9`
53572        pub type PD9_R = crate::R<bool, bool>;
53573        ///Write proxy for field `PD9`
53574        pub struct PD9_W<'a> {
53575            w: &'a mut W,
53576        }
53577        impl<'a> PD9_W<'a> {
53578            ///Sets the field bit
53579            #[inline(always)]
53580            pub fn set_bit(self) -> &'a mut W {
53581                self.bit(true)
53582            }
53583            ///Clears the field bit
53584            #[inline(always)]
53585            pub fn clear_bit(self) -> &'a mut W {
53586                self.bit(false)
53587            }
53588            ///Writes raw bits to the field
53589            #[inline(always)]
53590            pub fn bit(self, value: bool) -> &'a mut W {
53591                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
53592                self.w
53593            }
53594        }
53595        ///Reader of field `PD8`
53596        pub type PD8_R = crate::R<bool, bool>;
53597        ///Write proxy for field `PD8`
53598        pub struct PD8_W<'a> {
53599            w: &'a mut W,
53600        }
53601        impl<'a> PD8_W<'a> {
53602            ///Sets the field bit
53603            #[inline(always)]
53604            pub fn set_bit(self) -> &'a mut W {
53605                self.bit(true)
53606            }
53607            ///Clears the field bit
53608            #[inline(always)]
53609            pub fn clear_bit(self) -> &'a mut W {
53610                self.bit(false)
53611            }
53612            ///Writes raw bits to the field
53613            #[inline(always)]
53614            pub fn bit(self, value: bool) -> &'a mut W {
53615                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
53616                self.w
53617            }
53618        }
53619        ///Reader of field `PD7`
53620        pub type PD7_R = crate::R<bool, bool>;
53621        ///Write proxy for field `PD7`
53622        pub struct PD7_W<'a> {
53623            w: &'a mut W,
53624        }
53625        impl<'a> PD7_W<'a> {
53626            ///Sets the field bit
53627            #[inline(always)]
53628            pub fn set_bit(self) -> &'a mut W {
53629                self.bit(true)
53630            }
53631            ///Clears the field bit
53632            #[inline(always)]
53633            pub fn clear_bit(self) -> &'a mut W {
53634                self.bit(false)
53635            }
53636            ///Writes raw bits to the field
53637            #[inline(always)]
53638            pub fn bit(self, value: bool) -> &'a mut W {
53639                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
53640                self.w
53641            }
53642        }
53643        ///Reader of field `PD6`
53644        pub type PD6_R = crate::R<bool, bool>;
53645        ///Write proxy for field `PD6`
53646        pub struct PD6_W<'a> {
53647            w: &'a mut W,
53648        }
53649        impl<'a> PD6_W<'a> {
53650            ///Sets the field bit
53651            #[inline(always)]
53652            pub fn set_bit(self) -> &'a mut W {
53653                self.bit(true)
53654            }
53655            ///Clears the field bit
53656            #[inline(always)]
53657            pub fn clear_bit(self) -> &'a mut W {
53658                self.bit(false)
53659            }
53660            ///Writes raw bits to the field
53661            #[inline(always)]
53662            pub fn bit(self, value: bool) -> &'a mut W {
53663                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
53664                self.w
53665            }
53666        }
53667        ///Reader of field `PD5`
53668        pub type PD5_R = crate::R<bool, bool>;
53669        ///Write proxy for field `PD5`
53670        pub struct PD5_W<'a> {
53671            w: &'a mut W,
53672        }
53673        impl<'a> PD5_W<'a> {
53674            ///Sets the field bit
53675            #[inline(always)]
53676            pub fn set_bit(self) -> &'a mut W {
53677                self.bit(true)
53678            }
53679            ///Clears the field bit
53680            #[inline(always)]
53681            pub fn clear_bit(self) -> &'a mut W {
53682                self.bit(false)
53683            }
53684            ///Writes raw bits to the field
53685            #[inline(always)]
53686            pub fn bit(self, value: bool) -> &'a mut W {
53687                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
53688                self.w
53689            }
53690        }
53691        ///Reader of field `PD4`
53692        pub type PD4_R = crate::R<bool, bool>;
53693        ///Write proxy for field `PD4`
53694        pub struct PD4_W<'a> {
53695            w: &'a mut W,
53696        }
53697        impl<'a> PD4_W<'a> {
53698            ///Sets the field bit
53699            #[inline(always)]
53700            pub fn set_bit(self) -> &'a mut W {
53701                self.bit(true)
53702            }
53703            ///Clears the field bit
53704            #[inline(always)]
53705            pub fn clear_bit(self) -> &'a mut W {
53706                self.bit(false)
53707            }
53708            ///Writes raw bits to the field
53709            #[inline(always)]
53710            pub fn bit(self, value: bool) -> &'a mut W {
53711                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
53712                self.w
53713            }
53714        }
53715        ///Reader of field `PD3`
53716        pub type PD3_R = crate::R<bool, bool>;
53717        ///Write proxy for field `PD3`
53718        pub struct PD3_W<'a> {
53719            w: &'a mut W,
53720        }
53721        impl<'a> PD3_W<'a> {
53722            ///Sets the field bit
53723            #[inline(always)]
53724            pub fn set_bit(self) -> &'a mut W {
53725                self.bit(true)
53726            }
53727            ///Clears the field bit
53728            #[inline(always)]
53729            pub fn clear_bit(self) -> &'a mut W {
53730                self.bit(false)
53731            }
53732            ///Writes raw bits to the field
53733            #[inline(always)]
53734            pub fn bit(self, value: bool) -> &'a mut W {
53735                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
53736                self.w
53737            }
53738        }
53739        ///Reader of field `PD2`
53740        pub type PD2_R = crate::R<bool, bool>;
53741        ///Write proxy for field `PD2`
53742        pub struct PD2_W<'a> {
53743            w: &'a mut W,
53744        }
53745        impl<'a> PD2_W<'a> {
53746            ///Sets the field bit
53747            #[inline(always)]
53748            pub fn set_bit(self) -> &'a mut W {
53749                self.bit(true)
53750            }
53751            ///Clears the field bit
53752            #[inline(always)]
53753            pub fn clear_bit(self) -> &'a mut W {
53754                self.bit(false)
53755            }
53756            ///Writes raw bits to the field
53757            #[inline(always)]
53758            pub fn bit(self, value: bool) -> &'a mut W {
53759                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
53760                self.w
53761            }
53762        }
53763        ///Reader of field `PD1`
53764        pub type PD1_R = crate::R<bool, bool>;
53765        ///Write proxy for field `PD1`
53766        pub struct PD1_W<'a> {
53767            w: &'a mut W,
53768        }
53769        impl<'a> PD1_W<'a> {
53770            ///Sets the field bit
53771            #[inline(always)]
53772            pub fn set_bit(self) -> &'a mut W {
53773                self.bit(true)
53774            }
53775            ///Clears the field bit
53776            #[inline(always)]
53777            pub fn clear_bit(self) -> &'a mut W {
53778                self.bit(false)
53779            }
53780            ///Writes raw bits to the field
53781            #[inline(always)]
53782            pub fn bit(self, value: bool) -> &'a mut W {
53783                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
53784                self.w
53785            }
53786        }
53787        ///Reader of field `PD0`
53788        pub type PD0_R = crate::R<bool, bool>;
53789        ///Write proxy for field `PD0`
53790        pub struct PD0_W<'a> {
53791            w: &'a mut W,
53792        }
53793        impl<'a> PD0_W<'a> {
53794            ///Sets the field bit
53795            #[inline(always)]
53796            pub fn set_bit(self) -> &'a mut W {
53797                self.bit(true)
53798            }
53799            ///Clears the field bit
53800            #[inline(always)]
53801            pub fn clear_bit(self) -> &'a mut W {
53802                self.bit(false)
53803            }
53804            ///Writes raw bits to the field
53805            #[inline(always)]
53806            pub fn bit(self, value: bool) -> &'a mut W {
53807                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
53808                self.w
53809            }
53810        }
53811        impl R {
53812            ///Bit 14 - Port A pull-down bit y (y=0..15)
53813            #[inline(always)]
53814            pub fn pd14(&self) -> PD14_R {
53815                PD14_R::new(((self.bits >> 14) & 0x01) != 0)
53816            }
53817            ///Bit 12 - Port A pull-down bit y (y=0..15)
53818            #[inline(always)]
53819            pub fn pd12(&self) -> PD12_R {
53820                PD12_R::new(((self.bits >> 12) & 0x01) != 0)
53821            }
53822            ///Bit 11 - Port A pull-down bit y (y=0..15)
53823            #[inline(always)]
53824            pub fn pd11(&self) -> PD11_R {
53825                PD11_R::new(((self.bits >> 11) & 0x01) != 0)
53826            }
53827            ///Bit 10 - Port A pull-down bit y (y=0..15)
53828            #[inline(always)]
53829            pub fn pd10(&self) -> PD10_R {
53830                PD10_R::new(((self.bits >> 10) & 0x01) != 0)
53831            }
53832            ///Bit 9 - Port A pull-down bit y (y=0..15)
53833            #[inline(always)]
53834            pub fn pd9(&self) -> PD9_R {
53835                PD9_R::new(((self.bits >> 9) & 0x01) != 0)
53836            }
53837            ///Bit 8 - Port A pull-down bit y (y=0..15)
53838            #[inline(always)]
53839            pub fn pd8(&self) -> PD8_R {
53840                PD8_R::new(((self.bits >> 8) & 0x01) != 0)
53841            }
53842            ///Bit 7 - Port A pull-down bit y (y=0..15)
53843            #[inline(always)]
53844            pub fn pd7(&self) -> PD7_R {
53845                PD7_R::new(((self.bits >> 7) & 0x01) != 0)
53846            }
53847            ///Bit 6 - Port A pull-down bit y (y=0..15)
53848            #[inline(always)]
53849            pub fn pd6(&self) -> PD6_R {
53850                PD6_R::new(((self.bits >> 6) & 0x01) != 0)
53851            }
53852            ///Bit 5 - Port A pull-down bit y (y=0..15)
53853            #[inline(always)]
53854            pub fn pd5(&self) -> PD5_R {
53855                PD5_R::new(((self.bits >> 5) & 0x01) != 0)
53856            }
53857            ///Bit 4 - Port A pull-down bit y (y=0..15)
53858            #[inline(always)]
53859            pub fn pd4(&self) -> PD4_R {
53860                PD4_R::new(((self.bits >> 4) & 0x01) != 0)
53861            }
53862            ///Bit 3 - Port A pull-down bit y (y=0..15)
53863            #[inline(always)]
53864            pub fn pd3(&self) -> PD3_R {
53865                PD3_R::new(((self.bits >> 3) & 0x01) != 0)
53866            }
53867            ///Bit 2 - Port A pull-down bit y (y=0..15)
53868            #[inline(always)]
53869            pub fn pd2(&self) -> PD2_R {
53870                PD2_R::new(((self.bits >> 2) & 0x01) != 0)
53871            }
53872            ///Bit 1 - Port A pull-down bit y (y=0..15)
53873            #[inline(always)]
53874            pub fn pd1(&self) -> PD1_R {
53875                PD1_R::new(((self.bits >> 1) & 0x01) != 0)
53876            }
53877            ///Bit 0 - Port A pull-down bit y (y=0..15)
53878            #[inline(always)]
53879            pub fn pd0(&self) -> PD0_R {
53880                PD0_R::new((self.bits & 0x01) != 0)
53881            }
53882        }
53883        impl W {
53884            ///Bit 14 - Port A pull-down bit y (y=0..15)
53885            #[inline(always)]
53886            pub fn pd14(&mut self) -> PD14_W {
53887                PD14_W { w: self }
53888            }
53889            ///Bit 12 - Port A pull-down bit y (y=0..15)
53890            #[inline(always)]
53891            pub fn pd12(&mut self) -> PD12_W {
53892                PD12_W { w: self }
53893            }
53894            ///Bit 11 - Port A pull-down bit y (y=0..15)
53895            #[inline(always)]
53896            pub fn pd11(&mut self) -> PD11_W {
53897                PD11_W { w: self }
53898            }
53899            ///Bit 10 - Port A pull-down bit y (y=0..15)
53900            #[inline(always)]
53901            pub fn pd10(&mut self) -> PD10_W {
53902                PD10_W { w: self }
53903            }
53904            ///Bit 9 - Port A pull-down bit y (y=0..15)
53905            #[inline(always)]
53906            pub fn pd9(&mut self) -> PD9_W {
53907                PD9_W { w: self }
53908            }
53909            ///Bit 8 - Port A pull-down bit y (y=0..15)
53910            #[inline(always)]
53911            pub fn pd8(&mut self) -> PD8_W {
53912                PD8_W { w: self }
53913            }
53914            ///Bit 7 - Port A pull-down bit y (y=0..15)
53915            #[inline(always)]
53916            pub fn pd7(&mut self) -> PD7_W {
53917                PD7_W { w: self }
53918            }
53919            ///Bit 6 - Port A pull-down bit y (y=0..15)
53920            #[inline(always)]
53921            pub fn pd6(&mut self) -> PD6_W {
53922                PD6_W { w: self }
53923            }
53924            ///Bit 5 - Port A pull-down bit y (y=0..15)
53925            #[inline(always)]
53926            pub fn pd5(&mut self) -> PD5_W {
53927                PD5_W { w: self }
53928            }
53929            ///Bit 4 - Port A pull-down bit y (y=0..15)
53930            #[inline(always)]
53931            pub fn pd4(&mut self) -> PD4_W {
53932                PD4_W { w: self }
53933            }
53934            ///Bit 3 - Port A pull-down bit y (y=0..15)
53935            #[inline(always)]
53936            pub fn pd3(&mut self) -> PD3_W {
53937                PD3_W { w: self }
53938            }
53939            ///Bit 2 - Port A pull-down bit y (y=0..15)
53940            #[inline(always)]
53941            pub fn pd2(&mut self) -> PD2_W {
53942                PD2_W { w: self }
53943            }
53944            ///Bit 1 - Port A pull-down bit y (y=0..15)
53945            #[inline(always)]
53946            pub fn pd1(&mut self) -> PD1_W {
53947                PD1_W { w: self }
53948            }
53949            ///Bit 0 - Port A pull-down bit y (y=0..15)
53950            #[inline(always)]
53951            pub fn pd0(&mut self) -> PD0_W {
53952                PD0_W { w: self }
53953            }
53954        }
53955    }
53956    ///Power Port B pull-up control register
53957    ///
53958    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
53959    ///
53960    ///For information about available fields see [pucrb](pucrb) module
53961    pub type PUCRB = crate::Reg<u32, _PUCRB>;
53962    #[allow(missing_docs)]
53963    #[doc(hidden)]
53964    pub struct _PUCRB;
53965    ///`read()` method returns [pucrb::R](pucrb::R) reader structure
53966    impl crate::Readable for PUCRB {}
53967    ///`write(|w| ..)` method takes [pucrb::W](pucrb::W) writer structure
53968    impl crate::Writable for PUCRB {}
53969    ///Power Port B pull-up control register
53970    pub mod pucrb {
53971        ///Reader of register PUCRB
53972        pub type R = crate::R<u32, super::PUCRB>;
53973        ///Writer for register PUCRB
53974        pub type W = crate::W<u32, super::PUCRB>;
53975        ///Register PUCRB `reset()`'s with value 0
53976        impl crate::ResetValue for super::PUCRB {
53977            type Type = u32;
53978            #[inline(always)]
53979            fn reset_value() -> Self::Type {
53980                0
53981            }
53982        }
53983        ///Reader of field `PU15`
53984        pub type PU15_R = crate::R<bool, bool>;
53985        ///Write proxy for field `PU15`
53986        pub struct PU15_W<'a> {
53987            w: &'a mut W,
53988        }
53989        impl<'a> PU15_W<'a> {
53990            ///Sets the field bit
53991            #[inline(always)]
53992            pub fn set_bit(self) -> &'a mut W {
53993                self.bit(true)
53994            }
53995            ///Clears the field bit
53996            #[inline(always)]
53997            pub fn clear_bit(self) -> &'a mut W {
53998                self.bit(false)
53999            }
54000            ///Writes raw bits to the field
54001            #[inline(always)]
54002            pub fn bit(self, value: bool) -> &'a mut W {
54003                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
54004                self.w
54005            }
54006        }
54007        ///Reader of field `PU14`
54008        pub type PU14_R = crate::R<bool, bool>;
54009        ///Write proxy for field `PU14`
54010        pub struct PU14_W<'a> {
54011            w: &'a mut W,
54012        }
54013        impl<'a> PU14_W<'a> {
54014            ///Sets the field bit
54015            #[inline(always)]
54016            pub fn set_bit(self) -> &'a mut W {
54017                self.bit(true)
54018            }
54019            ///Clears the field bit
54020            #[inline(always)]
54021            pub fn clear_bit(self) -> &'a mut W {
54022                self.bit(false)
54023            }
54024            ///Writes raw bits to the field
54025            #[inline(always)]
54026            pub fn bit(self, value: bool) -> &'a mut W {
54027                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
54028                self.w
54029            }
54030        }
54031        ///Reader of field `PU13`
54032        pub type PU13_R = crate::R<bool, bool>;
54033        ///Write proxy for field `PU13`
54034        pub struct PU13_W<'a> {
54035            w: &'a mut W,
54036        }
54037        impl<'a> PU13_W<'a> {
54038            ///Sets the field bit
54039            #[inline(always)]
54040            pub fn set_bit(self) -> &'a mut W {
54041                self.bit(true)
54042            }
54043            ///Clears the field bit
54044            #[inline(always)]
54045            pub fn clear_bit(self) -> &'a mut W {
54046                self.bit(false)
54047            }
54048            ///Writes raw bits to the field
54049            #[inline(always)]
54050            pub fn bit(self, value: bool) -> &'a mut W {
54051                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
54052                self.w
54053            }
54054        }
54055        ///Reader of field `PU12`
54056        pub type PU12_R = crate::R<bool, bool>;
54057        ///Write proxy for field `PU12`
54058        pub struct PU12_W<'a> {
54059            w: &'a mut W,
54060        }
54061        impl<'a> PU12_W<'a> {
54062            ///Sets the field bit
54063            #[inline(always)]
54064            pub fn set_bit(self) -> &'a mut W {
54065                self.bit(true)
54066            }
54067            ///Clears the field bit
54068            #[inline(always)]
54069            pub fn clear_bit(self) -> &'a mut W {
54070                self.bit(false)
54071            }
54072            ///Writes raw bits to the field
54073            #[inline(always)]
54074            pub fn bit(self, value: bool) -> &'a mut W {
54075                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
54076                self.w
54077            }
54078        }
54079        ///Reader of field `PU11`
54080        pub type PU11_R = crate::R<bool, bool>;
54081        ///Write proxy for field `PU11`
54082        pub struct PU11_W<'a> {
54083            w: &'a mut W,
54084        }
54085        impl<'a> PU11_W<'a> {
54086            ///Sets the field bit
54087            #[inline(always)]
54088            pub fn set_bit(self) -> &'a mut W {
54089                self.bit(true)
54090            }
54091            ///Clears the field bit
54092            #[inline(always)]
54093            pub fn clear_bit(self) -> &'a mut W {
54094                self.bit(false)
54095            }
54096            ///Writes raw bits to the field
54097            #[inline(always)]
54098            pub fn bit(self, value: bool) -> &'a mut W {
54099                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
54100                self.w
54101            }
54102        }
54103        ///Reader of field `PU10`
54104        pub type PU10_R = crate::R<bool, bool>;
54105        ///Write proxy for field `PU10`
54106        pub struct PU10_W<'a> {
54107            w: &'a mut W,
54108        }
54109        impl<'a> PU10_W<'a> {
54110            ///Sets the field bit
54111            #[inline(always)]
54112            pub fn set_bit(self) -> &'a mut W {
54113                self.bit(true)
54114            }
54115            ///Clears the field bit
54116            #[inline(always)]
54117            pub fn clear_bit(self) -> &'a mut W {
54118                self.bit(false)
54119            }
54120            ///Writes raw bits to the field
54121            #[inline(always)]
54122            pub fn bit(self, value: bool) -> &'a mut W {
54123                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
54124                self.w
54125            }
54126        }
54127        ///Reader of field `PU9`
54128        pub type PU9_R = crate::R<bool, bool>;
54129        ///Write proxy for field `PU9`
54130        pub struct PU9_W<'a> {
54131            w: &'a mut W,
54132        }
54133        impl<'a> PU9_W<'a> {
54134            ///Sets the field bit
54135            #[inline(always)]
54136            pub fn set_bit(self) -> &'a mut W {
54137                self.bit(true)
54138            }
54139            ///Clears the field bit
54140            #[inline(always)]
54141            pub fn clear_bit(self) -> &'a mut W {
54142                self.bit(false)
54143            }
54144            ///Writes raw bits to the field
54145            #[inline(always)]
54146            pub fn bit(self, value: bool) -> &'a mut W {
54147                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
54148                self.w
54149            }
54150        }
54151        ///Reader of field `PU8`
54152        pub type PU8_R = crate::R<bool, bool>;
54153        ///Write proxy for field `PU8`
54154        pub struct PU8_W<'a> {
54155            w: &'a mut W,
54156        }
54157        impl<'a> PU8_W<'a> {
54158            ///Sets the field bit
54159            #[inline(always)]
54160            pub fn set_bit(self) -> &'a mut W {
54161                self.bit(true)
54162            }
54163            ///Clears the field bit
54164            #[inline(always)]
54165            pub fn clear_bit(self) -> &'a mut W {
54166                self.bit(false)
54167            }
54168            ///Writes raw bits to the field
54169            #[inline(always)]
54170            pub fn bit(self, value: bool) -> &'a mut W {
54171                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
54172                self.w
54173            }
54174        }
54175        ///Reader of field `PU7`
54176        pub type PU7_R = crate::R<bool, bool>;
54177        ///Write proxy for field `PU7`
54178        pub struct PU7_W<'a> {
54179            w: &'a mut W,
54180        }
54181        impl<'a> PU7_W<'a> {
54182            ///Sets the field bit
54183            #[inline(always)]
54184            pub fn set_bit(self) -> &'a mut W {
54185                self.bit(true)
54186            }
54187            ///Clears the field bit
54188            #[inline(always)]
54189            pub fn clear_bit(self) -> &'a mut W {
54190                self.bit(false)
54191            }
54192            ///Writes raw bits to the field
54193            #[inline(always)]
54194            pub fn bit(self, value: bool) -> &'a mut W {
54195                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
54196                self.w
54197            }
54198        }
54199        ///Reader of field `PU6`
54200        pub type PU6_R = crate::R<bool, bool>;
54201        ///Write proxy for field `PU6`
54202        pub struct PU6_W<'a> {
54203            w: &'a mut W,
54204        }
54205        impl<'a> PU6_W<'a> {
54206            ///Sets the field bit
54207            #[inline(always)]
54208            pub fn set_bit(self) -> &'a mut W {
54209                self.bit(true)
54210            }
54211            ///Clears the field bit
54212            #[inline(always)]
54213            pub fn clear_bit(self) -> &'a mut W {
54214                self.bit(false)
54215            }
54216            ///Writes raw bits to the field
54217            #[inline(always)]
54218            pub fn bit(self, value: bool) -> &'a mut W {
54219                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
54220                self.w
54221            }
54222        }
54223        ///Reader of field `PU5`
54224        pub type PU5_R = crate::R<bool, bool>;
54225        ///Write proxy for field `PU5`
54226        pub struct PU5_W<'a> {
54227            w: &'a mut W,
54228        }
54229        impl<'a> PU5_W<'a> {
54230            ///Sets the field bit
54231            #[inline(always)]
54232            pub fn set_bit(self) -> &'a mut W {
54233                self.bit(true)
54234            }
54235            ///Clears the field bit
54236            #[inline(always)]
54237            pub fn clear_bit(self) -> &'a mut W {
54238                self.bit(false)
54239            }
54240            ///Writes raw bits to the field
54241            #[inline(always)]
54242            pub fn bit(self, value: bool) -> &'a mut W {
54243                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
54244                self.w
54245            }
54246        }
54247        ///Reader of field `PU4`
54248        pub type PU4_R = crate::R<bool, bool>;
54249        ///Write proxy for field `PU4`
54250        pub struct PU4_W<'a> {
54251            w: &'a mut W,
54252        }
54253        impl<'a> PU4_W<'a> {
54254            ///Sets the field bit
54255            #[inline(always)]
54256            pub fn set_bit(self) -> &'a mut W {
54257                self.bit(true)
54258            }
54259            ///Clears the field bit
54260            #[inline(always)]
54261            pub fn clear_bit(self) -> &'a mut W {
54262                self.bit(false)
54263            }
54264            ///Writes raw bits to the field
54265            #[inline(always)]
54266            pub fn bit(self, value: bool) -> &'a mut W {
54267                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
54268                self.w
54269            }
54270        }
54271        ///Reader of field `PU3`
54272        pub type PU3_R = crate::R<bool, bool>;
54273        ///Write proxy for field `PU3`
54274        pub struct PU3_W<'a> {
54275            w: &'a mut W,
54276        }
54277        impl<'a> PU3_W<'a> {
54278            ///Sets the field bit
54279            #[inline(always)]
54280            pub fn set_bit(self) -> &'a mut W {
54281                self.bit(true)
54282            }
54283            ///Clears the field bit
54284            #[inline(always)]
54285            pub fn clear_bit(self) -> &'a mut W {
54286                self.bit(false)
54287            }
54288            ///Writes raw bits to the field
54289            #[inline(always)]
54290            pub fn bit(self, value: bool) -> &'a mut W {
54291                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
54292                self.w
54293            }
54294        }
54295        ///Reader of field `PU2`
54296        pub type PU2_R = crate::R<bool, bool>;
54297        ///Write proxy for field `PU2`
54298        pub struct PU2_W<'a> {
54299            w: &'a mut W,
54300        }
54301        impl<'a> PU2_W<'a> {
54302            ///Sets the field bit
54303            #[inline(always)]
54304            pub fn set_bit(self) -> &'a mut W {
54305                self.bit(true)
54306            }
54307            ///Clears the field bit
54308            #[inline(always)]
54309            pub fn clear_bit(self) -> &'a mut W {
54310                self.bit(false)
54311            }
54312            ///Writes raw bits to the field
54313            #[inline(always)]
54314            pub fn bit(self, value: bool) -> &'a mut W {
54315                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
54316                self.w
54317            }
54318        }
54319        ///Reader of field `PU1`
54320        pub type PU1_R = crate::R<bool, bool>;
54321        ///Write proxy for field `PU1`
54322        pub struct PU1_W<'a> {
54323            w: &'a mut W,
54324        }
54325        impl<'a> PU1_W<'a> {
54326            ///Sets the field bit
54327            #[inline(always)]
54328            pub fn set_bit(self) -> &'a mut W {
54329                self.bit(true)
54330            }
54331            ///Clears the field bit
54332            #[inline(always)]
54333            pub fn clear_bit(self) -> &'a mut W {
54334                self.bit(false)
54335            }
54336            ///Writes raw bits to the field
54337            #[inline(always)]
54338            pub fn bit(self, value: bool) -> &'a mut W {
54339                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
54340                self.w
54341            }
54342        }
54343        ///Reader of field `PU0`
54344        pub type PU0_R = crate::R<bool, bool>;
54345        ///Write proxy for field `PU0`
54346        pub struct PU0_W<'a> {
54347            w: &'a mut W,
54348        }
54349        impl<'a> PU0_W<'a> {
54350            ///Sets the field bit
54351            #[inline(always)]
54352            pub fn set_bit(self) -> &'a mut W {
54353                self.bit(true)
54354            }
54355            ///Clears the field bit
54356            #[inline(always)]
54357            pub fn clear_bit(self) -> &'a mut W {
54358                self.bit(false)
54359            }
54360            ///Writes raw bits to the field
54361            #[inline(always)]
54362            pub fn bit(self, value: bool) -> &'a mut W {
54363                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
54364                self.w
54365            }
54366        }
54367        impl R {
54368            ///Bit 15 - Port B pull-up bit y (y=0..15)
54369            #[inline(always)]
54370            pub fn pu15(&self) -> PU15_R {
54371                PU15_R::new(((self.bits >> 15) & 0x01) != 0)
54372            }
54373            ///Bit 14 - Port B pull-up bit y (y=0..15)
54374            #[inline(always)]
54375            pub fn pu14(&self) -> PU14_R {
54376                PU14_R::new(((self.bits >> 14) & 0x01) != 0)
54377            }
54378            ///Bit 13 - Port B pull-up bit y (y=0..15)
54379            #[inline(always)]
54380            pub fn pu13(&self) -> PU13_R {
54381                PU13_R::new(((self.bits >> 13) & 0x01) != 0)
54382            }
54383            ///Bit 12 - Port B pull-up bit y (y=0..15)
54384            #[inline(always)]
54385            pub fn pu12(&self) -> PU12_R {
54386                PU12_R::new(((self.bits >> 12) & 0x01) != 0)
54387            }
54388            ///Bit 11 - Port B pull-up bit y (y=0..15)
54389            #[inline(always)]
54390            pub fn pu11(&self) -> PU11_R {
54391                PU11_R::new(((self.bits >> 11) & 0x01) != 0)
54392            }
54393            ///Bit 10 - Port B pull-up bit y (y=0..15)
54394            #[inline(always)]
54395            pub fn pu10(&self) -> PU10_R {
54396                PU10_R::new(((self.bits >> 10) & 0x01) != 0)
54397            }
54398            ///Bit 9 - Port B pull-up bit y (y=0..15)
54399            #[inline(always)]
54400            pub fn pu9(&self) -> PU9_R {
54401                PU9_R::new(((self.bits >> 9) & 0x01) != 0)
54402            }
54403            ///Bit 8 - Port B pull-up bit y (y=0..15)
54404            #[inline(always)]
54405            pub fn pu8(&self) -> PU8_R {
54406                PU8_R::new(((self.bits >> 8) & 0x01) != 0)
54407            }
54408            ///Bit 7 - Port B pull-up bit y (y=0..15)
54409            #[inline(always)]
54410            pub fn pu7(&self) -> PU7_R {
54411                PU7_R::new(((self.bits >> 7) & 0x01) != 0)
54412            }
54413            ///Bit 6 - Port B pull-up bit y (y=0..15)
54414            #[inline(always)]
54415            pub fn pu6(&self) -> PU6_R {
54416                PU6_R::new(((self.bits >> 6) & 0x01) != 0)
54417            }
54418            ///Bit 5 - Port B pull-up bit y (y=0..15)
54419            #[inline(always)]
54420            pub fn pu5(&self) -> PU5_R {
54421                PU5_R::new(((self.bits >> 5) & 0x01) != 0)
54422            }
54423            ///Bit 4 - Port B pull-up bit y (y=0..15)
54424            #[inline(always)]
54425            pub fn pu4(&self) -> PU4_R {
54426                PU4_R::new(((self.bits >> 4) & 0x01) != 0)
54427            }
54428            ///Bit 3 - Port B pull-up bit y (y=0..15)
54429            #[inline(always)]
54430            pub fn pu3(&self) -> PU3_R {
54431                PU3_R::new(((self.bits >> 3) & 0x01) != 0)
54432            }
54433            ///Bit 2 - Port B pull-up bit y (y=0..15)
54434            #[inline(always)]
54435            pub fn pu2(&self) -> PU2_R {
54436                PU2_R::new(((self.bits >> 2) & 0x01) != 0)
54437            }
54438            ///Bit 1 - Port B pull-up bit y (y=0..15)
54439            #[inline(always)]
54440            pub fn pu1(&self) -> PU1_R {
54441                PU1_R::new(((self.bits >> 1) & 0x01) != 0)
54442            }
54443            ///Bit 0 - Port B pull-up bit y (y=0..15)
54444            #[inline(always)]
54445            pub fn pu0(&self) -> PU0_R {
54446                PU0_R::new((self.bits & 0x01) != 0)
54447            }
54448        }
54449        impl W {
54450            ///Bit 15 - Port B pull-up bit y (y=0..15)
54451            #[inline(always)]
54452            pub fn pu15(&mut self) -> PU15_W {
54453                PU15_W { w: self }
54454            }
54455            ///Bit 14 - Port B pull-up bit y (y=0..15)
54456            #[inline(always)]
54457            pub fn pu14(&mut self) -> PU14_W {
54458                PU14_W { w: self }
54459            }
54460            ///Bit 13 - Port B pull-up bit y (y=0..15)
54461            #[inline(always)]
54462            pub fn pu13(&mut self) -> PU13_W {
54463                PU13_W { w: self }
54464            }
54465            ///Bit 12 - Port B pull-up bit y (y=0..15)
54466            #[inline(always)]
54467            pub fn pu12(&mut self) -> PU12_W {
54468                PU12_W { w: self }
54469            }
54470            ///Bit 11 - Port B pull-up bit y (y=0..15)
54471            #[inline(always)]
54472            pub fn pu11(&mut self) -> PU11_W {
54473                PU11_W { w: self }
54474            }
54475            ///Bit 10 - Port B pull-up bit y (y=0..15)
54476            #[inline(always)]
54477            pub fn pu10(&mut self) -> PU10_W {
54478                PU10_W { w: self }
54479            }
54480            ///Bit 9 - Port B pull-up bit y (y=0..15)
54481            #[inline(always)]
54482            pub fn pu9(&mut self) -> PU9_W {
54483                PU9_W { w: self }
54484            }
54485            ///Bit 8 - Port B pull-up bit y (y=0..15)
54486            #[inline(always)]
54487            pub fn pu8(&mut self) -> PU8_W {
54488                PU8_W { w: self }
54489            }
54490            ///Bit 7 - Port B pull-up bit y (y=0..15)
54491            #[inline(always)]
54492            pub fn pu7(&mut self) -> PU7_W {
54493                PU7_W { w: self }
54494            }
54495            ///Bit 6 - Port B pull-up bit y (y=0..15)
54496            #[inline(always)]
54497            pub fn pu6(&mut self) -> PU6_W {
54498                PU6_W { w: self }
54499            }
54500            ///Bit 5 - Port B pull-up bit y (y=0..15)
54501            #[inline(always)]
54502            pub fn pu5(&mut self) -> PU5_W {
54503                PU5_W { w: self }
54504            }
54505            ///Bit 4 - Port B pull-up bit y (y=0..15)
54506            #[inline(always)]
54507            pub fn pu4(&mut self) -> PU4_W {
54508                PU4_W { w: self }
54509            }
54510            ///Bit 3 - Port B pull-up bit y (y=0..15)
54511            #[inline(always)]
54512            pub fn pu3(&mut self) -> PU3_W {
54513                PU3_W { w: self }
54514            }
54515            ///Bit 2 - Port B pull-up bit y (y=0..15)
54516            #[inline(always)]
54517            pub fn pu2(&mut self) -> PU2_W {
54518                PU2_W { w: self }
54519            }
54520            ///Bit 1 - Port B pull-up bit y (y=0..15)
54521            #[inline(always)]
54522            pub fn pu1(&mut self) -> PU1_W {
54523                PU1_W { w: self }
54524            }
54525            ///Bit 0 - Port B pull-up bit y (y=0..15)
54526            #[inline(always)]
54527            pub fn pu0(&mut self) -> PU0_W {
54528                PU0_W { w: self }
54529            }
54530        }
54531    }
54532    ///Power Port B pull-down control register
54533    ///
54534    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
54535    ///
54536    ///For information about available fields see [pdcrb](pdcrb) module
54537    pub type PDCRB = crate::Reg<u32, _PDCRB>;
54538    #[allow(missing_docs)]
54539    #[doc(hidden)]
54540    pub struct _PDCRB;
54541    ///`read()` method returns [pdcrb::R](pdcrb::R) reader structure
54542    impl crate::Readable for PDCRB {}
54543    ///`write(|w| ..)` method takes [pdcrb::W](pdcrb::W) writer structure
54544    impl crate::Writable for PDCRB {}
54545    ///Power Port B pull-down control register
54546    pub mod pdcrb {
54547        ///Reader of register PDCRB
54548        pub type R = crate::R<u32, super::PDCRB>;
54549        ///Writer for register PDCRB
54550        pub type W = crate::W<u32, super::PDCRB>;
54551        ///Register PDCRB `reset()`'s with value 0
54552        impl crate::ResetValue for super::PDCRB {
54553            type Type = u32;
54554            #[inline(always)]
54555            fn reset_value() -> Self::Type {
54556                0
54557            }
54558        }
54559        ///Reader of field `PD15`
54560        pub type PD15_R = crate::R<bool, bool>;
54561        ///Write proxy for field `PD15`
54562        pub struct PD15_W<'a> {
54563            w: &'a mut W,
54564        }
54565        impl<'a> PD15_W<'a> {
54566            ///Sets the field bit
54567            #[inline(always)]
54568            pub fn set_bit(self) -> &'a mut W {
54569                self.bit(true)
54570            }
54571            ///Clears the field bit
54572            #[inline(always)]
54573            pub fn clear_bit(self) -> &'a mut W {
54574                self.bit(false)
54575            }
54576            ///Writes raw bits to the field
54577            #[inline(always)]
54578            pub fn bit(self, value: bool) -> &'a mut W {
54579                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
54580                self.w
54581            }
54582        }
54583        ///Reader of field `PD14`
54584        pub type PD14_R = crate::R<bool, bool>;
54585        ///Write proxy for field `PD14`
54586        pub struct PD14_W<'a> {
54587            w: &'a mut W,
54588        }
54589        impl<'a> PD14_W<'a> {
54590            ///Sets the field bit
54591            #[inline(always)]
54592            pub fn set_bit(self) -> &'a mut W {
54593                self.bit(true)
54594            }
54595            ///Clears the field bit
54596            #[inline(always)]
54597            pub fn clear_bit(self) -> &'a mut W {
54598                self.bit(false)
54599            }
54600            ///Writes raw bits to the field
54601            #[inline(always)]
54602            pub fn bit(self, value: bool) -> &'a mut W {
54603                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
54604                self.w
54605            }
54606        }
54607        ///Reader of field `PD13`
54608        pub type PD13_R = crate::R<bool, bool>;
54609        ///Write proxy for field `PD13`
54610        pub struct PD13_W<'a> {
54611            w: &'a mut W,
54612        }
54613        impl<'a> PD13_W<'a> {
54614            ///Sets the field bit
54615            #[inline(always)]
54616            pub fn set_bit(self) -> &'a mut W {
54617                self.bit(true)
54618            }
54619            ///Clears the field bit
54620            #[inline(always)]
54621            pub fn clear_bit(self) -> &'a mut W {
54622                self.bit(false)
54623            }
54624            ///Writes raw bits to the field
54625            #[inline(always)]
54626            pub fn bit(self, value: bool) -> &'a mut W {
54627                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
54628                self.w
54629            }
54630        }
54631        ///Reader of field `PD12`
54632        pub type PD12_R = crate::R<bool, bool>;
54633        ///Write proxy for field `PD12`
54634        pub struct PD12_W<'a> {
54635            w: &'a mut W,
54636        }
54637        impl<'a> PD12_W<'a> {
54638            ///Sets the field bit
54639            #[inline(always)]
54640            pub fn set_bit(self) -> &'a mut W {
54641                self.bit(true)
54642            }
54643            ///Clears the field bit
54644            #[inline(always)]
54645            pub fn clear_bit(self) -> &'a mut W {
54646                self.bit(false)
54647            }
54648            ///Writes raw bits to the field
54649            #[inline(always)]
54650            pub fn bit(self, value: bool) -> &'a mut W {
54651                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
54652                self.w
54653            }
54654        }
54655        ///Reader of field `PD11`
54656        pub type PD11_R = crate::R<bool, bool>;
54657        ///Write proxy for field `PD11`
54658        pub struct PD11_W<'a> {
54659            w: &'a mut W,
54660        }
54661        impl<'a> PD11_W<'a> {
54662            ///Sets the field bit
54663            #[inline(always)]
54664            pub fn set_bit(self) -> &'a mut W {
54665                self.bit(true)
54666            }
54667            ///Clears the field bit
54668            #[inline(always)]
54669            pub fn clear_bit(self) -> &'a mut W {
54670                self.bit(false)
54671            }
54672            ///Writes raw bits to the field
54673            #[inline(always)]
54674            pub fn bit(self, value: bool) -> &'a mut W {
54675                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
54676                self.w
54677            }
54678        }
54679        ///Reader of field `PD10`
54680        pub type PD10_R = crate::R<bool, bool>;
54681        ///Write proxy for field `PD10`
54682        pub struct PD10_W<'a> {
54683            w: &'a mut W,
54684        }
54685        impl<'a> PD10_W<'a> {
54686            ///Sets the field bit
54687            #[inline(always)]
54688            pub fn set_bit(self) -> &'a mut W {
54689                self.bit(true)
54690            }
54691            ///Clears the field bit
54692            #[inline(always)]
54693            pub fn clear_bit(self) -> &'a mut W {
54694                self.bit(false)
54695            }
54696            ///Writes raw bits to the field
54697            #[inline(always)]
54698            pub fn bit(self, value: bool) -> &'a mut W {
54699                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
54700                self.w
54701            }
54702        }
54703        ///Reader of field `PD9`
54704        pub type PD9_R = crate::R<bool, bool>;
54705        ///Write proxy for field `PD9`
54706        pub struct PD9_W<'a> {
54707            w: &'a mut W,
54708        }
54709        impl<'a> PD9_W<'a> {
54710            ///Sets the field bit
54711            #[inline(always)]
54712            pub fn set_bit(self) -> &'a mut W {
54713                self.bit(true)
54714            }
54715            ///Clears the field bit
54716            #[inline(always)]
54717            pub fn clear_bit(self) -> &'a mut W {
54718                self.bit(false)
54719            }
54720            ///Writes raw bits to the field
54721            #[inline(always)]
54722            pub fn bit(self, value: bool) -> &'a mut W {
54723                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
54724                self.w
54725            }
54726        }
54727        ///Reader of field `PD8`
54728        pub type PD8_R = crate::R<bool, bool>;
54729        ///Write proxy for field `PD8`
54730        pub struct PD8_W<'a> {
54731            w: &'a mut W,
54732        }
54733        impl<'a> PD8_W<'a> {
54734            ///Sets the field bit
54735            #[inline(always)]
54736            pub fn set_bit(self) -> &'a mut W {
54737                self.bit(true)
54738            }
54739            ///Clears the field bit
54740            #[inline(always)]
54741            pub fn clear_bit(self) -> &'a mut W {
54742                self.bit(false)
54743            }
54744            ///Writes raw bits to the field
54745            #[inline(always)]
54746            pub fn bit(self, value: bool) -> &'a mut W {
54747                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
54748                self.w
54749            }
54750        }
54751        ///Reader of field `PD7`
54752        pub type PD7_R = crate::R<bool, bool>;
54753        ///Write proxy for field `PD7`
54754        pub struct PD7_W<'a> {
54755            w: &'a mut W,
54756        }
54757        impl<'a> PD7_W<'a> {
54758            ///Sets the field bit
54759            #[inline(always)]
54760            pub fn set_bit(self) -> &'a mut W {
54761                self.bit(true)
54762            }
54763            ///Clears the field bit
54764            #[inline(always)]
54765            pub fn clear_bit(self) -> &'a mut W {
54766                self.bit(false)
54767            }
54768            ///Writes raw bits to the field
54769            #[inline(always)]
54770            pub fn bit(self, value: bool) -> &'a mut W {
54771                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
54772                self.w
54773            }
54774        }
54775        ///Reader of field `PD6`
54776        pub type PD6_R = crate::R<bool, bool>;
54777        ///Write proxy for field `PD6`
54778        pub struct PD6_W<'a> {
54779            w: &'a mut W,
54780        }
54781        impl<'a> PD6_W<'a> {
54782            ///Sets the field bit
54783            #[inline(always)]
54784            pub fn set_bit(self) -> &'a mut W {
54785                self.bit(true)
54786            }
54787            ///Clears the field bit
54788            #[inline(always)]
54789            pub fn clear_bit(self) -> &'a mut W {
54790                self.bit(false)
54791            }
54792            ///Writes raw bits to the field
54793            #[inline(always)]
54794            pub fn bit(self, value: bool) -> &'a mut W {
54795                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
54796                self.w
54797            }
54798        }
54799        ///Reader of field `PD5`
54800        pub type PD5_R = crate::R<bool, bool>;
54801        ///Write proxy for field `PD5`
54802        pub struct PD5_W<'a> {
54803            w: &'a mut W,
54804        }
54805        impl<'a> PD5_W<'a> {
54806            ///Sets the field bit
54807            #[inline(always)]
54808            pub fn set_bit(self) -> &'a mut W {
54809                self.bit(true)
54810            }
54811            ///Clears the field bit
54812            #[inline(always)]
54813            pub fn clear_bit(self) -> &'a mut W {
54814                self.bit(false)
54815            }
54816            ///Writes raw bits to the field
54817            #[inline(always)]
54818            pub fn bit(self, value: bool) -> &'a mut W {
54819                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
54820                self.w
54821            }
54822        }
54823        ///Reader of field `PD3`
54824        pub type PD3_R = crate::R<bool, bool>;
54825        ///Write proxy for field `PD3`
54826        pub struct PD3_W<'a> {
54827            w: &'a mut W,
54828        }
54829        impl<'a> PD3_W<'a> {
54830            ///Sets the field bit
54831            #[inline(always)]
54832            pub fn set_bit(self) -> &'a mut W {
54833                self.bit(true)
54834            }
54835            ///Clears the field bit
54836            #[inline(always)]
54837            pub fn clear_bit(self) -> &'a mut W {
54838                self.bit(false)
54839            }
54840            ///Writes raw bits to the field
54841            #[inline(always)]
54842            pub fn bit(self, value: bool) -> &'a mut W {
54843                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
54844                self.w
54845            }
54846        }
54847        ///Reader of field `PD2`
54848        pub type PD2_R = crate::R<bool, bool>;
54849        ///Write proxy for field `PD2`
54850        pub struct PD2_W<'a> {
54851            w: &'a mut W,
54852        }
54853        impl<'a> PD2_W<'a> {
54854            ///Sets the field bit
54855            #[inline(always)]
54856            pub fn set_bit(self) -> &'a mut W {
54857                self.bit(true)
54858            }
54859            ///Clears the field bit
54860            #[inline(always)]
54861            pub fn clear_bit(self) -> &'a mut W {
54862                self.bit(false)
54863            }
54864            ///Writes raw bits to the field
54865            #[inline(always)]
54866            pub fn bit(self, value: bool) -> &'a mut W {
54867                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
54868                self.w
54869            }
54870        }
54871        ///Reader of field `PD1`
54872        pub type PD1_R = crate::R<bool, bool>;
54873        ///Write proxy for field `PD1`
54874        pub struct PD1_W<'a> {
54875            w: &'a mut W,
54876        }
54877        impl<'a> PD1_W<'a> {
54878            ///Sets the field bit
54879            #[inline(always)]
54880            pub fn set_bit(self) -> &'a mut W {
54881                self.bit(true)
54882            }
54883            ///Clears the field bit
54884            #[inline(always)]
54885            pub fn clear_bit(self) -> &'a mut W {
54886                self.bit(false)
54887            }
54888            ///Writes raw bits to the field
54889            #[inline(always)]
54890            pub fn bit(self, value: bool) -> &'a mut W {
54891                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
54892                self.w
54893            }
54894        }
54895        ///Reader of field `PD0`
54896        pub type PD0_R = crate::R<bool, bool>;
54897        ///Write proxy for field `PD0`
54898        pub struct PD0_W<'a> {
54899            w: &'a mut W,
54900        }
54901        impl<'a> PD0_W<'a> {
54902            ///Sets the field bit
54903            #[inline(always)]
54904            pub fn set_bit(self) -> &'a mut W {
54905                self.bit(true)
54906            }
54907            ///Clears the field bit
54908            #[inline(always)]
54909            pub fn clear_bit(self) -> &'a mut W {
54910                self.bit(false)
54911            }
54912            ///Writes raw bits to the field
54913            #[inline(always)]
54914            pub fn bit(self, value: bool) -> &'a mut W {
54915                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
54916                self.w
54917            }
54918        }
54919        impl R {
54920            ///Bit 15 - Port B pull-down bit y (y=0..15)
54921            #[inline(always)]
54922            pub fn pd15(&self) -> PD15_R {
54923                PD15_R::new(((self.bits >> 15) & 0x01) != 0)
54924            }
54925            ///Bit 14 - Port B pull-down bit y (y=0..15)
54926            #[inline(always)]
54927            pub fn pd14(&self) -> PD14_R {
54928                PD14_R::new(((self.bits >> 14) & 0x01) != 0)
54929            }
54930            ///Bit 13 - Port B pull-down bit y (y=0..15)
54931            #[inline(always)]
54932            pub fn pd13(&self) -> PD13_R {
54933                PD13_R::new(((self.bits >> 13) & 0x01) != 0)
54934            }
54935            ///Bit 12 - Port B pull-down bit y (y=0..15)
54936            #[inline(always)]
54937            pub fn pd12(&self) -> PD12_R {
54938                PD12_R::new(((self.bits >> 12) & 0x01) != 0)
54939            }
54940            ///Bit 11 - Port B pull-down bit y (y=0..15)
54941            #[inline(always)]
54942            pub fn pd11(&self) -> PD11_R {
54943                PD11_R::new(((self.bits >> 11) & 0x01) != 0)
54944            }
54945            ///Bit 10 - Port B pull-down bit y (y=0..15)
54946            #[inline(always)]
54947            pub fn pd10(&self) -> PD10_R {
54948                PD10_R::new(((self.bits >> 10) & 0x01) != 0)
54949            }
54950            ///Bit 9 - Port B pull-down bit y (y=0..15)
54951            #[inline(always)]
54952            pub fn pd9(&self) -> PD9_R {
54953                PD9_R::new(((self.bits >> 9) & 0x01) != 0)
54954            }
54955            ///Bit 8 - Port B pull-down bit y (y=0..15)
54956            #[inline(always)]
54957            pub fn pd8(&self) -> PD8_R {
54958                PD8_R::new(((self.bits >> 8) & 0x01) != 0)
54959            }
54960            ///Bit 7 - Port B pull-down bit y (y=0..15)
54961            #[inline(always)]
54962            pub fn pd7(&self) -> PD7_R {
54963                PD7_R::new(((self.bits >> 7) & 0x01) != 0)
54964            }
54965            ///Bit 6 - Port B pull-down bit y (y=0..15)
54966            #[inline(always)]
54967            pub fn pd6(&self) -> PD6_R {
54968                PD6_R::new(((self.bits >> 6) & 0x01) != 0)
54969            }
54970            ///Bit 5 - Port B pull-down bit y (y=0..15)
54971            #[inline(always)]
54972            pub fn pd5(&self) -> PD5_R {
54973                PD5_R::new(((self.bits >> 5) & 0x01) != 0)
54974            }
54975            ///Bit 3 - Port B pull-down bit y (y=0..15)
54976            #[inline(always)]
54977            pub fn pd3(&self) -> PD3_R {
54978                PD3_R::new(((self.bits >> 3) & 0x01) != 0)
54979            }
54980            ///Bit 2 - Port B pull-down bit y (y=0..15)
54981            #[inline(always)]
54982            pub fn pd2(&self) -> PD2_R {
54983                PD2_R::new(((self.bits >> 2) & 0x01) != 0)
54984            }
54985            ///Bit 1 - Port B pull-down bit y (y=0..15)
54986            #[inline(always)]
54987            pub fn pd1(&self) -> PD1_R {
54988                PD1_R::new(((self.bits >> 1) & 0x01) != 0)
54989            }
54990            ///Bit 0 - Port B pull-down bit y (y=0..15)
54991            #[inline(always)]
54992            pub fn pd0(&self) -> PD0_R {
54993                PD0_R::new((self.bits & 0x01) != 0)
54994            }
54995        }
54996        impl W {
54997            ///Bit 15 - Port B pull-down bit y (y=0..15)
54998            #[inline(always)]
54999            pub fn pd15(&mut self) -> PD15_W {
55000                PD15_W { w: self }
55001            }
55002            ///Bit 14 - Port B pull-down bit y (y=0..15)
55003            #[inline(always)]
55004            pub fn pd14(&mut self) -> PD14_W {
55005                PD14_W { w: self }
55006            }
55007            ///Bit 13 - Port B pull-down bit y (y=0..15)
55008            #[inline(always)]
55009            pub fn pd13(&mut self) -> PD13_W {
55010                PD13_W { w: self }
55011            }
55012            ///Bit 12 - Port B pull-down bit y (y=0..15)
55013            #[inline(always)]
55014            pub fn pd12(&mut self) -> PD12_W {
55015                PD12_W { w: self }
55016            }
55017            ///Bit 11 - Port B pull-down bit y (y=0..15)
55018            #[inline(always)]
55019            pub fn pd11(&mut self) -> PD11_W {
55020                PD11_W { w: self }
55021            }
55022            ///Bit 10 - Port B pull-down bit y (y=0..15)
55023            #[inline(always)]
55024            pub fn pd10(&mut self) -> PD10_W {
55025                PD10_W { w: self }
55026            }
55027            ///Bit 9 - Port B pull-down bit y (y=0..15)
55028            #[inline(always)]
55029            pub fn pd9(&mut self) -> PD9_W {
55030                PD9_W { w: self }
55031            }
55032            ///Bit 8 - Port B pull-down bit y (y=0..15)
55033            #[inline(always)]
55034            pub fn pd8(&mut self) -> PD8_W {
55035                PD8_W { w: self }
55036            }
55037            ///Bit 7 - Port B pull-down bit y (y=0..15)
55038            #[inline(always)]
55039            pub fn pd7(&mut self) -> PD7_W {
55040                PD7_W { w: self }
55041            }
55042            ///Bit 6 - Port B pull-down bit y (y=0..15)
55043            #[inline(always)]
55044            pub fn pd6(&mut self) -> PD6_W {
55045                PD6_W { w: self }
55046            }
55047            ///Bit 5 - Port B pull-down bit y (y=0..15)
55048            #[inline(always)]
55049            pub fn pd5(&mut self) -> PD5_W {
55050                PD5_W { w: self }
55051            }
55052            ///Bit 3 - Port B pull-down bit y (y=0..15)
55053            #[inline(always)]
55054            pub fn pd3(&mut self) -> PD3_W {
55055                PD3_W { w: self }
55056            }
55057            ///Bit 2 - Port B pull-down bit y (y=0..15)
55058            #[inline(always)]
55059            pub fn pd2(&mut self) -> PD2_W {
55060                PD2_W { w: self }
55061            }
55062            ///Bit 1 - Port B pull-down bit y (y=0..15)
55063            #[inline(always)]
55064            pub fn pd1(&mut self) -> PD1_W {
55065                PD1_W { w: self }
55066            }
55067            ///Bit 0 - Port B pull-down bit y (y=0..15)
55068            #[inline(always)]
55069            pub fn pd0(&mut self) -> PD0_W {
55070                PD0_W { w: self }
55071            }
55072        }
55073    }
55074    ///Power Port C pull-up control register
55075    ///
55076    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
55077    ///
55078    ///For information about available fields see [pucrc](pucrc) module
55079    pub type PUCRC = crate::Reg<u32, _PUCRC>;
55080    #[allow(missing_docs)]
55081    #[doc(hidden)]
55082    pub struct _PUCRC;
55083    ///`read()` method returns [pucrc::R](pucrc::R) reader structure
55084    impl crate::Readable for PUCRC {}
55085    ///`write(|w| ..)` method takes [pucrc::W](pucrc::W) writer structure
55086    impl crate::Writable for PUCRC {}
55087    ///Power Port C pull-up control register
55088    pub mod pucrc {
55089        ///Reader of register PUCRC
55090        pub type R = crate::R<u32, super::PUCRC>;
55091        ///Writer for register PUCRC
55092        pub type W = crate::W<u32, super::PUCRC>;
55093        ///Register PUCRC `reset()`'s with value 0
55094        impl crate::ResetValue for super::PUCRC {
55095            type Type = u32;
55096            #[inline(always)]
55097            fn reset_value() -> Self::Type {
55098                0
55099            }
55100        }
55101        ///Reader of field `PU15`
55102        pub type PU15_R = crate::R<bool, bool>;
55103        ///Write proxy for field `PU15`
55104        pub struct PU15_W<'a> {
55105            w: &'a mut W,
55106        }
55107        impl<'a> PU15_W<'a> {
55108            ///Sets the field bit
55109            #[inline(always)]
55110            pub fn set_bit(self) -> &'a mut W {
55111                self.bit(true)
55112            }
55113            ///Clears the field bit
55114            #[inline(always)]
55115            pub fn clear_bit(self) -> &'a mut W {
55116                self.bit(false)
55117            }
55118            ///Writes raw bits to the field
55119            #[inline(always)]
55120            pub fn bit(self, value: bool) -> &'a mut W {
55121                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
55122                self.w
55123            }
55124        }
55125        ///Reader of field `PU14`
55126        pub type PU14_R = crate::R<bool, bool>;
55127        ///Write proxy for field `PU14`
55128        pub struct PU14_W<'a> {
55129            w: &'a mut W,
55130        }
55131        impl<'a> PU14_W<'a> {
55132            ///Sets the field bit
55133            #[inline(always)]
55134            pub fn set_bit(self) -> &'a mut W {
55135                self.bit(true)
55136            }
55137            ///Clears the field bit
55138            #[inline(always)]
55139            pub fn clear_bit(self) -> &'a mut W {
55140                self.bit(false)
55141            }
55142            ///Writes raw bits to the field
55143            #[inline(always)]
55144            pub fn bit(self, value: bool) -> &'a mut W {
55145                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
55146                self.w
55147            }
55148        }
55149        ///Reader of field `PU13`
55150        pub type PU13_R = crate::R<bool, bool>;
55151        ///Write proxy for field `PU13`
55152        pub struct PU13_W<'a> {
55153            w: &'a mut W,
55154        }
55155        impl<'a> PU13_W<'a> {
55156            ///Sets the field bit
55157            #[inline(always)]
55158            pub fn set_bit(self) -> &'a mut W {
55159                self.bit(true)
55160            }
55161            ///Clears the field bit
55162            #[inline(always)]
55163            pub fn clear_bit(self) -> &'a mut W {
55164                self.bit(false)
55165            }
55166            ///Writes raw bits to the field
55167            #[inline(always)]
55168            pub fn bit(self, value: bool) -> &'a mut W {
55169                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
55170                self.w
55171            }
55172        }
55173        ///Reader of field `PU12`
55174        pub type PU12_R = crate::R<bool, bool>;
55175        ///Write proxy for field `PU12`
55176        pub struct PU12_W<'a> {
55177            w: &'a mut W,
55178        }
55179        impl<'a> PU12_W<'a> {
55180            ///Sets the field bit
55181            #[inline(always)]
55182            pub fn set_bit(self) -> &'a mut W {
55183                self.bit(true)
55184            }
55185            ///Clears the field bit
55186            #[inline(always)]
55187            pub fn clear_bit(self) -> &'a mut W {
55188                self.bit(false)
55189            }
55190            ///Writes raw bits to the field
55191            #[inline(always)]
55192            pub fn bit(self, value: bool) -> &'a mut W {
55193                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
55194                self.w
55195            }
55196        }
55197        ///Reader of field `PU11`
55198        pub type PU11_R = crate::R<bool, bool>;
55199        ///Write proxy for field `PU11`
55200        pub struct PU11_W<'a> {
55201            w: &'a mut W,
55202        }
55203        impl<'a> PU11_W<'a> {
55204            ///Sets the field bit
55205            #[inline(always)]
55206            pub fn set_bit(self) -> &'a mut W {
55207                self.bit(true)
55208            }
55209            ///Clears the field bit
55210            #[inline(always)]
55211            pub fn clear_bit(self) -> &'a mut W {
55212                self.bit(false)
55213            }
55214            ///Writes raw bits to the field
55215            #[inline(always)]
55216            pub fn bit(self, value: bool) -> &'a mut W {
55217                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
55218                self.w
55219            }
55220        }
55221        ///Reader of field `PU10`
55222        pub type PU10_R = crate::R<bool, bool>;
55223        ///Write proxy for field `PU10`
55224        pub struct PU10_W<'a> {
55225            w: &'a mut W,
55226        }
55227        impl<'a> PU10_W<'a> {
55228            ///Sets the field bit
55229            #[inline(always)]
55230            pub fn set_bit(self) -> &'a mut W {
55231                self.bit(true)
55232            }
55233            ///Clears the field bit
55234            #[inline(always)]
55235            pub fn clear_bit(self) -> &'a mut W {
55236                self.bit(false)
55237            }
55238            ///Writes raw bits to the field
55239            #[inline(always)]
55240            pub fn bit(self, value: bool) -> &'a mut W {
55241                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
55242                self.w
55243            }
55244        }
55245        ///Reader of field `PU9`
55246        pub type PU9_R = crate::R<bool, bool>;
55247        ///Write proxy for field `PU9`
55248        pub struct PU9_W<'a> {
55249            w: &'a mut W,
55250        }
55251        impl<'a> PU9_W<'a> {
55252            ///Sets the field bit
55253            #[inline(always)]
55254            pub fn set_bit(self) -> &'a mut W {
55255                self.bit(true)
55256            }
55257            ///Clears the field bit
55258            #[inline(always)]
55259            pub fn clear_bit(self) -> &'a mut W {
55260                self.bit(false)
55261            }
55262            ///Writes raw bits to the field
55263            #[inline(always)]
55264            pub fn bit(self, value: bool) -> &'a mut W {
55265                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
55266                self.w
55267            }
55268        }
55269        ///Reader of field `PU8`
55270        pub type PU8_R = crate::R<bool, bool>;
55271        ///Write proxy for field `PU8`
55272        pub struct PU8_W<'a> {
55273            w: &'a mut W,
55274        }
55275        impl<'a> PU8_W<'a> {
55276            ///Sets the field bit
55277            #[inline(always)]
55278            pub fn set_bit(self) -> &'a mut W {
55279                self.bit(true)
55280            }
55281            ///Clears the field bit
55282            #[inline(always)]
55283            pub fn clear_bit(self) -> &'a mut W {
55284                self.bit(false)
55285            }
55286            ///Writes raw bits to the field
55287            #[inline(always)]
55288            pub fn bit(self, value: bool) -> &'a mut W {
55289                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
55290                self.w
55291            }
55292        }
55293        ///Reader of field `PU7`
55294        pub type PU7_R = crate::R<bool, bool>;
55295        ///Write proxy for field `PU7`
55296        pub struct PU7_W<'a> {
55297            w: &'a mut W,
55298        }
55299        impl<'a> PU7_W<'a> {
55300            ///Sets the field bit
55301            #[inline(always)]
55302            pub fn set_bit(self) -> &'a mut W {
55303                self.bit(true)
55304            }
55305            ///Clears the field bit
55306            #[inline(always)]
55307            pub fn clear_bit(self) -> &'a mut W {
55308                self.bit(false)
55309            }
55310            ///Writes raw bits to the field
55311            #[inline(always)]
55312            pub fn bit(self, value: bool) -> &'a mut W {
55313                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
55314                self.w
55315            }
55316        }
55317        ///Reader of field `PU6`
55318        pub type PU6_R = crate::R<bool, bool>;
55319        ///Write proxy for field `PU6`
55320        pub struct PU6_W<'a> {
55321            w: &'a mut W,
55322        }
55323        impl<'a> PU6_W<'a> {
55324            ///Sets the field bit
55325            #[inline(always)]
55326            pub fn set_bit(self) -> &'a mut W {
55327                self.bit(true)
55328            }
55329            ///Clears the field bit
55330            #[inline(always)]
55331            pub fn clear_bit(self) -> &'a mut W {
55332                self.bit(false)
55333            }
55334            ///Writes raw bits to the field
55335            #[inline(always)]
55336            pub fn bit(self, value: bool) -> &'a mut W {
55337                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
55338                self.w
55339            }
55340        }
55341        ///Reader of field `PU5`
55342        pub type PU5_R = crate::R<bool, bool>;
55343        ///Write proxy for field `PU5`
55344        pub struct PU5_W<'a> {
55345            w: &'a mut W,
55346        }
55347        impl<'a> PU5_W<'a> {
55348            ///Sets the field bit
55349            #[inline(always)]
55350            pub fn set_bit(self) -> &'a mut W {
55351                self.bit(true)
55352            }
55353            ///Clears the field bit
55354            #[inline(always)]
55355            pub fn clear_bit(self) -> &'a mut W {
55356                self.bit(false)
55357            }
55358            ///Writes raw bits to the field
55359            #[inline(always)]
55360            pub fn bit(self, value: bool) -> &'a mut W {
55361                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
55362                self.w
55363            }
55364        }
55365        ///Reader of field `PU4`
55366        pub type PU4_R = crate::R<bool, bool>;
55367        ///Write proxy for field `PU4`
55368        pub struct PU4_W<'a> {
55369            w: &'a mut W,
55370        }
55371        impl<'a> PU4_W<'a> {
55372            ///Sets the field bit
55373            #[inline(always)]
55374            pub fn set_bit(self) -> &'a mut W {
55375                self.bit(true)
55376            }
55377            ///Clears the field bit
55378            #[inline(always)]
55379            pub fn clear_bit(self) -> &'a mut W {
55380                self.bit(false)
55381            }
55382            ///Writes raw bits to the field
55383            #[inline(always)]
55384            pub fn bit(self, value: bool) -> &'a mut W {
55385                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
55386                self.w
55387            }
55388        }
55389        ///Reader of field `PU3`
55390        pub type PU3_R = crate::R<bool, bool>;
55391        ///Write proxy for field `PU3`
55392        pub struct PU3_W<'a> {
55393            w: &'a mut W,
55394        }
55395        impl<'a> PU3_W<'a> {
55396            ///Sets the field bit
55397            #[inline(always)]
55398            pub fn set_bit(self) -> &'a mut W {
55399                self.bit(true)
55400            }
55401            ///Clears the field bit
55402            #[inline(always)]
55403            pub fn clear_bit(self) -> &'a mut W {
55404                self.bit(false)
55405            }
55406            ///Writes raw bits to the field
55407            #[inline(always)]
55408            pub fn bit(self, value: bool) -> &'a mut W {
55409                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
55410                self.w
55411            }
55412        }
55413        ///Reader of field `PU2`
55414        pub type PU2_R = crate::R<bool, bool>;
55415        ///Write proxy for field `PU2`
55416        pub struct PU2_W<'a> {
55417            w: &'a mut W,
55418        }
55419        impl<'a> PU2_W<'a> {
55420            ///Sets the field bit
55421            #[inline(always)]
55422            pub fn set_bit(self) -> &'a mut W {
55423                self.bit(true)
55424            }
55425            ///Clears the field bit
55426            #[inline(always)]
55427            pub fn clear_bit(self) -> &'a mut W {
55428                self.bit(false)
55429            }
55430            ///Writes raw bits to the field
55431            #[inline(always)]
55432            pub fn bit(self, value: bool) -> &'a mut W {
55433                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
55434                self.w
55435            }
55436        }
55437        ///Reader of field `PU1`
55438        pub type PU1_R = crate::R<bool, bool>;
55439        ///Write proxy for field `PU1`
55440        pub struct PU1_W<'a> {
55441            w: &'a mut W,
55442        }
55443        impl<'a> PU1_W<'a> {
55444            ///Sets the field bit
55445            #[inline(always)]
55446            pub fn set_bit(self) -> &'a mut W {
55447                self.bit(true)
55448            }
55449            ///Clears the field bit
55450            #[inline(always)]
55451            pub fn clear_bit(self) -> &'a mut W {
55452                self.bit(false)
55453            }
55454            ///Writes raw bits to the field
55455            #[inline(always)]
55456            pub fn bit(self, value: bool) -> &'a mut W {
55457                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
55458                self.w
55459            }
55460        }
55461        ///Reader of field `PU0`
55462        pub type PU0_R = crate::R<bool, bool>;
55463        ///Write proxy for field `PU0`
55464        pub struct PU0_W<'a> {
55465            w: &'a mut W,
55466        }
55467        impl<'a> PU0_W<'a> {
55468            ///Sets the field bit
55469            #[inline(always)]
55470            pub fn set_bit(self) -> &'a mut W {
55471                self.bit(true)
55472            }
55473            ///Clears the field bit
55474            #[inline(always)]
55475            pub fn clear_bit(self) -> &'a mut W {
55476                self.bit(false)
55477            }
55478            ///Writes raw bits to the field
55479            #[inline(always)]
55480            pub fn bit(self, value: bool) -> &'a mut W {
55481                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
55482                self.w
55483            }
55484        }
55485        impl R {
55486            ///Bit 15 - Port C pull-up bit y (y=0..15)
55487            #[inline(always)]
55488            pub fn pu15(&self) -> PU15_R {
55489                PU15_R::new(((self.bits >> 15) & 0x01) != 0)
55490            }
55491            ///Bit 14 - Port C pull-up bit y (y=0..15)
55492            #[inline(always)]
55493            pub fn pu14(&self) -> PU14_R {
55494                PU14_R::new(((self.bits >> 14) & 0x01) != 0)
55495            }
55496            ///Bit 13 - Port C pull-up bit y (y=0..15)
55497            #[inline(always)]
55498            pub fn pu13(&self) -> PU13_R {
55499                PU13_R::new(((self.bits >> 13) & 0x01) != 0)
55500            }
55501            ///Bit 12 - Port C pull-up bit y (y=0..15)
55502            #[inline(always)]
55503            pub fn pu12(&self) -> PU12_R {
55504                PU12_R::new(((self.bits >> 12) & 0x01) != 0)
55505            }
55506            ///Bit 11 - Port C pull-up bit y (y=0..15)
55507            #[inline(always)]
55508            pub fn pu11(&self) -> PU11_R {
55509                PU11_R::new(((self.bits >> 11) & 0x01) != 0)
55510            }
55511            ///Bit 10 - Port C pull-up bit y (y=0..15)
55512            #[inline(always)]
55513            pub fn pu10(&self) -> PU10_R {
55514                PU10_R::new(((self.bits >> 10) & 0x01) != 0)
55515            }
55516            ///Bit 9 - Port C pull-up bit y (y=0..15)
55517            #[inline(always)]
55518            pub fn pu9(&self) -> PU9_R {
55519                PU9_R::new(((self.bits >> 9) & 0x01) != 0)
55520            }
55521            ///Bit 8 - Port C pull-up bit y (y=0..15)
55522            #[inline(always)]
55523            pub fn pu8(&self) -> PU8_R {
55524                PU8_R::new(((self.bits >> 8) & 0x01) != 0)
55525            }
55526            ///Bit 7 - Port C pull-up bit y (y=0..15)
55527            #[inline(always)]
55528            pub fn pu7(&self) -> PU7_R {
55529                PU7_R::new(((self.bits >> 7) & 0x01) != 0)
55530            }
55531            ///Bit 6 - Port C pull-up bit y (y=0..15)
55532            #[inline(always)]
55533            pub fn pu6(&self) -> PU6_R {
55534                PU6_R::new(((self.bits >> 6) & 0x01) != 0)
55535            }
55536            ///Bit 5 - Port C pull-up bit y (y=0..15)
55537            #[inline(always)]
55538            pub fn pu5(&self) -> PU5_R {
55539                PU5_R::new(((self.bits >> 5) & 0x01) != 0)
55540            }
55541            ///Bit 4 - Port C pull-up bit y (y=0..15)
55542            #[inline(always)]
55543            pub fn pu4(&self) -> PU4_R {
55544                PU4_R::new(((self.bits >> 4) & 0x01) != 0)
55545            }
55546            ///Bit 3 - Port C pull-up bit y (y=0..15)
55547            #[inline(always)]
55548            pub fn pu3(&self) -> PU3_R {
55549                PU3_R::new(((self.bits >> 3) & 0x01) != 0)
55550            }
55551            ///Bit 2 - Port C pull-up bit y (y=0..15)
55552            #[inline(always)]
55553            pub fn pu2(&self) -> PU2_R {
55554                PU2_R::new(((self.bits >> 2) & 0x01) != 0)
55555            }
55556            ///Bit 1 - Port C pull-up bit y (y=0..15)
55557            #[inline(always)]
55558            pub fn pu1(&self) -> PU1_R {
55559                PU1_R::new(((self.bits >> 1) & 0x01) != 0)
55560            }
55561            ///Bit 0 - Port C pull-up bit y (y=0..15)
55562            #[inline(always)]
55563            pub fn pu0(&self) -> PU0_R {
55564                PU0_R::new((self.bits & 0x01) != 0)
55565            }
55566        }
55567        impl W {
55568            ///Bit 15 - Port C pull-up bit y (y=0..15)
55569            #[inline(always)]
55570            pub fn pu15(&mut self) -> PU15_W {
55571                PU15_W { w: self }
55572            }
55573            ///Bit 14 - Port C pull-up bit y (y=0..15)
55574            #[inline(always)]
55575            pub fn pu14(&mut self) -> PU14_W {
55576                PU14_W { w: self }
55577            }
55578            ///Bit 13 - Port C pull-up bit y (y=0..15)
55579            #[inline(always)]
55580            pub fn pu13(&mut self) -> PU13_W {
55581                PU13_W { w: self }
55582            }
55583            ///Bit 12 - Port C pull-up bit y (y=0..15)
55584            #[inline(always)]
55585            pub fn pu12(&mut self) -> PU12_W {
55586                PU12_W { w: self }
55587            }
55588            ///Bit 11 - Port C pull-up bit y (y=0..15)
55589            #[inline(always)]
55590            pub fn pu11(&mut self) -> PU11_W {
55591                PU11_W { w: self }
55592            }
55593            ///Bit 10 - Port C pull-up bit y (y=0..15)
55594            #[inline(always)]
55595            pub fn pu10(&mut self) -> PU10_W {
55596                PU10_W { w: self }
55597            }
55598            ///Bit 9 - Port C pull-up bit y (y=0..15)
55599            #[inline(always)]
55600            pub fn pu9(&mut self) -> PU9_W {
55601                PU9_W { w: self }
55602            }
55603            ///Bit 8 - Port C pull-up bit y (y=0..15)
55604            #[inline(always)]
55605            pub fn pu8(&mut self) -> PU8_W {
55606                PU8_W { w: self }
55607            }
55608            ///Bit 7 - Port C pull-up bit y (y=0..15)
55609            #[inline(always)]
55610            pub fn pu7(&mut self) -> PU7_W {
55611                PU7_W { w: self }
55612            }
55613            ///Bit 6 - Port C pull-up bit y (y=0..15)
55614            #[inline(always)]
55615            pub fn pu6(&mut self) -> PU6_W {
55616                PU6_W { w: self }
55617            }
55618            ///Bit 5 - Port C pull-up bit y (y=0..15)
55619            #[inline(always)]
55620            pub fn pu5(&mut self) -> PU5_W {
55621                PU5_W { w: self }
55622            }
55623            ///Bit 4 - Port C pull-up bit y (y=0..15)
55624            #[inline(always)]
55625            pub fn pu4(&mut self) -> PU4_W {
55626                PU4_W { w: self }
55627            }
55628            ///Bit 3 - Port C pull-up bit y (y=0..15)
55629            #[inline(always)]
55630            pub fn pu3(&mut self) -> PU3_W {
55631                PU3_W { w: self }
55632            }
55633            ///Bit 2 - Port C pull-up bit y (y=0..15)
55634            #[inline(always)]
55635            pub fn pu2(&mut self) -> PU2_W {
55636                PU2_W { w: self }
55637            }
55638            ///Bit 1 - Port C pull-up bit y (y=0..15)
55639            #[inline(always)]
55640            pub fn pu1(&mut self) -> PU1_W {
55641                PU1_W { w: self }
55642            }
55643            ///Bit 0 - Port C pull-up bit y (y=0..15)
55644            #[inline(always)]
55645            pub fn pu0(&mut self) -> PU0_W {
55646                PU0_W { w: self }
55647            }
55648        }
55649    }
55650    ///Power Port C pull-down control register
55651    ///
55652    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
55653    ///
55654    ///For information about available fields see [pdcrc](pdcrc) module
55655    pub type PDCRC = crate::Reg<u32, _PDCRC>;
55656    #[allow(missing_docs)]
55657    #[doc(hidden)]
55658    pub struct _PDCRC;
55659    ///`read()` method returns [pdcrc::R](pdcrc::R) reader structure
55660    impl crate::Readable for PDCRC {}
55661    ///`write(|w| ..)` method takes [pdcrc::W](pdcrc::W) writer structure
55662    impl crate::Writable for PDCRC {}
55663    ///Power Port C pull-down control register
55664    pub mod pdcrc {
55665        ///Reader of register PDCRC
55666        pub type R = crate::R<u32, super::PDCRC>;
55667        ///Writer for register PDCRC
55668        pub type W = crate::W<u32, super::PDCRC>;
55669        ///Register PDCRC `reset()`'s with value 0
55670        impl crate::ResetValue for super::PDCRC {
55671            type Type = u32;
55672            #[inline(always)]
55673            fn reset_value() -> Self::Type {
55674                0
55675            }
55676        }
55677        ///Reader of field `PD15`
55678        pub type PD15_R = crate::R<bool, bool>;
55679        ///Write proxy for field `PD15`
55680        pub struct PD15_W<'a> {
55681            w: &'a mut W,
55682        }
55683        impl<'a> PD15_W<'a> {
55684            ///Sets the field bit
55685            #[inline(always)]
55686            pub fn set_bit(self) -> &'a mut W {
55687                self.bit(true)
55688            }
55689            ///Clears the field bit
55690            #[inline(always)]
55691            pub fn clear_bit(self) -> &'a mut W {
55692                self.bit(false)
55693            }
55694            ///Writes raw bits to the field
55695            #[inline(always)]
55696            pub fn bit(self, value: bool) -> &'a mut W {
55697                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
55698                self.w
55699            }
55700        }
55701        ///Reader of field `PD14`
55702        pub type PD14_R = crate::R<bool, bool>;
55703        ///Write proxy for field `PD14`
55704        pub struct PD14_W<'a> {
55705            w: &'a mut W,
55706        }
55707        impl<'a> PD14_W<'a> {
55708            ///Sets the field bit
55709            #[inline(always)]
55710            pub fn set_bit(self) -> &'a mut W {
55711                self.bit(true)
55712            }
55713            ///Clears the field bit
55714            #[inline(always)]
55715            pub fn clear_bit(self) -> &'a mut W {
55716                self.bit(false)
55717            }
55718            ///Writes raw bits to the field
55719            #[inline(always)]
55720            pub fn bit(self, value: bool) -> &'a mut W {
55721                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
55722                self.w
55723            }
55724        }
55725        ///Reader of field `PD13`
55726        pub type PD13_R = crate::R<bool, bool>;
55727        ///Write proxy for field `PD13`
55728        pub struct PD13_W<'a> {
55729            w: &'a mut W,
55730        }
55731        impl<'a> PD13_W<'a> {
55732            ///Sets the field bit
55733            #[inline(always)]
55734            pub fn set_bit(self) -> &'a mut W {
55735                self.bit(true)
55736            }
55737            ///Clears the field bit
55738            #[inline(always)]
55739            pub fn clear_bit(self) -> &'a mut W {
55740                self.bit(false)
55741            }
55742            ///Writes raw bits to the field
55743            #[inline(always)]
55744            pub fn bit(self, value: bool) -> &'a mut W {
55745                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
55746                self.w
55747            }
55748        }
55749        ///Reader of field `PD12`
55750        pub type PD12_R = crate::R<bool, bool>;
55751        ///Write proxy for field `PD12`
55752        pub struct PD12_W<'a> {
55753            w: &'a mut W,
55754        }
55755        impl<'a> PD12_W<'a> {
55756            ///Sets the field bit
55757            #[inline(always)]
55758            pub fn set_bit(self) -> &'a mut W {
55759                self.bit(true)
55760            }
55761            ///Clears the field bit
55762            #[inline(always)]
55763            pub fn clear_bit(self) -> &'a mut W {
55764                self.bit(false)
55765            }
55766            ///Writes raw bits to the field
55767            #[inline(always)]
55768            pub fn bit(self, value: bool) -> &'a mut W {
55769                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
55770                self.w
55771            }
55772        }
55773        ///Reader of field `PD11`
55774        pub type PD11_R = crate::R<bool, bool>;
55775        ///Write proxy for field `PD11`
55776        pub struct PD11_W<'a> {
55777            w: &'a mut W,
55778        }
55779        impl<'a> PD11_W<'a> {
55780            ///Sets the field bit
55781            #[inline(always)]
55782            pub fn set_bit(self) -> &'a mut W {
55783                self.bit(true)
55784            }
55785            ///Clears the field bit
55786            #[inline(always)]
55787            pub fn clear_bit(self) -> &'a mut W {
55788                self.bit(false)
55789            }
55790            ///Writes raw bits to the field
55791            #[inline(always)]
55792            pub fn bit(self, value: bool) -> &'a mut W {
55793                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
55794                self.w
55795            }
55796        }
55797        ///Reader of field `PD10`
55798        pub type PD10_R = crate::R<bool, bool>;
55799        ///Write proxy for field `PD10`
55800        pub struct PD10_W<'a> {
55801            w: &'a mut W,
55802        }
55803        impl<'a> PD10_W<'a> {
55804            ///Sets the field bit
55805            #[inline(always)]
55806            pub fn set_bit(self) -> &'a mut W {
55807                self.bit(true)
55808            }
55809            ///Clears the field bit
55810            #[inline(always)]
55811            pub fn clear_bit(self) -> &'a mut W {
55812                self.bit(false)
55813            }
55814            ///Writes raw bits to the field
55815            #[inline(always)]
55816            pub fn bit(self, value: bool) -> &'a mut W {
55817                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
55818                self.w
55819            }
55820        }
55821        ///Reader of field `PD9`
55822        pub type PD9_R = crate::R<bool, bool>;
55823        ///Write proxy for field `PD9`
55824        pub struct PD9_W<'a> {
55825            w: &'a mut W,
55826        }
55827        impl<'a> PD9_W<'a> {
55828            ///Sets the field bit
55829            #[inline(always)]
55830            pub fn set_bit(self) -> &'a mut W {
55831                self.bit(true)
55832            }
55833            ///Clears the field bit
55834            #[inline(always)]
55835            pub fn clear_bit(self) -> &'a mut W {
55836                self.bit(false)
55837            }
55838            ///Writes raw bits to the field
55839            #[inline(always)]
55840            pub fn bit(self, value: bool) -> &'a mut W {
55841                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
55842                self.w
55843            }
55844        }
55845        ///Reader of field `PD8`
55846        pub type PD8_R = crate::R<bool, bool>;
55847        ///Write proxy for field `PD8`
55848        pub struct PD8_W<'a> {
55849            w: &'a mut W,
55850        }
55851        impl<'a> PD8_W<'a> {
55852            ///Sets the field bit
55853            #[inline(always)]
55854            pub fn set_bit(self) -> &'a mut W {
55855                self.bit(true)
55856            }
55857            ///Clears the field bit
55858            #[inline(always)]
55859            pub fn clear_bit(self) -> &'a mut W {
55860                self.bit(false)
55861            }
55862            ///Writes raw bits to the field
55863            #[inline(always)]
55864            pub fn bit(self, value: bool) -> &'a mut W {
55865                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
55866                self.w
55867            }
55868        }
55869        ///Reader of field `PD7`
55870        pub type PD7_R = crate::R<bool, bool>;
55871        ///Write proxy for field `PD7`
55872        pub struct PD7_W<'a> {
55873            w: &'a mut W,
55874        }
55875        impl<'a> PD7_W<'a> {
55876            ///Sets the field bit
55877            #[inline(always)]
55878            pub fn set_bit(self) -> &'a mut W {
55879                self.bit(true)
55880            }
55881            ///Clears the field bit
55882            #[inline(always)]
55883            pub fn clear_bit(self) -> &'a mut W {
55884                self.bit(false)
55885            }
55886            ///Writes raw bits to the field
55887            #[inline(always)]
55888            pub fn bit(self, value: bool) -> &'a mut W {
55889                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
55890                self.w
55891            }
55892        }
55893        ///Reader of field `PD6`
55894        pub type PD6_R = crate::R<bool, bool>;
55895        ///Write proxy for field `PD6`
55896        pub struct PD6_W<'a> {
55897            w: &'a mut W,
55898        }
55899        impl<'a> PD6_W<'a> {
55900            ///Sets the field bit
55901            #[inline(always)]
55902            pub fn set_bit(self) -> &'a mut W {
55903                self.bit(true)
55904            }
55905            ///Clears the field bit
55906            #[inline(always)]
55907            pub fn clear_bit(self) -> &'a mut W {
55908                self.bit(false)
55909            }
55910            ///Writes raw bits to the field
55911            #[inline(always)]
55912            pub fn bit(self, value: bool) -> &'a mut W {
55913                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
55914                self.w
55915            }
55916        }
55917        ///Reader of field `PD5`
55918        pub type PD5_R = crate::R<bool, bool>;
55919        ///Write proxy for field `PD5`
55920        pub struct PD5_W<'a> {
55921            w: &'a mut W,
55922        }
55923        impl<'a> PD5_W<'a> {
55924            ///Sets the field bit
55925            #[inline(always)]
55926            pub fn set_bit(self) -> &'a mut W {
55927                self.bit(true)
55928            }
55929            ///Clears the field bit
55930            #[inline(always)]
55931            pub fn clear_bit(self) -> &'a mut W {
55932                self.bit(false)
55933            }
55934            ///Writes raw bits to the field
55935            #[inline(always)]
55936            pub fn bit(self, value: bool) -> &'a mut W {
55937                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
55938                self.w
55939            }
55940        }
55941        ///Reader of field `PD4`
55942        pub type PD4_R = crate::R<bool, bool>;
55943        ///Write proxy for field `PD4`
55944        pub struct PD4_W<'a> {
55945            w: &'a mut W,
55946        }
55947        impl<'a> PD4_W<'a> {
55948            ///Sets the field bit
55949            #[inline(always)]
55950            pub fn set_bit(self) -> &'a mut W {
55951                self.bit(true)
55952            }
55953            ///Clears the field bit
55954            #[inline(always)]
55955            pub fn clear_bit(self) -> &'a mut W {
55956                self.bit(false)
55957            }
55958            ///Writes raw bits to the field
55959            #[inline(always)]
55960            pub fn bit(self, value: bool) -> &'a mut W {
55961                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
55962                self.w
55963            }
55964        }
55965        ///Reader of field `PD3`
55966        pub type PD3_R = crate::R<bool, bool>;
55967        ///Write proxy for field `PD3`
55968        pub struct PD3_W<'a> {
55969            w: &'a mut W,
55970        }
55971        impl<'a> PD3_W<'a> {
55972            ///Sets the field bit
55973            #[inline(always)]
55974            pub fn set_bit(self) -> &'a mut W {
55975                self.bit(true)
55976            }
55977            ///Clears the field bit
55978            #[inline(always)]
55979            pub fn clear_bit(self) -> &'a mut W {
55980                self.bit(false)
55981            }
55982            ///Writes raw bits to the field
55983            #[inline(always)]
55984            pub fn bit(self, value: bool) -> &'a mut W {
55985                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
55986                self.w
55987            }
55988        }
55989        ///Reader of field `PD2`
55990        pub type PD2_R = crate::R<bool, bool>;
55991        ///Write proxy for field `PD2`
55992        pub struct PD2_W<'a> {
55993            w: &'a mut W,
55994        }
55995        impl<'a> PD2_W<'a> {
55996            ///Sets the field bit
55997            #[inline(always)]
55998            pub fn set_bit(self) -> &'a mut W {
55999                self.bit(true)
56000            }
56001            ///Clears the field bit
56002            #[inline(always)]
56003            pub fn clear_bit(self) -> &'a mut W {
56004                self.bit(false)
56005            }
56006            ///Writes raw bits to the field
56007            #[inline(always)]
56008            pub fn bit(self, value: bool) -> &'a mut W {
56009                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
56010                self.w
56011            }
56012        }
56013        ///Reader of field `PD1`
56014        pub type PD1_R = crate::R<bool, bool>;
56015        ///Write proxy for field `PD1`
56016        pub struct PD1_W<'a> {
56017            w: &'a mut W,
56018        }
56019        impl<'a> PD1_W<'a> {
56020            ///Sets the field bit
56021            #[inline(always)]
56022            pub fn set_bit(self) -> &'a mut W {
56023                self.bit(true)
56024            }
56025            ///Clears the field bit
56026            #[inline(always)]
56027            pub fn clear_bit(self) -> &'a mut W {
56028                self.bit(false)
56029            }
56030            ///Writes raw bits to the field
56031            #[inline(always)]
56032            pub fn bit(self, value: bool) -> &'a mut W {
56033                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
56034                self.w
56035            }
56036        }
56037        ///Reader of field `PD0`
56038        pub type PD0_R = crate::R<bool, bool>;
56039        ///Write proxy for field `PD0`
56040        pub struct PD0_W<'a> {
56041            w: &'a mut W,
56042        }
56043        impl<'a> PD0_W<'a> {
56044            ///Sets the field bit
56045            #[inline(always)]
56046            pub fn set_bit(self) -> &'a mut W {
56047                self.bit(true)
56048            }
56049            ///Clears the field bit
56050            #[inline(always)]
56051            pub fn clear_bit(self) -> &'a mut W {
56052                self.bit(false)
56053            }
56054            ///Writes raw bits to the field
56055            #[inline(always)]
56056            pub fn bit(self, value: bool) -> &'a mut W {
56057                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
56058                self.w
56059            }
56060        }
56061        impl R {
56062            ///Bit 15 - Port C pull-down bit y (y=0..15)
56063            #[inline(always)]
56064            pub fn pd15(&self) -> PD15_R {
56065                PD15_R::new(((self.bits >> 15) & 0x01) != 0)
56066            }
56067            ///Bit 14 - Port C pull-down bit y (y=0..15)
56068            #[inline(always)]
56069            pub fn pd14(&self) -> PD14_R {
56070                PD14_R::new(((self.bits >> 14) & 0x01) != 0)
56071            }
56072            ///Bit 13 - Port C pull-down bit y (y=0..15)
56073            #[inline(always)]
56074            pub fn pd13(&self) -> PD13_R {
56075                PD13_R::new(((self.bits >> 13) & 0x01) != 0)
56076            }
56077            ///Bit 12 - Port C pull-down bit y (y=0..15)
56078            #[inline(always)]
56079            pub fn pd12(&self) -> PD12_R {
56080                PD12_R::new(((self.bits >> 12) & 0x01) != 0)
56081            }
56082            ///Bit 11 - Port C pull-down bit y (y=0..15)
56083            #[inline(always)]
56084            pub fn pd11(&self) -> PD11_R {
56085                PD11_R::new(((self.bits >> 11) & 0x01) != 0)
56086            }
56087            ///Bit 10 - Port C pull-down bit y (y=0..15)
56088            #[inline(always)]
56089            pub fn pd10(&self) -> PD10_R {
56090                PD10_R::new(((self.bits >> 10) & 0x01) != 0)
56091            }
56092            ///Bit 9 - Port C pull-down bit y (y=0..15)
56093            #[inline(always)]
56094            pub fn pd9(&self) -> PD9_R {
56095                PD9_R::new(((self.bits >> 9) & 0x01) != 0)
56096            }
56097            ///Bit 8 - Port C pull-down bit y (y=0..15)
56098            #[inline(always)]
56099            pub fn pd8(&self) -> PD8_R {
56100                PD8_R::new(((self.bits >> 8) & 0x01) != 0)
56101            }
56102            ///Bit 7 - Port C pull-down bit y (y=0..15)
56103            #[inline(always)]
56104            pub fn pd7(&self) -> PD7_R {
56105                PD7_R::new(((self.bits >> 7) & 0x01) != 0)
56106            }
56107            ///Bit 6 - Port C pull-down bit y (y=0..15)
56108            #[inline(always)]
56109            pub fn pd6(&self) -> PD6_R {
56110                PD6_R::new(((self.bits >> 6) & 0x01) != 0)
56111            }
56112            ///Bit 5 - Port C pull-down bit y (y=0..15)
56113            #[inline(always)]
56114            pub fn pd5(&self) -> PD5_R {
56115                PD5_R::new(((self.bits >> 5) & 0x01) != 0)
56116            }
56117            ///Bit 4 - Port C pull-down bit y (y=0..15)
56118            #[inline(always)]
56119            pub fn pd4(&self) -> PD4_R {
56120                PD4_R::new(((self.bits >> 4) & 0x01) != 0)
56121            }
56122            ///Bit 3 - Port C pull-down bit y (y=0..15)
56123            #[inline(always)]
56124            pub fn pd3(&self) -> PD3_R {
56125                PD3_R::new(((self.bits >> 3) & 0x01) != 0)
56126            }
56127            ///Bit 2 - Port C pull-down bit y (y=0..15)
56128            #[inline(always)]
56129            pub fn pd2(&self) -> PD2_R {
56130                PD2_R::new(((self.bits >> 2) & 0x01) != 0)
56131            }
56132            ///Bit 1 - Port C pull-down bit y (y=0..15)
56133            #[inline(always)]
56134            pub fn pd1(&self) -> PD1_R {
56135                PD1_R::new(((self.bits >> 1) & 0x01) != 0)
56136            }
56137            ///Bit 0 - Port C pull-down bit y (y=0..15)
56138            #[inline(always)]
56139            pub fn pd0(&self) -> PD0_R {
56140                PD0_R::new((self.bits & 0x01) != 0)
56141            }
56142        }
56143        impl W {
56144            ///Bit 15 - Port C pull-down bit y (y=0..15)
56145            #[inline(always)]
56146            pub fn pd15(&mut self) -> PD15_W {
56147                PD15_W { w: self }
56148            }
56149            ///Bit 14 - Port C pull-down bit y (y=0..15)
56150            #[inline(always)]
56151            pub fn pd14(&mut self) -> PD14_W {
56152                PD14_W { w: self }
56153            }
56154            ///Bit 13 - Port C pull-down bit y (y=0..15)
56155            #[inline(always)]
56156            pub fn pd13(&mut self) -> PD13_W {
56157                PD13_W { w: self }
56158            }
56159            ///Bit 12 - Port C pull-down bit y (y=0..15)
56160            #[inline(always)]
56161            pub fn pd12(&mut self) -> PD12_W {
56162                PD12_W { w: self }
56163            }
56164            ///Bit 11 - Port C pull-down bit y (y=0..15)
56165            #[inline(always)]
56166            pub fn pd11(&mut self) -> PD11_W {
56167                PD11_W { w: self }
56168            }
56169            ///Bit 10 - Port C pull-down bit y (y=0..15)
56170            #[inline(always)]
56171            pub fn pd10(&mut self) -> PD10_W {
56172                PD10_W { w: self }
56173            }
56174            ///Bit 9 - Port C pull-down bit y (y=0..15)
56175            #[inline(always)]
56176            pub fn pd9(&mut self) -> PD9_W {
56177                PD9_W { w: self }
56178            }
56179            ///Bit 8 - Port C pull-down bit y (y=0..15)
56180            #[inline(always)]
56181            pub fn pd8(&mut self) -> PD8_W {
56182                PD8_W { w: self }
56183            }
56184            ///Bit 7 - Port C pull-down bit y (y=0..15)
56185            #[inline(always)]
56186            pub fn pd7(&mut self) -> PD7_W {
56187                PD7_W { w: self }
56188            }
56189            ///Bit 6 - Port C pull-down bit y (y=0..15)
56190            #[inline(always)]
56191            pub fn pd6(&mut self) -> PD6_W {
56192                PD6_W { w: self }
56193            }
56194            ///Bit 5 - Port C pull-down bit y (y=0..15)
56195            #[inline(always)]
56196            pub fn pd5(&mut self) -> PD5_W {
56197                PD5_W { w: self }
56198            }
56199            ///Bit 4 - Port C pull-down bit y (y=0..15)
56200            #[inline(always)]
56201            pub fn pd4(&mut self) -> PD4_W {
56202                PD4_W { w: self }
56203            }
56204            ///Bit 3 - Port C pull-down bit y (y=0..15)
56205            #[inline(always)]
56206            pub fn pd3(&mut self) -> PD3_W {
56207                PD3_W { w: self }
56208            }
56209            ///Bit 2 - Port C pull-down bit y (y=0..15)
56210            #[inline(always)]
56211            pub fn pd2(&mut self) -> PD2_W {
56212                PD2_W { w: self }
56213            }
56214            ///Bit 1 - Port C pull-down bit y (y=0..15)
56215            #[inline(always)]
56216            pub fn pd1(&mut self) -> PD1_W {
56217                PD1_W { w: self }
56218            }
56219            ///Bit 0 - Port C pull-down bit y (y=0..15)
56220            #[inline(always)]
56221            pub fn pd0(&mut self) -> PD0_W {
56222                PD0_W { w: self }
56223            }
56224        }
56225    }
56226    ///Power Port D pull-up control register
56227    ///
56228    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
56229    ///
56230    ///For information about available fields see [pucrd](pucrd) module
56231    pub type PUCRD = crate::Reg<u32, _PUCRD>;
56232    #[allow(missing_docs)]
56233    #[doc(hidden)]
56234    pub struct _PUCRD;
56235    ///`read()` method returns [pucrd::R](pucrd::R) reader structure
56236    impl crate::Readable for PUCRD {}
56237    ///`write(|w| ..)` method takes [pucrd::W](pucrd::W) writer structure
56238    impl crate::Writable for PUCRD {}
56239    ///Power Port D pull-up control register
56240    pub mod pucrd {
56241        ///Reader of register PUCRD
56242        pub type R = crate::R<u32, super::PUCRD>;
56243        ///Writer for register PUCRD
56244        pub type W = crate::W<u32, super::PUCRD>;
56245        ///Register PUCRD `reset()`'s with value 0
56246        impl crate::ResetValue for super::PUCRD {
56247            type Type = u32;
56248            #[inline(always)]
56249            fn reset_value() -> Self::Type {
56250                0
56251            }
56252        }
56253        ///Reader of field `PU15`
56254        pub type PU15_R = crate::R<bool, bool>;
56255        ///Write proxy for field `PU15`
56256        pub struct PU15_W<'a> {
56257            w: &'a mut W,
56258        }
56259        impl<'a> PU15_W<'a> {
56260            ///Sets the field bit
56261            #[inline(always)]
56262            pub fn set_bit(self) -> &'a mut W {
56263                self.bit(true)
56264            }
56265            ///Clears the field bit
56266            #[inline(always)]
56267            pub fn clear_bit(self) -> &'a mut W {
56268                self.bit(false)
56269            }
56270            ///Writes raw bits to the field
56271            #[inline(always)]
56272            pub fn bit(self, value: bool) -> &'a mut W {
56273                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
56274                self.w
56275            }
56276        }
56277        ///Reader of field `PU14`
56278        pub type PU14_R = crate::R<bool, bool>;
56279        ///Write proxy for field `PU14`
56280        pub struct PU14_W<'a> {
56281            w: &'a mut W,
56282        }
56283        impl<'a> PU14_W<'a> {
56284            ///Sets the field bit
56285            #[inline(always)]
56286            pub fn set_bit(self) -> &'a mut W {
56287                self.bit(true)
56288            }
56289            ///Clears the field bit
56290            #[inline(always)]
56291            pub fn clear_bit(self) -> &'a mut W {
56292                self.bit(false)
56293            }
56294            ///Writes raw bits to the field
56295            #[inline(always)]
56296            pub fn bit(self, value: bool) -> &'a mut W {
56297                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
56298                self.w
56299            }
56300        }
56301        ///Reader of field `PU13`
56302        pub type PU13_R = crate::R<bool, bool>;
56303        ///Write proxy for field `PU13`
56304        pub struct PU13_W<'a> {
56305            w: &'a mut W,
56306        }
56307        impl<'a> PU13_W<'a> {
56308            ///Sets the field bit
56309            #[inline(always)]
56310            pub fn set_bit(self) -> &'a mut W {
56311                self.bit(true)
56312            }
56313            ///Clears the field bit
56314            #[inline(always)]
56315            pub fn clear_bit(self) -> &'a mut W {
56316                self.bit(false)
56317            }
56318            ///Writes raw bits to the field
56319            #[inline(always)]
56320            pub fn bit(self, value: bool) -> &'a mut W {
56321                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
56322                self.w
56323            }
56324        }
56325        ///Reader of field `PU12`
56326        pub type PU12_R = crate::R<bool, bool>;
56327        ///Write proxy for field `PU12`
56328        pub struct PU12_W<'a> {
56329            w: &'a mut W,
56330        }
56331        impl<'a> PU12_W<'a> {
56332            ///Sets the field bit
56333            #[inline(always)]
56334            pub fn set_bit(self) -> &'a mut W {
56335                self.bit(true)
56336            }
56337            ///Clears the field bit
56338            #[inline(always)]
56339            pub fn clear_bit(self) -> &'a mut W {
56340                self.bit(false)
56341            }
56342            ///Writes raw bits to the field
56343            #[inline(always)]
56344            pub fn bit(self, value: bool) -> &'a mut W {
56345                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
56346                self.w
56347            }
56348        }
56349        ///Reader of field `PU11`
56350        pub type PU11_R = crate::R<bool, bool>;
56351        ///Write proxy for field `PU11`
56352        pub struct PU11_W<'a> {
56353            w: &'a mut W,
56354        }
56355        impl<'a> PU11_W<'a> {
56356            ///Sets the field bit
56357            #[inline(always)]
56358            pub fn set_bit(self) -> &'a mut W {
56359                self.bit(true)
56360            }
56361            ///Clears the field bit
56362            #[inline(always)]
56363            pub fn clear_bit(self) -> &'a mut W {
56364                self.bit(false)
56365            }
56366            ///Writes raw bits to the field
56367            #[inline(always)]
56368            pub fn bit(self, value: bool) -> &'a mut W {
56369                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
56370                self.w
56371            }
56372        }
56373        ///Reader of field `PU10`
56374        pub type PU10_R = crate::R<bool, bool>;
56375        ///Write proxy for field `PU10`
56376        pub struct PU10_W<'a> {
56377            w: &'a mut W,
56378        }
56379        impl<'a> PU10_W<'a> {
56380            ///Sets the field bit
56381            #[inline(always)]
56382            pub fn set_bit(self) -> &'a mut W {
56383                self.bit(true)
56384            }
56385            ///Clears the field bit
56386            #[inline(always)]
56387            pub fn clear_bit(self) -> &'a mut W {
56388                self.bit(false)
56389            }
56390            ///Writes raw bits to the field
56391            #[inline(always)]
56392            pub fn bit(self, value: bool) -> &'a mut W {
56393                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
56394                self.w
56395            }
56396        }
56397        ///Reader of field `PU9`
56398        pub type PU9_R = crate::R<bool, bool>;
56399        ///Write proxy for field `PU9`
56400        pub struct PU9_W<'a> {
56401            w: &'a mut W,
56402        }
56403        impl<'a> PU9_W<'a> {
56404            ///Sets the field bit
56405            #[inline(always)]
56406            pub fn set_bit(self) -> &'a mut W {
56407                self.bit(true)
56408            }
56409            ///Clears the field bit
56410            #[inline(always)]
56411            pub fn clear_bit(self) -> &'a mut W {
56412                self.bit(false)
56413            }
56414            ///Writes raw bits to the field
56415            #[inline(always)]
56416            pub fn bit(self, value: bool) -> &'a mut W {
56417                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
56418                self.w
56419            }
56420        }
56421        ///Reader of field `PU8`
56422        pub type PU8_R = crate::R<bool, bool>;
56423        ///Write proxy for field `PU8`
56424        pub struct PU8_W<'a> {
56425            w: &'a mut W,
56426        }
56427        impl<'a> PU8_W<'a> {
56428            ///Sets the field bit
56429            #[inline(always)]
56430            pub fn set_bit(self) -> &'a mut W {
56431                self.bit(true)
56432            }
56433            ///Clears the field bit
56434            #[inline(always)]
56435            pub fn clear_bit(self) -> &'a mut W {
56436                self.bit(false)
56437            }
56438            ///Writes raw bits to the field
56439            #[inline(always)]
56440            pub fn bit(self, value: bool) -> &'a mut W {
56441                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
56442                self.w
56443            }
56444        }
56445        ///Reader of field `PU7`
56446        pub type PU7_R = crate::R<bool, bool>;
56447        ///Write proxy for field `PU7`
56448        pub struct PU7_W<'a> {
56449            w: &'a mut W,
56450        }
56451        impl<'a> PU7_W<'a> {
56452            ///Sets the field bit
56453            #[inline(always)]
56454            pub fn set_bit(self) -> &'a mut W {
56455                self.bit(true)
56456            }
56457            ///Clears the field bit
56458            #[inline(always)]
56459            pub fn clear_bit(self) -> &'a mut W {
56460                self.bit(false)
56461            }
56462            ///Writes raw bits to the field
56463            #[inline(always)]
56464            pub fn bit(self, value: bool) -> &'a mut W {
56465                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
56466                self.w
56467            }
56468        }
56469        ///Reader of field `PU6`
56470        pub type PU6_R = crate::R<bool, bool>;
56471        ///Write proxy for field `PU6`
56472        pub struct PU6_W<'a> {
56473            w: &'a mut W,
56474        }
56475        impl<'a> PU6_W<'a> {
56476            ///Sets the field bit
56477            #[inline(always)]
56478            pub fn set_bit(self) -> &'a mut W {
56479                self.bit(true)
56480            }
56481            ///Clears the field bit
56482            #[inline(always)]
56483            pub fn clear_bit(self) -> &'a mut W {
56484                self.bit(false)
56485            }
56486            ///Writes raw bits to the field
56487            #[inline(always)]
56488            pub fn bit(self, value: bool) -> &'a mut W {
56489                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
56490                self.w
56491            }
56492        }
56493        ///Reader of field `PU5`
56494        pub type PU5_R = crate::R<bool, bool>;
56495        ///Write proxy for field `PU5`
56496        pub struct PU5_W<'a> {
56497            w: &'a mut W,
56498        }
56499        impl<'a> PU5_W<'a> {
56500            ///Sets the field bit
56501            #[inline(always)]
56502            pub fn set_bit(self) -> &'a mut W {
56503                self.bit(true)
56504            }
56505            ///Clears the field bit
56506            #[inline(always)]
56507            pub fn clear_bit(self) -> &'a mut W {
56508                self.bit(false)
56509            }
56510            ///Writes raw bits to the field
56511            #[inline(always)]
56512            pub fn bit(self, value: bool) -> &'a mut W {
56513                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
56514                self.w
56515            }
56516        }
56517        ///Reader of field `PU4`
56518        pub type PU4_R = crate::R<bool, bool>;
56519        ///Write proxy for field `PU4`
56520        pub struct PU4_W<'a> {
56521            w: &'a mut W,
56522        }
56523        impl<'a> PU4_W<'a> {
56524            ///Sets the field bit
56525            #[inline(always)]
56526            pub fn set_bit(self) -> &'a mut W {
56527                self.bit(true)
56528            }
56529            ///Clears the field bit
56530            #[inline(always)]
56531            pub fn clear_bit(self) -> &'a mut W {
56532                self.bit(false)
56533            }
56534            ///Writes raw bits to the field
56535            #[inline(always)]
56536            pub fn bit(self, value: bool) -> &'a mut W {
56537                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
56538                self.w
56539            }
56540        }
56541        ///Reader of field `PU3`
56542        pub type PU3_R = crate::R<bool, bool>;
56543        ///Write proxy for field `PU3`
56544        pub struct PU3_W<'a> {
56545            w: &'a mut W,
56546        }
56547        impl<'a> PU3_W<'a> {
56548            ///Sets the field bit
56549            #[inline(always)]
56550            pub fn set_bit(self) -> &'a mut W {
56551                self.bit(true)
56552            }
56553            ///Clears the field bit
56554            #[inline(always)]
56555            pub fn clear_bit(self) -> &'a mut W {
56556                self.bit(false)
56557            }
56558            ///Writes raw bits to the field
56559            #[inline(always)]
56560            pub fn bit(self, value: bool) -> &'a mut W {
56561                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
56562                self.w
56563            }
56564        }
56565        ///Reader of field `PU2`
56566        pub type PU2_R = crate::R<bool, bool>;
56567        ///Write proxy for field `PU2`
56568        pub struct PU2_W<'a> {
56569            w: &'a mut W,
56570        }
56571        impl<'a> PU2_W<'a> {
56572            ///Sets the field bit
56573            #[inline(always)]
56574            pub fn set_bit(self) -> &'a mut W {
56575                self.bit(true)
56576            }
56577            ///Clears the field bit
56578            #[inline(always)]
56579            pub fn clear_bit(self) -> &'a mut W {
56580                self.bit(false)
56581            }
56582            ///Writes raw bits to the field
56583            #[inline(always)]
56584            pub fn bit(self, value: bool) -> &'a mut W {
56585                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
56586                self.w
56587            }
56588        }
56589        ///Reader of field `PU1`
56590        pub type PU1_R = crate::R<bool, bool>;
56591        ///Write proxy for field `PU1`
56592        pub struct PU1_W<'a> {
56593            w: &'a mut W,
56594        }
56595        impl<'a> PU1_W<'a> {
56596            ///Sets the field bit
56597            #[inline(always)]
56598            pub fn set_bit(self) -> &'a mut W {
56599                self.bit(true)
56600            }
56601            ///Clears the field bit
56602            #[inline(always)]
56603            pub fn clear_bit(self) -> &'a mut W {
56604                self.bit(false)
56605            }
56606            ///Writes raw bits to the field
56607            #[inline(always)]
56608            pub fn bit(self, value: bool) -> &'a mut W {
56609                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
56610                self.w
56611            }
56612        }
56613        ///Reader of field `PU0`
56614        pub type PU0_R = crate::R<bool, bool>;
56615        ///Write proxy for field `PU0`
56616        pub struct PU0_W<'a> {
56617            w: &'a mut W,
56618        }
56619        impl<'a> PU0_W<'a> {
56620            ///Sets the field bit
56621            #[inline(always)]
56622            pub fn set_bit(self) -> &'a mut W {
56623                self.bit(true)
56624            }
56625            ///Clears the field bit
56626            #[inline(always)]
56627            pub fn clear_bit(self) -> &'a mut W {
56628                self.bit(false)
56629            }
56630            ///Writes raw bits to the field
56631            #[inline(always)]
56632            pub fn bit(self, value: bool) -> &'a mut W {
56633                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
56634                self.w
56635            }
56636        }
56637        impl R {
56638            ///Bit 15 - Port D pull-up bit y (y=0..15)
56639            #[inline(always)]
56640            pub fn pu15(&self) -> PU15_R {
56641                PU15_R::new(((self.bits >> 15) & 0x01) != 0)
56642            }
56643            ///Bit 14 - Port D pull-up bit y (y=0..15)
56644            #[inline(always)]
56645            pub fn pu14(&self) -> PU14_R {
56646                PU14_R::new(((self.bits >> 14) & 0x01) != 0)
56647            }
56648            ///Bit 13 - Port D pull-up bit y (y=0..15)
56649            #[inline(always)]
56650            pub fn pu13(&self) -> PU13_R {
56651                PU13_R::new(((self.bits >> 13) & 0x01) != 0)
56652            }
56653            ///Bit 12 - Port D pull-up bit y (y=0..15)
56654            #[inline(always)]
56655            pub fn pu12(&self) -> PU12_R {
56656                PU12_R::new(((self.bits >> 12) & 0x01) != 0)
56657            }
56658            ///Bit 11 - Port D pull-up bit y (y=0..15)
56659            #[inline(always)]
56660            pub fn pu11(&self) -> PU11_R {
56661                PU11_R::new(((self.bits >> 11) & 0x01) != 0)
56662            }
56663            ///Bit 10 - Port D pull-up bit y (y=0..15)
56664            #[inline(always)]
56665            pub fn pu10(&self) -> PU10_R {
56666                PU10_R::new(((self.bits >> 10) & 0x01) != 0)
56667            }
56668            ///Bit 9 - Port D pull-up bit y (y=0..15)
56669            #[inline(always)]
56670            pub fn pu9(&self) -> PU9_R {
56671                PU9_R::new(((self.bits >> 9) & 0x01) != 0)
56672            }
56673            ///Bit 8 - Port D pull-up bit y (y=0..15)
56674            #[inline(always)]
56675            pub fn pu8(&self) -> PU8_R {
56676                PU8_R::new(((self.bits >> 8) & 0x01) != 0)
56677            }
56678            ///Bit 7 - Port D pull-up bit y (y=0..15)
56679            #[inline(always)]
56680            pub fn pu7(&self) -> PU7_R {
56681                PU7_R::new(((self.bits >> 7) & 0x01) != 0)
56682            }
56683            ///Bit 6 - Port D pull-up bit y (y=0..15)
56684            #[inline(always)]
56685            pub fn pu6(&self) -> PU6_R {
56686                PU6_R::new(((self.bits >> 6) & 0x01) != 0)
56687            }
56688            ///Bit 5 - Port D pull-up bit y (y=0..15)
56689            #[inline(always)]
56690            pub fn pu5(&self) -> PU5_R {
56691                PU5_R::new(((self.bits >> 5) & 0x01) != 0)
56692            }
56693            ///Bit 4 - Port D pull-up bit y (y=0..15)
56694            #[inline(always)]
56695            pub fn pu4(&self) -> PU4_R {
56696                PU4_R::new(((self.bits >> 4) & 0x01) != 0)
56697            }
56698            ///Bit 3 - Port D pull-up bit y (y=0..15)
56699            #[inline(always)]
56700            pub fn pu3(&self) -> PU3_R {
56701                PU3_R::new(((self.bits >> 3) & 0x01) != 0)
56702            }
56703            ///Bit 2 - Port D pull-up bit y (y=0..15)
56704            #[inline(always)]
56705            pub fn pu2(&self) -> PU2_R {
56706                PU2_R::new(((self.bits >> 2) & 0x01) != 0)
56707            }
56708            ///Bit 1 - Port D pull-up bit y (y=0..15)
56709            #[inline(always)]
56710            pub fn pu1(&self) -> PU1_R {
56711                PU1_R::new(((self.bits >> 1) & 0x01) != 0)
56712            }
56713            ///Bit 0 - Port D pull-up bit y (y=0..15)
56714            #[inline(always)]
56715            pub fn pu0(&self) -> PU0_R {
56716                PU0_R::new((self.bits & 0x01) != 0)
56717            }
56718        }
56719        impl W {
56720            ///Bit 15 - Port D pull-up bit y (y=0..15)
56721            #[inline(always)]
56722            pub fn pu15(&mut self) -> PU15_W {
56723                PU15_W { w: self }
56724            }
56725            ///Bit 14 - Port D pull-up bit y (y=0..15)
56726            #[inline(always)]
56727            pub fn pu14(&mut self) -> PU14_W {
56728                PU14_W { w: self }
56729            }
56730            ///Bit 13 - Port D pull-up bit y (y=0..15)
56731            #[inline(always)]
56732            pub fn pu13(&mut self) -> PU13_W {
56733                PU13_W { w: self }
56734            }
56735            ///Bit 12 - Port D pull-up bit y (y=0..15)
56736            #[inline(always)]
56737            pub fn pu12(&mut self) -> PU12_W {
56738                PU12_W { w: self }
56739            }
56740            ///Bit 11 - Port D pull-up bit y (y=0..15)
56741            #[inline(always)]
56742            pub fn pu11(&mut self) -> PU11_W {
56743                PU11_W { w: self }
56744            }
56745            ///Bit 10 - Port D pull-up bit y (y=0..15)
56746            #[inline(always)]
56747            pub fn pu10(&mut self) -> PU10_W {
56748                PU10_W { w: self }
56749            }
56750            ///Bit 9 - Port D pull-up bit y (y=0..15)
56751            #[inline(always)]
56752            pub fn pu9(&mut self) -> PU9_W {
56753                PU9_W { w: self }
56754            }
56755            ///Bit 8 - Port D pull-up bit y (y=0..15)
56756            #[inline(always)]
56757            pub fn pu8(&mut self) -> PU8_W {
56758                PU8_W { w: self }
56759            }
56760            ///Bit 7 - Port D pull-up bit y (y=0..15)
56761            #[inline(always)]
56762            pub fn pu7(&mut self) -> PU7_W {
56763                PU7_W { w: self }
56764            }
56765            ///Bit 6 - Port D pull-up bit y (y=0..15)
56766            #[inline(always)]
56767            pub fn pu6(&mut self) -> PU6_W {
56768                PU6_W { w: self }
56769            }
56770            ///Bit 5 - Port D pull-up bit y (y=0..15)
56771            #[inline(always)]
56772            pub fn pu5(&mut self) -> PU5_W {
56773                PU5_W { w: self }
56774            }
56775            ///Bit 4 - Port D pull-up bit y (y=0..15)
56776            #[inline(always)]
56777            pub fn pu4(&mut self) -> PU4_W {
56778                PU4_W { w: self }
56779            }
56780            ///Bit 3 - Port D pull-up bit y (y=0..15)
56781            #[inline(always)]
56782            pub fn pu3(&mut self) -> PU3_W {
56783                PU3_W { w: self }
56784            }
56785            ///Bit 2 - Port D pull-up bit y (y=0..15)
56786            #[inline(always)]
56787            pub fn pu2(&mut self) -> PU2_W {
56788                PU2_W { w: self }
56789            }
56790            ///Bit 1 - Port D pull-up bit y (y=0..15)
56791            #[inline(always)]
56792            pub fn pu1(&mut self) -> PU1_W {
56793                PU1_W { w: self }
56794            }
56795            ///Bit 0 - Port D pull-up bit y (y=0..15)
56796            #[inline(always)]
56797            pub fn pu0(&mut self) -> PU0_W {
56798                PU0_W { w: self }
56799            }
56800        }
56801    }
56802    ///Power Port D pull-down control register
56803    ///
56804    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
56805    ///
56806    ///For information about available fields see [pdcrd](pdcrd) module
56807    pub type PDCRD = crate::Reg<u32, _PDCRD>;
56808    #[allow(missing_docs)]
56809    #[doc(hidden)]
56810    pub struct _PDCRD;
56811    ///`read()` method returns [pdcrd::R](pdcrd::R) reader structure
56812    impl crate::Readable for PDCRD {}
56813    ///`write(|w| ..)` method takes [pdcrd::W](pdcrd::W) writer structure
56814    impl crate::Writable for PDCRD {}
56815    ///Power Port D pull-down control register
56816    pub mod pdcrd {
56817        ///Reader of register PDCRD
56818        pub type R = crate::R<u32, super::PDCRD>;
56819        ///Writer for register PDCRD
56820        pub type W = crate::W<u32, super::PDCRD>;
56821        ///Register PDCRD `reset()`'s with value 0
56822        impl crate::ResetValue for super::PDCRD {
56823            type Type = u32;
56824            #[inline(always)]
56825            fn reset_value() -> Self::Type {
56826                0
56827            }
56828        }
56829        ///Reader of field `PD15`
56830        pub type PD15_R = crate::R<bool, bool>;
56831        ///Write proxy for field `PD15`
56832        pub struct PD15_W<'a> {
56833            w: &'a mut W,
56834        }
56835        impl<'a> PD15_W<'a> {
56836            ///Sets the field bit
56837            #[inline(always)]
56838            pub fn set_bit(self) -> &'a mut W {
56839                self.bit(true)
56840            }
56841            ///Clears the field bit
56842            #[inline(always)]
56843            pub fn clear_bit(self) -> &'a mut W {
56844                self.bit(false)
56845            }
56846            ///Writes raw bits to the field
56847            #[inline(always)]
56848            pub fn bit(self, value: bool) -> &'a mut W {
56849                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
56850                self.w
56851            }
56852        }
56853        ///Reader of field `PD14`
56854        pub type PD14_R = crate::R<bool, bool>;
56855        ///Write proxy for field `PD14`
56856        pub struct PD14_W<'a> {
56857            w: &'a mut W,
56858        }
56859        impl<'a> PD14_W<'a> {
56860            ///Sets the field bit
56861            #[inline(always)]
56862            pub fn set_bit(self) -> &'a mut W {
56863                self.bit(true)
56864            }
56865            ///Clears the field bit
56866            #[inline(always)]
56867            pub fn clear_bit(self) -> &'a mut W {
56868                self.bit(false)
56869            }
56870            ///Writes raw bits to the field
56871            #[inline(always)]
56872            pub fn bit(self, value: bool) -> &'a mut W {
56873                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
56874                self.w
56875            }
56876        }
56877        ///Reader of field `PD13`
56878        pub type PD13_R = crate::R<bool, bool>;
56879        ///Write proxy for field `PD13`
56880        pub struct PD13_W<'a> {
56881            w: &'a mut W,
56882        }
56883        impl<'a> PD13_W<'a> {
56884            ///Sets the field bit
56885            #[inline(always)]
56886            pub fn set_bit(self) -> &'a mut W {
56887                self.bit(true)
56888            }
56889            ///Clears the field bit
56890            #[inline(always)]
56891            pub fn clear_bit(self) -> &'a mut W {
56892                self.bit(false)
56893            }
56894            ///Writes raw bits to the field
56895            #[inline(always)]
56896            pub fn bit(self, value: bool) -> &'a mut W {
56897                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
56898                self.w
56899            }
56900        }
56901        ///Reader of field `PD12`
56902        pub type PD12_R = crate::R<bool, bool>;
56903        ///Write proxy for field `PD12`
56904        pub struct PD12_W<'a> {
56905            w: &'a mut W,
56906        }
56907        impl<'a> PD12_W<'a> {
56908            ///Sets the field bit
56909            #[inline(always)]
56910            pub fn set_bit(self) -> &'a mut W {
56911                self.bit(true)
56912            }
56913            ///Clears the field bit
56914            #[inline(always)]
56915            pub fn clear_bit(self) -> &'a mut W {
56916                self.bit(false)
56917            }
56918            ///Writes raw bits to the field
56919            #[inline(always)]
56920            pub fn bit(self, value: bool) -> &'a mut W {
56921                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
56922                self.w
56923            }
56924        }
56925        ///Reader of field `PD11`
56926        pub type PD11_R = crate::R<bool, bool>;
56927        ///Write proxy for field `PD11`
56928        pub struct PD11_W<'a> {
56929            w: &'a mut W,
56930        }
56931        impl<'a> PD11_W<'a> {
56932            ///Sets the field bit
56933            #[inline(always)]
56934            pub fn set_bit(self) -> &'a mut W {
56935                self.bit(true)
56936            }
56937            ///Clears the field bit
56938            #[inline(always)]
56939            pub fn clear_bit(self) -> &'a mut W {
56940                self.bit(false)
56941            }
56942            ///Writes raw bits to the field
56943            #[inline(always)]
56944            pub fn bit(self, value: bool) -> &'a mut W {
56945                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
56946                self.w
56947            }
56948        }
56949        ///Reader of field `PD10`
56950        pub type PD10_R = crate::R<bool, bool>;
56951        ///Write proxy for field `PD10`
56952        pub struct PD10_W<'a> {
56953            w: &'a mut W,
56954        }
56955        impl<'a> PD10_W<'a> {
56956            ///Sets the field bit
56957            #[inline(always)]
56958            pub fn set_bit(self) -> &'a mut W {
56959                self.bit(true)
56960            }
56961            ///Clears the field bit
56962            #[inline(always)]
56963            pub fn clear_bit(self) -> &'a mut W {
56964                self.bit(false)
56965            }
56966            ///Writes raw bits to the field
56967            #[inline(always)]
56968            pub fn bit(self, value: bool) -> &'a mut W {
56969                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
56970                self.w
56971            }
56972        }
56973        ///Reader of field `PD9`
56974        pub type PD9_R = crate::R<bool, bool>;
56975        ///Write proxy for field `PD9`
56976        pub struct PD9_W<'a> {
56977            w: &'a mut W,
56978        }
56979        impl<'a> PD9_W<'a> {
56980            ///Sets the field bit
56981            #[inline(always)]
56982            pub fn set_bit(self) -> &'a mut W {
56983                self.bit(true)
56984            }
56985            ///Clears the field bit
56986            #[inline(always)]
56987            pub fn clear_bit(self) -> &'a mut W {
56988                self.bit(false)
56989            }
56990            ///Writes raw bits to the field
56991            #[inline(always)]
56992            pub fn bit(self, value: bool) -> &'a mut W {
56993                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
56994                self.w
56995            }
56996        }
56997        ///Reader of field `PD8`
56998        pub type PD8_R = crate::R<bool, bool>;
56999        ///Write proxy for field `PD8`
57000        pub struct PD8_W<'a> {
57001            w: &'a mut W,
57002        }
57003        impl<'a> PD8_W<'a> {
57004            ///Sets the field bit
57005            #[inline(always)]
57006            pub fn set_bit(self) -> &'a mut W {
57007                self.bit(true)
57008            }
57009            ///Clears the field bit
57010            #[inline(always)]
57011            pub fn clear_bit(self) -> &'a mut W {
57012                self.bit(false)
57013            }
57014            ///Writes raw bits to the field
57015            #[inline(always)]
57016            pub fn bit(self, value: bool) -> &'a mut W {
57017                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
57018                self.w
57019            }
57020        }
57021        ///Reader of field `PD7`
57022        pub type PD7_R = crate::R<bool, bool>;
57023        ///Write proxy for field `PD7`
57024        pub struct PD7_W<'a> {
57025            w: &'a mut W,
57026        }
57027        impl<'a> PD7_W<'a> {
57028            ///Sets the field bit
57029            #[inline(always)]
57030            pub fn set_bit(self) -> &'a mut W {
57031                self.bit(true)
57032            }
57033            ///Clears the field bit
57034            #[inline(always)]
57035            pub fn clear_bit(self) -> &'a mut W {
57036                self.bit(false)
57037            }
57038            ///Writes raw bits to the field
57039            #[inline(always)]
57040            pub fn bit(self, value: bool) -> &'a mut W {
57041                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
57042                self.w
57043            }
57044        }
57045        ///Reader of field `PD6`
57046        pub type PD6_R = crate::R<bool, bool>;
57047        ///Write proxy for field `PD6`
57048        pub struct PD6_W<'a> {
57049            w: &'a mut W,
57050        }
57051        impl<'a> PD6_W<'a> {
57052            ///Sets the field bit
57053            #[inline(always)]
57054            pub fn set_bit(self) -> &'a mut W {
57055                self.bit(true)
57056            }
57057            ///Clears the field bit
57058            #[inline(always)]
57059            pub fn clear_bit(self) -> &'a mut W {
57060                self.bit(false)
57061            }
57062            ///Writes raw bits to the field
57063            #[inline(always)]
57064            pub fn bit(self, value: bool) -> &'a mut W {
57065                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
57066                self.w
57067            }
57068        }
57069        ///Reader of field `PD5`
57070        pub type PD5_R = crate::R<bool, bool>;
57071        ///Write proxy for field `PD5`
57072        pub struct PD5_W<'a> {
57073            w: &'a mut W,
57074        }
57075        impl<'a> PD5_W<'a> {
57076            ///Sets the field bit
57077            #[inline(always)]
57078            pub fn set_bit(self) -> &'a mut W {
57079                self.bit(true)
57080            }
57081            ///Clears the field bit
57082            #[inline(always)]
57083            pub fn clear_bit(self) -> &'a mut W {
57084                self.bit(false)
57085            }
57086            ///Writes raw bits to the field
57087            #[inline(always)]
57088            pub fn bit(self, value: bool) -> &'a mut W {
57089                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
57090                self.w
57091            }
57092        }
57093        ///Reader of field `PD4`
57094        pub type PD4_R = crate::R<bool, bool>;
57095        ///Write proxy for field `PD4`
57096        pub struct PD4_W<'a> {
57097            w: &'a mut W,
57098        }
57099        impl<'a> PD4_W<'a> {
57100            ///Sets the field bit
57101            #[inline(always)]
57102            pub fn set_bit(self) -> &'a mut W {
57103                self.bit(true)
57104            }
57105            ///Clears the field bit
57106            #[inline(always)]
57107            pub fn clear_bit(self) -> &'a mut W {
57108                self.bit(false)
57109            }
57110            ///Writes raw bits to the field
57111            #[inline(always)]
57112            pub fn bit(self, value: bool) -> &'a mut W {
57113                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
57114                self.w
57115            }
57116        }
57117        ///Reader of field `PD3`
57118        pub type PD3_R = crate::R<bool, bool>;
57119        ///Write proxy for field `PD3`
57120        pub struct PD3_W<'a> {
57121            w: &'a mut W,
57122        }
57123        impl<'a> PD3_W<'a> {
57124            ///Sets the field bit
57125            #[inline(always)]
57126            pub fn set_bit(self) -> &'a mut W {
57127                self.bit(true)
57128            }
57129            ///Clears the field bit
57130            #[inline(always)]
57131            pub fn clear_bit(self) -> &'a mut W {
57132                self.bit(false)
57133            }
57134            ///Writes raw bits to the field
57135            #[inline(always)]
57136            pub fn bit(self, value: bool) -> &'a mut W {
57137                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
57138                self.w
57139            }
57140        }
57141        ///Reader of field `PD2`
57142        pub type PD2_R = crate::R<bool, bool>;
57143        ///Write proxy for field `PD2`
57144        pub struct PD2_W<'a> {
57145            w: &'a mut W,
57146        }
57147        impl<'a> PD2_W<'a> {
57148            ///Sets the field bit
57149            #[inline(always)]
57150            pub fn set_bit(self) -> &'a mut W {
57151                self.bit(true)
57152            }
57153            ///Clears the field bit
57154            #[inline(always)]
57155            pub fn clear_bit(self) -> &'a mut W {
57156                self.bit(false)
57157            }
57158            ///Writes raw bits to the field
57159            #[inline(always)]
57160            pub fn bit(self, value: bool) -> &'a mut W {
57161                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
57162                self.w
57163            }
57164        }
57165        ///Reader of field `PD1`
57166        pub type PD1_R = crate::R<bool, bool>;
57167        ///Write proxy for field `PD1`
57168        pub struct PD1_W<'a> {
57169            w: &'a mut W,
57170        }
57171        impl<'a> PD1_W<'a> {
57172            ///Sets the field bit
57173            #[inline(always)]
57174            pub fn set_bit(self) -> &'a mut W {
57175                self.bit(true)
57176            }
57177            ///Clears the field bit
57178            #[inline(always)]
57179            pub fn clear_bit(self) -> &'a mut W {
57180                self.bit(false)
57181            }
57182            ///Writes raw bits to the field
57183            #[inline(always)]
57184            pub fn bit(self, value: bool) -> &'a mut W {
57185                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
57186                self.w
57187            }
57188        }
57189        ///Reader of field `PD0`
57190        pub type PD0_R = crate::R<bool, bool>;
57191        ///Write proxy for field `PD0`
57192        pub struct PD0_W<'a> {
57193            w: &'a mut W,
57194        }
57195        impl<'a> PD0_W<'a> {
57196            ///Sets the field bit
57197            #[inline(always)]
57198            pub fn set_bit(self) -> &'a mut W {
57199                self.bit(true)
57200            }
57201            ///Clears the field bit
57202            #[inline(always)]
57203            pub fn clear_bit(self) -> &'a mut W {
57204                self.bit(false)
57205            }
57206            ///Writes raw bits to the field
57207            #[inline(always)]
57208            pub fn bit(self, value: bool) -> &'a mut W {
57209                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
57210                self.w
57211            }
57212        }
57213        impl R {
57214            ///Bit 15 - Port D pull-down bit y (y=0..15)
57215            #[inline(always)]
57216            pub fn pd15(&self) -> PD15_R {
57217                PD15_R::new(((self.bits >> 15) & 0x01) != 0)
57218            }
57219            ///Bit 14 - Port D pull-down bit y (y=0..15)
57220            #[inline(always)]
57221            pub fn pd14(&self) -> PD14_R {
57222                PD14_R::new(((self.bits >> 14) & 0x01) != 0)
57223            }
57224            ///Bit 13 - Port D pull-down bit y (y=0..15)
57225            #[inline(always)]
57226            pub fn pd13(&self) -> PD13_R {
57227                PD13_R::new(((self.bits >> 13) & 0x01) != 0)
57228            }
57229            ///Bit 12 - Port D pull-down bit y (y=0..15)
57230            #[inline(always)]
57231            pub fn pd12(&self) -> PD12_R {
57232                PD12_R::new(((self.bits >> 12) & 0x01) != 0)
57233            }
57234            ///Bit 11 - Port D pull-down bit y (y=0..15)
57235            #[inline(always)]
57236            pub fn pd11(&self) -> PD11_R {
57237                PD11_R::new(((self.bits >> 11) & 0x01) != 0)
57238            }
57239            ///Bit 10 - Port D pull-down bit y (y=0..15)
57240            #[inline(always)]
57241            pub fn pd10(&self) -> PD10_R {
57242                PD10_R::new(((self.bits >> 10) & 0x01) != 0)
57243            }
57244            ///Bit 9 - Port D pull-down bit y (y=0..15)
57245            #[inline(always)]
57246            pub fn pd9(&self) -> PD9_R {
57247                PD9_R::new(((self.bits >> 9) & 0x01) != 0)
57248            }
57249            ///Bit 8 - Port D pull-down bit y (y=0..15)
57250            #[inline(always)]
57251            pub fn pd8(&self) -> PD8_R {
57252                PD8_R::new(((self.bits >> 8) & 0x01) != 0)
57253            }
57254            ///Bit 7 - Port D pull-down bit y (y=0..15)
57255            #[inline(always)]
57256            pub fn pd7(&self) -> PD7_R {
57257                PD7_R::new(((self.bits >> 7) & 0x01) != 0)
57258            }
57259            ///Bit 6 - Port D pull-down bit y (y=0..15)
57260            #[inline(always)]
57261            pub fn pd6(&self) -> PD6_R {
57262                PD6_R::new(((self.bits >> 6) & 0x01) != 0)
57263            }
57264            ///Bit 5 - Port D pull-down bit y (y=0..15)
57265            #[inline(always)]
57266            pub fn pd5(&self) -> PD5_R {
57267                PD5_R::new(((self.bits >> 5) & 0x01) != 0)
57268            }
57269            ///Bit 4 - Port D pull-down bit y (y=0..15)
57270            #[inline(always)]
57271            pub fn pd4(&self) -> PD4_R {
57272                PD4_R::new(((self.bits >> 4) & 0x01) != 0)
57273            }
57274            ///Bit 3 - Port D pull-down bit y (y=0..15)
57275            #[inline(always)]
57276            pub fn pd3(&self) -> PD3_R {
57277                PD3_R::new(((self.bits >> 3) & 0x01) != 0)
57278            }
57279            ///Bit 2 - Port D pull-down bit y (y=0..15)
57280            #[inline(always)]
57281            pub fn pd2(&self) -> PD2_R {
57282                PD2_R::new(((self.bits >> 2) & 0x01) != 0)
57283            }
57284            ///Bit 1 - Port D pull-down bit y (y=0..15)
57285            #[inline(always)]
57286            pub fn pd1(&self) -> PD1_R {
57287                PD1_R::new(((self.bits >> 1) & 0x01) != 0)
57288            }
57289            ///Bit 0 - Port D pull-down bit y (y=0..15)
57290            #[inline(always)]
57291            pub fn pd0(&self) -> PD0_R {
57292                PD0_R::new((self.bits & 0x01) != 0)
57293            }
57294        }
57295        impl W {
57296            ///Bit 15 - Port D pull-down bit y (y=0..15)
57297            #[inline(always)]
57298            pub fn pd15(&mut self) -> PD15_W {
57299                PD15_W { w: self }
57300            }
57301            ///Bit 14 - Port D pull-down bit y (y=0..15)
57302            #[inline(always)]
57303            pub fn pd14(&mut self) -> PD14_W {
57304                PD14_W { w: self }
57305            }
57306            ///Bit 13 - Port D pull-down bit y (y=0..15)
57307            #[inline(always)]
57308            pub fn pd13(&mut self) -> PD13_W {
57309                PD13_W { w: self }
57310            }
57311            ///Bit 12 - Port D pull-down bit y (y=0..15)
57312            #[inline(always)]
57313            pub fn pd12(&mut self) -> PD12_W {
57314                PD12_W { w: self }
57315            }
57316            ///Bit 11 - Port D pull-down bit y (y=0..15)
57317            #[inline(always)]
57318            pub fn pd11(&mut self) -> PD11_W {
57319                PD11_W { w: self }
57320            }
57321            ///Bit 10 - Port D pull-down bit y (y=0..15)
57322            #[inline(always)]
57323            pub fn pd10(&mut self) -> PD10_W {
57324                PD10_W { w: self }
57325            }
57326            ///Bit 9 - Port D pull-down bit y (y=0..15)
57327            #[inline(always)]
57328            pub fn pd9(&mut self) -> PD9_W {
57329                PD9_W { w: self }
57330            }
57331            ///Bit 8 - Port D pull-down bit y (y=0..15)
57332            #[inline(always)]
57333            pub fn pd8(&mut self) -> PD8_W {
57334                PD8_W { w: self }
57335            }
57336            ///Bit 7 - Port D pull-down bit y (y=0..15)
57337            #[inline(always)]
57338            pub fn pd7(&mut self) -> PD7_W {
57339                PD7_W { w: self }
57340            }
57341            ///Bit 6 - Port D pull-down bit y (y=0..15)
57342            #[inline(always)]
57343            pub fn pd6(&mut self) -> PD6_W {
57344                PD6_W { w: self }
57345            }
57346            ///Bit 5 - Port D pull-down bit y (y=0..15)
57347            #[inline(always)]
57348            pub fn pd5(&mut self) -> PD5_W {
57349                PD5_W { w: self }
57350            }
57351            ///Bit 4 - Port D pull-down bit y (y=0..15)
57352            #[inline(always)]
57353            pub fn pd4(&mut self) -> PD4_W {
57354                PD4_W { w: self }
57355            }
57356            ///Bit 3 - Port D pull-down bit y (y=0..15)
57357            #[inline(always)]
57358            pub fn pd3(&mut self) -> PD3_W {
57359                PD3_W { w: self }
57360            }
57361            ///Bit 2 - Port D pull-down bit y (y=0..15)
57362            #[inline(always)]
57363            pub fn pd2(&mut self) -> PD2_W {
57364                PD2_W { w: self }
57365            }
57366            ///Bit 1 - Port D pull-down bit y (y=0..15)
57367            #[inline(always)]
57368            pub fn pd1(&mut self) -> PD1_W {
57369                PD1_W { w: self }
57370            }
57371            ///Bit 0 - Port D pull-down bit y (y=0..15)
57372            #[inline(always)]
57373            pub fn pd0(&mut self) -> PD0_W {
57374                PD0_W { w: self }
57375            }
57376        }
57377    }
57378    ///Power Port E pull-up control register
57379    ///
57380    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
57381    ///
57382    ///For information about available fields see [pucre](pucre) module
57383    pub type PUCRE = crate::Reg<u32, _PUCRE>;
57384    #[allow(missing_docs)]
57385    #[doc(hidden)]
57386    pub struct _PUCRE;
57387    ///`read()` method returns [pucre::R](pucre::R) reader structure
57388    impl crate::Readable for PUCRE {}
57389    ///`write(|w| ..)` method takes [pucre::W](pucre::W) writer structure
57390    impl crate::Writable for PUCRE {}
57391    ///Power Port E pull-up control register
57392    pub mod pucre {
57393        ///Reader of register PUCRE
57394        pub type R = crate::R<u32, super::PUCRE>;
57395        ///Writer for register PUCRE
57396        pub type W = crate::W<u32, super::PUCRE>;
57397        ///Register PUCRE `reset()`'s with value 0
57398        impl crate::ResetValue for super::PUCRE {
57399            type Type = u32;
57400            #[inline(always)]
57401            fn reset_value() -> Self::Type {
57402                0
57403            }
57404        }
57405        ///Reader of field `PU4`
57406        pub type PU4_R = crate::R<bool, bool>;
57407        ///Write proxy for field `PU4`
57408        pub struct PU4_W<'a> {
57409            w: &'a mut W,
57410        }
57411        impl<'a> PU4_W<'a> {
57412            ///Sets the field bit
57413            #[inline(always)]
57414            pub fn set_bit(self) -> &'a mut W {
57415                self.bit(true)
57416            }
57417            ///Clears the field bit
57418            #[inline(always)]
57419            pub fn clear_bit(self) -> &'a mut W {
57420                self.bit(false)
57421            }
57422            ///Writes raw bits to the field
57423            #[inline(always)]
57424            pub fn bit(self, value: bool) -> &'a mut W {
57425                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
57426                self.w
57427            }
57428        }
57429        ///Reader of field `PU3`
57430        pub type PU3_R = crate::R<bool, bool>;
57431        ///Write proxy for field `PU3`
57432        pub struct PU3_W<'a> {
57433            w: &'a mut W,
57434        }
57435        impl<'a> PU3_W<'a> {
57436            ///Sets the field bit
57437            #[inline(always)]
57438            pub fn set_bit(self) -> &'a mut W {
57439                self.bit(true)
57440            }
57441            ///Clears the field bit
57442            #[inline(always)]
57443            pub fn clear_bit(self) -> &'a mut W {
57444                self.bit(false)
57445            }
57446            ///Writes raw bits to the field
57447            #[inline(always)]
57448            pub fn bit(self, value: bool) -> &'a mut W {
57449                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
57450                self.w
57451            }
57452        }
57453        ///Reader of field `PU2`
57454        pub type PU2_R = crate::R<bool, bool>;
57455        ///Write proxy for field `PU2`
57456        pub struct PU2_W<'a> {
57457            w: &'a mut W,
57458        }
57459        impl<'a> PU2_W<'a> {
57460            ///Sets the field bit
57461            #[inline(always)]
57462            pub fn set_bit(self) -> &'a mut W {
57463                self.bit(true)
57464            }
57465            ///Clears the field bit
57466            #[inline(always)]
57467            pub fn clear_bit(self) -> &'a mut W {
57468                self.bit(false)
57469            }
57470            ///Writes raw bits to the field
57471            #[inline(always)]
57472            pub fn bit(self, value: bool) -> &'a mut W {
57473                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
57474                self.w
57475            }
57476        }
57477        ///Reader of field `PU1`
57478        pub type PU1_R = crate::R<bool, bool>;
57479        ///Write proxy for field `PU1`
57480        pub struct PU1_W<'a> {
57481            w: &'a mut W,
57482        }
57483        impl<'a> PU1_W<'a> {
57484            ///Sets the field bit
57485            #[inline(always)]
57486            pub fn set_bit(self) -> &'a mut W {
57487                self.bit(true)
57488            }
57489            ///Clears the field bit
57490            #[inline(always)]
57491            pub fn clear_bit(self) -> &'a mut W {
57492                self.bit(false)
57493            }
57494            ///Writes raw bits to the field
57495            #[inline(always)]
57496            pub fn bit(self, value: bool) -> &'a mut W {
57497                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
57498                self.w
57499            }
57500        }
57501        ///Reader of field `PU0`
57502        pub type PU0_R = crate::R<bool, bool>;
57503        ///Write proxy for field `PU0`
57504        pub struct PU0_W<'a> {
57505            w: &'a mut W,
57506        }
57507        impl<'a> PU0_W<'a> {
57508            ///Sets the field bit
57509            #[inline(always)]
57510            pub fn set_bit(self) -> &'a mut W {
57511                self.bit(true)
57512            }
57513            ///Clears the field bit
57514            #[inline(always)]
57515            pub fn clear_bit(self) -> &'a mut W {
57516                self.bit(false)
57517            }
57518            ///Writes raw bits to the field
57519            #[inline(always)]
57520            pub fn bit(self, value: bool) -> &'a mut W {
57521                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
57522                self.w
57523            }
57524        }
57525        impl R {
57526            ///Bit 4 - Port E pull-up bit y (y=0..15)
57527            #[inline(always)]
57528            pub fn pu4(&self) -> PU4_R {
57529                PU4_R::new(((self.bits >> 4) & 0x01) != 0)
57530            }
57531            ///Bit 3 - Port E pull-up bit y (y=0..15)
57532            #[inline(always)]
57533            pub fn pu3(&self) -> PU3_R {
57534                PU3_R::new(((self.bits >> 3) & 0x01) != 0)
57535            }
57536            ///Bit 2 - Port E pull-up bit y (y=0..15)
57537            #[inline(always)]
57538            pub fn pu2(&self) -> PU2_R {
57539                PU2_R::new(((self.bits >> 2) & 0x01) != 0)
57540            }
57541            ///Bit 1 - Port E pull-up bit y (y=0..15)
57542            #[inline(always)]
57543            pub fn pu1(&self) -> PU1_R {
57544                PU1_R::new(((self.bits >> 1) & 0x01) != 0)
57545            }
57546            ///Bit 0 - Port E pull-up bit y (y=0..15)
57547            #[inline(always)]
57548            pub fn pu0(&self) -> PU0_R {
57549                PU0_R::new((self.bits & 0x01) != 0)
57550            }
57551        }
57552        impl W {
57553            ///Bit 4 - Port E pull-up bit y (y=0..15)
57554            #[inline(always)]
57555            pub fn pu4(&mut self) -> PU4_W {
57556                PU4_W { w: self }
57557            }
57558            ///Bit 3 - Port E pull-up bit y (y=0..15)
57559            #[inline(always)]
57560            pub fn pu3(&mut self) -> PU3_W {
57561                PU3_W { w: self }
57562            }
57563            ///Bit 2 - Port E pull-up bit y (y=0..15)
57564            #[inline(always)]
57565            pub fn pu2(&mut self) -> PU2_W {
57566                PU2_W { w: self }
57567            }
57568            ///Bit 1 - Port E pull-up bit y (y=0..15)
57569            #[inline(always)]
57570            pub fn pu1(&mut self) -> PU1_W {
57571                PU1_W { w: self }
57572            }
57573            ///Bit 0 - Port E pull-up bit y (y=0..15)
57574            #[inline(always)]
57575            pub fn pu0(&mut self) -> PU0_W {
57576                PU0_W { w: self }
57577            }
57578        }
57579    }
57580    ///Power Port E pull-down control register
57581    ///
57582    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
57583    ///
57584    ///For information about available fields see [pdcre](pdcre) module
57585    pub type PDCRE = crate::Reg<u32, _PDCRE>;
57586    #[allow(missing_docs)]
57587    #[doc(hidden)]
57588    pub struct _PDCRE;
57589    ///`read()` method returns [pdcre::R](pdcre::R) reader structure
57590    impl crate::Readable for PDCRE {}
57591    ///`write(|w| ..)` method takes [pdcre::W](pdcre::W) writer structure
57592    impl crate::Writable for PDCRE {}
57593    ///Power Port E pull-down control register
57594    pub mod pdcre {
57595        ///Reader of register PDCRE
57596        pub type R = crate::R<u32, super::PDCRE>;
57597        ///Writer for register PDCRE
57598        pub type W = crate::W<u32, super::PDCRE>;
57599        ///Register PDCRE `reset()`'s with value 0
57600        impl crate::ResetValue for super::PDCRE {
57601            type Type = u32;
57602            #[inline(always)]
57603            fn reset_value() -> Self::Type {
57604                0
57605            }
57606        }
57607        ///Reader of field `PD4`
57608        pub type PD4_R = crate::R<bool, bool>;
57609        ///Write proxy for field `PD4`
57610        pub struct PD4_W<'a> {
57611            w: &'a mut W,
57612        }
57613        impl<'a> PD4_W<'a> {
57614            ///Sets the field bit
57615            #[inline(always)]
57616            pub fn set_bit(self) -> &'a mut W {
57617                self.bit(true)
57618            }
57619            ///Clears the field bit
57620            #[inline(always)]
57621            pub fn clear_bit(self) -> &'a mut W {
57622                self.bit(false)
57623            }
57624            ///Writes raw bits to the field
57625            #[inline(always)]
57626            pub fn bit(self, value: bool) -> &'a mut W {
57627                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
57628                self.w
57629            }
57630        }
57631        ///Reader of field `PD3`
57632        pub type PD3_R = crate::R<bool, bool>;
57633        ///Write proxy for field `PD3`
57634        pub struct PD3_W<'a> {
57635            w: &'a mut W,
57636        }
57637        impl<'a> PD3_W<'a> {
57638            ///Sets the field bit
57639            #[inline(always)]
57640            pub fn set_bit(self) -> &'a mut W {
57641                self.bit(true)
57642            }
57643            ///Clears the field bit
57644            #[inline(always)]
57645            pub fn clear_bit(self) -> &'a mut W {
57646                self.bit(false)
57647            }
57648            ///Writes raw bits to the field
57649            #[inline(always)]
57650            pub fn bit(self, value: bool) -> &'a mut W {
57651                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
57652                self.w
57653            }
57654        }
57655        ///Reader of field `PD2`
57656        pub type PD2_R = crate::R<bool, bool>;
57657        ///Write proxy for field `PD2`
57658        pub struct PD2_W<'a> {
57659            w: &'a mut W,
57660        }
57661        impl<'a> PD2_W<'a> {
57662            ///Sets the field bit
57663            #[inline(always)]
57664            pub fn set_bit(self) -> &'a mut W {
57665                self.bit(true)
57666            }
57667            ///Clears the field bit
57668            #[inline(always)]
57669            pub fn clear_bit(self) -> &'a mut W {
57670                self.bit(false)
57671            }
57672            ///Writes raw bits to the field
57673            #[inline(always)]
57674            pub fn bit(self, value: bool) -> &'a mut W {
57675                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
57676                self.w
57677            }
57678        }
57679        ///Reader of field `PD1`
57680        pub type PD1_R = crate::R<bool, bool>;
57681        ///Write proxy for field `PD1`
57682        pub struct PD1_W<'a> {
57683            w: &'a mut W,
57684        }
57685        impl<'a> PD1_W<'a> {
57686            ///Sets the field bit
57687            #[inline(always)]
57688            pub fn set_bit(self) -> &'a mut W {
57689                self.bit(true)
57690            }
57691            ///Clears the field bit
57692            #[inline(always)]
57693            pub fn clear_bit(self) -> &'a mut W {
57694                self.bit(false)
57695            }
57696            ///Writes raw bits to the field
57697            #[inline(always)]
57698            pub fn bit(self, value: bool) -> &'a mut W {
57699                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
57700                self.w
57701            }
57702        }
57703        ///Reader of field `PD0`
57704        pub type PD0_R = crate::R<bool, bool>;
57705        ///Write proxy for field `PD0`
57706        pub struct PD0_W<'a> {
57707            w: &'a mut W,
57708        }
57709        impl<'a> PD0_W<'a> {
57710            ///Sets the field bit
57711            #[inline(always)]
57712            pub fn set_bit(self) -> &'a mut W {
57713                self.bit(true)
57714            }
57715            ///Clears the field bit
57716            #[inline(always)]
57717            pub fn clear_bit(self) -> &'a mut W {
57718                self.bit(false)
57719            }
57720            ///Writes raw bits to the field
57721            #[inline(always)]
57722            pub fn bit(self, value: bool) -> &'a mut W {
57723                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
57724                self.w
57725            }
57726        }
57727        impl R {
57728            ///Bit 4 - Port E pull-down bit y (y=0..15)
57729            #[inline(always)]
57730            pub fn pd4(&self) -> PD4_R {
57731                PD4_R::new(((self.bits >> 4) & 0x01) != 0)
57732            }
57733            ///Bit 3 - Port E pull-down bit y (y=0..15)
57734            #[inline(always)]
57735            pub fn pd3(&self) -> PD3_R {
57736                PD3_R::new(((self.bits >> 3) & 0x01) != 0)
57737            }
57738            ///Bit 2 - Port E pull-down bit y (y=0..15)
57739            #[inline(always)]
57740            pub fn pd2(&self) -> PD2_R {
57741                PD2_R::new(((self.bits >> 2) & 0x01) != 0)
57742            }
57743            ///Bit 1 - Port E pull-down bit y (y=0..15)
57744            #[inline(always)]
57745            pub fn pd1(&self) -> PD1_R {
57746                PD1_R::new(((self.bits >> 1) & 0x01) != 0)
57747            }
57748            ///Bit 0 - Port E pull-down bit y (y=0..15)
57749            #[inline(always)]
57750            pub fn pd0(&self) -> PD0_R {
57751                PD0_R::new((self.bits & 0x01) != 0)
57752            }
57753        }
57754        impl W {
57755            ///Bit 4 - Port E pull-down bit y (y=0..15)
57756            #[inline(always)]
57757            pub fn pd4(&mut self) -> PD4_W {
57758                PD4_W { w: self }
57759            }
57760            ///Bit 3 - Port E pull-down bit y (y=0..15)
57761            #[inline(always)]
57762            pub fn pd3(&mut self) -> PD3_W {
57763                PD3_W { w: self }
57764            }
57765            ///Bit 2 - Port E pull-down bit y (y=0..15)
57766            #[inline(always)]
57767            pub fn pd2(&mut self) -> PD2_W {
57768                PD2_W { w: self }
57769            }
57770            ///Bit 1 - Port E pull-down bit y (y=0..15)
57771            #[inline(always)]
57772            pub fn pd1(&mut self) -> PD1_W {
57773                PD1_W { w: self }
57774            }
57775            ///Bit 0 - Port E pull-down bit y (y=0..15)
57776            #[inline(always)]
57777            pub fn pd0(&mut self) -> PD0_W {
57778                PD0_W { w: self }
57779            }
57780        }
57781    }
57782    ///Power Port H pull-up control register
57783    ///
57784    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
57785    ///
57786    ///For information about available fields see [pucrh](pucrh) module
57787    pub type PUCRH = crate::Reg<u32, _PUCRH>;
57788    #[allow(missing_docs)]
57789    #[doc(hidden)]
57790    pub struct _PUCRH;
57791    ///`read()` method returns [pucrh::R](pucrh::R) reader structure
57792    impl crate::Readable for PUCRH {}
57793    ///`write(|w| ..)` method takes [pucrh::W](pucrh::W) writer structure
57794    impl crate::Writable for PUCRH {}
57795    ///Power Port H pull-up control register
57796    pub mod pucrh {
57797        ///Reader of register PUCRH
57798        pub type R = crate::R<u32, super::PUCRH>;
57799        ///Writer for register PUCRH
57800        pub type W = crate::W<u32, super::PUCRH>;
57801        ///Register PUCRH `reset()`'s with value 0
57802        impl crate::ResetValue for super::PUCRH {
57803            type Type = u32;
57804            #[inline(always)]
57805            fn reset_value() -> Self::Type {
57806                0
57807            }
57808        }
57809        ///Reader of field `PU3`
57810        pub type PU3_R = crate::R<bool, bool>;
57811        ///Write proxy for field `PU3`
57812        pub struct PU3_W<'a> {
57813            w: &'a mut W,
57814        }
57815        impl<'a> PU3_W<'a> {
57816            ///Sets the field bit
57817            #[inline(always)]
57818            pub fn set_bit(self) -> &'a mut W {
57819                self.bit(true)
57820            }
57821            ///Clears the field bit
57822            #[inline(always)]
57823            pub fn clear_bit(self) -> &'a mut W {
57824                self.bit(false)
57825            }
57826            ///Writes raw bits to the field
57827            #[inline(always)]
57828            pub fn bit(self, value: bool) -> &'a mut W {
57829                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
57830                self.w
57831            }
57832        }
57833        ///Reader of field `PU1`
57834        pub type PU1_R = crate::R<bool, bool>;
57835        ///Write proxy for field `PU1`
57836        pub struct PU1_W<'a> {
57837            w: &'a mut W,
57838        }
57839        impl<'a> PU1_W<'a> {
57840            ///Sets the field bit
57841            #[inline(always)]
57842            pub fn set_bit(self) -> &'a mut W {
57843                self.bit(true)
57844            }
57845            ///Clears the field bit
57846            #[inline(always)]
57847            pub fn clear_bit(self) -> &'a mut W {
57848                self.bit(false)
57849            }
57850            ///Writes raw bits to the field
57851            #[inline(always)]
57852            pub fn bit(self, value: bool) -> &'a mut W {
57853                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
57854                self.w
57855            }
57856        }
57857        ///Reader of field `PU0`
57858        pub type PU0_R = crate::R<bool, bool>;
57859        ///Write proxy for field `PU0`
57860        pub struct PU0_W<'a> {
57861            w: &'a mut W,
57862        }
57863        impl<'a> PU0_W<'a> {
57864            ///Sets the field bit
57865            #[inline(always)]
57866            pub fn set_bit(self) -> &'a mut W {
57867                self.bit(true)
57868            }
57869            ///Clears the field bit
57870            #[inline(always)]
57871            pub fn clear_bit(self) -> &'a mut W {
57872                self.bit(false)
57873            }
57874            ///Writes raw bits to the field
57875            #[inline(always)]
57876            pub fn bit(self, value: bool) -> &'a mut W {
57877                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
57878                self.w
57879            }
57880        }
57881        impl R {
57882            ///Bit 3 - Port H pull-up bit y (y=0..1)
57883            #[inline(always)]
57884            pub fn pu3(&self) -> PU3_R {
57885                PU3_R::new(((self.bits >> 3) & 0x01) != 0)
57886            }
57887            ///Bit 1 - Port H pull-up bit y (y=0..1)
57888            #[inline(always)]
57889            pub fn pu1(&self) -> PU1_R {
57890                PU1_R::new(((self.bits >> 1) & 0x01) != 0)
57891            }
57892            ///Bit 0 - Port H pull-up bit y (y=0..1)
57893            #[inline(always)]
57894            pub fn pu0(&self) -> PU0_R {
57895                PU0_R::new((self.bits & 0x01) != 0)
57896            }
57897        }
57898        impl W {
57899            ///Bit 3 - Port H pull-up bit y (y=0..1)
57900            #[inline(always)]
57901            pub fn pu3(&mut self) -> PU3_W {
57902                PU3_W { w: self }
57903            }
57904            ///Bit 1 - Port H pull-up bit y (y=0..1)
57905            #[inline(always)]
57906            pub fn pu1(&mut self) -> PU1_W {
57907                PU1_W { w: self }
57908            }
57909            ///Bit 0 - Port H pull-up bit y (y=0..1)
57910            #[inline(always)]
57911            pub fn pu0(&mut self) -> PU0_W {
57912                PU0_W { w: self }
57913            }
57914        }
57915    }
57916    ///Power Port H pull-down control register
57917    ///
57918    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
57919    ///
57920    ///For information about available fields see [pdcrh](pdcrh) module
57921    pub type PDCRH = crate::Reg<u32, _PDCRH>;
57922    #[allow(missing_docs)]
57923    #[doc(hidden)]
57924    pub struct _PDCRH;
57925    ///`read()` method returns [pdcrh::R](pdcrh::R) reader structure
57926    impl crate::Readable for PDCRH {}
57927    ///`write(|w| ..)` method takes [pdcrh::W](pdcrh::W) writer structure
57928    impl crate::Writable for PDCRH {}
57929    ///Power Port H pull-down control register
57930    pub mod pdcrh {
57931        ///Reader of register PDCRH
57932        pub type R = crate::R<u32, super::PDCRH>;
57933        ///Writer for register PDCRH
57934        pub type W = crate::W<u32, super::PDCRH>;
57935        ///Register PDCRH `reset()`'s with value 0
57936        impl crate::ResetValue for super::PDCRH {
57937            type Type = u32;
57938            #[inline(always)]
57939            fn reset_value() -> Self::Type {
57940                0
57941            }
57942        }
57943        ///Reader of field `PD3`
57944        pub type PD3_R = crate::R<bool, bool>;
57945        ///Write proxy for field `PD3`
57946        pub struct PD3_W<'a> {
57947            w: &'a mut W,
57948        }
57949        impl<'a> PD3_W<'a> {
57950            ///Sets the field bit
57951            #[inline(always)]
57952            pub fn set_bit(self) -> &'a mut W {
57953                self.bit(true)
57954            }
57955            ///Clears the field bit
57956            #[inline(always)]
57957            pub fn clear_bit(self) -> &'a mut W {
57958                self.bit(false)
57959            }
57960            ///Writes raw bits to the field
57961            #[inline(always)]
57962            pub fn bit(self, value: bool) -> &'a mut W {
57963                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
57964                self.w
57965            }
57966        }
57967        ///Reader of field `PD1`
57968        pub type PD1_R = crate::R<bool, bool>;
57969        ///Write proxy for field `PD1`
57970        pub struct PD1_W<'a> {
57971            w: &'a mut W,
57972        }
57973        impl<'a> PD1_W<'a> {
57974            ///Sets the field bit
57975            #[inline(always)]
57976            pub fn set_bit(self) -> &'a mut W {
57977                self.bit(true)
57978            }
57979            ///Clears the field bit
57980            #[inline(always)]
57981            pub fn clear_bit(self) -> &'a mut W {
57982                self.bit(false)
57983            }
57984            ///Writes raw bits to the field
57985            #[inline(always)]
57986            pub fn bit(self, value: bool) -> &'a mut W {
57987                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
57988                self.w
57989            }
57990        }
57991        ///Reader of field `PD0`
57992        pub type PD0_R = crate::R<bool, bool>;
57993        ///Write proxy for field `PD0`
57994        pub struct PD0_W<'a> {
57995            w: &'a mut W,
57996        }
57997        impl<'a> PD0_W<'a> {
57998            ///Sets the field bit
57999            #[inline(always)]
58000            pub fn set_bit(self) -> &'a mut W {
58001                self.bit(true)
58002            }
58003            ///Clears the field bit
58004            #[inline(always)]
58005            pub fn clear_bit(self) -> &'a mut W {
58006                self.bit(false)
58007            }
58008            ///Writes raw bits to the field
58009            #[inline(always)]
58010            pub fn bit(self, value: bool) -> &'a mut W {
58011                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
58012                self.w
58013            }
58014        }
58015        impl R {
58016            ///Bit 3 - Port H pull-down bit y (y=0..1)
58017            #[inline(always)]
58018            pub fn pd3(&self) -> PD3_R {
58019                PD3_R::new(((self.bits >> 3) & 0x01) != 0)
58020            }
58021            ///Bit 1 - Port H pull-down bit y (y=0..1)
58022            #[inline(always)]
58023            pub fn pd1(&self) -> PD1_R {
58024                PD1_R::new(((self.bits >> 1) & 0x01) != 0)
58025            }
58026            ///Bit 0 - Port H pull-down bit y (y=0..1)
58027            #[inline(always)]
58028            pub fn pd0(&self) -> PD0_R {
58029                PD0_R::new((self.bits & 0x01) != 0)
58030            }
58031        }
58032        impl W {
58033            ///Bit 3 - Port H pull-down bit y (y=0..1)
58034            #[inline(always)]
58035            pub fn pd3(&mut self) -> PD3_W {
58036                PD3_W { w: self }
58037            }
58038            ///Bit 1 - Port H pull-down bit y (y=0..1)
58039            #[inline(always)]
58040            pub fn pd1(&mut self) -> PD1_W {
58041                PD1_W { w: self }
58042            }
58043            ///Bit 0 - Port H pull-down bit y (y=0..1)
58044            #[inline(always)]
58045            pub fn pd0(&mut self) -> PD0_W {
58046                PD0_W { w: self }
58047            }
58048        }
58049    }
58050    ///CPU2 Power control register 1
58051    ///
58052    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
58053    ///
58054    ///For information about available fields see [c2cr1](c2cr1) module
58055    pub type C2CR1 = crate::Reg<u32, _C2CR1>;
58056    #[allow(missing_docs)]
58057    #[doc(hidden)]
58058    pub struct _C2CR1;
58059    ///`read()` method returns [c2cr1::R](c2cr1::R) reader structure
58060    impl crate::Readable for C2CR1 {}
58061    ///`write(|w| ..)` method takes [c2cr1::W](c2cr1::W) writer structure
58062    impl crate::Writable for C2CR1 {}
58063    ///CPU2 Power control register 1
58064    pub mod c2cr1 {
58065        ///Reader of register C2CR1
58066        pub type R = crate::R<u32, super::C2CR1>;
58067        ///Writer for register C2CR1
58068        pub type W = crate::W<u32, super::C2CR1>;
58069        ///Register C2CR1 `reset()`'s with value 0
58070        impl crate::ResetValue for super::C2CR1 {
58071            type Type = u32;
58072            #[inline(always)]
58073            fn reset_value() -> Self::Type {
58074                0
58075            }
58076        }
58077        ///Reader of field `_802EWKUP`
58078        pub type _802EWKUP_R = crate::R<bool, bool>;
58079        ///Write proxy for field `_802EWKUP`
58080        pub struct _802EWKUP_W<'a> {
58081            w: &'a mut W,
58082        }
58083        impl<'a> _802EWKUP_W<'a> {
58084            ///Sets the field bit
58085            #[inline(always)]
58086            pub fn set_bit(self) -> &'a mut W {
58087                self.bit(true)
58088            }
58089            ///Clears the field bit
58090            #[inline(always)]
58091            pub fn clear_bit(self) -> &'a mut W {
58092                self.bit(false)
58093            }
58094            ///Writes raw bits to the field
58095            #[inline(always)]
58096            pub fn bit(self, value: bool) -> &'a mut W {
58097                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
58098                self.w
58099            }
58100        }
58101        ///Reader of field `BLEEWKUP`
58102        pub type BLEEWKUP_R = crate::R<bool, bool>;
58103        ///Write proxy for field `BLEEWKUP`
58104        pub struct BLEEWKUP_W<'a> {
58105            w: &'a mut W,
58106        }
58107        impl<'a> BLEEWKUP_W<'a> {
58108            ///Sets the field bit
58109            #[inline(always)]
58110            pub fn set_bit(self) -> &'a mut W {
58111                self.bit(true)
58112            }
58113            ///Clears the field bit
58114            #[inline(always)]
58115            pub fn clear_bit(self) -> &'a mut W {
58116                self.bit(false)
58117            }
58118            ///Writes raw bits to the field
58119            #[inline(always)]
58120            pub fn bit(self, value: bool) -> &'a mut W {
58121                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
58122                self.w
58123            }
58124        }
58125        ///Reader of field `FPDS`
58126        pub type FPDS_R = crate::R<bool, bool>;
58127        ///Write proxy for field `FPDS`
58128        pub struct FPDS_W<'a> {
58129            w: &'a mut W,
58130        }
58131        impl<'a> FPDS_W<'a> {
58132            ///Sets the field bit
58133            #[inline(always)]
58134            pub fn set_bit(self) -> &'a mut W {
58135                self.bit(true)
58136            }
58137            ///Clears the field bit
58138            #[inline(always)]
58139            pub fn clear_bit(self) -> &'a mut W {
58140                self.bit(false)
58141            }
58142            ///Writes raw bits to the field
58143            #[inline(always)]
58144            pub fn bit(self, value: bool) -> &'a mut W {
58145                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
58146                self.w
58147            }
58148        }
58149        ///Reader of field `FPDR`
58150        pub type FPDR_R = crate::R<bool, bool>;
58151        ///Write proxy for field `FPDR`
58152        pub struct FPDR_W<'a> {
58153            w: &'a mut W,
58154        }
58155        impl<'a> FPDR_W<'a> {
58156            ///Sets the field bit
58157            #[inline(always)]
58158            pub fn set_bit(self) -> &'a mut W {
58159                self.bit(true)
58160            }
58161            ///Clears the field bit
58162            #[inline(always)]
58163            pub fn clear_bit(self) -> &'a mut W {
58164                self.bit(false)
58165            }
58166            ///Writes raw bits to the field
58167            #[inline(always)]
58168            pub fn bit(self, value: bool) -> &'a mut W {
58169                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
58170                self.w
58171            }
58172        }
58173        ///Reader of field `LPMS`
58174        pub type LPMS_R = crate::R<u8, u8>;
58175        ///Write proxy for field `LPMS`
58176        pub struct LPMS_W<'a> {
58177            w: &'a mut W,
58178        }
58179        impl<'a> LPMS_W<'a> {
58180            ///Writes raw bits to the field
58181            #[inline(always)]
58182            pub unsafe fn bits(self, value: u8) -> &'a mut W {
58183                self.w.bits = (self.w.bits & !0x07) | ((value as u32) & 0x07);
58184                self.w
58185            }
58186        }
58187        impl R {
58188            ///Bit 15 - 802.15.4 external wakeup signal
58189            #[inline(always)]
58190            pub fn _802ewkup(&self) -> _802EWKUP_R {
58191                _802EWKUP_R::new(((self.bits >> 15) & 0x01) != 0)
58192            }
58193            ///Bit 14 - BLE external wakeup signal
58194            #[inline(always)]
58195            pub fn bleewkup(&self) -> BLEEWKUP_R {
58196                BLEEWKUP_R::new(((self.bits >> 14) & 0x01) != 0)
58197            }
58198            ///Bit 5 - Flash power down mode during LPSleep for CPU2
58199            #[inline(always)]
58200            pub fn fpds(&self) -> FPDS_R {
58201                FPDS_R::new(((self.bits >> 5) & 0x01) != 0)
58202            }
58203            ///Bit 4 - Flash power down mode during LPRun for CPU2
58204            #[inline(always)]
58205            pub fn fpdr(&self) -> FPDR_R {
58206                FPDR_R::new(((self.bits >> 4) & 0x01) != 0)
58207            }
58208            ///Bits 0:2 - Low-power mode selection for CPU2
58209            #[inline(always)]
58210            pub fn lpms(&self) -> LPMS_R {
58211                LPMS_R::new((self.bits & 0x07) as u8)
58212            }
58213        }
58214        impl W {
58215            ///Bit 15 - 802.15.4 external wakeup signal
58216            #[inline(always)]
58217            pub fn _802ewkup(&mut self) -> _802EWKUP_W {
58218                _802EWKUP_W { w: self }
58219            }
58220            ///Bit 14 - BLE external wakeup signal
58221            #[inline(always)]
58222            pub fn bleewkup(&mut self) -> BLEEWKUP_W {
58223                BLEEWKUP_W { w: self }
58224            }
58225            ///Bit 5 - Flash power down mode during LPSleep for CPU2
58226            #[inline(always)]
58227            pub fn fpds(&mut self) -> FPDS_W {
58228                FPDS_W { w: self }
58229            }
58230            ///Bit 4 - Flash power down mode during LPRun for CPU2
58231            #[inline(always)]
58232            pub fn fpdr(&mut self) -> FPDR_W {
58233                FPDR_W { w: self }
58234            }
58235            ///Bits 0:2 - Low-power mode selection for CPU2
58236            #[inline(always)]
58237            pub fn lpms(&mut self) -> LPMS_W {
58238                LPMS_W { w: self }
58239            }
58240        }
58241    }
58242    ///CPU2 Power control register 3
58243    ///
58244    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
58245    ///
58246    ///For information about available fields see [c2cr3](c2cr3) module
58247    pub type C2CR3 = crate::Reg<u32, _C2CR3>;
58248    #[allow(missing_docs)]
58249    #[doc(hidden)]
58250    pub struct _C2CR3;
58251    ///`read()` method returns [c2cr3::R](c2cr3::R) reader structure
58252    impl crate::Readable for C2CR3 {}
58253    ///`write(|w| ..)` method takes [c2cr3::W](c2cr3::W) writer structure
58254    impl crate::Writable for C2CR3 {}
58255    ///CPU2 Power control register 3
58256    pub mod c2cr3 {
58257        ///Reader of register C2CR3
58258        pub type R = crate::R<u32, super::C2CR3>;
58259        ///Writer for register C2CR3
58260        pub type W = crate::W<u32, super::C2CR3>;
58261        ///Register C2CR3 `reset()`'s with value 0x8000
58262        impl crate::ResetValue for super::C2CR3 {
58263            type Type = u32;
58264            #[inline(always)]
58265            fn reset_value() -> Self::Type {
58266                0x8000
58267            }
58268        }
58269        ///Reader of field `EIWUL`
58270        pub type EIWUL_R = crate::R<bool, bool>;
58271        ///Write proxy for field `EIWUL`
58272        pub struct EIWUL_W<'a> {
58273            w: &'a mut W,
58274        }
58275        impl<'a> EIWUL_W<'a> {
58276            ///Sets the field bit
58277            #[inline(always)]
58278            pub fn set_bit(self) -> &'a mut W {
58279                self.bit(true)
58280            }
58281            ///Clears the field bit
58282            #[inline(always)]
58283            pub fn clear_bit(self) -> &'a mut W {
58284                self.bit(false)
58285            }
58286            ///Writes raw bits to the field
58287            #[inline(always)]
58288            pub fn bit(self, value: bool) -> &'a mut W {
58289                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
58290                self.w
58291            }
58292        }
58293        ///Reader of field `APC`
58294        pub type APC_R = crate::R<bool, bool>;
58295        ///Write proxy for field `APC`
58296        pub struct APC_W<'a> {
58297            w: &'a mut W,
58298        }
58299        impl<'a> APC_W<'a> {
58300            ///Sets the field bit
58301            #[inline(always)]
58302            pub fn set_bit(self) -> &'a mut W {
58303                self.bit(true)
58304            }
58305            ///Clears the field bit
58306            #[inline(always)]
58307            pub fn clear_bit(self) -> &'a mut W {
58308                self.bit(false)
58309            }
58310            ///Writes raw bits to the field
58311            #[inline(always)]
58312            pub fn bit(self, value: bool) -> &'a mut W {
58313                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
58314                self.w
58315            }
58316        }
58317        ///Reader of field `E802WUP`
58318        pub type E802WUP_R = crate::R<bool, bool>;
58319        ///Write proxy for field `E802WUP`
58320        pub struct E802WUP_W<'a> {
58321            w: &'a mut W,
58322        }
58323        impl<'a> E802WUP_W<'a> {
58324            ///Sets the field bit
58325            #[inline(always)]
58326            pub fn set_bit(self) -> &'a mut W {
58327                self.bit(true)
58328            }
58329            ///Clears the field bit
58330            #[inline(always)]
58331            pub fn clear_bit(self) -> &'a mut W {
58332                self.bit(false)
58333            }
58334            ///Writes raw bits to the field
58335            #[inline(always)]
58336            pub fn bit(self, value: bool) -> &'a mut W {
58337                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
58338                self.w
58339            }
58340        }
58341        ///Reader of field `EBLEWUP`
58342        pub type EBLEWUP_R = crate::R<bool, bool>;
58343        ///Write proxy for field `EBLEWUP`
58344        pub struct EBLEWUP_W<'a> {
58345            w: &'a mut W,
58346        }
58347        impl<'a> EBLEWUP_W<'a> {
58348            ///Sets the field bit
58349            #[inline(always)]
58350            pub fn set_bit(self) -> &'a mut W {
58351                self.bit(true)
58352            }
58353            ///Clears the field bit
58354            #[inline(always)]
58355            pub fn clear_bit(self) -> &'a mut W {
58356                self.bit(false)
58357            }
58358            ///Writes raw bits to the field
58359            #[inline(always)]
58360            pub fn bit(self, value: bool) -> &'a mut W {
58361                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
58362                self.w
58363            }
58364        }
58365        ///Reader of field `EWUP5`
58366        pub type EWUP5_R = crate::R<bool, bool>;
58367        ///Write proxy for field `EWUP5`
58368        pub struct EWUP5_W<'a> {
58369            w: &'a mut W,
58370        }
58371        impl<'a> EWUP5_W<'a> {
58372            ///Sets the field bit
58373            #[inline(always)]
58374            pub fn set_bit(self) -> &'a mut W {
58375                self.bit(true)
58376            }
58377            ///Clears the field bit
58378            #[inline(always)]
58379            pub fn clear_bit(self) -> &'a mut W {
58380                self.bit(false)
58381            }
58382            ///Writes raw bits to the field
58383            #[inline(always)]
58384            pub fn bit(self, value: bool) -> &'a mut W {
58385                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
58386                self.w
58387            }
58388        }
58389        ///Reader of field `EWUP4`
58390        pub type EWUP4_R = crate::R<bool, bool>;
58391        ///Write proxy for field `EWUP4`
58392        pub struct EWUP4_W<'a> {
58393            w: &'a mut W,
58394        }
58395        impl<'a> EWUP4_W<'a> {
58396            ///Sets the field bit
58397            #[inline(always)]
58398            pub fn set_bit(self) -> &'a mut W {
58399                self.bit(true)
58400            }
58401            ///Clears the field bit
58402            #[inline(always)]
58403            pub fn clear_bit(self) -> &'a mut W {
58404                self.bit(false)
58405            }
58406            ///Writes raw bits to the field
58407            #[inline(always)]
58408            pub fn bit(self, value: bool) -> &'a mut W {
58409                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
58410                self.w
58411            }
58412        }
58413        ///Reader of field `EWUP3`
58414        pub type EWUP3_R = crate::R<bool, bool>;
58415        ///Write proxy for field `EWUP3`
58416        pub struct EWUP3_W<'a> {
58417            w: &'a mut W,
58418        }
58419        impl<'a> EWUP3_W<'a> {
58420            ///Sets the field bit
58421            #[inline(always)]
58422            pub fn set_bit(self) -> &'a mut W {
58423                self.bit(true)
58424            }
58425            ///Clears the field bit
58426            #[inline(always)]
58427            pub fn clear_bit(self) -> &'a mut W {
58428                self.bit(false)
58429            }
58430            ///Writes raw bits to the field
58431            #[inline(always)]
58432            pub fn bit(self, value: bool) -> &'a mut W {
58433                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
58434                self.w
58435            }
58436        }
58437        ///Reader of field `EWUP2`
58438        pub type EWUP2_R = crate::R<bool, bool>;
58439        ///Write proxy for field `EWUP2`
58440        pub struct EWUP2_W<'a> {
58441            w: &'a mut W,
58442        }
58443        impl<'a> EWUP2_W<'a> {
58444            ///Sets the field bit
58445            #[inline(always)]
58446            pub fn set_bit(self) -> &'a mut W {
58447                self.bit(true)
58448            }
58449            ///Clears the field bit
58450            #[inline(always)]
58451            pub fn clear_bit(self) -> &'a mut W {
58452                self.bit(false)
58453            }
58454            ///Writes raw bits to the field
58455            #[inline(always)]
58456            pub fn bit(self, value: bool) -> &'a mut W {
58457                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
58458                self.w
58459            }
58460        }
58461        ///Reader of field `EWUP1`
58462        pub type EWUP1_R = crate::R<bool, bool>;
58463        ///Write proxy for field `EWUP1`
58464        pub struct EWUP1_W<'a> {
58465            w: &'a mut W,
58466        }
58467        impl<'a> EWUP1_W<'a> {
58468            ///Sets the field bit
58469            #[inline(always)]
58470            pub fn set_bit(self) -> &'a mut W {
58471                self.bit(true)
58472            }
58473            ///Clears the field bit
58474            #[inline(always)]
58475            pub fn clear_bit(self) -> &'a mut W {
58476                self.bit(false)
58477            }
58478            ///Writes raw bits to the field
58479            #[inline(always)]
58480            pub fn bit(self, value: bool) -> &'a mut W {
58481                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
58482                self.w
58483            }
58484        }
58485        impl R {
58486            ///Bit 15 - Enable internal wakeup line for CPU2
58487            #[inline(always)]
58488            pub fn eiwul(&self) -> EIWUL_R {
58489                EIWUL_R::new(((self.bits >> 15) & 0x01) != 0)
58490            }
58491            ///Bit 12 - Apply pull-up and pull-down configuration for CPU2
58492            #[inline(always)]
58493            pub fn apc(&self) -> APC_R {
58494                APC_R::new(((self.bits >> 12) & 0x01) != 0)
58495            }
58496            ///Bit 10 - Enable 802.15.4 host wakeup interrupt for CPU2
58497            #[inline(always)]
58498            pub fn e802wup(&self) -> E802WUP_R {
58499                E802WUP_R::new(((self.bits >> 10) & 0x01) != 0)
58500            }
58501            ///Bit 9 - Enable BLE host wakeup interrupt for CPU2
58502            #[inline(always)]
58503            pub fn eblewup(&self) -> EBLEWUP_R {
58504                EBLEWUP_R::new(((self.bits >> 9) & 0x01) != 0)
58505            }
58506            ///Bit 4 - Enable Wakeup pin WKUP5 for CPU2
58507            #[inline(always)]
58508            pub fn ewup5(&self) -> EWUP5_R {
58509                EWUP5_R::new(((self.bits >> 4) & 0x01) != 0)
58510            }
58511            ///Bit 3 - Enable Wakeup pin WKUP4 for CPU2
58512            #[inline(always)]
58513            pub fn ewup4(&self) -> EWUP4_R {
58514                EWUP4_R::new(((self.bits >> 3) & 0x01) != 0)
58515            }
58516            ///Bit 2 - Enable Wakeup pin WKUP3 for CPU2
58517            #[inline(always)]
58518            pub fn ewup3(&self) -> EWUP3_R {
58519                EWUP3_R::new(((self.bits >> 2) & 0x01) != 0)
58520            }
58521            ///Bit 1 - Enable Wakeup pin WKUP2 for CPU2
58522            #[inline(always)]
58523            pub fn ewup2(&self) -> EWUP2_R {
58524                EWUP2_R::new(((self.bits >> 1) & 0x01) != 0)
58525            }
58526            ///Bit 0 - Enable Wakeup pin WKUP1 for CPU2
58527            #[inline(always)]
58528            pub fn ewup1(&self) -> EWUP1_R {
58529                EWUP1_R::new((self.bits & 0x01) != 0)
58530            }
58531        }
58532        impl W {
58533            ///Bit 15 - Enable internal wakeup line for CPU2
58534            #[inline(always)]
58535            pub fn eiwul(&mut self) -> EIWUL_W {
58536                EIWUL_W { w: self }
58537            }
58538            ///Bit 12 - Apply pull-up and pull-down configuration for CPU2
58539            #[inline(always)]
58540            pub fn apc(&mut self) -> APC_W {
58541                APC_W { w: self }
58542            }
58543            ///Bit 10 - Enable 802.15.4 host wakeup interrupt for CPU2
58544            #[inline(always)]
58545            pub fn e802wup(&mut self) -> E802WUP_W {
58546                E802WUP_W { w: self }
58547            }
58548            ///Bit 9 - Enable BLE host wakeup interrupt for CPU2
58549            #[inline(always)]
58550            pub fn eblewup(&mut self) -> EBLEWUP_W {
58551                EBLEWUP_W { w: self }
58552            }
58553            ///Bit 4 - Enable Wakeup pin WKUP5 for CPU2
58554            #[inline(always)]
58555            pub fn ewup5(&mut self) -> EWUP5_W {
58556                EWUP5_W { w: self }
58557            }
58558            ///Bit 3 - Enable Wakeup pin WKUP4 for CPU2
58559            #[inline(always)]
58560            pub fn ewup4(&mut self) -> EWUP4_W {
58561                EWUP4_W { w: self }
58562            }
58563            ///Bit 2 - Enable Wakeup pin WKUP3 for CPU2
58564            #[inline(always)]
58565            pub fn ewup3(&mut self) -> EWUP3_W {
58566                EWUP3_W { w: self }
58567            }
58568            ///Bit 1 - Enable Wakeup pin WKUP2 for CPU2
58569            #[inline(always)]
58570            pub fn ewup2(&mut self) -> EWUP2_W {
58571                EWUP2_W { w: self }
58572            }
58573            ///Bit 0 - Enable Wakeup pin WKUP1 for CPU2
58574            #[inline(always)]
58575            pub fn ewup1(&mut self) -> EWUP1_W {
58576                EWUP1_W { w: self }
58577            }
58578        }
58579    }
58580    ///Power status clear register
58581    ///
58582    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
58583    ///
58584    ///For information about available fields see [extscr](extscr) module
58585    pub type EXTSCR = crate::Reg<u32, _EXTSCR>;
58586    #[allow(missing_docs)]
58587    #[doc(hidden)]
58588    pub struct _EXTSCR;
58589    ///`read()` method returns [extscr::R](extscr::R) reader structure
58590    impl crate::Readable for EXTSCR {}
58591    ///`write(|w| ..)` method takes [extscr::W](extscr::W) writer structure
58592    impl crate::Writable for EXTSCR {}
58593    ///Power status clear register
58594    pub mod extscr {
58595        ///Reader of register EXTSCR
58596        pub type R = crate::R<u32, super::EXTSCR>;
58597        ///Writer for register EXTSCR
58598        pub type W = crate::W<u32, super::EXTSCR>;
58599        ///Register EXTSCR `reset()`'s with value 0
58600        impl crate::ResetValue for super::EXTSCR {
58601            type Type = u32;
58602            #[inline(always)]
58603            fn reset_value() -> Self::Type {
58604                0
58605            }
58606        }
58607        ///Reader of field `C2DS`
58608        pub type C2DS_R = crate::R<bool, bool>;
58609        ///Reader of field `C1DS`
58610        pub type C1DS_R = crate::R<bool, bool>;
58611        ///Reader of field `CRPF`
58612        pub type CRPF_R = crate::R<bool, bool>;
58613        ///Reader of field `C2STOPF`
58614        pub type C2STOPF_R = crate::R<bool, bool>;
58615        ///Reader of field `C2SBF`
58616        pub type C2SBF_R = crate::R<bool, bool>;
58617        ///Reader of field `C1STOPF`
58618        pub type C1STOPF_R = crate::R<bool, bool>;
58619        ///Reader of field `C1SBF`
58620        pub type C1SBF_R = crate::R<bool, bool>;
58621        ///Write proxy for field `CCRPF`
58622        pub struct CCRPF_W<'a> {
58623            w: &'a mut W,
58624        }
58625        impl<'a> CCRPF_W<'a> {
58626            ///Sets the field bit
58627            #[inline(always)]
58628            pub fn set_bit(self) -> &'a mut W {
58629                self.bit(true)
58630            }
58631            ///Clears the field bit
58632            #[inline(always)]
58633            pub fn clear_bit(self) -> &'a mut W {
58634                self.bit(false)
58635            }
58636            ///Writes raw bits to the field
58637            #[inline(always)]
58638            pub fn bit(self, value: bool) -> &'a mut W {
58639                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
58640                self.w
58641            }
58642        }
58643        ///Write proxy for field `C2CSSF`
58644        pub struct C2CSSF_W<'a> {
58645            w: &'a mut W,
58646        }
58647        impl<'a> C2CSSF_W<'a> {
58648            ///Sets the field bit
58649            #[inline(always)]
58650            pub fn set_bit(self) -> &'a mut W {
58651                self.bit(true)
58652            }
58653            ///Clears the field bit
58654            #[inline(always)]
58655            pub fn clear_bit(self) -> &'a mut W {
58656                self.bit(false)
58657            }
58658            ///Writes raw bits to the field
58659            #[inline(always)]
58660            pub fn bit(self, value: bool) -> &'a mut W {
58661                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
58662                self.w
58663            }
58664        }
58665        ///Write proxy for field `C1CSSF`
58666        pub struct C1CSSF_W<'a> {
58667            w: &'a mut W,
58668        }
58669        impl<'a> C1CSSF_W<'a> {
58670            ///Sets the field bit
58671            #[inline(always)]
58672            pub fn set_bit(self) -> &'a mut W {
58673                self.bit(true)
58674            }
58675            ///Clears the field bit
58676            #[inline(always)]
58677            pub fn clear_bit(self) -> &'a mut W {
58678                self.bit(false)
58679            }
58680            ///Writes raw bits to the field
58681            #[inline(always)]
58682            pub fn bit(self, value: bool) -> &'a mut W {
58683                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
58684                self.w
58685            }
58686        }
58687        impl R {
58688            ///Bit 15 - CPU2 deepsleep mode
58689            #[inline(always)]
58690            pub fn c2ds(&self) -> C2DS_R {
58691                C2DS_R::new(((self.bits >> 15) & 0x01) != 0)
58692            }
58693            ///Bit 14 - CPU1 deepsleep mode
58694            #[inline(always)]
58695            pub fn c1ds(&self) -> C1DS_R {
58696                C1DS_R::new(((self.bits >> 14) & 0x01) != 0)
58697            }
58698            ///Bit 13 - Critical Radio system phase
58699            #[inline(always)]
58700            pub fn crpf(&self) -> CRPF_R {
58701                CRPF_R::new(((self.bits >> 13) & 0x01) != 0)
58702            }
58703            ///Bit 11 - System Stop flag for CPU2
58704            #[inline(always)]
58705            pub fn c2stopf(&self) -> C2STOPF_R {
58706                C2STOPF_R::new(((self.bits >> 11) & 0x01) != 0)
58707            }
58708            ///Bit 10 - System Standby flag for CPU2
58709            #[inline(always)]
58710            pub fn c2sbf(&self) -> C2SBF_R {
58711                C2SBF_R::new(((self.bits >> 10) & 0x01) != 0)
58712            }
58713            ///Bit 9 - System Stop flag for CPU1
58714            #[inline(always)]
58715            pub fn c1stopf(&self) -> C1STOPF_R {
58716                C1STOPF_R::new(((self.bits >> 9) & 0x01) != 0)
58717            }
58718            ///Bit 8 - System Standby flag for CPU1
58719            #[inline(always)]
58720            pub fn c1sbf(&self) -> C1SBF_R {
58721                C1SBF_R::new(((self.bits >> 8) & 0x01) != 0)
58722            }
58723        }
58724        impl W {
58725            ///Bit 2 - Clear Critical Radio system phase
58726            #[inline(always)]
58727            pub fn ccrpf(&mut self) -> CCRPF_W {
58728                CCRPF_W { w: self }
58729            }
58730            ///Bit 1 - Clear CPU2 Stop Standby flags
58731            #[inline(always)]
58732            pub fn c2cssf(&mut self) -> C2CSSF_W {
58733                C2CSSF_W { w: self }
58734            }
58735            ///Bit 0 - Clear CPU1 Stop Standby flags
58736            #[inline(always)]
58737            pub fn c1cssf(&mut self) -> C1CSSF_W {
58738                C1CSSF_W { w: self }
58739            }
58740        }
58741    }
58742}
58743///System configuration controller
58744pub struct SYSCFG {
58745    _marker: PhantomData<*const ()>,
58746}
58747unsafe impl Send for SYSCFG {}
58748impl SYSCFG {
58749    ///Returns a pointer to the register block
58750    #[inline(always)]
58751    pub const fn ptr() -> *const syscfg::RegisterBlock {
58752        0x4001_0100 as *const _
58753    }
58754}
58755impl Deref for SYSCFG {
58756    type Target = syscfg::RegisterBlock;
58757    #[inline(always)]
58758    fn deref(&self) -> &Self::Target {
58759        unsafe { &*SYSCFG::ptr() }
58760    }
58761}
58762///System configuration controller
58763pub mod syscfg {
58764    ///Register block
58765    #[repr(C)]
58766    pub struct RegisterBlock {
58767        ///0x00 - memory remap register
58768        pub memrmp: MEMRMP,
58769        ///0x04 - configuration register 1
58770        pub cfgr1: CFGR1,
58771        ///0x08 - external interrupt configuration register 1
58772        pub exticr1: EXTICR1,
58773        ///0x0c - external interrupt configuration register 2
58774        pub exticr2: EXTICR2,
58775        ///0x10 - external interrupt configuration register 3
58776        pub exticr3: EXTICR3,
58777        ///0x14 - external interrupt configuration register 4
58778        pub exticr4: EXTICR4,
58779        ///0x18 - SCSR
58780        pub scsr: SCSR,
58781        ///0x1c - CFGR2
58782        pub cfgr2: CFGR2,
58783        ///0x20 - SRAM2 write protection register
58784        pub swpr: SWPR,
58785        ///0x24 - SKR
58786        pub skr: SKR,
58787        ///0x28 - SRAM2 write protection register 2
58788        pub swpr2: SWPR2,
58789        ///0x2c - CPU1 interrupt mask register 1
58790        pub imr1: IMR1,
58791        ///0x30 - CPU1 interrupt mask register 2
58792        pub imr2: IMR2,
58793        ///0x34 - CPU2 interrupt mask register 1
58794        pub c2imr1: C2IMR1,
58795        ///0x38 - CPU2 interrupt mask register 1
58796        pub c2imr2: C2IMR2,
58797        ///0x3c - secure IP control register
58798        pub sipcr: SIPCR,
58799    }
58800    ///memory remap register
58801    ///
58802    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
58803    ///
58804    ///For information about available fields see [memrmp](memrmp) module
58805    pub type MEMRMP = crate::Reg<u32, _MEMRMP>;
58806    #[allow(missing_docs)]
58807    #[doc(hidden)]
58808    pub struct _MEMRMP;
58809    ///`read()` method returns [memrmp::R](memrmp::R) reader structure
58810    impl crate::Readable for MEMRMP {}
58811    ///`write(|w| ..)` method takes [memrmp::W](memrmp::W) writer structure
58812    impl crate::Writable for MEMRMP {}
58813    ///memory remap register
58814    pub mod memrmp {
58815        ///Reader of register MEMRMP
58816        pub type R = crate::R<u32, super::MEMRMP>;
58817        ///Writer for register MEMRMP
58818        pub type W = crate::W<u32, super::MEMRMP>;
58819        ///Register MEMRMP `reset()`'s with value 0
58820        impl crate::ResetValue for super::MEMRMP {
58821            type Type = u32;
58822            #[inline(always)]
58823            fn reset_value() -> Self::Type {
58824                0
58825            }
58826        }
58827        ///Reader of field `MEM_MODE`
58828        pub type MEM_MODE_R = crate::R<u8, u8>;
58829        ///Write proxy for field `MEM_MODE`
58830        pub struct MEM_MODE_W<'a> {
58831            w: &'a mut W,
58832        }
58833        impl<'a> MEM_MODE_W<'a> {
58834            ///Writes raw bits to the field
58835            #[inline(always)]
58836            pub unsafe fn bits(self, value: u8) -> &'a mut W {
58837                self.w.bits = (self.w.bits & !0x07) | ((value as u32) & 0x07);
58838                self.w
58839            }
58840        }
58841        impl R {
58842            ///Bits 0:2 - Memory mapping selection
58843            #[inline(always)]
58844            pub fn mem_mode(&self) -> MEM_MODE_R {
58845                MEM_MODE_R::new((self.bits & 0x07) as u8)
58846            }
58847        }
58848        impl W {
58849            ///Bits 0:2 - Memory mapping selection
58850            #[inline(always)]
58851            pub fn mem_mode(&mut self) -> MEM_MODE_W {
58852                MEM_MODE_W { w: self }
58853            }
58854        }
58855    }
58856    ///configuration register 1
58857    ///
58858    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
58859    ///
58860    ///For information about available fields see [cfgr1](cfgr1) module
58861    pub type CFGR1 = crate::Reg<u32, _CFGR1>;
58862    #[allow(missing_docs)]
58863    #[doc(hidden)]
58864    pub struct _CFGR1;
58865    ///`read()` method returns [cfgr1::R](cfgr1::R) reader structure
58866    impl crate::Readable for CFGR1 {}
58867    ///`write(|w| ..)` method takes [cfgr1::W](cfgr1::W) writer structure
58868    impl crate::Writable for CFGR1 {}
58869    ///configuration register 1
58870    pub mod cfgr1 {
58871        ///Reader of register CFGR1
58872        pub type R = crate::R<u32, super::CFGR1>;
58873        ///Writer for register CFGR1
58874        pub type W = crate::W<u32, super::CFGR1>;
58875        ///Register CFGR1 `reset()`'s with value 0x7c00_0001
58876        impl crate::ResetValue for super::CFGR1 {
58877            type Type = u32;
58878            #[inline(always)]
58879            fn reset_value() -> Self::Type {
58880                0x7c00_0001
58881            }
58882        }
58883        ///Reader of field `FPU_IE`
58884        pub type FPU_IE_R = crate::R<u8, u8>;
58885        ///Write proxy for field `FPU_IE`
58886        pub struct FPU_IE_W<'a> {
58887            w: &'a mut W,
58888        }
58889        impl<'a> FPU_IE_W<'a> {
58890            ///Writes raw bits to the field
58891            #[inline(always)]
58892            pub unsafe fn bits(self, value: u8) -> &'a mut W {
58893                self.w.bits = (self.w.bits & !(0x3f << 26)) | (((value as u32) & 0x3f) << 26);
58894                self.w
58895            }
58896        }
58897        ///Reader of field `I2C3_FMP`
58898        pub type I2C3_FMP_R = crate::R<bool, bool>;
58899        ///Write proxy for field `I2C3_FMP`
58900        pub struct I2C3_FMP_W<'a> {
58901            w: &'a mut W,
58902        }
58903        impl<'a> I2C3_FMP_W<'a> {
58904            ///Sets the field bit
58905            #[inline(always)]
58906            pub fn set_bit(self) -> &'a mut W {
58907                self.bit(true)
58908            }
58909            ///Clears the field bit
58910            #[inline(always)]
58911            pub fn clear_bit(self) -> &'a mut W {
58912                self.bit(false)
58913            }
58914            ///Writes raw bits to the field
58915            #[inline(always)]
58916            pub fn bit(self, value: bool) -> &'a mut W {
58917                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
58918                self.w
58919            }
58920        }
58921        ///Reader of field `I2C1_FMP`
58922        pub type I2C1_FMP_R = crate::R<bool, bool>;
58923        ///Write proxy for field `I2C1_FMP`
58924        pub struct I2C1_FMP_W<'a> {
58925            w: &'a mut W,
58926        }
58927        impl<'a> I2C1_FMP_W<'a> {
58928            ///Sets the field bit
58929            #[inline(always)]
58930            pub fn set_bit(self) -> &'a mut W {
58931                self.bit(true)
58932            }
58933            ///Clears the field bit
58934            #[inline(always)]
58935            pub fn clear_bit(self) -> &'a mut W {
58936                self.bit(false)
58937            }
58938            ///Writes raw bits to the field
58939            #[inline(always)]
58940            pub fn bit(self, value: bool) -> &'a mut W {
58941                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
58942                self.w
58943            }
58944        }
58945        ///Reader of field `I2C_PB9_FMP`
58946        pub type I2C_PB9_FMP_R = crate::R<bool, bool>;
58947        ///Write proxy for field `I2C_PB9_FMP`
58948        pub struct I2C_PB9_FMP_W<'a> {
58949            w: &'a mut W,
58950        }
58951        impl<'a> I2C_PB9_FMP_W<'a> {
58952            ///Sets the field bit
58953            #[inline(always)]
58954            pub fn set_bit(self) -> &'a mut W {
58955                self.bit(true)
58956            }
58957            ///Clears the field bit
58958            #[inline(always)]
58959            pub fn clear_bit(self) -> &'a mut W {
58960                self.bit(false)
58961            }
58962            ///Writes raw bits to the field
58963            #[inline(always)]
58964            pub fn bit(self, value: bool) -> &'a mut W {
58965                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
58966                self.w
58967            }
58968        }
58969        ///Reader of field `I2C_PB8_FMP`
58970        pub type I2C_PB8_FMP_R = crate::R<bool, bool>;
58971        ///Write proxy for field `I2C_PB8_FMP`
58972        pub struct I2C_PB8_FMP_W<'a> {
58973            w: &'a mut W,
58974        }
58975        impl<'a> I2C_PB8_FMP_W<'a> {
58976            ///Sets the field bit
58977            #[inline(always)]
58978            pub fn set_bit(self) -> &'a mut W {
58979                self.bit(true)
58980            }
58981            ///Clears the field bit
58982            #[inline(always)]
58983            pub fn clear_bit(self) -> &'a mut W {
58984                self.bit(false)
58985            }
58986            ///Writes raw bits to the field
58987            #[inline(always)]
58988            pub fn bit(self, value: bool) -> &'a mut W {
58989                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
58990                self.w
58991            }
58992        }
58993        ///Reader of field `I2C_PB7_FMP`
58994        pub type I2C_PB7_FMP_R = crate::R<bool, bool>;
58995        ///Write proxy for field `I2C_PB7_FMP`
58996        pub struct I2C_PB7_FMP_W<'a> {
58997            w: &'a mut W,
58998        }
58999        impl<'a> I2C_PB7_FMP_W<'a> {
59000            ///Sets the field bit
59001            #[inline(always)]
59002            pub fn set_bit(self) -> &'a mut W {
59003                self.bit(true)
59004            }
59005            ///Clears the field bit
59006            #[inline(always)]
59007            pub fn clear_bit(self) -> &'a mut W {
59008                self.bit(false)
59009            }
59010            ///Writes raw bits to the field
59011            #[inline(always)]
59012            pub fn bit(self, value: bool) -> &'a mut W {
59013                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
59014                self.w
59015            }
59016        }
59017        ///Reader of field `I2C_PB6_FMP`
59018        pub type I2C_PB6_FMP_R = crate::R<bool, bool>;
59019        ///Write proxy for field `I2C_PB6_FMP`
59020        pub struct I2C_PB6_FMP_W<'a> {
59021            w: &'a mut W,
59022        }
59023        impl<'a> I2C_PB6_FMP_W<'a> {
59024            ///Sets the field bit
59025            #[inline(always)]
59026            pub fn set_bit(self) -> &'a mut W {
59027                self.bit(true)
59028            }
59029            ///Clears the field bit
59030            #[inline(always)]
59031            pub fn clear_bit(self) -> &'a mut W {
59032                self.bit(false)
59033            }
59034            ///Writes raw bits to the field
59035            #[inline(always)]
59036            pub fn bit(self, value: bool) -> &'a mut W {
59037                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
59038                self.w
59039            }
59040        }
59041        ///Reader of field `BOOSTEN`
59042        pub type BOOSTEN_R = crate::R<bool, bool>;
59043        ///Write proxy for field `BOOSTEN`
59044        pub struct BOOSTEN_W<'a> {
59045            w: &'a mut W,
59046        }
59047        impl<'a> BOOSTEN_W<'a> {
59048            ///Sets the field bit
59049            #[inline(always)]
59050            pub fn set_bit(self) -> &'a mut W {
59051                self.bit(true)
59052            }
59053            ///Clears the field bit
59054            #[inline(always)]
59055            pub fn clear_bit(self) -> &'a mut W {
59056                self.bit(false)
59057            }
59058            ///Writes raw bits to the field
59059            #[inline(always)]
59060            pub fn bit(self, value: bool) -> &'a mut W {
59061                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
59062                self.w
59063            }
59064        }
59065        impl R {
59066            ///Bits 26:31 - Floating Point Unit interrupts enable bits
59067            #[inline(always)]
59068            pub fn fpu_ie(&self) -> FPU_IE_R {
59069                FPU_IE_R::new(((self.bits >> 26) & 0x3f) as u8)
59070            }
59071            ///Bit 22 - I2C3 Fast-mode Plus driving capability activation
59072            #[inline(always)]
59073            pub fn i2c3_fmp(&self) -> I2C3_FMP_R {
59074                I2C3_FMP_R::new(((self.bits >> 22) & 0x01) != 0)
59075            }
59076            ///Bit 20 - I2C1 Fast-mode Plus driving capability activation
59077            #[inline(always)]
59078            pub fn i2c1_fmp(&self) -> I2C1_FMP_R {
59079                I2C1_FMP_R::new(((self.bits >> 20) & 0x01) != 0)
59080            }
59081            ///Bit 19 - Fast-mode Plus (Fm+) driving capability activation on PB9
59082            #[inline(always)]
59083            pub fn i2c_pb9_fmp(&self) -> I2C_PB9_FMP_R {
59084                I2C_PB9_FMP_R::new(((self.bits >> 19) & 0x01) != 0)
59085            }
59086            ///Bit 18 - Fast-mode Plus (Fm+) driving capability activation on PB8
59087            #[inline(always)]
59088            pub fn i2c_pb8_fmp(&self) -> I2C_PB8_FMP_R {
59089                I2C_PB8_FMP_R::new(((self.bits >> 18) & 0x01) != 0)
59090            }
59091            ///Bit 17 - Fast-mode Plus (Fm+) driving capability activation on PB7
59092            #[inline(always)]
59093            pub fn i2c_pb7_fmp(&self) -> I2C_PB7_FMP_R {
59094                I2C_PB7_FMP_R::new(((self.bits >> 17) & 0x01) != 0)
59095            }
59096            ///Bit 16 - Fast-mode Plus (Fm+) driving capability activation on PB6
59097            #[inline(always)]
59098            pub fn i2c_pb6_fmp(&self) -> I2C_PB6_FMP_R {
59099                I2C_PB6_FMP_R::new(((self.bits >> 16) & 0x01) != 0)
59100            }
59101            ///Bit 8 - I/O analog switch voltage booster enable
59102            #[inline(always)]
59103            pub fn boosten(&self) -> BOOSTEN_R {
59104                BOOSTEN_R::new(((self.bits >> 8) & 0x01) != 0)
59105            }
59106        }
59107        impl W {
59108            ///Bits 26:31 - Floating Point Unit interrupts enable bits
59109            #[inline(always)]
59110            pub fn fpu_ie(&mut self) -> FPU_IE_W {
59111                FPU_IE_W { w: self }
59112            }
59113            ///Bit 22 - I2C3 Fast-mode Plus driving capability activation
59114            #[inline(always)]
59115            pub fn i2c3_fmp(&mut self) -> I2C3_FMP_W {
59116                I2C3_FMP_W { w: self }
59117            }
59118            ///Bit 20 - I2C1 Fast-mode Plus driving capability activation
59119            #[inline(always)]
59120            pub fn i2c1_fmp(&mut self) -> I2C1_FMP_W {
59121                I2C1_FMP_W { w: self }
59122            }
59123            ///Bit 19 - Fast-mode Plus (Fm+) driving capability activation on PB9
59124            #[inline(always)]
59125            pub fn i2c_pb9_fmp(&mut self) -> I2C_PB9_FMP_W {
59126                I2C_PB9_FMP_W { w: self }
59127            }
59128            ///Bit 18 - Fast-mode Plus (Fm+) driving capability activation on PB8
59129            #[inline(always)]
59130            pub fn i2c_pb8_fmp(&mut self) -> I2C_PB8_FMP_W {
59131                I2C_PB8_FMP_W { w: self }
59132            }
59133            ///Bit 17 - Fast-mode Plus (Fm+) driving capability activation on PB7
59134            #[inline(always)]
59135            pub fn i2c_pb7_fmp(&mut self) -> I2C_PB7_FMP_W {
59136                I2C_PB7_FMP_W { w: self }
59137            }
59138            ///Bit 16 - Fast-mode Plus (Fm+) driving capability activation on PB6
59139            #[inline(always)]
59140            pub fn i2c_pb6_fmp(&mut self) -> I2C_PB6_FMP_W {
59141                I2C_PB6_FMP_W { w: self }
59142            }
59143            ///Bit 8 - I/O analog switch voltage booster enable
59144            #[inline(always)]
59145            pub fn boosten(&mut self) -> BOOSTEN_W {
59146                BOOSTEN_W { w: self }
59147            }
59148        }
59149    }
59150    ///external interrupt configuration register 1
59151    ///
59152    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
59153    ///
59154    ///For information about available fields see [exticr1](exticr1) module
59155    pub type EXTICR1 = crate::Reg<u32, _EXTICR1>;
59156    #[allow(missing_docs)]
59157    #[doc(hidden)]
59158    pub struct _EXTICR1;
59159    ///`read()` method returns [exticr1::R](exticr1::R) reader structure
59160    impl crate::Readable for EXTICR1 {}
59161    ///`write(|w| ..)` method takes [exticr1::W](exticr1::W) writer structure
59162    impl crate::Writable for EXTICR1 {}
59163    ///external interrupt configuration register 1
59164    pub mod exticr1 {
59165        ///Reader of register EXTICR1
59166        pub type R = crate::R<u32, super::EXTICR1>;
59167        ///Writer for register EXTICR1
59168        pub type W = crate::W<u32, super::EXTICR1>;
59169        ///Register EXTICR1 `reset()`'s with value 0
59170        impl crate::ResetValue for super::EXTICR1 {
59171            type Type = u32;
59172            #[inline(always)]
59173            fn reset_value() -> Self::Type {
59174                0
59175            }
59176        }
59177        ///Reader of field `EXTI3`
59178        pub type EXTI3_R = crate::R<u8, u8>;
59179        ///Write proxy for field `EXTI3`
59180        pub struct EXTI3_W<'a> {
59181            w: &'a mut W,
59182        }
59183        impl<'a> EXTI3_W<'a> {
59184            ///Writes raw bits to the field
59185            #[inline(always)]
59186            pub unsafe fn bits(self, value: u8) -> &'a mut W {
59187                self.w.bits = (self.w.bits & !(0x07 << 12)) | (((value as u32) & 0x07) << 12);
59188                self.w
59189            }
59190        }
59191        ///Reader of field `EXTI2`
59192        pub type EXTI2_R = crate::R<u8, u8>;
59193        ///Write proxy for field `EXTI2`
59194        pub struct EXTI2_W<'a> {
59195            w: &'a mut W,
59196        }
59197        impl<'a> EXTI2_W<'a> {
59198            ///Writes raw bits to the field
59199            #[inline(always)]
59200            pub unsafe fn bits(self, value: u8) -> &'a mut W {
59201                self.w.bits = (self.w.bits & !(0x07 << 8)) | (((value as u32) & 0x07) << 8);
59202                self.w
59203            }
59204        }
59205        ///Reader of field `EXTI1`
59206        pub type EXTI1_R = crate::R<u8, u8>;
59207        ///Write proxy for field `EXTI1`
59208        pub struct EXTI1_W<'a> {
59209            w: &'a mut W,
59210        }
59211        impl<'a> EXTI1_W<'a> {
59212            ///Writes raw bits to the field
59213            #[inline(always)]
59214            pub unsafe fn bits(self, value: u8) -> &'a mut W {
59215                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
59216                self.w
59217            }
59218        }
59219        ///Reader of field `EXTI0`
59220        pub type EXTI0_R = crate::R<u8, u8>;
59221        ///Write proxy for field `EXTI0`
59222        pub struct EXTI0_W<'a> {
59223            w: &'a mut W,
59224        }
59225        impl<'a> EXTI0_W<'a> {
59226            ///Writes raw bits to the field
59227            #[inline(always)]
59228            pub unsafe fn bits(self, value: u8) -> &'a mut W {
59229                self.w.bits = (self.w.bits & !0x07) | ((value as u32) & 0x07);
59230                self.w
59231            }
59232        }
59233        impl R {
59234            ///Bits 12:14 - EXTI 3 configuration bits
59235            #[inline(always)]
59236            pub fn exti3(&self) -> EXTI3_R {
59237                EXTI3_R::new(((self.bits >> 12) & 0x07) as u8)
59238            }
59239            ///Bits 8:10 - EXTI 2 configuration bits
59240            #[inline(always)]
59241            pub fn exti2(&self) -> EXTI2_R {
59242                EXTI2_R::new(((self.bits >> 8) & 0x07) as u8)
59243            }
59244            ///Bits 4:6 - EXTI 1 configuration bits
59245            #[inline(always)]
59246            pub fn exti1(&self) -> EXTI1_R {
59247                EXTI1_R::new(((self.bits >> 4) & 0x07) as u8)
59248            }
59249            ///Bits 0:2 - EXTI 0 configuration bits
59250            #[inline(always)]
59251            pub fn exti0(&self) -> EXTI0_R {
59252                EXTI0_R::new((self.bits & 0x07) as u8)
59253            }
59254        }
59255        impl W {
59256            ///Bits 12:14 - EXTI 3 configuration bits
59257            #[inline(always)]
59258            pub fn exti3(&mut self) -> EXTI3_W {
59259                EXTI3_W { w: self }
59260            }
59261            ///Bits 8:10 - EXTI 2 configuration bits
59262            #[inline(always)]
59263            pub fn exti2(&mut self) -> EXTI2_W {
59264                EXTI2_W { w: self }
59265            }
59266            ///Bits 4:6 - EXTI 1 configuration bits
59267            #[inline(always)]
59268            pub fn exti1(&mut self) -> EXTI1_W {
59269                EXTI1_W { w: self }
59270            }
59271            ///Bits 0:2 - EXTI 0 configuration bits
59272            #[inline(always)]
59273            pub fn exti0(&mut self) -> EXTI0_W {
59274                EXTI0_W { w: self }
59275            }
59276        }
59277    }
59278    ///external interrupt configuration register 2
59279    ///
59280    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
59281    ///
59282    ///For information about available fields see [exticr2](exticr2) module
59283    pub type EXTICR2 = crate::Reg<u32, _EXTICR2>;
59284    #[allow(missing_docs)]
59285    #[doc(hidden)]
59286    pub struct _EXTICR2;
59287    ///`read()` method returns [exticr2::R](exticr2::R) reader structure
59288    impl crate::Readable for EXTICR2 {}
59289    ///`write(|w| ..)` method takes [exticr2::W](exticr2::W) writer structure
59290    impl crate::Writable for EXTICR2 {}
59291    ///external interrupt configuration register 2
59292    pub mod exticr2 {
59293        ///Reader of register EXTICR2
59294        pub type R = crate::R<u32, super::EXTICR2>;
59295        ///Writer for register EXTICR2
59296        pub type W = crate::W<u32, super::EXTICR2>;
59297        ///Register EXTICR2 `reset()`'s with value 0
59298        impl crate::ResetValue for super::EXTICR2 {
59299            type Type = u32;
59300            #[inline(always)]
59301            fn reset_value() -> Self::Type {
59302                0
59303            }
59304        }
59305        ///Reader of field `EXTI7`
59306        pub type EXTI7_R = crate::R<u8, u8>;
59307        ///Write proxy for field `EXTI7`
59308        pub struct EXTI7_W<'a> {
59309            w: &'a mut W,
59310        }
59311        impl<'a> EXTI7_W<'a> {
59312            ///Writes raw bits to the field
59313            #[inline(always)]
59314            pub unsafe fn bits(self, value: u8) -> &'a mut W {
59315                self.w.bits = (self.w.bits & !(0x07 << 12)) | (((value as u32) & 0x07) << 12);
59316                self.w
59317            }
59318        }
59319        ///Reader of field `EXTI6`
59320        pub type EXTI6_R = crate::R<u8, u8>;
59321        ///Write proxy for field `EXTI6`
59322        pub struct EXTI6_W<'a> {
59323            w: &'a mut W,
59324        }
59325        impl<'a> EXTI6_W<'a> {
59326            ///Writes raw bits to the field
59327            #[inline(always)]
59328            pub unsafe fn bits(self, value: u8) -> &'a mut W {
59329                self.w.bits = (self.w.bits & !(0x07 << 8)) | (((value as u32) & 0x07) << 8);
59330                self.w
59331            }
59332        }
59333        ///Reader of field `EXTI5`
59334        pub type EXTI5_R = crate::R<u8, u8>;
59335        ///Write proxy for field `EXTI5`
59336        pub struct EXTI5_W<'a> {
59337            w: &'a mut W,
59338        }
59339        impl<'a> EXTI5_W<'a> {
59340            ///Writes raw bits to the field
59341            #[inline(always)]
59342            pub unsafe fn bits(self, value: u8) -> &'a mut W {
59343                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
59344                self.w
59345            }
59346        }
59347        ///Reader of field `EXTI4`
59348        pub type EXTI4_R = crate::R<u8, u8>;
59349        ///Write proxy for field `EXTI4`
59350        pub struct EXTI4_W<'a> {
59351            w: &'a mut W,
59352        }
59353        impl<'a> EXTI4_W<'a> {
59354            ///Writes raw bits to the field
59355            #[inline(always)]
59356            pub unsafe fn bits(self, value: u8) -> &'a mut W {
59357                self.w.bits = (self.w.bits & !0x07) | ((value as u32) & 0x07);
59358                self.w
59359            }
59360        }
59361        impl R {
59362            ///Bits 12:14 - EXTI 7 configuration bits
59363            #[inline(always)]
59364            pub fn exti7(&self) -> EXTI7_R {
59365                EXTI7_R::new(((self.bits >> 12) & 0x07) as u8)
59366            }
59367            ///Bits 8:10 - EXTI 6 configuration bits
59368            #[inline(always)]
59369            pub fn exti6(&self) -> EXTI6_R {
59370                EXTI6_R::new(((self.bits >> 8) & 0x07) as u8)
59371            }
59372            ///Bits 4:6 - EXTI 5 configuration bits
59373            #[inline(always)]
59374            pub fn exti5(&self) -> EXTI5_R {
59375                EXTI5_R::new(((self.bits >> 4) & 0x07) as u8)
59376            }
59377            ///Bits 0:2 - EXTI 4 configuration bits
59378            #[inline(always)]
59379            pub fn exti4(&self) -> EXTI4_R {
59380                EXTI4_R::new((self.bits & 0x07) as u8)
59381            }
59382        }
59383        impl W {
59384            ///Bits 12:14 - EXTI 7 configuration bits
59385            #[inline(always)]
59386            pub fn exti7(&mut self) -> EXTI7_W {
59387                EXTI7_W { w: self }
59388            }
59389            ///Bits 8:10 - EXTI 6 configuration bits
59390            #[inline(always)]
59391            pub fn exti6(&mut self) -> EXTI6_W {
59392                EXTI6_W { w: self }
59393            }
59394            ///Bits 4:6 - EXTI 5 configuration bits
59395            #[inline(always)]
59396            pub fn exti5(&mut self) -> EXTI5_W {
59397                EXTI5_W { w: self }
59398            }
59399            ///Bits 0:2 - EXTI 4 configuration bits
59400            #[inline(always)]
59401            pub fn exti4(&mut self) -> EXTI4_W {
59402                EXTI4_W { w: self }
59403            }
59404        }
59405    }
59406    ///external interrupt configuration register 3
59407    ///
59408    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
59409    ///
59410    ///For information about available fields see [exticr3](exticr3) module
59411    pub type EXTICR3 = crate::Reg<u32, _EXTICR3>;
59412    #[allow(missing_docs)]
59413    #[doc(hidden)]
59414    pub struct _EXTICR3;
59415    ///`read()` method returns [exticr3::R](exticr3::R) reader structure
59416    impl crate::Readable for EXTICR3 {}
59417    ///`write(|w| ..)` method takes [exticr3::W](exticr3::W) writer structure
59418    impl crate::Writable for EXTICR3 {}
59419    ///external interrupt configuration register 3
59420    pub mod exticr3 {
59421        ///Reader of register EXTICR3
59422        pub type R = crate::R<u32, super::EXTICR3>;
59423        ///Writer for register EXTICR3
59424        pub type W = crate::W<u32, super::EXTICR3>;
59425        ///Register EXTICR3 `reset()`'s with value 0
59426        impl crate::ResetValue for super::EXTICR3 {
59427            type Type = u32;
59428            #[inline(always)]
59429            fn reset_value() -> Self::Type {
59430                0
59431            }
59432        }
59433        ///Reader of field `EXTI11`
59434        pub type EXTI11_R = crate::R<u8, u8>;
59435        ///Write proxy for field `EXTI11`
59436        pub struct EXTI11_W<'a> {
59437            w: &'a mut W,
59438        }
59439        impl<'a> EXTI11_W<'a> {
59440            ///Writes raw bits to the field
59441            #[inline(always)]
59442            pub unsafe fn bits(self, value: u8) -> &'a mut W {
59443                self.w.bits = (self.w.bits & !(0x07 << 12)) | (((value as u32) & 0x07) << 12);
59444                self.w
59445            }
59446        }
59447        ///Reader of field `EXTI10`
59448        pub type EXTI10_R = crate::R<u8, u8>;
59449        ///Write proxy for field `EXTI10`
59450        pub struct EXTI10_W<'a> {
59451            w: &'a mut W,
59452        }
59453        impl<'a> EXTI10_W<'a> {
59454            ///Writes raw bits to the field
59455            #[inline(always)]
59456            pub unsafe fn bits(self, value: u8) -> &'a mut W {
59457                self.w.bits = (self.w.bits & !(0x07 << 8)) | (((value as u32) & 0x07) << 8);
59458                self.w
59459            }
59460        }
59461        ///Reader of field `EXTI9`
59462        pub type EXTI9_R = crate::R<u8, u8>;
59463        ///Write proxy for field `EXTI9`
59464        pub struct EXTI9_W<'a> {
59465            w: &'a mut W,
59466        }
59467        impl<'a> EXTI9_W<'a> {
59468            ///Writes raw bits to the field
59469            #[inline(always)]
59470            pub unsafe fn bits(self, value: u8) -> &'a mut W {
59471                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
59472                self.w
59473            }
59474        }
59475        ///Reader of field `EXTI8`
59476        pub type EXTI8_R = crate::R<u8, u8>;
59477        ///Write proxy for field `EXTI8`
59478        pub struct EXTI8_W<'a> {
59479            w: &'a mut W,
59480        }
59481        impl<'a> EXTI8_W<'a> {
59482            ///Writes raw bits to the field
59483            #[inline(always)]
59484            pub unsafe fn bits(self, value: u8) -> &'a mut W {
59485                self.w.bits = (self.w.bits & !0x07) | ((value as u32) & 0x07);
59486                self.w
59487            }
59488        }
59489        impl R {
59490            ///Bits 12:14 - EXTI 11 configuration bits
59491            #[inline(always)]
59492            pub fn exti11(&self) -> EXTI11_R {
59493                EXTI11_R::new(((self.bits >> 12) & 0x07) as u8)
59494            }
59495            ///Bits 8:10 - EXTI 10 configuration bits
59496            #[inline(always)]
59497            pub fn exti10(&self) -> EXTI10_R {
59498                EXTI10_R::new(((self.bits >> 8) & 0x07) as u8)
59499            }
59500            ///Bits 4:6 - EXTI 9 configuration bits
59501            #[inline(always)]
59502            pub fn exti9(&self) -> EXTI9_R {
59503                EXTI9_R::new(((self.bits >> 4) & 0x07) as u8)
59504            }
59505            ///Bits 0:2 - EXTI 8 configuration bits
59506            #[inline(always)]
59507            pub fn exti8(&self) -> EXTI8_R {
59508                EXTI8_R::new((self.bits & 0x07) as u8)
59509            }
59510        }
59511        impl W {
59512            ///Bits 12:14 - EXTI 11 configuration bits
59513            #[inline(always)]
59514            pub fn exti11(&mut self) -> EXTI11_W {
59515                EXTI11_W { w: self }
59516            }
59517            ///Bits 8:10 - EXTI 10 configuration bits
59518            #[inline(always)]
59519            pub fn exti10(&mut self) -> EXTI10_W {
59520                EXTI10_W { w: self }
59521            }
59522            ///Bits 4:6 - EXTI 9 configuration bits
59523            #[inline(always)]
59524            pub fn exti9(&mut self) -> EXTI9_W {
59525                EXTI9_W { w: self }
59526            }
59527            ///Bits 0:2 - EXTI 8 configuration bits
59528            #[inline(always)]
59529            pub fn exti8(&mut self) -> EXTI8_W {
59530                EXTI8_W { w: self }
59531            }
59532        }
59533    }
59534    ///external interrupt configuration register 4
59535    ///
59536    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
59537    ///
59538    ///For information about available fields see [exticr4](exticr4) module
59539    pub type EXTICR4 = crate::Reg<u32, _EXTICR4>;
59540    #[allow(missing_docs)]
59541    #[doc(hidden)]
59542    pub struct _EXTICR4;
59543    ///`read()` method returns [exticr4::R](exticr4::R) reader structure
59544    impl crate::Readable for EXTICR4 {}
59545    ///`write(|w| ..)` method takes [exticr4::W](exticr4::W) writer structure
59546    impl crate::Writable for EXTICR4 {}
59547    ///external interrupt configuration register 4
59548    pub mod exticr4 {
59549        ///Reader of register EXTICR4
59550        pub type R = crate::R<u32, super::EXTICR4>;
59551        ///Writer for register EXTICR4
59552        pub type W = crate::W<u32, super::EXTICR4>;
59553        ///Register EXTICR4 `reset()`'s with value 0
59554        impl crate::ResetValue for super::EXTICR4 {
59555            type Type = u32;
59556            #[inline(always)]
59557            fn reset_value() -> Self::Type {
59558                0
59559            }
59560        }
59561        ///Reader of field `EXTI15`
59562        pub type EXTI15_R = crate::R<u8, u8>;
59563        ///Write proxy for field `EXTI15`
59564        pub struct EXTI15_W<'a> {
59565            w: &'a mut W,
59566        }
59567        impl<'a> EXTI15_W<'a> {
59568            ///Writes raw bits to the field
59569            #[inline(always)]
59570            pub unsafe fn bits(self, value: u8) -> &'a mut W {
59571                self.w.bits = (self.w.bits & !(0x07 << 12)) | (((value as u32) & 0x07) << 12);
59572                self.w
59573            }
59574        }
59575        ///Reader of field `EXTI14`
59576        pub type EXTI14_R = crate::R<u8, u8>;
59577        ///Write proxy for field `EXTI14`
59578        pub struct EXTI14_W<'a> {
59579            w: &'a mut W,
59580        }
59581        impl<'a> EXTI14_W<'a> {
59582            ///Writes raw bits to the field
59583            #[inline(always)]
59584            pub unsafe fn bits(self, value: u8) -> &'a mut W {
59585                self.w.bits = (self.w.bits & !(0x07 << 8)) | (((value as u32) & 0x07) << 8);
59586                self.w
59587            }
59588        }
59589        ///Reader of field `EXTI13`
59590        pub type EXTI13_R = crate::R<u8, u8>;
59591        ///Write proxy for field `EXTI13`
59592        pub struct EXTI13_W<'a> {
59593            w: &'a mut W,
59594        }
59595        impl<'a> EXTI13_W<'a> {
59596            ///Writes raw bits to the field
59597            #[inline(always)]
59598            pub unsafe fn bits(self, value: u8) -> &'a mut W {
59599                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
59600                self.w
59601            }
59602        }
59603        ///Reader of field `EXTI12`
59604        pub type EXTI12_R = crate::R<u8, u8>;
59605        ///Write proxy for field `EXTI12`
59606        pub struct EXTI12_W<'a> {
59607            w: &'a mut W,
59608        }
59609        impl<'a> EXTI12_W<'a> {
59610            ///Writes raw bits to the field
59611            #[inline(always)]
59612            pub unsafe fn bits(self, value: u8) -> &'a mut W {
59613                self.w.bits = (self.w.bits & !0x07) | ((value as u32) & 0x07);
59614                self.w
59615            }
59616        }
59617        impl R {
59618            ///Bits 12:14 - EXTI15 configuration bits
59619            #[inline(always)]
59620            pub fn exti15(&self) -> EXTI15_R {
59621                EXTI15_R::new(((self.bits >> 12) & 0x07) as u8)
59622            }
59623            ///Bits 8:10 - EXTI14 configuration bits
59624            #[inline(always)]
59625            pub fn exti14(&self) -> EXTI14_R {
59626                EXTI14_R::new(((self.bits >> 8) & 0x07) as u8)
59627            }
59628            ///Bits 4:6 - EXTI13 configuration bits
59629            #[inline(always)]
59630            pub fn exti13(&self) -> EXTI13_R {
59631                EXTI13_R::new(((self.bits >> 4) & 0x07) as u8)
59632            }
59633            ///Bits 0:2 - EXTI12 configuration bits
59634            #[inline(always)]
59635            pub fn exti12(&self) -> EXTI12_R {
59636                EXTI12_R::new((self.bits & 0x07) as u8)
59637            }
59638        }
59639        impl W {
59640            ///Bits 12:14 - EXTI15 configuration bits
59641            #[inline(always)]
59642            pub fn exti15(&mut self) -> EXTI15_W {
59643                EXTI15_W { w: self }
59644            }
59645            ///Bits 8:10 - EXTI14 configuration bits
59646            #[inline(always)]
59647            pub fn exti14(&mut self) -> EXTI14_W {
59648                EXTI14_W { w: self }
59649            }
59650            ///Bits 4:6 - EXTI13 configuration bits
59651            #[inline(always)]
59652            pub fn exti13(&mut self) -> EXTI13_W {
59653                EXTI13_W { w: self }
59654            }
59655            ///Bits 0:2 - EXTI12 configuration bits
59656            #[inline(always)]
59657            pub fn exti12(&mut self) -> EXTI12_W {
59658                EXTI12_W { w: self }
59659            }
59660        }
59661    }
59662    ///SCSR
59663    ///
59664    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
59665    ///
59666    ///For information about available fields see [scsr](scsr) module
59667    pub type SCSR = crate::Reg<u32, _SCSR>;
59668    #[allow(missing_docs)]
59669    #[doc(hidden)]
59670    pub struct _SCSR;
59671    ///`read()` method returns [scsr::R](scsr::R) reader structure
59672    impl crate::Readable for SCSR {}
59673    ///`write(|w| ..)` method takes [scsr::W](scsr::W) writer structure
59674    impl crate::Writable for SCSR {}
59675    ///SCSR
59676    pub mod scsr {
59677        ///Reader of register SCSR
59678        pub type R = crate::R<u32, super::SCSR>;
59679        ///Writer for register SCSR
59680        pub type W = crate::W<u32, super::SCSR>;
59681        ///Register SCSR `reset()`'s with value 0
59682        impl crate::ResetValue for super::SCSR {
59683            type Type = u32;
59684            #[inline(always)]
59685            fn reset_value() -> Self::Type {
59686                0
59687            }
59688        }
59689        ///Reader of field `SRAM2BSY`
59690        pub type SRAM2BSY_R = crate::R<bool, bool>;
59691        ///Reader of field `SRAM2ER`
59692        pub type SRAM2ER_R = crate::R<bool, bool>;
59693        ///Write proxy for field `SRAM2ER`
59694        pub struct SRAM2ER_W<'a> {
59695            w: &'a mut W,
59696        }
59697        impl<'a> SRAM2ER_W<'a> {
59698            ///Sets the field bit
59699            #[inline(always)]
59700            pub fn set_bit(self) -> &'a mut W {
59701                self.bit(true)
59702            }
59703            ///Clears the field bit
59704            #[inline(always)]
59705            pub fn clear_bit(self) -> &'a mut W {
59706                self.bit(false)
59707            }
59708            ///Writes raw bits to the field
59709            #[inline(always)]
59710            pub fn bit(self, value: bool) -> &'a mut W {
59711                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
59712                self.w
59713            }
59714        }
59715        ///Reader of field `C2RFD`
59716        pub type C2RFD_R = crate::R<bool, bool>;
59717        ///Write proxy for field `C2RFD`
59718        pub struct C2RFD_W<'a> {
59719            w: &'a mut W,
59720        }
59721        impl<'a> C2RFD_W<'a> {
59722            ///Sets the field bit
59723            #[inline(always)]
59724            pub fn set_bit(self) -> &'a mut W {
59725                self.bit(true)
59726            }
59727            ///Clears the field bit
59728            #[inline(always)]
59729            pub fn clear_bit(self) -> &'a mut W {
59730                self.bit(false)
59731            }
59732            ///Writes raw bits to the field
59733            #[inline(always)]
59734            pub fn bit(self, value: bool) -> &'a mut W {
59735                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
59736                self.w
59737            }
59738        }
59739        impl R {
59740            ///Bit 1 - SRAM2 busy by erase operation
59741            #[inline(always)]
59742            pub fn sram2bsy(&self) -> SRAM2BSY_R {
59743                SRAM2BSY_R::new(((self.bits >> 1) & 0x01) != 0)
59744            }
59745            ///Bit 0 - SRAM2 Erase
59746            #[inline(always)]
59747            pub fn sram2er(&self) -> SRAM2ER_R {
59748                SRAM2ER_R::new((self.bits & 0x01) != 0)
59749            }
59750            ///Bit 31 - CPU2 SRAM fetch (execution) disable.
59751            #[inline(always)]
59752            pub fn c2rfd(&self) -> C2RFD_R {
59753                C2RFD_R::new(((self.bits >> 31) & 0x01) != 0)
59754            }
59755        }
59756        impl W {
59757            ///Bit 0 - SRAM2 Erase
59758            #[inline(always)]
59759            pub fn sram2er(&mut self) -> SRAM2ER_W {
59760                SRAM2ER_W { w: self }
59761            }
59762            ///Bit 31 - CPU2 SRAM fetch (execution) disable.
59763            #[inline(always)]
59764            pub fn c2rfd(&mut self) -> C2RFD_W {
59765                C2RFD_W { w: self }
59766            }
59767        }
59768    }
59769    ///CFGR2
59770    ///
59771    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
59772    ///
59773    ///For information about available fields see [cfgr2](cfgr2) module
59774    pub type CFGR2 = crate::Reg<u32, _CFGR2>;
59775    #[allow(missing_docs)]
59776    #[doc(hidden)]
59777    pub struct _CFGR2;
59778    ///`read()` method returns [cfgr2::R](cfgr2::R) reader structure
59779    impl crate::Readable for CFGR2 {}
59780    ///`write(|w| ..)` method takes [cfgr2::W](cfgr2::W) writer structure
59781    impl crate::Writable for CFGR2 {}
59782    ///CFGR2
59783    pub mod cfgr2 {
59784        ///Reader of register CFGR2
59785        pub type R = crate::R<u32, super::CFGR2>;
59786        ///Writer for register CFGR2
59787        pub type W = crate::W<u32, super::CFGR2>;
59788        ///Register CFGR2 `reset()`'s with value 0
59789        impl crate::ResetValue for super::CFGR2 {
59790            type Type = u32;
59791            #[inline(always)]
59792            fn reset_value() -> Self::Type {
59793                0
59794            }
59795        }
59796        ///Reader of field `SPF`
59797        pub type SPF_R = crate::R<bool, bool>;
59798        ///Write proxy for field `SPF`
59799        pub struct SPF_W<'a> {
59800            w: &'a mut W,
59801        }
59802        impl<'a> SPF_W<'a> {
59803            ///Sets the field bit
59804            #[inline(always)]
59805            pub fn set_bit(self) -> &'a mut W {
59806                self.bit(true)
59807            }
59808            ///Clears the field bit
59809            #[inline(always)]
59810            pub fn clear_bit(self) -> &'a mut W {
59811                self.bit(false)
59812            }
59813            ///Writes raw bits to the field
59814            #[inline(always)]
59815            pub fn bit(self, value: bool) -> &'a mut W {
59816                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
59817                self.w
59818            }
59819        }
59820        ///Write proxy for field `ECCL`
59821        pub struct ECCL_W<'a> {
59822            w: &'a mut W,
59823        }
59824        impl<'a> ECCL_W<'a> {
59825            ///Sets the field bit
59826            #[inline(always)]
59827            pub fn set_bit(self) -> &'a mut W {
59828                self.bit(true)
59829            }
59830            ///Clears the field bit
59831            #[inline(always)]
59832            pub fn clear_bit(self) -> &'a mut W {
59833                self.bit(false)
59834            }
59835            ///Writes raw bits to the field
59836            #[inline(always)]
59837            pub fn bit(self, value: bool) -> &'a mut W {
59838                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
59839                self.w
59840            }
59841        }
59842        ///Write proxy for field `PVDL`
59843        pub struct PVDL_W<'a> {
59844            w: &'a mut W,
59845        }
59846        impl<'a> PVDL_W<'a> {
59847            ///Sets the field bit
59848            #[inline(always)]
59849            pub fn set_bit(self) -> &'a mut W {
59850                self.bit(true)
59851            }
59852            ///Clears the field bit
59853            #[inline(always)]
59854            pub fn clear_bit(self) -> &'a mut W {
59855                self.bit(false)
59856            }
59857            ///Writes raw bits to the field
59858            #[inline(always)]
59859            pub fn bit(self, value: bool) -> &'a mut W {
59860                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
59861                self.w
59862            }
59863        }
59864        ///Write proxy for field `SPL`
59865        pub struct SPL_W<'a> {
59866            w: &'a mut W,
59867        }
59868        impl<'a> SPL_W<'a> {
59869            ///Sets the field bit
59870            #[inline(always)]
59871            pub fn set_bit(self) -> &'a mut W {
59872                self.bit(true)
59873            }
59874            ///Clears the field bit
59875            #[inline(always)]
59876            pub fn clear_bit(self) -> &'a mut W {
59877                self.bit(false)
59878            }
59879            ///Writes raw bits to the field
59880            #[inline(always)]
59881            pub fn bit(self, value: bool) -> &'a mut W {
59882                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
59883                self.w
59884            }
59885        }
59886        ///Write proxy for field `CLL`
59887        pub struct CLL_W<'a> {
59888            w: &'a mut W,
59889        }
59890        impl<'a> CLL_W<'a> {
59891            ///Sets the field bit
59892            #[inline(always)]
59893            pub fn set_bit(self) -> &'a mut W {
59894                self.bit(true)
59895            }
59896            ///Clears the field bit
59897            #[inline(always)]
59898            pub fn clear_bit(self) -> &'a mut W {
59899                self.bit(false)
59900            }
59901            ///Writes raw bits to the field
59902            #[inline(always)]
59903            pub fn bit(self, value: bool) -> &'a mut W {
59904                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
59905                self.w
59906            }
59907        }
59908        impl R {
59909            ///Bit 8 - SRAM2 parity error flag
59910            #[inline(always)]
59911            pub fn spf(&self) -> SPF_R {
59912                SPF_R::new(((self.bits >> 8) & 0x01) != 0)
59913            }
59914        }
59915        impl W {
59916            ///Bit 8 - SRAM2 parity error flag
59917            #[inline(always)]
59918            pub fn spf(&mut self) -> SPF_W {
59919                SPF_W { w: self }
59920            }
59921            ///Bit 3 - ECC Lock
59922            #[inline(always)]
59923            pub fn eccl(&mut self) -> ECCL_W {
59924                ECCL_W { w: self }
59925            }
59926            ///Bit 2 - PVD lock enable bit
59927            #[inline(always)]
59928            pub fn pvdl(&mut self) -> PVDL_W {
59929                PVDL_W { w: self }
59930            }
59931            ///Bit 1 - SRAM2 parity lock bit
59932            #[inline(always)]
59933            pub fn spl(&mut self) -> SPL_W {
59934                SPL_W { w: self }
59935            }
59936            ///Bit 0 - Cortex-M4 LOCKUP (Hardfault) output enable bit
59937            #[inline(always)]
59938            pub fn cll(&mut self) -> CLL_W {
59939                CLL_W { w: self }
59940            }
59941        }
59942    }
59943    ///SRAM2 write protection register
59944    ///
59945    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
59946    ///
59947    ///For information about available fields see [swpr](swpr) module
59948    pub type SWPR = crate::Reg<u32, _SWPR>;
59949    #[allow(missing_docs)]
59950    #[doc(hidden)]
59951    pub struct _SWPR;
59952    ///`write(|w| ..)` method takes [swpr::W](swpr::W) writer structure
59953    impl crate::Writable for SWPR {}
59954    ///SRAM2 write protection register
59955    pub mod swpr {
59956        ///Writer for register SWPR
59957        pub type W = crate::W<u32, super::SWPR>;
59958        ///Register SWPR `reset()`'s with value 0
59959        impl crate::ResetValue for super::SWPR {
59960            type Type = u32;
59961            #[inline(always)]
59962            fn reset_value() -> Self::Type {
59963                0
59964            }
59965        }
59966        ///Write proxy for field `P31WP`
59967        pub struct P31WP_W<'a> {
59968            w: &'a mut W,
59969        }
59970        impl<'a> P31WP_W<'a> {
59971            ///Sets the field bit
59972            #[inline(always)]
59973            pub fn set_bit(self) -> &'a mut W {
59974                self.bit(true)
59975            }
59976            ///Clears the field bit
59977            #[inline(always)]
59978            pub fn clear_bit(self) -> &'a mut W {
59979                self.bit(false)
59980            }
59981            ///Writes raw bits to the field
59982            #[inline(always)]
59983            pub fn bit(self, value: bool) -> &'a mut W {
59984                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
59985                self.w
59986            }
59987        }
59988        ///Write proxy for field `P30WP`
59989        pub struct P30WP_W<'a> {
59990            w: &'a mut W,
59991        }
59992        impl<'a> P30WP_W<'a> {
59993            ///Sets the field bit
59994            #[inline(always)]
59995            pub fn set_bit(self) -> &'a mut W {
59996                self.bit(true)
59997            }
59998            ///Clears the field bit
59999            #[inline(always)]
60000            pub fn clear_bit(self) -> &'a mut W {
60001                self.bit(false)
60002            }
60003            ///Writes raw bits to the field
60004            #[inline(always)]
60005            pub fn bit(self, value: bool) -> &'a mut W {
60006                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
60007                self.w
60008            }
60009        }
60010        ///Write proxy for field `P29WP`
60011        pub struct P29WP_W<'a> {
60012            w: &'a mut W,
60013        }
60014        impl<'a> P29WP_W<'a> {
60015            ///Sets the field bit
60016            #[inline(always)]
60017            pub fn set_bit(self) -> &'a mut W {
60018                self.bit(true)
60019            }
60020            ///Clears the field bit
60021            #[inline(always)]
60022            pub fn clear_bit(self) -> &'a mut W {
60023                self.bit(false)
60024            }
60025            ///Writes raw bits to the field
60026            #[inline(always)]
60027            pub fn bit(self, value: bool) -> &'a mut W {
60028                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
60029                self.w
60030            }
60031        }
60032        ///Write proxy for field `P28WP`
60033        pub struct P28WP_W<'a> {
60034            w: &'a mut W,
60035        }
60036        impl<'a> P28WP_W<'a> {
60037            ///Sets the field bit
60038            #[inline(always)]
60039            pub fn set_bit(self) -> &'a mut W {
60040                self.bit(true)
60041            }
60042            ///Clears the field bit
60043            #[inline(always)]
60044            pub fn clear_bit(self) -> &'a mut W {
60045                self.bit(false)
60046            }
60047            ///Writes raw bits to the field
60048            #[inline(always)]
60049            pub fn bit(self, value: bool) -> &'a mut W {
60050                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
60051                self.w
60052            }
60053        }
60054        ///Write proxy for field `P27WP`
60055        pub struct P27WP_W<'a> {
60056            w: &'a mut W,
60057        }
60058        impl<'a> P27WP_W<'a> {
60059            ///Sets the field bit
60060            #[inline(always)]
60061            pub fn set_bit(self) -> &'a mut W {
60062                self.bit(true)
60063            }
60064            ///Clears the field bit
60065            #[inline(always)]
60066            pub fn clear_bit(self) -> &'a mut W {
60067                self.bit(false)
60068            }
60069            ///Writes raw bits to the field
60070            #[inline(always)]
60071            pub fn bit(self, value: bool) -> &'a mut W {
60072                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
60073                self.w
60074            }
60075        }
60076        ///Write proxy for field `P26WP`
60077        pub struct P26WP_W<'a> {
60078            w: &'a mut W,
60079        }
60080        impl<'a> P26WP_W<'a> {
60081            ///Sets the field bit
60082            #[inline(always)]
60083            pub fn set_bit(self) -> &'a mut W {
60084                self.bit(true)
60085            }
60086            ///Clears the field bit
60087            #[inline(always)]
60088            pub fn clear_bit(self) -> &'a mut W {
60089                self.bit(false)
60090            }
60091            ///Writes raw bits to the field
60092            #[inline(always)]
60093            pub fn bit(self, value: bool) -> &'a mut W {
60094                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
60095                self.w
60096            }
60097        }
60098        ///Write proxy for field `P25WP`
60099        pub struct P25WP_W<'a> {
60100            w: &'a mut W,
60101        }
60102        impl<'a> P25WP_W<'a> {
60103            ///Sets the field bit
60104            #[inline(always)]
60105            pub fn set_bit(self) -> &'a mut W {
60106                self.bit(true)
60107            }
60108            ///Clears the field bit
60109            #[inline(always)]
60110            pub fn clear_bit(self) -> &'a mut W {
60111                self.bit(false)
60112            }
60113            ///Writes raw bits to the field
60114            #[inline(always)]
60115            pub fn bit(self, value: bool) -> &'a mut W {
60116                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
60117                self.w
60118            }
60119        }
60120        ///Write proxy for field `P24WP`
60121        pub struct P24WP_W<'a> {
60122            w: &'a mut W,
60123        }
60124        impl<'a> P24WP_W<'a> {
60125            ///Sets the field bit
60126            #[inline(always)]
60127            pub fn set_bit(self) -> &'a mut W {
60128                self.bit(true)
60129            }
60130            ///Clears the field bit
60131            #[inline(always)]
60132            pub fn clear_bit(self) -> &'a mut W {
60133                self.bit(false)
60134            }
60135            ///Writes raw bits to the field
60136            #[inline(always)]
60137            pub fn bit(self, value: bool) -> &'a mut W {
60138                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
60139                self.w
60140            }
60141        }
60142        ///Write proxy for field `P23WP`
60143        pub struct P23WP_W<'a> {
60144            w: &'a mut W,
60145        }
60146        impl<'a> P23WP_W<'a> {
60147            ///Sets the field bit
60148            #[inline(always)]
60149            pub fn set_bit(self) -> &'a mut W {
60150                self.bit(true)
60151            }
60152            ///Clears the field bit
60153            #[inline(always)]
60154            pub fn clear_bit(self) -> &'a mut W {
60155                self.bit(false)
60156            }
60157            ///Writes raw bits to the field
60158            #[inline(always)]
60159            pub fn bit(self, value: bool) -> &'a mut W {
60160                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
60161                self.w
60162            }
60163        }
60164        ///Write proxy for field `P22WP`
60165        pub struct P22WP_W<'a> {
60166            w: &'a mut W,
60167        }
60168        impl<'a> P22WP_W<'a> {
60169            ///Sets the field bit
60170            #[inline(always)]
60171            pub fn set_bit(self) -> &'a mut W {
60172                self.bit(true)
60173            }
60174            ///Clears the field bit
60175            #[inline(always)]
60176            pub fn clear_bit(self) -> &'a mut W {
60177                self.bit(false)
60178            }
60179            ///Writes raw bits to the field
60180            #[inline(always)]
60181            pub fn bit(self, value: bool) -> &'a mut W {
60182                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
60183                self.w
60184            }
60185        }
60186        ///Write proxy for field `P21WP`
60187        pub struct P21WP_W<'a> {
60188            w: &'a mut W,
60189        }
60190        impl<'a> P21WP_W<'a> {
60191            ///Sets the field bit
60192            #[inline(always)]
60193            pub fn set_bit(self) -> &'a mut W {
60194                self.bit(true)
60195            }
60196            ///Clears the field bit
60197            #[inline(always)]
60198            pub fn clear_bit(self) -> &'a mut W {
60199                self.bit(false)
60200            }
60201            ///Writes raw bits to the field
60202            #[inline(always)]
60203            pub fn bit(self, value: bool) -> &'a mut W {
60204                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
60205                self.w
60206            }
60207        }
60208        ///Write proxy for field `P20WP`
60209        pub struct P20WP_W<'a> {
60210            w: &'a mut W,
60211        }
60212        impl<'a> P20WP_W<'a> {
60213            ///Sets the field bit
60214            #[inline(always)]
60215            pub fn set_bit(self) -> &'a mut W {
60216                self.bit(true)
60217            }
60218            ///Clears the field bit
60219            #[inline(always)]
60220            pub fn clear_bit(self) -> &'a mut W {
60221                self.bit(false)
60222            }
60223            ///Writes raw bits to the field
60224            #[inline(always)]
60225            pub fn bit(self, value: bool) -> &'a mut W {
60226                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
60227                self.w
60228            }
60229        }
60230        ///Write proxy for field `P19WP`
60231        pub struct P19WP_W<'a> {
60232            w: &'a mut W,
60233        }
60234        impl<'a> P19WP_W<'a> {
60235            ///Sets the field bit
60236            #[inline(always)]
60237            pub fn set_bit(self) -> &'a mut W {
60238                self.bit(true)
60239            }
60240            ///Clears the field bit
60241            #[inline(always)]
60242            pub fn clear_bit(self) -> &'a mut W {
60243                self.bit(false)
60244            }
60245            ///Writes raw bits to the field
60246            #[inline(always)]
60247            pub fn bit(self, value: bool) -> &'a mut W {
60248                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
60249                self.w
60250            }
60251        }
60252        ///Write proxy for field `P18WP`
60253        pub struct P18WP_W<'a> {
60254            w: &'a mut W,
60255        }
60256        impl<'a> P18WP_W<'a> {
60257            ///Sets the field bit
60258            #[inline(always)]
60259            pub fn set_bit(self) -> &'a mut W {
60260                self.bit(true)
60261            }
60262            ///Clears the field bit
60263            #[inline(always)]
60264            pub fn clear_bit(self) -> &'a mut W {
60265                self.bit(false)
60266            }
60267            ///Writes raw bits to the field
60268            #[inline(always)]
60269            pub fn bit(self, value: bool) -> &'a mut W {
60270                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
60271                self.w
60272            }
60273        }
60274        ///Write proxy for field `P17WP`
60275        pub struct P17WP_W<'a> {
60276            w: &'a mut W,
60277        }
60278        impl<'a> P17WP_W<'a> {
60279            ///Sets the field bit
60280            #[inline(always)]
60281            pub fn set_bit(self) -> &'a mut W {
60282                self.bit(true)
60283            }
60284            ///Clears the field bit
60285            #[inline(always)]
60286            pub fn clear_bit(self) -> &'a mut W {
60287                self.bit(false)
60288            }
60289            ///Writes raw bits to the field
60290            #[inline(always)]
60291            pub fn bit(self, value: bool) -> &'a mut W {
60292                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
60293                self.w
60294            }
60295        }
60296        ///Write proxy for field `P16WP`
60297        pub struct P16WP_W<'a> {
60298            w: &'a mut W,
60299        }
60300        impl<'a> P16WP_W<'a> {
60301            ///Sets the field bit
60302            #[inline(always)]
60303            pub fn set_bit(self) -> &'a mut W {
60304                self.bit(true)
60305            }
60306            ///Clears the field bit
60307            #[inline(always)]
60308            pub fn clear_bit(self) -> &'a mut W {
60309                self.bit(false)
60310            }
60311            ///Writes raw bits to the field
60312            #[inline(always)]
60313            pub fn bit(self, value: bool) -> &'a mut W {
60314                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
60315                self.w
60316            }
60317        }
60318        ///Write proxy for field `P15WP`
60319        pub struct P15WP_W<'a> {
60320            w: &'a mut W,
60321        }
60322        impl<'a> P15WP_W<'a> {
60323            ///Sets the field bit
60324            #[inline(always)]
60325            pub fn set_bit(self) -> &'a mut W {
60326                self.bit(true)
60327            }
60328            ///Clears the field bit
60329            #[inline(always)]
60330            pub fn clear_bit(self) -> &'a mut W {
60331                self.bit(false)
60332            }
60333            ///Writes raw bits to the field
60334            #[inline(always)]
60335            pub fn bit(self, value: bool) -> &'a mut W {
60336                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
60337                self.w
60338            }
60339        }
60340        ///Write proxy for field `P14WP`
60341        pub struct P14WP_W<'a> {
60342            w: &'a mut W,
60343        }
60344        impl<'a> P14WP_W<'a> {
60345            ///Sets the field bit
60346            #[inline(always)]
60347            pub fn set_bit(self) -> &'a mut W {
60348                self.bit(true)
60349            }
60350            ///Clears the field bit
60351            #[inline(always)]
60352            pub fn clear_bit(self) -> &'a mut W {
60353                self.bit(false)
60354            }
60355            ///Writes raw bits to the field
60356            #[inline(always)]
60357            pub fn bit(self, value: bool) -> &'a mut W {
60358                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
60359                self.w
60360            }
60361        }
60362        ///Write proxy for field `P13WP`
60363        pub struct P13WP_W<'a> {
60364            w: &'a mut W,
60365        }
60366        impl<'a> P13WP_W<'a> {
60367            ///Sets the field bit
60368            #[inline(always)]
60369            pub fn set_bit(self) -> &'a mut W {
60370                self.bit(true)
60371            }
60372            ///Clears the field bit
60373            #[inline(always)]
60374            pub fn clear_bit(self) -> &'a mut W {
60375                self.bit(false)
60376            }
60377            ///Writes raw bits to the field
60378            #[inline(always)]
60379            pub fn bit(self, value: bool) -> &'a mut W {
60380                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
60381                self.w
60382            }
60383        }
60384        ///Write proxy for field `P12WP`
60385        pub struct P12WP_W<'a> {
60386            w: &'a mut W,
60387        }
60388        impl<'a> P12WP_W<'a> {
60389            ///Sets the field bit
60390            #[inline(always)]
60391            pub fn set_bit(self) -> &'a mut W {
60392                self.bit(true)
60393            }
60394            ///Clears the field bit
60395            #[inline(always)]
60396            pub fn clear_bit(self) -> &'a mut W {
60397                self.bit(false)
60398            }
60399            ///Writes raw bits to the field
60400            #[inline(always)]
60401            pub fn bit(self, value: bool) -> &'a mut W {
60402                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
60403                self.w
60404            }
60405        }
60406        ///Write proxy for field `P11WP`
60407        pub struct P11WP_W<'a> {
60408            w: &'a mut W,
60409        }
60410        impl<'a> P11WP_W<'a> {
60411            ///Sets the field bit
60412            #[inline(always)]
60413            pub fn set_bit(self) -> &'a mut W {
60414                self.bit(true)
60415            }
60416            ///Clears the field bit
60417            #[inline(always)]
60418            pub fn clear_bit(self) -> &'a mut W {
60419                self.bit(false)
60420            }
60421            ///Writes raw bits to the field
60422            #[inline(always)]
60423            pub fn bit(self, value: bool) -> &'a mut W {
60424                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
60425                self.w
60426            }
60427        }
60428        ///Write proxy for field `P10WP`
60429        pub struct P10WP_W<'a> {
60430            w: &'a mut W,
60431        }
60432        impl<'a> P10WP_W<'a> {
60433            ///Sets the field bit
60434            #[inline(always)]
60435            pub fn set_bit(self) -> &'a mut W {
60436                self.bit(true)
60437            }
60438            ///Clears the field bit
60439            #[inline(always)]
60440            pub fn clear_bit(self) -> &'a mut W {
60441                self.bit(false)
60442            }
60443            ///Writes raw bits to the field
60444            #[inline(always)]
60445            pub fn bit(self, value: bool) -> &'a mut W {
60446                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
60447                self.w
60448            }
60449        }
60450        ///Write proxy for field `P9WP`
60451        pub struct P9WP_W<'a> {
60452            w: &'a mut W,
60453        }
60454        impl<'a> P9WP_W<'a> {
60455            ///Sets the field bit
60456            #[inline(always)]
60457            pub fn set_bit(self) -> &'a mut W {
60458                self.bit(true)
60459            }
60460            ///Clears the field bit
60461            #[inline(always)]
60462            pub fn clear_bit(self) -> &'a mut W {
60463                self.bit(false)
60464            }
60465            ///Writes raw bits to the field
60466            #[inline(always)]
60467            pub fn bit(self, value: bool) -> &'a mut W {
60468                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
60469                self.w
60470            }
60471        }
60472        ///Write proxy for field `P8WP`
60473        pub struct P8WP_W<'a> {
60474            w: &'a mut W,
60475        }
60476        impl<'a> P8WP_W<'a> {
60477            ///Sets the field bit
60478            #[inline(always)]
60479            pub fn set_bit(self) -> &'a mut W {
60480                self.bit(true)
60481            }
60482            ///Clears the field bit
60483            #[inline(always)]
60484            pub fn clear_bit(self) -> &'a mut W {
60485                self.bit(false)
60486            }
60487            ///Writes raw bits to the field
60488            #[inline(always)]
60489            pub fn bit(self, value: bool) -> &'a mut W {
60490                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
60491                self.w
60492            }
60493        }
60494        ///Write proxy for field `P7WP`
60495        pub struct P7WP_W<'a> {
60496            w: &'a mut W,
60497        }
60498        impl<'a> P7WP_W<'a> {
60499            ///Sets the field bit
60500            #[inline(always)]
60501            pub fn set_bit(self) -> &'a mut W {
60502                self.bit(true)
60503            }
60504            ///Clears the field bit
60505            #[inline(always)]
60506            pub fn clear_bit(self) -> &'a mut W {
60507                self.bit(false)
60508            }
60509            ///Writes raw bits to the field
60510            #[inline(always)]
60511            pub fn bit(self, value: bool) -> &'a mut W {
60512                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
60513                self.w
60514            }
60515        }
60516        ///Write proxy for field `P6WP`
60517        pub struct P6WP_W<'a> {
60518            w: &'a mut W,
60519        }
60520        impl<'a> P6WP_W<'a> {
60521            ///Sets the field bit
60522            #[inline(always)]
60523            pub fn set_bit(self) -> &'a mut W {
60524                self.bit(true)
60525            }
60526            ///Clears the field bit
60527            #[inline(always)]
60528            pub fn clear_bit(self) -> &'a mut W {
60529                self.bit(false)
60530            }
60531            ///Writes raw bits to the field
60532            #[inline(always)]
60533            pub fn bit(self, value: bool) -> &'a mut W {
60534                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
60535                self.w
60536            }
60537        }
60538        ///Write proxy for field `P5WP`
60539        pub struct P5WP_W<'a> {
60540            w: &'a mut W,
60541        }
60542        impl<'a> P5WP_W<'a> {
60543            ///Sets the field bit
60544            #[inline(always)]
60545            pub fn set_bit(self) -> &'a mut W {
60546                self.bit(true)
60547            }
60548            ///Clears the field bit
60549            #[inline(always)]
60550            pub fn clear_bit(self) -> &'a mut W {
60551                self.bit(false)
60552            }
60553            ///Writes raw bits to the field
60554            #[inline(always)]
60555            pub fn bit(self, value: bool) -> &'a mut W {
60556                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
60557                self.w
60558            }
60559        }
60560        ///Write proxy for field `P4WP`
60561        pub struct P4WP_W<'a> {
60562            w: &'a mut W,
60563        }
60564        impl<'a> P4WP_W<'a> {
60565            ///Sets the field bit
60566            #[inline(always)]
60567            pub fn set_bit(self) -> &'a mut W {
60568                self.bit(true)
60569            }
60570            ///Clears the field bit
60571            #[inline(always)]
60572            pub fn clear_bit(self) -> &'a mut W {
60573                self.bit(false)
60574            }
60575            ///Writes raw bits to the field
60576            #[inline(always)]
60577            pub fn bit(self, value: bool) -> &'a mut W {
60578                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
60579                self.w
60580            }
60581        }
60582        ///Write proxy for field `P3WP`
60583        pub struct P3WP_W<'a> {
60584            w: &'a mut W,
60585        }
60586        impl<'a> P3WP_W<'a> {
60587            ///Sets the field bit
60588            #[inline(always)]
60589            pub fn set_bit(self) -> &'a mut W {
60590                self.bit(true)
60591            }
60592            ///Clears the field bit
60593            #[inline(always)]
60594            pub fn clear_bit(self) -> &'a mut W {
60595                self.bit(false)
60596            }
60597            ///Writes raw bits to the field
60598            #[inline(always)]
60599            pub fn bit(self, value: bool) -> &'a mut W {
60600                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
60601                self.w
60602            }
60603        }
60604        ///Write proxy for field `P2WP`
60605        pub struct P2WP_W<'a> {
60606            w: &'a mut W,
60607        }
60608        impl<'a> P2WP_W<'a> {
60609            ///Sets the field bit
60610            #[inline(always)]
60611            pub fn set_bit(self) -> &'a mut W {
60612                self.bit(true)
60613            }
60614            ///Clears the field bit
60615            #[inline(always)]
60616            pub fn clear_bit(self) -> &'a mut W {
60617                self.bit(false)
60618            }
60619            ///Writes raw bits to the field
60620            #[inline(always)]
60621            pub fn bit(self, value: bool) -> &'a mut W {
60622                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
60623                self.w
60624            }
60625        }
60626        ///Write proxy for field `P1WP`
60627        pub struct P1WP_W<'a> {
60628            w: &'a mut W,
60629        }
60630        impl<'a> P1WP_W<'a> {
60631            ///Sets the field bit
60632            #[inline(always)]
60633            pub fn set_bit(self) -> &'a mut W {
60634                self.bit(true)
60635            }
60636            ///Clears the field bit
60637            #[inline(always)]
60638            pub fn clear_bit(self) -> &'a mut W {
60639                self.bit(false)
60640            }
60641            ///Writes raw bits to the field
60642            #[inline(always)]
60643            pub fn bit(self, value: bool) -> &'a mut W {
60644                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
60645                self.w
60646            }
60647        }
60648        ///Write proxy for field `P0WP`
60649        pub struct P0WP_W<'a> {
60650            w: &'a mut W,
60651        }
60652        impl<'a> P0WP_W<'a> {
60653            ///Sets the field bit
60654            #[inline(always)]
60655            pub fn set_bit(self) -> &'a mut W {
60656                self.bit(true)
60657            }
60658            ///Clears the field bit
60659            #[inline(always)]
60660            pub fn clear_bit(self) -> &'a mut W {
60661                self.bit(false)
60662            }
60663            ///Writes raw bits to the field
60664            #[inline(always)]
60665            pub fn bit(self, value: bool) -> &'a mut W {
60666                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
60667                self.w
60668            }
60669        }
60670        impl W {
60671            ///Bit 31 - SRAM2 page 31 write protection
60672            #[inline(always)]
60673            pub fn p31wp(&mut self) -> P31WP_W {
60674                P31WP_W { w: self }
60675            }
60676            ///Bit 30 - P30WP
60677            #[inline(always)]
60678            pub fn p30wp(&mut self) -> P30WP_W {
60679                P30WP_W { w: self }
60680            }
60681            ///Bit 29 - P29WP
60682            #[inline(always)]
60683            pub fn p29wp(&mut self) -> P29WP_W {
60684                P29WP_W { w: self }
60685            }
60686            ///Bit 28 - P28WP
60687            #[inline(always)]
60688            pub fn p28wp(&mut self) -> P28WP_W {
60689                P28WP_W { w: self }
60690            }
60691            ///Bit 27 - P27WP
60692            #[inline(always)]
60693            pub fn p27wp(&mut self) -> P27WP_W {
60694                P27WP_W { w: self }
60695            }
60696            ///Bit 26 - P26WP
60697            #[inline(always)]
60698            pub fn p26wp(&mut self) -> P26WP_W {
60699                P26WP_W { w: self }
60700            }
60701            ///Bit 25 - P25WP
60702            #[inline(always)]
60703            pub fn p25wp(&mut self) -> P25WP_W {
60704                P25WP_W { w: self }
60705            }
60706            ///Bit 24 - P24WP
60707            #[inline(always)]
60708            pub fn p24wp(&mut self) -> P24WP_W {
60709                P24WP_W { w: self }
60710            }
60711            ///Bit 23 - P23WP
60712            #[inline(always)]
60713            pub fn p23wp(&mut self) -> P23WP_W {
60714                P23WP_W { w: self }
60715            }
60716            ///Bit 22 - P22WP
60717            #[inline(always)]
60718            pub fn p22wp(&mut self) -> P22WP_W {
60719                P22WP_W { w: self }
60720            }
60721            ///Bit 21 - P21WP
60722            #[inline(always)]
60723            pub fn p21wp(&mut self) -> P21WP_W {
60724                P21WP_W { w: self }
60725            }
60726            ///Bit 20 - P20WP
60727            #[inline(always)]
60728            pub fn p20wp(&mut self) -> P20WP_W {
60729                P20WP_W { w: self }
60730            }
60731            ///Bit 19 - P19WP
60732            #[inline(always)]
60733            pub fn p19wp(&mut self) -> P19WP_W {
60734                P19WP_W { w: self }
60735            }
60736            ///Bit 18 - P18WP
60737            #[inline(always)]
60738            pub fn p18wp(&mut self) -> P18WP_W {
60739                P18WP_W { w: self }
60740            }
60741            ///Bit 17 - P17WP
60742            #[inline(always)]
60743            pub fn p17wp(&mut self) -> P17WP_W {
60744                P17WP_W { w: self }
60745            }
60746            ///Bit 16 - P16WP
60747            #[inline(always)]
60748            pub fn p16wp(&mut self) -> P16WP_W {
60749                P16WP_W { w: self }
60750            }
60751            ///Bit 15 - P15WP
60752            #[inline(always)]
60753            pub fn p15wp(&mut self) -> P15WP_W {
60754                P15WP_W { w: self }
60755            }
60756            ///Bit 14 - P14WP
60757            #[inline(always)]
60758            pub fn p14wp(&mut self) -> P14WP_W {
60759                P14WP_W { w: self }
60760            }
60761            ///Bit 13 - P13WP
60762            #[inline(always)]
60763            pub fn p13wp(&mut self) -> P13WP_W {
60764                P13WP_W { w: self }
60765            }
60766            ///Bit 12 - P12WP
60767            #[inline(always)]
60768            pub fn p12wp(&mut self) -> P12WP_W {
60769                P12WP_W { w: self }
60770            }
60771            ///Bit 11 - P11WP
60772            #[inline(always)]
60773            pub fn p11wp(&mut self) -> P11WP_W {
60774                P11WP_W { w: self }
60775            }
60776            ///Bit 10 - P10WP
60777            #[inline(always)]
60778            pub fn p10wp(&mut self) -> P10WP_W {
60779                P10WP_W { w: self }
60780            }
60781            ///Bit 9 - P9WP
60782            #[inline(always)]
60783            pub fn p9wp(&mut self) -> P9WP_W {
60784                P9WP_W { w: self }
60785            }
60786            ///Bit 8 - P8WP
60787            #[inline(always)]
60788            pub fn p8wp(&mut self) -> P8WP_W {
60789                P8WP_W { w: self }
60790            }
60791            ///Bit 7 - P7WP
60792            #[inline(always)]
60793            pub fn p7wp(&mut self) -> P7WP_W {
60794                P7WP_W { w: self }
60795            }
60796            ///Bit 6 - P6WP
60797            #[inline(always)]
60798            pub fn p6wp(&mut self) -> P6WP_W {
60799                P6WP_W { w: self }
60800            }
60801            ///Bit 5 - P5WP
60802            #[inline(always)]
60803            pub fn p5wp(&mut self) -> P5WP_W {
60804                P5WP_W { w: self }
60805            }
60806            ///Bit 4 - P4WP
60807            #[inline(always)]
60808            pub fn p4wp(&mut self) -> P4WP_W {
60809                P4WP_W { w: self }
60810            }
60811            ///Bit 3 - P3WP
60812            #[inline(always)]
60813            pub fn p3wp(&mut self) -> P3WP_W {
60814                P3WP_W { w: self }
60815            }
60816            ///Bit 2 - P2WP
60817            #[inline(always)]
60818            pub fn p2wp(&mut self) -> P2WP_W {
60819                P2WP_W { w: self }
60820            }
60821            ///Bit 1 - P1WP
60822            #[inline(always)]
60823            pub fn p1wp(&mut self) -> P1WP_W {
60824                P1WP_W { w: self }
60825            }
60826            ///Bit 0 - P0WP
60827            #[inline(always)]
60828            pub fn p0wp(&mut self) -> P0WP_W {
60829                P0WP_W { w: self }
60830            }
60831        }
60832    }
60833    ///SKR
60834    ///
60835    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
60836    ///
60837    ///For information about available fields see [skr](skr) module
60838    pub type SKR = crate::Reg<u32, _SKR>;
60839    #[allow(missing_docs)]
60840    #[doc(hidden)]
60841    pub struct _SKR;
60842    ///`write(|w| ..)` method takes [skr::W](skr::W) writer structure
60843    impl crate::Writable for SKR {}
60844    ///SKR
60845    pub mod skr {
60846        ///Writer for register SKR
60847        pub type W = crate::W<u32, super::SKR>;
60848        ///Register SKR `reset()`'s with value 0
60849        impl crate::ResetValue for super::SKR {
60850            type Type = u32;
60851            #[inline(always)]
60852            fn reset_value() -> Self::Type {
60853                0
60854            }
60855        }
60856        ///Write proxy for field `KEY`
60857        pub struct KEY_W<'a> {
60858            w: &'a mut W,
60859        }
60860        impl<'a> KEY_W<'a> {
60861            ///Writes raw bits to the field
60862            #[inline(always)]
60863            pub unsafe fn bits(self, value: u8) -> &'a mut W {
60864                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
60865                self.w
60866            }
60867        }
60868        impl W {
60869            ///Bits 0:7 - SRAM2 write protection key for software erase
60870            #[inline(always)]
60871            pub fn key(&mut self) -> KEY_W {
60872                KEY_W { w: self }
60873            }
60874        }
60875    }
60876    ///SRAM2 write protection register 2
60877    ///
60878    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
60879    ///
60880    ///For information about available fields see [swpr2](swpr2) module
60881    pub type SWPR2 = crate::Reg<u32, _SWPR2>;
60882    #[allow(missing_docs)]
60883    #[doc(hidden)]
60884    pub struct _SWPR2;
60885    ///`write(|w| ..)` method takes [swpr2::W](swpr2::W) writer structure
60886    impl crate::Writable for SWPR2 {}
60887    ///SRAM2 write protection register 2
60888    pub mod swpr2 {
60889        ///Writer for register SWPR2
60890        pub type W = crate::W<u32, super::SWPR2>;
60891        ///Register SWPR2 `reset()`'s with value 0
60892        impl crate::ResetValue for super::SWPR2 {
60893            type Type = u32;
60894            #[inline(always)]
60895            fn reset_value() -> Self::Type {
60896                0
60897            }
60898        }
60899        ///Write proxy for field `P63WP`
60900        pub struct P63WP_W<'a> {
60901            w: &'a mut W,
60902        }
60903        impl<'a> P63WP_W<'a> {
60904            ///Sets the field bit
60905            #[inline(always)]
60906            pub fn set_bit(self) -> &'a mut W {
60907                self.bit(true)
60908            }
60909            ///Clears the field bit
60910            #[inline(always)]
60911            pub fn clear_bit(self) -> &'a mut W {
60912                self.bit(false)
60913            }
60914            ///Writes raw bits to the field
60915            #[inline(always)]
60916            pub fn bit(self, value: bool) -> &'a mut W {
60917                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
60918                self.w
60919            }
60920        }
60921        ///Write proxy for field `P62WP`
60922        pub struct P62WP_W<'a> {
60923            w: &'a mut W,
60924        }
60925        impl<'a> P62WP_W<'a> {
60926            ///Sets the field bit
60927            #[inline(always)]
60928            pub fn set_bit(self) -> &'a mut W {
60929                self.bit(true)
60930            }
60931            ///Clears the field bit
60932            #[inline(always)]
60933            pub fn clear_bit(self) -> &'a mut W {
60934                self.bit(false)
60935            }
60936            ///Writes raw bits to the field
60937            #[inline(always)]
60938            pub fn bit(self, value: bool) -> &'a mut W {
60939                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
60940                self.w
60941            }
60942        }
60943        ///Write proxy for field `P61WP`
60944        pub struct P61WP_W<'a> {
60945            w: &'a mut W,
60946        }
60947        impl<'a> P61WP_W<'a> {
60948            ///Sets the field bit
60949            #[inline(always)]
60950            pub fn set_bit(self) -> &'a mut W {
60951                self.bit(true)
60952            }
60953            ///Clears the field bit
60954            #[inline(always)]
60955            pub fn clear_bit(self) -> &'a mut W {
60956                self.bit(false)
60957            }
60958            ///Writes raw bits to the field
60959            #[inline(always)]
60960            pub fn bit(self, value: bool) -> &'a mut W {
60961                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
60962                self.w
60963            }
60964        }
60965        ///Write proxy for field `P60WP`
60966        pub struct P60WP_W<'a> {
60967            w: &'a mut W,
60968        }
60969        impl<'a> P60WP_W<'a> {
60970            ///Sets the field bit
60971            #[inline(always)]
60972            pub fn set_bit(self) -> &'a mut W {
60973                self.bit(true)
60974            }
60975            ///Clears the field bit
60976            #[inline(always)]
60977            pub fn clear_bit(self) -> &'a mut W {
60978                self.bit(false)
60979            }
60980            ///Writes raw bits to the field
60981            #[inline(always)]
60982            pub fn bit(self, value: bool) -> &'a mut W {
60983                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
60984                self.w
60985            }
60986        }
60987        ///Write proxy for field `P59WP`
60988        pub struct P59WP_W<'a> {
60989            w: &'a mut W,
60990        }
60991        impl<'a> P59WP_W<'a> {
60992            ///Sets the field bit
60993            #[inline(always)]
60994            pub fn set_bit(self) -> &'a mut W {
60995                self.bit(true)
60996            }
60997            ///Clears the field bit
60998            #[inline(always)]
60999            pub fn clear_bit(self) -> &'a mut W {
61000                self.bit(false)
61001            }
61002            ///Writes raw bits to the field
61003            #[inline(always)]
61004            pub fn bit(self, value: bool) -> &'a mut W {
61005                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
61006                self.w
61007            }
61008        }
61009        ///Write proxy for field `P58WP`
61010        pub struct P58WP_W<'a> {
61011            w: &'a mut W,
61012        }
61013        impl<'a> P58WP_W<'a> {
61014            ///Sets the field bit
61015            #[inline(always)]
61016            pub fn set_bit(self) -> &'a mut W {
61017                self.bit(true)
61018            }
61019            ///Clears the field bit
61020            #[inline(always)]
61021            pub fn clear_bit(self) -> &'a mut W {
61022                self.bit(false)
61023            }
61024            ///Writes raw bits to the field
61025            #[inline(always)]
61026            pub fn bit(self, value: bool) -> &'a mut W {
61027                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
61028                self.w
61029            }
61030        }
61031        ///Write proxy for field `P57WP`
61032        pub struct P57WP_W<'a> {
61033            w: &'a mut W,
61034        }
61035        impl<'a> P57WP_W<'a> {
61036            ///Sets the field bit
61037            #[inline(always)]
61038            pub fn set_bit(self) -> &'a mut W {
61039                self.bit(true)
61040            }
61041            ///Clears the field bit
61042            #[inline(always)]
61043            pub fn clear_bit(self) -> &'a mut W {
61044                self.bit(false)
61045            }
61046            ///Writes raw bits to the field
61047            #[inline(always)]
61048            pub fn bit(self, value: bool) -> &'a mut W {
61049                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
61050                self.w
61051            }
61052        }
61053        ///Write proxy for field `P56WP`
61054        pub struct P56WP_W<'a> {
61055            w: &'a mut W,
61056        }
61057        impl<'a> P56WP_W<'a> {
61058            ///Sets the field bit
61059            #[inline(always)]
61060            pub fn set_bit(self) -> &'a mut W {
61061                self.bit(true)
61062            }
61063            ///Clears the field bit
61064            #[inline(always)]
61065            pub fn clear_bit(self) -> &'a mut W {
61066                self.bit(false)
61067            }
61068            ///Writes raw bits to the field
61069            #[inline(always)]
61070            pub fn bit(self, value: bool) -> &'a mut W {
61071                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
61072                self.w
61073            }
61074        }
61075        ///Write proxy for field `P55WP`
61076        pub struct P55WP_W<'a> {
61077            w: &'a mut W,
61078        }
61079        impl<'a> P55WP_W<'a> {
61080            ///Sets the field bit
61081            #[inline(always)]
61082            pub fn set_bit(self) -> &'a mut W {
61083                self.bit(true)
61084            }
61085            ///Clears the field bit
61086            #[inline(always)]
61087            pub fn clear_bit(self) -> &'a mut W {
61088                self.bit(false)
61089            }
61090            ///Writes raw bits to the field
61091            #[inline(always)]
61092            pub fn bit(self, value: bool) -> &'a mut W {
61093                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
61094                self.w
61095            }
61096        }
61097        ///Write proxy for field `P54WP`
61098        pub struct P54WP_W<'a> {
61099            w: &'a mut W,
61100        }
61101        impl<'a> P54WP_W<'a> {
61102            ///Sets the field bit
61103            #[inline(always)]
61104            pub fn set_bit(self) -> &'a mut W {
61105                self.bit(true)
61106            }
61107            ///Clears the field bit
61108            #[inline(always)]
61109            pub fn clear_bit(self) -> &'a mut W {
61110                self.bit(false)
61111            }
61112            ///Writes raw bits to the field
61113            #[inline(always)]
61114            pub fn bit(self, value: bool) -> &'a mut W {
61115                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
61116                self.w
61117            }
61118        }
61119        ///Write proxy for field `P53WP`
61120        pub struct P53WP_W<'a> {
61121            w: &'a mut W,
61122        }
61123        impl<'a> P53WP_W<'a> {
61124            ///Sets the field bit
61125            #[inline(always)]
61126            pub fn set_bit(self) -> &'a mut W {
61127                self.bit(true)
61128            }
61129            ///Clears the field bit
61130            #[inline(always)]
61131            pub fn clear_bit(self) -> &'a mut W {
61132                self.bit(false)
61133            }
61134            ///Writes raw bits to the field
61135            #[inline(always)]
61136            pub fn bit(self, value: bool) -> &'a mut W {
61137                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
61138                self.w
61139            }
61140        }
61141        ///Write proxy for field `P52WP`
61142        pub struct P52WP_W<'a> {
61143            w: &'a mut W,
61144        }
61145        impl<'a> P52WP_W<'a> {
61146            ///Sets the field bit
61147            #[inline(always)]
61148            pub fn set_bit(self) -> &'a mut W {
61149                self.bit(true)
61150            }
61151            ///Clears the field bit
61152            #[inline(always)]
61153            pub fn clear_bit(self) -> &'a mut W {
61154                self.bit(false)
61155            }
61156            ///Writes raw bits to the field
61157            #[inline(always)]
61158            pub fn bit(self, value: bool) -> &'a mut W {
61159                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
61160                self.w
61161            }
61162        }
61163        ///Write proxy for field `P51WP`
61164        pub struct P51WP_W<'a> {
61165            w: &'a mut W,
61166        }
61167        impl<'a> P51WP_W<'a> {
61168            ///Sets the field bit
61169            #[inline(always)]
61170            pub fn set_bit(self) -> &'a mut W {
61171                self.bit(true)
61172            }
61173            ///Clears the field bit
61174            #[inline(always)]
61175            pub fn clear_bit(self) -> &'a mut W {
61176                self.bit(false)
61177            }
61178            ///Writes raw bits to the field
61179            #[inline(always)]
61180            pub fn bit(self, value: bool) -> &'a mut W {
61181                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
61182                self.w
61183            }
61184        }
61185        ///Write proxy for field `P50WP`
61186        pub struct P50WP_W<'a> {
61187            w: &'a mut W,
61188        }
61189        impl<'a> P50WP_W<'a> {
61190            ///Sets the field bit
61191            #[inline(always)]
61192            pub fn set_bit(self) -> &'a mut W {
61193                self.bit(true)
61194            }
61195            ///Clears the field bit
61196            #[inline(always)]
61197            pub fn clear_bit(self) -> &'a mut W {
61198                self.bit(false)
61199            }
61200            ///Writes raw bits to the field
61201            #[inline(always)]
61202            pub fn bit(self, value: bool) -> &'a mut W {
61203                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
61204                self.w
61205            }
61206        }
61207        ///Write proxy for field `P49WP`
61208        pub struct P49WP_W<'a> {
61209            w: &'a mut W,
61210        }
61211        impl<'a> P49WP_W<'a> {
61212            ///Sets the field bit
61213            #[inline(always)]
61214            pub fn set_bit(self) -> &'a mut W {
61215                self.bit(true)
61216            }
61217            ///Clears the field bit
61218            #[inline(always)]
61219            pub fn clear_bit(self) -> &'a mut W {
61220                self.bit(false)
61221            }
61222            ///Writes raw bits to the field
61223            #[inline(always)]
61224            pub fn bit(self, value: bool) -> &'a mut W {
61225                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
61226                self.w
61227            }
61228        }
61229        ///Write proxy for field `P48WP`
61230        pub struct P48WP_W<'a> {
61231            w: &'a mut W,
61232        }
61233        impl<'a> P48WP_W<'a> {
61234            ///Sets the field bit
61235            #[inline(always)]
61236            pub fn set_bit(self) -> &'a mut W {
61237                self.bit(true)
61238            }
61239            ///Clears the field bit
61240            #[inline(always)]
61241            pub fn clear_bit(self) -> &'a mut W {
61242                self.bit(false)
61243            }
61244            ///Writes raw bits to the field
61245            #[inline(always)]
61246            pub fn bit(self, value: bool) -> &'a mut W {
61247                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
61248                self.w
61249            }
61250        }
61251        ///Write proxy for field `P47WP`
61252        pub struct P47WP_W<'a> {
61253            w: &'a mut W,
61254        }
61255        impl<'a> P47WP_W<'a> {
61256            ///Sets the field bit
61257            #[inline(always)]
61258            pub fn set_bit(self) -> &'a mut W {
61259                self.bit(true)
61260            }
61261            ///Clears the field bit
61262            #[inline(always)]
61263            pub fn clear_bit(self) -> &'a mut W {
61264                self.bit(false)
61265            }
61266            ///Writes raw bits to the field
61267            #[inline(always)]
61268            pub fn bit(self, value: bool) -> &'a mut W {
61269                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
61270                self.w
61271            }
61272        }
61273        ///Write proxy for field `P46WP`
61274        pub struct P46WP_W<'a> {
61275            w: &'a mut W,
61276        }
61277        impl<'a> P46WP_W<'a> {
61278            ///Sets the field bit
61279            #[inline(always)]
61280            pub fn set_bit(self) -> &'a mut W {
61281                self.bit(true)
61282            }
61283            ///Clears the field bit
61284            #[inline(always)]
61285            pub fn clear_bit(self) -> &'a mut W {
61286                self.bit(false)
61287            }
61288            ///Writes raw bits to the field
61289            #[inline(always)]
61290            pub fn bit(self, value: bool) -> &'a mut W {
61291                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
61292                self.w
61293            }
61294        }
61295        ///Write proxy for field `P45WP`
61296        pub struct P45WP_W<'a> {
61297            w: &'a mut W,
61298        }
61299        impl<'a> P45WP_W<'a> {
61300            ///Sets the field bit
61301            #[inline(always)]
61302            pub fn set_bit(self) -> &'a mut W {
61303                self.bit(true)
61304            }
61305            ///Clears the field bit
61306            #[inline(always)]
61307            pub fn clear_bit(self) -> &'a mut W {
61308                self.bit(false)
61309            }
61310            ///Writes raw bits to the field
61311            #[inline(always)]
61312            pub fn bit(self, value: bool) -> &'a mut W {
61313                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
61314                self.w
61315            }
61316        }
61317        ///Write proxy for field `P44WP`
61318        pub struct P44WP_W<'a> {
61319            w: &'a mut W,
61320        }
61321        impl<'a> P44WP_W<'a> {
61322            ///Sets the field bit
61323            #[inline(always)]
61324            pub fn set_bit(self) -> &'a mut W {
61325                self.bit(true)
61326            }
61327            ///Clears the field bit
61328            #[inline(always)]
61329            pub fn clear_bit(self) -> &'a mut W {
61330                self.bit(false)
61331            }
61332            ///Writes raw bits to the field
61333            #[inline(always)]
61334            pub fn bit(self, value: bool) -> &'a mut W {
61335                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
61336                self.w
61337            }
61338        }
61339        ///Write proxy for field `P43WP`
61340        pub struct P43WP_W<'a> {
61341            w: &'a mut W,
61342        }
61343        impl<'a> P43WP_W<'a> {
61344            ///Sets the field bit
61345            #[inline(always)]
61346            pub fn set_bit(self) -> &'a mut W {
61347                self.bit(true)
61348            }
61349            ///Clears the field bit
61350            #[inline(always)]
61351            pub fn clear_bit(self) -> &'a mut W {
61352                self.bit(false)
61353            }
61354            ///Writes raw bits to the field
61355            #[inline(always)]
61356            pub fn bit(self, value: bool) -> &'a mut W {
61357                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
61358                self.w
61359            }
61360        }
61361        ///Write proxy for field `P42WP`
61362        pub struct P42WP_W<'a> {
61363            w: &'a mut W,
61364        }
61365        impl<'a> P42WP_W<'a> {
61366            ///Sets the field bit
61367            #[inline(always)]
61368            pub fn set_bit(self) -> &'a mut W {
61369                self.bit(true)
61370            }
61371            ///Clears the field bit
61372            #[inline(always)]
61373            pub fn clear_bit(self) -> &'a mut W {
61374                self.bit(false)
61375            }
61376            ///Writes raw bits to the field
61377            #[inline(always)]
61378            pub fn bit(self, value: bool) -> &'a mut W {
61379                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
61380                self.w
61381            }
61382        }
61383        ///Write proxy for field `P41WP`
61384        pub struct P41WP_W<'a> {
61385            w: &'a mut W,
61386        }
61387        impl<'a> P41WP_W<'a> {
61388            ///Sets the field bit
61389            #[inline(always)]
61390            pub fn set_bit(self) -> &'a mut W {
61391                self.bit(true)
61392            }
61393            ///Clears the field bit
61394            #[inline(always)]
61395            pub fn clear_bit(self) -> &'a mut W {
61396                self.bit(false)
61397            }
61398            ///Writes raw bits to the field
61399            #[inline(always)]
61400            pub fn bit(self, value: bool) -> &'a mut W {
61401                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
61402                self.w
61403            }
61404        }
61405        ///Write proxy for field `P40WP`
61406        pub struct P40WP_W<'a> {
61407            w: &'a mut W,
61408        }
61409        impl<'a> P40WP_W<'a> {
61410            ///Sets the field bit
61411            #[inline(always)]
61412            pub fn set_bit(self) -> &'a mut W {
61413                self.bit(true)
61414            }
61415            ///Clears the field bit
61416            #[inline(always)]
61417            pub fn clear_bit(self) -> &'a mut W {
61418                self.bit(false)
61419            }
61420            ///Writes raw bits to the field
61421            #[inline(always)]
61422            pub fn bit(self, value: bool) -> &'a mut W {
61423                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
61424                self.w
61425            }
61426        }
61427        ///Write proxy for field `P39WP`
61428        pub struct P39WP_W<'a> {
61429            w: &'a mut W,
61430        }
61431        impl<'a> P39WP_W<'a> {
61432            ///Sets the field bit
61433            #[inline(always)]
61434            pub fn set_bit(self) -> &'a mut W {
61435                self.bit(true)
61436            }
61437            ///Clears the field bit
61438            #[inline(always)]
61439            pub fn clear_bit(self) -> &'a mut W {
61440                self.bit(false)
61441            }
61442            ///Writes raw bits to the field
61443            #[inline(always)]
61444            pub fn bit(self, value: bool) -> &'a mut W {
61445                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
61446                self.w
61447            }
61448        }
61449        ///Write proxy for field `P38WP`
61450        pub struct P38WP_W<'a> {
61451            w: &'a mut W,
61452        }
61453        impl<'a> P38WP_W<'a> {
61454            ///Sets the field bit
61455            #[inline(always)]
61456            pub fn set_bit(self) -> &'a mut W {
61457                self.bit(true)
61458            }
61459            ///Clears the field bit
61460            #[inline(always)]
61461            pub fn clear_bit(self) -> &'a mut W {
61462                self.bit(false)
61463            }
61464            ///Writes raw bits to the field
61465            #[inline(always)]
61466            pub fn bit(self, value: bool) -> &'a mut W {
61467                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
61468                self.w
61469            }
61470        }
61471        ///Write proxy for field `P37WP`
61472        pub struct P37WP_W<'a> {
61473            w: &'a mut W,
61474        }
61475        impl<'a> P37WP_W<'a> {
61476            ///Sets the field bit
61477            #[inline(always)]
61478            pub fn set_bit(self) -> &'a mut W {
61479                self.bit(true)
61480            }
61481            ///Clears the field bit
61482            #[inline(always)]
61483            pub fn clear_bit(self) -> &'a mut W {
61484                self.bit(false)
61485            }
61486            ///Writes raw bits to the field
61487            #[inline(always)]
61488            pub fn bit(self, value: bool) -> &'a mut W {
61489                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
61490                self.w
61491            }
61492        }
61493        ///Write proxy for field `P36WP`
61494        pub struct P36WP_W<'a> {
61495            w: &'a mut W,
61496        }
61497        impl<'a> P36WP_W<'a> {
61498            ///Sets the field bit
61499            #[inline(always)]
61500            pub fn set_bit(self) -> &'a mut W {
61501                self.bit(true)
61502            }
61503            ///Clears the field bit
61504            #[inline(always)]
61505            pub fn clear_bit(self) -> &'a mut W {
61506                self.bit(false)
61507            }
61508            ///Writes raw bits to the field
61509            #[inline(always)]
61510            pub fn bit(self, value: bool) -> &'a mut W {
61511                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
61512                self.w
61513            }
61514        }
61515        ///Write proxy for field `P35WP`
61516        pub struct P35WP_W<'a> {
61517            w: &'a mut W,
61518        }
61519        impl<'a> P35WP_W<'a> {
61520            ///Sets the field bit
61521            #[inline(always)]
61522            pub fn set_bit(self) -> &'a mut W {
61523                self.bit(true)
61524            }
61525            ///Clears the field bit
61526            #[inline(always)]
61527            pub fn clear_bit(self) -> &'a mut W {
61528                self.bit(false)
61529            }
61530            ///Writes raw bits to the field
61531            #[inline(always)]
61532            pub fn bit(self, value: bool) -> &'a mut W {
61533                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
61534                self.w
61535            }
61536        }
61537        ///Write proxy for field `P34WP`
61538        pub struct P34WP_W<'a> {
61539            w: &'a mut W,
61540        }
61541        impl<'a> P34WP_W<'a> {
61542            ///Sets the field bit
61543            #[inline(always)]
61544            pub fn set_bit(self) -> &'a mut W {
61545                self.bit(true)
61546            }
61547            ///Clears the field bit
61548            #[inline(always)]
61549            pub fn clear_bit(self) -> &'a mut W {
61550                self.bit(false)
61551            }
61552            ///Writes raw bits to the field
61553            #[inline(always)]
61554            pub fn bit(self, value: bool) -> &'a mut W {
61555                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
61556                self.w
61557            }
61558        }
61559        ///Write proxy for field `P33WP`
61560        pub struct P33WP_W<'a> {
61561            w: &'a mut W,
61562        }
61563        impl<'a> P33WP_W<'a> {
61564            ///Sets the field bit
61565            #[inline(always)]
61566            pub fn set_bit(self) -> &'a mut W {
61567                self.bit(true)
61568            }
61569            ///Clears the field bit
61570            #[inline(always)]
61571            pub fn clear_bit(self) -> &'a mut W {
61572                self.bit(false)
61573            }
61574            ///Writes raw bits to the field
61575            #[inline(always)]
61576            pub fn bit(self, value: bool) -> &'a mut W {
61577                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
61578                self.w
61579            }
61580        }
61581        ///Write proxy for field `P32WP`
61582        pub struct P32WP_W<'a> {
61583            w: &'a mut W,
61584        }
61585        impl<'a> P32WP_W<'a> {
61586            ///Sets the field bit
61587            #[inline(always)]
61588            pub fn set_bit(self) -> &'a mut W {
61589                self.bit(true)
61590            }
61591            ///Clears the field bit
61592            #[inline(always)]
61593            pub fn clear_bit(self) -> &'a mut W {
61594                self.bit(false)
61595            }
61596            ///Writes raw bits to the field
61597            #[inline(always)]
61598            pub fn bit(self, value: bool) -> &'a mut W {
61599                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
61600                self.w
61601            }
61602        }
61603        impl W {
61604            ///Bit 31 - SRAM2 page 63 write protection
61605            #[inline(always)]
61606            pub fn p63wp(&mut self) -> P63WP_W {
61607                P63WP_W { w: self }
61608            }
61609            ///Bit 30 - P62WP
61610            #[inline(always)]
61611            pub fn p62wp(&mut self) -> P62WP_W {
61612                P62WP_W { w: self }
61613            }
61614            ///Bit 29 - P61WP
61615            #[inline(always)]
61616            pub fn p61wp(&mut self) -> P61WP_W {
61617                P61WP_W { w: self }
61618            }
61619            ///Bit 28 - P60WP
61620            #[inline(always)]
61621            pub fn p60wp(&mut self) -> P60WP_W {
61622                P60WP_W { w: self }
61623            }
61624            ///Bit 27 - P59WP
61625            #[inline(always)]
61626            pub fn p59wp(&mut self) -> P59WP_W {
61627                P59WP_W { w: self }
61628            }
61629            ///Bit 26 - P58WP
61630            #[inline(always)]
61631            pub fn p58wp(&mut self) -> P58WP_W {
61632                P58WP_W { w: self }
61633            }
61634            ///Bit 25 - P57WP
61635            #[inline(always)]
61636            pub fn p57wp(&mut self) -> P57WP_W {
61637                P57WP_W { w: self }
61638            }
61639            ///Bit 24 - P56WP
61640            #[inline(always)]
61641            pub fn p56wp(&mut self) -> P56WP_W {
61642                P56WP_W { w: self }
61643            }
61644            ///Bit 23 - P55WP
61645            #[inline(always)]
61646            pub fn p55wp(&mut self) -> P55WP_W {
61647                P55WP_W { w: self }
61648            }
61649            ///Bit 22 - P54WP
61650            #[inline(always)]
61651            pub fn p54wp(&mut self) -> P54WP_W {
61652                P54WP_W { w: self }
61653            }
61654            ///Bit 21 - P53WP
61655            #[inline(always)]
61656            pub fn p53wp(&mut self) -> P53WP_W {
61657                P53WP_W { w: self }
61658            }
61659            ///Bit 20 - P52WP
61660            #[inline(always)]
61661            pub fn p52wp(&mut self) -> P52WP_W {
61662                P52WP_W { w: self }
61663            }
61664            ///Bit 19 - P51WP
61665            #[inline(always)]
61666            pub fn p51wp(&mut self) -> P51WP_W {
61667                P51WP_W { w: self }
61668            }
61669            ///Bit 18 - P50WP
61670            #[inline(always)]
61671            pub fn p50wp(&mut self) -> P50WP_W {
61672                P50WP_W { w: self }
61673            }
61674            ///Bit 17 - P49WP
61675            #[inline(always)]
61676            pub fn p49wp(&mut self) -> P49WP_W {
61677                P49WP_W { w: self }
61678            }
61679            ///Bit 16 - P48WP
61680            #[inline(always)]
61681            pub fn p48wp(&mut self) -> P48WP_W {
61682                P48WP_W { w: self }
61683            }
61684            ///Bit 15 - P47WP
61685            #[inline(always)]
61686            pub fn p47wp(&mut self) -> P47WP_W {
61687                P47WP_W { w: self }
61688            }
61689            ///Bit 14 - P46WP
61690            #[inline(always)]
61691            pub fn p46wp(&mut self) -> P46WP_W {
61692                P46WP_W { w: self }
61693            }
61694            ///Bit 13 - P45WP
61695            #[inline(always)]
61696            pub fn p45wp(&mut self) -> P45WP_W {
61697                P45WP_W { w: self }
61698            }
61699            ///Bit 12 - P44WP
61700            #[inline(always)]
61701            pub fn p44wp(&mut self) -> P44WP_W {
61702                P44WP_W { w: self }
61703            }
61704            ///Bit 11 - P43WP
61705            #[inline(always)]
61706            pub fn p43wp(&mut self) -> P43WP_W {
61707                P43WP_W { w: self }
61708            }
61709            ///Bit 10 - P42WP
61710            #[inline(always)]
61711            pub fn p42wp(&mut self) -> P42WP_W {
61712                P42WP_W { w: self }
61713            }
61714            ///Bit 9 - P41WP
61715            #[inline(always)]
61716            pub fn p41wp(&mut self) -> P41WP_W {
61717                P41WP_W { w: self }
61718            }
61719            ///Bit 8 - P40WP
61720            #[inline(always)]
61721            pub fn p40wp(&mut self) -> P40WP_W {
61722                P40WP_W { w: self }
61723            }
61724            ///Bit 7 - P39WP
61725            #[inline(always)]
61726            pub fn p39wp(&mut self) -> P39WP_W {
61727                P39WP_W { w: self }
61728            }
61729            ///Bit 6 - P38WP
61730            #[inline(always)]
61731            pub fn p38wp(&mut self) -> P38WP_W {
61732                P38WP_W { w: self }
61733            }
61734            ///Bit 5 - P37WP
61735            #[inline(always)]
61736            pub fn p37wp(&mut self) -> P37WP_W {
61737                P37WP_W { w: self }
61738            }
61739            ///Bit 4 - P36WP
61740            #[inline(always)]
61741            pub fn p36wp(&mut self) -> P36WP_W {
61742                P36WP_W { w: self }
61743            }
61744            ///Bit 3 - P35WP
61745            #[inline(always)]
61746            pub fn p35wp(&mut self) -> P35WP_W {
61747                P35WP_W { w: self }
61748            }
61749            ///Bit 2 - P34WP
61750            #[inline(always)]
61751            pub fn p34wp(&mut self) -> P34WP_W {
61752                P34WP_W { w: self }
61753            }
61754            ///Bit 1 - P33WP
61755            #[inline(always)]
61756            pub fn p33wp(&mut self) -> P33WP_W {
61757                P33WP_W { w: self }
61758            }
61759            ///Bit 0 - P32WP
61760            #[inline(always)]
61761            pub fn p32wp(&mut self) -> P32WP_W {
61762                P32WP_W { w: self }
61763            }
61764        }
61765    }
61766    ///CPU1 interrupt mask register 1
61767    ///
61768    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
61769    ///
61770    ///For information about available fields see [imr1](imr1) module
61771    pub type IMR1 = crate::Reg<u32, _IMR1>;
61772    #[allow(missing_docs)]
61773    #[doc(hidden)]
61774    pub struct _IMR1;
61775    ///`read()` method returns [imr1::R](imr1::R) reader structure
61776    impl crate::Readable for IMR1 {}
61777    ///`write(|w| ..)` method takes [imr1::W](imr1::W) writer structure
61778    impl crate::Writable for IMR1 {}
61779    ///CPU1 interrupt mask register 1
61780    pub mod imr1 {
61781        ///Reader of register IMR1
61782        pub type R = crate::R<u32, super::IMR1>;
61783        ///Writer for register IMR1
61784        pub type W = crate::W<u32, super::IMR1>;
61785        ///Register IMR1 `reset()`'s with value 0
61786        impl crate::ResetValue for super::IMR1 {
61787            type Type = u32;
61788            #[inline(always)]
61789            fn reset_value() -> Self::Type {
61790                0
61791            }
61792        }
61793        ///Reader of field `TIM1IM`
61794        pub type TIM1IM_R = crate::R<bool, bool>;
61795        ///Write proxy for field `TIM1IM`
61796        pub struct TIM1IM_W<'a> {
61797            w: &'a mut W,
61798        }
61799        impl<'a> TIM1IM_W<'a> {
61800            ///Sets the field bit
61801            #[inline(always)]
61802            pub fn set_bit(self) -> &'a mut W {
61803                self.bit(true)
61804            }
61805            ///Clears the field bit
61806            #[inline(always)]
61807            pub fn clear_bit(self) -> &'a mut W {
61808                self.bit(false)
61809            }
61810            ///Writes raw bits to the field
61811            #[inline(always)]
61812            pub fn bit(self, value: bool) -> &'a mut W {
61813                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
61814                self.w
61815            }
61816        }
61817        ///Reader of field `TIM16IM`
61818        pub type TIM16IM_R = crate::R<bool, bool>;
61819        ///Write proxy for field `TIM16IM`
61820        pub struct TIM16IM_W<'a> {
61821            w: &'a mut W,
61822        }
61823        impl<'a> TIM16IM_W<'a> {
61824            ///Sets the field bit
61825            #[inline(always)]
61826            pub fn set_bit(self) -> &'a mut W {
61827                self.bit(true)
61828            }
61829            ///Clears the field bit
61830            #[inline(always)]
61831            pub fn clear_bit(self) -> &'a mut W {
61832                self.bit(false)
61833            }
61834            ///Writes raw bits to the field
61835            #[inline(always)]
61836            pub fn bit(self, value: bool) -> &'a mut W {
61837                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
61838                self.w
61839            }
61840        }
61841        ///Reader of field `TIM17IM`
61842        pub type TIM17IM_R = crate::R<bool, bool>;
61843        ///Write proxy for field `TIM17IM`
61844        pub struct TIM17IM_W<'a> {
61845            w: &'a mut W,
61846        }
61847        impl<'a> TIM17IM_W<'a> {
61848            ///Sets the field bit
61849            #[inline(always)]
61850            pub fn set_bit(self) -> &'a mut W {
61851                self.bit(true)
61852            }
61853            ///Clears the field bit
61854            #[inline(always)]
61855            pub fn clear_bit(self) -> &'a mut W {
61856                self.bit(false)
61857            }
61858            ///Writes raw bits to the field
61859            #[inline(always)]
61860            pub fn bit(self, value: bool) -> &'a mut W {
61861                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
61862                self.w
61863            }
61864        }
61865        ///Reader of field `EXIT5IM`
61866        pub type EXIT5IM_R = crate::R<bool, bool>;
61867        ///Write proxy for field `EXIT5IM`
61868        pub struct EXIT5IM_W<'a> {
61869            w: &'a mut W,
61870        }
61871        impl<'a> EXIT5IM_W<'a> {
61872            ///Sets the field bit
61873            #[inline(always)]
61874            pub fn set_bit(self) -> &'a mut W {
61875                self.bit(true)
61876            }
61877            ///Clears the field bit
61878            #[inline(always)]
61879            pub fn clear_bit(self) -> &'a mut W {
61880                self.bit(false)
61881            }
61882            ///Writes raw bits to the field
61883            #[inline(always)]
61884            pub fn bit(self, value: bool) -> &'a mut W {
61885                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
61886                self.w
61887            }
61888        }
61889        ///Reader of field `EXIT6IM`
61890        pub type EXIT6IM_R = crate::R<bool, bool>;
61891        ///Write proxy for field `EXIT6IM`
61892        pub struct EXIT6IM_W<'a> {
61893            w: &'a mut W,
61894        }
61895        impl<'a> EXIT6IM_W<'a> {
61896            ///Sets the field bit
61897            #[inline(always)]
61898            pub fn set_bit(self) -> &'a mut W {
61899                self.bit(true)
61900            }
61901            ///Clears the field bit
61902            #[inline(always)]
61903            pub fn clear_bit(self) -> &'a mut W {
61904                self.bit(false)
61905            }
61906            ///Writes raw bits to the field
61907            #[inline(always)]
61908            pub fn bit(self, value: bool) -> &'a mut W {
61909                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
61910                self.w
61911            }
61912        }
61913        ///Reader of field `EXIT7IM`
61914        pub type EXIT7IM_R = crate::R<bool, bool>;
61915        ///Write proxy for field `EXIT7IM`
61916        pub struct EXIT7IM_W<'a> {
61917            w: &'a mut W,
61918        }
61919        impl<'a> EXIT7IM_W<'a> {
61920            ///Sets the field bit
61921            #[inline(always)]
61922            pub fn set_bit(self) -> &'a mut W {
61923                self.bit(true)
61924            }
61925            ///Clears the field bit
61926            #[inline(always)]
61927            pub fn clear_bit(self) -> &'a mut W {
61928                self.bit(false)
61929            }
61930            ///Writes raw bits to the field
61931            #[inline(always)]
61932            pub fn bit(self, value: bool) -> &'a mut W {
61933                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
61934                self.w
61935            }
61936        }
61937        ///Reader of field `EXIT8IM`
61938        pub type EXIT8IM_R = crate::R<bool, bool>;
61939        ///Write proxy for field `EXIT8IM`
61940        pub struct EXIT8IM_W<'a> {
61941            w: &'a mut W,
61942        }
61943        impl<'a> EXIT8IM_W<'a> {
61944            ///Sets the field bit
61945            #[inline(always)]
61946            pub fn set_bit(self) -> &'a mut W {
61947                self.bit(true)
61948            }
61949            ///Clears the field bit
61950            #[inline(always)]
61951            pub fn clear_bit(self) -> &'a mut W {
61952                self.bit(false)
61953            }
61954            ///Writes raw bits to the field
61955            #[inline(always)]
61956            pub fn bit(self, value: bool) -> &'a mut W {
61957                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
61958                self.w
61959            }
61960        }
61961        ///Reader of field `EXIT9IM`
61962        pub type EXIT9IM_R = crate::R<bool, bool>;
61963        ///Write proxy for field `EXIT9IM`
61964        pub struct EXIT9IM_W<'a> {
61965            w: &'a mut W,
61966        }
61967        impl<'a> EXIT9IM_W<'a> {
61968            ///Sets the field bit
61969            #[inline(always)]
61970            pub fn set_bit(self) -> &'a mut W {
61971                self.bit(true)
61972            }
61973            ///Clears the field bit
61974            #[inline(always)]
61975            pub fn clear_bit(self) -> &'a mut W {
61976                self.bit(false)
61977            }
61978            ///Writes raw bits to the field
61979            #[inline(always)]
61980            pub fn bit(self, value: bool) -> &'a mut W {
61981                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
61982                self.w
61983            }
61984        }
61985        ///Reader of field `EXIT10IM`
61986        pub type EXIT10IM_R = crate::R<bool, bool>;
61987        ///Write proxy for field `EXIT10IM`
61988        pub struct EXIT10IM_W<'a> {
61989            w: &'a mut W,
61990        }
61991        impl<'a> EXIT10IM_W<'a> {
61992            ///Sets the field bit
61993            #[inline(always)]
61994            pub fn set_bit(self) -> &'a mut W {
61995                self.bit(true)
61996            }
61997            ///Clears the field bit
61998            #[inline(always)]
61999            pub fn clear_bit(self) -> &'a mut W {
62000                self.bit(false)
62001            }
62002            ///Writes raw bits to the field
62003            #[inline(always)]
62004            pub fn bit(self, value: bool) -> &'a mut W {
62005                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
62006                self.w
62007            }
62008        }
62009        ///Reader of field `EXIT11IM`
62010        pub type EXIT11IM_R = crate::R<bool, bool>;
62011        ///Write proxy for field `EXIT11IM`
62012        pub struct EXIT11IM_W<'a> {
62013            w: &'a mut W,
62014        }
62015        impl<'a> EXIT11IM_W<'a> {
62016            ///Sets the field bit
62017            #[inline(always)]
62018            pub fn set_bit(self) -> &'a mut W {
62019                self.bit(true)
62020            }
62021            ///Clears the field bit
62022            #[inline(always)]
62023            pub fn clear_bit(self) -> &'a mut W {
62024                self.bit(false)
62025            }
62026            ///Writes raw bits to the field
62027            #[inline(always)]
62028            pub fn bit(self, value: bool) -> &'a mut W {
62029                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
62030                self.w
62031            }
62032        }
62033        ///Reader of field `EXIT12IM`
62034        pub type EXIT12IM_R = crate::R<bool, bool>;
62035        ///Write proxy for field `EXIT12IM`
62036        pub struct EXIT12IM_W<'a> {
62037            w: &'a mut W,
62038        }
62039        impl<'a> EXIT12IM_W<'a> {
62040            ///Sets the field bit
62041            #[inline(always)]
62042            pub fn set_bit(self) -> &'a mut W {
62043                self.bit(true)
62044            }
62045            ///Clears the field bit
62046            #[inline(always)]
62047            pub fn clear_bit(self) -> &'a mut W {
62048                self.bit(false)
62049            }
62050            ///Writes raw bits to the field
62051            #[inline(always)]
62052            pub fn bit(self, value: bool) -> &'a mut W {
62053                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
62054                self.w
62055            }
62056        }
62057        ///Reader of field `EXIT13IM`
62058        pub type EXIT13IM_R = crate::R<bool, bool>;
62059        ///Write proxy for field `EXIT13IM`
62060        pub struct EXIT13IM_W<'a> {
62061            w: &'a mut W,
62062        }
62063        impl<'a> EXIT13IM_W<'a> {
62064            ///Sets the field bit
62065            #[inline(always)]
62066            pub fn set_bit(self) -> &'a mut W {
62067                self.bit(true)
62068            }
62069            ///Clears the field bit
62070            #[inline(always)]
62071            pub fn clear_bit(self) -> &'a mut W {
62072                self.bit(false)
62073            }
62074            ///Writes raw bits to the field
62075            #[inline(always)]
62076            pub fn bit(self, value: bool) -> &'a mut W {
62077                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
62078                self.w
62079            }
62080        }
62081        ///Reader of field `EXIT14IM`
62082        pub type EXIT14IM_R = crate::R<bool, bool>;
62083        ///Write proxy for field `EXIT14IM`
62084        pub struct EXIT14IM_W<'a> {
62085            w: &'a mut W,
62086        }
62087        impl<'a> EXIT14IM_W<'a> {
62088            ///Sets the field bit
62089            #[inline(always)]
62090            pub fn set_bit(self) -> &'a mut W {
62091                self.bit(true)
62092            }
62093            ///Clears the field bit
62094            #[inline(always)]
62095            pub fn clear_bit(self) -> &'a mut W {
62096                self.bit(false)
62097            }
62098            ///Writes raw bits to the field
62099            #[inline(always)]
62100            pub fn bit(self, value: bool) -> &'a mut W {
62101                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
62102                self.w
62103            }
62104        }
62105        ///Reader of field `EXIT15IM`
62106        pub type EXIT15IM_R = crate::R<bool, bool>;
62107        ///Write proxy for field `EXIT15IM`
62108        pub struct EXIT15IM_W<'a> {
62109            w: &'a mut W,
62110        }
62111        impl<'a> EXIT15IM_W<'a> {
62112            ///Sets the field bit
62113            #[inline(always)]
62114            pub fn set_bit(self) -> &'a mut W {
62115                self.bit(true)
62116            }
62117            ///Clears the field bit
62118            #[inline(always)]
62119            pub fn clear_bit(self) -> &'a mut W {
62120                self.bit(false)
62121            }
62122            ///Writes raw bits to the field
62123            #[inline(always)]
62124            pub fn bit(self, value: bool) -> &'a mut W {
62125                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
62126                self.w
62127            }
62128        }
62129        impl R {
62130            ///Bit 13 - Peripheral TIM1 interrupt mask to CPU1
62131            #[inline(always)]
62132            pub fn tim1im(&self) -> TIM1IM_R {
62133                TIM1IM_R::new(((self.bits >> 13) & 0x01) != 0)
62134            }
62135            ///Bit 14 - Peripheral TIM16 interrupt mask to CPU1
62136            #[inline(always)]
62137            pub fn tim16im(&self) -> TIM16IM_R {
62138                TIM16IM_R::new(((self.bits >> 14) & 0x01) != 0)
62139            }
62140            ///Bit 15 - Peripheral TIM17 interrupt mask to CPU1
62141            #[inline(always)]
62142            pub fn tim17im(&self) -> TIM17IM_R {
62143                TIM17IM_R::new(((self.bits >> 15) & 0x01) != 0)
62144            }
62145            ///Bit 21 - Peripheral EXIT5 interrupt mask to CPU1
62146            #[inline(always)]
62147            pub fn exit5im(&self) -> EXIT5IM_R {
62148                EXIT5IM_R::new(((self.bits >> 21) & 0x01) != 0)
62149            }
62150            ///Bit 22 - Peripheral EXIT6 interrupt mask to CPU1
62151            #[inline(always)]
62152            pub fn exit6im(&self) -> EXIT6IM_R {
62153                EXIT6IM_R::new(((self.bits >> 22) & 0x01) != 0)
62154            }
62155            ///Bit 23 - Peripheral EXIT7 interrupt mask to CPU1
62156            #[inline(always)]
62157            pub fn exit7im(&self) -> EXIT7IM_R {
62158                EXIT7IM_R::new(((self.bits >> 23) & 0x01) != 0)
62159            }
62160            ///Bit 24 - Peripheral EXIT8 interrupt mask to CPU1
62161            #[inline(always)]
62162            pub fn exit8im(&self) -> EXIT8IM_R {
62163                EXIT8IM_R::new(((self.bits >> 24) & 0x01) != 0)
62164            }
62165            ///Bit 25 - Peripheral EXIT9 interrupt mask to CPU1
62166            #[inline(always)]
62167            pub fn exit9im(&self) -> EXIT9IM_R {
62168                EXIT9IM_R::new(((self.bits >> 25) & 0x01) != 0)
62169            }
62170            ///Bit 26 - Peripheral EXIT10 interrupt mask to CPU1
62171            #[inline(always)]
62172            pub fn exit10im(&self) -> EXIT10IM_R {
62173                EXIT10IM_R::new(((self.bits >> 26) & 0x01) != 0)
62174            }
62175            ///Bit 27 - Peripheral EXIT11 interrupt mask to CPU1
62176            #[inline(always)]
62177            pub fn exit11im(&self) -> EXIT11IM_R {
62178                EXIT11IM_R::new(((self.bits >> 27) & 0x01) != 0)
62179            }
62180            ///Bit 28 - Peripheral EXIT12 interrupt mask to CPU1
62181            #[inline(always)]
62182            pub fn exit12im(&self) -> EXIT12IM_R {
62183                EXIT12IM_R::new(((self.bits >> 28) & 0x01) != 0)
62184            }
62185            ///Bit 29 - Peripheral EXIT13 interrupt mask to CPU1
62186            #[inline(always)]
62187            pub fn exit13im(&self) -> EXIT13IM_R {
62188                EXIT13IM_R::new(((self.bits >> 29) & 0x01) != 0)
62189            }
62190            ///Bit 30 - Peripheral EXIT14 interrupt mask to CPU1
62191            #[inline(always)]
62192            pub fn exit14im(&self) -> EXIT14IM_R {
62193                EXIT14IM_R::new(((self.bits >> 30) & 0x01) != 0)
62194            }
62195            ///Bit 31 - Peripheral EXIT15 interrupt mask to CPU1
62196            #[inline(always)]
62197            pub fn exit15im(&self) -> EXIT15IM_R {
62198                EXIT15IM_R::new(((self.bits >> 31) & 0x01) != 0)
62199            }
62200        }
62201        impl W {
62202            ///Bit 13 - Peripheral TIM1 interrupt mask to CPU1
62203            #[inline(always)]
62204            pub fn tim1im(&mut self) -> TIM1IM_W {
62205                TIM1IM_W { w: self }
62206            }
62207            ///Bit 14 - Peripheral TIM16 interrupt mask to CPU1
62208            #[inline(always)]
62209            pub fn tim16im(&mut self) -> TIM16IM_W {
62210                TIM16IM_W { w: self }
62211            }
62212            ///Bit 15 - Peripheral TIM17 interrupt mask to CPU1
62213            #[inline(always)]
62214            pub fn tim17im(&mut self) -> TIM17IM_W {
62215                TIM17IM_W { w: self }
62216            }
62217            ///Bit 21 - Peripheral EXIT5 interrupt mask to CPU1
62218            #[inline(always)]
62219            pub fn exit5im(&mut self) -> EXIT5IM_W {
62220                EXIT5IM_W { w: self }
62221            }
62222            ///Bit 22 - Peripheral EXIT6 interrupt mask to CPU1
62223            #[inline(always)]
62224            pub fn exit6im(&mut self) -> EXIT6IM_W {
62225                EXIT6IM_W { w: self }
62226            }
62227            ///Bit 23 - Peripheral EXIT7 interrupt mask to CPU1
62228            #[inline(always)]
62229            pub fn exit7im(&mut self) -> EXIT7IM_W {
62230                EXIT7IM_W { w: self }
62231            }
62232            ///Bit 24 - Peripheral EXIT8 interrupt mask to CPU1
62233            #[inline(always)]
62234            pub fn exit8im(&mut self) -> EXIT8IM_W {
62235                EXIT8IM_W { w: self }
62236            }
62237            ///Bit 25 - Peripheral EXIT9 interrupt mask to CPU1
62238            #[inline(always)]
62239            pub fn exit9im(&mut self) -> EXIT9IM_W {
62240                EXIT9IM_W { w: self }
62241            }
62242            ///Bit 26 - Peripheral EXIT10 interrupt mask to CPU1
62243            #[inline(always)]
62244            pub fn exit10im(&mut self) -> EXIT10IM_W {
62245                EXIT10IM_W { w: self }
62246            }
62247            ///Bit 27 - Peripheral EXIT11 interrupt mask to CPU1
62248            #[inline(always)]
62249            pub fn exit11im(&mut self) -> EXIT11IM_W {
62250                EXIT11IM_W { w: self }
62251            }
62252            ///Bit 28 - Peripheral EXIT12 interrupt mask to CPU1
62253            #[inline(always)]
62254            pub fn exit12im(&mut self) -> EXIT12IM_W {
62255                EXIT12IM_W { w: self }
62256            }
62257            ///Bit 29 - Peripheral EXIT13 interrupt mask to CPU1
62258            #[inline(always)]
62259            pub fn exit13im(&mut self) -> EXIT13IM_W {
62260                EXIT13IM_W { w: self }
62261            }
62262            ///Bit 30 - Peripheral EXIT14 interrupt mask to CPU1
62263            #[inline(always)]
62264            pub fn exit14im(&mut self) -> EXIT14IM_W {
62265                EXIT14IM_W { w: self }
62266            }
62267            ///Bit 31 - Peripheral EXIT15 interrupt mask to CPU1
62268            #[inline(always)]
62269            pub fn exit15im(&mut self) -> EXIT15IM_W {
62270                EXIT15IM_W { w: self }
62271            }
62272        }
62273    }
62274    ///CPU1 interrupt mask register 2
62275    ///
62276    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
62277    ///
62278    ///For information about available fields see [imr2](imr2) module
62279    pub type IMR2 = crate::Reg<u32, _IMR2>;
62280    #[allow(missing_docs)]
62281    #[doc(hidden)]
62282    pub struct _IMR2;
62283    ///`read()` method returns [imr2::R](imr2::R) reader structure
62284    impl crate::Readable for IMR2 {}
62285    ///`write(|w| ..)` method takes [imr2::W](imr2::W) writer structure
62286    impl crate::Writable for IMR2 {}
62287    ///CPU1 interrupt mask register 2
62288    pub mod imr2 {
62289        ///Reader of register IMR2
62290        pub type R = crate::R<u32, super::IMR2>;
62291        ///Writer for register IMR2
62292        pub type W = crate::W<u32, super::IMR2>;
62293        ///Register IMR2 `reset()`'s with value 0
62294        impl crate::ResetValue for super::IMR2 {
62295            type Type = u32;
62296            #[inline(always)]
62297            fn reset_value() -> Self::Type {
62298                0
62299            }
62300        }
62301        ///Reader of field `PVM3IM`
62302        pub type PVM3IM_R = crate::R<bool, bool>;
62303        ///Write proxy for field `PVM3IM`
62304        pub struct PVM3IM_W<'a> {
62305            w: &'a mut W,
62306        }
62307        impl<'a> PVM3IM_W<'a> {
62308            ///Sets the field bit
62309            #[inline(always)]
62310            pub fn set_bit(self) -> &'a mut W {
62311                self.bit(true)
62312            }
62313            ///Clears the field bit
62314            #[inline(always)]
62315            pub fn clear_bit(self) -> &'a mut W {
62316                self.bit(false)
62317            }
62318            ///Writes raw bits to the field
62319            #[inline(always)]
62320            pub fn bit(self, value: bool) -> &'a mut W {
62321                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
62322                self.w
62323            }
62324        }
62325        ///Reader of field `PVM1IM`
62326        pub type PVM1IM_R = crate::R<bool, bool>;
62327        ///Write proxy for field `PVM1IM`
62328        pub struct PVM1IM_W<'a> {
62329            w: &'a mut W,
62330        }
62331        impl<'a> PVM1IM_W<'a> {
62332            ///Sets the field bit
62333            #[inline(always)]
62334            pub fn set_bit(self) -> &'a mut W {
62335                self.bit(true)
62336            }
62337            ///Clears the field bit
62338            #[inline(always)]
62339            pub fn clear_bit(self) -> &'a mut W {
62340                self.bit(false)
62341            }
62342            ///Writes raw bits to the field
62343            #[inline(always)]
62344            pub fn bit(self, value: bool) -> &'a mut W {
62345                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
62346                self.w
62347            }
62348        }
62349        ///Reader of field `PVDIM`
62350        pub type PVDIM_R = crate::R<bool, bool>;
62351        ///Write proxy for field `PVDIM`
62352        pub struct PVDIM_W<'a> {
62353            w: &'a mut W,
62354        }
62355        impl<'a> PVDIM_W<'a> {
62356            ///Sets the field bit
62357            #[inline(always)]
62358            pub fn set_bit(self) -> &'a mut W {
62359                self.bit(true)
62360            }
62361            ///Clears the field bit
62362            #[inline(always)]
62363            pub fn clear_bit(self) -> &'a mut W {
62364                self.bit(false)
62365            }
62366            ///Writes raw bits to the field
62367            #[inline(always)]
62368            pub fn bit(self, value: bool) -> &'a mut W {
62369                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
62370                self.w
62371            }
62372        }
62373        impl R {
62374            ///Bit 18 - Peripheral PVM3 interrupt mask to CPU1
62375            #[inline(always)]
62376            pub fn pvm3im(&self) -> PVM3IM_R {
62377                PVM3IM_R::new(((self.bits >> 18) & 0x01) != 0)
62378            }
62379            ///Bit 16 - Peripheral PVM1 interrupt mask to CPU1
62380            #[inline(always)]
62381            pub fn pvm1im(&self) -> PVM1IM_R {
62382                PVM1IM_R::new(((self.bits >> 16) & 0x01) != 0)
62383            }
62384            ///Bit 20 - Peripheral PVD interrupt mask to CPU1
62385            #[inline(always)]
62386            pub fn pvdim(&self) -> PVDIM_R {
62387                PVDIM_R::new(((self.bits >> 20) & 0x01) != 0)
62388            }
62389        }
62390        impl W {
62391            ///Bit 18 - Peripheral PVM3 interrupt mask to CPU1
62392            #[inline(always)]
62393            pub fn pvm3im(&mut self) -> PVM3IM_W {
62394                PVM3IM_W { w: self }
62395            }
62396            ///Bit 16 - Peripheral PVM1 interrupt mask to CPU1
62397            #[inline(always)]
62398            pub fn pvm1im(&mut self) -> PVM1IM_W {
62399                PVM1IM_W { w: self }
62400            }
62401            ///Bit 20 - Peripheral PVD interrupt mask to CPU1
62402            #[inline(always)]
62403            pub fn pvdim(&mut self) -> PVDIM_W {
62404                PVDIM_W { w: self }
62405            }
62406        }
62407    }
62408    ///CPU2 interrupt mask register 1
62409    ///
62410    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
62411    ///
62412    ///For information about available fields see [c2imr1](c2imr1) module
62413    pub type C2IMR1 = crate::Reg<u32, _C2IMR1>;
62414    #[allow(missing_docs)]
62415    #[doc(hidden)]
62416    pub struct _C2IMR1;
62417    ///`read()` method returns [c2imr1::R](c2imr1::R) reader structure
62418    impl crate::Readable for C2IMR1 {}
62419    ///`write(|w| ..)` method takes [c2imr1::W](c2imr1::W) writer structure
62420    impl crate::Writable for C2IMR1 {}
62421    ///CPU2 interrupt mask register 1
62422    pub mod c2imr1 {
62423        ///Reader of register C2IMR1
62424        pub type R = crate::R<u32, super::C2IMR1>;
62425        ///Writer for register C2IMR1
62426        pub type W = crate::W<u32, super::C2IMR1>;
62427        ///Register C2IMR1 `reset()`'s with value 0
62428        impl crate::ResetValue for super::C2IMR1 {
62429            type Type = u32;
62430            #[inline(always)]
62431            fn reset_value() -> Self::Type {
62432                0
62433            }
62434        }
62435        ///Reader of field `RTCSTAMP`
62436        pub type RTCSTAMP_R = crate::R<bool, bool>;
62437        ///Write proxy for field `RTCSTAMP`
62438        pub struct RTCSTAMP_W<'a> {
62439            w: &'a mut W,
62440        }
62441        impl<'a> RTCSTAMP_W<'a> {
62442            ///Sets the field bit
62443            #[inline(always)]
62444            pub fn set_bit(self) -> &'a mut W {
62445                self.bit(true)
62446            }
62447            ///Clears the field bit
62448            #[inline(always)]
62449            pub fn clear_bit(self) -> &'a mut W {
62450                self.bit(false)
62451            }
62452            ///Writes raw bits to the field
62453            #[inline(always)]
62454            pub fn bit(self, value: bool) -> &'a mut W {
62455                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
62456                self.w
62457            }
62458        }
62459        ///Reader of field `RTCWKUP`
62460        pub type RTCWKUP_R = crate::R<bool, bool>;
62461        ///Write proxy for field `RTCWKUP`
62462        pub struct RTCWKUP_W<'a> {
62463            w: &'a mut W,
62464        }
62465        impl<'a> RTCWKUP_W<'a> {
62466            ///Sets the field bit
62467            #[inline(always)]
62468            pub fn set_bit(self) -> &'a mut W {
62469                self.bit(true)
62470            }
62471            ///Clears the field bit
62472            #[inline(always)]
62473            pub fn clear_bit(self) -> &'a mut W {
62474                self.bit(false)
62475            }
62476            ///Writes raw bits to the field
62477            #[inline(always)]
62478            pub fn bit(self, value: bool) -> &'a mut W {
62479                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
62480                self.w
62481            }
62482        }
62483        ///Reader of field `RTCALARM`
62484        pub type RTCALARM_R = crate::R<bool, bool>;
62485        ///Write proxy for field `RTCALARM`
62486        pub struct RTCALARM_W<'a> {
62487            w: &'a mut W,
62488        }
62489        impl<'a> RTCALARM_W<'a> {
62490            ///Sets the field bit
62491            #[inline(always)]
62492            pub fn set_bit(self) -> &'a mut W {
62493                self.bit(true)
62494            }
62495            ///Clears the field bit
62496            #[inline(always)]
62497            pub fn clear_bit(self) -> &'a mut W {
62498                self.bit(false)
62499            }
62500            ///Writes raw bits to the field
62501            #[inline(always)]
62502            pub fn bit(self, value: bool) -> &'a mut W {
62503                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
62504                self.w
62505            }
62506        }
62507        ///Reader of field `RCC`
62508        pub type RCC_R = crate::R<bool, bool>;
62509        ///Write proxy for field `RCC`
62510        pub struct RCC_W<'a> {
62511            w: &'a mut W,
62512        }
62513        impl<'a> RCC_W<'a> {
62514            ///Sets the field bit
62515            #[inline(always)]
62516            pub fn set_bit(self) -> &'a mut W {
62517                self.bit(true)
62518            }
62519            ///Clears the field bit
62520            #[inline(always)]
62521            pub fn clear_bit(self) -> &'a mut W {
62522                self.bit(false)
62523            }
62524            ///Writes raw bits to the field
62525            #[inline(always)]
62526            pub fn bit(self, value: bool) -> &'a mut W {
62527                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
62528                self.w
62529            }
62530        }
62531        ///Reader of field `FLASH`
62532        pub type FLASH_R = crate::R<bool, bool>;
62533        ///Write proxy for field `FLASH`
62534        pub struct FLASH_W<'a> {
62535            w: &'a mut W,
62536        }
62537        impl<'a> FLASH_W<'a> {
62538            ///Sets the field bit
62539            #[inline(always)]
62540            pub fn set_bit(self) -> &'a mut W {
62541                self.bit(true)
62542            }
62543            ///Clears the field bit
62544            #[inline(always)]
62545            pub fn clear_bit(self) -> &'a mut W {
62546                self.bit(false)
62547            }
62548            ///Writes raw bits to the field
62549            #[inline(always)]
62550            pub fn bit(self, value: bool) -> &'a mut W {
62551                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
62552                self.w
62553            }
62554        }
62555        ///Reader of field `PKA`
62556        pub type PKA_R = crate::R<bool, bool>;
62557        ///Write proxy for field `PKA`
62558        pub struct PKA_W<'a> {
62559            w: &'a mut W,
62560        }
62561        impl<'a> PKA_W<'a> {
62562            ///Sets the field bit
62563            #[inline(always)]
62564            pub fn set_bit(self) -> &'a mut W {
62565                self.bit(true)
62566            }
62567            ///Clears the field bit
62568            #[inline(always)]
62569            pub fn clear_bit(self) -> &'a mut W {
62570                self.bit(false)
62571            }
62572            ///Writes raw bits to the field
62573            #[inline(always)]
62574            pub fn bit(self, value: bool) -> &'a mut W {
62575                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
62576                self.w
62577            }
62578        }
62579        ///Reader of field `RNG`
62580        pub type RNG_R = crate::R<bool, bool>;
62581        ///Write proxy for field `RNG`
62582        pub struct RNG_W<'a> {
62583            w: &'a mut W,
62584        }
62585        impl<'a> RNG_W<'a> {
62586            ///Sets the field bit
62587            #[inline(always)]
62588            pub fn set_bit(self) -> &'a mut W {
62589                self.bit(true)
62590            }
62591            ///Clears the field bit
62592            #[inline(always)]
62593            pub fn clear_bit(self) -> &'a mut W {
62594                self.bit(false)
62595            }
62596            ///Writes raw bits to the field
62597            #[inline(always)]
62598            pub fn bit(self, value: bool) -> &'a mut W {
62599                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
62600                self.w
62601            }
62602        }
62603        ///Reader of field `AES1`
62604        pub type AES1_R = crate::R<bool, bool>;
62605        ///Write proxy for field `AES1`
62606        pub struct AES1_W<'a> {
62607            w: &'a mut W,
62608        }
62609        impl<'a> AES1_W<'a> {
62610            ///Sets the field bit
62611            #[inline(always)]
62612            pub fn set_bit(self) -> &'a mut W {
62613                self.bit(true)
62614            }
62615            ///Clears the field bit
62616            #[inline(always)]
62617            pub fn clear_bit(self) -> &'a mut W {
62618                self.bit(false)
62619            }
62620            ///Writes raw bits to the field
62621            #[inline(always)]
62622            pub fn bit(self, value: bool) -> &'a mut W {
62623                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
62624                self.w
62625            }
62626        }
62627        ///Reader of field `COMP`
62628        pub type COMP_R = crate::R<bool, bool>;
62629        ///Write proxy for field `COMP`
62630        pub struct COMP_W<'a> {
62631            w: &'a mut W,
62632        }
62633        impl<'a> COMP_W<'a> {
62634            ///Sets the field bit
62635            #[inline(always)]
62636            pub fn set_bit(self) -> &'a mut W {
62637                self.bit(true)
62638            }
62639            ///Clears the field bit
62640            #[inline(always)]
62641            pub fn clear_bit(self) -> &'a mut W {
62642                self.bit(false)
62643            }
62644            ///Writes raw bits to the field
62645            #[inline(always)]
62646            pub fn bit(self, value: bool) -> &'a mut W {
62647                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
62648                self.w
62649            }
62650        }
62651        ///Reader of field `ADC`
62652        pub type ADC_R = crate::R<bool, bool>;
62653        ///Write proxy for field `ADC`
62654        pub struct ADC_W<'a> {
62655            w: &'a mut W,
62656        }
62657        impl<'a> ADC_W<'a> {
62658            ///Sets the field bit
62659            #[inline(always)]
62660            pub fn set_bit(self) -> &'a mut W {
62661                self.bit(true)
62662            }
62663            ///Clears the field bit
62664            #[inline(always)]
62665            pub fn clear_bit(self) -> &'a mut W {
62666                self.bit(false)
62667            }
62668            ///Writes raw bits to the field
62669            #[inline(always)]
62670            pub fn bit(self, value: bool) -> &'a mut W {
62671                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
62672                self.w
62673            }
62674        }
62675        impl R {
62676            ///Bit 0 - Peripheral RTCSTAMP interrupt mask to CPU2
62677            #[inline(always)]
62678            pub fn rtcstamp(&self) -> RTCSTAMP_R {
62679                RTCSTAMP_R::new((self.bits & 0x01) != 0)
62680            }
62681            ///Bit 3 - Peripheral RTCWKUP interrupt mask to CPU2
62682            #[inline(always)]
62683            pub fn rtcwkup(&self) -> RTCWKUP_R {
62684                RTCWKUP_R::new(((self.bits >> 3) & 0x01) != 0)
62685            }
62686            ///Bit 4 - Peripheral RTCALARM interrupt mask to CPU2
62687            #[inline(always)]
62688            pub fn rtcalarm(&self) -> RTCALARM_R {
62689                RTCALARM_R::new(((self.bits >> 4) & 0x01) != 0)
62690            }
62691            ///Bit 5 - Peripheral RCC interrupt mask to CPU2
62692            #[inline(always)]
62693            pub fn rcc(&self) -> RCC_R {
62694                RCC_R::new(((self.bits >> 5) & 0x01) != 0)
62695            }
62696            ///Bit 6 - Peripheral FLASH interrupt mask to CPU2
62697            #[inline(always)]
62698            pub fn flash(&self) -> FLASH_R {
62699                FLASH_R::new(((self.bits >> 6) & 0x01) != 0)
62700            }
62701            ///Bit 8 - Peripheral PKA interrupt mask to CPU2
62702            #[inline(always)]
62703            pub fn pka(&self) -> PKA_R {
62704                PKA_R::new(((self.bits >> 8) & 0x01) != 0)
62705            }
62706            ///Bit 9 - Peripheral RNG interrupt mask to CPU2
62707            #[inline(always)]
62708            pub fn rng(&self) -> RNG_R {
62709                RNG_R::new(((self.bits >> 9) & 0x01) != 0)
62710            }
62711            ///Bit 10 - Peripheral AES1 interrupt mask to CPU2
62712            #[inline(always)]
62713            pub fn aes1(&self) -> AES1_R {
62714                AES1_R::new(((self.bits >> 10) & 0x01) != 0)
62715            }
62716            ///Bit 11 - Peripheral COMP interrupt mask to CPU2
62717            #[inline(always)]
62718            pub fn comp(&self) -> COMP_R {
62719                COMP_R::new(((self.bits >> 11) & 0x01) != 0)
62720            }
62721            ///Bit 12 - Peripheral ADC interrupt mask to CPU2
62722            #[inline(always)]
62723            pub fn adc(&self) -> ADC_R {
62724                ADC_R::new(((self.bits >> 12) & 0x01) != 0)
62725            }
62726        }
62727        impl W {
62728            ///Bit 0 - Peripheral RTCSTAMP interrupt mask to CPU2
62729            #[inline(always)]
62730            pub fn rtcstamp(&mut self) -> RTCSTAMP_W {
62731                RTCSTAMP_W { w: self }
62732            }
62733            ///Bit 3 - Peripheral RTCWKUP interrupt mask to CPU2
62734            #[inline(always)]
62735            pub fn rtcwkup(&mut self) -> RTCWKUP_W {
62736                RTCWKUP_W { w: self }
62737            }
62738            ///Bit 4 - Peripheral RTCALARM interrupt mask to CPU2
62739            #[inline(always)]
62740            pub fn rtcalarm(&mut self) -> RTCALARM_W {
62741                RTCALARM_W { w: self }
62742            }
62743            ///Bit 5 - Peripheral RCC interrupt mask to CPU2
62744            #[inline(always)]
62745            pub fn rcc(&mut self) -> RCC_W {
62746                RCC_W { w: self }
62747            }
62748            ///Bit 6 - Peripheral FLASH interrupt mask to CPU2
62749            #[inline(always)]
62750            pub fn flash(&mut self) -> FLASH_W {
62751                FLASH_W { w: self }
62752            }
62753            ///Bit 8 - Peripheral PKA interrupt mask to CPU2
62754            #[inline(always)]
62755            pub fn pka(&mut self) -> PKA_W {
62756                PKA_W { w: self }
62757            }
62758            ///Bit 9 - Peripheral RNG interrupt mask to CPU2
62759            #[inline(always)]
62760            pub fn rng(&mut self) -> RNG_W {
62761                RNG_W { w: self }
62762            }
62763            ///Bit 10 - Peripheral AES1 interrupt mask to CPU2
62764            #[inline(always)]
62765            pub fn aes1(&mut self) -> AES1_W {
62766                AES1_W { w: self }
62767            }
62768            ///Bit 11 - Peripheral COMP interrupt mask to CPU2
62769            #[inline(always)]
62770            pub fn comp(&mut self) -> COMP_W {
62771                COMP_W { w: self }
62772            }
62773            ///Bit 12 - Peripheral ADC interrupt mask to CPU2
62774            #[inline(always)]
62775            pub fn adc(&mut self) -> ADC_W {
62776                ADC_W { w: self }
62777            }
62778        }
62779    }
62780    ///CPU2 interrupt mask register 1
62781    ///
62782    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
62783    ///
62784    ///For information about available fields see [c2imr2](c2imr2) module
62785    pub type C2IMR2 = crate::Reg<u32, _C2IMR2>;
62786    #[allow(missing_docs)]
62787    #[doc(hidden)]
62788    pub struct _C2IMR2;
62789    ///`read()` method returns [c2imr2::R](c2imr2::R) reader structure
62790    impl crate::Readable for C2IMR2 {}
62791    ///`write(|w| ..)` method takes [c2imr2::W](c2imr2::W) writer structure
62792    impl crate::Writable for C2IMR2 {}
62793    ///CPU2 interrupt mask register 1
62794    pub mod c2imr2 {
62795        ///Reader of register C2IMR2
62796        pub type R = crate::R<u32, super::C2IMR2>;
62797        ///Writer for register C2IMR2
62798        pub type W = crate::W<u32, super::C2IMR2>;
62799        ///Register C2IMR2 `reset()`'s with value 0
62800        impl crate::ResetValue for super::C2IMR2 {
62801            type Type = u32;
62802            #[inline(always)]
62803            fn reset_value() -> Self::Type {
62804                0
62805            }
62806        }
62807        ///Reader of field `DMA1_CH1_IM`
62808        pub type DMA1_CH1_IM_R = crate::R<bool, bool>;
62809        ///Write proxy for field `DMA1_CH1_IM`
62810        pub struct DMA1_CH1_IM_W<'a> {
62811            w: &'a mut W,
62812        }
62813        impl<'a> DMA1_CH1_IM_W<'a> {
62814            ///Sets the field bit
62815            #[inline(always)]
62816            pub fn set_bit(self) -> &'a mut W {
62817                self.bit(true)
62818            }
62819            ///Clears the field bit
62820            #[inline(always)]
62821            pub fn clear_bit(self) -> &'a mut W {
62822                self.bit(false)
62823            }
62824            ///Writes raw bits to the field
62825            #[inline(always)]
62826            pub fn bit(self, value: bool) -> &'a mut W {
62827                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
62828                self.w
62829            }
62830        }
62831        ///Reader of field `DMA1_CH2_IM`
62832        pub type DMA1_CH2_IM_R = crate::R<bool, bool>;
62833        ///Write proxy for field `DMA1_CH2_IM`
62834        pub struct DMA1_CH2_IM_W<'a> {
62835            w: &'a mut W,
62836        }
62837        impl<'a> DMA1_CH2_IM_W<'a> {
62838            ///Sets the field bit
62839            #[inline(always)]
62840            pub fn set_bit(self) -> &'a mut W {
62841                self.bit(true)
62842            }
62843            ///Clears the field bit
62844            #[inline(always)]
62845            pub fn clear_bit(self) -> &'a mut W {
62846                self.bit(false)
62847            }
62848            ///Writes raw bits to the field
62849            #[inline(always)]
62850            pub fn bit(self, value: bool) -> &'a mut W {
62851                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
62852                self.w
62853            }
62854        }
62855        ///Reader of field `DMA1_CH3_IM`
62856        pub type DMA1_CH3_IM_R = crate::R<bool, bool>;
62857        ///Write proxy for field `DMA1_CH3_IM`
62858        pub struct DMA1_CH3_IM_W<'a> {
62859            w: &'a mut W,
62860        }
62861        impl<'a> DMA1_CH3_IM_W<'a> {
62862            ///Sets the field bit
62863            #[inline(always)]
62864            pub fn set_bit(self) -> &'a mut W {
62865                self.bit(true)
62866            }
62867            ///Clears the field bit
62868            #[inline(always)]
62869            pub fn clear_bit(self) -> &'a mut W {
62870                self.bit(false)
62871            }
62872            ///Writes raw bits to the field
62873            #[inline(always)]
62874            pub fn bit(self, value: bool) -> &'a mut W {
62875                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
62876                self.w
62877            }
62878        }
62879        ///Reader of field `DMA1_CH4_IM`
62880        pub type DMA1_CH4_IM_R = crate::R<bool, bool>;
62881        ///Write proxy for field `DMA1_CH4_IM`
62882        pub struct DMA1_CH4_IM_W<'a> {
62883            w: &'a mut W,
62884        }
62885        impl<'a> DMA1_CH4_IM_W<'a> {
62886            ///Sets the field bit
62887            #[inline(always)]
62888            pub fn set_bit(self) -> &'a mut W {
62889                self.bit(true)
62890            }
62891            ///Clears the field bit
62892            #[inline(always)]
62893            pub fn clear_bit(self) -> &'a mut W {
62894                self.bit(false)
62895            }
62896            ///Writes raw bits to the field
62897            #[inline(always)]
62898            pub fn bit(self, value: bool) -> &'a mut W {
62899                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
62900                self.w
62901            }
62902        }
62903        ///Reader of field `DMA1_CH5_IM`
62904        pub type DMA1_CH5_IM_R = crate::R<bool, bool>;
62905        ///Write proxy for field `DMA1_CH5_IM`
62906        pub struct DMA1_CH5_IM_W<'a> {
62907            w: &'a mut W,
62908        }
62909        impl<'a> DMA1_CH5_IM_W<'a> {
62910            ///Sets the field bit
62911            #[inline(always)]
62912            pub fn set_bit(self) -> &'a mut W {
62913                self.bit(true)
62914            }
62915            ///Clears the field bit
62916            #[inline(always)]
62917            pub fn clear_bit(self) -> &'a mut W {
62918                self.bit(false)
62919            }
62920            ///Writes raw bits to the field
62921            #[inline(always)]
62922            pub fn bit(self, value: bool) -> &'a mut W {
62923                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
62924                self.w
62925            }
62926        }
62927        ///Reader of field `DMA1_CH6_IM`
62928        pub type DMA1_CH6_IM_R = crate::R<bool, bool>;
62929        ///Write proxy for field `DMA1_CH6_IM`
62930        pub struct DMA1_CH6_IM_W<'a> {
62931            w: &'a mut W,
62932        }
62933        impl<'a> DMA1_CH6_IM_W<'a> {
62934            ///Sets the field bit
62935            #[inline(always)]
62936            pub fn set_bit(self) -> &'a mut W {
62937                self.bit(true)
62938            }
62939            ///Clears the field bit
62940            #[inline(always)]
62941            pub fn clear_bit(self) -> &'a mut W {
62942                self.bit(false)
62943            }
62944            ///Writes raw bits to the field
62945            #[inline(always)]
62946            pub fn bit(self, value: bool) -> &'a mut W {
62947                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
62948                self.w
62949            }
62950        }
62951        ///Reader of field `DMA1_CH7_IM`
62952        pub type DMA1_CH7_IM_R = crate::R<bool, bool>;
62953        ///Write proxy for field `DMA1_CH7_IM`
62954        pub struct DMA1_CH7_IM_W<'a> {
62955            w: &'a mut W,
62956        }
62957        impl<'a> DMA1_CH7_IM_W<'a> {
62958            ///Sets the field bit
62959            #[inline(always)]
62960            pub fn set_bit(self) -> &'a mut W {
62961                self.bit(true)
62962            }
62963            ///Clears the field bit
62964            #[inline(always)]
62965            pub fn clear_bit(self) -> &'a mut W {
62966                self.bit(false)
62967            }
62968            ///Writes raw bits to the field
62969            #[inline(always)]
62970            pub fn bit(self, value: bool) -> &'a mut W {
62971                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
62972                self.w
62973            }
62974        }
62975        ///Reader of field `DMA2_CH1_IM`
62976        pub type DMA2_CH1_IM_R = crate::R<bool, bool>;
62977        ///Write proxy for field `DMA2_CH1_IM`
62978        pub struct DMA2_CH1_IM_W<'a> {
62979            w: &'a mut W,
62980        }
62981        impl<'a> DMA2_CH1_IM_W<'a> {
62982            ///Sets the field bit
62983            #[inline(always)]
62984            pub fn set_bit(self) -> &'a mut W {
62985                self.bit(true)
62986            }
62987            ///Clears the field bit
62988            #[inline(always)]
62989            pub fn clear_bit(self) -> &'a mut W {
62990                self.bit(false)
62991            }
62992            ///Writes raw bits to the field
62993            #[inline(always)]
62994            pub fn bit(self, value: bool) -> &'a mut W {
62995                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
62996                self.w
62997            }
62998        }
62999        ///Reader of field `DMA2_CH2_IM`
63000        pub type DMA2_CH2_IM_R = crate::R<bool, bool>;
63001        ///Write proxy for field `DMA2_CH2_IM`
63002        pub struct DMA2_CH2_IM_W<'a> {
63003            w: &'a mut W,
63004        }
63005        impl<'a> DMA2_CH2_IM_W<'a> {
63006            ///Sets the field bit
63007            #[inline(always)]
63008            pub fn set_bit(self) -> &'a mut W {
63009                self.bit(true)
63010            }
63011            ///Clears the field bit
63012            #[inline(always)]
63013            pub fn clear_bit(self) -> &'a mut W {
63014                self.bit(false)
63015            }
63016            ///Writes raw bits to the field
63017            #[inline(always)]
63018            pub fn bit(self, value: bool) -> &'a mut W {
63019                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
63020                self.w
63021            }
63022        }
63023        ///Reader of field `DMA2_CH3_IM`
63024        pub type DMA2_CH3_IM_R = crate::R<bool, bool>;
63025        ///Write proxy for field `DMA2_CH3_IM`
63026        pub struct DMA2_CH3_IM_W<'a> {
63027            w: &'a mut W,
63028        }
63029        impl<'a> DMA2_CH3_IM_W<'a> {
63030            ///Sets the field bit
63031            #[inline(always)]
63032            pub fn set_bit(self) -> &'a mut W {
63033                self.bit(true)
63034            }
63035            ///Clears the field bit
63036            #[inline(always)]
63037            pub fn clear_bit(self) -> &'a mut W {
63038                self.bit(false)
63039            }
63040            ///Writes raw bits to the field
63041            #[inline(always)]
63042            pub fn bit(self, value: bool) -> &'a mut W {
63043                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
63044                self.w
63045            }
63046        }
63047        ///Reader of field `DMA2_CH4_IM`
63048        pub type DMA2_CH4_IM_R = crate::R<bool, bool>;
63049        ///Write proxy for field `DMA2_CH4_IM`
63050        pub struct DMA2_CH4_IM_W<'a> {
63051            w: &'a mut W,
63052        }
63053        impl<'a> DMA2_CH4_IM_W<'a> {
63054            ///Sets the field bit
63055            #[inline(always)]
63056            pub fn set_bit(self) -> &'a mut W {
63057                self.bit(true)
63058            }
63059            ///Clears the field bit
63060            #[inline(always)]
63061            pub fn clear_bit(self) -> &'a mut W {
63062                self.bit(false)
63063            }
63064            ///Writes raw bits to the field
63065            #[inline(always)]
63066            pub fn bit(self, value: bool) -> &'a mut W {
63067                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
63068                self.w
63069            }
63070        }
63071        ///Reader of field `DMA2_CH5_IM`
63072        pub type DMA2_CH5_IM_R = crate::R<bool, bool>;
63073        ///Write proxy for field `DMA2_CH5_IM`
63074        pub struct DMA2_CH5_IM_W<'a> {
63075            w: &'a mut W,
63076        }
63077        impl<'a> DMA2_CH5_IM_W<'a> {
63078            ///Sets the field bit
63079            #[inline(always)]
63080            pub fn set_bit(self) -> &'a mut W {
63081                self.bit(true)
63082            }
63083            ///Clears the field bit
63084            #[inline(always)]
63085            pub fn clear_bit(self) -> &'a mut W {
63086                self.bit(false)
63087            }
63088            ///Writes raw bits to the field
63089            #[inline(always)]
63090            pub fn bit(self, value: bool) -> &'a mut W {
63091                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
63092                self.w
63093            }
63094        }
63095        ///Reader of field `DMA2_CH6_IM`
63096        pub type DMA2_CH6_IM_R = crate::R<bool, bool>;
63097        ///Write proxy for field `DMA2_CH6_IM`
63098        pub struct DMA2_CH6_IM_W<'a> {
63099            w: &'a mut W,
63100        }
63101        impl<'a> DMA2_CH6_IM_W<'a> {
63102            ///Sets the field bit
63103            #[inline(always)]
63104            pub fn set_bit(self) -> &'a mut W {
63105                self.bit(true)
63106            }
63107            ///Clears the field bit
63108            #[inline(always)]
63109            pub fn clear_bit(self) -> &'a mut W {
63110                self.bit(false)
63111            }
63112            ///Writes raw bits to the field
63113            #[inline(always)]
63114            pub fn bit(self, value: bool) -> &'a mut W {
63115                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
63116                self.w
63117            }
63118        }
63119        ///Reader of field `DMA2_CH7_IM`
63120        pub type DMA2_CH7_IM_R = crate::R<bool, bool>;
63121        ///Write proxy for field `DMA2_CH7_IM`
63122        pub struct DMA2_CH7_IM_W<'a> {
63123            w: &'a mut W,
63124        }
63125        impl<'a> DMA2_CH7_IM_W<'a> {
63126            ///Sets the field bit
63127            #[inline(always)]
63128            pub fn set_bit(self) -> &'a mut W {
63129                self.bit(true)
63130            }
63131            ///Clears the field bit
63132            #[inline(always)]
63133            pub fn clear_bit(self) -> &'a mut W {
63134                self.bit(false)
63135            }
63136            ///Writes raw bits to the field
63137            #[inline(always)]
63138            pub fn bit(self, value: bool) -> &'a mut W {
63139                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
63140                self.w
63141            }
63142        }
63143        ///Reader of field `DMAM_UX1_IM`
63144        pub type DMAM_UX1_IM_R = crate::R<bool, bool>;
63145        ///Write proxy for field `DMAM_UX1_IM`
63146        pub struct DMAM_UX1_IM_W<'a> {
63147            w: &'a mut W,
63148        }
63149        impl<'a> DMAM_UX1_IM_W<'a> {
63150            ///Sets the field bit
63151            #[inline(always)]
63152            pub fn set_bit(self) -> &'a mut W {
63153                self.bit(true)
63154            }
63155            ///Clears the field bit
63156            #[inline(always)]
63157            pub fn clear_bit(self) -> &'a mut W {
63158                self.bit(false)
63159            }
63160            ///Writes raw bits to the field
63161            #[inline(always)]
63162            pub fn bit(self, value: bool) -> &'a mut W {
63163                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
63164                self.w
63165            }
63166        }
63167        ///Reader of field `PVM1IM`
63168        pub type PVM1IM_R = crate::R<bool, bool>;
63169        ///Write proxy for field `PVM1IM`
63170        pub struct PVM1IM_W<'a> {
63171            w: &'a mut W,
63172        }
63173        impl<'a> PVM1IM_W<'a> {
63174            ///Sets the field bit
63175            #[inline(always)]
63176            pub fn set_bit(self) -> &'a mut W {
63177                self.bit(true)
63178            }
63179            ///Clears the field bit
63180            #[inline(always)]
63181            pub fn clear_bit(self) -> &'a mut W {
63182                self.bit(false)
63183            }
63184            ///Writes raw bits to the field
63185            #[inline(always)]
63186            pub fn bit(self, value: bool) -> &'a mut W {
63187                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
63188                self.w
63189            }
63190        }
63191        ///Reader of field `PVM3IM`
63192        pub type PVM3IM_R = crate::R<bool, bool>;
63193        ///Write proxy for field `PVM3IM`
63194        pub struct PVM3IM_W<'a> {
63195            w: &'a mut W,
63196        }
63197        impl<'a> PVM3IM_W<'a> {
63198            ///Sets the field bit
63199            #[inline(always)]
63200            pub fn set_bit(self) -> &'a mut W {
63201                self.bit(true)
63202            }
63203            ///Clears the field bit
63204            #[inline(always)]
63205            pub fn clear_bit(self) -> &'a mut W {
63206                self.bit(false)
63207            }
63208            ///Writes raw bits to the field
63209            #[inline(always)]
63210            pub fn bit(self, value: bool) -> &'a mut W {
63211                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
63212                self.w
63213            }
63214        }
63215        ///Reader of field `PVDIM`
63216        pub type PVDIM_R = crate::R<bool, bool>;
63217        ///Write proxy for field `PVDIM`
63218        pub struct PVDIM_W<'a> {
63219            w: &'a mut W,
63220        }
63221        impl<'a> PVDIM_W<'a> {
63222            ///Sets the field bit
63223            #[inline(always)]
63224            pub fn set_bit(self) -> &'a mut W {
63225                self.bit(true)
63226            }
63227            ///Clears the field bit
63228            #[inline(always)]
63229            pub fn clear_bit(self) -> &'a mut W {
63230                self.bit(false)
63231            }
63232            ///Writes raw bits to the field
63233            #[inline(always)]
63234            pub fn bit(self, value: bool) -> &'a mut W {
63235                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
63236                self.w
63237            }
63238        }
63239        ///Reader of field `TSCIM`
63240        pub type TSCIM_R = crate::R<bool, bool>;
63241        ///Write proxy for field `TSCIM`
63242        pub struct TSCIM_W<'a> {
63243            w: &'a mut W,
63244        }
63245        impl<'a> TSCIM_W<'a> {
63246            ///Sets the field bit
63247            #[inline(always)]
63248            pub fn set_bit(self) -> &'a mut W {
63249                self.bit(true)
63250            }
63251            ///Clears the field bit
63252            #[inline(always)]
63253            pub fn clear_bit(self) -> &'a mut W {
63254                self.bit(false)
63255            }
63256            ///Writes raw bits to the field
63257            #[inline(always)]
63258            pub fn bit(self, value: bool) -> &'a mut W {
63259                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
63260                self.w
63261            }
63262        }
63263        ///Reader of field `LCDIM`
63264        pub type LCDIM_R = crate::R<bool, bool>;
63265        ///Write proxy for field `LCDIM`
63266        pub struct LCDIM_W<'a> {
63267            w: &'a mut W,
63268        }
63269        impl<'a> LCDIM_W<'a> {
63270            ///Sets the field bit
63271            #[inline(always)]
63272            pub fn set_bit(self) -> &'a mut W {
63273                self.bit(true)
63274            }
63275            ///Clears the field bit
63276            #[inline(always)]
63277            pub fn clear_bit(self) -> &'a mut W {
63278                self.bit(false)
63279            }
63280            ///Writes raw bits to the field
63281            #[inline(always)]
63282            pub fn bit(self, value: bool) -> &'a mut W {
63283                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
63284                self.w
63285            }
63286        }
63287        impl R {
63288            ///Bit 0 - Peripheral DMA1 CH1 interrupt mask to CPU2
63289            #[inline(always)]
63290            pub fn dma1_ch1_im(&self) -> DMA1_CH1_IM_R {
63291                DMA1_CH1_IM_R::new((self.bits & 0x01) != 0)
63292            }
63293            ///Bit 1 - Peripheral DMA1 CH2 interrupt mask to CPU2
63294            #[inline(always)]
63295            pub fn dma1_ch2_im(&self) -> DMA1_CH2_IM_R {
63296                DMA1_CH2_IM_R::new(((self.bits >> 1) & 0x01) != 0)
63297            }
63298            ///Bit 2 - Peripheral DMA1 CH3 interrupt mask to CPU2
63299            #[inline(always)]
63300            pub fn dma1_ch3_im(&self) -> DMA1_CH3_IM_R {
63301                DMA1_CH3_IM_R::new(((self.bits >> 2) & 0x01) != 0)
63302            }
63303            ///Bit 3 - Peripheral DMA1 CH4 interrupt mask to CPU2
63304            #[inline(always)]
63305            pub fn dma1_ch4_im(&self) -> DMA1_CH4_IM_R {
63306                DMA1_CH4_IM_R::new(((self.bits >> 3) & 0x01) != 0)
63307            }
63308            ///Bit 4 - Peripheral DMA1 CH5 interrupt mask to CPU2
63309            #[inline(always)]
63310            pub fn dma1_ch5_im(&self) -> DMA1_CH5_IM_R {
63311                DMA1_CH5_IM_R::new(((self.bits >> 4) & 0x01) != 0)
63312            }
63313            ///Bit 5 - Peripheral DMA1 CH6 interrupt mask to CPU2
63314            #[inline(always)]
63315            pub fn dma1_ch6_im(&self) -> DMA1_CH6_IM_R {
63316                DMA1_CH6_IM_R::new(((self.bits >> 5) & 0x01) != 0)
63317            }
63318            ///Bit 6 - Peripheral DMA1 CH7 interrupt mask to CPU2
63319            #[inline(always)]
63320            pub fn dma1_ch7_im(&self) -> DMA1_CH7_IM_R {
63321                DMA1_CH7_IM_R::new(((self.bits >> 6) & 0x01) != 0)
63322            }
63323            ///Bit 8 - Peripheral DMA2 CH1 interrupt mask to CPU1
63324            #[inline(always)]
63325            pub fn dma2_ch1_im(&self) -> DMA2_CH1_IM_R {
63326                DMA2_CH1_IM_R::new(((self.bits >> 8) & 0x01) != 0)
63327            }
63328            ///Bit 9 - Peripheral DMA2 CH2 interrupt mask to CPU1
63329            #[inline(always)]
63330            pub fn dma2_ch2_im(&self) -> DMA2_CH2_IM_R {
63331                DMA2_CH2_IM_R::new(((self.bits >> 9) & 0x01) != 0)
63332            }
63333            ///Bit 10 - Peripheral DMA2 CH3 interrupt mask to CPU1
63334            #[inline(always)]
63335            pub fn dma2_ch3_im(&self) -> DMA2_CH3_IM_R {
63336                DMA2_CH3_IM_R::new(((self.bits >> 10) & 0x01) != 0)
63337            }
63338            ///Bit 11 - Peripheral DMA2 CH4 interrupt mask to CPU1
63339            #[inline(always)]
63340            pub fn dma2_ch4_im(&self) -> DMA2_CH4_IM_R {
63341                DMA2_CH4_IM_R::new(((self.bits >> 11) & 0x01) != 0)
63342            }
63343            ///Bit 12 - Peripheral DMA2 CH5 interrupt mask to CPU1
63344            #[inline(always)]
63345            pub fn dma2_ch5_im(&self) -> DMA2_CH5_IM_R {
63346                DMA2_CH5_IM_R::new(((self.bits >> 12) & 0x01) != 0)
63347            }
63348            ///Bit 13 - Peripheral DMA2 CH6 interrupt mask to CPU1
63349            #[inline(always)]
63350            pub fn dma2_ch6_im(&self) -> DMA2_CH6_IM_R {
63351                DMA2_CH6_IM_R::new(((self.bits >> 13) & 0x01) != 0)
63352            }
63353            ///Bit 14 - Peripheral DMA2 CH7 interrupt mask to CPU1
63354            #[inline(always)]
63355            pub fn dma2_ch7_im(&self) -> DMA2_CH7_IM_R {
63356                DMA2_CH7_IM_R::new(((self.bits >> 14) & 0x01) != 0)
63357            }
63358            ///Bit 15 - Peripheral DMAM UX1 interrupt mask to CPU1
63359            #[inline(always)]
63360            pub fn dmam_ux1_im(&self) -> DMAM_UX1_IM_R {
63361                DMAM_UX1_IM_R::new(((self.bits >> 15) & 0x01) != 0)
63362            }
63363            ///Bit 16 - Peripheral PVM1IM interrupt mask to CPU1
63364            #[inline(always)]
63365            pub fn pvm1im(&self) -> PVM1IM_R {
63366                PVM1IM_R::new(((self.bits >> 16) & 0x01) != 0)
63367            }
63368            ///Bit 18 - Peripheral PVM3IM interrupt mask to CPU1
63369            #[inline(always)]
63370            pub fn pvm3im(&self) -> PVM3IM_R {
63371                PVM3IM_R::new(((self.bits >> 18) & 0x01) != 0)
63372            }
63373            ///Bit 20 - Peripheral PVDIM interrupt mask to CPU1
63374            #[inline(always)]
63375            pub fn pvdim(&self) -> PVDIM_R {
63376                PVDIM_R::new(((self.bits >> 20) & 0x01) != 0)
63377            }
63378            ///Bit 21 - Peripheral TSCIM interrupt mask to CPU1
63379            #[inline(always)]
63380            pub fn tscim(&self) -> TSCIM_R {
63381                TSCIM_R::new(((self.bits >> 21) & 0x01) != 0)
63382            }
63383            ///Bit 22 - Peripheral LCDIM interrupt mask to CPU1
63384            #[inline(always)]
63385            pub fn lcdim(&self) -> LCDIM_R {
63386                LCDIM_R::new(((self.bits >> 22) & 0x01) != 0)
63387            }
63388        }
63389        impl W {
63390            ///Bit 0 - Peripheral DMA1 CH1 interrupt mask to CPU2
63391            #[inline(always)]
63392            pub fn dma1_ch1_im(&mut self) -> DMA1_CH1_IM_W {
63393                DMA1_CH1_IM_W { w: self }
63394            }
63395            ///Bit 1 - Peripheral DMA1 CH2 interrupt mask to CPU2
63396            #[inline(always)]
63397            pub fn dma1_ch2_im(&mut self) -> DMA1_CH2_IM_W {
63398                DMA1_CH2_IM_W { w: self }
63399            }
63400            ///Bit 2 - Peripheral DMA1 CH3 interrupt mask to CPU2
63401            #[inline(always)]
63402            pub fn dma1_ch3_im(&mut self) -> DMA1_CH3_IM_W {
63403                DMA1_CH3_IM_W { w: self }
63404            }
63405            ///Bit 3 - Peripheral DMA1 CH4 interrupt mask to CPU2
63406            #[inline(always)]
63407            pub fn dma1_ch4_im(&mut self) -> DMA1_CH4_IM_W {
63408                DMA1_CH4_IM_W { w: self }
63409            }
63410            ///Bit 4 - Peripheral DMA1 CH5 interrupt mask to CPU2
63411            #[inline(always)]
63412            pub fn dma1_ch5_im(&mut self) -> DMA1_CH5_IM_W {
63413                DMA1_CH5_IM_W { w: self }
63414            }
63415            ///Bit 5 - Peripheral DMA1 CH6 interrupt mask to CPU2
63416            #[inline(always)]
63417            pub fn dma1_ch6_im(&mut self) -> DMA1_CH6_IM_W {
63418                DMA1_CH6_IM_W { w: self }
63419            }
63420            ///Bit 6 - Peripheral DMA1 CH7 interrupt mask to CPU2
63421            #[inline(always)]
63422            pub fn dma1_ch7_im(&mut self) -> DMA1_CH7_IM_W {
63423                DMA1_CH7_IM_W { w: self }
63424            }
63425            ///Bit 8 - Peripheral DMA2 CH1 interrupt mask to CPU1
63426            #[inline(always)]
63427            pub fn dma2_ch1_im(&mut self) -> DMA2_CH1_IM_W {
63428                DMA2_CH1_IM_W { w: self }
63429            }
63430            ///Bit 9 - Peripheral DMA2 CH2 interrupt mask to CPU1
63431            #[inline(always)]
63432            pub fn dma2_ch2_im(&mut self) -> DMA2_CH2_IM_W {
63433                DMA2_CH2_IM_W { w: self }
63434            }
63435            ///Bit 10 - Peripheral DMA2 CH3 interrupt mask to CPU1
63436            #[inline(always)]
63437            pub fn dma2_ch3_im(&mut self) -> DMA2_CH3_IM_W {
63438                DMA2_CH3_IM_W { w: self }
63439            }
63440            ///Bit 11 - Peripheral DMA2 CH4 interrupt mask to CPU1
63441            #[inline(always)]
63442            pub fn dma2_ch4_im(&mut self) -> DMA2_CH4_IM_W {
63443                DMA2_CH4_IM_W { w: self }
63444            }
63445            ///Bit 12 - Peripheral DMA2 CH5 interrupt mask to CPU1
63446            #[inline(always)]
63447            pub fn dma2_ch5_im(&mut self) -> DMA2_CH5_IM_W {
63448                DMA2_CH5_IM_W { w: self }
63449            }
63450            ///Bit 13 - Peripheral DMA2 CH6 interrupt mask to CPU1
63451            #[inline(always)]
63452            pub fn dma2_ch6_im(&mut self) -> DMA2_CH6_IM_W {
63453                DMA2_CH6_IM_W { w: self }
63454            }
63455            ///Bit 14 - Peripheral DMA2 CH7 interrupt mask to CPU1
63456            #[inline(always)]
63457            pub fn dma2_ch7_im(&mut self) -> DMA2_CH7_IM_W {
63458                DMA2_CH7_IM_W { w: self }
63459            }
63460            ///Bit 15 - Peripheral DMAM UX1 interrupt mask to CPU1
63461            #[inline(always)]
63462            pub fn dmam_ux1_im(&mut self) -> DMAM_UX1_IM_W {
63463                DMAM_UX1_IM_W { w: self }
63464            }
63465            ///Bit 16 - Peripheral PVM1IM interrupt mask to CPU1
63466            #[inline(always)]
63467            pub fn pvm1im(&mut self) -> PVM1IM_W {
63468                PVM1IM_W { w: self }
63469            }
63470            ///Bit 18 - Peripheral PVM3IM interrupt mask to CPU1
63471            #[inline(always)]
63472            pub fn pvm3im(&mut self) -> PVM3IM_W {
63473                PVM3IM_W { w: self }
63474            }
63475            ///Bit 20 - Peripheral PVDIM interrupt mask to CPU1
63476            #[inline(always)]
63477            pub fn pvdim(&mut self) -> PVDIM_W {
63478                PVDIM_W { w: self }
63479            }
63480            ///Bit 21 - Peripheral TSCIM interrupt mask to CPU1
63481            #[inline(always)]
63482            pub fn tscim(&mut self) -> TSCIM_W {
63483                TSCIM_W { w: self }
63484            }
63485            ///Bit 22 - Peripheral LCDIM interrupt mask to CPU1
63486            #[inline(always)]
63487            pub fn lcdim(&mut self) -> LCDIM_W {
63488                LCDIM_W { w: self }
63489            }
63490        }
63491    }
63492    ///secure IP control register
63493    ///
63494    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
63495    ///
63496    ///For information about available fields see [sipcr](sipcr) module
63497    pub type SIPCR = crate::Reg<u32, _SIPCR>;
63498    #[allow(missing_docs)]
63499    #[doc(hidden)]
63500    pub struct _SIPCR;
63501    ///`read()` method returns [sipcr::R](sipcr::R) reader structure
63502    impl crate::Readable for SIPCR {}
63503    ///`write(|w| ..)` method takes [sipcr::W](sipcr::W) writer structure
63504    impl crate::Writable for SIPCR {}
63505    ///secure IP control register
63506    pub mod sipcr {
63507        ///Reader of register SIPCR
63508        pub type R = crate::R<u32, super::SIPCR>;
63509        ///Writer for register SIPCR
63510        pub type W = crate::W<u32, super::SIPCR>;
63511        ///Register SIPCR `reset()`'s with value 0
63512        impl crate::ResetValue for super::SIPCR {
63513            type Type = u32;
63514            #[inline(always)]
63515            fn reset_value() -> Self::Type {
63516                0
63517            }
63518        }
63519        ///Reader of field `SAES1`
63520        pub type SAES1_R = crate::R<bool, bool>;
63521        ///Write proxy for field `SAES1`
63522        pub struct SAES1_W<'a> {
63523            w: &'a mut W,
63524        }
63525        impl<'a> SAES1_W<'a> {
63526            ///Sets the field bit
63527            #[inline(always)]
63528            pub fn set_bit(self) -> &'a mut W {
63529                self.bit(true)
63530            }
63531            ///Clears the field bit
63532            #[inline(always)]
63533            pub fn clear_bit(self) -> &'a mut W {
63534                self.bit(false)
63535            }
63536            ///Writes raw bits to the field
63537            #[inline(always)]
63538            pub fn bit(self, value: bool) -> &'a mut W {
63539                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
63540                self.w
63541            }
63542        }
63543        ///Reader of field `SAES2`
63544        pub type SAES2_R = crate::R<bool, bool>;
63545        ///Write proxy for field `SAES2`
63546        pub struct SAES2_W<'a> {
63547            w: &'a mut W,
63548        }
63549        impl<'a> SAES2_W<'a> {
63550            ///Sets the field bit
63551            #[inline(always)]
63552            pub fn set_bit(self) -> &'a mut W {
63553                self.bit(true)
63554            }
63555            ///Clears the field bit
63556            #[inline(always)]
63557            pub fn clear_bit(self) -> &'a mut W {
63558                self.bit(false)
63559            }
63560            ///Writes raw bits to the field
63561            #[inline(always)]
63562            pub fn bit(self, value: bool) -> &'a mut W {
63563                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
63564                self.w
63565            }
63566        }
63567        ///Reader of field `SPKA`
63568        pub type SPKA_R = crate::R<bool, bool>;
63569        ///Write proxy for field `SPKA`
63570        pub struct SPKA_W<'a> {
63571            w: &'a mut W,
63572        }
63573        impl<'a> SPKA_W<'a> {
63574            ///Sets the field bit
63575            #[inline(always)]
63576            pub fn set_bit(self) -> &'a mut W {
63577                self.bit(true)
63578            }
63579            ///Clears the field bit
63580            #[inline(always)]
63581            pub fn clear_bit(self) -> &'a mut W {
63582                self.bit(false)
63583            }
63584            ///Writes raw bits to the field
63585            #[inline(always)]
63586            pub fn bit(self, value: bool) -> &'a mut W {
63587                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
63588                self.w
63589            }
63590        }
63591        ///Reader of field `SRNG`
63592        pub type SRNG_R = crate::R<bool, bool>;
63593        ///Write proxy for field `SRNG`
63594        pub struct SRNG_W<'a> {
63595            w: &'a mut W,
63596        }
63597        impl<'a> SRNG_W<'a> {
63598            ///Sets the field bit
63599            #[inline(always)]
63600            pub fn set_bit(self) -> &'a mut W {
63601                self.bit(true)
63602            }
63603            ///Clears the field bit
63604            #[inline(always)]
63605            pub fn clear_bit(self) -> &'a mut W {
63606                self.bit(false)
63607            }
63608            ///Writes raw bits to the field
63609            #[inline(always)]
63610            pub fn bit(self, value: bool) -> &'a mut W {
63611                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
63612                self.w
63613            }
63614        }
63615        impl R {
63616            ///Bit 0 - Enable AES1 KEY\[7:0\]
63617            ///security.
63618            #[inline(always)]
63619            pub fn saes1(&self) -> SAES1_R {
63620                SAES1_R::new((self.bits & 0x01) != 0)
63621            }
63622            ///Bit 1 - Enable AES2 security.
63623            #[inline(always)]
63624            pub fn saes2(&self) -> SAES2_R {
63625                SAES2_R::new(((self.bits >> 1) & 0x01) != 0)
63626            }
63627            ///Bit 2 - Enable PKA security
63628            #[inline(always)]
63629            pub fn spka(&self) -> SPKA_R {
63630                SPKA_R::new(((self.bits >> 2) & 0x01) != 0)
63631            }
63632            ///Bit 3 - Enable True RNG security
63633            #[inline(always)]
63634            pub fn srng(&self) -> SRNG_R {
63635                SRNG_R::new(((self.bits >> 3) & 0x01) != 0)
63636            }
63637        }
63638        impl W {
63639            ///Bit 0 - Enable AES1 KEY\[7:0\]
63640            ///security.
63641            #[inline(always)]
63642            pub fn saes1(&mut self) -> SAES1_W {
63643                SAES1_W { w: self }
63644            }
63645            ///Bit 1 - Enable AES2 security.
63646            #[inline(always)]
63647            pub fn saes2(&mut self) -> SAES2_W {
63648                SAES2_W { w: self }
63649            }
63650            ///Bit 2 - Enable PKA security
63651            #[inline(always)]
63652            pub fn spka(&mut self) -> SPKA_W {
63653                SPKA_W { w: self }
63654            }
63655            ///Bit 3 - Enable True RNG security
63656            #[inline(always)]
63657            pub fn srng(&mut self) -> SRNG_W {
63658                SRNG_W { w: self }
63659            }
63660        }
63661    }
63662}
63663///Random number generator
63664pub struct RNG {
63665    _marker: PhantomData<*const ()>,
63666}
63667unsafe impl Send for RNG {}
63668impl RNG {
63669    ///Returns a pointer to the register block
63670    #[inline(always)]
63671    pub const fn ptr() -> *const rng::RegisterBlock {
63672        0x5800_1000 as *const _
63673    }
63674}
63675impl Deref for RNG {
63676    type Target = rng::RegisterBlock;
63677    #[inline(always)]
63678    fn deref(&self) -> &Self::Target {
63679        unsafe { &*RNG::ptr() }
63680    }
63681}
63682///Random number generator
63683pub mod rng {
63684    ///Register block
63685    #[repr(C)]
63686    pub struct RegisterBlock {
63687        ///0x00 - control register
63688        pub cr: CR,
63689        ///0x04 - status register
63690        pub sr: SR,
63691        ///0x08 - data register
63692        pub dr: DR,
63693    }
63694    ///control register
63695    ///
63696    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
63697    ///
63698    ///For information about available fields see [cr](cr) module
63699    pub type CR = crate::Reg<u32, _CR>;
63700    #[allow(missing_docs)]
63701    #[doc(hidden)]
63702    pub struct _CR;
63703    ///`read()` method returns [cr::R](cr::R) reader structure
63704    impl crate::Readable for CR {}
63705    ///`write(|w| ..)` method takes [cr::W](cr::W) writer structure
63706    impl crate::Writable for CR {}
63707    ///control register
63708    pub mod cr {
63709        ///Reader of register CR
63710        pub type R = crate::R<u32, super::CR>;
63711        ///Writer for register CR
63712        pub type W = crate::W<u32, super::CR>;
63713        ///Register CR `reset()`'s with value 0
63714        impl crate::ResetValue for super::CR {
63715            type Type = u32;
63716            #[inline(always)]
63717            fn reset_value() -> Self::Type {
63718                0
63719            }
63720        }
63721        ///Reader of field `RNGEN`
63722        pub type RNGEN_R = crate::R<bool, bool>;
63723        ///Write proxy for field `RNGEN`
63724        pub struct RNGEN_W<'a> {
63725            w: &'a mut W,
63726        }
63727        impl<'a> RNGEN_W<'a> {
63728            ///Sets the field bit
63729            #[inline(always)]
63730            pub fn set_bit(self) -> &'a mut W {
63731                self.bit(true)
63732            }
63733            ///Clears the field bit
63734            #[inline(always)]
63735            pub fn clear_bit(self) -> &'a mut W {
63736                self.bit(false)
63737            }
63738            ///Writes raw bits to the field
63739            #[inline(always)]
63740            pub fn bit(self, value: bool) -> &'a mut W {
63741                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
63742                self.w
63743            }
63744        }
63745        ///Reader of field `IE`
63746        pub type IE_R = crate::R<bool, bool>;
63747        ///Write proxy for field `IE`
63748        pub struct IE_W<'a> {
63749            w: &'a mut W,
63750        }
63751        impl<'a> IE_W<'a> {
63752            ///Sets the field bit
63753            #[inline(always)]
63754            pub fn set_bit(self) -> &'a mut W {
63755                self.bit(true)
63756            }
63757            ///Clears the field bit
63758            #[inline(always)]
63759            pub fn clear_bit(self) -> &'a mut W {
63760                self.bit(false)
63761            }
63762            ///Writes raw bits to the field
63763            #[inline(always)]
63764            pub fn bit(self, value: bool) -> &'a mut W {
63765                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
63766                self.w
63767            }
63768        }
63769        ///Reader of field `BYP`
63770        pub type BYP_R = crate::R<bool, bool>;
63771        ///Write proxy for field `BYP`
63772        pub struct BYP_W<'a> {
63773            w: &'a mut W,
63774        }
63775        impl<'a> BYP_W<'a> {
63776            ///Sets the field bit
63777            #[inline(always)]
63778            pub fn set_bit(self) -> &'a mut W {
63779                self.bit(true)
63780            }
63781            ///Clears the field bit
63782            #[inline(always)]
63783            pub fn clear_bit(self) -> &'a mut W {
63784                self.bit(false)
63785            }
63786            ///Writes raw bits to the field
63787            #[inline(always)]
63788            pub fn bit(self, value: bool) -> &'a mut W {
63789                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
63790                self.w
63791            }
63792        }
63793        impl R {
63794            ///Bit 2 - Random number generator enable
63795            #[inline(always)]
63796            pub fn rngen(&self) -> RNGEN_R {
63797                RNGEN_R::new(((self.bits >> 2) & 0x01) != 0)
63798            }
63799            ///Bit 3 - Interrupt enable
63800            #[inline(always)]
63801            pub fn ie(&self) -> IE_R {
63802                IE_R::new(((self.bits >> 3) & 0x01) != 0)
63803            }
63804            ///Bit 6 - Bypass mode enable
63805            #[inline(always)]
63806            pub fn byp(&self) -> BYP_R {
63807                BYP_R::new(((self.bits >> 6) & 0x01) != 0)
63808            }
63809        }
63810        impl W {
63811            ///Bit 2 - Random number generator enable
63812            #[inline(always)]
63813            pub fn rngen(&mut self) -> RNGEN_W {
63814                RNGEN_W { w: self }
63815            }
63816            ///Bit 3 - Interrupt enable
63817            #[inline(always)]
63818            pub fn ie(&mut self) -> IE_W {
63819                IE_W { w: self }
63820            }
63821            ///Bit 6 - Bypass mode enable
63822            #[inline(always)]
63823            pub fn byp(&mut self) -> BYP_W {
63824                BYP_W { w: self }
63825            }
63826        }
63827    }
63828    ///status register
63829    ///
63830    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
63831    ///
63832    ///For information about available fields see [sr](sr) module
63833    pub type SR = crate::Reg<u32, _SR>;
63834    #[allow(missing_docs)]
63835    #[doc(hidden)]
63836    pub struct _SR;
63837    ///`read()` method returns [sr::R](sr::R) reader structure
63838    impl crate::Readable for SR {}
63839    ///`write(|w| ..)` method takes [sr::W](sr::W) writer structure
63840    impl crate::Writable for SR {}
63841    ///status register
63842    pub mod sr {
63843        ///Reader of register SR
63844        pub type R = crate::R<u32, super::SR>;
63845        ///Writer for register SR
63846        pub type W = crate::W<u32, super::SR>;
63847        ///Register SR `reset()`'s with value 0
63848        impl crate::ResetValue for super::SR {
63849            type Type = u32;
63850            #[inline(always)]
63851            fn reset_value() -> Self::Type {
63852                0
63853            }
63854        }
63855        ///Reader of field `SEIS`
63856        pub type SEIS_R = crate::R<bool, bool>;
63857        ///Write proxy for field `SEIS`
63858        pub struct SEIS_W<'a> {
63859            w: &'a mut W,
63860        }
63861        impl<'a> SEIS_W<'a> {
63862            ///Sets the field bit
63863            #[inline(always)]
63864            pub fn set_bit(self) -> &'a mut W {
63865                self.bit(true)
63866            }
63867            ///Clears the field bit
63868            #[inline(always)]
63869            pub fn clear_bit(self) -> &'a mut W {
63870                self.bit(false)
63871            }
63872            ///Writes raw bits to the field
63873            #[inline(always)]
63874            pub fn bit(self, value: bool) -> &'a mut W {
63875                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
63876                self.w
63877            }
63878        }
63879        ///Reader of field `CEIS`
63880        pub type CEIS_R = crate::R<bool, bool>;
63881        ///Write proxy for field `CEIS`
63882        pub struct CEIS_W<'a> {
63883            w: &'a mut W,
63884        }
63885        impl<'a> CEIS_W<'a> {
63886            ///Sets the field bit
63887            #[inline(always)]
63888            pub fn set_bit(self) -> &'a mut W {
63889                self.bit(true)
63890            }
63891            ///Clears the field bit
63892            #[inline(always)]
63893            pub fn clear_bit(self) -> &'a mut W {
63894                self.bit(false)
63895            }
63896            ///Writes raw bits to the field
63897            #[inline(always)]
63898            pub fn bit(self, value: bool) -> &'a mut W {
63899                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
63900                self.w
63901            }
63902        }
63903        ///Reader of field `SECS`
63904        pub type SECS_R = crate::R<bool, bool>;
63905        ///Reader of field `CECS`
63906        pub type CECS_R = crate::R<bool, bool>;
63907        ///Reader of field `DRDY`
63908        pub type DRDY_R = crate::R<bool, bool>;
63909        impl R {
63910            ///Bit 6 - Seed error interrupt status
63911            #[inline(always)]
63912            pub fn seis(&self) -> SEIS_R {
63913                SEIS_R::new(((self.bits >> 6) & 0x01) != 0)
63914            }
63915            ///Bit 5 - Clock error interrupt status
63916            #[inline(always)]
63917            pub fn ceis(&self) -> CEIS_R {
63918                CEIS_R::new(((self.bits >> 5) & 0x01) != 0)
63919            }
63920            ///Bit 2 - Seed error current status
63921            #[inline(always)]
63922            pub fn secs(&self) -> SECS_R {
63923                SECS_R::new(((self.bits >> 2) & 0x01) != 0)
63924            }
63925            ///Bit 1 - Clock error current status
63926            #[inline(always)]
63927            pub fn cecs(&self) -> CECS_R {
63928                CECS_R::new(((self.bits >> 1) & 0x01) != 0)
63929            }
63930            ///Bit 0 - Data ready
63931            #[inline(always)]
63932            pub fn drdy(&self) -> DRDY_R {
63933                DRDY_R::new((self.bits & 0x01) != 0)
63934            }
63935        }
63936        impl W {
63937            ///Bit 6 - Seed error interrupt status
63938            #[inline(always)]
63939            pub fn seis(&mut self) -> SEIS_W {
63940                SEIS_W { w: self }
63941            }
63942            ///Bit 5 - Clock error interrupt status
63943            #[inline(always)]
63944            pub fn ceis(&mut self) -> CEIS_W {
63945                CEIS_W { w: self }
63946            }
63947        }
63948    }
63949    ///data register
63950    ///
63951    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
63952    ///
63953    ///For information about available fields see [dr](dr) module
63954    pub type DR = crate::Reg<u32, _DR>;
63955    #[allow(missing_docs)]
63956    #[doc(hidden)]
63957    pub struct _DR;
63958    ///`read()` method returns [dr::R](dr::R) reader structure
63959    impl crate::Readable for DR {}
63960    ///data register
63961    pub mod dr {
63962        ///Reader of register DR
63963        pub type R = crate::R<u32, super::DR>;
63964        ///Reader of field `RNDATA`
63965        pub type RNDATA_R = crate::R<u32, u32>;
63966        impl R {
63967            ///Bits 0:31 - Random data
63968            #[inline(always)]
63969            pub fn rndata(&self) -> RNDATA_R {
63970                RNDATA_R::new((self.bits & 0xffff_ffff) as u32)
63971            }
63972        }
63973    }
63974}
63975///Advanced encryption standard hardware accelerator 1
63976pub struct AES1 {
63977    _marker: PhantomData<*const ()>,
63978}
63979unsafe impl Send for AES1 {}
63980impl AES1 {
63981    ///Returns a pointer to the register block
63982    #[inline(always)]
63983    pub const fn ptr() -> *const aes1::RegisterBlock {
63984        0x5006_0000 as *const _
63985    }
63986}
63987impl Deref for AES1 {
63988    type Target = aes1::RegisterBlock;
63989    #[inline(always)]
63990    fn deref(&self) -> &Self::Target {
63991        unsafe { &*AES1::ptr() }
63992    }
63993}
63994///Advanced encryption standard hardware accelerator 1
63995pub mod aes1 {
63996    ///Register block
63997    #[repr(C)]
63998    pub struct RegisterBlock {
63999        ///0x00 - control register
64000        pub cr: CR,
64001        ///0x04 - status register
64002        pub sr: SR,
64003        ///0x08 - data input register
64004        pub dinr: DINR,
64005        ///0x0c - data output register
64006        pub doutr: DOUTR,
64007        ///0x10 - key register 0
64008        pub keyr0: KEYR0,
64009        ///0x14 - key register 1
64010        pub keyr1: KEYR1,
64011        ///0x18 - key register 2
64012        pub keyr2: KEYR2,
64013        ///0x1c - key register 3
64014        pub keyr3: KEYR3,
64015        ///0x20 - initialization vector register 0
64016        pub ivr0: IVR0,
64017        ///0x24 - initialization vector register 1
64018        pub ivr1: IVR1,
64019        ///0x28 - initialization vector register 2
64020        pub ivr2: IVR2,
64021        ///0x2c - initialization vector register 3
64022        pub ivr3: IVR3,
64023        ///0x30 - key register 4
64024        pub keyr4: KEYR4,
64025        ///0x34 - key register 5
64026        pub keyr5: KEYR5,
64027        ///0x38 - key register 6
64028        pub keyr6: KEYR6,
64029        ///0x3c - key register 7
64030        pub keyr7: KEYR7,
64031        ///0x40 - AES suspend register 0
64032        pub susp0r: SUSP0R,
64033        ///0x44 - AES suspend register 1
64034        pub susp1r: SUSP1R,
64035        ///0x48 - AES suspend register 2
64036        pub susp2r: SUSP2R,
64037        ///0x4c - AES suspend register 3
64038        pub susp3r: SUSP3R,
64039        ///0x50 - AES suspend register 4
64040        pub susp4r: SUSP4R,
64041        ///0x54 - AES suspend register 5
64042        pub susp5r: SUSP5R,
64043        ///0x58 - AES suspend register 6
64044        pub susp6r: SUSP6R,
64045        ///0x5c - AES suspend register 7
64046        pub susp7r: SUSP7R,
64047        _reserved24: [u8; 912usize],
64048        ///0x3f0 - AES hardware configuration register
64049        pub hwcfr: HWCFR,
64050        ///0x3f4 - AES version register
64051        pub verr: VERR,
64052        ///0x3f8 - AES identification register
64053        pub ipidr: IPIDR,
64054        ///0x3fc - AES size ID register
64055        pub sidr: SIDR,
64056    }
64057    ///control register
64058    ///
64059    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
64060    ///
64061    ///For information about available fields see [cr](cr) module
64062    pub type CR = crate::Reg<u32, _CR>;
64063    #[allow(missing_docs)]
64064    #[doc(hidden)]
64065    pub struct _CR;
64066    ///`read()` method returns [cr::R](cr::R) reader structure
64067    impl crate::Readable for CR {}
64068    ///`write(|w| ..)` method takes [cr::W](cr::W) writer structure
64069    impl crate::Writable for CR {}
64070    ///control register
64071    pub mod cr {
64072        ///Reader of register CR
64073        pub type R = crate::R<u32, super::CR>;
64074        ///Writer for register CR
64075        pub type W = crate::W<u32, super::CR>;
64076        ///Register CR `reset()`'s with value 0
64077        impl crate::ResetValue for super::CR {
64078            type Type = u32;
64079            #[inline(always)]
64080            fn reset_value() -> Self::Type {
64081                0
64082            }
64083        }
64084        ///Reader of field `NPBLB`
64085        pub type NPBLB_R = crate::R<u8, u8>;
64086        ///Write proxy for field `NPBLB`
64087        pub struct NPBLB_W<'a> {
64088            w: &'a mut W,
64089        }
64090        impl<'a> NPBLB_W<'a> {
64091            ///Writes raw bits to the field
64092            #[inline(always)]
64093            pub unsafe fn bits(self, value: u8) -> &'a mut W {
64094                self.w.bits = (self.w.bits & !(0x0f << 20)) | (((value as u32) & 0x0f) << 20);
64095                self.w
64096            }
64097        }
64098        ///Reader of field `KEYSIZE`
64099        pub type KEYSIZE_R = crate::R<bool, bool>;
64100        ///Write proxy for field `KEYSIZE`
64101        pub struct KEYSIZE_W<'a> {
64102            w: &'a mut W,
64103        }
64104        impl<'a> KEYSIZE_W<'a> {
64105            ///Sets the field bit
64106            #[inline(always)]
64107            pub fn set_bit(self) -> &'a mut W {
64108                self.bit(true)
64109            }
64110            ///Clears the field bit
64111            #[inline(always)]
64112            pub fn clear_bit(self) -> &'a mut W {
64113                self.bit(false)
64114            }
64115            ///Writes raw bits to the field
64116            #[inline(always)]
64117            pub fn bit(self, value: bool) -> &'a mut W {
64118                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
64119                self.w
64120            }
64121        }
64122        ///Reader of field `CHMOD2`
64123        pub type CHMOD2_R = crate::R<bool, bool>;
64124        ///Write proxy for field `CHMOD2`
64125        pub struct CHMOD2_W<'a> {
64126            w: &'a mut W,
64127        }
64128        impl<'a> CHMOD2_W<'a> {
64129            ///Sets the field bit
64130            #[inline(always)]
64131            pub fn set_bit(self) -> &'a mut W {
64132                self.bit(true)
64133            }
64134            ///Clears the field bit
64135            #[inline(always)]
64136            pub fn clear_bit(self) -> &'a mut W {
64137                self.bit(false)
64138            }
64139            ///Writes raw bits to the field
64140            #[inline(always)]
64141            pub fn bit(self, value: bool) -> &'a mut W {
64142                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
64143                self.w
64144            }
64145        }
64146        ///Reader of field `GCMPH`
64147        pub type GCMPH_R = crate::R<u8, u8>;
64148        ///Write proxy for field `GCMPH`
64149        pub struct GCMPH_W<'a> {
64150            w: &'a mut W,
64151        }
64152        impl<'a> GCMPH_W<'a> {
64153            ///Writes raw bits to the field
64154            #[inline(always)]
64155            pub unsafe fn bits(self, value: u8) -> &'a mut W {
64156                self.w.bits = (self.w.bits & !(0x03 << 13)) | (((value as u32) & 0x03) << 13);
64157                self.w
64158            }
64159        }
64160        ///Reader of field `DMAOUTEN`
64161        pub type DMAOUTEN_R = crate::R<bool, bool>;
64162        ///Write proxy for field `DMAOUTEN`
64163        pub struct DMAOUTEN_W<'a> {
64164            w: &'a mut W,
64165        }
64166        impl<'a> DMAOUTEN_W<'a> {
64167            ///Sets the field bit
64168            #[inline(always)]
64169            pub fn set_bit(self) -> &'a mut W {
64170                self.bit(true)
64171            }
64172            ///Clears the field bit
64173            #[inline(always)]
64174            pub fn clear_bit(self) -> &'a mut W {
64175                self.bit(false)
64176            }
64177            ///Writes raw bits to the field
64178            #[inline(always)]
64179            pub fn bit(self, value: bool) -> &'a mut W {
64180                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
64181                self.w
64182            }
64183        }
64184        ///Reader of field `DMAINEN`
64185        pub type DMAINEN_R = crate::R<bool, bool>;
64186        ///Write proxy for field `DMAINEN`
64187        pub struct DMAINEN_W<'a> {
64188            w: &'a mut W,
64189        }
64190        impl<'a> DMAINEN_W<'a> {
64191            ///Sets the field bit
64192            #[inline(always)]
64193            pub fn set_bit(self) -> &'a mut W {
64194                self.bit(true)
64195            }
64196            ///Clears the field bit
64197            #[inline(always)]
64198            pub fn clear_bit(self) -> &'a mut W {
64199                self.bit(false)
64200            }
64201            ///Writes raw bits to the field
64202            #[inline(always)]
64203            pub fn bit(self, value: bool) -> &'a mut W {
64204                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
64205                self.w
64206            }
64207        }
64208        ///Reader of field `ERRIE`
64209        pub type ERRIE_R = crate::R<bool, bool>;
64210        ///Write proxy for field `ERRIE`
64211        pub struct ERRIE_W<'a> {
64212            w: &'a mut W,
64213        }
64214        impl<'a> ERRIE_W<'a> {
64215            ///Sets the field bit
64216            #[inline(always)]
64217            pub fn set_bit(self) -> &'a mut W {
64218                self.bit(true)
64219            }
64220            ///Clears the field bit
64221            #[inline(always)]
64222            pub fn clear_bit(self) -> &'a mut W {
64223                self.bit(false)
64224            }
64225            ///Writes raw bits to the field
64226            #[inline(always)]
64227            pub fn bit(self, value: bool) -> &'a mut W {
64228                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
64229                self.w
64230            }
64231        }
64232        ///Reader of field `CCFIE`
64233        pub type CCFIE_R = crate::R<bool, bool>;
64234        ///Write proxy for field `CCFIE`
64235        pub struct CCFIE_W<'a> {
64236            w: &'a mut W,
64237        }
64238        impl<'a> CCFIE_W<'a> {
64239            ///Sets the field bit
64240            #[inline(always)]
64241            pub fn set_bit(self) -> &'a mut W {
64242                self.bit(true)
64243            }
64244            ///Clears the field bit
64245            #[inline(always)]
64246            pub fn clear_bit(self) -> &'a mut W {
64247                self.bit(false)
64248            }
64249            ///Writes raw bits to the field
64250            #[inline(always)]
64251            pub fn bit(self, value: bool) -> &'a mut W {
64252                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
64253                self.w
64254            }
64255        }
64256        ///Reader of field `ERRC`
64257        pub type ERRC_R = crate::R<bool, bool>;
64258        ///Write proxy for field `ERRC`
64259        pub struct ERRC_W<'a> {
64260            w: &'a mut W,
64261        }
64262        impl<'a> ERRC_W<'a> {
64263            ///Sets the field bit
64264            #[inline(always)]
64265            pub fn set_bit(self) -> &'a mut W {
64266                self.bit(true)
64267            }
64268            ///Clears the field bit
64269            #[inline(always)]
64270            pub fn clear_bit(self) -> &'a mut W {
64271                self.bit(false)
64272            }
64273            ///Writes raw bits to the field
64274            #[inline(always)]
64275            pub fn bit(self, value: bool) -> &'a mut W {
64276                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
64277                self.w
64278            }
64279        }
64280        ///Reader of field `CCFC`
64281        pub type CCFC_R = crate::R<bool, bool>;
64282        ///Write proxy for field `CCFC`
64283        pub struct CCFC_W<'a> {
64284            w: &'a mut W,
64285        }
64286        impl<'a> CCFC_W<'a> {
64287            ///Sets the field bit
64288            #[inline(always)]
64289            pub fn set_bit(self) -> &'a mut W {
64290                self.bit(true)
64291            }
64292            ///Clears the field bit
64293            #[inline(always)]
64294            pub fn clear_bit(self) -> &'a mut W {
64295                self.bit(false)
64296            }
64297            ///Writes raw bits to the field
64298            #[inline(always)]
64299            pub fn bit(self, value: bool) -> &'a mut W {
64300                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
64301                self.w
64302            }
64303        }
64304        ///Reader of field `CHMOD10`
64305        pub type CHMOD10_R = crate::R<u8, u8>;
64306        ///Write proxy for field `CHMOD10`
64307        pub struct CHMOD10_W<'a> {
64308            w: &'a mut W,
64309        }
64310        impl<'a> CHMOD10_W<'a> {
64311            ///Writes raw bits to the field
64312            #[inline(always)]
64313            pub unsafe fn bits(self, value: u8) -> &'a mut W {
64314                self.w.bits = (self.w.bits & !(0x03 << 5)) | (((value as u32) & 0x03) << 5);
64315                self.w
64316            }
64317        }
64318        ///Reader of field `MODE`
64319        pub type MODE_R = crate::R<u8, u8>;
64320        ///Write proxy for field `MODE`
64321        pub struct MODE_W<'a> {
64322            w: &'a mut W,
64323        }
64324        impl<'a> MODE_W<'a> {
64325            ///Writes raw bits to the field
64326            #[inline(always)]
64327            pub unsafe fn bits(self, value: u8) -> &'a mut W {
64328                self.w.bits = (self.w.bits & !(0x03 << 3)) | (((value as u32) & 0x03) << 3);
64329                self.w
64330            }
64331        }
64332        ///Reader of field `DATATYPE`
64333        pub type DATATYPE_R = crate::R<u8, u8>;
64334        ///Write proxy for field `DATATYPE`
64335        pub struct DATATYPE_W<'a> {
64336            w: &'a mut W,
64337        }
64338        impl<'a> DATATYPE_W<'a> {
64339            ///Writes raw bits to the field
64340            #[inline(always)]
64341            pub unsafe fn bits(self, value: u8) -> &'a mut W {
64342                self.w.bits = (self.w.bits & !(0x03 << 1)) | (((value as u32) & 0x03) << 1);
64343                self.w
64344            }
64345        }
64346        ///Reader of field `EN`
64347        pub type EN_R = crate::R<bool, bool>;
64348        ///Write proxy for field `EN`
64349        pub struct EN_W<'a> {
64350            w: &'a mut W,
64351        }
64352        impl<'a> EN_W<'a> {
64353            ///Sets the field bit
64354            #[inline(always)]
64355            pub fn set_bit(self) -> &'a mut W {
64356                self.bit(true)
64357            }
64358            ///Clears the field bit
64359            #[inline(always)]
64360            pub fn clear_bit(self) -> &'a mut W {
64361                self.bit(false)
64362            }
64363            ///Writes raw bits to the field
64364            #[inline(always)]
64365            pub fn bit(self, value: bool) -> &'a mut W {
64366                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
64367                self.w
64368            }
64369        }
64370        impl R {
64371            ///Bits 20:23 - Number of padding bytes in last block of payload
64372            #[inline(always)]
64373            pub fn npblb(&self) -> NPBLB_R {
64374                NPBLB_R::new(((self.bits >> 20) & 0x0f) as u8)
64375            }
64376            ///Bit 18 - Key size selection
64377            #[inline(always)]
64378            pub fn keysize(&self) -> KEYSIZE_R {
64379                KEYSIZE_R::new(((self.bits >> 18) & 0x01) != 0)
64380            }
64381            ///Bit 16 - AES chaining mode Bit2
64382            #[inline(always)]
64383            pub fn chmod2(&self) -> CHMOD2_R {
64384                CHMOD2_R::new(((self.bits >> 16) & 0x01) != 0)
64385            }
64386            ///Bits 13:14 - Used only for GCM, CCM and GMAC algorithms and has no effect when other algorithms are selected
64387            #[inline(always)]
64388            pub fn gcmph(&self) -> GCMPH_R {
64389                GCMPH_R::new(((self.bits >> 13) & 0x03) as u8)
64390            }
64391            ///Bit 12 - Enable DMA management of data output phase
64392            #[inline(always)]
64393            pub fn dmaouten(&self) -> DMAOUTEN_R {
64394                DMAOUTEN_R::new(((self.bits >> 12) & 0x01) != 0)
64395            }
64396            ///Bit 11 - Enable DMA management of data input phase
64397            #[inline(always)]
64398            pub fn dmainen(&self) -> DMAINEN_R {
64399                DMAINEN_R::new(((self.bits >> 11) & 0x01) != 0)
64400            }
64401            ///Bit 10 - Error interrupt enable
64402            #[inline(always)]
64403            pub fn errie(&self) -> ERRIE_R {
64404                ERRIE_R::new(((self.bits >> 10) & 0x01) != 0)
64405            }
64406            ///Bit 9 - CCF flag interrupt enable
64407            #[inline(always)]
64408            pub fn ccfie(&self) -> CCFIE_R {
64409                CCFIE_R::new(((self.bits >> 9) & 0x01) != 0)
64410            }
64411            ///Bit 8 - Error clear
64412            #[inline(always)]
64413            pub fn errc(&self) -> ERRC_R {
64414                ERRC_R::new(((self.bits >> 8) & 0x01) != 0)
64415            }
64416            ///Bit 7 - Computation Complete Flag Clear
64417            #[inline(always)]
64418            pub fn ccfc(&self) -> CCFC_R {
64419                CCFC_R::new(((self.bits >> 7) & 0x01) != 0)
64420            }
64421            ///Bits 5:6 - AES chaining mode Bit1 Bit0
64422            #[inline(always)]
64423            pub fn chmod10(&self) -> CHMOD10_R {
64424                CHMOD10_R::new(((self.bits >> 5) & 0x03) as u8)
64425            }
64426            ///Bits 3:4 - AES operating mode
64427            #[inline(always)]
64428            pub fn mode(&self) -> MODE_R {
64429                MODE_R::new(((self.bits >> 3) & 0x03) as u8)
64430            }
64431            ///Bits 1:2 - Data type selection (for data in and data out to/from the cryptographic block)
64432            #[inline(always)]
64433            pub fn datatype(&self) -> DATATYPE_R {
64434                DATATYPE_R::new(((self.bits >> 1) & 0x03) as u8)
64435            }
64436            ///Bit 0 - AES enable
64437            #[inline(always)]
64438            pub fn en(&self) -> EN_R {
64439                EN_R::new((self.bits & 0x01) != 0)
64440            }
64441        }
64442        impl W {
64443            ///Bits 20:23 - Number of padding bytes in last block of payload
64444            #[inline(always)]
64445            pub fn npblb(&mut self) -> NPBLB_W {
64446                NPBLB_W { w: self }
64447            }
64448            ///Bit 18 - Key size selection
64449            #[inline(always)]
64450            pub fn keysize(&mut self) -> KEYSIZE_W {
64451                KEYSIZE_W { w: self }
64452            }
64453            ///Bit 16 - AES chaining mode Bit2
64454            #[inline(always)]
64455            pub fn chmod2(&mut self) -> CHMOD2_W {
64456                CHMOD2_W { w: self }
64457            }
64458            ///Bits 13:14 - Used only for GCM, CCM and GMAC algorithms and has no effect when other algorithms are selected
64459            #[inline(always)]
64460            pub fn gcmph(&mut self) -> GCMPH_W {
64461                GCMPH_W { w: self }
64462            }
64463            ///Bit 12 - Enable DMA management of data output phase
64464            #[inline(always)]
64465            pub fn dmaouten(&mut self) -> DMAOUTEN_W {
64466                DMAOUTEN_W { w: self }
64467            }
64468            ///Bit 11 - Enable DMA management of data input phase
64469            #[inline(always)]
64470            pub fn dmainen(&mut self) -> DMAINEN_W {
64471                DMAINEN_W { w: self }
64472            }
64473            ///Bit 10 - Error interrupt enable
64474            #[inline(always)]
64475            pub fn errie(&mut self) -> ERRIE_W {
64476                ERRIE_W { w: self }
64477            }
64478            ///Bit 9 - CCF flag interrupt enable
64479            #[inline(always)]
64480            pub fn ccfie(&mut self) -> CCFIE_W {
64481                CCFIE_W { w: self }
64482            }
64483            ///Bit 8 - Error clear
64484            #[inline(always)]
64485            pub fn errc(&mut self) -> ERRC_W {
64486                ERRC_W { w: self }
64487            }
64488            ///Bit 7 - Computation Complete Flag Clear
64489            #[inline(always)]
64490            pub fn ccfc(&mut self) -> CCFC_W {
64491                CCFC_W { w: self }
64492            }
64493            ///Bits 5:6 - AES chaining mode Bit1 Bit0
64494            #[inline(always)]
64495            pub fn chmod10(&mut self) -> CHMOD10_W {
64496                CHMOD10_W { w: self }
64497            }
64498            ///Bits 3:4 - AES operating mode
64499            #[inline(always)]
64500            pub fn mode(&mut self) -> MODE_W {
64501                MODE_W { w: self }
64502            }
64503            ///Bits 1:2 - Data type selection (for data in and data out to/from the cryptographic block)
64504            #[inline(always)]
64505            pub fn datatype(&mut self) -> DATATYPE_W {
64506                DATATYPE_W { w: self }
64507            }
64508            ///Bit 0 - AES enable
64509            #[inline(always)]
64510            pub fn en(&mut self) -> EN_W {
64511                EN_W { w: self }
64512            }
64513        }
64514    }
64515    ///status register
64516    ///
64517    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
64518    ///
64519    ///For information about available fields see [sr](sr) module
64520    pub type SR = crate::Reg<u32, _SR>;
64521    #[allow(missing_docs)]
64522    #[doc(hidden)]
64523    pub struct _SR;
64524    ///`read()` method returns [sr::R](sr::R) reader structure
64525    impl crate::Readable for SR {}
64526    ///status register
64527    pub mod sr {
64528        ///Reader of register SR
64529        pub type R = crate::R<u32, super::SR>;
64530        ///Reader of field `BUSY`
64531        pub type BUSY_R = crate::R<bool, bool>;
64532        ///Reader of field `WRERR`
64533        pub type WRERR_R = crate::R<bool, bool>;
64534        ///Reader of field `RDERR`
64535        pub type RDERR_R = crate::R<bool, bool>;
64536        ///Reader of field `CCF`
64537        pub type CCF_R = crate::R<bool, bool>;
64538        impl R {
64539            ///Bit 3 - Busy flag
64540            #[inline(always)]
64541            pub fn busy(&self) -> BUSY_R {
64542                BUSY_R::new(((self.bits >> 3) & 0x01) != 0)
64543            }
64544            ///Bit 2 - Write error flag
64545            #[inline(always)]
64546            pub fn wrerr(&self) -> WRERR_R {
64547                WRERR_R::new(((self.bits >> 2) & 0x01) != 0)
64548            }
64549            ///Bit 1 - Read error flag
64550            #[inline(always)]
64551            pub fn rderr(&self) -> RDERR_R {
64552                RDERR_R::new(((self.bits >> 1) & 0x01) != 0)
64553            }
64554            ///Bit 0 - Computation complete flag
64555            #[inline(always)]
64556            pub fn ccf(&self) -> CCF_R {
64557                CCF_R::new((self.bits & 0x01) != 0)
64558            }
64559        }
64560    }
64561    ///data input register
64562    ///
64563    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
64564    ///
64565    ///For information about available fields see [dinr](dinr) module
64566    pub type DINR = crate::Reg<u32, _DINR>;
64567    #[allow(missing_docs)]
64568    #[doc(hidden)]
64569    pub struct _DINR;
64570    ///`read()` method returns [dinr::R](dinr::R) reader structure
64571    impl crate::Readable for DINR {}
64572    ///`write(|w| ..)` method takes [dinr::W](dinr::W) writer structure
64573    impl crate::Writable for DINR {}
64574    ///data input register
64575    pub mod dinr {
64576        ///Reader of register DINR
64577        pub type R = crate::R<u32, super::DINR>;
64578        ///Writer for register DINR
64579        pub type W = crate::W<u32, super::DINR>;
64580        ///Register DINR `reset()`'s with value 0
64581        impl crate::ResetValue for super::DINR {
64582            type Type = u32;
64583            #[inline(always)]
64584            fn reset_value() -> Self::Type {
64585                0
64586            }
64587        }
64588        ///Reader of field `AES_DINR`
64589        pub type AES_DINR_R = crate::R<u32, u32>;
64590        ///Write proxy for field `AES_DINR`
64591        pub struct AES_DINR_W<'a> {
64592            w: &'a mut W,
64593        }
64594        impl<'a> AES_DINR_W<'a> {
64595            ///Writes raw bits to the field
64596            #[inline(always)]
64597            pub unsafe fn bits(self, value: u32) -> &'a mut W {
64598                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
64599                self.w
64600            }
64601        }
64602        impl R {
64603            ///Bits 0:31 - Data Input Register
64604            #[inline(always)]
64605            pub fn aes_dinr(&self) -> AES_DINR_R {
64606                AES_DINR_R::new((self.bits & 0xffff_ffff) as u32)
64607            }
64608        }
64609        impl W {
64610            ///Bits 0:31 - Data Input Register
64611            #[inline(always)]
64612            pub fn aes_dinr(&mut self) -> AES_DINR_W {
64613                AES_DINR_W { w: self }
64614            }
64615        }
64616    }
64617    ///data output register
64618    ///
64619    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
64620    ///
64621    ///For information about available fields see [doutr](doutr) module
64622    pub type DOUTR = crate::Reg<u32, _DOUTR>;
64623    #[allow(missing_docs)]
64624    #[doc(hidden)]
64625    pub struct _DOUTR;
64626    ///`read()` method returns [doutr::R](doutr::R) reader structure
64627    impl crate::Readable for DOUTR {}
64628    ///data output register
64629    pub mod doutr {
64630        ///Reader of register DOUTR
64631        pub type R = crate::R<u32, super::DOUTR>;
64632        ///Reader of field `AES_DOUTR`
64633        pub type AES_DOUTR_R = crate::R<u32, u32>;
64634        impl R {
64635            ///Bits 0:31 - Data output register
64636            #[inline(always)]
64637            pub fn aes_doutr(&self) -> AES_DOUTR_R {
64638                AES_DOUTR_R::new((self.bits & 0xffff_ffff) as u32)
64639            }
64640        }
64641    }
64642    ///key register 0
64643    ///
64644    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
64645    ///
64646    ///For information about available fields see [keyr0](keyr0) module
64647    pub type KEYR0 = crate::Reg<u32, _KEYR0>;
64648    #[allow(missing_docs)]
64649    #[doc(hidden)]
64650    pub struct _KEYR0;
64651    ///`read()` method returns [keyr0::R](keyr0::R) reader structure
64652    impl crate::Readable for KEYR0 {}
64653    ///`write(|w| ..)` method takes [keyr0::W](keyr0::W) writer structure
64654    impl crate::Writable for KEYR0 {}
64655    ///key register 0
64656    pub mod keyr0 {
64657        ///Reader of register KEYR0
64658        pub type R = crate::R<u32, super::KEYR0>;
64659        ///Writer for register KEYR0
64660        pub type W = crate::W<u32, super::KEYR0>;
64661        ///Register KEYR0 `reset()`'s with value 0
64662        impl crate::ResetValue for super::KEYR0 {
64663            type Type = u32;
64664            #[inline(always)]
64665            fn reset_value() -> Self::Type {
64666                0
64667            }
64668        }
64669        ///Reader of field `AES_KEYR0`
64670        pub type AES_KEYR0_R = crate::R<u32, u32>;
64671        ///Write proxy for field `AES_KEYR0`
64672        pub struct AES_KEYR0_W<'a> {
64673            w: &'a mut W,
64674        }
64675        impl<'a> AES_KEYR0_W<'a> {
64676            ///Writes raw bits to the field
64677            #[inline(always)]
64678            pub unsafe fn bits(self, value: u32) -> &'a mut W {
64679                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
64680                self.w
64681            }
64682        }
64683        impl R {
64684            ///Bits 0:31 - Data Output Register (LSB key \[31:0\])
64685            #[inline(always)]
64686            pub fn aes_keyr0(&self) -> AES_KEYR0_R {
64687                AES_KEYR0_R::new((self.bits & 0xffff_ffff) as u32)
64688            }
64689        }
64690        impl W {
64691            ///Bits 0:31 - Data Output Register (LSB key \[31:0\])
64692            #[inline(always)]
64693            pub fn aes_keyr0(&mut self) -> AES_KEYR0_W {
64694                AES_KEYR0_W { w: self }
64695            }
64696        }
64697    }
64698    ///key register 1
64699    ///
64700    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
64701    ///
64702    ///For information about available fields see [keyr1](keyr1) module
64703    pub type KEYR1 = crate::Reg<u32, _KEYR1>;
64704    #[allow(missing_docs)]
64705    #[doc(hidden)]
64706    pub struct _KEYR1;
64707    ///`read()` method returns [keyr1::R](keyr1::R) reader structure
64708    impl crate::Readable for KEYR1 {}
64709    ///`write(|w| ..)` method takes [keyr1::W](keyr1::W) writer structure
64710    impl crate::Writable for KEYR1 {}
64711    ///key register 1
64712    pub mod keyr1 {
64713        ///Reader of register KEYR1
64714        pub type R = crate::R<u32, super::KEYR1>;
64715        ///Writer for register KEYR1
64716        pub type W = crate::W<u32, super::KEYR1>;
64717        ///Register KEYR1 `reset()`'s with value 0
64718        impl crate::ResetValue for super::KEYR1 {
64719            type Type = u32;
64720            #[inline(always)]
64721            fn reset_value() -> Self::Type {
64722                0
64723            }
64724        }
64725        ///Reader of field `AES_KEYR1`
64726        pub type AES_KEYR1_R = crate::R<u32, u32>;
64727        ///Write proxy for field `AES_KEYR1`
64728        pub struct AES_KEYR1_W<'a> {
64729            w: &'a mut W,
64730        }
64731        impl<'a> AES_KEYR1_W<'a> {
64732            ///Writes raw bits to the field
64733            #[inline(always)]
64734            pub unsafe fn bits(self, value: u32) -> &'a mut W {
64735                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
64736                self.w
64737            }
64738        }
64739        impl R {
64740            ///Bits 0:31 - AES key register (key \[63:32\])
64741            #[inline(always)]
64742            pub fn aes_keyr1(&self) -> AES_KEYR1_R {
64743                AES_KEYR1_R::new((self.bits & 0xffff_ffff) as u32)
64744            }
64745        }
64746        impl W {
64747            ///Bits 0:31 - AES key register (key \[63:32\])
64748            #[inline(always)]
64749            pub fn aes_keyr1(&mut self) -> AES_KEYR1_W {
64750                AES_KEYR1_W { w: self }
64751            }
64752        }
64753    }
64754    ///key register 2
64755    ///
64756    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
64757    ///
64758    ///For information about available fields see [keyr2](keyr2) module
64759    pub type KEYR2 = crate::Reg<u32, _KEYR2>;
64760    #[allow(missing_docs)]
64761    #[doc(hidden)]
64762    pub struct _KEYR2;
64763    ///`read()` method returns [keyr2::R](keyr2::R) reader structure
64764    impl crate::Readable for KEYR2 {}
64765    ///`write(|w| ..)` method takes [keyr2::W](keyr2::W) writer structure
64766    impl crate::Writable for KEYR2 {}
64767    ///key register 2
64768    pub mod keyr2 {
64769        ///Reader of register KEYR2
64770        pub type R = crate::R<u32, super::KEYR2>;
64771        ///Writer for register KEYR2
64772        pub type W = crate::W<u32, super::KEYR2>;
64773        ///Register KEYR2 `reset()`'s with value 0
64774        impl crate::ResetValue for super::KEYR2 {
64775            type Type = u32;
64776            #[inline(always)]
64777            fn reset_value() -> Self::Type {
64778                0
64779            }
64780        }
64781        ///Reader of field `AES_KEYR2`
64782        pub type AES_KEYR2_R = crate::R<u32, u32>;
64783        ///Write proxy for field `AES_KEYR2`
64784        pub struct AES_KEYR2_W<'a> {
64785            w: &'a mut W,
64786        }
64787        impl<'a> AES_KEYR2_W<'a> {
64788            ///Writes raw bits to the field
64789            #[inline(always)]
64790            pub unsafe fn bits(self, value: u32) -> &'a mut W {
64791                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
64792                self.w
64793            }
64794        }
64795        impl R {
64796            ///Bits 0:31 - AES key register (key \[95:64\])
64797            #[inline(always)]
64798            pub fn aes_keyr2(&self) -> AES_KEYR2_R {
64799                AES_KEYR2_R::new((self.bits & 0xffff_ffff) as u32)
64800            }
64801        }
64802        impl W {
64803            ///Bits 0:31 - AES key register (key \[95:64\])
64804            #[inline(always)]
64805            pub fn aes_keyr2(&mut self) -> AES_KEYR2_W {
64806                AES_KEYR2_W { w: self }
64807            }
64808        }
64809    }
64810    ///key register 3
64811    ///
64812    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
64813    ///
64814    ///For information about available fields see [keyr3](keyr3) module
64815    pub type KEYR3 = crate::Reg<u32, _KEYR3>;
64816    #[allow(missing_docs)]
64817    #[doc(hidden)]
64818    pub struct _KEYR3;
64819    ///`read()` method returns [keyr3::R](keyr3::R) reader structure
64820    impl crate::Readable for KEYR3 {}
64821    ///`write(|w| ..)` method takes [keyr3::W](keyr3::W) writer structure
64822    impl crate::Writable for KEYR3 {}
64823    ///key register 3
64824    pub mod keyr3 {
64825        ///Reader of register KEYR3
64826        pub type R = crate::R<u32, super::KEYR3>;
64827        ///Writer for register KEYR3
64828        pub type W = crate::W<u32, super::KEYR3>;
64829        ///Register KEYR3 `reset()`'s with value 0
64830        impl crate::ResetValue for super::KEYR3 {
64831            type Type = u32;
64832            #[inline(always)]
64833            fn reset_value() -> Self::Type {
64834                0
64835            }
64836        }
64837        ///Reader of field `AES_KEYR3`
64838        pub type AES_KEYR3_R = crate::R<u32, u32>;
64839        ///Write proxy for field `AES_KEYR3`
64840        pub struct AES_KEYR3_W<'a> {
64841            w: &'a mut W,
64842        }
64843        impl<'a> AES_KEYR3_W<'a> {
64844            ///Writes raw bits to the field
64845            #[inline(always)]
64846            pub unsafe fn bits(self, value: u32) -> &'a mut W {
64847                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
64848                self.w
64849            }
64850        }
64851        impl R {
64852            ///Bits 0:31 - AES key register (MSB key \[127:96\])
64853            #[inline(always)]
64854            pub fn aes_keyr3(&self) -> AES_KEYR3_R {
64855                AES_KEYR3_R::new((self.bits & 0xffff_ffff) as u32)
64856            }
64857        }
64858        impl W {
64859            ///Bits 0:31 - AES key register (MSB key \[127:96\])
64860            #[inline(always)]
64861            pub fn aes_keyr3(&mut self) -> AES_KEYR3_W {
64862                AES_KEYR3_W { w: self }
64863            }
64864        }
64865    }
64866    ///initialization vector register 0
64867    ///
64868    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
64869    ///
64870    ///For information about available fields see [ivr0](ivr0) module
64871    pub type IVR0 = crate::Reg<u32, _IVR0>;
64872    #[allow(missing_docs)]
64873    #[doc(hidden)]
64874    pub struct _IVR0;
64875    ///`read()` method returns [ivr0::R](ivr0::R) reader structure
64876    impl crate::Readable for IVR0 {}
64877    ///`write(|w| ..)` method takes [ivr0::W](ivr0::W) writer structure
64878    impl crate::Writable for IVR0 {}
64879    ///initialization vector register 0
64880    pub mod ivr0 {
64881        ///Reader of register IVR0
64882        pub type R = crate::R<u32, super::IVR0>;
64883        ///Writer for register IVR0
64884        pub type W = crate::W<u32, super::IVR0>;
64885        ///Register IVR0 `reset()`'s with value 0
64886        impl crate::ResetValue for super::IVR0 {
64887            type Type = u32;
64888            #[inline(always)]
64889            fn reset_value() -> Self::Type {
64890                0
64891            }
64892        }
64893        ///Reader of field `AES_IVR0`
64894        pub type AES_IVR0_R = crate::R<u32, u32>;
64895        ///Write proxy for field `AES_IVR0`
64896        pub struct AES_IVR0_W<'a> {
64897            w: &'a mut W,
64898        }
64899        impl<'a> AES_IVR0_W<'a> {
64900            ///Writes raw bits to the field
64901            #[inline(always)]
64902            pub unsafe fn bits(self, value: u32) -> &'a mut W {
64903                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
64904                self.w
64905            }
64906        }
64907        impl R {
64908            ///Bits 0:31 - initialization vector register (LSB IVR \[31:0\])
64909            #[inline(always)]
64910            pub fn aes_ivr0(&self) -> AES_IVR0_R {
64911                AES_IVR0_R::new((self.bits & 0xffff_ffff) as u32)
64912            }
64913        }
64914        impl W {
64915            ///Bits 0:31 - initialization vector register (LSB IVR \[31:0\])
64916            #[inline(always)]
64917            pub fn aes_ivr0(&mut self) -> AES_IVR0_W {
64918                AES_IVR0_W { w: self }
64919            }
64920        }
64921    }
64922    ///initialization vector register 1
64923    ///
64924    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
64925    ///
64926    ///For information about available fields see [ivr1](ivr1) module
64927    pub type IVR1 = crate::Reg<u32, _IVR1>;
64928    #[allow(missing_docs)]
64929    #[doc(hidden)]
64930    pub struct _IVR1;
64931    ///`read()` method returns [ivr1::R](ivr1::R) reader structure
64932    impl crate::Readable for IVR1 {}
64933    ///`write(|w| ..)` method takes [ivr1::W](ivr1::W) writer structure
64934    impl crate::Writable for IVR1 {}
64935    ///initialization vector register 1
64936    pub mod ivr1 {
64937        ///Reader of register IVR1
64938        pub type R = crate::R<u32, super::IVR1>;
64939        ///Writer for register IVR1
64940        pub type W = crate::W<u32, super::IVR1>;
64941        ///Register IVR1 `reset()`'s with value 0
64942        impl crate::ResetValue for super::IVR1 {
64943            type Type = u32;
64944            #[inline(always)]
64945            fn reset_value() -> Self::Type {
64946                0
64947            }
64948        }
64949        ///Reader of field `AES_IVR1`
64950        pub type AES_IVR1_R = crate::R<u32, u32>;
64951        ///Write proxy for field `AES_IVR1`
64952        pub struct AES_IVR1_W<'a> {
64953            w: &'a mut W,
64954        }
64955        impl<'a> AES_IVR1_W<'a> {
64956            ///Writes raw bits to the field
64957            #[inline(always)]
64958            pub unsafe fn bits(self, value: u32) -> &'a mut W {
64959                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
64960                self.w
64961            }
64962        }
64963        impl R {
64964            ///Bits 0:31 - Initialization Vector Register (IVR \[63:32\])
64965            #[inline(always)]
64966            pub fn aes_ivr1(&self) -> AES_IVR1_R {
64967                AES_IVR1_R::new((self.bits & 0xffff_ffff) as u32)
64968            }
64969        }
64970        impl W {
64971            ///Bits 0:31 - Initialization Vector Register (IVR \[63:32\])
64972            #[inline(always)]
64973            pub fn aes_ivr1(&mut self) -> AES_IVR1_W {
64974                AES_IVR1_W { w: self }
64975            }
64976        }
64977    }
64978    ///initialization vector register 2
64979    ///
64980    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
64981    ///
64982    ///For information about available fields see [ivr2](ivr2) module
64983    pub type IVR2 = crate::Reg<u32, _IVR2>;
64984    #[allow(missing_docs)]
64985    #[doc(hidden)]
64986    pub struct _IVR2;
64987    ///`read()` method returns [ivr2::R](ivr2::R) reader structure
64988    impl crate::Readable for IVR2 {}
64989    ///`write(|w| ..)` method takes [ivr2::W](ivr2::W) writer structure
64990    impl crate::Writable for IVR2 {}
64991    ///initialization vector register 2
64992    pub mod ivr2 {
64993        ///Reader of register IVR2
64994        pub type R = crate::R<u32, super::IVR2>;
64995        ///Writer for register IVR2
64996        pub type W = crate::W<u32, super::IVR2>;
64997        ///Register IVR2 `reset()`'s with value 0
64998        impl crate::ResetValue for super::IVR2 {
64999            type Type = u32;
65000            #[inline(always)]
65001            fn reset_value() -> Self::Type {
65002                0
65003            }
65004        }
65005        ///Reader of field `AES_IVR2`
65006        pub type AES_IVR2_R = crate::R<u32, u32>;
65007        ///Write proxy for field `AES_IVR2`
65008        pub struct AES_IVR2_W<'a> {
65009            w: &'a mut W,
65010        }
65011        impl<'a> AES_IVR2_W<'a> {
65012            ///Writes raw bits to the field
65013            #[inline(always)]
65014            pub unsafe fn bits(self, value: u32) -> &'a mut W {
65015                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
65016                self.w
65017            }
65018        }
65019        impl R {
65020            ///Bits 0:31 - Initialization Vector Register (IVR \[95:64\])
65021            #[inline(always)]
65022            pub fn aes_ivr2(&self) -> AES_IVR2_R {
65023                AES_IVR2_R::new((self.bits & 0xffff_ffff) as u32)
65024            }
65025        }
65026        impl W {
65027            ///Bits 0:31 - Initialization Vector Register (IVR \[95:64\])
65028            #[inline(always)]
65029            pub fn aes_ivr2(&mut self) -> AES_IVR2_W {
65030                AES_IVR2_W { w: self }
65031            }
65032        }
65033    }
65034    ///initialization vector register 3
65035    ///
65036    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65037    ///
65038    ///For information about available fields see [ivr3](ivr3) module
65039    pub type IVR3 = crate::Reg<u32, _IVR3>;
65040    #[allow(missing_docs)]
65041    #[doc(hidden)]
65042    pub struct _IVR3;
65043    ///`read()` method returns [ivr3::R](ivr3::R) reader structure
65044    impl crate::Readable for IVR3 {}
65045    ///`write(|w| ..)` method takes [ivr3::W](ivr3::W) writer structure
65046    impl crate::Writable for IVR3 {}
65047    ///initialization vector register 3
65048    pub mod ivr3 {
65049        ///Reader of register IVR3
65050        pub type R = crate::R<u32, super::IVR3>;
65051        ///Writer for register IVR3
65052        pub type W = crate::W<u32, super::IVR3>;
65053        ///Register IVR3 `reset()`'s with value 0
65054        impl crate::ResetValue for super::IVR3 {
65055            type Type = u32;
65056            #[inline(always)]
65057            fn reset_value() -> Self::Type {
65058                0
65059            }
65060        }
65061        ///Reader of field `AES_IVR3`
65062        pub type AES_IVR3_R = crate::R<u32, u32>;
65063        ///Write proxy for field `AES_IVR3`
65064        pub struct AES_IVR3_W<'a> {
65065            w: &'a mut W,
65066        }
65067        impl<'a> AES_IVR3_W<'a> {
65068            ///Writes raw bits to the field
65069            #[inline(always)]
65070            pub unsafe fn bits(self, value: u32) -> &'a mut W {
65071                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
65072                self.w
65073            }
65074        }
65075        impl R {
65076            ///Bits 0:31 - Initialization Vector Register (MSB IVR \[127:96\])
65077            #[inline(always)]
65078            pub fn aes_ivr3(&self) -> AES_IVR3_R {
65079                AES_IVR3_R::new((self.bits & 0xffff_ffff) as u32)
65080            }
65081        }
65082        impl W {
65083            ///Bits 0:31 - Initialization Vector Register (MSB IVR \[127:96\])
65084            #[inline(always)]
65085            pub fn aes_ivr3(&mut self) -> AES_IVR3_W {
65086                AES_IVR3_W { w: self }
65087            }
65088        }
65089    }
65090    ///key register 4
65091    ///
65092    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65093    ///
65094    ///For information about available fields see [keyr4](keyr4) module
65095    pub type KEYR4 = crate::Reg<u32, _KEYR4>;
65096    #[allow(missing_docs)]
65097    #[doc(hidden)]
65098    pub struct _KEYR4;
65099    ///`read()` method returns [keyr4::R](keyr4::R) reader structure
65100    impl crate::Readable for KEYR4 {}
65101    ///`write(|w| ..)` method takes [keyr4::W](keyr4::W) writer structure
65102    impl crate::Writable for KEYR4 {}
65103    ///key register 4
65104    pub mod keyr4 {
65105        ///Reader of register KEYR4
65106        pub type R = crate::R<u32, super::KEYR4>;
65107        ///Writer for register KEYR4
65108        pub type W = crate::W<u32, super::KEYR4>;
65109        ///Register KEYR4 `reset()`'s with value 0
65110        impl crate::ResetValue for super::KEYR4 {
65111            type Type = u32;
65112            #[inline(always)]
65113            fn reset_value() -> Self::Type {
65114                0
65115            }
65116        }
65117        ///Reader of field `AES_KEYR4`
65118        pub type AES_KEYR4_R = crate::R<u32, u32>;
65119        ///Write proxy for field `AES_KEYR4`
65120        pub struct AES_KEYR4_W<'a> {
65121            w: &'a mut W,
65122        }
65123        impl<'a> AES_KEYR4_W<'a> {
65124            ///Writes raw bits to the field
65125            #[inline(always)]
65126            pub unsafe fn bits(self, value: u32) -> &'a mut W {
65127                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
65128                self.w
65129            }
65130        }
65131        impl R {
65132            ///Bits 0:31 - AES key register (MSB key \[159:128\])
65133            #[inline(always)]
65134            pub fn aes_keyr4(&self) -> AES_KEYR4_R {
65135                AES_KEYR4_R::new((self.bits & 0xffff_ffff) as u32)
65136            }
65137        }
65138        impl W {
65139            ///Bits 0:31 - AES key register (MSB key \[159:128\])
65140            #[inline(always)]
65141            pub fn aes_keyr4(&mut self) -> AES_KEYR4_W {
65142                AES_KEYR4_W { w: self }
65143            }
65144        }
65145    }
65146    ///key register 5
65147    ///
65148    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65149    ///
65150    ///For information about available fields see [keyr5](keyr5) module
65151    pub type KEYR5 = crate::Reg<u32, _KEYR5>;
65152    #[allow(missing_docs)]
65153    #[doc(hidden)]
65154    pub struct _KEYR5;
65155    ///`read()` method returns [keyr5::R](keyr5::R) reader structure
65156    impl crate::Readable for KEYR5 {}
65157    ///`write(|w| ..)` method takes [keyr5::W](keyr5::W) writer structure
65158    impl crate::Writable for KEYR5 {}
65159    ///key register 5
65160    pub mod keyr5 {
65161        ///Reader of register KEYR5
65162        pub type R = crate::R<u32, super::KEYR5>;
65163        ///Writer for register KEYR5
65164        pub type W = crate::W<u32, super::KEYR5>;
65165        ///Register KEYR5 `reset()`'s with value 0
65166        impl crate::ResetValue for super::KEYR5 {
65167            type Type = u32;
65168            #[inline(always)]
65169            fn reset_value() -> Self::Type {
65170                0
65171            }
65172        }
65173        ///Reader of field `AES_KEYR5`
65174        pub type AES_KEYR5_R = crate::R<u32, u32>;
65175        ///Write proxy for field `AES_KEYR5`
65176        pub struct AES_KEYR5_W<'a> {
65177            w: &'a mut W,
65178        }
65179        impl<'a> AES_KEYR5_W<'a> {
65180            ///Writes raw bits to the field
65181            #[inline(always)]
65182            pub unsafe fn bits(self, value: u32) -> &'a mut W {
65183                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
65184                self.w
65185            }
65186        }
65187        impl R {
65188            ///Bits 0:31 - AES key register (MSB key \[191:160\])
65189            #[inline(always)]
65190            pub fn aes_keyr5(&self) -> AES_KEYR5_R {
65191                AES_KEYR5_R::new((self.bits & 0xffff_ffff) as u32)
65192            }
65193        }
65194        impl W {
65195            ///Bits 0:31 - AES key register (MSB key \[191:160\])
65196            #[inline(always)]
65197            pub fn aes_keyr5(&mut self) -> AES_KEYR5_W {
65198                AES_KEYR5_W { w: self }
65199            }
65200        }
65201    }
65202    ///key register 6
65203    ///
65204    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65205    ///
65206    ///For information about available fields see [keyr6](keyr6) module
65207    pub type KEYR6 = crate::Reg<u32, _KEYR6>;
65208    #[allow(missing_docs)]
65209    #[doc(hidden)]
65210    pub struct _KEYR6;
65211    ///`read()` method returns [keyr6::R](keyr6::R) reader structure
65212    impl crate::Readable for KEYR6 {}
65213    ///`write(|w| ..)` method takes [keyr6::W](keyr6::W) writer structure
65214    impl crate::Writable for KEYR6 {}
65215    ///key register 6
65216    pub mod keyr6 {
65217        ///Reader of register KEYR6
65218        pub type R = crate::R<u32, super::KEYR6>;
65219        ///Writer for register KEYR6
65220        pub type W = crate::W<u32, super::KEYR6>;
65221        ///Register KEYR6 `reset()`'s with value 0
65222        impl crate::ResetValue for super::KEYR6 {
65223            type Type = u32;
65224            #[inline(always)]
65225            fn reset_value() -> Self::Type {
65226                0
65227            }
65228        }
65229        ///Reader of field `AES_KEYR6`
65230        pub type AES_KEYR6_R = crate::R<u32, u32>;
65231        ///Write proxy for field `AES_KEYR6`
65232        pub struct AES_KEYR6_W<'a> {
65233            w: &'a mut W,
65234        }
65235        impl<'a> AES_KEYR6_W<'a> {
65236            ///Writes raw bits to the field
65237            #[inline(always)]
65238            pub unsafe fn bits(self, value: u32) -> &'a mut W {
65239                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
65240                self.w
65241            }
65242        }
65243        impl R {
65244            ///Bits 0:31 - AES key register (MSB key \[223:192\])
65245            #[inline(always)]
65246            pub fn aes_keyr6(&self) -> AES_KEYR6_R {
65247                AES_KEYR6_R::new((self.bits & 0xffff_ffff) as u32)
65248            }
65249        }
65250        impl W {
65251            ///Bits 0:31 - AES key register (MSB key \[223:192\])
65252            #[inline(always)]
65253            pub fn aes_keyr6(&mut self) -> AES_KEYR6_W {
65254                AES_KEYR6_W { w: self }
65255            }
65256        }
65257    }
65258    ///key register 7
65259    ///
65260    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65261    ///
65262    ///For information about available fields see [keyr7](keyr7) module
65263    pub type KEYR7 = crate::Reg<u32, _KEYR7>;
65264    #[allow(missing_docs)]
65265    #[doc(hidden)]
65266    pub struct _KEYR7;
65267    ///`read()` method returns [keyr7::R](keyr7::R) reader structure
65268    impl crate::Readable for KEYR7 {}
65269    ///`write(|w| ..)` method takes [keyr7::W](keyr7::W) writer structure
65270    impl crate::Writable for KEYR7 {}
65271    ///key register 7
65272    pub mod keyr7 {
65273        ///Reader of register KEYR7
65274        pub type R = crate::R<u32, super::KEYR7>;
65275        ///Writer for register KEYR7
65276        pub type W = crate::W<u32, super::KEYR7>;
65277        ///Register KEYR7 `reset()`'s with value 0
65278        impl crate::ResetValue for super::KEYR7 {
65279            type Type = u32;
65280            #[inline(always)]
65281            fn reset_value() -> Self::Type {
65282                0
65283            }
65284        }
65285        ///Reader of field `AES_KEYR7`
65286        pub type AES_KEYR7_R = crate::R<u32, u32>;
65287        ///Write proxy for field `AES_KEYR7`
65288        pub struct AES_KEYR7_W<'a> {
65289            w: &'a mut W,
65290        }
65291        impl<'a> AES_KEYR7_W<'a> {
65292            ///Writes raw bits to the field
65293            #[inline(always)]
65294            pub unsafe fn bits(self, value: u32) -> &'a mut W {
65295                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
65296                self.w
65297            }
65298        }
65299        impl R {
65300            ///Bits 0:31 - AES key register (MSB key \[255:224\])
65301            #[inline(always)]
65302            pub fn aes_keyr7(&self) -> AES_KEYR7_R {
65303                AES_KEYR7_R::new((self.bits & 0xffff_ffff) as u32)
65304            }
65305        }
65306        impl W {
65307            ///Bits 0:31 - AES key register (MSB key \[255:224\])
65308            #[inline(always)]
65309            pub fn aes_keyr7(&mut self) -> AES_KEYR7_W {
65310                AES_KEYR7_W { w: self }
65311            }
65312        }
65313    }
65314    ///AES suspend register 0
65315    ///
65316    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65317    ///
65318    ///For information about available fields see [susp0r](susp0r) module
65319    pub type SUSP0R = crate::Reg<u32, _SUSP0R>;
65320    #[allow(missing_docs)]
65321    #[doc(hidden)]
65322    pub struct _SUSP0R;
65323    ///`read()` method returns [susp0r::R](susp0r::R) reader structure
65324    impl crate::Readable for SUSP0R {}
65325    ///`write(|w| ..)` method takes [susp0r::W](susp0r::W) writer structure
65326    impl crate::Writable for SUSP0R {}
65327    ///AES suspend register 0
65328    pub mod susp0r {
65329        ///Reader of register SUSP0R
65330        pub type R = crate::R<u32, super::SUSP0R>;
65331        ///Writer for register SUSP0R
65332        pub type W = crate::W<u32, super::SUSP0R>;
65333        ///Register SUSP0R `reset()`'s with value 0
65334        impl crate::ResetValue for super::SUSP0R {
65335            type Type = u32;
65336            #[inline(always)]
65337            fn reset_value() -> Self::Type {
65338                0
65339            }
65340        }
65341        ///Reader of field `AES_SUSP0R`
65342        pub type AES_SUSP0R_R = crate::R<u32, u32>;
65343        ///Write proxy for field `AES_SUSP0R`
65344        pub struct AES_SUSP0R_W<'a> {
65345            w: &'a mut W,
65346        }
65347        impl<'a> AES_SUSP0R_W<'a> {
65348            ///Writes raw bits to the field
65349            #[inline(always)]
65350            pub unsafe fn bits(self, value: u32) -> &'a mut W {
65351                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
65352                self.w
65353            }
65354        }
65355        impl R {
65356            ///Bits 0:31 - AES suspend register 0
65357            #[inline(always)]
65358            pub fn aes_susp0r(&self) -> AES_SUSP0R_R {
65359                AES_SUSP0R_R::new((self.bits & 0xffff_ffff) as u32)
65360            }
65361        }
65362        impl W {
65363            ///Bits 0:31 - AES suspend register 0
65364            #[inline(always)]
65365            pub fn aes_susp0r(&mut self) -> AES_SUSP0R_W {
65366                AES_SUSP0R_W { w: self }
65367            }
65368        }
65369    }
65370    ///AES suspend register 1
65371    ///
65372    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65373    ///
65374    ///For information about available fields see [susp1r](susp1r) module
65375    pub type SUSP1R = crate::Reg<u32, _SUSP1R>;
65376    #[allow(missing_docs)]
65377    #[doc(hidden)]
65378    pub struct _SUSP1R;
65379    ///`read()` method returns [susp1r::R](susp1r::R) reader structure
65380    impl crate::Readable for SUSP1R {}
65381    ///`write(|w| ..)` method takes [susp1r::W](susp1r::W) writer structure
65382    impl crate::Writable for SUSP1R {}
65383    ///AES suspend register 1
65384    pub mod susp1r {
65385        ///Reader of register SUSP1R
65386        pub type R = crate::R<u32, super::SUSP1R>;
65387        ///Writer for register SUSP1R
65388        pub type W = crate::W<u32, super::SUSP1R>;
65389        ///Register SUSP1R `reset()`'s with value 0
65390        impl crate::ResetValue for super::SUSP1R {
65391            type Type = u32;
65392            #[inline(always)]
65393            fn reset_value() -> Self::Type {
65394                0
65395            }
65396        }
65397        ///Reader of field `AES_SUSP1R`
65398        pub type AES_SUSP1R_R = crate::R<u32, u32>;
65399        ///Write proxy for field `AES_SUSP1R`
65400        pub struct AES_SUSP1R_W<'a> {
65401            w: &'a mut W,
65402        }
65403        impl<'a> AES_SUSP1R_W<'a> {
65404            ///Writes raw bits to the field
65405            #[inline(always)]
65406            pub unsafe fn bits(self, value: u32) -> &'a mut W {
65407                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
65408                self.w
65409            }
65410        }
65411        impl R {
65412            ///Bits 0:31 - AES suspend register 1
65413            #[inline(always)]
65414            pub fn aes_susp1r(&self) -> AES_SUSP1R_R {
65415                AES_SUSP1R_R::new((self.bits & 0xffff_ffff) as u32)
65416            }
65417        }
65418        impl W {
65419            ///Bits 0:31 - AES suspend register 1
65420            #[inline(always)]
65421            pub fn aes_susp1r(&mut self) -> AES_SUSP1R_W {
65422                AES_SUSP1R_W { w: self }
65423            }
65424        }
65425    }
65426    ///AES suspend register 2
65427    ///
65428    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65429    ///
65430    ///For information about available fields see [susp2r](susp2r) module
65431    pub type SUSP2R = crate::Reg<u32, _SUSP2R>;
65432    #[allow(missing_docs)]
65433    #[doc(hidden)]
65434    pub struct _SUSP2R;
65435    ///`read()` method returns [susp2r::R](susp2r::R) reader structure
65436    impl crate::Readable for SUSP2R {}
65437    ///`write(|w| ..)` method takes [susp2r::W](susp2r::W) writer structure
65438    impl crate::Writable for SUSP2R {}
65439    ///AES suspend register 2
65440    pub mod susp2r {
65441        ///Reader of register SUSP2R
65442        pub type R = crate::R<u32, super::SUSP2R>;
65443        ///Writer for register SUSP2R
65444        pub type W = crate::W<u32, super::SUSP2R>;
65445        ///Register SUSP2R `reset()`'s with value 0
65446        impl crate::ResetValue for super::SUSP2R {
65447            type Type = u32;
65448            #[inline(always)]
65449            fn reset_value() -> Self::Type {
65450                0
65451            }
65452        }
65453        ///Reader of field `AES_SUSP2R`
65454        pub type AES_SUSP2R_R = crate::R<u32, u32>;
65455        ///Write proxy for field `AES_SUSP2R`
65456        pub struct AES_SUSP2R_W<'a> {
65457            w: &'a mut W,
65458        }
65459        impl<'a> AES_SUSP2R_W<'a> {
65460            ///Writes raw bits to the field
65461            #[inline(always)]
65462            pub unsafe fn bits(self, value: u32) -> &'a mut W {
65463                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
65464                self.w
65465            }
65466        }
65467        impl R {
65468            ///Bits 0:31 - AES suspend register 2
65469            #[inline(always)]
65470            pub fn aes_susp2r(&self) -> AES_SUSP2R_R {
65471                AES_SUSP2R_R::new((self.bits & 0xffff_ffff) as u32)
65472            }
65473        }
65474        impl W {
65475            ///Bits 0:31 - AES suspend register 2
65476            #[inline(always)]
65477            pub fn aes_susp2r(&mut self) -> AES_SUSP2R_W {
65478                AES_SUSP2R_W { w: self }
65479            }
65480        }
65481    }
65482    ///AES suspend register 3
65483    ///
65484    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65485    ///
65486    ///For information about available fields see [susp3r](susp3r) module
65487    pub type SUSP3R = crate::Reg<u32, _SUSP3R>;
65488    #[allow(missing_docs)]
65489    #[doc(hidden)]
65490    pub struct _SUSP3R;
65491    ///`read()` method returns [susp3r::R](susp3r::R) reader structure
65492    impl crate::Readable for SUSP3R {}
65493    ///`write(|w| ..)` method takes [susp3r::W](susp3r::W) writer structure
65494    impl crate::Writable for SUSP3R {}
65495    ///AES suspend register 3
65496    pub mod susp3r {
65497        ///Reader of register SUSP3R
65498        pub type R = crate::R<u32, super::SUSP3R>;
65499        ///Writer for register SUSP3R
65500        pub type W = crate::W<u32, super::SUSP3R>;
65501        ///Register SUSP3R `reset()`'s with value 0
65502        impl crate::ResetValue for super::SUSP3R {
65503            type Type = u32;
65504            #[inline(always)]
65505            fn reset_value() -> Self::Type {
65506                0
65507            }
65508        }
65509        ///Reader of field `AES_SUSP3R`
65510        pub type AES_SUSP3R_R = crate::R<u32, u32>;
65511        ///Write proxy for field `AES_SUSP3R`
65512        pub struct AES_SUSP3R_W<'a> {
65513            w: &'a mut W,
65514        }
65515        impl<'a> AES_SUSP3R_W<'a> {
65516            ///Writes raw bits to the field
65517            #[inline(always)]
65518            pub unsafe fn bits(self, value: u32) -> &'a mut W {
65519                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
65520                self.w
65521            }
65522        }
65523        impl R {
65524            ///Bits 0:31 - AES suspend register 3
65525            #[inline(always)]
65526            pub fn aes_susp3r(&self) -> AES_SUSP3R_R {
65527                AES_SUSP3R_R::new((self.bits & 0xffff_ffff) as u32)
65528            }
65529        }
65530        impl W {
65531            ///Bits 0:31 - AES suspend register 3
65532            #[inline(always)]
65533            pub fn aes_susp3r(&mut self) -> AES_SUSP3R_W {
65534                AES_SUSP3R_W { w: self }
65535            }
65536        }
65537    }
65538    ///AES suspend register 4
65539    ///
65540    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65541    ///
65542    ///For information about available fields see [susp4r](susp4r) module
65543    pub type SUSP4R = crate::Reg<u32, _SUSP4R>;
65544    #[allow(missing_docs)]
65545    #[doc(hidden)]
65546    pub struct _SUSP4R;
65547    ///`read()` method returns [susp4r::R](susp4r::R) reader structure
65548    impl crate::Readable for SUSP4R {}
65549    ///`write(|w| ..)` method takes [susp4r::W](susp4r::W) writer structure
65550    impl crate::Writable for SUSP4R {}
65551    ///AES suspend register 4
65552    pub mod susp4r {
65553        ///Reader of register SUSP4R
65554        pub type R = crate::R<u32, super::SUSP4R>;
65555        ///Writer for register SUSP4R
65556        pub type W = crate::W<u32, super::SUSP4R>;
65557        ///Register SUSP4R `reset()`'s with value 0
65558        impl crate::ResetValue for super::SUSP4R {
65559            type Type = u32;
65560            #[inline(always)]
65561            fn reset_value() -> Self::Type {
65562                0
65563            }
65564        }
65565        ///Reader of field `AES_SUSP4R`
65566        pub type AES_SUSP4R_R = crate::R<u32, u32>;
65567        ///Write proxy for field `AES_SUSP4R`
65568        pub struct AES_SUSP4R_W<'a> {
65569            w: &'a mut W,
65570        }
65571        impl<'a> AES_SUSP4R_W<'a> {
65572            ///Writes raw bits to the field
65573            #[inline(always)]
65574            pub unsafe fn bits(self, value: u32) -> &'a mut W {
65575                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
65576                self.w
65577            }
65578        }
65579        impl R {
65580            ///Bits 0:31 - AES suspend register 4
65581            #[inline(always)]
65582            pub fn aes_susp4r(&self) -> AES_SUSP4R_R {
65583                AES_SUSP4R_R::new((self.bits & 0xffff_ffff) as u32)
65584            }
65585        }
65586        impl W {
65587            ///Bits 0:31 - AES suspend register 4
65588            #[inline(always)]
65589            pub fn aes_susp4r(&mut self) -> AES_SUSP4R_W {
65590                AES_SUSP4R_W { w: self }
65591            }
65592        }
65593    }
65594    ///AES suspend register 5
65595    ///
65596    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65597    ///
65598    ///For information about available fields see [susp5r](susp5r) module
65599    pub type SUSP5R = crate::Reg<u32, _SUSP5R>;
65600    #[allow(missing_docs)]
65601    #[doc(hidden)]
65602    pub struct _SUSP5R;
65603    ///`read()` method returns [susp5r::R](susp5r::R) reader structure
65604    impl crate::Readable for SUSP5R {}
65605    ///`write(|w| ..)` method takes [susp5r::W](susp5r::W) writer structure
65606    impl crate::Writable for SUSP5R {}
65607    ///AES suspend register 5
65608    pub mod susp5r {
65609        ///Reader of register SUSP5R
65610        pub type R = crate::R<u32, super::SUSP5R>;
65611        ///Writer for register SUSP5R
65612        pub type W = crate::W<u32, super::SUSP5R>;
65613        ///Register SUSP5R `reset()`'s with value 0
65614        impl crate::ResetValue for super::SUSP5R {
65615            type Type = u32;
65616            #[inline(always)]
65617            fn reset_value() -> Self::Type {
65618                0
65619            }
65620        }
65621        ///Reader of field `AES_SUSP5R`
65622        pub type AES_SUSP5R_R = crate::R<u32, u32>;
65623        ///Write proxy for field `AES_SUSP5R`
65624        pub struct AES_SUSP5R_W<'a> {
65625            w: &'a mut W,
65626        }
65627        impl<'a> AES_SUSP5R_W<'a> {
65628            ///Writes raw bits to the field
65629            #[inline(always)]
65630            pub unsafe fn bits(self, value: u32) -> &'a mut W {
65631                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
65632                self.w
65633            }
65634        }
65635        impl R {
65636            ///Bits 0:31 - AES suspend register 5
65637            #[inline(always)]
65638            pub fn aes_susp5r(&self) -> AES_SUSP5R_R {
65639                AES_SUSP5R_R::new((self.bits & 0xffff_ffff) as u32)
65640            }
65641        }
65642        impl W {
65643            ///Bits 0:31 - AES suspend register 5
65644            #[inline(always)]
65645            pub fn aes_susp5r(&mut self) -> AES_SUSP5R_W {
65646                AES_SUSP5R_W { w: self }
65647            }
65648        }
65649    }
65650    ///AES suspend register 6
65651    ///
65652    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65653    ///
65654    ///For information about available fields see [susp6r](susp6r) module
65655    pub type SUSP6R = crate::Reg<u32, _SUSP6R>;
65656    #[allow(missing_docs)]
65657    #[doc(hidden)]
65658    pub struct _SUSP6R;
65659    ///`read()` method returns [susp6r::R](susp6r::R) reader structure
65660    impl crate::Readable for SUSP6R {}
65661    ///`write(|w| ..)` method takes [susp6r::W](susp6r::W) writer structure
65662    impl crate::Writable for SUSP6R {}
65663    ///AES suspend register 6
65664    pub mod susp6r {
65665        ///Reader of register SUSP6R
65666        pub type R = crate::R<u32, super::SUSP6R>;
65667        ///Writer for register SUSP6R
65668        pub type W = crate::W<u32, super::SUSP6R>;
65669        ///Register SUSP6R `reset()`'s with value 0
65670        impl crate::ResetValue for super::SUSP6R {
65671            type Type = u32;
65672            #[inline(always)]
65673            fn reset_value() -> Self::Type {
65674                0
65675            }
65676        }
65677        ///Reader of field `AES_SUSP6R`
65678        pub type AES_SUSP6R_R = crate::R<u32, u32>;
65679        ///Write proxy for field `AES_SUSP6R`
65680        pub struct AES_SUSP6R_W<'a> {
65681            w: &'a mut W,
65682        }
65683        impl<'a> AES_SUSP6R_W<'a> {
65684            ///Writes raw bits to the field
65685            #[inline(always)]
65686            pub unsafe fn bits(self, value: u32) -> &'a mut W {
65687                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
65688                self.w
65689            }
65690        }
65691        impl R {
65692            ///Bits 0:31 - AES suspend register 6
65693            #[inline(always)]
65694            pub fn aes_susp6r(&self) -> AES_SUSP6R_R {
65695                AES_SUSP6R_R::new((self.bits & 0xffff_ffff) as u32)
65696            }
65697        }
65698        impl W {
65699            ///Bits 0:31 - AES suspend register 6
65700            #[inline(always)]
65701            pub fn aes_susp6r(&mut self) -> AES_SUSP6R_W {
65702                AES_SUSP6R_W { w: self }
65703            }
65704        }
65705    }
65706    ///AES suspend register 7
65707    ///
65708    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65709    ///
65710    ///For information about available fields see [susp7r](susp7r) module
65711    pub type SUSP7R = crate::Reg<u32, _SUSP7R>;
65712    #[allow(missing_docs)]
65713    #[doc(hidden)]
65714    pub struct _SUSP7R;
65715    ///`read()` method returns [susp7r::R](susp7r::R) reader structure
65716    impl crate::Readable for SUSP7R {}
65717    ///`write(|w| ..)` method takes [susp7r::W](susp7r::W) writer structure
65718    impl crate::Writable for SUSP7R {}
65719    ///AES suspend register 7
65720    pub mod susp7r {
65721        ///Reader of register SUSP7R
65722        pub type R = crate::R<u32, super::SUSP7R>;
65723        ///Writer for register SUSP7R
65724        pub type W = crate::W<u32, super::SUSP7R>;
65725        ///Register SUSP7R `reset()`'s with value 0
65726        impl crate::ResetValue for super::SUSP7R {
65727            type Type = u32;
65728            #[inline(always)]
65729            fn reset_value() -> Self::Type {
65730                0
65731            }
65732        }
65733        ///Reader of field `AES_SUSP7R`
65734        pub type AES_SUSP7R_R = crate::R<u32, u32>;
65735        ///Write proxy for field `AES_SUSP7R`
65736        pub struct AES_SUSP7R_W<'a> {
65737            w: &'a mut W,
65738        }
65739        impl<'a> AES_SUSP7R_W<'a> {
65740            ///Writes raw bits to the field
65741            #[inline(always)]
65742            pub unsafe fn bits(self, value: u32) -> &'a mut W {
65743                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
65744                self.w
65745            }
65746        }
65747        impl R {
65748            ///Bits 0:31 - AES suspend register 7
65749            #[inline(always)]
65750            pub fn aes_susp7r(&self) -> AES_SUSP7R_R {
65751                AES_SUSP7R_R::new((self.bits & 0xffff_ffff) as u32)
65752            }
65753        }
65754        impl W {
65755            ///Bits 0:31 - AES suspend register 7
65756            #[inline(always)]
65757            pub fn aes_susp7r(&mut self) -> AES_SUSP7R_W {
65758                AES_SUSP7R_W { w: self }
65759            }
65760        }
65761    }
65762    ///AES hardware configuration register
65763    ///
65764    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65765    ///
65766    ///For information about available fields see [hwcfr](hwcfr) module
65767    pub type HWCFR = crate::Reg<u32, _HWCFR>;
65768    #[allow(missing_docs)]
65769    #[doc(hidden)]
65770    pub struct _HWCFR;
65771    ///`read()` method returns [hwcfr::R](hwcfr::R) reader structure
65772    impl crate::Readable for HWCFR {}
65773    ///AES hardware configuration register
65774    pub mod hwcfr {
65775        ///Reader of register HWCFR
65776        pub type R = crate::R<u32, super::HWCFR>;
65777        ///Reader of field `CFG4`
65778        pub type CFG4_R = crate::R<u8, u8>;
65779        ///Reader of field `CFG3`
65780        pub type CFG3_R = crate::R<u8, u8>;
65781        ///Reader of field `CFG2`
65782        pub type CFG2_R = crate::R<u8, u8>;
65783        ///Reader of field `CFG1`
65784        pub type CFG1_R = crate::R<u8, u8>;
65785        impl R {
65786            ///Bits 12:15 - HW Generic 4
65787            #[inline(always)]
65788            pub fn cfg4(&self) -> CFG4_R {
65789                CFG4_R::new(((self.bits >> 12) & 0x0f) as u8)
65790            }
65791            ///Bits 8:11 - HW Generic 3
65792            #[inline(always)]
65793            pub fn cfg3(&self) -> CFG3_R {
65794                CFG3_R::new(((self.bits >> 8) & 0x0f) as u8)
65795            }
65796            ///Bits 4:7 - HW Generic 2
65797            #[inline(always)]
65798            pub fn cfg2(&self) -> CFG2_R {
65799                CFG2_R::new(((self.bits >> 4) & 0x0f) as u8)
65800            }
65801            ///Bits 0:3 - HW Generic 1
65802            #[inline(always)]
65803            pub fn cfg1(&self) -> CFG1_R {
65804                CFG1_R::new((self.bits & 0x0f) as u8)
65805            }
65806        }
65807    }
65808    ///AES version register
65809    ///
65810    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65811    ///
65812    ///For information about available fields see [verr](verr) module
65813    pub type VERR = crate::Reg<u32, _VERR>;
65814    #[allow(missing_docs)]
65815    #[doc(hidden)]
65816    pub struct _VERR;
65817    ///`read()` method returns [verr::R](verr::R) reader structure
65818    impl crate::Readable for VERR {}
65819    ///AES version register
65820    pub mod verr {
65821        ///Reader of register VERR
65822        pub type R = crate::R<u32, super::VERR>;
65823        ///Reader of field `MAJREV`
65824        pub type MAJREV_R = crate::R<u8, u8>;
65825        ///Reader of field `MINREV`
65826        pub type MINREV_R = crate::R<u8, u8>;
65827        impl R {
65828            ///Bits 4:7 - Major revision
65829            #[inline(always)]
65830            pub fn majrev(&self) -> MAJREV_R {
65831                MAJREV_R::new(((self.bits >> 4) & 0x0f) as u8)
65832            }
65833            ///Bits 0:3 - Minor revision
65834            #[inline(always)]
65835            pub fn minrev(&self) -> MINREV_R {
65836                MINREV_R::new((self.bits & 0x0f) as u8)
65837            }
65838        }
65839    }
65840    ///AES identification register
65841    ///
65842    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65843    ///
65844    ///For information about available fields see [ipidr](ipidr) module
65845    pub type IPIDR = crate::Reg<u32, _IPIDR>;
65846    #[allow(missing_docs)]
65847    #[doc(hidden)]
65848    pub struct _IPIDR;
65849    ///`read()` method returns [ipidr::R](ipidr::R) reader structure
65850    impl crate::Readable for IPIDR {}
65851    ///AES identification register
65852    pub mod ipidr {
65853        ///Reader of register IPIDR
65854        pub type R = crate::R<u32, super::IPIDR>;
65855        ///Reader of field `ID`
65856        pub type ID_R = crate::R<u32, u32>;
65857        impl R {
65858            ///Bits 0:31 - Identification code
65859            #[inline(always)]
65860            pub fn id(&self) -> ID_R {
65861                ID_R::new((self.bits & 0xffff_ffff) as u32)
65862            }
65863        }
65864    }
65865    ///AES size ID register
65866    ///
65867    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65868    ///
65869    ///For information about available fields see [sidr](sidr) module
65870    pub type SIDR = crate::Reg<u32, _SIDR>;
65871    #[allow(missing_docs)]
65872    #[doc(hidden)]
65873    pub struct _SIDR;
65874    ///`read()` method returns [sidr::R](sidr::R) reader structure
65875    impl crate::Readable for SIDR {}
65876    ///AES size ID register
65877    pub mod sidr {
65878        ///Reader of register SIDR
65879        pub type R = crate::R<u32, super::SIDR>;
65880        ///Reader of field `ID`
65881        pub type ID_R = crate::R<u32, u32>;
65882        impl R {
65883            ///Bits 0:31 - Size Identification code
65884            #[inline(always)]
65885            pub fn id(&self) -> ID_R {
65886                ID_R::new((self.bits & 0xffff_ffff) as u32)
65887            }
65888        }
65889    }
65890}
65891///Advanced encryption standard hardware accelerator 1
65892pub struct AES2 {
65893    _marker: PhantomData<*const ()>,
65894}
65895unsafe impl Send for AES2 {}
65896impl AES2 {
65897    ///Returns a pointer to the register block
65898    #[inline(always)]
65899    pub const fn ptr() -> *const aes2::RegisterBlock {
65900        0x5800_1800 as *const _
65901    }
65902}
65903impl Deref for AES2 {
65904    type Target = aes2::RegisterBlock;
65905    #[inline(always)]
65906    fn deref(&self) -> &Self::Target {
65907        unsafe { &*AES2::ptr() }
65908    }
65909}
65910///Advanced encryption standard hardware accelerator 1
65911pub mod aes2 {
65912    ///Register block
65913    #[repr(C)]
65914    pub struct RegisterBlock {
65915        ///0x00 - control register
65916        pub cr: CR,
65917        ///0x04 - status register
65918        pub sr: SR,
65919        ///0x08 - data input register
65920        pub dinr: DINR,
65921        ///0x0c - data output register
65922        pub doutr: DOUTR,
65923        ///0x10 - key register 0
65924        pub keyr0: KEYR0,
65925        ///0x14 - key register 1
65926        pub keyr1: KEYR1,
65927        ///0x18 - key register 2
65928        pub keyr2: KEYR2,
65929        ///0x1c - key register 3
65930        pub keyr3: KEYR3,
65931        ///0x20 - initialization vector register 0
65932        pub ivr0: IVR0,
65933        ///0x24 - initialization vector register 1
65934        pub ivr1: IVR1,
65935        ///0x28 - initialization vector register 2
65936        pub ivr2: IVR2,
65937        ///0x2c - initialization vector register 3
65938        pub ivr3: IVR3,
65939        ///0x30 - key register 4
65940        pub keyr4: KEYR4,
65941        ///0x34 - key register 5
65942        pub keyr5: KEYR5,
65943        ///0x38 - key register 6
65944        pub keyr6: KEYR6,
65945        ///0x3c - key register 7
65946        pub keyr7: KEYR7,
65947        ///0x40 - AES suspend register 0
65948        pub susp0r: SUSP0R,
65949        ///0x44 - AES suspend register 1
65950        pub susp1r: SUSP1R,
65951        ///0x48 - AES suspend register 2
65952        pub susp2r: SUSP2R,
65953        ///0x4c - AES suspend register 3
65954        pub susp3r: SUSP3R,
65955        ///0x50 - AES suspend register 4
65956        pub susp4r: SUSP4R,
65957        ///0x54 - AES suspend register 5
65958        pub susp5r: SUSP5R,
65959        ///0x58 - AES suspend register 6
65960        pub susp6r: SUSP6R,
65961        ///0x5c - AES suspend register 7
65962        pub susp7r: SUSP7R,
65963        ///0x60 - AES hardware configuration register
65964        pub hwcfr: HWCFR,
65965        ///0x64 - AES version register
65966        pub verr: VERR,
65967        ///0x68 - AES identification register
65968        pub ipidr: IPIDR,
65969        ///0x6c - AES size ID register
65970        pub sidr: SIDR,
65971    }
65972    ///control register
65973    ///
65974    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
65975    ///
65976    ///For information about available fields see [cr](cr) module
65977    pub type CR = crate::Reg<u32, _CR>;
65978    #[allow(missing_docs)]
65979    #[doc(hidden)]
65980    pub struct _CR;
65981    ///`read()` method returns [cr::R](cr::R) reader structure
65982    impl crate::Readable for CR {}
65983    ///`write(|w| ..)` method takes [cr::W](cr::W) writer structure
65984    impl crate::Writable for CR {}
65985    ///control register
65986    pub mod cr {
65987        ///Reader of register CR
65988        pub type R = crate::R<u32, super::CR>;
65989        ///Writer for register CR
65990        pub type W = crate::W<u32, super::CR>;
65991        ///Register CR `reset()`'s with value 0
65992        impl crate::ResetValue for super::CR {
65993            type Type = u32;
65994            #[inline(always)]
65995            fn reset_value() -> Self::Type {
65996                0
65997            }
65998        }
65999        ///Reader of field `NPBLB`
66000        pub type NPBLB_R = crate::R<u8, u8>;
66001        ///Write proxy for field `NPBLB`
66002        pub struct NPBLB_W<'a> {
66003            w: &'a mut W,
66004        }
66005        impl<'a> NPBLB_W<'a> {
66006            ///Writes raw bits to the field
66007            #[inline(always)]
66008            pub unsafe fn bits(self, value: u8) -> &'a mut W {
66009                self.w.bits = (self.w.bits & !(0x0f << 20)) | (((value as u32) & 0x0f) << 20);
66010                self.w
66011            }
66012        }
66013        ///Reader of field `KEYSIZE`
66014        pub type KEYSIZE_R = crate::R<bool, bool>;
66015        ///Write proxy for field `KEYSIZE`
66016        pub struct KEYSIZE_W<'a> {
66017            w: &'a mut W,
66018        }
66019        impl<'a> KEYSIZE_W<'a> {
66020            ///Sets the field bit
66021            #[inline(always)]
66022            pub fn set_bit(self) -> &'a mut W {
66023                self.bit(true)
66024            }
66025            ///Clears the field bit
66026            #[inline(always)]
66027            pub fn clear_bit(self) -> &'a mut W {
66028                self.bit(false)
66029            }
66030            ///Writes raw bits to the field
66031            #[inline(always)]
66032            pub fn bit(self, value: bool) -> &'a mut W {
66033                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
66034                self.w
66035            }
66036        }
66037        ///Reader of field `CHMOD2`
66038        pub type CHMOD2_R = crate::R<bool, bool>;
66039        ///Write proxy for field `CHMOD2`
66040        pub struct CHMOD2_W<'a> {
66041            w: &'a mut W,
66042        }
66043        impl<'a> CHMOD2_W<'a> {
66044            ///Sets the field bit
66045            #[inline(always)]
66046            pub fn set_bit(self) -> &'a mut W {
66047                self.bit(true)
66048            }
66049            ///Clears the field bit
66050            #[inline(always)]
66051            pub fn clear_bit(self) -> &'a mut W {
66052                self.bit(false)
66053            }
66054            ///Writes raw bits to the field
66055            #[inline(always)]
66056            pub fn bit(self, value: bool) -> &'a mut W {
66057                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
66058                self.w
66059            }
66060        }
66061        ///Reader of field `GCMPH`
66062        pub type GCMPH_R = crate::R<u8, u8>;
66063        ///Write proxy for field `GCMPH`
66064        pub struct GCMPH_W<'a> {
66065            w: &'a mut W,
66066        }
66067        impl<'a> GCMPH_W<'a> {
66068            ///Writes raw bits to the field
66069            #[inline(always)]
66070            pub unsafe fn bits(self, value: u8) -> &'a mut W {
66071                self.w.bits = (self.w.bits & !(0x03 << 13)) | (((value as u32) & 0x03) << 13);
66072                self.w
66073            }
66074        }
66075        ///Reader of field `DMAOUTEN`
66076        pub type DMAOUTEN_R = crate::R<bool, bool>;
66077        ///Write proxy for field `DMAOUTEN`
66078        pub struct DMAOUTEN_W<'a> {
66079            w: &'a mut W,
66080        }
66081        impl<'a> DMAOUTEN_W<'a> {
66082            ///Sets the field bit
66083            #[inline(always)]
66084            pub fn set_bit(self) -> &'a mut W {
66085                self.bit(true)
66086            }
66087            ///Clears the field bit
66088            #[inline(always)]
66089            pub fn clear_bit(self) -> &'a mut W {
66090                self.bit(false)
66091            }
66092            ///Writes raw bits to the field
66093            #[inline(always)]
66094            pub fn bit(self, value: bool) -> &'a mut W {
66095                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
66096                self.w
66097            }
66098        }
66099        ///Reader of field `DMAINEN`
66100        pub type DMAINEN_R = crate::R<bool, bool>;
66101        ///Write proxy for field `DMAINEN`
66102        pub struct DMAINEN_W<'a> {
66103            w: &'a mut W,
66104        }
66105        impl<'a> DMAINEN_W<'a> {
66106            ///Sets the field bit
66107            #[inline(always)]
66108            pub fn set_bit(self) -> &'a mut W {
66109                self.bit(true)
66110            }
66111            ///Clears the field bit
66112            #[inline(always)]
66113            pub fn clear_bit(self) -> &'a mut W {
66114                self.bit(false)
66115            }
66116            ///Writes raw bits to the field
66117            #[inline(always)]
66118            pub fn bit(self, value: bool) -> &'a mut W {
66119                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
66120                self.w
66121            }
66122        }
66123        ///Reader of field `ERRIE`
66124        pub type ERRIE_R = crate::R<bool, bool>;
66125        ///Write proxy for field `ERRIE`
66126        pub struct ERRIE_W<'a> {
66127            w: &'a mut W,
66128        }
66129        impl<'a> ERRIE_W<'a> {
66130            ///Sets the field bit
66131            #[inline(always)]
66132            pub fn set_bit(self) -> &'a mut W {
66133                self.bit(true)
66134            }
66135            ///Clears the field bit
66136            #[inline(always)]
66137            pub fn clear_bit(self) -> &'a mut W {
66138                self.bit(false)
66139            }
66140            ///Writes raw bits to the field
66141            #[inline(always)]
66142            pub fn bit(self, value: bool) -> &'a mut W {
66143                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
66144                self.w
66145            }
66146        }
66147        ///Reader of field `CCFIE`
66148        pub type CCFIE_R = crate::R<bool, bool>;
66149        ///Write proxy for field `CCFIE`
66150        pub struct CCFIE_W<'a> {
66151            w: &'a mut W,
66152        }
66153        impl<'a> CCFIE_W<'a> {
66154            ///Sets the field bit
66155            #[inline(always)]
66156            pub fn set_bit(self) -> &'a mut W {
66157                self.bit(true)
66158            }
66159            ///Clears the field bit
66160            #[inline(always)]
66161            pub fn clear_bit(self) -> &'a mut W {
66162                self.bit(false)
66163            }
66164            ///Writes raw bits to the field
66165            #[inline(always)]
66166            pub fn bit(self, value: bool) -> &'a mut W {
66167                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
66168                self.w
66169            }
66170        }
66171        ///Reader of field `ERRC`
66172        pub type ERRC_R = crate::R<bool, bool>;
66173        ///Write proxy for field `ERRC`
66174        pub struct ERRC_W<'a> {
66175            w: &'a mut W,
66176        }
66177        impl<'a> ERRC_W<'a> {
66178            ///Sets the field bit
66179            #[inline(always)]
66180            pub fn set_bit(self) -> &'a mut W {
66181                self.bit(true)
66182            }
66183            ///Clears the field bit
66184            #[inline(always)]
66185            pub fn clear_bit(self) -> &'a mut W {
66186                self.bit(false)
66187            }
66188            ///Writes raw bits to the field
66189            #[inline(always)]
66190            pub fn bit(self, value: bool) -> &'a mut W {
66191                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
66192                self.w
66193            }
66194        }
66195        ///Reader of field `CCFC`
66196        pub type CCFC_R = crate::R<bool, bool>;
66197        ///Write proxy for field `CCFC`
66198        pub struct CCFC_W<'a> {
66199            w: &'a mut W,
66200        }
66201        impl<'a> CCFC_W<'a> {
66202            ///Sets the field bit
66203            #[inline(always)]
66204            pub fn set_bit(self) -> &'a mut W {
66205                self.bit(true)
66206            }
66207            ///Clears the field bit
66208            #[inline(always)]
66209            pub fn clear_bit(self) -> &'a mut W {
66210                self.bit(false)
66211            }
66212            ///Writes raw bits to the field
66213            #[inline(always)]
66214            pub fn bit(self, value: bool) -> &'a mut W {
66215                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
66216                self.w
66217            }
66218        }
66219        ///Reader of field `CHMOD10`
66220        pub type CHMOD10_R = crate::R<u8, u8>;
66221        ///Write proxy for field `CHMOD10`
66222        pub struct CHMOD10_W<'a> {
66223            w: &'a mut W,
66224        }
66225        impl<'a> CHMOD10_W<'a> {
66226            ///Writes raw bits to the field
66227            #[inline(always)]
66228            pub unsafe fn bits(self, value: u8) -> &'a mut W {
66229                self.w.bits = (self.w.bits & !(0x03 << 5)) | (((value as u32) & 0x03) << 5);
66230                self.w
66231            }
66232        }
66233        ///Reader of field `MODE`
66234        pub type MODE_R = crate::R<u8, u8>;
66235        ///Write proxy for field `MODE`
66236        pub struct MODE_W<'a> {
66237            w: &'a mut W,
66238        }
66239        impl<'a> MODE_W<'a> {
66240            ///Writes raw bits to the field
66241            #[inline(always)]
66242            pub unsafe fn bits(self, value: u8) -> &'a mut W {
66243                self.w.bits = (self.w.bits & !(0x03 << 3)) | (((value as u32) & 0x03) << 3);
66244                self.w
66245            }
66246        }
66247        ///Reader of field `DATATYPE`
66248        pub type DATATYPE_R = crate::R<u8, u8>;
66249        ///Write proxy for field `DATATYPE`
66250        pub struct DATATYPE_W<'a> {
66251            w: &'a mut W,
66252        }
66253        impl<'a> DATATYPE_W<'a> {
66254            ///Writes raw bits to the field
66255            #[inline(always)]
66256            pub unsafe fn bits(self, value: u8) -> &'a mut W {
66257                self.w.bits = (self.w.bits & !(0x03 << 1)) | (((value as u32) & 0x03) << 1);
66258                self.w
66259            }
66260        }
66261        ///Reader of field `EN`
66262        pub type EN_R = crate::R<bool, bool>;
66263        ///Write proxy for field `EN`
66264        pub struct EN_W<'a> {
66265            w: &'a mut W,
66266        }
66267        impl<'a> EN_W<'a> {
66268            ///Sets the field bit
66269            #[inline(always)]
66270            pub fn set_bit(self) -> &'a mut W {
66271                self.bit(true)
66272            }
66273            ///Clears the field bit
66274            #[inline(always)]
66275            pub fn clear_bit(self) -> &'a mut W {
66276                self.bit(false)
66277            }
66278            ///Writes raw bits to the field
66279            #[inline(always)]
66280            pub fn bit(self, value: bool) -> &'a mut W {
66281                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
66282                self.w
66283            }
66284        }
66285        impl R {
66286            ///Bits 20:23 - Number of padding bytes in last block of payload
66287            #[inline(always)]
66288            pub fn npblb(&self) -> NPBLB_R {
66289                NPBLB_R::new(((self.bits >> 20) & 0x0f) as u8)
66290            }
66291            ///Bit 18 - Key size selection
66292            #[inline(always)]
66293            pub fn keysize(&self) -> KEYSIZE_R {
66294                KEYSIZE_R::new(((self.bits >> 18) & 0x01) != 0)
66295            }
66296            ///Bit 16 - AES chaining mode Bit2
66297            #[inline(always)]
66298            pub fn chmod2(&self) -> CHMOD2_R {
66299                CHMOD2_R::new(((self.bits >> 16) & 0x01) != 0)
66300            }
66301            ///Bits 13:14 - Used only for GCM, CCM and GMAC algorithms and has no effect when other algorithms are selected
66302            #[inline(always)]
66303            pub fn gcmph(&self) -> GCMPH_R {
66304                GCMPH_R::new(((self.bits >> 13) & 0x03) as u8)
66305            }
66306            ///Bit 12 - Enable DMA management of data output phase
66307            #[inline(always)]
66308            pub fn dmaouten(&self) -> DMAOUTEN_R {
66309                DMAOUTEN_R::new(((self.bits >> 12) & 0x01) != 0)
66310            }
66311            ///Bit 11 - Enable DMA management of data input phase
66312            #[inline(always)]
66313            pub fn dmainen(&self) -> DMAINEN_R {
66314                DMAINEN_R::new(((self.bits >> 11) & 0x01) != 0)
66315            }
66316            ///Bit 10 - Error interrupt enable
66317            #[inline(always)]
66318            pub fn errie(&self) -> ERRIE_R {
66319                ERRIE_R::new(((self.bits >> 10) & 0x01) != 0)
66320            }
66321            ///Bit 9 - CCF flag interrupt enable
66322            #[inline(always)]
66323            pub fn ccfie(&self) -> CCFIE_R {
66324                CCFIE_R::new(((self.bits >> 9) & 0x01) != 0)
66325            }
66326            ///Bit 8 - Error clear
66327            #[inline(always)]
66328            pub fn errc(&self) -> ERRC_R {
66329                ERRC_R::new(((self.bits >> 8) & 0x01) != 0)
66330            }
66331            ///Bit 7 - Computation Complete Flag Clear
66332            #[inline(always)]
66333            pub fn ccfc(&self) -> CCFC_R {
66334                CCFC_R::new(((self.bits >> 7) & 0x01) != 0)
66335            }
66336            ///Bits 5:6 - AES chaining mode Bit1 Bit0
66337            #[inline(always)]
66338            pub fn chmod10(&self) -> CHMOD10_R {
66339                CHMOD10_R::new(((self.bits >> 5) & 0x03) as u8)
66340            }
66341            ///Bits 3:4 - AES operating mode
66342            #[inline(always)]
66343            pub fn mode(&self) -> MODE_R {
66344                MODE_R::new(((self.bits >> 3) & 0x03) as u8)
66345            }
66346            ///Bits 1:2 - Data type selection (for data in and data out to/from the cryptographic block)
66347            #[inline(always)]
66348            pub fn datatype(&self) -> DATATYPE_R {
66349                DATATYPE_R::new(((self.bits >> 1) & 0x03) as u8)
66350            }
66351            ///Bit 0 - AES enable
66352            #[inline(always)]
66353            pub fn en(&self) -> EN_R {
66354                EN_R::new((self.bits & 0x01) != 0)
66355            }
66356        }
66357        impl W {
66358            ///Bits 20:23 - Number of padding bytes in last block of payload
66359            #[inline(always)]
66360            pub fn npblb(&mut self) -> NPBLB_W {
66361                NPBLB_W { w: self }
66362            }
66363            ///Bit 18 - Key size selection
66364            #[inline(always)]
66365            pub fn keysize(&mut self) -> KEYSIZE_W {
66366                KEYSIZE_W { w: self }
66367            }
66368            ///Bit 16 - AES chaining mode Bit2
66369            #[inline(always)]
66370            pub fn chmod2(&mut self) -> CHMOD2_W {
66371                CHMOD2_W { w: self }
66372            }
66373            ///Bits 13:14 - Used only for GCM, CCM and GMAC algorithms and has no effect when other algorithms are selected
66374            #[inline(always)]
66375            pub fn gcmph(&mut self) -> GCMPH_W {
66376                GCMPH_W { w: self }
66377            }
66378            ///Bit 12 - Enable DMA management of data output phase
66379            #[inline(always)]
66380            pub fn dmaouten(&mut self) -> DMAOUTEN_W {
66381                DMAOUTEN_W { w: self }
66382            }
66383            ///Bit 11 - Enable DMA management of data input phase
66384            #[inline(always)]
66385            pub fn dmainen(&mut self) -> DMAINEN_W {
66386                DMAINEN_W { w: self }
66387            }
66388            ///Bit 10 - Error interrupt enable
66389            #[inline(always)]
66390            pub fn errie(&mut self) -> ERRIE_W {
66391                ERRIE_W { w: self }
66392            }
66393            ///Bit 9 - CCF flag interrupt enable
66394            #[inline(always)]
66395            pub fn ccfie(&mut self) -> CCFIE_W {
66396                CCFIE_W { w: self }
66397            }
66398            ///Bit 8 - Error clear
66399            #[inline(always)]
66400            pub fn errc(&mut self) -> ERRC_W {
66401                ERRC_W { w: self }
66402            }
66403            ///Bit 7 - Computation Complete Flag Clear
66404            #[inline(always)]
66405            pub fn ccfc(&mut self) -> CCFC_W {
66406                CCFC_W { w: self }
66407            }
66408            ///Bits 5:6 - AES chaining mode Bit1 Bit0
66409            #[inline(always)]
66410            pub fn chmod10(&mut self) -> CHMOD10_W {
66411                CHMOD10_W { w: self }
66412            }
66413            ///Bits 3:4 - AES operating mode
66414            #[inline(always)]
66415            pub fn mode(&mut self) -> MODE_W {
66416                MODE_W { w: self }
66417            }
66418            ///Bits 1:2 - Data type selection (for data in and data out to/from the cryptographic block)
66419            #[inline(always)]
66420            pub fn datatype(&mut self) -> DATATYPE_W {
66421                DATATYPE_W { w: self }
66422            }
66423            ///Bit 0 - AES enable
66424            #[inline(always)]
66425            pub fn en(&mut self) -> EN_W {
66426                EN_W { w: self }
66427            }
66428        }
66429    }
66430    ///status register
66431    ///
66432    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
66433    ///
66434    ///For information about available fields see [sr](sr) module
66435    pub type SR = crate::Reg<u32, _SR>;
66436    #[allow(missing_docs)]
66437    #[doc(hidden)]
66438    pub struct _SR;
66439    ///`read()` method returns [sr::R](sr::R) reader structure
66440    impl crate::Readable for SR {}
66441    ///status register
66442    pub mod sr {
66443        ///Reader of register SR
66444        pub type R = crate::R<u32, super::SR>;
66445        ///Reader of field `BUSY`
66446        pub type BUSY_R = crate::R<bool, bool>;
66447        ///Reader of field `WRERR`
66448        pub type WRERR_R = crate::R<bool, bool>;
66449        ///Reader of field `RDERR`
66450        pub type RDERR_R = crate::R<bool, bool>;
66451        ///Reader of field `CCF`
66452        pub type CCF_R = crate::R<bool, bool>;
66453        impl R {
66454            ///Bit 3 - Busy flag
66455            #[inline(always)]
66456            pub fn busy(&self) -> BUSY_R {
66457                BUSY_R::new(((self.bits >> 3) & 0x01) != 0)
66458            }
66459            ///Bit 2 - Write error flag
66460            #[inline(always)]
66461            pub fn wrerr(&self) -> WRERR_R {
66462                WRERR_R::new(((self.bits >> 2) & 0x01) != 0)
66463            }
66464            ///Bit 1 - Read error flag
66465            #[inline(always)]
66466            pub fn rderr(&self) -> RDERR_R {
66467                RDERR_R::new(((self.bits >> 1) & 0x01) != 0)
66468            }
66469            ///Bit 0 - Computation complete flag
66470            #[inline(always)]
66471            pub fn ccf(&self) -> CCF_R {
66472                CCF_R::new((self.bits & 0x01) != 0)
66473            }
66474        }
66475    }
66476    ///data input register
66477    ///
66478    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
66479    ///
66480    ///For information about available fields see [dinr](dinr) module
66481    pub type DINR = crate::Reg<u32, _DINR>;
66482    #[allow(missing_docs)]
66483    #[doc(hidden)]
66484    pub struct _DINR;
66485    ///`read()` method returns [dinr::R](dinr::R) reader structure
66486    impl crate::Readable for DINR {}
66487    ///`write(|w| ..)` method takes [dinr::W](dinr::W) writer structure
66488    impl crate::Writable for DINR {}
66489    ///data input register
66490    pub mod dinr {
66491        ///Reader of register DINR
66492        pub type R = crate::R<u32, super::DINR>;
66493        ///Writer for register DINR
66494        pub type W = crate::W<u32, super::DINR>;
66495        ///Register DINR `reset()`'s with value 0
66496        impl crate::ResetValue for super::DINR {
66497            type Type = u32;
66498            #[inline(always)]
66499            fn reset_value() -> Self::Type {
66500                0
66501            }
66502        }
66503        ///Reader of field `AES_DINR`
66504        pub type AES_DINR_R = crate::R<u32, u32>;
66505        ///Write proxy for field `AES_DINR`
66506        pub struct AES_DINR_W<'a> {
66507            w: &'a mut W,
66508        }
66509        impl<'a> AES_DINR_W<'a> {
66510            ///Writes raw bits to the field
66511            #[inline(always)]
66512            pub unsafe fn bits(self, value: u32) -> &'a mut W {
66513                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
66514                self.w
66515            }
66516        }
66517        impl R {
66518            ///Bits 0:31 - Data Input Register
66519            #[inline(always)]
66520            pub fn aes_dinr(&self) -> AES_DINR_R {
66521                AES_DINR_R::new((self.bits & 0xffff_ffff) as u32)
66522            }
66523        }
66524        impl W {
66525            ///Bits 0:31 - Data Input Register
66526            #[inline(always)]
66527            pub fn aes_dinr(&mut self) -> AES_DINR_W {
66528                AES_DINR_W { w: self }
66529            }
66530        }
66531    }
66532    ///data output register
66533    ///
66534    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
66535    ///
66536    ///For information about available fields see [doutr](doutr) module
66537    pub type DOUTR = crate::Reg<u32, _DOUTR>;
66538    #[allow(missing_docs)]
66539    #[doc(hidden)]
66540    pub struct _DOUTR;
66541    ///`read()` method returns [doutr::R](doutr::R) reader structure
66542    impl crate::Readable for DOUTR {}
66543    ///data output register
66544    pub mod doutr {
66545        ///Reader of register DOUTR
66546        pub type R = crate::R<u32, super::DOUTR>;
66547        ///Reader of field `AES_DOUTR`
66548        pub type AES_DOUTR_R = crate::R<u32, u32>;
66549        impl R {
66550            ///Bits 0:31 - Data output register
66551            #[inline(always)]
66552            pub fn aes_doutr(&self) -> AES_DOUTR_R {
66553                AES_DOUTR_R::new((self.bits & 0xffff_ffff) as u32)
66554            }
66555        }
66556    }
66557    ///key register 0
66558    ///
66559    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
66560    ///
66561    ///For information about available fields see [keyr0](keyr0) module
66562    pub type KEYR0 = crate::Reg<u32, _KEYR0>;
66563    #[allow(missing_docs)]
66564    #[doc(hidden)]
66565    pub struct _KEYR0;
66566    ///`read()` method returns [keyr0::R](keyr0::R) reader structure
66567    impl crate::Readable for KEYR0 {}
66568    ///`write(|w| ..)` method takes [keyr0::W](keyr0::W) writer structure
66569    impl crate::Writable for KEYR0 {}
66570    ///key register 0
66571    pub mod keyr0 {
66572        ///Reader of register KEYR0
66573        pub type R = crate::R<u32, super::KEYR0>;
66574        ///Writer for register KEYR0
66575        pub type W = crate::W<u32, super::KEYR0>;
66576        ///Register KEYR0 `reset()`'s with value 0
66577        impl crate::ResetValue for super::KEYR0 {
66578            type Type = u32;
66579            #[inline(always)]
66580            fn reset_value() -> Self::Type {
66581                0
66582            }
66583        }
66584        ///Reader of field `AES_KEYR0`
66585        pub type AES_KEYR0_R = crate::R<u32, u32>;
66586        ///Write proxy for field `AES_KEYR0`
66587        pub struct AES_KEYR0_W<'a> {
66588            w: &'a mut W,
66589        }
66590        impl<'a> AES_KEYR0_W<'a> {
66591            ///Writes raw bits to the field
66592            #[inline(always)]
66593            pub unsafe fn bits(self, value: u32) -> &'a mut W {
66594                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
66595                self.w
66596            }
66597        }
66598        impl R {
66599            ///Bits 0:31 - Data Output Register (LSB key \[31:0\])
66600            #[inline(always)]
66601            pub fn aes_keyr0(&self) -> AES_KEYR0_R {
66602                AES_KEYR0_R::new((self.bits & 0xffff_ffff) as u32)
66603            }
66604        }
66605        impl W {
66606            ///Bits 0:31 - Data Output Register (LSB key \[31:0\])
66607            #[inline(always)]
66608            pub fn aes_keyr0(&mut self) -> AES_KEYR0_W {
66609                AES_KEYR0_W { w: self }
66610            }
66611        }
66612    }
66613    ///key register 1
66614    ///
66615    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
66616    ///
66617    ///For information about available fields see [keyr1](keyr1) module
66618    pub type KEYR1 = crate::Reg<u32, _KEYR1>;
66619    #[allow(missing_docs)]
66620    #[doc(hidden)]
66621    pub struct _KEYR1;
66622    ///`read()` method returns [keyr1::R](keyr1::R) reader structure
66623    impl crate::Readable for KEYR1 {}
66624    ///`write(|w| ..)` method takes [keyr1::W](keyr1::W) writer structure
66625    impl crate::Writable for KEYR1 {}
66626    ///key register 1
66627    pub mod keyr1 {
66628        ///Reader of register KEYR1
66629        pub type R = crate::R<u32, super::KEYR1>;
66630        ///Writer for register KEYR1
66631        pub type W = crate::W<u32, super::KEYR1>;
66632        ///Register KEYR1 `reset()`'s with value 0
66633        impl crate::ResetValue for super::KEYR1 {
66634            type Type = u32;
66635            #[inline(always)]
66636            fn reset_value() -> Self::Type {
66637                0
66638            }
66639        }
66640        ///Reader of field `AES_KEYR1`
66641        pub type AES_KEYR1_R = crate::R<u32, u32>;
66642        ///Write proxy for field `AES_KEYR1`
66643        pub struct AES_KEYR1_W<'a> {
66644            w: &'a mut W,
66645        }
66646        impl<'a> AES_KEYR1_W<'a> {
66647            ///Writes raw bits to the field
66648            #[inline(always)]
66649            pub unsafe fn bits(self, value: u32) -> &'a mut W {
66650                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
66651                self.w
66652            }
66653        }
66654        impl R {
66655            ///Bits 0:31 - AES key register (key \[63:32\])
66656            #[inline(always)]
66657            pub fn aes_keyr1(&self) -> AES_KEYR1_R {
66658                AES_KEYR1_R::new((self.bits & 0xffff_ffff) as u32)
66659            }
66660        }
66661        impl W {
66662            ///Bits 0:31 - AES key register (key \[63:32\])
66663            #[inline(always)]
66664            pub fn aes_keyr1(&mut self) -> AES_KEYR1_W {
66665                AES_KEYR1_W { w: self }
66666            }
66667        }
66668    }
66669    ///key register 2
66670    ///
66671    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
66672    ///
66673    ///For information about available fields see [keyr2](keyr2) module
66674    pub type KEYR2 = crate::Reg<u32, _KEYR2>;
66675    #[allow(missing_docs)]
66676    #[doc(hidden)]
66677    pub struct _KEYR2;
66678    ///`read()` method returns [keyr2::R](keyr2::R) reader structure
66679    impl crate::Readable for KEYR2 {}
66680    ///`write(|w| ..)` method takes [keyr2::W](keyr2::W) writer structure
66681    impl crate::Writable for KEYR2 {}
66682    ///key register 2
66683    pub mod keyr2 {
66684        ///Reader of register KEYR2
66685        pub type R = crate::R<u32, super::KEYR2>;
66686        ///Writer for register KEYR2
66687        pub type W = crate::W<u32, super::KEYR2>;
66688        ///Register KEYR2 `reset()`'s with value 0
66689        impl crate::ResetValue for super::KEYR2 {
66690            type Type = u32;
66691            #[inline(always)]
66692            fn reset_value() -> Self::Type {
66693                0
66694            }
66695        }
66696        ///Reader of field `AES_KEYR2`
66697        pub type AES_KEYR2_R = crate::R<u32, u32>;
66698        ///Write proxy for field `AES_KEYR2`
66699        pub struct AES_KEYR2_W<'a> {
66700            w: &'a mut W,
66701        }
66702        impl<'a> AES_KEYR2_W<'a> {
66703            ///Writes raw bits to the field
66704            #[inline(always)]
66705            pub unsafe fn bits(self, value: u32) -> &'a mut W {
66706                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
66707                self.w
66708            }
66709        }
66710        impl R {
66711            ///Bits 0:31 - AES key register (key \[95:64\])
66712            #[inline(always)]
66713            pub fn aes_keyr2(&self) -> AES_KEYR2_R {
66714                AES_KEYR2_R::new((self.bits & 0xffff_ffff) as u32)
66715            }
66716        }
66717        impl W {
66718            ///Bits 0:31 - AES key register (key \[95:64\])
66719            #[inline(always)]
66720            pub fn aes_keyr2(&mut self) -> AES_KEYR2_W {
66721                AES_KEYR2_W { w: self }
66722            }
66723        }
66724    }
66725    ///key register 3
66726    ///
66727    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
66728    ///
66729    ///For information about available fields see [keyr3](keyr3) module
66730    pub type KEYR3 = crate::Reg<u32, _KEYR3>;
66731    #[allow(missing_docs)]
66732    #[doc(hidden)]
66733    pub struct _KEYR3;
66734    ///`read()` method returns [keyr3::R](keyr3::R) reader structure
66735    impl crate::Readable for KEYR3 {}
66736    ///`write(|w| ..)` method takes [keyr3::W](keyr3::W) writer structure
66737    impl crate::Writable for KEYR3 {}
66738    ///key register 3
66739    pub mod keyr3 {
66740        ///Reader of register KEYR3
66741        pub type R = crate::R<u32, super::KEYR3>;
66742        ///Writer for register KEYR3
66743        pub type W = crate::W<u32, super::KEYR3>;
66744        ///Register KEYR3 `reset()`'s with value 0
66745        impl crate::ResetValue for super::KEYR3 {
66746            type Type = u32;
66747            #[inline(always)]
66748            fn reset_value() -> Self::Type {
66749                0
66750            }
66751        }
66752        ///Reader of field `AES_KEYR3`
66753        pub type AES_KEYR3_R = crate::R<u32, u32>;
66754        ///Write proxy for field `AES_KEYR3`
66755        pub struct AES_KEYR3_W<'a> {
66756            w: &'a mut W,
66757        }
66758        impl<'a> AES_KEYR3_W<'a> {
66759            ///Writes raw bits to the field
66760            #[inline(always)]
66761            pub unsafe fn bits(self, value: u32) -> &'a mut W {
66762                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
66763                self.w
66764            }
66765        }
66766        impl R {
66767            ///Bits 0:31 - AES key register (MSB key \[127:96\])
66768            #[inline(always)]
66769            pub fn aes_keyr3(&self) -> AES_KEYR3_R {
66770                AES_KEYR3_R::new((self.bits & 0xffff_ffff) as u32)
66771            }
66772        }
66773        impl W {
66774            ///Bits 0:31 - AES key register (MSB key \[127:96\])
66775            #[inline(always)]
66776            pub fn aes_keyr3(&mut self) -> AES_KEYR3_W {
66777                AES_KEYR3_W { w: self }
66778            }
66779        }
66780    }
66781    ///initialization vector register 0
66782    ///
66783    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
66784    ///
66785    ///For information about available fields see [ivr0](ivr0) module
66786    pub type IVR0 = crate::Reg<u32, _IVR0>;
66787    #[allow(missing_docs)]
66788    #[doc(hidden)]
66789    pub struct _IVR0;
66790    ///`read()` method returns [ivr0::R](ivr0::R) reader structure
66791    impl crate::Readable for IVR0 {}
66792    ///`write(|w| ..)` method takes [ivr0::W](ivr0::W) writer structure
66793    impl crate::Writable for IVR0 {}
66794    ///initialization vector register 0
66795    pub mod ivr0 {
66796        ///Reader of register IVR0
66797        pub type R = crate::R<u32, super::IVR0>;
66798        ///Writer for register IVR0
66799        pub type W = crate::W<u32, super::IVR0>;
66800        ///Register IVR0 `reset()`'s with value 0
66801        impl crate::ResetValue for super::IVR0 {
66802            type Type = u32;
66803            #[inline(always)]
66804            fn reset_value() -> Self::Type {
66805                0
66806            }
66807        }
66808        ///Reader of field `AES_IVR0`
66809        pub type AES_IVR0_R = crate::R<u32, u32>;
66810        ///Write proxy for field `AES_IVR0`
66811        pub struct AES_IVR0_W<'a> {
66812            w: &'a mut W,
66813        }
66814        impl<'a> AES_IVR0_W<'a> {
66815            ///Writes raw bits to the field
66816            #[inline(always)]
66817            pub unsafe fn bits(self, value: u32) -> &'a mut W {
66818                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
66819                self.w
66820            }
66821        }
66822        impl R {
66823            ///Bits 0:31 - initialization vector register (LSB IVR \[31:0\])
66824            #[inline(always)]
66825            pub fn aes_ivr0(&self) -> AES_IVR0_R {
66826                AES_IVR0_R::new((self.bits & 0xffff_ffff) as u32)
66827            }
66828        }
66829        impl W {
66830            ///Bits 0:31 - initialization vector register (LSB IVR \[31:0\])
66831            #[inline(always)]
66832            pub fn aes_ivr0(&mut self) -> AES_IVR0_W {
66833                AES_IVR0_W { w: self }
66834            }
66835        }
66836    }
66837    ///initialization vector register 1
66838    ///
66839    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
66840    ///
66841    ///For information about available fields see [ivr1](ivr1) module
66842    pub type IVR1 = crate::Reg<u32, _IVR1>;
66843    #[allow(missing_docs)]
66844    #[doc(hidden)]
66845    pub struct _IVR1;
66846    ///`read()` method returns [ivr1::R](ivr1::R) reader structure
66847    impl crate::Readable for IVR1 {}
66848    ///`write(|w| ..)` method takes [ivr1::W](ivr1::W) writer structure
66849    impl crate::Writable for IVR1 {}
66850    ///initialization vector register 1
66851    pub mod ivr1 {
66852        ///Reader of register IVR1
66853        pub type R = crate::R<u32, super::IVR1>;
66854        ///Writer for register IVR1
66855        pub type W = crate::W<u32, super::IVR1>;
66856        ///Register IVR1 `reset()`'s with value 0
66857        impl crate::ResetValue for super::IVR1 {
66858            type Type = u32;
66859            #[inline(always)]
66860            fn reset_value() -> Self::Type {
66861                0
66862            }
66863        }
66864        ///Reader of field `AES_IVR1`
66865        pub type AES_IVR1_R = crate::R<u32, u32>;
66866        ///Write proxy for field `AES_IVR1`
66867        pub struct AES_IVR1_W<'a> {
66868            w: &'a mut W,
66869        }
66870        impl<'a> AES_IVR1_W<'a> {
66871            ///Writes raw bits to the field
66872            #[inline(always)]
66873            pub unsafe fn bits(self, value: u32) -> &'a mut W {
66874                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
66875                self.w
66876            }
66877        }
66878        impl R {
66879            ///Bits 0:31 - Initialization Vector Register (IVR \[63:32\])
66880            #[inline(always)]
66881            pub fn aes_ivr1(&self) -> AES_IVR1_R {
66882                AES_IVR1_R::new((self.bits & 0xffff_ffff) as u32)
66883            }
66884        }
66885        impl W {
66886            ///Bits 0:31 - Initialization Vector Register (IVR \[63:32\])
66887            #[inline(always)]
66888            pub fn aes_ivr1(&mut self) -> AES_IVR1_W {
66889                AES_IVR1_W { w: self }
66890            }
66891        }
66892    }
66893    ///initialization vector register 2
66894    ///
66895    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
66896    ///
66897    ///For information about available fields see [ivr2](ivr2) module
66898    pub type IVR2 = crate::Reg<u32, _IVR2>;
66899    #[allow(missing_docs)]
66900    #[doc(hidden)]
66901    pub struct _IVR2;
66902    ///`read()` method returns [ivr2::R](ivr2::R) reader structure
66903    impl crate::Readable for IVR2 {}
66904    ///`write(|w| ..)` method takes [ivr2::W](ivr2::W) writer structure
66905    impl crate::Writable for IVR2 {}
66906    ///initialization vector register 2
66907    pub mod ivr2 {
66908        ///Reader of register IVR2
66909        pub type R = crate::R<u32, super::IVR2>;
66910        ///Writer for register IVR2
66911        pub type W = crate::W<u32, super::IVR2>;
66912        ///Register IVR2 `reset()`'s with value 0
66913        impl crate::ResetValue for super::IVR2 {
66914            type Type = u32;
66915            #[inline(always)]
66916            fn reset_value() -> Self::Type {
66917                0
66918            }
66919        }
66920        ///Reader of field `AES_IVR2`
66921        pub type AES_IVR2_R = crate::R<u32, u32>;
66922        ///Write proxy for field `AES_IVR2`
66923        pub struct AES_IVR2_W<'a> {
66924            w: &'a mut W,
66925        }
66926        impl<'a> AES_IVR2_W<'a> {
66927            ///Writes raw bits to the field
66928            #[inline(always)]
66929            pub unsafe fn bits(self, value: u32) -> &'a mut W {
66930                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
66931                self.w
66932            }
66933        }
66934        impl R {
66935            ///Bits 0:31 - Initialization Vector Register (IVR \[95:64\])
66936            #[inline(always)]
66937            pub fn aes_ivr2(&self) -> AES_IVR2_R {
66938                AES_IVR2_R::new((self.bits & 0xffff_ffff) as u32)
66939            }
66940        }
66941        impl W {
66942            ///Bits 0:31 - Initialization Vector Register (IVR \[95:64\])
66943            #[inline(always)]
66944            pub fn aes_ivr2(&mut self) -> AES_IVR2_W {
66945                AES_IVR2_W { w: self }
66946            }
66947        }
66948    }
66949    ///initialization vector register 3
66950    ///
66951    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
66952    ///
66953    ///For information about available fields see [ivr3](ivr3) module
66954    pub type IVR3 = crate::Reg<u32, _IVR3>;
66955    #[allow(missing_docs)]
66956    #[doc(hidden)]
66957    pub struct _IVR3;
66958    ///`read()` method returns [ivr3::R](ivr3::R) reader structure
66959    impl crate::Readable for IVR3 {}
66960    ///`write(|w| ..)` method takes [ivr3::W](ivr3::W) writer structure
66961    impl crate::Writable for IVR3 {}
66962    ///initialization vector register 3
66963    pub mod ivr3 {
66964        ///Reader of register IVR3
66965        pub type R = crate::R<u32, super::IVR3>;
66966        ///Writer for register IVR3
66967        pub type W = crate::W<u32, super::IVR3>;
66968        ///Register IVR3 `reset()`'s with value 0
66969        impl crate::ResetValue for super::IVR3 {
66970            type Type = u32;
66971            #[inline(always)]
66972            fn reset_value() -> Self::Type {
66973                0
66974            }
66975        }
66976        ///Reader of field `AES_IVR3`
66977        pub type AES_IVR3_R = crate::R<u32, u32>;
66978        ///Write proxy for field `AES_IVR3`
66979        pub struct AES_IVR3_W<'a> {
66980            w: &'a mut W,
66981        }
66982        impl<'a> AES_IVR3_W<'a> {
66983            ///Writes raw bits to the field
66984            #[inline(always)]
66985            pub unsafe fn bits(self, value: u32) -> &'a mut W {
66986                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
66987                self.w
66988            }
66989        }
66990        impl R {
66991            ///Bits 0:31 - Initialization Vector Register (MSB IVR \[127:96\])
66992            #[inline(always)]
66993            pub fn aes_ivr3(&self) -> AES_IVR3_R {
66994                AES_IVR3_R::new((self.bits & 0xffff_ffff) as u32)
66995            }
66996        }
66997        impl W {
66998            ///Bits 0:31 - Initialization Vector Register (MSB IVR \[127:96\])
66999            #[inline(always)]
67000            pub fn aes_ivr3(&mut self) -> AES_IVR3_W {
67001                AES_IVR3_W { w: self }
67002            }
67003        }
67004    }
67005    ///key register 4
67006    ///
67007    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
67008    ///
67009    ///For information about available fields see [keyr4](keyr4) module
67010    pub type KEYR4 = crate::Reg<u32, _KEYR4>;
67011    #[allow(missing_docs)]
67012    #[doc(hidden)]
67013    pub struct _KEYR4;
67014    ///`read()` method returns [keyr4::R](keyr4::R) reader structure
67015    impl crate::Readable for KEYR4 {}
67016    ///`write(|w| ..)` method takes [keyr4::W](keyr4::W) writer structure
67017    impl crate::Writable for KEYR4 {}
67018    ///key register 4
67019    pub mod keyr4 {
67020        ///Reader of register KEYR4
67021        pub type R = crate::R<u32, super::KEYR4>;
67022        ///Writer for register KEYR4
67023        pub type W = crate::W<u32, super::KEYR4>;
67024        ///Register KEYR4 `reset()`'s with value 0
67025        impl crate::ResetValue for super::KEYR4 {
67026            type Type = u32;
67027            #[inline(always)]
67028            fn reset_value() -> Self::Type {
67029                0
67030            }
67031        }
67032        ///Reader of field `AES_KEYR4`
67033        pub type AES_KEYR4_R = crate::R<u32, u32>;
67034        ///Write proxy for field `AES_KEYR4`
67035        pub struct AES_KEYR4_W<'a> {
67036            w: &'a mut W,
67037        }
67038        impl<'a> AES_KEYR4_W<'a> {
67039            ///Writes raw bits to the field
67040            #[inline(always)]
67041            pub unsafe fn bits(self, value: u32) -> &'a mut W {
67042                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
67043                self.w
67044            }
67045        }
67046        impl R {
67047            ///Bits 0:31 - AES key register (MSB key \[159:128\])
67048            #[inline(always)]
67049            pub fn aes_keyr4(&self) -> AES_KEYR4_R {
67050                AES_KEYR4_R::new((self.bits & 0xffff_ffff) as u32)
67051            }
67052        }
67053        impl W {
67054            ///Bits 0:31 - AES key register (MSB key \[159:128\])
67055            #[inline(always)]
67056            pub fn aes_keyr4(&mut self) -> AES_KEYR4_W {
67057                AES_KEYR4_W { w: self }
67058            }
67059        }
67060    }
67061    ///key register 5
67062    ///
67063    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
67064    ///
67065    ///For information about available fields see [keyr5](keyr5) module
67066    pub type KEYR5 = crate::Reg<u32, _KEYR5>;
67067    #[allow(missing_docs)]
67068    #[doc(hidden)]
67069    pub struct _KEYR5;
67070    ///`read()` method returns [keyr5::R](keyr5::R) reader structure
67071    impl crate::Readable for KEYR5 {}
67072    ///`write(|w| ..)` method takes [keyr5::W](keyr5::W) writer structure
67073    impl crate::Writable for KEYR5 {}
67074    ///key register 5
67075    pub mod keyr5 {
67076        ///Reader of register KEYR5
67077        pub type R = crate::R<u32, super::KEYR5>;
67078        ///Writer for register KEYR5
67079        pub type W = crate::W<u32, super::KEYR5>;
67080        ///Register KEYR5 `reset()`'s with value 0
67081        impl crate::ResetValue for super::KEYR5 {
67082            type Type = u32;
67083            #[inline(always)]
67084            fn reset_value() -> Self::Type {
67085                0
67086            }
67087        }
67088        ///Reader of field `AES_KEYR5`
67089        pub type AES_KEYR5_R = crate::R<u32, u32>;
67090        ///Write proxy for field `AES_KEYR5`
67091        pub struct AES_KEYR5_W<'a> {
67092            w: &'a mut W,
67093        }
67094        impl<'a> AES_KEYR5_W<'a> {
67095            ///Writes raw bits to the field
67096            #[inline(always)]
67097            pub unsafe fn bits(self, value: u32) -> &'a mut W {
67098                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
67099                self.w
67100            }
67101        }
67102        impl R {
67103            ///Bits 0:31 - AES key register (MSB key \[191:160\])
67104            #[inline(always)]
67105            pub fn aes_keyr5(&self) -> AES_KEYR5_R {
67106                AES_KEYR5_R::new((self.bits & 0xffff_ffff) as u32)
67107            }
67108        }
67109        impl W {
67110            ///Bits 0:31 - AES key register (MSB key \[191:160\])
67111            #[inline(always)]
67112            pub fn aes_keyr5(&mut self) -> AES_KEYR5_W {
67113                AES_KEYR5_W { w: self }
67114            }
67115        }
67116    }
67117    ///key register 6
67118    ///
67119    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
67120    ///
67121    ///For information about available fields see [keyr6](keyr6) module
67122    pub type KEYR6 = crate::Reg<u32, _KEYR6>;
67123    #[allow(missing_docs)]
67124    #[doc(hidden)]
67125    pub struct _KEYR6;
67126    ///`read()` method returns [keyr6::R](keyr6::R) reader structure
67127    impl crate::Readable for KEYR6 {}
67128    ///`write(|w| ..)` method takes [keyr6::W](keyr6::W) writer structure
67129    impl crate::Writable for KEYR6 {}
67130    ///key register 6
67131    pub mod keyr6 {
67132        ///Reader of register KEYR6
67133        pub type R = crate::R<u32, super::KEYR6>;
67134        ///Writer for register KEYR6
67135        pub type W = crate::W<u32, super::KEYR6>;
67136        ///Register KEYR6 `reset()`'s with value 0
67137        impl crate::ResetValue for super::KEYR6 {
67138            type Type = u32;
67139            #[inline(always)]
67140            fn reset_value() -> Self::Type {
67141                0
67142            }
67143        }
67144        ///Reader of field `AES_KEYR6`
67145        pub type AES_KEYR6_R = crate::R<u32, u32>;
67146        ///Write proxy for field `AES_KEYR6`
67147        pub struct AES_KEYR6_W<'a> {
67148            w: &'a mut W,
67149        }
67150        impl<'a> AES_KEYR6_W<'a> {
67151            ///Writes raw bits to the field
67152            #[inline(always)]
67153            pub unsafe fn bits(self, value: u32) -> &'a mut W {
67154                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
67155                self.w
67156            }
67157        }
67158        impl R {
67159            ///Bits 0:31 - AES key register (MSB key \[223:192\])
67160            #[inline(always)]
67161            pub fn aes_keyr6(&self) -> AES_KEYR6_R {
67162                AES_KEYR6_R::new((self.bits & 0xffff_ffff) as u32)
67163            }
67164        }
67165        impl W {
67166            ///Bits 0:31 - AES key register (MSB key \[223:192\])
67167            #[inline(always)]
67168            pub fn aes_keyr6(&mut self) -> AES_KEYR6_W {
67169                AES_KEYR6_W { w: self }
67170            }
67171        }
67172    }
67173    ///key register 7
67174    ///
67175    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
67176    ///
67177    ///For information about available fields see [keyr7](keyr7) module
67178    pub type KEYR7 = crate::Reg<u32, _KEYR7>;
67179    #[allow(missing_docs)]
67180    #[doc(hidden)]
67181    pub struct _KEYR7;
67182    ///`read()` method returns [keyr7::R](keyr7::R) reader structure
67183    impl crate::Readable for KEYR7 {}
67184    ///`write(|w| ..)` method takes [keyr7::W](keyr7::W) writer structure
67185    impl crate::Writable for KEYR7 {}
67186    ///key register 7
67187    pub mod keyr7 {
67188        ///Reader of register KEYR7
67189        pub type R = crate::R<u32, super::KEYR7>;
67190        ///Writer for register KEYR7
67191        pub type W = crate::W<u32, super::KEYR7>;
67192        ///Register KEYR7 `reset()`'s with value 0
67193        impl crate::ResetValue for super::KEYR7 {
67194            type Type = u32;
67195            #[inline(always)]
67196            fn reset_value() -> Self::Type {
67197                0
67198            }
67199        }
67200        ///Reader of field `AES_KEYR7`
67201        pub type AES_KEYR7_R = crate::R<u32, u32>;
67202        ///Write proxy for field `AES_KEYR7`
67203        pub struct AES_KEYR7_W<'a> {
67204            w: &'a mut W,
67205        }
67206        impl<'a> AES_KEYR7_W<'a> {
67207            ///Writes raw bits to the field
67208            #[inline(always)]
67209            pub unsafe fn bits(self, value: u32) -> &'a mut W {
67210                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
67211                self.w
67212            }
67213        }
67214        impl R {
67215            ///Bits 0:31 - AES key register (MSB key \[255:224\])
67216            #[inline(always)]
67217            pub fn aes_keyr7(&self) -> AES_KEYR7_R {
67218                AES_KEYR7_R::new((self.bits & 0xffff_ffff) as u32)
67219            }
67220        }
67221        impl W {
67222            ///Bits 0:31 - AES key register (MSB key \[255:224\])
67223            #[inline(always)]
67224            pub fn aes_keyr7(&mut self) -> AES_KEYR7_W {
67225                AES_KEYR7_W { w: self }
67226            }
67227        }
67228    }
67229    ///AES suspend register 0
67230    ///
67231    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
67232    ///
67233    ///For information about available fields see [susp0r](susp0r) module
67234    pub type SUSP0R = crate::Reg<u32, _SUSP0R>;
67235    #[allow(missing_docs)]
67236    #[doc(hidden)]
67237    pub struct _SUSP0R;
67238    ///`read()` method returns [susp0r::R](susp0r::R) reader structure
67239    impl crate::Readable for SUSP0R {}
67240    ///`write(|w| ..)` method takes [susp0r::W](susp0r::W) writer structure
67241    impl crate::Writable for SUSP0R {}
67242    ///AES suspend register 0
67243    pub mod susp0r {
67244        ///Reader of register SUSP0R
67245        pub type R = crate::R<u32, super::SUSP0R>;
67246        ///Writer for register SUSP0R
67247        pub type W = crate::W<u32, super::SUSP0R>;
67248        ///Register SUSP0R `reset()`'s with value 0
67249        impl crate::ResetValue for super::SUSP0R {
67250            type Type = u32;
67251            #[inline(always)]
67252            fn reset_value() -> Self::Type {
67253                0
67254            }
67255        }
67256        ///Reader of field `AES_SUSP0R`
67257        pub type AES_SUSP0R_R = crate::R<u32, u32>;
67258        ///Write proxy for field `AES_SUSP0R`
67259        pub struct AES_SUSP0R_W<'a> {
67260            w: &'a mut W,
67261        }
67262        impl<'a> AES_SUSP0R_W<'a> {
67263            ///Writes raw bits to the field
67264            #[inline(always)]
67265            pub unsafe fn bits(self, value: u32) -> &'a mut W {
67266                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
67267                self.w
67268            }
67269        }
67270        impl R {
67271            ///Bits 0:31 - AES suspend register 0
67272            #[inline(always)]
67273            pub fn aes_susp0r(&self) -> AES_SUSP0R_R {
67274                AES_SUSP0R_R::new((self.bits & 0xffff_ffff) as u32)
67275            }
67276        }
67277        impl W {
67278            ///Bits 0:31 - AES suspend register 0
67279            #[inline(always)]
67280            pub fn aes_susp0r(&mut self) -> AES_SUSP0R_W {
67281                AES_SUSP0R_W { w: self }
67282            }
67283        }
67284    }
67285    ///AES suspend register 1
67286    ///
67287    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
67288    ///
67289    ///For information about available fields see [susp1r](susp1r) module
67290    pub type SUSP1R = crate::Reg<u32, _SUSP1R>;
67291    #[allow(missing_docs)]
67292    #[doc(hidden)]
67293    pub struct _SUSP1R;
67294    ///`read()` method returns [susp1r::R](susp1r::R) reader structure
67295    impl crate::Readable for SUSP1R {}
67296    ///`write(|w| ..)` method takes [susp1r::W](susp1r::W) writer structure
67297    impl crate::Writable for SUSP1R {}
67298    ///AES suspend register 1
67299    pub mod susp1r {
67300        ///Reader of register SUSP1R
67301        pub type R = crate::R<u32, super::SUSP1R>;
67302        ///Writer for register SUSP1R
67303        pub type W = crate::W<u32, super::SUSP1R>;
67304        ///Register SUSP1R `reset()`'s with value 0
67305        impl crate::ResetValue for super::SUSP1R {
67306            type Type = u32;
67307            #[inline(always)]
67308            fn reset_value() -> Self::Type {
67309                0
67310            }
67311        }
67312        ///Reader of field `AES_SUSP1R`
67313        pub type AES_SUSP1R_R = crate::R<u32, u32>;
67314        ///Write proxy for field `AES_SUSP1R`
67315        pub struct AES_SUSP1R_W<'a> {
67316            w: &'a mut W,
67317        }
67318        impl<'a> AES_SUSP1R_W<'a> {
67319            ///Writes raw bits to the field
67320            #[inline(always)]
67321            pub unsafe fn bits(self, value: u32) -> &'a mut W {
67322                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
67323                self.w
67324            }
67325        }
67326        impl R {
67327            ///Bits 0:31 - AES suspend register 1
67328            #[inline(always)]
67329            pub fn aes_susp1r(&self) -> AES_SUSP1R_R {
67330                AES_SUSP1R_R::new((self.bits & 0xffff_ffff) as u32)
67331            }
67332        }
67333        impl W {
67334            ///Bits 0:31 - AES suspend register 1
67335            #[inline(always)]
67336            pub fn aes_susp1r(&mut self) -> AES_SUSP1R_W {
67337                AES_SUSP1R_W { w: self }
67338            }
67339        }
67340    }
67341    ///AES suspend register 2
67342    ///
67343    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
67344    ///
67345    ///For information about available fields see [susp2r](susp2r) module
67346    pub type SUSP2R = crate::Reg<u32, _SUSP2R>;
67347    #[allow(missing_docs)]
67348    #[doc(hidden)]
67349    pub struct _SUSP2R;
67350    ///`read()` method returns [susp2r::R](susp2r::R) reader structure
67351    impl crate::Readable for SUSP2R {}
67352    ///`write(|w| ..)` method takes [susp2r::W](susp2r::W) writer structure
67353    impl crate::Writable for SUSP2R {}
67354    ///AES suspend register 2
67355    pub mod susp2r {
67356        ///Reader of register SUSP2R
67357        pub type R = crate::R<u32, super::SUSP2R>;
67358        ///Writer for register SUSP2R
67359        pub type W = crate::W<u32, super::SUSP2R>;
67360        ///Register SUSP2R `reset()`'s with value 0
67361        impl crate::ResetValue for super::SUSP2R {
67362            type Type = u32;
67363            #[inline(always)]
67364            fn reset_value() -> Self::Type {
67365                0
67366            }
67367        }
67368        ///Reader of field `AES_SUSP2R`
67369        pub type AES_SUSP2R_R = crate::R<u32, u32>;
67370        ///Write proxy for field `AES_SUSP2R`
67371        pub struct AES_SUSP2R_W<'a> {
67372            w: &'a mut W,
67373        }
67374        impl<'a> AES_SUSP2R_W<'a> {
67375            ///Writes raw bits to the field
67376            #[inline(always)]
67377            pub unsafe fn bits(self, value: u32) -> &'a mut W {
67378                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
67379                self.w
67380            }
67381        }
67382        impl R {
67383            ///Bits 0:31 - AES suspend register 2
67384            #[inline(always)]
67385            pub fn aes_susp2r(&self) -> AES_SUSP2R_R {
67386                AES_SUSP2R_R::new((self.bits & 0xffff_ffff) as u32)
67387            }
67388        }
67389        impl W {
67390            ///Bits 0:31 - AES suspend register 2
67391            #[inline(always)]
67392            pub fn aes_susp2r(&mut self) -> AES_SUSP2R_W {
67393                AES_SUSP2R_W { w: self }
67394            }
67395        }
67396    }
67397    ///AES suspend register 3
67398    ///
67399    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
67400    ///
67401    ///For information about available fields see [susp3r](susp3r) module
67402    pub type SUSP3R = crate::Reg<u32, _SUSP3R>;
67403    #[allow(missing_docs)]
67404    #[doc(hidden)]
67405    pub struct _SUSP3R;
67406    ///`read()` method returns [susp3r::R](susp3r::R) reader structure
67407    impl crate::Readable for SUSP3R {}
67408    ///`write(|w| ..)` method takes [susp3r::W](susp3r::W) writer structure
67409    impl crate::Writable for SUSP3R {}
67410    ///AES suspend register 3
67411    pub mod susp3r {
67412        ///Reader of register SUSP3R
67413        pub type R = crate::R<u32, super::SUSP3R>;
67414        ///Writer for register SUSP3R
67415        pub type W = crate::W<u32, super::SUSP3R>;
67416        ///Register SUSP3R `reset()`'s with value 0
67417        impl crate::ResetValue for super::SUSP3R {
67418            type Type = u32;
67419            #[inline(always)]
67420            fn reset_value() -> Self::Type {
67421                0
67422            }
67423        }
67424        ///Reader of field `AES_SUSP3R`
67425        pub type AES_SUSP3R_R = crate::R<u32, u32>;
67426        ///Write proxy for field `AES_SUSP3R`
67427        pub struct AES_SUSP3R_W<'a> {
67428            w: &'a mut W,
67429        }
67430        impl<'a> AES_SUSP3R_W<'a> {
67431            ///Writes raw bits to the field
67432            #[inline(always)]
67433            pub unsafe fn bits(self, value: u32) -> &'a mut W {
67434                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
67435                self.w
67436            }
67437        }
67438        impl R {
67439            ///Bits 0:31 - AES suspend register 3
67440            #[inline(always)]
67441            pub fn aes_susp3r(&self) -> AES_SUSP3R_R {
67442                AES_SUSP3R_R::new((self.bits & 0xffff_ffff) as u32)
67443            }
67444        }
67445        impl W {
67446            ///Bits 0:31 - AES suspend register 3
67447            #[inline(always)]
67448            pub fn aes_susp3r(&mut self) -> AES_SUSP3R_W {
67449                AES_SUSP3R_W { w: self }
67450            }
67451        }
67452    }
67453    ///AES suspend register 4
67454    ///
67455    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
67456    ///
67457    ///For information about available fields see [susp4r](susp4r) module
67458    pub type SUSP4R = crate::Reg<u32, _SUSP4R>;
67459    #[allow(missing_docs)]
67460    #[doc(hidden)]
67461    pub struct _SUSP4R;
67462    ///`read()` method returns [susp4r::R](susp4r::R) reader structure
67463    impl crate::Readable for SUSP4R {}
67464    ///`write(|w| ..)` method takes [susp4r::W](susp4r::W) writer structure
67465    impl crate::Writable for SUSP4R {}
67466    ///AES suspend register 4
67467    pub mod susp4r {
67468        ///Reader of register SUSP4R
67469        pub type R = crate::R<u32, super::SUSP4R>;
67470        ///Writer for register SUSP4R
67471        pub type W = crate::W<u32, super::SUSP4R>;
67472        ///Register SUSP4R `reset()`'s with value 0
67473        impl crate::ResetValue for super::SUSP4R {
67474            type Type = u32;
67475            #[inline(always)]
67476            fn reset_value() -> Self::Type {
67477                0
67478            }
67479        }
67480        ///Reader of field `AES_SUSP4R`
67481        pub type AES_SUSP4R_R = crate::R<u32, u32>;
67482        ///Write proxy for field `AES_SUSP4R`
67483        pub struct AES_SUSP4R_W<'a> {
67484            w: &'a mut W,
67485        }
67486        impl<'a> AES_SUSP4R_W<'a> {
67487            ///Writes raw bits to the field
67488            #[inline(always)]
67489            pub unsafe fn bits(self, value: u32) -> &'a mut W {
67490                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
67491                self.w
67492            }
67493        }
67494        impl R {
67495            ///Bits 0:31 - AES suspend register 4
67496            #[inline(always)]
67497            pub fn aes_susp4r(&self) -> AES_SUSP4R_R {
67498                AES_SUSP4R_R::new((self.bits & 0xffff_ffff) as u32)
67499            }
67500        }
67501        impl W {
67502            ///Bits 0:31 - AES suspend register 4
67503            #[inline(always)]
67504            pub fn aes_susp4r(&mut self) -> AES_SUSP4R_W {
67505                AES_SUSP4R_W { w: self }
67506            }
67507        }
67508    }
67509    ///AES suspend register 5
67510    ///
67511    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
67512    ///
67513    ///For information about available fields see [susp5r](susp5r) module
67514    pub type SUSP5R = crate::Reg<u32, _SUSP5R>;
67515    #[allow(missing_docs)]
67516    #[doc(hidden)]
67517    pub struct _SUSP5R;
67518    ///`read()` method returns [susp5r::R](susp5r::R) reader structure
67519    impl crate::Readable for SUSP5R {}
67520    ///`write(|w| ..)` method takes [susp5r::W](susp5r::W) writer structure
67521    impl crate::Writable for SUSP5R {}
67522    ///AES suspend register 5
67523    pub mod susp5r {
67524        ///Reader of register SUSP5R
67525        pub type R = crate::R<u32, super::SUSP5R>;
67526        ///Writer for register SUSP5R
67527        pub type W = crate::W<u32, super::SUSP5R>;
67528        ///Register SUSP5R `reset()`'s with value 0
67529        impl crate::ResetValue for super::SUSP5R {
67530            type Type = u32;
67531            #[inline(always)]
67532            fn reset_value() -> Self::Type {
67533                0
67534            }
67535        }
67536        ///Reader of field `AES_SUSP5R`
67537        pub type AES_SUSP5R_R = crate::R<u32, u32>;
67538        ///Write proxy for field `AES_SUSP5R`
67539        pub struct AES_SUSP5R_W<'a> {
67540            w: &'a mut W,
67541        }
67542        impl<'a> AES_SUSP5R_W<'a> {
67543            ///Writes raw bits to the field
67544            #[inline(always)]
67545            pub unsafe fn bits(self, value: u32) -> &'a mut W {
67546                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
67547                self.w
67548            }
67549        }
67550        impl R {
67551            ///Bits 0:31 - AES suspend register 5
67552            #[inline(always)]
67553            pub fn aes_susp5r(&self) -> AES_SUSP5R_R {
67554                AES_SUSP5R_R::new((self.bits & 0xffff_ffff) as u32)
67555            }
67556        }
67557        impl W {
67558            ///Bits 0:31 - AES suspend register 5
67559            #[inline(always)]
67560            pub fn aes_susp5r(&mut self) -> AES_SUSP5R_W {
67561                AES_SUSP5R_W { w: self }
67562            }
67563        }
67564    }
67565    ///AES suspend register 6
67566    ///
67567    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
67568    ///
67569    ///For information about available fields see [susp6r](susp6r) module
67570    pub type SUSP6R = crate::Reg<u32, _SUSP6R>;
67571    #[allow(missing_docs)]
67572    #[doc(hidden)]
67573    pub struct _SUSP6R;
67574    ///`read()` method returns [susp6r::R](susp6r::R) reader structure
67575    impl crate::Readable for SUSP6R {}
67576    ///`write(|w| ..)` method takes [susp6r::W](susp6r::W) writer structure
67577    impl crate::Writable for SUSP6R {}
67578    ///AES suspend register 6
67579    pub mod susp6r {
67580        ///Reader of register SUSP6R
67581        pub type R = crate::R<u32, super::SUSP6R>;
67582        ///Writer for register SUSP6R
67583        pub type W = crate::W<u32, super::SUSP6R>;
67584        ///Register SUSP6R `reset()`'s with value 0
67585        impl crate::ResetValue for super::SUSP6R {
67586            type Type = u32;
67587            #[inline(always)]
67588            fn reset_value() -> Self::Type {
67589                0
67590            }
67591        }
67592        ///Reader of field `AES_SUSP6R`
67593        pub type AES_SUSP6R_R = crate::R<u32, u32>;
67594        ///Write proxy for field `AES_SUSP6R`
67595        pub struct AES_SUSP6R_W<'a> {
67596            w: &'a mut W,
67597        }
67598        impl<'a> AES_SUSP6R_W<'a> {
67599            ///Writes raw bits to the field
67600            #[inline(always)]
67601            pub unsafe fn bits(self, value: u32) -> &'a mut W {
67602                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
67603                self.w
67604            }
67605        }
67606        impl R {
67607            ///Bits 0:31 - AES suspend register 6
67608            #[inline(always)]
67609            pub fn aes_susp6r(&self) -> AES_SUSP6R_R {
67610                AES_SUSP6R_R::new((self.bits & 0xffff_ffff) as u32)
67611            }
67612        }
67613        impl W {
67614            ///Bits 0:31 - AES suspend register 6
67615            #[inline(always)]
67616            pub fn aes_susp6r(&mut self) -> AES_SUSP6R_W {
67617                AES_SUSP6R_W { w: self }
67618            }
67619        }
67620    }
67621    ///AES suspend register 7
67622    ///
67623    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
67624    ///
67625    ///For information about available fields see [susp7r](susp7r) module
67626    pub type SUSP7R = crate::Reg<u32, _SUSP7R>;
67627    #[allow(missing_docs)]
67628    #[doc(hidden)]
67629    pub struct _SUSP7R;
67630    ///`read()` method returns [susp7r::R](susp7r::R) reader structure
67631    impl crate::Readable for SUSP7R {}
67632    ///`write(|w| ..)` method takes [susp7r::W](susp7r::W) writer structure
67633    impl crate::Writable for SUSP7R {}
67634    ///AES suspend register 7
67635    pub mod susp7r {
67636        ///Reader of register SUSP7R
67637        pub type R = crate::R<u32, super::SUSP7R>;
67638        ///Writer for register SUSP7R
67639        pub type W = crate::W<u32, super::SUSP7R>;
67640        ///Register SUSP7R `reset()`'s with value 0
67641        impl crate::ResetValue for super::SUSP7R {
67642            type Type = u32;
67643            #[inline(always)]
67644            fn reset_value() -> Self::Type {
67645                0
67646            }
67647        }
67648        ///Reader of field `AES_SUSP7R`
67649        pub type AES_SUSP7R_R = crate::R<u32, u32>;
67650        ///Write proxy for field `AES_SUSP7R`
67651        pub struct AES_SUSP7R_W<'a> {
67652            w: &'a mut W,
67653        }
67654        impl<'a> AES_SUSP7R_W<'a> {
67655            ///Writes raw bits to the field
67656            #[inline(always)]
67657            pub unsafe fn bits(self, value: u32) -> &'a mut W {
67658                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
67659                self.w
67660            }
67661        }
67662        impl R {
67663            ///Bits 0:31 - AES suspend register 7
67664            #[inline(always)]
67665            pub fn aes_susp7r(&self) -> AES_SUSP7R_R {
67666                AES_SUSP7R_R::new((self.bits & 0xffff_ffff) as u32)
67667            }
67668        }
67669        impl W {
67670            ///Bits 0:31 - AES suspend register 7
67671            #[inline(always)]
67672            pub fn aes_susp7r(&mut self) -> AES_SUSP7R_W {
67673                AES_SUSP7R_W { w: self }
67674            }
67675        }
67676    }
67677    ///AES hardware configuration register
67678    ///
67679    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
67680    ///
67681    ///For information about available fields see [hwcfr](hwcfr) module
67682    pub type HWCFR = crate::Reg<u32, _HWCFR>;
67683    #[allow(missing_docs)]
67684    #[doc(hidden)]
67685    pub struct _HWCFR;
67686    ///`read()` method returns [hwcfr::R](hwcfr::R) reader structure
67687    impl crate::Readable for HWCFR {}
67688    ///AES hardware configuration register
67689    pub mod hwcfr {
67690        ///Reader of register HWCFR
67691        pub type R = crate::R<u32, super::HWCFR>;
67692        ///Reader of field `CFG4`
67693        pub type CFG4_R = crate::R<u8, u8>;
67694        ///Reader of field `CFG3`
67695        pub type CFG3_R = crate::R<u8, u8>;
67696        ///Reader of field `CFG2`
67697        pub type CFG2_R = crate::R<u8, u8>;
67698        ///Reader of field `CFG1`
67699        pub type CFG1_R = crate::R<u8, u8>;
67700        impl R {
67701            ///Bits 12:15 - HW Generic 4
67702            #[inline(always)]
67703            pub fn cfg4(&self) -> CFG4_R {
67704                CFG4_R::new(((self.bits >> 12) & 0x0f) as u8)
67705            }
67706            ///Bits 8:11 - HW Generic 3
67707            #[inline(always)]
67708            pub fn cfg3(&self) -> CFG3_R {
67709                CFG3_R::new(((self.bits >> 8) & 0x0f) as u8)
67710            }
67711            ///Bits 4:7 - HW Generic 2
67712            #[inline(always)]
67713            pub fn cfg2(&self) -> CFG2_R {
67714                CFG2_R::new(((self.bits >> 4) & 0x0f) as u8)
67715            }
67716            ///Bits 0:3 - HW Generic 1
67717            #[inline(always)]
67718            pub fn cfg1(&self) -> CFG1_R {
67719                CFG1_R::new((self.bits & 0x0f) as u8)
67720            }
67721        }
67722    }
67723    ///AES version register
67724    ///
67725    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
67726    ///
67727    ///For information about available fields see [verr](verr) module
67728    pub type VERR = crate::Reg<u32, _VERR>;
67729    #[allow(missing_docs)]
67730    #[doc(hidden)]
67731    pub struct _VERR;
67732    ///`read()` method returns [verr::R](verr::R) reader structure
67733    impl crate::Readable for VERR {}
67734    ///AES version register
67735    pub mod verr {
67736        ///Reader of register VERR
67737        pub type R = crate::R<u32, super::VERR>;
67738        ///Reader of field `MAJREV`
67739        pub type MAJREV_R = crate::R<u8, u8>;
67740        ///Reader of field `MINREV`
67741        pub type MINREV_R = crate::R<u8, u8>;
67742        impl R {
67743            ///Bits 4:7 - Major revision
67744            #[inline(always)]
67745            pub fn majrev(&self) -> MAJREV_R {
67746                MAJREV_R::new(((self.bits >> 4) & 0x0f) as u8)
67747            }
67748            ///Bits 0:3 - Minor revision
67749            #[inline(always)]
67750            pub fn minrev(&self) -> MINREV_R {
67751                MINREV_R::new((self.bits & 0x0f) as u8)
67752            }
67753        }
67754    }
67755    ///AES identification register
67756    ///
67757    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
67758    ///
67759    ///For information about available fields see [ipidr](ipidr) module
67760    pub type IPIDR = crate::Reg<u32, _IPIDR>;
67761    #[allow(missing_docs)]
67762    #[doc(hidden)]
67763    pub struct _IPIDR;
67764    ///`read()` method returns [ipidr::R](ipidr::R) reader structure
67765    impl crate::Readable for IPIDR {}
67766    ///AES identification register
67767    pub mod ipidr {
67768        ///Reader of register IPIDR
67769        pub type R = crate::R<u32, super::IPIDR>;
67770        ///Reader of field `ID`
67771        pub type ID_R = crate::R<u32, u32>;
67772        impl R {
67773            ///Bits 0:31 - Identification code
67774            #[inline(always)]
67775            pub fn id(&self) -> ID_R {
67776                ID_R::new((self.bits & 0xffff_ffff) as u32)
67777            }
67778        }
67779    }
67780    ///AES size ID register
67781    ///
67782    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
67783    ///
67784    ///For information about available fields see [sidr](sidr) module
67785    pub type SIDR = crate::Reg<u32, _SIDR>;
67786    #[allow(missing_docs)]
67787    #[doc(hidden)]
67788    pub struct _SIDR;
67789    ///`read()` method returns [sidr::R](sidr::R) reader structure
67790    impl crate::Readable for SIDR {}
67791    ///AES size ID register
67792    pub mod sidr {
67793        ///Reader of register SIDR
67794        pub type R = crate::R<u32, super::SIDR>;
67795        ///Reader of field `ID`
67796        pub type ID_R = crate::R<u32, u32>;
67797        impl R {
67798            ///Bits 0:31 - Size Identification code
67799            #[inline(always)]
67800            pub fn id(&self) -> ID_R {
67801                ID_R::new((self.bits & 0xffff_ffff) as u32)
67802            }
67803        }
67804    }
67805}
67806///HSEM
67807pub struct HSEM {
67808    _marker: PhantomData<*const ()>,
67809}
67810unsafe impl Send for HSEM {}
67811impl HSEM {
67812    ///Returns a pointer to the register block
67813    #[inline(always)]
67814    pub const fn ptr() -> *const hsem::RegisterBlock {
67815        0x5800_1400 as *const _
67816    }
67817}
67818impl Deref for HSEM {
67819    type Target = hsem::RegisterBlock;
67820    #[inline(always)]
67821    fn deref(&self) -> &Self::Target {
67822        unsafe { &*HSEM::ptr() }
67823    }
67824}
67825///HSEM
67826pub mod hsem {
67827    ///Register block
67828    #[repr(C)]
67829    pub struct RegisterBlock {
67830        ///0x00 - Semaphore 0 register
67831        pub r0: R0,
67832        ///0x04 - Semaphore 1 register
67833        pub r1: R1,
67834        ///0x08 - Semaphore 2 register
67835        pub r2: R2,
67836        ///0x0c - Semaphore 3 register
67837        pub r3: R3,
67838        ///0x10 - Semaphore 4 register
67839        pub r4: R4,
67840        ///0x14 - Semaphore 5 register
67841        pub r5: R5,
67842        ///0x18 - Semaphore 6 register
67843        pub r6: R6,
67844        ///0x1c - Semaphore 7 register
67845        pub r7: R7,
67846        ///0x20 - Semaphore 8 register
67847        pub r8: R8,
67848        ///0x24 - Semaphore 9 register
67849        pub r9: R9,
67850        ///0x28 - Semaphore 10 register
67851        pub r10: R10,
67852        ///0x2c - Semaphore 11 register
67853        pub r11: R11,
67854        ///0x30 - Semaphore 12 register
67855        pub r12: R12,
67856        ///0x34 - Semaphore 13 register
67857        pub r13: R13,
67858        ///0x38 - Semaphore 14 register
67859        pub r14: R14,
67860        ///0x3c - Semaphore 15 register
67861        pub r15: R15,
67862        ///0x40 - Semaphore 16 register
67863        pub r16: R16,
67864        ///0x44 - Semaphore 17 register
67865        pub r17: R17,
67866        ///0x48 - Semaphore 18 register
67867        pub r18: R18,
67868        ///0x4c - Semaphore 19 register
67869        pub r19: R19,
67870        ///0x50 - Semaphore 20 register
67871        pub r20: R20,
67872        ///0x54 - Semaphore 21 register
67873        pub r21: R21,
67874        ///0x58 - Semaphore 22 register
67875        pub r22: R22,
67876        ///0x5c - Semaphore 23 register
67877        pub r23: R23,
67878        ///0x60 - Semaphore 24 register
67879        pub r24: R24,
67880        ///0x64 - Semaphore 25 register
67881        pub r25: R25,
67882        ///0x68 - Semaphore 26 register
67883        pub r26: R26,
67884        ///0x6c - Semaphore 27 register
67885        pub r27: R27,
67886        ///0x70 - Semaphore 28 register
67887        pub r28: R28,
67888        ///0x74 - Semaphore 29 register
67889        pub r29: R29,
67890        ///0x78 - Semaphore 30 register
67891        pub r30: R30,
67892        ///0x7c - Semaphore 31 register
67893        pub r31: R31,
67894        ///0x80 - Semaphore 0 read lock register
67895        pub rlr0: RLR0,
67896        ///0x84 - Semaphore 1 read lock register
67897        pub rlr1: RLR1,
67898        ///0x88 - Semaphore 2 read lock register
67899        pub rlr2: RLR2,
67900        ///0x8c - Semaphore 3 read lock register
67901        pub rlr3: RLR3,
67902        ///0x90 - Semaphore 4 read lock read lock register
67903        pub rlr4: RLR4,
67904        ///0x94 - Semaphore 5 read lock register
67905        pub rlr5: RLR5,
67906        ///0x98 - Semaphore 6 read lock register
67907        pub rlr6: RLR6,
67908        ///0x9c - Semaphore 7 read lock register
67909        pub rlr7: RLR7,
67910        ///0xa0 - Semaphore 8 read lock register
67911        pub rlr8: RLR8,
67912        ///0xa4 - Semaphore 9 read lock register
67913        pub rlr9: RLR9,
67914        ///0xa8 - Semaphore 10 read lock register
67915        pub rlr10: RLR10,
67916        ///0xac - Semaphore 11 read lock register
67917        pub rlr11: RLR11,
67918        ///0xb0 - Semaphore 12 read lock register
67919        pub rlr12: RLR12,
67920        ///0xb4 - Semaphore 13 read lock register
67921        pub rlr13: RLR13,
67922        ///0xb8 - Semaphore 14 read lock register
67923        pub rlr14: RLR14,
67924        ///0xbc - Semaphore 15 read lock register
67925        pub rlr15: RLR15,
67926        ///0xc0 - Semaphore 16 read lock register
67927        pub rlr16: RLR16,
67928        ///0xc4 - Semaphore 17 read lock register
67929        pub rlr17: RLR17,
67930        ///0xc8 - Semaphore 18 read lock register
67931        pub rlr18: RLR18,
67932        ///0xcc - Semaphore 19 read lock register
67933        pub rlr19: RLR19,
67934        ///0xd0 - Semaphore 20 read lock register
67935        pub rlr20: RLR20,
67936        ///0xd4 - Semaphore 21 read lock register
67937        pub rlr21: RLR21,
67938        ///0xd8 - Semaphore 22 read lock register
67939        pub rlr22: RLR22,
67940        ///0xdc - Semaphore 23 read lock register
67941        pub rlr23: RLR23,
67942        ///0xe0 - Semaphore 24 read lock register
67943        pub rlr24: RLR24,
67944        ///0xe4 - Semaphore 25 read lock register
67945        pub rlr25: RLR25,
67946        ///0xe8 - Semaphore 26 read lock register
67947        pub rlr26: RLR26,
67948        ///0xec - Semaphore 27 read lock register
67949        pub rlr27: RLR27,
67950        ///0xf0 - Semaphore 28 read lock register
67951        pub rlr28: RLR28,
67952        ///0xf4 - Semaphore 29 read lock register
67953        pub rlr29: RLR29,
67954        ///0xf8 - Semaphore 30 read lock register
67955        pub rlr30: RLR30,
67956        ///0xfc - Semaphore 31 read lock register
67957        pub rlr31: RLR31,
67958        ///0x100 - HSEM Interrupt enable register
67959        pub c1ier: C1IER,
67960        ///0x104 - HSEM Interrupt clear register
67961        pub c1icr: C1ICR,
67962        ///0x108 - HSEM Interrupt status register
67963        pub c1isr: C1ISR,
67964        ///0x10c - HSEM Masked interrupt status register
67965        pub c1misr: C1MISR,
67966        ///0x110 - HSEM Interrupt enable register
67967        pub c2ier: C2IER,
67968        ///0x114 - HSEM Interrupt clear register
67969        pub c2icr: C2ICR,
67970        ///0x118 - HSEM Interrupt status register
67971        pub c2isr: C2ISR,
67972        ///0x11c - HSEM Masked interrupt status register
67973        pub c2misr: C2MISR,
67974        _reserved72: [u8; 32usize],
67975        ///0x140 - Semaphore Clear register
67976        pub cr: CR,
67977        ///0x144 - Interrupt clear register
67978        pub keyr: KEYR,
67979        _reserved74: [u8; 676usize],
67980        ///0x3ec - Semaphore hardware configuration register 2
67981        pub hwcfgr2: HWCFGR2,
67982        ///0x3f0 - Semaphore hardware configuration register 1
67983        pub hwcfgr1: HWCFGR1,
67984        ///0x3f4 - HSEM version register
67985        pub verr: VERR,
67986        ///0x3f8 - HSEM indentification register
67987        pub ipidr: IPIDR,
67988        ///0x3fc - HSEM size indentification register
67989        pub sidr: SIDR,
67990    }
67991    ///Semaphore 0 register
67992    ///
67993    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
67994    ///
67995    ///For information about available fields see [r0](r0) module
67996    pub type R0 = crate::Reg<u32, _R0>;
67997    #[allow(missing_docs)]
67998    #[doc(hidden)]
67999    pub struct _R0;
68000    ///`read()` method returns [r0::R](r0::R) reader structure
68001    impl crate::Readable for R0 {}
68002    ///`write(|w| ..)` method takes [r0::W](r0::W) writer structure
68003    impl crate::Writable for R0 {}
68004    ///Semaphore 0 register
68005    pub mod r0 {
68006        ///Reader of register R0
68007        pub type R = crate::R<u32, super::R0>;
68008        ///Writer for register R0
68009        pub type W = crate::W<u32, super::R0>;
68010        ///Register R0 `reset()`'s with value 0
68011        impl crate::ResetValue for super::R0 {
68012            type Type = u32;
68013            #[inline(always)]
68014            fn reset_value() -> Self::Type {
68015                0
68016            }
68017        }
68018        ///Reader of field `LOCK`
68019        pub type LOCK_R = crate::R<bool, bool>;
68020        ///Write proxy for field `LOCK`
68021        pub struct LOCK_W<'a> {
68022            w: &'a mut W,
68023        }
68024        impl<'a> LOCK_W<'a> {
68025            ///Sets the field bit
68026            #[inline(always)]
68027            pub fn set_bit(self) -> &'a mut W {
68028                self.bit(true)
68029            }
68030            ///Clears the field bit
68031            #[inline(always)]
68032            pub fn clear_bit(self) -> &'a mut W {
68033                self.bit(false)
68034            }
68035            ///Writes raw bits to the field
68036            #[inline(always)]
68037            pub fn bit(self, value: bool) -> &'a mut W {
68038                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
68039                self.w
68040            }
68041        }
68042        ///Reader of field `COREID`
68043        pub type COREID_R = crate::R<u8, u8>;
68044        ///Write proxy for field `COREID`
68045        pub struct COREID_W<'a> {
68046            w: &'a mut W,
68047        }
68048        impl<'a> COREID_W<'a> {
68049            ///Writes raw bits to the field
68050            #[inline(always)]
68051            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68052                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
68053                self.w
68054            }
68055        }
68056        ///Reader of field `PROCID`
68057        pub type PROCID_R = crate::R<u8, u8>;
68058        ///Write proxy for field `PROCID`
68059        pub struct PROCID_W<'a> {
68060            w: &'a mut W,
68061        }
68062        impl<'a> PROCID_W<'a> {
68063            ///Writes raw bits to the field
68064            #[inline(always)]
68065            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68066                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
68067                self.w
68068            }
68069        }
68070        impl R {
68071            ///Bit 31 - lock indication
68072            #[inline(always)]
68073            pub fn lock(&self) -> LOCK_R {
68074                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
68075            }
68076            ///Bits 8:11 - Semaphore CoreID
68077            #[inline(always)]
68078            pub fn coreid(&self) -> COREID_R {
68079                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
68080            }
68081            ///Bits 0:7 - Semaphore ProcessID
68082            #[inline(always)]
68083            pub fn procid(&self) -> PROCID_R {
68084                PROCID_R::new((self.bits & 0xff) as u8)
68085            }
68086        }
68087        impl W {
68088            ///Bit 31 - lock indication
68089            #[inline(always)]
68090            pub fn lock(&mut self) -> LOCK_W {
68091                LOCK_W { w: self }
68092            }
68093            ///Bits 8:11 - Semaphore CoreID
68094            #[inline(always)]
68095            pub fn coreid(&mut self) -> COREID_W {
68096                COREID_W { w: self }
68097            }
68098            ///Bits 0:7 - Semaphore ProcessID
68099            #[inline(always)]
68100            pub fn procid(&mut self) -> PROCID_W {
68101                PROCID_W { w: self }
68102            }
68103        }
68104    }
68105    ///Semaphore 1 register
68106    ///
68107    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
68108    ///
68109    ///For information about available fields see [r1](r1) module
68110    pub type R1 = crate::Reg<u32, _R1>;
68111    #[allow(missing_docs)]
68112    #[doc(hidden)]
68113    pub struct _R1;
68114    ///`read()` method returns [r1::R](r1::R) reader structure
68115    impl crate::Readable for R1 {}
68116    ///`write(|w| ..)` method takes [r1::W](r1::W) writer structure
68117    impl crate::Writable for R1 {}
68118    ///Semaphore 1 register
68119    pub mod r1 {
68120        ///Reader of register R1
68121        pub type R = crate::R<u32, super::R1>;
68122        ///Writer for register R1
68123        pub type W = crate::W<u32, super::R1>;
68124        ///Register R1 `reset()`'s with value 0
68125        impl crate::ResetValue for super::R1 {
68126            type Type = u32;
68127            #[inline(always)]
68128            fn reset_value() -> Self::Type {
68129                0
68130            }
68131        }
68132        ///Reader of field `LOCK`
68133        pub type LOCK_R = crate::R<bool, bool>;
68134        ///Write proxy for field `LOCK`
68135        pub struct LOCK_W<'a> {
68136            w: &'a mut W,
68137        }
68138        impl<'a> LOCK_W<'a> {
68139            ///Sets the field bit
68140            #[inline(always)]
68141            pub fn set_bit(self) -> &'a mut W {
68142                self.bit(true)
68143            }
68144            ///Clears the field bit
68145            #[inline(always)]
68146            pub fn clear_bit(self) -> &'a mut W {
68147                self.bit(false)
68148            }
68149            ///Writes raw bits to the field
68150            #[inline(always)]
68151            pub fn bit(self, value: bool) -> &'a mut W {
68152                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
68153                self.w
68154            }
68155        }
68156        ///Reader of field `COREID`
68157        pub type COREID_R = crate::R<u8, u8>;
68158        ///Write proxy for field `COREID`
68159        pub struct COREID_W<'a> {
68160            w: &'a mut W,
68161        }
68162        impl<'a> COREID_W<'a> {
68163            ///Writes raw bits to the field
68164            #[inline(always)]
68165            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68166                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
68167                self.w
68168            }
68169        }
68170        ///Reader of field `PROCID`
68171        pub type PROCID_R = crate::R<u8, u8>;
68172        ///Write proxy for field `PROCID`
68173        pub struct PROCID_W<'a> {
68174            w: &'a mut W,
68175        }
68176        impl<'a> PROCID_W<'a> {
68177            ///Writes raw bits to the field
68178            #[inline(always)]
68179            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68180                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
68181                self.w
68182            }
68183        }
68184        impl R {
68185            ///Bit 31 - lock indication
68186            #[inline(always)]
68187            pub fn lock(&self) -> LOCK_R {
68188                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
68189            }
68190            ///Bits 8:11 - Semaphore CoreID
68191            #[inline(always)]
68192            pub fn coreid(&self) -> COREID_R {
68193                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
68194            }
68195            ///Bits 0:7 - Semaphore ProcessID
68196            #[inline(always)]
68197            pub fn procid(&self) -> PROCID_R {
68198                PROCID_R::new((self.bits & 0xff) as u8)
68199            }
68200        }
68201        impl W {
68202            ///Bit 31 - lock indication
68203            #[inline(always)]
68204            pub fn lock(&mut self) -> LOCK_W {
68205                LOCK_W { w: self }
68206            }
68207            ///Bits 8:11 - Semaphore CoreID
68208            #[inline(always)]
68209            pub fn coreid(&mut self) -> COREID_W {
68210                COREID_W { w: self }
68211            }
68212            ///Bits 0:7 - Semaphore ProcessID
68213            #[inline(always)]
68214            pub fn procid(&mut self) -> PROCID_W {
68215                PROCID_W { w: self }
68216            }
68217        }
68218    }
68219    ///Semaphore 2 register
68220    ///
68221    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
68222    ///
68223    ///For information about available fields see [r2](r2) module
68224    pub type R2 = crate::Reg<u32, _R2>;
68225    #[allow(missing_docs)]
68226    #[doc(hidden)]
68227    pub struct _R2;
68228    ///`read()` method returns [r2::R](r2::R) reader structure
68229    impl crate::Readable for R2 {}
68230    ///`write(|w| ..)` method takes [r2::W](r2::W) writer structure
68231    impl crate::Writable for R2 {}
68232    ///Semaphore 2 register
68233    pub mod r2 {
68234        ///Reader of register R2
68235        pub type R = crate::R<u32, super::R2>;
68236        ///Writer for register R2
68237        pub type W = crate::W<u32, super::R2>;
68238        ///Register R2 `reset()`'s with value 0
68239        impl crate::ResetValue for super::R2 {
68240            type Type = u32;
68241            #[inline(always)]
68242            fn reset_value() -> Self::Type {
68243                0
68244            }
68245        }
68246        ///Reader of field `LOCK`
68247        pub type LOCK_R = crate::R<bool, bool>;
68248        ///Write proxy for field `LOCK`
68249        pub struct LOCK_W<'a> {
68250            w: &'a mut W,
68251        }
68252        impl<'a> LOCK_W<'a> {
68253            ///Sets the field bit
68254            #[inline(always)]
68255            pub fn set_bit(self) -> &'a mut W {
68256                self.bit(true)
68257            }
68258            ///Clears the field bit
68259            #[inline(always)]
68260            pub fn clear_bit(self) -> &'a mut W {
68261                self.bit(false)
68262            }
68263            ///Writes raw bits to the field
68264            #[inline(always)]
68265            pub fn bit(self, value: bool) -> &'a mut W {
68266                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
68267                self.w
68268            }
68269        }
68270        ///Reader of field `COREID`
68271        pub type COREID_R = crate::R<u8, u8>;
68272        ///Write proxy for field `COREID`
68273        pub struct COREID_W<'a> {
68274            w: &'a mut W,
68275        }
68276        impl<'a> COREID_W<'a> {
68277            ///Writes raw bits to the field
68278            #[inline(always)]
68279            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68280                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
68281                self.w
68282            }
68283        }
68284        ///Reader of field `PROCID`
68285        pub type PROCID_R = crate::R<u8, u8>;
68286        ///Write proxy for field `PROCID`
68287        pub struct PROCID_W<'a> {
68288            w: &'a mut W,
68289        }
68290        impl<'a> PROCID_W<'a> {
68291            ///Writes raw bits to the field
68292            #[inline(always)]
68293            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68294                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
68295                self.w
68296            }
68297        }
68298        impl R {
68299            ///Bit 31 - lock indication
68300            #[inline(always)]
68301            pub fn lock(&self) -> LOCK_R {
68302                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
68303            }
68304            ///Bits 8:11 - Semaphore CoreID
68305            #[inline(always)]
68306            pub fn coreid(&self) -> COREID_R {
68307                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
68308            }
68309            ///Bits 0:7 - Semaphore ProcessID
68310            #[inline(always)]
68311            pub fn procid(&self) -> PROCID_R {
68312                PROCID_R::new((self.bits & 0xff) as u8)
68313            }
68314        }
68315        impl W {
68316            ///Bit 31 - lock indication
68317            #[inline(always)]
68318            pub fn lock(&mut self) -> LOCK_W {
68319                LOCK_W { w: self }
68320            }
68321            ///Bits 8:11 - Semaphore CoreID
68322            #[inline(always)]
68323            pub fn coreid(&mut self) -> COREID_W {
68324                COREID_W { w: self }
68325            }
68326            ///Bits 0:7 - Semaphore ProcessID
68327            #[inline(always)]
68328            pub fn procid(&mut self) -> PROCID_W {
68329                PROCID_W { w: self }
68330            }
68331        }
68332    }
68333    ///Semaphore 3 register
68334    ///
68335    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
68336    ///
68337    ///For information about available fields see [r3](r3) module
68338    pub type R3 = crate::Reg<u32, _R3>;
68339    #[allow(missing_docs)]
68340    #[doc(hidden)]
68341    pub struct _R3;
68342    ///`read()` method returns [r3::R](r3::R) reader structure
68343    impl crate::Readable for R3 {}
68344    ///`write(|w| ..)` method takes [r3::W](r3::W) writer structure
68345    impl crate::Writable for R3 {}
68346    ///Semaphore 3 register
68347    pub mod r3 {
68348        ///Reader of register R3
68349        pub type R = crate::R<u32, super::R3>;
68350        ///Writer for register R3
68351        pub type W = crate::W<u32, super::R3>;
68352        ///Register R3 `reset()`'s with value 0
68353        impl crate::ResetValue for super::R3 {
68354            type Type = u32;
68355            #[inline(always)]
68356            fn reset_value() -> Self::Type {
68357                0
68358            }
68359        }
68360        ///Reader of field `LOCK`
68361        pub type LOCK_R = crate::R<bool, bool>;
68362        ///Write proxy for field `LOCK`
68363        pub struct LOCK_W<'a> {
68364            w: &'a mut W,
68365        }
68366        impl<'a> LOCK_W<'a> {
68367            ///Sets the field bit
68368            #[inline(always)]
68369            pub fn set_bit(self) -> &'a mut W {
68370                self.bit(true)
68371            }
68372            ///Clears the field bit
68373            #[inline(always)]
68374            pub fn clear_bit(self) -> &'a mut W {
68375                self.bit(false)
68376            }
68377            ///Writes raw bits to the field
68378            #[inline(always)]
68379            pub fn bit(self, value: bool) -> &'a mut W {
68380                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
68381                self.w
68382            }
68383        }
68384        ///Reader of field `COREID`
68385        pub type COREID_R = crate::R<u8, u8>;
68386        ///Write proxy for field `COREID`
68387        pub struct COREID_W<'a> {
68388            w: &'a mut W,
68389        }
68390        impl<'a> COREID_W<'a> {
68391            ///Writes raw bits to the field
68392            #[inline(always)]
68393            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68394                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
68395                self.w
68396            }
68397        }
68398        ///Reader of field `PROCID`
68399        pub type PROCID_R = crate::R<u8, u8>;
68400        ///Write proxy for field `PROCID`
68401        pub struct PROCID_W<'a> {
68402            w: &'a mut W,
68403        }
68404        impl<'a> PROCID_W<'a> {
68405            ///Writes raw bits to the field
68406            #[inline(always)]
68407            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68408                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
68409                self.w
68410            }
68411        }
68412        impl R {
68413            ///Bit 31 - lock indication
68414            #[inline(always)]
68415            pub fn lock(&self) -> LOCK_R {
68416                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
68417            }
68418            ///Bits 8:11 - Semaphore CoreID
68419            #[inline(always)]
68420            pub fn coreid(&self) -> COREID_R {
68421                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
68422            }
68423            ///Bits 0:7 - Semaphore ProcessID
68424            #[inline(always)]
68425            pub fn procid(&self) -> PROCID_R {
68426                PROCID_R::new((self.bits & 0xff) as u8)
68427            }
68428        }
68429        impl W {
68430            ///Bit 31 - lock indication
68431            #[inline(always)]
68432            pub fn lock(&mut self) -> LOCK_W {
68433                LOCK_W { w: self }
68434            }
68435            ///Bits 8:11 - Semaphore CoreID
68436            #[inline(always)]
68437            pub fn coreid(&mut self) -> COREID_W {
68438                COREID_W { w: self }
68439            }
68440            ///Bits 0:7 - Semaphore ProcessID
68441            #[inline(always)]
68442            pub fn procid(&mut self) -> PROCID_W {
68443                PROCID_W { w: self }
68444            }
68445        }
68446    }
68447    ///Semaphore 4 register
68448    ///
68449    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
68450    ///
68451    ///For information about available fields see [r4](r4) module
68452    pub type R4 = crate::Reg<u32, _R4>;
68453    #[allow(missing_docs)]
68454    #[doc(hidden)]
68455    pub struct _R4;
68456    ///`read()` method returns [r4::R](r4::R) reader structure
68457    impl crate::Readable for R4 {}
68458    ///`write(|w| ..)` method takes [r4::W](r4::W) writer structure
68459    impl crate::Writable for R4 {}
68460    ///Semaphore 4 register
68461    pub mod r4 {
68462        ///Reader of register R4
68463        pub type R = crate::R<u32, super::R4>;
68464        ///Writer for register R4
68465        pub type W = crate::W<u32, super::R4>;
68466        ///Register R4 `reset()`'s with value 0
68467        impl crate::ResetValue for super::R4 {
68468            type Type = u32;
68469            #[inline(always)]
68470            fn reset_value() -> Self::Type {
68471                0
68472            }
68473        }
68474        ///Reader of field `LOCK`
68475        pub type LOCK_R = crate::R<bool, bool>;
68476        ///Write proxy for field `LOCK`
68477        pub struct LOCK_W<'a> {
68478            w: &'a mut W,
68479        }
68480        impl<'a> LOCK_W<'a> {
68481            ///Sets the field bit
68482            #[inline(always)]
68483            pub fn set_bit(self) -> &'a mut W {
68484                self.bit(true)
68485            }
68486            ///Clears the field bit
68487            #[inline(always)]
68488            pub fn clear_bit(self) -> &'a mut W {
68489                self.bit(false)
68490            }
68491            ///Writes raw bits to the field
68492            #[inline(always)]
68493            pub fn bit(self, value: bool) -> &'a mut W {
68494                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
68495                self.w
68496            }
68497        }
68498        ///Reader of field `COREID`
68499        pub type COREID_R = crate::R<u8, u8>;
68500        ///Write proxy for field `COREID`
68501        pub struct COREID_W<'a> {
68502            w: &'a mut W,
68503        }
68504        impl<'a> COREID_W<'a> {
68505            ///Writes raw bits to the field
68506            #[inline(always)]
68507            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68508                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
68509                self.w
68510            }
68511        }
68512        ///Reader of field `PROCID`
68513        pub type PROCID_R = crate::R<u8, u8>;
68514        ///Write proxy for field `PROCID`
68515        pub struct PROCID_W<'a> {
68516            w: &'a mut W,
68517        }
68518        impl<'a> PROCID_W<'a> {
68519            ///Writes raw bits to the field
68520            #[inline(always)]
68521            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68522                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
68523                self.w
68524            }
68525        }
68526        impl R {
68527            ///Bit 31 - lock indication
68528            #[inline(always)]
68529            pub fn lock(&self) -> LOCK_R {
68530                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
68531            }
68532            ///Bits 8:11 - Semaphore CoreID
68533            #[inline(always)]
68534            pub fn coreid(&self) -> COREID_R {
68535                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
68536            }
68537            ///Bits 0:7 - Semaphore ProcessID
68538            #[inline(always)]
68539            pub fn procid(&self) -> PROCID_R {
68540                PROCID_R::new((self.bits & 0xff) as u8)
68541            }
68542        }
68543        impl W {
68544            ///Bit 31 - lock indication
68545            #[inline(always)]
68546            pub fn lock(&mut self) -> LOCK_W {
68547                LOCK_W { w: self }
68548            }
68549            ///Bits 8:11 - Semaphore CoreID
68550            #[inline(always)]
68551            pub fn coreid(&mut self) -> COREID_W {
68552                COREID_W { w: self }
68553            }
68554            ///Bits 0:7 - Semaphore ProcessID
68555            #[inline(always)]
68556            pub fn procid(&mut self) -> PROCID_W {
68557                PROCID_W { w: self }
68558            }
68559        }
68560    }
68561    ///Semaphore 5 register
68562    ///
68563    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
68564    ///
68565    ///For information about available fields see [r5](r5) module
68566    pub type R5 = crate::Reg<u32, _R5>;
68567    #[allow(missing_docs)]
68568    #[doc(hidden)]
68569    pub struct _R5;
68570    ///`read()` method returns [r5::R](r5::R) reader structure
68571    impl crate::Readable for R5 {}
68572    ///`write(|w| ..)` method takes [r5::W](r5::W) writer structure
68573    impl crate::Writable for R5 {}
68574    ///Semaphore 5 register
68575    pub mod r5 {
68576        ///Reader of register R5
68577        pub type R = crate::R<u32, super::R5>;
68578        ///Writer for register R5
68579        pub type W = crate::W<u32, super::R5>;
68580        ///Register R5 `reset()`'s with value 0
68581        impl crate::ResetValue for super::R5 {
68582            type Type = u32;
68583            #[inline(always)]
68584            fn reset_value() -> Self::Type {
68585                0
68586            }
68587        }
68588        ///Reader of field `LOCK`
68589        pub type LOCK_R = crate::R<bool, bool>;
68590        ///Write proxy for field `LOCK`
68591        pub struct LOCK_W<'a> {
68592            w: &'a mut W,
68593        }
68594        impl<'a> LOCK_W<'a> {
68595            ///Sets the field bit
68596            #[inline(always)]
68597            pub fn set_bit(self) -> &'a mut W {
68598                self.bit(true)
68599            }
68600            ///Clears the field bit
68601            #[inline(always)]
68602            pub fn clear_bit(self) -> &'a mut W {
68603                self.bit(false)
68604            }
68605            ///Writes raw bits to the field
68606            #[inline(always)]
68607            pub fn bit(self, value: bool) -> &'a mut W {
68608                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
68609                self.w
68610            }
68611        }
68612        ///Reader of field `COREID`
68613        pub type COREID_R = crate::R<u8, u8>;
68614        ///Write proxy for field `COREID`
68615        pub struct COREID_W<'a> {
68616            w: &'a mut W,
68617        }
68618        impl<'a> COREID_W<'a> {
68619            ///Writes raw bits to the field
68620            #[inline(always)]
68621            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68622                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
68623                self.w
68624            }
68625        }
68626        ///Reader of field `PROCID`
68627        pub type PROCID_R = crate::R<u8, u8>;
68628        ///Write proxy for field `PROCID`
68629        pub struct PROCID_W<'a> {
68630            w: &'a mut W,
68631        }
68632        impl<'a> PROCID_W<'a> {
68633            ///Writes raw bits to the field
68634            #[inline(always)]
68635            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68636                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
68637                self.w
68638            }
68639        }
68640        impl R {
68641            ///Bit 31 - lock indication
68642            #[inline(always)]
68643            pub fn lock(&self) -> LOCK_R {
68644                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
68645            }
68646            ///Bits 8:11 - Semaphore CoreID
68647            #[inline(always)]
68648            pub fn coreid(&self) -> COREID_R {
68649                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
68650            }
68651            ///Bits 0:7 - Semaphore ProcessID
68652            #[inline(always)]
68653            pub fn procid(&self) -> PROCID_R {
68654                PROCID_R::new((self.bits & 0xff) as u8)
68655            }
68656        }
68657        impl W {
68658            ///Bit 31 - lock indication
68659            #[inline(always)]
68660            pub fn lock(&mut self) -> LOCK_W {
68661                LOCK_W { w: self }
68662            }
68663            ///Bits 8:11 - Semaphore CoreID
68664            #[inline(always)]
68665            pub fn coreid(&mut self) -> COREID_W {
68666                COREID_W { w: self }
68667            }
68668            ///Bits 0:7 - Semaphore ProcessID
68669            #[inline(always)]
68670            pub fn procid(&mut self) -> PROCID_W {
68671                PROCID_W { w: self }
68672            }
68673        }
68674    }
68675    ///Semaphore 6 register
68676    ///
68677    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
68678    ///
68679    ///For information about available fields see [r6](r6) module
68680    pub type R6 = crate::Reg<u32, _R6>;
68681    #[allow(missing_docs)]
68682    #[doc(hidden)]
68683    pub struct _R6;
68684    ///`read()` method returns [r6::R](r6::R) reader structure
68685    impl crate::Readable for R6 {}
68686    ///`write(|w| ..)` method takes [r6::W](r6::W) writer structure
68687    impl crate::Writable for R6 {}
68688    ///Semaphore 6 register
68689    pub mod r6 {
68690        ///Reader of register R6
68691        pub type R = crate::R<u32, super::R6>;
68692        ///Writer for register R6
68693        pub type W = crate::W<u32, super::R6>;
68694        ///Register R6 `reset()`'s with value 0
68695        impl crate::ResetValue for super::R6 {
68696            type Type = u32;
68697            #[inline(always)]
68698            fn reset_value() -> Self::Type {
68699                0
68700            }
68701        }
68702        ///Reader of field `LOCK`
68703        pub type LOCK_R = crate::R<bool, bool>;
68704        ///Write proxy for field `LOCK`
68705        pub struct LOCK_W<'a> {
68706            w: &'a mut W,
68707        }
68708        impl<'a> LOCK_W<'a> {
68709            ///Sets the field bit
68710            #[inline(always)]
68711            pub fn set_bit(self) -> &'a mut W {
68712                self.bit(true)
68713            }
68714            ///Clears the field bit
68715            #[inline(always)]
68716            pub fn clear_bit(self) -> &'a mut W {
68717                self.bit(false)
68718            }
68719            ///Writes raw bits to the field
68720            #[inline(always)]
68721            pub fn bit(self, value: bool) -> &'a mut W {
68722                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
68723                self.w
68724            }
68725        }
68726        ///Reader of field `COREID`
68727        pub type COREID_R = crate::R<u8, u8>;
68728        ///Write proxy for field `COREID`
68729        pub struct COREID_W<'a> {
68730            w: &'a mut W,
68731        }
68732        impl<'a> COREID_W<'a> {
68733            ///Writes raw bits to the field
68734            #[inline(always)]
68735            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68736                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
68737                self.w
68738            }
68739        }
68740        ///Reader of field `PROCID`
68741        pub type PROCID_R = crate::R<u8, u8>;
68742        ///Write proxy for field `PROCID`
68743        pub struct PROCID_W<'a> {
68744            w: &'a mut W,
68745        }
68746        impl<'a> PROCID_W<'a> {
68747            ///Writes raw bits to the field
68748            #[inline(always)]
68749            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68750                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
68751                self.w
68752            }
68753        }
68754        impl R {
68755            ///Bit 31 - lock indication
68756            #[inline(always)]
68757            pub fn lock(&self) -> LOCK_R {
68758                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
68759            }
68760            ///Bits 8:11 - Semaphore CoreID
68761            #[inline(always)]
68762            pub fn coreid(&self) -> COREID_R {
68763                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
68764            }
68765            ///Bits 0:7 - Semaphore ProcessID
68766            #[inline(always)]
68767            pub fn procid(&self) -> PROCID_R {
68768                PROCID_R::new((self.bits & 0xff) as u8)
68769            }
68770        }
68771        impl W {
68772            ///Bit 31 - lock indication
68773            #[inline(always)]
68774            pub fn lock(&mut self) -> LOCK_W {
68775                LOCK_W { w: self }
68776            }
68777            ///Bits 8:11 - Semaphore CoreID
68778            #[inline(always)]
68779            pub fn coreid(&mut self) -> COREID_W {
68780                COREID_W { w: self }
68781            }
68782            ///Bits 0:7 - Semaphore ProcessID
68783            #[inline(always)]
68784            pub fn procid(&mut self) -> PROCID_W {
68785                PROCID_W { w: self }
68786            }
68787        }
68788    }
68789    ///Semaphore 7 register
68790    ///
68791    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
68792    ///
68793    ///For information about available fields see [r7](r7) module
68794    pub type R7 = crate::Reg<u32, _R7>;
68795    #[allow(missing_docs)]
68796    #[doc(hidden)]
68797    pub struct _R7;
68798    ///`read()` method returns [r7::R](r7::R) reader structure
68799    impl crate::Readable for R7 {}
68800    ///`write(|w| ..)` method takes [r7::W](r7::W) writer structure
68801    impl crate::Writable for R7 {}
68802    ///Semaphore 7 register
68803    pub mod r7 {
68804        ///Reader of register R7
68805        pub type R = crate::R<u32, super::R7>;
68806        ///Writer for register R7
68807        pub type W = crate::W<u32, super::R7>;
68808        ///Register R7 `reset()`'s with value 0
68809        impl crate::ResetValue for super::R7 {
68810            type Type = u32;
68811            #[inline(always)]
68812            fn reset_value() -> Self::Type {
68813                0
68814            }
68815        }
68816        ///Reader of field `LOCK`
68817        pub type LOCK_R = crate::R<bool, bool>;
68818        ///Write proxy for field `LOCK`
68819        pub struct LOCK_W<'a> {
68820            w: &'a mut W,
68821        }
68822        impl<'a> LOCK_W<'a> {
68823            ///Sets the field bit
68824            #[inline(always)]
68825            pub fn set_bit(self) -> &'a mut W {
68826                self.bit(true)
68827            }
68828            ///Clears the field bit
68829            #[inline(always)]
68830            pub fn clear_bit(self) -> &'a mut W {
68831                self.bit(false)
68832            }
68833            ///Writes raw bits to the field
68834            #[inline(always)]
68835            pub fn bit(self, value: bool) -> &'a mut W {
68836                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
68837                self.w
68838            }
68839        }
68840        ///Reader of field `COREID`
68841        pub type COREID_R = crate::R<u8, u8>;
68842        ///Write proxy for field `COREID`
68843        pub struct COREID_W<'a> {
68844            w: &'a mut W,
68845        }
68846        impl<'a> COREID_W<'a> {
68847            ///Writes raw bits to the field
68848            #[inline(always)]
68849            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68850                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
68851                self.w
68852            }
68853        }
68854        ///Reader of field `PROCID`
68855        pub type PROCID_R = crate::R<u8, u8>;
68856        ///Write proxy for field `PROCID`
68857        pub struct PROCID_W<'a> {
68858            w: &'a mut W,
68859        }
68860        impl<'a> PROCID_W<'a> {
68861            ///Writes raw bits to the field
68862            #[inline(always)]
68863            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68864                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
68865                self.w
68866            }
68867        }
68868        impl R {
68869            ///Bit 31 - lock indication
68870            #[inline(always)]
68871            pub fn lock(&self) -> LOCK_R {
68872                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
68873            }
68874            ///Bits 8:11 - Semaphore CoreID
68875            #[inline(always)]
68876            pub fn coreid(&self) -> COREID_R {
68877                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
68878            }
68879            ///Bits 0:7 - Semaphore ProcessID
68880            #[inline(always)]
68881            pub fn procid(&self) -> PROCID_R {
68882                PROCID_R::new((self.bits & 0xff) as u8)
68883            }
68884        }
68885        impl W {
68886            ///Bit 31 - lock indication
68887            #[inline(always)]
68888            pub fn lock(&mut self) -> LOCK_W {
68889                LOCK_W { w: self }
68890            }
68891            ///Bits 8:11 - Semaphore CoreID
68892            #[inline(always)]
68893            pub fn coreid(&mut self) -> COREID_W {
68894                COREID_W { w: self }
68895            }
68896            ///Bits 0:7 - Semaphore ProcessID
68897            #[inline(always)]
68898            pub fn procid(&mut self) -> PROCID_W {
68899                PROCID_W { w: self }
68900            }
68901        }
68902    }
68903    ///Semaphore 8 register
68904    ///
68905    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
68906    ///
68907    ///For information about available fields see [r8](r8) module
68908    pub type R8 = crate::Reg<u32, _R8>;
68909    #[allow(missing_docs)]
68910    #[doc(hidden)]
68911    pub struct _R8;
68912    ///`read()` method returns [r8::R](r8::R) reader structure
68913    impl crate::Readable for R8 {}
68914    ///`write(|w| ..)` method takes [r8::W](r8::W) writer structure
68915    impl crate::Writable for R8 {}
68916    ///Semaphore 8 register
68917    pub mod r8 {
68918        ///Reader of register R8
68919        pub type R = crate::R<u32, super::R8>;
68920        ///Writer for register R8
68921        pub type W = crate::W<u32, super::R8>;
68922        ///Register R8 `reset()`'s with value 0
68923        impl crate::ResetValue for super::R8 {
68924            type Type = u32;
68925            #[inline(always)]
68926            fn reset_value() -> Self::Type {
68927                0
68928            }
68929        }
68930        ///Reader of field `LOCK`
68931        pub type LOCK_R = crate::R<bool, bool>;
68932        ///Write proxy for field `LOCK`
68933        pub struct LOCK_W<'a> {
68934            w: &'a mut W,
68935        }
68936        impl<'a> LOCK_W<'a> {
68937            ///Sets the field bit
68938            #[inline(always)]
68939            pub fn set_bit(self) -> &'a mut W {
68940                self.bit(true)
68941            }
68942            ///Clears the field bit
68943            #[inline(always)]
68944            pub fn clear_bit(self) -> &'a mut W {
68945                self.bit(false)
68946            }
68947            ///Writes raw bits to the field
68948            #[inline(always)]
68949            pub fn bit(self, value: bool) -> &'a mut W {
68950                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
68951                self.w
68952            }
68953        }
68954        ///Reader of field `COREID`
68955        pub type COREID_R = crate::R<u8, u8>;
68956        ///Write proxy for field `COREID`
68957        pub struct COREID_W<'a> {
68958            w: &'a mut W,
68959        }
68960        impl<'a> COREID_W<'a> {
68961            ///Writes raw bits to the field
68962            #[inline(always)]
68963            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68964                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
68965                self.w
68966            }
68967        }
68968        ///Reader of field `PROCID`
68969        pub type PROCID_R = crate::R<u8, u8>;
68970        ///Write proxy for field `PROCID`
68971        pub struct PROCID_W<'a> {
68972            w: &'a mut W,
68973        }
68974        impl<'a> PROCID_W<'a> {
68975            ///Writes raw bits to the field
68976            #[inline(always)]
68977            pub unsafe fn bits(self, value: u8) -> &'a mut W {
68978                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
68979                self.w
68980            }
68981        }
68982        impl R {
68983            ///Bit 31 - lock indication
68984            #[inline(always)]
68985            pub fn lock(&self) -> LOCK_R {
68986                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
68987            }
68988            ///Bits 8:11 - Semaphore CoreID
68989            #[inline(always)]
68990            pub fn coreid(&self) -> COREID_R {
68991                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
68992            }
68993            ///Bits 0:7 - Semaphore ProcessID
68994            #[inline(always)]
68995            pub fn procid(&self) -> PROCID_R {
68996                PROCID_R::new((self.bits & 0xff) as u8)
68997            }
68998        }
68999        impl W {
69000            ///Bit 31 - lock indication
69001            #[inline(always)]
69002            pub fn lock(&mut self) -> LOCK_W {
69003                LOCK_W { w: self }
69004            }
69005            ///Bits 8:11 - Semaphore CoreID
69006            #[inline(always)]
69007            pub fn coreid(&mut self) -> COREID_W {
69008                COREID_W { w: self }
69009            }
69010            ///Bits 0:7 - Semaphore ProcessID
69011            #[inline(always)]
69012            pub fn procid(&mut self) -> PROCID_W {
69013                PROCID_W { w: self }
69014            }
69015        }
69016    }
69017    ///Semaphore 9 register
69018    ///
69019    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
69020    ///
69021    ///For information about available fields see [r9](r9) module
69022    pub type R9 = crate::Reg<u32, _R9>;
69023    #[allow(missing_docs)]
69024    #[doc(hidden)]
69025    pub struct _R9;
69026    ///`read()` method returns [r9::R](r9::R) reader structure
69027    impl crate::Readable for R9 {}
69028    ///`write(|w| ..)` method takes [r9::W](r9::W) writer structure
69029    impl crate::Writable for R9 {}
69030    ///Semaphore 9 register
69031    pub mod r9 {
69032        ///Reader of register R9
69033        pub type R = crate::R<u32, super::R9>;
69034        ///Writer for register R9
69035        pub type W = crate::W<u32, super::R9>;
69036        ///Register R9 `reset()`'s with value 0
69037        impl crate::ResetValue for super::R9 {
69038            type Type = u32;
69039            #[inline(always)]
69040            fn reset_value() -> Self::Type {
69041                0
69042            }
69043        }
69044        ///Reader of field `LOCK`
69045        pub type LOCK_R = crate::R<bool, bool>;
69046        ///Write proxy for field `LOCK`
69047        pub struct LOCK_W<'a> {
69048            w: &'a mut W,
69049        }
69050        impl<'a> LOCK_W<'a> {
69051            ///Sets the field bit
69052            #[inline(always)]
69053            pub fn set_bit(self) -> &'a mut W {
69054                self.bit(true)
69055            }
69056            ///Clears the field bit
69057            #[inline(always)]
69058            pub fn clear_bit(self) -> &'a mut W {
69059                self.bit(false)
69060            }
69061            ///Writes raw bits to the field
69062            #[inline(always)]
69063            pub fn bit(self, value: bool) -> &'a mut W {
69064                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
69065                self.w
69066            }
69067        }
69068        ///Reader of field `COREID`
69069        pub type COREID_R = crate::R<u8, u8>;
69070        ///Write proxy for field `COREID`
69071        pub struct COREID_W<'a> {
69072            w: &'a mut W,
69073        }
69074        impl<'a> COREID_W<'a> {
69075            ///Writes raw bits to the field
69076            #[inline(always)]
69077            pub unsafe fn bits(self, value: u8) -> &'a mut W {
69078                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
69079                self.w
69080            }
69081        }
69082        ///Reader of field `PROCID`
69083        pub type PROCID_R = crate::R<u8, u8>;
69084        ///Write proxy for field `PROCID`
69085        pub struct PROCID_W<'a> {
69086            w: &'a mut W,
69087        }
69088        impl<'a> PROCID_W<'a> {
69089            ///Writes raw bits to the field
69090            #[inline(always)]
69091            pub unsafe fn bits(self, value: u8) -> &'a mut W {
69092                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
69093                self.w
69094            }
69095        }
69096        impl R {
69097            ///Bit 31 - lock indication
69098            #[inline(always)]
69099            pub fn lock(&self) -> LOCK_R {
69100                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
69101            }
69102            ///Bits 8:11 - Semaphore CoreID
69103            #[inline(always)]
69104            pub fn coreid(&self) -> COREID_R {
69105                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
69106            }
69107            ///Bits 0:7 - Semaphore ProcessID
69108            #[inline(always)]
69109            pub fn procid(&self) -> PROCID_R {
69110                PROCID_R::new((self.bits & 0xff) as u8)
69111            }
69112        }
69113        impl W {
69114            ///Bit 31 - lock indication
69115            #[inline(always)]
69116            pub fn lock(&mut self) -> LOCK_W {
69117                LOCK_W { w: self }
69118            }
69119            ///Bits 8:11 - Semaphore CoreID
69120            #[inline(always)]
69121            pub fn coreid(&mut self) -> COREID_W {
69122                COREID_W { w: self }
69123            }
69124            ///Bits 0:7 - Semaphore ProcessID
69125            #[inline(always)]
69126            pub fn procid(&mut self) -> PROCID_W {
69127                PROCID_W { w: self }
69128            }
69129        }
69130    }
69131    ///Semaphore 10 register
69132    ///
69133    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
69134    ///
69135    ///For information about available fields see [r10](r10) module
69136    pub type R10 = crate::Reg<u32, _R10>;
69137    #[allow(missing_docs)]
69138    #[doc(hidden)]
69139    pub struct _R10;
69140    ///`read()` method returns [r10::R](r10::R) reader structure
69141    impl crate::Readable for R10 {}
69142    ///`write(|w| ..)` method takes [r10::W](r10::W) writer structure
69143    impl crate::Writable for R10 {}
69144    ///Semaphore 10 register
69145    pub mod r10 {
69146        ///Reader of register R10
69147        pub type R = crate::R<u32, super::R10>;
69148        ///Writer for register R10
69149        pub type W = crate::W<u32, super::R10>;
69150        ///Register R10 `reset()`'s with value 0
69151        impl crate::ResetValue for super::R10 {
69152            type Type = u32;
69153            #[inline(always)]
69154            fn reset_value() -> Self::Type {
69155                0
69156            }
69157        }
69158        ///Reader of field `LOCK`
69159        pub type LOCK_R = crate::R<bool, bool>;
69160        ///Write proxy for field `LOCK`
69161        pub struct LOCK_W<'a> {
69162            w: &'a mut W,
69163        }
69164        impl<'a> LOCK_W<'a> {
69165            ///Sets the field bit
69166            #[inline(always)]
69167            pub fn set_bit(self) -> &'a mut W {
69168                self.bit(true)
69169            }
69170            ///Clears the field bit
69171            #[inline(always)]
69172            pub fn clear_bit(self) -> &'a mut W {
69173                self.bit(false)
69174            }
69175            ///Writes raw bits to the field
69176            #[inline(always)]
69177            pub fn bit(self, value: bool) -> &'a mut W {
69178                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
69179                self.w
69180            }
69181        }
69182        ///Reader of field `COREID`
69183        pub type COREID_R = crate::R<u8, u8>;
69184        ///Write proxy for field `COREID`
69185        pub struct COREID_W<'a> {
69186            w: &'a mut W,
69187        }
69188        impl<'a> COREID_W<'a> {
69189            ///Writes raw bits to the field
69190            #[inline(always)]
69191            pub unsafe fn bits(self, value: u8) -> &'a mut W {
69192                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
69193                self.w
69194            }
69195        }
69196        ///Reader of field `PROCID`
69197        pub type PROCID_R = crate::R<u8, u8>;
69198        ///Write proxy for field `PROCID`
69199        pub struct PROCID_W<'a> {
69200            w: &'a mut W,
69201        }
69202        impl<'a> PROCID_W<'a> {
69203            ///Writes raw bits to the field
69204            #[inline(always)]
69205            pub unsafe fn bits(self, value: u8) -> &'a mut W {
69206                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
69207                self.w
69208            }
69209        }
69210        impl R {
69211            ///Bit 31 - lock indication
69212            #[inline(always)]
69213            pub fn lock(&self) -> LOCK_R {
69214                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
69215            }
69216            ///Bits 8:11 - Semaphore CoreID
69217            #[inline(always)]
69218            pub fn coreid(&self) -> COREID_R {
69219                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
69220            }
69221            ///Bits 0:7 - Semaphore ProcessID
69222            #[inline(always)]
69223            pub fn procid(&self) -> PROCID_R {
69224                PROCID_R::new((self.bits & 0xff) as u8)
69225            }
69226        }
69227        impl W {
69228            ///Bit 31 - lock indication
69229            #[inline(always)]
69230            pub fn lock(&mut self) -> LOCK_W {
69231                LOCK_W { w: self }
69232            }
69233            ///Bits 8:11 - Semaphore CoreID
69234            #[inline(always)]
69235            pub fn coreid(&mut self) -> COREID_W {
69236                COREID_W { w: self }
69237            }
69238            ///Bits 0:7 - Semaphore ProcessID
69239            #[inline(always)]
69240            pub fn procid(&mut self) -> PROCID_W {
69241                PROCID_W { w: self }
69242            }
69243        }
69244    }
69245    ///Semaphore 11 register
69246    ///
69247    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
69248    ///
69249    ///For information about available fields see [r11](r11) module
69250    pub type R11 = crate::Reg<u32, _R11>;
69251    #[allow(missing_docs)]
69252    #[doc(hidden)]
69253    pub struct _R11;
69254    ///`read()` method returns [r11::R](r11::R) reader structure
69255    impl crate::Readable for R11 {}
69256    ///`write(|w| ..)` method takes [r11::W](r11::W) writer structure
69257    impl crate::Writable for R11 {}
69258    ///Semaphore 11 register
69259    pub mod r11 {
69260        ///Reader of register R11
69261        pub type R = crate::R<u32, super::R11>;
69262        ///Writer for register R11
69263        pub type W = crate::W<u32, super::R11>;
69264        ///Register R11 `reset()`'s with value 0
69265        impl crate::ResetValue for super::R11 {
69266            type Type = u32;
69267            #[inline(always)]
69268            fn reset_value() -> Self::Type {
69269                0
69270            }
69271        }
69272        ///Reader of field `LOCK`
69273        pub type LOCK_R = crate::R<bool, bool>;
69274        ///Write proxy for field `LOCK`
69275        pub struct LOCK_W<'a> {
69276            w: &'a mut W,
69277        }
69278        impl<'a> LOCK_W<'a> {
69279            ///Sets the field bit
69280            #[inline(always)]
69281            pub fn set_bit(self) -> &'a mut W {
69282                self.bit(true)
69283            }
69284            ///Clears the field bit
69285            #[inline(always)]
69286            pub fn clear_bit(self) -> &'a mut W {
69287                self.bit(false)
69288            }
69289            ///Writes raw bits to the field
69290            #[inline(always)]
69291            pub fn bit(self, value: bool) -> &'a mut W {
69292                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
69293                self.w
69294            }
69295        }
69296        ///Reader of field `COREID`
69297        pub type COREID_R = crate::R<u8, u8>;
69298        ///Write proxy for field `COREID`
69299        pub struct COREID_W<'a> {
69300            w: &'a mut W,
69301        }
69302        impl<'a> COREID_W<'a> {
69303            ///Writes raw bits to the field
69304            #[inline(always)]
69305            pub unsafe fn bits(self, value: u8) -> &'a mut W {
69306                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
69307                self.w
69308            }
69309        }
69310        ///Reader of field `PROCID`
69311        pub type PROCID_R = crate::R<u8, u8>;
69312        ///Write proxy for field `PROCID`
69313        pub struct PROCID_W<'a> {
69314            w: &'a mut W,
69315        }
69316        impl<'a> PROCID_W<'a> {
69317            ///Writes raw bits to the field
69318            #[inline(always)]
69319            pub unsafe fn bits(self, value: u8) -> &'a mut W {
69320                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
69321                self.w
69322            }
69323        }
69324        impl R {
69325            ///Bit 31 - lock indication
69326            #[inline(always)]
69327            pub fn lock(&self) -> LOCK_R {
69328                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
69329            }
69330            ///Bits 8:11 - Semaphore CoreID
69331            #[inline(always)]
69332            pub fn coreid(&self) -> COREID_R {
69333                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
69334            }
69335            ///Bits 0:7 - Semaphore ProcessID
69336            #[inline(always)]
69337            pub fn procid(&self) -> PROCID_R {
69338                PROCID_R::new((self.bits & 0xff) as u8)
69339            }
69340        }
69341        impl W {
69342            ///Bit 31 - lock indication
69343            #[inline(always)]
69344            pub fn lock(&mut self) -> LOCK_W {
69345                LOCK_W { w: self }
69346            }
69347            ///Bits 8:11 - Semaphore CoreID
69348            #[inline(always)]
69349            pub fn coreid(&mut self) -> COREID_W {
69350                COREID_W { w: self }
69351            }
69352            ///Bits 0:7 - Semaphore ProcessID
69353            #[inline(always)]
69354            pub fn procid(&mut self) -> PROCID_W {
69355                PROCID_W { w: self }
69356            }
69357        }
69358    }
69359    ///Semaphore 12 register
69360    ///
69361    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
69362    ///
69363    ///For information about available fields see [r12](r12) module
69364    pub type R12 = crate::Reg<u32, _R12>;
69365    #[allow(missing_docs)]
69366    #[doc(hidden)]
69367    pub struct _R12;
69368    ///`read()` method returns [r12::R](r12::R) reader structure
69369    impl crate::Readable for R12 {}
69370    ///`write(|w| ..)` method takes [r12::W](r12::W) writer structure
69371    impl crate::Writable for R12 {}
69372    ///Semaphore 12 register
69373    pub mod r12 {
69374        ///Reader of register R12
69375        pub type R = crate::R<u32, super::R12>;
69376        ///Writer for register R12
69377        pub type W = crate::W<u32, super::R12>;
69378        ///Register R12 `reset()`'s with value 0
69379        impl crate::ResetValue for super::R12 {
69380            type Type = u32;
69381            #[inline(always)]
69382            fn reset_value() -> Self::Type {
69383                0
69384            }
69385        }
69386        ///Reader of field `LOCK`
69387        pub type LOCK_R = crate::R<bool, bool>;
69388        ///Write proxy for field `LOCK`
69389        pub struct LOCK_W<'a> {
69390            w: &'a mut W,
69391        }
69392        impl<'a> LOCK_W<'a> {
69393            ///Sets the field bit
69394            #[inline(always)]
69395            pub fn set_bit(self) -> &'a mut W {
69396                self.bit(true)
69397            }
69398            ///Clears the field bit
69399            #[inline(always)]
69400            pub fn clear_bit(self) -> &'a mut W {
69401                self.bit(false)
69402            }
69403            ///Writes raw bits to the field
69404            #[inline(always)]
69405            pub fn bit(self, value: bool) -> &'a mut W {
69406                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
69407                self.w
69408            }
69409        }
69410        ///Reader of field `COREID`
69411        pub type COREID_R = crate::R<u8, u8>;
69412        ///Write proxy for field `COREID`
69413        pub struct COREID_W<'a> {
69414            w: &'a mut W,
69415        }
69416        impl<'a> COREID_W<'a> {
69417            ///Writes raw bits to the field
69418            #[inline(always)]
69419            pub unsafe fn bits(self, value: u8) -> &'a mut W {
69420                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
69421                self.w
69422            }
69423        }
69424        ///Reader of field `PROCID`
69425        pub type PROCID_R = crate::R<u8, u8>;
69426        ///Write proxy for field `PROCID`
69427        pub struct PROCID_W<'a> {
69428            w: &'a mut W,
69429        }
69430        impl<'a> PROCID_W<'a> {
69431            ///Writes raw bits to the field
69432            #[inline(always)]
69433            pub unsafe fn bits(self, value: u8) -> &'a mut W {
69434                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
69435                self.w
69436            }
69437        }
69438        impl R {
69439            ///Bit 31 - lock indication
69440            #[inline(always)]
69441            pub fn lock(&self) -> LOCK_R {
69442                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
69443            }
69444            ///Bits 8:11 - Semaphore CoreID
69445            #[inline(always)]
69446            pub fn coreid(&self) -> COREID_R {
69447                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
69448            }
69449            ///Bits 0:7 - Semaphore ProcessID
69450            #[inline(always)]
69451            pub fn procid(&self) -> PROCID_R {
69452                PROCID_R::new((self.bits & 0xff) as u8)
69453            }
69454        }
69455        impl W {
69456            ///Bit 31 - lock indication
69457            #[inline(always)]
69458            pub fn lock(&mut self) -> LOCK_W {
69459                LOCK_W { w: self }
69460            }
69461            ///Bits 8:11 - Semaphore CoreID
69462            #[inline(always)]
69463            pub fn coreid(&mut self) -> COREID_W {
69464                COREID_W { w: self }
69465            }
69466            ///Bits 0:7 - Semaphore ProcessID
69467            #[inline(always)]
69468            pub fn procid(&mut self) -> PROCID_W {
69469                PROCID_W { w: self }
69470            }
69471        }
69472    }
69473    ///Semaphore 13 register
69474    ///
69475    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
69476    ///
69477    ///For information about available fields see [r13](r13) module
69478    pub type R13 = crate::Reg<u32, _R13>;
69479    #[allow(missing_docs)]
69480    #[doc(hidden)]
69481    pub struct _R13;
69482    ///`read()` method returns [r13::R](r13::R) reader structure
69483    impl crate::Readable for R13 {}
69484    ///`write(|w| ..)` method takes [r13::W](r13::W) writer structure
69485    impl crate::Writable for R13 {}
69486    ///Semaphore 13 register
69487    pub mod r13 {
69488        ///Reader of register R13
69489        pub type R = crate::R<u32, super::R13>;
69490        ///Writer for register R13
69491        pub type W = crate::W<u32, super::R13>;
69492        ///Register R13 `reset()`'s with value 0
69493        impl crate::ResetValue for super::R13 {
69494            type Type = u32;
69495            #[inline(always)]
69496            fn reset_value() -> Self::Type {
69497                0
69498            }
69499        }
69500        ///Reader of field `LOCK`
69501        pub type LOCK_R = crate::R<bool, bool>;
69502        ///Write proxy for field `LOCK`
69503        pub struct LOCK_W<'a> {
69504            w: &'a mut W,
69505        }
69506        impl<'a> LOCK_W<'a> {
69507            ///Sets the field bit
69508            #[inline(always)]
69509            pub fn set_bit(self) -> &'a mut W {
69510                self.bit(true)
69511            }
69512            ///Clears the field bit
69513            #[inline(always)]
69514            pub fn clear_bit(self) -> &'a mut W {
69515                self.bit(false)
69516            }
69517            ///Writes raw bits to the field
69518            #[inline(always)]
69519            pub fn bit(self, value: bool) -> &'a mut W {
69520                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
69521                self.w
69522            }
69523        }
69524        ///Reader of field `COREID`
69525        pub type COREID_R = crate::R<u8, u8>;
69526        ///Write proxy for field `COREID`
69527        pub struct COREID_W<'a> {
69528            w: &'a mut W,
69529        }
69530        impl<'a> COREID_W<'a> {
69531            ///Writes raw bits to the field
69532            #[inline(always)]
69533            pub unsafe fn bits(self, value: u8) -> &'a mut W {
69534                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
69535                self.w
69536            }
69537        }
69538        ///Reader of field `PROCID`
69539        pub type PROCID_R = crate::R<u8, u8>;
69540        ///Write proxy for field `PROCID`
69541        pub struct PROCID_W<'a> {
69542            w: &'a mut W,
69543        }
69544        impl<'a> PROCID_W<'a> {
69545            ///Writes raw bits to the field
69546            #[inline(always)]
69547            pub unsafe fn bits(self, value: u8) -> &'a mut W {
69548                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
69549                self.w
69550            }
69551        }
69552        impl R {
69553            ///Bit 31 - lock indication
69554            #[inline(always)]
69555            pub fn lock(&self) -> LOCK_R {
69556                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
69557            }
69558            ///Bits 8:11 - Semaphore CoreID
69559            #[inline(always)]
69560            pub fn coreid(&self) -> COREID_R {
69561                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
69562            }
69563            ///Bits 0:7 - Semaphore ProcessID
69564            #[inline(always)]
69565            pub fn procid(&self) -> PROCID_R {
69566                PROCID_R::new((self.bits & 0xff) as u8)
69567            }
69568        }
69569        impl W {
69570            ///Bit 31 - lock indication
69571            #[inline(always)]
69572            pub fn lock(&mut self) -> LOCK_W {
69573                LOCK_W { w: self }
69574            }
69575            ///Bits 8:11 - Semaphore CoreID
69576            #[inline(always)]
69577            pub fn coreid(&mut self) -> COREID_W {
69578                COREID_W { w: self }
69579            }
69580            ///Bits 0:7 - Semaphore ProcessID
69581            #[inline(always)]
69582            pub fn procid(&mut self) -> PROCID_W {
69583                PROCID_W { w: self }
69584            }
69585        }
69586    }
69587    ///Semaphore 14 register
69588    ///
69589    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
69590    ///
69591    ///For information about available fields see [r14](r14) module
69592    pub type R14 = crate::Reg<u32, _R14>;
69593    #[allow(missing_docs)]
69594    #[doc(hidden)]
69595    pub struct _R14;
69596    ///`read()` method returns [r14::R](r14::R) reader structure
69597    impl crate::Readable for R14 {}
69598    ///`write(|w| ..)` method takes [r14::W](r14::W) writer structure
69599    impl crate::Writable for R14 {}
69600    ///Semaphore 14 register
69601    pub mod r14 {
69602        ///Reader of register R14
69603        pub type R = crate::R<u32, super::R14>;
69604        ///Writer for register R14
69605        pub type W = crate::W<u32, super::R14>;
69606        ///Register R14 `reset()`'s with value 0
69607        impl crate::ResetValue for super::R14 {
69608            type Type = u32;
69609            #[inline(always)]
69610            fn reset_value() -> Self::Type {
69611                0
69612            }
69613        }
69614        ///Reader of field `LOCK`
69615        pub type LOCK_R = crate::R<bool, bool>;
69616        ///Write proxy for field `LOCK`
69617        pub struct LOCK_W<'a> {
69618            w: &'a mut W,
69619        }
69620        impl<'a> LOCK_W<'a> {
69621            ///Sets the field bit
69622            #[inline(always)]
69623            pub fn set_bit(self) -> &'a mut W {
69624                self.bit(true)
69625            }
69626            ///Clears the field bit
69627            #[inline(always)]
69628            pub fn clear_bit(self) -> &'a mut W {
69629                self.bit(false)
69630            }
69631            ///Writes raw bits to the field
69632            #[inline(always)]
69633            pub fn bit(self, value: bool) -> &'a mut W {
69634                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
69635                self.w
69636            }
69637        }
69638        ///Reader of field `COREID`
69639        pub type COREID_R = crate::R<u8, u8>;
69640        ///Write proxy for field `COREID`
69641        pub struct COREID_W<'a> {
69642            w: &'a mut W,
69643        }
69644        impl<'a> COREID_W<'a> {
69645            ///Writes raw bits to the field
69646            #[inline(always)]
69647            pub unsafe fn bits(self, value: u8) -> &'a mut W {
69648                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
69649                self.w
69650            }
69651        }
69652        ///Reader of field `PROCID`
69653        pub type PROCID_R = crate::R<u8, u8>;
69654        ///Write proxy for field `PROCID`
69655        pub struct PROCID_W<'a> {
69656            w: &'a mut W,
69657        }
69658        impl<'a> PROCID_W<'a> {
69659            ///Writes raw bits to the field
69660            #[inline(always)]
69661            pub unsafe fn bits(self, value: u8) -> &'a mut W {
69662                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
69663                self.w
69664            }
69665        }
69666        impl R {
69667            ///Bit 31 - lock indication
69668            #[inline(always)]
69669            pub fn lock(&self) -> LOCK_R {
69670                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
69671            }
69672            ///Bits 8:11 - Semaphore CoreID
69673            #[inline(always)]
69674            pub fn coreid(&self) -> COREID_R {
69675                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
69676            }
69677            ///Bits 0:7 - Semaphore ProcessID
69678            #[inline(always)]
69679            pub fn procid(&self) -> PROCID_R {
69680                PROCID_R::new((self.bits & 0xff) as u8)
69681            }
69682        }
69683        impl W {
69684            ///Bit 31 - lock indication
69685            #[inline(always)]
69686            pub fn lock(&mut self) -> LOCK_W {
69687                LOCK_W { w: self }
69688            }
69689            ///Bits 8:11 - Semaphore CoreID
69690            #[inline(always)]
69691            pub fn coreid(&mut self) -> COREID_W {
69692                COREID_W { w: self }
69693            }
69694            ///Bits 0:7 - Semaphore ProcessID
69695            #[inline(always)]
69696            pub fn procid(&mut self) -> PROCID_W {
69697                PROCID_W { w: self }
69698            }
69699        }
69700    }
69701    ///Semaphore 15 register
69702    ///
69703    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
69704    ///
69705    ///For information about available fields see [r15](r15) module
69706    pub type R15 = crate::Reg<u32, _R15>;
69707    #[allow(missing_docs)]
69708    #[doc(hidden)]
69709    pub struct _R15;
69710    ///`read()` method returns [r15::R](r15::R) reader structure
69711    impl crate::Readable for R15 {}
69712    ///`write(|w| ..)` method takes [r15::W](r15::W) writer structure
69713    impl crate::Writable for R15 {}
69714    ///Semaphore 15 register
69715    pub mod r15 {
69716        ///Reader of register R15
69717        pub type R = crate::R<u32, super::R15>;
69718        ///Writer for register R15
69719        pub type W = crate::W<u32, super::R15>;
69720        ///Register R15 `reset()`'s with value 0
69721        impl crate::ResetValue for super::R15 {
69722            type Type = u32;
69723            #[inline(always)]
69724            fn reset_value() -> Self::Type {
69725                0
69726            }
69727        }
69728        ///Reader of field `LOCK`
69729        pub type LOCK_R = crate::R<bool, bool>;
69730        ///Write proxy for field `LOCK`
69731        pub struct LOCK_W<'a> {
69732            w: &'a mut W,
69733        }
69734        impl<'a> LOCK_W<'a> {
69735            ///Sets the field bit
69736            #[inline(always)]
69737            pub fn set_bit(self) -> &'a mut W {
69738                self.bit(true)
69739            }
69740            ///Clears the field bit
69741            #[inline(always)]
69742            pub fn clear_bit(self) -> &'a mut W {
69743                self.bit(false)
69744            }
69745            ///Writes raw bits to the field
69746            #[inline(always)]
69747            pub fn bit(self, value: bool) -> &'a mut W {
69748                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
69749                self.w
69750            }
69751        }
69752        ///Reader of field `COREID`
69753        pub type COREID_R = crate::R<u8, u8>;
69754        ///Write proxy for field `COREID`
69755        pub struct COREID_W<'a> {
69756            w: &'a mut W,
69757        }
69758        impl<'a> COREID_W<'a> {
69759            ///Writes raw bits to the field
69760            #[inline(always)]
69761            pub unsafe fn bits(self, value: u8) -> &'a mut W {
69762                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
69763                self.w
69764            }
69765        }
69766        ///Reader of field `PROCID`
69767        pub type PROCID_R = crate::R<u8, u8>;
69768        ///Write proxy for field `PROCID`
69769        pub struct PROCID_W<'a> {
69770            w: &'a mut W,
69771        }
69772        impl<'a> PROCID_W<'a> {
69773            ///Writes raw bits to the field
69774            #[inline(always)]
69775            pub unsafe fn bits(self, value: u8) -> &'a mut W {
69776                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
69777                self.w
69778            }
69779        }
69780        impl R {
69781            ///Bit 31 - lock indication
69782            #[inline(always)]
69783            pub fn lock(&self) -> LOCK_R {
69784                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
69785            }
69786            ///Bits 8:11 - Semaphore CoreID
69787            #[inline(always)]
69788            pub fn coreid(&self) -> COREID_R {
69789                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
69790            }
69791            ///Bits 0:7 - Semaphore ProcessID
69792            #[inline(always)]
69793            pub fn procid(&self) -> PROCID_R {
69794                PROCID_R::new((self.bits & 0xff) as u8)
69795            }
69796        }
69797        impl W {
69798            ///Bit 31 - lock indication
69799            #[inline(always)]
69800            pub fn lock(&mut self) -> LOCK_W {
69801                LOCK_W { w: self }
69802            }
69803            ///Bits 8:11 - Semaphore CoreID
69804            #[inline(always)]
69805            pub fn coreid(&mut self) -> COREID_W {
69806                COREID_W { w: self }
69807            }
69808            ///Bits 0:7 - Semaphore ProcessID
69809            #[inline(always)]
69810            pub fn procid(&mut self) -> PROCID_W {
69811                PROCID_W { w: self }
69812            }
69813        }
69814    }
69815    ///Semaphore 16 register
69816    ///
69817    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
69818    ///
69819    ///For information about available fields see [r16](r16) module
69820    pub type R16 = crate::Reg<u32, _R16>;
69821    #[allow(missing_docs)]
69822    #[doc(hidden)]
69823    pub struct _R16;
69824    ///`read()` method returns [r16::R](r16::R) reader structure
69825    impl crate::Readable for R16 {}
69826    ///`write(|w| ..)` method takes [r16::W](r16::W) writer structure
69827    impl crate::Writable for R16 {}
69828    ///Semaphore 16 register
69829    pub mod r16 {
69830        ///Reader of register R16
69831        pub type R = crate::R<u32, super::R16>;
69832        ///Writer for register R16
69833        pub type W = crate::W<u32, super::R16>;
69834        ///Register R16 `reset()`'s with value 0
69835        impl crate::ResetValue for super::R16 {
69836            type Type = u32;
69837            #[inline(always)]
69838            fn reset_value() -> Self::Type {
69839                0
69840            }
69841        }
69842        ///Reader of field `LOCK`
69843        pub type LOCK_R = crate::R<bool, bool>;
69844        ///Write proxy for field `LOCK`
69845        pub struct LOCK_W<'a> {
69846            w: &'a mut W,
69847        }
69848        impl<'a> LOCK_W<'a> {
69849            ///Sets the field bit
69850            #[inline(always)]
69851            pub fn set_bit(self) -> &'a mut W {
69852                self.bit(true)
69853            }
69854            ///Clears the field bit
69855            #[inline(always)]
69856            pub fn clear_bit(self) -> &'a mut W {
69857                self.bit(false)
69858            }
69859            ///Writes raw bits to the field
69860            #[inline(always)]
69861            pub fn bit(self, value: bool) -> &'a mut W {
69862                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
69863                self.w
69864            }
69865        }
69866        ///Reader of field `COREID`
69867        pub type COREID_R = crate::R<u8, u8>;
69868        ///Write proxy for field `COREID`
69869        pub struct COREID_W<'a> {
69870            w: &'a mut W,
69871        }
69872        impl<'a> COREID_W<'a> {
69873            ///Writes raw bits to the field
69874            #[inline(always)]
69875            pub unsafe fn bits(self, value: u8) -> &'a mut W {
69876                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
69877                self.w
69878            }
69879        }
69880        ///Reader of field `PROCID`
69881        pub type PROCID_R = crate::R<u8, u8>;
69882        ///Write proxy for field `PROCID`
69883        pub struct PROCID_W<'a> {
69884            w: &'a mut W,
69885        }
69886        impl<'a> PROCID_W<'a> {
69887            ///Writes raw bits to the field
69888            #[inline(always)]
69889            pub unsafe fn bits(self, value: u8) -> &'a mut W {
69890                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
69891                self.w
69892            }
69893        }
69894        impl R {
69895            ///Bit 31 - lock indication
69896            #[inline(always)]
69897            pub fn lock(&self) -> LOCK_R {
69898                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
69899            }
69900            ///Bits 8:11 - Semaphore CoreID
69901            #[inline(always)]
69902            pub fn coreid(&self) -> COREID_R {
69903                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
69904            }
69905            ///Bits 0:7 - Semaphore ProcessID
69906            #[inline(always)]
69907            pub fn procid(&self) -> PROCID_R {
69908                PROCID_R::new((self.bits & 0xff) as u8)
69909            }
69910        }
69911        impl W {
69912            ///Bit 31 - lock indication
69913            #[inline(always)]
69914            pub fn lock(&mut self) -> LOCK_W {
69915                LOCK_W { w: self }
69916            }
69917            ///Bits 8:11 - Semaphore CoreID
69918            #[inline(always)]
69919            pub fn coreid(&mut self) -> COREID_W {
69920                COREID_W { w: self }
69921            }
69922            ///Bits 0:7 - Semaphore ProcessID
69923            #[inline(always)]
69924            pub fn procid(&mut self) -> PROCID_W {
69925                PROCID_W { w: self }
69926            }
69927        }
69928    }
69929    ///Semaphore 17 register
69930    ///
69931    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
69932    ///
69933    ///For information about available fields see [r17](r17) module
69934    pub type R17 = crate::Reg<u32, _R17>;
69935    #[allow(missing_docs)]
69936    #[doc(hidden)]
69937    pub struct _R17;
69938    ///`read()` method returns [r17::R](r17::R) reader structure
69939    impl crate::Readable for R17 {}
69940    ///`write(|w| ..)` method takes [r17::W](r17::W) writer structure
69941    impl crate::Writable for R17 {}
69942    ///Semaphore 17 register
69943    pub mod r17 {
69944        ///Reader of register R17
69945        pub type R = crate::R<u32, super::R17>;
69946        ///Writer for register R17
69947        pub type W = crate::W<u32, super::R17>;
69948        ///Register R17 `reset()`'s with value 0
69949        impl crate::ResetValue for super::R17 {
69950            type Type = u32;
69951            #[inline(always)]
69952            fn reset_value() -> Self::Type {
69953                0
69954            }
69955        }
69956        ///Reader of field `LOCK`
69957        pub type LOCK_R = crate::R<bool, bool>;
69958        ///Write proxy for field `LOCK`
69959        pub struct LOCK_W<'a> {
69960            w: &'a mut W,
69961        }
69962        impl<'a> LOCK_W<'a> {
69963            ///Sets the field bit
69964            #[inline(always)]
69965            pub fn set_bit(self) -> &'a mut W {
69966                self.bit(true)
69967            }
69968            ///Clears the field bit
69969            #[inline(always)]
69970            pub fn clear_bit(self) -> &'a mut W {
69971                self.bit(false)
69972            }
69973            ///Writes raw bits to the field
69974            #[inline(always)]
69975            pub fn bit(self, value: bool) -> &'a mut W {
69976                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
69977                self.w
69978            }
69979        }
69980        ///Reader of field `COREID`
69981        pub type COREID_R = crate::R<u8, u8>;
69982        ///Write proxy for field `COREID`
69983        pub struct COREID_W<'a> {
69984            w: &'a mut W,
69985        }
69986        impl<'a> COREID_W<'a> {
69987            ///Writes raw bits to the field
69988            #[inline(always)]
69989            pub unsafe fn bits(self, value: u8) -> &'a mut W {
69990                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
69991                self.w
69992            }
69993        }
69994        ///Reader of field `PROCID`
69995        pub type PROCID_R = crate::R<u8, u8>;
69996        ///Write proxy for field `PROCID`
69997        pub struct PROCID_W<'a> {
69998            w: &'a mut W,
69999        }
70000        impl<'a> PROCID_W<'a> {
70001            ///Writes raw bits to the field
70002            #[inline(always)]
70003            pub unsafe fn bits(self, value: u8) -> &'a mut W {
70004                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
70005                self.w
70006            }
70007        }
70008        impl R {
70009            ///Bit 31 - lock indication
70010            #[inline(always)]
70011            pub fn lock(&self) -> LOCK_R {
70012                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
70013            }
70014            ///Bits 8:11 - Semaphore CoreID
70015            #[inline(always)]
70016            pub fn coreid(&self) -> COREID_R {
70017                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
70018            }
70019            ///Bits 0:7 - Semaphore ProcessID
70020            #[inline(always)]
70021            pub fn procid(&self) -> PROCID_R {
70022                PROCID_R::new((self.bits & 0xff) as u8)
70023            }
70024        }
70025        impl W {
70026            ///Bit 31 - lock indication
70027            #[inline(always)]
70028            pub fn lock(&mut self) -> LOCK_W {
70029                LOCK_W { w: self }
70030            }
70031            ///Bits 8:11 - Semaphore CoreID
70032            #[inline(always)]
70033            pub fn coreid(&mut self) -> COREID_W {
70034                COREID_W { w: self }
70035            }
70036            ///Bits 0:7 - Semaphore ProcessID
70037            #[inline(always)]
70038            pub fn procid(&mut self) -> PROCID_W {
70039                PROCID_W { w: self }
70040            }
70041        }
70042    }
70043    ///Semaphore 18 register
70044    ///
70045    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
70046    ///
70047    ///For information about available fields see [r18](r18) module
70048    pub type R18 = crate::Reg<u32, _R18>;
70049    #[allow(missing_docs)]
70050    #[doc(hidden)]
70051    pub struct _R18;
70052    ///`read()` method returns [r18::R](r18::R) reader structure
70053    impl crate::Readable for R18 {}
70054    ///`write(|w| ..)` method takes [r18::W](r18::W) writer structure
70055    impl crate::Writable for R18 {}
70056    ///Semaphore 18 register
70057    pub mod r18 {
70058        ///Reader of register R18
70059        pub type R = crate::R<u32, super::R18>;
70060        ///Writer for register R18
70061        pub type W = crate::W<u32, super::R18>;
70062        ///Register R18 `reset()`'s with value 0
70063        impl crate::ResetValue for super::R18 {
70064            type Type = u32;
70065            #[inline(always)]
70066            fn reset_value() -> Self::Type {
70067                0
70068            }
70069        }
70070        ///Reader of field `LOCK`
70071        pub type LOCK_R = crate::R<bool, bool>;
70072        ///Write proxy for field `LOCK`
70073        pub struct LOCK_W<'a> {
70074            w: &'a mut W,
70075        }
70076        impl<'a> LOCK_W<'a> {
70077            ///Sets the field bit
70078            #[inline(always)]
70079            pub fn set_bit(self) -> &'a mut W {
70080                self.bit(true)
70081            }
70082            ///Clears the field bit
70083            #[inline(always)]
70084            pub fn clear_bit(self) -> &'a mut W {
70085                self.bit(false)
70086            }
70087            ///Writes raw bits to the field
70088            #[inline(always)]
70089            pub fn bit(self, value: bool) -> &'a mut W {
70090                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
70091                self.w
70092            }
70093        }
70094        ///Reader of field `COREID`
70095        pub type COREID_R = crate::R<u8, u8>;
70096        ///Write proxy for field `COREID`
70097        pub struct COREID_W<'a> {
70098            w: &'a mut W,
70099        }
70100        impl<'a> COREID_W<'a> {
70101            ///Writes raw bits to the field
70102            #[inline(always)]
70103            pub unsafe fn bits(self, value: u8) -> &'a mut W {
70104                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
70105                self.w
70106            }
70107        }
70108        ///Reader of field `PROCID`
70109        pub type PROCID_R = crate::R<u8, u8>;
70110        ///Write proxy for field `PROCID`
70111        pub struct PROCID_W<'a> {
70112            w: &'a mut W,
70113        }
70114        impl<'a> PROCID_W<'a> {
70115            ///Writes raw bits to the field
70116            #[inline(always)]
70117            pub unsafe fn bits(self, value: u8) -> &'a mut W {
70118                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
70119                self.w
70120            }
70121        }
70122        impl R {
70123            ///Bit 31 - lock indication
70124            #[inline(always)]
70125            pub fn lock(&self) -> LOCK_R {
70126                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
70127            }
70128            ///Bits 8:11 - Semaphore CoreID
70129            #[inline(always)]
70130            pub fn coreid(&self) -> COREID_R {
70131                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
70132            }
70133            ///Bits 0:7 - Semaphore ProcessID
70134            #[inline(always)]
70135            pub fn procid(&self) -> PROCID_R {
70136                PROCID_R::new((self.bits & 0xff) as u8)
70137            }
70138        }
70139        impl W {
70140            ///Bit 31 - lock indication
70141            #[inline(always)]
70142            pub fn lock(&mut self) -> LOCK_W {
70143                LOCK_W { w: self }
70144            }
70145            ///Bits 8:11 - Semaphore CoreID
70146            #[inline(always)]
70147            pub fn coreid(&mut self) -> COREID_W {
70148                COREID_W { w: self }
70149            }
70150            ///Bits 0:7 - Semaphore ProcessID
70151            #[inline(always)]
70152            pub fn procid(&mut self) -> PROCID_W {
70153                PROCID_W { w: self }
70154            }
70155        }
70156    }
70157    ///Semaphore 19 register
70158    ///
70159    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
70160    ///
70161    ///For information about available fields see [r19](r19) module
70162    pub type R19 = crate::Reg<u32, _R19>;
70163    #[allow(missing_docs)]
70164    #[doc(hidden)]
70165    pub struct _R19;
70166    ///`read()` method returns [r19::R](r19::R) reader structure
70167    impl crate::Readable for R19 {}
70168    ///`write(|w| ..)` method takes [r19::W](r19::W) writer structure
70169    impl crate::Writable for R19 {}
70170    ///Semaphore 19 register
70171    pub mod r19 {
70172        ///Reader of register R19
70173        pub type R = crate::R<u32, super::R19>;
70174        ///Writer for register R19
70175        pub type W = crate::W<u32, super::R19>;
70176        ///Register R19 `reset()`'s with value 0
70177        impl crate::ResetValue for super::R19 {
70178            type Type = u32;
70179            #[inline(always)]
70180            fn reset_value() -> Self::Type {
70181                0
70182            }
70183        }
70184        ///Reader of field `LOCK`
70185        pub type LOCK_R = crate::R<bool, bool>;
70186        ///Write proxy for field `LOCK`
70187        pub struct LOCK_W<'a> {
70188            w: &'a mut W,
70189        }
70190        impl<'a> LOCK_W<'a> {
70191            ///Sets the field bit
70192            #[inline(always)]
70193            pub fn set_bit(self) -> &'a mut W {
70194                self.bit(true)
70195            }
70196            ///Clears the field bit
70197            #[inline(always)]
70198            pub fn clear_bit(self) -> &'a mut W {
70199                self.bit(false)
70200            }
70201            ///Writes raw bits to the field
70202            #[inline(always)]
70203            pub fn bit(self, value: bool) -> &'a mut W {
70204                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
70205                self.w
70206            }
70207        }
70208        ///Reader of field `COREID`
70209        pub type COREID_R = crate::R<u8, u8>;
70210        ///Write proxy for field `COREID`
70211        pub struct COREID_W<'a> {
70212            w: &'a mut W,
70213        }
70214        impl<'a> COREID_W<'a> {
70215            ///Writes raw bits to the field
70216            #[inline(always)]
70217            pub unsafe fn bits(self, value: u8) -> &'a mut W {
70218                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
70219                self.w
70220            }
70221        }
70222        ///Reader of field `PROCID`
70223        pub type PROCID_R = crate::R<u8, u8>;
70224        ///Write proxy for field `PROCID`
70225        pub struct PROCID_W<'a> {
70226            w: &'a mut W,
70227        }
70228        impl<'a> PROCID_W<'a> {
70229            ///Writes raw bits to the field
70230            #[inline(always)]
70231            pub unsafe fn bits(self, value: u8) -> &'a mut W {
70232                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
70233                self.w
70234            }
70235        }
70236        impl R {
70237            ///Bit 31 - lock indication
70238            #[inline(always)]
70239            pub fn lock(&self) -> LOCK_R {
70240                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
70241            }
70242            ///Bits 8:11 - Semaphore CoreID
70243            #[inline(always)]
70244            pub fn coreid(&self) -> COREID_R {
70245                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
70246            }
70247            ///Bits 0:7 - Semaphore ProcessID
70248            #[inline(always)]
70249            pub fn procid(&self) -> PROCID_R {
70250                PROCID_R::new((self.bits & 0xff) as u8)
70251            }
70252        }
70253        impl W {
70254            ///Bit 31 - lock indication
70255            #[inline(always)]
70256            pub fn lock(&mut self) -> LOCK_W {
70257                LOCK_W { w: self }
70258            }
70259            ///Bits 8:11 - Semaphore CoreID
70260            #[inline(always)]
70261            pub fn coreid(&mut self) -> COREID_W {
70262                COREID_W { w: self }
70263            }
70264            ///Bits 0:7 - Semaphore ProcessID
70265            #[inline(always)]
70266            pub fn procid(&mut self) -> PROCID_W {
70267                PROCID_W { w: self }
70268            }
70269        }
70270    }
70271    ///Semaphore 20 register
70272    ///
70273    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
70274    ///
70275    ///For information about available fields see [r20](r20) module
70276    pub type R20 = crate::Reg<u32, _R20>;
70277    #[allow(missing_docs)]
70278    #[doc(hidden)]
70279    pub struct _R20;
70280    ///`read()` method returns [r20::R](r20::R) reader structure
70281    impl crate::Readable for R20 {}
70282    ///`write(|w| ..)` method takes [r20::W](r20::W) writer structure
70283    impl crate::Writable for R20 {}
70284    ///Semaphore 20 register
70285    pub mod r20 {
70286        ///Reader of register R20
70287        pub type R = crate::R<u32, super::R20>;
70288        ///Writer for register R20
70289        pub type W = crate::W<u32, super::R20>;
70290        ///Register R20 `reset()`'s with value 0
70291        impl crate::ResetValue for super::R20 {
70292            type Type = u32;
70293            #[inline(always)]
70294            fn reset_value() -> Self::Type {
70295                0
70296            }
70297        }
70298        ///Reader of field `LOCK`
70299        pub type LOCK_R = crate::R<bool, bool>;
70300        ///Write proxy for field `LOCK`
70301        pub struct LOCK_W<'a> {
70302            w: &'a mut W,
70303        }
70304        impl<'a> LOCK_W<'a> {
70305            ///Sets the field bit
70306            #[inline(always)]
70307            pub fn set_bit(self) -> &'a mut W {
70308                self.bit(true)
70309            }
70310            ///Clears the field bit
70311            #[inline(always)]
70312            pub fn clear_bit(self) -> &'a mut W {
70313                self.bit(false)
70314            }
70315            ///Writes raw bits to the field
70316            #[inline(always)]
70317            pub fn bit(self, value: bool) -> &'a mut W {
70318                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
70319                self.w
70320            }
70321        }
70322        ///Reader of field `COREID`
70323        pub type COREID_R = crate::R<u8, u8>;
70324        ///Write proxy for field `COREID`
70325        pub struct COREID_W<'a> {
70326            w: &'a mut W,
70327        }
70328        impl<'a> COREID_W<'a> {
70329            ///Writes raw bits to the field
70330            #[inline(always)]
70331            pub unsafe fn bits(self, value: u8) -> &'a mut W {
70332                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
70333                self.w
70334            }
70335        }
70336        ///Reader of field `PROCID`
70337        pub type PROCID_R = crate::R<u8, u8>;
70338        ///Write proxy for field `PROCID`
70339        pub struct PROCID_W<'a> {
70340            w: &'a mut W,
70341        }
70342        impl<'a> PROCID_W<'a> {
70343            ///Writes raw bits to the field
70344            #[inline(always)]
70345            pub unsafe fn bits(self, value: u8) -> &'a mut W {
70346                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
70347                self.w
70348            }
70349        }
70350        impl R {
70351            ///Bit 31 - lock indication
70352            #[inline(always)]
70353            pub fn lock(&self) -> LOCK_R {
70354                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
70355            }
70356            ///Bits 8:11 - Semaphore CoreID
70357            #[inline(always)]
70358            pub fn coreid(&self) -> COREID_R {
70359                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
70360            }
70361            ///Bits 0:7 - Semaphore ProcessID
70362            #[inline(always)]
70363            pub fn procid(&self) -> PROCID_R {
70364                PROCID_R::new((self.bits & 0xff) as u8)
70365            }
70366        }
70367        impl W {
70368            ///Bit 31 - lock indication
70369            #[inline(always)]
70370            pub fn lock(&mut self) -> LOCK_W {
70371                LOCK_W { w: self }
70372            }
70373            ///Bits 8:11 - Semaphore CoreID
70374            #[inline(always)]
70375            pub fn coreid(&mut self) -> COREID_W {
70376                COREID_W { w: self }
70377            }
70378            ///Bits 0:7 - Semaphore ProcessID
70379            #[inline(always)]
70380            pub fn procid(&mut self) -> PROCID_W {
70381                PROCID_W { w: self }
70382            }
70383        }
70384    }
70385    ///Semaphore 21 register
70386    ///
70387    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
70388    ///
70389    ///For information about available fields see [r21](r21) module
70390    pub type R21 = crate::Reg<u32, _R21>;
70391    #[allow(missing_docs)]
70392    #[doc(hidden)]
70393    pub struct _R21;
70394    ///`read()` method returns [r21::R](r21::R) reader structure
70395    impl crate::Readable for R21 {}
70396    ///`write(|w| ..)` method takes [r21::W](r21::W) writer structure
70397    impl crate::Writable for R21 {}
70398    ///Semaphore 21 register
70399    pub mod r21 {
70400        ///Reader of register R21
70401        pub type R = crate::R<u32, super::R21>;
70402        ///Writer for register R21
70403        pub type W = crate::W<u32, super::R21>;
70404        ///Register R21 `reset()`'s with value 0
70405        impl crate::ResetValue for super::R21 {
70406            type Type = u32;
70407            #[inline(always)]
70408            fn reset_value() -> Self::Type {
70409                0
70410            }
70411        }
70412        ///Reader of field `LOCK`
70413        pub type LOCK_R = crate::R<bool, bool>;
70414        ///Write proxy for field `LOCK`
70415        pub struct LOCK_W<'a> {
70416            w: &'a mut W,
70417        }
70418        impl<'a> LOCK_W<'a> {
70419            ///Sets the field bit
70420            #[inline(always)]
70421            pub fn set_bit(self) -> &'a mut W {
70422                self.bit(true)
70423            }
70424            ///Clears the field bit
70425            #[inline(always)]
70426            pub fn clear_bit(self) -> &'a mut W {
70427                self.bit(false)
70428            }
70429            ///Writes raw bits to the field
70430            #[inline(always)]
70431            pub fn bit(self, value: bool) -> &'a mut W {
70432                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
70433                self.w
70434            }
70435        }
70436        ///Reader of field `COREID`
70437        pub type COREID_R = crate::R<u8, u8>;
70438        ///Write proxy for field `COREID`
70439        pub struct COREID_W<'a> {
70440            w: &'a mut W,
70441        }
70442        impl<'a> COREID_W<'a> {
70443            ///Writes raw bits to the field
70444            #[inline(always)]
70445            pub unsafe fn bits(self, value: u8) -> &'a mut W {
70446                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
70447                self.w
70448            }
70449        }
70450        ///Reader of field `PROCID`
70451        pub type PROCID_R = crate::R<u8, u8>;
70452        ///Write proxy for field `PROCID`
70453        pub struct PROCID_W<'a> {
70454            w: &'a mut W,
70455        }
70456        impl<'a> PROCID_W<'a> {
70457            ///Writes raw bits to the field
70458            #[inline(always)]
70459            pub unsafe fn bits(self, value: u8) -> &'a mut W {
70460                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
70461                self.w
70462            }
70463        }
70464        impl R {
70465            ///Bit 31 - lock indication
70466            #[inline(always)]
70467            pub fn lock(&self) -> LOCK_R {
70468                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
70469            }
70470            ///Bits 8:11 - Semaphore CoreID
70471            #[inline(always)]
70472            pub fn coreid(&self) -> COREID_R {
70473                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
70474            }
70475            ///Bits 0:7 - Semaphore ProcessID
70476            #[inline(always)]
70477            pub fn procid(&self) -> PROCID_R {
70478                PROCID_R::new((self.bits & 0xff) as u8)
70479            }
70480        }
70481        impl W {
70482            ///Bit 31 - lock indication
70483            #[inline(always)]
70484            pub fn lock(&mut self) -> LOCK_W {
70485                LOCK_W { w: self }
70486            }
70487            ///Bits 8:11 - Semaphore CoreID
70488            #[inline(always)]
70489            pub fn coreid(&mut self) -> COREID_W {
70490                COREID_W { w: self }
70491            }
70492            ///Bits 0:7 - Semaphore ProcessID
70493            #[inline(always)]
70494            pub fn procid(&mut self) -> PROCID_W {
70495                PROCID_W { w: self }
70496            }
70497        }
70498    }
70499    ///Semaphore 22 register
70500    ///
70501    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
70502    ///
70503    ///For information about available fields see [r22](r22) module
70504    pub type R22 = crate::Reg<u32, _R22>;
70505    #[allow(missing_docs)]
70506    #[doc(hidden)]
70507    pub struct _R22;
70508    ///`read()` method returns [r22::R](r22::R) reader structure
70509    impl crate::Readable for R22 {}
70510    ///`write(|w| ..)` method takes [r22::W](r22::W) writer structure
70511    impl crate::Writable for R22 {}
70512    ///Semaphore 22 register
70513    pub mod r22 {
70514        ///Reader of register R22
70515        pub type R = crate::R<u32, super::R22>;
70516        ///Writer for register R22
70517        pub type W = crate::W<u32, super::R22>;
70518        ///Register R22 `reset()`'s with value 0
70519        impl crate::ResetValue for super::R22 {
70520            type Type = u32;
70521            #[inline(always)]
70522            fn reset_value() -> Self::Type {
70523                0
70524            }
70525        }
70526        ///Reader of field `LOCK`
70527        pub type LOCK_R = crate::R<bool, bool>;
70528        ///Write proxy for field `LOCK`
70529        pub struct LOCK_W<'a> {
70530            w: &'a mut W,
70531        }
70532        impl<'a> LOCK_W<'a> {
70533            ///Sets the field bit
70534            #[inline(always)]
70535            pub fn set_bit(self) -> &'a mut W {
70536                self.bit(true)
70537            }
70538            ///Clears the field bit
70539            #[inline(always)]
70540            pub fn clear_bit(self) -> &'a mut W {
70541                self.bit(false)
70542            }
70543            ///Writes raw bits to the field
70544            #[inline(always)]
70545            pub fn bit(self, value: bool) -> &'a mut W {
70546                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
70547                self.w
70548            }
70549        }
70550        ///Reader of field `COREID`
70551        pub type COREID_R = crate::R<u8, u8>;
70552        ///Write proxy for field `COREID`
70553        pub struct COREID_W<'a> {
70554            w: &'a mut W,
70555        }
70556        impl<'a> COREID_W<'a> {
70557            ///Writes raw bits to the field
70558            #[inline(always)]
70559            pub unsafe fn bits(self, value: u8) -> &'a mut W {
70560                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
70561                self.w
70562            }
70563        }
70564        ///Reader of field `PROCID`
70565        pub type PROCID_R = crate::R<u8, u8>;
70566        ///Write proxy for field `PROCID`
70567        pub struct PROCID_W<'a> {
70568            w: &'a mut W,
70569        }
70570        impl<'a> PROCID_W<'a> {
70571            ///Writes raw bits to the field
70572            #[inline(always)]
70573            pub unsafe fn bits(self, value: u8) -> &'a mut W {
70574                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
70575                self.w
70576            }
70577        }
70578        impl R {
70579            ///Bit 31 - lock indication
70580            #[inline(always)]
70581            pub fn lock(&self) -> LOCK_R {
70582                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
70583            }
70584            ///Bits 8:11 - Semaphore CoreID
70585            #[inline(always)]
70586            pub fn coreid(&self) -> COREID_R {
70587                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
70588            }
70589            ///Bits 0:7 - Semaphore ProcessID
70590            #[inline(always)]
70591            pub fn procid(&self) -> PROCID_R {
70592                PROCID_R::new((self.bits & 0xff) as u8)
70593            }
70594        }
70595        impl W {
70596            ///Bit 31 - lock indication
70597            #[inline(always)]
70598            pub fn lock(&mut self) -> LOCK_W {
70599                LOCK_W { w: self }
70600            }
70601            ///Bits 8:11 - Semaphore CoreID
70602            #[inline(always)]
70603            pub fn coreid(&mut self) -> COREID_W {
70604                COREID_W { w: self }
70605            }
70606            ///Bits 0:7 - Semaphore ProcessID
70607            #[inline(always)]
70608            pub fn procid(&mut self) -> PROCID_W {
70609                PROCID_W { w: self }
70610            }
70611        }
70612    }
70613    ///Semaphore 23 register
70614    ///
70615    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
70616    ///
70617    ///For information about available fields see [r23](r23) module
70618    pub type R23 = crate::Reg<u32, _R23>;
70619    #[allow(missing_docs)]
70620    #[doc(hidden)]
70621    pub struct _R23;
70622    ///`read()` method returns [r23::R](r23::R) reader structure
70623    impl crate::Readable for R23 {}
70624    ///`write(|w| ..)` method takes [r23::W](r23::W) writer structure
70625    impl crate::Writable for R23 {}
70626    ///Semaphore 23 register
70627    pub mod r23 {
70628        ///Reader of register R23
70629        pub type R = crate::R<u32, super::R23>;
70630        ///Writer for register R23
70631        pub type W = crate::W<u32, super::R23>;
70632        ///Register R23 `reset()`'s with value 0
70633        impl crate::ResetValue for super::R23 {
70634            type Type = u32;
70635            #[inline(always)]
70636            fn reset_value() -> Self::Type {
70637                0
70638            }
70639        }
70640        ///Reader of field `LOCK`
70641        pub type LOCK_R = crate::R<bool, bool>;
70642        ///Write proxy for field `LOCK`
70643        pub struct LOCK_W<'a> {
70644            w: &'a mut W,
70645        }
70646        impl<'a> LOCK_W<'a> {
70647            ///Sets the field bit
70648            #[inline(always)]
70649            pub fn set_bit(self) -> &'a mut W {
70650                self.bit(true)
70651            }
70652            ///Clears the field bit
70653            #[inline(always)]
70654            pub fn clear_bit(self) -> &'a mut W {
70655                self.bit(false)
70656            }
70657            ///Writes raw bits to the field
70658            #[inline(always)]
70659            pub fn bit(self, value: bool) -> &'a mut W {
70660                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
70661                self.w
70662            }
70663        }
70664        ///Reader of field `COREID`
70665        pub type COREID_R = crate::R<u8, u8>;
70666        ///Write proxy for field `COREID`
70667        pub struct COREID_W<'a> {
70668            w: &'a mut W,
70669        }
70670        impl<'a> COREID_W<'a> {
70671            ///Writes raw bits to the field
70672            #[inline(always)]
70673            pub unsafe fn bits(self, value: u8) -> &'a mut W {
70674                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
70675                self.w
70676            }
70677        }
70678        ///Reader of field `PROCID`
70679        pub type PROCID_R = crate::R<u8, u8>;
70680        ///Write proxy for field `PROCID`
70681        pub struct PROCID_W<'a> {
70682            w: &'a mut W,
70683        }
70684        impl<'a> PROCID_W<'a> {
70685            ///Writes raw bits to the field
70686            #[inline(always)]
70687            pub unsafe fn bits(self, value: u8) -> &'a mut W {
70688                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
70689                self.w
70690            }
70691        }
70692        impl R {
70693            ///Bit 31 - lock indication
70694            #[inline(always)]
70695            pub fn lock(&self) -> LOCK_R {
70696                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
70697            }
70698            ///Bits 8:11 - Semaphore CoreID
70699            #[inline(always)]
70700            pub fn coreid(&self) -> COREID_R {
70701                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
70702            }
70703            ///Bits 0:7 - Semaphore ProcessID
70704            #[inline(always)]
70705            pub fn procid(&self) -> PROCID_R {
70706                PROCID_R::new((self.bits & 0xff) as u8)
70707            }
70708        }
70709        impl W {
70710            ///Bit 31 - lock indication
70711            #[inline(always)]
70712            pub fn lock(&mut self) -> LOCK_W {
70713                LOCK_W { w: self }
70714            }
70715            ///Bits 8:11 - Semaphore CoreID
70716            #[inline(always)]
70717            pub fn coreid(&mut self) -> COREID_W {
70718                COREID_W { w: self }
70719            }
70720            ///Bits 0:7 - Semaphore ProcessID
70721            #[inline(always)]
70722            pub fn procid(&mut self) -> PROCID_W {
70723                PROCID_W { w: self }
70724            }
70725        }
70726    }
70727    ///Semaphore 24 register
70728    ///
70729    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
70730    ///
70731    ///For information about available fields see [r24](r24) module
70732    pub type R24 = crate::Reg<u32, _R24>;
70733    #[allow(missing_docs)]
70734    #[doc(hidden)]
70735    pub struct _R24;
70736    ///`read()` method returns [r24::R](r24::R) reader structure
70737    impl crate::Readable for R24 {}
70738    ///`write(|w| ..)` method takes [r24::W](r24::W) writer structure
70739    impl crate::Writable for R24 {}
70740    ///Semaphore 24 register
70741    pub mod r24 {
70742        ///Reader of register R24
70743        pub type R = crate::R<u32, super::R24>;
70744        ///Writer for register R24
70745        pub type W = crate::W<u32, super::R24>;
70746        ///Register R24 `reset()`'s with value 0
70747        impl crate::ResetValue for super::R24 {
70748            type Type = u32;
70749            #[inline(always)]
70750            fn reset_value() -> Self::Type {
70751                0
70752            }
70753        }
70754        ///Reader of field `LOCK`
70755        pub type LOCK_R = crate::R<bool, bool>;
70756        ///Write proxy for field `LOCK`
70757        pub struct LOCK_W<'a> {
70758            w: &'a mut W,
70759        }
70760        impl<'a> LOCK_W<'a> {
70761            ///Sets the field bit
70762            #[inline(always)]
70763            pub fn set_bit(self) -> &'a mut W {
70764                self.bit(true)
70765            }
70766            ///Clears the field bit
70767            #[inline(always)]
70768            pub fn clear_bit(self) -> &'a mut W {
70769                self.bit(false)
70770            }
70771            ///Writes raw bits to the field
70772            #[inline(always)]
70773            pub fn bit(self, value: bool) -> &'a mut W {
70774                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
70775                self.w
70776            }
70777        }
70778        ///Reader of field `COREID`
70779        pub type COREID_R = crate::R<u8, u8>;
70780        ///Write proxy for field `COREID`
70781        pub struct COREID_W<'a> {
70782            w: &'a mut W,
70783        }
70784        impl<'a> COREID_W<'a> {
70785            ///Writes raw bits to the field
70786            #[inline(always)]
70787            pub unsafe fn bits(self, value: u8) -> &'a mut W {
70788                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
70789                self.w
70790            }
70791        }
70792        ///Reader of field `PROCID`
70793        pub type PROCID_R = crate::R<u8, u8>;
70794        ///Write proxy for field `PROCID`
70795        pub struct PROCID_W<'a> {
70796            w: &'a mut W,
70797        }
70798        impl<'a> PROCID_W<'a> {
70799            ///Writes raw bits to the field
70800            #[inline(always)]
70801            pub unsafe fn bits(self, value: u8) -> &'a mut W {
70802                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
70803                self.w
70804            }
70805        }
70806        impl R {
70807            ///Bit 31 - lock indication
70808            #[inline(always)]
70809            pub fn lock(&self) -> LOCK_R {
70810                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
70811            }
70812            ///Bits 8:11 - Semaphore CoreID
70813            #[inline(always)]
70814            pub fn coreid(&self) -> COREID_R {
70815                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
70816            }
70817            ///Bits 0:7 - Semaphore ProcessID
70818            #[inline(always)]
70819            pub fn procid(&self) -> PROCID_R {
70820                PROCID_R::new((self.bits & 0xff) as u8)
70821            }
70822        }
70823        impl W {
70824            ///Bit 31 - lock indication
70825            #[inline(always)]
70826            pub fn lock(&mut self) -> LOCK_W {
70827                LOCK_W { w: self }
70828            }
70829            ///Bits 8:11 - Semaphore CoreID
70830            #[inline(always)]
70831            pub fn coreid(&mut self) -> COREID_W {
70832                COREID_W { w: self }
70833            }
70834            ///Bits 0:7 - Semaphore ProcessID
70835            #[inline(always)]
70836            pub fn procid(&mut self) -> PROCID_W {
70837                PROCID_W { w: self }
70838            }
70839        }
70840    }
70841    ///Semaphore 25 register
70842    ///
70843    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
70844    ///
70845    ///For information about available fields see [r25](r25) module
70846    pub type R25 = crate::Reg<u32, _R25>;
70847    #[allow(missing_docs)]
70848    #[doc(hidden)]
70849    pub struct _R25;
70850    ///`read()` method returns [r25::R](r25::R) reader structure
70851    impl crate::Readable for R25 {}
70852    ///`write(|w| ..)` method takes [r25::W](r25::W) writer structure
70853    impl crate::Writable for R25 {}
70854    ///Semaphore 25 register
70855    pub mod r25 {
70856        ///Reader of register R25
70857        pub type R = crate::R<u32, super::R25>;
70858        ///Writer for register R25
70859        pub type W = crate::W<u32, super::R25>;
70860        ///Register R25 `reset()`'s with value 0
70861        impl crate::ResetValue for super::R25 {
70862            type Type = u32;
70863            #[inline(always)]
70864            fn reset_value() -> Self::Type {
70865                0
70866            }
70867        }
70868        ///Reader of field `LOCK`
70869        pub type LOCK_R = crate::R<bool, bool>;
70870        ///Write proxy for field `LOCK`
70871        pub struct LOCK_W<'a> {
70872            w: &'a mut W,
70873        }
70874        impl<'a> LOCK_W<'a> {
70875            ///Sets the field bit
70876            #[inline(always)]
70877            pub fn set_bit(self) -> &'a mut W {
70878                self.bit(true)
70879            }
70880            ///Clears the field bit
70881            #[inline(always)]
70882            pub fn clear_bit(self) -> &'a mut W {
70883                self.bit(false)
70884            }
70885            ///Writes raw bits to the field
70886            #[inline(always)]
70887            pub fn bit(self, value: bool) -> &'a mut W {
70888                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
70889                self.w
70890            }
70891        }
70892        ///Reader of field `COREID`
70893        pub type COREID_R = crate::R<u8, u8>;
70894        ///Write proxy for field `COREID`
70895        pub struct COREID_W<'a> {
70896            w: &'a mut W,
70897        }
70898        impl<'a> COREID_W<'a> {
70899            ///Writes raw bits to the field
70900            #[inline(always)]
70901            pub unsafe fn bits(self, value: u8) -> &'a mut W {
70902                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
70903                self.w
70904            }
70905        }
70906        ///Reader of field `PROCID`
70907        pub type PROCID_R = crate::R<u8, u8>;
70908        ///Write proxy for field `PROCID`
70909        pub struct PROCID_W<'a> {
70910            w: &'a mut W,
70911        }
70912        impl<'a> PROCID_W<'a> {
70913            ///Writes raw bits to the field
70914            #[inline(always)]
70915            pub unsafe fn bits(self, value: u8) -> &'a mut W {
70916                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
70917                self.w
70918            }
70919        }
70920        impl R {
70921            ///Bit 31 - lock indication
70922            #[inline(always)]
70923            pub fn lock(&self) -> LOCK_R {
70924                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
70925            }
70926            ///Bits 8:11 - Semaphore CoreID
70927            #[inline(always)]
70928            pub fn coreid(&self) -> COREID_R {
70929                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
70930            }
70931            ///Bits 0:7 - Semaphore ProcessID
70932            #[inline(always)]
70933            pub fn procid(&self) -> PROCID_R {
70934                PROCID_R::new((self.bits & 0xff) as u8)
70935            }
70936        }
70937        impl W {
70938            ///Bit 31 - lock indication
70939            #[inline(always)]
70940            pub fn lock(&mut self) -> LOCK_W {
70941                LOCK_W { w: self }
70942            }
70943            ///Bits 8:11 - Semaphore CoreID
70944            #[inline(always)]
70945            pub fn coreid(&mut self) -> COREID_W {
70946                COREID_W { w: self }
70947            }
70948            ///Bits 0:7 - Semaphore ProcessID
70949            #[inline(always)]
70950            pub fn procid(&mut self) -> PROCID_W {
70951                PROCID_W { w: self }
70952            }
70953        }
70954    }
70955    ///Semaphore 26 register
70956    ///
70957    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
70958    ///
70959    ///For information about available fields see [r26](r26) module
70960    pub type R26 = crate::Reg<u32, _R26>;
70961    #[allow(missing_docs)]
70962    #[doc(hidden)]
70963    pub struct _R26;
70964    ///`read()` method returns [r26::R](r26::R) reader structure
70965    impl crate::Readable for R26 {}
70966    ///`write(|w| ..)` method takes [r26::W](r26::W) writer structure
70967    impl crate::Writable for R26 {}
70968    ///Semaphore 26 register
70969    pub mod r26 {
70970        ///Reader of register R26
70971        pub type R = crate::R<u32, super::R26>;
70972        ///Writer for register R26
70973        pub type W = crate::W<u32, super::R26>;
70974        ///Register R26 `reset()`'s with value 0
70975        impl crate::ResetValue for super::R26 {
70976            type Type = u32;
70977            #[inline(always)]
70978            fn reset_value() -> Self::Type {
70979                0
70980            }
70981        }
70982        ///Reader of field `LOCK`
70983        pub type LOCK_R = crate::R<bool, bool>;
70984        ///Write proxy for field `LOCK`
70985        pub struct LOCK_W<'a> {
70986            w: &'a mut W,
70987        }
70988        impl<'a> LOCK_W<'a> {
70989            ///Sets the field bit
70990            #[inline(always)]
70991            pub fn set_bit(self) -> &'a mut W {
70992                self.bit(true)
70993            }
70994            ///Clears the field bit
70995            #[inline(always)]
70996            pub fn clear_bit(self) -> &'a mut W {
70997                self.bit(false)
70998            }
70999            ///Writes raw bits to the field
71000            #[inline(always)]
71001            pub fn bit(self, value: bool) -> &'a mut W {
71002                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
71003                self.w
71004            }
71005        }
71006        ///Reader of field `COREID`
71007        pub type COREID_R = crate::R<u8, u8>;
71008        ///Write proxy for field `COREID`
71009        pub struct COREID_W<'a> {
71010            w: &'a mut W,
71011        }
71012        impl<'a> COREID_W<'a> {
71013            ///Writes raw bits to the field
71014            #[inline(always)]
71015            pub unsafe fn bits(self, value: u8) -> &'a mut W {
71016                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
71017                self.w
71018            }
71019        }
71020        ///Reader of field `PROCID`
71021        pub type PROCID_R = crate::R<u8, u8>;
71022        ///Write proxy for field `PROCID`
71023        pub struct PROCID_W<'a> {
71024            w: &'a mut W,
71025        }
71026        impl<'a> PROCID_W<'a> {
71027            ///Writes raw bits to the field
71028            #[inline(always)]
71029            pub unsafe fn bits(self, value: u8) -> &'a mut W {
71030                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
71031                self.w
71032            }
71033        }
71034        impl R {
71035            ///Bit 31 - lock indication
71036            #[inline(always)]
71037            pub fn lock(&self) -> LOCK_R {
71038                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
71039            }
71040            ///Bits 8:11 - Semaphore CoreID
71041            #[inline(always)]
71042            pub fn coreid(&self) -> COREID_R {
71043                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
71044            }
71045            ///Bits 0:7 - Semaphore ProcessID
71046            #[inline(always)]
71047            pub fn procid(&self) -> PROCID_R {
71048                PROCID_R::new((self.bits & 0xff) as u8)
71049            }
71050        }
71051        impl W {
71052            ///Bit 31 - lock indication
71053            #[inline(always)]
71054            pub fn lock(&mut self) -> LOCK_W {
71055                LOCK_W { w: self }
71056            }
71057            ///Bits 8:11 - Semaphore CoreID
71058            #[inline(always)]
71059            pub fn coreid(&mut self) -> COREID_W {
71060                COREID_W { w: self }
71061            }
71062            ///Bits 0:7 - Semaphore ProcessID
71063            #[inline(always)]
71064            pub fn procid(&mut self) -> PROCID_W {
71065                PROCID_W { w: self }
71066            }
71067        }
71068    }
71069    ///Semaphore 27 register
71070    ///
71071    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
71072    ///
71073    ///For information about available fields see [r27](r27) module
71074    pub type R27 = crate::Reg<u32, _R27>;
71075    #[allow(missing_docs)]
71076    #[doc(hidden)]
71077    pub struct _R27;
71078    ///`read()` method returns [r27::R](r27::R) reader structure
71079    impl crate::Readable for R27 {}
71080    ///`write(|w| ..)` method takes [r27::W](r27::W) writer structure
71081    impl crate::Writable for R27 {}
71082    ///Semaphore 27 register
71083    pub mod r27 {
71084        ///Reader of register R27
71085        pub type R = crate::R<u32, super::R27>;
71086        ///Writer for register R27
71087        pub type W = crate::W<u32, super::R27>;
71088        ///Register R27 `reset()`'s with value 0
71089        impl crate::ResetValue for super::R27 {
71090            type Type = u32;
71091            #[inline(always)]
71092            fn reset_value() -> Self::Type {
71093                0
71094            }
71095        }
71096        ///Reader of field `LOCK`
71097        pub type LOCK_R = crate::R<bool, bool>;
71098        ///Write proxy for field `LOCK`
71099        pub struct LOCK_W<'a> {
71100            w: &'a mut W,
71101        }
71102        impl<'a> LOCK_W<'a> {
71103            ///Sets the field bit
71104            #[inline(always)]
71105            pub fn set_bit(self) -> &'a mut W {
71106                self.bit(true)
71107            }
71108            ///Clears the field bit
71109            #[inline(always)]
71110            pub fn clear_bit(self) -> &'a mut W {
71111                self.bit(false)
71112            }
71113            ///Writes raw bits to the field
71114            #[inline(always)]
71115            pub fn bit(self, value: bool) -> &'a mut W {
71116                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
71117                self.w
71118            }
71119        }
71120        ///Reader of field `COREID`
71121        pub type COREID_R = crate::R<u8, u8>;
71122        ///Write proxy for field `COREID`
71123        pub struct COREID_W<'a> {
71124            w: &'a mut W,
71125        }
71126        impl<'a> COREID_W<'a> {
71127            ///Writes raw bits to the field
71128            #[inline(always)]
71129            pub unsafe fn bits(self, value: u8) -> &'a mut W {
71130                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
71131                self.w
71132            }
71133        }
71134        ///Reader of field `PROCID`
71135        pub type PROCID_R = crate::R<u8, u8>;
71136        ///Write proxy for field `PROCID`
71137        pub struct PROCID_W<'a> {
71138            w: &'a mut W,
71139        }
71140        impl<'a> PROCID_W<'a> {
71141            ///Writes raw bits to the field
71142            #[inline(always)]
71143            pub unsafe fn bits(self, value: u8) -> &'a mut W {
71144                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
71145                self.w
71146            }
71147        }
71148        impl R {
71149            ///Bit 31 - lock indication
71150            #[inline(always)]
71151            pub fn lock(&self) -> LOCK_R {
71152                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
71153            }
71154            ///Bits 8:11 - Semaphore CoreID
71155            #[inline(always)]
71156            pub fn coreid(&self) -> COREID_R {
71157                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
71158            }
71159            ///Bits 0:7 - Semaphore ProcessID
71160            #[inline(always)]
71161            pub fn procid(&self) -> PROCID_R {
71162                PROCID_R::new((self.bits & 0xff) as u8)
71163            }
71164        }
71165        impl W {
71166            ///Bit 31 - lock indication
71167            #[inline(always)]
71168            pub fn lock(&mut self) -> LOCK_W {
71169                LOCK_W { w: self }
71170            }
71171            ///Bits 8:11 - Semaphore CoreID
71172            #[inline(always)]
71173            pub fn coreid(&mut self) -> COREID_W {
71174                COREID_W { w: self }
71175            }
71176            ///Bits 0:7 - Semaphore ProcessID
71177            #[inline(always)]
71178            pub fn procid(&mut self) -> PROCID_W {
71179                PROCID_W { w: self }
71180            }
71181        }
71182    }
71183    ///Semaphore 28 register
71184    ///
71185    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
71186    ///
71187    ///For information about available fields see [r28](r28) module
71188    pub type R28 = crate::Reg<u32, _R28>;
71189    #[allow(missing_docs)]
71190    #[doc(hidden)]
71191    pub struct _R28;
71192    ///`read()` method returns [r28::R](r28::R) reader structure
71193    impl crate::Readable for R28 {}
71194    ///`write(|w| ..)` method takes [r28::W](r28::W) writer structure
71195    impl crate::Writable for R28 {}
71196    ///Semaphore 28 register
71197    pub mod r28 {
71198        ///Reader of register R28
71199        pub type R = crate::R<u32, super::R28>;
71200        ///Writer for register R28
71201        pub type W = crate::W<u32, super::R28>;
71202        ///Register R28 `reset()`'s with value 0
71203        impl crate::ResetValue for super::R28 {
71204            type Type = u32;
71205            #[inline(always)]
71206            fn reset_value() -> Self::Type {
71207                0
71208            }
71209        }
71210        ///Reader of field `LOCK`
71211        pub type LOCK_R = crate::R<bool, bool>;
71212        ///Write proxy for field `LOCK`
71213        pub struct LOCK_W<'a> {
71214            w: &'a mut W,
71215        }
71216        impl<'a> LOCK_W<'a> {
71217            ///Sets the field bit
71218            #[inline(always)]
71219            pub fn set_bit(self) -> &'a mut W {
71220                self.bit(true)
71221            }
71222            ///Clears the field bit
71223            #[inline(always)]
71224            pub fn clear_bit(self) -> &'a mut W {
71225                self.bit(false)
71226            }
71227            ///Writes raw bits to the field
71228            #[inline(always)]
71229            pub fn bit(self, value: bool) -> &'a mut W {
71230                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
71231                self.w
71232            }
71233        }
71234        ///Reader of field `COREID`
71235        pub type COREID_R = crate::R<u8, u8>;
71236        ///Write proxy for field `COREID`
71237        pub struct COREID_W<'a> {
71238            w: &'a mut W,
71239        }
71240        impl<'a> COREID_W<'a> {
71241            ///Writes raw bits to the field
71242            #[inline(always)]
71243            pub unsafe fn bits(self, value: u8) -> &'a mut W {
71244                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
71245                self.w
71246            }
71247        }
71248        ///Reader of field `PROCID`
71249        pub type PROCID_R = crate::R<u8, u8>;
71250        ///Write proxy for field `PROCID`
71251        pub struct PROCID_W<'a> {
71252            w: &'a mut W,
71253        }
71254        impl<'a> PROCID_W<'a> {
71255            ///Writes raw bits to the field
71256            #[inline(always)]
71257            pub unsafe fn bits(self, value: u8) -> &'a mut W {
71258                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
71259                self.w
71260            }
71261        }
71262        impl R {
71263            ///Bit 31 - lock indication
71264            #[inline(always)]
71265            pub fn lock(&self) -> LOCK_R {
71266                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
71267            }
71268            ///Bits 8:11 - Semaphore CoreID
71269            #[inline(always)]
71270            pub fn coreid(&self) -> COREID_R {
71271                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
71272            }
71273            ///Bits 0:7 - Semaphore ProcessID
71274            #[inline(always)]
71275            pub fn procid(&self) -> PROCID_R {
71276                PROCID_R::new((self.bits & 0xff) as u8)
71277            }
71278        }
71279        impl W {
71280            ///Bit 31 - lock indication
71281            #[inline(always)]
71282            pub fn lock(&mut self) -> LOCK_W {
71283                LOCK_W { w: self }
71284            }
71285            ///Bits 8:11 - Semaphore CoreID
71286            #[inline(always)]
71287            pub fn coreid(&mut self) -> COREID_W {
71288                COREID_W { w: self }
71289            }
71290            ///Bits 0:7 - Semaphore ProcessID
71291            #[inline(always)]
71292            pub fn procid(&mut self) -> PROCID_W {
71293                PROCID_W { w: self }
71294            }
71295        }
71296    }
71297    ///Semaphore 29 register
71298    ///
71299    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
71300    ///
71301    ///For information about available fields see [r29](r29) module
71302    pub type R29 = crate::Reg<u32, _R29>;
71303    #[allow(missing_docs)]
71304    #[doc(hidden)]
71305    pub struct _R29;
71306    ///`read()` method returns [r29::R](r29::R) reader structure
71307    impl crate::Readable for R29 {}
71308    ///`write(|w| ..)` method takes [r29::W](r29::W) writer structure
71309    impl crate::Writable for R29 {}
71310    ///Semaphore 29 register
71311    pub mod r29 {
71312        ///Reader of register R29
71313        pub type R = crate::R<u32, super::R29>;
71314        ///Writer for register R29
71315        pub type W = crate::W<u32, super::R29>;
71316        ///Register R29 `reset()`'s with value 0
71317        impl crate::ResetValue for super::R29 {
71318            type Type = u32;
71319            #[inline(always)]
71320            fn reset_value() -> Self::Type {
71321                0
71322            }
71323        }
71324        ///Reader of field `LOCK`
71325        pub type LOCK_R = crate::R<bool, bool>;
71326        ///Write proxy for field `LOCK`
71327        pub struct LOCK_W<'a> {
71328            w: &'a mut W,
71329        }
71330        impl<'a> LOCK_W<'a> {
71331            ///Sets the field bit
71332            #[inline(always)]
71333            pub fn set_bit(self) -> &'a mut W {
71334                self.bit(true)
71335            }
71336            ///Clears the field bit
71337            #[inline(always)]
71338            pub fn clear_bit(self) -> &'a mut W {
71339                self.bit(false)
71340            }
71341            ///Writes raw bits to the field
71342            #[inline(always)]
71343            pub fn bit(self, value: bool) -> &'a mut W {
71344                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
71345                self.w
71346            }
71347        }
71348        ///Reader of field `COREID`
71349        pub type COREID_R = crate::R<u8, u8>;
71350        ///Write proxy for field `COREID`
71351        pub struct COREID_W<'a> {
71352            w: &'a mut W,
71353        }
71354        impl<'a> COREID_W<'a> {
71355            ///Writes raw bits to the field
71356            #[inline(always)]
71357            pub unsafe fn bits(self, value: u8) -> &'a mut W {
71358                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
71359                self.w
71360            }
71361        }
71362        ///Reader of field `PROCID`
71363        pub type PROCID_R = crate::R<u8, u8>;
71364        ///Write proxy for field `PROCID`
71365        pub struct PROCID_W<'a> {
71366            w: &'a mut W,
71367        }
71368        impl<'a> PROCID_W<'a> {
71369            ///Writes raw bits to the field
71370            #[inline(always)]
71371            pub unsafe fn bits(self, value: u8) -> &'a mut W {
71372                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
71373                self.w
71374            }
71375        }
71376        impl R {
71377            ///Bit 31 - lock indication
71378            #[inline(always)]
71379            pub fn lock(&self) -> LOCK_R {
71380                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
71381            }
71382            ///Bits 8:11 - Semaphore CoreID
71383            #[inline(always)]
71384            pub fn coreid(&self) -> COREID_R {
71385                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
71386            }
71387            ///Bits 0:7 - Semaphore ProcessID
71388            #[inline(always)]
71389            pub fn procid(&self) -> PROCID_R {
71390                PROCID_R::new((self.bits & 0xff) as u8)
71391            }
71392        }
71393        impl W {
71394            ///Bit 31 - lock indication
71395            #[inline(always)]
71396            pub fn lock(&mut self) -> LOCK_W {
71397                LOCK_W { w: self }
71398            }
71399            ///Bits 8:11 - Semaphore CoreID
71400            #[inline(always)]
71401            pub fn coreid(&mut self) -> COREID_W {
71402                COREID_W { w: self }
71403            }
71404            ///Bits 0:7 - Semaphore ProcessID
71405            #[inline(always)]
71406            pub fn procid(&mut self) -> PROCID_W {
71407                PROCID_W { w: self }
71408            }
71409        }
71410    }
71411    ///Semaphore 30 register
71412    ///
71413    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
71414    ///
71415    ///For information about available fields see [r30](r30) module
71416    pub type R30 = crate::Reg<u32, _R30>;
71417    #[allow(missing_docs)]
71418    #[doc(hidden)]
71419    pub struct _R30;
71420    ///`read()` method returns [r30::R](r30::R) reader structure
71421    impl crate::Readable for R30 {}
71422    ///`write(|w| ..)` method takes [r30::W](r30::W) writer structure
71423    impl crate::Writable for R30 {}
71424    ///Semaphore 30 register
71425    pub mod r30 {
71426        ///Reader of register R30
71427        pub type R = crate::R<u32, super::R30>;
71428        ///Writer for register R30
71429        pub type W = crate::W<u32, super::R30>;
71430        ///Register R30 `reset()`'s with value 0
71431        impl crate::ResetValue for super::R30 {
71432            type Type = u32;
71433            #[inline(always)]
71434            fn reset_value() -> Self::Type {
71435                0
71436            }
71437        }
71438        ///Reader of field `LOCK`
71439        pub type LOCK_R = crate::R<bool, bool>;
71440        ///Write proxy for field `LOCK`
71441        pub struct LOCK_W<'a> {
71442            w: &'a mut W,
71443        }
71444        impl<'a> LOCK_W<'a> {
71445            ///Sets the field bit
71446            #[inline(always)]
71447            pub fn set_bit(self) -> &'a mut W {
71448                self.bit(true)
71449            }
71450            ///Clears the field bit
71451            #[inline(always)]
71452            pub fn clear_bit(self) -> &'a mut W {
71453                self.bit(false)
71454            }
71455            ///Writes raw bits to the field
71456            #[inline(always)]
71457            pub fn bit(self, value: bool) -> &'a mut W {
71458                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
71459                self.w
71460            }
71461        }
71462        ///Reader of field `COREID`
71463        pub type COREID_R = crate::R<u8, u8>;
71464        ///Write proxy for field `COREID`
71465        pub struct COREID_W<'a> {
71466            w: &'a mut W,
71467        }
71468        impl<'a> COREID_W<'a> {
71469            ///Writes raw bits to the field
71470            #[inline(always)]
71471            pub unsafe fn bits(self, value: u8) -> &'a mut W {
71472                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
71473                self.w
71474            }
71475        }
71476        ///Reader of field `PROCID`
71477        pub type PROCID_R = crate::R<u8, u8>;
71478        ///Write proxy for field `PROCID`
71479        pub struct PROCID_W<'a> {
71480            w: &'a mut W,
71481        }
71482        impl<'a> PROCID_W<'a> {
71483            ///Writes raw bits to the field
71484            #[inline(always)]
71485            pub unsafe fn bits(self, value: u8) -> &'a mut W {
71486                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
71487                self.w
71488            }
71489        }
71490        impl R {
71491            ///Bit 31 - lock indication
71492            #[inline(always)]
71493            pub fn lock(&self) -> LOCK_R {
71494                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
71495            }
71496            ///Bits 8:11 - Semaphore CoreID
71497            #[inline(always)]
71498            pub fn coreid(&self) -> COREID_R {
71499                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
71500            }
71501            ///Bits 0:7 - Semaphore ProcessID
71502            #[inline(always)]
71503            pub fn procid(&self) -> PROCID_R {
71504                PROCID_R::new((self.bits & 0xff) as u8)
71505            }
71506        }
71507        impl W {
71508            ///Bit 31 - lock indication
71509            #[inline(always)]
71510            pub fn lock(&mut self) -> LOCK_W {
71511                LOCK_W { w: self }
71512            }
71513            ///Bits 8:11 - Semaphore CoreID
71514            #[inline(always)]
71515            pub fn coreid(&mut self) -> COREID_W {
71516                COREID_W { w: self }
71517            }
71518            ///Bits 0:7 - Semaphore ProcessID
71519            #[inline(always)]
71520            pub fn procid(&mut self) -> PROCID_W {
71521                PROCID_W { w: self }
71522            }
71523        }
71524    }
71525    ///Semaphore 31 register
71526    ///
71527    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
71528    ///
71529    ///For information about available fields see [r31](r31) module
71530    pub type R31 = crate::Reg<u32, _R31>;
71531    #[allow(missing_docs)]
71532    #[doc(hidden)]
71533    pub struct _R31;
71534    ///`read()` method returns [r31::R](r31::R) reader structure
71535    impl crate::Readable for R31 {}
71536    ///`write(|w| ..)` method takes [r31::W](r31::W) writer structure
71537    impl crate::Writable for R31 {}
71538    ///Semaphore 31 register
71539    pub mod r31 {
71540        ///Reader of register R31
71541        pub type R = crate::R<u32, super::R31>;
71542        ///Writer for register R31
71543        pub type W = crate::W<u32, super::R31>;
71544        ///Register R31 `reset()`'s with value 0
71545        impl crate::ResetValue for super::R31 {
71546            type Type = u32;
71547            #[inline(always)]
71548            fn reset_value() -> Self::Type {
71549                0
71550            }
71551        }
71552        ///Reader of field `LOCK`
71553        pub type LOCK_R = crate::R<bool, bool>;
71554        ///Write proxy for field `LOCK`
71555        pub struct LOCK_W<'a> {
71556            w: &'a mut W,
71557        }
71558        impl<'a> LOCK_W<'a> {
71559            ///Sets the field bit
71560            #[inline(always)]
71561            pub fn set_bit(self) -> &'a mut W {
71562                self.bit(true)
71563            }
71564            ///Clears the field bit
71565            #[inline(always)]
71566            pub fn clear_bit(self) -> &'a mut W {
71567                self.bit(false)
71568            }
71569            ///Writes raw bits to the field
71570            #[inline(always)]
71571            pub fn bit(self, value: bool) -> &'a mut W {
71572                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
71573                self.w
71574            }
71575        }
71576        ///Reader of field `COREID`
71577        pub type COREID_R = crate::R<u8, u8>;
71578        ///Write proxy for field `COREID`
71579        pub struct COREID_W<'a> {
71580            w: &'a mut W,
71581        }
71582        impl<'a> COREID_W<'a> {
71583            ///Writes raw bits to the field
71584            #[inline(always)]
71585            pub unsafe fn bits(self, value: u8) -> &'a mut W {
71586                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
71587                self.w
71588            }
71589        }
71590        ///Reader of field `PROCID`
71591        pub type PROCID_R = crate::R<u8, u8>;
71592        ///Write proxy for field `PROCID`
71593        pub struct PROCID_W<'a> {
71594            w: &'a mut W,
71595        }
71596        impl<'a> PROCID_W<'a> {
71597            ///Writes raw bits to the field
71598            #[inline(always)]
71599            pub unsafe fn bits(self, value: u8) -> &'a mut W {
71600                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
71601                self.w
71602            }
71603        }
71604        impl R {
71605            ///Bit 31 - lock indication
71606            #[inline(always)]
71607            pub fn lock(&self) -> LOCK_R {
71608                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
71609            }
71610            ///Bits 8:11 - Semaphore CoreID
71611            #[inline(always)]
71612            pub fn coreid(&self) -> COREID_R {
71613                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
71614            }
71615            ///Bits 0:7 - Semaphore ProcessID
71616            #[inline(always)]
71617            pub fn procid(&self) -> PROCID_R {
71618                PROCID_R::new((self.bits & 0xff) as u8)
71619            }
71620        }
71621        impl W {
71622            ///Bit 31 - lock indication
71623            #[inline(always)]
71624            pub fn lock(&mut self) -> LOCK_W {
71625                LOCK_W { w: self }
71626            }
71627            ///Bits 8:11 - Semaphore CoreID
71628            #[inline(always)]
71629            pub fn coreid(&mut self) -> COREID_W {
71630                COREID_W { w: self }
71631            }
71632            ///Bits 0:7 - Semaphore ProcessID
71633            #[inline(always)]
71634            pub fn procid(&mut self) -> PROCID_W {
71635                PROCID_W { w: self }
71636            }
71637        }
71638    }
71639    ///Semaphore 0 read lock register
71640    ///
71641    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
71642    ///
71643    ///For information about available fields see [rlr0](rlr0) module
71644    pub type RLR0 = crate::Reg<u32, _RLR0>;
71645    #[allow(missing_docs)]
71646    #[doc(hidden)]
71647    pub struct _RLR0;
71648    ///`read()` method returns [rlr0::R](rlr0::R) reader structure
71649    impl crate::Readable for RLR0 {}
71650    ///Semaphore 0 read lock register
71651    pub mod rlr0 {
71652        ///Reader of register RLR0
71653        pub type R = crate::R<u32, super::RLR0>;
71654        ///Reader of field `LOCK`
71655        pub type LOCK_R = crate::R<bool, bool>;
71656        ///Reader of field `COREID`
71657        pub type COREID_R = crate::R<u8, u8>;
71658        ///Reader of field `PROCID`
71659        pub type PROCID_R = crate::R<u8, u8>;
71660        impl R {
71661            ///Bit 31 - lock indication
71662            #[inline(always)]
71663            pub fn lock(&self) -> LOCK_R {
71664                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
71665            }
71666            ///Bits 8:11 - Semaphore CoreID
71667            #[inline(always)]
71668            pub fn coreid(&self) -> COREID_R {
71669                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
71670            }
71671            ///Bits 0:7 - Semaphore ProcessID
71672            #[inline(always)]
71673            pub fn procid(&self) -> PROCID_R {
71674                PROCID_R::new((self.bits & 0xff) as u8)
71675            }
71676        }
71677    }
71678    ///Semaphore 1 read lock register
71679    ///
71680    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
71681    ///
71682    ///For information about available fields see [rlr1](rlr1) module
71683    pub type RLR1 = crate::Reg<u32, _RLR1>;
71684    #[allow(missing_docs)]
71685    #[doc(hidden)]
71686    pub struct _RLR1;
71687    ///`read()` method returns [rlr1::R](rlr1::R) reader structure
71688    impl crate::Readable for RLR1 {}
71689    ///Semaphore 1 read lock register
71690    pub mod rlr1 {
71691        ///Reader of register RLR1
71692        pub type R = crate::R<u32, super::RLR1>;
71693        ///Reader of field `LOCK`
71694        pub type LOCK_R = crate::R<bool, bool>;
71695        ///Reader of field `COREID`
71696        pub type COREID_R = crate::R<u8, u8>;
71697        ///Reader of field `PROCID`
71698        pub type PROCID_R = crate::R<u8, u8>;
71699        impl R {
71700            ///Bit 31 - lock indication
71701            #[inline(always)]
71702            pub fn lock(&self) -> LOCK_R {
71703                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
71704            }
71705            ///Bits 8:11 - Semaphore CoreID
71706            #[inline(always)]
71707            pub fn coreid(&self) -> COREID_R {
71708                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
71709            }
71710            ///Bits 0:7 - Semaphore ProcessID
71711            #[inline(always)]
71712            pub fn procid(&self) -> PROCID_R {
71713                PROCID_R::new((self.bits & 0xff) as u8)
71714            }
71715        }
71716    }
71717    ///Semaphore 2 read lock register
71718    ///
71719    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
71720    ///
71721    ///For information about available fields see [rlr2](rlr2) module
71722    pub type RLR2 = crate::Reg<u32, _RLR2>;
71723    #[allow(missing_docs)]
71724    #[doc(hidden)]
71725    pub struct _RLR2;
71726    ///`read()` method returns [rlr2::R](rlr2::R) reader structure
71727    impl crate::Readable for RLR2 {}
71728    ///Semaphore 2 read lock register
71729    pub mod rlr2 {
71730        ///Reader of register RLR2
71731        pub type R = crate::R<u32, super::RLR2>;
71732        ///Reader of field `LOCK`
71733        pub type LOCK_R = crate::R<bool, bool>;
71734        ///Reader of field `COREID`
71735        pub type COREID_R = crate::R<u8, u8>;
71736        ///Reader of field `PROCID`
71737        pub type PROCID_R = crate::R<u8, u8>;
71738        impl R {
71739            ///Bit 31 - lock indication
71740            #[inline(always)]
71741            pub fn lock(&self) -> LOCK_R {
71742                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
71743            }
71744            ///Bits 8:11 - Semaphore CoreID
71745            #[inline(always)]
71746            pub fn coreid(&self) -> COREID_R {
71747                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
71748            }
71749            ///Bits 0:7 - Semaphore ProcessID
71750            #[inline(always)]
71751            pub fn procid(&self) -> PROCID_R {
71752                PROCID_R::new((self.bits & 0xff) as u8)
71753            }
71754        }
71755    }
71756    ///Semaphore 3 read lock register
71757    ///
71758    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
71759    ///
71760    ///For information about available fields see [rlr3](rlr3) module
71761    pub type RLR3 = crate::Reg<u32, _RLR3>;
71762    #[allow(missing_docs)]
71763    #[doc(hidden)]
71764    pub struct _RLR3;
71765    ///`read()` method returns [rlr3::R](rlr3::R) reader structure
71766    impl crate::Readable for RLR3 {}
71767    ///Semaphore 3 read lock register
71768    pub mod rlr3 {
71769        ///Reader of register RLR3
71770        pub type R = crate::R<u32, super::RLR3>;
71771        ///Reader of field `LOCK`
71772        pub type LOCK_R = crate::R<bool, bool>;
71773        ///Reader of field `COREID`
71774        pub type COREID_R = crate::R<u8, u8>;
71775        ///Reader of field `PROCID`
71776        pub type PROCID_R = crate::R<u8, u8>;
71777        impl R {
71778            ///Bit 31 - lock indication
71779            #[inline(always)]
71780            pub fn lock(&self) -> LOCK_R {
71781                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
71782            }
71783            ///Bits 8:11 - Semaphore CoreID
71784            #[inline(always)]
71785            pub fn coreid(&self) -> COREID_R {
71786                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
71787            }
71788            ///Bits 0:7 - Semaphore ProcessID
71789            #[inline(always)]
71790            pub fn procid(&self) -> PROCID_R {
71791                PROCID_R::new((self.bits & 0xff) as u8)
71792            }
71793        }
71794    }
71795    ///Semaphore 4 read lock read lock register
71796    ///
71797    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
71798    ///
71799    ///For information about available fields see [rlr4](rlr4) module
71800    pub type RLR4 = crate::Reg<u32, _RLR4>;
71801    #[allow(missing_docs)]
71802    #[doc(hidden)]
71803    pub struct _RLR4;
71804    ///`read()` method returns [rlr4::R](rlr4::R) reader structure
71805    impl crate::Readable for RLR4 {}
71806    ///Semaphore 4 read lock read lock register
71807    pub mod rlr4 {
71808        ///Reader of register RLR4
71809        pub type R = crate::R<u32, super::RLR4>;
71810        ///Reader of field `LOCK`
71811        pub type LOCK_R = crate::R<bool, bool>;
71812        ///Reader of field `COREID`
71813        pub type COREID_R = crate::R<u8, u8>;
71814        ///Reader of field `PROCID`
71815        pub type PROCID_R = crate::R<u8, u8>;
71816        impl R {
71817            ///Bit 31 - lock indication
71818            #[inline(always)]
71819            pub fn lock(&self) -> LOCK_R {
71820                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
71821            }
71822            ///Bits 8:11 - Semaphore CoreID
71823            #[inline(always)]
71824            pub fn coreid(&self) -> COREID_R {
71825                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
71826            }
71827            ///Bits 0:7 - Semaphore ProcessID
71828            #[inline(always)]
71829            pub fn procid(&self) -> PROCID_R {
71830                PROCID_R::new((self.bits & 0xff) as u8)
71831            }
71832        }
71833    }
71834    ///Semaphore 5 read lock register
71835    ///
71836    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
71837    ///
71838    ///For information about available fields see [rlr5](rlr5) module
71839    pub type RLR5 = crate::Reg<u32, _RLR5>;
71840    #[allow(missing_docs)]
71841    #[doc(hidden)]
71842    pub struct _RLR5;
71843    ///`read()` method returns [rlr5::R](rlr5::R) reader structure
71844    impl crate::Readable for RLR5 {}
71845    ///Semaphore 5 read lock register
71846    pub mod rlr5 {
71847        ///Reader of register RLR5
71848        pub type R = crate::R<u32, super::RLR5>;
71849        ///Reader of field `LOCK`
71850        pub type LOCK_R = crate::R<bool, bool>;
71851        ///Reader of field `COREID`
71852        pub type COREID_R = crate::R<u8, u8>;
71853        ///Reader of field `PROCID`
71854        pub type PROCID_R = crate::R<u8, u8>;
71855        impl R {
71856            ///Bit 31 - lock indication
71857            #[inline(always)]
71858            pub fn lock(&self) -> LOCK_R {
71859                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
71860            }
71861            ///Bits 8:11 - Semaphore CoreID
71862            #[inline(always)]
71863            pub fn coreid(&self) -> COREID_R {
71864                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
71865            }
71866            ///Bits 0:7 - Semaphore ProcessID
71867            #[inline(always)]
71868            pub fn procid(&self) -> PROCID_R {
71869                PROCID_R::new((self.bits & 0xff) as u8)
71870            }
71871        }
71872    }
71873    ///Semaphore 6 read lock register
71874    ///
71875    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
71876    ///
71877    ///For information about available fields see [rlr6](rlr6) module
71878    pub type RLR6 = crate::Reg<u32, _RLR6>;
71879    #[allow(missing_docs)]
71880    #[doc(hidden)]
71881    pub struct _RLR6;
71882    ///`read()` method returns [rlr6::R](rlr6::R) reader structure
71883    impl crate::Readable for RLR6 {}
71884    ///Semaphore 6 read lock register
71885    pub mod rlr6 {
71886        ///Reader of register RLR6
71887        pub type R = crate::R<u32, super::RLR6>;
71888        ///Reader of field `LOCK`
71889        pub type LOCK_R = crate::R<bool, bool>;
71890        ///Reader of field `COREID`
71891        pub type COREID_R = crate::R<u8, u8>;
71892        ///Reader of field `PROCID`
71893        pub type PROCID_R = crate::R<u8, u8>;
71894        impl R {
71895            ///Bit 31 - lock indication
71896            #[inline(always)]
71897            pub fn lock(&self) -> LOCK_R {
71898                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
71899            }
71900            ///Bits 8:11 - Semaphore CoreID
71901            #[inline(always)]
71902            pub fn coreid(&self) -> COREID_R {
71903                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
71904            }
71905            ///Bits 0:7 - Semaphore ProcessID
71906            #[inline(always)]
71907            pub fn procid(&self) -> PROCID_R {
71908                PROCID_R::new((self.bits & 0xff) as u8)
71909            }
71910        }
71911    }
71912    ///Semaphore 7 read lock register
71913    ///
71914    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
71915    ///
71916    ///For information about available fields see [rlr7](rlr7) module
71917    pub type RLR7 = crate::Reg<u32, _RLR7>;
71918    #[allow(missing_docs)]
71919    #[doc(hidden)]
71920    pub struct _RLR7;
71921    ///`read()` method returns [rlr7::R](rlr7::R) reader structure
71922    impl crate::Readable for RLR7 {}
71923    ///Semaphore 7 read lock register
71924    pub mod rlr7 {
71925        ///Reader of register RLR7
71926        pub type R = crate::R<u32, super::RLR7>;
71927        ///Reader of field `LOCK`
71928        pub type LOCK_R = crate::R<bool, bool>;
71929        ///Reader of field `COREID`
71930        pub type COREID_R = crate::R<u8, u8>;
71931        ///Reader of field `PROCID`
71932        pub type PROCID_R = crate::R<u8, u8>;
71933        impl R {
71934            ///Bit 31 - lock indication
71935            #[inline(always)]
71936            pub fn lock(&self) -> LOCK_R {
71937                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
71938            }
71939            ///Bits 8:11 - Semaphore CoreID
71940            #[inline(always)]
71941            pub fn coreid(&self) -> COREID_R {
71942                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
71943            }
71944            ///Bits 0:7 - Semaphore ProcessID
71945            #[inline(always)]
71946            pub fn procid(&self) -> PROCID_R {
71947                PROCID_R::new((self.bits & 0xff) as u8)
71948            }
71949        }
71950    }
71951    ///Semaphore 8 read lock register
71952    ///
71953    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
71954    ///
71955    ///For information about available fields see [rlr8](rlr8) module
71956    pub type RLR8 = crate::Reg<u32, _RLR8>;
71957    #[allow(missing_docs)]
71958    #[doc(hidden)]
71959    pub struct _RLR8;
71960    ///`read()` method returns [rlr8::R](rlr8::R) reader structure
71961    impl crate::Readable for RLR8 {}
71962    ///Semaphore 8 read lock register
71963    pub mod rlr8 {
71964        ///Reader of register RLR8
71965        pub type R = crate::R<u32, super::RLR8>;
71966        ///Reader of field `LOCK`
71967        pub type LOCK_R = crate::R<bool, bool>;
71968        ///Reader of field `COREID`
71969        pub type COREID_R = crate::R<u8, u8>;
71970        ///Reader of field `PROCID`
71971        pub type PROCID_R = crate::R<u8, u8>;
71972        impl R {
71973            ///Bit 31 - lock indication
71974            #[inline(always)]
71975            pub fn lock(&self) -> LOCK_R {
71976                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
71977            }
71978            ///Bits 8:11 - Semaphore CoreID
71979            #[inline(always)]
71980            pub fn coreid(&self) -> COREID_R {
71981                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
71982            }
71983            ///Bits 0:7 - Semaphore ProcessID
71984            #[inline(always)]
71985            pub fn procid(&self) -> PROCID_R {
71986                PROCID_R::new((self.bits & 0xff) as u8)
71987            }
71988        }
71989    }
71990    ///Semaphore 9 read lock register
71991    ///
71992    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
71993    ///
71994    ///For information about available fields see [rlr9](rlr9) module
71995    pub type RLR9 = crate::Reg<u32, _RLR9>;
71996    #[allow(missing_docs)]
71997    #[doc(hidden)]
71998    pub struct _RLR9;
71999    ///`read()` method returns [rlr9::R](rlr9::R) reader structure
72000    impl crate::Readable for RLR9 {}
72001    ///Semaphore 9 read lock register
72002    pub mod rlr9 {
72003        ///Reader of register RLR9
72004        pub type R = crate::R<u32, super::RLR9>;
72005        ///Reader of field `LOCK`
72006        pub type LOCK_R = crate::R<bool, bool>;
72007        ///Reader of field `COREID`
72008        pub type COREID_R = crate::R<u8, u8>;
72009        ///Reader of field `PROCID`
72010        pub type PROCID_R = crate::R<u8, u8>;
72011        impl R {
72012            ///Bit 31 - lock indication
72013            #[inline(always)]
72014            pub fn lock(&self) -> LOCK_R {
72015                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72016            }
72017            ///Bits 8:11 - Semaphore CoreID
72018            #[inline(always)]
72019            pub fn coreid(&self) -> COREID_R {
72020                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72021            }
72022            ///Bits 0:7 - Semaphore ProcessID
72023            #[inline(always)]
72024            pub fn procid(&self) -> PROCID_R {
72025                PROCID_R::new((self.bits & 0xff) as u8)
72026            }
72027        }
72028    }
72029    ///Semaphore 10 read lock register
72030    ///
72031    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72032    ///
72033    ///For information about available fields see [rlr10](rlr10) module
72034    pub type RLR10 = crate::Reg<u32, _RLR10>;
72035    #[allow(missing_docs)]
72036    #[doc(hidden)]
72037    pub struct _RLR10;
72038    ///`read()` method returns [rlr10::R](rlr10::R) reader structure
72039    impl crate::Readable for RLR10 {}
72040    ///Semaphore 10 read lock register
72041    pub mod rlr10 {
72042        ///Reader of register RLR10
72043        pub type R = crate::R<u32, super::RLR10>;
72044        ///Reader of field `LOCK`
72045        pub type LOCK_R = crate::R<bool, bool>;
72046        ///Reader of field `COREID`
72047        pub type COREID_R = crate::R<u8, u8>;
72048        ///Reader of field `PROCID`
72049        pub type PROCID_R = crate::R<u8, u8>;
72050        impl R {
72051            ///Bit 31 - lock indication
72052            #[inline(always)]
72053            pub fn lock(&self) -> LOCK_R {
72054                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72055            }
72056            ///Bits 8:11 - Semaphore CoreID
72057            #[inline(always)]
72058            pub fn coreid(&self) -> COREID_R {
72059                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72060            }
72061            ///Bits 0:7 - Semaphore ProcessID
72062            #[inline(always)]
72063            pub fn procid(&self) -> PROCID_R {
72064                PROCID_R::new((self.bits & 0xff) as u8)
72065            }
72066        }
72067    }
72068    ///Semaphore 11 read lock register
72069    ///
72070    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72071    ///
72072    ///For information about available fields see [rlr11](rlr11) module
72073    pub type RLR11 = crate::Reg<u32, _RLR11>;
72074    #[allow(missing_docs)]
72075    #[doc(hidden)]
72076    pub struct _RLR11;
72077    ///`read()` method returns [rlr11::R](rlr11::R) reader structure
72078    impl crate::Readable for RLR11 {}
72079    ///Semaphore 11 read lock register
72080    pub mod rlr11 {
72081        ///Reader of register RLR11
72082        pub type R = crate::R<u32, super::RLR11>;
72083        ///Reader of field `LOCK`
72084        pub type LOCK_R = crate::R<bool, bool>;
72085        ///Reader of field `COREID`
72086        pub type COREID_R = crate::R<u8, u8>;
72087        ///Reader of field `PROCID`
72088        pub type PROCID_R = crate::R<u8, u8>;
72089        impl R {
72090            ///Bit 31 - lock indication
72091            #[inline(always)]
72092            pub fn lock(&self) -> LOCK_R {
72093                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72094            }
72095            ///Bits 8:11 - Semaphore CoreID
72096            #[inline(always)]
72097            pub fn coreid(&self) -> COREID_R {
72098                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72099            }
72100            ///Bits 0:7 - Semaphore ProcessID
72101            #[inline(always)]
72102            pub fn procid(&self) -> PROCID_R {
72103                PROCID_R::new((self.bits & 0xff) as u8)
72104            }
72105        }
72106    }
72107    ///Semaphore 12 read lock register
72108    ///
72109    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72110    ///
72111    ///For information about available fields see [rlr12](rlr12) module
72112    pub type RLR12 = crate::Reg<u32, _RLR12>;
72113    #[allow(missing_docs)]
72114    #[doc(hidden)]
72115    pub struct _RLR12;
72116    ///`read()` method returns [rlr12::R](rlr12::R) reader structure
72117    impl crate::Readable for RLR12 {}
72118    ///Semaphore 12 read lock register
72119    pub mod rlr12 {
72120        ///Reader of register RLR12
72121        pub type R = crate::R<u32, super::RLR12>;
72122        ///Reader of field `LOCK`
72123        pub type LOCK_R = crate::R<bool, bool>;
72124        ///Reader of field `COREID`
72125        pub type COREID_R = crate::R<u8, u8>;
72126        ///Reader of field `PROCID`
72127        pub type PROCID_R = crate::R<u8, u8>;
72128        impl R {
72129            ///Bit 31 - lock indication
72130            #[inline(always)]
72131            pub fn lock(&self) -> LOCK_R {
72132                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72133            }
72134            ///Bits 8:11 - Semaphore CoreID
72135            #[inline(always)]
72136            pub fn coreid(&self) -> COREID_R {
72137                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72138            }
72139            ///Bits 0:7 - Semaphore ProcessID
72140            #[inline(always)]
72141            pub fn procid(&self) -> PROCID_R {
72142                PROCID_R::new((self.bits & 0xff) as u8)
72143            }
72144        }
72145    }
72146    ///Semaphore 13 read lock register
72147    ///
72148    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72149    ///
72150    ///For information about available fields see [rlr13](rlr13) module
72151    pub type RLR13 = crate::Reg<u32, _RLR13>;
72152    #[allow(missing_docs)]
72153    #[doc(hidden)]
72154    pub struct _RLR13;
72155    ///`read()` method returns [rlr13::R](rlr13::R) reader structure
72156    impl crate::Readable for RLR13 {}
72157    ///Semaphore 13 read lock register
72158    pub mod rlr13 {
72159        ///Reader of register RLR13
72160        pub type R = crate::R<u32, super::RLR13>;
72161        ///Reader of field `LOCK`
72162        pub type LOCK_R = crate::R<bool, bool>;
72163        ///Reader of field `COREID`
72164        pub type COREID_R = crate::R<u8, u8>;
72165        ///Reader of field `PROCID`
72166        pub type PROCID_R = crate::R<u8, u8>;
72167        impl R {
72168            ///Bit 31 - lock indication
72169            #[inline(always)]
72170            pub fn lock(&self) -> LOCK_R {
72171                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72172            }
72173            ///Bits 8:11 - Semaphore CoreID
72174            #[inline(always)]
72175            pub fn coreid(&self) -> COREID_R {
72176                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72177            }
72178            ///Bits 0:7 - Semaphore ProcessID
72179            #[inline(always)]
72180            pub fn procid(&self) -> PROCID_R {
72181                PROCID_R::new((self.bits & 0xff) as u8)
72182            }
72183        }
72184    }
72185    ///Semaphore 14 read lock register
72186    ///
72187    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72188    ///
72189    ///For information about available fields see [rlr14](rlr14) module
72190    pub type RLR14 = crate::Reg<u32, _RLR14>;
72191    #[allow(missing_docs)]
72192    #[doc(hidden)]
72193    pub struct _RLR14;
72194    ///`read()` method returns [rlr14::R](rlr14::R) reader structure
72195    impl crate::Readable for RLR14 {}
72196    ///Semaphore 14 read lock register
72197    pub mod rlr14 {
72198        ///Reader of register RLR14
72199        pub type R = crate::R<u32, super::RLR14>;
72200        ///Reader of field `LOCK`
72201        pub type LOCK_R = crate::R<bool, bool>;
72202        ///Reader of field `COREID`
72203        pub type COREID_R = crate::R<u8, u8>;
72204        ///Reader of field `PROCID`
72205        pub type PROCID_R = crate::R<u8, u8>;
72206        impl R {
72207            ///Bit 31 - lock indication
72208            #[inline(always)]
72209            pub fn lock(&self) -> LOCK_R {
72210                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72211            }
72212            ///Bits 8:11 - Semaphore CoreID
72213            #[inline(always)]
72214            pub fn coreid(&self) -> COREID_R {
72215                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72216            }
72217            ///Bits 0:7 - Semaphore ProcessID
72218            #[inline(always)]
72219            pub fn procid(&self) -> PROCID_R {
72220                PROCID_R::new((self.bits & 0xff) as u8)
72221            }
72222        }
72223    }
72224    ///Semaphore 15 read lock register
72225    ///
72226    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72227    ///
72228    ///For information about available fields see [rlr15](rlr15) module
72229    pub type RLR15 = crate::Reg<u32, _RLR15>;
72230    #[allow(missing_docs)]
72231    #[doc(hidden)]
72232    pub struct _RLR15;
72233    ///`read()` method returns [rlr15::R](rlr15::R) reader structure
72234    impl crate::Readable for RLR15 {}
72235    ///Semaphore 15 read lock register
72236    pub mod rlr15 {
72237        ///Reader of register RLR15
72238        pub type R = crate::R<u32, super::RLR15>;
72239        ///Reader of field `LOCK`
72240        pub type LOCK_R = crate::R<bool, bool>;
72241        ///Reader of field `COREID`
72242        pub type COREID_R = crate::R<u8, u8>;
72243        ///Reader of field `PROCID`
72244        pub type PROCID_R = crate::R<u8, u8>;
72245        impl R {
72246            ///Bit 31 - lock indication
72247            #[inline(always)]
72248            pub fn lock(&self) -> LOCK_R {
72249                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72250            }
72251            ///Bits 8:11 - Semaphore CoreID
72252            #[inline(always)]
72253            pub fn coreid(&self) -> COREID_R {
72254                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72255            }
72256            ///Bits 0:7 - Semaphore ProcessID
72257            #[inline(always)]
72258            pub fn procid(&self) -> PROCID_R {
72259                PROCID_R::new((self.bits & 0xff) as u8)
72260            }
72261        }
72262    }
72263    ///Semaphore 16 read lock register
72264    ///
72265    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72266    ///
72267    ///For information about available fields see [rlr16](rlr16) module
72268    pub type RLR16 = crate::Reg<u32, _RLR16>;
72269    #[allow(missing_docs)]
72270    #[doc(hidden)]
72271    pub struct _RLR16;
72272    ///`read()` method returns [rlr16::R](rlr16::R) reader structure
72273    impl crate::Readable for RLR16 {}
72274    ///Semaphore 16 read lock register
72275    pub mod rlr16 {
72276        ///Reader of register RLR16
72277        pub type R = crate::R<u32, super::RLR16>;
72278        ///Reader of field `LOCK`
72279        pub type LOCK_R = crate::R<bool, bool>;
72280        ///Reader of field `COREID`
72281        pub type COREID_R = crate::R<u8, u8>;
72282        ///Reader of field `PROCID`
72283        pub type PROCID_R = crate::R<u8, u8>;
72284        impl R {
72285            ///Bit 31 - lock indication
72286            #[inline(always)]
72287            pub fn lock(&self) -> LOCK_R {
72288                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72289            }
72290            ///Bits 8:11 - Semaphore CoreID
72291            #[inline(always)]
72292            pub fn coreid(&self) -> COREID_R {
72293                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72294            }
72295            ///Bits 0:7 - Semaphore ProcessID
72296            #[inline(always)]
72297            pub fn procid(&self) -> PROCID_R {
72298                PROCID_R::new((self.bits & 0xff) as u8)
72299            }
72300        }
72301    }
72302    ///Semaphore 17 read lock register
72303    ///
72304    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72305    ///
72306    ///For information about available fields see [rlr17](rlr17) module
72307    pub type RLR17 = crate::Reg<u32, _RLR17>;
72308    #[allow(missing_docs)]
72309    #[doc(hidden)]
72310    pub struct _RLR17;
72311    ///`read()` method returns [rlr17::R](rlr17::R) reader structure
72312    impl crate::Readable for RLR17 {}
72313    ///Semaphore 17 read lock register
72314    pub mod rlr17 {
72315        ///Reader of register RLR17
72316        pub type R = crate::R<u32, super::RLR17>;
72317        ///Reader of field `LOCK`
72318        pub type LOCK_R = crate::R<bool, bool>;
72319        ///Reader of field `COREID`
72320        pub type COREID_R = crate::R<u8, u8>;
72321        ///Reader of field `PROCID`
72322        pub type PROCID_R = crate::R<u8, u8>;
72323        impl R {
72324            ///Bit 31 - lock indication
72325            #[inline(always)]
72326            pub fn lock(&self) -> LOCK_R {
72327                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72328            }
72329            ///Bits 8:11 - Semaphore CoreID
72330            #[inline(always)]
72331            pub fn coreid(&self) -> COREID_R {
72332                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72333            }
72334            ///Bits 0:7 - Semaphore ProcessID
72335            #[inline(always)]
72336            pub fn procid(&self) -> PROCID_R {
72337                PROCID_R::new((self.bits & 0xff) as u8)
72338            }
72339        }
72340    }
72341    ///Semaphore 18 read lock register
72342    ///
72343    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72344    ///
72345    ///For information about available fields see [rlr18](rlr18) module
72346    pub type RLR18 = crate::Reg<u32, _RLR18>;
72347    #[allow(missing_docs)]
72348    #[doc(hidden)]
72349    pub struct _RLR18;
72350    ///`read()` method returns [rlr18::R](rlr18::R) reader structure
72351    impl crate::Readable for RLR18 {}
72352    ///Semaphore 18 read lock register
72353    pub mod rlr18 {
72354        ///Reader of register RLR18
72355        pub type R = crate::R<u32, super::RLR18>;
72356        ///Reader of field `LOCK`
72357        pub type LOCK_R = crate::R<bool, bool>;
72358        ///Reader of field `COREID`
72359        pub type COREID_R = crate::R<u8, u8>;
72360        ///Reader of field `PROCID`
72361        pub type PROCID_R = crate::R<u8, u8>;
72362        impl R {
72363            ///Bit 31 - lock indication
72364            #[inline(always)]
72365            pub fn lock(&self) -> LOCK_R {
72366                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72367            }
72368            ///Bits 8:11 - Semaphore CoreID
72369            #[inline(always)]
72370            pub fn coreid(&self) -> COREID_R {
72371                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72372            }
72373            ///Bits 0:7 - Semaphore ProcessID
72374            #[inline(always)]
72375            pub fn procid(&self) -> PROCID_R {
72376                PROCID_R::new((self.bits & 0xff) as u8)
72377            }
72378        }
72379    }
72380    ///Semaphore 19 read lock register
72381    ///
72382    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72383    ///
72384    ///For information about available fields see [rlr19](rlr19) module
72385    pub type RLR19 = crate::Reg<u32, _RLR19>;
72386    #[allow(missing_docs)]
72387    #[doc(hidden)]
72388    pub struct _RLR19;
72389    ///`read()` method returns [rlr19::R](rlr19::R) reader structure
72390    impl crate::Readable for RLR19 {}
72391    ///Semaphore 19 read lock register
72392    pub mod rlr19 {
72393        ///Reader of register RLR19
72394        pub type R = crate::R<u32, super::RLR19>;
72395        ///Reader of field `LOCK`
72396        pub type LOCK_R = crate::R<bool, bool>;
72397        ///Reader of field `COREID`
72398        pub type COREID_R = crate::R<u8, u8>;
72399        ///Reader of field `PROCID`
72400        pub type PROCID_R = crate::R<u8, u8>;
72401        impl R {
72402            ///Bit 31 - lock indication
72403            #[inline(always)]
72404            pub fn lock(&self) -> LOCK_R {
72405                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72406            }
72407            ///Bits 8:11 - Semaphore CoreID
72408            #[inline(always)]
72409            pub fn coreid(&self) -> COREID_R {
72410                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72411            }
72412            ///Bits 0:7 - Semaphore ProcessID
72413            #[inline(always)]
72414            pub fn procid(&self) -> PROCID_R {
72415                PROCID_R::new((self.bits & 0xff) as u8)
72416            }
72417        }
72418    }
72419    ///Semaphore 20 read lock register
72420    ///
72421    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72422    ///
72423    ///For information about available fields see [rlr20](rlr20) module
72424    pub type RLR20 = crate::Reg<u32, _RLR20>;
72425    #[allow(missing_docs)]
72426    #[doc(hidden)]
72427    pub struct _RLR20;
72428    ///`read()` method returns [rlr20::R](rlr20::R) reader structure
72429    impl crate::Readable for RLR20 {}
72430    ///Semaphore 20 read lock register
72431    pub mod rlr20 {
72432        ///Reader of register RLR20
72433        pub type R = crate::R<u32, super::RLR20>;
72434        ///Reader of field `LOCK`
72435        pub type LOCK_R = crate::R<bool, bool>;
72436        ///Reader of field `COREID`
72437        pub type COREID_R = crate::R<u8, u8>;
72438        ///Reader of field `PROCID`
72439        pub type PROCID_R = crate::R<u8, u8>;
72440        impl R {
72441            ///Bit 31 - lock indication
72442            #[inline(always)]
72443            pub fn lock(&self) -> LOCK_R {
72444                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72445            }
72446            ///Bits 8:11 - Semaphore CoreID
72447            #[inline(always)]
72448            pub fn coreid(&self) -> COREID_R {
72449                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72450            }
72451            ///Bits 0:7 - Semaphore ProcessID
72452            #[inline(always)]
72453            pub fn procid(&self) -> PROCID_R {
72454                PROCID_R::new((self.bits & 0xff) as u8)
72455            }
72456        }
72457    }
72458    ///Semaphore 21 read lock register
72459    ///
72460    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72461    ///
72462    ///For information about available fields see [rlr21](rlr21) module
72463    pub type RLR21 = crate::Reg<u32, _RLR21>;
72464    #[allow(missing_docs)]
72465    #[doc(hidden)]
72466    pub struct _RLR21;
72467    ///`read()` method returns [rlr21::R](rlr21::R) reader structure
72468    impl crate::Readable for RLR21 {}
72469    ///Semaphore 21 read lock register
72470    pub mod rlr21 {
72471        ///Reader of register RLR21
72472        pub type R = crate::R<u32, super::RLR21>;
72473        ///Reader of field `LOCK`
72474        pub type LOCK_R = crate::R<bool, bool>;
72475        ///Reader of field `COREID`
72476        pub type COREID_R = crate::R<u8, u8>;
72477        ///Reader of field `PROCID`
72478        pub type PROCID_R = crate::R<u8, u8>;
72479        impl R {
72480            ///Bit 31 - lock indication
72481            #[inline(always)]
72482            pub fn lock(&self) -> LOCK_R {
72483                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72484            }
72485            ///Bits 8:11 - Semaphore CoreID
72486            #[inline(always)]
72487            pub fn coreid(&self) -> COREID_R {
72488                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72489            }
72490            ///Bits 0:7 - Semaphore ProcessID
72491            #[inline(always)]
72492            pub fn procid(&self) -> PROCID_R {
72493                PROCID_R::new((self.bits & 0xff) as u8)
72494            }
72495        }
72496    }
72497    ///Semaphore 22 read lock register
72498    ///
72499    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72500    ///
72501    ///For information about available fields see [rlr22](rlr22) module
72502    pub type RLR22 = crate::Reg<u32, _RLR22>;
72503    #[allow(missing_docs)]
72504    #[doc(hidden)]
72505    pub struct _RLR22;
72506    ///`read()` method returns [rlr22::R](rlr22::R) reader structure
72507    impl crate::Readable for RLR22 {}
72508    ///Semaphore 22 read lock register
72509    pub mod rlr22 {
72510        ///Reader of register RLR22
72511        pub type R = crate::R<u32, super::RLR22>;
72512        ///Reader of field `LOCK`
72513        pub type LOCK_R = crate::R<bool, bool>;
72514        ///Reader of field `COREID`
72515        pub type COREID_R = crate::R<u8, u8>;
72516        ///Reader of field `PROCID`
72517        pub type PROCID_R = crate::R<u8, u8>;
72518        impl R {
72519            ///Bit 31 - lock indication
72520            #[inline(always)]
72521            pub fn lock(&self) -> LOCK_R {
72522                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72523            }
72524            ///Bits 8:11 - Semaphore CoreID
72525            #[inline(always)]
72526            pub fn coreid(&self) -> COREID_R {
72527                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72528            }
72529            ///Bits 0:7 - Semaphore ProcessID
72530            #[inline(always)]
72531            pub fn procid(&self) -> PROCID_R {
72532                PROCID_R::new((self.bits & 0xff) as u8)
72533            }
72534        }
72535    }
72536    ///Semaphore 23 read lock register
72537    ///
72538    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72539    ///
72540    ///For information about available fields see [rlr23](rlr23) module
72541    pub type RLR23 = crate::Reg<u32, _RLR23>;
72542    #[allow(missing_docs)]
72543    #[doc(hidden)]
72544    pub struct _RLR23;
72545    ///`read()` method returns [rlr23::R](rlr23::R) reader structure
72546    impl crate::Readable for RLR23 {}
72547    ///Semaphore 23 read lock register
72548    pub mod rlr23 {
72549        ///Reader of register RLR23
72550        pub type R = crate::R<u32, super::RLR23>;
72551        ///Reader of field `LOCK`
72552        pub type LOCK_R = crate::R<bool, bool>;
72553        ///Reader of field `COREID`
72554        pub type COREID_R = crate::R<u8, u8>;
72555        ///Reader of field `PROCID`
72556        pub type PROCID_R = crate::R<u8, u8>;
72557        impl R {
72558            ///Bit 31 - lock indication
72559            #[inline(always)]
72560            pub fn lock(&self) -> LOCK_R {
72561                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72562            }
72563            ///Bits 8:11 - Semaphore CoreID
72564            #[inline(always)]
72565            pub fn coreid(&self) -> COREID_R {
72566                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72567            }
72568            ///Bits 0:7 - Semaphore ProcessID
72569            #[inline(always)]
72570            pub fn procid(&self) -> PROCID_R {
72571                PROCID_R::new((self.bits & 0xff) as u8)
72572            }
72573        }
72574    }
72575    ///Semaphore 24 read lock register
72576    ///
72577    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72578    ///
72579    ///For information about available fields see [rlr24](rlr24) module
72580    pub type RLR24 = crate::Reg<u32, _RLR24>;
72581    #[allow(missing_docs)]
72582    #[doc(hidden)]
72583    pub struct _RLR24;
72584    ///`read()` method returns [rlr24::R](rlr24::R) reader structure
72585    impl crate::Readable for RLR24 {}
72586    ///Semaphore 24 read lock register
72587    pub mod rlr24 {
72588        ///Reader of register RLR24
72589        pub type R = crate::R<u32, super::RLR24>;
72590        ///Reader of field `LOCK`
72591        pub type LOCK_R = crate::R<bool, bool>;
72592        ///Reader of field `COREID`
72593        pub type COREID_R = crate::R<u8, u8>;
72594        ///Reader of field `PROCID`
72595        pub type PROCID_R = crate::R<u8, u8>;
72596        impl R {
72597            ///Bit 31 - lock indication
72598            #[inline(always)]
72599            pub fn lock(&self) -> LOCK_R {
72600                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72601            }
72602            ///Bits 8:11 - Semaphore CoreID
72603            #[inline(always)]
72604            pub fn coreid(&self) -> COREID_R {
72605                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72606            }
72607            ///Bits 0:7 - Semaphore ProcessID
72608            #[inline(always)]
72609            pub fn procid(&self) -> PROCID_R {
72610                PROCID_R::new((self.bits & 0xff) as u8)
72611            }
72612        }
72613    }
72614    ///Semaphore 25 read lock register
72615    ///
72616    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72617    ///
72618    ///For information about available fields see [rlr25](rlr25) module
72619    pub type RLR25 = crate::Reg<u32, _RLR25>;
72620    #[allow(missing_docs)]
72621    #[doc(hidden)]
72622    pub struct _RLR25;
72623    ///`read()` method returns [rlr25::R](rlr25::R) reader structure
72624    impl crate::Readable for RLR25 {}
72625    ///Semaphore 25 read lock register
72626    pub mod rlr25 {
72627        ///Reader of register RLR25
72628        pub type R = crate::R<u32, super::RLR25>;
72629        ///Reader of field `LOCK`
72630        pub type LOCK_R = crate::R<bool, bool>;
72631        ///Reader of field `COREID`
72632        pub type COREID_R = crate::R<u8, u8>;
72633        ///Reader of field `PROCID`
72634        pub type PROCID_R = crate::R<u8, u8>;
72635        impl R {
72636            ///Bit 31 - lock indication
72637            #[inline(always)]
72638            pub fn lock(&self) -> LOCK_R {
72639                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72640            }
72641            ///Bits 8:11 - Semaphore CoreID
72642            #[inline(always)]
72643            pub fn coreid(&self) -> COREID_R {
72644                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72645            }
72646            ///Bits 0:7 - Semaphore ProcessID
72647            #[inline(always)]
72648            pub fn procid(&self) -> PROCID_R {
72649                PROCID_R::new((self.bits & 0xff) as u8)
72650            }
72651        }
72652    }
72653    ///Semaphore 26 read lock register
72654    ///
72655    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72656    ///
72657    ///For information about available fields see [rlr26](rlr26) module
72658    pub type RLR26 = crate::Reg<u32, _RLR26>;
72659    #[allow(missing_docs)]
72660    #[doc(hidden)]
72661    pub struct _RLR26;
72662    ///`read()` method returns [rlr26::R](rlr26::R) reader structure
72663    impl crate::Readable for RLR26 {}
72664    ///Semaphore 26 read lock register
72665    pub mod rlr26 {
72666        ///Reader of register RLR26
72667        pub type R = crate::R<u32, super::RLR26>;
72668        ///Reader of field `LOCK`
72669        pub type LOCK_R = crate::R<bool, bool>;
72670        ///Reader of field `COREID`
72671        pub type COREID_R = crate::R<u8, u8>;
72672        ///Reader of field `PROCID`
72673        pub type PROCID_R = crate::R<u8, u8>;
72674        impl R {
72675            ///Bit 31 - lock indication
72676            #[inline(always)]
72677            pub fn lock(&self) -> LOCK_R {
72678                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72679            }
72680            ///Bits 8:11 - Semaphore CoreID
72681            #[inline(always)]
72682            pub fn coreid(&self) -> COREID_R {
72683                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72684            }
72685            ///Bits 0:7 - Semaphore ProcessID
72686            #[inline(always)]
72687            pub fn procid(&self) -> PROCID_R {
72688                PROCID_R::new((self.bits & 0xff) as u8)
72689            }
72690        }
72691    }
72692    ///Semaphore 27 read lock register
72693    ///
72694    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72695    ///
72696    ///For information about available fields see [rlr27](rlr27) module
72697    pub type RLR27 = crate::Reg<u32, _RLR27>;
72698    #[allow(missing_docs)]
72699    #[doc(hidden)]
72700    pub struct _RLR27;
72701    ///`read()` method returns [rlr27::R](rlr27::R) reader structure
72702    impl crate::Readable for RLR27 {}
72703    ///Semaphore 27 read lock register
72704    pub mod rlr27 {
72705        ///Reader of register RLR27
72706        pub type R = crate::R<u32, super::RLR27>;
72707        ///Reader of field `LOCK`
72708        pub type LOCK_R = crate::R<bool, bool>;
72709        ///Reader of field `COREID`
72710        pub type COREID_R = crate::R<u8, u8>;
72711        ///Reader of field `PROCID`
72712        pub type PROCID_R = crate::R<u8, u8>;
72713        impl R {
72714            ///Bit 31 - lock indication
72715            #[inline(always)]
72716            pub fn lock(&self) -> LOCK_R {
72717                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72718            }
72719            ///Bits 8:11 - Semaphore CoreID
72720            #[inline(always)]
72721            pub fn coreid(&self) -> COREID_R {
72722                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72723            }
72724            ///Bits 0:7 - Semaphore ProcessID
72725            #[inline(always)]
72726            pub fn procid(&self) -> PROCID_R {
72727                PROCID_R::new((self.bits & 0xff) as u8)
72728            }
72729        }
72730    }
72731    ///Semaphore 28 read lock register
72732    ///
72733    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72734    ///
72735    ///For information about available fields see [rlr28](rlr28) module
72736    pub type RLR28 = crate::Reg<u32, _RLR28>;
72737    #[allow(missing_docs)]
72738    #[doc(hidden)]
72739    pub struct _RLR28;
72740    ///`read()` method returns [rlr28::R](rlr28::R) reader structure
72741    impl crate::Readable for RLR28 {}
72742    ///Semaphore 28 read lock register
72743    pub mod rlr28 {
72744        ///Reader of register RLR28
72745        pub type R = crate::R<u32, super::RLR28>;
72746        ///Reader of field `LOCK`
72747        pub type LOCK_R = crate::R<bool, bool>;
72748        ///Reader of field `COREID`
72749        pub type COREID_R = crate::R<u8, u8>;
72750        ///Reader of field `PROCID`
72751        pub type PROCID_R = crate::R<u8, u8>;
72752        impl R {
72753            ///Bit 31 - lock indication
72754            #[inline(always)]
72755            pub fn lock(&self) -> LOCK_R {
72756                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72757            }
72758            ///Bits 8:11 - Semaphore CoreID
72759            #[inline(always)]
72760            pub fn coreid(&self) -> COREID_R {
72761                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72762            }
72763            ///Bits 0:7 - Semaphore ProcessID
72764            #[inline(always)]
72765            pub fn procid(&self) -> PROCID_R {
72766                PROCID_R::new((self.bits & 0xff) as u8)
72767            }
72768        }
72769    }
72770    ///Semaphore 29 read lock register
72771    ///
72772    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72773    ///
72774    ///For information about available fields see [rlr29](rlr29) module
72775    pub type RLR29 = crate::Reg<u32, _RLR29>;
72776    #[allow(missing_docs)]
72777    #[doc(hidden)]
72778    pub struct _RLR29;
72779    ///`read()` method returns [rlr29::R](rlr29::R) reader structure
72780    impl crate::Readable for RLR29 {}
72781    ///Semaphore 29 read lock register
72782    pub mod rlr29 {
72783        ///Reader of register RLR29
72784        pub type R = crate::R<u32, super::RLR29>;
72785        ///Reader of field `LOCK`
72786        pub type LOCK_R = crate::R<bool, bool>;
72787        ///Reader of field `COREID`
72788        pub type COREID_R = crate::R<u8, u8>;
72789        ///Reader of field `PROCID`
72790        pub type PROCID_R = crate::R<u8, u8>;
72791        impl R {
72792            ///Bit 31 - lock indication
72793            #[inline(always)]
72794            pub fn lock(&self) -> LOCK_R {
72795                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72796            }
72797            ///Bits 8:11 - Semaphore CoreID
72798            #[inline(always)]
72799            pub fn coreid(&self) -> COREID_R {
72800                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72801            }
72802            ///Bits 0:7 - Semaphore ProcessID
72803            #[inline(always)]
72804            pub fn procid(&self) -> PROCID_R {
72805                PROCID_R::new((self.bits & 0xff) as u8)
72806            }
72807        }
72808    }
72809    ///Semaphore 30 read lock register
72810    ///
72811    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72812    ///
72813    ///For information about available fields see [rlr30](rlr30) module
72814    pub type RLR30 = crate::Reg<u32, _RLR30>;
72815    #[allow(missing_docs)]
72816    #[doc(hidden)]
72817    pub struct _RLR30;
72818    ///`read()` method returns [rlr30::R](rlr30::R) reader structure
72819    impl crate::Readable for RLR30 {}
72820    ///Semaphore 30 read lock register
72821    pub mod rlr30 {
72822        ///Reader of register RLR30
72823        pub type R = crate::R<u32, super::RLR30>;
72824        ///Reader of field `LOCK`
72825        pub type LOCK_R = crate::R<bool, bool>;
72826        ///Reader of field `COREID`
72827        pub type COREID_R = crate::R<u8, u8>;
72828        ///Reader of field `PROCID`
72829        pub type PROCID_R = crate::R<u8, u8>;
72830        impl R {
72831            ///Bit 31 - lock indication
72832            #[inline(always)]
72833            pub fn lock(&self) -> LOCK_R {
72834                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72835            }
72836            ///Bits 8:11 - Semaphore CoreID
72837            #[inline(always)]
72838            pub fn coreid(&self) -> COREID_R {
72839                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72840            }
72841            ///Bits 0:7 - Semaphore ProcessID
72842            #[inline(always)]
72843            pub fn procid(&self) -> PROCID_R {
72844                PROCID_R::new((self.bits & 0xff) as u8)
72845            }
72846        }
72847    }
72848    ///Semaphore 31 read lock register
72849    ///
72850    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72851    ///
72852    ///For information about available fields see [rlr31](rlr31) module
72853    pub type RLR31 = crate::Reg<u32, _RLR31>;
72854    #[allow(missing_docs)]
72855    #[doc(hidden)]
72856    pub struct _RLR31;
72857    ///`read()` method returns [rlr31::R](rlr31::R) reader structure
72858    impl crate::Readable for RLR31 {}
72859    ///Semaphore 31 read lock register
72860    pub mod rlr31 {
72861        ///Reader of register RLR31
72862        pub type R = crate::R<u32, super::RLR31>;
72863        ///Reader of field `LOCK`
72864        pub type LOCK_R = crate::R<bool, bool>;
72865        ///Reader of field `COREID`
72866        pub type COREID_R = crate::R<u8, u8>;
72867        ///Reader of field `PROCID`
72868        pub type PROCID_R = crate::R<u8, u8>;
72869        impl R {
72870            ///Bit 31 - lock indication
72871            #[inline(always)]
72872            pub fn lock(&self) -> LOCK_R {
72873                LOCK_R::new(((self.bits >> 31) & 0x01) != 0)
72874            }
72875            ///Bits 8:11 - Semaphore CoreID
72876            #[inline(always)]
72877            pub fn coreid(&self) -> COREID_R {
72878                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72879            }
72880            ///Bits 0:7 - Semaphore ProcessID
72881            #[inline(always)]
72882            pub fn procid(&self) -> PROCID_R {
72883                PROCID_R::new((self.bits & 0xff) as u8)
72884            }
72885        }
72886    }
72887    ///Semaphore Clear register
72888    ///
72889    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72890    ///
72891    ///For information about available fields see [cr](cr) module
72892    pub type CR = crate::Reg<u32, _CR>;
72893    #[allow(missing_docs)]
72894    #[doc(hidden)]
72895    pub struct _CR;
72896    ///`read()` method returns [cr::R](cr::R) reader structure
72897    impl crate::Readable for CR {}
72898    ///`write(|w| ..)` method takes [cr::W](cr::W) writer structure
72899    impl crate::Writable for CR {}
72900    ///Semaphore Clear register
72901    pub mod cr {
72902        ///Reader of register CR
72903        pub type R = crate::R<u32, super::CR>;
72904        ///Writer for register CR
72905        pub type W = crate::W<u32, super::CR>;
72906        ///Register CR `reset()`'s with value 0
72907        impl crate::ResetValue for super::CR {
72908            type Type = u32;
72909            #[inline(always)]
72910            fn reset_value() -> Self::Type {
72911                0
72912            }
72913        }
72914        ///Reader of field `KEY`
72915        pub type KEY_R = crate::R<u16, u16>;
72916        ///Write proxy for field `KEY`
72917        pub struct KEY_W<'a> {
72918            w: &'a mut W,
72919        }
72920        impl<'a> KEY_W<'a> {
72921            ///Writes raw bits to the field
72922            #[inline(always)]
72923            pub unsafe fn bits(self, value: u16) -> &'a mut W {
72924                self.w.bits = (self.w.bits & !(0xffff << 16)) | (((value as u32) & 0xffff) << 16);
72925                self.w
72926            }
72927        }
72928        ///Reader of field `COREID`
72929        pub type COREID_R = crate::R<u8, u8>;
72930        ///Write proxy for field `COREID`
72931        pub struct COREID_W<'a> {
72932            w: &'a mut W,
72933        }
72934        impl<'a> COREID_W<'a> {
72935            ///Writes raw bits to the field
72936            #[inline(always)]
72937            pub unsafe fn bits(self, value: u8) -> &'a mut W {
72938                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
72939                self.w
72940            }
72941        }
72942        impl R {
72943            ///Bits 16:31 - Semaphore clear Key
72944            #[inline(always)]
72945            pub fn key(&self) -> KEY_R {
72946                KEY_R::new(((self.bits >> 16) & 0xffff) as u16)
72947            }
72948            ///Bits 8:11 - CoreID of semaphore to be cleared
72949            #[inline(always)]
72950            pub fn coreid(&self) -> COREID_R {
72951                COREID_R::new(((self.bits >> 8) & 0x0f) as u8)
72952            }
72953        }
72954        impl W {
72955            ///Bits 16:31 - Semaphore clear Key
72956            #[inline(always)]
72957            pub fn key(&mut self) -> KEY_W {
72958                KEY_W { w: self }
72959            }
72960            ///Bits 8:11 - CoreID of semaphore to be cleared
72961            #[inline(always)]
72962            pub fn coreid(&mut self) -> COREID_W {
72963                COREID_W { w: self }
72964            }
72965        }
72966    }
72967    ///Interrupt clear register
72968    ///
72969    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72970    ///
72971    ///For information about available fields see [keyr](keyr) module
72972    pub type KEYR = crate::Reg<u32, _KEYR>;
72973    #[allow(missing_docs)]
72974    #[doc(hidden)]
72975    pub struct _KEYR;
72976    ///`read()` method returns [keyr::R](keyr::R) reader structure
72977    impl crate::Readable for KEYR {}
72978    ///`write(|w| ..)` method takes [keyr::W](keyr::W) writer structure
72979    impl crate::Writable for KEYR {}
72980    ///Interrupt clear register
72981    pub mod keyr {
72982        ///Reader of register KEYR
72983        pub type R = crate::R<u32, super::KEYR>;
72984        ///Writer for register KEYR
72985        pub type W = crate::W<u32, super::KEYR>;
72986        ///Register KEYR `reset()`'s with value 0
72987        impl crate::ResetValue for super::KEYR {
72988            type Type = u32;
72989            #[inline(always)]
72990            fn reset_value() -> Self::Type {
72991                0
72992            }
72993        }
72994        ///Reader of field `KEY`
72995        pub type KEY_R = crate::R<u16, u16>;
72996        ///Write proxy for field `KEY`
72997        pub struct KEY_W<'a> {
72998            w: &'a mut W,
72999        }
73000        impl<'a> KEY_W<'a> {
73001            ///Writes raw bits to the field
73002            #[inline(always)]
73003            pub unsafe fn bits(self, value: u16) -> &'a mut W {
73004                self.w.bits = (self.w.bits & !(0xffff << 16)) | (((value as u32) & 0xffff) << 16);
73005                self.w
73006            }
73007        }
73008        impl R {
73009            ///Bits 16:31 - Semaphore Clear Key
73010            #[inline(always)]
73011            pub fn key(&self) -> KEY_R {
73012                KEY_R::new(((self.bits >> 16) & 0xffff) as u16)
73013            }
73014        }
73015        impl W {
73016            ///Bits 16:31 - Semaphore Clear Key
73017            #[inline(always)]
73018            pub fn key(&mut self) -> KEY_W {
73019                KEY_W { w: self }
73020            }
73021        }
73022    }
73023    ///Semaphore hardware configuration register 2
73024    ///
73025    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
73026    ///
73027    ///For information about available fields see [hwcfgr2](hwcfgr2) module
73028    pub type HWCFGR2 = crate::Reg<u32, _HWCFGR2>;
73029    #[allow(missing_docs)]
73030    #[doc(hidden)]
73031    pub struct _HWCFGR2;
73032    ///`read()` method returns [hwcfgr2::R](hwcfgr2::R) reader structure
73033    impl crate::Readable for HWCFGR2 {}
73034    ///Semaphore hardware configuration register 2
73035    pub mod hwcfgr2 {
73036        ///Reader of register HWCFGR2
73037        pub type R = crate::R<u32, super::HWCFGR2>;
73038        ///Reader of field `MASTERID4`
73039        pub type MASTERID4_R = crate::R<u8, u8>;
73040        ///Reader of field `MASTERID3`
73041        pub type MASTERID3_R = crate::R<u8, u8>;
73042        ///Reader of field `MASTERID2`
73043        pub type MASTERID2_R = crate::R<u8, u8>;
73044        ///Reader of field `MASTERID1`
73045        pub type MASTERID1_R = crate::R<u8, u8>;
73046        impl R {
73047            ///Bits 12:15 - Hardware Configuration valid bus masters ID4
73048            #[inline(always)]
73049            pub fn masterid4(&self) -> MASTERID4_R {
73050                MASTERID4_R::new(((self.bits >> 12) & 0x0f) as u8)
73051            }
73052            ///Bits 8:11 - Hardware Configuration valid bus masters ID3
73053            #[inline(always)]
73054            pub fn masterid3(&self) -> MASTERID3_R {
73055                MASTERID3_R::new(((self.bits >> 8) & 0x0f) as u8)
73056            }
73057            ///Bits 4:7 - Hardware Configuration valid bus masters ID2
73058            #[inline(always)]
73059            pub fn masterid2(&self) -> MASTERID2_R {
73060                MASTERID2_R::new(((self.bits >> 4) & 0x0f) as u8)
73061            }
73062            ///Bits 0:3 - Hardware Configuration valid bus masters ID1
73063            #[inline(always)]
73064            pub fn masterid1(&self) -> MASTERID1_R {
73065                MASTERID1_R::new((self.bits & 0x0f) as u8)
73066            }
73067        }
73068    }
73069    ///Semaphore hardware configuration register 1
73070    ///
73071    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
73072    ///
73073    ///For information about available fields see [hwcfgr1](hwcfgr1) module
73074    pub type HWCFGR1 = crate::Reg<u32, _HWCFGR1>;
73075    #[allow(missing_docs)]
73076    #[doc(hidden)]
73077    pub struct _HWCFGR1;
73078    ///`read()` method returns [hwcfgr1::R](hwcfgr1::R) reader structure
73079    impl crate::Readable for HWCFGR1 {}
73080    ///Semaphore hardware configuration register 1
73081    pub mod hwcfgr1 {
73082        ///Reader of register HWCFGR1
73083        pub type R = crate::R<u32, super::HWCFGR1>;
73084        ///Reader of field `NBINT`
73085        pub type NBINT_R = crate::R<u8, u8>;
73086        ///Reader of field `NBSEM`
73087        pub type NBSEM_R = crate::R<u8, u8>;
73088        impl R {
73089            ///Bits 8:11 - Hardware Configuration number of interrupts supported number of master IDs
73090            #[inline(always)]
73091            pub fn nbint(&self) -> NBINT_R {
73092                NBINT_R::new(((self.bits >> 8) & 0x0f) as u8)
73093            }
73094            ///Bits 0:7 - Hardware Configuration number of semaphores
73095            #[inline(always)]
73096            pub fn nbsem(&self) -> NBSEM_R {
73097                NBSEM_R::new((self.bits & 0xff) as u8)
73098            }
73099        }
73100    }
73101    ///HSEM version register
73102    ///
73103    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
73104    ///
73105    ///For information about available fields see [verr](verr) module
73106    pub type VERR = crate::Reg<u32, _VERR>;
73107    #[allow(missing_docs)]
73108    #[doc(hidden)]
73109    pub struct _VERR;
73110    ///`read()` method returns [verr::R](verr::R) reader structure
73111    impl crate::Readable for VERR {}
73112    ///HSEM version register
73113    pub mod verr {
73114        ///Reader of register VERR
73115        pub type R = crate::R<u32, super::VERR>;
73116        ///Reader of field `MAJREV`
73117        pub type MAJREV_R = crate::R<u8, u8>;
73118        ///Reader of field `MINREV`
73119        pub type MINREV_R = crate::R<u8, u8>;
73120        impl R {
73121            ///Bits 4:7 - Major Revision
73122            #[inline(always)]
73123            pub fn majrev(&self) -> MAJREV_R {
73124                MAJREV_R::new(((self.bits >> 4) & 0x0f) as u8)
73125            }
73126            ///Bits 0:3 - Minor Revision
73127            #[inline(always)]
73128            pub fn minrev(&self) -> MINREV_R {
73129                MINREV_R::new((self.bits & 0x0f) as u8)
73130            }
73131        }
73132    }
73133    ///HSEM indentification register
73134    ///
73135    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
73136    ///
73137    ///For information about available fields see [ipidr](ipidr) module
73138    pub type IPIDR = crate::Reg<u32, _IPIDR>;
73139    #[allow(missing_docs)]
73140    #[doc(hidden)]
73141    pub struct _IPIDR;
73142    ///`read()` method returns [ipidr::R](ipidr::R) reader structure
73143    impl crate::Readable for IPIDR {}
73144    ///HSEM indentification register
73145    pub mod ipidr {
73146        ///Reader of register IPIDR
73147        pub type R = crate::R<u32, super::IPIDR>;
73148        ///Reader of field `ID`
73149        pub type ID_R = crate::R<u32, u32>;
73150        impl R {
73151            ///Bits 0:31 - Identification Code
73152            #[inline(always)]
73153            pub fn id(&self) -> ID_R {
73154                ID_R::new((self.bits & 0xffff_ffff) as u32)
73155            }
73156        }
73157    }
73158    ///HSEM size indentification register
73159    ///
73160    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
73161    ///
73162    ///For information about available fields see [sidr](sidr) module
73163    pub type SIDR = crate::Reg<u32, _SIDR>;
73164    #[allow(missing_docs)]
73165    #[doc(hidden)]
73166    pub struct _SIDR;
73167    ///`read()` method returns [sidr::R](sidr::R) reader structure
73168    impl crate::Readable for SIDR {}
73169    ///HSEM size indentification register
73170    pub mod sidr {
73171        ///Reader of register SIDR
73172        pub type R = crate::R<u32, super::SIDR>;
73173        ///Reader of field `SID`
73174        pub type SID_R = crate::R<u32, u32>;
73175        impl R {
73176            ///Bits 0:31 - Size Identification Code
73177            #[inline(always)]
73178            pub fn sid(&self) -> SID_R {
73179                SID_R::new((self.bits & 0xffff_ffff) as u32)
73180            }
73181        }
73182    }
73183    ///HSEM Interrupt enable register
73184    ///
73185    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
73186    ///
73187    ///For information about available fields see [c1ier](c1ier) module
73188    pub type C1IER = crate::Reg<u32, _C1IER>;
73189    #[allow(missing_docs)]
73190    #[doc(hidden)]
73191    pub struct _C1IER;
73192    ///`read()` method returns [c1ier::R](c1ier::R) reader structure
73193    impl crate::Readable for C1IER {}
73194    ///`write(|w| ..)` method takes [c1ier::W](c1ier::W) writer structure
73195    impl crate::Writable for C1IER {}
73196    ///HSEM Interrupt enable register
73197    pub mod c1ier {
73198        ///Reader of register C1IER
73199        pub type R = crate::R<u32, super::C1IER>;
73200        ///Writer for register C1IER
73201        pub type W = crate::W<u32, super::C1IER>;
73202        ///Register C1IER `reset()`'s with value 0
73203        impl crate::ResetValue for super::C1IER {
73204            type Type = u32;
73205            #[inline(always)]
73206            fn reset_value() -> Self::Type {
73207                0
73208            }
73209        }
73210        ///Reader of field `ISEm`
73211        pub type ISEM_R = crate::R<u32, u32>;
73212        ///Write proxy for field `ISEm`
73213        pub struct ISEM_W<'a> {
73214            w: &'a mut W,
73215        }
73216        impl<'a> ISEM_W<'a> {
73217            ///Writes raw bits to the field
73218            #[inline(always)]
73219            pub unsafe fn bits(self, value: u32) -> &'a mut W {
73220                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
73221                self.w
73222            }
73223        }
73224        impl R {
73225            ///Bits 0:31 - CPU(n) semaphore m enable bit
73226            #[inline(always)]
73227            pub fn isem(&self) -> ISEM_R {
73228                ISEM_R::new((self.bits & 0xffff_ffff) as u32)
73229            }
73230        }
73231        impl W {
73232            ///Bits 0:31 - CPU(n) semaphore m enable bit
73233            #[inline(always)]
73234            pub fn isem(&mut self) -> ISEM_W {
73235                ISEM_W { w: self }
73236            }
73237        }
73238    }
73239    ///HSEM Interrupt clear register
73240    ///
73241    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
73242    ///
73243    ///For information about available fields see [c1icr](c1icr) module
73244    pub type C1ICR = crate::Reg<u32, _C1ICR>;
73245    #[allow(missing_docs)]
73246    #[doc(hidden)]
73247    pub struct _C1ICR;
73248    ///`read()` method returns [c1icr::R](c1icr::R) reader structure
73249    impl crate::Readable for C1ICR {}
73250    ///`write(|w| ..)` method takes [c1icr::W](c1icr::W) writer structure
73251    impl crate::Writable for C1ICR {}
73252    ///HSEM Interrupt clear register
73253    pub mod c1icr {
73254        ///Reader of register C1ICR
73255        pub type R = crate::R<u32, super::C1ICR>;
73256        ///Writer for register C1ICR
73257        pub type W = crate::W<u32, super::C1ICR>;
73258        ///Register C1ICR `reset()`'s with value 0
73259        impl crate::ResetValue for super::C1ICR {
73260            type Type = u32;
73261            #[inline(always)]
73262            fn reset_value() -> Self::Type {
73263                0
73264            }
73265        }
73266        ///Reader of field `ISCm`
73267        pub type ISCM_R = crate::R<u32, u32>;
73268        ///Write proxy for field `ISCm`
73269        pub struct ISCM_W<'a> {
73270            w: &'a mut W,
73271        }
73272        impl<'a> ISCM_W<'a> {
73273            ///Writes raw bits to the field
73274            #[inline(always)]
73275            pub unsafe fn bits(self, value: u32) -> &'a mut W {
73276                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
73277                self.w
73278            }
73279        }
73280        impl R {
73281            ///Bits 0:31 - CPU(n) semaphore m clear bit
73282            #[inline(always)]
73283            pub fn iscm(&self) -> ISCM_R {
73284                ISCM_R::new((self.bits & 0xffff_ffff) as u32)
73285            }
73286        }
73287        impl W {
73288            ///Bits 0:31 - CPU(n) semaphore m clear bit
73289            #[inline(always)]
73290            pub fn iscm(&mut self) -> ISCM_W {
73291                ISCM_W { w: self }
73292            }
73293        }
73294    }
73295    ///HSEM Interrupt status register
73296    ///
73297    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
73298    ///
73299    ///For information about available fields see [c1isr](c1isr) module
73300    pub type C1ISR = crate::Reg<u32, _C1ISR>;
73301    #[allow(missing_docs)]
73302    #[doc(hidden)]
73303    pub struct _C1ISR;
73304    ///`read()` method returns [c1isr::R](c1isr::R) reader structure
73305    impl crate::Readable for C1ISR {}
73306    ///HSEM Interrupt status register
73307    pub mod c1isr {
73308        ///Reader of register C1ISR
73309        pub type R = crate::R<u32, super::C1ISR>;
73310        ///Reader of field `ISFm`
73311        pub type ISFM_R = crate::R<u32, u32>;
73312        impl R {
73313            ///Bits 0:31 - CPU(n) semaphore m status bit before enable (mask)
73314            #[inline(always)]
73315            pub fn isfm(&self) -> ISFM_R {
73316                ISFM_R::new((self.bits & 0xffff_ffff) as u32)
73317            }
73318        }
73319    }
73320    ///HSEM Masked interrupt status register
73321    ///
73322    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
73323    ///
73324    ///For information about available fields see [c1misr](c1misr) module
73325    pub type C1MISR = crate::Reg<u32, _C1MISR>;
73326    #[allow(missing_docs)]
73327    #[doc(hidden)]
73328    pub struct _C1MISR;
73329    ///`read()` method returns [c1misr::R](c1misr::R) reader structure
73330    impl crate::Readable for C1MISR {}
73331    ///HSEM Masked interrupt status register
73332    pub mod c1misr {
73333        ///Reader of register C1MISR
73334        pub type R = crate::R<u32, super::C1MISR>;
73335        ///Reader of field `MISFm`
73336        pub type MISFM_R = crate::R<u32, u32>;
73337        impl R {
73338            ///Bits 0:31 - masked CPU(n) semaphore m status bit after enable (mask).
73339            #[inline(always)]
73340            pub fn misfm(&self) -> MISFM_R {
73341                MISFM_R::new((self.bits & 0xffff_ffff) as u32)
73342            }
73343        }
73344    }
73345    ///HSEM Interrupt enable register
73346    ///
73347    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
73348    ///
73349    ///For information about available fields see [c2ier](c2ier) module
73350    pub type C2IER = crate::Reg<u32, _C2IER>;
73351    #[allow(missing_docs)]
73352    #[doc(hidden)]
73353    pub struct _C2IER;
73354    ///`read()` method returns [c2ier::R](c2ier::R) reader structure
73355    impl crate::Readable for C2IER {}
73356    ///`write(|w| ..)` method takes [c2ier::W](c2ier::W) writer structure
73357    impl crate::Writable for C2IER {}
73358    ///HSEM Interrupt enable register
73359    pub mod c2ier {
73360        ///Reader of register C2IER
73361        pub type R = crate::R<u32, super::C2IER>;
73362        ///Writer for register C2IER
73363        pub type W = crate::W<u32, super::C2IER>;
73364        ///Register C2IER `reset()`'s with value 0
73365        impl crate::ResetValue for super::C2IER {
73366            type Type = u32;
73367            #[inline(always)]
73368            fn reset_value() -> Self::Type {
73369                0
73370            }
73371        }
73372        ///Reader of field `ISEm`
73373        pub type ISEM_R = crate::R<u32, u32>;
73374        ///Write proxy for field `ISEm`
73375        pub struct ISEM_W<'a> {
73376            w: &'a mut W,
73377        }
73378        impl<'a> ISEM_W<'a> {
73379            ///Writes raw bits to the field
73380            #[inline(always)]
73381            pub unsafe fn bits(self, value: u32) -> &'a mut W {
73382                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
73383                self.w
73384            }
73385        }
73386        impl R {
73387            ///Bits 0:31 - CPU(2) semaphore m enable bit.
73388            #[inline(always)]
73389            pub fn isem(&self) -> ISEM_R {
73390                ISEM_R::new((self.bits & 0xffff_ffff) as u32)
73391            }
73392        }
73393        impl W {
73394            ///Bits 0:31 - CPU(2) semaphore m enable bit.
73395            #[inline(always)]
73396            pub fn isem(&mut self) -> ISEM_W {
73397                ISEM_W { w: self }
73398            }
73399        }
73400    }
73401    ///HSEM Interrupt clear register
73402    ///
73403    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
73404    ///
73405    ///For information about available fields see [c2icr](c2icr) module
73406    pub type C2ICR = crate::Reg<u32, _C2ICR>;
73407    #[allow(missing_docs)]
73408    #[doc(hidden)]
73409    pub struct _C2ICR;
73410    ///`read()` method returns [c2icr::R](c2icr::R) reader structure
73411    impl crate::Readable for C2ICR {}
73412    ///`write(|w| ..)` method takes [c2icr::W](c2icr::W) writer structure
73413    impl crate::Writable for C2ICR {}
73414    ///HSEM Interrupt clear register
73415    pub mod c2icr {
73416        ///Reader of register C2ICR
73417        pub type R = crate::R<u32, super::C2ICR>;
73418        ///Writer for register C2ICR
73419        pub type W = crate::W<u32, super::C2ICR>;
73420        ///Register C2ICR `reset()`'s with value 0
73421        impl crate::ResetValue for super::C2ICR {
73422            type Type = u32;
73423            #[inline(always)]
73424            fn reset_value() -> Self::Type {
73425                0
73426            }
73427        }
73428        ///Reader of field `ISCm`
73429        pub type ISCM_R = crate::R<u32, u32>;
73430        ///Write proxy for field `ISCm`
73431        pub struct ISCM_W<'a> {
73432            w: &'a mut W,
73433        }
73434        impl<'a> ISCM_W<'a> {
73435            ///Writes raw bits to the field
73436            #[inline(always)]
73437            pub unsafe fn bits(self, value: u32) -> &'a mut W {
73438                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
73439                self.w
73440            }
73441        }
73442        impl R {
73443            ///Bits 0:31 - CPU(2) semaphore m clear bit
73444            #[inline(always)]
73445            pub fn iscm(&self) -> ISCM_R {
73446                ISCM_R::new((self.bits & 0xffff_ffff) as u32)
73447            }
73448        }
73449        impl W {
73450            ///Bits 0:31 - CPU(2) semaphore m clear bit
73451            #[inline(always)]
73452            pub fn iscm(&mut self) -> ISCM_W {
73453                ISCM_W { w: self }
73454            }
73455        }
73456    }
73457    ///HSEM Interrupt status register
73458    ///
73459    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
73460    ///
73461    ///For information about available fields see [c2isr](c2isr) module
73462    pub type C2ISR = crate::Reg<u32, _C2ISR>;
73463    #[allow(missing_docs)]
73464    #[doc(hidden)]
73465    pub struct _C2ISR;
73466    ///`read()` method returns [c2isr::R](c2isr::R) reader structure
73467    impl crate::Readable for C2ISR {}
73468    ///HSEM Interrupt status register
73469    pub mod c2isr {
73470        ///Reader of register C2ISR
73471        pub type R = crate::R<u32, super::C2ISR>;
73472        ///Reader of field `ISFm`
73473        pub type ISFM_R = crate::R<u32, u32>;
73474        impl R {
73475            ///Bits 0:31 - CPU(2) semaphore m status bit before enable (mask).
73476            #[inline(always)]
73477            pub fn isfm(&self) -> ISFM_R {
73478                ISFM_R::new((self.bits & 0xffff_ffff) as u32)
73479            }
73480        }
73481    }
73482    ///HSEM Masked interrupt status register
73483    ///
73484    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
73485    ///
73486    ///For information about available fields see [c2misr](c2misr) module
73487    pub type C2MISR = crate::Reg<u32, _C2MISR>;
73488    #[allow(missing_docs)]
73489    #[doc(hidden)]
73490    pub struct _C2MISR;
73491    ///`read()` method returns [c2misr::R](c2misr::R) reader structure
73492    impl crate::Readable for C2MISR {}
73493    ///HSEM Masked interrupt status register
73494    pub mod c2misr {
73495        ///Reader of register C2MISR
73496        pub type R = crate::R<u32, super::C2MISR>;
73497        ///Reader of field `MISFm`
73498        pub type MISFM_R = crate::R<u32, u32>;
73499        impl R {
73500            ///Bits 0:31 - masked CPU(2) semaphore m status bit after enable (mask).
73501            #[inline(always)]
73502            pub fn misfm(&self) -> MISFM_R {
73503                MISFM_R::new((self.bits & 0xffff_ffff) as u32)
73504            }
73505        }
73506    }
73507}
73508///Analog to Digital Converter instance 1
73509pub struct ADC {
73510    _marker: PhantomData<*const ()>,
73511}
73512unsafe impl Send for ADC {}
73513impl ADC {
73514    ///Returns a pointer to the register block
73515    #[inline(always)]
73516    pub const fn ptr() -> *const adc::RegisterBlock {
73517        0x5004_0000 as *const _
73518    }
73519}
73520impl Deref for ADC {
73521    type Target = adc::RegisterBlock;
73522    #[inline(always)]
73523    fn deref(&self) -> &Self::Target {
73524        unsafe { &*ADC::ptr() }
73525    }
73526}
73527///Analog to Digital Converter instance 1
73528pub mod adc {
73529    ///Register block
73530    #[repr(C)]
73531    pub struct RegisterBlock {
73532        ///0x00 - ADC interrupt and status register
73533        pub isr: ISR,
73534        ///0x04 - ADC interrupt enable register
73535        pub ier: IER,
73536        ///0x08 - ADC control register
73537        pub cr: CR,
73538        ///0x0c - ADC configuration register 1
73539        pub cfgr: CFGR,
73540        ///0x10 - ADC configuration register 2
73541        pub cfgr2: CFGR2,
73542        ///0x14 - ADC sampling time register 1
73543        pub smpr1: SMPR1,
73544        ///0x18 - ADC sampling time register 2
73545        pub smpr2: SMPR2,
73546        _reserved7: [u8; 4usize],
73547        ///0x20 - ADC analog watchdog 1 threshold register
73548        pub tr1: TR1,
73549        ///0x24 - ADC analog watchdog 2 threshold register
73550        pub tr2: TR2,
73551        ///0x28 - ADC analog watchdog 3 threshold register
73552        pub tr3: TR3,
73553        _reserved10: [u8; 4usize],
73554        ///0x30 - ADC group regular sequencer ranks register 1
73555        pub sqr1: SQR1,
73556        ///0x34 - ADC group regular sequencer ranks register 2
73557        pub sqr2: SQR2,
73558        ///0x38 - ADC group regular sequencer ranks register 3
73559        pub sqr3: SQR3,
73560        ///0x3c - ADC group regular sequencer ranks register 4
73561        pub sqr4: SQR4,
73562        ///0x40 - ADC group regular conversion data register
73563        pub dr: DR,
73564        _reserved15: [u8; 8usize],
73565        ///0x4c - ADC group injected sequencer register
73566        pub jsqr: JSQR,
73567        _reserved16: [u8; 16usize],
73568        ///0x60 - ADC offset number 1 register
73569        pub ofr1: OFR1,
73570        ///0x64 - ADC offset number 2 register
73571        pub ofr2: OFR2,
73572        ///0x68 - ADC offset number 3 register
73573        pub ofr3: OFR3,
73574        ///0x6c - ADC offset number 4 register
73575        pub ofr4: OFR4,
73576        _reserved20: [u8; 16usize],
73577        ///0x80 - ADC group injected sequencer rank 1 register
73578        pub jdr1: JDR1,
73579        ///0x84 - ADC group injected sequencer rank 2 register
73580        pub jdr2: JDR2,
73581        ///0x88 - ADC group injected sequencer rank 3 register
73582        pub jdr3: JDR3,
73583        ///0x8c - ADC group injected sequencer rank 4 register
73584        pub jdr4: JDR4,
73585        _reserved24: [u8; 16usize],
73586        ///0xa0 - ADC analog watchdog 2 configuration register
73587        pub awd2cr: AWD2CR,
73588        ///0xa4 - ADC analog watchdog 3 configuration register
73589        pub awd3cr: AWD3CR,
73590        _reserved26: [u8; 8usize],
73591        ///0xb0 - ADC channel differential or single-ended mode selection register
73592        pub difsel: DIFSEL,
73593        ///0xb4 - ADC calibration factors register
73594        pub calfact: CALFACT,
73595        _reserved28: [u8; 592usize],
73596        ///0x308 - ADC common control register
73597        pub ccr: CCR,
73598    }
73599    ///ADC interrupt and status register
73600    ///
73601    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
73602    ///
73603    ///For information about available fields see [isr](isr) module
73604    pub type ISR = crate::Reg<u32, _ISR>;
73605    #[allow(missing_docs)]
73606    #[doc(hidden)]
73607    pub struct _ISR;
73608    ///`read()` method returns [isr::R](isr::R) reader structure
73609    impl crate::Readable for ISR {}
73610    ///`write(|w| ..)` method takes [isr::W](isr::W) writer structure
73611    impl crate::Writable for ISR {}
73612    ///ADC interrupt and status register
73613    pub mod isr {
73614        ///Reader of register ISR
73615        pub type R = crate::R<u32, super::ISR>;
73616        ///Writer for register ISR
73617        pub type W = crate::W<u32, super::ISR>;
73618        ///Register ISR `reset()`'s with value 0
73619        impl crate::ResetValue for super::ISR {
73620            type Type = u32;
73621            #[inline(always)]
73622            fn reset_value() -> Self::Type {
73623                0
73624            }
73625        }
73626        ///Reader of field `JQOVF`
73627        pub type JQOVF_R = crate::R<bool, bool>;
73628        ///Write proxy for field `JQOVF`
73629        pub struct JQOVF_W<'a> {
73630            w: &'a mut W,
73631        }
73632        impl<'a> JQOVF_W<'a> {
73633            ///Sets the field bit
73634            #[inline(always)]
73635            pub fn set_bit(self) -> &'a mut W {
73636                self.bit(true)
73637            }
73638            ///Clears the field bit
73639            #[inline(always)]
73640            pub fn clear_bit(self) -> &'a mut W {
73641                self.bit(false)
73642            }
73643            ///Writes raw bits to the field
73644            #[inline(always)]
73645            pub fn bit(self, value: bool) -> &'a mut W {
73646                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
73647                self.w
73648            }
73649        }
73650        ///Reader of field `AWD3`
73651        pub type AWD3_R = crate::R<bool, bool>;
73652        ///Write proxy for field `AWD3`
73653        pub struct AWD3_W<'a> {
73654            w: &'a mut W,
73655        }
73656        impl<'a> AWD3_W<'a> {
73657            ///Sets the field bit
73658            #[inline(always)]
73659            pub fn set_bit(self) -> &'a mut W {
73660                self.bit(true)
73661            }
73662            ///Clears the field bit
73663            #[inline(always)]
73664            pub fn clear_bit(self) -> &'a mut W {
73665                self.bit(false)
73666            }
73667            ///Writes raw bits to the field
73668            #[inline(always)]
73669            pub fn bit(self, value: bool) -> &'a mut W {
73670                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
73671                self.w
73672            }
73673        }
73674        ///Reader of field `AWD2`
73675        pub type AWD2_R = crate::R<bool, bool>;
73676        ///Write proxy for field `AWD2`
73677        pub struct AWD2_W<'a> {
73678            w: &'a mut W,
73679        }
73680        impl<'a> AWD2_W<'a> {
73681            ///Sets the field bit
73682            #[inline(always)]
73683            pub fn set_bit(self) -> &'a mut W {
73684                self.bit(true)
73685            }
73686            ///Clears the field bit
73687            #[inline(always)]
73688            pub fn clear_bit(self) -> &'a mut W {
73689                self.bit(false)
73690            }
73691            ///Writes raw bits to the field
73692            #[inline(always)]
73693            pub fn bit(self, value: bool) -> &'a mut W {
73694                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
73695                self.w
73696            }
73697        }
73698        ///Reader of field `AWD1`
73699        pub type AWD1_R = crate::R<bool, bool>;
73700        ///Write proxy for field `AWD1`
73701        pub struct AWD1_W<'a> {
73702            w: &'a mut W,
73703        }
73704        impl<'a> AWD1_W<'a> {
73705            ///Sets the field bit
73706            #[inline(always)]
73707            pub fn set_bit(self) -> &'a mut W {
73708                self.bit(true)
73709            }
73710            ///Clears the field bit
73711            #[inline(always)]
73712            pub fn clear_bit(self) -> &'a mut W {
73713                self.bit(false)
73714            }
73715            ///Writes raw bits to the field
73716            #[inline(always)]
73717            pub fn bit(self, value: bool) -> &'a mut W {
73718                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
73719                self.w
73720            }
73721        }
73722        ///Reader of field `JEOS`
73723        pub type JEOS_R = crate::R<bool, bool>;
73724        ///Write proxy for field `JEOS`
73725        pub struct JEOS_W<'a> {
73726            w: &'a mut W,
73727        }
73728        impl<'a> JEOS_W<'a> {
73729            ///Sets the field bit
73730            #[inline(always)]
73731            pub fn set_bit(self) -> &'a mut W {
73732                self.bit(true)
73733            }
73734            ///Clears the field bit
73735            #[inline(always)]
73736            pub fn clear_bit(self) -> &'a mut W {
73737                self.bit(false)
73738            }
73739            ///Writes raw bits to the field
73740            #[inline(always)]
73741            pub fn bit(self, value: bool) -> &'a mut W {
73742                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
73743                self.w
73744            }
73745        }
73746        ///Reader of field `JEOC`
73747        pub type JEOC_R = crate::R<bool, bool>;
73748        ///Write proxy for field `JEOC`
73749        pub struct JEOC_W<'a> {
73750            w: &'a mut W,
73751        }
73752        impl<'a> JEOC_W<'a> {
73753            ///Sets the field bit
73754            #[inline(always)]
73755            pub fn set_bit(self) -> &'a mut W {
73756                self.bit(true)
73757            }
73758            ///Clears the field bit
73759            #[inline(always)]
73760            pub fn clear_bit(self) -> &'a mut W {
73761                self.bit(false)
73762            }
73763            ///Writes raw bits to the field
73764            #[inline(always)]
73765            pub fn bit(self, value: bool) -> &'a mut W {
73766                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
73767                self.w
73768            }
73769        }
73770        ///Reader of field `OVR`
73771        pub type OVR_R = crate::R<bool, bool>;
73772        ///Write proxy for field `OVR`
73773        pub struct OVR_W<'a> {
73774            w: &'a mut W,
73775        }
73776        impl<'a> OVR_W<'a> {
73777            ///Sets the field bit
73778            #[inline(always)]
73779            pub fn set_bit(self) -> &'a mut W {
73780                self.bit(true)
73781            }
73782            ///Clears the field bit
73783            #[inline(always)]
73784            pub fn clear_bit(self) -> &'a mut W {
73785                self.bit(false)
73786            }
73787            ///Writes raw bits to the field
73788            #[inline(always)]
73789            pub fn bit(self, value: bool) -> &'a mut W {
73790                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
73791                self.w
73792            }
73793        }
73794        ///Reader of field `EOS`
73795        pub type EOS_R = crate::R<bool, bool>;
73796        ///Write proxy for field `EOS`
73797        pub struct EOS_W<'a> {
73798            w: &'a mut W,
73799        }
73800        impl<'a> EOS_W<'a> {
73801            ///Sets the field bit
73802            #[inline(always)]
73803            pub fn set_bit(self) -> &'a mut W {
73804                self.bit(true)
73805            }
73806            ///Clears the field bit
73807            #[inline(always)]
73808            pub fn clear_bit(self) -> &'a mut W {
73809                self.bit(false)
73810            }
73811            ///Writes raw bits to the field
73812            #[inline(always)]
73813            pub fn bit(self, value: bool) -> &'a mut W {
73814                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
73815                self.w
73816            }
73817        }
73818        ///Reader of field `EOC`
73819        pub type EOC_R = crate::R<bool, bool>;
73820        ///Write proxy for field `EOC`
73821        pub struct EOC_W<'a> {
73822            w: &'a mut W,
73823        }
73824        impl<'a> EOC_W<'a> {
73825            ///Sets the field bit
73826            #[inline(always)]
73827            pub fn set_bit(self) -> &'a mut W {
73828                self.bit(true)
73829            }
73830            ///Clears the field bit
73831            #[inline(always)]
73832            pub fn clear_bit(self) -> &'a mut W {
73833                self.bit(false)
73834            }
73835            ///Writes raw bits to the field
73836            #[inline(always)]
73837            pub fn bit(self, value: bool) -> &'a mut W {
73838                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
73839                self.w
73840            }
73841        }
73842        ///Reader of field `EOSMP`
73843        pub type EOSMP_R = crate::R<bool, bool>;
73844        ///Write proxy for field `EOSMP`
73845        pub struct EOSMP_W<'a> {
73846            w: &'a mut W,
73847        }
73848        impl<'a> EOSMP_W<'a> {
73849            ///Sets the field bit
73850            #[inline(always)]
73851            pub fn set_bit(self) -> &'a mut W {
73852                self.bit(true)
73853            }
73854            ///Clears the field bit
73855            #[inline(always)]
73856            pub fn clear_bit(self) -> &'a mut W {
73857                self.bit(false)
73858            }
73859            ///Writes raw bits to the field
73860            #[inline(always)]
73861            pub fn bit(self, value: bool) -> &'a mut W {
73862                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
73863                self.w
73864            }
73865        }
73866        ///Reader of field `ADRDY`
73867        pub type ADRDY_R = crate::R<bool, bool>;
73868        ///Write proxy for field `ADRDY`
73869        pub struct ADRDY_W<'a> {
73870            w: &'a mut W,
73871        }
73872        impl<'a> ADRDY_W<'a> {
73873            ///Sets the field bit
73874            #[inline(always)]
73875            pub fn set_bit(self) -> &'a mut W {
73876                self.bit(true)
73877            }
73878            ///Clears the field bit
73879            #[inline(always)]
73880            pub fn clear_bit(self) -> &'a mut W {
73881                self.bit(false)
73882            }
73883            ///Writes raw bits to the field
73884            #[inline(always)]
73885            pub fn bit(self, value: bool) -> &'a mut W {
73886                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
73887                self.w
73888            }
73889        }
73890        impl R {
73891            ///Bit 10 - ADC group injected contexts queue overflow flag
73892            #[inline(always)]
73893            pub fn jqovf(&self) -> JQOVF_R {
73894                JQOVF_R::new(((self.bits >> 10) & 0x01) != 0)
73895            }
73896            ///Bit 9 - ADC analog watchdog 3 flag
73897            #[inline(always)]
73898            pub fn awd3(&self) -> AWD3_R {
73899                AWD3_R::new(((self.bits >> 9) & 0x01) != 0)
73900            }
73901            ///Bit 8 - ADC analog watchdog 2 flag
73902            #[inline(always)]
73903            pub fn awd2(&self) -> AWD2_R {
73904                AWD2_R::new(((self.bits >> 8) & 0x01) != 0)
73905            }
73906            ///Bit 7 - ADC analog watchdog 1 flag
73907            #[inline(always)]
73908            pub fn awd1(&self) -> AWD1_R {
73909                AWD1_R::new(((self.bits >> 7) & 0x01) != 0)
73910            }
73911            ///Bit 6 - ADC group injected end of sequence conversions flag
73912            #[inline(always)]
73913            pub fn jeos(&self) -> JEOS_R {
73914                JEOS_R::new(((self.bits >> 6) & 0x01) != 0)
73915            }
73916            ///Bit 5 - ADC group injected end of unitary conversion flag
73917            #[inline(always)]
73918            pub fn jeoc(&self) -> JEOC_R {
73919                JEOC_R::new(((self.bits >> 5) & 0x01) != 0)
73920            }
73921            ///Bit 4 - ADC group regular overrun flag
73922            #[inline(always)]
73923            pub fn ovr(&self) -> OVR_R {
73924                OVR_R::new(((self.bits >> 4) & 0x01) != 0)
73925            }
73926            ///Bit 3 - ADC group regular end of sequence conversions flag
73927            #[inline(always)]
73928            pub fn eos(&self) -> EOS_R {
73929                EOS_R::new(((self.bits >> 3) & 0x01) != 0)
73930            }
73931            ///Bit 2 - ADC group regular end of unitary conversion flag
73932            #[inline(always)]
73933            pub fn eoc(&self) -> EOC_R {
73934                EOC_R::new(((self.bits >> 2) & 0x01) != 0)
73935            }
73936            ///Bit 1 - ADC group regular end of sampling flag
73937            #[inline(always)]
73938            pub fn eosmp(&self) -> EOSMP_R {
73939                EOSMP_R::new(((self.bits >> 1) & 0x01) != 0)
73940            }
73941            ///Bit 0 - ADC ready flag
73942            #[inline(always)]
73943            pub fn adrdy(&self) -> ADRDY_R {
73944                ADRDY_R::new((self.bits & 0x01) != 0)
73945            }
73946        }
73947        impl W {
73948            ///Bit 10 - ADC group injected contexts queue overflow flag
73949            #[inline(always)]
73950            pub fn jqovf(&mut self) -> JQOVF_W {
73951                JQOVF_W { w: self }
73952            }
73953            ///Bit 9 - ADC analog watchdog 3 flag
73954            #[inline(always)]
73955            pub fn awd3(&mut self) -> AWD3_W {
73956                AWD3_W { w: self }
73957            }
73958            ///Bit 8 - ADC analog watchdog 2 flag
73959            #[inline(always)]
73960            pub fn awd2(&mut self) -> AWD2_W {
73961                AWD2_W { w: self }
73962            }
73963            ///Bit 7 - ADC analog watchdog 1 flag
73964            #[inline(always)]
73965            pub fn awd1(&mut self) -> AWD1_W {
73966                AWD1_W { w: self }
73967            }
73968            ///Bit 6 - ADC group injected end of sequence conversions flag
73969            #[inline(always)]
73970            pub fn jeos(&mut self) -> JEOS_W {
73971                JEOS_W { w: self }
73972            }
73973            ///Bit 5 - ADC group injected end of unitary conversion flag
73974            #[inline(always)]
73975            pub fn jeoc(&mut self) -> JEOC_W {
73976                JEOC_W { w: self }
73977            }
73978            ///Bit 4 - ADC group regular overrun flag
73979            #[inline(always)]
73980            pub fn ovr(&mut self) -> OVR_W {
73981                OVR_W { w: self }
73982            }
73983            ///Bit 3 - ADC group regular end of sequence conversions flag
73984            #[inline(always)]
73985            pub fn eos(&mut self) -> EOS_W {
73986                EOS_W { w: self }
73987            }
73988            ///Bit 2 - ADC group regular end of unitary conversion flag
73989            #[inline(always)]
73990            pub fn eoc(&mut self) -> EOC_W {
73991                EOC_W { w: self }
73992            }
73993            ///Bit 1 - ADC group regular end of sampling flag
73994            #[inline(always)]
73995            pub fn eosmp(&mut self) -> EOSMP_W {
73996                EOSMP_W { w: self }
73997            }
73998            ///Bit 0 - ADC ready flag
73999            #[inline(always)]
74000            pub fn adrdy(&mut self) -> ADRDY_W {
74001                ADRDY_W { w: self }
74002            }
74003        }
74004    }
74005    ///ADC interrupt enable register
74006    ///
74007    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
74008    ///
74009    ///For information about available fields see [ier](ier) module
74010    pub type IER = crate::Reg<u32, _IER>;
74011    #[allow(missing_docs)]
74012    #[doc(hidden)]
74013    pub struct _IER;
74014    ///`read()` method returns [ier::R](ier::R) reader structure
74015    impl crate::Readable for IER {}
74016    ///`write(|w| ..)` method takes [ier::W](ier::W) writer structure
74017    impl crate::Writable for IER {}
74018    ///ADC interrupt enable register
74019    pub mod ier {
74020        ///Reader of register IER
74021        pub type R = crate::R<u32, super::IER>;
74022        ///Writer for register IER
74023        pub type W = crate::W<u32, super::IER>;
74024        ///Register IER `reset()`'s with value 0
74025        impl crate::ResetValue for super::IER {
74026            type Type = u32;
74027            #[inline(always)]
74028            fn reset_value() -> Self::Type {
74029                0
74030            }
74031        }
74032        ///Reader of field `JQOVFIE`
74033        pub type JQOVFIE_R = crate::R<bool, bool>;
74034        ///Write proxy for field `JQOVFIE`
74035        pub struct JQOVFIE_W<'a> {
74036            w: &'a mut W,
74037        }
74038        impl<'a> JQOVFIE_W<'a> {
74039            ///Sets the field bit
74040            #[inline(always)]
74041            pub fn set_bit(self) -> &'a mut W {
74042                self.bit(true)
74043            }
74044            ///Clears the field bit
74045            #[inline(always)]
74046            pub fn clear_bit(self) -> &'a mut W {
74047                self.bit(false)
74048            }
74049            ///Writes raw bits to the field
74050            #[inline(always)]
74051            pub fn bit(self, value: bool) -> &'a mut W {
74052                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
74053                self.w
74054            }
74055        }
74056        ///Reader of field `AWD3IE`
74057        pub type AWD3IE_R = crate::R<bool, bool>;
74058        ///Write proxy for field `AWD3IE`
74059        pub struct AWD3IE_W<'a> {
74060            w: &'a mut W,
74061        }
74062        impl<'a> AWD3IE_W<'a> {
74063            ///Sets the field bit
74064            #[inline(always)]
74065            pub fn set_bit(self) -> &'a mut W {
74066                self.bit(true)
74067            }
74068            ///Clears the field bit
74069            #[inline(always)]
74070            pub fn clear_bit(self) -> &'a mut W {
74071                self.bit(false)
74072            }
74073            ///Writes raw bits to the field
74074            #[inline(always)]
74075            pub fn bit(self, value: bool) -> &'a mut W {
74076                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
74077                self.w
74078            }
74079        }
74080        ///Reader of field `AWD2IE`
74081        pub type AWD2IE_R = crate::R<bool, bool>;
74082        ///Write proxy for field `AWD2IE`
74083        pub struct AWD2IE_W<'a> {
74084            w: &'a mut W,
74085        }
74086        impl<'a> AWD2IE_W<'a> {
74087            ///Sets the field bit
74088            #[inline(always)]
74089            pub fn set_bit(self) -> &'a mut W {
74090                self.bit(true)
74091            }
74092            ///Clears the field bit
74093            #[inline(always)]
74094            pub fn clear_bit(self) -> &'a mut W {
74095                self.bit(false)
74096            }
74097            ///Writes raw bits to the field
74098            #[inline(always)]
74099            pub fn bit(self, value: bool) -> &'a mut W {
74100                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
74101                self.w
74102            }
74103        }
74104        ///Reader of field `AWD1IE`
74105        pub type AWD1IE_R = crate::R<bool, bool>;
74106        ///Write proxy for field `AWD1IE`
74107        pub struct AWD1IE_W<'a> {
74108            w: &'a mut W,
74109        }
74110        impl<'a> AWD1IE_W<'a> {
74111            ///Sets the field bit
74112            #[inline(always)]
74113            pub fn set_bit(self) -> &'a mut W {
74114                self.bit(true)
74115            }
74116            ///Clears the field bit
74117            #[inline(always)]
74118            pub fn clear_bit(self) -> &'a mut W {
74119                self.bit(false)
74120            }
74121            ///Writes raw bits to the field
74122            #[inline(always)]
74123            pub fn bit(self, value: bool) -> &'a mut W {
74124                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
74125                self.w
74126            }
74127        }
74128        ///Reader of field `JEOSIE`
74129        pub type JEOSIE_R = crate::R<bool, bool>;
74130        ///Write proxy for field `JEOSIE`
74131        pub struct JEOSIE_W<'a> {
74132            w: &'a mut W,
74133        }
74134        impl<'a> JEOSIE_W<'a> {
74135            ///Sets the field bit
74136            #[inline(always)]
74137            pub fn set_bit(self) -> &'a mut W {
74138                self.bit(true)
74139            }
74140            ///Clears the field bit
74141            #[inline(always)]
74142            pub fn clear_bit(self) -> &'a mut W {
74143                self.bit(false)
74144            }
74145            ///Writes raw bits to the field
74146            #[inline(always)]
74147            pub fn bit(self, value: bool) -> &'a mut W {
74148                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
74149                self.w
74150            }
74151        }
74152        ///Reader of field `JEOCIE`
74153        pub type JEOCIE_R = crate::R<bool, bool>;
74154        ///Write proxy for field `JEOCIE`
74155        pub struct JEOCIE_W<'a> {
74156            w: &'a mut W,
74157        }
74158        impl<'a> JEOCIE_W<'a> {
74159            ///Sets the field bit
74160            #[inline(always)]
74161            pub fn set_bit(self) -> &'a mut W {
74162                self.bit(true)
74163            }
74164            ///Clears the field bit
74165            #[inline(always)]
74166            pub fn clear_bit(self) -> &'a mut W {
74167                self.bit(false)
74168            }
74169            ///Writes raw bits to the field
74170            #[inline(always)]
74171            pub fn bit(self, value: bool) -> &'a mut W {
74172                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
74173                self.w
74174            }
74175        }
74176        ///Reader of field `OVRIE`
74177        pub type OVRIE_R = crate::R<bool, bool>;
74178        ///Write proxy for field `OVRIE`
74179        pub struct OVRIE_W<'a> {
74180            w: &'a mut W,
74181        }
74182        impl<'a> OVRIE_W<'a> {
74183            ///Sets the field bit
74184            #[inline(always)]
74185            pub fn set_bit(self) -> &'a mut W {
74186                self.bit(true)
74187            }
74188            ///Clears the field bit
74189            #[inline(always)]
74190            pub fn clear_bit(self) -> &'a mut W {
74191                self.bit(false)
74192            }
74193            ///Writes raw bits to the field
74194            #[inline(always)]
74195            pub fn bit(self, value: bool) -> &'a mut W {
74196                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
74197                self.w
74198            }
74199        }
74200        ///Reader of field `EOSIE`
74201        pub type EOSIE_R = crate::R<bool, bool>;
74202        ///Write proxy for field `EOSIE`
74203        pub struct EOSIE_W<'a> {
74204            w: &'a mut W,
74205        }
74206        impl<'a> EOSIE_W<'a> {
74207            ///Sets the field bit
74208            #[inline(always)]
74209            pub fn set_bit(self) -> &'a mut W {
74210                self.bit(true)
74211            }
74212            ///Clears the field bit
74213            #[inline(always)]
74214            pub fn clear_bit(self) -> &'a mut W {
74215                self.bit(false)
74216            }
74217            ///Writes raw bits to the field
74218            #[inline(always)]
74219            pub fn bit(self, value: bool) -> &'a mut W {
74220                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
74221                self.w
74222            }
74223        }
74224        ///Reader of field `EOCIE`
74225        pub type EOCIE_R = crate::R<bool, bool>;
74226        ///Write proxy for field `EOCIE`
74227        pub struct EOCIE_W<'a> {
74228            w: &'a mut W,
74229        }
74230        impl<'a> EOCIE_W<'a> {
74231            ///Sets the field bit
74232            #[inline(always)]
74233            pub fn set_bit(self) -> &'a mut W {
74234                self.bit(true)
74235            }
74236            ///Clears the field bit
74237            #[inline(always)]
74238            pub fn clear_bit(self) -> &'a mut W {
74239                self.bit(false)
74240            }
74241            ///Writes raw bits to the field
74242            #[inline(always)]
74243            pub fn bit(self, value: bool) -> &'a mut W {
74244                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
74245                self.w
74246            }
74247        }
74248        ///Reader of field `EOSMPIE`
74249        pub type EOSMPIE_R = crate::R<bool, bool>;
74250        ///Write proxy for field `EOSMPIE`
74251        pub struct EOSMPIE_W<'a> {
74252            w: &'a mut W,
74253        }
74254        impl<'a> EOSMPIE_W<'a> {
74255            ///Sets the field bit
74256            #[inline(always)]
74257            pub fn set_bit(self) -> &'a mut W {
74258                self.bit(true)
74259            }
74260            ///Clears the field bit
74261            #[inline(always)]
74262            pub fn clear_bit(self) -> &'a mut W {
74263                self.bit(false)
74264            }
74265            ///Writes raw bits to the field
74266            #[inline(always)]
74267            pub fn bit(self, value: bool) -> &'a mut W {
74268                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
74269                self.w
74270            }
74271        }
74272        ///Reader of field `ADRDYIE`
74273        pub type ADRDYIE_R = crate::R<bool, bool>;
74274        ///Write proxy for field `ADRDYIE`
74275        pub struct ADRDYIE_W<'a> {
74276            w: &'a mut W,
74277        }
74278        impl<'a> ADRDYIE_W<'a> {
74279            ///Sets the field bit
74280            #[inline(always)]
74281            pub fn set_bit(self) -> &'a mut W {
74282                self.bit(true)
74283            }
74284            ///Clears the field bit
74285            #[inline(always)]
74286            pub fn clear_bit(self) -> &'a mut W {
74287                self.bit(false)
74288            }
74289            ///Writes raw bits to the field
74290            #[inline(always)]
74291            pub fn bit(self, value: bool) -> &'a mut W {
74292                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
74293                self.w
74294            }
74295        }
74296        impl R {
74297            ///Bit 10 - ADC group injected contexts queue overflow interrupt
74298            #[inline(always)]
74299            pub fn jqovfie(&self) -> JQOVFIE_R {
74300                JQOVFIE_R::new(((self.bits >> 10) & 0x01) != 0)
74301            }
74302            ///Bit 9 - ADC analog watchdog 3 interrupt
74303            #[inline(always)]
74304            pub fn awd3ie(&self) -> AWD3IE_R {
74305                AWD3IE_R::new(((self.bits >> 9) & 0x01) != 0)
74306            }
74307            ///Bit 8 - ADC analog watchdog 2 interrupt
74308            #[inline(always)]
74309            pub fn awd2ie(&self) -> AWD2IE_R {
74310                AWD2IE_R::new(((self.bits >> 8) & 0x01) != 0)
74311            }
74312            ///Bit 7 - ADC analog watchdog 1 interrupt
74313            #[inline(always)]
74314            pub fn awd1ie(&self) -> AWD1IE_R {
74315                AWD1IE_R::new(((self.bits >> 7) & 0x01) != 0)
74316            }
74317            ///Bit 6 - ADC group injected end of sequence conversions interrupt
74318            #[inline(always)]
74319            pub fn jeosie(&self) -> JEOSIE_R {
74320                JEOSIE_R::new(((self.bits >> 6) & 0x01) != 0)
74321            }
74322            ///Bit 5 - ADC group injected end of unitary conversion interrupt
74323            #[inline(always)]
74324            pub fn jeocie(&self) -> JEOCIE_R {
74325                JEOCIE_R::new(((self.bits >> 5) & 0x01) != 0)
74326            }
74327            ///Bit 4 - ADC group regular overrun interrupt
74328            #[inline(always)]
74329            pub fn ovrie(&self) -> OVRIE_R {
74330                OVRIE_R::new(((self.bits >> 4) & 0x01) != 0)
74331            }
74332            ///Bit 3 - ADC group regular end of sequence conversions interrupt
74333            #[inline(always)]
74334            pub fn eosie(&self) -> EOSIE_R {
74335                EOSIE_R::new(((self.bits >> 3) & 0x01) != 0)
74336            }
74337            ///Bit 2 - ADC group regular end of unitary conversion interrupt
74338            #[inline(always)]
74339            pub fn eocie(&self) -> EOCIE_R {
74340                EOCIE_R::new(((self.bits >> 2) & 0x01) != 0)
74341            }
74342            ///Bit 1 - ADC group regular end of sampling interrupt
74343            #[inline(always)]
74344            pub fn eosmpie(&self) -> EOSMPIE_R {
74345                EOSMPIE_R::new(((self.bits >> 1) & 0x01) != 0)
74346            }
74347            ///Bit 0 - ADC ready interrupt
74348            #[inline(always)]
74349            pub fn adrdyie(&self) -> ADRDYIE_R {
74350                ADRDYIE_R::new((self.bits & 0x01) != 0)
74351            }
74352        }
74353        impl W {
74354            ///Bit 10 - ADC group injected contexts queue overflow interrupt
74355            #[inline(always)]
74356            pub fn jqovfie(&mut self) -> JQOVFIE_W {
74357                JQOVFIE_W { w: self }
74358            }
74359            ///Bit 9 - ADC analog watchdog 3 interrupt
74360            #[inline(always)]
74361            pub fn awd3ie(&mut self) -> AWD3IE_W {
74362                AWD3IE_W { w: self }
74363            }
74364            ///Bit 8 - ADC analog watchdog 2 interrupt
74365            #[inline(always)]
74366            pub fn awd2ie(&mut self) -> AWD2IE_W {
74367                AWD2IE_W { w: self }
74368            }
74369            ///Bit 7 - ADC analog watchdog 1 interrupt
74370            #[inline(always)]
74371            pub fn awd1ie(&mut self) -> AWD1IE_W {
74372                AWD1IE_W { w: self }
74373            }
74374            ///Bit 6 - ADC group injected end of sequence conversions interrupt
74375            #[inline(always)]
74376            pub fn jeosie(&mut self) -> JEOSIE_W {
74377                JEOSIE_W { w: self }
74378            }
74379            ///Bit 5 - ADC group injected end of unitary conversion interrupt
74380            #[inline(always)]
74381            pub fn jeocie(&mut self) -> JEOCIE_W {
74382                JEOCIE_W { w: self }
74383            }
74384            ///Bit 4 - ADC group regular overrun interrupt
74385            #[inline(always)]
74386            pub fn ovrie(&mut self) -> OVRIE_W {
74387                OVRIE_W { w: self }
74388            }
74389            ///Bit 3 - ADC group regular end of sequence conversions interrupt
74390            #[inline(always)]
74391            pub fn eosie(&mut self) -> EOSIE_W {
74392                EOSIE_W { w: self }
74393            }
74394            ///Bit 2 - ADC group regular end of unitary conversion interrupt
74395            #[inline(always)]
74396            pub fn eocie(&mut self) -> EOCIE_W {
74397                EOCIE_W { w: self }
74398            }
74399            ///Bit 1 - ADC group regular end of sampling interrupt
74400            #[inline(always)]
74401            pub fn eosmpie(&mut self) -> EOSMPIE_W {
74402                EOSMPIE_W { w: self }
74403            }
74404            ///Bit 0 - ADC ready interrupt
74405            #[inline(always)]
74406            pub fn adrdyie(&mut self) -> ADRDYIE_W {
74407                ADRDYIE_W { w: self }
74408            }
74409        }
74410    }
74411    ///ADC control register
74412    ///
74413    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
74414    ///
74415    ///For information about available fields see [cr](cr) module
74416    pub type CR = crate::Reg<u32, _CR>;
74417    #[allow(missing_docs)]
74418    #[doc(hidden)]
74419    pub struct _CR;
74420    ///`read()` method returns [cr::R](cr::R) reader structure
74421    impl crate::Readable for CR {}
74422    ///`write(|w| ..)` method takes [cr::W](cr::W) writer structure
74423    impl crate::Writable for CR {}
74424    ///ADC control register
74425    pub mod cr {
74426        ///Reader of register CR
74427        pub type R = crate::R<u32, super::CR>;
74428        ///Writer for register CR
74429        pub type W = crate::W<u32, super::CR>;
74430        ///Register CR `reset()`'s with value 0
74431        impl crate::ResetValue for super::CR {
74432            type Type = u32;
74433            #[inline(always)]
74434            fn reset_value() -> Self::Type {
74435                0
74436            }
74437        }
74438        ///Reader of field `ADCAL`
74439        pub type ADCAL_R = crate::R<bool, bool>;
74440        ///Write proxy for field `ADCAL`
74441        pub struct ADCAL_W<'a> {
74442            w: &'a mut W,
74443        }
74444        impl<'a> ADCAL_W<'a> {
74445            ///Sets the field bit
74446            #[inline(always)]
74447            pub fn set_bit(self) -> &'a mut W {
74448                self.bit(true)
74449            }
74450            ///Clears the field bit
74451            #[inline(always)]
74452            pub fn clear_bit(self) -> &'a mut W {
74453                self.bit(false)
74454            }
74455            ///Writes raw bits to the field
74456            #[inline(always)]
74457            pub fn bit(self, value: bool) -> &'a mut W {
74458                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
74459                self.w
74460            }
74461        }
74462        ///Reader of field `ADCALDIF`
74463        pub type ADCALDIF_R = crate::R<bool, bool>;
74464        ///Write proxy for field `ADCALDIF`
74465        pub struct ADCALDIF_W<'a> {
74466            w: &'a mut W,
74467        }
74468        impl<'a> ADCALDIF_W<'a> {
74469            ///Sets the field bit
74470            #[inline(always)]
74471            pub fn set_bit(self) -> &'a mut W {
74472                self.bit(true)
74473            }
74474            ///Clears the field bit
74475            #[inline(always)]
74476            pub fn clear_bit(self) -> &'a mut W {
74477                self.bit(false)
74478            }
74479            ///Writes raw bits to the field
74480            #[inline(always)]
74481            pub fn bit(self, value: bool) -> &'a mut W {
74482                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
74483                self.w
74484            }
74485        }
74486        ///Reader of field `DEEPPWD`
74487        pub type DEEPPWD_R = crate::R<bool, bool>;
74488        ///Write proxy for field `DEEPPWD`
74489        pub struct DEEPPWD_W<'a> {
74490            w: &'a mut W,
74491        }
74492        impl<'a> DEEPPWD_W<'a> {
74493            ///Sets the field bit
74494            #[inline(always)]
74495            pub fn set_bit(self) -> &'a mut W {
74496                self.bit(true)
74497            }
74498            ///Clears the field bit
74499            #[inline(always)]
74500            pub fn clear_bit(self) -> &'a mut W {
74501                self.bit(false)
74502            }
74503            ///Writes raw bits to the field
74504            #[inline(always)]
74505            pub fn bit(self, value: bool) -> &'a mut W {
74506                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
74507                self.w
74508            }
74509        }
74510        ///Reader of field `ADVREGEN`
74511        pub type ADVREGEN_R = crate::R<bool, bool>;
74512        ///Write proxy for field `ADVREGEN`
74513        pub struct ADVREGEN_W<'a> {
74514            w: &'a mut W,
74515        }
74516        impl<'a> ADVREGEN_W<'a> {
74517            ///Sets the field bit
74518            #[inline(always)]
74519            pub fn set_bit(self) -> &'a mut W {
74520                self.bit(true)
74521            }
74522            ///Clears the field bit
74523            #[inline(always)]
74524            pub fn clear_bit(self) -> &'a mut W {
74525                self.bit(false)
74526            }
74527            ///Writes raw bits to the field
74528            #[inline(always)]
74529            pub fn bit(self, value: bool) -> &'a mut W {
74530                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
74531                self.w
74532            }
74533        }
74534        ///Reader of field `JADSTP`
74535        pub type JADSTP_R = crate::R<bool, bool>;
74536        ///Write proxy for field `JADSTP`
74537        pub struct JADSTP_W<'a> {
74538            w: &'a mut W,
74539        }
74540        impl<'a> JADSTP_W<'a> {
74541            ///Sets the field bit
74542            #[inline(always)]
74543            pub fn set_bit(self) -> &'a mut W {
74544                self.bit(true)
74545            }
74546            ///Clears the field bit
74547            #[inline(always)]
74548            pub fn clear_bit(self) -> &'a mut W {
74549                self.bit(false)
74550            }
74551            ///Writes raw bits to the field
74552            #[inline(always)]
74553            pub fn bit(self, value: bool) -> &'a mut W {
74554                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
74555                self.w
74556            }
74557        }
74558        ///Reader of field `ADSTP`
74559        pub type ADSTP_R = crate::R<bool, bool>;
74560        ///Write proxy for field `ADSTP`
74561        pub struct ADSTP_W<'a> {
74562            w: &'a mut W,
74563        }
74564        impl<'a> ADSTP_W<'a> {
74565            ///Sets the field bit
74566            #[inline(always)]
74567            pub fn set_bit(self) -> &'a mut W {
74568                self.bit(true)
74569            }
74570            ///Clears the field bit
74571            #[inline(always)]
74572            pub fn clear_bit(self) -> &'a mut W {
74573                self.bit(false)
74574            }
74575            ///Writes raw bits to the field
74576            #[inline(always)]
74577            pub fn bit(self, value: bool) -> &'a mut W {
74578                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
74579                self.w
74580            }
74581        }
74582        ///Reader of field `JADSTART`
74583        pub type JADSTART_R = crate::R<bool, bool>;
74584        ///Write proxy for field `JADSTART`
74585        pub struct JADSTART_W<'a> {
74586            w: &'a mut W,
74587        }
74588        impl<'a> JADSTART_W<'a> {
74589            ///Sets the field bit
74590            #[inline(always)]
74591            pub fn set_bit(self) -> &'a mut W {
74592                self.bit(true)
74593            }
74594            ///Clears the field bit
74595            #[inline(always)]
74596            pub fn clear_bit(self) -> &'a mut W {
74597                self.bit(false)
74598            }
74599            ///Writes raw bits to the field
74600            #[inline(always)]
74601            pub fn bit(self, value: bool) -> &'a mut W {
74602                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
74603                self.w
74604            }
74605        }
74606        ///Reader of field `ADSTART`
74607        pub type ADSTART_R = crate::R<bool, bool>;
74608        ///Write proxy for field `ADSTART`
74609        pub struct ADSTART_W<'a> {
74610            w: &'a mut W,
74611        }
74612        impl<'a> ADSTART_W<'a> {
74613            ///Sets the field bit
74614            #[inline(always)]
74615            pub fn set_bit(self) -> &'a mut W {
74616                self.bit(true)
74617            }
74618            ///Clears the field bit
74619            #[inline(always)]
74620            pub fn clear_bit(self) -> &'a mut W {
74621                self.bit(false)
74622            }
74623            ///Writes raw bits to the field
74624            #[inline(always)]
74625            pub fn bit(self, value: bool) -> &'a mut W {
74626                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
74627                self.w
74628            }
74629        }
74630        ///Reader of field `ADDIS`
74631        pub type ADDIS_R = crate::R<bool, bool>;
74632        ///Write proxy for field `ADDIS`
74633        pub struct ADDIS_W<'a> {
74634            w: &'a mut W,
74635        }
74636        impl<'a> ADDIS_W<'a> {
74637            ///Sets the field bit
74638            #[inline(always)]
74639            pub fn set_bit(self) -> &'a mut W {
74640                self.bit(true)
74641            }
74642            ///Clears the field bit
74643            #[inline(always)]
74644            pub fn clear_bit(self) -> &'a mut W {
74645                self.bit(false)
74646            }
74647            ///Writes raw bits to the field
74648            #[inline(always)]
74649            pub fn bit(self, value: bool) -> &'a mut W {
74650                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
74651                self.w
74652            }
74653        }
74654        ///Reader of field `ADEN`
74655        pub type ADEN_R = crate::R<bool, bool>;
74656        ///Write proxy for field `ADEN`
74657        pub struct ADEN_W<'a> {
74658            w: &'a mut W,
74659        }
74660        impl<'a> ADEN_W<'a> {
74661            ///Sets the field bit
74662            #[inline(always)]
74663            pub fn set_bit(self) -> &'a mut W {
74664                self.bit(true)
74665            }
74666            ///Clears the field bit
74667            #[inline(always)]
74668            pub fn clear_bit(self) -> &'a mut W {
74669                self.bit(false)
74670            }
74671            ///Writes raw bits to the field
74672            #[inline(always)]
74673            pub fn bit(self, value: bool) -> &'a mut W {
74674                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
74675                self.w
74676            }
74677        }
74678        impl R {
74679            ///Bit 31 - ADC calibration
74680            #[inline(always)]
74681            pub fn adcal(&self) -> ADCAL_R {
74682                ADCAL_R::new(((self.bits >> 31) & 0x01) != 0)
74683            }
74684            ///Bit 30 - ADC differential mode for calibration
74685            #[inline(always)]
74686            pub fn adcaldif(&self) -> ADCALDIF_R {
74687                ADCALDIF_R::new(((self.bits >> 30) & 0x01) != 0)
74688            }
74689            ///Bit 29 - ADC deep power down enable
74690            #[inline(always)]
74691            pub fn deeppwd(&self) -> DEEPPWD_R {
74692                DEEPPWD_R::new(((self.bits >> 29) & 0x01) != 0)
74693            }
74694            ///Bit 28 - ADC voltage regulator enable
74695            #[inline(always)]
74696            pub fn advregen(&self) -> ADVREGEN_R {
74697                ADVREGEN_R::new(((self.bits >> 28) & 0x01) != 0)
74698            }
74699            ///Bit 5 - ADC group injected conversion stop
74700            #[inline(always)]
74701            pub fn jadstp(&self) -> JADSTP_R {
74702                JADSTP_R::new(((self.bits >> 5) & 0x01) != 0)
74703            }
74704            ///Bit 4 - ADC group regular conversion stop
74705            #[inline(always)]
74706            pub fn adstp(&self) -> ADSTP_R {
74707                ADSTP_R::new(((self.bits >> 4) & 0x01) != 0)
74708            }
74709            ///Bit 3 - ADC group injected conversion start
74710            #[inline(always)]
74711            pub fn jadstart(&self) -> JADSTART_R {
74712                JADSTART_R::new(((self.bits >> 3) & 0x01) != 0)
74713            }
74714            ///Bit 2 - ADC group regular conversion start
74715            #[inline(always)]
74716            pub fn adstart(&self) -> ADSTART_R {
74717                ADSTART_R::new(((self.bits >> 2) & 0x01) != 0)
74718            }
74719            ///Bit 1 - ADC disable
74720            #[inline(always)]
74721            pub fn addis(&self) -> ADDIS_R {
74722                ADDIS_R::new(((self.bits >> 1) & 0x01) != 0)
74723            }
74724            ///Bit 0 - ADC enable
74725            #[inline(always)]
74726            pub fn aden(&self) -> ADEN_R {
74727                ADEN_R::new((self.bits & 0x01) != 0)
74728            }
74729        }
74730        impl W {
74731            ///Bit 31 - ADC calibration
74732            #[inline(always)]
74733            pub fn adcal(&mut self) -> ADCAL_W {
74734                ADCAL_W { w: self }
74735            }
74736            ///Bit 30 - ADC differential mode for calibration
74737            #[inline(always)]
74738            pub fn adcaldif(&mut self) -> ADCALDIF_W {
74739                ADCALDIF_W { w: self }
74740            }
74741            ///Bit 29 - ADC deep power down enable
74742            #[inline(always)]
74743            pub fn deeppwd(&mut self) -> DEEPPWD_W {
74744                DEEPPWD_W { w: self }
74745            }
74746            ///Bit 28 - ADC voltage regulator enable
74747            #[inline(always)]
74748            pub fn advregen(&mut self) -> ADVREGEN_W {
74749                ADVREGEN_W { w: self }
74750            }
74751            ///Bit 5 - ADC group injected conversion stop
74752            #[inline(always)]
74753            pub fn jadstp(&mut self) -> JADSTP_W {
74754                JADSTP_W { w: self }
74755            }
74756            ///Bit 4 - ADC group regular conversion stop
74757            #[inline(always)]
74758            pub fn adstp(&mut self) -> ADSTP_W {
74759                ADSTP_W { w: self }
74760            }
74761            ///Bit 3 - ADC group injected conversion start
74762            #[inline(always)]
74763            pub fn jadstart(&mut self) -> JADSTART_W {
74764                JADSTART_W { w: self }
74765            }
74766            ///Bit 2 - ADC group regular conversion start
74767            #[inline(always)]
74768            pub fn adstart(&mut self) -> ADSTART_W {
74769                ADSTART_W { w: self }
74770            }
74771            ///Bit 1 - ADC disable
74772            #[inline(always)]
74773            pub fn addis(&mut self) -> ADDIS_W {
74774                ADDIS_W { w: self }
74775            }
74776            ///Bit 0 - ADC enable
74777            #[inline(always)]
74778            pub fn aden(&mut self) -> ADEN_W {
74779                ADEN_W { w: self }
74780            }
74781        }
74782    }
74783    ///ADC configuration register 1
74784    ///
74785    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
74786    ///
74787    ///For information about available fields see [cfgr](cfgr) module
74788    pub type CFGR = crate::Reg<u32, _CFGR>;
74789    #[allow(missing_docs)]
74790    #[doc(hidden)]
74791    pub struct _CFGR;
74792    ///`read()` method returns [cfgr::R](cfgr::R) reader structure
74793    impl crate::Readable for CFGR {}
74794    ///`write(|w| ..)` method takes [cfgr::W](cfgr::W) writer structure
74795    impl crate::Writable for CFGR {}
74796    ///ADC configuration register 1
74797    pub mod cfgr {
74798        ///Reader of register CFGR
74799        pub type R = crate::R<u32, super::CFGR>;
74800        ///Writer for register CFGR
74801        pub type W = crate::W<u32, super::CFGR>;
74802        ///Register CFGR `reset()`'s with value 0x8000_0000
74803        impl crate::ResetValue for super::CFGR {
74804            type Type = u32;
74805            #[inline(always)]
74806            fn reset_value() -> Self::Type {
74807                0x8000_0000
74808            }
74809        }
74810        ///Reader of field `JQDIS`
74811        pub type JQDIS_R = crate::R<bool, bool>;
74812        ///Write proxy for field `JQDIS`
74813        pub struct JQDIS_W<'a> {
74814            w: &'a mut W,
74815        }
74816        impl<'a> JQDIS_W<'a> {
74817            ///Sets the field bit
74818            #[inline(always)]
74819            pub fn set_bit(self) -> &'a mut W {
74820                self.bit(true)
74821            }
74822            ///Clears the field bit
74823            #[inline(always)]
74824            pub fn clear_bit(self) -> &'a mut W {
74825                self.bit(false)
74826            }
74827            ///Writes raw bits to the field
74828            #[inline(always)]
74829            pub fn bit(self, value: bool) -> &'a mut W {
74830                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
74831                self.w
74832            }
74833        }
74834        ///Reader of field `AWDCH1CH`
74835        pub type AWDCH1CH_R = crate::R<u8, u8>;
74836        ///Write proxy for field `AWDCH1CH`
74837        pub struct AWDCH1CH_W<'a> {
74838            w: &'a mut W,
74839        }
74840        impl<'a> AWDCH1CH_W<'a> {
74841            ///Writes raw bits to the field
74842            #[inline(always)]
74843            pub unsafe fn bits(self, value: u8) -> &'a mut W {
74844                self.w.bits = (self.w.bits & !(0x1f << 26)) | (((value as u32) & 0x1f) << 26);
74845                self.w
74846            }
74847        }
74848        ///Reader of field `JAUTO`
74849        pub type JAUTO_R = crate::R<bool, bool>;
74850        ///Write proxy for field `JAUTO`
74851        pub struct JAUTO_W<'a> {
74852            w: &'a mut W,
74853        }
74854        impl<'a> JAUTO_W<'a> {
74855            ///Sets the field bit
74856            #[inline(always)]
74857            pub fn set_bit(self) -> &'a mut W {
74858                self.bit(true)
74859            }
74860            ///Clears the field bit
74861            #[inline(always)]
74862            pub fn clear_bit(self) -> &'a mut W {
74863                self.bit(false)
74864            }
74865            ///Writes raw bits to the field
74866            #[inline(always)]
74867            pub fn bit(self, value: bool) -> &'a mut W {
74868                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
74869                self.w
74870            }
74871        }
74872        ///Reader of field `JAWD1EN`
74873        pub type JAWD1EN_R = crate::R<bool, bool>;
74874        ///Write proxy for field `JAWD1EN`
74875        pub struct JAWD1EN_W<'a> {
74876            w: &'a mut W,
74877        }
74878        impl<'a> JAWD1EN_W<'a> {
74879            ///Sets the field bit
74880            #[inline(always)]
74881            pub fn set_bit(self) -> &'a mut W {
74882                self.bit(true)
74883            }
74884            ///Clears the field bit
74885            #[inline(always)]
74886            pub fn clear_bit(self) -> &'a mut W {
74887                self.bit(false)
74888            }
74889            ///Writes raw bits to the field
74890            #[inline(always)]
74891            pub fn bit(self, value: bool) -> &'a mut W {
74892                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
74893                self.w
74894            }
74895        }
74896        ///Reader of field `AWD1EN`
74897        pub type AWD1EN_R = crate::R<bool, bool>;
74898        ///Write proxy for field `AWD1EN`
74899        pub struct AWD1EN_W<'a> {
74900            w: &'a mut W,
74901        }
74902        impl<'a> AWD1EN_W<'a> {
74903            ///Sets the field bit
74904            #[inline(always)]
74905            pub fn set_bit(self) -> &'a mut W {
74906                self.bit(true)
74907            }
74908            ///Clears the field bit
74909            #[inline(always)]
74910            pub fn clear_bit(self) -> &'a mut W {
74911                self.bit(false)
74912            }
74913            ///Writes raw bits to the field
74914            #[inline(always)]
74915            pub fn bit(self, value: bool) -> &'a mut W {
74916                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
74917                self.w
74918            }
74919        }
74920        ///Reader of field `AWD1SGL`
74921        pub type AWD1SGL_R = crate::R<bool, bool>;
74922        ///Write proxy for field `AWD1SGL`
74923        pub struct AWD1SGL_W<'a> {
74924            w: &'a mut W,
74925        }
74926        impl<'a> AWD1SGL_W<'a> {
74927            ///Sets the field bit
74928            #[inline(always)]
74929            pub fn set_bit(self) -> &'a mut W {
74930                self.bit(true)
74931            }
74932            ///Clears the field bit
74933            #[inline(always)]
74934            pub fn clear_bit(self) -> &'a mut W {
74935                self.bit(false)
74936            }
74937            ///Writes raw bits to the field
74938            #[inline(always)]
74939            pub fn bit(self, value: bool) -> &'a mut W {
74940                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
74941                self.w
74942            }
74943        }
74944        ///Reader of field `JQM`
74945        pub type JQM_R = crate::R<bool, bool>;
74946        ///Write proxy for field `JQM`
74947        pub struct JQM_W<'a> {
74948            w: &'a mut W,
74949        }
74950        impl<'a> JQM_W<'a> {
74951            ///Sets the field bit
74952            #[inline(always)]
74953            pub fn set_bit(self) -> &'a mut W {
74954                self.bit(true)
74955            }
74956            ///Clears the field bit
74957            #[inline(always)]
74958            pub fn clear_bit(self) -> &'a mut W {
74959                self.bit(false)
74960            }
74961            ///Writes raw bits to the field
74962            #[inline(always)]
74963            pub fn bit(self, value: bool) -> &'a mut W {
74964                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
74965                self.w
74966            }
74967        }
74968        ///Reader of field `JDISCEN`
74969        pub type JDISCEN_R = crate::R<bool, bool>;
74970        ///Write proxy for field `JDISCEN`
74971        pub struct JDISCEN_W<'a> {
74972            w: &'a mut W,
74973        }
74974        impl<'a> JDISCEN_W<'a> {
74975            ///Sets the field bit
74976            #[inline(always)]
74977            pub fn set_bit(self) -> &'a mut W {
74978                self.bit(true)
74979            }
74980            ///Clears the field bit
74981            #[inline(always)]
74982            pub fn clear_bit(self) -> &'a mut W {
74983                self.bit(false)
74984            }
74985            ///Writes raw bits to the field
74986            #[inline(always)]
74987            pub fn bit(self, value: bool) -> &'a mut W {
74988                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
74989                self.w
74990            }
74991        }
74992        ///Reader of field `DISCNUM`
74993        pub type DISCNUM_R = crate::R<u8, u8>;
74994        ///Write proxy for field `DISCNUM`
74995        pub struct DISCNUM_W<'a> {
74996            w: &'a mut W,
74997        }
74998        impl<'a> DISCNUM_W<'a> {
74999            ///Writes raw bits to the field
75000            #[inline(always)]
75001            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75002                self.w.bits = (self.w.bits & !(0x07 << 17)) | (((value as u32) & 0x07) << 17);
75003                self.w
75004            }
75005        }
75006        ///Reader of field `DISCEN`
75007        pub type DISCEN_R = crate::R<bool, bool>;
75008        ///Write proxy for field `DISCEN`
75009        pub struct DISCEN_W<'a> {
75010            w: &'a mut W,
75011        }
75012        impl<'a> DISCEN_W<'a> {
75013            ///Sets the field bit
75014            #[inline(always)]
75015            pub fn set_bit(self) -> &'a mut W {
75016                self.bit(true)
75017            }
75018            ///Clears the field bit
75019            #[inline(always)]
75020            pub fn clear_bit(self) -> &'a mut W {
75021                self.bit(false)
75022            }
75023            ///Writes raw bits to the field
75024            #[inline(always)]
75025            pub fn bit(self, value: bool) -> &'a mut W {
75026                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
75027                self.w
75028            }
75029        }
75030        ///Reader of field `AUTDLY`
75031        pub type AUTDLY_R = crate::R<bool, bool>;
75032        ///Write proxy for field `AUTDLY`
75033        pub struct AUTDLY_W<'a> {
75034            w: &'a mut W,
75035        }
75036        impl<'a> AUTDLY_W<'a> {
75037            ///Sets the field bit
75038            #[inline(always)]
75039            pub fn set_bit(self) -> &'a mut W {
75040                self.bit(true)
75041            }
75042            ///Clears the field bit
75043            #[inline(always)]
75044            pub fn clear_bit(self) -> &'a mut W {
75045                self.bit(false)
75046            }
75047            ///Writes raw bits to the field
75048            #[inline(always)]
75049            pub fn bit(self, value: bool) -> &'a mut W {
75050                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
75051                self.w
75052            }
75053        }
75054        ///Reader of field `CONT`
75055        pub type CONT_R = crate::R<bool, bool>;
75056        ///Write proxy for field `CONT`
75057        pub struct CONT_W<'a> {
75058            w: &'a mut W,
75059        }
75060        impl<'a> CONT_W<'a> {
75061            ///Sets the field bit
75062            #[inline(always)]
75063            pub fn set_bit(self) -> &'a mut W {
75064                self.bit(true)
75065            }
75066            ///Clears the field bit
75067            #[inline(always)]
75068            pub fn clear_bit(self) -> &'a mut W {
75069                self.bit(false)
75070            }
75071            ///Writes raw bits to the field
75072            #[inline(always)]
75073            pub fn bit(self, value: bool) -> &'a mut W {
75074                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
75075                self.w
75076            }
75077        }
75078        ///Reader of field `OVRMOD`
75079        pub type OVRMOD_R = crate::R<bool, bool>;
75080        ///Write proxy for field `OVRMOD`
75081        pub struct OVRMOD_W<'a> {
75082            w: &'a mut W,
75083        }
75084        impl<'a> OVRMOD_W<'a> {
75085            ///Sets the field bit
75086            #[inline(always)]
75087            pub fn set_bit(self) -> &'a mut W {
75088                self.bit(true)
75089            }
75090            ///Clears the field bit
75091            #[inline(always)]
75092            pub fn clear_bit(self) -> &'a mut W {
75093                self.bit(false)
75094            }
75095            ///Writes raw bits to the field
75096            #[inline(always)]
75097            pub fn bit(self, value: bool) -> &'a mut W {
75098                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
75099                self.w
75100            }
75101        }
75102        ///Reader of field `EXTEN`
75103        pub type EXTEN_R = crate::R<u8, u8>;
75104        ///Write proxy for field `EXTEN`
75105        pub struct EXTEN_W<'a> {
75106            w: &'a mut W,
75107        }
75108        impl<'a> EXTEN_W<'a> {
75109            ///Writes raw bits to the field
75110            #[inline(always)]
75111            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75112                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
75113                self.w
75114            }
75115        }
75116        ///Reader of field `EXTSEL`
75117        pub type EXTSEL_R = crate::R<u8, u8>;
75118        ///Write proxy for field `EXTSEL`
75119        pub struct EXTSEL_W<'a> {
75120            w: &'a mut W,
75121        }
75122        impl<'a> EXTSEL_W<'a> {
75123            ///Writes raw bits to the field
75124            #[inline(always)]
75125            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75126                self.w.bits = (self.w.bits & !(0x0f << 6)) | (((value as u32) & 0x0f) << 6);
75127                self.w
75128            }
75129        }
75130        ///Reader of field `ALIGN`
75131        pub type ALIGN_R = crate::R<bool, bool>;
75132        ///Write proxy for field `ALIGN`
75133        pub struct ALIGN_W<'a> {
75134            w: &'a mut W,
75135        }
75136        impl<'a> ALIGN_W<'a> {
75137            ///Sets the field bit
75138            #[inline(always)]
75139            pub fn set_bit(self) -> &'a mut W {
75140                self.bit(true)
75141            }
75142            ///Clears the field bit
75143            #[inline(always)]
75144            pub fn clear_bit(self) -> &'a mut W {
75145                self.bit(false)
75146            }
75147            ///Writes raw bits to the field
75148            #[inline(always)]
75149            pub fn bit(self, value: bool) -> &'a mut W {
75150                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
75151                self.w
75152            }
75153        }
75154        ///Reader of field `RES`
75155        pub type RES_R = crate::R<u8, u8>;
75156        ///Write proxy for field `RES`
75157        pub struct RES_W<'a> {
75158            w: &'a mut W,
75159        }
75160        impl<'a> RES_W<'a> {
75161            ///Writes raw bits to the field
75162            #[inline(always)]
75163            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75164                self.w.bits = (self.w.bits & !(0x03 << 3)) | (((value as u32) & 0x03) << 3);
75165                self.w
75166            }
75167        }
75168        ///Reader of field `DMACFG`
75169        pub type DMACFG_R = crate::R<bool, bool>;
75170        ///Write proxy for field `DMACFG`
75171        pub struct DMACFG_W<'a> {
75172            w: &'a mut W,
75173        }
75174        impl<'a> DMACFG_W<'a> {
75175            ///Sets the field bit
75176            #[inline(always)]
75177            pub fn set_bit(self) -> &'a mut W {
75178                self.bit(true)
75179            }
75180            ///Clears the field bit
75181            #[inline(always)]
75182            pub fn clear_bit(self) -> &'a mut W {
75183                self.bit(false)
75184            }
75185            ///Writes raw bits to the field
75186            #[inline(always)]
75187            pub fn bit(self, value: bool) -> &'a mut W {
75188                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
75189                self.w
75190            }
75191        }
75192        ///Reader of field `DMAEN`
75193        pub type DMAEN_R = crate::R<bool, bool>;
75194        ///Write proxy for field `DMAEN`
75195        pub struct DMAEN_W<'a> {
75196            w: &'a mut W,
75197        }
75198        impl<'a> DMAEN_W<'a> {
75199            ///Sets the field bit
75200            #[inline(always)]
75201            pub fn set_bit(self) -> &'a mut W {
75202                self.bit(true)
75203            }
75204            ///Clears the field bit
75205            #[inline(always)]
75206            pub fn clear_bit(self) -> &'a mut W {
75207                self.bit(false)
75208            }
75209            ///Writes raw bits to the field
75210            #[inline(always)]
75211            pub fn bit(self, value: bool) -> &'a mut W {
75212                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
75213                self.w
75214            }
75215        }
75216        impl R {
75217            ///Bit 31 - ADC group injected contexts queue disable
75218            #[inline(always)]
75219            pub fn jqdis(&self) -> JQDIS_R {
75220                JQDIS_R::new(((self.bits >> 31) & 0x01) != 0)
75221            }
75222            ///Bits 26:30 - ADC analog watchdog 1 monitored channel selection
75223            #[inline(always)]
75224            pub fn awdch1ch(&self) -> AWDCH1CH_R {
75225                AWDCH1CH_R::new(((self.bits >> 26) & 0x1f) as u8)
75226            }
75227            ///Bit 25 - ADC group injected automatic trigger mode
75228            #[inline(always)]
75229            pub fn jauto(&self) -> JAUTO_R {
75230                JAUTO_R::new(((self.bits >> 25) & 0x01) != 0)
75231            }
75232            ///Bit 24 - ADC analog watchdog 1 enable on scope ADC group injected
75233            #[inline(always)]
75234            pub fn jawd1en(&self) -> JAWD1EN_R {
75235                JAWD1EN_R::new(((self.bits >> 24) & 0x01) != 0)
75236            }
75237            ///Bit 23 - ADC analog watchdog 1 enable on scope ADC group regular
75238            #[inline(always)]
75239            pub fn awd1en(&self) -> AWD1EN_R {
75240                AWD1EN_R::new(((self.bits >> 23) & 0x01) != 0)
75241            }
75242            ///Bit 22 - ADC analog watchdog 1 monitoring a single channel or all channels
75243            #[inline(always)]
75244            pub fn awd1sgl(&self) -> AWD1SGL_R {
75245                AWD1SGL_R::new(((self.bits >> 22) & 0x01) != 0)
75246            }
75247            ///Bit 21 - ADC group injected contexts queue mode
75248            #[inline(always)]
75249            pub fn jqm(&self) -> JQM_R {
75250                JQM_R::new(((self.bits >> 21) & 0x01) != 0)
75251            }
75252            ///Bit 20 - ADC group injected sequencer discontinuous mode
75253            #[inline(always)]
75254            pub fn jdiscen(&self) -> JDISCEN_R {
75255                JDISCEN_R::new(((self.bits >> 20) & 0x01) != 0)
75256            }
75257            ///Bits 17:19 - ADC group regular sequencer discontinuous number of ranks
75258            #[inline(always)]
75259            pub fn discnum(&self) -> DISCNUM_R {
75260                DISCNUM_R::new(((self.bits >> 17) & 0x07) as u8)
75261            }
75262            ///Bit 16 - ADC group regular sequencer discontinuous mode
75263            #[inline(always)]
75264            pub fn discen(&self) -> DISCEN_R {
75265                DISCEN_R::new(((self.bits >> 16) & 0x01) != 0)
75266            }
75267            ///Bit 14 - ADC low power auto wait
75268            #[inline(always)]
75269            pub fn autdly(&self) -> AUTDLY_R {
75270                AUTDLY_R::new(((self.bits >> 14) & 0x01) != 0)
75271            }
75272            ///Bit 13 - ADC group regular continuous conversion mode
75273            #[inline(always)]
75274            pub fn cont(&self) -> CONT_R {
75275                CONT_R::new(((self.bits >> 13) & 0x01) != 0)
75276            }
75277            ///Bit 12 - ADC group regular overrun configuration
75278            #[inline(always)]
75279            pub fn ovrmod(&self) -> OVRMOD_R {
75280                OVRMOD_R::new(((self.bits >> 12) & 0x01) != 0)
75281            }
75282            ///Bits 10:11 - ADC group regular external trigger polarity
75283            #[inline(always)]
75284            pub fn exten(&self) -> EXTEN_R {
75285                EXTEN_R::new(((self.bits >> 10) & 0x03) as u8)
75286            }
75287            ///Bits 6:9 - ADC group regular external trigger source
75288            #[inline(always)]
75289            pub fn extsel(&self) -> EXTSEL_R {
75290                EXTSEL_R::new(((self.bits >> 6) & 0x0f) as u8)
75291            }
75292            ///Bit 5 - ADC data alignement
75293            #[inline(always)]
75294            pub fn align(&self) -> ALIGN_R {
75295                ALIGN_R::new(((self.bits >> 5) & 0x01) != 0)
75296            }
75297            ///Bits 3:4 - ADC data resolution
75298            #[inline(always)]
75299            pub fn res(&self) -> RES_R {
75300                RES_R::new(((self.bits >> 3) & 0x03) as u8)
75301            }
75302            ///Bit 1 - ADC DMA transfer configuration
75303            #[inline(always)]
75304            pub fn dmacfg(&self) -> DMACFG_R {
75305                DMACFG_R::new(((self.bits >> 1) & 0x01) != 0)
75306            }
75307            ///Bit 0 - ADC DMA transfer enable
75308            #[inline(always)]
75309            pub fn dmaen(&self) -> DMAEN_R {
75310                DMAEN_R::new((self.bits & 0x01) != 0)
75311            }
75312        }
75313        impl W {
75314            ///Bit 31 - ADC group injected contexts queue disable
75315            #[inline(always)]
75316            pub fn jqdis(&mut self) -> JQDIS_W {
75317                JQDIS_W { w: self }
75318            }
75319            ///Bits 26:30 - ADC analog watchdog 1 monitored channel selection
75320            #[inline(always)]
75321            pub fn awdch1ch(&mut self) -> AWDCH1CH_W {
75322                AWDCH1CH_W { w: self }
75323            }
75324            ///Bit 25 - ADC group injected automatic trigger mode
75325            #[inline(always)]
75326            pub fn jauto(&mut self) -> JAUTO_W {
75327                JAUTO_W { w: self }
75328            }
75329            ///Bit 24 - ADC analog watchdog 1 enable on scope ADC group injected
75330            #[inline(always)]
75331            pub fn jawd1en(&mut self) -> JAWD1EN_W {
75332                JAWD1EN_W { w: self }
75333            }
75334            ///Bit 23 - ADC analog watchdog 1 enable on scope ADC group regular
75335            #[inline(always)]
75336            pub fn awd1en(&mut self) -> AWD1EN_W {
75337                AWD1EN_W { w: self }
75338            }
75339            ///Bit 22 - ADC analog watchdog 1 monitoring a single channel or all channels
75340            #[inline(always)]
75341            pub fn awd1sgl(&mut self) -> AWD1SGL_W {
75342                AWD1SGL_W { w: self }
75343            }
75344            ///Bit 21 - ADC group injected contexts queue mode
75345            #[inline(always)]
75346            pub fn jqm(&mut self) -> JQM_W {
75347                JQM_W { w: self }
75348            }
75349            ///Bit 20 - ADC group injected sequencer discontinuous mode
75350            #[inline(always)]
75351            pub fn jdiscen(&mut self) -> JDISCEN_W {
75352                JDISCEN_W { w: self }
75353            }
75354            ///Bits 17:19 - ADC group regular sequencer discontinuous number of ranks
75355            #[inline(always)]
75356            pub fn discnum(&mut self) -> DISCNUM_W {
75357                DISCNUM_W { w: self }
75358            }
75359            ///Bit 16 - ADC group regular sequencer discontinuous mode
75360            #[inline(always)]
75361            pub fn discen(&mut self) -> DISCEN_W {
75362                DISCEN_W { w: self }
75363            }
75364            ///Bit 14 - ADC low power auto wait
75365            #[inline(always)]
75366            pub fn autdly(&mut self) -> AUTDLY_W {
75367                AUTDLY_W { w: self }
75368            }
75369            ///Bit 13 - ADC group regular continuous conversion mode
75370            #[inline(always)]
75371            pub fn cont(&mut self) -> CONT_W {
75372                CONT_W { w: self }
75373            }
75374            ///Bit 12 - ADC group regular overrun configuration
75375            #[inline(always)]
75376            pub fn ovrmod(&mut self) -> OVRMOD_W {
75377                OVRMOD_W { w: self }
75378            }
75379            ///Bits 10:11 - ADC group regular external trigger polarity
75380            #[inline(always)]
75381            pub fn exten(&mut self) -> EXTEN_W {
75382                EXTEN_W { w: self }
75383            }
75384            ///Bits 6:9 - ADC group regular external trigger source
75385            #[inline(always)]
75386            pub fn extsel(&mut self) -> EXTSEL_W {
75387                EXTSEL_W { w: self }
75388            }
75389            ///Bit 5 - ADC data alignement
75390            #[inline(always)]
75391            pub fn align(&mut self) -> ALIGN_W {
75392                ALIGN_W { w: self }
75393            }
75394            ///Bits 3:4 - ADC data resolution
75395            #[inline(always)]
75396            pub fn res(&mut self) -> RES_W {
75397                RES_W { w: self }
75398            }
75399            ///Bit 1 - ADC DMA transfer configuration
75400            #[inline(always)]
75401            pub fn dmacfg(&mut self) -> DMACFG_W {
75402                DMACFG_W { w: self }
75403            }
75404            ///Bit 0 - ADC DMA transfer enable
75405            #[inline(always)]
75406            pub fn dmaen(&mut self) -> DMAEN_W {
75407                DMAEN_W { w: self }
75408            }
75409        }
75410    }
75411    ///ADC configuration register 2
75412    ///
75413    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
75414    ///
75415    ///For information about available fields see [cfgr2](cfgr2) module
75416    pub type CFGR2 = crate::Reg<u32, _CFGR2>;
75417    #[allow(missing_docs)]
75418    #[doc(hidden)]
75419    pub struct _CFGR2;
75420    ///`read()` method returns [cfgr2::R](cfgr2::R) reader structure
75421    impl crate::Readable for CFGR2 {}
75422    ///`write(|w| ..)` method takes [cfgr2::W](cfgr2::W) writer structure
75423    impl crate::Writable for CFGR2 {}
75424    ///ADC configuration register 2
75425    pub mod cfgr2 {
75426        ///Reader of register CFGR2
75427        pub type R = crate::R<u32, super::CFGR2>;
75428        ///Writer for register CFGR2
75429        pub type W = crate::W<u32, super::CFGR2>;
75430        ///Register CFGR2 `reset()`'s with value 0
75431        impl crate::ResetValue for super::CFGR2 {
75432            type Type = u32;
75433            #[inline(always)]
75434            fn reset_value() -> Self::Type {
75435                0
75436            }
75437        }
75438        ///Reader of field `ROVSM`
75439        pub type ROVSM_R = crate::R<bool, bool>;
75440        ///Write proxy for field `ROVSM`
75441        pub struct ROVSM_W<'a> {
75442            w: &'a mut W,
75443        }
75444        impl<'a> ROVSM_W<'a> {
75445            ///Sets the field bit
75446            #[inline(always)]
75447            pub fn set_bit(self) -> &'a mut W {
75448                self.bit(true)
75449            }
75450            ///Clears the field bit
75451            #[inline(always)]
75452            pub fn clear_bit(self) -> &'a mut W {
75453                self.bit(false)
75454            }
75455            ///Writes raw bits to the field
75456            #[inline(always)]
75457            pub fn bit(self, value: bool) -> &'a mut W {
75458                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
75459                self.w
75460            }
75461        }
75462        ///Reader of field `TOVS`
75463        pub type TOVS_R = crate::R<bool, bool>;
75464        ///Write proxy for field `TOVS`
75465        pub struct TOVS_W<'a> {
75466            w: &'a mut W,
75467        }
75468        impl<'a> TOVS_W<'a> {
75469            ///Sets the field bit
75470            #[inline(always)]
75471            pub fn set_bit(self) -> &'a mut W {
75472                self.bit(true)
75473            }
75474            ///Clears the field bit
75475            #[inline(always)]
75476            pub fn clear_bit(self) -> &'a mut W {
75477                self.bit(false)
75478            }
75479            ///Writes raw bits to the field
75480            #[inline(always)]
75481            pub fn bit(self, value: bool) -> &'a mut W {
75482                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
75483                self.w
75484            }
75485        }
75486        ///Reader of field `OVSS`
75487        pub type OVSS_R = crate::R<u8, u8>;
75488        ///Write proxy for field `OVSS`
75489        pub struct OVSS_W<'a> {
75490            w: &'a mut W,
75491        }
75492        impl<'a> OVSS_W<'a> {
75493            ///Writes raw bits to the field
75494            #[inline(always)]
75495            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75496                self.w.bits = (self.w.bits & !(0x0f << 5)) | (((value as u32) & 0x0f) << 5);
75497                self.w
75498            }
75499        }
75500        ///Reader of field `OVSR`
75501        pub type OVSR_R = crate::R<u8, u8>;
75502        ///Write proxy for field `OVSR`
75503        pub struct OVSR_W<'a> {
75504            w: &'a mut W,
75505        }
75506        impl<'a> OVSR_W<'a> {
75507            ///Writes raw bits to the field
75508            #[inline(always)]
75509            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75510                self.w.bits = (self.w.bits & !(0x07 << 2)) | (((value as u32) & 0x07) << 2);
75511                self.w
75512            }
75513        }
75514        ///Reader of field `JOVSE`
75515        pub type JOVSE_R = crate::R<bool, bool>;
75516        ///Write proxy for field `JOVSE`
75517        pub struct JOVSE_W<'a> {
75518            w: &'a mut W,
75519        }
75520        impl<'a> JOVSE_W<'a> {
75521            ///Sets the field bit
75522            #[inline(always)]
75523            pub fn set_bit(self) -> &'a mut W {
75524                self.bit(true)
75525            }
75526            ///Clears the field bit
75527            #[inline(always)]
75528            pub fn clear_bit(self) -> &'a mut W {
75529                self.bit(false)
75530            }
75531            ///Writes raw bits to the field
75532            #[inline(always)]
75533            pub fn bit(self, value: bool) -> &'a mut W {
75534                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
75535                self.w
75536            }
75537        }
75538        ///Reader of field `ROVSE`
75539        pub type ROVSE_R = crate::R<bool, bool>;
75540        ///Write proxy for field `ROVSE`
75541        pub struct ROVSE_W<'a> {
75542            w: &'a mut W,
75543        }
75544        impl<'a> ROVSE_W<'a> {
75545            ///Sets the field bit
75546            #[inline(always)]
75547            pub fn set_bit(self) -> &'a mut W {
75548                self.bit(true)
75549            }
75550            ///Clears the field bit
75551            #[inline(always)]
75552            pub fn clear_bit(self) -> &'a mut W {
75553                self.bit(false)
75554            }
75555            ///Writes raw bits to the field
75556            #[inline(always)]
75557            pub fn bit(self, value: bool) -> &'a mut W {
75558                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
75559                self.w
75560            }
75561        }
75562        impl R {
75563            ///Bit 10 - ADC oversampling mode managing interlaced conversions of ADC group regular and group injected
75564            #[inline(always)]
75565            pub fn rovsm(&self) -> ROVSM_R {
75566                ROVSM_R::new(((self.bits >> 10) & 0x01) != 0)
75567            }
75568            ///Bit 9 - ADC oversampling discontinuous mode (triggered mode) for ADC group regular
75569            #[inline(always)]
75570            pub fn tovs(&self) -> TOVS_R {
75571                TOVS_R::new(((self.bits >> 9) & 0x01) != 0)
75572            }
75573            ///Bits 5:8 - ADC oversampling shift
75574            #[inline(always)]
75575            pub fn ovss(&self) -> OVSS_R {
75576                OVSS_R::new(((self.bits >> 5) & 0x0f) as u8)
75577            }
75578            ///Bits 2:4 - ADC oversampling ratio
75579            #[inline(always)]
75580            pub fn ovsr(&self) -> OVSR_R {
75581                OVSR_R::new(((self.bits >> 2) & 0x07) as u8)
75582            }
75583            ///Bit 1 - ADC oversampler enable on scope ADC group injected
75584            #[inline(always)]
75585            pub fn jovse(&self) -> JOVSE_R {
75586                JOVSE_R::new(((self.bits >> 1) & 0x01) != 0)
75587            }
75588            ///Bit 0 - ADC oversampler enable on scope ADC group regular
75589            #[inline(always)]
75590            pub fn rovse(&self) -> ROVSE_R {
75591                ROVSE_R::new((self.bits & 0x01) != 0)
75592            }
75593        }
75594        impl W {
75595            ///Bit 10 - ADC oversampling mode managing interlaced conversions of ADC group regular and group injected
75596            #[inline(always)]
75597            pub fn rovsm(&mut self) -> ROVSM_W {
75598                ROVSM_W { w: self }
75599            }
75600            ///Bit 9 - ADC oversampling discontinuous mode (triggered mode) for ADC group regular
75601            #[inline(always)]
75602            pub fn tovs(&mut self) -> TOVS_W {
75603                TOVS_W { w: self }
75604            }
75605            ///Bits 5:8 - ADC oversampling shift
75606            #[inline(always)]
75607            pub fn ovss(&mut self) -> OVSS_W {
75608                OVSS_W { w: self }
75609            }
75610            ///Bits 2:4 - ADC oversampling ratio
75611            #[inline(always)]
75612            pub fn ovsr(&mut self) -> OVSR_W {
75613                OVSR_W { w: self }
75614            }
75615            ///Bit 1 - ADC oversampler enable on scope ADC group injected
75616            #[inline(always)]
75617            pub fn jovse(&mut self) -> JOVSE_W {
75618                JOVSE_W { w: self }
75619            }
75620            ///Bit 0 - ADC oversampler enable on scope ADC group regular
75621            #[inline(always)]
75622            pub fn rovse(&mut self) -> ROVSE_W {
75623                ROVSE_W { w: self }
75624            }
75625        }
75626    }
75627    ///ADC sampling time register 1
75628    ///
75629    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
75630    ///
75631    ///For information about available fields see [smpr1](smpr1) module
75632    pub type SMPR1 = crate::Reg<u32, _SMPR1>;
75633    #[allow(missing_docs)]
75634    #[doc(hidden)]
75635    pub struct _SMPR1;
75636    ///`read()` method returns [smpr1::R](smpr1::R) reader structure
75637    impl crate::Readable for SMPR1 {}
75638    ///`write(|w| ..)` method takes [smpr1::W](smpr1::W) writer structure
75639    impl crate::Writable for SMPR1 {}
75640    ///ADC sampling time register 1
75641    pub mod smpr1 {
75642        ///Reader of register SMPR1
75643        pub type R = crate::R<u32, super::SMPR1>;
75644        ///Writer for register SMPR1
75645        pub type W = crate::W<u32, super::SMPR1>;
75646        ///Register SMPR1 `reset()`'s with value 0
75647        impl crate::ResetValue for super::SMPR1 {
75648            type Type = u32;
75649            #[inline(always)]
75650            fn reset_value() -> Self::Type {
75651                0
75652            }
75653        }
75654        ///Reader of field `SMP9`
75655        pub type SMP9_R = crate::R<u8, u8>;
75656        ///Write proxy for field `SMP9`
75657        pub struct SMP9_W<'a> {
75658            w: &'a mut W,
75659        }
75660        impl<'a> SMP9_W<'a> {
75661            ///Writes raw bits to the field
75662            #[inline(always)]
75663            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75664                self.w.bits = (self.w.bits & !(0x07 << 27)) | (((value as u32) & 0x07) << 27);
75665                self.w
75666            }
75667        }
75668        ///Reader of field `SMP8`
75669        pub type SMP8_R = crate::R<u8, u8>;
75670        ///Write proxy for field `SMP8`
75671        pub struct SMP8_W<'a> {
75672            w: &'a mut W,
75673        }
75674        impl<'a> SMP8_W<'a> {
75675            ///Writes raw bits to the field
75676            #[inline(always)]
75677            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75678                self.w.bits = (self.w.bits & !(0x07 << 24)) | (((value as u32) & 0x07) << 24);
75679                self.w
75680            }
75681        }
75682        ///Reader of field `SMP7`
75683        pub type SMP7_R = crate::R<u8, u8>;
75684        ///Write proxy for field `SMP7`
75685        pub struct SMP7_W<'a> {
75686            w: &'a mut W,
75687        }
75688        impl<'a> SMP7_W<'a> {
75689            ///Writes raw bits to the field
75690            #[inline(always)]
75691            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75692                self.w.bits = (self.w.bits & !(0x07 << 21)) | (((value as u32) & 0x07) << 21);
75693                self.w
75694            }
75695        }
75696        ///Reader of field `SMP6`
75697        pub type SMP6_R = crate::R<u8, u8>;
75698        ///Write proxy for field `SMP6`
75699        pub struct SMP6_W<'a> {
75700            w: &'a mut W,
75701        }
75702        impl<'a> SMP6_W<'a> {
75703            ///Writes raw bits to the field
75704            #[inline(always)]
75705            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75706                self.w.bits = (self.w.bits & !(0x07 << 18)) | (((value as u32) & 0x07) << 18);
75707                self.w
75708            }
75709        }
75710        ///Reader of field `SMP5`
75711        pub type SMP5_R = crate::R<u8, u8>;
75712        ///Write proxy for field `SMP5`
75713        pub struct SMP5_W<'a> {
75714            w: &'a mut W,
75715        }
75716        impl<'a> SMP5_W<'a> {
75717            ///Writes raw bits to the field
75718            #[inline(always)]
75719            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75720                self.w.bits = (self.w.bits & !(0x07 << 15)) | (((value as u32) & 0x07) << 15);
75721                self.w
75722            }
75723        }
75724        ///Reader of field `SMP4`
75725        pub type SMP4_R = crate::R<u8, u8>;
75726        ///Write proxy for field `SMP4`
75727        pub struct SMP4_W<'a> {
75728            w: &'a mut W,
75729        }
75730        impl<'a> SMP4_W<'a> {
75731            ///Writes raw bits to the field
75732            #[inline(always)]
75733            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75734                self.w.bits = (self.w.bits & !(0x07 << 12)) | (((value as u32) & 0x07) << 12);
75735                self.w
75736            }
75737        }
75738        ///Reader of field `SMP3`
75739        pub type SMP3_R = crate::R<u8, u8>;
75740        ///Write proxy for field `SMP3`
75741        pub struct SMP3_W<'a> {
75742            w: &'a mut W,
75743        }
75744        impl<'a> SMP3_W<'a> {
75745            ///Writes raw bits to the field
75746            #[inline(always)]
75747            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75748                self.w.bits = (self.w.bits & !(0x07 << 9)) | (((value as u32) & 0x07) << 9);
75749                self.w
75750            }
75751        }
75752        ///Reader of field `SMP2`
75753        pub type SMP2_R = crate::R<u8, u8>;
75754        ///Write proxy for field `SMP2`
75755        pub struct SMP2_W<'a> {
75756            w: &'a mut W,
75757        }
75758        impl<'a> SMP2_W<'a> {
75759            ///Writes raw bits to the field
75760            #[inline(always)]
75761            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75762                self.w.bits = (self.w.bits & !(0x07 << 6)) | (((value as u32) & 0x07) << 6);
75763                self.w
75764            }
75765        }
75766        ///Reader of field `SMP1`
75767        pub type SMP1_R = crate::R<u8, u8>;
75768        ///Write proxy for field `SMP1`
75769        pub struct SMP1_W<'a> {
75770            w: &'a mut W,
75771        }
75772        impl<'a> SMP1_W<'a> {
75773            ///Writes raw bits to the field
75774            #[inline(always)]
75775            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75776                self.w.bits = (self.w.bits & !(0x07 << 3)) | (((value as u32) & 0x07) << 3);
75777                self.w
75778            }
75779        }
75780        impl R {
75781            ///Bits 27:29 - ADC channel 9 sampling time selection
75782            #[inline(always)]
75783            pub fn smp9(&self) -> SMP9_R {
75784                SMP9_R::new(((self.bits >> 27) & 0x07) as u8)
75785            }
75786            ///Bits 24:26 - ADC channel 8 sampling time selection
75787            #[inline(always)]
75788            pub fn smp8(&self) -> SMP8_R {
75789                SMP8_R::new(((self.bits >> 24) & 0x07) as u8)
75790            }
75791            ///Bits 21:23 - ADC channel 7 sampling time selection
75792            #[inline(always)]
75793            pub fn smp7(&self) -> SMP7_R {
75794                SMP7_R::new(((self.bits >> 21) & 0x07) as u8)
75795            }
75796            ///Bits 18:20 - ADC channel 6 sampling time selection
75797            #[inline(always)]
75798            pub fn smp6(&self) -> SMP6_R {
75799                SMP6_R::new(((self.bits >> 18) & 0x07) as u8)
75800            }
75801            ///Bits 15:17 - ADC channel 5 sampling time selection
75802            #[inline(always)]
75803            pub fn smp5(&self) -> SMP5_R {
75804                SMP5_R::new(((self.bits >> 15) & 0x07) as u8)
75805            }
75806            ///Bits 12:14 - ADC channel 4 sampling time selection
75807            #[inline(always)]
75808            pub fn smp4(&self) -> SMP4_R {
75809                SMP4_R::new(((self.bits >> 12) & 0x07) as u8)
75810            }
75811            ///Bits 9:11 - ADC channel 3 sampling time selection
75812            #[inline(always)]
75813            pub fn smp3(&self) -> SMP3_R {
75814                SMP3_R::new(((self.bits >> 9) & 0x07) as u8)
75815            }
75816            ///Bits 6:8 - ADC channel 2 sampling time selection
75817            #[inline(always)]
75818            pub fn smp2(&self) -> SMP2_R {
75819                SMP2_R::new(((self.bits >> 6) & 0x07) as u8)
75820            }
75821            ///Bits 3:5 - ADC channel 1 sampling time selection
75822            #[inline(always)]
75823            pub fn smp1(&self) -> SMP1_R {
75824                SMP1_R::new(((self.bits >> 3) & 0x07) as u8)
75825            }
75826        }
75827        impl W {
75828            ///Bits 27:29 - ADC channel 9 sampling time selection
75829            #[inline(always)]
75830            pub fn smp9(&mut self) -> SMP9_W {
75831                SMP9_W { w: self }
75832            }
75833            ///Bits 24:26 - ADC channel 8 sampling time selection
75834            #[inline(always)]
75835            pub fn smp8(&mut self) -> SMP8_W {
75836                SMP8_W { w: self }
75837            }
75838            ///Bits 21:23 - ADC channel 7 sampling time selection
75839            #[inline(always)]
75840            pub fn smp7(&mut self) -> SMP7_W {
75841                SMP7_W { w: self }
75842            }
75843            ///Bits 18:20 - ADC channel 6 sampling time selection
75844            #[inline(always)]
75845            pub fn smp6(&mut self) -> SMP6_W {
75846                SMP6_W { w: self }
75847            }
75848            ///Bits 15:17 - ADC channel 5 sampling time selection
75849            #[inline(always)]
75850            pub fn smp5(&mut self) -> SMP5_W {
75851                SMP5_W { w: self }
75852            }
75853            ///Bits 12:14 - ADC channel 4 sampling time selection
75854            #[inline(always)]
75855            pub fn smp4(&mut self) -> SMP4_W {
75856                SMP4_W { w: self }
75857            }
75858            ///Bits 9:11 - ADC channel 3 sampling time selection
75859            #[inline(always)]
75860            pub fn smp3(&mut self) -> SMP3_W {
75861                SMP3_W { w: self }
75862            }
75863            ///Bits 6:8 - ADC channel 2 sampling time selection
75864            #[inline(always)]
75865            pub fn smp2(&mut self) -> SMP2_W {
75866                SMP2_W { w: self }
75867            }
75868            ///Bits 3:5 - ADC channel 1 sampling time selection
75869            #[inline(always)]
75870            pub fn smp1(&mut self) -> SMP1_W {
75871                SMP1_W { w: self }
75872            }
75873        }
75874    }
75875    ///ADC sampling time register 2
75876    ///
75877    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
75878    ///
75879    ///For information about available fields see [smpr2](smpr2) module
75880    pub type SMPR2 = crate::Reg<u32, _SMPR2>;
75881    #[allow(missing_docs)]
75882    #[doc(hidden)]
75883    pub struct _SMPR2;
75884    ///`read()` method returns [smpr2::R](smpr2::R) reader structure
75885    impl crate::Readable for SMPR2 {}
75886    ///`write(|w| ..)` method takes [smpr2::W](smpr2::W) writer structure
75887    impl crate::Writable for SMPR2 {}
75888    ///ADC sampling time register 2
75889    pub mod smpr2 {
75890        ///Reader of register SMPR2
75891        pub type R = crate::R<u32, super::SMPR2>;
75892        ///Writer for register SMPR2
75893        pub type W = crate::W<u32, super::SMPR2>;
75894        ///Register SMPR2 `reset()`'s with value 0
75895        impl crate::ResetValue for super::SMPR2 {
75896            type Type = u32;
75897            #[inline(always)]
75898            fn reset_value() -> Self::Type {
75899                0
75900            }
75901        }
75902        ///Reader of field `SMP18`
75903        pub type SMP18_R = crate::R<u8, u8>;
75904        ///Write proxy for field `SMP18`
75905        pub struct SMP18_W<'a> {
75906            w: &'a mut W,
75907        }
75908        impl<'a> SMP18_W<'a> {
75909            ///Writes raw bits to the field
75910            #[inline(always)]
75911            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75912                self.w.bits = (self.w.bits & !(0x07 << 24)) | (((value as u32) & 0x07) << 24);
75913                self.w
75914            }
75915        }
75916        ///Reader of field `SMP17`
75917        pub type SMP17_R = crate::R<u8, u8>;
75918        ///Write proxy for field `SMP17`
75919        pub struct SMP17_W<'a> {
75920            w: &'a mut W,
75921        }
75922        impl<'a> SMP17_W<'a> {
75923            ///Writes raw bits to the field
75924            #[inline(always)]
75925            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75926                self.w.bits = (self.w.bits & !(0x07 << 21)) | (((value as u32) & 0x07) << 21);
75927                self.w
75928            }
75929        }
75930        ///Reader of field `SMP16`
75931        pub type SMP16_R = crate::R<u8, u8>;
75932        ///Write proxy for field `SMP16`
75933        pub struct SMP16_W<'a> {
75934            w: &'a mut W,
75935        }
75936        impl<'a> SMP16_W<'a> {
75937            ///Writes raw bits to the field
75938            #[inline(always)]
75939            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75940                self.w.bits = (self.w.bits & !(0x07 << 18)) | (((value as u32) & 0x07) << 18);
75941                self.w
75942            }
75943        }
75944        ///Reader of field `SMP15`
75945        pub type SMP15_R = crate::R<u8, u8>;
75946        ///Write proxy for field `SMP15`
75947        pub struct SMP15_W<'a> {
75948            w: &'a mut W,
75949        }
75950        impl<'a> SMP15_W<'a> {
75951            ///Writes raw bits to the field
75952            #[inline(always)]
75953            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75954                self.w.bits = (self.w.bits & !(0x07 << 15)) | (((value as u32) & 0x07) << 15);
75955                self.w
75956            }
75957        }
75958        ///Reader of field `SMP14`
75959        pub type SMP14_R = crate::R<u8, u8>;
75960        ///Write proxy for field `SMP14`
75961        pub struct SMP14_W<'a> {
75962            w: &'a mut W,
75963        }
75964        impl<'a> SMP14_W<'a> {
75965            ///Writes raw bits to the field
75966            #[inline(always)]
75967            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75968                self.w.bits = (self.w.bits & !(0x07 << 12)) | (((value as u32) & 0x07) << 12);
75969                self.w
75970            }
75971        }
75972        ///Reader of field `SMP13`
75973        pub type SMP13_R = crate::R<u8, u8>;
75974        ///Write proxy for field `SMP13`
75975        pub struct SMP13_W<'a> {
75976            w: &'a mut W,
75977        }
75978        impl<'a> SMP13_W<'a> {
75979            ///Writes raw bits to the field
75980            #[inline(always)]
75981            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75982                self.w.bits = (self.w.bits & !(0x07 << 9)) | (((value as u32) & 0x07) << 9);
75983                self.w
75984            }
75985        }
75986        ///Reader of field `SMP12`
75987        pub type SMP12_R = crate::R<u8, u8>;
75988        ///Write proxy for field `SMP12`
75989        pub struct SMP12_W<'a> {
75990            w: &'a mut W,
75991        }
75992        impl<'a> SMP12_W<'a> {
75993            ///Writes raw bits to the field
75994            #[inline(always)]
75995            pub unsafe fn bits(self, value: u8) -> &'a mut W {
75996                self.w.bits = (self.w.bits & !(0x07 << 6)) | (((value as u32) & 0x07) << 6);
75997                self.w
75998            }
75999        }
76000        ///Reader of field `SMP11`
76001        pub type SMP11_R = crate::R<u8, u8>;
76002        ///Write proxy for field `SMP11`
76003        pub struct SMP11_W<'a> {
76004            w: &'a mut W,
76005        }
76006        impl<'a> SMP11_W<'a> {
76007            ///Writes raw bits to the field
76008            #[inline(always)]
76009            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76010                self.w.bits = (self.w.bits & !(0x07 << 3)) | (((value as u32) & 0x07) << 3);
76011                self.w
76012            }
76013        }
76014        ///Reader of field `SMP10`
76015        pub type SMP10_R = crate::R<u8, u8>;
76016        ///Write proxy for field `SMP10`
76017        pub struct SMP10_W<'a> {
76018            w: &'a mut W,
76019        }
76020        impl<'a> SMP10_W<'a> {
76021            ///Writes raw bits to the field
76022            #[inline(always)]
76023            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76024                self.w.bits = (self.w.bits & !0x07) | ((value as u32) & 0x07);
76025                self.w
76026            }
76027        }
76028        impl R {
76029            ///Bits 24:26 - ADC channel 18 sampling time selection
76030            #[inline(always)]
76031            pub fn smp18(&self) -> SMP18_R {
76032                SMP18_R::new(((self.bits >> 24) & 0x07) as u8)
76033            }
76034            ///Bits 21:23 - ADC channel 17 sampling time selection
76035            #[inline(always)]
76036            pub fn smp17(&self) -> SMP17_R {
76037                SMP17_R::new(((self.bits >> 21) & 0x07) as u8)
76038            }
76039            ///Bits 18:20 - ADC channel 16 sampling time selection
76040            #[inline(always)]
76041            pub fn smp16(&self) -> SMP16_R {
76042                SMP16_R::new(((self.bits >> 18) & 0x07) as u8)
76043            }
76044            ///Bits 15:17 - ADC channel 15 sampling time selection
76045            #[inline(always)]
76046            pub fn smp15(&self) -> SMP15_R {
76047                SMP15_R::new(((self.bits >> 15) & 0x07) as u8)
76048            }
76049            ///Bits 12:14 - ADC channel 14 sampling time selection
76050            #[inline(always)]
76051            pub fn smp14(&self) -> SMP14_R {
76052                SMP14_R::new(((self.bits >> 12) & 0x07) as u8)
76053            }
76054            ///Bits 9:11 - ADC channel 13 sampling time selection
76055            #[inline(always)]
76056            pub fn smp13(&self) -> SMP13_R {
76057                SMP13_R::new(((self.bits >> 9) & 0x07) as u8)
76058            }
76059            ///Bits 6:8 - ADC channel 12 sampling time selection
76060            #[inline(always)]
76061            pub fn smp12(&self) -> SMP12_R {
76062                SMP12_R::new(((self.bits >> 6) & 0x07) as u8)
76063            }
76064            ///Bits 3:5 - ADC channel 11 sampling time selection
76065            #[inline(always)]
76066            pub fn smp11(&self) -> SMP11_R {
76067                SMP11_R::new(((self.bits >> 3) & 0x07) as u8)
76068            }
76069            ///Bits 0:2 - ADC channel 10 sampling time selection
76070            #[inline(always)]
76071            pub fn smp10(&self) -> SMP10_R {
76072                SMP10_R::new((self.bits & 0x07) as u8)
76073            }
76074        }
76075        impl W {
76076            ///Bits 24:26 - ADC channel 18 sampling time selection
76077            #[inline(always)]
76078            pub fn smp18(&mut self) -> SMP18_W {
76079                SMP18_W { w: self }
76080            }
76081            ///Bits 21:23 - ADC channel 17 sampling time selection
76082            #[inline(always)]
76083            pub fn smp17(&mut self) -> SMP17_W {
76084                SMP17_W { w: self }
76085            }
76086            ///Bits 18:20 - ADC channel 16 sampling time selection
76087            #[inline(always)]
76088            pub fn smp16(&mut self) -> SMP16_W {
76089                SMP16_W { w: self }
76090            }
76091            ///Bits 15:17 - ADC channel 15 sampling time selection
76092            #[inline(always)]
76093            pub fn smp15(&mut self) -> SMP15_W {
76094                SMP15_W { w: self }
76095            }
76096            ///Bits 12:14 - ADC channel 14 sampling time selection
76097            #[inline(always)]
76098            pub fn smp14(&mut self) -> SMP14_W {
76099                SMP14_W { w: self }
76100            }
76101            ///Bits 9:11 - ADC channel 13 sampling time selection
76102            #[inline(always)]
76103            pub fn smp13(&mut self) -> SMP13_W {
76104                SMP13_W { w: self }
76105            }
76106            ///Bits 6:8 - ADC channel 12 sampling time selection
76107            #[inline(always)]
76108            pub fn smp12(&mut self) -> SMP12_W {
76109                SMP12_W { w: self }
76110            }
76111            ///Bits 3:5 - ADC channel 11 sampling time selection
76112            #[inline(always)]
76113            pub fn smp11(&mut self) -> SMP11_W {
76114                SMP11_W { w: self }
76115            }
76116            ///Bits 0:2 - ADC channel 10 sampling time selection
76117            #[inline(always)]
76118            pub fn smp10(&mut self) -> SMP10_W {
76119                SMP10_W { w: self }
76120            }
76121        }
76122    }
76123    ///ADC analog watchdog 1 threshold register
76124    ///
76125    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
76126    ///
76127    ///For information about available fields see [tr1](tr1) module
76128    pub type TR1 = crate::Reg<u32, _TR1>;
76129    #[allow(missing_docs)]
76130    #[doc(hidden)]
76131    pub struct _TR1;
76132    ///`read()` method returns [tr1::R](tr1::R) reader structure
76133    impl crate::Readable for TR1 {}
76134    ///`write(|w| ..)` method takes [tr1::W](tr1::W) writer structure
76135    impl crate::Writable for TR1 {}
76136    ///ADC analog watchdog 1 threshold register
76137    pub mod tr1 {
76138        ///Reader of register TR1
76139        pub type R = crate::R<u32, super::TR1>;
76140        ///Writer for register TR1
76141        pub type W = crate::W<u32, super::TR1>;
76142        ///Register TR1 `reset()`'s with value 0x0fff_0000
76143        impl crate::ResetValue for super::TR1 {
76144            type Type = u32;
76145            #[inline(always)]
76146            fn reset_value() -> Self::Type {
76147                0x0fff_0000
76148            }
76149        }
76150        ///Reader of field `HT1`
76151        pub type HT1_R = crate::R<u16, u16>;
76152        ///Write proxy for field `HT1`
76153        pub struct HT1_W<'a> {
76154            w: &'a mut W,
76155        }
76156        impl<'a> HT1_W<'a> {
76157            ///Writes raw bits to the field
76158            #[inline(always)]
76159            pub unsafe fn bits(self, value: u16) -> &'a mut W {
76160                self.w.bits = (self.w.bits & !(0x0fff << 16)) | (((value as u32) & 0x0fff) << 16);
76161                self.w
76162            }
76163        }
76164        ///Reader of field `LT1`
76165        pub type LT1_R = crate::R<u16, u16>;
76166        ///Write proxy for field `LT1`
76167        pub struct LT1_W<'a> {
76168            w: &'a mut W,
76169        }
76170        impl<'a> LT1_W<'a> {
76171            ///Writes raw bits to the field
76172            #[inline(always)]
76173            pub unsafe fn bits(self, value: u16) -> &'a mut W {
76174                self.w.bits = (self.w.bits & !0x0fff) | ((value as u32) & 0x0fff);
76175                self.w
76176            }
76177        }
76178        impl R {
76179            ///Bits 16:27 - ADC analog watchdog 1 threshold high
76180            #[inline(always)]
76181            pub fn ht1(&self) -> HT1_R {
76182                HT1_R::new(((self.bits >> 16) & 0x0fff) as u16)
76183            }
76184            ///Bits 0:11 - ADC analog watchdog 1 threshold low
76185            #[inline(always)]
76186            pub fn lt1(&self) -> LT1_R {
76187                LT1_R::new((self.bits & 0x0fff) as u16)
76188            }
76189        }
76190        impl W {
76191            ///Bits 16:27 - ADC analog watchdog 1 threshold high
76192            #[inline(always)]
76193            pub fn ht1(&mut self) -> HT1_W {
76194                HT1_W { w: self }
76195            }
76196            ///Bits 0:11 - ADC analog watchdog 1 threshold low
76197            #[inline(always)]
76198            pub fn lt1(&mut self) -> LT1_W {
76199                LT1_W { w: self }
76200            }
76201        }
76202    }
76203    ///ADC analog watchdog 2 threshold register
76204    ///
76205    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
76206    ///
76207    ///For information about available fields see [tr2](tr2) module
76208    pub type TR2 = crate::Reg<u32, _TR2>;
76209    #[allow(missing_docs)]
76210    #[doc(hidden)]
76211    pub struct _TR2;
76212    ///`read()` method returns [tr2::R](tr2::R) reader structure
76213    impl crate::Readable for TR2 {}
76214    ///`write(|w| ..)` method takes [tr2::W](tr2::W) writer structure
76215    impl crate::Writable for TR2 {}
76216    ///ADC analog watchdog 2 threshold register
76217    pub mod tr2 {
76218        ///Reader of register TR2
76219        pub type R = crate::R<u32, super::TR2>;
76220        ///Writer for register TR2
76221        pub type W = crate::W<u32, super::TR2>;
76222        ///Register TR2 `reset()`'s with value 0x0fff_0000
76223        impl crate::ResetValue for super::TR2 {
76224            type Type = u32;
76225            #[inline(always)]
76226            fn reset_value() -> Self::Type {
76227                0x0fff_0000
76228            }
76229        }
76230        ///Reader of field `HT2`
76231        pub type HT2_R = crate::R<u8, u8>;
76232        ///Write proxy for field `HT2`
76233        pub struct HT2_W<'a> {
76234            w: &'a mut W,
76235        }
76236        impl<'a> HT2_W<'a> {
76237            ///Writes raw bits to the field
76238            #[inline(always)]
76239            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76240                self.w.bits = (self.w.bits & !(0xff << 16)) | (((value as u32) & 0xff) << 16);
76241                self.w
76242            }
76243        }
76244        ///Reader of field `LT2`
76245        pub type LT2_R = crate::R<u8, u8>;
76246        ///Write proxy for field `LT2`
76247        pub struct LT2_W<'a> {
76248            w: &'a mut W,
76249        }
76250        impl<'a> LT2_W<'a> {
76251            ///Writes raw bits to the field
76252            #[inline(always)]
76253            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76254                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
76255                self.w
76256            }
76257        }
76258        impl R {
76259            ///Bits 16:23 - ADC analog watchdog 2 threshold high
76260            #[inline(always)]
76261            pub fn ht2(&self) -> HT2_R {
76262                HT2_R::new(((self.bits >> 16) & 0xff) as u8)
76263            }
76264            ///Bits 0:7 - ADC analog watchdog 2 threshold low
76265            #[inline(always)]
76266            pub fn lt2(&self) -> LT2_R {
76267                LT2_R::new((self.bits & 0xff) as u8)
76268            }
76269        }
76270        impl W {
76271            ///Bits 16:23 - ADC analog watchdog 2 threshold high
76272            #[inline(always)]
76273            pub fn ht2(&mut self) -> HT2_W {
76274                HT2_W { w: self }
76275            }
76276            ///Bits 0:7 - ADC analog watchdog 2 threshold low
76277            #[inline(always)]
76278            pub fn lt2(&mut self) -> LT2_W {
76279                LT2_W { w: self }
76280            }
76281        }
76282    }
76283    ///ADC analog watchdog 3 threshold register
76284    ///
76285    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
76286    ///
76287    ///For information about available fields see [tr3](tr3) module
76288    pub type TR3 = crate::Reg<u32, _TR3>;
76289    #[allow(missing_docs)]
76290    #[doc(hidden)]
76291    pub struct _TR3;
76292    ///`read()` method returns [tr3::R](tr3::R) reader structure
76293    impl crate::Readable for TR3 {}
76294    ///`write(|w| ..)` method takes [tr3::W](tr3::W) writer structure
76295    impl crate::Writable for TR3 {}
76296    ///ADC analog watchdog 3 threshold register
76297    pub mod tr3 {
76298        ///Reader of register TR3
76299        pub type R = crate::R<u32, super::TR3>;
76300        ///Writer for register TR3
76301        pub type W = crate::W<u32, super::TR3>;
76302        ///Register TR3 `reset()`'s with value 0x0fff_0000
76303        impl crate::ResetValue for super::TR3 {
76304            type Type = u32;
76305            #[inline(always)]
76306            fn reset_value() -> Self::Type {
76307                0x0fff_0000
76308            }
76309        }
76310        ///Reader of field `HT3`
76311        pub type HT3_R = crate::R<u8, u8>;
76312        ///Write proxy for field `HT3`
76313        pub struct HT3_W<'a> {
76314            w: &'a mut W,
76315        }
76316        impl<'a> HT3_W<'a> {
76317            ///Writes raw bits to the field
76318            #[inline(always)]
76319            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76320                self.w.bits = (self.w.bits & !(0xff << 16)) | (((value as u32) & 0xff) << 16);
76321                self.w
76322            }
76323        }
76324        ///Reader of field `LT3`
76325        pub type LT3_R = crate::R<u8, u8>;
76326        ///Write proxy for field `LT3`
76327        pub struct LT3_W<'a> {
76328            w: &'a mut W,
76329        }
76330        impl<'a> LT3_W<'a> {
76331            ///Writes raw bits to the field
76332            #[inline(always)]
76333            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76334                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
76335                self.w
76336            }
76337        }
76338        impl R {
76339            ///Bits 16:23 - ADC analog watchdog 3 threshold high
76340            #[inline(always)]
76341            pub fn ht3(&self) -> HT3_R {
76342                HT3_R::new(((self.bits >> 16) & 0xff) as u8)
76343            }
76344            ///Bits 0:7 - ADC analog watchdog 3 threshold low
76345            #[inline(always)]
76346            pub fn lt3(&self) -> LT3_R {
76347                LT3_R::new((self.bits & 0xff) as u8)
76348            }
76349        }
76350        impl W {
76351            ///Bits 16:23 - ADC analog watchdog 3 threshold high
76352            #[inline(always)]
76353            pub fn ht3(&mut self) -> HT3_W {
76354                HT3_W { w: self }
76355            }
76356            ///Bits 0:7 - ADC analog watchdog 3 threshold low
76357            #[inline(always)]
76358            pub fn lt3(&mut self) -> LT3_W {
76359                LT3_W { w: self }
76360            }
76361        }
76362    }
76363    ///ADC group regular sequencer ranks register 1
76364    ///
76365    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
76366    ///
76367    ///For information about available fields see [sqr1](sqr1) module
76368    pub type SQR1 = crate::Reg<u32, _SQR1>;
76369    #[allow(missing_docs)]
76370    #[doc(hidden)]
76371    pub struct _SQR1;
76372    ///`read()` method returns [sqr1::R](sqr1::R) reader structure
76373    impl crate::Readable for SQR1 {}
76374    ///`write(|w| ..)` method takes [sqr1::W](sqr1::W) writer structure
76375    impl crate::Writable for SQR1 {}
76376    ///ADC group regular sequencer ranks register 1
76377    pub mod sqr1 {
76378        ///Reader of register SQR1
76379        pub type R = crate::R<u32, super::SQR1>;
76380        ///Writer for register SQR1
76381        pub type W = crate::W<u32, super::SQR1>;
76382        ///Register SQR1 `reset()`'s with value 0
76383        impl crate::ResetValue for super::SQR1 {
76384            type Type = u32;
76385            #[inline(always)]
76386            fn reset_value() -> Self::Type {
76387                0
76388            }
76389        }
76390        ///Reader of field `SQ4`
76391        pub type SQ4_R = crate::R<u8, u8>;
76392        ///Write proxy for field `SQ4`
76393        pub struct SQ4_W<'a> {
76394            w: &'a mut W,
76395        }
76396        impl<'a> SQ4_W<'a> {
76397            ///Writes raw bits to the field
76398            #[inline(always)]
76399            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76400                self.w.bits = (self.w.bits & !(0x1f << 24)) | (((value as u32) & 0x1f) << 24);
76401                self.w
76402            }
76403        }
76404        ///Reader of field `SQ3`
76405        pub type SQ3_R = crate::R<u8, u8>;
76406        ///Write proxy for field `SQ3`
76407        pub struct SQ3_W<'a> {
76408            w: &'a mut W,
76409        }
76410        impl<'a> SQ3_W<'a> {
76411            ///Writes raw bits to the field
76412            #[inline(always)]
76413            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76414                self.w.bits = (self.w.bits & !(0x1f << 18)) | (((value as u32) & 0x1f) << 18);
76415                self.w
76416            }
76417        }
76418        ///Reader of field `SQ2`
76419        pub type SQ2_R = crate::R<u8, u8>;
76420        ///Write proxy for field `SQ2`
76421        pub struct SQ2_W<'a> {
76422            w: &'a mut W,
76423        }
76424        impl<'a> SQ2_W<'a> {
76425            ///Writes raw bits to the field
76426            #[inline(always)]
76427            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76428                self.w.bits = (self.w.bits & !(0x1f << 12)) | (((value as u32) & 0x1f) << 12);
76429                self.w
76430            }
76431        }
76432        ///Reader of field `SQ1`
76433        pub type SQ1_R = crate::R<u8, u8>;
76434        ///Write proxy for field `SQ1`
76435        pub struct SQ1_W<'a> {
76436            w: &'a mut W,
76437        }
76438        impl<'a> SQ1_W<'a> {
76439            ///Writes raw bits to the field
76440            #[inline(always)]
76441            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76442                self.w.bits = (self.w.bits & !(0x1f << 6)) | (((value as u32) & 0x1f) << 6);
76443                self.w
76444            }
76445        }
76446        ///Reader of field `L`
76447        pub type L_R = crate::R<u8, u8>;
76448        ///Write proxy for field `L`
76449        pub struct L_W<'a> {
76450            w: &'a mut W,
76451        }
76452        impl<'a> L_W<'a> {
76453            ///Writes raw bits to the field
76454            #[inline(always)]
76455            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76456                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
76457                self.w
76458            }
76459        }
76460        impl R {
76461            ///Bits 24:28 - ADC group regular sequencer rank 4
76462            #[inline(always)]
76463            pub fn sq4(&self) -> SQ4_R {
76464                SQ4_R::new(((self.bits >> 24) & 0x1f) as u8)
76465            }
76466            ///Bits 18:22 - ADC group regular sequencer rank 3
76467            #[inline(always)]
76468            pub fn sq3(&self) -> SQ3_R {
76469                SQ3_R::new(((self.bits >> 18) & 0x1f) as u8)
76470            }
76471            ///Bits 12:16 - ADC group regular sequencer rank 2
76472            #[inline(always)]
76473            pub fn sq2(&self) -> SQ2_R {
76474                SQ2_R::new(((self.bits >> 12) & 0x1f) as u8)
76475            }
76476            ///Bits 6:10 - ADC group regular sequencer rank 1
76477            #[inline(always)]
76478            pub fn sq1(&self) -> SQ1_R {
76479                SQ1_R::new(((self.bits >> 6) & 0x1f) as u8)
76480            }
76481            ///Bits 0:3 - Regular channel sequence length
76482            #[inline(always)]
76483            pub fn l(&self) -> L_R {
76484                L_R::new((self.bits & 0x0f) as u8)
76485            }
76486        }
76487        impl W {
76488            ///Bits 24:28 - ADC group regular sequencer rank 4
76489            #[inline(always)]
76490            pub fn sq4(&mut self) -> SQ4_W {
76491                SQ4_W { w: self }
76492            }
76493            ///Bits 18:22 - ADC group regular sequencer rank 3
76494            #[inline(always)]
76495            pub fn sq3(&mut self) -> SQ3_W {
76496                SQ3_W { w: self }
76497            }
76498            ///Bits 12:16 - ADC group regular sequencer rank 2
76499            #[inline(always)]
76500            pub fn sq2(&mut self) -> SQ2_W {
76501                SQ2_W { w: self }
76502            }
76503            ///Bits 6:10 - ADC group regular sequencer rank 1
76504            #[inline(always)]
76505            pub fn sq1(&mut self) -> SQ1_W {
76506                SQ1_W { w: self }
76507            }
76508            ///Bits 0:3 - Regular channel sequence length
76509            #[inline(always)]
76510            pub fn l(&mut self) -> L_W {
76511                L_W { w: self }
76512            }
76513        }
76514    }
76515    ///ADC group regular sequencer ranks register 2
76516    ///
76517    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
76518    ///
76519    ///For information about available fields see [sqr2](sqr2) module
76520    pub type SQR2 = crate::Reg<u32, _SQR2>;
76521    #[allow(missing_docs)]
76522    #[doc(hidden)]
76523    pub struct _SQR2;
76524    ///`read()` method returns [sqr2::R](sqr2::R) reader structure
76525    impl crate::Readable for SQR2 {}
76526    ///`write(|w| ..)` method takes [sqr2::W](sqr2::W) writer structure
76527    impl crate::Writable for SQR2 {}
76528    ///ADC group regular sequencer ranks register 2
76529    pub mod sqr2 {
76530        ///Reader of register SQR2
76531        pub type R = crate::R<u32, super::SQR2>;
76532        ///Writer for register SQR2
76533        pub type W = crate::W<u32, super::SQR2>;
76534        ///Register SQR2 `reset()`'s with value 0
76535        impl crate::ResetValue for super::SQR2 {
76536            type Type = u32;
76537            #[inline(always)]
76538            fn reset_value() -> Self::Type {
76539                0
76540            }
76541        }
76542        ///Reader of field `SQ9`
76543        pub type SQ9_R = crate::R<u8, u8>;
76544        ///Write proxy for field `SQ9`
76545        pub struct SQ9_W<'a> {
76546            w: &'a mut W,
76547        }
76548        impl<'a> SQ9_W<'a> {
76549            ///Writes raw bits to the field
76550            #[inline(always)]
76551            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76552                self.w.bits = (self.w.bits & !(0x1f << 24)) | (((value as u32) & 0x1f) << 24);
76553                self.w
76554            }
76555        }
76556        ///Reader of field `SQ8`
76557        pub type SQ8_R = crate::R<u8, u8>;
76558        ///Write proxy for field `SQ8`
76559        pub struct SQ8_W<'a> {
76560            w: &'a mut W,
76561        }
76562        impl<'a> SQ8_W<'a> {
76563            ///Writes raw bits to the field
76564            #[inline(always)]
76565            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76566                self.w.bits = (self.w.bits & !(0x1f << 18)) | (((value as u32) & 0x1f) << 18);
76567                self.w
76568            }
76569        }
76570        ///Reader of field `SQ7`
76571        pub type SQ7_R = crate::R<u8, u8>;
76572        ///Write proxy for field `SQ7`
76573        pub struct SQ7_W<'a> {
76574            w: &'a mut W,
76575        }
76576        impl<'a> SQ7_W<'a> {
76577            ///Writes raw bits to the field
76578            #[inline(always)]
76579            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76580                self.w.bits = (self.w.bits & !(0x1f << 12)) | (((value as u32) & 0x1f) << 12);
76581                self.w
76582            }
76583        }
76584        ///Reader of field `SQ6`
76585        pub type SQ6_R = crate::R<u8, u8>;
76586        ///Write proxy for field `SQ6`
76587        pub struct SQ6_W<'a> {
76588            w: &'a mut W,
76589        }
76590        impl<'a> SQ6_W<'a> {
76591            ///Writes raw bits to the field
76592            #[inline(always)]
76593            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76594                self.w.bits = (self.w.bits & !(0x1f << 6)) | (((value as u32) & 0x1f) << 6);
76595                self.w
76596            }
76597        }
76598        ///Reader of field `SQ5`
76599        pub type SQ5_R = crate::R<u8, u8>;
76600        ///Write proxy for field `SQ5`
76601        pub struct SQ5_W<'a> {
76602            w: &'a mut W,
76603        }
76604        impl<'a> SQ5_W<'a> {
76605            ///Writes raw bits to the field
76606            #[inline(always)]
76607            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76608                self.w.bits = (self.w.bits & !0x1f) | ((value as u32) & 0x1f);
76609                self.w
76610            }
76611        }
76612        impl R {
76613            ///Bits 24:28 - ADC group regular sequencer rank 9
76614            #[inline(always)]
76615            pub fn sq9(&self) -> SQ9_R {
76616                SQ9_R::new(((self.bits >> 24) & 0x1f) as u8)
76617            }
76618            ///Bits 18:22 - ADC group regular sequencer rank 8
76619            #[inline(always)]
76620            pub fn sq8(&self) -> SQ8_R {
76621                SQ8_R::new(((self.bits >> 18) & 0x1f) as u8)
76622            }
76623            ///Bits 12:16 - ADC group regular sequencer rank 7
76624            #[inline(always)]
76625            pub fn sq7(&self) -> SQ7_R {
76626                SQ7_R::new(((self.bits >> 12) & 0x1f) as u8)
76627            }
76628            ///Bits 6:10 - ADC group regular sequencer rank 6
76629            #[inline(always)]
76630            pub fn sq6(&self) -> SQ6_R {
76631                SQ6_R::new(((self.bits >> 6) & 0x1f) as u8)
76632            }
76633            ///Bits 0:4 - ADC group regular sequencer rank 5
76634            #[inline(always)]
76635            pub fn sq5(&self) -> SQ5_R {
76636                SQ5_R::new((self.bits & 0x1f) as u8)
76637            }
76638        }
76639        impl W {
76640            ///Bits 24:28 - ADC group regular sequencer rank 9
76641            #[inline(always)]
76642            pub fn sq9(&mut self) -> SQ9_W {
76643                SQ9_W { w: self }
76644            }
76645            ///Bits 18:22 - ADC group regular sequencer rank 8
76646            #[inline(always)]
76647            pub fn sq8(&mut self) -> SQ8_W {
76648                SQ8_W { w: self }
76649            }
76650            ///Bits 12:16 - ADC group regular sequencer rank 7
76651            #[inline(always)]
76652            pub fn sq7(&mut self) -> SQ7_W {
76653                SQ7_W { w: self }
76654            }
76655            ///Bits 6:10 - ADC group regular sequencer rank 6
76656            #[inline(always)]
76657            pub fn sq6(&mut self) -> SQ6_W {
76658                SQ6_W { w: self }
76659            }
76660            ///Bits 0:4 - ADC group regular sequencer rank 5
76661            #[inline(always)]
76662            pub fn sq5(&mut self) -> SQ5_W {
76663                SQ5_W { w: self }
76664            }
76665        }
76666    }
76667    ///ADC group regular sequencer ranks register 3
76668    ///
76669    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
76670    ///
76671    ///For information about available fields see [sqr3](sqr3) module
76672    pub type SQR3 = crate::Reg<u32, _SQR3>;
76673    #[allow(missing_docs)]
76674    #[doc(hidden)]
76675    pub struct _SQR3;
76676    ///`read()` method returns [sqr3::R](sqr3::R) reader structure
76677    impl crate::Readable for SQR3 {}
76678    ///`write(|w| ..)` method takes [sqr3::W](sqr3::W) writer structure
76679    impl crate::Writable for SQR3 {}
76680    ///ADC group regular sequencer ranks register 3
76681    pub mod sqr3 {
76682        ///Reader of register SQR3
76683        pub type R = crate::R<u32, super::SQR3>;
76684        ///Writer for register SQR3
76685        pub type W = crate::W<u32, super::SQR3>;
76686        ///Register SQR3 `reset()`'s with value 0
76687        impl crate::ResetValue for super::SQR3 {
76688            type Type = u32;
76689            #[inline(always)]
76690            fn reset_value() -> Self::Type {
76691                0
76692            }
76693        }
76694        ///Reader of field `SQ14`
76695        pub type SQ14_R = crate::R<u8, u8>;
76696        ///Write proxy for field `SQ14`
76697        pub struct SQ14_W<'a> {
76698            w: &'a mut W,
76699        }
76700        impl<'a> SQ14_W<'a> {
76701            ///Writes raw bits to the field
76702            #[inline(always)]
76703            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76704                self.w.bits = (self.w.bits & !(0x1f << 24)) | (((value as u32) & 0x1f) << 24);
76705                self.w
76706            }
76707        }
76708        ///Reader of field `SQ13`
76709        pub type SQ13_R = crate::R<u8, u8>;
76710        ///Write proxy for field `SQ13`
76711        pub struct SQ13_W<'a> {
76712            w: &'a mut W,
76713        }
76714        impl<'a> SQ13_W<'a> {
76715            ///Writes raw bits to the field
76716            #[inline(always)]
76717            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76718                self.w.bits = (self.w.bits & !(0x1f << 18)) | (((value as u32) & 0x1f) << 18);
76719                self.w
76720            }
76721        }
76722        ///Reader of field `SQ12`
76723        pub type SQ12_R = crate::R<u8, u8>;
76724        ///Write proxy for field `SQ12`
76725        pub struct SQ12_W<'a> {
76726            w: &'a mut W,
76727        }
76728        impl<'a> SQ12_W<'a> {
76729            ///Writes raw bits to the field
76730            #[inline(always)]
76731            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76732                self.w.bits = (self.w.bits & !(0x1f << 12)) | (((value as u32) & 0x1f) << 12);
76733                self.w
76734            }
76735        }
76736        ///Reader of field `SQ11`
76737        pub type SQ11_R = crate::R<u8, u8>;
76738        ///Write proxy for field `SQ11`
76739        pub struct SQ11_W<'a> {
76740            w: &'a mut W,
76741        }
76742        impl<'a> SQ11_W<'a> {
76743            ///Writes raw bits to the field
76744            #[inline(always)]
76745            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76746                self.w.bits = (self.w.bits & !(0x1f << 6)) | (((value as u32) & 0x1f) << 6);
76747                self.w
76748            }
76749        }
76750        ///Reader of field `SQ10`
76751        pub type SQ10_R = crate::R<u8, u8>;
76752        ///Write proxy for field `SQ10`
76753        pub struct SQ10_W<'a> {
76754            w: &'a mut W,
76755        }
76756        impl<'a> SQ10_W<'a> {
76757            ///Writes raw bits to the field
76758            #[inline(always)]
76759            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76760                self.w.bits = (self.w.bits & !0x1f) | ((value as u32) & 0x1f);
76761                self.w
76762            }
76763        }
76764        impl R {
76765            ///Bits 24:28 - ADC group regular sequencer rank 14
76766            #[inline(always)]
76767            pub fn sq14(&self) -> SQ14_R {
76768                SQ14_R::new(((self.bits >> 24) & 0x1f) as u8)
76769            }
76770            ///Bits 18:22 - ADC group regular sequencer rank 13
76771            #[inline(always)]
76772            pub fn sq13(&self) -> SQ13_R {
76773                SQ13_R::new(((self.bits >> 18) & 0x1f) as u8)
76774            }
76775            ///Bits 12:16 - ADC group regular sequencer rank 12
76776            #[inline(always)]
76777            pub fn sq12(&self) -> SQ12_R {
76778                SQ12_R::new(((self.bits >> 12) & 0x1f) as u8)
76779            }
76780            ///Bits 6:10 - ADC group regular sequencer rank 11
76781            #[inline(always)]
76782            pub fn sq11(&self) -> SQ11_R {
76783                SQ11_R::new(((self.bits >> 6) & 0x1f) as u8)
76784            }
76785            ///Bits 0:4 - ADC group regular sequencer rank 10
76786            #[inline(always)]
76787            pub fn sq10(&self) -> SQ10_R {
76788                SQ10_R::new((self.bits & 0x1f) as u8)
76789            }
76790        }
76791        impl W {
76792            ///Bits 24:28 - ADC group regular sequencer rank 14
76793            #[inline(always)]
76794            pub fn sq14(&mut self) -> SQ14_W {
76795                SQ14_W { w: self }
76796            }
76797            ///Bits 18:22 - ADC group regular sequencer rank 13
76798            #[inline(always)]
76799            pub fn sq13(&mut self) -> SQ13_W {
76800                SQ13_W { w: self }
76801            }
76802            ///Bits 12:16 - ADC group regular sequencer rank 12
76803            #[inline(always)]
76804            pub fn sq12(&mut self) -> SQ12_W {
76805                SQ12_W { w: self }
76806            }
76807            ///Bits 6:10 - ADC group regular sequencer rank 11
76808            #[inline(always)]
76809            pub fn sq11(&mut self) -> SQ11_W {
76810                SQ11_W { w: self }
76811            }
76812            ///Bits 0:4 - ADC group regular sequencer rank 10
76813            #[inline(always)]
76814            pub fn sq10(&mut self) -> SQ10_W {
76815                SQ10_W { w: self }
76816            }
76817        }
76818    }
76819    ///ADC group regular sequencer ranks register 4
76820    ///
76821    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
76822    ///
76823    ///For information about available fields see [sqr4](sqr4) module
76824    pub type SQR4 = crate::Reg<u32, _SQR4>;
76825    #[allow(missing_docs)]
76826    #[doc(hidden)]
76827    pub struct _SQR4;
76828    ///`read()` method returns [sqr4::R](sqr4::R) reader structure
76829    impl crate::Readable for SQR4 {}
76830    ///`write(|w| ..)` method takes [sqr4::W](sqr4::W) writer structure
76831    impl crate::Writable for SQR4 {}
76832    ///ADC group regular sequencer ranks register 4
76833    pub mod sqr4 {
76834        ///Reader of register SQR4
76835        pub type R = crate::R<u32, super::SQR4>;
76836        ///Writer for register SQR4
76837        pub type W = crate::W<u32, super::SQR4>;
76838        ///Register SQR4 `reset()`'s with value 0
76839        impl crate::ResetValue for super::SQR4 {
76840            type Type = u32;
76841            #[inline(always)]
76842            fn reset_value() -> Self::Type {
76843                0
76844            }
76845        }
76846        ///Reader of field `SQ16`
76847        pub type SQ16_R = crate::R<u8, u8>;
76848        ///Write proxy for field `SQ16`
76849        pub struct SQ16_W<'a> {
76850            w: &'a mut W,
76851        }
76852        impl<'a> SQ16_W<'a> {
76853            ///Writes raw bits to the field
76854            #[inline(always)]
76855            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76856                self.w.bits = (self.w.bits & !(0x1f << 6)) | (((value as u32) & 0x1f) << 6);
76857                self.w
76858            }
76859        }
76860        ///Reader of field `SQ15`
76861        pub type SQ15_R = crate::R<u8, u8>;
76862        ///Write proxy for field `SQ15`
76863        pub struct SQ15_W<'a> {
76864            w: &'a mut W,
76865        }
76866        impl<'a> SQ15_W<'a> {
76867            ///Writes raw bits to the field
76868            #[inline(always)]
76869            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76870                self.w.bits = (self.w.bits & !0x1f) | ((value as u32) & 0x1f);
76871                self.w
76872            }
76873        }
76874        impl R {
76875            ///Bits 6:10 - ADC group regular sequencer rank 16
76876            #[inline(always)]
76877            pub fn sq16(&self) -> SQ16_R {
76878                SQ16_R::new(((self.bits >> 6) & 0x1f) as u8)
76879            }
76880            ///Bits 0:4 - ADC group regular sequencer rank 15
76881            #[inline(always)]
76882            pub fn sq15(&self) -> SQ15_R {
76883                SQ15_R::new((self.bits & 0x1f) as u8)
76884            }
76885        }
76886        impl W {
76887            ///Bits 6:10 - ADC group regular sequencer rank 16
76888            #[inline(always)]
76889            pub fn sq16(&mut self) -> SQ16_W {
76890                SQ16_W { w: self }
76891            }
76892            ///Bits 0:4 - ADC group regular sequencer rank 15
76893            #[inline(always)]
76894            pub fn sq15(&mut self) -> SQ15_W {
76895                SQ15_W { w: self }
76896            }
76897        }
76898    }
76899    ///ADC group regular conversion data register
76900    ///
76901    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
76902    ///
76903    ///For information about available fields see [dr](dr) module
76904    pub type DR = crate::Reg<u32, _DR>;
76905    #[allow(missing_docs)]
76906    #[doc(hidden)]
76907    pub struct _DR;
76908    ///`read()` method returns [dr::R](dr::R) reader structure
76909    impl crate::Readable for DR {}
76910    ///`write(|w| ..)` method takes [dr::W](dr::W) writer structure
76911    impl crate::Writable for DR {}
76912    ///ADC group regular conversion data register
76913    pub mod dr {
76914        ///Reader of register DR
76915        pub type R = crate::R<u32, super::DR>;
76916        ///Writer for register DR
76917        pub type W = crate::W<u32, super::DR>;
76918        ///Register DR `reset()`'s with value 0
76919        impl crate::ResetValue for super::DR {
76920            type Type = u32;
76921            #[inline(always)]
76922            fn reset_value() -> Self::Type {
76923                0
76924            }
76925        }
76926        ///Reader of field `RDATA_0_6`
76927        pub type RDATA_0_6_R = crate::R<u8, u8>;
76928        ///Write proxy for field `RDATA_0_6`
76929        pub struct RDATA_0_6_W<'a> {
76930            w: &'a mut W,
76931        }
76932        impl<'a> RDATA_0_6_W<'a> {
76933            ///Writes raw bits to the field
76934            #[inline(always)]
76935            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76936                self.w.bits = (self.w.bits & !0x3f) | ((value as u32) & 0x3f);
76937                self.w
76938            }
76939        }
76940        ///Reader of field `RDATA_7_15`
76941        pub type RDATA_7_15_R = crate::R<u16, u16>;
76942        impl R {
76943            ///Bits 0:5 - Regular Data converted 0_6
76944            #[inline(always)]
76945            pub fn rdata_0_6(&self) -> RDATA_0_6_R {
76946                RDATA_0_6_R::new((self.bits & 0x3f) as u8)
76947            }
76948            ///Bits 7:15 - 15
76949            #[inline(always)]
76950            pub fn rdata_7_15(&self) -> RDATA_7_15_R {
76951                RDATA_7_15_R::new(((self.bits >> 7) & 0x01ff) as u16)
76952            }
76953        }
76954        impl W {
76955            ///Bits 0:5 - Regular Data converted 0_6
76956            #[inline(always)]
76957            pub fn rdata_0_6(&mut self) -> RDATA_0_6_W {
76958                RDATA_0_6_W { w: self }
76959            }
76960        }
76961    }
76962    ///ADC group injected sequencer register
76963    ///
76964    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
76965    ///
76966    ///For information about available fields see [jsqr](jsqr) module
76967    pub type JSQR = crate::Reg<u32, _JSQR>;
76968    #[allow(missing_docs)]
76969    #[doc(hidden)]
76970    pub struct _JSQR;
76971    ///`read()` method returns [jsqr::R](jsqr::R) reader structure
76972    impl crate::Readable for JSQR {}
76973    ///`write(|w| ..)` method takes [jsqr::W](jsqr::W) writer structure
76974    impl crate::Writable for JSQR {}
76975    ///ADC group injected sequencer register
76976    pub mod jsqr {
76977        ///Reader of register JSQR
76978        pub type R = crate::R<u32, super::JSQR>;
76979        ///Writer for register JSQR
76980        pub type W = crate::W<u32, super::JSQR>;
76981        ///Register JSQR `reset()`'s with value 0
76982        impl crate::ResetValue for super::JSQR {
76983            type Type = u32;
76984            #[inline(always)]
76985            fn reset_value() -> Self::Type {
76986                0
76987            }
76988        }
76989        ///Reader of field `JSQ4`
76990        pub type JSQ4_R = crate::R<u8, u8>;
76991        ///Write proxy for field `JSQ4`
76992        pub struct JSQ4_W<'a> {
76993            w: &'a mut W,
76994        }
76995        impl<'a> JSQ4_W<'a> {
76996            ///Writes raw bits to the field
76997            #[inline(always)]
76998            pub unsafe fn bits(self, value: u8) -> &'a mut W {
76999                self.w.bits = (self.w.bits & !(0x1f << 26)) | (((value as u32) & 0x1f) << 26);
77000                self.w
77001            }
77002        }
77003        ///Reader of field `JSQ3`
77004        pub type JSQ3_R = crate::R<u8, u8>;
77005        ///Write proxy for field `JSQ3`
77006        pub struct JSQ3_W<'a> {
77007            w: &'a mut W,
77008        }
77009        impl<'a> JSQ3_W<'a> {
77010            ///Writes raw bits to the field
77011            #[inline(always)]
77012            pub unsafe fn bits(self, value: u8) -> &'a mut W {
77013                self.w.bits = (self.w.bits & !(0x1f << 20)) | (((value as u32) & 0x1f) << 20);
77014                self.w
77015            }
77016        }
77017        ///Reader of field `JSQ2`
77018        pub type JSQ2_R = crate::R<u8, u8>;
77019        ///Write proxy for field `JSQ2`
77020        pub struct JSQ2_W<'a> {
77021            w: &'a mut W,
77022        }
77023        impl<'a> JSQ2_W<'a> {
77024            ///Writes raw bits to the field
77025            #[inline(always)]
77026            pub unsafe fn bits(self, value: u8) -> &'a mut W {
77027                self.w.bits = (self.w.bits & !(0x1f << 14)) | (((value as u32) & 0x1f) << 14);
77028                self.w
77029            }
77030        }
77031        ///Reader of field `JSQ1`
77032        pub type JSQ1_R = crate::R<u8, u8>;
77033        ///Write proxy for field `JSQ1`
77034        pub struct JSQ1_W<'a> {
77035            w: &'a mut W,
77036        }
77037        impl<'a> JSQ1_W<'a> {
77038            ///Writes raw bits to the field
77039            #[inline(always)]
77040            pub unsafe fn bits(self, value: u8) -> &'a mut W {
77041                self.w.bits = (self.w.bits & !(0x1f << 8)) | (((value as u32) & 0x1f) << 8);
77042                self.w
77043            }
77044        }
77045        ///Reader of field `JEXTEN`
77046        pub type JEXTEN_R = crate::R<u8, u8>;
77047        ///Write proxy for field `JEXTEN`
77048        pub struct JEXTEN_W<'a> {
77049            w: &'a mut W,
77050        }
77051        impl<'a> JEXTEN_W<'a> {
77052            ///Writes raw bits to the field
77053            #[inline(always)]
77054            pub unsafe fn bits(self, value: u8) -> &'a mut W {
77055                self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
77056                self.w
77057            }
77058        }
77059        ///Reader of field `JEXTSEL`
77060        pub type JEXTSEL_R = crate::R<u8, u8>;
77061        ///Write proxy for field `JEXTSEL`
77062        pub struct JEXTSEL_W<'a> {
77063            w: &'a mut W,
77064        }
77065        impl<'a> JEXTSEL_W<'a> {
77066            ///Writes raw bits to the field
77067            #[inline(always)]
77068            pub unsafe fn bits(self, value: u8) -> &'a mut W {
77069                self.w.bits = (self.w.bits & !(0x0f << 2)) | (((value as u32) & 0x0f) << 2);
77070                self.w
77071            }
77072        }
77073        ///Reader of field `JL`
77074        pub type JL_R = crate::R<u8, u8>;
77075        ///Write proxy for field `JL`
77076        pub struct JL_W<'a> {
77077            w: &'a mut W,
77078        }
77079        impl<'a> JL_W<'a> {
77080            ///Writes raw bits to the field
77081            #[inline(always)]
77082            pub unsafe fn bits(self, value: u8) -> &'a mut W {
77083                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
77084                self.w
77085            }
77086        }
77087        impl R {
77088            ///Bits 26:30 - ADC group injected sequencer rank 4
77089            #[inline(always)]
77090            pub fn jsq4(&self) -> JSQ4_R {
77091                JSQ4_R::new(((self.bits >> 26) & 0x1f) as u8)
77092            }
77093            ///Bits 20:24 - ADC group injected sequencer rank 3
77094            #[inline(always)]
77095            pub fn jsq3(&self) -> JSQ3_R {
77096                JSQ3_R::new(((self.bits >> 20) & 0x1f) as u8)
77097            }
77098            ///Bits 14:18 - ADC group injected sequencer rank 2
77099            #[inline(always)]
77100            pub fn jsq2(&self) -> JSQ2_R {
77101                JSQ2_R::new(((self.bits >> 14) & 0x1f) as u8)
77102            }
77103            ///Bits 8:12 - ADC group injected sequencer rank 1
77104            #[inline(always)]
77105            pub fn jsq1(&self) -> JSQ1_R {
77106                JSQ1_R::new(((self.bits >> 8) & 0x1f) as u8)
77107            }
77108            ///Bits 6:7 - ADC group injected external trigger polarity
77109            #[inline(always)]
77110            pub fn jexten(&self) -> JEXTEN_R {
77111                JEXTEN_R::new(((self.bits >> 6) & 0x03) as u8)
77112            }
77113            ///Bits 2:5 - ADC group injected external trigger source
77114            #[inline(always)]
77115            pub fn jextsel(&self) -> JEXTSEL_R {
77116                JEXTSEL_R::new(((self.bits >> 2) & 0x0f) as u8)
77117            }
77118            ///Bits 0:1 - ADC group injected sequencer scan length
77119            #[inline(always)]
77120            pub fn jl(&self) -> JL_R {
77121                JL_R::new((self.bits & 0x03) as u8)
77122            }
77123        }
77124        impl W {
77125            ///Bits 26:30 - ADC group injected sequencer rank 4
77126            #[inline(always)]
77127            pub fn jsq4(&mut self) -> JSQ4_W {
77128                JSQ4_W { w: self }
77129            }
77130            ///Bits 20:24 - ADC group injected sequencer rank 3
77131            #[inline(always)]
77132            pub fn jsq3(&mut self) -> JSQ3_W {
77133                JSQ3_W { w: self }
77134            }
77135            ///Bits 14:18 - ADC group injected sequencer rank 2
77136            #[inline(always)]
77137            pub fn jsq2(&mut self) -> JSQ2_W {
77138                JSQ2_W { w: self }
77139            }
77140            ///Bits 8:12 - ADC group injected sequencer rank 1
77141            #[inline(always)]
77142            pub fn jsq1(&mut self) -> JSQ1_W {
77143                JSQ1_W { w: self }
77144            }
77145            ///Bits 6:7 - ADC group injected external trigger polarity
77146            #[inline(always)]
77147            pub fn jexten(&mut self) -> JEXTEN_W {
77148                JEXTEN_W { w: self }
77149            }
77150            ///Bits 2:5 - ADC group injected external trigger source
77151            #[inline(always)]
77152            pub fn jextsel(&mut self) -> JEXTSEL_W {
77153                JEXTSEL_W { w: self }
77154            }
77155            ///Bits 0:1 - ADC group injected sequencer scan length
77156            #[inline(always)]
77157            pub fn jl(&mut self) -> JL_W {
77158                JL_W { w: self }
77159            }
77160        }
77161    }
77162    ///ADC offset number 1 register
77163    ///
77164    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
77165    ///
77166    ///For information about available fields see [ofr1](ofr1) module
77167    pub type OFR1 = crate::Reg<u32, _OFR1>;
77168    #[allow(missing_docs)]
77169    #[doc(hidden)]
77170    pub struct _OFR1;
77171    ///`read()` method returns [ofr1::R](ofr1::R) reader structure
77172    impl crate::Readable for OFR1 {}
77173    ///`write(|w| ..)` method takes [ofr1::W](ofr1::W) writer structure
77174    impl crate::Writable for OFR1 {}
77175    ///ADC offset number 1 register
77176    pub mod ofr1 {
77177        ///Reader of register OFR1
77178        pub type R = crate::R<u32, super::OFR1>;
77179        ///Writer for register OFR1
77180        pub type W = crate::W<u32, super::OFR1>;
77181        ///Register OFR1 `reset()`'s with value 0
77182        impl crate::ResetValue for super::OFR1 {
77183            type Type = u32;
77184            #[inline(always)]
77185            fn reset_value() -> Self::Type {
77186                0
77187            }
77188        }
77189        ///Reader of field `OFFSET1_EN`
77190        pub type OFFSET1_EN_R = crate::R<bool, bool>;
77191        ///Write proxy for field `OFFSET1_EN`
77192        pub struct OFFSET1_EN_W<'a> {
77193            w: &'a mut W,
77194        }
77195        impl<'a> OFFSET1_EN_W<'a> {
77196            ///Sets the field bit
77197            #[inline(always)]
77198            pub fn set_bit(self) -> &'a mut W {
77199                self.bit(true)
77200            }
77201            ///Clears the field bit
77202            #[inline(always)]
77203            pub fn clear_bit(self) -> &'a mut W {
77204                self.bit(false)
77205            }
77206            ///Writes raw bits to the field
77207            #[inline(always)]
77208            pub fn bit(self, value: bool) -> &'a mut W {
77209                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
77210                self.w
77211            }
77212        }
77213        ///Reader of field `OFFSET1_CH`
77214        pub type OFFSET1_CH_R = crate::R<u8, u8>;
77215        ///Write proxy for field `OFFSET1_CH`
77216        pub struct OFFSET1_CH_W<'a> {
77217            w: &'a mut W,
77218        }
77219        impl<'a> OFFSET1_CH_W<'a> {
77220            ///Writes raw bits to the field
77221            #[inline(always)]
77222            pub unsafe fn bits(self, value: u8) -> &'a mut W {
77223                self.w.bits = (self.w.bits & !(0x1f << 26)) | (((value as u32) & 0x1f) << 26);
77224                self.w
77225            }
77226        }
77227        ///Reader of field `OFFSET1`
77228        pub type OFFSET1_R = crate::R<u16, u16>;
77229        ///Write proxy for field `OFFSET1`
77230        pub struct OFFSET1_W<'a> {
77231            w: &'a mut W,
77232        }
77233        impl<'a> OFFSET1_W<'a> {
77234            ///Writes raw bits to the field
77235            #[inline(always)]
77236            pub unsafe fn bits(self, value: u16) -> &'a mut W {
77237                self.w.bits = (self.w.bits & !0x0fff) | ((value as u32) & 0x0fff);
77238                self.w
77239            }
77240        }
77241        impl R {
77242            ///Bit 31 - ADC offset number 1 enable
77243            #[inline(always)]
77244            pub fn offset1_en(&self) -> OFFSET1_EN_R {
77245                OFFSET1_EN_R::new(((self.bits >> 31) & 0x01) != 0)
77246            }
77247            ///Bits 26:30 - ADC offset number 1 channel selection
77248            #[inline(always)]
77249            pub fn offset1_ch(&self) -> OFFSET1_CH_R {
77250                OFFSET1_CH_R::new(((self.bits >> 26) & 0x1f) as u8)
77251            }
77252            ///Bits 0:11 - ADC offset number 1 offset level
77253            #[inline(always)]
77254            pub fn offset1(&self) -> OFFSET1_R {
77255                OFFSET1_R::new((self.bits & 0x0fff) as u16)
77256            }
77257        }
77258        impl W {
77259            ///Bit 31 - ADC offset number 1 enable
77260            #[inline(always)]
77261            pub fn offset1_en(&mut self) -> OFFSET1_EN_W {
77262                OFFSET1_EN_W { w: self }
77263            }
77264            ///Bits 26:30 - ADC offset number 1 channel selection
77265            #[inline(always)]
77266            pub fn offset1_ch(&mut self) -> OFFSET1_CH_W {
77267                OFFSET1_CH_W { w: self }
77268            }
77269            ///Bits 0:11 - ADC offset number 1 offset level
77270            #[inline(always)]
77271            pub fn offset1(&mut self) -> OFFSET1_W {
77272                OFFSET1_W { w: self }
77273            }
77274        }
77275    }
77276    ///ADC offset number 2 register
77277    ///
77278    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
77279    ///
77280    ///For information about available fields see [ofr2](ofr2) module
77281    pub type OFR2 = crate::Reg<u32, _OFR2>;
77282    #[allow(missing_docs)]
77283    #[doc(hidden)]
77284    pub struct _OFR2;
77285    ///`read()` method returns [ofr2::R](ofr2::R) reader structure
77286    impl crate::Readable for OFR2 {}
77287    ///`write(|w| ..)` method takes [ofr2::W](ofr2::W) writer structure
77288    impl crate::Writable for OFR2 {}
77289    ///ADC offset number 2 register
77290    pub mod ofr2 {
77291        ///Reader of register OFR2
77292        pub type R = crate::R<u32, super::OFR2>;
77293        ///Writer for register OFR2
77294        pub type W = crate::W<u32, super::OFR2>;
77295        ///Register OFR2 `reset()`'s with value 0
77296        impl crate::ResetValue for super::OFR2 {
77297            type Type = u32;
77298            #[inline(always)]
77299            fn reset_value() -> Self::Type {
77300                0
77301            }
77302        }
77303        ///Reader of field `OFFSET2_EN`
77304        pub type OFFSET2_EN_R = crate::R<bool, bool>;
77305        ///Write proxy for field `OFFSET2_EN`
77306        pub struct OFFSET2_EN_W<'a> {
77307            w: &'a mut W,
77308        }
77309        impl<'a> OFFSET2_EN_W<'a> {
77310            ///Sets the field bit
77311            #[inline(always)]
77312            pub fn set_bit(self) -> &'a mut W {
77313                self.bit(true)
77314            }
77315            ///Clears the field bit
77316            #[inline(always)]
77317            pub fn clear_bit(self) -> &'a mut W {
77318                self.bit(false)
77319            }
77320            ///Writes raw bits to the field
77321            #[inline(always)]
77322            pub fn bit(self, value: bool) -> &'a mut W {
77323                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
77324                self.w
77325            }
77326        }
77327        ///Reader of field `OFFSET2_CH`
77328        pub type OFFSET2_CH_R = crate::R<u8, u8>;
77329        ///Write proxy for field `OFFSET2_CH`
77330        pub struct OFFSET2_CH_W<'a> {
77331            w: &'a mut W,
77332        }
77333        impl<'a> OFFSET2_CH_W<'a> {
77334            ///Writes raw bits to the field
77335            #[inline(always)]
77336            pub unsafe fn bits(self, value: u8) -> &'a mut W {
77337                self.w.bits = (self.w.bits & !(0x1f << 26)) | (((value as u32) & 0x1f) << 26);
77338                self.w
77339            }
77340        }
77341        ///Reader of field `OFFSET2`
77342        pub type OFFSET2_R = crate::R<u16, u16>;
77343        ///Write proxy for field `OFFSET2`
77344        pub struct OFFSET2_W<'a> {
77345            w: &'a mut W,
77346        }
77347        impl<'a> OFFSET2_W<'a> {
77348            ///Writes raw bits to the field
77349            #[inline(always)]
77350            pub unsafe fn bits(self, value: u16) -> &'a mut W {
77351                self.w.bits = (self.w.bits & !0x0fff) | ((value as u32) & 0x0fff);
77352                self.w
77353            }
77354        }
77355        impl R {
77356            ///Bit 31 - ADC offset number 2 enable
77357            #[inline(always)]
77358            pub fn offset2_en(&self) -> OFFSET2_EN_R {
77359                OFFSET2_EN_R::new(((self.bits >> 31) & 0x01) != 0)
77360            }
77361            ///Bits 26:30 - ADC offset number 2 channel selection
77362            #[inline(always)]
77363            pub fn offset2_ch(&self) -> OFFSET2_CH_R {
77364                OFFSET2_CH_R::new(((self.bits >> 26) & 0x1f) as u8)
77365            }
77366            ///Bits 0:11 - ADC offset number 2 offset level
77367            #[inline(always)]
77368            pub fn offset2(&self) -> OFFSET2_R {
77369                OFFSET2_R::new((self.bits & 0x0fff) as u16)
77370            }
77371        }
77372        impl W {
77373            ///Bit 31 - ADC offset number 2 enable
77374            #[inline(always)]
77375            pub fn offset2_en(&mut self) -> OFFSET2_EN_W {
77376                OFFSET2_EN_W { w: self }
77377            }
77378            ///Bits 26:30 - ADC offset number 2 channel selection
77379            #[inline(always)]
77380            pub fn offset2_ch(&mut self) -> OFFSET2_CH_W {
77381                OFFSET2_CH_W { w: self }
77382            }
77383            ///Bits 0:11 - ADC offset number 2 offset level
77384            #[inline(always)]
77385            pub fn offset2(&mut self) -> OFFSET2_W {
77386                OFFSET2_W { w: self }
77387            }
77388        }
77389    }
77390    ///ADC offset number 3 register
77391    ///
77392    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
77393    ///
77394    ///For information about available fields see [ofr3](ofr3) module
77395    pub type OFR3 = crate::Reg<u32, _OFR3>;
77396    #[allow(missing_docs)]
77397    #[doc(hidden)]
77398    pub struct _OFR3;
77399    ///`read()` method returns [ofr3::R](ofr3::R) reader structure
77400    impl crate::Readable for OFR3 {}
77401    ///`write(|w| ..)` method takes [ofr3::W](ofr3::W) writer structure
77402    impl crate::Writable for OFR3 {}
77403    ///ADC offset number 3 register
77404    pub mod ofr3 {
77405        ///Reader of register OFR3
77406        pub type R = crate::R<u32, super::OFR3>;
77407        ///Writer for register OFR3
77408        pub type W = crate::W<u32, super::OFR3>;
77409        ///Register OFR3 `reset()`'s with value 0
77410        impl crate::ResetValue for super::OFR3 {
77411            type Type = u32;
77412            #[inline(always)]
77413            fn reset_value() -> Self::Type {
77414                0
77415            }
77416        }
77417        ///Reader of field `OFFSET3_EN`
77418        pub type OFFSET3_EN_R = crate::R<bool, bool>;
77419        ///Write proxy for field `OFFSET3_EN`
77420        pub struct OFFSET3_EN_W<'a> {
77421            w: &'a mut W,
77422        }
77423        impl<'a> OFFSET3_EN_W<'a> {
77424            ///Sets the field bit
77425            #[inline(always)]
77426            pub fn set_bit(self) -> &'a mut W {
77427                self.bit(true)
77428            }
77429            ///Clears the field bit
77430            #[inline(always)]
77431            pub fn clear_bit(self) -> &'a mut W {
77432                self.bit(false)
77433            }
77434            ///Writes raw bits to the field
77435            #[inline(always)]
77436            pub fn bit(self, value: bool) -> &'a mut W {
77437                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
77438                self.w
77439            }
77440        }
77441        ///Reader of field `OFFSET3_CH`
77442        pub type OFFSET3_CH_R = crate::R<u8, u8>;
77443        ///Write proxy for field `OFFSET3_CH`
77444        pub struct OFFSET3_CH_W<'a> {
77445            w: &'a mut W,
77446        }
77447        impl<'a> OFFSET3_CH_W<'a> {
77448            ///Writes raw bits to the field
77449            #[inline(always)]
77450            pub unsafe fn bits(self, value: u8) -> &'a mut W {
77451                self.w.bits = (self.w.bits & !(0x1f << 26)) | (((value as u32) & 0x1f) << 26);
77452                self.w
77453            }
77454        }
77455        ///Reader of field `OFFSET3`
77456        pub type OFFSET3_R = crate::R<u16, u16>;
77457        ///Write proxy for field `OFFSET3`
77458        pub struct OFFSET3_W<'a> {
77459            w: &'a mut W,
77460        }
77461        impl<'a> OFFSET3_W<'a> {
77462            ///Writes raw bits to the field
77463            #[inline(always)]
77464            pub unsafe fn bits(self, value: u16) -> &'a mut W {
77465                self.w.bits = (self.w.bits & !0x0fff) | ((value as u32) & 0x0fff);
77466                self.w
77467            }
77468        }
77469        impl R {
77470            ///Bit 31 - ADC offset number 3 enable
77471            #[inline(always)]
77472            pub fn offset3_en(&self) -> OFFSET3_EN_R {
77473                OFFSET3_EN_R::new(((self.bits >> 31) & 0x01) != 0)
77474            }
77475            ///Bits 26:30 - ADC offset number 3 channel selection
77476            #[inline(always)]
77477            pub fn offset3_ch(&self) -> OFFSET3_CH_R {
77478                OFFSET3_CH_R::new(((self.bits >> 26) & 0x1f) as u8)
77479            }
77480            ///Bits 0:11 - ADC offset number 3 offset level
77481            #[inline(always)]
77482            pub fn offset3(&self) -> OFFSET3_R {
77483                OFFSET3_R::new((self.bits & 0x0fff) as u16)
77484            }
77485        }
77486        impl W {
77487            ///Bit 31 - ADC offset number 3 enable
77488            #[inline(always)]
77489            pub fn offset3_en(&mut self) -> OFFSET3_EN_W {
77490                OFFSET3_EN_W { w: self }
77491            }
77492            ///Bits 26:30 - ADC offset number 3 channel selection
77493            #[inline(always)]
77494            pub fn offset3_ch(&mut self) -> OFFSET3_CH_W {
77495                OFFSET3_CH_W { w: self }
77496            }
77497            ///Bits 0:11 - ADC offset number 3 offset level
77498            #[inline(always)]
77499            pub fn offset3(&mut self) -> OFFSET3_W {
77500                OFFSET3_W { w: self }
77501            }
77502        }
77503    }
77504    ///ADC offset number 4 register
77505    ///
77506    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
77507    ///
77508    ///For information about available fields see [ofr4](ofr4) module
77509    pub type OFR4 = crate::Reg<u32, _OFR4>;
77510    #[allow(missing_docs)]
77511    #[doc(hidden)]
77512    pub struct _OFR4;
77513    ///`read()` method returns [ofr4::R](ofr4::R) reader structure
77514    impl crate::Readable for OFR4 {}
77515    ///`write(|w| ..)` method takes [ofr4::W](ofr4::W) writer structure
77516    impl crate::Writable for OFR4 {}
77517    ///ADC offset number 4 register
77518    pub mod ofr4 {
77519        ///Reader of register OFR4
77520        pub type R = crate::R<u32, super::OFR4>;
77521        ///Writer for register OFR4
77522        pub type W = crate::W<u32, super::OFR4>;
77523        ///Register OFR4 `reset()`'s with value 0
77524        impl crate::ResetValue for super::OFR4 {
77525            type Type = u32;
77526            #[inline(always)]
77527            fn reset_value() -> Self::Type {
77528                0
77529            }
77530        }
77531        ///Reader of field `OFFSET4_EN`
77532        pub type OFFSET4_EN_R = crate::R<bool, bool>;
77533        ///Write proxy for field `OFFSET4_EN`
77534        pub struct OFFSET4_EN_W<'a> {
77535            w: &'a mut W,
77536        }
77537        impl<'a> OFFSET4_EN_W<'a> {
77538            ///Sets the field bit
77539            #[inline(always)]
77540            pub fn set_bit(self) -> &'a mut W {
77541                self.bit(true)
77542            }
77543            ///Clears the field bit
77544            #[inline(always)]
77545            pub fn clear_bit(self) -> &'a mut W {
77546                self.bit(false)
77547            }
77548            ///Writes raw bits to the field
77549            #[inline(always)]
77550            pub fn bit(self, value: bool) -> &'a mut W {
77551                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
77552                self.w
77553            }
77554        }
77555        ///Reader of field `OFFSET4_CH`
77556        pub type OFFSET4_CH_R = crate::R<u8, u8>;
77557        ///Write proxy for field `OFFSET4_CH`
77558        pub struct OFFSET4_CH_W<'a> {
77559            w: &'a mut W,
77560        }
77561        impl<'a> OFFSET4_CH_W<'a> {
77562            ///Writes raw bits to the field
77563            #[inline(always)]
77564            pub unsafe fn bits(self, value: u8) -> &'a mut W {
77565                self.w.bits = (self.w.bits & !(0x1f << 26)) | (((value as u32) & 0x1f) << 26);
77566                self.w
77567            }
77568        }
77569        ///Reader of field `OFFSET4`
77570        pub type OFFSET4_R = crate::R<u16, u16>;
77571        ///Write proxy for field `OFFSET4`
77572        pub struct OFFSET4_W<'a> {
77573            w: &'a mut W,
77574        }
77575        impl<'a> OFFSET4_W<'a> {
77576            ///Writes raw bits to the field
77577            #[inline(always)]
77578            pub unsafe fn bits(self, value: u16) -> &'a mut W {
77579                self.w.bits = (self.w.bits & !0x0fff) | ((value as u32) & 0x0fff);
77580                self.w
77581            }
77582        }
77583        impl R {
77584            ///Bit 31 - ADC offset number 4 enable
77585            #[inline(always)]
77586            pub fn offset4_en(&self) -> OFFSET4_EN_R {
77587                OFFSET4_EN_R::new(((self.bits >> 31) & 0x01) != 0)
77588            }
77589            ///Bits 26:30 - ADC offset number 4 channel selection
77590            #[inline(always)]
77591            pub fn offset4_ch(&self) -> OFFSET4_CH_R {
77592                OFFSET4_CH_R::new(((self.bits >> 26) & 0x1f) as u8)
77593            }
77594            ///Bits 0:11 - ADC offset number 4 offset level
77595            #[inline(always)]
77596            pub fn offset4(&self) -> OFFSET4_R {
77597                OFFSET4_R::new((self.bits & 0x0fff) as u16)
77598            }
77599        }
77600        impl W {
77601            ///Bit 31 - ADC offset number 4 enable
77602            #[inline(always)]
77603            pub fn offset4_en(&mut self) -> OFFSET4_EN_W {
77604                OFFSET4_EN_W { w: self }
77605            }
77606            ///Bits 26:30 - ADC offset number 4 channel selection
77607            #[inline(always)]
77608            pub fn offset4_ch(&mut self) -> OFFSET4_CH_W {
77609                OFFSET4_CH_W { w: self }
77610            }
77611            ///Bits 0:11 - ADC offset number 4 offset level
77612            #[inline(always)]
77613            pub fn offset4(&mut self) -> OFFSET4_W {
77614                OFFSET4_W { w: self }
77615            }
77616        }
77617    }
77618    ///ADC group injected sequencer rank 1 register
77619    ///
77620    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
77621    ///
77622    ///For information about available fields see [jdr1](jdr1) module
77623    pub type JDR1 = crate::Reg<u32, _JDR1>;
77624    #[allow(missing_docs)]
77625    #[doc(hidden)]
77626    pub struct _JDR1;
77627    ///`read()` method returns [jdr1::R](jdr1::R) reader structure
77628    impl crate::Readable for JDR1 {}
77629    ///ADC group injected sequencer rank 1 register
77630    pub mod jdr1 {
77631        ///Reader of register JDR1
77632        pub type R = crate::R<u32, super::JDR1>;
77633        ///Reader of field `JDATA1`
77634        pub type JDATA1_R = crate::R<u16, u16>;
77635        impl R {
77636            ///Bits 0:15 - ADC group injected sequencer rank 1 conversion data
77637            #[inline(always)]
77638            pub fn jdata1(&self) -> JDATA1_R {
77639                JDATA1_R::new((self.bits & 0xffff) as u16)
77640            }
77641        }
77642    }
77643    ///ADC group injected sequencer rank 2 register
77644    ///
77645    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
77646    ///
77647    ///For information about available fields see [jdr2](jdr2) module
77648    pub type JDR2 = crate::Reg<u32, _JDR2>;
77649    #[allow(missing_docs)]
77650    #[doc(hidden)]
77651    pub struct _JDR2;
77652    ///`read()` method returns [jdr2::R](jdr2::R) reader structure
77653    impl crate::Readable for JDR2 {}
77654    ///ADC group injected sequencer rank 2 register
77655    pub mod jdr2 {
77656        ///Reader of register JDR2
77657        pub type R = crate::R<u32, super::JDR2>;
77658        ///Reader of field `JDATA2`
77659        pub type JDATA2_R = crate::R<u16, u16>;
77660        impl R {
77661            ///Bits 0:15 - ADC group injected sequencer rank 2 conversion data
77662            #[inline(always)]
77663            pub fn jdata2(&self) -> JDATA2_R {
77664                JDATA2_R::new((self.bits & 0xffff) as u16)
77665            }
77666        }
77667    }
77668    ///ADC group injected sequencer rank 3 register
77669    ///
77670    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
77671    ///
77672    ///For information about available fields see [jdr3](jdr3) module
77673    pub type JDR3 = crate::Reg<u32, _JDR3>;
77674    #[allow(missing_docs)]
77675    #[doc(hidden)]
77676    pub struct _JDR3;
77677    ///`read()` method returns [jdr3::R](jdr3::R) reader structure
77678    impl crate::Readable for JDR3 {}
77679    ///ADC group injected sequencer rank 3 register
77680    pub mod jdr3 {
77681        ///Reader of register JDR3
77682        pub type R = crate::R<u32, super::JDR3>;
77683        ///Reader of field `JDATA3`
77684        pub type JDATA3_R = crate::R<u16, u16>;
77685        impl R {
77686            ///Bits 0:15 - ADC group injected sequencer rank 3 conversion data
77687            #[inline(always)]
77688            pub fn jdata3(&self) -> JDATA3_R {
77689                JDATA3_R::new((self.bits & 0xffff) as u16)
77690            }
77691        }
77692    }
77693    ///ADC group injected sequencer rank 4 register
77694    ///
77695    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
77696    ///
77697    ///For information about available fields see [jdr4](jdr4) module
77698    pub type JDR4 = crate::Reg<u32, _JDR4>;
77699    #[allow(missing_docs)]
77700    #[doc(hidden)]
77701    pub struct _JDR4;
77702    ///`read()` method returns [jdr4::R](jdr4::R) reader structure
77703    impl crate::Readable for JDR4 {}
77704    ///ADC group injected sequencer rank 4 register
77705    pub mod jdr4 {
77706        ///Reader of register JDR4
77707        pub type R = crate::R<u32, super::JDR4>;
77708        ///Reader of field `JDATA4`
77709        pub type JDATA4_R = crate::R<u16, u16>;
77710        impl R {
77711            ///Bits 0:15 - ADC group injected sequencer rank 4 conversion data
77712            #[inline(always)]
77713            pub fn jdata4(&self) -> JDATA4_R {
77714                JDATA4_R::new((self.bits & 0xffff) as u16)
77715            }
77716        }
77717    }
77718    ///ADC analog watchdog 2 configuration register
77719    ///
77720    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
77721    ///
77722    ///For information about available fields see [awd2cr](awd2cr) module
77723    pub type AWD2CR = crate::Reg<u32, _AWD2CR>;
77724    #[allow(missing_docs)]
77725    #[doc(hidden)]
77726    pub struct _AWD2CR;
77727    ///`read()` method returns [awd2cr::R](awd2cr::R) reader structure
77728    impl crate::Readable for AWD2CR {}
77729    ///`write(|w| ..)` method takes [awd2cr::W](awd2cr::W) writer structure
77730    impl crate::Writable for AWD2CR {}
77731    ///ADC analog watchdog 2 configuration register
77732    pub mod awd2cr {
77733        ///Reader of register AWD2CR
77734        pub type R = crate::R<u32, super::AWD2CR>;
77735        ///Writer for register AWD2CR
77736        pub type W = crate::W<u32, super::AWD2CR>;
77737        ///Register AWD2CR `reset()`'s with value 0
77738        impl crate::ResetValue for super::AWD2CR {
77739            type Type = u32;
77740            #[inline(always)]
77741            fn reset_value() -> Self::Type {
77742                0
77743            }
77744        }
77745        ///Reader of field `AWD2CH`
77746        pub type AWD2CH_R = crate::R<u32, u32>;
77747        ///Write proxy for field `AWD2CH`
77748        pub struct AWD2CH_W<'a> {
77749            w: &'a mut W,
77750        }
77751        impl<'a> AWD2CH_W<'a> {
77752            ///Writes raw bits to the field
77753            #[inline(always)]
77754            pub unsafe fn bits(self, value: u32) -> &'a mut W {
77755                self.w.bits = (self.w.bits & !0x0007_ffff) | ((value as u32) & 0x0007_ffff);
77756                self.w
77757            }
77758        }
77759        impl R {
77760            ///Bits 0:18 - ADC analog watchdog 2 monitored channel selection
77761            #[inline(always)]
77762            pub fn awd2ch(&self) -> AWD2CH_R {
77763                AWD2CH_R::new((self.bits & 0x0007_ffff) as u32)
77764            }
77765        }
77766        impl W {
77767            ///Bits 0:18 - ADC analog watchdog 2 monitored channel selection
77768            #[inline(always)]
77769            pub fn awd2ch(&mut self) -> AWD2CH_W {
77770                AWD2CH_W { w: self }
77771            }
77772        }
77773    }
77774    ///ADC analog watchdog 3 configuration register
77775    ///
77776    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
77777    ///
77778    ///For information about available fields see [awd3cr](awd3cr) module
77779    pub type AWD3CR = crate::Reg<u32, _AWD3CR>;
77780    #[allow(missing_docs)]
77781    #[doc(hidden)]
77782    pub struct _AWD3CR;
77783    ///`read()` method returns [awd3cr::R](awd3cr::R) reader structure
77784    impl crate::Readable for AWD3CR {}
77785    ///`write(|w| ..)` method takes [awd3cr::W](awd3cr::W) writer structure
77786    impl crate::Writable for AWD3CR {}
77787    ///ADC analog watchdog 3 configuration register
77788    pub mod awd3cr {
77789        ///Reader of register AWD3CR
77790        pub type R = crate::R<u32, super::AWD3CR>;
77791        ///Writer for register AWD3CR
77792        pub type W = crate::W<u32, super::AWD3CR>;
77793        ///Register AWD3CR `reset()`'s with value 0
77794        impl crate::ResetValue for super::AWD3CR {
77795            type Type = u32;
77796            #[inline(always)]
77797            fn reset_value() -> Self::Type {
77798                0
77799            }
77800        }
77801        ///Reader of field `AWD3CH`
77802        pub type AWD3CH_R = crate::R<u32, u32>;
77803        ///Write proxy for field `AWD3CH`
77804        pub struct AWD3CH_W<'a> {
77805            w: &'a mut W,
77806        }
77807        impl<'a> AWD3CH_W<'a> {
77808            ///Writes raw bits to the field
77809            #[inline(always)]
77810            pub unsafe fn bits(self, value: u32) -> &'a mut W {
77811                self.w.bits = (self.w.bits & !0x0007_ffff) | ((value as u32) & 0x0007_ffff);
77812                self.w
77813            }
77814        }
77815        impl R {
77816            ///Bits 0:18 - ADC analog watchdog 3 monitored channel selection
77817            #[inline(always)]
77818            pub fn awd3ch(&self) -> AWD3CH_R {
77819                AWD3CH_R::new((self.bits & 0x0007_ffff) as u32)
77820            }
77821        }
77822        impl W {
77823            ///Bits 0:18 - ADC analog watchdog 3 monitored channel selection
77824            #[inline(always)]
77825            pub fn awd3ch(&mut self) -> AWD3CH_W {
77826                AWD3CH_W { w: self }
77827            }
77828        }
77829    }
77830    ///ADC channel differential or single-ended mode selection register
77831    ///
77832    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
77833    ///
77834    ///For information about available fields see [difsel](difsel) module
77835    pub type DIFSEL = crate::Reg<u32, _DIFSEL>;
77836    #[allow(missing_docs)]
77837    #[doc(hidden)]
77838    pub struct _DIFSEL;
77839    ///`read()` method returns [difsel::R](difsel::R) reader structure
77840    impl crate::Readable for DIFSEL {}
77841    ///`write(|w| ..)` method takes [difsel::W](difsel::W) writer structure
77842    impl crate::Writable for DIFSEL {}
77843    ///ADC channel differential or single-ended mode selection register
77844    pub mod difsel {
77845        ///Reader of register DIFSEL
77846        pub type R = crate::R<u32, super::DIFSEL>;
77847        ///Writer for register DIFSEL
77848        pub type W = crate::W<u32, super::DIFSEL>;
77849        ///Register DIFSEL `reset()`'s with value 0
77850        impl crate::ResetValue for super::DIFSEL {
77851            type Type = u32;
77852            #[inline(always)]
77853            fn reset_value() -> Self::Type {
77854                0
77855            }
77856        }
77857        ///Reader of field `DIFSEL_0`
77858        pub type DIFSEL_0_R = crate::R<bool, bool>;
77859        ///Reader of field `DIFSEL_1_15`
77860        pub type DIFSEL_1_15_R = crate::R<u16, u16>;
77861        ///Write proxy for field `DIFSEL_1_15`
77862        pub struct DIFSEL_1_15_W<'a> {
77863            w: &'a mut W,
77864        }
77865        impl<'a> DIFSEL_1_15_W<'a> {
77866            ///Writes raw bits to the field
77867            #[inline(always)]
77868            pub unsafe fn bits(self, value: u16) -> &'a mut W {
77869                self.w.bits = (self.w.bits & !(0x7fff << 1)) | (((value as u32) & 0x7fff) << 1);
77870                self.w
77871            }
77872        }
77873        ///Reader of field `DIFSEL_16_18`
77874        pub type DIFSEL_16_18_R = crate::R<u8, u8>;
77875        impl R {
77876            ///Bit 0 - ADC channel differential or single-ended mode for channel 0
77877            #[inline(always)]
77878            pub fn difsel_0(&self) -> DIFSEL_0_R {
77879                DIFSEL_0_R::new((self.bits & 0x01) != 0)
77880            }
77881            ///Bits 1:15 - ADC channel differential or single-ended mode for channels 1 to 15
77882            #[inline(always)]
77883            pub fn difsel_1_15(&self) -> DIFSEL_1_15_R {
77884                DIFSEL_1_15_R::new(((self.bits >> 1) & 0x7fff) as u16)
77885            }
77886            ///Bits 16:18 - ADC channel differential or single-ended mode for channels 18 to 16
77887            #[inline(always)]
77888            pub fn difsel_16_18(&self) -> DIFSEL_16_18_R {
77889                DIFSEL_16_18_R::new(((self.bits >> 16) & 0x07) as u8)
77890            }
77891        }
77892        impl W {
77893            ///Bits 1:15 - ADC channel differential or single-ended mode for channels 1 to 15
77894            #[inline(always)]
77895            pub fn difsel_1_15(&mut self) -> DIFSEL_1_15_W {
77896                DIFSEL_1_15_W { w: self }
77897            }
77898        }
77899    }
77900    ///ADC calibration factors register
77901    ///
77902    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
77903    ///
77904    ///For information about available fields see [calfact](calfact) module
77905    pub type CALFACT = crate::Reg<u32, _CALFACT>;
77906    #[allow(missing_docs)]
77907    #[doc(hidden)]
77908    pub struct _CALFACT;
77909    ///`read()` method returns [calfact::R](calfact::R) reader structure
77910    impl crate::Readable for CALFACT {}
77911    ///`write(|w| ..)` method takes [calfact::W](calfact::W) writer structure
77912    impl crate::Writable for CALFACT {}
77913    ///ADC calibration factors register
77914    pub mod calfact {
77915        ///Reader of register CALFACT
77916        pub type R = crate::R<u32, super::CALFACT>;
77917        ///Writer for register CALFACT
77918        pub type W = crate::W<u32, super::CALFACT>;
77919        ///Register CALFACT `reset()`'s with value 0
77920        impl crate::ResetValue for super::CALFACT {
77921            type Type = u32;
77922            #[inline(always)]
77923            fn reset_value() -> Self::Type {
77924                0
77925            }
77926        }
77927        ///Reader of field `CALFACT_D`
77928        pub type CALFACT_D_R = crate::R<u8, u8>;
77929        ///Write proxy for field `CALFACT_D`
77930        pub struct CALFACT_D_W<'a> {
77931            w: &'a mut W,
77932        }
77933        impl<'a> CALFACT_D_W<'a> {
77934            ///Writes raw bits to the field
77935            #[inline(always)]
77936            pub unsafe fn bits(self, value: u8) -> &'a mut W {
77937                self.w.bits = (self.w.bits & !(0x7f << 16)) | (((value as u32) & 0x7f) << 16);
77938                self.w
77939            }
77940        }
77941        ///Reader of field `CALFACT_S`
77942        pub type CALFACT_S_R = crate::R<u8, u8>;
77943        ///Write proxy for field `CALFACT_S`
77944        pub struct CALFACT_S_W<'a> {
77945            w: &'a mut W,
77946        }
77947        impl<'a> CALFACT_S_W<'a> {
77948            ///Writes raw bits to the field
77949            #[inline(always)]
77950            pub unsafe fn bits(self, value: u8) -> &'a mut W {
77951                self.w.bits = (self.w.bits & !0x7f) | ((value as u32) & 0x7f);
77952                self.w
77953            }
77954        }
77955        impl R {
77956            ///Bits 16:22 - ADC calibration factor in differential mode
77957            #[inline(always)]
77958            pub fn calfact_d(&self) -> CALFACT_D_R {
77959                CALFACT_D_R::new(((self.bits >> 16) & 0x7f) as u8)
77960            }
77961            ///Bits 0:6 - ADC calibration factor in single-ended mode
77962            #[inline(always)]
77963            pub fn calfact_s(&self) -> CALFACT_S_R {
77964                CALFACT_S_R::new((self.bits & 0x7f) as u8)
77965            }
77966        }
77967        impl W {
77968            ///Bits 16:22 - ADC calibration factor in differential mode
77969            #[inline(always)]
77970            pub fn calfact_d(&mut self) -> CALFACT_D_W {
77971                CALFACT_D_W { w: self }
77972            }
77973            ///Bits 0:6 - ADC calibration factor in single-ended mode
77974            #[inline(always)]
77975            pub fn calfact_s(&mut self) -> CALFACT_S_W {
77976                CALFACT_S_W { w: self }
77977            }
77978        }
77979    }
77980    ///ADC common control register
77981    ///
77982    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
77983    ///
77984    ///For information about available fields see [ccr](ccr) module
77985    pub type CCR = crate::Reg<u32, _CCR>;
77986    #[allow(missing_docs)]
77987    #[doc(hidden)]
77988    pub struct _CCR;
77989    ///`read()` method returns [ccr::R](ccr::R) reader structure
77990    impl crate::Readable for CCR {}
77991    ///`write(|w| ..)` method takes [ccr::W](ccr::W) writer structure
77992    impl crate::Writable for CCR {}
77993    ///ADC common control register
77994    pub mod ccr {
77995        ///Reader of register CCR
77996        pub type R = crate::R<u32, super::CCR>;
77997        ///Writer for register CCR
77998        pub type W = crate::W<u32, super::CCR>;
77999        ///Register CCR `reset()`'s with value 0
78000        impl crate::ResetValue for super::CCR {
78001            type Type = u32;
78002            #[inline(always)]
78003            fn reset_value() -> Self::Type {
78004                0
78005            }
78006        }
78007        ///Reader of field `VBATEN`
78008        pub type VBATEN_R = crate::R<bool, bool>;
78009        ///Write proxy for field `VBATEN`
78010        pub struct VBATEN_W<'a> {
78011            w: &'a mut W,
78012        }
78013        impl<'a> VBATEN_W<'a> {
78014            ///Sets the field bit
78015            #[inline(always)]
78016            pub fn set_bit(self) -> &'a mut W {
78017                self.bit(true)
78018            }
78019            ///Clears the field bit
78020            #[inline(always)]
78021            pub fn clear_bit(self) -> &'a mut W {
78022                self.bit(false)
78023            }
78024            ///Writes raw bits to the field
78025            #[inline(always)]
78026            pub fn bit(self, value: bool) -> &'a mut W {
78027                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
78028                self.w
78029            }
78030        }
78031        ///Reader of field `TSEN`
78032        pub type TSEN_R = crate::R<bool, bool>;
78033        ///Write proxy for field `TSEN`
78034        pub struct TSEN_W<'a> {
78035            w: &'a mut W,
78036        }
78037        impl<'a> TSEN_W<'a> {
78038            ///Sets the field bit
78039            #[inline(always)]
78040            pub fn set_bit(self) -> &'a mut W {
78041                self.bit(true)
78042            }
78043            ///Clears the field bit
78044            #[inline(always)]
78045            pub fn clear_bit(self) -> &'a mut W {
78046                self.bit(false)
78047            }
78048            ///Writes raw bits to the field
78049            #[inline(always)]
78050            pub fn bit(self, value: bool) -> &'a mut W {
78051                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
78052                self.w
78053            }
78054        }
78055        ///Reader of field `VREFEN`
78056        pub type VREFEN_R = crate::R<bool, bool>;
78057        ///Write proxy for field `VREFEN`
78058        pub struct VREFEN_W<'a> {
78059            w: &'a mut W,
78060        }
78061        impl<'a> VREFEN_W<'a> {
78062            ///Sets the field bit
78063            #[inline(always)]
78064            pub fn set_bit(self) -> &'a mut W {
78065                self.bit(true)
78066            }
78067            ///Clears the field bit
78068            #[inline(always)]
78069            pub fn clear_bit(self) -> &'a mut W {
78070                self.bit(false)
78071            }
78072            ///Writes raw bits to the field
78073            #[inline(always)]
78074            pub fn bit(self, value: bool) -> &'a mut W {
78075                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
78076                self.w
78077            }
78078        }
78079        ///Reader of field `PRESC`
78080        pub type PRESC_R = crate::R<u8, u8>;
78081        ///Write proxy for field `PRESC`
78082        pub struct PRESC_W<'a> {
78083            w: &'a mut W,
78084        }
78085        impl<'a> PRESC_W<'a> {
78086            ///Writes raw bits to the field
78087            #[inline(always)]
78088            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78089                self.w.bits = (self.w.bits & !(0x0f << 18)) | (((value as u32) & 0x0f) << 18);
78090                self.w
78091            }
78092        }
78093        ///Reader of field `CKMODE`
78094        pub type CKMODE_R = crate::R<u8, u8>;
78095        ///Write proxy for field `CKMODE`
78096        pub struct CKMODE_W<'a> {
78097            w: &'a mut W,
78098        }
78099        impl<'a> CKMODE_W<'a> {
78100            ///Writes raw bits to the field
78101            #[inline(always)]
78102            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78103                self.w.bits = (self.w.bits & !(0x03 << 16)) | (((value as u32) & 0x03) << 16);
78104                self.w
78105            }
78106        }
78107        impl R {
78108            ///Bit 24 - VBAT enable
78109            #[inline(always)]
78110            pub fn vbaten(&self) -> VBATEN_R {
78111                VBATEN_R::new(((self.bits >> 24) & 0x01) != 0)
78112            }
78113            ///Bit 23 - Temperature sensor enable
78114            #[inline(always)]
78115            pub fn tsen(&self) -> TSEN_R {
78116                TSEN_R::new(((self.bits >> 23) & 0x01) != 0)
78117            }
78118            ///Bit 22 - VREFEN
78119            #[inline(always)]
78120            pub fn vrefen(&self) -> VREFEN_R {
78121                VREFEN_R::new(((self.bits >> 22) & 0x01) != 0)
78122            }
78123            ///Bits 18:21 - ADC prescaler
78124            #[inline(always)]
78125            pub fn presc(&self) -> PRESC_R {
78126                PRESC_R::new(((self.bits >> 18) & 0x0f) as u8)
78127            }
78128            ///Bits 16:17 - ADC clock mode
78129            #[inline(always)]
78130            pub fn ckmode(&self) -> CKMODE_R {
78131                CKMODE_R::new(((self.bits >> 16) & 0x03) as u8)
78132            }
78133        }
78134        impl W {
78135            ///Bit 24 - VBAT enable
78136            #[inline(always)]
78137            pub fn vbaten(&mut self) -> VBATEN_W {
78138                VBATEN_W { w: self }
78139            }
78140            ///Bit 23 - Temperature sensor enable
78141            #[inline(always)]
78142            pub fn tsen(&mut self) -> TSEN_W {
78143                TSEN_W { w: self }
78144            }
78145            ///Bit 22 - VREFEN
78146            #[inline(always)]
78147            pub fn vrefen(&mut self) -> VREFEN_W {
78148                VREFEN_W { w: self }
78149            }
78150            ///Bits 18:21 - ADC prescaler
78151            #[inline(always)]
78152            pub fn presc(&mut self) -> PRESC_W {
78153                PRESC_W { w: self }
78154            }
78155            ///Bits 16:17 - ADC clock mode
78156            #[inline(always)]
78157            pub fn ckmode(&mut self) -> CKMODE_W {
78158                CKMODE_W { w: self }
78159            }
78160        }
78161    }
78162}
78163///General-purpose I/Os
78164pub struct GPIOA {
78165    _marker: PhantomData<*const ()>,
78166}
78167unsafe impl Send for GPIOA {}
78168impl GPIOA {
78169    ///Returns a pointer to the register block
78170    #[inline(always)]
78171    pub const fn ptr() -> *const gpioa::RegisterBlock {
78172        0x4800_0000 as *const _
78173    }
78174}
78175impl Deref for GPIOA {
78176    type Target = gpioa::RegisterBlock;
78177    #[inline(always)]
78178    fn deref(&self) -> &Self::Target {
78179        unsafe { &*GPIOA::ptr() }
78180    }
78181}
78182///General-purpose I/Os
78183pub mod gpioa {
78184    ///Register block
78185    #[repr(C)]
78186    pub struct RegisterBlock {
78187        ///0x00 - GPIO port mode register
78188        pub moder: MODER,
78189        ///0x04 - GPIO port output type register
78190        pub otyper: OTYPER,
78191        ///0x08 - GPIO port output speed register
78192        pub ospeedr: OSPEEDR,
78193        ///0x0c - GPIO port pull-up/pull-down register
78194        pub pupdr: PUPDR,
78195        ///0x10 - GPIO port input data register
78196        pub idr: IDR,
78197        ///0x14 - GPIO port output data register
78198        pub odr: ODR,
78199        ///0x18 - GPIO port bit set/reset register
78200        pub bsrr: BSRR,
78201        ///0x1c - GPIO port configuration lock register
78202        pub lckr: LCKR,
78203        ///0x20 - GPIO alternate function low register
78204        pub afrl: AFRL,
78205        ///0x24 - GPIO alternate function high register
78206        pub afrh: AFRH,
78207        ///0x28 - port bit reset register
78208        pub brr: BRR,
78209    }
78210    ///GPIO port mode register
78211    ///
78212    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
78213    ///
78214    ///For information about available fields see [moder](moder) module
78215    pub type MODER = crate::Reg<u32, _MODER>;
78216    #[allow(missing_docs)]
78217    #[doc(hidden)]
78218    pub struct _MODER;
78219    ///`read()` method returns [moder::R](moder::R) reader structure
78220    impl crate::Readable for MODER {}
78221    ///`write(|w| ..)` method takes [moder::W](moder::W) writer structure
78222    impl crate::Writable for MODER {}
78223    ///GPIO port mode register
78224    pub mod moder {
78225        ///Reader of register MODER
78226        pub type R = crate::R<u32, super::MODER>;
78227        ///Writer for register MODER
78228        pub type W = crate::W<u32, super::MODER>;
78229        ///Register MODER `reset()`'s with value 0xabff_ffff
78230        impl crate::ResetValue for super::MODER {
78231            type Type = u32;
78232            #[inline(always)]
78233            fn reset_value() -> Self::Type {
78234                0xabff_ffff
78235            }
78236        }
78237        ///Reader of field `MODER15`
78238        pub type MODER15_R = crate::R<u8, u8>;
78239        ///Write proxy for field `MODER15`
78240        pub struct MODER15_W<'a> {
78241            w: &'a mut W,
78242        }
78243        impl<'a> MODER15_W<'a> {
78244            ///Writes raw bits to the field
78245            #[inline(always)]
78246            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78247                self.w.bits = (self.w.bits & !(0x03 << 30)) | (((value as u32) & 0x03) << 30);
78248                self.w
78249            }
78250        }
78251        ///Reader of field `MODER14`
78252        pub type MODER14_R = crate::R<u8, u8>;
78253        ///Write proxy for field `MODER14`
78254        pub struct MODER14_W<'a> {
78255            w: &'a mut W,
78256        }
78257        impl<'a> MODER14_W<'a> {
78258            ///Writes raw bits to the field
78259            #[inline(always)]
78260            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78261                self.w.bits = (self.w.bits & !(0x03 << 28)) | (((value as u32) & 0x03) << 28);
78262                self.w
78263            }
78264        }
78265        ///Reader of field `MODER13`
78266        pub type MODER13_R = crate::R<u8, u8>;
78267        ///Write proxy for field `MODER13`
78268        pub struct MODER13_W<'a> {
78269            w: &'a mut W,
78270        }
78271        impl<'a> MODER13_W<'a> {
78272            ///Writes raw bits to the field
78273            #[inline(always)]
78274            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78275                self.w.bits = (self.w.bits & !(0x03 << 26)) | (((value as u32) & 0x03) << 26);
78276                self.w
78277            }
78278        }
78279        ///Reader of field `MODER12`
78280        pub type MODER12_R = crate::R<u8, u8>;
78281        ///Write proxy for field `MODER12`
78282        pub struct MODER12_W<'a> {
78283            w: &'a mut W,
78284        }
78285        impl<'a> MODER12_W<'a> {
78286            ///Writes raw bits to the field
78287            #[inline(always)]
78288            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78289                self.w.bits = (self.w.bits & !(0x03 << 24)) | (((value as u32) & 0x03) << 24);
78290                self.w
78291            }
78292        }
78293        ///Reader of field `MODER11`
78294        pub type MODER11_R = crate::R<u8, u8>;
78295        ///Write proxy for field `MODER11`
78296        pub struct MODER11_W<'a> {
78297            w: &'a mut W,
78298        }
78299        impl<'a> MODER11_W<'a> {
78300            ///Writes raw bits to the field
78301            #[inline(always)]
78302            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78303                self.w.bits = (self.w.bits & !(0x03 << 22)) | (((value as u32) & 0x03) << 22);
78304                self.w
78305            }
78306        }
78307        ///Reader of field `MODER10`
78308        pub type MODER10_R = crate::R<u8, u8>;
78309        ///Write proxy for field `MODER10`
78310        pub struct MODER10_W<'a> {
78311            w: &'a mut W,
78312        }
78313        impl<'a> MODER10_W<'a> {
78314            ///Writes raw bits to the field
78315            #[inline(always)]
78316            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78317                self.w.bits = (self.w.bits & !(0x03 << 20)) | (((value as u32) & 0x03) << 20);
78318                self.w
78319            }
78320        }
78321        ///Reader of field `MODER9`
78322        pub type MODER9_R = crate::R<u8, u8>;
78323        ///Write proxy for field `MODER9`
78324        pub struct MODER9_W<'a> {
78325            w: &'a mut W,
78326        }
78327        impl<'a> MODER9_W<'a> {
78328            ///Writes raw bits to the field
78329            #[inline(always)]
78330            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78331                self.w.bits = (self.w.bits & !(0x03 << 18)) | (((value as u32) & 0x03) << 18);
78332                self.w
78333            }
78334        }
78335        ///Reader of field `MODER8`
78336        pub type MODER8_R = crate::R<u8, u8>;
78337        ///Write proxy for field `MODER8`
78338        pub struct MODER8_W<'a> {
78339            w: &'a mut W,
78340        }
78341        impl<'a> MODER8_W<'a> {
78342            ///Writes raw bits to the field
78343            #[inline(always)]
78344            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78345                self.w.bits = (self.w.bits & !(0x03 << 16)) | (((value as u32) & 0x03) << 16);
78346                self.w
78347            }
78348        }
78349        ///Reader of field `MODER7`
78350        pub type MODER7_R = crate::R<u8, u8>;
78351        ///Write proxy for field `MODER7`
78352        pub struct MODER7_W<'a> {
78353            w: &'a mut W,
78354        }
78355        impl<'a> MODER7_W<'a> {
78356            ///Writes raw bits to the field
78357            #[inline(always)]
78358            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78359                self.w.bits = (self.w.bits & !(0x03 << 14)) | (((value as u32) & 0x03) << 14);
78360                self.w
78361            }
78362        }
78363        ///Reader of field `MODER6`
78364        pub type MODER6_R = crate::R<u8, u8>;
78365        ///Write proxy for field `MODER6`
78366        pub struct MODER6_W<'a> {
78367            w: &'a mut W,
78368        }
78369        impl<'a> MODER6_W<'a> {
78370            ///Writes raw bits to the field
78371            #[inline(always)]
78372            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78373                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
78374                self.w
78375            }
78376        }
78377        ///Reader of field `MODER5`
78378        pub type MODER5_R = crate::R<u8, u8>;
78379        ///Write proxy for field `MODER5`
78380        pub struct MODER5_W<'a> {
78381            w: &'a mut W,
78382        }
78383        impl<'a> MODER5_W<'a> {
78384            ///Writes raw bits to the field
78385            #[inline(always)]
78386            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78387                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
78388                self.w
78389            }
78390        }
78391        ///Reader of field `MODER4`
78392        pub type MODER4_R = crate::R<u8, u8>;
78393        ///Write proxy for field `MODER4`
78394        pub struct MODER4_W<'a> {
78395            w: &'a mut W,
78396        }
78397        impl<'a> MODER4_W<'a> {
78398            ///Writes raw bits to the field
78399            #[inline(always)]
78400            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78401                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
78402                self.w
78403            }
78404        }
78405        ///Reader of field `MODER3`
78406        pub type MODER3_R = crate::R<u8, u8>;
78407        ///Write proxy for field `MODER3`
78408        pub struct MODER3_W<'a> {
78409            w: &'a mut W,
78410        }
78411        impl<'a> MODER3_W<'a> {
78412            ///Writes raw bits to the field
78413            #[inline(always)]
78414            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78415                self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
78416                self.w
78417            }
78418        }
78419        ///Reader of field `MODER2`
78420        pub type MODER2_R = crate::R<u8, u8>;
78421        ///Write proxy for field `MODER2`
78422        pub struct MODER2_W<'a> {
78423            w: &'a mut W,
78424        }
78425        impl<'a> MODER2_W<'a> {
78426            ///Writes raw bits to the field
78427            #[inline(always)]
78428            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78429                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u32) & 0x03) << 4);
78430                self.w
78431            }
78432        }
78433        ///Reader of field `MODER1`
78434        pub type MODER1_R = crate::R<u8, u8>;
78435        ///Write proxy for field `MODER1`
78436        pub struct MODER1_W<'a> {
78437            w: &'a mut W,
78438        }
78439        impl<'a> MODER1_W<'a> {
78440            ///Writes raw bits to the field
78441            #[inline(always)]
78442            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78443                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
78444                self.w
78445            }
78446        }
78447        ///Reader of field `MODER0`
78448        pub type MODER0_R = crate::R<u8, u8>;
78449        ///Write proxy for field `MODER0`
78450        pub struct MODER0_W<'a> {
78451            w: &'a mut W,
78452        }
78453        impl<'a> MODER0_W<'a> {
78454            ///Writes raw bits to the field
78455            #[inline(always)]
78456            pub unsafe fn bits(self, value: u8) -> &'a mut W {
78457                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
78458                self.w
78459            }
78460        }
78461        impl R {
78462            ///Bits 30:31 - Port x configuration bits (y = 0..15)
78463            #[inline(always)]
78464            pub fn moder15(&self) -> MODER15_R {
78465                MODER15_R::new(((self.bits >> 30) & 0x03) as u8)
78466            }
78467            ///Bits 28:29 - Port x configuration bits (y = 0..15)
78468            #[inline(always)]
78469            pub fn moder14(&self) -> MODER14_R {
78470                MODER14_R::new(((self.bits >> 28) & 0x03) as u8)
78471            }
78472            ///Bits 26:27 - Port x configuration bits (y = 0..15)
78473            #[inline(always)]
78474            pub fn moder13(&self) -> MODER13_R {
78475                MODER13_R::new(((self.bits >> 26) & 0x03) as u8)
78476            }
78477            ///Bits 24:25 - Port x configuration bits (y = 0..15)
78478            #[inline(always)]
78479            pub fn moder12(&self) -> MODER12_R {
78480                MODER12_R::new(((self.bits >> 24) & 0x03) as u8)
78481            }
78482            ///Bits 22:23 - Port x configuration bits (y = 0..15)
78483            #[inline(always)]
78484            pub fn moder11(&self) -> MODER11_R {
78485                MODER11_R::new(((self.bits >> 22) & 0x03) as u8)
78486            }
78487            ///Bits 20:21 - Port x configuration bits (y = 0..15)
78488            #[inline(always)]
78489            pub fn moder10(&self) -> MODER10_R {
78490                MODER10_R::new(((self.bits >> 20) & 0x03) as u8)
78491            }
78492            ///Bits 18:19 - Port x configuration bits (y = 0..15)
78493            #[inline(always)]
78494            pub fn moder9(&self) -> MODER9_R {
78495                MODER9_R::new(((self.bits >> 18) & 0x03) as u8)
78496            }
78497            ///Bits 16:17 - Port x configuration bits (y = 0..15)
78498            #[inline(always)]
78499            pub fn moder8(&self) -> MODER8_R {
78500                MODER8_R::new(((self.bits >> 16) & 0x03) as u8)
78501            }
78502            ///Bits 14:15 - Port x configuration bits (y = 0..15)
78503            #[inline(always)]
78504            pub fn moder7(&self) -> MODER7_R {
78505                MODER7_R::new(((self.bits >> 14) & 0x03) as u8)
78506            }
78507            ///Bits 12:13 - Port x configuration bits (y = 0..15)
78508            #[inline(always)]
78509            pub fn moder6(&self) -> MODER6_R {
78510                MODER6_R::new(((self.bits >> 12) & 0x03) as u8)
78511            }
78512            ///Bits 10:11 - Port x configuration bits (y = 0..15)
78513            #[inline(always)]
78514            pub fn moder5(&self) -> MODER5_R {
78515                MODER5_R::new(((self.bits >> 10) & 0x03) as u8)
78516            }
78517            ///Bits 8:9 - Port x configuration bits (y = 0..15)
78518            #[inline(always)]
78519            pub fn moder4(&self) -> MODER4_R {
78520                MODER4_R::new(((self.bits >> 8) & 0x03) as u8)
78521            }
78522            ///Bits 6:7 - Port x configuration bits (y = 0..15)
78523            #[inline(always)]
78524            pub fn moder3(&self) -> MODER3_R {
78525                MODER3_R::new(((self.bits >> 6) & 0x03) as u8)
78526            }
78527            ///Bits 4:5 - Port x configuration bits (y = 0..15)
78528            #[inline(always)]
78529            pub fn moder2(&self) -> MODER2_R {
78530                MODER2_R::new(((self.bits >> 4) & 0x03) as u8)
78531            }
78532            ///Bits 2:3 - Port x configuration bits (y = 0..15)
78533            #[inline(always)]
78534            pub fn moder1(&self) -> MODER1_R {
78535                MODER1_R::new(((self.bits >> 2) & 0x03) as u8)
78536            }
78537            ///Bits 0:1 - Port x configuration bits (y = 0..15)
78538            #[inline(always)]
78539            pub fn moder0(&self) -> MODER0_R {
78540                MODER0_R::new((self.bits & 0x03) as u8)
78541            }
78542        }
78543        impl W {
78544            ///Bits 30:31 - Port x configuration bits (y = 0..15)
78545            #[inline(always)]
78546            pub fn moder15(&mut self) -> MODER15_W {
78547                MODER15_W { w: self }
78548            }
78549            ///Bits 28:29 - Port x configuration bits (y = 0..15)
78550            #[inline(always)]
78551            pub fn moder14(&mut self) -> MODER14_W {
78552                MODER14_W { w: self }
78553            }
78554            ///Bits 26:27 - Port x configuration bits (y = 0..15)
78555            #[inline(always)]
78556            pub fn moder13(&mut self) -> MODER13_W {
78557                MODER13_W { w: self }
78558            }
78559            ///Bits 24:25 - Port x configuration bits (y = 0..15)
78560            #[inline(always)]
78561            pub fn moder12(&mut self) -> MODER12_W {
78562                MODER12_W { w: self }
78563            }
78564            ///Bits 22:23 - Port x configuration bits (y = 0..15)
78565            #[inline(always)]
78566            pub fn moder11(&mut self) -> MODER11_W {
78567                MODER11_W { w: self }
78568            }
78569            ///Bits 20:21 - Port x configuration bits (y = 0..15)
78570            #[inline(always)]
78571            pub fn moder10(&mut self) -> MODER10_W {
78572                MODER10_W { w: self }
78573            }
78574            ///Bits 18:19 - Port x configuration bits (y = 0..15)
78575            #[inline(always)]
78576            pub fn moder9(&mut self) -> MODER9_W {
78577                MODER9_W { w: self }
78578            }
78579            ///Bits 16:17 - Port x configuration bits (y = 0..15)
78580            #[inline(always)]
78581            pub fn moder8(&mut self) -> MODER8_W {
78582                MODER8_W { w: self }
78583            }
78584            ///Bits 14:15 - Port x configuration bits (y = 0..15)
78585            #[inline(always)]
78586            pub fn moder7(&mut self) -> MODER7_W {
78587                MODER7_W { w: self }
78588            }
78589            ///Bits 12:13 - Port x configuration bits (y = 0..15)
78590            #[inline(always)]
78591            pub fn moder6(&mut self) -> MODER6_W {
78592                MODER6_W { w: self }
78593            }
78594            ///Bits 10:11 - Port x configuration bits (y = 0..15)
78595            #[inline(always)]
78596            pub fn moder5(&mut self) -> MODER5_W {
78597                MODER5_W { w: self }
78598            }
78599            ///Bits 8:9 - Port x configuration bits (y = 0..15)
78600            #[inline(always)]
78601            pub fn moder4(&mut self) -> MODER4_W {
78602                MODER4_W { w: self }
78603            }
78604            ///Bits 6:7 - Port x configuration bits (y = 0..15)
78605            #[inline(always)]
78606            pub fn moder3(&mut self) -> MODER3_W {
78607                MODER3_W { w: self }
78608            }
78609            ///Bits 4:5 - Port x configuration bits (y = 0..15)
78610            #[inline(always)]
78611            pub fn moder2(&mut self) -> MODER2_W {
78612                MODER2_W { w: self }
78613            }
78614            ///Bits 2:3 - Port x configuration bits (y = 0..15)
78615            #[inline(always)]
78616            pub fn moder1(&mut self) -> MODER1_W {
78617                MODER1_W { w: self }
78618            }
78619            ///Bits 0:1 - Port x configuration bits (y = 0..15)
78620            #[inline(always)]
78621            pub fn moder0(&mut self) -> MODER0_W {
78622                MODER0_W { w: self }
78623            }
78624        }
78625    }
78626    ///GPIO port output type register
78627    ///
78628    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
78629    ///
78630    ///For information about available fields see [otyper](otyper) module
78631    pub type OTYPER = crate::Reg<u32, _OTYPER>;
78632    #[allow(missing_docs)]
78633    #[doc(hidden)]
78634    pub struct _OTYPER;
78635    ///`read()` method returns [otyper::R](otyper::R) reader structure
78636    impl crate::Readable for OTYPER {}
78637    ///`write(|w| ..)` method takes [otyper::W](otyper::W) writer structure
78638    impl crate::Writable for OTYPER {}
78639    ///GPIO port output type register
78640    pub mod otyper {
78641        ///Reader of register OTYPER
78642        pub type R = crate::R<u32, super::OTYPER>;
78643        ///Writer for register OTYPER
78644        pub type W = crate::W<u32, super::OTYPER>;
78645        ///Register OTYPER `reset()`'s with value 0
78646        impl crate::ResetValue for super::OTYPER {
78647            type Type = u32;
78648            #[inline(always)]
78649            fn reset_value() -> Self::Type {
78650                0
78651            }
78652        }
78653        ///Reader of field `OT15`
78654        pub type OT15_R = crate::R<bool, bool>;
78655        ///Write proxy for field `OT15`
78656        pub struct OT15_W<'a> {
78657            w: &'a mut W,
78658        }
78659        impl<'a> OT15_W<'a> {
78660            ///Sets the field bit
78661            #[inline(always)]
78662            pub fn set_bit(self) -> &'a mut W {
78663                self.bit(true)
78664            }
78665            ///Clears the field bit
78666            #[inline(always)]
78667            pub fn clear_bit(self) -> &'a mut W {
78668                self.bit(false)
78669            }
78670            ///Writes raw bits to the field
78671            #[inline(always)]
78672            pub fn bit(self, value: bool) -> &'a mut W {
78673                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
78674                self.w
78675            }
78676        }
78677        ///Reader of field `OT14`
78678        pub type OT14_R = crate::R<bool, bool>;
78679        ///Write proxy for field `OT14`
78680        pub struct OT14_W<'a> {
78681            w: &'a mut W,
78682        }
78683        impl<'a> OT14_W<'a> {
78684            ///Sets the field bit
78685            #[inline(always)]
78686            pub fn set_bit(self) -> &'a mut W {
78687                self.bit(true)
78688            }
78689            ///Clears the field bit
78690            #[inline(always)]
78691            pub fn clear_bit(self) -> &'a mut W {
78692                self.bit(false)
78693            }
78694            ///Writes raw bits to the field
78695            #[inline(always)]
78696            pub fn bit(self, value: bool) -> &'a mut W {
78697                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
78698                self.w
78699            }
78700        }
78701        ///Reader of field `OT13`
78702        pub type OT13_R = crate::R<bool, bool>;
78703        ///Write proxy for field `OT13`
78704        pub struct OT13_W<'a> {
78705            w: &'a mut W,
78706        }
78707        impl<'a> OT13_W<'a> {
78708            ///Sets the field bit
78709            #[inline(always)]
78710            pub fn set_bit(self) -> &'a mut W {
78711                self.bit(true)
78712            }
78713            ///Clears the field bit
78714            #[inline(always)]
78715            pub fn clear_bit(self) -> &'a mut W {
78716                self.bit(false)
78717            }
78718            ///Writes raw bits to the field
78719            #[inline(always)]
78720            pub fn bit(self, value: bool) -> &'a mut W {
78721                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
78722                self.w
78723            }
78724        }
78725        ///Reader of field `OT12`
78726        pub type OT12_R = crate::R<bool, bool>;
78727        ///Write proxy for field `OT12`
78728        pub struct OT12_W<'a> {
78729            w: &'a mut W,
78730        }
78731        impl<'a> OT12_W<'a> {
78732            ///Sets the field bit
78733            #[inline(always)]
78734            pub fn set_bit(self) -> &'a mut W {
78735                self.bit(true)
78736            }
78737            ///Clears the field bit
78738            #[inline(always)]
78739            pub fn clear_bit(self) -> &'a mut W {
78740                self.bit(false)
78741            }
78742            ///Writes raw bits to the field
78743            #[inline(always)]
78744            pub fn bit(self, value: bool) -> &'a mut W {
78745                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
78746                self.w
78747            }
78748        }
78749        ///Reader of field `OT11`
78750        pub type OT11_R = crate::R<bool, bool>;
78751        ///Write proxy for field `OT11`
78752        pub struct OT11_W<'a> {
78753            w: &'a mut W,
78754        }
78755        impl<'a> OT11_W<'a> {
78756            ///Sets the field bit
78757            #[inline(always)]
78758            pub fn set_bit(self) -> &'a mut W {
78759                self.bit(true)
78760            }
78761            ///Clears the field bit
78762            #[inline(always)]
78763            pub fn clear_bit(self) -> &'a mut W {
78764                self.bit(false)
78765            }
78766            ///Writes raw bits to the field
78767            #[inline(always)]
78768            pub fn bit(self, value: bool) -> &'a mut W {
78769                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
78770                self.w
78771            }
78772        }
78773        ///Reader of field `OT10`
78774        pub type OT10_R = crate::R<bool, bool>;
78775        ///Write proxy for field `OT10`
78776        pub struct OT10_W<'a> {
78777            w: &'a mut W,
78778        }
78779        impl<'a> OT10_W<'a> {
78780            ///Sets the field bit
78781            #[inline(always)]
78782            pub fn set_bit(self) -> &'a mut W {
78783                self.bit(true)
78784            }
78785            ///Clears the field bit
78786            #[inline(always)]
78787            pub fn clear_bit(self) -> &'a mut W {
78788                self.bit(false)
78789            }
78790            ///Writes raw bits to the field
78791            #[inline(always)]
78792            pub fn bit(self, value: bool) -> &'a mut W {
78793                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
78794                self.w
78795            }
78796        }
78797        ///Reader of field `OT9`
78798        pub type OT9_R = crate::R<bool, bool>;
78799        ///Write proxy for field `OT9`
78800        pub struct OT9_W<'a> {
78801            w: &'a mut W,
78802        }
78803        impl<'a> OT9_W<'a> {
78804            ///Sets the field bit
78805            #[inline(always)]
78806            pub fn set_bit(self) -> &'a mut W {
78807                self.bit(true)
78808            }
78809            ///Clears the field bit
78810            #[inline(always)]
78811            pub fn clear_bit(self) -> &'a mut W {
78812                self.bit(false)
78813            }
78814            ///Writes raw bits to the field
78815            #[inline(always)]
78816            pub fn bit(self, value: bool) -> &'a mut W {
78817                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
78818                self.w
78819            }
78820        }
78821        ///Reader of field `OT8`
78822        pub type OT8_R = crate::R<bool, bool>;
78823        ///Write proxy for field `OT8`
78824        pub struct OT8_W<'a> {
78825            w: &'a mut W,
78826        }
78827        impl<'a> OT8_W<'a> {
78828            ///Sets the field bit
78829            #[inline(always)]
78830            pub fn set_bit(self) -> &'a mut W {
78831                self.bit(true)
78832            }
78833            ///Clears the field bit
78834            #[inline(always)]
78835            pub fn clear_bit(self) -> &'a mut W {
78836                self.bit(false)
78837            }
78838            ///Writes raw bits to the field
78839            #[inline(always)]
78840            pub fn bit(self, value: bool) -> &'a mut W {
78841                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
78842                self.w
78843            }
78844        }
78845        ///Reader of field `OT7`
78846        pub type OT7_R = crate::R<bool, bool>;
78847        ///Write proxy for field `OT7`
78848        pub struct OT7_W<'a> {
78849            w: &'a mut W,
78850        }
78851        impl<'a> OT7_W<'a> {
78852            ///Sets the field bit
78853            #[inline(always)]
78854            pub fn set_bit(self) -> &'a mut W {
78855                self.bit(true)
78856            }
78857            ///Clears the field bit
78858            #[inline(always)]
78859            pub fn clear_bit(self) -> &'a mut W {
78860                self.bit(false)
78861            }
78862            ///Writes raw bits to the field
78863            #[inline(always)]
78864            pub fn bit(self, value: bool) -> &'a mut W {
78865                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
78866                self.w
78867            }
78868        }
78869        ///Reader of field `OT6`
78870        pub type OT6_R = crate::R<bool, bool>;
78871        ///Write proxy for field `OT6`
78872        pub struct OT6_W<'a> {
78873            w: &'a mut W,
78874        }
78875        impl<'a> OT6_W<'a> {
78876            ///Sets the field bit
78877            #[inline(always)]
78878            pub fn set_bit(self) -> &'a mut W {
78879                self.bit(true)
78880            }
78881            ///Clears the field bit
78882            #[inline(always)]
78883            pub fn clear_bit(self) -> &'a mut W {
78884                self.bit(false)
78885            }
78886            ///Writes raw bits to the field
78887            #[inline(always)]
78888            pub fn bit(self, value: bool) -> &'a mut W {
78889                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
78890                self.w
78891            }
78892        }
78893        ///Reader of field `OT5`
78894        pub type OT5_R = crate::R<bool, bool>;
78895        ///Write proxy for field `OT5`
78896        pub struct OT5_W<'a> {
78897            w: &'a mut W,
78898        }
78899        impl<'a> OT5_W<'a> {
78900            ///Sets the field bit
78901            #[inline(always)]
78902            pub fn set_bit(self) -> &'a mut W {
78903                self.bit(true)
78904            }
78905            ///Clears the field bit
78906            #[inline(always)]
78907            pub fn clear_bit(self) -> &'a mut W {
78908                self.bit(false)
78909            }
78910            ///Writes raw bits to the field
78911            #[inline(always)]
78912            pub fn bit(self, value: bool) -> &'a mut W {
78913                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
78914                self.w
78915            }
78916        }
78917        ///Reader of field `OT4`
78918        pub type OT4_R = crate::R<bool, bool>;
78919        ///Write proxy for field `OT4`
78920        pub struct OT4_W<'a> {
78921            w: &'a mut W,
78922        }
78923        impl<'a> OT4_W<'a> {
78924            ///Sets the field bit
78925            #[inline(always)]
78926            pub fn set_bit(self) -> &'a mut W {
78927                self.bit(true)
78928            }
78929            ///Clears the field bit
78930            #[inline(always)]
78931            pub fn clear_bit(self) -> &'a mut W {
78932                self.bit(false)
78933            }
78934            ///Writes raw bits to the field
78935            #[inline(always)]
78936            pub fn bit(self, value: bool) -> &'a mut W {
78937                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
78938                self.w
78939            }
78940        }
78941        ///Reader of field `OT3`
78942        pub type OT3_R = crate::R<bool, bool>;
78943        ///Write proxy for field `OT3`
78944        pub struct OT3_W<'a> {
78945            w: &'a mut W,
78946        }
78947        impl<'a> OT3_W<'a> {
78948            ///Sets the field bit
78949            #[inline(always)]
78950            pub fn set_bit(self) -> &'a mut W {
78951                self.bit(true)
78952            }
78953            ///Clears the field bit
78954            #[inline(always)]
78955            pub fn clear_bit(self) -> &'a mut W {
78956                self.bit(false)
78957            }
78958            ///Writes raw bits to the field
78959            #[inline(always)]
78960            pub fn bit(self, value: bool) -> &'a mut W {
78961                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
78962                self.w
78963            }
78964        }
78965        ///Reader of field `OT2`
78966        pub type OT2_R = crate::R<bool, bool>;
78967        ///Write proxy for field `OT2`
78968        pub struct OT2_W<'a> {
78969            w: &'a mut W,
78970        }
78971        impl<'a> OT2_W<'a> {
78972            ///Sets the field bit
78973            #[inline(always)]
78974            pub fn set_bit(self) -> &'a mut W {
78975                self.bit(true)
78976            }
78977            ///Clears the field bit
78978            #[inline(always)]
78979            pub fn clear_bit(self) -> &'a mut W {
78980                self.bit(false)
78981            }
78982            ///Writes raw bits to the field
78983            #[inline(always)]
78984            pub fn bit(self, value: bool) -> &'a mut W {
78985                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
78986                self.w
78987            }
78988        }
78989        ///Reader of field `OT1`
78990        pub type OT1_R = crate::R<bool, bool>;
78991        ///Write proxy for field `OT1`
78992        pub struct OT1_W<'a> {
78993            w: &'a mut W,
78994        }
78995        impl<'a> OT1_W<'a> {
78996            ///Sets the field bit
78997            #[inline(always)]
78998            pub fn set_bit(self) -> &'a mut W {
78999                self.bit(true)
79000            }
79001            ///Clears the field bit
79002            #[inline(always)]
79003            pub fn clear_bit(self) -> &'a mut W {
79004                self.bit(false)
79005            }
79006            ///Writes raw bits to the field
79007            #[inline(always)]
79008            pub fn bit(self, value: bool) -> &'a mut W {
79009                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
79010                self.w
79011            }
79012        }
79013        ///Reader of field `OT0`
79014        pub type OT0_R = crate::R<bool, bool>;
79015        ///Write proxy for field `OT0`
79016        pub struct OT0_W<'a> {
79017            w: &'a mut W,
79018        }
79019        impl<'a> OT0_W<'a> {
79020            ///Sets the field bit
79021            #[inline(always)]
79022            pub fn set_bit(self) -> &'a mut W {
79023                self.bit(true)
79024            }
79025            ///Clears the field bit
79026            #[inline(always)]
79027            pub fn clear_bit(self) -> &'a mut W {
79028                self.bit(false)
79029            }
79030            ///Writes raw bits to the field
79031            #[inline(always)]
79032            pub fn bit(self, value: bool) -> &'a mut W {
79033                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
79034                self.w
79035            }
79036        }
79037        impl R {
79038            ///Bit 15 - Port x configuration bits (y = 0..15)
79039            #[inline(always)]
79040            pub fn ot15(&self) -> OT15_R {
79041                OT15_R::new(((self.bits >> 15) & 0x01) != 0)
79042            }
79043            ///Bit 14 - Port x configuration bits (y = 0..15)
79044            #[inline(always)]
79045            pub fn ot14(&self) -> OT14_R {
79046                OT14_R::new(((self.bits >> 14) & 0x01) != 0)
79047            }
79048            ///Bit 13 - Port x configuration bits (y = 0..15)
79049            #[inline(always)]
79050            pub fn ot13(&self) -> OT13_R {
79051                OT13_R::new(((self.bits >> 13) & 0x01) != 0)
79052            }
79053            ///Bit 12 - Port x configuration bits (y = 0..15)
79054            #[inline(always)]
79055            pub fn ot12(&self) -> OT12_R {
79056                OT12_R::new(((self.bits >> 12) & 0x01) != 0)
79057            }
79058            ///Bit 11 - Port x configuration bits (y = 0..15)
79059            #[inline(always)]
79060            pub fn ot11(&self) -> OT11_R {
79061                OT11_R::new(((self.bits >> 11) & 0x01) != 0)
79062            }
79063            ///Bit 10 - Port x configuration bits (y = 0..15)
79064            #[inline(always)]
79065            pub fn ot10(&self) -> OT10_R {
79066                OT10_R::new(((self.bits >> 10) & 0x01) != 0)
79067            }
79068            ///Bit 9 - Port x configuration bits (y = 0..15)
79069            #[inline(always)]
79070            pub fn ot9(&self) -> OT9_R {
79071                OT9_R::new(((self.bits >> 9) & 0x01) != 0)
79072            }
79073            ///Bit 8 - Port x configuration bits (y = 0..15)
79074            #[inline(always)]
79075            pub fn ot8(&self) -> OT8_R {
79076                OT8_R::new(((self.bits >> 8) & 0x01) != 0)
79077            }
79078            ///Bit 7 - Port x configuration bits (y = 0..15)
79079            #[inline(always)]
79080            pub fn ot7(&self) -> OT7_R {
79081                OT7_R::new(((self.bits >> 7) & 0x01) != 0)
79082            }
79083            ///Bit 6 - Port x configuration bits (y = 0..15)
79084            #[inline(always)]
79085            pub fn ot6(&self) -> OT6_R {
79086                OT6_R::new(((self.bits >> 6) & 0x01) != 0)
79087            }
79088            ///Bit 5 - Port x configuration bits (y = 0..15)
79089            #[inline(always)]
79090            pub fn ot5(&self) -> OT5_R {
79091                OT5_R::new(((self.bits >> 5) & 0x01) != 0)
79092            }
79093            ///Bit 4 - Port x configuration bits (y = 0..15)
79094            #[inline(always)]
79095            pub fn ot4(&self) -> OT4_R {
79096                OT4_R::new(((self.bits >> 4) & 0x01) != 0)
79097            }
79098            ///Bit 3 - Port x configuration bits (y = 0..15)
79099            #[inline(always)]
79100            pub fn ot3(&self) -> OT3_R {
79101                OT3_R::new(((self.bits >> 3) & 0x01) != 0)
79102            }
79103            ///Bit 2 - Port x configuration bits (y = 0..15)
79104            #[inline(always)]
79105            pub fn ot2(&self) -> OT2_R {
79106                OT2_R::new(((self.bits >> 2) & 0x01) != 0)
79107            }
79108            ///Bit 1 - Port x configuration bits (y = 0..15)
79109            #[inline(always)]
79110            pub fn ot1(&self) -> OT1_R {
79111                OT1_R::new(((self.bits >> 1) & 0x01) != 0)
79112            }
79113            ///Bit 0 - Port x configuration bits (y = 0..15)
79114            #[inline(always)]
79115            pub fn ot0(&self) -> OT0_R {
79116                OT0_R::new((self.bits & 0x01) != 0)
79117            }
79118        }
79119        impl W {
79120            ///Bit 15 - Port x configuration bits (y = 0..15)
79121            #[inline(always)]
79122            pub fn ot15(&mut self) -> OT15_W {
79123                OT15_W { w: self }
79124            }
79125            ///Bit 14 - Port x configuration bits (y = 0..15)
79126            #[inline(always)]
79127            pub fn ot14(&mut self) -> OT14_W {
79128                OT14_W { w: self }
79129            }
79130            ///Bit 13 - Port x configuration bits (y = 0..15)
79131            #[inline(always)]
79132            pub fn ot13(&mut self) -> OT13_W {
79133                OT13_W { w: self }
79134            }
79135            ///Bit 12 - Port x configuration bits (y = 0..15)
79136            #[inline(always)]
79137            pub fn ot12(&mut self) -> OT12_W {
79138                OT12_W { w: self }
79139            }
79140            ///Bit 11 - Port x configuration bits (y = 0..15)
79141            #[inline(always)]
79142            pub fn ot11(&mut self) -> OT11_W {
79143                OT11_W { w: self }
79144            }
79145            ///Bit 10 - Port x configuration bits (y = 0..15)
79146            #[inline(always)]
79147            pub fn ot10(&mut self) -> OT10_W {
79148                OT10_W { w: self }
79149            }
79150            ///Bit 9 - Port x configuration bits (y = 0..15)
79151            #[inline(always)]
79152            pub fn ot9(&mut self) -> OT9_W {
79153                OT9_W { w: self }
79154            }
79155            ///Bit 8 - Port x configuration bits (y = 0..15)
79156            #[inline(always)]
79157            pub fn ot8(&mut self) -> OT8_W {
79158                OT8_W { w: self }
79159            }
79160            ///Bit 7 - Port x configuration bits (y = 0..15)
79161            #[inline(always)]
79162            pub fn ot7(&mut self) -> OT7_W {
79163                OT7_W { w: self }
79164            }
79165            ///Bit 6 - Port x configuration bits (y = 0..15)
79166            #[inline(always)]
79167            pub fn ot6(&mut self) -> OT6_W {
79168                OT6_W { w: self }
79169            }
79170            ///Bit 5 - Port x configuration bits (y = 0..15)
79171            #[inline(always)]
79172            pub fn ot5(&mut self) -> OT5_W {
79173                OT5_W { w: self }
79174            }
79175            ///Bit 4 - Port x configuration bits (y = 0..15)
79176            #[inline(always)]
79177            pub fn ot4(&mut self) -> OT4_W {
79178                OT4_W { w: self }
79179            }
79180            ///Bit 3 - Port x configuration bits (y = 0..15)
79181            #[inline(always)]
79182            pub fn ot3(&mut self) -> OT3_W {
79183                OT3_W { w: self }
79184            }
79185            ///Bit 2 - Port x configuration bits (y = 0..15)
79186            #[inline(always)]
79187            pub fn ot2(&mut self) -> OT2_W {
79188                OT2_W { w: self }
79189            }
79190            ///Bit 1 - Port x configuration bits (y = 0..15)
79191            #[inline(always)]
79192            pub fn ot1(&mut self) -> OT1_W {
79193                OT1_W { w: self }
79194            }
79195            ///Bit 0 - Port x configuration bits (y = 0..15)
79196            #[inline(always)]
79197            pub fn ot0(&mut self) -> OT0_W {
79198                OT0_W { w: self }
79199            }
79200        }
79201    }
79202    ///GPIO port output speed register
79203    ///
79204    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
79205    ///
79206    ///For information about available fields see [ospeedr](ospeedr) module
79207    pub type OSPEEDR = crate::Reg<u32, _OSPEEDR>;
79208    #[allow(missing_docs)]
79209    #[doc(hidden)]
79210    pub struct _OSPEEDR;
79211    ///`read()` method returns [ospeedr::R](ospeedr::R) reader structure
79212    impl crate::Readable for OSPEEDR {}
79213    ///`write(|w| ..)` method takes [ospeedr::W](ospeedr::W) writer structure
79214    impl crate::Writable for OSPEEDR {}
79215    ///GPIO port output speed register
79216    pub mod ospeedr {
79217        ///Reader of register OSPEEDR
79218        pub type R = crate::R<u32, super::OSPEEDR>;
79219        ///Writer for register OSPEEDR
79220        pub type W = crate::W<u32, super::OSPEEDR>;
79221        ///Register OSPEEDR `reset()`'s with value 0x0c00_0000
79222        impl crate::ResetValue for super::OSPEEDR {
79223            type Type = u32;
79224            #[inline(always)]
79225            fn reset_value() -> Self::Type {
79226                0x0c00_0000
79227            }
79228        }
79229        ///Reader of field `OSPEEDR15`
79230        pub type OSPEEDR15_R = crate::R<u8, u8>;
79231        ///Write proxy for field `OSPEEDR15`
79232        pub struct OSPEEDR15_W<'a> {
79233            w: &'a mut W,
79234        }
79235        impl<'a> OSPEEDR15_W<'a> {
79236            ///Writes raw bits to the field
79237            #[inline(always)]
79238            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79239                self.w.bits = (self.w.bits & !(0x03 << 30)) | (((value as u32) & 0x03) << 30);
79240                self.w
79241            }
79242        }
79243        ///Reader of field `OSPEEDR14`
79244        pub type OSPEEDR14_R = crate::R<u8, u8>;
79245        ///Write proxy for field `OSPEEDR14`
79246        pub struct OSPEEDR14_W<'a> {
79247            w: &'a mut W,
79248        }
79249        impl<'a> OSPEEDR14_W<'a> {
79250            ///Writes raw bits to the field
79251            #[inline(always)]
79252            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79253                self.w.bits = (self.w.bits & !(0x03 << 28)) | (((value as u32) & 0x03) << 28);
79254                self.w
79255            }
79256        }
79257        ///Reader of field `OSPEEDR13`
79258        pub type OSPEEDR13_R = crate::R<u8, u8>;
79259        ///Write proxy for field `OSPEEDR13`
79260        pub struct OSPEEDR13_W<'a> {
79261            w: &'a mut W,
79262        }
79263        impl<'a> OSPEEDR13_W<'a> {
79264            ///Writes raw bits to the field
79265            #[inline(always)]
79266            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79267                self.w.bits = (self.w.bits & !(0x03 << 26)) | (((value as u32) & 0x03) << 26);
79268                self.w
79269            }
79270        }
79271        ///Reader of field `OSPEEDR12`
79272        pub type OSPEEDR12_R = crate::R<u8, u8>;
79273        ///Write proxy for field `OSPEEDR12`
79274        pub struct OSPEEDR12_W<'a> {
79275            w: &'a mut W,
79276        }
79277        impl<'a> OSPEEDR12_W<'a> {
79278            ///Writes raw bits to the field
79279            #[inline(always)]
79280            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79281                self.w.bits = (self.w.bits & !(0x03 << 24)) | (((value as u32) & 0x03) << 24);
79282                self.w
79283            }
79284        }
79285        ///Reader of field `OSPEEDR11`
79286        pub type OSPEEDR11_R = crate::R<u8, u8>;
79287        ///Write proxy for field `OSPEEDR11`
79288        pub struct OSPEEDR11_W<'a> {
79289            w: &'a mut W,
79290        }
79291        impl<'a> OSPEEDR11_W<'a> {
79292            ///Writes raw bits to the field
79293            #[inline(always)]
79294            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79295                self.w.bits = (self.w.bits & !(0x03 << 22)) | (((value as u32) & 0x03) << 22);
79296                self.w
79297            }
79298        }
79299        ///Reader of field `OSPEEDR10`
79300        pub type OSPEEDR10_R = crate::R<u8, u8>;
79301        ///Write proxy for field `OSPEEDR10`
79302        pub struct OSPEEDR10_W<'a> {
79303            w: &'a mut W,
79304        }
79305        impl<'a> OSPEEDR10_W<'a> {
79306            ///Writes raw bits to the field
79307            #[inline(always)]
79308            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79309                self.w.bits = (self.w.bits & !(0x03 << 20)) | (((value as u32) & 0x03) << 20);
79310                self.w
79311            }
79312        }
79313        ///Reader of field `OSPEEDR9`
79314        pub type OSPEEDR9_R = crate::R<u8, u8>;
79315        ///Write proxy for field `OSPEEDR9`
79316        pub struct OSPEEDR9_W<'a> {
79317            w: &'a mut W,
79318        }
79319        impl<'a> OSPEEDR9_W<'a> {
79320            ///Writes raw bits to the field
79321            #[inline(always)]
79322            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79323                self.w.bits = (self.w.bits & !(0x03 << 18)) | (((value as u32) & 0x03) << 18);
79324                self.w
79325            }
79326        }
79327        ///Reader of field `OSPEEDR8`
79328        pub type OSPEEDR8_R = crate::R<u8, u8>;
79329        ///Write proxy for field `OSPEEDR8`
79330        pub struct OSPEEDR8_W<'a> {
79331            w: &'a mut W,
79332        }
79333        impl<'a> OSPEEDR8_W<'a> {
79334            ///Writes raw bits to the field
79335            #[inline(always)]
79336            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79337                self.w.bits = (self.w.bits & !(0x03 << 16)) | (((value as u32) & 0x03) << 16);
79338                self.w
79339            }
79340        }
79341        ///Reader of field `OSPEEDR7`
79342        pub type OSPEEDR7_R = crate::R<u8, u8>;
79343        ///Write proxy for field `OSPEEDR7`
79344        pub struct OSPEEDR7_W<'a> {
79345            w: &'a mut W,
79346        }
79347        impl<'a> OSPEEDR7_W<'a> {
79348            ///Writes raw bits to the field
79349            #[inline(always)]
79350            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79351                self.w.bits = (self.w.bits & !(0x03 << 14)) | (((value as u32) & 0x03) << 14);
79352                self.w
79353            }
79354        }
79355        ///Reader of field `OSPEEDR6`
79356        pub type OSPEEDR6_R = crate::R<u8, u8>;
79357        ///Write proxy for field `OSPEEDR6`
79358        pub struct OSPEEDR6_W<'a> {
79359            w: &'a mut W,
79360        }
79361        impl<'a> OSPEEDR6_W<'a> {
79362            ///Writes raw bits to the field
79363            #[inline(always)]
79364            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79365                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
79366                self.w
79367            }
79368        }
79369        ///Reader of field `OSPEEDR5`
79370        pub type OSPEEDR5_R = crate::R<u8, u8>;
79371        ///Write proxy for field `OSPEEDR5`
79372        pub struct OSPEEDR5_W<'a> {
79373            w: &'a mut W,
79374        }
79375        impl<'a> OSPEEDR5_W<'a> {
79376            ///Writes raw bits to the field
79377            #[inline(always)]
79378            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79379                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
79380                self.w
79381            }
79382        }
79383        ///Reader of field `OSPEEDR4`
79384        pub type OSPEEDR4_R = crate::R<u8, u8>;
79385        ///Write proxy for field `OSPEEDR4`
79386        pub struct OSPEEDR4_W<'a> {
79387            w: &'a mut W,
79388        }
79389        impl<'a> OSPEEDR4_W<'a> {
79390            ///Writes raw bits to the field
79391            #[inline(always)]
79392            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79393                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
79394                self.w
79395            }
79396        }
79397        ///Reader of field `OSPEEDR3`
79398        pub type OSPEEDR3_R = crate::R<u8, u8>;
79399        ///Write proxy for field `OSPEEDR3`
79400        pub struct OSPEEDR3_W<'a> {
79401            w: &'a mut W,
79402        }
79403        impl<'a> OSPEEDR3_W<'a> {
79404            ///Writes raw bits to the field
79405            #[inline(always)]
79406            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79407                self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
79408                self.w
79409            }
79410        }
79411        ///Reader of field `OSPEEDR2`
79412        pub type OSPEEDR2_R = crate::R<u8, u8>;
79413        ///Write proxy for field `OSPEEDR2`
79414        pub struct OSPEEDR2_W<'a> {
79415            w: &'a mut W,
79416        }
79417        impl<'a> OSPEEDR2_W<'a> {
79418            ///Writes raw bits to the field
79419            #[inline(always)]
79420            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79421                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u32) & 0x03) << 4);
79422                self.w
79423            }
79424        }
79425        ///Reader of field `OSPEEDR1`
79426        pub type OSPEEDR1_R = crate::R<u8, u8>;
79427        ///Write proxy for field `OSPEEDR1`
79428        pub struct OSPEEDR1_W<'a> {
79429            w: &'a mut W,
79430        }
79431        impl<'a> OSPEEDR1_W<'a> {
79432            ///Writes raw bits to the field
79433            #[inline(always)]
79434            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79435                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
79436                self.w
79437            }
79438        }
79439        ///Reader of field `OSPEEDR0`
79440        pub type OSPEEDR0_R = crate::R<u8, u8>;
79441        ///Write proxy for field `OSPEEDR0`
79442        pub struct OSPEEDR0_W<'a> {
79443            w: &'a mut W,
79444        }
79445        impl<'a> OSPEEDR0_W<'a> {
79446            ///Writes raw bits to the field
79447            #[inline(always)]
79448            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79449                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
79450                self.w
79451            }
79452        }
79453        impl R {
79454            ///Bits 30:31 - Port x configuration bits (y = 0..15)
79455            #[inline(always)]
79456            pub fn ospeedr15(&self) -> OSPEEDR15_R {
79457                OSPEEDR15_R::new(((self.bits >> 30) & 0x03) as u8)
79458            }
79459            ///Bits 28:29 - Port x configuration bits (y = 0..15)
79460            #[inline(always)]
79461            pub fn ospeedr14(&self) -> OSPEEDR14_R {
79462                OSPEEDR14_R::new(((self.bits >> 28) & 0x03) as u8)
79463            }
79464            ///Bits 26:27 - Port x configuration bits (y = 0..15)
79465            #[inline(always)]
79466            pub fn ospeedr13(&self) -> OSPEEDR13_R {
79467                OSPEEDR13_R::new(((self.bits >> 26) & 0x03) as u8)
79468            }
79469            ///Bits 24:25 - Port x configuration bits (y = 0..15)
79470            #[inline(always)]
79471            pub fn ospeedr12(&self) -> OSPEEDR12_R {
79472                OSPEEDR12_R::new(((self.bits >> 24) & 0x03) as u8)
79473            }
79474            ///Bits 22:23 - Port x configuration bits (y = 0..15)
79475            #[inline(always)]
79476            pub fn ospeedr11(&self) -> OSPEEDR11_R {
79477                OSPEEDR11_R::new(((self.bits >> 22) & 0x03) as u8)
79478            }
79479            ///Bits 20:21 - Port x configuration bits (y = 0..15)
79480            #[inline(always)]
79481            pub fn ospeedr10(&self) -> OSPEEDR10_R {
79482                OSPEEDR10_R::new(((self.bits >> 20) & 0x03) as u8)
79483            }
79484            ///Bits 18:19 - Port x configuration bits (y = 0..15)
79485            #[inline(always)]
79486            pub fn ospeedr9(&self) -> OSPEEDR9_R {
79487                OSPEEDR9_R::new(((self.bits >> 18) & 0x03) as u8)
79488            }
79489            ///Bits 16:17 - Port x configuration bits (y = 0..15)
79490            #[inline(always)]
79491            pub fn ospeedr8(&self) -> OSPEEDR8_R {
79492                OSPEEDR8_R::new(((self.bits >> 16) & 0x03) as u8)
79493            }
79494            ///Bits 14:15 - Port x configuration bits (y = 0..15)
79495            #[inline(always)]
79496            pub fn ospeedr7(&self) -> OSPEEDR7_R {
79497                OSPEEDR7_R::new(((self.bits >> 14) & 0x03) as u8)
79498            }
79499            ///Bits 12:13 - Port x configuration bits (y = 0..15)
79500            #[inline(always)]
79501            pub fn ospeedr6(&self) -> OSPEEDR6_R {
79502                OSPEEDR6_R::new(((self.bits >> 12) & 0x03) as u8)
79503            }
79504            ///Bits 10:11 - Port x configuration bits (y = 0..15)
79505            #[inline(always)]
79506            pub fn ospeedr5(&self) -> OSPEEDR5_R {
79507                OSPEEDR5_R::new(((self.bits >> 10) & 0x03) as u8)
79508            }
79509            ///Bits 8:9 - Port x configuration bits (y = 0..15)
79510            #[inline(always)]
79511            pub fn ospeedr4(&self) -> OSPEEDR4_R {
79512                OSPEEDR4_R::new(((self.bits >> 8) & 0x03) as u8)
79513            }
79514            ///Bits 6:7 - Port x configuration bits (y = 0..15)
79515            #[inline(always)]
79516            pub fn ospeedr3(&self) -> OSPEEDR3_R {
79517                OSPEEDR3_R::new(((self.bits >> 6) & 0x03) as u8)
79518            }
79519            ///Bits 4:5 - Port x configuration bits (y = 0..15)
79520            #[inline(always)]
79521            pub fn ospeedr2(&self) -> OSPEEDR2_R {
79522                OSPEEDR2_R::new(((self.bits >> 4) & 0x03) as u8)
79523            }
79524            ///Bits 2:3 - Port x configuration bits (y = 0..15)
79525            #[inline(always)]
79526            pub fn ospeedr1(&self) -> OSPEEDR1_R {
79527                OSPEEDR1_R::new(((self.bits >> 2) & 0x03) as u8)
79528            }
79529            ///Bits 0:1 - Port x configuration bits (y = 0..15)
79530            #[inline(always)]
79531            pub fn ospeedr0(&self) -> OSPEEDR0_R {
79532                OSPEEDR0_R::new((self.bits & 0x03) as u8)
79533            }
79534        }
79535        impl W {
79536            ///Bits 30:31 - Port x configuration bits (y = 0..15)
79537            #[inline(always)]
79538            pub fn ospeedr15(&mut self) -> OSPEEDR15_W {
79539                OSPEEDR15_W { w: self }
79540            }
79541            ///Bits 28:29 - Port x configuration bits (y = 0..15)
79542            #[inline(always)]
79543            pub fn ospeedr14(&mut self) -> OSPEEDR14_W {
79544                OSPEEDR14_W { w: self }
79545            }
79546            ///Bits 26:27 - Port x configuration bits (y = 0..15)
79547            #[inline(always)]
79548            pub fn ospeedr13(&mut self) -> OSPEEDR13_W {
79549                OSPEEDR13_W { w: self }
79550            }
79551            ///Bits 24:25 - Port x configuration bits (y = 0..15)
79552            #[inline(always)]
79553            pub fn ospeedr12(&mut self) -> OSPEEDR12_W {
79554                OSPEEDR12_W { w: self }
79555            }
79556            ///Bits 22:23 - Port x configuration bits (y = 0..15)
79557            #[inline(always)]
79558            pub fn ospeedr11(&mut self) -> OSPEEDR11_W {
79559                OSPEEDR11_W { w: self }
79560            }
79561            ///Bits 20:21 - Port x configuration bits (y = 0..15)
79562            #[inline(always)]
79563            pub fn ospeedr10(&mut self) -> OSPEEDR10_W {
79564                OSPEEDR10_W { w: self }
79565            }
79566            ///Bits 18:19 - Port x configuration bits (y = 0..15)
79567            #[inline(always)]
79568            pub fn ospeedr9(&mut self) -> OSPEEDR9_W {
79569                OSPEEDR9_W { w: self }
79570            }
79571            ///Bits 16:17 - Port x configuration bits (y = 0..15)
79572            #[inline(always)]
79573            pub fn ospeedr8(&mut self) -> OSPEEDR8_W {
79574                OSPEEDR8_W { w: self }
79575            }
79576            ///Bits 14:15 - Port x configuration bits (y = 0..15)
79577            #[inline(always)]
79578            pub fn ospeedr7(&mut self) -> OSPEEDR7_W {
79579                OSPEEDR7_W { w: self }
79580            }
79581            ///Bits 12:13 - Port x configuration bits (y = 0..15)
79582            #[inline(always)]
79583            pub fn ospeedr6(&mut self) -> OSPEEDR6_W {
79584                OSPEEDR6_W { w: self }
79585            }
79586            ///Bits 10:11 - Port x configuration bits (y = 0..15)
79587            #[inline(always)]
79588            pub fn ospeedr5(&mut self) -> OSPEEDR5_W {
79589                OSPEEDR5_W { w: self }
79590            }
79591            ///Bits 8:9 - Port x configuration bits (y = 0..15)
79592            #[inline(always)]
79593            pub fn ospeedr4(&mut self) -> OSPEEDR4_W {
79594                OSPEEDR4_W { w: self }
79595            }
79596            ///Bits 6:7 - Port x configuration bits (y = 0..15)
79597            #[inline(always)]
79598            pub fn ospeedr3(&mut self) -> OSPEEDR3_W {
79599                OSPEEDR3_W { w: self }
79600            }
79601            ///Bits 4:5 - Port x configuration bits (y = 0..15)
79602            #[inline(always)]
79603            pub fn ospeedr2(&mut self) -> OSPEEDR2_W {
79604                OSPEEDR2_W { w: self }
79605            }
79606            ///Bits 2:3 - Port x configuration bits (y = 0..15)
79607            #[inline(always)]
79608            pub fn ospeedr1(&mut self) -> OSPEEDR1_W {
79609                OSPEEDR1_W { w: self }
79610            }
79611            ///Bits 0:1 - Port x configuration bits (y = 0..15)
79612            #[inline(always)]
79613            pub fn ospeedr0(&mut self) -> OSPEEDR0_W {
79614                OSPEEDR0_W { w: self }
79615            }
79616        }
79617    }
79618    ///GPIO port pull-up/pull-down register
79619    ///
79620    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
79621    ///
79622    ///For information about available fields see [pupdr](pupdr) module
79623    pub type PUPDR = crate::Reg<u32, _PUPDR>;
79624    #[allow(missing_docs)]
79625    #[doc(hidden)]
79626    pub struct _PUPDR;
79627    ///`read()` method returns [pupdr::R](pupdr::R) reader structure
79628    impl crate::Readable for PUPDR {}
79629    ///`write(|w| ..)` method takes [pupdr::W](pupdr::W) writer structure
79630    impl crate::Writable for PUPDR {}
79631    ///GPIO port pull-up/pull-down register
79632    pub mod pupdr {
79633        ///Reader of register PUPDR
79634        pub type R = crate::R<u32, super::PUPDR>;
79635        ///Writer for register PUPDR
79636        pub type W = crate::W<u32, super::PUPDR>;
79637        ///Register PUPDR `reset()`'s with value 0x6400_0000
79638        impl crate::ResetValue for super::PUPDR {
79639            type Type = u32;
79640            #[inline(always)]
79641            fn reset_value() -> Self::Type {
79642                0x6400_0000
79643            }
79644        }
79645        ///Reader of field `PUPDR15`
79646        pub type PUPDR15_R = crate::R<u8, u8>;
79647        ///Write proxy for field `PUPDR15`
79648        pub struct PUPDR15_W<'a> {
79649            w: &'a mut W,
79650        }
79651        impl<'a> PUPDR15_W<'a> {
79652            ///Writes raw bits to the field
79653            #[inline(always)]
79654            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79655                self.w.bits = (self.w.bits & !(0x03 << 30)) | (((value as u32) & 0x03) << 30);
79656                self.w
79657            }
79658        }
79659        ///Reader of field `PUPDR14`
79660        pub type PUPDR14_R = crate::R<u8, u8>;
79661        ///Write proxy for field `PUPDR14`
79662        pub struct PUPDR14_W<'a> {
79663            w: &'a mut W,
79664        }
79665        impl<'a> PUPDR14_W<'a> {
79666            ///Writes raw bits to the field
79667            #[inline(always)]
79668            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79669                self.w.bits = (self.w.bits & !(0x03 << 28)) | (((value as u32) & 0x03) << 28);
79670                self.w
79671            }
79672        }
79673        ///Reader of field `PUPDR13`
79674        pub type PUPDR13_R = crate::R<u8, u8>;
79675        ///Write proxy for field `PUPDR13`
79676        pub struct PUPDR13_W<'a> {
79677            w: &'a mut W,
79678        }
79679        impl<'a> PUPDR13_W<'a> {
79680            ///Writes raw bits to the field
79681            #[inline(always)]
79682            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79683                self.w.bits = (self.w.bits & !(0x03 << 26)) | (((value as u32) & 0x03) << 26);
79684                self.w
79685            }
79686        }
79687        ///Reader of field `PUPDR12`
79688        pub type PUPDR12_R = crate::R<u8, u8>;
79689        ///Write proxy for field `PUPDR12`
79690        pub struct PUPDR12_W<'a> {
79691            w: &'a mut W,
79692        }
79693        impl<'a> PUPDR12_W<'a> {
79694            ///Writes raw bits to the field
79695            #[inline(always)]
79696            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79697                self.w.bits = (self.w.bits & !(0x03 << 24)) | (((value as u32) & 0x03) << 24);
79698                self.w
79699            }
79700        }
79701        ///Reader of field `PUPDR11`
79702        pub type PUPDR11_R = crate::R<u8, u8>;
79703        ///Write proxy for field `PUPDR11`
79704        pub struct PUPDR11_W<'a> {
79705            w: &'a mut W,
79706        }
79707        impl<'a> PUPDR11_W<'a> {
79708            ///Writes raw bits to the field
79709            #[inline(always)]
79710            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79711                self.w.bits = (self.w.bits & !(0x03 << 22)) | (((value as u32) & 0x03) << 22);
79712                self.w
79713            }
79714        }
79715        ///Reader of field `PUPDR10`
79716        pub type PUPDR10_R = crate::R<u8, u8>;
79717        ///Write proxy for field `PUPDR10`
79718        pub struct PUPDR10_W<'a> {
79719            w: &'a mut W,
79720        }
79721        impl<'a> PUPDR10_W<'a> {
79722            ///Writes raw bits to the field
79723            #[inline(always)]
79724            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79725                self.w.bits = (self.w.bits & !(0x03 << 20)) | (((value as u32) & 0x03) << 20);
79726                self.w
79727            }
79728        }
79729        ///Reader of field `PUPDR9`
79730        pub type PUPDR9_R = crate::R<u8, u8>;
79731        ///Write proxy for field `PUPDR9`
79732        pub struct PUPDR9_W<'a> {
79733            w: &'a mut W,
79734        }
79735        impl<'a> PUPDR9_W<'a> {
79736            ///Writes raw bits to the field
79737            #[inline(always)]
79738            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79739                self.w.bits = (self.w.bits & !(0x03 << 18)) | (((value as u32) & 0x03) << 18);
79740                self.w
79741            }
79742        }
79743        ///Reader of field `PUPDR8`
79744        pub type PUPDR8_R = crate::R<u8, u8>;
79745        ///Write proxy for field `PUPDR8`
79746        pub struct PUPDR8_W<'a> {
79747            w: &'a mut W,
79748        }
79749        impl<'a> PUPDR8_W<'a> {
79750            ///Writes raw bits to the field
79751            #[inline(always)]
79752            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79753                self.w.bits = (self.w.bits & !(0x03 << 16)) | (((value as u32) & 0x03) << 16);
79754                self.w
79755            }
79756        }
79757        ///Reader of field `PUPDR7`
79758        pub type PUPDR7_R = crate::R<u8, u8>;
79759        ///Write proxy for field `PUPDR7`
79760        pub struct PUPDR7_W<'a> {
79761            w: &'a mut W,
79762        }
79763        impl<'a> PUPDR7_W<'a> {
79764            ///Writes raw bits to the field
79765            #[inline(always)]
79766            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79767                self.w.bits = (self.w.bits & !(0x03 << 14)) | (((value as u32) & 0x03) << 14);
79768                self.w
79769            }
79770        }
79771        ///Reader of field `PUPDR6`
79772        pub type PUPDR6_R = crate::R<u8, u8>;
79773        ///Write proxy for field `PUPDR6`
79774        pub struct PUPDR6_W<'a> {
79775            w: &'a mut W,
79776        }
79777        impl<'a> PUPDR6_W<'a> {
79778            ///Writes raw bits to the field
79779            #[inline(always)]
79780            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79781                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
79782                self.w
79783            }
79784        }
79785        ///Reader of field `PUPDR5`
79786        pub type PUPDR5_R = crate::R<u8, u8>;
79787        ///Write proxy for field `PUPDR5`
79788        pub struct PUPDR5_W<'a> {
79789            w: &'a mut W,
79790        }
79791        impl<'a> PUPDR5_W<'a> {
79792            ///Writes raw bits to the field
79793            #[inline(always)]
79794            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79795                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
79796                self.w
79797            }
79798        }
79799        ///Reader of field `PUPDR4`
79800        pub type PUPDR4_R = crate::R<u8, u8>;
79801        ///Write proxy for field `PUPDR4`
79802        pub struct PUPDR4_W<'a> {
79803            w: &'a mut W,
79804        }
79805        impl<'a> PUPDR4_W<'a> {
79806            ///Writes raw bits to the field
79807            #[inline(always)]
79808            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79809                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
79810                self.w
79811            }
79812        }
79813        ///Reader of field `PUPDR3`
79814        pub type PUPDR3_R = crate::R<u8, u8>;
79815        ///Write proxy for field `PUPDR3`
79816        pub struct PUPDR3_W<'a> {
79817            w: &'a mut W,
79818        }
79819        impl<'a> PUPDR3_W<'a> {
79820            ///Writes raw bits to the field
79821            #[inline(always)]
79822            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79823                self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
79824                self.w
79825            }
79826        }
79827        ///Reader of field `PUPDR2`
79828        pub type PUPDR2_R = crate::R<u8, u8>;
79829        ///Write proxy for field `PUPDR2`
79830        pub struct PUPDR2_W<'a> {
79831            w: &'a mut W,
79832        }
79833        impl<'a> PUPDR2_W<'a> {
79834            ///Writes raw bits to the field
79835            #[inline(always)]
79836            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79837                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u32) & 0x03) << 4);
79838                self.w
79839            }
79840        }
79841        ///Reader of field `PUPDR1`
79842        pub type PUPDR1_R = crate::R<u8, u8>;
79843        ///Write proxy for field `PUPDR1`
79844        pub struct PUPDR1_W<'a> {
79845            w: &'a mut W,
79846        }
79847        impl<'a> PUPDR1_W<'a> {
79848            ///Writes raw bits to the field
79849            #[inline(always)]
79850            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79851                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
79852                self.w
79853            }
79854        }
79855        ///Reader of field `PUPDR0`
79856        pub type PUPDR0_R = crate::R<u8, u8>;
79857        ///Write proxy for field `PUPDR0`
79858        pub struct PUPDR0_W<'a> {
79859            w: &'a mut W,
79860        }
79861        impl<'a> PUPDR0_W<'a> {
79862            ///Writes raw bits to the field
79863            #[inline(always)]
79864            pub unsafe fn bits(self, value: u8) -> &'a mut W {
79865                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
79866                self.w
79867            }
79868        }
79869        impl R {
79870            ///Bits 30:31 - Port x configuration bits (y = 0..15)
79871            #[inline(always)]
79872            pub fn pupdr15(&self) -> PUPDR15_R {
79873                PUPDR15_R::new(((self.bits >> 30) & 0x03) as u8)
79874            }
79875            ///Bits 28:29 - Port x configuration bits (y = 0..15)
79876            #[inline(always)]
79877            pub fn pupdr14(&self) -> PUPDR14_R {
79878                PUPDR14_R::new(((self.bits >> 28) & 0x03) as u8)
79879            }
79880            ///Bits 26:27 - Port x configuration bits (y = 0..15)
79881            #[inline(always)]
79882            pub fn pupdr13(&self) -> PUPDR13_R {
79883                PUPDR13_R::new(((self.bits >> 26) & 0x03) as u8)
79884            }
79885            ///Bits 24:25 - Port x configuration bits (y = 0..15)
79886            #[inline(always)]
79887            pub fn pupdr12(&self) -> PUPDR12_R {
79888                PUPDR12_R::new(((self.bits >> 24) & 0x03) as u8)
79889            }
79890            ///Bits 22:23 - Port x configuration bits (y = 0..15)
79891            #[inline(always)]
79892            pub fn pupdr11(&self) -> PUPDR11_R {
79893                PUPDR11_R::new(((self.bits >> 22) & 0x03) as u8)
79894            }
79895            ///Bits 20:21 - Port x configuration bits (y = 0..15)
79896            #[inline(always)]
79897            pub fn pupdr10(&self) -> PUPDR10_R {
79898                PUPDR10_R::new(((self.bits >> 20) & 0x03) as u8)
79899            }
79900            ///Bits 18:19 - Port x configuration bits (y = 0..15)
79901            #[inline(always)]
79902            pub fn pupdr9(&self) -> PUPDR9_R {
79903                PUPDR9_R::new(((self.bits >> 18) & 0x03) as u8)
79904            }
79905            ///Bits 16:17 - Port x configuration bits (y = 0..15)
79906            #[inline(always)]
79907            pub fn pupdr8(&self) -> PUPDR8_R {
79908                PUPDR8_R::new(((self.bits >> 16) & 0x03) as u8)
79909            }
79910            ///Bits 14:15 - Port x configuration bits (y = 0..15)
79911            #[inline(always)]
79912            pub fn pupdr7(&self) -> PUPDR7_R {
79913                PUPDR7_R::new(((self.bits >> 14) & 0x03) as u8)
79914            }
79915            ///Bits 12:13 - Port x configuration bits (y = 0..15)
79916            #[inline(always)]
79917            pub fn pupdr6(&self) -> PUPDR6_R {
79918                PUPDR6_R::new(((self.bits >> 12) & 0x03) as u8)
79919            }
79920            ///Bits 10:11 - Port x configuration bits (y = 0..15)
79921            #[inline(always)]
79922            pub fn pupdr5(&self) -> PUPDR5_R {
79923                PUPDR5_R::new(((self.bits >> 10) & 0x03) as u8)
79924            }
79925            ///Bits 8:9 - Port x configuration bits (y = 0..15)
79926            #[inline(always)]
79927            pub fn pupdr4(&self) -> PUPDR4_R {
79928                PUPDR4_R::new(((self.bits >> 8) & 0x03) as u8)
79929            }
79930            ///Bits 6:7 - Port x configuration bits (y = 0..15)
79931            #[inline(always)]
79932            pub fn pupdr3(&self) -> PUPDR3_R {
79933                PUPDR3_R::new(((self.bits >> 6) & 0x03) as u8)
79934            }
79935            ///Bits 4:5 - Port x configuration bits (y = 0..15)
79936            #[inline(always)]
79937            pub fn pupdr2(&self) -> PUPDR2_R {
79938                PUPDR2_R::new(((self.bits >> 4) & 0x03) as u8)
79939            }
79940            ///Bits 2:3 - Port x configuration bits (y = 0..15)
79941            #[inline(always)]
79942            pub fn pupdr1(&self) -> PUPDR1_R {
79943                PUPDR1_R::new(((self.bits >> 2) & 0x03) as u8)
79944            }
79945            ///Bits 0:1 - Port x configuration bits (y = 0..15)
79946            #[inline(always)]
79947            pub fn pupdr0(&self) -> PUPDR0_R {
79948                PUPDR0_R::new((self.bits & 0x03) as u8)
79949            }
79950        }
79951        impl W {
79952            ///Bits 30:31 - Port x configuration bits (y = 0..15)
79953            #[inline(always)]
79954            pub fn pupdr15(&mut self) -> PUPDR15_W {
79955                PUPDR15_W { w: self }
79956            }
79957            ///Bits 28:29 - Port x configuration bits (y = 0..15)
79958            #[inline(always)]
79959            pub fn pupdr14(&mut self) -> PUPDR14_W {
79960                PUPDR14_W { w: self }
79961            }
79962            ///Bits 26:27 - Port x configuration bits (y = 0..15)
79963            #[inline(always)]
79964            pub fn pupdr13(&mut self) -> PUPDR13_W {
79965                PUPDR13_W { w: self }
79966            }
79967            ///Bits 24:25 - Port x configuration bits (y = 0..15)
79968            #[inline(always)]
79969            pub fn pupdr12(&mut self) -> PUPDR12_W {
79970                PUPDR12_W { w: self }
79971            }
79972            ///Bits 22:23 - Port x configuration bits (y = 0..15)
79973            #[inline(always)]
79974            pub fn pupdr11(&mut self) -> PUPDR11_W {
79975                PUPDR11_W { w: self }
79976            }
79977            ///Bits 20:21 - Port x configuration bits (y = 0..15)
79978            #[inline(always)]
79979            pub fn pupdr10(&mut self) -> PUPDR10_W {
79980                PUPDR10_W { w: self }
79981            }
79982            ///Bits 18:19 - Port x configuration bits (y = 0..15)
79983            #[inline(always)]
79984            pub fn pupdr9(&mut self) -> PUPDR9_W {
79985                PUPDR9_W { w: self }
79986            }
79987            ///Bits 16:17 - Port x configuration bits (y = 0..15)
79988            #[inline(always)]
79989            pub fn pupdr8(&mut self) -> PUPDR8_W {
79990                PUPDR8_W { w: self }
79991            }
79992            ///Bits 14:15 - Port x configuration bits (y = 0..15)
79993            #[inline(always)]
79994            pub fn pupdr7(&mut self) -> PUPDR7_W {
79995                PUPDR7_W { w: self }
79996            }
79997            ///Bits 12:13 - Port x configuration bits (y = 0..15)
79998            #[inline(always)]
79999            pub fn pupdr6(&mut self) -> PUPDR6_W {
80000                PUPDR6_W { w: self }
80001            }
80002            ///Bits 10:11 - Port x configuration bits (y = 0..15)
80003            #[inline(always)]
80004            pub fn pupdr5(&mut self) -> PUPDR5_W {
80005                PUPDR5_W { w: self }
80006            }
80007            ///Bits 8:9 - Port x configuration bits (y = 0..15)
80008            #[inline(always)]
80009            pub fn pupdr4(&mut self) -> PUPDR4_W {
80010                PUPDR4_W { w: self }
80011            }
80012            ///Bits 6:7 - Port x configuration bits (y = 0..15)
80013            #[inline(always)]
80014            pub fn pupdr3(&mut self) -> PUPDR3_W {
80015                PUPDR3_W { w: self }
80016            }
80017            ///Bits 4:5 - Port x configuration bits (y = 0..15)
80018            #[inline(always)]
80019            pub fn pupdr2(&mut self) -> PUPDR2_W {
80020                PUPDR2_W { w: self }
80021            }
80022            ///Bits 2:3 - Port x configuration bits (y = 0..15)
80023            #[inline(always)]
80024            pub fn pupdr1(&mut self) -> PUPDR1_W {
80025                PUPDR1_W { w: self }
80026            }
80027            ///Bits 0:1 - Port x configuration bits (y = 0..15)
80028            #[inline(always)]
80029            pub fn pupdr0(&mut self) -> PUPDR0_W {
80030                PUPDR0_W { w: self }
80031            }
80032        }
80033    }
80034    ///GPIO port input data register
80035    ///
80036    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
80037    ///
80038    ///For information about available fields see [idr](idr) module
80039    pub type IDR = crate::Reg<u32, _IDR>;
80040    #[allow(missing_docs)]
80041    #[doc(hidden)]
80042    pub struct _IDR;
80043    ///`read()` method returns [idr::R](idr::R) reader structure
80044    impl crate::Readable for IDR {}
80045    ///GPIO port input data register
80046    pub mod idr {
80047        ///Reader of register IDR
80048        pub type R = crate::R<u32, super::IDR>;
80049        ///Reader of field `IDR15`
80050        pub type IDR15_R = crate::R<bool, bool>;
80051        ///Reader of field `IDR14`
80052        pub type IDR14_R = crate::R<bool, bool>;
80053        ///Reader of field `IDR13`
80054        pub type IDR13_R = crate::R<bool, bool>;
80055        ///Reader of field `IDR12`
80056        pub type IDR12_R = crate::R<bool, bool>;
80057        ///Reader of field `IDR11`
80058        pub type IDR11_R = crate::R<bool, bool>;
80059        ///Reader of field `IDR10`
80060        pub type IDR10_R = crate::R<bool, bool>;
80061        ///Reader of field `IDR9`
80062        pub type IDR9_R = crate::R<bool, bool>;
80063        ///Reader of field `IDR8`
80064        pub type IDR8_R = crate::R<bool, bool>;
80065        ///Reader of field `IDR7`
80066        pub type IDR7_R = crate::R<bool, bool>;
80067        ///Reader of field `IDR6`
80068        pub type IDR6_R = crate::R<bool, bool>;
80069        ///Reader of field `IDR5`
80070        pub type IDR5_R = crate::R<bool, bool>;
80071        ///Reader of field `IDR4`
80072        pub type IDR4_R = crate::R<bool, bool>;
80073        ///Reader of field `IDR3`
80074        pub type IDR3_R = crate::R<bool, bool>;
80075        ///Reader of field `IDR2`
80076        pub type IDR2_R = crate::R<bool, bool>;
80077        ///Reader of field `IDR1`
80078        pub type IDR1_R = crate::R<bool, bool>;
80079        ///Reader of field `IDR0`
80080        pub type IDR0_R = crate::R<bool, bool>;
80081        impl R {
80082            ///Bit 15 - Port input data (y = 0..15)
80083            #[inline(always)]
80084            pub fn idr15(&self) -> IDR15_R {
80085                IDR15_R::new(((self.bits >> 15) & 0x01) != 0)
80086            }
80087            ///Bit 14 - Port input data (y = 0..15)
80088            #[inline(always)]
80089            pub fn idr14(&self) -> IDR14_R {
80090                IDR14_R::new(((self.bits >> 14) & 0x01) != 0)
80091            }
80092            ///Bit 13 - Port input data (y = 0..15)
80093            #[inline(always)]
80094            pub fn idr13(&self) -> IDR13_R {
80095                IDR13_R::new(((self.bits >> 13) & 0x01) != 0)
80096            }
80097            ///Bit 12 - Port input data (y = 0..15)
80098            #[inline(always)]
80099            pub fn idr12(&self) -> IDR12_R {
80100                IDR12_R::new(((self.bits >> 12) & 0x01) != 0)
80101            }
80102            ///Bit 11 - Port input data (y = 0..15)
80103            #[inline(always)]
80104            pub fn idr11(&self) -> IDR11_R {
80105                IDR11_R::new(((self.bits >> 11) & 0x01) != 0)
80106            }
80107            ///Bit 10 - Port input data (y = 0..15)
80108            #[inline(always)]
80109            pub fn idr10(&self) -> IDR10_R {
80110                IDR10_R::new(((self.bits >> 10) & 0x01) != 0)
80111            }
80112            ///Bit 9 - Port input data (y = 0..15)
80113            #[inline(always)]
80114            pub fn idr9(&self) -> IDR9_R {
80115                IDR9_R::new(((self.bits >> 9) & 0x01) != 0)
80116            }
80117            ///Bit 8 - Port input data (y = 0..15)
80118            #[inline(always)]
80119            pub fn idr8(&self) -> IDR8_R {
80120                IDR8_R::new(((self.bits >> 8) & 0x01) != 0)
80121            }
80122            ///Bit 7 - Port input data (y = 0..15)
80123            #[inline(always)]
80124            pub fn idr7(&self) -> IDR7_R {
80125                IDR7_R::new(((self.bits >> 7) & 0x01) != 0)
80126            }
80127            ///Bit 6 - Port input data (y = 0..15)
80128            #[inline(always)]
80129            pub fn idr6(&self) -> IDR6_R {
80130                IDR6_R::new(((self.bits >> 6) & 0x01) != 0)
80131            }
80132            ///Bit 5 - Port input data (y = 0..15)
80133            #[inline(always)]
80134            pub fn idr5(&self) -> IDR5_R {
80135                IDR5_R::new(((self.bits >> 5) & 0x01) != 0)
80136            }
80137            ///Bit 4 - Port input data (y = 0..15)
80138            #[inline(always)]
80139            pub fn idr4(&self) -> IDR4_R {
80140                IDR4_R::new(((self.bits >> 4) & 0x01) != 0)
80141            }
80142            ///Bit 3 - Port input data (y = 0..15)
80143            #[inline(always)]
80144            pub fn idr3(&self) -> IDR3_R {
80145                IDR3_R::new(((self.bits >> 3) & 0x01) != 0)
80146            }
80147            ///Bit 2 - Port input data (y = 0..15)
80148            #[inline(always)]
80149            pub fn idr2(&self) -> IDR2_R {
80150                IDR2_R::new(((self.bits >> 2) & 0x01) != 0)
80151            }
80152            ///Bit 1 - Port input data (y = 0..15)
80153            #[inline(always)]
80154            pub fn idr1(&self) -> IDR1_R {
80155                IDR1_R::new(((self.bits >> 1) & 0x01) != 0)
80156            }
80157            ///Bit 0 - Port input data (y = 0..15)
80158            #[inline(always)]
80159            pub fn idr0(&self) -> IDR0_R {
80160                IDR0_R::new((self.bits & 0x01) != 0)
80161            }
80162        }
80163    }
80164    ///GPIO port output data register
80165    ///
80166    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
80167    ///
80168    ///For information about available fields see [odr](odr) module
80169    pub type ODR = crate::Reg<u32, _ODR>;
80170    #[allow(missing_docs)]
80171    #[doc(hidden)]
80172    pub struct _ODR;
80173    ///`read()` method returns [odr::R](odr::R) reader structure
80174    impl crate::Readable for ODR {}
80175    ///`write(|w| ..)` method takes [odr::W](odr::W) writer structure
80176    impl crate::Writable for ODR {}
80177    ///GPIO port output data register
80178    pub mod odr {
80179        ///Reader of register ODR
80180        pub type R = crate::R<u32, super::ODR>;
80181        ///Writer for register ODR
80182        pub type W = crate::W<u32, super::ODR>;
80183        ///Register ODR `reset()`'s with value 0
80184        impl crate::ResetValue for super::ODR {
80185            type Type = u32;
80186            #[inline(always)]
80187            fn reset_value() -> Self::Type {
80188                0
80189            }
80190        }
80191        ///Reader of field `ODR15`
80192        pub type ODR15_R = crate::R<bool, bool>;
80193        ///Write proxy for field `ODR15`
80194        pub struct ODR15_W<'a> {
80195            w: &'a mut W,
80196        }
80197        impl<'a> ODR15_W<'a> {
80198            ///Sets the field bit
80199            #[inline(always)]
80200            pub fn set_bit(self) -> &'a mut W {
80201                self.bit(true)
80202            }
80203            ///Clears the field bit
80204            #[inline(always)]
80205            pub fn clear_bit(self) -> &'a mut W {
80206                self.bit(false)
80207            }
80208            ///Writes raw bits to the field
80209            #[inline(always)]
80210            pub fn bit(self, value: bool) -> &'a mut W {
80211                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
80212                self.w
80213            }
80214        }
80215        ///Reader of field `ODR14`
80216        pub type ODR14_R = crate::R<bool, bool>;
80217        ///Write proxy for field `ODR14`
80218        pub struct ODR14_W<'a> {
80219            w: &'a mut W,
80220        }
80221        impl<'a> ODR14_W<'a> {
80222            ///Sets the field bit
80223            #[inline(always)]
80224            pub fn set_bit(self) -> &'a mut W {
80225                self.bit(true)
80226            }
80227            ///Clears the field bit
80228            #[inline(always)]
80229            pub fn clear_bit(self) -> &'a mut W {
80230                self.bit(false)
80231            }
80232            ///Writes raw bits to the field
80233            #[inline(always)]
80234            pub fn bit(self, value: bool) -> &'a mut W {
80235                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
80236                self.w
80237            }
80238        }
80239        ///Reader of field `ODR13`
80240        pub type ODR13_R = crate::R<bool, bool>;
80241        ///Write proxy for field `ODR13`
80242        pub struct ODR13_W<'a> {
80243            w: &'a mut W,
80244        }
80245        impl<'a> ODR13_W<'a> {
80246            ///Sets the field bit
80247            #[inline(always)]
80248            pub fn set_bit(self) -> &'a mut W {
80249                self.bit(true)
80250            }
80251            ///Clears the field bit
80252            #[inline(always)]
80253            pub fn clear_bit(self) -> &'a mut W {
80254                self.bit(false)
80255            }
80256            ///Writes raw bits to the field
80257            #[inline(always)]
80258            pub fn bit(self, value: bool) -> &'a mut W {
80259                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
80260                self.w
80261            }
80262        }
80263        ///Reader of field `ODR12`
80264        pub type ODR12_R = crate::R<bool, bool>;
80265        ///Write proxy for field `ODR12`
80266        pub struct ODR12_W<'a> {
80267            w: &'a mut W,
80268        }
80269        impl<'a> ODR12_W<'a> {
80270            ///Sets the field bit
80271            #[inline(always)]
80272            pub fn set_bit(self) -> &'a mut W {
80273                self.bit(true)
80274            }
80275            ///Clears the field bit
80276            #[inline(always)]
80277            pub fn clear_bit(self) -> &'a mut W {
80278                self.bit(false)
80279            }
80280            ///Writes raw bits to the field
80281            #[inline(always)]
80282            pub fn bit(self, value: bool) -> &'a mut W {
80283                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
80284                self.w
80285            }
80286        }
80287        ///Reader of field `ODR11`
80288        pub type ODR11_R = crate::R<bool, bool>;
80289        ///Write proxy for field `ODR11`
80290        pub struct ODR11_W<'a> {
80291            w: &'a mut W,
80292        }
80293        impl<'a> ODR11_W<'a> {
80294            ///Sets the field bit
80295            #[inline(always)]
80296            pub fn set_bit(self) -> &'a mut W {
80297                self.bit(true)
80298            }
80299            ///Clears the field bit
80300            #[inline(always)]
80301            pub fn clear_bit(self) -> &'a mut W {
80302                self.bit(false)
80303            }
80304            ///Writes raw bits to the field
80305            #[inline(always)]
80306            pub fn bit(self, value: bool) -> &'a mut W {
80307                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
80308                self.w
80309            }
80310        }
80311        ///Reader of field `ODR10`
80312        pub type ODR10_R = crate::R<bool, bool>;
80313        ///Write proxy for field `ODR10`
80314        pub struct ODR10_W<'a> {
80315            w: &'a mut W,
80316        }
80317        impl<'a> ODR10_W<'a> {
80318            ///Sets the field bit
80319            #[inline(always)]
80320            pub fn set_bit(self) -> &'a mut W {
80321                self.bit(true)
80322            }
80323            ///Clears the field bit
80324            #[inline(always)]
80325            pub fn clear_bit(self) -> &'a mut W {
80326                self.bit(false)
80327            }
80328            ///Writes raw bits to the field
80329            #[inline(always)]
80330            pub fn bit(self, value: bool) -> &'a mut W {
80331                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
80332                self.w
80333            }
80334        }
80335        ///Reader of field `ODR9`
80336        pub type ODR9_R = crate::R<bool, bool>;
80337        ///Write proxy for field `ODR9`
80338        pub struct ODR9_W<'a> {
80339            w: &'a mut W,
80340        }
80341        impl<'a> ODR9_W<'a> {
80342            ///Sets the field bit
80343            #[inline(always)]
80344            pub fn set_bit(self) -> &'a mut W {
80345                self.bit(true)
80346            }
80347            ///Clears the field bit
80348            #[inline(always)]
80349            pub fn clear_bit(self) -> &'a mut W {
80350                self.bit(false)
80351            }
80352            ///Writes raw bits to the field
80353            #[inline(always)]
80354            pub fn bit(self, value: bool) -> &'a mut W {
80355                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
80356                self.w
80357            }
80358        }
80359        ///Reader of field `ODR8`
80360        pub type ODR8_R = crate::R<bool, bool>;
80361        ///Write proxy for field `ODR8`
80362        pub struct ODR8_W<'a> {
80363            w: &'a mut W,
80364        }
80365        impl<'a> ODR8_W<'a> {
80366            ///Sets the field bit
80367            #[inline(always)]
80368            pub fn set_bit(self) -> &'a mut W {
80369                self.bit(true)
80370            }
80371            ///Clears the field bit
80372            #[inline(always)]
80373            pub fn clear_bit(self) -> &'a mut W {
80374                self.bit(false)
80375            }
80376            ///Writes raw bits to the field
80377            #[inline(always)]
80378            pub fn bit(self, value: bool) -> &'a mut W {
80379                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
80380                self.w
80381            }
80382        }
80383        ///Reader of field `ODR7`
80384        pub type ODR7_R = crate::R<bool, bool>;
80385        ///Write proxy for field `ODR7`
80386        pub struct ODR7_W<'a> {
80387            w: &'a mut W,
80388        }
80389        impl<'a> ODR7_W<'a> {
80390            ///Sets the field bit
80391            #[inline(always)]
80392            pub fn set_bit(self) -> &'a mut W {
80393                self.bit(true)
80394            }
80395            ///Clears the field bit
80396            #[inline(always)]
80397            pub fn clear_bit(self) -> &'a mut W {
80398                self.bit(false)
80399            }
80400            ///Writes raw bits to the field
80401            #[inline(always)]
80402            pub fn bit(self, value: bool) -> &'a mut W {
80403                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
80404                self.w
80405            }
80406        }
80407        ///Reader of field `ODR6`
80408        pub type ODR6_R = crate::R<bool, bool>;
80409        ///Write proxy for field `ODR6`
80410        pub struct ODR6_W<'a> {
80411            w: &'a mut W,
80412        }
80413        impl<'a> ODR6_W<'a> {
80414            ///Sets the field bit
80415            #[inline(always)]
80416            pub fn set_bit(self) -> &'a mut W {
80417                self.bit(true)
80418            }
80419            ///Clears the field bit
80420            #[inline(always)]
80421            pub fn clear_bit(self) -> &'a mut W {
80422                self.bit(false)
80423            }
80424            ///Writes raw bits to the field
80425            #[inline(always)]
80426            pub fn bit(self, value: bool) -> &'a mut W {
80427                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
80428                self.w
80429            }
80430        }
80431        ///Reader of field `ODR5`
80432        pub type ODR5_R = crate::R<bool, bool>;
80433        ///Write proxy for field `ODR5`
80434        pub struct ODR5_W<'a> {
80435            w: &'a mut W,
80436        }
80437        impl<'a> ODR5_W<'a> {
80438            ///Sets the field bit
80439            #[inline(always)]
80440            pub fn set_bit(self) -> &'a mut W {
80441                self.bit(true)
80442            }
80443            ///Clears the field bit
80444            #[inline(always)]
80445            pub fn clear_bit(self) -> &'a mut W {
80446                self.bit(false)
80447            }
80448            ///Writes raw bits to the field
80449            #[inline(always)]
80450            pub fn bit(self, value: bool) -> &'a mut W {
80451                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
80452                self.w
80453            }
80454        }
80455        ///Reader of field `ODR4`
80456        pub type ODR4_R = crate::R<bool, bool>;
80457        ///Write proxy for field `ODR4`
80458        pub struct ODR4_W<'a> {
80459            w: &'a mut W,
80460        }
80461        impl<'a> ODR4_W<'a> {
80462            ///Sets the field bit
80463            #[inline(always)]
80464            pub fn set_bit(self) -> &'a mut W {
80465                self.bit(true)
80466            }
80467            ///Clears the field bit
80468            #[inline(always)]
80469            pub fn clear_bit(self) -> &'a mut W {
80470                self.bit(false)
80471            }
80472            ///Writes raw bits to the field
80473            #[inline(always)]
80474            pub fn bit(self, value: bool) -> &'a mut W {
80475                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
80476                self.w
80477            }
80478        }
80479        ///Reader of field `ODR3`
80480        pub type ODR3_R = crate::R<bool, bool>;
80481        ///Write proxy for field `ODR3`
80482        pub struct ODR3_W<'a> {
80483            w: &'a mut W,
80484        }
80485        impl<'a> ODR3_W<'a> {
80486            ///Sets the field bit
80487            #[inline(always)]
80488            pub fn set_bit(self) -> &'a mut W {
80489                self.bit(true)
80490            }
80491            ///Clears the field bit
80492            #[inline(always)]
80493            pub fn clear_bit(self) -> &'a mut W {
80494                self.bit(false)
80495            }
80496            ///Writes raw bits to the field
80497            #[inline(always)]
80498            pub fn bit(self, value: bool) -> &'a mut W {
80499                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
80500                self.w
80501            }
80502        }
80503        ///Reader of field `ODR2`
80504        pub type ODR2_R = crate::R<bool, bool>;
80505        ///Write proxy for field `ODR2`
80506        pub struct ODR2_W<'a> {
80507            w: &'a mut W,
80508        }
80509        impl<'a> ODR2_W<'a> {
80510            ///Sets the field bit
80511            #[inline(always)]
80512            pub fn set_bit(self) -> &'a mut W {
80513                self.bit(true)
80514            }
80515            ///Clears the field bit
80516            #[inline(always)]
80517            pub fn clear_bit(self) -> &'a mut W {
80518                self.bit(false)
80519            }
80520            ///Writes raw bits to the field
80521            #[inline(always)]
80522            pub fn bit(self, value: bool) -> &'a mut W {
80523                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
80524                self.w
80525            }
80526        }
80527        ///Reader of field `ODR1`
80528        pub type ODR1_R = crate::R<bool, bool>;
80529        ///Write proxy for field `ODR1`
80530        pub struct ODR1_W<'a> {
80531            w: &'a mut W,
80532        }
80533        impl<'a> ODR1_W<'a> {
80534            ///Sets the field bit
80535            #[inline(always)]
80536            pub fn set_bit(self) -> &'a mut W {
80537                self.bit(true)
80538            }
80539            ///Clears the field bit
80540            #[inline(always)]
80541            pub fn clear_bit(self) -> &'a mut W {
80542                self.bit(false)
80543            }
80544            ///Writes raw bits to the field
80545            #[inline(always)]
80546            pub fn bit(self, value: bool) -> &'a mut W {
80547                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
80548                self.w
80549            }
80550        }
80551        ///Reader of field `ODR0`
80552        pub type ODR0_R = crate::R<bool, bool>;
80553        ///Write proxy for field `ODR0`
80554        pub struct ODR0_W<'a> {
80555            w: &'a mut W,
80556        }
80557        impl<'a> ODR0_W<'a> {
80558            ///Sets the field bit
80559            #[inline(always)]
80560            pub fn set_bit(self) -> &'a mut W {
80561                self.bit(true)
80562            }
80563            ///Clears the field bit
80564            #[inline(always)]
80565            pub fn clear_bit(self) -> &'a mut W {
80566                self.bit(false)
80567            }
80568            ///Writes raw bits to the field
80569            #[inline(always)]
80570            pub fn bit(self, value: bool) -> &'a mut W {
80571                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
80572                self.w
80573            }
80574        }
80575        impl R {
80576            ///Bit 15 - Port output data (y = 0..15)
80577            #[inline(always)]
80578            pub fn odr15(&self) -> ODR15_R {
80579                ODR15_R::new(((self.bits >> 15) & 0x01) != 0)
80580            }
80581            ///Bit 14 - Port output data (y = 0..15)
80582            #[inline(always)]
80583            pub fn odr14(&self) -> ODR14_R {
80584                ODR14_R::new(((self.bits >> 14) & 0x01) != 0)
80585            }
80586            ///Bit 13 - Port output data (y = 0..15)
80587            #[inline(always)]
80588            pub fn odr13(&self) -> ODR13_R {
80589                ODR13_R::new(((self.bits >> 13) & 0x01) != 0)
80590            }
80591            ///Bit 12 - Port output data (y = 0..15)
80592            #[inline(always)]
80593            pub fn odr12(&self) -> ODR12_R {
80594                ODR12_R::new(((self.bits >> 12) & 0x01) != 0)
80595            }
80596            ///Bit 11 - Port output data (y = 0..15)
80597            #[inline(always)]
80598            pub fn odr11(&self) -> ODR11_R {
80599                ODR11_R::new(((self.bits >> 11) & 0x01) != 0)
80600            }
80601            ///Bit 10 - Port output data (y = 0..15)
80602            #[inline(always)]
80603            pub fn odr10(&self) -> ODR10_R {
80604                ODR10_R::new(((self.bits >> 10) & 0x01) != 0)
80605            }
80606            ///Bit 9 - Port output data (y = 0..15)
80607            #[inline(always)]
80608            pub fn odr9(&self) -> ODR9_R {
80609                ODR9_R::new(((self.bits >> 9) & 0x01) != 0)
80610            }
80611            ///Bit 8 - Port output data (y = 0..15)
80612            #[inline(always)]
80613            pub fn odr8(&self) -> ODR8_R {
80614                ODR8_R::new(((self.bits >> 8) & 0x01) != 0)
80615            }
80616            ///Bit 7 - Port output data (y = 0..15)
80617            #[inline(always)]
80618            pub fn odr7(&self) -> ODR7_R {
80619                ODR7_R::new(((self.bits >> 7) & 0x01) != 0)
80620            }
80621            ///Bit 6 - Port output data (y = 0..15)
80622            #[inline(always)]
80623            pub fn odr6(&self) -> ODR6_R {
80624                ODR6_R::new(((self.bits >> 6) & 0x01) != 0)
80625            }
80626            ///Bit 5 - Port output data (y = 0..15)
80627            #[inline(always)]
80628            pub fn odr5(&self) -> ODR5_R {
80629                ODR5_R::new(((self.bits >> 5) & 0x01) != 0)
80630            }
80631            ///Bit 4 - Port output data (y = 0..15)
80632            #[inline(always)]
80633            pub fn odr4(&self) -> ODR4_R {
80634                ODR4_R::new(((self.bits >> 4) & 0x01) != 0)
80635            }
80636            ///Bit 3 - Port output data (y = 0..15)
80637            #[inline(always)]
80638            pub fn odr3(&self) -> ODR3_R {
80639                ODR3_R::new(((self.bits >> 3) & 0x01) != 0)
80640            }
80641            ///Bit 2 - Port output data (y = 0..15)
80642            #[inline(always)]
80643            pub fn odr2(&self) -> ODR2_R {
80644                ODR2_R::new(((self.bits >> 2) & 0x01) != 0)
80645            }
80646            ///Bit 1 - Port output data (y = 0..15)
80647            #[inline(always)]
80648            pub fn odr1(&self) -> ODR1_R {
80649                ODR1_R::new(((self.bits >> 1) & 0x01) != 0)
80650            }
80651            ///Bit 0 - Port output data (y = 0..15)
80652            #[inline(always)]
80653            pub fn odr0(&self) -> ODR0_R {
80654                ODR0_R::new((self.bits & 0x01) != 0)
80655            }
80656        }
80657        impl W {
80658            ///Bit 15 - Port output data (y = 0..15)
80659            #[inline(always)]
80660            pub fn odr15(&mut self) -> ODR15_W {
80661                ODR15_W { w: self }
80662            }
80663            ///Bit 14 - Port output data (y = 0..15)
80664            #[inline(always)]
80665            pub fn odr14(&mut self) -> ODR14_W {
80666                ODR14_W { w: self }
80667            }
80668            ///Bit 13 - Port output data (y = 0..15)
80669            #[inline(always)]
80670            pub fn odr13(&mut self) -> ODR13_W {
80671                ODR13_W { w: self }
80672            }
80673            ///Bit 12 - Port output data (y = 0..15)
80674            #[inline(always)]
80675            pub fn odr12(&mut self) -> ODR12_W {
80676                ODR12_W { w: self }
80677            }
80678            ///Bit 11 - Port output data (y = 0..15)
80679            #[inline(always)]
80680            pub fn odr11(&mut self) -> ODR11_W {
80681                ODR11_W { w: self }
80682            }
80683            ///Bit 10 - Port output data (y = 0..15)
80684            #[inline(always)]
80685            pub fn odr10(&mut self) -> ODR10_W {
80686                ODR10_W { w: self }
80687            }
80688            ///Bit 9 - Port output data (y = 0..15)
80689            #[inline(always)]
80690            pub fn odr9(&mut self) -> ODR9_W {
80691                ODR9_W { w: self }
80692            }
80693            ///Bit 8 - Port output data (y = 0..15)
80694            #[inline(always)]
80695            pub fn odr8(&mut self) -> ODR8_W {
80696                ODR8_W { w: self }
80697            }
80698            ///Bit 7 - Port output data (y = 0..15)
80699            #[inline(always)]
80700            pub fn odr7(&mut self) -> ODR7_W {
80701                ODR7_W { w: self }
80702            }
80703            ///Bit 6 - Port output data (y = 0..15)
80704            #[inline(always)]
80705            pub fn odr6(&mut self) -> ODR6_W {
80706                ODR6_W { w: self }
80707            }
80708            ///Bit 5 - Port output data (y = 0..15)
80709            #[inline(always)]
80710            pub fn odr5(&mut self) -> ODR5_W {
80711                ODR5_W { w: self }
80712            }
80713            ///Bit 4 - Port output data (y = 0..15)
80714            #[inline(always)]
80715            pub fn odr4(&mut self) -> ODR4_W {
80716                ODR4_W { w: self }
80717            }
80718            ///Bit 3 - Port output data (y = 0..15)
80719            #[inline(always)]
80720            pub fn odr3(&mut self) -> ODR3_W {
80721                ODR3_W { w: self }
80722            }
80723            ///Bit 2 - Port output data (y = 0..15)
80724            #[inline(always)]
80725            pub fn odr2(&mut self) -> ODR2_W {
80726                ODR2_W { w: self }
80727            }
80728            ///Bit 1 - Port output data (y = 0..15)
80729            #[inline(always)]
80730            pub fn odr1(&mut self) -> ODR1_W {
80731                ODR1_W { w: self }
80732            }
80733            ///Bit 0 - Port output data (y = 0..15)
80734            #[inline(always)]
80735            pub fn odr0(&mut self) -> ODR0_W {
80736                ODR0_W { w: self }
80737            }
80738        }
80739    }
80740    ///GPIO port bit set/reset register
80741    ///
80742    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
80743    ///
80744    ///For information about available fields see [bsrr](bsrr) module
80745    pub type BSRR = crate::Reg<u32, _BSRR>;
80746    #[allow(missing_docs)]
80747    #[doc(hidden)]
80748    pub struct _BSRR;
80749    ///`write(|w| ..)` method takes [bsrr::W](bsrr::W) writer structure
80750    impl crate::Writable for BSRR {}
80751    ///GPIO port bit set/reset register
80752    pub mod bsrr {
80753        ///Writer for register BSRR
80754        pub type W = crate::W<u32, super::BSRR>;
80755        ///Register BSRR `reset()`'s with value 0
80756        impl crate::ResetValue for super::BSRR {
80757            type Type = u32;
80758            #[inline(always)]
80759            fn reset_value() -> Self::Type {
80760                0
80761            }
80762        }
80763        ///Write proxy for field `BR15`
80764        pub struct BR15_W<'a> {
80765            w: &'a mut W,
80766        }
80767        impl<'a> BR15_W<'a> {
80768            ///Sets the field bit
80769            #[inline(always)]
80770            pub fn set_bit(self) -> &'a mut W {
80771                self.bit(true)
80772            }
80773            ///Clears the field bit
80774            #[inline(always)]
80775            pub fn clear_bit(self) -> &'a mut W {
80776                self.bit(false)
80777            }
80778            ///Writes raw bits to the field
80779            #[inline(always)]
80780            pub fn bit(self, value: bool) -> &'a mut W {
80781                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
80782                self.w
80783            }
80784        }
80785        ///Write proxy for field `BR14`
80786        pub struct BR14_W<'a> {
80787            w: &'a mut W,
80788        }
80789        impl<'a> BR14_W<'a> {
80790            ///Sets the field bit
80791            #[inline(always)]
80792            pub fn set_bit(self) -> &'a mut W {
80793                self.bit(true)
80794            }
80795            ///Clears the field bit
80796            #[inline(always)]
80797            pub fn clear_bit(self) -> &'a mut W {
80798                self.bit(false)
80799            }
80800            ///Writes raw bits to the field
80801            #[inline(always)]
80802            pub fn bit(self, value: bool) -> &'a mut W {
80803                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
80804                self.w
80805            }
80806        }
80807        ///Write proxy for field `BR13`
80808        pub struct BR13_W<'a> {
80809            w: &'a mut W,
80810        }
80811        impl<'a> BR13_W<'a> {
80812            ///Sets the field bit
80813            #[inline(always)]
80814            pub fn set_bit(self) -> &'a mut W {
80815                self.bit(true)
80816            }
80817            ///Clears the field bit
80818            #[inline(always)]
80819            pub fn clear_bit(self) -> &'a mut W {
80820                self.bit(false)
80821            }
80822            ///Writes raw bits to the field
80823            #[inline(always)]
80824            pub fn bit(self, value: bool) -> &'a mut W {
80825                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
80826                self.w
80827            }
80828        }
80829        ///Write proxy for field `BR12`
80830        pub struct BR12_W<'a> {
80831            w: &'a mut W,
80832        }
80833        impl<'a> BR12_W<'a> {
80834            ///Sets the field bit
80835            #[inline(always)]
80836            pub fn set_bit(self) -> &'a mut W {
80837                self.bit(true)
80838            }
80839            ///Clears the field bit
80840            #[inline(always)]
80841            pub fn clear_bit(self) -> &'a mut W {
80842                self.bit(false)
80843            }
80844            ///Writes raw bits to the field
80845            #[inline(always)]
80846            pub fn bit(self, value: bool) -> &'a mut W {
80847                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
80848                self.w
80849            }
80850        }
80851        ///Write proxy for field `BR11`
80852        pub struct BR11_W<'a> {
80853            w: &'a mut W,
80854        }
80855        impl<'a> BR11_W<'a> {
80856            ///Sets the field bit
80857            #[inline(always)]
80858            pub fn set_bit(self) -> &'a mut W {
80859                self.bit(true)
80860            }
80861            ///Clears the field bit
80862            #[inline(always)]
80863            pub fn clear_bit(self) -> &'a mut W {
80864                self.bit(false)
80865            }
80866            ///Writes raw bits to the field
80867            #[inline(always)]
80868            pub fn bit(self, value: bool) -> &'a mut W {
80869                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
80870                self.w
80871            }
80872        }
80873        ///Write proxy for field `BR10`
80874        pub struct BR10_W<'a> {
80875            w: &'a mut W,
80876        }
80877        impl<'a> BR10_W<'a> {
80878            ///Sets the field bit
80879            #[inline(always)]
80880            pub fn set_bit(self) -> &'a mut W {
80881                self.bit(true)
80882            }
80883            ///Clears the field bit
80884            #[inline(always)]
80885            pub fn clear_bit(self) -> &'a mut W {
80886                self.bit(false)
80887            }
80888            ///Writes raw bits to the field
80889            #[inline(always)]
80890            pub fn bit(self, value: bool) -> &'a mut W {
80891                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
80892                self.w
80893            }
80894        }
80895        ///Write proxy for field `BR9`
80896        pub struct BR9_W<'a> {
80897            w: &'a mut W,
80898        }
80899        impl<'a> BR9_W<'a> {
80900            ///Sets the field bit
80901            #[inline(always)]
80902            pub fn set_bit(self) -> &'a mut W {
80903                self.bit(true)
80904            }
80905            ///Clears the field bit
80906            #[inline(always)]
80907            pub fn clear_bit(self) -> &'a mut W {
80908                self.bit(false)
80909            }
80910            ///Writes raw bits to the field
80911            #[inline(always)]
80912            pub fn bit(self, value: bool) -> &'a mut W {
80913                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
80914                self.w
80915            }
80916        }
80917        ///Write proxy for field `BR8`
80918        pub struct BR8_W<'a> {
80919            w: &'a mut W,
80920        }
80921        impl<'a> BR8_W<'a> {
80922            ///Sets the field bit
80923            #[inline(always)]
80924            pub fn set_bit(self) -> &'a mut W {
80925                self.bit(true)
80926            }
80927            ///Clears the field bit
80928            #[inline(always)]
80929            pub fn clear_bit(self) -> &'a mut W {
80930                self.bit(false)
80931            }
80932            ///Writes raw bits to the field
80933            #[inline(always)]
80934            pub fn bit(self, value: bool) -> &'a mut W {
80935                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
80936                self.w
80937            }
80938        }
80939        ///Write proxy for field `BR7`
80940        pub struct BR7_W<'a> {
80941            w: &'a mut W,
80942        }
80943        impl<'a> BR7_W<'a> {
80944            ///Sets the field bit
80945            #[inline(always)]
80946            pub fn set_bit(self) -> &'a mut W {
80947                self.bit(true)
80948            }
80949            ///Clears the field bit
80950            #[inline(always)]
80951            pub fn clear_bit(self) -> &'a mut W {
80952                self.bit(false)
80953            }
80954            ///Writes raw bits to the field
80955            #[inline(always)]
80956            pub fn bit(self, value: bool) -> &'a mut W {
80957                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
80958                self.w
80959            }
80960        }
80961        ///Write proxy for field `BR6`
80962        pub struct BR6_W<'a> {
80963            w: &'a mut W,
80964        }
80965        impl<'a> BR6_W<'a> {
80966            ///Sets the field bit
80967            #[inline(always)]
80968            pub fn set_bit(self) -> &'a mut W {
80969                self.bit(true)
80970            }
80971            ///Clears the field bit
80972            #[inline(always)]
80973            pub fn clear_bit(self) -> &'a mut W {
80974                self.bit(false)
80975            }
80976            ///Writes raw bits to the field
80977            #[inline(always)]
80978            pub fn bit(self, value: bool) -> &'a mut W {
80979                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
80980                self.w
80981            }
80982        }
80983        ///Write proxy for field `BR5`
80984        pub struct BR5_W<'a> {
80985            w: &'a mut W,
80986        }
80987        impl<'a> BR5_W<'a> {
80988            ///Sets the field bit
80989            #[inline(always)]
80990            pub fn set_bit(self) -> &'a mut W {
80991                self.bit(true)
80992            }
80993            ///Clears the field bit
80994            #[inline(always)]
80995            pub fn clear_bit(self) -> &'a mut W {
80996                self.bit(false)
80997            }
80998            ///Writes raw bits to the field
80999            #[inline(always)]
81000            pub fn bit(self, value: bool) -> &'a mut W {
81001                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
81002                self.w
81003            }
81004        }
81005        ///Write proxy for field `BR4`
81006        pub struct BR4_W<'a> {
81007            w: &'a mut W,
81008        }
81009        impl<'a> BR4_W<'a> {
81010            ///Sets the field bit
81011            #[inline(always)]
81012            pub fn set_bit(self) -> &'a mut W {
81013                self.bit(true)
81014            }
81015            ///Clears the field bit
81016            #[inline(always)]
81017            pub fn clear_bit(self) -> &'a mut W {
81018                self.bit(false)
81019            }
81020            ///Writes raw bits to the field
81021            #[inline(always)]
81022            pub fn bit(self, value: bool) -> &'a mut W {
81023                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
81024                self.w
81025            }
81026        }
81027        ///Write proxy for field `BR3`
81028        pub struct BR3_W<'a> {
81029            w: &'a mut W,
81030        }
81031        impl<'a> BR3_W<'a> {
81032            ///Sets the field bit
81033            #[inline(always)]
81034            pub fn set_bit(self) -> &'a mut W {
81035                self.bit(true)
81036            }
81037            ///Clears the field bit
81038            #[inline(always)]
81039            pub fn clear_bit(self) -> &'a mut W {
81040                self.bit(false)
81041            }
81042            ///Writes raw bits to the field
81043            #[inline(always)]
81044            pub fn bit(self, value: bool) -> &'a mut W {
81045                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
81046                self.w
81047            }
81048        }
81049        ///Write proxy for field `BR2`
81050        pub struct BR2_W<'a> {
81051            w: &'a mut W,
81052        }
81053        impl<'a> BR2_W<'a> {
81054            ///Sets the field bit
81055            #[inline(always)]
81056            pub fn set_bit(self) -> &'a mut W {
81057                self.bit(true)
81058            }
81059            ///Clears the field bit
81060            #[inline(always)]
81061            pub fn clear_bit(self) -> &'a mut W {
81062                self.bit(false)
81063            }
81064            ///Writes raw bits to the field
81065            #[inline(always)]
81066            pub fn bit(self, value: bool) -> &'a mut W {
81067                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
81068                self.w
81069            }
81070        }
81071        ///Write proxy for field `BR1`
81072        pub struct BR1_W<'a> {
81073            w: &'a mut W,
81074        }
81075        impl<'a> BR1_W<'a> {
81076            ///Sets the field bit
81077            #[inline(always)]
81078            pub fn set_bit(self) -> &'a mut W {
81079                self.bit(true)
81080            }
81081            ///Clears the field bit
81082            #[inline(always)]
81083            pub fn clear_bit(self) -> &'a mut W {
81084                self.bit(false)
81085            }
81086            ///Writes raw bits to the field
81087            #[inline(always)]
81088            pub fn bit(self, value: bool) -> &'a mut W {
81089                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
81090                self.w
81091            }
81092        }
81093        ///Write proxy for field `BR0`
81094        pub struct BR0_W<'a> {
81095            w: &'a mut W,
81096        }
81097        impl<'a> BR0_W<'a> {
81098            ///Sets the field bit
81099            #[inline(always)]
81100            pub fn set_bit(self) -> &'a mut W {
81101                self.bit(true)
81102            }
81103            ///Clears the field bit
81104            #[inline(always)]
81105            pub fn clear_bit(self) -> &'a mut W {
81106                self.bit(false)
81107            }
81108            ///Writes raw bits to the field
81109            #[inline(always)]
81110            pub fn bit(self, value: bool) -> &'a mut W {
81111                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
81112                self.w
81113            }
81114        }
81115        ///Write proxy for field `BS15`
81116        pub struct BS15_W<'a> {
81117            w: &'a mut W,
81118        }
81119        impl<'a> BS15_W<'a> {
81120            ///Sets the field bit
81121            #[inline(always)]
81122            pub fn set_bit(self) -> &'a mut W {
81123                self.bit(true)
81124            }
81125            ///Clears the field bit
81126            #[inline(always)]
81127            pub fn clear_bit(self) -> &'a mut W {
81128                self.bit(false)
81129            }
81130            ///Writes raw bits to the field
81131            #[inline(always)]
81132            pub fn bit(self, value: bool) -> &'a mut W {
81133                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
81134                self.w
81135            }
81136        }
81137        ///Write proxy for field `BS14`
81138        pub struct BS14_W<'a> {
81139            w: &'a mut W,
81140        }
81141        impl<'a> BS14_W<'a> {
81142            ///Sets the field bit
81143            #[inline(always)]
81144            pub fn set_bit(self) -> &'a mut W {
81145                self.bit(true)
81146            }
81147            ///Clears the field bit
81148            #[inline(always)]
81149            pub fn clear_bit(self) -> &'a mut W {
81150                self.bit(false)
81151            }
81152            ///Writes raw bits to the field
81153            #[inline(always)]
81154            pub fn bit(self, value: bool) -> &'a mut W {
81155                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
81156                self.w
81157            }
81158        }
81159        ///Write proxy for field `BS13`
81160        pub struct BS13_W<'a> {
81161            w: &'a mut W,
81162        }
81163        impl<'a> BS13_W<'a> {
81164            ///Sets the field bit
81165            #[inline(always)]
81166            pub fn set_bit(self) -> &'a mut W {
81167                self.bit(true)
81168            }
81169            ///Clears the field bit
81170            #[inline(always)]
81171            pub fn clear_bit(self) -> &'a mut W {
81172                self.bit(false)
81173            }
81174            ///Writes raw bits to the field
81175            #[inline(always)]
81176            pub fn bit(self, value: bool) -> &'a mut W {
81177                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
81178                self.w
81179            }
81180        }
81181        ///Write proxy for field `BS12`
81182        pub struct BS12_W<'a> {
81183            w: &'a mut W,
81184        }
81185        impl<'a> BS12_W<'a> {
81186            ///Sets the field bit
81187            #[inline(always)]
81188            pub fn set_bit(self) -> &'a mut W {
81189                self.bit(true)
81190            }
81191            ///Clears the field bit
81192            #[inline(always)]
81193            pub fn clear_bit(self) -> &'a mut W {
81194                self.bit(false)
81195            }
81196            ///Writes raw bits to the field
81197            #[inline(always)]
81198            pub fn bit(self, value: bool) -> &'a mut W {
81199                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
81200                self.w
81201            }
81202        }
81203        ///Write proxy for field `BS11`
81204        pub struct BS11_W<'a> {
81205            w: &'a mut W,
81206        }
81207        impl<'a> BS11_W<'a> {
81208            ///Sets the field bit
81209            #[inline(always)]
81210            pub fn set_bit(self) -> &'a mut W {
81211                self.bit(true)
81212            }
81213            ///Clears the field bit
81214            #[inline(always)]
81215            pub fn clear_bit(self) -> &'a mut W {
81216                self.bit(false)
81217            }
81218            ///Writes raw bits to the field
81219            #[inline(always)]
81220            pub fn bit(self, value: bool) -> &'a mut W {
81221                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
81222                self.w
81223            }
81224        }
81225        ///Write proxy for field `BS10`
81226        pub struct BS10_W<'a> {
81227            w: &'a mut W,
81228        }
81229        impl<'a> BS10_W<'a> {
81230            ///Sets the field bit
81231            #[inline(always)]
81232            pub fn set_bit(self) -> &'a mut W {
81233                self.bit(true)
81234            }
81235            ///Clears the field bit
81236            #[inline(always)]
81237            pub fn clear_bit(self) -> &'a mut W {
81238                self.bit(false)
81239            }
81240            ///Writes raw bits to the field
81241            #[inline(always)]
81242            pub fn bit(self, value: bool) -> &'a mut W {
81243                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
81244                self.w
81245            }
81246        }
81247        ///Write proxy for field `BS9`
81248        pub struct BS9_W<'a> {
81249            w: &'a mut W,
81250        }
81251        impl<'a> BS9_W<'a> {
81252            ///Sets the field bit
81253            #[inline(always)]
81254            pub fn set_bit(self) -> &'a mut W {
81255                self.bit(true)
81256            }
81257            ///Clears the field bit
81258            #[inline(always)]
81259            pub fn clear_bit(self) -> &'a mut W {
81260                self.bit(false)
81261            }
81262            ///Writes raw bits to the field
81263            #[inline(always)]
81264            pub fn bit(self, value: bool) -> &'a mut W {
81265                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
81266                self.w
81267            }
81268        }
81269        ///Write proxy for field `BS8`
81270        pub struct BS8_W<'a> {
81271            w: &'a mut W,
81272        }
81273        impl<'a> BS8_W<'a> {
81274            ///Sets the field bit
81275            #[inline(always)]
81276            pub fn set_bit(self) -> &'a mut W {
81277                self.bit(true)
81278            }
81279            ///Clears the field bit
81280            #[inline(always)]
81281            pub fn clear_bit(self) -> &'a mut W {
81282                self.bit(false)
81283            }
81284            ///Writes raw bits to the field
81285            #[inline(always)]
81286            pub fn bit(self, value: bool) -> &'a mut W {
81287                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
81288                self.w
81289            }
81290        }
81291        ///Write proxy for field `BS7`
81292        pub struct BS7_W<'a> {
81293            w: &'a mut W,
81294        }
81295        impl<'a> BS7_W<'a> {
81296            ///Sets the field bit
81297            #[inline(always)]
81298            pub fn set_bit(self) -> &'a mut W {
81299                self.bit(true)
81300            }
81301            ///Clears the field bit
81302            #[inline(always)]
81303            pub fn clear_bit(self) -> &'a mut W {
81304                self.bit(false)
81305            }
81306            ///Writes raw bits to the field
81307            #[inline(always)]
81308            pub fn bit(self, value: bool) -> &'a mut W {
81309                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
81310                self.w
81311            }
81312        }
81313        ///Write proxy for field `BS6`
81314        pub struct BS6_W<'a> {
81315            w: &'a mut W,
81316        }
81317        impl<'a> BS6_W<'a> {
81318            ///Sets the field bit
81319            #[inline(always)]
81320            pub fn set_bit(self) -> &'a mut W {
81321                self.bit(true)
81322            }
81323            ///Clears the field bit
81324            #[inline(always)]
81325            pub fn clear_bit(self) -> &'a mut W {
81326                self.bit(false)
81327            }
81328            ///Writes raw bits to the field
81329            #[inline(always)]
81330            pub fn bit(self, value: bool) -> &'a mut W {
81331                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
81332                self.w
81333            }
81334        }
81335        ///Write proxy for field `BS5`
81336        pub struct BS5_W<'a> {
81337            w: &'a mut W,
81338        }
81339        impl<'a> BS5_W<'a> {
81340            ///Sets the field bit
81341            #[inline(always)]
81342            pub fn set_bit(self) -> &'a mut W {
81343                self.bit(true)
81344            }
81345            ///Clears the field bit
81346            #[inline(always)]
81347            pub fn clear_bit(self) -> &'a mut W {
81348                self.bit(false)
81349            }
81350            ///Writes raw bits to the field
81351            #[inline(always)]
81352            pub fn bit(self, value: bool) -> &'a mut W {
81353                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
81354                self.w
81355            }
81356        }
81357        ///Write proxy for field `BS4`
81358        pub struct BS4_W<'a> {
81359            w: &'a mut W,
81360        }
81361        impl<'a> BS4_W<'a> {
81362            ///Sets the field bit
81363            #[inline(always)]
81364            pub fn set_bit(self) -> &'a mut W {
81365                self.bit(true)
81366            }
81367            ///Clears the field bit
81368            #[inline(always)]
81369            pub fn clear_bit(self) -> &'a mut W {
81370                self.bit(false)
81371            }
81372            ///Writes raw bits to the field
81373            #[inline(always)]
81374            pub fn bit(self, value: bool) -> &'a mut W {
81375                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
81376                self.w
81377            }
81378        }
81379        ///Write proxy for field `BS3`
81380        pub struct BS3_W<'a> {
81381            w: &'a mut W,
81382        }
81383        impl<'a> BS3_W<'a> {
81384            ///Sets the field bit
81385            #[inline(always)]
81386            pub fn set_bit(self) -> &'a mut W {
81387                self.bit(true)
81388            }
81389            ///Clears the field bit
81390            #[inline(always)]
81391            pub fn clear_bit(self) -> &'a mut W {
81392                self.bit(false)
81393            }
81394            ///Writes raw bits to the field
81395            #[inline(always)]
81396            pub fn bit(self, value: bool) -> &'a mut W {
81397                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
81398                self.w
81399            }
81400        }
81401        ///Write proxy for field `BS2`
81402        pub struct BS2_W<'a> {
81403            w: &'a mut W,
81404        }
81405        impl<'a> BS2_W<'a> {
81406            ///Sets the field bit
81407            #[inline(always)]
81408            pub fn set_bit(self) -> &'a mut W {
81409                self.bit(true)
81410            }
81411            ///Clears the field bit
81412            #[inline(always)]
81413            pub fn clear_bit(self) -> &'a mut W {
81414                self.bit(false)
81415            }
81416            ///Writes raw bits to the field
81417            #[inline(always)]
81418            pub fn bit(self, value: bool) -> &'a mut W {
81419                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
81420                self.w
81421            }
81422        }
81423        ///Write proxy for field `BS1`
81424        pub struct BS1_W<'a> {
81425            w: &'a mut W,
81426        }
81427        impl<'a> BS1_W<'a> {
81428            ///Sets the field bit
81429            #[inline(always)]
81430            pub fn set_bit(self) -> &'a mut W {
81431                self.bit(true)
81432            }
81433            ///Clears the field bit
81434            #[inline(always)]
81435            pub fn clear_bit(self) -> &'a mut W {
81436                self.bit(false)
81437            }
81438            ///Writes raw bits to the field
81439            #[inline(always)]
81440            pub fn bit(self, value: bool) -> &'a mut W {
81441                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
81442                self.w
81443            }
81444        }
81445        ///Write proxy for field `BS0`
81446        pub struct BS0_W<'a> {
81447            w: &'a mut W,
81448        }
81449        impl<'a> BS0_W<'a> {
81450            ///Sets the field bit
81451            #[inline(always)]
81452            pub fn set_bit(self) -> &'a mut W {
81453                self.bit(true)
81454            }
81455            ///Clears the field bit
81456            #[inline(always)]
81457            pub fn clear_bit(self) -> &'a mut W {
81458                self.bit(false)
81459            }
81460            ///Writes raw bits to the field
81461            #[inline(always)]
81462            pub fn bit(self, value: bool) -> &'a mut W {
81463                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
81464                self.w
81465            }
81466        }
81467        impl W {
81468            ///Bit 31 - Port x reset bit y (y = 0..15)
81469            #[inline(always)]
81470            pub fn br15(&mut self) -> BR15_W {
81471                BR15_W { w: self }
81472            }
81473            ///Bit 30 - Port x reset bit y (y = 0..15)
81474            #[inline(always)]
81475            pub fn br14(&mut self) -> BR14_W {
81476                BR14_W { w: self }
81477            }
81478            ///Bit 29 - Port x reset bit y (y = 0..15)
81479            #[inline(always)]
81480            pub fn br13(&mut self) -> BR13_W {
81481                BR13_W { w: self }
81482            }
81483            ///Bit 28 - Port x reset bit y (y = 0..15)
81484            #[inline(always)]
81485            pub fn br12(&mut self) -> BR12_W {
81486                BR12_W { w: self }
81487            }
81488            ///Bit 27 - Port x reset bit y (y = 0..15)
81489            #[inline(always)]
81490            pub fn br11(&mut self) -> BR11_W {
81491                BR11_W { w: self }
81492            }
81493            ///Bit 26 - Port x reset bit y (y = 0..15)
81494            #[inline(always)]
81495            pub fn br10(&mut self) -> BR10_W {
81496                BR10_W { w: self }
81497            }
81498            ///Bit 25 - Port x reset bit y (y = 0..15)
81499            #[inline(always)]
81500            pub fn br9(&mut self) -> BR9_W {
81501                BR9_W { w: self }
81502            }
81503            ///Bit 24 - Port x reset bit y (y = 0..15)
81504            #[inline(always)]
81505            pub fn br8(&mut self) -> BR8_W {
81506                BR8_W { w: self }
81507            }
81508            ///Bit 23 - Port x reset bit y (y = 0..15)
81509            #[inline(always)]
81510            pub fn br7(&mut self) -> BR7_W {
81511                BR7_W { w: self }
81512            }
81513            ///Bit 22 - Port x reset bit y (y = 0..15)
81514            #[inline(always)]
81515            pub fn br6(&mut self) -> BR6_W {
81516                BR6_W { w: self }
81517            }
81518            ///Bit 21 - Port x reset bit y (y = 0..15)
81519            #[inline(always)]
81520            pub fn br5(&mut self) -> BR5_W {
81521                BR5_W { w: self }
81522            }
81523            ///Bit 20 - Port x reset bit y (y = 0..15)
81524            #[inline(always)]
81525            pub fn br4(&mut self) -> BR4_W {
81526                BR4_W { w: self }
81527            }
81528            ///Bit 19 - Port x reset bit y (y = 0..15)
81529            #[inline(always)]
81530            pub fn br3(&mut self) -> BR3_W {
81531                BR3_W { w: self }
81532            }
81533            ///Bit 18 - Port x reset bit y (y = 0..15)
81534            #[inline(always)]
81535            pub fn br2(&mut self) -> BR2_W {
81536                BR2_W { w: self }
81537            }
81538            ///Bit 17 - Port x reset bit y (y = 0..15)
81539            #[inline(always)]
81540            pub fn br1(&mut self) -> BR1_W {
81541                BR1_W { w: self }
81542            }
81543            ///Bit 16 - Port x set bit y (y= 0..15)
81544            #[inline(always)]
81545            pub fn br0(&mut self) -> BR0_W {
81546                BR0_W { w: self }
81547            }
81548            ///Bit 15 - Port x set bit y (y= 0..15)
81549            #[inline(always)]
81550            pub fn bs15(&mut self) -> BS15_W {
81551                BS15_W { w: self }
81552            }
81553            ///Bit 14 - Port x set bit y (y= 0..15)
81554            #[inline(always)]
81555            pub fn bs14(&mut self) -> BS14_W {
81556                BS14_W { w: self }
81557            }
81558            ///Bit 13 - Port x set bit y (y= 0..15)
81559            #[inline(always)]
81560            pub fn bs13(&mut self) -> BS13_W {
81561                BS13_W { w: self }
81562            }
81563            ///Bit 12 - Port x set bit y (y= 0..15)
81564            #[inline(always)]
81565            pub fn bs12(&mut self) -> BS12_W {
81566                BS12_W { w: self }
81567            }
81568            ///Bit 11 - Port x set bit y (y= 0..15)
81569            #[inline(always)]
81570            pub fn bs11(&mut self) -> BS11_W {
81571                BS11_W { w: self }
81572            }
81573            ///Bit 10 - Port x set bit y (y= 0..15)
81574            #[inline(always)]
81575            pub fn bs10(&mut self) -> BS10_W {
81576                BS10_W { w: self }
81577            }
81578            ///Bit 9 - Port x set bit y (y= 0..15)
81579            #[inline(always)]
81580            pub fn bs9(&mut self) -> BS9_W {
81581                BS9_W { w: self }
81582            }
81583            ///Bit 8 - Port x set bit y (y= 0..15)
81584            #[inline(always)]
81585            pub fn bs8(&mut self) -> BS8_W {
81586                BS8_W { w: self }
81587            }
81588            ///Bit 7 - Port x set bit y (y= 0..15)
81589            #[inline(always)]
81590            pub fn bs7(&mut self) -> BS7_W {
81591                BS7_W { w: self }
81592            }
81593            ///Bit 6 - Port x set bit y (y= 0..15)
81594            #[inline(always)]
81595            pub fn bs6(&mut self) -> BS6_W {
81596                BS6_W { w: self }
81597            }
81598            ///Bit 5 - Port x set bit y (y= 0..15)
81599            #[inline(always)]
81600            pub fn bs5(&mut self) -> BS5_W {
81601                BS5_W { w: self }
81602            }
81603            ///Bit 4 - Port x set bit y (y= 0..15)
81604            #[inline(always)]
81605            pub fn bs4(&mut self) -> BS4_W {
81606                BS4_W { w: self }
81607            }
81608            ///Bit 3 - Port x set bit y (y= 0..15)
81609            #[inline(always)]
81610            pub fn bs3(&mut self) -> BS3_W {
81611                BS3_W { w: self }
81612            }
81613            ///Bit 2 - Port x set bit y (y= 0..15)
81614            #[inline(always)]
81615            pub fn bs2(&mut self) -> BS2_W {
81616                BS2_W { w: self }
81617            }
81618            ///Bit 1 - Port x set bit y (y= 0..15)
81619            #[inline(always)]
81620            pub fn bs1(&mut self) -> BS1_W {
81621                BS1_W { w: self }
81622            }
81623            ///Bit 0 - Port x set bit y (y= 0..15)
81624            #[inline(always)]
81625            pub fn bs0(&mut self) -> BS0_W {
81626                BS0_W { w: self }
81627            }
81628        }
81629    }
81630    ///GPIO port configuration lock register
81631    ///
81632    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
81633    ///
81634    ///For information about available fields see [lckr](lckr) module
81635    pub type LCKR = crate::Reg<u32, _LCKR>;
81636    #[allow(missing_docs)]
81637    #[doc(hidden)]
81638    pub struct _LCKR;
81639    ///`read()` method returns [lckr::R](lckr::R) reader structure
81640    impl crate::Readable for LCKR {}
81641    ///`write(|w| ..)` method takes [lckr::W](lckr::W) writer structure
81642    impl crate::Writable for LCKR {}
81643    ///GPIO port configuration lock register
81644    pub mod lckr {
81645        ///Reader of register LCKR
81646        pub type R = crate::R<u32, super::LCKR>;
81647        ///Writer for register LCKR
81648        pub type W = crate::W<u32, super::LCKR>;
81649        ///Register LCKR `reset()`'s with value 0
81650        impl crate::ResetValue for super::LCKR {
81651            type Type = u32;
81652            #[inline(always)]
81653            fn reset_value() -> Self::Type {
81654                0
81655            }
81656        }
81657        ///Reader of field `LCKK`
81658        pub type LCKK_R = crate::R<bool, bool>;
81659        ///Write proxy for field `LCKK`
81660        pub struct LCKK_W<'a> {
81661            w: &'a mut W,
81662        }
81663        impl<'a> LCKK_W<'a> {
81664            ///Sets the field bit
81665            #[inline(always)]
81666            pub fn set_bit(self) -> &'a mut W {
81667                self.bit(true)
81668            }
81669            ///Clears the field bit
81670            #[inline(always)]
81671            pub fn clear_bit(self) -> &'a mut W {
81672                self.bit(false)
81673            }
81674            ///Writes raw bits to the field
81675            #[inline(always)]
81676            pub fn bit(self, value: bool) -> &'a mut W {
81677                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
81678                self.w
81679            }
81680        }
81681        ///Reader of field `LCK15`
81682        pub type LCK15_R = crate::R<bool, bool>;
81683        ///Write proxy for field `LCK15`
81684        pub struct LCK15_W<'a> {
81685            w: &'a mut W,
81686        }
81687        impl<'a> LCK15_W<'a> {
81688            ///Sets the field bit
81689            #[inline(always)]
81690            pub fn set_bit(self) -> &'a mut W {
81691                self.bit(true)
81692            }
81693            ///Clears the field bit
81694            #[inline(always)]
81695            pub fn clear_bit(self) -> &'a mut W {
81696                self.bit(false)
81697            }
81698            ///Writes raw bits to the field
81699            #[inline(always)]
81700            pub fn bit(self, value: bool) -> &'a mut W {
81701                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
81702                self.w
81703            }
81704        }
81705        ///Reader of field `LCK14`
81706        pub type LCK14_R = crate::R<bool, bool>;
81707        ///Write proxy for field `LCK14`
81708        pub struct LCK14_W<'a> {
81709            w: &'a mut W,
81710        }
81711        impl<'a> LCK14_W<'a> {
81712            ///Sets the field bit
81713            #[inline(always)]
81714            pub fn set_bit(self) -> &'a mut W {
81715                self.bit(true)
81716            }
81717            ///Clears the field bit
81718            #[inline(always)]
81719            pub fn clear_bit(self) -> &'a mut W {
81720                self.bit(false)
81721            }
81722            ///Writes raw bits to the field
81723            #[inline(always)]
81724            pub fn bit(self, value: bool) -> &'a mut W {
81725                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
81726                self.w
81727            }
81728        }
81729        ///Reader of field `LCK13`
81730        pub type LCK13_R = crate::R<bool, bool>;
81731        ///Write proxy for field `LCK13`
81732        pub struct LCK13_W<'a> {
81733            w: &'a mut W,
81734        }
81735        impl<'a> LCK13_W<'a> {
81736            ///Sets the field bit
81737            #[inline(always)]
81738            pub fn set_bit(self) -> &'a mut W {
81739                self.bit(true)
81740            }
81741            ///Clears the field bit
81742            #[inline(always)]
81743            pub fn clear_bit(self) -> &'a mut W {
81744                self.bit(false)
81745            }
81746            ///Writes raw bits to the field
81747            #[inline(always)]
81748            pub fn bit(self, value: bool) -> &'a mut W {
81749                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
81750                self.w
81751            }
81752        }
81753        ///Reader of field `LCK12`
81754        pub type LCK12_R = crate::R<bool, bool>;
81755        ///Write proxy for field `LCK12`
81756        pub struct LCK12_W<'a> {
81757            w: &'a mut W,
81758        }
81759        impl<'a> LCK12_W<'a> {
81760            ///Sets the field bit
81761            #[inline(always)]
81762            pub fn set_bit(self) -> &'a mut W {
81763                self.bit(true)
81764            }
81765            ///Clears the field bit
81766            #[inline(always)]
81767            pub fn clear_bit(self) -> &'a mut W {
81768                self.bit(false)
81769            }
81770            ///Writes raw bits to the field
81771            #[inline(always)]
81772            pub fn bit(self, value: bool) -> &'a mut W {
81773                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
81774                self.w
81775            }
81776        }
81777        ///Reader of field `LCK11`
81778        pub type LCK11_R = crate::R<bool, bool>;
81779        ///Write proxy for field `LCK11`
81780        pub struct LCK11_W<'a> {
81781            w: &'a mut W,
81782        }
81783        impl<'a> LCK11_W<'a> {
81784            ///Sets the field bit
81785            #[inline(always)]
81786            pub fn set_bit(self) -> &'a mut W {
81787                self.bit(true)
81788            }
81789            ///Clears the field bit
81790            #[inline(always)]
81791            pub fn clear_bit(self) -> &'a mut W {
81792                self.bit(false)
81793            }
81794            ///Writes raw bits to the field
81795            #[inline(always)]
81796            pub fn bit(self, value: bool) -> &'a mut W {
81797                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
81798                self.w
81799            }
81800        }
81801        ///Reader of field `LCK10`
81802        pub type LCK10_R = crate::R<bool, bool>;
81803        ///Write proxy for field `LCK10`
81804        pub struct LCK10_W<'a> {
81805            w: &'a mut W,
81806        }
81807        impl<'a> LCK10_W<'a> {
81808            ///Sets the field bit
81809            #[inline(always)]
81810            pub fn set_bit(self) -> &'a mut W {
81811                self.bit(true)
81812            }
81813            ///Clears the field bit
81814            #[inline(always)]
81815            pub fn clear_bit(self) -> &'a mut W {
81816                self.bit(false)
81817            }
81818            ///Writes raw bits to the field
81819            #[inline(always)]
81820            pub fn bit(self, value: bool) -> &'a mut W {
81821                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
81822                self.w
81823            }
81824        }
81825        ///Reader of field `LCK9`
81826        pub type LCK9_R = crate::R<bool, bool>;
81827        ///Write proxy for field `LCK9`
81828        pub struct LCK9_W<'a> {
81829            w: &'a mut W,
81830        }
81831        impl<'a> LCK9_W<'a> {
81832            ///Sets the field bit
81833            #[inline(always)]
81834            pub fn set_bit(self) -> &'a mut W {
81835                self.bit(true)
81836            }
81837            ///Clears the field bit
81838            #[inline(always)]
81839            pub fn clear_bit(self) -> &'a mut W {
81840                self.bit(false)
81841            }
81842            ///Writes raw bits to the field
81843            #[inline(always)]
81844            pub fn bit(self, value: bool) -> &'a mut W {
81845                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
81846                self.w
81847            }
81848        }
81849        ///Reader of field `LCK8`
81850        pub type LCK8_R = crate::R<bool, bool>;
81851        ///Write proxy for field `LCK8`
81852        pub struct LCK8_W<'a> {
81853            w: &'a mut W,
81854        }
81855        impl<'a> LCK8_W<'a> {
81856            ///Sets the field bit
81857            #[inline(always)]
81858            pub fn set_bit(self) -> &'a mut W {
81859                self.bit(true)
81860            }
81861            ///Clears the field bit
81862            #[inline(always)]
81863            pub fn clear_bit(self) -> &'a mut W {
81864                self.bit(false)
81865            }
81866            ///Writes raw bits to the field
81867            #[inline(always)]
81868            pub fn bit(self, value: bool) -> &'a mut W {
81869                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
81870                self.w
81871            }
81872        }
81873        ///Reader of field `LCK7`
81874        pub type LCK7_R = crate::R<bool, bool>;
81875        ///Write proxy for field `LCK7`
81876        pub struct LCK7_W<'a> {
81877            w: &'a mut W,
81878        }
81879        impl<'a> LCK7_W<'a> {
81880            ///Sets the field bit
81881            #[inline(always)]
81882            pub fn set_bit(self) -> &'a mut W {
81883                self.bit(true)
81884            }
81885            ///Clears the field bit
81886            #[inline(always)]
81887            pub fn clear_bit(self) -> &'a mut W {
81888                self.bit(false)
81889            }
81890            ///Writes raw bits to the field
81891            #[inline(always)]
81892            pub fn bit(self, value: bool) -> &'a mut W {
81893                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
81894                self.w
81895            }
81896        }
81897        ///Reader of field `LCK6`
81898        pub type LCK6_R = crate::R<bool, bool>;
81899        ///Write proxy for field `LCK6`
81900        pub struct LCK6_W<'a> {
81901            w: &'a mut W,
81902        }
81903        impl<'a> LCK6_W<'a> {
81904            ///Sets the field bit
81905            #[inline(always)]
81906            pub fn set_bit(self) -> &'a mut W {
81907                self.bit(true)
81908            }
81909            ///Clears the field bit
81910            #[inline(always)]
81911            pub fn clear_bit(self) -> &'a mut W {
81912                self.bit(false)
81913            }
81914            ///Writes raw bits to the field
81915            #[inline(always)]
81916            pub fn bit(self, value: bool) -> &'a mut W {
81917                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
81918                self.w
81919            }
81920        }
81921        ///Reader of field `LCK5`
81922        pub type LCK5_R = crate::R<bool, bool>;
81923        ///Write proxy for field `LCK5`
81924        pub struct LCK5_W<'a> {
81925            w: &'a mut W,
81926        }
81927        impl<'a> LCK5_W<'a> {
81928            ///Sets the field bit
81929            #[inline(always)]
81930            pub fn set_bit(self) -> &'a mut W {
81931                self.bit(true)
81932            }
81933            ///Clears the field bit
81934            #[inline(always)]
81935            pub fn clear_bit(self) -> &'a mut W {
81936                self.bit(false)
81937            }
81938            ///Writes raw bits to the field
81939            #[inline(always)]
81940            pub fn bit(self, value: bool) -> &'a mut W {
81941                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
81942                self.w
81943            }
81944        }
81945        ///Reader of field `LCK4`
81946        pub type LCK4_R = crate::R<bool, bool>;
81947        ///Write proxy for field `LCK4`
81948        pub struct LCK4_W<'a> {
81949            w: &'a mut W,
81950        }
81951        impl<'a> LCK4_W<'a> {
81952            ///Sets the field bit
81953            #[inline(always)]
81954            pub fn set_bit(self) -> &'a mut W {
81955                self.bit(true)
81956            }
81957            ///Clears the field bit
81958            #[inline(always)]
81959            pub fn clear_bit(self) -> &'a mut W {
81960                self.bit(false)
81961            }
81962            ///Writes raw bits to the field
81963            #[inline(always)]
81964            pub fn bit(self, value: bool) -> &'a mut W {
81965                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
81966                self.w
81967            }
81968        }
81969        ///Reader of field `LCK3`
81970        pub type LCK3_R = crate::R<bool, bool>;
81971        ///Write proxy for field `LCK3`
81972        pub struct LCK3_W<'a> {
81973            w: &'a mut W,
81974        }
81975        impl<'a> LCK3_W<'a> {
81976            ///Sets the field bit
81977            #[inline(always)]
81978            pub fn set_bit(self) -> &'a mut W {
81979                self.bit(true)
81980            }
81981            ///Clears the field bit
81982            #[inline(always)]
81983            pub fn clear_bit(self) -> &'a mut W {
81984                self.bit(false)
81985            }
81986            ///Writes raw bits to the field
81987            #[inline(always)]
81988            pub fn bit(self, value: bool) -> &'a mut W {
81989                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
81990                self.w
81991            }
81992        }
81993        ///Reader of field `LCK2`
81994        pub type LCK2_R = crate::R<bool, bool>;
81995        ///Write proxy for field `LCK2`
81996        pub struct LCK2_W<'a> {
81997            w: &'a mut W,
81998        }
81999        impl<'a> LCK2_W<'a> {
82000            ///Sets the field bit
82001            #[inline(always)]
82002            pub fn set_bit(self) -> &'a mut W {
82003                self.bit(true)
82004            }
82005            ///Clears the field bit
82006            #[inline(always)]
82007            pub fn clear_bit(self) -> &'a mut W {
82008                self.bit(false)
82009            }
82010            ///Writes raw bits to the field
82011            #[inline(always)]
82012            pub fn bit(self, value: bool) -> &'a mut W {
82013                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
82014                self.w
82015            }
82016        }
82017        ///Reader of field `LCK1`
82018        pub type LCK1_R = crate::R<bool, bool>;
82019        ///Write proxy for field `LCK1`
82020        pub struct LCK1_W<'a> {
82021            w: &'a mut W,
82022        }
82023        impl<'a> LCK1_W<'a> {
82024            ///Sets the field bit
82025            #[inline(always)]
82026            pub fn set_bit(self) -> &'a mut W {
82027                self.bit(true)
82028            }
82029            ///Clears the field bit
82030            #[inline(always)]
82031            pub fn clear_bit(self) -> &'a mut W {
82032                self.bit(false)
82033            }
82034            ///Writes raw bits to the field
82035            #[inline(always)]
82036            pub fn bit(self, value: bool) -> &'a mut W {
82037                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
82038                self.w
82039            }
82040        }
82041        ///Reader of field `LCK0`
82042        pub type LCK0_R = crate::R<bool, bool>;
82043        ///Write proxy for field `LCK0`
82044        pub struct LCK0_W<'a> {
82045            w: &'a mut W,
82046        }
82047        impl<'a> LCK0_W<'a> {
82048            ///Sets the field bit
82049            #[inline(always)]
82050            pub fn set_bit(self) -> &'a mut W {
82051                self.bit(true)
82052            }
82053            ///Clears the field bit
82054            #[inline(always)]
82055            pub fn clear_bit(self) -> &'a mut W {
82056                self.bit(false)
82057            }
82058            ///Writes raw bits to the field
82059            #[inline(always)]
82060            pub fn bit(self, value: bool) -> &'a mut W {
82061                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
82062                self.w
82063            }
82064        }
82065        impl R {
82066            ///Bit 16 - Port x lock bit y (y= 0..15)
82067            #[inline(always)]
82068            pub fn lckk(&self) -> LCKK_R {
82069                LCKK_R::new(((self.bits >> 16) & 0x01) != 0)
82070            }
82071            ///Bit 15 - Port x lock bit y (y= 0..15)
82072            #[inline(always)]
82073            pub fn lck15(&self) -> LCK15_R {
82074                LCK15_R::new(((self.bits >> 15) & 0x01) != 0)
82075            }
82076            ///Bit 14 - Port x lock bit y (y= 0..15)
82077            #[inline(always)]
82078            pub fn lck14(&self) -> LCK14_R {
82079                LCK14_R::new(((self.bits >> 14) & 0x01) != 0)
82080            }
82081            ///Bit 13 - Port x lock bit y (y= 0..15)
82082            #[inline(always)]
82083            pub fn lck13(&self) -> LCK13_R {
82084                LCK13_R::new(((self.bits >> 13) & 0x01) != 0)
82085            }
82086            ///Bit 12 - Port x lock bit y (y= 0..15)
82087            #[inline(always)]
82088            pub fn lck12(&self) -> LCK12_R {
82089                LCK12_R::new(((self.bits >> 12) & 0x01) != 0)
82090            }
82091            ///Bit 11 - Port x lock bit y (y= 0..15)
82092            #[inline(always)]
82093            pub fn lck11(&self) -> LCK11_R {
82094                LCK11_R::new(((self.bits >> 11) & 0x01) != 0)
82095            }
82096            ///Bit 10 - Port x lock bit y (y= 0..15)
82097            #[inline(always)]
82098            pub fn lck10(&self) -> LCK10_R {
82099                LCK10_R::new(((self.bits >> 10) & 0x01) != 0)
82100            }
82101            ///Bit 9 - Port x lock bit y (y= 0..15)
82102            #[inline(always)]
82103            pub fn lck9(&self) -> LCK9_R {
82104                LCK9_R::new(((self.bits >> 9) & 0x01) != 0)
82105            }
82106            ///Bit 8 - Port x lock bit y (y= 0..15)
82107            #[inline(always)]
82108            pub fn lck8(&self) -> LCK8_R {
82109                LCK8_R::new(((self.bits >> 8) & 0x01) != 0)
82110            }
82111            ///Bit 7 - Port x lock bit y (y= 0..15)
82112            #[inline(always)]
82113            pub fn lck7(&self) -> LCK7_R {
82114                LCK7_R::new(((self.bits >> 7) & 0x01) != 0)
82115            }
82116            ///Bit 6 - Port x lock bit y (y= 0..15)
82117            #[inline(always)]
82118            pub fn lck6(&self) -> LCK6_R {
82119                LCK6_R::new(((self.bits >> 6) & 0x01) != 0)
82120            }
82121            ///Bit 5 - Port x lock bit y (y= 0..15)
82122            #[inline(always)]
82123            pub fn lck5(&self) -> LCK5_R {
82124                LCK5_R::new(((self.bits >> 5) & 0x01) != 0)
82125            }
82126            ///Bit 4 - Port x lock bit y (y= 0..15)
82127            #[inline(always)]
82128            pub fn lck4(&self) -> LCK4_R {
82129                LCK4_R::new(((self.bits >> 4) & 0x01) != 0)
82130            }
82131            ///Bit 3 - Port x lock bit y (y= 0..15)
82132            #[inline(always)]
82133            pub fn lck3(&self) -> LCK3_R {
82134                LCK3_R::new(((self.bits >> 3) & 0x01) != 0)
82135            }
82136            ///Bit 2 - Port x lock bit y (y= 0..15)
82137            #[inline(always)]
82138            pub fn lck2(&self) -> LCK2_R {
82139                LCK2_R::new(((self.bits >> 2) & 0x01) != 0)
82140            }
82141            ///Bit 1 - Port x lock bit y (y= 0..15)
82142            #[inline(always)]
82143            pub fn lck1(&self) -> LCK1_R {
82144                LCK1_R::new(((self.bits >> 1) & 0x01) != 0)
82145            }
82146            ///Bit 0 - Port x lock bit y (y= 0..15)
82147            #[inline(always)]
82148            pub fn lck0(&self) -> LCK0_R {
82149                LCK0_R::new((self.bits & 0x01) != 0)
82150            }
82151        }
82152        impl W {
82153            ///Bit 16 - Port x lock bit y (y= 0..15)
82154            #[inline(always)]
82155            pub fn lckk(&mut self) -> LCKK_W {
82156                LCKK_W { w: self }
82157            }
82158            ///Bit 15 - Port x lock bit y (y= 0..15)
82159            #[inline(always)]
82160            pub fn lck15(&mut self) -> LCK15_W {
82161                LCK15_W { w: self }
82162            }
82163            ///Bit 14 - Port x lock bit y (y= 0..15)
82164            #[inline(always)]
82165            pub fn lck14(&mut self) -> LCK14_W {
82166                LCK14_W { w: self }
82167            }
82168            ///Bit 13 - Port x lock bit y (y= 0..15)
82169            #[inline(always)]
82170            pub fn lck13(&mut self) -> LCK13_W {
82171                LCK13_W { w: self }
82172            }
82173            ///Bit 12 - Port x lock bit y (y= 0..15)
82174            #[inline(always)]
82175            pub fn lck12(&mut self) -> LCK12_W {
82176                LCK12_W { w: self }
82177            }
82178            ///Bit 11 - Port x lock bit y (y= 0..15)
82179            #[inline(always)]
82180            pub fn lck11(&mut self) -> LCK11_W {
82181                LCK11_W { w: self }
82182            }
82183            ///Bit 10 - Port x lock bit y (y= 0..15)
82184            #[inline(always)]
82185            pub fn lck10(&mut self) -> LCK10_W {
82186                LCK10_W { w: self }
82187            }
82188            ///Bit 9 - Port x lock bit y (y= 0..15)
82189            #[inline(always)]
82190            pub fn lck9(&mut self) -> LCK9_W {
82191                LCK9_W { w: self }
82192            }
82193            ///Bit 8 - Port x lock bit y (y= 0..15)
82194            #[inline(always)]
82195            pub fn lck8(&mut self) -> LCK8_W {
82196                LCK8_W { w: self }
82197            }
82198            ///Bit 7 - Port x lock bit y (y= 0..15)
82199            #[inline(always)]
82200            pub fn lck7(&mut self) -> LCK7_W {
82201                LCK7_W { w: self }
82202            }
82203            ///Bit 6 - Port x lock bit y (y= 0..15)
82204            #[inline(always)]
82205            pub fn lck6(&mut self) -> LCK6_W {
82206                LCK6_W { w: self }
82207            }
82208            ///Bit 5 - Port x lock bit y (y= 0..15)
82209            #[inline(always)]
82210            pub fn lck5(&mut self) -> LCK5_W {
82211                LCK5_W { w: self }
82212            }
82213            ///Bit 4 - Port x lock bit y (y= 0..15)
82214            #[inline(always)]
82215            pub fn lck4(&mut self) -> LCK4_W {
82216                LCK4_W { w: self }
82217            }
82218            ///Bit 3 - Port x lock bit y (y= 0..15)
82219            #[inline(always)]
82220            pub fn lck3(&mut self) -> LCK3_W {
82221                LCK3_W { w: self }
82222            }
82223            ///Bit 2 - Port x lock bit y (y= 0..15)
82224            #[inline(always)]
82225            pub fn lck2(&mut self) -> LCK2_W {
82226                LCK2_W { w: self }
82227            }
82228            ///Bit 1 - Port x lock bit y (y= 0..15)
82229            #[inline(always)]
82230            pub fn lck1(&mut self) -> LCK1_W {
82231                LCK1_W { w: self }
82232            }
82233            ///Bit 0 - Port x lock bit y (y= 0..15)
82234            #[inline(always)]
82235            pub fn lck0(&mut self) -> LCK0_W {
82236                LCK0_W { w: self }
82237            }
82238        }
82239    }
82240    ///GPIO alternate function low register
82241    ///
82242    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
82243    ///
82244    ///For information about available fields see [afrl](afrl) module
82245    pub type AFRL = crate::Reg<u32, _AFRL>;
82246    #[allow(missing_docs)]
82247    #[doc(hidden)]
82248    pub struct _AFRL;
82249    ///`read()` method returns [afrl::R](afrl::R) reader structure
82250    impl crate::Readable for AFRL {}
82251    ///`write(|w| ..)` method takes [afrl::W](afrl::W) writer structure
82252    impl crate::Writable for AFRL {}
82253    ///GPIO alternate function low register
82254    pub mod afrl {
82255        ///Reader of register AFRL
82256        pub type R = crate::R<u32, super::AFRL>;
82257        ///Writer for register AFRL
82258        pub type W = crate::W<u32, super::AFRL>;
82259        ///Register AFRL `reset()`'s with value 0
82260        impl crate::ResetValue for super::AFRL {
82261            type Type = u32;
82262            #[inline(always)]
82263            fn reset_value() -> Self::Type {
82264                0
82265            }
82266        }
82267        ///Reader of field `AFSEL7`
82268        pub type AFSEL7_R = crate::R<u8, u8>;
82269        ///Write proxy for field `AFSEL7`
82270        pub struct AFSEL7_W<'a> {
82271            w: &'a mut W,
82272        }
82273        impl<'a> AFSEL7_W<'a> {
82274            ///Writes raw bits to the field
82275            #[inline(always)]
82276            pub unsafe fn bits(self, value: u8) -> &'a mut W {
82277                self.w.bits = (self.w.bits & !(0x0f << 28)) | (((value as u32) & 0x0f) << 28);
82278                self.w
82279            }
82280        }
82281        ///Reader of field `AFSEL6`
82282        pub type AFSEL6_R = crate::R<u8, u8>;
82283        ///Write proxy for field `AFSEL6`
82284        pub struct AFSEL6_W<'a> {
82285            w: &'a mut W,
82286        }
82287        impl<'a> AFSEL6_W<'a> {
82288            ///Writes raw bits to the field
82289            #[inline(always)]
82290            pub unsafe fn bits(self, value: u8) -> &'a mut W {
82291                self.w.bits = (self.w.bits & !(0x0f << 24)) | (((value as u32) & 0x0f) << 24);
82292                self.w
82293            }
82294        }
82295        ///Reader of field `AFSEL5`
82296        pub type AFSEL5_R = crate::R<u8, u8>;
82297        ///Write proxy for field `AFSEL5`
82298        pub struct AFSEL5_W<'a> {
82299            w: &'a mut W,
82300        }
82301        impl<'a> AFSEL5_W<'a> {
82302            ///Writes raw bits to the field
82303            #[inline(always)]
82304            pub unsafe fn bits(self, value: u8) -> &'a mut W {
82305                self.w.bits = (self.w.bits & !(0x0f << 20)) | (((value as u32) & 0x0f) << 20);
82306                self.w
82307            }
82308        }
82309        ///Reader of field `AFSEL4`
82310        pub type AFSEL4_R = crate::R<u8, u8>;
82311        ///Write proxy for field `AFSEL4`
82312        pub struct AFSEL4_W<'a> {
82313            w: &'a mut W,
82314        }
82315        impl<'a> AFSEL4_W<'a> {
82316            ///Writes raw bits to the field
82317            #[inline(always)]
82318            pub unsafe fn bits(self, value: u8) -> &'a mut W {
82319                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
82320                self.w
82321            }
82322        }
82323        ///Reader of field `AFSEL3`
82324        pub type AFSEL3_R = crate::R<u8, u8>;
82325        ///Write proxy for field `AFSEL3`
82326        pub struct AFSEL3_W<'a> {
82327            w: &'a mut W,
82328        }
82329        impl<'a> AFSEL3_W<'a> {
82330            ///Writes raw bits to the field
82331            #[inline(always)]
82332            pub unsafe fn bits(self, value: u8) -> &'a mut W {
82333                self.w.bits = (self.w.bits & !(0x0f << 12)) | (((value as u32) & 0x0f) << 12);
82334                self.w
82335            }
82336        }
82337        ///Reader of field `AFSEL2`
82338        pub type AFSEL2_R = crate::R<u8, u8>;
82339        ///Write proxy for field `AFSEL2`
82340        pub struct AFSEL2_W<'a> {
82341            w: &'a mut W,
82342        }
82343        impl<'a> AFSEL2_W<'a> {
82344            ///Writes raw bits to the field
82345            #[inline(always)]
82346            pub unsafe fn bits(self, value: u8) -> &'a mut W {
82347                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
82348                self.w
82349            }
82350        }
82351        ///Reader of field `AFSEL1`
82352        pub type AFSEL1_R = crate::R<u8, u8>;
82353        ///Write proxy for field `AFSEL1`
82354        pub struct AFSEL1_W<'a> {
82355            w: &'a mut W,
82356        }
82357        impl<'a> AFSEL1_W<'a> {
82358            ///Writes raw bits to the field
82359            #[inline(always)]
82360            pub unsafe fn bits(self, value: u8) -> &'a mut W {
82361                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
82362                self.w
82363            }
82364        }
82365        ///Reader of field `AFSEL0`
82366        pub type AFSEL0_R = crate::R<u8, u8>;
82367        ///Write proxy for field `AFSEL0`
82368        pub struct AFSEL0_W<'a> {
82369            w: &'a mut W,
82370        }
82371        impl<'a> AFSEL0_W<'a> {
82372            ///Writes raw bits to the field
82373            #[inline(always)]
82374            pub unsafe fn bits(self, value: u8) -> &'a mut W {
82375                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
82376                self.w
82377            }
82378        }
82379        impl R {
82380            ///Bits 28:31 - Alternate function selection for port x bit y (y = 0..7)
82381            #[inline(always)]
82382            pub fn afsel7(&self) -> AFSEL7_R {
82383                AFSEL7_R::new(((self.bits >> 28) & 0x0f) as u8)
82384            }
82385            ///Bits 24:27 - Alternate function selection for port x bit y (y = 0..7)
82386            #[inline(always)]
82387            pub fn afsel6(&self) -> AFSEL6_R {
82388                AFSEL6_R::new(((self.bits >> 24) & 0x0f) as u8)
82389            }
82390            ///Bits 20:23 - Alternate function selection for port x bit y (y = 0..7)
82391            #[inline(always)]
82392            pub fn afsel5(&self) -> AFSEL5_R {
82393                AFSEL5_R::new(((self.bits >> 20) & 0x0f) as u8)
82394            }
82395            ///Bits 16:19 - Alternate function selection for port x bit y (y = 0..7)
82396            #[inline(always)]
82397            pub fn afsel4(&self) -> AFSEL4_R {
82398                AFSEL4_R::new(((self.bits >> 16) & 0x0f) as u8)
82399            }
82400            ///Bits 12:15 - Alternate function selection for port x bit y (y = 0..7)
82401            #[inline(always)]
82402            pub fn afsel3(&self) -> AFSEL3_R {
82403                AFSEL3_R::new(((self.bits >> 12) & 0x0f) as u8)
82404            }
82405            ///Bits 8:11 - Alternate function selection for port x bit y (y = 0..7)
82406            #[inline(always)]
82407            pub fn afsel2(&self) -> AFSEL2_R {
82408                AFSEL2_R::new(((self.bits >> 8) & 0x0f) as u8)
82409            }
82410            ///Bits 4:7 - Alternate function selection for port x bit y (y = 0..7)
82411            #[inline(always)]
82412            pub fn afsel1(&self) -> AFSEL1_R {
82413                AFSEL1_R::new(((self.bits >> 4) & 0x0f) as u8)
82414            }
82415            ///Bits 0:3 - Alternate function selection for port x bit y (y = 0..7)
82416            #[inline(always)]
82417            pub fn afsel0(&self) -> AFSEL0_R {
82418                AFSEL0_R::new((self.bits & 0x0f) as u8)
82419            }
82420        }
82421        impl W {
82422            ///Bits 28:31 - Alternate function selection for port x bit y (y = 0..7)
82423            #[inline(always)]
82424            pub fn afsel7(&mut self) -> AFSEL7_W {
82425                AFSEL7_W { w: self }
82426            }
82427            ///Bits 24:27 - Alternate function selection for port x bit y (y = 0..7)
82428            #[inline(always)]
82429            pub fn afsel6(&mut self) -> AFSEL6_W {
82430                AFSEL6_W { w: self }
82431            }
82432            ///Bits 20:23 - Alternate function selection for port x bit y (y = 0..7)
82433            #[inline(always)]
82434            pub fn afsel5(&mut self) -> AFSEL5_W {
82435                AFSEL5_W { w: self }
82436            }
82437            ///Bits 16:19 - Alternate function selection for port x bit y (y = 0..7)
82438            #[inline(always)]
82439            pub fn afsel4(&mut self) -> AFSEL4_W {
82440                AFSEL4_W { w: self }
82441            }
82442            ///Bits 12:15 - Alternate function selection for port x bit y (y = 0..7)
82443            #[inline(always)]
82444            pub fn afsel3(&mut self) -> AFSEL3_W {
82445                AFSEL3_W { w: self }
82446            }
82447            ///Bits 8:11 - Alternate function selection for port x bit y (y = 0..7)
82448            #[inline(always)]
82449            pub fn afsel2(&mut self) -> AFSEL2_W {
82450                AFSEL2_W { w: self }
82451            }
82452            ///Bits 4:7 - Alternate function selection for port x bit y (y = 0..7)
82453            #[inline(always)]
82454            pub fn afsel1(&mut self) -> AFSEL1_W {
82455                AFSEL1_W { w: self }
82456            }
82457            ///Bits 0:3 - Alternate function selection for port x bit y (y = 0..7)
82458            #[inline(always)]
82459            pub fn afsel0(&mut self) -> AFSEL0_W {
82460                AFSEL0_W { w: self }
82461            }
82462        }
82463    }
82464    ///GPIO alternate function high register
82465    ///
82466    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
82467    ///
82468    ///For information about available fields see [afrh](afrh) module
82469    pub type AFRH = crate::Reg<u32, _AFRH>;
82470    #[allow(missing_docs)]
82471    #[doc(hidden)]
82472    pub struct _AFRH;
82473    ///`read()` method returns [afrh::R](afrh::R) reader structure
82474    impl crate::Readable for AFRH {}
82475    ///`write(|w| ..)` method takes [afrh::W](afrh::W) writer structure
82476    impl crate::Writable for AFRH {}
82477    ///GPIO alternate function high register
82478    pub mod afrh {
82479        ///Reader of register AFRH
82480        pub type R = crate::R<u32, super::AFRH>;
82481        ///Writer for register AFRH
82482        pub type W = crate::W<u32, super::AFRH>;
82483        ///Register AFRH `reset()`'s with value 0
82484        impl crate::ResetValue for super::AFRH {
82485            type Type = u32;
82486            #[inline(always)]
82487            fn reset_value() -> Self::Type {
82488                0
82489            }
82490        }
82491        ///Reader of field `AFSEL15`
82492        pub type AFSEL15_R = crate::R<u8, u8>;
82493        ///Write proxy for field `AFSEL15`
82494        pub struct AFSEL15_W<'a> {
82495            w: &'a mut W,
82496        }
82497        impl<'a> AFSEL15_W<'a> {
82498            ///Writes raw bits to the field
82499            #[inline(always)]
82500            pub unsafe fn bits(self, value: u8) -> &'a mut W {
82501                self.w.bits = (self.w.bits & !(0x0f << 28)) | (((value as u32) & 0x0f) << 28);
82502                self.w
82503            }
82504        }
82505        ///Reader of field `AFSEL14`
82506        pub type AFSEL14_R = crate::R<u8, u8>;
82507        ///Write proxy for field `AFSEL14`
82508        pub struct AFSEL14_W<'a> {
82509            w: &'a mut W,
82510        }
82511        impl<'a> AFSEL14_W<'a> {
82512            ///Writes raw bits to the field
82513            #[inline(always)]
82514            pub unsafe fn bits(self, value: u8) -> &'a mut W {
82515                self.w.bits = (self.w.bits & !(0x0f << 24)) | (((value as u32) & 0x0f) << 24);
82516                self.w
82517            }
82518        }
82519        ///Reader of field `AFSEL13`
82520        pub type AFSEL13_R = crate::R<u8, u8>;
82521        ///Write proxy for field `AFSEL13`
82522        pub struct AFSEL13_W<'a> {
82523            w: &'a mut W,
82524        }
82525        impl<'a> AFSEL13_W<'a> {
82526            ///Writes raw bits to the field
82527            #[inline(always)]
82528            pub unsafe fn bits(self, value: u8) -> &'a mut W {
82529                self.w.bits = (self.w.bits & !(0x0f << 20)) | (((value as u32) & 0x0f) << 20);
82530                self.w
82531            }
82532        }
82533        ///Reader of field `AFSEL12`
82534        pub type AFSEL12_R = crate::R<u8, u8>;
82535        ///Write proxy for field `AFSEL12`
82536        pub struct AFSEL12_W<'a> {
82537            w: &'a mut W,
82538        }
82539        impl<'a> AFSEL12_W<'a> {
82540            ///Writes raw bits to the field
82541            #[inline(always)]
82542            pub unsafe fn bits(self, value: u8) -> &'a mut W {
82543                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
82544                self.w
82545            }
82546        }
82547        ///Reader of field `AFSEL11`
82548        pub type AFSEL11_R = crate::R<u8, u8>;
82549        ///Write proxy for field `AFSEL11`
82550        pub struct AFSEL11_W<'a> {
82551            w: &'a mut W,
82552        }
82553        impl<'a> AFSEL11_W<'a> {
82554            ///Writes raw bits to the field
82555            #[inline(always)]
82556            pub unsafe fn bits(self, value: u8) -> &'a mut W {
82557                self.w.bits = (self.w.bits & !(0x0f << 12)) | (((value as u32) & 0x0f) << 12);
82558                self.w
82559            }
82560        }
82561        ///Reader of field `AFSEL10`
82562        pub type AFSEL10_R = crate::R<u8, u8>;
82563        ///Write proxy for field `AFSEL10`
82564        pub struct AFSEL10_W<'a> {
82565            w: &'a mut W,
82566        }
82567        impl<'a> AFSEL10_W<'a> {
82568            ///Writes raw bits to the field
82569            #[inline(always)]
82570            pub unsafe fn bits(self, value: u8) -> &'a mut W {
82571                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
82572                self.w
82573            }
82574        }
82575        ///Reader of field `AFSEL9`
82576        pub type AFSEL9_R = crate::R<u8, u8>;
82577        ///Write proxy for field `AFSEL9`
82578        pub struct AFSEL9_W<'a> {
82579            w: &'a mut W,
82580        }
82581        impl<'a> AFSEL9_W<'a> {
82582            ///Writes raw bits to the field
82583            #[inline(always)]
82584            pub unsafe fn bits(self, value: u8) -> &'a mut W {
82585                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
82586                self.w
82587            }
82588        }
82589        ///Reader of field `AFSEL8`
82590        pub type AFSEL8_R = crate::R<u8, u8>;
82591        ///Write proxy for field `AFSEL8`
82592        pub struct AFSEL8_W<'a> {
82593            w: &'a mut W,
82594        }
82595        impl<'a> AFSEL8_W<'a> {
82596            ///Writes raw bits to the field
82597            #[inline(always)]
82598            pub unsafe fn bits(self, value: u8) -> &'a mut W {
82599                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
82600                self.w
82601            }
82602        }
82603        impl R {
82604            ///Bits 28:31 - Alternate function selection for port x bit y (y = 8..15)
82605            #[inline(always)]
82606            pub fn afsel15(&self) -> AFSEL15_R {
82607                AFSEL15_R::new(((self.bits >> 28) & 0x0f) as u8)
82608            }
82609            ///Bits 24:27 - Alternate function selection for port x bit y (y = 8..15)
82610            #[inline(always)]
82611            pub fn afsel14(&self) -> AFSEL14_R {
82612                AFSEL14_R::new(((self.bits >> 24) & 0x0f) as u8)
82613            }
82614            ///Bits 20:23 - Alternate function selection for port x bit y (y = 8..15)
82615            #[inline(always)]
82616            pub fn afsel13(&self) -> AFSEL13_R {
82617                AFSEL13_R::new(((self.bits >> 20) & 0x0f) as u8)
82618            }
82619            ///Bits 16:19 - Alternate function selection for port x bit y (y = 8..15)
82620            #[inline(always)]
82621            pub fn afsel12(&self) -> AFSEL12_R {
82622                AFSEL12_R::new(((self.bits >> 16) & 0x0f) as u8)
82623            }
82624            ///Bits 12:15 - Alternate function selection for port x bit y (y = 8..15)
82625            #[inline(always)]
82626            pub fn afsel11(&self) -> AFSEL11_R {
82627                AFSEL11_R::new(((self.bits >> 12) & 0x0f) as u8)
82628            }
82629            ///Bits 8:11 - Alternate function selection for port x bit y (y = 8..15)
82630            #[inline(always)]
82631            pub fn afsel10(&self) -> AFSEL10_R {
82632                AFSEL10_R::new(((self.bits >> 8) & 0x0f) as u8)
82633            }
82634            ///Bits 4:7 - Alternate function selection for port x bit y (y = 8..15)
82635            #[inline(always)]
82636            pub fn afsel9(&self) -> AFSEL9_R {
82637                AFSEL9_R::new(((self.bits >> 4) & 0x0f) as u8)
82638            }
82639            ///Bits 0:3 - Alternate function selection for port x bit y (y = 8..15)
82640            #[inline(always)]
82641            pub fn afsel8(&self) -> AFSEL8_R {
82642                AFSEL8_R::new((self.bits & 0x0f) as u8)
82643            }
82644        }
82645        impl W {
82646            ///Bits 28:31 - Alternate function selection for port x bit y (y = 8..15)
82647            #[inline(always)]
82648            pub fn afsel15(&mut self) -> AFSEL15_W {
82649                AFSEL15_W { w: self }
82650            }
82651            ///Bits 24:27 - Alternate function selection for port x bit y (y = 8..15)
82652            #[inline(always)]
82653            pub fn afsel14(&mut self) -> AFSEL14_W {
82654                AFSEL14_W { w: self }
82655            }
82656            ///Bits 20:23 - Alternate function selection for port x bit y (y = 8..15)
82657            #[inline(always)]
82658            pub fn afsel13(&mut self) -> AFSEL13_W {
82659                AFSEL13_W { w: self }
82660            }
82661            ///Bits 16:19 - Alternate function selection for port x bit y (y = 8..15)
82662            #[inline(always)]
82663            pub fn afsel12(&mut self) -> AFSEL12_W {
82664                AFSEL12_W { w: self }
82665            }
82666            ///Bits 12:15 - Alternate function selection for port x bit y (y = 8..15)
82667            #[inline(always)]
82668            pub fn afsel11(&mut self) -> AFSEL11_W {
82669                AFSEL11_W { w: self }
82670            }
82671            ///Bits 8:11 - Alternate function selection for port x bit y (y = 8..15)
82672            #[inline(always)]
82673            pub fn afsel10(&mut self) -> AFSEL10_W {
82674                AFSEL10_W { w: self }
82675            }
82676            ///Bits 4:7 - Alternate function selection for port x bit y (y = 8..15)
82677            #[inline(always)]
82678            pub fn afsel9(&mut self) -> AFSEL9_W {
82679                AFSEL9_W { w: self }
82680            }
82681            ///Bits 0:3 - Alternate function selection for port x bit y (y = 8..15)
82682            #[inline(always)]
82683            pub fn afsel8(&mut self) -> AFSEL8_W {
82684                AFSEL8_W { w: self }
82685            }
82686        }
82687    }
82688    ///port bit reset register
82689    ///
82690    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
82691    ///
82692    ///For information about available fields see [brr](brr) module
82693    pub type BRR = crate::Reg<u32, _BRR>;
82694    #[allow(missing_docs)]
82695    #[doc(hidden)]
82696    pub struct _BRR;
82697    ///`write(|w| ..)` method takes [brr::W](brr::W) writer structure
82698    impl crate::Writable for BRR {}
82699    ///port bit reset register
82700    pub mod brr {
82701        ///Writer for register BRR
82702        pub type W = crate::W<u32, super::BRR>;
82703        ///Register BRR `reset()`'s with value 0
82704        impl crate::ResetValue for super::BRR {
82705            type Type = u32;
82706            #[inline(always)]
82707            fn reset_value() -> Self::Type {
82708                0
82709            }
82710        }
82711        ///Write proxy for field `BR0`
82712        pub struct BR0_W<'a> {
82713            w: &'a mut W,
82714        }
82715        impl<'a> BR0_W<'a> {
82716            ///Sets the field bit
82717            #[inline(always)]
82718            pub fn set_bit(self) -> &'a mut W {
82719                self.bit(true)
82720            }
82721            ///Clears the field bit
82722            #[inline(always)]
82723            pub fn clear_bit(self) -> &'a mut W {
82724                self.bit(false)
82725            }
82726            ///Writes raw bits to the field
82727            #[inline(always)]
82728            pub fn bit(self, value: bool) -> &'a mut W {
82729                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
82730                self.w
82731            }
82732        }
82733        ///Write proxy for field `BR1`
82734        pub struct BR1_W<'a> {
82735            w: &'a mut W,
82736        }
82737        impl<'a> BR1_W<'a> {
82738            ///Sets the field bit
82739            #[inline(always)]
82740            pub fn set_bit(self) -> &'a mut W {
82741                self.bit(true)
82742            }
82743            ///Clears the field bit
82744            #[inline(always)]
82745            pub fn clear_bit(self) -> &'a mut W {
82746                self.bit(false)
82747            }
82748            ///Writes raw bits to the field
82749            #[inline(always)]
82750            pub fn bit(self, value: bool) -> &'a mut W {
82751                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
82752                self.w
82753            }
82754        }
82755        ///Write proxy for field `BR2`
82756        pub struct BR2_W<'a> {
82757            w: &'a mut W,
82758        }
82759        impl<'a> BR2_W<'a> {
82760            ///Sets the field bit
82761            #[inline(always)]
82762            pub fn set_bit(self) -> &'a mut W {
82763                self.bit(true)
82764            }
82765            ///Clears the field bit
82766            #[inline(always)]
82767            pub fn clear_bit(self) -> &'a mut W {
82768                self.bit(false)
82769            }
82770            ///Writes raw bits to the field
82771            #[inline(always)]
82772            pub fn bit(self, value: bool) -> &'a mut W {
82773                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
82774                self.w
82775            }
82776        }
82777        ///Write proxy for field `BR3`
82778        pub struct BR3_W<'a> {
82779            w: &'a mut W,
82780        }
82781        impl<'a> BR3_W<'a> {
82782            ///Sets the field bit
82783            #[inline(always)]
82784            pub fn set_bit(self) -> &'a mut W {
82785                self.bit(true)
82786            }
82787            ///Clears the field bit
82788            #[inline(always)]
82789            pub fn clear_bit(self) -> &'a mut W {
82790                self.bit(false)
82791            }
82792            ///Writes raw bits to the field
82793            #[inline(always)]
82794            pub fn bit(self, value: bool) -> &'a mut W {
82795                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
82796                self.w
82797            }
82798        }
82799        ///Write proxy for field `BR4`
82800        pub struct BR4_W<'a> {
82801            w: &'a mut W,
82802        }
82803        impl<'a> BR4_W<'a> {
82804            ///Sets the field bit
82805            #[inline(always)]
82806            pub fn set_bit(self) -> &'a mut W {
82807                self.bit(true)
82808            }
82809            ///Clears the field bit
82810            #[inline(always)]
82811            pub fn clear_bit(self) -> &'a mut W {
82812                self.bit(false)
82813            }
82814            ///Writes raw bits to the field
82815            #[inline(always)]
82816            pub fn bit(self, value: bool) -> &'a mut W {
82817                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
82818                self.w
82819            }
82820        }
82821        ///Write proxy for field `BR5`
82822        pub struct BR5_W<'a> {
82823            w: &'a mut W,
82824        }
82825        impl<'a> BR5_W<'a> {
82826            ///Sets the field bit
82827            #[inline(always)]
82828            pub fn set_bit(self) -> &'a mut W {
82829                self.bit(true)
82830            }
82831            ///Clears the field bit
82832            #[inline(always)]
82833            pub fn clear_bit(self) -> &'a mut W {
82834                self.bit(false)
82835            }
82836            ///Writes raw bits to the field
82837            #[inline(always)]
82838            pub fn bit(self, value: bool) -> &'a mut W {
82839                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
82840                self.w
82841            }
82842        }
82843        ///Write proxy for field `BR6`
82844        pub struct BR6_W<'a> {
82845            w: &'a mut W,
82846        }
82847        impl<'a> BR6_W<'a> {
82848            ///Sets the field bit
82849            #[inline(always)]
82850            pub fn set_bit(self) -> &'a mut W {
82851                self.bit(true)
82852            }
82853            ///Clears the field bit
82854            #[inline(always)]
82855            pub fn clear_bit(self) -> &'a mut W {
82856                self.bit(false)
82857            }
82858            ///Writes raw bits to the field
82859            #[inline(always)]
82860            pub fn bit(self, value: bool) -> &'a mut W {
82861                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
82862                self.w
82863            }
82864        }
82865        ///Write proxy for field `BR7`
82866        pub struct BR7_W<'a> {
82867            w: &'a mut W,
82868        }
82869        impl<'a> BR7_W<'a> {
82870            ///Sets the field bit
82871            #[inline(always)]
82872            pub fn set_bit(self) -> &'a mut W {
82873                self.bit(true)
82874            }
82875            ///Clears the field bit
82876            #[inline(always)]
82877            pub fn clear_bit(self) -> &'a mut W {
82878                self.bit(false)
82879            }
82880            ///Writes raw bits to the field
82881            #[inline(always)]
82882            pub fn bit(self, value: bool) -> &'a mut W {
82883                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
82884                self.w
82885            }
82886        }
82887        ///Write proxy for field `BR8`
82888        pub struct BR8_W<'a> {
82889            w: &'a mut W,
82890        }
82891        impl<'a> BR8_W<'a> {
82892            ///Sets the field bit
82893            #[inline(always)]
82894            pub fn set_bit(self) -> &'a mut W {
82895                self.bit(true)
82896            }
82897            ///Clears the field bit
82898            #[inline(always)]
82899            pub fn clear_bit(self) -> &'a mut W {
82900                self.bit(false)
82901            }
82902            ///Writes raw bits to the field
82903            #[inline(always)]
82904            pub fn bit(self, value: bool) -> &'a mut W {
82905                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
82906                self.w
82907            }
82908        }
82909        ///Write proxy for field `BR9`
82910        pub struct BR9_W<'a> {
82911            w: &'a mut W,
82912        }
82913        impl<'a> BR9_W<'a> {
82914            ///Sets the field bit
82915            #[inline(always)]
82916            pub fn set_bit(self) -> &'a mut W {
82917                self.bit(true)
82918            }
82919            ///Clears the field bit
82920            #[inline(always)]
82921            pub fn clear_bit(self) -> &'a mut W {
82922                self.bit(false)
82923            }
82924            ///Writes raw bits to the field
82925            #[inline(always)]
82926            pub fn bit(self, value: bool) -> &'a mut W {
82927                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
82928                self.w
82929            }
82930        }
82931        ///Write proxy for field `BR10`
82932        pub struct BR10_W<'a> {
82933            w: &'a mut W,
82934        }
82935        impl<'a> BR10_W<'a> {
82936            ///Sets the field bit
82937            #[inline(always)]
82938            pub fn set_bit(self) -> &'a mut W {
82939                self.bit(true)
82940            }
82941            ///Clears the field bit
82942            #[inline(always)]
82943            pub fn clear_bit(self) -> &'a mut W {
82944                self.bit(false)
82945            }
82946            ///Writes raw bits to the field
82947            #[inline(always)]
82948            pub fn bit(self, value: bool) -> &'a mut W {
82949                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
82950                self.w
82951            }
82952        }
82953        ///Write proxy for field `BR11`
82954        pub struct BR11_W<'a> {
82955            w: &'a mut W,
82956        }
82957        impl<'a> BR11_W<'a> {
82958            ///Sets the field bit
82959            #[inline(always)]
82960            pub fn set_bit(self) -> &'a mut W {
82961                self.bit(true)
82962            }
82963            ///Clears the field bit
82964            #[inline(always)]
82965            pub fn clear_bit(self) -> &'a mut W {
82966                self.bit(false)
82967            }
82968            ///Writes raw bits to the field
82969            #[inline(always)]
82970            pub fn bit(self, value: bool) -> &'a mut W {
82971                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
82972                self.w
82973            }
82974        }
82975        ///Write proxy for field `BR12`
82976        pub struct BR12_W<'a> {
82977            w: &'a mut W,
82978        }
82979        impl<'a> BR12_W<'a> {
82980            ///Sets the field bit
82981            #[inline(always)]
82982            pub fn set_bit(self) -> &'a mut W {
82983                self.bit(true)
82984            }
82985            ///Clears the field bit
82986            #[inline(always)]
82987            pub fn clear_bit(self) -> &'a mut W {
82988                self.bit(false)
82989            }
82990            ///Writes raw bits to the field
82991            #[inline(always)]
82992            pub fn bit(self, value: bool) -> &'a mut W {
82993                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
82994                self.w
82995            }
82996        }
82997        ///Write proxy for field `BR13`
82998        pub struct BR13_W<'a> {
82999            w: &'a mut W,
83000        }
83001        impl<'a> BR13_W<'a> {
83002            ///Sets the field bit
83003            #[inline(always)]
83004            pub fn set_bit(self) -> &'a mut W {
83005                self.bit(true)
83006            }
83007            ///Clears the field bit
83008            #[inline(always)]
83009            pub fn clear_bit(self) -> &'a mut W {
83010                self.bit(false)
83011            }
83012            ///Writes raw bits to the field
83013            #[inline(always)]
83014            pub fn bit(self, value: bool) -> &'a mut W {
83015                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
83016                self.w
83017            }
83018        }
83019        ///Write proxy for field `BR14`
83020        pub struct BR14_W<'a> {
83021            w: &'a mut W,
83022        }
83023        impl<'a> BR14_W<'a> {
83024            ///Sets the field bit
83025            #[inline(always)]
83026            pub fn set_bit(self) -> &'a mut W {
83027                self.bit(true)
83028            }
83029            ///Clears the field bit
83030            #[inline(always)]
83031            pub fn clear_bit(self) -> &'a mut W {
83032                self.bit(false)
83033            }
83034            ///Writes raw bits to the field
83035            #[inline(always)]
83036            pub fn bit(self, value: bool) -> &'a mut W {
83037                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
83038                self.w
83039            }
83040        }
83041        ///Write proxy for field `BR15`
83042        pub struct BR15_W<'a> {
83043            w: &'a mut W,
83044        }
83045        impl<'a> BR15_W<'a> {
83046            ///Sets the field bit
83047            #[inline(always)]
83048            pub fn set_bit(self) -> &'a mut W {
83049                self.bit(true)
83050            }
83051            ///Clears the field bit
83052            #[inline(always)]
83053            pub fn clear_bit(self) -> &'a mut W {
83054                self.bit(false)
83055            }
83056            ///Writes raw bits to the field
83057            #[inline(always)]
83058            pub fn bit(self, value: bool) -> &'a mut W {
83059                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
83060                self.w
83061            }
83062        }
83063        impl W {
83064            ///Bit 0 - Port Reset bit
83065            #[inline(always)]
83066            pub fn br0(&mut self) -> BR0_W {
83067                BR0_W { w: self }
83068            }
83069            ///Bit 1 - Port Reset bit
83070            #[inline(always)]
83071            pub fn br1(&mut self) -> BR1_W {
83072                BR1_W { w: self }
83073            }
83074            ///Bit 2 - Port Reset bit
83075            #[inline(always)]
83076            pub fn br2(&mut self) -> BR2_W {
83077                BR2_W { w: self }
83078            }
83079            ///Bit 3 - Port Reset bit
83080            #[inline(always)]
83081            pub fn br3(&mut self) -> BR3_W {
83082                BR3_W { w: self }
83083            }
83084            ///Bit 4 - Port Reset bit
83085            #[inline(always)]
83086            pub fn br4(&mut self) -> BR4_W {
83087                BR4_W { w: self }
83088            }
83089            ///Bit 5 - Port Reset bit
83090            #[inline(always)]
83091            pub fn br5(&mut self) -> BR5_W {
83092                BR5_W { w: self }
83093            }
83094            ///Bit 6 - Port Reset bit
83095            #[inline(always)]
83096            pub fn br6(&mut self) -> BR6_W {
83097                BR6_W { w: self }
83098            }
83099            ///Bit 7 - Port Reset bit
83100            #[inline(always)]
83101            pub fn br7(&mut self) -> BR7_W {
83102                BR7_W { w: self }
83103            }
83104            ///Bit 8 - Port Reset bit
83105            #[inline(always)]
83106            pub fn br8(&mut self) -> BR8_W {
83107                BR8_W { w: self }
83108            }
83109            ///Bit 9 - Port Reset bit
83110            #[inline(always)]
83111            pub fn br9(&mut self) -> BR9_W {
83112                BR9_W { w: self }
83113            }
83114            ///Bit 10 - Port Reset bit
83115            #[inline(always)]
83116            pub fn br10(&mut self) -> BR10_W {
83117                BR10_W { w: self }
83118            }
83119            ///Bit 11 - Port Reset bit
83120            #[inline(always)]
83121            pub fn br11(&mut self) -> BR11_W {
83122                BR11_W { w: self }
83123            }
83124            ///Bit 12 - Port Reset bit
83125            #[inline(always)]
83126            pub fn br12(&mut self) -> BR12_W {
83127                BR12_W { w: self }
83128            }
83129            ///Bit 13 - Port Reset bit
83130            #[inline(always)]
83131            pub fn br13(&mut self) -> BR13_W {
83132                BR13_W { w: self }
83133            }
83134            ///Bit 14 - Port Reset bit
83135            #[inline(always)]
83136            pub fn br14(&mut self) -> BR14_W {
83137                BR14_W { w: self }
83138            }
83139            ///Bit 15 - Port Reset bit
83140            #[inline(always)]
83141            pub fn br15(&mut self) -> BR15_W {
83142                BR15_W { w: self }
83143            }
83144        }
83145    }
83146}
83147///General-purpose I/Os
83148pub struct GPIOB {
83149    _marker: PhantomData<*const ()>,
83150}
83151unsafe impl Send for GPIOB {}
83152impl GPIOB {
83153    ///Returns a pointer to the register block
83154    #[inline(always)]
83155    pub const fn ptr() -> *const gpiob::RegisterBlock {
83156        0x4800_0400 as *const _
83157    }
83158}
83159impl Deref for GPIOB {
83160    type Target = gpiob::RegisterBlock;
83161    #[inline(always)]
83162    fn deref(&self) -> &Self::Target {
83163        unsafe { &*GPIOB::ptr() }
83164    }
83165}
83166///General-purpose I/Os
83167pub mod gpiob {
83168    ///Register block
83169    #[repr(C)]
83170    pub struct RegisterBlock {
83171        ///0x00 - GPIO port mode register
83172        pub moder: MODER,
83173        ///0x04 - GPIO port output type register
83174        pub otyper: OTYPER,
83175        ///0x08 - GPIO port output speed register
83176        pub ospeedr: OSPEEDR,
83177        ///0x0c - GPIO port pull-up/pull-down register
83178        pub pupdr: PUPDR,
83179        ///0x10 - GPIO port input data register
83180        pub idr: IDR,
83181        ///0x14 - GPIO port output data register
83182        pub odr: ODR,
83183        ///0x18 - GPIO port bit set/reset register
83184        pub bsrr: BSRR,
83185        ///0x1c - GPIO port configuration lock register
83186        pub lckr: LCKR,
83187        ///0x20 - GPIO alternate function low register
83188        pub afrl: AFRL,
83189        ///0x24 - GPIO alternate function high register
83190        pub afrh: AFRH,
83191        ///0x28 - port bit reset register
83192        pub brr: BRR,
83193    }
83194    ///GPIO port mode register
83195    ///
83196    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
83197    ///
83198    ///For information about available fields see [moder](moder) module
83199    pub type MODER = crate::Reg<u32, _MODER>;
83200    #[allow(missing_docs)]
83201    #[doc(hidden)]
83202    pub struct _MODER;
83203    ///`read()` method returns [moder::R](moder::R) reader structure
83204    impl crate::Readable for MODER {}
83205    ///`write(|w| ..)` method takes [moder::W](moder::W) writer structure
83206    impl crate::Writable for MODER {}
83207    ///GPIO port mode register
83208    pub mod moder {
83209        ///Reader of register MODER
83210        pub type R = crate::R<u32, super::MODER>;
83211        ///Writer for register MODER
83212        pub type W = crate::W<u32, super::MODER>;
83213        ///Register MODER `reset()`'s with value 0xffff_febf
83214        impl crate::ResetValue for super::MODER {
83215            type Type = u32;
83216            #[inline(always)]
83217            fn reset_value() -> Self::Type {
83218                0xffff_febf
83219            }
83220        }
83221        ///Reader of field `MODER15`
83222        pub type MODER15_R = crate::R<u8, u8>;
83223        ///Write proxy for field `MODER15`
83224        pub struct MODER15_W<'a> {
83225            w: &'a mut W,
83226        }
83227        impl<'a> MODER15_W<'a> {
83228            ///Writes raw bits to the field
83229            #[inline(always)]
83230            pub unsafe fn bits(self, value: u8) -> &'a mut W {
83231                self.w.bits = (self.w.bits & !(0x03 << 30)) | (((value as u32) & 0x03) << 30);
83232                self.w
83233            }
83234        }
83235        ///Reader of field `MODER14`
83236        pub type MODER14_R = crate::R<u8, u8>;
83237        ///Write proxy for field `MODER14`
83238        pub struct MODER14_W<'a> {
83239            w: &'a mut W,
83240        }
83241        impl<'a> MODER14_W<'a> {
83242            ///Writes raw bits to the field
83243            #[inline(always)]
83244            pub unsafe fn bits(self, value: u8) -> &'a mut W {
83245                self.w.bits = (self.w.bits & !(0x03 << 28)) | (((value as u32) & 0x03) << 28);
83246                self.w
83247            }
83248        }
83249        ///Reader of field `MODER13`
83250        pub type MODER13_R = crate::R<u8, u8>;
83251        ///Write proxy for field `MODER13`
83252        pub struct MODER13_W<'a> {
83253            w: &'a mut W,
83254        }
83255        impl<'a> MODER13_W<'a> {
83256            ///Writes raw bits to the field
83257            #[inline(always)]
83258            pub unsafe fn bits(self, value: u8) -> &'a mut W {
83259                self.w.bits = (self.w.bits & !(0x03 << 26)) | (((value as u32) & 0x03) << 26);
83260                self.w
83261            }
83262        }
83263        ///Reader of field `MODER12`
83264        pub type MODER12_R = crate::R<u8, u8>;
83265        ///Write proxy for field `MODER12`
83266        pub struct MODER12_W<'a> {
83267            w: &'a mut W,
83268        }
83269        impl<'a> MODER12_W<'a> {
83270            ///Writes raw bits to the field
83271            #[inline(always)]
83272            pub unsafe fn bits(self, value: u8) -> &'a mut W {
83273                self.w.bits = (self.w.bits & !(0x03 << 24)) | (((value as u32) & 0x03) << 24);
83274                self.w
83275            }
83276        }
83277        ///Reader of field `MODER11`
83278        pub type MODER11_R = crate::R<u8, u8>;
83279        ///Write proxy for field `MODER11`
83280        pub struct MODER11_W<'a> {
83281            w: &'a mut W,
83282        }
83283        impl<'a> MODER11_W<'a> {
83284            ///Writes raw bits to the field
83285            #[inline(always)]
83286            pub unsafe fn bits(self, value: u8) -> &'a mut W {
83287                self.w.bits = (self.w.bits & !(0x03 << 22)) | (((value as u32) & 0x03) << 22);
83288                self.w
83289            }
83290        }
83291        ///Reader of field `MODER10`
83292        pub type MODER10_R = crate::R<u8, u8>;
83293        ///Write proxy for field `MODER10`
83294        pub struct MODER10_W<'a> {
83295            w: &'a mut W,
83296        }
83297        impl<'a> MODER10_W<'a> {
83298            ///Writes raw bits to the field
83299            #[inline(always)]
83300            pub unsafe fn bits(self, value: u8) -> &'a mut W {
83301                self.w.bits = (self.w.bits & !(0x03 << 20)) | (((value as u32) & 0x03) << 20);
83302                self.w
83303            }
83304        }
83305        ///Reader of field `MODER9`
83306        pub type MODER9_R = crate::R<u8, u8>;
83307        ///Write proxy for field `MODER9`
83308        pub struct MODER9_W<'a> {
83309            w: &'a mut W,
83310        }
83311        impl<'a> MODER9_W<'a> {
83312            ///Writes raw bits to the field
83313            #[inline(always)]
83314            pub unsafe fn bits(self, value: u8) -> &'a mut W {
83315                self.w.bits = (self.w.bits & !(0x03 << 18)) | (((value as u32) & 0x03) << 18);
83316                self.w
83317            }
83318        }
83319        ///Reader of field `MODER8`
83320        pub type MODER8_R = crate::R<u8, u8>;
83321        ///Write proxy for field `MODER8`
83322        pub struct MODER8_W<'a> {
83323            w: &'a mut W,
83324        }
83325        impl<'a> MODER8_W<'a> {
83326            ///Writes raw bits to the field
83327            #[inline(always)]
83328            pub unsafe fn bits(self, value: u8) -> &'a mut W {
83329                self.w.bits = (self.w.bits & !(0x03 << 16)) | (((value as u32) & 0x03) << 16);
83330                self.w
83331            }
83332        }
83333        ///Reader of field `MODER7`
83334        pub type MODER7_R = crate::R<u8, u8>;
83335        ///Write proxy for field `MODER7`
83336        pub struct MODER7_W<'a> {
83337            w: &'a mut W,
83338        }
83339        impl<'a> MODER7_W<'a> {
83340            ///Writes raw bits to the field
83341            #[inline(always)]
83342            pub unsafe fn bits(self, value: u8) -> &'a mut W {
83343                self.w.bits = (self.w.bits & !(0x03 << 14)) | (((value as u32) & 0x03) << 14);
83344                self.w
83345            }
83346        }
83347        ///Reader of field `MODER6`
83348        pub type MODER6_R = crate::R<u8, u8>;
83349        ///Write proxy for field `MODER6`
83350        pub struct MODER6_W<'a> {
83351            w: &'a mut W,
83352        }
83353        impl<'a> MODER6_W<'a> {
83354            ///Writes raw bits to the field
83355            #[inline(always)]
83356            pub unsafe fn bits(self, value: u8) -> &'a mut W {
83357                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
83358                self.w
83359            }
83360        }
83361        ///Reader of field `MODER5`
83362        pub type MODER5_R = crate::R<u8, u8>;
83363        ///Write proxy for field `MODER5`
83364        pub struct MODER5_W<'a> {
83365            w: &'a mut W,
83366        }
83367        impl<'a> MODER5_W<'a> {
83368            ///Writes raw bits to the field
83369            #[inline(always)]
83370            pub unsafe fn bits(self, value: u8) -> &'a mut W {
83371                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
83372                self.w
83373            }
83374        }
83375        ///Reader of field `MODER4`
83376        pub type MODER4_R = crate::R<u8, u8>;
83377        ///Write proxy for field `MODER4`
83378        pub struct MODER4_W<'a> {
83379            w: &'a mut W,
83380        }
83381        impl<'a> MODER4_W<'a> {
83382            ///Writes raw bits to the field
83383            #[inline(always)]
83384            pub unsafe fn bits(self, value: u8) -> &'a mut W {
83385                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
83386                self.w
83387            }
83388        }
83389        ///Reader of field `MODER3`
83390        pub type MODER3_R = crate::R<u8, u8>;
83391        ///Write proxy for field `MODER3`
83392        pub struct MODER3_W<'a> {
83393            w: &'a mut W,
83394        }
83395        impl<'a> MODER3_W<'a> {
83396            ///Writes raw bits to the field
83397            #[inline(always)]
83398            pub unsafe fn bits(self, value: u8) -> &'a mut W {
83399                self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
83400                self.w
83401            }
83402        }
83403        ///Reader of field `MODER2`
83404        pub type MODER2_R = crate::R<u8, u8>;
83405        ///Write proxy for field `MODER2`
83406        pub struct MODER2_W<'a> {
83407            w: &'a mut W,
83408        }
83409        impl<'a> MODER2_W<'a> {
83410            ///Writes raw bits to the field
83411            #[inline(always)]
83412            pub unsafe fn bits(self, value: u8) -> &'a mut W {
83413                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u32) & 0x03) << 4);
83414                self.w
83415            }
83416        }
83417        ///Reader of field `MODER1`
83418        pub type MODER1_R = crate::R<u8, u8>;
83419        ///Write proxy for field `MODER1`
83420        pub struct MODER1_W<'a> {
83421            w: &'a mut W,
83422        }
83423        impl<'a> MODER1_W<'a> {
83424            ///Writes raw bits to the field
83425            #[inline(always)]
83426            pub unsafe fn bits(self, value: u8) -> &'a mut W {
83427                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
83428                self.w
83429            }
83430        }
83431        ///Reader of field `MODER0`
83432        pub type MODER0_R = crate::R<u8, u8>;
83433        ///Write proxy for field `MODER0`
83434        pub struct MODER0_W<'a> {
83435            w: &'a mut W,
83436        }
83437        impl<'a> MODER0_W<'a> {
83438            ///Writes raw bits to the field
83439            #[inline(always)]
83440            pub unsafe fn bits(self, value: u8) -> &'a mut W {
83441                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
83442                self.w
83443            }
83444        }
83445        impl R {
83446            ///Bits 30:31 - Port x configuration bits (y = 0..15)
83447            #[inline(always)]
83448            pub fn moder15(&self) -> MODER15_R {
83449                MODER15_R::new(((self.bits >> 30) & 0x03) as u8)
83450            }
83451            ///Bits 28:29 - Port x configuration bits (y = 0..15)
83452            #[inline(always)]
83453            pub fn moder14(&self) -> MODER14_R {
83454                MODER14_R::new(((self.bits >> 28) & 0x03) as u8)
83455            }
83456            ///Bits 26:27 - Port x configuration bits (y = 0..15)
83457            #[inline(always)]
83458            pub fn moder13(&self) -> MODER13_R {
83459                MODER13_R::new(((self.bits >> 26) & 0x03) as u8)
83460            }
83461            ///Bits 24:25 - Port x configuration bits (y = 0..15)
83462            #[inline(always)]
83463            pub fn moder12(&self) -> MODER12_R {
83464                MODER12_R::new(((self.bits >> 24) & 0x03) as u8)
83465            }
83466            ///Bits 22:23 - Port x configuration bits (y = 0..15)
83467            #[inline(always)]
83468            pub fn moder11(&self) -> MODER11_R {
83469                MODER11_R::new(((self.bits >> 22) & 0x03) as u8)
83470            }
83471            ///Bits 20:21 - Port x configuration bits (y = 0..15)
83472            #[inline(always)]
83473            pub fn moder10(&self) -> MODER10_R {
83474                MODER10_R::new(((self.bits >> 20) & 0x03) as u8)
83475            }
83476            ///Bits 18:19 - Port x configuration bits (y = 0..15)
83477            #[inline(always)]
83478            pub fn moder9(&self) -> MODER9_R {
83479                MODER9_R::new(((self.bits >> 18) & 0x03) as u8)
83480            }
83481            ///Bits 16:17 - Port x configuration bits (y = 0..15)
83482            #[inline(always)]
83483            pub fn moder8(&self) -> MODER8_R {
83484                MODER8_R::new(((self.bits >> 16) & 0x03) as u8)
83485            }
83486            ///Bits 14:15 - Port x configuration bits (y = 0..15)
83487            #[inline(always)]
83488            pub fn moder7(&self) -> MODER7_R {
83489                MODER7_R::new(((self.bits >> 14) & 0x03) as u8)
83490            }
83491            ///Bits 12:13 - Port x configuration bits (y = 0..15)
83492            #[inline(always)]
83493            pub fn moder6(&self) -> MODER6_R {
83494                MODER6_R::new(((self.bits >> 12) & 0x03) as u8)
83495            }
83496            ///Bits 10:11 - Port x configuration bits (y = 0..15)
83497            #[inline(always)]
83498            pub fn moder5(&self) -> MODER5_R {
83499                MODER5_R::new(((self.bits >> 10) & 0x03) as u8)
83500            }
83501            ///Bits 8:9 - Port x configuration bits (y = 0..15)
83502            #[inline(always)]
83503            pub fn moder4(&self) -> MODER4_R {
83504                MODER4_R::new(((self.bits >> 8) & 0x03) as u8)
83505            }
83506            ///Bits 6:7 - Port x configuration bits (y = 0..15)
83507            #[inline(always)]
83508            pub fn moder3(&self) -> MODER3_R {
83509                MODER3_R::new(((self.bits >> 6) & 0x03) as u8)
83510            }
83511            ///Bits 4:5 - Port x configuration bits (y = 0..15)
83512            #[inline(always)]
83513            pub fn moder2(&self) -> MODER2_R {
83514                MODER2_R::new(((self.bits >> 4) & 0x03) as u8)
83515            }
83516            ///Bits 2:3 - Port x configuration bits (y = 0..15)
83517            #[inline(always)]
83518            pub fn moder1(&self) -> MODER1_R {
83519                MODER1_R::new(((self.bits >> 2) & 0x03) as u8)
83520            }
83521            ///Bits 0:1 - Port x configuration bits (y = 0..15)
83522            #[inline(always)]
83523            pub fn moder0(&self) -> MODER0_R {
83524                MODER0_R::new((self.bits & 0x03) as u8)
83525            }
83526        }
83527        impl W {
83528            ///Bits 30:31 - Port x configuration bits (y = 0..15)
83529            #[inline(always)]
83530            pub fn moder15(&mut self) -> MODER15_W {
83531                MODER15_W { w: self }
83532            }
83533            ///Bits 28:29 - Port x configuration bits (y = 0..15)
83534            #[inline(always)]
83535            pub fn moder14(&mut self) -> MODER14_W {
83536                MODER14_W { w: self }
83537            }
83538            ///Bits 26:27 - Port x configuration bits (y = 0..15)
83539            #[inline(always)]
83540            pub fn moder13(&mut self) -> MODER13_W {
83541                MODER13_W { w: self }
83542            }
83543            ///Bits 24:25 - Port x configuration bits (y = 0..15)
83544            #[inline(always)]
83545            pub fn moder12(&mut self) -> MODER12_W {
83546                MODER12_W { w: self }
83547            }
83548            ///Bits 22:23 - Port x configuration bits (y = 0..15)
83549            #[inline(always)]
83550            pub fn moder11(&mut self) -> MODER11_W {
83551                MODER11_W { w: self }
83552            }
83553            ///Bits 20:21 - Port x configuration bits (y = 0..15)
83554            #[inline(always)]
83555            pub fn moder10(&mut self) -> MODER10_W {
83556                MODER10_W { w: self }
83557            }
83558            ///Bits 18:19 - Port x configuration bits (y = 0..15)
83559            #[inline(always)]
83560            pub fn moder9(&mut self) -> MODER9_W {
83561                MODER9_W { w: self }
83562            }
83563            ///Bits 16:17 - Port x configuration bits (y = 0..15)
83564            #[inline(always)]
83565            pub fn moder8(&mut self) -> MODER8_W {
83566                MODER8_W { w: self }
83567            }
83568            ///Bits 14:15 - Port x configuration bits (y = 0..15)
83569            #[inline(always)]
83570            pub fn moder7(&mut self) -> MODER7_W {
83571                MODER7_W { w: self }
83572            }
83573            ///Bits 12:13 - Port x configuration bits (y = 0..15)
83574            #[inline(always)]
83575            pub fn moder6(&mut self) -> MODER6_W {
83576                MODER6_W { w: self }
83577            }
83578            ///Bits 10:11 - Port x configuration bits (y = 0..15)
83579            #[inline(always)]
83580            pub fn moder5(&mut self) -> MODER5_W {
83581                MODER5_W { w: self }
83582            }
83583            ///Bits 8:9 - Port x configuration bits (y = 0..15)
83584            #[inline(always)]
83585            pub fn moder4(&mut self) -> MODER4_W {
83586                MODER4_W { w: self }
83587            }
83588            ///Bits 6:7 - Port x configuration bits (y = 0..15)
83589            #[inline(always)]
83590            pub fn moder3(&mut self) -> MODER3_W {
83591                MODER3_W { w: self }
83592            }
83593            ///Bits 4:5 - Port x configuration bits (y = 0..15)
83594            #[inline(always)]
83595            pub fn moder2(&mut self) -> MODER2_W {
83596                MODER2_W { w: self }
83597            }
83598            ///Bits 2:3 - Port x configuration bits (y = 0..15)
83599            #[inline(always)]
83600            pub fn moder1(&mut self) -> MODER1_W {
83601                MODER1_W { w: self }
83602            }
83603            ///Bits 0:1 - Port x configuration bits (y = 0..15)
83604            #[inline(always)]
83605            pub fn moder0(&mut self) -> MODER0_W {
83606                MODER0_W { w: self }
83607            }
83608        }
83609    }
83610    ///GPIO port output type register
83611    ///
83612    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
83613    ///
83614    ///For information about available fields see [otyper](otyper) module
83615    pub type OTYPER = crate::Reg<u32, _OTYPER>;
83616    #[allow(missing_docs)]
83617    #[doc(hidden)]
83618    pub struct _OTYPER;
83619    ///`read()` method returns [otyper::R](otyper::R) reader structure
83620    impl crate::Readable for OTYPER {}
83621    ///`write(|w| ..)` method takes [otyper::W](otyper::W) writer structure
83622    impl crate::Writable for OTYPER {}
83623    ///GPIO port output type register
83624    pub mod otyper {
83625        ///Reader of register OTYPER
83626        pub type R = crate::R<u32, super::OTYPER>;
83627        ///Writer for register OTYPER
83628        pub type W = crate::W<u32, super::OTYPER>;
83629        ///Register OTYPER `reset()`'s with value 0
83630        impl crate::ResetValue for super::OTYPER {
83631            type Type = u32;
83632            #[inline(always)]
83633            fn reset_value() -> Self::Type {
83634                0
83635            }
83636        }
83637        ///Reader of field `OT15`
83638        pub type OT15_R = crate::R<bool, bool>;
83639        ///Write proxy for field `OT15`
83640        pub struct OT15_W<'a> {
83641            w: &'a mut W,
83642        }
83643        impl<'a> OT15_W<'a> {
83644            ///Sets the field bit
83645            #[inline(always)]
83646            pub fn set_bit(self) -> &'a mut W {
83647                self.bit(true)
83648            }
83649            ///Clears the field bit
83650            #[inline(always)]
83651            pub fn clear_bit(self) -> &'a mut W {
83652                self.bit(false)
83653            }
83654            ///Writes raw bits to the field
83655            #[inline(always)]
83656            pub fn bit(self, value: bool) -> &'a mut W {
83657                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
83658                self.w
83659            }
83660        }
83661        ///Reader of field `OT14`
83662        pub type OT14_R = crate::R<bool, bool>;
83663        ///Write proxy for field `OT14`
83664        pub struct OT14_W<'a> {
83665            w: &'a mut W,
83666        }
83667        impl<'a> OT14_W<'a> {
83668            ///Sets the field bit
83669            #[inline(always)]
83670            pub fn set_bit(self) -> &'a mut W {
83671                self.bit(true)
83672            }
83673            ///Clears the field bit
83674            #[inline(always)]
83675            pub fn clear_bit(self) -> &'a mut W {
83676                self.bit(false)
83677            }
83678            ///Writes raw bits to the field
83679            #[inline(always)]
83680            pub fn bit(self, value: bool) -> &'a mut W {
83681                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
83682                self.w
83683            }
83684        }
83685        ///Reader of field `OT13`
83686        pub type OT13_R = crate::R<bool, bool>;
83687        ///Write proxy for field `OT13`
83688        pub struct OT13_W<'a> {
83689            w: &'a mut W,
83690        }
83691        impl<'a> OT13_W<'a> {
83692            ///Sets the field bit
83693            #[inline(always)]
83694            pub fn set_bit(self) -> &'a mut W {
83695                self.bit(true)
83696            }
83697            ///Clears the field bit
83698            #[inline(always)]
83699            pub fn clear_bit(self) -> &'a mut W {
83700                self.bit(false)
83701            }
83702            ///Writes raw bits to the field
83703            #[inline(always)]
83704            pub fn bit(self, value: bool) -> &'a mut W {
83705                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
83706                self.w
83707            }
83708        }
83709        ///Reader of field `OT12`
83710        pub type OT12_R = crate::R<bool, bool>;
83711        ///Write proxy for field `OT12`
83712        pub struct OT12_W<'a> {
83713            w: &'a mut W,
83714        }
83715        impl<'a> OT12_W<'a> {
83716            ///Sets the field bit
83717            #[inline(always)]
83718            pub fn set_bit(self) -> &'a mut W {
83719                self.bit(true)
83720            }
83721            ///Clears the field bit
83722            #[inline(always)]
83723            pub fn clear_bit(self) -> &'a mut W {
83724                self.bit(false)
83725            }
83726            ///Writes raw bits to the field
83727            #[inline(always)]
83728            pub fn bit(self, value: bool) -> &'a mut W {
83729                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
83730                self.w
83731            }
83732        }
83733        ///Reader of field `OT11`
83734        pub type OT11_R = crate::R<bool, bool>;
83735        ///Write proxy for field `OT11`
83736        pub struct OT11_W<'a> {
83737            w: &'a mut W,
83738        }
83739        impl<'a> OT11_W<'a> {
83740            ///Sets the field bit
83741            #[inline(always)]
83742            pub fn set_bit(self) -> &'a mut W {
83743                self.bit(true)
83744            }
83745            ///Clears the field bit
83746            #[inline(always)]
83747            pub fn clear_bit(self) -> &'a mut W {
83748                self.bit(false)
83749            }
83750            ///Writes raw bits to the field
83751            #[inline(always)]
83752            pub fn bit(self, value: bool) -> &'a mut W {
83753                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
83754                self.w
83755            }
83756        }
83757        ///Reader of field `OT10`
83758        pub type OT10_R = crate::R<bool, bool>;
83759        ///Write proxy for field `OT10`
83760        pub struct OT10_W<'a> {
83761            w: &'a mut W,
83762        }
83763        impl<'a> OT10_W<'a> {
83764            ///Sets the field bit
83765            #[inline(always)]
83766            pub fn set_bit(self) -> &'a mut W {
83767                self.bit(true)
83768            }
83769            ///Clears the field bit
83770            #[inline(always)]
83771            pub fn clear_bit(self) -> &'a mut W {
83772                self.bit(false)
83773            }
83774            ///Writes raw bits to the field
83775            #[inline(always)]
83776            pub fn bit(self, value: bool) -> &'a mut W {
83777                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
83778                self.w
83779            }
83780        }
83781        ///Reader of field `OT9`
83782        pub type OT9_R = crate::R<bool, bool>;
83783        ///Write proxy for field `OT9`
83784        pub struct OT9_W<'a> {
83785            w: &'a mut W,
83786        }
83787        impl<'a> OT9_W<'a> {
83788            ///Sets the field bit
83789            #[inline(always)]
83790            pub fn set_bit(self) -> &'a mut W {
83791                self.bit(true)
83792            }
83793            ///Clears the field bit
83794            #[inline(always)]
83795            pub fn clear_bit(self) -> &'a mut W {
83796                self.bit(false)
83797            }
83798            ///Writes raw bits to the field
83799            #[inline(always)]
83800            pub fn bit(self, value: bool) -> &'a mut W {
83801                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
83802                self.w
83803            }
83804        }
83805        ///Reader of field `OT8`
83806        pub type OT8_R = crate::R<bool, bool>;
83807        ///Write proxy for field `OT8`
83808        pub struct OT8_W<'a> {
83809            w: &'a mut W,
83810        }
83811        impl<'a> OT8_W<'a> {
83812            ///Sets the field bit
83813            #[inline(always)]
83814            pub fn set_bit(self) -> &'a mut W {
83815                self.bit(true)
83816            }
83817            ///Clears the field bit
83818            #[inline(always)]
83819            pub fn clear_bit(self) -> &'a mut W {
83820                self.bit(false)
83821            }
83822            ///Writes raw bits to the field
83823            #[inline(always)]
83824            pub fn bit(self, value: bool) -> &'a mut W {
83825                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
83826                self.w
83827            }
83828        }
83829        ///Reader of field `OT7`
83830        pub type OT7_R = crate::R<bool, bool>;
83831        ///Write proxy for field `OT7`
83832        pub struct OT7_W<'a> {
83833            w: &'a mut W,
83834        }
83835        impl<'a> OT7_W<'a> {
83836            ///Sets the field bit
83837            #[inline(always)]
83838            pub fn set_bit(self) -> &'a mut W {
83839                self.bit(true)
83840            }
83841            ///Clears the field bit
83842            #[inline(always)]
83843            pub fn clear_bit(self) -> &'a mut W {
83844                self.bit(false)
83845            }
83846            ///Writes raw bits to the field
83847            #[inline(always)]
83848            pub fn bit(self, value: bool) -> &'a mut W {
83849                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
83850                self.w
83851            }
83852        }
83853        ///Reader of field `OT6`
83854        pub type OT6_R = crate::R<bool, bool>;
83855        ///Write proxy for field `OT6`
83856        pub struct OT6_W<'a> {
83857            w: &'a mut W,
83858        }
83859        impl<'a> OT6_W<'a> {
83860            ///Sets the field bit
83861            #[inline(always)]
83862            pub fn set_bit(self) -> &'a mut W {
83863                self.bit(true)
83864            }
83865            ///Clears the field bit
83866            #[inline(always)]
83867            pub fn clear_bit(self) -> &'a mut W {
83868                self.bit(false)
83869            }
83870            ///Writes raw bits to the field
83871            #[inline(always)]
83872            pub fn bit(self, value: bool) -> &'a mut W {
83873                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
83874                self.w
83875            }
83876        }
83877        ///Reader of field `OT5`
83878        pub type OT5_R = crate::R<bool, bool>;
83879        ///Write proxy for field `OT5`
83880        pub struct OT5_W<'a> {
83881            w: &'a mut W,
83882        }
83883        impl<'a> OT5_W<'a> {
83884            ///Sets the field bit
83885            #[inline(always)]
83886            pub fn set_bit(self) -> &'a mut W {
83887                self.bit(true)
83888            }
83889            ///Clears the field bit
83890            #[inline(always)]
83891            pub fn clear_bit(self) -> &'a mut W {
83892                self.bit(false)
83893            }
83894            ///Writes raw bits to the field
83895            #[inline(always)]
83896            pub fn bit(self, value: bool) -> &'a mut W {
83897                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
83898                self.w
83899            }
83900        }
83901        ///Reader of field `OT4`
83902        pub type OT4_R = crate::R<bool, bool>;
83903        ///Write proxy for field `OT4`
83904        pub struct OT4_W<'a> {
83905            w: &'a mut W,
83906        }
83907        impl<'a> OT4_W<'a> {
83908            ///Sets the field bit
83909            #[inline(always)]
83910            pub fn set_bit(self) -> &'a mut W {
83911                self.bit(true)
83912            }
83913            ///Clears the field bit
83914            #[inline(always)]
83915            pub fn clear_bit(self) -> &'a mut W {
83916                self.bit(false)
83917            }
83918            ///Writes raw bits to the field
83919            #[inline(always)]
83920            pub fn bit(self, value: bool) -> &'a mut W {
83921                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
83922                self.w
83923            }
83924        }
83925        ///Reader of field `OT3`
83926        pub type OT3_R = crate::R<bool, bool>;
83927        ///Write proxy for field `OT3`
83928        pub struct OT3_W<'a> {
83929            w: &'a mut W,
83930        }
83931        impl<'a> OT3_W<'a> {
83932            ///Sets the field bit
83933            #[inline(always)]
83934            pub fn set_bit(self) -> &'a mut W {
83935                self.bit(true)
83936            }
83937            ///Clears the field bit
83938            #[inline(always)]
83939            pub fn clear_bit(self) -> &'a mut W {
83940                self.bit(false)
83941            }
83942            ///Writes raw bits to the field
83943            #[inline(always)]
83944            pub fn bit(self, value: bool) -> &'a mut W {
83945                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
83946                self.w
83947            }
83948        }
83949        ///Reader of field `OT2`
83950        pub type OT2_R = crate::R<bool, bool>;
83951        ///Write proxy for field `OT2`
83952        pub struct OT2_W<'a> {
83953            w: &'a mut W,
83954        }
83955        impl<'a> OT2_W<'a> {
83956            ///Sets the field bit
83957            #[inline(always)]
83958            pub fn set_bit(self) -> &'a mut W {
83959                self.bit(true)
83960            }
83961            ///Clears the field bit
83962            #[inline(always)]
83963            pub fn clear_bit(self) -> &'a mut W {
83964                self.bit(false)
83965            }
83966            ///Writes raw bits to the field
83967            #[inline(always)]
83968            pub fn bit(self, value: bool) -> &'a mut W {
83969                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
83970                self.w
83971            }
83972        }
83973        ///Reader of field `OT1`
83974        pub type OT1_R = crate::R<bool, bool>;
83975        ///Write proxy for field `OT1`
83976        pub struct OT1_W<'a> {
83977            w: &'a mut W,
83978        }
83979        impl<'a> OT1_W<'a> {
83980            ///Sets the field bit
83981            #[inline(always)]
83982            pub fn set_bit(self) -> &'a mut W {
83983                self.bit(true)
83984            }
83985            ///Clears the field bit
83986            #[inline(always)]
83987            pub fn clear_bit(self) -> &'a mut W {
83988                self.bit(false)
83989            }
83990            ///Writes raw bits to the field
83991            #[inline(always)]
83992            pub fn bit(self, value: bool) -> &'a mut W {
83993                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
83994                self.w
83995            }
83996        }
83997        ///Reader of field `OT0`
83998        pub type OT0_R = crate::R<bool, bool>;
83999        ///Write proxy for field `OT0`
84000        pub struct OT0_W<'a> {
84001            w: &'a mut W,
84002        }
84003        impl<'a> OT0_W<'a> {
84004            ///Sets the field bit
84005            #[inline(always)]
84006            pub fn set_bit(self) -> &'a mut W {
84007                self.bit(true)
84008            }
84009            ///Clears the field bit
84010            #[inline(always)]
84011            pub fn clear_bit(self) -> &'a mut W {
84012                self.bit(false)
84013            }
84014            ///Writes raw bits to the field
84015            #[inline(always)]
84016            pub fn bit(self, value: bool) -> &'a mut W {
84017                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
84018                self.w
84019            }
84020        }
84021        impl R {
84022            ///Bit 15 - Port x configuration bits (y = 0..15)
84023            #[inline(always)]
84024            pub fn ot15(&self) -> OT15_R {
84025                OT15_R::new(((self.bits >> 15) & 0x01) != 0)
84026            }
84027            ///Bit 14 - Port x configuration bits (y = 0..15)
84028            #[inline(always)]
84029            pub fn ot14(&self) -> OT14_R {
84030                OT14_R::new(((self.bits >> 14) & 0x01) != 0)
84031            }
84032            ///Bit 13 - Port x configuration bits (y = 0..15)
84033            #[inline(always)]
84034            pub fn ot13(&self) -> OT13_R {
84035                OT13_R::new(((self.bits >> 13) & 0x01) != 0)
84036            }
84037            ///Bit 12 - Port x configuration bits (y = 0..15)
84038            #[inline(always)]
84039            pub fn ot12(&self) -> OT12_R {
84040                OT12_R::new(((self.bits >> 12) & 0x01) != 0)
84041            }
84042            ///Bit 11 - Port x configuration bits (y = 0..15)
84043            #[inline(always)]
84044            pub fn ot11(&self) -> OT11_R {
84045                OT11_R::new(((self.bits >> 11) & 0x01) != 0)
84046            }
84047            ///Bit 10 - Port x configuration bits (y = 0..15)
84048            #[inline(always)]
84049            pub fn ot10(&self) -> OT10_R {
84050                OT10_R::new(((self.bits >> 10) & 0x01) != 0)
84051            }
84052            ///Bit 9 - Port x configuration bits (y = 0..15)
84053            #[inline(always)]
84054            pub fn ot9(&self) -> OT9_R {
84055                OT9_R::new(((self.bits >> 9) & 0x01) != 0)
84056            }
84057            ///Bit 8 - Port x configuration bits (y = 0..15)
84058            #[inline(always)]
84059            pub fn ot8(&self) -> OT8_R {
84060                OT8_R::new(((self.bits >> 8) & 0x01) != 0)
84061            }
84062            ///Bit 7 - Port x configuration bits (y = 0..15)
84063            #[inline(always)]
84064            pub fn ot7(&self) -> OT7_R {
84065                OT7_R::new(((self.bits >> 7) & 0x01) != 0)
84066            }
84067            ///Bit 6 - Port x configuration bits (y = 0..15)
84068            #[inline(always)]
84069            pub fn ot6(&self) -> OT6_R {
84070                OT6_R::new(((self.bits >> 6) & 0x01) != 0)
84071            }
84072            ///Bit 5 - Port x configuration bits (y = 0..15)
84073            #[inline(always)]
84074            pub fn ot5(&self) -> OT5_R {
84075                OT5_R::new(((self.bits >> 5) & 0x01) != 0)
84076            }
84077            ///Bit 4 - Port x configuration bits (y = 0..15)
84078            #[inline(always)]
84079            pub fn ot4(&self) -> OT4_R {
84080                OT4_R::new(((self.bits >> 4) & 0x01) != 0)
84081            }
84082            ///Bit 3 - Port x configuration bits (y = 0..15)
84083            #[inline(always)]
84084            pub fn ot3(&self) -> OT3_R {
84085                OT3_R::new(((self.bits >> 3) & 0x01) != 0)
84086            }
84087            ///Bit 2 - Port x configuration bits (y = 0..15)
84088            #[inline(always)]
84089            pub fn ot2(&self) -> OT2_R {
84090                OT2_R::new(((self.bits >> 2) & 0x01) != 0)
84091            }
84092            ///Bit 1 - Port x configuration bits (y = 0..15)
84093            #[inline(always)]
84094            pub fn ot1(&self) -> OT1_R {
84095                OT1_R::new(((self.bits >> 1) & 0x01) != 0)
84096            }
84097            ///Bit 0 - Port x configuration bits (y = 0..15)
84098            #[inline(always)]
84099            pub fn ot0(&self) -> OT0_R {
84100                OT0_R::new((self.bits & 0x01) != 0)
84101            }
84102        }
84103        impl W {
84104            ///Bit 15 - Port x configuration bits (y = 0..15)
84105            #[inline(always)]
84106            pub fn ot15(&mut self) -> OT15_W {
84107                OT15_W { w: self }
84108            }
84109            ///Bit 14 - Port x configuration bits (y = 0..15)
84110            #[inline(always)]
84111            pub fn ot14(&mut self) -> OT14_W {
84112                OT14_W { w: self }
84113            }
84114            ///Bit 13 - Port x configuration bits (y = 0..15)
84115            #[inline(always)]
84116            pub fn ot13(&mut self) -> OT13_W {
84117                OT13_W { w: self }
84118            }
84119            ///Bit 12 - Port x configuration bits (y = 0..15)
84120            #[inline(always)]
84121            pub fn ot12(&mut self) -> OT12_W {
84122                OT12_W { w: self }
84123            }
84124            ///Bit 11 - Port x configuration bits (y = 0..15)
84125            #[inline(always)]
84126            pub fn ot11(&mut self) -> OT11_W {
84127                OT11_W { w: self }
84128            }
84129            ///Bit 10 - Port x configuration bits (y = 0..15)
84130            #[inline(always)]
84131            pub fn ot10(&mut self) -> OT10_W {
84132                OT10_W { w: self }
84133            }
84134            ///Bit 9 - Port x configuration bits (y = 0..15)
84135            #[inline(always)]
84136            pub fn ot9(&mut self) -> OT9_W {
84137                OT9_W { w: self }
84138            }
84139            ///Bit 8 - Port x configuration bits (y = 0..15)
84140            #[inline(always)]
84141            pub fn ot8(&mut self) -> OT8_W {
84142                OT8_W { w: self }
84143            }
84144            ///Bit 7 - Port x configuration bits (y = 0..15)
84145            #[inline(always)]
84146            pub fn ot7(&mut self) -> OT7_W {
84147                OT7_W { w: self }
84148            }
84149            ///Bit 6 - Port x configuration bits (y = 0..15)
84150            #[inline(always)]
84151            pub fn ot6(&mut self) -> OT6_W {
84152                OT6_W { w: self }
84153            }
84154            ///Bit 5 - Port x configuration bits (y = 0..15)
84155            #[inline(always)]
84156            pub fn ot5(&mut self) -> OT5_W {
84157                OT5_W { w: self }
84158            }
84159            ///Bit 4 - Port x configuration bits (y = 0..15)
84160            #[inline(always)]
84161            pub fn ot4(&mut self) -> OT4_W {
84162                OT4_W { w: self }
84163            }
84164            ///Bit 3 - Port x configuration bits (y = 0..15)
84165            #[inline(always)]
84166            pub fn ot3(&mut self) -> OT3_W {
84167                OT3_W { w: self }
84168            }
84169            ///Bit 2 - Port x configuration bits (y = 0..15)
84170            #[inline(always)]
84171            pub fn ot2(&mut self) -> OT2_W {
84172                OT2_W { w: self }
84173            }
84174            ///Bit 1 - Port x configuration bits (y = 0..15)
84175            #[inline(always)]
84176            pub fn ot1(&mut self) -> OT1_W {
84177                OT1_W { w: self }
84178            }
84179            ///Bit 0 - Port x configuration bits (y = 0..15)
84180            #[inline(always)]
84181            pub fn ot0(&mut self) -> OT0_W {
84182                OT0_W { w: self }
84183            }
84184        }
84185    }
84186    ///GPIO port output speed register
84187    ///
84188    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
84189    ///
84190    ///For information about available fields see [ospeedr](ospeedr) module
84191    pub type OSPEEDR = crate::Reg<u32, _OSPEEDR>;
84192    #[allow(missing_docs)]
84193    #[doc(hidden)]
84194    pub struct _OSPEEDR;
84195    ///`read()` method returns [ospeedr::R](ospeedr::R) reader structure
84196    impl crate::Readable for OSPEEDR {}
84197    ///`write(|w| ..)` method takes [ospeedr::W](ospeedr::W) writer structure
84198    impl crate::Writable for OSPEEDR {}
84199    ///GPIO port output speed register
84200    pub mod ospeedr {
84201        ///Reader of register OSPEEDR
84202        pub type R = crate::R<u32, super::OSPEEDR>;
84203        ///Writer for register OSPEEDR
84204        pub type W = crate::W<u32, super::OSPEEDR>;
84205        ///Register OSPEEDR `reset()`'s with value 0xc0
84206        impl crate::ResetValue for super::OSPEEDR {
84207            type Type = u32;
84208            #[inline(always)]
84209            fn reset_value() -> Self::Type {
84210                0xc0
84211            }
84212        }
84213        ///Reader of field `OSPEEDR15`
84214        pub type OSPEEDR15_R = crate::R<u8, u8>;
84215        ///Write proxy for field `OSPEEDR15`
84216        pub struct OSPEEDR15_W<'a> {
84217            w: &'a mut W,
84218        }
84219        impl<'a> OSPEEDR15_W<'a> {
84220            ///Writes raw bits to the field
84221            #[inline(always)]
84222            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84223                self.w.bits = (self.w.bits & !(0x03 << 30)) | (((value as u32) & 0x03) << 30);
84224                self.w
84225            }
84226        }
84227        ///Reader of field `OSPEEDR14`
84228        pub type OSPEEDR14_R = crate::R<u8, u8>;
84229        ///Write proxy for field `OSPEEDR14`
84230        pub struct OSPEEDR14_W<'a> {
84231            w: &'a mut W,
84232        }
84233        impl<'a> OSPEEDR14_W<'a> {
84234            ///Writes raw bits to the field
84235            #[inline(always)]
84236            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84237                self.w.bits = (self.w.bits & !(0x03 << 28)) | (((value as u32) & 0x03) << 28);
84238                self.w
84239            }
84240        }
84241        ///Reader of field `OSPEEDR13`
84242        pub type OSPEEDR13_R = crate::R<u8, u8>;
84243        ///Write proxy for field `OSPEEDR13`
84244        pub struct OSPEEDR13_W<'a> {
84245            w: &'a mut W,
84246        }
84247        impl<'a> OSPEEDR13_W<'a> {
84248            ///Writes raw bits to the field
84249            #[inline(always)]
84250            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84251                self.w.bits = (self.w.bits & !(0x03 << 26)) | (((value as u32) & 0x03) << 26);
84252                self.w
84253            }
84254        }
84255        ///Reader of field `OSPEEDR12`
84256        pub type OSPEEDR12_R = crate::R<u8, u8>;
84257        ///Write proxy for field `OSPEEDR12`
84258        pub struct OSPEEDR12_W<'a> {
84259            w: &'a mut W,
84260        }
84261        impl<'a> OSPEEDR12_W<'a> {
84262            ///Writes raw bits to the field
84263            #[inline(always)]
84264            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84265                self.w.bits = (self.w.bits & !(0x03 << 24)) | (((value as u32) & 0x03) << 24);
84266                self.w
84267            }
84268        }
84269        ///Reader of field `OSPEEDR11`
84270        pub type OSPEEDR11_R = crate::R<u8, u8>;
84271        ///Write proxy for field `OSPEEDR11`
84272        pub struct OSPEEDR11_W<'a> {
84273            w: &'a mut W,
84274        }
84275        impl<'a> OSPEEDR11_W<'a> {
84276            ///Writes raw bits to the field
84277            #[inline(always)]
84278            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84279                self.w.bits = (self.w.bits & !(0x03 << 22)) | (((value as u32) & 0x03) << 22);
84280                self.w
84281            }
84282        }
84283        ///Reader of field `OSPEEDR10`
84284        pub type OSPEEDR10_R = crate::R<u8, u8>;
84285        ///Write proxy for field `OSPEEDR10`
84286        pub struct OSPEEDR10_W<'a> {
84287            w: &'a mut W,
84288        }
84289        impl<'a> OSPEEDR10_W<'a> {
84290            ///Writes raw bits to the field
84291            #[inline(always)]
84292            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84293                self.w.bits = (self.w.bits & !(0x03 << 20)) | (((value as u32) & 0x03) << 20);
84294                self.w
84295            }
84296        }
84297        ///Reader of field `OSPEEDR9`
84298        pub type OSPEEDR9_R = crate::R<u8, u8>;
84299        ///Write proxy for field `OSPEEDR9`
84300        pub struct OSPEEDR9_W<'a> {
84301            w: &'a mut W,
84302        }
84303        impl<'a> OSPEEDR9_W<'a> {
84304            ///Writes raw bits to the field
84305            #[inline(always)]
84306            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84307                self.w.bits = (self.w.bits & !(0x03 << 18)) | (((value as u32) & 0x03) << 18);
84308                self.w
84309            }
84310        }
84311        ///Reader of field `OSPEEDR8`
84312        pub type OSPEEDR8_R = crate::R<u8, u8>;
84313        ///Write proxy for field `OSPEEDR8`
84314        pub struct OSPEEDR8_W<'a> {
84315            w: &'a mut W,
84316        }
84317        impl<'a> OSPEEDR8_W<'a> {
84318            ///Writes raw bits to the field
84319            #[inline(always)]
84320            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84321                self.w.bits = (self.w.bits & !(0x03 << 16)) | (((value as u32) & 0x03) << 16);
84322                self.w
84323            }
84324        }
84325        ///Reader of field `OSPEEDR7`
84326        pub type OSPEEDR7_R = crate::R<u8, u8>;
84327        ///Write proxy for field `OSPEEDR7`
84328        pub struct OSPEEDR7_W<'a> {
84329            w: &'a mut W,
84330        }
84331        impl<'a> OSPEEDR7_W<'a> {
84332            ///Writes raw bits to the field
84333            #[inline(always)]
84334            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84335                self.w.bits = (self.w.bits & !(0x03 << 14)) | (((value as u32) & 0x03) << 14);
84336                self.w
84337            }
84338        }
84339        ///Reader of field `OSPEEDR6`
84340        pub type OSPEEDR6_R = crate::R<u8, u8>;
84341        ///Write proxy for field `OSPEEDR6`
84342        pub struct OSPEEDR6_W<'a> {
84343            w: &'a mut W,
84344        }
84345        impl<'a> OSPEEDR6_W<'a> {
84346            ///Writes raw bits to the field
84347            #[inline(always)]
84348            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84349                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
84350                self.w
84351            }
84352        }
84353        ///Reader of field `OSPEEDR5`
84354        pub type OSPEEDR5_R = crate::R<u8, u8>;
84355        ///Write proxy for field `OSPEEDR5`
84356        pub struct OSPEEDR5_W<'a> {
84357            w: &'a mut W,
84358        }
84359        impl<'a> OSPEEDR5_W<'a> {
84360            ///Writes raw bits to the field
84361            #[inline(always)]
84362            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84363                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
84364                self.w
84365            }
84366        }
84367        ///Reader of field `OSPEEDR4`
84368        pub type OSPEEDR4_R = crate::R<u8, u8>;
84369        ///Write proxy for field `OSPEEDR4`
84370        pub struct OSPEEDR4_W<'a> {
84371            w: &'a mut W,
84372        }
84373        impl<'a> OSPEEDR4_W<'a> {
84374            ///Writes raw bits to the field
84375            #[inline(always)]
84376            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84377                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
84378                self.w
84379            }
84380        }
84381        ///Reader of field `OSPEEDR3`
84382        pub type OSPEEDR3_R = crate::R<u8, u8>;
84383        ///Write proxy for field `OSPEEDR3`
84384        pub struct OSPEEDR3_W<'a> {
84385            w: &'a mut W,
84386        }
84387        impl<'a> OSPEEDR3_W<'a> {
84388            ///Writes raw bits to the field
84389            #[inline(always)]
84390            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84391                self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
84392                self.w
84393            }
84394        }
84395        ///Reader of field `OSPEEDR2`
84396        pub type OSPEEDR2_R = crate::R<u8, u8>;
84397        ///Write proxy for field `OSPEEDR2`
84398        pub struct OSPEEDR2_W<'a> {
84399            w: &'a mut W,
84400        }
84401        impl<'a> OSPEEDR2_W<'a> {
84402            ///Writes raw bits to the field
84403            #[inline(always)]
84404            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84405                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u32) & 0x03) << 4);
84406                self.w
84407            }
84408        }
84409        ///Reader of field `OSPEEDR1`
84410        pub type OSPEEDR1_R = crate::R<u8, u8>;
84411        ///Write proxy for field `OSPEEDR1`
84412        pub struct OSPEEDR1_W<'a> {
84413            w: &'a mut W,
84414        }
84415        impl<'a> OSPEEDR1_W<'a> {
84416            ///Writes raw bits to the field
84417            #[inline(always)]
84418            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84419                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
84420                self.w
84421            }
84422        }
84423        ///Reader of field `OSPEEDR0`
84424        pub type OSPEEDR0_R = crate::R<u8, u8>;
84425        ///Write proxy for field `OSPEEDR0`
84426        pub struct OSPEEDR0_W<'a> {
84427            w: &'a mut W,
84428        }
84429        impl<'a> OSPEEDR0_W<'a> {
84430            ///Writes raw bits to the field
84431            #[inline(always)]
84432            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84433                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
84434                self.w
84435            }
84436        }
84437        impl R {
84438            ///Bits 30:31 - Port x configuration bits (y = 0..15)
84439            #[inline(always)]
84440            pub fn ospeedr15(&self) -> OSPEEDR15_R {
84441                OSPEEDR15_R::new(((self.bits >> 30) & 0x03) as u8)
84442            }
84443            ///Bits 28:29 - Port x configuration bits (y = 0..15)
84444            #[inline(always)]
84445            pub fn ospeedr14(&self) -> OSPEEDR14_R {
84446                OSPEEDR14_R::new(((self.bits >> 28) & 0x03) as u8)
84447            }
84448            ///Bits 26:27 - Port x configuration bits (y = 0..15)
84449            #[inline(always)]
84450            pub fn ospeedr13(&self) -> OSPEEDR13_R {
84451                OSPEEDR13_R::new(((self.bits >> 26) & 0x03) as u8)
84452            }
84453            ///Bits 24:25 - Port x configuration bits (y = 0..15)
84454            #[inline(always)]
84455            pub fn ospeedr12(&self) -> OSPEEDR12_R {
84456                OSPEEDR12_R::new(((self.bits >> 24) & 0x03) as u8)
84457            }
84458            ///Bits 22:23 - Port x configuration bits (y = 0..15)
84459            #[inline(always)]
84460            pub fn ospeedr11(&self) -> OSPEEDR11_R {
84461                OSPEEDR11_R::new(((self.bits >> 22) & 0x03) as u8)
84462            }
84463            ///Bits 20:21 - Port x configuration bits (y = 0..15)
84464            #[inline(always)]
84465            pub fn ospeedr10(&self) -> OSPEEDR10_R {
84466                OSPEEDR10_R::new(((self.bits >> 20) & 0x03) as u8)
84467            }
84468            ///Bits 18:19 - Port x configuration bits (y = 0..15)
84469            #[inline(always)]
84470            pub fn ospeedr9(&self) -> OSPEEDR9_R {
84471                OSPEEDR9_R::new(((self.bits >> 18) & 0x03) as u8)
84472            }
84473            ///Bits 16:17 - Port x configuration bits (y = 0..15)
84474            #[inline(always)]
84475            pub fn ospeedr8(&self) -> OSPEEDR8_R {
84476                OSPEEDR8_R::new(((self.bits >> 16) & 0x03) as u8)
84477            }
84478            ///Bits 14:15 - Port x configuration bits (y = 0..15)
84479            #[inline(always)]
84480            pub fn ospeedr7(&self) -> OSPEEDR7_R {
84481                OSPEEDR7_R::new(((self.bits >> 14) & 0x03) as u8)
84482            }
84483            ///Bits 12:13 - Port x configuration bits (y = 0..15)
84484            #[inline(always)]
84485            pub fn ospeedr6(&self) -> OSPEEDR6_R {
84486                OSPEEDR6_R::new(((self.bits >> 12) & 0x03) as u8)
84487            }
84488            ///Bits 10:11 - Port x configuration bits (y = 0..15)
84489            #[inline(always)]
84490            pub fn ospeedr5(&self) -> OSPEEDR5_R {
84491                OSPEEDR5_R::new(((self.bits >> 10) & 0x03) as u8)
84492            }
84493            ///Bits 8:9 - Port x configuration bits (y = 0..15)
84494            #[inline(always)]
84495            pub fn ospeedr4(&self) -> OSPEEDR4_R {
84496                OSPEEDR4_R::new(((self.bits >> 8) & 0x03) as u8)
84497            }
84498            ///Bits 6:7 - Port x configuration bits (y = 0..15)
84499            #[inline(always)]
84500            pub fn ospeedr3(&self) -> OSPEEDR3_R {
84501                OSPEEDR3_R::new(((self.bits >> 6) & 0x03) as u8)
84502            }
84503            ///Bits 4:5 - Port x configuration bits (y = 0..15)
84504            #[inline(always)]
84505            pub fn ospeedr2(&self) -> OSPEEDR2_R {
84506                OSPEEDR2_R::new(((self.bits >> 4) & 0x03) as u8)
84507            }
84508            ///Bits 2:3 - Port x configuration bits (y = 0..15)
84509            #[inline(always)]
84510            pub fn ospeedr1(&self) -> OSPEEDR1_R {
84511                OSPEEDR1_R::new(((self.bits >> 2) & 0x03) as u8)
84512            }
84513            ///Bits 0:1 - Port x configuration bits (y = 0..15)
84514            #[inline(always)]
84515            pub fn ospeedr0(&self) -> OSPEEDR0_R {
84516                OSPEEDR0_R::new((self.bits & 0x03) as u8)
84517            }
84518        }
84519        impl W {
84520            ///Bits 30:31 - Port x configuration bits (y = 0..15)
84521            #[inline(always)]
84522            pub fn ospeedr15(&mut self) -> OSPEEDR15_W {
84523                OSPEEDR15_W { w: self }
84524            }
84525            ///Bits 28:29 - Port x configuration bits (y = 0..15)
84526            #[inline(always)]
84527            pub fn ospeedr14(&mut self) -> OSPEEDR14_W {
84528                OSPEEDR14_W { w: self }
84529            }
84530            ///Bits 26:27 - Port x configuration bits (y = 0..15)
84531            #[inline(always)]
84532            pub fn ospeedr13(&mut self) -> OSPEEDR13_W {
84533                OSPEEDR13_W { w: self }
84534            }
84535            ///Bits 24:25 - Port x configuration bits (y = 0..15)
84536            #[inline(always)]
84537            pub fn ospeedr12(&mut self) -> OSPEEDR12_W {
84538                OSPEEDR12_W { w: self }
84539            }
84540            ///Bits 22:23 - Port x configuration bits (y = 0..15)
84541            #[inline(always)]
84542            pub fn ospeedr11(&mut self) -> OSPEEDR11_W {
84543                OSPEEDR11_W { w: self }
84544            }
84545            ///Bits 20:21 - Port x configuration bits (y = 0..15)
84546            #[inline(always)]
84547            pub fn ospeedr10(&mut self) -> OSPEEDR10_W {
84548                OSPEEDR10_W { w: self }
84549            }
84550            ///Bits 18:19 - Port x configuration bits (y = 0..15)
84551            #[inline(always)]
84552            pub fn ospeedr9(&mut self) -> OSPEEDR9_W {
84553                OSPEEDR9_W { w: self }
84554            }
84555            ///Bits 16:17 - Port x configuration bits (y = 0..15)
84556            #[inline(always)]
84557            pub fn ospeedr8(&mut self) -> OSPEEDR8_W {
84558                OSPEEDR8_W { w: self }
84559            }
84560            ///Bits 14:15 - Port x configuration bits (y = 0..15)
84561            #[inline(always)]
84562            pub fn ospeedr7(&mut self) -> OSPEEDR7_W {
84563                OSPEEDR7_W { w: self }
84564            }
84565            ///Bits 12:13 - Port x configuration bits (y = 0..15)
84566            #[inline(always)]
84567            pub fn ospeedr6(&mut self) -> OSPEEDR6_W {
84568                OSPEEDR6_W { w: self }
84569            }
84570            ///Bits 10:11 - Port x configuration bits (y = 0..15)
84571            #[inline(always)]
84572            pub fn ospeedr5(&mut self) -> OSPEEDR5_W {
84573                OSPEEDR5_W { w: self }
84574            }
84575            ///Bits 8:9 - Port x configuration bits (y = 0..15)
84576            #[inline(always)]
84577            pub fn ospeedr4(&mut self) -> OSPEEDR4_W {
84578                OSPEEDR4_W { w: self }
84579            }
84580            ///Bits 6:7 - Port x configuration bits (y = 0..15)
84581            #[inline(always)]
84582            pub fn ospeedr3(&mut self) -> OSPEEDR3_W {
84583                OSPEEDR3_W { w: self }
84584            }
84585            ///Bits 4:5 - Port x configuration bits (y = 0..15)
84586            #[inline(always)]
84587            pub fn ospeedr2(&mut self) -> OSPEEDR2_W {
84588                OSPEEDR2_W { w: self }
84589            }
84590            ///Bits 2:3 - Port x configuration bits (y = 0..15)
84591            #[inline(always)]
84592            pub fn ospeedr1(&mut self) -> OSPEEDR1_W {
84593                OSPEEDR1_W { w: self }
84594            }
84595            ///Bits 0:1 - Port x configuration bits (y = 0..15)
84596            #[inline(always)]
84597            pub fn ospeedr0(&mut self) -> OSPEEDR0_W {
84598                OSPEEDR0_W { w: self }
84599            }
84600        }
84601    }
84602    ///GPIO port pull-up/pull-down register
84603    ///
84604    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
84605    ///
84606    ///For information about available fields see [pupdr](pupdr) module
84607    pub type PUPDR = crate::Reg<u32, _PUPDR>;
84608    #[allow(missing_docs)]
84609    #[doc(hidden)]
84610    pub struct _PUPDR;
84611    ///`read()` method returns [pupdr::R](pupdr::R) reader structure
84612    impl crate::Readable for PUPDR {}
84613    ///`write(|w| ..)` method takes [pupdr::W](pupdr::W) writer structure
84614    impl crate::Writable for PUPDR {}
84615    ///GPIO port pull-up/pull-down register
84616    pub mod pupdr {
84617        ///Reader of register PUPDR
84618        pub type R = crate::R<u32, super::PUPDR>;
84619        ///Writer for register PUPDR
84620        pub type W = crate::W<u32, super::PUPDR>;
84621        ///Register PUPDR `reset()`'s with value 0x0100
84622        impl crate::ResetValue for super::PUPDR {
84623            type Type = u32;
84624            #[inline(always)]
84625            fn reset_value() -> Self::Type {
84626                0x0100
84627            }
84628        }
84629        ///Reader of field `PUPDR15`
84630        pub type PUPDR15_R = crate::R<u8, u8>;
84631        ///Write proxy for field `PUPDR15`
84632        pub struct PUPDR15_W<'a> {
84633            w: &'a mut W,
84634        }
84635        impl<'a> PUPDR15_W<'a> {
84636            ///Writes raw bits to the field
84637            #[inline(always)]
84638            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84639                self.w.bits = (self.w.bits & !(0x03 << 30)) | (((value as u32) & 0x03) << 30);
84640                self.w
84641            }
84642        }
84643        ///Reader of field `PUPDR14`
84644        pub type PUPDR14_R = crate::R<u8, u8>;
84645        ///Write proxy for field `PUPDR14`
84646        pub struct PUPDR14_W<'a> {
84647            w: &'a mut W,
84648        }
84649        impl<'a> PUPDR14_W<'a> {
84650            ///Writes raw bits to the field
84651            #[inline(always)]
84652            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84653                self.w.bits = (self.w.bits & !(0x03 << 28)) | (((value as u32) & 0x03) << 28);
84654                self.w
84655            }
84656        }
84657        ///Reader of field `PUPDR13`
84658        pub type PUPDR13_R = crate::R<u8, u8>;
84659        ///Write proxy for field `PUPDR13`
84660        pub struct PUPDR13_W<'a> {
84661            w: &'a mut W,
84662        }
84663        impl<'a> PUPDR13_W<'a> {
84664            ///Writes raw bits to the field
84665            #[inline(always)]
84666            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84667                self.w.bits = (self.w.bits & !(0x03 << 26)) | (((value as u32) & 0x03) << 26);
84668                self.w
84669            }
84670        }
84671        ///Reader of field `PUPDR12`
84672        pub type PUPDR12_R = crate::R<u8, u8>;
84673        ///Write proxy for field `PUPDR12`
84674        pub struct PUPDR12_W<'a> {
84675            w: &'a mut W,
84676        }
84677        impl<'a> PUPDR12_W<'a> {
84678            ///Writes raw bits to the field
84679            #[inline(always)]
84680            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84681                self.w.bits = (self.w.bits & !(0x03 << 24)) | (((value as u32) & 0x03) << 24);
84682                self.w
84683            }
84684        }
84685        ///Reader of field `PUPDR11`
84686        pub type PUPDR11_R = crate::R<u8, u8>;
84687        ///Write proxy for field `PUPDR11`
84688        pub struct PUPDR11_W<'a> {
84689            w: &'a mut W,
84690        }
84691        impl<'a> PUPDR11_W<'a> {
84692            ///Writes raw bits to the field
84693            #[inline(always)]
84694            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84695                self.w.bits = (self.w.bits & !(0x03 << 22)) | (((value as u32) & 0x03) << 22);
84696                self.w
84697            }
84698        }
84699        ///Reader of field `PUPDR10`
84700        pub type PUPDR10_R = crate::R<u8, u8>;
84701        ///Write proxy for field `PUPDR10`
84702        pub struct PUPDR10_W<'a> {
84703            w: &'a mut W,
84704        }
84705        impl<'a> PUPDR10_W<'a> {
84706            ///Writes raw bits to the field
84707            #[inline(always)]
84708            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84709                self.w.bits = (self.w.bits & !(0x03 << 20)) | (((value as u32) & 0x03) << 20);
84710                self.w
84711            }
84712        }
84713        ///Reader of field `PUPDR9`
84714        pub type PUPDR9_R = crate::R<u8, u8>;
84715        ///Write proxy for field `PUPDR9`
84716        pub struct PUPDR9_W<'a> {
84717            w: &'a mut W,
84718        }
84719        impl<'a> PUPDR9_W<'a> {
84720            ///Writes raw bits to the field
84721            #[inline(always)]
84722            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84723                self.w.bits = (self.w.bits & !(0x03 << 18)) | (((value as u32) & 0x03) << 18);
84724                self.w
84725            }
84726        }
84727        ///Reader of field `PUPDR8`
84728        pub type PUPDR8_R = crate::R<u8, u8>;
84729        ///Write proxy for field `PUPDR8`
84730        pub struct PUPDR8_W<'a> {
84731            w: &'a mut W,
84732        }
84733        impl<'a> PUPDR8_W<'a> {
84734            ///Writes raw bits to the field
84735            #[inline(always)]
84736            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84737                self.w.bits = (self.w.bits & !(0x03 << 16)) | (((value as u32) & 0x03) << 16);
84738                self.w
84739            }
84740        }
84741        ///Reader of field `PUPDR7`
84742        pub type PUPDR7_R = crate::R<u8, u8>;
84743        ///Write proxy for field `PUPDR7`
84744        pub struct PUPDR7_W<'a> {
84745            w: &'a mut W,
84746        }
84747        impl<'a> PUPDR7_W<'a> {
84748            ///Writes raw bits to the field
84749            #[inline(always)]
84750            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84751                self.w.bits = (self.w.bits & !(0x03 << 14)) | (((value as u32) & 0x03) << 14);
84752                self.w
84753            }
84754        }
84755        ///Reader of field `PUPDR6`
84756        pub type PUPDR6_R = crate::R<u8, u8>;
84757        ///Write proxy for field `PUPDR6`
84758        pub struct PUPDR6_W<'a> {
84759            w: &'a mut W,
84760        }
84761        impl<'a> PUPDR6_W<'a> {
84762            ///Writes raw bits to the field
84763            #[inline(always)]
84764            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84765                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
84766                self.w
84767            }
84768        }
84769        ///Reader of field `PUPDR5`
84770        pub type PUPDR5_R = crate::R<u8, u8>;
84771        ///Write proxy for field `PUPDR5`
84772        pub struct PUPDR5_W<'a> {
84773            w: &'a mut W,
84774        }
84775        impl<'a> PUPDR5_W<'a> {
84776            ///Writes raw bits to the field
84777            #[inline(always)]
84778            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84779                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
84780                self.w
84781            }
84782        }
84783        ///Reader of field `PUPDR4`
84784        pub type PUPDR4_R = crate::R<u8, u8>;
84785        ///Write proxy for field `PUPDR4`
84786        pub struct PUPDR4_W<'a> {
84787            w: &'a mut W,
84788        }
84789        impl<'a> PUPDR4_W<'a> {
84790            ///Writes raw bits to the field
84791            #[inline(always)]
84792            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84793                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
84794                self.w
84795            }
84796        }
84797        ///Reader of field `PUPDR3`
84798        pub type PUPDR3_R = crate::R<u8, u8>;
84799        ///Write proxy for field `PUPDR3`
84800        pub struct PUPDR3_W<'a> {
84801            w: &'a mut W,
84802        }
84803        impl<'a> PUPDR3_W<'a> {
84804            ///Writes raw bits to the field
84805            #[inline(always)]
84806            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84807                self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
84808                self.w
84809            }
84810        }
84811        ///Reader of field `PUPDR2`
84812        pub type PUPDR2_R = crate::R<u8, u8>;
84813        ///Write proxy for field `PUPDR2`
84814        pub struct PUPDR2_W<'a> {
84815            w: &'a mut W,
84816        }
84817        impl<'a> PUPDR2_W<'a> {
84818            ///Writes raw bits to the field
84819            #[inline(always)]
84820            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84821                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u32) & 0x03) << 4);
84822                self.w
84823            }
84824        }
84825        ///Reader of field `PUPDR1`
84826        pub type PUPDR1_R = crate::R<u8, u8>;
84827        ///Write proxy for field `PUPDR1`
84828        pub struct PUPDR1_W<'a> {
84829            w: &'a mut W,
84830        }
84831        impl<'a> PUPDR1_W<'a> {
84832            ///Writes raw bits to the field
84833            #[inline(always)]
84834            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84835                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
84836                self.w
84837            }
84838        }
84839        ///Reader of field `PUPDR0`
84840        pub type PUPDR0_R = crate::R<u8, u8>;
84841        ///Write proxy for field `PUPDR0`
84842        pub struct PUPDR0_W<'a> {
84843            w: &'a mut W,
84844        }
84845        impl<'a> PUPDR0_W<'a> {
84846            ///Writes raw bits to the field
84847            #[inline(always)]
84848            pub unsafe fn bits(self, value: u8) -> &'a mut W {
84849                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
84850                self.w
84851            }
84852        }
84853        impl R {
84854            ///Bits 30:31 - Port x configuration bits (y = 0..15)
84855            #[inline(always)]
84856            pub fn pupdr15(&self) -> PUPDR15_R {
84857                PUPDR15_R::new(((self.bits >> 30) & 0x03) as u8)
84858            }
84859            ///Bits 28:29 - Port x configuration bits (y = 0..15)
84860            #[inline(always)]
84861            pub fn pupdr14(&self) -> PUPDR14_R {
84862                PUPDR14_R::new(((self.bits >> 28) & 0x03) as u8)
84863            }
84864            ///Bits 26:27 - Port x configuration bits (y = 0..15)
84865            #[inline(always)]
84866            pub fn pupdr13(&self) -> PUPDR13_R {
84867                PUPDR13_R::new(((self.bits >> 26) & 0x03) as u8)
84868            }
84869            ///Bits 24:25 - Port x configuration bits (y = 0..15)
84870            #[inline(always)]
84871            pub fn pupdr12(&self) -> PUPDR12_R {
84872                PUPDR12_R::new(((self.bits >> 24) & 0x03) as u8)
84873            }
84874            ///Bits 22:23 - Port x configuration bits (y = 0..15)
84875            #[inline(always)]
84876            pub fn pupdr11(&self) -> PUPDR11_R {
84877                PUPDR11_R::new(((self.bits >> 22) & 0x03) as u8)
84878            }
84879            ///Bits 20:21 - Port x configuration bits (y = 0..15)
84880            #[inline(always)]
84881            pub fn pupdr10(&self) -> PUPDR10_R {
84882                PUPDR10_R::new(((self.bits >> 20) & 0x03) as u8)
84883            }
84884            ///Bits 18:19 - Port x configuration bits (y = 0..15)
84885            #[inline(always)]
84886            pub fn pupdr9(&self) -> PUPDR9_R {
84887                PUPDR9_R::new(((self.bits >> 18) & 0x03) as u8)
84888            }
84889            ///Bits 16:17 - Port x configuration bits (y = 0..15)
84890            #[inline(always)]
84891            pub fn pupdr8(&self) -> PUPDR8_R {
84892                PUPDR8_R::new(((self.bits >> 16) & 0x03) as u8)
84893            }
84894            ///Bits 14:15 - Port x configuration bits (y = 0..15)
84895            #[inline(always)]
84896            pub fn pupdr7(&self) -> PUPDR7_R {
84897                PUPDR7_R::new(((self.bits >> 14) & 0x03) as u8)
84898            }
84899            ///Bits 12:13 - Port x configuration bits (y = 0..15)
84900            #[inline(always)]
84901            pub fn pupdr6(&self) -> PUPDR6_R {
84902                PUPDR6_R::new(((self.bits >> 12) & 0x03) as u8)
84903            }
84904            ///Bits 10:11 - Port x configuration bits (y = 0..15)
84905            #[inline(always)]
84906            pub fn pupdr5(&self) -> PUPDR5_R {
84907                PUPDR5_R::new(((self.bits >> 10) & 0x03) as u8)
84908            }
84909            ///Bits 8:9 - Port x configuration bits (y = 0..15)
84910            #[inline(always)]
84911            pub fn pupdr4(&self) -> PUPDR4_R {
84912                PUPDR4_R::new(((self.bits >> 8) & 0x03) as u8)
84913            }
84914            ///Bits 6:7 - Port x configuration bits (y = 0..15)
84915            #[inline(always)]
84916            pub fn pupdr3(&self) -> PUPDR3_R {
84917                PUPDR3_R::new(((self.bits >> 6) & 0x03) as u8)
84918            }
84919            ///Bits 4:5 - Port x configuration bits (y = 0..15)
84920            #[inline(always)]
84921            pub fn pupdr2(&self) -> PUPDR2_R {
84922                PUPDR2_R::new(((self.bits >> 4) & 0x03) as u8)
84923            }
84924            ///Bits 2:3 - Port x configuration bits (y = 0..15)
84925            #[inline(always)]
84926            pub fn pupdr1(&self) -> PUPDR1_R {
84927                PUPDR1_R::new(((self.bits >> 2) & 0x03) as u8)
84928            }
84929            ///Bits 0:1 - Port x configuration bits (y = 0..15)
84930            #[inline(always)]
84931            pub fn pupdr0(&self) -> PUPDR0_R {
84932                PUPDR0_R::new((self.bits & 0x03) as u8)
84933            }
84934        }
84935        impl W {
84936            ///Bits 30:31 - Port x configuration bits (y = 0..15)
84937            #[inline(always)]
84938            pub fn pupdr15(&mut self) -> PUPDR15_W {
84939                PUPDR15_W { w: self }
84940            }
84941            ///Bits 28:29 - Port x configuration bits (y = 0..15)
84942            #[inline(always)]
84943            pub fn pupdr14(&mut self) -> PUPDR14_W {
84944                PUPDR14_W { w: self }
84945            }
84946            ///Bits 26:27 - Port x configuration bits (y = 0..15)
84947            #[inline(always)]
84948            pub fn pupdr13(&mut self) -> PUPDR13_W {
84949                PUPDR13_W { w: self }
84950            }
84951            ///Bits 24:25 - Port x configuration bits (y = 0..15)
84952            #[inline(always)]
84953            pub fn pupdr12(&mut self) -> PUPDR12_W {
84954                PUPDR12_W { w: self }
84955            }
84956            ///Bits 22:23 - Port x configuration bits (y = 0..15)
84957            #[inline(always)]
84958            pub fn pupdr11(&mut self) -> PUPDR11_W {
84959                PUPDR11_W { w: self }
84960            }
84961            ///Bits 20:21 - Port x configuration bits (y = 0..15)
84962            #[inline(always)]
84963            pub fn pupdr10(&mut self) -> PUPDR10_W {
84964                PUPDR10_W { w: self }
84965            }
84966            ///Bits 18:19 - Port x configuration bits (y = 0..15)
84967            #[inline(always)]
84968            pub fn pupdr9(&mut self) -> PUPDR9_W {
84969                PUPDR9_W { w: self }
84970            }
84971            ///Bits 16:17 - Port x configuration bits (y = 0..15)
84972            #[inline(always)]
84973            pub fn pupdr8(&mut self) -> PUPDR8_W {
84974                PUPDR8_W { w: self }
84975            }
84976            ///Bits 14:15 - Port x configuration bits (y = 0..15)
84977            #[inline(always)]
84978            pub fn pupdr7(&mut self) -> PUPDR7_W {
84979                PUPDR7_W { w: self }
84980            }
84981            ///Bits 12:13 - Port x configuration bits (y = 0..15)
84982            #[inline(always)]
84983            pub fn pupdr6(&mut self) -> PUPDR6_W {
84984                PUPDR6_W { w: self }
84985            }
84986            ///Bits 10:11 - Port x configuration bits (y = 0..15)
84987            #[inline(always)]
84988            pub fn pupdr5(&mut self) -> PUPDR5_W {
84989                PUPDR5_W { w: self }
84990            }
84991            ///Bits 8:9 - Port x configuration bits (y = 0..15)
84992            #[inline(always)]
84993            pub fn pupdr4(&mut self) -> PUPDR4_W {
84994                PUPDR4_W { w: self }
84995            }
84996            ///Bits 6:7 - Port x configuration bits (y = 0..15)
84997            #[inline(always)]
84998            pub fn pupdr3(&mut self) -> PUPDR3_W {
84999                PUPDR3_W { w: self }
85000            }
85001            ///Bits 4:5 - Port x configuration bits (y = 0..15)
85002            #[inline(always)]
85003            pub fn pupdr2(&mut self) -> PUPDR2_W {
85004                PUPDR2_W { w: self }
85005            }
85006            ///Bits 2:3 - Port x configuration bits (y = 0..15)
85007            #[inline(always)]
85008            pub fn pupdr1(&mut self) -> PUPDR1_W {
85009                PUPDR1_W { w: self }
85010            }
85011            ///Bits 0:1 - Port x configuration bits (y = 0..15)
85012            #[inline(always)]
85013            pub fn pupdr0(&mut self) -> PUPDR0_W {
85014                PUPDR0_W { w: self }
85015            }
85016        }
85017    }
85018    ///GPIO port input data register
85019    ///
85020    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
85021    ///
85022    ///For information about available fields see [idr](idr) module
85023    pub type IDR = crate::Reg<u32, _IDR>;
85024    #[allow(missing_docs)]
85025    #[doc(hidden)]
85026    pub struct _IDR;
85027    ///`read()` method returns [idr::R](idr::R) reader structure
85028    impl crate::Readable for IDR {}
85029    ///GPIO port input data register
85030    pub mod idr {
85031        ///Reader of register IDR
85032        pub type R = crate::R<u32, super::IDR>;
85033        ///Reader of field `IDR15`
85034        pub type IDR15_R = crate::R<bool, bool>;
85035        ///Reader of field `IDR14`
85036        pub type IDR14_R = crate::R<bool, bool>;
85037        ///Reader of field `IDR13`
85038        pub type IDR13_R = crate::R<bool, bool>;
85039        ///Reader of field `IDR12`
85040        pub type IDR12_R = crate::R<bool, bool>;
85041        ///Reader of field `IDR11`
85042        pub type IDR11_R = crate::R<bool, bool>;
85043        ///Reader of field `IDR10`
85044        pub type IDR10_R = crate::R<bool, bool>;
85045        ///Reader of field `IDR9`
85046        pub type IDR9_R = crate::R<bool, bool>;
85047        ///Reader of field `IDR8`
85048        pub type IDR8_R = crate::R<bool, bool>;
85049        ///Reader of field `IDR7`
85050        pub type IDR7_R = crate::R<bool, bool>;
85051        ///Reader of field `IDR6`
85052        pub type IDR6_R = crate::R<bool, bool>;
85053        ///Reader of field `IDR5`
85054        pub type IDR5_R = crate::R<bool, bool>;
85055        ///Reader of field `IDR4`
85056        pub type IDR4_R = crate::R<bool, bool>;
85057        ///Reader of field `IDR3`
85058        pub type IDR3_R = crate::R<bool, bool>;
85059        ///Reader of field `IDR2`
85060        pub type IDR2_R = crate::R<bool, bool>;
85061        ///Reader of field `IDR1`
85062        pub type IDR1_R = crate::R<bool, bool>;
85063        ///Reader of field `IDR0`
85064        pub type IDR0_R = crate::R<bool, bool>;
85065        impl R {
85066            ///Bit 15 - Port input data (y = 0..15)
85067            #[inline(always)]
85068            pub fn idr15(&self) -> IDR15_R {
85069                IDR15_R::new(((self.bits >> 15) & 0x01) != 0)
85070            }
85071            ///Bit 14 - Port input data (y = 0..15)
85072            #[inline(always)]
85073            pub fn idr14(&self) -> IDR14_R {
85074                IDR14_R::new(((self.bits >> 14) & 0x01) != 0)
85075            }
85076            ///Bit 13 - Port input data (y = 0..15)
85077            #[inline(always)]
85078            pub fn idr13(&self) -> IDR13_R {
85079                IDR13_R::new(((self.bits >> 13) & 0x01) != 0)
85080            }
85081            ///Bit 12 - Port input data (y = 0..15)
85082            #[inline(always)]
85083            pub fn idr12(&self) -> IDR12_R {
85084                IDR12_R::new(((self.bits >> 12) & 0x01) != 0)
85085            }
85086            ///Bit 11 - Port input data (y = 0..15)
85087            #[inline(always)]
85088            pub fn idr11(&self) -> IDR11_R {
85089                IDR11_R::new(((self.bits >> 11) & 0x01) != 0)
85090            }
85091            ///Bit 10 - Port input data (y = 0..15)
85092            #[inline(always)]
85093            pub fn idr10(&self) -> IDR10_R {
85094                IDR10_R::new(((self.bits >> 10) & 0x01) != 0)
85095            }
85096            ///Bit 9 - Port input data (y = 0..15)
85097            #[inline(always)]
85098            pub fn idr9(&self) -> IDR9_R {
85099                IDR9_R::new(((self.bits >> 9) & 0x01) != 0)
85100            }
85101            ///Bit 8 - Port input data (y = 0..15)
85102            #[inline(always)]
85103            pub fn idr8(&self) -> IDR8_R {
85104                IDR8_R::new(((self.bits >> 8) & 0x01) != 0)
85105            }
85106            ///Bit 7 - Port input data (y = 0..15)
85107            #[inline(always)]
85108            pub fn idr7(&self) -> IDR7_R {
85109                IDR7_R::new(((self.bits >> 7) & 0x01) != 0)
85110            }
85111            ///Bit 6 - Port input data (y = 0..15)
85112            #[inline(always)]
85113            pub fn idr6(&self) -> IDR6_R {
85114                IDR6_R::new(((self.bits >> 6) & 0x01) != 0)
85115            }
85116            ///Bit 5 - Port input data (y = 0..15)
85117            #[inline(always)]
85118            pub fn idr5(&self) -> IDR5_R {
85119                IDR5_R::new(((self.bits >> 5) & 0x01) != 0)
85120            }
85121            ///Bit 4 - Port input data (y = 0..15)
85122            #[inline(always)]
85123            pub fn idr4(&self) -> IDR4_R {
85124                IDR4_R::new(((self.bits >> 4) & 0x01) != 0)
85125            }
85126            ///Bit 3 - Port input data (y = 0..15)
85127            #[inline(always)]
85128            pub fn idr3(&self) -> IDR3_R {
85129                IDR3_R::new(((self.bits >> 3) & 0x01) != 0)
85130            }
85131            ///Bit 2 - Port input data (y = 0..15)
85132            #[inline(always)]
85133            pub fn idr2(&self) -> IDR2_R {
85134                IDR2_R::new(((self.bits >> 2) & 0x01) != 0)
85135            }
85136            ///Bit 1 - Port input data (y = 0..15)
85137            #[inline(always)]
85138            pub fn idr1(&self) -> IDR1_R {
85139                IDR1_R::new(((self.bits >> 1) & 0x01) != 0)
85140            }
85141            ///Bit 0 - Port input data (y = 0..15)
85142            #[inline(always)]
85143            pub fn idr0(&self) -> IDR0_R {
85144                IDR0_R::new((self.bits & 0x01) != 0)
85145            }
85146        }
85147    }
85148    ///GPIO port output data register
85149    ///
85150    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
85151    ///
85152    ///For information about available fields see [odr](odr) module
85153    pub type ODR = crate::Reg<u32, _ODR>;
85154    #[allow(missing_docs)]
85155    #[doc(hidden)]
85156    pub struct _ODR;
85157    ///`read()` method returns [odr::R](odr::R) reader structure
85158    impl crate::Readable for ODR {}
85159    ///`write(|w| ..)` method takes [odr::W](odr::W) writer structure
85160    impl crate::Writable for ODR {}
85161    ///GPIO port output data register
85162    pub mod odr {
85163        ///Reader of register ODR
85164        pub type R = crate::R<u32, super::ODR>;
85165        ///Writer for register ODR
85166        pub type W = crate::W<u32, super::ODR>;
85167        ///Register ODR `reset()`'s with value 0
85168        impl crate::ResetValue for super::ODR {
85169            type Type = u32;
85170            #[inline(always)]
85171            fn reset_value() -> Self::Type {
85172                0
85173            }
85174        }
85175        ///Reader of field `ODR15`
85176        pub type ODR15_R = crate::R<bool, bool>;
85177        ///Write proxy for field `ODR15`
85178        pub struct ODR15_W<'a> {
85179            w: &'a mut W,
85180        }
85181        impl<'a> ODR15_W<'a> {
85182            ///Sets the field bit
85183            #[inline(always)]
85184            pub fn set_bit(self) -> &'a mut W {
85185                self.bit(true)
85186            }
85187            ///Clears the field bit
85188            #[inline(always)]
85189            pub fn clear_bit(self) -> &'a mut W {
85190                self.bit(false)
85191            }
85192            ///Writes raw bits to the field
85193            #[inline(always)]
85194            pub fn bit(self, value: bool) -> &'a mut W {
85195                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
85196                self.w
85197            }
85198        }
85199        ///Reader of field `ODR14`
85200        pub type ODR14_R = crate::R<bool, bool>;
85201        ///Write proxy for field `ODR14`
85202        pub struct ODR14_W<'a> {
85203            w: &'a mut W,
85204        }
85205        impl<'a> ODR14_W<'a> {
85206            ///Sets the field bit
85207            #[inline(always)]
85208            pub fn set_bit(self) -> &'a mut W {
85209                self.bit(true)
85210            }
85211            ///Clears the field bit
85212            #[inline(always)]
85213            pub fn clear_bit(self) -> &'a mut W {
85214                self.bit(false)
85215            }
85216            ///Writes raw bits to the field
85217            #[inline(always)]
85218            pub fn bit(self, value: bool) -> &'a mut W {
85219                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
85220                self.w
85221            }
85222        }
85223        ///Reader of field `ODR13`
85224        pub type ODR13_R = crate::R<bool, bool>;
85225        ///Write proxy for field `ODR13`
85226        pub struct ODR13_W<'a> {
85227            w: &'a mut W,
85228        }
85229        impl<'a> ODR13_W<'a> {
85230            ///Sets the field bit
85231            #[inline(always)]
85232            pub fn set_bit(self) -> &'a mut W {
85233                self.bit(true)
85234            }
85235            ///Clears the field bit
85236            #[inline(always)]
85237            pub fn clear_bit(self) -> &'a mut W {
85238                self.bit(false)
85239            }
85240            ///Writes raw bits to the field
85241            #[inline(always)]
85242            pub fn bit(self, value: bool) -> &'a mut W {
85243                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
85244                self.w
85245            }
85246        }
85247        ///Reader of field `ODR12`
85248        pub type ODR12_R = crate::R<bool, bool>;
85249        ///Write proxy for field `ODR12`
85250        pub struct ODR12_W<'a> {
85251            w: &'a mut W,
85252        }
85253        impl<'a> ODR12_W<'a> {
85254            ///Sets the field bit
85255            #[inline(always)]
85256            pub fn set_bit(self) -> &'a mut W {
85257                self.bit(true)
85258            }
85259            ///Clears the field bit
85260            #[inline(always)]
85261            pub fn clear_bit(self) -> &'a mut W {
85262                self.bit(false)
85263            }
85264            ///Writes raw bits to the field
85265            #[inline(always)]
85266            pub fn bit(self, value: bool) -> &'a mut W {
85267                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
85268                self.w
85269            }
85270        }
85271        ///Reader of field `ODR11`
85272        pub type ODR11_R = crate::R<bool, bool>;
85273        ///Write proxy for field `ODR11`
85274        pub struct ODR11_W<'a> {
85275            w: &'a mut W,
85276        }
85277        impl<'a> ODR11_W<'a> {
85278            ///Sets the field bit
85279            #[inline(always)]
85280            pub fn set_bit(self) -> &'a mut W {
85281                self.bit(true)
85282            }
85283            ///Clears the field bit
85284            #[inline(always)]
85285            pub fn clear_bit(self) -> &'a mut W {
85286                self.bit(false)
85287            }
85288            ///Writes raw bits to the field
85289            #[inline(always)]
85290            pub fn bit(self, value: bool) -> &'a mut W {
85291                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
85292                self.w
85293            }
85294        }
85295        ///Reader of field `ODR10`
85296        pub type ODR10_R = crate::R<bool, bool>;
85297        ///Write proxy for field `ODR10`
85298        pub struct ODR10_W<'a> {
85299            w: &'a mut W,
85300        }
85301        impl<'a> ODR10_W<'a> {
85302            ///Sets the field bit
85303            #[inline(always)]
85304            pub fn set_bit(self) -> &'a mut W {
85305                self.bit(true)
85306            }
85307            ///Clears the field bit
85308            #[inline(always)]
85309            pub fn clear_bit(self) -> &'a mut W {
85310                self.bit(false)
85311            }
85312            ///Writes raw bits to the field
85313            #[inline(always)]
85314            pub fn bit(self, value: bool) -> &'a mut W {
85315                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
85316                self.w
85317            }
85318        }
85319        ///Reader of field `ODR9`
85320        pub type ODR9_R = crate::R<bool, bool>;
85321        ///Write proxy for field `ODR9`
85322        pub struct ODR9_W<'a> {
85323            w: &'a mut W,
85324        }
85325        impl<'a> ODR9_W<'a> {
85326            ///Sets the field bit
85327            #[inline(always)]
85328            pub fn set_bit(self) -> &'a mut W {
85329                self.bit(true)
85330            }
85331            ///Clears the field bit
85332            #[inline(always)]
85333            pub fn clear_bit(self) -> &'a mut W {
85334                self.bit(false)
85335            }
85336            ///Writes raw bits to the field
85337            #[inline(always)]
85338            pub fn bit(self, value: bool) -> &'a mut W {
85339                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
85340                self.w
85341            }
85342        }
85343        ///Reader of field `ODR8`
85344        pub type ODR8_R = crate::R<bool, bool>;
85345        ///Write proxy for field `ODR8`
85346        pub struct ODR8_W<'a> {
85347            w: &'a mut W,
85348        }
85349        impl<'a> ODR8_W<'a> {
85350            ///Sets the field bit
85351            #[inline(always)]
85352            pub fn set_bit(self) -> &'a mut W {
85353                self.bit(true)
85354            }
85355            ///Clears the field bit
85356            #[inline(always)]
85357            pub fn clear_bit(self) -> &'a mut W {
85358                self.bit(false)
85359            }
85360            ///Writes raw bits to the field
85361            #[inline(always)]
85362            pub fn bit(self, value: bool) -> &'a mut W {
85363                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
85364                self.w
85365            }
85366        }
85367        ///Reader of field `ODR7`
85368        pub type ODR7_R = crate::R<bool, bool>;
85369        ///Write proxy for field `ODR7`
85370        pub struct ODR7_W<'a> {
85371            w: &'a mut W,
85372        }
85373        impl<'a> ODR7_W<'a> {
85374            ///Sets the field bit
85375            #[inline(always)]
85376            pub fn set_bit(self) -> &'a mut W {
85377                self.bit(true)
85378            }
85379            ///Clears the field bit
85380            #[inline(always)]
85381            pub fn clear_bit(self) -> &'a mut W {
85382                self.bit(false)
85383            }
85384            ///Writes raw bits to the field
85385            #[inline(always)]
85386            pub fn bit(self, value: bool) -> &'a mut W {
85387                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
85388                self.w
85389            }
85390        }
85391        ///Reader of field `ODR6`
85392        pub type ODR6_R = crate::R<bool, bool>;
85393        ///Write proxy for field `ODR6`
85394        pub struct ODR6_W<'a> {
85395            w: &'a mut W,
85396        }
85397        impl<'a> ODR6_W<'a> {
85398            ///Sets the field bit
85399            #[inline(always)]
85400            pub fn set_bit(self) -> &'a mut W {
85401                self.bit(true)
85402            }
85403            ///Clears the field bit
85404            #[inline(always)]
85405            pub fn clear_bit(self) -> &'a mut W {
85406                self.bit(false)
85407            }
85408            ///Writes raw bits to the field
85409            #[inline(always)]
85410            pub fn bit(self, value: bool) -> &'a mut W {
85411                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
85412                self.w
85413            }
85414        }
85415        ///Reader of field `ODR5`
85416        pub type ODR5_R = crate::R<bool, bool>;
85417        ///Write proxy for field `ODR5`
85418        pub struct ODR5_W<'a> {
85419            w: &'a mut W,
85420        }
85421        impl<'a> ODR5_W<'a> {
85422            ///Sets the field bit
85423            #[inline(always)]
85424            pub fn set_bit(self) -> &'a mut W {
85425                self.bit(true)
85426            }
85427            ///Clears the field bit
85428            #[inline(always)]
85429            pub fn clear_bit(self) -> &'a mut W {
85430                self.bit(false)
85431            }
85432            ///Writes raw bits to the field
85433            #[inline(always)]
85434            pub fn bit(self, value: bool) -> &'a mut W {
85435                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
85436                self.w
85437            }
85438        }
85439        ///Reader of field `ODR4`
85440        pub type ODR4_R = crate::R<bool, bool>;
85441        ///Write proxy for field `ODR4`
85442        pub struct ODR4_W<'a> {
85443            w: &'a mut W,
85444        }
85445        impl<'a> ODR4_W<'a> {
85446            ///Sets the field bit
85447            #[inline(always)]
85448            pub fn set_bit(self) -> &'a mut W {
85449                self.bit(true)
85450            }
85451            ///Clears the field bit
85452            #[inline(always)]
85453            pub fn clear_bit(self) -> &'a mut W {
85454                self.bit(false)
85455            }
85456            ///Writes raw bits to the field
85457            #[inline(always)]
85458            pub fn bit(self, value: bool) -> &'a mut W {
85459                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
85460                self.w
85461            }
85462        }
85463        ///Reader of field `ODR3`
85464        pub type ODR3_R = crate::R<bool, bool>;
85465        ///Write proxy for field `ODR3`
85466        pub struct ODR3_W<'a> {
85467            w: &'a mut W,
85468        }
85469        impl<'a> ODR3_W<'a> {
85470            ///Sets the field bit
85471            #[inline(always)]
85472            pub fn set_bit(self) -> &'a mut W {
85473                self.bit(true)
85474            }
85475            ///Clears the field bit
85476            #[inline(always)]
85477            pub fn clear_bit(self) -> &'a mut W {
85478                self.bit(false)
85479            }
85480            ///Writes raw bits to the field
85481            #[inline(always)]
85482            pub fn bit(self, value: bool) -> &'a mut W {
85483                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
85484                self.w
85485            }
85486        }
85487        ///Reader of field `ODR2`
85488        pub type ODR2_R = crate::R<bool, bool>;
85489        ///Write proxy for field `ODR2`
85490        pub struct ODR2_W<'a> {
85491            w: &'a mut W,
85492        }
85493        impl<'a> ODR2_W<'a> {
85494            ///Sets the field bit
85495            #[inline(always)]
85496            pub fn set_bit(self) -> &'a mut W {
85497                self.bit(true)
85498            }
85499            ///Clears the field bit
85500            #[inline(always)]
85501            pub fn clear_bit(self) -> &'a mut W {
85502                self.bit(false)
85503            }
85504            ///Writes raw bits to the field
85505            #[inline(always)]
85506            pub fn bit(self, value: bool) -> &'a mut W {
85507                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
85508                self.w
85509            }
85510        }
85511        ///Reader of field `ODR1`
85512        pub type ODR1_R = crate::R<bool, bool>;
85513        ///Write proxy for field `ODR1`
85514        pub struct ODR1_W<'a> {
85515            w: &'a mut W,
85516        }
85517        impl<'a> ODR1_W<'a> {
85518            ///Sets the field bit
85519            #[inline(always)]
85520            pub fn set_bit(self) -> &'a mut W {
85521                self.bit(true)
85522            }
85523            ///Clears the field bit
85524            #[inline(always)]
85525            pub fn clear_bit(self) -> &'a mut W {
85526                self.bit(false)
85527            }
85528            ///Writes raw bits to the field
85529            #[inline(always)]
85530            pub fn bit(self, value: bool) -> &'a mut W {
85531                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
85532                self.w
85533            }
85534        }
85535        ///Reader of field `ODR0`
85536        pub type ODR0_R = crate::R<bool, bool>;
85537        ///Write proxy for field `ODR0`
85538        pub struct ODR0_W<'a> {
85539            w: &'a mut W,
85540        }
85541        impl<'a> ODR0_W<'a> {
85542            ///Sets the field bit
85543            #[inline(always)]
85544            pub fn set_bit(self) -> &'a mut W {
85545                self.bit(true)
85546            }
85547            ///Clears the field bit
85548            #[inline(always)]
85549            pub fn clear_bit(self) -> &'a mut W {
85550                self.bit(false)
85551            }
85552            ///Writes raw bits to the field
85553            #[inline(always)]
85554            pub fn bit(self, value: bool) -> &'a mut W {
85555                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
85556                self.w
85557            }
85558        }
85559        impl R {
85560            ///Bit 15 - Port output data (y = 0..15)
85561            #[inline(always)]
85562            pub fn odr15(&self) -> ODR15_R {
85563                ODR15_R::new(((self.bits >> 15) & 0x01) != 0)
85564            }
85565            ///Bit 14 - Port output data (y = 0..15)
85566            #[inline(always)]
85567            pub fn odr14(&self) -> ODR14_R {
85568                ODR14_R::new(((self.bits >> 14) & 0x01) != 0)
85569            }
85570            ///Bit 13 - Port output data (y = 0..15)
85571            #[inline(always)]
85572            pub fn odr13(&self) -> ODR13_R {
85573                ODR13_R::new(((self.bits >> 13) & 0x01) != 0)
85574            }
85575            ///Bit 12 - Port output data (y = 0..15)
85576            #[inline(always)]
85577            pub fn odr12(&self) -> ODR12_R {
85578                ODR12_R::new(((self.bits >> 12) & 0x01) != 0)
85579            }
85580            ///Bit 11 - Port output data (y = 0..15)
85581            #[inline(always)]
85582            pub fn odr11(&self) -> ODR11_R {
85583                ODR11_R::new(((self.bits >> 11) & 0x01) != 0)
85584            }
85585            ///Bit 10 - Port output data (y = 0..15)
85586            #[inline(always)]
85587            pub fn odr10(&self) -> ODR10_R {
85588                ODR10_R::new(((self.bits >> 10) & 0x01) != 0)
85589            }
85590            ///Bit 9 - Port output data (y = 0..15)
85591            #[inline(always)]
85592            pub fn odr9(&self) -> ODR9_R {
85593                ODR9_R::new(((self.bits >> 9) & 0x01) != 0)
85594            }
85595            ///Bit 8 - Port output data (y = 0..15)
85596            #[inline(always)]
85597            pub fn odr8(&self) -> ODR8_R {
85598                ODR8_R::new(((self.bits >> 8) & 0x01) != 0)
85599            }
85600            ///Bit 7 - Port output data (y = 0..15)
85601            #[inline(always)]
85602            pub fn odr7(&self) -> ODR7_R {
85603                ODR7_R::new(((self.bits >> 7) & 0x01) != 0)
85604            }
85605            ///Bit 6 - Port output data (y = 0..15)
85606            #[inline(always)]
85607            pub fn odr6(&self) -> ODR6_R {
85608                ODR6_R::new(((self.bits >> 6) & 0x01) != 0)
85609            }
85610            ///Bit 5 - Port output data (y = 0..15)
85611            #[inline(always)]
85612            pub fn odr5(&self) -> ODR5_R {
85613                ODR5_R::new(((self.bits >> 5) & 0x01) != 0)
85614            }
85615            ///Bit 4 - Port output data (y = 0..15)
85616            #[inline(always)]
85617            pub fn odr4(&self) -> ODR4_R {
85618                ODR4_R::new(((self.bits >> 4) & 0x01) != 0)
85619            }
85620            ///Bit 3 - Port output data (y = 0..15)
85621            #[inline(always)]
85622            pub fn odr3(&self) -> ODR3_R {
85623                ODR3_R::new(((self.bits >> 3) & 0x01) != 0)
85624            }
85625            ///Bit 2 - Port output data (y = 0..15)
85626            #[inline(always)]
85627            pub fn odr2(&self) -> ODR2_R {
85628                ODR2_R::new(((self.bits >> 2) & 0x01) != 0)
85629            }
85630            ///Bit 1 - Port output data (y = 0..15)
85631            #[inline(always)]
85632            pub fn odr1(&self) -> ODR1_R {
85633                ODR1_R::new(((self.bits >> 1) & 0x01) != 0)
85634            }
85635            ///Bit 0 - Port output data (y = 0..15)
85636            #[inline(always)]
85637            pub fn odr0(&self) -> ODR0_R {
85638                ODR0_R::new((self.bits & 0x01) != 0)
85639            }
85640        }
85641        impl W {
85642            ///Bit 15 - Port output data (y = 0..15)
85643            #[inline(always)]
85644            pub fn odr15(&mut self) -> ODR15_W {
85645                ODR15_W { w: self }
85646            }
85647            ///Bit 14 - Port output data (y = 0..15)
85648            #[inline(always)]
85649            pub fn odr14(&mut self) -> ODR14_W {
85650                ODR14_W { w: self }
85651            }
85652            ///Bit 13 - Port output data (y = 0..15)
85653            #[inline(always)]
85654            pub fn odr13(&mut self) -> ODR13_W {
85655                ODR13_W { w: self }
85656            }
85657            ///Bit 12 - Port output data (y = 0..15)
85658            #[inline(always)]
85659            pub fn odr12(&mut self) -> ODR12_W {
85660                ODR12_W { w: self }
85661            }
85662            ///Bit 11 - Port output data (y = 0..15)
85663            #[inline(always)]
85664            pub fn odr11(&mut self) -> ODR11_W {
85665                ODR11_W { w: self }
85666            }
85667            ///Bit 10 - Port output data (y = 0..15)
85668            #[inline(always)]
85669            pub fn odr10(&mut self) -> ODR10_W {
85670                ODR10_W { w: self }
85671            }
85672            ///Bit 9 - Port output data (y = 0..15)
85673            #[inline(always)]
85674            pub fn odr9(&mut self) -> ODR9_W {
85675                ODR9_W { w: self }
85676            }
85677            ///Bit 8 - Port output data (y = 0..15)
85678            #[inline(always)]
85679            pub fn odr8(&mut self) -> ODR8_W {
85680                ODR8_W { w: self }
85681            }
85682            ///Bit 7 - Port output data (y = 0..15)
85683            #[inline(always)]
85684            pub fn odr7(&mut self) -> ODR7_W {
85685                ODR7_W { w: self }
85686            }
85687            ///Bit 6 - Port output data (y = 0..15)
85688            #[inline(always)]
85689            pub fn odr6(&mut self) -> ODR6_W {
85690                ODR6_W { w: self }
85691            }
85692            ///Bit 5 - Port output data (y = 0..15)
85693            #[inline(always)]
85694            pub fn odr5(&mut self) -> ODR5_W {
85695                ODR5_W { w: self }
85696            }
85697            ///Bit 4 - Port output data (y = 0..15)
85698            #[inline(always)]
85699            pub fn odr4(&mut self) -> ODR4_W {
85700                ODR4_W { w: self }
85701            }
85702            ///Bit 3 - Port output data (y = 0..15)
85703            #[inline(always)]
85704            pub fn odr3(&mut self) -> ODR3_W {
85705                ODR3_W { w: self }
85706            }
85707            ///Bit 2 - Port output data (y = 0..15)
85708            #[inline(always)]
85709            pub fn odr2(&mut self) -> ODR2_W {
85710                ODR2_W { w: self }
85711            }
85712            ///Bit 1 - Port output data (y = 0..15)
85713            #[inline(always)]
85714            pub fn odr1(&mut self) -> ODR1_W {
85715                ODR1_W { w: self }
85716            }
85717            ///Bit 0 - Port output data (y = 0..15)
85718            #[inline(always)]
85719            pub fn odr0(&mut self) -> ODR0_W {
85720                ODR0_W { w: self }
85721            }
85722        }
85723    }
85724    ///GPIO port bit set/reset register
85725    ///
85726    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
85727    ///
85728    ///For information about available fields see [bsrr](bsrr) module
85729    pub type BSRR = crate::Reg<u32, _BSRR>;
85730    #[allow(missing_docs)]
85731    #[doc(hidden)]
85732    pub struct _BSRR;
85733    ///`write(|w| ..)` method takes [bsrr::W](bsrr::W) writer structure
85734    impl crate::Writable for BSRR {}
85735    ///GPIO port bit set/reset register
85736    pub mod bsrr {
85737        ///Writer for register BSRR
85738        pub type W = crate::W<u32, super::BSRR>;
85739        ///Register BSRR `reset()`'s with value 0
85740        impl crate::ResetValue for super::BSRR {
85741            type Type = u32;
85742            #[inline(always)]
85743            fn reset_value() -> Self::Type {
85744                0
85745            }
85746        }
85747        ///Write proxy for field `BR15`
85748        pub struct BR15_W<'a> {
85749            w: &'a mut W,
85750        }
85751        impl<'a> BR15_W<'a> {
85752            ///Sets the field bit
85753            #[inline(always)]
85754            pub fn set_bit(self) -> &'a mut W {
85755                self.bit(true)
85756            }
85757            ///Clears the field bit
85758            #[inline(always)]
85759            pub fn clear_bit(self) -> &'a mut W {
85760                self.bit(false)
85761            }
85762            ///Writes raw bits to the field
85763            #[inline(always)]
85764            pub fn bit(self, value: bool) -> &'a mut W {
85765                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
85766                self.w
85767            }
85768        }
85769        ///Write proxy for field `BR14`
85770        pub struct BR14_W<'a> {
85771            w: &'a mut W,
85772        }
85773        impl<'a> BR14_W<'a> {
85774            ///Sets the field bit
85775            #[inline(always)]
85776            pub fn set_bit(self) -> &'a mut W {
85777                self.bit(true)
85778            }
85779            ///Clears the field bit
85780            #[inline(always)]
85781            pub fn clear_bit(self) -> &'a mut W {
85782                self.bit(false)
85783            }
85784            ///Writes raw bits to the field
85785            #[inline(always)]
85786            pub fn bit(self, value: bool) -> &'a mut W {
85787                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
85788                self.w
85789            }
85790        }
85791        ///Write proxy for field `BR13`
85792        pub struct BR13_W<'a> {
85793            w: &'a mut W,
85794        }
85795        impl<'a> BR13_W<'a> {
85796            ///Sets the field bit
85797            #[inline(always)]
85798            pub fn set_bit(self) -> &'a mut W {
85799                self.bit(true)
85800            }
85801            ///Clears the field bit
85802            #[inline(always)]
85803            pub fn clear_bit(self) -> &'a mut W {
85804                self.bit(false)
85805            }
85806            ///Writes raw bits to the field
85807            #[inline(always)]
85808            pub fn bit(self, value: bool) -> &'a mut W {
85809                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
85810                self.w
85811            }
85812        }
85813        ///Write proxy for field `BR12`
85814        pub struct BR12_W<'a> {
85815            w: &'a mut W,
85816        }
85817        impl<'a> BR12_W<'a> {
85818            ///Sets the field bit
85819            #[inline(always)]
85820            pub fn set_bit(self) -> &'a mut W {
85821                self.bit(true)
85822            }
85823            ///Clears the field bit
85824            #[inline(always)]
85825            pub fn clear_bit(self) -> &'a mut W {
85826                self.bit(false)
85827            }
85828            ///Writes raw bits to the field
85829            #[inline(always)]
85830            pub fn bit(self, value: bool) -> &'a mut W {
85831                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
85832                self.w
85833            }
85834        }
85835        ///Write proxy for field `BR11`
85836        pub struct BR11_W<'a> {
85837            w: &'a mut W,
85838        }
85839        impl<'a> BR11_W<'a> {
85840            ///Sets the field bit
85841            #[inline(always)]
85842            pub fn set_bit(self) -> &'a mut W {
85843                self.bit(true)
85844            }
85845            ///Clears the field bit
85846            #[inline(always)]
85847            pub fn clear_bit(self) -> &'a mut W {
85848                self.bit(false)
85849            }
85850            ///Writes raw bits to the field
85851            #[inline(always)]
85852            pub fn bit(self, value: bool) -> &'a mut W {
85853                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
85854                self.w
85855            }
85856        }
85857        ///Write proxy for field `BR10`
85858        pub struct BR10_W<'a> {
85859            w: &'a mut W,
85860        }
85861        impl<'a> BR10_W<'a> {
85862            ///Sets the field bit
85863            #[inline(always)]
85864            pub fn set_bit(self) -> &'a mut W {
85865                self.bit(true)
85866            }
85867            ///Clears the field bit
85868            #[inline(always)]
85869            pub fn clear_bit(self) -> &'a mut W {
85870                self.bit(false)
85871            }
85872            ///Writes raw bits to the field
85873            #[inline(always)]
85874            pub fn bit(self, value: bool) -> &'a mut W {
85875                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
85876                self.w
85877            }
85878        }
85879        ///Write proxy for field `BR9`
85880        pub struct BR9_W<'a> {
85881            w: &'a mut W,
85882        }
85883        impl<'a> BR9_W<'a> {
85884            ///Sets the field bit
85885            #[inline(always)]
85886            pub fn set_bit(self) -> &'a mut W {
85887                self.bit(true)
85888            }
85889            ///Clears the field bit
85890            #[inline(always)]
85891            pub fn clear_bit(self) -> &'a mut W {
85892                self.bit(false)
85893            }
85894            ///Writes raw bits to the field
85895            #[inline(always)]
85896            pub fn bit(self, value: bool) -> &'a mut W {
85897                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
85898                self.w
85899            }
85900        }
85901        ///Write proxy for field `BR8`
85902        pub struct BR8_W<'a> {
85903            w: &'a mut W,
85904        }
85905        impl<'a> BR8_W<'a> {
85906            ///Sets the field bit
85907            #[inline(always)]
85908            pub fn set_bit(self) -> &'a mut W {
85909                self.bit(true)
85910            }
85911            ///Clears the field bit
85912            #[inline(always)]
85913            pub fn clear_bit(self) -> &'a mut W {
85914                self.bit(false)
85915            }
85916            ///Writes raw bits to the field
85917            #[inline(always)]
85918            pub fn bit(self, value: bool) -> &'a mut W {
85919                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
85920                self.w
85921            }
85922        }
85923        ///Write proxy for field `BR7`
85924        pub struct BR7_W<'a> {
85925            w: &'a mut W,
85926        }
85927        impl<'a> BR7_W<'a> {
85928            ///Sets the field bit
85929            #[inline(always)]
85930            pub fn set_bit(self) -> &'a mut W {
85931                self.bit(true)
85932            }
85933            ///Clears the field bit
85934            #[inline(always)]
85935            pub fn clear_bit(self) -> &'a mut W {
85936                self.bit(false)
85937            }
85938            ///Writes raw bits to the field
85939            #[inline(always)]
85940            pub fn bit(self, value: bool) -> &'a mut W {
85941                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
85942                self.w
85943            }
85944        }
85945        ///Write proxy for field `BR6`
85946        pub struct BR6_W<'a> {
85947            w: &'a mut W,
85948        }
85949        impl<'a> BR6_W<'a> {
85950            ///Sets the field bit
85951            #[inline(always)]
85952            pub fn set_bit(self) -> &'a mut W {
85953                self.bit(true)
85954            }
85955            ///Clears the field bit
85956            #[inline(always)]
85957            pub fn clear_bit(self) -> &'a mut W {
85958                self.bit(false)
85959            }
85960            ///Writes raw bits to the field
85961            #[inline(always)]
85962            pub fn bit(self, value: bool) -> &'a mut W {
85963                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
85964                self.w
85965            }
85966        }
85967        ///Write proxy for field `BR5`
85968        pub struct BR5_W<'a> {
85969            w: &'a mut W,
85970        }
85971        impl<'a> BR5_W<'a> {
85972            ///Sets the field bit
85973            #[inline(always)]
85974            pub fn set_bit(self) -> &'a mut W {
85975                self.bit(true)
85976            }
85977            ///Clears the field bit
85978            #[inline(always)]
85979            pub fn clear_bit(self) -> &'a mut W {
85980                self.bit(false)
85981            }
85982            ///Writes raw bits to the field
85983            #[inline(always)]
85984            pub fn bit(self, value: bool) -> &'a mut W {
85985                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
85986                self.w
85987            }
85988        }
85989        ///Write proxy for field `BR4`
85990        pub struct BR4_W<'a> {
85991            w: &'a mut W,
85992        }
85993        impl<'a> BR4_W<'a> {
85994            ///Sets the field bit
85995            #[inline(always)]
85996            pub fn set_bit(self) -> &'a mut W {
85997                self.bit(true)
85998            }
85999            ///Clears the field bit
86000            #[inline(always)]
86001            pub fn clear_bit(self) -> &'a mut W {
86002                self.bit(false)
86003            }
86004            ///Writes raw bits to the field
86005            #[inline(always)]
86006            pub fn bit(self, value: bool) -> &'a mut W {
86007                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
86008                self.w
86009            }
86010        }
86011        ///Write proxy for field `BR3`
86012        pub struct BR3_W<'a> {
86013            w: &'a mut W,
86014        }
86015        impl<'a> BR3_W<'a> {
86016            ///Sets the field bit
86017            #[inline(always)]
86018            pub fn set_bit(self) -> &'a mut W {
86019                self.bit(true)
86020            }
86021            ///Clears the field bit
86022            #[inline(always)]
86023            pub fn clear_bit(self) -> &'a mut W {
86024                self.bit(false)
86025            }
86026            ///Writes raw bits to the field
86027            #[inline(always)]
86028            pub fn bit(self, value: bool) -> &'a mut W {
86029                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
86030                self.w
86031            }
86032        }
86033        ///Write proxy for field `BR2`
86034        pub struct BR2_W<'a> {
86035            w: &'a mut W,
86036        }
86037        impl<'a> BR2_W<'a> {
86038            ///Sets the field bit
86039            #[inline(always)]
86040            pub fn set_bit(self) -> &'a mut W {
86041                self.bit(true)
86042            }
86043            ///Clears the field bit
86044            #[inline(always)]
86045            pub fn clear_bit(self) -> &'a mut W {
86046                self.bit(false)
86047            }
86048            ///Writes raw bits to the field
86049            #[inline(always)]
86050            pub fn bit(self, value: bool) -> &'a mut W {
86051                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
86052                self.w
86053            }
86054        }
86055        ///Write proxy for field `BR1`
86056        pub struct BR1_W<'a> {
86057            w: &'a mut W,
86058        }
86059        impl<'a> BR1_W<'a> {
86060            ///Sets the field bit
86061            #[inline(always)]
86062            pub fn set_bit(self) -> &'a mut W {
86063                self.bit(true)
86064            }
86065            ///Clears the field bit
86066            #[inline(always)]
86067            pub fn clear_bit(self) -> &'a mut W {
86068                self.bit(false)
86069            }
86070            ///Writes raw bits to the field
86071            #[inline(always)]
86072            pub fn bit(self, value: bool) -> &'a mut W {
86073                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
86074                self.w
86075            }
86076        }
86077        ///Write proxy for field `BR0`
86078        pub struct BR0_W<'a> {
86079            w: &'a mut W,
86080        }
86081        impl<'a> BR0_W<'a> {
86082            ///Sets the field bit
86083            #[inline(always)]
86084            pub fn set_bit(self) -> &'a mut W {
86085                self.bit(true)
86086            }
86087            ///Clears the field bit
86088            #[inline(always)]
86089            pub fn clear_bit(self) -> &'a mut W {
86090                self.bit(false)
86091            }
86092            ///Writes raw bits to the field
86093            #[inline(always)]
86094            pub fn bit(self, value: bool) -> &'a mut W {
86095                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
86096                self.w
86097            }
86098        }
86099        ///Write proxy for field `BS15`
86100        pub struct BS15_W<'a> {
86101            w: &'a mut W,
86102        }
86103        impl<'a> BS15_W<'a> {
86104            ///Sets the field bit
86105            #[inline(always)]
86106            pub fn set_bit(self) -> &'a mut W {
86107                self.bit(true)
86108            }
86109            ///Clears the field bit
86110            #[inline(always)]
86111            pub fn clear_bit(self) -> &'a mut W {
86112                self.bit(false)
86113            }
86114            ///Writes raw bits to the field
86115            #[inline(always)]
86116            pub fn bit(self, value: bool) -> &'a mut W {
86117                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
86118                self.w
86119            }
86120        }
86121        ///Write proxy for field `BS14`
86122        pub struct BS14_W<'a> {
86123            w: &'a mut W,
86124        }
86125        impl<'a> BS14_W<'a> {
86126            ///Sets the field bit
86127            #[inline(always)]
86128            pub fn set_bit(self) -> &'a mut W {
86129                self.bit(true)
86130            }
86131            ///Clears the field bit
86132            #[inline(always)]
86133            pub fn clear_bit(self) -> &'a mut W {
86134                self.bit(false)
86135            }
86136            ///Writes raw bits to the field
86137            #[inline(always)]
86138            pub fn bit(self, value: bool) -> &'a mut W {
86139                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
86140                self.w
86141            }
86142        }
86143        ///Write proxy for field `BS13`
86144        pub struct BS13_W<'a> {
86145            w: &'a mut W,
86146        }
86147        impl<'a> BS13_W<'a> {
86148            ///Sets the field bit
86149            #[inline(always)]
86150            pub fn set_bit(self) -> &'a mut W {
86151                self.bit(true)
86152            }
86153            ///Clears the field bit
86154            #[inline(always)]
86155            pub fn clear_bit(self) -> &'a mut W {
86156                self.bit(false)
86157            }
86158            ///Writes raw bits to the field
86159            #[inline(always)]
86160            pub fn bit(self, value: bool) -> &'a mut W {
86161                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
86162                self.w
86163            }
86164        }
86165        ///Write proxy for field `BS12`
86166        pub struct BS12_W<'a> {
86167            w: &'a mut W,
86168        }
86169        impl<'a> BS12_W<'a> {
86170            ///Sets the field bit
86171            #[inline(always)]
86172            pub fn set_bit(self) -> &'a mut W {
86173                self.bit(true)
86174            }
86175            ///Clears the field bit
86176            #[inline(always)]
86177            pub fn clear_bit(self) -> &'a mut W {
86178                self.bit(false)
86179            }
86180            ///Writes raw bits to the field
86181            #[inline(always)]
86182            pub fn bit(self, value: bool) -> &'a mut W {
86183                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
86184                self.w
86185            }
86186        }
86187        ///Write proxy for field `BS11`
86188        pub struct BS11_W<'a> {
86189            w: &'a mut W,
86190        }
86191        impl<'a> BS11_W<'a> {
86192            ///Sets the field bit
86193            #[inline(always)]
86194            pub fn set_bit(self) -> &'a mut W {
86195                self.bit(true)
86196            }
86197            ///Clears the field bit
86198            #[inline(always)]
86199            pub fn clear_bit(self) -> &'a mut W {
86200                self.bit(false)
86201            }
86202            ///Writes raw bits to the field
86203            #[inline(always)]
86204            pub fn bit(self, value: bool) -> &'a mut W {
86205                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
86206                self.w
86207            }
86208        }
86209        ///Write proxy for field `BS10`
86210        pub struct BS10_W<'a> {
86211            w: &'a mut W,
86212        }
86213        impl<'a> BS10_W<'a> {
86214            ///Sets the field bit
86215            #[inline(always)]
86216            pub fn set_bit(self) -> &'a mut W {
86217                self.bit(true)
86218            }
86219            ///Clears the field bit
86220            #[inline(always)]
86221            pub fn clear_bit(self) -> &'a mut W {
86222                self.bit(false)
86223            }
86224            ///Writes raw bits to the field
86225            #[inline(always)]
86226            pub fn bit(self, value: bool) -> &'a mut W {
86227                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
86228                self.w
86229            }
86230        }
86231        ///Write proxy for field `BS9`
86232        pub struct BS9_W<'a> {
86233            w: &'a mut W,
86234        }
86235        impl<'a> BS9_W<'a> {
86236            ///Sets the field bit
86237            #[inline(always)]
86238            pub fn set_bit(self) -> &'a mut W {
86239                self.bit(true)
86240            }
86241            ///Clears the field bit
86242            #[inline(always)]
86243            pub fn clear_bit(self) -> &'a mut W {
86244                self.bit(false)
86245            }
86246            ///Writes raw bits to the field
86247            #[inline(always)]
86248            pub fn bit(self, value: bool) -> &'a mut W {
86249                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
86250                self.w
86251            }
86252        }
86253        ///Write proxy for field `BS8`
86254        pub struct BS8_W<'a> {
86255            w: &'a mut W,
86256        }
86257        impl<'a> BS8_W<'a> {
86258            ///Sets the field bit
86259            #[inline(always)]
86260            pub fn set_bit(self) -> &'a mut W {
86261                self.bit(true)
86262            }
86263            ///Clears the field bit
86264            #[inline(always)]
86265            pub fn clear_bit(self) -> &'a mut W {
86266                self.bit(false)
86267            }
86268            ///Writes raw bits to the field
86269            #[inline(always)]
86270            pub fn bit(self, value: bool) -> &'a mut W {
86271                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
86272                self.w
86273            }
86274        }
86275        ///Write proxy for field `BS7`
86276        pub struct BS7_W<'a> {
86277            w: &'a mut W,
86278        }
86279        impl<'a> BS7_W<'a> {
86280            ///Sets the field bit
86281            #[inline(always)]
86282            pub fn set_bit(self) -> &'a mut W {
86283                self.bit(true)
86284            }
86285            ///Clears the field bit
86286            #[inline(always)]
86287            pub fn clear_bit(self) -> &'a mut W {
86288                self.bit(false)
86289            }
86290            ///Writes raw bits to the field
86291            #[inline(always)]
86292            pub fn bit(self, value: bool) -> &'a mut W {
86293                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
86294                self.w
86295            }
86296        }
86297        ///Write proxy for field `BS6`
86298        pub struct BS6_W<'a> {
86299            w: &'a mut W,
86300        }
86301        impl<'a> BS6_W<'a> {
86302            ///Sets the field bit
86303            #[inline(always)]
86304            pub fn set_bit(self) -> &'a mut W {
86305                self.bit(true)
86306            }
86307            ///Clears the field bit
86308            #[inline(always)]
86309            pub fn clear_bit(self) -> &'a mut W {
86310                self.bit(false)
86311            }
86312            ///Writes raw bits to the field
86313            #[inline(always)]
86314            pub fn bit(self, value: bool) -> &'a mut W {
86315                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
86316                self.w
86317            }
86318        }
86319        ///Write proxy for field `BS5`
86320        pub struct BS5_W<'a> {
86321            w: &'a mut W,
86322        }
86323        impl<'a> BS5_W<'a> {
86324            ///Sets the field bit
86325            #[inline(always)]
86326            pub fn set_bit(self) -> &'a mut W {
86327                self.bit(true)
86328            }
86329            ///Clears the field bit
86330            #[inline(always)]
86331            pub fn clear_bit(self) -> &'a mut W {
86332                self.bit(false)
86333            }
86334            ///Writes raw bits to the field
86335            #[inline(always)]
86336            pub fn bit(self, value: bool) -> &'a mut W {
86337                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
86338                self.w
86339            }
86340        }
86341        ///Write proxy for field `BS4`
86342        pub struct BS4_W<'a> {
86343            w: &'a mut W,
86344        }
86345        impl<'a> BS4_W<'a> {
86346            ///Sets the field bit
86347            #[inline(always)]
86348            pub fn set_bit(self) -> &'a mut W {
86349                self.bit(true)
86350            }
86351            ///Clears the field bit
86352            #[inline(always)]
86353            pub fn clear_bit(self) -> &'a mut W {
86354                self.bit(false)
86355            }
86356            ///Writes raw bits to the field
86357            #[inline(always)]
86358            pub fn bit(self, value: bool) -> &'a mut W {
86359                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
86360                self.w
86361            }
86362        }
86363        ///Write proxy for field `BS3`
86364        pub struct BS3_W<'a> {
86365            w: &'a mut W,
86366        }
86367        impl<'a> BS3_W<'a> {
86368            ///Sets the field bit
86369            #[inline(always)]
86370            pub fn set_bit(self) -> &'a mut W {
86371                self.bit(true)
86372            }
86373            ///Clears the field bit
86374            #[inline(always)]
86375            pub fn clear_bit(self) -> &'a mut W {
86376                self.bit(false)
86377            }
86378            ///Writes raw bits to the field
86379            #[inline(always)]
86380            pub fn bit(self, value: bool) -> &'a mut W {
86381                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
86382                self.w
86383            }
86384        }
86385        ///Write proxy for field `BS2`
86386        pub struct BS2_W<'a> {
86387            w: &'a mut W,
86388        }
86389        impl<'a> BS2_W<'a> {
86390            ///Sets the field bit
86391            #[inline(always)]
86392            pub fn set_bit(self) -> &'a mut W {
86393                self.bit(true)
86394            }
86395            ///Clears the field bit
86396            #[inline(always)]
86397            pub fn clear_bit(self) -> &'a mut W {
86398                self.bit(false)
86399            }
86400            ///Writes raw bits to the field
86401            #[inline(always)]
86402            pub fn bit(self, value: bool) -> &'a mut W {
86403                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
86404                self.w
86405            }
86406        }
86407        ///Write proxy for field `BS1`
86408        pub struct BS1_W<'a> {
86409            w: &'a mut W,
86410        }
86411        impl<'a> BS1_W<'a> {
86412            ///Sets the field bit
86413            #[inline(always)]
86414            pub fn set_bit(self) -> &'a mut W {
86415                self.bit(true)
86416            }
86417            ///Clears the field bit
86418            #[inline(always)]
86419            pub fn clear_bit(self) -> &'a mut W {
86420                self.bit(false)
86421            }
86422            ///Writes raw bits to the field
86423            #[inline(always)]
86424            pub fn bit(self, value: bool) -> &'a mut W {
86425                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
86426                self.w
86427            }
86428        }
86429        ///Write proxy for field `BS0`
86430        pub struct BS0_W<'a> {
86431            w: &'a mut W,
86432        }
86433        impl<'a> BS0_W<'a> {
86434            ///Sets the field bit
86435            #[inline(always)]
86436            pub fn set_bit(self) -> &'a mut W {
86437                self.bit(true)
86438            }
86439            ///Clears the field bit
86440            #[inline(always)]
86441            pub fn clear_bit(self) -> &'a mut W {
86442                self.bit(false)
86443            }
86444            ///Writes raw bits to the field
86445            #[inline(always)]
86446            pub fn bit(self, value: bool) -> &'a mut W {
86447                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
86448                self.w
86449            }
86450        }
86451        impl W {
86452            ///Bit 31 - Port x reset bit y (y = 0..15)
86453            #[inline(always)]
86454            pub fn br15(&mut self) -> BR15_W {
86455                BR15_W { w: self }
86456            }
86457            ///Bit 30 - Port x reset bit y (y = 0..15)
86458            #[inline(always)]
86459            pub fn br14(&mut self) -> BR14_W {
86460                BR14_W { w: self }
86461            }
86462            ///Bit 29 - Port x reset bit y (y = 0..15)
86463            #[inline(always)]
86464            pub fn br13(&mut self) -> BR13_W {
86465                BR13_W { w: self }
86466            }
86467            ///Bit 28 - Port x reset bit y (y = 0..15)
86468            #[inline(always)]
86469            pub fn br12(&mut self) -> BR12_W {
86470                BR12_W { w: self }
86471            }
86472            ///Bit 27 - Port x reset bit y (y = 0..15)
86473            #[inline(always)]
86474            pub fn br11(&mut self) -> BR11_W {
86475                BR11_W { w: self }
86476            }
86477            ///Bit 26 - Port x reset bit y (y = 0..15)
86478            #[inline(always)]
86479            pub fn br10(&mut self) -> BR10_W {
86480                BR10_W { w: self }
86481            }
86482            ///Bit 25 - Port x reset bit y (y = 0..15)
86483            #[inline(always)]
86484            pub fn br9(&mut self) -> BR9_W {
86485                BR9_W { w: self }
86486            }
86487            ///Bit 24 - Port x reset bit y (y = 0..15)
86488            #[inline(always)]
86489            pub fn br8(&mut self) -> BR8_W {
86490                BR8_W { w: self }
86491            }
86492            ///Bit 23 - Port x reset bit y (y = 0..15)
86493            #[inline(always)]
86494            pub fn br7(&mut self) -> BR7_W {
86495                BR7_W { w: self }
86496            }
86497            ///Bit 22 - Port x reset bit y (y = 0..15)
86498            #[inline(always)]
86499            pub fn br6(&mut self) -> BR6_W {
86500                BR6_W { w: self }
86501            }
86502            ///Bit 21 - Port x reset bit y (y = 0..15)
86503            #[inline(always)]
86504            pub fn br5(&mut self) -> BR5_W {
86505                BR5_W { w: self }
86506            }
86507            ///Bit 20 - Port x reset bit y (y = 0..15)
86508            #[inline(always)]
86509            pub fn br4(&mut self) -> BR4_W {
86510                BR4_W { w: self }
86511            }
86512            ///Bit 19 - Port x reset bit y (y = 0..15)
86513            #[inline(always)]
86514            pub fn br3(&mut self) -> BR3_W {
86515                BR3_W { w: self }
86516            }
86517            ///Bit 18 - Port x reset bit y (y = 0..15)
86518            #[inline(always)]
86519            pub fn br2(&mut self) -> BR2_W {
86520                BR2_W { w: self }
86521            }
86522            ///Bit 17 - Port x reset bit y (y = 0..15)
86523            #[inline(always)]
86524            pub fn br1(&mut self) -> BR1_W {
86525                BR1_W { w: self }
86526            }
86527            ///Bit 16 - Port x set bit y (y= 0..15)
86528            #[inline(always)]
86529            pub fn br0(&mut self) -> BR0_W {
86530                BR0_W { w: self }
86531            }
86532            ///Bit 15 - Port x set bit y (y= 0..15)
86533            #[inline(always)]
86534            pub fn bs15(&mut self) -> BS15_W {
86535                BS15_W { w: self }
86536            }
86537            ///Bit 14 - Port x set bit y (y= 0..15)
86538            #[inline(always)]
86539            pub fn bs14(&mut self) -> BS14_W {
86540                BS14_W { w: self }
86541            }
86542            ///Bit 13 - Port x set bit y (y= 0..15)
86543            #[inline(always)]
86544            pub fn bs13(&mut self) -> BS13_W {
86545                BS13_W { w: self }
86546            }
86547            ///Bit 12 - Port x set bit y (y= 0..15)
86548            #[inline(always)]
86549            pub fn bs12(&mut self) -> BS12_W {
86550                BS12_W { w: self }
86551            }
86552            ///Bit 11 - Port x set bit y (y= 0..15)
86553            #[inline(always)]
86554            pub fn bs11(&mut self) -> BS11_W {
86555                BS11_W { w: self }
86556            }
86557            ///Bit 10 - Port x set bit y (y= 0..15)
86558            #[inline(always)]
86559            pub fn bs10(&mut self) -> BS10_W {
86560                BS10_W { w: self }
86561            }
86562            ///Bit 9 - Port x set bit y (y= 0..15)
86563            #[inline(always)]
86564            pub fn bs9(&mut self) -> BS9_W {
86565                BS9_W { w: self }
86566            }
86567            ///Bit 8 - Port x set bit y (y= 0..15)
86568            #[inline(always)]
86569            pub fn bs8(&mut self) -> BS8_W {
86570                BS8_W { w: self }
86571            }
86572            ///Bit 7 - Port x set bit y (y= 0..15)
86573            #[inline(always)]
86574            pub fn bs7(&mut self) -> BS7_W {
86575                BS7_W { w: self }
86576            }
86577            ///Bit 6 - Port x set bit y (y= 0..15)
86578            #[inline(always)]
86579            pub fn bs6(&mut self) -> BS6_W {
86580                BS6_W { w: self }
86581            }
86582            ///Bit 5 - Port x set bit y (y= 0..15)
86583            #[inline(always)]
86584            pub fn bs5(&mut self) -> BS5_W {
86585                BS5_W { w: self }
86586            }
86587            ///Bit 4 - Port x set bit y (y= 0..15)
86588            #[inline(always)]
86589            pub fn bs4(&mut self) -> BS4_W {
86590                BS4_W { w: self }
86591            }
86592            ///Bit 3 - Port x set bit y (y= 0..15)
86593            #[inline(always)]
86594            pub fn bs3(&mut self) -> BS3_W {
86595                BS3_W { w: self }
86596            }
86597            ///Bit 2 - Port x set bit y (y= 0..15)
86598            #[inline(always)]
86599            pub fn bs2(&mut self) -> BS2_W {
86600                BS2_W { w: self }
86601            }
86602            ///Bit 1 - Port x set bit y (y= 0..15)
86603            #[inline(always)]
86604            pub fn bs1(&mut self) -> BS1_W {
86605                BS1_W { w: self }
86606            }
86607            ///Bit 0 - Port x set bit y (y= 0..15)
86608            #[inline(always)]
86609            pub fn bs0(&mut self) -> BS0_W {
86610                BS0_W { w: self }
86611            }
86612        }
86613    }
86614    ///GPIO port configuration lock register
86615    ///
86616    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
86617    ///
86618    ///For information about available fields see [lckr](lckr) module
86619    pub type LCKR = crate::Reg<u32, _LCKR>;
86620    #[allow(missing_docs)]
86621    #[doc(hidden)]
86622    pub struct _LCKR;
86623    ///`read()` method returns [lckr::R](lckr::R) reader structure
86624    impl crate::Readable for LCKR {}
86625    ///`write(|w| ..)` method takes [lckr::W](lckr::W) writer structure
86626    impl crate::Writable for LCKR {}
86627    ///GPIO port configuration lock register
86628    pub mod lckr {
86629        ///Reader of register LCKR
86630        pub type R = crate::R<u32, super::LCKR>;
86631        ///Writer for register LCKR
86632        pub type W = crate::W<u32, super::LCKR>;
86633        ///Register LCKR `reset()`'s with value 0
86634        impl crate::ResetValue for super::LCKR {
86635            type Type = u32;
86636            #[inline(always)]
86637            fn reset_value() -> Self::Type {
86638                0
86639            }
86640        }
86641        ///Reader of field `LCKK`
86642        pub type LCKK_R = crate::R<bool, bool>;
86643        ///Write proxy for field `LCKK`
86644        pub struct LCKK_W<'a> {
86645            w: &'a mut W,
86646        }
86647        impl<'a> LCKK_W<'a> {
86648            ///Sets the field bit
86649            #[inline(always)]
86650            pub fn set_bit(self) -> &'a mut W {
86651                self.bit(true)
86652            }
86653            ///Clears the field bit
86654            #[inline(always)]
86655            pub fn clear_bit(self) -> &'a mut W {
86656                self.bit(false)
86657            }
86658            ///Writes raw bits to the field
86659            #[inline(always)]
86660            pub fn bit(self, value: bool) -> &'a mut W {
86661                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
86662                self.w
86663            }
86664        }
86665        ///Reader of field `LCK15`
86666        pub type LCK15_R = crate::R<bool, bool>;
86667        ///Write proxy for field `LCK15`
86668        pub struct LCK15_W<'a> {
86669            w: &'a mut W,
86670        }
86671        impl<'a> LCK15_W<'a> {
86672            ///Sets the field bit
86673            #[inline(always)]
86674            pub fn set_bit(self) -> &'a mut W {
86675                self.bit(true)
86676            }
86677            ///Clears the field bit
86678            #[inline(always)]
86679            pub fn clear_bit(self) -> &'a mut W {
86680                self.bit(false)
86681            }
86682            ///Writes raw bits to the field
86683            #[inline(always)]
86684            pub fn bit(self, value: bool) -> &'a mut W {
86685                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
86686                self.w
86687            }
86688        }
86689        ///Reader of field `LCK14`
86690        pub type LCK14_R = crate::R<bool, bool>;
86691        ///Write proxy for field `LCK14`
86692        pub struct LCK14_W<'a> {
86693            w: &'a mut W,
86694        }
86695        impl<'a> LCK14_W<'a> {
86696            ///Sets the field bit
86697            #[inline(always)]
86698            pub fn set_bit(self) -> &'a mut W {
86699                self.bit(true)
86700            }
86701            ///Clears the field bit
86702            #[inline(always)]
86703            pub fn clear_bit(self) -> &'a mut W {
86704                self.bit(false)
86705            }
86706            ///Writes raw bits to the field
86707            #[inline(always)]
86708            pub fn bit(self, value: bool) -> &'a mut W {
86709                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
86710                self.w
86711            }
86712        }
86713        ///Reader of field `LCK13`
86714        pub type LCK13_R = crate::R<bool, bool>;
86715        ///Write proxy for field `LCK13`
86716        pub struct LCK13_W<'a> {
86717            w: &'a mut W,
86718        }
86719        impl<'a> LCK13_W<'a> {
86720            ///Sets the field bit
86721            #[inline(always)]
86722            pub fn set_bit(self) -> &'a mut W {
86723                self.bit(true)
86724            }
86725            ///Clears the field bit
86726            #[inline(always)]
86727            pub fn clear_bit(self) -> &'a mut W {
86728                self.bit(false)
86729            }
86730            ///Writes raw bits to the field
86731            #[inline(always)]
86732            pub fn bit(self, value: bool) -> &'a mut W {
86733                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
86734                self.w
86735            }
86736        }
86737        ///Reader of field `LCK12`
86738        pub type LCK12_R = crate::R<bool, bool>;
86739        ///Write proxy for field `LCK12`
86740        pub struct LCK12_W<'a> {
86741            w: &'a mut W,
86742        }
86743        impl<'a> LCK12_W<'a> {
86744            ///Sets the field bit
86745            #[inline(always)]
86746            pub fn set_bit(self) -> &'a mut W {
86747                self.bit(true)
86748            }
86749            ///Clears the field bit
86750            #[inline(always)]
86751            pub fn clear_bit(self) -> &'a mut W {
86752                self.bit(false)
86753            }
86754            ///Writes raw bits to the field
86755            #[inline(always)]
86756            pub fn bit(self, value: bool) -> &'a mut W {
86757                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
86758                self.w
86759            }
86760        }
86761        ///Reader of field `LCK11`
86762        pub type LCK11_R = crate::R<bool, bool>;
86763        ///Write proxy for field `LCK11`
86764        pub struct LCK11_W<'a> {
86765            w: &'a mut W,
86766        }
86767        impl<'a> LCK11_W<'a> {
86768            ///Sets the field bit
86769            #[inline(always)]
86770            pub fn set_bit(self) -> &'a mut W {
86771                self.bit(true)
86772            }
86773            ///Clears the field bit
86774            #[inline(always)]
86775            pub fn clear_bit(self) -> &'a mut W {
86776                self.bit(false)
86777            }
86778            ///Writes raw bits to the field
86779            #[inline(always)]
86780            pub fn bit(self, value: bool) -> &'a mut W {
86781                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
86782                self.w
86783            }
86784        }
86785        ///Reader of field `LCK10`
86786        pub type LCK10_R = crate::R<bool, bool>;
86787        ///Write proxy for field `LCK10`
86788        pub struct LCK10_W<'a> {
86789            w: &'a mut W,
86790        }
86791        impl<'a> LCK10_W<'a> {
86792            ///Sets the field bit
86793            #[inline(always)]
86794            pub fn set_bit(self) -> &'a mut W {
86795                self.bit(true)
86796            }
86797            ///Clears the field bit
86798            #[inline(always)]
86799            pub fn clear_bit(self) -> &'a mut W {
86800                self.bit(false)
86801            }
86802            ///Writes raw bits to the field
86803            #[inline(always)]
86804            pub fn bit(self, value: bool) -> &'a mut W {
86805                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
86806                self.w
86807            }
86808        }
86809        ///Reader of field `LCK9`
86810        pub type LCK9_R = crate::R<bool, bool>;
86811        ///Write proxy for field `LCK9`
86812        pub struct LCK9_W<'a> {
86813            w: &'a mut W,
86814        }
86815        impl<'a> LCK9_W<'a> {
86816            ///Sets the field bit
86817            #[inline(always)]
86818            pub fn set_bit(self) -> &'a mut W {
86819                self.bit(true)
86820            }
86821            ///Clears the field bit
86822            #[inline(always)]
86823            pub fn clear_bit(self) -> &'a mut W {
86824                self.bit(false)
86825            }
86826            ///Writes raw bits to the field
86827            #[inline(always)]
86828            pub fn bit(self, value: bool) -> &'a mut W {
86829                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
86830                self.w
86831            }
86832        }
86833        ///Reader of field `LCK8`
86834        pub type LCK8_R = crate::R<bool, bool>;
86835        ///Write proxy for field `LCK8`
86836        pub struct LCK8_W<'a> {
86837            w: &'a mut W,
86838        }
86839        impl<'a> LCK8_W<'a> {
86840            ///Sets the field bit
86841            #[inline(always)]
86842            pub fn set_bit(self) -> &'a mut W {
86843                self.bit(true)
86844            }
86845            ///Clears the field bit
86846            #[inline(always)]
86847            pub fn clear_bit(self) -> &'a mut W {
86848                self.bit(false)
86849            }
86850            ///Writes raw bits to the field
86851            #[inline(always)]
86852            pub fn bit(self, value: bool) -> &'a mut W {
86853                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
86854                self.w
86855            }
86856        }
86857        ///Reader of field `LCK7`
86858        pub type LCK7_R = crate::R<bool, bool>;
86859        ///Write proxy for field `LCK7`
86860        pub struct LCK7_W<'a> {
86861            w: &'a mut W,
86862        }
86863        impl<'a> LCK7_W<'a> {
86864            ///Sets the field bit
86865            #[inline(always)]
86866            pub fn set_bit(self) -> &'a mut W {
86867                self.bit(true)
86868            }
86869            ///Clears the field bit
86870            #[inline(always)]
86871            pub fn clear_bit(self) -> &'a mut W {
86872                self.bit(false)
86873            }
86874            ///Writes raw bits to the field
86875            #[inline(always)]
86876            pub fn bit(self, value: bool) -> &'a mut W {
86877                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
86878                self.w
86879            }
86880        }
86881        ///Reader of field `LCK6`
86882        pub type LCK6_R = crate::R<bool, bool>;
86883        ///Write proxy for field `LCK6`
86884        pub struct LCK6_W<'a> {
86885            w: &'a mut W,
86886        }
86887        impl<'a> LCK6_W<'a> {
86888            ///Sets the field bit
86889            #[inline(always)]
86890            pub fn set_bit(self) -> &'a mut W {
86891                self.bit(true)
86892            }
86893            ///Clears the field bit
86894            #[inline(always)]
86895            pub fn clear_bit(self) -> &'a mut W {
86896                self.bit(false)
86897            }
86898            ///Writes raw bits to the field
86899            #[inline(always)]
86900            pub fn bit(self, value: bool) -> &'a mut W {
86901                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
86902                self.w
86903            }
86904        }
86905        ///Reader of field `LCK5`
86906        pub type LCK5_R = crate::R<bool, bool>;
86907        ///Write proxy for field `LCK5`
86908        pub struct LCK5_W<'a> {
86909            w: &'a mut W,
86910        }
86911        impl<'a> LCK5_W<'a> {
86912            ///Sets the field bit
86913            #[inline(always)]
86914            pub fn set_bit(self) -> &'a mut W {
86915                self.bit(true)
86916            }
86917            ///Clears the field bit
86918            #[inline(always)]
86919            pub fn clear_bit(self) -> &'a mut W {
86920                self.bit(false)
86921            }
86922            ///Writes raw bits to the field
86923            #[inline(always)]
86924            pub fn bit(self, value: bool) -> &'a mut W {
86925                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
86926                self.w
86927            }
86928        }
86929        ///Reader of field `LCK4`
86930        pub type LCK4_R = crate::R<bool, bool>;
86931        ///Write proxy for field `LCK4`
86932        pub struct LCK4_W<'a> {
86933            w: &'a mut W,
86934        }
86935        impl<'a> LCK4_W<'a> {
86936            ///Sets the field bit
86937            #[inline(always)]
86938            pub fn set_bit(self) -> &'a mut W {
86939                self.bit(true)
86940            }
86941            ///Clears the field bit
86942            #[inline(always)]
86943            pub fn clear_bit(self) -> &'a mut W {
86944                self.bit(false)
86945            }
86946            ///Writes raw bits to the field
86947            #[inline(always)]
86948            pub fn bit(self, value: bool) -> &'a mut W {
86949                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
86950                self.w
86951            }
86952        }
86953        ///Reader of field `LCK3`
86954        pub type LCK3_R = crate::R<bool, bool>;
86955        ///Write proxy for field `LCK3`
86956        pub struct LCK3_W<'a> {
86957            w: &'a mut W,
86958        }
86959        impl<'a> LCK3_W<'a> {
86960            ///Sets the field bit
86961            #[inline(always)]
86962            pub fn set_bit(self) -> &'a mut W {
86963                self.bit(true)
86964            }
86965            ///Clears the field bit
86966            #[inline(always)]
86967            pub fn clear_bit(self) -> &'a mut W {
86968                self.bit(false)
86969            }
86970            ///Writes raw bits to the field
86971            #[inline(always)]
86972            pub fn bit(self, value: bool) -> &'a mut W {
86973                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
86974                self.w
86975            }
86976        }
86977        ///Reader of field `LCK2`
86978        pub type LCK2_R = crate::R<bool, bool>;
86979        ///Write proxy for field `LCK2`
86980        pub struct LCK2_W<'a> {
86981            w: &'a mut W,
86982        }
86983        impl<'a> LCK2_W<'a> {
86984            ///Sets the field bit
86985            #[inline(always)]
86986            pub fn set_bit(self) -> &'a mut W {
86987                self.bit(true)
86988            }
86989            ///Clears the field bit
86990            #[inline(always)]
86991            pub fn clear_bit(self) -> &'a mut W {
86992                self.bit(false)
86993            }
86994            ///Writes raw bits to the field
86995            #[inline(always)]
86996            pub fn bit(self, value: bool) -> &'a mut W {
86997                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
86998                self.w
86999            }
87000        }
87001        ///Reader of field `LCK1`
87002        pub type LCK1_R = crate::R<bool, bool>;
87003        ///Write proxy for field `LCK1`
87004        pub struct LCK1_W<'a> {
87005            w: &'a mut W,
87006        }
87007        impl<'a> LCK1_W<'a> {
87008            ///Sets the field bit
87009            #[inline(always)]
87010            pub fn set_bit(self) -> &'a mut W {
87011                self.bit(true)
87012            }
87013            ///Clears the field bit
87014            #[inline(always)]
87015            pub fn clear_bit(self) -> &'a mut W {
87016                self.bit(false)
87017            }
87018            ///Writes raw bits to the field
87019            #[inline(always)]
87020            pub fn bit(self, value: bool) -> &'a mut W {
87021                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
87022                self.w
87023            }
87024        }
87025        ///Reader of field `LCK0`
87026        pub type LCK0_R = crate::R<bool, bool>;
87027        ///Write proxy for field `LCK0`
87028        pub struct LCK0_W<'a> {
87029            w: &'a mut W,
87030        }
87031        impl<'a> LCK0_W<'a> {
87032            ///Sets the field bit
87033            #[inline(always)]
87034            pub fn set_bit(self) -> &'a mut W {
87035                self.bit(true)
87036            }
87037            ///Clears the field bit
87038            #[inline(always)]
87039            pub fn clear_bit(self) -> &'a mut W {
87040                self.bit(false)
87041            }
87042            ///Writes raw bits to the field
87043            #[inline(always)]
87044            pub fn bit(self, value: bool) -> &'a mut W {
87045                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
87046                self.w
87047            }
87048        }
87049        impl R {
87050            ///Bit 16 - Port x lock bit y (y= 0..15)
87051            #[inline(always)]
87052            pub fn lckk(&self) -> LCKK_R {
87053                LCKK_R::new(((self.bits >> 16) & 0x01) != 0)
87054            }
87055            ///Bit 15 - Port x lock bit y (y= 0..15)
87056            #[inline(always)]
87057            pub fn lck15(&self) -> LCK15_R {
87058                LCK15_R::new(((self.bits >> 15) & 0x01) != 0)
87059            }
87060            ///Bit 14 - Port x lock bit y (y= 0..15)
87061            #[inline(always)]
87062            pub fn lck14(&self) -> LCK14_R {
87063                LCK14_R::new(((self.bits >> 14) & 0x01) != 0)
87064            }
87065            ///Bit 13 - Port x lock bit y (y= 0..15)
87066            #[inline(always)]
87067            pub fn lck13(&self) -> LCK13_R {
87068                LCK13_R::new(((self.bits >> 13) & 0x01) != 0)
87069            }
87070            ///Bit 12 - Port x lock bit y (y= 0..15)
87071            #[inline(always)]
87072            pub fn lck12(&self) -> LCK12_R {
87073                LCK12_R::new(((self.bits >> 12) & 0x01) != 0)
87074            }
87075            ///Bit 11 - Port x lock bit y (y= 0..15)
87076            #[inline(always)]
87077            pub fn lck11(&self) -> LCK11_R {
87078                LCK11_R::new(((self.bits >> 11) & 0x01) != 0)
87079            }
87080            ///Bit 10 - Port x lock bit y (y= 0..15)
87081            #[inline(always)]
87082            pub fn lck10(&self) -> LCK10_R {
87083                LCK10_R::new(((self.bits >> 10) & 0x01) != 0)
87084            }
87085            ///Bit 9 - Port x lock bit y (y= 0..15)
87086            #[inline(always)]
87087            pub fn lck9(&self) -> LCK9_R {
87088                LCK9_R::new(((self.bits >> 9) & 0x01) != 0)
87089            }
87090            ///Bit 8 - Port x lock bit y (y= 0..15)
87091            #[inline(always)]
87092            pub fn lck8(&self) -> LCK8_R {
87093                LCK8_R::new(((self.bits >> 8) & 0x01) != 0)
87094            }
87095            ///Bit 7 - Port x lock bit y (y= 0..15)
87096            #[inline(always)]
87097            pub fn lck7(&self) -> LCK7_R {
87098                LCK7_R::new(((self.bits >> 7) & 0x01) != 0)
87099            }
87100            ///Bit 6 - Port x lock bit y (y= 0..15)
87101            #[inline(always)]
87102            pub fn lck6(&self) -> LCK6_R {
87103                LCK6_R::new(((self.bits >> 6) & 0x01) != 0)
87104            }
87105            ///Bit 5 - Port x lock bit y (y= 0..15)
87106            #[inline(always)]
87107            pub fn lck5(&self) -> LCK5_R {
87108                LCK5_R::new(((self.bits >> 5) & 0x01) != 0)
87109            }
87110            ///Bit 4 - Port x lock bit y (y= 0..15)
87111            #[inline(always)]
87112            pub fn lck4(&self) -> LCK4_R {
87113                LCK4_R::new(((self.bits >> 4) & 0x01) != 0)
87114            }
87115            ///Bit 3 - Port x lock bit y (y= 0..15)
87116            #[inline(always)]
87117            pub fn lck3(&self) -> LCK3_R {
87118                LCK3_R::new(((self.bits >> 3) & 0x01) != 0)
87119            }
87120            ///Bit 2 - Port x lock bit y (y= 0..15)
87121            #[inline(always)]
87122            pub fn lck2(&self) -> LCK2_R {
87123                LCK2_R::new(((self.bits >> 2) & 0x01) != 0)
87124            }
87125            ///Bit 1 - Port x lock bit y (y= 0..15)
87126            #[inline(always)]
87127            pub fn lck1(&self) -> LCK1_R {
87128                LCK1_R::new(((self.bits >> 1) & 0x01) != 0)
87129            }
87130            ///Bit 0 - Port x lock bit y (y= 0..15)
87131            #[inline(always)]
87132            pub fn lck0(&self) -> LCK0_R {
87133                LCK0_R::new((self.bits & 0x01) != 0)
87134            }
87135        }
87136        impl W {
87137            ///Bit 16 - Port x lock bit y (y= 0..15)
87138            #[inline(always)]
87139            pub fn lckk(&mut self) -> LCKK_W {
87140                LCKK_W { w: self }
87141            }
87142            ///Bit 15 - Port x lock bit y (y= 0..15)
87143            #[inline(always)]
87144            pub fn lck15(&mut self) -> LCK15_W {
87145                LCK15_W { w: self }
87146            }
87147            ///Bit 14 - Port x lock bit y (y= 0..15)
87148            #[inline(always)]
87149            pub fn lck14(&mut self) -> LCK14_W {
87150                LCK14_W { w: self }
87151            }
87152            ///Bit 13 - Port x lock bit y (y= 0..15)
87153            #[inline(always)]
87154            pub fn lck13(&mut self) -> LCK13_W {
87155                LCK13_W { w: self }
87156            }
87157            ///Bit 12 - Port x lock bit y (y= 0..15)
87158            #[inline(always)]
87159            pub fn lck12(&mut self) -> LCK12_W {
87160                LCK12_W { w: self }
87161            }
87162            ///Bit 11 - Port x lock bit y (y= 0..15)
87163            #[inline(always)]
87164            pub fn lck11(&mut self) -> LCK11_W {
87165                LCK11_W { w: self }
87166            }
87167            ///Bit 10 - Port x lock bit y (y= 0..15)
87168            #[inline(always)]
87169            pub fn lck10(&mut self) -> LCK10_W {
87170                LCK10_W { w: self }
87171            }
87172            ///Bit 9 - Port x lock bit y (y= 0..15)
87173            #[inline(always)]
87174            pub fn lck9(&mut self) -> LCK9_W {
87175                LCK9_W { w: self }
87176            }
87177            ///Bit 8 - Port x lock bit y (y= 0..15)
87178            #[inline(always)]
87179            pub fn lck8(&mut self) -> LCK8_W {
87180                LCK8_W { w: self }
87181            }
87182            ///Bit 7 - Port x lock bit y (y= 0..15)
87183            #[inline(always)]
87184            pub fn lck7(&mut self) -> LCK7_W {
87185                LCK7_W { w: self }
87186            }
87187            ///Bit 6 - Port x lock bit y (y= 0..15)
87188            #[inline(always)]
87189            pub fn lck6(&mut self) -> LCK6_W {
87190                LCK6_W { w: self }
87191            }
87192            ///Bit 5 - Port x lock bit y (y= 0..15)
87193            #[inline(always)]
87194            pub fn lck5(&mut self) -> LCK5_W {
87195                LCK5_W { w: self }
87196            }
87197            ///Bit 4 - Port x lock bit y (y= 0..15)
87198            #[inline(always)]
87199            pub fn lck4(&mut self) -> LCK4_W {
87200                LCK4_W { w: self }
87201            }
87202            ///Bit 3 - Port x lock bit y (y= 0..15)
87203            #[inline(always)]
87204            pub fn lck3(&mut self) -> LCK3_W {
87205                LCK3_W { w: self }
87206            }
87207            ///Bit 2 - Port x lock bit y (y= 0..15)
87208            #[inline(always)]
87209            pub fn lck2(&mut self) -> LCK2_W {
87210                LCK2_W { w: self }
87211            }
87212            ///Bit 1 - Port x lock bit y (y= 0..15)
87213            #[inline(always)]
87214            pub fn lck1(&mut self) -> LCK1_W {
87215                LCK1_W { w: self }
87216            }
87217            ///Bit 0 - Port x lock bit y (y= 0..15)
87218            #[inline(always)]
87219            pub fn lck0(&mut self) -> LCK0_W {
87220                LCK0_W { w: self }
87221            }
87222        }
87223    }
87224    ///GPIO alternate function low register
87225    ///
87226    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
87227    ///
87228    ///For information about available fields see [afrl](afrl) module
87229    pub type AFRL = crate::Reg<u32, _AFRL>;
87230    #[allow(missing_docs)]
87231    #[doc(hidden)]
87232    pub struct _AFRL;
87233    ///`read()` method returns [afrl::R](afrl::R) reader structure
87234    impl crate::Readable for AFRL {}
87235    ///`write(|w| ..)` method takes [afrl::W](afrl::W) writer structure
87236    impl crate::Writable for AFRL {}
87237    ///GPIO alternate function low register
87238    pub mod afrl {
87239        ///Reader of register AFRL
87240        pub type R = crate::R<u32, super::AFRL>;
87241        ///Writer for register AFRL
87242        pub type W = crate::W<u32, super::AFRL>;
87243        ///Register AFRL `reset()`'s with value 0
87244        impl crate::ResetValue for super::AFRL {
87245            type Type = u32;
87246            #[inline(always)]
87247            fn reset_value() -> Self::Type {
87248                0
87249            }
87250        }
87251        ///Reader of field `AFSEL7`
87252        pub type AFSEL7_R = crate::R<u8, u8>;
87253        ///Write proxy for field `AFSEL7`
87254        pub struct AFSEL7_W<'a> {
87255            w: &'a mut W,
87256        }
87257        impl<'a> AFSEL7_W<'a> {
87258            ///Writes raw bits to the field
87259            #[inline(always)]
87260            pub unsafe fn bits(self, value: u8) -> &'a mut W {
87261                self.w.bits = (self.w.bits & !(0x0f << 28)) | (((value as u32) & 0x0f) << 28);
87262                self.w
87263            }
87264        }
87265        ///Reader of field `AFSEL6`
87266        pub type AFSEL6_R = crate::R<u8, u8>;
87267        ///Write proxy for field `AFSEL6`
87268        pub struct AFSEL6_W<'a> {
87269            w: &'a mut W,
87270        }
87271        impl<'a> AFSEL6_W<'a> {
87272            ///Writes raw bits to the field
87273            #[inline(always)]
87274            pub unsafe fn bits(self, value: u8) -> &'a mut W {
87275                self.w.bits = (self.w.bits & !(0x0f << 24)) | (((value as u32) & 0x0f) << 24);
87276                self.w
87277            }
87278        }
87279        ///Reader of field `AFSEL5`
87280        pub type AFSEL5_R = crate::R<u8, u8>;
87281        ///Write proxy for field `AFSEL5`
87282        pub struct AFSEL5_W<'a> {
87283            w: &'a mut W,
87284        }
87285        impl<'a> AFSEL5_W<'a> {
87286            ///Writes raw bits to the field
87287            #[inline(always)]
87288            pub unsafe fn bits(self, value: u8) -> &'a mut W {
87289                self.w.bits = (self.w.bits & !(0x0f << 20)) | (((value as u32) & 0x0f) << 20);
87290                self.w
87291            }
87292        }
87293        ///Reader of field `AFSEL4`
87294        pub type AFSEL4_R = crate::R<u8, u8>;
87295        ///Write proxy for field `AFSEL4`
87296        pub struct AFSEL4_W<'a> {
87297            w: &'a mut W,
87298        }
87299        impl<'a> AFSEL4_W<'a> {
87300            ///Writes raw bits to the field
87301            #[inline(always)]
87302            pub unsafe fn bits(self, value: u8) -> &'a mut W {
87303                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
87304                self.w
87305            }
87306        }
87307        ///Reader of field `AFSEL3`
87308        pub type AFSEL3_R = crate::R<u8, u8>;
87309        ///Write proxy for field `AFSEL3`
87310        pub struct AFSEL3_W<'a> {
87311            w: &'a mut W,
87312        }
87313        impl<'a> AFSEL3_W<'a> {
87314            ///Writes raw bits to the field
87315            #[inline(always)]
87316            pub unsafe fn bits(self, value: u8) -> &'a mut W {
87317                self.w.bits = (self.w.bits & !(0x0f << 12)) | (((value as u32) & 0x0f) << 12);
87318                self.w
87319            }
87320        }
87321        ///Reader of field `AFSEL2`
87322        pub type AFSEL2_R = crate::R<u8, u8>;
87323        ///Write proxy for field `AFSEL2`
87324        pub struct AFSEL2_W<'a> {
87325            w: &'a mut W,
87326        }
87327        impl<'a> AFSEL2_W<'a> {
87328            ///Writes raw bits to the field
87329            #[inline(always)]
87330            pub unsafe fn bits(self, value: u8) -> &'a mut W {
87331                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
87332                self.w
87333            }
87334        }
87335        ///Reader of field `AFSEL1`
87336        pub type AFSEL1_R = crate::R<u8, u8>;
87337        ///Write proxy for field `AFSEL1`
87338        pub struct AFSEL1_W<'a> {
87339            w: &'a mut W,
87340        }
87341        impl<'a> AFSEL1_W<'a> {
87342            ///Writes raw bits to the field
87343            #[inline(always)]
87344            pub unsafe fn bits(self, value: u8) -> &'a mut W {
87345                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
87346                self.w
87347            }
87348        }
87349        ///Reader of field `AFSEL0`
87350        pub type AFSEL0_R = crate::R<u8, u8>;
87351        ///Write proxy for field `AFSEL0`
87352        pub struct AFSEL0_W<'a> {
87353            w: &'a mut W,
87354        }
87355        impl<'a> AFSEL0_W<'a> {
87356            ///Writes raw bits to the field
87357            #[inline(always)]
87358            pub unsafe fn bits(self, value: u8) -> &'a mut W {
87359                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
87360                self.w
87361            }
87362        }
87363        impl R {
87364            ///Bits 28:31 - Alternate function selection for port x bit y (y = 0..7)
87365            #[inline(always)]
87366            pub fn afsel7(&self) -> AFSEL7_R {
87367                AFSEL7_R::new(((self.bits >> 28) & 0x0f) as u8)
87368            }
87369            ///Bits 24:27 - Alternate function selection for port x bit y (y = 0..7)
87370            #[inline(always)]
87371            pub fn afsel6(&self) -> AFSEL6_R {
87372                AFSEL6_R::new(((self.bits >> 24) & 0x0f) as u8)
87373            }
87374            ///Bits 20:23 - Alternate function selection for port x bit y (y = 0..7)
87375            #[inline(always)]
87376            pub fn afsel5(&self) -> AFSEL5_R {
87377                AFSEL5_R::new(((self.bits >> 20) & 0x0f) as u8)
87378            }
87379            ///Bits 16:19 - Alternate function selection for port x bit y (y = 0..7)
87380            #[inline(always)]
87381            pub fn afsel4(&self) -> AFSEL4_R {
87382                AFSEL4_R::new(((self.bits >> 16) & 0x0f) as u8)
87383            }
87384            ///Bits 12:15 - Alternate function selection for port x bit y (y = 0..7)
87385            #[inline(always)]
87386            pub fn afsel3(&self) -> AFSEL3_R {
87387                AFSEL3_R::new(((self.bits >> 12) & 0x0f) as u8)
87388            }
87389            ///Bits 8:11 - Alternate function selection for port x bit y (y = 0..7)
87390            #[inline(always)]
87391            pub fn afsel2(&self) -> AFSEL2_R {
87392                AFSEL2_R::new(((self.bits >> 8) & 0x0f) as u8)
87393            }
87394            ///Bits 4:7 - Alternate function selection for port x bit y (y = 0..7)
87395            #[inline(always)]
87396            pub fn afsel1(&self) -> AFSEL1_R {
87397                AFSEL1_R::new(((self.bits >> 4) & 0x0f) as u8)
87398            }
87399            ///Bits 0:3 - Alternate function selection for port x bit y (y = 0..7)
87400            #[inline(always)]
87401            pub fn afsel0(&self) -> AFSEL0_R {
87402                AFSEL0_R::new((self.bits & 0x0f) as u8)
87403            }
87404        }
87405        impl W {
87406            ///Bits 28:31 - Alternate function selection for port x bit y (y = 0..7)
87407            #[inline(always)]
87408            pub fn afsel7(&mut self) -> AFSEL7_W {
87409                AFSEL7_W { w: self }
87410            }
87411            ///Bits 24:27 - Alternate function selection for port x bit y (y = 0..7)
87412            #[inline(always)]
87413            pub fn afsel6(&mut self) -> AFSEL6_W {
87414                AFSEL6_W { w: self }
87415            }
87416            ///Bits 20:23 - Alternate function selection for port x bit y (y = 0..7)
87417            #[inline(always)]
87418            pub fn afsel5(&mut self) -> AFSEL5_W {
87419                AFSEL5_W { w: self }
87420            }
87421            ///Bits 16:19 - Alternate function selection for port x bit y (y = 0..7)
87422            #[inline(always)]
87423            pub fn afsel4(&mut self) -> AFSEL4_W {
87424                AFSEL4_W { w: self }
87425            }
87426            ///Bits 12:15 - Alternate function selection for port x bit y (y = 0..7)
87427            #[inline(always)]
87428            pub fn afsel3(&mut self) -> AFSEL3_W {
87429                AFSEL3_W { w: self }
87430            }
87431            ///Bits 8:11 - Alternate function selection for port x bit y (y = 0..7)
87432            #[inline(always)]
87433            pub fn afsel2(&mut self) -> AFSEL2_W {
87434                AFSEL2_W { w: self }
87435            }
87436            ///Bits 4:7 - Alternate function selection for port x bit y (y = 0..7)
87437            #[inline(always)]
87438            pub fn afsel1(&mut self) -> AFSEL1_W {
87439                AFSEL1_W { w: self }
87440            }
87441            ///Bits 0:3 - Alternate function selection for port x bit y (y = 0..7)
87442            #[inline(always)]
87443            pub fn afsel0(&mut self) -> AFSEL0_W {
87444                AFSEL0_W { w: self }
87445            }
87446        }
87447    }
87448    ///GPIO alternate function high register
87449    ///
87450    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
87451    ///
87452    ///For information about available fields see [afrh](afrh) module
87453    pub type AFRH = crate::Reg<u32, _AFRH>;
87454    #[allow(missing_docs)]
87455    #[doc(hidden)]
87456    pub struct _AFRH;
87457    ///`read()` method returns [afrh::R](afrh::R) reader structure
87458    impl crate::Readable for AFRH {}
87459    ///`write(|w| ..)` method takes [afrh::W](afrh::W) writer structure
87460    impl crate::Writable for AFRH {}
87461    ///GPIO alternate function high register
87462    pub mod afrh {
87463        ///Reader of register AFRH
87464        pub type R = crate::R<u32, super::AFRH>;
87465        ///Writer for register AFRH
87466        pub type W = crate::W<u32, super::AFRH>;
87467        ///Register AFRH `reset()`'s with value 0
87468        impl crate::ResetValue for super::AFRH {
87469            type Type = u32;
87470            #[inline(always)]
87471            fn reset_value() -> Self::Type {
87472                0
87473            }
87474        }
87475        ///Reader of field `AFSEL15`
87476        pub type AFSEL15_R = crate::R<u8, u8>;
87477        ///Write proxy for field `AFSEL15`
87478        pub struct AFSEL15_W<'a> {
87479            w: &'a mut W,
87480        }
87481        impl<'a> AFSEL15_W<'a> {
87482            ///Writes raw bits to the field
87483            #[inline(always)]
87484            pub unsafe fn bits(self, value: u8) -> &'a mut W {
87485                self.w.bits = (self.w.bits & !(0x0f << 28)) | (((value as u32) & 0x0f) << 28);
87486                self.w
87487            }
87488        }
87489        ///Reader of field `AFSEL14`
87490        pub type AFSEL14_R = crate::R<u8, u8>;
87491        ///Write proxy for field `AFSEL14`
87492        pub struct AFSEL14_W<'a> {
87493            w: &'a mut W,
87494        }
87495        impl<'a> AFSEL14_W<'a> {
87496            ///Writes raw bits to the field
87497            #[inline(always)]
87498            pub unsafe fn bits(self, value: u8) -> &'a mut W {
87499                self.w.bits = (self.w.bits & !(0x0f << 24)) | (((value as u32) & 0x0f) << 24);
87500                self.w
87501            }
87502        }
87503        ///Reader of field `AFSEL13`
87504        pub type AFSEL13_R = crate::R<u8, u8>;
87505        ///Write proxy for field `AFSEL13`
87506        pub struct AFSEL13_W<'a> {
87507            w: &'a mut W,
87508        }
87509        impl<'a> AFSEL13_W<'a> {
87510            ///Writes raw bits to the field
87511            #[inline(always)]
87512            pub unsafe fn bits(self, value: u8) -> &'a mut W {
87513                self.w.bits = (self.w.bits & !(0x0f << 20)) | (((value as u32) & 0x0f) << 20);
87514                self.w
87515            }
87516        }
87517        ///Reader of field `AFSEL12`
87518        pub type AFSEL12_R = crate::R<u8, u8>;
87519        ///Write proxy for field `AFSEL12`
87520        pub struct AFSEL12_W<'a> {
87521            w: &'a mut W,
87522        }
87523        impl<'a> AFSEL12_W<'a> {
87524            ///Writes raw bits to the field
87525            #[inline(always)]
87526            pub unsafe fn bits(self, value: u8) -> &'a mut W {
87527                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
87528                self.w
87529            }
87530        }
87531        ///Reader of field `AFSEL11`
87532        pub type AFSEL11_R = crate::R<u8, u8>;
87533        ///Write proxy for field `AFSEL11`
87534        pub struct AFSEL11_W<'a> {
87535            w: &'a mut W,
87536        }
87537        impl<'a> AFSEL11_W<'a> {
87538            ///Writes raw bits to the field
87539            #[inline(always)]
87540            pub unsafe fn bits(self, value: u8) -> &'a mut W {
87541                self.w.bits = (self.w.bits & !(0x0f << 12)) | (((value as u32) & 0x0f) << 12);
87542                self.w
87543            }
87544        }
87545        ///Reader of field `AFSEL10`
87546        pub type AFSEL10_R = crate::R<u8, u8>;
87547        ///Write proxy for field `AFSEL10`
87548        pub struct AFSEL10_W<'a> {
87549            w: &'a mut W,
87550        }
87551        impl<'a> AFSEL10_W<'a> {
87552            ///Writes raw bits to the field
87553            #[inline(always)]
87554            pub unsafe fn bits(self, value: u8) -> &'a mut W {
87555                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
87556                self.w
87557            }
87558        }
87559        ///Reader of field `AFSEL9`
87560        pub type AFSEL9_R = crate::R<u8, u8>;
87561        ///Write proxy for field `AFSEL9`
87562        pub struct AFSEL9_W<'a> {
87563            w: &'a mut W,
87564        }
87565        impl<'a> AFSEL9_W<'a> {
87566            ///Writes raw bits to the field
87567            #[inline(always)]
87568            pub unsafe fn bits(self, value: u8) -> &'a mut W {
87569                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
87570                self.w
87571            }
87572        }
87573        ///Reader of field `AFSEL8`
87574        pub type AFSEL8_R = crate::R<u8, u8>;
87575        ///Write proxy for field `AFSEL8`
87576        pub struct AFSEL8_W<'a> {
87577            w: &'a mut W,
87578        }
87579        impl<'a> AFSEL8_W<'a> {
87580            ///Writes raw bits to the field
87581            #[inline(always)]
87582            pub unsafe fn bits(self, value: u8) -> &'a mut W {
87583                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
87584                self.w
87585            }
87586        }
87587        impl R {
87588            ///Bits 28:31 - Alternate function selection for port x bit y (y = 8..15)
87589            #[inline(always)]
87590            pub fn afsel15(&self) -> AFSEL15_R {
87591                AFSEL15_R::new(((self.bits >> 28) & 0x0f) as u8)
87592            }
87593            ///Bits 24:27 - Alternate function selection for port x bit y (y = 8..15)
87594            #[inline(always)]
87595            pub fn afsel14(&self) -> AFSEL14_R {
87596                AFSEL14_R::new(((self.bits >> 24) & 0x0f) as u8)
87597            }
87598            ///Bits 20:23 - Alternate function selection for port x bit y (y = 8..15)
87599            #[inline(always)]
87600            pub fn afsel13(&self) -> AFSEL13_R {
87601                AFSEL13_R::new(((self.bits >> 20) & 0x0f) as u8)
87602            }
87603            ///Bits 16:19 - Alternate function selection for port x bit y (y = 8..15)
87604            #[inline(always)]
87605            pub fn afsel12(&self) -> AFSEL12_R {
87606                AFSEL12_R::new(((self.bits >> 16) & 0x0f) as u8)
87607            }
87608            ///Bits 12:15 - Alternate function selection for port x bit y (y = 8..15)
87609            #[inline(always)]
87610            pub fn afsel11(&self) -> AFSEL11_R {
87611                AFSEL11_R::new(((self.bits >> 12) & 0x0f) as u8)
87612            }
87613            ///Bits 8:11 - Alternate function selection for port x bit y (y = 8..15)
87614            #[inline(always)]
87615            pub fn afsel10(&self) -> AFSEL10_R {
87616                AFSEL10_R::new(((self.bits >> 8) & 0x0f) as u8)
87617            }
87618            ///Bits 4:7 - Alternate function selection for port x bit y (y = 8..15)
87619            #[inline(always)]
87620            pub fn afsel9(&self) -> AFSEL9_R {
87621                AFSEL9_R::new(((self.bits >> 4) & 0x0f) as u8)
87622            }
87623            ///Bits 0:3 - Alternate function selection for port x bit y (y = 8..15)
87624            #[inline(always)]
87625            pub fn afsel8(&self) -> AFSEL8_R {
87626                AFSEL8_R::new((self.bits & 0x0f) as u8)
87627            }
87628        }
87629        impl W {
87630            ///Bits 28:31 - Alternate function selection for port x bit y (y = 8..15)
87631            #[inline(always)]
87632            pub fn afsel15(&mut self) -> AFSEL15_W {
87633                AFSEL15_W { w: self }
87634            }
87635            ///Bits 24:27 - Alternate function selection for port x bit y (y = 8..15)
87636            #[inline(always)]
87637            pub fn afsel14(&mut self) -> AFSEL14_W {
87638                AFSEL14_W { w: self }
87639            }
87640            ///Bits 20:23 - Alternate function selection for port x bit y (y = 8..15)
87641            #[inline(always)]
87642            pub fn afsel13(&mut self) -> AFSEL13_W {
87643                AFSEL13_W { w: self }
87644            }
87645            ///Bits 16:19 - Alternate function selection for port x bit y (y = 8..15)
87646            #[inline(always)]
87647            pub fn afsel12(&mut self) -> AFSEL12_W {
87648                AFSEL12_W { w: self }
87649            }
87650            ///Bits 12:15 - Alternate function selection for port x bit y (y = 8..15)
87651            #[inline(always)]
87652            pub fn afsel11(&mut self) -> AFSEL11_W {
87653                AFSEL11_W { w: self }
87654            }
87655            ///Bits 8:11 - Alternate function selection for port x bit y (y = 8..15)
87656            #[inline(always)]
87657            pub fn afsel10(&mut self) -> AFSEL10_W {
87658                AFSEL10_W { w: self }
87659            }
87660            ///Bits 4:7 - Alternate function selection for port x bit y (y = 8..15)
87661            #[inline(always)]
87662            pub fn afsel9(&mut self) -> AFSEL9_W {
87663                AFSEL9_W { w: self }
87664            }
87665            ///Bits 0:3 - Alternate function selection for port x bit y (y = 8..15)
87666            #[inline(always)]
87667            pub fn afsel8(&mut self) -> AFSEL8_W {
87668                AFSEL8_W { w: self }
87669            }
87670        }
87671    }
87672    ///port bit reset register
87673    ///
87674    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
87675    ///
87676    ///For information about available fields see [brr](brr) module
87677    pub type BRR = crate::Reg<u32, _BRR>;
87678    #[allow(missing_docs)]
87679    #[doc(hidden)]
87680    pub struct _BRR;
87681    ///`write(|w| ..)` method takes [brr::W](brr::W) writer structure
87682    impl crate::Writable for BRR {}
87683    ///port bit reset register
87684    pub mod brr {
87685        ///Writer for register BRR
87686        pub type W = crate::W<u32, super::BRR>;
87687        ///Register BRR `reset()`'s with value 0
87688        impl crate::ResetValue for super::BRR {
87689            type Type = u32;
87690            #[inline(always)]
87691            fn reset_value() -> Self::Type {
87692                0
87693            }
87694        }
87695        ///Write proxy for field `BR0`
87696        pub struct BR0_W<'a> {
87697            w: &'a mut W,
87698        }
87699        impl<'a> BR0_W<'a> {
87700            ///Sets the field bit
87701            #[inline(always)]
87702            pub fn set_bit(self) -> &'a mut W {
87703                self.bit(true)
87704            }
87705            ///Clears the field bit
87706            #[inline(always)]
87707            pub fn clear_bit(self) -> &'a mut W {
87708                self.bit(false)
87709            }
87710            ///Writes raw bits to the field
87711            #[inline(always)]
87712            pub fn bit(self, value: bool) -> &'a mut W {
87713                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
87714                self.w
87715            }
87716        }
87717        ///Write proxy for field `BR1`
87718        pub struct BR1_W<'a> {
87719            w: &'a mut W,
87720        }
87721        impl<'a> BR1_W<'a> {
87722            ///Sets the field bit
87723            #[inline(always)]
87724            pub fn set_bit(self) -> &'a mut W {
87725                self.bit(true)
87726            }
87727            ///Clears the field bit
87728            #[inline(always)]
87729            pub fn clear_bit(self) -> &'a mut W {
87730                self.bit(false)
87731            }
87732            ///Writes raw bits to the field
87733            #[inline(always)]
87734            pub fn bit(self, value: bool) -> &'a mut W {
87735                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
87736                self.w
87737            }
87738        }
87739        ///Write proxy for field `BR2`
87740        pub struct BR2_W<'a> {
87741            w: &'a mut W,
87742        }
87743        impl<'a> BR2_W<'a> {
87744            ///Sets the field bit
87745            #[inline(always)]
87746            pub fn set_bit(self) -> &'a mut W {
87747                self.bit(true)
87748            }
87749            ///Clears the field bit
87750            #[inline(always)]
87751            pub fn clear_bit(self) -> &'a mut W {
87752                self.bit(false)
87753            }
87754            ///Writes raw bits to the field
87755            #[inline(always)]
87756            pub fn bit(self, value: bool) -> &'a mut W {
87757                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
87758                self.w
87759            }
87760        }
87761        ///Write proxy for field `BR3`
87762        pub struct BR3_W<'a> {
87763            w: &'a mut W,
87764        }
87765        impl<'a> BR3_W<'a> {
87766            ///Sets the field bit
87767            #[inline(always)]
87768            pub fn set_bit(self) -> &'a mut W {
87769                self.bit(true)
87770            }
87771            ///Clears the field bit
87772            #[inline(always)]
87773            pub fn clear_bit(self) -> &'a mut W {
87774                self.bit(false)
87775            }
87776            ///Writes raw bits to the field
87777            #[inline(always)]
87778            pub fn bit(self, value: bool) -> &'a mut W {
87779                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
87780                self.w
87781            }
87782        }
87783        ///Write proxy for field `BR4`
87784        pub struct BR4_W<'a> {
87785            w: &'a mut W,
87786        }
87787        impl<'a> BR4_W<'a> {
87788            ///Sets the field bit
87789            #[inline(always)]
87790            pub fn set_bit(self) -> &'a mut W {
87791                self.bit(true)
87792            }
87793            ///Clears the field bit
87794            #[inline(always)]
87795            pub fn clear_bit(self) -> &'a mut W {
87796                self.bit(false)
87797            }
87798            ///Writes raw bits to the field
87799            #[inline(always)]
87800            pub fn bit(self, value: bool) -> &'a mut W {
87801                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
87802                self.w
87803            }
87804        }
87805        ///Write proxy for field `BR5`
87806        pub struct BR5_W<'a> {
87807            w: &'a mut W,
87808        }
87809        impl<'a> BR5_W<'a> {
87810            ///Sets the field bit
87811            #[inline(always)]
87812            pub fn set_bit(self) -> &'a mut W {
87813                self.bit(true)
87814            }
87815            ///Clears the field bit
87816            #[inline(always)]
87817            pub fn clear_bit(self) -> &'a mut W {
87818                self.bit(false)
87819            }
87820            ///Writes raw bits to the field
87821            #[inline(always)]
87822            pub fn bit(self, value: bool) -> &'a mut W {
87823                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
87824                self.w
87825            }
87826        }
87827        ///Write proxy for field `BR6`
87828        pub struct BR6_W<'a> {
87829            w: &'a mut W,
87830        }
87831        impl<'a> BR6_W<'a> {
87832            ///Sets the field bit
87833            #[inline(always)]
87834            pub fn set_bit(self) -> &'a mut W {
87835                self.bit(true)
87836            }
87837            ///Clears the field bit
87838            #[inline(always)]
87839            pub fn clear_bit(self) -> &'a mut W {
87840                self.bit(false)
87841            }
87842            ///Writes raw bits to the field
87843            #[inline(always)]
87844            pub fn bit(self, value: bool) -> &'a mut W {
87845                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
87846                self.w
87847            }
87848        }
87849        ///Write proxy for field `BR7`
87850        pub struct BR7_W<'a> {
87851            w: &'a mut W,
87852        }
87853        impl<'a> BR7_W<'a> {
87854            ///Sets the field bit
87855            #[inline(always)]
87856            pub fn set_bit(self) -> &'a mut W {
87857                self.bit(true)
87858            }
87859            ///Clears the field bit
87860            #[inline(always)]
87861            pub fn clear_bit(self) -> &'a mut W {
87862                self.bit(false)
87863            }
87864            ///Writes raw bits to the field
87865            #[inline(always)]
87866            pub fn bit(self, value: bool) -> &'a mut W {
87867                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
87868                self.w
87869            }
87870        }
87871        ///Write proxy for field `BR8`
87872        pub struct BR8_W<'a> {
87873            w: &'a mut W,
87874        }
87875        impl<'a> BR8_W<'a> {
87876            ///Sets the field bit
87877            #[inline(always)]
87878            pub fn set_bit(self) -> &'a mut W {
87879                self.bit(true)
87880            }
87881            ///Clears the field bit
87882            #[inline(always)]
87883            pub fn clear_bit(self) -> &'a mut W {
87884                self.bit(false)
87885            }
87886            ///Writes raw bits to the field
87887            #[inline(always)]
87888            pub fn bit(self, value: bool) -> &'a mut W {
87889                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
87890                self.w
87891            }
87892        }
87893        ///Write proxy for field `BR9`
87894        pub struct BR9_W<'a> {
87895            w: &'a mut W,
87896        }
87897        impl<'a> BR9_W<'a> {
87898            ///Sets the field bit
87899            #[inline(always)]
87900            pub fn set_bit(self) -> &'a mut W {
87901                self.bit(true)
87902            }
87903            ///Clears the field bit
87904            #[inline(always)]
87905            pub fn clear_bit(self) -> &'a mut W {
87906                self.bit(false)
87907            }
87908            ///Writes raw bits to the field
87909            #[inline(always)]
87910            pub fn bit(self, value: bool) -> &'a mut W {
87911                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
87912                self.w
87913            }
87914        }
87915        ///Write proxy for field `BR10`
87916        pub struct BR10_W<'a> {
87917            w: &'a mut W,
87918        }
87919        impl<'a> BR10_W<'a> {
87920            ///Sets the field bit
87921            #[inline(always)]
87922            pub fn set_bit(self) -> &'a mut W {
87923                self.bit(true)
87924            }
87925            ///Clears the field bit
87926            #[inline(always)]
87927            pub fn clear_bit(self) -> &'a mut W {
87928                self.bit(false)
87929            }
87930            ///Writes raw bits to the field
87931            #[inline(always)]
87932            pub fn bit(self, value: bool) -> &'a mut W {
87933                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
87934                self.w
87935            }
87936        }
87937        ///Write proxy for field `BR11`
87938        pub struct BR11_W<'a> {
87939            w: &'a mut W,
87940        }
87941        impl<'a> BR11_W<'a> {
87942            ///Sets the field bit
87943            #[inline(always)]
87944            pub fn set_bit(self) -> &'a mut W {
87945                self.bit(true)
87946            }
87947            ///Clears the field bit
87948            #[inline(always)]
87949            pub fn clear_bit(self) -> &'a mut W {
87950                self.bit(false)
87951            }
87952            ///Writes raw bits to the field
87953            #[inline(always)]
87954            pub fn bit(self, value: bool) -> &'a mut W {
87955                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
87956                self.w
87957            }
87958        }
87959        ///Write proxy for field `BR12`
87960        pub struct BR12_W<'a> {
87961            w: &'a mut W,
87962        }
87963        impl<'a> BR12_W<'a> {
87964            ///Sets the field bit
87965            #[inline(always)]
87966            pub fn set_bit(self) -> &'a mut W {
87967                self.bit(true)
87968            }
87969            ///Clears the field bit
87970            #[inline(always)]
87971            pub fn clear_bit(self) -> &'a mut W {
87972                self.bit(false)
87973            }
87974            ///Writes raw bits to the field
87975            #[inline(always)]
87976            pub fn bit(self, value: bool) -> &'a mut W {
87977                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
87978                self.w
87979            }
87980        }
87981        ///Write proxy for field `BR13`
87982        pub struct BR13_W<'a> {
87983            w: &'a mut W,
87984        }
87985        impl<'a> BR13_W<'a> {
87986            ///Sets the field bit
87987            #[inline(always)]
87988            pub fn set_bit(self) -> &'a mut W {
87989                self.bit(true)
87990            }
87991            ///Clears the field bit
87992            #[inline(always)]
87993            pub fn clear_bit(self) -> &'a mut W {
87994                self.bit(false)
87995            }
87996            ///Writes raw bits to the field
87997            #[inline(always)]
87998            pub fn bit(self, value: bool) -> &'a mut W {
87999                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
88000                self.w
88001            }
88002        }
88003        ///Write proxy for field `BR14`
88004        pub struct BR14_W<'a> {
88005            w: &'a mut W,
88006        }
88007        impl<'a> BR14_W<'a> {
88008            ///Sets the field bit
88009            #[inline(always)]
88010            pub fn set_bit(self) -> &'a mut W {
88011                self.bit(true)
88012            }
88013            ///Clears the field bit
88014            #[inline(always)]
88015            pub fn clear_bit(self) -> &'a mut W {
88016                self.bit(false)
88017            }
88018            ///Writes raw bits to the field
88019            #[inline(always)]
88020            pub fn bit(self, value: bool) -> &'a mut W {
88021                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
88022                self.w
88023            }
88024        }
88025        ///Write proxy for field `BR15`
88026        pub struct BR15_W<'a> {
88027            w: &'a mut W,
88028        }
88029        impl<'a> BR15_W<'a> {
88030            ///Sets the field bit
88031            #[inline(always)]
88032            pub fn set_bit(self) -> &'a mut W {
88033                self.bit(true)
88034            }
88035            ///Clears the field bit
88036            #[inline(always)]
88037            pub fn clear_bit(self) -> &'a mut W {
88038                self.bit(false)
88039            }
88040            ///Writes raw bits to the field
88041            #[inline(always)]
88042            pub fn bit(self, value: bool) -> &'a mut W {
88043                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
88044                self.w
88045            }
88046        }
88047        impl W {
88048            ///Bit 0 - Port Reset bit
88049            #[inline(always)]
88050            pub fn br0(&mut self) -> BR0_W {
88051                BR0_W { w: self }
88052            }
88053            ///Bit 1 - Port Reset bit
88054            #[inline(always)]
88055            pub fn br1(&mut self) -> BR1_W {
88056                BR1_W { w: self }
88057            }
88058            ///Bit 2 - Port Reset bit
88059            #[inline(always)]
88060            pub fn br2(&mut self) -> BR2_W {
88061                BR2_W { w: self }
88062            }
88063            ///Bit 3 - Port Reset bit
88064            #[inline(always)]
88065            pub fn br3(&mut self) -> BR3_W {
88066                BR3_W { w: self }
88067            }
88068            ///Bit 4 - Port Reset bit
88069            #[inline(always)]
88070            pub fn br4(&mut self) -> BR4_W {
88071                BR4_W { w: self }
88072            }
88073            ///Bit 5 - Port Reset bit
88074            #[inline(always)]
88075            pub fn br5(&mut self) -> BR5_W {
88076                BR5_W { w: self }
88077            }
88078            ///Bit 6 - Port Reset bit
88079            #[inline(always)]
88080            pub fn br6(&mut self) -> BR6_W {
88081                BR6_W { w: self }
88082            }
88083            ///Bit 7 - Port Reset bit
88084            #[inline(always)]
88085            pub fn br7(&mut self) -> BR7_W {
88086                BR7_W { w: self }
88087            }
88088            ///Bit 8 - Port Reset bit
88089            #[inline(always)]
88090            pub fn br8(&mut self) -> BR8_W {
88091                BR8_W { w: self }
88092            }
88093            ///Bit 9 - Port Reset bit
88094            #[inline(always)]
88095            pub fn br9(&mut self) -> BR9_W {
88096                BR9_W { w: self }
88097            }
88098            ///Bit 10 - Port Reset bit
88099            #[inline(always)]
88100            pub fn br10(&mut self) -> BR10_W {
88101                BR10_W { w: self }
88102            }
88103            ///Bit 11 - Port Reset bit
88104            #[inline(always)]
88105            pub fn br11(&mut self) -> BR11_W {
88106                BR11_W { w: self }
88107            }
88108            ///Bit 12 - Port Reset bit
88109            #[inline(always)]
88110            pub fn br12(&mut self) -> BR12_W {
88111                BR12_W { w: self }
88112            }
88113            ///Bit 13 - Port Reset bit
88114            #[inline(always)]
88115            pub fn br13(&mut self) -> BR13_W {
88116                BR13_W { w: self }
88117            }
88118            ///Bit 14 - Port Reset bit
88119            #[inline(always)]
88120            pub fn br14(&mut self) -> BR14_W {
88121                BR14_W { w: self }
88122            }
88123            ///Bit 15 - Port Reset bit
88124            #[inline(always)]
88125            pub fn br15(&mut self) -> BR15_W {
88126                BR15_W { w: self }
88127            }
88128        }
88129    }
88130}
88131///General-purpose I/Os
88132pub struct GPIOC {
88133    _marker: PhantomData<*const ()>,
88134}
88135unsafe impl Send for GPIOC {}
88136impl GPIOC {
88137    ///Returns a pointer to the register block
88138    #[inline(always)]
88139    pub const fn ptr() -> *const gpioc::RegisterBlock {
88140        0x4800_0800 as *const _
88141    }
88142}
88143impl Deref for GPIOC {
88144    type Target = gpioc::RegisterBlock;
88145    #[inline(always)]
88146    fn deref(&self) -> &Self::Target {
88147        unsafe { &*GPIOC::ptr() }
88148    }
88149}
88150///General-purpose I/Os
88151pub mod gpioc {
88152    ///Register block
88153    #[repr(C)]
88154    pub struct RegisterBlock {
88155        ///0x00 - GPIO port mode register
88156        pub moder: MODER,
88157        ///0x04 - GPIO port output type register
88158        pub otyper: OTYPER,
88159        ///0x08 - GPIO port output speed register
88160        pub ospeedr: OSPEEDR,
88161        ///0x0c - GPIO port pull-up/pull-down register
88162        pub pupdr: PUPDR,
88163        ///0x10 - GPIO port input data register
88164        pub idr: IDR,
88165        ///0x14 - GPIO port output data register
88166        pub odr: ODR,
88167        ///0x18 - GPIO port bit set/reset register
88168        pub bsrr: BSRR,
88169        ///0x1c - GPIO port configuration lock register
88170        pub lckr: LCKR,
88171        ///0x20 - GPIO alternate function low register
88172        pub afrl: AFRL,
88173        ///0x24 - GPIO alternate function high register
88174        pub afrh: AFRH,
88175        ///0x28 - port bit reset register
88176        pub brr: BRR,
88177    }
88178    ///GPIO port mode register
88179    ///
88180    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
88181    ///
88182    ///For information about available fields see [moder](moder) module
88183    pub type MODER = crate::Reg<u32, _MODER>;
88184    #[allow(missing_docs)]
88185    #[doc(hidden)]
88186    pub struct _MODER;
88187    ///`read()` method returns [moder::R](moder::R) reader structure
88188    impl crate::Readable for MODER {}
88189    ///`write(|w| ..)` method takes [moder::W](moder::W) writer structure
88190    impl crate::Writable for MODER {}
88191    ///GPIO port mode register
88192    pub mod moder {
88193        ///Reader of register MODER
88194        pub type R = crate::R<u32, super::MODER>;
88195        ///Writer for register MODER
88196        pub type W = crate::W<u32, super::MODER>;
88197        ///Register MODER `reset()`'s with value 0xffff_ffff
88198        impl crate::ResetValue for super::MODER {
88199            type Type = u32;
88200            #[inline(always)]
88201            fn reset_value() -> Self::Type {
88202                0xffff_ffff
88203            }
88204        }
88205        ///Reader of field `MODER15`
88206        pub type MODER15_R = crate::R<u8, u8>;
88207        ///Write proxy for field `MODER15`
88208        pub struct MODER15_W<'a> {
88209            w: &'a mut W,
88210        }
88211        impl<'a> MODER15_W<'a> {
88212            ///Writes raw bits to the field
88213            #[inline(always)]
88214            pub unsafe fn bits(self, value: u8) -> &'a mut W {
88215                self.w.bits = (self.w.bits & !(0x03 << 30)) | (((value as u32) & 0x03) << 30);
88216                self.w
88217            }
88218        }
88219        ///Reader of field `MODER14`
88220        pub type MODER14_R = crate::R<u8, u8>;
88221        ///Write proxy for field `MODER14`
88222        pub struct MODER14_W<'a> {
88223            w: &'a mut W,
88224        }
88225        impl<'a> MODER14_W<'a> {
88226            ///Writes raw bits to the field
88227            #[inline(always)]
88228            pub unsafe fn bits(self, value: u8) -> &'a mut W {
88229                self.w.bits = (self.w.bits & !(0x03 << 28)) | (((value as u32) & 0x03) << 28);
88230                self.w
88231            }
88232        }
88233        ///Reader of field `MODER13`
88234        pub type MODER13_R = crate::R<u8, u8>;
88235        ///Write proxy for field `MODER13`
88236        pub struct MODER13_W<'a> {
88237            w: &'a mut W,
88238        }
88239        impl<'a> MODER13_W<'a> {
88240            ///Writes raw bits to the field
88241            #[inline(always)]
88242            pub unsafe fn bits(self, value: u8) -> &'a mut W {
88243                self.w.bits = (self.w.bits & !(0x03 << 26)) | (((value as u32) & 0x03) << 26);
88244                self.w
88245            }
88246        }
88247        ///Reader of field `MODER12`
88248        pub type MODER12_R = crate::R<u8, u8>;
88249        ///Write proxy for field `MODER12`
88250        pub struct MODER12_W<'a> {
88251            w: &'a mut W,
88252        }
88253        impl<'a> MODER12_W<'a> {
88254            ///Writes raw bits to the field
88255            #[inline(always)]
88256            pub unsafe fn bits(self, value: u8) -> &'a mut W {
88257                self.w.bits = (self.w.bits & !(0x03 << 24)) | (((value as u32) & 0x03) << 24);
88258                self.w
88259            }
88260        }
88261        ///Reader of field `MODER11`
88262        pub type MODER11_R = crate::R<u8, u8>;
88263        ///Write proxy for field `MODER11`
88264        pub struct MODER11_W<'a> {
88265            w: &'a mut W,
88266        }
88267        impl<'a> MODER11_W<'a> {
88268            ///Writes raw bits to the field
88269            #[inline(always)]
88270            pub unsafe fn bits(self, value: u8) -> &'a mut W {
88271                self.w.bits = (self.w.bits & !(0x03 << 22)) | (((value as u32) & 0x03) << 22);
88272                self.w
88273            }
88274        }
88275        ///Reader of field `MODER10`
88276        pub type MODER10_R = crate::R<u8, u8>;
88277        ///Write proxy for field `MODER10`
88278        pub struct MODER10_W<'a> {
88279            w: &'a mut W,
88280        }
88281        impl<'a> MODER10_W<'a> {
88282            ///Writes raw bits to the field
88283            #[inline(always)]
88284            pub unsafe fn bits(self, value: u8) -> &'a mut W {
88285                self.w.bits = (self.w.bits & !(0x03 << 20)) | (((value as u32) & 0x03) << 20);
88286                self.w
88287            }
88288        }
88289        ///Reader of field `MODER9`
88290        pub type MODER9_R = crate::R<u8, u8>;
88291        ///Write proxy for field `MODER9`
88292        pub struct MODER9_W<'a> {
88293            w: &'a mut W,
88294        }
88295        impl<'a> MODER9_W<'a> {
88296            ///Writes raw bits to the field
88297            #[inline(always)]
88298            pub unsafe fn bits(self, value: u8) -> &'a mut W {
88299                self.w.bits = (self.w.bits & !(0x03 << 18)) | (((value as u32) & 0x03) << 18);
88300                self.w
88301            }
88302        }
88303        ///Reader of field `MODER8`
88304        pub type MODER8_R = crate::R<u8, u8>;
88305        ///Write proxy for field `MODER8`
88306        pub struct MODER8_W<'a> {
88307            w: &'a mut W,
88308        }
88309        impl<'a> MODER8_W<'a> {
88310            ///Writes raw bits to the field
88311            #[inline(always)]
88312            pub unsafe fn bits(self, value: u8) -> &'a mut W {
88313                self.w.bits = (self.w.bits & !(0x03 << 16)) | (((value as u32) & 0x03) << 16);
88314                self.w
88315            }
88316        }
88317        ///Reader of field `MODER7`
88318        pub type MODER7_R = crate::R<u8, u8>;
88319        ///Write proxy for field `MODER7`
88320        pub struct MODER7_W<'a> {
88321            w: &'a mut W,
88322        }
88323        impl<'a> MODER7_W<'a> {
88324            ///Writes raw bits to the field
88325            #[inline(always)]
88326            pub unsafe fn bits(self, value: u8) -> &'a mut W {
88327                self.w.bits = (self.w.bits & !(0x03 << 14)) | (((value as u32) & 0x03) << 14);
88328                self.w
88329            }
88330        }
88331        ///Reader of field `MODER6`
88332        pub type MODER6_R = crate::R<u8, u8>;
88333        ///Write proxy for field `MODER6`
88334        pub struct MODER6_W<'a> {
88335            w: &'a mut W,
88336        }
88337        impl<'a> MODER6_W<'a> {
88338            ///Writes raw bits to the field
88339            #[inline(always)]
88340            pub unsafe fn bits(self, value: u8) -> &'a mut W {
88341                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
88342                self.w
88343            }
88344        }
88345        ///Reader of field `MODER5`
88346        pub type MODER5_R = crate::R<u8, u8>;
88347        ///Write proxy for field `MODER5`
88348        pub struct MODER5_W<'a> {
88349            w: &'a mut W,
88350        }
88351        impl<'a> MODER5_W<'a> {
88352            ///Writes raw bits to the field
88353            #[inline(always)]
88354            pub unsafe fn bits(self, value: u8) -> &'a mut W {
88355                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
88356                self.w
88357            }
88358        }
88359        ///Reader of field `MODER4`
88360        pub type MODER4_R = crate::R<u8, u8>;
88361        ///Write proxy for field `MODER4`
88362        pub struct MODER4_W<'a> {
88363            w: &'a mut W,
88364        }
88365        impl<'a> MODER4_W<'a> {
88366            ///Writes raw bits to the field
88367            #[inline(always)]
88368            pub unsafe fn bits(self, value: u8) -> &'a mut W {
88369                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
88370                self.w
88371            }
88372        }
88373        ///Reader of field `MODER3`
88374        pub type MODER3_R = crate::R<u8, u8>;
88375        ///Write proxy for field `MODER3`
88376        pub struct MODER3_W<'a> {
88377            w: &'a mut W,
88378        }
88379        impl<'a> MODER3_W<'a> {
88380            ///Writes raw bits to the field
88381            #[inline(always)]
88382            pub unsafe fn bits(self, value: u8) -> &'a mut W {
88383                self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
88384                self.w
88385            }
88386        }
88387        ///Reader of field `MODER2`
88388        pub type MODER2_R = crate::R<u8, u8>;
88389        ///Write proxy for field `MODER2`
88390        pub struct MODER2_W<'a> {
88391            w: &'a mut W,
88392        }
88393        impl<'a> MODER2_W<'a> {
88394            ///Writes raw bits to the field
88395            #[inline(always)]
88396            pub unsafe fn bits(self, value: u8) -> &'a mut W {
88397                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u32) & 0x03) << 4);
88398                self.w
88399            }
88400        }
88401        ///Reader of field `MODER1`
88402        pub type MODER1_R = crate::R<u8, u8>;
88403        ///Write proxy for field `MODER1`
88404        pub struct MODER1_W<'a> {
88405            w: &'a mut W,
88406        }
88407        impl<'a> MODER1_W<'a> {
88408            ///Writes raw bits to the field
88409            #[inline(always)]
88410            pub unsafe fn bits(self, value: u8) -> &'a mut W {
88411                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
88412                self.w
88413            }
88414        }
88415        ///Reader of field `MODER0`
88416        pub type MODER0_R = crate::R<u8, u8>;
88417        ///Write proxy for field `MODER0`
88418        pub struct MODER0_W<'a> {
88419            w: &'a mut W,
88420        }
88421        impl<'a> MODER0_W<'a> {
88422            ///Writes raw bits to the field
88423            #[inline(always)]
88424            pub unsafe fn bits(self, value: u8) -> &'a mut W {
88425                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
88426                self.w
88427            }
88428        }
88429        impl R {
88430            ///Bits 30:31 - Port x configuration bits (y = 0..15)
88431            #[inline(always)]
88432            pub fn moder15(&self) -> MODER15_R {
88433                MODER15_R::new(((self.bits >> 30) & 0x03) as u8)
88434            }
88435            ///Bits 28:29 - Port x configuration bits (y = 0..15)
88436            #[inline(always)]
88437            pub fn moder14(&self) -> MODER14_R {
88438                MODER14_R::new(((self.bits >> 28) & 0x03) as u8)
88439            }
88440            ///Bits 26:27 - Port x configuration bits (y = 0..15)
88441            #[inline(always)]
88442            pub fn moder13(&self) -> MODER13_R {
88443                MODER13_R::new(((self.bits >> 26) & 0x03) as u8)
88444            }
88445            ///Bits 24:25 - Port x configuration bits (y = 0..15)
88446            #[inline(always)]
88447            pub fn moder12(&self) -> MODER12_R {
88448                MODER12_R::new(((self.bits >> 24) & 0x03) as u8)
88449            }
88450            ///Bits 22:23 - Port x configuration bits (y = 0..15)
88451            #[inline(always)]
88452            pub fn moder11(&self) -> MODER11_R {
88453                MODER11_R::new(((self.bits >> 22) & 0x03) as u8)
88454            }
88455            ///Bits 20:21 - Port x configuration bits (y = 0..15)
88456            #[inline(always)]
88457            pub fn moder10(&self) -> MODER10_R {
88458                MODER10_R::new(((self.bits >> 20) & 0x03) as u8)
88459            }
88460            ///Bits 18:19 - Port x configuration bits (y = 0..15)
88461            #[inline(always)]
88462            pub fn moder9(&self) -> MODER9_R {
88463                MODER9_R::new(((self.bits >> 18) & 0x03) as u8)
88464            }
88465            ///Bits 16:17 - Port x configuration bits (y = 0..15)
88466            #[inline(always)]
88467            pub fn moder8(&self) -> MODER8_R {
88468                MODER8_R::new(((self.bits >> 16) & 0x03) as u8)
88469            }
88470            ///Bits 14:15 - Port x configuration bits (y = 0..15)
88471            #[inline(always)]
88472            pub fn moder7(&self) -> MODER7_R {
88473                MODER7_R::new(((self.bits >> 14) & 0x03) as u8)
88474            }
88475            ///Bits 12:13 - Port x configuration bits (y = 0..15)
88476            #[inline(always)]
88477            pub fn moder6(&self) -> MODER6_R {
88478                MODER6_R::new(((self.bits >> 12) & 0x03) as u8)
88479            }
88480            ///Bits 10:11 - Port x configuration bits (y = 0..15)
88481            #[inline(always)]
88482            pub fn moder5(&self) -> MODER5_R {
88483                MODER5_R::new(((self.bits >> 10) & 0x03) as u8)
88484            }
88485            ///Bits 8:9 - Port x configuration bits (y = 0..15)
88486            #[inline(always)]
88487            pub fn moder4(&self) -> MODER4_R {
88488                MODER4_R::new(((self.bits >> 8) & 0x03) as u8)
88489            }
88490            ///Bits 6:7 - Port x configuration bits (y = 0..15)
88491            #[inline(always)]
88492            pub fn moder3(&self) -> MODER3_R {
88493                MODER3_R::new(((self.bits >> 6) & 0x03) as u8)
88494            }
88495            ///Bits 4:5 - Port x configuration bits (y = 0..15)
88496            #[inline(always)]
88497            pub fn moder2(&self) -> MODER2_R {
88498                MODER2_R::new(((self.bits >> 4) & 0x03) as u8)
88499            }
88500            ///Bits 2:3 - Port x configuration bits (y = 0..15)
88501            #[inline(always)]
88502            pub fn moder1(&self) -> MODER1_R {
88503                MODER1_R::new(((self.bits >> 2) & 0x03) as u8)
88504            }
88505            ///Bits 0:1 - Port x configuration bits (y = 0..15)
88506            #[inline(always)]
88507            pub fn moder0(&self) -> MODER0_R {
88508                MODER0_R::new((self.bits & 0x03) as u8)
88509            }
88510        }
88511        impl W {
88512            ///Bits 30:31 - Port x configuration bits (y = 0..15)
88513            #[inline(always)]
88514            pub fn moder15(&mut self) -> MODER15_W {
88515                MODER15_W { w: self }
88516            }
88517            ///Bits 28:29 - Port x configuration bits (y = 0..15)
88518            #[inline(always)]
88519            pub fn moder14(&mut self) -> MODER14_W {
88520                MODER14_W { w: self }
88521            }
88522            ///Bits 26:27 - Port x configuration bits (y = 0..15)
88523            #[inline(always)]
88524            pub fn moder13(&mut self) -> MODER13_W {
88525                MODER13_W { w: self }
88526            }
88527            ///Bits 24:25 - Port x configuration bits (y = 0..15)
88528            #[inline(always)]
88529            pub fn moder12(&mut self) -> MODER12_W {
88530                MODER12_W { w: self }
88531            }
88532            ///Bits 22:23 - Port x configuration bits (y = 0..15)
88533            #[inline(always)]
88534            pub fn moder11(&mut self) -> MODER11_W {
88535                MODER11_W { w: self }
88536            }
88537            ///Bits 20:21 - Port x configuration bits (y = 0..15)
88538            #[inline(always)]
88539            pub fn moder10(&mut self) -> MODER10_W {
88540                MODER10_W { w: self }
88541            }
88542            ///Bits 18:19 - Port x configuration bits (y = 0..15)
88543            #[inline(always)]
88544            pub fn moder9(&mut self) -> MODER9_W {
88545                MODER9_W { w: self }
88546            }
88547            ///Bits 16:17 - Port x configuration bits (y = 0..15)
88548            #[inline(always)]
88549            pub fn moder8(&mut self) -> MODER8_W {
88550                MODER8_W { w: self }
88551            }
88552            ///Bits 14:15 - Port x configuration bits (y = 0..15)
88553            #[inline(always)]
88554            pub fn moder7(&mut self) -> MODER7_W {
88555                MODER7_W { w: self }
88556            }
88557            ///Bits 12:13 - Port x configuration bits (y = 0..15)
88558            #[inline(always)]
88559            pub fn moder6(&mut self) -> MODER6_W {
88560                MODER6_W { w: self }
88561            }
88562            ///Bits 10:11 - Port x configuration bits (y = 0..15)
88563            #[inline(always)]
88564            pub fn moder5(&mut self) -> MODER5_W {
88565                MODER5_W { w: self }
88566            }
88567            ///Bits 8:9 - Port x configuration bits (y = 0..15)
88568            #[inline(always)]
88569            pub fn moder4(&mut self) -> MODER4_W {
88570                MODER4_W { w: self }
88571            }
88572            ///Bits 6:7 - Port x configuration bits (y = 0..15)
88573            #[inline(always)]
88574            pub fn moder3(&mut self) -> MODER3_W {
88575                MODER3_W { w: self }
88576            }
88577            ///Bits 4:5 - Port x configuration bits (y = 0..15)
88578            #[inline(always)]
88579            pub fn moder2(&mut self) -> MODER2_W {
88580                MODER2_W { w: self }
88581            }
88582            ///Bits 2:3 - Port x configuration bits (y = 0..15)
88583            #[inline(always)]
88584            pub fn moder1(&mut self) -> MODER1_W {
88585                MODER1_W { w: self }
88586            }
88587            ///Bits 0:1 - Port x configuration bits (y = 0..15)
88588            #[inline(always)]
88589            pub fn moder0(&mut self) -> MODER0_W {
88590                MODER0_W { w: self }
88591            }
88592        }
88593    }
88594    ///GPIO port output type register
88595    ///
88596    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
88597    ///
88598    ///For information about available fields see [otyper](otyper) module
88599    pub type OTYPER = crate::Reg<u32, _OTYPER>;
88600    #[allow(missing_docs)]
88601    #[doc(hidden)]
88602    pub struct _OTYPER;
88603    ///`read()` method returns [otyper::R](otyper::R) reader structure
88604    impl crate::Readable for OTYPER {}
88605    ///`write(|w| ..)` method takes [otyper::W](otyper::W) writer structure
88606    impl crate::Writable for OTYPER {}
88607    ///GPIO port output type register
88608    pub mod otyper {
88609        ///Reader of register OTYPER
88610        pub type R = crate::R<u32, super::OTYPER>;
88611        ///Writer for register OTYPER
88612        pub type W = crate::W<u32, super::OTYPER>;
88613        ///Register OTYPER `reset()`'s with value 0
88614        impl crate::ResetValue for super::OTYPER {
88615            type Type = u32;
88616            #[inline(always)]
88617            fn reset_value() -> Self::Type {
88618                0
88619            }
88620        }
88621        ///Reader of field `OT15`
88622        pub type OT15_R = crate::R<bool, bool>;
88623        ///Write proxy for field `OT15`
88624        pub struct OT15_W<'a> {
88625            w: &'a mut W,
88626        }
88627        impl<'a> OT15_W<'a> {
88628            ///Sets the field bit
88629            #[inline(always)]
88630            pub fn set_bit(self) -> &'a mut W {
88631                self.bit(true)
88632            }
88633            ///Clears the field bit
88634            #[inline(always)]
88635            pub fn clear_bit(self) -> &'a mut W {
88636                self.bit(false)
88637            }
88638            ///Writes raw bits to the field
88639            #[inline(always)]
88640            pub fn bit(self, value: bool) -> &'a mut W {
88641                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
88642                self.w
88643            }
88644        }
88645        ///Reader of field `OT14`
88646        pub type OT14_R = crate::R<bool, bool>;
88647        ///Write proxy for field `OT14`
88648        pub struct OT14_W<'a> {
88649            w: &'a mut W,
88650        }
88651        impl<'a> OT14_W<'a> {
88652            ///Sets the field bit
88653            #[inline(always)]
88654            pub fn set_bit(self) -> &'a mut W {
88655                self.bit(true)
88656            }
88657            ///Clears the field bit
88658            #[inline(always)]
88659            pub fn clear_bit(self) -> &'a mut W {
88660                self.bit(false)
88661            }
88662            ///Writes raw bits to the field
88663            #[inline(always)]
88664            pub fn bit(self, value: bool) -> &'a mut W {
88665                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
88666                self.w
88667            }
88668        }
88669        ///Reader of field `OT13`
88670        pub type OT13_R = crate::R<bool, bool>;
88671        ///Write proxy for field `OT13`
88672        pub struct OT13_W<'a> {
88673            w: &'a mut W,
88674        }
88675        impl<'a> OT13_W<'a> {
88676            ///Sets the field bit
88677            #[inline(always)]
88678            pub fn set_bit(self) -> &'a mut W {
88679                self.bit(true)
88680            }
88681            ///Clears the field bit
88682            #[inline(always)]
88683            pub fn clear_bit(self) -> &'a mut W {
88684                self.bit(false)
88685            }
88686            ///Writes raw bits to the field
88687            #[inline(always)]
88688            pub fn bit(self, value: bool) -> &'a mut W {
88689                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
88690                self.w
88691            }
88692        }
88693        ///Reader of field `OT12`
88694        pub type OT12_R = crate::R<bool, bool>;
88695        ///Write proxy for field `OT12`
88696        pub struct OT12_W<'a> {
88697            w: &'a mut W,
88698        }
88699        impl<'a> OT12_W<'a> {
88700            ///Sets the field bit
88701            #[inline(always)]
88702            pub fn set_bit(self) -> &'a mut W {
88703                self.bit(true)
88704            }
88705            ///Clears the field bit
88706            #[inline(always)]
88707            pub fn clear_bit(self) -> &'a mut W {
88708                self.bit(false)
88709            }
88710            ///Writes raw bits to the field
88711            #[inline(always)]
88712            pub fn bit(self, value: bool) -> &'a mut W {
88713                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
88714                self.w
88715            }
88716        }
88717        ///Reader of field `OT11`
88718        pub type OT11_R = crate::R<bool, bool>;
88719        ///Write proxy for field `OT11`
88720        pub struct OT11_W<'a> {
88721            w: &'a mut W,
88722        }
88723        impl<'a> OT11_W<'a> {
88724            ///Sets the field bit
88725            #[inline(always)]
88726            pub fn set_bit(self) -> &'a mut W {
88727                self.bit(true)
88728            }
88729            ///Clears the field bit
88730            #[inline(always)]
88731            pub fn clear_bit(self) -> &'a mut W {
88732                self.bit(false)
88733            }
88734            ///Writes raw bits to the field
88735            #[inline(always)]
88736            pub fn bit(self, value: bool) -> &'a mut W {
88737                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
88738                self.w
88739            }
88740        }
88741        ///Reader of field `OT10`
88742        pub type OT10_R = crate::R<bool, bool>;
88743        ///Write proxy for field `OT10`
88744        pub struct OT10_W<'a> {
88745            w: &'a mut W,
88746        }
88747        impl<'a> OT10_W<'a> {
88748            ///Sets the field bit
88749            #[inline(always)]
88750            pub fn set_bit(self) -> &'a mut W {
88751                self.bit(true)
88752            }
88753            ///Clears the field bit
88754            #[inline(always)]
88755            pub fn clear_bit(self) -> &'a mut W {
88756                self.bit(false)
88757            }
88758            ///Writes raw bits to the field
88759            #[inline(always)]
88760            pub fn bit(self, value: bool) -> &'a mut W {
88761                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
88762                self.w
88763            }
88764        }
88765        ///Reader of field `OT9`
88766        pub type OT9_R = crate::R<bool, bool>;
88767        ///Write proxy for field `OT9`
88768        pub struct OT9_W<'a> {
88769            w: &'a mut W,
88770        }
88771        impl<'a> OT9_W<'a> {
88772            ///Sets the field bit
88773            #[inline(always)]
88774            pub fn set_bit(self) -> &'a mut W {
88775                self.bit(true)
88776            }
88777            ///Clears the field bit
88778            #[inline(always)]
88779            pub fn clear_bit(self) -> &'a mut W {
88780                self.bit(false)
88781            }
88782            ///Writes raw bits to the field
88783            #[inline(always)]
88784            pub fn bit(self, value: bool) -> &'a mut W {
88785                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
88786                self.w
88787            }
88788        }
88789        ///Reader of field `OT8`
88790        pub type OT8_R = crate::R<bool, bool>;
88791        ///Write proxy for field `OT8`
88792        pub struct OT8_W<'a> {
88793            w: &'a mut W,
88794        }
88795        impl<'a> OT8_W<'a> {
88796            ///Sets the field bit
88797            #[inline(always)]
88798            pub fn set_bit(self) -> &'a mut W {
88799                self.bit(true)
88800            }
88801            ///Clears the field bit
88802            #[inline(always)]
88803            pub fn clear_bit(self) -> &'a mut W {
88804                self.bit(false)
88805            }
88806            ///Writes raw bits to the field
88807            #[inline(always)]
88808            pub fn bit(self, value: bool) -> &'a mut W {
88809                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
88810                self.w
88811            }
88812        }
88813        ///Reader of field `OT7`
88814        pub type OT7_R = crate::R<bool, bool>;
88815        ///Write proxy for field `OT7`
88816        pub struct OT7_W<'a> {
88817            w: &'a mut W,
88818        }
88819        impl<'a> OT7_W<'a> {
88820            ///Sets the field bit
88821            #[inline(always)]
88822            pub fn set_bit(self) -> &'a mut W {
88823                self.bit(true)
88824            }
88825            ///Clears the field bit
88826            #[inline(always)]
88827            pub fn clear_bit(self) -> &'a mut W {
88828                self.bit(false)
88829            }
88830            ///Writes raw bits to the field
88831            #[inline(always)]
88832            pub fn bit(self, value: bool) -> &'a mut W {
88833                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
88834                self.w
88835            }
88836        }
88837        ///Reader of field `OT6`
88838        pub type OT6_R = crate::R<bool, bool>;
88839        ///Write proxy for field `OT6`
88840        pub struct OT6_W<'a> {
88841            w: &'a mut W,
88842        }
88843        impl<'a> OT6_W<'a> {
88844            ///Sets the field bit
88845            #[inline(always)]
88846            pub fn set_bit(self) -> &'a mut W {
88847                self.bit(true)
88848            }
88849            ///Clears the field bit
88850            #[inline(always)]
88851            pub fn clear_bit(self) -> &'a mut W {
88852                self.bit(false)
88853            }
88854            ///Writes raw bits to the field
88855            #[inline(always)]
88856            pub fn bit(self, value: bool) -> &'a mut W {
88857                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
88858                self.w
88859            }
88860        }
88861        ///Reader of field `OT5`
88862        pub type OT5_R = crate::R<bool, bool>;
88863        ///Write proxy for field `OT5`
88864        pub struct OT5_W<'a> {
88865            w: &'a mut W,
88866        }
88867        impl<'a> OT5_W<'a> {
88868            ///Sets the field bit
88869            #[inline(always)]
88870            pub fn set_bit(self) -> &'a mut W {
88871                self.bit(true)
88872            }
88873            ///Clears the field bit
88874            #[inline(always)]
88875            pub fn clear_bit(self) -> &'a mut W {
88876                self.bit(false)
88877            }
88878            ///Writes raw bits to the field
88879            #[inline(always)]
88880            pub fn bit(self, value: bool) -> &'a mut W {
88881                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
88882                self.w
88883            }
88884        }
88885        ///Reader of field `OT4`
88886        pub type OT4_R = crate::R<bool, bool>;
88887        ///Write proxy for field `OT4`
88888        pub struct OT4_W<'a> {
88889            w: &'a mut W,
88890        }
88891        impl<'a> OT4_W<'a> {
88892            ///Sets the field bit
88893            #[inline(always)]
88894            pub fn set_bit(self) -> &'a mut W {
88895                self.bit(true)
88896            }
88897            ///Clears the field bit
88898            #[inline(always)]
88899            pub fn clear_bit(self) -> &'a mut W {
88900                self.bit(false)
88901            }
88902            ///Writes raw bits to the field
88903            #[inline(always)]
88904            pub fn bit(self, value: bool) -> &'a mut W {
88905                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
88906                self.w
88907            }
88908        }
88909        ///Reader of field `OT3`
88910        pub type OT3_R = crate::R<bool, bool>;
88911        ///Write proxy for field `OT3`
88912        pub struct OT3_W<'a> {
88913            w: &'a mut W,
88914        }
88915        impl<'a> OT3_W<'a> {
88916            ///Sets the field bit
88917            #[inline(always)]
88918            pub fn set_bit(self) -> &'a mut W {
88919                self.bit(true)
88920            }
88921            ///Clears the field bit
88922            #[inline(always)]
88923            pub fn clear_bit(self) -> &'a mut W {
88924                self.bit(false)
88925            }
88926            ///Writes raw bits to the field
88927            #[inline(always)]
88928            pub fn bit(self, value: bool) -> &'a mut W {
88929                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
88930                self.w
88931            }
88932        }
88933        ///Reader of field `OT2`
88934        pub type OT2_R = crate::R<bool, bool>;
88935        ///Write proxy for field `OT2`
88936        pub struct OT2_W<'a> {
88937            w: &'a mut W,
88938        }
88939        impl<'a> OT2_W<'a> {
88940            ///Sets the field bit
88941            #[inline(always)]
88942            pub fn set_bit(self) -> &'a mut W {
88943                self.bit(true)
88944            }
88945            ///Clears the field bit
88946            #[inline(always)]
88947            pub fn clear_bit(self) -> &'a mut W {
88948                self.bit(false)
88949            }
88950            ///Writes raw bits to the field
88951            #[inline(always)]
88952            pub fn bit(self, value: bool) -> &'a mut W {
88953                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
88954                self.w
88955            }
88956        }
88957        ///Reader of field `OT1`
88958        pub type OT1_R = crate::R<bool, bool>;
88959        ///Write proxy for field `OT1`
88960        pub struct OT1_W<'a> {
88961            w: &'a mut W,
88962        }
88963        impl<'a> OT1_W<'a> {
88964            ///Sets the field bit
88965            #[inline(always)]
88966            pub fn set_bit(self) -> &'a mut W {
88967                self.bit(true)
88968            }
88969            ///Clears the field bit
88970            #[inline(always)]
88971            pub fn clear_bit(self) -> &'a mut W {
88972                self.bit(false)
88973            }
88974            ///Writes raw bits to the field
88975            #[inline(always)]
88976            pub fn bit(self, value: bool) -> &'a mut W {
88977                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
88978                self.w
88979            }
88980        }
88981        ///Reader of field `OT0`
88982        pub type OT0_R = crate::R<bool, bool>;
88983        ///Write proxy for field `OT0`
88984        pub struct OT0_W<'a> {
88985            w: &'a mut W,
88986        }
88987        impl<'a> OT0_W<'a> {
88988            ///Sets the field bit
88989            #[inline(always)]
88990            pub fn set_bit(self) -> &'a mut W {
88991                self.bit(true)
88992            }
88993            ///Clears the field bit
88994            #[inline(always)]
88995            pub fn clear_bit(self) -> &'a mut W {
88996                self.bit(false)
88997            }
88998            ///Writes raw bits to the field
88999            #[inline(always)]
89000            pub fn bit(self, value: bool) -> &'a mut W {
89001                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
89002                self.w
89003            }
89004        }
89005        impl R {
89006            ///Bit 15 - Port x configuration bits (y = 0..15)
89007            #[inline(always)]
89008            pub fn ot15(&self) -> OT15_R {
89009                OT15_R::new(((self.bits >> 15) & 0x01) != 0)
89010            }
89011            ///Bit 14 - Port x configuration bits (y = 0..15)
89012            #[inline(always)]
89013            pub fn ot14(&self) -> OT14_R {
89014                OT14_R::new(((self.bits >> 14) & 0x01) != 0)
89015            }
89016            ///Bit 13 - Port x configuration bits (y = 0..15)
89017            #[inline(always)]
89018            pub fn ot13(&self) -> OT13_R {
89019                OT13_R::new(((self.bits >> 13) & 0x01) != 0)
89020            }
89021            ///Bit 12 - Port x configuration bits (y = 0..15)
89022            #[inline(always)]
89023            pub fn ot12(&self) -> OT12_R {
89024                OT12_R::new(((self.bits >> 12) & 0x01) != 0)
89025            }
89026            ///Bit 11 - Port x configuration bits (y = 0..15)
89027            #[inline(always)]
89028            pub fn ot11(&self) -> OT11_R {
89029                OT11_R::new(((self.bits >> 11) & 0x01) != 0)
89030            }
89031            ///Bit 10 - Port x configuration bits (y = 0..15)
89032            #[inline(always)]
89033            pub fn ot10(&self) -> OT10_R {
89034                OT10_R::new(((self.bits >> 10) & 0x01) != 0)
89035            }
89036            ///Bit 9 - Port x configuration bits (y = 0..15)
89037            #[inline(always)]
89038            pub fn ot9(&self) -> OT9_R {
89039                OT9_R::new(((self.bits >> 9) & 0x01) != 0)
89040            }
89041            ///Bit 8 - Port x configuration bits (y = 0..15)
89042            #[inline(always)]
89043            pub fn ot8(&self) -> OT8_R {
89044                OT8_R::new(((self.bits >> 8) & 0x01) != 0)
89045            }
89046            ///Bit 7 - Port x configuration bits (y = 0..15)
89047            #[inline(always)]
89048            pub fn ot7(&self) -> OT7_R {
89049                OT7_R::new(((self.bits >> 7) & 0x01) != 0)
89050            }
89051            ///Bit 6 - Port x configuration bits (y = 0..15)
89052            #[inline(always)]
89053            pub fn ot6(&self) -> OT6_R {
89054                OT6_R::new(((self.bits >> 6) & 0x01) != 0)
89055            }
89056            ///Bit 5 - Port x configuration bits (y = 0..15)
89057            #[inline(always)]
89058            pub fn ot5(&self) -> OT5_R {
89059                OT5_R::new(((self.bits >> 5) & 0x01) != 0)
89060            }
89061            ///Bit 4 - Port x configuration bits (y = 0..15)
89062            #[inline(always)]
89063            pub fn ot4(&self) -> OT4_R {
89064                OT4_R::new(((self.bits >> 4) & 0x01) != 0)
89065            }
89066            ///Bit 3 - Port x configuration bits (y = 0..15)
89067            #[inline(always)]
89068            pub fn ot3(&self) -> OT3_R {
89069                OT3_R::new(((self.bits >> 3) & 0x01) != 0)
89070            }
89071            ///Bit 2 - Port x configuration bits (y = 0..15)
89072            #[inline(always)]
89073            pub fn ot2(&self) -> OT2_R {
89074                OT2_R::new(((self.bits >> 2) & 0x01) != 0)
89075            }
89076            ///Bit 1 - Port x configuration bits (y = 0..15)
89077            #[inline(always)]
89078            pub fn ot1(&self) -> OT1_R {
89079                OT1_R::new(((self.bits >> 1) & 0x01) != 0)
89080            }
89081            ///Bit 0 - Port x configuration bits (y = 0..15)
89082            #[inline(always)]
89083            pub fn ot0(&self) -> OT0_R {
89084                OT0_R::new((self.bits & 0x01) != 0)
89085            }
89086        }
89087        impl W {
89088            ///Bit 15 - Port x configuration bits (y = 0..15)
89089            #[inline(always)]
89090            pub fn ot15(&mut self) -> OT15_W {
89091                OT15_W { w: self }
89092            }
89093            ///Bit 14 - Port x configuration bits (y = 0..15)
89094            #[inline(always)]
89095            pub fn ot14(&mut self) -> OT14_W {
89096                OT14_W { w: self }
89097            }
89098            ///Bit 13 - Port x configuration bits (y = 0..15)
89099            #[inline(always)]
89100            pub fn ot13(&mut self) -> OT13_W {
89101                OT13_W { w: self }
89102            }
89103            ///Bit 12 - Port x configuration bits (y = 0..15)
89104            #[inline(always)]
89105            pub fn ot12(&mut self) -> OT12_W {
89106                OT12_W { w: self }
89107            }
89108            ///Bit 11 - Port x configuration bits (y = 0..15)
89109            #[inline(always)]
89110            pub fn ot11(&mut self) -> OT11_W {
89111                OT11_W { w: self }
89112            }
89113            ///Bit 10 - Port x configuration bits (y = 0..15)
89114            #[inline(always)]
89115            pub fn ot10(&mut self) -> OT10_W {
89116                OT10_W { w: self }
89117            }
89118            ///Bit 9 - Port x configuration bits (y = 0..15)
89119            #[inline(always)]
89120            pub fn ot9(&mut self) -> OT9_W {
89121                OT9_W { w: self }
89122            }
89123            ///Bit 8 - Port x configuration bits (y = 0..15)
89124            #[inline(always)]
89125            pub fn ot8(&mut self) -> OT8_W {
89126                OT8_W { w: self }
89127            }
89128            ///Bit 7 - Port x configuration bits (y = 0..15)
89129            #[inline(always)]
89130            pub fn ot7(&mut self) -> OT7_W {
89131                OT7_W { w: self }
89132            }
89133            ///Bit 6 - Port x configuration bits (y = 0..15)
89134            #[inline(always)]
89135            pub fn ot6(&mut self) -> OT6_W {
89136                OT6_W { w: self }
89137            }
89138            ///Bit 5 - Port x configuration bits (y = 0..15)
89139            #[inline(always)]
89140            pub fn ot5(&mut self) -> OT5_W {
89141                OT5_W { w: self }
89142            }
89143            ///Bit 4 - Port x configuration bits (y = 0..15)
89144            #[inline(always)]
89145            pub fn ot4(&mut self) -> OT4_W {
89146                OT4_W { w: self }
89147            }
89148            ///Bit 3 - Port x configuration bits (y = 0..15)
89149            #[inline(always)]
89150            pub fn ot3(&mut self) -> OT3_W {
89151                OT3_W { w: self }
89152            }
89153            ///Bit 2 - Port x configuration bits (y = 0..15)
89154            #[inline(always)]
89155            pub fn ot2(&mut self) -> OT2_W {
89156                OT2_W { w: self }
89157            }
89158            ///Bit 1 - Port x configuration bits (y = 0..15)
89159            #[inline(always)]
89160            pub fn ot1(&mut self) -> OT1_W {
89161                OT1_W { w: self }
89162            }
89163            ///Bit 0 - Port x configuration bits (y = 0..15)
89164            #[inline(always)]
89165            pub fn ot0(&mut self) -> OT0_W {
89166                OT0_W { w: self }
89167            }
89168        }
89169    }
89170    ///GPIO port output speed register
89171    ///
89172    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
89173    ///
89174    ///For information about available fields see [ospeedr](ospeedr) module
89175    pub type OSPEEDR = crate::Reg<u32, _OSPEEDR>;
89176    #[allow(missing_docs)]
89177    #[doc(hidden)]
89178    pub struct _OSPEEDR;
89179    ///`read()` method returns [ospeedr::R](ospeedr::R) reader structure
89180    impl crate::Readable for OSPEEDR {}
89181    ///`write(|w| ..)` method takes [ospeedr::W](ospeedr::W) writer structure
89182    impl crate::Writable for OSPEEDR {}
89183    ///GPIO port output speed register
89184    pub mod ospeedr {
89185        ///Reader of register OSPEEDR
89186        pub type R = crate::R<u32, super::OSPEEDR>;
89187        ///Writer for register OSPEEDR
89188        pub type W = crate::W<u32, super::OSPEEDR>;
89189        ///Register OSPEEDR `reset()`'s with value 0xc0
89190        impl crate::ResetValue for super::OSPEEDR {
89191            type Type = u32;
89192            #[inline(always)]
89193            fn reset_value() -> Self::Type {
89194                0xc0
89195            }
89196        }
89197        ///Reader of field `OSPEEDR15`
89198        pub type OSPEEDR15_R = crate::R<u8, u8>;
89199        ///Write proxy for field `OSPEEDR15`
89200        pub struct OSPEEDR15_W<'a> {
89201            w: &'a mut W,
89202        }
89203        impl<'a> OSPEEDR15_W<'a> {
89204            ///Writes raw bits to the field
89205            #[inline(always)]
89206            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89207                self.w.bits = (self.w.bits & !(0x03 << 30)) | (((value as u32) & 0x03) << 30);
89208                self.w
89209            }
89210        }
89211        ///Reader of field `OSPEEDR14`
89212        pub type OSPEEDR14_R = crate::R<u8, u8>;
89213        ///Write proxy for field `OSPEEDR14`
89214        pub struct OSPEEDR14_W<'a> {
89215            w: &'a mut W,
89216        }
89217        impl<'a> OSPEEDR14_W<'a> {
89218            ///Writes raw bits to the field
89219            #[inline(always)]
89220            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89221                self.w.bits = (self.w.bits & !(0x03 << 28)) | (((value as u32) & 0x03) << 28);
89222                self.w
89223            }
89224        }
89225        ///Reader of field `OSPEEDR13`
89226        pub type OSPEEDR13_R = crate::R<u8, u8>;
89227        ///Write proxy for field `OSPEEDR13`
89228        pub struct OSPEEDR13_W<'a> {
89229            w: &'a mut W,
89230        }
89231        impl<'a> OSPEEDR13_W<'a> {
89232            ///Writes raw bits to the field
89233            #[inline(always)]
89234            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89235                self.w.bits = (self.w.bits & !(0x03 << 26)) | (((value as u32) & 0x03) << 26);
89236                self.w
89237            }
89238        }
89239        ///Reader of field `OSPEEDR12`
89240        pub type OSPEEDR12_R = crate::R<u8, u8>;
89241        ///Write proxy for field `OSPEEDR12`
89242        pub struct OSPEEDR12_W<'a> {
89243            w: &'a mut W,
89244        }
89245        impl<'a> OSPEEDR12_W<'a> {
89246            ///Writes raw bits to the field
89247            #[inline(always)]
89248            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89249                self.w.bits = (self.w.bits & !(0x03 << 24)) | (((value as u32) & 0x03) << 24);
89250                self.w
89251            }
89252        }
89253        ///Reader of field `OSPEEDR11`
89254        pub type OSPEEDR11_R = crate::R<u8, u8>;
89255        ///Write proxy for field `OSPEEDR11`
89256        pub struct OSPEEDR11_W<'a> {
89257            w: &'a mut W,
89258        }
89259        impl<'a> OSPEEDR11_W<'a> {
89260            ///Writes raw bits to the field
89261            #[inline(always)]
89262            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89263                self.w.bits = (self.w.bits & !(0x03 << 22)) | (((value as u32) & 0x03) << 22);
89264                self.w
89265            }
89266        }
89267        ///Reader of field `OSPEEDR10`
89268        pub type OSPEEDR10_R = crate::R<u8, u8>;
89269        ///Write proxy for field `OSPEEDR10`
89270        pub struct OSPEEDR10_W<'a> {
89271            w: &'a mut W,
89272        }
89273        impl<'a> OSPEEDR10_W<'a> {
89274            ///Writes raw bits to the field
89275            #[inline(always)]
89276            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89277                self.w.bits = (self.w.bits & !(0x03 << 20)) | (((value as u32) & 0x03) << 20);
89278                self.w
89279            }
89280        }
89281        ///Reader of field `OSPEEDR9`
89282        pub type OSPEEDR9_R = crate::R<u8, u8>;
89283        ///Write proxy for field `OSPEEDR9`
89284        pub struct OSPEEDR9_W<'a> {
89285            w: &'a mut W,
89286        }
89287        impl<'a> OSPEEDR9_W<'a> {
89288            ///Writes raw bits to the field
89289            #[inline(always)]
89290            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89291                self.w.bits = (self.w.bits & !(0x03 << 18)) | (((value as u32) & 0x03) << 18);
89292                self.w
89293            }
89294        }
89295        ///Reader of field `OSPEEDR8`
89296        pub type OSPEEDR8_R = crate::R<u8, u8>;
89297        ///Write proxy for field `OSPEEDR8`
89298        pub struct OSPEEDR8_W<'a> {
89299            w: &'a mut W,
89300        }
89301        impl<'a> OSPEEDR8_W<'a> {
89302            ///Writes raw bits to the field
89303            #[inline(always)]
89304            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89305                self.w.bits = (self.w.bits & !(0x03 << 16)) | (((value as u32) & 0x03) << 16);
89306                self.w
89307            }
89308        }
89309        ///Reader of field `OSPEEDR7`
89310        pub type OSPEEDR7_R = crate::R<u8, u8>;
89311        ///Write proxy for field `OSPEEDR7`
89312        pub struct OSPEEDR7_W<'a> {
89313            w: &'a mut W,
89314        }
89315        impl<'a> OSPEEDR7_W<'a> {
89316            ///Writes raw bits to the field
89317            #[inline(always)]
89318            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89319                self.w.bits = (self.w.bits & !(0x03 << 14)) | (((value as u32) & 0x03) << 14);
89320                self.w
89321            }
89322        }
89323        ///Reader of field `OSPEEDR6`
89324        pub type OSPEEDR6_R = crate::R<u8, u8>;
89325        ///Write proxy for field `OSPEEDR6`
89326        pub struct OSPEEDR6_W<'a> {
89327            w: &'a mut W,
89328        }
89329        impl<'a> OSPEEDR6_W<'a> {
89330            ///Writes raw bits to the field
89331            #[inline(always)]
89332            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89333                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
89334                self.w
89335            }
89336        }
89337        ///Reader of field `OSPEEDR5`
89338        pub type OSPEEDR5_R = crate::R<u8, u8>;
89339        ///Write proxy for field `OSPEEDR5`
89340        pub struct OSPEEDR5_W<'a> {
89341            w: &'a mut W,
89342        }
89343        impl<'a> OSPEEDR5_W<'a> {
89344            ///Writes raw bits to the field
89345            #[inline(always)]
89346            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89347                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
89348                self.w
89349            }
89350        }
89351        ///Reader of field `OSPEEDR4`
89352        pub type OSPEEDR4_R = crate::R<u8, u8>;
89353        ///Write proxy for field `OSPEEDR4`
89354        pub struct OSPEEDR4_W<'a> {
89355            w: &'a mut W,
89356        }
89357        impl<'a> OSPEEDR4_W<'a> {
89358            ///Writes raw bits to the field
89359            #[inline(always)]
89360            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89361                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
89362                self.w
89363            }
89364        }
89365        ///Reader of field `OSPEEDR3`
89366        pub type OSPEEDR3_R = crate::R<u8, u8>;
89367        ///Write proxy for field `OSPEEDR3`
89368        pub struct OSPEEDR3_W<'a> {
89369            w: &'a mut W,
89370        }
89371        impl<'a> OSPEEDR3_W<'a> {
89372            ///Writes raw bits to the field
89373            #[inline(always)]
89374            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89375                self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
89376                self.w
89377            }
89378        }
89379        ///Reader of field `OSPEEDR2`
89380        pub type OSPEEDR2_R = crate::R<u8, u8>;
89381        ///Write proxy for field `OSPEEDR2`
89382        pub struct OSPEEDR2_W<'a> {
89383            w: &'a mut W,
89384        }
89385        impl<'a> OSPEEDR2_W<'a> {
89386            ///Writes raw bits to the field
89387            #[inline(always)]
89388            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89389                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u32) & 0x03) << 4);
89390                self.w
89391            }
89392        }
89393        ///Reader of field `OSPEEDR1`
89394        pub type OSPEEDR1_R = crate::R<u8, u8>;
89395        ///Write proxy for field `OSPEEDR1`
89396        pub struct OSPEEDR1_W<'a> {
89397            w: &'a mut W,
89398        }
89399        impl<'a> OSPEEDR1_W<'a> {
89400            ///Writes raw bits to the field
89401            #[inline(always)]
89402            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89403                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
89404                self.w
89405            }
89406        }
89407        ///Reader of field `OSPEEDR0`
89408        pub type OSPEEDR0_R = crate::R<u8, u8>;
89409        ///Write proxy for field `OSPEEDR0`
89410        pub struct OSPEEDR0_W<'a> {
89411            w: &'a mut W,
89412        }
89413        impl<'a> OSPEEDR0_W<'a> {
89414            ///Writes raw bits to the field
89415            #[inline(always)]
89416            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89417                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
89418                self.w
89419            }
89420        }
89421        impl R {
89422            ///Bits 30:31 - Port x configuration bits (y = 0..15)
89423            #[inline(always)]
89424            pub fn ospeedr15(&self) -> OSPEEDR15_R {
89425                OSPEEDR15_R::new(((self.bits >> 30) & 0x03) as u8)
89426            }
89427            ///Bits 28:29 - Port x configuration bits (y = 0..15)
89428            #[inline(always)]
89429            pub fn ospeedr14(&self) -> OSPEEDR14_R {
89430                OSPEEDR14_R::new(((self.bits >> 28) & 0x03) as u8)
89431            }
89432            ///Bits 26:27 - Port x configuration bits (y = 0..15)
89433            #[inline(always)]
89434            pub fn ospeedr13(&self) -> OSPEEDR13_R {
89435                OSPEEDR13_R::new(((self.bits >> 26) & 0x03) as u8)
89436            }
89437            ///Bits 24:25 - Port x configuration bits (y = 0..15)
89438            #[inline(always)]
89439            pub fn ospeedr12(&self) -> OSPEEDR12_R {
89440                OSPEEDR12_R::new(((self.bits >> 24) & 0x03) as u8)
89441            }
89442            ///Bits 22:23 - Port x configuration bits (y = 0..15)
89443            #[inline(always)]
89444            pub fn ospeedr11(&self) -> OSPEEDR11_R {
89445                OSPEEDR11_R::new(((self.bits >> 22) & 0x03) as u8)
89446            }
89447            ///Bits 20:21 - Port x configuration bits (y = 0..15)
89448            #[inline(always)]
89449            pub fn ospeedr10(&self) -> OSPEEDR10_R {
89450                OSPEEDR10_R::new(((self.bits >> 20) & 0x03) as u8)
89451            }
89452            ///Bits 18:19 - Port x configuration bits (y = 0..15)
89453            #[inline(always)]
89454            pub fn ospeedr9(&self) -> OSPEEDR9_R {
89455                OSPEEDR9_R::new(((self.bits >> 18) & 0x03) as u8)
89456            }
89457            ///Bits 16:17 - Port x configuration bits (y = 0..15)
89458            #[inline(always)]
89459            pub fn ospeedr8(&self) -> OSPEEDR8_R {
89460                OSPEEDR8_R::new(((self.bits >> 16) & 0x03) as u8)
89461            }
89462            ///Bits 14:15 - Port x configuration bits (y = 0..15)
89463            #[inline(always)]
89464            pub fn ospeedr7(&self) -> OSPEEDR7_R {
89465                OSPEEDR7_R::new(((self.bits >> 14) & 0x03) as u8)
89466            }
89467            ///Bits 12:13 - Port x configuration bits (y = 0..15)
89468            #[inline(always)]
89469            pub fn ospeedr6(&self) -> OSPEEDR6_R {
89470                OSPEEDR6_R::new(((self.bits >> 12) & 0x03) as u8)
89471            }
89472            ///Bits 10:11 - Port x configuration bits (y = 0..15)
89473            #[inline(always)]
89474            pub fn ospeedr5(&self) -> OSPEEDR5_R {
89475                OSPEEDR5_R::new(((self.bits >> 10) & 0x03) as u8)
89476            }
89477            ///Bits 8:9 - Port x configuration bits (y = 0..15)
89478            #[inline(always)]
89479            pub fn ospeedr4(&self) -> OSPEEDR4_R {
89480                OSPEEDR4_R::new(((self.bits >> 8) & 0x03) as u8)
89481            }
89482            ///Bits 6:7 - Port x configuration bits (y = 0..15)
89483            #[inline(always)]
89484            pub fn ospeedr3(&self) -> OSPEEDR3_R {
89485                OSPEEDR3_R::new(((self.bits >> 6) & 0x03) as u8)
89486            }
89487            ///Bits 4:5 - Port x configuration bits (y = 0..15)
89488            #[inline(always)]
89489            pub fn ospeedr2(&self) -> OSPEEDR2_R {
89490                OSPEEDR2_R::new(((self.bits >> 4) & 0x03) as u8)
89491            }
89492            ///Bits 2:3 - Port x configuration bits (y = 0..15)
89493            #[inline(always)]
89494            pub fn ospeedr1(&self) -> OSPEEDR1_R {
89495                OSPEEDR1_R::new(((self.bits >> 2) & 0x03) as u8)
89496            }
89497            ///Bits 0:1 - Port x configuration bits (y = 0..15)
89498            #[inline(always)]
89499            pub fn ospeedr0(&self) -> OSPEEDR0_R {
89500                OSPEEDR0_R::new((self.bits & 0x03) as u8)
89501            }
89502        }
89503        impl W {
89504            ///Bits 30:31 - Port x configuration bits (y = 0..15)
89505            #[inline(always)]
89506            pub fn ospeedr15(&mut self) -> OSPEEDR15_W {
89507                OSPEEDR15_W { w: self }
89508            }
89509            ///Bits 28:29 - Port x configuration bits (y = 0..15)
89510            #[inline(always)]
89511            pub fn ospeedr14(&mut self) -> OSPEEDR14_W {
89512                OSPEEDR14_W { w: self }
89513            }
89514            ///Bits 26:27 - Port x configuration bits (y = 0..15)
89515            #[inline(always)]
89516            pub fn ospeedr13(&mut self) -> OSPEEDR13_W {
89517                OSPEEDR13_W { w: self }
89518            }
89519            ///Bits 24:25 - Port x configuration bits (y = 0..15)
89520            #[inline(always)]
89521            pub fn ospeedr12(&mut self) -> OSPEEDR12_W {
89522                OSPEEDR12_W { w: self }
89523            }
89524            ///Bits 22:23 - Port x configuration bits (y = 0..15)
89525            #[inline(always)]
89526            pub fn ospeedr11(&mut self) -> OSPEEDR11_W {
89527                OSPEEDR11_W { w: self }
89528            }
89529            ///Bits 20:21 - Port x configuration bits (y = 0..15)
89530            #[inline(always)]
89531            pub fn ospeedr10(&mut self) -> OSPEEDR10_W {
89532                OSPEEDR10_W { w: self }
89533            }
89534            ///Bits 18:19 - Port x configuration bits (y = 0..15)
89535            #[inline(always)]
89536            pub fn ospeedr9(&mut self) -> OSPEEDR9_W {
89537                OSPEEDR9_W { w: self }
89538            }
89539            ///Bits 16:17 - Port x configuration bits (y = 0..15)
89540            #[inline(always)]
89541            pub fn ospeedr8(&mut self) -> OSPEEDR8_W {
89542                OSPEEDR8_W { w: self }
89543            }
89544            ///Bits 14:15 - Port x configuration bits (y = 0..15)
89545            #[inline(always)]
89546            pub fn ospeedr7(&mut self) -> OSPEEDR7_W {
89547                OSPEEDR7_W { w: self }
89548            }
89549            ///Bits 12:13 - Port x configuration bits (y = 0..15)
89550            #[inline(always)]
89551            pub fn ospeedr6(&mut self) -> OSPEEDR6_W {
89552                OSPEEDR6_W { w: self }
89553            }
89554            ///Bits 10:11 - Port x configuration bits (y = 0..15)
89555            #[inline(always)]
89556            pub fn ospeedr5(&mut self) -> OSPEEDR5_W {
89557                OSPEEDR5_W { w: self }
89558            }
89559            ///Bits 8:9 - Port x configuration bits (y = 0..15)
89560            #[inline(always)]
89561            pub fn ospeedr4(&mut self) -> OSPEEDR4_W {
89562                OSPEEDR4_W { w: self }
89563            }
89564            ///Bits 6:7 - Port x configuration bits (y = 0..15)
89565            #[inline(always)]
89566            pub fn ospeedr3(&mut self) -> OSPEEDR3_W {
89567                OSPEEDR3_W { w: self }
89568            }
89569            ///Bits 4:5 - Port x configuration bits (y = 0..15)
89570            #[inline(always)]
89571            pub fn ospeedr2(&mut self) -> OSPEEDR2_W {
89572                OSPEEDR2_W { w: self }
89573            }
89574            ///Bits 2:3 - Port x configuration bits (y = 0..15)
89575            #[inline(always)]
89576            pub fn ospeedr1(&mut self) -> OSPEEDR1_W {
89577                OSPEEDR1_W { w: self }
89578            }
89579            ///Bits 0:1 - Port x configuration bits (y = 0..15)
89580            #[inline(always)]
89581            pub fn ospeedr0(&mut self) -> OSPEEDR0_W {
89582                OSPEEDR0_W { w: self }
89583            }
89584        }
89585    }
89586    ///GPIO port pull-up/pull-down register
89587    ///
89588    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
89589    ///
89590    ///For information about available fields see [pupdr](pupdr) module
89591    pub type PUPDR = crate::Reg<u32, _PUPDR>;
89592    #[allow(missing_docs)]
89593    #[doc(hidden)]
89594    pub struct _PUPDR;
89595    ///`read()` method returns [pupdr::R](pupdr::R) reader structure
89596    impl crate::Readable for PUPDR {}
89597    ///`write(|w| ..)` method takes [pupdr::W](pupdr::W) writer structure
89598    impl crate::Writable for PUPDR {}
89599    ///GPIO port pull-up/pull-down register
89600    pub mod pupdr {
89601        ///Reader of register PUPDR
89602        pub type R = crate::R<u32, super::PUPDR>;
89603        ///Writer for register PUPDR
89604        pub type W = crate::W<u32, super::PUPDR>;
89605        ///Register PUPDR `reset()`'s with value 0x0100
89606        impl crate::ResetValue for super::PUPDR {
89607            type Type = u32;
89608            #[inline(always)]
89609            fn reset_value() -> Self::Type {
89610                0x0100
89611            }
89612        }
89613        ///Reader of field `PUPDR15`
89614        pub type PUPDR15_R = crate::R<u8, u8>;
89615        ///Write proxy for field `PUPDR15`
89616        pub struct PUPDR15_W<'a> {
89617            w: &'a mut W,
89618        }
89619        impl<'a> PUPDR15_W<'a> {
89620            ///Writes raw bits to the field
89621            #[inline(always)]
89622            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89623                self.w.bits = (self.w.bits & !(0x03 << 30)) | (((value as u32) & 0x03) << 30);
89624                self.w
89625            }
89626        }
89627        ///Reader of field `PUPDR14`
89628        pub type PUPDR14_R = crate::R<u8, u8>;
89629        ///Write proxy for field `PUPDR14`
89630        pub struct PUPDR14_W<'a> {
89631            w: &'a mut W,
89632        }
89633        impl<'a> PUPDR14_W<'a> {
89634            ///Writes raw bits to the field
89635            #[inline(always)]
89636            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89637                self.w.bits = (self.w.bits & !(0x03 << 28)) | (((value as u32) & 0x03) << 28);
89638                self.w
89639            }
89640        }
89641        ///Reader of field `PUPDR13`
89642        pub type PUPDR13_R = crate::R<u8, u8>;
89643        ///Write proxy for field `PUPDR13`
89644        pub struct PUPDR13_W<'a> {
89645            w: &'a mut W,
89646        }
89647        impl<'a> PUPDR13_W<'a> {
89648            ///Writes raw bits to the field
89649            #[inline(always)]
89650            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89651                self.w.bits = (self.w.bits & !(0x03 << 26)) | (((value as u32) & 0x03) << 26);
89652                self.w
89653            }
89654        }
89655        ///Reader of field `PUPDR12`
89656        pub type PUPDR12_R = crate::R<u8, u8>;
89657        ///Write proxy for field `PUPDR12`
89658        pub struct PUPDR12_W<'a> {
89659            w: &'a mut W,
89660        }
89661        impl<'a> PUPDR12_W<'a> {
89662            ///Writes raw bits to the field
89663            #[inline(always)]
89664            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89665                self.w.bits = (self.w.bits & !(0x03 << 24)) | (((value as u32) & 0x03) << 24);
89666                self.w
89667            }
89668        }
89669        ///Reader of field `PUPDR11`
89670        pub type PUPDR11_R = crate::R<u8, u8>;
89671        ///Write proxy for field `PUPDR11`
89672        pub struct PUPDR11_W<'a> {
89673            w: &'a mut W,
89674        }
89675        impl<'a> PUPDR11_W<'a> {
89676            ///Writes raw bits to the field
89677            #[inline(always)]
89678            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89679                self.w.bits = (self.w.bits & !(0x03 << 22)) | (((value as u32) & 0x03) << 22);
89680                self.w
89681            }
89682        }
89683        ///Reader of field `PUPDR10`
89684        pub type PUPDR10_R = crate::R<u8, u8>;
89685        ///Write proxy for field `PUPDR10`
89686        pub struct PUPDR10_W<'a> {
89687            w: &'a mut W,
89688        }
89689        impl<'a> PUPDR10_W<'a> {
89690            ///Writes raw bits to the field
89691            #[inline(always)]
89692            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89693                self.w.bits = (self.w.bits & !(0x03 << 20)) | (((value as u32) & 0x03) << 20);
89694                self.w
89695            }
89696        }
89697        ///Reader of field `PUPDR9`
89698        pub type PUPDR9_R = crate::R<u8, u8>;
89699        ///Write proxy for field `PUPDR9`
89700        pub struct PUPDR9_W<'a> {
89701            w: &'a mut W,
89702        }
89703        impl<'a> PUPDR9_W<'a> {
89704            ///Writes raw bits to the field
89705            #[inline(always)]
89706            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89707                self.w.bits = (self.w.bits & !(0x03 << 18)) | (((value as u32) & 0x03) << 18);
89708                self.w
89709            }
89710        }
89711        ///Reader of field `PUPDR8`
89712        pub type PUPDR8_R = crate::R<u8, u8>;
89713        ///Write proxy for field `PUPDR8`
89714        pub struct PUPDR8_W<'a> {
89715            w: &'a mut W,
89716        }
89717        impl<'a> PUPDR8_W<'a> {
89718            ///Writes raw bits to the field
89719            #[inline(always)]
89720            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89721                self.w.bits = (self.w.bits & !(0x03 << 16)) | (((value as u32) & 0x03) << 16);
89722                self.w
89723            }
89724        }
89725        ///Reader of field `PUPDR7`
89726        pub type PUPDR7_R = crate::R<u8, u8>;
89727        ///Write proxy for field `PUPDR7`
89728        pub struct PUPDR7_W<'a> {
89729            w: &'a mut W,
89730        }
89731        impl<'a> PUPDR7_W<'a> {
89732            ///Writes raw bits to the field
89733            #[inline(always)]
89734            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89735                self.w.bits = (self.w.bits & !(0x03 << 14)) | (((value as u32) & 0x03) << 14);
89736                self.w
89737            }
89738        }
89739        ///Reader of field `PUPDR6`
89740        pub type PUPDR6_R = crate::R<u8, u8>;
89741        ///Write proxy for field `PUPDR6`
89742        pub struct PUPDR6_W<'a> {
89743            w: &'a mut W,
89744        }
89745        impl<'a> PUPDR6_W<'a> {
89746            ///Writes raw bits to the field
89747            #[inline(always)]
89748            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89749                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
89750                self.w
89751            }
89752        }
89753        ///Reader of field `PUPDR5`
89754        pub type PUPDR5_R = crate::R<u8, u8>;
89755        ///Write proxy for field `PUPDR5`
89756        pub struct PUPDR5_W<'a> {
89757            w: &'a mut W,
89758        }
89759        impl<'a> PUPDR5_W<'a> {
89760            ///Writes raw bits to the field
89761            #[inline(always)]
89762            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89763                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
89764                self.w
89765            }
89766        }
89767        ///Reader of field `PUPDR4`
89768        pub type PUPDR4_R = crate::R<u8, u8>;
89769        ///Write proxy for field `PUPDR4`
89770        pub struct PUPDR4_W<'a> {
89771            w: &'a mut W,
89772        }
89773        impl<'a> PUPDR4_W<'a> {
89774            ///Writes raw bits to the field
89775            #[inline(always)]
89776            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89777                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
89778                self.w
89779            }
89780        }
89781        ///Reader of field `PUPDR3`
89782        pub type PUPDR3_R = crate::R<u8, u8>;
89783        ///Write proxy for field `PUPDR3`
89784        pub struct PUPDR3_W<'a> {
89785            w: &'a mut W,
89786        }
89787        impl<'a> PUPDR3_W<'a> {
89788            ///Writes raw bits to the field
89789            #[inline(always)]
89790            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89791                self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
89792                self.w
89793            }
89794        }
89795        ///Reader of field `PUPDR2`
89796        pub type PUPDR2_R = crate::R<u8, u8>;
89797        ///Write proxy for field `PUPDR2`
89798        pub struct PUPDR2_W<'a> {
89799            w: &'a mut W,
89800        }
89801        impl<'a> PUPDR2_W<'a> {
89802            ///Writes raw bits to the field
89803            #[inline(always)]
89804            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89805                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u32) & 0x03) << 4);
89806                self.w
89807            }
89808        }
89809        ///Reader of field `PUPDR1`
89810        pub type PUPDR1_R = crate::R<u8, u8>;
89811        ///Write proxy for field `PUPDR1`
89812        pub struct PUPDR1_W<'a> {
89813            w: &'a mut W,
89814        }
89815        impl<'a> PUPDR1_W<'a> {
89816            ///Writes raw bits to the field
89817            #[inline(always)]
89818            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89819                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
89820                self.w
89821            }
89822        }
89823        ///Reader of field `PUPDR0`
89824        pub type PUPDR0_R = crate::R<u8, u8>;
89825        ///Write proxy for field `PUPDR0`
89826        pub struct PUPDR0_W<'a> {
89827            w: &'a mut W,
89828        }
89829        impl<'a> PUPDR0_W<'a> {
89830            ///Writes raw bits to the field
89831            #[inline(always)]
89832            pub unsafe fn bits(self, value: u8) -> &'a mut W {
89833                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
89834                self.w
89835            }
89836        }
89837        impl R {
89838            ///Bits 30:31 - Port x configuration bits (y = 0..15)
89839            #[inline(always)]
89840            pub fn pupdr15(&self) -> PUPDR15_R {
89841                PUPDR15_R::new(((self.bits >> 30) & 0x03) as u8)
89842            }
89843            ///Bits 28:29 - Port x configuration bits (y = 0..15)
89844            #[inline(always)]
89845            pub fn pupdr14(&self) -> PUPDR14_R {
89846                PUPDR14_R::new(((self.bits >> 28) & 0x03) as u8)
89847            }
89848            ///Bits 26:27 - Port x configuration bits (y = 0..15)
89849            #[inline(always)]
89850            pub fn pupdr13(&self) -> PUPDR13_R {
89851                PUPDR13_R::new(((self.bits >> 26) & 0x03) as u8)
89852            }
89853            ///Bits 24:25 - Port x configuration bits (y = 0..15)
89854            #[inline(always)]
89855            pub fn pupdr12(&self) -> PUPDR12_R {
89856                PUPDR12_R::new(((self.bits >> 24) & 0x03) as u8)
89857            }
89858            ///Bits 22:23 - Port x configuration bits (y = 0..15)
89859            #[inline(always)]
89860            pub fn pupdr11(&self) -> PUPDR11_R {
89861                PUPDR11_R::new(((self.bits >> 22) & 0x03) as u8)
89862            }
89863            ///Bits 20:21 - Port x configuration bits (y = 0..15)
89864            #[inline(always)]
89865            pub fn pupdr10(&self) -> PUPDR10_R {
89866                PUPDR10_R::new(((self.bits >> 20) & 0x03) as u8)
89867            }
89868            ///Bits 18:19 - Port x configuration bits (y = 0..15)
89869            #[inline(always)]
89870            pub fn pupdr9(&self) -> PUPDR9_R {
89871                PUPDR9_R::new(((self.bits >> 18) & 0x03) as u8)
89872            }
89873            ///Bits 16:17 - Port x configuration bits (y = 0..15)
89874            #[inline(always)]
89875            pub fn pupdr8(&self) -> PUPDR8_R {
89876                PUPDR8_R::new(((self.bits >> 16) & 0x03) as u8)
89877            }
89878            ///Bits 14:15 - Port x configuration bits (y = 0..15)
89879            #[inline(always)]
89880            pub fn pupdr7(&self) -> PUPDR7_R {
89881                PUPDR7_R::new(((self.bits >> 14) & 0x03) as u8)
89882            }
89883            ///Bits 12:13 - Port x configuration bits (y = 0..15)
89884            #[inline(always)]
89885            pub fn pupdr6(&self) -> PUPDR6_R {
89886                PUPDR6_R::new(((self.bits >> 12) & 0x03) as u8)
89887            }
89888            ///Bits 10:11 - Port x configuration bits (y = 0..15)
89889            #[inline(always)]
89890            pub fn pupdr5(&self) -> PUPDR5_R {
89891                PUPDR5_R::new(((self.bits >> 10) & 0x03) as u8)
89892            }
89893            ///Bits 8:9 - Port x configuration bits (y = 0..15)
89894            #[inline(always)]
89895            pub fn pupdr4(&self) -> PUPDR4_R {
89896                PUPDR4_R::new(((self.bits >> 8) & 0x03) as u8)
89897            }
89898            ///Bits 6:7 - Port x configuration bits (y = 0..15)
89899            #[inline(always)]
89900            pub fn pupdr3(&self) -> PUPDR3_R {
89901                PUPDR3_R::new(((self.bits >> 6) & 0x03) as u8)
89902            }
89903            ///Bits 4:5 - Port x configuration bits (y = 0..15)
89904            #[inline(always)]
89905            pub fn pupdr2(&self) -> PUPDR2_R {
89906                PUPDR2_R::new(((self.bits >> 4) & 0x03) as u8)
89907            }
89908            ///Bits 2:3 - Port x configuration bits (y = 0..15)
89909            #[inline(always)]
89910            pub fn pupdr1(&self) -> PUPDR1_R {
89911                PUPDR1_R::new(((self.bits >> 2) & 0x03) as u8)
89912            }
89913            ///Bits 0:1 - Port x configuration bits (y = 0..15)
89914            #[inline(always)]
89915            pub fn pupdr0(&self) -> PUPDR0_R {
89916                PUPDR0_R::new((self.bits & 0x03) as u8)
89917            }
89918        }
89919        impl W {
89920            ///Bits 30:31 - Port x configuration bits (y = 0..15)
89921            #[inline(always)]
89922            pub fn pupdr15(&mut self) -> PUPDR15_W {
89923                PUPDR15_W { w: self }
89924            }
89925            ///Bits 28:29 - Port x configuration bits (y = 0..15)
89926            #[inline(always)]
89927            pub fn pupdr14(&mut self) -> PUPDR14_W {
89928                PUPDR14_W { w: self }
89929            }
89930            ///Bits 26:27 - Port x configuration bits (y = 0..15)
89931            #[inline(always)]
89932            pub fn pupdr13(&mut self) -> PUPDR13_W {
89933                PUPDR13_W { w: self }
89934            }
89935            ///Bits 24:25 - Port x configuration bits (y = 0..15)
89936            #[inline(always)]
89937            pub fn pupdr12(&mut self) -> PUPDR12_W {
89938                PUPDR12_W { w: self }
89939            }
89940            ///Bits 22:23 - Port x configuration bits (y = 0..15)
89941            #[inline(always)]
89942            pub fn pupdr11(&mut self) -> PUPDR11_W {
89943                PUPDR11_W { w: self }
89944            }
89945            ///Bits 20:21 - Port x configuration bits (y = 0..15)
89946            #[inline(always)]
89947            pub fn pupdr10(&mut self) -> PUPDR10_W {
89948                PUPDR10_W { w: self }
89949            }
89950            ///Bits 18:19 - Port x configuration bits (y = 0..15)
89951            #[inline(always)]
89952            pub fn pupdr9(&mut self) -> PUPDR9_W {
89953                PUPDR9_W { w: self }
89954            }
89955            ///Bits 16:17 - Port x configuration bits (y = 0..15)
89956            #[inline(always)]
89957            pub fn pupdr8(&mut self) -> PUPDR8_W {
89958                PUPDR8_W { w: self }
89959            }
89960            ///Bits 14:15 - Port x configuration bits (y = 0..15)
89961            #[inline(always)]
89962            pub fn pupdr7(&mut self) -> PUPDR7_W {
89963                PUPDR7_W { w: self }
89964            }
89965            ///Bits 12:13 - Port x configuration bits (y = 0..15)
89966            #[inline(always)]
89967            pub fn pupdr6(&mut self) -> PUPDR6_W {
89968                PUPDR6_W { w: self }
89969            }
89970            ///Bits 10:11 - Port x configuration bits (y = 0..15)
89971            #[inline(always)]
89972            pub fn pupdr5(&mut self) -> PUPDR5_W {
89973                PUPDR5_W { w: self }
89974            }
89975            ///Bits 8:9 - Port x configuration bits (y = 0..15)
89976            #[inline(always)]
89977            pub fn pupdr4(&mut self) -> PUPDR4_W {
89978                PUPDR4_W { w: self }
89979            }
89980            ///Bits 6:7 - Port x configuration bits (y = 0..15)
89981            #[inline(always)]
89982            pub fn pupdr3(&mut self) -> PUPDR3_W {
89983                PUPDR3_W { w: self }
89984            }
89985            ///Bits 4:5 - Port x configuration bits (y = 0..15)
89986            #[inline(always)]
89987            pub fn pupdr2(&mut self) -> PUPDR2_W {
89988                PUPDR2_W { w: self }
89989            }
89990            ///Bits 2:3 - Port x configuration bits (y = 0..15)
89991            #[inline(always)]
89992            pub fn pupdr1(&mut self) -> PUPDR1_W {
89993                PUPDR1_W { w: self }
89994            }
89995            ///Bits 0:1 - Port x configuration bits (y = 0..15)
89996            #[inline(always)]
89997            pub fn pupdr0(&mut self) -> PUPDR0_W {
89998                PUPDR0_W { w: self }
89999            }
90000        }
90001    }
90002    ///GPIO port input data register
90003    ///
90004    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
90005    ///
90006    ///For information about available fields see [idr](idr) module
90007    pub type IDR = crate::Reg<u32, _IDR>;
90008    #[allow(missing_docs)]
90009    #[doc(hidden)]
90010    pub struct _IDR;
90011    ///`read()` method returns [idr::R](idr::R) reader structure
90012    impl crate::Readable for IDR {}
90013    ///GPIO port input data register
90014    pub mod idr {
90015        ///Reader of register IDR
90016        pub type R = crate::R<u32, super::IDR>;
90017        ///Reader of field `IDR15`
90018        pub type IDR15_R = crate::R<bool, bool>;
90019        ///Reader of field `IDR14`
90020        pub type IDR14_R = crate::R<bool, bool>;
90021        ///Reader of field `IDR13`
90022        pub type IDR13_R = crate::R<bool, bool>;
90023        ///Reader of field `IDR12`
90024        pub type IDR12_R = crate::R<bool, bool>;
90025        ///Reader of field `IDR11`
90026        pub type IDR11_R = crate::R<bool, bool>;
90027        ///Reader of field `IDR10`
90028        pub type IDR10_R = crate::R<bool, bool>;
90029        ///Reader of field `IDR9`
90030        pub type IDR9_R = crate::R<bool, bool>;
90031        ///Reader of field `IDR8`
90032        pub type IDR8_R = crate::R<bool, bool>;
90033        ///Reader of field `IDR7`
90034        pub type IDR7_R = crate::R<bool, bool>;
90035        ///Reader of field `IDR6`
90036        pub type IDR6_R = crate::R<bool, bool>;
90037        ///Reader of field `IDR5`
90038        pub type IDR5_R = crate::R<bool, bool>;
90039        ///Reader of field `IDR4`
90040        pub type IDR4_R = crate::R<bool, bool>;
90041        ///Reader of field `IDR3`
90042        pub type IDR3_R = crate::R<bool, bool>;
90043        ///Reader of field `IDR2`
90044        pub type IDR2_R = crate::R<bool, bool>;
90045        ///Reader of field `IDR1`
90046        pub type IDR1_R = crate::R<bool, bool>;
90047        ///Reader of field `IDR0`
90048        pub type IDR0_R = crate::R<bool, bool>;
90049        impl R {
90050            ///Bit 15 - Port input data (y = 0..15)
90051            #[inline(always)]
90052            pub fn idr15(&self) -> IDR15_R {
90053                IDR15_R::new(((self.bits >> 15) & 0x01) != 0)
90054            }
90055            ///Bit 14 - Port input data (y = 0..15)
90056            #[inline(always)]
90057            pub fn idr14(&self) -> IDR14_R {
90058                IDR14_R::new(((self.bits >> 14) & 0x01) != 0)
90059            }
90060            ///Bit 13 - Port input data (y = 0..15)
90061            #[inline(always)]
90062            pub fn idr13(&self) -> IDR13_R {
90063                IDR13_R::new(((self.bits >> 13) & 0x01) != 0)
90064            }
90065            ///Bit 12 - Port input data (y = 0..15)
90066            #[inline(always)]
90067            pub fn idr12(&self) -> IDR12_R {
90068                IDR12_R::new(((self.bits >> 12) & 0x01) != 0)
90069            }
90070            ///Bit 11 - Port input data (y = 0..15)
90071            #[inline(always)]
90072            pub fn idr11(&self) -> IDR11_R {
90073                IDR11_R::new(((self.bits >> 11) & 0x01) != 0)
90074            }
90075            ///Bit 10 - Port input data (y = 0..15)
90076            #[inline(always)]
90077            pub fn idr10(&self) -> IDR10_R {
90078                IDR10_R::new(((self.bits >> 10) & 0x01) != 0)
90079            }
90080            ///Bit 9 - Port input data (y = 0..15)
90081            #[inline(always)]
90082            pub fn idr9(&self) -> IDR9_R {
90083                IDR9_R::new(((self.bits >> 9) & 0x01) != 0)
90084            }
90085            ///Bit 8 - Port input data (y = 0..15)
90086            #[inline(always)]
90087            pub fn idr8(&self) -> IDR8_R {
90088                IDR8_R::new(((self.bits >> 8) & 0x01) != 0)
90089            }
90090            ///Bit 7 - Port input data (y = 0..15)
90091            #[inline(always)]
90092            pub fn idr7(&self) -> IDR7_R {
90093                IDR7_R::new(((self.bits >> 7) & 0x01) != 0)
90094            }
90095            ///Bit 6 - Port input data (y = 0..15)
90096            #[inline(always)]
90097            pub fn idr6(&self) -> IDR6_R {
90098                IDR6_R::new(((self.bits >> 6) & 0x01) != 0)
90099            }
90100            ///Bit 5 - Port input data (y = 0..15)
90101            #[inline(always)]
90102            pub fn idr5(&self) -> IDR5_R {
90103                IDR5_R::new(((self.bits >> 5) & 0x01) != 0)
90104            }
90105            ///Bit 4 - Port input data (y = 0..15)
90106            #[inline(always)]
90107            pub fn idr4(&self) -> IDR4_R {
90108                IDR4_R::new(((self.bits >> 4) & 0x01) != 0)
90109            }
90110            ///Bit 3 - Port input data (y = 0..15)
90111            #[inline(always)]
90112            pub fn idr3(&self) -> IDR3_R {
90113                IDR3_R::new(((self.bits >> 3) & 0x01) != 0)
90114            }
90115            ///Bit 2 - Port input data (y = 0..15)
90116            #[inline(always)]
90117            pub fn idr2(&self) -> IDR2_R {
90118                IDR2_R::new(((self.bits >> 2) & 0x01) != 0)
90119            }
90120            ///Bit 1 - Port input data (y = 0..15)
90121            #[inline(always)]
90122            pub fn idr1(&self) -> IDR1_R {
90123                IDR1_R::new(((self.bits >> 1) & 0x01) != 0)
90124            }
90125            ///Bit 0 - Port input data (y = 0..15)
90126            #[inline(always)]
90127            pub fn idr0(&self) -> IDR0_R {
90128                IDR0_R::new((self.bits & 0x01) != 0)
90129            }
90130        }
90131    }
90132    ///GPIO port output data register
90133    ///
90134    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
90135    ///
90136    ///For information about available fields see [odr](odr) module
90137    pub type ODR = crate::Reg<u32, _ODR>;
90138    #[allow(missing_docs)]
90139    #[doc(hidden)]
90140    pub struct _ODR;
90141    ///`read()` method returns [odr::R](odr::R) reader structure
90142    impl crate::Readable for ODR {}
90143    ///`write(|w| ..)` method takes [odr::W](odr::W) writer structure
90144    impl crate::Writable for ODR {}
90145    ///GPIO port output data register
90146    pub mod odr {
90147        ///Reader of register ODR
90148        pub type R = crate::R<u32, super::ODR>;
90149        ///Writer for register ODR
90150        pub type W = crate::W<u32, super::ODR>;
90151        ///Register ODR `reset()`'s with value 0
90152        impl crate::ResetValue for super::ODR {
90153            type Type = u32;
90154            #[inline(always)]
90155            fn reset_value() -> Self::Type {
90156                0
90157            }
90158        }
90159        ///Reader of field `ODR15`
90160        pub type ODR15_R = crate::R<bool, bool>;
90161        ///Write proxy for field `ODR15`
90162        pub struct ODR15_W<'a> {
90163            w: &'a mut W,
90164        }
90165        impl<'a> ODR15_W<'a> {
90166            ///Sets the field bit
90167            #[inline(always)]
90168            pub fn set_bit(self) -> &'a mut W {
90169                self.bit(true)
90170            }
90171            ///Clears the field bit
90172            #[inline(always)]
90173            pub fn clear_bit(self) -> &'a mut W {
90174                self.bit(false)
90175            }
90176            ///Writes raw bits to the field
90177            #[inline(always)]
90178            pub fn bit(self, value: bool) -> &'a mut W {
90179                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
90180                self.w
90181            }
90182        }
90183        ///Reader of field `ODR14`
90184        pub type ODR14_R = crate::R<bool, bool>;
90185        ///Write proxy for field `ODR14`
90186        pub struct ODR14_W<'a> {
90187            w: &'a mut W,
90188        }
90189        impl<'a> ODR14_W<'a> {
90190            ///Sets the field bit
90191            #[inline(always)]
90192            pub fn set_bit(self) -> &'a mut W {
90193                self.bit(true)
90194            }
90195            ///Clears the field bit
90196            #[inline(always)]
90197            pub fn clear_bit(self) -> &'a mut W {
90198                self.bit(false)
90199            }
90200            ///Writes raw bits to the field
90201            #[inline(always)]
90202            pub fn bit(self, value: bool) -> &'a mut W {
90203                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
90204                self.w
90205            }
90206        }
90207        ///Reader of field `ODR13`
90208        pub type ODR13_R = crate::R<bool, bool>;
90209        ///Write proxy for field `ODR13`
90210        pub struct ODR13_W<'a> {
90211            w: &'a mut W,
90212        }
90213        impl<'a> ODR13_W<'a> {
90214            ///Sets the field bit
90215            #[inline(always)]
90216            pub fn set_bit(self) -> &'a mut W {
90217                self.bit(true)
90218            }
90219            ///Clears the field bit
90220            #[inline(always)]
90221            pub fn clear_bit(self) -> &'a mut W {
90222                self.bit(false)
90223            }
90224            ///Writes raw bits to the field
90225            #[inline(always)]
90226            pub fn bit(self, value: bool) -> &'a mut W {
90227                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
90228                self.w
90229            }
90230        }
90231        ///Reader of field `ODR12`
90232        pub type ODR12_R = crate::R<bool, bool>;
90233        ///Write proxy for field `ODR12`
90234        pub struct ODR12_W<'a> {
90235            w: &'a mut W,
90236        }
90237        impl<'a> ODR12_W<'a> {
90238            ///Sets the field bit
90239            #[inline(always)]
90240            pub fn set_bit(self) -> &'a mut W {
90241                self.bit(true)
90242            }
90243            ///Clears the field bit
90244            #[inline(always)]
90245            pub fn clear_bit(self) -> &'a mut W {
90246                self.bit(false)
90247            }
90248            ///Writes raw bits to the field
90249            #[inline(always)]
90250            pub fn bit(self, value: bool) -> &'a mut W {
90251                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
90252                self.w
90253            }
90254        }
90255        ///Reader of field `ODR11`
90256        pub type ODR11_R = crate::R<bool, bool>;
90257        ///Write proxy for field `ODR11`
90258        pub struct ODR11_W<'a> {
90259            w: &'a mut W,
90260        }
90261        impl<'a> ODR11_W<'a> {
90262            ///Sets the field bit
90263            #[inline(always)]
90264            pub fn set_bit(self) -> &'a mut W {
90265                self.bit(true)
90266            }
90267            ///Clears the field bit
90268            #[inline(always)]
90269            pub fn clear_bit(self) -> &'a mut W {
90270                self.bit(false)
90271            }
90272            ///Writes raw bits to the field
90273            #[inline(always)]
90274            pub fn bit(self, value: bool) -> &'a mut W {
90275                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
90276                self.w
90277            }
90278        }
90279        ///Reader of field `ODR10`
90280        pub type ODR10_R = crate::R<bool, bool>;
90281        ///Write proxy for field `ODR10`
90282        pub struct ODR10_W<'a> {
90283            w: &'a mut W,
90284        }
90285        impl<'a> ODR10_W<'a> {
90286            ///Sets the field bit
90287            #[inline(always)]
90288            pub fn set_bit(self) -> &'a mut W {
90289                self.bit(true)
90290            }
90291            ///Clears the field bit
90292            #[inline(always)]
90293            pub fn clear_bit(self) -> &'a mut W {
90294                self.bit(false)
90295            }
90296            ///Writes raw bits to the field
90297            #[inline(always)]
90298            pub fn bit(self, value: bool) -> &'a mut W {
90299                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
90300                self.w
90301            }
90302        }
90303        ///Reader of field `ODR9`
90304        pub type ODR9_R = crate::R<bool, bool>;
90305        ///Write proxy for field `ODR9`
90306        pub struct ODR9_W<'a> {
90307            w: &'a mut W,
90308        }
90309        impl<'a> ODR9_W<'a> {
90310            ///Sets the field bit
90311            #[inline(always)]
90312            pub fn set_bit(self) -> &'a mut W {
90313                self.bit(true)
90314            }
90315            ///Clears the field bit
90316            #[inline(always)]
90317            pub fn clear_bit(self) -> &'a mut W {
90318                self.bit(false)
90319            }
90320            ///Writes raw bits to the field
90321            #[inline(always)]
90322            pub fn bit(self, value: bool) -> &'a mut W {
90323                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
90324                self.w
90325            }
90326        }
90327        ///Reader of field `ODR8`
90328        pub type ODR8_R = crate::R<bool, bool>;
90329        ///Write proxy for field `ODR8`
90330        pub struct ODR8_W<'a> {
90331            w: &'a mut W,
90332        }
90333        impl<'a> ODR8_W<'a> {
90334            ///Sets the field bit
90335            #[inline(always)]
90336            pub fn set_bit(self) -> &'a mut W {
90337                self.bit(true)
90338            }
90339            ///Clears the field bit
90340            #[inline(always)]
90341            pub fn clear_bit(self) -> &'a mut W {
90342                self.bit(false)
90343            }
90344            ///Writes raw bits to the field
90345            #[inline(always)]
90346            pub fn bit(self, value: bool) -> &'a mut W {
90347                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
90348                self.w
90349            }
90350        }
90351        ///Reader of field `ODR7`
90352        pub type ODR7_R = crate::R<bool, bool>;
90353        ///Write proxy for field `ODR7`
90354        pub struct ODR7_W<'a> {
90355            w: &'a mut W,
90356        }
90357        impl<'a> ODR7_W<'a> {
90358            ///Sets the field bit
90359            #[inline(always)]
90360            pub fn set_bit(self) -> &'a mut W {
90361                self.bit(true)
90362            }
90363            ///Clears the field bit
90364            #[inline(always)]
90365            pub fn clear_bit(self) -> &'a mut W {
90366                self.bit(false)
90367            }
90368            ///Writes raw bits to the field
90369            #[inline(always)]
90370            pub fn bit(self, value: bool) -> &'a mut W {
90371                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
90372                self.w
90373            }
90374        }
90375        ///Reader of field `ODR6`
90376        pub type ODR6_R = crate::R<bool, bool>;
90377        ///Write proxy for field `ODR6`
90378        pub struct ODR6_W<'a> {
90379            w: &'a mut W,
90380        }
90381        impl<'a> ODR6_W<'a> {
90382            ///Sets the field bit
90383            #[inline(always)]
90384            pub fn set_bit(self) -> &'a mut W {
90385                self.bit(true)
90386            }
90387            ///Clears the field bit
90388            #[inline(always)]
90389            pub fn clear_bit(self) -> &'a mut W {
90390                self.bit(false)
90391            }
90392            ///Writes raw bits to the field
90393            #[inline(always)]
90394            pub fn bit(self, value: bool) -> &'a mut W {
90395                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
90396                self.w
90397            }
90398        }
90399        ///Reader of field `ODR5`
90400        pub type ODR5_R = crate::R<bool, bool>;
90401        ///Write proxy for field `ODR5`
90402        pub struct ODR5_W<'a> {
90403            w: &'a mut W,
90404        }
90405        impl<'a> ODR5_W<'a> {
90406            ///Sets the field bit
90407            #[inline(always)]
90408            pub fn set_bit(self) -> &'a mut W {
90409                self.bit(true)
90410            }
90411            ///Clears the field bit
90412            #[inline(always)]
90413            pub fn clear_bit(self) -> &'a mut W {
90414                self.bit(false)
90415            }
90416            ///Writes raw bits to the field
90417            #[inline(always)]
90418            pub fn bit(self, value: bool) -> &'a mut W {
90419                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
90420                self.w
90421            }
90422        }
90423        ///Reader of field `ODR4`
90424        pub type ODR4_R = crate::R<bool, bool>;
90425        ///Write proxy for field `ODR4`
90426        pub struct ODR4_W<'a> {
90427            w: &'a mut W,
90428        }
90429        impl<'a> ODR4_W<'a> {
90430            ///Sets the field bit
90431            #[inline(always)]
90432            pub fn set_bit(self) -> &'a mut W {
90433                self.bit(true)
90434            }
90435            ///Clears the field bit
90436            #[inline(always)]
90437            pub fn clear_bit(self) -> &'a mut W {
90438                self.bit(false)
90439            }
90440            ///Writes raw bits to the field
90441            #[inline(always)]
90442            pub fn bit(self, value: bool) -> &'a mut W {
90443                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
90444                self.w
90445            }
90446        }
90447        ///Reader of field `ODR3`
90448        pub type ODR3_R = crate::R<bool, bool>;
90449        ///Write proxy for field `ODR3`
90450        pub struct ODR3_W<'a> {
90451            w: &'a mut W,
90452        }
90453        impl<'a> ODR3_W<'a> {
90454            ///Sets the field bit
90455            #[inline(always)]
90456            pub fn set_bit(self) -> &'a mut W {
90457                self.bit(true)
90458            }
90459            ///Clears the field bit
90460            #[inline(always)]
90461            pub fn clear_bit(self) -> &'a mut W {
90462                self.bit(false)
90463            }
90464            ///Writes raw bits to the field
90465            #[inline(always)]
90466            pub fn bit(self, value: bool) -> &'a mut W {
90467                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
90468                self.w
90469            }
90470        }
90471        ///Reader of field `ODR2`
90472        pub type ODR2_R = crate::R<bool, bool>;
90473        ///Write proxy for field `ODR2`
90474        pub struct ODR2_W<'a> {
90475            w: &'a mut W,
90476        }
90477        impl<'a> ODR2_W<'a> {
90478            ///Sets the field bit
90479            #[inline(always)]
90480            pub fn set_bit(self) -> &'a mut W {
90481                self.bit(true)
90482            }
90483            ///Clears the field bit
90484            #[inline(always)]
90485            pub fn clear_bit(self) -> &'a mut W {
90486                self.bit(false)
90487            }
90488            ///Writes raw bits to the field
90489            #[inline(always)]
90490            pub fn bit(self, value: bool) -> &'a mut W {
90491                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
90492                self.w
90493            }
90494        }
90495        ///Reader of field `ODR1`
90496        pub type ODR1_R = crate::R<bool, bool>;
90497        ///Write proxy for field `ODR1`
90498        pub struct ODR1_W<'a> {
90499            w: &'a mut W,
90500        }
90501        impl<'a> ODR1_W<'a> {
90502            ///Sets the field bit
90503            #[inline(always)]
90504            pub fn set_bit(self) -> &'a mut W {
90505                self.bit(true)
90506            }
90507            ///Clears the field bit
90508            #[inline(always)]
90509            pub fn clear_bit(self) -> &'a mut W {
90510                self.bit(false)
90511            }
90512            ///Writes raw bits to the field
90513            #[inline(always)]
90514            pub fn bit(self, value: bool) -> &'a mut W {
90515                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
90516                self.w
90517            }
90518        }
90519        ///Reader of field `ODR0`
90520        pub type ODR0_R = crate::R<bool, bool>;
90521        ///Write proxy for field `ODR0`
90522        pub struct ODR0_W<'a> {
90523            w: &'a mut W,
90524        }
90525        impl<'a> ODR0_W<'a> {
90526            ///Sets the field bit
90527            #[inline(always)]
90528            pub fn set_bit(self) -> &'a mut W {
90529                self.bit(true)
90530            }
90531            ///Clears the field bit
90532            #[inline(always)]
90533            pub fn clear_bit(self) -> &'a mut W {
90534                self.bit(false)
90535            }
90536            ///Writes raw bits to the field
90537            #[inline(always)]
90538            pub fn bit(self, value: bool) -> &'a mut W {
90539                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
90540                self.w
90541            }
90542        }
90543        impl R {
90544            ///Bit 15 - Port output data (y = 0..15)
90545            #[inline(always)]
90546            pub fn odr15(&self) -> ODR15_R {
90547                ODR15_R::new(((self.bits >> 15) & 0x01) != 0)
90548            }
90549            ///Bit 14 - Port output data (y = 0..15)
90550            #[inline(always)]
90551            pub fn odr14(&self) -> ODR14_R {
90552                ODR14_R::new(((self.bits >> 14) & 0x01) != 0)
90553            }
90554            ///Bit 13 - Port output data (y = 0..15)
90555            #[inline(always)]
90556            pub fn odr13(&self) -> ODR13_R {
90557                ODR13_R::new(((self.bits >> 13) & 0x01) != 0)
90558            }
90559            ///Bit 12 - Port output data (y = 0..15)
90560            #[inline(always)]
90561            pub fn odr12(&self) -> ODR12_R {
90562                ODR12_R::new(((self.bits >> 12) & 0x01) != 0)
90563            }
90564            ///Bit 11 - Port output data (y = 0..15)
90565            #[inline(always)]
90566            pub fn odr11(&self) -> ODR11_R {
90567                ODR11_R::new(((self.bits >> 11) & 0x01) != 0)
90568            }
90569            ///Bit 10 - Port output data (y = 0..15)
90570            #[inline(always)]
90571            pub fn odr10(&self) -> ODR10_R {
90572                ODR10_R::new(((self.bits >> 10) & 0x01) != 0)
90573            }
90574            ///Bit 9 - Port output data (y = 0..15)
90575            #[inline(always)]
90576            pub fn odr9(&self) -> ODR9_R {
90577                ODR9_R::new(((self.bits >> 9) & 0x01) != 0)
90578            }
90579            ///Bit 8 - Port output data (y = 0..15)
90580            #[inline(always)]
90581            pub fn odr8(&self) -> ODR8_R {
90582                ODR8_R::new(((self.bits >> 8) & 0x01) != 0)
90583            }
90584            ///Bit 7 - Port output data (y = 0..15)
90585            #[inline(always)]
90586            pub fn odr7(&self) -> ODR7_R {
90587                ODR7_R::new(((self.bits >> 7) & 0x01) != 0)
90588            }
90589            ///Bit 6 - Port output data (y = 0..15)
90590            #[inline(always)]
90591            pub fn odr6(&self) -> ODR6_R {
90592                ODR6_R::new(((self.bits >> 6) & 0x01) != 0)
90593            }
90594            ///Bit 5 - Port output data (y = 0..15)
90595            #[inline(always)]
90596            pub fn odr5(&self) -> ODR5_R {
90597                ODR5_R::new(((self.bits >> 5) & 0x01) != 0)
90598            }
90599            ///Bit 4 - Port output data (y = 0..15)
90600            #[inline(always)]
90601            pub fn odr4(&self) -> ODR4_R {
90602                ODR4_R::new(((self.bits >> 4) & 0x01) != 0)
90603            }
90604            ///Bit 3 - Port output data (y = 0..15)
90605            #[inline(always)]
90606            pub fn odr3(&self) -> ODR3_R {
90607                ODR3_R::new(((self.bits >> 3) & 0x01) != 0)
90608            }
90609            ///Bit 2 - Port output data (y = 0..15)
90610            #[inline(always)]
90611            pub fn odr2(&self) -> ODR2_R {
90612                ODR2_R::new(((self.bits >> 2) & 0x01) != 0)
90613            }
90614            ///Bit 1 - Port output data (y = 0..15)
90615            #[inline(always)]
90616            pub fn odr1(&self) -> ODR1_R {
90617                ODR1_R::new(((self.bits >> 1) & 0x01) != 0)
90618            }
90619            ///Bit 0 - Port output data (y = 0..15)
90620            #[inline(always)]
90621            pub fn odr0(&self) -> ODR0_R {
90622                ODR0_R::new((self.bits & 0x01) != 0)
90623            }
90624        }
90625        impl W {
90626            ///Bit 15 - Port output data (y = 0..15)
90627            #[inline(always)]
90628            pub fn odr15(&mut self) -> ODR15_W {
90629                ODR15_W { w: self }
90630            }
90631            ///Bit 14 - Port output data (y = 0..15)
90632            #[inline(always)]
90633            pub fn odr14(&mut self) -> ODR14_W {
90634                ODR14_W { w: self }
90635            }
90636            ///Bit 13 - Port output data (y = 0..15)
90637            #[inline(always)]
90638            pub fn odr13(&mut self) -> ODR13_W {
90639                ODR13_W { w: self }
90640            }
90641            ///Bit 12 - Port output data (y = 0..15)
90642            #[inline(always)]
90643            pub fn odr12(&mut self) -> ODR12_W {
90644                ODR12_W { w: self }
90645            }
90646            ///Bit 11 - Port output data (y = 0..15)
90647            #[inline(always)]
90648            pub fn odr11(&mut self) -> ODR11_W {
90649                ODR11_W { w: self }
90650            }
90651            ///Bit 10 - Port output data (y = 0..15)
90652            #[inline(always)]
90653            pub fn odr10(&mut self) -> ODR10_W {
90654                ODR10_W { w: self }
90655            }
90656            ///Bit 9 - Port output data (y = 0..15)
90657            #[inline(always)]
90658            pub fn odr9(&mut self) -> ODR9_W {
90659                ODR9_W { w: self }
90660            }
90661            ///Bit 8 - Port output data (y = 0..15)
90662            #[inline(always)]
90663            pub fn odr8(&mut self) -> ODR8_W {
90664                ODR8_W { w: self }
90665            }
90666            ///Bit 7 - Port output data (y = 0..15)
90667            #[inline(always)]
90668            pub fn odr7(&mut self) -> ODR7_W {
90669                ODR7_W { w: self }
90670            }
90671            ///Bit 6 - Port output data (y = 0..15)
90672            #[inline(always)]
90673            pub fn odr6(&mut self) -> ODR6_W {
90674                ODR6_W { w: self }
90675            }
90676            ///Bit 5 - Port output data (y = 0..15)
90677            #[inline(always)]
90678            pub fn odr5(&mut self) -> ODR5_W {
90679                ODR5_W { w: self }
90680            }
90681            ///Bit 4 - Port output data (y = 0..15)
90682            #[inline(always)]
90683            pub fn odr4(&mut self) -> ODR4_W {
90684                ODR4_W { w: self }
90685            }
90686            ///Bit 3 - Port output data (y = 0..15)
90687            #[inline(always)]
90688            pub fn odr3(&mut self) -> ODR3_W {
90689                ODR3_W { w: self }
90690            }
90691            ///Bit 2 - Port output data (y = 0..15)
90692            #[inline(always)]
90693            pub fn odr2(&mut self) -> ODR2_W {
90694                ODR2_W { w: self }
90695            }
90696            ///Bit 1 - Port output data (y = 0..15)
90697            #[inline(always)]
90698            pub fn odr1(&mut self) -> ODR1_W {
90699                ODR1_W { w: self }
90700            }
90701            ///Bit 0 - Port output data (y = 0..15)
90702            #[inline(always)]
90703            pub fn odr0(&mut self) -> ODR0_W {
90704                ODR0_W { w: self }
90705            }
90706        }
90707    }
90708    ///GPIO port bit set/reset register
90709    ///
90710    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
90711    ///
90712    ///For information about available fields see [bsrr](bsrr) module
90713    pub type BSRR = crate::Reg<u32, _BSRR>;
90714    #[allow(missing_docs)]
90715    #[doc(hidden)]
90716    pub struct _BSRR;
90717    ///`write(|w| ..)` method takes [bsrr::W](bsrr::W) writer structure
90718    impl crate::Writable for BSRR {}
90719    ///GPIO port bit set/reset register
90720    pub mod bsrr {
90721        ///Writer for register BSRR
90722        pub type W = crate::W<u32, super::BSRR>;
90723        ///Register BSRR `reset()`'s with value 0
90724        impl crate::ResetValue for super::BSRR {
90725            type Type = u32;
90726            #[inline(always)]
90727            fn reset_value() -> Self::Type {
90728                0
90729            }
90730        }
90731        ///Write proxy for field `BR15`
90732        pub struct BR15_W<'a> {
90733            w: &'a mut W,
90734        }
90735        impl<'a> BR15_W<'a> {
90736            ///Sets the field bit
90737            #[inline(always)]
90738            pub fn set_bit(self) -> &'a mut W {
90739                self.bit(true)
90740            }
90741            ///Clears the field bit
90742            #[inline(always)]
90743            pub fn clear_bit(self) -> &'a mut W {
90744                self.bit(false)
90745            }
90746            ///Writes raw bits to the field
90747            #[inline(always)]
90748            pub fn bit(self, value: bool) -> &'a mut W {
90749                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
90750                self.w
90751            }
90752        }
90753        ///Write proxy for field `BR14`
90754        pub struct BR14_W<'a> {
90755            w: &'a mut W,
90756        }
90757        impl<'a> BR14_W<'a> {
90758            ///Sets the field bit
90759            #[inline(always)]
90760            pub fn set_bit(self) -> &'a mut W {
90761                self.bit(true)
90762            }
90763            ///Clears the field bit
90764            #[inline(always)]
90765            pub fn clear_bit(self) -> &'a mut W {
90766                self.bit(false)
90767            }
90768            ///Writes raw bits to the field
90769            #[inline(always)]
90770            pub fn bit(self, value: bool) -> &'a mut W {
90771                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
90772                self.w
90773            }
90774        }
90775        ///Write proxy for field `BR13`
90776        pub struct BR13_W<'a> {
90777            w: &'a mut W,
90778        }
90779        impl<'a> BR13_W<'a> {
90780            ///Sets the field bit
90781            #[inline(always)]
90782            pub fn set_bit(self) -> &'a mut W {
90783                self.bit(true)
90784            }
90785            ///Clears the field bit
90786            #[inline(always)]
90787            pub fn clear_bit(self) -> &'a mut W {
90788                self.bit(false)
90789            }
90790            ///Writes raw bits to the field
90791            #[inline(always)]
90792            pub fn bit(self, value: bool) -> &'a mut W {
90793                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
90794                self.w
90795            }
90796        }
90797        ///Write proxy for field `BR12`
90798        pub struct BR12_W<'a> {
90799            w: &'a mut W,
90800        }
90801        impl<'a> BR12_W<'a> {
90802            ///Sets the field bit
90803            #[inline(always)]
90804            pub fn set_bit(self) -> &'a mut W {
90805                self.bit(true)
90806            }
90807            ///Clears the field bit
90808            #[inline(always)]
90809            pub fn clear_bit(self) -> &'a mut W {
90810                self.bit(false)
90811            }
90812            ///Writes raw bits to the field
90813            #[inline(always)]
90814            pub fn bit(self, value: bool) -> &'a mut W {
90815                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
90816                self.w
90817            }
90818        }
90819        ///Write proxy for field `BR11`
90820        pub struct BR11_W<'a> {
90821            w: &'a mut W,
90822        }
90823        impl<'a> BR11_W<'a> {
90824            ///Sets the field bit
90825            #[inline(always)]
90826            pub fn set_bit(self) -> &'a mut W {
90827                self.bit(true)
90828            }
90829            ///Clears the field bit
90830            #[inline(always)]
90831            pub fn clear_bit(self) -> &'a mut W {
90832                self.bit(false)
90833            }
90834            ///Writes raw bits to the field
90835            #[inline(always)]
90836            pub fn bit(self, value: bool) -> &'a mut W {
90837                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
90838                self.w
90839            }
90840        }
90841        ///Write proxy for field `BR10`
90842        pub struct BR10_W<'a> {
90843            w: &'a mut W,
90844        }
90845        impl<'a> BR10_W<'a> {
90846            ///Sets the field bit
90847            #[inline(always)]
90848            pub fn set_bit(self) -> &'a mut W {
90849                self.bit(true)
90850            }
90851            ///Clears the field bit
90852            #[inline(always)]
90853            pub fn clear_bit(self) -> &'a mut W {
90854                self.bit(false)
90855            }
90856            ///Writes raw bits to the field
90857            #[inline(always)]
90858            pub fn bit(self, value: bool) -> &'a mut W {
90859                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
90860                self.w
90861            }
90862        }
90863        ///Write proxy for field `BR9`
90864        pub struct BR9_W<'a> {
90865            w: &'a mut W,
90866        }
90867        impl<'a> BR9_W<'a> {
90868            ///Sets the field bit
90869            #[inline(always)]
90870            pub fn set_bit(self) -> &'a mut W {
90871                self.bit(true)
90872            }
90873            ///Clears the field bit
90874            #[inline(always)]
90875            pub fn clear_bit(self) -> &'a mut W {
90876                self.bit(false)
90877            }
90878            ///Writes raw bits to the field
90879            #[inline(always)]
90880            pub fn bit(self, value: bool) -> &'a mut W {
90881                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
90882                self.w
90883            }
90884        }
90885        ///Write proxy for field `BR8`
90886        pub struct BR8_W<'a> {
90887            w: &'a mut W,
90888        }
90889        impl<'a> BR8_W<'a> {
90890            ///Sets the field bit
90891            #[inline(always)]
90892            pub fn set_bit(self) -> &'a mut W {
90893                self.bit(true)
90894            }
90895            ///Clears the field bit
90896            #[inline(always)]
90897            pub fn clear_bit(self) -> &'a mut W {
90898                self.bit(false)
90899            }
90900            ///Writes raw bits to the field
90901            #[inline(always)]
90902            pub fn bit(self, value: bool) -> &'a mut W {
90903                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
90904                self.w
90905            }
90906        }
90907        ///Write proxy for field `BR7`
90908        pub struct BR7_W<'a> {
90909            w: &'a mut W,
90910        }
90911        impl<'a> BR7_W<'a> {
90912            ///Sets the field bit
90913            #[inline(always)]
90914            pub fn set_bit(self) -> &'a mut W {
90915                self.bit(true)
90916            }
90917            ///Clears the field bit
90918            #[inline(always)]
90919            pub fn clear_bit(self) -> &'a mut W {
90920                self.bit(false)
90921            }
90922            ///Writes raw bits to the field
90923            #[inline(always)]
90924            pub fn bit(self, value: bool) -> &'a mut W {
90925                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
90926                self.w
90927            }
90928        }
90929        ///Write proxy for field `BR6`
90930        pub struct BR6_W<'a> {
90931            w: &'a mut W,
90932        }
90933        impl<'a> BR6_W<'a> {
90934            ///Sets the field bit
90935            #[inline(always)]
90936            pub fn set_bit(self) -> &'a mut W {
90937                self.bit(true)
90938            }
90939            ///Clears the field bit
90940            #[inline(always)]
90941            pub fn clear_bit(self) -> &'a mut W {
90942                self.bit(false)
90943            }
90944            ///Writes raw bits to the field
90945            #[inline(always)]
90946            pub fn bit(self, value: bool) -> &'a mut W {
90947                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
90948                self.w
90949            }
90950        }
90951        ///Write proxy for field `BR5`
90952        pub struct BR5_W<'a> {
90953            w: &'a mut W,
90954        }
90955        impl<'a> BR5_W<'a> {
90956            ///Sets the field bit
90957            #[inline(always)]
90958            pub fn set_bit(self) -> &'a mut W {
90959                self.bit(true)
90960            }
90961            ///Clears the field bit
90962            #[inline(always)]
90963            pub fn clear_bit(self) -> &'a mut W {
90964                self.bit(false)
90965            }
90966            ///Writes raw bits to the field
90967            #[inline(always)]
90968            pub fn bit(self, value: bool) -> &'a mut W {
90969                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
90970                self.w
90971            }
90972        }
90973        ///Write proxy for field `BR4`
90974        pub struct BR4_W<'a> {
90975            w: &'a mut W,
90976        }
90977        impl<'a> BR4_W<'a> {
90978            ///Sets the field bit
90979            #[inline(always)]
90980            pub fn set_bit(self) -> &'a mut W {
90981                self.bit(true)
90982            }
90983            ///Clears the field bit
90984            #[inline(always)]
90985            pub fn clear_bit(self) -> &'a mut W {
90986                self.bit(false)
90987            }
90988            ///Writes raw bits to the field
90989            #[inline(always)]
90990            pub fn bit(self, value: bool) -> &'a mut W {
90991                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
90992                self.w
90993            }
90994        }
90995        ///Write proxy for field `BR3`
90996        pub struct BR3_W<'a> {
90997            w: &'a mut W,
90998        }
90999        impl<'a> BR3_W<'a> {
91000            ///Sets the field bit
91001            #[inline(always)]
91002            pub fn set_bit(self) -> &'a mut W {
91003                self.bit(true)
91004            }
91005            ///Clears the field bit
91006            #[inline(always)]
91007            pub fn clear_bit(self) -> &'a mut W {
91008                self.bit(false)
91009            }
91010            ///Writes raw bits to the field
91011            #[inline(always)]
91012            pub fn bit(self, value: bool) -> &'a mut W {
91013                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
91014                self.w
91015            }
91016        }
91017        ///Write proxy for field `BR2`
91018        pub struct BR2_W<'a> {
91019            w: &'a mut W,
91020        }
91021        impl<'a> BR2_W<'a> {
91022            ///Sets the field bit
91023            #[inline(always)]
91024            pub fn set_bit(self) -> &'a mut W {
91025                self.bit(true)
91026            }
91027            ///Clears the field bit
91028            #[inline(always)]
91029            pub fn clear_bit(self) -> &'a mut W {
91030                self.bit(false)
91031            }
91032            ///Writes raw bits to the field
91033            #[inline(always)]
91034            pub fn bit(self, value: bool) -> &'a mut W {
91035                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
91036                self.w
91037            }
91038        }
91039        ///Write proxy for field `BR1`
91040        pub struct BR1_W<'a> {
91041            w: &'a mut W,
91042        }
91043        impl<'a> BR1_W<'a> {
91044            ///Sets the field bit
91045            #[inline(always)]
91046            pub fn set_bit(self) -> &'a mut W {
91047                self.bit(true)
91048            }
91049            ///Clears the field bit
91050            #[inline(always)]
91051            pub fn clear_bit(self) -> &'a mut W {
91052                self.bit(false)
91053            }
91054            ///Writes raw bits to the field
91055            #[inline(always)]
91056            pub fn bit(self, value: bool) -> &'a mut W {
91057                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
91058                self.w
91059            }
91060        }
91061        ///Write proxy for field `BR0`
91062        pub struct BR0_W<'a> {
91063            w: &'a mut W,
91064        }
91065        impl<'a> BR0_W<'a> {
91066            ///Sets the field bit
91067            #[inline(always)]
91068            pub fn set_bit(self) -> &'a mut W {
91069                self.bit(true)
91070            }
91071            ///Clears the field bit
91072            #[inline(always)]
91073            pub fn clear_bit(self) -> &'a mut W {
91074                self.bit(false)
91075            }
91076            ///Writes raw bits to the field
91077            #[inline(always)]
91078            pub fn bit(self, value: bool) -> &'a mut W {
91079                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
91080                self.w
91081            }
91082        }
91083        ///Write proxy for field `BS15`
91084        pub struct BS15_W<'a> {
91085            w: &'a mut W,
91086        }
91087        impl<'a> BS15_W<'a> {
91088            ///Sets the field bit
91089            #[inline(always)]
91090            pub fn set_bit(self) -> &'a mut W {
91091                self.bit(true)
91092            }
91093            ///Clears the field bit
91094            #[inline(always)]
91095            pub fn clear_bit(self) -> &'a mut W {
91096                self.bit(false)
91097            }
91098            ///Writes raw bits to the field
91099            #[inline(always)]
91100            pub fn bit(self, value: bool) -> &'a mut W {
91101                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
91102                self.w
91103            }
91104        }
91105        ///Write proxy for field `BS14`
91106        pub struct BS14_W<'a> {
91107            w: &'a mut W,
91108        }
91109        impl<'a> BS14_W<'a> {
91110            ///Sets the field bit
91111            #[inline(always)]
91112            pub fn set_bit(self) -> &'a mut W {
91113                self.bit(true)
91114            }
91115            ///Clears the field bit
91116            #[inline(always)]
91117            pub fn clear_bit(self) -> &'a mut W {
91118                self.bit(false)
91119            }
91120            ///Writes raw bits to the field
91121            #[inline(always)]
91122            pub fn bit(self, value: bool) -> &'a mut W {
91123                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
91124                self.w
91125            }
91126        }
91127        ///Write proxy for field `BS13`
91128        pub struct BS13_W<'a> {
91129            w: &'a mut W,
91130        }
91131        impl<'a> BS13_W<'a> {
91132            ///Sets the field bit
91133            #[inline(always)]
91134            pub fn set_bit(self) -> &'a mut W {
91135                self.bit(true)
91136            }
91137            ///Clears the field bit
91138            #[inline(always)]
91139            pub fn clear_bit(self) -> &'a mut W {
91140                self.bit(false)
91141            }
91142            ///Writes raw bits to the field
91143            #[inline(always)]
91144            pub fn bit(self, value: bool) -> &'a mut W {
91145                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
91146                self.w
91147            }
91148        }
91149        ///Write proxy for field `BS12`
91150        pub struct BS12_W<'a> {
91151            w: &'a mut W,
91152        }
91153        impl<'a> BS12_W<'a> {
91154            ///Sets the field bit
91155            #[inline(always)]
91156            pub fn set_bit(self) -> &'a mut W {
91157                self.bit(true)
91158            }
91159            ///Clears the field bit
91160            #[inline(always)]
91161            pub fn clear_bit(self) -> &'a mut W {
91162                self.bit(false)
91163            }
91164            ///Writes raw bits to the field
91165            #[inline(always)]
91166            pub fn bit(self, value: bool) -> &'a mut W {
91167                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
91168                self.w
91169            }
91170        }
91171        ///Write proxy for field `BS11`
91172        pub struct BS11_W<'a> {
91173            w: &'a mut W,
91174        }
91175        impl<'a> BS11_W<'a> {
91176            ///Sets the field bit
91177            #[inline(always)]
91178            pub fn set_bit(self) -> &'a mut W {
91179                self.bit(true)
91180            }
91181            ///Clears the field bit
91182            #[inline(always)]
91183            pub fn clear_bit(self) -> &'a mut W {
91184                self.bit(false)
91185            }
91186            ///Writes raw bits to the field
91187            #[inline(always)]
91188            pub fn bit(self, value: bool) -> &'a mut W {
91189                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
91190                self.w
91191            }
91192        }
91193        ///Write proxy for field `BS10`
91194        pub struct BS10_W<'a> {
91195            w: &'a mut W,
91196        }
91197        impl<'a> BS10_W<'a> {
91198            ///Sets the field bit
91199            #[inline(always)]
91200            pub fn set_bit(self) -> &'a mut W {
91201                self.bit(true)
91202            }
91203            ///Clears the field bit
91204            #[inline(always)]
91205            pub fn clear_bit(self) -> &'a mut W {
91206                self.bit(false)
91207            }
91208            ///Writes raw bits to the field
91209            #[inline(always)]
91210            pub fn bit(self, value: bool) -> &'a mut W {
91211                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
91212                self.w
91213            }
91214        }
91215        ///Write proxy for field `BS9`
91216        pub struct BS9_W<'a> {
91217            w: &'a mut W,
91218        }
91219        impl<'a> BS9_W<'a> {
91220            ///Sets the field bit
91221            #[inline(always)]
91222            pub fn set_bit(self) -> &'a mut W {
91223                self.bit(true)
91224            }
91225            ///Clears the field bit
91226            #[inline(always)]
91227            pub fn clear_bit(self) -> &'a mut W {
91228                self.bit(false)
91229            }
91230            ///Writes raw bits to the field
91231            #[inline(always)]
91232            pub fn bit(self, value: bool) -> &'a mut W {
91233                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
91234                self.w
91235            }
91236        }
91237        ///Write proxy for field `BS8`
91238        pub struct BS8_W<'a> {
91239            w: &'a mut W,
91240        }
91241        impl<'a> BS8_W<'a> {
91242            ///Sets the field bit
91243            #[inline(always)]
91244            pub fn set_bit(self) -> &'a mut W {
91245                self.bit(true)
91246            }
91247            ///Clears the field bit
91248            #[inline(always)]
91249            pub fn clear_bit(self) -> &'a mut W {
91250                self.bit(false)
91251            }
91252            ///Writes raw bits to the field
91253            #[inline(always)]
91254            pub fn bit(self, value: bool) -> &'a mut W {
91255                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
91256                self.w
91257            }
91258        }
91259        ///Write proxy for field `BS7`
91260        pub struct BS7_W<'a> {
91261            w: &'a mut W,
91262        }
91263        impl<'a> BS7_W<'a> {
91264            ///Sets the field bit
91265            #[inline(always)]
91266            pub fn set_bit(self) -> &'a mut W {
91267                self.bit(true)
91268            }
91269            ///Clears the field bit
91270            #[inline(always)]
91271            pub fn clear_bit(self) -> &'a mut W {
91272                self.bit(false)
91273            }
91274            ///Writes raw bits to the field
91275            #[inline(always)]
91276            pub fn bit(self, value: bool) -> &'a mut W {
91277                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
91278                self.w
91279            }
91280        }
91281        ///Write proxy for field `BS6`
91282        pub struct BS6_W<'a> {
91283            w: &'a mut W,
91284        }
91285        impl<'a> BS6_W<'a> {
91286            ///Sets the field bit
91287            #[inline(always)]
91288            pub fn set_bit(self) -> &'a mut W {
91289                self.bit(true)
91290            }
91291            ///Clears the field bit
91292            #[inline(always)]
91293            pub fn clear_bit(self) -> &'a mut W {
91294                self.bit(false)
91295            }
91296            ///Writes raw bits to the field
91297            #[inline(always)]
91298            pub fn bit(self, value: bool) -> &'a mut W {
91299                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
91300                self.w
91301            }
91302        }
91303        ///Write proxy for field `BS5`
91304        pub struct BS5_W<'a> {
91305            w: &'a mut W,
91306        }
91307        impl<'a> BS5_W<'a> {
91308            ///Sets the field bit
91309            #[inline(always)]
91310            pub fn set_bit(self) -> &'a mut W {
91311                self.bit(true)
91312            }
91313            ///Clears the field bit
91314            #[inline(always)]
91315            pub fn clear_bit(self) -> &'a mut W {
91316                self.bit(false)
91317            }
91318            ///Writes raw bits to the field
91319            #[inline(always)]
91320            pub fn bit(self, value: bool) -> &'a mut W {
91321                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
91322                self.w
91323            }
91324        }
91325        ///Write proxy for field `BS4`
91326        pub struct BS4_W<'a> {
91327            w: &'a mut W,
91328        }
91329        impl<'a> BS4_W<'a> {
91330            ///Sets the field bit
91331            #[inline(always)]
91332            pub fn set_bit(self) -> &'a mut W {
91333                self.bit(true)
91334            }
91335            ///Clears the field bit
91336            #[inline(always)]
91337            pub fn clear_bit(self) -> &'a mut W {
91338                self.bit(false)
91339            }
91340            ///Writes raw bits to the field
91341            #[inline(always)]
91342            pub fn bit(self, value: bool) -> &'a mut W {
91343                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
91344                self.w
91345            }
91346        }
91347        ///Write proxy for field `BS3`
91348        pub struct BS3_W<'a> {
91349            w: &'a mut W,
91350        }
91351        impl<'a> BS3_W<'a> {
91352            ///Sets the field bit
91353            #[inline(always)]
91354            pub fn set_bit(self) -> &'a mut W {
91355                self.bit(true)
91356            }
91357            ///Clears the field bit
91358            #[inline(always)]
91359            pub fn clear_bit(self) -> &'a mut W {
91360                self.bit(false)
91361            }
91362            ///Writes raw bits to the field
91363            #[inline(always)]
91364            pub fn bit(self, value: bool) -> &'a mut W {
91365                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
91366                self.w
91367            }
91368        }
91369        ///Write proxy for field `BS2`
91370        pub struct BS2_W<'a> {
91371            w: &'a mut W,
91372        }
91373        impl<'a> BS2_W<'a> {
91374            ///Sets the field bit
91375            #[inline(always)]
91376            pub fn set_bit(self) -> &'a mut W {
91377                self.bit(true)
91378            }
91379            ///Clears the field bit
91380            #[inline(always)]
91381            pub fn clear_bit(self) -> &'a mut W {
91382                self.bit(false)
91383            }
91384            ///Writes raw bits to the field
91385            #[inline(always)]
91386            pub fn bit(self, value: bool) -> &'a mut W {
91387                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
91388                self.w
91389            }
91390        }
91391        ///Write proxy for field `BS1`
91392        pub struct BS1_W<'a> {
91393            w: &'a mut W,
91394        }
91395        impl<'a> BS1_W<'a> {
91396            ///Sets the field bit
91397            #[inline(always)]
91398            pub fn set_bit(self) -> &'a mut W {
91399                self.bit(true)
91400            }
91401            ///Clears the field bit
91402            #[inline(always)]
91403            pub fn clear_bit(self) -> &'a mut W {
91404                self.bit(false)
91405            }
91406            ///Writes raw bits to the field
91407            #[inline(always)]
91408            pub fn bit(self, value: bool) -> &'a mut W {
91409                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
91410                self.w
91411            }
91412        }
91413        ///Write proxy for field `BS0`
91414        pub struct BS0_W<'a> {
91415            w: &'a mut W,
91416        }
91417        impl<'a> BS0_W<'a> {
91418            ///Sets the field bit
91419            #[inline(always)]
91420            pub fn set_bit(self) -> &'a mut W {
91421                self.bit(true)
91422            }
91423            ///Clears the field bit
91424            #[inline(always)]
91425            pub fn clear_bit(self) -> &'a mut W {
91426                self.bit(false)
91427            }
91428            ///Writes raw bits to the field
91429            #[inline(always)]
91430            pub fn bit(self, value: bool) -> &'a mut W {
91431                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
91432                self.w
91433            }
91434        }
91435        impl W {
91436            ///Bit 31 - Port x reset bit y (y = 0..15)
91437            #[inline(always)]
91438            pub fn br15(&mut self) -> BR15_W {
91439                BR15_W { w: self }
91440            }
91441            ///Bit 30 - Port x reset bit y (y = 0..15)
91442            #[inline(always)]
91443            pub fn br14(&mut self) -> BR14_W {
91444                BR14_W { w: self }
91445            }
91446            ///Bit 29 - Port x reset bit y (y = 0..15)
91447            #[inline(always)]
91448            pub fn br13(&mut self) -> BR13_W {
91449                BR13_W { w: self }
91450            }
91451            ///Bit 28 - Port x reset bit y (y = 0..15)
91452            #[inline(always)]
91453            pub fn br12(&mut self) -> BR12_W {
91454                BR12_W { w: self }
91455            }
91456            ///Bit 27 - Port x reset bit y (y = 0..15)
91457            #[inline(always)]
91458            pub fn br11(&mut self) -> BR11_W {
91459                BR11_W { w: self }
91460            }
91461            ///Bit 26 - Port x reset bit y (y = 0..15)
91462            #[inline(always)]
91463            pub fn br10(&mut self) -> BR10_W {
91464                BR10_W { w: self }
91465            }
91466            ///Bit 25 - Port x reset bit y (y = 0..15)
91467            #[inline(always)]
91468            pub fn br9(&mut self) -> BR9_W {
91469                BR9_W { w: self }
91470            }
91471            ///Bit 24 - Port x reset bit y (y = 0..15)
91472            #[inline(always)]
91473            pub fn br8(&mut self) -> BR8_W {
91474                BR8_W { w: self }
91475            }
91476            ///Bit 23 - Port x reset bit y (y = 0..15)
91477            #[inline(always)]
91478            pub fn br7(&mut self) -> BR7_W {
91479                BR7_W { w: self }
91480            }
91481            ///Bit 22 - Port x reset bit y (y = 0..15)
91482            #[inline(always)]
91483            pub fn br6(&mut self) -> BR6_W {
91484                BR6_W { w: self }
91485            }
91486            ///Bit 21 - Port x reset bit y (y = 0..15)
91487            #[inline(always)]
91488            pub fn br5(&mut self) -> BR5_W {
91489                BR5_W { w: self }
91490            }
91491            ///Bit 20 - Port x reset bit y (y = 0..15)
91492            #[inline(always)]
91493            pub fn br4(&mut self) -> BR4_W {
91494                BR4_W { w: self }
91495            }
91496            ///Bit 19 - Port x reset bit y (y = 0..15)
91497            #[inline(always)]
91498            pub fn br3(&mut self) -> BR3_W {
91499                BR3_W { w: self }
91500            }
91501            ///Bit 18 - Port x reset bit y (y = 0..15)
91502            #[inline(always)]
91503            pub fn br2(&mut self) -> BR2_W {
91504                BR2_W { w: self }
91505            }
91506            ///Bit 17 - Port x reset bit y (y = 0..15)
91507            #[inline(always)]
91508            pub fn br1(&mut self) -> BR1_W {
91509                BR1_W { w: self }
91510            }
91511            ///Bit 16 - Port x set bit y (y= 0..15)
91512            #[inline(always)]
91513            pub fn br0(&mut self) -> BR0_W {
91514                BR0_W { w: self }
91515            }
91516            ///Bit 15 - Port x set bit y (y= 0..15)
91517            #[inline(always)]
91518            pub fn bs15(&mut self) -> BS15_W {
91519                BS15_W { w: self }
91520            }
91521            ///Bit 14 - Port x set bit y (y= 0..15)
91522            #[inline(always)]
91523            pub fn bs14(&mut self) -> BS14_W {
91524                BS14_W { w: self }
91525            }
91526            ///Bit 13 - Port x set bit y (y= 0..15)
91527            #[inline(always)]
91528            pub fn bs13(&mut self) -> BS13_W {
91529                BS13_W { w: self }
91530            }
91531            ///Bit 12 - Port x set bit y (y= 0..15)
91532            #[inline(always)]
91533            pub fn bs12(&mut self) -> BS12_W {
91534                BS12_W { w: self }
91535            }
91536            ///Bit 11 - Port x set bit y (y= 0..15)
91537            #[inline(always)]
91538            pub fn bs11(&mut self) -> BS11_W {
91539                BS11_W { w: self }
91540            }
91541            ///Bit 10 - Port x set bit y (y= 0..15)
91542            #[inline(always)]
91543            pub fn bs10(&mut self) -> BS10_W {
91544                BS10_W { w: self }
91545            }
91546            ///Bit 9 - Port x set bit y (y= 0..15)
91547            #[inline(always)]
91548            pub fn bs9(&mut self) -> BS9_W {
91549                BS9_W { w: self }
91550            }
91551            ///Bit 8 - Port x set bit y (y= 0..15)
91552            #[inline(always)]
91553            pub fn bs8(&mut self) -> BS8_W {
91554                BS8_W { w: self }
91555            }
91556            ///Bit 7 - Port x set bit y (y= 0..15)
91557            #[inline(always)]
91558            pub fn bs7(&mut self) -> BS7_W {
91559                BS7_W { w: self }
91560            }
91561            ///Bit 6 - Port x set bit y (y= 0..15)
91562            #[inline(always)]
91563            pub fn bs6(&mut self) -> BS6_W {
91564                BS6_W { w: self }
91565            }
91566            ///Bit 5 - Port x set bit y (y= 0..15)
91567            #[inline(always)]
91568            pub fn bs5(&mut self) -> BS5_W {
91569                BS5_W { w: self }
91570            }
91571            ///Bit 4 - Port x set bit y (y= 0..15)
91572            #[inline(always)]
91573            pub fn bs4(&mut self) -> BS4_W {
91574                BS4_W { w: self }
91575            }
91576            ///Bit 3 - Port x set bit y (y= 0..15)
91577            #[inline(always)]
91578            pub fn bs3(&mut self) -> BS3_W {
91579                BS3_W { w: self }
91580            }
91581            ///Bit 2 - Port x set bit y (y= 0..15)
91582            #[inline(always)]
91583            pub fn bs2(&mut self) -> BS2_W {
91584                BS2_W { w: self }
91585            }
91586            ///Bit 1 - Port x set bit y (y= 0..15)
91587            #[inline(always)]
91588            pub fn bs1(&mut self) -> BS1_W {
91589                BS1_W { w: self }
91590            }
91591            ///Bit 0 - Port x set bit y (y= 0..15)
91592            #[inline(always)]
91593            pub fn bs0(&mut self) -> BS0_W {
91594                BS0_W { w: self }
91595            }
91596        }
91597    }
91598    ///GPIO port configuration lock register
91599    ///
91600    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
91601    ///
91602    ///For information about available fields see [lckr](lckr) module
91603    pub type LCKR = crate::Reg<u32, _LCKR>;
91604    #[allow(missing_docs)]
91605    #[doc(hidden)]
91606    pub struct _LCKR;
91607    ///`read()` method returns [lckr::R](lckr::R) reader structure
91608    impl crate::Readable for LCKR {}
91609    ///`write(|w| ..)` method takes [lckr::W](lckr::W) writer structure
91610    impl crate::Writable for LCKR {}
91611    ///GPIO port configuration lock register
91612    pub mod lckr {
91613        ///Reader of register LCKR
91614        pub type R = crate::R<u32, super::LCKR>;
91615        ///Writer for register LCKR
91616        pub type W = crate::W<u32, super::LCKR>;
91617        ///Register LCKR `reset()`'s with value 0
91618        impl crate::ResetValue for super::LCKR {
91619            type Type = u32;
91620            #[inline(always)]
91621            fn reset_value() -> Self::Type {
91622                0
91623            }
91624        }
91625        ///Reader of field `LCKK`
91626        pub type LCKK_R = crate::R<bool, bool>;
91627        ///Write proxy for field `LCKK`
91628        pub struct LCKK_W<'a> {
91629            w: &'a mut W,
91630        }
91631        impl<'a> LCKK_W<'a> {
91632            ///Sets the field bit
91633            #[inline(always)]
91634            pub fn set_bit(self) -> &'a mut W {
91635                self.bit(true)
91636            }
91637            ///Clears the field bit
91638            #[inline(always)]
91639            pub fn clear_bit(self) -> &'a mut W {
91640                self.bit(false)
91641            }
91642            ///Writes raw bits to the field
91643            #[inline(always)]
91644            pub fn bit(self, value: bool) -> &'a mut W {
91645                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
91646                self.w
91647            }
91648        }
91649        ///Reader of field `LCK15`
91650        pub type LCK15_R = crate::R<bool, bool>;
91651        ///Write proxy for field `LCK15`
91652        pub struct LCK15_W<'a> {
91653            w: &'a mut W,
91654        }
91655        impl<'a> LCK15_W<'a> {
91656            ///Sets the field bit
91657            #[inline(always)]
91658            pub fn set_bit(self) -> &'a mut W {
91659                self.bit(true)
91660            }
91661            ///Clears the field bit
91662            #[inline(always)]
91663            pub fn clear_bit(self) -> &'a mut W {
91664                self.bit(false)
91665            }
91666            ///Writes raw bits to the field
91667            #[inline(always)]
91668            pub fn bit(self, value: bool) -> &'a mut W {
91669                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
91670                self.w
91671            }
91672        }
91673        ///Reader of field `LCK14`
91674        pub type LCK14_R = crate::R<bool, bool>;
91675        ///Write proxy for field `LCK14`
91676        pub struct LCK14_W<'a> {
91677            w: &'a mut W,
91678        }
91679        impl<'a> LCK14_W<'a> {
91680            ///Sets the field bit
91681            #[inline(always)]
91682            pub fn set_bit(self) -> &'a mut W {
91683                self.bit(true)
91684            }
91685            ///Clears the field bit
91686            #[inline(always)]
91687            pub fn clear_bit(self) -> &'a mut W {
91688                self.bit(false)
91689            }
91690            ///Writes raw bits to the field
91691            #[inline(always)]
91692            pub fn bit(self, value: bool) -> &'a mut W {
91693                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
91694                self.w
91695            }
91696        }
91697        ///Reader of field `LCK13`
91698        pub type LCK13_R = crate::R<bool, bool>;
91699        ///Write proxy for field `LCK13`
91700        pub struct LCK13_W<'a> {
91701            w: &'a mut W,
91702        }
91703        impl<'a> LCK13_W<'a> {
91704            ///Sets the field bit
91705            #[inline(always)]
91706            pub fn set_bit(self) -> &'a mut W {
91707                self.bit(true)
91708            }
91709            ///Clears the field bit
91710            #[inline(always)]
91711            pub fn clear_bit(self) -> &'a mut W {
91712                self.bit(false)
91713            }
91714            ///Writes raw bits to the field
91715            #[inline(always)]
91716            pub fn bit(self, value: bool) -> &'a mut W {
91717                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
91718                self.w
91719            }
91720        }
91721        ///Reader of field `LCK12`
91722        pub type LCK12_R = crate::R<bool, bool>;
91723        ///Write proxy for field `LCK12`
91724        pub struct LCK12_W<'a> {
91725            w: &'a mut W,
91726        }
91727        impl<'a> LCK12_W<'a> {
91728            ///Sets the field bit
91729            #[inline(always)]
91730            pub fn set_bit(self) -> &'a mut W {
91731                self.bit(true)
91732            }
91733            ///Clears the field bit
91734            #[inline(always)]
91735            pub fn clear_bit(self) -> &'a mut W {
91736                self.bit(false)
91737            }
91738            ///Writes raw bits to the field
91739            #[inline(always)]
91740            pub fn bit(self, value: bool) -> &'a mut W {
91741                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
91742                self.w
91743            }
91744        }
91745        ///Reader of field `LCK11`
91746        pub type LCK11_R = crate::R<bool, bool>;
91747        ///Write proxy for field `LCK11`
91748        pub struct LCK11_W<'a> {
91749            w: &'a mut W,
91750        }
91751        impl<'a> LCK11_W<'a> {
91752            ///Sets the field bit
91753            #[inline(always)]
91754            pub fn set_bit(self) -> &'a mut W {
91755                self.bit(true)
91756            }
91757            ///Clears the field bit
91758            #[inline(always)]
91759            pub fn clear_bit(self) -> &'a mut W {
91760                self.bit(false)
91761            }
91762            ///Writes raw bits to the field
91763            #[inline(always)]
91764            pub fn bit(self, value: bool) -> &'a mut W {
91765                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
91766                self.w
91767            }
91768        }
91769        ///Reader of field `LCK10`
91770        pub type LCK10_R = crate::R<bool, bool>;
91771        ///Write proxy for field `LCK10`
91772        pub struct LCK10_W<'a> {
91773            w: &'a mut W,
91774        }
91775        impl<'a> LCK10_W<'a> {
91776            ///Sets the field bit
91777            #[inline(always)]
91778            pub fn set_bit(self) -> &'a mut W {
91779                self.bit(true)
91780            }
91781            ///Clears the field bit
91782            #[inline(always)]
91783            pub fn clear_bit(self) -> &'a mut W {
91784                self.bit(false)
91785            }
91786            ///Writes raw bits to the field
91787            #[inline(always)]
91788            pub fn bit(self, value: bool) -> &'a mut W {
91789                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
91790                self.w
91791            }
91792        }
91793        ///Reader of field `LCK9`
91794        pub type LCK9_R = crate::R<bool, bool>;
91795        ///Write proxy for field `LCK9`
91796        pub struct LCK9_W<'a> {
91797            w: &'a mut W,
91798        }
91799        impl<'a> LCK9_W<'a> {
91800            ///Sets the field bit
91801            #[inline(always)]
91802            pub fn set_bit(self) -> &'a mut W {
91803                self.bit(true)
91804            }
91805            ///Clears the field bit
91806            #[inline(always)]
91807            pub fn clear_bit(self) -> &'a mut W {
91808                self.bit(false)
91809            }
91810            ///Writes raw bits to the field
91811            #[inline(always)]
91812            pub fn bit(self, value: bool) -> &'a mut W {
91813                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
91814                self.w
91815            }
91816        }
91817        ///Reader of field `LCK8`
91818        pub type LCK8_R = crate::R<bool, bool>;
91819        ///Write proxy for field `LCK8`
91820        pub struct LCK8_W<'a> {
91821            w: &'a mut W,
91822        }
91823        impl<'a> LCK8_W<'a> {
91824            ///Sets the field bit
91825            #[inline(always)]
91826            pub fn set_bit(self) -> &'a mut W {
91827                self.bit(true)
91828            }
91829            ///Clears the field bit
91830            #[inline(always)]
91831            pub fn clear_bit(self) -> &'a mut W {
91832                self.bit(false)
91833            }
91834            ///Writes raw bits to the field
91835            #[inline(always)]
91836            pub fn bit(self, value: bool) -> &'a mut W {
91837                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
91838                self.w
91839            }
91840        }
91841        ///Reader of field `LCK7`
91842        pub type LCK7_R = crate::R<bool, bool>;
91843        ///Write proxy for field `LCK7`
91844        pub struct LCK7_W<'a> {
91845            w: &'a mut W,
91846        }
91847        impl<'a> LCK7_W<'a> {
91848            ///Sets the field bit
91849            #[inline(always)]
91850            pub fn set_bit(self) -> &'a mut W {
91851                self.bit(true)
91852            }
91853            ///Clears the field bit
91854            #[inline(always)]
91855            pub fn clear_bit(self) -> &'a mut W {
91856                self.bit(false)
91857            }
91858            ///Writes raw bits to the field
91859            #[inline(always)]
91860            pub fn bit(self, value: bool) -> &'a mut W {
91861                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
91862                self.w
91863            }
91864        }
91865        ///Reader of field `LCK6`
91866        pub type LCK6_R = crate::R<bool, bool>;
91867        ///Write proxy for field `LCK6`
91868        pub struct LCK6_W<'a> {
91869            w: &'a mut W,
91870        }
91871        impl<'a> LCK6_W<'a> {
91872            ///Sets the field bit
91873            #[inline(always)]
91874            pub fn set_bit(self) -> &'a mut W {
91875                self.bit(true)
91876            }
91877            ///Clears the field bit
91878            #[inline(always)]
91879            pub fn clear_bit(self) -> &'a mut W {
91880                self.bit(false)
91881            }
91882            ///Writes raw bits to the field
91883            #[inline(always)]
91884            pub fn bit(self, value: bool) -> &'a mut W {
91885                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
91886                self.w
91887            }
91888        }
91889        ///Reader of field `LCK5`
91890        pub type LCK5_R = crate::R<bool, bool>;
91891        ///Write proxy for field `LCK5`
91892        pub struct LCK5_W<'a> {
91893            w: &'a mut W,
91894        }
91895        impl<'a> LCK5_W<'a> {
91896            ///Sets the field bit
91897            #[inline(always)]
91898            pub fn set_bit(self) -> &'a mut W {
91899                self.bit(true)
91900            }
91901            ///Clears the field bit
91902            #[inline(always)]
91903            pub fn clear_bit(self) -> &'a mut W {
91904                self.bit(false)
91905            }
91906            ///Writes raw bits to the field
91907            #[inline(always)]
91908            pub fn bit(self, value: bool) -> &'a mut W {
91909                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
91910                self.w
91911            }
91912        }
91913        ///Reader of field `LCK4`
91914        pub type LCK4_R = crate::R<bool, bool>;
91915        ///Write proxy for field `LCK4`
91916        pub struct LCK4_W<'a> {
91917            w: &'a mut W,
91918        }
91919        impl<'a> LCK4_W<'a> {
91920            ///Sets the field bit
91921            #[inline(always)]
91922            pub fn set_bit(self) -> &'a mut W {
91923                self.bit(true)
91924            }
91925            ///Clears the field bit
91926            #[inline(always)]
91927            pub fn clear_bit(self) -> &'a mut W {
91928                self.bit(false)
91929            }
91930            ///Writes raw bits to the field
91931            #[inline(always)]
91932            pub fn bit(self, value: bool) -> &'a mut W {
91933                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
91934                self.w
91935            }
91936        }
91937        ///Reader of field `LCK3`
91938        pub type LCK3_R = crate::R<bool, bool>;
91939        ///Write proxy for field `LCK3`
91940        pub struct LCK3_W<'a> {
91941            w: &'a mut W,
91942        }
91943        impl<'a> LCK3_W<'a> {
91944            ///Sets the field bit
91945            #[inline(always)]
91946            pub fn set_bit(self) -> &'a mut W {
91947                self.bit(true)
91948            }
91949            ///Clears the field bit
91950            #[inline(always)]
91951            pub fn clear_bit(self) -> &'a mut W {
91952                self.bit(false)
91953            }
91954            ///Writes raw bits to the field
91955            #[inline(always)]
91956            pub fn bit(self, value: bool) -> &'a mut W {
91957                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
91958                self.w
91959            }
91960        }
91961        ///Reader of field `LCK2`
91962        pub type LCK2_R = crate::R<bool, bool>;
91963        ///Write proxy for field `LCK2`
91964        pub struct LCK2_W<'a> {
91965            w: &'a mut W,
91966        }
91967        impl<'a> LCK2_W<'a> {
91968            ///Sets the field bit
91969            #[inline(always)]
91970            pub fn set_bit(self) -> &'a mut W {
91971                self.bit(true)
91972            }
91973            ///Clears the field bit
91974            #[inline(always)]
91975            pub fn clear_bit(self) -> &'a mut W {
91976                self.bit(false)
91977            }
91978            ///Writes raw bits to the field
91979            #[inline(always)]
91980            pub fn bit(self, value: bool) -> &'a mut W {
91981                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
91982                self.w
91983            }
91984        }
91985        ///Reader of field `LCK1`
91986        pub type LCK1_R = crate::R<bool, bool>;
91987        ///Write proxy for field `LCK1`
91988        pub struct LCK1_W<'a> {
91989            w: &'a mut W,
91990        }
91991        impl<'a> LCK1_W<'a> {
91992            ///Sets the field bit
91993            #[inline(always)]
91994            pub fn set_bit(self) -> &'a mut W {
91995                self.bit(true)
91996            }
91997            ///Clears the field bit
91998            #[inline(always)]
91999            pub fn clear_bit(self) -> &'a mut W {
92000                self.bit(false)
92001            }
92002            ///Writes raw bits to the field
92003            #[inline(always)]
92004            pub fn bit(self, value: bool) -> &'a mut W {
92005                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
92006                self.w
92007            }
92008        }
92009        ///Reader of field `LCK0`
92010        pub type LCK0_R = crate::R<bool, bool>;
92011        ///Write proxy for field `LCK0`
92012        pub struct LCK0_W<'a> {
92013            w: &'a mut W,
92014        }
92015        impl<'a> LCK0_W<'a> {
92016            ///Sets the field bit
92017            #[inline(always)]
92018            pub fn set_bit(self) -> &'a mut W {
92019                self.bit(true)
92020            }
92021            ///Clears the field bit
92022            #[inline(always)]
92023            pub fn clear_bit(self) -> &'a mut W {
92024                self.bit(false)
92025            }
92026            ///Writes raw bits to the field
92027            #[inline(always)]
92028            pub fn bit(self, value: bool) -> &'a mut W {
92029                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
92030                self.w
92031            }
92032        }
92033        impl R {
92034            ///Bit 16 - Port x lock bit y (y= 0..15)
92035            #[inline(always)]
92036            pub fn lckk(&self) -> LCKK_R {
92037                LCKK_R::new(((self.bits >> 16) & 0x01) != 0)
92038            }
92039            ///Bit 15 - Port x lock bit y (y= 0..15)
92040            #[inline(always)]
92041            pub fn lck15(&self) -> LCK15_R {
92042                LCK15_R::new(((self.bits >> 15) & 0x01) != 0)
92043            }
92044            ///Bit 14 - Port x lock bit y (y= 0..15)
92045            #[inline(always)]
92046            pub fn lck14(&self) -> LCK14_R {
92047                LCK14_R::new(((self.bits >> 14) & 0x01) != 0)
92048            }
92049            ///Bit 13 - Port x lock bit y (y= 0..15)
92050            #[inline(always)]
92051            pub fn lck13(&self) -> LCK13_R {
92052                LCK13_R::new(((self.bits >> 13) & 0x01) != 0)
92053            }
92054            ///Bit 12 - Port x lock bit y (y= 0..15)
92055            #[inline(always)]
92056            pub fn lck12(&self) -> LCK12_R {
92057                LCK12_R::new(((self.bits >> 12) & 0x01) != 0)
92058            }
92059            ///Bit 11 - Port x lock bit y (y= 0..15)
92060            #[inline(always)]
92061            pub fn lck11(&self) -> LCK11_R {
92062                LCK11_R::new(((self.bits >> 11) & 0x01) != 0)
92063            }
92064            ///Bit 10 - Port x lock bit y (y= 0..15)
92065            #[inline(always)]
92066            pub fn lck10(&self) -> LCK10_R {
92067                LCK10_R::new(((self.bits >> 10) & 0x01) != 0)
92068            }
92069            ///Bit 9 - Port x lock bit y (y= 0..15)
92070            #[inline(always)]
92071            pub fn lck9(&self) -> LCK9_R {
92072                LCK9_R::new(((self.bits >> 9) & 0x01) != 0)
92073            }
92074            ///Bit 8 - Port x lock bit y (y= 0..15)
92075            #[inline(always)]
92076            pub fn lck8(&self) -> LCK8_R {
92077                LCK8_R::new(((self.bits >> 8) & 0x01) != 0)
92078            }
92079            ///Bit 7 - Port x lock bit y (y= 0..15)
92080            #[inline(always)]
92081            pub fn lck7(&self) -> LCK7_R {
92082                LCK7_R::new(((self.bits >> 7) & 0x01) != 0)
92083            }
92084            ///Bit 6 - Port x lock bit y (y= 0..15)
92085            #[inline(always)]
92086            pub fn lck6(&self) -> LCK6_R {
92087                LCK6_R::new(((self.bits >> 6) & 0x01) != 0)
92088            }
92089            ///Bit 5 - Port x lock bit y (y= 0..15)
92090            #[inline(always)]
92091            pub fn lck5(&self) -> LCK5_R {
92092                LCK5_R::new(((self.bits >> 5) & 0x01) != 0)
92093            }
92094            ///Bit 4 - Port x lock bit y (y= 0..15)
92095            #[inline(always)]
92096            pub fn lck4(&self) -> LCK4_R {
92097                LCK4_R::new(((self.bits >> 4) & 0x01) != 0)
92098            }
92099            ///Bit 3 - Port x lock bit y (y= 0..15)
92100            #[inline(always)]
92101            pub fn lck3(&self) -> LCK3_R {
92102                LCK3_R::new(((self.bits >> 3) & 0x01) != 0)
92103            }
92104            ///Bit 2 - Port x lock bit y (y= 0..15)
92105            #[inline(always)]
92106            pub fn lck2(&self) -> LCK2_R {
92107                LCK2_R::new(((self.bits >> 2) & 0x01) != 0)
92108            }
92109            ///Bit 1 - Port x lock bit y (y= 0..15)
92110            #[inline(always)]
92111            pub fn lck1(&self) -> LCK1_R {
92112                LCK1_R::new(((self.bits >> 1) & 0x01) != 0)
92113            }
92114            ///Bit 0 - Port x lock bit y (y= 0..15)
92115            #[inline(always)]
92116            pub fn lck0(&self) -> LCK0_R {
92117                LCK0_R::new((self.bits & 0x01) != 0)
92118            }
92119        }
92120        impl W {
92121            ///Bit 16 - Port x lock bit y (y= 0..15)
92122            #[inline(always)]
92123            pub fn lckk(&mut self) -> LCKK_W {
92124                LCKK_W { w: self }
92125            }
92126            ///Bit 15 - Port x lock bit y (y= 0..15)
92127            #[inline(always)]
92128            pub fn lck15(&mut self) -> LCK15_W {
92129                LCK15_W { w: self }
92130            }
92131            ///Bit 14 - Port x lock bit y (y= 0..15)
92132            #[inline(always)]
92133            pub fn lck14(&mut self) -> LCK14_W {
92134                LCK14_W { w: self }
92135            }
92136            ///Bit 13 - Port x lock bit y (y= 0..15)
92137            #[inline(always)]
92138            pub fn lck13(&mut self) -> LCK13_W {
92139                LCK13_W { w: self }
92140            }
92141            ///Bit 12 - Port x lock bit y (y= 0..15)
92142            #[inline(always)]
92143            pub fn lck12(&mut self) -> LCK12_W {
92144                LCK12_W { w: self }
92145            }
92146            ///Bit 11 - Port x lock bit y (y= 0..15)
92147            #[inline(always)]
92148            pub fn lck11(&mut self) -> LCK11_W {
92149                LCK11_W { w: self }
92150            }
92151            ///Bit 10 - Port x lock bit y (y= 0..15)
92152            #[inline(always)]
92153            pub fn lck10(&mut self) -> LCK10_W {
92154                LCK10_W { w: self }
92155            }
92156            ///Bit 9 - Port x lock bit y (y= 0..15)
92157            #[inline(always)]
92158            pub fn lck9(&mut self) -> LCK9_W {
92159                LCK9_W { w: self }
92160            }
92161            ///Bit 8 - Port x lock bit y (y= 0..15)
92162            #[inline(always)]
92163            pub fn lck8(&mut self) -> LCK8_W {
92164                LCK8_W { w: self }
92165            }
92166            ///Bit 7 - Port x lock bit y (y= 0..15)
92167            #[inline(always)]
92168            pub fn lck7(&mut self) -> LCK7_W {
92169                LCK7_W { w: self }
92170            }
92171            ///Bit 6 - Port x lock bit y (y= 0..15)
92172            #[inline(always)]
92173            pub fn lck6(&mut self) -> LCK6_W {
92174                LCK6_W { w: self }
92175            }
92176            ///Bit 5 - Port x lock bit y (y= 0..15)
92177            #[inline(always)]
92178            pub fn lck5(&mut self) -> LCK5_W {
92179                LCK5_W { w: self }
92180            }
92181            ///Bit 4 - Port x lock bit y (y= 0..15)
92182            #[inline(always)]
92183            pub fn lck4(&mut self) -> LCK4_W {
92184                LCK4_W { w: self }
92185            }
92186            ///Bit 3 - Port x lock bit y (y= 0..15)
92187            #[inline(always)]
92188            pub fn lck3(&mut self) -> LCK3_W {
92189                LCK3_W { w: self }
92190            }
92191            ///Bit 2 - Port x lock bit y (y= 0..15)
92192            #[inline(always)]
92193            pub fn lck2(&mut self) -> LCK2_W {
92194                LCK2_W { w: self }
92195            }
92196            ///Bit 1 - Port x lock bit y (y= 0..15)
92197            #[inline(always)]
92198            pub fn lck1(&mut self) -> LCK1_W {
92199                LCK1_W { w: self }
92200            }
92201            ///Bit 0 - Port x lock bit y (y= 0..15)
92202            #[inline(always)]
92203            pub fn lck0(&mut self) -> LCK0_W {
92204                LCK0_W { w: self }
92205            }
92206        }
92207    }
92208    ///GPIO alternate function low register
92209    ///
92210    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
92211    ///
92212    ///For information about available fields see [afrl](afrl) module
92213    pub type AFRL = crate::Reg<u32, _AFRL>;
92214    #[allow(missing_docs)]
92215    #[doc(hidden)]
92216    pub struct _AFRL;
92217    ///`read()` method returns [afrl::R](afrl::R) reader structure
92218    impl crate::Readable for AFRL {}
92219    ///`write(|w| ..)` method takes [afrl::W](afrl::W) writer structure
92220    impl crate::Writable for AFRL {}
92221    ///GPIO alternate function low register
92222    pub mod afrl {
92223        ///Reader of register AFRL
92224        pub type R = crate::R<u32, super::AFRL>;
92225        ///Writer for register AFRL
92226        pub type W = crate::W<u32, super::AFRL>;
92227        ///Register AFRL `reset()`'s with value 0
92228        impl crate::ResetValue for super::AFRL {
92229            type Type = u32;
92230            #[inline(always)]
92231            fn reset_value() -> Self::Type {
92232                0
92233            }
92234        }
92235        ///Reader of field `AFSEL7`
92236        pub type AFSEL7_R = crate::R<u8, u8>;
92237        ///Write proxy for field `AFSEL7`
92238        pub struct AFSEL7_W<'a> {
92239            w: &'a mut W,
92240        }
92241        impl<'a> AFSEL7_W<'a> {
92242            ///Writes raw bits to the field
92243            #[inline(always)]
92244            pub unsafe fn bits(self, value: u8) -> &'a mut W {
92245                self.w.bits = (self.w.bits & !(0x0f << 28)) | (((value as u32) & 0x0f) << 28);
92246                self.w
92247            }
92248        }
92249        ///Reader of field `AFSEL6`
92250        pub type AFSEL6_R = crate::R<u8, u8>;
92251        ///Write proxy for field `AFSEL6`
92252        pub struct AFSEL6_W<'a> {
92253            w: &'a mut W,
92254        }
92255        impl<'a> AFSEL6_W<'a> {
92256            ///Writes raw bits to the field
92257            #[inline(always)]
92258            pub unsafe fn bits(self, value: u8) -> &'a mut W {
92259                self.w.bits = (self.w.bits & !(0x0f << 24)) | (((value as u32) & 0x0f) << 24);
92260                self.w
92261            }
92262        }
92263        ///Reader of field `AFSEL5`
92264        pub type AFSEL5_R = crate::R<u8, u8>;
92265        ///Write proxy for field `AFSEL5`
92266        pub struct AFSEL5_W<'a> {
92267            w: &'a mut W,
92268        }
92269        impl<'a> AFSEL5_W<'a> {
92270            ///Writes raw bits to the field
92271            #[inline(always)]
92272            pub unsafe fn bits(self, value: u8) -> &'a mut W {
92273                self.w.bits = (self.w.bits & !(0x0f << 20)) | (((value as u32) & 0x0f) << 20);
92274                self.w
92275            }
92276        }
92277        ///Reader of field `AFSEL4`
92278        pub type AFSEL4_R = crate::R<u8, u8>;
92279        ///Write proxy for field `AFSEL4`
92280        pub struct AFSEL4_W<'a> {
92281            w: &'a mut W,
92282        }
92283        impl<'a> AFSEL4_W<'a> {
92284            ///Writes raw bits to the field
92285            #[inline(always)]
92286            pub unsafe fn bits(self, value: u8) -> &'a mut W {
92287                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
92288                self.w
92289            }
92290        }
92291        ///Reader of field `AFSEL3`
92292        pub type AFSEL3_R = crate::R<u8, u8>;
92293        ///Write proxy for field `AFSEL3`
92294        pub struct AFSEL3_W<'a> {
92295            w: &'a mut W,
92296        }
92297        impl<'a> AFSEL3_W<'a> {
92298            ///Writes raw bits to the field
92299            #[inline(always)]
92300            pub unsafe fn bits(self, value: u8) -> &'a mut W {
92301                self.w.bits = (self.w.bits & !(0x0f << 12)) | (((value as u32) & 0x0f) << 12);
92302                self.w
92303            }
92304        }
92305        ///Reader of field `AFSEL2`
92306        pub type AFSEL2_R = crate::R<u8, u8>;
92307        ///Write proxy for field `AFSEL2`
92308        pub struct AFSEL2_W<'a> {
92309            w: &'a mut W,
92310        }
92311        impl<'a> AFSEL2_W<'a> {
92312            ///Writes raw bits to the field
92313            #[inline(always)]
92314            pub unsafe fn bits(self, value: u8) -> &'a mut W {
92315                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
92316                self.w
92317            }
92318        }
92319        ///Reader of field `AFSEL1`
92320        pub type AFSEL1_R = crate::R<u8, u8>;
92321        ///Write proxy for field `AFSEL1`
92322        pub struct AFSEL1_W<'a> {
92323            w: &'a mut W,
92324        }
92325        impl<'a> AFSEL1_W<'a> {
92326            ///Writes raw bits to the field
92327            #[inline(always)]
92328            pub unsafe fn bits(self, value: u8) -> &'a mut W {
92329                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
92330                self.w
92331            }
92332        }
92333        ///Reader of field `AFSEL0`
92334        pub type AFSEL0_R = crate::R<u8, u8>;
92335        ///Write proxy for field `AFSEL0`
92336        pub struct AFSEL0_W<'a> {
92337            w: &'a mut W,
92338        }
92339        impl<'a> AFSEL0_W<'a> {
92340            ///Writes raw bits to the field
92341            #[inline(always)]
92342            pub unsafe fn bits(self, value: u8) -> &'a mut W {
92343                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
92344                self.w
92345            }
92346        }
92347        impl R {
92348            ///Bits 28:31 - Alternate function selection for port x bit y (y = 0..7)
92349            #[inline(always)]
92350            pub fn afsel7(&self) -> AFSEL7_R {
92351                AFSEL7_R::new(((self.bits >> 28) & 0x0f) as u8)
92352            }
92353            ///Bits 24:27 - Alternate function selection for port x bit y (y = 0..7)
92354            #[inline(always)]
92355            pub fn afsel6(&self) -> AFSEL6_R {
92356                AFSEL6_R::new(((self.bits >> 24) & 0x0f) as u8)
92357            }
92358            ///Bits 20:23 - Alternate function selection for port x bit y (y = 0..7)
92359            #[inline(always)]
92360            pub fn afsel5(&self) -> AFSEL5_R {
92361                AFSEL5_R::new(((self.bits >> 20) & 0x0f) as u8)
92362            }
92363            ///Bits 16:19 - Alternate function selection for port x bit y (y = 0..7)
92364            #[inline(always)]
92365            pub fn afsel4(&self) -> AFSEL4_R {
92366                AFSEL4_R::new(((self.bits >> 16) & 0x0f) as u8)
92367            }
92368            ///Bits 12:15 - Alternate function selection for port x bit y (y = 0..7)
92369            #[inline(always)]
92370            pub fn afsel3(&self) -> AFSEL3_R {
92371                AFSEL3_R::new(((self.bits >> 12) & 0x0f) as u8)
92372            }
92373            ///Bits 8:11 - Alternate function selection for port x bit y (y = 0..7)
92374            #[inline(always)]
92375            pub fn afsel2(&self) -> AFSEL2_R {
92376                AFSEL2_R::new(((self.bits >> 8) & 0x0f) as u8)
92377            }
92378            ///Bits 4:7 - Alternate function selection for port x bit y (y = 0..7)
92379            #[inline(always)]
92380            pub fn afsel1(&self) -> AFSEL1_R {
92381                AFSEL1_R::new(((self.bits >> 4) & 0x0f) as u8)
92382            }
92383            ///Bits 0:3 - Alternate function selection for port x bit y (y = 0..7)
92384            #[inline(always)]
92385            pub fn afsel0(&self) -> AFSEL0_R {
92386                AFSEL0_R::new((self.bits & 0x0f) as u8)
92387            }
92388        }
92389        impl W {
92390            ///Bits 28:31 - Alternate function selection for port x bit y (y = 0..7)
92391            #[inline(always)]
92392            pub fn afsel7(&mut self) -> AFSEL7_W {
92393                AFSEL7_W { w: self }
92394            }
92395            ///Bits 24:27 - Alternate function selection for port x bit y (y = 0..7)
92396            #[inline(always)]
92397            pub fn afsel6(&mut self) -> AFSEL6_W {
92398                AFSEL6_W { w: self }
92399            }
92400            ///Bits 20:23 - Alternate function selection for port x bit y (y = 0..7)
92401            #[inline(always)]
92402            pub fn afsel5(&mut self) -> AFSEL5_W {
92403                AFSEL5_W { w: self }
92404            }
92405            ///Bits 16:19 - Alternate function selection for port x bit y (y = 0..7)
92406            #[inline(always)]
92407            pub fn afsel4(&mut self) -> AFSEL4_W {
92408                AFSEL4_W { w: self }
92409            }
92410            ///Bits 12:15 - Alternate function selection for port x bit y (y = 0..7)
92411            #[inline(always)]
92412            pub fn afsel3(&mut self) -> AFSEL3_W {
92413                AFSEL3_W { w: self }
92414            }
92415            ///Bits 8:11 - Alternate function selection for port x bit y (y = 0..7)
92416            #[inline(always)]
92417            pub fn afsel2(&mut self) -> AFSEL2_W {
92418                AFSEL2_W { w: self }
92419            }
92420            ///Bits 4:7 - Alternate function selection for port x bit y (y = 0..7)
92421            #[inline(always)]
92422            pub fn afsel1(&mut self) -> AFSEL1_W {
92423                AFSEL1_W { w: self }
92424            }
92425            ///Bits 0:3 - Alternate function selection for port x bit y (y = 0..7)
92426            #[inline(always)]
92427            pub fn afsel0(&mut self) -> AFSEL0_W {
92428                AFSEL0_W { w: self }
92429            }
92430        }
92431    }
92432    ///GPIO alternate function high register
92433    ///
92434    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
92435    ///
92436    ///For information about available fields see [afrh](afrh) module
92437    pub type AFRH = crate::Reg<u32, _AFRH>;
92438    #[allow(missing_docs)]
92439    #[doc(hidden)]
92440    pub struct _AFRH;
92441    ///`read()` method returns [afrh::R](afrh::R) reader structure
92442    impl crate::Readable for AFRH {}
92443    ///`write(|w| ..)` method takes [afrh::W](afrh::W) writer structure
92444    impl crate::Writable for AFRH {}
92445    ///GPIO alternate function high register
92446    pub mod afrh {
92447        ///Reader of register AFRH
92448        pub type R = crate::R<u32, super::AFRH>;
92449        ///Writer for register AFRH
92450        pub type W = crate::W<u32, super::AFRH>;
92451        ///Register AFRH `reset()`'s with value 0
92452        impl crate::ResetValue for super::AFRH {
92453            type Type = u32;
92454            #[inline(always)]
92455            fn reset_value() -> Self::Type {
92456                0
92457            }
92458        }
92459        ///Reader of field `AFSEL15`
92460        pub type AFSEL15_R = crate::R<u8, u8>;
92461        ///Write proxy for field `AFSEL15`
92462        pub struct AFSEL15_W<'a> {
92463            w: &'a mut W,
92464        }
92465        impl<'a> AFSEL15_W<'a> {
92466            ///Writes raw bits to the field
92467            #[inline(always)]
92468            pub unsafe fn bits(self, value: u8) -> &'a mut W {
92469                self.w.bits = (self.w.bits & !(0x0f << 28)) | (((value as u32) & 0x0f) << 28);
92470                self.w
92471            }
92472        }
92473        ///Reader of field `AFSEL14`
92474        pub type AFSEL14_R = crate::R<u8, u8>;
92475        ///Write proxy for field `AFSEL14`
92476        pub struct AFSEL14_W<'a> {
92477            w: &'a mut W,
92478        }
92479        impl<'a> AFSEL14_W<'a> {
92480            ///Writes raw bits to the field
92481            #[inline(always)]
92482            pub unsafe fn bits(self, value: u8) -> &'a mut W {
92483                self.w.bits = (self.w.bits & !(0x0f << 24)) | (((value as u32) & 0x0f) << 24);
92484                self.w
92485            }
92486        }
92487        ///Reader of field `AFSEL13`
92488        pub type AFSEL13_R = crate::R<u8, u8>;
92489        ///Write proxy for field `AFSEL13`
92490        pub struct AFSEL13_W<'a> {
92491            w: &'a mut W,
92492        }
92493        impl<'a> AFSEL13_W<'a> {
92494            ///Writes raw bits to the field
92495            #[inline(always)]
92496            pub unsafe fn bits(self, value: u8) -> &'a mut W {
92497                self.w.bits = (self.w.bits & !(0x0f << 20)) | (((value as u32) & 0x0f) << 20);
92498                self.w
92499            }
92500        }
92501        ///Reader of field `AFSEL12`
92502        pub type AFSEL12_R = crate::R<u8, u8>;
92503        ///Write proxy for field `AFSEL12`
92504        pub struct AFSEL12_W<'a> {
92505            w: &'a mut W,
92506        }
92507        impl<'a> AFSEL12_W<'a> {
92508            ///Writes raw bits to the field
92509            #[inline(always)]
92510            pub unsafe fn bits(self, value: u8) -> &'a mut W {
92511                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
92512                self.w
92513            }
92514        }
92515        ///Reader of field `AFSEL11`
92516        pub type AFSEL11_R = crate::R<u8, u8>;
92517        ///Write proxy for field `AFSEL11`
92518        pub struct AFSEL11_W<'a> {
92519            w: &'a mut W,
92520        }
92521        impl<'a> AFSEL11_W<'a> {
92522            ///Writes raw bits to the field
92523            #[inline(always)]
92524            pub unsafe fn bits(self, value: u8) -> &'a mut W {
92525                self.w.bits = (self.w.bits & !(0x0f << 12)) | (((value as u32) & 0x0f) << 12);
92526                self.w
92527            }
92528        }
92529        ///Reader of field `AFSEL10`
92530        pub type AFSEL10_R = crate::R<u8, u8>;
92531        ///Write proxy for field `AFSEL10`
92532        pub struct AFSEL10_W<'a> {
92533            w: &'a mut W,
92534        }
92535        impl<'a> AFSEL10_W<'a> {
92536            ///Writes raw bits to the field
92537            #[inline(always)]
92538            pub unsafe fn bits(self, value: u8) -> &'a mut W {
92539                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
92540                self.w
92541            }
92542        }
92543        ///Reader of field `AFSEL9`
92544        pub type AFSEL9_R = crate::R<u8, u8>;
92545        ///Write proxy for field `AFSEL9`
92546        pub struct AFSEL9_W<'a> {
92547            w: &'a mut W,
92548        }
92549        impl<'a> AFSEL9_W<'a> {
92550            ///Writes raw bits to the field
92551            #[inline(always)]
92552            pub unsafe fn bits(self, value: u8) -> &'a mut W {
92553                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
92554                self.w
92555            }
92556        }
92557        ///Reader of field `AFSEL8`
92558        pub type AFSEL8_R = crate::R<u8, u8>;
92559        ///Write proxy for field `AFSEL8`
92560        pub struct AFSEL8_W<'a> {
92561            w: &'a mut W,
92562        }
92563        impl<'a> AFSEL8_W<'a> {
92564            ///Writes raw bits to the field
92565            #[inline(always)]
92566            pub unsafe fn bits(self, value: u8) -> &'a mut W {
92567                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
92568                self.w
92569            }
92570        }
92571        impl R {
92572            ///Bits 28:31 - Alternate function selection for port x bit y (y = 8..15)
92573            #[inline(always)]
92574            pub fn afsel15(&self) -> AFSEL15_R {
92575                AFSEL15_R::new(((self.bits >> 28) & 0x0f) as u8)
92576            }
92577            ///Bits 24:27 - Alternate function selection for port x bit y (y = 8..15)
92578            #[inline(always)]
92579            pub fn afsel14(&self) -> AFSEL14_R {
92580                AFSEL14_R::new(((self.bits >> 24) & 0x0f) as u8)
92581            }
92582            ///Bits 20:23 - Alternate function selection for port x bit y (y = 8..15)
92583            #[inline(always)]
92584            pub fn afsel13(&self) -> AFSEL13_R {
92585                AFSEL13_R::new(((self.bits >> 20) & 0x0f) as u8)
92586            }
92587            ///Bits 16:19 - Alternate function selection for port x bit y (y = 8..15)
92588            #[inline(always)]
92589            pub fn afsel12(&self) -> AFSEL12_R {
92590                AFSEL12_R::new(((self.bits >> 16) & 0x0f) as u8)
92591            }
92592            ///Bits 12:15 - Alternate function selection for port x bit y (y = 8..15)
92593            #[inline(always)]
92594            pub fn afsel11(&self) -> AFSEL11_R {
92595                AFSEL11_R::new(((self.bits >> 12) & 0x0f) as u8)
92596            }
92597            ///Bits 8:11 - Alternate function selection for port x bit y (y = 8..15)
92598            #[inline(always)]
92599            pub fn afsel10(&self) -> AFSEL10_R {
92600                AFSEL10_R::new(((self.bits >> 8) & 0x0f) as u8)
92601            }
92602            ///Bits 4:7 - Alternate function selection for port x bit y (y = 8..15)
92603            #[inline(always)]
92604            pub fn afsel9(&self) -> AFSEL9_R {
92605                AFSEL9_R::new(((self.bits >> 4) & 0x0f) as u8)
92606            }
92607            ///Bits 0:3 - Alternate function selection for port x bit y (y = 8..15)
92608            #[inline(always)]
92609            pub fn afsel8(&self) -> AFSEL8_R {
92610                AFSEL8_R::new((self.bits & 0x0f) as u8)
92611            }
92612        }
92613        impl W {
92614            ///Bits 28:31 - Alternate function selection for port x bit y (y = 8..15)
92615            #[inline(always)]
92616            pub fn afsel15(&mut self) -> AFSEL15_W {
92617                AFSEL15_W { w: self }
92618            }
92619            ///Bits 24:27 - Alternate function selection for port x bit y (y = 8..15)
92620            #[inline(always)]
92621            pub fn afsel14(&mut self) -> AFSEL14_W {
92622                AFSEL14_W { w: self }
92623            }
92624            ///Bits 20:23 - Alternate function selection for port x bit y (y = 8..15)
92625            #[inline(always)]
92626            pub fn afsel13(&mut self) -> AFSEL13_W {
92627                AFSEL13_W { w: self }
92628            }
92629            ///Bits 16:19 - Alternate function selection for port x bit y (y = 8..15)
92630            #[inline(always)]
92631            pub fn afsel12(&mut self) -> AFSEL12_W {
92632                AFSEL12_W { w: self }
92633            }
92634            ///Bits 12:15 - Alternate function selection for port x bit y (y = 8..15)
92635            #[inline(always)]
92636            pub fn afsel11(&mut self) -> AFSEL11_W {
92637                AFSEL11_W { w: self }
92638            }
92639            ///Bits 8:11 - Alternate function selection for port x bit y (y = 8..15)
92640            #[inline(always)]
92641            pub fn afsel10(&mut self) -> AFSEL10_W {
92642                AFSEL10_W { w: self }
92643            }
92644            ///Bits 4:7 - Alternate function selection for port x bit y (y = 8..15)
92645            #[inline(always)]
92646            pub fn afsel9(&mut self) -> AFSEL9_W {
92647                AFSEL9_W { w: self }
92648            }
92649            ///Bits 0:3 - Alternate function selection for port x bit y (y = 8..15)
92650            #[inline(always)]
92651            pub fn afsel8(&mut self) -> AFSEL8_W {
92652                AFSEL8_W { w: self }
92653            }
92654        }
92655    }
92656    ///port bit reset register
92657    ///
92658    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
92659    ///
92660    ///For information about available fields see [brr](brr) module
92661    pub type BRR = crate::Reg<u32, _BRR>;
92662    #[allow(missing_docs)]
92663    #[doc(hidden)]
92664    pub struct _BRR;
92665    ///`write(|w| ..)` method takes [brr::W](brr::W) writer structure
92666    impl crate::Writable for BRR {}
92667    ///port bit reset register
92668    pub mod brr {
92669        ///Writer for register BRR
92670        pub type W = crate::W<u32, super::BRR>;
92671        ///Register BRR `reset()`'s with value 0
92672        impl crate::ResetValue for super::BRR {
92673            type Type = u32;
92674            #[inline(always)]
92675            fn reset_value() -> Self::Type {
92676                0
92677            }
92678        }
92679        ///Write proxy for field `BR0`
92680        pub struct BR0_W<'a> {
92681            w: &'a mut W,
92682        }
92683        impl<'a> BR0_W<'a> {
92684            ///Sets the field bit
92685            #[inline(always)]
92686            pub fn set_bit(self) -> &'a mut W {
92687                self.bit(true)
92688            }
92689            ///Clears the field bit
92690            #[inline(always)]
92691            pub fn clear_bit(self) -> &'a mut W {
92692                self.bit(false)
92693            }
92694            ///Writes raw bits to the field
92695            #[inline(always)]
92696            pub fn bit(self, value: bool) -> &'a mut W {
92697                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
92698                self.w
92699            }
92700        }
92701        ///Write proxy for field `BR1`
92702        pub struct BR1_W<'a> {
92703            w: &'a mut W,
92704        }
92705        impl<'a> BR1_W<'a> {
92706            ///Sets the field bit
92707            #[inline(always)]
92708            pub fn set_bit(self) -> &'a mut W {
92709                self.bit(true)
92710            }
92711            ///Clears the field bit
92712            #[inline(always)]
92713            pub fn clear_bit(self) -> &'a mut W {
92714                self.bit(false)
92715            }
92716            ///Writes raw bits to the field
92717            #[inline(always)]
92718            pub fn bit(self, value: bool) -> &'a mut W {
92719                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
92720                self.w
92721            }
92722        }
92723        ///Write proxy for field `BR2`
92724        pub struct BR2_W<'a> {
92725            w: &'a mut W,
92726        }
92727        impl<'a> BR2_W<'a> {
92728            ///Sets the field bit
92729            #[inline(always)]
92730            pub fn set_bit(self) -> &'a mut W {
92731                self.bit(true)
92732            }
92733            ///Clears the field bit
92734            #[inline(always)]
92735            pub fn clear_bit(self) -> &'a mut W {
92736                self.bit(false)
92737            }
92738            ///Writes raw bits to the field
92739            #[inline(always)]
92740            pub fn bit(self, value: bool) -> &'a mut W {
92741                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
92742                self.w
92743            }
92744        }
92745        ///Write proxy for field `BR3`
92746        pub struct BR3_W<'a> {
92747            w: &'a mut W,
92748        }
92749        impl<'a> BR3_W<'a> {
92750            ///Sets the field bit
92751            #[inline(always)]
92752            pub fn set_bit(self) -> &'a mut W {
92753                self.bit(true)
92754            }
92755            ///Clears the field bit
92756            #[inline(always)]
92757            pub fn clear_bit(self) -> &'a mut W {
92758                self.bit(false)
92759            }
92760            ///Writes raw bits to the field
92761            #[inline(always)]
92762            pub fn bit(self, value: bool) -> &'a mut W {
92763                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
92764                self.w
92765            }
92766        }
92767        ///Write proxy for field `BR4`
92768        pub struct BR4_W<'a> {
92769            w: &'a mut W,
92770        }
92771        impl<'a> BR4_W<'a> {
92772            ///Sets the field bit
92773            #[inline(always)]
92774            pub fn set_bit(self) -> &'a mut W {
92775                self.bit(true)
92776            }
92777            ///Clears the field bit
92778            #[inline(always)]
92779            pub fn clear_bit(self) -> &'a mut W {
92780                self.bit(false)
92781            }
92782            ///Writes raw bits to the field
92783            #[inline(always)]
92784            pub fn bit(self, value: bool) -> &'a mut W {
92785                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
92786                self.w
92787            }
92788        }
92789        ///Write proxy for field `BR5`
92790        pub struct BR5_W<'a> {
92791            w: &'a mut W,
92792        }
92793        impl<'a> BR5_W<'a> {
92794            ///Sets the field bit
92795            #[inline(always)]
92796            pub fn set_bit(self) -> &'a mut W {
92797                self.bit(true)
92798            }
92799            ///Clears the field bit
92800            #[inline(always)]
92801            pub fn clear_bit(self) -> &'a mut W {
92802                self.bit(false)
92803            }
92804            ///Writes raw bits to the field
92805            #[inline(always)]
92806            pub fn bit(self, value: bool) -> &'a mut W {
92807                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
92808                self.w
92809            }
92810        }
92811        ///Write proxy for field `BR6`
92812        pub struct BR6_W<'a> {
92813            w: &'a mut W,
92814        }
92815        impl<'a> BR6_W<'a> {
92816            ///Sets the field bit
92817            #[inline(always)]
92818            pub fn set_bit(self) -> &'a mut W {
92819                self.bit(true)
92820            }
92821            ///Clears the field bit
92822            #[inline(always)]
92823            pub fn clear_bit(self) -> &'a mut W {
92824                self.bit(false)
92825            }
92826            ///Writes raw bits to the field
92827            #[inline(always)]
92828            pub fn bit(self, value: bool) -> &'a mut W {
92829                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
92830                self.w
92831            }
92832        }
92833        ///Write proxy for field `BR7`
92834        pub struct BR7_W<'a> {
92835            w: &'a mut W,
92836        }
92837        impl<'a> BR7_W<'a> {
92838            ///Sets the field bit
92839            #[inline(always)]
92840            pub fn set_bit(self) -> &'a mut W {
92841                self.bit(true)
92842            }
92843            ///Clears the field bit
92844            #[inline(always)]
92845            pub fn clear_bit(self) -> &'a mut W {
92846                self.bit(false)
92847            }
92848            ///Writes raw bits to the field
92849            #[inline(always)]
92850            pub fn bit(self, value: bool) -> &'a mut W {
92851                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
92852                self.w
92853            }
92854        }
92855        ///Write proxy for field `BR8`
92856        pub struct BR8_W<'a> {
92857            w: &'a mut W,
92858        }
92859        impl<'a> BR8_W<'a> {
92860            ///Sets the field bit
92861            #[inline(always)]
92862            pub fn set_bit(self) -> &'a mut W {
92863                self.bit(true)
92864            }
92865            ///Clears the field bit
92866            #[inline(always)]
92867            pub fn clear_bit(self) -> &'a mut W {
92868                self.bit(false)
92869            }
92870            ///Writes raw bits to the field
92871            #[inline(always)]
92872            pub fn bit(self, value: bool) -> &'a mut W {
92873                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
92874                self.w
92875            }
92876        }
92877        ///Write proxy for field `BR9`
92878        pub struct BR9_W<'a> {
92879            w: &'a mut W,
92880        }
92881        impl<'a> BR9_W<'a> {
92882            ///Sets the field bit
92883            #[inline(always)]
92884            pub fn set_bit(self) -> &'a mut W {
92885                self.bit(true)
92886            }
92887            ///Clears the field bit
92888            #[inline(always)]
92889            pub fn clear_bit(self) -> &'a mut W {
92890                self.bit(false)
92891            }
92892            ///Writes raw bits to the field
92893            #[inline(always)]
92894            pub fn bit(self, value: bool) -> &'a mut W {
92895                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
92896                self.w
92897            }
92898        }
92899        ///Write proxy for field `BR10`
92900        pub struct BR10_W<'a> {
92901            w: &'a mut W,
92902        }
92903        impl<'a> BR10_W<'a> {
92904            ///Sets the field bit
92905            #[inline(always)]
92906            pub fn set_bit(self) -> &'a mut W {
92907                self.bit(true)
92908            }
92909            ///Clears the field bit
92910            #[inline(always)]
92911            pub fn clear_bit(self) -> &'a mut W {
92912                self.bit(false)
92913            }
92914            ///Writes raw bits to the field
92915            #[inline(always)]
92916            pub fn bit(self, value: bool) -> &'a mut W {
92917                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
92918                self.w
92919            }
92920        }
92921        ///Write proxy for field `BR11`
92922        pub struct BR11_W<'a> {
92923            w: &'a mut W,
92924        }
92925        impl<'a> BR11_W<'a> {
92926            ///Sets the field bit
92927            #[inline(always)]
92928            pub fn set_bit(self) -> &'a mut W {
92929                self.bit(true)
92930            }
92931            ///Clears the field bit
92932            #[inline(always)]
92933            pub fn clear_bit(self) -> &'a mut W {
92934                self.bit(false)
92935            }
92936            ///Writes raw bits to the field
92937            #[inline(always)]
92938            pub fn bit(self, value: bool) -> &'a mut W {
92939                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
92940                self.w
92941            }
92942        }
92943        ///Write proxy for field `BR12`
92944        pub struct BR12_W<'a> {
92945            w: &'a mut W,
92946        }
92947        impl<'a> BR12_W<'a> {
92948            ///Sets the field bit
92949            #[inline(always)]
92950            pub fn set_bit(self) -> &'a mut W {
92951                self.bit(true)
92952            }
92953            ///Clears the field bit
92954            #[inline(always)]
92955            pub fn clear_bit(self) -> &'a mut W {
92956                self.bit(false)
92957            }
92958            ///Writes raw bits to the field
92959            #[inline(always)]
92960            pub fn bit(self, value: bool) -> &'a mut W {
92961                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
92962                self.w
92963            }
92964        }
92965        ///Write proxy for field `BR13`
92966        pub struct BR13_W<'a> {
92967            w: &'a mut W,
92968        }
92969        impl<'a> BR13_W<'a> {
92970            ///Sets the field bit
92971            #[inline(always)]
92972            pub fn set_bit(self) -> &'a mut W {
92973                self.bit(true)
92974            }
92975            ///Clears the field bit
92976            #[inline(always)]
92977            pub fn clear_bit(self) -> &'a mut W {
92978                self.bit(false)
92979            }
92980            ///Writes raw bits to the field
92981            #[inline(always)]
92982            pub fn bit(self, value: bool) -> &'a mut W {
92983                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
92984                self.w
92985            }
92986        }
92987        ///Write proxy for field `BR14`
92988        pub struct BR14_W<'a> {
92989            w: &'a mut W,
92990        }
92991        impl<'a> BR14_W<'a> {
92992            ///Sets the field bit
92993            #[inline(always)]
92994            pub fn set_bit(self) -> &'a mut W {
92995                self.bit(true)
92996            }
92997            ///Clears the field bit
92998            #[inline(always)]
92999            pub fn clear_bit(self) -> &'a mut W {
93000                self.bit(false)
93001            }
93002            ///Writes raw bits to the field
93003            #[inline(always)]
93004            pub fn bit(self, value: bool) -> &'a mut W {
93005                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
93006                self.w
93007            }
93008        }
93009        ///Write proxy for field `BR15`
93010        pub struct BR15_W<'a> {
93011            w: &'a mut W,
93012        }
93013        impl<'a> BR15_W<'a> {
93014            ///Sets the field bit
93015            #[inline(always)]
93016            pub fn set_bit(self) -> &'a mut W {
93017                self.bit(true)
93018            }
93019            ///Clears the field bit
93020            #[inline(always)]
93021            pub fn clear_bit(self) -> &'a mut W {
93022                self.bit(false)
93023            }
93024            ///Writes raw bits to the field
93025            #[inline(always)]
93026            pub fn bit(self, value: bool) -> &'a mut W {
93027                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
93028                self.w
93029            }
93030        }
93031        impl W {
93032            ///Bit 0 - Port Reset bit
93033            #[inline(always)]
93034            pub fn br0(&mut self) -> BR0_W {
93035                BR0_W { w: self }
93036            }
93037            ///Bit 1 - Port Reset bit
93038            #[inline(always)]
93039            pub fn br1(&mut self) -> BR1_W {
93040                BR1_W { w: self }
93041            }
93042            ///Bit 2 - Port Reset bit
93043            #[inline(always)]
93044            pub fn br2(&mut self) -> BR2_W {
93045                BR2_W { w: self }
93046            }
93047            ///Bit 3 - Port Reset bit
93048            #[inline(always)]
93049            pub fn br3(&mut self) -> BR3_W {
93050                BR3_W { w: self }
93051            }
93052            ///Bit 4 - Port Reset bit
93053            #[inline(always)]
93054            pub fn br4(&mut self) -> BR4_W {
93055                BR4_W { w: self }
93056            }
93057            ///Bit 5 - Port Reset bit
93058            #[inline(always)]
93059            pub fn br5(&mut self) -> BR5_W {
93060                BR5_W { w: self }
93061            }
93062            ///Bit 6 - Port Reset bit
93063            #[inline(always)]
93064            pub fn br6(&mut self) -> BR6_W {
93065                BR6_W { w: self }
93066            }
93067            ///Bit 7 - Port Reset bit
93068            #[inline(always)]
93069            pub fn br7(&mut self) -> BR7_W {
93070                BR7_W { w: self }
93071            }
93072            ///Bit 8 - Port Reset bit
93073            #[inline(always)]
93074            pub fn br8(&mut self) -> BR8_W {
93075                BR8_W { w: self }
93076            }
93077            ///Bit 9 - Port Reset bit
93078            #[inline(always)]
93079            pub fn br9(&mut self) -> BR9_W {
93080                BR9_W { w: self }
93081            }
93082            ///Bit 10 - Port Reset bit
93083            #[inline(always)]
93084            pub fn br10(&mut self) -> BR10_W {
93085                BR10_W { w: self }
93086            }
93087            ///Bit 11 - Port Reset bit
93088            #[inline(always)]
93089            pub fn br11(&mut self) -> BR11_W {
93090                BR11_W { w: self }
93091            }
93092            ///Bit 12 - Port Reset bit
93093            #[inline(always)]
93094            pub fn br12(&mut self) -> BR12_W {
93095                BR12_W { w: self }
93096            }
93097            ///Bit 13 - Port Reset bit
93098            #[inline(always)]
93099            pub fn br13(&mut self) -> BR13_W {
93100                BR13_W { w: self }
93101            }
93102            ///Bit 14 - Port Reset bit
93103            #[inline(always)]
93104            pub fn br14(&mut self) -> BR14_W {
93105                BR14_W { w: self }
93106            }
93107            ///Bit 15 - Port Reset bit
93108            #[inline(always)]
93109            pub fn br15(&mut self) -> BR15_W {
93110                BR15_W { w: self }
93111            }
93112        }
93113    }
93114}
93115///General-purpose I/Os
93116pub struct GPIOD {
93117    _marker: PhantomData<*const ()>,
93118}
93119unsafe impl Send for GPIOD {}
93120impl GPIOD {
93121    ///Returns a pointer to the register block
93122    #[inline(always)]
93123    pub const fn ptr() -> *const gpioc::RegisterBlock {
93124        0x4800_0c00 as *const _
93125    }
93126}
93127impl Deref for GPIOD {
93128    type Target = gpioc::RegisterBlock;
93129    #[inline(always)]
93130    fn deref(&self) -> &Self::Target {
93131        unsafe { &*GPIOD::ptr() }
93132    }
93133}
93134///General-purpose I/Os
93135pub struct GPIOE {
93136    _marker: PhantomData<*const ()>,
93137}
93138unsafe impl Send for GPIOE {}
93139impl GPIOE {
93140    ///Returns a pointer to the register block
93141    #[inline(always)]
93142    pub const fn ptr() -> *const gpioe::RegisterBlock {
93143        0x4800_1000 as *const _
93144    }
93145}
93146impl Deref for GPIOE {
93147    type Target = gpioe::RegisterBlock;
93148    #[inline(always)]
93149    fn deref(&self) -> &Self::Target {
93150        unsafe { &*GPIOE::ptr() }
93151    }
93152}
93153///General-purpose I/Os
93154pub mod gpioe {
93155    ///Register block
93156    #[repr(C)]
93157    pub struct RegisterBlock {
93158        ///0x00 - GPIO port mode register
93159        pub moder: MODER,
93160        ///0x04 - GPIO port output type register
93161        pub otyper: OTYPER,
93162        ///0x08 - GPIO port output speed register
93163        pub ospeedr: OSPEEDR,
93164        ///0x0c - GPIO port pull-up/pull-down register
93165        pub pupdr: PUPDR,
93166        ///0x10 - GPIO port input data register
93167        pub idr: IDR,
93168        ///0x14 - GPIO port output data register
93169        pub odr: ODR,
93170        ///0x18 - GPIO port bit set/reset register
93171        pub bsrr: BSRR,
93172        ///0x1c - GPIO port configuration lock register
93173        pub lckr: LCKR,
93174        ///0x20 - GPIO alternate function low register
93175        pub afrl: AFRL,
93176        ///0x24 - GPIO alternate function high register
93177        pub afrh: AFRH,
93178        ///0x28 - port bit reset register
93179        pub brr: BRR,
93180    }
93181    ///GPIO port mode register
93182    ///
93183    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
93184    ///
93185    ///For information about available fields see [moder](moder) module
93186    pub type MODER = crate::Reg<u32, _MODER>;
93187    #[allow(missing_docs)]
93188    #[doc(hidden)]
93189    pub struct _MODER;
93190    ///`read()` method returns [moder::R](moder::R) reader structure
93191    impl crate::Readable for MODER {}
93192    ///`write(|w| ..)` method takes [moder::W](moder::W) writer structure
93193    impl crate::Writable for MODER {}
93194    ///GPIO port mode register
93195    pub mod moder {
93196        ///Reader of register MODER
93197        pub type R = crate::R<u32, super::MODER>;
93198        ///Writer for register MODER
93199        pub type W = crate::W<u32, super::MODER>;
93200        ///Register MODER `reset()`'s with value 0x03ff
93201        impl crate::ResetValue for super::MODER {
93202            type Type = u32;
93203            #[inline(always)]
93204            fn reset_value() -> Self::Type {
93205                0x03ff
93206            }
93207        }
93208        ///Reader of field `MODER4`
93209        pub type MODER4_R = crate::R<u8, u8>;
93210        ///Write proxy for field `MODER4`
93211        pub struct MODER4_W<'a> {
93212            w: &'a mut W,
93213        }
93214        impl<'a> MODER4_W<'a> {
93215            ///Writes raw bits to the field
93216            #[inline(always)]
93217            pub unsafe fn bits(self, value: u8) -> &'a mut W {
93218                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
93219                self.w
93220            }
93221        }
93222        ///Reader of field `MODER3`
93223        pub type MODER3_R = crate::R<u8, u8>;
93224        ///Write proxy for field `MODER3`
93225        pub struct MODER3_W<'a> {
93226            w: &'a mut W,
93227        }
93228        impl<'a> MODER3_W<'a> {
93229            ///Writes raw bits to the field
93230            #[inline(always)]
93231            pub unsafe fn bits(self, value: u8) -> &'a mut W {
93232                self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
93233                self.w
93234            }
93235        }
93236        ///Reader of field `MODER2`
93237        pub type MODER2_R = crate::R<u8, u8>;
93238        ///Write proxy for field `MODER2`
93239        pub struct MODER2_W<'a> {
93240            w: &'a mut W,
93241        }
93242        impl<'a> MODER2_W<'a> {
93243            ///Writes raw bits to the field
93244            #[inline(always)]
93245            pub unsafe fn bits(self, value: u8) -> &'a mut W {
93246                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u32) & 0x03) << 4);
93247                self.w
93248            }
93249        }
93250        ///Reader of field `MODER1`
93251        pub type MODER1_R = crate::R<u8, u8>;
93252        ///Write proxy for field `MODER1`
93253        pub struct MODER1_W<'a> {
93254            w: &'a mut W,
93255        }
93256        impl<'a> MODER1_W<'a> {
93257            ///Writes raw bits to the field
93258            #[inline(always)]
93259            pub unsafe fn bits(self, value: u8) -> &'a mut W {
93260                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
93261                self.w
93262            }
93263        }
93264        ///Reader of field `MODER0`
93265        pub type MODER0_R = crate::R<u8, u8>;
93266        ///Write proxy for field `MODER0`
93267        pub struct MODER0_W<'a> {
93268            w: &'a mut W,
93269        }
93270        impl<'a> MODER0_W<'a> {
93271            ///Writes raw bits to the field
93272            #[inline(always)]
93273            pub unsafe fn bits(self, value: u8) -> &'a mut W {
93274                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
93275                self.w
93276            }
93277        }
93278        impl R {
93279            ///Bits 8:9 - Port x configuration bits (y = 0..15)
93280            #[inline(always)]
93281            pub fn moder4(&self) -> MODER4_R {
93282                MODER4_R::new(((self.bits >> 8) & 0x03) as u8)
93283            }
93284            ///Bits 6:7 - Port x configuration bits (y = 0..15)
93285            #[inline(always)]
93286            pub fn moder3(&self) -> MODER3_R {
93287                MODER3_R::new(((self.bits >> 6) & 0x03) as u8)
93288            }
93289            ///Bits 4:5 - Port x configuration bits (y = 0..15)
93290            #[inline(always)]
93291            pub fn moder2(&self) -> MODER2_R {
93292                MODER2_R::new(((self.bits >> 4) & 0x03) as u8)
93293            }
93294            ///Bits 2:3 - Port x configuration bits (y = 0..15)
93295            #[inline(always)]
93296            pub fn moder1(&self) -> MODER1_R {
93297                MODER1_R::new(((self.bits >> 2) & 0x03) as u8)
93298            }
93299            ///Bits 0:1 - Port x configuration bits (y = 0..15)
93300            #[inline(always)]
93301            pub fn moder0(&self) -> MODER0_R {
93302                MODER0_R::new((self.bits & 0x03) as u8)
93303            }
93304        }
93305        impl W {
93306            ///Bits 8:9 - Port x configuration bits (y = 0..15)
93307            #[inline(always)]
93308            pub fn moder4(&mut self) -> MODER4_W {
93309                MODER4_W { w: self }
93310            }
93311            ///Bits 6:7 - Port x configuration bits (y = 0..15)
93312            #[inline(always)]
93313            pub fn moder3(&mut self) -> MODER3_W {
93314                MODER3_W { w: self }
93315            }
93316            ///Bits 4:5 - Port x configuration bits (y = 0..15)
93317            #[inline(always)]
93318            pub fn moder2(&mut self) -> MODER2_W {
93319                MODER2_W { w: self }
93320            }
93321            ///Bits 2:3 - Port x configuration bits (y = 0..15)
93322            #[inline(always)]
93323            pub fn moder1(&mut self) -> MODER1_W {
93324                MODER1_W { w: self }
93325            }
93326            ///Bits 0:1 - Port x configuration bits (y = 0..15)
93327            #[inline(always)]
93328            pub fn moder0(&mut self) -> MODER0_W {
93329                MODER0_W { w: self }
93330            }
93331        }
93332    }
93333    ///GPIO port output type register
93334    ///
93335    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
93336    ///
93337    ///For information about available fields see [otyper](otyper) module
93338    pub type OTYPER = crate::Reg<u32, _OTYPER>;
93339    #[allow(missing_docs)]
93340    #[doc(hidden)]
93341    pub struct _OTYPER;
93342    ///`read()` method returns [otyper::R](otyper::R) reader structure
93343    impl crate::Readable for OTYPER {}
93344    ///`write(|w| ..)` method takes [otyper::W](otyper::W) writer structure
93345    impl crate::Writable for OTYPER {}
93346    ///GPIO port output type register
93347    pub mod otyper {
93348        ///Reader of register OTYPER
93349        pub type R = crate::R<u32, super::OTYPER>;
93350        ///Writer for register OTYPER
93351        pub type W = crate::W<u32, super::OTYPER>;
93352        ///Register OTYPER `reset()`'s with value 0
93353        impl crate::ResetValue for super::OTYPER {
93354            type Type = u32;
93355            #[inline(always)]
93356            fn reset_value() -> Self::Type {
93357                0
93358            }
93359        }
93360        ///Reader of field `OT4`
93361        pub type OT4_R = crate::R<bool, bool>;
93362        ///Write proxy for field `OT4`
93363        pub struct OT4_W<'a> {
93364            w: &'a mut W,
93365        }
93366        impl<'a> OT4_W<'a> {
93367            ///Sets the field bit
93368            #[inline(always)]
93369            pub fn set_bit(self) -> &'a mut W {
93370                self.bit(true)
93371            }
93372            ///Clears the field bit
93373            #[inline(always)]
93374            pub fn clear_bit(self) -> &'a mut W {
93375                self.bit(false)
93376            }
93377            ///Writes raw bits to the field
93378            #[inline(always)]
93379            pub fn bit(self, value: bool) -> &'a mut W {
93380                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
93381                self.w
93382            }
93383        }
93384        ///Reader of field `OT3`
93385        pub type OT3_R = crate::R<bool, bool>;
93386        ///Write proxy for field `OT3`
93387        pub struct OT3_W<'a> {
93388            w: &'a mut W,
93389        }
93390        impl<'a> OT3_W<'a> {
93391            ///Sets the field bit
93392            #[inline(always)]
93393            pub fn set_bit(self) -> &'a mut W {
93394                self.bit(true)
93395            }
93396            ///Clears the field bit
93397            #[inline(always)]
93398            pub fn clear_bit(self) -> &'a mut W {
93399                self.bit(false)
93400            }
93401            ///Writes raw bits to the field
93402            #[inline(always)]
93403            pub fn bit(self, value: bool) -> &'a mut W {
93404                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
93405                self.w
93406            }
93407        }
93408        ///Reader of field `OT2`
93409        pub type OT2_R = crate::R<bool, bool>;
93410        ///Write proxy for field `OT2`
93411        pub struct OT2_W<'a> {
93412            w: &'a mut W,
93413        }
93414        impl<'a> OT2_W<'a> {
93415            ///Sets the field bit
93416            #[inline(always)]
93417            pub fn set_bit(self) -> &'a mut W {
93418                self.bit(true)
93419            }
93420            ///Clears the field bit
93421            #[inline(always)]
93422            pub fn clear_bit(self) -> &'a mut W {
93423                self.bit(false)
93424            }
93425            ///Writes raw bits to the field
93426            #[inline(always)]
93427            pub fn bit(self, value: bool) -> &'a mut W {
93428                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
93429                self.w
93430            }
93431        }
93432        ///Reader of field `OT1`
93433        pub type OT1_R = crate::R<bool, bool>;
93434        ///Write proxy for field `OT1`
93435        pub struct OT1_W<'a> {
93436            w: &'a mut W,
93437        }
93438        impl<'a> OT1_W<'a> {
93439            ///Sets the field bit
93440            #[inline(always)]
93441            pub fn set_bit(self) -> &'a mut W {
93442                self.bit(true)
93443            }
93444            ///Clears the field bit
93445            #[inline(always)]
93446            pub fn clear_bit(self) -> &'a mut W {
93447                self.bit(false)
93448            }
93449            ///Writes raw bits to the field
93450            #[inline(always)]
93451            pub fn bit(self, value: bool) -> &'a mut W {
93452                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
93453                self.w
93454            }
93455        }
93456        ///Reader of field `OT0`
93457        pub type OT0_R = crate::R<bool, bool>;
93458        ///Write proxy for field `OT0`
93459        pub struct OT0_W<'a> {
93460            w: &'a mut W,
93461        }
93462        impl<'a> OT0_W<'a> {
93463            ///Sets the field bit
93464            #[inline(always)]
93465            pub fn set_bit(self) -> &'a mut W {
93466                self.bit(true)
93467            }
93468            ///Clears the field bit
93469            #[inline(always)]
93470            pub fn clear_bit(self) -> &'a mut W {
93471                self.bit(false)
93472            }
93473            ///Writes raw bits to the field
93474            #[inline(always)]
93475            pub fn bit(self, value: bool) -> &'a mut W {
93476                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
93477                self.w
93478            }
93479        }
93480        impl R {
93481            ///Bit 4 - Port x configuration bits (y = 0..15)
93482            #[inline(always)]
93483            pub fn ot4(&self) -> OT4_R {
93484                OT4_R::new(((self.bits >> 4) & 0x01) != 0)
93485            }
93486            ///Bit 3 - Port x configuration bits (y = 0..15)
93487            #[inline(always)]
93488            pub fn ot3(&self) -> OT3_R {
93489                OT3_R::new(((self.bits >> 3) & 0x01) != 0)
93490            }
93491            ///Bit 2 - Port x configuration bits (y = 0..15)
93492            #[inline(always)]
93493            pub fn ot2(&self) -> OT2_R {
93494                OT2_R::new(((self.bits >> 2) & 0x01) != 0)
93495            }
93496            ///Bit 1 - Port x configuration bits (y = 0..15)
93497            #[inline(always)]
93498            pub fn ot1(&self) -> OT1_R {
93499                OT1_R::new(((self.bits >> 1) & 0x01) != 0)
93500            }
93501            ///Bit 0 - Port x configuration bits (y = 0..15)
93502            #[inline(always)]
93503            pub fn ot0(&self) -> OT0_R {
93504                OT0_R::new((self.bits & 0x01) != 0)
93505            }
93506        }
93507        impl W {
93508            ///Bit 4 - Port x configuration bits (y = 0..15)
93509            #[inline(always)]
93510            pub fn ot4(&mut self) -> OT4_W {
93511                OT4_W { w: self }
93512            }
93513            ///Bit 3 - Port x configuration bits (y = 0..15)
93514            #[inline(always)]
93515            pub fn ot3(&mut self) -> OT3_W {
93516                OT3_W { w: self }
93517            }
93518            ///Bit 2 - Port x configuration bits (y = 0..15)
93519            #[inline(always)]
93520            pub fn ot2(&mut self) -> OT2_W {
93521                OT2_W { w: self }
93522            }
93523            ///Bit 1 - Port x configuration bits (y = 0..15)
93524            #[inline(always)]
93525            pub fn ot1(&mut self) -> OT1_W {
93526                OT1_W { w: self }
93527            }
93528            ///Bit 0 - Port x configuration bits (y = 0..15)
93529            #[inline(always)]
93530            pub fn ot0(&mut self) -> OT0_W {
93531                OT0_W { w: self }
93532            }
93533        }
93534    }
93535    ///GPIO port output speed register
93536    ///
93537    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
93538    ///
93539    ///For information about available fields see [ospeedr](ospeedr) module
93540    pub type OSPEEDR = crate::Reg<u32, _OSPEEDR>;
93541    #[allow(missing_docs)]
93542    #[doc(hidden)]
93543    pub struct _OSPEEDR;
93544    ///`read()` method returns [ospeedr::R](ospeedr::R) reader structure
93545    impl crate::Readable for OSPEEDR {}
93546    ///`write(|w| ..)` method takes [ospeedr::W](ospeedr::W) writer structure
93547    impl crate::Writable for OSPEEDR {}
93548    ///GPIO port output speed register
93549    pub mod ospeedr {
93550        ///Reader of register OSPEEDR
93551        pub type R = crate::R<u32, super::OSPEEDR>;
93552        ///Writer for register OSPEEDR
93553        pub type W = crate::W<u32, super::OSPEEDR>;
93554        ///Register OSPEEDR `reset()`'s with value 0xc0
93555        impl crate::ResetValue for super::OSPEEDR {
93556            type Type = u32;
93557            #[inline(always)]
93558            fn reset_value() -> Self::Type {
93559                0xc0
93560            }
93561        }
93562        ///Reader of field `OSPEEDR4`
93563        pub type OSPEEDR4_R = crate::R<u8, u8>;
93564        ///Write proxy for field `OSPEEDR4`
93565        pub struct OSPEEDR4_W<'a> {
93566            w: &'a mut W,
93567        }
93568        impl<'a> OSPEEDR4_W<'a> {
93569            ///Writes raw bits to the field
93570            #[inline(always)]
93571            pub unsafe fn bits(self, value: u8) -> &'a mut W {
93572                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
93573                self.w
93574            }
93575        }
93576        ///Reader of field `OSPEEDR3`
93577        pub type OSPEEDR3_R = crate::R<u8, u8>;
93578        ///Write proxy for field `OSPEEDR3`
93579        pub struct OSPEEDR3_W<'a> {
93580            w: &'a mut W,
93581        }
93582        impl<'a> OSPEEDR3_W<'a> {
93583            ///Writes raw bits to the field
93584            #[inline(always)]
93585            pub unsafe fn bits(self, value: u8) -> &'a mut W {
93586                self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
93587                self.w
93588            }
93589        }
93590        ///Reader of field `OSPEEDR2`
93591        pub type OSPEEDR2_R = crate::R<u8, u8>;
93592        ///Write proxy for field `OSPEEDR2`
93593        pub struct OSPEEDR2_W<'a> {
93594            w: &'a mut W,
93595        }
93596        impl<'a> OSPEEDR2_W<'a> {
93597            ///Writes raw bits to the field
93598            #[inline(always)]
93599            pub unsafe fn bits(self, value: u8) -> &'a mut W {
93600                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u32) & 0x03) << 4);
93601                self.w
93602            }
93603        }
93604        ///Reader of field `OSPEEDR1`
93605        pub type OSPEEDR1_R = crate::R<u8, u8>;
93606        ///Write proxy for field `OSPEEDR1`
93607        pub struct OSPEEDR1_W<'a> {
93608            w: &'a mut W,
93609        }
93610        impl<'a> OSPEEDR1_W<'a> {
93611            ///Writes raw bits to the field
93612            #[inline(always)]
93613            pub unsafe fn bits(self, value: u8) -> &'a mut W {
93614                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
93615                self.w
93616            }
93617        }
93618        ///Reader of field `OSPEEDR0`
93619        pub type OSPEEDR0_R = crate::R<u8, u8>;
93620        ///Write proxy for field `OSPEEDR0`
93621        pub struct OSPEEDR0_W<'a> {
93622            w: &'a mut W,
93623        }
93624        impl<'a> OSPEEDR0_W<'a> {
93625            ///Writes raw bits to the field
93626            #[inline(always)]
93627            pub unsafe fn bits(self, value: u8) -> &'a mut W {
93628                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
93629                self.w
93630            }
93631        }
93632        impl R {
93633            ///Bits 8:9 - Port x configuration bits (y = 0..15)
93634            #[inline(always)]
93635            pub fn ospeedr4(&self) -> OSPEEDR4_R {
93636                OSPEEDR4_R::new(((self.bits >> 8) & 0x03) as u8)
93637            }
93638            ///Bits 6:7 - Port x configuration bits (y = 0..15)
93639            #[inline(always)]
93640            pub fn ospeedr3(&self) -> OSPEEDR3_R {
93641                OSPEEDR3_R::new(((self.bits >> 6) & 0x03) as u8)
93642            }
93643            ///Bits 4:5 - Port x configuration bits (y = 0..15)
93644            #[inline(always)]
93645            pub fn ospeedr2(&self) -> OSPEEDR2_R {
93646                OSPEEDR2_R::new(((self.bits >> 4) & 0x03) as u8)
93647            }
93648            ///Bits 2:3 - Port x configuration bits (y = 0..15)
93649            #[inline(always)]
93650            pub fn ospeedr1(&self) -> OSPEEDR1_R {
93651                OSPEEDR1_R::new(((self.bits >> 2) & 0x03) as u8)
93652            }
93653            ///Bits 0:1 - Port x configuration bits (y = 0..15)
93654            #[inline(always)]
93655            pub fn ospeedr0(&self) -> OSPEEDR0_R {
93656                OSPEEDR0_R::new((self.bits & 0x03) as u8)
93657            }
93658        }
93659        impl W {
93660            ///Bits 8:9 - Port x configuration bits (y = 0..15)
93661            #[inline(always)]
93662            pub fn ospeedr4(&mut self) -> OSPEEDR4_W {
93663                OSPEEDR4_W { w: self }
93664            }
93665            ///Bits 6:7 - Port x configuration bits (y = 0..15)
93666            #[inline(always)]
93667            pub fn ospeedr3(&mut self) -> OSPEEDR3_W {
93668                OSPEEDR3_W { w: self }
93669            }
93670            ///Bits 4:5 - Port x configuration bits (y = 0..15)
93671            #[inline(always)]
93672            pub fn ospeedr2(&mut self) -> OSPEEDR2_W {
93673                OSPEEDR2_W { w: self }
93674            }
93675            ///Bits 2:3 - Port x configuration bits (y = 0..15)
93676            #[inline(always)]
93677            pub fn ospeedr1(&mut self) -> OSPEEDR1_W {
93678                OSPEEDR1_W { w: self }
93679            }
93680            ///Bits 0:1 - Port x configuration bits (y = 0..15)
93681            #[inline(always)]
93682            pub fn ospeedr0(&mut self) -> OSPEEDR0_W {
93683                OSPEEDR0_W { w: self }
93684            }
93685        }
93686    }
93687    ///GPIO port pull-up/pull-down register
93688    ///
93689    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
93690    ///
93691    ///For information about available fields see [pupdr](pupdr) module
93692    pub type PUPDR = crate::Reg<u32, _PUPDR>;
93693    #[allow(missing_docs)]
93694    #[doc(hidden)]
93695    pub struct _PUPDR;
93696    ///`read()` method returns [pupdr::R](pupdr::R) reader structure
93697    impl crate::Readable for PUPDR {}
93698    ///`write(|w| ..)` method takes [pupdr::W](pupdr::W) writer structure
93699    impl crate::Writable for PUPDR {}
93700    ///GPIO port pull-up/pull-down register
93701    pub mod pupdr {
93702        ///Reader of register PUPDR
93703        pub type R = crate::R<u32, super::PUPDR>;
93704        ///Writer for register PUPDR
93705        pub type W = crate::W<u32, super::PUPDR>;
93706        ///Register PUPDR `reset()`'s with value 0
93707        impl crate::ResetValue for super::PUPDR {
93708            type Type = u32;
93709            #[inline(always)]
93710            fn reset_value() -> Self::Type {
93711                0
93712            }
93713        }
93714        ///Reader of field `PUPDR4`
93715        pub type PUPDR4_R = crate::R<u8, u8>;
93716        ///Write proxy for field `PUPDR4`
93717        pub struct PUPDR4_W<'a> {
93718            w: &'a mut W,
93719        }
93720        impl<'a> PUPDR4_W<'a> {
93721            ///Writes raw bits to the field
93722            #[inline(always)]
93723            pub unsafe fn bits(self, value: u8) -> &'a mut W {
93724                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
93725                self.w
93726            }
93727        }
93728        ///Reader of field `PUPDR3`
93729        pub type PUPDR3_R = crate::R<u8, u8>;
93730        ///Write proxy for field `PUPDR3`
93731        pub struct PUPDR3_W<'a> {
93732            w: &'a mut W,
93733        }
93734        impl<'a> PUPDR3_W<'a> {
93735            ///Writes raw bits to the field
93736            #[inline(always)]
93737            pub unsafe fn bits(self, value: u8) -> &'a mut W {
93738                self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
93739                self.w
93740            }
93741        }
93742        ///Reader of field `PUPDR2`
93743        pub type PUPDR2_R = crate::R<u8, u8>;
93744        ///Write proxy for field `PUPDR2`
93745        pub struct PUPDR2_W<'a> {
93746            w: &'a mut W,
93747        }
93748        impl<'a> PUPDR2_W<'a> {
93749            ///Writes raw bits to the field
93750            #[inline(always)]
93751            pub unsafe fn bits(self, value: u8) -> &'a mut W {
93752                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u32) & 0x03) << 4);
93753                self.w
93754            }
93755        }
93756        ///Reader of field `PUPDR1`
93757        pub type PUPDR1_R = crate::R<u8, u8>;
93758        ///Write proxy for field `PUPDR1`
93759        pub struct PUPDR1_W<'a> {
93760            w: &'a mut W,
93761        }
93762        impl<'a> PUPDR1_W<'a> {
93763            ///Writes raw bits to the field
93764            #[inline(always)]
93765            pub unsafe fn bits(self, value: u8) -> &'a mut W {
93766                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
93767                self.w
93768            }
93769        }
93770        ///Reader of field `PUPDR0`
93771        pub type PUPDR0_R = crate::R<u8, u8>;
93772        ///Write proxy for field `PUPDR0`
93773        pub struct PUPDR0_W<'a> {
93774            w: &'a mut W,
93775        }
93776        impl<'a> PUPDR0_W<'a> {
93777            ///Writes raw bits to the field
93778            #[inline(always)]
93779            pub unsafe fn bits(self, value: u8) -> &'a mut W {
93780                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
93781                self.w
93782            }
93783        }
93784        impl R {
93785            ///Bits 8:9 - Port x configuration bits (y = 0..15)
93786            #[inline(always)]
93787            pub fn pupdr4(&self) -> PUPDR4_R {
93788                PUPDR4_R::new(((self.bits >> 8) & 0x03) as u8)
93789            }
93790            ///Bits 6:7 - Port x configuration bits (y = 0..15)
93791            #[inline(always)]
93792            pub fn pupdr3(&self) -> PUPDR3_R {
93793                PUPDR3_R::new(((self.bits >> 6) & 0x03) as u8)
93794            }
93795            ///Bits 4:5 - Port x configuration bits (y = 0..15)
93796            #[inline(always)]
93797            pub fn pupdr2(&self) -> PUPDR2_R {
93798                PUPDR2_R::new(((self.bits >> 4) & 0x03) as u8)
93799            }
93800            ///Bits 2:3 - Port x configuration bits (y = 0..15)
93801            #[inline(always)]
93802            pub fn pupdr1(&self) -> PUPDR1_R {
93803                PUPDR1_R::new(((self.bits >> 2) & 0x03) as u8)
93804            }
93805            ///Bits 0:1 - Port x configuration bits (y = 0..15)
93806            #[inline(always)]
93807            pub fn pupdr0(&self) -> PUPDR0_R {
93808                PUPDR0_R::new((self.bits & 0x03) as u8)
93809            }
93810        }
93811        impl W {
93812            ///Bits 8:9 - Port x configuration bits (y = 0..15)
93813            #[inline(always)]
93814            pub fn pupdr4(&mut self) -> PUPDR4_W {
93815                PUPDR4_W { w: self }
93816            }
93817            ///Bits 6:7 - Port x configuration bits (y = 0..15)
93818            #[inline(always)]
93819            pub fn pupdr3(&mut self) -> PUPDR3_W {
93820                PUPDR3_W { w: self }
93821            }
93822            ///Bits 4:5 - Port x configuration bits (y = 0..15)
93823            #[inline(always)]
93824            pub fn pupdr2(&mut self) -> PUPDR2_W {
93825                PUPDR2_W { w: self }
93826            }
93827            ///Bits 2:3 - Port x configuration bits (y = 0..15)
93828            #[inline(always)]
93829            pub fn pupdr1(&mut self) -> PUPDR1_W {
93830                PUPDR1_W { w: self }
93831            }
93832            ///Bits 0:1 - Port x configuration bits (y = 0..15)
93833            #[inline(always)]
93834            pub fn pupdr0(&mut self) -> PUPDR0_W {
93835                PUPDR0_W { w: self }
93836            }
93837        }
93838    }
93839    ///GPIO port input data register
93840    ///
93841    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
93842    ///
93843    ///For information about available fields see [idr](idr) module
93844    pub type IDR = crate::Reg<u32, _IDR>;
93845    #[allow(missing_docs)]
93846    #[doc(hidden)]
93847    pub struct _IDR;
93848    ///`read()` method returns [idr::R](idr::R) reader structure
93849    impl crate::Readable for IDR {}
93850    ///GPIO port input data register
93851    pub mod idr {
93852        ///Reader of register IDR
93853        pub type R = crate::R<u32, super::IDR>;
93854        ///Reader of field `IDR4`
93855        pub type IDR4_R = crate::R<bool, bool>;
93856        ///Reader of field `IDR3`
93857        pub type IDR3_R = crate::R<bool, bool>;
93858        ///Reader of field `IDR2`
93859        pub type IDR2_R = crate::R<bool, bool>;
93860        ///Reader of field `IDR1`
93861        pub type IDR1_R = crate::R<bool, bool>;
93862        ///Reader of field `IDR0`
93863        pub type IDR0_R = crate::R<bool, bool>;
93864        impl R {
93865            ///Bit 4 - Port input data (y = 0..15)
93866            #[inline(always)]
93867            pub fn idr4(&self) -> IDR4_R {
93868                IDR4_R::new(((self.bits >> 4) & 0x01) != 0)
93869            }
93870            ///Bit 3 - Port input data (y = 0..15)
93871            #[inline(always)]
93872            pub fn idr3(&self) -> IDR3_R {
93873                IDR3_R::new(((self.bits >> 3) & 0x01) != 0)
93874            }
93875            ///Bit 2 - Port input data (y = 0..15)
93876            #[inline(always)]
93877            pub fn idr2(&self) -> IDR2_R {
93878                IDR2_R::new(((self.bits >> 2) & 0x01) != 0)
93879            }
93880            ///Bit 1 - Port input data (y = 0..15)
93881            #[inline(always)]
93882            pub fn idr1(&self) -> IDR1_R {
93883                IDR1_R::new(((self.bits >> 1) & 0x01) != 0)
93884            }
93885            ///Bit 0 - Port input data (y = 0..15)
93886            #[inline(always)]
93887            pub fn idr0(&self) -> IDR0_R {
93888                IDR0_R::new((self.bits & 0x01) != 0)
93889            }
93890        }
93891    }
93892    ///GPIO port output data register
93893    ///
93894    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
93895    ///
93896    ///For information about available fields see [odr](odr) module
93897    pub type ODR = crate::Reg<u32, _ODR>;
93898    #[allow(missing_docs)]
93899    #[doc(hidden)]
93900    pub struct _ODR;
93901    ///`read()` method returns [odr::R](odr::R) reader structure
93902    impl crate::Readable for ODR {}
93903    ///`write(|w| ..)` method takes [odr::W](odr::W) writer structure
93904    impl crate::Writable for ODR {}
93905    ///GPIO port output data register
93906    pub mod odr {
93907        ///Reader of register ODR
93908        pub type R = crate::R<u32, super::ODR>;
93909        ///Writer for register ODR
93910        pub type W = crate::W<u32, super::ODR>;
93911        ///Register ODR `reset()`'s with value 0
93912        impl crate::ResetValue for super::ODR {
93913            type Type = u32;
93914            #[inline(always)]
93915            fn reset_value() -> Self::Type {
93916                0
93917            }
93918        }
93919        ///Reader of field `ODR4`
93920        pub type ODR4_R = crate::R<bool, bool>;
93921        ///Write proxy for field `ODR4`
93922        pub struct ODR4_W<'a> {
93923            w: &'a mut W,
93924        }
93925        impl<'a> ODR4_W<'a> {
93926            ///Sets the field bit
93927            #[inline(always)]
93928            pub fn set_bit(self) -> &'a mut W {
93929                self.bit(true)
93930            }
93931            ///Clears the field bit
93932            #[inline(always)]
93933            pub fn clear_bit(self) -> &'a mut W {
93934                self.bit(false)
93935            }
93936            ///Writes raw bits to the field
93937            #[inline(always)]
93938            pub fn bit(self, value: bool) -> &'a mut W {
93939                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
93940                self.w
93941            }
93942        }
93943        ///Reader of field `ODR3`
93944        pub type ODR3_R = crate::R<bool, bool>;
93945        ///Write proxy for field `ODR3`
93946        pub struct ODR3_W<'a> {
93947            w: &'a mut W,
93948        }
93949        impl<'a> ODR3_W<'a> {
93950            ///Sets the field bit
93951            #[inline(always)]
93952            pub fn set_bit(self) -> &'a mut W {
93953                self.bit(true)
93954            }
93955            ///Clears the field bit
93956            #[inline(always)]
93957            pub fn clear_bit(self) -> &'a mut W {
93958                self.bit(false)
93959            }
93960            ///Writes raw bits to the field
93961            #[inline(always)]
93962            pub fn bit(self, value: bool) -> &'a mut W {
93963                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
93964                self.w
93965            }
93966        }
93967        ///Reader of field `ODR2`
93968        pub type ODR2_R = crate::R<bool, bool>;
93969        ///Write proxy for field `ODR2`
93970        pub struct ODR2_W<'a> {
93971            w: &'a mut W,
93972        }
93973        impl<'a> ODR2_W<'a> {
93974            ///Sets the field bit
93975            #[inline(always)]
93976            pub fn set_bit(self) -> &'a mut W {
93977                self.bit(true)
93978            }
93979            ///Clears the field bit
93980            #[inline(always)]
93981            pub fn clear_bit(self) -> &'a mut W {
93982                self.bit(false)
93983            }
93984            ///Writes raw bits to the field
93985            #[inline(always)]
93986            pub fn bit(self, value: bool) -> &'a mut W {
93987                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
93988                self.w
93989            }
93990        }
93991        ///Reader of field `ODR1`
93992        pub type ODR1_R = crate::R<bool, bool>;
93993        ///Write proxy for field `ODR1`
93994        pub struct ODR1_W<'a> {
93995            w: &'a mut W,
93996        }
93997        impl<'a> ODR1_W<'a> {
93998            ///Sets the field bit
93999            #[inline(always)]
94000            pub fn set_bit(self) -> &'a mut W {
94001                self.bit(true)
94002            }
94003            ///Clears the field bit
94004            #[inline(always)]
94005            pub fn clear_bit(self) -> &'a mut W {
94006                self.bit(false)
94007            }
94008            ///Writes raw bits to the field
94009            #[inline(always)]
94010            pub fn bit(self, value: bool) -> &'a mut W {
94011                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
94012                self.w
94013            }
94014        }
94015        ///Reader of field `ODR0`
94016        pub type ODR0_R = crate::R<bool, bool>;
94017        ///Write proxy for field `ODR0`
94018        pub struct ODR0_W<'a> {
94019            w: &'a mut W,
94020        }
94021        impl<'a> ODR0_W<'a> {
94022            ///Sets the field bit
94023            #[inline(always)]
94024            pub fn set_bit(self) -> &'a mut W {
94025                self.bit(true)
94026            }
94027            ///Clears the field bit
94028            #[inline(always)]
94029            pub fn clear_bit(self) -> &'a mut W {
94030                self.bit(false)
94031            }
94032            ///Writes raw bits to the field
94033            #[inline(always)]
94034            pub fn bit(self, value: bool) -> &'a mut W {
94035                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
94036                self.w
94037            }
94038        }
94039        impl R {
94040            ///Bit 4 - Port output data (y = 0..15)
94041            #[inline(always)]
94042            pub fn odr4(&self) -> ODR4_R {
94043                ODR4_R::new(((self.bits >> 4) & 0x01) != 0)
94044            }
94045            ///Bit 3 - Port output data (y = 0..15)
94046            #[inline(always)]
94047            pub fn odr3(&self) -> ODR3_R {
94048                ODR3_R::new(((self.bits >> 3) & 0x01) != 0)
94049            }
94050            ///Bit 2 - Port output data (y = 0..15)
94051            #[inline(always)]
94052            pub fn odr2(&self) -> ODR2_R {
94053                ODR2_R::new(((self.bits >> 2) & 0x01) != 0)
94054            }
94055            ///Bit 1 - Port output data (y = 0..15)
94056            #[inline(always)]
94057            pub fn odr1(&self) -> ODR1_R {
94058                ODR1_R::new(((self.bits >> 1) & 0x01) != 0)
94059            }
94060            ///Bit 0 - Port output data (y = 0..15)
94061            #[inline(always)]
94062            pub fn odr0(&self) -> ODR0_R {
94063                ODR0_R::new((self.bits & 0x01) != 0)
94064            }
94065        }
94066        impl W {
94067            ///Bit 4 - Port output data (y = 0..15)
94068            #[inline(always)]
94069            pub fn odr4(&mut self) -> ODR4_W {
94070                ODR4_W { w: self }
94071            }
94072            ///Bit 3 - Port output data (y = 0..15)
94073            #[inline(always)]
94074            pub fn odr3(&mut self) -> ODR3_W {
94075                ODR3_W { w: self }
94076            }
94077            ///Bit 2 - Port output data (y = 0..15)
94078            #[inline(always)]
94079            pub fn odr2(&mut self) -> ODR2_W {
94080                ODR2_W { w: self }
94081            }
94082            ///Bit 1 - Port output data (y = 0..15)
94083            #[inline(always)]
94084            pub fn odr1(&mut self) -> ODR1_W {
94085                ODR1_W { w: self }
94086            }
94087            ///Bit 0 - Port output data (y = 0..15)
94088            #[inline(always)]
94089            pub fn odr0(&mut self) -> ODR0_W {
94090                ODR0_W { w: self }
94091            }
94092        }
94093    }
94094    ///GPIO port bit set/reset register
94095    ///
94096    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
94097    ///
94098    ///For information about available fields see [bsrr](bsrr) module
94099    pub type BSRR = crate::Reg<u32, _BSRR>;
94100    #[allow(missing_docs)]
94101    #[doc(hidden)]
94102    pub struct _BSRR;
94103    ///`write(|w| ..)` method takes [bsrr::W](bsrr::W) writer structure
94104    impl crate::Writable for BSRR {}
94105    ///GPIO port bit set/reset register
94106    pub mod bsrr {
94107        ///Writer for register BSRR
94108        pub type W = crate::W<u32, super::BSRR>;
94109        ///Register BSRR `reset()`'s with value 0
94110        impl crate::ResetValue for super::BSRR {
94111            type Type = u32;
94112            #[inline(always)]
94113            fn reset_value() -> Self::Type {
94114                0
94115            }
94116        }
94117        ///Write proxy for field `BR4`
94118        pub struct BR4_W<'a> {
94119            w: &'a mut W,
94120        }
94121        impl<'a> BR4_W<'a> {
94122            ///Sets the field bit
94123            #[inline(always)]
94124            pub fn set_bit(self) -> &'a mut W {
94125                self.bit(true)
94126            }
94127            ///Clears the field bit
94128            #[inline(always)]
94129            pub fn clear_bit(self) -> &'a mut W {
94130                self.bit(false)
94131            }
94132            ///Writes raw bits to the field
94133            #[inline(always)]
94134            pub fn bit(self, value: bool) -> &'a mut W {
94135                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
94136                self.w
94137            }
94138        }
94139        ///Write proxy for field `BR3`
94140        pub struct BR3_W<'a> {
94141            w: &'a mut W,
94142        }
94143        impl<'a> BR3_W<'a> {
94144            ///Sets the field bit
94145            #[inline(always)]
94146            pub fn set_bit(self) -> &'a mut W {
94147                self.bit(true)
94148            }
94149            ///Clears the field bit
94150            #[inline(always)]
94151            pub fn clear_bit(self) -> &'a mut W {
94152                self.bit(false)
94153            }
94154            ///Writes raw bits to the field
94155            #[inline(always)]
94156            pub fn bit(self, value: bool) -> &'a mut W {
94157                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
94158                self.w
94159            }
94160        }
94161        ///Write proxy for field `BR2`
94162        pub struct BR2_W<'a> {
94163            w: &'a mut W,
94164        }
94165        impl<'a> BR2_W<'a> {
94166            ///Sets the field bit
94167            #[inline(always)]
94168            pub fn set_bit(self) -> &'a mut W {
94169                self.bit(true)
94170            }
94171            ///Clears the field bit
94172            #[inline(always)]
94173            pub fn clear_bit(self) -> &'a mut W {
94174                self.bit(false)
94175            }
94176            ///Writes raw bits to the field
94177            #[inline(always)]
94178            pub fn bit(self, value: bool) -> &'a mut W {
94179                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
94180                self.w
94181            }
94182        }
94183        ///Write proxy for field `BR1`
94184        pub struct BR1_W<'a> {
94185            w: &'a mut W,
94186        }
94187        impl<'a> BR1_W<'a> {
94188            ///Sets the field bit
94189            #[inline(always)]
94190            pub fn set_bit(self) -> &'a mut W {
94191                self.bit(true)
94192            }
94193            ///Clears the field bit
94194            #[inline(always)]
94195            pub fn clear_bit(self) -> &'a mut W {
94196                self.bit(false)
94197            }
94198            ///Writes raw bits to the field
94199            #[inline(always)]
94200            pub fn bit(self, value: bool) -> &'a mut W {
94201                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
94202                self.w
94203            }
94204        }
94205        ///Write proxy for field `BR0`
94206        pub struct BR0_W<'a> {
94207            w: &'a mut W,
94208        }
94209        impl<'a> BR0_W<'a> {
94210            ///Sets the field bit
94211            #[inline(always)]
94212            pub fn set_bit(self) -> &'a mut W {
94213                self.bit(true)
94214            }
94215            ///Clears the field bit
94216            #[inline(always)]
94217            pub fn clear_bit(self) -> &'a mut W {
94218                self.bit(false)
94219            }
94220            ///Writes raw bits to the field
94221            #[inline(always)]
94222            pub fn bit(self, value: bool) -> &'a mut W {
94223                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
94224                self.w
94225            }
94226        }
94227        ///Write proxy for field `BS4`
94228        pub struct BS4_W<'a> {
94229            w: &'a mut W,
94230        }
94231        impl<'a> BS4_W<'a> {
94232            ///Sets the field bit
94233            #[inline(always)]
94234            pub fn set_bit(self) -> &'a mut W {
94235                self.bit(true)
94236            }
94237            ///Clears the field bit
94238            #[inline(always)]
94239            pub fn clear_bit(self) -> &'a mut W {
94240                self.bit(false)
94241            }
94242            ///Writes raw bits to the field
94243            #[inline(always)]
94244            pub fn bit(self, value: bool) -> &'a mut W {
94245                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
94246                self.w
94247            }
94248        }
94249        ///Write proxy for field `BS3`
94250        pub struct BS3_W<'a> {
94251            w: &'a mut W,
94252        }
94253        impl<'a> BS3_W<'a> {
94254            ///Sets the field bit
94255            #[inline(always)]
94256            pub fn set_bit(self) -> &'a mut W {
94257                self.bit(true)
94258            }
94259            ///Clears the field bit
94260            #[inline(always)]
94261            pub fn clear_bit(self) -> &'a mut W {
94262                self.bit(false)
94263            }
94264            ///Writes raw bits to the field
94265            #[inline(always)]
94266            pub fn bit(self, value: bool) -> &'a mut W {
94267                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
94268                self.w
94269            }
94270        }
94271        ///Write proxy for field `BS2`
94272        pub struct BS2_W<'a> {
94273            w: &'a mut W,
94274        }
94275        impl<'a> BS2_W<'a> {
94276            ///Sets the field bit
94277            #[inline(always)]
94278            pub fn set_bit(self) -> &'a mut W {
94279                self.bit(true)
94280            }
94281            ///Clears the field bit
94282            #[inline(always)]
94283            pub fn clear_bit(self) -> &'a mut W {
94284                self.bit(false)
94285            }
94286            ///Writes raw bits to the field
94287            #[inline(always)]
94288            pub fn bit(self, value: bool) -> &'a mut W {
94289                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
94290                self.w
94291            }
94292        }
94293        ///Write proxy for field `BS1`
94294        pub struct BS1_W<'a> {
94295            w: &'a mut W,
94296        }
94297        impl<'a> BS1_W<'a> {
94298            ///Sets the field bit
94299            #[inline(always)]
94300            pub fn set_bit(self) -> &'a mut W {
94301                self.bit(true)
94302            }
94303            ///Clears the field bit
94304            #[inline(always)]
94305            pub fn clear_bit(self) -> &'a mut W {
94306                self.bit(false)
94307            }
94308            ///Writes raw bits to the field
94309            #[inline(always)]
94310            pub fn bit(self, value: bool) -> &'a mut W {
94311                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
94312                self.w
94313            }
94314        }
94315        ///Write proxy for field `BS0`
94316        pub struct BS0_W<'a> {
94317            w: &'a mut W,
94318        }
94319        impl<'a> BS0_W<'a> {
94320            ///Sets the field bit
94321            #[inline(always)]
94322            pub fn set_bit(self) -> &'a mut W {
94323                self.bit(true)
94324            }
94325            ///Clears the field bit
94326            #[inline(always)]
94327            pub fn clear_bit(self) -> &'a mut W {
94328                self.bit(false)
94329            }
94330            ///Writes raw bits to the field
94331            #[inline(always)]
94332            pub fn bit(self, value: bool) -> &'a mut W {
94333                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
94334                self.w
94335            }
94336        }
94337        impl W {
94338            ///Bit 20 - Port x reset bit y (y = 0..15)
94339            #[inline(always)]
94340            pub fn br4(&mut self) -> BR4_W {
94341                BR4_W { w: self }
94342            }
94343            ///Bit 19 - Port x reset bit y (y = 0..15)
94344            #[inline(always)]
94345            pub fn br3(&mut self) -> BR3_W {
94346                BR3_W { w: self }
94347            }
94348            ///Bit 18 - Port x reset bit y (y = 0..15)
94349            #[inline(always)]
94350            pub fn br2(&mut self) -> BR2_W {
94351                BR2_W { w: self }
94352            }
94353            ///Bit 17 - Port x reset bit y (y = 0..15)
94354            #[inline(always)]
94355            pub fn br1(&mut self) -> BR1_W {
94356                BR1_W { w: self }
94357            }
94358            ///Bit 16 - Port x set bit y (y= 0..15)
94359            #[inline(always)]
94360            pub fn br0(&mut self) -> BR0_W {
94361                BR0_W { w: self }
94362            }
94363            ///Bit 4 - Port x set bit y (y= 0..15)
94364            #[inline(always)]
94365            pub fn bs4(&mut self) -> BS4_W {
94366                BS4_W { w: self }
94367            }
94368            ///Bit 3 - Port x set bit y (y= 0..15)
94369            #[inline(always)]
94370            pub fn bs3(&mut self) -> BS3_W {
94371                BS3_W { w: self }
94372            }
94373            ///Bit 2 - Port x set bit y (y= 0..15)
94374            #[inline(always)]
94375            pub fn bs2(&mut self) -> BS2_W {
94376                BS2_W { w: self }
94377            }
94378            ///Bit 1 - Port x set bit y (y= 0..15)
94379            #[inline(always)]
94380            pub fn bs1(&mut self) -> BS1_W {
94381                BS1_W { w: self }
94382            }
94383            ///Bit 0 - Port x set bit y (y= 0..15)
94384            #[inline(always)]
94385            pub fn bs0(&mut self) -> BS0_W {
94386                BS0_W { w: self }
94387            }
94388        }
94389    }
94390    ///GPIO port configuration lock register
94391    ///
94392    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
94393    ///
94394    ///For information about available fields see [lckr](lckr) module
94395    pub type LCKR = crate::Reg<u32, _LCKR>;
94396    #[allow(missing_docs)]
94397    #[doc(hidden)]
94398    pub struct _LCKR;
94399    ///`read()` method returns [lckr::R](lckr::R) reader structure
94400    impl crate::Readable for LCKR {}
94401    ///`write(|w| ..)` method takes [lckr::W](lckr::W) writer structure
94402    impl crate::Writable for LCKR {}
94403    ///GPIO port configuration lock register
94404    pub mod lckr {
94405        ///Reader of register LCKR
94406        pub type R = crate::R<u32, super::LCKR>;
94407        ///Writer for register LCKR
94408        pub type W = crate::W<u32, super::LCKR>;
94409        ///Register LCKR `reset()`'s with value 0
94410        impl crate::ResetValue for super::LCKR {
94411            type Type = u32;
94412            #[inline(always)]
94413            fn reset_value() -> Self::Type {
94414                0
94415            }
94416        }
94417        ///Reader of field `LCKK`
94418        pub type LCKK_R = crate::R<bool, bool>;
94419        ///Write proxy for field `LCKK`
94420        pub struct LCKK_W<'a> {
94421            w: &'a mut W,
94422        }
94423        impl<'a> LCKK_W<'a> {
94424            ///Sets the field bit
94425            #[inline(always)]
94426            pub fn set_bit(self) -> &'a mut W {
94427                self.bit(true)
94428            }
94429            ///Clears the field bit
94430            #[inline(always)]
94431            pub fn clear_bit(self) -> &'a mut W {
94432                self.bit(false)
94433            }
94434            ///Writes raw bits to the field
94435            #[inline(always)]
94436            pub fn bit(self, value: bool) -> &'a mut W {
94437                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
94438                self.w
94439            }
94440        }
94441        ///Reader of field `LCK4`
94442        pub type LCK4_R = crate::R<bool, bool>;
94443        ///Write proxy for field `LCK4`
94444        pub struct LCK4_W<'a> {
94445            w: &'a mut W,
94446        }
94447        impl<'a> LCK4_W<'a> {
94448            ///Sets the field bit
94449            #[inline(always)]
94450            pub fn set_bit(self) -> &'a mut W {
94451                self.bit(true)
94452            }
94453            ///Clears the field bit
94454            #[inline(always)]
94455            pub fn clear_bit(self) -> &'a mut W {
94456                self.bit(false)
94457            }
94458            ///Writes raw bits to the field
94459            #[inline(always)]
94460            pub fn bit(self, value: bool) -> &'a mut W {
94461                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
94462                self.w
94463            }
94464        }
94465        ///Reader of field `LCK3`
94466        pub type LCK3_R = crate::R<bool, bool>;
94467        ///Write proxy for field `LCK3`
94468        pub struct LCK3_W<'a> {
94469            w: &'a mut W,
94470        }
94471        impl<'a> LCK3_W<'a> {
94472            ///Sets the field bit
94473            #[inline(always)]
94474            pub fn set_bit(self) -> &'a mut W {
94475                self.bit(true)
94476            }
94477            ///Clears the field bit
94478            #[inline(always)]
94479            pub fn clear_bit(self) -> &'a mut W {
94480                self.bit(false)
94481            }
94482            ///Writes raw bits to the field
94483            #[inline(always)]
94484            pub fn bit(self, value: bool) -> &'a mut W {
94485                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
94486                self.w
94487            }
94488        }
94489        ///Reader of field `LCK2`
94490        pub type LCK2_R = crate::R<bool, bool>;
94491        ///Write proxy for field `LCK2`
94492        pub struct LCK2_W<'a> {
94493            w: &'a mut W,
94494        }
94495        impl<'a> LCK2_W<'a> {
94496            ///Sets the field bit
94497            #[inline(always)]
94498            pub fn set_bit(self) -> &'a mut W {
94499                self.bit(true)
94500            }
94501            ///Clears the field bit
94502            #[inline(always)]
94503            pub fn clear_bit(self) -> &'a mut W {
94504                self.bit(false)
94505            }
94506            ///Writes raw bits to the field
94507            #[inline(always)]
94508            pub fn bit(self, value: bool) -> &'a mut W {
94509                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
94510                self.w
94511            }
94512        }
94513        ///Reader of field `LCK1`
94514        pub type LCK1_R = crate::R<bool, bool>;
94515        ///Write proxy for field `LCK1`
94516        pub struct LCK1_W<'a> {
94517            w: &'a mut W,
94518        }
94519        impl<'a> LCK1_W<'a> {
94520            ///Sets the field bit
94521            #[inline(always)]
94522            pub fn set_bit(self) -> &'a mut W {
94523                self.bit(true)
94524            }
94525            ///Clears the field bit
94526            #[inline(always)]
94527            pub fn clear_bit(self) -> &'a mut W {
94528                self.bit(false)
94529            }
94530            ///Writes raw bits to the field
94531            #[inline(always)]
94532            pub fn bit(self, value: bool) -> &'a mut W {
94533                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
94534                self.w
94535            }
94536        }
94537        ///Reader of field `LCK0`
94538        pub type LCK0_R = crate::R<bool, bool>;
94539        ///Write proxy for field `LCK0`
94540        pub struct LCK0_W<'a> {
94541            w: &'a mut W,
94542        }
94543        impl<'a> LCK0_W<'a> {
94544            ///Sets the field bit
94545            #[inline(always)]
94546            pub fn set_bit(self) -> &'a mut W {
94547                self.bit(true)
94548            }
94549            ///Clears the field bit
94550            #[inline(always)]
94551            pub fn clear_bit(self) -> &'a mut W {
94552                self.bit(false)
94553            }
94554            ///Writes raw bits to the field
94555            #[inline(always)]
94556            pub fn bit(self, value: bool) -> &'a mut W {
94557                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
94558                self.w
94559            }
94560        }
94561        impl R {
94562            ///Bit 16 - Port x lock bit y (y= 0..15)
94563            #[inline(always)]
94564            pub fn lckk(&self) -> LCKK_R {
94565                LCKK_R::new(((self.bits >> 16) & 0x01) != 0)
94566            }
94567            ///Bit 4 - Port x lock bit y (y= 0..15)
94568            #[inline(always)]
94569            pub fn lck4(&self) -> LCK4_R {
94570                LCK4_R::new(((self.bits >> 4) & 0x01) != 0)
94571            }
94572            ///Bit 3 - Port x lock bit y (y= 0..15)
94573            #[inline(always)]
94574            pub fn lck3(&self) -> LCK3_R {
94575                LCK3_R::new(((self.bits >> 3) & 0x01) != 0)
94576            }
94577            ///Bit 2 - Port x lock bit y (y= 0..15)
94578            #[inline(always)]
94579            pub fn lck2(&self) -> LCK2_R {
94580                LCK2_R::new(((self.bits >> 2) & 0x01) != 0)
94581            }
94582            ///Bit 1 - Port x lock bit y (y= 0..15)
94583            #[inline(always)]
94584            pub fn lck1(&self) -> LCK1_R {
94585                LCK1_R::new(((self.bits >> 1) & 0x01) != 0)
94586            }
94587            ///Bit 0 - Port x lock bit y (y= 0..15)
94588            #[inline(always)]
94589            pub fn lck0(&self) -> LCK0_R {
94590                LCK0_R::new((self.bits & 0x01) != 0)
94591            }
94592        }
94593        impl W {
94594            ///Bit 16 - Port x lock bit y (y= 0..15)
94595            #[inline(always)]
94596            pub fn lckk(&mut self) -> LCKK_W {
94597                LCKK_W { w: self }
94598            }
94599            ///Bit 4 - Port x lock bit y (y= 0..15)
94600            #[inline(always)]
94601            pub fn lck4(&mut self) -> LCK4_W {
94602                LCK4_W { w: self }
94603            }
94604            ///Bit 3 - Port x lock bit y (y= 0..15)
94605            #[inline(always)]
94606            pub fn lck3(&mut self) -> LCK3_W {
94607                LCK3_W { w: self }
94608            }
94609            ///Bit 2 - Port x lock bit y (y= 0..15)
94610            #[inline(always)]
94611            pub fn lck2(&mut self) -> LCK2_W {
94612                LCK2_W { w: self }
94613            }
94614            ///Bit 1 - Port x lock bit y (y= 0..15)
94615            #[inline(always)]
94616            pub fn lck1(&mut self) -> LCK1_W {
94617                LCK1_W { w: self }
94618            }
94619            ///Bit 0 - Port x lock bit y (y= 0..15)
94620            #[inline(always)]
94621            pub fn lck0(&mut self) -> LCK0_W {
94622                LCK0_W { w: self }
94623            }
94624        }
94625    }
94626    ///GPIO alternate function low register
94627    ///
94628    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
94629    ///
94630    ///For information about available fields see [afrl](afrl) module
94631    pub type AFRL = crate::Reg<u32, _AFRL>;
94632    #[allow(missing_docs)]
94633    #[doc(hidden)]
94634    pub struct _AFRL;
94635    ///`read()` method returns [afrl::R](afrl::R) reader structure
94636    impl crate::Readable for AFRL {}
94637    ///`write(|w| ..)` method takes [afrl::W](afrl::W) writer structure
94638    impl crate::Writable for AFRL {}
94639    ///GPIO alternate function low register
94640    pub mod afrl {
94641        ///Reader of register AFRL
94642        pub type R = crate::R<u32, super::AFRL>;
94643        ///Writer for register AFRL
94644        pub type W = crate::W<u32, super::AFRL>;
94645        ///Register AFRL `reset()`'s with value 0
94646        impl crate::ResetValue for super::AFRL {
94647            type Type = u32;
94648            #[inline(always)]
94649            fn reset_value() -> Self::Type {
94650                0
94651            }
94652        }
94653        ///Reader of field `AFSEL4`
94654        pub type AFSEL4_R = crate::R<u8, u8>;
94655        ///Write proxy for field `AFSEL4`
94656        pub struct AFSEL4_W<'a> {
94657            w: &'a mut W,
94658        }
94659        impl<'a> AFSEL4_W<'a> {
94660            ///Writes raw bits to the field
94661            #[inline(always)]
94662            pub unsafe fn bits(self, value: u8) -> &'a mut W {
94663                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
94664                self.w
94665            }
94666        }
94667        ///Reader of field `AFSEL3`
94668        pub type AFSEL3_R = crate::R<u8, u8>;
94669        ///Write proxy for field `AFSEL3`
94670        pub struct AFSEL3_W<'a> {
94671            w: &'a mut W,
94672        }
94673        impl<'a> AFSEL3_W<'a> {
94674            ///Writes raw bits to the field
94675            #[inline(always)]
94676            pub unsafe fn bits(self, value: u8) -> &'a mut W {
94677                self.w.bits = (self.w.bits & !(0x0f << 12)) | (((value as u32) & 0x0f) << 12);
94678                self.w
94679            }
94680        }
94681        ///Reader of field `AFSEL2`
94682        pub type AFSEL2_R = crate::R<u8, u8>;
94683        ///Write proxy for field `AFSEL2`
94684        pub struct AFSEL2_W<'a> {
94685            w: &'a mut W,
94686        }
94687        impl<'a> AFSEL2_W<'a> {
94688            ///Writes raw bits to the field
94689            #[inline(always)]
94690            pub unsafe fn bits(self, value: u8) -> &'a mut W {
94691                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
94692                self.w
94693            }
94694        }
94695        ///Reader of field `AFSEL1`
94696        pub type AFSEL1_R = crate::R<u8, u8>;
94697        ///Write proxy for field `AFSEL1`
94698        pub struct AFSEL1_W<'a> {
94699            w: &'a mut W,
94700        }
94701        impl<'a> AFSEL1_W<'a> {
94702            ///Writes raw bits to the field
94703            #[inline(always)]
94704            pub unsafe fn bits(self, value: u8) -> &'a mut W {
94705                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
94706                self.w
94707            }
94708        }
94709        ///Reader of field `AFSEL0`
94710        pub type AFSEL0_R = crate::R<u8, u8>;
94711        ///Write proxy for field `AFSEL0`
94712        pub struct AFSEL0_W<'a> {
94713            w: &'a mut W,
94714        }
94715        impl<'a> AFSEL0_W<'a> {
94716            ///Writes raw bits to the field
94717            #[inline(always)]
94718            pub unsafe fn bits(self, value: u8) -> &'a mut W {
94719                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
94720                self.w
94721            }
94722        }
94723        impl R {
94724            ///Bits 16:19 - Alternate function selection for port x bit y (y = 0..7)
94725            #[inline(always)]
94726            pub fn afsel4(&self) -> AFSEL4_R {
94727                AFSEL4_R::new(((self.bits >> 16) & 0x0f) as u8)
94728            }
94729            ///Bits 12:15 - Alternate function selection for port x bit y (y = 0..7)
94730            #[inline(always)]
94731            pub fn afsel3(&self) -> AFSEL3_R {
94732                AFSEL3_R::new(((self.bits >> 12) & 0x0f) as u8)
94733            }
94734            ///Bits 8:11 - Alternate function selection for port x bit y (y = 0..7)
94735            #[inline(always)]
94736            pub fn afsel2(&self) -> AFSEL2_R {
94737                AFSEL2_R::new(((self.bits >> 8) & 0x0f) as u8)
94738            }
94739            ///Bits 4:7 - Alternate function selection for port x bit y (y = 0..7)
94740            #[inline(always)]
94741            pub fn afsel1(&self) -> AFSEL1_R {
94742                AFSEL1_R::new(((self.bits >> 4) & 0x0f) as u8)
94743            }
94744            ///Bits 0:3 - Alternate function selection for port x bit y (y = 0..7)
94745            #[inline(always)]
94746            pub fn afsel0(&self) -> AFSEL0_R {
94747                AFSEL0_R::new((self.bits & 0x0f) as u8)
94748            }
94749        }
94750        impl W {
94751            ///Bits 16:19 - Alternate function selection for port x bit y (y = 0..7)
94752            #[inline(always)]
94753            pub fn afsel4(&mut self) -> AFSEL4_W {
94754                AFSEL4_W { w: self }
94755            }
94756            ///Bits 12:15 - Alternate function selection for port x bit y (y = 0..7)
94757            #[inline(always)]
94758            pub fn afsel3(&mut self) -> AFSEL3_W {
94759                AFSEL3_W { w: self }
94760            }
94761            ///Bits 8:11 - Alternate function selection for port x bit y (y = 0..7)
94762            #[inline(always)]
94763            pub fn afsel2(&mut self) -> AFSEL2_W {
94764                AFSEL2_W { w: self }
94765            }
94766            ///Bits 4:7 - Alternate function selection for port x bit y (y = 0..7)
94767            #[inline(always)]
94768            pub fn afsel1(&mut self) -> AFSEL1_W {
94769                AFSEL1_W { w: self }
94770            }
94771            ///Bits 0:3 - Alternate function selection for port x bit y (y = 0..7)
94772            #[inline(always)]
94773            pub fn afsel0(&mut self) -> AFSEL0_W {
94774                AFSEL0_W { w: self }
94775            }
94776        }
94777    }
94778    ///GPIO alternate function high register
94779    ///
94780    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
94781    ///
94782    ///For information about available fields see [afrh](afrh) module
94783    pub type AFRH = crate::Reg<u32, _AFRH>;
94784    #[allow(missing_docs)]
94785    #[doc(hidden)]
94786    pub struct _AFRH;
94787    ///`read()` method returns [afrh::R](afrh::R) reader structure
94788    impl crate::Readable for AFRH {}
94789    ///`write(|w| ..)` method takes [afrh::W](afrh::W) writer structure
94790    impl crate::Writable for AFRH {}
94791    ///GPIO alternate function high register
94792    pub mod afrh {
94793        ///Reader of register AFRH
94794        pub type R = crate::R<u32, super::AFRH>;
94795        ///Writer for register AFRH
94796        pub type W = crate::W<u32, super::AFRH>;
94797        ///Register AFRH `reset()`'s with value 0
94798        impl crate::ResetValue for super::AFRH {
94799            type Type = u32;
94800            #[inline(always)]
94801            fn reset_value() -> Self::Type {
94802                0
94803            }
94804        }
94805        ///Reader of field `AFSEL15`
94806        pub type AFSEL15_R = crate::R<u8, u8>;
94807        ///Write proxy for field `AFSEL15`
94808        pub struct AFSEL15_W<'a> {
94809            w: &'a mut W,
94810        }
94811        impl<'a> AFSEL15_W<'a> {
94812            ///Writes raw bits to the field
94813            #[inline(always)]
94814            pub unsafe fn bits(self, value: u8) -> &'a mut W {
94815                self.w.bits = (self.w.bits & !(0x0f << 28)) | (((value as u32) & 0x0f) << 28);
94816                self.w
94817            }
94818        }
94819        ///Reader of field `AFSEL14`
94820        pub type AFSEL14_R = crate::R<u8, u8>;
94821        ///Write proxy for field `AFSEL14`
94822        pub struct AFSEL14_W<'a> {
94823            w: &'a mut W,
94824        }
94825        impl<'a> AFSEL14_W<'a> {
94826            ///Writes raw bits to the field
94827            #[inline(always)]
94828            pub unsafe fn bits(self, value: u8) -> &'a mut W {
94829                self.w.bits = (self.w.bits & !(0x0f << 24)) | (((value as u32) & 0x0f) << 24);
94830                self.w
94831            }
94832        }
94833        ///Reader of field `AFSEL13`
94834        pub type AFSEL13_R = crate::R<u8, u8>;
94835        ///Write proxy for field `AFSEL13`
94836        pub struct AFSEL13_W<'a> {
94837            w: &'a mut W,
94838        }
94839        impl<'a> AFSEL13_W<'a> {
94840            ///Writes raw bits to the field
94841            #[inline(always)]
94842            pub unsafe fn bits(self, value: u8) -> &'a mut W {
94843                self.w.bits = (self.w.bits & !(0x0f << 20)) | (((value as u32) & 0x0f) << 20);
94844                self.w
94845            }
94846        }
94847        ///Reader of field `AFSEL12`
94848        pub type AFSEL12_R = crate::R<u8, u8>;
94849        ///Write proxy for field `AFSEL12`
94850        pub struct AFSEL12_W<'a> {
94851            w: &'a mut W,
94852        }
94853        impl<'a> AFSEL12_W<'a> {
94854            ///Writes raw bits to the field
94855            #[inline(always)]
94856            pub unsafe fn bits(self, value: u8) -> &'a mut W {
94857                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
94858                self.w
94859            }
94860        }
94861        ///Reader of field `AFSEL11`
94862        pub type AFSEL11_R = crate::R<u8, u8>;
94863        ///Write proxy for field `AFSEL11`
94864        pub struct AFSEL11_W<'a> {
94865            w: &'a mut W,
94866        }
94867        impl<'a> AFSEL11_W<'a> {
94868            ///Writes raw bits to the field
94869            #[inline(always)]
94870            pub unsafe fn bits(self, value: u8) -> &'a mut W {
94871                self.w.bits = (self.w.bits & !(0x0f << 12)) | (((value as u32) & 0x0f) << 12);
94872                self.w
94873            }
94874        }
94875        ///Reader of field `AFSEL10`
94876        pub type AFSEL10_R = crate::R<u8, u8>;
94877        ///Write proxy for field `AFSEL10`
94878        pub struct AFSEL10_W<'a> {
94879            w: &'a mut W,
94880        }
94881        impl<'a> AFSEL10_W<'a> {
94882            ///Writes raw bits to the field
94883            #[inline(always)]
94884            pub unsafe fn bits(self, value: u8) -> &'a mut W {
94885                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
94886                self.w
94887            }
94888        }
94889        ///Reader of field `AFSEL9`
94890        pub type AFSEL9_R = crate::R<u8, u8>;
94891        ///Write proxy for field `AFSEL9`
94892        pub struct AFSEL9_W<'a> {
94893            w: &'a mut W,
94894        }
94895        impl<'a> AFSEL9_W<'a> {
94896            ///Writes raw bits to the field
94897            #[inline(always)]
94898            pub unsafe fn bits(self, value: u8) -> &'a mut W {
94899                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
94900                self.w
94901            }
94902        }
94903        ///Reader of field `AFSEL8`
94904        pub type AFSEL8_R = crate::R<u8, u8>;
94905        ///Write proxy for field `AFSEL8`
94906        pub struct AFSEL8_W<'a> {
94907            w: &'a mut W,
94908        }
94909        impl<'a> AFSEL8_W<'a> {
94910            ///Writes raw bits to the field
94911            #[inline(always)]
94912            pub unsafe fn bits(self, value: u8) -> &'a mut W {
94913                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
94914                self.w
94915            }
94916        }
94917        impl R {
94918            ///Bits 28:31 - Alternate function selection for port x bit y (y = 8..15)
94919            #[inline(always)]
94920            pub fn afsel15(&self) -> AFSEL15_R {
94921                AFSEL15_R::new(((self.bits >> 28) & 0x0f) as u8)
94922            }
94923            ///Bits 24:27 - Alternate function selection for port x bit y (y = 8..15)
94924            #[inline(always)]
94925            pub fn afsel14(&self) -> AFSEL14_R {
94926                AFSEL14_R::new(((self.bits >> 24) & 0x0f) as u8)
94927            }
94928            ///Bits 20:23 - Alternate function selection for port x bit y (y = 8..15)
94929            #[inline(always)]
94930            pub fn afsel13(&self) -> AFSEL13_R {
94931                AFSEL13_R::new(((self.bits >> 20) & 0x0f) as u8)
94932            }
94933            ///Bits 16:19 - Alternate function selection for port x bit y (y = 8..15)
94934            #[inline(always)]
94935            pub fn afsel12(&self) -> AFSEL12_R {
94936                AFSEL12_R::new(((self.bits >> 16) & 0x0f) as u8)
94937            }
94938            ///Bits 12:15 - Alternate function selection for port x bit y (y = 8..15)
94939            #[inline(always)]
94940            pub fn afsel11(&self) -> AFSEL11_R {
94941                AFSEL11_R::new(((self.bits >> 12) & 0x0f) as u8)
94942            }
94943            ///Bits 8:11 - Alternate function selection for port x bit y (y = 8..15)
94944            #[inline(always)]
94945            pub fn afsel10(&self) -> AFSEL10_R {
94946                AFSEL10_R::new(((self.bits >> 8) & 0x0f) as u8)
94947            }
94948            ///Bits 4:7 - Alternate function selection for port x bit y (y = 8..15)
94949            #[inline(always)]
94950            pub fn afsel9(&self) -> AFSEL9_R {
94951                AFSEL9_R::new(((self.bits >> 4) & 0x0f) as u8)
94952            }
94953            ///Bits 0:3 - Alternate function selection for port x bit y (y = 8..15)
94954            #[inline(always)]
94955            pub fn afsel8(&self) -> AFSEL8_R {
94956                AFSEL8_R::new((self.bits & 0x0f) as u8)
94957            }
94958        }
94959        impl W {
94960            ///Bits 28:31 - Alternate function selection for port x bit y (y = 8..15)
94961            #[inline(always)]
94962            pub fn afsel15(&mut self) -> AFSEL15_W {
94963                AFSEL15_W { w: self }
94964            }
94965            ///Bits 24:27 - Alternate function selection for port x bit y (y = 8..15)
94966            #[inline(always)]
94967            pub fn afsel14(&mut self) -> AFSEL14_W {
94968                AFSEL14_W { w: self }
94969            }
94970            ///Bits 20:23 - Alternate function selection for port x bit y (y = 8..15)
94971            #[inline(always)]
94972            pub fn afsel13(&mut self) -> AFSEL13_W {
94973                AFSEL13_W { w: self }
94974            }
94975            ///Bits 16:19 - Alternate function selection for port x bit y (y = 8..15)
94976            #[inline(always)]
94977            pub fn afsel12(&mut self) -> AFSEL12_W {
94978                AFSEL12_W { w: self }
94979            }
94980            ///Bits 12:15 - Alternate function selection for port x bit y (y = 8..15)
94981            #[inline(always)]
94982            pub fn afsel11(&mut self) -> AFSEL11_W {
94983                AFSEL11_W { w: self }
94984            }
94985            ///Bits 8:11 - Alternate function selection for port x bit y (y = 8..15)
94986            #[inline(always)]
94987            pub fn afsel10(&mut self) -> AFSEL10_W {
94988                AFSEL10_W { w: self }
94989            }
94990            ///Bits 4:7 - Alternate function selection for port x bit y (y = 8..15)
94991            #[inline(always)]
94992            pub fn afsel9(&mut self) -> AFSEL9_W {
94993                AFSEL9_W { w: self }
94994            }
94995            ///Bits 0:3 - Alternate function selection for port x bit y (y = 8..15)
94996            #[inline(always)]
94997            pub fn afsel8(&mut self) -> AFSEL8_W {
94998                AFSEL8_W { w: self }
94999            }
95000        }
95001    }
95002    ///port bit reset register
95003    ///
95004    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
95005    ///
95006    ///For information about available fields see [brr](brr) module
95007    pub type BRR = crate::Reg<u32, _BRR>;
95008    #[allow(missing_docs)]
95009    #[doc(hidden)]
95010    pub struct _BRR;
95011    ///`write(|w| ..)` method takes [brr::W](brr::W) writer structure
95012    impl crate::Writable for BRR {}
95013    ///port bit reset register
95014    pub mod brr {
95015        ///Writer for register BRR
95016        pub type W = crate::W<u32, super::BRR>;
95017        ///Register BRR `reset()`'s with value 0
95018        impl crate::ResetValue for super::BRR {
95019            type Type = u32;
95020            #[inline(always)]
95021            fn reset_value() -> Self::Type {
95022                0
95023            }
95024        }
95025        ///Write proxy for field `BR0`
95026        pub struct BR0_W<'a> {
95027            w: &'a mut W,
95028        }
95029        impl<'a> BR0_W<'a> {
95030            ///Sets the field bit
95031            #[inline(always)]
95032            pub fn set_bit(self) -> &'a mut W {
95033                self.bit(true)
95034            }
95035            ///Clears the field bit
95036            #[inline(always)]
95037            pub fn clear_bit(self) -> &'a mut W {
95038                self.bit(false)
95039            }
95040            ///Writes raw bits to the field
95041            #[inline(always)]
95042            pub fn bit(self, value: bool) -> &'a mut W {
95043                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
95044                self.w
95045            }
95046        }
95047        ///Write proxy for field `BR1`
95048        pub struct BR1_W<'a> {
95049            w: &'a mut W,
95050        }
95051        impl<'a> BR1_W<'a> {
95052            ///Sets the field bit
95053            #[inline(always)]
95054            pub fn set_bit(self) -> &'a mut W {
95055                self.bit(true)
95056            }
95057            ///Clears the field bit
95058            #[inline(always)]
95059            pub fn clear_bit(self) -> &'a mut W {
95060                self.bit(false)
95061            }
95062            ///Writes raw bits to the field
95063            #[inline(always)]
95064            pub fn bit(self, value: bool) -> &'a mut W {
95065                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
95066                self.w
95067            }
95068        }
95069        ///Write proxy for field `BR2`
95070        pub struct BR2_W<'a> {
95071            w: &'a mut W,
95072        }
95073        impl<'a> BR2_W<'a> {
95074            ///Sets the field bit
95075            #[inline(always)]
95076            pub fn set_bit(self) -> &'a mut W {
95077                self.bit(true)
95078            }
95079            ///Clears the field bit
95080            #[inline(always)]
95081            pub fn clear_bit(self) -> &'a mut W {
95082                self.bit(false)
95083            }
95084            ///Writes raw bits to the field
95085            #[inline(always)]
95086            pub fn bit(self, value: bool) -> &'a mut W {
95087                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
95088                self.w
95089            }
95090        }
95091        ///Write proxy for field `BR3`
95092        pub struct BR3_W<'a> {
95093            w: &'a mut W,
95094        }
95095        impl<'a> BR3_W<'a> {
95096            ///Sets the field bit
95097            #[inline(always)]
95098            pub fn set_bit(self) -> &'a mut W {
95099                self.bit(true)
95100            }
95101            ///Clears the field bit
95102            #[inline(always)]
95103            pub fn clear_bit(self) -> &'a mut W {
95104                self.bit(false)
95105            }
95106            ///Writes raw bits to the field
95107            #[inline(always)]
95108            pub fn bit(self, value: bool) -> &'a mut W {
95109                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
95110                self.w
95111            }
95112        }
95113        ///Write proxy for field `BR4`
95114        pub struct BR4_W<'a> {
95115            w: &'a mut W,
95116        }
95117        impl<'a> BR4_W<'a> {
95118            ///Sets the field bit
95119            #[inline(always)]
95120            pub fn set_bit(self) -> &'a mut W {
95121                self.bit(true)
95122            }
95123            ///Clears the field bit
95124            #[inline(always)]
95125            pub fn clear_bit(self) -> &'a mut W {
95126                self.bit(false)
95127            }
95128            ///Writes raw bits to the field
95129            #[inline(always)]
95130            pub fn bit(self, value: bool) -> &'a mut W {
95131                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
95132                self.w
95133            }
95134        }
95135        impl W {
95136            ///Bit 0 - Port Reset bit
95137            #[inline(always)]
95138            pub fn br0(&mut self) -> BR0_W {
95139                BR0_W { w: self }
95140            }
95141            ///Bit 1 - Port Reset bit
95142            #[inline(always)]
95143            pub fn br1(&mut self) -> BR1_W {
95144                BR1_W { w: self }
95145            }
95146            ///Bit 2 - Port Reset bit
95147            #[inline(always)]
95148            pub fn br2(&mut self) -> BR2_W {
95149                BR2_W { w: self }
95150            }
95151            ///Bit 3 - Port Reset bit
95152            #[inline(always)]
95153            pub fn br3(&mut self) -> BR3_W {
95154                BR3_W { w: self }
95155            }
95156            ///Bit 4 - Port Reset bit
95157            #[inline(always)]
95158            pub fn br4(&mut self) -> BR4_W {
95159                BR4_W { w: self }
95160            }
95161        }
95162    }
95163}
95164///General-purpose I/Os
95165pub struct GPIOH {
95166    _marker: PhantomData<*const ()>,
95167}
95168unsafe impl Send for GPIOH {}
95169impl GPIOH {
95170    ///Returns a pointer to the register block
95171    #[inline(always)]
95172    pub const fn ptr() -> *const gpioh::RegisterBlock {
95173        0x4800_1c00 as *const _
95174    }
95175}
95176impl Deref for GPIOH {
95177    type Target = gpioh::RegisterBlock;
95178    #[inline(always)]
95179    fn deref(&self) -> &Self::Target {
95180        unsafe { &*GPIOH::ptr() }
95181    }
95182}
95183///General-purpose I/Os
95184pub mod gpioh {
95185    ///Register block
95186    #[repr(C)]
95187    pub struct RegisterBlock {
95188        ///0x00 - GPIO port mode register
95189        pub moder: MODER,
95190        ///0x04 - GPIO port output type register
95191        pub otyper: OTYPER,
95192        ///0x08 - GPIO port output speed register
95193        pub ospeedr: OSPEEDR,
95194        ///0x0c - GPIO port pull-up/pull-down register
95195        pub pupdr: PUPDR,
95196        ///0x10 - GPIO port input data register
95197        pub idr: IDR,
95198        ///0x14 - GPIO port output data register
95199        pub odr: ODR,
95200        ///0x18 - GPIO port bit set/reset register
95201        pub bsrr: BSRR,
95202        ///0x1c - GPIO port configuration lock register
95203        pub lckr: LCKR,
95204        ///0x20 - GPIO alternate function low register
95205        pub afrl: AFRL,
95206        ///0x24 - GPIO alternate function high register
95207        pub afrh: AFRH,
95208        ///0x28 - port bit reset register
95209        pub brr: BRR,
95210    }
95211    ///GPIO port mode register
95212    ///
95213    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
95214    ///
95215    ///For information about available fields see [moder](moder) module
95216    pub type MODER = crate::Reg<u32, _MODER>;
95217    #[allow(missing_docs)]
95218    #[doc(hidden)]
95219    pub struct _MODER;
95220    ///`read()` method returns [moder::R](moder::R) reader structure
95221    impl crate::Readable for MODER {}
95222    ///`write(|w| ..)` method takes [moder::W](moder::W) writer structure
95223    impl crate::Writable for MODER {}
95224    ///GPIO port mode register
95225    pub mod moder {
95226        ///Reader of register MODER
95227        pub type R = crate::R<u32, super::MODER>;
95228        ///Writer for register MODER
95229        pub type W = crate::W<u32, super::MODER>;
95230        ///Register MODER `reset()`'s with value 0xcf
95231        impl crate::ResetValue for super::MODER {
95232            type Type = u32;
95233            #[inline(always)]
95234            fn reset_value() -> Self::Type {
95235                0xcf
95236            }
95237        }
95238        ///Reader of field `MODER3`
95239        pub type MODER3_R = crate::R<u8, u8>;
95240        ///Write proxy for field `MODER3`
95241        pub struct MODER3_W<'a> {
95242            w: &'a mut W,
95243        }
95244        impl<'a> MODER3_W<'a> {
95245            ///Writes raw bits to the field
95246            #[inline(always)]
95247            pub unsafe fn bits(self, value: u8) -> &'a mut W {
95248                self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
95249                self.w
95250            }
95251        }
95252        ///Reader of field `MODER1`
95253        pub type MODER1_R = crate::R<u8, u8>;
95254        ///Write proxy for field `MODER1`
95255        pub struct MODER1_W<'a> {
95256            w: &'a mut W,
95257        }
95258        impl<'a> MODER1_W<'a> {
95259            ///Writes raw bits to the field
95260            #[inline(always)]
95261            pub unsafe fn bits(self, value: u8) -> &'a mut W {
95262                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
95263                self.w
95264            }
95265        }
95266        ///Reader of field `MODER0`
95267        pub type MODER0_R = crate::R<u8, u8>;
95268        ///Write proxy for field `MODER0`
95269        pub struct MODER0_W<'a> {
95270            w: &'a mut W,
95271        }
95272        impl<'a> MODER0_W<'a> {
95273            ///Writes raw bits to the field
95274            #[inline(always)]
95275            pub unsafe fn bits(self, value: u8) -> &'a mut W {
95276                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
95277                self.w
95278            }
95279        }
95280        impl R {
95281            ///Bits 6:7 - Port x configuration bits (y = 0..15)
95282            #[inline(always)]
95283            pub fn moder3(&self) -> MODER3_R {
95284                MODER3_R::new(((self.bits >> 6) & 0x03) as u8)
95285            }
95286            ///Bits 2:3 - Port x configuration bits (y = 0..15)
95287            #[inline(always)]
95288            pub fn moder1(&self) -> MODER1_R {
95289                MODER1_R::new(((self.bits >> 2) & 0x03) as u8)
95290            }
95291            ///Bits 0:1 - Port x configuration bits (y = 0..15)
95292            #[inline(always)]
95293            pub fn moder0(&self) -> MODER0_R {
95294                MODER0_R::new((self.bits & 0x03) as u8)
95295            }
95296        }
95297        impl W {
95298            ///Bits 6:7 - Port x configuration bits (y = 0..15)
95299            #[inline(always)]
95300            pub fn moder3(&mut self) -> MODER3_W {
95301                MODER3_W { w: self }
95302            }
95303            ///Bits 2:3 - Port x configuration bits (y = 0..15)
95304            #[inline(always)]
95305            pub fn moder1(&mut self) -> MODER1_W {
95306                MODER1_W { w: self }
95307            }
95308            ///Bits 0:1 - Port x configuration bits (y = 0..15)
95309            #[inline(always)]
95310            pub fn moder0(&mut self) -> MODER0_W {
95311                MODER0_W { w: self }
95312            }
95313        }
95314    }
95315    ///GPIO port output type register
95316    ///
95317    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
95318    ///
95319    ///For information about available fields see [otyper](otyper) module
95320    pub type OTYPER = crate::Reg<u32, _OTYPER>;
95321    #[allow(missing_docs)]
95322    #[doc(hidden)]
95323    pub struct _OTYPER;
95324    ///`read()` method returns [otyper::R](otyper::R) reader structure
95325    impl crate::Readable for OTYPER {}
95326    ///`write(|w| ..)` method takes [otyper::W](otyper::W) writer structure
95327    impl crate::Writable for OTYPER {}
95328    ///GPIO port output type register
95329    pub mod otyper {
95330        ///Reader of register OTYPER
95331        pub type R = crate::R<u32, super::OTYPER>;
95332        ///Writer for register OTYPER
95333        pub type W = crate::W<u32, super::OTYPER>;
95334        ///Register OTYPER `reset()`'s with value 0
95335        impl crate::ResetValue for super::OTYPER {
95336            type Type = u32;
95337            #[inline(always)]
95338            fn reset_value() -> Self::Type {
95339                0
95340            }
95341        }
95342        ///Reader of field `OT3`
95343        pub type OT3_R = crate::R<bool, bool>;
95344        ///Write proxy for field `OT3`
95345        pub struct OT3_W<'a> {
95346            w: &'a mut W,
95347        }
95348        impl<'a> OT3_W<'a> {
95349            ///Sets the field bit
95350            #[inline(always)]
95351            pub fn set_bit(self) -> &'a mut W {
95352                self.bit(true)
95353            }
95354            ///Clears the field bit
95355            #[inline(always)]
95356            pub fn clear_bit(self) -> &'a mut W {
95357                self.bit(false)
95358            }
95359            ///Writes raw bits to the field
95360            #[inline(always)]
95361            pub fn bit(self, value: bool) -> &'a mut W {
95362                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
95363                self.w
95364            }
95365        }
95366        ///Reader of field `OT1`
95367        pub type OT1_R = crate::R<bool, bool>;
95368        ///Write proxy for field `OT1`
95369        pub struct OT1_W<'a> {
95370            w: &'a mut W,
95371        }
95372        impl<'a> OT1_W<'a> {
95373            ///Sets the field bit
95374            #[inline(always)]
95375            pub fn set_bit(self) -> &'a mut W {
95376                self.bit(true)
95377            }
95378            ///Clears the field bit
95379            #[inline(always)]
95380            pub fn clear_bit(self) -> &'a mut W {
95381                self.bit(false)
95382            }
95383            ///Writes raw bits to the field
95384            #[inline(always)]
95385            pub fn bit(self, value: bool) -> &'a mut W {
95386                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
95387                self.w
95388            }
95389        }
95390        ///Reader of field `OT0`
95391        pub type OT0_R = crate::R<bool, bool>;
95392        ///Write proxy for field `OT0`
95393        pub struct OT0_W<'a> {
95394            w: &'a mut W,
95395        }
95396        impl<'a> OT0_W<'a> {
95397            ///Sets the field bit
95398            #[inline(always)]
95399            pub fn set_bit(self) -> &'a mut W {
95400                self.bit(true)
95401            }
95402            ///Clears the field bit
95403            #[inline(always)]
95404            pub fn clear_bit(self) -> &'a mut W {
95405                self.bit(false)
95406            }
95407            ///Writes raw bits to the field
95408            #[inline(always)]
95409            pub fn bit(self, value: bool) -> &'a mut W {
95410                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
95411                self.w
95412            }
95413        }
95414        impl R {
95415            ///Bit 3 - Port x configuration bits (y = 0..15)
95416            #[inline(always)]
95417            pub fn ot3(&self) -> OT3_R {
95418                OT3_R::new(((self.bits >> 3) & 0x01) != 0)
95419            }
95420            ///Bit 1 - Port x configuration bits (y = 0..15)
95421            #[inline(always)]
95422            pub fn ot1(&self) -> OT1_R {
95423                OT1_R::new(((self.bits >> 1) & 0x01) != 0)
95424            }
95425            ///Bit 0 - Port x configuration bits (y = 0..15)
95426            #[inline(always)]
95427            pub fn ot0(&self) -> OT0_R {
95428                OT0_R::new((self.bits & 0x01) != 0)
95429            }
95430        }
95431        impl W {
95432            ///Bit 3 - Port x configuration bits (y = 0..15)
95433            #[inline(always)]
95434            pub fn ot3(&mut self) -> OT3_W {
95435                OT3_W { w: self }
95436            }
95437            ///Bit 1 - Port x configuration bits (y = 0..15)
95438            #[inline(always)]
95439            pub fn ot1(&mut self) -> OT1_W {
95440                OT1_W { w: self }
95441            }
95442            ///Bit 0 - Port x configuration bits (y = 0..15)
95443            #[inline(always)]
95444            pub fn ot0(&mut self) -> OT0_W {
95445                OT0_W { w: self }
95446            }
95447        }
95448    }
95449    ///GPIO port output speed register
95450    ///
95451    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
95452    ///
95453    ///For information about available fields see [ospeedr](ospeedr) module
95454    pub type OSPEEDR = crate::Reg<u32, _OSPEEDR>;
95455    #[allow(missing_docs)]
95456    #[doc(hidden)]
95457    pub struct _OSPEEDR;
95458    ///`read()` method returns [ospeedr::R](ospeedr::R) reader structure
95459    impl crate::Readable for OSPEEDR {}
95460    ///`write(|w| ..)` method takes [ospeedr::W](ospeedr::W) writer structure
95461    impl crate::Writable for OSPEEDR {}
95462    ///GPIO port output speed register
95463    pub mod ospeedr {
95464        ///Reader of register OSPEEDR
95465        pub type R = crate::R<u32, super::OSPEEDR>;
95466        ///Writer for register OSPEEDR
95467        pub type W = crate::W<u32, super::OSPEEDR>;
95468        ///Register OSPEEDR `reset()`'s with value 0
95469        impl crate::ResetValue for super::OSPEEDR {
95470            type Type = u32;
95471            #[inline(always)]
95472            fn reset_value() -> Self::Type {
95473                0
95474            }
95475        }
95476        ///Reader of field `OSPEEDR3`
95477        pub type OSPEEDR3_R = crate::R<u8, u8>;
95478        ///Write proxy for field `OSPEEDR3`
95479        pub struct OSPEEDR3_W<'a> {
95480            w: &'a mut W,
95481        }
95482        impl<'a> OSPEEDR3_W<'a> {
95483            ///Writes raw bits to the field
95484            #[inline(always)]
95485            pub unsafe fn bits(self, value: u8) -> &'a mut W {
95486                self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
95487                self.w
95488            }
95489        }
95490        ///Reader of field `OSPEEDR1`
95491        pub type OSPEEDR1_R = crate::R<u8, u8>;
95492        ///Write proxy for field `OSPEEDR1`
95493        pub struct OSPEEDR1_W<'a> {
95494            w: &'a mut W,
95495        }
95496        impl<'a> OSPEEDR1_W<'a> {
95497            ///Writes raw bits to the field
95498            #[inline(always)]
95499            pub unsafe fn bits(self, value: u8) -> &'a mut W {
95500                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
95501                self.w
95502            }
95503        }
95504        ///Reader of field `OSPEEDR0`
95505        pub type OSPEEDR0_R = crate::R<u8, u8>;
95506        ///Write proxy for field `OSPEEDR0`
95507        pub struct OSPEEDR0_W<'a> {
95508            w: &'a mut W,
95509        }
95510        impl<'a> OSPEEDR0_W<'a> {
95511            ///Writes raw bits to the field
95512            #[inline(always)]
95513            pub unsafe fn bits(self, value: u8) -> &'a mut W {
95514                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
95515                self.w
95516            }
95517        }
95518        impl R {
95519            ///Bits 6:7 - Port x configuration bits (y = 0..15)
95520            #[inline(always)]
95521            pub fn ospeedr3(&self) -> OSPEEDR3_R {
95522                OSPEEDR3_R::new(((self.bits >> 6) & 0x03) as u8)
95523            }
95524            ///Bits 2:3 - Port x configuration bits (y = 0..15)
95525            #[inline(always)]
95526            pub fn ospeedr1(&self) -> OSPEEDR1_R {
95527                OSPEEDR1_R::new(((self.bits >> 2) & 0x03) as u8)
95528            }
95529            ///Bits 0:1 - Port x configuration bits (y = 0..15)
95530            #[inline(always)]
95531            pub fn ospeedr0(&self) -> OSPEEDR0_R {
95532                OSPEEDR0_R::new((self.bits & 0x03) as u8)
95533            }
95534        }
95535        impl W {
95536            ///Bits 6:7 - Port x configuration bits (y = 0..15)
95537            #[inline(always)]
95538            pub fn ospeedr3(&mut self) -> OSPEEDR3_W {
95539                OSPEEDR3_W { w: self }
95540            }
95541            ///Bits 2:3 - Port x configuration bits (y = 0..15)
95542            #[inline(always)]
95543            pub fn ospeedr1(&mut self) -> OSPEEDR1_W {
95544                OSPEEDR1_W { w: self }
95545            }
95546            ///Bits 0:1 - Port x configuration bits (y = 0..15)
95547            #[inline(always)]
95548            pub fn ospeedr0(&mut self) -> OSPEEDR0_W {
95549                OSPEEDR0_W { w: self }
95550            }
95551        }
95552    }
95553    ///GPIO port pull-up/pull-down register
95554    ///
95555    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
95556    ///
95557    ///For information about available fields see [pupdr](pupdr) module
95558    pub type PUPDR = crate::Reg<u32, _PUPDR>;
95559    #[allow(missing_docs)]
95560    #[doc(hidden)]
95561    pub struct _PUPDR;
95562    ///`read()` method returns [pupdr::R](pupdr::R) reader structure
95563    impl crate::Readable for PUPDR {}
95564    ///`write(|w| ..)` method takes [pupdr::W](pupdr::W) writer structure
95565    impl crate::Writable for PUPDR {}
95566    ///GPIO port pull-up/pull-down register
95567    pub mod pupdr {
95568        ///Reader of register PUPDR
95569        pub type R = crate::R<u32, super::PUPDR>;
95570        ///Writer for register PUPDR
95571        pub type W = crate::W<u32, super::PUPDR>;
95572        ///Register PUPDR `reset()`'s with value 0
95573        impl crate::ResetValue for super::PUPDR {
95574            type Type = u32;
95575            #[inline(always)]
95576            fn reset_value() -> Self::Type {
95577                0
95578            }
95579        }
95580        ///Reader of field `PUPDR3`
95581        pub type PUPDR3_R = crate::R<u8, u8>;
95582        ///Write proxy for field `PUPDR3`
95583        pub struct PUPDR3_W<'a> {
95584            w: &'a mut W,
95585        }
95586        impl<'a> PUPDR3_W<'a> {
95587            ///Writes raw bits to the field
95588            #[inline(always)]
95589            pub unsafe fn bits(self, value: u8) -> &'a mut W {
95590                self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
95591                self.w
95592            }
95593        }
95594        ///Reader of field `PUPDR1`
95595        pub type PUPDR1_R = crate::R<u8, u8>;
95596        ///Write proxy for field `PUPDR1`
95597        pub struct PUPDR1_W<'a> {
95598            w: &'a mut W,
95599        }
95600        impl<'a> PUPDR1_W<'a> {
95601            ///Writes raw bits to the field
95602            #[inline(always)]
95603            pub unsafe fn bits(self, value: u8) -> &'a mut W {
95604                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
95605                self.w
95606            }
95607        }
95608        ///Reader of field `PUPDR0`
95609        pub type PUPDR0_R = crate::R<u8, u8>;
95610        ///Write proxy for field `PUPDR0`
95611        pub struct PUPDR0_W<'a> {
95612            w: &'a mut W,
95613        }
95614        impl<'a> PUPDR0_W<'a> {
95615            ///Writes raw bits to the field
95616            #[inline(always)]
95617            pub unsafe fn bits(self, value: u8) -> &'a mut W {
95618                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
95619                self.w
95620            }
95621        }
95622        impl R {
95623            ///Bits 6:7 - Port x configuration bits (y = 0..15)
95624            #[inline(always)]
95625            pub fn pupdr3(&self) -> PUPDR3_R {
95626                PUPDR3_R::new(((self.bits >> 6) & 0x03) as u8)
95627            }
95628            ///Bits 2:3 - Port x configuration bits (y = 0..15)
95629            #[inline(always)]
95630            pub fn pupdr1(&self) -> PUPDR1_R {
95631                PUPDR1_R::new(((self.bits >> 2) & 0x03) as u8)
95632            }
95633            ///Bits 0:1 - Port x configuration bits (y = 0..15)
95634            #[inline(always)]
95635            pub fn pupdr0(&self) -> PUPDR0_R {
95636                PUPDR0_R::new((self.bits & 0x03) as u8)
95637            }
95638        }
95639        impl W {
95640            ///Bits 6:7 - Port x configuration bits (y = 0..15)
95641            #[inline(always)]
95642            pub fn pupdr3(&mut self) -> PUPDR3_W {
95643                PUPDR3_W { w: self }
95644            }
95645            ///Bits 2:3 - Port x configuration bits (y = 0..15)
95646            #[inline(always)]
95647            pub fn pupdr1(&mut self) -> PUPDR1_W {
95648                PUPDR1_W { w: self }
95649            }
95650            ///Bits 0:1 - Port x configuration bits (y = 0..15)
95651            #[inline(always)]
95652            pub fn pupdr0(&mut self) -> PUPDR0_W {
95653                PUPDR0_W { w: self }
95654            }
95655        }
95656    }
95657    ///GPIO port input data register
95658    ///
95659    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
95660    ///
95661    ///For information about available fields see [idr](idr) module
95662    pub type IDR = crate::Reg<u32, _IDR>;
95663    #[allow(missing_docs)]
95664    #[doc(hidden)]
95665    pub struct _IDR;
95666    ///`read()` method returns [idr::R](idr::R) reader structure
95667    impl crate::Readable for IDR {}
95668    ///GPIO port input data register
95669    pub mod idr {
95670        ///Reader of register IDR
95671        pub type R = crate::R<u32, super::IDR>;
95672        ///Reader of field `IDR3`
95673        pub type IDR3_R = crate::R<bool, bool>;
95674        ///Reader of field `IDR1`
95675        pub type IDR1_R = crate::R<bool, bool>;
95676        ///Reader of field `IDR0`
95677        pub type IDR0_R = crate::R<bool, bool>;
95678        impl R {
95679            ///Bit 3 - Port input data (y = 0..15)
95680            #[inline(always)]
95681            pub fn idr3(&self) -> IDR3_R {
95682                IDR3_R::new(((self.bits >> 3) & 0x01) != 0)
95683            }
95684            ///Bit 1 - Port input data (y = 0..15)
95685            #[inline(always)]
95686            pub fn idr1(&self) -> IDR1_R {
95687                IDR1_R::new(((self.bits >> 1) & 0x01) != 0)
95688            }
95689            ///Bit 0 - Port input data (y = 0..15)
95690            #[inline(always)]
95691            pub fn idr0(&self) -> IDR0_R {
95692                IDR0_R::new((self.bits & 0x01) != 0)
95693            }
95694        }
95695    }
95696    ///GPIO port output data register
95697    ///
95698    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
95699    ///
95700    ///For information about available fields see [odr](odr) module
95701    pub type ODR = crate::Reg<u32, _ODR>;
95702    #[allow(missing_docs)]
95703    #[doc(hidden)]
95704    pub struct _ODR;
95705    ///`read()` method returns [odr::R](odr::R) reader structure
95706    impl crate::Readable for ODR {}
95707    ///`write(|w| ..)` method takes [odr::W](odr::W) writer structure
95708    impl crate::Writable for ODR {}
95709    ///GPIO port output data register
95710    pub mod odr {
95711        ///Reader of register ODR
95712        pub type R = crate::R<u32, super::ODR>;
95713        ///Writer for register ODR
95714        pub type W = crate::W<u32, super::ODR>;
95715        ///Register ODR `reset()`'s with value 0
95716        impl crate::ResetValue for super::ODR {
95717            type Type = u32;
95718            #[inline(always)]
95719            fn reset_value() -> Self::Type {
95720                0
95721            }
95722        }
95723        ///Reader of field `ODR3`
95724        pub type ODR3_R = crate::R<bool, bool>;
95725        ///Write proxy for field `ODR3`
95726        pub struct ODR3_W<'a> {
95727            w: &'a mut W,
95728        }
95729        impl<'a> ODR3_W<'a> {
95730            ///Sets the field bit
95731            #[inline(always)]
95732            pub fn set_bit(self) -> &'a mut W {
95733                self.bit(true)
95734            }
95735            ///Clears the field bit
95736            #[inline(always)]
95737            pub fn clear_bit(self) -> &'a mut W {
95738                self.bit(false)
95739            }
95740            ///Writes raw bits to the field
95741            #[inline(always)]
95742            pub fn bit(self, value: bool) -> &'a mut W {
95743                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
95744                self.w
95745            }
95746        }
95747        ///Reader of field `ODR1`
95748        pub type ODR1_R = crate::R<bool, bool>;
95749        ///Write proxy for field `ODR1`
95750        pub struct ODR1_W<'a> {
95751            w: &'a mut W,
95752        }
95753        impl<'a> ODR1_W<'a> {
95754            ///Sets the field bit
95755            #[inline(always)]
95756            pub fn set_bit(self) -> &'a mut W {
95757                self.bit(true)
95758            }
95759            ///Clears the field bit
95760            #[inline(always)]
95761            pub fn clear_bit(self) -> &'a mut W {
95762                self.bit(false)
95763            }
95764            ///Writes raw bits to the field
95765            #[inline(always)]
95766            pub fn bit(self, value: bool) -> &'a mut W {
95767                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
95768                self.w
95769            }
95770        }
95771        ///Reader of field `ODR0`
95772        pub type ODR0_R = crate::R<bool, bool>;
95773        ///Write proxy for field `ODR0`
95774        pub struct ODR0_W<'a> {
95775            w: &'a mut W,
95776        }
95777        impl<'a> ODR0_W<'a> {
95778            ///Sets the field bit
95779            #[inline(always)]
95780            pub fn set_bit(self) -> &'a mut W {
95781                self.bit(true)
95782            }
95783            ///Clears the field bit
95784            #[inline(always)]
95785            pub fn clear_bit(self) -> &'a mut W {
95786                self.bit(false)
95787            }
95788            ///Writes raw bits to the field
95789            #[inline(always)]
95790            pub fn bit(self, value: bool) -> &'a mut W {
95791                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
95792                self.w
95793            }
95794        }
95795        impl R {
95796            ///Bit 3 - Port output data (y = 0..15)
95797            #[inline(always)]
95798            pub fn odr3(&self) -> ODR3_R {
95799                ODR3_R::new(((self.bits >> 3) & 0x01) != 0)
95800            }
95801            ///Bit 1 - Port output data (y = 0..15)
95802            #[inline(always)]
95803            pub fn odr1(&self) -> ODR1_R {
95804                ODR1_R::new(((self.bits >> 1) & 0x01) != 0)
95805            }
95806            ///Bit 0 - Port output data (y = 0..15)
95807            #[inline(always)]
95808            pub fn odr0(&self) -> ODR0_R {
95809                ODR0_R::new((self.bits & 0x01) != 0)
95810            }
95811        }
95812        impl W {
95813            ///Bit 3 - Port output data (y = 0..15)
95814            #[inline(always)]
95815            pub fn odr3(&mut self) -> ODR3_W {
95816                ODR3_W { w: self }
95817            }
95818            ///Bit 1 - Port output data (y = 0..15)
95819            #[inline(always)]
95820            pub fn odr1(&mut self) -> ODR1_W {
95821                ODR1_W { w: self }
95822            }
95823            ///Bit 0 - Port output data (y = 0..15)
95824            #[inline(always)]
95825            pub fn odr0(&mut self) -> ODR0_W {
95826                ODR0_W { w: self }
95827            }
95828        }
95829    }
95830    ///GPIO port bit set/reset register
95831    ///
95832    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
95833    ///
95834    ///For information about available fields see [bsrr](bsrr) module
95835    pub type BSRR = crate::Reg<u32, _BSRR>;
95836    #[allow(missing_docs)]
95837    #[doc(hidden)]
95838    pub struct _BSRR;
95839    ///`write(|w| ..)` method takes [bsrr::W](bsrr::W) writer structure
95840    impl crate::Writable for BSRR {}
95841    ///GPIO port bit set/reset register
95842    pub mod bsrr {
95843        ///Writer for register BSRR
95844        pub type W = crate::W<u32, super::BSRR>;
95845        ///Register BSRR `reset()`'s with value 0
95846        impl crate::ResetValue for super::BSRR {
95847            type Type = u32;
95848            #[inline(always)]
95849            fn reset_value() -> Self::Type {
95850                0
95851            }
95852        }
95853        ///Write proxy for field `BR3`
95854        pub struct BR3_W<'a> {
95855            w: &'a mut W,
95856        }
95857        impl<'a> BR3_W<'a> {
95858            ///Sets the field bit
95859            #[inline(always)]
95860            pub fn set_bit(self) -> &'a mut W {
95861                self.bit(true)
95862            }
95863            ///Clears the field bit
95864            #[inline(always)]
95865            pub fn clear_bit(self) -> &'a mut W {
95866                self.bit(false)
95867            }
95868            ///Writes raw bits to the field
95869            #[inline(always)]
95870            pub fn bit(self, value: bool) -> &'a mut W {
95871                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
95872                self.w
95873            }
95874        }
95875        ///Write proxy for field `BR1`
95876        pub struct BR1_W<'a> {
95877            w: &'a mut W,
95878        }
95879        impl<'a> BR1_W<'a> {
95880            ///Sets the field bit
95881            #[inline(always)]
95882            pub fn set_bit(self) -> &'a mut W {
95883                self.bit(true)
95884            }
95885            ///Clears the field bit
95886            #[inline(always)]
95887            pub fn clear_bit(self) -> &'a mut W {
95888                self.bit(false)
95889            }
95890            ///Writes raw bits to the field
95891            #[inline(always)]
95892            pub fn bit(self, value: bool) -> &'a mut W {
95893                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
95894                self.w
95895            }
95896        }
95897        ///Write proxy for field `BR0`
95898        pub struct BR0_W<'a> {
95899            w: &'a mut W,
95900        }
95901        impl<'a> BR0_W<'a> {
95902            ///Sets the field bit
95903            #[inline(always)]
95904            pub fn set_bit(self) -> &'a mut W {
95905                self.bit(true)
95906            }
95907            ///Clears the field bit
95908            #[inline(always)]
95909            pub fn clear_bit(self) -> &'a mut W {
95910                self.bit(false)
95911            }
95912            ///Writes raw bits to the field
95913            #[inline(always)]
95914            pub fn bit(self, value: bool) -> &'a mut W {
95915                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
95916                self.w
95917            }
95918        }
95919        ///Write proxy for field `BS3`
95920        pub struct BS3_W<'a> {
95921            w: &'a mut W,
95922        }
95923        impl<'a> BS3_W<'a> {
95924            ///Sets the field bit
95925            #[inline(always)]
95926            pub fn set_bit(self) -> &'a mut W {
95927                self.bit(true)
95928            }
95929            ///Clears the field bit
95930            #[inline(always)]
95931            pub fn clear_bit(self) -> &'a mut W {
95932                self.bit(false)
95933            }
95934            ///Writes raw bits to the field
95935            #[inline(always)]
95936            pub fn bit(self, value: bool) -> &'a mut W {
95937                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
95938                self.w
95939            }
95940        }
95941        ///Write proxy for field `BS1`
95942        pub struct BS1_W<'a> {
95943            w: &'a mut W,
95944        }
95945        impl<'a> BS1_W<'a> {
95946            ///Sets the field bit
95947            #[inline(always)]
95948            pub fn set_bit(self) -> &'a mut W {
95949                self.bit(true)
95950            }
95951            ///Clears the field bit
95952            #[inline(always)]
95953            pub fn clear_bit(self) -> &'a mut W {
95954                self.bit(false)
95955            }
95956            ///Writes raw bits to the field
95957            #[inline(always)]
95958            pub fn bit(self, value: bool) -> &'a mut W {
95959                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
95960                self.w
95961            }
95962        }
95963        ///Write proxy for field `BS0`
95964        pub struct BS0_W<'a> {
95965            w: &'a mut W,
95966        }
95967        impl<'a> BS0_W<'a> {
95968            ///Sets the field bit
95969            #[inline(always)]
95970            pub fn set_bit(self) -> &'a mut W {
95971                self.bit(true)
95972            }
95973            ///Clears the field bit
95974            #[inline(always)]
95975            pub fn clear_bit(self) -> &'a mut W {
95976                self.bit(false)
95977            }
95978            ///Writes raw bits to the field
95979            #[inline(always)]
95980            pub fn bit(self, value: bool) -> &'a mut W {
95981                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
95982                self.w
95983            }
95984        }
95985        impl W {
95986            ///Bit 19 - Port x reset bit y (y = 0..15)
95987            #[inline(always)]
95988            pub fn br3(&mut self) -> BR3_W {
95989                BR3_W { w: self }
95990            }
95991            ///Bit 17 - Port x reset bit y (y = 0..15)
95992            #[inline(always)]
95993            pub fn br1(&mut self) -> BR1_W {
95994                BR1_W { w: self }
95995            }
95996            ///Bit 16 - Port x set bit y (y= 0..15)
95997            #[inline(always)]
95998            pub fn br0(&mut self) -> BR0_W {
95999                BR0_W { w: self }
96000            }
96001            ///Bit 3 - Port x set bit y (y= 0..15)
96002            #[inline(always)]
96003            pub fn bs3(&mut self) -> BS3_W {
96004                BS3_W { w: self }
96005            }
96006            ///Bit 1 - Port x set bit y (y= 0..15)
96007            #[inline(always)]
96008            pub fn bs1(&mut self) -> BS1_W {
96009                BS1_W { w: self }
96010            }
96011            ///Bit 0 - Port x set bit y (y= 0..15)
96012            #[inline(always)]
96013            pub fn bs0(&mut self) -> BS0_W {
96014                BS0_W { w: self }
96015            }
96016        }
96017    }
96018    ///GPIO port configuration lock register
96019    ///
96020    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
96021    ///
96022    ///For information about available fields see [lckr](lckr) module
96023    pub type LCKR = crate::Reg<u32, _LCKR>;
96024    #[allow(missing_docs)]
96025    #[doc(hidden)]
96026    pub struct _LCKR;
96027    ///`read()` method returns [lckr::R](lckr::R) reader structure
96028    impl crate::Readable for LCKR {}
96029    ///`write(|w| ..)` method takes [lckr::W](lckr::W) writer structure
96030    impl crate::Writable for LCKR {}
96031    ///GPIO port configuration lock register
96032    pub mod lckr {
96033        ///Reader of register LCKR
96034        pub type R = crate::R<u32, super::LCKR>;
96035        ///Writer for register LCKR
96036        pub type W = crate::W<u32, super::LCKR>;
96037        ///Register LCKR `reset()`'s with value 0
96038        impl crate::ResetValue for super::LCKR {
96039            type Type = u32;
96040            #[inline(always)]
96041            fn reset_value() -> Self::Type {
96042                0
96043            }
96044        }
96045        ///Reader of field `LCKK`
96046        pub type LCKK_R = crate::R<bool, bool>;
96047        ///Write proxy for field `LCKK`
96048        pub struct LCKK_W<'a> {
96049            w: &'a mut W,
96050        }
96051        impl<'a> LCKK_W<'a> {
96052            ///Sets the field bit
96053            #[inline(always)]
96054            pub fn set_bit(self) -> &'a mut W {
96055                self.bit(true)
96056            }
96057            ///Clears the field bit
96058            #[inline(always)]
96059            pub fn clear_bit(self) -> &'a mut W {
96060                self.bit(false)
96061            }
96062            ///Writes raw bits to the field
96063            #[inline(always)]
96064            pub fn bit(self, value: bool) -> &'a mut W {
96065                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
96066                self.w
96067            }
96068        }
96069        ///Reader of field `LCK3`
96070        pub type LCK3_R = crate::R<bool, bool>;
96071        ///Write proxy for field `LCK3`
96072        pub struct LCK3_W<'a> {
96073            w: &'a mut W,
96074        }
96075        impl<'a> LCK3_W<'a> {
96076            ///Sets the field bit
96077            #[inline(always)]
96078            pub fn set_bit(self) -> &'a mut W {
96079                self.bit(true)
96080            }
96081            ///Clears the field bit
96082            #[inline(always)]
96083            pub fn clear_bit(self) -> &'a mut W {
96084                self.bit(false)
96085            }
96086            ///Writes raw bits to the field
96087            #[inline(always)]
96088            pub fn bit(self, value: bool) -> &'a mut W {
96089                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
96090                self.w
96091            }
96092        }
96093        ///Reader of field `LCK1`
96094        pub type LCK1_R = crate::R<bool, bool>;
96095        ///Write proxy for field `LCK1`
96096        pub struct LCK1_W<'a> {
96097            w: &'a mut W,
96098        }
96099        impl<'a> LCK1_W<'a> {
96100            ///Sets the field bit
96101            #[inline(always)]
96102            pub fn set_bit(self) -> &'a mut W {
96103                self.bit(true)
96104            }
96105            ///Clears the field bit
96106            #[inline(always)]
96107            pub fn clear_bit(self) -> &'a mut W {
96108                self.bit(false)
96109            }
96110            ///Writes raw bits to the field
96111            #[inline(always)]
96112            pub fn bit(self, value: bool) -> &'a mut W {
96113                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
96114                self.w
96115            }
96116        }
96117        ///Reader of field `LCK0`
96118        pub type LCK0_R = crate::R<bool, bool>;
96119        ///Write proxy for field `LCK0`
96120        pub struct LCK0_W<'a> {
96121            w: &'a mut W,
96122        }
96123        impl<'a> LCK0_W<'a> {
96124            ///Sets the field bit
96125            #[inline(always)]
96126            pub fn set_bit(self) -> &'a mut W {
96127                self.bit(true)
96128            }
96129            ///Clears the field bit
96130            #[inline(always)]
96131            pub fn clear_bit(self) -> &'a mut W {
96132                self.bit(false)
96133            }
96134            ///Writes raw bits to the field
96135            #[inline(always)]
96136            pub fn bit(self, value: bool) -> &'a mut W {
96137                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
96138                self.w
96139            }
96140        }
96141        impl R {
96142            ///Bit 16 - Port x lock bit y (y= 0..15)
96143            #[inline(always)]
96144            pub fn lckk(&self) -> LCKK_R {
96145                LCKK_R::new(((self.bits >> 16) & 0x01) != 0)
96146            }
96147            ///Bit 3 - Port x lock bit y (y= 0..15)
96148            #[inline(always)]
96149            pub fn lck3(&self) -> LCK3_R {
96150                LCK3_R::new(((self.bits >> 3) & 0x01) != 0)
96151            }
96152            ///Bit 1 - Port x lock bit y (y= 0..15)
96153            #[inline(always)]
96154            pub fn lck1(&self) -> LCK1_R {
96155                LCK1_R::new(((self.bits >> 1) & 0x01) != 0)
96156            }
96157            ///Bit 0 - Port x lock bit y (y= 0..15)
96158            #[inline(always)]
96159            pub fn lck0(&self) -> LCK0_R {
96160                LCK0_R::new((self.bits & 0x01) != 0)
96161            }
96162        }
96163        impl W {
96164            ///Bit 16 - Port x lock bit y (y= 0..15)
96165            #[inline(always)]
96166            pub fn lckk(&mut self) -> LCKK_W {
96167                LCKK_W { w: self }
96168            }
96169            ///Bit 3 - Port x lock bit y (y= 0..15)
96170            #[inline(always)]
96171            pub fn lck3(&mut self) -> LCK3_W {
96172                LCK3_W { w: self }
96173            }
96174            ///Bit 1 - Port x lock bit y (y= 0..15)
96175            #[inline(always)]
96176            pub fn lck1(&mut self) -> LCK1_W {
96177                LCK1_W { w: self }
96178            }
96179            ///Bit 0 - Port x lock bit y (y= 0..15)
96180            #[inline(always)]
96181            pub fn lck0(&mut self) -> LCK0_W {
96182                LCK0_W { w: self }
96183            }
96184        }
96185    }
96186    ///GPIO alternate function low register
96187    ///
96188    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
96189    ///
96190    ///For information about available fields see [afrl](afrl) module
96191    pub type AFRL = crate::Reg<u32, _AFRL>;
96192    #[allow(missing_docs)]
96193    #[doc(hidden)]
96194    pub struct _AFRL;
96195    ///`read()` method returns [afrl::R](afrl::R) reader structure
96196    impl crate::Readable for AFRL {}
96197    ///`write(|w| ..)` method takes [afrl::W](afrl::W) writer structure
96198    impl crate::Writable for AFRL {}
96199    ///GPIO alternate function low register
96200    pub mod afrl {
96201        ///Reader of register AFRL
96202        pub type R = crate::R<u32, super::AFRL>;
96203        ///Writer for register AFRL
96204        pub type W = crate::W<u32, super::AFRL>;
96205        ///Register AFRL `reset()`'s with value 0
96206        impl crate::ResetValue for super::AFRL {
96207            type Type = u32;
96208            #[inline(always)]
96209            fn reset_value() -> Self::Type {
96210                0
96211            }
96212        }
96213        ///Reader of field `AFSEL3`
96214        pub type AFSEL3_R = crate::R<u8, u8>;
96215        ///Write proxy for field `AFSEL3`
96216        pub struct AFSEL3_W<'a> {
96217            w: &'a mut W,
96218        }
96219        impl<'a> AFSEL3_W<'a> {
96220            ///Writes raw bits to the field
96221            #[inline(always)]
96222            pub unsafe fn bits(self, value: u8) -> &'a mut W {
96223                self.w.bits = (self.w.bits & !(0x0f << 12)) | (((value as u32) & 0x0f) << 12);
96224                self.w
96225            }
96226        }
96227        ///Reader of field `AFSEL1`
96228        pub type AFSEL1_R = crate::R<u8, u8>;
96229        ///Write proxy for field `AFSEL1`
96230        pub struct AFSEL1_W<'a> {
96231            w: &'a mut W,
96232        }
96233        impl<'a> AFSEL1_W<'a> {
96234            ///Writes raw bits to the field
96235            #[inline(always)]
96236            pub unsafe fn bits(self, value: u8) -> &'a mut W {
96237                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
96238                self.w
96239            }
96240        }
96241        ///Reader of field `AFSEL0`
96242        pub type AFSEL0_R = crate::R<u8, u8>;
96243        ///Write proxy for field `AFSEL0`
96244        pub struct AFSEL0_W<'a> {
96245            w: &'a mut W,
96246        }
96247        impl<'a> AFSEL0_W<'a> {
96248            ///Writes raw bits to the field
96249            #[inline(always)]
96250            pub unsafe fn bits(self, value: u8) -> &'a mut W {
96251                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
96252                self.w
96253            }
96254        }
96255        impl R {
96256            ///Bits 12:15 - Alternate function selection for port x bit y (y = 0..7)
96257            #[inline(always)]
96258            pub fn afsel3(&self) -> AFSEL3_R {
96259                AFSEL3_R::new(((self.bits >> 12) & 0x0f) as u8)
96260            }
96261            ///Bits 4:7 - Alternate function selection for port x bit y (y = 0..7)
96262            #[inline(always)]
96263            pub fn afsel1(&self) -> AFSEL1_R {
96264                AFSEL1_R::new(((self.bits >> 4) & 0x0f) as u8)
96265            }
96266            ///Bits 0:3 - Alternate function selection for port x bit y (y = 0..7)
96267            #[inline(always)]
96268            pub fn afsel0(&self) -> AFSEL0_R {
96269                AFSEL0_R::new((self.bits & 0x0f) as u8)
96270            }
96271        }
96272        impl W {
96273            ///Bits 12:15 - Alternate function selection for port x bit y (y = 0..7)
96274            #[inline(always)]
96275            pub fn afsel3(&mut self) -> AFSEL3_W {
96276                AFSEL3_W { w: self }
96277            }
96278            ///Bits 4:7 - Alternate function selection for port x bit y (y = 0..7)
96279            #[inline(always)]
96280            pub fn afsel1(&mut self) -> AFSEL1_W {
96281                AFSEL1_W { w: self }
96282            }
96283            ///Bits 0:3 - Alternate function selection for port x bit y (y = 0..7)
96284            #[inline(always)]
96285            pub fn afsel0(&mut self) -> AFSEL0_W {
96286                AFSEL0_W { w: self }
96287            }
96288        }
96289    }
96290    ///GPIO alternate function high register
96291    ///
96292    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
96293    ///
96294    ///For information about available fields see [afrh](afrh) module
96295    pub type AFRH = crate::Reg<u32, _AFRH>;
96296    #[allow(missing_docs)]
96297    #[doc(hidden)]
96298    pub struct _AFRH;
96299    ///`read()` method returns [afrh::R](afrh::R) reader structure
96300    impl crate::Readable for AFRH {}
96301    ///`write(|w| ..)` method takes [afrh::W](afrh::W) writer structure
96302    impl crate::Writable for AFRH {}
96303    ///GPIO alternate function high register
96304    pub mod afrh {
96305        ///Reader of register AFRH
96306        pub type R = crate::R<u32, super::AFRH>;
96307        ///Writer for register AFRH
96308        pub type W = crate::W<u32, super::AFRH>;
96309        ///Register AFRH `reset()`'s with value 0
96310        impl crate::ResetValue for super::AFRH {
96311            type Type = u32;
96312            #[inline(always)]
96313            fn reset_value() -> Self::Type {
96314                0
96315            }
96316        }
96317        ///Reader of field `AFSEL15`
96318        pub type AFSEL15_R = crate::R<u8, u8>;
96319        ///Write proxy for field `AFSEL15`
96320        pub struct AFSEL15_W<'a> {
96321            w: &'a mut W,
96322        }
96323        impl<'a> AFSEL15_W<'a> {
96324            ///Writes raw bits to the field
96325            #[inline(always)]
96326            pub unsafe fn bits(self, value: u8) -> &'a mut W {
96327                self.w.bits = (self.w.bits & !(0x0f << 28)) | (((value as u32) & 0x0f) << 28);
96328                self.w
96329            }
96330        }
96331        ///Reader of field `AFSEL14`
96332        pub type AFSEL14_R = crate::R<u8, u8>;
96333        ///Write proxy for field `AFSEL14`
96334        pub struct AFSEL14_W<'a> {
96335            w: &'a mut W,
96336        }
96337        impl<'a> AFSEL14_W<'a> {
96338            ///Writes raw bits to the field
96339            #[inline(always)]
96340            pub unsafe fn bits(self, value: u8) -> &'a mut W {
96341                self.w.bits = (self.w.bits & !(0x0f << 24)) | (((value as u32) & 0x0f) << 24);
96342                self.w
96343            }
96344        }
96345        ///Reader of field `AFSEL13`
96346        pub type AFSEL13_R = crate::R<u8, u8>;
96347        ///Write proxy for field `AFSEL13`
96348        pub struct AFSEL13_W<'a> {
96349            w: &'a mut W,
96350        }
96351        impl<'a> AFSEL13_W<'a> {
96352            ///Writes raw bits to the field
96353            #[inline(always)]
96354            pub unsafe fn bits(self, value: u8) -> &'a mut W {
96355                self.w.bits = (self.w.bits & !(0x0f << 20)) | (((value as u32) & 0x0f) << 20);
96356                self.w
96357            }
96358        }
96359        ///Reader of field `AFSEL12`
96360        pub type AFSEL12_R = crate::R<u8, u8>;
96361        ///Write proxy for field `AFSEL12`
96362        pub struct AFSEL12_W<'a> {
96363            w: &'a mut W,
96364        }
96365        impl<'a> AFSEL12_W<'a> {
96366            ///Writes raw bits to the field
96367            #[inline(always)]
96368            pub unsafe fn bits(self, value: u8) -> &'a mut W {
96369                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
96370                self.w
96371            }
96372        }
96373        ///Reader of field `AFSEL11`
96374        pub type AFSEL11_R = crate::R<u8, u8>;
96375        ///Write proxy for field `AFSEL11`
96376        pub struct AFSEL11_W<'a> {
96377            w: &'a mut W,
96378        }
96379        impl<'a> AFSEL11_W<'a> {
96380            ///Writes raw bits to the field
96381            #[inline(always)]
96382            pub unsafe fn bits(self, value: u8) -> &'a mut W {
96383                self.w.bits = (self.w.bits & !(0x0f << 12)) | (((value as u32) & 0x0f) << 12);
96384                self.w
96385            }
96386        }
96387        ///Reader of field `AFSEL10`
96388        pub type AFSEL10_R = crate::R<u8, u8>;
96389        ///Write proxy for field `AFSEL10`
96390        pub struct AFSEL10_W<'a> {
96391            w: &'a mut W,
96392        }
96393        impl<'a> AFSEL10_W<'a> {
96394            ///Writes raw bits to the field
96395            #[inline(always)]
96396            pub unsafe fn bits(self, value: u8) -> &'a mut W {
96397                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
96398                self.w
96399            }
96400        }
96401        ///Reader of field `AFSEL9`
96402        pub type AFSEL9_R = crate::R<u8, u8>;
96403        ///Write proxy for field `AFSEL9`
96404        pub struct AFSEL9_W<'a> {
96405            w: &'a mut W,
96406        }
96407        impl<'a> AFSEL9_W<'a> {
96408            ///Writes raw bits to the field
96409            #[inline(always)]
96410            pub unsafe fn bits(self, value: u8) -> &'a mut W {
96411                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
96412                self.w
96413            }
96414        }
96415        ///Reader of field `AFSEL8`
96416        pub type AFSEL8_R = crate::R<u8, u8>;
96417        ///Write proxy for field `AFSEL8`
96418        pub struct AFSEL8_W<'a> {
96419            w: &'a mut W,
96420        }
96421        impl<'a> AFSEL8_W<'a> {
96422            ///Writes raw bits to the field
96423            #[inline(always)]
96424            pub unsafe fn bits(self, value: u8) -> &'a mut W {
96425                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
96426                self.w
96427            }
96428        }
96429        impl R {
96430            ///Bits 28:31 - Alternate function selection for port x bit y (y = 8..15)
96431            #[inline(always)]
96432            pub fn afsel15(&self) -> AFSEL15_R {
96433                AFSEL15_R::new(((self.bits >> 28) & 0x0f) as u8)
96434            }
96435            ///Bits 24:27 - Alternate function selection for port x bit y (y = 8..15)
96436            #[inline(always)]
96437            pub fn afsel14(&self) -> AFSEL14_R {
96438                AFSEL14_R::new(((self.bits >> 24) & 0x0f) as u8)
96439            }
96440            ///Bits 20:23 - Alternate function selection for port x bit y (y = 8..15)
96441            #[inline(always)]
96442            pub fn afsel13(&self) -> AFSEL13_R {
96443                AFSEL13_R::new(((self.bits >> 20) & 0x0f) as u8)
96444            }
96445            ///Bits 16:19 - Alternate function selection for port x bit y (y = 8..15)
96446            #[inline(always)]
96447            pub fn afsel12(&self) -> AFSEL12_R {
96448                AFSEL12_R::new(((self.bits >> 16) & 0x0f) as u8)
96449            }
96450            ///Bits 12:15 - Alternate function selection for port x bit y (y = 8..15)
96451            #[inline(always)]
96452            pub fn afsel11(&self) -> AFSEL11_R {
96453                AFSEL11_R::new(((self.bits >> 12) & 0x0f) as u8)
96454            }
96455            ///Bits 8:11 - Alternate function selection for port x bit y (y = 8..15)
96456            #[inline(always)]
96457            pub fn afsel10(&self) -> AFSEL10_R {
96458                AFSEL10_R::new(((self.bits >> 8) & 0x0f) as u8)
96459            }
96460            ///Bits 4:7 - Alternate function selection for port x bit y (y = 8..15)
96461            #[inline(always)]
96462            pub fn afsel9(&self) -> AFSEL9_R {
96463                AFSEL9_R::new(((self.bits >> 4) & 0x0f) as u8)
96464            }
96465            ///Bits 0:3 - Alternate function selection for port x bit y (y = 8..15)
96466            #[inline(always)]
96467            pub fn afsel8(&self) -> AFSEL8_R {
96468                AFSEL8_R::new((self.bits & 0x0f) as u8)
96469            }
96470        }
96471        impl W {
96472            ///Bits 28:31 - Alternate function selection for port x bit y (y = 8..15)
96473            #[inline(always)]
96474            pub fn afsel15(&mut self) -> AFSEL15_W {
96475                AFSEL15_W { w: self }
96476            }
96477            ///Bits 24:27 - Alternate function selection for port x bit y (y = 8..15)
96478            #[inline(always)]
96479            pub fn afsel14(&mut self) -> AFSEL14_W {
96480                AFSEL14_W { w: self }
96481            }
96482            ///Bits 20:23 - Alternate function selection for port x bit y (y = 8..15)
96483            #[inline(always)]
96484            pub fn afsel13(&mut self) -> AFSEL13_W {
96485                AFSEL13_W { w: self }
96486            }
96487            ///Bits 16:19 - Alternate function selection for port x bit y (y = 8..15)
96488            #[inline(always)]
96489            pub fn afsel12(&mut self) -> AFSEL12_W {
96490                AFSEL12_W { w: self }
96491            }
96492            ///Bits 12:15 - Alternate function selection for port x bit y (y = 8..15)
96493            #[inline(always)]
96494            pub fn afsel11(&mut self) -> AFSEL11_W {
96495                AFSEL11_W { w: self }
96496            }
96497            ///Bits 8:11 - Alternate function selection for port x bit y (y = 8..15)
96498            #[inline(always)]
96499            pub fn afsel10(&mut self) -> AFSEL10_W {
96500                AFSEL10_W { w: self }
96501            }
96502            ///Bits 4:7 - Alternate function selection for port x bit y (y = 8..15)
96503            #[inline(always)]
96504            pub fn afsel9(&mut self) -> AFSEL9_W {
96505                AFSEL9_W { w: self }
96506            }
96507            ///Bits 0:3 - Alternate function selection for port x bit y (y = 8..15)
96508            #[inline(always)]
96509            pub fn afsel8(&mut self) -> AFSEL8_W {
96510                AFSEL8_W { w: self }
96511            }
96512        }
96513    }
96514    ///port bit reset register
96515    ///
96516    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
96517    ///
96518    ///For information about available fields see [brr](brr) module
96519    pub type BRR = crate::Reg<u32, _BRR>;
96520    #[allow(missing_docs)]
96521    #[doc(hidden)]
96522    pub struct _BRR;
96523    ///`write(|w| ..)` method takes [brr::W](brr::W) writer structure
96524    impl crate::Writable for BRR {}
96525    ///port bit reset register
96526    pub mod brr {
96527        ///Writer for register BRR
96528        pub type W = crate::W<u32, super::BRR>;
96529        ///Register BRR `reset()`'s with value 0
96530        impl crate::ResetValue for super::BRR {
96531            type Type = u32;
96532            #[inline(always)]
96533            fn reset_value() -> Self::Type {
96534                0
96535            }
96536        }
96537        ///Write proxy for field `BR0`
96538        pub struct BR0_W<'a> {
96539            w: &'a mut W,
96540        }
96541        impl<'a> BR0_W<'a> {
96542            ///Sets the field bit
96543            #[inline(always)]
96544            pub fn set_bit(self) -> &'a mut W {
96545                self.bit(true)
96546            }
96547            ///Clears the field bit
96548            #[inline(always)]
96549            pub fn clear_bit(self) -> &'a mut W {
96550                self.bit(false)
96551            }
96552            ///Writes raw bits to the field
96553            #[inline(always)]
96554            pub fn bit(self, value: bool) -> &'a mut W {
96555                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
96556                self.w
96557            }
96558        }
96559        ///Write proxy for field `BR1`
96560        pub struct BR1_W<'a> {
96561            w: &'a mut W,
96562        }
96563        impl<'a> BR1_W<'a> {
96564            ///Sets the field bit
96565            #[inline(always)]
96566            pub fn set_bit(self) -> &'a mut W {
96567                self.bit(true)
96568            }
96569            ///Clears the field bit
96570            #[inline(always)]
96571            pub fn clear_bit(self) -> &'a mut W {
96572                self.bit(false)
96573            }
96574            ///Writes raw bits to the field
96575            #[inline(always)]
96576            pub fn bit(self, value: bool) -> &'a mut W {
96577                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
96578                self.w
96579            }
96580        }
96581        ///Write proxy for field `BR3`
96582        pub struct BR3_W<'a> {
96583            w: &'a mut W,
96584        }
96585        impl<'a> BR3_W<'a> {
96586            ///Sets the field bit
96587            #[inline(always)]
96588            pub fn set_bit(self) -> &'a mut W {
96589                self.bit(true)
96590            }
96591            ///Clears the field bit
96592            #[inline(always)]
96593            pub fn clear_bit(self) -> &'a mut W {
96594                self.bit(false)
96595            }
96596            ///Writes raw bits to the field
96597            #[inline(always)]
96598            pub fn bit(self, value: bool) -> &'a mut W {
96599                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
96600                self.w
96601            }
96602        }
96603        impl W {
96604            ///Bit 0 - Port Reset bit
96605            #[inline(always)]
96606            pub fn br0(&mut self) -> BR0_W {
96607                BR0_W { w: self }
96608            }
96609            ///Bit 1 - Port Reset bit
96610            #[inline(always)]
96611            pub fn br1(&mut self) -> BR1_W {
96612                BR1_W { w: self }
96613            }
96614            ///Bit 3 - Port Reset bit
96615            #[inline(always)]
96616            pub fn br3(&mut self) -> BR3_W {
96617                BR3_W { w: self }
96618            }
96619        }
96620    }
96621}
96622///Serial audio interface
96623pub struct SAI1 {
96624    _marker: PhantomData<*const ()>,
96625}
96626unsafe impl Send for SAI1 {}
96627impl SAI1 {
96628    ///Returns a pointer to the register block
96629    #[inline(always)]
96630    pub const fn ptr() -> *const sai1::RegisterBlock {
96631        0x4001_5400 as *const _
96632    }
96633}
96634impl Deref for SAI1 {
96635    type Target = sai1::RegisterBlock;
96636    #[inline(always)]
96637    fn deref(&self) -> &Self::Target {
96638        unsafe { &*SAI1::ptr() }
96639    }
96640}
96641///Serial audio interface
96642pub mod sai1 {
96643    ///Register block
96644    #[repr(C)]
96645    pub struct RegisterBlock {
96646        ///0x00 - Global configuration register
96647        pub gcr: GCR,
96648        ///0x04 - Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR
96649        pub cha: CH,
96650        ///0x24 - Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR
96651        pub chb: CH,
96652        ///0x44 - PDM control register
96653        pub pdmcr: PDMCR,
96654        ///0x48 - PDM delay register
96655        pub pdmdly: PDMDLY,
96656    }
96657    ///Register block
96658    #[repr(C)]
96659    pub struct CH {
96660        ///0x00 - AConfiguration register 1
96661        pub cr1: self::ch::CR1,
96662        ///0x04 - AConfiguration register 2
96663        pub cr2: self::ch::CR2,
96664        ///0x08 - AFRCR
96665        pub frcr: self::ch::FRCR,
96666        ///0x0c - ASlot register
96667        pub slotr: self::ch::SLOTR,
96668        ///0x10 - AInterrupt mask register2
96669        pub im: self::ch::IM,
96670        ///0x14 - AStatus register
96671        pub sr: self::ch::SR,
96672        ///0x18 - AClear flag register
96673        pub clrfr: self::ch::CLRFR,
96674        ///0x1c - AData register
96675        pub dr: self::ch::DR,
96676    }
96677    ///Register block
96678    ///Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR
96679    pub mod ch {
96680        ///AConfiguration register 1
96681        ///
96682        ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
96683        ///
96684        ///For information about available fields see [cr1](cr1) module
96685        pub type CR1 = crate::Reg<u32, _CR1>;
96686        #[allow(missing_docs)]
96687        #[doc(hidden)]
96688        pub struct _CR1;
96689        ///`read()` method returns [cr1::R](cr1::R) reader structure
96690        impl crate::Readable for CR1 {}
96691        ///`write(|w| ..)` method takes [cr1::W](cr1::W) writer structure
96692        impl crate::Writable for CR1 {}
96693        ///AConfiguration register 1
96694        pub mod cr1 {
96695            ///Reader of register CR1
96696            pub type R = crate::R<u32, super::CR1>;
96697            ///Writer for register CR1
96698            pub type W = crate::W<u32, super::CR1>;
96699            ///Register CR1 `reset()`'s with value 0x40
96700            impl crate::ResetValue for super::CR1 {
96701                type Type = u32;
96702                #[inline(always)]
96703                fn reset_value() -> Self::Type {
96704                    0x40
96705                }
96706            }
96707            ///Reader of field `MCKEN`
96708            pub type MCKEN_R = crate::R<bool, bool>;
96709            ///Write proxy for field `MCKEN`
96710            pub struct MCKEN_W<'a> {
96711                w: &'a mut W,
96712            }
96713            impl<'a> MCKEN_W<'a> {
96714                ///Sets the field bit
96715                #[inline(always)]
96716                pub fn set_bit(self) -> &'a mut W {
96717                    self.bit(true)
96718                }
96719                ///Clears the field bit
96720                #[inline(always)]
96721                pub fn clear_bit(self) -> &'a mut W {
96722                    self.bit(false)
96723                }
96724                ///Writes raw bits to the field
96725                #[inline(always)]
96726                pub fn bit(self, value: bool) -> &'a mut W {
96727                    self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
96728                    self.w
96729                }
96730            }
96731            ///Reader of field `OSR`
96732            pub type OSR_R = crate::R<bool, bool>;
96733            ///Write proxy for field `OSR`
96734            pub struct OSR_W<'a> {
96735                w: &'a mut W,
96736            }
96737            impl<'a> OSR_W<'a> {
96738                ///Sets the field bit
96739                #[inline(always)]
96740                pub fn set_bit(self) -> &'a mut W {
96741                    self.bit(true)
96742                }
96743                ///Clears the field bit
96744                #[inline(always)]
96745                pub fn clear_bit(self) -> &'a mut W {
96746                    self.bit(false)
96747                }
96748                ///Writes raw bits to the field
96749                #[inline(always)]
96750                pub fn bit(self, value: bool) -> &'a mut W {
96751                    self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
96752                    self.w
96753                }
96754            }
96755            ///Reader of field `MCKDIV`
96756            pub type MCKDIV_R = crate::R<u8, u8>;
96757            ///Write proxy for field `MCKDIV`
96758            pub struct MCKDIV_W<'a> {
96759                w: &'a mut W,
96760            }
96761            impl<'a> MCKDIV_W<'a> {
96762                ///Writes raw bits to the field
96763                #[inline(always)]
96764                pub unsafe fn bits(self, value: u8) -> &'a mut W {
96765                    self.w.bits = (self.w.bits & !(0x3f << 20)) | (((value as u32) & 0x3f) << 20);
96766                    self.w
96767                }
96768            }
96769            ///Reader of field `NODIV`
96770            pub type NODIV_R = crate::R<bool, bool>;
96771            ///Write proxy for field `NODIV`
96772            pub struct NODIV_W<'a> {
96773                w: &'a mut W,
96774            }
96775            impl<'a> NODIV_W<'a> {
96776                ///Sets the field bit
96777                #[inline(always)]
96778                pub fn set_bit(self) -> &'a mut W {
96779                    self.bit(true)
96780                }
96781                ///Clears the field bit
96782                #[inline(always)]
96783                pub fn clear_bit(self) -> &'a mut W {
96784                    self.bit(false)
96785                }
96786                ///Writes raw bits to the field
96787                #[inline(always)]
96788                pub fn bit(self, value: bool) -> &'a mut W {
96789                    self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
96790                    self.w
96791                }
96792            }
96793            ///Reader of field `DMAEN`
96794            pub type DMAEN_R = crate::R<bool, bool>;
96795            ///Write proxy for field `DMAEN`
96796            pub struct DMAEN_W<'a> {
96797                w: &'a mut W,
96798            }
96799            impl<'a> DMAEN_W<'a> {
96800                ///Sets the field bit
96801                #[inline(always)]
96802                pub fn set_bit(self) -> &'a mut W {
96803                    self.bit(true)
96804                }
96805                ///Clears the field bit
96806                #[inline(always)]
96807                pub fn clear_bit(self) -> &'a mut W {
96808                    self.bit(false)
96809                }
96810                ///Writes raw bits to the field
96811                #[inline(always)]
96812                pub fn bit(self, value: bool) -> &'a mut W {
96813                    self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
96814                    self.w
96815                }
96816            }
96817            ///Reader of field `SAIEN`
96818            pub type SAIEN_R = crate::R<bool, bool>;
96819            ///Write proxy for field `SAIEN`
96820            pub struct SAIEN_W<'a> {
96821                w: &'a mut W,
96822            }
96823            impl<'a> SAIEN_W<'a> {
96824                ///Sets the field bit
96825                #[inline(always)]
96826                pub fn set_bit(self) -> &'a mut W {
96827                    self.bit(true)
96828                }
96829                ///Clears the field bit
96830                #[inline(always)]
96831                pub fn clear_bit(self) -> &'a mut W {
96832                    self.bit(false)
96833                }
96834                ///Writes raw bits to the field
96835                #[inline(always)]
96836                pub fn bit(self, value: bool) -> &'a mut W {
96837                    self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
96838                    self.w
96839                }
96840            }
96841            ///Reader of field `OUTDRIV`
96842            pub type OUTDRIV_R = crate::R<bool, bool>;
96843            ///Write proxy for field `OUTDRIV`
96844            pub struct OUTDRIV_W<'a> {
96845                w: &'a mut W,
96846            }
96847            impl<'a> OUTDRIV_W<'a> {
96848                ///Sets the field bit
96849                #[inline(always)]
96850                pub fn set_bit(self) -> &'a mut W {
96851                    self.bit(true)
96852                }
96853                ///Clears the field bit
96854                #[inline(always)]
96855                pub fn clear_bit(self) -> &'a mut W {
96856                    self.bit(false)
96857                }
96858                ///Writes raw bits to the field
96859                #[inline(always)]
96860                pub fn bit(self, value: bool) -> &'a mut W {
96861                    self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
96862                    self.w
96863                }
96864            }
96865            ///Reader of field `MONO`
96866            pub type MONO_R = crate::R<bool, bool>;
96867            ///Write proxy for field `MONO`
96868            pub struct MONO_W<'a> {
96869                w: &'a mut W,
96870            }
96871            impl<'a> MONO_W<'a> {
96872                ///Sets the field bit
96873                #[inline(always)]
96874                pub fn set_bit(self) -> &'a mut W {
96875                    self.bit(true)
96876                }
96877                ///Clears the field bit
96878                #[inline(always)]
96879                pub fn clear_bit(self) -> &'a mut W {
96880                    self.bit(false)
96881                }
96882                ///Writes raw bits to the field
96883                #[inline(always)]
96884                pub fn bit(self, value: bool) -> &'a mut W {
96885                    self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
96886                    self.w
96887                }
96888            }
96889            ///Reader of field `SYNCEN`
96890            pub type SYNCEN_R = crate::R<u8, u8>;
96891            ///Write proxy for field `SYNCEN`
96892            pub struct SYNCEN_W<'a> {
96893                w: &'a mut W,
96894            }
96895            impl<'a> SYNCEN_W<'a> {
96896                ///Writes raw bits to the field
96897                #[inline(always)]
96898                pub unsafe fn bits(self, value: u8) -> &'a mut W {
96899                    self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
96900                    self.w
96901                }
96902            }
96903            ///Reader of field `CKSTR`
96904            pub type CKSTR_R = crate::R<bool, bool>;
96905            ///Write proxy for field `CKSTR`
96906            pub struct CKSTR_W<'a> {
96907                w: &'a mut W,
96908            }
96909            impl<'a> CKSTR_W<'a> {
96910                ///Sets the field bit
96911                #[inline(always)]
96912                pub fn set_bit(self) -> &'a mut W {
96913                    self.bit(true)
96914                }
96915                ///Clears the field bit
96916                #[inline(always)]
96917                pub fn clear_bit(self) -> &'a mut W {
96918                    self.bit(false)
96919                }
96920                ///Writes raw bits to the field
96921                #[inline(always)]
96922                pub fn bit(self, value: bool) -> &'a mut W {
96923                    self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
96924                    self.w
96925                }
96926            }
96927            ///Reader of field `LSBFIRST`
96928            pub type LSBFIRST_R = crate::R<bool, bool>;
96929            ///Write proxy for field `LSBFIRST`
96930            pub struct LSBFIRST_W<'a> {
96931                w: &'a mut W,
96932            }
96933            impl<'a> LSBFIRST_W<'a> {
96934                ///Sets the field bit
96935                #[inline(always)]
96936                pub fn set_bit(self) -> &'a mut W {
96937                    self.bit(true)
96938                }
96939                ///Clears the field bit
96940                #[inline(always)]
96941                pub fn clear_bit(self) -> &'a mut W {
96942                    self.bit(false)
96943                }
96944                ///Writes raw bits to the field
96945                #[inline(always)]
96946                pub fn bit(self, value: bool) -> &'a mut W {
96947                    self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
96948                    self.w
96949                }
96950            }
96951            ///Reader of field `DS`
96952            pub type DS_R = crate::R<u8, u8>;
96953            ///Write proxy for field `DS`
96954            pub struct DS_W<'a> {
96955                w: &'a mut W,
96956            }
96957            impl<'a> DS_W<'a> {
96958                ///Writes raw bits to the field
96959                #[inline(always)]
96960                pub unsafe fn bits(self, value: u8) -> &'a mut W {
96961                    self.w.bits = (self.w.bits & !(0x07 << 5)) | (((value as u32) & 0x07) << 5);
96962                    self.w
96963                }
96964            }
96965            ///Reader of field `PRTCFG`
96966            pub type PRTCFG_R = crate::R<u8, u8>;
96967            ///Write proxy for field `PRTCFG`
96968            pub struct PRTCFG_W<'a> {
96969                w: &'a mut W,
96970            }
96971            impl<'a> PRTCFG_W<'a> {
96972                ///Writes raw bits to the field
96973                #[inline(always)]
96974                pub unsafe fn bits(self, value: u8) -> &'a mut W {
96975                    self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
96976                    self.w
96977                }
96978            }
96979            ///Reader of field `MODE`
96980            pub type MODE_R = crate::R<u8, u8>;
96981            ///Write proxy for field `MODE`
96982            pub struct MODE_W<'a> {
96983                w: &'a mut W,
96984            }
96985            impl<'a> MODE_W<'a> {
96986                ///Writes raw bits to the field
96987                #[inline(always)]
96988                pub unsafe fn bits(self, value: u8) -> &'a mut W {
96989                    self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
96990                    self.w
96991                }
96992            }
96993            impl R {
96994                ///Bit 27 - Master clock generation enable
96995                #[inline(always)]
96996                pub fn mcken(&self) -> MCKEN_R {
96997                    MCKEN_R::new(((self.bits >> 27) & 0x01) != 0)
96998                }
96999                ///Bit 26 - Oversampling ratio for master clock
97000                #[inline(always)]
97001                pub fn osr(&self) -> OSR_R {
97002                    OSR_R::new(((self.bits >> 26) & 0x01) != 0)
97003                }
97004                ///Bits 20:25 - Master clock divider
97005                #[inline(always)]
97006                pub fn mckdiv(&self) -> MCKDIV_R {
97007                    MCKDIV_R::new(((self.bits >> 20) & 0x3f) as u8)
97008                }
97009                ///Bit 19 - No divider
97010                #[inline(always)]
97011                pub fn nodiv(&self) -> NODIV_R {
97012                    NODIV_R::new(((self.bits >> 19) & 0x01) != 0)
97013                }
97014                ///Bit 17 - DMA enable
97015                #[inline(always)]
97016                pub fn dmaen(&self) -> DMAEN_R {
97017                    DMAEN_R::new(((self.bits >> 17) & 0x01) != 0)
97018                }
97019                ///Bit 16 - Audio block B enable
97020                #[inline(always)]
97021                pub fn saien(&self) -> SAIEN_R {
97022                    SAIEN_R::new(((self.bits >> 16) & 0x01) != 0)
97023                }
97024                ///Bit 13 - Output drive
97025                #[inline(always)]
97026                pub fn outdriv(&self) -> OUTDRIV_R {
97027                    OUTDRIV_R::new(((self.bits >> 13) & 0x01) != 0)
97028                }
97029                ///Bit 12 - Mono mode
97030                #[inline(always)]
97031                pub fn mono(&self) -> MONO_R {
97032                    MONO_R::new(((self.bits >> 12) & 0x01) != 0)
97033                }
97034                ///Bits 10:11 - Synchronization enable
97035                #[inline(always)]
97036                pub fn syncen(&self) -> SYNCEN_R {
97037                    SYNCEN_R::new(((self.bits >> 10) & 0x03) as u8)
97038                }
97039                ///Bit 9 - Clock strobing edge
97040                #[inline(always)]
97041                pub fn ckstr(&self) -> CKSTR_R {
97042                    CKSTR_R::new(((self.bits >> 9) & 0x01) != 0)
97043                }
97044                ///Bit 8 - Least significant bit first
97045                #[inline(always)]
97046                pub fn lsbfirst(&self) -> LSBFIRST_R {
97047                    LSBFIRST_R::new(((self.bits >> 8) & 0x01) != 0)
97048                }
97049                ///Bits 5:7 - Data size
97050                #[inline(always)]
97051                pub fn ds(&self) -> DS_R {
97052                    DS_R::new(((self.bits >> 5) & 0x07) as u8)
97053                }
97054                ///Bits 2:3 - Protocol configuration
97055                #[inline(always)]
97056                pub fn prtcfg(&self) -> PRTCFG_R {
97057                    PRTCFG_R::new(((self.bits >> 2) & 0x03) as u8)
97058                }
97059                ///Bits 0:1 - Audio block mode
97060                #[inline(always)]
97061                pub fn mode(&self) -> MODE_R {
97062                    MODE_R::new((self.bits & 0x03) as u8)
97063                }
97064            }
97065            impl W {
97066                ///Bit 27 - Master clock generation enable
97067                #[inline(always)]
97068                pub fn mcken(&mut self) -> MCKEN_W {
97069                    MCKEN_W { w: self }
97070                }
97071                ///Bit 26 - Oversampling ratio for master clock
97072                #[inline(always)]
97073                pub fn osr(&mut self) -> OSR_W {
97074                    OSR_W { w: self }
97075                }
97076                ///Bits 20:25 - Master clock divider
97077                #[inline(always)]
97078                pub fn mckdiv(&mut self) -> MCKDIV_W {
97079                    MCKDIV_W { w: self }
97080                }
97081                ///Bit 19 - No divider
97082                #[inline(always)]
97083                pub fn nodiv(&mut self) -> NODIV_W {
97084                    NODIV_W { w: self }
97085                }
97086                ///Bit 17 - DMA enable
97087                #[inline(always)]
97088                pub fn dmaen(&mut self) -> DMAEN_W {
97089                    DMAEN_W { w: self }
97090                }
97091                ///Bit 16 - Audio block B enable
97092                #[inline(always)]
97093                pub fn saien(&mut self) -> SAIEN_W {
97094                    SAIEN_W { w: self }
97095                }
97096                ///Bit 13 - Output drive
97097                #[inline(always)]
97098                pub fn outdriv(&mut self) -> OUTDRIV_W {
97099                    OUTDRIV_W { w: self }
97100                }
97101                ///Bit 12 - Mono mode
97102                #[inline(always)]
97103                pub fn mono(&mut self) -> MONO_W {
97104                    MONO_W { w: self }
97105                }
97106                ///Bits 10:11 - Synchronization enable
97107                #[inline(always)]
97108                pub fn syncen(&mut self) -> SYNCEN_W {
97109                    SYNCEN_W { w: self }
97110                }
97111                ///Bit 9 - Clock strobing edge
97112                #[inline(always)]
97113                pub fn ckstr(&mut self) -> CKSTR_W {
97114                    CKSTR_W { w: self }
97115                }
97116                ///Bit 8 - Least significant bit first
97117                #[inline(always)]
97118                pub fn lsbfirst(&mut self) -> LSBFIRST_W {
97119                    LSBFIRST_W { w: self }
97120                }
97121                ///Bits 5:7 - Data size
97122                #[inline(always)]
97123                pub fn ds(&mut self) -> DS_W {
97124                    DS_W { w: self }
97125                }
97126                ///Bits 2:3 - Protocol configuration
97127                #[inline(always)]
97128                pub fn prtcfg(&mut self) -> PRTCFG_W {
97129                    PRTCFG_W { w: self }
97130                }
97131                ///Bits 0:1 - Audio block mode
97132                #[inline(always)]
97133                pub fn mode(&mut self) -> MODE_W {
97134                    MODE_W { w: self }
97135                }
97136            }
97137        }
97138        ///AConfiguration register 2
97139        ///
97140        ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
97141        ///
97142        ///For information about available fields see [cr2](cr2) module
97143        pub type CR2 = crate::Reg<u32, _CR2>;
97144        #[allow(missing_docs)]
97145        #[doc(hidden)]
97146        pub struct _CR2;
97147        ///`read()` method returns [cr2::R](cr2::R) reader structure
97148        impl crate::Readable for CR2 {}
97149        ///`write(|w| ..)` method takes [cr2::W](cr2::W) writer structure
97150        impl crate::Writable for CR2 {}
97151        ///AConfiguration register 2
97152        pub mod cr2 {
97153            ///Reader of register CR2
97154            pub type R = crate::R<u32, super::CR2>;
97155            ///Writer for register CR2
97156            pub type W = crate::W<u32, super::CR2>;
97157            ///Register CR2 `reset()`'s with value 0
97158            impl crate::ResetValue for super::CR2 {
97159                type Type = u32;
97160                #[inline(always)]
97161                fn reset_value() -> Self::Type {
97162                    0
97163                }
97164            }
97165            ///Reader of field `COMP`
97166            pub type COMP_R = crate::R<u8, u8>;
97167            ///Write proxy for field `COMP`
97168            pub struct COMP_W<'a> {
97169                w: &'a mut W,
97170            }
97171            impl<'a> COMP_W<'a> {
97172                ///Writes raw bits to the field
97173                #[inline(always)]
97174                pub unsafe fn bits(self, value: u8) -> &'a mut W {
97175                    self.w.bits = (self.w.bits & !(0x03 << 14)) | (((value as u32) & 0x03) << 14);
97176                    self.w
97177                }
97178            }
97179            ///Reader of field `CPL`
97180            pub type CPL_R = crate::R<bool, bool>;
97181            ///Write proxy for field `CPL`
97182            pub struct CPL_W<'a> {
97183                w: &'a mut W,
97184            }
97185            impl<'a> CPL_W<'a> {
97186                ///Sets the field bit
97187                #[inline(always)]
97188                pub fn set_bit(self) -> &'a mut W {
97189                    self.bit(true)
97190                }
97191                ///Clears the field bit
97192                #[inline(always)]
97193                pub fn clear_bit(self) -> &'a mut W {
97194                    self.bit(false)
97195                }
97196                ///Writes raw bits to the field
97197                #[inline(always)]
97198                pub fn bit(self, value: bool) -> &'a mut W {
97199                    self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
97200                    self.w
97201                }
97202            }
97203            ///Reader of field `MUTECN`
97204            pub type MUTECN_R = crate::R<u8, u8>;
97205            ///Write proxy for field `MUTECN`
97206            pub struct MUTECN_W<'a> {
97207                w: &'a mut W,
97208            }
97209            impl<'a> MUTECN_W<'a> {
97210                ///Writes raw bits to the field
97211                #[inline(always)]
97212                pub unsafe fn bits(self, value: u8) -> &'a mut W {
97213                    self.w.bits = (self.w.bits & !(0x3f << 7)) | (((value as u32) & 0x3f) << 7);
97214                    self.w
97215                }
97216            }
97217            ///Reader of field `MUTEVAL`
97218            pub type MUTEVAL_R = crate::R<bool, bool>;
97219            ///Write proxy for field `MUTEVAL`
97220            pub struct MUTEVAL_W<'a> {
97221                w: &'a mut W,
97222            }
97223            impl<'a> MUTEVAL_W<'a> {
97224                ///Sets the field bit
97225                #[inline(always)]
97226                pub fn set_bit(self) -> &'a mut W {
97227                    self.bit(true)
97228                }
97229                ///Clears the field bit
97230                #[inline(always)]
97231                pub fn clear_bit(self) -> &'a mut W {
97232                    self.bit(false)
97233                }
97234                ///Writes raw bits to the field
97235                #[inline(always)]
97236                pub fn bit(self, value: bool) -> &'a mut W {
97237                    self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
97238                    self.w
97239                }
97240            }
97241            ///Reader of field `MUTE`
97242            pub type MUTE_R = crate::R<bool, bool>;
97243            ///Write proxy for field `MUTE`
97244            pub struct MUTE_W<'a> {
97245                w: &'a mut W,
97246            }
97247            impl<'a> MUTE_W<'a> {
97248                ///Sets the field bit
97249                #[inline(always)]
97250                pub fn set_bit(self) -> &'a mut W {
97251                    self.bit(true)
97252                }
97253                ///Clears the field bit
97254                #[inline(always)]
97255                pub fn clear_bit(self) -> &'a mut W {
97256                    self.bit(false)
97257                }
97258                ///Writes raw bits to the field
97259                #[inline(always)]
97260                pub fn bit(self, value: bool) -> &'a mut W {
97261                    self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
97262                    self.w
97263                }
97264            }
97265            ///Reader of field `TRIS`
97266            pub type TRIS_R = crate::R<bool, bool>;
97267            ///Write proxy for field `TRIS`
97268            pub struct TRIS_W<'a> {
97269                w: &'a mut W,
97270            }
97271            impl<'a> TRIS_W<'a> {
97272                ///Sets the field bit
97273                #[inline(always)]
97274                pub fn set_bit(self) -> &'a mut W {
97275                    self.bit(true)
97276                }
97277                ///Clears the field bit
97278                #[inline(always)]
97279                pub fn clear_bit(self) -> &'a mut W {
97280                    self.bit(false)
97281                }
97282                ///Writes raw bits to the field
97283                #[inline(always)]
97284                pub fn bit(self, value: bool) -> &'a mut W {
97285                    self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
97286                    self.w
97287                }
97288            }
97289            ///Reader of field `FFLUSH`
97290            pub type FFLUSH_R = crate::R<bool, bool>;
97291            ///Write proxy for field `FFLUSH`
97292            pub struct FFLUSH_W<'a> {
97293                w: &'a mut W,
97294            }
97295            impl<'a> FFLUSH_W<'a> {
97296                ///Sets the field bit
97297                #[inline(always)]
97298                pub fn set_bit(self) -> &'a mut W {
97299                    self.bit(true)
97300                }
97301                ///Clears the field bit
97302                #[inline(always)]
97303                pub fn clear_bit(self) -> &'a mut W {
97304                    self.bit(false)
97305                }
97306                ///Writes raw bits to the field
97307                #[inline(always)]
97308                pub fn bit(self, value: bool) -> &'a mut W {
97309                    self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
97310                    self.w
97311                }
97312            }
97313            ///Reader of field `FTH`
97314            pub type FTH_R = crate::R<u8, u8>;
97315            ///Write proxy for field `FTH`
97316            pub struct FTH_W<'a> {
97317                w: &'a mut W,
97318            }
97319            impl<'a> FTH_W<'a> {
97320                ///Writes raw bits to the field
97321                #[inline(always)]
97322                pub unsafe fn bits(self, value: u8) -> &'a mut W {
97323                    self.w.bits = (self.w.bits & !0x07) | ((value as u32) & 0x07);
97324                    self.w
97325                }
97326            }
97327            impl R {
97328                ///Bits 14:15 - Companding mode
97329                #[inline(always)]
97330                pub fn comp(&self) -> COMP_R {
97331                    COMP_R::new(((self.bits >> 14) & 0x03) as u8)
97332                }
97333                ///Bit 13 - Complement bit
97334                #[inline(always)]
97335                pub fn cpl(&self) -> CPL_R {
97336                    CPL_R::new(((self.bits >> 13) & 0x01) != 0)
97337                }
97338                ///Bits 7:12 - Mute counter
97339                #[inline(always)]
97340                pub fn mutecn(&self) -> MUTECN_R {
97341                    MUTECN_R::new(((self.bits >> 7) & 0x3f) as u8)
97342                }
97343                ///Bit 6 - Mute value
97344                #[inline(always)]
97345                pub fn muteval(&self) -> MUTEVAL_R {
97346                    MUTEVAL_R::new(((self.bits >> 6) & 0x01) != 0)
97347                }
97348                ///Bit 5 - Mute
97349                #[inline(always)]
97350                pub fn mute(&self) -> MUTE_R {
97351                    MUTE_R::new(((self.bits >> 5) & 0x01) != 0)
97352                }
97353                ///Bit 4 - Tristate management on data line
97354                #[inline(always)]
97355                pub fn tris(&self) -> TRIS_R {
97356                    TRIS_R::new(((self.bits >> 4) & 0x01) != 0)
97357                }
97358                ///Bit 3 - FIFO flush
97359                #[inline(always)]
97360                pub fn fflush(&self) -> FFLUSH_R {
97361                    FFLUSH_R::new(((self.bits >> 3) & 0x01) != 0)
97362                }
97363                ///Bits 0:2 - FIFO threshold
97364                #[inline(always)]
97365                pub fn fth(&self) -> FTH_R {
97366                    FTH_R::new((self.bits & 0x07) as u8)
97367                }
97368            }
97369            impl W {
97370                ///Bits 14:15 - Companding mode
97371                #[inline(always)]
97372                pub fn comp(&mut self) -> COMP_W {
97373                    COMP_W { w: self }
97374                }
97375                ///Bit 13 - Complement bit
97376                #[inline(always)]
97377                pub fn cpl(&mut self) -> CPL_W {
97378                    CPL_W { w: self }
97379                }
97380                ///Bits 7:12 - Mute counter
97381                #[inline(always)]
97382                pub fn mutecn(&mut self) -> MUTECN_W {
97383                    MUTECN_W { w: self }
97384                }
97385                ///Bit 6 - Mute value
97386                #[inline(always)]
97387                pub fn muteval(&mut self) -> MUTEVAL_W {
97388                    MUTEVAL_W { w: self }
97389                }
97390                ///Bit 5 - Mute
97391                #[inline(always)]
97392                pub fn mute(&mut self) -> MUTE_W {
97393                    MUTE_W { w: self }
97394                }
97395                ///Bit 4 - Tristate management on data line
97396                #[inline(always)]
97397                pub fn tris(&mut self) -> TRIS_W {
97398                    TRIS_W { w: self }
97399                }
97400                ///Bit 3 - FIFO flush
97401                #[inline(always)]
97402                pub fn fflush(&mut self) -> FFLUSH_W {
97403                    FFLUSH_W { w: self }
97404                }
97405                ///Bits 0:2 - FIFO threshold
97406                #[inline(always)]
97407                pub fn fth(&mut self) -> FTH_W {
97408                    FTH_W { w: self }
97409                }
97410            }
97411        }
97412        ///AFRCR
97413        ///
97414        ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
97415        ///
97416        ///For information about available fields see [frcr](frcr) module
97417        pub type FRCR = crate::Reg<u32, _FRCR>;
97418        #[allow(missing_docs)]
97419        #[doc(hidden)]
97420        pub struct _FRCR;
97421        ///`read()` method returns [frcr::R](frcr::R) reader structure
97422        impl crate::Readable for FRCR {}
97423        ///`write(|w| ..)` method takes [frcr::W](frcr::W) writer structure
97424        impl crate::Writable for FRCR {}
97425        ///AFRCR
97426        pub mod frcr {
97427            ///Reader of register FRCR
97428            pub type R = crate::R<u32, super::FRCR>;
97429            ///Writer for register FRCR
97430            pub type W = crate::W<u32, super::FRCR>;
97431            ///Register FRCR `reset()`'s with value 0x07
97432            impl crate::ResetValue for super::FRCR {
97433                type Type = u32;
97434                #[inline(always)]
97435                fn reset_value() -> Self::Type {
97436                    0x07
97437                }
97438            }
97439            ///Reader of field `FSOFF`
97440            pub type FSOFF_R = crate::R<bool, bool>;
97441            ///Write proxy for field `FSOFF`
97442            pub struct FSOFF_W<'a> {
97443                w: &'a mut W,
97444            }
97445            impl<'a> FSOFF_W<'a> {
97446                ///Sets the field bit
97447                #[inline(always)]
97448                pub fn set_bit(self) -> &'a mut W {
97449                    self.bit(true)
97450                }
97451                ///Clears the field bit
97452                #[inline(always)]
97453                pub fn clear_bit(self) -> &'a mut W {
97454                    self.bit(false)
97455                }
97456                ///Writes raw bits to the field
97457                #[inline(always)]
97458                pub fn bit(self, value: bool) -> &'a mut W {
97459                    self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
97460                    self.w
97461                }
97462            }
97463            ///Reader of field `FSPOL`
97464            pub type FSPOL_R = crate::R<bool, bool>;
97465            ///Write proxy for field `FSPOL`
97466            pub struct FSPOL_W<'a> {
97467                w: &'a mut W,
97468            }
97469            impl<'a> FSPOL_W<'a> {
97470                ///Sets the field bit
97471                #[inline(always)]
97472                pub fn set_bit(self) -> &'a mut W {
97473                    self.bit(true)
97474                }
97475                ///Clears the field bit
97476                #[inline(always)]
97477                pub fn clear_bit(self) -> &'a mut W {
97478                    self.bit(false)
97479                }
97480                ///Writes raw bits to the field
97481                #[inline(always)]
97482                pub fn bit(self, value: bool) -> &'a mut W {
97483                    self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
97484                    self.w
97485                }
97486            }
97487            ///Reader of field `FSDEF`
97488            pub type FSDEF_R = crate::R<bool, bool>;
97489            ///Write proxy for field `FSDEF`
97490            pub struct FSDEF_W<'a> {
97491                w: &'a mut W,
97492            }
97493            impl<'a> FSDEF_W<'a> {
97494                ///Sets the field bit
97495                #[inline(always)]
97496                pub fn set_bit(self) -> &'a mut W {
97497                    self.bit(true)
97498                }
97499                ///Clears the field bit
97500                #[inline(always)]
97501                pub fn clear_bit(self) -> &'a mut W {
97502                    self.bit(false)
97503                }
97504                ///Writes raw bits to the field
97505                #[inline(always)]
97506                pub fn bit(self, value: bool) -> &'a mut W {
97507                    self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
97508                    self.w
97509                }
97510            }
97511            ///Reader of field `FSALL`
97512            pub type FSALL_R = crate::R<u8, u8>;
97513            ///Write proxy for field `FSALL`
97514            pub struct FSALL_W<'a> {
97515                w: &'a mut W,
97516            }
97517            impl<'a> FSALL_W<'a> {
97518                ///Writes raw bits to the field
97519                #[inline(always)]
97520                pub unsafe fn bits(self, value: u8) -> &'a mut W {
97521                    self.w.bits = (self.w.bits & !(0x7f << 8)) | (((value as u32) & 0x7f) << 8);
97522                    self.w
97523                }
97524            }
97525            ///Reader of field `FRL`
97526            pub type FRL_R = crate::R<u8, u8>;
97527            ///Write proxy for field `FRL`
97528            pub struct FRL_W<'a> {
97529                w: &'a mut W,
97530            }
97531            impl<'a> FRL_W<'a> {
97532                ///Writes raw bits to the field
97533                #[inline(always)]
97534                pub unsafe fn bits(self, value: u8) -> &'a mut W {
97535                    self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
97536                    self.w
97537                }
97538            }
97539            impl R {
97540                ///Bit 18 - Frame synchronization offset
97541                #[inline(always)]
97542                pub fn fsoff(&self) -> FSOFF_R {
97543                    FSOFF_R::new(((self.bits >> 18) & 0x01) != 0)
97544                }
97545                ///Bit 17 - Frame synchronization polarity
97546                #[inline(always)]
97547                pub fn fspol(&self) -> FSPOL_R {
97548                    FSPOL_R::new(((self.bits >> 17) & 0x01) != 0)
97549                }
97550                ///Bit 16 - Frame synchronization definition
97551                #[inline(always)]
97552                pub fn fsdef(&self) -> FSDEF_R {
97553                    FSDEF_R::new(((self.bits >> 16) & 0x01) != 0)
97554                }
97555                ///Bits 8:14 - Frame synchronization active level length
97556                #[inline(always)]
97557                pub fn fsall(&self) -> FSALL_R {
97558                    FSALL_R::new(((self.bits >> 8) & 0x7f) as u8)
97559                }
97560                ///Bits 0:7 - Frame length
97561                #[inline(always)]
97562                pub fn frl(&self) -> FRL_R {
97563                    FRL_R::new((self.bits & 0xff) as u8)
97564                }
97565            }
97566            impl W {
97567                ///Bit 18 - Frame synchronization offset
97568                #[inline(always)]
97569                pub fn fsoff(&mut self) -> FSOFF_W {
97570                    FSOFF_W { w: self }
97571                }
97572                ///Bit 17 - Frame synchronization polarity
97573                #[inline(always)]
97574                pub fn fspol(&mut self) -> FSPOL_W {
97575                    FSPOL_W { w: self }
97576                }
97577                ///Bit 16 - Frame synchronization definition
97578                #[inline(always)]
97579                pub fn fsdef(&mut self) -> FSDEF_W {
97580                    FSDEF_W { w: self }
97581                }
97582                ///Bits 8:14 - Frame synchronization active level length
97583                #[inline(always)]
97584                pub fn fsall(&mut self) -> FSALL_W {
97585                    FSALL_W { w: self }
97586                }
97587                ///Bits 0:7 - Frame length
97588                #[inline(always)]
97589                pub fn frl(&mut self) -> FRL_W {
97590                    FRL_W { w: self }
97591                }
97592            }
97593        }
97594        ///ASlot register
97595        ///
97596        ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
97597        ///
97598        ///For information about available fields see [slotr](slotr) module
97599        pub type SLOTR = crate::Reg<u32, _SLOTR>;
97600        #[allow(missing_docs)]
97601        #[doc(hidden)]
97602        pub struct _SLOTR;
97603        ///`read()` method returns [slotr::R](slotr::R) reader structure
97604        impl crate::Readable for SLOTR {}
97605        ///`write(|w| ..)` method takes [slotr::W](slotr::W) writer structure
97606        impl crate::Writable for SLOTR {}
97607        ///ASlot register
97608        pub mod slotr {
97609            ///Reader of register SLOTR
97610            pub type R = crate::R<u32, super::SLOTR>;
97611            ///Writer for register SLOTR
97612            pub type W = crate::W<u32, super::SLOTR>;
97613            ///Register SLOTR `reset()`'s with value 0
97614            impl crate::ResetValue for super::SLOTR {
97615                type Type = u32;
97616                #[inline(always)]
97617                fn reset_value() -> Self::Type {
97618                    0
97619                }
97620            }
97621            ///Reader of field `SLOTEN`
97622            pub type SLOTEN_R = crate::R<u16, u16>;
97623            ///Write proxy for field `SLOTEN`
97624            pub struct SLOTEN_W<'a> {
97625                w: &'a mut W,
97626            }
97627            impl<'a> SLOTEN_W<'a> {
97628                ///Writes raw bits to the field
97629                #[inline(always)]
97630                pub unsafe fn bits(self, value: u16) -> &'a mut W {
97631                    self.w.bits =
97632                        (self.w.bits & !(0xffff << 16)) | (((value as u32) & 0xffff) << 16);
97633                    self.w
97634                }
97635            }
97636            ///Reader of field `NBSLOT`
97637            pub type NBSLOT_R = crate::R<u8, u8>;
97638            ///Write proxy for field `NBSLOT`
97639            pub struct NBSLOT_W<'a> {
97640                w: &'a mut W,
97641            }
97642            impl<'a> NBSLOT_W<'a> {
97643                ///Writes raw bits to the field
97644                #[inline(always)]
97645                pub unsafe fn bits(self, value: u8) -> &'a mut W {
97646                    self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
97647                    self.w
97648                }
97649            }
97650            ///Reader of field `SLOTSZ`
97651            pub type SLOTSZ_R = crate::R<u8, u8>;
97652            ///Write proxy for field `SLOTSZ`
97653            pub struct SLOTSZ_W<'a> {
97654                w: &'a mut W,
97655            }
97656            impl<'a> SLOTSZ_W<'a> {
97657                ///Writes raw bits to the field
97658                #[inline(always)]
97659                pub unsafe fn bits(self, value: u8) -> &'a mut W {
97660                    self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
97661                    self.w
97662                }
97663            }
97664            ///Reader of field `FBOFF`
97665            pub type FBOFF_R = crate::R<u8, u8>;
97666            ///Write proxy for field `FBOFF`
97667            pub struct FBOFF_W<'a> {
97668                w: &'a mut W,
97669            }
97670            impl<'a> FBOFF_W<'a> {
97671                ///Writes raw bits to the field
97672                #[inline(always)]
97673                pub unsafe fn bits(self, value: u8) -> &'a mut W {
97674                    self.w.bits = (self.w.bits & !0x1f) | ((value as u32) & 0x1f);
97675                    self.w
97676                }
97677            }
97678            impl R {
97679                ///Bits 16:31 - Slot enable
97680                #[inline(always)]
97681                pub fn sloten(&self) -> SLOTEN_R {
97682                    SLOTEN_R::new(((self.bits >> 16) & 0xffff) as u16)
97683                }
97684                ///Bits 8:11 - Number of slots in an audio frame
97685                #[inline(always)]
97686                pub fn nbslot(&self) -> NBSLOT_R {
97687                    NBSLOT_R::new(((self.bits >> 8) & 0x0f) as u8)
97688                }
97689                ///Bits 6:7 - Slot size
97690                #[inline(always)]
97691                pub fn slotsz(&self) -> SLOTSZ_R {
97692                    SLOTSZ_R::new(((self.bits >> 6) & 0x03) as u8)
97693                }
97694                ///Bits 0:4 - First bit offset
97695                #[inline(always)]
97696                pub fn fboff(&self) -> FBOFF_R {
97697                    FBOFF_R::new((self.bits & 0x1f) as u8)
97698                }
97699            }
97700            impl W {
97701                ///Bits 16:31 - Slot enable
97702                #[inline(always)]
97703                pub fn sloten(&mut self) -> SLOTEN_W {
97704                    SLOTEN_W { w: self }
97705                }
97706                ///Bits 8:11 - Number of slots in an audio frame
97707                #[inline(always)]
97708                pub fn nbslot(&mut self) -> NBSLOT_W {
97709                    NBSLOT_W { w: self }
97710                }
97711                ///Bits 6:7 - Slot size
97712                #[inline(always)]
97713                pub fn slotsz(&mut self) -> SLOTSZ_W {
97714                    SLOTSZ_W { w: self }
97715                }
97716                ///Bits 0:4 - First bit offset
97717                #[inline(always)]
97718                pub fn fboff(&mut self) -> FBOFF_W {
97719                    FBOFF_W { w: self }
97720                }
97721            }
97722        }
97723        ///AInterrupt mask register2
97724        ///
97725        ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
97726        ///
97727        ///For information about available fields see [im](im) module
97728        pub type IM = crate::Reg<u32, _IM>;
97729        #[allow(missing_docs)]
97730        #[doc(hidden)]
97731        pub struct _IM;
97732        ///`read()` method returns [im::R](im::R) reader structure
97733        impl crate::Readable for IM {}
97734        ///`write(|w| ..)` method takes [im::W](im::W) writer structure
97735        impl crate::Writable for IM {}
97736        ///AInterrupt mask register2
97737        pub mod im {
97738            ///Reader of register IM
97739            pub type R = crate::R<u32, super::IM>;
97740            ///Writer for register IM
97741            pub type W = crate::W<u32, super::IM>;
97742            ///Register IM `reset()`'s with value 0
97743            impl crate::ResetValue for super::IM {
97744                type Type = u32;
97745                #[inline(always)]
97746                fn reset_value() -> Self::Type {
97747                    0
97748                }
97749            }
97750            ///Reader of field `LFSDETIE`
97751            pub type LFSDETIE_R = crate::R<bool, bool>;
97752            ///Write proxy for field `LFSDETIE`
97753            pub struct LFSDETIE_W<'a> {
97754                w: &'a mut W,
97755            }
97756            impl<'a> LFSDETIE_W<'a> {
97757                ///Sets the field bit
97758                #[inline(always)]
97759                pub fn set_bit(self) -> &'a mut W {
97760                    self.bit(true)
97761                }
97762                ///Clears the field bit
97763                #[inline(always)]
97764                pub fn clear_bit(self) -> &'a mut W {
97765                    self.bit(false)
97766                }
97767                ///Writes raw bits to the field
97768                #[inline(always)]
97769                pub fn bit(self, value: bool) -> &'a mut W {
97770                    self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
97771                    self.w
97772                }
97773            }
97774            ///Reader of field `AFSDETIE`
97775            pub type AFSDETIE_R = crate::R<bool, bool>;
97776            ///Write proxy for field `AFSDETIE`
97777            pub struct AFSDETIE_W<'a> {
97778                w: &'a mut W,
97779            }
97780            impl<'a> AFSDETIE_W<'a> {
97781                ///Sets the field bit
97782                #[inline(always)]
97783                pub fn set_bit(self) -> &'a mut W {
97784                    self.bit(true)
97785                }
97786                ///Clears the field bit
97787                #[inline(always)]
97788                pub fn clear_bit(self) -> &'a mut W {
97789                    self.bit(false)
97790                }
97791                ///Writes raw bits to the field
97792                #[inline(always)]
97793                pub fn bit(self, value: bool) -> &'a mut W {
97794                    self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
97795                    self.w
97796                }
97797            }
97798            ///Reader of field `CNRDYIE`
97799            pub type CNRDYIE_R = crate::R<bool, bool>;
97800            ///Write proxy for field `CNRDYIE`
97801            pub struct CNRDYIE_W<'a> {
97802                w: &'a mut W,
97803            }
97804            impl<'a> CNRDYIE_W<'a> {
97805                ///Sets the field bit
97806                #[inline(always)]
97807                pub fn set_bit(self) -> &'a mut W {
97808                    self.bit(true)
97809                }
97810                ///Clears the field bit
97811                #[inline(always)]
97812                pub fn clear_bit(self) -> &'a mut W {
97813                    self.bit(false)
97814                }
97815                ///Writes raw bits to the field
97816                #[inline(always)]
97817                pub fn bit(self, value: bool) -> &'a mut W {
97818                    self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
97819                    self.w
97820                }
97821            }
97822            ///Reader of field `FREQIE`
97823            pub type FREQIE_R = crate::R<bool, bool>;
97824            ///Write proxy for field `FREQIE`
97825            pub struct FREQIE_W<'a> {
97826                w: &'a mut W,
97827            }
97828            impl<'a> FREQIE_W<'a> {
97829                ///Sets the field bit
97830                #[inline(always)]
97831                pub fn set_bit(self) -> &'a mut W {
97832                    self.bit(true)
97833                }
97834                ///Clears the field bit
97835                #[inline(always)]
97836                pub fn clear_bit(self) -> &'a mut W {
97837                    self.bit(false)
97838                }
97839                ///Writes raw bits to the field
97840                #[inline(always)]
97841                pub fn bit(self, value: bool) -> &'a mut W {
97842                    self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
97843                    self.w
97844                }
97845            }
97846            ///Reader of field `WCKCFGIE`
97847            pub type WCKCFGIE_R = crate::R<bool, bool>;
97848            ///Write proxy for field `WCKCFGIE`
97849            pub struct WCKCFGIE_W<'a> {
97850                w: &'a mut W,
97851            }
97852            impl<'a> WCKCFGIE_W<'a> {
97853                ///Sets the field bit
97854                #[inline(always)]
97855                pub fn set_bit(self) -> &'a mut W {
97856                    self.bit(true)
97857                }
97858                ///Clears the field bit
97859                #[inline(always)]
97860                pub fn clear_bit(self) -> &'a mut W {
97861                    self.bit(false)
97862                }
97863                ///Writes raw bits to the field
97864                #[inline(always)]
97865                pub fn bit(self, value: bool) -> &'a mut W {
97866                    self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
97867                    self.w
97868                }
97869            }
97870            ///Reader of field `MUTEDETIE`
97871            pub type MUTEDETIE_R = crate::R<bool, bool>;
97872            ///Write proxy for field `MUTEDETIE`
97873            pub struct MUTEDETIE_W<'a> {
97874                w: &'a mut W,
97875            }
97876            impl<'a> MUTEDETIE_W<'a> {
97877                ///Sets the field bit
97878                #[inline(always)]
97879                pub fn set_bit(self) -> &'a mut W {
97880                    self.bit(true)
97881                }
97882                ///Clears the field bit
97883                #[inline(always)]
97884                pub fn clear_bit(self) -> &'a mut W {
97885                    self.bit(false)
97886                }
97887                ///Writes raw bits to the field
97888                #[inline(always)]
97889                pub fn bit(self, value: bool) -> &'a mut W {
97890                    self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
97891                    self.w
97892                }
97893            }
97894            ///Reader of field `OVRUDRIE`
97895            pub type OVRUDRIE_R = crate::R<bool, bool>;
97896            ///Write proxy for field `OVRUDRIE`
97897            pub struct OVRUDRIE_W<'a> {
97898                w: &'a mut W,
97899            }
97900            impl<'a> OVRUDRIE_W<'a> {
97901                ///Sets the field bit
97902                #[inline(always)]
97903                pub fn set_bit(self) -> &'a mut W {
97904                    self.bit(true)
97905                }
97906                ///Clears the field bit
97907                #[inline(always)]
97908                pub fn clear_bit(self) -> &'a mut W {
97909                    self.bit(false)
97910                }
97911                ///Writes raw bits to the field
97912                #[inline(always)]
97913                pub fn bit(self, value: bool) -> &'a mut W {
97914                    self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
97915                    self.w
97916                }
97917            }
97918            impl R {
97919                ///Bit 6 - Late frame synchronization detection interrupt enable
97920                #[inline(always)]
97921                pub fn lfsdetie(&self) -> LFSDETIE_R {
97922                    LFSDETIE_R::new(((self.bits >> 6) & 0x01) != 0)
97923                }
97924                ///Bit 5 - Anticipated frame synchronization detection interrupt enable
97925                #[inline(always)]
97926                pub fn afsdetie(&self) -> AFSDETIE_R {
97927                    AFSDETIE_R::new(((self.bits >> 5) & 0x01) != 0)
97928                }
97929                ///Bit 4 - Codec not ready interrupt enable
97930                #[inline(always)]
97931                pub fn cnrdyie(&self) -> CNRDYIE_R {
97932                    CNRDYIE_R::new(((self.bits >> 4) & 0x01) != 0)
97933                }
97934                ///Bit 3 - FIFO request interrupt enable
97935                #[inline(always)]
97936                pub fn freqie(&self) -> FREQIE_R {
97937                    FREQIE_R::new(((self.bits >> 3) & 0x01) != 0)
97938                }
97939                ///Bit 2 - Wrong clock configuration interrupt enable
97940                #[inline(always)]
97941                pub fn wckcfgie(&self) -> WCKCFGIE_R {
97942                    WCKCFGIE_R::new(((self.bits >> 2) & 0x01) != 0)
97943                }
97944                ///Bit 1 - Mute detection interrupt enable
97945                #[inline(always)]
97946                pub fn mutedetie(&self) -> MUTEDETIE_R {
97947                    MUTEDETIE_R::new(((self.bits >> 1) & 0x01) != 0)
97948                }
97949                ///Bit 0 - Overrun/underrun interrupt enable
97950                #[inline(always)]
97951                pub fn ovrudrie(&self) -> OVRUDRIE_R {
97952                    OVRUDRIE_R::new((self.bits & 0x01) != 0)
97953                }
97954            }
97955            impl W {
97956                ///Bit 6 - Late frame synchronization detection interrupt enable
97957                #[inline(always)]
97958                pub fn lfsdetie(&mut self) -> LFSDETIE_W {
97959                    LFSDETIE_W { w: self }
97960                }
97961                ///Bit 5 - Anticipated frame synchronization detection interrupt enable
97962                #[inline(always)]
97963                pub fn afsdetie(&mut self) -> AFSDETIE_W {
97964                    AFSDETIE_W { w: self }
97965                }
97966                ///Bit 4 - Codec not ready interrupt enable
97967                #[inline(always)]
97968                pub fn cnrdyie(&mut self) -> CNRDYIE_W {
97969                    CNRDYIE_W { w: self }
97970                }
97971                ///Bit 3 - FIFO request interrupt enable
97972                #[inline(always)]
97973                pub fn freqie(&mut self) -> FREQIE_W {
97974                    FREQIE_W { w: self }
97975                }
97976                ///Bit 2 - Wrong clock configuration interrupt enable
97977                #[inline(always)]
97978                pub fn wckcfgie(&mut self) -> WCKCFGIE_W {
97979                    WCKCFGIE_W { w: self }
97980                }
97981                ///Bit 1 - Mute detection interrupt enable
97982                #[inline(always)]
97983                pub fn mutedetie(&mut self) -> MUTEDETIE_W {
97984                    MUTEDETIE_W { w: self }
97985                }
97986                ///Bit 0 - Overrun/underrun interrupt enable
97987                #[inline(always)]
97988                pub fn ovrudrie(&mut self) -> OVRUDRIE_W {
97989                    OVRUDRIE_W { w: self }
97990                }
97991            }
97992        }
97993        ///AStatus register
97994        ///
97995        ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
97996        ///
97997        ///For information about available fields see [sr](sr) module
97998        pub type SR = crate::Reg<u32, _SR>;
97999        #[allow(missing_docs)]
98000        #[doc(hidden)]
98001        pub struct _SR;
98002        ///`read()` method returns [sr::R](sr::R) reader structure
98003        impl crate::Readable for SR {}
98004        ///AStatus register
98005        pub mod sr {
98006            ///Reader of register SR
98007            pub type R = crate::R<u32, super::SR>;
98008            ///Reader of field `FLVL`
98009            pub type FLVL_R = crate::R<u8, u8>;
98010            ///Reader of field `LFSDET`
98011            pub type LFSDET_R = crate::R<bool, bool>;
98012            ///Reader of field `AFSDET`
98013            pub type AFSDET_R = crate::R<bool, bool>;
98014            ///Reader of field `CNRDY`
98015            pub type CNRDY_R = crate::R<bool, bool>;
98016            ///Reader of field `FREQ`
98017            pub type FREQ_R = crate::R<bool, bool>;
98018            ///Reader of field `WCKCFG`
98019            pub type WCKCFG_R = crate::R<bool, bool>;
98020            ///Reader of field `MUTEDET`
98021            pub type MUTEDET_R = crate::R<bool, bool>;
98022            ///Reader of field `OVRUDR`
98023            pub type OVRUDR_R = crate::R<bool, bool>;
98024            impl R {
98025                ///Bits 16:18 - FIFO level threshold
98026                #[inline(always)]
98027                pub fn flvl(&self) -> FLVL_R {
98028                    FLVL_R::new(((self.bits >> 16) & 0x07) as u8)
98029                }
98030                ///Bit 6 - Late frame synchronization detection
98031                #[inline(always)]
98032                pub fn lfsdet(&self) -> LFSDET_R {
98033                    LFSDET_R::new(((self.bits >> 6) & 0x01) != 0)
98034                }
98035                ///Bit 5 - Anticipated frame synchronization detection
98036                #[inline(always)]
98037                pub fn afsdet(&self) -> AFSDET_R {
98038                    AFSDET_R::new(((self.bits >> 5) & 0x01) != 0)
98039                }
98040                ///Bit 4 - Codec not ready
98041                #[inline(always)]
98042                pub fn cnrdy(&self) -> CNRDY_R {
98043                    CNRDY_R::new(((self.bits >> 4) & 0x01) != 0)
98044                }
98045                ///Bit 3 - FIFO request
98046                #[inline(always)]
98047                pub fn freq(&self) -> FREQ_R {
98048                    FREQ_R::new(((self.bits >> 3) & 0x01) != 0)
98049                }
98050                ///Bit 2 - Wrong clock configuration flag. This bit is read only
98051                #[inline(always)]
98052                pub fn wckcfg(&self) -> WCKCFG_R {
98053                    WCKCFG_R::new(((self.bits >> 2) & 0x01) != 0)
98054                }
98055                ///Bit 1 - Mute detection
98056                #[inline(always)]
98057                pub fn mutedet(&self) -> MUTEDET_R {
98058                    MUTEDET_R::new(((self.bits >> 1) & 0x01) != 0)
98059                }
98060                ///Bit 0 - Overrun / underrun
98061                #[inline(always)]
98062                pub fn ovrudr(&self) -> OVRUDR_R {
98063                    OVRUDR_R::new((self.bits & 0x01) != 0)
98064                }
98065            }
98066        }
98067        ///AClear flag register
98068        ///
98069        ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
98070        ///
98071        ///For information about available fields see [clrfr](clrfr) module
98072        pub type CLRFR = crate::Reg<u32, _CLRFR>;
98073        #[allow(missing_docs)]
98074        #[doc(hidden)]
98075        pub struct _CLRFR;
98076        ///`write(|w| ..)` method takes [clrfr::W](clrfr::W) writer structure
98077        impl crate::Writable for CLRFR {}
98078        ///AClear flag register
98079        pub mod clrfr {
98080            ///Writer for register CLRFR
98081            pub type W = crate::W<u32, super::CLRFR>;
98082            ///Register CLRFR `reset()`'s with value 0
98083            impl crate::ResetValue for super::CLRFR {
98084                type Type = u32;
98085                #[inline(always)]
98086                fn reset_value() -> Self::Type {
98087                    0
98088                }
98089            }
98090            ///Write proxy for field `CLFSDET`
98091            pub struct CLFSDET_W<'a> {
98092                w: &'a mut W,
98093            }
98094            impl<'a> CLFSDET_W<'a> {
98095                ///Sets the field bit
98096                #[inline(always)]
98097                pub fn set_bit(self) -> &'a mut W {
98098                    self.bit(true)
98099                }
98100                ///Clears the field bit
98101                #[inline(always)]
98102                pub fn clear_bit(self) -> &'a mut W {
98103                    self.bit(false)
98104                }
98105                ///Writes raw bits to the field
98106                #[inline(always)]
98107                pub fn bit(self, value: bool) -> &'a mut W {
98108                    self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
98109                    self.w
98110                }
98111            }
98112            ///Write proxy for field `CAFSDET`
98113            pub struct CAFSDET_W<'a> {
98114                w: &'a mut W,
98115            }
98116            impl<'a> CAFSDET_W<'a> {
98117                ///Sets the field bit
98118                #[inline(always)]
98119                pub fn set_bit(self) -> &'a mut W {
98120                    self.bit(true)
98121                }
98122                ///Clears the field bit
98123                #[inline(always)]
98124                pub fn clear_bit(self) -> &'a mut W {
98125                    self.bit(false)
98126                }
98127                ///Writes raw bits to the field
98128                #[inline(always)]
98129                pub fn bit(self, value: bool) -> &'a mut W {
98130                    self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
98131                    self.w
98132                }
98133            }
98134            ///Write proxy for field `CCNRDY`
98135            pub struct CCNRDY_W<'a> {
98136                w: &'a mut W,
98137            }
98138            impl<'a> CCNRDY_W<'a> {
98139                ///Sets the field bit
98140                #[inline(always)]
98141                pub fn set_bit(self) -> &'a mut W {
98142                    self.bit(true)
98143                }
98144                ///Clears the field bit
98145                #[inline(always)]
98146                pub fn clear_bit(self) -> &'a mut W {
98147                    self.bit(false)
98148                }
98149                ///Writes raw bits to the field
98150                #[inline(always)]
98151                pub fn bit(self, value: bool) -> &'a mut W {
98152                    self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
98153                    self.w
98154                }
98155            }
98156            ///Write proxy for field `CWCKCFG`
98157            pub struct CWCKCFG_W<'a> {
98158                w: &'a mut W,
98159            }
98160            impl<'a> CWCKCFG_W<'a> {
98161                ///Sets the field bit
98162                #[inline(always)]
98163                pub fn set_bit(self) -> &'a mut W {
98164                    self.bit(true)
98165                }
98166                ///Clears the field bit
98167                #[inline(always)]
98168                pub fn clear_bit(self) -> &'a mut W {
98169                    self.bit(false)
98170                }
98171                ///Writes raw bits to the field
98172                #[inline(always)]
98173                pub fn bit(self, value: bool) -> &'a mut W {
98174                    self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
98175                    self.w
98176                }
98177            }
98178            ///Write proxy for field `CMUTEDET`
98179            pub struct CMUTEDET_W<'a> {
98180                w: &'a mut W,
98181            }
98182            impl<'a> CMUTEDET_W<'a> {
98183                ///Sets the field bit
98184                #[inline(always)]
98185                pub fn set_bit(self) -> &'a mut W {
98186                    self.bit(true)
98187                }
98188                ///Clears the field bit
98189                #[inline(always)]
98190                pub fn clear_bit(self) -> &'a mut W {
98191                    self.bit(false)
98192                }
98193                ///Writes raw bits to the field
98194                #[inline(always)]
98195                pub fn bit(self, value: bool) -> &'a mut W {
98196                    self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
98197                    self.w
98198                }
98199            }
98200            ///Write proxy for field `COVRUDR`
98201            pub struct COVRUDR_W<'a> {
98202                w: &'a mut W,
98203            }
98204            impl<'a> COVRUDR_W<'a> {
98205                ///Sets the field bit
98206                #[inline(always)]
98207                pub fn set_bit(self) -> &'a mut W {
98208                    self.bit(true)
98209                }
98210                ///Clears the field bit
98211                #[inline(always)]
98212                pub fn clear_bit(self) -> &'a mut W {
98213                    self.bit(false)
98214                }
98215                ///Writes raw bits to the field
98216                #[inline(always)]
98217                pub fn bit(self, value: bool) -> &'a mut W {
98218                    self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
98219                    self.w
98220                }
98221            }
98222            impl W {
98223                ///Bit 6 - Clear late frame synchronization detection flag
98224                #[inline(always)]
98225                pub fn clfsdet(&mut self) -> CLFSDET_W {
98226                    CLFSDET_W { w: self }
98227                }
98228                ///Bit 5 - Clear anticipated frame synchronization detection flag
98229                #[inline(always)]
98230                pub fn cafsdet(&mut self) -> CAFSDET_W {
98231                    CAFSDET_W { w: self }
98232                }
98233                ///Bit 4 - Clear codec not ready flag
98234                #[inline(always)]
98235                pub fn ccnrdy(&mut self) -> CCNRDY_W {
98236                    CCNRDY_W { w: self }
98237                }
98238                ///Bit 2 - Clear wrong clock configuration flag
98239                #[inline(always)]
98240                pub fn cwckcfg(&mut self) -> CWCKCFG_W {
98241                    CWCKCFG_W { w: self }
98242                }
98243                ///Bit 1 - Mute detection flag
98244                #[inline(always)]
98245                pub fn cmutedet(&mut self) -> CMUTEDET_W {
98246                    CMUTEDET_W { w: self }
98247                }
98248                ///Bit 0 - Clear overrun / underrun
98249                #[inline(always)]
98250                pub fn covrudr(&mut self) -> COVRUDR_W {
98251                    COVRUDR_W { w: self }
98252                }
98253            }
98254        }
98255        ///AData register
98256        ///
98257        ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
98258        ///
98259        ///For information about available fields see [dr](dr) module
98260        pub type DR = crate::Reg<u32, _DR>;
98261        #[allow(missing_docs)]
98262        #[doc(hidden)]
98263        pub struct _DR;
98264        ///`read()` method returns [dr::R](dr::R) reader structure
98265        impl crate::Readable for DR {}
98266        ///`write(|w| ..)` method takes [dr::W](dr::W) writer structure
98267        impl crate::Writable for DR {}
98268        ///AData register
98269        pub mod dr {
98270            ///Reader of register DR
98271            pub type R = crate::R<u32, super::DR>;
98272            ///Writer for register DR
98273            pub type W = crate::W<u32, super::DR>;
98274            ///Register DR `reset()`'s with value 0
98275            impl crate::ResetValue for super::DR {
98276                type Type = u32;
98277                #[inline(always)]
98278                fn reset_value() -> Self::Type {
98279                    0
98280                }
98281            }
98282            ///Reader of field `DATA`
98283            pub type DATA_R = crate::R<u32, u32>;
98284            ///Write proxy for field `DATA`
98285            pub struct DATA_W<'a> {
98286                w: &'a mut W,
98287            }
98288            impl<'a> DATA_W<'a> {
98289                ///Writes raw bits to the field
98290                #[inline(always)]
98291                pub unsafe fn bits(self, value: u32) -> &'a mut W {
98292                    self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
98293                    self.w
98294                }
98295            }
98296            impl R {
98297                ///Bits 0:31 - Data
98298                #[inline(always)]
98299                pub fn data(&self) -> DATA_R {
98300                    DATA_R::new((self.bits & 0xffff_ffff) as u32)
98301                }
98302            }
98303            impl W {
98304                ///Bits 0:31 - Data
98305                #[inline(always)]
98306                pub fn data(&mut self) -> DATA_W {
98307                    DATA_W { w: self }
98308                }
98309            }
98310        }
98311    }
98312    ///Global configuration register
98313    ///
98314    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
98315    ///
98316    ///For information about available fields see [gcr](gcr) module
98317    pub type GCR = crate::Reg<u32, _GCR>;
98318    #[allow(missing_docs)]
98319    #[doc(hidden)]
98320    pub struct _GCR;
98321    ///`read()` method returns [gcr::R](gcr::R) reader structure
98322    impl crate::Readable for GCR {}
98323    ///`write(|w| ..)` method takes [gcr::W](gcr::W) writer structure
98324    impl crate::Writable for GCR {}
98325    ///Global configuration register
98326    pub mod gcr {
98327        ///Reader of register GCR
98328        pub type R = crate::R<u32, super::GCR>;
98329        ///Writer for register GCR
98330        pub type W = crate::W<u32, super::GCR>;
98331        ///Register GCR `reset()`'s with value 0
98332        impl crate::ResetValue for super::GCR {
98333            type Type = u32;
98334            #[inline(always)]
98335            fn reset_value() -> Self::Type {
98336                0
98337            }
98338        }
98339        ///Reader of field `SYNCOUT`
98340        pub type SYNCOUT_R = crate::R<u8, u8>;
98341        ///Write proxy for field `SYNCOUT`
98342        pub struct SYNCOUT_W<'a> {
98343            w: &'a mut W,
98344        }
98345        impl<'a> SYNCOUT_W<'a> {
98346            ///Writes raw bits to the field
98347            #[inline(always)]
98348            pub unsafe fn bits(self, value: u8) -> &'a mut W {
98349                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u32) & 0x03) << 4);
98350                self.w
98351            }
98352        }
98353        ///Reader of field `SYNCIN`
98354        pub type SYNCIN_R = crate::R<u8, u8>;
98355        ///Write proxy for field `SYNCIN`
98356        pub struct SYNCIN_W<'a> {
98357            w: &'a mut W,
98358        }
98359        impl<'a> SYNCIN_W<'a> {
98360            ///Writes raw bits to the field
98361            #[inline(always)]
98362            pub unsafe fn bits(self, value: u8) -> &'a mut W {
98363                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
98364                self.w
98365            }
98366        }
98367        impl R {
98368            ///Bits 4:5 - Synchronization outputs
98369            #[inline(always)]
98370            pub fn syncout(&self) -> SYNCOUT_R {
98371                SYNCOUT_R::new(((self.bits >> 4) & 0x03) as u8)
98372            }
98373            ///Bits 0:1 - Synchronization inputs
98374            #[inline(always)]
98375            pub fn syncin(&self) -> SYNCIN_R {
98376                SYNCIN_R::new((self.bits & 0x03) as u8)
98377            }
98378        }
98379        impl W {
98380            ///Bits 4:5 - Synchronization outputs
98381            #[inline(always)]
98382            pub fn syncout(&mut self) -> SYNCOUT_W {
98383                SYNCOUT_W { w: self }
98384            }
98385            ///Bits 0:1 - Synchronization inputs
98386            #[inline(always)]
98387            pub fn syncin(&mut self) -> SYNCIN_W {
98388                SYNCIN_W { w: self }
98389            }
98390        }
98391    }
98392    ///PDM control register
98393    ///
98394    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
98395    ///
98396    ///For information about available fields see [pdmcr](pdmcr) module
98397    pub type PDMCR = crate::Reg<u32, _PDMCR>;
98398    #[allow(missing_docs)]
98399    #[doc(hidden)]
98400    pub struct _PDMCR;
98401    ///`read()` method returns [pdmcr::R](pdmcr::R) reader structure
98402    impl crate::Readable for PDMCR {}
98403    ///`write(|w| ..)` method takes [pdmcr::W](pdmcr::W) writer structure
98404    impl crate::Writable for PDMCR {}
98405    ///PDM control register
98406    pub mod pdmcr {
98407        ///Reader of register PDMCR
98408        pub type R = crate::R<u32, super::PDMCR>;
98409        ///Writer for register PDMCR
98410        pub type W = crate::W<u32, super::PDMCR>;
98411        ///Register PDMCR `reset()`'s with value 0
98412        impl crate::ResetValue for super::PDMCR {
98413            type Type = u32;
98414            #[inline(always)]
98415            fn reset_value() -> Self::Type {
98416                0
98417            }
98418        }
98419        ///Reader of field `CKEN4`
98420        pub type CKEN4_R = crate::R<bool, bool>;
98421        ///Write proxy for field `CKEN4`
98422        pub struct CKEN4_W<'a> {
98423            w: &'a mut W,
98424        }
98425        impl<'a> CKEN4_W<'a> {
98426            ///Sets the field bit
98427            #[inline(always)]
98428            pub fn set_bit(self) -> &'a mut W {
98429                self.bit(true)
98430            }
98431            ///Clears the field bit
98432            #[inline(always)]
98433            pub fn clear_bit(self) -> &'a mut W {
98434                self.bit(false)
98435            }
98436            ///Writes raw bits to the field
98437            #[inline(always)]
98438            pub fn bit(self, value: bool) -> &'a mut W {
98439                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
98440                self.w
98441            }
98442        }
98443        ///Reader of field `CKEN3`
98444        pub type CKEN3_R = crate::R<bool, bool>;
98445        ///Write proxy for field `CKEN3`
98446        pub struct CKEN3_W<'a> {
98447            w: &'a mut W,
98448        }
98449        impl<'a> CKEN3_W<'a> {
98450            ///Sets the field bit
98451            #[inline(always)]
98452            pub fn set_bit(self) -> &'a mut W {
98453                self.bit(true)
98454            }
98455            ///Clears the field bit
98456            #[inline(always)]
98457            pub fn clear_bit(self) -> &'a mut W {
98458                self.bit(false)
98459            }
98460            ///Writes raw bits to the field
98461            #[inline(always)]
98462            pub fn bit(self, value: bool) -> &'a mut W {
98463                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
98464                self.w
98465            }
98466        }
98467        ///Reader of field `CKEN2`
98468        pub type CKEN2_R = crate::R<bool, bool>;
98469        ///Write proxy for field `CKEN2`
98470        pub struct CKEN2_W<'a> {
98471            w: &'a mut W,
98472        }
98473        impl<'a> CKEN2_W<'a> {
98474            ///Sets the field bit
98475            #[inline(always)]
98476            pub fn set_bit(self) -> &'a mut W {
98477                self.bit(true)
98478            }
98479            ///Clears the field bit
98480            #[inline(always)]
98481            pub fn clear_bit(self) -> &'a mut W {
98482                self.bit(false)
98483            }
98484            ///Writes raw bits to the field
98485            #[inline(always)]
98486            pub fn bit(self, value: bool) -> &'a mut W {
98487                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
98488                self.w
98489            }
98490        }
98491        ///Reader of field `CKEN1`
98492        pub type CKEN1_R = crate::R<bool, bool>;
98493        ///Write proxy for field `CKEN1`
98494        pub struct CKEN1_W<'a> {
98495            w: &'a mut W,
98496        }
98497        impl<'a> CKEN1_W<'a> {
98498            ///Sets the field bit
98499            #[inline(always)]
98500            pub fn set_bit(self) -> &'a mut W {
98501                self.bit(true)
98502            }
98503            ///Clears the field bit
98504            #[inline(always)]
98505            pub fn clear_bit(self) -> &'a mut W {
98506                self.bit(false)
98507            }
98508            ///Writes raw bits to the field
98509            #[inline(always)]
98510            pub fn bit(self, value: bool) -> &'a mut W {
98511                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
98512                self.w
98513            }
98514        }
98515        ///Reader of field `MICNBR`
98516        pub type MICNBR_R = crate::R<u8, u8>;
98517        ///Write proxy for field `MICNBR`
98518        pub struct MICNBR_W<'a> {
98519            w: &'a mut W,
98520        }
98521        impl<'a> MICNBR_W<'a> {
98522            ///Writes raw bits to the field
98523            #[inline(always)]
98524            pub unsafe fn bits(self, value: u8) -> &'a mut W {
98525                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u32) & 0x03) << 4);
98526                self.w
98527            }
98528        }
98529        ///Reader of field `PDMEN`
98530        pub type PDMEN_R = crate::R<bool, bool>;
98531        ///Write proxy for field `PDMEN`
98532        pub struct PDMEN_W<'a> {
98533            w: &'a mut W,
98534        }
98535        impl<'a> PDMEN_W<'a> {
98536            ///Sets the field bit
98537            #[inline(always)]
98538            pub fn set_bit(self) -> &'a mut W {
98539                self.bit(true)
98540            }
98541            ///Clears the field bit
98542            #[inline(always)]
98543            pub fn clear_bit(self) -> &'a mut W {
98544                self.bit(false)
98545            }
98546            ///Writes raw bits to the field
98547            #[inline(always)]
98548            pub fn bit(self, value: bool) -> &'a mut W {
98549                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
98550                self.w
98551            }
98552        }
98553        impl R {
98554            ///Bit 11 - Clock enable of bitstream clock number 4
98555            #[inline(always)]
98556            pub fn cken4(&self) -> CKEN4_R {
98557                CKEN4_R::new(((self.bits >> 11) & 0x01) != 0)
98558            }
98559            ///Bit 10 - Clock enable of bitstream clock number 3
98560            #[inline(always)]
98561            pub fn cken3(&self) -> CKEN3_R {
98562                CKEN3_R::new(((self.bits >> 10) & 0x01) != 0)
98563            }
98564            ///Bit 9 - Clock enable of bitstream clock number 2
98565            #[inline(always)]
98566            pub fn cken2(&self) -> CKEN2_R {
98567                CKEN2_R::new(((self.bits >> 9) & 0x01) != 0)
98568            }
98569            ///Bit 8 - Clock enable of bitstream clock number 1
98570            #[inline(always)]
98571            pub fn cken1(&self) -> CKEN1_R {
98572                CKEN1_R::new(((self.bits >> 8) & 0x01) != 0)
98573            }
98574            ///Bits 4:5 - Number of microphones
98575            #[inline(always)]
98576            pub fn micnbr(&self) -> MICNBR_R {
98577                MICNBR_R::new(((self.bits >> 4) & 0x03) as u8)
98578            }
98579            ///Bit 0 - PDM enable
98580            #[inline(always)]
98581            pub fn pdmen(&self) -> PDMEN_R {
98582                PDMEN_R::new((self.bits & 0x01) != 0)
98583            }
98584        }
98585        impl W {
98586            ///Bit 11 - Clock enable of bitstream clock number 4
98587            #[inline(always)]
98588            pub fn cken4(&mut self) -> CKEN4_W {
98589                CKEN4_W { w: self }
98590            }
98591            ///Bit 10 - Clock enable of bitstream clock number 3
98592            #[inline(always)]
98593            pub fn cken3(&mut self) -> CKEN3_W {
98594                CKEN3_W { w: self }
98595            }
98596            ///Bit 9 - Clock enable of bitstream clock number 2
98597            #[inline(always)]
98598            pub fn cken2(&mut self) -> CKEN2_W {
98599                CKEN2_W { w: self }
98600            }
98601            ///Bit 8 - Clock enable of bitstream clock number 1
98602            #[inline(always)]
98603            pub fn cken1(&mut self) -> CKEN1_W {
98604                CKEN1_W { w: self }
98605            }
98606            ///Bits 4:5 - Number of microphones
98607            #[inline(always)]
98608            pub fn micnbr(&mut self) -> MICNBR_W {
98609                MICNBR_W { w: self }
98610            }
98611            ///Bit 0 - PDM enable
98612            #[inline(always)]
98613            pub fn pdmen(&mut self) -> PDMEN_W {
98614                PDMEN_W { w: self }
98615            }
98616        }
98617    }
98618    ///PDM delay register
98619    ///
98620    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
98621    ///
98622    ///For information about available fields see [pdmdly](pdmdly) module
98623    pub type PDMDLY = crate::Reg<u32, _PDMDLY>;
98624    #[allow(missing_docs)]
98625    #[doc(hidden)]
98626    pub struct _PDMDLY;
98627    ///`read()` method returns [pdmdly::R](pdmdly::R) reader structure
98628    impl crate::Readable for PDMDLY {}
98629    ///`write(|w| ..)` method takes [pdmdly::W](pdmdly::W) writer structure
98630    impl crate::Writable for PDMDLY {}
98631    ///PDM delay register
98632    pub mod pdmdly {
98633        ///Reader of register PDMDLY
98634        pub type R = crate::R<u32, super::PDMDLY>;
98635        ///Writer for register PDMDLY
98636        pub type W = crate::W<u32, super::PDMDLY>;
98637        ///Register PDMDLY `reset()`'s with value 0
98638        impl crate::ResetValue for super::PDMDLY {
98639            type Type = u32;
98640            #[inline(always)]
98641            fn reset_value() -> Self::Type {
98642                0
98643            }
98644        }
98645        ///Reader of field `DLYM4R`
98646        pub type DLYM4R_R = crate::R<u8, u8>;
98647        ///Write proxy for field `DLYM4R`
98648        pub struct DLYM4R_W<'a> {
98649            w: &'a mut W,
98650        }
98651        impl<'a> DLYM4R_W<'a> {
98652            ///Writes raw bits to the field
98653            #[inline(always)]
98654            pub unsafe fn bits(self, value: u8) -> &'a mut W {
98655                self.w.bits = (self.w.bits & !(0x07 << 28)) | (((value as u32) & 0x07) << 28);
98656                self.w
98657            }
98658        }
98659        ///Reader of field `DLYM4L`
98660        pub type DLYM4L_R = crate::R<u8, u8>;
98661        ///Write proxy for field `DLYM4L`
98662        pub struct DLYM4L_W<'a> {
98663            w: &'a mut W,
98664        }
98665        impl<'a> DLYM4L_W<'a> {
98666            ///Writes raw bits to the field
98667            #[inline(always)]
98668            pub unsafe fn bits(self, value: u8) -> &'a mut W {
98669                self.w.bits = (self.w.bits & !(0x07 << 24)) | (((value as u32) & 0x07) << 24);
98670                self.w
98671            }
98672        }
98673        ///Reader of field `DLYM3R`
98674        pub type DLYM3R_R = crate::R<u8, u8>;
98675        ///Write proxy for field `DLYM3R`
98676        pub struct DLYM3R_W<'a> {
98677            w: &'a mut W,
98678        }
98679        impl<'a> DLYM3R_W<'a> {
98680            ///Writes raw bits to the field
98681            #[inline(always)]
98682            pub unsafe fn bits(self, value: u8) -> &'a mut W {
98683                self.w.bits = (self.w.bits & !(0x07 << 20)) | (((value as u32) & 0x07) << 20);
98684                self.w
98685            }
98686        }
98687        ///Reader of field `DLYM3L`
98688        pub type DLYM3L_R = crate::R<u8, u8>;
98689        ///Write proxy for field `DLYM3L`
98690        pub struct DLYM3L_W<'a> {
98691            w: &'a mut W,
98692        }
98693        impl<'a> DLYM3L_W<'a> {
98694            ///Writes raw bits to the field
98695            #[inline(always)]
98696            pub unsafe fn bits(self, value: u8) -> &'a mut W {
98697                self.w.bits = (self.w.bits & !(0x07 << 16)) | (((value as u32) & 0x07) << 16);
98698                self.w
98699            }
98700        }
98701        ///Reader of field `DLYM2R`
98702        pub type DLYM2R_R = crate::R<u8, u8>;
98703        ///Write proxy for field `DLYM2R`
98704        pub struct DLYM2R_W<'a> {
98705            w: &'a mut W,
98706        }
98707        impl<'a> DLYM2R_W<'a> {
98708            ///Writes raw bits to the field
98709            #[inline(always)]
98710            pub unsafe fn bits(self, value: u8) -> &'a mut W {
98711                self.w.bits = (self.w.bits & !(0x07 << 12)) | (((value as u32) & 0x07) << 12);
98712                self.w
98713            }
98714        }
98715        ///Reader of field `DLYM2L`
98716        pub type DLYM2L_R = crate::R<u8, u8>;
98717        ///Write proxy for field `DLYM2L`
98718        pub struct DLYM2L_W<'a> {
98719            w: &'a mut W,
98720        }
98721        impl<'a> DLYM2L_W<'a> {
98722            ///Writes raw bits to the field
98723            #[inline(always)]
98724            pub unsafe fn bits(self, value: u8) -> &'a mut W {
98725                self.w.bits = (self.w.bits & !(0x07 << 8)) | (((value as u32) & 0x07) << 8);
98726                self.w
98727            }
98728        }
98729        ///Reader of field `DLYM1R`
98730        pub type DLYM1R_R = crate::R<u8, u8>;
98731        ///Write proxy for field `DLYM1R`
98732        pub struct DLYM1R_W<'a> {
98733            w: &'a mut W,
98734        }
98735        impl<'a> DLYM1R_W<'a> {
98736            ///Writes raw bits to the field
98737            #[inline(always)]
98738            pub unsafe fn bits(self, value: u8) -> &'a mut W {
98739                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
98740                self.w
98741            }
98742        }
98743        ///Reader of field `DLYM1L`
98744        pub type DLYM1L_R = crate::R<u8, u8>;
98745        ///Write proxy for field `DLYM1L`
98746        pub struct DLYM1L_W<'a> {
98747            w: &'a mut W,
98748        }
98749        impl<'a> DLYM1L_W<'a> {
98750            ///Writes raw bits to the field
98751            #[inline(always)]
98752            pub unsafe fn bits(self, value: u8) -> &'a mut W {
98753                self.w.bits = (self.w.bits & !0x07) | ((value as u32) & 0x07);
98754                self.w
98755            }
98756        }
98757        impl R {
98758            ///Bits 28:30 - Delay line for second microphone of pair 4
98759            #[inline(always)]
98760            pub fn dlym4r(&self) -> DLYM4R_R {
98761                DLYM4R_R::new(((self.bits >> 28) & 0x07) as u8)
98762            }
98763            ///Bits 24:26 - Delay line for first microphone of pair 4
98764            #[inline(always)]
98765            pub fn dlym4l(&self) -> DLYM4L_R {
98766                DLYM4L_R::new(((self.bits >> 24) & 0x07) as u8)
98767            }
98768            ///Bits 20:22 - Delay line for second microphone of pair 3
98769            #[inline(always)]
98770            pub fn dlym3r(&self) -> DLYM3R_R {
98771                DLYM3R_R::new(((self.bits >> 20) & 0x07) as u8)
98772            }
98773            ///Bits 16:18 - Delay line for first microphone of pair 3
98774            #[inline(always)]
98775            pub fn dlym3l(&self) -> DLYM3L_R {
98776                DLYM3L_R::new(((self.bits >> 16) & 0x07) as u8)
98777            }
98778            ///Bits 12:14 - Delay line for second microphone of pair 2
98779            #[inline(always)]
98780            pub fn dlym2r(&self) -> DLYM2R_R {
98781                DLYM2R_R::new(((self.bits >> 12) & 0x07) as u8)
98782            }
98783            ///Bits 8:10 - Delay line for first microphone of pair 2
98784            #[inline(always)]
98785            pub fn dlym2l(&self) -> DLYM2L_R {
98786                DLYM2L_R::new(((self.bits >> 8) & 0x07) as u8)
98787            }
98788            ///Bits 4:6 - Delay line for second microphone of pair 1
98789            #[inline(always)]
98790            pub fn dlym1r(&self) -> DLYM1R_R {
98791                DLYM1R_R::new(((self.bits >> 4) & 0x07) as u8)
98792            }
98793            ///Bits 0:2 - Delay line for first microphone of pair 1
98794            #[inline(always)]
98795            pub fn dlym1l(&self) -> DLYM1L_R {
98796                DLYM1L_R::new((self.bits & 0x07) as u8)
98797            }
98798        }
98799        impl W {
98800            ///Bits 28:30 - Delay line for second microphone of pair 4
98801            #[inline(always)]
98802            pub fn dlym4r(&mut self) -> DLYM4R_W {
98803                DLYM4R_W { w: self }
98804            }
98805            ///Bits 24:26 - Delay line for first microphone of pair 4
98806            #[inline(always)]
98807            pub fn dlym4l(&mut self) -> DLYM4L_W {
98808                DLYM4L_W { w: self }
98809            }
98810            ///Bits 20:22 - Delay line for second microphone of pair 3
98811            #[inline(always)]
98812            pub fn dlym3r(&mut self) -> DLYM3R_W {
98813                DLYM3R_W { w: self }
98814            }
98815            ///Bits 16:18 - Delay line for first microphone of pair 3
98816            #[inline(always)]
98817            pub fn dlym3l(&mut self) -> DLYM3L_W {
98818                DLYM3L_W { w: self }
98819            }
98820            ///Bits 12:14 - Delay line for second microphone of pair 2
98821            #[inline(always)]
98822            pub fn dlym2r(&mut self) -> DLYM2R_W {
98823                DLYM2R_W { w: self }
98824            }
98825            ///Bits 8:10 - Delay line for first microphone of pair 2
98826            #[inline(always)]
98827            pub fn dlym2l(&mut self) -> DLYM2L_W {
98828                DLYM2L_W { w: self }
98829            }
98830            ///Bits 4:6 - Delay line for second microphone of pair 1
98831            #[inline(always)]
98832            pub fn dlym1r(&mut self) -> DLYM1R_W {
98833                DLYM1R_W { w: self }
98834            }
98835            ///Bits 0:2 - Delay line for first microphone of pair 1
98836            #[inline(always)]
98837            pub fn dlym1l(&mut self) -> DLYM1L_W {
98838                DLYM1L_W { w: self }
98839            }
98840        }
98841    }
98842}
98843///General-purpose-timers
98844pub struct TIM2 {
98845    _marker: PhantomData<*const ()>,
98846}
98847unsafe impl Send for TIM2 {}
98848impl TIM2 {
98849    ///Returns a pointer to the register block
98850    #[inline(always)]
98851    pub const fn ptr() -> *const tim2::RegisterBlock {
98852        0x4000_0000 as *const _
98853    }
98854}
98855impl Deref for TIM2 {
98856    type Target = tim2::RegisterBlock;
98857    #[inline(always)]
98858    fn deref(&self) -> &Self::Target {
98859        unsafe { &*TIM2::ptr() }
98860    }
98861}
98862///General-purpose-timers
98863pub mod tim2 {
98864    ///Register block
98865    #[repr(C)]
98866    pub struct RegisterBlock {
98867        ///0x00 - control register 1
98868        pub cr1: CR1,
98869        ///0x04 - control register 2
98870        pub cr2: CR2,
98871        ///0x08 - slave mode control register
98872        pub smcr: SMCR,
98873        ///0x0c - DMA/Interrupt enable register
98874        pub dier: DIER,
98875        ///0x10 - status register
98876        pub sr: SR,
98877        ///0x14 - event generation register
98878        pub egr: EGR,
98879        _reserved_6_ccmr1: [u8; 4usize],
98880        _reserved_7_ccmr2: [u8; 4usize],
98881        ///0x20 - capture/compare enable register
98882        pub ccer: CCER,
98883        ///0x24 - counter
98884        pub cnt: CNT,
98885        ///0x28 - prescaler
98886        pub psc: PSC,
98887        ///0x2c - auto-reload register
98888        pub arr: ARR,
98889        _reserved12: [u8; 4usize],
98890        ///0x34 - capture/compare register 1
98891        pub ccr1: CCR1,
98892        ///0x38 - capture/compare register 2
98893        pub ccr2: CCR2,
98894        ///0x3c - capture/compare register 3
98895        pub ccr3: CCR3,
98896        ///0x40 - capture/compare register 4
98897        pub ccr4: CCR4,
98898        _reserved16: [u8; 4usize],
98899        ///0x48 - DMA control register
98900        pub dcr: DCR,
98901        ///0x4c - DMA address for full transfer
98902        pub dmar: DMAR,
98903        ///0x50 - TIM2 option register
98904        pub or: OR,
98905        _reserved19: [u8; 12usize],
98906        ///0x60 - TIM2 alternate function option register 1
98907        pub af: AF,
98908    }
98909    impl RegisterBlock {
98910        ///0x18 - capture/compare mode register 1 (input mode)
98911        #[inline(always)]
98912        pub fn ccmr1_input(&self) -> &CCMR1_INPUT {
98913            unsafe { &*(((self as *const Self) as *const u8).add(24usize) as *const CCMR1_INPUT) }
98914        }
98915        ///0x18 - capture/compare mode register 1 (input mode)
98916        #[inline(always)]
98917        pub fn ccmr1_input_mut(&self) -> &mut CCMR1_INPUT {
98918            unsafe { &mut *(((self as *const Self) as *mut u8).add(24usize) as *mut CCMR1_INPUT) }
98919        }
98920        ///0x18 - capture/compare mode register 1 (output mode)
98921        #[inline(always)]
98922        pub fn ccmr1_output(&self) -> &CCMR1_OUTPUT {
98923            unsafe { &*(((self as *const Self) as *const u8).add(24usize) as *const CCMR1_OUTPUT) }
98924        }
98925        ///0x18 - capture/compare mode register 1 (output mode)
98926        #[inline(always)]
98927        pub fn ccmr1_output_mut(&self) -> &mut CCMR1_OUTPUT {
98928            unsafe { &mut *(((self as *const Self) as *mut u8).add(24usize) as *mut CCMR1_OUTPUT) }
98929        }
98930        ///0x1c - capture/compare mode register 2 (input mode)
98931        #[inline(always)]
98932        pub fn ccmr2_input(&self) -> &CCMR2_INPUT {
98933            unsafe { &*(((self as *const Self) as *const u8).add(28usize) as *const CCMR2_INPUT) }
98934        }
98935        ///0x1c - capture/compare mode register 2 (input mode)
98936        #[inline(always)]
98937        pub fn ccmr2_input_mut(&self) -> &mut CCMR2_INPUT {
98938            unsafe { &mut *(((self as *const Self) as *mut u8).add(28usize) as *mut CCMR2_INPUT) }
98939        }
98940        ///0x1c - capture/compare mode register 2 (output mode)
98941        #[inline(always)]
98942        pub fn ccmr2_output(&self) -> &CCMR2_OUTPUT {
98943            unsafe { &*(((self as *const Self) as *const u8).add(28usize) as *const CCMR2_OUTPUT) }
98944        }
98945        ///0x1c - capture/compare mode register 2 (output mode)
98946        #[inline(always)]
98947        pub fn ccmr2_output_mut(&self) -> &mut CCMR2_OUTPUT {
98948            unsafe { &mut *(((self as *const Self) as *mut u8).add(28usize) as *mut CCMR2_OUTPUT) }
98949        }
98950    }
98951    ///control register 1
98952    ///
98953    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
98954    ///
98955    ///For information about available fields see [cr1](cr1) module
98956    pub type CR1 = crate::Reg<u32, _CR1>;
98957    #[allow(missing_docs)]
98958    #[doc(hidden)]
98959    pub struct _CR1;
98960    ///`read()` method returns [cr1::R](cr1::R) reader structure
98961    impl crate::Readable for CR1 {}
98962    ///`write(|w| ..)` method takes [cr1::W](cr1::W) writer structure
98963    impl crate::Writable for CR1 {}
98964    ///control register 1
98965    pub mod cr1 {
98966        ///Reader of register CR1
98967        pub type R = crate::R<u32, super::CR1>;
98968        ///Writer for register CR1
98969        pub type W = crate::W<u32, super::CR1>;
98970        ///Register CR1 `reset()`'s with value 0
98971        impl crate::ResetValue for super::CR1 {
98972            type Type = u32;
98973            #[inline(always)]
98974            fn reset_value() -> Self::Type {
98975                0
98976            }
98977        }
98978        ///Reader of field `UIFREMAP`
98979        pub type UIFREMAP_R = crate::R<bool, bool>;
98980        ///Write proxy for field `UIFREMAP`
98981        pub struct UIFREMAP_W<'a> {
98982            w: &'a mut W,
98983        }
98984        impl<'a> UIFREMAP_W<'a> {
98985            ///Sets the field bit
98986            #[inline(always)]
98987            pub fn set_bit(self) -> &'a mut W {
98988                self.bit(true)
98989            }
98990            ///Clears the field bit
98991            #[inline(always)]
98992            pub fn clear_bit(self) -> &'a mut W {
98993                self.bit(false)
98994            }
98995            ///Writes raw bits to the field
98996            #[inline(always)]
98997            pub fn bit(self, value: bool) -> &'a mut W {
98998                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
98999                self.w
99000            }
99001        }
99002        ///Reader of field `CKD`
99003        pub type CKD_R = crate::R<u8, u8>;
99004        ///Write proxy for field `CKD`
99005        pub struct CKD_W<'a> {
99006            w: &'a mut W,
99007        }
99008        impl<'a> CKD_W<'a> {
99009            ///Writes raw bits to the field
99010            #[inline(always)]
99011            pub unsafe fn bits(self, value: u8) -> &'a mut W {
99012                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
99013                self.w
99014            }
99015        }
99016        ///Reader of field `ARPE`
99017        pub type ARPE_R = crate::R<bool, bool>;
99018        ///Write proxy for field `ARPE`
99019        pub struct ARPE_W<'a> {
99020            w: &'a mut W,
99021        }
99022        impl<'a> ARPE_W<'a> {
99023            ///Sets the field bit
99024            #[inline(always)]
99025            pub fn set_bit(self) -> &'a mut W {
99026                self.bit(true)
99027            }
99028            ///Clears the field bit
99029            #[inline(always)]
99030            pub fn clear_bit(self) -> &'a mut W {
99031                self.bit(false)
99032            }
99033            ///Writes raw bits to the field
99034            #[inline(always)]
99035            pub fn bit(self, value: bool) -> &'a mut W {
99036                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
99037                self.w
99038            }
99039        }
99040        ///Reader of field `CMS`
99041        pub type CMS_R = crate::R<u8, u8>;
99042        ///Write proxy for field `CMS`
99043        pub struct CMS_W<'a> {
99044            w: &'a mut W,
99045        }
99046        impl<'a> CMS_W<'a> {
99047            ///Writes raw bits to the field
99048            #[inline(always)]
99049            pub unsafe fn bits(self, value: u8) -> &'a mut W {
99050                self.w.bits = (self.w.bits & !(0x03 << 5)) | (((value as u32) & 0x03) << 5);
99051                self.w
99052            }
99053        }
99054        ///Reader of field `DIR`
99055        pub type DIR_R = crate::R<bool, bool>;
99056        ///Write proxy for field `DIR`
99057        pub struct DIR_W<'a> {
99058            w: &'a mut W,
99059        }
99060        impl<'a> DIR_W<'a> {
99061            ///Sets the field bit
99062            #[inline(always)]
99063            pub fn set_bit(self) -> &'a mut W {
99064                self.bit(true)
99065            }
99066            ///Clears the field bit
99067            #[inline(always)]
99068            pub fn clear_bit(self) -> &'a mut W {
99069                self.bit(false)
99070            }
99071            ///Writes raw bits to the field
99072            #[inline(always)]
99073            pub fn bit(self, value: bool) -> &'a mut W {
99074                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
99075                self.w
99076            }
99077        }
99078        ///Reader of field `OPM`
99079        pub type OPM_R = crate::R<bool, bool>;
99080        ///Write proxy for field `OPM`
99081        pub struct OPM_W<'a> {
99082            w: &'a mut W,
99083        }
99084        impl<'a> OPM_W<'a> {
99085            ///Sets the field bit
99086            #[inline(always)]
99087            pub fn set_bit(self) -> &'a mut W {
99088                self.bit(true)
99089            }
99090            ///Clears the field bit
99091            #[inline(always)]
99092            pub fn clear_bit(self) -> &'a mut W {
99093                self.bit(false)
99094            }
99095            ///Writes raw bits to the field
99096            #[inline(always)]
99097            pub fn bit(self, value: bool) -> &'a mut W {
99098                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
99099                self.w
99100            }
99101        }
99102        ///Reader of field `URS`
99103        pub type URS_R = crate::R<bool, bool>;
99104        ///Write proxy for field `URS`
99105        pub struct URS_W<'a> {
99106            w: &'a mut W,
99107        }
99108        impl<'a> URS_W<'a> {
99109            ///Sets the field bit
99110            #[inline(always)]
99111            pub fn set_bit(self) -> &'a mut W {
99112                self.bit(true)
99113            }
99114            ///Clears the field bit
99115            #[inline(always)]
99116            pub fn clear_bit(self) -> &'a mut W {
99117                self.bit(false)
99118            }
99119            ///Writes raw bits to the field
99120            #[inline(always)]
99121            pub fn bit(self, value: bool) -> &'a mut W {
99122                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
99123                self.w
99124            }
99125        }
99126        ///Reader of field `UDIS`
99127        pub type UDIS_R = crate::R<bool, bool>;
99128        ///Write proxy for field `UDIS`
99129        pub struct UDIS_W<'a> {
99130            w: &'a mut W,
99131        }
99132        impl<'a> UDIS_W<'a> {
99133            ///Sets the field bit
99134            #[inline(always)]
99135            pub fn set_bit(self) -> &'a mut W {
99136                self.bit(true)
99137            }
99138            ///Clears the field bit
99139            #[inline(always)]
99140            pub fn clear_bit(self) -> &'a mut W {
99141                self.bit(false)
99142            }
99143            ///Writes raw bits to the field
99144            #[inline(always)]
99145            pub fn bit(self, value: bool) -> &'a mut W {
99146                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
99147                self.w
99148            }
99149        }
99150        ///Reader of field `CEN`
99151        pub type CEN_R = crate::R<bool, bool>;
99152        ///Write proxy for field `CEN`
99153        pub struct CEN_W<'a> {
99154            w: &'a mut W,
99155        }
99156        impl<'a> CEN_W<'a> {
99157            ///Sets the field bit
99158            #[inline(always)]
99159            pub fn set_bit(self) -> &'a mut W {
99160                self.bit(true)
99161            }
99162            ///Clears the field bit
99163            #[inline(always)]
99164            pub fn clear_bit(self) -> &'a mut W {
99165                self.bit(false)
99166            }
99167            ///Writes raw bits to the field
99168            #[inline(always)]
99169            pub fn bit(self, value: bool) -> &'a mut W {
99170                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
99171                self.w
99172            }
99173        }
99174        impl R {
99175            ///Bit 11 - UIF status bit remapping
99176            #[inline(always)]
99177            pub fn uifremap(&self) -> UIFREMAP_R {
99178                UIFREMAP_R::new(((self.bits >> 11) & 0x01) != 0)
99179            }
99180            ///Bits 8:9 - Clock division
99181            #[inline(always)]
99182            pub fn ckd(&self) -> CKD_R {
99183                CKD_R::new(((self.bits >> 8) & 0x03) as u8)
99184            }
99185            ///Bit 7 - Auto-reload preload enable
99186            #[inline(always)]
99187            pub fn arpe(&self) -> ARPE_R {
99188                ARPE_R::new(((self.bits >> 7) & 0x01) != 0)
99189            }
99190            ///Bits 5:6 - Center-aligned mode selection
99191            #[inline(always)]
99192            pub fn cms(&self) -> CMS_R {
99193                CMS_R::new(((self.bits >> 5) & 0x03) as u8)
99194            }
99195            ///Bit 4 - Direction
99196            #[inline(always)]
99197            pub fn dir(&self) -> DIR_R {
99198                DIR_R::new(((self.bits >> 4) & 0x01) != 0)
99199            }
99200            ///Bit 3 - One-pulse mode
99201            #[inline(always)]
99202            pub fn opm(&self) -> OPM_R {
99203                OPM_R::new(((self.bits >> 3) & 0x01) != 0)
99204            }
99205            ///Bit 2 - Update request source
99206            #[inline(always)]
99207            pub fn urs(&self) -> URS_R {
99208                URS_R::new(((self.bits >> 2) & 0x01) != 0)
99209            }
99210            ///Bit 1 - Update disable
99211            #[inline(always)]
99212            pub fn udis(&self) -> UDIS_R {
99213                UDIS_R::new(((self.bits >> 1) & 0x01) != 0)
99214            }
99215            ///Bit 0 - Counter enable
99216            #[inline(always)]
99217            pub fn cen(&self) -> CEN_R {
99218                CEN_R::new((self.bits & 0x01) != 0)
99219            }
99220        }
99221        impl W {
99222            ///Bit 11 - UIF status bit remapping
99223            #[inline(always)]
99224            pub fn uifremap(&mut self) -> UIFREMAP_W {
99225                UIFREMAP_W { w: self }
99226            }
99227            ///Bits 8:9 - Clock division
99228            #[inline(always)]
99229            pub fn ckd(&mut self) -> CKD_W {
99230                CKD_W { w: self }
99231            }
99232            ///Bit 7 - Auto-reload preload enable
99233            #[inline(always)]
99234            pub fn arpe(&mut self) -> ARPE_W {
99235                ARPE_W { w: self }
99236            }
99237            ///Bits 5:6 - Center-aligned mode selection
99238            #[inline(always)]
99239            pub fn cms(&mut self) -> CMS_W {
99240                CMS_W { w: self }
99241            }
99242            ///Bit 4 - Direction
99243            #[inline(always)]
99244            pub fn dir(&mut self) -> DIR_W {
99245                DIR_W { w: self }
99246            }
99247            ///Bit 3 - One-pulse mode
99248            #[inline(always)]
99249            pub fn opm(&mut self) -> OPM_W {
99250                OPM_W { w: self }
99251            }
99252            ///Bit 2 - Update request source
99253            #[inline(always)]
99254            pub fn urs(&mut self) -> URS_W {
99255                URS_W { w: self }
99256            }
99257            ///Bit 1 - Update disable
99258            #[inline(always)]
99259            pub fn udis(&mut self) -> UDIS_W {
99260                UDIS_W { w: self }
99261            }
99262            ///Bit 0 - Counter enable
99263            #[inline(always)]
99264            pub fn cen(&mut self) -> CEN_W {
99265                CEN_W { w: self }
99266            }
99267        }
99268    }
99269    ///control register 2
99270    ///
99271    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
99272    ///
99273    ///For information about available fields see [cr2](cr2) module
99274    pub type CR2 = crate::Reg<u32, _CR2>;
99275    #[allow(missing_docs)]
99276    #[doc(hidden)]
99277    pub struct _CR2;
99278    ///`read()` method returns [cr2::R](cr2::R) reader structure
99279    impl crate::Readable for CR2 {}
99280    ///`write(|w| ..)` method takes [cr2::W](cr2::W) writer structure
99281    impl crate::Writable for CR2 {}
99282    ///control register 2
99283    pub mod cr2 {
99284        ///Reader of register CR2
99285        pub type R = crate::R<u32, super::CR2>;
99286        ///Writer for register CR2
99287        pub type W = crate::W<u32, super::CR2>;
99288        ///Register CR2 `reset()`'s with value 0
99289        impl crate::ResetValue for super::CR2 {
99290            type Type = u32;
99291            #[inline(always)]
99292            fn reset_value() -> Self::Type {
99293                0
99294            }
99295        }
99296        ///Reader of field `TI1S`
99297        pub type TI1S_R = crate::R<bool, bool>;
99298        ///Write proxy for field `TI1S`
99299        pub struct TI1S_W<'a> {
99300            w: &'a mut W,
99301        }
99302        impl<'a> TI1S_W<'a> {
99303            ///Sets the field bit
99304            #[inline(always)]
99305            pub fn set_bit(self) -> &'a mut W {
99306                self.bit(true)
99307            }
99308            ///Clears the field bit
99309            #[inline(always)]
99310            pub fn clear_bit(self) -> &'a mut W {
99311                self.bit(false)
99312            }
99313            ///Writes raw bits to the field
99314            #[inline(always)]
99315            pub fn bit(self, value: bool) -> &'a mut W {
99316                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
99317                self.w
99318            }
99319        }
99320        ///Reader of field `MMS`
99321        pub type MMS_R = crate::R<u8, u8>;
99322        ///Write proxy for field `MMS`
99323        pub struct MMS_W<'a> {
99324            w: &'a mut W,
99325        }
99326        impl<'a> MMS_W<'a> {
99327            ///Writes raw bits to the field
99328            #[inline(always)]
99329            pub unsafe fn bits(self, value: u8) -> &'a mut W {
99330                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
99331                self.w
99332            }
99333        }
99334        ///Reader of field `CCDS`
99335        pub type CCDS_R = crate::R<bool, bool>;
99336        ///Write proxy for field `CCDS`
99337        pub struct CCDS_W<'a> {
99338            w: &'a mut W,
99339        }
99340        impl<'a> CCDS_W<'a> {
99341            ///Sets the field bit
99342            #[inline(always)]
99343            pub fn set_bit(self) -> &'a mut W {
99344                self.bit(true)
99345            }
99346            ///Clears the field bit
99347            #[inline(always)]
99348            pub fn clear_bit(self) -> &'a mut W {
99349                self.bit(false)
99350            }
99351            ///Writes raw bits to the field
99352            #[inline(always)]
99353            pub fn bit(self, value: bool) -> &'a mut W {
99354                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
99355                self.w
99356            }
99357        }
99358        impl R {
99359            ///Bit 7 - TI1 selection
99360            #[inline(always)]
99361            pub fn ti1s(&self) -> TI1S_R {
99362                TI1S_R::new(((self.bits >> 7) & 0x01) != 0)
99363            }
99364            ///Bits 4:6 - Master mode selection
99365            #[inline(always)]
99366            pub fn mms(&self) -> MMS_R {
99367                MMS_R::new(((self.bits >> 4) & 0x07) as u8)
99368            }
99369            ///Bit 3 - Capture/compare DMA selection
99370            #[inline(always)]
99371            pub fn ccds(&self) -> CCDS_R {
99372                CCDS_R::new(((self.bits >> 3) & 0x01) != 0)
99373            }
99374        }
99375        impl W {
99376            ///Bit 7 - TI1 selection
99377            #[inline(always)]
99378            pub fn ti1s(&mut self) -> TI1S_W {
99379                TI1S_W { w: self }
99380            }
99381            ///Bits 4:6 - Master mode selection
99382            #[inline(always)]
99383            pub fn mms(&mut self) -> MMS_W {
99384                MMS_W { w: self }
99385            }
99386            ///Bit 3 - Capture/compare DMA selection
99387            #[inline(always)]
99388            pub fn ccds(&mut self) -> CCDS_W {
99389                CCDS_W { w: self }
99390            }
99391        }
99392    }
99393    ///slave mode control register
99394    ///
99395    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
99396    ///
99397    ///For information about available fields see [smcr](smcr) module
99398    pub type SMCR = crate::Reg<u32, _SMCR>;
99399    #[allow(missing_docs)]
99400    #[doc(hidden)]
99401    pub struct _SMCR;
99402    ///`read()` method returns [smcr::R](smcr::R) reader structure
99403    impl crate::Readable for SMCR {}
99404    ///`write(|w| ..)` method takes [smcr::W](smcr::W) writer structure
99405    impl crate::Writable for SMCR {}
99406    ///slave mode control register
99407    pub mod smcr {
99408        ///Reader of register SMCR
99409        pub type R = crate::R<u32, super::SMCR>;
99410        ///Writer for register SMCR
99411        pub type W = crate::W<u32, super::SMCR>;
99412        ///Register SMCR `reset()`'s with value 0
99413        impl crate::ResetValue for super::SMCR {
99414            type Type = u32;
99415            #[inline(always)]
99416            fn reset_value() -> Self::Type {
99417                0
99418            }
99419        }
99420        ///Reader of field `SMS_3`
99421        pub type SMS_3_R = crate::R<bool, bool>;
99422        ///Write proxy for field `SMS_3`
99423        pub struct SMS_3_W<'a> {
99424            w: &'a mut W,
99425        }
99426        impl<'a> SMS_3_W<'a> {
99427            ///Sets the field bit
99428            #[inline(always)]
99429            pub fn set_bit(self) -> &'a mut W {
99430                self.bit(true)
99431            }
99432            ///Clears the field bit
99433            #[inline(always)]
99434            pub fn clear_bit(self) -> &'a mut W {
99435                self.bit(false)
99436            }
99437            ///Writes raw bits to the field
99438            #[inline(always)]
99439            pub fn bit(self, value: bool) -> &'a mut W {
99440                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
99441                self.w
99442            }
99443        }
99444        ///Reader of field `ETP`
99445        pub type ETP_R = crate::R<bool, bool>;
99446        ///Write proxy for field `ETP`
99447        pub struct ETP_W<'a> {
99448            w: &'a mut W,
99449        }
99450        impl<'a> ETP_W<'a> {
99451            ///Sets the field bit
99452            #[inline(always)]
99453            pub fn set_bit(self) -> &'a mut W {
99454                self.bit(true)
99455            }
99456            ///Clears the field bit
99457            #[inline(always)]
99458            pub fn clear_bit(self) -> &'a mut W {
99459                self.bit(false)
99460            }
99461            ///Writes raw bits to the field
99462            #[inline(always)]
99463            pub fn bit(self, value: bool) -> &'a mut W {
99464                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
99465                self.w
99466            }
99467        }
99468        ///Reader of field `ECE`
99469        pub type ECE_R = crate::R<bool, bool>;
99470        ///Write proxy for field `ECE`
99471        pub struct ECE_W<'a> {
99472            w: &'a mut W,
99473        }
99474        impl<'a> ECE_W<'a> {
99475            ///Sets the field bit
99476            #[inline(always)]
99477            pub fn set_bit(self) -> &'a mut W {
99478                self.bit(true)
99479            }
99480            ///Clears the field bit
99481            #[inline(always)]
99482            pub fn clear_bit(self) -> &'a mut W {
99483                self.bit(false)
99484            }
99485            ///Writes raw bits to the field
99486            #[inline(always)]
99487            pub fn bit(self, value: bool) -> &'a mut W {
99488                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
99489                self.w
99490            }
99491        }
99492        ///Reader of field `ETPS`
99493        pub type ETPS_R = crate::R<u8, u8>;
99494        ///Write proxy for field `ETPS`
99495        pub struct ETPS_W<'a> {
99496            w: &'a mut W,
99497        }
99498        impl<'a> ETPS_W<'a> {
99499            ///Writes raw bits to the field
99500            #[inline(always)]
99501            pub unsafe fn bits(self, value: u8) -> &'a mut W {
99502                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
99503                self.w
99504            }
99505        }
99506        ///Reader of field `ETF`
99507        pub type ETF_R = crate::R<u8, u8>;
99508        ///Write proxy for field `ETF`
99509        pub struct ETF_W<'a> {
99510            w: &'a mut W,
99511        }
99512        impl<'a> ETF_W<'a> {
99513            ///Writes raw bits to the field
99514            #[inline(always)]
99515            pub unsafe fn bits(self, value: u8) -> &'a mut W {
99516                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
99517                self.w
99518            }
99519        }
99520        ///Reader of field `MSM`
99521        pub type MSM_R = crate::R<bool, bool>;
99522        ///Write proxy for field `MSM`
99523        pub struct MSM_W<'a> {
99524            w: &'a mut W,
99525        }
99526        impl<'a> MSM_W<'a> {
99527            ///Sets the field bit
99528            #[inline(always)]
99529            pub fn set_bit(self) -> &'a mut W {
99530                self.bit(true)
99531            }
99532            ///Clears the field bit
99533            #[inline(always)]
99534            pub fn clear_bit(self) -> &'a mut W {
99535                self.bit(false)
99536            }
99537            ///Writes raw bits to the field
99538            #[inline(always)]
99539            pub fn bit(self, value: bool) -> &'a mut W {
99540                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
99541                self.w
99542            }
99543        }
99544        ///Reader of field `TS`
99545        pub type TS_R = crate::R<u8, u8>;
99546        ///Write proxy for field `TS`
99547        pub struct TS_W<'a> {
99548            w: &'a mut W,
99549        }
99550        impl<'a> TS_W<'a> {
99551            ///Writes raw bits to the field
99552            #[inline(always)]
99553            pub unsafe fn bits(self, value: u8) -> &'a mut W {
99554                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
99555                self.w
99556            }
99557        }
99558        ///Reader of field `OCCS`
99559        pub type OCCS_R = crate::R<bool, bool>;
99560        ///Write proxy for field `OCCS`
99561        pub struct OCCS_W<'a> {
99562            w: &'a mut W,
99563        }
99564        impl<'a> OCCS_W<'a> {
99565            ///Sets the field bit
99566            #[inline(always)]
99567            pub fn set_bit(self) -> &'a mut W {
99568                self.bit(true)
99569            }
99570            ///Clears the field bit
99571            #[inline(always)]
99572            pub fn clear_bit(self) -> &'a mut W {
99573                self.bit(false)
99574            }
99575            ///Writes raw bits to the field
99576            #[inline(always)]
99577            pub fn bit(self, value: bool) -> &'a mut W {
99578                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
99579                self.w
99580            }
99581        }
99582        ///Reader of field `SMS`
99583        pub type SMS_R = crate::R<u8, u8>;
99584        ///Write proxy for field `SMS`
99585        pub struct SMS_W<'a> {
99586            w: &'a mut W,
99587        }
99588        impl<'a> SMS_W<'a> {
99589            ///Writes raw bits to the field
99590            #[inline(always)]
99591            pub unsafe fn bits(self, value: u8) -> &'a mut W {
99592                self.w.bits = (self.w.bits & !0x07) | ((value as u32) & 0x07);
99593                self.w
99594            }
99595        }
99596        impl R {
99597            ///Bit 16 - Slave mode selection - bit 3
99598            #[inline(always)]
99599            pub fn sms_3(&self) -> SMS_3_R {
99600                SMS_3_R::new(((self.bits >> 16) & 0x01) != 0)
99601            }
99602            ///Bit 15 - External trigger polarity
99603            #[inline(always)]
99604            pub fn etp(&self) -> ETP_R {
99605                ETP_R::new(((self.bits >> 15) & 0x01) != 0)
99606            }
99607            ///Bit 14 - External clock enable
99608            #[inline(always)]
99609            pub fn ece(&self) -> ECE_R {
99610                ECE_R::new(((self.bits >> 14) & 0x01) != 0)
99611            }
99612            ///Bits 12:13 - External trigger prescaler
99613            #[inline(always)]
99614            pub fn etps(&self) -> ETPS_R {
99615                ETPS_R::new(((self.bits >> 12) & 0x03) as u8)
99616            }
99617            ///Bits 8:11 - External trigger filter
99618            #[inline(always)]
99619            pub fn etf(&self) -> ETF_R {
99620                ETF_R::new(((self.bits >> 8) & 0x0f) as u8)
99621            }
99622            ///Bit 7 - Master/Slave mode
99623            #[inline(always)]
99624            pub fn msm(&self) -> MSM_R {
99625                MSM_R::new(((self.bits >> 7) & 0x01) != 0)
99626            }
99627            ///Bits 4:6 - Trigger selection
99628            #[inline(always)]
99629            pub fn ts(&self) -> TS_R {
99630                TS_R::new(((self.bits >> 4) & 0x07) as u8)
99631            }
99632            ///Bit 3 - OCREF clear selection
99633            #[inline(always)]
99634            pub fn occs(&self) -> OCCS_R {
99635                OCCS_R::new(((self.bits >> 3) & 0x01) != 0)
99636            }
99637            ///Bits 0:2 - Slave mode selection
99638            #[inline(always)]
99639            pub fn sms(&self) -> SMS_R {
99640                SMS_R::new((self.bits & 0x07) as u8)
99641            }
99642        }
99643        impl W {
99644            ///Bit 16 - Slave mode selection - bit 3
99645            #[inline(always)]
99646            pub fn sms_3(&mut self) -> SMS_3_W {
99647                SMS_3_W { w: self }
99648            }
99649            ///Bit 15 - External trigger polarity
99650            #[inline(always)]
99651            pub fn etp(&mut self) -> ETP_W {
99652                ETP_W { w: self }
99653            }
99654            ///Bit 14 - External clock enable
99655            #[inline(always)]
99656            pub fn ece(&mut self) -> ECE_W {
99657                ECE_W { w: self }
99658            }
99659            ///Bits 12:13 - External trigger prescaler
99660            #[inline(always)]
99661            pub fn etps(&mut self) -> ETPS_W {
99662                ETPS_W { w: self }
99663            }
99664            ///Bits 8:11 - External trigger filter
99665            #[inline(always)]
99666            pub fn etf(&mut self) -> ETF_W {
99667                ETF_W { w: self }
99668            }
99669            ///Bit 7 - Master/Slave mode
99670            #[inline(always)]
99671            pub fn msm(&mut self) -> MSM_W {
99672                MSM_W { w: self }
99673            }
99674            ///Bits 4:6 - Trigger selection
99675            #[inline(always)]
99676            pub fn ts(&mut self) -> TS_W {
99677                TS_W { w: self }
99678            }
99679            ///Bit 3 - OCREF clear selection
99680            #[inline(always)]
99681            pub fn occs(&mut self) -> OCCS_W {
99682                OCCS_W { w: self }
99683            }
99684            ///Bits 0:2 - Slave mode selection
99685            #[inline(always)]
99686            pub fn sms(&mut self) -> SMS_W {
99687                SMS_W { w: self }
99688            }
99689        }
99690    }
99691    ///DMA/Interrupt enable register
99692    ///
99693    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
99694    ///
99695    ///For information about available fields see [dier](dier) module
99696    pub type DIER = crate::Reg<u32, _DIER>;
99697    #[allow(missing_docs)]
99698    #[doc(hidden)]
99699    pub struct _DIER;
99700    ///`read()` method returns [dier::R](dier::R) reader structure
99701    impl crate::Readable for DIER {}
99702    ///`write(|w| ..)` method takes [dier::W](dier::W) writer structure
99703    impl crate::Writable for DIER {}
99704    ///DMA/Interrupt enable register
99705    pub mod dier {
99706        ///Reader of register DIER
99707        pub type R = crate::R<u32, super::DIER>;
99708        ///Writer for register DIER
99709        pub type W = crate::W<u32, super::DIER>;
99710        ///Register DIER `reset()`'s with value 0
99711        impl crate::ResetValue for super::DIER {
99712            type Type = u32;
99713            #[inline(always)]
99714            fn reset_value() -> Self::Type {
99715                0
99716            }
99717        }
99718        ///Reader of field `CC4DE`
99719        pub type CC4DE_R = crate::R<bool, bool>;
99720        ///Write proxy for field `CC4DE`
99721        pub struct CC4DE_W<'a> {
99722            w: &'a mut W,
99723        }
99724        impl<'a> CC4DE_W<'a> {
99725            ///Sets the field bit
99726            #[inline(always)]
99727            pub fn set_bit(self) -> &'a mut W {
99728                self.bit(true)
99729            }
99730            ///Clears the field bit
99731            #[inline(always)]
99732            pub fn clear_bit(self) -> &'a mut W {
99733                self.bit(false)
99734            }
99735            ///Writes raw bits to the field
99736            #[inline(always)]
99737            pub fn bit(self, value: bool) -> &'a mut W {
99738                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
99739                self.w
99740            }
99741        }
99742        ///Reader of field `CC3DE`
99743        pub type CC3DE_R = crate::R<bool, bool>;
99744        ///Write proxy for field `CC3DE`
99745        pub struct CC3DE_W<'a> {
99746            w: &'a mut W,
99747        }
99748        impl<'a> CC3DE_W<'a> {
99749            ///Sets the field bit
99750            #[inline(always)]
99751            pub fn set_bit(self) -> &'a mut W {
99752                self.bit(true)
99753            }
99754            ///Clears the field bit
99755            #[inline(always)]
99756            pub fn clear_bit(self) -> &'a mut W {
99757                self.bit(false)
99758            }
99759            ///Writes raw bits to the field
99760            #[inline(always)]
99761            pub fn bit(self, value: bool) -> &'a mut W {
99762                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
99763                self.w
99764            }
99765        }
99766        ///Reader of field `CC2DE`
99767        pub type CC2DE_R = crate::R<bool, bool>;
99768        ///Write proxy for field `CC2DE`
99769        pub struct CC2DE_W<'a> {
99770            w: &'a mut W,
99771        }
99772        impl<'a> CC2DE_W<'a> {
99773            ///Sets the field bit
99774            #[inline(always)]
99775            pub fn set_bit(self) -> &'a mut W {
99776                self.bit(true)
99777            }
99778            ///Clears the field bit
99779            #[inline(always)]
99780            pub fn clear_bit(self) -> &'a mut W {
99781                self.bit(false)
99782            }
99783            ///Writes raw bits to the field
99784            #[inline(always)]
99785            pub fn bit(self, value: bool) -> &'a mut W {
99786                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
99787                self.w
99788            }
99789        }
99790        ///Reader of field `CC1DE`
99791        pub type CC1DE_R = crate::R<bool, bool>;
99792        ///Write proxy for field `CC1DE`
99793        pub struct CC1DE_W<'a> {
99794            w: &'a mut W,
99795        }
99796        impl<'a> CC1DE_W<'a> {
99797            ///Sets the field bit
99798            #[inline(always)]
99799            pub fn set_bit(self) -> &'a mut W {
99800                self.bit(true)
99801            }
99802            ///Clears the field bit
99803            #[inline(always)]
99804            pub fn clear_bit(self) -> &'a mut W {
99805                self.bit(false)
99806            }
99807            ///Writes raw bits to the field
99808            #[inline(always)]
99809            pub fn bit(self, value: bool) -> &'a mut W {
99810                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
99811                self.w
99812            }
99813        }
99814        ///Reader of field `UDE`
99815        pub type UDE_R = crate::R<bool, bool>;
99816        ///Write proxy for field `UDE`
99817        pub struct UDE_W<'a> {
99818            w: &'a mut W,
99819        }
99820        impl<'a> UDE_W<'a> {
99821            ///Sets the field bit
99822            #[inline(always)]
99823            pub fn set_bit(self) -> &'a mut W {
99824                self.bit(true)
99825            }
99826            ///Clears the field bit
99827            #[inline(always)]
99828            pub fn clear_bit(self) -> &'a mut W {
99829                self.bit(false)
99830            }
99831            ///Writes raw bits to the field
99832            #[inline(always)]
99833            pub fn bit(self, value: bool) -> &'a mut W {
99834                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
99835                self.w
99836            }
99837        }
99838        ///Reader of field `TIE`
99839        pub type TIE_R = crate::R<bool, bool>;
99840        ///Write proxy for field `TIE`
99841        pub struct TIE_W<'a> {
99842            w: &'a mut W,
99843        }
99844        impl<'a> TIE_W<'a> {
99845            ///Sets the field bit
99846            #[inline(always)]
99847            pub fn set_bit(self) -> &'a mut W {
99848                self.bit(true)
99849            }
99850            ///Clears the field bit
99851            #[inline(always)]
99852            pub fn clear_bit(self) -> &'a mut W {
99853                self.bit(false)
99854            }
99855            ///Writes raw bits to the field
99856            #[inline(always)]
99857            pub fn bit(self, value: bool) -> &'a mut W {
99858                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
99859                self.w
99860            }
99861        }
99862        ///Reader of field `CC4IE`
99863        pub type CC4IE_R = crate::R<bool, bool>;
99864        ///Write proxy for field `CC4IE`
99865        pub struct CC4IE_W<'a> {
99866            w: &'a mut W,
99867        }
99868        impl<'a> CC4IE_W<'a> {
99869            ///Sets the field bit
99870            #[inline(always)]
99871            pub fn set_bit(self) -> &'a mut W {
99872                self.bit(true)
99873            }
99874            ///Clears the field bit
99875            #[inline(always)]
99876            pub fn clear_bit(self) -> &'a mut W {
99877                self.bit(false)
99878            }
99879            ///Writes raw bits to the field
99880            #[inline(always)]
99881            pub fn bit(self, value: bool) -> &'a mut W {
99882                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
99883                self.w
99884            }
99885        }
99886        ///Reader of field `CC3IE`
99887        pub type CC3IE_R = crate::R<bool, bool>;
99888        ///Write proxy for field `CC3IE`
99889        pub struct CC3IE_W<'a> {
99890            w: &'a mut W,
99891        }
99892        impl<'a> CC3IE_W<'a> {
99893            ///Sets the field bit
99894            #[inline(always)]
99895            pub fn set_bit(self) -> &'a mut W {
99896                self.bit(true)
99897            }
99898            ///Clears the field bit
99899            #[inline(always)]
99900            pub fn clear_bit(self) -> &'a mut W {
99901                self.bit(false)
99902            }
99903            ///Writes raw bits to the field
99904            #[inline(always)]
99905            pub fn bit(self, value: bool) -> &'a mut W {
99906                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
99907                self.w
99908            }
99909        }
99910        ///Reader of field `CC2IE`
99911        pub type CC2IE_R = crate::R<bool, bool>;
99912        ///Write proxy for field `CC2IE`
99913        pub struct CC2IE_W<'a> {
99914            w: &'a mut W,
99915        }
99916        impl<'a> CC2IE_W<'a> {
99917            ///Sets the field bit
99918            #[inline(always)]
99919            pub fn set_bit(self) -> &'a mut W {
99920                self.bit(true)
99921            }
99922            ///Clears the field bit
99923            #[inline(always)]
99924            pub fn clear_bit(self) -> &'a mut W {
99925                self.bit(false)
99926            }
99927            ///Writes raw bits to the field
99928            #[inline(always)]
99929            pub fn bit(self, value: bool) -> &'a mut W {
99930                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
99931                self.w
99932            }
99933        }
99934        ///Reader of field `CC1IE`
99935        pub type CC1IE_R = crate::R<bool, bool>;
99936        ///Write proxy for field `CC1IE`
99937        pub struct CC1IE_W<'a> {
99938            w: &'a mut W,
99939        }
99940        impl<'a> CC1IE_W<'a> {
99941            ///Sets the field bit
99942            #[inline(always)]
99943            pub fn set_bit(self) -> &'a mut W {
99944                self.bit(true)
99945            }
99946            ///Clears the field bit
99947            #[inline(always)]
99948            pub fn clear_bit(self) -> &'a mut W {
99949                self.bit(false)
99950            }
99951            ///Writes raw bits to the field
99952            #[inline(always)]
99953            pub fn bit(self, value: bool) -> &'a mut W {
99954                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
99955                self.w
99956            }
99957        }
99958        ///Reader of field `UIE`
99959        pub type UIE_R = crate::R<bool, bool>;
99960        ///Write proxy for field `UIE`
99961        pub struct UIE_W<'a> {
99962            w: &'a mut W,
99963        }
99964        impl<'a> UIE_W<'a> {
99965            ///Sets the field bit
99966            #[inline(always)]
99967            pub fn set_bit(self) -> &'a mut W {
99968                self.bit(true)
99969            }
99970            ///Clears the field bit
99971            #[inline(always)]
99972            pub fn clear_bit(self) -> &'a mut W {
99973                self.bit(false)
99974            }
99975            ///Writes raw bits to the field
99976            #[inline(always)]
99977            pub fn bit(self, value: bool) -> &'a mut W {
99978                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
99979                self.w
99980            }
99981        }
99982        impl R {
99983            ///Bit 12 - Capture/Compare 4 DMA request enable
99984            #[inline(always)]
99985            pub fn cc4de(&self) -> CC4DE_R {
99986                CC4DE_R::new(((self.bits >> 12) & 0x01) != 0)
99987            }
99988            ///Bit 11 - Capture/Compare 3 DMA request enable
99989            #[inline(always)]
99990            pub fn cc3de(&self) -> CC3DE_R {
99991                CC3DE_R::new(((self.bits >> 11) & 0x01) != 0)
99992            }
99993            ///Bit 10 - Capture/Compare 2 DMA request enable
99994            #[inline(always)]
99995            pub fn cc2de(&self) -> CC2DE_R {
99996                CC2DE_R::new(((self.bits >> 10) & 0x01) != 0)
99997            }
99998            ///Bit 9 - Capture/Compare 1 DMA request enable
99999            #[inline(always)]
100000            pub fn cc1de(&self) -> CC1DE_R {
100001                CC1DE_R::new(((self.bits >> 9) & 0x01) != 0)
100002            }
100003            ///Bit 8 - Update DMA request enable
100004            #[inline(always)]
100005            pub fn ude(&self) -> UDE_R {
100006                UDE_R::new(((self.bits >> 8) & 0x01) != 0)
100007            }
100008            ///Bit 6 - Trigger interrupt enable
100009            #[inline(always)]
100010            pub fn tie(&self) -> TIE_R {
100011                TIE_R::new(((self.bits >> 6) & 0x01) != 0)
100012            }
100013            ///Bit 4 - Capture/Compare 4 interrupt enable
100014            #[inline(always)]
100015            pub fn cc4ie(&self) -> CC4IE_R {
100016                CC4IE_R::new(((self.bits >> 4) & 0x01) != 0)
100017            }
100018            ///Bit 3 - Capture/Compare 3 interrupt enable
100019            #[inline(always)]
100020            pub fn cc3ie(&self) -> CC3IE_R {
100021                CC3IE_R::new(((self.bits >> 3) & 0x01) != 0)
100022            }
100023            ///Bit 2 - Capture/Compare 2 interrupt enable
100024            #[inline(always)]
100025            pub fn cc2ie(&self) -> CC2IE_R {
100026                CC2IE_R::new(((self.bits >> 2) & 0x01) != 0)
100027            }
100028            ///Bit 1 - Capture/Compare 1 interrupt enable
100029            #[inline(always)]
100030            pub fn cc1ie(&self) -> CC1IE_R {
100031                CC1IE_R::new(((self.bits >> 1) & 0x01) != 0)
100032            }
100033            ///Bit 0 - Update interrupt enable
100034            #[inline(always)]
100035            pub fn uie(&self) -> UIE_R {
100036                UIE_R::new((self.bits & 0x01) != 0)
100037            }
100038        }
100039        impl W {
100040            ///Bit 12 - Capture/Compare 4 DMA request enable
100041            #[inline(always)]
100042            pub fn cc4de(&mut self) -> CC4DE_W {
100043                CC4DE_W { w: self }
100044            }
100045            ///Bit 11 - Capture/Compare 3 DMA request enable
100046            #[inline(always)]
100047            pub fn cc3de(&mut self) -> CC3DE_W {
100048                CC3DE_W { w: self }
100049            }
100050            ///Bit 10 - Capture/Compare 2 DMA request enable
100051            #[inline(always)]
100052            pub fn cc2de(&mut self) -> CC2DE_W {
100053                CC2DE_W { w: self }
100054            }
100055            ///Bit 9 - Capture/Compare 1 DMA request enable
100056            #[inline(always)]
100057            pub fn cc1de(&mut self) -> CC1DE_W {
100058                CC1DE_W { w: self }
100059            }
100060            ///Bit 8 - Update DMA request enable
100061            #[inline(always)]
100062            pub fn ude(&mut self) -> UDE_W {
100063                UDE_W { w: self }
100064            }
100065            ///Bit 6 - Trigger interrupt enable
100066            #[inline(always)]
100067            pub fn tie(&mut self) -> TIE_W {
100068                TIE_W { w: self }
100069            }
100070            ///Bit 4 - Capture/Compare 4 interrupt enable
100071            #[inline(always)]
100072            pub fn cc4ie(&mut self) -> CC4IE_W {
100073                CC4IE_W { w: self }
100074            }
100075            ///Bit 3 - Capture/Compare 3 interrupt enable
100076            #[inline(always)]
100077            pub fn cc3ie(&mut self) -> CC3IE_W {
100078                CC3IE_W { w: self }
100079            }
100080            ///Bit 2 - Capture/Compare 2 interrupt enable
100081            #[inline(always)]
100082            pub fn cc2ie(&mut self) -> CC2IE_W {
100083                CC2IE_W { w: self }
100084            }
100085            ///Bit 1 - Capture/Compare 1 interrupt enable
100086            #[inline(always)]
100087            pub fn cc1ie(&mut self) -> CC1IE_W {
100088                CC1IE_W { w: self }
100089            }
100090            ///Bit 0 - Update interrupt enable
100091            #[inline(always)]
100092            pub fn uie(&mut self) -> UIE_W {
100093                UIE_W { w: self }
100094            }
100095        }
100096    }
100097    ///status register
100098    ///
100099    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
100100    ///
100101    ///For information about available fields see [sr](sr) module
100102    pub type SR = crate::Reg<u32, _SR>;
100103    #[allow(missing_docs)]
100104    #[doc(hidden)]
100105    pub struct _SR;
100106    ///`read()` method returns [sr::R](sr::R) reader structure
100107    impl crate::Readable for SR {}
100108    ///`write(|w| ..)` method takes [sr::W](sr::W) writer structure
100109    impl crate::Writable for SR {}
100110    ///status register
100111    pub mod sr {
100112        ///Reader of register SR
100113        pub type R = crate::R<u32, super::SR>;
100114        ///Writer for register SR
100115        pub type W = crate::W<u32, super::SR>;
100116        ///Register SR `reset()`'s with value 0
100117        impl crate::ResetValue for super::SR {
100118            type Type = u32;
100119            #[inline(always)]
100120            fn reset_value() -> Self::Type {
100121                0
100122            }
100123        }
100124        ///Reader of field `CC4OF`
100125        pub type CC4OF_R = crate::R<bool, bool>;
100126        ///Write proxy for field `CC4OF`
100127        pub struct CC4OF_W<'a> {
100128            w: &'a mut W,
100129        }
100130        impl<'a> CC4OF_W<'a> {
100131            ///Sets the field bit
100132            #[inline(always)]
100133            pub fn set_bit(self) -> &'a mut W {
100134                self.bit(true)
100135            }
100136            ///Clears the field bit
100137            #[inline(always)]
100138            pub fn clear_bit(self) -> &'a mut W {
100139                self.bit(false)
100140            }
100141            ///Writes raw bits to the field
100142            #[inline(always)]
100143            pub fn bit(self, value: bool) -> &'a mut W {
100144                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
100145                self.w
100146            }
100147        }
100148        ///Reader of field `CC3OF`
100149        pub type CC3OF_R = crate::R<bool, bool>;
100150        ///Write proxy for field `CC3OF`
100151        pub struct CC3OF_W<'a> {
100152            w: &'a mut W,
100153        }
100154        impl<'a> CC3OF_W<'a> {
100155            ///Sets the field bit
100156            #[inline(always)]
100157            pub fn set_bit(self) -> &'a mut W {
100158                self.bit(true)
100159            }
100160            ///Clears the field bit
100161            #[inline(always)]
100162            pub fn clear_bit(self) -> &'a mut W {
100163                self.bit(false)
100164            }
100165            ///Writes raw bits to the field
100166            #[inline(always)]
100167            pub fn bit(self, value: bool) -> &'a mut W {
100168                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
100169                self.w
100170            }
100171        }
100172        ///Reader of field `CC2OF`
100173        pub type CC2OF_R = crate::R<bool, bool>;
100174        ///Write proxy for field `CC2OF`
100175        pub struct CC2OF_W<'a> {
100176            w: &'a mut W,
100177        }
100178        impl<'a> CC2OF_W<'a> {
100179            ///Sets the field bit
100180            #[inline(always)]
100181            pub fn set_bit(self) -> &'a mut W {
100182                self.bit(true)
100183            }
100184            ///Clears the field bit
100185            #[inline(always)]
100186            pub fn clear_bit(self) -> &'a mut W {
100187                self.bit(false)
100188            }
100189            ///Writes raw bits to the field
100190            #[inline(always)]
100191            pub fn bit(self, value: bool) -> &'a mut W {
100192                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
100193                self.w
100194            }
100195        }
100196        ///Reader of field `CC1OF`
100197        pub type CC1OF_R = crate::R<bool, bool>;
100198        ///Write proxy for field `CC1OF`
100199        pub struct CC1OF_W<'a> {
100200            w: &'a mut W,
100201        }
100202        impl<'a> CC1OF_W<'a> {
100203            ///Sets the field bit
100204            #[inline(always)]
100205            pub fn set_bit(self) -> &'a mut W {
100206                self.bit(true)
100207            }
100208            ///Clears the field bit
100209            #[inline(always)]
100210            pub fn clear_bit(self) -> &'a mut W {
100211                self.bit(false)
100212            }
100213            ///Writes raw bits to the field
100214            #[inline(always)]
100215            pub fn bit(self, value: bool) -> &'a mut W {
100216                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
100217                self.w
100218            }
100219        }
100220        ///Reader of field `TIF`
100221        pub type TIF_R = crate::R<bool, bool>;
100222        ///Write proxy for field `TIF`
100223        pub struct TIF_W<'a> {
100224            w: &'a mut W,
100225        }
100226        impl<'a> TIF_W<'a> {
100227            ///Sets the field bit
100228            #[inline(always)]
100229            pub fn set_bit(self) -> &'a mut W {
100230                self.bit(true)
100231            }
100232            ///Clears the field bit
100233            #[inline(always)]
100234            pub fn clear_bit(self) -> &'a mut W {
100235                self.bit(false)
100236            }
100237            ///Writes raw bits to the field
100238            #[inline(always)]
100239            pub fn bit(self, value: bool) -> &'a mut W {
100240                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
100241                self.w
100242            }
100243        }
100244        ///Reader of field `CC4IF`
100245        pub type CC4IF_R = crate::R<bool, bool>;
100246        ///Write proxy for field `CC4IF`
100247        pub struct CC4IF_W<'a> {
100248            w: &'a mut W,
100249        }
100250        impl<'a> CC4IF_W<'a> {
100251            ///Sets the field bit
100252            #[inline(always)]
100253            pub fn set_bit(self) -> &'a mut W {
100254                self.bit(true)
100255            }
100256            ///Clears the field bit
100257            #[inline(always)]
100258            pub fn clear_bit(self) -> &'a mut W {
100259                self.bit(false)
100260            }
100261            ///Writes raw bits to the field
100262            #[inline(always)]
100263            pub fn bit(self, value: bool) -> &'a mut W {
100264                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
100265                self.w
100266            }
100267        }
100268        ///Reader of field `CC3IF`
100269        pub type CC3IF_R = crate::R<bool, bool>;
100270        ///Write proxy for field `CC3IF`
100271        pub struct CC3IF_W<'a> {
100272            w: &'a mut W,
100273        }
100274        impl<'a> CC3IF_W<'a> {
100275            ///Sets the field bit
100276            #[inline(always)]
100277            pub fn set_bit(self) -> &'a mut W {
100278                self.bit(true)
100279            }
100280            ///Clears the field bit
100281            #[inline(always)]
100282            pub fn clear_bit(self) -> &'a mut W {
100283                self.bit(false)
100284            }
100285            ///Writes raw bits to the field
100286            #[inline(always)]
100287            pub fn bit(self, value: bool) -> &'a mut W {
100288                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
100289                self.w
100290            }
100291        }
100292        ///Reader of field `CC2IF`
100293        pub type CC2IF_R = crate::R<bool, bool>;
100294        ///Write proxy for field `CC2IF`
100295        pub struct CC2IF_W<'a> {
100296            w: &'a mut W,
100297        }
100298        impl<'a> CC2IF_W<'a> {
100299            ///Sets the field bit
100300            #[inline(always)]
100301            pub fn set_bit(self) -> &'a mut W {
100302                self.bit(true)
100303            }
100304            ///Clears the field bit
100305            #[inline(always)]
100306            pub fn clear_bit(self) -> &'a mut W {
100307                self.bit(false)
100308            }
100309            ///Writes raw bits to the field
100310            #[inline(always)]
100311            pub fn bit(self, value: bool) -> &'a mut W {
100312                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
100313                self.w
100314            }
100315        }
100316        ///Reader of field `CC1IF`
100317        pub type CC1IF_R = crate::R<bool, bool>;
100318        ///Write proxy for field `CC1IF`
100319        pub struct CC1IF_W<'a> {
100320            w: &'a mut W,
100321        }
100322        impl<'a> CC1IF_W<'a> {
100323            ///Sets the field bit
100324            #[inline(always)]
100325            pub fn set_bit(self) -> &'a mut W {
100326                self.bit(true)
100327            }
100328            ///Clears the field bit
100329            #[inline(always)]
100330            pub fn clear_bit(self) -> &'a mut W {
100331                self.bit(false)
100332            }
100333            ///Writes raw bits to the field
100334            #[inline(always)]
100335            pub fn bit(self, value: bool) -> &'a mut W {
100336                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
100337                self.w
100338            }
100339        }
100340        ///Reader of field `UIF`
100341        pub type UIF_R = crate::R<bool, bool>;
100342        ///Write proxy for field `UIF`
100343        pub struct UIF_W<'a> {
100344            w: &'a mut W,
100345        }
100346        impl<'a> UIF_W<'a> {
100347            ///Sets the field bit
100348            #[inline(always)]
100349            pub fn set_bit(self) -> &'a mut W {
100350                self.bit(true)
100351            }
100352            ///Clears the field bit
100353            #[inline(always)]
100354            pub fn clear_bit(self) -> &'a mut W {
100355                self.bit(false)
100356            }
100357            ///Writes raw bits to the field
100358            #[inline(always)]
100359            pub fn bit(self, value: bool) -> &'a mut W {
100360                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
100361                self.w
100362            }
100363        }
100364        impl R {
100365            ///Bit 12 - Capture/Compare 4 overcapture flag
100366            #[inline(always)]
100367            pub fn cc4of(&self) -> CC4OF_R {
100368                CC4OF_R::new(((self.bits >> 12) & 0x01) != 0)
100369            }
100370            ///Bit 11 - Capture/Compare 3 overcapture flag
100371            #[inline(always)]
100372            pub fn cc3of(&self) -> CC3OF_R {
100373                CC3OF_R::new(((self.bits >> 11) & 0x01) != 0)
100374            }
100375            ///Bit 10 - Capture/compare 2 overcapture flag
100376            #[inline(always)]
100377            pub fn cc2of(&self) -> CC2OF_R {
100378                CC2OF_R::new(((self.bits >> 10) & 0x01) != 0)
100379            }
100380            ///Bit 9 - Capture/Compare 1 overcapture flag
100381            #[inline(always)]
100382            pub fn cc1of(&self) -> CC1OF_R {
100383                CC1OF_R::new(((self.bits >> 9) & 0x01) != 0)
100384            }
100385            ///Bit 6 - Trigger interrupt flag
100386            #[inline(always)]
100387            pub fn tif(&self) -> TIF_R {
100388                TIF_R::new(((self.bits >> 6) & 0x01) != 0)
100389            }
100390            ///Bit 4 - Capture/Compare 4 interrupt flag
100391            #[inline(always)]
100392            pub fn cc4if(&self) -> CC4IF_R {
100393                CC4IF_R::new(((self.bits >> 4) & 0x01) != 0)
100394            }
100395            ///Bit 3 - Capture/Compare 3 interrupt flag
100396            #[inline(always)]
100397            pub fn cc3if(&self) -> CC3IF_R {
100398                CC3IF_R::new(((self.bits >> 3) & 0x01) != 0)
100399            }
100400            ///Bit 2 - Capture/Compare 2 interrupt flag
100401            #[inline(always)]
100402            pub fn cc2if(&self) -> CC2IF_R {
100403                CC2IF_R::new(((self.bits >> 2) & 0x01) != 0)
100404            }
100405            ///Bit 1 - Capture/compare 1 interrupt flag
100406            #[inline(always)]
100407            pub fn cc1if(&self) -> CC1IF_R {
100408                CC1IF_R::new(((self.bits >> 1) & 0x01) != 0)
100409            }
100410            ///Bit 0 - Update interrupt flag
100411            #[inline(always)]
100412            pub fn uif(&self) -> UIF_R {
100413                UIF_R::new((self.bits & 0x01) != 0)
100414            }
100415        }
100416        impl W {
100417            ///Bit 12 - Capture/Compare 4 overcapture flag
100418            #[inline(always)]
100419            pub fn cc4of(&mut self) -> CC4OF_W {
100420                CC4OF_W { w: self }
100421            }
100422            ///Bit 11 - Capture/Compare 3 overcapture flag
100423            #[inline(always)]
100424            pub fn cc3of(&mut self) -> CC3OF_W {
100425                CC3OF_W { w: self }
100426            }
100427            ///Bit 10 - Capture/compare 2 overcapture flag
100428            #[inline(always)]
100429            pub fn cc2of(&mut self) -> CC2OF_W {
100430                CC2OF_W { w: self }
100431            }
100432            ///Bit 9 - Capture/Compare 1 overcapture flag
100433            #[inline(always)]
100434            pub fn cc1of(&mut self) -> CC1OF_W {
100435                CC1OF_W { w: self }
100436            }
100437            ///Bit 6 - Trigger interrupt flag
100438            #[inline(always)]
100439            pub fn tif(&mut self) -> TIF_W {
100440                TIF_W { w: self }
100441            }
100442            ///Bit 4 - Capture/Compare 4 interrupt flag
100443            #[inline(always)]
100444            pub fn cc4if(&mut self) -> CC4IF_W {
100445                CC4IF_W { w: self }
100446            }
100447            ///Bit 3 - Capture/Compare 3 interrupt flag
100448            #[inline(always)]
100449            pub fn cc3if(&mut self) -> CC3IF_W {
100450                CC3IF_W { w: self }
100451            }
100452            ///Bit 2 - Capture/Compare 2 interrupt flag
100453            #[inline(always)]
100454            pub fn cc2if(&mut self) -> CC2IF_W {
100455                CC2IF_W { w: self }
100456            }
100457            ///Bit 1 - Capture/compare 1 interrupt flag
100458            #[inline(always)]
100459            pub fn cc1if(&mut self) -> CC1IF_W {
100460                CC1IF_W { w: self }
100461            }
100462            ///Bit 0 - Update interrupt flag
100463            #[inline(always)]
100464            pub fn uif(&mut self) -> UIF_W {
100465                UIF_W { w: self }
100466            }
100467        }
100468    }
100469    ///event generation register
100470    ///
100471    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
100472    ///
100473    ///For information about available fields see [egr](egr) module
100474    pub type EGR = crate::Reg<u32, _EGR>;
100475    #[allow(missing_docs)]
100476    #[doc(hidden)]
100477    pub struct _EGR;
100478    ///`write(|w| ..)` method takes [egr::W](egr::W) writer structure
100479    impl crate::Writable for EGR {}
100480    ///event generation register
100481    pub mod egr {
100482        ///Writer for register EGR
100483        pub type W = crate::W<u32, super::EGR>;
100484        ///Register EGR `reset()`'s with value 0
100485        impl crate::ResetValue for super::EGR {
100486            type Type = u32;
100487            #[inline(always)]
100488            fn reset_value() -> Self::Type {
100489                0
100490            }
100491        }
100492        ///Write proxy for field `TG`
100493        pub struct TG_W<'a> {
100494            w: &'a mut W,
100495        }
100496        impl<'a> TG_W<'a> {
100497            ///Sets the field bit
100498            #[inline(always)]
100499            pub fn set_bit(self) -> &'a mut W {
100500                self.bit(true)
100501            }
100502            ///Clears the field bit
100503            #[inline(always)]
100504            pub fn clear_bit(self) -> &'a mut W {
100505                self.bit(false)
100506            }
100507            ///Writes raw bits to the field
100508            #[inline(always)]
100509            pub fn bit(self, value: bool) -> &'a mut W {
100510                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
100511                self.w
100512            }
100513        }
100514        ///Write proxy for field `CC4G`
100515        pub struct CC4G_W<'a> {
100516            w: &'a mut W,
100517        }
100518        impl<'a> CC4G_W<'a> {
100519            ///Sets the field bit
100520            #[inline(always)]
100521            pub fn set_bit(self) -> &'a mut W {
100522                self.bit(true)
100523            }
100524            ///Clears the field bit
100525            #[inline(always)]
100526            pub fn clear_bit(self) -> &'a mut W {
100527                self.bit(false)
100528            }
100529            ///Writes raw bits to the field
100530            #[inline(always)]
100531            pub fn bit(self, value: bool) -> &'a mut W {
100532                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
100533                self.w
100534            }
100535        }
100536        ///Write proxy for field `CC3G`
100537        pub struct CC3G_W<'a> {
100538            w: &'a mut W,
100539        }
100540        impl<'a> CC3G_W<'a> {
100541            ///Sets the field bit
100542            #[inline(always)]
100543            pub fn set_bit(self) -> &'a mut W {
100544                self.bit(true)
100545            }
100546            ///Clears the field bit
100547            #[inline(always)]
100548            pub fn clear_bit(self) -> &'a mut W {
100549                self.bit(false)
100550            }
100551            ///Writes raw bits to the field
100552            #[inline(always)]
100553            pub fn bit(self, value: bool) -> &'a mut W {
100554                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
100555                self.w
100556            }
100557        }
100558        ///Write proxy for field `CC2G`
100559        pub struct CC2G_W<'a> {
100560            w: &'a mut W,
100561        }
100562        impl<'a> CC2G_W<'a> {
100563            ///Sets the field bit
100564            #[inline(always)]
100565            pub fn set_bit(self) -> &'a mut W {
100566                self.bit(true)
100567            }
100568            ///Clears the field bit
100569            #[inline(always)]
100570            pub fn clear_bit(self) -> &'a mut W {
100571                self.bit(false)
100572            }
100573            ///Writes raw bits to the field
100574            #[inline(always)]
100575            pub fn bit(self, value: bool) -> &'a mut W {
100576                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
100577                self.w
100578            }
100579        }
100580        ///Write proxy for field `CC1G`
100581        pub struct CC1G_W<'a> {
100582            w: &'a mut W,
100583        }
100584        impl<'a> CC1G_W<'a> {
100585            ///Sets the field bit
100586            #[inline(always)]
100587            pub fn set_bit(self) -> &'a mut W {
100588                self.bit(true)
100589            }
100590            ///Clears the field bit
100591            #[inline(always)]
100592            pub fn clear_bit(self) -> &'a mut W {
100593                self.bit(false)
100594            }
100595            ///Writes raw bits to the field
100596            #[inline(always)]
100597            pub fn bit(self, value: bool) -> &'a mut W {
100598                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
100599                self.w
100600            }
100601        }
100602        ///Write proxy for field `UG`
100603        pub struct UG_W<'a> {
100604            w: &'a mut W,
100605        }
100606        impl<'a> UG_W<'a> {
100607            ///Sets the field bit
100608            #[inline(always)]
100609            pub fn set_bit(self) -> &'a mut W {
100610                self.bit(true)
100611            }
100612            ///Clears the field bit
100613            #[inline(always)]
100614            pub fn clear_bit(self) -> &'a mut W {
100615                self.bit(false)
100616            }
100617            ///Writes raw bits to the field
100618            #[inline(always)]
100619            pub fn bit(self, value: bool) -> &'a mut W {
100620                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
100621                self.w
100622            }
100623        }
100624        impl W {
100625            ///Bit 6 - Trigger generation
100626            #[inline(always)]
100627            pub fn tg(&mut self) -> TG_W {
100628                TG_W { w: self }
100629            }
100630            ///Bit 4 - Capture/compare 4 generation
100631            #[inline(always)]
100632            pub fn cc4g(&mut self) -> CC4G_W {
100633                CC4G_W { w: self }
100634            }
100635            ///Bit 3 - Capture/compare 3 generation
100636            #[inline(always)]
100637            pub fn cc3g(&mut self) -> CC3G_W {
100638                CC3G_W { w: self }
100639            }
100640            ///Bit 2 - Capture/compare 2 generation
100641            #[inline(always)]
100642            pub fn cc2g(&mut self) -> CC2G_W {
100643                CC2G_W { w: self }
100644            }
100645            ///Bit 1 - Capture/compare 1 generation
100646            #[inline(always)]
100647            pub fn cc1g(&mut self) -> CC1G_W {
100648                CC1G_W { w: self }
100649            }
100650            ///Bit 0 - Update generation
100651            #[inline(always)]
100652            pub fn ug(&mut self) -> UG_W {
100653                UG_W { w: self }
100654            }
100655        }
100656    }
100657    ///capture/compare mode register 1 (output mode)
100658    ///
100659    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
100660    ///
100661    ///For information about available fields see [ccmr1_output](ccmr1_output) module
100662    pub type CCMR1_OUTPUT = crate::Reg<u32, _CCMR1_OUTPUT>;
100663    #[allow(missing_docs)]
100664    #[doc(hidden)]
100665    pub struct _CCMR1_OUTPUT;
100666    ///`read()` method returns [ccmr1_output::R](ccmr1_output::R) reader structure
100667    impl crate::Readable for CCMR1_OUTPUT {}
100668    ///`write(|w| ..)` method takes [ccmr1_output::W](ccmr1_output::W) writer structure
100669    impl crate::Writable for CCMR1_OUTPUT {}
100670    ///capture/compare mode register 1 (output mode)
100671    pub mod ccmr1_output {
100672        ///Reader of register CCMR1_Output
100673        pub type R = crate::R<u32, super::CCMR1_OUTPUT>;
100674        ///Writer for register CCMR1_Output
100675        pub type W = crate::W<u32, super::CCMR1_OUTPUT>;
100676        ///Register CCMR1_Output `reset()`'s with value 0
100677        impl crate::ResetValue for super::CCMR1_OUTPUT {
100678            type Type = u32;
100679            #[inline(always)]
100680            fn reset_value() -> Self::Type {
100681                0
100682            }
100683        }
100684        ///Reader of field `OC2M_3`
100685        pub type OC2M_3_R = crate::R<bool, bool>;
100686        ///Write proxy for field `OC2M_3`
100687        pub struct OC2M_3_W<'a> {
100688            w: &'a mut W,
100689        }
100690        impl<'a> OC2M_3_W<'a> {
100691            ///Sets the field bit
100692            #[inline(always)]
100693            pub fn set_bit(self) -> &'a mut W {
100694                self.bit(true)
100695            }
100696            ///Clears the field bit
100697            #[inline(always)]
100698            pub fn clear_bit(self) -> &'a mut W {
100699                self.bit(false)
100700            }
100701            ///Writes raw bits to the field
100702            #[inline(always)]
100703            pub fn bit(self, value: bool) -> &'a mut W {
100704                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
100705                self.w
100706            }
100707        }
100708        ///Reader of field `OC1M_3`
100709        pub type OC1M_3_R = crate::R<bool, bool>;
100710        ///Write proxy for field `OC1M_3`
100711        pub struct OC1M_3_W<'a> {
100712            w: &'a mut W,
100713        }
100714        impl<'a> OC1M_3_W<'a> {
100715            ///Sets the field bit
100716            #[inline(always)]
100717            pub fn set_bit(self) -> &'a mut W {
100718                self.bit(true)
100719            }
100720            ///Clears the field bit
100721            #[inline(always)]
100722            pub fn clear_bit(self) -> &'a mut W {
100723                self.bit(false)
100724            }
100725            ///Writes raw bits to the field
100726            #[inline(always)]
100727            pub fn bit(self, value: bool) -> &'a mut W {
100728                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
100729                self.w
100730            }
100731        }
100732        ///Reader of field `OC2CE`
100733        pub type OC2CE_R = crate::R<bool, bool>;
100734        ///Write proxy for field `OC2CE`
100735        pub struct OC2CE_W<'a> {
100736            w: &'a mut W,
100737        }
100738        impl<'a> OC2CE_W<'a> {
100739            ///Sets the field bit
100740            #[inline(always)]
100741            pub fn set_bit(self) -> &'a mut W {
100742                self.bit(true)
100743            }
100744            ///Clears the field bit
100745            #[inline(always)]
100746            pub fn clear_bit(self) -> &'a mut W {
100747                self.bit(false)
100748            }
100749            ///Writes raw bits to the field
100750            #[inline(always)]
100751            pub fn bit(self, value: bool) -> &'a mut W {
100752                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
100753                self.w
100754            }
100755        }
100756        ///Reader of field `OC2M`
100757        pub type OC2M_R = crate::R<u8, u8>;
100758        ///Write proxy for field `OC2M`
100759        pub struct OC2M_W<'a> {
100760            w: &'a mut W,
100761        }
100762        impl<'a> OC2M_W<'a> {
100763            ///Writes raw bits to the field
100764            #[inline(always)]
100765            pub unsafe fn bits(self, value: u8) -> &'a mut W {
100766                self.w.bits = (self.w.bits & !(0x07 << 12)) | (((value as u32) & 0x07) << 12);
100767                self.w
100768            }
100769        }
100770        ///Reader of field `OC2PE`
100771        pub type OC2PE_R = crate::R<bool, bool>;
100772        ///Write proxy for field `OC2PE`
100773        pub struct OC2PE_W<'a> {
100774            w: &'a mut W,
100775        }
100776        impl<'a> OC2PE_W<'a> {
100777            ///Sets the field bit
100778            #[inline(always)]
100779            pub fn set_bit(self) -> &'a mut W {
100780                self.bit(true)
100781            }
100782            ///Clears the field bit
100783            #[inline(always)]
100784            pub fn clear_bit(self) -> &'a mut W {
100785                self.bit(false)
100786            }
100787            ///Writes raw bits to the field
100788            #[inline(always)]
100789            pub fn bit(self, value: bool) -> &'a mut W {
100790                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
100791                self.w
100792            }
100793        }
100794        ///Reader of field `OC2FE`
100795        pub type OC2FE_R = crate::R<bool, bool>;
100796        ///Write proxy for field `OC2FE`
100797        pub struct OC2FE_W<'a> {
100798            w: &'a mut W,
100799        }
100800        impl<'a> OC2FE_W<'a> {
100801            ///Sets the field bit
100802            #[inline(always)]
100803            pub fn set_bit(self) -> &'a mut W {
100804                self.bit(true)
100805            }
100806            ///Clears the field bit
100807            #[inline(always)]
100808            pub fn clear_bit(self) -> &'a mut W {
100809                self.bit(false)
100810            }
100811            ///Writes raw bits to the field
100812            #[inline(always)]
100813            pub fn bit(self, value: bool) -> &'a mut W {
100814                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
100815                self.w
100816            }
100817        }
100818        ///Reader of field `CC2S`
100819        pub type CC2S_R = crate::R<u8, u8>;
100820        ///Write proxy for field `CC2S`
100821        pub struct CC2S_W<'a> {
100822            w: &'a mut W,
100823        }
100824        impl<'a> CC2S_W<'a> {
100825            ///Writes raw bits to the field
100826            #[inline(always)]
100827            pub unsafe fn bits(self, value: u8) -> &'a mut W {
100828                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
100829                self.w
100830            }
100831        }
100832        ///Reader of field `OC1CE`
100833        pub type OC1CE_R = crate::R<bool, bool>;
100834        ///Write proxy for field `OC1CE`
100835        pub struct OC1CE_W<'a> {
100836            w: &'a mut W,
100837        }
100838        impl<'a> OC1CE_W<'a> {
100839            ///Sets the field bit
100840            #[inline(always)]
100841            pub fn set_bit(self) -> &'a mut W {
100842                self.bit(true)
100843            }
100844            ///Clears the field bit
100845            #[inline(always)]
100846            pub fn clear_bit(self) -> &'a mut W {
100847                self.bit(false)
100848            }
100849            ///Writes raw bits to the field
100850            #[inline(always)]
100851            pub fn bit(self, value: bool) -> &'a mut W {
100852                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
100853                self.w
100854            }
100855        }
100856        ///Reader of field `OC1M`
100857        pub type OC1M_R = crate::R<u8, u8>;
100858        ///Write proxy for field `OC1M`
100859        pub struct OC1M_W<'a> {
100860            w: &'a mut W,
100861        }
100862        impl<'a> OC1M_W<'a> {
100863            ///Writes raw bits to the field
100864            #[inline(always)]
100865            pub unsafe fn bits(self, value: u8) -> &'a mut W {
100866                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
100867                self.w
100868            }
100869        }
100870        ///Reader of field `OC1PE`
100871        pub type OC1PE_R = crate::R<bool, bool>;
100872        ///Write proxy for field `OC1PE`
100873        pub struct OC1PE_W<'a> {
100874            w: &'a mut W,
100875        }
100876        impl<'a> OC1PE_W<'a> {
100877            ///Sets the field bit
100878            #[inline(always)]
100879            pub fn set_bit(self) -> &'a mut W {
100880                self.bit(true)
100881            }
100882            ///Clears the field bit
100883            #[inline(always)]
100884            pub fn clear_bit(self) -> &'a mut W {
100885                self.bit(false)
100886            }
100887            ///Writes raw bits to the field
100888            #[inline(always)]
100889            pub fn bit(self, value: bool) -> &'a mut W {
100890                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
100891                self.w
100892            }
100893        }
100894        ///Reader of field `OC1FE`
100895        pub type OC1FE_R = crate::R<bool, bool>;
100896        ///Write proxy for field `OC1FE`
100897        pub struct OC1FE_W<'a> {
100898            w: &'a mut W,
100899        }
100900        impl<'a> OC1FE_W<'a> {
100901            ///Sets the field bit
100902            #[inline(always)]
100903            pub fn set_bit(self) -> &'a mut W {
100904                self.bit(true)
100905            }
100906            ///Clears the field bit
100907            #[inline(always)]
100908            pub fn clear_bit(self) -> &'a mut W {
100909                self.bit(false)
100910            }
100911            ///Writes raw bits to the field
100912            #[inline(always)]
100913            pub fn bit(self, value: bool) -> &'a mut W {
100914                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
100915                self.w
100916            }
100917        }
100918        ///Reader of field `CC1S`
100919        pub type CC1S_R = crate::R<u8, u8>;
100920        ///Write proxy for field `CC1S`
100921        pub struct CC1S_W<'a> {
100922            w: &'a mut W,
100923        }
100924        impl<'a> CC1S_W<'a> {
100925            ///Writes raw bits to the field
100926            #[inline(always)]
100927            pub unsafe fn bits(self, value: u8) -> &'a mut W {
100928                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
100929                self.w
100930            }
100931        }
100932        impl R {
100933            ///Bit 24 - Output Compare 2 mode - bit 3
100934            #[inline(always)]
100935            pub fn oc2m_3(&self) -> OC2M_3_R {
100936                OC2M_3_R::new(((self.bits >> 24) & 0x01) != 0)
100937            }
100938            ///Bit 16 - Output Compare 1 mode - bit 3
100939            #[inline(always)]
100940            pub fn oc1m_3(&self) -> OC1M_3_R {
100941                OC1M_3_R::new(((self.bits >> 16) & 0x01) != 0)
100942            }
100943            ///Bit 15 - Output compare 2 clear enable
100944            #[inline(always)]
100945            pub fn oc2ce(&self) -> OC2CE_R {
100946                OC2CE_R::new(((self.bits >> 15) & 0x01) != 0)
100947            }
100948            ///Bits 12:14 - Output compare 2 mode
100949            #[inline(always)]
100950            pub fn oc2m(&self) -> OC2M_R {
100951                OC2M_R::new(((self.bits >> 12) & 0x07) as u8)
100952            }
100953            ///Bit 11 - Output compare 2 preload enable
100954            #[inline(always)]
100955            pub fn oc2pe(&self) -> OC2PE_R {
100956                OC2PE_R::new(((self.bits >> 11) & 0x01) != 0)
100957            }
100958            ///Bit 10 - Output compare 2 fast enable
100959            #[inline(always)]
100960            pub fn oc2fe(&self) -> OC2FE_R {
100961                OC2FE_R::new(((self.bits >> 10) & 0x01) != 0)
100962            }
100963            ///Bits 8:9 - Capture/Compare 2 selection
100964            #[inline(always)]
100965            pub fn cc2s(&self) -> CC2S_R {
100966                CC2S_R::new(((self.bits >> 8) & 0x03) as u8)
100967            }
100968            ///Bit 7 - Output compare 1 clear enable
100969            #[inline(always)]
100970            pub fn oc1ce(&self) -> OC1CE_R {
100971                OC1CE_R::new(((self.bits >> 7) & 0x01) != 0)
100972            }
100973            ///Bits 4:6 - Output compare 1 mode
100974            #[inline(always)]
100975            pub fn oc1m(&self) -> OC1M_R {
100976                OC1M_R::new(((self.bits >> 4) & 0x07) as u8)
100977            }
100978            ///Bit 3 - Output compare 1 preload enable
100979            #[inline(always)]
100980            pub fn oc1pe(&self) -> OC1PE_R {
100981                OC1PE_R::new(((self.bits >> 3) & 0x01) != 0)
100982            }
100983            ///Bit 2 - Output compare 1 fast enable
100984            #[inline(always)]
100985            pub fn oc1fe(&self) -> OC1FE_R {
100986                OC1FE_R::new(((self.bits >> 2) & 0x01) != 0)
100987            }
100988            ///Bits 0:1 - Capture/Compare 1 selection
100989            #[inline(always)]
100990            pub fn cc1s(&self) -> CC1S_R {
100991                CC1S_R::new((self.bits & 0x03) as u8)
100992            }
100993        }
100994        impl W {
100995            ///Bit 24 - Output Compare 2 mode - bit 3
100996            #[inline(always)]
100997            pub fn oc2m_3(&mut self) -> OC2M_3_W {
100998                OC2M_3_W { w: self }
100999            }
101000            ///Bit 16 - Output Compare 1 mode - bit 3
101001            #[inline(always)]
101002            pub fn oc1m_3(&mut self) -> OC1M_3_W {
101003                OC1M_3_W { w: self }
101004            }
101005            ///Bit 15 - Output compare 2 clear enable
101006            #[inline(always)]
101007            pub fn oc2ce(&mut self) -> OC2CE_W {
101008                OC2CE_W { w: self }
101009            }
101010            ///Bits 12:14 - Output compare 2 mode
101011            #[inline(always)]
101012            pub fn oc2m(&mut self) -> OC2M_W {
101013                OC2M_W { w: self }
101014            }
101015            ///Bit 11 - Output compare 2 preload enable
101016            #[inline(always)]
101017            pub fn oc2pe(&mut self) -> OC2PE_W {
101018                OC2PE_W { w: self }
101019            }
101020            ///Bit 10 - Output compare 2 fast enable
101021            #[inline(always)]
101022            pub fn oc2fe(&mut self) -> OC2FE_W {
101023                OC2FE_W { w: self }
101024            }
101025            ///Bits 8:9 - Capture/Compare 2 selection
101026            #[inline(always)]
101027            pub fn cc2s(&mut self) -> CC2S_W {
101028                CC2S_W { w: self }
101029            }
101030            ///Bit 7 - Output compare 1 clear enable
101031            #[inline(always)]
101032            pub fn oc1ce(&mut self) -> OC1CE_W {
101033                OC1CE_W { w: self }
101034            }
101035            ///Bits 4:6 - Output compare 1 mode
101036            #[inline(always)]
101037            pub fn oc1m(&mut self) -> OC1M_W {
101038                OC1M_W { w: self }
101039            }
101040            ///Bit 3 - Output compare 1 preload enable
101041            #[inline(always)]
101042            pub fn oc1pe(&mut self) -> OC1PE_W {
101043                OC1PE_W { w: self }
101044            }
101045            ///Bit 2 - Output compare 1 fast enable
101046            #[inline(always)]
101047            pub fn oc1fe(&mut self) -> OC1FE_W {
101048                OC1FE_W { w: self }
101049            }
101050            ///Bits 0:1 - Capture/Compare 1 selection
101051            #[inline(always)]
101052            pub fn cc1s(&mut self) -> CC1S_W {
101053                CC1S_W { w: self }
101054            }
101055        }
101056    }
101057    ///capture/compare mode register 1 (input mode)
101058    ///
101059    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
101060    ///
101061    ///For information about available fields see [ccmr1_input](ccmr1_input) module
101062    pub type CCMR1_INPUT = crate::Reg<u32, _CCMR1_INPUT>;
101063    #[allow(missing_docs)]
101064    #[doc(hidden)]
101065    pub struct _CCMR1_INPUT;
101066    ///`read()` method returns [ccmr1_input::R](ccmr1_input::R) reader structure
101067    impl crate::Readable for CCMR1_INPUT {}
101068    ///`write(|w| ..)` method takes [ccmr1_input::W](ccmr1_input::W) writer structure
101069    impl crate::Writable for CCMR1_INPUT {}
101070    ///capture/compare mode register 1 (input mode)
101071    pub mod ccmr1_input {
101072        ///Reader of register CCMR1_Input
101073        pub type R = crate::R<u32, super::CCMR1_INPUT>;
101074        ///Writer for register CCMR1_Input
101075        pub type W = crate::W<u32, super::CCMR1_INPUT>;
101076        ///Register CCMR1_Input `reset()`'s with value 0
101077        impl crate::ResetValue for super::CCMR1_INPUT {
101078            type Type = u32;
101079            #[inline(always)]
101080            fn reset_value() -> Self::Type {
101081                0
101082            }
101083        }
101084        ///Reader of field `IC2F`
101085        pub type IC2F_R = crate::R<u8, u8>;
101086        ///Write proxy for field `IC2F`
101087        pub struct IC2F_W<'a> {
101088            w: &'a mut W,
101089        }
101090        impl<'a> IC2F_W<'a> {
101091            ///Writes raw bits to the field
101092            #[inline(always)]
101093            pub unsafe fn bits(self, value: u8) -> &'a mut W {
101094                self.w.bits = (self.w.bits & !(0x0f << 12)) | (((value as u32) & 0x0f) << 12);
101095                self.w
101096            }
101097        }
101098        ///Reader of field `IC2PSC`
101099        pub type IC2PSC_R = crate::R<u8, u8>;
101100        ///Write proxy for field `IC2PSC`
101101        pub struct IC2PSC_W<'a> {
101102            w: &'a mut W,
101103        }
101104        impl<'a> IC2PSC_W<'a> {
101105            ///Writes raw bits to the field
101106            #[inline(always)]
101107            pub unsafe fn bits(self, value: u8) -> &'a mut W {
101108                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
101109                self.w
101110            }
101111        }
101112        ///Reader of field `CC2S`
101113        pub type CC2S_R = crate::R<u8, u8>;
101114        ///Write proxy for field `CC2S`
101115        pub struct CC2S_W<'a> {
101116            w: &'a mut W,
101117        }
101118        impl<'a> CC2S_W<'a> {
101119            ///Writes raw bits to the field
101120            #[inline(always)]
101121            pub unsafe fn bits(self, value: u8) -> &'a mut W {
101122                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
101123                self.w
101124            }
101125        }
101126        ///Reader of field `IC1F`
101127        pub type IC1F_R = crate::R<u8, u8>;
101128        ///Write proxy for field `IC1F`
101129        pub struct IC1F_W<'a> {
101130            w: &'a mut W,
101131        }
101132        impl<'a> IC1F_W<'a> {
101133            ///Writes raw bits to the field
101134            #[inline(always)]
101135            pub unsafe fn bits(self, value: u8) -> &'a mut W {
101136                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
101137                self.w
101138            }
101139        }
101140        ///Reader of field `IC1PSC`
101141        pub type IC1PSC_R = crate::R<u8, u8>;
101142        ///Write proxy for field `IC1PSC`
101143        pub struct IC1PSC_W<'a> {
101144            w: &'a mut W,
101145        }
101146        impl<'a> IC1PSC_W<'a> {
101147            ///Writes raw bits to the field
101148            #[inline(always)]
101149            pub unsafe fn bits(self, value: u8) -> &'a mut W {
101150                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
101151                self.w
101152            }
101153        }
101154        ///Reader of field `CC1S`
101155        pub type CC1S_R = crate::R<u8, u8>;
101156        ///Write proxy for field `CC1S`
101157        pub struct CC1S_W<'a> {
101158            w: &'a mut W,
101159        }
101160        impl<'a> CC1S_W<'a> {
101161            ///Writes raw bits to the field
101162            #[inline(always)]
101163            pub unsafe fn bits(self, value: u8) -> &'a mut W {
101164                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
101165                self.w
101166            }
101167        }
101168        impl R {
101169            ///Bits 12:15 - Input capture 2 filter
101170            #[inline(always)]
101171            pub fn ic2f(&self) -> IC2F_R {
101172                IC2F_R::new(((self.bits >> 12) & 0x0f) as u8)
101173            }
101174            ///Bits 10:11 - Input capture 2 prescaler
101175            #[inline(always)]
101176            pub fn ic2psc(&self) -> IC2PSC_R {
101177                IC2PSC_R::new(((self.bits >> 10) & 0x03) as u8)
101178            }
101179            ///Bits 8:9 - Capture/compare 2 selection
101180            #[inline(always)]
101181            pub fn cc2s(&self) -> CC2S_R {
101182                CC2S_R::new(((self.bits >> 8) & 0x03) as u8)
101183            }
101184            ///Bits 4:7 - Input capture 1 filter
101185            #[inline(always)]
101186            pub fn ic1f(&self) -> IC1F_R {
101187                IC1F_R::new(((self.bits >> 4) & 0x0f) as u8)
101188            }
101189            ///Bits 2:3 - Input capture 1 prescaler
101190            #[inline(always)]
101191            pub fn ic1psc(&self) -> IC1PSC_R {
101192                IC1PSC_R::new(((self.bits >> 2) & 0x03) as u8)
101193            }
101194            ///Bits 0:1 - Capture/Compare 1 selection
101195            #[inline(always)]
101196            pub fn cc1s(&self) -> CC1S_R {
101197                CC1S_R::new((self.bits & 0x03) as u8)
101198            }
101199        }
101200        impl W {
101201            ///Bits 12:15 - Input capture 2 filter
101202            #[inline(always)]
101203            pub fn ic2f(&mut self) -> IC2F_W {
101204                IC2F_W { w: self }
101205            }
101206            ///Bits 10:11 - Input capture 2 prescaler
101207            #[inline(always)]
101208            pub fn ic2psc(&mut self) -> IC2PSC_W {
101209                IC2PSC_W { w: self }
101210            }
101211            ///Bits 8:9 - Capture/compare 2 selection
101212            #[inline(always)]
101213            pub fn cc2s(&mut self) -> CC2S_W {
101214                CC2S_W { w: self }
101215            }
101216            ///Bits 4:7 - Input capture 1 filter
101217            #[inline(always)]
101218            pub fn ic1f(&mut self) -> IC1F_W {
101219                IC1F_W { w: self }
101220            }
101221            ///Bits 2:3 - Input capture 1 prescaler
101222            #[inline(always)]
101223            pub fn ic1psc(&mut self) -> IC1PSC_W {
101224                IC1PSC_W { w: self }
101225            }
101226            ///Bits 0:1 - Capture/Compare 1 selection
101227            #[inline(always)]
101228            pub fn cc1s(&mut self) -> CC1S_W {
101229                CC1S_W { w: self }
101230            }
101231        }
101232    }
101233    ///capture/compare mode register 2 (output mode)
101234    ///
101235    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
101236    ///
101237    ///For information about available fields see [ccmr2_output](ccmr2_output) module
101238    pub type CCMR2_OUTPUT = crate::Reg<u32, _CCMR2_OUTPUT>;
101239    #[allow(missing_docs)]
101240    #[doc(hidden)]
101241    pub struct _CCMR2_OUTPUT;
101242    ///`read()` method returns [ccmr2_output::R](ccmr2_output::R) reader structure
101243    impl crate::Readable for CCMR2_OUTPUT {}
101244    ///`write(|w| ..)` method takes [ccmr2_output::W](ccmr2_output::W) writer structure
101245    impl crate::Writable for CCMR2_OUTPUT {}
101246    ///capture/compare mode register 2 (output mode)
101247    pub mod ccmr2_output {
101248        ///Reader of register CCMR2_Output
101249        pub type R = crate::R<u32, super::CCMR2_OUTPUT>;
101250        ///Writer for register CCMR2_Output
101251        pub type W = crate::W<u32, super::CCMR2_OUTPUT>;
101252        ///Register CCMR2_Output `reset()`'s with value 0
101253        impl crate::ResetValue for super::CCMR2_OUTPUT {
101254            type Type = u32;
101255            #[inline(always)]
101256            fn reset_value() -> Self::Type {
101257                0
101258            }
101259        }
101260        ///Reader of field `OC4M_3`
101261        pub type OC4M_3_R = crate::R<bool, bool>;
101262        ///Write proxy for field `OC4M_3`
101263        pub struct OC4M_3_W<'a> {
101264            w: &'a mut W,
101265        }
101266        impl<'a> OC4M_3_W<'a> {
101267            ///Sets the field bit
101268            #[inline(always)]
101269            pub fn set_bit(self) -> &'a mut W {
101270                self.bit(true)
101271            }
101272            ///Clears the field bit
101273            #[inline(always)]
101274            pub fn clear_bit(self) -> &'a mut W {
101275                self.bit(false)
101276            }
101277            ///Writes raw bits to the field
101278            #[inline(always)]
101279            pub fn bit(self, value: bool) -> &'a mut W {
101280                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
101281                self.w
101282            }
101283        }
101284        ///Reader of field `OC3M_3`
101285        pub type OC3M_3_R = crate::R<bool, bool>;
101286        ///Write proxy for field `OC3M_3`
101287        pub struct OC3M_3_W<'a> {
101288            w: &'a mut W,
101289        }
101290        impl<'a> OC3M_3_W<'a> {
101291            ///Sets the field bit
101292            #[inline(always)]
101293            pub fn set_bit(self) -> &'a mut W {
101294                self.bit(true)
101295            }
101296            ///Clears the field bit
101297            #[inline(always)]
101298            pub fn clear_bit(self) -> &'a mut W {
101299                self.bit(false)
101300            }
101301            ///Writes raw bits to the field
101302            #[inline(always)]
101303            pub fn bit(self, value: bool) -> &'a mut W {
101304                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
101305                self.w
101306            }
101307        }
101308        ///Reader of field `OC4CE`
101309        pub type OC4CE_R = crate::R<bool, bool>;
101310        ///Write proxy for field `OC4CE`
101311        pub struct OC4CE_W<'a> {
101312            w: &'a mut W,
101313        }
101314        impl<'a> OC4CE_W<'a> {
101315            ///Sets the field bit
101316            #[inline(always)]
101317            pub fn set_bit(self) -> &'a mut W {
101318                self.bit(true)
101319            }
101320            ///Clears the field bit
101321            #[inline(always)]
101322            pub fn clear_bit(self) -> &'a mut W {
101323                self.bit(false)
101324            }
101325            ///Writes raw bits to the field
101326            #[inline(always)]
101327            pub fn bit(self, value: bool) -> &'a mut W {
101328                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
101329                self.w
101330            }
101331        }
101332        ///Reader of field `OC4M`
101333        pub type OC4M_R = crate::R<u8, u8>;
101334        ///Write proxy for field `OC4M`
101335        pub struct OC4M_W<'a> {
101336            w: &'a mut W,
101337        }
101338        impl<'a> OC4M_W<'a> {
101339            ///Writes raw bits to the field
101340            #[inline(always)]
101341            pub unsafe fn bits(self, value: u8) -> &'a mut W {
101342                self.w.bits = (self.w.bits & !(0x07 << 12)) | (((value as u32) & 0x07) << 12);
101343                self.w
101344            }
101345        }
101346        ///Reader of field `OC4PE`
101347        pub type OC4PE_R = crate::R<bool, bool>;
101348        ///Write proxy for field `OC4PE`
101349        pub struct OC4PE_W<'a> {
101350            w: &'a mut W,
101351        }
101352        impl<'a> OC4PE_W<'a> {
101353            ///Sets the field bit
101354            #[inline(always)]
101355            pub fn set_bit(self) -> &'a mut W {
101356                self.bit(true)
101357            }
101358            ///Clears the field bit
101359            #[inline(always)]
101360            pub fn clear_bit(self) -> &'a mut W {
101361                self.bit(false)
101362            }
101363            ///Writes raw bits to the field
101364            #[inline(always)]
101365            pub fn bit(self, value: bool) -> &'a mut W {
101366                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
101367                self.w
101368            }
101369        }
101370        ///Reader of field `OC4FE`
101371        pub type OC4FE_R = crate::R<bool, bool>;
101372        ///Write proxy for field `OC4FE`
101373        pub struct OC4FE_W<'a> {
101374            w: &'a mut W,
101375        }
101376        impl<'a> OC4FE_W<'a> {
101377            ///Sets the field bit
101378            #[inline(always)]
101379            pub fn set_bit(self) -> &'a mut W {
101380                self.bit(true)
101381            }
101382            ///Clears the field bit
101383            #[inline(always)]
101384            pub fn clear_bit(self) -> &'a mut W {
101385                self.bit(false)
101386            }
101387            ///Writes raw bits to the field
101388            #[inline(always)]
101389            pub fn bit(self, value: bool) -> &'a mut W {
101390                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
101391                self.w
101392            }
101393        }
101394        ///Reader of field `CC4S`
101395        pub type CC4S_R = crate::R<u8, u8>;
101396        ///Write proxy for field `CC4S`
101397        pub struct CC4S_W<'a> {
101398            w: &'a mut W,
101399        }
101400        impl<'a> CC4S_W<'a> {
101401            ///Writes raw bits to the field
101402            #[inline(always)]
101403            pub unsafe fn bits(self, value: u8) -> &'a mut W {
101404                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
101405                self.w
101406            }
101407        }
101408        ///Reader of field `OC3CE`
101409        pub type OC3CE_R = crate::R<bool, bool>;
101410        ///Write proxy for field `OC3CE`
101411        pub struct OC3CE_W<'a> {
101412            w: &'a mut W,
101413        }
101414        impl<'a> OC3CE_W<'a> {
101415            ///Sets the field bit
101416            #[inline(always)]
101417            pub fn set_bit(self) -> &'a mut W {
101418                self.bit(true)
101419            }
101420            ///Clears the field bit
101421            #[inline(always)]
101422            pub fn clear_bit(self) -> &'a mut W {
101423                self.bit(false)
101424            }
101425            ///Writes raw bits to the field
101426            #[inline(always)]
101427            pub fn bit(self, value: bool) -> &'a mut W {
101428                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
101429                self.w
101430            }
101431        }
101432        ///Reader of field `OC3M`
101433        pub type OC3M_R = crate::R<u8, u8>;
101434        ///Write proxy for field `OC3M`
101435        pub struct OC3M_W<'a> {
101436            w: &'a mut W,
101437        }
101438        impl<'a> OC3M_W<'a> {
101439            ///Writes raw bits to the field
101440            #[inline(always)]
101441            pub unsafe fn bits(self, value: u8) -> &'a mut W {
101442                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
101443                self.w
101444            }
101445        }
101446        ///Reader of field `OC3PE`
101447        pub type OC3PE_R = crate::R<bool, bool>;
101448        ///Write proxy for field `OC3PE`
101449        pub struct OC3PE_W<'a> {
101450            w: &'a mut W,
101451        }
101452        impl<'a> OC3PE_W<'a> {
101453            ///Sets the field bit
101454            #[inline(always)]
101455            pub fn set_bit(self) -> &'a mut W {
101456                self.bit(true)
101457            }
101458            ///Clears the field bit
101459            #[inline(always)]
101460            pub fn clear_bit(self) -> &'a mut W {
101461                self.bit(false)
101462            }
101463            ///Writes raw bits to the field
101464            #[inline(always)]
101465            pub fn bit(self, value: bool) -> &'a mut W {
101466                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
101467                self.w
101468            }
101469        }
101470        ///Reader of field `OC3FE`
101471        pub type OC3FE_R = crate::R<bool, bool>;
101472        ///Write proxy for field `OC3FE`
101473        pub struct OC3FE_W<'a> {
101474            w: &'a mut W,
101475        }
101476        impl<'a> OC3FE_W<'a> {
101477            ///Sets the field bit
101478            #[inline(always)]
101479            pub fn set_bit(self) -> &'a mut W {
101480                self.bit(true)
101481            }
101482            ///Clears the field bit
101483            #[inline(always)]
101484            pub fn clear_bit(self) -> &'a mut W {
101485                self.bit(false)
101486            }
101487            ///Writes raw bits to the field
101488            #[inline(always)]
101489            pub fn bit(self, value: bool) -> &'a mut W {
101490                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
101491                self.w
101492            }
101493        }
101494        ///Reader of field `CC3S`
101495        pub type CC3S_R = crate::R<u8, u8>;
101496        ///Write proxy for field `CC3S`
101497        pub struct CC3S_W<'a> {
101498            w: &'a mut W,
101499        }
101500        impl<'a> CC3S_W<'a> {
101501            ///Writes raw bits to the field
101502            #[inline(always)]
101503            pub unsafe fn bits(self, value: u8) -> &'a mut W {
101504                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
101505                self.w
101506            }
101507        }
101508        impl R {
101509            ///Bit 24 - Output Compare 4 mode - bit 3
101510            #[inline(always)]
101511            pub fn oc4m_3(&self) -> OC4M_3_R {
101512                OC4M_3_R::new(((self.bits >> 24) & 0x01) != 0)
101513            }
101514            ///Bit 16 - Output Compare 3 mode - bit 3
101515            #[inline(always)]
101516            pub fn oc3m_3(&self) -> OC3M_3_R {
101517                OC3M_3_R::new(((self.bits >> 16) & 0x01) != 0)
101518            }
101519            ///Bit 15 - Output compare 4 clear enable
101520            #[inline(always)]
101521            pub fn oc4ce(&self) -> OC4CE_R {
101522                OC4CE_R::new(((self.bits >> 15) & 0x01) != 0)
101523            }
101524            ///Bits 12:14 - Output compare 4 mode
101525            #[inline(always)]
101526            pub fn oc4m(&self) -> OC4M_R {
101527                OC4M_R::new(((self.bits >> 12) & 0x07) as u8)
101528            }
101529            ///Bit 11 - Output compare 4 preload enable
101530            #[inline(always)]
101531            pub fn oc4pe(&self) -> OC4PE_R {
101532                OC4PE_R::new(((self.bits >> 11) & 0x01) != 0)
101533            }
101534            ///Bit 10 - Output compare 4 fast enable
101535            #[inline(always)]
101536            pub fn oc4fe(&self) -> OC4FE_R {
101537                OC4FE_R::new(((self.bits >> 10) & 0x01) != 0)
101538            }
101539            ///Bits 8:9 - Capture/Compare 4 selection
101540            #[inline(always)]
101541            pub fn cc4s(&self) -> CC4S_R {
101542                CC4S_R::new(((self.bits >> 8) & 0x03) as u8)
101543            }
101544            ///Bit 7 - Output compare 3 clear enable
101545            #[inline(always)]
101546            pub fn oc3ce(&self) -> OC3CE_R {
101547                OC3CE_R::new(((self.bits >> 7) & 0x01) != 0)
101548            }
101549            ///Bits 4:6 - Output compare 3 mode
101550            #[inline(always)]
101551            pub fn oc3m(&self) -> OC3M_R {
101552                OC3M_R::new(((self.bits >> 4) & 0x07) as u8)
101553            }
101554            ///Bit 3 - Output compare 3 preload enable
101555            #[inline(always)]
101556            pub fn oc3pe(&self) -> OC3PE_R {
101557                OC3PE_R::new(((self.bits >> 3) & 0x01) != 0)
101558            }
101559            ///Bit 2 - Output compare 3 fast enable
101560            #[inline(always)]
101561            pub fn oc3fe(&self) -> OC3FE_R {
101562                OC3FE_R::new(((self.bits >> 2) & 0x01) != 0)
101563            }
101564            ///Bits 0:1 - Capture/Compare 3 selection
101565            #[inline(always)]
101566            pub fn cc3s(&self) -> CC3S_R {
101567                CC3S_R::new((self.bits & 0x03) as u8)
101568            }
101569        }
101570        impl W {
101571            ///Bit 24 - Output Compare 4 mode - bit 3
101572            #[inline(always)]
101573            pub fn oc4m_3(&mut self) -> OC4M_3_W {
101574                OC4M_3_W { w: self }
101575            }
101576            ///Bit 16 - Output Compare 3 mode - bit 3
101577            #[inline(always)]
101578            pub fn oc3m_3(&mut self) -> OC3M_3_W {
101579                OC3M_3_W { w: self }
101580            }
101581            ///Bit 15 - Output compare 4 clear enable
101582            #[inline(always)]
101583            pub fn oc4ce(&mut self) -> OC4CE_W {
101584                OC4CE_W { w: self }
101585            }
101586            ///Bits 12:14 - Output compare 4 mode
101587            #[inline(always)]
101588            pub fn oc4m(&mut self) -> OC4M_W {
101589                OC4M_W { w: self }
101590            }
101591            ///Bit 11 - Output compare 4 preload enable
101592            #[inline(always)]
101593            pub fn oc4pe(&mut self) -> OC4PE_W {
101594                OC4PE_W { w: self }
101595            }
101596            ///Bit 10 - Output compare 4 fast enable
101597            #[inline(always)]
101598            pub fn oc4fe(&mut self) -> OC4FE_W {
101599                OC4FE_W { w: self }
101600            }
101601            ///Bits 8:9 - Capture/Compare 4 selection
101602            #[inline(always)]
101603            pub fn cc4s(&mut self) -> CC4S_W {
101604                CC4S_W { w: self }
101605            }
101606            ///Bit 7 - Output compare 3 clear enable
101607            #[inline(always)]
101608            pub fn oc3ce(&mut self) -> OC3CE_W {
101609                OC3CE_W { w: self }
101610            }
101611            ///Bits 4:6 - Output compare 3 mode
101612            #[inline(always)]
101613            pub fn oc3m(&mut self) -> OC3M_W {
101614                OC3M_W { w: self }
101615            }
101616            ///Bit 3 - Output compare 3 preload enable
101617            #[inline(always)]
101618            pub fn oc3pe(&mut self) -> OC3PE_W {
101619                OC3PE_W { w: self }
101620            }
101621            ///Bit 2 - Output compare 3 fast enable
101622            #[inline(always)]
101623            pub fn oc3fe(&mut self) -> OC3FE_W {
101624                OC3FE_W { w: self }
101625            }
101626            ///Bits 0:1 - Capture/Compare 3 selection
101627            #[inline(always)]
101628            pub fn cc3s(&mut self) -> CC3S_W {
101629                CC3S_W { w: self }
101630            }
101631        }
101632    }
101633    ///capture/compare mode register 2 (input mode)
101634    ///
101635    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
101636    ///
101637    ///For information about available fields see [ccmr2_input](ccmr2_input) module
101638    pub type CCMR2_INPUT = crate::Reg<u32, _CCMR2_INPUT>;
101639    #[allow(missing_docs)]
101640    #[doc(hidden)]
101641    pub struct _CCMR2_INPUT;
101642    ///`read()` method returns [ccmr2_input::R](ccmr2_input::R) reader structure
101643    impl crate::Readable for CCMR2_INPUT {}
101644    ///`write(|w| ..)` method takes [ccmr2_input::W](ccmr2_input::W) writer structure
101645    impl crate::Writable for CCMR2_INPUT {}
101646    ///capture/compare mode register 2 (input mode)
101647    pub mod ccmr2_input {
101648        ///Reader of register CCMR2_Input
101649        pub type R = crate::R<u32, super::CCMR2_INPUT>;
101650        ///Writer for register CCMR2_Input
101651        pub type W = crate::W<u32, super::CCMR2_INPUT>;
101652        ///Register CCMR2_Input `reset()`'s with value 0
101653        impl crate::ResetValue for super::CCMR2_INPUT {
101654            type Type = u32;
101655            #[inline(always)]
101656            fn reset_value() -> Self::Type {
101657                0
101658            }
101659        }
101660        ///Reader of field `IC4F`
101661        pub type IC4F_R = crate::R<u8, u8>;
101662        ///Write proxy for field `IC4F`
101663        pub struct IC4F_W<'a> {
101664            w: &'a mut W,
101665        }
101666        impl<'a> IC4F_W<'a> {
101667            ///Writes raw bits to the field
101668            #[inline(always)]
101669            pub unsafe fn bits(self, value: u8) -> &'a mut W {
101670                self.w.bits = (self.w.bits & !(0x0f << 12)) | (((value as u32) & 0x0f) << 12);
101671                self.w
101672            }
101673        }
101674        ///Reader of field `IC4PSC`
101675        pub type IC4PSC_R = crate::R<u8, u8>;
101676        ///Write proxy for field `IC4PSC`
101677        pub struct IC4PSC_W<'a> {
101678            w: &'a mut W,
101679        }
101680        impl<'a> IC4PSC_W<'a> {
101681            ///Writes raw bits to the field
101682            #[inline(always)]
101683            pub unsafe fn bits(self, value: u8) -> &'a mut W {
101684                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
101685                self.w
101686            }
101687        }
101688        ///Reader of field `CC4S`
101689        pub type CC4S_R = crate::R<u8, u8>;
101690        ///Write proxy for field `CC4S`
101691        pub struct CC4S_W<'a> {
101692            w: &'a mut W,
101693        }
101694        impl<'a> CC4S_W<'a> {
101695            ///Writes raw bits to the field
101696            #[inline(always)]
101697            pub unsafe fn bits(self, value: u8) -> &'a mut W {
101698                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
101699                self.w
101700            }
101701        }
101702        ///Reader of field `IC3F`
101703        pub type IC3F_R = crate::R<u8, u8>;
101704        ///Write proxy for field `IC3F`
101705        pub struct IC3F_W<'a> {
101706            w: &'a mut W,
101707        }
101708        impl<'a> IC3F_W<'a> {
101709            ///Writes raw bits to the field
101710            #[inline(always)]
101711            pub unsafe fn bits(self, value: u8) -> &'a mut W {
101712                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
101713                self.w
101714            }
101715        }
101716        ///Reader of field `IC3PSC`
101717        pub type IC3PSC_R = crate::R<u8, u8>;
101718        ///Write proxy for field `IC3PSC`
101719        pub struct IC3PSC_W<'a> {
101720            w: &'a mut W,
101721        }
101722        impl<'a> IC3PSC_W<'a> {
101723            ///Writes raw bits to the field
101724            #[inline(always)]
101725            pub unsafe fn bits(self, value: u8) -> &'a mut W {
101726                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
101727                self.w
101728            }
101729        }
101730        ///Reader of field `CC3S`
101731        pub type CC3S_R = crate::R<u8, u8>;
101732        ///Write proxy for field `CC3S`
101733        pub struct CC3S_W<'a> {
101734            w: &'a mut W,
101735        }
101736        impl<'a> CC3S_W<'a> {
101737            ///Writes raw bits to the field
101738            #[inline(always)]
101739            pub unsafe fn bits(self, value: u8) -> &'a mut W {
101740                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
101741                self.w
101742            }
101743        }
101744        impl R {
101745            ///Bits 12:15 - Input capture 4 filter
101746            #[inline(always)]
101747            pub fn ic4f(&self) -> IC4F_R {
101748                IC4F_R::new(((self.bits >> 12) & 0x0f) as u8)
101749            }
101750            ///Bits 10:11 - Input capture 4 prescaler
101751            #[inline(always)]
101752            pub fn ic4psc(&self) -> IC4PSC_R {
101753                IC4PSC_R::new(((self.bits >> 10) & 0x03) as u8)
101754            }
101755            ///Bits 8:9 - Capture/Compare 4 selection
101756            #[inline(always)]
101757            pub fn cc4s(&self) -> CC4S_R {
101758                CC4S_R::new(((self.bits >> 8) & 0x03) as u8)
101759            }
101760            ///Bits 4:7 - Input capture 3 filter
101761            #[inline(always)]
101762            pub fn ic3f(&self) -> IC3F_R {
101763                IC3F_R::new(((self.bits >> 4) & 0x0f) as u8)
101764            }
101765            ///Bits 2:3 - Input capture 3 prescaler
101766            #[inline(always)]
101767            pub fn ic3psc(&self) -> IC3PSC_R {
101768                IC3PSC_R::new(((self.bits >> 2) & 0x03) as u8)
101769            }
101770            ///Bits 0:1 - Capture/Compare 3 selection
101771            #[inline(always)]
101772            pub fn cc3s(&self) -> CC3S_R {
101773                CC3S_R::new((self.bits & 0x03) as u8)
101774            }
101775        }
101776        impl W {
101777            ///Bits 12:15 - Input capture 4 filter
101778            #[inline(always)]
101779            pub fn ic4f(&mut self) -> IC4F_W {
101780                IC4F_W { w: self }
101781            }
101782            ///Bits 10:11 - Input capture 4 prescaler
101783            #[inline(always)]
101784            pub fn ic4psc(&mut self) -> IC4PSC_W {
101785                IC4PSC_W { w: self }
101786            }
101787            ///Bits 8:9 - Capture/Compare 4 selection
101788            #[inline(always)]
101789            pub fn cc4s(&mut self) -> CC4S_W {
101790                CC4S_W { w: self }
101791            }
101792            ///Bits 4:7 - Input capture 3 filter
101793            #[inline(always)]
101794            pub fn ic3f(&mut self) -> IC3F_W {
101795                IC3F_W { w: self }
101796            }
101797            ///Bits 2:3 - Input capture 3 prescaler
101798            #[inline(always)]
101799            pub fn ic3psc(&mut self) -> IC3PSC_W {
101800                IC3PSC_W { w: self }
101801            }
101802            ///Bits 0:1 - Capture/Compare 3 selection
101803            #[inline(always)]
101804            pub fn cc3s(&mut self) -> CC3S_W {
101805                CC3S_W { w: self }
101806            }
101807        }
101808    }
101809    ///capture/compare enable register
101810    ///
101811    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
101812    ///
101813    ///For information about available fields see [ccer](ccer) module
101814    pub type CCER = crate::Reg<u32, _CCER>;
101815    #[allow(missing_docs)]
101816    #[doc(hidden)]
101817    pub struct _CCER;
101818    ///`read()` method returns [ccer::R](ccer::R) reader structure
101819    impl crate::Readable for CCER {}
101820    ///`write(|w| ..)` method takes [ccer::W](ccer::W) writer structure
101821    impl crate::Writable for CCER {}
101822    ///capture/compare enable register
101823    pub mod ccer {
101824        ///Reader of register CCER
101825        pub type R = crate::R<u32, super::CCER>;
101826        ///Writer for register CCER
101827        pub type W = crate::W<u32, super::CCER>;
101828        ///Register CCER `reset()`'s with value 0
101829        impl crate::ResetValue for super::CCER {
101830            type Type = u32;
101831            #[inline(always)]
101832            fn reset_value() -> Self::Type {
101833                0
101834            }
101835        }
101836        ///Reader of field `CC4NP`
101837        pub type CC4NP_R = crate::R<bool, bool>;
101838        ///Write proxy for field `CC4NP`
101839        pub struct CC4NP_W<'a> {
101840            w: &'a mut W,
101841        }
101842        impl<'a> CC4NP_W<'a> {
101843            ///Sets the field bit
101844            #[inline(always)]
101845            pub fn set_bit(self) -> &'a mut W {
101846                self.bit(true)
101847            }
101848            ///Clears the field bit
101849            #[inline(always)]
101850            pub fn clear_bit(self) -> &'a mut W {
101851                self.bit(false)
101852            }
101853            ///Writes raw bits to the field
101854            #[inline(always)]
101855            pub fn bit(self, value: bool) -> &'a mut W {
101856                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
101857                self.w
101858            }
101859        }
101860        ///Reader of field `CC4P`
101861        pub type CC4P_R = crate::R<bool, bool>;
101862        ///Write proxy for field `CC4P`
101863        pub struct CC4P_W<'a> {
101864            w: &'a mut W,
101865        }
101866        impl<'a> CC4P_W<'a> {
101867            ///Sets the field bit
101868            #[inline(always)]
101869            pub fn set_bit(self) -> &'a mut W {
101870                self.bit(true)
101871            }
101872            ///Clears the field bit
101873            #[inline(always)]
101874            pub fn clear_bit(self) -> &'a mut W {
101875                self.bit(false)
101876            }
101877            ///Writes raw bits to the field
101878            #[inline(always)]
101879            pub fn bit(self, value: bool) -> &'a mut W {
101880                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
101881                self.w
101882            }
101883        }
101884        ///Reader of field `CC4E`
101885        pub type CC4E_R = crate::R<bool, bool>;
101886        ///Write proxy for field `CC4E`
101887        pub struct CC4E_W<'a> {
101888            w: &'a mut W,
101889        }
101890        impl<'a> CC4E_W<'a> {
101891            ///Sets the field bit
101892            #[inline(always)]
101893            pub fn set_bit(self) -> &'a mut W {
101894                self.bit(true)
101895            }
101896            ///Clears the field bit
101897            #[inline(always)]
101898            pub fn clear_bit(self) -> &'a mut W {
101899                self.bit(false)
101900            }
101901            ///Writes raw bits to the field
101902            #[inline(always)]
101903            pub fn bit(self, value: bool) -> &'a mut W {
101904                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
101905                self.w
101906            }
101907        }
101908        ///Reader of field `CC3NP`
101909        pub type CC3NP_R = crate::R<bool, bool>;
101910        ///Write proxy for field `CC3NP`
101911        pub struct CC3NP_W<'a> {
101912            w: &'a mut W,
101913        }
101914        impl<'a> CC3NP_W<'a> {
101915            ///Sets the field bit
101916            #[inline(always)]
101917            pub fn set_bit(self) -> &'a mut W {
101918                self.bit(true)
101919            }
101920            ///Clears the field bit
101921            #[inline(always)]
101922            pub fn clear_bit(self) -> &'a mut W {
101923                self.bit(false)
101924            }
101925            ///Writes raw bits to the field
101926            #[inline(always)]
101927            pub fn bit(self, value: bool) -> &'a mut W {
101928                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
101929                self.w
101930            }
101931        }
101932        ///Reader of field `CC3P`
101933        pub type CC3P_R = crate::R<bool, bool>;
101934        ///Write proxy for field `CC3P`
101935        pub struct CC3P_W<'a> {
101936            w: &'a mut W,
101937        }
101938        impl<'a> CC3P_W<'a> {
101939            ///Sets the field bit
101940            #[inline(always)]
101941            pub fn set_bit(self) -> &'a mut W {
101942                self.bit(true)
101943            }
101944            ///Clears the field bit
101945            #[inline(always)]
101946            pub fn clear_bit(self) -> &'a mut W {
101947                self.bit(false)
101948            }
101949            ///Writes raw bits to the field
101950            #[inline(always)]
101951            pub fn bit(self, value: bool) -> &'a mut W {
101952                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
101953                self.w
101954            }
101955        }
101956        ///Reader of field `CC3E`
101957        pub type CC3E_R = crate::R<bool, bool>;
101958        ///Write proxy for field `CC3E`
101959        pub struct CC3E_W<'a> {
101960            w: &'a mut W,
101961        }
101962        impl<'a> CC3E_W<'a> {
101963            ///Sets the field bit
101964            #[inline(always)]
101965            pub fn set_bit(self) -> &'a mut W {
101966                self.bit(true)
101967            }
101968            ///Clears the field bit
101969            #[inline(always)]
101970            pub fn clear_bit(self) -> &'a mut W {
101971                self.bit(false)
101972            }
101973            ///Writes raw bits to the field
101974            #[inline(always)]
101975            pub fn bit(self, value: bool) -> &'a mut W {
101976                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
101977                self.w
101978            }
101979        }
101980        ///Reader of field `CC2NP`
101981        pub type CC2NP_R = crate::R<bool, bool>;
101982        ///Write proxy for field `CC2NP`
101983        pub struct CC2NP_W<'a> {
101984            w: &'a mut W,
101985        }
101986        impl<'a> CC2NP_W<'a> {
101987            ///Sets the field bit
101988            #[inline(always)]
101989            pub fn set_bit(self) -> &'a mut W {
101990                self.bit(true)
101991            }
101992            ///Clears the field bit
101993            #[inline(always)]
101994            pub fn clear_bit(self) -> &'a mut W {
101995                self.bit(false)
101996            }
101997            ///Writes raw bits to the field
101998            #[inline(always)]
101999            pub fn bit(self, value: bool) -> &'a mut W {
102000                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
102001                self.w
102002            }
102003        }
102004        ///Reader of field `CC2P`
102005        pub type CC2P_R = crate::R<bool, bool>;
102006        ///Write proxy for field `CC2P`
102007        pub struct CC2P_W<'a> {
102008            w: &'a mut W,
102009        }
102010        impl<'a> CC2P_W<'a> {
102011            ///Sets the field bit
102012            #[inline(always)]
102013            pub fn set_bit(self) -> &'a mut W {
102014                self.bit(true)
102015            }
102016            ///Clears the field bit
102017            #[inline(always)]
102018            pub fn clear_bit(self) -> &'a mut W {
102019                self.bit(false)
102020            }
102021            ///Writes raw bits to the field
102022            #[inline(always)]
102023            pub fn bit(self, value: bool) -> &'a mut W {
102024                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
102025                self.w
102026            }
102027        }
102028        ///Reader of field `CC2E`
102029        pub type CC2E_R = crate::R<bool, bool>;
102030        ///Write proxy for field `CC2E`
102031        pub struct CC2E_W<'a> {
102032            w: &'a mut W,
102033        }
102034        impl<'a> CC2E_W<'a> {
102035            ///Sets the field bit
102036            #[inline(always)]
102037            pub fn set_bit(self) -> &'a mut W {
102038                self.bit(true)
102039            }
102040            ///Clears the field bit
102041            #[inline(always)]
102042            pub fn clear_bit(self) -> &'a mut W {
102043                self.bit(false)
102044            }
102045            ///Writes raw bits to the field
102046            #[inline(always)]
102047            pub fn bit(self, value: bool) -> &'a mut W {
102048                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
102049                self.w
102050            }
102051        }
102052        ///Reader of field `CC1NP`
102053        pub type CC1NP_R = crate::R<bool, bool>;
102054        ///Write proxy for field `CC1NP`
102055        pub struct CC1NP_W<'a> {
102056            w: &'a mut W,
102057        }
102058        impl<'a> CC1NP_W<'a> {
102059            ///Sets the field bit
102060            #[inline(always)]
102061            pub fn set_bit(self) -> &'a mut W {
102062                self.bit(true)
102063            }
102064            ///Clears the field bit
102065            #[inline(always)]
102066            pub fn clear_bit(self) -> &'a mut W {
102067                self.bit(false)
102068            }
102069            ///Writes raw bits to the field
102070            #[inline(always)]
102071            pub fn bit(self, value: bool) -> &'a mut W {
102072                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
102073                self.w
102074            }
102075        }
102076        ///Reader of field `CC1P`
102077        pub type CC1P_R = crate::R<bool, bool>;
102078        ///Write proxy for field `CC1P`
102079        pub struct CC1P_W<'a> {
102080            w: &'a mut W,
102081        }
102082        impl<'a> CC1P_W<'a> {
102083            ///Sets the field bit
102084            #[inline(always)]
102085            pub fn set_bit(self) -> &'a mut W {
102086                self.bit(true)
102087            }
102088            ///Clears the field bit
102089            #[inline(always)]
102090            pub fn clear_bit(self) -> &'a mut W {
102091                self.bit(false)
102092            }
102093            ///Writes raw bits to the field
102094            #[inline(always)]
102095            pub fn bit(self, value: bool) -> &'a mut W {
102096                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
102097                self.w
102098            }
102099        }
102100        ///Reader of field `CC1E`
102101        pub type CC1E_R = crate::R<bool, bool>;
102102        ///Write proxy for field `CC1E`
102103        pub struct CC1E_W<'a> {
102104            w: &'a mut W,
102105        }
102106        impl<'a> CC1E_W<'a> {
102107            ///Sets the field bit
102108            #[inline(always)]
102109            pub fn set_bit(self) -> &'a mut W {
102110                self.bit(true)
102111            }
102112            ///Clears the field bit
102113            #[inline(always)]
102114            pub fn clear_bit(self) -> &'a mut W {
102115                self.bit(false)
102116            }
102117            ///Writes raw bits to the field
102118            #[inline(always)]
102119            pub fn bit(self, value: bool) -> &'a mut W {
102120                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
102121                self.w
102122            }
102123        }
102124        impl R {
102125            ///Bit 15 - Capture/Compare 4 output Polarity
102126            #[inline(always)]
102127            pub fn cc4np(&self) -> CC4NP_R {
102128                CC4NP_R::new(((self.bits >> 15) & 0x01) != 0)
102129            }
102130            ///Bit 13 - Capture/Compare 3 output Polarity
102131            #[inline(always)]
102132            pub fn cc4p(&self) -> CC4P_R {
102133                CC4P_R::new(((self.bits >> 13) & 0x01) != 0)
102134            }
102135            ///Bit 12 - Capture/Compare 4 output enable
102136            #[inline(always)]
102137            pub fn cc4e(&self) -> CC4E_R {
102138                CC4E_R::new(((self.bits >> 12) & 0x01) != 0)
102139            }
102140            ///Bit 11 - Capture/Compare 3 output Polarity
102141            #[inline(always)]
102142            pub fn cc3np(&self) -> CC3NP_R {
102143                CC3NP_R::new(((self.bits >> 11) & 0x01) != 0)
102144            }
102145            ///Bit 9 - Capture/Compare 3 output Polarity
102146            #[inline(always)]
102147            pub fn cc3p(&self) -> CC3P_R {
102148                CC3P_R::new(((self.bits >> 9) & 0x01) != 0)
102149            }
102150            ///Bit 8 - Capture/Compare 3 output enable
102151            #[inline(always)]
102152            pub fn cc3e(&self) -> CC3E_R {
102153                CC3E_R::new(((self.bits >> 8) & 0x01) != 0)
102154            }
102155            ///Bit 7 - Capture/Compare 2 output Polarity
102156            #[inline(always)]
102157            pub fn cc2np(&self) -> CC2NP_R {
102158                CC2NP_R::new(((self.bits >> 7) & 0x01) != 0)
102159            }
102160            ///Bit 5 - Capture/Compare 2 output Polarity
102161            #[inline(always)]
102162            pub fn cc2p(&self) -> CC2P_R {
102163                CC2P_R::new(((self.bits >> 5) & 0x01) != 0)
102164            }
102165            ///Bit 4 - Capture/Compare 2 output enable
102166            #[inline(always)]
102167            pub fn cc2e(&self) -> CC2E_R {
102168                CC2E_R::new(((self.bits >> 4) & 0x01) != 0)
102169            }
102170            ///Bit 3 - Capture/Compare 1 output Polarity
102171            #[inline(always)]
102172            pub fn cc1np(&self) -> CC1NP_R {
102173                CC1NP_R::new(((self.bits >> 3) & 0x01) != 0)
102174            }
102175            ///Bit 1 - Capture/Compare 1 output Polarity
102176            #[inline(always)]
102177            pub fn cc1p(&self) -> CC1P_R {
102178                CC1P_R::new(((self.bits >> 1) & 0x01) != 0)
102179            }
102180            ///Bit 0 - Capture/Compare 1 output enable
102181            #[inline(always)]
102182            pub fn cc1e(&self) -> CC1E_R {
102183                CC1E_R::new((self.bits & 0x01) != 0)
102184            }
102185        }
102186        impl W {
102187            ///Bit 15 - Capture/Compare 4 output Polarity
102188            #[inline(always)]
102189            pub fn cc4np(&mut self) -> CC4NP_W {
102190                CC4NP_W { w: self }
102191            }
102192            ///Bit 13 - Capture/Compare 3 output Polarity
102193            #[inline(always)]
102194            pub fn cc4p(&mut self) -> CC4P_W {
102195                CC4P_W { w: self }
102196            }
102197            ///Bit 12 - Capture/Compare 4 output enable
102198            #[inline(always)]
102199            pub fn cc4e(&mut self) -> CC4E_W {
102200                CC4E_W { w: self }
102201            }
102202            ///Bit 11 - Capture/Compare 3 output Polarity
102203            #[inline(always)]
102204            pub fn cc3np(&mut self) -> CC3NP_W {
102205                CC3NP_W { w: self }
102206            }
102207            ///Bit 9 - Capture/Compare 3 output Polarity
102208            #[inline(always)]
102209            pub fn cc3p(&mut self) -> CC3P_W {
102210                CC3P_W { w: self }
102211            }
102212            ///Bit 8 - Capture/Compare 3 output enable
102213            #[inline(always)]
102214            pub fn cc3e(&mut self) -> CC3E_W {
102215                CC3E_W { w: self }
102216            }
102217            ///Bit 7 - Capture/Compare 2 output Polarity
102218            #[inline(always)]
102219            pub fn cc2np(&mut self) -> CC2NP_W {
102220                CC2NP_W { w: self }
102221            }
102222            ///Bit 5 - Capture/Compare 2 output Polarity
102223            #[inline(always)]
102224            pub fn cc2p(&mut self) -> CC2P_W {
102225                CC2P_W { w: self }
102226            }
102227            ///Bit 4 - Capture/Compare 2 output enable
102228            #[inline(always)]
102229            pub fn cc2e(&mut self) -> CC2E_W {
102230                CC2E_W { w: self }
102231            }
102232            ///Bit 3 - Capture/Compare 1 output Polarity
102233            #[inline(always)]
102234            pub fn cc1np(&mut self) -> CC1NP_W {
102235                CC1NP_W { w: self }
102236            }
102237            ///Bit 1 - Capture/Compare 1 output Polarity
102238            #[inline(always)]
102239            pub fn cc1p(&mut self) -> CC1P_W {
102240                CC1P_W { w: self }
102241            }
102242            ///Bit 0 - Capture/Compare 1 output enable
102243            #[inline(always)]
102244            pub fn cc1e(&mut self) -> CC1E_W {
102245                CC1E_W { w: self }
102246            }
102247        }
102248    }
102249    ///counter
102250    ///
102251    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
102252    ///
102253    ///For information about available fields see [cnt](cnt) module
102254    pub type CNT = crate::Reg<u32, _CNT>;
102255    #[allow(missing_docs)]
102256    #[doc(hidden)]
102257    pub struct _CNT;
102258    ///`read()` method returns [cnt::R](cnt::R) reader structure
102259    impl crate::Readable for CNT {}
102260    ///`write(|w| ..)` method takes [cnt::W](cnt::W) writer structure
102261    impl crate::Writable for CNT {}
102262    ///counter
102263    pub mod cnt {
102264        ///Reader of register CNT
102265        pub type R = crate::R<u32, super::CNT>;
102266        ///Writer for register CNT
102267        pub type W = crate::W<u32, super::CNT>;
102268        ///Register CNT `reset()`'s with value 0
102269        impl crate::ResetValue for super::CNT {
102270            type Type = u32;
102271            #[inline(always)]
102272            fn reset_value() -> Self::Type {
102273                0
102274            }
102275        }
102276        ///Reader of field `CNT_H`
102277        pub type CNT_H_R = crate::R<u16, u16>;
102278        ///Write proxy for field `CNT_H`
102279        pub struct CNT_H_W<'a> {
102280            w: &'a mut W,
102281        }
102282        impl<'a> CNT_H_W<'a> {
102283            ///Writes raw bits to the field
102284            #[inline(always)]
102285            pub unsafe fn bits(self, value: u16) -> &'a mut W {
102286                self.w.bits = (self.w.bits & !(0x7fff << 16)) | (((value as u32) & 0x7fff) << 16);
102287                self.w
102288            }
102289        }
102290        ///Reader of field `CNT_L`
102291        pub type CNT_L_R = crate::R<u16, u16>;
102292        ///Write proxy for field `CNT_L`
102293        pub struct CNT_L_W<'a> {
102294            w: &'a mut W,
102295        }
102296        impl<'a> CNT_L_W<'a> {
102297            ///Writes raw bits to the field
102298            #[inline(always)]
102299            pub unsafe fn bits(self, value: u16) -> &'a mut W {
102300                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
102301                self.w
102302            }
102303        }
102304        ///Reader of field `UIFCPY`
102305        pub type UIFCPY_R = crate::R<bool, bool>;
102306        impl R {
102307            ///Bits 16:30 - High counter value (TIM2 only)
102308            #[inline(always)]
102309            pub fn cnt_h(&self) -> CNT_H_R {
102310                CNT_H_R::new(((self.bits >> 16) & 0x7fff) as u16)
102311            }
102312            ///Bits 0:15 - Low counter value
102313            #[inline(always)]
102314            pub fn cnt_l(&self) -> CNT_L_R {
102315                CNT_L_R::new((self.bits & 0xffff) as u16)
102316            }
102317            ///Bit 31 - Value depends on IUFREMAP in TIM2_CR1.
102318            #[inline(always)]
102319            pub fn uifcpy(&self) -> UIFCPY_R {
102320                UIFCPY_R::new(((self.bits >> 31) & 0x01) != 0)
102321            }
102322        }
102323        impl W {
102324            ///Bits 16:30 - High counter value (TIM2 only)
102325            #[inline(always)]
102326            pub fn cnt_h(&mut self) -> CNT_H_W {
102327                CNT_H_W { w: self }
102328            }
102329            ///Bits 0:15 - Low counter value
102330            #[inline(always)]
102331            pub fn cnt_l(&mut self) -> CNT_L_W {
102332                CNT_L_W { w: self }
102333            }
102334        }
102335    }
102336    ///prescaler
102337    ///
102338    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
102339    ///
102340    ///For information about available fields see [psc](psc) module
102341    pub type PSC = crate::Reg<u32, _PSC>;
102342    #[allow(missing_docs)]
102343    #[doc(hidden)]
102344    pub struct _PSC;
102345    ///`read()` method returns [psc::R](psc::R) reader structure
102346    impl crate::Readable for PSC {}
102347    ///`write(|w| ..)` method takes [psc::W](psc::W) writer structure
102348    impl crate::Writable for PSC {}
102349    ///prescaler
102350    pub mod psc {
102351        ///Reader of register PSC
102352        pub type R = crate::R<u32, super::PSC>;
102353        ///Writer for register PSC
102354        pub type W = crate::W<u32, super::PSC>;
102355        ///Register PSC `reset()`'s with value 0
102356        impl crate::ResetValue for super::PSC {
102357            type Type = u32;
102358            #[inline(always)]
102359            fn reset_value() -> Self::Type {
102360                0
102361            }
102362        }
102363        ///Reader of field `PSC`
102364        pub type PSC_R = crate::R<u16, u16>;
102365        ///Write proxy for field `PSC`
102366        pub struct PSC_W<'a> {
102367            w: &'a mut W,
102368        }
102369        impl<'a> PSC_W<'a> {
102370            ///Writes raw bits to the field
102371            #[inline(always)]
102372            pub unsafe fn bits(self, value: u16) -> &'a mut W {
102373                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
102374                self.w
102375            }
102376        }
102377        impl R {
102378            ///Bits 0:15 - Prescaler value
102379            #[inline(always)]
102380            pub fn psc(&self) -> PSC_R {
102381                PSC_R::new((self.bits & 0xffff) as u16)
102382            }
102383        }
102384        impl W {
102385            ///Bits 0:15 - Prescaler value
102386            #[inline(always)]
102387            pub fn psc(&mut self) -> PSC_W {
102388                PSC_W { w: self }
102389            }
102390        }
102391    }
102392    ///auto-reload register
102393    ///
102394    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
102395    ///
102396    ///For information about available fields see [arr](arr) module
102397    pub type ARR = crate::Reg<u32, _ARR>;
102398    #[allow(missing_docs)]
102399    #[doc(hidden)]
102400    pub struct _ARR;
102401    ///`read()` method returns [arr::R](arr::R) reader structure
102402    impl crate::Readable for ARR {}
102403    ///`write(|w| ..)` method takes [arr::W](arr::W) writer structure
102404    impl crate::Writable for ARR {}
102405    ///auto-reload register
102406    pub mod arr {
102407        ///Reader of register ARR
102408        pub type R = crate::R<u32, super::ARR>;
102409        ///Writer for register ARR
102410        pub type W = crate::W<u32, super::ARR>;
102411        ///Register ARR `reset()`'s with value 0
102412        impl crate::ResetValue for super::ARR {
102413            type Type = u32;
102414            #[inline(always)]
102415            fn reset_value() -> Self::Type {
102416                0
102417            }
102418        }
102419        ///Reader of field `ARR_H`
102420        pub type ARR_H_R = crate::R<u16, u16>;
102421        ///Write proxy for field `ARR_H`
102422        pub struct ARR_H_W<'a> {
102423            w: &'a mut W,
102424        }
102425        impl<'a> ARR_H_W<'a> {
102426            ///Writes raw bits to the field
102427            #[inline(always)]
102428            pub unsafe fn bits(self, value: u16) -> &'a mut W {
102429                self.w.bits = (self.w.bits & !(0xffff << 16)) | (((value as u32) & 0xffff) << 16);
102430                self.w
102431            }
102432        }
102433        ///Reader of field `ARR_L`
102434        pub type ARR_L_R = crate::R<u16, u16>;
102435        ///Write proxy for field `ARR_L`
102436        pub struct ARR_L_W<'a> {
102437            w: &'a mut W,
102438        }
102439        impl<'a> ARR_L_W<'a> {
102440            ///Writes raw bits to the field
102441            #[inline(always)]
102442            pub unsafe fn bits(self, value: u16) -> &'a mut W {
102443                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
102444                self.w
102445            }
102446        }
102447        impl R {
102448            ///Bits 16:31 - High Auto-reload value (TIM2 only)
102449            #[inline(always)]
102450            pub fn arr_h(&self) -> ARR_H_R {
102451                ARR_H_R::new(((self.bits >> 16) & 0xffff) as u16)
102452            }
102453            ///Bits 0:15 - Low Auto-reload value
102454            #[inline(always)]
102455            pub fn arr_l(&self) -> ARR_L_R {
102456                ARR_L_R::new((self.bits & 0xffff) as u16)
102457            }
102458        }
102459        impl W {
102460            ///Bits 16:31 - High Auto-reload value (TIM2 only)
102461            #[inline(always)]
102462            pub fn arr_h(&mut self) -> ARR_H_W {
102463                ARR_H_W { w: self }
102464            }
102465            ///Bits 0:15 - Low Auto-reload value
102466            #[inline(always)]
102467            pub fn arr_l(&mut self) -> ARR_L_W {
102468                ARR_L_W { w: self }
102469            }
102470        }
102471    }
102472    ///capture/compare register 1
102473    ///
102474    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
102475    ///
102476    ///For information about available fields see [ccr1](ccr1) module
102477    pub type CCR1 = crate::Reg<u32, _CCR1>;
102478    #[allow(missing_docs)]
102479    #[doc(hidden)]
102480    pub struct _CCR1;
102481    ///`read()` method returns [ccr1::R](ccr1::R) reader structure
102482    impl crate::Readable for CCR1 {}
102483    ///`write(|w| ..)` method takes [ccr1::W](ccr1::W) writer structure
102484    impl crate::Writable for CCR1 {}
102485    ///capture/compare register 1
102486    pub mod ccr1 {
102487        ///Reader of register CCR1
102488        pub type R = crate::R<u32, super::CCR1>;
102489        ///Writer for register CCR1
102490        pub type W = crate::W<u32, super::CCR1>;
102491        ///Register CCR1 `reset()`'s with value 0
102492        impl crate::ResetValue for super::CCR1 {
102493            type Type = u32;
102494            #[inline(always)]
102495            fn reset_value() -> Self::Type {
102496                0
102497            }
102498        }
102499        ///Reader of field `CCR1_H`
102500        pub type CCR1_H_R = crate::R<u16, u16>;
102501        ///Write proxy for field `CCR1_H`
102502        pub struct CCR1_H_W<'a> {
102503            w: &'a mut W,
102504        }
102505        impl<'a> CCR1_H_W<'a> {
102506            ///Writes raw bits to the field
102507            #[inline(always)]
102508            pub unsafe fn bits(self, value: u16) -> &'a mut W {
102509                self.w.bits = (self.w.bits & !(0xffff << 16)) | (((value as u32) & 0xffff) << 16);
102510                self.w
102511            }
102512        }
102513        ///Reader of field `CCR1_L`
102514        pub type CCR1_L_R = crate::R<u16, u16>;
102515        ///Write proxy for field `CCR1_L`
102516        pub struct CCR1_L_W<'a> {
102517            w: &'a mut W,
102518        }
102519        impl<'a> CCR1_L_W<'a> {
102520            ///Writes raw bits to the field
102521            #[inline(always)]
102522            pub unsafe fn bits(self, value: u16) -> &'a mut W {
102523                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
102524                self.w
102525            }
102526        }
102527        impl R {
102528            ///Bits 16:31 - High Capture/Compare 1 value (TIM2 only)
102529            #[inline(always)]
102530            pub fn ccr1_h(&self) -> CCR1_H_R {
102531                CCR1_H_R::new(((self.bits >> 16) & 0xffff) as u16)
102532            }
102533            ///Bits 0:15 - Low Capture/Compare 1 value
102534            #[inline(always)]
102535            pub fn ccr1_l(&self) -> CCR1_L_R {
102536                CCR1_L_R::new((self.bits & 0xffff) as u16)
102537            }
102538        }
102539        impl W {
102540            ///Bits 16:31 - High Capture/Compare 1 value (TIM2 only)
102541            #[inline(always)]
102542            pub fn ccr1_h(&mut self) -> CCR1_H_W {
102543                CCR1_H_W { w: self }
102544            }
102545            ///Bits 0:15 - Low Capture/Compare 1 value
102546            #[inline(always)]
102547            pub fn ccr1_l(&mut self) -> CCR1_L_W {
102548                CCR1_L_W { w: self }
102549            }
102550        }
102551    }
102552    ///capture/compare register 2
102553    ///
102554    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
102555    ///
102556    ///For information about available fields see [ccr2](ccr2) module
102557    pub type CCR2 = crate::Reg<u32, _CCR2>;
102558    #[allow(missing_docs)]
102559    #[doc(hidden)]
102560    pub struct _CCR2;
102561    ///`read()` method returns [ccr2::R](ccr2::R) reader structure
102562    impl crate::Readable for CCR2 {}
102563    ///`write(|w| ..)` method takes [ccr2::W](ccr2::W) writer structure
102564    impl crate::Writable for CCR2 {}
102565    ///capture/compare register 2
102566    pub mod ccr2 {
102567        ///Reader of register CCR2
102568        pub type R = crate::R<u32, super::CCR2>;
102569        ///Writer for register CCR2
102570        pub type W = crate::W<u32, super::CCR2>;
102571        ///Register CCR2 `reset()`'s with value 0
102572        impl crate::ResetValue for super::CCR2 {
102573            type Type = u32;
102574            #[inline(always)]
102575            fn reset_value() -> Self::Type {
102576                0
102577            }
102578        }
102579        ///Reader of field `CCR2_H`
102580        pub type CCR2_H_R = crate::R<u16, u16>;
102581        ///Write proxy for field `CCR2_H`
102582        pub struct CCR2_H_W<'a> {
102583            w: &'a mut W,
102584        }
102585        impl<'a> CCR2_H_W<'a> {
102586            ///Writes raw bits to the field
102587            #[inline(always)]
102588            pub unsafe fn bits(self, value: u16) -> &'a mut W {
102589                self.w.bits = (self.w.bits & !(0xffff << 16)) | (((value as u32) & 0xffff) << 16);
102590                self.w
102591            }
102592        }
102593        ///Reader of field `CCR2_L`
102594        pub type CCR2_L_R = crate::R<u16, u16>;
102595        ///Write proxy for field `CCR2_L`
102596        pub struct CCR2_L_W<'a> {
102597            w: &'a mut W,
102598        }
102599        impl<'a> CCR2_L_W<'a> {
102600            ///Writes raw bits to the field
102601            #[inline(always)]
102602            pub unsafe fn bits(self, value: u16) -> &'a mut W {
102603                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
102604                self.w
102605            }
102606        }
102607        impl R {
102608            ///Bits 16:31 - High Capture/Compare 2 value (TIM2 only)
102609            #[inline(always)]
102610            pub fn ccr2_h(&self) -> CCR2_H_R {
102611                CCR2_H_R::new(((self.bits >> 16) & 0xffff) as u16)
102612            }
102613            ///Bits 0:15 - Low Capture/Compare 2 value
102614            #[inline(always)]
102615            pub fn ccr2_l(&self) -> CCR2_L_R {
102616                CCR2_L_R::new((self.bits & 0xffff) as u16)
102617            }
102618        }
102619        impl W {
102620            ///Bits 16:31 - High Capture/Compare 2 value (TIM2 only)
102621            #[inline(always)]
102622            pub fn ccr2_h(&mut self) -> CCR2_H_W {
102623                CCR2_H_W { w: self }
102624            }
102625            ///Bits 0:15 - Low Capture/Compare 2 value
102626            #[inline(always)]
102627            pub fn ccr2_l(&mut self) -> CCR2_L_W {
102628                CCR2_L_W { w: self }
102629            }
102630        }
102631    }
102632    ///capture/compare register 3
102633    ///
102634    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
102635    ///
102636    ///For information about available fields see [ccr3](ccr3) module
102637    pub type CCR3 = crate::Reg<u32, _CCR3>;
102638    #[allow(missing_docs)]
102639    #[doc(hidden)]
102640    pub struct _CCR3;
102641    ///`read()` method returns [ccr3::R](ccr3::R) reader structure
102642    impl crate::Readable for CCR3 {}
102643    ///`write(|w| ..)` method takes [ccr3::W](ccr3::W) writer structure
102644    impl crate::Writable for CCR3 {}
102645    ///capture/compare register 3
102646    pub mod ccr3 {
102647        ///Reader of register CCR3
102648        pub type R = crate::R<u32, super::CCR3>;
102649        ///Writer for register CCR3
102650        pub type W = crate::W<u32, super::CCR3>;
102651        ///Register CCR3 `reset()`'s with value 0
102652        impl crate::ResetValue for super::CCR3 {
102653            type Type = u32;
102654            #[inline(always)]
102655            fn reset_value() -> Self::Type {
102656                0
102657            }
102658        }
102659        ///Reader of field `CCR3_H`
102660        pub type CCR3_H_R = crate::R<u16, u16>;
102661        ///Write proxy for field `CCR3_H`
102662        pub struct CCR3_H_W<'a> {
102663            w: &'a mut W,
102664        }
102665        impl<'a> CCR3_H_W<'a> {
102666            ///Writes raw bits to the field
102667            #[inline(always)]
102668            pub unsafe fn bits(self, value: u16) -> &'a mut W {
102669                self.w.bits = (self.w.bits & !(0xffff << 16)) | (((value as u32) & 0xffff) << 16);
102670                self.w
102671            }
102672        }
102673        ///Reader of field `CCR3_L`
102674        pub type CCR3_L_R = crate::R<u16, u16>;
102675        ///Write proxy for field `CCR3_L`
102676        pub struct CCR3_L_W<'a> {
102677            w: &'a mut W,
102678        }
102679        impl<'a> CCR3_L_W<'a> {
102680            ///Writes raw bits to the field
102681            #[inline(always)]
102682            pub unsafe fn bits(self, value: u16) -> &'a mut W {
102683                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
102684                self.w
102685            }
102686        }
102687        impl R {
102688            ///Bits 16:31 - High Capture/Compare value (TIM2 only)
102689            #[inline(always)]
102690            pub fn ccr3_h(&self) -> CCR3_H_R {
102691                CCR3_H_R::new(((self.bits >> 16) & 0xffff) as u16)
102692            }
102693            ///Bits 0:15 - Low Capture/Compare value
102694            #[inline(always)]
102695            pub fn ccr3_l(&self) -> CCR3_L_R {
102696                CCR3_L_R::new((self.bits & 0xffff) as u16)
102697            }
102698        }
102699        impl W {
102700            ///Bits 16:31 - High Capture/Compare value (TIM2 only)
102701            #[inline(always)]
102702            pub fn ccr3_h(&mut self) -> CCR3_H_W {
102703                CCR3_H_W { w: self }
102704            }
102705            ///Bits 0:15 - Low Capture/Compare value
102706            #[inline(always)]
102707            pub fn ccr3_l(&mut self) -> CCR3_L_W {
102708                CCR3_L_W { w: self }
102709            }
102710        }
102711    }
102712    ///capture/compare register 4
102713    ///
102714    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
102715    ///
102716    ///For information about available fields see [ccr4](ccr4) module
102717    pub type CCR4 = crate::Reg<u32, _CCR4>;
102718    #[allow(missing_docs)]
102719    #[doc(hidden)]
102720    pub struct _CCR4;
102721    ///`read()` method returns [ccr4::R](ccr4::R) reader structure
102722    impl crate::Readable for CCR4 {}
102723    ///`write(|w| ..)` method takes [ccr4::W](ccr4::W) writer structure
102724    impl crate::Writable for CCR4 {}
102725    ///capture/compare register 4
102726    pub mod ccr4 {
102727        ///Reader of register CCR4
102728        pub type R = crate::R<u32, super::CCR4>;
102729        ///Writer for register CCR4
102730        pub type W = crate::W<u32, super::CCR4>;
102731        ///Register CCR4 `reset()`'s with value 0
102732        impl crate::ResetValue for super::CCR4 {
102733            type Type = u32;
102734            #[inline(always)]
102735            fn reset_value() -> Self::Type {
102736                0
102737            }
102738        }
102739        ///Reader of field `CCR4_H`
102740        pub type CCR4_H_R = crate::R<u16, u16>;
102741        ///Write proxy for field `CCR4_H`
102742        pub struct CCR4_H_W<'a> {
102743            w: &'a mut W,
102744        }
102745        impl<'a> CCR4_H_W<'a> {
102746            ///Writes raw bits to the field
102747            #[inline(always)]
102748            pub unsafe fn bits(self, value: u16) -> &'a mut W {
102749                self.w.bits = (self.w.bits & !(0xffff << 16)) | (((value as u32) & 0xffff) << 16);
102750                self.w
102751            }
102752        }
102753        ///Reader of field `CCR4_L`
102754        pub type CCR4_L_R = crate::R<u16, u16>;
102755        ///Write proxy for field `CCR4_L`
102756        pub struct CCR4_L_W<'a> {
102757            w: &'a mut W,
102758        }
102759        impl<'a> CCR4_L_W<'a> {
102760            ///Writes raw bits to the field
102761            #[inline(always)]
102762            pub unsafe fn bits(self, value: u16) -> &'a mut W {
102763                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
102764                self.w
102765            }
102766        }
102767        impl R {
102768            ///Bits 16:31 - High Capture/Compare value (TIM2 only)
102769            #[inline(always)]
102770            pub fn ccr4_h(&self) -> CCR4_H_R {
102771                CCR4_H_R::new(((self.bits >> 16) & 0xffff) as u16)
102772            }
102773            ///Bits 0:15 - Low Capture/Compare value
102774            #[inline(always)]
102775            pub fn ccr4_l(&self) -> CCR4_L_R {
102776                CCR4_L_R::new((self.bits & 0xffff) as u16)
102777            }
102778        }
102779        impl W {
102780            ///Bits 16:31 - High Capture/Compare value (TIM2 only)
102781            #[inline(always)]
102782            pub fn ccr4_h(&mut self) -> CCR4_H_W {
102783                CCR4_H_W { w: self }
102784            }
102785            ///Bits 0:15 - Low Capture/Compare value
102786            #[inline(always)]
102787            pub fn ccr4_l(&mut self) -> CCR4_L_W {
102788                CCR4_L_W { w: self }
102789            }
102790        }
102791    }
102792    ///DMA control register
102793    ///
102794    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
102795    ///
102796    ///For information about available fields see [dcr](dcr) module
102797    pub type DCR = crate::Reg<u32, _DCR>;
102798    #[allow(missing_docs)]
102799    #[doc(hidden)]
102800    pub struct _DCR;
102801    ///`read()` method returns [dcr::R](dcr::R) reader structure
102802    impl crate::Readable for DCR {}
102803    ///`write(|w| ..)` method takes [dcr::W](dcr::W) writer structure
102804    impl crate::Writable for DCR {}
102805    ///DMA control register
102806    pub mod dcr {
102807        ///Reader of register DCR
102808        pub type R = crate::R<u32, super::DCR>;
102809        ///Writer for register DCR
102810        pub type W = crate::W<u32, super::DCR>;
102811        ///Register DCR `reset()`'s with value 0
102812        impl crate::ResetValue for super::DCR {
102813            type Type = u32;
102814            #[inline(always)]
102815            fn reset_value() -> Self::Type {
102816                0
102817            }
102818        }
102819        ///Reader of field `DBL`
102820        pub type DBL_R = crate::R<u8, u8>;
102821        ///Write proxy for field `DBL`
102822        pub struct DBL_W<'a> {
102823            w: &'a mut W,
102824        }
102825        impl<'a> DBL_W<'a> {
102826            ///Writes raw bits to the field
102827            #[inline(always)]
102828            pub unsafe fn bits(self, value: u8) -> &'a mut W {
102829                self.w.bits = (self.w.bits & !(0x1f << 8)) | (((value as u32) & 0x1f) << 8);
102830                self.w
102831            }
102832        }
102833        ///Reader of field `DBA`
102834        pub type DBA_R = crate::R<u8, u8>;
102835        ///Write proxy for field `DBA`
102836        pub struct DBA_W<'a> {
102837            w: &'a mut W,
102838        }
102839        impl<'a> DBA_W<'a> {
102840            ///Writes raw bits to the field
102841            #[inline(always)]
102842            pub unsafe fn bits(self, value: u8) -> &'a mut W {
102843                self.w.bits = (self.w.bits & !0x1f) | ((value as u32) & 0x1f);
102844                self.w
102845            }
102846        }
102847        impl R {
102848            ///Bits 8:12 - DMA burst length
102849            #[inline(always)]
102850            pub fn dbl(&self) -> DBL_R {
102851                DBL_R::new(((self.bits >> 8) & 0x1f) as u8)
102852            }
102853            ///Bits 0:4 - DMA base address
102854            #[inline(always)]
102855            pub fn dba(&self) -> DBA_R {
102856                DBA_R::new((self.bits & 0x1f) as u8)
102857            }
102858        }
102859        impl W {
102860            ///Bits 8:12 - DMA burst length
102861            #[inline(always)]
102862            pub fn dbl(&mut self) -> DBL_W {
102863                DBL_W { w: self }
102864            }
102865            ///Bits 0:4 - DMA base address
102866            #[inline(always)]
102867            pub fn dba(&mut self) -> DBA_W {
102868                DBA_W { w: self }
102869            }
102870        }
102871    }
102872    ///DMA address for full transfer
102873    ///
102874    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
102875    ///
102876    ///For information about available fields see [dmar](dmar) module
102877    pub type DMAR = crate::Reg<u32, _DMAR>;
102878    #[allow(missing_docs)]
102879    #[doc(hidden)]
102880    pub struct _DMAR;
102881    ///`read()` method returns [dmar::R](dmar::R) reader structure
102882    impl crate::Readable for DMAR {}
102883    ///`write(|w| ..)` method takes [dmar::W](dmar::W) writer structure
102884    impl crate::Writable for DMAR {}
102885    ///DMA address for full transfer
102886    pub mod dmar {
102887        ///Reader of register DMAR
102888        pub type R = crate::R<u32, super::DMAR>;
102889        ///Writer for register DMAR
102890        pub type W = crate::W<u32, super::DMAR>;
102891        ///Register DMAR `reset()`'s with value 0
102892        impl crate::ResetValue for super::DMAR {
102893            type Type = u32;
102894            #[inline(always)]
102895            fn reset_value() -> Self::Type {
102896                0
102897            }
102898        }
102899        ///Reader of field `DMAB`
102900        pub type DMAB_R = crate::R<u16, u16>;
102901        ///Write proxy for field `DMAB`
102902        pub struct DMAB_W<'a> {
102903            w: &'a mut W,
102904        }
102905        impl<'a> DMAB_W<'a> {
102906            ///Writes raw bits to the field
102907            #[inline(always)]
102908            pub unsafe fn bits(self, value: u16) -> &'a mut W {
102909                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
102910                self.w
102911            }
102912        }
102913        impl R {
102914            ///Bits 0:15 - DMA register for burst accesses
102915            #[inline(always)]
102916            pub fn dmab(&self) -> DMAB_R {
102917                DMAB_R::new((self.bits & 0xffff) as u16)
102918            }
102919        }
102920        impl W {
102921            ///Bits 0:15 - DMA register for burst accesses
102922            #[inline(always)]
102923            pub fn dmab(&mut self) -> DMAB_W {
102924                DMAB_W { w: self }
102925            }
102926        }
102927    }
102928    ///TIM2 option register
102929    ///
102930    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
102931    ///
102932    ///For information about available fields see [or](or) module
102933    pub type OR = crate::Reg<u32, _OR>;
102934    #[allow(missing_docs)]
102935    #[doc(hidden)]
102936    pub struct _OR;
102937    ///`read()` method returns [or::R](or::R) reader structure
102938    impl crate::Readable for OR {}
102939    ///`write(|w| ..)` method takes [or::W](or::W) writer structure
102940    impl crate::Writable for OR {}
102941    ///TIM2 option register
102942    pub mod or {
102943        ///Reader of register OR
102944        pub type R = crate::R<u32, super::OR>;
102945        ///Writer for register OR
102946        pub type W = crate::W<u32, super::OR>;
102947        ///Register OR `reset()`'s with value 0
102948        impl crate::ResetValue for super::OR {
102949            type Type = u32;
102950            #[inline(always)]
102951            fn reset_value() -> Self::Type {
102952                0
102953            }
102954        }
102955        ///Reader of field `TI4_RMP`
102956        pub type TI4_RMP_R = crate::R<u8, u8>;
102957        ///Write proxy for field `TI4_RMP`
102958        pub struct TI4_RMP_W<'a> {
102959            w: &'a mut W,
102960        }
102961        impl<'a> TI4_RMP_W<'a> {
102962            ///Writes raw bits to the field
102963            #[inline(always)]
102964            pub unsafe fn bits(self, value: u8) -> &'a mut W {
102965                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
102966                self.w
102967            }
102968        }
102969        ///Reader of field `ETR_RMP`
102970        pub type ETR_RMP_R = crate::R<bool, bool>;
102971        ///Write proxy for field `ETR_RMP`
102972        pub struct ETR_RMP_W<'a> {
102973            w: &'a mut W,
102974        }
102975        impl<'a> ETR_RMP_W<'a> {
102976            ///Sets the field bit
102977            #[inline(always)]
102978            pub fn set_bit(self) -> &'a mut W {
102979                self.bit(true)
102980            }
102981            ///Clears the field bit
102982            #[inline(always)]
102983            pub fn clear_bit(self) -> &'a mut W {
102984                self.bit(false)
102985            }
102986            ///Writes raw bits to the field
102987            #[inline(always)]
102988            pub fn bit(self, value: bool) -> &'a mut W {
102989                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
102990                self.w
102991            }
102992        }
102993        ///Reader of field `ITR_RMP`
102994        pub type ITR_RMP_R = crate::R<bool, bool>;
102995        ///Write proxy for field `ITR_RMP`
102996        pub struct ITR_RMP_W<'a> {
102997            w: &'a mut W,
102998        }
102999        impl<'a> ITR_RMP_W<'a> {
103000            ///Sets the field bit
103001            #[inline(always)]
103002            pub fn set_bit(self) -> &'a mut W {
103003                self.bit(true)
103004            }
103005            ///Clears the field bit
103006            #[inline(always)]
103007            pub fn clear_bit(self) -> &'a mut W {
103008                self.bit(false)
103009            }
103010            ///Writes raw bits to the field
103011            #[inline(always)]
103012            pub fn bit(self, value: bool) -> &'a mut W {
103013                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
103014                self.w
103015            }
103016        }
103017        impl R {
103018            ///Bits 2:3 - Input capture 4 remap
103019            #[inline(always)]
103020            pub fn ti4_rmp(&self) -> TI4_RMP_R {
103021                TI4_RMP_R::new(((self.bits >> 2) & 0x03) as u8)
103022            }
103023            ///Bit 1 - External trigger remap
103024            #[inline(always)]
103025            pub fn etr_rmp(&self) -> ETR_RMP_R {
103026                ETR_RMP_R::new(((self.bits >> 1) & 0x01) != 0)
103027            }
103028            ///Bit 0 - Internal trigger remap
103029            #[inline(always)]
103030            pub fn itr_rmp(&self) -> ITR_RMP_R {
103031                ITR_RMP_R::new((self.bits & 0x01) != 0)
103032            }
103033        }
103034        impl W {
103035            ///Bits 2:3 - Input capture 4 remap
103036            #[inline(always)]
103037            pub fn ti4_rmp(&mut self) -> TI4_RMP_W {
103038                TI4_RMP_W { w: self }
103039            }
103040            ///Bit 1 - External trigger remap
103041            #[inline(always)]
103042            pub fn etr_rmp(&mut self) -> ETR_RMP_W {
103043                ETR_RMP_W { w: self }
103044            }
103045            ///Bit 0 - Internal trigger remap
103046            #[inline(always)]
103047            pub fn itr_rmp(&mut self) -> ITR_RMP_W {
103048                ITR_RMP_W { w: self }
103049            }
103050        }
103051    }
103052    ///TIM2 alternate function option register 1
103053    ///
103054    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
103055    ///
103056    ///For information about available fields see [af](af) module
103057    pub type AF = crate::Reg<u32, _AF>;
103058    #[allow(missing_docs)]
103059    #[doc(hidden)]
103060    pub struct _AF;
103061    ///`read()` method returns [af::R](af::R) reader structure
103062    impl crate::Readable for AF {}
103063    ///`write(|w| ..)` method takes [af::W](af::W) writer structure
103064    impl crate::Writable for AF {}
103065    ///TIM2 alternate function option register 1
103066    pub mod af {
103067        ///Reader of register AF
103068        pub type R = crate::R<u32, super::AF>;
103069        ///Writer for register AF
103070        pub type W = crate::W<u32, super::AF>;
103071        ///Register AF `reset()`'s with value 0
103072        impl crate::ResetValue for super::AF {
103073            type Type = u32;
103074            #[inline(always)]
103075            fn reset_value() -> Self::Type {
103076                0
103077            }
103078        }
103079        ///Reader of field `ETRSEL`
103080        pub type ETRSEL_R = crate::R<u8, u8>;
103081        ///Write proxy for field `ETRSEL`
103082        pub struct ETRSEL_W<'a> {
103083            w: &'a mut W,
103084        }
103085        impl<'a> ETRSEL_W<'a> {
103086            ///Writes raw bits to the field
103087            #[inline(always)]
103088            pub unsafe fn bits(self, value: u8) -> &'a mut W {
103089                self.w.bits = (self.w.bits & !(0x07 << 14)) | (((value as u32) & 0x07) << 14);
103090                self.w
103091            }
103092        }
103093        impl R {
103094            ///Bits 14:16 - External trigger source selection
103095            #[inline(always)]
103096            pub fn etrsel(&self) -> ETRSEL_R {
103097                ETRSEL_R::new(((self.bits >> 14) & 0x07) as u8)
103098            }
103099        }
103100        impl W {
103101            ///Bits 14:16 - External trigger source selection
103102            #[inline(always)]
103103            pub fn etrsel(&mut self) -> ETRSEL_W {
103104                ETRSEL_W { w: self }
103105            }
103106        }
103107    }
103108}
103109///General purpose timers
103110pub struct TIM16 {
103111    _marker: PhantomData<*const ()>,
103112}
103113unsafe impl Send for TIM16 {}
103114impl TIM16 {
103115    ///Returns a pointer to the register block
103116    #[inline(always)]
103117    pub const fn ptr() -> *const tim16::RegisterBlock {
103118        0x4001_4400 as *const _
103119    }
103120}
103121impl Deref for TIM16 {
103122    type Target = tim16::RegisterBlock;
103123    #[inline(always)]
103124    fn deref(&self) -> &Self::Target {
103125        unsafe { &*TIM16::ptr() }
103126    }
103127}
103128///General purpose timers
103129pub mod tim16 {
103130    ///Register block
103131    #[repr(C)]
103132    pub struct RegisterBlock {
103133        ///0x00 - control register 1
103134        pub cr1: CR1,
103135        ///0x04 - control register 2
103136        pub cr2: CR2,
103137        _reserved2: [u8; 4usize],
103138        ///0x0c - DMA/Interrupt enable register
103139        pub dier: DIER,
103140        ///0x10 - status register
103141        pub sr: SR,
103142        ///0x14 - event generation register
103143        pub egr: EGR,
103144        _reserved_5_ccmr1: [u8; 4usize],
103145        _reserved6: [u8; 4usize],
103146        ///0x20 - capture/compare enable register
103147        pub ccer: CCER,
103148        ///0x24 - counter
103149        pub cnt: CNT,
103150        ///0x28 - prescaler
103151        pub psc: PSC,
103152        ///0x2c - auto-reload register
103153        pub arr: ARR,
103154        ///0x30 - repetition counter register
103155        pub rcr: RCR,
103156        ///0x34 - capture/compare register 1
103157        pub ccr1: CCR1,
103158        _reserved12: [u8; 12usize],
103159        ///0x44 - break and dead-time register
103160        pub bdtr: BDTR,
103161        ///0x48 - DMA control register
103162        pub dcr: DCR,
103163        ///0x4c - DMA address for full transfer
103164        pub dmar: DMAR,
103165        ///0x50 - TIM16 option register 1
103166        pub or: OR,
103167        _reserved16: [u8; 12usize],
103168        ///0x60 - TIM17 option register 1
103169        pub af1: AF1,
103170    }
103171    impl RegisterBlock {
103172        ///0x18 - capture/compare mode register 1 (input mode)
103173        #[inline(always)]
103174        pub fn ccmr1_input(&self) -> &CCMR1_INPUT {
103175            unsafe { &*(((self as *const Self) as *const u8).add(24usize) as *const CCMR1_INPUT) }
103176        }
103177        ///0x18 - capture/compare mode register 1 (input mode)
103178        #[inline(always)]
103179        pub fn ccmr1_input_mut(&self) -> &mut CCMR1_INPUT {
103180            unsafe { &mut *(((self as *const Self) as *mut u8).add(24usize) as *mut CCMR1_INPUT) }
103181        }
103182        ///0x18 - capture/compare mode register (output mode)
103183        #[inline(always)]
103184        pub fn ccmr1_output(&self) -> &CCMR1_OUTPUT {
103185            unsafe { &*(((self as *const Self) as *const u8).add(24usize) as *const CCMR1_OUTPUT) }
103186        }
103187        ///0x18 - capture/compare mode register (output mode)
103188        #[inline(always)]
103189        pub fn ccmr1_output_mut(&self) -> &mut CCMR1_OUTPUT {
103190            unsafe { &mut *(((self as *const Self) as *mut u8).add(24usize) as *mut CCMR1_OUTPUT) }
103191        }
103192    }
103193    ///control register 1
103194    ///
103195    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
103196    ///
103197    ///For information about available fields see [cr1](cr1) module
103198    pub type CR1 = crate::Reg<u32, _CR1>;
103199    #[allow(missing_docs)]
103200    #[doc(hidden)]
103201    pub struct _CR1;
103202    ///`read()` method returns [cr1::R](cr1::R) reader structure
103203    impl crate::Readable for CR1 {}
103204    ///`write(|w| ..)` method takes [cr1::W](cr1::W) writer structure
103205    impl crate::Writable for CR1 {}
103206    ///control register 1
103207    pub mod cr1 {
103208        ///Reader of register CR1
103209        pub type R = crate::R<u32, super::CR1>;
103210        ///Writer for register CR1
103211        pub type W = crate::W<u32, super::CR1>;
103212        ///Register CR1 `reset()`'s with value 0
103213        impl crate::ResetValue for super::CR1 {
103214            type Type = u32;
103215            #[inline(always)]
103216            fn reset_value() -> Self::Type {
103217                0
103218            }
103219        }
103220        ///Reader of field `CEN`
103221        pub type CEN_R = crate::R<bool, bool>;
103222        ///Write proxy for field `CEN`
103223        pub struct CEN_W<'a> {
103224            w: &'a mut W,
103225        }
103226        impl<'a> CEN_W<'a> {
103227            ///Sets the field bit
103228            #[inline(always)]
103229            pub fn set_bit(self) -> &'a mut W {
103230                self.bit(true)
103231            }
103232            ///Clears the field bit
103233            #[inline(always)]
103234            pub fn clear_bit(self) -> &'a mut W {
103235                self.bit(false)
103236            }
103237            ///Writes raw bits to the field
103238            #[inline(always)]
103239            pub fn bit(self, value: bool) -> &'a mut W {
103240                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
103241                self.w
103242            }
103243        }
103244        ///Reader of field `UDIS`
103245        pub type UDIS_R = crate::R<bool, bool>;
103246        ///Write proxy for field `UDIS`
103247        pub struct UDIS_W<'a> {
103248            w: &'a mut W,
103249        }
103250        impl<'a> UDIS_W<'a> {
103251            ///Sets the field bit
103252            #[inline(always)]
103253            pub fn set_bit(self) -> &'a mut W {
103254                self.bit(true)
103255            }
103256            ///Clears the field bit
103257            #[inline(always)]
103258            pub fn clear_bit(self) -> &'a mut W {
103259                self.bit(false)
103260            }
103261            ///Writes raw bits to the field
103262            #[inline(always)]
103263            pub fn bit(self, value: bool) -> &'a mut W {
103264                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
103265                self.w
103266            }
103267        }
103268        ///Reader of field `URS`
103269        pub type URS_R = crate::R<bool, bool>;
103270        ///Write proxy for field `URS`
103271        pub struct URS_W<'a> {
103272            w: &'a mut W,
103273        }
103274        impl<'a> URS_W<'a> {
103275            ///Sets the field bit
103276            #[inline(always)]
103277            pub fn set_bit(self) -> &'a mut W {
103278                self.bit(true)
103279            }
103280            ///Clears the field bit
103281            #[inline(always)]
103282            pub fn clear_bit(self) -> &'a mut W {
103283                self.bit(false)
103284            }
103285            ///Writes raw bits to the field
103286            #[inline(always)]
103287            pub fn bit(self, value: bool) -> &'a mut W {
103288                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
103289                self.w
103290            }
103291        }
103292        ///Reader of field `OPM`
103293        pub type OPM_R = crate::R<bool, bool>;
103294        ///Write proxy for field `OPM`
103295        pub struct OPM_W<'a> {
103296            w: &'a mut W,
103297        }
103298        impl<'a> OPM_W<'a> {
103299            ///Sets the field bit
103300            #[inline(always)]
103301            pub fn set_bit(self) -> &'a mut W {
103302                self.bit(true)
103303            }
103304            ///Clears the field bit
103305            #[inline(always)]
103306            pub fn clear_bit(self) -> &'a mut W {
103307                self.bit(false)
103308            }
103309            ///Writes raw bits to the field
103310            #[inline(always)]
103311            pub fn bit(self, value: bool) -> &'a mut W {
103312                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
103313                self.w
103314            }
103315        }
103316        ///Reader of field `ARPE`
103317        pub type ARPE_R = crate::R<bool, bool>;
103318        ///Write proxy for field `ARPE`
103319        pub struct ARPE_W<'a> {
103320            w: &'a mut W,
103321        }
103322        impl<'a> ARPE_W<'a> {
103323            ///Sets the field bit
103324            #[inline(always)]
103325            pub fn set_bit(self) -> &'a mut W {
103326                self.bit(true)
103327            }
103328            ///Clears the field bit
103329            #[inline(always)]
103330            pub fn clear_bit(self) -> &'a mut W {
103331                self.bit(false)
103332            }
103333            ///Writes raw bits to the field
103334            #[inline(always)]
103335            pub fn bit(self, value: bool) -> &'a mut W {
103336                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
103337                self.w
103338            }
103339        }
103340        ///Reader of field `CKD`
103341        pub type CKD_R = crate::R<u8, u8>;
103342        ///Write proxy for field `CKD`
103343        pub struct CKD_W<'a> {
103344            w: &'a mut W,
103345        }
103346        impl<'a> CKD_W<'a> {
103347            ///Writes raw bits to the field
103348            #[inline(always)]
103349            pub unsafe fn bits(self, value: u8) -> &'a mut W {
103350                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
103351                self.w
103352            }
103353        }
103354        ///Reader of field `UIFREMAP`
103355        pub type UIFREMAP_R = crate::R<bool, bool>;
103356        ///Write proxy for field `UIFREMAP`
103357        pub struct UIFREMAP_W<'a> {
103358            w: &'a mut W,
103359        }
103360        impl<'a> UIFREMAP_W<'a> {
103361            ///Sets the field bit
103362            #[inline(always)]
103363            pub fn set_bit(self) -> &'a mut W {
103364                self.bit(true)
103365            }
103366            ///Clears the field bit
103367            #[inline(always)]
103368            pub fn clear_bit(self) -> &'a mut W {
103369                self.bit(false)
103370            }
103371            ///Writes raw bits to the field
103372            #[inline(always)]
103373            pub fn bit(self, value: bool) -> &'a mut W {
103374                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
103375                self.w
103376            }
103377        }
103378        impl R {
103379            ///Bit 0 - Counter enable.
103380            #[inline(always)]
103381            pub fn cen(&self) -> CEN_R {
103382                CEN_R::new((self.bits & 0x01) != 0)
103383            }
103384            ///Bit 1 - Update disable.
103385            #[inline(always)]
103386            pub fn udis(&self) -> UDIS_R {
103387                UDIS_R::new(((self.bits >> 1) & 0x01) != 0)
103388            }
103389            ///Bit 2 - Update request source.
103390            #[inline(always)]
103391            pub fn urs(&self) -> URS_R {
103392                URS_R::new(((self.bits >> 2) & 0x01) != 0)
103393            }
103394            ///Bit 3 - One pulse mode.
103395            #[inline(always)]
103396            pub fn opm(&self) -> OPM_R {
103397                OPM_R::new(((self.bits >> 3) & 0x01) != 0)
103398            }
103399            ///Bit 7 - Auto-reload preload enable.
103400            #[inline(always)]
103401            pub fn arpe(&self) -> ARPE_R {
103402                ARPE_R::new(((self.bits >> 7) & 0x01) != 0)
103403            }
103404            ///Bits 8:9 - Clock division.
103405            #[inline(always)]
103406            pub fn ckd(&self) -> CKD_R {
103407                CKD_R::new(((self.bits >> 8) & 0x03) as u8)
103408            }
103409            ///Bit 11 - UIF status bit remapping.
103410            #[inline(always)]
103411            pub fn uifremap(&self) -> UIFREMAP_R {
103412                UIFREMAP_R::new(((self.bits >> 11) & 0x01) != 0)
103413            }
103414        }
103415        impl W {
103416            ///Bit 0 - Counter enable.
103417            #[inline(always)]
103418            pub fn cen(&mut self) -> CEN_W {
103419                CEN_W { w: self }
103420            }
103421            ///Bit 1 - Update disable.
103422            #[inline(always)]
103423            pub fn udis(&mut self) -> UDIS_W {
103424                UDIS_W { w: self }
103425            }
103426            ///Bit 2 - Update request source.
103427            #[inline(always)]
103428            pub fn urs(&mut self) -> URS_W {
103429                URS_W { w: self }
103430            }
103431            ///Bit 3 - One pulse mode.
103432            #[inline(always)]
103433            pub fn opm(&mut self) -> OPM_W {
103434                OPM_W { w: self }
103435            }
103436            ///Bit 7 - Auto-reload preload enable.
103437            #[inline(always)]
103438            pub fn arpe(&mut self) -> ARPE_W {
103439                ARPE_W { w: self }
103440            }
103441            ///Bits 8:9 - Clock division.
103442            #[inline(always)]
103443            pub fn ckd(&mut self) -> CKD_W {
103444                CKD_W { w: self }
103445            }
103446            ///Bit 11 - UIF status bit remapping.
103447            #[inline(always)]
103448            pub fn uifremap(&mut self) -> UIFREMAP_W {
103449                UIFREMAP_W { w: self }
103450            }
103451        }
103452    }
103453    ///control register 2
103454    ///
103455    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
103456    ///
103457    ///For information about available fields see [cr2](cr2) module
103458    pub type CR2 = crate::Reg<u32, _CR2>;
103459    #[allow(missing_docs)]
103460    #[doc(hidden)]
103461    pub struct _CR2;
103462    ///`read()` method returns [cr2::R](cr2::R) reader structure
103463    impl crate::Readable for CR2 {}
103464    ///`write(|w| ..)` method takes [cr2::W](cr2::W) writer structure
103465    impl crate::Writable for CR2 {}
103466    ///control register 2
103467    pub mod cr2 {
103468        ///Reader of register CR2
103469        pub type R = crate::R<u32, super::CR2>;
103470        ///Writer for register CR2
103471        pub type W = crate::W<u32, super::CR2>;
103472        ///Register CR2 `reset()`'s with value 0
103473        impl crate::ResetValue for super::CR2 {
103474            type Type = u32;
103475            #[inline(always)]
103476            fn reset_value() -> Self::Type {
103477                0
103478            }
103479        }
103480        ///Reader of field `OIS1N`
103481        pub type OIS1N_R = crate::R<bool, bool>;
103482        ///Write proxy for field `OIS1N`
103483        pub struct OIS1N_W<'a> {
103484            w: &'a mut W,
103485        }
103486        impl<'a> OIS1N_W<'a> {
103487            ///Sets the field bit
103488            #[inline(always)]
103489            pub fn set_bit(self) -> &'a mut W {
103490                self.bit(true)
103491            }
103492            ///Clears the field bit
103493            #[inline(always)]
103494            pub fn clear_bit(self) -> &'a mut W {
103495                self.bit(false)
103496            }
103497            ///Writes raw bits to the field
103498            #[inline(always)]
103499            pub fn bit(self, value: bool) -> &'a mut W {
103500                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
103501                self.w
103502            }
103503        }
103504        ///Reader of field `OIS1`
103505        pub type OIS1_R = crate::R<bool, bool>;
103506        ///Write proxy for field `OIS1`
103507        pub struct OIS1_W<'a> {
103508            w: &'a mut W,
103509        }
103510        impl<'a> OIS1_W<'a> {
103511            ///Sets the field bit
103512            #[inline(always)]
103513            pub fn set_bit(self) -> &'a mut W {
103514                self.bit(true)
103515            }
103516            ///Clears the field bit
103517            #[inline(always)]
103518            pub fn clear_bit(self) -> &'a mut W {
103519                self.bit(false)
103520            }
103521            ///Writes raw bits to the field
103522            #[inline(always)]
103523            pub fn bit(self, value: bool) -> &'a mut W {
103524                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
103525                self.w
103526            }
103527        }
103528        ///Reader of field `CCDS`
103529        pub type CCDS_R = crate::R<bool, bool>;
103530        ///Write proxy for field `CCDS`
103531        pub struct CCDS_W<'a> {
103532            w: &'a mut W,
103533        }
103534        impl<'a> CCDS_W<'a> {
103535            ///Sets the field bit
103536            #[inline(always)]
103537            pub fn set_bit(self) -> &'a mut W {
103538                self.bit(true)
103539            }
103540            ///Clears the field bit
103541            #[inline(always)]
103542            pub fn clear_bit(self) -> &'a mut W {
103543                self.bit(false)
103544            }
103545            ///Writes raw bits to the field
103546            #[inline(always)]
103547            pub fn bit(self, value: bool) -> &'a mut W {
103548                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
103549                self.w
103550            }
103551        }
103552        ///Reader of field `CCUS`
103553        pub type CCUS_R = crate::R<bool, bool>;
103554        ///Write proxy for field `CCUS`
103555        pub struct CCUS_W<'a> {
103556            w: &'a mut W,
103557        }
103558        impl<'a> CCUS_W<'a> {
103559            ///Sets the field bit
103560            #[inline(always)]
103561            pub fn set_bit(self) -> &'a mut W {
103562                self.bit(true)
103563            }
103564            ///Clears the field bit
103565            #[inline(always)]
103566            pub fn clear_bit(self) -> &'a mut W {
103567                self.bit(false)
103568            }
103569            ///Writes raw bits to the field
103570            #[inline(always)]
103571            pub fn bit(self, value: bool) -> &'a mut W {
103572                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
103573                self.w
103574            }
103575        }
103576        ///Reader of field `CCPC`
103577        pub type CCPC_R = crate::R<bool, bool>;
103578        ///Write proxy for field `CCPC`
103579        pub struct CCPC_W<'a> {
103580            w: &'a mut W,
103581        }
103582        impl<'a> CCPC_W<'a> {
103583            ///Sets the field bit
103584            #[inline(always)]
103585            pub fn set_bit(self) -> &'a mut W {
103586                self.bit(true)
103587            }
103588            ///Clears the field bit
103589            #[inline(always)]
103590            pub fn clear_bit(self) -> &'a mut W {
103591                self.bit(false)
103592            }
103593            ///Writes raw bits to the field
103594            #[inline(always)]
103595            pub fn bit(self, value: bool) -> &'a mut W {
103596                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
103597                self.w
103598            }
103599        }
103600        impl R {
103601            ///Bit 9 - Output Idle state 1
103602            #[inline(always)]
103603            pub fn ois1n(&self) -> OIS1N_R {
103604                OIS1N_R::new(((self.bits >> 9) & 0x01) != 0)
103605            }
103606            ///Bit 8 - Output Idle state 1
103607            #[inline(always)]
103608            pub fn ois1(&self) -> OIS1_R {
103609                OIS1_R::new(((self.bits >> 8) & 0x01) != 0)
103610            }
103611            ///Bit 3 - Capture/compare DMA selection
103612            #[inline(always)]
103613            pub fn ccds(&self) -> CCDS_R {
103614                CCDS_R::new(((self.bits >> 3) & 0x01) != 0)
103615            }
103616            ///Bit 2 - Capture/compare control update selection
103617            #[inline(always)]
103618            pub fn ccus(&self) -> CCUS_R {
103619                CCUS_R::new(((self.bits >> 2) & 0x01) != 0)
103620            }
103621            ///Bit 0 - Capture/compare preloaded control
103622            #[inline(always)]
103623            pub fn ccpc(&self) -> CCPC_R {
103624                CCPC_R::new((self.bits & 0x01) != 0)
103625            }
103626        }
103627        impl W {
103628            ///Bit 9 - Output Idle state 1
103629            #[inline(always)]
103630            pub fn ois1n(&mut self) -> OIS1N_W {
103631                OIS1N_W { w: self }
103632            }
103633            ///Bit 8 - Output Idle state 1
103634            #[inline(always)]
103635            pub fn ois1(&mut self) -> OIS1_W {
103636                OIS1_W { w: self }
103637            }
103638            ///Bit 3 - Capture/compare DMA selection
103639            #[inline(always)]
103640            pub fn ccds(&mut self) -> CCDS_W {
103641                CCDS_W { w: self }
103642            }
103643            ///Bit 2 - Capture/compare control update selection
103644            #[inline(always)]
103645            pub fn ccus(&mut self) -> CCUS_W {
103646                CCUS_W { w: self }
103647            }
103648            ///Bit 0 - Capture/compare preloaded control
103649            #[inline(always)]
103650            pub fn ccpc(&mut self) -> CCPC_W {
103651                CCPC_W { w: self }
103652            }
103653        }
103654    }
103655    ///DMA/Interrupt enable register
103656    ///
103657    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
103658    ///
103659    ///For information about available fields see [dier](dier) module
103660    pub type DIER = crate::Reg<u32, _DIER>;
103661    #[allow(missing_docs)]
103662    #[doc(hidden)]
103663    pub struct _DIER;
103664    ///`read()` method returns [dier::R](dier::R) reader structure
103665    impl crate::Readable for DIER {}
103666    ///`write(|w| ..)` method takes [dier::W](dier::W) writer structure
103667    impl crate::Writable for DIER {}
103668    ///DMA/Interrupt enable register
103669    pub mod dier {
103670        ///Reader of register DIER
103671        pub type R = crate::R<u32, super::DIER>;
103672        ///Writer for register DIER
103673        pub type W = crate::W<u32, super::DIER>;
103674        ///Register DIER `reset()`'s with value 0
103675        impl crate::ResetValue for super::DIER {
103676            type Type = u32;
103677            #[inline(always)]
103678            fn reset_value() -> Self::Type {
103679                0
103680            }
103681        }
103682        ///Reader of field `UIE`
103683        pub type UIE_R = crate::R<bool, bool>;
103684        ///Write proxy for field `UIE`
103685        pub struct UIE_W<'a> {
103686            w: &'a mut W,
103687        }
103688        impl<'a> UIE_W<'a> {
103689            ///Sets the field bit
103690            #[inline(always)]
103691            pub fn set_bit(self) -> &'a mut W {
103692                self.bit(true)
103693            }
103694            ///Clears the field bit
103695            #[inline(always)]
103696            pub fn clear_bit(self) -> &'a mut W {
103697                self.bit(false)
103698            }
103699            ///Writes raw bits to the field
103700            #[inline(always)]
103701            pub fn bit(self, value: bool) -> &'a mut W {
103702                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
103703                self.w
103704            }
103705        }
103706        ///Reader of field `CC1IE`
103707        pub type CC1IE_R = crate::R<bool, bool>;
103708        ///Write proxy for field `CC1IE`
103709        pub struct CC1IE_W<'a> {
103710            w: &'a mut W,
103711        }
103712        impl<'a> CC1IE_W<'a> {
103713            ///Sets the field bit
103714            #[inline(always)]
103715            pub fn set_bit(self) -> &'a mut W {
103716                self.bit(true)
103717            }
103718            ///Clears the field bit
103719            #[inline(always)]
103720            pub fn clear_bit(self) -> &'a mut W {
103721                self.bit(false)
103722            }
103723            ///Writes raw bits to the field
103724            #[inline(always)]
103725            pub fn bit(self, value: bool) -> &'a mut W {
103726                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
103727                self.w
103728            }
103729        }
103730        ///Reader of field `COMIE`
103731        pub type COMIE_R = crate::R<bool, bool>;
103732        ///Write proxy for field `COMIE`
103733        pub struct COMIE_W<'a> {
103734            w: &'a mut W,
103735        }
103736        impl<'a> COMIE_W<'a> {
103737            ///Sets the field bit
103738            #[inline(always)]
103739            pub fn set_bit(self) -> &'a mut W {
103740                self.bit(true)
103741            }
103742            ///Clears the field bit
103743            #[inline(always)]
103744            pub fn clear_bit(self) -> &'a mut W {
103745                self.bit(false)
103746            }
103747            ///Writes raw bits to the field
103748            #[inline(always)]
103749            pub fn bit(self, value: bool) -> &'a mut W {
103750                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
103751                self.w
103752            }
103753        }
103754        ///Reader of field `BIE`
103755        pub type BIE_R = crate::R<bool, bool>;
103756        ///Write proxy for field `BIE`
103757        pub struct BIE_W<'a> {
103758            w: &'a mut W,
103759        }
103760        impl<'a> BIE_W<'a> {
103761            ///Sets the field bit
103762            #[inline(always)]
103763            pub fn set_bit(self) -> &'a mut W {
103764                self.bit(true)
103765            }
103766            ///Clears the field bit
103767            #[inline(always)]
103768            pub fn clear_bit(self) -> &'a mut W {
103769                self.bit(false)
103770            }
103771            ///Writes raw bits to the field
103772            #[inline(always)]
103773            pub fn bit(self, value: bool) -> &'a mut W {
103774                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
103775                self.w
103776            }
103777        }
103778        ///Reader of field `UDE`
103779        pub type UDE_R = crate::R<bool, bool>;
103780        ///Write proxy for field `UDE`
103781        pub struct UDE_W<'a> {
103782            w: &'a mut W,
103783        }
103784        impl<'a> UDE_W<'a> {
103785            ///Sets the field bit
103786            #[inline(always)]
103787            pub fn set_bit(self) -> &'a mut W {
103788                self.bit(true)
103789            }
103790            ///Clears the field bit
103791            #[inline(always)]
103792            pub fn clear_bit(self) -> &'a mut W {
103793                self.bit(false)
103794            }
103795            ///Writes raw bits to the field
103796            #[inline(always)]
103797            pub fn bit(self, value: bool) -> &'a mut W {
103798                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
103799                self.w
103800            }
103801        }
103802        ///Reader of field `CC1DE`
103803        pub type CC1DE_R = crate::R<u8, u8>;
103804        ///Write proxy for field `CC1DE`
103805        pub struct CC1DE_W<'a> {
103806            w: &'a mut W,
103807        }
103808        impl<'a> CC1DE_W<'a> {
103809            ///Writes raw bits to the field
103810            #[inline(always)]
103811            pub unsafe fn bits(self, value: u8) -> &'a mut W {
103812                self.w.bits = (self.w.bits & !(0x03 << 9)) | (((value as u32) & 0x03) << 9);
103813                self.w
103814            }
103815        }
103816        impl R {
103817            ///Bit 0 - Update interrupt enable.
103818            #[inline(always)]
103819            pub fn uie(&self) -> UIE_R {
103820                UIE_R::new((self.bits & 0x01) != 0)
103821            }
103822            ///Bit 1 - Capture/Compare 1 interrupt enable.
103823            #[inline(always)]
103824            pub fn cc1ie(&self) -> CC1IE_R {
103825                CC1IE_R::new(((self.bits >> 1) & 0x01) != 0)
103826            }
103827            ///Bit 5 - COM interrupt enable.
103828            #[inline(always)]
103829            pub fn comie(&self) -> COMIE_R {
103830                COMIE_R::new(((self.bits >> 5) & 0x01) != 0)
103831            }
103832            ///Bit 8 - Break interrupt enable.
103833            #[inline(always)]
103834            pub fn bie(&self) -> BIE_R {
103835                BIE_R::new(((self.bits >> 8) & 0x01) != 0)
103836            }
103837            ///Bit 8 - Update DMA request enable.
103838            #[inline(always)]
103839            pub fn ude(&self) -> UDE_R {
103840                UDE_R::new(((self.bits >> 8) & 0x01) != 0)
103841            }
103842            ///Bits 9:10 - Capture/Compare 1 DMA request enable.
103843            #[inline(always)]
103844            pub fn cc1de(&self) -> CC1DE_R {
103845                CC1DE_R::new(((self.bits >> 9) & 0x03) as u8)
103846            }
103847        }
103848        impl W {
103849            ///Bit 0 - Update interrupt enable.
103850            #[inline(always)]
103851            pub fn uie(&mut self) -> UIE_W {
103852                UIE_W { w: self }
103853            }
103854            ///Bit 1 - Capture/Compare 1 interrupt enable.
103855            #[inline(always)]
103856            pub fn cc1ie(&mut self) -> CC1IE_W {
103857                CC1IE_W { w: self }
103858            }
103859            ///Bit 5 - COM interrupt enable.
103860            #[inline(always)]
103861            pub fn comie(&mut self) -> COMIE_W {
103862                COMIE_W { w: self }
103863            }
103864            ///Bit 8 - Break interrupt enable.
103865            #[inline(always)]
103866            pub fn bie(&mut self) -> BIE_W {
103867                BIE_W { w: self }
103868            }
103869            ///Bit 8 - Update DMA request enable.
103870            #[inline(always)]
103871            pub fn ude(&mut self) -> UDE_W {
103872                UDE_W { w: self }
103873            }
103874            ///Bits 9:10 - Capture/Compare 1 DMA request enable.
103875            #[inline(always)]
103876            pub fn cc1de(&mut self) -> CC1DE_W {
103877                CC1DE_W { w: self }
103878            }
103879        }
103880    }
103881    ///status register
103882    ///
103883    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
103884    ///
103885    ///For information about available fields see [sr](sr) module
103886    pub type SR = crate::Reg<u32, _SR>;
103887    #[allow(missing_docs)]
103888    #[doc(hidden)]
103889    pub struct _SR;
103890    ///`read()` method returns [sr::R](sr::R) reader structure
103891    impl crate::Readable for SR {}
103892    ///`write(|w| ..)` method takes [sr::W](sr::W) writer structure
103893    impl crate::Writable for SR {}
103894    ///status register
103895    pub mod sr {
103896        ///Reader of register SR
103897        pub type R = crate::R<u32, super::SR>;
103898        ///Writer for register SR
103899        pub type W = crate::W<u32, super::SR>;
103900        ///Register SR `reset()`'s with value 0
103901        impl crate::ResetValue for super::SR {
103902            type Type = u32;
103903            #[inline(always)]
103904            fn reset_value() -> Self::Type {
103905                0
103906            }
103907        }
103908        ///Reader of field `CC1OF`
103909        pub type CC1OF_R = crate::R<bool, bool>;
103910        ///Write proxy for field `CC1OF`
103911        pub struct CC1OF_W<'a> {
103912            w: &'a mut W,
103913        }
103914        impl<'a> CC1OF_W<'a> {
103915            ///Sets the field bit
103916            #[inline(always)]
103917            pub fn set_bit(self) -> &'a mut W {
103918                self.bit(true)
103919            }
103920            ///Clears the field bit
103921            #[inline(always)]
103922            pub fn clear_bit(self) -> &'a mut W {
103923                self.bit(false)
103924            }
103925            ///Writes raw bits to the field
103926            #[inline(always)]
103927            pub fn bit(self, value: bool) -> &'a mut W {
103928                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
103929                self.w
103930            }
103931        }
103932        ///Reader of field `BIF`
103933        pub type BIF_R = crate::R<bool, bool>;
103934        ///Write proxy for field `BIF`
103935        pub struct BIF_W<'a> {
103936            w: &'a mut W,
103937        }
103938        impl<'a> BIF_W<'a> {
103939            ///Sets the field bit
103940            #[inline(always)]
103941            pub fn set_bit(self) -> &'a mut W {
103942                self.bit(true)
103943            }
103944            ///Clears the field bit
103945            #[inline(always)]
103946            pub fn clear_bit(self) -> &'a mut W {
103947                self.bit(false)
103948            }
103949            ///Writes raw bits to the field
103950            #[inline(always)]
103951            pub fn bit(self, value: bool) -> &'a mut W {
103952                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
103953                self.w
103954            }
103955        }
103956        ///Reader of field `TIF`
103957        pub type TIF_R = crate::R<bool, bool>;
103958        ///Write proxy for field `TIF`
103959        pub struct TIF_W<'a> {
103960            w: &'a mut W,
103961        }
103962        impl<'a> TIF_W<'a> {
103963            ///Sets the field bit
103964            #[inline(always)]
103965            pub fn set_bit(self) -> &'a mut W {
103966                self.bit(true)
103967            }
103968            ///Clears the field bit
103969            #[inline(always)]
103970            pub fn clear_bit(self) -> &'a mut W {
103971                self.bit(false)
103972            }
103973            ///Writes raw bits to the field
103974            #[inline(always)]
103975            pub fn bit(self, value: bool) -> &'a mut W {
103976                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
103977                self.w
103978            }
103979        }
103980        ///Reader of field `COMIF`
103981        pub type COMIF_R = crate::R<bool, bool>;
103982        ///Write proxy for field `COMIF`
103983        pub struct COMIF_W<'a> {
103984            w: &'a mut W,
103985        }
103986        impl<'a> COMIF_W<'a> {
103987            ///Sets the field bit
103988            #[inline(always)]
103989            pub fn set_bit(self) -> &'a mut W {
103990                self.bit(true)
103991            }
103992            ///Clears the field bit
103993            #[inline(always)]
103994            pub fn clear_bit(self) -> &'a mut W {
103995                self.bit(false)
103996            }
103997            ///Writes raw bits to the field
103998            #[inline(always)]
103999            pub fn bit(self, value: bool) -> &'a mut W {
104000                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
104001                self.w
104002            }
104003        }
104004        ///Reader of field `CC1IF`
104005        pub type CC1IF_R = crate::R<bool, bool>;
104006        ///Write proxy for field `CC1IF`
104007        pub struct CC1IF_W<'a> {
104008            w: &'a mut W,
104009        }
104010        impl<'a> CC1IF_W<'a> {
104011            ///Sets the field bit
104012            #[inline(always)]
104013            pub fn set_bit(self) -> &'a mut W {
104014                self.bit(true)
104015            }
104016            ///Clears the field bit
104017            #[inline(always)]
104018            pub fn clear_bit(self) -> &'a mut W {
104019                self.bit(false)
104020            }
104021            ///Writes raw bits to the field
104022            #[inline(always)]
104023            pub fn bit(self, value: bool) -> &'a mut W {
104024                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
104025                self.w
104026            }
104027        }
104028        ///Reader of field `UIF`
104029        pub type UIF_R = crate::R<bool, bool>;
104030        ///Write proxy for field `UIF`
104031        pub struct UIF_W<'a> {
104032            w: &'a mut W,
104033        }
104034        impl<'a> UIF_W<'a> {
104035            ///Sets the field bit
104036            #[inline(always)]
104037            pub fn set_bit(self) -> &'a mut W {
104038                self.bit(true)
104039            }
104040            ///Clears the field bit
104041            #[inline(always)]
104042            pub fn clear_bit(self) -> &'a mut W {
104043                self.bit(false)
104044            }
104045            ///Writes raw bits to the field
104046            #[inline(always)]
104047            pub fn bit(self, value: bool) -> &'a mut W {
104048                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
104049                self.w
104050            }
104051        }
104052        impl R {
104053            ///Bit 9 - Capture/Compare 1 overcapture flag
104054            #[inline(always)]
104055            pub fn cc1of(&self) -> CC1OF_R {
104056                CC1OF_R::new(((self.bits >> 9) & 0x01) != 0)
104057            }
104058            ///Bit 7 - Break interrupt flag
104059            #[inline(always)]
104060            pub fn bif(&self) -> BIF_R {
104061                BIF_R::new(((self.bits >> 7) & 0x01) != 0)
104062            }
104063            ///Bit 6 - Trigger interrupt flag
104064            #[inline(always)]
104065            pub fn tif(&self) -> TIF_R {
104066                TIF_R::new(((self.bits >> 6) & 0x01) != 0)
104067            }
104068            ///Bit 5 - COM interrupt flag
104069            #[inline(always)]
104070            pub fn comif(&self) -> COMIF_R {
104071                COMIF_R::new(((self.bits >> 5) & 0x01) != 0)
104072            }
104073            ///Bit 1 - Capture/compare 1 interrupt flag
104074            #[inline(always)]
104075            pub fn cc1if(&self) -> CC1IF_R {
104076                CC1IF_R::new(((self.bits >> 1) & 0x01) != 0)
104077            }
104078            ///Bit 0 - Update interrupt flag
104079            #[inline(always)]
104080            pub fn uif(&self) -> UIF_R {
104081                UIF_R::new((self.bits & 0x01) != 0)
104082            }
104083        }
104084        impl W {
104085            ///Bit 9 - Capture/Compare 1 overcapture flag
104086            #[inline(always)]
104087            pub fn cc1of(&mut self) -> CC1OF_W {
104088                CC1OF_W { w: self }
104089            }
104090            ///Bit 7 - Break interrupt flag
104091            #[inline(always)]
104092            pub fn bif(&mut self) -> BIF_W {
104093                BIF_W { w: self }
104094            }
104095            ///Bit 6 - Trigger interrupt flag
104096            #[inline(always)]
104097            pub fn tif(&mut self) -> TIF_W {
104098                TIF_W { w: self }
104099            }
104100            ///Bit 5 - COM interrupt flag
104101            #[inline(always)]
104102            pub fn comif(&mut self) -> COMIF_W {
104103                COMIF_W { w: self }
104104            }
104105            ///Bit 1 - Capture/compare 1 interrupt flag
104106            #[inline(always)]
104107            pub fn cc1if(&mut self) -> CC1IF_W {
104108                CC1IF_W { w: self }
104109            }
104110            ///Bit 0 - Update interrupt flag
104111            #[inline(always)]
104112            pub fn uif(&mut self) -> UIF_W {
104113                UIF_W { w: self }
104114            }
104115        }
104116    }
104117    ///event generation register
104118    ///
104119    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
104120    ///
104121    ///For information about available fields see [egr](egr) module
104122    pub type EGR = crate::Reg<u32, _EGR>;
104123    #[allow(missing_docs)]
104124    #[doc(hidden)]
104125    pub struct _EGR;
104126    ///`write(|w| ..)` method takes [egr::W](egr::W) writer structure
104127    impl crate::Writable for EGR {}
104128    ///event generation register
104129    pub mod egr {
104130        ///Writer for register EGR
104131        pub type W = crate::W<u32, super::EGR>;
104132        ///Register EGR `reset()`'s with value 0
104133        impl crate::ResetValue for super::EGR {
104134            type Type = u32;
104135            #[inline(always)]
104136            fn reset_value() -> Self::Type {
104137                0
104138            }
104139        }
104140        ///Write proxy for field `BG`
104141        pub struct BG_W<'a> {
104142            w: &'a mut W,
104143        }
104144        impl<'a> BG_W<'a> {
104145            ///Sets the field bit
104146            #[inline(always)]
104147            pub fn set_bit(self) -> &'a mut W {
104148                self.bit(true)
104149            }
104150            ///Clears the field bit
104151            #[inline(always)]
104152            pub fn clear_bit(self) -> &'a mut W {
104153                self.bit(false)
104154            }
104155            ///Writes raw bits to the field
104156            #[inline(always)]
104157            pub fn bit(self, value: bool) -> &'a mut W {
104158                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
104159                self.w
104160            }
104161        }
104162        ///Write proxy for field `TG`
104163        pub struct TG_W<'a> {
104164            w: &'a mut W,
104165        }
104166        impl<'a> TG_W<'a> {
104167            ///Sets the field bit
104168            #[inline(always)]
104169            pub fn set_bit(self) -> &'a mut W {
104170                self.bit(true)
104171            }
104172            ///Clears the field bit
104173            #[inline(always)]
104174            pub fn clear_bit(self) -> &'a mut W {
104175                self.bit(false)
104176            }
104177            ///Writes raw bits to the field
104178            #[inline(always)]
104179            pub fn bit(self, value: bool) -> &'a mut W {
104180                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
104181                self.w
104182            }
104183        }
104184        ///Write proxy for field `COMG`
104185        pub struct COMG_W<'a> {
104186            w: &'a mut W,
104187        }
104188        impl<'a> COMG_W<'a> {
104189            ///Sets the field bit
104190            #[inline(always)]
104191            pub fn set_bit(self) -> &'a mut W {
104192                self.bit(true)
104193            }
104194            ///Clears the field bit
104195            #[inline(always)]
104196            pub fn clear_bit(self) -> &'a mut W {
104197                self.bit(false)
104198            }
104199            ///Writes raw bits to the field
104200            #[inline(always)]
104201            pub fn bit(self, value: bool) -> &'a mut W {
104202                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
104203                self.w
104204            }
104205        }
104206        ///Write proxy for field `CC1G`
104207        pub struct CC1G_W<'a> {
104208            w: &'a mut W,
104209        }
104210        impl<'a> CC1G_W<'a> {
104211            ///Sets the field bit
104212            #[inline(always)]
104213            pub fn set_bit(self) -> &'a mut W {
104214                self.bit(true)
104215            }
104216            ///Clears the field bit
104217            #[inline(always)]
104218            pub fn clear_bit(self) -> &'a mut W {
104219                self.bit(false)
104220            }
104221            ///Writes raw bits to the field
104222            #[inline(always)]
104223            pub fn bit(self, value: bool) -> &'a mut W {
104224                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
104225                self.w
104226            }
104227        }
104228        ///Write proxy for field `UG`
104229        pub struct UG_W<'a> {
104230            w: &'a mut W,
104231        }
104232        impl<'a> UG_W<'a> {
104233            ///Sets the field bit
104234            #[inline(always)]
104235            pub fn set_bit(self) -> &'a mut W {
104236                self.bit(true)
104237            }
104238            ///Clears the field bit
104239            #[inline(always)]
104240            pub fn clear_bit(self) -> &'a mut W {
104241                self.bit(false)
104242            }
104243            ///Writes raw bits to the field
104244            #[inline(always)]
104245            pub fn bit(self, value: bool) -> &'a mut W {
104246                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
104247                self.w
104248            }
104249        }
104250        impl W {
104251            ///Bit 7 - Break generation
104252            #[inline(always)]
104253            pub fn bg(&mut self) -> BG_W {
104254                BG_W { w: self }
104255            }
104256            ///Bit 6 - Trigger generation
104257            #[inline(always)]
104258            pub fn tg(&mut self) -> TG_W {
104259                TG_W { w: self }
104260            }
104261            ///Bit 5 - Capture/Compare control update generation
104262            #[inline(always)]
104263            pub fn comg(&mut self) -> COMG_W {
104264                COMG_W { w: self }
104265            }
104266            ///Bit 1 - Capture/compare 1 generation
104267            #[inline(always)]
104268            pub fn cc1g(&mut self) -> CC1G_W {
104269                CC1G_W { w: self }
104270            }
104271            ///Bit 0 - Update generation
104272            #[inline(always)]
104273            pub fn ug(&mut self) -> UG_W {
104274                UG_W { w: self }
104275            }
104276        }
104277    }
104278    ///capture/compare mode register (output mode)
104279    ///
104280    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
104281    ///
104282    ///For information about available fields see [ccmr1_output](ccmr1_output) module
104283    pub type CCMR1_OUTPUT = crate::Reg<u32, _CCMR1_OUTPUT>;
104284    #[allow(missing_docs)]
104285    #[doc(hidden)]
104286    pub struct _CCMR1_OUTPUT;
104287    ///`read()` method returns [ccmr1_output::R](ccmr1_output::R) reader structure
104288    impl crate::Readable for CCMR1_OUTPUT {}
104289    ///`write(|w| ..)` method takes [ccmr1_output::W](ccmr1_output::W) writer structure
104290    impl crate::Writable for CCMR1_OUTPUT {}
104291    ///capture/compare mode register (output mode)
104292    pub mod ccmr1_output {
104293        ///Reader of register CCMR1_Output
104294        pub type R = crate::R<u32, super::CCMR1_OUTPUT>;
104295        ///Writer for register CCMR1_Output
104296        pub type W = crate::W<u32, super::CCMR1_OUTPUT>;
104297        ///Register CCMR1_Output `reset()`'s with value 0
104298        impl crate::ResetValue for super::CCMR1_OUTPUT {
104299            type Type = u32;
104300            #[inline(always)]
104301            fn reset_value() -> Self::Type {
104302                0
104303            }
104304        }
104305        ///Reader of field `OC1M_2`
104306        pub type OC1M_2_R = crate::R<bool, bool>;
104307        ///Write proxy for field `OC1M_2`
104308        pub struct OC1M_2_W<'a> {
104309            w: &'a mut W,
104310        }
104311        impl<'a> OC1M_2_W<'a> {
104312            ///Sets the field bit
104313            #[inline(always)]
104314            pub fn set_bit(self) -> &'a mut W {
104315                self.bit(true)
104316            }
104317            ///Clears the field bit
104318            #[inline(always)]
104319            pub fn clear_bit(self) -> &'a mut W {
104320                self.bit(false)
104321            }
104322            ///Writes raw bits to the field
104323            #[inline(always)]
104324            pub fn bit(self, value: bool) -> &'a mut W {
104325                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
104326                self.w
104327            }
104328        }
104329        ///Reader of field `OC1M`
104330        pub type OC1M_R = crate::R<u8, u8>;
104331        ///Write proxy for field `OC1M`
104332        pub struct OC1M_W<'a> {
104333            w: &'a mut W,
104334        }
104335        impl<'a> OC1M_W<'a> {
104336            ///Writes raw bits to the field
104337            #[inline(always)]
104338            pub unsafe fn bits(self, value: u8) -> &'a mut W {
104339                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
104340                self.w
104341            }
104342        }
104343        ///Reader of field `OC1PE`
104344        pub type OC1PE_R = crate::R<bool, bool>;
104345        ///Write proxy for field `OC1PE`
104346        pub struct OC1PE_W<'a> {
104347            w: &'a mut W,
104348        }
104349        impl<'a> OC1PE_W<'a> {
104350            ///Sets the field bit
104351            #[inline(always)]
104352            pub fn set_bit(self) -> &'a mut W {
104353                self.bit(true)
104354            }
104355            ///Clears the field bit
104356            #[inline(always)]
104357            pub fn clear_bit(self) -> &'a mut W {
104358                self.bit(false)
104359            }
104360            ///Writes raw bits to the field
104361            #[inline(always)]
104362            pub fn bit(self, value: bool) -> &'a mut W {
104363                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
104364                self.w
104365            }
104366        }
104367        ///Reader of field `OC1FE`
104368        pub type OC1FE_R = crate::R<bool, bool>;
104369        ///Write proxy for field `OC1FE`
104370        pub struct OC1FE_W<'a> {
104371            w: &'a mut W,
104372        }
104373        impl<'a> OC1FE_W<'a> {
104374            ///Sets the field bit
104375            #[inline(always)]
104376            pub fn set_bit(self) -> &'a mut W {
104377                self.bit(true)
104378            }
104379            ///Clears the field bit
104380            #[inline(always)]
104381            pub fn clear_bit(self) -> &'a mut W {
104382                self.bit(false)
104383            }
104384            ///Writes raw bits to the field
104385            #[inline(always)]
104386            pub fn bit(self, value: bool) -> &'a mut W {
104387                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
104388                self.w
104389            }
104390        }
104391        ///Reader of field `CC1S`
104392        pub type CC1S_R = crate::R<u8, u8>;
104393        ///Write proxy for field `CC1S`
104394        pub struct CC1S_W<'a> {
104395            w: &'a mut W,
104396        }
104397        impl<'a> CC1S_W<'a> {
104398            ///Writes raw bits to the field
104399            #[inline(always)]
104400            pub unsafe fn bits(self, value: u8) -> &'a mut W {
104401                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
104402                self.w
104403            }
104404        }
104405        impl R {
104406            ///Bit 16 - Output Compare 1 mode
104407            #[inline(always)]
104408            pub fn oc1m_2(&self) -> OC1M_2_R {
104409                OC1M_2_R::new(((self.bits >> 16) & 0x01) != 0)
104410            }
104411            ///Bits 4:6 - Output Compare 1 mode
104412            #[inline(always)]
104413            pub fn oc1m(&self) -> OC1M_R {
104414                OC1M_R::new(((self.bits >> 4) & 0x07) as u8)
104415            }
104416            ///Bit 3 - Output Compare 1 preload enable
104417            #[inline(always)]
104418            pub fn oc1pe(&self) -> OC1PE_R {
104419                OC1PE_R::new(((self.bits >> 3) & 0x01) != 0)
104420            }
104421            ///Bit 2 - Output Compare 1 fast enable
104422            #[inline(always)]
104423            pub fn oc1fe(&self) -> OC1FE_R {
104424                OC1FE_R::new(((self.bits >> 2) & 0x01) != 0)
104425            }
104426            ///Bits 0:1 - Capture/Compare 1 selection
104427            #[inline(always)]
104428            pub fn cc1s(&self) -> CC1S_R {
104429                CC1S_R::new((self.bits & 0x03) as u8)
104430            }
104431        }
104432        impl W {
104433            ///Bit 16 - Output Compare 1 mode
104434            #[inline(always)]
104435            pub fn oc1m_2(&mut self) -> OC1M_2_W {
104436                OC1M_2_W { w: self }
104437            }
104438            ///Bits 4:6 - Output Compare 1 mode
104439            #[inline(always)]
104440            pub fn oc1m(&mut self) -> OC1M_W {
104441                OC1M_W { w: self }
104442            }
104443            ///Bit 3 - Output Compare 1 preload enable
104444            #[inline(always)]
104445            pub fn oc1pe(&mut self) -> OC1PE_W {
104446                OC1PE_W { w: self }
104447            }
104448            ///Bit 2 - Output Compare 1 fast enable
104449            #[inline(always)]
104450            pub fn oc1fe(&mut self) -> OC1FE_W {
104451                OC1FE_W { w: self }
104452            }
104453            ///Bits 0:1 - Capture/Compare 1 selection
104454            #[inline(always)]
104455            pub fn cc1s(&mut self) -> CC1S_W {
104456                CC1S_W { w: self }
104457            }
104458        }
104459    }
104460    ///capture/compare mode register 1 (input mode)
104461    ///
104462    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
104463    ///
104464    ///For information about available fields see [ccmr1_input](ccmr1_input) module
104465    pub type CCMR1_INPUT = crate::Reg<u32, _CCMR1_INPUT>;
104466    #[allow(missing_docs)]
104467    #[doc(hidden)]
104468    pub struct _CCMR1_INPUT;
104469    ///`read()` method returns [ccmr1_input::R](ccmr1_input::R) reader structure
104470    impl crate::Readable for CCMR1_INPUT {}
104471    ///`write(|w| ..)` method takes [ccmr1_input::W](ccmr1_input::W) writer structure
104472    impl crate::Writable for CCMR1_INPUT {}
104473    ///capture/compare mode register 1 (input mode)
104474    pub mod ccmr1_input {
104475        ///Reader of register CCMR1_Input
104476        pub type R = crate::R<u32, super::CCMR1_INPUT>;
104477        ///Writer for register CCMR1_Input
104478        pub type W = crate::W<u32, super::CCMR1_INPUT>;
104479        ///Register CCMR1_Input `reset()`'s with value 0
104480        impl crate::ResetValue for super::CCMR1_INPUT {
104481            type Type = u32;
104482            #[inline(always)]
104483            fn reset_value() -> Self::Type {
104484                0
104485            }
104486        }
104487        ///Reader of field `IC1F`
104488        pub type IC1F_R = crate::R<u8, u8>;
104489        ///Write proxy for field `IC1F`
104490        pub struct IC1F_W<'a> {
104491            w: &'a mut W,
104492        }
104493        impl<'a> IC1F_W<'a> {
104494            ///Writes raw bits to the field
104495            #[inline(always)]
104496            pub unsafe fn bits(self, value: u8) -> &'a mut W {
104497                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
104498                self.w
104499            }
104500        }
104501        ///Reader of field `IC1PSC`
104502        pub type IC1PSC_R = crate::R<u8, u8>;
104503        ///Write proxy for field `IC1PSC`
104504        pub struct IC1PSC_W<'a> {
104505            w: &'a mut W,
104506        }
104507        impl<'a> IC1PSC_W<'a> {
104508            ///Writes raw bits to the field
104509            #[inline(always)]
104510            pub unsafe fn bits(self, value: u8) -> &'a mut W {
104511                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
104512                self.w
104513            }
104514        }
104515        ///Reader of field `CC1S`
104516        pub type CC1S_R = crate::R<u8, u8>;
104517        ///Write proxy for field `CC1S`
104518        pub struct CC1S_W<'a> {
104519            w: &'a mut W,
104520        }
104521        impl<'a> CC1S_W<'a> {
104522            ///Writes raw bits to the field
104523            #[inline(always)]
104524            pub unsafe fn bits(self, value: u8) -> &'a mut W {
104525                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
104526                self.w
104527            }
104528        }
104529        impl R {
104530            ///Bits 4:7 - Input capture 1 filter
104531            #[inline(always)]
104532            pub fn ic1f(&self) -> IC1F_R {
104533                IC1F_R::new(((self.bits >> 4) & 0x0f) as u8)
104534            }
104535            ///Bits 2:3 - Input capture 1 prescaler
104536            #[inline(always)]
104537            pub fn ic1psc(&self) -> IC1PSC_R {
104538                IC1PSC_R::new(((self.bits >> 2) & 0x03) as u8)
104539            }
104540            ///Bits 0:1 - Capture/Compare 1 selection
104541            #[inline(always)]
104542            pub fn cc1s(&self) -> CC1S_R {
104543                CC1S_R::new((self.bits & 0x03) as u8)
104544            }
104545        }
104546        impl W {
104547            ///Bits 4:7 - Input capture 1 filter
104548            #[inline(always)]
104549            pub fn ic1f(&mut self) -> IC1F_W {
104550                IC1F_W { w: self }
104551            }
104552            ///Bits 2:3 - Input capture 1 prescaler
104553            #[inline(always)]
104554            pub fn ic1psc(&mut self) -> IC1PSC_W {
104555                IC1PSC_W { w: self }
104556            }
104557            ///Bits 0:1 - Capture/Compare 1 selection
104558            #[inline(always)]
104559            pub fn cc1s(&mut self) -> CC1S_W {
104560                CC1S_W { w: self }
104561            }
104562        }
104563    }
104564    ///capture/compare enable register
104565    ///
104566    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
104567    ///
104568    ///For information about available fields see [ccer](ccer) module
104569    pub type CCER = crate::Reg<u32, _CCER>;
104570    #[allow(missing_docs)]
104571    #[doc(hidden)]
104572    pub struct _CCER;
104573    ///`read()` method returns [ccer::R](ccer::R) reader structure
104574    impl crate::Readable for CCER {}
104575    ///`write(|w| ..)` method takes [ccer::W](ccer::W) writer structure
104576    impl crate::Writable for CCER {}
104577    ///capture/compare enable register
104578    pub mod ccer {
104579        ///Reader of register CCER
104580        pub type R = crate::R<u32, super::CCER>;
104581        ///Writer for register CCER
104582        pub type W = crate::W<u32, super::CCER>;
104583        ///Register CCER `reset()`'s with value 0
104584        impl crate::ResetValue for super::CCER {
104585            type Type = u32;
104586            #[inline(always)]
104587            fn reset_value() -> Self::Type {
104588                0
104589            }
104590        }
104591        ///Reader of field `CC1NP`
104592        pub type CC1NP_R = crate::R<bool, bool>;
104593        ///Write proxy for field `CC1NP`
104594        pub struct CC1NP_W<'a> {
104595            w: &'a mut W,
104596        }
104597        impl<'a> CC1NP_W<'a> {
104598            ///Sets the field bit
104599            #[inline(always)]
104600            pub fn set_bit(self) -> &'a mut W {
104601                self.bit(true)
104602            }
104603            ///Clears the field bit
104604            #[inline(always)]
104605            pub fn clear_bit(self) -> &'a mut W {
104606                self.bit(false)
104607            }
104608            ///Writes raw bits to the field
104609            #[inline(always)]
104610            pub fn bit(self, value: bool) -> &'a mut W {
104611                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
104612                self.w
104613            }
104614        }
104615        ///Reader of field `CC1NE`
104616        pub type CC1NE_R = crate::R<bool, bool>;
104617        ///Write proxy for field `CC1NE`
104618        pub struct CC1NE_W<'a> {
104619            w: &'a mut W,
104620        }
104621        impl<'a> CC1NE_W<'a> {
104622            ///Sets the field bit
104623            #[inline(always)]
104624            pub fn set_bit(self) -> &'a mut W {
104625                self.bit(true)
104626            }
104627            ///Clears the field bit
104628            #[inline(always)]
104629            pub fn clear_bit(self) -> &'a mut W {
104630                self.bit(false)
104631            }
104632            ///Writes raw bits to the field
104633            #[inline(always)]
104634            pub fn bit(self, value: bool) -> &'a mut W {
104635                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
104636                self.w
104637            }
104638        }
104639        ///Reader of field `CC1P`
104640        pub type CC1P_R = crate::R<bool, bool>;
104641        ///Write proxy for field `CC1P`
104642        pub struct CC1P_W<'a> {
104643            w: &'a mut W,
104644        }
104645        impl<'a> CC1P_W<'a> {
104646            ///Sets the field bit
104647            #[inline(always)]
104648            pub fn set_bit(self) -> &'a mut W {
104649                self.bit(true)
104650            }
104651            ///Clears the field bit
104652            #[inline(always)]
104653            pub fn clear_bit(self) -> &'a mut W {
104654                self.bit(false)
104655            }
104656            ///Writes raw bits to the field
104657            #[inline(always)]
104658            pub fn bit(self, value: bool) -> &'a mut W {
104659                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
104660                self.w
104661            }
104662        }
104663        ///Reader of field `CC1E`
104664        pub type CC1E_R = crate::R<bool, bool>;
104665        ///Write proxy for field `CC1E`
104666        pub struct CC1E_W<'a> {
104667            w: &'a mut W,
104668        }
104669        impl<'a> CC1E_W<'a> {
104670            ///Sets the field bit
104671            #[inline(always)]
104672            pub fn set_bit(self) -> &'a mut W {
104673                self.bit(true)
104674            }
104675            ///Clears the field bit
104676            #[inline(always)]
104677            pub fn clear_bit(self) -> &'a mut W {
104678                self.bit(false)
104679            }
104680            ///Writes raw bits to the field
104681            #[inline(always)]
104682            pub fn bit(self, value: bool) -> &'a mut W {
104683                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
104684                self.w
104685            }
104686        }
104687        impl R {
104688            ///Bit 3 - Capture/Compare 1 output Polarity
104689            #[inline(always)]
104690            pub fn cc1np(&self) -> CC1NP_R {
104691                CC1NP_R::new(((self.bits >> 3) & 0x01) != 0)
104692            }
104693            ///Bit 2 - Capture/Compare 1 complementary output enable
104694            #[inline(always)]
104695            pub fn cc1ne(&self) -> CC1NE_R {
104696                CC1NE_R::new(((self.bits >> 2) & 0x01) != 0)
104697            }
104698            ///Bit 1 - Capture/Compare 1 output Polarity
104699            #[inline(always)]
104700            pub fn cc1p(&self) -> CC1P_R {
104701                CC1P_R::new(((self.bits >> 1) & 0x01) != 0)
104702            }
104703            ///Bit 0 - Capture/Compare 1 output enable
104704            #[inline(always)]
104705            pub fn cc1e(&self) -> CC1E_R {
104706                CC1E_R::new((self.bits & 0x01) != 0)
104707            }
104708        }
104709        impl W {
104710            ///Bit 3 - Capture/Compare 1 output Polarity
104711            #[inline(always)]
104712            pub fn cc1np(&mut self) -> CC1NP_W {
104713                CC1NP_W { w: self }
104714            }
104715            ///Bit 2 - Capture/Compare 1 complementary output enable
104716            #[inline(always)]
104717            pub fn cc1ne(&mut self) -> CC1NE_W {
104718                CC1NE_W { w: self }
104719            }
104720            ///Bit 1 - Capture/Compare 1 output Polarity
104721            #[inline(always)]
104722            pub fn cc1p(&mut self) -> CC1P_W {
104723                CC1P_W { w: self }
104724            }
104725            ///Bit 0 - Capture/Compare 1 output enable
104726            #[inline(always)]
104727            pub fn cc1e(&mut self) -> CC1E_W {
104728                CC1E_W { w: self }
104729            }
104730        }
104731    }
104732    ///counter
104733    ///
104734    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
104735    ///
104736    ///For information about available fields see [cnt](cnt) module
104737    pub type CNT = crate::Reg<u32, _CNT>;
104738    #[allow(missing_docs)]
104739    #[doc(hidden)]
104740    pub struct _CNT;
104741    ///`read()` method returns [cnt::R](cnt::R) reader structure
104742    impl crate::Readable for CNT {}
104743    ///`write(|w| ..)` method takes [cnt::W](cnt::W) writer structure
104744    impl crate::Writable for CNT {}
104745    ///counter
104746    pub mod cnt {
104747        ///Reader of register CNT
104748        pub type R = crate::R<u32, super::CNT>;
104749        ///Writer for register CNT
104750        pub type W = crate::W<u32, super::CNT>;
104751        ///Register CNT `reset()`'s with value 0
104752        impl crate::ResetValue for super::CNT {
104753            type Type = u32;
104754            #[inline(always)]
104755            fn reset_value() -> Self::Type {
104756                0
104757            }
104758        }
104759        ///Reader of field `CNT`
104760        pub type CNT_R = crate::R<u16, u16>;
104761        ///Write proxy for field `CNT`
104762        pub struct CNT_W<'a> {
104763            w: &'a mut W,
104764        }
104765        impl<'a> CNT_W<'a> {
104766            ///Writes raw bits to the field
104767            #[inline(always)]
104768            pub unsafe fn bits(self, value: u16) -> &'a mut W {
104769                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
104770                self.w
104771            }
104772        }
104773        ///Reader of field `UIFCPY`
104774        pub type UIFCPY_R = crate::R<bool, bool>;
104775        impl R {
104776            ///Bits 0:15 - counter value
104777            #[inline(always)]
104778            pub fn cnt(&self) -> CNT_R {
104779                CNT_R::new((self.bits & 0xffff) as u16)
104780            }
104781            ///Bit 31 - UIF Copy
104782            #[inline(always)]
104783            pub fn uifcpy(&self) -> UIFCPY_R {
104784                UIFCPY_R::new(((self.bits >> 31) & 0x01) != 0)
104785            }
104786        }
104787        impl W {
104788            ///Bits 0:15 - counter value
104789            #[inline(always)]
104790            pub fn cnt(&mut self) -> CNT_W {
104791                CNT_W { w: self }
104792            }
104793        }
104794    }
104795    ///prescaler
104796    ///
104797    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
104798    ///
104799    ///For information about available fields see [psc](psc) module
104800    pub type PSC = crate::Reg<u32, _PSC>;
104801    #[allow(missing_docs)]
104802    #[doc(hidden)]
104803    pub struct _PSC;
104804    ///`read()` method returns [psc::R](psc::R) reader structure
104805    impl crate::Readable for PSC {}
104806    ///`write(|w| ..)` method takes [psc::W](psc::W) writer structure
104807    impl crate::Writable for PSC {}
104808    ///prescaler
104809    pub mod psc {
104810        ///Reader of register PSC
104811        pub type R = crate::R<u32, super::PSC>;
104812        ///Writer for register PSC
104813        pub type W = crate::W<u32, super::PSC>;
104814        ///Register PSC `reset()`'s with value 0
104815        impl crate::ResetValue for super::PSC {
104816            type Type = u32;
104817            #[inline(always)]
104818            fn reset_value() -> Self::Type {
104819                0
104820            }
104821        }
104822        ///Reader of field `PSC`
104823        pub type PSC_R = crate::R<u16, u16>;
104824        ///Write proxy for field `PSC`
104825        pub struct PSC_W<'a> {
104826            w: &'a mut W,
104827        }
104828        impl<'a> PSC_W<'a> {
104829            ///Writes raw bits to the field
104830            #[inline(always)]
104831            pub unsafe fn bits(self, value: u16) -> &'a mut W {
104832                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
104833                self.w
104834            }
104835        }
104836        impl R {
104837            ///Bits 0:15 - Prescaler value
104838            #[inline(always)]
104839            pub fn psc(&self) -> PSC_R {
104840                PSC_R::new((self.bits & 0xffff) as u16)
104841            }
104842        }
104843        impl W {
104844            ///Bits 0:15 - Prescaler value
104845            #[inline(always)]
104846            pub fn psc(&mut self) -> PSC_W {
104847                PSC_W { w: self }
104848            }
104849        }
104850    }
104851    ///auto-reload register
104852    ///
104853    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
104854    ///
104855    ///For information about available fields see [arr](arr) module
104856    pub type ARR = crate::Reg<u32, _ARR>;
104857    #[allow(missing_docs)]
104858    #[doc(hidden)]
104859    pub struct _ARR;
104860    ///`read()` method returns [arr::R](arr::R) reader structure
104861    impl crate::Readable for ARR {}
104862    ///`write(|w| ..)` method takes [arr::W](arr::W) writer structure
104863    impl crate::Writable for ARR {}
104864    ///auto-reload register
104865    pub mod arr {
104866        ///Reader of register ARR
104867        pub type R = crate::R<u32, super::ARR>;
104868        ///Writer for register ARR
104869        pub type W = crate::W<u32, super::ARR>;
104870        ///Register ARR `reset()`'s with value 0
104871        impl crate::ResetValue for super::ARR {
104872            type Type = u32;
104873            #[inline(always)]
104874            fn reset_value() -> Self::Type {
104875                0
104876            }
104877        }
104878        ///Reader of field `ARR`
104879        pub type ARR_R = crate::R<u16, u16>;
104880        ///Write proxy for field `ARR`
104881        pub struct ARR_W<'a> {
104882            w: &'a mut W,
104883        }
104884        impl<'a> ARR_W<'a> {
104885            ///Writes raw bits to the field
104886            #[inline(always)]
104887            pub unsafe fn bits(self, value: u16) -> &'a mut W {
104888                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
104889                self.w
104890            }
104891        }
104892        impl R {
104893            ///Bits 0:15 - Auto-reload value
104894            #[inline(always)]
104895            pub fn arr(&self) -> ARR_R {
104896                ARR_R::new((self.bits & 0xffff) as u16)
104897            }
104898        }
104899        impl W {
104900            ///Bits 0:15 - Auto-reload value
104901            #[inline(always)]
104902            pub fn arr(&mut self) -> ARR_W {
104903                ARR_W { w: self }
104904            }
104905        }
104906    }
104907    ///repetition counter register
104908    ///
104909    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
104910    ///
104911    ///For information about available fields see [rcr](rcr) module
104912    pub type RCR = crate::Reg<u32, _RCR>;
104913    #[allow(missing_docs)]
104914    #[doc(hidden)]
104915    pub struct _RCR;
104916    ///`read()` method returns [rcr::R](rcr::R) reader structure
104917    impl crate::Readable for RCR {}
104918    ///`write(|w| ..)` method takes [rcr::W](rcr::W) writer structure
104919    impl crate::Writable for RCR {}
104920    ///repetition counter register
104921    pub mod rcr {
104922        ///Reader of register RCR
104923        pub type R = crate::R<u32, super::RCR>;
104924        ///Writer for register RCR
104925        pub type W = crate::W<u32, super::RCR>;
104926        ///Register RCR `reset()`'s with value 0
104927        impl crate::ResetValue for super::RCR {
104928            type Type = u32;
104929            #[inline(always)]
104930            fn reset_value() -> Self::Type {
104931                0
104932            }
104933        }
104934        ///Reader of field `REP`
104935        pub type REP_R = crate::R<u8, u8>;
104936        ///Write proxy for field `REP`
104937        pub struct REP_W<'a> {
104938            w: &'a mut W,
104939        }
104940        impl<'a> REP_W<'a> {
104941            ///Writes raw bits to the field
104942            #[inline(always)]
104943            pub unsafe fn bits(self, value: u8) -> &'a mut W {
104944                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
104945                self.w
104946            }
104947        }
104948        impl R {
104949            ///Bits 0:7 - Repetition counter value
104950            #[inline(always)]
104951            pub fn rep(&self) -> REP_R {
104952                REP_R::new((self.bits & 0xff) as u8)
104953            }
104954        }
104955        impl W {
104956            ///Bits 0:7 - Repetition counter value
104957            #[inline(always)]
104958            pub fn rep(&mut self) -> REP_W {
104959                REP_W { w: self }
104960            }
104961        }
104962    }
104963    ///capture/compare register 1
104964    ///
104965    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
104966    ///
104967    ///For information about available fields see [ccr1](ccr1) module
104968    pub type CCR1 = crate::Reg<u32, _CCR1>;
104969    #[allow(missing_docs)]
104970    #[doc(hidden)]
104971    pub struct _CCR1;
104972    ///`read()` method returns [ccr1::R](ccr1::R) reader structure
104973    impl crate::Readable for CCR1 {}
104974    ///`write(|w| ..)` method takes [ccr1::W](ccr1::W) writer structure
104975    impl crate::Writable for CCR1 {}
104976    ///capture/compare register 1
104977    pub mod ccr1 {
104978        ///Reader of register CCR1
104979        pub type R = crate::R<u32, super::CCR1>;
104980        ///Writer for register CCR1
104981        pub type W = crate::W<u32, super::CCR1>;
104982        ///Register CCR1 `reset()`'s with value 0
104983        impl crate::ResetValue for super::CCR1 {
104984            type Type = u32;
104985            #[inline(always)]
104986            fn reset_value() -> Self::Type {
104987                0
104988            }
104989        }
104990        ///Reader of field `CCR1`
104991        pub type CCR1_R = crate::R<u16, u16>;
104992        ///Write proxy for field `CCR1`
104993        pub struct CCR1_W<'a> {
104994            w: &'a mut W,
104995        }
104996        impl<'a> CCR1_W<'a> {
104997            ///Writes raw bits to the field
104998            #[inline(always)]
104999            pub unsafe fn bits(self, value: u16) -> &'a mut W {
105000                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
105001                self.w
105002            }
105003        }
105004        impl R {
105005            ///Bits 0:15 - Capture/Compare 1 value
105006            #[inline(always)]
105007            pub fn ccr1(&self) -> CCR1_R {
105008                CCR1_R::new((self.bits & 0xffff) as u16)
105009            }
105010        }
105011        impl W {
105012            ///Bits 0:15 - Capture/Compare 1 value
105013            #[inline(always)]
105014            pub fn ccr1(&mut self) -> CCR1_W {
105015                CCR1_W { w: self }
105016            }
105017        }
105018    }
105019    ///break and dead-time register
105020    ///
105021    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
105022    ///
105023    ///For information about available fields see [bdtr](bdtr) module
105024    pub type BDTR = crate::Reg<u32, _BDTR>;
105025    #[allow(missing_docs)]
105026    #[doc(hidden)]
105027    pub struct _BDTR;
105028    ///`read()` method returns [bdtr::R](bdtr::R) reader structure
105029    impl crate::Readable for BDTR {}
105030    ///`write(|w| ..)` method takes [bdtr::W](bdtr::W) writer structure
105031    impl crate::Writable for BDTR {}
105032    ///break and dead-time register
105033    pub mod bdtr {
105034        ///Reader of register BDTR
105035        pub type R = crate::R<u32, super::BDTR>;
105036        ///Writer for register BDTR
105037        pub type W = crate::W<u32, super::BDTR>;
105038        ///Register BDTR `reset()`'s with value 0
105039        impl crate::ResetValue for super::BDTR {
105040            type Type = u32;
105041            #[inline(always)]
105042            fn reset_value() -> Self::Type {
105043                0
105044            }
105045        }
105046        ///Reader of field `DTG`
105047        pub type DTG_R = crate::R<u8, u8>;
105048        ///Write proxy for field `DTG`
105049        pub struct DTG_W<'a> {
105050            w: &'a mut W,
105051        }
105052        impl<'a> DTG_W<'a> {
105053            ///Writes raw bits to the field
105054            #[inline(always)]
105055            pub unsafe fn bits(self, value: u8) -> &'a mut W {
105056                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
105057                self.w
105058            }
105059        }
105060        ///Reader of field `LOCK`
105061        pub type LOCK_R = crate::R<u8, u8>;
105062        ///Write proxy for field `LOCK`
105063        pub struct LOCK_W<'a> {
105064            w: &'a mut W,
105065        }
105066        impl<'a> LOCK_W<'a> {
105067            ///Writes raw bits to the field
105068            #[inline(always)]
105069            pub unsafe fn bits(self, value: u8) -> &'a mut W {
105070                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
105071                self.w
105072            }
105073        }
105074        ///Reader of field `OSSI`
105075        pub type OSSI_R = crate::R<bool, bool>;
105076        ///Write proxy for field `OSSI`
105077        pub struct OSSI_W<'a> {
105078            w: &'a mut W,
105079        }
105080        impl<'a> OSSI_W<'a> {
105081            ///Sets the field bit
105082            #[inline(always)]
105083            pub fn set_bit(self) -> &'a mut W {
105084                self.bit(true)
105085            }
105086            ///Clears the field bit
105087            #[inline(always)]
105088            pub fn clear_bit(self) -> &'a mut W {
105089                self.bit(false)
105090            }
105091            ///Writes raw bits to the field
105092            #[inline(always)]
105093            pub fn bit(self, value: bool) -> &'a mut W {
105094                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
105095                self.w
105096            }
105097        }
105098        ///Reader of field `OSSR`
105099        pub type OSSR_R = crate::R<bool, bool>;
105100        ///Write proxy for field `OSSR`
105101        pub struct OSSR_W<'a> {
105102            w: &'a mut W,
105103        }
105104        impl<'a> OSSR_W<'a> {
105105            ///Sets the field bit
105106            #[inline(always)]
105107            pub fn set_bit(self) -> &'a mut W {
105108                self.bit(true)
105109            }
105110            ///Clears the field bit
105111            #[inline(always)]
105112            pub fn clear_bit(self) -> &'a mut W {
105113                self.bit(false)
105114            }
105115            ///Writes raw bits to the field
105116            #[inline(always)]
105117            pub fn bit(self, value: bool) -> &'a mut W {
105118                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
105119                self.w
105120            }
105121        }
105122        ///Reader of field `BKE`
105123        pub type BKE_R = crate::R<bool, bool>;
105124        ///Write proxy for field `BKE`
105125        pub struct BKE_W<'a> {
105126            w: &'a mut W,
105127        }
105128        impl<'a> BKE_W<'a> {
105129            ///Sets the field bit
105130            #[inline(always)]
105131            pub fn set_bit(self) -> &'a mut W {
105132                self.bit(true)
105133            }
105134            ///Clears the field bit
105135            #[inline(always)]
105136            pub fn clear_bit(self) -> &'a mut W {
105137                self.bit(false)
105138            }
105139            ///Writes raw bits to the field
105140            #[inline(always)]
105141            pub fn bit(self, value: bool) -> &'a mut W {
105142                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
105143                self.w
105144            }
105145        }
105146        ///Reader of field `BKP`
105147        pub type BKP_R = crate::R<bool, bool>;
105148        ///Write proxy for field `BKP`
105149        pub struct BKP_W<'a> {
105150            w: &'a mut W,
105151        }
105152        impl<'a> BKP_W<'a> {
105153            ///Sets the field bit
105154            #[inline(always)]
105155            pub fn set_bit(self) -> &'a mut W {
105156                self.bit(true)
105157            }
105158            ///Clears the field bit
105159            #[inline(always)]
105160            pub fn clear_bit(self) -> &'a mut W {
105161                self.bit(false)
105162            }
105163            ///Writes raw bits to the field
105164            #[inline(always)]
105165            pub fn bit(self, value: bool) -> &'a mut W {
105166                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
105167                self.w
105168            }
105169        }
105170        ///Reader of field `AOE`
105171        pub type AOE_R = crate::R<bool, bool>;
105172        ///Write proxy for field `AOE`
105173        pub struct AOE_W<'a> {
105174            w: &'a mut W,
105175        }
105176        impl<'a> AOE_W<'a> {
105177            ///Sets the field bit
105178            #[inline(always)]
105179            pub fn set_bit(self) -> &'a mut W {
105180                self.bit(true)
105181            }
105182            ///Clears the field bit
105183            #[inline(always)]
105184            pub fn clear_bit(self) -> &'a mut W {
105185                self.bit(false)
105186            }
105187            ///Writes raw bits to the field
105188            #[inline(always)]
105189            pub fn bit(self, value: bool) -> &'a mut W {
105190                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
105191                self.w
105192            }
105193        }
105194        ///Reader of field `MOE`
105195        pub type MOE_R = crate::R<bool, bool>;
105196        ///Write proxy for field `MOE`
105197        pub struct MOE_W<'a> {
105198            w: &'a mut W,
105199        }
105200        impl<'a> MOE_W<'a> {
105201            ///Sets the field bit
105202            #[inline(always)]
105203            pub fn set_bit(self) -> &'a mut W {
105204                self.bit(true)
105205            }
105206            ///Clears the field bit
105207            #[inline(always)]
105208            pub fn clear_bit(self) -> &'a mut W {
105209                self.bit(false)
105210            }
105211            ///Writes raw bits to the field
105212            #[inline(always)]
105213            pub fn bit(self, value: bool) -> &'a mut W {
105214                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
105215                self.w
105216            }
105217        }
105218        ///Reader of field `BKF`
105219        pub type BKF_R = crate::R<u8, u8>;
105220        ///Write proxy for field `BKF`
105221        pub struct BKF_W<'a> {
105222            w: &'a mut W,
105223        }
105224        impl<'a> BKF_W<'a> {
105225            ///Writes raw bits to the field
105226            #[inline(always)]
105227            pub unsafe fn bits(self, value: u8) -> &'a mut W {
105228                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
105229                self.w
105230            }
105231        }
105232        impl R {
105233            ///Bits 0:7 - Dead-time generator setup
105234            #[inline(always)]
105235            pub fn dtg(&self) -> DTG_R {
105236                DTG_R::new((self.bits & 0xff) as u8)
105237            }
105238            ///Bits 8:9 - Lock configuration
105239            #[inline(always)]
105240            pub fn lock(&self) -> LOCK_R {
105241                LOCK_R::new(((self.bits >> 8) & 0x03) as u8)
105242            }
105243            ///Bit 10 - Off-state selection for Idle mode
105244            #[inline(always)]
105245            pub fn ossi(&self) -> OSSI_R {
105246                OSSI_R::new(((self.bits >> 10) & 0x01) != 0)
105247            }
105248            ///Bit 11 - Off-state selection for Run mode
105249            #[inline(always)]
105250            pub fn ossr(&self) -> OSSR_R {
105251                OSSR_R::new(((self.bits >> 11) & 0x01) != 0)
105252            }
105253            ///Bit 12 - Break enable
105254            #[inline(always)]
105255            pub fn bke(&self) -> BKE_R {
105256                BKE_R::new(((self.bits >> 12) & 0x01) != 0)
105257            }
105258            ///Bit 13 - Break polarity
105259            #[inline(always)]
105260            pub fn bkp(&self) -> BKP_R {
105261                BKP_R::new(((self.bits >> 13) & 0x01) != 0)
105262            }
105263            ///Bit 14 - Automatic output enable
105264            #[inline(always)]
105265            pub fn aoe(&self) -> AOE_R {
105266                AOE_R::new(((self.bits >> 14) & 0x01) != 0)
105267            }
105268            ///Bit 15 - Main output enable
105269            #[inline(always)]
105270            pub fn moe(&self) -> MOE_R {
105271                MOE_R::new(((self.bits >> 15) & 0x01) != 0)
105272            }
105273            ///Bits 16:19 - Break filter
105274            #[inline(always)]
105275            pub fn bkf(&self) -> BKF_R {
105276                BKF_R::new(((self.bits >> 16) & 0x0f) as u8)
105277            }
105278        }
105279        impl W {
105280            ///Bits 0:7 - Dead-time generator setup
105281            #[inline(always)]
105282            pub fn dtg(&mut self) -> DTG_W {
105283                DTG_W { w: self }
105284            }
105285            ///Bits 8:9 - Lock configuration
105286            #[inline(always)]
105287            pub fn lock(&mut self) -> LOCK_W {
105288                LOCK_W { w: self }
105289            }
105290            ///Bit 10 - Off-state selection for Idle mode
105291            #[inline(always)]
105292            pub fn ossi(&mut self) -> OSSI_W {
105293                OSSI_W { w: self }
105294            }
105295            ///Bit 11 - Off-state selection for Run mode
105296            #[inline(always)]
105297            pub fn ossr(&mut self) -> OSSR_W {
105298                OSSR_W { w: self }
105299            }
105300            ///Bit 12 - Break enable
105301            #[inline(always)]
105302            pub fn bke(&mut self) -> BKE_W {
105303                BKE_W { w: self }
105304            }
105305            ///Bit 13 - Break polarity
105306            #[inline(always)]
105307            pub fn bkp(&mut self) -> BKP_W {
105308                BKP_W { w: self }
105309            }
105310            ///Bit 14 - Automatic output enable
105311            #[inline(always)]
105312            pub fn aoe(&mut self) -> AOE_W {
105313                AOE_W { w: self }
105314            }
105315            ///Bit 15 - Main output enable
105316            #[inline(always)]
105317            pub fn moe(&mut self) -> MOE_W {
105318                MOE_W { w: self }
105319            }
105320            ///Bits 16:19 - Break filter
105321            #[inline(always)]
105322            pub fn bkf(&mut self) -> BKF_W {
105323                BKF_W { w: self }
105324            }
105325        }
105326    }
105327    ///DMA control register
105328    ///
105329    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
105330    ///
105331    ///For information about available fields see [dcr](dcr) module
105332    pub type DCR = crate::Reg<u32, _DCR>;
105333    #[allow(missing_docs)]
105334    #[doc(hidden)]
105335    pub struct _DCR;
105336    ///`read()` method returns [dcr::R](dcr::R) reader structure
105337    impl crate::Readable for DCR {}
105338    ///`write(|w| ..)` method takes [dcr::W](dcr::W) writer structure
105339    impl crate::Writable for DCR {}
105340    ///DMA control register
105341    pub mod dcr {
105342        ///Reader of register DCR
105343        pub type R = crate::R<u32, super::DCR>;
105344        ///Writer for register DCR
105345        pub type W = crate::W<u32, super::DCR>;
105346        ///Register DCR `reset()`'s with value 0
105347        impl crate::ResetValue for super::DCR {
105348            type Type = u32;
105349            #[inline(always)]
105350            fn reset_value() -> Self::Type {
105351                0
105352            }
105353        }
105354        ///Reader of field `DBL`
105355        pub type DBL_R = crate::R<u8, u8>;
105356        ///Write proxy for field `DBL`
105357        pub struct DBL_W<'a> {
105358            w: &'a mut W,
105359        }
105360        impl<'a> DBL_W<'a> {
105361            ///Writes raw bits to the field
105362            #[inline(always)]
105363            pub unsafe fn bits(self, value: u8) -> &'a mut W {
105364                self.w.bits = (self.w.bits & !(0x1f << 8)) | (((value as u32) & 0x1f) << 8);
105365                self.w
105366            }
105367        }
105368        ///Reader of field `DBA`
105369        pub type DBA_R = crate::R<u8, u8>;
105370        ///Write proxy for field `DBA`
105371        pub struct DBA_W<'a> {
105372            w: &'a mut W,
105373        }
105374        impl<'a> DBA_W<'a> {
105375            ///Writes raw bits to the field
105376            #[inline(always)]
105377            pub unsafe fn bits(self, value: u8) -> &'a mut W {
105378                self.w.bits = (self.w.bits & !0x1f) | ((value as u32) & 0x1f);
105379                self.w
105380            }
105381        }
105382        impl R {
105383            ///Bits 8:12 - DMA burst length
105384            #[inline(always)]
105385            pub fn dbl(&self) -> DBL_R {
105386                DBL_R::new(((self.bits >> 8) & 0x1f) as u8)
105387            }
105388            ///Bits 0:4 - DMA base address
105389            #[inline(always)]
105390            pub fn dba(&self) -> DBA_R {
105391                DBA_R::new((self.bits & 0x1f) as u8)
105392            }
105393        }
105394        impl W {
105395            ///Bits 8:12 - DMA burst length
105396            #[inline(always)]
105397            pub fn dbl(&mut self) -> DBL_W {
105398                DBL_W { w: self }
105399            }
105400            ///Bits 0:4 - DMA base address
105401            #[inline(always)]
105402            pub fn dba(&mut self) -> DBA_W {
105403                DBA_W { w: self }
105404            }
105405        }
105406    }
105407    ///DMA address for full transfer
105408    ///
105409    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
105410    ///
105411    ///For information about available fields see [dmar](dmar) module
105412    pub type DMAR = crate::Reg<u32, _DMAR>;
105413    #[allow(missing_docs)]
105414    #[doc(hidden)]
105415    pub struct _DMAR;
105416    ///`read()` method returns [dmar::R](dmar::R) reader structure
105417    impl crate::Readable for DMAR {}
105418    ///`write(|w| ..)` method takes [dmar::W](dmar::W) writer structure
105419    impl crate::Writable for DMAR {}
105420    ///DMA address for full transfer
105421    pub mod dmar {
105422        ///Reader of register DMAR
105423        pub type R = crate::R<u32, super::DMAR>;
105424        ///Writer for register DMAR
105425        pub type W = crate::W<u32, super::DMAR>;
105426        ///Register DMAR `reset()`'s with value 0
105427        impl crate::ResetValue for super::DMAR {
105428            type Type = u32;
105429            #[inline(always)]
105430            fn reset_value() -> Self::Type {
105431                0
105432            }
105433        }
105434        ///Reader of field `DMAB`
105435        pub type DMAB_R = crate::R<u16, u16>;
105436        ///Write proxy for field `DMAB`
105437        pub struct DMAB_W<'a> {
105438            w: &'a mut W,
105439        }
105440        impl<'a> DMAB_W<'a> {
105441            ///Writes raw bits to the field
105442            #[inline(always)]
105443            pub unsafe fn bits(self, value: u16) -> &'a mut W {
105444                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
105445                self.w
105446            }
105447        }
105448        impl R {
105449            ///Bits 0:15 - DMA register for burst accesses
105450            #[inline(always)]
105451            pub fn dmab(&self) -> DMAB_R {
105452                DMAB_R::new((self.bits & 0xffff) as u16)
105453            }
105454        }
105455        impl W {
105456            ///Bits 0:15 - DMA register for burst accesses
105457            #[inline(always)]
105458            pub fn dmab(&mut self) -> DMAB_W {
105459                DMAB_W { w: self }
105460            }
105461        }
105462    }
105463    ///TIM16 option register 1
105464    ///
105465    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
105466    ///
105467    ///For information about available fields see [or](or) module
105468    pub type OR = crate::Reg<u32, _OR>;
105469    #[allow(missing_docs)]
105470    #[doc(hidden)]
105471    pub struct _OR;
105472    ///`read()` method returns [or::R](or::R) reader structure
105473    impl crate::Readable for OR {}
105474    ///`write(|w| ..)` method takes [or::W](or::W) writer structure
105475    impl crate::Writable for OR {}
105476    ///TIM16 option register 1
105477    pub mod or {
105478        ///Reader of register OR
105479        pub type R = crate::R<u32, super::OR>;
105480        ///Writer for register OR
105481        pub type W = crate::W<u32, super::OR>;
105482        ///Register OR `reset()`'s with value 0
105483        impl crate::ResetValue for super::OR {
105484            type Type = u32;
105485            #[inline(always)]
105486            fn reset_value() -> Self::Type {
105487                0
105488            }
105489        }
105490        ///Reader of field `TI1_RMP`
105491        pub type TI1_RMP_R = crate::R<u8, u8>;
105492        ///Write proxy for field `TI1_RMP`
105493        pub struct TI1_RMP_W<'a> {
105494            w: &'a mut W,
105495        }
105496        impl<'a> TI1_RMP_W<'a> {
105497            ///Writes raw bits to the field
105498            #[inline(always)]
105499            pub unsafe fn bits(self, value: u8) -> &'a mut W {
105500                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
105501                self.w
105502            }
105503        }
105504        impl R {
105505            ///Bits 0:1 - Input capture 1 remap
105506            #[inline(always)]
105507            pub fn ti1_rmp(&self) -> TI1_RMP_R {
105508                TI1_RMP_R::new((self.bits & 0x03) as u8)
105509            }
105510        }
105511        impl W {
105512            ///Bits 0:1 - Input capture 1 remap
105513            #[inline(always)]
105514            pub fn ti1_rmp(&mut self) -> TI1_RMP_W {
105515                TI1_RMP_W { w: self }
105516            }
105517        }
105518    }
105519    ///TIM17 option register 1
105520    ///
105521    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
105522    ///
105523    ///For information about available fields see [af1](af1) module
105524    pub type AF1 = crate::Reg<u32, _AF1>;
105525    #[allow(missing_docs)]
105526    #[doc(hidden)]
105527    pub struct _AF1;
105528    ///`read()` method returns [af1::R](af1::R) reader structure
105529    impl crate::Readable for AF1 {}
105530    ///`write(|w| ..)` method takes [af1::W](af1::W) writer structure
105531    impl crate::Writable for AF1 {}
105532    ///TIM17 option register 1
105533    pub mod af1 {
105534        ///Reader of register AF1
105535        pub type R = crate::R<u32, super::AF1>;
105536        ///Writer for register AF1
105537        pub type W = crate::W<u32, super::AF1>;
105538        ///Register AF1 `reset()`'s with value 0
105539        impl crate::ResetValue for super::AF1 {
105540            type Type = u32;
105541            #[inline(always)]
105542            fn reset_value() -> Self::Type {
105543                0
105544            }
105545        }
105546        ///Reader of field `BKINE`
105547        pub type BKINE_R = crate::R<bool, bool>;
105548        ///Write proxy for field `BKINE`
105549        pub struct BKINE_W<'a> {
105550            w: &'a mut W,
105551        }
105552        impl<'a> BKINE_W<'a> {
105553            ///Sets the field bit
105554            #[inline(always)]
105555            pub fn set_bit(self) -> &'a mut W {
105556                self.bit(true)
105557            }
105558            ///Clears the field bit
105559            #[inline(always)]
105560            pub fn clear_bit(self) -> &'a mut W {
105561                self.bit(false)
105562            }
105563            ///Writes raw bits to the field
105564            #[inline(always)]
105565            pub fn bit(self, value: bool) -> &'a mut W {
105566                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
105567                self.w
105568            }
105569        }
105570        ///Reader of field `BKCMP1E`
105571        pub type BKCMP1E_R = crate::R<bool, bool>;
105572        ///Write proxy for field `BKCMP1E`
105573        pub struct BKCMP1E_W<'a> {
105574            w: &'a mut W,
105575        }
105576        impl<'a> BKCMP1E_W<'a> {
105577            ///Sets the field bit
105578            #[inline(always)]
105579            pub fn set_bit(self) -> &'a mut W {
105580                self.bit(true)
105581            }
105582            ///Clears the field bit
105583            #[inline(always)]
105584            pub fn clear_bit(self) -> &'a mut W {
105585                self.bit(false)
105586            }
105587            ///Writes raw bits to the field
105588            #[inline(always)]
105589            pub fn bit(self, value: bool) -> &'a mut W {
105590                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
105591                self.w
105592            }
105593        }
105594        ///Reader of field `BKCMP2E`
105595        pub type BKCMP2E_R = crate::R<bool, bool>;
105596        ///Write proxy for field `BKCMP2E`
105597        pub struct BKCMP2E_W<'a> {
105598            w: &'a mut W,
105599        }
105600        impl<'a> BKCMP2E_W<'a> {
105601            ///Sets the field bit
105602            #[inline(always)]
105603            pub fn set_bit(self) -> &'a mut W {
105604                self.bit(true)
105605            }
105606            ///Clears the field bit
105607            #[inline(always)]
105608            pub fn clear_bit(self) -> &'a mut W {
105609                self.bit(false)
105610            }
105611            ///Writes raw bits to the field
105612            #[inline(always)]
105613            pub fn bit(self, value: bool) -> &'a mut W {
105614                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
105615                self.w
105616            }
105617        }
105618        ///Reader of field `BKINP`
105619        pub type BKINP_R = crate::R<bool, bool>;
105620        ///Write proxy for field `BKINP`
105621        pub struct BKINP_W<'a> {
105622            w: &'a mut W,
105623        }
105624        impl<'a> BKINP_W<'a> {
105625            ///Sets the field bit
105626            #[inline(always)]
105627            pub fn set_bit(self) -> &'a mut W {
105628                self.bit(true)
105629            }
105630            ///Clears the field bit
105631            #[inline(always)]
105632            pub fn clear_bit(self) -> &'a mut W {
105633                self.bit(false)
105634            }
105635            ///Writes raw bits to the field
105636            #[inline(always)]
105637            pub fn bit(self, value: bool) -> &'a mut W {
105638                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
105639                self.w
105640            }
105641        }
105642        ///Reader of field `BKCMP1P`
105643        pub type BKCMP1P_R = crate::R<bool, bool>;
105644        ///Write proxy for field `BKCMP1P`
105645        pub struct BKCMP1P_W<'a> {
105646            w: &'a mut W,
105647        }
105648        impl<'a> BKCMP1P_W<'a> {
105649            ///Sets the field bit
105650            #[inline(always)]
105651            pub fn set_bit(self) -> &'a mut W {
105652                self.bit(true)
105653            }
105654            ///Clears the field bit
105655            #[inline(always)]
105656            pub fn clear_bit(self) -> &'a mut W {
105657                self.bit(false)
105658            }
105659            ///Writes raw bits to the field
105660            #[inline(always)]
105661            pub fn bit(self, value: bool) -> &'a mut W {
105662                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
105663                self.w
105664            }
105665        }
105666        ///Reader of field `BKCMP2P`
105667        pub type BKCMP2P_R = crate::R<bool, bool>;
105668        ///Write proxy for field `BKCMP2P`
105669        pub struct BKCMP2P_W<'a> {
105670            w: &'a mut W,
105671        }
105672        impl<'a> BKCMP2P_W<'a> {
105673            ///Sets the field bit
105674            #[inline(always)]
105675            pub fn set_bit(self) -> &'a mut W {
105676                self.bit(true)
105677            }
105678            ///Clears the field bit
105679            #[inline(always)]
105680            pub fn clear_bit(self) -> &'a mut W {
105681                self.bit(false)
105682            }
105683            ///Writes raw bits to the field
105684            #[inline(always)]
105685            pub fn bit(self, value: bool) -> &'a mut W {
105686                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
105687                self.w
105688            }
105689        }
105690        impl R {
105691            ///Bit 0 - BRK BKIN input enable
105692            #[inline(always)]
105693            pub fn bkine(&self) -> BKINE_R {
105694                BKINE_R::new((self.bits & 0x01) != 0)
105695            }
105696            ///Bit 1 - BRK COMP1 enable
105697            #[inline(always)]
105698            pub fn bkcmp1e(&self) -> BKCMP1E_R {
105699                BKCMP1E_R::new(((self.bits >> 1) & 0x01) != 0)
105700            }
105701            ///Bit 2 - BRK COMP2 enable
105702            #[inline(always)]
105703            pub fn bkcmp2e(&self) -> BKCMP2E_R {
105704                BKCMP2E_R::new(((self.bits >> 2) & 0x01) != 0)
105705            }
105706            ///Bit 9 - BRK BKIN input polarity
105707            #[inline(always)]
105708            pub fn bkinp(&self) -> BKINP_R {
105709                BKINP_R::new(((self.bits >> 9) & 0x01) != 0)
105710            }
105711            ///Bit 10 - BRK COMP1 input polarity
105712            #[inline(always)]
105713            pub fn bkcmp1p(&self) -> BKCMP1P_R {
105714                BKCMP1P_R::new(((self.bits >> 10) & 0x01) != 0)
105715            }
105716            ///Bit 11 - BRK COMP2 input polarit
105717            #[inline(always)]
105718            pub fn bkcmp2p(&self) -> BKCMP2P_R {
105719                BKCMP2P_R::new(((self.bits >> 11) & 0x01) != 0)
105720            }
105721        }
105722        impl W {
105723            ///Bit 0 - BRK BKIN input enable
105724            #[inline(always)]
105725            pub fn bkine(&mut self) -> BKINE_W {
105726                BKINE_W { w: self }
105727            }
105728            ///Bit 1 - BRK COMP1 enable
105729            #[inline(always)]
105730            pub fn bkcmp1e(&mut self) -> BKCMP1E_W {
105731                BKCMP1E_W { w: self }
105732            }
105733            ///Bit 2 - BRK COMP2 enable
105734            #[inline(always)]
105735            pub fn bkcmp2e(&mut self) -> BKCMP2E_W {
105736                BKCMP2E_W { w: self }
105737            }
105738            ///Bit 9 - BRK BKIN input polarity
105739            #[inline(always)]
105740            pub fn bkinp(&mut self) -> BKINP_W {
105741                BKINP_W { w: self }
105742            }
105743            ///Bit 10 - BRK COMP1 input polarity
105744            #[inline(always)]
105745            pub fn bkcmp1p(&mut self) -> BKCMP1P_W {
105746                BKCMP1P_W { w: self }
105747            }
105748            ///Bit 11 - BRK COMP2 input polarit
105749            #[inline(always)]
105750            pub fn bkcmp2p(&mut self) -> BKCMP2P_W {
105751                BKCMP2P_W { w: self }
105752            }
105753        }
105754    }
105755}
105756///General purpose timers
105757pub struct TIM17 {
105758    _marker: PhantomData<*const ()>,
105759}
105760unsafe impl Send for TIM17 {}
105761impl TIM17 {
105762    ///Returns a pointer to the register block
105763    #[inline(always)]
105764    pub const fn ptr() -> *const tim17::RegisterBlock {
105765        0x4001_4800 as *const _
105766    }
105767}
105768impl Deref for TIM17 {
105769    type Target = tim17::RegisterBlock;
105770    #[inline(always)]
105771    fn deref(&self) -> &Self::Target {
105772        unsafe { &*TIM17::ptr() }
105773    }
105774}
105775///General purpose timers
105776pub mod tim17 {
105777    ///Register block
105778    #[repr(C)]
105779    pub struct RegisterBlock {
105780        ///0x00 - control register 1
105781        pub cr1: CR1,
105782        ///0x04 - control register 2
105783        pub cr2: CR2,
105784        ///0x08 - DMA/Interrupt enable register
105785        pub dier: DIER,
105786        ///0x0c - status register
105787        pub sr: SR,
105788        ///0x10 - event generation register
105789        pub egr: EGR,
105790        ///0x14 - capture/compare mode register (output mode)
105791        pub ccmr1_output: CCMR1_OUTPUT,
105792        ///0x18 - capture/compare mode register 1 (input mode)
105793        pub ccmr1_input: CCMR1_INPUT,
105794        ///0x1c - capture/compare enable register
105795        pub ccer: CCER,
105796        ///0x20 - counter
105797        pub cnt: CNT,
105798        ///0x24 - prescaler
105799        pub psc: PSC,
105800        ///0x28 - auto-reload register
105801        pub arr: ARR,
105802        ///0x2c - repetition counter register
105803        pub rcr: RCR,
105804        ///0x30 - capture/compare register 1
105805        pub ccr1: CCR1,
105806        ///0x34 - break and dead-time register
105807        pub bdtr: BDTR,
105808        ///0x38 - DMA control register
105809        pub dcr: DCR,
105810        ///0x3c - DMA address for full transfer
105811        pub dmar: DMAR,
105812        ///0x40 - TIM16 option register 1
105813        pub or: OR,
105814        ///0x44 - TIM17 option register 1
105815        pub af1: AF1,
105816    }
105817    ///control register 1
105818    ///
105819    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
105820    ///
105821    ///For information about available fields see [cr1](cr1) module
105822    pub type CR1 = crate::Reg<u32, _CR1>;
105823    #[allow(missing_docs)]
105824    #[doc(hidden)]
105825    pub struct _CR1;
105826    ///`read()` method returns [cr1::R](cr1::R) reader structure
105827    impl crate::Readable for CR1 {}
105828    ///`write(|w| ..)` method takes [cr1::W](cr1::W) writer structure
105829    impl crate::Writable for CR1 {}
105830    ///control register 1
105831    pub mod cr1 {
105832        ///Reader of register CR1
105833        pub type R = crate::R<u32, super::CR1>;
105834        ///Writer for register CR1
105835        pub type W = crate::W<u32, super::CR1>;
105836        ///Register CR1 `reset()`'s with value 0
105837        impl crate::ResetValue for super::CR1 {
105838            type Type = u32;
105839            #[inline(always)]
105840            fn reset_value() -> Self::Type {
105841                0
105842            }
105843        }
105844        ///Reader of field `CEN`
105845        pub type CEN_R = crate::R<bool, bool>;
105846        ///Write proxy for field `CEN`
105847        pub struct CEN_W<'a> {
105848            w: &'a mut W,
105849        }
105850        impl<'a> CEN_W<'a> {
105851            ///Sets the field bit
105852            #[inline(always)]
105853            pub fn set_bit(self) -> &'a mut W {
105854                self.bit(true)
105855            }
105856            ///Clears the field bit
105857            #[inline(always)]
105858            pub fn clear_bit(self) -> &'a mut W {
105859                self.bit(false)
105860            }
105861            ///Writes raw bits to the field
105862            #[inline(always)]
105863            pub fn bit(self, value: bool) -> &'a mut W {
105864                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
105865                self.w
105866            }
105867        }
105868        ///Reader of field `UDIS`
105869        pub type UDIS_R = crate::R<bool, bool>;
105870        ///Write proxy for field `UDIS`
105871        pub struct UDIS_W<'a> {
105872            w: &'a mut W,
105873        }
105874        impl<'a> UDIS_W<'a> {
105875            ///Sets the field bit
105876            #[inline(always)]
105877            pub fn set_bit(self) -> &'a mut W {
105878                self.bit(true)
105879            }
105880            ///Clears the field bit
105881            #[inline(always)]
105882            pub fn clear_bit(self) -> &'a mut W {
105883                self.bit(false)
105884            }
105885            ///Writes raw bits to the field
105886            #[inline(always)]
105887            pub fn bit(self, value: bool) -> &'a mut W {
105888                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
105889                self.w
105890            }
105891        }
105892        ///Reader of field `URS`
105893        pub type URS_R = crate::R<bool, bool>;
105894        ///Write proxy for field `URS`
105895        pub struct URS_W<'a> {
105896            w: &'a mut W,
105897        }
105898        impl<'a> URS_W<'a> {
105899            ///Sets the field bit
105900            #[inline(always)]
105901            pub fn set_bit(self) -> &'a mut W {
105902                self.bit(true)
105903            }
105904            ///Clears the field bit
105905            #[inline(always)]
105906            pub fn clear_bit(self) -> &'a mut W {
105907                self.bit(false)
105908            }
105909            ///Writes raw bits to the field
105910            #[inline(always)]
105911            pub fn bit(self, value: bool) -> &'a mut W {
105912                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
105913                self.w
105914            }
105915        }
105916        ///Reader of field `OPM`
105917        pub type OPM_R = crate::R<bool, bool>;
105918        ///Write proxy for field `OPM`
105919        pub struct OPM_W<'a> {
105920            w: &'a mut W,
105921        }
105922        impl<'a> OPM_W<'a> {
105923            ///Sets the field bit
105924            #[inline(always)]
105925            pub fn set_bit(self) -> &'a mut W {
105926                self.bit(true)
105927            }
105928            ///Clears the field bit
105929            #[inline(always)]
105930            pub fn clear_bit(self) -> &'a mut W {
105931                self.bit(false)
105932            }
105933            ///Writes raw bits to the field
105934            #[inline(always)]
105935            pub fn bit(self, value: bool) -> &'a mut W {
105936                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
105937                self.w
105938            }
105939        }
105940        ///Reader of field `ARPE`
105941        pub type ARPE_R = crate::R<bool, bool>;
105942        ///Write proxy for field `ARPE`
105943        pub struct ARPE_W<'a> {
105944            w: &'a mut W,
105945        }
105946        impl<'a> ARPE_W<'a> {
105947            ///Sets the field bit
105948            #[inline(always)]
105949            pub fn set_bit(self) -> &'a mut W {
105950                self.bit(true)
105951            }
105952            ///Clears the field bit
105953            #[inline(always)]
105954            pub fn clear_bit(self) -> &'a mut W {
105955                self.bit(false)
105956            }
105957            ///Writes raw bits to the field
105958            #[inline(always)]
105959            pub fn bit(self, value: bool) -> &'a mut W {
105960                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
105961                self.w
105962            }
105963        }
105964        ///Reader of field `CKD`
105965        pub type CKD_R = crate::R<u8, u8>;
105966        ///Write proxy for field `CKD`
105967        pub struct CKD_W<'a> {
105968            w: &'a mut W,
105969        }
105970        impl<'a> CKD_W<'a> {
105971            ///Writes raw bits to the field
105972            #[inline(always)]
105973            pub unsafe fn bits(self, value: u8) -> &'a mut W {
105974                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
105975                self.w
105976            }
105977        }
105978        ///Reader of field `UIFREMAP`
105979        pub type UIFREMAP_R = crate::R<bool, bool>;
105980        ///Write proxy for field `UIFREMAP`
105981        pub struct UIFREMAP_W<'a> {
105982            w: &'a mut W,
105983        }
105984        impl<'a> UIFREMAP_W<'a> {
105985            ///Sets the field bit
105986            #[inline(always)]
105987            pub fn set_bit(self) -> &'a mut W {
105988                self.bit(true)
105989            }
105990            ///Clears the field bit
105991            #[inline(always)]
105992            pub fn clear_bit(self) -> &'a mut W {
105993                self.bit(false)
105994            }
105995            ///Writes raw bits to the field
105996            #[inline(always)]
105997            pub fn bit(self, value: bool) -> &'a mut W {
105998                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
105999                self.w
106000            }
106001        }
106002        impl R {
106003            ///Bit 0 - Counter enable
106004            #[inline(always)]
106005            pub fn cen(&self) -> CEN_R {
106006                CEN_R::new((self.bits & 0x01) != 0)
106007            }
106008            ///Bit 1 - Update disable
106009            #[inline(always)]
106010            pub fn udis(&self) -> UDIS_R {
106011                UDIS_R::new(((self.bits >> 1) & 0x01) != 0)
106012            }
106013            ///Bit 2 - Update request source
106014            #[inline(always)]
106015            pub fn urs(&self) -> URS_R {
106016                URS_R::new(((self.bits >> 2) & 0x01) != 0)
106017            }
106018            ///Bit 3 - One-pulse mode
106019            #[inline(always)]
106020            pub fn opm(&self) -> OPM_R {
106021                OPM_R::new(((self.bits >> 3) & 0x01) != 0)
106022            }
106023            ///Bit 7 - Auto-reload preload enable
106024            #[inline(always)]
106025            pub fn arpe(&self) -> ARPE_R {
106026                ARPE_R::new(((self.bits >> 7) & 0x01) != 0)
106027            }
106028            ///Bits 8:9 - Clock division
106029            #[inline(always)]
106030            pub fn ckd(&self) -> CKD_R {
106031                CKD_R::new(((self.bits >> 8) & 0x03) as u8)
106032            }
106033            ///Bit 11 - UIF status bit remapping
106034            #[inline(always)]
106035            pub fn uifremap(&self) -> UIFREMAP_R {
106036                UIFREMAP_R::new(((self.bits >> 11) & 0x01) != 0)
106037            }
106038        }
106039        impl W {
106040            ///Bit 0 - Counter enable
106041            #[inline(always)]
106042            pub fn cen(&mut self) -> CEN_W {
106043                CEN_W { w: self }
106044            }
106045            ///Bit 1 - Update disable
106046            #[inline(always)]
106047            pub fn udis(&mut self) -> UDIS_W {
106048                UDIS_W { w: self }
106049            }
106050            ///Bit 2 - Update request source
106051            #[inline(always)]
106052            pub fn urs(&mut self) -> URS_W {
106053                URS_W { w: self }
106054            }
106055            ///Bit 3 - One-pulse mode
106056            #[inline(always)]
106057            pub fn opm(&mut self) -> OPM_W {
106058                OPM_W { w: self }
106059            }
106060            ///Bit 7 - Auto-reload preload enable
106061            #[inline(always)]
106062            pub fn arpe(&mut self) -> ARPE_W {
106063                ARPE_W { w: self }
106064            }
106065            ///Bits 8:9 - Clock division
106066            #[inline(always)]
106067            pub fn ckd(&mut self) -> CKD_W {
106068                CKD_W { w: self }
106069            }
106070            ///Bit 11 - UIF status bit remapping
106071            #[inline(always)]
106072            pub fn uifremap(&mut self) -> UIFREMAP_W {
106073                UIFREMAP_W { w: self }
106074            }
106075        }
106076    }
106077    ///control register 2
106078    ///
106079    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
106080    ///
106081    ///For information about available fields see [cr2](cr2) module
106082    pub type CR2 = crate::Reg<u32, _CR2>;
106083    #[allow(missing_docs)]
106084    #[doc(hidden)]
106085    pub struct _CR2;
106086    ///`read()` method returns [cr2::R](cr2::R) reader structure
106087    impl crate::Readable for CR2 {}
106088    ///`write(|w| ..)` method takes [cr2::W](cr2::W) writer structure
106089    impl crate::Writable for CR2 {}
106090    ///control register 2
106091    pub mod cr2 {
106092        ///Reader of register CR2
106093        pub type R = crate::R<u32, super::CR2>;
106094        ///Writer for register CR2
106095        pub type W = crate::W<u32, super::CR2>;
106096        ///Register CR2 `reset()`'s with value 0
106097        impl crate::ResetValue for super::CR2 {
106098            type Type = u32;
106099            #[inline(always)]
106100            fn reset_value() -> Self::Type {
106101                0
106102            }
106103        }
106104        ///Reader of field `OIS1N`
106105        pub type OIS1N_R = crate::R<bool, bool>;
106106        ///Write proxy for field `OIS1N`
106107        pub struct OIS1N_W<'a> {
106108            w: &'a mut W,
106109        }
106110        impl<'a> OIS1N_W<'a> {
106111            ///Sets the field bit
106112            #[inline(always)]
106113            pub fn set_bit(self) -> &'a mut W {
106114                self.bit(true)
106115            }
106116            ///Clears the field bit
106117            #[inline(always)]
106118            pub fn clear_bit(self) -> &'a mut W {
106119                self.bit(false)
106120            }
106121            ///Writes raw bits to the field
106122            #[inline(always)]
106123            pub fn bit(self, value: bool) -> &'a mut W {
106124                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
106125                self.w
106126            }
106127        }
106128        ///Reader of field `OIS1`
106129        pub type OIS1_R = crate::R<bool, bool>;
106130        ///Write proxy for field `OIS1`
106131        pub struct OIS1_W<'a> {
106132            w: &'a mut W,
106133        }
106134        impl<'a> OIS1_W<'a> {
106135            ///Sets the field bit
106136            #[inline(always)]
106137            pub fn set_bit(self) -> &'a mut W {
106138                self.bit(true)
106139            }
106140            ///Clears the field bit
106141            #[inline(always)]
106142            pub fn clear_bit(self) -> &'a mut W {
106143                self.bit(false)
106144            }
106145            ///Writes raw bits to the field
106146            #[inline(always)]
106147            pub fn bit(self, value: bool) -> &'a mut W {
106148                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
106149                self.w
106150            }
106151        }
106152        ///Reader of field `CCDS`
106153        pub type CCDS_R = crate::R<bool, bool>;
106154        ///Write proxy for field `CCDS`
106155        pub struct CCDS_W<'a> {
106156            w: &'a mut W,
106157        }
106158        impl<'a> CCDS_W<'a> {
106159            ///Sets the field bit
106160            #[inline(always)]
106161            pub fn set_bit(self) -> &'a mut W {
106162                self.bit(true)
106163            }
106164            ///Clears the field bit
106165            #[inline(always)]
106166            pub fn clear_bit(self) -> &'a mut W {
106167                self.bit(false)
106168            }
106169            ///Writes raw bits to the field
106170            #[inline(always)]
106171            pub fn bit(self, value: bool) -> &'a mut W {
106172                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
106173                self.w
106174            }
106175        }
106176        ///Reader of field `CCUS`
106177        pub type CCUS_R = crate::R<bool, bool>;
106178        ///Write proxy for field `CCUS`
106179        pub struct CCUS_W<'a> {
106180            w: &'a mut W,
106181        }
106182        impl<'a> CCUS_W<'a> {
106183            ///Sets the field bit
106184            #[inline(always)]
106185            pub fn set_bit(self) -> &'a mut W {
106186                self.bit(true)
106187            }
106188            ///Clears the field bit
106189            #[inline(always)]
106190            pub fn clear_bit(self) -> &'a mut W {
106191                self.bit(false)
106192            }
106193            ///Writes raw bits to the field
106194            #[inline(always)]
106195            pub fn bit(self, value: bool) -> &'a mut W {
106196                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
106197                self.w
106198            }
106199        }
106200        ///Reader of field `CCPC`
106201        pub type CCPC_R = crate::R<bool, bool>;
106202        ///Write proxy for field `CCPC`
106203        pub struct CCPC_W<'a> {
106204            w: &'a mut W,
106205        }
106206        impl<'a> CCPC_W<'a> {
106207            ///Sets the field bit
106208            #[inline(always)]
106209            pub fn set_bit(self) -> &'a mut W {
106210                self.bit(true)
106211            }
106212            ///Clears the field bit
106213            #[inline(always)]
106214            pub fn clear_bit(self) -> &'a mut W {
106215                self.bit(false)
106216            }
106217            ///Writes raw bits to the field
106218            #[inline(always)]
106219            pub fn bit(self, value: bool) -> &'a mut W {
106220                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
106221                self.w
106222            }
106223        }
106224        impl R {
106225            ///Bit 9 - Output Idle state 1
106226            #[inline(always)]
106227            pub fn ois1n(&self) -> OIS1N_R {
106228                OIS1N_R::new(((self.bits >> 9) & 0x01) != 0)
106229            }
106230            ///Bit 8 - Output Idle state 1
106231            #[inline(always)]
106232            pub fn ois1(&self) -> OIS1_R {
106233                OIS1_R::new(((self.bits >> 8) & 0x01) != 0)
106234            }
106235            ///Bit 3 - Capture/compare DMA selection
106236            #[inline(always)]
106237            pub fn ccds(&self) -> CCDS_R {
106238                CCDS_R::new(((self.bits >> 3) & 0x01) != 0)
106239            }
106240            ///Bit 2 - Capture/compare control update selection
106241            #[inline(always)]
106242            pub fn ccus(&self) -> CCUS_R {
106243                CCUS_R::new(((self.bits >> 2) & 0x01) != 0)
106244            }
106245            ///Bit 0 - Capture/compare preloaded control
106246            #[inline(always)]
106247            pub fn ccpc(&self) -> CCPC_R {
106248                CCPC_R::new((self.bits & 0x01) != 0)
106249            }
106250        }
106251        impl W {
106252            ///Bit 9 - Output Idle state 1
106253            #[inline(always)]
106254            pub fn ois1n(&mut self) -> OIS1N_W {
106255                OIS1N_W { w: self }
106256            }
106257            ///Bit 8 - Output Idle state 1
106258            #[inline(always)]
106259            pub fn ois1(&mut self) -> OIS1_W {
106260                OIS1_W { w: self }
106261            }
106262            ///Bit 3 - Capture/compare DMA selection
106263            #[inline(always)]
106264            pub fn ccds(&mut self) -> CCDS_W {
106265                CCDS_W { w: self }
106266            }
106267            ///Bit 2 - Capture/compare control update selection
106268            #[inline(always)]
106269            pub fn ccus(&mut self) -> CCUS_W {
106270                CCUS_W { w: self }
106271            }
106272            ///Bit 0 - Capture/compare preloaded control
106273            #[inline(always)]
106274            pub fn ccpc(&mut self) -> CCPC_W {
106275                CCPC_W { w: self }
106276            }
106277        }
106278    }
106279    ///DMA/Interrupt enable register
106280    ///
106281    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
106282    ///
106283    ///For information about available fields see [dier](dier) module
106284    pub type DIER = crate::Reg<u32, _DIER>;
106285    #[allow(missing_docs)]
106286    #[doc(hidden)]
106287    pub struct _DIER;
106288    ///`read()` method returns [dier::R](dier::R) reader structure
106289    impl crate::Readable for DIER {}
106290    ///`write(|w| ..)` method takes [dier::W](dier::W) writer structure
106291    impl crate::Writable for DIER {}
106292    ///DMA/Interrupt enable register
106293    pub mod dier {
106294        ///Reader of register DIER
106295        pub type R = crate::R<u32, super::DIER>;
106296        ///Writer for register DIER
106297        pub type W = crate::W<u32, super::DIER>;
106298        ///Register DIER `reset()`'s with value 0
106299        impl crate::ResetValue for super::DIER {
106300            type Type = u32;
106301            #[inline(always)]
106302            fn reset_value() -> Self::Type {
106303                0
106304            }
106305        }
106306        ///Reader of field `UIE`
106307        pub type UIE_R = crate::R<bool, bool>;
106308        ///Write proxy for field `UIE`
106309        pub struct UIE_W<'a> {
106310            w: &'a mut W,
106311        }
106312        impl<'a> UIE_W<'a> {
106313            ///Sets the field bit
106314            #[inline(always)]
106315            pub fn set_bit(self) -> &'a mut W {
106316                self.bit(true)
106317            }
106318            ///Clears the field bit
106319            #[inline(always)]
106320            pub fn clear_bit(self) -> &'a mut W {
106321                self.bit(false)
106322            }
106323            ///Writes raw bits to the field
106324            #[inline(always)]
106325            pub fn bit(self, value: bool) -> &'a mut W {
106326                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
106327                self.w
106328            }
106329        }
106330        ///Reader of field `CC1IE`
106331        pub type CC1IE_R = crate::R<bool, bool>;
106332        ///Write proxy for field `CC1IE`
106333        pub struct CC1IE_W<'a> {
106334            w: &'a mut W,
106335        }
106336        impl<'a> CC1IE_W<'a> {
106337            ///Sets the field bit
106338            #[inline(always)]
106339            pub fn set_bit(self) -> &'a mut W {
106340                self.bit(true)
106341            }
106342            ///Clears the field bit
106343            #[inline(always)]
106344            pub fn clear_bit(self) -> &'a mut W {
106345                self.bit(false)
106346            }
106347            ///Writes raw bits to the field
106348            #[inline(always)]
106349            pub fn bit(self, value: bool) -> &'a mut W {
106350                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
106351                self.w
106352            }
106353        }
106354        ///Reader of field `COMIE`
106355        pub type COMIE_R = crate::R<bool, bool>;
106356        ///Write proxy for field `COMIE`
106357        pub struct COMIE_W<'a> {
106358            w: &'a mut W,
106359        }
106360        impl<'a> COMIE_W<'a> {
106361            ///Sets the field bit
106362            #[inline(always)]
106363            pub fn set_bit(self) -> &'a mut W {
106364                self.bit(true)
106365            }
106366            ///Clears the field bit
106367            #[inline(always)]
106368            pub fn clear_bit(self) -> &'a mut W {
106369                self.bit(false)
106370            }
106371            ///Writes raw bits to the field
106372            #[inline(always)]
106373            pub fn bit(self, value: bool) -> &'a mut W {
106374                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
106375                self.w
106376            }
106377        }
106378        ///Reader of field `BIE`
106379        pub type BIE_R = crate::R<bool, bool>;
106380        ///Write proxy for field `BIE`
106381        pub struct BIE_W<'a> {
106382            w: &'a mut W,
106383        }
106384        impl<'a> BIE_W<'a> {
106385            ///Sets the field bit
106386            #[inline(always)]
106387            pub fn set_bit(self) -> &'a mut W {
106388                self.bit(true)
106389            }
106390            ///Clears the field bit
106391            #[inline(always)]
106392            pub fn clear_bit(self) -> &'a mut W {
106393                self.bit(false)
106394            }
106395            ///Writes raw bits to the field
106396            #[inline(always)]
106397            pub fn bit(self, value: bool) -> &'a mut W {
106398                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
106399                self.w
106400            }
106401        }
106402        ///Reader of field `UDE`
106403        pub type UDE_R = crate::R<bool, bool>;
106404        ///Write proxy for field `UDE`
106405        pub struct UDE_W<'a> {
106406            w: &'a mut W,
106407        }
106408        impl<'a> UDE_W<'a> {
106409            ///Sets the field bit
106410            #[inline(always)]
106411            pub fn set_bit(self) -> &'a mut W {
106412                self.bit(true)
106413            }
106414            ///Clears the field bit
106415            #[inline(always)]
106416            pub fn clear_bit(self) -> &'a mut W {
106417                self.bit(false)
106418            }
106419            ///Writes raw bits to the field
106420            #[inline(always)]
106421            pub fn bit(self, value: bool) -> &'a mut W {
106422                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
106423                self.w
106424            }
106425        }
106426        ///Reader of field `CC1DE`
106427        pub type CC1DE_R = crate::R<u8, u8>;
106428        ///Write proxy for field `CC1DE`
106429        pub struct CC1DE_W<'a> {
106430            w: &'a mut W,
106431        }
106432        impl<'a> CC1DE_W<'a> {
106433            ///Writes raw bits to the field
106434            #[inline(always)]
106435            pub unsafe fn bits(self, value: u8) -> &'a mut W {
106436                self.w.bits = (self.w.bits & !(0x03 << 9)) | (((value as u32) & 0x03) << 9);
106437                self.w
106438            }
106439        }
106440        impl R {
106441            ///Bit 0 - Update interrupt enable.
106442            #[inline(always)]
106443            pub fn uie(&self) -> UIE_R {
106444                UIE_R::new((self.bits & 0x01) != 0)
106445            }
106446            ///Bit 1 - Capture/Compare 1 interrupt enable.
106447            #[inline(always)]
106448            pub fn cc1ie(&self) -> CC1IE_R {
106449                CC1IE_R::new(((self.bits >> 1) & 0x01) != 0)
106450            }
106451            ///Bit 5 - COM interrupt enable.
106452            #[inline(always)]
106453            pub fn comie(&self) -> COMIE_R {
106454                COMIE_R::new(((self.bits >> 5) & 0x01) != 0)
106455            }
106456            ///Bit 8 - Break interrupt enable.
106457            #[inline(always)]
106458            pub fn bie(&self) -> BIE_R {
106459                BIE_R::new(((self.bits >> 8) & 0x01) != 0)
106460            }
106461            ///Bit 8 - Update DMA request enable.
106462            #[inline(always)]
106463            pub fn ude(&self) -> UDE_R {
106464                UDE_R::new(((self.bits >> 8) & 0x01) != 0)
106465            }
106466            ///Bits 9:10 - Capture/Compare 1 DMA request enable.
106467            #[inline(always)]
106468            pub fn cc1de(&self) -> CC1DE_R {
106469                CC1DE_R::new(((self.bits >> 9) & 0x03) as u8)
106470            }
106471        }
106472        impl W {
106473            ///Bit 0 - Update interrupt enable.
106474            #[inline(always)]
106475            pub fn uie(&mut self) -> UIE_W {
106476                UIE_W { w: self }
106477            }
106478            ///Bit 1 - Capture/Compare 1 interrupt enable.
106479            #[inline(always)]
106480            pub fn cc1ie(&mut self) -> CC1IE_W {
106481                CC1IE_W { w: self }
106482            }
106483            ///Bit 5 - COM interrupt enable.
106484            #[inline(always)]
106485            pub fn comie(&mut self) -> COMIE_W {
106486                COMIE_W { w: self }
106487            }
106488            ///Bit 8 - Break interrupt enable.
106489            #[inline(always)]
106490            pub fn bie(&mut self) -> BIE_W {
106491                BIE_W { w: self }
106492            }
106493            ///Bit 8 - Update DMA request enable.
106494            #[inline(always)]
106495            pub fn ude(&mut self) -> UDE_W {
106496                UDE_W { w: self }
106497            }
106498            ///Bits 9:10 - Capture/Compare 1 DMA request enable.
106499            #[inline(always)]
106500            pub fn cc1de(&mut self) -> CC1DE_W {
106501                CC1DE_W { w: self }
106502            }
106503        }
106504    }
106505    ///status register
106506    ///
106507    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
106508    ///
106509    ///For information about available fields see [sr](sr) module
106510    pub type SR = crate::Reg<u32, _SR>;
106511    #[allow(missing_docs)]
106512    #[doc(hidden)]
106513    pub struct _SR;
106514    ///`read()` method returns [sr::R](sr::R) reader structure
106515    impl crate::Readable for SR {}
106516    ///`write(|w| ..)` method takes [sr::W](sr::W) writer structure
106517    impl crate::Writable for SR {}
106518    ///status register
106519    pub mod sr {
106520        ///Reader of register SR
106521        pub type R = crate::R<u32, super::SR>;
106522        ///Writer for register SR
106523        pub type W = crate::W<u32, super::SR>;
106524        ///Register SR `reset()`'s with value 0
106525        impl crate::ResetValue for super::SR {
106526            type Type = u32;
106527            #[inline(always)]
106528            fn reset_value() -> Self::Type {
106529                0
106530            }
106531        }
106532        ///Reader of field `CC1OF`
106533        pub type CC1OF_R = crate::R<bool, bool>;
106534        ///Write proxy for field `CC1OF`
106535        pub struct CC1OF_W<'a> {
106536            w: &'a mut W,
106537        }
106538        impl<'a> CC1OF_W<'a> {
106539            ///Sets the field bit
106540            #[inline(always)]
106541            pub fn set_bit(self) -> &'a mut W {
106542                self.bit(true)
106543            }
106544            ///Clears the field bit
106545            #[inline(always)]
106546            pub fn clear_bit(self) -> &'a mut W {
106547                self.bit(false)
106548            }
106549            ///Writes raw bits to the field
106550            #[inline(always)]
106551            pub fn bit(self, value: bool) -> &'a mut W {
106552                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
106553                self.w
106554            }
106555        }
106556        ///Reader of field `BIF`
106557        pub type BIF_R = crate::R<bool, bool>;
106558        ///Write proxy for field `BIF`
106559        pub struct BIF_W<'a> {
106560            w: &'a mut W,
106561        }
106562        impl<'a> BIF_W<'a> {
106563            ///Sets the field bit
106564            #[inline(always)]
106565            pub fn set_bit(self) -> &'a mut W {
106566                self.bit(true)
106567            }
106568            ///Clears the field bit
106569            #[inline(always)]
106570            pub fn clear_bit(self) -> &'a mut W {
106571                self.bit(false)
106572            }
106573            ///Writes raw bits to the field
106574            #[inline(always)]
106575            pub fn bit(self, value: bool) -> &'a mut W {
106576                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
106577                self.w
106578            }
106579        }
106580        ///Reader of field `TIF`
106581        pub type TIF_R = crate::R<bool, bool>;
106582        ///Write proxy for field `TIF`
106583        pub struct TIF_W<'a> {
106584            w: &'a mut W,
106585        }
106586        impl<'a> TIF_W<'a> {
106587            ///Sets the field bit
106588            #[inline(always)]
106589            pub fn set_bit(self) -> &'a mut W {
106590                self.bit(true)
106591            }
106592            ///Clears the field bit
106593            #[inline(always)]
106594            pub fn clear_bit(self) -> &'a mut W {
106595                self.bit(false)
106596            }
106597            ///Writes raw bits to the field
106598            #[inline(always)]
106599            pub fn bit(self, value: bool) -> &'a mut W {
106600                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
106601                self.w
106602            }
106603        }
106604        ///Reader of field `COMIF`
106605        pub type COMIF_R = crate::R<bool, bool>;
106606        ///Write proxy for field `COMIF`
106607        pub struct COMIF_W<'a> {
106608            w: &'a mut W,
106609        }
106610        impl<'a> COMIF_W<'a> {
106611            ///Sets the field bit
106612            #[inline(always)]
106613            pub fn set_bit(self) -> &'a mut W {
106614                self.bit(true)
106615            }
106616            ///Clears the field bit
106617            #[inline(always)]
106618            pub fn clear_bit(self) -> &'a mut W {
106619                self.bit(false)
106620            }
106621            ///Writes raw bits to the field
106622            #[inline(always)]
106623            pub fn bit(self, value: bool) -> &'a mut W {
106624                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
106625                self.w
106626            }
106627        }
106628        ///Reader of field `CC1IF`
106629        pub type CC1IF_R = crate::R<bool, bool>;
106630        ///Write proxy for field `CC1IF`
106631        pub struct CC1IF_W<'a> {
106632            w: &'a mut W,
106633        }
106634        impl<'a> CC1IF_W<'a> {
106635            ///Sets the field bit
106636            #[inline(always)]
106637            pub fn set_bit(self) -> &'a mut W {
106638                self.bit(true)
106639            }
106640            ///Clears the field bit
106641            #[inline(always)]
106642            pub fn clear_bit(self) -> &'a mut W {
106643                self.bit(false)
106644            }
106645            ///Writes raw bits to the field
106646            #[inline(always)]
106647            pub fn bit(self, value: bool) -> &'a mut W {
106648                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
106649                self.w
106650            }
106651        }
106652        ///Reader of field `UIF`
106653        pub type UIF_R = crate::R<bool, bool>;
106654        ///Write proxy for field `UIF`
106655        pub struct UIF_W<'a> {
106656            w: &'a mut W,
106657        }
106658        impl<'a> UIF_W<'a> {
106659            ///Sets the field bit
106660            #[inline(always)]
106661            pub fn set_bit(self) -> &'a mut W {
106662                self.bit(true)
106663            }
106664            ///Clears the field bit
106665            #[inline(always)]
106666            pub fn clear_bit(self) -> &'a mut W {
106667                self.bit(false)
106668            }
106669            ///Writes raw bits to the field
106670            #[inline(always)]
106671            pub fn bit(self, value: bool) -> &'a mut W {
106672                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
106673                self.w
106674            }
106675        }
106676        impl R {
106677            ///Bit 9 - Capture/Compare 1 overcapture flag
106678            #[inline(always)]
106679            pub fn cc1of(&self) -> CC1OF_R {
106680                CC1OF_R::new(((self.bits >> 9) & 0x01) != 0)
106681            }
106682            ///Bit 7 - Break interrupt flag
106683            #[inline(always)]
106684            pub fn bif(&self) -> BIF_R {
106685                BIF_R::new(((self.bits >> 7) & 0x01) != 0)
106686            }
106687            ///Bit 6 - Trigger interrupt flag
106688            #[inline(always)]
106689            pub fn tif(&self) -> TIF_R {
106690                TIF_R::new(((self.bits >> 6) & 0x01) != 0)
106691            }
106692            ///Bit 5 - COM interrupt flag
106693            #[inline(always)]
106694            pub fn comif(&self) -> COMIF_R {
106695                COMIF_R::new(((self.bits >> 5) & 0x01) != 0)
106696            }
106697            ///Bit 1 - Capture/compare 1 interrupt flag
106698            #[inline(always)]
106699            pub fn cc1if(&self) -> CC1IF_R {
106700                CC1IF_R::new(((self.bits >> 1) & 0x01) != 0)
106701            }
106702            ///Bit 0 - Update interrupt flag
106703            #[inline(always)]
106704            pub fn uif(&self) -> UIF_R {
106705                UIF_R::new((self.bits & 0x01) != 0)
106706            }
106707        }
106708        impl W {
106709            ///Bit 9 - Capture/Compare 1 overcapture flag
106710            #[inline(always)]
106711            pub fn cc1of(&mut self) -> CC1OF_W {
106712                CC1OF_W { w: self }
106713            }
106714            ///Bit 7 - Break interrupt flag
106715            #[inline(always)]
106716            pub fn bif(&mut self) -> BIF_W {
106717                BIF_W { w: self }
106718            }
106719            ///Bit 6 - Trigger interrupt flag
106720            #[inline(always)]
106721            pub fn tif(&mut self) -> TIF_W {
106722                TIF_W { w: self }
106723            }
106724            ///Bit 5 - COM interrupt flag
106725            #[inline(always)]
106726            pub fn comif(&mut self) -> COMIF_W {
106727                COMIF_W { w: self }
106728            }
106729            ///Bit 1 - Capture/compare 1 interrupt flag
106730            #[inline(always)]
106731            pub fn cc1if(&mut self) -> CC1IF_W {
106732                CC1IF_W { w: self }
106733            }
106734            ///Bit 0 - Update interrupt flag
106735            #[inline(always)]
106736            pub fn uif(&mut self) -> UIF_W {
106737                UIF_W { w: self }
106738            }
106739        }
106740    }
106741    ///event generation register
106742    ///
106743    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
106744    ///
106745    ///For information about available fields see [egr](egr) module
106746    pub type EGR = crate::Reg<u32, _EGR>;
106747    #[allow(missing_docs)]
106748    #[doc(hidden)]
106749    pub struct _EGR;
106750    ///`write(|w| ..)` method takes [egr::W](egr::W) writer structure
106751    impl crate::Writable for EGR {}
106752    ///event generation register
106753    pub mod egr {
106754        ///Writer for register EGR
106755        pub type W = crate::W<u32, super::EGR>;
106756        ///Register EGR `reset()`'s with value 0
106757        impl crate::ResetValue for super::EGR {
106758            type Type = u32;
106759            #[inline(always)]
106760            fn reset_value() -> Self::Type {
106761                0
106762            }
106763        }
106764        ///Write proxy for field `BG`
106765        pub struct BG_W<'a> {
106766            w: &'a mut W,
106767        }
106768        impl<'a> BG_W<'a> {
106769            ///Sets the field bit
106770            #[inline(always)]
106771            pub fn set_bit(self) -> &'a mut W {
106772                self.bit(true)
106773            }
106774            ///Clears the field bit
106775            #[inline(always)]
106776            pub fn clear_bit(self) -> &'a mut W {
106777                self.bit(false)
106778            }
106779            ///Writes raw bits to the field
106780            #[inline(always)]
106781            pub fn bit(self, value: bool) -> &'a mut W {
106782                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
106783                self.w
106784            }
106785        }
106786        ///Write proxy for field `TG`
106787        pub struct TG_W<'a> {
106788            w: &'a mut W,
106789        }
106790        impl<'a> TG_W<'a> {
106791            ///Sets the field bit
106792            #[inline(always)]
106793            pub fn set_bit(self) -> &'a mut W {
106794                self.bit(true)
106795            }
106796            ///Clears the field bit
106797            #[inline(always)]
106798            pub fn clear_bit(self) -> &'a mut W {
106799                self.bit(false)
106800            }
106801            ///Writes raw bits to the field
106802            #[inline(always)]
106803            pub fn bit(self, value: bool) -> &'a mut W {
106804                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
106805                self.w
106806            }
106807        }
106808        ///Write proxy for field `COMG`
106809        pub struct COMG_W<'a> {
106810            w: &'a mut W,
106811        }
106812        impl<'a> COMG_W<'a> {
106813            ///Sets the field bit
106814            #[inline(always)]
106815            pub fn set_bit(self) -> &'a mut W {
106816                self.bit(true)
106817            }
106818            ///Clears the field bit
106819            #[inline(always)]
106820            pub fn clear_bit(self) -> &'a mut W {
106821                self.bit(false)
106822            }
106823            ///Writes raw bits to the field
106824            #[inline(always)]
106825            pub fn bit(self, value: bool) -> &'a mut W {
106826                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
106827                self.w
106828            }
106829        }
106830        ///Write proxy for field `CC1G`
106831        pub struct CC1G_W<'a> {
106832            w: &'a mut W,
106833        }
106834        impl<'a> CC1G_W<'a> {
106835            ///Sets the field bit
106836            #[inline(always)]
106837            pub fn set_bit(self) -> &'a mut W {
106838                self.bit(true)
106839            }
106840            ///Clears the field bit
106841            #[inline(always)]
106842            pub fn clear_bit(self) -> &'a mut W {
106843                self.bit(false)
106844            }
106845            ///Writes raw bits to the field
106846            #[inline(always)]
106847            pub fn bit(self, value: bool) -> &'a mut W {
106848                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
106849                self.w
106850            }
106851        }
106852        ///Write proxy for field `UG`
106853        pub struct UG_W<'a> {
106854            w: &'a mut W,
106855        }
106856        impl<'a> UG_W<'a> {
106857            ///Sets the field bit
106858            #[inline(always)]
106859            pub fn set_bit(self) -> &'a mut W {
106860                self.bit(true)
106861            }
106862            ///Clears the field bit
106863            #[inline(always)]
106864            pub fn clear_bit(self) -> &'a mut W {
106865                self.bit(false)
106866            }
106867            ///Writes raw bits to the field
106868            #[inline(always)]
106869            pub fn bit(self, value: bool) -> &'a mut W {
106870                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
106871                self.w
106872            }
106873        }
106874        impl W {
106875            ///Bit 7 - Break generation
106876            #[inline(always)]
106877            pub fn bg(&mut self) -> BG_W {
106878                BG_W { w: self }
106879            }
106880            ///Bit 6 - Trigger generation
106881            #[inline(always)]
106882            pub fn tg(&mut self) -> TG_W {
106883                TG_W { w: self }
106884            }
106885            ///Bit 5 - Capture/Compare control update generation
106886            #[inline(always)]
106887            pub fn comg(&mut self) -> COMG_W {
106888                COMG_W { w: self }
106889            }
106890            ///Bit 1 - Capture/compare 1 generation
106891            #[inline(always)]
106892            pub fn cc1g(&mut self) -> CC1G_W {
106893                CC1G_W { w: self }
106894            }
106895            ///Bit 0 - Update generation
106896            #[inline(always)]
106897            pub fn ug(&mut self) -> UG_W {
106898                UG_W { w: self }
106899            }
106900        }
106901    }
106902    ///capture/compare mode register (output mode)
106903    ///
106904    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
106905    ///
106906    ///For information about available fields see [ccmr1_output](ccmr1_output) module
106907    pub type CCMR1_OUTPUT = crate::Reg<u32, _CCMR1_OUTPUT>;
106908    #[allow(missing_docs)]
106909    #[doc(hidden)]
106910    pub struct _CCMR1_OUTPUT;
106911    ///`read()` method returns [ccmr1_output::R](ccmr1_output::R) reader structure
106912    impl crate::Readable for CCMR1_OUTPUT {}
106913    ///`write(|w| ..)` method takes [ccmr1_output::W](ccmr1_output::W) writer structure
106914    impl crate::Writable for CCMR1_OUTPUT {}
106915    ///capture/compare mode register (output mode)
106916    pub mod ccmr1_output {
106917        ///Reader of register CCMR1_Output
106918        pub type R = crate::R<u32, super::CCMR1_OUTPUT>;
106919        ///Writer for register CCMR1_Output
106920        pub type W = crate::W<u32, super::CCMR1_OUTPUT>;
106921        ///Register CCMR1_Output `reset()`'s with value 0
106922        impl crate::ResetValue for super::CCMR1_OUTPUT {
106923            type Type = u32;
106924            #[inline(always)]
106925            fn reset_value() -> Self::Type {
106926                0
106927            }
106928        }
106929        ///Reader of field `OC1M_2`
106930        pub type OC1M_2_R = crate::R<bool, bool>;
106931        ///Write proxy for field `OC1M_2`
106932        pub struct OC1M_2_W<'a> {
106933            w: &'a mut W,
106934        }
106935        impl<'a> OC1M_2_W<'a> {
106936            ///Sets the field bit
106937            #[inline(always)]
106938            pub fn set_bit(self) -> &'a mut W {
106939                self.bit(true)
106940            }
106941            ///Clears the field bit
106942            #[inline(always)]
106943            pub fn clear_bit(self) -> &'a mut W {
106944                self.bit(false)
106945            }
106946            ///Writes raw bits to the field
106947            #[inline(always)]
106948            pub fn bit(self, value: bool) -> &'a mut W {
106949                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
106950                self.w
106951            }
106952        }
106953        ///Reader of field `OC1M`
106954        pub type OC1M_R = crate::R<u8, u8>;
106955        ///Write proxy for field `OC1M`
106956        pub struct OC1M_W<'a> {
106957            w: &'a mut W,
106958        }
106959        impl<'a> OC1M_W<'a> {
106960            ///Writes raw bits to the field
106961            #[inline(always)]
106962            pub unsafe fn bits(self, value: u8) -> &'a mut W {
106963                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
106964                self.w
106965            }
106966        }
106967        ///Reader of field `OC1PE`
106968        pub type OC1PE_R = crate::R<bool, bool>;
106969        ///Write proxy for field `OC1PE`
106970        pub struct OC1PE_W<'a> {
106971            w: &'a mut W,
106972        }
106973        impl<'a> OC1PE_W<'a> {
106974            ///Sets the field bit
106975            #[inline(always)]
106976            pub fn set_bit(self) -> &'a mut W {
106977                self.bit(true)
106978            }
106979            ///Clears the field bit
106980            #[inline(always)]
106981            pub fn clear_bit(self) -> &'a mut W {
106982                self.bit(false)
106983            }
106984            ///Writes raw bits to the field
106985            #[inline(always)]
106986            pub fn bit(self, value: bool) -> &'a mut W {
106987                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
106988                self.w
106989            }
106990        }
106991        ///Reader of field `OC1FE`
106992        pub type OC1FE_R = crate::R<bool, bool>;
106993        ///Write proxy for field `OC1FE`
106994        pub struct OC1FE_W<'a> {
106995            w: &'a mut W,
106996        }
106997        impl<'a> OC1FE_W<'a> {
106998            ///Sets the field bit
106999            #[inline(always)]
107000            pub fn set_bit(self) -> &'a mut W {
107001                self.bit(true)
107002            }
107003            ///Clears the field bit
107004            #[inline(always)]
107005            pub fn clear_bit(self) -> &'a mut W {
107006                self.bit(false)
107007            }
107008            ///Writes raw bits to the field
107009            #[inline(always)]
107010            pub fn bit(self, value: bool) -> &'a mut W {
107011                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
107012                self.w
107013            }
107014        }
107015        ///Reader of field `CC1S`
107016        pub type CC1S_R = crate::R<u8, u8>;
107017        ///Write proxy for field `CC1S`
107018        pub struct CC1S_W<'a> {
107019            w: &'a mut W,
107020        }
107021        impl<'a> CC1S_W<'a> {
107022            ///Writes raw bits to the field
107023            #[inline(always)]
107024            pub unsafe fn bits(self, value: u8) -> &'a mut W {
107025                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
107026                self.w
107027            }
107028        }
107029        impl R {
107030            ///Bit 16 - Output Compare 1 mode
107031            #[inline(always)]
107032            pub fn oc1m_2(&self) -> OC1M_2_R {
107033                OC1M_2_R::new(((self.bits >> 16) & 0x01) != 0)
107034            }
107035            ///Bits 4:6 - Output Compare 1 mode
107036            #[inline(always)]
107037            pub fn oc1m(&self) -> OC1M_R {
107038                OC1M_R::new(((self.bits >> 4) & 0x07) as u8)
107039            }
107040            ///Bit 3 - Output Compare 1 preload enable
107041            #[inline(always)]
107042            pub fn oc1pe(&self) -> OC1PE_R {
107043                OC1PE_R::new(((self.bits >> 3) & 0x01) != 0)
107044            }
107045            ///Bit 2 - Output Compare 1 fast enable
107046            #[inline(always)]
107047            pub fn oc1fe(&self) -> OC1FE_R {
107048                OC1FE_R::new(((self.bits >> 2) & 0x01) != 0)
107049            }
107050            ///Bits 0:1 - Capture/Compare 1 selection
107051            #[inline(always)]
107052            pub fn cc1s(&self) -> CC1S_R {
107053                CC1S_R::new((self.bits & 0x03) as u8)
107054            }
107055        }
107056        impl W {
107057            ///Bit 16 - Output Compare 1 mode
107058            #[inline(always)]
107059            pub fn oc1m_2(&mut self) -> OC1M_2_W {
107060                OC1M_2_W { w: self }
107061            }
107062            ///Bits 4:6 - Output Compare 1 mode
107063            #[inline(always)]
107064            pub fn oc1m(&mut self) -> OC1M_W {
107065                OC1M_W { w: self }
107066            }
107067            ///Bit 3 - Output Compare 1 preload enable
107068            #[inline(always)]
107069            pub fn oc1pe(&mut self) -> OC1PE_W {
107070                OC1PE_W { w: self }
107071            }
107072            ///Bit 2 - Output Compare 1 fast enable
107073            #[inline(always)]
107074            pub fn oc1fe(&mut self) -> OC1FE_W {
107075                OC1FE_W { w: self }
107076            }
107077            ///Bits 0:1 - Capture/Compare 1 selection
107078            #[inline(always)]
107079            pub fn cc1s(&mut self) -> CC1S_W {
107080                CC1S_W { w: self }
107081            }
107082        }
107083    }
107084    ///capture/compare mode register 1 (input mode)
107085    ///
107086    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
107087    ///
107088    ///For information about available fields see [ccmr1_input](ccmr1_input) module
107089    pub type CCMR1_INPUT = crate::Reg<u32, _CCMR1_INPUT>;
107090    #[allow(missing_docs)]
107091    #[doc(hidden)]
107092    pub struct _CCMR1_INPUT;
107093    ///`read()` method returns [ccmr1_input::R](ccmr1_input::R) reader structure
107094    impl crate::Readable for CCMR1_INPUT {}
107095    ///`write(|w| ..)` method takes [ccmr1_input::W](ccmr1_input::W) writer structure
107096    impl crate::Writable for CCMR1_INPUT {}
107097    ///capture/compare mode register 1 (input mode)
107098    pub mod ccmr1_input {
107099        ///Reader of register CCMR1_Input
107100        pub type R = crate::R<u32, super::CCMR1_INPUT>;
107101        ///Writer for register CCMR1_Input
107102        pub type W = crate::W<u32, super::CCMR1_INPUT>;
107103        ///Register CCMR1_Input `reset()`'s with value 0
107104        impl crate::ResetValue for super::CCMR1_INPUT {
107105            type Type = u32;
107106            #[inline(always)]
107107            fn reset_value() -> Self::Type {
107108                0
107109            }
107110        }
107111        ///Reader of field `IC1F`
107112        pub type IC1F_R = crate::R<u8, u8>;
107113        ///Write proxy for field `IC1F`
107114        pub struct IC1F_W<'a> {
107115            w: &'a mut W,
107116        }
107117        impl<'a> IC1F_W<'a> {
107118            ///Writes raw bits to the field
107119            #[inline(always)]
107120            pub unsafe fn bits(self, value: u8) -> &'a mut W {
107121                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
107122                self.w
107123            }
107124        }
107125        ///Reader of field `IC1PSC`
107126        pub type IC1PSC_R = crate::R<u8, u8>;
107127        ///Write proxy for field `IC1PSC`
107128        pub struct IC1PSC_W<'a> {
107129            w: &'a mut W,
107130        }
107131        impl<'a> IC1PSC_W<'a> {
107132            ///Writes raw bits to the field
107133            #[inline(always)]
107134            pub unsafe fn bits(self, value: u8) -> &'a mut W {
107135                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
107136                self.w
107137            }
107138        }
107139        ///Reader of field `CC1S`
107140        pub type CC1S_R = crate::R<u8, u8>;
107141        ///Write proxy for field `CC1S`
107142        pub struct CC1S_W<'a> {
107143            w: &'a mut W,
107144        }
107145        impl<'a> CC1S_W<'a> {
107146            ///Writes raw bits to the field
107147            #[inline(always)]
107148            pub unsafe fn bits(self, value: u8) -> &'a mut W {
107149                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
107150                self.w
107151            }
107152        }
107153        impl R {
107154            ///Bits 4:7 - Input capture 1 filter
107155            #[inline(always)]
107156            pub fn ic1f(&self) -> IC1F_R {
107157                IC1F_R::new(((self.bits >> 4) & 0x0f) as u8)
107158            }
107159            ///Bits 2:3 - Input capture 1 prescaler
107160            #[inline(always)]
107161            pub fn ic1psc(&self) -> IC1PSC_R {
107162                IC1PSC_R::new(((self.bits >> 2) & 0x03) as u8)
107163            }
107164            ///Bits 0:1 - Capture/Compare 1 selection
107165            #[inline(always)]
107166            pub fn cc1s(&self) -> CC1S_R {
107167                CC1S_R::new((self.bits & 0x03) as u8)
107168            }
107169        }
107170        impl W {
107171            ///Bits 4:7 - Input capture 1 filter
107172            #[inline(always)]
107173            pub fn ic1f(&mut self) -> IC1F_W {
107174                IC1F_W { w: self }
107175            }
107176            ///Bits 2:3 - Input capture 1 prescaler
107177            #[inline(always)]
107178            pub fn ic1psc(&mut self) -> IC1PSC_W {
107179                IC1PSC_W { w: self }
107180            }
107181            ///Bits 0:1 - Capture/Compare 1 selection
107182            #[inline(always)]
107183            pub fn cc1s(&mut self) -> CC1S_W {
107184                CC1S_W { w: self }
107185            }
107186        }
107187    }
107188    ///capture/compare enable register
107189    ///
107190    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
107191    ///
107192    ///For information about available fields see [ccer](ccer) module
107193    pub type CCER = crate::Reg<u32, _CCER>;
107194    #[allow(missing_docs)]
107195    #[doc(hidden)]
107196    pub struct _CCER;
107197    ///`read()` method returns [ccer::R](ccer::R) reader structure
107198    impl crate::Readable for CCER {}
107199    ///`write(|w| ..)` method takes [ccer::W](ccer::W) writer structure
107200    impl crate::Writable for CCER {}
107201    ///capture/compare enable register
107202    pub mod ccer {
107203        ///Reader of register CCER
107204        pub type R = crate::R<u32, super::CCER>;
107205        ///Writer for register CCER
107206        pub type W = crate::W<u32, super::CCER>;
107207        ///Register CCER `reset()`'s with value 0
107208        impl crate::ResetValue for super::CCER {
107209            type Type = u32;
107210            #[inline(always)]
107211            fn reset_value() -> Self::Type {
107212                0
107213            }
107214        }
107215        ///Reader of field `CC1NP`
107216        pub type CC1NP_R = crate::R<bool, bool>;
107217        ///Write proxy for field `CC1NP`
107218        pub struct CC1NP_W<'a> {
107219            w: &'a mut W,
107220        }
107221        impl<'a> CC1NP_W<'a> {
107222            ///Sets the field bit
107223            #[inline(always)]
107224            pub fn set_bit(self) -> &'a mut W {
107225                self.bit(true)
107226            }
107227            ///Clears the field bit
107228            #[inline(always)]
107229            pub fn clear_bit(self) -> &'a mut W {
107230                self.bit(false)
107231            }
107232            ///Writes raw bits to the field
107233            #[inline(always)]
107234            pub fn bit(self, value: bool) -> &'a mut W {
107235                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
107236                self.w
107237            }
107238        }
107239        ///Reader of field `CC1NE`
107240        pub type CC1NE_R = crate::R<bool, bool>;
107241        ///Write proxy for field `CC1NE`
107242        pub struct CC1NE_W<'a> {
107243            w: &'a mut W,
107244        }
107245        impl<'a> CC1NE_W<'a> {
107246            ///Sets the field bit
107247            #[inline(always)]
107248            pub fn set_bit(self) -> &'a mut W {
107249                self.bit(true)
107250            }
107251            ///Clears the field bit
107252            #[inline(always)]
107253            pub fn clear_bit(self) -> &'a mut W {
107254                self.bit(false)
107255            }
107256            ///Writes raw bits to the field
107257            #[inline(always)]
107258            pub fn bit(self, value: bool) -> &'a mut W {
107259                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
107260                self.w
107261            }
107262        }
107263        ///Reader of field `CC1P`
107264        pub type CC1P_R = crate::R<bool, bool>;
107265        ///Write proxy for field `CC1P`
107266        pub struct CC1P_W<'a> {
107267            w: &'a mut W,
107268        }
107269        impl<'a> CC1P_W<'a> {
107270            ///Sets the field bit
107271            #[inline(always)]
107272            pub fn set_bit(self) -> &'a mut W {
107273                self.bit(true)
107274            }
107275            ///Clears the field bit
107276            #[inline(always)]
107277            pub fn clear_bit(self) -> &'a mut W {
107278                self.bit(false)
107279            }
107280            ///Writes raw bits to the field
107281            #[inline(always)]
107282            pub fn bit(self, value: bool) -> &'a mut W {
107283                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
107284                self.w
107285            }
107286        }
107287        ///Reader of field `CC1E`
107288        pub type CC1E_R = crate::R<bool, bool>;
107289        ///Write proxy for field `CC1E`
107290        pub struct CC1E_W<'a> {
107291            w: &'a mut W,
107292        }
107293        impl<'a> CC1E_W<'a> {
107294            ///Sets the field bit
107295            #[inline(always)]
107296            pub fn set_bit(self) -> &'a mut W {
107297                self.bit(true)
107298            }
107299            ///Clears the field bit
107300            #[inline(always)]
107301            pub fn clear_bit(self) -> &'a mut W {
107302                self.bit(false)
107303            }
107304            ///Writes raw bits to the field
107305            #[inline(always)]
107306            pub fn bit(self, value: bool) -> &'a mut W {
107307                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
107308                self.w
107309            }
107310        }
107311        impl R {
107312            ///Bit 3 - Capture/Compare 1 output Polarity
107313            #[inline(always)]
107314            pub fn cc1np(&self) -> CC1NP_R {
107315                CC1NP_R::new(((self.bits >> 3) & 0x01) != 0)
107316            }
107317            ///Bit 2 - Capture/Compare 1 complementary output enable
107318            #[inline(always)]
107319            pub fn cc1ne(&self) -> CC1NE_R {
107320                CC1NE_R::new(((self.bits >> 2) & 0x01) != 0)
107321            }
107322            ///Bit 1 - Capture/Compare 1 output Polarity
107323            #[inline(always)]
107324            pub fn cc1p(&self) -> CC1P_R {
107325                CC1P_R::new(((self.bits >> 1) & 0x01) != 0)
107326            }
107327            ///Bit 0 - Capture/Compare 1 output enable
107328            #[inline(always)]
107329            pub fn cc1e(&self) -> CC1E_R {
107330                CC1E_R::new((self.bits & 0x01) != 0)
107331            }
107332        }
107333        impl W {
107334            ///Bit 3 - Capture/Compare 1 output Polarity
107335            #[inline(always)]
107336            pub fn cc1np(&mut self) -> CC1NP_W {
107337                CC1NP_W { w: self }
107338            }
107339            ///Bit 2 - Capture/Compare 1 complementary output enable
107340            #[inline(always)]
107341            pub fn cc1ne(&mut self) -> CC1NE_W {
107342                CC1NE_W { w: self }
107343            }
107344            ///Bit 1 - Capture/Compare 1 output Polarity
107345            #[inline(always)]
107346            pub fn cc1p(&mut self) -> CC1P_W {
107347                CC1P_W { w: self }
107348            }
107349            ///Bit 0 - Capture/Compare 1 output enable
107350            #[inline(always)]
107351            pub fn cc1e(&mut self) -> CC1E_W {
107352                CC1E_W { w: self }
107353            }
107354        }
107355    }
107356    ///counter
107357    ///
107358    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
107359    ///
107360    ///For information about available fields see [cnt](cnt) module
107361    pub type CNT = crate::Reg<u32, _CNT>;
107362    #[allow(missing_docs)]
107363    #[doc(hidden)]
107364    pub struct _CNT;
107365    ///`read()` method returns [cnt::R](cnt::R) reader structure
107366    impl crate::Readable for CNT {}
107367    ///`write(|w| ..)` method takes [cnt::W](cnt::W) writer structure
107368    impl crate::Writable for CNT {}
107369    ///counter
107370    pub mod cnt {
107371        ///Reader of register CNT
107372        pub type R = crate::R<u32, super::CNT>;
107373        ///Writer for register CNT
107374        pub type W = crate::W<u32, super::CNT>;
107375        ///Register CNT `reset()`'s with value 0
107376        impl crate::ResetValue for super::CNT {
107377            type Type = u32;
107378            #[inline(always)]
107379            fn reset_value() -> Self::Type {
107380                0
107381            }
107382        }
107383        ///Reader of field `CNT`
107384        pub type CNT_R = crate::R<u16, u16>;
107385        ///Write proxy for field `CNT`
107386        pub struct CNT_W<'a> {
107387            w: &'a mut W,
107388        }
107389        impl<'a> CNT_W<'a> {
107390            ///Writes raw bits to the field
107391            #[inline(always)]
107392            pub unsafe fn bits(self, value: u16) -> &'a mut W {
107393                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
107394                self.w
107395            }
107396        }
107397        ///Reader of field `UIFCPY`
107398        pub type UIFCPY_R = crate::R<bool, bool>;
107399        impl R {
107400            ///Bits 0:15 - counter value
107401            #[inline(always)]
107402            pub fn cnt(&self) -> CNT_R {
107403                CNT_R::new((self.bits & 0xffff) as u16)
107404            }
107405            ///Bit 31 - UIF Copy
107406            #[inline(always)]
107407            pub fn uifcpy(&self) -> UIFCPY_R {
107408                UIFCPY_R::new(((self.bits >> 31) & 0x01) != 0)
107409            }
107410        }
107411        impl W {
107412            ///Bits 0:15 - counter value
107413            #[inline(always)]
107414            pub fn cnt(&mut self) -> CNT_W {
107415                CNT_W { w: self }
107416            }
107417        }
107418    }
107419    ///prescaler
107420    ///
107421    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
107422    ///
107423    ///For information about available fields see [psc](psc) module
107424    pub type PSC = crate::Reg<u32, _PSC>;
107425    #[allow(missing_docs)]
107426    #[doc(hidden)]
107427    pub struct _PSC;
107428    ///`read()` method returns [psc::R](psc::R) reader structure
107429    impl crate::Readable for PSC {}
107430    ///`write(|w| ..)` method takes [psc::W](psc::W) writer structure
107431    impl crate::Writable for PSC {}
107432    ///prescaler
107433    pub mod psc {
107434        ///Reader of register PSC
107435        pub type R = crate::R<u32, super::PSC>;
107436        ///Writer for register PSC
107437        pub type W = crate::W<u32, super::PSC>;
107438        ///Register PSC `reset()`'s with value 0
107439        impl crate::ResetValue for super::PSC {
107440            type Type = u32;
107441            #[inline(always)]
107442            fn reset_value() -> Self::Type {
107443                0
107444            }
107445        }
107446        ///Reader of field `PSC`
107447        pub type PSC_R = crate::R<u16, u16>;
107448        ///Write proxy for field `PSC`
107449        pub struct PSC_W<'a> {
107450            w: &'a mut W,
107451        }
107452        impl<'a> PSC_W<'a> {
107453            ///Writes raw bits to the field
107454            #[inline(always)]
107455            pub unsafe fn bits(self, value: u16) -> &'a mut W {
107456                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
107457                self.w
107458            }
107459        }
107460        impl R {
107461            ///Bits 0:15 - Prescaler value
107462            #[inline(always)]
107463            pub fn psc(&self) -> PSC_R {
107464                PSC_R::new((self.bits & 0xffff) as u16)
107465            }
107466        }
107467        impl W {
107468            ///Bits 0:15 - Prescaler value
107469            #[inline(always)]
107470            pub fn psc(&mut self) -> PSC_W {
107471                PSC_W { w: self }
107472            }
107473        }
107474    }
107475    ///auto-reload register
107476    ///
107477    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
107478    ///
107479    ///For information about available fields see [arr](arr) module
107480    pub type ARR = crate::Reg<u32, _ARR>;
107481    #[allow(missing_docs)]
107482    #[doc(hidden)]
107483    pub struct _ARR;
107484    ///`read()` method returns [arr::R](arr::R) reader structure
107485    impl crate::Readable for ARR {}
107486    ///`write(|w| ..)` method takes [arr::W](arr::W) writer structure
107487    impl crate::Writable for ARR {}
107488    ///auto-reload register
107489    pub mod arr {
107490        ///Reader of register ARR
107491        pub type R = crate::R<u32, super::ARR>;
107492        ///Writer for register ARR
107493        pub type W = crate::W<u32, super::ARR>;
107494        ///Register ARR `reset()`'s with value 0
107495        impl crate::ResetValue for super::ARR {
107496            type Type = u32;
107497            #[inline(always)]
107498            fn reset_value() -> Self::Type {
107499                0
107500            }
107501        }
107502        ///Reader of field `ARR`
107503        pub type ARR_R = crate::R<u16, u16>;
107504        ///Write proxy for field `ARR`
107505        pub struct ARR_W<'a> {
107506            w: &'a mut W,
107507        }
107508        impl<'a> ARR_W<'a> {
107509            ///Writes raw bits to the field
107510            #[inline(always)]
107511            pub unsafe fn bits(self, value: u16) -> &'a mut W {
107512                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
107513                self.w
107514            }
107515        }
107516        impl R {
107517            ///Bits 0:15 - Auto-reload value
107518            #[inline(always)]
107519            pub fn arr(&self) -> ARR_R {
107520                ARR_R::new((self.bits & 0xffff) as u16)
107521            }
107522        }
107523        impl W {
107524            ///Bits 0:15 - Auto-reload value
107525            #[inline(always)]
107526            pub fn arr(&mut self) -> ARR_W {
107527                ARR_W { w: self }
107528            }
107529        }
107530    }
107531    ///repetition counter register
107532    ///
107533    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
107534    ///
107535    ///For information about available fields see [rcr](rcr) module
107536    pub type RCR = crate::Reg<u32, _RCR>;
107537    #[allow(missing_docs)]
107538    #[doc(hidden)]
107539    pub struct _RCR;
107540    ///`read()` method returns [rcr::R](rcr::R) reader structure
107541    impl crate::Readable for RCR {}
107542    ///`write(|w| ..)` method takes [rcr::W](rcr::W) writer structure
107543    impl crate::Writable for RCR {}
107544    ///repetition counter register
107545    pub mod rcr {
107546        ///Reader of register RCR
107547        pub type R = crate::R<u32, super::RCR>;
107548        ///Writer for register RCR
107549        pub type W = crate::W<u32, super::RCR>;
107550        ///Register RCR `reset()`'s with value 0
107551        impl crate::ResetValue for super::RCR {
107552            type Type = u32;
107553            #[inline(always)]
107554            fn reset_value() -> Self::Type {
107555                0
107556            }
107557        }
107558        ///Reader of field `REP`
107559        pub type REP_R = crate::R<u8, u8>;
107560        ///Write proxy for field `REP`
107561        pub struct REP_W<'a> {
107562            w: &'a mut W,
107563        }
107564        impl<'a> REP_W<'a> {
107565            ///Writes raw bits to the field
107566            #[inline(always)]
107567            pub unsafe fn bits(self, value: u8) -> &'a mut W {
107568                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
107569                self.w
107570            }
107571        }
107572        impl R {
107573            ///Bits 0:7 - Repetition counter value
107574            #[inline(always)]
107575            pub fn rep(&self) -> REP_R {
107576                REP_R::new((self.bits & 0xff) as u8)
107577            }
107578        }
107579        impl W {
107580            ///Bits 0:7 - Repetition counter value
107581            #[inline(always)]
107582            pub fn rep(&mut self) -> REP_W {
107583                REP_W { w: self }
107584            }
107585        }
107586    }
107587    ///capture/compare register 1
107588    ///
107589    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
107590    ///
107591    ///For information about available fields see [ccr1](ccr1) module
107592    pub type CCR1 = crate::Reg<u32, _CCR1>;
107593    #[allow(missing_docs)]
107594    #[doc(hidden)]
107595    pub struct _CCR1;
107596    ///`read()` method returns [ccr1::R](ccr1::R) reader structure
107597    impl crate::Readable for CCR1 {}
107598    ///`write(|w| ..)` method takes [ccr1::W](ccr1::W) writer structure
107599    impl crate::Writable for CCR1 {}
107600    ///capture/compare register 1
107601    pub mod ccr1 {
107602        ///Reader of register CCR1
107603        pub type R = crate::R<u32, super::CCR1>;
107604        ///Writer for register CCR1
107605        pub type W = crate::W<u32, super::CCR1>;
107606        ///Register CCR1 `reset()`'s with value 0
107607        impl crate::ResetValue for super::CCR1 {
107608            type Type = u32;
107609            #[inline(always)]
107610            fn reset_value() -> Self::Type {
107611                0
107612            }
107613        }
107614        ///Reader of field `CCR1`
107615        pub type CCR1_R = crate::R<u16, u16>;
107616        ///Write proxy for field `CCR1`
107617        pub struct CCR1_W<'a> {
107618            w: &'a mut W,
107619        }
107620        impl<'a> CCR1_W<'a> {
107621            ///Writes raw bits to the field
107622            #[inline(always)]
107623            pub unsafe fn bits(self, value: u16) -> &'a mut W {
107624                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
107625                self.w
107626            }
107627        }
107628        impl R {
107629            ///Bits 0:15 - Capture/Compare 1 value
107630            #[inline(always)]
107631            pub fn ccr1(&self) -> CCR1_R {
107632                CCR1_R::new((self.bits & 0xffff) as u16)
107633            }
107634        }
107635        impl W {
107636            ///Bits 0:15 - Capture/Compare 1 value
107637            #[inline(always)]
107638            pub fn ccr1(&mut self) -> CCR1_W {
107639                CCR1_W { w: self }
107640            }
107641        }
107642    }
107643    ///break and dead-time register
107644    ///
107645    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
107646    ///
107647    ///For information about available fields see [bdtr](bdtr) module
107648    pub type BDTR = crate::Reg<u32, _BDTR>;
107649    #[allow(missing_docs)]
107650    #[doc(hidden)]
107651    pub struct _BDTR;
107652    ///`read()` method returns [bdtr::R](bdtr::R) reader structure
107653    impl crate::Readable for BDTR {}
107654    ///`write(|w| ..)` method takes [bdtr::W](bdtr::W) writer structure
107655    impl crate::Writable for BDTR {}
107656    ///break and dead-time register
107657    pub mod bdtr {
107658        ///Reader of register BDTR
107659        pub type R = crate::R<u32, super::BDTR>;
107660        ///Writer for register BDTR
107661        pub type W = crate::W<u32, super::BDTR>;
107662        ///Register BDTR `reset()`'s with value 0
107663        impl crate::ResetValue for super::BDTR {
107664            type Type = u32;
107665            #[inline(always)]
107666            fn reset_value() -> Self::Type {
107667                0
107668            }
107669        }
107670        ///Reader of field `DTG`
107671        pub type DTG_R = crate::R<u8, u8>;
107672        ///Write proxy for field `DTG`
107673        pub struct DTG_W<'a> {
107674            w: &'a mut W,
107675        }
107676        impl<'a> DTG_W<'a> {
107677            ///Writes raw bits to the field
107678            #[inline(always)]
107679            pub unsafe fn bits(self, value: u8) -> &'a mut W {
107680                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
107681                self.w
107682            }
107683        }
107684        ///Reader of field `LOCK`
107685        pub type LOCK_R = crate::R<u8, u8>;
107686        ///Write proxy for field `LOCK`
107687        pub struct LOCK_W<'a> {
107688            w: &'a mut W,
107689        }
107690        impl<'a> LOCK_W<'a> {
107691            ///Writes raw bits to the field
107692            #[inline(always)]
107693            pub unsafe fn bits(self, value: u8) -> &'a mut W {
107694                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
107695                self.w
107696            }
107697        }
107698        ///Reader of field `OSSI`
107699        pub type OSSI_R = crate::R<bool, bool>;
107700        ///Write proxy for field `OSSI`
107701        pub struct OSSI_W<'a> {
107702            w: &'a mut W,
107703        }
107704        impl<'a> OSSI_W<'a> {
107705            ///Sets the field bit
107706            #[inline(always)]
107707            pub fn set_bit(self) -> &'a mut W {
107708                self.bit(true)
107709            }
107710            ///Clears the field bit
107711            #[inline(always)]
107712            pub fn clear_bit(self) -> &'a mut W {
107713                self.bit(false)
107714            }
107715            ///Writes raw bits to the field
107716            #[inline(always)]
107717            pub fn bit(self, value: bool) -> &'a mut W {
107718                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
107719                self.w
107720            }
107721        }
107722        ///Reader of field `OSSR`
107723        pub type OSSR_R = crate::R<bool, bool>;
107724        ///Write proxy for field `OSSR`
107725        pub struct OSSR_W<'a> {
107726            w: &'a mut W,
107727        }
107728        impl<'a> OSSR_W<'a> {
107729            ///Sets the field bit
107730            #[inline(always)]
107731            pub fn set_bit(self) -> &'a mut W {
107732                self.bit(true)
107733            }
107734            ///Clears the field bit
107735            #[inline(always)]
107736            pub fn clear_bit(self) -> &'a mut W {
107737                self.bit(false)
107738            }
107739            ///Writes raw bits to the field
107740            #[inline(always)]
107741            pub fn bit(self, value: bool) -> &'a mut W {
107742                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
107743                self.w
107744            }
107745        }
107746        ///Reader of field `BKE`
107747        pub type BKE_R = crate::R<bool, bool>;
107748        ///Write proxy for field `BKE`
107749        pub struct BKE_W<'a> {
107750            w: &'a mut W,
107751        }
107752        impl<'a> BKE_W<'a> {
107753            ///Sets the field bit
107754            #[inline(always)]
107755            pub fn set_bit(self) -> &'a mut W {
107756                self.bit(true)
107757            }
107758            ///Clears the field bit
107759            #[inline(always)]
107760            pub fn clear_bit(self) -> &'a mut W {
107761                self.bit(false)
107762            }
107763            ///Writes raw bits to the field
107764            #[inline(always)]
107765            pub fn bit(self, value: bool) -> &'a mut W {
107766                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
107767                self.w
107768            }
107769        }
107770        ///Reader of field `BKP`
107771        pub type BKP_R = crate::R<bool, bool>;
107772        ///Write proxy for field `BKP`
107773        pub struct BKP_W<'a> {
107774            w: &'a mut W,
107775        }
107776        impl<'a> BKP_W<'a> {
107777            ///Sets the field bit
107778            #[inline(always)]
107779            pub fn set_bit(self) -> &'a mut W {
107780                self.bit(true)
107781            }
107782            ///Clears the field bit
107783            #[inline(always)]
107784            pub fn clear_bit(self) -> &'a mut W {
107785                self.bit(false)
107786            }
107787            ///Writes raw bits to the field
107788            #[inline(always)]
107789            pub fn bit(self, value: bool) -> &'a mut W {
107790                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
107791                self.w
107792            }
107793        }
107794        ///Reader of field `AOE`
107795        pub type AOE_R = crate::R<bool, bool>;
107796        ///Write proxy for field `AOE`
107797        pub struct AOE_W<'a> {
107798            w: &'a mut W,
107799        }
107800        impl<'a> AOE_W<'a> {
107801            ///Sets the field bit
107802            #[inline(always)]
107803            pub fn set_bit(self) -> &'a mut W {
107804                self.bit(true)
107805            }
107806            ///Clears the field bit
107807            #[inline(always)]
107808            pub fn clear_bit(self) -> &'a mut W {
107809                self.bit(false)
107810            }
107811            ///Writes raw bits to the field
107812            #[inline(always)]
107813            pub fn bit(self, value: bool) -> &'a mut W {
107814                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
107815                self.w
107816            }
107817        }
107818        ///Reader of field `MOE`
107819        pub type MOE_R = crate::R<bool, bool>;
107820        ///Write proxy for field `MOE`
107821        pub struct MOE_W<'a> {
107822            w: &'a mut W,
107823        }
107824        impl<'a> MOE_W<'a> {
107825            ///Sets the field bit
107826            #[inline(always)]
107827            pub fn set_bit(self) -> &'a mut W {
107828                self.bit(true)
107829            }
107830            ///Clears the field bit
107831            #[inline(always)]
107832            pub fn clear_bit(self) -> &'a mut W {
107833                self.bit(false)
107834            }
107835            ///Writes raw bits to the field
107836            #[inline(always)]
107837            pub fn bit(self, value: bool) -> &'a mut W {
107838                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
107839                self.w
107840            }
107841        }
107842        ///Reader of field `BKF`
107843        pub type BKF_R = crate::R<u8, u8>;
107844        ///Write proxy for field `BKF`
107845        pub struct BKF_W<'a> {
107846            w: &'a mut W,
107847        }
107848        impl<'a> BKF_W<'a> {
107849            ///Writes raw bits to the field
107850            #[inline(always)]
107851            pub unsafe fn bits(self, value: u8) -> &'a mut W {
107852                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
107853                self.w
107854            }
107855        }
107856        impl R {
107857            ///Bits 0:7 - Dead-time generator setup
107858            #[inline(always)]
107859            pub fn dtg(&self) -> DTG_R {
107860                DTG_R::new((self.bits & 0xff) as u8)
107861            }
107862            ///Bits 8:9 - Lock configuration
107863            #[inline(always)]
107864            pub fn lock(&self) -> LOCK_R {
107865                LOCK_R::new(((self.bits >> 8) & 0x03) as u8)
107866            }
107867            ///Bit 10 - Off-state selection for Idle mode
107868            #[inline(always)]
107869            pub fn ossi(&self) -> OSSI_R {
107870                OSSI_R::new(((self.bits >> 10) & 0x01) != 0)
107871            }
107872            ///Bit 11 - Off-state selection for Run mode
107873            #[inline(always)]
107874            pub fn ossr(&self) -> OSSR_R {
107875                OSSR_R::new(((self.bits >> 11) & 0x01) != 0)
107876            }
107877            ///Bit 12 - Break enable
107878            #[inline(always)]
107879            pub fn bke(&self) -> BKE_R {
107880                BKE_R::new(((self.bits >> 12) & 0x01) != 0)
107881            }
107882            ///Bit 13 - Break polarity
107883            #[inline(always)]
107884            pub fn bkp(&self) -> BKP_R {
107885                BKP_R::new(((self.bits >> 13) & 0x01) != 0)
107886            }
107887            ///Bit 14 - Automatic output enable
107888            #[inline(always)]
107889            pub fn aoe(&self) -> AOE_R {
107890                AOE_R::new(((self.bits >> 14) & 0x01) != 0)
107891            }
107892            ///Bit 15 - Main output enable
107893            #[inline(always)]
107894            pub fn moe(&self) -> MOE_R {
107895                MOE_R::new(((self.bits >> 15) & 0x01) != 0)
107896            }
107897            ///Bits 16:19 - Break filter
107898            #[inline(always)]
107899            pub fn bkf(&self) -> BKF_R {
107900                BKF_R::new(((self.bits >> 16) & 0x0f) as u8)
107901            }
107902        }
107903        impl W {
107904            ///Bits 0:7 - Dead-time generator setup
107905            #[inline(always)]
107906            pub fn dtg(&mut self) -> DTG_W {
107907                DTG_W { w: self }
107908            }
107909            ///Bits 8:9 - Lock configuration
107910            #[inline(always)]
107911            pub fn lock(&mut self) -> LOCK_W {
107912                LOCK_W { w: self }
107913            }
107914            ///Bit 10 - Off-state selection for Idle mode
107915            #[inline(always)]
107916            pub fn ossi(&mut self) -> OSSI_W {
107917                OSSI_W { w: self }
107918            }
107919            ///Bit 11 - Off-state selection for Run mode
107920            #[inline(always)]
107921            pub fn ossr(&mut self) -> OSSR_W {
107922                OSSR_W { w: self }
107923            }
107924            ///Bit 12 - Break enable
107925            #[inline(always)]
107926            pub fn bke(&mut self) -> BKE_W {
107927                BKE_W { w: self }
107928            }
107929            ///Bit 13 - Break polarity
107930            #[inline(always)]
107931            pub fn bkp(&mut self) -> BKP_W {
107932                BKP_W { w: self }
107933            }
107934            ///Bit 14 - Automatic output enable
107935            #[inline(always)]
107936            pub fn aoe(&mut self) -> AOE_W {
107937                AOE_W { w: self }
107938            }
107939            ///Bit 15 - Main output enable
107940            #[inline(always)]
107941            pub fn moe(&mut self) -> MOE_W {
107942                MOE_W { w: self }
107943            }
107944            ///Bits 16:19 - Break filter
107945            #[inline(always)]
107946            pub fn bkf(&mut self) -> BKF_W {
107947                BKF_W { w: self }
107948            }
107949        }
107950    }
107951    ///DMA control register
107952    ///
107953    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
107954    ///
107955    ///For information about available fields see [dcr](dcr) module
107956    pub type DCR = crate::Reg<u32, _DCR>;
107957    #[allow(missing_docs)]
107958    #[doc(hidden)]
107959    pub struct _DCR;
107960    ///`read()` method returns [dcr::R](dcr::R) reader structure
107961    impl crate::Readable for DCR {}
107962    ///`write(|w| ..)` method takes [dcr::W](dcr::W) writer structure
107963    impl crate::Writable for DCR {}
107964    ///DMA control register
107965    pub mod dcr {
107966        ///Reader of register DCR
107967        pub type R = crate::R<u32, super::DCR>;
107968        ///Writer for register DCR
107969        pub type W = crate::W<u32, super::DCR>;
107970        ///Register DCR `reset()`'s with value 0
107971        impl crate::ResetValue for super::DCR {
107972            type Type = u32;
107973            #[inline(always)]
107974            fn reset_value() -> Self::Type {
107975                0
107976            }
107977        }
107978        ///Reader of field `DBL`
107979        pub type DBL_R = crate::R<u8, u8>;
107980        ///Write proxy for field `DBL`
107981        pub struct DBL_W<'a> {
107982            w: &'a mut W,
107983        }
107984        impl<'a> DBL_W<'a> {
107985            ///Writes raw bits to the field
107986            #[inline(always)]
107987            pub unsafe fn bits(self, value: u8) -> &'a mut W {
107988                self.w.bits = (self.w.bits & !(0x1f << 8)) | (((value as u32) & 0x1f) << 8);
107989                self.w
107990            }
107991        }
107992        ///Reader of field `DBA`
107993        pub type DBA_R = crate::R<u8, u8>;
107994        ///Write proxy for field `DBA`
107995        pub struct DBA_W<'a> {
107996            w: &'a mut W,
107997        }
107998        impl<'a> DBA_W<'a> {
107999            ///Writes raw bits to the field
108000            #[inline(always)]
108001            pub unsafe fn bits(self, value: u8) -> &'a mut W {
108002                self.w.bits = (self.w.bits & !0x1f) | ((value as u32) & 0x1f);
108003                self.w
108004            }
108005        }
108006        impl R {
108007            ///Bits 8:12 - DMA burst length
108008            #[inline(always)]
108009            pub fn dbl(&self) -> DBL_R {
108010                DBL_R::new(((self.bits >> 8) & 0x1f) as u8)
108011            }
108012            ///Bits 0:4 - DMA base address
108013            #[inline(always)]
108014            pub fn dba(&self) -> DBA_R {
108015                DBA_R::new((self.bits & 0x1f) as u8)
108016            }
108017        }
108018        impl W {
108019            ///Bits 8:12 - DMA burst length
108020            #[inline(always)]
108021            pub fn dbl(&mut self) -> DBL_W {
108022                DBL_W { w: self }
108023            }
108024            ///Bits 0:4 - DMA base address
108025            #[inline(always)]
108026            pub fn dba(&mut self) -> DBA_W {
108027                DBA_W { w: self }
108028            }
108029        }
108030    }
108031    ///DMA address for full transfer
108032    ///
108033    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
108034    ///
108035    ///For information about available fields see [dmar](dmar) module
108036    pub type DMAR = crate::Reg<u32, _DMAR>;
108037    #[allow(missing_docs)]
108038    #[doc(hidden)]
108039    pub struct _DMAR;
108040    ///`read()` method returns [dmar::R](dmar::R) reader structure
108041    impl crate::Readable for DMAR {}
108042    ///`write(|w| ..)` method takes [dmar::W](dmar::W) writer structure
108043    impl crate::Writable for DMAR {}
108044    ///DMA address for full transfer
108045    pub mod dmar {
108046        ///Reader of register DMAR
108047        pub type R = crate::R<u32, super::DMAR>;
108048        ///Writer for register DMAR
108049        pub type W = crate::W<u32, super::DMAR>;
108050        ///Register DMAR `reset()`'s with value 0
108051        impl crate::ResetValue for super::DMAR {
108052            type Type = u32;
108053            #[inline(always)]
108054            fn reset_value() -> Self::Type {
108055                0
108056            }
108057        }
108058        ///Reader of field `DMAB`
108059        pub type DMAB_R = crate::R<u16, u16>;
108060        ///Write proxy for field `DMAB`
108061        pub struct DMAB_W<'a> {
108062            w: &'a mut W,
108063        }
108064        impl<'a> DMAB_W<'a> {
108065            ///Writes raw bits to the field
108066            #[inline(always)]
108067            pub unsafe fn bits(self, value: u16) -> &'a mut W {
108068                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
108069                self.w
108070            }
108071        }
108072        impl R {
108073            ///Bits 0:15 - DMA register for burst accesses
108074            #[inline(always)]
108075            pub fn dmab(&self) -> DMAB_R {
108076                DMAB_R::new((self.bits & 0xffff) as u16)
108077            }
108078        }
108079        impl W {
108080            ///Bits 0:15 - DMA register for burst accesses
108081            #[inline(always)]
108082            pub fn dmab(&mut self) -> DMAB_W {
108083                DMAB_W { w: self }
108084            }
108085        }
108086    }
108087    ///TIM16 option register 1
108088    ///
108089    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
108090    ///
108091    ///For information about available fields see [or](or) module
108092    pub type OR = crate::Reg<u32, _OR>;
108093    #[allow(missing_docs)]
108094    #[doc(hidden)]
108095    pub struct _OR;
108096    ///`read()` method returns [or::R](or::R) reader structure
108097    impl crate::Readable for OR {}
108098    ///`write(|w| ..)` method takes [or::W](or::W) writer structure
108099    impl crate::Writable for OR {}
108100    ///TIM16 option register 1
108101    pub mod or {
108102        ///Reader of register OR
108103        pub type R = crate::R<u32, super::OR>;
108104        ///Writer for register OR
108105        pub type W = crate::W<u32, super::OR>;
108106        ///Register OR `reset()`'s with value 0
108107        impl crate::ResetValue for super::OR {
108108            type Type = u32;
108109            #[inline(always)]
108110            fn reset_value() -> Self::Type {
108111                0
108112            }
108113        }
108114        ///Reader of field `TI1_RMP`
108115        pub type TI1_RMP_R = crate::R<u8, u8>;
108116        ///Write proxy for field `TI1_RMP`
108117        pub struct TI1_RMP_W<'a> {
108118            w: &'a mut W,
108119        }
108120        impl<'a> TI1_RMP_W<'a> {
108121            ///Writes raw bits to the field
108122            #[inline(always)]
108123            pub unsafe fn bits(self, value: u8) -> &'a mut W {
108124                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
108125                self.w
108126            }
108127        }
108128        impl R {
108129            ///Bits 0:1 - Input capture 1 remap
108130            #[inline(always)]
108131            pub fn ti1_rmp(&self) -> TI1_RMP_R {
108132                TI1_RMP_R::new((self.bits & 0x03) as u8)
108133            }
108134        }
108135        impl W {
108136            ///Bits 0:1 - Input capture 1 remap
108137            #[inline(always)]
108138            pub fn ti1_rmp(&mut self) -> TI1_RMP_W {
108139                TI1_RMP_W { w: self }
108140            }
108141        }
108142    }
108143    ///TIM17 option register 1
108144    ///
108145    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
108146    ///
108147    ///For information about available fields see [af1](af1) module
108148    pub type AF1 = crate::Reg<u32, _AF1>;
108149    #[allow(missing_docs)]
108150    #[doc(hidden)]
108151    pub struct _AF1;
108152    ///`read()` method returns [af1::R](af1::R) reader structure
108153    impl crate::Readable for AF1 {}
108154    ///`write(|w| ..)` method takes [af1::W](af1::W) writer structure
108155    impl crate::Writable for AF1 {}
108156    ///TIM17 option register 1
108157    pub mod af1 {
108158        ///Reader of register AF1
108159        pub type R = crate::R<u32, super::AF1>;
108160        ///Writer for register AF1
108161        pub type W = crate::W<u32, super::AF1>;
108162        ///Register AF1 `reset()`'s with value 0
108163        impl crate::ResetValue for super::AF1 {
108164            type Type = u32;
108165            #[inline(always)]
108166            fn reset_value() -> Self::Type {
108167                0
108168            }
108169        }
108170        ///Reader of field `BKINE`
108171        pub type BKINE_R = crate::R<bool, bool>;
108172        ///Write proxy for field `BKINE`
108173        pub struct BKINE_W<'a> {
108174            w: &'a mut W,
108175        }
108176        impl<'a> BKINE_W<'a> {
108177            ///Sets the field bit
108178            #[inline(always)]
108179            pub fn set_bit(self) -> &'a mut W {
108180                self.bit(true)
108181            }
108182            ///Clears the field bit
108183            #[inline(always)]
108184            pub fn clear_bit(self) -> &'a mut W {
108185                self.bit(false)
108186            }
108187            ///Writes raw bits to the field
108188            #[inline(always)]
108189            pub fn bit(self, value: bool) -> &'a mut W {
108190                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
108191                self.w
108192            }
108193        }
108194        ///Reader of field `BKCMP1E`
108195        pub type BKCMP1E_R = crate::R<bool, bool>;
108196        ///Write proxy for field `BKCMP1E`
108197        pub struct BKCMP1E_W<'a> {
108198            w: &'a mut W,
108199        }
108200        impl<'a> BKCMP1E_W<'a> {
108201            ///Sets the field bit
108202            #[inline(always)]
108203            pub fn set_bit(self) -> &'a mut W {
108204                self.bit(true)
108205            }
108206            ///Clears the field bit
108207            #[inline(always)]
108208            pub fn clear_bit(self) -> &'a mut W {
108209                self.bit(false)
108210            }
108211            ///Writes raw bits to the field
108212            #[inline(always)]
108213            pub fn bit(self, value: bool) -> &'a mut W {
108214                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
108215                self.w
108216            }
108217        }
108218        ///Reader of field `BKCMP2E`
108219        pub type BKCMP2E_R = crate::R<bool, bool>;
108220        ///Write proxy for field `BKCMP2E`
108221        pub struct BKCMP2E_W<'a> {
108222            w: &'a mut W,
108223        }
108224        impl<'a> BKCMP2E_W<'a> {
108225            ///Sets the field bit
108226            #[inline(always)]
108227            pub fn set_bit(self) -> &'a mut W {
108228                self.bit(true)
108229            }
108230            ///Clears the field bit
108231            #[inline(always)]
108232            pub fn clear_bit(self) -> &'a mut W {
108233                self.bit(false)
108234            }
108235            ///Writes raw bits to the field
108236            #[inline(always)]
108237            pub fn bit(self, value: bool) -> &'a mut W {
108238                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
108239                self.w
108240            }
108241        }
108242        ///Reader of field `BKINP`
108243        pub type BKINP_R = crate::R<bool, bool>;
108244        ///Write proxy for field `BKINP`
108245        pub struct BKINP_W<'a> {
108246            w: &'a mut W,
108247        }
108248        impl<'a> BKINP_W<'a> {
108249            ///Sets the field bit
108250            #[inline(always)]
108251            pub fn set_bit(self) -> &'a mut W {
108252                self.bit(true)
108253            }
108254            ///Clears the field bit
108255            #[inline(always)]
108256            pub fn clear_bit(self) -> &'a mut W {
108257                self.bit(false)
108258            }
108259            ///Writes raw bits to the field
108260            #[inline(always)]
108261            pub fn bit(self, value: bool) -> &'a mut W {
108262                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
108263                self.w
108264            }
108265        }
108266        ///Reader of field `BKCMP1P`
108267        pub type BKCMP1P_R = crate::R<bool, bool>;
108268        ///Write proxy for field `BKCMP1P`
108269        pub struct BKCMP1P_W<'a> {
108270            w: &'a mut W,
108271        }
108272        impl<'a> BKCMP1P_W<'a> {
108273            ///Sets the field bit
108274            #[inline(always)]
108275            pub fn set_bit(self) -> &'a mut W {
108276                self.bit(true)
108277            }
108278            ///Clears the field bit
108279            #[inline(always)]
108280            pub fn clear_bit(self) -> &'a mut W {
108281                self.bit(false)
108282            }
108283            ///Writes raw bits to the field
108284            #[inline(always)]
108285            pub fn bit(self, value: bool) -> &'a mut W {
108286                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
108287                self.w
108288            }
108289        }
108290        ///Reader of field `BKCMP2P`
108291        pub type BKCMP2P_R = crate::R<bool, bool>;
108292        ///Write proxy for field `BKCMP2P`
108293        pub struct BKCMP2P_W<'a> {
108294            w: &'a mut W,
108295        }
108296        impl<'a> BKCMP2P_W<'a> {
108297            ///Sets the field bit
108298            #[inline(always)]
108299            pub fn set_bit(self) -> &'a mut W {
108300                self.bit(true)
108301            }
108302            ///Clears the field bit
108303            #[inline(always)]
108304            pub fn clear_bit(self) -> &'a mut W {
108305                self.bit(false)
108306            }
108307            ///Writes raw bits to the field
108308            #[inline(always)]
108309            pub fn bit(self, value: bool) -> &'a mut W {
108310                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
108311                self.w
108312            }
108313        }
108314        impl R {
108315            ///Bit 0 - BRK BKIN input enable
108316            #[inline(always)]
108317            pub fn bkine(&self) -> BKINE_R {
108318                BKINE_R::new((self.bits & 0x01) != 0)
108319            }
108320            ///Bit 1 - BRK COMP1 enable
108321            #[inline(always)]
108322            pub fn bkcmp1e(&self) -> BKCMP1E_R {
108323                BKCMP1E_R::new(((self.bits >> 1) & 0x01) != 0)
108324            }
108325            ///Bit 2 - BRK COMP2 enable
108326            #[inline(always)]
108327            pub fn bkcmp2e(&self) -> BKCMP2E_R {
108328                BKCMP2E_R::new(((self.bits >> 2) & 0x01) != 0)
108329            }
108330            ///Bit 9 - BRK BKIN input polarity
108331            #[inline(always)]
108332            pub fn bkinp(&self) -> BKINP_R {
108333                BKINP_R::new(((self.bits >> 9) & 0x01) != 0)
108334            }
108335            ///Bit 10 - BRK COMP1 input polarity
108336            #[inline(always)]
108337            pub fn bkcmp1p(&self) -> BKCMP1P_R {
108338                BKCMP1P_R::new(((self.bits >> 10) & 0x01) != 0)
108339            }
108340            ///Bit 11 - BRK COMP2 input polarit
108341            #[inline(always)]
108342            pub fn bkcmp2p(&self) -> BKCMP2P_R {
108343                BKCMP2P_R::new(((self.bits >> 11) & 0x01) != 0)
108344            }
108345        }
108346        impl W {
108347            ///Bit 0 - BRK BKIN input enable
108348            #[inline(always)]
108349            pub fn bkine(&mut self) -> BKINE_W {
108350                BKINE_W { w: self }
108351            }
108352            ///Bit 1 - BRK COMP1 enable
108353            #[inline(always)]
108354            pub fn bkcmp1e(&mut self) -> BKCMP1E_W {
108355                BKCMP1E_W { w: self }
108356            }
108357            ///Bit 2 - BRK COMP2 enable
108358            #[inline(always)]
108359            pub fn bkcmp2e(&mut self) -> BKCMP2E_W {
108360                BKCMP2E_W { w: self }
108361            }
108362            ///Bit 9 - BRK BKIN input polarity
108363            #[inline(always)]
108364            pub fn bkinp(&mut self) -> BKINP_W {
108365                BKINP_W { w: self }
108366            }
108367            ///Bit 10 - BRK COMP1 input polarity
108368            #[inline(always)]
108369            pub fn bkcmp1p(&mut self) -> BKCMP1P_W {
108370                BKCMP1P_W { w: self }
108371            }
108372            ///Bit 11 - BRK COMP2 input polarit
108373            #[inline(always)]
108374            pub fn bkcmp2p(&mut self) -> BKCMP2P_W {
108375                BKCMP2P_W { w: self }
108376            }
108377        }
108378    }
108379}
108380///Advanced-timers
108381pub struct TIM1 {
108382    _marker: PhantomData<*const ()>,
108383}
108384unsafe impl Send for TIM1 {}
108385impl TIM1 {
108386    ///Returns a pointer to the register block
108387    #[inline(always)]
108388    pub const fn ptr() -> *const tim1::RegisterBlock {
108389        0x4001_2c00 as *const _
108390    }
108391}
108392impl Deref for TIM1 {
108393    type Target = tim1::RegisterBlock;
108394    #[inline(always)]
108395    fn deref(&self) -> &Self::Target {
108396        unsafe { &*TIM1::ptr() }
108397    }
108398}
108399///Advanced-timers
108400pub mod tim1 {
108401    ///Register block
108402    #[repr(C)]
108403    pub struct RegisterBlock {
108404        ///0x00 - control register 1
108405        pub cr1: CR1,
108406        ///0x04 - control register 2
108407        pub cr2: CR2,
108408        ///0x08 - slave mode control register
108409        pub smcr: SMCR,
108410        ///0x0c - DMA/Interrupt enable register
108411        pub dier: DIER,
108412        ///0x10 - status register
108413        pub sr: SR,
108414        ///0x14 - event generation register
108415        pub egr: EGR,
108416        _reserved_6_ccmr1: [u8; 4usize],
108417        _reserved_7_ccmr2: [u8; 4usize],
108418        ///0x20 - capture/compare enable register
108419        pub ccer: CCER,
108420        ///0x24 - counter
108421        pub cnt: CNT,
108422        ///0x28 - prescaler
108423        pub psc: PSC,
108424        ///0x2c - auto-reload register
108425        pub arr: ARR,
108426        ///0x30 - repetition counter register
108427        pub rcr: RCR,
108428        ///0x34 - capture/compare register 1
108429        pub ccr1: CCR1,
108430        ///0x38 - capture/compare register 2
108431        pub ccr2: CCR2,
108432        ///0x3c - capture/compare register 3
108433        pub ccr3: CCR3,
108434        ///0x40 - capture/compare register 4
108435        pub ccr4: CCR4,
108436        ///0x44 - break and dead-time register
108437        pub bdtr: BDTR,
108438        ///0x48 - DMA control register
108439        pub dcr: DCR,
108440        ///0x4c - DMA address for full transfer
108441        pub dmar: DMAR,
108442        ///0x50 - DMA address for full transfer
108443        pub or: OR,
108444        ///0x54 - capture/compare mode register 2 (output mode)
108445        pub ccmr3_output: CCMR3_OUTPUT,
108446        ///0x58 - capture/compare register 4
108447        pub ccr5: CCR5,
108448        ///0x5c - capture/compare register 4
108449        pub ccr6: CCR6,
108450        ///0x60 - DMA address for full transfer
108451        pub af1: AF1,
108452        ///0x64 - DMA address for full transfer
108453        pub af2: AF2,
108454    }
108455    impl RegisterBlock {
108456        ///0x18 - capture/compare mode register 1 (output mode)
108457        #[inline(always)]
108458        pub fn ccmr1_output(&self) -> &CCMR1_OUTPUT {
108459            unsafe { &*(((self as *const Self) as *const u8).add(24usize) as *const CCMR1_OUTPUT) }
108460        }
108461        ///0x18 - capture/compare mode register 1 (output mode)
108462        #[inline(always)]
108463        pub fn ccmr1_output_mut(&self) -> &mut CCMR1_OUTPUT {
108464            unsafe { &mut *(((self as *const Self) as *mut u8).add(24usize) as *mut CCMR1_OUTPUT) }
108465        }
108466        ///0x18 - capture/compare mode register 1 (output mode)
108467        #[inline(always)]
108468        pub fn ccmr1_input(&self) -> &CCMR1_INPUT {
108469            unsafe { &*(((self as *const Self) as *const u8).add(24usize) as *const CCMR1_INPUT) }
108470        }
108471        ///0x18 - capture/compare mode register 1 (output mode)
108472        #[inline(always)]
108473        pub fn ccmr1_input_mut(&self) -> &mut CCMR1_INPUT {
108474            unsafe { &mut *(((self as *const Self) as *mut u8).add(24usize) as *mut CCMR1_INPUT) }
108475        }
108476        ///0x1c - capture/compare mode register 2 (output mode)
108477        #[inline(always)]
108478        pub fn ccmr2_input(&self) -> &CCMR2_INPUT {
108479            unsafe { &*(((self as *const Self) as *const u8).add(28usize) as *const CCMR2_INPUT) }
108480        }
108481        ///0x1c - capture/compare mode register 2 (output mode)
108482        #[inline(always)]
108483        pub fn ccmr2_input_mut(&self) -> &mut CCMR2_INPUT {
108484            unsafe { &mut *(((self as *const Self) as *mut u8).add(28usize) as *mut CCMR2_INPUT) }
108485        }
108486        ///0x1c - capture/compare mode register 2 (output mode)
108487        #[inline(always)]
108488        pub fn ccmr2_output(&self) -> &CCMR2_OUTPUT {
108489            unsafe { &*(((self as *const Self) as *const u8).add(28usize) as *const CCMR2_OUTPUT) }
108490        }
108491        ///0x1c - capture/compare mode register 2 (output mode)
108492        #[inline(always)]
108493        pub fn ccmr2_output_mut(&self) -> &mut CCMR2_OUTPUT {
108494            unsafe { &mut *(((self as *const Self) as *mut u8).add(28usize) as *mut CCMR2_OUTPUT) }
108495        }
108496    }
108497    ///control register 1
108498    ///
108499    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
108500    ///
108501    ///For information about available fields see [cr1](cr1) module
108502    pub type CR1 = crate::Reg<u32, _CR1>;
108503    #[allow(missing_docs)]
108504    #[doc(hidden)]
108505    pub struct _CR1;
108506    ///`read()` method returns [cr1::R](cr1::R) reader structure
108507    impl crate::Readable for CR1 {}
108508    ///`write(|w| ..)` method takes [cr1::W](cr1::W) writer structure
108509    impl crate::Writable for CR1 {}
108510    ///control register 1
108511    pub mod cr1 {
108512        ///Reader of register CR1
108513        pub type R = crate::R<u32, super::CR1>;
108514        ///Writer for register CR1
108515        pub type W = crate::W<u32, super::CR1>;
108516        ///Register CR1 `reset()`'s with value 0
108517        impl crate::ResetValue for super::CR1 {
108518            type Type = u32;
108519            #[inline(always)]
108520            fn reset_value() -> Self::Type {
108521                0
108522            }
108523        }
108524        ///Reader of field `CEN`
108525        pub type CEN_R = crate::R<bool, bool>;
108526        ///Write proxy for field `CEN`
108527        pub struct CEN_W<'a> {
108528            w: &'a mut W,
108529        }
108530        impl<'a> CEN_W<'a> {
108531            ///Sets the field bit
108532            #[inline(always)]
108533            pub fn set_bit(self) -> &'a mut W {
108534                self.bit(true)
108535            }
108536            ///Clears the field bit
108537            #[inline(always)]
108538            pub fn clear_bit(self) -> &'a mut W {
108539                self.bit(false)
108540            }
108541            ///Writes raw bits to the field
108542            #[inline(always)]
108543            pub fn bit(self, value: bool) -> &'a mut W {
108544                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
108545                self.w
108546            }
108547        }
108548        ///Reader of field `OPM`
108549        pub type OPM_R = crate::R<bool, bool>;
108550        ///Write proxy for field `OPM`
108551        pub struct OPM_W<'a> {
108552            w: &'a mut W,
108553        }
108554        impl<'a> OPM_W<'a> {
108555            ///Sets the field bit
108556            #[inline(always)]
108557            pub fn set_bit(self) -> &'a mut W {
108558                self.bit(true)
108559            }
108560            ///Clears the field bit
108561            #[inline(always)]
108562            pub fn clear_bit(self) -> &'a mut W {
108563                self.bit(false)
108564            }
108565            ///Writes raw bits to the field
108566            #[inline(always)]
108567            pub fn bit(self, value: bool) -> &'a mut W {
108568                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
108569                self.w
108570            }
108571        }
108572        ///Reader of field `UDIS`
108573        pub type UDIS_R = crate::R<bool, bool>;
108574        ///Write proxy for field `UDIS`
108575        pub struct UDIS_W<'a> {
108576            w: &'a mut W,
108577        }
108578        impl<'a> UDIS_W<'a> {
108579            ///Sets the field bit
108580            #[inline(always)]
108581            pub fn set_bit(self) -> &'a mut W {
108582                self.bit(true)
108583            }
108584            ///Clears the field bit
108585            #[inline(always)]
108586            pub fn clear_bit(self) -> &'a mut W {
108587                self.bit(false)
108588            }
108589            ///Writes raw bits to the field
108590            #[inline(always)]
108591            pub fn bit(self, value: bool) -> &'a mut W {
108592                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
108593                self.w
108594            }
108595        }
108596        ///Reader of field `URS`
108597        pub type URS_R = crate::R<bool, bool>;
108598        ///Write proxy for field `URS`
108599        pub struct URS_W<'a> {
108600            w: &'a mut W,
108601        }
108602        impl<'a> URS_W<'a> {
108603            ///Sets the field bit
108604            #[inline(always)]
108605            pub fn set_bit(self) -> &'a mut W {
108606                self.bit(true)
108607            }
108608            ///Clears the field bit
108609            #[inline(always)]
108610            pub fn clear_bit(self) -> &'a mut W {
108611                self.bit(false)
108612            }
108613            ///Writes raw bits to the field
108614            #[inline(always)]
108615            pub fn bit(self, value: bool) -> &'a mut W {
108616                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
108617                self.w
108618            }
108619        }
108620        ///Reader of field `DIR`
108621        pub type DIR_R = crate::R<bool, bool>;
108622        ///Write proxy for field `DIR`
108623        pub struct DIR_W<'a> {
108624            w: &'a mut W,
108625        }
108626        impl<'a> DIR_W<'a> {
108627            ///Sets the field bit
108628            #[inline(always)]
108629            pub fn set_bit(self) -> &'a mut W {
108630                self.bit(true)
108631            }
108632            ///Clears the field bit
108633            #[inline(always)]
108634            pub fn clear_bit(self) -> &'a mut W {
108635                self.bit(false)
108636            }
108637            ///Writes raw bits to the field
108638            #[inline(always)]
108639            pub fn bit(self, value: bool) -> &'a mut W {
108640                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
108641                self.w
108642            }
108643        }
108644        ///Reader of field `CMS`
108645        pub type CMS_R = crate::R<u8, u8>;
108646        ///Write proxy for field `CMS`
108647        pub struct CMS_W<'a> {
108648            w: &'a mut W,
108649        }
108650        impl<'a> CMS_W<'a> {
108651            ///Writes raw bits to the field
108652            #[inline(always)]
108653            pub unsafe fn bits(self, value: u8) -> &'a mut W {
108654                self.w.bits = (self.w.bits & !(0x03 << 5)) | (((value as u32) & 0x03) << 5);
108655                self.w
108656            }
108657        }
108658        ///Reader of field `ARPE`
108659        pub type ARPE_R = crate::R<bool, bool>;
108660        ///Write proxy for field `ARPE`
108661        pub struct ARPE_W<'a> {
108662            w: &'a mut W,
108663        }
108664        impl<'a> ARPE_W<'a> {
108665            ///Sets the field bit
108666            #[inline(always)]
108667            pub fn set_bit(self) -> &'a mut W {
108668                self.bit(true)
108669            }
108670            ///Clears the field bit
108671            #[inline(always)]
108672            pub fn clear_bit(self) -> &'a mut W {
108673                self.bit(false)
108674            }
108675            ///Writes raw bits to the field
108676            #[inline(always)]
108677            pub fn bit(self, value: bool) -> &'a mut W {
108678                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
108679                self.w
108680            }
108681        }
108682        ///Reader of field `CKD`
108683        pub type CKD_R = crate::R<u8, u8>;
108684        ///Write proxy for field `CKD`
108685        pub struct CKD_W<'a> {
108686            w: &'a mut W,
108687        }
108688        impl<'a> CKD_W<'a> {
108689            ///Writes raw bits to the field
108690            #[inline(always)]
108691            pub unsafe fn bits(self, value: u8) -> &'a mut W {
108692                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
108693                self.w
108694            }
108695        }
108696        ///Reader of field `UIFREMAP`
108697        pub type UIFREMAP_R = crate::R<bool, bool>;
108698        ///Write proxy for field `UIFREMAP`
108699        pub struct UIFREMAP_W<'a> {
108700            w: &'a mut W,
108701        }
108702        impl<'a> UIFREMAP_W<'a> {
108703            ///Sets the field bit
108704            #[inline(always)]
108705            pub fn set_bit(self) -> &'a mut W {
108706                self.bit(true)
108707            }
108708            ///Clears the field bit
108709            #[inline(always)]
108710            pub fn clear_bit(self) -> &'a mut W {
108711                self.bit(false)
108712            }
108713            ///Writes raw bits to the field
108714            #[inline(always)]
108715            pub fn bit(self, value: bool) -> &'a mut W {
108716                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
108717                self.w
108718            }
108719        }
108720        impl R {
108721            ///Bit 0 - Counter enable
108722            #[inline(always)]
108723            pub fn cen(&self) -> CEN_R {
108724                CEN_R::new((self.bits & 0x01) != 0)
108725            }
108726            ///Bit 3 - One-pulse mode
108727            #[inline(always)]
108728            pub fn opm(&self) -> OPM_R {
108729                OPM_R::new(((self.bits >> 3) & 0x01) != 0)
108730            }
108731            ///Bit 1 - Update disable
108732            #[inline(always)]
108733            pub fn udis(&self) -> UDIS_R {
108734                UDIS_R::new(((self.bits >> 1) & 0x01) != 0)
108735            }
108736            ///Bit 2 - Update request source
108737            #[inline(always)]
108738            pub fn urs(&self) -> URS_R {
108739                URS_R::new(((self.bits >> 2) & 0x01) != 0)
108740            }
108741            ///Bit 4 - Direction
108742            #[inline(always)]
108743            pub fn dir(&self) -> DIR_R {
108744                DIR_R::new(((self.bits >> 4) & 0x01) != 0)
108745            }
108746            ///Bits 5:6 - Center-aligned mode selection
108747            #[inline(always)]
108748            pub fn cms(&self) -> CMS_R {
108749                CMS_R::new(((self.bits >> 5) & 0x03) as u8)
108750            }
108751            ///Bit 7 - Auto-reload preload enable
108752            #[inline(always)]
108753            pub fn arpe(&self) -> ARPE_R {
108754                ARPE_R::new(((self.bits >> 7) & 0x01) != 0)
108755            }
108756            ///Bits 8:9 - Clock division
108757            #[inline(always)]
108758            pub fn ckd(&self) -> CKD_R {
108759                CKD_R::new(((self.bits >> 8) & 0x03) as u8)
108760            }
108761            ///Bit 11 - UIF status bit remapping
108762            #[inline(always)]
108763            pub fn uifremap(&self) -> UIFREMAP_R {
108764                UIFREMAP_R::new(((self.bits >> 11) & 0x01) != 0)
108765            }
108766        }
108767        impl W {
108768            ///Bit 0 - Counter enable
108769            #[inline(always)]
108770            pub fn cen(&mut self) -> CEN_W {
108771                CEN_W { w: self }
108772            }
108773            ///Bit 3 - One-pulse mode
108774            #[inline(always)]
108775            pub fn opm(&mut self) -> OPM_W {
108776                OPM_W { w: self }
108777            }
108778            ///Bit 1 - Update disable
108779            #[inline(always)]
108780            pub fn udis(&mut self) -> UDIS_W {
108781                UDIS_W { w: self }
108782            }
108783            ///Bit 2 - Update request source
108784            #[inline(always)]
108785            pub fn urs(&mut self) -> URS_W {
108786                URS_W { w: self }
108787            }
108788            ///Bit 4 - Direction
108789            #[inline(always)]
108790            pub fn dir(&mut self) -> DIR_W {
108791                DIR_W { w: self }
108792            }
108793            ///Bits 5:6 - Center-aligned mode selection
108794            #[inline(always)]
108795            pub fn cms(&mut self) -> CMS_W {
108796                CMS_W { w: self }
108797            }
108798            ///Bit 7 - Auto-reload preload enable
108799            #[inline(always)]
108800            pub fn arpe(&mut self) -> ARPE_W {
108801                ARPE_W { w: self }
108802            }
108803            ///Bits 8:9 - Clock division
108804            #[inline(always)]
108805            pub fn ckd(&mut self) -> CKD_W {
108806                CKD_W { w: self }
108807            }
108808            ///Bit 11 - UIF status bit remapping
108809            #[inline(always)]
108810            pub fn uifremap(&mut self) -> UIFREMAP_W {
108811                UIFREMAP_W { w: self }
108812            }
108813        }
108814    }
108815    ///control register 2
108816    ///
108817    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
108818    ///
108819    ///For information about available fields see [cr2](cr2) module
108820    pub type CR2 = crate::Reg<u32, _CR2>;
108821    #[allow(missing_docs)]
108822    #[doc(hidden)]
108823    pub struct _CR2;
108824    ///`read()` method returns [cr2::R](cr2::R) reader structure
108825    impl crate::Readable for CR2 {}
108826    ///`write(|w| ..)` method takes [cr2::W](cr2::W) writer structure
108827    impl crate::Writable for CR2 {}
108828    ///control register 2
108829    pub mod cr2 {
108830        ///Reader of register CR2
108831        pub type R = crate::R<u32, super::CR2>;
108832        ///Writer for register CR2
108833        pub type W = crate::W<u32, super::CR2>;
108834        ///Register CR2 `reset()`'s with value 0
108835        impl crate::ResetValue for super::CR2 {
108836            type Type = u32;
108837            #[inline(always)]
108838            fn reset_value() -> Self::Type {
108839                0
108840            }
108841        }
108842        ///Reader of field `MMS2`
108843        pub type MMS2_R = crate::R<u8, u8>;
108844        ///Write proxy for field `MMS2`
108845        pub struct MMS2_W<'a> {
108846            w: &'a mut W,
108847        }
108848        impl<'a> MMS2_W<'a> {
108849            ///Writes raw bits to the field
108850            #[inline(always)]
108851            pub unsafe fn bits(self, value: u8) -> &'a mut W {
108852                self.w.bits = (self.w.bits & !(0x0f << 20)) | (((value as u32) & 0x0f) << 20);
108853                self.w
108854            }
108855        }
108856        ///Reader of field `OIS6`
108857        pub type OIS6_R = crate::R<bool, bool>;
108858        ///Write proxy for field `OIS6`
108859        pub struct OIS6_W<'a> {
108860            w: &'a mut W,
108861        }
108862        impl<'a> OIS6_W<'a> {
108863            ///Sets the field bit
108864            #[inline(always)]
108865            pub fn set_bit(self) -> &'a mut W {
108866                self.bit(true)
108867            }
108868            ///Clears the field bit
108869            #[inline(always)]
108870            pub fn clear_bit(self) -> &'a mut W {
108871                self.bit(false)
108872            }
108873            ///Writes raw bits to the field
108874            #[inline(always)]
108875            pub fn bit(self, value: bool) -> &'a mut W {
108876                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
108877                self.w
108878            }
108879        }
108880        ///Reader of field `OIS5`
108881        pub type OIS5_R = crate::R<bool, bool>;
108882        ///Write proxy for field `OIS5`
108883        pub struct OIS5_W<'a> {
108884            w: &'a mut W,
108885        }
108886        impl<'a> OIS5_W<'a> {
108887            ///Sets the field bit
108888            #[inline(always)]
108889            pub fn set_bit(self) -> &'a mut W {
108890                self.bit(true)
108891            }
108892            ///Clears the field bit
108893            #[inline(always)]
108894            pub fn clear_bit(self) -> &'a mut W {
108895                self.bit(false)
108896            }
108897            ///Writes raw bits to the field
108898            #[inline(always)]
108899            pub fn bit(self, value: bool) -> &'a mut W {
108900                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
108901                self.w
108902            }
108903        }
108904        ///Reader of field `OIS4`
108905        pub type OIS4_R = crate::R<bool, bool>;
108906        ///Write proxy for field `OIS4`
108907        pub struct OIS4_W<'a> {
108908            w: &'a mut W,
108909        }
108910        impl<'a> OIS4_W<'a> {
108911            ///Sets the field bit
108912            #[inline(always)]
108913            pub fn set_bit(self) -> &'a mut W {
108914                self.bit(true)
108915            }
108916            ///Clears the field bit
108917            #[inline(always)]
108918            pub fn clear_bit(self) -> &'a mut W {
108919                self.bit(false)
108920            }
108921            ///Writes raw bits to the field
108922            #[inline(always)]
108923            pub fn bit(self, value: bool) -> &'a mut W {
108924                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
108925                self.w
108926            }
108927        }
108928        ///Reader of field `OIS3N`
108929        pub type OIS3N_R = crate::R<bool, bool>;
108930        ///Write proxy for field `OIS3N`
108931        pub struct OIS3N_W<'a> {
108932            w: &'a mut W,
108933        }
108934        impl<'a> OIS3N_W<'a> {
108935            ///Sets the field bit
108936            #[inline(always)]
108937            pub fn set_bit(self) -> &'a mut W {
108938                self.bit(true)
108939            }
108940            ///Clears the field bit
108941            #[inline(always)]
108942            pub fn clear_bit(self) -> &'a mut W {
108943                self.bit(false)
108944            }
108945            ///Writes raw bits to the field
108946            #[inline(always)]
108947            pub fn bit(self, value: bool) -> &'a mut W {
108948                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
108949                self.w
108950            }
108951        }
108952        ///Reader of field `OIS3`
108953        pub type OIS3_R = crate::R<bool, bool>;
108954        ///Write proxy for field `OIS3`
108955        pub struct OIS3_W<'a> {
108956            w: &'a mut W,
108957        }
108958        impl<'a> OIS3_W<'a> {
108959            ///Sets the field bit
108960            #[inline(always)]
108961            pub fn set_bit(self) -> &'a mut W {
108962                self.bit(true)
108963            }
108964            ///Clears the field bit
108965            #[inline(always)]
108966            pub fn clear_bit(self) -> &'a mut W {
108967                self.bit(false)
108968            }
108969            ///Writes raw bits to the field
108970            #[inline(always)]
108971            pub fn bit(self, value: bool) -> &'a mut W {
108972                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
108973                self.w
108974            }
108975        }
108976        ///Reader of field `OIS2N`
108977        pub type OIS2N_R = crate::R<bool, bool>;
108978        ///Write proxy for field `OIS2N`
108979        pub struct OIS2N_W<'a> {
108980            w: &'a mut W,
108981        }
108982        impl<'a> OIS2N_W<'a> {
108983            ///Sets the field bit
108984            #[inline(always)]
108985            pub fn set_bit(self) -> &'a mut W {
108986                self.bit(true)
108987            }
108988            ///Clears the field bit
108989            #[inline(always)]
108990            pub fn clear_bit(self) -> &'a mut W {
108991                self.bit(false)
108992            }
108993            ///Writes raw bits to the field
108994            #[inline(always)]
108995            pub fn bit(self, value: bool) -> &'a mut W {
108996                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
108997                self.w
108998            }
108999        }
109000        ///Reader of field `OIS2`
109001        pub type OIS2_R = crate::R<bool, bool>;
109002        ///Write proxy for field `OIS2`
109003        pub struct OIS2_W<'a> {
109004            w: &'a mut W,
109005        }
109006        impl<'a> OIS2_W<'a> {
109007            ///Sets the field bit
109008            #[inline(always)]
109009            pub fn set_bit(self) -> &'a mut W {
109010                self.bit(true)
109011            }
109012            ///Clears the field bit
109013            #[inline(always)]
109014            pub fn clear_bit(self) -> &'a mut W {
109015                self.bit(false)
109016            }
109017            ///Writes raw bits to the field
109018            #[inline(always)]
109019            pub fn bit(self, value: bool) -> &'a mut W {
109020                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
109021                self.w
109022            }
109023        }
109024        ///Reader of field `OIS1N`
109025        pub type OIS1N_R = crate::R<bool, bool>;
109026        ///Write proxy for field `OIS1N`
109027        pub struct OIS1N_W<'a> {
109028            w: &'a mut W,
109029        }
109030        impl<'a> OIS1N_W<'a> {
109031            ///Sets the field bit
109032            #[inline(always)]
109033            pub fn set_bit(self) -> &'a mut W {
109034                self.bit(true)
109035            }
109036            ///Clears the field bit
109037            #[inline(always)]
109038            pub fn clear_bit(self) -> &'a mut W {
109039                self.bit(false)
109040            }
109041            ///Writes raw bits to the field
109042            #[inline(always)]
109043            pub fn bit(self, value: bool) -> &'a mut W {
109044                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
109045                self.w
109046            }
109047        }
109048        ///Reader of field `OIS1`
109049        pub type OIS1_R = crate::R<bool, bool>;
109050        ///Write proxy for field `OIS1`
109051        pub struct OIS1_W<'a> {
109052            w: &'a mut W,
109053        }
109054        impl<'a> OIS1_W<'a> {
109055            ///Sets the field bit
109056            #[inline(always)]
109057            pub fn set_bit(self) -> &'a mut W {
109058                self.bit(true)
109059            }
109060            ///Clears the field bit
109061            #[inline(always)]
109062            pub fn clear_bit(self) -> &'a mut W {
109063                self.bit(false)
109064            }
109065            ///Writes raw bits to the field
109066            #[inline(always)]
109067            pub fn bit(self, value: bool) -> &'a mut W {
109068                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
109069                self.w
109070            }
109071        }
109072        ///Reader of field `TI1S`
109073        pub type TI1S_R = crate::R<bool, bool>;
109074        ///Write proxy for field `TI1S`
109075        pub struct TI1S_W<'a> {
109076            w: &'a mut W,
109077        }
109078        impl<'a> TI1S_W<'a> {
109079            ///Sets the field bit
109080            #[inline(always)]
109081            pub fn set_bit(self) -> &'a mut W {
109082                self.bit(true)
109083            }
109084            ///Clears the field bit
109085            #[inline(always)]
109086            pub fn clear_bit(self) -> &'a mut W {
109087                self.bit(false)
109088            }
109089            ///Writes raw bits to the field
109090            #[inline(always)]
109091            pub fn bit(self, value: bool) -> &'a mut W {
109092                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
109093                self.w
109094            }
109095        }
109096        ///Reader of field `MMS`
109097        pub type MMS_R = crate::R<u8, u8>;
109098        ///Write proxy for field `MMS`
109099        pub struct MMS_W<'a> {
109100            w: &'a mut W,
109101        }
109102        impl<'a> MMS_W<'a> {
109103            ///Writes raw bits to the field
109104            #[inline(always)]
109105            pub unsafe fn bits(self, value: u8) -> &'a mut W {
109106                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
109107                self.w
109108            }
109109        }
109110        ///Reader of field `CCDS`
109111        pub type CCDS_R = crate::R<bool, bool>;
109112        ///Write proxy for field `CCDS`
109113        pub struct CCDS_W<'a> {
109114            w: &'a mut W,
109115        }
109116        impl<'a> CCDS_W<'a> {
109117            ///Sets the field bit
109118            #[inline(always)]
109119            pub fn set_bit(self) -> &'a mut W {
109120                self.bit(true)
109121            }
109122            ///Clears the field bit
109123            #[inline(always)]
109124            pub fn clear_bit(self) -> &'a mut W {
109125                self.bit(false)
109126            }
109127            ///Writes raw bits to the field
109128            #[inline(always)]
109129            pub fn bit(self, value: bool) -> &'a mut W {
109130                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
109131                self.w
109132            }
109133        }
109134        ///Reader of field `CCUS`
109135        pub type CCUS_R = crate::R<bool, bool>;
109136        ///Write proxy for field `CCUS`
109137        pub struct CCUS_W<'a> {
109138            w: &'a mut W,
109139        }
109140        impl<'a> CCUS_W<'a> {
109141            ///Sets the field bit
109142            #[inline(always)]
109143            pub fn set_bit(self) -> &'a mut W {
109144                self.bit(true)
109145            }
109146            ///Clears the field bit
109147            #[inline(always)]
109148            pub fn clear_bit(self) -> &'a mut W {
109149                self.bit(false)
109150            }
109151            ///Writes raw bits to the field
109152            #[inline(always)]
109153            pub fn bit(self, value: bool) -> &'a mut W {
109154                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
109155                self.w
109156            }
109157        }
109158        ///Reader of field `CCPC`
109159        pub type CCPC_R = crate::R<bool, bool>;
109160        ///Write proxy for field `CCPC`
109161        pub struct CCPC_W<'a> {
109162            w: &'a mut W,
109163        }
109164        impl<'a> CCPC_W<'a> {
109165            ///Sets the field bit
109166            #[inline(always)]
109167            pub fn set_bit(self) -> &'a mut W {
109168                self.bit(true)
109169            }
109170            ///Clears the field bit
109171            #[inline(always)]
109172            pub fn clear_bit(self) -> &'a mut W {
109173                self.bit(false)
109174            }
109175            ///Writes raw bits to the field
109176            #[inline(always)]
109177            pub fn bit(self, value: bool) -> &'a mut W {
109178                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
109179                self.w
109180            }
109181        }
109182        impl R {
109183            ///Bits 20:23 - Master mode selection 2
109184            #[inline(always)]
109185            pub fn mms2(&self) -> MMS2_R {
109186                MMS2_R::new(((self.bits >> 20) & 0x0f) as u8)
109187            }
109188            ///Bit 18 - Output Idle state 6 (OC6 output)
109189            #[inline(always)]
109190            pub fn ois6(&self) -> OIS6_R {
109191                OIS6_R::new(((self.bits >> 18) & 0x01) != 0)
109192            }
109193            ///Bit 16 - Output Idle state 5 (OC5 output)
109194            #[inline(always)]
109195            pub fn ois5(&self) -> OIS5_R {
109196                OIS5_R::new(((self.bits >> 16) & 0x01) != 0)
109197            }
109198            ///Bit 14 - Output Idle state 4
109199            #[inline(always)]
109200            pub fn ois4(&self) -> OIS4_R {
109201                OIS4_R::new(((self.bits >> 14) & 0x01) != 0)
109202            }
109203            ///Bit 13 - Output Idle state 3
109204            #[inline(always)]
109205            pub fn ois3n(&self) -> OIS3N_R {
109206                OIS3N_R::new(((self.bits >> 13) & 0x01) != 0)
109207            }
109208            ///Bit 12 - Output Idle state 3
109209            #[inline(always)]
109210            pub fn ois3(&self) -> OIS3_R {
109211                OIS3_R::new(((self.bits >> 12) & 0x01) != 0)
109212            }
109213            ///Bit 11 - Output Idle state 2
109214            #[inline(always)]
109215            pub fn ois2n(&self) -> OIS2N_R {
109216                OIS2N_R::new(((self.bits >> 11) & 0x01) != 0)
109217            }
109218            ///Bit 10 - Output Idle state 2
109219            #[inline(always)]
109220            pub fn ois2(&self) -> OIS2_R {
109221                OIS2_R::new(((self.bits >> 10) & 0x01) != 0)
109222            }
109223            ///Bit 9 - Output Idle state 1
109224            #[inline(always)]
109225            pub fn ois1n(&self) -> OIS1N_R {
109226                OIS1N_R::new(((self.bits >> 9) & 0x01) != 0)
109227            }
109228            ///Bit 8 - Output Idle state 1
109229            #[inline(always)]
109230            pub fn ois1(&self) -> OIS1_R {
109231                OIS1_R::new(((self.bits >> 8) & 0x01) != 0)
109232            }
109233            ///Bit 7 - TI1 selection
109234            #[inline(always)]
109235            pub fn ti1s(&self) -> TI1S_R {
109236                TI1S_R::new(((self.bits >> 7) & 0x01) != 0)
109237            }
109238            ///Bits 4:6 - Master mode selection
109239            #[inline(always)]
109240            pub fn mms(&self) -> MMS_R {
109241                MMS_R::new(((self.bits >> 4) & 0x07) as u8)
109242            }
109243            ///Bit 3 - Capture/compare DMA selection
109244            #[inline(always)]
109245            pub fn ccds(&self) -> CCDS_R {
109246                CCDS_R::new(((self.bits >> 3) & 0x01) != 0)
109247            }
109248            ///Bit 2 - Capture/compare control update selection
109249            #[inline(always)]
109250            pub fn ccus(&self) -> CCUS_R {
109251                CCUS_R::new(((self.bits >> 2) & 0x01) != 0)
109252            }
109253            ///Bit 0 - Capture/compare preloaded control
109254            #[inline(always)]
109255            pub fn ccpc(&self) -> CCPC_R {
109256                CCPC_R::new((self.bits & 0x01) != 0)
109257            }
109258        }
109259        impl W {
109260            ///Bits 20:23 - Master mode selection 2
109261            #[inline(always)]
109262            pub fn mms2(&mut self) -> MMS2_W {
109263                MMS2_W { w: self }
109264            }
109265            ///Bit 18 - Output Idle state 6 (OC6 output)
109266            #[inline(always)]
109267            pub fn ois6(&mut self) -> OIS6_W {
109268                OIS6_W { w: self }
109269            }
109270            ///Bit 16 - Output Idle state 5 (OC5 output)
109271            #[inline(always)]
109272            pub fn ois5(&mut self) -> OIS5_W {
109273                OIS5_W { w: self }
109274            }
109275            ///Bit 14 - Output Idle state 4
109276            #[inline(always)]
109277            pub fn ois4(&mut self) -> OIS4_W {
109278                OIS4_W { w: self }
109279            }
109280            ///Bit 13 - Output Idle state 3
109281            #[inline(always)]
109282            pub fn ois3n(&mut self) -> OIS3N_W {
109283                OIS3N_W { w: self }
109284            }
109285            ///Bit 12 - Output Idle state 3
109286            #[inline(always)]
109287            pub fn ois3(&mut self) -> OIS3_W {
109288                OIS3_W { w: self }
109289            }
109290            ///Bit 11 - Output Idle state 2
109291            #[inline(always)]
109292            pub fn ois2n(&mut self) -> OIS2N_W {
109293                OIS2N_W { w: self }
109294            }
109295            ///Bit 10 - Output Idle state 2
109296            #[inline(always)]
109297            pub fn ois2(&mut self) -> OIS2_W {
109298                OIS2_W { w: self }
109299            }
109300            ///Bit 9 - Output Idle state 1
109301            #[inline(always)]
109302            pub fn ois1n(&mut self) -> OIS1N_W {
109303                OIS1N_W { w: self }
109304            }
109305            ///Bit 8 - Output Idle state 1
109306            #[inline(always)]
109307            pub fn ois1(&mut self) -> OIS1_W {
109308                OIS1_W { w: self }
109309            }
109310            ///Bit 7 - TI1 selection
109311            #[inline(always)]
109312            pub fn ti1s(&mut self) -> TI1S_W {
109313                TI1S_W { w: self }
109314            }
109315            ///Bits 4:6 - Master mode selection
109316            #[inline(always)]
109317            pub fn mms(&mut self) -> MMS_W {
109318                MMS_W { w: self }
109319            }
109320            ///Bit 3 - Capture/compare DMA selection
109321            #[inline(always)]
109322            pub fn ccds(&mut self) -> CCDS_W {
109323                CCDS_W { w: self }
109324            }
109325            ///Bit 2 - Capture/compare control update selection
109326            #[inline(always)]
109327            pub fn ccus(&mut self) -> CCUS_W {
109328                CCUS_W { w: self }
109329            }
109330            ///Bit 0 - Capture/compare preloaded control
109331            #[inline(always)]
109332            pub fn ccpc(&mut self) -> CCPC_W {
109333                CCPC_W { w: self }
109334            }
109335        }
109336    }
109337    ///slave mode control register
109338    ///
109339    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
109340    ///
109341    ///For information about available fields see [smcr](smcr) module
109342    pub type SMCR = crate::Reg<u32, _SMCR>;
109343    #[allow(missing_docs)]
109344    #[doc(hidden)]
109345    pub struct _SMCR;
109346    ///`read()` method returns [smcr::R](smcr::R) reader structure
109347    impl crate::Readable for SMCR {}
109348    ///`write(|w| ..)` method takes [smcr::W](smcr::W) writer structure
109349    impl crate::Writable for SMCR {}
109350    ///slave mode control register
109351    pub mod smcr {
109352        ///Reader of register SMCR
109353        pub type R = crate::R<u32, super::SMCR>;
109354        ///Writer for register SMCR
109355        pub type W = crate::W<u32, super::SMCR>;
109356        ///Register SMCR `reset()`'s with value 0
109357        impl crate::ResetValue for super::SMCR {
109358            type Type = u32;
109359            #[inline(always)]
109360            fn reset_value() -> Self::Type {
109361                0
109362            }
109363        }
109364        ///Reader of field `SMS`
109365        pub type SMS_R = crate::R<u8, u8>;
109366        ///Write proxy for field `SMS`
109367        pub struct SMS_W<'a> {
109368            w: &'a mut W,
109369        }
109370        impl<'a> SMS_W<'a> {
109371            ///Writes raw bits to the field
109372            #[inline(always)]
109373            pub unsafe fn bits(self, value: u8) -> &'a mut W {
109374                self.w.bits = (self.w.bits & !0x07) | ((value as u32) & 0x07);
109375                self.w
109376            }
109377        }
109378        ///Reader of field `OCCS`
109379        pub type OCCS_R = crate::R<bool, bool>;
109380        ///Write proxy for field `OCCS`
109381        pub struct OCCS_W<'a> {
109382            w: &'a mut W,
109383        }
109384        impl<'a> OCCS_W<'a> {
109385            ///Sets the field bit
109386            #[inline(always)]
109387            pub fn set_bit(self) -> &'a mut W {
109388                self.bit(true)
109389            }
109390            ///Clears the field bit
109391            #[inline(always)]
109392            pub fn clear_bit(self) -> &'a mut W {
109393                self.bit(false)
109394            }
109395            ///Writes raw bits to the field
109396            #[inline(always)]
109397            pub fn bit(self, value: bool) -> &'a mut W {
109398                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
109399                self.w
109400            }
109401        }
109402        ///Reader of field `TS`
109403        pub type TS_R = crate::R<u8, u8>;
109404        ///Write proxy for field `TS`
109405        pub struct TS_W<'a> {
109406            w: &'a mut W,
109407        }
109408        impl<'a> TS_W<'a> {
109409            ///Writes raw bits to the field
109410            #[inline(always)]
109411            pub unsafe fn bits(self, value: u8) -> &'a mut W {
109412                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
109413                self.w
109414            }
109415        }
109416        ///Reader of field `MSM`
109417        pub type MSM_R = crate::R<bool, bool>;
109418        ///Write proxy for field `MSM`
109419        pub struct MSM_W<'a> {
109420            w: &'a mut W,
109421        }
109422        impl<'a> MSM_W<'a> {
109423            ///Sets the field bit
109424            #[inline(always)]
109425            pub fn set_bit(self) -> &'a mut W {
109426                self.bit(true)
109427            }
109428            ///Clears the field bit
109429            #[inline(always)]
109430            pub fn clear_bit(self) -> &'a mut W {
109431                self.bit(false)
109432            }
109433            ///Writes raw bits to the field
109434            #[inline(always)]
109435            pub fn bit(self, value: bool) -> &'a mut W {
109436                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
109437                self.w
109438            }
109439        }
109440        ///Reader of field `ETF`
109441        pub type ETF_R = crate::R<u8, u8>;
109442        ///Write proxy for field `ETF`
109443        pub struct ETF_W<'a> {
109444            w: &'a mut W,
109445        }
109446        impl<'a> ETF_W<'a> {
109447            ///Writes raw bits to the field
109448            #[inline(always)]
109449            pub unsafe fn bits(self, value: u8) -> &'a mut W {
109450                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
109451                self.w
109452            }
109453        }
109454        ///Reader of field `ETPS`
109455        pub type ETPS_R = crate::R<u8, u8>;
109456        ///Write proxy for field `ETPS`
109457        pub struct ETPS_W<'a> {
109458            w: &'a mut W,
109459        }
109460        impl<'a> ETPS_W<'a> {
109461            ///Writes raw bits to the field
109462            #[inline(always)]
109463            pub unsafe fn bits(self, value: u8) -> &'a mut W {
109464                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
109465                self.w
109466            }
109467        }
109468        ///Reader of field `ECE`
109469        pub type ECE_R = crate::R<bool, bool>;
109470        ///Write proxy for field `ECE`
109471        pub struct ECE_W<'a> {
109472            w: &'a mut W,
109473        }
109474        impl<'a> ECE_W<'a> {
109475            ///Sets the field bit
109476            #[inline(always)]
109477            pub fn set_bit(self) -> &'a mut W {
109478                self.bit(true)
109479            }
109480            ///Clears the field bit
109481            #[inline(always)]
109482            pub fn clear_bit(self) -> &'a mut W {
109483                self.bit(false)
109484            }
109485            ///Writes raw bits to the field
109486            #[inline(always)]
109487            pub fn bit(self, value: bool) -> &'a mut W {
109488                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
109489                self.w
109490            }
109491        }
109492        ///Reader of field `ETP`
109493        pub type ETP_R = crate::R<bool, bool>;
109494        ///Write proxy for field `ETP`
109495        pub struct ETP_W<'a> {
109496            w: &'a mut W,
109497        }
109498        impl<'a> ETP_W<'a> {
109499            ///Sets the field bit
109500            #[inline(always)]
109501            pub fn set_bit(self) -> &'a mut W {
109502                self.bit(true)
109503            }
109504            ///Clears the field bit
109505            #[inline(always)]
109506            pub fn clear_bit(self) -> &'a mut W {
109507                self.bit(false)
109508            }
109509            ///Writes raw bits to the field
109510            #[inline(always)]
109511            pub fn bit(self, value: bool) -> &'a mut W {
109512                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
109513                self.w
109514            }
109515        }
109516        ///Reader of field `SMS_3`
109517        pub type SMS_3_R = crate::R<bool, bool>;
109518        ///Write proxy for field `SMS_3`
109519        pub struct SMS_3_W<'a> {
109520            w: &'a mut W,
109521        }
109522        impl<'a> SMS_3_W<'a> {
109523            ///Sets the field bit
109524            #[inline(always)]
109525            pub fn set_bit(self) -> &'a mut W {
109526                self.bit(true)
109527            }
109528            ///Clears the field bit
109529            #[inline(always)]
109530            pub fn clear_bit(self) -> &'a mut W {
109531                self.bit(false)
109532            }
109533            ///Writes raw bits to the field
109534            #[inline(always)]
109535            pub fn bit(self, value: bool) -> &'a mut W {
109536                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
109537                self.w
109538            }
109539        }
109540        impl R {
109541            ///Bits 0:2 - Slave mode selection
109542            #[inline(always)]
109543            pub fn sms(&self) -> SMS_R {
109544                SMS_R::new((self.bits & 0x07) as u8)
109545            }
109546            ///Bit 3 - OCREF clear selection
109547            #[inline(always)]
109548            pub fn occs(&self) -> OCCS_R {
109549                OCCS_R::new(((self.bits >> 3) & 0x01) != 0)
109550            }
109551            ///Bits 4:6 - Trigger selection
109552            #[inline(always)]
109553            pub fn ts(&self) -> TS_R {
109554                TS_R::new(((self.bits >> 4) & 0x07) as u8)
109555            }
109556            ///Bit 7 - Master/Slave mode
109557            #[inline(always)]
109558            pub fn msm(&self) -> MSM_R {
109559                MSM_R::new(((self.bits >> 7) & 0x01) != 0)
109560            }
109561            ///Bits 8:11 - External trigger filter
109562            #[inline(always)]
109563            pub fn etf(&self) -> ETF_R {
109564                ETF_R::new(((self.bits >> 8) & 0x0f) as u8)
109565            }
109566            ///Bits 12:13 - External trigger prescaler
109567            #[inline(always)]
109568            pub fn etps(&self) -> ETPS_R {
109569                ETPS_R::new(((self.bits >> 12) & 0x03) as u8)
109570            }
109571            ///Bit 14 - External clock enable
109572            #[inline(always)]
109573            pub fn ece(&self) -> ECE_R {
109574                ECE_R::new(((self.bits >> 14) & 0x01) != 0)
109575            }
109576            ///Bit 15 - External trigger polarity
109577            #[inline(always)]
109578            pub fn etp(&self) -> ETP_R {
109579                ETP_R::new(((self.bits >> 15) & 0x01) != 0)
109580            }
109581            ///Bit 16 - Slave mode selection - bit 3
109582            #[inline(always)]
109583            pub fn sms_3(&self) -> SMS_3_R {
109584                SMS_3_R::new(((self.bits >> 16) & 0x01) != 0)
109585            }
109586        }
109587        impl W {
109588            ///Bits 0:2 - Slave mode selection
109589            #[inline(always)]
109590            pub fn sms(&mut self) -> SMS_W {
109591                SMS_W { w: self }
109592            }
109593            ///Bit 3 - OCREF clear selection
109594            #[inline(always)]
109595            pub fn occs(&mut self) -> OCCS_W {
109596                OCCS_W { w: self }
109597            }
109598            ///Bits 4:6 - Trigger selection
109599            #[inline(always)]
109600            pub fn ts(&mut self) -> TS_W {
109601                TS_W { w: self }
109602            }
109603            ///Bit 7 - Master/Slave mode
109604            #[inline(always)]
109605            pub fn msm(&mut self) -> MSM_W {
109606                MSM_W { w: self }
109607            }
109608            ///Bits 8:11 - External trigger filter
109609            #[inline(always)]
109610            pub fn etf(&mut self) -> ETF_W {
109611                ETF_W { w: self }
109612            }
109613            ///Bits 12:13 - External trigger prescaler
109614            #[inline(always)]
109615            pub fn etps(&mut self) -> ETPS_W {
109616                ETPS_W { w: self }
109617            }
109618            ///Bit 14 - External clock enable
109619            #[inline(always)]
109620            pub fn ece(&mut self) -> ECE_W {
109621                ECE_W { w: self }
109622            }
109623            ///Bit 15 - External trigger polarity
109624            #[inline(always)]
109625            pub fn etp(&mut self) -> ETP_W {
109626                ETP_W { w: self }
109627            }
109628            ///Bit 16 - Slave mode selection - bit 3
109629            #[inline(always)]
109630            pub fn sms_3(&mut self) -> SMS_3_W {
109631                SMS_3_W { w: self }
109632            }
109633        }
109634    }
109635    ///DMA/Interrupt enable register
109636    ///
109637    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
109638    ///
109639    ///For information about available fields see [dier](dier) module
109640    pub type DIER = crate::Reg<u32, _DIER>;
109641    #[allow(missing_docs)]
109642    #[doc(hidden)]
109643    pub struct _DIER;
109644    ///`read()` method returns [dier::R](dier::R) reader structure
109645    impl crate::Readable for DIER {}
109646    ///`write(|w| ..)` method takes [dier::W](dier::W) writer structure
109647    impl crate::Writable for DIER {}
109648    ///DMA/Interrupt enable register
109649    pub mod dier {
109650        ///Reader of register DIER
109651        pub type R = crate::R<u32, super::DIER>;
109652        ///Writer for register DIER
109653        pub type W = crate::W<u32, super::DIER>;
109654        ///Register DIER `reset()`'s with value 0
109655        impl crate::ResetValue for super::DIER {
109656            type Type = u32;
109657            #[inline(always)]
109658            fn reset_value() -> Self::Type {
109659                0
109660            }
109661        }
109662        ///Reader of field `UIE`
109663        pub type UIE_R = crate::R<bool, bool>;
109664        ///Write proxy for field `UIE`
109665        pub struct UIE_W<'a> {
109666            w: &'a mut W,
109667        }
109668        impl<'a> UIE_W<'a> {
109669            ///Sets the field bit
109670            #[inline(always)]
109671            pub fn set_bit(self) -> &'a mut W {
109672                self.bit(true)
109673            }
109674            ///Clears the field bit
109675            #[inline(always)]
109676            pub fn clear_bit(self) -> &'a mut W {
109677                self.bit(false)
109678            }
109679            ///Writes raw bits to the field
109680            #[inline(always)]
109681            pub fn bit(self, value: bool) -> &'a mut W {
109682                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
109683                self.w
109684            }
109685        }
109686        ///Reader of field `CC1IE`
109687        pub type CC1IE_R = crate::R<bool, bool>;
109688        ///Write proxy for field `CC1IE`
109689        pub struct CC1IE_W<'a> {
109690            w: &'a mut W,
109691        }
109692        impl<'a> CC1IE_W<'a> {
109693            ///Sets the field bit
109694            #[inline(always)]
109695            pub fn set_bit(self) -> &'a mut W {
109696                self.bit(true)
109697            }
109698            ///Clears the field bit
109699            #[inline(always)]
109700            pub fn clear_bit(self) -> &'a mut W {
109701                self.bit(false)
109702            }
109703            ///Writes raw bits to the field
109704            #[inline(always)]
109705            pub fn bit(self, value: bool) -> &'a mut W {
109706                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
109707                self.w
109708            }
109709        }
109710        ///Reader of field `CC2IE`
109711        pub type CC2IE_R = crate::R<bool, bool>;
109712        ///Write proxy for field `CC2IE`
109713        pub struct CC2IE_W<'a> {
109714            w: &'a mut W,
109715        }
109716        impl<'a> CC2IE_W<'a> {
109717            ///Sets the field bit
109718            #[inline(always)]
109719            pub fn set_bit(self) -> &'a mut W {
109720                self.bit(true)
109721            }
109722            ///Clears the field bit
109723            #[inline(always)]
109724            pub fn clear_bit(self) -> &'a mut W {
109725                self.bit(false)
109726            }
109727            ///Writes raw bits to the field
109728            #[inline(always)]
109729            pub fn bit(self, value: bool) -> &'a mut W {
109730                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
109731                self.w
109732            }
109733        }
109734        ///Reader of field `CC3IE`
109735        pub type CC3IE_R = crate::R<bool, bool>;
109736        ///Write proxy for field `CC3IE`
109737        pub struct CC3IE_W<'a> {
109738            w: &'a mut W,
109739        }
109740        impl<'a> CC3IE_W<'a> {
109741            ///Sets the field bit
109742            #[inline(always)]
109743            pub fn set_bit(self) -> &'a mut W {
109744                self.bit(true)
109745            }
109746            ///Clears the field bit
109747            #[inline(always)]
109748            pub fn clear_bit(self) -> &'a mut W {
109749                self.bit(false)
109750            }
109751            ///Writes raw bits to the field
109752            #[inline(always)]
109753            pub fn bit(self, value: bool) -> &'a mut W {
109754                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
109755                self.w
109756            }
109757        }
109758        ///Reader of field `CC4IE`
109759        pub type CC4IE_R = crate::R<bool, bool>;
109760        ///Write proxy for field `CC4IE`
109761        pub struct CC4IE_W<'a> {
109762            w: &'a mut W,
109763        }
109764        impl<'a> CC4IE_W<'a> {
109765            ///Sets the field bit
109766            #[inline(always)]
109767            pub fn set_bit(self) -> &'a mut W {
109768                self.bit(true)
109769            }
109770            ///Clears the field bit
109771            #[inline(always)]
109772            pub fn clear_bit(self) -> &'a mut W {
109773                self.bit(false)
109774            }
109775            ///Writes raw bits to the field
109776            #[inline(always)]
109777            pub fn bit(self, value: bool) -> &'a mut W {
109778                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
109779                self.w
109780            }
109781        }
109782        ///Reader of field `COMIE`
109783        pub type COMIE_R = crate::R<bool, bool>;
109784        ///Write proxy for field `COMIE`
109785        pub struct COMIE_W<'a> {
109786            w: &'a mut W,
109787        }
109788        impl<'a> COMIE_W<'a> {
109789            ///Sets the field bit
109790            #[inline(always)]
109791            pub fn set_bit(self) -> &'a mut W {
109792                self.bit(true)
109793            }
109794            ///Clears the field bit
109795            #[inline(always)]
109796            pub fn clear_bit(self) -> &'a mut W {
109797                self.bit(false)
109798            }
109799            ///Writes raw bits to the field
109800            #[inline(always)]
109801            pub fn bit(self, value: bool) -> &'a mut W {
109802                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
109803                self.w
109804            }
109805        }
109806        ///Reader of field `TIE`
109807        pub type TIE_R = crate::R<bool, bool>;
109808        ///Write proxy for field `TIE`
109809        pub struct TIE_W<'a> {
109810            w: &'a mut W,
109811        }
109812        impl<'a> TIE_W<'a> {
109813            ///Sets the field bit
109814            #[inline(always)]
109815            pub fn set_bit(self) -> &'a mut W {
109816                self.bit(true)
109817            }
109818            ///Clears the field bit
109819            #[inline(always)]
109820            pub fn clear_bit(self) -> &'a mut W {
109821                self.bit(false)
109822            }
109823            ///Writes raw bits to the field
109824            #[inline(always)]
109825            pub fn bit(self, value: bool) -> &'a mut W {
109826                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
109827                self.w
109828            }
109829        }
109830        ///Reader of field `BIE`
109831        pub type BIE_R = crate::R<bool, bool>;
109832        ///Write proxy for field `BIE`
109833        pub struct BIE_W<'a> {
109834            w: &'a mut W,
109835        }
109836        impl<'a> BIE_W<'a> {
109837            ///Sets the field bit
109838            #[inline(always)]
109839            pub fn set_bit(self) -> &'a mut W {
109840                self.bit(true)
109841            }
109842            ///Clears the field bit
109843            #[inline(always)]
109844            pub fn clear_bit(self) -> &'a mut W {
109845                self.bit(false)
109846            }
109847            ///Writes raw bits to the field
109848            #[inline(always)]
109849            pub fn bit(self, value: bool) -> &'a mut W {
109850                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
109851                self.w
109852            }
109853        }
109854        ///Reader of field `UDE`
109855        pub type UDE_R = crate::R<bool, bool>;
109856        ///Write proxy for field `UDE`
109857        pub struct UDE_W<'a> {
109858            w: &'a mut W,
109859        }
109860        impl<'a> UDE_W<'a> {
109861            ///Sets the field bit
109862            #[inline(always)]
109863            pub fn set_bit(self) -> &'a mut W {
109864                self.bit(true)
109865            }
109866            ///Clears the field bit
109867            #[inline(always)]
109868            pub fn clear_bit(self) -> &'a mut W {
109869                self.bit(false)
109870            }
109871            ///Writes raw bits to the field
109872            #[inline(always)]
109873            pub fn bit(self, value: bool) -> &'a mut W {
109874                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
109875                self.w
109876            }
109877        }
109878        ///Reader of field `CC1DE`
109879        pub type CC1DE_R = crate::R<bool, bool>;
109880        ///Write proxy for field `CC1DE`
109881        pub struct CC1DE_W<'a> {
109882            w: &'a mut W,
109883        }
109884        impl<'a> CC1DE_W<'a> {
109885            ///Sets the field bit
109886            #[inline(always)]
109887            pub fn set_bit(self) -> &'a mut W {
109888                self.bit(true)
109889            }
109890            ///Clears the field bit
109891            #[inline(always)]
109892            pub fn clear_bit(self) -> &'a mut W {
109893                self.bit(false)
109894            }
109895            ///Writes raw bits to the field
109896            #[inline(always)]
109897            pub fn bit(self, value: bool) -> &'a mut W {
109898                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
109899                self.w
109900            }
109901        }
109902        ///Reader of field `CC2DE`
109903        pub type CC2DE_R = crate::R<bool, bool>;
109904        ///Write proxy for field `CC2DE`
109905        pub struct CC2DE_W<'a> {
109906            w: &'a mut W,
109907        }
109908        impl<'a> CC2DE_W<'a> {
109909            ///Sets the field bit
109910            #[inline(always)]
109911            pub fn set_bit(self) -> &'a mut W {
109912                self.bit(true)
109913            }
109914            ///Clears the field bit
109915            #[inline(always)]
109916            pub fn clear_bit(self) -> &'a mut W {
109917                self.bit(false)
109918            }
109919            ///Writes raw bits to the field
109920            #[inline(always)]
109921            pub fn bit(self, value: bool) -> &'a mut W {
109922                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
109923                self.w
109924            }
109925        }
109926        ///Reader of field `CC3DE`
109927        pub type CC3DE_R = crate::R<bool, bool>;
109928        ///Write proxy for field `CC3DE`
109929        pub struct CC3DE_W<'a> {
109930            w: &'a mut W,
109931        }
109932        impl<'a> CC3DE_W<'a> {
109933            ///Sets the field bit
109934            #[inline(always)]
109935            pub fn set_bit(self) -> &'a mut W {
109936                self.bit(true)
109937            }
109938            ///Clears the field bit
109939            #[inline(always)]
109940            pub fn clear_bit(self) -> &'a mut W {
109941                self.bit(false)
109942            }
109943            ///Writes raw bits to the field
109944            #[inline(always)]
109945            pub fn bit(self, value: bool) -> &'a mut W {
109946                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
109947                self.w
109948            }
109949        }
109950        ///Reader of field `CC4DE`
109951        pub type CC4DE_R = crate::R<bool, bool>;
109952        ///Write proxy for field `CC4DE`
109953        pub struct CC4DE_W<'a> {
109954            w: &'a mut W,
109955        }
109956        impl<'a> CC4DE_W<'a> {
109957            ///Sets the field bit
109958            #[inline(always)]
109959            pub fn set_bit(self) -> &'a mut W {
109960                self.bit(true)
109961            }
109962            ///Clears the field bit
109963            #[inline(always)]
109964            pub fn clear_bit(self) -> &'a mut W {
109965                self.bit(false)
109966            }
109967            ///Writes raw bits to the field
109968            #[inline(always)]
109969            pub fn bit(self, value: bool) -> &'a mut W {
109970                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
109971                self.w
109972            }
109973        }
109974        ///Reader of field `COMDE`
109975        pub type COMDE_R = crate::R<bool, bool>;
109976        ///Write proxy for field `COMDE`
109977        pub struct COMDE_W<'a> {
109978            w: &'a mut W,
109979        }
109980        impl<'a> COMDE_W<'a> {
109981            ///Sets the field bit
109982            #[inline(always)]
109983            pub fn set_bit(self) -> &'a mut W {
109984                self.bit(true)
109985            }
109986            ///Clears the field bit
109987            #[inline(always)]
109988            pub fn clear_bit(self) -> &'a mut W {
109989                self.bit(false)
109990            }
109991            ///Writes raw bits to the field
109992            #[inline(always)]
109993            pub fn bit(self, value: bool) -> &'a mut W {
109994                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
109995                self.w
109996            }
109997        }
109998        ///Reader of field `TDE`
109999        pub type TDE_R = crate::R<bool, bool>;
110000        ///Write proxy for field `TDE`
110001        pub struct TDE_W<'a> {
110002            w: &'a mut W,
110003        }
110004        impl<'a> TDE_W<'a> {
110005            ///Sets the field bit
110006            #[inline(always)]
110007            pub fn set_bit(self) -> &'a mut W {
110008                self.bit(true)
110009            }
110010            ///Clears the field bit
110011            #[inline(always)]
110012            pub fn clear_bit(self) -> &'a mut W {
110013                self.bit(false)
110014            }
110015            ///Writes raw bits to the field
110016            #[inline(always)]
110017            pub fn bit(self, value: bool) -> &'a mut W {
110018                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
110019                self.w
110020            }
110021        }
110022        impl R {
110023            ///Bit 0 - Update interrupt enable
110024            #[inline(always)]
110025            pub fn uie(&self) -> UIE_R {
110026                UIE_R::new((self.bits & 0x01) != 0)
110027            }
110028            ///Bit 1 - Capture/Compare 1 interrupt enable
110029            #[inline(always)]
110030            pub fn cc1ie(&self) -> CC1IE_R {
110031                CC1IE_R::new(((self.bits >> 1) & 0x01) != 0)
110032            }
110033            ///Bit 2 - Capture/Compare 2 interrupt enable
110034            #[inline(always)]
110035            pub fn cc2ie(&self) -> CC2IE_R {
110036                CC2IE_R::new(((self.bits >> 2) & 0x01) != 0)
110037            }
110038            ///Bit 3 - Capture/Compare 3 interrupt enable
110039            #[inline(always)]
110040            pub fn cc3ie(&self) -> CC3IE_R {
110041                CC3IE_R::new(((self.bits >> 3) & 0x01) != 0)
110042            }
110043            ///Bit 4 - Capture/Compare 4 interrupt enable
110044            #[inline(always)]
110045            pub fn cc4ie(&self) -> CC4IE_R {
110046                CC4IE_R::new(((self.bits >> 4) & 0x01) != 0)
110047            }
110048            ///Bit 5 - COM interrupt enable
110049            #[inline(always)]
110050            pub fn comie(&self) -> COMIE_R {
110051                COMIE_R::new(((self.bits >> 5) & 0x01) != 0)
110052            }
110053            ///Bit 6 - Trigger interrupt enable
110054            #[inline(always)]
110055            pub fn tie(&self) -> TIE_R {
110056                TIE_R::new(((self.bits >> 6) & 0x01) != 0)
110057            }
110058            ///Bit 7 - Break interrupt enable
110059            #[inline(always)]
110060            pub fn bie(&self) -> BIE_R {
110061                BIE_R::new(((self.bits >> 7) & 0x01) != 0)
110062            }
110063            ///Bit 8 - Update DMA request enable
110064            #[inline(always)]
110065            pub fn ude(&self) -> UDE_R {
110066                UDE_R::new(((self.bits >> 8) & 0x01) != 0)
110067            }
110068            ///Bit 9 - Capture/Compare 1 DMA request enable
110069            #[inline(always)]
110070            pub fn cc1de(&self) -> CC1DE_R {
110071                CC1DE_R::new(((self.bits >> 9) & 0x01) != 0)
110072            }
110073            ///Bit 10 - Capture/Compare 2 DMA request enable
110074            #[inline(always)]
110075            pub fn cc2de(&self) -> CC2DE_R {
110076                CC2DE_R::new(((self.bits >> 10) & 0x01) != 0)
110077            }
110078            ///Bit 11 - Capture/Compare 3 DMA request enable
110079            #[inline(always)]
110080            pub fn cc3de(&self) -> CC3DE_R {
110081                CC3DE_R::new(((self.bits >> 11) & 0x01) != 0)
110082            }
110083            ///Bit 12 - Capture/Compare 4 DMA request enable
110084            #[inline(always)]
110085            pub fn cc4de(&self) -> CC4DE_R {
110086                CC4DE_R::new(((self.bits >> 12) & 0x01) != 0)
110087            }
110088            ///Bit 13 - COM DMA request enable
110089            #[inline(always)]
110090            pub fn comde(&self) -> COMDE_R {
110091                COMDE_R::new(((self.bits >> 13) & 0x01) != 0)
110092            }
110093            ///Bit 14 - Trigger DMA request enable
110094            #[inline(always)]
110095            pub fn tde(&self) -> TDE_R {
110096                TDE_R::new(((self.bits >> 14) & 0x01) != 0)
110097            }
110098        }
110099        impl W {
110100            ///Bit 0 - Update interrupt enable
110101            #[inline(always)]
110102            pub fn uie(&mut self) -> UIE_W {
110103                UIE_W { w: self }
110104            }
110105            ///Bit 1 - Capture/Compare 1 interrupt enable
110106            #[inline(always)]
110107            pub fn cc1ie(&mut self) -> CC1IE_W {
110108                CC1IE_W { w: self }
110109            }
110110            ///Bit 2 - Capture/Compare 2 interrupt enable
110111            #[inline(always)]
110112            pub fn cc2ie(&mut self) -> CC2IE_W {
110113                CC2IE_W { w: self }
110114            }
110115            ///Bit 3 - Capture/Compare 3 interrupt enable
110116            #[inline(always)]
110117            pub fn cc3ie(&mut self) -> CC3IE_W {
110118                CC3IE_W { w: self }
110119            }
110120            ///Bit 4 - Capture/Compare 4 interrupt enable
110121            #[inline(always)]
110122            pub fn cc4ie(&mut self) -> CC4IE_W {
110123                CC4IE_W { w: self }
110124            }
110125            ///Bit 5 - COM interrupt enable
110126            #[inline(always)]
110127            pub fn comie(&mut self) -> COMIE_W {
110128                COMIE_W { w: self }
110129            }
110130            ///Bit 6 - Trigger interrupt enable
110131            #[inline(always)]
110132            pub fn tie(&mut self) -> TIE_W {
110133                TIE_W { w: self }
110134            }
110135            ///Bit 7 - Break interrupt enable
110136            #[inline(always)]
110137            pub fn bie(&mut self) -> BIE_W {
110138                BIE_W { w: self }
110139            }
110140            ///Bit 8 - Update DMA request enable
110141            #[inline(always)]
110142            pub fn ude(&mut self) -> UDE_W {
110143                UDE_W { w: self }
110144            }
110145            ///Bit 9 - Capture/Compare 1 DMA request enable
110146            #[inline(always)]
110147            pub fn cc1de(&mut self) -> CC1DE_W {
110148                CC1DE_W { w: self }
110149            }
110150            ///Bit 10 - Capture/Compare 2 DMA request enable
110151            #[inline(always)]
110152            pub fn cc2de(&mut self) -> CC2DE_W {
110153                CC2DE_W { w: self }
110154            }
110155            ///Bit 11 - Capture/Compare 3 DMA request enable
110156            #[inline(always)]
110157            pub fn cc3de(&mut self) -> CC3DE_W {
110158                CC3DE_W { w: self }
110159            }
110160            ///Bit 12 - Capture/Compare 4 DMA request enable
110161            #[inline(always)]
110162            pub fn cc4de(&mut self) -> CC4DE_W {
110163                CC4DE_W { w: self }
110164            }
110165            ///Bit 13 - COM DMA request enable
110166            #[inline(always)]
110167            pub fn comde(&mut self) -> COMDE_W {
110168                COMDE_W { w: self }
110169            }
110170            ///Bit 14 - Trigger DMA request enable
110171            #[inline(always)]
110172            pub fn tde(&mut self) -> TDE_W {
110173                TDE_W { w: self }
110174            }
110175        }
110176    }
110177    ///status register
110178    ///
110179    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
110180    ///
110181    ///For information about available fields see [sr](sr) module
110182    pub type SR = crate::Reg<u32, _SR>;
110183    #[allow(missing_docs)]
110184    #[doc(hidden)]
110185    pub struct _SR;
110186    ///`read()` method returns [sr::R](sr::R) reader structure
110187    impl crate::Readable for SR {}
110188    ///`write(|w| ..)` method takes [sr::W](sr::W) writer structure
110189    impl crate::Writable for SR {}
110190    ///status register
110191    pub mod sr {
110192        ///Reader of register SR
110193        pub type R = crate::R<u32, super::SR>;
110194        ///Writer for register SR
110195        pub type W = crate::W<u32, super::SR>;
110196        ///Register SR `reset()`'s with value 0
110197        impl crate::ResetValue for super::SR {
110198            type Type = u32;
110199            #[inline(always)]
110200            fn reset_value() -> Self::Type {
110201                0
110202            }
110203        }
110204        ///Reader of field `UIF`
110205        pub type UIF_R = crate::R<bool, bool>;
110206        ///Write proxy for field `UIF`
110207        pub struct UIF_W<'a> {
110208            w: &'a mut W,
110209        }
110210        impl<'a> UIF_W<'a> {
110211            ///Sets the field bit
110212            #[inline(always)]
110213            pub fn set_bit(self) -> &'a mut W {
110214                self.bit(true)
110215            }
110216            ///Clears the field bit
110217            #[inline(always)]
110218            pub fn clear_bit(self) -> &'a mut W {
110219                self.bit(false)
110220            }
110221            ///Writes raw bits to the field
110222            #[inline(always)]
110223            pub fn bit(self, value: bool) -> &'a mut W {
110224                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
110225                self.w
110226            }
110227        }
110228        ///Reader of field `CC1IF`
110229        pub type CC1IF_R = crate::R<bool, bool>;
110230        ///Write proxy for field `CC1IF`
110231        pub struct CC1IF_W<'a> {
110232            w: &'a mut W,
110233        }
110234        impl<'a> CC1IF_W<'a> {
110235            ///Sets the field bit
110236            #[inline(always)]
110237            pub fn set_bit(self) -> &'a mut W {
110238                self.bit(true)
110239            }
110240            ///Clears the field bit
110241            #[inline(always)]
110242            pub fn clear_bit(self) -> &'a mut W {
110243                self.bit(false)
110244            }
110245            ///Writes raw bits to the field
110246            #[inline(always)]
110247            pub fn bit(self, value: bool) -> &'a mut W {
110248                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
110249                self.w
110250            }
110251        }
110252        ///Reader of field `CC2IF`
110253        pub type CC2IF_R = crate::R<bool, bool>;
110254        ///Write proxy for field `CC2IF`
110255        pub struct CC2IF_W<'a> {
110256            w: &'a mut W,
110257        }
110258        impl<'a> CC2IF_W<'a> {
110259            ///Sets the field bit
110260            #[inline(always)]
110261            pub fn set_bit(self) -> &'a mut W {
110262                self.bit(true)
110263            }
110264            ///Clears the field bit
110265            #[inline(always)]
110266            pub fn clear_bit(self) -> &'a mut W {
110267                self.bit(false)
110268            }
110269            ///Writes raw bits to the field
110270            #[inline(always)]
110271            pub fn bit(self, value: bool) -> &'a mut W {
110272                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
110273                self.w
110274            }
110275        }
110276        ///Reader of field `CC3IF`
110277        pub type CC3IF_R = crate::R<bool, bool>;
110278        ///Write proxy for field `CC3IF`
110279        pub struct CC3IF_W<'a> {
110280            w: &'a mut W,
110281        }
110282        impl<'a> CC3IF_W<'a> {
110283            ///Sets the field bit
110284            #[inline(always)]
110285            pub fn set_bit(self) -> &'a mut W {
110286                self.bit(true)
110287            }
110288            ///Clears the field bit
110289            #[inline(always)]
110290            pub fn clear_bit(self) -> &'a mut W {
110291                self.bit(false)
110292            }
110293            ///Writes raw bits to the field
110294            #[inline(always)]
110295            pub fn bit(self, value: bool) -> &'a mut W {
110296                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
110297                self.w
110298            }
110299        }
110300        ///Reader of field `CC4IF`
110301        pub type CC4IF_R = crate::R<bool, bool>;
110302        ///Write proxy for field `CC4IF`
110303        pub struct CC4IF_W<'a> {
110304            w: &'a mut W,
110305        }
110306        impl<'a> CC4IF_W<'a> {
110307            ///Sets the field bit
110308            #[inline(always)]
110309            pub fn set_bit(self) -> &'a mut W {
110310                self.bit(true)
110311            }
110312            ///Clears the field bit
110313            #[inline(always)]
110314            pub fn clear_bit(self) -> &'a mut W {
110315                self.bit(false)
110316            }
110317            ///Writes raw bits to the field
110318            #[inline(always)]
110319            pub fn bit(self, value: bool) -> &'a mut W {
110320                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
110321                self.w
110322            }
110323        }
110324        ///Reader of field `COMIF`
110325        pub type COMIF_R = crate::R<bool, bool>;
110326        ///Write proxy for field `COMIF`
110327        pub struct COMIF_W<'a> {
110328            w: &'a mut W,
110329        }
110330        impl<'a> COMIF_W<'a> {
110331            ///Sets the field bit
110332            #[inline(always)]
110333            pub fn set_bit(self) -> &'a mut W {
110334                self.bit(true)
110335            }
110336            ///Clears the field bit
110337            #[inline(always)]
110338            pub fn clear_bit(self) -> &'a mut W {
110339                self.bit(false)
110340            }
110341            ///Writes raw bits to the field
110342            #[inline(always)]
110343            pub fn bit(self, value: bool) -> &'a mut W {
110344                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
110345                self.w
110346            }
110347        }
110348        ///Reader of field `TIF`
110349        pub type TIF_R = crate::R<bool, bool>;
110350        ///Write proxy for field `TIF`
110351        pub struct TIF_W<'a> {
110352            w: &'a mut W,
110353        }
110354        impl<'a> TIF_W<'a> {
110355            ///Sets the field bit
110356            #[inline(always)]
110357            pub fn set_bit(self) -> &'a mut W {
110358                self.bit(true)
110359            }
110360            ///Clears the field bit
110361            #[inline(always)]
110362            pub fn clear_bit(self) -> &'a mut W {
110363                self.bit(false)
110364            }
110365            ///Writes raw bits to the field
110366            #[inline(always)]
110367            pub fn bit(self, value: bool) -> &'a mut W {
110368                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
110369                self.w
110370            }
110371        }
110372        ///Reader of field `BIF`
110373        pub type BIF_R = crate::R<bool, bool>;
110374        ///Write proxy for field `BIF`
110375        pub struct BIF_W<'a> {
110376            w: &'a mut W,
110377        }
110378        impl<'a> BIF_W<'a> {
110379            ///Sets the field bit
110380            #[inline(always)]
110381            pub fn set_bit(self) -> &'a mut W {
110382                self.bit(true)
110383            }
110384            ///Clears the field bit
110385            #[inline(always)]
110386            pub fn clear_bit(self) -> &'a mut W {
110387                self.bit(false)
110388            }
110389            ///Writes raw bits to the field
110390            #[inline(always)]
110391            pub fn bit(self, value: bool) -> &'a mut W {
110392                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
110393                self.w
110394            }
110395        }
110396        ///Reader of field `B2IF`
110397        pub type B2IF_R = crate::R<bool, bool>;
110398        ///Write proxy for field `B2IF`
110399        pub struct B2IF_W<'a> {
110400            w: &'a mut W,
110401        }
110402        impl<'a> B2IF_W<'a> {
110403            ///Sets the field bit
110404            #[inline(always)]
110405            pub fn set_bit(self) -> &'a mut W {
110406                self.bit(true)
110407            }
110408            ///Clears the field bit
110409            #[inline(always)]
110410            pub fn clear_bit(self) -> &'a mut W {
110411                self.bit(false)
110412            }
110413            ///Writes raw bits to the field
110414            #[inline(always)]
110415            pub fn bit(self, value: bool) -> &'a mut W {
110416                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
110417                self.w
110418            }
110419        }
110420        ///Reader of field `CC1OF`
110421        pub type CC1OF_R = crate::R<bool, bool>;
110422        ///Write proxy for field `CC1OF`
110423        pub struct CC1OF_W<'a> {
110424            w: &'a mut W,
110425        }
110426        impl<'a> CC1OF_W<'a> {
110427            ///Sets the field bit
110428            #[inline(always)]
110429            pub fn set_bit(self) -> &'a mut W {
110430                self.bit(true)
110431            }
110432            ///Clears the field bit
110433            #[inline(always)]
110434            pub fn clear_bit(self) -> &'a mut W {
110435                self.bit(false)
110436            }
110437            ///Writes raw bits to the field
110438            #[inline(always)]
110439            pub fn bit(self, value: bool) -> &'a mut W {
110440                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
110441                self.w
110442            }
110443        }
110444        ///Reader of field `CC2OF`
110445        pub type CC2OF_R = crate::R<bool, bool>;
110446        ///Write proxy for field `CC2OF`
110447        pub struct CC2OF_W<'a> {
110448            w: &'a mut W,
110449        }
110450        impl<'a> CC2OF_W<'a> {
110451            ///Sets the field bit
110452            #[inline(always)]
110453            pub fn set_bit(self) -> &'a mut W {
110454                self.bit(true)
110455            }
110456            ///Clears the field bit
110457            #[inline(always)]
110458            pub fn clear_bit(self) -> &'a mut W {
110459                self.bit(false)
110460            }
110461            ///Writes raw bits to the field
110462            #[inline(always)]
110463            pub fn bit(self, value: bool) -> &'a mut W {
110464                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
110465                self.w
110466            }
110467        }
110468        ///Reader of field `CC3OF`
110469        pub type CC3OF_R = crate::R<bool, bool>;
110470        ///Write proxy for field `CC3OF`
110471        pub struct CC3OF_W<'a> {
110472            w: &'a mut W,
110473        }
110474        impl<'a> CC3OF_W<'a> {
110475            ///Sets the field bit
110476            #[inline(always)]
110477            pub fn set_bit(self) -> &'a mut W {
110478                self.bit(true)
110479            }
110480            ///Clears the field bit
110481            #[inline(always)]
110482            pub fn clear_bit(self) -> &'a mut W {
110483                self.bit(false)
110484            }
110485            ///Writes raw bits to the field
110486            #[inline(always)]
110487            pub fn bit(self, value: bool) -> &'a mut W {
110488                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
110489                self.w
110490            }
110491        }
110492        ///Reader of field `CC4OF`
110493        pub type CC4OF_R = crate::R<bool, bool>;
110494        ///Write proxy for field `CC4OF`
110495        pub struct CC4OF_W<'a> {
110496            w: &'a mut W,
110497        }
110498        impl<'a> CC4OF_W<'a> {
110499            ///Sets the field bit
110500            #[inline(always)]
110501            pub fn set_bit(self) -> &'a mut W {
110502                self.bit(true)
110503            }
110504            ///Clears the field bit
110505            #[inline(always)]
110506            pub fn clear_bit(self) -> &'a mut W {
110507                self.bit(false)
110508            }
110509            ///Writes raw bits to the field
110510            #[inline(always)]
110511            pub fn bit(self, value: bool) -> &'a mut W {
110512                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
110513                self.w
110514            }
110515        }
110516        ///Reader of field `SBIF`
110517        pub type SBIF_R = crate::R<bool, bool>;
110518        ///Write proxy for field `SBIF`
110519        pub struct SBIF_W<'a> {
110520            w: &'a mut W,
110521        }
110522        impl<'a> SBIF_W<'a> {
110523            ///Sets the field bit
110524            #[inline(always)]
110525            pub fn set_bit(self) -> &'a mut W {
110526                self.bit(true)
110527            }
110528            ///Clears the field bit
110529            #[inline(always)]
110530            pub fn clear_bit(self) -> &'a mut W {
110531                self.bit(false)
110532            }
110533            ///Writes raw bits to the field
110534            #[inline(always)]
110535            pub fn bit(self, value: bool) -> &'a mut W {
110536                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
110537                self.w
110538            }
110539        }
110540        ///Reader of field `CC5IF`
110541        pub type CC5IF_R = crate::R<bool, bool>;
110542        ///Write proxy for field `CC5IF`
110543        pub struct CC5IF_W<'a> {
110544            w: &'a mut W,
110545        }
110546        impl<'a> CC5IF_W<'a> {
110547            ///Sets the field bit
110548            #[inline(always)]
110549            pub fn set_bit(self) -> &'a mut W {
110550                self.bit(true)
110551            }
110552            ///Clears the field bit
110553            #[inline(always)]
110554            pub fn clear_bit(self) -> &'a mut W {
110555                self.bit(false)
110556            }
110557            ///Writes raw bits to the field
110558            #[inline(always)]
110559            pub fn bit(self, value: bool) -> &'a mut W {
110560                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
110561                self.w
110562            }
110563        }
110564        ///Reader of field `CC6IF`
110565        pub type CC6IF_R = crate::R<bool, bool>;
110566        ///Write proxy for field `CC6IF`
110567        pub struct CC6IF_W<'a> {
110568            w: &'a mut W,
110569        }
110570        impl<'a> CC6IF_W<'a> {
110571            ///Sets the field bit
110572            #[inline(always)]
110573            pub fn set_bit(self) -> &'a mut W {
110574                self.bit(true)
110575            }
110576            ///Clears the field bit
110577            #[inline(always)]
110578            pub fn clear_bit(self) -> &'a mut W {
110579                self.bit(false)
110580            }
110581            ///Writes raw bits to the field
110582            #[inline(always)]
110583            pub fn bit(self, value: bool) -> &'a mut W {
110584                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
110585                self.w
110586            }
110587        }
110588        impl R {
110589            ///Bit 0 - Update interrupt flag
110590            #[inline(always)]
110591            pub fn uif(&self) -> UIF_R {
110592                UIF_R::new((self.bits & 0x01) != 0)
110593            }
110594            ///Bit 1 - Capture/compare 1 interrupt flag
110595            #[inline(always)]
110596            pub fn cc1if(&self) -> CC1IF_R {
110597                CC1IF_R::new(((self.bits >> 1) & 0x01) != 0)
110598            }
110599            ///Bit 2 - Capture/Compare 2 interrupt flag
110600            #[inline(always)]
110601            pub fn cc2if(&self) -> CC2IF_R {
110602                CC2IF_R::new(((self.bits >> 2) & 0x01) != 0)
110603            }
110604            ///Bit 3 - Capture/Compare 3 interrupt flag
110605            #[inline(always)]
110606            pub fn cc3if(&self) -> CC3IF_R {
110607                CC3IF_R::new(((self.bits >> 3) & 0x01) != 0)
110608            }
110609            ///Bit 4 - Capture/Compare 4 interrupt flag
110610            #[inline(always)]
110611            pub fn cc4if(&self) -> CC4IF_R {
110612                CC4IF_R::new(((self.bits >> 4) & 0x01) != 0)
110613            }
110614            ///Bit 5 - COM interrupt flag
110615            #[inline(always)]
110616            pub fn comif(&self) -> COMIF_R {
110617                COMIF_R::new(((self.bits >> 5) & 0x01) != 0)
110618            }
110619            ///Bit 6 - Trigger interrupt flag
110620            #[inline(always)]
110621            pub fn tif(&self) -> TIF_R {
110622                TIF_R::new(((self.bits >> 6) & 0x01) != 0)
110623            }
110624            ///Bit 7 - Break interrupt flag
110625            #[inline(always)]
110626            pub fn bif(&self) -> BIF_R {
110627                BIF_R::new(((self.bits >> 7) & 0x01) != 0)
110628            }
110629            ///Bit 8 - Break 2 interrupt flag
110630            #[inline(always)]
110631            pub fn b2if(&self) -> B2IF_R {
110632                B2IF_R::new(((self.bits >> 8) & 0x01) != 0)
110633            }
110634            ///Bit 9 - Capture/Compare 1 overcapture flag
110635            #[inline(always)]
110636            pub fn cc1of(&self) -> CC1OF_R {
110637                CC1OF_R::new(((self.bits >> 9) & 0x01) != 0)
110638            }
110639            ///Bit 10 - Capture/compare 2 overcapture flag
110640            #[inline(always)]
110641            pub fn cc2of(&self) -> CC2OF_R {
110642                CC2OF_R::new(((self.bits >> 10) & 0x01) != 0)
110643            }
110644            ///Bit 11 - Capture/Compare 3 overcapture flag
110645            #[inline(always)]
110646            pub fn cc3of(&self) -> CC3OF_R {
110647                CC3OF_R::new(((self.bits >> 11) & 0x01) != 0)
110648            }
110649            ///Bit 12 - Capture/Compare 4 overcapture flag
110650            #[inline(always)]
110651            pub fn cc4of(&self) -> CC4OF_R {
110652                CC4OF_R::new(((self.bits >> 12) & 0x01) != 0)
110653            }
110654            ///Bit 13 - System Break interrupt flag
110655            #[inline(always)]
110656            pub fn sbif(&self) -> SBIF_R {
110657                SBIF_R::new(((self.bits >> 13) & 0x01) != 0)
110658            }
110659            ///Bit 16 - Compare 5 interrupt flag
110660            #[inline(always)]
110661            pub fn cc5if(&self) -> CC5IF_R {
110662                CC5IF_R::new(((self.bits >> 16) & 0x01) != 0)
110663            }
110664            ///Bit 17 - Compare 6 interrupt flag
110665            #[inline(always)]
110666            pub fn cc6if(&self) -> CC6IF_R {
110667                CC6IF_R::new(((self.bits >> 17) & 0x01) != 0)
110668            }
110669        }
110670        impl W {
110671            ///Bit 0 - Update interrupt flag
110672            #[inline(always)]
110673            pub fn uif(&mut self) -> UIF_W {
110674                UIF_W { w: self }
110675            }
110676            ///Bit 1 - Capture/compare 1 interrupt flag
110677            #[inline(always)]
110678            pub fn cc1if(&mut self) -> CC1IF_W {
110679                CC1IF_W { w: self }
110680            }
110681            ///Bit 2 - Capture/Compare 2 interrupt flag
110682            #[inline(always)]
110683            pub fn cc2if(&mut self) -> CC2IF_W {
110684                CC2IF_W { w: self }
110685            }
110686            ///Bit 3 - Capture/Compare 3 interrupt flag
110687            #[inline(always)]
110688            pub fn cc3if(&mut self) -> CC3IF_W {
110689                CC3IF_W { w: self }
110690            }
110691            ///Bit 4 - Capture/Compare 4 interrupt flag
110692            #[inline(always)]
110693            pub fn cc4if(&mut self) -> CC4IF_W {
110694                CC4IF_W { w: self }
110695            }
110696            ///Bit 5 - COM interrupt flag
110697            #[inline(always)]
110698            pub fn comif(&mut self) -> COMIF_W {
110699                COMIF_W { w: self }
110700            }
110701            ///Bit 6 - Trigger interrupt flag
110702            #[inline(always)]
110703            pub fn tif(&mut self) -> TIF_W {
110704                TIF_W { w: self }
110705            }
110706            ///Bit 7 - Break interrupt flag
110707            #[inline(always)]
110708            pub fn bif(&mut self) -> BIF_W {
110709                BIF_W { w: self }
110710            }
110711            ///Bit 8 - Break 2 interrupt flag
110712            #[inline(always)]
110713            pub fn b2if(&mut self) -> B2IF_W {
110714                B2IF_W { w: self }
110715            }
110716            ///Bit 9 - Capture/Compare 1 overcapture flag
110717            #[inline(always)]
110718            pub fn cc1of(&mut self) -> CC1OF_W {
110719                CC1OF_W { w: self }
110720            }
110721            ///Bit 10 - Capture/compare 2 overcapture flag
110722            #[inline(always)]
110723            pub fn cc2of(&mut self) -> CC2OF_W {
110724                CC2OF_W { w: self }
110725            }
110726            ///Bit 11 - Capture/Compare 3 overcapture flag
110727            #[inline(always)]
110728            pub fn cc3of(&mut self) -> CC3OF_W {
110729                CC3OF_W { w: self }
110730            }
110731            ///Bit 12 - Capture/Compare 4 overcapture flag
110732            #[inline(always)]
110733            pub fn cc4of(&mut self) -> CC4OF_W {
110734                CC4OF_W { w: self }
110735            }
110736            ///Bit 13 - System Break interrupt flag
110737            #[inline(always)]
110738            pub fn sbif(&mut self) -> SBIF_W {
110739                SBIF_W { w: self }
110740            }
110741            ///Bit 16 - Compare 5 interrupt flag
110742            #[inline(always)]
110743            pub fn cc5if(&mut self) -> CC5IF_W {
110744                CC5IF_W { w: self }
110745            }
110746            ///Bit 17 - Compare 6 interrupt flag
110747            #[inline(always)]
110748            pub fn cc6if(&mut self) -> CC6IF_W {
110749                CC6IF_W { w: self }
110750            }
110751        }
110752    }
110753    ///event generation register
110754    ///
110755    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
110756    ///
110757    ///For information about available fields see [egr](egr) module
110758    pub type EGR = crate::Reg<u32, _EGR>;
110759    #[allow(missing_docs)]
110760    #[doc(hidden)]
110761    pub struct _EGR;
110762    ///`write(|w| ..)` method takes [egr::W](egr::W) writer structure
110763    impl crate::Writable for EGR {}
110764    ///event generation register
110765    pub mod egr {
110766        ///Writer for register EGR
110767        pub type W = crate::W<u32, super::EGR>;
110768        ///Register EGR `reset()`'s with value 0
110769        impl crate::ResetValue for super::EGR {
110770            type Type = u32;
110771            #[inline(always)]
110772            fn reset_value() -> Self::Type {
110773                0
110774            }
110775        }
110776        ///Write proxy for field `UG`
110777        pub struct UG_W<'a> {
110778            w: &'a mut W,
110779        }
110780        impl<'a> UG_W<'a> {
110781            ///Sets the field bit
110782            #[inline(always)]
110783            pub fn set_bit(self) -> &'a mut W {
110784                self.bit(true)
110785            }
110786            ///Clears the field bit
110787            #[inline(always)]
110788            pub fn clear_bit(self) -> &'a mut W {
110789                self.bit(false)
110790            }
110791            ///Writes raw bits to the field
110792            #[inline(always)]
110793            pub fn bit(self, value: bool) -> &'a mut W {
110794                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
110795                self.w
110796            }
110797        }
110798        ///Write proxy for field `CC1G`
110799        pub struct CC1G_W<'a> {
110800            w: &'a mut W,
110801        }
110802        impl<'a> CC1G_W<'a> {
110803            ///Sets the field bit
110804            #[inline(always)]
110805            pub fn set_bit(self) -> &'a mut W {
110806                self.bit(true)
110807            }
110808            ///Clears the field bit
110809            #[inline(always)]
110810            pub fn clear_bit(self) -> &'a mut W {
110811                self.bit(false)
110812            }
110813            ///Writes raw bits to the field
110814            #[inline(always)]
110815            pub fn bit(self, value: bool) -> &'a mut W {
110816                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
110817                self.w
110818            }
110819        }
110820        ///Write proxy for field `CC2G`
110821        pub struct CC2G_W<'a> {
110822            w: &'a mut W,
110823        }
110824        impl<'a> CC2G_W<'a> {
110825            ///Sets the field bit
110826            #[inline(always)]
110827            pub fn set_bit(self) -> &'a mut W {
110828                self.bit(true)
110829            }
110830            ///Clears the field bit
110831            #[inline(always)]
110832            pub fn clear_bit(self) -> &'a mut W {
110833                self.bit(false)
110834            }
110835            ///Writes raw bits to the field
110836            #[inline(always)]
110837            pub fn bit(self, value: bool) -> &'a mut W {
110838                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
110839                self.w
110840            }
110841        }
110842        ///Write proxy for field `CC3G`
110843        pub struct CC3G_W<'a> {
110844            w: &'a mut W,
110845        }
110846        impl<'a> CC3G_W<'a> {
110847            ///Sets the field bit
110848            #[inline(always)]
110849            pub fn set_bit(self) -> &'a mut W {
110850                self.bit(true)
110851            }
110852            ///Clears the field bit
110853            #[inline(always)]
110854            pub fn clear_bit(self) -> &'a mut W {
110855                self.bit(false)
110856            }
110857            ///Writes raw bits to the field
110858            #[inline(always)]
110859            pub fn bit(self, value: bool) -> &'a mut W {
110860                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
110861                self.w
110862            }
110863        }
110864        ///Write proxy for field `CC4G`
110865        pub struct CC4G_W<'a> {
110866            w: &'a mut W,
110867        }
110868        impl<'a> CC4G_W<'a> {
110869            ///Sets the field bit
110870            #[inline(always)]
110871            pub fn set_bit(self) -> &'a mut W {
110872                self.bit(true)
110873            }
110874            ///Clears the field bit
110875            #[inline(always)]
110876            pub fn clear_bit(self) -> &'a mut W {
110877                self.bit(false)
110878            }
110879            ///Writes raw bits to the field
110880            #[inline(always)]
110881            pub fn bit(self, value: bool) -> &'a mut W {
110882                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
110883                self.w
110884            }
110885        }
110886        ///Write proxy for field `COMG`
110887        pub struct COMG_W<'a> {
110888            w: &'a mut W,
110889        }
110890        impl<'a> COMG_W<'a> {
110891            ///Sets the field bit
110892            #[inline(always)]
110893            pub fn set_bit(self) -> &'a mut W {
110894                self.bit(true)
110895            }
110896            ///Clears the field bit
110897            #[inline(always)]
110898            pub fn clear_bit(self) -> &'a mut W {
110899                self.bit(false)
110900            }
110901            ///Writes raw bits to the field
110902            #[inline(always)]
110903            pub fn bit(self, value: bool) -> &'a mut W {
110904                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
110905                self.w
110906            }
110907        }
110908        ///Write proxy for field `TG`
110909        pub struct TG_W<'a> {
110910            w: &'a mut W,
110911        }
110912        impl<'a> TG_W<'a> {
110913            ///Sets the field bit
110914            #[inline(always)]
110915            pub fn set_bit(self) -> &'a mut W {
110916                self.bit(true)
110917            }
110918            ///Clears the field bit
110919            #[inline(always)]
110920            pub fn clear_bit(self) -> &'a mut W {
110921                self.bit(false)
110922            }
110923            ///Writes raw bits to the field
110924            #[inline(always)]
110925            pub fn bit(self, value: bool) -> &'a mut W {
110926                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
110927                self.w
110928            }
110929        }
110930        ///Write proxy for field `BG`
110931        pub struct BG_W<'a> {
110932            w: &'a mut W,
110933        }
110934        impl<'a> BG_W<'a> {
110935            ///Sets the field bit
110936            #[inline(always)]
110937            pub fn set_bit(self) -> &'a mut W {
110938                self.bit(true)
110939            }
110940            ///Clears the field bit
110941            #[inline(always)]
110942            pub fn clear_bit(self) -> &'a mut W {
110943                self.bit(false)
110944            }
110945            ///Writes raw bits to the field
110946            #[inline(always)]
110947            pub fn bit(self, value: bool) -> &'a mut W {
110948                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
110949                self.w
110950            }
110951        }
110952        ///Write proxy for field `B2G`
110953        pub struct B2G_W<'a> {
110954            w: &'a mut W,
110955        }
110956        impl<'a> B2G_W<'a> {
110957            ///Sets the field bit
110958            #[inline(always)]
110959            pub fn set_bit(self) -> &'a mut W {
110960                self.bit(true)
110961            }
110962            ///Clears the field bit
110963            #[inline(always)]
110964            pub fn clear_bit(self) -> &'a mut W {
110965                self.bit(false)
110966            }
110967            ///Writes raw bits to the field
110968            #[inline(always)]
110969            pub fn bit(self, value: bool) -> &'a mut W {
110970                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
110971                self.w
110972            }
110973        }
110974        impl W {
110975            ///Bit 0 - Update generation
110976            #[inline(always)]
110977            pub fn ug(&mut self) -> UG_W {
110978                UG_W { w: self }
110979            }
110980            ///Bit 1 - Capture/compare 1 generation
110981            #[inline(always)]
110982            pub fn cc1g(&mut self) -> CC1G_W {
110983                CC1G_W { w: self }
110984            }
110985            ///Bit 2 - Capture/compare 2 generation
110986            #[inline(always)]
110987            pub fn cc2g(&mut self) -> CC2G_W {
110988                CC2G_W { w: self }
110989            }
110990            ///Bit 3 - Capture/compare 3 generation
110991            #[inline(always)]
110992            pub fn cc3g(&mut self) -> CC3G_W {
110993                CC3G_W { w: self }
110994            }
110995            ///Bit 4 - Capture/compare 4 generation
110996            #[inline(always)]
110997            pub fn cc4g(&mut self) -> CC4G_W {
110998                CC4G_W { w: self }
110999            }
111000            ///Bit 5 - Capture/Compare control update generation
111001            #[inline(always)]
111002            pub fn comg(&mut self) -> COMG_W {
111003                COMG_W { w: self }
111004            }
111005            ///Bit 6 - Trigger generation
111006            #[inline(always)]
111007            pub fn tg(&mut self) -> TG_W {
111008                TG_W { w: self }
111009            }
111010            ///Bit 7 - Break generation
111011            #[inline(always)]
111012            pub fn bg(&mut self) -> BG_W {
111013                BG_W { w: self }
111014            }
111015            ///Bit 8 - Break 2 generation
111016            #[inline(always)]
111017            pub fn b2g(&mut self) -> B2G_W {
111018                B2G_W { w: self }
111019            }
111020        }
111021    }
111022    ///capture/compare mode register 1 (output mode)
111023    ///
111024    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
111025    ///
111026    ///For information about available fields see [ccmr1_input](ccmr1_input) module
111027    pub type CCMR1_INPUT = crate::Reg<u32, _CCMR1_INPUT>;
111028    #[allow(missing_docs)]
111029    #[doc(hidden)]
111030    pub struct _CCMR1_INPUT;
111031    ///`read()` method returns [ccmr1_input::R](ccmr1_input::R) reader structure
111032    impl crate::Readable for CCMR1_INPUT {}
111033    ///`write(|w| ..)` method takes [ccmr1_input::W](ccmr1_input::W) writer structure
111034    impl crate::Writable for CCMR1_INPUT {}
111035    ///capture/compare mode register 1 (output mode)
111036    pub mod ccmr1_input {
111037        ///Reader of register CCMR1_Input
111038        pub type R = crate::R<u32, super::CCMR1_INPUT>;
111039        ///Writer for register CCMR1_Input
111040        pub type W = crate::W<u32, super::CCMR1_INPUT>;
111041        ///Register CCMR1_Input `reset()`'s with value 0
111042        impl crate::ResetValue for super::CCMR1_INPUT {
111043            type Type = u32;
111044            #[inline(always)]
111045            fn reset_value() -> Self::Type {
111046                0
111047            }
111048        }
111049        ///Reader of field `CC1S`
111050        pub type CC1S_R = crate::R<u8, u8>;
111051        ///Write proxy for field `CC1S`
111052        pub struct CC1S_W<'a> {
111053            w: &'a mut W,
111054        }
111055        impl<'a> CC1S_W<'a> {
111056            ///Writes raw bits to the field
111057            #[inline(always)]
111058            pub unsafe fn bits(self, value: u8) -> &'a mut W {
111059                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
111060                self.w
111061            }
111062        }
111063        ///Reader of field `IC1PSC`
111064        pub type IC1PSC_R = crate::R<u8, u8>;
111065        ///Write proxy for field `IC1PSC`
111066        pub struct IC1PSC_W<'a> {
111067            w: &'a mut W,
111068        }
111069        impl<'a> IC1PSC_W<'a> {
111070            ///Writes raw bits to the field
111071            #[inline(always)]
111072            pub unsafe fn bits(self, value: u8) -> &'a mut W {
111073                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
111074                self.w
111075            }
111076        }
111077        ///Reader of field `C1F`
111078        pub type C1F_R = crate::R<u8, u8>;
111079        ///Write proxy for field `C1F`
111080        pub struct C1F_W<'a> {
111081            w: &'a mut W,
111082        }
111083        impl<'a> C1F_W<'a> {
111084            ///Writes raw bits to the field
111085            #[inline(always)]
111086            pub unsafe fn bits(self, value: u8) -> &'a mut W {
111087                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
111088                self.w
111089            }
111090        }
111091        ///Reader of field `CC2S`
111092        pub type CC2S_R = crate::R<u8, u8>;
111093        ///Write proxy for field `CC2S`
111094        pub struct CC2S_W<'a> {
111095            w: &'a mut W,
111096        }
111097        impl<'a> CC2S_W<'a> {
111098            ///Writes raw bits to the field
111099            #[inline(always)]
111100            pub unsafe fn bits(self, value: u8) -> &'a mut W {
111101                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
111102                self.w
111103            }
111104        }
111105        ///Reader of field `IC2PSC`
111106        pub type IC2PSC_R = crate::R<u8, u8>;
111107        ///Write proxy for field `IC2PSC`
111108        pub struct IC2PSC_W<'a> {
111109            w: &'a mut W,
111110        }
111111        impl<'a> IC2PSC_W<'a> {
111112            ///Writes raw bits to the field
111113            #[inline(always)]
111114            pub unsafe fn bits(self, value: u8) -> &'a mut W {
111115                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
111116                self.w
111117            }
111118        }
111119        ///Reader of field `IC2F`
111120        pub type IC2F_R = crate::R<u8, u8>;
111121        ///Write proxy for field `IC2F`
111122        pub struct IC2F_W<'a> {
111123            w: &'a mut W,
111124        }
111125        impl<'a> IC2F_W<'a> {
111126            ///Writes raw bits to the field
111127            #[inline(always)]
111128            pub unsafe fn bits(self, value: u8) -> &'a mut W {
111129                self.w.bits = (self.w.bits & !(0x0f << 12)) | (((value as u32) & 0x0f) << 12);
111130                self.w
111131            }
111132        }
111133        impl R {
111134            ///Bits 0:1 - Capture/Compare 1 selection
111135            #[inline(always)]
111136            pub fn cc1s(&self) -> CC1S_R {
111137                CC1S_R::new((self.bits & 0x03) as u8)
111138            }
111139            ///Bits 2:3 - Input capture 1 prescaler
111140            #[inline(always)]
111141            pub fn ic1psc(&self) -> IC1PSC_R {
111142                IC1PSC_R::new(((self.bits >> 2) & 0x03) as u8)
111143            }
111144            ///Bits 4:7 - Input capture 1 filter
111145            #[inline(always)]
111146            pub fn c1f(&self) -> C1F_R {
111147                C1F_R::new(((self.bits >> 4) & 0x0f) as u8)
111148            }
111149            ///Bits 8:9 - capture/Compare 2 selection
111150            #[inline(always)]
111151            pub fn cc2s(&self) -> CC2S_R {
111152                CC2S_R::new(((self.bits >> 8) & 0x03) as u8)
111153            }
111154            ///Bits 10:11 - Input capture 2 prescaler
111155            #[inline(always)]
111156            pub fn ic2psc(&self) -> IC2PSC_R {
111157                IC2PSC_R::new(((self.bits >> 10) & 0x03) as u8)
111158            }
111159            ///Bits 12:15 - Input capture 2 filter
111160            #[inline(always)]
111161            pub fn ic2f(&self) -> IC2F_R {
111162                IC2F_R::new(((self.bits >> 12) & 0x0f) as u8)
111163            }
111164        }
111165        impl W {
111166            ///Bits 0:1 - Capture/Compare 1 selection
111167            #[inline(always)]
111168            pub fn cc1s(&mut self) -> CC1S_W {
111169                CC1S_W { w: self }
111170            }
111171            ///Bits 2:3 - Input capture 1 prescaler
111172            #[inline(always)]
111173            pub fn ic1psc(&mut self) -> IC1PSC_W {
111174                IC1PSC_W { w: self }
111175            }
111176            ///Bits 4:7 - Input capture 1 filter
111177            #[inline(always)]
111178            pub fn c1f(&mut self) -> C1F_W {
111179                C1F_W { w: self }
111180            }
111181            ///Bits 8:9 - capture/Compare 2 selection
111182            #[inline(always)]
111183            pub fn cc2s(&mut self) -> CC2S_W {
111184                CC2S_W { w: self }
111185            }
111186            ///Bits 10:11 - Input capture 2 prescaler
111187            #[inline(always)]
111188            pub fn ic2psc(&mut self) -> IC2PSC_W {
111189                IC2PSC_W { w: self }
111190            }
111191            ///Bits 12:15 - Input capture 2 filter
111192            #[inline(always)]
111193            pub fn ic2f(&mut self) -> IC2F_W {
111194                IC2F_W { w: self }
111195            }
111196        }
111197    }
111198    ///capture/compare mode register 1 (output mode)
111199    ///
111200    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
111201    ///
111202    ///For information about available fields see [ccmr1_output](ccmr1_output) module
111203    pub type CCMR1_OUTPUT = crate::Reg<u32, _CCMR1_OUTPUT>;
111204    #[allow(missing_docs)]
111205    #[doc(hidden)]
111206    pub struct _CCMR1_OUTPUT;
111207    ///`read()` method returns [ccmr1_output::R](ccmr1_output::R) reader structure
111208    impl crate::Readable for CCMR1_OUTPUT {}
111209    ///`write(|w| ..)` method takes [ccmr1_output::W](ccmr1_output::W) writer structure
111210    impl crate::Writable for CCMR1_OUTPUT {}
111211    ///capture/compare mode register 1 (output mode)
111212    pub mod ccmr1_output {
111213        ///Reader of register CCMR1_Output
111214        pub type R = crate::R<u32, super::CCMR1_OUTPUT>;
111215        ///Writer for register CCMR1_Output
111216        pub type W = crate::W<u32, super::CCMR1_OUTPUT>;
111217        ///Register CCMR1_Output `reset()`'s with value 0
111218        impl crate::ResetValue for super::CCMR1_OUTPUT {
111219            type Type = u32;
111220            #[inline(always)]
111221            fn reset_value() -> Self::Type {
111222                0
111223            }
111224        }
111225        ///Reader of field `CC1S`
111226        pub type CC1S_R = crate::R<u8, u8>;
111227        ///Write proxy for field `CC1S`
111228        pub struct CC1S_W<'a> {
111229            w: &'a mut W,
111230        }
111231        impl<'a> CC1S_W<'a> {
111232            ///Writes raw bits to the field
111233            #[inline(always)]
111234            pub unsafe fn bits(self, value: u8) -> &'a mut W {
111235                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
111236                self.w
111237            }
111238        }
111239        ///Reader of field `OC1FE`
111240        pub type OC1FE_R = crate::R<bool, bool>;
111241        ///Write proxy for field `OC1FE`
111242        pub struct OC1FE_W<'a> {
111243            w: &'a mut W,
111244        }
111245        impl<'a> OC1FE_W<'a> {
111246            ///Sets the field bit
111247            #[inline(always)]
111248            pub fn set_bit(self) -> &'a mut W {
111249                self.bit(true)
111250            }
111251            ///Clears the field bit
111252            #[inline(always)]
111253            pub fn clear_bit(self) -> &'a mut W {
111254                self.bit(false)
111255            }
111256            ///Writes raw bits to the field
111257            #[inline(always)]
111258            pub fn bit(self, value: bool) -> &'a mut W {
111259                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
111260                self.w
111261            }
111262        }
111263        ///Reader of field `OC1PE`
111264        pub type OC1PE_R = crate::R<bool, bool>;
111265        ///Write proxy for field `OC1PE`
111266        pub struct OC1PE_W<'a> {
111267            w: &'a mut W,
111268        }
111269        impl<'a> OC1PE_W<'a> {
111270            ///Sets the field bit
111271            #[inline(always)]
111272            pub fn set_bit(self) -> &'a mut W {
111273                self.bit(true)
111274            }
111275            ///Clears the field bit
111276            #[inline(always)]
111277            pub fn clear_bit(self) -> &'a mut W {
111278                self.bit(false)
111279            }
111280            ///Writes raw bits to the field
111281            #[inline(always)]
111282            pub fn bit(self, value: bool) -> &'a mut W {
111283                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
111284                self.w
111285            }
111286        }
111287        ///Reader of field `OC1M`
111288        pub type OC1M_R = crate::R<u8, u8>;
111289        ///Write proxy for field `OC1M`
111290        pub struct OC1M_W<'a> {
111291            w: &'a mut W,
111292        }
111293        impl<'a> OC1M_W<'a> {
111294            ///Writes raw bits to the field
111295            #[inline(always)]
111296            pub unsafe fn bits(self, value: u8) -> &'a mut W {
111297                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
111298                self.w
111299            }
111300        }
111301        ///Reader of field `OC1CE`
111302        pub type OC1CE_R = crate::R<bool, bool>;
111303        ///Write proxy for field `OC1CE`
111304        pub struct OC1CE_W<'a> {
111305            w: &'a mut W,
111306        }
111307        impl<'a> OC1CE_W<'a> {
111308            ///Sets the field bit
111309            #[inline(always)]
111310            pub fn set_bit(self) -> &'a mut W {
111311                self.bit(true)
111312            }
111313            ///Clears the field bit
111314            #[inline(always)]
111315            pub fn clear_bit(self) -> &'a mut W {
111316                self.bit(false)
111317            }
111318            ///Writes raw bits to the field
111319            #[inline(always)]
111320            pub fn bit(self, value: bool) -> &'a mut W {
111321                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
111322                self.w
111323            }
111324        }
111325        ///Reader of field `CC2S`
111326        pub type CC2S_R = crate::R<u8, u8>;
111327        ///Write proxy for field `CC2S`
111328        pub struct CC2S_W<'a> {
111329            w: &'a mut W,
111330        }
111331        impl<'a> CC2S_W<'a> {
111332            ///Writes raw bits to the field
111333            #[inline(always)]
111334            pub unsafe fn bits(self, value: u8) -> &'a mut W {
111335                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
111336                self.w
111337            }
111338        }
111339        ///Reader of field `OC2FE`
111340        pub type OC2FE_R = crate::R<bool, bool>;
111341        ///Write proxy for field `OC2FE`
111342        pub struct OC2FE_W<'a> {
111343            w: &'a mut W,
111344        }
111345        impl<'a> OC2FE_W<'a> {
111346            ///Sets the field bit
111347            #[inline(always)]
111348            pub fn set_bit(self) -> &'a mut W {
111349                self.bit(true)
111350            }
111351            ///Clears the field bit
111352            #[inline(always)]
111353            pub fn clear_bit(self) -> &'a mut W {
111354                self.bit(false)
111355            }
111356            ///Writes raw bits to the field
111357            #[inline(always)]
111358            pub fn bit(self, value: bool) -> &'a mut W {
111359                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
111360                self.w
111361            }
111362        }
111363        ///Reader of field `OC2PE`
111364        pub type OC2PE_R = crate::R<bool, bool>;
111365        ///Write proxy for field `OC2PE`
111366        pub struct OC2PE_W<'a> {
111367            w: &'a mut W,
111368        }
111369        impl<'a> OC2PE_W<'a> {
111370            ///Sets the field bit
111371            #[inline(always)]
111372            pub fn set_bit(self) -> &'a mut W {
111373                self.bit(true)
111374            }
111375            ///Clears the field bit
111376            #[inline(always)]
111377            pub fn clear_bit(self) -> &'a mut W {
111378                self.bit(false)
111379            }
111380            ///Writes raw bits to the field
111381            #[inline(always)]
111382            pub fn bit(self, value: bool) -> &'a mut W {
111383                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
111384                self.w
111385            }
111386        }
111387        ///Reader of field `OC2M`
111388        pub type OC2M_R = crate::R<u8, u8>;
111389        ///Write proxy for field `OC2M`
111390        pub struct OC2M_W<'a> {
111391            w: &'a mut W,
111392        }
111393        impl<'a> OC2M_W<'a> {
111394            ///Writes raw bits to the field
111395            #[inline(always)]
111396            pub unsafe fn bits(self, value: u8) -> &'a mut W {
111397                self.w.bits = (self.w.bits & !(0x07 << 12)) | (((value as u32) & 0x07) << 12);
111398                self.w
111399            }
111400        }
111401        ///Reader of field `OC2CE`
111402        pub type OC2CE_R = crate::R<bool, bool>;
111403        ///Write proxy for field `OC2CE`
111404        pub struct OC2CE_W<'a> {
111405            w: &'a mut W,
111406        }
111407        impl<'a> OC2CE_W<'a> {
111408            ///Sets the field bit
111409            #[inline(always)]
111410            pub fn set_bit(self) -> &'a mut W {
111411                self.bit(true)
111412            }
111413            ///Clears the field bit
111414            #[inline(always)]
111415            pub fn clear_bit(self) -> &'a mut W {
111416                self.bit(false)
111417            }
111418            ///Writes raw bits to the field
111419            #[inline(always)]
111420            pub fn bit(self, value: bool) -> &'a mut W {
111421                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
111422                self.w
111423            }
111424        }
111425        ///Reader of field `OC1M_3`
111426        pub type OC1M_3_R = crate::R<bool, bool>;
111427        ///Write proxy for field `OC1M_3`
111428        pub struct OC1M_3_W<'a> {
111429            w: &'a mut W,
111430        }
111431        impl<'a> OC1M_3_W<'a> {
111432            ///Sets the field bit
111433            #[inline(always)]
111434            pub fn set_bit(self) -> &'a mut W {
111435                self.bit(true)
111436            }
111437            ///Clears the field bit
111438            #[inline(always)]
111439            pub fn clear_bit(self) -> &'a mut W {
111440                self.bit(false)
111441            }
111442            ///Writes raw bits to the field
111443            #[inline(always)]
111444            pub fn bit(self, value: bool) -> &'a mut W {
111445                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
111446                self.w
111447            }
111448        }
111449        ///Reader of field `OC2M_3`
111450        pub type OC2M_3_R = crate::R<bool, bool>;
111451        ///Write proxy for field `OC2M_3`
111452        pub struct OC2M_3_W<'a> {
111453            w: &'a mut W,
111454        }
111455        impl<'a> OC2M_3_W<'a> {
111456            ///Sets the field bit
111457            #[inline(always)]
111458            pub fn set_bit(self) -> &'a mut W {
111459                self.bit(true)
111460            }
111461            ///Clears the field bit
111462            #[inline(always)]
111463            pub fn clear_bit(self) -> &'a mut W {
111464                self.bit(false)
111465            }
111466            ///Writes raw bits to the field
111467            #[inline(always)]
111468            pub fn bit(self, value: bool) -> &'a mut W {
111469                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
111470                self.w
111471            }
111472        }
111473        impl R {
111474            ///Bits 0:1 - Capture/Compare 1 selection
111475            #[inline(always)]
111476            pub fn cc1s(&self) -> CC1S_R {
111477                CC1S_R::new((self.bits & 0x03) as u8)
111478            }
111479            ///Bit 2 - Output Compare 1 fast enable
111480            #[inline(always)]
111481            pub fn oc1fe(&self) -> OC1FE_R {
111482                OC1FE_R::new(((self.bits >> 2) & 0x01) != 0)
111483            }
111484            ///Bit 3 - Output Compare 1 preload enable
111485            #[inline(always)]
111486            pub fn oc1pe(&self) -> OC1PE_R {
111487                OC1PE_R::new(((self.bits >> 3) & 0x01) != 0)
111488            }
111489            ///Bits 4:6 - Output Compare 1 mode
111490            #[inline(always)]
111491            pub fn oc1m(&self) -> OC1M_R {
111492                OC1M_R::new(((self.bits >> 4) & 0x07) as u8)
111493            }
111494            ///Bit 7 - Output Compare 1 clear enable
111495            #[inline(always)]
111496            pub fn oc1ce(&self) -> OC1CE_R {
111497                OC1CE_R::new(((self.bits >> 7) & 0x01) != 0)
111498            }
111499            ///Bits 8:9 - Capture/Compare 2 selection
111500            #[inline(always)]
111501            pub fn cc2s(&self) -> CC2S_R {
111502                CC2S_R::new(((self.bits >> 8) & 0x03) as u8)
111503            }
111504            ///Bit 10 - Output Compare 2 fast enable
111505            #[inline(always)]
111506            pub fn oc2fe(&self) -> OC2FE_R {
111507                OC2FE_R::new(((self.bits >> 10) & 0x01) != 0)
111508            }
111509            ///Bit 11 - Output Compare 2 preload enable
111510            #[inline(always)]
111511            pub fn oc2pe(&self) -> OC2PE_R {
111512                OC2PE_R::new(((self.bits >> 11) & 0x01) != 0)
111513            }
111514            ///Bits 12:14 - Output Compare 2 mode
111515            #[inline(always)]
111516            pub fn oc2m(&self) -> OC2M_R {
111517                OC2M_R::new(((self.bits >> 12) & 0x07) as u8)
111518            }
111519            ///Bit 15 - Output Compare 2 clear enable
111520            #[inline(always)]
111521            pub fn oc2ce(&self) -> OC2CE_R {
111522                OC2CE_R::new(((self.bits >> 15) & 0x01) != 0)
111523            }
111524            ///Bit 16 - Output Compare 1 mode - bit 3
111525            #[inline(always)]
111526            pub fn oc1m_3(&self) -> OC1M_3_R {
111527                OC1M_3_R::new(((self.bits >> 16) & 0x01) != 0)
111528            }
111529            ///Bit 24 - Output Compare 2 mode - bit 3
111530            #[inline(always)]
111531            pub fn oc2m_3(&self) -> OC2M_3_R {
111532                OC2M_3_R::new(((self.bits >> 24) & 0x01) != 0)
111533            }
111534        }
111535        impl W {
111536            ///Bits 0:1 - Capture/Compare 1 selection
111537            #[inline(always)]
111538            pub fn cc1s(&mut self) -> CC1S_W {
111539                CC1S_W { w: self }
111540            }
111541            ///Bit 2 - Output Compare 1 fast enable
111542            #[inline(always)]
111543            pub fn oc1fe(&mut self) -> OC1FE_W {
111544                OC1FE_W { w: self }
111545            }
111546            ///Bit 3 - Output Compare 1 preload enable
111547            #[inline(always)]
111548            pub fn oc1pe(&mut self) -> OC1PE_W {
111549                OC1PE_W { w: self }
111550            }
111551            ///Bits 4:6 - Output Compare 1 mode
111552            #[inline(always)]
111553            pub fn oc1m(&mut self) -> OC1M_W {
111554                OC1M_W { w: self }
111555            }
111556            ///Bit 7 - Output Compare 1 clear enable
111557            #[inline(always)]
111558            pub fn oc1ce(&mut self) -> OC1CE_W {
111559                OC1CE_W { w: self }
111560            }
111561            ///Bits 8:9 - Capture/Compare 2 selection
111562            #[inline(always)]
111563            pub fn cc2s(&mut self) -> CC2S_W {
111564                CC2S_W { w: self }
111565            }
111566            ///Bit 10 - Output Compare 2 fast enable
111567            #[inline(always)]
111568            pub fn oc2fe(&mut self) -> OC2FE_W {
111569                OC2FE_W { w: self }
111570            }
111571            ///Bit 11 - Output Compare 2 preload enable
111572            #[inline(always)]
111573            pub fn oc2pe(&mut self) -> OC2PE_W {
111574                OC2PE_W { w: self }
111575            }
111576            ///Bits 12:14 - Output Compare 2 mode
111577            #[inline(always)]
111578            pub fn oc2m(&mut self) -> OC2M_W {
111579                OC2M_W { w: self }
111580            }
111581            ///Bit 15 - Output Compare 2 clear enable
111582            #[inline(always)]
111583            pub fn oc2ce(&mut self) -> OC2CE_W {
111584                OC2CE_W { w: self }
111585            }
111586            ///Bit 16 - Output Compare 1 mode - bit 3
111587            #[inline(always)]
111588            pub fn oc1m_3(&mut self) -> OC1M_3_W {
111589                OC1M_3_W { w: self }
111590            }
111591            ///Bit 24 - Output Compare 2 mode - bit 3
111592            #[inline(always)]
111593            pub fn oc2m_3(&mut self) -> OC2M_3_W {
111594                OC2M_3_W { w: self }
111595            }
111596        }
111597    }
111598    ///capture/compare mode register 2 (output mode)
111599    ///
111600    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
111601    ///
111602    ///For information about available fields see [ccmr2_output](ccmr2_output) module
111603    pub type CCMR2_OUTPUT = crate::Reg<u32, _CCMR2_OUTPUT>;
111604    #[allow(missing_docs)]
111605    #[doc(hidden)]
111606    pub struct _CCMR2_OUTPUT;
111607    ///`read()` method returns [ccmr2_output::R](ccmr2_output::R) reader structure
111608    impl crate::Readable for CCMR2_OUTPUT {}
111609    ///`write(|w| ..)` method takes [ccmr2_output::W](ccmr2_output::W) writer structure
111610    impl crate::Writable for CCMR2_OUTPUT {}
111611    ///capture/compare mode register 2 (output mode)
111612    pub mod ccmr2_output {
111613        ///Reader of register CCMR2_Output
111614        pub type R = crate::R<u32, super::CCMR2_OUTPUT>;
111615        ///Writer for register CCMR2_Output
111616        pub type W = crate::W<u32, super::CCMR2_OUTPUT>;
111617        ///Register CCMR2_Output `reset()`'s with value 0
111618        impl crate::ResetValue for super::CCMR2_OUTPUT {
111619            type Type = u32;
111620            #[inline(always)]
111621            fn reset_value() -> Self::Type {
111622                0
111623            }
111624        }
111625        ///Reader of field `CC3S`
111626        pub type CC3S_R = crate::R<u8, u8>;
111627        ///Write proxy for field `CC3S`
111628        pub struct CC3S_W<'a> {
111629            w: &'a mut W,
111630        }
111631        impl<'a> CC3S_W<'a> {
111632            ///Writes raw bits to the field
111633            #[inline(always)]
111634            pub unsafe fn bits(self, value: u8) -> &'a mut W {
111635                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
111636                self.w
111637            }
111638        }
111639        ///Reader of field `OC3FE`
111640        pub type OC3FE_R = crate::R<bool, bool>;
111641        ///Write proxy for field `OC3FE`
111642        pub struct OC3FE_W<'a> {
111643            w: &'a mut W,
111644        }
111645        impl<'a> OC3FE_W<'a> {
111646            ///Sets the field bit
111647            #[inline(always)]
111648            pub fn set_bit(self) -> &'a mut W {
111649                self.bit(true)
111650            }
111651            ///Clears the field bit
111652            #[inline(always)]
111653            pub fn clear_bit(self) -> &'a mut W {
111654                self.bit(false)
111655            }
111656            ///Writes raw bits to the field
111657            #[inline(always)]
111658            pub fn bit(self, value: bool) -> &'a mut W {
111659                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
111660                self.w
111661            }
111662        }
111663        ///Reader of field `OC3PE`
111664        pub type OC3PE_R = crate::R<bool, bool>;
111665        ///Write proxy for field `OC3PE`
111666        pub struct OC3PE_W<'a> {
111667            w: &'a mut W,
111668        }
111669        impl<'a> OC3PE_W<'a> {
111670            ///Sets the field bit
111671            #[inline(always)]
111672            pub fn set_bit(self) -> &'a mut W {
111673                self.bit(true)
111674            }
111675            ///Clears the field bit
111676            #[inline(always)]
111677            pub fn clear_bit(self) -> &'a mut W {
111678                self.bit(false)
111679            }
111680            ///Writes raw bits to the field
111681            #[inline(always)]
111682            pub fn bit(self, value: bool) -> &'a mut W {
111683                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
111684                self.w
111685            }
111686        }
111687        ///Reader of field `OC3M`
111688        pub type OC3M_R = crate::R<u8, u8>;
111689        ///Write proxy for field `OC3M`
111690        pub struct OC3M_W<'a> {
111691            w: &'a mut W,
111692        }
111693        impl<'a> OC3M_W<'a> {
111694            ///Writes raw bits to the field
111695            #[inline(always)]
111696            pub unsafe fn bits(self, value: u8) -> &'a mut W {
111697                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
111698                self.w
111699            }
111700        }
111701        ///Reader of field `OC3CE`
111702        pub type OC3CE_R = crate::R<bool, bool>;
111703        ///Write proxy for field `OC3CE`
111704        pub struct OC3CE_W<'a> {
111705            w: &'a mut W,
111706        }
111707        impl<'a> OC3CE_W<'a> {
111708            ///Sets the field bit
111709            #[inline(always)]
111710            pub fn set_bit(self) -> &'a mut W {
111711                self.bit(true)
111712            }
111713            ///Clears the field bit
111714            #[inline(always)]
111715            pub fn clear_bit(self) -> &'a mut W {
111716                self.bit(false)
111717            }
111718            ///Writes raw bits to the field
111719            #[inline(always)]
111720            pub fn bit(self, value: bool) -> &'a mut W {
111721                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
111722                self.w
111723            }
111724        }
111725        ///Reader of field `CC4S`
111726        pub type CC4S_R = crate::R<u8, u8>;
111727        ///Write proxy for field `CC4S`
111728        pub struct CC4S_W<'a> {
111729            w: &'a mut W,
111730        }
111731        impl<'a> CC4S_W<'a> {
111732            ///Writes raw bits to the field
111733            #[inline(always)]
111734            pub unsafe fn bits(self, value: u8) -> &'a mut W {
111735                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
111736                self.w
111737            }
111738        }
111739        ///Reader of field `OC4FE`
111740        pub type OC4FE_R = crate::R<bool, bool>;
111741        ///Write proxy for field `OC4FE`
111742        pub struct OC4FE_W<'a> {
111743            w: &'a mut W,
111744        }
111745        impl<'a> OC4FE_W<'a> {
111746            ///Sets the field bit
111747            #[inline(always)]
111748            pub fn set_bit(self) -> &'a mut W {
111749                self.bit(true)
111750            }
111751            ///Clears the field bit
111752            #[inline(always)]
111753            pub fn clear_bit(self) -> &'a mut W {
111754                self.bit(false)
111755            }
111756            ///Writes raw bits to the field
111757            #[inline(always)]
111758            pub fn bit(self, value: bool) -> &'a mut W {
111759                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
111760                self.w
111761            }
111762        }
111763        ///Reader of field `OC4PE`
111764        pub type OC4PE_R = crate::R<bool, bool>;
111765        ///Write proxy for field `OC4PE`
111766        pub struct OC4PE_W<'a> {
111767            w: &'a mut W,
111768        }
111769        impl<'a> OC4PE_W<'a> {
111770            ///Sets the field bit
111771            #[inline(always)]
111772            pub fn set_bit(self) -> &'a mut W {
111773                self.bit(true)
111774            }
111775            ///Clears the field bit
111776            #[inline(always)]
111777            pub fn clear_bit(self) -> &'a mut W {
111778                self.bit(false)
111779            }
111780            ///Writes raw bits to the field
111781            #[inline(always)]
111782            pub fn bit(self, value: bool) -> &'a mut W {
111783                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
111784                self.w
111785            }
111786        }
111787        ///Reader of field `OC4M`
111788        pub type OC4M_R = crate::R<u8, u8>;
111789        ///Write proxy for field `OC4M`
111790        pub struct OC4M_W<'a> {
111791            w: &'a mut W,
111792        }
111793        impl<'a> OC4M_W<'a> {
111794            ///Writes raw bits to the field
111795            #[inline(always)]
111796            pub unsafe fn bits(self, value: u8) -> &'a mut W {
111797                self.w.bits = (self.w.bits & !(0x07 << 12)) | (((value as u32) & 0x07) << 12);
111798                self.w
111799            }
111800        }
111801        ///Reader of field `OC4CE`
111802        pub type OC4CE_R = crate::R<bool, bool>;
111803        ///Write proxy for field `OC4CE`
111804        pub struct OC4CE_W<'a> {
111805            w: &'a mut W,
111806        }
111807        impl<'a> OC4CE_W<'a> {
111808            ///Sets the field bit
111809            #[inline(always)]
111810            pub fn set_bit(self) -> &'a mut W {
111811                self.bit(true)
111812            }
111813            ///Clears the field bit
111814            #[inline(always)]
111815            pub fn clear_bit(self) -> &'a mut W {
111816                self.bit(false)
111817            }
111818            ///Writes raw bits to the field
111819            #[inline(always)]
111820            pub fn bit(self, value: bool) -> &'a mut W {
111821                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
111822                self.w
111823            }
111824        }
111825        ///Reader of field `OC3M_3`
111826        pub type OC3M_3_R = crate::R<bool, bool>;
111827        ///Write proxy for field `OC3M_3`
111828        pub struct OC3M_3_W<'a> {
111829            w: &'a mut W,
111830        }
111831        impl<'a> OC3M_3_W<'a> {
111832            ///Sets the field bit
111833            #[inline(always)]
111834            pub fn set_bit(self) -> &'a mut W {
111835                self.bit(true)
111836            }
111837            ///Clears the field bit
111838            #[inline(always)]
111839            pub fn clear_bit(self) -> &'a mut W {
111840                self.bit(false)
111841            }
111842            ///Writes raw bits to the field
111843            #[inline(always)]
111844            pub fn bit(self, value: bool) -> &'a mut W {
111845                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
111846                self.w
111847            }
111848        }
111849        ///Reader of field `OC4M_3`
111850        pub type OC4M_3_R = crate::R<bool, bool>;
111851        ///Write proxy for field `OC4M_3`
111852        pub struct OC4M_3_W<'a> {
111853            w: &'a mut W,
111854        }
111855        impl<'a> OC4M_3_W<'a> {
111856            ///Sets the field bit
111857            #[inline(always)]
111858            pub fn set_bit(self) -> &'a mut W {
111859                self.bit(true)
111860            }
111861            ///Clears the field bit
111862            #[inline(always)]
111863            pub fn clear_bit(self) -> &'a mut W {
111864                self.bit(false)
111865            }
111866            ///Writes raw bits to the field
111867            #[inline(always)]
111868            pub fn bit(self, value: bool) -> &'a mut W {
111869                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
111870                self.w
111871            }
111872        }
111873        impl R {
111874            ///Bits 0:1 - Capture/Compare 3 selection
111875            #[inline(always)]
111876            pub fn cc3s(&self) -> CC3S_R {
111877                CC3S_R::new((self.bits & 0x03) as u8)
111878            }
111879            ///Bit 2 - Output compare 3 fast enable
111880            #[inline(always)]
111881            pub fn oc3fe(&self) -> OC3FE_R {
111882                OC3FE_R::new(((self.bits >> 2) & 0x01) != 0)
111883            }
111884            ///Bit 3 - Output compare 3 preload enable
111885            #[inline(always)]
111886            pub fn oc3pe(&self) -> OC3PE_R {
111887                OC3PE_R::new(((self.bits >> 3) & 0x01) != 0)
111888            }
111889            ///Bits 4:6 - Output compare 3 mode
111890            #[inline(always)]
111891            pub fn oc3m(&self) -> OC3M_R {
111892                OC3M_R::new(((self.bits >> 4) & 0x07) as u8)
111893            }
111894            ///Bit 7 - Output compare 3 clear enable
111895            #[inline(always)]
111896            pub fn oc3ce(&self) -> OC3CE_R {
111897                OC3CE_R::new(((self.bits >> 7) & 0x01) != 0)
111898            }
111899            ///Bits 8:9 - Capture/Compare 4 selection
111900            #[inline(always)]
111901            pub fn cc4s(&self) -> CC4S_R {
111902                CC4S_R::new(((self.bits >> 8) & 0x03) as u8)
111903            }
111904            ///Bit 10 - Output compare 4 fast enable
111905            #[inline(always)]
111906            pub fn oc4fe(&self) -> OC4FE_R {
111907                OC4FE_R::new(((self.bits >> 10) & 0x01) != 0)
111908            }
111909            ///Bit 11 - Output compare 4 preload enable
111910            #[inline(always)]
111911            pub fn oc4pe(&self) -> OC4PE_R {
111912                OC4PE_R::new(((self.bits >> 11) & 0x01) != 0)
111913            }
111914            ///Bits 12:14 - Output compare 4 mode
111915            #[inline(always)]
111916            pub fn oc4m(&self) -> OC4M_R {
111917                OC4M_R::new(((self.bits >> 12) & 0x07) as u8)
111918            }
111919            ///Bit 15 - Output compare 4 clear enable
111920            #[inline(always)]
111921            pub fn oc4ce(&self) -> OC4CE_R {
111922                OC4CE_R::new(((self.bits >> 15) & 0x01) != 0)
111923            }
111924            ///Bit 16 - Output Compare 3 mode - bit 3
111925            #[inline(always)]
111926            pub fn oc3m_3(&self) -> OC3M_3_R {
111927                OC3M_3_R::new(((self.bits >> 16) & 0x01) != 0)
111928            }
111929            ///Bit 24 - Output Compare 4 mode - bit 3
111930            #[inline(always)]
111931            pub fn oc4m_3(&self) -> OC4M_3_R {
111932                OC4M_3_R::new(((self.bits >> 24) & 0x01) != 0)
111933            }
111934        }
111935        impl W {
111936            ///Bits 0:1 - Capture/Compare 3 selection
111937            #[inline(always)]
111938            pub fn cc3s(&mut self) -> CC3S_W {
111939                CC3S_W { w: self }
111940            }
111941            ///Bit 2 - Output compare 3 fast enable
111942            #[inline(always)]
111943            pub fn oc3fe(&mut self) -> OC3FE_W {
111944                OC3FE_W { w: self }
111945            }
111946            ///Bit 3 - Output compare 3 preload enable
111947            #[inline(always)]
111948            pub fn oc3pe(&mut self) -> OC3PE_W {
111949                OC3PE_W { w: self }
111950            }
111951            ///Bits 4:6 - Output compare 3 mode
111952            #[inline(always)]
111953            pub fn oc3m(&mut self) -> OC3M_W {
111954                OC3M_W { w: self }
111955            }
111956            ///Bit 7 - Output compare 3 clear enable
111957            #[inline(always)]
111958            pub fn oc3ce(&mut self) -> OC3CE_W {
111959                OC3CE_W { w: self }
111960            }
111961            ///Bits 8:9 - Capture/Compare 4 selection
111962            #[inline(always)]
111963            pub fn cc4s(&mut self) -> CC4S_W {
111964                CC4S_W { w: self }
111965            }
111966            ///Bit 10 - Output compare 4 fast enable
111967            #[inline(always)]
111968            pub fn oc4fe(&mut self) -> OC4FE_W {
111969                OC4FE_W { w: self }
111970            }
111971            ///Bit 11 - Output compare 4 preload enable
111972            #[inline(always)]
111973            pub fn oc4pe(&mut self) -> OC4PE_W {
111974                OC4PE_W { w: self }
111975            }
111976            ///Bits 12:14 - Output compare 4 mode
111977            #[inline(always)]
111978            pub fn oc4m(&mut self) -> OC4M_W {
111979                OC4M_W { w: self }
111980            }
111981            ///Bit 15 - Output compare 4 clear enable
111982            #[inline(always)]
111983            pub fn oc4ce(&mut self) -> OC4CE_W {
111984                OC4CE_W { w: self }
111985            }
111986            ///Bit 16 - Output Compare 3 mode - bit 3
111987            #[inline(always)]
111988            pub fn oc3m_3(&mut self) -> OC3M_3_W {
111989                OC3M_3_W { w: self }
111990            }
111991            ///Bit 24 - Output Compare 4 mode - bit 3
111992            #[inline(always)]
111993            pub fn oc4m_3(&mut self) -> OC4M_3_W {
111994                OC4M_3_W { w: self }
111995            }
111996        }
111997    }
111998    ///capture/compare mode register 2 (output mode)
111999    ///
112000    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
112001    ///
112002    ///For information about available fields see [ccmr2_input](ccmr2_input) module
112003    pub type CCMR2_INPUT = crate::Reg<u32, _CCMR2_INPUT>;
112004    #[allow(missing_docs)]
112005    #[doc(hidden)]
112006    pub struct _CCMR2_INPUT;
112007    ///`read()` method returns [ccmr2_input::R](ccmr2_input::R) reader structure
112008    impl crate::Readable for CCMR2_INPUT {}
112009    ///`write(|w| ..)` method takes [ccmr2_input::W](ccmr2_input::W) writer structure
112010    impl crate::Writable for CCMR2_INPUT {}
112011    ///capture/compare mode register 2 (output mode)
112012    pub mod ccmr2_input {
112013        ///Reader of register CCMR2_Input
112014        pub type R = crate::R<u32, super::CCMR2_INPUT>;
112015        ///Writer for register CCMR2_Input
112016        pub type W = crate::W<u32, super::CCMR2_INPUT>;
112017        ///Register CCMR2_Input `reset()`'s with value 0
112018        impl crate::ResetValue for super::CCMR2_INPUT {
112019            type Type = u32;
112020            #[inline(always)]
112021            fn reset_value() -> Self::Type {
112022                0
112023            }
112024        }
112025        ///Reader of field `CC3S`
112026        pub type CC3S_R = crate::R<u8, u8>;
112027        ///Write proxy for field `CC3S`
112028        pub struct CC3S_W<'a> {
112029            w: &'a mut W,
112030        }
112031        impl<'a> CC3S_W<'a> {
112032            ///Writes raw bits to the field
112033            #[inline(always)]
112034            pub unsafe fn bits(self, value: u8) -> &'a mut W {
112035                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
112036                self.w
112037            }
112038        }
112039        ///Reader of field `C3PSC`
112040        pub type C3PSC_R = crate::R<u8, u8>;
112041        ///Write proxy for field `C3PSC`
112042        pub struct C3PSC_W<'a> {
112043            w: &'a mut W,
112044        }
112045        impl<'a> C3PSC_W<'a> {
112046            ///Writes raw bits to the field
112047            #[inline(always)]
112048            pub unsafe fn bits(self, value: u8) -> &'a mut W {
112049                self.w.bits = (self.w.bits & !(0x03 << 2)) | (((value as u32) & 0x03) << 2);
112050                self.w
112051            }
112052        }
112053        ///Reader of field `IC3F`
112054        pub type IC3F_R = crate::R<u8, u8>;
112055        ///Write proxy for field `IC3F`
112056        pub struct IC3F_W<'a> {
112057            w: &'a mut W,
112058        }
112059        impl<'a> IC3F_W<'a> {
112060            ///Writes raw bits to the field
112061            #[inline(always)]
112062            pub unsafe fn bits(self, value: u8) -> &'a mut W {
112063                self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4);
112064                self.w
112065            }
112066        }
112067        ///Reader of field `CC4S`
112068        pub type CC4S_R = crate::R<u8, u8>;
112069        ///Write proxy for field `CC4S`
112070        pub struct CC4S_W<'a> {
112071            w: &'a mut W,
112072        }
112073        impl<'a> CC4S_W<'a> {
112074            ///Writes raw bits to the field
112075            #[inline(always)]
112076            pub unsafe fn bits(self, value: u8) -> &'a mut W {
112077                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
112078                self.w
112079            }
112080        }
112081        ///Reader of field `IC4PSC`
112082        pub type IC4PSC_R = crate::R<u8, u8>;
112083        ///Write proxy for field `IC4PSC`
112084        pub struct IC4PSC_W<'a> {
112085            w: &'a mut W,
112086        }
112087        impl<'a> IC4PSC_W<'a> {
112088            ///Writes raw bits to the field
112089            #[inline(always)]
112090            pub unsafe fn bits(self, value: u8) -> &'a mut W {
112091                self.w.bits = (self.w.bits & !(0x03 << 10)) | (((value as u32) & 0x03) << 10);
112092                self.w
112093            }
112094        }
112095        ///Reader of field `IC4F`
112096        pub type IC4F_R = crate::R<u8, u8>;
112097        ///Write proxy for field `IC4F`
112098        pub struct IC4F_W<'a> {
112099            w: &'a mut W,
112100        }
112101        impl<'a> IC4F_W<'a> {
112102            ///Writes raw bits to the field
112103            #[inline(always)]
112104            pub unsafe fn bits(self, value: u8) -> &'a mut W {
112105                self.w.bits = (self.w.bits & !(0x0f << 12)) | (((value as u32) & 0x0f) << 12);
112106                self.w
112107            }
112108        }
112109        impl R {
112110            ///Bits 0:1 - Capture/Compare 3 selection
112111            #[inline(always)]
112112            pub fn cc3s(&self) -> CC3S_R {
112113                CC3S_R::new((self.bits & 0x03) as u8)
112114            }
112115            ///Bits 2:3 - Input capture 3 prescaler
112116            #[inline(always)]
112117            pub fn c3psc(&self) -> C3PSC_R {
112118                C3PSC_R::new(((self.bits >> 2) & 0x03) as u8)
112119            }
112120            ///Bits 4:7 - Input capture 3 filter
112121            #[inline(always)]
112122            pub fn ic3f(&self) -> IC3F_R {
112123                IC3F_R::new(((self.bits >> 4) & 0x0f) as u8)
112124            }
112125            ///Bits 8:9 - Capture/Compare 4 selection
112126            #[inline(always)]
112127            pub fn cc4s(&self) -> CC4S_R {
112128                CC4S_R::new(((self.bits >> 8) & 0x03) as u8)
112129            }
112130            ///Bits 10:11 - Input capture 4 prescaler
112131            #[inline(always)]
112132            pub fn ic4psc(&self) -> IC4PSC_R {
112133                IC4PSC_R::new(((self.bits >> 10) & 0x03) as u8)
112134            }
112135            ///Bits 12:15 - Input capture 4 filter
112136            #[inline(always)]
112137            pub fn ic4f(&self) -> IC4F_R {
112138                IC4F_R::new(((self.bits >> 12) & 0x0f) as u8)
112139            }
112140        }
112141        impl W {
112142            ///Bits 0:1 - Capture/Compare 3 selection
112143            #[inline(always)]
112144            pub fn cc3s(&mut self) -> CC3S_W {
112145                CC3S_W { w: self }
112146            }
112147            ///Bits 2:3 - Input capture 3 prescaler
112148            #[inline(always)]
112149            pub fn c3psc(&mut self) -> C3PSC_W {
112150                C3PSC_W { w: self }
112151            }
112152            ///Bits 4:7 - Input capture 3 filter
112153            #[inline(always)]
112154            pub fn ic3f(&mut self) -> IC3F_W {
112155                IC3F_W { w: self }
112156            }
112157            ///Bits 8:9 - Capture/Compare 4 selection
112158            #[inline(always)]
112159            pub fn cc4s(&mut self) -> CC4S_W {
112160                CC4S_W { w: self }
112161            }
112162            ///Bits 10:11 - Input capture 4 prescaler
112163            #[inline(always)]
112164            pub fn ic4psc(&mut self) -> IC4PSC_W {
112165                IC4PSC_W { w: self }
112166            }
112167            ///Bits 12:15 - Input capture 4 filter
112168            #[inline(always)]
112169            pub fn ic4f(&mut self) -> IC4F_W {
112170                IC4F_W { w: self }
112171            }
112172        }
112173    }
112174    ///capture/compare enable register
112175    ///
112176    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
112177    ///
112178    ///For information about available fields see [ccer](ccer) module
112179    pub type CCER = crate::Reg<u32, _CCER>;
112180    #[allow(missing_docs)]
112181    #[doc(hidden)]
112182    pub struct _CCER;
112183    ///`read()` method returns [ccer::R](ccer::R) reader structure
112184    impl crate::Readable for CCER {}
112185    ///`write(|w| ..)` method takes [ccer::W](ccer::W) writer structure
112186    impl crate::Writable for CCER {}
112187    ///capture/compare enable register
112188    pub mod ccer {
112189        ///Reader of register CCER
112190        pub type R = crate::R<u32, super::CCER>;
112191        ///Writer for register CCER
112192        pub type W = crate::W<u32, super::CCER>;
112193        ///Register CCER `reset()`'s with value 0
112194        impl crate::ResetValue for super::CCER {
112195            type Type = u32;
112196            #[inline(always)]
112197            fn reset_value() -> Self::Type {
112198                0
112199            }
112200        }
112201        ///Reader of field `CC1E`
112202        pub type CC1E_R = crate::R<bool, bool>;
112203        ///Write proxy for field `CC1E`
112204        pub struct CC1E_W<'a> {
112205            w: &'a mut W,
112206        }
112207        impl<'a> CC1E_W<'a> {
112208            ///Sets the field bit
112209            #[inline(always)]
112210            pub fn set_bit(self) -> &'a mut W {
112211                self.bit(true)
112212            }
112213            ///Clears the field bit
112214            #[inline(always)]
112215            pub fn clear_bit(self) -> &'a mut W {
112216                self.bit(false)
112217            }
112218            ///Writes raw bits to the field
112219            #[inline(always)]
112220            pub fn bit(self, value: bool) -> &'a mut W {
112221                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
112222                self.w
112223            }
112224        }
112225        ///Reader of field `CC1P`
112226        pub type CC1P_R = crate::R<bool, bool>;
112227        ///Write proxy for field `CC1P`
112228        pub struct CC1P_W<'a> {
112229            w: &'a mut W,
112230        }
112231        impl<'a> CC1P_W<'a> {
112232            ///Sets the field bit
112233            #[inline(always)]
112234            pub fn set_bit(self) -> &'a mut W {
112235                self.bit(true)
112236            }
112237            ///Clears the field bit
112238            #[inline(always)]
112239            pub fn clear_bit(self) -> &'a mut W {
112240                self.bit(false)
112241            }
112242            ///Writes raw bits to the field
112243            #[inline(always)]
112244            pub fn bit(self, value: bool) -> &'a mut W {
112245                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
112246                self.w
112247            }
112248        }
112249        ///Reader of field `CC1NE`
112250        pub type CC1NE_R = crate::R<bool, bool>;
112251        ///Write proxy for field `CC1NE`
112252        pub struct CC1NE_W<'a> {
112253            w: &'a mut W,
112254        }
112255        impl<'a> CC1NE_W<'a> {
112256            ///Sets the field bit
112257            #[inline(always)]
112258            pub fn set_bit(self) -> &'a mut W {
112259                self.bit(true)
112260            }
112261            ///Clears the field bit
112262            #[inline(always)]
112263            pub fn clear_bit(self) -> &'a mut W {
112264                self.bit(false)
112265            }
112266            ///Writes raw bits to the field
112267            #[inline(always)]
112268            pub fn bit(self, value: bool) -> &'a mut W {
112269                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
112270                self.w
112271            }
112272        }
112273        ///Reader of field `CC1NP`
112274        pub type CC1NP_R = crate::R<bool, bool>;
112275        ///Write proxy for field `CC1NP`
112276        pub struct CC1NP_W<'a> {
112277            w: &'a mut W,
112278        }
112279        impl<'a> CC1NP_W<'a> {
112280            ///Sets the field bit
112281            #[inline(always)]
112282            pub fn set_bit(self) -> &'a mut W {
112283                self.bit(true)
112284            }
112285            ///Clears the field bit
112286            #[inline(always)]
112287            pub fn clear_bit(self) -> &'a mut W {
112288                self.bit(false)
112289            }
112290            ///Writes raw bits to the field
112291            #[inline(always)]
112292            pub fn bit(self, value: bool) -> &'a mut W {
112293                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
112294                self.w
112295            }
112296        }
112297        ///Reader of field `CC2E`
112298        pub type CC2E_R = crate::R<bool, bool>;
112299        ///Write proxy for field `CC2E`
112300        pub struct CC2E_W<'a> {
112301            w: &'a mut W,
112302        }
112303        impl<'a> CC2E_W<'a> {
112304            ///Sets the field bit
112305            #[inline(always)]
112306            pub fn set_bit(self) -> &'a mut W {
112307                self.bit(true)
112308            }
112309            ///Clears the field bit
112310            #[inline(always)]
112311            pub fn clear_bit(self) -> &'a mut W {
112312                self.bit(false)
112313            }
112314            ///Writes raw bits to the field
112315            #[inline(always)]
112316            pub fn bit(self, value: bool) -> &'a mut W {
112317                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
112318                self.w
112319            }
112320        }
112321        ///Reader of field `CC2P`
112322        pub type CC2P_R = crate::R<bool, bool>;
112323        ///Write proxy for field `CC2P`
112324        pub struct CC2P_W<'a> {
112325            w: &'a mut W,
112326        }
112327        impl<'a> CC2P_W<'a> {
112328            ///Sets the field bit
112329            #[inline(always)]
112330            pub fn set_bit(self) -> &'a mut W {
112331                self.bit(true)
112332            }
112333            ///Clears the field bit
112334            #[inline(always)]
112335            pub fn clear_bit(self) -> &'a mut W {
112336                self.bit(false)
112337            }
112338            ///Writes raw bits to the field
112339            #[inline(always)]
112340            pub fn bit(self, value: bool) -> &'a mut W {
112341                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
112342                self.w
112343            }
112344        }
112345        ///Reader of field `CC2NE`
112346        pub type CC2NE_R = crate::R<bool, bool>;
112347        ///Write proxy for field `CC2NE`
112348        pub struct CC2NE_W<'a> {
112349            w: &'a mut W,
112350        }
112351        impl<'a> CC2NE_W<'a> {
112352            ///Sets the field bit
112353            #[inline(always)]
112354            pub fn set_bit(self) -> &'a mut W {
112355                self.bit(true)
112356            }
112357            ///Clears the field bit
112358            #[inline(always)]
112359            pub fn clear_bit(self) -> &'a mut W {
112360                self.bit(false)
112361            }
112362            ///Writes raw bits to the field
112363            #[inline(always)]
112364            pub fn bit(self, value: bool) -> &'a mut W {
112365                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
112366                self.w
112367            }
112368        }
112369        ///Reader of field `CC2NP`
112370        pub type CC2NP_R = crate::R<bool, bool>;
112371        ///Write proxy for field `CC2NP`
112372        pub struct CC2NP_W<'a> {
112373            w: &'a mut W,
112374        }
112375        impl<'a> CC2NP_W<'a> {
112376            ///Sets the field bit
112377            #[inline(always)]
112378            pub fn set_bit(self) -> &'a mut W {
112379                self.bit(true)
112380            }
112381            ///Clears the field bit
112382            #[inline(always)]
112383            pub fn clear_bit(self) -> &'a mut W {
112384                self.bit(false)
112385            }
112386            ///Writes raw bits to the field
112387            #[inline(always)]
112388            pub fn bit(self, value: bool) -> &'a mut W {
112389                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
112390                self.w
112391            }
112392        }
112393        ///Reader of field `CC3E`
112394        pub type CC3E_R = crate::R<bool, bool>;
112395        ///Write proxy for field `CC3E`
112396        pub struct CC3E_W<'a> {
112397            w: &'a mut W,
112398        }
112399        impl<'a> CC3E_W<'a> {
112400            ///Sets the field bit
112401            #[inline(always)]
112402            pub fn set_bit(self) -> &'a mut W {
112403                self.bit(true)
112404            }
112405            ///Clears the field bit
112406            #[inline(always)]
112407            pub fn clear_bit(self) -> &'a mut W {
112408                self.bit(false)
112409            }
112410            ///Writes raw bits to the field
112411            #[inline(always)]
112412            pub fn bit(self, value: bool) -> &'a mut W {
112413                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
112414                self.w
112415            }
112416        }
112417        ///Reader of field `CC3P`
112418        pub type CC3P_R = crate::R<bool, bool>;
112419        ///Write proxy for field `CC3P`
112420        pub struct CC3P_W<'a> {
112421            w: &'a mut W,
112422        }
112423        impl<'a> CC3P_W<'a> {
112424            ///Sets the field bit
112425            #[inline(always)]
112426            pub fn set_bit(self) -> &'a mut W {
112427                self.bit(true)
112428            }
112429            ///Clears the field bit
112430            #[inline(always)]
112431            pub fn clear_bit(self) -> &'a mut W {
112432                self.bit(false)
112433            }
112434            ///Writes raw bits to the field
112435            #[inline(always)]
112436            pub fn bit(self, value: bool) -> &'a mut W {
112437                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
112438                self.w
112439            }
112440        }
112441        ///Reader of field `CC3NE`
112442        pub type CC3NE_R = crate::R<bool, bool>;
112443        ///Write proxy for field `CC3NE`
112444        pub struct CC3NE_W<'a> {
112445            w: &'a mut W,
112446        }
112447        impl<'a> CC3NE_W<'a> {
112448            ///Sets the field bit
112449            #[inline(always)]
112450            pub fn set_bit(self) -> &'a mut W {
112451                self.bit(true)
112452            }
112453            ///Clears the field bit
112454            #[inline(always)]
112455            pub fn clear_bit(self) -> &'a mut W {
112456                self.bit(false)
112457            }
112458            ///Writes raw bits to the field
112459            #[inline(always)]
112460            pub fn bit(self, value: bool) -> &'a mut W {
112461                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
112462                self.w
112463            }
112464        }
112465        ///Reader of field `CC3NP`
112466        pub type CC3NP_R = crate::R<bool, bool>;
112467        ///Write proxy for field `CC3NP`
112468        pub struct CC3NP_W<'a> {
112469            w: &'a mut W,
112470        }
112471        impl<'a> CC3NP_W<'a> {
112472            ///Sets the field bit
112473            #[inline(always)]
112474            pub fn set_bit(self) -> &'a mut W {
112475                self.bit(true)
112476            }
112477            ///Clears the field bit
112478            #[inline(always)]
112479            pub fn clear_bit(self) -> &'a mut W {
112480                self.bit(false)
112481            }
112482            ///Writes raw bits to the field
112483            #[inline(always)]
112484            pub fn bit(self, value: bool) -> &'a mut W {
112485                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
112486                self.w
112487            }
112488        }
112489        ///Reader of field `CC4E`
112490        pub type CC4E_R = crate::R<bool, bool>;
112491        ///Write proxy for field `CC4E`
112492        pub struct CC4E_W<'a> {
112493            w: &'a mut W,
112494        }
112495        impl<'a> CC4E_W<'a> {
112496            ///Sets the field bit
112497            #[inline(always)]
112498            pub fn set_bit(self) -> &'a mut W {
112499                self.bit(true)
112500            }
112501            ///Clears the field bit
112502            #[inline(always)]
112503            pub fn clear_bit(self) -> &'a mut W {
112504                self.bit(false)
112505            }
112506            ///Writes raw bits to the field
112507            #[inline(always)]
112508            pub fn bit(self, value: bool) -> &'a mut W {
112509                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
112510                self.w
112511            }
112512        }
112513        ///Reader of field `CC4P`
112514        pub type CC4P_R = crate::R<bool, bool>;
112515        ///Write proxy for field `CC4P`
112516        pub struct CC4P_W<'a> {
112517            w: &'a mut W,
112518        }
112519        impl<'a> CC4P_W<'a> {
112520            ///Sets the field bit
112521            #[inline(always)]
112522            pub fn set_bit(self) -> &'a mut W {
112523                self.bit(true)
112524            }
112525            ///Clears the field bit
112526            #[inline(always)]
112527            pub fn clear_bit(self) -> &'a mut W {
112528                self.bit(false)
112529            }
112530            ///Writes raw bits to the field
112531            #[inline(always)]
112532            pub fn bit(self, value: bool) -> &'a mut W {
112533                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
112534                self.w
112535            }
112536        }
112537        ///Reader of field `CC4NP`
112538        pub type CC4NP_R = crate::R<bool, bool>;
112539        ///Write proxy for field `CC4NP`
112540        pub struct CC4NP_W<'a> {
112541            w: &'a mut W,
112542        }
112543        impl<'a> CC4NP_W<'a> {
112544            ///Sets the field bit
112545            #[inline(always)]
112546            pub fn set_bit(self) -> &'a mut W {
112547                self.bit(true)
112548            }
112549            ///Clears the field bit
112550            #[inline(always)]
112551            pub fn clear_bit(self) -> &'a mut W {
112552                self.bit(false)
112553            }
112554            ///Writes raw bits to the field
112555            #[inline(always)]
112556            pub fn bit(self, value: bool) -> &'a mut W {
112557                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
112558                self.w
112559            }
112560        }
112561        ///Reader of field `CC5E`
112562        pub type CC5E_R = crate::R<bool, bool>;
112563        ///Write proxy for field `CC5E`
112564        pub struct CC5E_W<'a> {
112565            w: &'a mut W,
112566        }
112567        impl<'a> CC5E_W<'a> {
112568            ///Sets the field bit
112569            #[inline(always)]
112570            pub fn set_bit(self) -> &'a mut W {
112571                self.bit(true)
112572            }
112573            ///Clears the field bit
112574            #[inline(always)]
112575            pub fn clear_bit(self) -> &'a mut W {
112576                self.bit(false)
112577            }
112578            ///Writes raw bits to the field
112579            #[inline(always)]
112580            pub fn bit(self, value: bool) -> &'a mut W {
112581                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
112582                self.w
112583            }
112584        }
112585        ///Reader of field `CC5P`
112586        pub type CC5P_R = crate::R<bool, bool>;
112587        ///Write proxy for field `CC5P`
112588        pub struct CC5P_W<'a> {
112589            w: &'a mut W,
112590        }
112591        impl<'a> CC5P_W<'a> {
112592            ///Sets the field bit
112593            #[inline(always)]
112594            pub fn set_bit(self) -> &'a mut W {
112595                self.bit(true)
112596            }
112597            ///Clears the field bit
112598            #[inline(always)]
112599            pub fn clear_bit(self) -> &'a mut W {
112600                self.bit(false)
112601            }
112602            ///Writes raw bits to the field
112603            #[inline(always)]
112604            pub fn bit(self, value: bool) -> &'a mut W {
112605                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
112606                self.w
112607            }
112608        }
112609        ///Reader of field `CC6E`
112610        pub type CC6E_R = crate::R<bool, bool>;
112611        ///Write proxy for field `CC6E`
112612        pub struct CC6E_W<'a> {
112613            w: &'a mut W,
112614        }
112615        impl<'a> CC6E_W<'a> {
112616            ///Sets the field bit
112617            #[inline(always)]
112618            pub fn set_bit(self) -> &'a mut W {
112619                self.bit(true)
112620            }
112621            ///Clears the field bit
112622            #[inline(always)]
112623            pub fn clear_bit(self) -> &'a mut W {
112624                self.bit(false)
112625            }
112626            ///Writes raw bits to the field
112627            #[inline(always)]
112628            pub fn bit(self, value: bool) -> &'a mut W {
112629                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
112630                self.w
112631            }
112632        }
112633        ///Reader of field `CC6P`
112634        pub type CC6P_R = crate::R<bool, bool>;
112635        ///Write proxy for field `CC6P`
112636        pub struct CC6P_W<'a> {
112637            w: &'a mut W,
112638        }
112639        impl<'a> CC6P_W<'a> {
112640            ///Sets the field bit
112641            #[inline(always)]
112642            pub fn set_bit(self) -> &'a mut W {
112643                self.bit(true)
112644            }
112645            ///Clears the field bit
112646            #[inline(always)]
112647            pub fn clear_bit(self) -> &'a mut W {
112648                self.bit(false)
112649            }
112650            ///Writes raw bits to the field
112651            #[inline(always)]
112652            pub fn bit(self, value: bool) -> &'a mut W {
112653                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
112654                self.w
112655            }
112656        }
112657        impl R {
112658            ///Bit 0 - Capture/Compare 1 output enable
112659            #[inline(always)]
112660            pub fn cc1e(&self) -> CC1E_R {
112661                CC1E_R::new((self.bits & 0x01) != 0)
112662            }
112663            ///Bit 1 - Capture/Compare 1 output Polarity
112664            #[inline(always)]
112665            pub fn cc1p(&self) -> CC1P_R {
112666                CC1P_R::new(((self.bits >> 1) & 0x01) != 0)
112667            }
112668            ///Bit 2 - Capture/Compare 1 complementary output enable
112669            #[inline(always)]
112670            pub fn cc1ne(&self) -> CC1NE_R {
112671                CC1NE_R::new(((self.bits >> 2) & 0x01) != 0)
112672            }
112673            ///Bit 3 - Capture/Compare 1 output Polarity
112674            #[inline(always)]
112675            pub fn cc1np(&self) -> CC1NP_R {
112676                CC1NP_R::new(((self.bits >> 3) & 0x01) != 0)
112677            }
112678            ///Bit 4 - Capture/Compare 2 output enable
112679            #[inline(always)]
112680            pub fn cc2e(&self) -> CC2E_R {
112681                CC2E_R::new(((self.bits >> 4) & 0x01) != 0)
112682            }
112683            ///Bit 5 - Capture/Compare 2 output Polarity
112684            #[inline(always)]
112685            pub fn cc2p(&self) -> CC2P_R {
112686                CC2P_R::new(((self.bits >> 5) & 0x01) != 0)
112687            }
112688            ///Bit 6 - Capture/Compare 2 complementary output enable
112689            #[inline(always)]
112690            pub fn cc2ne(&self) -> CC2NE_R {
112691                CC2NE_R::new(((self.bits >> 6) & 0x01) != 0)
112692            }
112693            ///Bit 7 - Capture/Compare 2 output Polarity
112694            #[inline(always)]
112695            pub fn cc2np(&self) -> CC2NP_R {
112696                CC2NP_R::new(((self.bits >> 7) & 0x01) != 0)
112697            }
112698            ///Bit 8 - Capture/Compare 3 output enable
112699            #[inline(always)]
112700            pub fn cc3e(&self) -> CC3E_R {
112701                CC3E_R::new(((self.bits >> 8) & 0x01) != 0)
112702            }
112703            ///Bit 9 - Capture/Compare 3 output Polarity
112704            #[inline(always)]
112705            pub fn cc3p(&self) -> CC3P_R {
112706                CC3P_R::new(((self.bits >> 9) & 0x01) != 0)
112707            }
112708            ///Bit 10 - Capture/Compare 3 complementary output enable
112709            #[inline(always)]
112710            pub fn cc3ne(&self) -> CC3NE_R {
112711                CC3NE_R::new(((self.bits >> 10) & 0x01) != 0)
112712            }
112713            ///Bit 11 - Capture/Compare 3 output Polarity
112714            #[inline(always)]
112715            pub fn cc3np(&self) -> CC3NP_R {
112716                CC3NP_R::new(((self.bits >> 11) & 0x01) != 0)
112717            }
112718            ///Bit 12 - Capture/Compare 4 output enable
112719            #[inline(always)]
112720            pub fn cc4e(&self) -> CC4E_R {
112721                CC4E_R::new(((self.bits >> 12) & 0x01) != 0)
112722            }
112723            ///Bit 13 - Capture/Compare 3 output Polarity
112724            #[inline(always)]
112725            pub fn cc4p(&self) -> CC4P_R {
112726                CC4P_R::new(((self.bits >> 13) & 0x01) != 0)
112727            }
112728            ///Bit 15 - Capture/Compare 4 complementary output polarity
112729            #[inline(always)]
112730            pub fn cc4np(&self) -> CC4NP_R {
112731                CC4NP_R::new(((self.bits >> 15) & 0x01) != 0)
112732            }
112733            ///Bit 16 - Capture/Compare 5 output enable
112734            #[inline(always)]
112735            pub fn cc5e(&self) -> CC5E_R {
112736                CC5E_R::new(((self.bits >> 16) & 0x01) != 0)
112737            }
112738            ///Bit 17 - Capture/Compare 5 output polarity
112739            #[inline(always)]
112740            pub fn cc5p(&self) -> CC5P_R {
112741                CC5P_R::new(((self.bits >> 17) & 0x01) != 0)
112742            }
112743            ///Bit 20 - Capture/Compare 6 output enable
112744            #[inline(always)]
112745            pub fn cc6e(&self) -> CC6E_R {
112746                CC6E_R::new(((self.bits >> 20) & 0x01) != 0)
112747            }
112748            ///Bit 21 - Capture/Compare 6 output polarity
112749            #[inline(always)]
112750            pub fn cc6p(&self) -> CC6P_R {
112751                CC6P_R::new(((self.bits >> 21) & 0x01) != 0)
112752            }
112753        }
112754        impl W {
112755            ///Bit 0 - Capture/Compare 1 output enable
112756            #[inline(always)]
112757            pub fn cc1e(&mut self) -> CC1E_W {
112758                CC1E_W { w: self }
112759            }
112760            ///Bit 1 - Capture/Compare 1 output Polarity
112761            #[inline(always)]
112762            pub fn cc1p(&mut self) -> CC1P_W {
112763                CC1P_W { w: self }
112764            }
112765            ///Bit 2 - Capture/Compare 1 complementary output enable
112766            #[inline(always)]
112767            pub fn cc1ne(&mut self) -> CC1NE_W {
112768                CC1NE_W { w: self }
112769            }
112770            ///Bit 3 - Capture/Compare 1 output Polarity
112771            #[inline(always)]
112772            pub fn cc1np(&mut self) -> CC1NP_W {
112773                CC1NP_W { w: self }
112774            }
112775            ///Bit 4 - Capture/Compare 2 output enable
112776            #[inline(always)]
112777            pub fn cc2e(&mut self) -> CC2E_W {
112778                CC2E_W { w: self }
112779            }
112780            ///Bit 5 - Capture/Compare 2 output Polarity
112781            #[inline(always)]
112782            pub fn cc2p(&mut self) -> CC2P_W {
112783                CC2P_W { w: self }
112784            }
112785            ///Bit 6 - Capture/Compare 2 complementary output enable
112786            #[inline(always)]
112787            pub fn cc2ne(&mut self) -> CC2NE_W {
112788                CC2NE_W { w: self }
112789            }
112790            ///Bit 7 - Capture/Compare 2 output Polarity
112791            #[inline(always)]
112792            pub fn cc2np(&mut self) -> CC2NP_W {
112793                CC2NP_W { w: self }
112794            }
112795            ///Bit 8 - Capture/Compare 3 output enable
112796            #[inline(always)]
112797            pub fn cc3e(&mut self) -> CC3E_W {
112798                CC3E_W { w: self }
112799            }
112800            ///Bit 9 - Capture/Compare 3 output Polarity
112801            #[inline(always)]
112802            pub fn cc3p(&mut self) -> CC3P_W {
112803                CC3P_W { w: self }
112804            }
112805            ///Bit 10 - Capture/Compare 3 complementary output enable
112806            #[inline(always)]
112807            pub fn cc3ne(&mut self) -> CC3NE_W {
112808                CC3NE_W { w: self }
112809            }
112810            ///Bit 11 - Capture/Compare 3 output Polarity
112811            #[inline(always)]
112812            pub fn cc3np(&mut self) -> CC3NP_W {
112813                CC3NP_W { w: self }
112814            }
112815            ///Bit 12 - Capture/Compare 4 output enable
112816            #[inline(always)]
112817            pub fn cc4e(&mut self) -> CC4E_W {
112818                CC4E_W { w: self }
112819            }
112820            ///Bit 13 - Capture/Compare 3 output Polarity
112821            #[inline(always)]
112822            pub fn cc4p(&mut self) -> CC4P_W {
112823                CC4P_W { w: self }
112824            }
112825            ///Bit 15 - Capture/Compare 4 complementary output polarity
112826            #[inline(always)]
112827            pub fn cc4np(&mut self) -> CC4NP_W {
112828                CC4NP_W { w: self }
112829            }
112830            ///Bit 16 - Capture/Compare 5 output enable
112831            #[inline(always)]
112832            pub fn cc5e(&mut self) -> CC5E_W {
112833                CC5E_W { w: self }
112834            }
112835            ///Bit 17 - Capture/Compare 5 output polarity
112836            #[inline(always)]
112837            pub fn cc5p(&mut self) -> CC5P_W {
112838                CC5P_W { w: self }
112839            }
112840            ///Bit 20 - Capture/Compare 6 output enable
112841            #[inline(always)]
112842            pub fn cc6e(&mut self) -> CC6E_W {
112843                CC6E_W { w: self }
112844            }
112845            ///Bit 21 - Capture/Compare 6 output polarity
112846            #[inline(always)]
112847            pub fn cc6p(&mut self) -> CC6P_W {
112848                CC6P_W { w: self }
112849            }
112850        }
112851    }
112852    ///counter
112853    ///
112854    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
112855    ///
112856    ///For information about available fields see [cnt](cnt) module
112857    pub type CNT = crate::Reg<u32, _CNT>;
112858    #[allow(missing_docs)]
112859    #[doc(hidden)]
112860    pub struct _CNT;
112861    ///`read()` method returns [cnt::R](cnt::R) reader structure
112862    impl crate::Readable for CNT {}
112863    ///`write(|w| ..)` method takes [cnt::W](cnt::W) writer structure
112864    impl crate::Writable for CNT {}
112865    ///counter
112866    pub mod cnt {
112867        ///Reader of register CNT
112868        pub type R = crate::R<u32, super::CNT>;
112869        ///Writer for register CNT
112870        pub type W = crate::W<u32, super::CNT>;
112871        ///Register CNT `reset()`'s with value 0
112872        impl crate::ResetValue for super::CNT {
112873            type Type = u32;
112874            #[inline(always)]
112875            fn reset_value() -> Self::Type {
112876                0
112877            }
112878        }
112879        ///Reader of field `CNT`
112880        pub type CNT_R = crate::R<u16, u16>;
112881        ///Write proxy for field `CNT`
112882        pub struct CNT_W<'a> {
112883            w: &'a mut W,
112884        }
112885        impl<'a> CNT_W<'a> {
112886            ///Writes raw bits to the field
112887            #[inline(always)]
112888            pub unsafe fn bits(self, value: u16) -> &'a mut W {
112889                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
112890                self.w
112891            }
112892        }
112893        ///Reader of field `UIFCPY`
112894        pub type UIFCPY_R = crate::R<bool, bool>;
112895        impl R {
112896            ///Bits 0:15 - counter value
112897            #[inline(always)]
112898            pub fn cnt(&self) -> CNT_R {
112899                CNT_R::new((self.bits & 0xffff) as u16)
112900            }
112901            ///Bit 31 - UIF copy
112902            #[inline(always)]
112903            pub fn uifcpy(&self) -> UIFCPY_R {
112904                UIFCPY_R::new(((self.bits >> 31) & 0x01) != 0)
112905            }
112906        }
112907        impl W {
112908            ///Bits 0:15 - counter value
112909            #[inline(always)]
112910            pub fn cnt(&mut self) -> CNT_W {
112911                CNT_W { w: self }
112912            }
112913        }
112914    }
112915    ///prescaler
112916    ///
112917    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
112918    ///
112919    ///For information about available fields see [psc](psc) module
112920    pub type PSC = crate::Reg<u32, _PSC>;
112921    #[allow(missing_docs)]
112922    #[doc(hidden)]
112923    pub struct _PSC;
112924    ///`read()` method returns [psc::R](psc::R) reader structure
112925    impl crate::Readable for PSC {}
112926    ///`write(|w| ..)` method takes [psc::W](psc::W) writer structure
112927    impl crate::Writable for PSC {}
112928    ///prescaler
112929    pub mod psc {
112930        ///Reader of register PSC
112931        pub type R = crate::R<u32, super::PSC>;
112932        ///Writer for register PSC
112933        pub type W = crate::W<u32, super::PSC>;
112934        ///Register PSC `reset()`'s with value 0
112935        impl crate::ResetValue for super::PSC {
112936            type Type = u32;
112937            #[inline(always)]
112938            fn reset_value() -> Self::Type {
112939                0
112940            }
112941        }
112942        ///Reader of field `PSC`
112943        pub type PSC_R = crate::R<u16, u16>;
112944        ///Write proxy for field `PSC`
112945        pub struct PSC_W<'a> {
112946            w: &'a mut W,
112947        }
112948        impl<'a> PSC_W<'a> {
112949            ///Writes raw bits to the field
112950            #[inline(always)]
112951            pub unsafe fn bits(self, value: u16) -> &'a mut W {
112952                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
112953                self.w
112954            }
112955        }
112956        impl R {
112957            ///Bits 0:15 - Prescaler value
112958            #[inline(always)]
112959            pub fn psc(&self) -> PSC_R {
112960                PSC_R::new((self.bits & 0xffff) as u16)
112961            }
112962        }
112963        impl W {
112964            ///Bits 0:15 - Prescaler value
112965            #[inline(always)]
112966            pub fn psc(&mut self) -> PSC_W {
112967                PSC_W { w: self }
112968            }
112969        }
112970    }
112971    ///auto-reload register
112972    ///
112973    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
112974    ///
112975    ///For information about available fields see [arr](arr) module
112976    pub type ARR = crate::Reg<u32, _ARR>;
112977    #[allow(missing_docs)]
112978    #[doc(hidden)]
112979    pub struct _ARR;
112980    ///`read()` method returns [arr::R](arr::R) reader structure
112981    impl crate::Readable for ARR {}
112982    ///`write(|w| ..)` method takes [arr::W](arr::W) writer structure
112983    impl crate::Writable for ARR {}
112984    ///auto-reload register
112985    pub mod arr {
112986        ///Reader of register ARR
112987        pub type R = crate::R<u32, super::ARR>;
112988        ///Writer for register ARR
112989        pub type W = crate::W<u32, super::ARR>;
112990        ///Register ARR `reset()`'s with value 0xffff
112991        impl crate::ResetValue for super::ARR {
112992            type Type = u32;
112993            #[inline(always)]
112994            fn reset_value() -> Self::Type {
112995                0xffff
112996            }
112997        }
112998        ///Reader of field `ARR`
112999        pub type ARR_R = crate::R<u16, u16>;
113000        ///Write proxy for field `ARR`
113001        pub struct ARR_W<'a> {
113002            w: &'a mut W,
113003        }
113004        impl<'a> ARR_W<'a> {
113005            ///Writes raw bits to the field
113006            #[inline(always)]
113007            pub unsafe fn bits(self, value: u16) -> &'a mut W {
113008                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
113009                self.w
113010            }
113011        }
113012        impl R {
113013            ///Bits 0:15 - Auto-reload value
113014            #[inline(always)]
113015            pub fn arr(&self) -> ARR_R {
113016                ARR_R::new((self.bits & 0xffff) as u16)
113017            }
113018        }
113019        impl W {
113020            ///Bits 0:15 - Auto-reload value
113021            #[inline(always)]
113022            pub fn arr(&mut self) -> ARR_W {
113023                ARR_W { w: self }
113024            }
113025        }
113026    }
113027    ///repetition counter register
113028    ///
113029    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
113030    ///
113031    ///For information about available fields see [rcr](rcr) module
113032    pub type RCR = crate::Reg<u32, _RCR>;
113033    #[allow(missing_docs)]
113034    #[doc(hidden)]
113035    pub struct _RCR;
113036    ///`read()` method returns [rcr::R](rcr::R) reader structure
113037    impl crate::Readable for RCR {}
113038    ///`write(|w| ..)` method takes [rcr::W](rcr::W) writer structure
113039    impl crate::Writable for RCR {}
113040    ///repetition counter register
113041    pub mod rcr {
113042        ///Reader of register RCR
113043        pub type R = crate::R<u32, super::RCR>;
113044        ///Writer for register RCR
113045        pub type W = crate::W<u32, super::RCR>;
113046        ///Register RCR `reset()`'s with value 0
113047        impl crate::ResetValue for super::RCR {
113048            type Type = u32;
113049            #[inline(always)]
113050            fn reset_value() -> Self::Type {
113051                0
113052            }
113053        }
113054        ///Reader of field `REP`
113055        pub type REP_R = crate::R<u16, u16>;
113056        ///Write proxy for field `REP`
113057        pub struct REP_W<'a> {
113058            w: &'a mut W,
113059        }
113060        impl<'a> REP_W<'a> {
113061            ///Writes raw bits to the field
113062            #[inline(always)]
113063            pub unsafe fn bits(self, value: u16) -> &'a mut W {
113064                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
113065                self.w
113066            }
113067        }
113068        impl R {
113069            ///Bits 0:15 - Repetition counter value
113070            #[inline(always)]
113071            pub fn rep(&self) -> REP_R {
113072                REP_R::new((self.bits & 0xffff) as u16)
113073            }
113074        }
113075        impl W {
113076            ///Bits 0:15 - Repetition counter value
113077            #[inline(always)]
113078            pub fn rep(&mut self) -> REP_W {
113079                REP_W { w: self }
113080            }
113081        }
113082    }
113083    ///capture/compare register 1
113084    ///
113085    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
113086    ///
113087    ///For information about available fields see [ccr1](ccr1) module
113088    pub type CCR1 = crate::Reg<u32, _CCR1>;
113089    #[allow(missing_docs)]
113090    #[doc(hidden)]
113091    pub struct _CCR1;
113092    ///`read()` method returns [ccr1::R](ccr1::R) reader structure
113093    impl crate::Readable for CCR1 {}
113094    ///`write(|w| ..)` method takes [ccr1::W](ccr1::W) writer structure
113095    impl crate::Writable for CCR1 {}
113096    ///capture/compare register 1
113097    pub mod ccr1 {
113098        ///Reader of register CCR1
113099        pub type R = crate::R<u32, super::CCR1>;
113100        ///Writer for register CCR1
113101        pub type W = crate::W<u32, super::CCR1>;
113102        ///Register CCR1 `reset()`'s with value 0
113103        impl crate::ResetValue for super::CCR1 {
113104            type Type = u32;
113105            #[inline(always)]
113106            fn reset_value() -> Self::Type {
113107                0
113108            }
113109        }
113110        ///Reader of field `CCR1`
113111        pub type CCR1_R = crate::R<u16, u16>;
113112        ///Write proxy for field `CCR1`
113113        pub struct CCR1_W<'a> {
113114            w: &'a mut W,
113115        }
113116        impl<'a> CCR1_W<'a> {
113117            ///Writes raw bits to the field
113118            #[inline(always)]
113119            pub unsafe fn bits(self, value: u16) -> &'a mut W {
113120                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
113121                self.w
113122            }
113123        }
113124        impl R {
113125            ///Bits 0:15 - Capture/Compare 1 value
113126            #[inline(always)]
113127            pub fn ccr1(&self) -> CCR1_R {
113128                CCR1_R::new((self.bits & 0xffff) as u16)
113129            }
113130        }
113131        impl W {
113132            ///Bits 0:15 - Capture/Compare 1 value
113133            #[inline(always)]
113134            pub fn ccr1(&mut self) -> CCR1_W {
113135                CCR1_W { w: self }
113136            }
113137        }
113138    }
113139    ///capture/compare register 2
113140    ///
113141    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
113142    ///
113143    ///For information about available fields see [ccr2](ccr2) module
113144    pub type CCR2 = crate::Reg<u32, _CCR2>;
113145    #[allow(missing_docs)]
113146    #[doc(hidden)]
113147    pub struct _CCR2;
113148    ///`read()` method returns [ccr2::R](ccr2::R) reader structure
113149    impl crate::Readable for CCR2 {}
113150    ///`write(|w| ..)` method takes [ccr2::W](ccr2::W) writer structure
113151    impl crate::Writable for CCR2 {}
113152    ///capture/compare register 2
113153    pub mod ccr2 {
113154        ///Reader of register CCR2
113155        pub type R = crate::R<u32, super::CCR2>;
113156        ///Writer for register CCR2
113157        pub type W = crate::W<u32, super::CCR2>;
113158        ///Register CCR2 `reset()`'s with value 0
113159        impl crate::ResetValue for super::CCR2 {
113160            type Type = u32;
113161            #[inline(always)]
113162            fn reset_value() -> Self::Type {
113163                0
113164            }
113165        }
113166        ///Reader of field `CCR2`
113167        pub type CCR2_R = crate::R<u16, u16>;
113168        ///Write proxy for field `CCR2`
113169        pub struct CCR2_W<'a> {
113170            w: &'a mut W,
113171        }
113172        impl<'a> CCR2_W<'a> {
113173            ///Writes raw bits to the field
113174            #[inline(always)]
113175            pub unsafe fn bits(self, value: u16) -> &'a mut W {
113176                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
113177                self.w
113178            }
113179        }
113180        impl R {
113181            ///Bits 0:15 - Capture/Compare 2 value
113182            #[inline(always)]
113183            pub fn ccr2(&self) -> CCR2_R {
113184                CCR2_R::new((self.bits & 0xffff) as u16)
113185            }
113186        }
113187        impl W {
113188            ///Bits 0:15 - Capture/Compare 2 value
113189            #[inline(always)]
113190            pub fn ccr2(&mut self) -> CCR2_W {
113191                CCR2_W { w: self }
113192            }
113193        }
113194    }
113195    ///capture/compare register 3
113196    ///
113197    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
113198    ///
113199    ///For information about available fields see [ccr3](ccr3) module
113200    pub type CCR3 = crate::Reg<u32, _CCR3>;
113201    #[allow(missing_docs)]
113202    #[doc(hidden)]
113203    pub struct _CCR3;
113204    ///`read()` method returns [ccr3::R](ccr3::R) reader structure
113205    impl crate::Readable for CCR3 {}
113206    ///`write(|w| ..)` method takes [ccr3::W](ccr3::W) writer structure
113207    impl crate::Writable for CCR3 {}
113208    ///capture/compare register 3
113209    pub mod ccr3 {
113210        ///Reader of register CCR3
113211        pub type R = crate::R<u32, super::CCR3>;
113212        ///Writer for register CCR3
113213        pub type W = crate::W<u32, super::CCR3>;
113214        ///Register CCR3 `reset()`'s with value 0
113215        impl crate::ResetValue for super::CCR3 {
113216            type Type = u32;
113217            #[inline(always)]
113218            fn reset_value() -> Self::Type {
113219                0
113220            }
113221        }
113222        ///Reader of field `CCR3`
113223        pub type CCR3_R = crate::R<u16, u16>;
113224        ///Write proxy for field `CCR3`
113225        pub struct CCR3_W<'a> {
113226            w: &'a mut W,
113227        }
113228        impl<'a> CCR3_W<'a> {
113229            ///Writes raw bits to the field
113230            #[inline(always)]
113231            pub unsafe fn bits(self, value: u16) -> &'a mut W {
113232                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
113233                self.w
113234            }
113235        }
113236        impl R {
113237            ///Bits 0:15 - Capture/Compare value
113238            #[inline(always)]
113239            pub fn ccr3(&self) -> CCR3_R {
113240                CCR3_R::new((self.bits & 0xffff) as u16)
113241            }
113242        }
113243        impl W {
113244            ///Bits 0:15 - Capture/Compare value
113245            #[inline(always)]
113246            pub fn ccr3(&mut self) -> CCR3_W {
113247                CCR3_W { w: self }
113248            }
113249        }
113250    }
113251    ///capture/compare register 4
113252    ///
113253    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
113254    ///
113255    ///For information about available fields see [ccr4](ccr4) module
113256    pub type CCR4 = crate::Reg<u32, _CCR4>;
113257    #[allow(missing_docs)]
113258    #[doc(hidden)]
113259    pub struct _CCR4;
113260    ///`read()` method returns [ccr4::R](ccr4::R) reader structure
113261    impl crate::Readable for CCR4 {}
113262    ///`write(|w| ..)` method takes [ccr4::W](ccr4::W) writer structure
113263    impl crate::Writable for CCR4 {}
113264    ///capture/compare register 4
113265    pub mod ccr4 {
113266        ///Reader of register CCR4
113267        pub type R = crate::R<u32, super::CCR4>;
113268        ///Writer for register CCR4
113269        pub type W = crate::W<u32, super::CCR4>;
113270        ///Register CCR4 `reset()`'s with value 0
113271        impl crate::ResetValue for super::CCR4 {
113272            type Type = u32;
113273            #[inline(always)]
113274            fn reset_value() -> Self::Type {
113275                0
113276            }
113277        }
113278        ///Reader of field `CCR4`
113279        pub type CCR4_R = crate::R<u16, u16>;
113280        ///Write proxy for field `CCR4`
113281        pub struct CCR4_W<'a> {
113282            w: &'a mut W,
113283        }
113284        impl<'a> CCR4_W<'a> {
113285            ///Writes raw bits to the field
113286            #[inline(always)]
113287            pub unsafe fn bits(self, value: u16) -> &'a mut W {
113288                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
113289                self.w
113290            }
113291        }
113292        impl R {
113293            ///Bits 0:15 - Capture/Compare value
113294            #[inline(always)]
113295            pub fn ccr4(&self) -> CCR4_R {
113296                CCR4_R::new((self.bits & 0xffff) as u16)
113297            }
113298        }
113299        impl W {
113300            ///Bits 0:15 - Capture/Compare value
113301            #[inline(always)]
113302            pub fn ccr4(&mut self) -> CCR4_W {
113303                CCR4_W { w: self }
113304            }
113305        }
113306    }
113307    ///break and dead-time register
113308    ///
113309    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
113310    ///
113311    ///For information about available fields see [bdtr](bdtr) module
113312    pub type BDTR = crate::Reg<u32, _BDTR>;
113313    #[allow(missing_docs)]
113314    #[doc(hidden)]
113315    pub struct _BDTR;
113316    ///`read()` method returns [bdtr::R](bdtr::R) reader structure
113317    impl crate::Readable for BDTR {}
113318    ///`write(|w| ..)` method takes [bdtr::W](bdtr::W) writer structure
113319    impl crate::Writable for BDTR {}
113320    ///break and dead-time register
113321    pub mod bdtr {
113322        ///Reader of register BDTR
113323        pub type R = crate::R<u32, super::BDTR>;
113324        ///Writer for register BDTR
113325        pub type W = crate::W<u32, super::BDTR>;
113326        ///Register BDTR `reset()`'s with value 0
113327        impl crate::ResetValue for super::BDTR {
113328            type Type = u32;
113329            #[inline(always)]
113330            fn reset_value() -> Self::Type {
113331                0
113332            }
113333        }
113334        ///Reader of field `DTG`
113335        pub type DTG_R = crate::R<u8, u8>;
113336        ///Write proxy for field `DTG`
113337        pub struct DTG_W<'a> {
113338            w: &'a mut W,
113339        }
113340        impl<'a> DTG_W<'a> {
113341            ///Writes raw bits to the field
113342            #[inline(always)]
113343            pub unsafe fn bits(self, value: u8) -> &'a mut W {
113344                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
113345                self.w
113346            }
113347        }
113348        ///Reader of field `LOCK`
113349        pub type LOCK_R = crate::R<u8, u8>;
113350        ///Write proxy for field `LOCK`
113351        pub struct LOCK_W<'a> {
113352            w: &'a mut W,
113353        }
113354        impl<'a> LOCK_W<'a> {
113355            ///Writes raw bits to the field
113356            #[inline(always)]
113357            pub unsafe fn bits(self, value: u8) -> &'a mut W {
113358                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
113359                self.w
113360            }
113361        }
113362        ///Reader of field `OSSI`
113363        pub type OSSI_R = crate::R<bool, bool>;
113364        ///Write proxy for field `OSSI`
113365        pub struct OSSI_W<'a> {
113366            w: &'a mut W,
113367        }
113368        impl<'a> OSSI_W<'a> {
113369            ///Sets the field bit
113370            #[inline(always)]
113371            pub fn set_bit(self) -> &'a mut W {
113372                self.bit(true)
113373            }
113374            ///Clears the field bit
113375            #[inline(always)]
113376            pub fn clear_bit(self) -> &'a mut W {
113377                self.bit(false)
113378            }
113379            ///Writes raw bits to the field
113380            #[inline(always)]
113381            pub fn bit(self, value: bool) -> &'a mut W {
113382                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
113383                self.w
113384            }
113385        }
113386        ///Reader of field `OSSR`
113387        pub type OSSR_R = crate::R<bool, bool>;
113388        ///Write proxy for field `OSSR`
113389        pub struct OSSR_W<'a> {
113390            w: &'a mut W,
113391        }
113392        impl<'a> OSSR_W<'a> {
113393            ///Sets the field bit
113394            #[inline(always)]
113395            pub fn set_bit(self) -> &'a mut W {
113396                self.bit(true)
113397            }
113398            ///Clears the field bit
113399            #[inline(always)]
113400            pub fn clear_bit(self) -> &'a mut W {
113401                self.bit(false)
113402            }
113403            ///Writes raw bits to the field
113404            #[inline(always)]
113405            pub fn bit(self, value: bool) -> &'a mut W {
113406                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
113407                self.w
113408            }
113409        }
113410        ///Reader of field `BKE`
113411        pub type BKE_R = crate::R<bool, bool>;
113412        ///Write proxy for field `BKE`
113413        pub struct BKE_W<'a> {
113414            w: &'a mut W,
113415        }
113416        impl<'a> BKE_W<'a> {
113417            ///Sets the field bit
113418            #[inline(always)]
113419            pub fn set_bit(self) -> &'a mut W {
113420                self.bit(true)
113421            }
113422            ///Clears the field bit
113423            #[inline(always)]
113424            pub fn clear_bit(self) -> &'a mut W {
113425                self.bit(false)
113426            }
113427            ///Writes raw bits to the field
113428            #[inline(always)]
113429            pub fn bit(self, value: bool) -> &'a mut W {
113430                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
113431                self.w
113432            }
113433        }
113434        ///Reader of field `BKP`
113435        pub type BKP_R = crate::R<bool, bool>;
113436        ///Write proxy for field `BKP`
113437        pub struct BKP_W<'a> {
113438            w: &'a mut W,
113439        }
113440        impl<'a> BKP_W<'a> {
113441            ///Sets the field bit
113442            #[inline(always)]
113443            pub fn set_bit(self) -> &'a mut W {
113444                self.bit(true)
113445            }
113446            ///Clears the field bit
113447            #[inline(always)]
113448            pub fn clear_bit(self) -> &'a mut W {
113449                self.bit(false)
113450            }
113451            ///Writes raw bits to the field
113452            #[inline(always)]
113453            pub fn bit(self, value: bool) -> &'a mut W {
113454                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
113455                self.w
113456            }
113457        }
113458        ///Reader of field `AOE`
113459        pub type AOE_R = crate::R<bool, bool>;
113460        ///Write proxy for field `AOE`
113461        pub struct AOE_W<'a> {
113462            w: &'a mut W,
113463        }
113464        impl<'a> AOE_W<'a> {
113465            ///Sets the field bit
113466            #[inline(always)]
113467            pub fn set_bit(self) -> &'a mut W {
113468                self.bit(true)
113469            }
113470            ///Clears the field bit
113471            #[inline(always)]
113472            pub fn clear_bit(self) -> &'a mut W {
113473                self.bit(false)
113474            }
113475            ///Writes raw bits to the field
113476            #[inline(always)]
113477            pub fn bit(self, value: bool) -> &'a mut W {
113478                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
113479                self.w
113480            }
113481        }
113482        ///Reader of field `MOE`
113483        pub type MOE_R = crate::R<bool, bool>;
113484        ///Write proxy for field `MOE`
113485        pub struct MOE_W<'a> {
113486            w: &'a mut W,
113487        }
113488        impl<'a> MOE_W<'a> {
113489            ///Sets the field bit
113490            #[inline(always)]
113491            pub fn set_bit(self) -> &'a mut W {
113492                self.bit(true)
113493            }
113494            ///Clears the field bit
113495            #[inline(always)]
113496            pub fn clear_bit(self) -> &'a mut W {
113497                self.bit(false)
113498            }
113499            ///Writes raw bits to the field
113500            #[inline(always)]
113501            pub fn bit(self, value: bool) -> &'a mut W {
113502                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
113503                self.w
113504            }
113505        }
113506        ///Reader of field `BKF`
113507        pub type BKF_R = crate::R<u8, u8>;
113508        ///Write proxy for field `BKF`
113509        pub struct BKF_W<'a> {
113510            w: &'a mut W,
113511        }
113512        impl<'a> BKF_W<'a> {
113513            ///Writes raw bits to the field
113514            #[inline(always)]
113515            pub unsafe fn bits(self, value: u8) -> &'a mut W {
113516                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
113517                self.w
113518            }
113519        }
113520        ///Reader of field `BK2F`
113521        pub type BK2F_R = crate::R<u8, u8>;
113522        ///Write proxy for field `BK2F`
113523        pub struct BK2F_W<'a> {
113524            w: &'a mut W,
113525        }
113526        impl<'a> BK2F_W<'a> {
113527            ///Writes raw bits to the field
113528            #[inline(always)]
113529            pub unsafe fn bits(self, value: u8) -> &'a mut W {
113530                self.w.bits = (self.w.bits & !(0x0f << 20)) | (((value as u32) & 0x0f) << 20);
113531                self.w
113532            }
113533        }
113534        ///Reader of field `BK2E`
113535        pub type BK2E_R = crate::R<bool, bool>;
113536        ///Write proxy for field `BK2E`
113537        pub struct BK2E_W<'a> {
113538            w: &'a mut W,
113539        }
113540        impl<'a> BK2E_W<'a> {
113541            ///Sets the field bit
113542            #[inline(always)]
113543            pub fn set_bit(self) -> &'a mut W {
113544                self.bit(true)
113545            }
113546            ///Clears the field bit
113547            #[inline(always)]
113548            pub fn clear_bit(self) -> &'a mut W {
113549                self.bit(false)
113550            }
113551            ///Writes raw bits to the field
113552            #[inline(always)]
113553            pub fn bit(self, value: bool) -> &'a mut W {
113554                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
113555                self.w
113556            }
113557        }
113558        ///Reader of field `BK2P`
113559        pub type BK2P_R = crate::R<bool, bool>;
113560        ///Write proxy for field `BK2P`
113561        pub struct BK2P_W<'a> {
113562            w: &'a mut W,
113563        }
113564        impl<'a> BK2P_W<'a> {
113565            ///Sets the field bit
113566            #[inline(always)]
113567            pub fn set_bit(self) -> &'a mut W {
113568                self.bit(true)
113569            }
113570            ///Clears the field bit
113571            #[inline(always)]
113572            pub fn clear_bit(self) -> &'a mut W {
113573                self.bit(false)
113574            }
113575            ///Writes raw bits to the field
113576            #[inline(always)]
113577            pub fn bit(self, value: bool) -> &'a mut W {
113578                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
113579                self.w
113580            }
113581        }
113582        impl R {
113583            ///Bits 0:7 - Dead-time generator setup
113584            #[inline(always)]
113585            pub fn dtg(&self) -> DTG_R {
113586                DTG_R::new((self.bits & 0xff) as u8)
113587            }
113588            ///Bits 8:9 - Lock configuration
113589            #[inline(always)]
113590            pub fn lock(&self) -> LOCK_R {
113591                LOCK_R::new(((self.bits >> 8) & 0x03) as u8)
113592            }
113593            ///Bit 10 - Off-state selection for Idle mode
113594            #[inline(always)]
113595            pub fn ossi(&self) -> OSSI_R {
113596                OSSI_R::new(((self.bits >> 10) & 0x01) != 0)
113597            }
113598            ///Bit 11 - Off-state selection for Run mode
113599            #[inline(always)]
113600            pub fn ossr(&self) -> OSSR_R {
113601                OSSR_R::new(((self.bits >> 11) & 0x01) != 0)
113602            }
113603            ///Bit 12 - Break enable
113604            #[inline(always)]
113605            pub fn bke(&self) -> BKE_R {
113606                BKE_R::new(((self.bits >> 12) & 0x01) != 0)
113607            }
113608            ///Bit 13 - Break polarity
113609            #[inline(always)]
113610            pub fn bkp(&self) -> BKP_R {
113611                BKP_R::new(((self.bits >> 13) & 0x01) != 0)
113612            }
113613            ///Bit 14 - Automatic output enable
113614            #[inline(always)]
113615            pub fn aoe(&self) -> AOE_R {
113616                AOE_R::new(((self.bits >> 14) & 0x01) != 0)
113617            }
113618            ///Bit 15 - Main output enable
113619            #[inline(always)]
113620            pub fn moe(&self) -> MOE_R {
113621                MOE_R::new(((self.bits >> 15) & 0x01) != 0)
113622            }
113623            ///Bits 16:19 - Break filter
113624            #[inline(always)]
113625            pub fn bkf(&self) -> BKF_R {
113626                BKF_R::new(((self.bits >> 16) & 0x0f) as u8)
113627            }
113628            ///Bits 20:23 - Break 2 filter
113629            #[inline(always)]
113630            pub fn bk2f(&self) -> BK2F_R {
113631                BK2F_R::new(((self.bits >> 20) & 0x0f) as u8)
113632            }
113633            ///Bit 24 - Break 2 enable
113634            #[inline(always)]
113635            pub fn bk2e(&self) -> BK2E_R {
113636                BK2E_R::new(((self.bits >> 24) & 0x01) != 0)
113637            }
113638            ///Bit 25 - Break 2 polarity
113639            #[inline(always)]
113640            pub fn bk2p(&self) -> BK2P_R {
113641                BK2P_R::new(((self.bits >> 25) & 0x01) != 0)
113642            }
113643        }
113644        impl W {
113645            ///Bits 0:7 - Dead-time generator setup
113646            #[inline(always)]
113647            pub fn dtg(&mut self) -> DTG_W {
113648                DTG_W { w: self }
113649            }
113650            ///Bits 8:9 - Lock configuration
113651            #[inline(always)]
113652            pub fn lock(&mut self) -> LOCK_W {
113653                LOCK_W { w: self }
113654            }
113655            ///Bit 10 - Off-state selection for Idle mode
113656            #[inline(always)]
113657            pub fn ossi(&mut self) -> OSSI_W {
113658                OSSI_W { w: self }
113659            }
113660            ///Bit 11 - Off-state selection for Run mode
113661            #[inline(always)]
113662            pub fn ossr(&mut self) -> OSSR_W {
113663                OSSR_W { w: self }
113664            }
113665            ///Bit 12 - Break enable
113666            #[inline(always)]
113667            pub fn bke(&mut self) -> BKE_W {
113668                BKE_W { w: self }
113669            }
113670            ///Bit 13 - Break polarity
113671            #[inline(always)]
113672            pub fn bkp(&mut self) -> BKP_W {
113673                BKP_W { w: self }
113674            }
113675            ///Bit 14 - Automatic output enable
113676            #[inline(always)]
113677            pub fn aoe(&mut self) -> AOE_W {
113678                AOE_W { w: self }
113679            }
113680            ///Bit 15 - Main output enable
113681            #[inline(always)]
113682            pub fn moe(&mut self) -> MOE_W {
113683                MOE_W { w: self }
113684            }
113685            ///Bits 16:19 - Break filter
113686            #[inline(always)]
113687            pub fn bkf(&mut self) -> BKF_W {
113688                BKF_W { w: self }
113689            }
113690            ///Bits 20:23 - Break 2 filter
113691            #[inline(always)]
113692            pub fn bk2f(&mut self) -> BK2F_W {
113693                BK2F_W { w: self }
113694            }
113695            ///Bit 24 - Break 2 enable
113696            #[inline(always)]
113697            pub fn bk2e(&mut self) -> BK2E_W {
113698                BK2E_W { w: self }
113699            }
113700            ///Bit 25 - Break 2 polarity
113701            #[inline(always)]
113702            pub fn bk2p(&mut self) -> BK2P_W {
113703                BK2P_W { w: self }
113704            }
113705        }
113706    }
113707    ///DMA control register
113708    ///
113709    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
113710    ///
113711    ///For information about available fields see [dcr](dcr) module
113712    pub type DCR = crate::Reg<u32, _DCR>;
113713    #[allow(missing_docs)]
113714    #[doc(hidden)]
113715    pub struct _DCR;
113716    ///`read()` method returns [dcr::R](dcr::R) reader structure
113717    impl crate::Readable for DCR {}
113718    ///`write(|w| ..)` method takes [dcr::W](dcr::W) writer structure
113719    impl crate::Writable for DCR {}
113720    ///DMA control register
113721    pub mod dcr {
113722        ///Reader of register DCR
113723        pub type R = crate::R<u32, super::DCR>;
113724        ///Writer for register DCR
113725        pub type W = crate::W<u32, super::DCR>;
113726        ///Register DCR `reset()`'s with value 0
113727        impl crate::ResetValue for super::DCR {
113728            type Type = u32;
113729            #[inline(always)]
113730            fn reset_value() -> Self::Type {
113731                0
113732            }
113733        }
113734        ///Reader of field `DBL`
113735        pub type DBL_R = crate::R<u8, u8>;
113736        ///Write proxy for field `DBL`
113737        pub struct DBL_W<'a> {
113738            w: &'a mut W,
113739        }
113740        impl<'a> DBL_W<'a> {
113741            ///Writes raw bits to the field
113742            #[inline(always)]
113743            pub unsafe fn bits(self, value: u8) -> &'a mut W {
113744                self.w.bits = (self.w.bits & !(0x1f << 8)) | (((value as u32) & 0x1f) << 8);
113745                self.w
113746            }
113747        }
113748        ///Reader of field `DBA`
113749        pub type DBA_R = crate::R<u8, u8>;
113750        ///Write proxy for field `DBA`
113751        pub struct DBA_W<'a> {
113752            w: &'a mut W,
113753        }
113754        impl<'a> DBA_W<'a> {
113755            ///Writes raw bits to the field
113756            #[inline(always)]
113757            pub unsafe fn bits(self, value: u8) -> &'a mut W {
113758                self.w.bits = (self.w.bits & !0x1f) | ((value as u32) & 0x1f);
113759                self.w
113760            }
113761        }
113762        impl R {
113763            ///Bits 8:12 - DMA burst length
113764            #[inline(always)]
113765            pub fn dbl(&self) -> DBL_R {
113766                DBL_R::new(((self.bits >> 8) & 0x1f) as u8)
113767            }
113768            ///Bits 0:4 - DMA base address
113769            #[inline(always)]
113770            pub fn dba(&self) -> DBA_R {
113771                DBA_R::new((self.bits & 0x1f) as u8)
113772            }
113773        }
113774        impl W {
113775            ///Bits 8:12 - DMA burst length
113776            #[inline(always)]
113777            pub fn dbl(&mut self) -> DBL_W {
113778                DBL_W { w: self }
113779            }
113780            ///Bits 0:4 - DMA base address
113781            #[inline(always)]
113782            pub fn dba(&mut self) -> DBA_W {
113783                DBA_W { w: self }
113784            }
113785        }
113786    }
113787    ///DMA address for full transfer
113788    ///
113789    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
113790    ///
113791    ///For information about available fields see [dmar](dmar) module
113792    pub type DMAR = crate::Reg<u32, _DMAR>;
113793    #[allow(missing_docs)]
113794    #[doc(hidden)]
113795    pub struct _DMAR;
113796    ///`read()` method returns [dmar::R](dmar::R) reader structure
113797    impl crate::Readable for DMAR {}
113798    ///`write(|w| ..)` method takes [dmar::W](dmar::W) writer structure
113799    impl crate::Writable for DMAR {}
113800    ///DMA address for full transfer
113801    pub mod dmar {
113802        ///Reader of register DMAR
113803        pub type R = crate::R<u32, super::DMAR>;
113804        ///Writer for register DMAR
113805        pub type W = crate::W<u32, super::DMAR>;
113806        ///Register DMAR `reset()`'s with value 0
113807        impl crate::ResetValue for super::DMAR {
113808            type Type = u32;
113809            #[inline(always)]
113810            fn reset_value() -> Self::Type {
113811                0
113812            }
113813        }
113814        ///Reader of field `DMAB`
113815        pub type DMAB_R = crate::R<u16, u16>;
113816        ///Write proxy for field `DMAB`
113817        pub struct DMAB_W<'a> {
113818            w: &'a mut W,
113819        }
113820        impl<'a> DMAB_W<'a> {
113821            ///Writes raw bits to the field
113822            #[inline(always)]
113823            pub unsafe fn bits(self, value: u16) -> &'a mut W {
113824                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
113825                self.w
113826            }
113827        }
113828        impl R {
113829            ///Bits 0:15 - DMA register for burst accesses
113830            #[inline(always)]
113831            pub fn dmab(&self) -> DMAB_R {
113832                DMAB_R::new((self.bits & 0xffff) as u16)
113833            }
113834        }
113835        impl W {
113836            ///Bits 0:15 - DMA register for burst accesses
113837            #[inline(always)]
113838            pub fn dmab(&mut self) -> DMAB_W {
113839                DMAB_W { w: self }
113840            }
113841        }
113842    }
113843    ///DMA address for full transfer
113844    ///
113845    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
113846    ///
113847    ///For information about available fields see [or](or) module
113848    pub type OR = crate::Reg<u32, _OR>;
113849    #[allow(missing_docs)]
113850    #[doc(hidden)]
113851    pub struct _OR;
113852    ///`read()` method returns [or::R](or::R) reader structure
113853    impl crate::Readable for OR {}
113854    ///`write(|w| ..)` method takes [or::W](or::W) writer structure
113855    impl crate::Writable for OR {}
113856    ///DMA address for full transfer
113857    pub mod or {
113858        ///Reader of register OR
113859        pub type R = crate::R<u32, super::OR>;
113860        ///Writer for register OR
113861        pub type W = crate::W<u32, super::OR>;
113862        ///Register OR `reset()`'s with value 0
113863        impl crate::ResetValue for super::OR {
113864            type Type = u32;
113865            #[inline(always)]
113866            fn reset_value() -> Self::Type {
113867                0
113868            }
113869        }
113870        ///Reader of field `TIM1_ETR_ADC1_RMP`
113871        pub type TIM1_ETR_ADC1_RMP_R = crate::R<u8, u8>;
113872        ///Write proxy for field `TIM1_ETR_ADC1_RMP`
113873        pub struct TIM1_ETR_ADC1_RMP_W<'a> {
113874            w: &'a mut W,
113875        }
113876        impl<'a> TIM1_ETR_ADC1_RMP_W<'a> {
113877            ///Writes raw bits to the field
113878            #[inline(always)]
113879            pub unsafe fn bits(self, value: u8) -> &'a mut W {
113880                self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03);
113881                self.w
113882            }
113883        }
113884        ///Reader of field `TI1_RMP`
113885        pub type TI1_RMP_R = crate::R<bool, bool>;
113886        ///Write proxy for field `TI1_RMP`
113887        pub struct TI1_RMP_W<'a> {
113888            w: &'a mut W,
113889        }
113890        impl<'a> TI1_RMP_W<'a> {
113891            ///Sets the field bit
113892            #[inline(always)]
113893            pub fn set_bit(self) -> &'a mut W {
113894                self.bit(true)
113895            }
113896            ///Clears the field bit
113897            #[inline(always)]
113898            pub fn clear_bit(self) -> &'a mut W {
113899                self.bit(false)
113900            }
113901            ///Writes raw bits to the field
113902            #[inline(always)]
113903            pub fn bit(self, value: bool) -> &'a mut W {
113904                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
113905                self.w
113906            }
113907        }
113908        impl R {
113909            ///Bits 0:1 - TIM1_ETR_ADC1 remapping capability
113910            #[inline(always)]
113911            pub fn tim1_etr_adc1_rmp(&self) -> TIM1_ETR_ADC1_RMP_R {
113912                TIM1_ETR_ADC1_RMP_R::new((self.bits & 0x03) as u8)
113913            }
113914            ///Bit 4 - Input Capture 1 remap
113915            #[inline(always)]
113916            pub fn ti1_rmp(&self) -> TI1_RMP_R {
113917                TI1_RMP_R::new(((self.bits >> 4) & 0x01) != 0)
113918            }
113919        }
113920        impl W {
113921            ///Bits 0:1 - TIM1_ETR_ADC1 remapping capability
113922            #[inline(always)]
113923            pub fn tim1_etr_adc1_rmp(&mut self) -> TIM1_ETR_ADC1_RMP_W {
113924                TIM1_ETR_ADC1_RMP_W { w: self }
113925            }
113926            ///Bit 4 - Input Capture 1 remap
113927            #[inline(always)]
113928            pub fn ti1_rmp(&mut self) -> TI1_RMP_W {
113929                TI1_RMP_W { w: self }
113930            }
113931        }
113932    }
113933    ///capture/compare mode register 2 (output mode)
113934    ///
113935    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
113936    ///
113937    ///For information about available fields see [ccmr3_output](ccmr3_output) module
113938    pub type CCMR3_OUTPUT = crate::Reg<u32, _CCMR3_OUTPUT>;
113939    #[allow(missing_docs)]
113940    #[doc(hidden)]
113941    pub struct _CCMR3_OUTPUT;
113942    ///`read()` method returns [ccmr3_output::R](ccmr3_output::R) reader structure
113943    impl crate::Readable for CCMR3_OUTPUT {}
113944    ///`write(|w| ..)` method takes [ccmr3_output::W](ccmr3_output::W) writer structure
113945    impl crate::Writable for CCMR3_OUTPUT {}
113946    ///capture/compare mode register 2 (output mode)
113947    pub mod ccmr3_output {
113948        ///Reader of register CCMR3_Output
113949        pub type R = crate::R<u32, super::CCMR3_OUTPUT>;
113950        ///Writer for register CCMR3_Output
113951        pub type W = crate::W<u32, super::CCMR3_OUTPUT>;
113952        ///Register CCMR3_Output `reset()`'s with value 0
113953        impl crate::ResetValue for super::CCMR3_OUTPUT {
113954            type Type = u32;
113955            #[inline(always)]
113956            fn reset_value() -> Self::Type {
113957                0
113958            }
113959        }
113960        ///Reader of field `OC6M_bit3`
113961        pub type OC6M_BIT3_R = crate::R<bool, bool>;
113962        ///Write proxy for field `OC6M_bit3`
113963        pub struct OC6M_BIT3_W<'a> {
113964            w: &'a mut W,
113965        }
113966        impl<'a> OC6M_BIT3_W<'a> {
113967            ///Sets the field bit
113968            #[inline(always)]
113969            pub fn set_bit(self) -> &'a mut W {
113970                self.bit(true)
113971            }
113972            ///Clears the field bit
113973            #[inline(always)]
113974            pub fn clear_bit(self) -> &'a mut W {
113975                self.bit(false)
113976            }
113977            ///Writes raw bits to the field
113978            #[inline(always)]
113979            pub fn bit(self, value: bool) -> &'a mut W {
113980                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
113981                self.w
113982            }
113983        }
113984        ///Reader of field `OC5M_bit3`
113985        pub type OC5M_BIT3_R = crate::R<bool, bool>;
113986        ///Write proxy for field `OC5M_bit3`
113987        pub struct OC5M_BIT3_W<'a> {
113988            w: &'a mut W,
113989        }
113990        impl<'a> OC5M_BIT3_W<'a> {
113991            ///Sets the field bit
113992            #[inline(always)]
113993            pub fn set_bit(self) -> &'a mut W {
113994                self.bit(true)
113995            }
113996            ///Clears the field bit
113997            #[inline(always)]
113998            pub fn clear_bit(self) -> &'a mut W {
113999                self.bit(false)
114000            }
114001            ///Writes raw bits to the field
114002            #[inline(always)]
114003            pub fn bit(self, value: bool) -> &'a mut W {
114004                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
114005                self.w
114006            }
114007        }
114008        ///Reader of field `OC6CE`
114009        pub type OC6CE_R = crate::R<bool, bool>;
114010        ///Write proxy for field `OC6CE`
114011        pub struct OC6CE_W<'a> {
114012            w: &'a mut W,
114013        }
114014        impl<'a> OC6CE_W<'a> {
114015            ///Sets the field bit
114016            #[inline(always)]
114017            pub fn set_bit(self) -> &'a mut W {
114018                self.bit(true)
114019            }
114020            ///Clears the field bit
114021            #[inline(always)]
114022            pub fn clear_bit(self) -> &'a mut W {
114023                self.bit(false)
114024            }
114025            ///Writes raw bits to the field
114026            #[inline(always)]
114027            pub fn bit(self, value: bool) -> &'a mut W {
114028                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
114029                self.w
114030            }
114031        }
114032        ///Reader of field `OC6M`
114033        pub type OC6M_R = crate::R<u8, u8>;
114034        ///Write proxy for field `OC6M`
114035        pub struct OC6M_W<'a> {
114036            w: &'a mut W,
114037        }
114038        impl<'a> OC6M_W<'a> {
114039            ///Writes raw bits to the field
114040            #[inline(always)]
114041            pub unsafe fn bits(self, value: u8) -> &'a mut W {
114042                self.w.bits = (self.w.bits & !(0x07 << 12)) | (((value as u32) & 0x07) << 12);
114043                self.w
114044            }
114045        }
114046        ///Reader of field `OC6PE`
114047        pub type OC6PE_R = crate::R<bool, bool>;
114048        ///Write proxy for field `OC6PE`
114049        pub struct OC6PE_W<'a> {
114050            w: &'a mut W,
114051        }
114052        impl<'a> OC6PE_W<'a> {
114053            ///Sets the field bit
114054            #[inline(always)]
114055            pub fn set_bit(self) -> &'a mut W {
114056                self.bit(true)
114057            }
114058            ///Clears the field bit
114059            #[inline(always)]
114060            pub fn clear_bit(self) -> &'a mut W {
114061                self.bit(false)
114062            }
114063            ///Writes raw bits to the field
114064            #[inline(always)]
114065            pub fn bit(self, value: bool) -> &'a mut W {
114066                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
114067                self.w
114068            }
114069        }
114070        ///Reader of field `OC6FE`
114071        pub type OC6FE_R = crate::R<bool, bool>;
114072        ///Write proxy for field `OC6FE`
114073        pub struct OC6FE_W<'a> {
114074            w: &'a mut W,
114075        }
114076        impl<'a> OC6FE_W<'a> {
114077            ///Sets the field bit
114078            #[inline(always)]
114079            pub fn set_bit(self) -> &'a mut W {
114080                self.bit(true)
114081            }
114082            ///Clears the field bit
114083            #[inline(always)]
114084            pub fn clear_bit(self) -> &'a mut W {
114085                self.bit(false)
114086            }
114087            ///Writes raw bits to the field
114088            #[inline(always)]
114089            pub fn bit(self, value: bool) -> &'a mut W {
114090                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
114091                self.w
114092            }
114093        }
114094        ///Reader of field `OC5CE`
114095        pub type OC5CE_R = crate::R<bool, bool>;
114096        ///Write proxy for field `OC5CE`
114097        pub struct OC5CE_W<'a> {
114098            w: &'a mut W,
114099        }
114100        impl<'a> OC5CE_W<'a> {
114101            ///Sets the field bit
114102            #[inline(always)]
114103            pub fn set_bit(self) -> &'a mut W {
114104                self.bit(true)
114105            }
114106            ///Clears the field bit
114107            #[inline(always)]
114108            pub fn clear_bit(self) -> &'a mut W {
114109                self.bit(false)
114110            }
114111            ///Writes raw bits to the field
114112            #[inline(always)]
114113            pub fn bit(self, value: bool) -> &'a mut W {
114114                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
114115                self.w
114116            }
114117        }
114118        ///Reader of field `OC5M`
114119        pub type OC5M_R = crate::R<u8, u8>;
114120        ///Write proxy for field `OC5M`
114121        pub struct OC5M_W<'a> {
114122            w: &'a mut W,
114123        }
114124        impl<'a> OC5M_W<'a> {
114125            ///Writes raw bits to the field
114126            #[inline(always)]
114127            pub unsafe fn bits(self, value: u8) -> &'a mut W {
114128                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
114129                self.w
114130            }
114131        }
114132        ///Reader of field `OC5PE`
114133        pub type OC5PE_R = crate::R<bool, bool>;
114134        ///Write proxy for field `OC5PE`
114135        pub struct OC5PE_W<'a> {
114136            w: &'a mut W,
114137        }
114138        impl<'a> OC5PE_W<'a> {
114139            ///Sets the field bit
114140            #[inline(always)]
114141            pub fn set_bit(self) -> &'a mut W {
114142                self.bit(true)
114143            }
114144            ///Clears the field bit
114145            #[inline(always)]
114146            pub fn clear_bit(self) -> &'a mut W {
114147                self.bit(false)
114148            }
114149            ///Writes raw bits to the field
114150            #[inline(always)]
114151            pub fn bit(self, value: bool) -> &'a mut W {
114152                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
114153                self.w
114154            }
114155        }
114156        ///Reader of field `OC5FE`
114157        pub type OC5FE_R = crate::R<bool, bool>;
114158        ///Write proxy for field `OC5FE`
114159        pub struct OC5FE_W<'a> {
114160            w: &'a mut W,
114161        }
114162        impl<'a> OC5FE_W<'a> {
114163            ///Sets the field bit
114164            #[inline(always)]
114165            pub fn set_bit(self) -> &'a mut W {
114166                self.bit(true)
114167            }
114168            ///Clears the field bit
114169            #[inline(always)]
114170            pub fn clear_bit(self) -> &'a mut W {
114171                self.bit(false)
114172            }
114173            ///Writes raw bits to the field
114174            #[inline(always)]
114175            pub fn bit(self, value: bool) -> &'a mut W {
114176                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
114177                self.w
114178            }
114179        }
114180        impl R {
114181            ///Bit 24 - Output Compare 6 mode bit 3
114182            #[inline(always)]
114183            pub fn oc6m_bit3(&self) -> OC6M_BIT3_R {
114184                OC6M_BIT3_R::new(((self.bits >> 24) & 0x01) != 0)
114185            }
114186            ///Bit 16 - Output Compare 5 mode bit 3
114187            #[inline(always)]
114188            pub fn oc5m_bit3(&self) -> OC5M_BIT3_R {
114189                OC5M_BIT3_R::new(((self.bits >> 16) & 0x01) != 0)
114190            }
114191            ///Bit 15 - Output compare 6 clear enable
114192            #[inline(always)]
114193            pub fn oc6ce(&self) -> OC6CE_R {
114194                OC6CE_R::new(((self.bits >> 15) & 0x01) != 0)
114195            }
114196            ///Bits 12:14 - Output compare 6 mode
114197            #[inline(always)]
114198            pub fn oc6m(&self) -> OC6M_R {
114199                OC6M_R::new(((self.bits >> 12) & 0x07) as u8)
114200            }
114201            ///Bit 11 - Output compare 6 preload enable
114202            #[inline(always)]
114203            pub fn oc6pe(&self) -> OC6PE_R {
114204                OC6PE_R::new(((self.bits >> 11) & 0x01) != 0)
114205            }
114206            ///Bit 10 - Output compare 6 fast enable
114207            #[inline(always)]
114208            pub fn oc6fe(&self) -> OC6FE_R {
114209                OC6FE_R::new(((self.bits >> 10) & 0x01) != 0)
114210            }
114211            ///Bit 7 - Output compare 5 clear enable
114212            #[inline(always)]
114213            pub fn oc5ce(&self) -> OC5CE_R {
114214                OC5CE_R::new(((self.bits >> 7) & 0x01) != 0)
114215            }
114216            ///Bits 4:6 - Output compare 5 mode
114217            #[inline(always)]
114218            pub fn oc5m(&self) -> OC5M_R {
114219                OC5M_R::new(((self.bits >> 4) & 0x07) as u8)
114220            }
114221            ///Bit 3 - Output compare 5 preload enable
114222            #[inline(always)]
114223            pub fn oc5pe(&self) -> OC5PE_R {
114224                OC5PE_R::new(((self.bits >> 3) & 0x01) != 0)
114225            }
114226            ///Bit 2 - Output compare 5 fast enable
114227            #[inline(always)]
114228            pub fn oc5fe(&self) -> OC5FE_R {
114229                OC5FE_R::new(((self.bits >> 2) & 0x01) != 0)
114230            }
114231        }
114232        impl W {
114233            ///Bit 24 - Output Compare 6 mode bit 3
114234            #[inline(always)]
114235            pub fn oc6m_bit3(&mut self) -> OC6M_BIT3_W {
114236                OC6M_BIT3_W { w: self }
114237            }
114238            ///Bit 16 - Output Compare 5 mode bit 3
114239            #[inline(always)]
114240            pub fn oc5m_bit3(&mut self) -> OC5M_BIT3_W {
114241                OC5M_BIT3_W { w: self }
114242            }
114243            ///Bit 15 - Output compare 6 clear enable
114244            #[inline(always)]
114245            pub fn oc6ce(&mut self) -> OC6CE_W {
114246                OC6CE_W { w: self }
114247            }
114248            ///Bits 12:14 - Output compare 6 mode
114249            #[inline(always)]
114250            pub fn oc6m(&mut self) -> OC6M_W {
114251                OC6M_W { w: self }
114252            }
114253            ///Bit 11 - Output compare 6 preload enable
114254            #[inline(always)]
114255            pub fn oc6pe(&mut self) -> OC6PE_W {
114256                OC6PE_W { w: self }
114257            }
114258            ///Bit 10 - Output compare 6 fast enable
114259            #[inline(always)]
114260            pub fn oc6fe(&mut self) -> OC6FE_W {
114261                OC6FE_W { w: self }
114262            }
114263            ///Bit 7 - Output compare 5 clear enable
114264            #[inline(always)]
114265            pub fn oc5ce(&mut self) -> OC5CE_W {
114266                OC5CE_W { w: self }
114267            }
114268            ///Bits 4:6 - Output compare 5 mode
114269            #[inline(always)]
114270            pub fn oc5m(&mut self) -> OC5M_W {
114271                OC5M_W { w: self }
114272            }
114273            ///Bit 3 - Output compare 5 preload enable
114274            #[inline(always)]
114275            pub fn oc5pe(&mut self) -> OC5PE_W {
114276                OC5PE_W { w: self }
114277            }
114278            ///Bit 2 - Output compare 5 fast enable
114279            #[inline(always)]
114280            pub fn oc5fe(&mut self) -> OC5FE_W {
114281                OC5FE_W { w: self }
114282            }
114283        }
114284    }
114285    ///capture/compare register 4
114286    ///
114287    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
114288    ///
114289    ///For information about available fields see [ccr5](ccr5) module
114290    pub type CCR5 = crate::Reg<u32, _CCR5>;
114291    #[allow(missing_docs)]
114292    #[doc(hidden)]
114293    pub struct _CCR5;
114294    ///`read()` method returns [ccr5::R](ccr5::R) reader structure
114295    impl crate::Readable for CCR5 {}
114296    ///`write(|w| ..)` method takes [ccr5::W](ccr5::W) writer structure
114297    impl crate::Writable for CCR5 {}
114298    ///capture/compare register 4
114299    pub mod ccr5 {
114300        ///Reader of register CCR5
114301        pub type R = crate::R<u32, super::CCR5>;
114302        ///Writer for register CCR5
114303        pub type W = crate::W<u32, super::CCR5>;
114304        ///Register CCR5 `reset()`'s with value 0
114305        impl crate::ResetValue for super::CCR5 {
114306            type Type = u32;
114307            #[inline(always)]
114308            fn reset_value() -> Self::Type {
114309                0
114310            }
114311        }
114312        ///Reader of field `CCR5`
114313        pub type CCR5_R = crate::R<u16, u16>;
114314        ///Write proxy for field `CCR5`
114315        pub struct CCR5_W<'a> {
114316            w: &'a mut W,
114317        }
114318        impl<'a> CCR5_W<'a> {
114319            ///Writes raw bits to the field
114320            #[inline(always)]
114321            pub unsafe fn bits(self, value: u16) -> &'a mut W {
114322                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
114323                self.w
114324            }
114325        }
114326        ///Reader of field `GC5C1`
114327        pub type GC5C1_R = crate::R<bool, bool>;
114328        ///Write proxy for field `GC5C1`
114329        pub struct GC5C1_W<'a> {
114330            w: &'a mut W,
114331        }
114332        impl<'a> GC5C1_W<'a> {
114333            ///Sets the field bit
114334            #[inline(always)]
114335            pub fn set_bit(self) -> &'a mut W {
114336                self.bit(true)
114337            }
114338            ///Clears the field bit
114339            #[inline(always)]
114340            pub fn clear_bit(self) -> &'a mut W {
114341                self.bit(false)
114342            }
114343            ///Writes raw bits to the field
114344            #[inline(always)]
114345            pub fn bit(self, value: bool) -> &'a mut W {
114346                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
114347                self.w
114348            }
114349        }
114350        ///Reader of field `GC5C2`
114351        pub type GC5C2_R = crate::R<bool, bool>;
114352        ///Write proxy for field `GC5C2`
114353        pub struct GC5C2_W<'a> {
114354            w: &'a mut W,
114355        }
114356        impl<'a> GC5C2_W<'a> {
114357            ///Sets the field bit
114358            #[inline(always)]
114359            pub fn set_bit(self) -> &'a mut W {
114360                self.bit(true)
114361            }
114362            ///Clears the field bit
114363            #[inline(always)]
114364            pub fn clear_bit(self) -> &'a mut W {
114365                self.bit(false)
114366            }
114367            ///Writes raw bits to the field
114368            #[inline(always)]
114369            pub fn bit(self, value: bool) -> &'a mut W {
114370                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
114371                self.w
114372            }
114373        }
114374        ///Reader of field `GC5C3`
114375        pub type GC5C3_R = crate::R<bool, bool>;
114376        ///Write proxy for field `GC5C3`
114377        pub struct GC5C3_W<'a> {
114378            w: &'a mut W,
114379        }
114380        impl<'a> GC5C3_W<'a> {
114381            ///Sets the field bit
114382            #[inline(always)]
114383            pub fn set_bit(self) -> &'a mut W {
114384                self.bit(true)
114385            }
114386            ///Clears the field bit
114387            #[inline(always)]
114388            pub fn clear_bit(self) -> &'a mut W {
114389                self.bit(false)
114390            }
114391            ///Writes raw bits to the field
114392            #[inline(always)]
114393            pub fn bit(self, value: bool) -> &'a mut W {
114394                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
114395                self.w
114396            }
114397        }
114398        impl R {
114399            ///Bits 0:15 - Capture/Compare value
114400            #[inline(always)]
114401            pub fn ccr5(&self) -> CCR5_R {
114402                CCR5_R::new((self.bits & 0xffff) as u16)
114403            }
114404            ///Bit 29 - Group Channel 5 and Channel 1
114405            #[inline(always)]
114406            pub fn gc5c1(&self) -> GC5C1_R {
114407                GC5C1_R::new(((self.bits >> 29) & 0x01) != 0)
114408            }
114409            ///Bit 30 - Group Channel 5 and Channel 2
114410            #[inline(always)]
114411            pub fn gc5c2(&self) -> GC5C2_R {
114412                GC5C2_R::new(((self.bits >> 30) & 0x01) != 0)
114413            }
114414            ///Bit 31 - Group Channel 5 and Channel 3
114415            #[inline(always)]
114416            pub fn gc5c3(&self) -> GC5C3_R {
114417                GC5C3_R::new(((self.bits >> 31) & 0x01) != 0)
114418            }
114419        }
114420        impl W {
114421            ///Bits 0:15 - Capture/Compare value
114422            #[inline(always)]
114423            pub fn ccr5(&mut self) -> CCR5_W {
114424                CCR5_W { w: self }
114425            }
114426            ///Bit 29 - Group Channel 5 and Channel 1
114427            #[inline(always)]
114428            pub fn gc5c1(&mut self) -> GC5C1_W {
114429                GC5C1_W { w: self }
114430            }
114431            ///Bit 30 - Group Channel 5 and Channel 2
114432            #[inline(always)]
114433            pub fn gc5c2(&mut self) -> GC5C2_W {
114434                GC5C2_W { w: self }
114435            }
114436            ///Bit 31 - Group Channel 5 and Channel 3
114437            #[inline(always)]
114438            pub fn gc5c3(&mut self) -> GC5C3_W {
114439                GC5C3_W { w: self }
114440            }
114441        }
114442    }
114443    ///capture/compare register 4
114444    ///
114445    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
114446    ///
114447    ///For information about available fields see [ccr6](ccr6) module
114448    pub type CCR6 = crate::Reg<u32, _CCR6>;
114449    #[allow(missing_docs)]
114450    #[doc(hidden)]
114451    pub struct _CCR6;
114452    ///`read()` method returns [ccr6::R](ccr6::R) reader structure
114453    impl crate::Readable for CCR6 {}
114454    ///`write(|w| ..)` method takes [ccr6::W](ccr6::W) writer structure
114455    impl crate::Writable for CCR6 {}
114456    ///capture/compare register 4
114457    pub mod ccr6 {
114458        ///Reader of register CCR6
114459        pub type R = crate::R<u32, super::CCR6>;
114460        ///Writer for register CCR6
114461        pub type W = crate::W<u32, super::CCR6>;
114462        ///Register CCR6 `reset()`'s with value 0
114463        impl crate::ResetValue for super::CCR6 {
114464            type Type = u32;
114465            #[inline(always)]
114466            fn reset_value() -> Self::Type {
114467                0
114468            }
114469        }
114470        ///Reader of field `CCR6`
114471        pub type CCR6_R = crate::R<u16, u16>;
114472        ///Write proxy for field `CCR6`
114473        pub struct CCR6_W<'a> {
114474            w: &'a mut W,
114475        }
114476        impl<'a> CCR6_W<'a> {
114477            ///Writes raw bits to the field
114478            #[inline(always)]
114479            pub unsafe fn bits(self, value: u16) -> &'a mut W {
114480                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
114481                self.w
114482            }
114483        }
114484        impl R {
114485            ///Bits 0:15 - Capture/Compare value
114486            #[inline(always)]
114487            pub fn ccr6(&self) -> CCR6_R {
114488                CCR6_R::new((self.bits & 0xffff) as u16)
114489            }
114490        }
114491        impl W {
114492            ///Bits 0:15 - Capture/Compare value
114493            #[inline(always)]
114494            pub fn ccr6(&mut self) -> CCR6_W {
114495                CCR6_W { w: self }
114496            }
114497        }
114498    }
114499    ///DMA address for full transfer
114500    ///
114501    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
114502    ///
114503    ///For information about available fields see [af1](af1) module
114504    pub type AF1 = crate::Reg<u32, _AF1>;
114505    #[allow(missing_docs)]
114506    #[doc(hidden)]
114507    pub struct _AF1;
114508    ///`read()` method returns [af1::R](af1::R) reader structure
114509    impl crate::Readable for AF1 {}
114510    ///`write(|w| ..)` method takes [af1::W](af1::W) writer structure
114511    impl crate::Writable for AF1 {}
114512    ///DMA address for full transfer
114513    pub mod af1 {
114514        ///Reader of register AF1
114515        pub type R = crate::R<u32, super::AF1>;
114516        ///Writer for register AF1
114517        pub type W = crate::W<u32, super::AF1>;
114518        ///Register AF1 `reset()`'s with value 0x01
114519        impl crate::ResetValue for super::AF1 {
114520            type Type = u32;
114521            #[inline(always)]
114522            fn reset_value() -> Self::Type {
114523                0x01
114524            }
114525        }
114526        ///Reader of field `BKINE`
114527        pub type BKINE_R = crate::R<bool, bool>;
114528        ///Write proxy for field `BKINE`
114529        pub struct BKINE_W<'a> {
114530            w: &'a mut W,
114531        }
114532        impl<'a> BKINE_W<'a> {
114533            ///Sets the field bit
114534            #[inline(always)]
114535            pub fn set_bit(self) -> &'a mut W {
114536                self.bit(true)
114537            }
114538            ///Clears the field bit
114539            #[inline(always)]
114540            pub fn clear_bit(self) -> &'a mut W {
114541                self.bit(false)
114542            }
114543            ///Writes raw bits to the field
114544            #[inline(always)]
114545            pub fn bit(self, value: bool) -> &'a mut W {
114546                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
114547                self.w
114548            }
114549        }
114550        ///Reader of field `BKCMP1E`
114551        pub type BKCMP1E_R = crate::R<bool, bool>;
114552        ///Write proxy for field `BKCMP1E`
114553        pub struct BKCMP1E_W<'a> {
114554            w: &'a mut W,
114555        }
114556        impl<'a> BKCMP1E_W<'a> {
114557            ///Sets the field bit
114558            #[inline(always)]
114559            pub fn set_bit(self) -> &'a mut W {
114560                self.bit(true)
114561            }
114562            ///Clears the field bit
114563            #[inline(always)]
114564            pub fn clear_bit(self) -> &'a mut W {
114565                self.bit(false)
114566            }
114567            ///Writes raw bits to the field
114568            #[inline(always)]
114569            pub fn bit(self, value: bool) -> &'a mut W {
114570                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
114571                self.w
114572            }
114573        }
114574        ///Reader of field `BKCMP2E`
114575        pub type BKCMP2E_R = crate::R<bool, bool>;
114576        ///Write proxy for field `BKCMP2E`
114577        pub struct BKCMP2E_W<'a> {
114578            w: &'a mut W,
114579        }
114580        impl<'a> BKCMP2E_W<'a> {
114581            ///Sets the field bit
114582            #[inline(always)]
114583            pub fn set_bit(self) -> &'a mut W {
114584                self.bit(true)
114585            }
114586            ///Clears the field bit
114587            #[inline(always)]
114588            pub fn clear_bit(self) -> &'a mut W {
114589                self.bit(false)
114590            }
114591            ///Writes raw bits to the field
114592            #[inline(always)]
114593            pub fn bit(self, value: bool) -> &'a mut W {
114594                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
114595                self.w
114596            }
114597        }
114598        ///Reader of field `BKINP`
114599        pub type BKINP_R = crate::R<bool, bool>;
114600        ///Write proxy for field `BKINP`
114601        pub struct BKINP_W<'a> {
114602            w: &'a mut W,
114603        }
114604        impl<'a> BKINP_W<'a> {
114605            ///Sets the field bit
114606            #[inline(always)]
114607            pub fn set_bit(self) -> &'a mut W {
114608                self.bit(true)
114609            }
114610            ///Clears the field bit
114611            #[inline(always)]
114612            pub fn clear_bit(self) -> &'a mut W {
114613                self.bit(false)
114614            }
114615            ///Writes raw bits to the field
114616            #[inline(always)]
114617            pub fn bit(self, value: bool) -> &'a mut W {
114618                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
114619                self.w
114620            }
114621        }
114622        ///Reader of field `BKCMP1P`
114623        pub type BKCMP1P_R = crate::R<bool, bool>;
114624        ///Write proxy for field `BKCMP1P`
114625        pub struct BKCMP1P_W<'a> {
114626            w: &'a mut W,
114627        }
114628        impl<'a> BKCMP1P_W<'a> {
114629            ///Sets the field bit
114630            #[inline(always)]
114631            pub fn set_bit(self) -> &'a mut W {
114632                self.bit(true)
114633            }
114634            ///Clears the field bit
114635            #[inline(always)]
114636            pub fn clear_bit(self) -> &'a mut W {
114637                self.bit(false)
114638            }
114639            ///Writes raw bits to the field
114640            #[inline(always)]
114641            pub fn bit(self, value: bool) -> &'a mut W {
114642                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
114643                self.w
114644            }
114645        }
114646        ///Reader of field `BKCMP2P`
114647        pub type BKCMP2P_R = crate::R<bool, bool>;
114648        ///Write proxy for field `BKCMP2P`
114649        pub struct BKCMP2P_W<'a> {
114650            w: &'a mut W,
114651        }
114652        impl<'a> BKCMP2P_W<'a> {
114653            ///Sets the field bit
114654            #[inline(always)]
114655            pub fn set_bit(self) -> &'a mut W {
114656                self.bit(true)
114657            }
114658            ///Clears the field bit
114659            #[inline(always)]
114660            pub fn clear_bit(self) -> &'a mut W {
114661                self.bit(false)
114662            }
114663            ///Writes raw bits to the field
114664            #[inline(always)]
114665            pub fn bit(self, value: bool) -> &'a mut W {
114666                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
114667                self.w
114668            }
114669        }
114670        ///Reader of field `ETRSEL`
114671        pub type ETRSEL_R = crate::R<u8, u8>;
114672        ///Write proxy for field `ETRSEL`
114673        pub struct ETRSEL_W<'a> {
114674            w: &'a mut W,
114675        }
114676        impl<'a> ETRSEL_W<'a> {
114677            ///Writes raw bits to the field
114678            #[inline(always)]
114679            pub unsafe fn bits(self, value: u8) -> &'a mut W {
114680                self.w.bits = (self.w.bits & !(0x07 << 14)) | (((value as u32) & 0x07) << 14);
114681                self.w
114682            }
114683        }
114684        impl R {
114685            ///Bit 0 - BRK BKIN input enable
114686            #[inline(always)]
114687            pub fn bkine(&self) -> BKINE_R {
114688                BKINE_R::new((self.bits & 0x01) != 0)
114689            }
114690            ///Bit 1 - BRK COMP1 enable
114691            #[inline(always)]
114692            pub fn bkcmp1e(&self) -> BKCMP1E_R {
114693                BKCMP1E_R::new(((self.bits >> 1) & 0x01) != 0)
114694            }
114695            ///Bit 2 - BRK COMP2 enable
114696            #[inline(always)]
114697            pub fn bkcmp2e(&self) -> BKCMP2E_R {
114698                BKCMP2E_R::new(((self.bits >> 2) & 0x01) != 0)
114699            }
114700            ///Bit 9 - BRK BKIN input polarity
114701            #[inline(always)]
114702            pub fn bkinp(&self) -> BKINP_R {
114703                BKINP_R::new(((self.bits >> 9) & 0x01) != 0)
114704            }
114705            ///Bit 10 - BRK COMP1 input polarity
114706            #[inline(always)]
114707            pub fn bkcmp1p(&self) -> BKCMP1P_R {
114708                BKCMP1P_R::new(((self.bits >> 10) & 0x01) != 0)
114709            }
114710            ///Bit 11 - BRK COMP2 input polarity
114711            #[inline(always)]
114712            pub fn bkcmp2p(&self) -> BKCMP2P_R {
114713                BKCMP2P_R::new(((self.bits >> 11) & 0x01) != 0)
114714            }
114715            ///Bits 14:16 - ETR source selection
114716            #[inline(always)]
114717            pub fn etrsel(&self) -> ETRSEL_R {
114718                ETRSEL_R::new(((self.bits >> 14) & 0x07) as u8)
114719            }
114720        }
114721        impl W {
114722            ///Bit 0 - BRK BKIN input enable
114723            #[inline(always)]
114724            pub fn bkine(&mut self) -> BKINE_W {
114725                BKINE_W { w: self }
114726            }
114727            ///Bit 1 - BRK COMP1 enable
114728            #[inline(always)]
114729            pub fn bkcmp1e(&mut self) -> BKCMP1E_W {
114730                BKCMP1E_W { w: self }
114731            }
114732            ///Bit 2 - BRK COMP2 enable
114733            #[inline(always)]
114734            pub fn bkcmp2e(&mut self) -> BKCMP2E_W {
114735                BKCMP2E_W { w: self }
114736            }
114737            ///Bit 9 - BRK BKIN input polarity
114738            #[inline(always)]
114739            pub fn bkinp(&mut self) -> BKINP_W {
114740                BKINP_W { w: self }
114741            }
114742            ///Bit 10 - BRK COMP1 input polarity
114743            #[inline(always)]
114744            pub fn bkcmp1p(&mut self) -> BKCMP1P_W {
114745                BKCMP1P_W { w: self }
114746            }
114747            ///Bit 11 - BRK COMP2 input polarity
114748            #[inline(always)]
114749            pub fn bkcmp2p(&mut self) -> BKCMP2P_W {
114750                BKCMP2P_W { w: self }
114751            }
114752            ///Bits 14:16 - ETR source selection
114753            #[inline(always)]
114754            pub fn etrsel(&mut self) -> ETRSEL_W {
114755                ETRSEL_W { w: self }
114756            }
114757        }
114758    }
114759    ///DMA address for full transfer
114760    ///
114761    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
114762    ///
114763    ///For information about available fields see [af2](af2) module
114764    pub type AF2 = crate::Reg<u32, _AF2>;
114765    #[allow(missing_docs)]
114766    #[doc(hidden)]
114767    pub struct _AF2;
114768    ///`read()` method returns [af2::R](af2::R) reader structure
114769    impl crate::Readable for AF2 {}
114770    ///`write(|w| ..)` method takes [af2::W](af2::W) writer structure
114771    impl crate::Writable for AF2 {}
114772    ///DMA address for full transfer
114773    pub mod af2 {
114774        ///Reader of register AF2
114775        pub type R = crate::R<u32, super::AF2>;
114776        ///Writer for register AF2
114777        pub type W = crate::W<u32, super::AF2>;
114778        ///Register AF2 `reset()`'s with value 0x01
114779        impl crate::ResetValue for super::AF2 {
114780            type Type = u32;
114781            #[inline(always)]
114782            fn reset_value() -> Self::Type {
114783                0x01
114784            }
114785        }
114786        ///Reader of field `BK2INE`
114787        pub type BK2INE_R = crate::R<bool, bool>;
114788        ///Write proxy for field `BK2INE`
114789        pub struct BK2INE_W<'a> {
114790            w: &'a mut W,
114791        }
114792        impl<'a> BK2INE_W<'a> {
114793            ///Sets the field bit
114794            #[inline(always)]
114795            pub fn set_bit(self) -> &'a mut W {
114796                self.bit(true)
114797            }
114798            ///Clears the field bit
114799            #[inline(always)]
114800            pub fn clear_bit(self) -> &'a mut W {
114801                self.bit(false)
114802            }
114803            ///Writes raw bits to the field
114804            #[inline(always)]
114805            pub fn bit(self, value: bool) -> &'a mut W {
114806                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
114807                self.w
114808            }
114809        }
114810        ///Reader of field `BK2CMP1E`
114811        pub type BK2CMP1E_R = crate::R<bool, bool>;
114812        ///Write proxy for field `BK2CMP1E`
114813        pub struct BK2CMP1E_W<'a> {
114814            w: &'a mut W,
114815        }
114816        impl<'a> BK2CMP1E_W<'a> {
114817            ///Sets the field bit
114818            #[inline(always)]
114819            pub fn set_bit(self) -> &'a mut W {
114820                self.bit(true)
114821            }
114822            ///Clears the field bit
114823            #[inline(always)]
114824            pub fn clear_bit(self) -> &'a mut W {
114825                self.bit(false)
114826            }
114827            ///Writes raw bits to the field
114828            #[inline(always)]
114829            pub fn bit(self, value: bool) -> &'a mut W {
114830                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
114831                self.w
114832            }
114833        }
114834        ///Reader of field `BK2CMP2E`
114835        pub type BK2CMP2E_R = crate::R<bool, bool>;
114836        ///Write proxy for field `BK2CMP2E`
114837        pub struct BK2CMP2E_W<'a> {
114838            w: &'a mut W,
114839        }
114840        impl<'a> BK2CMP2E_W<'a> {
114841            ///Sets the field bit
114842            #[inline(always)]
114843            pub fn set_bit(self) -> &'a mut W {
114844                self.bit(true)
114845            }
114846            ///Clears the field bit
114847            #[inline(always)]
114848            pub fn clear_bit(self) -> &'a mut W {
114849                self.bit(false)
114850            }
114851            ///Writes raw bits to the field
114852            #[inline(always)]
114853            pub fn bit(self, value: bool) -> &'a mut W {
114854                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
114855                self.w
114856            }
114857        }
114858        ///Reader of field `BK2DFBK0E`
114859        pub type BK2DFBK0E_R = crate::R<bool, bool>;
114860        ///Write proxy for field `BK2DFBK0E`
114861        pub struct BK2DFBK0E_W<'a> {
114862            w: &'a mut W,
114863        }
114864        impl<'a> BK2DFBK0E_W<'a> {
114865            ///Sets the field bit
114866            #[inline(always)]
114867            pub fn set_bit(self) -> &'a mut W {
114868                self.bit(true)
114869            }
114870            ///Clears the field bit
114871            #[inline(always)]
114872            pub fn clear_bit(self) -> &'a mut W {
114873                self.bit(false)
114874            }
114875            ///Writes raw bits to the field
114876            #[inline(always)]
114877            pub fn bit(self, value: bool) -> &'a mut W {
114878                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
114879                self.w
114880            }
114881        }
114882        ///Reader of field `BK2INP`
114883        pub type BK2INP_R = crate::R<bool, bool>;
114884        ///Write proxy for field `BK2INP`
114885        pub struct BK2INP_W<'a> {
114886            w: &'a mut W,
114887        }
114888        impl<'a> BK2INP_W<'a> {
114889            ///Sets the field bit
114890            #[inline(always)]
114891            pub fn set_bit(self) -> &'a mut W {
114892                self.bit(true)
114893            }
114894            ///Clears the field bit
114895            #[inline(always)]
114896            pub fn clear_bit(self) -> &'a mut W {
114897                self.bit(false)
114898            }
114899            ///Writes raw bits to the field
114900            #[inline(always)]
114901            pub fn bit(self, value: bool) -> &'a mut W {
114902                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
114903                self.w
114904            }
114905        }
114906        ///Reader of field `BK2CMP1P`
114907        pub type BK2CMP1P_R = crate::R<bool, bool>;
114908        ///Write proxy for field `BK2CMP1P`
114909        pub struct BK2CMP1P_W<'a> {
114910            w: &'a mut W,
114911        }
114912        impl<'a> BK2CMP1P_W<'a> {
114913            ///Sets the field bit
114914            #[inline(always)]
114915            pub fn set_bit(self) -> &'a mut W {
114916                self.bit(true)
114917            }
114918            ///Clears the field bit
114919            #[inline(always)]
114920            pub fn clear_bit(self) -> &'a mut W {
114921                self.bit(false)
114922            }
114923            ///Writes raw bits to the field
114924            #[inline(always)]
114925            pub fn bit(self, value: bool) -> &'a mut W {
114926                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
114927                self.w
114928            }
114929        }
114930        ///Reader of field `BK2CMP2P`
114931        pub type BK2CMP2P_R = crate::R<bool, bool>;
114932        ///Write proxy for field `BK2CMP2P`
114933        pub struct BK2CMP2P_W<'a> {
114934            w: &'a mut W,
114935        }
114936        impl<'a> BK2CMP2P_W<'a> {
114937            ///Sets the field bit
114938            #[inline(always)]
114939            pub fn set_bit(self) -> &'a mut W {
114940                self.bit(true)
114941            }
114942            ///Clears the field bit
114943            #[inline(always)]
114944            pub fn clear_bit(self) -> &'a mut W {
114945                self.bit(false)
114946            }
114947            ///Writes raw bits to the field
114948            #[inline(always)]
114949            pub fn bit(self, value: bool) -> &'a mut W {
114950                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
114951                self.w
114952            }
114953        }
114954        impl R {
114955            ///Bit 0 - BRK2 BKIN input enable
114956            #[inline(always)]
114957            pub fn bk2ine(&self) -> BK2INE_R {
114958                BK2INE_R::new((self.bits & 0x01) != 0)
114959            }
114960            ///Bit 1 - BRK2 COMP1 enable
114961            #[inline(always)]
114962            pub fn bk2cmp1e(&self) -> BK2CMP1E_R {
114963                BK2CMP1E_R::new(((self.bits >> 1) & 0x01) != 0)
114964            }
114965            ///Bit 2 - BRK2 COMP2 enable
114966            #[inline(always)]
114967            pub fn bk2cmp2e(&self) -> BK2CMP2E_R {
114968                BK2CMP2E_R::new(((self.bits >> 2) & 0x01) != 0)
114969            }
114970            ///Bit 8 - BRK2 DFSDM_BREAK0 enable
114971            #[inline(always)]
114972            pub fn bk2dfbk0e(&self) -> BK2DFBK0E_R {
114973                BK2DFBK0E_R::new(((self.bits >> 8) & 0x01) != 0)
114974            }
114975            ///Bit 9 - BRK2 BKIN input polarity
114976            #[inline(always)]
114977            pub fn bk2inp(&self) -> BK2INP_R {
114978                BK2INP_R::new(((self.bits >> 9) & 0x01) != 0)
114979            }
114980            ///Bit 10 - BRK2 COMP1 input polarity
114981            #[inline(always)]
114982            pub fn bk2cmp1p(&self) -> BK2CMP1P_R {
114983                BK2CMP1P_R::new(((self.bits >> 10) & 0x01) != 0)
114984            }
114985            ///Bit 11 - BRK2 COMP2 input polarity
114986            #[inline(always)]
114987            pub fn bk2cmp2p(&self) -> BK2CMP2P_R {
114988                BK2CMP2P_R::new(((self.bits >> 11) & 0x01) != 0)
114989            }
114990        }
114991        impl W {
114992            ///Bit 0 - BRK2 BKIN input enable
114993            #[inline(always)]
114994            pub fn bk2ine(&mut self) -> BK2INE_W {
114995                BK2INE_W { w: self }
114996            }
114997            ///Bit 1 - BRK2 COMP1 enable
114998            #[inline(always)]
114999            pub fn bk2cmp1e(&mut self) -> BK2CMP1E_W {
115000                BK2CMP1E_W { w: self }
115001            }
115002            ///Bit 2 - BRK2 COMP2 enable
115003            #[inline(always)]
115004            pub fn bk2cmp2e(&mut self) -> BK2CMP2E_W {
115005                BK2CMP2E_W { w: self }
115006            }
115007            ///Bit 8 - BRK2 DFSDM_BREAK0 enable
115008            #[inline(always)]
115009            pub fn bk2dfbk0e(&mut self) -> BK2DFBK0E_W {
115010                BK2DFBK0E_W { w: self }
115011            }
115012            ///Bit 9 - BRK2 BKIN input polarity
115013            #[inline(always)]
115014            pub fn bk2inp(&mut self) -> BK2INP_W {
115015                BK2INP_W { w: self }
115016            }
115017            ///Bit 10 - BRK2 COMP1 input polarity
115018            #[inline(always)]
115019            pub fn bk2cmp1p(&mut self) -> BK2CMP1P_W {
115020                BK2CMP1P_W { w: self }
115021            }
115022            ///Bit 11 - BRK2 COMP2 input polarity
115023            #[inline(always)]
115024            pub fn bk2cmp2p(&mut self) -> BK2CMP2P_W {
115025                BK2CMP2P_W { w: self }
115026            }
115027        }
115028    }
115029}
115030///Low power timer
115031pub struct LPTIM1 {
115032    _marker: PhantomData<*const ()>,
115033}
115034unsafe impl Send for LPTIM1 {}
115035impl LPTIM1 {
115036    ///Returns a pointer to the register block
115037    #[inline(always)]
115038    pub const fn ptr() -> *const lptim1::RegisterBlock {
115039        0x4000_7c00 as *const _
115040    }
115041}
115042impl Deref for LPTIM1 {
115043    type Target = lptim1::RegisterBlock;
115044    #[inline(always)]
115045    fn deref(&self) -> &Self::Target {
115046        unsafe { &*LPTIM1::ptr() }
115047    }
115048}
115049///Low power timer
115050pub mod lptim1 {
115051    ///Register block
115052    #[repr(C)]
115053    pub struct RegisterBlock {
115054        ///0x00 - Interrupt and Status Register
115055        pub isr: ISR,
115056        ///0x04 - Interrupt Clear Register
115057        pub icr: ICR,
115058        ///0x08 - Interrupt Enable Register
115059        pub ier: IER,
115060        ///0x0c - Configuration Register
115061        pub cfgr: CFGR,
115062        ///0x10 - Control Register
115063        pub cr: CR,
115064        ///0x14 - Compare Register
115065        pub cmp: CMP,
115066        ///0x18 - Autoreload Register
115067        pub arr: ARR,
115068        ///0x1c - Counter Register
115069        pub cnt: CNT,
115070        ///0x20 - Option Register
115071        pub or: OR,
115072    }
115073    ///Interrupt and Status Register
115074    ///
115075    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
115076    ///
115077    ///For information about available fields see [isr](isr) module
115078    pub type ISR = crate::Reg<u32, _ISR>;
115079    #[allow(missing_docs)]
115080    #[doc(hidden)]
115081    pub struct _ISR;
115082    ///`read()` method returns [isr::R](isr::R) reader structure
115083    impl crate::Readable for ISR {}
115084    ///Interrupt and Status Register
115085    pub mod isr {
115086        ///Reader of register ISR
115087        pub type R = crate::R<u32, super::ISR>;
115088        ///Reader of field `DOWN`
115089        pub type DOWN_R = crate::R<bool, bool>;
115090        ///Reader of field `UP`
115091        pub type UP_R = crate::R<bool, bool>;
115092        ///Reader of field `ARROK`
115093        pub type ARROK_R = crate::R<bool, bool>;
115094        ///Reader of field `CMPOK`
115095        pub type CMPOK_R = crate::R<bool, bool>;
115096        ///Reader of field `EXTTRIG`
115097        pub type EXTTRIG_R = crate::R<bool, bool>;
115098        ///Reader of field `ARRM`
115099        pub type ARRM_R = crate::R<bool, bool>;
115100        ///Reader of field `CMPM`
115101        pub type CMPM_R = crate::R<bool, bool>;
115102        impl R {
115103            ///Bit 6 - Counter direction change up to down
115104            #[inline(always)]
115105            pub fn down(&self) -> DOWN_R {
115106                DOWN_R::new(((self.bits >> 6) & 0x01) != 0)
115107            }
115108            ///Bit 5 - Counter direction change down to up
115109            #[inline(always)]
115110            pub fn up(&self) -> UP_R {
115111                UP_R::new(((self.bits >> 5) & 0x01) != 0)
115112            }
115113            ///Bit 4 - Autoreload register update OK
115114            #[inline(always)]
115115            pub fn arrok(&self) -> ARROK_R {
115116                ARROK_R::new(((self.bits >> 4) & 0x01) != 0)
115117            }
115118            ///Bit 3 - Compare register update OK
115119            #[inline(always)]
115120            pub fn cmpok(&self) -> CMPOK_R {
115121                CMPOK_R::new(((self.bits >> 3) & 0x01) != 0)
115122            }
115123            ///Bit 2 - External trigger edge event
115124            #[inline(always)]
115125            pub fn exttrig(&self) -> EXTTRIG_R {
115126                EXTTRIG_R::new(((self.bits >> 2) & 0x01) != 0)
115127            }
115128            ///Bit 1 - Autoreload match
115129            #[inline(always)]
115130            pub fn arrm(&self) -> ARRM_R {
115131                ARRM_R::new(((self.bits >> 1) & 0x01) != 0)
115132            }
115133            ///Bit 0 - Compare match
115134            #[inline(always)]
115135            pub fn cmpm(&self) -> CMPM_R {
115136                CMPM_R::new((self.bits & 0x01) != 0)
115137            }
115138        }
115139    }
115140    ///Interrupt Clear Register
115141    ///
115142    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
115143    ///
115144    ///For information about available fields see [icr](icr) module
115145    pub type ICR = crate::Reg<u32, _ICR>;
115146    #[allow(missing_docs)]
115147    #[doc(hidden)]
115148    pub struct _ICR;
115149    ///`write(|w| ..)` method takes [icr::W](icr::W) writer structure
115150    impl crate::Writable for ICR {}
115151    ///Interrupt Clear Register
115152    pub mod icr {
115153        ///Writer for register ICR
115154        pub type W = crate::W<u32, super::ICR>;
115155        ///Register ICR `reset()`'s with value 0
115156        impl crate::ResetValue for super::ICR {
115157            type Type = u32;
115158            #[inline(always)]
115159            fn reset_value() -> Self::Type {
115160                0
115161            }
115162        }
115163        ///Write proxy for field `DOWNCF`
115164        pub struct DOWNCF_W<'a> {
115165            w: &'a mut W,
115166        }
115167        impl<'a> DOWNCF_W<'a> {
115168            ///Sets the field bit
115169            #[inline(always)]
115170            pub fn set_bit(self) -> &'a mut W {
115171                self.bit(true)
115172            }
115173            ///Clears the field bit
115174            #[inline(always)]
115175            pub fn clear_bit(self) -> &'a mut W {
115176                self.bit(false)
115177            }
115178            ///Writes raw bits to the field
115179            #[inline(always)]
115180            pub fn bit(self, value: bool) -> &'a mut W {
115181                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
115182                self.w
115183            }
115184        }
115185        ///Write proxy for field `UPCF`
115186        pub struct UPCF_W<'a> {
115187            w: &'a mut W,
115188        }
115189        impl<'a> UPCF_W<'a> {
115190            ///Sets the field bit
115191            #[inline(always)]
115192            pub fn set_bit(self) -> &'a mut W {
115193                self.bit(true)
115194            }
115195            ///Clears the field bit
115196            #[inline(always)]
115197            pub fn clear_bit(self) -> &'a mut W {
115198                self.bit(false)
115199            }
115200            ///Writes raw bits to the field
115201            #[inline(always)]
115202            pub fn bit(self, value: bool) -> &'a mut W {
115203                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
115204                self.w
115205            }
115206        }
115207        ///Write proxy for field `ARROKCF`
115208        pub struct ARROKCF_W<'a> {
115209            w: &'a mut W,
115210        }
115211        impl<'a> ARROKCF_W<'a> {
115212            ///Sets the field bit
115213            #[inline(always)]
115214            pub fn set_bit(self) -> &'a mut W {
115215                self.bit(true)
115216            }
115217            ///Clears the field bit
115218            #[inline(always)]
115219            pub fn clear_bit(self) -> &'a mut W {
115220                self.bit(false)
115221            }
115222            ///Writes raw bits to the field
115223            #[inline(always)]
115224            pub fn bit(self, value: bool) -> &'a mut W {
115225                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
115226                self.w
115227            }
115228        }
115229        ///Write proxy for field `CMPOKCF`
115230        pub struct CMPOKCF_W<'a> {
115231            w: &'a mut W,
115232        }
115233        impl<'a> CMPOKCF_W<'a> {
115234            ///Sets the field bit
115235            #[inline(always)]
115236            pub fn set_bit(self) -> &'a mut W {
115237                self.bit(true)
115238            }
115239            ///Clears the field bit
115240            #[inline(always)]
115241            pub fn clear_bit(self) -> &'a mut W {
115242                self.bit(false)
115243            }
115244            ///Writes raw bits to the field
115245            #[inline(always)]
115246            pub fn bit(self, value: bool) -> &'a mut W {
115247                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
115248                self.w
115249            }
115250        }
115251        ///Write proxy for field `EXTTRIGCF`
115252        pub struct EXTTRIGCF_W<'a> {
115253            w: &'a mut W,
115254        }
115255        impl<'a> EXTTRIGCF_W<'a> {
115256            ///Sets the field bit
115257            #[inline(always)]
115258            pub fn set_bit(self) -> &'a mut W {
115259                self.bit(true)
115260            }
115261            ///Clears the field bit
115262            #[inline(always)]
115263            pub fn clear_bit(self) -> &'a mut W {
115264                self.bit(false)
115265            }
115266            ///Writes raw bits to the field
115267            #[inline(always)]
115268            pub fn bit(self, value: bool) -> &'a mut W {
115269                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
115270                self.w
115271            }
115272        }
115273        ///Write proxy for field `ARRMCF`
115274        pub struct ARRMCF_W<'a> {
115275            w: &'a mut W,
115276        }
115277        impl<'a> ARRMCF_W<'a> {
115278            ///Sets the field bit
115279            #[inline(always)]
115280            pub fn set_bit(self) -> &'a mut W {
115281                self.bit(true)
115282            }
115283            ///Clears the field bit
115284            #[inline(always)]
115285            pub fn clear_bit(self) -> &'a mut W {
115286                self.bit(false)
115287            }
115288            ///Writes raw bits to the field
115289            #[inline(always)]
115290            pub fn bit(self, value: bool) -> &'a mut W {
115291                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
115292                self.w
115293            }
115294        }
115295        ///Write proxy for field `CMPMCF`
115296        pub struct CMPMCF_W<'a> {
115297            w: &'a mut W,
115298        }
115299        impl<'a> CMPMCF_W<'a> {
115300            ///Sets the field bit
115301            #[inline(always)]
115302            pub fn set_bit(self) -> &'a mut W {
115303                self.bit(true)
115304            }
115305            ///Clears the field bit
115306            #[inline(always)]
115307            pub fn clear_bit(self) -> &'a mut W {
115308                self.bit(false)
115309            }
115310            ///Writes raw bits to the field
115311            #[inline(always)]
115312            pub fn bit(self, value: bool) -> &'a mut W {
115313                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
115314                self.w
115315            }
115316        }
115317        impl W {
115318            ///Bit 6 - Direction change to down Clear Flag
115319            #[inline(always)]
115320            pub fn downcf(&mut self) -> DOWNCF_W {
115321                DOWNCF_W { w: self }
115322            }
115323            ///Bit 5 - Direction change to UP Clear Flag
115324            #[inline(always)]
115325            pub fn upcf(&mut self) -> UPCF_W {
115326                UPCF_W { w: self }
115327            }
115328            ///Bit 4 - Autoreload register update OK Clear Flag
115329            #[inline(always)]
115330            pub fn arrokcf(&mut self) -> ARROKCF_W {
115331                ARROKCF_W { w: self }
115332            }
115333            ///Bit 3 - Compare register update OK Clear Flag
115334            #[inline(always)]
115335            pub fn cmpokcf(&mut self) -> CMPOKCF_W {
115336                CMPOKCF_W { w: self }
115337            }
115338            ///Bit 2 - External trigger valid edge Clear Flag
115339            #[inline(always)]
115340            pub fn exttrigcf(&mut self) -> EXTTRIGCF_W {
115341                EXTTRIGCF_W { w: self }
115342            }
115343            ///Bit 1 - Autoreload match Clear Flag
115344            #[inline(always)]
115345            pub fn arrmcf(&mut self) -> ARRMCF_W {
115346                ARRMCF_W { w: self }
115347            }
115348            ///Bit 0 - compare match Clear Flag
115349            #[inline(always)]
115350            pub fn cmpmcf(&mut self) -> CMPMCF_W {
115351                CMPMCF_W { w: self }
115352            }
115353        }
115354    }
115355    ///Interrupt Enable Register
115356    ///
115357    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
115358    ///
115359    ///For information about available fields see [ier](ier) module
115360    pub type IER = crate::Reg<u32, _IER>;
115361    #[allow(missing_docs)]
115362    #[doc(hidden)]
115363    pub struct _IER;
115364    ///`read()` method returns [ier::R](ier::R) reader structure
115365    impl crate::Readable for IER {}
115366    ///`write(|w| ..)` method takes [ier::W](ier::W) writer structure
115367    impl crate::Writable for IER {}
115368    ///Interrupt Enable Register
115369    pub mod ier {
115370        ///Reader of register IER
115371        pub type R = crate::R<u32, super::IER>;
115372        ///Writer for register IER
115373        pub type W = crate::W<u32, super::IER>;
115374        ///Register IER `reset()`'s with value 0
115375        impl crate::ResetValue for super::IER {
115376            type Type = u32;
115377            #[inline(always)]
115378            fn reset_value() -> Self::Type {
115379                0
115380            }
115381        }
115382        ///Reader of field `DOWNIE`
115383        pub type DOWNIE_R = crate::R<bool, bool>;
115384        ///Write proxy for field `DOWNIE`
115385        pub struct DOWNIE_W<'a> {
115386            w: &'a mut W,
115387        }
115388        impl<'a> DOWNIE_W<'a> {
115389            ///Sets the field bit
115390            #[inline(always)]
115391            pub fn set_bit(self) -> &'a mut W {
115392                self.bit(true)
115393            }
115394            ///Clears the field bit
115395            #[inline(always)]
115396            pub fn clear_bit(self) -> &'a mut W {
115397                self.bit(false)
115398            }
115399            ///Writes raw bits to the field
115400            #[inline(always)]
115401            pub fn bit(self, value: bool) -> &'a mut W {
115402                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
115403                self.w
115404            }
115405        }
115406        ///Reader of field `UPIE`
115407        pub type UPIE_R = crate::R<bool, bool>;
115408        ///Write proxy for field `UPIE`
115409        pub struct UPIE_W<'a> {
115410            w: &'a mut W,
115411        }
115412        impl<'a> UPIE_W<'a> {
115413            ///Sets the field bit
115414            #[inline(always)]
115415            pub fn set_bit(self) -> &'a mut W {
115416                self.bit(true)
115417            }
115418            ///Clears the field bit
115419            #[inline(always)]
115420            pub fn clear_bit(self) -> &'a mut W {
115421                self.bit(false)
115422            }
115423            ///Writes raw bits to the field
115424            #[inline(always)]
115425            pub fn bit(self, value: bool) -> &'a mut W {
115426                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
115427                self.w
115428            }
115429        }
115430        ///Reader of field `ARROKIE`
115431        pub type ARROKIE_R = crate::R<bool, bool>;
115432        ///Write proxy for field `ARROKIE`
115433        pub struct ARROKIE_W<'a> {
115434            w: &'a mut W,
115435        }
115436        impl<'a> ARROKIE_W<'a> {
115437            ///Sets the field bit
115438            #[inline(always)]
115439            pub fn set_bit(self) -> &'a mut W {
115440                self.bit(true)
115441            }
115442            ///Clears the field bit
115443            #[inline(always)]
115444            pub fn clear_bit(self) -> &'a mut W {
115445                self.bit(false)
115446            }
115447            ///Writes raw bits to the field
115448            #[inline(always)]
115449            pub fn bit(self, value: bool) -> &'a mut W {
115450                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
115451                self.w
115452            }
115453        }
115454        ///Reader of field `CMPOKIE`
115455        pub type CMPOKIE_R = crate::R<bool, bool>;
115456        ///Write proxy for field `CMPOKIE`
115457        pub struct CMPOKIE_W<'a> {
115458            w: &'a mut W,
115459        }
115460        impl<'a> CMPOKIE_W<'a> {
115461            ///Sets the field bit
115462            #[inline(always)]
115463            pub fn set_bit(self) -> &'a mut W {
115464                self.bit(true)
115465            }
115466            ///Clears the field bit
115467            #[inline(always)]
115468            pub fn clear_bit(self) -> &'a mut W {
115469                self.bit(false)
115470            }
115471            ///Writes raw bits to the field
115472            #[inline(always)]
115473            pub fn bit(self, value: bool) -> &'a mut W {
115474                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
115475                self.w
115476            }
115477        }
115478        ///Reader of field `EXTTRIGIE`
115479        pub type EXTTRIGIE_R = crate::R<bool, bool>;
115480        ///Write proxy for field `EXTTRIGIE`
115481        pub struct EXTTRIGIE_W<'a> {
115482            w: &'a mut W,
115483        }
115484        impl<'a> EXTTRIGIE_W<'a> {
115485            ///Sets the field bit
115486            #[inline(always)]
115487            pub fn set_bit(self) -> &'a mut W {
115488                self.bit(true)
115489            }
115490            ///Clears the field bit
115491            #[inline(always)]
115492            pub fn clear_bit(self) -> &'a mut W {
115493                self.bit(false)
115494            }
115495            ///Writes raw bits to the field
115496            #[inline(always)]
115497            pub fn bit(self, value: bool) -> &'a mut W {
115498                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
115499                self.w
115500            }
115501        }
115502        ///Reader of field `ARRMIE`
115503        pub type ARRMIE_R = crate::R<bool, bool>;
115504        ///Write proxy for field `ARRMIE`
115505        pub struct ARRMIE_W<'a> {
115506            w: &'a mut W,
115507        }
115508        impl<'a> ARRMIE_W<'a> {
115509            ///Sets the field bit
115510            #[inline(always)]
115511            pub fn set_bit(self) -> &'a mut W {
115512                self.bit(true)
115513            }
115514            ///Clears the field bit
115515            #[inline(always)]
115516            pub fn clear_bit(self) -> &'a mut W {
115517                self.bit(false)
115518            }
115519            ///Writes raw bits to the field
115520            #[inline(always)]
115521            pub fn bit(self, value: bool) -> &'a mut W {
115522                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
115523                self.w
115524            }
115525        }
115526        ///Reader of field `CMPMIE`
115527        pub type CMPMIE_R = crate::R<bool, bool>;
115528        ///Write proxy for field `CMPMIE`
115529        pub struct CMPMIE_W<'a> {
115530            w: &'a mut W,
115531        }
115532        impl<'a> CMPMIE_W<'a> {
115533            ///Sets the field bit
115534            #[inline(always)]
115535            pub fn set_bit(self) -> &'a mut W {
115536                self.bit(true)
115537            }
115538            ///Clears the field bit
115539            #[inline(always)]
115540            pub fn clear_bit(self) -> &'a mut W {
115541                self.bit(false)
115542            }
115543            ///Writes raw bits to the field
115544            #[inline(always)]
115545            pub fn bit(self, value: bool) -> &'a mut W {
115546                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
115547                self.w
115548            }
115549        }
115550        impl R {
115551            ///Bit 6 - Direction change to down Interrupt Enable
115552            #[inline(always)]
115553            pub fn downie(&self) -> DOWNIE_R {
115554                DOWNIE_R::new(((self.bits >> 6) & 0x01) != 0)
115555            }
115556            ///Bit 5 - Direction change to UP Interrupt Enable
115557            #[inline(always)]
115558            pub fn upie(&self) -> UPIE_R {
115559                UPIE_R::new(((self.bits >> 5) & 0x01) != 0)
115560            }
115561            ///Bit 4 - Autoreload register update OK Interrupt Enable
115562            #[inline(always)]
115563            pub fn arrokie(&self) -> ARROKIE_R {
115564                ARROKIE_R::new(((self.bits >> 4) & 0x01) != 0)
115565            }
115566            ///Bit 3 - Compare register update OK Interrupt Enable
115567            #[inline(always)]
115568            pub fn cmpokie(&self) -> CMPOKIE_R {
115569                CMPOKIE_R::new(((self.bits >> 3) & 0x01) != 0)
115570            }
115571            ///Bit 2 - External trigger valid edge Interrupt Enable
115572            #[inline(always)]
115573            pub fn exttrigie(&self) -> EXTTRIGIE_R {
115574                EXTTRIGIE_R::new(((self.bits >> 2) & 0x01) != 0)
115575            }
115576            ///Bit 1 - Autoreload match Interrupt Enable
115577            #[inline(always)]
115578            pub fn arrmie(&self) -> ARRMIE_R {
115579                ARRMIE_R::new(((self.bits >> 1) & 0x01) != 0)
115580            }
115581            ///Bit 0 - Compare match Interrupt Enable
115582            #[inline(always)]
115583            pub fn cmpmie(&self) -> CMPMIE_R {
115584                CMPMIE_R::new((self.bits & 0x01) != 0)
115585            }
115586        }
115587        impl W {
115588            ///Bit 6 - Direction change to down Interrupt Enable
115589            #[inline(always)]
115590            pub fn downie(&mut self) -> DOWNIE_W {
115591                DOWNIE_W { w: self }
115592            }
115593            ///Bit 5 - Direction change to UP Interrupt Enable
115594            #[inline(always)]
115595            pub fn upie(&mut self) -> UPIE_W {
115596                UPIE_W { w: self }
115597            }
115598            ///Bit 4 - Autoreload register update OK Interrupt Enable
115599            #[inline(always)]
115600            pub fn arrokie(&mut self) -> ARROKIE_W {
115601                ARROKIE_W { w: self }
115602            }
115603            ///Bit 3 - Compare register update OK Interrupt Enable
115604            #[inline(always)]
115605            pub fn cmpokie(&mut self) -> CMPOKIE_W {
115606                CMPOKIE_W { w: self }
115607            }
115608            ///Bit 2 - External trigger valid edge Interrupt Enable
115609            #[inline(always)]
115610            pub fn exttrigie(&mut self) -> EXTTRIGIE_W {
115611                EXTTRIGIE_W { w: self }
115612            }
115613            ///Bit 1 - Autoreload match Interrupt Enable
115614            #[inline(always)]
115615            pub fn arrmie(&mut self) -> ARRMIE_W {
115616                ARRMIE_W { w: self }
115617            }
115618            ///Bit 0 - Compare match Interrupt Enable
115619            #[inline(always)]
115620            pub fn cmpmie(&mut self) -> CMPMIE_W {
115621                CMPMIE_W { w: self }
115622            }
115623        }
115624    }
115625    ///Configuration Register
115626    ///
115627    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
115628    ///
115629    ///For information about available fields see [cfgr](cfgr) module
115630    pub type CFGR = crate::Reg<u32, _CFGR>;
115631    #[allow(missing_docs)]
115632    #[doc(hidden)]
115633    pub struct _CFGR;
115634    ///`read()` method returns [cfgr::R](cfgr::R) reader structure
115635    impl crate::Readable for CFGR {}
115636    ///`write(|w| ..)` method takes [cfgr::W](cfgr::W) writer structure
115637    impl crate::Writable for CFGR {}
115638    ///Configuration Register
115639    pub mod cfgr {
115640        ///Reader of register CFGR
115641        pub type R = crate::R<u32, super::CFGR>;
115642        ///Writer for register CFGR
115643        pub type W = crate::W<u32, super::CFGR>;
115644        ///Register CFGR `reset()`'s with value 0
115645        impl crate::ResetValue for super::CFGR {
115646            type Type = u32;
115647            #[inline(always)]
115648            fn reset_value() -> Self::Type {
115649                0
115650            }
115651        }
115652        ///Reader of field `ENC`
115653        pub type ENC_R = crate::R<bool, bool>;
115654        ///Write proxy for field `ENC`
115655        pub struct ENC_W<'a> {
115656            w: &'a mut W,
115657        }
115658        impl<'a> ENC_W<'a> {
115659            ///Sets the field bit
115660            #[inline(always)]
115661            pub fn set_bit(self) -> &'a mut W {
115662                self.bit(true)
115663            }
115664            ///Clears the field bit
115665            #[inline(always)]
115666            pub fn clear_bit(self) -> &'a mut W {
115667                self.bit(false)
115668            }
115669            ///Writes raw bits to the field
115670            #[inline(always)]
115671            pub fn bit(self, value: bool) -> &'a mut W {
115672                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
115673                self.w
115674            }
115675        }
115676        ///Reader of field `COUNTMODE`
115677        pub type COUNTMODE_R = crate::R<bool, bool>;
115678        ///Write proxy for field `COUNTMODE`
115679        pub struct COUNTMODE_W<'a> {
115680            w: &'a mut W,
115681        }
115682        impl<'a> COUNTMODE_W<'a> {
115683            ///Sets the field bit
115684            #[inline(always)]
115685            pub fn set_bit(self) -> &'a mut W {
115686                self.bit(true)
115687            }
115688            ///Clears the field bit
115689            #[inline(always)]
115690            pub fn clear_bit(self) -> &'a mut W {
115691                self.bit(false)
115692            }
115693            ///Writes raw bits to the field
115694            #[inline(always)]
115695            pub fn bit(self, value: bool) -> &'a mut W {
115696                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
115697                self.w
115698            }
115699        }
115700        ///Reader of field `PRELOAD`
115701        pub type PRELOAD_R = crate::R<bool, bool>;
115702        ///Write proxy for field `PRELOAD`
115703        pub struct PRELOAD_W<'a> {
115704            w: &'a mut W,
115705        }
115706        impl<'a> PRELOAD_W<'a> {
115707            ///Sets the field bit
115708            #[inline(always)]
115709            pub fn set_bit(self) -> &'a mut W {
115710                self.bit(true)
115711            }
115712            ///Clears the field bit
115713            #[inline(always)]
115714            pub fn clear_bit(self) -> &'a mut W {
115715                self.bit(false)
115716            }
115717            ///Writes raw bits to the field
115718            #[inline(always)]
115719            pub fn bit(self, value: bool) -> &'a mut W {
115720                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
115721                self.w
115722            }
115723        }
115724        ///Reader of field `WAVPOL`
115725        pub type WAVPOL_R = crate::R<bool, bool>;
115726        ///Write proxy for field `WAVPOL`
115727        pub struct WAVPOL_W<'a> {
115728            w: &'a mut W,
115729        }
115730        impl<'a> WAVPOL_W<'a> {
115731            ///Sets the field bit
115732            #[inline(always)]
115733            pub fn set_bit(self) -> &'a mut W {
115734                self.bit(true)
115735            }
115736            ///Clears the field bit
115737            #[inline(always)]
115738            pub fn clear_bit(self) -> &'a mut W {
115739                self.bit(false)
115740            }
115741            ///Writes raw bits to the field
115742            #[inline(always)]
115743            pub fn bit(self, value: bool) -> &'a mut W {
115744                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
115745                self.w
115746            }
115747        }
115748        ///Reader of field `WAVE`
115749        pub type WAVE_R = crate::R<bool, bool>;
115750        ///Write proxy for field `WAVE`
115751        pub struct WAVE_W<'a> {
115752            w: &'a mut W,
115753        }
115754        impl<'a> WAVE_W<'a> {
115755            ///Sets the field bit
115756            #[inline(always)]
115757            pub fn set_bit(self) -> &'a mut W {
115758                self.bit(true)
115759            }
115760            ///Clears the field bit
115761            #[inline(always)]
115762            pub fn clear_bit(self) -> &'a mut W {
115763                self.bit(false)
115764            }
115765            ///Writes raw bits to the field
115766            #[inline(always)]
115767            pub fn bit(self, value: bool) -> &'a mut W {
115768                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
115769                self.w
115770            }
115771        }
115772        ///Reader of field `TIMOUT`
115773        pub type TIMOUT_R = crate::R<bool, bool>;
115774        ///Write proxy for field `TIMOUT`
115775        pub struct TIMOUT_W<'a> {
115776            w: &'a mut W,
115777        }
115778        impl<'a> TIMOUT_W<'a> {
115779            ///Sets the field bit
115780            #[inline(always)]
115781            pub fn set_bit(self) -> &'a mut W {
115782                self.bit(true)
115783            }
115784            ///Clears the field bit
115785            #[inline(always)]
115786            pub fn clear_bit(self) -> &'a mut W {
115787                self.bit(false)
115788            }
115789            ///Writes raw bits to the field
115790            #[inline(always)]
115791            pub fn bit(self, value: bool) -> &'a mut W {
115792                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
115793                self.w
115794            }
115795        }
115796        ///Reader of field `TRIGEN`
115797        pub type TRIGEN_R = crate::R<u8, u8>;
115798        ///Write proxy for field `TRIGEN`
115799        pub struct TRIGEN_W<'a> {
115800            w: &'a mut W,
115801        }
115802        impl<'a> TRIGEN_W<'a> {
115803            ///Writes raw bits to the field
115804            #[inline(always)]
115805            pub unsafe fn bits(self, value: u8) -> &'a mut W {
115806                self.w.bits = (self.w.bits & !(0x03 << 17)) | (((value as u32) & 0x03) << 17);
115807                self.w
115808            }
115809        }
115810        ///Reader of field `TRIGSEL`
115811        pub type TRIGSEL_R = crate::R<u8, u8>;
115812        ///Write proxy for field `TRIGSEL`
115813        pub struct TRIGSEL_W<'a> {
115814            w: &'a mut W,
115815        }
115816        impl<'a> TRIGSEL_W<'a> {
115817            ///Writes raw bits to the field
115818            #[inline(always)]
115819            pub unsafe fn bits(self, value: u8) -> &'a mut W {
115820                self.w.bits = (self.w.bits & !(0x07 << 13)) | (((value as u32) & 0x07) << 13);
115821                self.w
115822            }
115823        }
115824        ///Reader of field `PRESC`
115825        pub type PRESC_R = crate::R<u8, u8>;
115826        ///Write proxy for field `PRESC`
115827        pub struct PRESC_W<'a> {
115828            w: &'a mut W,
115829        }
115830        impl<'a> PRESC_W<'a> {
115831            ///Writes raw bits to the field
115832            #[inline(always)]
115833            pub unsafe fn bits(self, value: u8) -> &'a mut W {
115834                self.w.bits = (self.w.bits & !(0x07 << 9)) | (((value as u32) & 0x07) << 9);
115835                self.w
115836            }
115837        }
115838        ///Reader of field `TRGFLT`
115839        pub type TRGFLT_R = crate::R<u8, u8>;
115840        ///Write proxy for field `TRGFLT`
115841        pub struct TRGFLT_W<'a> {
115842            w: &'a mut W,
115843        }
115844        impl<'a> TRGFLT_W<'a> {
115845            ///Writes raw bits to the field
115846            #[inline(always)]
115847            pub unsafe fn bits(self, value: u8) -> &'a mut W {
115848                self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u32) & 0x03) << 6);
115849                self.w
115850            }
115851        }
115852        ///Reader of field `CKFLT`
115853        pub type CKFLT_R = crate::R<u8, u8>;
115854        ///Write proxy for field `CKFLT`
115855        pub struct CKFLT_W<'a> {
115856            w: &'a mut W,
115857        }
115858        impl<'a> CKFLT_W<'a> {
115859            ///Writes raw bits to the field
115860            #[inline(always)]
115861            pub unsafe fn bits(self, value: u8) -> &'a mut W {
115862                self.w.bits = (self.w.bits & !(0x03 << 3)) | (((value as u32) & 0x03) << 3);
115863                self.w
115864            }
115865        }
115866        ///Reader of field `CKPOL`
115867        pub type CKPOL_R = crate::R<u8, u8>;
115868        ///Write proxy for field `CKPOL`
115869        pub struct CKPOL_W<'a> {
115870            w: &'a mut W,
115871        }
115872        impl<'a> CKPOL_W<'a> {
115873            ///Writes raw bits to the field
115874            #[inline(always)]
115875            pub unsafe fn bits(self, value: u8) -> &'a mut W {
115876                self.w.bits = (self.w.bits & !(0x03 << 1)) | (((value as u32) & 0x03) << 1);
115877                self.w
115878            }
115879        }
115880        ///Reader of field `CKSEL`
115881        pub type CKSEL_R = crate::R<bool, bool>;
115882        ///Write proxy for field `CKSEL`
115883        pub struct CKSEL_W<'a> {
115884            w: &'a mut W,
115885        }
115886        impl<'a> CKSEL_W<'a> {
115887            ///Sets the field bit
115888            #[inline(always)]
115889            pub fn set_bit(self) -> &'a mut W {
115890                self.bit(true)
115891            }
115892            ///Clears the field bit
115893            #[inline(always)]
115894            pub fn clear_bit(self) -> &'a mut W {
115895                self.bit(false)
115896            }
115897            ///Writes raw bits to the field
115898            #[inline(always)]
115899            pub fn bit(self, value: bool) -> &'a mut W {
115900                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
115901                self.w
115902            }
115903        }
115904        impl R {
115905            ///Bit 24 - Encoder mode enable
115906            #[inline(always)]
115907            pub fn enc(&self) -> ENC_R {
115908                ENC_R::new(((self.bits >> 24) & 0x01) != 0)
115909            }
115910            ///Bit 23 - counter mode enabled
115911            #[inline(always)]
115912            pub fn countmode(&self) -> COUNTMODE_R {
115913                COUNTMODE_R::new(((self.bits >> 23) & 0x01) != 0)
115914            }
115915            ///Bit 22 - Registers update mode
115916            #[inline(always)]
115917            pub fn preload(&self) -> PRELOAD_R {
115918                PRELOAD_R::new(((self.bits >> 22) & 0x01) != 0)
115919            }
115920            ///Bit 21 - Waveform shape polarity
115921            #[inline(always)]
115922            pub fn wavpol(&self) -> WAVPOL_R {
115923                WAVPOL_R::new(((self.bits >> 21) & 0x01) != 0)
115924            }
115925            ///Bit 20 - Waveform shape
115926            #[inline(always)]
115927            pub fn wave(&self) -> WAVE_R {
115928                WAVE_R::new(((self.bits >> 20) & 0x01) != 0)
115929            }
115930            ///Bit 19 - Timeout enable
115931            #[inline(always)]
115932            pub fn timout(&self) -> TIMOUT_R {
115933                TIMOUT_R::new(((self.bits >> 19) & 0x01) != 0)
115934            }
115935            ///Bits 17:18 - Trigger enable and polarity
115936            #[inline(always)]
115937            pub fn trigen(&self) -> TRIGEN_R {
115938                TRIGEN_R::new(((self.bits >> 17) & 0x03) as u8)
115939            }
115940            ///Bits 13:15 - Trigger selector
115941            #[inline(always)]
115942            pub fn trigsel(&self) -> TRIGSEL_R {
115943                TRIGSEL_R::new(((self.bits >> 13) & 0x07) as u8)
115944            }
115945            ///Bits 9:11 - Clock prescaler
115946            #[inline(always)]
115947            pub fn presc(&self) -> PRESC_R {
115948                PRESC_R::new(((self.bits >> 9) & 0x07) as u8)
115949            }
115950            ///Bits 6:7 - Configurable digital filter for trigger
115951            #[inline(always)]
115952            pub fn trgflt(&self) -> TRGFLT_R {
115953                TRGFLT_R::new(((self.bits >> 6) & 0x03) as u8)
115954            }
115955            ///Bits 3:4 - Configurable digital filter for external clock
115956            #[inline(always)]
115957            pub fn ckflt(&self) -> CKFLT_R {
115958                CKFLT_R::new(((self.bits >> 3) & 0x03) as u8)
115959            }
115960            ///Bits 1:2 - Clock Polarity
115961            #[inline(always)]
115962            pub fn ckpol(&self) -> CKPOL_R {
115963                CKPOL_R::new(((self.bits >> 1) & 0x03) as u8)
115964            }
115965            ///Bit 0 - Clock selector
115966            #[inline(always)]
115967            pub fn cksel(&self) -> CKSEL_R {
115968                CKSEL_R::new((self.bits & 0x01) != 0)
115969            }
115970        }
115971        impl W {
115972            ///Bit 24 - Encoder mode enable
115973            #[inline(always)]
115974            pub fn enc(&mut self) -> ENC_W {
115975                ENC_W { w: self }
115976            }
115977            ///Bit 23 - counter mode enabled
115978            #[inline(always)]
115979            pub fn countmode(&mut self) -> COUNTMODE_W {
115980                COUNTMODE_W { w: self }
115981            }
115982            ///Bit 22 - Registers update mode
115983            #[inline(always)]
115984            pub fn preload(&mut self) -> PRELOAD_W {
115985                PRELOAD_W { w: self }
115986            }
115987            ///Bit 21 - Waveform shape polarity
115988            #[inline(always)]
115989            pub fn wavpol(&mut self) -> WAVPOL_W {
115990                WAVPOL_W { w: self }
115991            }
115992            ///Bit 20 - Waveform shape
115993            #[inline(always)]
115994            pub fn wave(&mut self) -> WAVE_W {
115995                WAVE_W { w: self }
115996            }
115997            ///Bit 19 - Timeout enable
115998            #[inline(always)]
115999            pub fn timout(&mut self) -> TIMOUT_W {
116000                TIMOUT_W { w: self }
116001            }
116002            ///Bits 17:18 - Trigger enable and polarity
116003            #[inline(always)]
116004            pub fn trigen(&mut self) -> TRIGEN_W {
116005                TRIGEN_W { w: self }
116006            }
116007            ///Bits 13:15 - Trigger selector
116008            #[inline(always)]
116009            pub fn trigsel(&mut self) -> TRIGSEL_W {
116010                TRIGSEL_W { w: self }
116011            }
116012            ///Bits 9:11 - Clock prescaler
116013            #[inline(always)]
116014            pub fn presc(&mut self) -> PRESC_W {
116015                PRESC_W { w: self }
116016            }
116017            ///Bits 6:7 - Configurable digital filter for trigger
116018            #[inline(always)]
116019            pub fn trgflt(&mut self) -> TRGFLT_W {
116020                TRGFLT_W { w: self }
116021            }
116022            ///Bits 3:4 - Configurable digital filter for external clock
116023            #[inline(always)]
116024            pub fn ckflt(&mut self) -> CKFLT_W {
116025                CKFLT_W { w: self }
116026            }
116027            ///Bits 1:2 - Clock Polarity
116028            #[inline(always)]
116029            pub fn ckpol(&mut self) -> CKPOL_W {
116030                CKPOL_W { w: self }
116031            }
116032            ///Bit 0 - Clock selector
116033            #[inline(always)]
116034            pub fn cksel(&mut self) -> CKSEL_W {
116035                CKSEL_W { w: self }
116036            }
116037        }
116038    }
116039    ///Control Register
116040    ///
116041    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
116042    ///
116043    ///For information about available fields see [cr](cr) module
116044    pub type CR = crate::Reg<u32, _CR>;
116045    #[allow(missing_docs)]
116046    #[doc(hidden)]
116047    pub struct _CR;
116048    ///`read()` method returns [cr::R](cr::R) reader structure
116049    impl crate::Readable for CR {}
116050    ///`write(|w| ..)` method takes [cr::W](cr::W) writer structure
116051    impl crate::Writable for CR {}
116052    ///Control Register
116053    pub mod cr {
116054        ///Reader of register CR
116055        pub type R = crate::R<u32, super::CR>;
116056        ///Writer for register CR
116057        pub type W = crate::W<u32, super::CR>;
116058        ///Register CR `reset()`'s with value 0
116059        impl crate::ResetValue for super::CR {
116060            type Type = u32;
116061            #[inline(always)]
116062            fn reset_value() -> Self::Type {
116063                0
116064            }
116065        }
116066        ///Reader of field `RSTARE`
116067        pub type RSTARE_R = crate::R<bool, bool>;
116068        ///Write proxy for field `RSTARE`
116069        pub struct RSTARE_W<'a> {
116070            w: &'a mut W,
116071        }
116072        impl<'a> RSTARE_W<'a> {
116073            ///Sets the field bit
116074            #[inline(always)]
116075            pub fn set_bit(self) -> &'a mut W {
116076                self.bit(true)
116077            }
116078            ///Clears the field bit
116079            #[inline(always)]
116080            pub fn clear_bit(self) -> &'a mut W {
116081                self.bit(false)
116082            }
116083            ///Writes raw bits to the field
116084            #[inline(always)]
116085            pub fn bit(self, value: bool) -> &'a mut W {
116086                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
116087                self.w
116088            }
116089        }
116090        ///Reader of field `COUNTRST`
116091        pub type COUNTRST_R = crate::R<bool, bool>;
116092        ///Write proxy for field `COUNTRST`
116093        pub struct COUNTRST_W<'a> {
116094            w: &'a mut W,
116095        }
116096        impl<'a> COUNTRST_W<'a> {
116097            ///Sets the field bit
116098            #[inline(always)]
116099            pub fn set_bit(self) -> &'a mut W {
116100                self.bit(true)
116101            }
116102            ///Clears the field bit
116103            #[inline(always)]
116104            pub fn clear_bit(self) -> &'a mut W {
116105                self.bit(false)
116106            }
116107            ///Writes raw bits to the field
116108            #[inline(always)]
116109            pub fn bit(self, value: bool) -> &'a mut W {
116110                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
116111                self.w
116112            }
116113        }
116114        ///Reader of field `CNTSTRT`
116115        pub type CNTSTRT_R = crate::R<bool, bool>;
116116        ///Write proxy for field `CNTSTRT`
116117        pub struct CNTSTRT_W<'a> {
116118            w: &'a mut W,
116119        }
116120        impl<'a> CNTSTRT_W<'a> {
116121            ///Sets the field bit
116122            #[inline(always)]
116123            pub fn set_bit(self) -> &'a mut W {
116124                self.bit(true)
116125            }
116126            ///Clears the field bit
116127            #[inline(always)]
116128            pub fn clear_bit(self) -> &'a mut W {
116129                self.bit(false)
116130            }
116131            ///Writes raw bits to the field
116132            #[inline(always)]
116133            pub fn bit(self, value: bool) -> &'a mut W {
116134                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
116135                self.w
116136            }
116137        }
116138        ///Reader of field `SNGSTRT`
116139        pub type SNGSTRT_R = crate::R<bool, bool>;
116140        ///Write proxy for field `SNGSTRT`
116141        pub struct SNGSTRT_W<'a> {
116142            w: &'a mut W,
116143        }
116144        impl<'a> SNGSTRT_W<'a> {
116145            ///Sets the field bit
116146            #[inline(always)]
116147            pub fn set_bit(self) -> &'a mut W {
116148                self.bit(true)
116149            }
116150            ///Clears the field bit
116151            #[inline(always)]
116152            pub fn clear_bit(self) -> &'a mut W {
116153                self.bit(false)
116154            }
116155            ///Writes raw bits to the field
116156            #[inline(always)]
116157            pub fn bit(self, value: bool) -> &'a mut W {
116158                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
116159                self.w
116160            }
116161        }
116162        ///Reader of field `ENABLE`
116163        pub type ENABLE_R = crate::R<bool, bool>;
116164        ///Write proxy for field `ENABLE`
116165        pub struct ENABLE_W<'a> {
116166            w: &'a mut W,
116167        }
116168        impl<'a> ENABLE_W<'a> {
116169            ///Sets the field bit
116170            #[inline(always)]
116171            pub fn set_bit(self) -> &'a mut W {
116172                self.bit(true)
116173            }
116174            ///Clears the field bit
116175            #[inline(always)]
116176            pub fn clear_bit(self) -> &'a mut W {
116177                self.bit(false)
116178            }
116179            ///Writes raw bits to the field
116180            #[inline(always)]
116181            pub fn bit(self, value: bool) -> &'a mut W {
116182                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
116183                self.w
116184            }
116185        }
116186        impl R {
116187            ///Bit 4 - Reset after read enable
116188            #[inline(always)]
116189            pub fn rstare(&self) -> RSTARE_R {
116190                RSTARE_R::new(((self.bits >> 4) & 0x01) != 0)
116191            }
116192            ///Bit 3 - Counter reset
116193            #[inline(always)]
116194            pub fn countrst(&self) -> COUNTRST_R {
116195                COUNTRST_R::new(((self.bits >> 3) & 0x01) != 0)
116196            }
116197            ///Bit 2 - Timer start in continuous mode
116198            #[inline(always)]
116199            pub fn cntstrt(&self) -> CNTSTRT_R {
116200                CNTSTRT_R::new(((self.bits >> 2) & 0x01) != 0)
116201            }
116202            ///Bit 1 - LPTIM start in single mode
116203            #[inline(always)]
116204            pub fn sngstrt(&self) -> SNGSTRT_R {
116205                SNGSTRT_R::new(((self.bits >> 1) & 0x01) != 0)
116206            }
116207            ///Bit 0 - LPTIM Enable
116208            #[inline(always)]
116209            pub fn enable(&self) -> ENABLE_R {
116210                ENABLE_R::new((self.bits & 0x01) != 0)
116211            }
116212        }
116213        impl W {
116214            ///Bit 4 - Reset after read enable
116215            #[inline(always)]
116216            pub fn rstare(&mut self) -> RSTARE_W {
116217                RSTARE_W { w: self }
116218            }
116219            ///Bit 3 - Counter reset
116220            #[inline(always)]
116221            pub fn countrst(&mut self) -> COUNTRST_W {
116222                COUNTRST_W { w: self }
116223            }
116224            ///Bit 2 - Timer start in continuous mode
116225            #[inline(always)]
116226            pub fn cntstrt(&mut self) -> CNTSTRT_W {
116227                CNTSTRT_W { w: self }
116228            }
116229            ///Bit 1 - LPTIM start in single mode
116230            #[inline(always)]
116231            pub fn sngstrt(&mut self) -> SNGSTRT_W {
116232                SNGSTRT_W { w: self }
116233            }
116234            ///Bit 0 - LPTIM Enable
116235            #[inline(always)]
116236            pub fn enable(&mut self) -> ENABLE_W {
116237                ENABLE_W { w: self }
116238            }
116239        }
116240    }
116241    ///Compare Register
116242    ///
116243    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
116244    ///
116245    ///For information about available fields see [cmp](cmp) module
116246    pub type CMP = crate::Reg<u32, _CMP>;
116247    #[allow(missing_docs)]
116248    #[doc(hidden)]
116249    pub struct _CMP;
116250    ///`read()` method returns [cmp::R](cmp::R) reader structure
116251    impl crate::Readable for CMP {}
116252    ///`write(|w| ..)` method takes [cmp::W](cmp::W) writer structure
116253    impl crate::Writable for CMP {}
116254    ///Compare Register
116255    pub mod cmp {
116256        ///Reader of register CMP
116257        pub type R = crate::R<u32, super::CMP>;
116258        ///Writer for register CMP
116259        pub type W = crate::W<u32, super::CMP>;
116260        ///Register CMP `reset()`'s with value 0
116261        impl crate::ResetValue for super::CMP {
116262            type Type = u32;
116263            #[inline(always)]
116264            fn reset_value() -> Self::Type {
116265                0
116266            }
116267        }
116268        ///Reader of field `CMP`
116269        pub type CMP_R = crate::R<u16, u16>;
116270        ///Write proxy for field `CMP`
116271        pub struct CMP_W<'a> {
116272            w: &'a mut W,
116273        }
116274        impl<'a> CMP_W<'a> {
116275            ///Writes raw bits to the field
116276            #[inline(always)]
116277            pub unsafe fn bits(self, value: u16) -> &'a mut W {
116278                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
116279                self.w
116280            }
116281        }
116282        impl R {
116283            ///Bits 0:15 - Compare value
116284            #[inline(always)]
116285            pub fn cmp(&self) -> CMP_R {
116286                CMP_R::new((self.bits & 0xffff) as u16)
116287            }
116288        }
116289        impl W {
116290            ///Bits 0:15 - Compare value
116291            #[inline(always)]
116292            pub fn cmp(&mut self) -> CMP_W {
116293                CMP_W { w: self }
116294            }
116295        }
116296    }
116297    ///Autoreload Register
116298    ///
116299    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
116300    ///
116301    ///For information about available fields see [arr](arr) module
116302    pub type ARR = crate::Reg<u32, _ARR>;
116303    #[allow(missing_docs)]
116304    #[doc(hidden)]
116305    pub struct _ARR;
116306    ///`read()` method returns [arr::R](arr::R) reader structure
116307    impl crate::Readable for ARR {}
116308    ///`write(|w| ..)` method takes [arr::W](arr::W) writer structure
116309    impl crate::Writable for ARR {}
116310    ///Autoreload Register
116311    pub mod arr {
116312        ///Reader of register ARR
116313        pub type R = crate::R<u32, super::ARR>;
116314        ///Writer for register ARR
116315        pub type W = crate::W<u32, super::ARR>;
116316        ///Register ARR `reset()`'s with value 0x01
116317        impl crate::ResetValue for super::ARR {
116318            type Type = u32;
116319            #[inline(always)]
116320            fn reset_value() -> Self::Type {
116321                0x01
116322            }
116323        }
116324        ///Reader of field `ARR`
116325        pub type ARR_R = crate::R<u16, u16>;
116326        ///Write proxy for field `ARR`
116327        pub struct ARR_W<'a> {
116328            w: &'a mut W,
116329        }
116330        impl<'a> ARR_W<'a> {
116331            ///Writes raw bits to the field
116332            #[inline(always)]
116333            pub unsafe fn bits(self, value: u16) -> &'a mut W {
116334                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
116335                self.w
116336            }
116337        }
116338        impl R {
116339            ///Bits 0:15 - Auto reload value
116340            #[inline(always)]
116341            pub fn arr(&self) -> ARR_R {
116342                ARR_R::new((self.bits & 0xffff) as u16)
116343            }
116344        }
116345        impl W {
116346            ///Bits 0:15 - Auto reload value
116347            #[inline(always)]
116348            pub fn arr(&mut self) -> ARR_W {
116349                ARR_W { w: self }
116350            }
116351        }
116352    }
116353    ///Counter Register
116354    ///
116355    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
116356    ///
116357    ///For information about available fields see [cnt](cnt) module
116358    pub type CNT = crate::Reg<u32, _CNT>;
116359    #[allow(missing_docs)]
116360    #[doc(hidden)]
116361    pub struct _CNT;
116362    ///`read()` method returns [cnt::R](cnt::R) reader structure
116363    impl crate::Readable for CNT {}
116364    ///Counter Register
116365    pub mod cnt {
116366        ///Reader of register CNT
116367        pub type R = crate::R<u32, super::CNT>;
116368        ///Reader of field `CNT`
116369        pub type CNT_R = crate::R<u16, u16>;
116370        impl R {
116371            ///Bits 0:15 - Counter value
116372            #[inline(always)]
116373            pub fn cnt(&self) -> CNT_R {
116374                CNT_R::new((self.bits & 0xffff) as u16)
116375            }
116376        }
116377    }
116378    ///Option Register
116379    ///
116380    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
116381    ///
116382    ///For information about available fields see [or](or) module
116383    pub type OR = crate::Reg<u32, _OR>;
116384    #[allow(missing_docs)]
116385    #[doc(hidden)]
116386    pub struct _OR;
116387    ///`read()` method returns [or::R](or::R) reader structure
116388    impl crate::Readable for OR {}
116389    ///`write(|w| ..)` method takes [or::W](or::W) writer structure
116390    impl crate::Writable for OR {}
116391    ///Option Register
116392    pub mod or {
116393        ///Reader of register OR
116394        pub type R = crate::R<u32, super::OR>;
116395        ///Writer for register OR
116396        pub type W = crate::W<u32, super::OR>;
116397        ///Register OR `reset()`'s with value 0
116398        impl crate::ResetValue for super::OR {
116399            type Type = u32;
116400            #[inline(always)]
116401            fn reset_value() -> Self::Type {
116402                0
116403            }
116404        }
116405        ///Reader of field `OR1`
116406        pub type OR1_R = crate::R<bool, bool>;
116407        ///Write proxy for field `OR1`
116408        pub struct OR1_W<'a> {
116409            w: &'a mut W,
116410        }
116411        impl<'a> OR1_W<'a> {
116412            ///Sets the field bit
116413            #[inline(always)]
116414            pub fn set_bit(self) -> &'a mut W {
116415                self.bit(true)
116416            }
116417            ///Clears the field bit
116418            #[inline(always)]
116419            pub fn clear_bit(self) -> &'a mut W {
116420                self.bit(false)
116421            }
116422            ///Writes raw bits to the field
116423            #[inline(always)]
116424            pub fn bit(self, value: bool) -> &'a mut W {
116425                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
116426                self.w
116427            }
116428        }
116429        ///Reader of field `OR2`
116430        pub type OR2_R = crate::R<bool, bool>;
116431        ///Write proxy for field `OR2`
116432        pub struct OR2_W<'a> {
116433            w: &'a mut W,
116434        }
116435        impl<'a> OR2_W<'a> {
116436            ///Sets the field bit
116437            #[inline(always)]
116438            pub fn set_bit(self) -> &'a mut W {
116439                self.bit(true)
116440            }
116441            ///Clears the field bit
116442            #[inline(always)]
116443            pub fn clear_bit(self) -> &'a mut W {
116444                self.bit(false)
116445            }
116446            ///Writes raw bits to the field
116447            #[inline(always)]
116448            pub fn bit(self, value: bool) -> &'a mut W {
116449                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
116450                self.w
116451            }
116452        }
116453        impl R {
116454            ///Bit 0 - Option register bit 1
116455            #[inline(always)]
116456            pub fn or1(&self) -> OR1_R {
116457                OR1_R::new((self.bits & 0x01) != 0)
116458            }
116459            ///Bit 1 - Option register bit 2
116460            #[inline(always)]
116461            pub fn or2(&self) -> OR2_R {
116462                OR2_R::new(((self.bits >> 1) & 0x01) != 0)
116463            }
116464        }
116465        impl W {
116466            ///Bit 0 - Option register bit 1
116467            #[inline(always)]
116468            pub fn or1(&mut self) -> OR1_W {
116469                OR1_W { w: self }
116470            }
116471            ///Bit 1 - Option register bit 2
116472            #[inline(always)]
116473            pub fn or2(&mut self) -> OR2_W {
116474                OR2_W { w: self }
116475            }
116476        }
116477    }
116478}
116479///Low power timer
116480pub struct LPTIM2 {
116481    _marker: PhantomData<*const ()>,
116482}
116483unsafe impl Send for LPTIM2 {}
116484impl LPTIM2 {
116485    ///Returns a pointer to the register block
116486    #[inline(always)]
116487    pub const fn ptr() -> *const lptim1::RegisterBlock {
116488        0x4000_9400 as *const _
116489    }
116490}
116491impl Deref for LPTIM2 {
116492    type Target = lptim1::RegisterBlock;
116493    #[inline(always)]
116494    fn deref(&self) -> &Self::Target {
116495        unsafe { &*LPTIM2::ptr() }
116496    }
116497}
116498///Universal synchronous asynchronous receiver transmitter
116499pub struct USART1 {
116500    _marker: PhantomData<*const ()>,
116501}
116502unsafe impl Send for USART1 {}
116503impl USART1 {
116504    ///Returns a pointer to the register block
116505    #[inline(always)]
116506    pub const fn ptr() -> *const usart1::RegisterBlock {
116507        0x4001_3800 as *const _
116508    }
116509}
116510impl Deref for USART1 {
116511    type Target = usart1::RegisterBlock;
116512    #[inline(always)]
116513    fn deref(&self) -> &Self::Target {
116514        unsafe { &*USART1::ptr() }
116515    }
116516}
116517///Universal synchronous asynchronous receiver transmitter
116518pub mod usart1 {
116519    ///Register block
116520    #[repr(C)]
116521    pub struct RegisterBlock {
116522        ///0x00 - Control register 1
116523        pub cr1: CR1,
116524        ///0x04 - Control register 2
116525        pub cr2: CR2,
116526        ///0x08 - Control register 3
116527        pub cr3: CR3,
116528        ///0x0c - Baud rate register
116529        pub brr: BRR,
116530        ///0x10 - Guard time and prescaler register
116531        pub gtpr: GTPR,
116532        ///0x14 - Receiver timeout register
116533        pub rtor: RTOR,
116534        ///0x18 - Request register
116535        pub rqr: RQR,
116536        ///0x1c - Interrupt & status register
116537        pub isr: ISR,
116538        ///0x20 - Interrupt flag clear register
116539        pub icr: ICR,
116540        ///0x24 - Receive data register
116541        pub rdr: RDR,
116542        ///0x28 - Transmit data register
116543        pub tdr: TDR,
116544        ///0x2c - Prescaler register
116545        pub presc: PRESC,
116546    }
116547    ///Control register 1
116548    ///
116549    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
116550    ///
116551    ///For information about available fields see [cr1](cr1) module
116552    pub type CR1 = crate::Reg<u32, _CR1>;
116553    #[allow(missing_docs)]
116554    #[doc(hidden)]
116555    pub struct _CR1;
116556    ///`read()` method returns [cr1::R](cr1::R) reader structure
116557    impl crate::Readable for CR1 {}
116558    ///`write(|w| ..)` method takes [cr1::W](cr1::W) writer structure
116559    impl crate::Writable for CR1 {}
116560    ///Control register 1
116561    pub mod cr1 {
116562        ///Reader of register CR1
116563        pub type R = crate::R<u32, super::CR1>;
116564        ///Writer for register CR1
116565        pub type W = crate::W<u32, super::CR1>;
116566        ///Register CR1 `reset()`'s with value 0
116567        impl crate::ResetValue for super::CR1 {
116568            type Type = u32;
116569            #[inline(always)]
116570            fn reset_value() -> Self::Type {
116571                0
116572            }
116573        }
116574        ///Reader of field `RXFFIE`
116575        pub type RXFFIE_R = crate::R<bool, bool>;
116576        ///Write proxy for field `RXFFIE`
116577        pub struct RXFFIE_W<'a> {
116578            w: &'a mut W,
116579        }
116580        impl<'a> RXFFIE_W<'a> {
116581            ///Sets the field bit
116582            #[inline(always)]
116583            pub fn set_bit(self) -> &'a mut W {
116584                self.bit(true)
116585            }
116586            ///Clears the field bit
116587            #[inline(always)]
116588            pub fn clear_bit(self) -> &'a mut W {
116589                self.bit(false)
116590            }
116591            ///Writes raw bits to the field
116592            #[inline(always)]
116593            pub fn bit(self, value: bool) -> &'a mut W {
116594                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
116595                self.w
116596            }
116597        }
116598        ///Reader of field `TXFEIE`
116599        pub type TXFEIE_R = crate::R<bool, bool>;
116600        ///Write proxy for field `TXFEIE`
116601        pub struct TXFEIE_W<'a> {
116602            w: &'a mut W,
116603        }
116604        impl<'a> TXFEIE_W<'a> {
116605            ///Sets the field bit
116606            #[inline(always)]
116607            pub fn set_bit(self) -> &'a mut W {
116608                self.bit(true)
116609            }
116610            ///Clears the field bit
116611            #[inline(always)]
116612            pub fn clear_bit(self) -> &'a mut W {
116613                self.bit(false)
116614            }
116615            ///Writes raw bits to the field
116616            #[inline(always)]
116617            pub fn bit(self, value: bool) -> &'a mut W {
116618                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
116619                self.w
116620            }
116621        }
116622        ///Reader of field `FIFOEN`
116623        pub type FIFOEN_R = crate::R<bool, bool>;
116624        ///Write proxy for field `FIFOEN`
116625        pub struct FIFOEN_W<'a> {
116626            w: &'a mut W,
116627        }
116628        impl<'a> FIFOEN_W<'a> {
116629            ///Sets the field bit
116630            #[inline(always)]
116631            pub fn set_bit(self) -> &'a mut W {
116632                self.bit(true)
116633            }
116634            ///Clears the field bit
116635            #[inline(always)]
116636            pub fn clear_bit(self) -> &'a mut W {
116637                self.bit(false)
116638            }
116639            ///Writes raw bits to the field
116640            #[inline(always)]
116641            pub fn bit(self, value: bool) -> &'a mut W {
116642                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
116643                self.w
116644            }
116645        }
116646        ///Reader of field `M1`
116647        pub type M1_R = crate::R<bool, bool>;
116648        ///Write proxy for field `M1`
116649        pub struct M1_W<'a> {
116650            w: &'a mut W,
116651        }
116652        impl<'a> M1_W<'a> {
116653            ///Sets the field bit
116654            #[inline(always)]
116655            pub fn set_bit(self) -> &'a mut W {
116656                self.bit(true)
116657            }
116658            ///Clears the field bit
116659            #[inline(always)]
116660            pub fn clear_bit(self) -> &'a mut W {
116661                self.bit(false)
116662            }
116663            ///Writes raw bits to the field
116664            #[inline(always)]
116665            pub fn bit(self, value: bool) -> &'a mut W {
116666                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
116667                self.w
116668            }
116669        }
116670        ///Reader of field `EOBIE`
116671        pub type EOBIE_R = crate::R<bool, bool>;
116672        ///Write proxy for field `EOBIE`
116673        pub struct EOBIE_W<'a> {
116674            w: &'a mut W,
116675        }
116676        impl<'a> EOBIE_W<'a> {
116677            ///Sets the field bit
116678            #[inline(always)]
116679            pub fn set_bit(self) -> &'a mut W {
116680                self.bit(true)
116681            }
116682            ///Clears the field bit
116683            #[inline(always)]
116684            pub fn clear_bit(self) -> &'a mut W {
116685                self.bit(false)
116686            }
116687            ///Writes raw bits to the field
116688            #[inline(always)]
116689            pub fn bit(self, value: bool) -> &'a mut W {
116690                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
116691                self.w
116692            }
116693        }
116694        ///Reader of field `RTOIE`
116695        pub type RTOIE_R = crate::R<bool, bool>;
116696        ///Write proxy for field `RTOIE`
116697        pub struct RTOIE_W<'a> {
116698            w: &'a mut W,
116699        }
116700        impl<'a> RTOIE_W<'a> {
116701            ///Sets the field bit
116702            #[inline(always)]
116703            pub fn set_bit(self) -> &'a mut W {
116704                self.bit(true)
116705            }
116706            ///Clears the field bit
116707            #[inline(always)]
116708            pub fn clear_bit(self) -> &'a mut W {
116709                self.bit(false)
116710            }
116711            ///Writes raw bits to the field
116712            #[inline(always)]
116713            pub fn bit(self, value: bool) -> &'a mut W {
116714                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
116715                self.w
116716            }
116717        }
116718        ///Reader of field `DEAT4`
116719        pub type DEAT4_R = crate::R<bool, bool>;
116720        ///Write proxy for field `DEAT4`
116721        pub struct DEAT4_W<'a> {
116722            w: &'a mut W,
116723        }
116724        impl<'a> DEAT4_W<'a> {
116725            ///Sets the field bit
116726            #[inline(always)]
116727            pub fn set_bit(self) -> &'a mut W {
116728                self.bit(true)
116729            }
116730            ///Clears the field bit
116731            #[inline(always)]
116732            pub fn clear_bit(self) -> &'a mut W {
116733                self.bit(false)
116734            }
116735            ///Writes raw bits to the field
116736            #[inline(always)]
116737            pub fn bit(self, value: bool) -> &'a mut W {
116738                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
116739                self.w
116740            }
116741        }
116742        ///Reader of field `DEAT3`
116743        pub type DEAT3_R = crate::R<bool, bool>;
116744        ///Write proxy for field `DEAT3`
116745        pub struct DEAT3_W<'a> {
116746            w: &'a mut W,
116747        }
116748        impl<'a> DEAT3_W<'a> {
116749            ///Sets the field bit
116750            #[inline(always)]
116751            pub fn set_bit(self) -> &'a mut W {
116752                self.bit(true)
116753            }
116754            ///Clears the field bit
116755            #[inline(always)]
116756            pub fn clear_bit(self) -> &'a mut W {
116757                self.bit(false)
116758            }
116759            ///Writes raw bits to the field
116760            #[inline(always)]
116761            pub fn bit(self, value: bool) -> &'a mut W {
116762                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
116763                self.w
116764            }
116765        }
116766        ///Reader of field `DEAT2`
116767        pub type DEAT2_R = crate::R<bool, bool>;
116768        ///Write proxy for field `DEAT2`
116769        pub struct DEAT2_W<'a> {
116770            w: &'a mut W,
116771        }
116772        impl<'a> DEAT2_W<'a> {
116773            ///Sets the field bit
116774            #[inline(always)]
116775            pub fn set_bit(self) -> &'a mut W {
116776                self.bit(true)
116777            }
116778            ///Clears the field bit
116779            #[inline(always)]
116780            pub fn clear_bit(self) -> &'a mut W {
116781                self.bit(false)
116782            }
116783            ///Writes raw bits to the field
116784            #[inline(always)]
116785            pub fn bit(self, value: bool) -> &'a mut W {
116786                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
116787                self.w
116788            }
116789        }
116790        ///Reader of field `DEAT1`
116791        pub type DEAT1_R = crate::R<bool, bool>;
116792        ///Write proxy for field `DEAT1`
116793        pub struct DEAT1_W<'a> {
116794            w: &'a mut W,
116795        }
116796        impl<'a> DEAT1_W<'a> {
116797            ///Sets the field bit
116798            #[inline(always)]
116799            pub fn set_bit(self) -> &'a mut W {
116800                self.bit(true)
116801            }
116802            ///Clears the field bit
116803            #[inline(always)]
116804            pub fn clear_bit(self) -> &'a mut W {
116805                self.bit(false)
116806            }
116807            ///Writes raw bits to the field
116808            #[inline(always)]
116809            pub fn bit(self, value: bool) -> &'a mut W {
116810                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
116811                self.w
116812            }
116813        }
116814        ///Reader of field `DEAT0`
116815        pub type DEAT0_R = crate::R<bool, bool>;
116816        ///Write proxy for field `DEAT0`
116817        pub struct DEAT0_W<'a> {
116818            w: &'a mut W,
116819        }
116820        impl<'a> DEAT0_W<'a> {
116821            ///Sets the field bit
116822            #[inline(always)]
116823            pub fn set_bit(self) -> &'a mut W {
116824                self.bit(true)
116825            }
116826            ///Clears the field bit
116827            #[inline(always)]
116828            pub fn clear_bit(self) -> &'a mut W {
116829                self.bit(false)
116830            }
116831            ///Writes raw bits to the field
116832            #[inline(always)]
116833            pub fn bit(self, value: bool) -> &'a mut W {
116834                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
116835                self.w
116836            }
116837        }
116838        ///Reader of field `DEDT4`
116839        pub type DEDT4_R = crate::R<bool, bool>;
116840        ///Write proxy for field `DEDT4`
116841        pub struct DEDT4_W<'a> {
116842            w: &'a mut W,
116843        }
116844        impl<'a> DEDT4_W<'a> {
116845            ///Sets the field bit
116846            #[inline(always)]
116847            pub fn set_bit(self) -> &'a mut W {
116848                self.bit(true)
116849            }
116850            ///Clears the field bit
116851            #[inline(always)]
116852            pub fn clear_bit(self) -> &'a mut W {
116853                self.bit(false)
116854            }
116855            ///Writes raw bits to the field
116856            #[inline(always)]
116857            pub fn bit(self, value: bool) -> &'a mut W {
116858                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
116859                self.w
116860            }
116861        }
116862        ///Reader of field `DEDT3`
116863        pub type DEDT3_R = crate::R<bool, bool>;
116864        ///Write proxy for field `DEDT3`
116865        pub struct DEDT3_W<'a> {
116866            w: &'a mut W,
116867        }
116868        impl<'a> DEDT3_W<'a> {
116869            ///Sets the field bit
116870            #[inline(always)]
116871            pub fn set_bit(self) -> &'a mut W {
116872                self.bit(true)
116873            }
116874            ///Clears the field bit
116875            #[inline(always)]
116876            pub fn clear_bit(self) -> &'a mut W {
116877                self.bit(false)
116878            }
116879            ///Writes raw bits to the field
116880            #[inline(always)]
116881            pub fn bit(self, value: bool) -> &'a mut W {
116882                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
116883                self.w
116884            }
116885        }
116886        ///Reader of field `DEDT2`
116887        pub type DEDT2_R = crate::R<bool, bool>;
116888        ///Write proxy for field `DEDT2`
116889        pub struct DEDT2_W<'a> {
116890            w: &'a mut W,
116891        }
116892        impl<'a> DEDT2_W<'a> {
116893            ///Sets the field bit
116894            #[inline(always)]
116895            pub fn set_bit(self) -> &'a mut W {
116896                self.bit(true)
116897            }
116898            ///Clears the field bit
116899            #[inline(always)]
116900            pub fn clear_bit(self) -> &'a mut W {
116901                self.bit(false)
116902            }
116903            ///Writes raw bits to the field
116904            #[inline(always)]
116905            pub fn bit(self, value: bool) -> &'a mut W {
116906                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
116907                self.w
116908            }
116909        }
116910        ///Reader of field `DEDT1`
116911        pub type DEDT1_R = crate::R<bool, bool>;
116912        ///Write proxy for field `DEDT1`
116913        pub struct DEDT1_W<'a> {
116914            w: &'a mut W,
116915        }
116916        impl<'a> DEDT1_W<'a> {
116917            ///Sets the field bit
116918            #[inline(always)]
116919            pub fn set_bit(self) -> &'a mut W {
116920                self.bit(true)
116921            }
116922            ///Clears the field bit
116923            #[inline(always)]
116924            pub fn clear_bit(self) -> &'a mut W {
116925                self.bit(false)
116926            }
116927            ///Writes raw bits to the field
116928            #[inline(always)]
116929            pub fn bit(self, value: bool) -> &'a mut W {
116930                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
116931                self.w
116932            }
116933        }
116934        ///Reader of field `DEDT0`
116935        pub type DEDT0_R = crate::R<bool, bool>;
116936        ///Write proxy for field `DEDT0`
116937        pub struct DEDT0_W<'a> {
116938            w: &'a mut W,
116939        }
116940        impl<'a> DEDT0_W<'a> {
116941            ///Sets the field bit
116942            #[inline(always)]
116943            pub fn set_bit(self) -> &'a mut W {
116944                self.bit(true)
116945            }
116946            ///Clears the field bit
116947            #[inline(always)]
116948            pub fn clear_bit(self) -> &'a mut W {
116949                self.bit(false)
116950            }
116951            ///Writes raw bits to the field
116952            #[inline(always)]
116953            pub fn bit(self, value: bool) -> &'a mut W {
116954                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
116955                self.w
116956            }
116957        }
116958        ///Reader of field `OVER8`
116959        pub type OVER8_R = crate::R<bool, bool>;
116960        ///Write proxy for field `OVER8`
116961        pub struct OVER8_W<'a> {
116962            w: &'a mut W,
116963        }
116964        impl<'a> OVER8_W<'a> {
116965            ///Sets the field bit
116966            #[inline(always)]
116967            pub fn set_bit(self) -> &'a mut W {
116968                self.bit(true)
116969            }
116970            ///Clears the field bit
116971            #[inline(always)]
116972            pub fn clear_bit(self) -> &'a mut W {
116973                self.bit(false)
116974            }
116975            ///Writes raw bits to the field
116976            #[inline(always)]
116977            pub fn bit(self, value: bool) -> &'a mut W {
116978                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
116979                self.w
116980            }
116981        }
116982        ///Reader of field `CMIE`
116983        pub type CMIE_R = crate::R<bool, bool>;
116984        ///Write proxy for field `CMIE`
116985        pub struct CMIE_W<'a> {
116986            w: &'a mut W,
116987        }
116988        impl<'a> CMIE_W<'a> {
116989            ///Sets the field bit
116990            #[inline(always)]
116991            pub fn set_bit(self) -> &'a mut W {
116992                self.bit(true)
116993            }
116994            ///Clears the field bit
116995            #[inline(always)]
116996            pub fn clear_bit(self) -> &'a mut W {
116997                self.bit(false)
116998            }
116999            ///Writes raw bits to the field
117000            #[inline(always)]
117001            pub fn bit(self, value: bool) -> &'a mut W {
117002                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
117003                self.w
117004            }
117005        }
117006        ///Reader of field `MME`
117007        pub type MME_R = crate::R<bool, bool>;
117008        ///Write proxy for field `MME`
117009        pub struct MME_W<'a> {
117010            w: &'a mut W,
117011        }
117012        impl<'a> MME_W<'a> {
117013            ///Sets the field bit
117014            #[inline(always)]
117015            pub fn set_bit(self) -> &'a mut W {
117016                self.bit(true)
117017            }
117018            ///Clears the field bit
117019            #[inline(always)]
117020            pub fn clear_bit(self) -> &'a mut W {
117021                self.bit(false)
117022            }
117023            ///Writes raw bits to the field
117024            #[inline(always)]
117025            pub fn bit(self, value: bool) -> &'a mut W {
117026                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
117027                self.w
117028            }
117029        }
117030        ///Reader of field `M0`
117031        pub type M0_R = crate::R<bool, bool>;
117032        ///Write proxy for field `M0`
117033        pub struct M0_W<'a> {
117034            w: &'a mut W,
117035        }
117036        impl<'a> M0_W<'a> {
117037            ///Sets the field bit
117038            #[inline(always)]
117039            pub fn set_bit(self) -> &'a mut W {
117040                self.bit(true)
117041            }
117042            ///Clears the field bit
117043            #[inline(always)]
117044            pub fn clear_bit(self) -> &'a mut W {
117045                self.bit(false)
117046            }
117047            ///Writes raw bits to the field
117048            #[inline(always)]
117049            pub fn bit(self, value: bool) -> &'a mut W {
117050                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
117051                self.w
117052            }
117053        }
117054        ///Reader of field `WAKE`
117055        pub type WAKE_R = crate::R<bool, bool>;
117056        ///Write proxy for field `WAKE`
117057        pub struct WAKE_W<'a> {
117058            w: &'a mut W,
117059        }
117060        impl<'a> WAKE_W<'a> {
117061            ///Sets the field bit
117062            #[inline(always)]
117063            pub fn set_bit(self) -> &'a mut W {
117064                self.bit(true)
117065            }
117066            ///Clears the field bit
117067            #[inline(always)]
117068            pub fn clear_bit(self) -> &'a mut W {
117069                self.bit(false)
117070            }
117071            ///Writes raw bits to the field
117072            #[inline(always)]
117073            pub fn bit(self, value: bool) -> &'a mut W {
117074                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
117075                self.w
117076            }
117077        }
117078        ///Reader of field `PCE`
117079        pub type PCE_R = crate::R<bool, bool>;
117080        ///Write proxy for field `PCE`
117081        pub struct PCE_W<'a> {
117082            w: &'a mut W,
117083        }
117084        impl<'a> PCE_W<'a> {
117085            ///Sets the field bit
117086            #[inline(always)]
117087            pub fn set_bit(self) -> &'a mut W {
117088                self.bit(true)
117089            }
117090            ///Clears the field bit
117091            #[inline(always)]
117092            pub fn clear_bit(self) -> &'a mut W {
117093                self.bit(false)
117094            }
117095            ///Writes raw bits to the field
117096            #[inline(always)]
117097            pub fn bit(self, value: bool) -> &'a mut W {
117098                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
117099                self.w
117100            }
117101        }
117102        ///Reader of field `PS`
117103        pub type PS_R = crate::R<bool, bool>;
117104        ///Write proxy for field `PS`
117105        pub struct PS_W<'a> {
117106            w: &'a mut W,
117107        }
117108        impl<'a> PS_W<'a> {
117109            ///Sets the field bit
117110            #[inline(always)]
117111            pub fn set_bit(self) -> &'a mut W {
117112                self.bit(true)
117113            }
117114            ///Clears the field bit
117115            #[inline(always)]
117116            pub fn clear_bit(self) -> &'a mut W {
117117                self.bit(false)
117118            }
117119            ///Writes raw bits to the field
117120            #[inline(always)]
117121            pub fn bit(self, value: bool) -> &'a mut W {
117122                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
117123                self.w
117124            }
117125        }
117126        ///Reader of field `PEIE`
117127        pub type PEIE_R = crate::R<bool, bool>;
117128        ///Write proxy for field `PEIE`
117129        pub struct PEIE_W<'a> {
117130            w: &'a mut W,
117131        }
117132        impl<'a> PEIE_W<'a> {
117133            ///Sets the field bit
117134            #[inline(always)]
117135            pub fn set_bit(self) -> &'a mut W {
117136                self.bit(true)
117137            }
117138            ///Clears the field bit
117139            #[inline(always)]
117140            pub fn clear_bit(self) -> &'a mut W {
117141                self.bit(false)
117142            }
117143            ///Writes raw bits to the field
117144            #[inline(always)]
117145            pub fn bit(self, value: bool) -> &'a mut W {
117146                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
117147                self.w
117148            }
117149        }
117150        ///Reader of field `TXEIE`
117151        pub type TXEIE_R = crate::R<bool, bool>;
117152        ///Write proxy for field `TXEIE`
117153        pub struct TXEIE_W<'a> {
117154            w: &'a mut W,
117155        }
117156        impl<'a> TXEIE_W<'a> {
117157            ///Sets the field bit
117158            #[inline(always)]
117159            pub fn set_bit(self) -> &'a mut W {
117160                self.bit(true)
117161            }
117162            ///Clears the field bit
117163            #[inline(always)]
117164            pub fn clear_bit(self) -> &'a mut W {
117165                self.bit(false)
117166            }
117167            ///Writes raw bits to the field
117168            #[inline(always)]
117169            pub fn bit(self, value: bool) -> &'a mut W {
117170                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
117171                self.w
117172            }
117173        }
117174        ///Reader of field `TCIE`
117175        pub type TCIE_R = crate::R<bool, bool>;
117176        ///Write proxy for field `TCIE`
117177        pub struct TCIE_W<'a> {
117178            w: &'a mut W,
117179        }
117180        impl<'a> TCIE_W<'a> {
117181            ///Sets the field bit
117182            #[inline(always)]
117183            pub fn set_bit(self) -> &'a mut W {
117184                self.bit(true)
117185            }
117186            ///Clears the field bit
117187            #[inline(always)]
117188            pub fn clear_bit(self) -> &'a mut W {
117189                self.bit(false)
117190            }
117191            ///Writes raw bits to the field
117192            #[inline(always)]
117193            pub fn bit(self, value: bool) -> &'a mut W {
117194                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
117195                self.w
117196            }
117197        }
117198        ///Reader of field `RXNEIE`
117199        pub type RXNEIE_R = crate::R<bool, bool>;
117200        ///Write proxy for field `RXNEIE`
117201        pub struct RXNEIE_W<'a> {
117202            w: &'a mut W,
117203        }
117204        impl<'a> RXNEIE_W<'a> {
117205            ///Sets the field bit
117206            #[inline(always)]
117207            pub fn set_bit(self) -> &'a mut W {
117208                self.bit(true)
117209            }
117210            ///Clears the field bit
117211            #[inline(always)]
117212            pub fn clear_bit(self) -> &'a mut W {
117213                self.bit(false)
117214            }
117215            ///Writes raw bits to the field
117216            #[inline(always)]
117217            pub fn bit(self, value: bool) -> &'a mut W {
117218                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
117219                self.w
117220            }
117221        }
117222        ///Reader of field `IDLEIE`
117223        pub type IDLEIE_R = crate::R<bool, bool>;
117224        ///Write proxy for field `IDLEIE`
117225        pub struct IDLEIE_W<'a> {
117226            w: &'a mut W,
117227        }
117228        impl<'a> IDLEIE_W<'a> {
117229            ///Sets the field bit
117230            #[inline(always)]
117231            pub fn set_bit(self) -> &'a mut W {
117232                self.bit(true)
117233            }
117234            ///Clears the field bit
117235            #[inline(always)]
117236            pub fn clear_bit(self) -> &'a mut W {
117237                self.bit(false)
117238            }
117239            ///Writes raw bits to the field
117240            #[inline(always)]
117241            pub fn bit(self, value: bool) -> &'a mut W {
117242                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
117243                self.w
117244            }
117245        }
117246        ///Reader of field `TE`
117247        pub type TE_R = crate::R<bool, bool>;
117248        ///Write proxy for field `TE`
117249        pub struct TE_W<'a> {
117250            w: &'a mut W,
117251        }
117252        impl<'a> TE_W<'a> {
117253            ///Sets the field bit
117254            #[inline(always)]
117255            pub fn set_bit(self) -> &'a mut W {
117256                self.bit(true)
117257            }
117258            ///Clears the field bit
117259            #[inline(always)]
117260            pub fn clear_bit(self) -> &'a mut W {
117261                self.bit(false)
117262            }
117263            ///Writes raw bits to the field
117264            #[inline(always)]
117265            pub fn bit(self, value: bool) -> &'a mut W {
117266                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
117267                self.w
117268            }
117269        }
117270        ///Reader of field `RE`
117271        pub type RE_R = crate::R<bool, bool>;
117272        ///Write proxy for field `RE`
117273        pub struct RE_W<'a> {
117274            w: &'a mut W,
117275        }
117276        impl<'a> RE_W<'a> {
117277            ///Sets the field bit
117278            #[inline(always)]
117279            pub fn set_bit(self) -> &'a mut W {
117280                self.bit(true)
117281            }
117282            ///Clears the field bit
117283            #[inline(always)]
117284            pub fn clear_bit(self) -> &'a mut W {
117285                self.bit(false)
117286            }
117287            ///Writes raw bits to the field
117288            #[inline(always)]
117289            pub fn bit(self, value: bool) -> &'a mut W {
117290                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
117291                self.w
117292            }
117293        }
117294        ///Reader of field `UESM`
117295        pub type UESM_R = crate::R<bool, bool>;
117296        ///Write proxy for field `UESM`
117297        pub struct UESM_W<'a> {
117298            w: &'a mut W,
117299        }
117300        impl<'a> UESM_W<'a> {
117301            ///Sets the field bit
117302            #[inline(always)]
117303            pub fn set_bit(self) -> &'a mut W {
117304                self.bit(true)
117305            }
117306            ///Clears the field bit
117307            #[inline(always)]
117308            pub fn clear_bit(self) -> &'a mut W {
117309                self.bit(false)
117310            }
117311            ///Writes raw bits to the field
117312            #[inline(always)]
117313            pub fn bit(self, value: bool) -> &'a mut W {
117314                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
117315                self.w
117316            }
117317        }
117318        ///Reader of field `UE`
117319        pub type UE_R = crate::R<bool, bool>;
117320        ///Write proxy for field `UE`
117321        pub struct UE_W<'a> {
117322            w: &'a mut W,
117323        }
117324        impl<'a> UE_W<'a> {
117325            ///Sets the field bit
117326            #[inline(always)]
117327            pub fn set_bit(self) -> &'a mut W {
117328                self.bit(true)
117329            }
117330            ///Clears the field bit
117331            #[inline(always)]
117332            pub fn clear_bit(self) -> &'a mut W {
117333                self.bit(false)
117334            }
117335            ///Writes raw bits to the field
117336            #[inline(always)]
117337            pub fn bit(self, value: bool) -> &'a mut W {
117338                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
117339                self.w
117340            }
117341        }
117342        impl R {
117343            ///Bit 31 - RXFIFO Full interrupt enable
117344            #[inline(always)]
117345            pub fn rxffie(&self) -> RXFFIE_R {
117346                RXFFIE_R::new(((self.bits >> 31) & 0x01) != 0)
117347            }
117348            ///Bit 30 - TXFIFO empty interrupt enable
117349            #[inline(always)]
117350            pub fn txfeie(&self) -> TXFEIE_R {
117351                TXFEIE_R::new(((self.bits >> 30) & 0x01) != 0)
117352            }
117353            ///Bit 29 - FIFO mode enable
117354            #[inline(always)]
117355            pub fn fifoen(&self) -> FIFOEN_R {
117356                FIFOEN_R::new(((self.bits >> 29) & 0x01) != 0)
117357            }
117358            ///Bit 28 - Word length
117359            #[inline(always)]
117360            pub fn m1(&self) -> M1_R {
117361                M1_R::new(((self.bits >> 28) & 0x01) != 0)
117362            }
117363            ///Bit 27 - End of Block interrupt enable
117364            #[inline(always)]
117365            pub fn eobie(&self) -> EOBIE_R {
117366                EOBIE_R::new(((self.bits >> 27) & 0x01) != 0)
117367            }
117368            ///Bit 26 - Receiver timeout interrupt enable
117369            #[inline(always)]
117370            pub fn rtoie(&self) -> RTOIE_R {
117371                RTOIE_R::new(((self.bits >> 26) & 0x01) != 0)
117372            }
117373            ///Bit 25 - Driver Enable assertion time
117374            #[inline(always)]
117375            pub fn deat4(&self) -> DEAT4_R {
117376                DEAT4_R::new(((self.bits >> 25) & 0x01) != 0)
117377            }
117378            ///Bit 24 - DEAT3
117379            #[inline(always)]
117380            pub fn deat3(&self) -> DEAT3_R {
117381                DEAT3_R::new(((self.bits >> 24) & 0x01) != 0)
117382            }
117383            ///Bit 23 - DEAT2
117384            #[inline(always)]
117385            pub fn deat2(&self) -> DEAT2_R {
117386                DEAT2_R::new(((self.bits >> 23) & 0x01) != 0)
117387            }
117388            ///Bit 22 - DEAT1
117389            #[inline(always)]
117390            pub fn deat1(&self) -> DEAT1_R {
117391                DEAT1_R::new(((self.bits >> 22) & 0x01) != 0)
117392            }
117393            ///Bit 21 - DEAT0
117394            #[inline(always)]
117395            pub fn deat0(&self) -> DEAT0_R {
117396                DEAT0_R::new(((self.bits >> 21) & 0x01) != 0)
117397            }
117398            ///Bit 20 - Driver Enable de-assertion time
117399            #[inline(always)]
117400            pub fn dedt4(&self) -> DEDT4_R {
117401                DEDT4_R::new(((self.bits >> 20) & 0x01) != 0)
117402            }
117403            ///Bit 19 - DEDT3
117404            #[inline(always)]
117405            pub fn dedt3(&self) -> DEDT3_R {
117406                DEDT3_R::new(((self.bits >> 19) & 0x01) != 0)
117407            }
117408            ///Bit 18 - DEDT2
117409            #[inline(always)]
117410            pub fn dedt2(&self) -> DEDT2_R {
117411                DEDT2_R::new(((self.bits >> 18) & 0x01) != 0)
117412            }
117413            ///Bit 17 - DEDT1
117414            #[inline(always)]
117415            pub fn dedt1(&self) -> DEDT1_R {
117416                DEDT1_R::new(((self.bits >> 17) & 0x01) != 0)
117417            }
117418            ///Bit 16 - DEDT0
117419            #[inline(always)]
117420            pub fn dedt0(&self) -> DEDT0_R {
117421                DEDT0_R::new(((self.bits >> 16) & 0x01) != 0)
117422            }
117423            ///Bit 15 - Oversampling mode
117424            #[inline(always)]
117425            pub fn over8(&self) -> OVER8_R {
117426                OVER8_R::new(((self.bits >> 15) & 0x01) != 0)
117427            }
117428            ///Bit 14 - Character match interrupt enable
117429            #[inline(always)]
117430            pub fn cmie(&self) -> CMIE_R {
117431                CMIE_R::new(((self.bits >> 14) & 0x01) != 0)
117432            }
117433            ///Bit 13 - Mute mode enable
117434            #[inline(always)]
117435            pub fn mme(&self) -> MME_R {
117436                MME_R::new(((self.bits >> 13) & 0x01) != 0)
117437            }
117438            ///Bit 12 - Word length
117439            #[inline(always)]
117440            pub fn m0(&self) -> M0_R {
117441                M0_R::new(((self.bits >> 12) & 0x01) != 0)
117442            }
117443            ///Bit 11 - Receiver wakeup method
117444            #[inline(always)]
117445            pub fn wake(&self) -> WAKE_R {
117446                WAKE_R::new(((self.bits >> 11) & 0x01) != 0)
117447            }
117448            ///Bit 10 - Parity control enable
117449            #[inline(always)]
117450            pub fn pce(&self) -> PCE_R {
117451                PCE_R::new(((self.bits >> 10) & 0x01) != 0)
117452            }
117453            ///Bit 9 - Parity selection
117454            #[inline(always)]
117455            pub fn ps(&self) -> PS_R {
117456                PS_R::new(((self.bits >> 9) & 0x01) != 0)
117457            }
117458            ///Bit 8 - PE interrupt enable
117459            #[inline(always)]
117460            pub fn peie(&self) -> PEIE_R {
117461                PEIE_R::new(((self.bits >> 8) & 0x01) != 0)
117462            }
117463            ///Bit 7 - interrupt enable
117464            #[inline(always)]
117465            pub fn txeie(&self) -> TXEIE_R {
117466                TXEIE_R::new(((self.bits >> 7) & 0x01) != 0)
117467            }
117468            ///Bit 6 - Transmission complete interrupt enable
117469            #[inline(always)]
117470            pub fn tcie(&self) -> TCIE_R {
117471                TCIE_R::new(((self.bits >> 6) & 0x01) != 0)
117472            }
117473            ///Bit 5 - RXNE interrupt enable
117474            #[inline(always)]
117475            pub fn rxneie(&self) -> RXNEIE_R {
117476                RXNEIE_R::new(((self.bits >> 5) & 0x01) != 0)
117477            }
117478            ///Bit 4 - IDLE interrupt enable
117479            #[inline(always)]
117480            pub fn idleie(&self) -> IDLEIE_R {
117481                IDLEIE_R::new(((self.bits >> 4) & 0x01) != 0)
117482            }
117483            ///Bit 3 - Transmitter enable
117484            #[inline(always)]
117485            pub fn te(&self) -> TE_R {
117486                TE_R::new(((self.bits >> 3) & 0x01) != 0)
117487            }
117488            ///Bit 2 - Receiver enable
117489            #[inline(always)]
117490            pub fn re(&self) -> RE_R {
117491                RE_R::new(((self.bits >> 2) & 0x01) != 0)
117492            }
117493            ///Bit 1 - USART enable in Stop mode
117494            #[inline(always)]
117495            pub fn uesm(&self) -> UESM_R {
117496                UESM_R::new(((self.bits >> 1) & 0x01) != 0)
117497            }
117498            ///Bit 0 - USART enable
117499            #[inline(always)]
117500            pub fn ue(&self) -> UE_R {
117501                UE_R::new((self.bits & 0x01) != 0)
117502            }
117503        }
117504        impl W {
117505            ///Bit 31 - RXFIFO Full interrupt enable
117506            #[inline(always)]
117507            pub fn rxffie(&mut self) -> RXFFIE_W {
117508                RXFFIE_W { w: self }
117509            }
117510            ///Bit 30 - TXFIFO empty interrupt enable
117511            #[inline(always)]
117512            pub fn txfeie(&mut self) -> TXFEIE_W {
117513                TXFEIE_W { w: self }
117514            }
117515            ///Bit 29 - FIFO mode enable
117516            #[inline(always)]
117517            pub fn fifoen(&mut self) -> FIFOEN_W {
117518                FIFOEN_W { w: self }
117519            }
117520            ///Bit 28 - Word length
117521            #[inline(always)]
117522            pub fn m1(&mut self) -> M1_W {
117523                M1_W { w: self }
117524            }
117525            ///Bit 27 - End of Block interrupt enable
117526            #[inline(always)]
117527            pub fn eobie(&mut self) -> EOBIE_W {
117528                EOBIE_W { w: self }
117529            }
117530            ///Bit 26 - Receiver timeout interrupt enable
117531            #[inline(always)]
117532            pub fn rtoie(&mut self) -> RTOIE_W {
117533                RTOIE_W { w: self }
117534            }
117535            ///Bit 25 - Driver Enable assertion time
117536            #[inline(always)]
117537            pub fn deat4(&mut self) -> DEAT4_W {
117538                DEAT4_W { w: self }
117539            }
117540            ///Bit 24 - DEAT3
117541            #[inline(always)]
117542            pub fn deat3(&mut self) -> DEAT3_W {
117543                DEAT3_W { w: self }
117544            }
117545            ///Bit 23 - DEAT2
117546            #[inline(always)]
117547            pub fn deat2(&mut self) -> DEAT2_W {
117548                DEAT2_W { w: self }
117549            }
117550            ///Bit 22 - DEAT1
117551            #[inline(always)]
117552            pub fn deat1(&mut self) -> DEAT1_W {
117553                DEAT1_W { w: self }
117554            }
117555            ///Bit 21 - DEAT0
117556            #[inline(always)]
117557            pub fn deat0(&mut self) -> DEAT0_W {
117558                DEAT0_W { w: self }
117559            }
117560            ///Bit 20 - Driver Enable de-assertion time
117561            #[inline(always)]
117562            pub fn dedt4(&mut self) -> DEDT4_W {
117563                DEDT4_W { w: self }
117564            }
117565            ///Bit 19 - DEDT3
117566            #[inline(always)]
117567            pub fn dedt3(&mut self) -> DEDT3_W {
117568                DEDT3_W { w: self }
117569            }
117570            ///Bit 18 - DEDT2
117571            #[inline(always)]
117572            pub fn dedt2(&mut self) -> DEDT2_W {
117573                DEDT2_W { w: self }
117574            }
117575            ///Bit 17 - DEDT1
117576            #[inline(always)]
117577            pub fn dedt1(&mut self) -> DEDT1_W {
117578                DEDT1_W { w: self }
117579            }
117580            ///Bit 16 - DEDT0
117581            #[inline(always)]
117582            pub fn dedt0(&mut self) -> DEDT0_W {
117583                DEDT0_W { w: self }
117584            }
117585            ///Bit 15 - Oversampling mode
117586            #[inline(always)]
117587            pub fn over8(&mut self) -> OVER8_W {
117588                OVER8_W { w: self }
117589            }
117590            ///Bit 14 - Character match interrupt enable
117591            #[inline(always)]
117592            pub fn cmie(&mut self) -> CMIE_W {
117593                CMIE_W { w: self }
117594            }
117595            ///Bit 13 - Mute mode enable
117596            #[inline(always)]
117597            pub fn mme(&mut self) -> MME_W {
117598                MME_W { w: self }
117599            }
117600            ///Bit 12 - Word length
117601            #[inline(always)]
117602            pub fn m0(&mut self) -> M0_W {
117603                M0_W { w: self }
117604            }
117605            ///Bit 11 - Receiver wakeup method
117606            #[inline(always)]
117607            pub fn wake(&mut self) -> WAKE_W {
117608                WAKE_W { w: self }
117609            }
117610            ///Bit 10 - Parity control enable
117611            #[inline(always)]
117612            pub fn pce(&mut self) -> PCE_W {
117613                PCE_W { w: self }
117614            }
117615            ///Bit 9 - Parity selection
117616            #[inline(always)]
117617            pub fn ps(&mut self) -> PS_W {
117618                PS_W { w: self }
117619            }
117620            ///Bit 8 - PE interrupt enable
117621            #[inline(always)]
117622            pub fn peie(&mut self) -> PEIE_W {
117623                PEIE_W { w: self }
117624            }
117625            ///Bit 7 - interrupt enable
117626            #[inline(always)]
117627            pub fn txeie(&mut self) -> TXEIE_W {
117628                TXEIE_W { w: self }
117629            }
117630            ///Bit 6 - Transmission complete interrupt enable
117631            #[inline(always)]
117632            pub fn tcie(&mut self) -> TCIE_W {
117633                TCIE_W { w: self }
117634            }
117635            ///Bit 5 - RXNE interrupt enable
117636            #[inline(always)]
117637            pub fn rxneie(&mut self) -> RXNEIE_W {
117638                RXNEIE_W { w: self }
117639            }
117640            ///Bit 4 - IDLE interrupt enable
117641            #[inline(always)]
117642            pub fn idleie(&mut self) -> IDLEIE_W {
117643                IDLEIE_W { w: self }
117644            }
117645            ///Bit 3 - Transmitter enable
117646            #[inline(always)]
117647            pub fn te(&mut self) -> TE_W {
117648                TE_W { w: self }
117649            }
117650            ///Bit 2 - Receiver enable
117651            #[inline(always)]
117652            pub fn re(&mut self) -> RE_W {
117653                RE_W { w: self }
117654            }
117655            ///Bit 1 - USART enable in Stop mode
117656            #[inline(always)]
117657            pub fn uesm(&mut self) -> UESM_W {
117658                UESM_W { w: self }
117659            }
117660            ///Bit 0 - USART enable
117661            #[inline(always)]
117662            pub fn ue(&mut self) -> UE_W {
117663                UE_W { w: self }
117664            }
117665        }
117666    }
117667    ///Control register 2
117668    ///
117669    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
117670    ///
117671    ///For information about available fields see [cr2](cr2) module
117672    pub type CR2 = crate::Reg<u32, _CR2>;
117673    #[allow(missing_docs)]
117674    #[doc(hidden)]
117675    pub struct _CR2;
117676    ///`read()` method returns [cr2::R](cr2::R) reader structure
117677    impl crate::Readable for CR2 {}
117678    ///`write(|w| ..)` method takes [cr2::W](cr2::W) writer structure
117679    impl crate::Writable for CR2 {}
117680    ///Control register 2
117681    pub mod cr2 {
117682        ///Reader of register CR2
117683        pub type R = crate::R<u32, super::CR2>;
117684        ///Writer for register CR2
117685        pub type W = crate::W<u32, super::CR2>;
117686        ///Register CR2 `reset()`'s with value 0
117687        impl crate::ResetValue for super::CR2 {
117688            type Type = u32;
117689            #[inline(always)]
117690            fn reset_value() -> Self::Type {
117691                0
117692            }
117693        }
117694        ///Reader of field `ADD4_7`
117695        pub type ADD4_7_R = crate::R<u8, u8>;
117696        ///Write proxy for field `ADD4_7`
117697        pub struct ADD4_7_W<'a> {
117698            w: &'a mut W,
117699        }
117700        impl<'a> ADD4_7_W<'a> {
117701            ///Writes raw bits to the field
117702            #[inline(always)]
117703            pub unsafe fn bits(self, value: u8) -> &'a mut W {
117704                self.w.bits = (self.w.bits & !(0x0f << 28)) | (((value as u32) & 0x0f) << 28);
117705                self.w
117706            }
117707        }
117708        ///Reader of field `ADD0_3`
117709        pub type ADD0_3_R = crate::R<u8, u8>;
117710        ///Write proxy for field `ADD0_3`
117711        pub struct ADD0_3_W<'a> {
117712            w: &'a mut W,
117713        }
117714        impl<'a> ADD0_3_W<'a> {
117715            ///Writes raw bits to the field
117716            #[inline(always)]
117717            pub unsafe fn bits(self, value: u8) -> &'a mut W {
117718                self.w.bits = (self.w.bits & !(0x0f << 24)) | (((value as u32) & 0x0f) << 24);
117719                self.w
117720            }
117721        }
117722        ///Reader of field `RTOEN`
117723        pub type RTOEN_R = crate::R<bool, bool>;
117724        ///Write proxy for field `RTOEN`
117725        pub struct RTOEN_W<'a> {
117726            w: &'a mut W,
117727        }
117728        impl<'a> RTOEN_W<'a> {
117729            ///Sets the field bit
117730            #[inline(always)]
117731            pub fn set_bit(self) -> &'a mut W {
117732                self.bit(true)
117733            }
117734            ///Clears the field bit
117735            #[inline(always)]
117736            pub fn clear_bit(self) -> &'a mut W {
117737                self.bit(false)
117738            }
117739            ///Writes raw bits to the field
117740            #[inline(always)]
117741            pub fn bit(self, value: bool) -> &'a mut W {
117742                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
117743                self.w
117744            }
117745        }
117746        ///Reader of field `ABRMOD1`
117747        pub type ABRMOD1_R = crate::R<bool, bool>;
117748        ///Write proxy for field `ABRMOD1`
117749        pub struct ABRMOD1_W<'a> {
117750            w: &'a mut W,
117751        }
117752        impl<'a> ABRMOD1_W<'a> {
117753            ///Sets the field bit
117754            #[inline(always)]
117755            pub fn set_bit(self) -> &'a mut W {
117756                self.bit(true)
117757            }
117758            ///Clears the field bit
117759            #[inline(always)]
117760            pub fn clear_bit(self) -> &'a mut W {
117761                self.bit(false)
117762            }
117763            ///Writes raw bits to the field
117764            #[inline(always)]
117765            pub fn bit(self, value: bool) -> &'a mut W {
117766                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
117767                self.w
117768            }
117769        }
117770        ///Reader of field `ABRMOD0`
117771        pub type ABRMOD0_R = crate::R<bool, bool>;
117772        ///Write proxy for field `ABRMOD0`
117773        pub struct ABRMOD0_W<'a> {
117774            w: &'a mut W,
117775        }
117776        impl<'a> ABRMOD0_W<'a> {
117777            ///Sets the field bit
117778            #[inline(always)]
117779            pub fn set_bit(self) -> &'a mut W {
117780                self.bit(true)
117781            }
117782            ///Clears the field bit
117783            #[inline(always)]
117784            pub fn clear_bit(self) -> &'a mut W {
117785                self.bit(false)
117786            }
117787            ///Writes raw bits to the field
117788            #[inline(always)]
117789            pub fn bit(self, value: bool) -> &'a mut W {
117790                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
117791                self.w
117792            }
117793        }
117794        ///Reader of field `ABREN`
117795        pub type ABREN_R = crate::R<bool, bool>;
117796        ///Write proxy for field `ABREN`
117797        pub struct ABREN_W<'a> {
117798            w: &'a mut W,
117799        }
117800        impl<'a> ABREN_W<'a> {
117801            ///Sets the field bit
117802            #[inline(always)]
117803            pub fn set_bit(self) -> &'a mut W {
117804                self.bit(true)
117805            }
117806            ///Clears the field bit
117807            #[inline(always)]
117808            pub fn clear_bit(self) -> &'a mut W {
117809                self.bit(false)
117810            }
117811            ///Writes raw bits to the field
117812            #[inline(always)]
117813            pub fn bit(self, value: bool) -> &'a mut W {
117814                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
117815                self.w
117816            }
117817        }
117818        ///Reader of field `MSBFIRST`
117819        pub type MSBFIRST_R = crate::R<bool, bool>;
117820        ///Write proxy for field `MSBFIRST`
117821        pub struct MSBFIRST_W<'a> {
117822            w: &'a mut W,
117823        }
117824        impl<'a> MSBFIRST_W<'a> {
117825            ///Sets the field bit
117826            #[inline(always)]
117827            pub fn set_bit(self) -> &'a mut W {
117828                self.bit(true)
117829            }
117830            ///Clears the field bit
117831            #[inline(always)]
117832            pub fn clear_bit(self) -> &'a mut W {
117833                self.bit(false)
117834            }
117835            ///Writes raw bits to the field
117836            #[inline(always)]
117837            pub fn bit(self, value: bool) -> &'a mut W {
117838                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
117839                self.w
117840            }
117841        }
117842        ///Reader of field `TAINV`
117843        pub type TAINV_R = crate::R<bool, bool>;
117844        ///Write proxy for field `TAINV`
117845        pub struct TAINV_W<'a> {
117846            w: &'a mut W,
117847        }
117848        impl<'a> TAINV_W<'a> {
117849            ///Sets the field bit
117850            #[inline(always)]
117851            pub fn set_bit(self) -> &'a mut W {
117852                self.bit(true)
117853            }
117854            ///Clears the field bit
117855            #[inline(always)]
117856            pub fn clear_bit(self) -> &'a mut W {
117857                self.bit(false)
117858            }
117859            ///Writes raw bits to the field
117860            #[inline(always)]
117861            pub fn bit(self, value: bool) -> &'a mut W {
117862                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
117863                self.w
117864            }
117865        }
117866        ///Reader of field `TXINV`
117867        pub type TXINV_R = crate::R<bool, bool>;
117868        ///Write proxy for field `TXINV`
117869        pub struct TXINV_W<'a> {
117870            w: &'a mut W,
117871        }
117872        impl<'a> TXINV_W<'a> {
117873            ///Sets the field bit
117874            #[inline(always)]
117875            pub fn set_bit(self) -> &'a mut W {
117876                self.bit(true)
117877            }
117878            ///Clears the field bit
117879            #[inline(always)]
117880            pub fn clear_bit(self) -> &'a mut W {
117881                self.bit(false)
117882            }
117883            ///Writes raw bits to the field
117884            #[inline(always)]
117885            pub fn bit(self, value: bool) -> &'a mut W {
117886                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
117887                self.w
117888            }
117889        }
117890        ///Reader of field `RXINV`
117891        pub type RXINV_R = crate::R<bool, bool>;
117892        ///Write proxy for field `RXINV`
117893        pub struct RXINV_W<'a> {
117894            w: &'a mut W,
117895        }
117896        impl<'a> RXINV_W<'a> {
117897            ///Sets the field bit
117898            #[inline(always)]
117899            pub fn set_bit(self) -> &'a mut W {
117900                self.bit(true)
117901            }
117902            ///Clears the field bit
117903            #[inline(always)]
117904            pub fn clear_bit(self) -> &'a mut W {
117905                self.bit(false)
117906            }
117907            ///Writes raw bits to the field
117908            #[inline(always)]
117909            pub fn bit(self, value: bool) -> &'a mut W {
117910                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
117911                self.w
117912            }
117913        }
117914        ///Reader of field `SWAP`
117915        pub type SWAP_R = crate::R<bool, bool>;
117916        ///Write proxy for field `SWAP`
117917        pub struct SWAP_W<'a> {
117918            w: &'a mut W,
117919        }
117920        impl<'a> SWAP_W<'a> {
117921            ///Sets the field bit
117922            #[inline(always)]
117923            pub fn set_bit(self) -> &'a mut W {
117924                self.bit(true)
117925            }
117926            ///Clears the field bit
117927            #[inline(always)]
117928            pub fn clear_bit(self) -> &'a mut W {
117929                self.bit(false)
117930            }
117931            ///Writes raw bits to the field
117932            #[inline(always)]
117933            pub fn bit(self, value: bool) -> &'a mut W {
117934                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
117935                self.w
117936            }
117937        }
117938        ///Reader of field `LINEN`
117939        pub type LINEN_R = crate::R<bool, bool>;
117940        ///Write proxy for field `LINEN`
117941        pub struct LINEN_W<'a> {
117942            w: &'a mut W,
117943        }
117944        impl<'a> LINEN_W<'a> {
117945            ///Sets the field bit
117946            #[inline(always)]
117947            pub fn set_bit(self) -> &'a mut W {
117948                self.bit(true)
117949            }
117950            ///Clears the field bit
117951            #[inline(always)]
117952            pub fn clear_bit(self) -> &'a mut W {
117953                self.bit(false)
117954            }
117955            ///Writes raw bits to the field
117956            #[inline(always)]
117957            pub fn bit(self, value: bool) -> &'a mut W {
117958                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
117959                self.w
117960            }
117961        }
117962        ///Reader of field `STOP`
117963        pub type STOP_R = crate::R<u8, u8>;
117964        ///Write proxy for field `STOP`
117965        pub struct STOP_W<'a> {
117966            w: &'a mut W,
117967        }
117968        impl<'a> STOP_W<'a> {
117969            ///Writes raw bits to the field
117970            #[inline(always)]
117971            pub unsafe fn bits(self, value: u8) -> &'a mut W {
117972                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u32) & 0x03) << 12);
117973                self.w
117974            }
117975        }
117976        ///Reader of field `CLKEN`
117977        pub type CLKEN_R = crate::R<bool, bool>;
117978        ///Write proxy for field `CLKEN`
117979        pub struct CLKEN_W<'a> {
117980            w: &'a mut W,
117981        }
117982        impl<'a> CLKEN_W<'a> {
117983            ///Sets the field bit
117984            #[inline(always)]
117985            pub fn set_bit(self) -> &'a mut W {
117986                self.bit(true)
117987            }
117988            ///Clears the field bit
117989            #[inline(always)]
117990            pub fn clear_bit(self) -> &'a mut W {
117991                self.bit(false)
117992            }
117993            ///Writes raw bits to the field
117994            #[inline(always)]
117995            pub fn bit(self, value: bool) -> &'a mut W {
117996                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
117997                self.w
117998            }
117999        }
118000        ///Reader of field `CPOL`
118001        pub type CPOL_R = crate::R<bool, bool>;
118002        ///Write proxy for field `CPOL`
118003        pub struct CPOL_W<'a> {
118004            w: &'a mut W,
118005        }
118006        impl<'a> CPOL_W<'a> {
118007            ///Sets the field bit
118008            #[inline(always)]
118009            pub fn set_bit(self) -> &'a mut W {
118010                self.bit(true)
118011            }
118012            ///Clears the field bit
118013            #[inline(always)]
118014            pub fn clear_bit(self) -> &'a mut W {
118015                self.bit(false)
118016            }
118017            ///Writes raw bits to the field
118018            #[inline(always)]
118019            pub fn bit(self, value: bool) -> &'a mut W {
118020                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
118021                self.w
118022            }
118023        }
118024        ///Reader of field `CPHA`
118025        pub type CPHA_R = crate::R<bool, bool>;
118026        ///Write proxy for field `CPHA`
118027        pub struct CPHA_W<'a> {
118028            w: &'a mut W,
118029        }
118030        impl<'a> CPHA_W<'a> {
118031            ///Sets the field bit
118032            #[inline(always)]
118033            pub fn set_bit(self) -> &'a mut W {
118034                self.bit(true)
118035            }
118036            ///Clears the field bit
118037            #[inline(always)]
118038            pub fn clear_bit(self) -> &'a mut W {
118039                self.bit(false)
118040            }
118041            ///Writes raw bits to the field
118042            #[inline(always)]
118043            pub fn bit(self, value: bool) -> &'a mut W {
118044                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
118045                self.w
118046            }
118047        }
118048        ///Reader of field `LBCL`
118049        pub type LBCL_R = crate::R<bool, bool>;
118050        ///Write proxy for field `LBCL`
118051        pub struct LBCL_W<'a> {
118052            w: &'a mut W,
118053        }
118054        impl<'a> LBCL_W<'a> {
118055            ///Sets the field bit
118056            #[inline(always)]
118057            pub fn set_bit(self) -> &'a mut W {
118058                self.bit(true)
118059            }
118060            ///Clears the field bit
118061            #[inline(always)]
118062            pub fn clear_bit(self) -> &'a mut W {
118063                self.bit(false)
118064            }
118065            ///Writes raw bits to the field
118066            #[inline(always)]
118067            pub fn bit(self, value: bool) -> &'a mut W {
118068                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
118069                self.w
118070            }
118071        }
118072        ///Reader of field `LBDIE`
118073        pub type LBDIE_R = crate::R<bool, bool>;
118074        ///Write proxy for field `LBDIE`
118075        pub struct LBDIE_W<'a> {
118076            w: &'a mut W,
118077        }
118078        impl<'a> LBDIE_W<'a> {
118079            ///Sets the field bit
118080            #[inline(always)]
118081            pub fn set_bit(self) -> &'a mut W {
118082                self.bit(true)
118083            }
118084            ///Clears the field bit
118085            #[inline(always)]
118086            pub fn clear_bit(self) -> &'a mut W {
118087                self.bit(false)
118088            }
118089            ///Writes raw bits to the field
118090            #[inline(always)]
118091            pub fn bit(self, value: bool) -> &'a mut W {
118092                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
118093                self.w
118094            }
118095        }
118096        ///Reader of field `LBDL`
118097        pub type LBDL_R = crate::R<bool, bool>;
118098        ///Write proxy for field `LBDL`
118099        pub struct LBDL_W<'a> {
118100            w: &'a mut W,
118101        }
118102        impl<'a> LBDL_W<'a> {
118103            ///Sets the field bit
118104            #[inline(always)]
118105            pub fn set_bit(self) -> &'a mut W {
118106                self.bit(true)
118107            }
118108            ///Clears the field bit
118109            #[inline(always)]
118110            pub fn clear_bit(self) -> &'a mut W {
118111                self.bit(false)
118112            }
118113            ///Writes raw bits to the field
118114            #[inline(always)]
118115            pub fn bit(self, value: bool) -> &'a mut W {
118116                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
118117                self.w
118118            }
118119        }
118120        ///Reader of field `ADDM7`
118121        pub type ADDM7_R = crate::R<bool, bool>;
118122        ///Write proxy for field `ADDM7`
118123        pub struct ADDM7_W<'a> {
118124            w: &'a mut W,
118125        }
118126        impl<'a> ADDM7_W<'a> {
118127            ///Sets the field bit
118128            #[inline(always)]
118129            pub fn set_bit(self) -> &'a mut W {
118130                self.bit(true)
118131            }
118132            ///Clears the field bit
118133            #[inline(always)]
118134            pub fn clear_bit(self) -> &'a mut W {
118135                self.bit(false)
118136            }
118137            ///Writes raw bits to the field
118138            #[inline(always)]
118139            pub fn bit(self, value: bool) -> &'a mut W {
118140                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
118141                self.w
118142            }
118143        }
118144        ///Reader of field `DIS_NSS`
118145        pub type DIS_NSS_R = crate::R<bool, bool>;
118146        ///Write proxy for field `DIS_NSS`
118147        pub struct DIS_NSS_W<'a> {
118148            w: &'a mut W,
118149        }
118150        impl<'a> DIS_NSS_W<'a> {
118151            ///Sets the field bit
118152            #[inline(always)]
118153            pub fn set_bit(self) -> &'a mut W {
118154                self.bit(true)
118155            }
118156            ///Clears the field bit
118157            #[inline(always)]
118158            pub fn clear_bit(self) -> &'a mut W {
118159                self.bit(false)
118160            }
118161            ///Writes raw bits to the field
118162            #[inline(always)]
118163            pub fn bit(self, value: bool) -> &'a mut W {
118164                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
118165                self.w
118166            }
118167        }
118168        ///Reader of field `SLVEN`
118169        pub type SLVEN_R = crate::R<bool, bool>;
118170        ///Write proxy for field `SLVEN`
118171        pub struct SLVEN_W<'a> {
118172            w: &'a mut W,
118173        }
118174        impl<'a> SLVEN_W<'a> {
118175            ///Sets the field bit
118176            #[inline(always)]
118177            pub fn set_bit(self) -> &'a mut W {
118178                self.bit(true)
118179            }
118180            ///Clears the field bit
118181            #[inline(always)]
118182            pub fn clear_bit(self) -> &'a mut W {
118183                self.bit(false)
118184            }
118185            ///Writes raw bits to the field
118186            #[inline(always)]
118187            pub fn bit(self, value: bool) -> &'a mut W {
118188                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
118189                self.w
118190            }
118191        }
118192        impl R {
118193            ///Bits 28:31 - Address of the USART node
118194            #[inline(always)]
118195            pub fn add4_7(&self) -> ADD4_7_R {
118196                ADD4_7_R::new(((self.bits >> 28) & 0x0f) as u8)
118197            }
118198            ///Bits 24:27 - Address of the USART node
118199            #[inline(always)]
118200            pub fn add0_3(&self) -> ADD0_3_R {
118201                ADD0_3_R::new(((self.bits >> 24) & 0x0f) as u8)
118202            }
118203            ///Bit 23 - Receiver timeout enable
118204            #[inline(always)]
118205            pub fn rtoen(&self) -> RTOEN_R {
118206                RTOEN_R::new(((self.bits >> 23) & 0x01) != 0)
118207            }
118208            ///Bit 22 - Auto baud rate mode
118209            #[inline(always)]
118210            pub fn abrmod1(&self) -> ABRMOD1_R {
118211                ABRMOD1_R::new(((self.bits >> 22) & 0x01) != 0)
118212            }
118213            ///Bit 21 - ABRMOD0
118214            #[inline(always)]
118215            pub fn abrmod0(&self) -> ABRMOD0_R {
118216                ABRMOD0_R::new(((self.bits >> 21) & 0x01) != 0)
118217            }
118218            ///Bit 20 - Auto baud rate enable
118219            #[inline(always)]
118220            pub fn abren(&self) -> ABREN_R {
118221                ABREN_R::new(((self.bits >> 20) & 0x01) != 0)
118222            }
118223            ///Bit 19 - Most significant bit first
118224            #[inline(always)]
118225            pub fn msbfirst(&self) -> MSBFIRST_R {
118226                MSBFIRST_R::new(((self.bits >> 19) & 0x01) != 0)
118227            }
118228            ///Bit 18 - Binary data inversion
118229            #[inline(always)]
118230            pub fn tainv(&self) -> TAINV_R {
118231                TAINV_R::new(((self.bits >> 18) & 0x01) != 0)
118232            }
118233            ///Bit 17 - TX pin active level inversion
118234            #[inline(always)]
118235            pub fn txinv(&self) -> TXINV_R {
118236                TXINV_R::new(((self.bits >> 17) & 0x01) != 0)
118237            }
118238            ///Bit 16 - RX pin active level inversion
118239            #[inline(always)]
118240            pub fn rxinv(&self) -> RXINV_R {
118241                RXINV_R::new(((self.bits >> 16) & 0x01) != 0)
118242            }
118243            ///Bit 15 - Swap TX/RX pins
118244            #[inline(always)]
118245            pub fn swap(&self) -> SWAP_R {
118246                SWAP_R::new(((self.bits >> 15) & 0x01) != 0)
118247            }
118248            ///Bit 14 - LIN mode enable
118249            #[inline(always)]
118250            pub fn linen(&self) -> LINEN_R {
118251                LINEN_R::new(((self.bits >> 14) & 0x01) != 0)
118252            }
118253            ///Bits 12:13 - STOP bits
118254            #[inline(always)]
118255            pub fn stop(&self) -> STOP_R {
118256                STOP_R::new(((self.bits >> 12) & 0x03) as u8)
118257            }
118258            ///Bit 11 - Clock enable
118259            #[inline(always)]
118260            pub fn clken(&self) -> CLKEN_R {
118261                CLKEN_R::new(((self.bits >> 11) & 0x01) != 0)
118262            }
118263            ///Bit 10 - Clock polarity
118264            #[inline(always)]
118265            pub fn cpol(&self) -> CPOL_R {
118266                CPOL_R::new(((self.bits >> 10) & 0x01) != 0)
118267            }
118268            ///Bit 9 - Clock phase
118269            #[inline(always)]
118270            pub fn cpha(&self) -> CPHA_R {
118271                CPHA_R::new(((self.bits >> 9) & 0x01) != 0)
118272            }
118273            ///Bit 8 - Last bit clock pulse
118274            #[inline(always)]
118275            pub fn lbcl(&self) -> LBCL_R {
118276                LBCL_R::new(((self.bits >> 8) & 0x01) != 0)
118277            }
118278            ///Bit 6 - LIN break detection interrupt enable
118279            #[inline(always)]
118280            pub fn lbdie(&self) -> LBDIE_R {
118281                LBDIE_R::new(((self.bits >> 6) & 0x01) != 0)
118282            }
118283            ///Bit 5 - LIN break detection length
118284            #[inline(always)]
118285            pub fn lbdl(&self) -> LBDL_R {
118286                LBDL_R::new(((self.bits >> 5) & 0x01) != 0)
118287            }
118288            ///Bit 4 - 7-bit Address Detection/4-bit Address Detection
118289            #[inline(always)]
118290            pub fn addm7(&self) -> ADDM7_R {
118291                ADDM7_R::new(((self.bits >> 4) & 0x01) != 0)
118292            }
118293            ///Bit 3 - When the DSI_NSS bit is set, the NSS pin input will be ignored
118294            #[inline(always)]
118295            pub fn dis_nss(&self) -> DIS_NSS_R {
118296                DIS_NSS_R::new(((self.bits >> 3) & 0x01) != 0)
118297            }
118298            ///Bit 0 - Synchronous Slave mode enable
118299            #[inline(always)]
118300            pub fn slven(&self) -> SLVEN_R {
118301                SLVEN_R::new((self.bits & 0x01) != 0)
118302            }
118303        }
118304        impl W {
118305            ///Bits 28:31 - Address of the USART node
118306            #[inline(always)]
118307            pub fn add4_7(&mut self) -> ADD4_7_W {
118308                ADD4_7_W { w: self }
118309            }
118310            ///Bits 24:27 - Address of the USART node
118311            #[inline(always)]
118312            pub fn add0_3(&mut self) -> ADD0_3_W {
118313                ADD0_3_W { w: self }
118314            }
118315            ///Bit 23 - Receiver timeout enable
118316            #[inline(always)]
118317            pub fn rtoen(&mut self) -> RTOEN_W {
118318                RTOEN_W { w: self }
118319            }
118320            ///Bit 22 - Auto baud rate mode
118321            #[inline(always)]
118322            pub fn abrmod1(&mut self) -> ABRMOD1_W {
118323                ABRMOD1_W { w: self }
118324            }
118325            ///Bit 21 - ABRMOD0
118326            #[inline(always)]
118327            pub fn abrmod0(&mut self) -> ABRMOD0_W {
118328                ABRMOD0_W { w: self }
118329            }
118330            ///Bit 20 - Auto baud rate enable
118331            #[inline(always)]
118332            pub fn abren(&mut self) -> ABREN_W {
118333                ABREN_W { w: self }
118334            }
118335            ///Bit 19 - Most significant bit first
118336            #[inline(always)]
118337            pub fn msbfirst(&mut self) -> MSBFIRST_W {
118338                MSBFIRST_W { w: self }
118339            }
118340            ///Bit 18 - Binary data inversion
118341            #[inline(always)]
118342            pub fn tainv(&mut self) -> TAINV_W {
118343                TAINV_W { w: self }
118344            }
118345            ///Bit 17 - TX pin active level inversion
118346            #[inline(always)]
118347            pub fn txinv(&mut self) -> TXINV_W {
118348                TXINV_W { w: self }
118349            }
118350            ///Bit 16 - RX pin active level inversion
118351            #[inline(always)]
118352            pub fn rxinv(&mut self) -> RXINV_W {
118353                RXINV_W { w: self }
118354            }
118355            ///Bit 15 - Swap TX/RX pins
118356            #[inline(always)]
118357            pub fn swap(&mut self) -> SWAP_W {
118358                SWAP_W { w: self }
118359            }
118360            ///Bit 14 - LIN mode enable
118361            #[inline(always)]
118362            pub fn linen(&mut self) -> LINEN_W {
118363                LINEN_W { w: self }
118364            }
118365            ///Bits 12:13 - STOP bits
118366            #[inline(always)]
118367            pub fn stop(&mut self) -> STOP_W {
118368                STOP_W { w: self }
118369            }
118370            ///Bit 11 - Clock enable
118371            #[inline(always)]
118372            pub fn clken(&mut self) -> CLKEN_W {
118373                CLKEN_W { w: self }
118374            }
118375            ///Bit 10 - Clock polarity
118376            #[inline(always)]
118377            pub fn cpol(&mut self) -> CPOL_W {
118378                CPOL_W { w: self }
118379            }
118380            ///Bit 9 - Clock phase
118381            #[inline(always)]
118382            pub fn cpha(&mut self) -> CPHA_W {
118383                CPHA_W { w: self }
118384            }
118385            ///Bit 8 - Last bit clock pulse
118386            #[inline(always)]
118387            pub fn lbcl(&mut self) -> LBCL_W {
118388                LBCL_W { w: self }
118389            }
118390            ///Bit 6 - LIN break detection interrupt enable
118391            #[inline(always)]
118392            pub fn lbdie(&mut self) -> LBDIE_W {
118393                LBDIE_W { w: self }
118394            }
118395            ///Bit 5 - LIN break detection length
118396            #[inline(always)]
118397            pub fn lbdl(&mut self) -> LBDL_W {
118398                LBDL_W { w: self }
118399            }
118400            ///Bit 4 - 7-bit Address Detection/4-bit Address Detection
118401            #[inline(always)]
118402            pub fn addm7(&mut self) -> ADDM7_W {
118403                ADDM7_W { w: self }
118404            }
118405            ///Bit 3 - When the DSI_NSS bit is set, the NSS pin input will be ignored
118406            #[inline(always)]
118407            pub fn dis_nss(&mut self) -> DIS_NSS_W {
118408                DIS_NSS_W { w: self }
118409            }
118410            ///Bit 0 - Synchronous Slave mode enable
118411            #[inline(always)]
118412            pub fn slven(&mut self) -> SLVEN_W {
118413                SLVEN_W { w: self }
118414            }
118415        }
118416    }
118417    ///Control register 3
118418    ///
118419    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
118420    ///
118421    ///For information about available fields see [cr3](cr3) module
118422    pub type CR3 = crate::Reg<u32, _CR3>;
118423    #[allow(missing_docs)]
118424    #[doc(hidden)]
118425    pub struct _CR3;
118426    ///`read()` method returns [cr3::R](cr3::R) reader structure
118427    impl crate::Readable for CR3 {}
118428    ///`write(|w| ..)` method takes [cr3::W](cr3::W) writer structure
118429    impl crate::Writable for CR3 {}
118430    ///Control register 3
118431    pub mod cr3 {
118432        ///Reader of register CR3
118433        pub type R = crate::R<u32, super::CR3>;
118434        ///Writer for register CR3
118435        pub type W = crate::W<u32, super::CR3>;
118436        ///Register CR3 `reset()`'s with value 0
118437        impl crate::ResetValue for super::CR3 {
118438            type Type = u32;
118439            #[inline(always)]
118440            fn reset_value() -> Self::Type {
118441                0
118442            }
118443        }
118444        ///Reader of field `TXFTCFG`
118445        pub type TXFTCFG_R = crate::R<u8, u8>;
118446        ///Write proxy for field `TXFTCFG`
118447        pub struct TXFTCFG_W<'a> {
118448            w: &'a mut W,
118449        }
118450        impl<'a> TXFTCFG_W<'a> {
118451            ///Writes raw bits to the field
118452            #[inline(always)]
118453            pub unsafe fn bits(self, value: u8) -> &'a mut W {
118454                self.w.bits = (self.w.bits & !(0x07 << 29)) | (((value as u32) & 0x07) << 29);
118455                self.w
118456            }
118457        }
118458        ///Reader of field `RXFTIE`
118459        pub type RXFTIE_R = crate::R<bool, bool>;
118460        ///Write proxy for field `RXFTIE`
118461        pub struct RXFTIE_W<'a> {
118462            w: &'a mut W,
118463        }
118464        impl<'a> RXFTIE_W<'a> {
118465            ///Sets the field bit
118466            #[inline(always)]
118467            pub fn set_bit(self) -> &'a mut W {
118468                self.bit(true)
118469            }
118470            ///Clears the field bit
118471            #[inline(always)]
118472            pub fn clear_bit(self) -> &'a mut W {
118473                self.bit(false)
118474            }
118475            ///Writes raw bits to the field
118476            #[inline(always)]
118477            pub fn bit(self, value: bool) -> &'a mut W {
118478                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
118479                self.w
118480            }
118481        }
118482        ///Reader of field `RXFTCFG`
118483        pub type RXFTCFG_R = crate::R<u8, u8>;
118484        ///Write proxy for field `RXFTCFG`
118485        pub struct RXFTCFG_W<'a> {
118486            w: &'a mut W,
118487        }
118488        impl<'a> RXFTCFG_W<'a> {
118489            ///Writes raw bits to the field
118490            #[inline(always)]
118491            pub unsafe fn bits(self, value: u8) -> &'a mut W {
118492                self.w.bits = (self.w.bits & !(0x07 << 25)) | (((value as u32) & 0x07) << 25);
118493                self.w
118494            }
118495        }
118496        ///Reader of field `TCBGTIE`
118497        pub type TCBGTIE_R = crate::R<bool, bool>;
118498        ///Write proxy for field `TCBGTIE`
118499        pub struct TCBGTIE_W<'a> {
118500            w: &'a mut W,
118501        }
118502        impl<'a> TCBGTIE_W<'a> {
118503            ///Sets the field bit
118504            #[inline(always)]
118505            pub fn set_bit(self) -> &'a mut W {
118506                self.bit(true)
118507            }
118508            ///Clears the field bit
118509            #[inline(always)]
118510            pub fn clear_bit(self) -> &'a mut W {
118511                self.bit(false)
118512            }
118513            ///Writes raw bits to the field
118514            #[inline(always)]
118515            pub fn bit(self, value: bool) -> &'a mut W {
118516                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
118517                self.w
118518            }
118519        }
118520        ///Reader of field `TXFTIE`
118521        pub type TXFTIE_R = crate::R<bool, bool>;
118522        ///Write proxy for field `TXFTIE`
118523        pub struct TXFTIE_W<'a> {
118524            w: &'a mut W,
118525        }
118526        impl<'a> TXFTIE_W<'a> {
118527            ///Sets the field bit
118528            #[inline(always)]
118529            pub fn set_bit(self) -> &'a mut W {
118530                self.bit(true)
118531            }
118532            ///Clears the field bit
118533            #[inline(always)]
118534            pub fn clear_bit(self) -> &'a mut W {
118535                self.bit(false)
118536            }
118537            ///Writes raw bits to the field
118538            #[inline(always)]
118539            pub fn bit(self, value: bool) -> &'a mut W {
118540                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
118541                self.w
118542            }
118543        }
118544        ///Reader of field `WUFIE`
118545        pub type WUFIE_R = crate::R<bool, bool>;
118546        ///Write proxy for field `WUFIE`
118547        pub struct WUFIE_W<'a> {
118548            w: &'a mut W,
118549        }
118550        impl<'a> WUFIE_W<'a> {
118551            ///Sets the field bit
118552            #[inline(always)]
118553            pub fn set_bit(self) -> &'a mut W {
118554                self.bit(true)
118555            }
118556            ///Clears the field bit
118557            #[inline(always)]
118558            pub fn clear_bit(self) -> &'a mut W {
118559                self.bit(false)
118560            }
118561            ///Writes raw bits to the field
118562            #[inline(always)]
118563            pub fn bit(self, value: bool) -> &'a mut W {
118564                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
118565                self.w
118566            }
118567        }
118568        ///Reader of field `WUS`
118569        pub type WUS_R = crate::R<u8, u8>;
118570        ///Write proxy for field `WUS`
118571        pub struct WUS_W<'a> {
118572            w: &'a mut W,
118573        }
118574        impl<'a> WUS_W<'a> {
118575            ///Writes raw bits to the field
118576            #[inline(always)]
118577            pub unsafe fn bits(self, value: u8) -> &'a mut W {
118578                self.w.bits = (self.w.bits & !(0x03 << 20)) | (((value as u32) & 0x03) << 20);
118579                self.w
118580            }
118581        }
118582        ///Reader of field `SCARCNT`
118583        pub type SCARCNT_R = crate::R<u8, u8>;
118584        ///Write proxy for field `SCARCNT`
118585        pub struct SCARCNT_W<'a> {
118586            w: &'a mut W,
118587        }
118588        impl<'a> SCARCNT_W<'a> {
118589            ///Writes raw bits to the field
118590            #[inline(always)]
118591            pub unsafe fn bits(self, value: u8) -> &'a mut W {
118592                self.w.bits = (self.w.bits & !(0x07 << 17)) | (((value as u32) & 0x07) << 17);
118593                self.w
118594            }
118595        }
118596        ///Reader of field `DEP`
118597        pub type DEP_R = crate::R<bool, bool>;
118598        ///Write proxy for field `DEP`
118599        pub struct DEP_W<'a> {
118600            w: &'a mut W,
118601        }
118602        impl<'a> DEP_W<'a> {
118603            ///Sets the field bit
118604            #[inline(always)]
118605            pub fn set_bit(self) -> &'a mut W {
118606                self.bit(true)
118607            }
118608            ///Clears the field bit
118609            #[inline(always)]
118610            pub fn clear_bit(self) -> &'a mut W {
118611                self.bit(false)
118612            }
118613            ///Writes raw bits to the field
118614            #[inline(always)]
118615            pub fn bit(self, value: bool) -> &'a mut W {
118616                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
118617                self.w
118618            }
118619        }
118620        ///Reader of field `DEM`
118621        pub type DEM_R = crate::R<bool, bool>;
118622        ///Write proxy for field `DEM`
118623        pub struct DEM_W<'a> {
118624            w: &'a mut W,
118625        }
118626        impl<'a> DEM_W<'a> {
118627            ///Sets the field bit
118628            #[inline(always)]
118629            pub fn set_bit(self) -> &'a mut W {
118630                self.bit(true)
118631            }
118632            ///Clears the field bit
118633            #[inline(always)]
118634            pub fn clear_bit(self) -> &'a mut W {
118635                self.bit(false)
118636            }
118637            ///Writes raw bits to the field
118638            #[inline(always)]
118639            pub fn bit(self, value: bool) -> &'a mut W {
118640                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
118641                self.w
118642            }
118643        }
118644        ///Reader of field `DDRE`
118645        pub type DDRE_R = crate::R<bool, bool>;
118646        ///Write proxy for field `DDRE`
118647        pub struct DDRE_W<'a> {
118648            w: &'a mut W,
118649        }
118650        impl<'a> DDRE_W<'a> {
118651            ///Sets the field bit
118652            #[inline(always)]
118653            pub fn set_bit(self) -> &'a mut W {
118654                self.bit(true)
118655            }
118656            ///Clears the field bit
118657            #[inline(always)]
118658            pub fn clear_bit(self) -> &'a mut W {
118659                self.bit(false)
118660            }
118661            ///Writes raw bits to the field
118662            #[inline(always)]
118663            pub fn bit(self, value: bool) -> &'a mut W {
118664                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
118665                self.w
118666            }
118667        }
118668        ///Reader of field `OVRDIS`
118669        pub type OVRDIS_R = crate::R<bool, bool>;
118670        ///Write proxy for field `OVRDIS`
118671        pub struct OVRDIS_W<'a> {
118672            w: &'a mut W,
118673        }
118674        impl<'a> OVRDIS_W<'a> {
118675            ///Sets the field bit
118676            #[inline(always)]
118677            pub fn set_bit(self) -> &'a mut W {
118678                self.bit(true)
118679            }
118680            ///Clears the field bit
118681            #[inline(always)]
118682            pub fn clear_bit(self) -> &'a mut W {
118683                self.bit(false)
118684            }
118685            ///Writes raw bits to the field
118686            #[inline(always)]
118687            pub fn bit(self, value: bool) -> &'a mut W {
118688                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
118689                self.w
118690            }
118691        }
118692        ///Reader of field `ONEBIT`
118693        pub type ONEBIT_R = crate::R<bool, bool>;
118694        ///Write proxy for field `ONEBIT`
118695        pub struct ONEBIT_W<'a> {
118696            w: &'a mut W,
118697        }
118698        impl<'a> ONEBIT_W<'a> {
118699            ///Sets the field bit
118700            #[inline(always)]
118701            pub fn set_bit(self) -> &'a mut W {
118702                self.bit(true)
118703            }
118704            ///Clears the field bit
118705            #[inline(always)]
118706            pub fn clear_bit(self) -> &'a mut W {
118707                self.bit(false)
118708            }
118709            ///Writes raw bits to the field
118710            #[inline(always)]
118711            pub fn bit(self, value: bool) -> &'a mut W {
118712                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
118713                self.w
118714            }
118715        }
118716        ///Reader of field `CTSIE`
118717        pub type CTSIE_R = crate::R<bool, bool>;
118718        ///Write proxy for field `CTSIE`
118719        pub struct CTSIE_W<'a> {
118720            w: &'a mut W,
118721        }
118722        impl<'a> CTSIE_W<'a> {
118723            ///Sets the field bit
118724            #[inline(always)]
118725            pub fn set_bit(self) -> &'a mut W {
118726                self.bit(true)
118727            }
118728            ///Clears the field bit
118729            #[inline(always)]
118730            pub fn clear_bit(self) -> &'a mut W {
118731                self.bit(false)
118732            }
118733            ///Writes raw bits to the field
118734            #[inline(always)]
118735            pub fn bit(self, value: bool) -> &'a mut W {
118736                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
118737                self.w
118738            }
118739        }
118740        ///Reader of field `CTSE`
118741        pub type CTSE_R = crate::R<bool, bool>;
118742        ///Write proxy for field `CTSE`
118743        pub struct CTSE_W<'a> {
118744            w: &'a mut W,
118745        }
118746        impl<'a> CTSE_W<'a> {
118747            ///Sets the field bit
118748            #[inline(always)]
118749            pub fn set_bit(self) -> &'a mut W {
118750                self.bit(true)
118751            }
118752            ///Clears the field bit
118753            #[inline(always)]
118754            pub fn clear_bit(self) -> &'a mut W {
118755                self.bit(false)
118756            }
118757            ///Writes raw bits to the field
118758            #[inline(always)]
118759            pub fn bit(self, value: bool) -> &'a mut W {
118760                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
118761                self.w
118762            }
118763        }
118764        ///Reader of field `RTSE`
118765        pub type RTSE_R = crate::R<bool, bool>;
118766        ///Write proxy for field `RTSE`
118767        pub struct RTSE_W<'a> {
118768            w: &'a mut W,
118769        }
118770        impl<'a> RTSE_W<'a> {
118771            ///Sets the field bit
118772            #[inline(always)]
118773            pub fn set_bit(self) -> &'a mut W {
118774                self.bit(true)
118775            }
118776            ///Clears the field bit
118777            #[inline(always)]
118778            pub fn clear_bit(self) -> &'a mut W {
118779                self.bit(false)
118780            }
118781            ///Writes raw bits to the field
118782            #[inline(always)]
118783            pub fn bit(self, value: bool) -> &'a mut W {
118784                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
118785                self.w
118786            }
118787        }
118788        ///Reader of field `DMAT`
118789        pub type DMAT_R = crate::R<bool, bool>;
118790        ///Write proxy for field `DMAT`
118791        pub struct DMAT_W<'a> {
118792            w: &'a mut W,
118793        }
118794        impl<'a> DMAT_W<'a> {
118795            ///Sets the field bit
118796            #[inline(always)]
118797            pub fn set_bit(self) -> &'a mut W {
118798                self.bit(true)
118799            }
118800            ///Clears the field bit
118801            #[inline(always)]
118802            pub fn clear_bit(self) -> &'a mut W {
118803                self.bit(false)
118804            }
118805            ///Writes raw bits to the field
118806            #[inline(always)]
118807            pub fn bit(self, value: bool) -> &'a mut W {
118808                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
118809                self.w
118810            }
118811        }
118812        ///Reader of field `DMAR`
118813        pub type DMAR_R = crate::R<bool, bool>;
118814        ///Write proxy for field `DMAR`
118815        pub struct DMAR_W<'a> {
118816            w: &'a mut W,
118817        }
118818        impl<'a> DMAR_W<'a> {
118819            ///Sets the field bit
118820            #[inline(always)]
118821            pub fn set_bit(self) -> &'a mut W {
118822                self.bit(true)
118823            }
118824            ///Clears the field bit
118825            #[inline(always)]
118826            pub fn clear_bit(self) -> &'a mut W {
118827                self.bit(false)
118828            }
118829            ///Writes raw bits to the field
118830            #[inline(always)]
118831            pub fn bit(self, value: bool) -> &'a mut W {
118832                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
118833                self.w
118834            }
118835        }
118836        ///Reader of field `SCEN`
118837        pub type SCEN_R = crate::R<bool, bool>;
118838        ///Write proxy for field `SCEN`
118839        pub struct SCEN_W<'a> {
118840            w: &'a mut W,
118841        }
118842        impl<'a> SCEN_W<'a> {
118843            ///Sets the field bit
118844            #[inline(always)]
118845            pub fn set_bit(self) -> &'a mut W {
118846                self.bit(true)
118847            }
118848            ///Clears the field bit
118849            #[inline(always)]
118850            pub fn clear_bit(self) -> &'a mut W {
118851                self.bit(false)
118852            }
118853            ///Writes raw bits to the field
118854            #[inline(always)]
118855            pub fn bit(self, value: bool) -> &'a mut W {
118856                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
118857                self.w
118858            }
118859        }
118860        ///Reader of field `NACK`
118861        pub type NACK_R = crate::R<bool, bool>;
118862        ///Write proxy for field `NACK`
118863        pub struct NACK_W<'a> {
118864            w: &'a mut W,
118865        }
118866        impl<'a> NACK_W<'a> {
118867            ///Sets the field bit
118868            #[inline(always)]
118869            pub fn set_bit(self) -> &'a mut W {
118870                self.bit(true)
118871            }
118872            ///Clears the field bit
118873            #[inline(always)]
118874            pub fn clear_bit(self) -> &'a mut W {
118875                self.bit(false)
118876            }
118877            ///Writes raw bits to the field
118878            #[inline(always)]
118879            pub fn bit(self, value: bool) -> &'a mut W {
118880                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
118881                self.w
118882            }
118883        }
118884        ///Reader of field `HDSEL`
118885        pub type HDSEL_R = crate::R<bool, bool>;
118886        ///Write proxy for field `HDSEL`
118887        pub struct HDSEL_W<'a> {
118888            w: &'a mut W,
118889        }
118890        impl<'a> HDSEL_W<'a> {
118891            ///Sets the field bit
118892            #[inline(always)]
118893            pub fn set_bit(self) -> &'a mut W {
118894                self.bit(true)
118895            }
118896            ///Clears the field bit
118897            #[inline(always)]
118898            pub fn clear_bit(self) -> &'a mut W {
118899                self.bit(false)
118900            }
118901            ///Writes raw bits to the field
118902            #[inline(always)]
118903            pub fn bit(self, value: bool) -> &'a mut W {
118904                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
118905                self.w
118906            }
118907        }
118908        ///Reader of field `IRLP`
118909        pub type IRLP_R = crate::R<bool, bool>;
118910        ///Write proxy for field `IRLP`
118911        pub struct IRLP_W<'a> {
118912            w: &'a mut W,
118913        }
118914        impl<'a> IRLP_W<'a> {
118915            ///Sets the field bit
118916            #[inline(always)]
118917            pub fn set_bit(self) -> &'a mut W {
118918                self.bit(true)
118919            }
118920            ///Clears the field bit
118921            #[inline(always)]
118922            pub fn clear_bit(self) -> &'a mut W {
118923                self.bit(false)
118924            }
118925            ///Writes raw bits to the field
118926            #[inline(always)]
118927            pub fn bit(self, value: bool) -> &'a mut W {
118928                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
118929                self.w
118930            }
118931        }
118932        ///Reader of field `IREN`
118933        pub type IREN_R = crate::R<bool, bool>;
118934        ///Write proxy for field `IREN`
118935        pub struct IREN_W<'a> {
118936            w: &'a mut W,
118937        }
118938        impl<'a> IREN_W<'a> {
118939            ///Sets the field bit
118940            #[inline(always)]
118941            pub fn set_bit(self) -> &'a mut W {
118942                self.bit(true)
118943            }
118944            ///Clears the field bit
118945            #[inline(always)]
118946            pub fn clear_bit(self) -> &'a mut W {
118947                self.bit(false)
118948            }
118949            ///Writes raw bits to the field
118950            #[inline(always)]
118951            pub fn bit(self, value: bool) -> &'a mut W {
118952                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
118953                self.w
118954            }
118955        }
118956        ///Reader of field `EIE`
118957        pub type EIE_R = crate::R<bool, bool>;
118958        ///Write proxy for field `EIE`
118959        pub struct EIE_W<'a> {
118960            w: &'a mut W,
118961        }
118962        impl<'a> EIE_W<'a> {
118963            ///Sets the field bit
118964            #[inline(always)]
118965            pub fn set_bit(self) -> &'a mut W {
118966                self.bit(true)
118967            }
118968            ///Clears the field bit
118969            #[inline(always)]
118970            pub fn clear_bit(self) -> &'a mut W {
118971                self.bit(false)
118972            }
118973            ///Writes raw bits to the field
118974            #[inline(always)]
118975            pub fn bit(self, value: bool) -> &'a mut W {
118976                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
118977                self.w
118978            }
118979        }
118980        impl R {
118981            ///Bits 29:31 - TXFIFO threshold configuration
118982            #[inline(always)]
118983            pub fn txftcfg(&self) -> TXFTCFG_R {
118984                TXFTCFG_R::new(((self.bits >> 29) & 0x07) as u8)
118985            }
118986            ///Bit 28 - RXFIFO threshold interrupt enable
118987            #[inline(always)]
118988            pub fn rxftie(&self) -> RXFTIE_R {
118989                RXFTIE_R::new(((self.bits >> 28) & 0x01) != 0)
118990            }
118991            ///Bits 25:27 - Receive FIFO threshold configuration
118992            #[inline(always)]
118993            pub fn rxftcfg(&self) -> RXFTCFG_R {
118994                RXFTCFG_R::new(((self.bits >> 25) & 0x07) as u8)
118995            }
118996            ///Bit 24 - Tr Complete before guard time, interrupt enable
118997            #[inline(always)]
118998            pub fn tcbgtie(&self) -> TCBGTIE_R {
118999                TCBGTIE_R::new(((self.bits >> 24) & 0x01) != 0)
119000            }
119001            ///Bit 23 - threshold interrupt enable
119002            #[inline(always)]
119003            pub fn txftie(&self) -> TXFTIE_R {
119004                TXFTIE_R::new(((self.bits >> 23) & 0x01) != 0)
119005            }
119006            ///Bit 22 - Wakeup from Stop mode interrupt enable
119007            #[inline(always)]
119008            pub fn wufie(&self) -> WUFIE_R {
119009                WUFIE_R::new(((self.bits >> 22) & 0x01) != 0)
119010            }
119011            ///Bits 20:21 - Wakeup from Stop mode interrupt flag selection
119012            #[inline(always)]
119013            pub fn wus(&self) -> WUS_R {
119014                WUS_R::new(((self.bits >> 20) & 0x03) as u8)
119015            }
119016            ///Bits 17:19 - Smartcard auto-retry count
119017            #[inline(always)]
119018            pub fn scarcnt(&self) -> SCARCNT_R {
119019                SCARCNT_R::new(((self.bits >> 17) & 0x07) as u8)
119020            }
119021            ///Bit 15 - Driver enable polarity selection
119022            #[inline(always)]
119023            pub fn dep(&self) -> DEP_R {
119024                DEP_R::new(((self.bits >> 15) & 0x01) != 0)
119025            }
119026            ///Bit 14 - Driver enable mode
119027            #[inline(always)]
119028            pub fn dem(&self) -> DEM_R {
119029                DEM_R::new(((self.bits >> 14) & 0x01) != 0)
119030            }
119031            ///Bit 13 - DMA Disable on Reception Error
119032            #[inline(always)]
119033            pub fn ddre(&self) -> DDRE_R {
119034                DDRE_R::new(((self.bits >> 13) & 0x01) != 0)
119035            }
119036            ///Bit 12 - Overrun Disable
119037            #[inline(always)]
119038            pub fn ovrdis(&self) -> OVRDIS_R {
119039                OVRDIS_R::new(((self.bits >> 12) & 0x01) != 0)
119040            }
119041            ///Bit 11 - One sample bit method enable
119042            #[inline(always)]
119043            pub fn onebit(&self) -> ONEBIT_R {
119044                ONEBIT_R::new(((self.bits >> 11) & 0x01) != 0)
119045            }
119046            ///Bit 10 - CTS interrupt enable
119047            #[inline(always)]
119048            pub fn ctsie(&self) -> CTSIE_R {
119049                CTSIE_R::new(((self.bits >> 10) & 0x01) != 0)
119050            }
119051            ///Bit 9 - CTS enable
119052            #[inline(always)]
119053            pub fn ctse(&self) -> CTSE_R {
119054                CTSE_R::new(((self.bits >> 9) & 0x01) != 0)
119055            }
119056            ///Bit 8 - RTS enable
119057            #[inline(always)]
119058            pub fn rtse(&self) -> RTSE_R {
119059                RTSE_R::new(((self.bits >> 8) & 0x01) != 0)
119060            }
119061            ///Bit 7 - DMA enable transmitter
119062            #[inline(always)]
119063            pub fn dmat(&self) -> DMAT_R {
119064                DMAT_R::new(((self.bits >> 7) & 0x01) != 0)
119065            }
119066            ///Bit 6 - DMA enable receiver
119067            #[inline(always)]
119068            pub fn dmar(&self) -> DMAR_R {
119069                DMAR_R::new(((self.bits >> 6) & 0x01) != 0)
119070            }
119071            ///Bit 5 - Smartcard mode enable
119072            #[inline(always)]
119073            pub fn scen(&self) -> SCEN_R {
119074                SCEN_R::new(((self.bits >> 5) & 0x01) != 0)
119075            }
119076            ///Bit 4 - Smartcard NACK enable
119077            #[inline(always)]
119078            pub fn nack(&self) -> NACK_R {
119079                NACK_R::new(((self.bits >> 4) & 0x01) != 0)
119080            }
119081            ///Bit 3 - Half-duplex selection
119082            #[inline(always)]
119083            pub fn hdsel(&self) -> HDSEL_R {
119084                HDSEL_R::new(((self.bits >> 3) & 0x01) != 0)
119085            }
119086            ///Bit 2 - Ir low-power
119087            #[inline(always)]
119088            pub fn irlp(&self) -> IRLP_R {
119089                IRLP_R::new(((self.bits >> 2) & 0x01) != 0)
119090            }
119091            ///Bit 1 - Ir mode enable
119092            #[inline(always)]
119093            pub fn iren(&self) -> IREN_R {
119094                IREN_R::new(((self.bits >> 1) & 0x01) != 0)
119095            }
119096            ///Bit 0 - Error interrupt enable
119097            #[inline(always)]
119098            pub fn eie(&self) -> EIE_R {
119099                EIE_R::new((self.bits & 0x01) != 0)
119100            }
119101        }
119102        impl W {
119103            ///Bits 29:31 - TXFIFO threshold configuration
119104            #[inline(always)]
119105            pub fn txftcfg(&mut self) -> TXFTCFG_W {
119106                TXFTCFG_W { w: self }
119107            }
119108            ///Bit 28 - RXFIFO threshold interrupt enable
119109            #[inline(always)]
119110            pub fn rxftie(&mut self) -> RXFTIE_W {
119111                RXFTIE_W { w: self }
119112            }
119113            ///Bits 25:27 - Receive FIFO threshold configuration
119114            #[inline(always)]
119115            pub fn rxftcfg(&mut self) -> RXFTCFG_W {
119116                RXFTCFG_W { w: self }
119117            }
119118            ///Bit 24 - Tr Complete before guard time, interrupt enable
119119            #[inline(always)]
119120            pub fn tcbgtie(&mut self) -> TCBGTIE_W {
119121                TCBGTIE_W { w: self }
119122            }
119123            ///Bit 23 - threshold interrupt enable
119124            #[inline(always)]
119125            pub fn txftie(&mut self) -> TXFTIE_W {
119126                TXFTIE_W { w: self }
119127            }
119128            ///Bit 22 - Wakeup from Stop mode interrupt enable
119129            #[inline(always)]
119130            pub fn wufie(&mut self) -> WUFIE_W {
119131                WUFIE_W { w: self }
119132            }
119133            ///Bits 20:21 - Wakeup from Stop mode interrupt flag selection
119134            #[inline(always)]
119135            pub fn wus(&mut self) -> WUS_W {
119136                WUS_W { w: self }
119137            }
119138            ///Bits 17:19 - Smartcard auto-retry count
119139            #[inline(always)]
119140            pub fn scarcnt(&mut self) -> SCARCNT_W {
119141                SCARCNT_W { w: self }
119142            }
119143            ///Bit 15 - Driver enable polarity selection
119144            #[inline(always)]
119145            pub fn dep(&mut self) -> DEP_W {
119146                DEP_W { w: self }
119147            }
119148            ///Bit 14 - Driver enable mode
119149            #[inline(always)]
119150            pub fn dem(&mut self) -> DEM_W {
119151                DEM_W { w: self }
119152            }
119153            ///Bit 13 - DMA Disable on Reception Error
119154            #[inline(always)]
119155            pub fn ddre(&mut self) -> DDRE_W {
119156                DDRE_W { w: self }
119157            }
119158            ///Bit 12 - Overrun Disable
119159            #[inline(always)]
119160            pub fn ovrdis(&mut self) -> OVRDIS_W {
119161                OVRDIS_W { w: self }
119162            }
119163            ///Bit 11 - One sample bit method enable
119164            #[inline(always)]
119165            pub fn onebit(&mut self) -> ONEBIT_W {
119166                ONEBIT_W { w: self }
119167            }
119168            ///Bit 10 - CTS interrupt enable
119169            #[inline(always)]
119170            pub fn ctsie(&mut self) -> CTSIE_W {
119171                CTSIE_W { w: self }
119172            }
119173            ///Bit 9 - CTS enable
119174            #[inline(always)]
119175            pub fn ctse(&mut self) -> CTSE_W {
119176                CTSE_W { w: self }
119177            }
119178            ///Bit 8 - RTS enable
119179            #[inline(always)]
119180            pub fn rtse(&mut self) -> RTSE_W {
119181                RTSE_W { w: self }
119182            }
119183            ///Bit 7 - DMA enable transmitter
119184            #[inline(always)]
119185            pub fn dmat(&mut self) -> DMAT_W {
119186                DMAT_W { w: self }
119187            }
119188            ///Bit 6 - DMA enable receiver
119189            #[inline(always)]
119190            pub fn dmar(&mut self) -> DMAR_W {
119191                DMAR_W { w: self }
119192            }
119193            ///Bit 5 - Smartcard mode enable
119194            #[inline(always)]
119195            pub fn scen(&mut self) -> SCEN_W {
119196                SCEN_W { w: self }
119197            }
119198            ///Bit 4 - Smartcard NACK enable
119199            #[inline(always)]
119200            pub fn nack(&mut self) -> NACK_W {
119201                NACK_W { w: self }
119202            }
119203            ///Bit 3 - Half-duplex selection
119204            #[inline(always)]
119205            pub fn hdsel(&mut self) -> HDSEL_W {
119206                HDSEL_W { w: self }
119207            }
119208            ///Bit 2 - Ir low-power
119209            #[inline(always)]
119210            pub fn irlp(&mut self) -> IRLP_W {
119211                IRLP_W { w: self }
119212            }
119213            ///Bit 1 - Ir mode enable
119214            #[inline(always)]
119215            pub fn iren(&mut self) -> IREN_W {
119216                IREN_W { w: self }
119217            }
119218            ///Bit 0 - Error interrupt enable
119219            #[inline(always)]
119220            pub fn eie(&mut self) -> EIE_W {
119221                EIE_W { w: self }
119222            }
119223        }
119224    }
119225    ///Baud rate register
119226    ///
119227    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
119228    ///
119229    ///For information about available fields see [brr](brr) module
119230    pub type BRR = crate::Reg<u32, _BRR>;
119231    #[allow(missing_docs)]
119232    #[doc(hidden)]
119233    pub struct _BRR;
119234    ///`read()` method returns [brr::R](brr::R) reader structure
119235    impl crate::Readable for BRR {}
119236    ///`write(|w| ..)` method takes [brr::W](brr::W) writer structure
119237    impl crate::Writable for BRR {}
119238    ///Baud rate register
119239    pub mod brr {
119240        ///Reader of register BRR
119241        pub type R = crate::R<u32, super::BRR>;
119242        ///Writer for register BRR
119243        pub type W = crate::W<u32, super::BRR>;
119244        ///Register BRR `reset()`'s with value 0
119245        impl crate::ResetValue for super::BRR {
119246            type Type = u32;
119247            #[inline(always)]
119248            fn reset_value() -> Self::Type {
119249                0
119250            }
119251        }
119252        ///Reader of field `BRR`
119253        pub type BRR_R = crate::R<u16, u16>;
119254        ///Write proxy for field `BRR`
119255        pub struct BRR_W<'a> {
119256            w: &'a mut W,
119257        }
119258        impl<'a> BRR_W<'a> {
119259            ///Writes raw bits to the field
119260            #[inline(always)]
119261            pub unsafe fn bits(self, value: u16) -> &'a mut W {
119262                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
119263                self.w
119264            }
119265        }
119266        impl R {
119267            ///Bits 0:15 - BRR_4_15
119268            #[inline(always)]
119269            pub fn brr(&self) -> BRR_R {
119270                BRR_R::new((self.bits & 0xffff) as u16)
119271            }
119272        }
119273        impl W {
119274            ///Bits 0:15 - BRR_4_15
119275            #[inline(always)]
119276            pub fn brr(&mut self) -> BRR_W {
119277                BRR_W { w: self }
119278            }
119279        }
119280    }
119281    ///Guard time and prescaler register
119282    ///
119283    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
119284    ///
119285    ///For information about available fields see [gtpr](gtpr) module
119286    pub type GTPR = crate::Reg<u32, _GTPR>;
119287    #[allow(missing_docs)]
119288    #[doc(hidden)]
119289    pub struct _GTPR;
119290    ///`read()` method returns [gtpr::R](gtpr::R) reader structure
119291    impl crate::Readable for GTPR {}
119292    ///`write(|w| ..)` method takes [gtpr::W](gtpr::W) writer structure
119293    impl crate::Writable for GTPR {}
119294    ///Guard time and prescaler register
119295    pub mod gtpr {
119296        ///Reader of register GTPR
119297        pub type R = crate::R<u32, super::GTPR>;
119298        ///Writer for register GTPR
119299        pub type W = crate::W<u32, super::GTPR>;
119300        ///Register GTPR `reset()`'s with value 0
119301        impl crate::ResetValue for super::GTPR {
119302            type Type = u32;
119303            #[inline(always)]
119304            fn reset_value() -> Self::Type {
119305                0
119306            }
119307        }
119308        ///Reader of field `GT`
119309        pub type GT_R = crate::R<u8, u8>;
119310        ///Write proxy for field `GT`
119311        pub struct GT_W<'a> {
119312            w: &'a mut W,
119313        }
119314        impl<'a> GT_W<'a> {
119315            ///Writes raw bits to the field
119316            #[inline(always)]
119317            pub unsafe fn bits(self, value: u8) -> &'a mut W {
119318                self.w.bits = (self.w.bits & !(0xff << 8)) | (((value as u32) & 0xff) << 8);
119319                self.w
119320            }
119321        }
119322        ///Reader of field `PSC`
119323        pub type PSC_R = crate::R<u8, u8>;
119324        ///Write proxy for field `PSC`
119325        pub struct PSC_W<'a> {
119326            w: &'a mut W,
119327        }
119328        impl<'a> PSC_W<'a> {
119329            ///Writes raw bits to the field
119330            #[inline(always)]
119331            pub unsafe fn bits(self, value: u8) -> &'a mut W {
119332                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
119333                self.w
119334            }
119335        }
119336        impl R {
119337            ///Bits 8:15 - Guard time value
119338            #[inline(always)]
119339            pub fn gt(&self) -> GT_R {
119340                GT_R::new(((self.bits >> 8) & 0xff) as u8)
119341            }
119342            ///Bits 0:7 - Prescaler value
119343            #[inline(always)]
119344            pub fn psc(&self) -> PSC_R {
119345                PSC_R::new((self.bits & 0xff) as u8)
119346            }
119347        }
119348        impl W {
119349            ///Bits 8:15 - Guard time value
119350            #[inline(always)]
119351            pub fn gt(&mut self) -> GT_W {
119352                GT_W { w: self }
119353            }
119354            ///Bits 0:7 - Prescaler value
119355            #[inline(always)]
119356            pub fn psc(&mut self) -> PSC_W {
119357                PSC_W { w: self }
119358            }
119359        }
119360    }
119361    ///Receiver timeout register
119362    ///
119363    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
119364    ///
119365    ///For information about available fields see [rtor](rtor) module
119366    pub type RTOR = crate::Reg<u32, _RTOR>;
119367    #[allow(missing_docs)]
119368    #[doc(hidden)]
119369    pub struct _RTOR;
119370    ///`read()` method returns [rtor::R](rtor::R) reader structure
119371    impl crate::Readable for RTOR {}
119372    ///`write(|w| ..)` method takes [rtor::W](rtor::W) writer structure
119373    impl crate::Writable for RTOR {}
119374    ///Receiver timeout register
119375    pub mod rtor {
119376        ///Reader of register RTOR
119377        pub type R = crate::R<u32, super::RTOR>;
119378        ///Writer for register RTOR
119379        pub type W = crate::W<u32, super::RTOR>;
119380        ///Register RTOR `reset()`'s with value 0
119381        impl crate::ResetValue for super::RTOR {
119382            type Type = u32;
119383            #[inline(always)]
119384            fn reset_value() -> Self::Type {
119385                0
119386            }
119387        }
119388        ///Reader of field `BLEN`
119389        pub type BLEN_R = crate::R<u8, u8>;
119390        ///Write proxy for field `BLEN`
119391        pub struct BLEN_W<'a> {
119392            w: &'a mut W,
119393        }
119394        impl<'a> BLEN_W<'a> {
119395            ///Writes raw bits to the field
119396            #[inline(always)]
119397            pub unsafe fn bits(self, value: u8) -> &'a mut W {
119398                self.w.bits = (self.w.bits & !(0xff << 24)) | (((value as u32) & 0xff) << 24);
119399                self.w
119400            }
119401        }
119402        ///Reader of field `RTO`
119403        pub type RTO_R = crate::R<u32, u32>;
119404        ///Write proxy for field `RTO`
119405        pub struct RTO_W<'a> {
119406            w: &'a mut W,
119407        }
119408        impl<'a> RTO_W<'a> {
119409            ///Writes raw bits to the field
119410            #[inline(always)]
119411            pub unsafe fn bits(self, value: u32) -> &'a mut W {
119412                self.w.bits = (self.w.bits & !0x00ff_ffff) | ((value as u32) & 0x00ff_ffff);
119413                self.w
119414            }
119415        }
119416        impl R {
119417            ///Bits 24:31 - Block Length
119418            #[inline(always)]
119419            pub fn blen(&self) -> BLEN_R {
119420                BLEN_R::new(((self.bits >> 24) & 0xff) as u8)
119421            }
119422            ///Bits 0:23 - Receiver timeout value
119423            #[inline(always)]
119424            pub fn rto(&self) -> RTO_R {
119425                RTO_R::new((self.bits & 0x00ff_ffff) as u32)
119426            }
119427        }
119428        impl W {
119429            ///Bits 24:31 - Block Length
119430            #[inline(always)]
119431            pub fn blen(&mut self) -> BLEN_W {
119432                BLEN_W { w: self }
119433            }
119434            ///Bits 0:23 - Receiver timeout value
119435            #[inline(always)]
119436            pub fn rto(&mut self) -> RTO_W {
119437                RTO_W { w: self }
119438            }
119439        }
119440    }
119441    ///Request register
119442    ///
119443    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
119444    ///
119445    ///For information about available fields see [rqr](rqr) module
119446    pub type RQR = crate::Reg<u32, _RQR>;
119447    #[allow(missing_docs)]
119448    #[doc(hidden)]
119449    pub struct _RQR;
119450    ///`write(|w| ..)` method takes [rqr::W](rqr::W) writer structure
119451    impl crate::Writable for RQR {}
119452    ///Request register
119453    pub mod rqr {
119454        ///Writer for register RQR
119455        pub type W = crate::W<u32, super::RQR>;
119456        ///Register RQR `reset()`'s with value 0
119457        impl crate::ResetValue for super::RQR {
119458            type Type = u32;
119459            #[inline(always)]
119460            fn reset_value() -> Self::Type {
119461                0
119462            }
119463        }
119464        ///Write proxy for field `TXFRQ`
119465        pub struct TXFRQ_W<'a> {
119466            w: &'a mut W,
119467        }
119468        impl<'a> TXFRQ_W<'a> {
119469            ///Sets the field bit
119470            #[inline(always)]
119471            pub fn set_bit(self) -> &'a mut W {
119472                self.bit(true)
119473            }
119474            ///Clears the field bit
119475            #[inline(always)]
119476            pub fn clear_bit(self) -> &'a mut W {
119477                self.bit(false)
119478            }
119479            ///Writes raw bits to the field
119480            #[inline(always)]
119481            pub fn bit(self, value: bool) -> &'a mut W {
119482                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
119483                self.w
119484            }
119485        }
119486        ///Write proxy for field `RXFRQ`
119487        pub struct RXFRQ_W<'a> {
119488            w: &'a mut W,
119489        }
119490        impl<'a> RXFRQ_W<'a> {
119491            ///Sets the field bit
119492            #[inline(always)]
119493            pub fn set_bit(self) -> &'a mut W {
119494                self.bit(true)
119495            }
119496            ///Clears the field bit
119497            #[inline(always)]
119498            pub fn clear_bit(self) -> &'a mut W {
119499                self.bit(false)
119500            }
119501            ///Writes raw bits to the field
119502            #[inline(always)]
119503            pub fn bit(self, value: bool) -> &'a mut W {
119504                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
119505                self.w
119506            }
119507        }
119508        ///Write proxy for field `MMRQ`
119509        pub struct MMRQ_W<'a> {
119510            w: &'a mut W,
119511        }
119512        impl<'a> MMRQ_W<'a> {
119513            ///Sets the field bit
119514            #[inline(always)]
119515            pub fn set_bit(self) -> &'a mut W {
119516                self.bit(true)
119517            }
119518            ///Clears the field bit
119519            #[inline(always)]
119520            pub fn clear_bit(self) -> &'a mut W {
119521                self.bit(false)
119522            }
119523            ///Writes raw bits to the field
119524            #[inline(always)]
119525            pub fn bit(self, value: bool) -> &'a mut W {
119526                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
119527                self.w
119528            }
119529        }
119530        ///Write proxy for field `SBKRQ`
119531        pub struct SBKRQ_W<'a> {
119532            w: &'a mut W,
119533        }
119534        impl<'a> SBKRQ_W<'a> {
119535            ///Sets the field bit
119536            #[inline(always)]
119537            pub fn set_bit(self) -> &'a mut W {
119538                self.bit(true)
119539            }
119540            ///Clears the field bit
119541            #[inline(always)]
119542            pub fn clear_bit(self) -> &'a mut W {
119543                self.bit(false)
119544            }
119545            ///Writes raw bits to the field
119546            #[inline(always)]
119547            pub fn bit(self, value: bool) -> &'a mut W {
119548                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
119549                self.w
119550            }
119551        }
119552        ///Write proxy for field `ABRRQ`
119553        pub struct ABRRQ_W<'a> {
119554            w: &'a mut W,
119555        }
119556        impl<'a> ABRRQ_W<'a> {
119557            ///Sets the field bit
119558            #[inline(always)]
119559            pub fn set_bit(self) -> &'a mut W {
119560                self.bit(true)
119561            }
119562            ///Clears the field bit
119563            #[inline(always)]
119564            pub fn clear_bit(self) -> &'a mut W {
119565                self.bit(false)
119566            }
119567            ///Writes raw bits to the field
119568            #[inline(always)]
119569            pub fn bit(self, value: bool) -> &'a mut W {
119570                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
119571                self.w
119572            }
119573        }
119574        impl W {
119575            ///Bit 4 - Transmit data flush request
119576            #[inline(always)]
119577            pub fn txfrq(&mut self) -> TXFRQ_W {
119578                TXFRQ_W { w: self }
119579            }
119580            ///Bit 3 - Receive data flush request
119581            #[inline(always)]
119582            pub fn rxfrq(&mut self) -> RXFRQ_W {
119583                RXFRQ_W { w: self }
119584            }
119585            ///Bit 2 - Mute mode request
119586            #[inline(always)]
119587            pub fn mmrq(&mut self) -> MMRQ_W {
119588                MMRQ_W { w: self }
119589            }
119590            ///Bit 1 - Send break request
119591            #[inline(always)]
119592            pub fn sbkrq(&mut self) -> SBKRQ_W {
119593                SBKRQ_W { w: self }
119594            }
119595            ///Bit 0 - Auto baud rate request
119596            #[inline(always)]
119597            pub fn abrrq(&mut self) -> ABRRQ_W {
119598                ABRRQ_W { w: self }
119599            }
119600        }
119601    }
119602    ///Interrupt & status register
119603    ///
119604    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
119605    ///
119606    ///For information about available fields see [isr](isr) module
119607    pub type ISR = crate::Reg<u32, _ISR>;
119608    #[allow(missing_docs)]
119609    #[doc(hidden)]
119610    pub struct _ISR;
119611    ///`read()` method returns [isr::R](isr::R) reader structure
119612    impl crate::Readable for ISR {}
119613    ///Interrupt & status register
119614    pub mod isr {
119615        ///Reader of register ISR
119616        pub type R = crate::R<u32, super::ISR>;
119617        ///Reader of field `TXFT`
119618        pub type TXFT_R = crate::R<bool, bool>;
119619        ///Reader of field `RXFT`
119620        pub type RXFT_R = crate::R<bool, bool>;
119621        ///Reader of field `TCBGT`
119622        pub type TCBGT_R = crate::R<bool, bool>;
119623        ///Reader of field `RXFF`
119624        pub type RXFF_R = crate::R<bool, bool>;
119625        ///Reader of field `TXFE`
119626        pub type TXFE_R = crate::R<bool, bool>;
119627        ///Reader of field `REACK`
119628        pub type REACK_R = crate::R<bool, bool>;
119629        ///Reader of field `TEACK`
119630        pub type TEACK_R = crate::R<bool, bool>;
119631        ///Reader of field `WUF`
119632        pub type WUF_R = crate::R<bool, bool>;
119633        ///Reader of field `RWU`
119634        pub type RWU_R = crate::R<bool, bool>;
119635        ///Reader of field `SBKF`
119636        pub type SBKF_R = crate::R<bool, bool>;
119637        ///Reader of field `CMF`
119638        pub type CMF_R = crate::R<bool, bool>;
119639        ///Reader of field `BUSY`
119640        pub type BUSY_R = crate::R<bool, bool>;
119641        ///Reader of field `ABRF`
119642        pub type ABRF_R = crate::R<bool, bool>;
119643        ///Reader of field `ABRE`
119644        pub type ABRE_R = crate::R<bool, bool>;
119645        ///Reader of field `UDR`
119646        pub type UDR_R = crate::R<bool, bool>;
119647        ///Reader of field `EOBF`
119648        pub type EOBF_R = crate::R<bool, bool>;
119649        ///Reader of field `RTOF`
119650        pub type RTOF_R = crate::R<bool, bool>;
119651        ///Reader of field `CTS`
119652        pub type CTS_R = crate::R<bool, bool>;
119653        ///Reader of field `CTSIF`
119654        pub type CTSIF_R = crate::R<bool, bool>;
119655        ///Reader of field `LBDF`
119656        pub type LBDF_R = crate::R<bool, bool>;
119657        ///Reader of field `TXE`
119658        pub type TXE_R = crate::R<bool, bool>;
119659        ///Reader of field `TC`
119660        pub type TC_R = crate::R<bool, bool>;
119661        ///Reader of field `RXNE`
119662        pub type RXNE_R = crate::R<bool, bool>;
119663        ///Reader of field `IDLE`
119664        pub type IDLE_R = crate::R<bool, bool>;
119665        ///Reader of field `ORE`
119666        pub type ORE_R = crate::R<bool, bool>;
119667        ///Reader of field `NF`
119668        pub type NF_R = crate::R<bool, bool>;
119669        ///Reader of field `FE`
119670        pub type FE_R = crate::R<bool, bool>;
119671        ///Reader of field `PE`
119672        pub type PE_R = crate::R<bool, bool>;
119673        impl R {
119674            ///Bit 27 - TXFIFO threshold flag
119675            #[inline(always)]
119676            pub fn txft(&self) -> TXFT_R {
119677                TXFT_R::new(((self.bits >> 27) & 0x01) != 0)
119678            }
119679            ///Bit 26 - RXFIFO threshold flag
119680            #[inline(always)]
119681            pub fn rxft(&self) -> RXFT_R {
119682                RXFT_R::new(((self.bits >> 26) & 0x01) != 0)
119683            }
119684            ///Bit 25 - Transmission complete before guard time flag
119685            #[inline(always)]
119686            pub fn tcbgt(&self) -> TCBGT_R {
119687                TCBGT_R::new(((self.bits >> 25) & 0x01) != 0)
119688            }
119689            ///Bit 24 - RXFIFO Full
119690            #[inline(always)]
119691            pub fn rxff(&self) -> RXFF_R {
119692                RXFF_R::new(((self.bits >> 24) & 0x01) != 0)
119693            }
119694            ///Bit 23 - TXFIFO Empty
119695            #[inline(always)]
119696            pub fn txfe(&self) -> TXFE_R {
119697                TXFE_R::new(((self.bits >> 23) & 0x01) != 0)
119698            }
119699            ///Bit 22 - REACK
119700            #[inline(always)]
119701            pub fn reack(&self) -> REACK_R {
119702                REACK_R::new(((self.bits >> 22) & 0x01) != 0)
119703            }
119704            ///Bit 21 - TEACK
119705            #[inline(always)]
119706            pub fn teack(&self) -> TEACK_R {
119707                TEACK_R::new(((self.bits >> 21) & 0x01) != 0)
119708            }
119709            ///Bit 20 - WUF
119710            #[inline(always)]
119711            pub fn wuf(&self) -> WUF_R {
119712                WUF_R::new(((self.bits >> 20) & 0x01) != 0)
119713            }
119714            ///Bit 19 - RWU
119715            #[inline(always)]
119716            pub fn rwu(&self) -> RWU_R {
119717                RWU_R::new(((self.bits >> 19) & 0x01) != 0)
119718            }
119719            ///Bit 18 - SBKF
119720            #[inline(always)]
119721            pub fn sbkf(&self) -> SBKF_R {
119722                SBKF_R::new(((self.bits >> 18) & 0x01) != 0)
119723            }
119724            ///Bit 17 - CMF
119725            #[inline(always)]
119726            pub fn cmf(&self) -> CMF_R {
119727                CMF_R::new(((self.bits >> 17) & 0x01) != 0)
119728            }
119729            ///Bit 16 - BUSY
119730            #[inline(always)]
119731            pub fn busy(&self) -> BUSY_R {
119732                BUSY_R::new(((self.bits >> 16) & 0x01) != 0)
119733            }
119734            ///Bit 15 - ABRF
119735            #[inline(always)]
119736            pub fn abrf(&self) -> ABRF_R {
119737                ABRF_R::new(((self.bits >> 15) & 0x01) != 0)
119738            }
119739            ///Bit 14 - ABRE
119740            #[inline(always)]
119741            pub fn abre(&self) -> ABRE_R {
119742                ABRE_R::new(((self.bits >> 14) & 0x01) != 0)
119743            }
119744            ///Bit 13 - SPI slave underrun error flag
119745            #[inline(always)]
119746            pub fn udr(&self) -> UDR_R {
119747                UDR_R::new(((self.bits >> 13) & 0x01) != 0)
119748            }
119749            ///Bit 12 - EOBF
119750            #[inline(always)]
119751            pub fn eobf(&self) -> EOBF_R {
119752                EOBF_R::new(((self.bits >> 12) & 0x01) != 0)
119753            }
119754            ///Bit 11 - RTOF
119755            #[inline(always)]
119756            pub fn rtof(&self) -> RTOF_R {
119757                RTOF_R::new(((self.bits >> 11) & 0x01) != 0)
119758            }
119759            ///Bit 10 - CTS
119760            #[inline(always)]
119761            pub fn cts(&self) -> CTS_R {
119762                CTS_R::new(((self.bits >> 10) & 0x01) != 0)
119763            }
119764            ///Bit 9 - CTSIF
119765            #[inline(always)]
119766            pub fn ctsif(&self) -> CTSIF_R {
119767                CTSIF_R::new(((self.bits >> 9) & 0x01) != 0)
119768            }
119769            ///Bit 8 - LBDF
119770            #[inline(always)]
119771            pub fn lbdf(&self) -> LBDF_R {
119772                LBDF_R::new(((self.bits >> 8) & 0x01) != 0)
119773            }
119774            ///Bit 7 - TXE
119775            #[inline(always)]
119776            pub fn txe(&self) -> TXE_R {
119777                TXE_R::new(((self.bits >> 7) & 0x01) != 0)
119778            }
119779            ///Bit 6 - TC
119780            #[inline(always)]
119781            pub fn tc(&self) -> TC_R {
119782                TC_R::new(((self.bits >> 6) & 0x01) != 0)
119783            }
119784            ///Bit 5 - RXNE
119785            #[inline(always)]
119786            pub fn rxne(&self) -> RXNE_R {
119787                RXNE_R::new(((self.bits >> 5) & 0x01) != 0)
119788            }
119789            ///Bit 4 - IDLE
119790            #[inline(always)]
119791            pub fn idle(&self) -> IDLE_R {
119792                IDLE_R::new(((self.bits >> 4) & 0x01) != 0)
119793            }
119794            ///Bit 3 - ORE
119795            #[inline(always)]
119796            pub fn ore(&self) -> ORE_R {
119797                ORE_R::new(((self.bits >> 3) & 0x01) != 0)
119798            }
119799            ///Bit 2 - NF
119800            #[inline(always)]
119801            pub fn nf(&self) -> NF_R {
119802                NF_R::new(((self.bits >> 2) & 0x01) != 0)
119803            }
119804            ///Bit 1 - FE
119805            #[inline(always)]
119806            pub fn fe(&self) -> FE_R {
119807                FE_R::new(((self.bits >> 1) & 0x01) != 0)
119808            }
119809            ///Bit 0 - PE
119810            #[inline(always)]
119811            pub fn pe(&self) -> PE_R {
119812                PE_R::new((self.bits & 0x01) != 0)
119813            }
119814        }
119815    }
119816    ///Interrupt flag clear register
119817    ///
119818    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
119819    ///
119820    ///For information about available fields see [icr](icr) module
119821    pub type ICR = crate::Reg<u32, _ICR>;
119822    #[allow(missing_docs)]
119823    #[doc(hidden)]
119824    pub struct _ICR;
119825    ///`write(|w| ..)` method takes [icr::W](icr::W) writer structure
119826    impl crate::Writable for ICR {}
119827    ///Interrupt flag clear register
119828    pub mod icr {
119829        ///Writer for register ICR
119830        pub type W = crate::W<u32, super::ICR>;
119831        ///Register ICR `reset()`'s with value 0
119832        impl crate::ResetValue for super::ICR {
119833            type Type = u32;
119834            #[inline(always)]
119835            fn reset_value() -> Self::Type {
119836                0
119837            }
119838        }
119839        ///Write proxy for field `WUCF`
119840        pub struct WUCF_W<'a> {
119841            w: &'a mut W,
119842        }
119843        impl<'a> WUCF_W<'a> {
119844            ///Sets the field bit
119845            #[inline(always)]
119846            pub fn set_bit(self) -> &'a mut W {
119847                self.bit(true)
119848            }
119849            ///Clears the field bit
119850            #[inline(always)]
119851            pub fn clear_bit(self) -> &'a mut W {
119852                self.bit(false)
119853            }
119854            ///Writes raw bits to the field
119855            #[inline(always)]
119856            pub fn bit(self, value: bool) -> &'a mut W {
119857                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
119858                self.w
119859            }
119860        }
119861        ///Write proxy for field `CMCF`
119862        pub struct CMCF_W<'a> {
119863            w: &'a mut W,
119864        }
119865        impl<'a> CMCF_W<'a> {
119866            ///Sets the field bit
119867            #[inline(always)]
119868            pub fn set_bit(self) -> &'a mut W {
119869                self.bit(true)
119870            }
119871            ///Clears the field bit
119872            #[inline(always)]
119873            pub fn clear_bit(self) -> &'a mut W {
119874                self.bit(false)
119875            }
119876            ///Writes raw bits to the field
119877            #[inline(always)]
119878            pub fn bit(self, value: bool) -> &'a mut W {
119879                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
119880                self.w
119881            }
119882        }
119883        ///Write proxy for field `UDRCF`
119884        pub struct UDRCF_W<'a> {
119885            w: &'a mut W,
119886        }
119887        impl<'a> UDRCF_W<'a> {
119888            ///Sets the field bit
119889            #[inline(always)]
119890            pub fn set_bit(self) -> &'a mut W {
119891                self.bit(true)
119892            }
119893            ///Clears the field bit
119894            #[inline(always)]
119895            pub fn clear_bit(self) -> &'a mut W {
119896                self.bit(false)
119897            }
119898            ///Writes raw bits to the field
119899            #[inline(always)]
119900            pub fn bit(self, value: bool) -> &'a mut W {
119901                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
119902                self.w
119903            }
119904        }
119905        ///Write proxy for field `EOBCF`
119906        pub struct EOBCF_W<'a> {
119907            w: &'a mut W,
119908        }
119909        impl<'a> EOBCF_W<'a> {
119910            ///Sets the field bit
119911            #[inline(always)]
119912            pub fn set_bit(self) -> &'a mut W {
119913                self.bit(true)
119914            }
119915            ///Clears the field bit
119916            #[inline(always)]
119917            pub fn clear_bit(self) -> &'a mut W {
119918                self.bit(false)
119919            }
119920            ///Writes raw bits to the field
119921            #[inline(always)]
119922            pub fn bit(self, value: bool) -> &'a mut W {
119923                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
119924                self.w
119925            }
119926        }
119927        ///Write proxy for field `RTOCF`
119928        pub struct RTOCF_W<'a> {
119929            w: &'a mut W,
119930        }
119931        impl<'a> RTOCF_W<'a> {
119932            ///Sets the field bit
119933            #[inline(always)]
119934            pub fn set_bit(self) -> &'a mut W {
119935                self.bit(true)
119936            }
119937            ///Clears the field bit
119938            #[inline(always)]
119939            pub fn clear_bit(self) -> &'a mut W {
119940                self.bit(false)
119941            }
119942            ///Writes raw bits to the field
119943            #[inline(always)]
119944            pub fn bit(self, value: bool) -> &'a mut W {
119945                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
119946                self.w
119947            }
119948        }
119949        ///Write proxy for field `CTSCF`
119950        pub struct CTSCF_W<'a> {
119951            w: &'a mut W,
119952        }
119953        impl<'a> CTSCF_W<'a> {
119954            ///Sets the field bit
119955            #[inline(always)]
119956            pub fn set_bit(self) -> &'a mut W {
119957                self.bit(true)
119958            }
119959            ///Clears the field bit
119960            #[inline(always)]
119961            pub fn clear_bit(self) -> &'a mut W {
119962                self.bit(false)
119963            }
119964            ///Writes raw bits to the field
119965            #[inline(always)]
119966            pub fn bit(self, value: bool) -> &'a mut W {
119967                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
119968                self.w
119969            }
119970        }
119971        ///Write proxy for field `LBDCF`
119972        pub struct LBDCF_W<'a> {
119973            w: &'a mut W,
119974        }
119975        impl<'a> LBDCF_W<'a> {
119976            ///Sets the field bit
119977            #[inline(always)]
119978            pub fn set_bit(self) -> &'a mut W {
119979                self.bit(true)
119980            }
119981            ///Clears the field bit
119982            #[inline(always)]
119983            pub fn clear_bit(self) -> &'a mut W {
119984                self.bit(false)
119985            }
119986            ///Writes raw bits to the field
119987            #[inline(always)]
119988            pub fn bit(self, value: bool) -> &'a mut W {
119989                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
119990                self.w
119991            }
119992        }
119993        ///Write proxy for field `TCBGTCF`
119994        pub struct TCBGTCF_W<'a> {
119995            w: &'a mut W,
119996        }
119997        impl<'a> TCBGTCF_W<'a> {
119998            ///Sets the field bit
119999            #[inline(always)]
120000            pub fn set_bit(self) -> &'a mut W {
120001                self.bit(true)
120002            }
120003            ///Clears the field bit
120004            #[inline(always)]
120005            pub fn clear_bit(self) -> &'a mut W {
120006                self.bit(false)
120007            }
120008            ///Writes raw bits to the field
120009            #[inline(always)]
120010            pub fn bit(self, value: bool) -> &'a mut W {
120011                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
120012                self.w
120013            }
120014        }
120015        ///Write proxy for field `TCCF`
120016        pub struct TCCF_W<'a> {
120017            w: &'a mut W,
120018        }
120019        impl<'a> TCCF_W<'a> {
120020            ///Sets the field bit
120021            #[inline(always)]
120022            pub fn set_bit(self) -> &'a mut W {
120023                self.bit(true)
120024            }
120025            ///Clears the field bit
120026            #[inline(always)]
120027            pub fn clear_bit(self) -> &'a mut W {
120028                self.bit(false)
120029            }
120030            ///Writes raw bits to the field
120031            #[inline(always)]
120032            pub fn bit(self, value: bool) -> &'a mut W {
120033                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
120034                self.w
120035            }
120036        }
120037        ///Write proxy for field `TXFECF`
120038        pub struct TXFECF_W<'a> {
120039            w: &'a mut W,
120040        }
120041        impl<'a> TXFECF_W<'a> {
120042            ///Sets the field bit
120043            #[inline(always)]
120044            pub fn set_bit(self) -> &'a mut W {
120045                self.bit(true)
120046            }
120047            ///Clears the field bit
120048            #[inline(always)]
120049            pub fn clear_bit(self) -> &'a mut W {
120050                self.bit(false)
120051            }
120052            ///Writes raw bits to the field
120053            #[inline(always)]
120054            pub fn bit(self, value: bool) -> &'a mut W {
120055                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
120056                self.w
120057            }
120058        }
120059        ///Write proxy for field `IDLECF`
120060        pub struct IDLECF_W<'a> {
120061            w: &'a mut W,
120062        }
120063        impl<'a> IDLECF_W<'a> {
120064            ///Sets the field bit
120065            #[inline(always)]
120066            pub fn set_bit(self) -> &'a mut W {
120067                self.bit(true)
120068            }
120069            ///Clears the field bit
120070            #[inline(always)]
120071            pub fn clear_bit(self) -> &'a mut W {
120072                self.bit(false)
120073            }
120074            ///Writes raw bits to the field
120075            #[inline(always)]
120076            pub fn bit(self, value: bool) -> &'a mut W {
120077                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
120078                self.w
120079            }
120080        }
120081        ///Write proxy for field `ORECF`
120082        pub struct ORECF_W<'a> {
120083            w: &'a mut W,
120084        }
120085        impl<'a> ORECF_W<'a> {
120086            ///Sets the field bit
120087            #[inline(always)]
120088            pub fn set_bit(self) -> &'a mut W {
120089                self.bit(true)
120090            }
120091            ///Clears the field bit
120092            #[inline(always)]
120093            pub fn clear_bit(self) -> &'a mut W {
120094                self.bit(false)
120095            }
120096            ///Writes raw bits to the field
120097            #[inline(always)]
120098            pub fn bit(self, value: bool) -> &'a mut W {
120099                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
120100                self.w
120101            }
120102        }
120103        ///Write proxy for field `NCF`
120104        pub struct NCF_W<'a> {
120105            w: &'a mut W,
120106        }
120107        impl<'a> NCF_W<'a> {
120108            ///Sets the field bit
120109            #[inline(always)]
120110            pub fn set_bit(self) -> &'a mut W {
120111                self.bit(true)
120112            }
120113            ///Clears the field bit
120114            #[inline(always)]
120115            pub fn clear_bit(self) -> &'a mut W {
120116                self.bit(false)
120117            }
120118            ///Writes raw bits to the field
120119            #[inline(always)]
120120            pub fn bit(self, value: bool) -> &'a mut W {
120121                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
120122                self.w
120123            }
120124        }
120125        ///Write proxy for field `FECF`
120126        pub struct FECF_W<'a> {
120127            w: &'a mut W,
120128        }
120129        impl<'a> FECF_W<'a> {
120130            ///Sets the field bit
120131            #[inline(always)]
120132            pub fn set_bit(self) -> &'a mut W {
120133                self.bit(true)
120134            }
120135            ///Clears the field bit
120136            #[inline(always)]
120137            pub fn clear_bit(self) -> &'a mut W {
120138                self.bit(false)
120139            }
120140            ///Writes raw bits to the field
120141            #[inline(always)]
120142            pub fn bit(self, value: bool) -> &'a mut W {
120143                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
120144                self.w
120145            }
120146        }
120147        ///Write proxy for field `PECF`
120148        pub struct PECF_W<'a> {
120149            w: &'a mut W,
120150        }
120151        impl<'a> PECF_W<'a> {
120152            ///Sets the field bit
120153            #[inline(always)]
120154            pub fn set_bit(self) -> &'a mut W {
120155                self.bit(true)
120156            }
120157            ///Clears the field bit
120158            #[inline(always)]
120159            pub fn clear_bit(self) -> &'a mut W {
120160                self.bit(false)
120161            }
120162            ///Writes raw bits to the field
120163            #[inline(always)]
120164            pub fn bit(self, value: bool) -> &'a mut W {
120165                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
120166                self.w
120167            }
120168        }
120169        impl W {
120170            ///Bit 20 - Wakeup from Stop mode clear flag
120171            #[inline(always)]
120172            pub fn wucf(&mut self) -> WUCF_W {
120173                WUCF_W { w: self }
120174            }
120175            ///Bit 17 - Character match clear flag
120176            #[inline(always)]
120177            pub fn cmcf(&mut self) -> CMCF_W {
120178                CMCF_W { w: self }
120179            }
120180            ///Bit 13 - SPI slave underrun clear flag
120181            #[inline(always)]
120182            pub fn udrcf(&mut self) -> UDRCF_W {
120183                UDRCF_W { w: self }
120184            }
120185            ///Bit 12 - End of block clear flag
120186            #[inline(always)]
120187            pub fn eobcf(&mut self) -> EOBCF_W {
120188                EOBCF_W { w: self }
120189            }
120190            ///Bit 11 - Receiver timeout clear flag
120191            #[inline(always)]
120192            pub fn rtocf(&mut self) -> RTOCF_W {
120193                RTOCF_W { w: self }
120194            }
120195            ///Bit 9 - CTS clear flag
120196            #[inline(always)]
120197            pub fn ctscf(&mut self) -> CTSCF_W {
120198                CTSCF_W { w: self }
120199            }
120200            ///Bit 8 - LIN break detection clear flag
120201            #[inline(always)]
120202            pub fn lbdcf(&mut self) -> LBDCF_W {
120203                LBDCF_W { w: self }
120204            }
120205            ///Bit 7 - Transmission complete before Guard time clear flag
120206            #[inline(always)]
120207            pub fn tcbgtcf(&mut self) -> TCBGTCF_W {
120208                TCBGTCF_W { w: self }
120209            }
120210            ///Bit 6 - Transmission complete clear flag
120211            #[inline(always)]
120212            pub fn tccf(&mut self) -> TCCF_W {
120213                TCCF_W { w: self }
120214            }
120215            ///Bit 5 - TXFIFO empty clear flag
120216            #[inline(always)]
120217            pub fn txfecf(&mut self) -> TXFECF_W {
120218                TXFECF_W { w: self }
120219            }
120220            ///Bit 4 - Idle line detected clear flag
120221            #[inline(always)]
120222            pub fn idlecf(&mut self) -> IDLECF_W {
120223                IDLECF_W { w: self }
120224            }
120225            ///Bit 3 - Overrun error clear flag
120226            #[inline(always)]
120227            pub fn orecf(&mut self) -> ORECF_W {
120228                ORECF_W { w: self }
120229            }
120230            ///Bit 2 - Noise detected clear flag
120231            #[inline(always)]
120232            pub fn ncf(&mut self) -> NCF_W {
120233                NCF_W { w: self }
120234            }
120235            ///Bit 1 - Framing error clear flag
120236            #[inline(always)]
120237            pub fn fecf(&mut self) -> FECF_W {
120238                FECF_W { w: self }
120239            }
120240            ///Bit 0 - Parity error clear flag
120241            #[inline(always)]
120242            pub fn pecf(&mut self) -> PECF_W {
120243                PECF_W { w: self }
120244            }
120245        }
120246    }
120247    ///Receive data register
120248    ///
120249    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
120250    ///
120251    ///For information about available fields see [rdr](rdr) module
120252    pub type RDR = crate::Reg<u32, _RDR>;
120253    #[allow(missing_docs)]
120254    #[doc(hidden)]
120255    pub struct _RDR;
120256    ///`read()` method returns [rdr::R](rdr::R) reader structure
120257    impl crate::Readable for RDR {}
120258    ///Receive data register
120259    pub mod rdr {
120260        ///Reader of register RDR
120261        pub type R = crate::R<u32, super::RDR>;
120262        ///Reader of field `RDR`
120263        pub type RDR_R = crate::R<u16, u16>;
120264        impl R {
120265            ///Bits 0:8 - Receive data value
120266            #[inline(always)]
120267            pub fn rdr(&self) -> RDR_R {
120268                RDR_R::new((self.bits & 0x01ff) as u16)
120269            }
120270        }
120271    }
120272    ///Transmit data register
120273    ///
120274    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
120275    ///
120276    ///For information about available fields see [tdr](tdr) module
120277    pub type TDR = crate::Reg<u32, _TDR>;
120278    #[allow(missing_docs)]
120279    #[doc(hidden)]
120280    pub struct _TDR;
120281    ///`read()` method returns [tdr::R](tdr::R) reader structure
120282    impl crate::Readable for TDR {}
120283    ///`write(|w| ..)` method takes [tdr::W](tdr::W) writer structure
120284    impl crate::Writable for TDR {}
120285    ///Transmit data register
120286    pub mod tdr {
120287        ///Reader of register TDR
120288        pub type R = crate::R<u32, super::TDR>;
120289        ///Writer for register TDR
120290        pub type W = crate::W<u32, super::TDR>;
120291        ///Register TDR `reset()`'s with value 0
120292        impl crate::ResetValue for super::TDR {
120293            type Type = u32;
120294            #[inline(always)]
120295            fn reset_value() -> Self::Type {
120296                0
120297            }
120298        }
120299        ///Reader of field `TDR`
120300        pub type TDR_R = crate::R<u16, u16>;
120301        ///Write proxy for field `TDR`
120302        pub struct TDR_W<'a> {
120303            w: &'a mut W,
120304        }
120305        impl<'a> TDR_W<'a> {
120306            ///Writes raw bits to the field
120307            #[inline(always)]
120308            pub unsafe fn bits(self, value: u16) -> &'a mut W {
120309                self.w.bits = (self.w.bits & !0x01ff) | ((value as u32) & 0x01ff);
120310                self.w
120311            }
120312        }
120313        impl R {
120314            ///Bits 0:8 - Transmit data value
120315            #[inline(always)]
120316            pub fn tdr(&self) -> TDR_R {
120317                TDR_R::new((self.bits & 0x01ff) as u16)
120318            }
120319        }
120320        impl W {
120321            ///Bits 0:8 - Transmit data value
120322            #[inline(always)]
120323            pub fn tdr(&mut self) -> TDR_W {
120324                TDR_W { w: self }
120325            }
120326        }
120327    }
120328    ///Prescaler register
120329    ///
120330    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
120331    ///
120332    ///For information about available fields see [presc](presc) module
120333    pub type PRESC = crate::Reg<u32, _PRESC>;
120334    #[allow(missing_docs)]
120335    #[doc(hidden)]
120336    pub struct _PRESC;
120337    ///`read()` method returns [presc::R](presc::R) reader structure
120338    impl crate::Readable for PRESC {}
120339    ///`write(|w| ..)` method takes [presc::W](presc::W) writer structure
120340    impl crate::Writable for PRESC {}
120341    ///Prescaler register
120342    pub mod presc {
120343        ///Reader of register PRESC
120344        pub type R = crate::R<u32, super::PRESC>;
120345        ///Writer for register PRESC
120346        pub type W = crate::W<u32, super::PRESC>;
120347        ///Register PRESC `reset()`'s with value 0
120348        impl crate::ResetValue for super::PRESC {
120349            type Type = u32;
120350            #[inline(always)]
120351            fn reset_value() -> Self::Type {
120352                0
120353            }
120354        }
120355        ///Reader of field `PRESCALER`
120356        pub type PRESCALER_R = crate::R<u8, u8>;
120357        ///Write proxy for field `PRESCALER`
120358        pub struct PRESCALER_W<'a> {
120359            w: &'a mut W,
120360        }
120361        impl<'a> PRESCALER_W<'a> {
120362            ///Writes raw bits to the field
120363            #[inline(always)]
120364            pub unsafe fn bits(self, value: u8) -> &'a mut W {
120365                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
120366                self.w
120367            }
120368        }
120369        impl R {
120370            ///Bits 0:3 - Clock prescaler
120371            #[inline(always)]
120372            pub fn prescaler(&self) -> PRESCALER_R {
120373                PRESCALER_R::new((self.bits & 0x0f) as u8)
120374            }
120375        }
120376        impl W {
120377            ///Bits 0:3 - Clock prescaler
120378            #[inline(always)]
120379            pub fn prescaler(&mut self) -> PRESCALER_W {
120380                PRESCALER_W { w: self }
120381            }
120382        }
120383    }
120384}
120385///Universal synchronous asynchronous receiver transmitter
120386pub struct LPUART1 {
120387    _marker: PhantomData<*const ()>,
120388}
120389unsafe impl Send for LPUART1 {}
120390impl LPUART1 {
120391    ///Returns a pointer to the register block
120392    #[inline(always)]
120393    pub const fn ptr() -> *const usart1::RegisterBlock {
120394        0x4000_8000 as *const _
120395    }
120396}
120397impl Deref for LPUART1 {
120398    type Target = usart1::RegisterBlock;
120399    #[inline(always)]
120400    fn deref(&self) -> &Self::Target {
120401        unsafe { &*LPUART1::ptr() }
120402    }
120403}
120404///Serial peripheral interface/Inter-IC sound
120405pub struct SPI1 {
120406    _marker: PhantomData<*const ()>,
120407}
120408unsafe impl Send for SPI1 {}
120409impl SPI1 {
120410    ///Returns a pointer to the register block
120411    #[inline(always)]
120412    pub const fn ptr() -> *const spi1::RegisterBlock {
120413        0x4001_3000 as *const _
120414    }
120415}
120416impl Deref for SPI1 {
120417    type Target = spi1::RegisterBlock;
120418    #[inline(always)]
120419    fn deref(&self) -> &Self::Target {
120420        unsafe { &*SPI1::ptr() }
120421    }
120422}
120423///Serial peripheral interface/Inter-IC sound
120424pub mod spi1 {
120425    ///Register block
120426    #[repr(C)]
120427    pub struct RegisterBlock {
120428        ///0x00 - control register 1
120429        pub cr1: CR1,
120430        ///0x04 - control register 2
120431        pub cr2: CR2,
120432        ///0x08 - status register
120433        pub sr: SR,
120434        ///0x0c - data register
120435        pub dr: DR,
120436        ///0x10 - CRC polynomial register
120437        pub crcpr: CRCPR,
120438        ///0x14 - RX CRC register
120439        pub rxcrcr: RXCRCR,
120440        ///0x18 - TX CRC register
120441        pub txcrcr: TXCRCR,
120442    }
120443    ///control register 1
120444    ///
120445    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
120446    ///
120447    ///For information about available fields see [cr1](cr1) module
120448    pub type CR1 = crate::Reg<u32, _CR1>;
120449    #[allow(missing_docs)]
120450    #[doc(hidden)]
120451    pub struct _CR1;
120452    ///`read()` method returns [cr1::R](cr1::R) reader structure
120453    impl crate::Readable for CR1 {}
120454    ///`write(|w| ..)` method takes [cr1::W](cr1::W) writer structure
120455    impl crate::Writable for CR1 {}
120456    ///control register 1
120457    pub mod cr1 {
120458        ///Reader of register CR1
120459        pub type R = crate::R<u32, super::CR1>;
120460        ///Writer for register CR1
120461        pub type W = crate::W<u32, super::CR1>;
120462        ///Register CR1 `reset()`'s with value 0
120463        impl crate::ResetValue for super::CR1 {
120464            type Type = u32;
120465            #[inline(always)]
120466            fn reset_value() -> Self::Type {
120467                0
120468            }
120469        }
120470        ///Reader of field `BIDIMODE`
120471        pub type BIDIMODE_R = crate::R<bool, bool>;
120472        ///Write proxy for field `BIDIMODE`
120473        pub struct BIDIMODE_W<'a> {
120474            w: &'a mut W,
120475        }
120476        impl<'a> BIDIMODE_W<'a> {
120477            ///Sets the field bit
120478            #[inline(always)]
120479            pub fn set_bit(self) -> &'a mut W {
120480                self.bit(true)
120481            }
120482            ///Clears the field bit
120483            #[inline(always)]
120484            pub fn clear_bit(self) -> &'a mut W {
120485                self.bit(false)
120486            }
120487            ///Writes raw bits to the field
120488            #[inline(always)]
120489            pub fn bit(self, value: bool) -> &'a mut W {
120490                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
120491                self.w
120492            }
120493        }
120494        ///Reader of field `BIDIOE`
120495        pub type BIDIOE_R = crate::R<bool, bool>;
120496        ///Write proxy for field `BIDIOE`
120497        pub struct BIDIOE_W<'a> {
120498            w: &'a mut W,
120499        }
120500        impl<'a> BIDIOE_W<'a> {
120501            ///Sets the field bit
120502            #[inline(always)]
120503            pub fn set_bit(self) -> &'a mut W {
120504                self.bit(true)
120505            }
120506            ///Clears the field bit
120507            #[inline(always)]
120508            pub fn clear_bit(self) -> &'a mut W {
120509                self.bit(false)
120510            }
120511            ///Writes raw bits to the field
120512            #[inline(always)]
120513            pub fn bit(self, value: bool) -> &'a mut W {
120514                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
120515                self.w
120516            }
120517        }
120518        ///Reader of field `CRCEN`
120519        pub type CRCEN_R = crate::R<bool, bool>;
120520        ///Write proxy for field `CRCEN`
120521        pub struct CRCEN_W<'a> {
120522            w: &'a mut W,
120523        }
120524        impl<'a> CRCEN_W<'a> {
120525            ///Sets the field bit
120526            #[inline(always)]
120527            pub fn set_bit(self) -> &'a mut W {
120528                self.bit(true)
120529            }
120530            ///Clears the field bit
120531            #[inline(always)]
120532            pub fn clear_bit(self) -> &'a mut W {
120533                self.bit(false)
120534            }
120535            ///Writes raw bits to the field
120536            #[inline(always)]
120537            pub fn bit(self, value: bool) -> &'a mut W {
120538                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
120539                self.w
120540            }
120541        }
120542        ///Reader of field `CRCNEXT`
120543        pub type CRCNEXT_R = crate::R<bool, bool>;
120544        ///Write proxy for field `CRCNEXT`
120545        pub struct CRCNEXT_W<'a> {
120546            w: &'a mut W,
120547        }
120548        impl<'a> CRCNEXT_W<'a> {
120549            ///Sets the field bit
120550            #[inline(always)]
120551            pub fn set_bit(self) -> &'a mut W {
120552                self.bit(true)
120553            }
120554            ///Clears the field bit
120555            #[inline(always)]
120556            pub fn clear_bit(self) -> &'a mut W {
120557                self.bit(false)
120558            }
120559            ///Writes raw bits to the field
120560            #[inline(always)]
120561            pub fn bit(self, value: bool) -> &'a mut W {
120562                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
120563                self.w
120564            }
120565        }
120566        ///Reader of field `DFF`
120567        pub type DFF_R = crate::R<bool, bool>;
120568        ///Write proxy for field `DFF`
120569        pub struct DFF_W<'a> {
120570            w: &'a mut W,
120571        }
120572        impl<'a> DFF_W<'a> {
120573            ///Sets the field bit
120574            #[inline(always)]
120575            pub fn set_bit(self) -> &'a mut W {
120576                self.bit(true)
120577            }
120578            ///Clears the field bit
120579            #[inline(always)]
120580            pub fn clear_bit(self) -> &'a mut W {
120581                self.bit(false)
120582            }
120583            ///Writes raw bits to the field
120584            #[inline(always)]
120585            pub fn bit(self, value: bool) -> &'a mut W {
120586                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
120587                self.w
120588            }
120589        }
120590        ///Reader of field `RXONLY`
120591        pub type RXONLY_R = crate::R<bool, bool>;
120592        ///Write proxy for field `RXONLY`
120593        pub struct RXONLY_W<'a> {
120594            w: &'a mut W,
120595        }
120596        impl<'a> RXONLY_W<'a> {
120597            ///Sets the field bit
120598            #[inline(always)]
120599            pub fn set_bit(self) -> &'a mut W {
120600                self.bit(true)
120601            }
120602            ///Clears the field bit
120603            #[inline(always)]
120604            pub fn clear_bit(self) -> &'a mut W {
120605                self.bit(false)
120606            }
120607            ///Writes raw bits to the field
120608            #[inline(always)]
120609            pub fn bit(self, value: bool) -> &'a mut W {
120610                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
120611                self.w
120612            }
120613        }
120614        ///Reader of field `SSM`
120615        pub type SSM_R = crate::R<bool, bool>;
120616        ///Write proxy for field `SSM`
120617        pub struct SSM_W<'a> {
120618            w: &'a mut W,
120619        }
120620        impl<'a> SSM_W<'a> {
120621            ///Sets the field bit
120622            #[inline(always)]
120623            pub fn set_bit(self) -> &'a mut W {
120624                self.bit(true)
120625            }
120626            ///Clears the field bit
120627            #[inline(always)]
120628            pub fn clear_bit(self) -> &'a mut W {
120629                self.bit(false)
120630            }
120631            ///Writes raw bits to the field
120632            #[inline(always)]
120633            pub fn bit(self, value: bool) -> &'a mut W {
120634                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
120635                self.w
120636            }
120637        }
120638        ///Reader of field `SSI`
120639        pub type SSI_R = crate::R<bool, bool>;
120640        ///Write proxy for field `SSI`
120641        pub struct SSI_W<'a> {
120642            w: &'a mut W,
120643        }
120644        impl<'a> SSI_W<'a> {
120645            ///Sets the field bit
120646            #[inline(always)]
120647            pub fn set_bit(self) -> &'a mut W {
120648                self.bit(true)
120649            }
120650            ///Clears the field bit
120651            #[inline(always)]
120652            pub fn clear_bit(self) -> &'a mut W {
120653                self.bit(false)
120654            }
120655            ///Writes raw bits to the field
120656            #[inline(always)]
120657            pub fn bit(self, value: bool) -> &'a mut W {
120658                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
120659                self.w
120660            }
120661        }
120662        ///Reader of field `LSBFIRST`
120663        pub type LSBFIRST_R = crate::R<bool, bool>;
120664        ///Write proxy for field `LSBFIRST`
120665        pub struct LSBFIRST_W<'a> {
120666            w: &'a mut W,
120667        }
120668        impl<'a> LSBFIRST_W<'a> {
120669            ///Sets the field bit
120670            #[inline(always)]
120671            pub fn set_bit(self) -> &'a mut W {
120672                self.bit(true)
120673            }
120674            ///Clears the field bit
120675            #[inline(always)]
120676            pub fn clear_bit(self) -> &'a mut W {
120677                self.bit(false)
120678            }
120679            ///Writes raw bits to the field
120680            #[inline(always)]
120681            pub fn bit(self, value: bool) -> &'a mut W {
120682                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
120683                self.w
120684            }
120685        }
120686        ///Reader of field `SPE`
120687        pub type SPE_R = crate::R<bool, bool>;
120688        ///Write proxy for field `SPE`
120689        pub struct SPE_W<'a> {
120690            w: &'a mut W,
120691        }
120692        impl<'a> SPE_W<'a> {
120693            ///Sets the field bit
120694            #[inline(always)]
120695            pub fn set_bit(self) -> &'a mut W {
120696                self.bit(true)
120697            }
120698            ///Clears the field bit
120699            #[inline(always)]
120700            pub fn clear_bit(self) -> &'a mut W {
120701                self.bit(false)
120702            }
120703            ///Writes raw bits to the field
120704            #[inline(always)]
120705            pub fn bit(self, value: bool) -> &'a mut W {
120706                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
120707                self.w
120708            }
120709        }
120710        ///Reader of field `BR`
120711        pub type BR_R = crate::R<u8, u8>;
120712        ///Write proxy for field `BR`
120713        pub struct BR_W<'a> {
120714            w: &'a mut W,
120715        }
120716        impl<'a> BR_W<'a> {
120717            ///Writes raw bits to the field
120718            #[inline(always)]
120719            pub unsafe fn bits(self, value: u8) -> &'a mut W {
120720                self.w.bits = (self.w.bits & !(0x07 << 3)) | (((value as u32) & 0x07) << 3);
120721                self.w
120722            }
120723        }
120724        ///Reader of field `MSTR`
120725        pub type MSTR_R = crate::R<bool, bool>;
120726        ///Write proxy for field `MSTR`
120727        pub struct MSTR_W<'a> {
120728            w: &'a mut W,
120729        }
120730        impl<'a> MSTR_W<'a> {
120731            ///Sets the field bit
120732            #[inline(always)]
120733            pub fn set_bit(self) -> &'a mut W {
120734                self.bit(true)
120735            }
120736            ///Clears the field bit
120737            #[inline(always)]
120738            pub fn clear_bit(self) -> &'a mut W {
120739                self.bit(false)
120740            }
120741            ///Writes raw bits to the field
120742            #[inline(always)]
120743            pub fn bit(self, value: bool) -> &'a mut W {
120744                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
120745                self.w
120746            }
120747        }
120748        ///Reader of field `CPOL`
120749        pub type CPOL_R = crate::R<bool, bool>;
120750        ///Write proxy for field `CPOL`
120751        pub struct CPOL_W<'a> {
120752            w: &'a mut W,
120753        }
120754        impl<'a> CPOL_W<'a> {
120755            ///Sets the field bit
120756            #[inline(always)]
120757            pub fn set_bit(self) -> &'a mut W {
120758                self.bit(true)
120759            }
120760            ///Clears the field bit
120761            #[inline(always)]
120762            pub fn clear_bit(self) -> &'a mut W {
120763                self.bit(false)
120764            }
120765            ///Writes raw bits to the field
120766            #[inline(always)]
120767            pub fn bit(self, value: bool) -> &'a mut W {
120768                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
120769                self.w
120770            }
120771        }
120772        ///Reader of field `CPHA`
120773        pub type CPHA_R = crate::R<bool, bool>;
120774        ///Write proxy for field `CPHA`
120775        pub struct CPHA_W<'a> {
120776            w: &'a mut W,
120777        }
120778        impl<'a> CPHA_W<'a> {
120779            ///Sets the field bit
120780            #[inline(always)]
120781            pub fn set_bit(self) -> &'a mut W {
120782                self.bit(true)
120783            }
120784            ///Clears the field bit
120785            #[inline(always)]
120786            pub fn clear_bit(self) -> &'a mut W {
120787                self.bit(false)
120788            }
120789            ///Writes raw bits to the field
120790            #[inline(always)]
120791            pub fn bit(self, value: bool) -> &'a mut W {
120792                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
120793                self.w
120794            }
120795        }
120796        impl R {
120797            ///Bit 15 - Bidirectional data mode enable
120798            #[inline(always)]
120799            pub fn bidimode(&self) -> BIDIMODE_R {
120800                BIDIMODE_R::new(((self.bits >> 15) & 0x01) != 0)
120801            }
120802            ///Bit 14 - Output enable in bidirectional mode
120803            #[inline(always)]
120804            pub fn bidioe(&self) -> BIDIOE_R {
120805                BIDIOE_R::new(((self.bits >> 14) & 0x01) != 0)
120806            }
120807            ///Bit 13 - Hardware CRC calculation enable
120808            #[inline(always)]
120809            pub fn crcen(&self) -> CRCEN_R {
120810                CRCEN_R::new(((self.bits >> 13) & 0x01) != 0)
120811            }
120812            ///Bit 12 - CRC transfer next
120813            #[inline(always)]
120814            pub fn crcnext(&self) -> CRCNEXT_R {
120815                CRCNEXT_R::new(((self.bits >> 12) & 0x01) != 0)
120816            }
120817            ///Bit 11 - Data frame format
120818            #[inline(always)]
120819            pub fn dff(&self) -> DFF_R {
120820                DFF_R::new(((self.bits >> 11) & 0x01) != 0)
120821            }
120822            ///Bit 10 - Receive only
120823            #[inline(always)]
120824            pub fn rxonly(&self) -> RXONLY_R {
120825                RXONLY_R::new(((self.bits >> 10) & 0x01) != 0)
120826            }
120827            ///Bit 9 - Software slave management
120828            #[inline(always)]
120829            pub fn ssm(&self) -> SSM_R {
120830                SSM_R::new(((self.bits >> 9) & 0x01) != 0)
120831            }
120832            ///Bit 8 - Internal slave select
120833            #[inline(always)]
120834            pub fn ssi(&self) -> SSI_R {
120835                SSI_R::new(((self.bits >> 8) & 0x01) != 0)
120836            }
120837            ///Bit 7 - Frame format
120838            #[inline(always)]
120839            pub fn lsbfirst(&self) -> LSBFIRST_R {
120840                LSBFIRST_R::new(((self.bits >> 7) & 0x01) != 0)
120841            }
120842            ///Bit 6 - SPI enable
120843            #[inline(always)]
120844            pub fn spe(&self) -> SPE_R {
120845                SPE_R::new(((self.bits >> 6) & 0x01) != 0)
120846            }
120847            ///Bits 3:5 - Baud rate control
120848            #[inline(always)]
120849            pub fn br(&self) -> BR_R {
120850                BR_R::new(((self.bits >> 3) & 0x07) as u8)
120851            }
120852            ///Bit 2 - Master selection
120853            #[inline(always)]
120854            pub fn mstr(&self) -> MSTR_R {
120855                MSTR_R::new(((self.bits >> 2) & 0x01) != 0)
120856            }
120857            ///Bit 1 - Clock polarity
120858            #[inline(always)]
120859            pub fn cpol(&self) -> CPOL_R {
120860                CPOL_R::new(((self.bits >> 1) & 0x01) != 0)
120861            }
120862            ///Bit 0 - Clock phase
120863            #[inline(always)]
120864            pub fn cpha(&self) -> CPHA_R {
120865                CPHA_R::new((self.bits & 0x01) != 0)
120866            }
120867        }
120868        impl W {
120869            ///Bit 15 - Bidirectional data mode enable
120870            #[inline(always)]
120871            pub fn bidimode(&mut self) -> BIDIMODE_W {
120872                BIDIMODE_W { w: self }
120873            }
120874            ///Bit 14 - Output enable in bidirectional mode
120875            #[inline(always)]
120876            pub fn bidioe(&mut self) -> BIDIOE_W {
120877                BIDIOE_W { w: self }
120878            }
120879            ///Bit 13 - Hardware CRC calculation enable
120880            #[inline(always)]
120881            pub fn crcen(&mut self) -> CRCEN_W {
120882                CRCEN_W { w: self }
120883            }
120884            ///Bit 12 - CRC transfer next
120885            #[inline(always)]
120886            pub fn crcnext(&mut self) -> CRCNEXT_W {
120887                CRCNEXT_W { w: self }
120888            }
120889            ///Bit 11 - Data frame format
120890            #[inline(always)]
120891            pub fn dff(&mut self) -> DFF_W {
120892                DFF_W { w: self }
120893            }
120894            ///Bit 10 - Receive only
120895            #[inline(always)]
120896            pub fn rxonly(&mut self) -> RXONLY_W {
120897                RXONLY_W { w: self }
120898            }
120899            ///Bit 9 - Software slave management
120900            #[inline(always)]
120901            pub fn ssm(&mut self) -> SSM_W {
120902                SSM_W { w: self }
120903            }
120904            ///Bit 8 - Internal slave select
120905            #[inline(always)]
120906            pub fn ssi(&mut self) -> SSI_W {
120907                SSI_W { w: self }
120908            }
120909            ///Bit 7 - Frame format
120910            #[inline(always)]
120911            pub fn lsbfirst(&mut self) -> LSBFIRST_W {
120912                LSBFIRST_W { w: self }
120913            }
120914            ///Bit 6 - SPI enable
120915            #[inline(always)]
120916            pub fn spe(&mut self) -> SPE_W {
120917                SPE_W { w: self }
120918            }
120919            ///Bits 3:5 - Baud rate control
120920            #[inline(always)]
120921            pub fn br(&mut self) -> BR_W {
120922                BR_W { w: self }
120923            }
120924            ///Bit 2 - Master selection
120925            #[inline(always)]
120926            pub fn mstr(&mut self) -> MSTR_W {
120927                MSTR_W { w: self }
120928            }
120929            ///Bit 1 - Clock polarity
120930            #[inline(always)]
120931            pub fn cpol(&mut self) -> CPOL_W {
120932                CPOL_W { w: self }
120933            }
120934            ///Bit 0 - Clock phase
120935            #[inline(always)]
120936            pub fn cpha(&mut self) -> CPHA_W {
120937                CPHA_W { w: self }
120938            }
120939        }
120940    }
120941    ///control register 2
120942    ///
120943    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
120944    ///
120945    ///For information about available fields see [cr2](cr2) module
120946    pub type CR2 = crate::Reg<u32, _CR2>;
120947    #[allow(missing_docs)]
120948    #[doc(hidden)]
120949    pub struct _CR2;
120950    ///`read()` method returns [cr2::R](cr2::R) reader structure
120951    impl crate::Readable for CR2 {}
120952    ///`write(|w| ..)` method takes [cr2::W](cr2::W) writer structure
120953    impl crate::Writable for CR2 {}
120954    ///control register 2
120955    pub mod cr2 {
120956        ///Reader of register CR2
120957        pub type R = crate::R<u32, super::CR2>;
120958        ///Writer for register CR2
120959        pub type W = crate::W<u32, super::CR2>;
120960        ///Register CR2 `reset()`'s with value 0x0700
120961        impl crate::ResetValue for super::CR2 {
120962            type Type = u32;
120963            #[inline(always)]
120964            fn reset_value() -> Self::Type {
120965                0x0700
120966            }
120967        }
120968        ///Reader of field `RXDMAEN`
120969        pub type RXDMAEN_R = crate::R<bool, bool>;
120970        ///Write proxy for field `RXDMAEN`
120971        pub struct RXDMAEN_W<'a> {
120972            w: &'a mut W,
120973        }
120974        impl<'a> RXDMAEN_W<'a> {
120975            ///Sets the field bit
120976            #[inline(always)]
120977            pub fn set_bit(self) -> &'a mut W {
120978                self.bit(true)
120979            }
120980            ///Clears the field bit
120981            #[inline(always)]
120982            pub fn clear_bit(self) -> &'a mut W {
120983                self.bit(false)
120984            }
120985            ///Writes raw bits to the field
120986            #[inline(always)]
120987            pub fn bit(self, value: bool) -> &'a mut W {
120988                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
120989                self.w
120990            }
120991        }
120992        ///Reader of field `TXDMAEN`
120993        pub type TXDMAEN_R = crate::R<bool, bool>;
120994        ///Write proxy for field `TXDMAEN`
120995        pub struct TXDMAEN_W<'a> {
120996            w: &'a mut W,
120997        }
120998        impl<'a> TXDMAEN_W<'a> {
120999            ///Sets the field bit
121000            #[inline(always)]
121001            pub fn set_bit(self) -> &'a mut W {
121002                self.bit(true)
121003            }
121004            ///Clears the field bit
121005            #[inline(always)]
121006            pub fn clear_bit(self) -> &'a mut W {
121007                self.bit(false)
121008            }
121009            ///Writes raw bits to the field
121010            #[inline(always)]
121011            pub fn bit(self, value: bool) -> &'a mut W {
121012                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
121013                self.w
121014            }
121015        }
121016        ///Reader of field `SSOE`
121017        pub type SSOE_R = crate::R<bool, bool>;
121018        ///Write proxy for field `SSOE`
121019        pub struct SSOE_W<'a> {
121020            w: &'a mut W,
121021        }
121022        impl<'a> SSOE_W<'a> {
121023            ///Sets the field bit
121024            #[inline(always)]
121025            pub fn set_bit(self) -> &'a mut W {
121026                self.bit(true)
121027            }
121028            ///Clears the field bit
121029            #[inline(always)]
121030            pub fn clear_bit(self) -> &'a mut W {
121031                self.bit(false)
121032            }
121033            ///Writes raw bits to the field
121034            #[inline(always)]
121035            pub fn bit(self, value: bool) -> &'a mut W {
121036                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
121037                self.w
121038            }
121039        }
121040        ///Reader of field `NSSP`
121041        pub type NSSP_R = crate::R<bool, bool>;
121042        ///Write proxy for field `NSSP`
121043        pub struct NSSP_W<'a> {
121044            w: &'a mut W,
121045        }
121046        impl<'a> NSSP_W<'a> {
121047            ///Sets the field bit
121048            #[inline(always)]
121049            pub fn set_bit(self) -> &'a mut W {
121050                self.bit(true)
121051            }
121052            ///Clears the field bit
121053            #[inline(always)]
121054            pub fn clear_bit(self) -> &'a mut W {
121055                self.bit(false)
121056            }
121057            ///Writes raw bits to the field
121058            #[inline(always)]
121059            pub fn bit(self, value: bool) -> &'a mut W {
121060                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
121061                self.w
121062            }
121063        }
121064        ///Reader of field `FRF`
121065        pub type FRF_R = crate::R<bool, bool>;
121066        ///Write proxy for field `FRF`
121067        pub struct FRF_W<'a> {
121068            w: &'a mut W,
121069        }
121070        impl<'a> FRF_W<'a> {
121071            ///Sets the field bit
121072            #[inline(always)]
121073            pub fn set_bit(self) -> &'a mut W {
121074                self.bit(true)
121075            }
121076            ///Clears the field bit
121077            #[inline(always)]
121078            pub fn clear_bit(self) -> &'a mut W {
121079                self.bit(false)
121080            }
121081            ///Writes raw bits to the field
121082            #[inline(always)]
121083            pub fn bit(self, value: bool) -> &'a mut W {
121084                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
121085                self.w
121086            }
121087        }
121088        ///Reader of field `ERRIE`
121089        pub type ERRIE_R = crate::R<bool, bool>;
121090        ///Write proxy for field `ERRIE`
121091        pub struct ERRIE_W<'a> {
121092            w: &'a mut W,
121093        }
121094        impl<'a> ERRIE_W<'a> {
121095            ///Sets the field bit
121096            #[inline(always)]
121097            pub fn set_bit(self) -> &'a mut W {
121098                self.bit(true)
121099            }
121100            ///Clears the field bit
121101            #[inline(always)]
121102            pub fn clear_bit(self) -> &'a mut W {
121103                self.bit(false)
121104            }
121105            ///Writes raw bits to the field
121106            #[inline(always)]
121107            pub fn bit(self, value: bool) -> &'a mut W {
121108                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
121109                self.w
121110            }
121111        }
121112        ///Reader of field `RXNEIE`
121113        pub type RXNEIE_R = crate::R<bool, bool>;
121114        ///Write proxy for field `RXNEIE`
121115        pub struct RXNEIE_W<'a> {
121116            w: &'a mut W,
121117        }
121118        impl<'a> RXNEIE_W<'a> {
121119            ///Sets the field bit
121120            #[inline(always)]
121121            pub fn set_bit(self) -> &'a mut W {
121122                self.bit(true)
121123            }
121124            ///Clears the field bit
121125            #[inline(always)]
121126            pub fn clear_bit(self) -> &'a mut W {
121127                self.bit(false)
121128            }
121129            ///Writes raw bits to the field
121130            #[inline(always)]
121131            pub fn bit(self, value: bool) -> &'a mut W {
121132                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
121133                self.w
121134            }
121135        }
121136        ///Reader of field `TXEIE`
121137        pub type TXEIE_R = crate::R<bool, bool>;
121138        ///Write proxy for field `TXEIE`
121139        pub struct TXEIE_W<'a> {
121140            w: &'a mut W,
121141        }
121142        impl<'a> TXEIE_W<'a> {
121143            ///Sets the field bit
121144            #[inline(always)]
121145            pub fn set_bit(self) -> &'a mut W {
121146                self.bit(true)
121147            }
121148            ///Clears the field bit
121149            #[inline(always)]
121150            pub fn clear_bit(self) -> &'a mut W {
121151                self.bit(false)
121152            }
121153            ///Writes raw bits to the field
121154            #[inline(always)]
121155            pub fn bit(self, value: bool) -> &'a mut W {
121156                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
121157                self.w
121158            }
121159        }
121160        ///Reader of field `DS`
121161        pub type DS_R = crate::R<u8, u8>;
121162        ///Write proxy for field `DS`
121163        pub struct DS_W<'a> {
121164            w: &'a mut W,
121165        }
121166        impl<'a> DS_W<'a> {
121167            ///Writes raw bits to the field
121168            #[inline(always)]
121169            pub unsafe fn bits(self, value: u8) -> &'a mut W {
121170                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
121171                self.w
121172            }
121173        }
121174        ///Reader of field `FRXTH`
121175        pub type FRXTH_R = crate::R<bool, bool>;
121176        ///Write proxy for field `FRXTH`
121177        pub struct FRXTH_W<'a> {
121178            w: &'a mut W,
121179        }
121180        impl<'a> FRXTH_W<'a> {
121181            ///Sets the field bit
121182            #[inline(always)]
121183            pub fn set_bit(self) -> &'a mut W {
121184                self.bit(true)
121185            }
121186            ///Clears the field bit
121187            #[inline(always)]
121188            pub fn clear_bit(self) -> &'a mut W {
121189                self.bit(false)
121190            }
121191            ///Writes raw bits to the field
121192            #[inline(always)]
121193            pub fn bit(self, value: bool) -> &'a mut W {
121194                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
121195                self.w
121196            }
121197        }
121198        ///Reader of field `LDMA_RX`
121199        pub type LDMA_RX_R = crate::R<bool, bool>;
121200        ///Write proxy for field `LDMA_RX`
121201        pub struct LDMA_RX_W<'a> {
121202            w: &'a mut W,
121203        }
121204        impl<'a> LDMA_RX_W<'a> {
121205            ///Sets the field bit
121206            #[inline(always)]
121207            pub fn set_bit(self) -> &'a mut W {
121208                self.bit(true)
121209            }
121210            ///Clears the field bit
121211            #[inline(always)]
121212            pub fn clear_bit(self) -> &'a mut W {
121213                self.bit(false)
121214            }
121215            ///Writes raw bits to the field
121216            #[inline(always)]
121217            pub fn bit(self, value: bool) -> &'a mut W {
121218                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
121219                self.w
121220            }
121221        }
121222        ///Reader of field `LDMA_TX`
121223        pub type LDMA_TX_R = crate::R<bool, bool>;
121224        ///Write proxy for field `LDMA_TX`
121225        pub struct LDMA_TX_W<'a> {
121226            w: &'a mut W,
121227        }
121228        impl<'a> LDMA_TX_W<'a> {
121229            ///Sets the field bit
121230            #[inline(always)]
121231            pub fn set_bit(self) -> &'a mut W {
121232                self.bit(true)
121233            }
121234            ///Clears the field bit
121235            #[inline(always)]
121236            pub fn clear_bit(self) -> &'a mut W {
121237                self.bit(false)
121238            }
121239            ///Writes raw bits to the field
121240            #[inline(always)]
121241            pub fn bit(self, value: bool) -> &'a mut W {
121242                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
121243                self.w
121244            }
121245        }
121246        impl R {
121247            ///Bit 0 - Rx buffer DMA enable
121248            #[inline(always)]
121249            pub fn rxdmaen(&self) -> RXDMAEN_R {
121250                RXDMAEN_R::new((self.bits & 0x01) != 0)
121251            }
121252            ///Bit 1 - Tx buffer DMA enable
121253            #[inline(always)]
121254            pub fn txdmaen(&self) -> TXDMAEN_R {
121255                TXDMAEN_R::new(((self.bits >> 1) & 0x01) != 0)
121256            }
121257            ///Bit 2 - SS output enable
121258            #[inline(always)]
121259            pub fn ssoe(&self) -> SSOE_R {
121260                SSOE_R::new(((self.bits >> 2) & 0x01) != 0)
121261            }
121262            ///Bit 3 - NSS pulse management
121263            #[inline(always)]
121264            pub fn nssp(&self) -> NSSP_R {
121265                NSSP_R::new(((self.bits >> 3) & 0x01) != 0)
121266            }
121267            ///Bit 4 - Frame format
121268            #[inline(always)]
121269            pub fn frf(&self) -> FRF_R {
121270                FRF_R::new(((self.bits >> 4) & 0x01) != 0)
121271            }
121272            ///Bit 5 - Error interrupt enable
121273            #[inline(always)]
121274            pub fn errie(&self) -> ERRIE_R {
121275                ERRIE_R::new(((self.bits >> 5) & 0x01) != 0)
121276            }
121277            ///Bit 6 - RX buffer not empty interrupt enable
121278            #[inline(always)]
121279            pub fn rxneie(&self) -> RXNEIE_R {
121280                RXNEIE_R::new(((self.bits >> 6) & 0x01) != 0)
121281            }
121282            ///Bit 7 - Tx buffer empty interrupt enable
121283            #[inline(always)]
121284            pub fn txeie(&self) -> TXEIE_R {
121285                TXEIE_R::new(((self.bits >> 7) & 0x01) != 0)
121286            }
121287            ///Bits 8:11 - Data size
121288            #[inline(always)]
121289            pub fn ds(&self) -> DS_R {
121290                DS_R::new(((self.bits >> 8) & 0x0f) as u8)
121291            }
121292            ///Bit 12 - FIFO reception threshold
121293            #[inline(always)]
121294            pub fn frxth(&self) -> FRXTH_R {
121295                FRXTH_R::new(((self.bits >> 12) & 0x01) != 0)
121296            }
121297            ///Bit 13 - Last DMA transfer for reception
121298            #[inline(always)]
121299            pub fn ldma_rx(&self) -> LDMA_RX_R {
121300                LDMA_RX_R::new(((self.bits >> 13) & 0x01) != 0)
121301            }
121302            ///Bit 14 - Last DMA transfer for transmission
121303            #[inline(always)]
121304            pub fn ldma_tx(&self) -> LDMA_TX_R {
121305                LDMA_TX_R::new(((self.bits >> 14) & 0x01) != 0)
121306            }
121307        }
121308        impl W {
121309            ///Bit 0 - Rx buffer DMA enable
121310            #[inline(always)]
121311            pub fn rxdmaen(&mut self) -> RXDMAEN_W {
121312                RXDMAEN_W { w: self }
121313            }
121314            ///Bit 1 - Tx buffer DMA enable
121315            #[inline(always)]
121316            pub fn txdmaen(&mut self) -> TXDMAEN_W {
121317                TXDMAEN_W { w: self }
121318            }
121319            ///Bit 2 - SS output enable
121320            #[inline(always)]
121321            pub fn ssoe(&mut self) -> SSOE_W {
121322                SSOE_W { w: self }
121323            }
121324            ///Bit 3 - NSS pulse management
121325            #[inline(always)]
121326            pub fn nssp(&mut self) -> NSSP_W {
121327                NSSP_W { w: self }
121328            }
121329            ///Bit 4 - Frame format
121330            #[inline(always)]
121331            pub fn frf(&mut self) -> FRF_W {
121332                FRF_W { w: self }
121333            }
121334            ///Bit 5 - Error interrupt enable
121335            #[inline(always)]
121336            pub fn errie(&mut self) -> ERRIE_W {
121337                ERRIE_W { w: self }
121338            }
121339            ///Bit 6 - RX buffer not empty interrupt enable
121340            #[inline(always)]
121341            pub fn rxneie(&mut self) -> RXNEIE_W {
121342                RXNEIE_W { w: self }
121343            }
121344            ///Bit 7 - Tx buffer empty interrupt enable
121345            #[inline(always)]
121346            pub fn txeie(&mut self) -> TXEIE_W {
121347                TXEIE_W { w: self }
121348            }
121349            ///Bits 8:11 - Data size
121350            #[inline(always)]
121351            pub fn ds(&mut self) -> DS_W {
121352                DS_W { w: self }
121353            }
121354            ///Bit 12 - FIFO reception threshold
121355            #[inline(always)]
121356            pub fn frxth(&mut self) -> FRXTH_W {
121357                FRXTH_W { w: self }
121358            }
121359            ///Bit 13 - Last DMA transfer for reception
121360            #[inline(always)]
121361            pub fn ldma_rx(&mut self) -> LDMA_RX_W {
121362                LDMA_RX_W { w: self }
121363            }
121364            ///Bit 14 - Last DMA transfer for transmission
121365            #[inline(always)]
121366            pub fn ldma_tx(&mut self) -> LDMA_TX_W {
121367                LDMA_TX_W { w: self }
121368            }
121369        }
121370    }
121371    ///status register
121372    ///
121373    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
121374    ///
121375    ///For information about available fields see [sr](sr) module
121376    pub type SR = crate::Reg<u32, _SR>;
121377    #[allow(missing_docs)]
121378    #[doc(hidden)]
121379    pub struct _SR;
121380    ///`read()` method returns [sr::R](sr::R) reader structure
121381    impl crate::Readable for SR {}
121382    ///`write(|w| ..)` method takes [sr::W](sr::W) writer structure
121383    impl crate::Writable for SR {}
121384    ///status register
121385    pub mod sr {
121386        ///Reader of register SR
121387        pub type R = crate::R<u32, super::SR>;
121388        ///Writer for register SR
121389        pub type W = crate::W<u32, super::SR>;
121390        ///Register SR `reset()`'s with value 0x02
121391        impl crate::ResetValue for super::SR {
121392            type Type = u32;
121393            #[inline(always)]
121394            fn reset_value() -> Self::Type {
121395                0x02
121396            }
121397        }
121398        ///Reader of field `RXNE`
121399        pub type RXNE_R = crate::R<bool, bool>;
121400        ///Reader of field `TXE`
121401        pub type TXE_R = crate::R<bool, bool>;
121402        ///Reader of field `CRCERR`
121403        pub type CRCERR_R = crate::R<bool, bool>;
121404        ///Write proxy for field `CRCERR`
121405        pub struct CRCERR_W<'a> {
121406            w: &'a mut W,
121407        }
121408        impl<'a> CRCERR_W<'a> {
121409            ///Sets the field bit
121410            #[inline(always)]
121411            pub fn set_bit(self) -> &'a mut W {
121412                self.bit(true)
121413            }
121414            ///Clears the field bit
121415            #[inline(always)]
121416            pub fn clear_bit(self) -> &'a mut W {
121417                self.bit(false)
121418            }
121419            ///Writes raw bits to the field
121420            #[inline(always)]
121421            pub fn bit(self, value: bool) -> &'a mut W {
121422                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
121423                self.w
121424            }
121425        }
121426        ///Reader of field `MODF`
121427        pub type MODF_R = crate::R<bool, bool>;
121428        ///Reader of field `OVR`
121429        pub type OVR_R = crate::R<bool, bool>;
121430        ///Reader of field `BSY`
121431        pub type BSY_R = crate::R<bool, bool>;
121432        ///Reader of field `TIFRFE`
121433        pub type TIFRFE_R = crate::R<bool, bool>;
121434        ///Reader of field `FRLVL`
121435        pub type FRLVL_R = crate::R<u8, u8>;
121436        ///Reader of field `FTLVL`
121437        pub type FTLVL_R = crate::R<u8, u8>;
121438        impl R {
121439            ///Bit 0 - Receive buffer not empty
121440            #[inline(always)]
121441            pub fn rxne(&self) -> RXNE_R {
121442                RXNE_R::new((self.bits & 0x01) != 0)
121443            }
121444            ///Bit 1 - Transmit buffer empty
121445            #[inline(always)]
121446            pub fn txe(&self) -> TXE_R {
121447                TXE_R::new(((self.bits >> 1) & 0x01) != 0)
121448            }
121449            ///Bit 4 - CRC error flag
121450            #[inline(always)]
121451            pub fn crcerr(&self) -> CRCERR_R {
121452                CRCERR_R::new(((self.bits >> 4) & 0x01) != 0)
121453            }
121454            ///Bit 5 - Mode fault
121455            #[inline(always)]
121456            pub fn modf(&self) -> MODF_R {
121457                MODF_R::new(((self.bits >> 5) & 0x01) != 0)
121458            }
121459            ///Bit 6 - Overrun flag
121460            #[inline(always)]
121461            pub fn ovr(&self) -> OVR_R {
121462                OVR_R::new(((self.bits >> 6) & 0x01) != 0)
121463            }
121464            ///Bit 7 - Busy flag
121465            #[inline(always)]
121466            pub fn bsy(&self) -> BSY_R {
121467                BSY_R::new(((self.bits >> 7) & 0x01) != 0)
121468            }
121469            ///Bit 8 - TI frame format error
121470            #[inline(always)]
121471            pub fn tifrfe(&self) -> TIFRFE_R {
121472                TIFRFE_R::new(((self.bits >> 8) & 0x01) != 0)
121473            }
121474            ///Bits 9:10 - FIFO reception level
121475            #[inline(always)]
121476            pub fn frlvl(&self) -> FRLVL_R {
121477                FRLVL_R::new(((self.bits >> 9) & 0x03) as u8)
121478            }
121479            ///Bits 11:12 - FIFO transmission level
121480            #[inline(always)]
121481            pub fn ftlvl(&self) -> FTLVL_R {
121482                FTLVL_R::new(((self.bits >> 11) & 0x03) as u8)
121483            }
121484        }
121485        impl W {
121486            ///Bit 4 - CRC error flag
121487            #[inline(always)]
121488            pub fn crcerr(&mut self) -> CRCERR_W {
121489                CRCERR_W { w: self }
121490            }
121491        }
121492    }
121493    ///data register
121494    ///
121495    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
121496    ///
121497    ///For information about available fields see [dr](dr) module
121498    pub type DR = crate::Reg<u32, _DR>;
121499    #[allow(missing_docs)]
121500    #[doc(hidden)]
121501    pub struct _DR;
121502    ///`read()` method returns [dr::R](dr::R) reader structure
121503    impl crate::Readable for DR {}
121504    ///`write(|w| ..)` method takes [dr::W](dr::W) writer structure
121505    impl crate::Writable for DR {}
121506    ///data register
121507    pub mod dr {
121508        ///Reader of register DR
121509        pub type R = crate::R<u32, super::DR>;
121510        ///Writer for register DR
121511        pub type W = crate::W<u32, super::DR>;
121512        ///Register DR `reset()`'s with value 0
121513        impl crate::ResetValue for super::DR {
121514            type Type = u32;
121515            #[inline(always)]
121516            fn reset_value() -> Self::Type {
121517                0
121518            }
121519        }
121520        ///Reader of field `DR`
121521        pub type DR_R = crate::R<u16, u16>;
121522        ///Write proxy for field `DR`
121523        pub struct DR_W<'a> {
121524            w: &'a mut W,
121525        }
121526        impl<'a> DR_W<'a> {
121527            ///Writes raw bits to the field
121528            #[inline(always)]
121529            pub unsafe fn bits(self, value: u16) -> &'a mut W {
121530                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
121531                self.w
121532            }
121533        }
121534        impl R {
121535            ///Bits 0:15 - Data register
121536            #[inline(always)]
121537            pub fn dr(&self) -> DR_R {
121538                DR_R::new((self.bits & 0xffff) as u16)
121539            }
121540        }
121541        impl W {
121542            ///Bits 0:15 - Data register
121543            #[inline(always)]
121544            pub fn dr(&mut self) -> DR_W {
121545                DR_W { w: self }
121546            }
121547        }
121548    }
121549    ///CRC polynomial register
121550    ///
121551    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
121552    ///
121553    ///For information about available fields see [crcpr](crcpr) module
121554    pub type CRCPR = crate::Reg<u32, _CRCPR>;
121555    #[allow(missing_docs)]
121556    #[doc(hidden)]
121557    pub struct _CRCPR;
121558    ///`read()` method returns [crcpr::R](crcpr::R) reader structure
121559    impl crate::Readable for CRCPR {}
121560    ///`write(|w| ..)` method takes [crcpr::W](crcpr::W) writer structure
121561    impl crate::Writable for CRCPR {}
121562    ///CRC polynomial register
121563    pub mod crcpr {
121564        ///Reader of register CRCPR
121565        pub type R = crate::R<u32, super::CRCPR>;
121566        ///Writer for register CRCPR
121567        pub type W = crate::W<u32, super::CRCPR>;
121568        ///Register CRCPR `reset()`'s with value 0x07
121569        impl crate::ResetValue for super::CRCPR {
121570            type Type = u32;
121571            #[inline(always)]
121572            fn reset_value() -> Self::Type {
121573                0x07
121574            }
121575        }
121576        ///Reader of field `CRCPOLY`
121577        pub type CRCPOLY_R = crate::R<u16, u16>;
121578        ///Write proxy for field `CRCPOLY`
121579        pub struct CRCPOLY_W<'a> {
121580            w: &'a mut W,
121581        }
121582        impl<'a> CRCPOLY_W<'a> {
121583            ///Writes raw bits to the field
121584            #[inline(always)]
121585            pub unsafe fn bits(self, value: u16) -> &'a mut W {
121586                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
121587                self.w
121588            }
121589        }
121590        impl R {
121591            ///Bits 0:15 - CRC polynomial register
121592            #[inline(always)]
121593            pub fn crcpoly(&self) -> CRCPOLY_R {
121594                CRCPOLY_R::new((self.bits & 0xffff) as u16)
121595            }
121596        }
121597        impl W {
121598            ///Bits 0:15 - CRC polynomial register
121599            #[inline(always)]
121600            pub fn crcpoly(&mut self) -> CRCPOLY_W {
121601                CRCPOLY_W { w: self }
121602            }
121603        }
121604    }
121605    ///RX CRC register
121606    ///
121607    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
121608    ///
121609    ///For information about available fields see [rxcrcr](rxcrcr) module
121610    pub type RXCRCR = crate::Reg<u32, _RXCRCR>;
121611    #[allow(missing_docs)]
121612    #[doc(hidden)]
121613    pub struct _RXCRCR;
121614    ///`read()` method returns [rxcrcr::R](rxcrcr::R) reader structure
121615    impl crate::Readable for RXCRCR {}
121616    ///RX CRC register
121617    pub mod rxcrcr {
121618        ///Reader of register RXCRCR
121619        pub type R = crate::R<u32, super::RXCRCR>;
121620        ///Reader of field `RxCRC`
121621        pub type RXCRC_R = crate::R<u16, u16>;
121622        impl R {
121623            ///Bits 0:15 - Rx CRC register
121624            #[inline(always)]
121625            pub fn rx_crc(&self) -> RXCRC_R {
121626                RXCRC_R::new((self.bits & 0xffff) as u16)
121627            }
121628        }
121629    }
121630    ///TX CRC register
121631    ///
121632    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
121633    ///
121634    ///For information about available fields see [txcrcr](txcrcr) module
121635    pub type TXCRCR = crate::Reg<u32, _TXCRCR>;
121636    #[allow(missing_docs)]
121637    #[doc(hidden)]
121638    pub struct _TXCRCR;
121639    ///`read()` method returns [txcrcr::R](txcrcr::R) reader structure
121640    impl crate::Readable for TXCRCR {}
121641    ///TX CRC register
121642    pub mod txcrcr {
121643        ///Reader of register TXCRCR
121644        pub type R = crate::R<u32, super::TXCRCR>;
121645        ///Reader of field `TxCRC`
121646        pub type TXCRC_R = crate::R<u16, u16>;
121647        impl R {
121648            ///Bits 0:15 - Tx CRC register
121649            #[inline(always)]
121650            pub fn tx_crc(&self) -> TXCRC_R {
121651                TXCRC_R::new((self.bits & 0xffff) as u16)
121652            }
121653        }
121654    }
121655}
121656///Serial peripheral interface/Inter-IC sound
121657pub struct SPI2 {
121658    _marker: PhantomData<*const ()>,
121659}
121660unsafe impl Send for SPI2 {}
121661impl SPI2 {
121662    ///Returns a pointer to the register block
121663    #[inline(always)]
121664    pub const fn ptr() -> *const spi1::RegisterBlock {
121665        0x4000_3800 as *const _
121666    }
121667}
121668impl Deref for SPI2 {
121669    type Target = spi1::RegisterBlock;
121670    #[inline(always)]
121671    fn deref(&self) -> &Self::Target {
121672        unsafe { &*SPI2::ptr() }
121673    }
121674}
121675///Voltage reference buffer
121676pub struct VREFBUF {
121677    _marker: PhantomData<*const ()>,
121678}
121679unsafe impl Send for VREFBUF {}
121680impl VREFBUF {
121681    ///Returns a pointer to the register block
121682    #[inline(always)]
121683    pub const fn ptr() -> *const vrefbuf::RegisterBlock {
121684        0x4001_0030 as *const _
121685    }
121686}
121687impl Deref for VREFBUF {
121688    type Target = vrefbuf::RegisterBlock;
121689    #[inline(always)]
121690    fn deref(&self) -> &Self::Target {
121691        unsafe { &*VREFBUF::ptr() }
121692    }
121693}
121694///Voltage reference buffer
121695pub mod vrefbuf {
121696    ///Register block
121697    #[repr(C)]
121698    pub struct RegisterBlock {
121699        ///0x00 - VREF control and status register
121700        pub csr: CSR,
121701        ///0x04 - calibration control register
121702        pub ccr: CCR,
121703    }
121704    ///VREF control and status register
121705    ///
121706    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
121707    ///
121708    ///For information about available fields see [csr](csr) module
121709    pub type CSR = crate::Reg<u32, _CSR>;
121710    #[allow(missing_docs)]
121711    #[doc(hidden)]
121712    pub struct _CSR;
121713    ///`read()` method returns [csr::R](csr::R) reader structure
121714    impl crate::Readable for CSR {}
121715    ///`write(|w| ..)` method takes [csr::W](csr::W) writer structure
121716    impl crate::Writable for CSR {}
121717    ///VREF control and status register
121718    pub mod csr {
121719        ///Reader of register CSR
121720        pub type R = crate::R<u32, super::CSR>;
121721        ///Writer for register CSR
121722        pub type W = crate::W<u32, super::CSR>;
121723        ///Register CSR `reset()`'s with value 0x02
121724        impl crate::ResetValue for super::CSR {
121725            type Type = u32;
121726            #[inline(always)]
121727            fn reset_value() -> Self::Type {
121728                0x02
121729            }
121730        }
121731        ///Reader of field `ENVR`
121732        pub type ENVR_R = crate::R<bool, bool>;
121733        ///Write proxy for field `ENVR`
121734        pub struct ENVR_W<'a> {
121735            w: &'a mut W,
121736        }
121737        impl<'a> ENVR_W<'a> {
121738            ///Sets the field bit
121739            #[inline(always)]
121740            pub fn set_bit(self) -> &'a mut W {
121741                self.bit(true)
121742            }
121743            ///Clears the field bit
121744            #[inline(always)]
121745            pub fn clear_bit(self) -> &'a mut W {
121746                self.bit(false)
121747            }
121748            ///Writes raw bits to the field
121749            #[inline(always)]
121750            pub fn bit(self, value: bool) -> &'a mut W {
121751                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
121752                self.w
121753            }
121754        }
121755        ///Reader of field `HIZ`
121756        pub type HIZ_R = crate::R<bool, bool>;
121757        ///Write proxy for field `HIZ`
121758        pub struct HIZ_W<'a> {
121759            w: &'a mut W,
121760        }
121761        impl<'a> HIZ_W<'a> {
121762            ///Sets the field bit
121763            #[inline(always)]
121764            pub fn set_bit(self) -> &'a mut W {
121765                self.bit(true)
121766            }
121767            ///Clears the field bit
121768            #[inline(always)]
121769            pub fn clear_bit(self) -> &'a mut W {
121770                self.bit(false)
121771            }
121772            ///Writes raw bits to the field
121773            #[inline(always)]
121774            pub fn bit(self, value: bool) -> &'a mut W {
121775                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
121776                self.w
121777            }
121778        }
121779        ///Reader of field `VRS`
121780        pub type VRS_R = crate::R<bool, bool>;
121781        ///Write proxy for field `VRS`
121782        pub struct VRS_W<'a> {
121783            w: &'a mut W,
121784        }
121785        impl<'a> VRS_W<'a> {
121786            ///Sets the field bit
121787            #[inline(always)]
121788            pub fn set_bit(self) -> &'a mut W {
121789                self.bit(true)
121790            }
121791            ///Clears the field bit
121792            #[inline(always)]
121793            pub fn clear_bit(self) -> &'a mut W {
121794                self.bit(false)
121795            }
121796            ///Writes raw bits to the field
121797            #[inline(always)]
121798            pub fn bit(self, value: bool) -> &'a mut W {
121799                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
121800                self.w
121801            }
121802        }
121803        ///Reader of field `VRR`
121804        pub type VRR_R = crate::R<bool, bool>;
121805        impl R {
121806            ///Bit 0 - Voltage reference buffer enable
121807            #[inline(always)]
121808            pub fn envr(&self) -> ENVR_R {
121809                ENVR_R::new((self.bits & 0x01) != 0)
121810            }
121811            ///Bit 1 - High impedance mode
121812            #[inline(always)]
121813            pub fn hiz(&self) -> HIZ_R {
121814                HIZ_R::new(((self.bits >> 1) & 0x01) != 0)
121815            }
121816            ///Bit 2 - Voltage reference scale
121817            #[inline(always)]
121818            pub fn vrs(&self) -> VRS_R {
121819                VRS_R::new(((self.bits >> 2) & 0x01) != 0)
121820            }
121821            ///Bit 3 - Voltage reference buffer ready
121822            #[inline(always)]
121823            pub fn vrr(&self) -> VRR_R {
121824                VRR_R::new(((self.bits >> 3) & 0x01) != 0)
121825            }
121826        }
121827        impl W {
121828            ///Bit 0 - Voltage reference buffer enable
121829            #[inline(always)]
121830            pub fn envr(&mut self) -> ENVR_W {
121831                ENVR_W { w: self }
121832            }
121833            ///Bit 1 - High impedance mode
121834            #[inline(always)]
121835            pub fn hiz(&mut self) -> HIZ_W {
121836                HIZ_W { w: self }
121837            }
121838            ///Bit 2 - Voltage reference scale
121839            #[inline(always)]
121840            pub fn vrs(&mut self) -> VRS_W {
121841                VRS_W { w: self }
121842            }
121843        }
121844    }
121845    ///calibration control register
121846    ///
121847    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
121848    ///
121849    ///For information about available fields see [ccr](ccr) module
121850    pub type CCR = crate::Reg<u32, _CCR>;
121851    #[allow(missing_docs)]
121852    #[doc(hidden)]
121853    pub struct _CCR;
121854    ///`read()` method returns [ccr::R](ccr::R) reader structure
121855    impl crate::Readable for CCR {}
121856    ///`write(|w| ..)` method takes [ccr::W](ccr::W) writer structure
121857    impl crate::Writable for CCR {}
121858    ///calibration control register
121859    pub mod ccr {
121860        ///Reader of register CCR
121861        pub type R = crate::R<u32, super::CCR>;
121862        ///Writer for register CCR
121863        pub type W = crate::W<u32, super::CCR>;
121864        ///Register CCR `reset()`'s with value 0
121865        impl crate::ResetValue for super::CCR {
121866            type Type = u32;
121867            #[inline(always)]
121868            fn reset_value() -> Self::Type {
121869                0
121870            }
121871        }
121872        ///Reader of field `TRIM`
121873        pub type TRIM_R = crate::R<u8, u8>;
121874        ///Write proxy for field `TRIM`
121875        pub struct TRIM_W<'a> {
121876            w: &'a mut W,
121877        }
121878        impl<'a> TRIM_W<'a> {
121879            ///Writes raw bits to the field
121880            #[inline(always)]
121881            pub unsafe fn bits(self, value: u8) -> &'a mut W {
121882                self.w.bits = (self.w.bits & !0x3f) | ((value as u32) & 0x3f);
121883                self.w
121884            }
121885        }
121886        impl R {
121887            ///Bits 0:5 - Trimming code
121888            #[inline(always)]
121889            pub fn trim(&self) -> TRIM_R {
121890                TRIM_R::new((self.bits & 0x3f) as u8)
121891            }
121892        }
121893        impl W {
121894            ///Bits 0:5 - Trimming code
121895            #[inline(always)]
121896            pub fn trim(&mut self) -> TRIM_W {
121897                TRIM_W { w: self }
121898            }
121899        }
121900    }
121901}
121902///Real-time clock
121903pub struct RTC {
121904    _marker: PhantomData<*const ()>,
121905}
121906unsafe impl Send for RTC {}
121907impl RTC {
121908    ///Returns a pointer to the register block
121909    #[inline(always)]
121910    pub const fn ptr() -> *const rtc::RegisterBlock {
121911        0x4000_2800 as *const _
121912    }
121913}
121914impl Deref for RTC {
121915    type Target = rtc::RegisterBlock;
121916    #[inline(always)]
121917    fn deref(&self) -> &Self::Target {
121918        unsafe { &*RTC::ptr() }
121919    }
121920}
121921///Real-time clock
121922pub mod rtc {
121923    ///Register block
121924    #[repr(C)]
121925    pub struct RegisterBlock {
121926        ///0x00 - time register
121927        pub tr: TR,
121928        ///0x04 - date register
121929        pub dr: DR,
121930        ///0x08 - control register
121931        pub cr: CR,
121932        ///0x0c - initialization and status register
121933        pub isr: ISR,
121934        ///0x10 - prescaler register
121935        pub prer: PRER,
121936        ///0x14 - wakeup timer register
121937        pub wutr: WUTR,
121938        _reserved6: [u8; 4usize],
121939        ///0x1c - alarm A register
121940        pub alrmar: ALRMAR,
121941        ///0x20 - alarm B register
121942        pub alrmbr: ALRMBR,
121943        ///0x24 - write protection register
121944        pub wpr: WPR,
121945        ///0x28 - sub second register
121946        pub ssr: SSR,
121947        ///0x2c - shift control register
121948        pub shiftr: SHIFTR,
121949        ///0x30 - time stamp time register
121950        pub tstr: TSTR,
121951        ///0x34 - time stamp date register
121952        pub tsdr: TSDR,
121953        ///0x38 - timestamp sub second register
121954        pub tsssr: TSSSR,
121955        ///0x3c - calibration register
121956        pub calr: CALR,
121957        ///0x40 - tamper configuration register
121958        pub tampcr: TAMPCR,
121959        ///0x44 - alarm A sub second register
121960        pub alrmassr: ALRMASSR,
121961        ///0x48 - alarm B sub second register
121962        pub alrmbssr: ALRMBSSR,
121963        ///0x4c - option register
121964        pub or: OR,
121965        ///0x50 - backup register
121966        pub bkp0r: BKP0R,
121967        ///0x54 - backup register
121968        pub bkp1r: BKP1R,
121969        ///0x58 - backup register
121970        pub bkp2r: BKP2R,
121971        ///0x5c - backup register
121972        pub bkp3r: BKP3R,
121973        ///0x60 - backup register
121974        pub bkp4r: BKP4R,
121975        ///0x64 - backup register
121976        pub bkp5r: BKP5R,
121977        ///0x68 - backup register
121978        pub bkp6r: BKP6R,
121979        ///0x6c - backup register
121980        pub bkp7r: BKP7R,
121981        ///0x70 - backup register
121982        pub bkp8r: BKP8R,
121983        ///0x74 - backup register
121984        pub bkp9r: BKP9R,
121985        ///0x78 - backup register
121986        pub bkp10r: BKP10R,
121987        ///0x7c - backup register
121988        pub bkp11r: BKP11R,
121989        ///0x80 - backup register
121990        pub bkp12r: BKP12R,
121991        ///0x84 - backup register
121992        pub bkp13r: BKP13R,
121993        ///0x88 - backup register
121994        pub bkp14r: BKP14R,
121995        ///0x8c - backup register
121996        pub bkp15r: BKP15R,
121997        ///0x90 - backup register
121998        pub bkp16r: BKP16R,
121999        ///0x94 - backup register
122000        pub bkp17r: BKP17R,
122001        ///0x98 - backup register
122002        pub bkp18r: BKP18R,
122003        ///0x9c - backup register
122004        pub bkp19r: BKP19R,
122005    }
122006    ///time register
122007    ///
122008    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
122009    ///
122010    ///For information about available fields see [tr](tr) module
122011    pub type TR = crate::Reg<u32, _TR>;
122012    #[allow(missing_docs)]
122013    #[doc(hidden)]
122014    pub struct _TR;
122015    ///`read()` method returns [tr::R](tr::R) reader structure
122016    impl crate::Readable for TR {}
122017    ///`write(|w| ..)` method takes [tr::W](tr::W) writer structure
122018    impl crate::Writable for TR {}
122019    ///time register
122020    pub mod tr {
122021        ///Reader of register TR
122022        pub type R = crate::R<u32, super::TR>;
122023        ///Writer for register TR
122024        pub type W = crate::W<u32, super::TR>;
122025        ///Register TR `reset()`'s with value 0
122026        impl crate::ResetValue for super::TR {
122027            type Type = u32;
122028            #[inline(always)]
122029            fn reset_value() -> Self::Type {
122030                0
122031            }
122032        }
122033        ///Reader of field `PM`
122034        pub type PM_R = crate::R<bool, bool>;
122035        ///Write proxy for field `PM`
122036        pub struct PM_W<'a> {
122037            w: &'a mut W,
122038        }
122039        impl<'a> PM_W<'a> {
122040            ///Sets the field bit
122041            #[inline(always)]
122042            pub fn set_bit(self) -> &'a mut W {
122043                self.bit(true)
122044            }
122045            ///Clears the field bit
122046            #[inline(always)]
122047            pub fn clear_bit(self) -> &'a mut W {
122048                self.bit(false)
122049            }
122050            ///Writes raw bits to the field
122051            #[inline(always)]
122052            pub fn bit(self, value: bool) -> &'a mut W {
122053                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
122054                self.w
122055            }
122056        }
122057        ///Reader of field `HT`
122058        pub type HT_R = crate::R<u8, u8>;
122059        ///Write proxy for field `HT`
122060        pub struct HT_W<'a> {
122061            w: &'a mut W,
122062        }
122063        impl<'a> HT_W<'a> {
122064            ///Writes raw bits to the field
122065            #[inline(always)]
122066            pub unsafe fn bits(self, value: u8) -> &'a mut W {
122067                self.w.bits = (self.w.bits & !(0x03 << 20)) | (((value as u32) & 0x03) << 20);
122068                self.w
122069            }
122070        }
122071        ///Reader of field `HU`
122072        pub type HU_R = crate::R<u8, u8>;
122073        ///Write proxy for field `HU`
122074        pub struct HU_W<'a> {
122075            w: &'a mut W,
122076        }
122077        impl<'a> HU_W<'a> {
122078            ///Writes raw bits to the field
122079            #[inline(always)]
122080            pub unsafe fn bits(self, value: u8) -> &'a mut W {
122081                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
122082                self.w
122083            }
122084        }
122085        ///Reader of field `MNT`
122086        pub type MNT_R = crate::R<u8, u8>;
122087        ///Write proxy for field `MNT`
122088        pub struct MNT_W<'a> {
122089            w: &'a mut W,
122090        }
122091        impl<'a> MNT_W<'a> {
122092            ///Writes raw bits to the field
122093            #[inline(always)]
122094            pub unsafe fn bits(self, value: u8) -> &'a mut W {
122095                self.w.bits = (self.w.bits & !(0x07 << 12)) | (((value as u32) & 0x07) << 12);
122096                self.w
122097            }
122098        }
122099        ///Reader of field `MNU`
122100        pub type MNU_R = crate::R<u8, u8>;
122101        ///Write proxy for field `MNU`
122102        pub struct MNU_W<'a> {
122103            w: &'a mut W,
122104        }
122105        impl<'a> MNU_W<'a> {
122106            ///Writes raw bits to the field
122107            #[inline(always)]
122108            pub unsafe fn bits(self, value: u8) -> &'a mut W {
122109                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
122110                self.w
122111            }
122112        }
122113        ///Reader of field `ST`
122114        pub type ST_R = crate::R<u8, u8>;
122115        ///Write proxy for field `ST`
122116        pub struct ST_W<'a> {
122117            w: &'a mut W,
122118        }
122119        impl<'a> ST_W<'a> {
122120            ///Writes raw bits to the field
122121            #[inline(always)]
122122            pub unsafe fn bits(self, value: u8) -> &'a mut W {
122123                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
122124                self.w
122125            }
122126        }
122127        ///Reader of field `SU`
122128        pub type SU_R = crate::R<u8, u8>;
122129        ///Write proxy for field `SU`
122130        pub struct SU_W<'a> {
122131            w: &'a mut W,
122132        }
122133        impl<'a> SU_W<'a> {
122134            ///Writes raw bits to the field
122135            #[inline(always)]
122136            pub unsafe fn bits(self, value: u8) -> &'a mut W {
122137                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
122138                self.w
122139            }
122140        }
122141        impl R {
122142            ///Bit 22 - AM/PM notation
122143            #[inline(always)]
122144            pub fn pm(&self) -> PM_R {
122145                PM_R::new(((self.bits >> 22) & 0x01) != 0)
122146            }
122147            ///Bits 20:21 - Hour tens in BCD format
122148            #[inline(always)]
122149            pub fn ht(&self) -> HT_R {
122150                HT_R::new(((self.bits >> 20) & 0x03) as u8)
122151            }
122152            ///Bits 16:19 - Hour units in BCD format
122153            #[inline(always)]
122154            pub fn hu(&self) -> HU_R {
122155                HU_R::new(((self.bits >> 16) & 0x0f) as u8)
122156            }
122157            ///Bits 12:14 - Minute tens in BCD format
122158            #[inline(always)]
122159            pub fn mnt(&self) -> MNT_R {
122160                MNT_R::new(((self.bits >> 12) & 0x07) as u8)
122161            }
122162            ///Bits 8:11 - Minute units in BCD format
122163            #[inline(always)]
122164            pub fn mnu(&self) -> MNU_R {
122165                MNU_R::new(((self.bits >> 8) & 0x0f) as u8)
122166            }
122167            ///Bits 4:6 - Second tens in BCD format
122168            #[inline(always)]
122169            pub fn st(&self) -> ST_R {
122170                ST_R::new(((self.bits >> 4) & 0x07) as u8)
122171            }
122172            ///Bits 0:3 - Second units in BCD format
122173            #[inline(always)]
122174            pub fn su(&self) -> SU_R {
122175                SU_R::new((self.bits & 0x0f) as u8)
122176            }
122177        }
122178        impl W {
122179            ///Bit 22 - AM/PM notation
122180            #[inline(always)]
122181            pub fn pm(&mut self) -> PM_W {
122182                PM_W { w: self }
122183            }
122184            ///Bits 20:21 - Hour tens in BCD format
122185            #[inline(always)]
122186            pub fn ht(&mut self) -> HT_W {
122187                HT_W { w: self }
122188            }
122189            ///Bits 16:19 - Hour units in BCD format
122190            #[inline(always)]
122191            pub fn hu(&mut self) -> HU_W {
122192                HU_W { w: self }
122193            }
122194            ///Bits 12:14 - Minute tens in BCD format
122195            #[inline(always)]
122196            pub fn mnt(&mut self) -> MNT_W {
122197                MNT_W { w: self }
122198            }
122199            ///Bits 8:11 - Minute units in BCD format
122200            #[inline(always)]
122201            pub fn mnu(&mut self) -> MNU_W {
122202                MNU_W { w: self }
122203            }
122204            ///Bits 4:6 - Second tens in BCD format
122205            #[inline(always)]
122206            pub fn st(&mut self) -> ST_W {
122207                ST_W { w: self }
122208            }
122209            ///Bits 0:3 - Second units in BCD format
122210            #[inline(always)]
122211            pub fn su(&mut self) -> SU_W {
122212                SU_W { w: self }
122213            }
122214        }
122215    }
122216    ///date register
122217    ///
122218    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
122219    ///
122220    ///For information about available fields see [dr](dr) module
122221    pub type DR = crate::Reg<u32, _DR>;
122222    #[allow(missing_docs)]
122223    #[doc(hidden)]
122224    pub struct _DR;
122225    ///`read()` method returns [dr::R](dr::R) reader structure
122226    impl crate::Readable for DR {}
122227    ///`write(|w| ..)` method takes [dr::W](dr::W) writer structure
122228    impl crate::Writable for DR {}
122229    ///date register
122230    pub mod dr {
122231        ///Reader of register DR
122232        pub type R = crate::R<u32, super::DR>;
122233        ///Writer for register DR
122234        pub type W = crate::W<u32, super::DR>;
122235        ///Register DR `reset()`'s with value 0x2101
122236        impl crate::ResetValue for super::DR {
122237            type Type = u32;
122238            #[inline(always)]
122239            fn reset_value() -> Self::Type {
122240                0x2101
122241            }
122242        }
122243        ///Reader of field `YT`
122244        pub type YT_R = crate::R<u8, u8>;
122245        ///Write proxy for field `YT`
122246        pub struct YT_W<'a> {
122247            w: &'a mut W,
122248        }
122249        impl<'a> YT_W<'a> {
122250            ///Writes raw bits to the field
122251            #[inline(always)]
122252            pub unsafe fn bits(self, value: u8) -> &'a mut W {
122253                self.w.bits = (self.w.bits & !(0x0f << 20)) | (((value as u32) & 0x0f) << 20);
122254                self.w
122255            }
122256        }
122257        ///Reader of field `YU`
122258        pub type YU_R = crate::R<u8, u8>;
122259        ///Write proxy for field `YU`
122260        pub struct YU_W<'a> {
122261            w: &'a mut W,
122262        }
122263        impl<'a> YU_W<'a> {
122264            ///Writes raw bits to the field
122265            #[inline(always)]
122266            pub unsafe fn bits(self, value: u8) -> &'a mut W {
122267                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
122268                self.w
122269            }
122270        }
122271        ///Reader of field `WDU`
122272        pub type WDU_R = crate::R<u8, u8>;
122273        ///Write proxy for field `WDU`
122274        pub struct WDU_W<'a> {
122275            w: &'a mut W,
122276        }
122277        impl<'a> WDU_W<'a> {
122278            ///Writes raw bits to the field
122279            #[inline(always)]
122280            pub unsafe fn bits(self, value: u8) -> &'a mut W {
122281                self.w.bits = (self.w.bits & !(0x07 << 13)) | (((value as u32) & 0x07) << 13);
122282                self.w
122283            }
122284        }
122285        ///Reader of field `MT`
122286        pub type MT_R = crate::R<bool, bool>;
122287        ///Write proxy for field `MT`
122288        pub struct MT_W<'a> {
122289            w: &'a mut W,
122290        }
122291        impl<'a> MT_W<'a> {
122292            ///Sets the field bit
122293            #[inline(always)]
122294            pub fn set_bit(self) -> &'a mut W {
122295                self.bit(true)
122296            }
122297            ///Clears the field bit
122298            #[inline(always)]
122299            pub fn clear_bit(self) -> &'a mut W {
122300                self.bit(false)
122301            }
122302            ///Writes raw bits to the field
122303            #[inline(always)]
122304            pub fn bit(self, value: bool) -> &'a mut W {
122305                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
122306                self.w
122307            }
122308        }
122309        ///Reader of field `MU`
122310        pub type MU_R = crate::R<u8, u8>;
122311        ///Write proxy for field `MU`
122312        pub struct MU_W<'a> {
122313            w: &'a mut W,
122314        }
122315        impl<'a> MU_W<'a> {
122316            ///Writes raw bits to the field
122317            #[inline(always)]
122318            pub unsafe fn bits(self, value: u8) -> &'a mut W {
122319                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
122320                self.w
122321            }
122322        }
122323        ///Reader of field `DT`
122324        pub type DT_R = crate::R<u8, u8>;
122325        ///Write proxy for field `DT`
122326        pub struct DT_W<'a> {
122327            w: &'a mut W,
122328        }
122329        impl<'a> DT_W<'a> {
122330            ///Writes raw bits to the field
122331            #[inline(always)]
122332            pub unsafe fn bits(self, value: u8) -> &'a mut W {
122333                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u32) & 0x03) << 4);
122334                self.w
122335            }
122336        }
122337        ///Reader of field `DU`
122338        pub type DU_R = crate::R<u8, u8>;
122339        ///Write proxy for field `DU`
122340        pub struct DU_W<'a> {
122341            w: &'a mut W,
122342        }
122343        impl<'a> DU_W<'a> {
122344            ///Writes raw bits to the field
122345            #[inline(always)]
122346            pub unsafe fn bits(self, value: u8) -> &'a mut W {
122347                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
122348                self.w
122349            }
122350        }
122351        impl R {
122352            ///Bits 20:23 - Year tens in BCD format
122353            #[inline(always)]
122354            pub fn yt(&self) -> YT_R {
122355                YT_R::new(((self.bits >> 20) & 0x0f) as u8)
122356            }
122357            ///Bits 16:19 - Year units in BCD format
122358            #[inline(always)]
122359            pub fn yu(&self) -> YU_R {
122360                YU_R::new(((self.bits >> 16) & 0x0f) as u8)
122361            }
122362            ///Bits 13:15 - Week day units
122363            #[inline(always)]
122364            pub fn wdu(&self) -> WDU_R {
122365                WDU_R::new(((self.bits >> 13) & 0x07) as u8)
122366            }
122367            ///Bit 12 - Month tens in BCD format
122368            #[inline(always)]
122369            pub fn mt(&self) -> MT_R {
122370                MT_R::new(((self.bits >> 12) & 0x01) != 0)
122371            }
122372            ///Bits 8:11 - Month units in BCD format
122373            #[inline(always)]
122374            pub fn mu(&self) -> MU_R {
122375                MU_R::new(((self.bits >> 8) & 0x0f) as u8)
122376            }
122377            ///Bits 4:5 - Date tens in BCD format
122378            #[inline(always)]
122379            pub fn dt(&self) -> DT_R {
122380                DT_R::new(((self.bits >> 4) & 0x03) as u8)
122381            }
122382            ///Bits 0:3 - Date units in BCD format
122383            #[inline(always)]
122384            pub fn du(&self) -> DU_R {
122385                DU_R::new((self.bits & 0x0f) as u8)
122386            }
122387        }
122388        impl W {
122389            ///Bits 20:23 - Year tens in BCD format
122390            #[inline(always)]
122391            pub fn yt(&mut self) -> YT_W {
122392                YT_W { w: self }
122393            }
122394            ///Bits 16:19 - Year units in BCD format
122395            #[inline(always)]
122396            pub fn yu(&mut self) -> YU_W {
122397                YU_W { w: self }
122398            }
122399            ///Bits 13:15 - Week day units
122400            #[inline(always)]
122401            pub fn wdu(&mut self) -> WDU_W {
122402                WDU_W { w: self }
122403            }
122404            ///Bit 12 - Month tens in BCD format
122405            #[inline(always)]
122406            pub fn mt(&mut self) -> MT_W {
122407                MT_W { w: self }
122408            }
122409            ///Bits 8:11 - Month units in BCD format
122410            #[inline(always)]
122411            pub fn mu(&mut self) -> MU_W {
122412                MU_W { w: self }
122413            }
122414            ///Bits 4:5 - Date tens in BCD format
122415            #[inline(always)]
122416            pub fn dt(&mut self) -> DT_W {
122417                DT_W { w: self }
122418            }
122419            ///Bits 0:3 - Date units in BCD format
122420            #[inline(always)]
122421            pub fn du(&mut self) -> DU_W {
122422                DU_W { w: self }
122423            }
122424        }
122425    }
122426    ///control register
122427    ///
122428    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
122429    ///
122430    ///For information about available fields see [cr](cr) module
122431    pub type CR = crate::Reg<u32, _CR>;
122432    #[allow(missing_docs)]
122433    #[doc(hidden)]
122434    pub struct _CR;
122435    ///`read()` method returns [cr::R](cr::R) reader structure
122436    impl crate::Readable for CR {}
122437    ///`write(|w| ..)` method takes [cr::W](cr::W) writer structure
122438    impl crate::Writable for CR {}
122439    ///control register
122440    pub mod cr {
122441        ///Reader of register CR
122442        pub type R = crate::R<u32, super::CR>;
122443        ///Writer for register CR
122444        pub type W = crate::W<u32, super::CR>;
122445        ///Register CR `reset()`'s with value 0
122446        impl crate::ResetValue for super::CR {
122447            type Type = u32;
122448            #[inline(always)]
122449            fn reset_value() -> Self::Type {
122450                0
122451            }
122452        }
122453        ///Reader of field `WUCKSEL`
122454        pub type WUCKSEL_R = crate::R<u8, u8>;
122455        ///Write proxy for field `WUCKSEL`
122456        pub struct WUCKSEL_W<'a> {
122457            w: &'a mut W,
122458        }
122459        impl<'a> WUCKSEL_W<'a> {
122460            ///Writes raw bits to the field
122461            #[inline(always)]
122462            pub unsafe fn bits(self, value: u8) -> &'a mut W {
122463                self.w.bits = (self.w.bits & !0x07) | ((value as u32) & 0x07);
122464                self.w
122465            }
122466        }
122467        ///Reader of field `TSEDGE`
122468        pub type TSEDGE_R = crate::R<bool, bool>;
122469        ///Write proxy for field `TSEDGE`
122470        pub struct TSEDGE_W<'a> {
122471            w: &'a mut W,
122472        }
122473        impl<'a> TSEDGE_W<'a> {
122474            ///Sets the field bit
122475            #[inline(always)]
122476            pub fn set_bit(self) -> &'a mut W {
122477                self.bit(true)
122478            }
122479            ///Clears the field bit
122480            #[inline(always)]
122481            pub fn clear_bit(self) -> &'a mut W {
122482                self.bit(false)
122483            }
122484            ///Writes raw bits to the field
122485            #[inline(always)]
122486            pub fn bit(self, value: bool) -> &'a mut W {
122487                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
122488                self.w
122489            }
122490        }
122491        ///Reader of field `REFCKON`
122492        pub type REFCKON_R = crate::R<bool, bool>;
122493        ///Write proxy for field `REFCKON`
122494        pub struct REFCKON_W<'a> {
122495            w: &'a mut W,
122496        }
122497        impl<'a> REFCKON_W<'a> {
122498            ///Sets the field bit
122499            #[inline(always)]
122500            pub fn set_bit(self) -> &'a mut W {
122501                self.bit(true)
122502            }
122503            ///Clears the field bit
122504            #[inline(always)]
122505            pub fn clear_bit(self) -> &'a mut W {
122506                self.bit(false)
122507            }
122508            ///Writes raw bits to the field
122509            #[inline(always)]
122510            pub fn bit(self, value: bool) -> &'a mut W {
122511                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
122512                self.w
122513            }
122514        }
122515        ///Reader of field `BYPSHAD`
122516        pub type BYPSHAD_R = crate::R<bool, bool>;
122517        ///Write proxy for field `BYPSHAD`
122518        pub struct BYPSHAD_W<'a> {
122519            w: &'a mut W,
122520        }
122521        impl<'a> BYPSHAD_W<'a> {
122522            ///Sets the field bit
122523            #[inline(always)]
122524            pub fn set_bit(self) -> &'a mut W {
122525                self.bit(true)
122526            }
122527            ///Clears the field bit
122528            #[inline(always)]
122529            pub fn clear_bit(self) -> &'a mut W {
122530                self.bit(false)
122531            }
122532            ///Writes raw bits to the field
122533            #[inline(always)]
122534            pub fn bit(self, value: bool) -> &'a mut W {
122535                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
122536                self.w
122537            }
122538        }
122539        ///Reader of field `FMT`
122540        pub type FMT_R = crate::R<bool, bool>;
122541        ///Write proxy for field `FMT`
122542        pub struct FMT_W<'a> {
122543            w: &'a mut W,
122544        }
122545        impl<'a> FMT_W<'a> {
122546            ///Sets the field bit
122547            #[inline(always)]
122548            pub fn set_bit(self) -> &'a mut W {
122549                self.bit(true)
122550            }
122551            ///Clears the field bit
122552            #[inline(always)]
122553            pub fn clear_bit(self) -> &'a mut W {
122554                self.bit(false)
122555            }
122556            ///Writes raw bits to the field
122557            #[inline(always)]
122558            pub fn bit(self, value: bool) -> &'a mut W {
122559                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
122560                self.w
122561            }
122562        }
122563        ///Reader of field `ALRAE`
122564        pub type ALRAE_R = crate::R<bool, bool>;
122565        ///Write proxy for field `ALRAE`
122566        pub struct ALRAE_W<'a> {
122567            w: &'a mut W,
122568        }
122569        impl<'a> ALRAE_W<'a> {
122570            ///Sets the field bit
122571            #[inline(always)]
122572            pub fn set_bit(self) -> &'a mut W {
122573                self.bit(true)
122574            }
122575            ///Clears the field bit
122576            #[inline(always)]
122577            pub fn clear_bit(self) -> &'a mut W {
122578                self.bit(false)
122579            }
122580            ///Writes raw bits to the field
122581            #[inline(always)]
122582            pub fn bit(self, value: bool) -> &'a mut W {
122583                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
122584                self.w
122585            }
122586        }
122587        ///Reader of field `ALRBE`
122588        pub type ALRBE_R = crate::R<bool, bool>;
122589        ///Write proxy for field `ALRBE`
122590        pub struct ALRBE_W<'a> {
122591            w: &'a mut W,
122592        }
122593        impl<'a> ALRBE_W<'a> {
122594            ///Sets the field bit
122595            #[inline(always)]
122596            pub fn set_bit(self) -> &'a mut W {
122597                self.bit(true)
122598            }
122599            ///Clears the field bit
122600            #[inline(always)]
122601            pub fn clear_bit(self) -> &'a mut W {
122602                self.bit(false)
122603            }
122604            ///Writes raw bits to the field
122605            #[inline(always)]
122606            pub fn bit(self, value: bool) -> &'a mut W {
122607                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
122608                self.w
122609            }
122610        }
122611        ///Reader of field `WUTE`
122612        pub type WUTE_R = crate::R<bool, bool>;
122613        ///Write proxy for field `WUTE`
122614        pub struct WUTE_W<'a> {
122615            w: &'a mut W,
122616        }
122617        impl<'a> WUTE_W<'a> {
122618            ///Sets the field bit
122619            #[inline(always)]
122620            pub fn set_bit(self) -> &'a mut W {
122621                self.bit(true)
122622            }
122623            ///Clears the field bit
122624            #[inline(always)]
122625            pub fn clear_bit(self) -> &'a mut W {
122626                self.bit(false)
122627            }
122628            ///Writes raw bits to the field
122629            #[inline(always)]
122630            pub fn bit(self, value: bool) -> &'a mut W {
122631                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
122632                self.w
122633            }
122634        }
122635        ///Reader of field `TSE`
122636        pub type TSE_R = crate::R<bool, bool>;
122637        ///Write proxy for field `TSE`
122638        pub struct TSE_W<'a> {
122639            w: &'a mut W,
122640        }
122641        impl<'a> TSE_W<'a> {
122642            ///Sets the field bit
122643            #[inline(always)]
122644            pub fn set_bit(self) -> &'a mut W {
122645                self.bit(true)
122646            }
122647            ///Clears the field bit
122648            #[inline(always)]
122649            pub fn clear_bit(self) -> &'a mut W {
122650                self.bit(false)
122651            }
122652            ///Writes raw bits to the field
122653            #[inline(always)]
122654            pub fn bit(self, value: bool) -> &'a mut W {
122655                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
122656                self.w
122657            }
122658        }
122659        ///Reader of field `ALRAIE`
122660        pub type ALRAIE_R = crate::R<bool, bool>;
122661        ///Write proxy for field `ALRAIE`
122662        pub struct ALRAIE_W<'a> {
122663            w: &'a mut W,
122664        }
122665        impl<'a> ALRAIE_W<'a> {
122666            ///Sets the field bit
122667            #[inline(always)]
122668            pub fn set_bit(self) -> &'a mut W {
122669                self.bit(true)
122670            }
122671            ///Clears the field bit
122672            #[inline(always)]
122673            pub fn clear_bit(self) -> &'a mut W {
122674                self.bit(false)
122675            }
122676            ///Writes raw bits to the field
122677            #[inline(always)]
122678            pub fn bit(self, value: bool) -> &'a mut W {
122679                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
122680                self.w
122681            }
122682        }
122683        ///Reader of field `ALRBIE`
122684        pub type ALRBIE_R = crate::R<bool, bool>;
122685        ///Write proxy for field `ALRBIE`
122686        pub struct ALRBIE_W<'a> {
122687            w: &'a mut W,
122688        }
122689        impl<'a> ALRBIE_W<'a> {
122690            ///Sets the field bit
122691            #[inline(always)]
122692            pub fn set_bit(self) -> &'a mut W {
122693                self.bit(true)
122694            }
122695            ///Clears the field bit
122696            #[inline(always)]
122697            pub fn clear_bit(self) -> &'a mut W {
122698                self.bit(false)
122699            }
122700            ///Writes raw bits to the field
122701            #[inline(always)]
122702            pub fn bit(self, value: bool) -> &'a mut W {
122703                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
122704                self.w
122705            }
122706        }
122707        ///Reader of field `WUTIE`
122708        pub type WUTIE_R = crate::R<bool, bool>;
122709        ///Write proxy for field `WUTIE`
122710        pub struct WUTIE_W<'a> {
122711            w: &'a mut W,
122712        }
122713        impl<'a> WUTIE_W<'a> {
122714            ///Sets the field bit
122715            #[inline(always)]
122716            pub fn set_bit(self) -> &'a mut W {
122717                self.bit(true)
122718            }
122719            ///Clears the field bit
122720            #[inline(always)]
122721            pub fn clear_bit(self) -> &'a mut W {
122722                self.bit(false)
122723            }
122724            ///Writes raw bits to the field
122725            #[inline(always)]
122726            pub fn bit(self, value: bool) -> &'a mut W {
122727                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
122728                self.w
122729            }
122730        }
122731        ///Reader of field `TSIE`
122732        pub type TSIE_R = crate::R<bool, bool>;
122733        ///Write proxy for field `TSIE`
122734        pub struct TSIE_W<'a> {
122735            w: &'a mut W,
122736        }
122737        impl<'a> TSIE_W<'a> {
122738            ///Sets the field bit
122739            #[inline(always)]
122740            pub fn set_bit(self) -> &'a mut W {
122741                self.bit(true)
122742            }
122743            ///Clears the field bit
122744            #[inline(always)]
122745            pub fn clear_bit(self) -> &'a mut W {
122746                self.bit(false)
122747            }
122748            ///Writes raw bits to the field
122749            #[inline(always)]
122750            pub fn bit(self, value: bool) -> &'a mut W {
122751                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
122752                self.w
122753            }
122754        }
122755        ///Reader of field `ADD1H`
122756        pub type ADD1H_R = crate::R<bool, bool>;
122757        ///Write proxy for field `ADD1H`
122758        pub struct ADD1H_W<'a> {
122759            w: &'a mut W,
122760        }
122761        impl<'a> ADD1H_W<'a> {
122762            ///Sets the field bit
122763            #[inline(always)]
122764            pub fn set_bit(self) -> &'a mut W {
122765                self.bit(true)
122766            }
122767            ///Clears the field bit
122768            #[inline(always)]
122769            pub fn clear_bit(self) -> &'a mut W {
122770                self.bit(false)
122771            }
122772            ///Writes raw bits to the field
122773            #[inline(always)]
122774            pub fn bit(self, value: bool) -> &'a mut W {
122775                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
122776                self.w
122777            }
122778        }
122779        ///Reader of field `SUB1H`
122780        pub type SUB1H_R = crate::R<bool, bool>;
122781        ///Write proxy for field `SUB1H`
122782        pub struct SUB1H_W<'a> {
122783            w: &'a mut W,
122784        }
122785        impl<'a> SUB1H_W<'a> {
122786            ///Sets the field bit
122787            #[inline(always)]
122788            pub fn set_bit(self) -> &'a mut W {
122789                self.bit(true)
122790            }
122791            ///Clears the field bit
122792            #[inline(always)]
122793            pub fn clear_bit(self) -> &'a mut W {
122794                self.bit(false)
122795            }
122796            ///Writes raw bits to the field
122797            #[inline(always)]
122798            pub fn bit(self, value: bool) -> &'a mut W {
122799                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
122800                self.w
122801            }
122802        }
122803        ///Reader of field `BKP`
122804        pub type BKP_R = crate::R<bool, bool>;
122805        ///Write proxy for field `BKP`
122806        pub struct BKP_W<'a> {
122807            w: &'a mut W,
122808        }
122809        impl<'a> BKP_W<'a> {
122810            ///Sets the field bit
122811            #[inline(always)]
122812            pub fn set_bit(self) -> &'a mut W {
122813                self.bit(true)
122814            }
122815            ///Clears the field bit
122816            #[inline(always)]
122817            pub fn clear_bit(self) -> &'a mut W {
122818                self.bit(false)
122819            }
122820            ///Writes raw bits to the field
122821            #[inline(always)]
122822            pub fn bit(self, value: bool) -> &'a mut W {
122823                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
122824                self.w
122825            }
122826        }
122827        ///Reader of field `COSEL`
122828        pub type COSEL_R = crate::R<bool, bool>;
122829        ///Write proxy for field `COSEL`
122830        pub struct COSEL_W<'a> {
122831            w: &'a mut W,
122832        }
122833        impl<'a> COSEL_W<'a> {
122834            ///Sets the field bit
122835            #[inline(always)]
122836            pub fn set_bit(self) -> &'a mut W {
122837                self.bit(true)
122838            }
122839            ///Clears the field bit
122840            #[inline(always)]
122841            pub fn clear_bit(self) -> &'a mut W {
122842                self.bit(false)
122843            }
122844            ///Writes raw bits to the field
122845            #[inline(always)]
122846            pub fn bit(self, value: bool) -> &'a mut W {
122847                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
122848                self.w
122849            }
122850        }
122851        ///Reader of field `POL`
122852        pub type POL_R = crate::R<bool, bool>;
122853        ///Write proxy for field `POL`
122854        pub struct POL_W<'a> {
122855            w: &'a mut W,
122856        }
122857        impl<'a> POL_W<'a> {
122858            ///Sets the field bit
122859            #[inline(always)]
122860            pub fn set_bit(self) -> &'a mut W {
122861                self.bit(true)
122862            }
122863            ///Clears the field bit
122864            #[inline(always)]
122865            pub fn clear_bit(self) -> &'a mut W {
122866                self.bit(false)
122867            }
122868            ///Writes raw bits to the field
122869            #[inline(always)]
122870            pub fn bit(self, value: bool) -> &'a mut W {
122871                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
122872                self.w
122873            }
122874        }
122875        ///Reader of field `OSEL`
122876        pub type OSEL_R = crate::R<u8, u8>;
122877        ///Write proxy for field `OSEL`
122878        pub struct OSEL_W<'a> {
122879            w: &'a mut W,
122880        }
122881        impl<'a> OSEL_W<'a> {
122882            ///Writes raw bits to the field
122883            #[inline(always)]
122884            pub unsafe fn bits(self, value: u8) -> &'a mut W {
122885                self.w.bits = (self.w.bits & !(0x03 << 21)) | (((value as u32) & 0x03) << 21);
122886                self.w
122887            }
122888        }
122889        ///Reader of field `COE`
122890        pub type COE_R = crate::R<bool, bool>;
122891        ///Write proxy for field `COE`
122892        pub struct COE_W<'a> {
122893            w: &'a mut W,
122894        }
122895        impl<'a> COE_W<'a> {
122896            ///Sets the field bit
122897            #[inline(always)]
122898            pub fn set_bit(self) -> &'a mut W {
122899                self.bit(true)
122900            }
122901            ///Clears the field bit
122902            #[inline(always)]
122903            pub fn clear_bit(self) -> &'a mut W {
122904                self.bit(false)
122905            }
122906            ///Writes raw bits to the field
122907            #[inline(always)]
122908            pub fn bit(self, value: bool) -> &'a mut W {
122909                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
122910                self.w
122911            }
122912        }
122913        ///Reader of field `ITSE`
122914        pub type ITSE_R = crate::R<bool, bool>;
122915        ///Write proxy for field `ITSE`
122916        pub struct ITSE_W<'a> {
122917            w: &'a mut W,
122918        }
122919        impl<'a> ITSE_W<'a> {
122920            ///Sets the field bit
122921            #[inline(always)]
122922            pub fn set_bit(self) -> &'a mut W {
122923                self.bit(true)
122924            }
122925            ///Clears the field bit
122926            #[inline(always)]
122927            pub fn clear_bit(self) -> &'a mut W {
122928                self.bit(false)
122929            }
122930            ///Writes raw bits to the field
122931            #[inline(always)]
122932            pub fn bit(self, value: bool) -> &'a mut W {
122933                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
122934                self.w
122935            }
122936        }
122937        impl R {
122938            ///Bits 0:2 - Wakeup clock selection
122939            #[inline(always)]
122940            pub fn wucksel(&self) -> WUCKSEL_R {
122941                WUCKSEL_R::new((self.bits & 0x07) as u8)
122942            }
122943            ///Bit 3 - Time-stamp event active edge
122944            #[inline(always)]
122945            pub fn tsedge(&self) -> TSEDGE_R {
122946                TSEDGE_R::new(((self.bits >> 3) & 0x01) != 0)
122947            }
122948            ///Bit 4 - Reference clock detection enable (50 or 60 Hz)
122949            #[inline(always)]
122950            pub fn refckon(&self) -> REFCKON_R {
122951                REFCKON_R::new(((self.bits >> 4) & 0x01) != 0)
122952            }
122953            ///Bit 5 - Bypass the shadow registers
122954            #[inline(always)]
122955            pub fn bypshad(&self) -> BYPSHAD_R {
122956                BYPSHAD_R::new(((self.bits >> 5) & 0x01) != 0)
122957            }
122958            ///Bit 6 - Hour format
122959            #[inline(always)]
122960            pub fn fmt(&self) -> FMT_R {
122961                FMT_R::new(((self.bits >> 6) & 0x01) != 0)
122962            }
122963            ///Bit 8 - Alarm A enable
122964            #[inline(always)]
122965            pub fn alrae(&self) -> ALRAE_R {
122966                ALRAE_R::new(((self.bits >> 8) & 0x01) != 0)
122967            }
122968            ///Bit 9 - Alarm B enable
122969            #[inline(always)]
122970            pub fn alrbe(&self) -> ALRBE_R {
122971                ALRBE_R::new(((self.bits >> 9) & 0x01) != 0)
122972            }
122973            ///Bit 10 - Wakeup timer enable
122974            #[inline(always)]
122975            pub fn wute(&self) -> WUTE_R {
122976                WUTE_R::new(((self.bits >> 10) & 0x01) != 0)
122977            }
122978            ///Bit 11 - Time stamp enable
122979            #[inline(always)]
122980            pub fn tse(&self) -> TSE_R {
122981                TSE_R::new(((self.bits >> 11) & 0x01) != 0)
122982            }
122983            ///Bit 12 - Alarm A interrupt enable
122984            #[inline(always)]
122985            pub fn alraie(&self) -> ALRAIE_R {
122986                ALRAIE_R::new(((self.bits >> 12) & 0x01) != 0)
122987            }
122988            ///Bit 13 - Alarm B interrupt enable
122989            #[inline(always)]
122990            pub fn alrbie(&self) -> ALRBIE_R {
122991                ALRBIE_R::new(((self.bits >> 13) & 0x01) != 0)
122992            }
122993            ///Bit 14 - Wakeup timer interrupt enable
122994            #[inline(always)]
122995            pub fn wutie(&self) -> WUTIE_R {
122996                WUTIE_R::new(((self.bits >> 14) & 0x01) != 0)
122997            }
122998            ///Bit 15 - Time-stamp interrupt enable
122999            #[inline(always)]
123000            pub fn tsie(&self) -> TSIE_R {
123001                TSIE_R::new(((self.bits >> 15) & 0x01) != 0)
123002            }
123003            ///Bit 16 - Add 1 hour (summer time change)
123004            #[inline(always)]
123005            pub fn add1h(&self) -> ADD1H_R {
123006                ADD1H_R::new(((self.bits >> 16) & 0x01) != 0)
123007            }
123008            ///Bit 17 - Subtract 1 hour (winter time change)
123009            #[inline(always)]
123010            pub fn sub1h(&self) -> SUB1H_R {
123011                SUB1H_R::new(((self.bits >> 17) & 0x01) != 0)
123012            }
123013            ///Bit 18 - Backup
123014            #[inline(always)]
123015            pub fn bkp(&self) -> BKP_R {
123016                BKP_R::new(((self.bits >> 18) & 0x01) != 0)
123017            }
123018            ///Bit 19 - Calibration output selection
123019            #[inline(always)]
123020            pub fn cosel(&self) -> COSEL_R {
123021                COSEL_R::new(((self.bits >> 19) & 0x01) != 0)
123022            }
123023            ///Bit 20 - Output polarity
123024            #[inline(always)]
123025            pub fn pol(&self) -> POL_R {
123026                POL_R::new(((self.bits >> 20) & 0x01) != 0)
123027            }
123028            ///Bits 21:22 - Output selection
123029            #[inline(always)]
123030            pub fn osel(&self) -> OSEL_R {
123031                OSEL_R::new(((self.bits >> 21) & 0x03) as u8)
123032            }
123033            ///Bit 23 - Calibration output enable
123034            #[inline(always)]
123035            pub fn coe(&self) -> COE_R {
123036                COE_R::new(((self.bits >> 23) & 0x01) != 0)
123037            }
123038            ///Bit 24 - timestamp on internal event enable
123039            #[inline(always)]
123040            pub fn itse(&self) -> ITSE_R {
123041                ITSE_R::new(((self.bits >> 24) & 0x01) != 0)
123042            }
123043        }
123044        impl W {
123045            ///Bits 0:2 - Wakeup clock selection
123046            #[inline(always)]
123047            pub fn wucksel(&mut self) -> WUCKSEL_W {
123048                WUCKSEL_W { w: self }
123049            }
123050            ///Bit 3 - Time-stamp event active edge
123051            #[inline(always)]
123052            pub fn tsedge(&mut self) -> TSEDGE_W {
123053                TSEDGE_W { w: self }
123054            }
123055            ///Bit 4 - Reference clock detection enable (50 or 60 Hz)
123056            #[inline(always)]
123057            pub fn refckon(&mut self) -> REFCKON_W {
123058                REFCKON_W { w: self }
123059            }
123060            ///Bit 5 - Bypass the shadow registers
123061            #[inline(always)]
123062            pub fn bypshad(&mut self) -> BYPSHAD_W {
123063                BYPSHAD_W { w: self }
123064            }
123065            ///Bit 6 - Hour format
123066            #[inline(always)]
123067            pub fn fmt(&mut self) -> FMT_W {
123068                FMT_W { w: self }
123069            }
123070            ///Bit 8 - Alarm A enable
123071            #[inline(always)]
123072            pub fn alrae(&mut self) -> ALRAE_W {
123073                ALRAE_W { w: self }
123074            }
123075            ///Bit 9 - Alarm B enable
123076            #[inline(always)]
123077            pub fn alrbe(&mut self) -> ALRBE_W {
123078                ALRBE_W { w: self }
123079            }
123080            ///Bit 10 - Wakeup timer enable
123081            #[inline(always)]
123082            pub fn wute(&mut self) -> WUTE_W {
123083                WUTE_W { w: self }
123084            }
123085            ///Bit 11 - Time stamp enable
123086            #[inline(always)]
123087            pub fn tse(&mut self) -> TSE_W {
123088                TSE_W { w: self }
123089            }
123090            ///Bit 12 - Alarm A interrupt enable
123091            #[inline(always)]
123092            pub fn alraie(&mut self) -> ALRAIE_W {
123093                ALRAIE_W { w: self }
123094            }
123095            ///Bit 13 - Alarm B interrupt enable
123096            #[inline(always)]
123097            pub fn alrbie(&mut self) -> ALRBIE_W {
123098                ALRBIE_W { w: self }
123099            }
123100            ///Bit 14 - Wakeup timer interrupt enable
123101            #[inline(always)]
123102            pub fn wutie(&mut self) -> WUTIE_W {
123103                WUTIE_W { w: self }
123104            }
123105            ///Bit 15 - Time-stamp interrupt enable
123106            #[inline(always)]
123107            pub fn tsie(&mut self) -> TSIE_W {
123108                TSIE_W { w: self }
123109            }
123110            ///Bit 16 - Add 1 hour (summer time change)
123111            #[inline(always)]
123112            pub fn add1h(&mut self) -> ADD1H_W {
123113                ADD1H_W { w: self }
123114            }
123115            ///Bit 17 - Subtract 1 hour (winter time change)
123116            #[inline(always)]
123117            pub fn sub1h(&mut self) -> SUB1H_W {
123118                SUB1H_W { w: self }
123119            }
123120            ///Bit 18 - Backup
123121            #[inline(always)]
123122            pub fn bkp(&mut self) -> BKP_W {
123123                BKP_W { w: self }
123124            }
123125            ///Bit 19 - Calibration output selection
123126            #[inline(always)]
123127            pub fn cosel(&mut self) -> COSEL_W {
123128                COSEL_W { w: self }
123129            }
123130            ///Bit 20 - Output polarity
123131            #[inline(always)]
123132            pub fn pol(&mut self) -> POL_W {
123133                POL_W { w: self }
123134            }
123135            ///Bits 21:22 - Output selection
123136            #[inline(always)]
123137            pub fn osel(&mut self) -> OSEL_W {
123138                OSEL_W { w: self }
123139            }
123140            ///Bit 23 - Calibration output enable
123141            #[inline(always)]
123142            pub fn coe(&mut self) -> COE_W {
123143                COE_W { w: self }
123144            }
123145            ///Bit 24 - timestamp on internal event enable
123146            #[inline(always)]
123147            pub fn itse(&mut self) -> ITSE_W {
123148                ITSE_W { w: self }
123149            }
123150        }
123151    }
123152    ///initialization and status register
123153    ///
123154    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
123155    ///
123156    ///For information about available fields see [isr](isr) module
123157    pub type ISR = crate::Reg<u32, _ISR>;
123158    #[allow(missing_docs)]
123159    #[doc(hidden)]
123160    pub struct _ISR;
123161    ///`read()` method returns [isr::R](isr::R) reader structure
123162    impl crate::Readable for ISR {}
123163    ///`write(|w| ..)` method takes [isr::W](isr::W) writer structure
123164    impl crate::Writable for ISR {}
123165    ///initialization and status register
123166    pub mod isr {
123167        ///Reader of register ISR
123168        pub type R = crate::R<u32, super::ISR>;
123169        ///Writer for register ISR
123170        pub type W = crate::W<u32, super::ISR>;
123171        ///Register ISR `reset()`'s with value 0x07
123172        impl crate::ResetValue for super::ISR {
123173            type Type = u32;
123174            #[inline(always)]
123175            fn reset_value() -> Self::Type {
123176                0x07
123177            }
123178        }
123179        ///Reader of field `ALRAWF`
123180        pub type ALRAWF_R = crate::R<bool, bool>;
123181        ///Reader of field `ALRBWF`
123182        pub type ALRBWF_R = crate::R<bool, bool>;
123183        ///Reader of field `WUTWF`
123184        pub type WUTWF_R = crate::R<bool, bool>;
123185        ///Reader of field `SHPF`
123186        pub type SHPF_R = crate::R<bool, bool>;
123187        ///Write proxy for field `SHPF`
123188        pub struct SHPF_W<'a> {
123189            w: &'a mut W,
123190        }
123191        impl<'a> SHPF_W<'a> {
123192            ///Sets the field bit
123193            #[inline(always)]
123194            pub fn set_bit(self) -> &'a mut W {
123195                self.bit(true)
123196            }
123197            ///Clears the field bit
123198            #[inline(always)]
123199            pub fn clear_bit(self) -> &'a mut W {
123200                self.bit(false)
123201            }
123202            ///Writes raw bits to the field
123203            #[inline(always)]
123204            pub fn bit(self, value: bool) -> &'a mut W {
123205                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
123206                self.w
123207            }
123208        }
123209        ///Reader of field `INITS`
123210        pub type INITS_R = crate::R<bool, bool>;
123211        ///Reader of field `RSF`
123212        pub type RSF_R = crate::R<bool, bool>;
123213        ///Write proxy for field `RSF`
123214        pub struct RSF_W<'a> {
123215            w: &'a mut W,
123216        }
123217        impl<'a> RSF_W<'a> {
123218            ///Sets the field bit
123219            #[inline(always)]
123220            pub fn set_bit(self) -> &'a mut W {
123221                self.bit(true)
123222            }
123223            ///Clears the field bit
123224            #[inline(always)]
123225            pub fn clear_bit(self) -> &'a mut W {
123226                self.bit(false)
123227            }
123228            ///Writes raw bits to the field
123229            #[inline(always)]
123230            pub fn bit(self, value: bool) -> &'a mut W {
123231                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
123232                self.w
123233            }
123234        }
123235        ///Reader of field `INITF`
123236        pub type INITF_R = crate::R<bool, bool>;
123237        ///Reader of field `INIT`
123238        pub type INIT_R = crate::R<bool, bool>;
123239        ///Write proxy for field `INIT`
123240        pub struct INIT_W<'a> {
123241            w: &'a mut W,
123242        }
123243        impl<'a> INIT_W<'a> {
123244            ///Sets the field bit
123245            #[inline(always)]
123246            pub fn set_bit(self) -> &'a mut W {
123247                self.bit(true)
123248            }
123249            ///Clears the field bit
123250            #[inline(always)]
123251            pub fn clear_bit(self) -> &'a mut W {
123252                self.bit(false)
123253            }
123254            ///Writes raw bits to the field
123255            #[inline(always)]
123256            pub fn bit(self, value: bool) -> &'a mut W {
123257                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
123258                self.w
123259            }
123260        }
123261        ///Reader of field `ALRAF`
123262        pub type ALRAF_R = crate::R<bool, bool>;
123263        ///Write proxy for field `ALRAF`
123264        pub struct ALRAF_W<'a> {
123265            w: &'a mut W,
123266        }
123267        impl<'a> ALRAF_W<'a> {
123268            ///Sets the field bit
123269            #[inline(always)]
123270            pub fn set_bit(self) -> &'a mut W {
123271                self.bit(true)
123272            }
123273            ///Clears the field bit
123274            #[inline(always)]
123275            pub fn clear_bit(self) -> &'a mut W {
123276                self.bit(false)
123277            }
123278            ///Writes raw bits to the field
123279            #[inline(always)]
123280            pub fn bit(self, value: bool) -> &'a mut W {
123281                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
123282                self.w
123283            }
123284        }
123285        ///Reader of field `ALRBF`
123286        pub type ALRBF_R = crate::R<bool, bool>;
123287        ///Write proxy for field `ALRBF`
123288        pub struct ALRBF_W<'a> {
123289            w: &'a mut W,
123290        }
123291        impl<'a> ALRBF_W<'a> {
123292            ///Sets the field bit
123293            #[inline(always)]
123294            pub fn set_bit(self) -> &'a mut W {
123295                self.bit(true)
123296            }
123297            ///Clears the field bit
123298            #[inline(always)]
123299            pub fn clear_bit(self) -> &'a mut W {
123300                self.bit(false)
123301            }
123302            ///Writes raw bits to the field
123303            #[inline(always)]
123304            pub fn bit(self, value: bool) -> &'a mut W {
123305                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
123306                self.w
123307            }
123308        }
123309        ///Reader of field `WUTF`
123310        pub type WUTF_R = crate::R<bool, bool>;
123311        ///Write proxy for field `WUTF`
123312        pub struct WUTF_W<'a> {
123313            w: &'a mut W,
123314        }
123315        impl<'a> WUTF_W<'a> {
123316            ///Sets the field bit
123317            #[inline(always)]
123318            pub fn set_bit(self) -> &'a mut W {
123319                self.bit(true)
123320            }
123321            ///Clears the field bit
123322            #[inline(always)]
123323            pub fn clear_bit(self) -> &'a mut W {
123324                self.bit(false)
123325            }
123326            ///Writes raw bits to the field
123327            #[inline(always)]
123328            pub fn bit(self, value: bool) -> &'a mut W {
123329                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
123330                self.w
123331            }
123332        }
123333        ///Reader of field `TSF`
123334        pub type TSF_R = crate::R<bool, bool>;
123335        ///Write proxy for field `TSF`
123336        pub struct TSF_W<'a> {
123337            w: &'a mut W,
123338        }
123339        impl<'a> TSF_W<'a> {
123340            ///Sets the field bit
123341            #[inline(always)]
123342            pub fn set_bit(self) -> &'a mut W {
123343                self.bit(true)
123344            }
123345            ///Clears the field bit
123346            #[inline(always)]
123347            pub fn clear_bit(self) -> &'a mut W {
123348                self.bit(false)
123349            }
123350            ///Writes raw bits to the field
123351            #[inline(always)]
123352            pub fn bit(self, value: bool) -> &'a mut W {
123353                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
123354                self.w
123355            }
123356        }
123357        ///Reader of field `TSOVF`
123358        pub type TSOVF_R = crate::R<bool, bool>;
123359        ///Write proxy for field `TSOVF`
123360        pub struct TSOVF_W<'a> {
123361            w: &'a mut W,
123362        }
123363        impl<'a> TSOVF_W<'a> {
123364            ///Sets the field bit
123365            #[inline(always)]
123366            pub fn set_bit(self) -> &'a mut W {
123367                self.bit(true)
123368            }
123369            ///Clears the field bit
123370            #[inline(always)]
123371            pub fn clear_bit(self) -> &'a mut W {
123372                self.bit(false)
123373            }
123374            ///Writes raw bits to the field
123375            #[inline(always)]
123376            pub fn bit(self, value: bool) -> &'a mut W {
123377                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
123378                self.w
123379            }
123380        }
123381        ///Reader of field `TAMP1F`
123382        pub type TAMP1F_R = crate::R<bool, bool>;
123383        ///Write proxy for field `TAMP1F`
123384        pub struct TAMP1F_W<'a> {
123385            w: &'a mut W,
123386        }
123387        impl<'a> TAMP1F_W<'a> {
123388            ///Sets the field bit
123389            #[inline(always)]
123390            pub fn set_bit(self) -> &'a mut W {
123391                self.bit(true)
123392            }
123393            ///Clears the field bit
123394            #[inline(always)]
123395            pub fn clear_bit(self) -> &'a mut W {
123396                self.bit(false)
123397            }
123398            ///Writes raw bits to the field
123399            #[inline(always)]
123400            pub fn bit(self, value: bool) -> &'a mut W {
123401                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
123402                self.w
123403            }
123404        }
123405        ///Reader of field `TAMP2F`
123406        pub type TAMP2F_R = crate::R<bool, bool>;
123407        ///Write proxy for field `TAMP2F`
123408        pub struct TAMP2F_W<'a> {
123409            w: &'a mut W,
123410        }
123411        impl<'a> TAMP2F_W<'a> {
123412            ///Sets the field bit
123413            #[inline(always)]
123414            pub fn set_bit(self) -> &'a mut W {
123415                self.bit(true)
123416            }
123417            ///Clears the field bit
123418            #[inline(always)]
123419            pub fn clear_bit(self) -> &'a mut W {
123420                self.bit(false)
123421            }
123422            ///Writes raw bits to the field
123423            #[inline(always)]
123424            pub fn bit(self, value: bool) -> &'a mut W {
123425                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
123426                self.w
123427            }
123428        }
123429        ///Reader of field `TAMP3F`
123430        pub type TAMP3F_R = crate::R<bool, bool>;
123431        ///Write proxy for field `TAMP3F`
123432        pub struct TAMP3F_W<'a> {
123433            w: &'a mut W,
123434        }
123435        impl<'a> TAMP3F_W<'a> {
123436            ///Sets the field bit
123437            #[inline(always)]
123438            pub fn set_bit(self) -> &'a mut W {
123439                self.bit(true)
123440            }
123441            ///Clears the field bit
123442            #[inline(always)]
123443            pub fn clear_bit(self) -> &'a mut W {
123444                self.bit(false)
123445            }
123446            ///Writes raw bits to the field
123447            #[inline(always)]
123448            pub fn bit(self, value: bool) -> &'a mut W {
123449                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
123450                self.w
123451            }
123452        }
123453        ///Reader of field `RECALPF`
123454        pub type RECALPF_R = crate::R<bool, bool>;
123455        ///Reader of field `ITSF`
123456        pub type ITSF_R = crate::R<bool, bool>;
123457        ///Write proxy for field `ITSF`
123458        pub struct ITSF_W<'a> {
123459            w: &'a mut W,
123460        }
123461        impl<'a> ITSF_W<'a> {
123462            ///Sets the field bit
123463            #[inline(always)]
123464            pub fn set_bit(self) -> &'a mut W {
123465                self.bit(true)
123466            }
123467            ///Clears the field bit
123468            #[inline(always)]
123469            pub fn clear_bit(self) -> &'a mut W {
123470                self.bit(false)
123471            }
123472            ///Writes raw bits to the field
123473            #[inline(always)]
123474            pub fn bit(self, value: bool) -> &'a mut W {
123475                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
123476                self.w
123477            }
123478        }
123479        impl R {
123480            ///Bit 0 - Alarm A write flag
123481            #[inline(always)]
123482            pub fn alrawf(&self) -> ALRAWF_R {
123483                ALRAWF_R::new((self.bits & 0x01) != 0)
123484            }
123485            ///Bit 1 - Alarm B write flag
123486            #[inline(always)]
123487            pub fn alrbwf(&self) -> ALRBWF_R {
123488                ALRBWF_R::new(((self.bits >> 1) & 0x01) != 0)
123489            }
123490            ///Bit 2 - Wakeup timer write flag
123491            #[inline(always)]
123492            pub fn wutwf(&self) -> WUTWF_R {
123493                WUTWF_R::new(((self.bits >> 2) & 0x01) != 0)
123494            }
123495            ///Bit 3 - Shift operation pending
123496            #[inline(always)]
123497            pub fn shpf(&self) -> SHPF_R {
123498                SHPF_R::new(((self.bits >> 3) & 0x01) != 0)
123499            }
123500            ///Bit 4 - Initialization status flag
123501            #[inline(always)]
123502            pub fn inits(&self) -> INITS_R {
123503                INITS_R::new(((self.bits >> 4) & 0x01) != 0)
123504            }
123505            ///Bit 5 - Registers synchronization flag
123506            #[inline(always)]
123507            pub fn rsf(&self) -> RSF_R {
123508                RSF_R::new(((self.bits >> 5) & 0x01) != 0)
123509            }
123510            ///Bit 6 - Initialization flag
123511            #[inline(always)]
123512            pub fn initf(&self) -> INITF_R {
123513                INITF_R::new(((self.bits >> 6) & 0x01) != 0)
123514            }
123515            ///Bit 7 - Initialization mode
123516            #[inline(always)]
123517            pub fn init(&self) -> INIT_R {
123518                INIT_R::new(((self.bits >> 7) & 0x01) != 0)
123519            }
123520            ///Bit 8 - Alarm A flag
123521            #[inline(always)]
123522            pub fn alraf(&self) -> ALRAF_R {
123523                ALRAF_R::new(((self.bits >> 8) & 0x01) != 0)
123524            }
123525            ///Bit 9 - Alarm B flag
123526            #[inline(always)]
123527            pub fn alrbf(&self) -> ALRBF_R {
123528                ALRBF_R::new(((self.bits >> 9) & 0x01) != 0)
123529            }
123530            ///Bit 10 - Wakeup timer flag
123531            #[inline(always)]
123532            pub fn wutf(&self) -> WUTF_R {
123533                WUTF_R::new(((self.bits >> 10) & 0x01) != 0)
123534            }
123535            ///Bit 11 - Time-stamp flag
123536            #[inline(always)]
123537            pub fn tsf(&self) -> TSF_R {
123538                TSF_R::new(((self.bits >> 11) & 0x01) != 0)
123539            }
123540            ///Bit 12 - Time-stamp overflow flag
123541            #[inline(always)]
123542            pub fn tsovf(&self) -> TSOVF_R {
123543                TSOVF_R::new(((self.bits >> 12) & 0x01) != 0)
123544            }
123545            ///Bit 13 - Tamper detection flag
123546            #[inline(always)]
123547            pub fn tamp1f(&self) -> TAMP1F_R {
123548                TAMP1F_R::new(((self.bits >> 13) & 0x01) != 0)
123549            }
123550            ///Bit 14 - RTC_TAMP2 detection flag
123551            #[inline(always)]
123552            pub fn tamp2f(&self) -> TAMP2F_R {
123553                TAMP2F_R::new(((self.bits >> 14) & 0x01) != 0)
123554            }
123555            ///Bit 15 - RTC_TAMP3 detection flag
123556            #[inline(always)]
123557            pub fn tamp3f(&self) -> TAMP3F_R {
123558                TAMP3F_R::new(((self.bits >> 15) & 0x01) != 0)
123559            }
123560            ///Bit 16 - Recalibration pending Flag
123561            #[inline(always)]
123562            pub fn recalpf(&self) -> RECALPF_R {
123563                RECALPF_R::new(((self.bits >> 16) & 0x01) != 0)
123564            }
123565            ///Bit 17 - INTERNAL TIME-STAMP FLAG
123566            #[inline(always)]
123567            pub fn itsf(&self) -> ITSF_R {
123568                ITSF_R::new(((self.bits >> 17) & 0x01) != 0)
123569            }
123570        }
123571        impl W {
123572            ///Bit 3 - Shift operation pending
123573            #[inline(always)]
123574            pub fn shpf(&mut self) -> SHPF_W {
123575                SHPF_W { w: self }
123576            }
123577            ///Bit 5 - Registers synchronization flag
123578            #[inline(always)]
123579            pub fn rsf(&mut self) -> RSF_W {
123580                RSF_W { w: self }
123581            }
123582            ///Bit 7 - Initialization mode
123583            #[inline(always)]
123584            pub fn init(&mut self) -> INIT_W {
123585                INIT_W { w: self }
123586            }
123587            ///Bit 8 - Alarm A flag
123588            #[inline(always)]
123589            pub fn alraf(&mut self) -> ALRAF_W {
123590                ALRAF_W { w: self }
123591            }
123592            ///Bit 9 - Alarm B flag
123593            #[inline(always)]
123594            pub fn alrbf(&mut self) -> ALRBF_W {
123595                ALRBF_W { w: self }
123596            }
123597            ///Bit 10 - Wakeup timer flag
123598            #[inline(always)]
123599            pub fn wutf(&mut self) -> WUTF_W {
123600                WUTF_W { w: self }
123601            }
123602            ///Bit 11 - Time-stamp flag
123603            #[inline(always)]
123604            pub fn tsf(&mut self) -> TSF_W {
123605                TSF_W { w: self }
123606            }
123607            ///Bit 12 - Time-stamp overflow flag
123608            #[inline(always)]
123609            pub fn tsovf(&mut self) -> TSOVF_W {
123610                TSOVF_W { w: self }
123611            }
123612            ///Bit 13 - Tamper detection flag
123613            #[inline(always)]
123614            pub fn tamp1f(&mut self) -> TAMP1F_W {
123615                TAMP1F_W { w: self }
123616            }
123617            ///Bit 14 - RTC_TAMP2 detection flag
123618            #[inline(always)]
123619            pub fn tamp2f(&mut self) -> TAMP2F_W {
123620                TAMP2F_W { w: self }
123621            }
123622            ///Bit 15 - RTC_TAMP3 detection flag
123623            #[inline(always)]
123624            pub fn tamp3f(&mut self) -> TAMP3F_W {
123625                TAMP3F_W { w: self }
123626            }
123627            ///Bit 17 - INTERNAL TIME-STAMP FLAG
123628            #[inline(always)]
123629            pub fn itsf(&mut self) -> ITSF_W {
123630                ITSF_W { w: self }
123631            }
123632        }
123633    }
123634    ///prescaler register
123635    ///
123636    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
123637    ///
123638    ///For information about available fields see [prer](prer) module
123639    pub type PRER = crate::Reg<u32, _PRER>;
123640    #[allow(missing_docs)]
123641    #[doc(hidden)]
123642    pub struct _PRER;
123643    ///`read()` method returns [prer::R](prer::R) reader structure
123644    impl crate::Readable for PRER {}
123645    ///`write(|w| ..)` method takes [prer::W](prer::W) writer structure
123646    impl crate::Writable for PRER {}
123647    ///prescaler register
123648    pub mod prer {
123649        ///Reader of register PRER
123650        pub type R = crate::R<u32, super::PRER>;
123651        ///Writer for register PRER
123652        pub type W = crate::W<u32, super::PRER>;
123653        ///Register PRER `reset()`'s with value 0x007f_00ff
123654        impl crate::ResetValue for super::PRER {
123655            type Type = u32;
123656            #[inline(always)]
123657            fn reset_value() -> Self::Type {
123658                0x007f_00ff
123659            }
123660        }
123661        ///Reader of field `PREDIV_A`
123662        pub type PREDIV_A_R = crate::R<u8, u8>;
123663        ///Write proxy for field `PREDIV_A`
123664        pub struct PREDIV_A_W<'a> {
123665            w: &'a mut W,
123666        }
123667        impl<'a> PREDIV_A_W<'a> {
123668            ///Writes raw bits to the field
123669            #[inline(always)]
123670            pub unsafe fn bits(self, value: u8) -> &'a mut W {
123671                self.w.bits = (self.w.bits & !(0x7f << 16)) | (((value as u32) & 0x7f) << 16);
123672                self.w
123673            }
123674        }
123675        ///Reader of field `PREDIV_S`
123676        pub type PREDIV_S_R = crate::R<u16, u16>;
123677        ///Write proxy for field `PREDIV_S`
123678        pub struct PREDIV_S_W<'a> {
123679            w: &'a mut W,
123680        }
123681        impl<'a> PREDIV_S_W<'a> {
123682            ///Writes raw bits to the field
123683            #[inline(always)]
123684            pub unsafe fn bits(self, value: u16) -> &'a mut W {
123685                self.w.bits = (self.w.bits & !0x7fff) | ((value as u32) & 0x7fff);
123686                self.w
123687            }
123688        }
123689        impl R {
123690            ///Bits 16:22 - Asynchronous prescaler factor
123691            #[inline(always)]
123692            pub fn prediv_a(&self) -> PREDIV_A_R {
123693                PREDIV_A_R::new(((self.bits >> 16) & 0x7f) as u8)
123694            }
123695            ///Bits 0:14 - Synchronous prescaler factor
123696            #[inline(always)]
123697            pub fn prediv_s(&self) -> PREDIV_S_R {
123698                PREDIV_S_R::new((self.bits & 0x7fff) as u16)
123699            }
123700        }
123701        impl W {
123702            ///Bits 16:22 - Asynchronous prescaler factor
123703            #[inline(always)]
123704            pub fn prediv_a(&mut self) -> PREDIV_A_W {
123705                PREDIV_A_W { w: self }
123706            }
123707            ///Bits 0:14 - Synchronous prescaler factor
123708            #[inline(always)]
123709            pub fn prediv_s(&mut self) -> PREDIV_S_W {
123710                PREDIV_S_W { w: self }
123711            }
123712        }
123713    }
123714    ///wakeup timer register
123715    ///
123716    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
123717    ///
123718    ///For information about available fields see [wutr](wutr) module
123719    pub type WUTR = crate::Reg<u32, _WUTR>;
123720    #[allow(missing_docs)]
123721    #[doc(hidden)]
123722    pub struct _WUTR;
123723    ///`read()` method returns [wutr::R](wutr::R) reader structure
123724    impl crate::Readable for WUTR {}
123725    ///`write(|w| ..)` method takes [wutr::W](wutr::W) writer structure
123726    impl crate::Writable for WUTR {}
123727    ///wakeup timer register
123728    pub mod wutr {
123729        ///Reader of register WUTR
123730        pub type R = crate::R<u32, super::WUTR>;
123731        ///Writer for register WUTR
123732        pub type W = crate::W<u32, super::WUTR>;
123733        ///Register WUTR `reset()`'s with value 0xffff
123734        impl crate::ResetValue for super::WUTR {
123735            type Type = u32;
123736            #[inline(always)]
123737            fn reset_value() -> Self::Type {
123738                0xffff
123739            }
123740        }
123741        ///Reader of field `WUT`
123742        pub type WUT_R = crate::R<u16, u16>;
123743        ///Write proxy for field `WUT`
123744        pub struct WUT_W<'a> {
123745            w: &'a mut W,
123746        }
123747        impl<'a> WUT_W<'a> {
123748            ///Writes raw bits to the field
123749            #[inline(always)]
123750            pub unsafe fn bits(self, value: u16) -> &'a mut W {
123751                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
123752                self.w
123753            }
123754        }
123755        impl R {
123756            ///Bits 0:15 - Wakeup auto-reload value bits
123757            #[inline(always)]
123758            pub fn wut(&self) -> WUT_R {
123759                WUT_R::new((self.bits & 0xffff) as u16)
123760            }
123761        }
123762        impl W {
123763            ///Bits 0:15 - Wakeup auto-reload value bits
123764            #[inline(always)]
123765            pub fn wut(&mut self) -> WUT_W {
123766                WUT_W { w: self }
123767            }
123768        }
123769    }
123770    ///alarm A register
123771    ///
123772    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
123773    ///
123774    ///For information about available fields see [alrmar](alrmar) module
123775    pub type ALRMAR = crate::Reg<u32, _ALRMAR>;
123776    #[allow(missing_docs)]
123777    #[doc(hidden)]
123778    pub struct _ALRMAR;
123779    ///`read()` method returns [alrmar::R](alrmar::R) reader structure
123780    impl crate::Readable for ALRMAR {}
123781    ///`write(|w| ..)` method takes [alrmar::W](alrmar::W) writer structure
123782    impl crate::Writable for ALRMAR {}
123783    ///alarm A register
123784    pub mod alrmar {
123785        ///Reader of register ALRMAR
123786        pub type R = crate::R<u32, super::ALRMAR>;
123787        ///Writer for register ALRMAR
123788        pub type W = crate::W<u32, super::ALRMAR>;
123789        ///Register ALRMAR `reset()`'s with value 0
123790        impl crate::ResetValue for super::ALRMAR {
123791            type Type = u32;
123792            #[inline(always)]
123793            fn reset_value() -> Self::Type {
123794                0
123795            }
123796        }
123797        ///Reader of field `MSK4`
123798        pub type MSK4_R = crate::R<bool, bool>;
123799        ///Write proxy for field `MSK4`
123800        pub struct MSK4_W<'a> {
123801            w: &'a mut W,
123802        }
123803        impl<'a> MSK4_W<'a> {
123804            ///Sets the field bit
123805            #[inline(always)]
123806            pub fn set_bit(self) -> &'a mut W {
123807                self.bit(true)
123808            }
123809            ///Clears the field bit
123810            #[inline(always)]
123811            pub fn clear_bit(self) -> &'a mut W {
123812                self.bit(false)
123813            }
123814            ///Writes raw bits to the field
123815            #[inline(always)]
123816            pub fn bit(self, value: bool) -> &'a mut W {
123817                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
123818                self.w
123819            }
123820        }
123821        ///Reader of field `WDSEL`
123822        pub type WDSEL_R = crate::R<bool, bool>;
123823        ///Write proxy for field `WDSEL`
123824        pub struct WDSEL_W<'a> {
123825            w: &'a mut W,
123826        }
123827        impl<'a> WDSEL_W<'a> {
123828            ///Sets the field bit
123829            #[inline(always)]
123830            pub fn set_bit(self) -> &'a mut W {
123831                self.bit(true)
123832            }
123833            ///Clears the field bit
123834            #[inline(always)]
123835            pub fn clear_bit(self) -> &'a mut W {
123836                self.bit(false)
123837            }
123838            ///Writes raw bits to the field
123839            #[inline(always)]
123840            pub fn bit(self, value: bool) -> &'a mut W {
123841                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
123842                self.w
123843            }
123844        }
123845        ///Reader of field `DT`
123846        pub type DT_R = crate::R<u8, u8>;
123847        ///Write proxy for field `DT`
123848        pub struct DT_W<'a> {
123849            w: &'a mut W,
123850        }
123851        impl<'a> DT_W<'a> {
123852            ///Writes raw bits to the field
123853            #[inline(always)]
123854            pub unsafe fn bits(self, value: u8) -> &'a mut W {
123855                self.w.bits = (self.w.bits & !(0x03 << 28)) | (((value as u32) & 0x03) << 28);
123856                self.w
123857            }
123858        }
123859        ///Reader of field `DU`
123860        pub type DU_R = crate::R<u8, u8>;
123861        ///Write proxy for field `DU`
123862        pub struct DU_W<'a> {
123863            w: &'a mut W,
123864        }
123865        impl<'a> DU_W<'a> {
123866            ///Writes raw bits to the field
123867            #[inline(always)]
123868            pub unsafe fn bits(self, value: u8) -> &'a mut W {
123869                self.w.bits = (self.w.bits & !(0x0f << 24)) | (((value as u32) & 0x0f) << 24);
123870                self.w
123871            }
123872        }
123873        ///Reader of field `MSK3`
123874        pub type MSK3_R = crate::R<bool, bool>;
123875        ///Write proxy for field `MSK3`
123876        pub struct MSK3_W<'a> {
123877            w: &'a mut W,
123878        }
123879        impl<'a> MSK3_W<'a> {
123880            ///Sets the field bit
123881            #[inline(always)]
123882            pub fn set_bit(self) -> &'a mut W {
123883                self.bit(true)
123884            }
123885            ///Clears the field bit
123886            #[inline(always)]
123887            pub fn clear_bit(self) -> &'a mut W {
123888                self.bit(false)
123889            }
123890            ///Writes raw bits to the field
123891            #[inline(always)]
123892            pub fn bit(self, value: bool) -> &'a mut W {
123893                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
123894                self.w
123895            }
123896        }
123897        ///Reader of field `PM`
123898        pub type PM_R = crate::R<bool, bool>;
123899        ///Write proxy for field `PM`
123900        pub struct PM_W<'a> {
123901            w: &'a mut W,
123902        }
123903        impl<'a> PM_W<'a> {
123904            ///Sets the field bit
123905            #[inline(always)]
123906            pub fn set_bit(self) -> &'a mut W {
123907                self.bit(true)
123908            }
123909            ///Clears the field bit
123910            #[inline(always)]
123911            pub fn clear_bit(self) -> &'a mut W {
123912                self.bit(false)
123913            }
123914            ///Writes raw bits to the field
123915            #[inline(always)]
123916            pub fn bit(self, value: bool) -> &'a mut W {
123917                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
123918                self.w
123919            }
123920        }
123921        ///Reader of field `HT`
123922        pub type HT_R = crate::R<u8, u8>;
123923        ///Write proxy for field `HT`
123924        pub struct HT_W<'a> {
123925            w: &'a mut W,
123926        }
123927        impl<'a> HT_W<'a> {
123928            ///Writes raw bits to the field
123929            #[inline(always)]
123930            pub unsafe fn bits(self, value: u8) -> &'a mut W {
123931                self.w.bits = (self.w.bits & !(0x03 << 20)) | (((value as u32) & 0x03) << 20);
123932                self.w
123933            }
123934        }
123935        ///Reader of field `HU`
123936        pub type HU_R = crate::R<u8, u8>;
123937        ///Write proxy for field `HU`
123938        pub struct HU_W<'a> {
123939            w: &'a mut W,
123940        }
123941        impl<'a> HU_W<'a> {
123942            ///Writes raw bits to the field
123943            #[inline(always)]
123944            pub unsafe fn bits(self, value: u8) -> &'a mut W {
123945                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
123946                self.w
123947            }
123948        }
123949        ///Reader of field `MSK2`
123950        pub type MSK2_R = crate::R<bool, bool>;
123951        ///Write proxy for field `MSK2`
123952        pub struct MSK2_W<'a> {
123953            w: &'a mut W,
123954        }
123955        impl<'a> MSK2_W<'a> {
123956            ///Sets the field bit
123957            #[inline(always)]
123958            pub fn set_bit(self) -> &'a mut W {
123959                self.bit(true)
123960            }
123961            ///Clears the field bit
123962            #[inline(always)]
123963            pub fn clear_bit(self) -> &'a mut W {
123964                self.bit(false)
123965            }
123966            ///Writes raw bits to the field
123967            #[inline(always)]
123968            pub fn bit(self, value: bool) -> &'a mut W {
123969                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
123970                self.w
123971            }
123972        }
123973        ///Reader of field `MNT`
123974        pub type MNT_R = crate::R<u8, u8>;
123975        ///Write proxy for field `MNT`
123976        pub struct MNT_W<'a> {
123977            w: &'a mut W,
123978        }
123979        impl<'a> MNT_W<'a> {
123980            ///Writes raw bits to the field
123981            #[inline(always)]
123982            pub unsafe fn bits(self, value: u8) -> &'a mut W {
123983                self.w.bits = (self.w.bits & !(0x07 << 12)) | (((value as u32) & 0x07) << 12);
123984                self.w
123985            }
123986        }
123987        ///Reader of field `MNU`
123988        pub type MNU_R = crate::R<u8, u8>;
123989        ///Write proxy for field `MNU`
123990        pub struct MNU_W<'a> {
123991            w: &'a mut W,
123992        }
123993        impl<'a> MNU_W<'a> {
123994            ///Writes raw bits to the field
123995            #[inline(always)]
123996            pub unsafe fn bits(self, value: u8) -> &'a mut W {
123997                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
123998                self.w
123999            }
124000        }
124001        ///Reader of field `MSK1`
124002        pub type MSK1_R = crate::R<bool, bool>;
124003        ///Write proxy for field `MSK1`
124004        pub struct MSK1_W<'a> {
124005            w: &'a mut W,
124006        }
124007        impl<'a> MSK1_W<'a> {
124008            ///Sets the field bit
124009            #[inline(always)]
124010            pub fn set_bit(self) -> &'a mut W {
124011                self.bit(true)
124012            }
124013            ///Clears the field bit
124014            #[inline(always)]
124015            pub fn clear_bit(self) -> &'a mut W {
124016                self.bit(false)
124017            }
124018            ///Writes raw bits to the field
124019            #[inline(always)]
124020            pub fn bit(self, value: bool) -> &'a mut W {
124021                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
124022                self.w
124023            }
124024        }
124025        ///Reader of field `ST`
124026        pub type ST_R = crate::R<u8, u8>;
124027        ///Write proxy for field `ST`
124028        pub struct ST_W<'a> {
124029            w: &'a mut W,
124030        }
124031        impl<'a> ST_W<'a> {
124032            ///Writes raw bits to the field
124033            #[inline(always)]
124034            pub unsafe fn bits(self, value: u8) -> &'a mut W {
124035                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
124036                self.w
124037            }
124038        }
124039        ///Reader of field `SU`
124040        pub type SU_R = crate::R<u8, u8>;
124041        ///Write proxy for field `SU`
124042        pub struct SU_W<'a> {
124043            w: &'a mut W,
124044        }
124045        impl<'a> SU_W<'a> {
124046            ///Writes raw bits to the field
124047            #[inline(always)]
124048            pub unsafe fn bits(self, value: u8) -> &'a mut W {
124049                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
124050                self.w
124051            }
124052        }
124053        impl R {
124054            ///Bit 31 - Alarm A date mask
124055            #[inline(always)]
124056            pub fn msk4(&self) -> MSK4_R {
124057                MSK4_R::new(((self.bits >> 31) & 0x01) != 0)
124058            }
124059            ///Bit 30 - Week day selection
124060            #[inline(always)]
124061            pub fn wdsel(&self) -> WDSEL_R {
124062                WDSEL_R::new(((self.bits >> 30) & 0x01) != 0)
124063            }
124064            ///Bits 28:29 - Date tens in BCD format
124065            #[inline(always)]
124066            pub fn dt(&self) -> DT_R {
124067                DT_R::new(((self.bits >> 28) & 0x03) as u8)
124068            }
124069            ///Bits 24:27 - Date units or day in BCD format
124070            #[inline(always)]
124071            pub fn du(&self) -> DU_R {
124072                DU_R::new(((self.bits >> 24) & 0x0f) as u8)
124073            }
124074            ///Bit 23 - Alarm A hours mask
124075            #[inline(always)]
124076            pub fn msk3(&self) -> MSK3_R {
124077                MSK3_R::new(((self.bits >> 23) & 0x01) != 0)
124078            }
124079            ///Bit 22 - AM/PM notation
124080            #[inline(always)]
124081            pub fn pm(&self) -> PM_R {
124082                PM_R::new(((self.bits >> 22) & 0x01) != 0)
124083            }
124084            ///Bits 20:21 - Hour tens in BCD format
124085            #[inline(always)]
124086            pub fn ht(&self) -> HT_R {
124087                HT_R::new(((self.bits >> 20) & 0x03) as u8)
124088            }
124089            ///Bits 16:19 - Hour units in BCD format
124090            #[inline(always)]
124091            pub fn hu(&self) -> HU_R {
124092                HU_R::new(((self.bits >> 16) & 0x0f) as u8)
124093            }
124094            ///Bit 15 - Alarm A minutes mask
124095            #[inline(always)]
124096            pub fn msk2(&self) -> MSK2_R {
124097                MSK2_R::new(((self.bits >> 15) & 0x01) != 0)
124098            }
124099            ///Bits 12:14 - Minute tens in BCD format
124100            #[inline(always)]
124101            pub fn mnt(&self) -> MNT_R {
124102                MNT_R::new(((self.bits >> 12) & 0x07) as u8)
124103            }
124104            ///Bits 8:11 - Minute units in BCD format
124105            #[inline(always)]
124106            pub fn mnu(&self) -> MNU_R {
124107                MNU_R::new(((self.bits >> 8) & 0x0f) as u8)
124108            }
124109            ///Bit 7 - Alarm A seconds mask
124110            #[inline(always)]
124111            pub fn msk1(&self) -> MSK1_R {
124112                MSK1_R::new(((self.bits >> 7) & 0x01) != 0)
124113            }
124114            ///Bits 4:6 - Second tens in BCD format
124115            #[inline(always)]
124116            pub fn st(&self) -> ST_R {
124117                ST_R::new(((self.bits >> 4) & 0x07) as u8)
124118            }
124119            ///Bits 0:3 - Second units in BCD format
124120            #[inline(always)]
124121            pub fn su(&self) -> SU_R {
124122                SU_R::new((self.bits & 0x0f) as u8)
124123            }
124124        }
124125        impl W {
124126            ///Bit 31 - Alarm A date mask
124127            #[inline(always)]
124128            pub fn msk4(&mut self) -> MSK4_W {
124129                MSK4_W { w: self }
124130            }
124131            ///Bit 30 - Week day selection
124132            #[inline(always)]
124133            pub fn wdsel(&mut self) -> WDSEL_W {
124134                WDSEL_W { w: self }
124135            }
124136            ///Bits 28:29 - Date tens in BCD format
124137            #[inline(always)]
124138            pub fn dt(&mut self) -> DT_W {
124139                DT_W { w: self }
124140            }
124141            ///Bits 24:27 - Date units or day in BCD format
124142            #[inline(always)]
124143            pub fn du(&mut self) -> DU_W {
124144                DU_W { w: self }
124145            }
124146            ///Bit 23 - Alarm A hours mask
124147            #[inline(always)]
124148            pub fn msk3(&mut self) -> MSK3_W {
124149                MSK3_W { w: self }
124150            }
124151            ///Bit 22 - AM/PM notation
124152            #[inline(always)]
124153            pub fn pm(&mut self) -> PM_W {
124154                PM_W { w: self }
124155            }
124156            ///Bits 20:21 - Hour tens in BCD format
124157            #[inline(always)]
124158            pub fn ht(&mut self) -> HT_W {
124159                HT_W { w: self }
124160            }
124161            ///Bits 16:19 - Hour units in BCD format
124162            #[inline(always)]
124163            pub fn hu(&mut self) -> HU_W {
124164                HU_W { w: self }
124165            }
124166            ///Bit 15 - Alarm A minutes mask
124167            #[inline(always)]
124168            pub fn msk2(&mut self) -> MSK2_W {
124169                MSK2_W { w: self }
124170            }
124171            ///Bits 12:14 - Minute tens in BCD format
124172            #[inline(always)]
124173            pub fn mnt(&mut self) -> MNT_W {
124174                MNT_W { w: self }
124175            }
124176            ///Bits 8:11 - Minute units in BCD format
124177            #[inline(always)]
124178            pub fn mnu(&mut self) -> MNU_W {
124179                MNU_W { w: self }
124180            }
124181            ///Bit 7 - Alarm A seconds mask
124182            #[inline(always)]
124183            pub fn msk1(&mut self) -> MSK1_W {
124184                MSK1_W { w: self }
124185            }
124186            ///Bits 4:6 - Second tens in BCD format
124187            #[inline(always)]
124188            pub fn st(&mut self) -> ST_W {
124189                ST_W { w: self }
124190            }
124191            ///Bits 0:3 - Second units in BCD format
124192            #[inline(always)]
124193            pub fn su(&mut self) -> SU_W {
124194                SU_W { w: self }
124195            }
124196        }
124197    }
124198    ///alarm B register
124199    ///
124200    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
124201    ///
124202    ///For information about available fields see [alrmbr](alrmbr) module
124203    pub type ALRMBR = crate::Reg<u32, _ALRMBR>;
124204    #[allow(missing_docs)]
124205    #[doc(hidden)]
124206    pub struct _ALRMBR;
124207    ///`read()` method returns [alrmbr::R](alrmbr::R) reader structure
124208    impl crate::Readable for ALRMBR {}
124209    ///`write(|w| ..)` method takes [alrmbr::W](alrmbr::W) writer structure
124210    impl crate::Writable for ALRMBR {}
124211    ///alarm B register
124212    pub mod alrmbr {
124213        ///Reader of register ALRMBR
124214        pub type R = crate::R<u32, super::ALRMBR>;
124215        ///Writer for register ALRMBR
124216        pub type W = crate::W<u32, super::ALRMBR>;
124217        ///Register ALRMBR `reset()`'s with value 0
124218        impl crate::ResetValue for super::ALRMBR {
124219            type Type = u32;
124220            #[inline(always)]
124221            fn reset_value() -> Self::Type {
124222                0
124223            }
124224        }
124225        ///Reader of field `MSK4`
124226        pub type MSK4_R = crate::R<bool, bool>;
124227        ///Write proxy for field `MSK4`
124228        pub struct MSK4_W<'a> {
124229            w: &'a mut W,
124230        }
124231        impl<'a> MSK4_W<'a> {
124232            ///Sets the field bit
124233            #[inline(always)]
124234            pub fn set_bit(self) -> &'a mut W {
124235                self.bit(true)
124236            }
124237            ///Clears the field bit
124238            #[inline(always)]
124239            pub fn clear_bit(self) -> &'a mut W {
124240                self.bit(false)
124241            }
124242            ///Writes raw bits to the field
124243            #[inline(always)]
124244            pub fn bit(self, value: bool) -> &'a mut W {
124245                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
124246                self.w
124247            }
124248        }
124249        ///Reader of field `WDSEL`
124250        pub type WDSEL_R = crate::R<bool, bool>;
124251        ///Write proxy for field `WDSEL`
124252        pub struct WDSEL_W<'a> {
124253            w: &'a mut W,
124254        }
124255        impl<'a> WDSEL_W<'a> {
124256            ///Sets the field bit
124257            #[inline(always)]
124258            pub fn set_bit(self) -> &'a mut W {
124259                self.bit(true)
124260            }
124261            ///Clears the field bit
124262            #[inline(always)]
124263            pub fn clear_bit(self) -> &'a mut W {
124264                self.bit(false)
124265            }
124266            ///Writes raw bits to the field
124267            #[inline(always)]
124268            pub fn bit(self, value: bool) -> &'a mut W {
124269                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
124270                self.w
124271            }
124272        }
124273        ///Reader of field `DT`
124274        pub type DT_R = crate::R<u8, u8>;
124275        ///Write proxy for field `DT`
124276        pub struct DT_W<'a> {
124277            w: &'a mut W,
124278        }
124279        impl<'a> DT_W<'a> {
124280            ///Writes raw bits to the field
124281            #[inline(always)]
124282            pub unsafe fn bits(self, value: u8) -> &'a mut W {
124283                self.w.bits = (self.w.bits & !(0x03 << 28)) | (((value as u32) & 0x03) << 28);
124284                self.w
124285            }
124286        }
124287        ///Reader of field `DU`
124288        pub type DU_R = crate::R<u8, u8>;
124289        ///Write proxy for field `DU`
124290        pub struct DU_W<'a> {
124291            w: &'a mut W,
124292        }
124293        impl<'a> DU_W<'a> {
124294            ///Writes raw bits to the field
124295            #[inline(always)]
124296            pub unsafe fn bits(self, value: u8) -> &'a mut W {
124297                self.w.bits = (self.w.bits & !(0x0f << 24)) | (((value as u32) & 0x0f) << 24);
124298                self.w
124299            }
124300        }
124301        ///Reader of field `MSK3`
124302        pub type MSK3_R = crate::R<bool, bool>;
124303        ///Write proxy for field `MSK3`
124304        pub struct MSK3_W<'a> {
124305            w: &'a mut W,
124306        }
124307        impl<'a> MSK3_W<'a> {
124308            ///Sets the field bit
124309            #[inline(always)]
124310            pub fn set_bit(self) -> &'a mut W {
124311                self.bit(true)
124312            }
124313            ///Clears the field bit
124314            #[inline(always)]
124315            pub fn clear_bit(self) -> &'a mut W {
124316                self.bit(false)
124317            }
124318            ///Writes raw bits to the field
124319            #[inline(always)]
124320            pub fn bit(self, value: bool) -> &'a mut W {
124321                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
124322                self.w
124323            }
124324        }
124325        ///Reader of field `PM`
124326        pub type PM_R = crate::R<bool, bool>;
124327        ///Write proxy for field `PM`
124328        pub struct PM_W<'a> {
124329            w: &'a mut W,
124330        }
124331        impl<'a> PM_W<'a> {
124332            ///Sets the field bit
124333            #[inline(always)]
124334            pub fn set_bit(self) -> &'a mut W {
124335                self.bit(true)
124336            }
124337            ///Clears the field bit
124338            #[inline(always)]
124339            pub fn clear_bit(self) -> &'a mut W {
124340                self.bit(false)
124341            }
124342            ///Writes raw bits to the field
124343            #[inline(always)]
124344            pub fn bit(self, value: bool) -> &'a mut W {
124345                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
124346                self.w
124347            }
124348        }
124349        ///Reader of field `HT`
124350        pub type HT_R = crate::R<u8, u8>;
124351        ///Write proxy for field `HT`
124352        pub struct HT_W<'a> {
124353            w: &'a mut W,
124354        }
124355        impl<'a> HT_W<'a> {
124356            ///Writes raw bits to the field
124357            #[inline(always)]
124358            pub unsafe fn bits(self, value: u8) -> &'a mut W {
124359                self.w.bits = (self.w.bits & !(0x03 << 20)) | (((value as u32) & 0x03) << 20);
124360                self.w
124361            }
124362        }
124363        ///Reader of field `HU`
124364        pub type HU_R = crate::R<u8, u8>;
124365        ///Write proxy for field `HU`
124366        pub struct HU_W<'a> {
124367            w: &'a mut W,
124368        }
124369        impl<'a> HU_W<'a> {
124370            ///Writes raw bits to the field
124371            #[inline(always)]
124372            pub unsafe fn bits(self, value: u8) -> &'a mut W {
124373                self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16);
124374                self.w
124375            }
124376        }
124377        ///Reader of field `MSK2`
124378        pub type MSK2_R = crate::R<bool, bool>;
124379        ///Write proxy for field `MSK2`
124380        pub struct MSK2_W<'a> {
124381            w: &'a mut W,
124382        }
124383        impl<'a> MSK2_W<'a> {
124384            ///Sets the field bit
124385            #[inline(always)]
124386            pub fn set_bit(self) -> &'a mut W {
124387                self.bit(true)
124388            }
124389            ///Clears the field bit
124390            #[inline(always)]
124391            pub fn clear_bit(self) -> &'a mut W {
124392                self.bit(false)
124393            }
124394            ///Writes raw bits to the field
124395            #[inline(always)]
124396            pub fn bit(self, value: bool) -> &'a mut W {
124397                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
124398                self.w
124399            }
124400        }
124401        ///Reader of field `MNT`
124402        pub type MNT_R = crate::R<u8, u8>;
124403        ///Write proxy for field `MNT`
124404        pub struct MNT_W<'a> {
124405            w: &'a mut W,
124406        }
124407        impl<'a> MNT_W<'a> {
124408            ///Writes raw bits to the field
124409            #[inline(always)]
124410            pub unsafe fn bits(self, value: u8) -> &'a mut W {
124411                self.w.bits = (self.w.bits & !(0x07 << 12)) | (((value as u32) & 0x07) << 12);
124412                self.w
124413            }
124414        }
124415        ///Reader of field `MNU`
124416        pub type MNU_R = crate::R<u8, u8>;
124417        ///Write proxy for field `MNU`
124418        pub struct MNU_W<'a> {
124419            w: &'a mut W,
124420        }
124421        impl<'a> MNU_W<'a> {
124422            ///Writes raw bits to the field
124423            #[inline(always)]
124424            pub unsafe fn bits(self, value: u8) -> &'a mut W {
124425                self.w.bits = (self.w.bits & !(0x0f << 8)) | (((value as u32) & 0x0f) << 8);
124426                self.w
124427            }
124428        }
124429        ///Reader of field `MSK1`
124430        pub type MSK1_R = crate::R<bool, bool>;
124431        ///Write proxy for field `MSK1`
124432        pub struct MSK1_W<'a> {
124433            w: &'a mut W,
124434        }
124435        impl<'a> MSK1_W<'a> {
124436            ///Sets the field bit
124437            #[inline(always)]
124438            pub fn set_bit(self) -> &'a mut W {
124439                self.bit(true)
124440            }
124441            ///Clears the field bit
124442            #[inline(always)]
124443            pub fn clear_bit(self) -> &'a mut W {
124444                self.bit(false)
124445            }
124446            ///Writes raw bits to the field
124447            #[inline(always)]
124448            pub fn bit(self, value: bool) -> &'a mut W {
124449                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
124450                self.w
124451            }
124452        }
124453        ///Reader of field `ST`
124454        pub type ST_R = crate::R<u8, u8>;
124455        ///Write proxy for field `ST`
124456        pub struct ST_W<'a> {
124457            w: &'a mut W,
124458        }
124459        impl<'a> ST_W<'a> {
124460            ///Writes raw bits to the field
124461            #[inline(always)]
124462            pub unsafe fn bits(self, value: u8) -> &'a mut W {
124463                self.w.bits = (self.w.bits & !(0x07 << 4)) | (((value as u32) & 0x07) << 4);
124464                self.w
124465            }
124466        }
124467        ///Reader of field `SU`
124468        pub type SU_R = crate::R<u8, u8>;
124469        ///Write proxy for field `SU`
124470        pub struct SU_W<'a> {
124471            w: &'a mut W,
124472        }
124473        impl<'a> SU_W<'a> {
124474            ///Writes raw bits to the field
124475            #[inline(always)]
124476            pub unsafe fn bits(self, value: u8) -> &'a mut W {
124477                self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f);
124478                self.w
124479            }
124480        }
124481        impl R {
124482            ///Bit 31 - Alarm B date mask
124483            #[inline(always)]
124484            pub fn msk4(&self) -> MSK4_R {
124485                MSK4_R::new(((self.bits >> 31) & 0x01) != 0)
124486            }
124487            ///Bit 30 - Week day selection
124488            #[inline(always)]
124489            pub fn wdsel(&self) -> WDSEL_R {
124490                WDSEL_R::new(((self.bits >> 30) & 0x01) != 0)
124491            }
124492            ///Bits 28:29 - Date tens in BCD format
124493            #[inline(always)]
124494            pub fn dt(&self) -> DT_R {
124495                DT_R::new(((self.bits >> 28) & 0x03) as u8)
124496            }
124497            ///Bits 24:27 - Date units or day in BCD format
124498            #[inline(always)]
124499            pub fn du(&self) -> DU_R {
124500                DU_R::new(((self.bits >> 24) & 0x0f) as u8)
124501            }
124502            ///Bit 23 - Alarm B hours mask
124503            #[inline(always)]
124504            pub fn msk3(&self) -> MSK3_R {
124505                MSK3_R::new(((self.bits >> 23) & 0x01) != 0)
124506            }
124507            ///Bit 22 - AM/PM notation
124508            #[inline(always)]
124509            pub fn pm(&self) -> PM_R {
124510                PM_R::new(((self.bits >> 22) & 0x01) != 0)
124511            }
124512            ///Bits 20:21 - Hour tens in BCD format
124513            #[inline(always)]
124514            pub fn ht(&self) -> HT_R {
124515                HT_R::new(((self.bits >> 20) & 0x03) as u8)
124516            }
124517            ///Bits 16:19 - Hour units in BCD format
124518            #[inline(always)]
124519            pub fn hu(&self) -> HU_R {
124520                HU_R::new(((self.bits >> 16) & 0x0f) as u8)
124521            }
124522            ///Bit 15 - Alarm B minutes mask
124523            #[inline(always)]
124524            pub fn msk2(&self) -> MSK2_R {
124525                MSK2_R::new(((self.bits >> 15) & 0x01) != 0)
124526            }
124527            ///Bits 12:14 - Minute tens in BCD format
124528            #[inline(always)]
124529            pub fn mnt(&self) -> MNT_R {
124530                MNT_R::new(((self.bits >> 12) & 0x07) as u8)
124531            }
124532            ///Bits 8:11 - Minute units in BCD format
124533            #[inline(always)]
124534            pub fn mnu(&self) -> MNU_R {
124535                MNU_R::new(((self.bits >> 8) & 0x0f) as u8)
124536            }
124537            ///Bit 7 - Alarm B seconds mask
124538            #[inline(always)]
124539            pub fn msk1(&self) -> MSK1_R {
124540                MSK1_R::new(((self.bits >> 7) & 0x01) != 0)
124541            }
124542            ///Bits 4:6 - Second tens in BCD format
124543            #[inline(always)]
124544            pub fn st(&self) -> ST_R {
124545                ST_R::new(((self.bits >> 4) & 0x07) as u8)
124546            }
124547            ///Bits 0:3 - Second units in BCD format
124548            #[inline(always)]
124549            pub fn su(&self) -> SU_R {
124550                SU_R::new((self.bits & 0x0f) as u8)
124551            }
124552        }
124553        impl W {
124554            ///Bit 31 - Alarm B date mask
124555            #[inline(always)]
124556            pub fn msk4(&mut self) -> MSK4_W {
124557                MSK4_W { w: self }
124558            }
124559            ///Bit 30 - Week day selection
124560            #[inline(always)]
124561            pub fn wdsel(&mut self) -> WDSEL_W {
124562                WDSEL_W { w: self }
124563            }
124564            ///Bits 28:29 - Date tens in BCD format
124565            #[inline(always)]
124566            pub fn dt(&mut self) -> DT_W {
124567                DT_W { w: self }
124568            }
124569            ///Bits 24:27 - Date units or day in BCD format
124570            #[inline(always)]
124571            pub fn du(&mut self) -> DU_W {
124572                DU_W { w: self }
124573            }
124574            ///Bit 23 - Alarm B hours mask
124575            #[inline(always)]
124576            pub fn msk3(&mut self) -> MSK3_W {
124577                MSK3_W { w: self }
124578            }
124579            ///Bit 22 - AM/PM notation
124580            #[inline(always)]
124581            pub fn pm(&mut self) -> PM_W {
124582                PM_W { w: self }
124583            }
124584            ///Bits 20:21 - Hour tens in BCD format
124585            #[inline(always)]
124586            pub fn ht(&mut self) -> HT_W {
124587                HT_W { w: self }
124588            }
124589            ///Bits 16:19 - Hour units in BCD format
124590            #[inline(always)]
124591            pub fn hu(&mut self) -> HU_W {
124592                HU_W { w: self }
124593            }
124594            ///Bit 15 - Alarm B minutes mask
124595            #[inline(always)]
124596            pub fn msk2(&mut self) -> MSK2_W {
124597                MSK2_W { w: self }
124598            }
124599            ///Bits 12:14 - Minute tens in BCD format
124600            #[inline(always)]
124601            pub fn mnt(&mut self) -> MNT_W {
124602                MNT_W { w: self }
124603            }
124604            ///Bits 8:11 - Minute units in BCD format
124605            #[inline(always)]
124606            pub fn mnu(&mut self) -> MNU_W {
124607                MNU_W { w: self }
124608            }
124609            ///Bit 7 - Alarm B seconds mask
124610            #[inline(always)]
124611            pub fn msk1(&mut self) -> MSK1_W {
124612                MSK1_W { w: self }
124613            }
124614            ///Bits 4:6 - Second tens in BCD format
124615            #[inline(always)]
124616            pub fn st(&mut self) -> ST_W {
124617                ST_W { w: self }
124618            }
124619            ///Bits 0:3 - Second units in BCD format
124620            #[inline(always)]
124621            pub fn su(&mut self) -> SU_W {
124622                SU_W { w: self }
124623            }
124624        }
124625    }
124626    ///write protection register
124627    ///
124628    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
124629    ///
124630    ///For information about available fields see [wpr](wpr) module
124631    pub type WPR = crate::Reg<u32, _WPR>;
124632    #[allow(missing_docs)]
124633    #[doc(hidden)]
124634    pub struct _WPR;
124635    ///`write(|w| ..)` method takes [wpr::W](wpr::W) writer structure
124636    impl crate::Writable for WPR {}
124637    ///write protection register
124638    pub mod wpr {
124639        ///Writer for register WPR
124640        pub type W = crate::W<u32, super::WPR>;
124641        ///Register WPR `reset()`'s with value 0
124642        impl crate::ResetValue for super::WPR {
124643            type Type = u32;
124644            #[inline(always)]
124645            fn reset_value() -> Self::Type {
124646                0
124647            }
124648        }
124649        ///Write proxy for field `KEY`
124650        pub struct KEY_W<'a> {
124651            w: &'a mut W,
124652        }
124653        impl<'a> KEY_W<'a> {
124654            ///Writes raw bits to the field
124655            #[inline(always)]
124656            pub unsafe fn bits(self, value: u8) -> &'a mut W {
124657                self.w.bits = (self.w.bits & !0xff) | ((value as u32) & 0xff);
124658                self.w
124659            }
124660        }
124661        impl W {
124662            ///Bits 0:7 - Write protection key
124663            #[inline(always)]
124664            pub fn key(&mut self) -> KEY_W {
124665                KEY_W { w: self }
124666            }
124667        }
124668    }
124669    ///sub second register
124670    ///
124671    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
124672    ///
124673    ///For information about available fields see [ssr](ssr) module
124674    pub type SSR = crate::Reg<u32, _SSR>;
124675    #[allow(missing_docs)]
124676    #[doc(hidden)]
124677    pub struct _SSR;
124678    ///`read()` method returns [ssr::R](ssr::R) reader structure
124679    impl crate::Readable for SSR {}
124680    ///sub second register
124681    pub mod ssr {
124682        ///Reader of register SSR
124683        pub type R = crate::R<u32, super::SSR>;
124684        ///Reader of field `SS`
124685        pub type SS_R = crate::R<u16, u16>;
124686        impl R {
124687            ///Bits 0:15 - Sub second value
124688            #[inline(always)]
124689            pub fn ss(&self) -> SS_R {
124690                SS_R::new((self.bits & 0xffff) as u16)
124691            }
124692        }
124693    }
124694    ///shift control register
124695    ///
124696    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
124697    ///
124698    ///For information about available fields see [shiftr](shiftr) module
124699    pub type SHIFTR = crate::Reg<u32, _SHIFTR>;
124700    #[allow(missing_docs)]
124701    #[doc(hidden)]
124702    pub struct _SHIFTR;
124703    ///`write(|w| ..)` method takes [shiftr::W](shiftr::W) writer structure
124704    impl crate::Writable for SHIFTR {}
124705    ///shift control register
124706    pub mod shiftr {
124707        ///Writer for register SHIFTR
124708        pub type W = crate::W<u32, super::SHIFTR>;
124709        ///Register SHIFTR `reset()`'s with value 0
124710        impl crate::ResetValue for super::SHIFTR {
124711            type Type = u32;
124712            #[inline(always)]
124713            fn reset_value() -> Self::Type {
124714                0
124715            }
124716        }
124717        ///Write proxy for field `ADD1S`
124718        pub struct ADD1S_W<'a> {
124719            w: &'a mut W,
124720        }
124721        impl<'a> ADD1S_W<'a> {
124722            ///Sets the field bit
124723            #[inline(always)]
124724            pub fn set_bit(self) -> &'a mut W {
124725                self.bit(true)
124726            }
124727            ///Clears the field bit
124728            #[inline(always)]
124729            pub fn clear_bit(self) -> &'a mut W {
124730                self.bit(false)
124731            }
124732            ///Writes raw bits to the field
124733            #[inline(always)]
124734            pub fn bit(self, value: bool) -> &'a mut W {
124735                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
124736                self.w
124737            }
124738        }
124739        ///Write proxy for field `SUBFS`
124740        pub struct SUBFS_W<'a> {
124741            w: &'a mut W,
124742        }
124743        impl<'a> SUBFS_W<'a> {
124744            ///Writes raw bits to the field
124745            #[inline(always)]
124746            pub unsafe fn bits(self, value: u16) -> &'a mut W {
124747                self.w.bits = (self.w.bits & !0x7fff) | ((value as u32) & 0x7fff);
124748                self.w
124749            }
124750        }
124751        impl W {
124752            ///Bit 31 - Add one second
124753            #[inline(always)]
124754            pub fn add1s(&mut self) -> ADD1S_W {
124755                ADD1S_W { w: self }
124756            }
124757            ///Bits 0:14 - Subtract a fraction of a second
124758            #[inline(always)]
124759            pub fn subfs(&mut self) -> SUBFS_W {
124760                SUBFS_W { w: self }
124761            }
124762        }
124763    }
124764    ///time stamp time register
124765    ///
124766    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
124767    ///
124768    ///For information about available fields see [tstr](tstr) module
124769    pub type TSTR = crate::Reg<u32, _TSTR>;
124770    #[allow(missing_docs)]
124771    #[doc(hidden)]
124772    pub struct _TSTR;
124773    ///`read()` method returns [tstr::R](tstr::R) reader structure
124774    impl crate::Readable for TSTR {}
124775    ///time stamp time register
124776    pub mod tstr {
124777        ///Reader of register TSTR
124778        pub type R = crate::R<u32, super::TSTR>;
124779        ///Reader of field `SU`
124780        pub type SU_R = crate::R<u8, u8>;
124781        ///Reader of field `ST`
124782        pub type ST_R = crate::R<u8, u8>;
124783        ///Reader of field `MNU`
124784        pub type MNU_R = crate::R<u8, u8>;
124785        ///Reader of field `MNT`
124786        pub type MNT_R = crate::R<u8, u8>;
124787        ///Reader of field `HU`
124788        pub type HU_R = crate::R<u8, u8>;
124789        ///Reader of field `HT`
124790        pub type HT_R = crate::R<u8, u8>;
124791        ///Reader of field `PM`
124792        pub type PM_R = crate::R<bool, bool>;
124793        impl R {
124794            ///Bits 0:3 - Second units in BCD format
124795            #[inline(always)]
124796            pub fn su(&self) -> SU_R {
124797                SU_R::new((self.bits & 0x0f) as u8)
124798            }
124799            ///Bits 4:6 - Second tens in BCD format
124800            #[inline(always)]
124801            pub fn st(&self) -> ST_R {
124802                ST_R::new(((self.bits >> 4) & 0x07) as u8)
124803            }
124804            ///Bits 8:11 - Minute units in BCD format
124805            #[inline(always)]
124806            pub fn mnu(&self) -> MNU_R {
124807                MNU_R::new(((self.bits >> 8) & 0x0f) as u8)
124808            }
124809            ///Bits 12:14 - Minute tens in BCD format
124810            #[inline(always)]
124811            pub fn mnt(&self) -> MNT_R {
124812                MNT_R::new(((self.bits >> 12) & 0x07) as u8)
124813            }
124814            ///Bits 16:19 - Hour units in BCD format
124815            #[inline(always)]
124816            pub fn hu(&self) -> HU_R {
124817                HU_R::new(((self.bits >> 16) & 0x0f) as u8)
124818            }
124819            ///Bits 20:21 - Hour tens in BCD format
124820            #[inline(always)]
124821            pub fn ht(&self) -> HT_R {
124822                HT_R::new(((self.bits >> 20) & 0x03) as u8)
124823            }
124824            ///Bit 22 - AM/PM notation
124825            #[inline(always)]
124826            pub fn pm(&self) -> PM_R {
124827                PM_R::new(((self.bits >> 22) & 0x01) != 0)
124828            }
124829        }
124830    }
124831    ///time stamp date register
124832    ///
124833    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
124834    ///
124835    ///For information about available fields see [tsdr](tsdr) module
124836    pub type TSDR = crate::Reg<u32, _TSDR>;
124837    #[allow(missing_docs)]
124838    #[doc(hidden)]
124839    pub struct _TSDR;
124840    ///`read()` method returns [tsdr::R](tsdr::R) reader structure
124841    impl crate::Readable for TSDR {}
124842    ///time stamp date register
124843    pub mod tsdr {
124844        ///Reader of register TSDR
124845        pub type R = crate::R<u32, super::TSDR>;
124846        ///Reader of field `WDU`
124847        pub type WDU_R = crate::R<u8, u8>;
124848        ///Reader of field `MT`
124849        pub type MT_R = crate::R<bool, bool>;
124850        ///Reader of field `MU`
124851        pub type MU_R = crate::R<u8, u8>;
124852        ///Reader of field `DT`
124853        pub type DT_R = crate::R<u8, u8>;
124854        ///Reader of field `DU`
124855        pub type DU_R = crate::R<u8, u8>;
124856        impl R {
124857            ///Bits 13:15 - Week day units
124858            #[inline(always)]
124859            pub fn wdu(&self) -> WDU_R {
124860                WDU_R::new(((self.bits >> 13) & 0x07) as u8)
124861            }
124862            ///Bit 12 - Month tens in BCD format
124863            #[inline(always)]
124864            pub fn mt(&self) -> MT_R {
124865                MT_R::new(((self.bits >> 12) & 0x01) != 0)
124866            }
124867            ///Bits 8:11 - Month units in BCD format
124868            #[inline(always)]
124869            pub fn mu(&self) -> MU_R {
124870                MU_R::new(((self.bits >> 8) & 0x0f) as u8)
124871            }
124872            ///Bits 4:5 - Date tens in BCD format
124873            #[inline(always)]
124874            pub fn dt(&self) -> DT_R {
124875                DT_R::new(((self.bits >> 4) & 0x03) as u8)
124876            }
124877            ///Bits 0:3 - Date units in BCD format
124878            #[inline(always)]
124879            pub fn du(&self) -> DU_R {
124880                DU_R::new((self.bits & 0x0f) as u8)
124881            }
124882        }
124883    }
124884    ///timestamp sub second register
124885    ///
124886    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
124887    ///
124888    ///For information about available fields see [tsssr](tsssr) module
124889    pub type TSSSR = crate::Reg<u32, _TSSSR>;
124890    #[allow(missing_docs)]
124891    #[doc(hidden)]
124892    pub struct _TSSSR;
124893    ///`read()` method returns [tsssr::R](tsssr::R) reader structure
124894    impl crate::Readable for TSSSR {}
124895    ///timestamp sub second register
124896    pub mod tsssr {
124897        ///Reader of register TSSSR
124898        pub type R = crate::R<u32, super::TSSSR>;
124899        ///Reader of field `SS`
124900        pub type SS_R = crate::R<u16, u16>;
124901        impl R {
124902            ///Bits 0:15 - Sub second value
124903            #[inline(always)]
124904            pub fn ss(&self) -> SS_R {
124905                SS_R::new((self.bits & 0xffff) as u16)
124906            }
124907        }
124908    }
124909    ///calibration register
124910    ///
124911    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
124912    ///
124913    ///For information about available fields see [calr](calr) module
124914    pub type CALR = crate::Reg<u32, _CALR>;
124915    #[allow(missing_docs)]
124916    #[doc(hidden)]
124917    pub struct _CALR;
124918    ///`read()` method returns [calr::R](calr::R) reader structure
124919    impl crate::Readable for CALR {}
124920    ///`write(|w| ..)` method takes [calr::W](calr::W) writer structure
124921    impl crate::Writable for CALR {}
124922    ///calibration register
124923    pub mod calr {
124924        ///Reader of register CALR
124925        pub type R = crate::R<u32, super::CALR>;
124926        ///Writer for register CALR
124927        pub type W = crate::W<u32, super::CALR>;
124928        ///Register CALR `reset()`'s with value 0
124929        impl crate::ResetValue for super::CALR {
124930            type Type = u32;
124931            #[inline(always)]
124932            fn reset_value() -> Self::Type {
124933                0
124934            }
124935        }
124936        ///Reader of field `CALP`
124937        pub type CALP_R = crate::R<bool, bool>;
124938        ///Write proxy for field `CALP`
124939        pub struct CALP_W<'a> {
124940            w: &'a mut W,
124941        }
124942        impl<'a> CALP_W<'a> {
124943            ///Sets the field bit
124944            #[inline(always)]
124945            pub fn set_bit(self) -> &'a mut W {
124946                self.bit(true)
124947            }
124948            ///Clears the field bit
124949            #[inline(always)]
124950            pub fn clear_bit(self) -> &'a mut W {
124951                self.bit(false)
124952            }
124953            ///Writes raw bits to the field
124954            #[inline(always)]
124955            pub fn bit(self, value: bool) -> &'a mut W {
124956                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
124957                self.w
124958            }
124959        }
124960        ///Reader of field `CALW8`
124961        pub type CALW8_R = crate::R<bool, bool>;
124962        ///Write proxy for field `CALW8`
124963        pub struct CALW8_W<'a> {
124964            w: &'a mut W,
124965        }
124966        impl<'a> CALW8_W<'a> {
124967            ///Sets the field bit
124968            #[inline(always)]
124969            pub fn set_bit(self) -> &'a mut W {
124970                self.bit(true)
124971            }
124972            ///Clears the field bit
124973            #[inline(always)]
124974            pub fn clear_bit(self) -> &'a mut W {
124975                self.bit(false)
124976            }
124977            ///Writes raw bits to the field
124978            #[inline(always)]
124979            pub fn bit(self, value: bool) -> &'a mut W {
124980                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
124981                self.w
124982            }
124983        }
124984        ///Reader of field `CALW16`
124985        pub type CALW16_R = crate::R<bool, bool>;
124986        ///Write proxy for field `CALW16`
124987        pub struct CALW16_W<'a> {
124988            w: &'a mut W,
124989        }
124990        impl<'a> CALW16_W<'a> {
124991            ///Sets the field bit
124992            #[inline(always)]
124993            pub fn set_bit(self) -> &'a mut W {
124994                self.bit(true)
124995            }
124996            ///Clears the field bit
124997            #[inline(always)]
124998            pub fn clear_bit(self) -> &'a mut W {
124999                self.bit(false)
125000            }
125001            ///Writes raw bits to the field
125002            #[inline(always)]
125003            pub fn bit(self, value: bool) -> &'a mut W {
125004                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
125005                self.w
125006            }
125007        }
125008        ///Reader of field `CALM`
125009        pub type CALM_R = crate::R<u16, u16>;
125010        ///Write proxy for field `CALM`
125011        pub struct CALM_W<'a> {
125012            w: &'a mut W,
125013        }
125014        impl<'a> CALM_W<'a> {
125015            ///Writes raw bits to the field
125016            #[inline(always)]
125017            pub unsafe fn bits(self, value: u16) -> &'a mut W {
125018                self.w.bits = (self.w.bits & !0x01ff) | ((value as u32) & 0x01ff);
125019                self.w
125020            }
125021        }
125022        impl R {
125023            ///Bit 15 - Increase frequency of RTC by 488.5 ppm
125024            #[inline(always)]
125025            pub fn calp(&self) -> CALP_R {
125026                CALP_R::new(((self.bits >> 15) & 0x01) != 0)
125027            }
125028            ///Bit 14 - Use an 8-second calibration cycle period
125029            #[inline(always)]
125030            pub fn calw8(&self) -> CALW8_R {
125031                CALW8_R::new(((self.bits >> 14) & 0x01) != 0)
125032            }
125033            ///Bit 13 - Use a 16-second calibration cycle period
125034            #[inline(always)]
125035            pub fn calw16(&self) -> CALW16_R {
125036                CALW16_R::new(((self.bits >> 13) & 0x01) != 0)
125037            }
125038            ///Bits 0:8 - Calibration minus
125039            #[inline(always)]
125040            pub fn calm(&self) -> CALM_R {
125041                CALM_R::new((self.bits & 0x01ff) as u16)
125042            }
125043        }
125044        impl W {
125045            ///Bit 15 - Increase frequency of RTC by 488.5 ppm
125046            #[inline(always)]
125047            pub fn calp(&mut self) -> CALP_W {
125048                CALP_W { w: self }
125049            }
125050            ///Bit 14 - Use an 8-second calibration cycle period
125051            #[inline(always)]
125052            pub fn calw8(&mut self) -> CALW8_W {
125053                CALW8_W { w: self }
125054            }
125055            ///Bit 13 - Use a 16-second calibration cycle period
125056            #[inline(always)]
125057            pub fn calw16(&mut self) -> CALW16_W {
125058                CALW16_W { w: self }
125059            }
125060            ///Bits 0:8 - Calibration minus
125061            #[inline(always)]
125062            pub fn calm(&mut self) -> CALM_W {
125063                CALM_W { w: self }
125064            }
125065        }
125066    }
125067    ///tamper configuration register
125068    ///
125069    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
125070    ///
125071    ///For information about available fields see [tampcr](tampcr) module
125072    pub type TAMPCR = crate::Reg<u32, _TAMPCR>;
125073    #[allow(missing_docs)]
125074    #[doc(hidden)]
125075    pub struct _TAMPCR;
125076    ///`read()` method returns [tampcr::R](tampcr::R) reader structure
125077    impl crate::Readable for TAMPCR {}
125078    ///`write(|w| ..)` method takes [tampcr::W](tampcr::W) writer structure
125079    impl crate::Writable for TAMPCR {}
125080    ///tamper configuration register
125081    pub mod tampcr {
125082        ///Reader of register TAMPCR
125083        pub type R = crate::R<u32, super::TAMPCR>;
125084        ///Writer for register TAMPCR
125085        pub type W = crate::W<u32, super::TAMPCR>;
125086        ///Register TAMPCR `reset()`'s with value 0
125087        impl crate::ResetValue for super::TAMPCR {
125088            type Type = u32;
125089            #[inline(always)]
125090            fn reset_value() -> Self::Type {
125091                0
125092            }
125093        }
125094        ///Reader of field `TAMP1E`
125095        pub type TAMP1E_R = crate::R<bool, bool>;
125096        ///Write proxy for field `TAMP1E`
125097        pub struct TAMP1E_W<'a> {
125098            w: &'a mut W,
125099        }
125100        impl<'a> TAMP1E_W<'a> {
125101            ///Sets the field bit
125102            #[inline(always)]
125103            pub fn set_bit(self) -> &'a mut W {
125104                self.bit(true)
125105            }
125106            ///Clears the field bit
125107            #[inline(always)]
125108            pub fn clear_bit(self) -> &'a mut W {
125109                self.bit(false)
125110            }
125111            ///Writes raw bits to the field
125112            #[inline(always)]
125113            pub fn bit(self, value: bool) -> &'a mut W {
125114                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
125115                self.w
125116            }
125117        }
125118        ///Reader of field `TAMP1TRG`
125119        pub type TAMP1TRG_R = crate::R<bool, bool>;
125120        ///Write proxy for field `TAMP1TRG`
125121        pub struct TAMP1TRG_W<'a> {
125122            w: &'a mut W,
125123        }
125124        impl<'a> TAMP1TRG_W<'a> {
125125            ///Sets the field bit
125126            #[inline(always)]
125127            pub fn set_bit(self) -> &'a mut W {
125128                self.bit(true)
125129            }
125130            ///Clears the field bit
125131            #[inline(always)]
125132            pub fn clear_bit(self) -> &'a mut W {
125133                self.bit(false)
125134            }
125135            ///Writes raw bits to the field
125136            #[inline(always)]
125137            pub fn bit(self, value: bool) -> &'a mut W {
125138                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
125139                self.w
125140            }
125141        }
125142        ///Reader of field `TAMPIE`
125143        pub type TAMPIE_R = crate::R<bool, bool>;
125144        ///Write proxy for field `TAMPIE`
125145        pub struct TAMPIE_W<'a> {
125146            w: &'a mut W,
125147        }
125148        impl<'a> TAMPIE_W<'a> {
125149            ///Sets the field bit
125150            #[inline(always)]
125151            pub fn set_bit(self) -> &'a mut W {
125152                self.bit(true)
125153            }
125154            ///Clears the field bit
125155            #[inline(always)]
125156            pub fn clear_bit(self) -> &'a mut W {
125157                self.bit(false)
125158            }
125159            ///Writes raw bits to the field
125160            #[inline(always)]
125161            pub fn bit(self, value: bool) -> &'a mut W {
125162                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
125163                self.w
125164            }
125165        }
125166        ///Reader of field `TAMP2E`
125167        pub type TAMP2E_R = crate::R<bool, bool>;
125168        ///Write proxy for field `TAMP2E`
125169        pub struct TAMP2E_W<'a> {
125170            w: &'a mut W,
125171        }
125172        impl<'a> TAMP2E_W<'a> {
125173            ///Sets the field bit
125174            #[inline(always)]
125175            pub fn set_bit(self) -> &'a mut W {
125176                self.bit(true)
125177            }
125178            ///Clears the field bit
125179            #[inline(always)]
125180            pub fn clear_bit(self) -> &'a mut W {
125181                self.bit(false)
125182            }
125183            ///Writes raw bits to the field
125184            #[inline(always)]
125185            pub fn bit(self, value: bool) -> &'a mut W {
125186                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
125187                self.w
125188            }
125189        }
125190        ///Reader of field `TAMP2TRG`
125191        pub type TAMP2TRG_R = crate::R<bool, bool>;
125192        ///Write proxy for field `TAMP2TRG`
125193        pub struct TAMP2TRG_W<'a> {
125194            w: &'a mut W,
125195        }
125196        impl<'a> TAMP2TRG_W<'a> {
125197            ///Sets the field bit
125198            #[inline(always)]
125199            pub fn set_bit(self) -> &'a mut W {
125200                self.bit(true)
125201            }
125202            ///Clears the field bit
125203            #[inline(always)]
125204            pub fn clear_bit(self) -> &'a mut W {
125205                self.bit(false)
125206            }
125207            ///Writes raw bits to the field
125208            #[inline(always)]
125209            pub fn bit(self, value: bool) -> &'a mut W {
125210                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
125211                self.w
125212            }
125213        }
125214        ///Reader of field `TAMP3E`
125215        pub type TAMP3E_R = crate::R<bool, bool>;
125216        ///Write proxy for field `TAMP3E`
125217        pub struct TAMP3E_W<'a> {
125218            w: &'a mut W,
125219        }
125220        impl<'a> TAMP3E_W<'a> {
125221            ///Sets the field bit
125222            #[inline(always)]
125223            pub fn set_bit(self) -> &'a mut W {
125224                self.bit(true)
125225            }
125226            ///Clears the field bit
125227            #[inline(always)]
125228            pub fn clear_bit(self) -> &'a mut W {
125229                self.bit(false)
125230            }
125231            ///Writes raw bits to the field
125232            #[inline(always)]
125233            pub fn bit(self, value: bool) -> &'a mut W {
125234                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
125235                self.w
125236            }
125237        }
125238        ///Reader of field `TAMP3TRG`
125239        pub type TAMP3TRG_R = crate::R<bool, bool>;
125240        ///Write proxy for field `TAMP3TRG`
125241        pub struct TAMP3TRG_W<'a> {
125242            w: &'a mut W,
125243        }
125244        impl<'a> TAMP3TRG_W<'a> {
125245            ///Sets the field bit
125246            #[inline(always)]
125247            pub fn set_bit(self) -> &'a mut W {
125248                self.bit(true)
125249            }
125250            ///Clears the field bit
125251            #[inline(always)]
125252            pub fn clear_bit(self) -> &'a mut W {
125253                self.bit(false)
125254            }
125255            ///Writes raw bits to the field
125256            #[inline(always)]
125257            pub fn bit(self, value: bool) -> &'a mut W {
125258                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
125259                self.w
125260            }
125261        }
125262        ///Reader of field `TAMPTS`
125263        pub type TAMPTS_R = crate::R<bool, bool>;
125264        ///Write proxy for field `TAMPTS`
125265        pub struct TAMPTS_W<'a> {
125266            w: &'a mut W,
125267        }
125268        impl<'a> TAMPTS_W<'a> {
125269            ///Sets the field bit
125270            #[inline(always)]
125271            pub fn set_bit(self) -> &'a mut W {
125272                self.bit(true)
125273            }
125274            ///Clears the field bit
125275            #[inline(always)]
125276            pub fn clear_bit(self) -> &'a mut W {
125277                self.bit(false)
125278            }
125279            ///Writes raw bits to the field
125280            #[inline(always)]
125281            pub fn bit(self, value: bool) -> &'a mut W {
125282                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
125283                self.w
125284            }
125285        }
125286        ///Reader of field `TAMPFREQ`
125287        pub type TAMPFREQ_R = crate::R<u8, u8>;
125288        ///Write proxy for field `TAMPFREQ`
125289        pub struct TAMPFREQ_W<'a> {
125290            w: &'a mut W,
125291        }
125292        impl<'a> TAMPFREQ_W<'a> {
125293            ///Writes raw bits to the field
125294            #[inline(always)]
125295            pub unsafe fn bits(self, value: u8) -> &'a mut W {
125296                self.w.bits = (self.w.bits & !(0x07 << 8)) | (((value as u32) & 0x07) << 8);
125297                self.w
125298            }
125299        }
125300        ///Reader of field `TAMPFLT`
125301        pub type TAMPFLT_R = crate::R<u8, u8>;
125302        ///Write proxy for field `TAMPFLT`
125303        pub struct TAMPFLT_W<'a> {
125304            w: &'a mut W,
125305        }
125306        impl<'a> TAMPFLT_W<'a> {
125307            ///Writes raw bits to the field
125308            #[inline(always)]
125309            pub unsafe fn bits(self, value: u8) -> &'a mut W {
125310                self.w.bits = (self.w.bits & !(0x03 << 11)) | (((value as u32) & 0x03) << 11);
125311                self.w
125312            }
125313        }
125314        ///Reader of field `TAMPPRCH`
125315        pub type TAMPPRCH_R = crate::R<u8, u8>;
125316        ///Write proxy for field `TAMPPRCH`
125317        pub struct TAMPPRCH_W<'a> {
125318            w: &'a mut W,
125319        }
125320        impl<'a> TAMPPRCH_W<'a> {
125321            ///Writes raw bits to the field
125322            #[inline(always)]
125323            pub unsafe fn bits(self, value: u8) -> &'a mut W {
125324                self.w.bits = (self.w.bits & !(0x03 << 13)) | (((value as u32) & 0x03) << 13);
125325                self.w
125326            }
125327        }
125328        ///Reader of field `TAMPPUDIS`
125329        pub type TAMPPUDIS_R = crate::R<bool, bool>;
125330        ///Write proxy for field `TAMPPUDIS`
125331        pub struct TAMPPUDIS_W<'a> {
125332            w: &'a mut W,
125333        }
125334        impl<'a> TAMPPUDIS_W<'a> {
125335            ///Sets the field bit
125336            #[inline(always)]
125337            pub fn set_bit(self) -> &'a mut W {
125338                self.bit(true)
125339            }
125340            ///Clears the field bit
125341            #[inline(always)]
125342            pub fn clear_bit(self) -> &'a mut W {
125343                self.bit(false)
125344            }
125345            ///Writes raw bits to the field
125346            #[inline(always)]
125347            pub fn bit(self, value: bool) -> &'a mut W {
125348                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
125349                self.w
125350            }
125351        }
125352        ///Reader of field `TAMP1IE`
125353        pub type TAMP1IE_R = crate::R<bool, bool>;
125354        ///Write proxy for field `TAMP1IE`
125355        pub struct TAMP1IE_W<'a> {
125356            w: &'a mut W,
125357        }
125358        impl<'a> TAMP1IE_W<'a> {
125359            ///Sets the field bit
125360            #[inline(always)]
125361            pub fn set_bit(self) -> &'a mut W {
125362                self.bit(true)
125363            }
125364            ///Clears the field bit
125365            #[inline(always)]
125366            pub fn clear_bit(self) -> &'a mut W {
125367                self.bit(false)
125368            }
125369            ///Writes raw bits to the field
125370            #[inline(always)]
125371            pub fn bit(self, value: bool) -> &'a mut W {
125372                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
125373                self.w
125374            }
125375        }
125376        ///Reader of field `TAMP1NOERASE`
125377        pub type TAMP1NOERASE_R = crate::R<bool, bool>;
125378        ///Write proxy for field `TAMP1NOERASE`
125379        pub struct TAMP1NOERASE_W<'a> {
125380            w: &'a mut W,
125381        }
125382        impl<'a> TAMP1NOERASE_W<'a> {
125383            ///Sets the field bit
125384            #[inline(always)]
125385            pub fn set_bit(self) -> &'a mut W {
125386                self.bit(true)
125387            }
125388            ///Clears the field bit
125389            #[inline(always)]
125390            pub fn clear_bit(self) -> &'a mut W {
125391                self.bit(false)
125392            }
125393            ///Writes raw bits to the field
125394            #[inline(always)]
125395            pub fn bit(self, value: bool) -> &'a mut W {
125396                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
125397                self.w
125398            }
125399        }
125400        ///Reader of field `TAMP1MF`
125401        pub type TAMP1MF_R = crate::R<bool, bool>;
125402        ///Write proxy for field `TAMP1MF`
125403        pub struct TAMP1MF_W<'a> {
125404            w: &'a mut W,
125405        }
125406        impl<'a> TAMP1MF_W<'a> {
125407            ///Sets the field bit
125408            #[inline(always)]
125409            pub fn set_bit(self) -> &'a mut W {
125410                self.bit(true)
125411            }
125412            ///Clears the field bit
125413            #[inline(always)]
125414            pub fn clear_bit(self) -> &'a mut W {
125415                self.bit(false)
125416            }
125417            ///Writes raw bits to the field
125418            #[inline(always)]
125419            pub fn bit(self, value: bool) -> &'a mut W {
125420                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
125421                self.w
125422            }
125423        }
125424        ///Reader of field `TAMP2IE`
125425        pub type TAMP2IE_R = crate::R<bool, bool>;
125426        ///Write proxy for field `TAMP2IE`
125427        pub struct TAMP2IE_W<'a> {
125428            w: &'a mut W,
125429        }
125430        impl<'a> TAMP2IE_W<'a> {
125431            ///Sets the field bit
125432            #[inline(always)]
125433            pub fn set_bit(self) -> &'a mut W {
125434                self.bit(true)
125435            }
125436            ///Clears the field bit
125437            #[inline(always)]
125438            pub fn clear_bit(self) -> &'a mut W {
125439                self.bit(false)
125440            }
125441            ///Writes raw bits to the field
125442            #[inline(always)]
125443            pub fn bit(self, value: bool) -> &'a mut W {
125444                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
125445                self.w
125446            }
125447        }
125448        ///Reader of field `TAMP2NOERASE`
125449        pub type TAMP2NOERASE_R = crate::R<bool, bool>;
125450        ///Write proxy for field `TAMP2NOERASE`
125451        pub struct TAMP2NOERASE_W<'a> {
125452            w: &'a mut W,
125453        }
125454        impl<'a> TAMP2NOERASE_W<'a> {
125455            ///Sets the field bit
125456            #[inline(always)]
125457            pub fn set_bit(self) -> &'a mut W {
125458                self.bit(true)
125459            }
125460            ///Clears the field bit
125461            #[inline(always)]
125462            pub fn clear_bit(self) -> &'a mut W {
125463                self.bit(false)
125464            }
125465            ///Writes raw bits to the field
125466            #[inline(always)]
125467            pub fn bit(self, value: bool) -> &'a mut W {
125468                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
125469                self.w
125470            }
125471        }
125472        ///Reader of field `TAMP2MF`
125473        pub type TAMP2MF_R = crate::R<bool, bool>;
125474        ///Write proxy for field `TAMP2MF`
125475        pub struct TAMP2MF_W<'a> {
125476            w: &'a mut W,
125477        }
125478        impl<'a> TAMP2MF_W<'a> {
125479            ///Sets the field bit
125480            #[inline(always)]
125481            pub fn set_bit(self) -> &'a mut W {
125482                self.bit(true)
125483            }
125484            ///Clears the field bit
125485            #[inline(always)]
125486            pub fn clear_bit(self) -> &'a mut W {
125487                self.bit(false)
125488            }
125489            ///Writes raw bits to the field
125490            #[inline(always)]
125491            pub fn bit(self, value: bool) -> &'a mut W {
125492                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
125493                self.w
125494            }
125495        }
125496        ///Reader of field `TAMP3IE`
125497        pub type TAMP3IE_R = crate::R<bool, bool>;
125498        ///Write proxy for field `TAMP3IE`
125499        pub struct TAMP3IE_W<'a> {
125500            w: &'a mut W,
125501        }
125502        impl<'a> TAMP3IE_W<'a> {
125503            ///Sets the field bit
125504            #[inline(always)]
125505            pub fn set_bit(self) -> &'a mut W {
125506                self.bit(true)
125507            }
125508            ///Clears the field bit
125509            #[inline(always)]
125510            pub fn clear_bit(self) -> &'a mut W {
125511                self.bit(false)
125512            }
125513            ///Writes raw bits to the field
125514            #[inline(always)]
125515            pub fn bit(self, value: bool) -> &'a mut W {
125516                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
125517                self.w
125518            }
125519        }
125520        ///Reader of field `TAMP3NOERASE`
125521        pub type TAMP3NOERASE_R = crate::R<bool, bool>;
125522        ///Write proxy for field `TAMP3NOERASE`
125523        pub struct TAMP3NOERASE_W<'a> {
125524            w: &'a mut W,
125525        }
125526        impl<'a> TAMP3NOERASE_W<'a> {
125527            ///Sets the field bit
125528            #[inline(always)]
125529            pub fn set_bit(self) -> &'a mut W {
125530                self.bit(true)
125531            }
125532            ///Clears the field bit
125533            #[inline(always)]
125534            pub fn clear_bit(self) -> &'a mut W {
125535                self.bit(false)
125536            }
125537            ///Writes raw bits to the field
125538            #[inline(always)]
125539            pub fn bit(self, value: bool) -> &'a mut W {
125540                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
125541                self.w
125542            }
125543        }
125544        ///Reader of field `TAMP3MF`
125545        pub type TAMP3MF_R = crate::R<bool, bool>;
125546        ///Write proxy for field `TAMP3MF`
125547        pub struct TAMP3MF_W<'a> {
125548            w: &'a mut W,
125549        }
125550        impl<'a> TAMP3MF_W<'a> {
125551            ///Sets the field bit
125552            #[inline(always)]
125553            pub fn set_bit(self) -> &'a mut W {
125554                self.bit(true)
125555            }
125556            ///Clears the field bit
125557            #[inline(always)]
125558            pub fn clear_bit(self) -> &'a mut W {
125559                self.bit(false)
125560            }
125561            ///Writes raw bits to the field
125562            #[inline(always)]
125563            pub fn bit(self, value: bool) -> &'a mut W {
125564                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
125565                self.w
125566            }
125567        }
125568        impl R {
125569            ///Bit 0 - Tamper 1 detection enable
125570            #[inline(always)]
125571            pub fn tamp1e(&self) -> TAMP1E_R {
125572                TAMP1E_R::new((self.bits & 0x01) != 0)
125573            }
125574            ///Bit 1 - Active level for tamper 1
125575            #[inline(always)]
125576            pub fn tamp1trg(&self) -> TAMP1TRG_R {
125577                TAMP1TRG_R::new(((self.bits >> 1) & 0x01) != 0)
125578            }
125579            ///Bit 2 - Tamper interrupt enable
125580            #[inline(always)]
125581            pub fn tampie(&self) -> TAMPIE_R {
125582                TAMPIE_R::new(((self.bits >> 2) & 0x01) != 0)
125583            }
125584            ///Bit 3 - Tamper 2 detection enable
125585            #[inline(always)]
125586            pub fn tamp2e(&self) -> TAMP2E_R {
125587                TAMP2E_R::new(((self.bits >> 3) & 0x01) != 0)
125588            }
125589            ///Bit 4 - Active level for tamper 2
125590            #[inline(always)]
125591            pub fn tamp2trg(&self) -> TAMP2TRG_R {
125592                TAMP2TRG_R::new(((self.bits >> 4) & 0x01) != 0)
125593            }
125594            ///Bit 5 - Tamper 3 detection enable
125595            #[inline(always)]
125596            pub fn tamp3e(&self) -> TAMP3E_R {
125597                TAMP3E_R::new(((self.bits >> 5) & 0x01) != 0)
125598            }
125599            ///Bit 6 - Active level for tamper 3
125600            #[inline(always)]
125601            pub fn tamp3trg(&self) -> TAMP3TRG_R {
125602                TAMP3TRG_R::new(((self.bits >> 6) & 0x01) != 0)
125603            }
125604            ///Bit 7 - Activate timestamp on tamper detection event
125605            #[inline(always)]
125606            pub fn tampts(&self) -> TAMPTS_R {
125607                TAMPTS_R::new(((self.bits >> 7) & 0x01) != 0)
125608            }
125609            ///Bits 8:10 - Tamper sampling frequency
125610            #[inline(always)]
125611            pub fn tampfreq(&self) -> TAMPFREQ_R {
125612                TAMPFREQ_R::new(((self.bits >> 8) & 0x07) as u8)
125613            }
125614            ///Bits 11:12 - Tamper filter count
125615            #[inline(always)]
125616            pub fn tampflt(&self) -> TAMPFLT_R {
125617                TAMPFLT_R::new(((self.bits >> 11) & 0x03) as u8)
125618            }
125619            ///Bits 13:14 - Tamper precharge duration
125620            #[inline(always)]
125621            pub fn tampprch(&self) -> TAMPPRCH_R {
125622                TAMPPRCH_R::new(((self.bits >> 13) & 0x03) as u8)
125623            }
125624            ///Bit 15 - TAMPER pull-up disable
125625            #[inline(always)]
125626            pub fn tamppudis(&self) -> TAMPPUDIS_R {
125627                TAMPPUDIS_R::new(((self.bits >> 15) & 0x01) != 0)
125628            }
125629            ///Bit 16 - Tamper 1 interrupt enable
125630            #[inline(always)]
125631            pub fn tamp1ie(&self) -> TAMP1IE_R {
125632                TAMP1IE_R::new(((self.bits >> 16) & 0x01) != 0)
125633            }
125634            ///Bit 17 - Tamper 1 no erase
125635            #[inline(always)]
125636            pub fn tamp1noerase(&self) -> TAMP1NOERASE_R {
125637                TAMP1NOERASE_R::new(((self.bits >> 17) & 0x01) != 0)
125638            }
125639            ///Bit 18 - Tamper 1 mask flag
125640            #[inline(always)]
125641            pub fn tamp1mf(&self) -> TAMP1MF_R {
125642                TAMP1MF_R::new(((self.bits >> 18) & 0x01) != 0)
125643            }
125644            ///Bit 19 - Tamper 2 interrupt enable
125645            #[inline(always)]
125646            pub fn tamp2ie(&self) -> TAMP2IE_R {
125647                TAMP2IE_R::new(((self.bits >> 19) & 0x01) != 0)
125648            }
125649            ///Bit 20 - Tamper 2 no erase
125650            #[inline(always)]
125651            pub fn tamp2noerase(&self) -> TAMP2NOERASE_R {
125652                TAMP2NOERASE_R::new(((self.bits >> 20) & 0x01) != 0)
125653            }
125654            ///Bit 21 - Tamper 2 mask flag
125655            #[inline(always)]
125656            pub fn tamp2mf(&self) -> TAMP2MF_R {
125657                TAMP2MF_R::new(((self.bits >> 21) & 0x01) != 0)
125658            }
125659            ///Bit 22 - Tamper 3 interrupt enable
125660            #[inline(always)]
125661            pub fn tamp3ie(&self) -> TAMP3IE_R {
125662                TAMP3IE_R::new(((self.bits >> 22) & 0x01) != 0)
125663            }
125664            ///Bit 23 - Tamper 3 no erase
125665            #[inline(always)]
125666            pub fn tamp3noerase(&self) -> TAMP3NOERASE_R {
125667                TAMP3NOERASE_R::new(((self.bits >> 23) & 0x01) != 0)
125668            }
125669            ///Bit 24 - Tamper 3 mask flag
125670            #[inline(always)]
125671            pub fn tamp3mf(&self) -> TAMP3MF_R {
125672                TAMP3MF_R::new(((self.bits >> 24) & 0x01) != 0)
125673            }
125674        }
125675        impl W {
125676            ///Bit 0 - Tamper 1 detection enable
125677            #[inline(always)]
125678            pub fn tamp1e(&mut self) -> TAMP1E_W {
125679                TAMP1E_W { w: self }
125680            }
125681            ///Bit 1 - Active level for tamper 1
125682            #[inline(always)]
125683            pub fn tamp1trg(&mut self) -> TAMP1TRG_W {
125684                TAMP1TRG_W { w: self }
125685            }
125686            ///Bit 2 - Tamper interrupt enable
125687            #[inline(always)]
125688            pub fn tampie(&mut self) -> TAMPIE_W {
125689                TAMPIE_W { w: self }
125690            }
125691            ///Bit 3 - Tamper 2 detection enable
125692            #[inline(always)]
125693            pub fn tamp2e(&mut self) -> TAMP2E_W {
125694                TAMP2E_W { w: self }
125695            }
125696            ///Bit 4 - Active level for tamper 2
125697            #[inline(always)]
125698            pub fn tamp2trg(&mut self) -> TAMP2TRG_W {
125699                TAMP2TRG_W { w: self }
125700            }
125701            ///Bit 5 - Tamper 3 detection enable
125702            #[inline(always)]
125703            pub fn tamp3e(&mut self) -> TAMP3E_W {
125704                TAMP3E_W { w: self }
125705            }
125706            ///Bit 6 - Active level for tamper 3
125707            #[inline(always)]
125708            pub fn tamp3trg(&mut self) -> TAMP3TRG_W {
125709                TAMP3TRG_W { w: self }
125710            }
125711            ///Bit 7 - Activate timestamp on tamper detection event
125712            #[inline(always)]
125713            pub fn tampts(&mut self) -> TAMPTS_W {
125714                TAMPTS_W { w: self }
125715            }
125716            ///Bits 8:10 - Tamper sampling frequency
125717            #[inline(always)]
125718            pub fn tampfreq(&mut self) -> TAMPFREQ_W {
125719                TAMPFREQ_W { w: self }
125720            }
125721            ///Bits 11:12 - Tamper filter count
125722            #[inline(always)]
125723            pub fn tampflt(&mut self) -> TAMPFLT_W {
125724                TAMPFLT_W { w: self }
125725            }
125726            ///Bits 13:14 - Tamper precharge duration
125727            #[inline(always)]
125728            pub fn tampprch(&mut self) -> TAMPPRCH_W {
125729                TAMPPRCH_W { w: self }
125730            }
125731            ///Bit 15 - TAMPER pull-up disable
125732            #[inline(always)]
125733            pub fn tamppudis(&mut self) -> TAMPPUDIS_W {
125734                TAMPPUDIS_W { w: self }
125735            }
125736            ///Bit 16 - Tamper 1 interrupt enable
125737            #[inline(always)]
125738            pub fn tamp1ie(&mut self) -> TAMP1IE_W {
125739                TAMP1IE_W { w: self }
125740            }
125741            ///Bit 17 - Tamper 1 no erase
125742            #[inline(always)]
125743            pub fn tamp1noerase(&mut self) -> TAMP1NOERASE_W {
125744                TAMP1NOERASE_W { w: self }
125745            }
125746            ///Bit 18 - Tamper 1 mask flag
125747            #[inline(always)]
125748            pub fn tamp1mf(&mut self) -> TAMP1MF_W {
125749                TAMP1MF_W { w: self }
125750            }
125751            ///Bit 19 - Tamper 2 interrupt enable
125752            #[inline(always)]
125753            pub fn tamp2ie(&mut self) -> TAMP2IE_W {
125754                TAMP2IE_W { w: self }
125755            }
125756            ///Bit 20 - Tamper 2 no erase
125757            #[inline(always)]
125758            pub fn tamp2noerase(&mut self) -> TAMP2NOERASE_W {
125759                TAMP2NOERASE_W { w: self }
125760            }
125761            ///Bit 21 - Tamper 2 mask flag
125762            #[inline(always)]
125763            pub fn tamp2mf(&mut self) -> TAMP2MF_W {
125764                TAMP2MF_W { w: self }
125765            }
125766            ///Bit 22 - Tamper 3 interrupt enable
125767            #[inline(always)]
125768            pub fn tamp3ie(&mut self) -> TAMP3IE_W {
125769                TAMP3IE_W { w: self }
125770            }
125771            ///Bit 23 - Tamper 3 no erase
125772            #[inline(always)]
125773            pub fn tamp3noerase(&mut self) -> TAMP3NOERASE_W {
125774                TAMP3NOERASE_W { w: self }
125775            }
125776            ///Bit 24 - Tamper 3 mask flag
125777            #[inline(always)]
125778            pub fn tamp3mf(&mut self) -> TAMP3MF_W {
125779                TAMP3MF_W { w: self }
125780            }
125781        }
125782    }
125783    ///alarm A sub second register
125784    ///
125785    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
125786    ///
125787    ///For information about available fields see [alrmassr](alrmassr) module
125788    pub type ALRMASSR = crate::Reg<u32, _ALRMASSR>;
125789    #[allow(missing_docs)]
125790    #[doc(hidden)]
125791    pub struct _ALRMASSR;
125792    ///`read()` method returns [alrmassr::R](alrmassr::R) reader structure
125793    impl crate::Readable for ALRMASSR {}
125794    ///`write(|w| ..)` method takes [alrmassr::W](alrmassr::W) writer structure
125795    impl crate::Writable for ALRMASSR {}
125796    ///alarm A sub second register
125797    pub mod alrmassr {
125798        ///Reader of register ALRMASSR
125799        pub type R = crate::R<u32, super::ALRMASSR>;
125800        ///Writer for register ALRMASSR
125801        pub type W = crate::W<u32, super::ALRMASSR>;
125802        ///Register ALRMASSR `reset()`'s with value 0
125803        impl crate::ResetValue for super::ALRMASSR {
125804            type Type = u32;
125805            #[inline(always)]
125806            fn reset_value() -> Self::Type {
125807                0
125808            }
125809        }
125810        ///Reader of field `MASKSS`
125811        pub type MASKSS_R = crate::R<u8, u8>;
125812        ///Write proxy for field `MASKSS`
125813        pub struct MASKSS_W<'a> {
125814            w: &'a mut W,
125815        }
125816        impl<'a> MASKSS_W<'a> {
125817            ///Writes raw bits to the field
125818            #[inline(always)]
125819            pub unsafe fn bits(self, value: u8) -> &'a mut W {
125820                self.w.bits = (self.w.bits & !(0x0f << 24)) | (((value as u32) & 0x0f) << 24);
125821                self.w
125822            }
125823        }
125824        ///Reader of field `SS`
125825        pub type SS_R = crate::R<u16, u16>;
125826        ///Write proxy for field `SS`
125827        pub struct SS_W<'a> {
125828            w: &'a mut W,
125829        }
125830        impl<'a> SS_W<'a> {
125831            ///Writes raw bits to the field
125832            #[inline(always)]
125833            pub unsafe fn bits(self, value: u16) -> &'a mut W {
125834                self.w.bits = (self.w.bits & !0x7fff) | ((value as u32) & 0x7fff);
125835                self.w
125836            }
125837        }
125838        impl R {
125839            ///Bits 24:27 - Mask the most-significant bits starting at this bit
125840            #[inline(always)]
125841            pub fn maskss(&self) -> MASKSS_R {
125842                MASKSS_R::new(((self.bits >> 24) & 0x0f) as u8)
125843            }
125844            ///Bits 0:14 - Sub seconds value
125845            #[inline(always)]
125846            pub fn ss(&self) -> SS_R {
125847                SS_R::new((self.bits & 0x7fff) as u16)
125848            }
125849        }
125850        impl W {
125851            ///Bits 24:27 - Mask the most-significant bits starting at this bit
125852            #[inline(always)]
125853            pub fn maskss(&mut self) -> MASKSS_W {
125854                MASKSS_W { w: self }
125855            }
125856            ///Bits 0:14 - Sub seconds value
125857            #[inline(always)]
125858            pub fn ss(&mut self) -> SS_W {
125859                SS_W { w: self }
125860            }
125861        }
125862    }
125863    ///alarm B sub second register
125864    ///
125865    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
125866    ///
125867    ///For information about available fields see [alrmbssr](alrmbssr) module
125868    pub type ALRMBSSR = crate::Reg<u32, _ALRMBSSR>;
125869    #[allow(missing_docs)]
125870    #[doc(hidden)]
125871    pub struct _ALRMBSSR;
125872    ///`read()` method returns [alrmbssr::R](alrmbssr::R) reader structure
125873    impl crate::Readable for ALRMBSSR {}
125874    ///`write(|w| ..)` method takes [alrmbssr::W](alrmbssr::W) writer structure
125875    impl crate::Writable for ALRMBSSR {}
125876    ///alarm B sub second register
125877    pub mod alrmbssr {
125878        ///Reader of register ALRMBSSR
125879        pub type R = crate::R<u32, super::ALRMBSSR>;
125880        ///Writer for register ALRMBSSR
125881        pub type W = crate::W<u32, super::ALRMBSSR>;
125882        ///Register ALRMBSSR `reset()`'s with value 0
125883        impl crate::ResetValue for super::ALRMBSSR {
125884            type Type = u32;
125885            #[inline(always)]
125886            fn reset_value() -> Self::Type {
125887                0
125888            }
125889        }
125890        ///Reader of field `MASKSS`
125891        pub type MASKSS_R = crate::R<u8, u8>;
125892        ///Write proxy for field `MASKSS`
125893        pub struct MASKSS_W<'a> {
125894            w: &'a mut W,
125895        }
125896        impl<'a> MASKSS_W<'a> {
125897            ///Writes raw bits to the field
125898            #[inline(always)]
125899            pub unsafe fn bits(self, value: u8) -> &'a mut W {
125900                self.w.bits = (self.w.bits & !(0x0f << 24)) | (((value as u32) & 0x0f) << 24);
125901                self.w
125902            }
125903        }
125904        ///Reader of field `SS`
125905        pub type SS_R = crate::R<u16, u16>;
125906        ///Write proxy for field `SS`
125907        pub struct SS_W<'a> {
125908            w: &'a mut W,
125909        }
125910        impl<'a> SS_W<'a> {
125911            ///Writes raw bits to the field
125912            #[inline(always)]
125913            pub unsafe fn bits(self, value: u16) -> &'a mut W {
125914                self.w.bits = (self.w.bits & !0x7fff) | ((value as u32) & 0x7fff);
125915                self.w
125916            }
125917        }
125918        impl R {
125919            ///Bits 24:27 - Mask the most-significant bits starting at this bit
125920            #[inline(always)]
125921            pub fn maskss(&self) -> MASKSS_R {
125922                MASKSS_R::new(((self.bits >> 24) & 0x0f) as u8)
125923            }
125924            ///Bits 0:14 - Sub seconds value
125925            #[inline(always)]
125926            pub fn ss(&self) -> SS_R {
125927                SS_R::new((self.bits & 0x7fff) as u16)
125928            }
125929        }
125930        impl W {
125931            ///Bits 24:27 - Mask the most-significant bits starting at this bit
125932            #[inline(always)]
125933            pub fn maskss(&mut self) -> MASKSS_W {
125934                MASKSS_W { w: self }
125935            }
125936            ///Bits 0:14 - Sub seconds value
125937            #[inline(always)]
125938            pub fn ss(&mut self) -> SS_W {
125939                SS_W { w: self }
125940            }
125941        }
125942    }
125943    ///option register
125944    ///
125945    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
125946    ///
125947    ///For information about available fields see [or](or) module
125948    pub type OR = crate::Reg<u32, _OR>;
125949    #[allow(missing_docs)]
125950    #[doc(hidden)]
125951    pub struct _OR;
125952    ///`read()` method returns [or::R](or::R) reader structure
125953    impl crate::Readable for OR {}
125954    ///`write(|w| ..)` method takes [or::W](or::W) writer structure
125955    impl crate::Writable for OR {}
125956    ///option register
125957    pub mod or {
125958        ///Reader of register OR
125959        pub type R = crate::R<u32, super::OR>;
125960        ///Writer for register OR
125961        pub type W = crate::W<u32, super::OR>;
125962        ///Register OR `reset()`'s with value 0
125963        impl crate::ResetValue for super::OR {
125964            type Type = u32;
125965            #[inline(always)]
125966            fn reset_value() -> Self::Type {
125967                0
125968            }
125969        }
125970        ///Reader of field `RTC_ALARM_TYPE`
125971        pub type RTC_ALARM_TYPE_R = crate::R<bool, bool>;
125972        ///Write proxy for field `RTC_ALARM_TYPE`
125973        pub struct RTC_ALARM_TYPE_W<'a> {
125974            w: &'a mut W,
125975        }
125976        impl<'a> RTC_ALARM_TYPE_W<'a> {
125977            ///Sets the field bit
125978            #[inline(always)]
125979            pub fn set_bit(self) -> &'a mut W {
125980                self.bit(true)
125981            }
125982            ///Clears the field bit
125983            #[inline(always)]
125984            pub fn clear_bit(self) -> &'a mut W {
125985                self.bit(false)
125986            }
125987            ///Writes raw bits to the field
125988            #[inline(always)]
125989            pub fn bit(self, value: bool) -> &'a mut W {
125990                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
125991                self.w
125992            }
125993        }
125994        ///Reader of field `RTC_OUT_RMP`
125995        pub type RTC_OUT_RMP_R = crate::R<bool, bool>;
125996        ///Write proxy for field `RTC_OUT_RMP`
125997        pub struct RTC_OUT_RMP_W<'a> {
125998            w: &'a mut W,
125999        }
126000        impl<'a> RTC_OUT_RMP_W<'a> {
126001            ///Sets the field bit
126002            #[inline(always)]
126003            pub fn set_bit(self) -> &'a mut W {
126004                self.bit(true)
126005            }
126006            ///Clears the field bit
126007            #[inline(always)]
126008            pub fn clear_bit(self) -> &'a mut W {
126009                self.bit(false)
126010            }
126011            ///Writes raw bits to the field
126012            #[inline(always)]
126013            pub fn bit(self, value: bool) -> &'a mut W {
126014                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
126015                self.w
126016            }
126017        }
126018        impl R {
126019            ///Bit 0 - RTC_ALARM on PC13 output type
126020            #[inline(always)]
126021            pub fn rtc_alarm_type(&self) -> RTC_ALARM_TYPE_R {
126022                RTC_ALARM_TYPE_R::new((self.bits & 0x01) != 0)
126023            }
126024            ///Bit 1 - RTC_OUT remap
126025            #[inline(always)]
126026            pub fn rtc_out_rmp(&self) -> RTC_OUT_RMP_R {
126027                RTC_OUT_RMP_R::new(((self.bits >> 1) & 0x01) != 0)
126028            }
126029        }
126030        impl W {
126031            ///Bit 0 - RTC_ALARM on PC13 output type
126032            #[inline(always)]
126033            pub fn rtc_alarm_type(&mut self) -> RTC_ALARM_TYPE_W {
126034                RTC_ALARM_TYPE_W { w: self }
126035            }
126036            ///Bit 1 - RTC_OUT remap
126037            #[inline(always)]
126038            pub fn rtc_out_rmp(&mut self) -> RTC_OUT_RMP_W {
126039                RTC_OUT_RMP_W { w: self }
126040            }
126041        }
126042    }
126043    ///backup register
126044    ///
126045    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126046    ///
126047    ///For information about available fields see [bkp0r](bkp0r) module
126048    pub type BKP0R = crate::Reg<u32, _BKP0R>;
126049    #[allow(missing_docs)]
126050    #[doc(hidden)]
126051    pub struct _BKP0R;
126052    ///`read()` method returns [bkp0r::R](bkp0r::R) reader structure
126053    impl crate::Readable for BKP0R {}
126054    ///`write(|w| ..)` method takes [bkp0r::W](bkp0r::W) writer structure
126055    impl crate::Writable for BKP0R {}
126056    ///backup register
126057    pub mod bkp0r {
126058        ///Reader of register BKP0R
126059        pub type R = crate::R<u32, super::BKP0R>;
126060        ///Writer for register BKP0R
126061        pub type W = crate::W<u32, super::BKP0R>;
126062        ///Register BKP0R `reset()`'s with value 0
126063        impl crate::ResetValue for super::BKP0R {
126064            type Type = u32;
126065            #[inline(always)]
126066            fn reset_value() -> Self::Type {
126067                0
126068            }
126069        }
126070        ///Reader of field `BKP`
126071        pub type BKP_R = crate::R<u32, u32>;
126072        ///Write proxy for field `BKP`
126073        pub struct BKP_W<'a> {
126074            w: &'a mut W,
126075        }
126076        impl<'a> BKP_W<'a> {
126077            ///Writes raw bits to the field
126078            #[inline(always)]
126079            pub unsafe fn bits(self, value: u32) -> &'a mut W {
126080                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
126081                self.w
126082            }
126083        }
126084        impl R {
126085            ///Bits 0:31 - BKP
126086            #[inline(always)]
126087            pub fn bkp(&self) -> BKP_R {
126088                BKP_R::new((self.bits & 0xffff_ffff) as u32)
126089            }
126090        }
126091        impl W {
126092            ///Bits 0:31 - BKP
126093            #[inline(always)]
126094            pub fn bkp(&mut self) -> BKP_W {
126095                BKP_W { w: self }
126096            }
126097        }
126098    }
126099    ///backup register
126100    ///
126101    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126102    ///
126103    ///For information about available fields see [bkp1r](bkp1r) module
126104    pub type BKP1R = crate::Reg<u32, _BKP1R>;
126105    #[allow(missing_docs)]
126106    #[doc(hidden)]
126107    pub struct _BKP1R;
126108    ///`read()` method returns [bkp1r::R](bkp1r::R) reader structure
126109    impl crate::Readable for BKP1R {}
126110    ///`write(|w| ..)` method takes [bkp1r::W](bkp1r::W) writer structure
126111    impl crate::Writable for BKP1R {}
126112    ///backup register
126113    pub mod bkp1r {
126114        ///Reader of register BKP1R
126115        pub type R = crate::R<u32, super::BKP1R>;
126116        ///Writer for register BKP1R
126117        pub type W = crate::W<u32, super::BKP1R>;
126118        ///Register BKP1R `reset()`'s with value 0
126119        impl crate::ResetValue for super::BKP1R {
126120            type Type = u32;
126121            #[inline(always)]
126122            fn reset_value() -> Self::Type {
126123                0
126124            }
126125        }
126126        ///Reader of field `BKP`
126127        pub type BKP_R = crate::R<u32, u32>;
126128        ///Write proxy for field `BKP`
126129        pub struct BKP_W<'a> {
126130            w: &'a mut W,
126131        }
126132        impl<'a> BKP_W<'a> {
126133            ///Writes raw bits to the field
126134            #[inline(always)]
126135            pub unsafe fn bits(self, value: u32) -> &'a mut W {
126136                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
126137                self.w
126138            }
126139        }
126140        impl R {
126141            ///Bits 0:31 - BKP
126142            #[inline(always)]
126143            pub fn bkp(&self) -> BKP_R {
126144                BKP_R::new((self.bits & 0xffff_ffff) as u32)
126145            }
126146        }
126147        impl W {
126148            ///Bits 0:31 - BKP
126149            #[inline(always)]
126150            pub fn bkp(&mut self) -> BKP_W {
126151                BKP_W { w: self }
126152            }
126153        }
126154    }
126155    ///backup register
126156    ///
126157    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126158    ///
126159    ///For information about available fields see [bkp2r](bkp2r) module
126160    pub type BKP2R = crate::Reg<u32, _BKP2R>;
126161    #[allow(missing_docs)]
126162    #[doc(hidden)]
126163    pub struct _BKP2R;
126164    ///`read()` method returns [bkp2r::R](bkp2r::R) reader structure
126165    impl crate::Readable for BKP2R {}
126166    ///`write(|w| ..)` method takes [bkp2r::W](bkp2r::W) writer structure
126167    impl crate::Writable for BKP2R {}
126168    ///backup register
126169    pub mod bkp2r {
126170        ///Reader of register BKP2R
126171        pub type R = crate::R<u32, super::BKP2R>;
126172        ///Writer for register BKP2R
126173        pub type W = crate::W<u32, super::BKP2R>;
126174        ///Register BKP2R `reset()`'s with value 0
126175        impl crate::ResetValue for super::BKP2R {
126176            type Type = u32;
126177            #[inline(always)]
126178            fn reset_value() -> Self::Type {
126179                0
126180            }
126181        }
126182        ///Reader of field `BKP`
126183        pub type BKP_R = crate::R<u32, u32>;
126184        ///Write proxy for field `BKP`
126185        pub struct BKP_W<'a> {
126186            w: &'a mut W,
126187        }
126188        impl<'a> BKP_W<'a> {
126189            ///Writes raw bits to the field
126190            #[inline(always)]
126191            pub unsafe fn bits(self, value: u32) -> &'a mut W {
126192                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
126193                self.w
126194            }
126195        }
126196        impl R {
126197            ///Bits 0:31 - BKP
126198            #[inline(always)]
126199            pub fn bkp(&self) -> BKP_R {
126200                BKP_R::new((self.bits & 0xffff_ffff) as u32)
126201            }
126202        }
126203        impl W {
126204            ///Bits 0:31 - BKP
126205            #[inline(always)]
126206            pub fn bkp(&mut self) -> BKP_W {
126207                BKP_W { w: self }
126208            }
126209        }
126210    }
126211    ///backup register
126212    ///
126213    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126214    ///
126215    ///For information about available fields see [bkp3r](bkp3r) module
126216    pub type BKP3R = crate::Reg<u32, _BKP3R>;
126217    #[allow(missing_docs)]
126218    #[doc(hidden)]
126219    pub struct _BKP3R;
126220    ///`read()` method returns [bkp3r::R](bkp3r::R) reader structure
126221    impl crate::Readable for BKP3R {}
126222    ///`write(|w| ..)` method takes [bkp3r::W](bkp3r::W) writer structure
126223    impl crate::Writable for BKP3R {}
126224    ///backup register
126225    pub mod bkp3r {
126226        ///Reader of register BKP3R
126227        pub type R = crate::R<u32, super::BKP3R>;
126228        ///Writer for register BKP3R
126229        pub type W = crate::W<u32, super::BKP3R>;
126230        ///Register BKP3R `reset()`'s with value 0
126231        impl crate::ResetValue for super::BKP3R {
126232            type Type = u32;
126233            #[inline(always)]
126234            fn reset_value() -> Self::Type {
126235                0
126236            }
126237        }
126238        ///Reader of field `BKP`
126239        pub type BKP_R = crate::R<u32, u32>;
126240        ///Write proxy for field `BKP`
126241        pub struct BKP_W<'a> {
126242            w: &'a mut W,
126243        }
126244        impl<'a> BKP_W<'a> {
126245            ///Writes raw bits to the field
126246            #[inline(always)]
126247            pub unsafe fn bits(self, value: u32) -> &'a mut W {
126248                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
126249                self.w
126250            }
126251        }
126252        impl R {
126253            ///Bits 0:31 - BKP
126254            #[inline(always)]
126255            pub fn bkp(&self) -> BKP_R {
126256                BKP_R::new((self.bits & 0xffff_ffff) as u32)
126257            }
126258        }
126259        impl W {
126260            ///Bits 0:31 - BKP
126261            #[inline(always)]
126262            pub fn bkp(&mut self) -> BKP_W {
126263                BKP_W { w: self }
126264            }
126265        }
126266    }
126267    ///backup register
126268    ///
126269    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126270    ///
126271    ///For information about available fields see [bkp4r](bkp4r) module
126272    pub type BKP4R = crate::Reg<u32, _BKP4R>;
126273    #[allow(missing_docs)]
126274    #[doc(hidden)]
126275    pub struct _BKP4R;
126276    ///`read()` method returns [bkp4r::R](bkp4r::R) reader structure
126277    impl crate::Readable for BKP4R {}
126278    ///`write(|w| ..)` method takes [bkp4r::W](bkp4r::W) writer structure
126279    impl crate::Writable for BKP4R {}
126280    ///backup register
126281    pub mod bkp4r {
126282        ///Reader of register BKP4R
126283        pub type R = crate::R<u32, super::BKP4R>;
126284        ///Writer for register BKP4R
126285        pub type W = crate::W<u32, super::BKP4R>;
126286        ///Register BKP4R `reset()`'s with value 0
126287        impl crate::ResetValue for super::BKP4R {
126288            type Type = u32;
126289            #[inline(always)]
126290            fn reset_value() -> Self::Type {
126291                0
126292            }
126293        }
126294        ///Reader of field `BKP`
126295        pub type BKP_R = crate::R<u32, u32>;
126296        ///Write proxy for field `BKP`
126297        pub struct BKP_W<'a> {
126298            w: &'a mut W,
126299        }
126300        impl<'a> BKP_W<'a> {
126301            ///Writes raw bits to the field
126302            #[inline(always)]
126303            pub unsafe fn bits(self, value: u32) -> &'a mut W {
126304                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
126305                self.w
126306            }
126307        }
126308        impl R {
126309            ///Bits 0:31 - BKP
126310            #[inline(always)]
126311            pub fn bkp(&self) -> BKP_R {
126312                BKP_R::new((self.bits & 0xffff_ffff) as u32)
126313            }
126314        }
126315        impl W {
126316            ///Bits 0:31 - BKP
126317            #[inline(always)]
126318            pub fn bkp(&mut self) -> BKP_W {
126319                BKP_W { w: self }
126320            }
126321        }
126322    }
126323    ///backup register
126324    ///
126325    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126326    ///
126327    ///For information about available fields see [bkp5r](bkp5r) module
126328    pub type BKP5R = crate::Reg<u32, _BKP5R>;
126329    #[allow(missing_docs)]
126330    #[doc(hidden)]
126331    pub struct _BKP5R;
126332    ///`read()` method returns [bkp5r::R](bkp5r::R) reader structure
126333    impl crate::Readable for BKP5R {}
126334    ///`write(|w| ..)` method takes [bkp5r::W](bkp5r::W) writer structure
126335    impl crate::Writable for BKP5R {}
126336    ///backup register
126337    pub mod bkp5r {
126338        ///Reader of register BKP5R
126339        pub type R = crate::R<u32, super::BKP5R>;
126340        ///Writer for register BKP5R
126341        pub type W = crate::W<u32, super::BKP5R>;
126342        ///Register BKP5R `reset()`'s with value 0
126343        impl crate::ResetValue for super::BKP5R {
126344            type Type = u32;
126345            #[inline(always)]
126346            fn reset_value() -> Self::Type {
126347                0
126348            }
126349        }
126350        ///Reader of field `BKP`
126351        pub type BKP_R = crate::R<u32, u32>;
126352        ///Write proxy for field `BKP`
126353        pub struct BKP_W<'a> {
126354            w: &'a mut W,
126355        }
126356        impl<'a> BKP_W<'a> {
126357            ///Writes raw bits to the field
126358            #[inline(always)]
126359            pub unsafe fn bits(self, value: u32) -> &'a mut W {
126360                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
126361                self.w
126362            }
126363        }
126364        impl R {
126365            ///Bits 0:31 - BKP
126366            #[inline(always)]
126367            pub fn bkp(&self) -> BKP_R {
126368                BKP_R::new((self.bits & 0xffff_ffff) as u32)
126369            }
126370        }
126371        impl W {
126372            ///Bits 0:31 - BKP
126373            #[inline(always)]
126374            pub fn bkp(&mut self) -> BKP_W {
126375                BKP_W { w: self }
126376            }
126377        }
126378    }
126379    ///backup register
126380    ///
126381    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126382    ///
126383    ///For information about available fields see [bkp6r](bkp6r) module
126384    pub type BKP6R = crate::Reg<u32, _BKP6R>;
126385    #[allow(missing_docs)]
126386    #[doc(hidden)]
126387    pub struct _BKP6R;
126388    ///`read()` method returns [bkp6r::R](bkp6r::R) reader structure
126389    impl crate::Readable for BKP6R {}
126390    ///`write(|w| ..)` method takes [bkp6r::W](bkp6r::W) writer structure
126391    impl crate::Writable for BKP6R {}
126392    ///backup register
126393    pub mod bkp6r {
126394        ///Reader of register BKP6R
126395        pub type R = crate::R<u32, super::BKP6R>;
126396        ///Writer for register BKP6R
126397        pub type W = crate::W<u32, super::BKP6R>;
126398        ///Register BKP6R `reset()`'s with value 0
126399        impl crate::ResetValue for super::BKP6R {
126400            type Type = u32;
126401            #[inline(always)]
126402            fn reset_value() -> Self::Type {
126403                0
126404            }
126405        }
126406        ///Reader of field `BKP`
126407        pub type BKP_R = crate::R<u32, u32>;
126408        ///Write proxy for field `BKP`
126409        pub struct BKP_W<'a> {
126410            w: &'a mut W,
126411        }
126412        impl<'a> BKP_W<'a> {
126413            ///Writes raw bits to the field
126414            #[inline(always)]
126415            pub unsafe fn bits(self, value: u32) -> &'a mut W {
126416                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
126417                self.w
126418            }
126419        }
126420        impl R {
126421            ///Bits 0:31 - BKP
126422            #[inline(always)]
126423            pub fn bkp(&self) -> BKP_R {
126424                BKP_R::new((self.bits & 0xffff_ffff) as u32)
126425            }
126426        }
126427        impl W {
126428            ///Bits 0:31 - BKP
126429            #[inline(always)]
126430            pub fn bkp(&mut self) -> BKP_W {
126431                BKP_W { w: self }
126432            }
126433        }
126434    }
126435    ///backup register
126436    ///
126437    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126438    ///
126439    ///For information about available fields see [bkp7r](bkp7r) module
126440    pub type BKP7R = crate::Reg<u32, _BKP7R>;
126441    #[allow(missing_docs)]
126442    #[doc(hidden)]
126443    pub struct _BKP7R;
126444    ///`read()` method returns [bkp7r::R](bkp7r::R) reader structure
126445    impl crate::Readable for BKP7R {}
126446    ///`write(|w| ..)` method takes [bkp7r::W](bkp7r::W) writer structure
126447    impl crate::Writable for BKP7R {}
126448    ///backup register
126449    pub mod bkp7r {
126450        ///Reader of register BKP7R
126451        pub type R = crate::R<u32, super::BKP7R>;
126452        ///Writer for register BKP7R
126453        pub type W = crate::W<u32, super::BKP7R>;
126454        ///Register BKP7R `reset()`'s with value 0
126455        impl crate::ResetValue for super::BKP7R {
126456            type Type = u32;
126457            #[inline(always)]
126458            fn reset_value() -> Self::Type {
126459                0
126460            }
126461        }
126462        ///Reader of field `BKP`
126463        pub type BKP_R = crate::R<u32, u32>;
126464        ///Write proxy for field `BKP`
126465        pub struct BKP_W<'a> {
126466            w: &'a mut W,
126467        }
126468        impl<'a> BKP_W<'a> {
126469            ///Writes raw bits to the field
126470            #[inline(always)]
126471            pub unsafe fn bits(self, value: u32) -> &'a mut W {
126472                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
126473                self.w
126474            }
126475        }
126476        impl R {
126477            ///Bits 0:31 - BKP
126478            #[inline(always)]
126479            pub fn bkp(&self) -> BKP_R {
126480                BKP_R::new((self.bits & 0xffff_ffff) as u32)
126481            }
126482        }
126483        impl W {
126484            ///Bits 0:31 - BKP
126485            #[inline(always)]
126486            pub fn bkp(&mut self) -> BKP_W {
126487                BKP_W { w: self }
126488            }
126489        }
126490    }
126491    ///backup register
126492    ///
126493    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126494    ///
126495    ///For information about available fields see [bkp8r](bkp8r) module
126496    pub type BKP8R = crate::Reg<u32, _BKP8R>;
126497    #[allow(missing_docs)]
126498    #[doc(hidden)]
126499    pub struct _BKP8R;
126500    ///`read()` method returns [bkp8r::R](bkp8r::R) reader structure
126501    impl crate::Readable for BKP8R {}
126502    ///`write(|w| ..)` method takes [bkp8r::W](bkp8r::W) writer structure
126503    impl crate::Writable for BKP8R {}
126504    ///backup register
126505    pub mod bkp8r {
126506        ///Reader of register BKP8R
126507        pub type R = crate::R<u32, super::BKP8R>;
126508        ///Writer for register BKP8R
126509        pub type W = crate::W<u32, super::BKP8R>;
126510        ///Register BKP8R `reset()`'s with value 0
126511        impl crate::ResetValue for super::BKP8R {
126512            type Type = u32;
126513            #[inline(always)]
126514            fn reset_value() -> Self::Type {
126515                0
126516            }
126517        }
126518        ///Reader of field `BKP`
126519        pub type BKP_R = crate::R<u32, u32>;
126520        ///Write proxy for field `BKP`
126521        pub struct BKP_W<'a> {
126522            w: &'a mut W,
126523        }
126524        impl<'a> BKP_W<'a> {
126525            ///Writes raw bits to the field
126526            #[inline(always)]
126527            pub unsafe fn bits(self, value: u32) -> &'a mut W {
126528                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
126529                self.w
126530            }
126531        }
126532        impl R {
126533            ///Bits 0:31 - BKP
126534            #[inline(always)]
126535            pub fn bkp(&self) -> BKP_R {
126536                BKP_R::new((self.bits & 0xffff_ffff) as u32)
126537            }
126538        }
126539        impl W {
126540            ///Bits 0:31 - BKP
126541            #[inline(always)]
126542            pub fn bkp(&mut self) -> BKP_W {
126543                BKP_W { w: self }
126544            }
126545        }
126546    }
126547    ///backup register
126548    ///
126549    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126550    ///
126551    ///For information about available fields see [bkp9r](bkp9r) module
126552    pub type BKP9R = crate::Reg<u32, _BKP9R>;
126553    #[allow(missing_docs)]
126554    #[doc(hidden)]
126555    pub struct _BKP9R;
126556    ///`read()` method returns [bkp9r::R](bkp9r::R) reader structure
126557    impl crate::Readable for BKP9R {}
126558    ///`write(|w| ..)` method takes [bkp9r::W](bkp9r::W) writer structure
126559    impl crate::Writable for BKP9R {}
126560    ///backup register
126561    pub mod bkp9r {
126562        ///Reader of register BKP9R
126563        pub type R = crate::R<u32, super::BKP9R>;
126564        ///Writer for register BKP9R
126565        pub type W = crate::W<u32, super::BKP9R>;
126566        ///Register BKP9R `reset()`'s with value 0
126567        impl crate::ResetValue for super::BKP9R {
126568            type Type = u32;
126569            #[inline(always)]
126570            fn reset_value() -> Self::Type {
126571                0
126572            }
126573        }
126574        ///Reader of field `BKP`
126575        pub type BKP_R = crate::R<u32, u32>;
126576        ///Write proxy for field `BKP`
126577        pub struct BKP_W<'a> {
126578            w: &'a mut W,
126579        }
126580        impl<'a> BKP_W<'a> {
126581            ///Writes raw bits to the field
126582            #[inline(always)]
126583            pub unsafe fn bits(self, value: u32) -> &'a mut W {
126584                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
126585                self.w
126586            }
126587        }
126588        impl R {
126589            ///Bits 0:31 - BKP
126590            #[inline(always)]
126591            pub fn bkp(&self) -> BKP_R {
126592                BKP_R::new((self.bits & 0xffff_ffff) as u32)
126593            }
126594        }
126595        impl W {
126596            ///Bits 0:31 - BKP
126597            #[inline(always)]
126598            pub fn bkp(&mut self) -> BKP_W {
126599                BKP_W { w: self }
126600            }
126601        }
126602    }
126603    ///backup register
126604    ///
126605    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126606    ///
126607    ///For information about available fields see [bkp10r](bkp10r) module
126608    pub type BKP10R = crate::Reg<u32, _BKP10R>;
126609    #[allow(missing_docs)]
126610    #[doc(hidden)]
126611    pub struct _BKP10R;
126612    ///`read()` method returns [bkp10r::R](bkp10r::R) reader structure
126613    impl crate::Readable for BKP10R {}
126614    ///`write(|w| ..)` method takes [bkp10r::W](bkp10r::W) writer structure
126615    impl crate::Writable for BKP10R {}
126616    ///backup register
126617    pub mod bkp10r {
126618        ///Reader of register BKP10R
126619        pub type R = crate::R<u32, super::BKP10R>;
126620        ///Writer for register BKP10R
126621        pub type W = crate::W<u32, super::BKP10R>;
126622        ///Register BKP10R `reset()`'s with value 0
126623        impl crate::ResetValue for super::BKP10R {
126624            type Type = u32;
126625            #[inline(always)]
126626            fn reset_value() -> Self::Type {
126627                0
126628            }
126629        }
126630        ///Reader of field `BKP`
126631        pub type BKP_R = crate::R<u32, u32>;
126632        ///Write proxy for field `BKP`
126633        pub struct BKP_W<'a> {
126634            w: &'a mut W,
126635        }
126636        impl<'a> BKP_W<'a> {
126637            ///Writes raw bits to the field
126638            #[inline(always)]
126639            pub unsafe fn bits(self, value: u32) -> &'a mut W {
126640                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
126641                self.w
126642            }
126643        }
126644        impl R {
126645            ///Bits 0:31 - BKP
126646            #[inline(always)]
126647            pub fn bkp(&self) -> BKP_R {
126648                BKP_R::new((self.bits & 0xffff_ffff) as u32)
126649            }
126650        }
126651        impl W {
126652            ///Bits 0:31 - BKP
126653            #[inline(always)]
126654            pub fn bkp(&mut self) -> BKP_W {
126655                BKP_W { w: self }
126656            }
126657        }
126658    }
126659    ///backup register
126660    ///
126661    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126662    ///
126663    ///For information about available fields see [bkp11r](bkp11r) module
126664    pub type BKP11R = crate::Reg<u32, _BKP11R>;
126665    #[allow(missing_docs)]
126666    #[doc(hidden)]
126667    pub struct _BKP11R;
126668    ///`read()` method returns [bkp11r::R](bkp11r::R) reader structure
126669    impl crate::Readable for BKP11R {}
126670    ///`write(|w| ..)` method takes [bkp11r::W](bkp11r::W) writer structure
126671    impl crate::Writable for BKP11R {}
126672    ///backup register
126673    pub mod bkp11r {
126674        ///Reader of register BKP11R
126675        pub type R = crate::R<u32, super::BKP11R>;
126676        ///Writer for register BKP11R
126677        pub type W = crate::W<u32, super::BKP11R>;
126678        ///Register BKP11R `reset()`'s with value 0
126679        impl crate::ResetValue for super::BKP11R {
126680            type Type = u32;
126681            #[inline(always)]
126682            fn reset_value() -> Self::Type {
126683                0
126684            }
126685        }
126686        ///Reader of field `BKP`
126687        pub type BKP_R = crate::R<u32, u32>;
126688        ///Write proxy for field `BKP`
126689        pub struct BKP_W<'a> {
126690            w: &'a mut W,
126691        }
126692        impl<'a> BKP_W<'a> {
126693            ///Writes raw bits to the field
126694            #[inline(always)]
126695            pub unsafe fn bits(self, value: u32) -> &'a mut W {
126696                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
126697                self.w
126698            }
126699        }
126700        impl R {
126701            ///Bits 0:31 - BKP
126702            #[inline(always)]
126703            pub fn bkp(&self) -> BKP_R {
126704                BKP_R::new((self.bits & 0xffff_ffff) as u32)
126705            }
126706        }
126707        impl W {
126708            ///Bits 0:31 - BKP
126709            #[inline(always)]
126710            pub fn bkp(&mut self) -> BKP_W {
126711                BKP_W { w: self }
126712            }
126713        }
126714    }
126715    ///backup register
126716    ///
126717    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126718    ///
126719    ///For information about available fields see [bkp12r](bkp12r) module
126720    pub type BKP12R = crate::Reg<u32, _BKP12R>;
126721    #[allow(missing_docs)]
126722    #[doc(hidden)]
126723    pub struct _BKP12R;
126724    ///`read()` method returns [bkp12r::R](bkp12r::R) reader structure
126725    impl crate::Readable for BKP12R {}
126726    ///`write(|w| ..)` method takes [bkp12r::W](bkp12r::W) writer structure
126727    impl crate::Writable for BKP12R {}
126728    ///backup register
126729    pub mod bkp12r {
126730        ///Reader of register BKP12R
126731        pub type R = crate::R<u32, super::BKP12R>;
126732        ///Writer for register BKP12R
126733        pub type W = crate::W<u32, super::BKP12R>;
126734        ///Register BKP12R `reset()`'s with value 0
126735        impl crate::ResetValue for super::BKP12R {
126736            type Type = u32;
126737            #[inline(always)]
126738            fn reset_value() -> Self::Type {
126739                0
126740            }
126741        }
126742        ///Reader of field `BKP`
126743        pub type BKP_R = crate::R<u32, u32>;
126744        ///Write proxy for field `BKP`
126745        pub struct BKP_W<'a> {
126746            w: &'a mut W,
126747        }
126748        impl<'a> BKP_W<'a> {
126749            ///Writes raw bits to the field
126750            #[inline(always)]
126751            pub unsafe fn bits(self, value: u32) -> &'a mut W {
126752                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
126753                self.w
126754            }
126755        }
126756        impl R {
126757            ///Bits 0:31 - BKP
126758            #[inline(always)]
126759            pub fn bkp(&self) -> BKP_R {
126760                BKP_R::new((self.bits & 0xffff_ffff) as u32)
126761            }
126762        }
126763        impl W {
126764            ///Bits 0:31 - BKP
126765            #[inline(always)]
126766            pub fn bkp(&mut self) -> BKP_W {
126767                BKP_W { w: self }
126768            }
126769        }
126770    }
126771    ///backup register
126772    ///
126773    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126774    ///
126775    ///For information about available fields see [bkp13r](bkp13r) module
126776    pub type BKP13R = crate::Reg<u32, _BKP13R>;
126777    #[allow(missing_docs)]
126778    #[doc(hidden)]
126779    pub struct _BKP13R;
126780    ///`read()` method returns [bkp13r::R](bkp13r::R) reader structure
126781    impl crate::Readable for BKP13R {}
126782    ///`write(|w| ..)` method takes [bkp13r::W](bkp13r::W) writer structure
126783    impl crate::Writable for BKP13R {}
126784    ///backup register
126785    pub mod bkp13r {
126786        ///Reader of register BKP13R
126787        pub type R = crate::R<u32, super::BKP13R>;
126788        ///Writer for register BKP13R
126789        pub type W = crate::W<u32, super::BKP13R>;
126790        ///Register BKP13R `reset()`'s with value 0
126791        impl crate::ResetValue for super::BKP13R {
126792            type Type = u32;
126793            #[inline(always)]
126794            fn reset_value() -> Self::Type {
126795                0
126796            }
126797        }
126798        ///Reader of field `BKP`
126799        pub type BKP_R = crate::R<u32, u32>;
126800        ///Write proxy for field `BKP`
126801        pub struct BKP_W<'a> {
126802            w: &'a mut W,
126803        }
126804        impl<'a> BKP_W<'a> {
126805            ///Writes raw bits to the field
126806            #[inline(always)]
126807            pub unsafe fn bits(self, value: u32) -> &'a mut W {
126808                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
126809                self.w
126810            }
126811        }
126812        impl R {
126813            ///Bits 0:31 - BKP
126814            #[inline(always)]
126815            pub fn bkp(&self) -> BKP_R {
126816                BKP_R::new((self.bits & 0xffff_ffff) as u32)
126817            }
126818        }
126819        impl W {
126820            ///Bits 0:31 - BKP
126821            #[inline(always)]
126822            pub fn bkp(&mut self) -> BKP_W {
126823                BKP_W { w: self }
126824            }
126825        }
126826    }
126827    ///backup register
126828    ///
126829    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126830    ///
126831    ///For information about available fields see [bkp14r](bkp14r) module
126832    pub type BKP14R = crate::Reg<u32, _BKP14R>;
126833    #[allow(missing_docs)]
126834    #[doc(hidden)]
126835    pub struct _BKP14R;
126836    ///`read()` method returns [bkp14r::R](bkp14r::R) reader structure
126837    impl crate::Readable for BKP14R {}
126838    ///`write(|w| ..)` method takes [bkp14r::W](bkp14r::W) writer structure
126839    impl crate::Writable for BKP14R {}
126840    ///backup register
126841    pub mod bkp14r {
126842        ///Reader of register BKP14R
126843        pub type R = crate::R<u32, super::BKP14R>;
126844        ///Writer for register BKP14R
126845        pub type W = crate::W<u32, super::BKP14R>;
126846        ///Register BKP14R `reset()`'s with value 0
126847        impl crate::ResetValue for super::BKP14R {
126848            type Type = u32;
126849            #[inline(always)]
126850            fn reset_value() -> Self::Type {
126851                0
126852            }
126853        }
126854        ///Reader of field `BKP`
126855        pub type BKP_R = crate::R<u32, u32>;
126856        ///Write proxy for field `BKP`
126857        pub struct BKP_W<'a> {
126858            w: &'a mut W,
126859        }
126860        impl<'a> BKP_W<'a> {
126861            ///Writes raw bits to the field
126862            #[inline(always)]
126863            pub unsafe fn bits(self, value: u32) -> &'a mut W {
126864                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
126865                self.w
126866            }
126867        }
126868        impl R {
126869            ///Bits 0:31 - BKP
126870            #[inline(always)]
126871            pub fn bkp(&self) -> BKP_R {
126872                BKP_R::new((self.bits & 0xffff_ffff) as u32)
126873            }
126874        }
126875        impl W {
126876            ///Bits 0:31 - BKP
126877            #[inline(always)]
126878            pub fn bkp(&mut self) -> BKP_W {
126879                BKP_W { w: self }
126880            }
126881        }
126882    }
126883    ///backup register
126884    ///
126885    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126886    ///
126887    ///For information about available fields see [bkp15r](bkp15r) module
126888    pub type BKP15R = crate::Reg<u32, _BKP15R>;
126889    #[allow(missing_docs)]
126890    #[doc(hidden)]
126891    pub struct _BKP15R;
126892    ///`read()` method returns [bkp15r::R](bkp15r::R) reader structure
126893    impl crate::Readable for BKP15R {}
126894    ///`write(|w| ..)` method takes [bkp15r::W](bkp15r::W) writer structure
126895    impl crate::Writable for BKP15R {}
126896    ///backup register
126897    pub mod bkp15r {
126898        ///Reader of register BKP15R
126899        pub type R = crate::R<u32, super::BKP15R>;
126900        ///Writer for register BKP15R
126901        pub type W = crate::W<u32, super::BKP15R>;
126902        ///Register BKP15R `reset()`'s with value 0
126903        impl crate::ResetValue for super::BKP15R {
126904            type Type = u32;
126905            #[inline(always)]
126906            fn reset_value() -> Self::Type {
126907                0
126908            }
126909        }
126910        ///Reader of field `BKP`
126911        pub type BKP_R = crate::R<u32, u32>;
126912        ///Write proxy for field `BKP`
126913        pub struct BKP_W<'a> {
126914            w: &'a mut W,
126915        }
126916        impl<'a> BKP_W<'a> {
126917            ///Writes raw bits to the field
126918            #[inline(always)]
126919            pub unsafe fn bits(self, value: u32) -> &'a mut W {
126920                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
126921                self.w
126922            }
126923        }
126924        impl R {
126925            ///Bits 0:31 - BKP
126926            #[inline(always)]
126927            pub fn bkp(&self) -> BKP_R {
126928                BKP_R::new((self.bits & 0xffff_ffff) as u32)
126929            }
126930        }
126931        impl W {
126932            ///Bits 0:31 - BKP
126933            #[inline(always)]
126934            pub fn bkp(&mut self) -> BKP_W {
126935                BKP_W { w: self }
126936            }
126937        }
126938    }
126939    ///backup register
126940    ///
126941    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126942    ///
126943    ///For information about available fields see [bkp16r](bkp16r) module
126944    pub type BKP16R = crate::Reg<u32, _BKP16R>;
126945    #[allow(missing_docs)]
126946    #[doc(hidden)]
126947    pub struct _BKP16R;
126948    ///`read()` method returns [bkp16r::R](bkp16r::R) reader structure
126949    impl crate::Readable for BKP16R {}
126950    ///`write(|w| ..)` method takes [bkp16r::W](bkp16r::W) writer structure
126951    impl crate::Writable for BKP16R {}
126952    ///backup register
126953    pub mod bkp16r {
126954        ///Reader of register BKP16R
126955        pub type R = crate::R<u32, super::BKP16R>;
126956        ///Writer for register BKP16R
126957        pub type W = crate::W<u32, super::BKP16R>;
126958        ///Register BKP16R `reset()`'s with value 0
126959        impl crate::ResetValue for super::BKP16R {
126960            type Type = u32;
126961            #[inline(always)]
126962            fn reset_value() -> Self::Type {
126963                0
126964            }
126965        }
126966        ///Reader of field `BKP`
126967        pub type BKP_R = crate::R<u32, u32>;
126968        ///Write proxy for field `BKP`
126969        pub struct BKP_W<'a> {
126970            w: &'a mut W,
126971        }
126972        impl<'a> BKP_W<'a> {
126973            ///Writes raw bits to the field
126974            #[inline(always)]
126975            pub unsafe fn bits(self, value: u32) -> &'a mut W {
126976                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
126977                self.w
126978            }
126979        }
126980        impl R {
126981            ///Bits 0:31 - BKP
126982            #[inline(always)]
126983            pub fn bkp(&self) -> BKP_R {
126984                BKP_R::new((self.bits & 0xffff_ffff) as u32)
126985            }
126986        }
126987        impl W {
126988            ///Bits 0:31 - BKP
126989            #[inline(always)]
126990            pub fn bkp(&mut self) -> BKP_W {
126991                BKP_W { w: self }
126992            }
126993        }
126994    }
126995    ///backup register
126996    ///
126997    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
126998    ///
126999    ///For information about available fields see [bkp17r](bkp17r) module
127000    pub type BKP17R = crate::Reg<u32, _BKP17R>;
127001    #[allow(missing_docs)]
127002    #[doc(hidden)]
127003    pub struct _BKP17R;
127004    ///`read()` method returns [bkp17r::R](bkp17r::R) reader structure
127005    impl crate::Readable for BKP17R {}
127006    ///`write(|w| ..)` method takes [bkp17r::W](bkp17r::W) writer structure
127007    impl crate::Writable for BKP17R {}
127008    ///backup register
127009    pub mod bkp17r {
127010        ///Reader of register BKP17R
127011        pub type R = crate::R<u32, super::BKP17R>;
127012        ///Writer for register BKP17R
127013        pub type W = crate::W<u32, super::BKP17R>;
127014        ///Register BKP17R `reset()`'s with value 0
127015        impl crate::ResetValue for super::BKP17R {
127016            type Type = u32;
127017            #[inline(always)]
127018            fn reset_value() -> Self::Type {
127019                0
127020            }
127021        }
127022        ///Reader of field `BKP`
127023        pub type BKP_R = crate::R<u32, u32>;
127024        ///Write proxy for field `BKP`
127025        pub struct BKP_W<'a> {
127026            w: &'a mut W,
127027        }
127028        impl<'a> BKP_W<'a> {
127029            ///Writes raw bits to the field
127030            #[inline(always)]
127031            pub unsafe fn bits(self, value: u32) -> &'a mut W {
127032                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
127033                self.w
127034            }
127035        }
127036        impl R {
127037            ///Bits 0:31 - BKP
127038            #[inline(always)]
127039            pub fn bkp(&self) -> BKP_R {
127040                BKP_R::new((self.bits & 0xffff_ffff) as u32)
127041            }
127042        }
127043        impl W {
127044            ///Bits 0:31 - BKP
127045            #[inline(always)]
127046            pub fn bkp(&mut self) -> BKP_W {
127047                BKP_W { w: self }
127048            }
127049        }
127050    }
127051    ///backup register
127052    ///
127053    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
127054    ///
127055    ///For information about available fields see [bkp18r](bkp18r) module
127056    pub type BKP18R = crate::Reg<u32, _BKP18R>;
127057    #[allow(missing_docs)]
127058    #[doc(hidden)]
127059    pub struct _BKP18R;
127060    ///`read()` method returns [bkp18r::R](bkp18r::R) reader structure
127061    impl crate::Readable for BKP18R {}
127062    ///`write(|w| ..)` method takes [bkp18r::W](bkp18r::W) writer structure
127063    impl crate::Writable for BKP18R {}
127064    ///backup register
127065    pub mod bkp18r {
127066        ///Reader of register BKP18R
127067        pub type R = crate::R<u32, super::BKP18R>;
127068        ///Writer for register BKP18R
127069        pub type W = crate::W<u32, super::BKP18R>;
127070        ///Register BKP18R `reset()`'s with value 0
127071        impl crate::ResetValue for super::BKP18R {
127072            type Type = u32;
127073            #[inline(always)]
127074            fn reset_value() -> Self::Type {
127075                0
127076            }
127077        }
127078        ///Reader of field `BKP`
127079        pub type BKP_R = crate::R<u32, u32>;
127080        ///Write proxy for field `BKP`
127081        pub struct BKP_W<'a> {
127082            w: &'a mut W,
127083        }
127084        impl<'a> BKP_W<'a> {
127085            ///Writes raw bits to the field
127086            #[inline(always)]
127087            pub unsafe fn bits(self, value: u32) -> &'a mut W {
127088                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
127089                self.w
127090            }
127091        }
127092        impl R {
127093            ///Bits 0:31 - BKP
127094            #[inline(always)]
127095            pub fn bkp(&self) -> BKP_R {
127096                BKP_R::new((self.bits & 0xffff_ffff) as u32)
127097            }
127098        }
127099        impl W {
127100            ///Bits 0:31 - BKP
127101            #[inline(always)]
127102            pub fn bkp(&mut self) -> BKP_W {
127103                BKP_W { w: self }
127104            }
127105        }
127106    }
127107    ///backup register
127108    ///
127109    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
127110    ///
127111    ///For information about available fields see [bkp19r](bkp19r) module
127112    pub type BKP19R = crate::Reg<u32, _BKP19R>;
127113    #[allow(missing_docs)]
127114    #[doc(hidden)]
127115    pub struct _BKP19R;
127116    ///`read()` method returns [bkp19r::R](bkp19r::R) reader structure
127117    impl crate::Readable for BKP19R {}
127118    ///`write(|w| ..)` method takes [bkp19r::W](bkp19r::W) writer structure
127119    impl crate::Writable for BKP19R {}
127120    ///backup register
127121    pub mod bkp19r {
127122        ///Reader of register BKP19R
127123        pub type R = crate::R<u32, super::BKP19R>;
127124        ///Writer for register BKP19R
127125        pub type W = crate::W<u32, super::BKP19R>;
127126        ///Register BKP19R `reset()`'s with value 0
127127        impl crate::ResetValue for super::BKP19R {
127128            type Type = u32;
127129            #[inline(always)]
127130            fn reset_value() -> Self::Type {
127131                0
127132            }
127133        }
127134        ///Reader of field `BKP`
127135        pub type BKP_R = crate::R<u32, u32>;
127136        ///Write proxy for field `BKP`
127137        pub struct BKP_W<'a> {
127138            w: &'a mut W,
127139        }
127140        impl<'a> BKP_W<'a> {
127141            ///Writes raw bits to the field
127142            #[inline(always)]
127143            pub unsafe fn bits(self, value: u32) -> &'a mut W {
127144                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
127145                self.w
127146            }
127147        }
127148        impl R {
127149            ///Bits 0:31 - BKP
127150            #[inline(always)]
127151            pub fn bkp(&self) -> BKP_R {
127152                BKP_R::new((self.bits & 0xffff_ffff) as u32)
127153            }
127154        }
127155        impl W {
127156            ///Bits 0:31 - BKP
127157            #[inline(always)]
127158            pub fn bkp(&mut self) -> BKP_W {
127159                BKP_W { w: self }
127160            }
127161        }
127162    }
127163}
127164///Debug support
127165pub struct DBGMCU {
127166    _marker: PhantomData<*const ()>,
127167}
127168unsafe impl Send for DBGMCU {}
127169impl DBGMCU {
127170    ///Returns a pointer to the register block
127171    #[inline(always)]
127172    pub const fn ptr() -> *const dbgmcu::RegisterBlock {
127173        0xe004_2000 as *const _
127174    }
127175}
127176impl Deref for DBGMCU {
127177    type Target = dbgmcu::RegisterBlock;
127178    #[inline(always)]
127179    fn deref(&self) -> &Self::Target {
127180        unsafe { &*DBGMCU::ptr() }
127181    }
127182}
127183///Debug support
127184pub mod dbgmcu {
127185    ///Register block
127186    #[repr(C)]
127187    pub struct RegisterBlock {
127188        ///0x00 - MCU Device ID Code Register
127189        pub idcode: IDCODE,
127190        ///0x04 - Debug MCU Configuration Register
127191        pub cr: CR,
127192        _reserved2: [u8; 52usize],
127193        ///0x3c - APB1 Low Freeze Register CPU1
127194        pub apb1fzr1: APB1FZR1,
127195        ///0x40 - APB1 Low Freeze Register CPU2
127196        pub c2ap_b1fzr1: C2AP_B1FZR1,
127197        ///0x44 - APB1 High Freeze Register CPU1
127198        pub apb1fzr2: APB1FZR2,
127199        _reserved_5_c2apb: [u8; 4usize],
127200        ///0x4c - APB2 Freeze Register CPU1
127201        pub apb2fzr: APB2FZR,
127202    }
127203    impl RegisterBlock {
127204        ///0x48 - APB2 Freeze Register CPU2
127205        #[inline(always)]
127206        pub fn c2apb2fzr(&self) -> &C2APB2FZR {
127207            unsafe { &*(((self as *const Self) as *const u8).add(72usize) as *const C2APB2FZR) }
127208        }
127209        ///0x48 - APB2 Freeze Register CPU2
127210        #[inline(always)]
127211        pub fn c2apb2fzr_mut(&self) -> &mut C2APB2FZR {
127212            unsafe { &mut *(((self as *const Self) as *mut u8).add(72usize) as *mut C2APB2FZR) }
127213        }
127214        ///0x48 - APB1 High Freeze Register CPU2
127215        #[inline(always)]
127216        pub fn c2apb1fzr2(&self) -> &C2APB1FZR2 {
127217            unsafe { &*(((self as *const Self) as *const u8).add(72usize) as *const C2APB1FZR2) }
127218        }
127219        ///0x48 - APB1 High Freeze Register CPU2
127220        #[inline(always)]
127221        pub fn c2apb1fzr2_mut(&self) -> &mut C2APB1FZR2 {
127222            unsafe { &mut *(((self as *const Self) as *mut u8).add(72usize) as *mut C2APB1FZR2) }
127223        }
127224    }
127225    ///MCU Device ID Code Register
127226    ///
127227    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
127228    ///
127229    ///For information about available fields see [idcode](idcode) module
127230    pub type IDCODE = crate::Reg<u32, _IDCODE>;
127231    #[allow(missing_docs)]
127232    #[doc(hidden)]
127233    pub struct _IDCODE;
127234    ///`read()` method returns [idcode::R](idcode::R) reader structure
127235    impl crate::Readable for IDCODE {}
127236    ///MCU Device ID Code Register
127237    pub mod idcode {
127238        ///Reader of register IDCODE
127239        pub type R = crate::R<u32, super::IDCODE>;
127240        ///Reader of field `DEV_ID`
127241        pub type DEV_ID_R = crate::R<u16, u16>;
127242        ///Reader of field `REV_ID`
127243        pub type REV_ID_R = crate::R<u16, u16>;
127244        impl R {
127245            ///Bits 0:11 - Device Identifier
127246            #[inline(always)]
127247            pub fn dev_id(&self) -> DEV_ID_R {
127248                DEV_ID_R::new((self.bits & 0x0fff) as u16)
127249            }
127250            ///Bits 16:31 - Revision Identifier
127251            #[inline(always)]
127252            pub fn rev_id(&self) -> REV_ID_R {
127253                REV_ID_R::new(((self.bits >> 16) & 0xffff) as u16)
127254            }
127255        }
127256    }
127257    ///Debug MCU Configuration Register
127258    ///
127259    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
127260    ///
127261    ///For information about available fields see [cr](cr) module
127262    pub type CR = crate::Reg<u32, _CR>;
127263    #[allow(missing_docs)]
127264    #[doc(hidden)]
127265    pub struct _CR;
127266    ///`read()` method returns [cr::R](cr::R) reader structure
127267    impl crate::Readable for CR {}
127268    ///`write(|w| ..)` method takes [cr::W](cr::W) writer structure
127269    impl crate::Writable for CR {}
127270    ///Debug MCU Configuration Register
127271    pub mod cr {
127272        ///Reader of register CR
127273        pub type R = crate::R<u32, super::CR>;
127274        ///Writer for register CR
127275        pub type W = crate::W<u32, super::CR>;
127276        ///Register CR `reset()`'s with value 0
127277        impl crate::ResetValue for super::CR {
127278            type Type = u32;
127279            #[inline(always)]
127280            fn reset_value() -> Self::Type {
127281                0
127282            }
127283        }
127284        ///Reader of field `DBG_SLEEP`
127285        pub type DBG_SLEEP_R = crate::R<bool, bool>;
127286        ///Write proxy for field `DBG_SLEEP`
127287        pub struct DBG_SLEEP_W<'a> {
127288            w: &'a mut W,
127289        }
127290        impl<'a> DBG_SLEEP_W<'a> {
127291            ///Sets the field bit
127292            #[inline(always)]
127293            pub fn set_bit(self) -> &'a mut W {
127294                self.bit(true)
127295            }
127296            ///Clears the field bit
127297            #[inline(always)]
127298            pub fn clear_bit(self) -> &'a mut W {
127299                self.bit(false)
127300            }
127301            ///Writes raw bits to the field
127302            #[inline(always)]
127303            pub fn bit(self, value: bool) -> &'a mut W {
127304                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
127305                self.w
127306            }
127307        }
127308        ///Reader of field `DBG_STOP`
127309        pub type DBG_STOP_R = crate::R<bool, bool>;
127310        ///Write proxy for field `DBG_STOP`
127311        pub struct DBG_STOP_W<'a> {
127312            w: &'a mut W,
127313        }
127314        impl<'a> DBG_STOP_W<'a> {
127315            ///Sets the field bit
127316            #[inline(always)]
127317            pub fn set_bit(self) -> &'a mut W {
127318                self.bit(true)
127319            }
127320            ///Clears the field bit
127321            #[inline(always)]
127322            pub fn clear_bit(self) -> &'a mut W {
127323                self.bit(false)
127324            }
127325            ///Writes raw bits to the field
127326            #[inline(always)]
127327            pub fn bit(self, value: bool) -> &'a mut W {
127328                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
127329                self.w
127330            }
127331        }
127332        ///Reader of field `DBG_STANDBY`
127333        pub type DBG_STANDBY_R = crate::R<bool, bool>;
127334        ///Write proxy for field `DBG_STANDBY`
127335        pub struct DBG_STANDBY_W<'a> {
127336            w: &'a mut W,
127337        }
127338        impl<'a> DBG_STANDBY_W<'a> {
127339            ///Sets the field bit
127340            #[inline(always)]
127341            pub fn set_bit(self) -> &'a mut W {
127342                self.bit(true)
127343            }
127344            ///Clears the field bit
127345            #[inline(always)]
127346            pub fn clear_bit(self) -> &'a mut W {
127347                self.bit(false)
127348            }
127349            ///Writes raw bits to the field
127350            #[inline(always)]
127351            pub fn bit(self, value: bool) -> &'a mut W {
127352                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
127353                self.w
127354            }
127355        }
127356        ///Reader of field `TRACE_IOEN`
127357        pub type TRACE_IOEN_R = crate::R<bool, bool>;
127358        ///Write proxy for field `TRACE_IOEN`
127359        pub struct TRACE_IOEN_W<'a> {
127360            w: &'a mut W,
127361        }
127362        impl<'a> TRACE_IOEN_W<'a> {
127363            ///Sets the field bit
127364            #[inline(always)]
127365            pub fn set_bit(self) -> &'a mut W {
127366                self.bit(true)
127367            }
127368            ///Clears the field bit
127369            #[inline(always)]
127370            pub fn clear_bit(self) -> &'a mut W {
127371                self.bit(false)
127372            }
127373            ///Writes raw bits to the field
127374            #[inline(always)]
127375            pub fn bit(self, value: bool) -> &'a mut W {
127376                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
127377                self.w
127378            }
127379        }
127380        ///Reader of field `TRGOEN`
127381        pub type TRGOEN_R = crate::R<bool, bool>;
127382        ///Write proxy for field `TRGOEN`
127383        pub struct TRGOEN_W<'a> {
127384            w: &'a mut W,
127385        }
127386        impl<'a> TRGOEN_W<'a> {
127387            ///Sets the field bit
127388            #[inline(always)]
127389            pub fn set_bit(self) -> &'a mut W {
127390                self.bit(true)
127391            }
127392            ///Clears the field bit
127393            #[inline(always)]
127394            pub fn clear_bit(self) -> &'a mut W {
127395                self.bit(false)
127396            }
127397            ///Writes raw bits to the field
127398            #[inline(always)]
127399            pub fn bit(self, value: bool) -> &'a mut W {
127400                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
127401                self.w
127402            }
127403        }
127404        impl R {
127405            ///Bit 0 - Debug Sleep Mode
127406            #[inline(always)]
127407            pub fn dbg_sleep(&self) -> DBG_SLEEP_R {
127408                DBG_SLEEP_R::new((self.bits & 0x01) != 0)
127409            }
127410            ///Bit 1 - Debug Stop Mode
127411            #[inline(always)]
127412            pub fn dbg_stop(&self) -> DBG_STOP_R {
127413                DBG_STOP_R::new(((self.bits >> 1) & 0x01) != 0)
127414            }
127415            ///Bit 2 - Debug Standby Mode
127416            #[inline(always)]
127417            pub fn dbg_standby(&self) -> DBG_STANDBY_R {
127418                DBG_STANDBY_R::new(((self.bits >> 2) & 0x01) != 0)
127419            }
127420            ///Bit 5 - Trace port and clock enable
127421            #[inline(always)]
127422            pub fn trace_ioen(&self) -> TRACE_IOEN_R {
127423                TRACE_IOEN_R::new(((self.bits >> 5) & 0x01) != 0)
127424            }
127425            ///Bit 28 - External trigger output enable
127426            #[inline(always)]
127427            pub fn trgoen(&self) -> TRGOEN_R {
127428                TRGOEN_R::new(((self.bits >> 28) & 0x01) != 0)
127429            }
127430        }
127431        impl W {
127432            ///Bit 0 - Debug Sleep Mode
127433            #[inline(always)]
127434            pub fn dbg_sleep(&mut self) -> DBG_SLEEP_W {
127435                DBG_SLEEP_W { w: self }
127436            }
127437            ///Bit 1 - Debug Stop Mode
127438            #[inline(always)]
127439            pub fn dbg_stop(&mut self) -> DBG_STOP_W {
127440                DBG_STOP_W { w: self }
127441            }
127442            ///Bit 2 - Debug Standby Mode
127443            #[inline(always)]
127444            pub fn dbg_standby(&mut self) -> DBG_STANDBY_W {
127445                DBG_STANDBY_W { w: self }
127446            }
127447            ///Bit 5 - Trace port and clock enable
127448            #[inline(always)]
127449            pub fn trace_ioen(&mut self) -> TRACE_IOEN_W {
127450                TRACE_IOEN_W { w: self }
127451            }
127452            ///Bit 28 - External trigger output enable
127453            #[inline(always)]
127454            pub fn trgoen(&mut self) -> TRGOEN_W {
127455                TRGOEN_W { w: self }
127456            }
127457        }
127458    }
127459    ///APB1 Low Freeze Register CPU1
127460    ///
127461    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
127462    ///
127463    ///For information about available fields see [apb1fzr1](apb1fzr1) module
127464    pub type APB1FZR1 = crate::Reg<u32, _APB1FZR1>;
127465    #[allow(missing_docs)]
127466    #[doc(hidden)]
127467    pub struct _APB1FZR1;
127468    ///`read()` method returns [apb1fzr1::R](apb1fzr1::R) reader structure
127469    impl crate::Readable for APB1FZR1 {}
127470    ///`write(|w| ..)` method takes [apb1fzr1::W](apb1fzr1::W) writer structure
127471    impl crate::Writable for APB1FZR1 {}
127472    ///APB1 Low Freeze Register CPU1
127473    pub mod apb1fzr1 {
127474        ///Reader of register APB1FZR1
127475        pub type R = crate::R<u32, super::APB1FZR1>;
127476        ///Writer for register APB1FZR1
127477        pub type W = crate::W<u32, super::APB1FZR1>;
127478        ///Register APB1FZR1 `reset()`'s with value 0
127479        impl crate::ResetValue for super::APB1FZR1 {
127480            type Type = u32;
127481            #[inline(always)]
127482            fn reset_value() -> Self::Type {
127483                0
127484            }
127485        }
127486        ///Reader of field `DBG_TIMER2_STOP`
127487        pub type DBG_TIMER2_STOP_R = crate::R<bool, bool>;
127488        ///Write proxy for field `DBG_TIMER2_STOP`
127489        pub struct DBG_TIMER2_STOP_W<'a> {
127490            w: &'a mut W,
127491        }
127492        impl<'a> DBG_TIMER2_STOP_W<'a> {
127493            ///Sets the field bit
127494            #[inline(always)]
127495            pub fn set_bit(self) -> &'a mut W {
127496                self.bit(true)
127497            }
127498            ///Clears the field bit
127499            #[inline(always)]
127500            pub fn clear_bit(self) -> &'a mut W {
127501                self.bit(false)
127502            }
127503            ///Writes raw bits to the field
127504            #[inline(always)]
127505            pub fn bit(self, value: bool) -> &'a mut W {
127506                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
127507                self.w
127508            }
127509        }
127510        ///Reader of field `DBG_RTC_STOP`
127511        pub type DBG_RTC_STOP_R = crate::R<bool, bool>;
127512        ///Write proxy for field `DBG_RTC_STOP`
127513        pub struct DBG_RTC_STOP_W<'a> {
127514            w: &'a mut W,
127515        }
127516        impl<'a> DBG_RTC_STOP_W<'a> {
127517            ///Sets the field bit
127518            #[inline(always)]
127519            pub fn set_bit(self) -> &'a mut W {
127520                self.bit(true)
127521            }
127522            ///Clears the field bit
127523            #[inline(always)]
127524            pub fn clear_bit(self) -> &'a mut W {
127525                self.bit(false)
127526            }
127527            ///Writes raw bits to the field
127528            #[inline(always)]
127529            pub fn bit(self, value: bool) -> &'a mut W {
127530                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
127531                self.w
127532            }
127533        }
127534        ///Reader of field `DBG_WWDG_STOP`
127535        pub type DBG_WWDG_STOP_R = crate::R<bool, bool>;
127536        ///Write proxy for field `DBG_WWDG_STOP`
127537        pub struct DBG_WWDG_STOP_W<'a> {
127538            w: &'a mut W,
127539        }
127540        impl<'a> DBG_WWDG_STOP_W<'a> {
127541            ///Sets the field bit
127542            #[inline(always)]
127543            pub fn set_bit(self) -> &'a mut W {
127544                self.bit(true)
127545            }
127546            ///Clears the field bit
127547            #[inline(always)]
127548            pub fn clear_bit(self) -> &'a mut W {
127549                self.bit(false)
127550            }
127551            ///Writes raw bits to the field
127552            #[inline(always)]
127553            pub fn bit(self, value: bool) -> &'a mut W {
127554                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
127555                self.w
127556            }
127557        }
127558        ///Reader of field `DBG_IWDG_STOP`
127559        pub type DBG_IWDG_STOP_R = crate::R<bool, bool>;
127560        ///Write proxy for field `DBG_IWDG_STOP`
127561        pub struct DBG_IWDG_STOP_W<'a> {
127562            w: &'a mut W,
127563        }
127564        impl<'a> DBG_IWDG_STOP_W<'a> {
127565            ///Sets the field bit
127566            #[inline(always)]
127567            pub fn set_bit(self) -> &'a mut W {
127568                self.bit(true)
127569            }
127570            ///Clears the field bit
127571            #[inline(always)]
127572            pub fn clear_bit(self) -> &'a mut W {
127573                self.bit(false)
127574            }
127575            ///Writes raw bits to the field
127576            #[inline(always)]
127577            pub fn bit(self, value: bool) -> &'a mut W {
127578                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
127579                self.w
127580            }
127581        }
127582        ///Reader of field `DBG_I2C1_STOP`
127583        pub type DBG_I2C1_STOP_R = crate::R<bool, bool>;
127584        ///Write proxy for field `DBG_I2C1_STOP`
127585        pub struct DBG_I2C1_STOP_W<'a> {
127586            w: &'a mut W,
127587        }
127588        impl<'a> DBG_I2C1_STOP_W<'a> {
127589            ///Sets the field bit
127590            #[inline(always)]
127591            pub fn set_bit(self) -> &'a mut W {
127592                self.bit(true)
127593            }
127594            ///Clears the field bit
127595            #[inline(always)]
127596            pub fn clear_bit(self) -> &'a mut W {
127597                self.bit(false)
127598            }
127599            ///Writes raw bits to the field
127600            #[inline(always)]
127601            pub fn bit(self, value: bool) -> &'a mut W {
127602                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
127603                self.w
127604            }
127605        }
127606        ///Reader of field `DBG_I2C3_STOP`
127607        pub type DBG_I2C3_STOP_R = crate::R<bool, bool>;
127608        ///Write proxy for field `DBG_I2C3_STOP`
127609        pub struct DBG_I2C3_STOP_W<'a> {
127610            w: &'a mut W,
127611        }
127612        impl<'a> DBG_I2C3_STOP_W<'a> {
127613            ///Sets the field bit
127614            #[inline(always)]
127615            pub fn set_bit(self) -> &'a mut W {
127616                self.bit(true)
127617            }
127618            ///Clears the field bit
127619            #[inline(always)]
127620            pub fn clear_bit(self) -> &'a mut W {
127621                self.bit(false)
127622            }
127623            ///Writes raw bits to the field
127624            #[inline(always)]
127625            pub fn bit(self, value: bool) -> &'a mut W {
127626                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
127627                self.w
127628            }
127629        }
127630        ///Reader of field `DBG_LPTIM1_STOP`
127631        pub type DBG_LPTIM1_STOP_R = crate::R<bool, bool>;
127632        ///Write proxy for field `DBG_LPTIM1_STOP`
127633        pub struct DBG_LPTIM1_STOP_W<'a> {
127634            w: &'a mut W,
127635        }
127636        impl<'a> DBG_LPTIM1_STOP_W<'a> {
127637            ///Sets the field bit
127638            #[inline(always)]
127639            pub fn set_bit(self) -> &'a mut W {
127640                self.bit(true)
127641            }
127642            ///Clears the field bit
127643            #[inline(always)]
127644            pub fn clear_bit(self) -> &'a mut W {
127645                self.bit(false)
127646            }
127647            ///Writes raw bits to the field
127648            #[inline(always)]
127649            pub fn bit(self, value: bool) -> &'a mut W {
127650                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
127651                self.w
127652            }
127653        }
127654        impl R {
127655            ///Bit 0 - Debug Timer 2 stopped when Core is halted
127656            #[inline(always)]
127657            pub fn dbg_timer2_stop(&self) -> DBG_TIMER2_STOP_R {
127658                DBG_TIMER2_STOP_R::new((self.bits & 0x01) != 0)
127659            }
127660            ///Bit 10 - RTC counter stopped when core is halted
127661            #[inline(always)]
127662            pub fn dbg_rtc_stop(&self) -> DBG_RTC_STOP_R {
127663                DBG_RTC_STOP_R::new(((self.bits >> 10) & 0x01) != 0)
127664            }
127665            ///Bit 11 - WWDG counter stopped when core is halted
127666            #[inline(always)]
127667            pub fn dbg_wwdg_stop(&self) -> DBG_WWDG_STOP_R {
127668                DBG_WWDG_STOP_R::new(((self.bits >> 11) & 0x01) != 0)
127669            }
127670            ///Bit 12 - IWDG counter stopped when core is halted
127671            #[inline(always)]
127672            pub fn dbg_iwdg_stop(&self) -> DBG_IWDG_STOP_R {
127673                DBG_IWDG_STOP_R::new(((self.bits >> 12) & 0x01) != 0)
127674            }
127675            ///Bit 21 - Debug I2C1 SMBUS timeout stopped when Core is halted
127676            #[inline(always)]
127677            pub fn dbg_i2c1_stop(&self) -> DBG_I2C1_STOP_R {
127678                DBG_I2C1_STOP_R::new(((self.bits >> 21) & 0x01) != 0)
127679            }
127680            ///Bit 23 - Debug I2C3 SMBUS timeout stopped when core is halted
127681            #[inline(always)]
127682            pub fn dbg_i2c3_stop(&self) -> DBG_I2C3_STOP_R {
127683                DBG_I2C3_STOP_R::new(((self.bits >> 23) & 0x01) != 0)
127684            }
127685            ///Bit 31 - Debug LPTIM1 stopped when Core is halted
127686            #[inline(always)]
127687            pub fn dbg_lptim1_stop(&self) -> DBG_LPTIM1_STOP_R {
127688                DBG_LPTIM1_STOP_R::new(((self.bits >> 31) & 0x01) != 0)
127689            }
127690        }
127691        impl W {
127692            ///Bit 0 - Debug Timer 2 stopped when Core is halted
127693            #[inline(always)]
127694            pub fn dbg_timer2_stop(&mut self) -> DBG_TIMER2_STOP_W {
127695                DBG_TIMER2_STOP_W { w: self }
127696            }
127697            ///Bit 10 - RTC counter stopped when core is halted
127698            #[inline(always)]
127699            pub fn dbg_rtc_stop(&mut self) -> DBG_RTC_STOP_W {
127700                DBG_RTC_STOP_W { w: self }
127701            }
127702            ///Bit 11 - WWDG counter stopped when core is halted
127703            #[inline(always)]
127704            pub fn dbg_wwdg_stop(&mut self) -> DBG_WWDG_STOP_W {
127705                DBG_WWDG_STOP_W { w: self }
127706            }
127707            ///Bit 12 - IWDG counter stopped when core is halted
127708            #[inline(always)]
127709            pub fn dbg_iwdg_stop(&mut self) -> DBG_IWDG_STOP_W {
127710                DBG_IWDG_STOP_W { w: self }
127711            }
127712            ///Bit 21 - Debug I2C1 SMBUS timeout stopped when Core is halted
127713            #[inline(always)]
127714            pub fn dbg_i2c1_stop(&mut self) -> DBG_I2C1_STOP_W {
127715                DBG_I2C1_STOP_W { w: self }
127716            }
127717            ///Bit 23 - Debug I2C3 SMBUS timeout stopped when core is halted
127718            #[inline(always)]
127719            pub fn dbg_i2c3_stop(&mut self) -> DBG_I2C3_STOP_W {
127720                DBG_I2C3_STOP_W { w: self }
127721            }
127722            ///Bit 31 - Debug LPTIM1 stopped when Core is halted
127723            #[inline(always)]
127724            pub fn dbg_lptim1_stop(&mut self) -> DBG_LPTIM1_STOP_W {
127725                DBG_LPTIM1_STOP_W { w: self }
127726            }
127727        }
127728    }
127729    ///APB1 Low Freeze Register CPU2
127730    ///
127731    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
127732    ///
127733    ///For information about available fields see [c2ap_b1fzr1](c2ap_b1fzr1) module
127734    pub type C2AP_B1FZR1 = crate::Reg<u32, _C2AP_B1FZR1>;
127735    #[allow(missing_docs)]
127736    #[doc(hidden)]
127737    pub struct _C2AP_B1FZR1;
127738    ///`read()` method returns [c2ap_b1fzr1::R](c2ap_b1fzr1::R) reader structure
127739    impl crate::Readable for C2AP_B1FZR1 {}
127740    ///`write(|w| ..)` method takes [c2ap_b1fzr1::W](c2ap_b1fzr1::W) writer structure
127741    impl crate::Writable for C2AP_B1FZR1 {}
127742    ///APB1 Low Freeze Register CPU2
127743    pub mod c2ap_b1fzr1 {
127744        ///Reader of register C2AP_B1FZR1
127745        pub type R = crate::R<u32, super::C2AP_B1FZR1>;
127746        ///Writer for register C2AP_B1FZR1
127747        pub type W = crate::W<u32, super::C2AP_B1FZR1>;
127748        ///Register C2AP_B1FZR1 `reset()`'s with value 0
127749        impl crate::ResetValue for super::C2AP_B1FZR1 {
127750            type Type = u32;
127751            #[inline(always)]
127752            fn reset_value() -> Self::Type {
127753                0
127754            }
127755        }
127756        ///Reader of field `DBG_LPTIM2_STOP`
127757        pub type DBG_LPTIM2_STOP_R = crate::R<bool, bool>;
127758        ///Write proxy for field `DBG_LPTIM2_STOP`
127759        pub struct DBG_LPTIM2_STOP_W<'a> {
127760            w: &'a mut W,
127761        }
127762        impl<'a> DBG_LPTIM2_STOP_W<'a> {
127763            ///Sets the field bit
127764            #[inline(always)]
127765            pub fn set_bit(self) -> &'a mut W {
127766                self.bit(true)
127767            }
127768            ///Clears the field bit
127769            #[inline(always)]
127770            pub fn clear_bit(self) -> &'a mut W {
127771                self.bit(false)
127772            }
127773            ///Writes raw bits to the field
127774            #[inline(always)]
127775            pub fn bit(self, value: bool) -> &'a mut W {
127776                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
127777                self.w
127778            }
127779        }
127780        ///Reader of field `DBG_RTC_STOP`
127781        pub type DBG_RTC_STOP_R = crate::R<bool, bool>;
127782        ///Write proxy for field `DBG_RTC_STOP`
127783        pub struct DBG_RTC_STOP_W<'a> {
127784            w: &'a mut W,
127785        }
127786        impl<'a> DBG_RTC_STOP_W<'a> {
127787            ///Sets the field bit
127788            #[inline(always)]
127789            pub fn set_bit(self) -> &'a mut W {
127790                self.bit(true)
127791            }
127792            ///Clears the field bit
127793            #[inline(always)]
127794            pub fn clear_bit(self) -> &'a mut W {
127795                self.bit(false)
127796            }
127797            ///Writes raw bits to the field
127798            #[inline(always)]
127799            pub fn bit(self, value: bool) -> &'a mut W {
127800                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
127801                self.w
127802            }
127803        }
127804        ///Reader of field `DBG_IWDG_STOP`
127805        pub type DBG_IWDG_STOP_R = crate::R<bool, bool>;
127806        ///Write proxy for field `DBG_IWDG_STOP`
127807        pub struct DBG_IWDG_STOP_W<'a> {
127808            w: &'a mut W,
127809        }
127810        impl<'a> DBG_IWDG_STOP_W<'a> {
127811            ///Sets the field bit
127812            #[inline(always)]
127813            pub fn set_bit(self) -> &'a mut W {
127814                self.bit(true)
127815            }
127816            ///Clears the field bit
127817            #[inline(always)]
127818            pub fn clear_bit(self) -> &'a mut W {
127819                self.bit(false)
127820            }
127821            ///Writes raw bits to the field
127822            #[inline(always)]
127823            pub fn bit(self, value: bool) -> &'a mut W {
127824                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
127825                self.w
127826            }
127827        }
127828        ///Reader of field `DBG_I2C1_STOP`
127829        pub type DBG_I2C1_STOP_R = crate::R<bool, bool>;
127830        ///Write proxy for field `DBG_I2C1_STOP`
127831        pub struct DBG_I2C1_STOP_W<'a> {
127832            w: &'a mut W,
127833        }
127834        impl<'a> DBG_I2C1_STOP_W<'a> {
127835            ///Sets the field bit
127836            #[inline(always)]
127837            pub fn set_bit(self) -> &'a mut W {
127838                self.bit(true)
127839            }
127840            ///Clears the field bit
127841            #[inline(always)]
127842            pub fn clear_bit(self) -> &'a mut W {
127843                self.bit(false)
127844            }
127845            ///Writes raw bits to the field
127846            #[inline(always)]
127847            pub fn bit(self, value: bool) -> &'a mut W {
127848                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
127849                self.w
127850            }
127851        }
127852        ///Reader of field `DBG_I2C3_STOP`
127853        pub type DBG_I2C3_STOP_R = crate::R<bool, bool>;
127854        ///Write proxy for field `DBG_I2C3_STOP`
127855        pub struct DBG_I2C3_STOP_W<'a> {
127856            w: &'a mut W,
127857        }
127858        impl<'a> DBG_I2C3_STOP_W<'a> {
127859            ///Sets the field bit
127860            #[inline(always)]
127861            pub fn set_bit(self) -> &'a mut W {
127862                self.bit(true)
127863            }
127864            ///Clears the field bit
127865            #[inline(always)]
127866            pub fn clear_bit(self) -> &'a mut W {
127867                self.bit(false)
127868            }
127869            ///Writes raw bits to the field
127870            #[inline(always)]
127871            pub fn bit(self, value: bool) -> &'a mut W {
127872                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
127873                self.w
127874            }
127875        }
127876        ///Reader of field `DBG_LPTIM1_STOP`
127877        pub type DBG_LPTIM1_STOP_R = crate::R<bool, bool>;
127878        ///Write proxy for field `DBG_LPTIM1_STOP`
127879        pub struct DBG_LPTIM1_STOP_W<'a> {
127880            w: &'a mut W,
127881        }
127882        impl<'a> DBG_LPTIM1_STOP_W<'a> {
127883            ///Sets the field bit
127884            #[inline(always)]
127885            pub fn set_bit(self) -> &'a mut W {
127886                self.bit(true)
127887            }
127888            ///Clears the field bit
127889            #[inline(always)]
127890            pub fn clear_bit(self) -> &'a mut W {
127891                self.bit(false)
127892            }
127893            ///Writes raw bits to the field
127894            #[inline(always)]
127895            pub fn bit(self, value: bool) -> &'a mut W {
127896                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
127897                self.w
127898            }
127899        }
127900        impl R {
127901            ///Bit 0 - LPTIM2 counter stopped when core is halted
127902            #[inline(always)]
127903            pub fn dbg_lptim2_stop(&self) -> DBG_LPTIM2_STOP_R {
127904                DBG_LPTIM2_STOP_R::new((self.bits & 0x01) != 0)
127905            }
127906            ///Bit 10 - RTC counter stopped when core is halted
127907            #[inline(always)]
127908            pub fn dbg_rtc_stop(&self) -> DBG_RTC_STOP_R {
127909                DBG_RTC_STOP_R::new(((self.bits >> 10) & 0x01) != 0)
127910            }
127911            ///Bit 12 - IWDG stopped when core is halted
127912            #[inline(always)]
127913            pub fn dbg_iwdg_stop(&self) -> DBG_IWDG_STOP_R {
127914                DBG_IWDG_STOP_R::new(((self.bits >> 12) & 0x01) != 0)
127915            }
127916            ///Bit 21 - I2C1 SMBUS timeout stopped when core is halted
127917            #[inline(always)]
127918            pub fn dbg_i2c1_stop(&self) -> DBG_I2C1_STOP_R {
127919                DBG_I2C1_STOP_R::new(((self.bits >> 21) & 0x01) != 0)
127920            }
127921            ///Bit 23 - I2C3 SMBUS timeout stopped when core is halted
127922            #[inline(always)]
127923            pub fn dbg_i2c3_stop(&self) -> DBG_I2C3_STOP_R {
127924                DBG_I2C3_STOP_R::new(((self.bits >> 23) & 0x01) != 0)
127925            }
127926            ///Bit 31 - LPTIM1 counter stopped when core is halted
127927            #[inline(always)]
127928            pub fn dbg_lptim1_stop(&self) -> DBG_LPTIM1_STOP_R {
127929                DBG_LPTIM1_STOP_R::new(((self.bits >> 31) & 0x01) != 0)
127930            }
127931        }
127932        impl W {
127933            ///Bit 0 - LPTIM2 counter stopped when core is halted
127934            #[inline(always)]
127935            pub fn dbg_lptim2_stop(&mut self) -> DBG_LPTIM2_STOP_W {
127936                DBG_LPTIM2_STOP_W { w: self }
127937            }
127938            ///Bit 10 - RTC counter stopped when core is halted
127939            #[inline(always)]
127940            pub fn dbg_rtc_stop(&mut self) -> DBG_RTC_STOP_W {
127941                DBG_RTC_STOP_W { w: self }
127942            }
127943            ///Bit 12 - IWDG stopped when core is halted
127944            #[inline(always)]
127945            pub fn dbg_iwdg_stop(&mut self) -> DBG_IWDG_STOP_W {
127946                DBG_IWDG_STOP_W { w: self }
127947            }
127948            ///Bit 21 - I2C1 SMBUS timeout stopped when core is halted
127949            #[inline(always)]
127950            pub fn dbg_i2c1_stop(&mut self) -> DBG_I2C1_STOP_W {
127951                DBG_I2C1_STOP_W { w: self }
127952            }
127953            ///Bit 23 - I2C3 SMBUS timeout stopped when core is halted
127954            #[inline(always)]
127955            pub fn dbg_i2c3_stop(&mut self) -> DBG_I2C3_STOP_W {
127956                DBG_I2C3_STOP_W { w: self }
127957            }
127958            ///Bit 31 - LPTIM1 counter stopped when core is halted
127959            #[inline(always)]
127960            pub fn dbg_lptim1_stop(&mut self) -> DBG_LPTIM1_STOP_W {
127961                DBG_LPTIM1_STOP_W { w: self }
127962            }
127963        }
127964    }
127965    ///APB1 High Freeze Register CPU1
127966    ///
127967    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
127968    ///
127969    ///For information about available fields see [apb1fzr2](apb1fzr2) module
127970    pub type APB1FZR2 = crate::Reg<u32, _APB1FZR2>;
127971    #[allow(missing_docs)]
127972    #[doc(hidden)]
127973    pub struct _APB1FZR2;
127974    ///`read()` method returns [apb1fzr2::R](apb1fzr2::R) reader structure
127975    impl crate::Readable for APB1FZR2 {}
127976    ///`write(|w| ..)` method takes [apb1fzr2::W](apb1fzr2::W) writer structure
127977    impl crate::Writable for APB1FZR2 {}
127978    ///APB1 High Freeze Register CPU1
127979    pub mod apb1fzr2 {
127980        ///Reader of register APB1FZR2
127981        pub type R = crate::R<u32, super::APB1FZR2>;
127982        ///Writer for register APB1FZR2
127983        pub type W = crate::W<u32, super::APB1FZR2>;
127984        ///Register APB1FZR2 `reset()`'s with value 0
127985        impl crate::ResetValue for super::APB1FZR2 {
127986            type Type = u32;
127987            #[inline(always)]
127988            fn reset_value() -> Self::Type {
127989                0
127990            }
127991        }
127992        ///Reader of field `DBG_LPTIM2_STOP`
127993        pub type DBG_LPTIM2_STOP_R = crate::R<bool, bool>;
127994        ///Write proxy for field `DBG_LPTIM2_STOP`
127995        pub struct DBG_LPTIM2_STOP_W<'a> {
127996            w: &'a mut W,
127997        }
127998        impl<'a> DBG_LPTIM2_STOP_W<'a> {
127999            ///Sets the field bit
128000            #[inline(always)]
128001            pub fn set_bit(self) -> &'a mut W {
128002                self.bit(true)
128003            }
128004            ///Clears the field bit
128005            #[inline(always)]
128006            pub fn clear_bit(self) -> &'a mut W {
128007                self.bit(false)
128008            }
128009            ///Writes raw bits to the field
128010            #[inline(always)]
128011            pub fn bit(self, value: bool) -> &'a mut W {
128012                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
128013                self.w
128014            }
128015        }
128016        impl R {
128017            ///Bit 5 - LPTIM2 counter stopped when core is halted
128018            #[inline(always)]
128019            pub fn dbg_lptim2_stop(&self) -> DBG_LPTIM2_STOP_R {
128020                DBG_LPTIM2_STOP_R::new(((self.bits >> 5) & 0x01) != 0)
128021            }
128022        }
128023        impl W {
128024            ///Bit 5 - LPTIM2 counter stopped when core is halted
128025            #[inline(always)]
128026            pub fn dbg_lptim2_stop(&mut self) -> DBG_LPTIM2_STOP_W {
128027                DBG_LPTIM2_STOP_W { w: self }
128028            }
128029        }
128030    }
128031    ///APB1 High Freeze Register CPU2
128032    ///
128033    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
128034    ///
128035    ///For information about available fields see [c2apb1fzr2](c2apb1fzr2) module
128036    pub type C2APB1FZR2 = crate::Reg<u32, _C2APB1FZR2>;
128037    #[allow(missing_docs)]
128038    #[doc(hidden)]
128039    pub struct _C2APB1FZR2;
128040    ///`read()` method returns [c2apb1fzr2::R](c2apb1fzr2::R) reader structure
128041    impl crate::Readable for C2APB1FZR2 {}
128042    ///`write(|w| ..)` method takes [c2apb1fzr2::W](c2apb1fzr2::W) writer structure
128043    impl crate::Writable for C2APB1FZR2 {}
128044    ///APB1 High Freeze Register CPU2
128045    pub mod c2apb1fzr2 {
128046        ///Reader of register C2APB1FZR2
128047        pub type R = crate::R<u32, super::C2APB1FZR2>;
128048        ///Writer for register C2APB1FZR2
128049        pub type W = crate::W<u32, super::C2APB1FZR2>;
128050        ///Register C2APB1FZR2 `reset()`'s with value 0
128051        impl crate::ResetValue for super::C2APB1FZR2 {
128052            type Type = u32;
128053            #[inline(always)]
128054            fn reset_value() -> Self::Type {
128055                0
128056            }
128057        }
128058        ///Reader of field `DBG_LPTIM2_STOP`
128059        pub type DBG_LPTIM2_STOP_R = crate::R<bool, bool>;
128060        ///Write proxy for field `DBG_LPTIM2_STOP`
128061        pub struct DBG_LPTIM2_STOP_W<'a> {
128062            w: &'a mut W,
128063        }
128064        impl<'a> DBG_LPTIM2_STOP_W<'a> {
128065            ///Sets the field bit
128066            #[inline(always)]
128067            pub fn set_bit(self) -> &'a mut W {
128068                self.bit(true)
128069            }
128070            ///Clears the field bit
128071            #[inline(always)]
128072            pub fn clear_bit(self) -> &'a mut W {
128073                self.bit(false)
128074            }
128075            ///Writes raw bits to the field
128076            #[inline(always)]
128077            pub fn bit(self, value: bool) -> &'a mut W {
128078                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
128079                self.w
128080            }
128081        }
128082        impl R {
128083            ///Bit 5 - LPTIM2 counter stopped when core is halted
128084            #[inline(always)]
128085            pub fn dbg_lptim2_stop(&self) -> DBG_LPTIM2_STOP_R {
128086                DBG_LPTIM2_STOP_R::new(((self.bits >> 5) & 0x01) != 0)
128087            }
128088        }
128089        impl W {
128090            ///Bit 5 - LPTIM2 counter stopped when core is halted
128091            #[inline(always)]
128092            pub fn dbg_lptim2_stop(&mut self) -> DBG_LPTIM2_STOP_W {
128093                DBG_LPTIM2_STOP_W { w: self }
128094            }
128095        }
128096    }
128097    ///APB2 Freeze Register CPU1
128098    ///
128099    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
128100    ///
128101    ///For information about available fields see [apb2fzr](apb2fzr) module
128102    pub type APB2FZR = crate::Reg<u32, _APB2FZR>;
128103    #[allow(missing_docs)]
128104    #[doc(hidden)]
128105    pub struct _APB2FZR;
128106    ///`read()` method returns [apb2fzr::R](apb2fzr::R) reader structure
128107    impl crate::Readable for APB2FZR {}
128108    ///`write(|w| ..)` method takes [apb2fzr::W](apb2fzr::W) writer structure
128109    impl crate::Writable for APB2FZR {}
128110    ///APB2 Freeze Register CPU1
128111    pub mod apb2fzr {
128112        ///Reader of register APB2FZR
128113        pub type R = crate::R<u32, super::APB2FZR>;
128114        ///Writer for register APB2FZR
128115        pub type W = crate::W<u32, super::APB2FZR>;
128116        ///Register APB2FZR `reset()`'s with value 0
128117        impl crate::ResetValue for super::APB2FZR {
128118            type Type = u32;
128119            #[inline(always)]
128120            fn reset_value() -> Self::Type {
128121                0
128122            }
128123        }
128124        ///Reader of field `DBG_TIM1_STOP`
128125        pub type DBG_TIM1_STOP_R = crate::R<bool, bool>;
128126        ///Write proxy for field `DBG_TIM1_STOP`
128127        pub struct DBG_TIM1_STOP_W<'a> {
128128            w: &'a mut W,
128129        }
128130        impl<'a> DBG_TIM1_STOP_W<'a> {
128131            ///Sets the field bit
128132            #[inline(always)]
128133            pub fn set_bit(self) -> &'a mut W {
128134                self.bit(true)
128135            }
128136            ///Clears the field bit
128137            #[inline(always)]
128138            pub fn clear_bit(self) -> &'a mut W {
128139                self.bit(false)
128140            }
128141            ///Writes raw bits to the field
128142            #[inline(always)]
128143            pub fn bit(self, value: bool) -> &'a mut W {
128144                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
128145                self.w
128146            }
128147        }
128148        ///Reader of field `DBG_TIM16_STOP`
128149        pub type DBG_TIM16_STOP_R = crate::R<bool, bool>;
128150        ///Write proxy for field `DBG_TIM16_STOP`
128151        pub struct DBG_TIM16_STOP_W<'a> {
128152            w: &'a mut W,
128153        }
128154        impl<'a> DBG_TIM16_STOP_W<'a> {
128155            ///Sets the field bit
128156            #[inline(always)]
128157            pub fn set_bit(self) -> &'a mut W {
128158                self.bit(true)
128159            }
128160            ///Clears the field bit
128161            #[inline(always)]
128162            pub fn clear_bit(self) -> &'a mut W {
128163                self.bit(false)
128164            }
128165            ///Writes raw bits to the field
128166            #[inline(always)]
128167            pub fn bit(self, value: bool) -> &'a mut W {
128168                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
128169                self.w
128170            }
128171        }
128172        ///Reader of field `DBG_TIM17_STOP`
128173        pub type DBG_TIM17_STOP_R = crate::R<bool, bool>;
128174        ///Write proxy for field `DBG_TIM17_STOP`
128175        pub struct DBG_TIM17_STOP_W<'a> {
128176            w: &'a mut W,
128177        }
128178        impl<'a> DBG_TIM17_STOP_W<'a> {
128179            ///Sets the field bit
128180            #[inline(always)]
128181            pub fn set_bit(self) -> &'a mut W {
128182                self.bit(true)
128183            }
128184            ///Clears the field bit
128185            #[inline(always)]
128186            pub fn clear_bit(self) -> &'a mut W {
128187                self.bit(false)
128188            }
128189            ///Writes raw bits to the field
128190            #[inline(always)]
128191            pub fn bit(self, value: bool) -> &'a mut W {
128192                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
128193                self.w
128194            }
128195        }
128196        impl R {
128197            ///Bit 11 - TIM1 counter stopped when core is halted
128198            #[inline(always)]
128199            pub fn dbg_tim1_stop(&self) -> DBG_TIM1_STOP_R {
128200                DBG_TIM1_STOP_R::new(((self.bits >> 11) & 0x01) != 0)
128201            }
128202            ///Bit 17 - TIM16 counter stopped when core is halted
128203            #[inline(always)]
128204            pub fn dbg_tim16_stop(&self) -> DBG_TIM16_STOP_R {
128205                DBG_TIM16_STOP_R::new(((self.bits >> 17) & 0x01) != 0)
128206            }
128207            ///Bit 18 - TIM17 counter stopped when core is halted
128208            #[inline(always)]
128209            pub fn dbg_tim17_stop(&self) -> DBG_TIM17_STOP_R {
128210                DBG_TIM17_STOP_R::new(((self.bits >> 18) & 0x01) != 0)
128211            }
128212        }
128213        impl W {
128214            ///Bit 11 - TIM1 counter stopped when core is halted
128215            #[inline(always)]
128216            pub fn dbg_tim1_stop(&mut self) -> DBG_TIM1_STOP_W {
128217                DBG_TIM1_STOP_W { w: self }
128218            }
128219            ///Bit 17 - TIM16 counter stopped when core is halted
128220            #[inline(always)]
128221            pub fn dbg_tim16_stop(&mut self) -> DBG_TIM16_STOP_W {
128222                DBG_TIM16_STOP_W { w: self }
128223            }
128224            ///Bit 18 - TIM17 counter stopped when core is halted
128225            #[inline(always)]
128226            pub fn dbg_tim17_stop(&mut self) -> DBG_TIM17_STOP_W {
128227                DBG_TIM17_STOP_W { w: self }
128228            }
128229        }
128230    }
128231    ///APB2 Freeze Register CPU2
128232    ///
128233    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
128234    ///
128235    ///For information about available fields see [c2apb2fzr](c2apb2fzr) module
128236    pub type C2APB2FZR = crate::Reg<u32, _C2APB2FZR>;
128237    #[allow(missing_docs)]
128238    #[doc(hidden)]
128239    pub struct _C2APB2FZR;
128240    ///`read()` method returns [c2apb2fzr::R](c2apb2fzr::R) reader structure
128241    impl crate::Readable for C2APB2FZR {}
128242    ///`write(|w| ..)` method takes [c2apb2fzr::W](c2apb2fzr::W) writer structure
128243    impl crate::Writable for C2APB2FZR {}
128244    ///APB2 Freeze Register CPU2
128245    pub mod c2apb2fzr {
128246        ///Reader of register C2APB2FZR
128247        pub type R = crate::R<u32, super::C2APB2FZR>;
128248        ///Writer for register C2APB2FZR
128249        pub type W = crate::W<u32, super::C2APB2FZR>;
128250        ///Register C2APB2FZR `reset()`'s with value 0
128251        impl crate::ResetValue for super::C2APB2FZR {
128252            type Type = u32;
128253            #[inline(always)]
128254            fn reset_value() -> Self::Type {
128255                0
128256            }
128257        }
128258        ///Reader of field `DBG_TIM1_STOP`
128259        pub type DBG_TIM1_STOP_R = crate::R<bool, bool>;
128260        ///Write proxy for field `DBG_TIM1_STOP`
128261        pub struct DBG_TIM1_STOP_W<'a> {
128262            w: &'a mut W,
128263        }
128264        impl<'a> DBG_TIM1_STOP_W<'a> {
128265            ///Sets the field bit
128266            #[inline(always)]
128267            pub fn set_bit(self) -> &'a mut W {
128268                self.bit(true)
128269            }
128270            ///Clears the field bit
128271            #[inline(always)]
128272            pub fn clear_bit(self) -> &'a mut W {
128273                self.bit(false)
128274            }
128275            ///Writes raw bits to the field
128276            #[inline(always)]
128277            pub fn bit(self, value: bool) -> &'a mut W {
128278                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
128279                self.w
128280            }
128281        }
128282        ///Reader of field `DBG_TIM16_STOP`
128283        pub type DBG_TIM16_STOP_R = crate::R<bool, bool>;
128284        ///Write proxy for field `DBG_TIM16_STOP`
128285        pub struct DBG_TIM16_STOP_W<'a> {
128286            w: &'a mut W,
128287        }
128288        impl<'a> DBG_TIM16_STOP_W<'a> {
128289            ///Sets the field bit
128290            #[inline(always)]
128291            pub fn set_bit(self) -> &'a mut W {
128292                self.bit(true)
128293            }
128294            ///Clears the field bit
128295            #[inline(always)]
128296            pub fn clear_bit(self) -> &'a mut W {
128297                self.bit(false)
128298            }
128299            ///Writes raw bits to the field
128300            #[inline(always)]
128301            pub fn bit(self, value: bool) -> &'a mut W {
128302                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
128303                self.w
128304            }
128305        }
128306        ///Reader of field `DBG_TIM17_STOP`
128307        pub type DBG_TIM17_STOP_R = crate::R<bool, bool>;
128308        ///Write proxy for field `DBG_TIM17_STOP`
128309        pub struct DBG_TIM17_STOP_W<'a> {
128310            w: &'a mut W,
128311        }
128312        impl<'a> DBG_TIM17_STOP_W<'a> {
128313            ///Sets the field bit
128314            #[inline(always)]
128315            pub fn set_bit(self) -> &'a mut W {
128316                self.bit(true)
128317            }
128318            ///Clears the field bit
128319            #[inline(always)]
128320            pub fn clear_bit(self) -> &'a mut W {
128321                self.bit(false)
128322            }
128323            ///Writes raw bits to the field
128324            #[inline(always)]
128325            pub fn bit(self, value: bool) -> &'a mut W {
128326                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
128327                self.w
128328            }
128329        }
128330        impl R {
128331            ///Bit 11 - TIM1 counter stopped when core is halted
128332            #[inline(always)]
128333            pub fn dbg_tim1_stop(&self) -> DBG_TIM1_STOP_R {
128334                DBG_TIM1_STOP_R::new(((self.bits >> 11) & 0x01) != 0)
128335            }
128336            ///Bit 17 - TIM16 counter stopped when core is halted
128337            #[inline(always)]
128338            pub fn dbg_tim16_stop(&self) -> DBG_TIM16_STOP_R {
128339                DBG_TIM16_STOP_R::new(((self.bits >> 17) & 0x01) != 0)
128340            }
128341            ///Bit 18 - TIM17 counter stopped when core is halted
128342            #[inline(always)]
128343            pub fn dbg_tim17_stop(&self) -> DBG_TIM17_STOP_R {
128344                DBG_TIM17_STOP_R::new(((self.bits >> 18) & 0x01) != 0)
128345            }
128346        }
128347        impl W {
128348            ///Bit 11 - TIM1 counter stopped when core is halted
128349            #[inline(always)]
128350            pub fn dbg_tim1_stop(&mut self) -> DBG_TIM1_STOP_W {
128351                DBG_TIM1_STOP_W { w: self }
128352            }
128353            ///Bit 17 - TIM16 counter stopped when core is halted
128354            #[inline(always)]
128355            pub fn dbg_tim16_stop(&mut self) -> DBG_TIM16_STOP_W {
128356                DBG_TIM16_STOP_W { w: self }
128357            }
128358            ///Bit 18 - TIM17 counter stopped when core is halted
128359            #[inline(always)]
128360            pub fn dbg_tim17_stop(&mut self) -> DBG_TIM17_STOP_W {
128361                DBG_TIM17_STOP_W { w: self }
128362            }
128363        }
128364    }
128365}
128366///PKA
128367pub struct PKA {
128368    _marker: PhantomData<*const ()>,
128369}
128370unsafe impl Send for PKA {}
128371impl PKA {
128372    ///Returns a pointer to the register block
128373    #[inline(always)]
128374    pub const fn ptr() -> *const pka::RegisterBlock {
128375        0x5800_2000 as *const _
128376    }
128377}
128378impl Deref for PKA {
128379    type Target = pka::RegisterBlock;
128380    #[inline(always)]
128381    fn deref(&self) -> &Self::Target {
128382        unsafe { &*PKA::ptr() }
128383    }
128384}
128385///PKA
128386pub mod pka {
128387    ///Register block
128388    #[repr(C)]
128389    pub struct RegisterBlock {
128390        ///0x00 - Control register
128391        pub cr: CR,
128392        ///0x04 - PKA status register
128393        pub sr: SR,
128394        ///0x08 - PKA clear flag register
128395        pub clrfr: CLRFR,
128396        _reserved3: [u8; 8168usize],
128397        ///0x1ff4 - PKA version register
128398        pub verr: VERR,
128399        ///0x1ff8 - PKA identification register
128400        pub ipidr: IPIDR,
128401        ///0x1ffc - PKA size ID register
128402        pub sidr: SIDR,
128403    }
128404    ///Control register
128405    ///
128406    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
128407    ///
128408    ///For information about available fields see [cr](cr) module
128409    pub type CR = crate::Reg<u32, _CR>;
128410    #[allow(missing_docs)]
128411    #[doc(hidden)]
128412    pub struct _CR;
128413    ///`read()` method returns [cr::R](cr::R) reader structure
128414    impl crate::Readable for CR {}
128415    ///`write(|w| ..)` method takes [cr::W](cr::W) writer structure
128416    impl crate::Writable for CR {}
128417    ///Control register
128418    pub mod cr {
128419        ///Reader of register CR
128420        pub type R = crate::R<u32, super::CR>;
128421        ///Writer for register CR
128422        pub type W = crate::W<u32, super::CR>;
128423        ///Register CR `reset()`'s with value 0
128424        impl crate::ResetValue for super::CR {
128425            type Type = u32;
128426            #[inline(always)]
128427            fn reset_value() -> Self::Type {
128428                0
128429            }
128430        }
128431        ///Reader of field `ADDRERRIE`
128432        pub type ADDRERRIE_R = crate::R<bool, bool>;
128433        ///Write proxy for field `ADDRERRIE`
128434        pub struct ADDRERRIE_W<'a> {
128435            w: &'a mut W,
128436        }
128437        impl<'a> ADDRERRIE_W<'a> {
128438            ///Sets the field bit
128439            #[inline(always)]
128440            pub fn set_bit(self) -> &'a mut W {
128441                self.bit(true)
128442            }
128443            ///Clears the field bit
128444            #[inline(always)]
128445            pub fn clear_bit(self) -> &'a mut W {
128446                self.bit(false)
128447            }
128448            ///Writes raw bits to the field
128449            #[inline(always)]
128450            pub fn bit(self, value: bool) -> &'a mut W {
128451                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
128452                self.w
128453            }
128454        }
128455        ///Reader of field `RAMERRIE`
128456        pub type RAMERRIE_R = crate::R<bool, bool>;
128457        ///Write proxy for field `RAMERRIE`
128458        pub struct RAMERRIE_W<'a> {
128459            w: &'a mut W,
128460        }
128461        impl<'a> RAMERRIE_W<'a> {
128462            ///Sets the field bit
128463            #[inline(always)]
128464            pub fn set_bit(self) -> &'a mut W {
128465                self.bit(true)
128466            }
128467            ///Clears the field bit
128468            #[inline(always)]
128469            pub fn clear_bit(self) -> &'a mut W {
128470                self.bit(false)
128471            }
128472            ///Writes raw bits to the field
128473            #[inline(always)]
128474            pub fn bit(self, value: bool) -> &'a mut W {
128475                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
128476                self.w
128477            }
128478        }
128479        ///Reader of field `PROCENDIE`
128480        pub type PROCENDIE_R = crate::R<bool, bool>;
128481        ///Write proxy for field `PROCENDIE`
128482        pub struct PROCENDIE_W<'a> {
128483            w: &'a mut W,
128484        }
128485        impl<'a> PROCENDIE_W<'a> {
128486            ///Sets the field bit
128487            #[inline(always)]
128488            pub fn set_bit(self) -> &'a mut W {
128489                self.bit(true)
128490            }
128491            ///Clears the field bit
128492            #[inline(always)]
128493            pub fn clear_bit(self) -> &'a mut W {
128494                self.bit(false)
128495            }
128496            ///Writes raw bits to the field
128497            #[inline(always)]
128498            pub fn bit(self, value: bool) -> &'a mut W {
128499                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
128500                self.w
128501            }
128502        }
128503        ///Reader of field `MODE`
128504        pub type MODE_R = crate::R<u8, u8>;
128505        ///Write proxy for field `MODE`
128506        pub struct MODE_W<'a> {
128507            w: &'a mut W,
128508        }
128509        impl<'a> MODE_W<'a> {
128510            ///Writes raw bits to the field
128511            #[inline(always)]
128512            pub unsafe fn bits(self, value: u8) -> &'a mut W {
128513                self.w.bits = (self.w.bits & !(0x3f << 8)) | (((value as u32) & 0x3f) << 8);
128514                self.w
128515            }
128516        }
128517        ///Reader of field `SECLVL`
128518        pub type SECLVL_R = crate::R<bool, bool>;
128519        ///Write proxy for field `SECLVL`
128520        pub struct SECLVL_W<'a> {
128521            w: &'a mut W,
128522        }
128523        impl<'a> SECLVL_W<'a> {
128524            ///Sets the field bit
128525            #[inline(always)]
128526            pub fn set_bit(self) -> &'a mut W {
128527                self.bit(true)
128528            }
128529            ///Clears the field bit
128530            #[inline(always)]
128531            pub fn clear_bit(self) -> &'a mut W {
128532                self.bit(false)
128533            }
128534            ///Writes raw bits to the field
128535            #[inline(always)]
128536            pub fn bit(self, value: bool) -> &'a mut W {
128537                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
128538                self.w
128539            }
128540        }
128541        ///Reader of field `START`
128542        pub type START_R = crate::R<bool, bool>;
128543        ///Write proxy for field `START`
128544        pub struct START_W<'a> {
128545            w: &'a mut W,
128546        }
128547        impl<'a> START_W<'a> {
128548            ///Sets the field bit
128549            #[inline(always)]
128550            pub fn set_bit(self) -> &'a mut W {
128551                self.bit(true)
128552            }
128553            ///Clears the field bit
128554            #[inline(always)]
128555            pub fn clear_bit(self) -> &'a mut W {
128556                self.bit(false)
128557            }
128558            ///Writes raw bits to the field
128559            #[inline(always)]
128560            pub fn bit(self, value: bool) -> &'a mut W {
128561                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
128562                self.w
128563            }
128564        }
128565        ///Reader of field `EN`
128566        pub type EN_R = crate::R<bool, bool>;
128567        ///Write proxy for field `EN`
128568        pub struct EN_W<'a> {
128569            w: &'a mut W,
128570        }
128571        impl<'a> EN_W<'a> {
128572            ///Sets the field bit
128573            #[inline(always)]
128574            pub fn set_bit(self) -> &'a mut W {
128575                self.bit(true)
128576            }
128577            ///Clears the field bit
128578            #[inline(always)]
128579            pub fn clear_bit(self) -> &'a mut W {
128580                self.bit(false)
128581            }
128582            ///Writes raw bits to the field
128583            #[inline(always)]
128584            pub fn bit(self, value: bool) -> &'a mut W {
128585                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
128586                self.w
128587            }
128588        }
128589        impl R {
128590            ///Bit 20 - Address error interrupt enable
128591            #[inline(always)]
128592            pub fn addrerrie(&self) -> ADDRERRIE_R {
128593                ADDRERRIE_R::new(((self.bits >> 20) & 0x01) != 0)
128594            }
128595            ///Bit 19 - RAM error interrupt enable
128596            #[inline(always)]
128597            pub fn ramerrie(&self) -> RAMERRIE_R {
128598                RAMERRIE_R::new(((self.bits >> 19) & 0x01) != 0)
128599            }
128600            ///Bit 17 - End of operation interrupt enable
128601            #[inline(always)]
128602            pub fn procendie(&self) -> PROCENDIE_R {
128603                PROCENDIE_R::new(((self.bits >> 17) & 0x01) != 0)
128604            }
128605            ///Bits 8:13 - PKA Operation Mode
128606            #[inline(always)]
128607            pub fn mode(&self) -> MODE_R {
128608                MODE_R::new(((self.bits >> 8) & 0x3f) as u8)
128609            }
128610            ///Bit 2 - Security Enable
128611            #[inline(always)]
128612            pub fn seclvl(&self) -> SECLVL_R {
128613                SECLVL_R::new(((self.bits >> 2) & 0x01) != 0)
128614            }
128615            ///Bit 1 - Start the operation
128616            #[inline(always)]
128617            pub fn start(&self) -> START_R {
128618                START_R::new(((self.bits >> 1) & 0x01) != 0)
128619            }
128620            ///Bit 0 - Peripheral Enable
128621            #[inline(always)]
128622            pub fn en(&self) -> EN_R {
128623                EN_R::new((self.bits & 0x01) != 0)
128624            }
128625        }
128626        impl W {
128627            ///Bit 20 - Address error interrupt enable
128628            #[inline(always)]
128629            pub fn addrerrie(&mut self) -> ADDRERRIE_W {
128630                ADDRERRIE_W { w: self }
128631            }
128632            ///Bit 19 - RAM error interrupt enable
128633            #[inline(always)]
128634            pub fn ramerrie(&mut self) -> RAMERRIE_W {
128635                RAMERRIE_W { w: self }
128636            }
128637            ///Bit 17 - End of operation interrupt enable
128638            #[inline(always)]
128639            pub fn procendie(&mut self) -> PROCENDIE_W {
128640                PROCENDIE_W { w: self }
128641            }
128642            ///Bits 8:13 - PKA Operation Mode
128643            #[inline(always)]
128644            pub fn mode(&mut self) -> MODE_W {
128645                MODE_W { w: self }
128646            }
128647            ///Bit 2 - Security Enable
128648            #[inline(always)]
128649            pub fn seclvl(&mut self) -> SECLVL_W {
128650                SECLVL_W { w: self }
128651            }
128652            ///Bit 1 - Start the operation
128653            #[inline(always)]
128654            pub fn start(&mut self) -> START_W {
128655                START_W { w: self }
128656            }
128657            ///Bit 0 - Peripheral Enable
128658            #[inline(always)]
128659            pub fn en(&mut self) -> EN_W {
128660                EN_W { w: self }
128661            }
128662        }
128663    }
128664    ///PKA status register
128665    ///
128666    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
128667    ///
128668    ///For information about available fields see [sr](sr) module
128669    pub type SR = crate::Reg<u32, _SR>;
128670    #[allow(missing_docs)]
128671    #[doc(hidden)]
128672    pub struct _SR;
128673    ///`read()` method returns [sr::R](sr::R) reader structure
128674    impl crate::Readable for SR {}
128675    ///PKA status register
128676    pub mod sr {
128677        ///Reader of register SR
128678        pub type R = crate::R<u32, super::SR>;
128679        ///Reader of field `ADDRERRF`
128680        pub type ADDRERRF_R = crate::R<bool, bool>;
128681        ///Reader of field `RAMERRF`
128682        pub type RAMERRF_R = crate::R<bool, bool>;
128683        ///Reader of field `PROCENDF`
128684        pub type PROCENDF_R = crate::R<bool, bool>;
128685        ///Reader of field `BUSY`
128686        pub type BUSY_R = crate::R<bool, bool>;
128687        impl R {
128688            ///Bit 20 - Address error flag
128689            #[inline(always)]
128690            pub fn addrerrf(&self) -> ADDRERRF_R {
128691                ADDRERRF_R::new(((self.bits >> 20) & 0x01) != 0)
128692            }
128693            ///Bit 19 - RAM error flag
128694            #[inline(always)]
128695            pub fn ramerrf(&self) -> RAMERRF_R {
128696                RAMERRF_R::new(((self.bits >> 19) & 0x01) != 0)
128697            }
128698            ///Bit 17 - PKA End of Operation flag
128699            #[inline(always)]
128700            pub fn procendf(&self) -> PROCENDF_R {
128701                PROCENDF_R::new(((self.bits >> 17) & 0x01) != 0)
128702            }
128703            ///Bit 16 - PKA Operation in progress
128704            #[inline(always)]
128705            pub fn busy(&self) -> BUSY_R {
128706                BUSY_R::new(((self.bits >> 16) & 0x01) != 0)
128707            }
128708        }
128709    }
128710    ///PKA clear flag register
128711    ///
128712    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
128713    ///
128714    ///For information about available fields see [clrfr](clrfr) module
128715    pub type CLRFR = crate::Reg<u32, _CLRFR>;
128716    #[allow(missing_docs)]
128717    #[doc(hidden)]
128718    pub struct _CLRFR;
128719    ///`read()` method returns [clrfr::R](clrfr::R) reader structure
128720    impl crate::Readable for CLRFR {}
128721    ///`write(|w| ..)` method takes [clrfr::W](clrfr::W) writer structure
128722    impl crate::Writable for CLRFR {}
128723    ///PKA clear flag register
128724    pub mod clrfr {
128725        ///Reader of register CLRFR
128726        pub type R = crate::R<u32, super::CLRFR>;
128727        ///Writer for register CLRFR
128728        pub type W = crate::W<u32, super::CLRFR>;
128729        ///Register CLRFR `reset()`'s with value 0
128730        impl crate::ResetValue for super::CLRFR {
128731            type Type = u32;
128732            #[inline(always)]
128733            fn reset_value() -> Self::Type {
128734                0
128735            }
128736        }
128737        ///Reader of field `ADDRERRFC`
128738        pub type ADDRERRFC_R = crate::R<bool, bool>;
128739        ///Write proxy for field `ADDRERRFC`
128740        pub struct ADDRERRFC_W<'a> {
128741            w: &'a mut W,
128742        }
128743        impl<'a> ADDRERRFC_W<'a> {
128744            ///Sets the field bit
128745            #[inline(always)]
128746            pub fn set_bit(self) -> &'a mut W {
128747                self.bit(true)
128748            }
128749            ///Clears the field bit
128750            #[inline(always)]
128751            pub fn clear_bit(self) -> &'a mut W {
128752                self.bit(false)
128753            }
128754            ///Writes raw bits to the field
128755            #[inline(always)]
128756            pub fn bit(self, value: bool) -> &'a mut W {
128757                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
128758                self.w
128759            }
128760        }
128761        ///Reader of field `RAMERRFC`
128762        pub type RAMERRFC_R = crate::R<bool, bool>;
128763        ///Write proxy for field `RAMERRFC`
128764        pub struct RAMERRFC_W<'a> {
128765            w: &'a mut W,
128766        }
128767        impl<'a> RAMERRFC_W<'a> {
128768            ///Sets the field bit
128769            #[inline(always)]
128770            pub fn set_bit(self) -> &'a mut W {
128771                self.bit(true)
128772            }
128773            ///Clears the field bit
128774            #[inline(always)]
128775            pub fn clear_bit(self) -> &'a mut W {
128776                self.bit(false)
128777            }
128778            ///Writes raw bits to the field
128779            #[inline(always)]
128780            pub fn bit(self, value: bool) -> &'a mut W {
128781                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
128782                self.w
128783            }
128784        }
128785        ///Reader of field `PROCENDFC`
128786        pub type PROCENDFC_R = crate::R<bool, bool>;
128787        ///Write proxy for field `PROCENDFC`
128788        pub struct PROCENDFC_W<'a> {
128789            w: &'a mut W,
128790        }
128791        impl<'a> PROCENDFC_W<'a> {
128792            ///Sets the field bit
128793            #[inline(always)]
128794            pub fn set_bit(self) -> &'a mut W {
128795                self.bit(true)
128796            }
128797            ///Clears the field bit
128798            #[inline(always)]
128799            pub fn clear_bit(self) -> &'a mut W {
128800                self.bit(false)
128801            }
128802            ///Writes raw bits to the field
128803            #[inline(always)]
128804            pub fn bit(self, value: bool) -> &'a mut W {
128805                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
128806                self.w
128807            }
128808        }
128809        impl R {
128810            ///Bit 20 - Clear Address error flag
128811            #[inline(always)]
128812            pub fn addrerrfc(&self) -> ADDRERRFC_R {
128813                ADDRERRFC_R::new(((self.bits >> 20) & 0x01) != 0)
128814            }
128815            ///Bit 19 - Clear RAM error flag
128816            #[inline(always)]
128817            pub fn ramerrfc(&self) -> RAMERRFC_R {
128818                RAMERRFC_R::new(((self.bits >> 19) & 0x01) != 0)
128819            }
128820            ///Bit 17 - Clear PKA End of Operation flag
128821            #[inline(always)]
128822            pub fn procendfc(&self) -> PROCENDFC_R {
128823                PROCENDFC_R::new(((self.bits >> 17) & 0x01) != 0)
128824            }
128825        }
128826        impl W {
128827            ///Bit 20 - Clear Address error flag
128828            #[inline(always)]
128829            pub fn addrerrfc(&mut self) -> ADDRERRFC_W {
128830                ADDRERRFC_W { w: self }
128831            }
128832            ///Bit 19 - Clear RAM error flag
128833            #[inline(always)]
128834            pub fn ramerrfc(&mut self) -> RAMERRFC_W {
128835                RAMERRFC_W { w: self }
128836            }
128837            ///Bit 17 - Clear PKA End of Operation flag
128838            #[inline(always)]
128839            pub fn procendfc(&mut self) -> PROCENDFC_W {
128840                PROCENDFC_W { w: self }
128841            }
128842        }
128843    }
128844    ///PKA version register
128845    ///
128846    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
128847    ///
128848    ///For information about available fields see [verr](verr) module
128849    pub type VERR = crate::Reg<u32, _VERR>;
128850    #[allow(missing_docs)]
128851    #[doc(hidden)]
128852    pub struct _VERR;
128853    ///`read()` method returns [verr::R](verr::R) reader structure
128854    impl crate::Readable for VERR {}
128855    ///PKA version register
128856    pub mod verr {
128857        ///Reader of register VERR
128858        pub type R = crate::R<u32, super::VERR>;
128859        ///Reader of field `MINREV`
128860        pub type MINREV_R = crate::R<u8, u8>;
128861        ///Reader of field `MAJREV`
128862        pub type MAJREV_R = crate::R<u8, u8>;
128863        impl R {
128864            ///Bits 0:3 - Minor revision
128865            #[inline(always)]
128866            pub fn minrev(&self) -> MINREV_R {
128867                MINREV_R::new((self.bits & 0x0f) as u8)
128868            }
128869            ///Bits 4:7 - Major revision
128870            #[inline(always)]
128871            pub fn majrev(&self) -> MAJREV_R {
128872                MAJREV_R::new(((self.bits >> 4) & 0x0f) as u8)
128873            }
128874        }
128875    }
128876    ///PKA identification register
128877    ///
128878    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
128879    ///
128880    ///For information about available fields see [ipidr](ipidr) module
128881    pub type IPIDR = crate::Reg<u32, _IPIDR>;
128882    #[allow(missing_docs)]
128883    #[doc(hidden)]
128884    pub struct _IPIDR;
128885    ///`read()` method returns [ipidr::R](ipidr::R) reader structure
128886    impl crate::Readable for IPIDR {}
128887    ///PKA identification register
128888    pub mod ipidr {
128889        ///Reader of register IPIDR
128890        pub type R = crate::R<u32, super::IPIDR>;
128891        ///Reader of field `ID`
128892        pub type ID_R = crate::R<u32, u32>;
128893        impl R {
128894            ///Bits 0:31 - Identification Code
128895            #[inline(always)]
128896            pub fn id(&self) -> ID_R {
128897                ID_R::new((self.bits & 0xffff_ffff) as u32)
128898            }
128899        }
128900    }
128901    ///PKA size ID register
128902    ///
128903    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
128904    ///
128905    ///For information about available fields see [sidr](sidr) module
128906    pub type SIDR = crate::Reg<u32, _SIDR>;
128907    #[allow(missing_docs)]
128908    #[doc(hidden)]
128909    pub struct _SIDR;
128910    ///`read()` method returns [sidr::R](sidr::R) reader structure
128911    impl crate::Readable for SIDR {}
128912    ///PKA size ID register
128913    pub mod sidr {
128914        ///Reader of register SIDR
128915        pub type R = crate::R<u32, super::SIDR>;
128916        ///Reader of field `SID`
128917        pub type SID_R = crate::R<u32, u32>;
128918        impl R {
128919            ///Bits 0:31 - Side Identification Code
128920            #[inline(always)]
128921            pub fn sid(&self) -> SID_R {
128922                SID_R::new((self.bits & 0xffff_ffff) as u32)
128923            }
128924        }
128925    }
128926}
128927///IPCC
128928pub struct IPCC {
128929    _marker: PhantomData<*const ()>,
128930}
128931unsafe impl Send for IPCC {}
128932impl IPCC {
128933    ///Returns a pointer to the register block
128934    #[inline(always)]
128935    pub const fn ptr() -> *const ipcc::RegisterBlock {
128936        0x5800_0c00 as *const _
128937    }
128938}
128939impl Deref for IPCC {
128940    type Target = ipcc::RegisterBlock;
128941    #[inline(always)]
128942    fn deref(&self) -> &Self::Target {
128943        unsafe { &*IPCC::ptr() }
128944    }
128945}
128946///IPCC
128947pub mod ipcc {
128948    ///Register block
128949    #[repr(C)]
128950    pub struct RegisterBlock {
128951        ///0x00 - Control register CPU1
128952        pub c1cr: C1CR,
128953        ///0x04 - Mask register CPU1
128954        pub c1mr: C1MR,
128955        ///0x08 - Status Set or Clear register CPU1
128956        pub c1scr: C1SCR,
128957        ///0x0c - CPU1 to CPU2 status register
128958        pub c1toc2sr: C1TOC2SR,
128959        ///0x10 - Control register CPU2
128960        pub c2cr: C2CR,
128961        ///0x14 - Mask register CPU2
128962        pub c2mr: C2MR,
128963        ///0x18 - Status Set or Clear register CPU2
128964        pub c2scr: C2SCR,
128965        ///0x1c - CPU2 to CPU1 status register
128966        pub c2toc1sr: C2TOC1SR,
128967        _reserved8: [u8; 976usize],
128968        ///0x3f0 - IPCC Hardware configuration register
128969        pub hwcfgr: HWCFGR,
128970        ///0x3f4 - IPCC version register
128971        pub verr: VERR,
128972        ///0x3f8 - IPCC indentification register
128973        pub ipidr: IPIDR,
128974        ///0x3fc - IPCC size indentification register
128975        pub sidr: SIDR,
128976    }
128977    ///Control register CPU1
128978    ///
128979    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
128980    ///
128981    ///For information about available fields see [c1cr](c1cr) module
128982    pub type C1CR = crate::Reg<u32, _C1CR>;
128983    #[allow(missing_docs)]
128984    #[doc(hidden)]
128985    pub struct _C1CR;
128986    ///`read()` method returns [c1cr::R](c1cr::R) reader structure
128987    impl crate::Readable for C1CR {}
128988    ///`write(|w| ..)` method takes [c1cr::W](c1cr::W) writer structure
128989    impl crate::Writable for C1CR {}
128990    ///Control register CPU1
128991    pub mod c1cr {
128992        ///Reader of register C1CR
128993        pub type R = crate::R<u32, super::C1CR>;
128994        ///Writer for register C1CR
128995        pub type W = crate::W<u32, super::C1CR>;
128996        ///Register C1CR `reset()`'s with value 0
128997        impl crate::ResetValue for super::C1CR {
128998            type Type = u32;
128999            #[inline(always)]
129000            fn reset_value() -> Self::Type {
129001                0
129002            }
129003        }
129004        ///Reader of field `TXFIE`
129005        pub type TXFIE_R = crate::R<bool, bool>;
129006        ///Write proxy for field `TXFIE`
129007        pub struct TXFIE_W<'a> {
129008            w: &'a mut W,
129009        }
129010        impl<'a> TXFIE_W<'a> {
129011            ///Sets the field bit
129012            #[inline(always)]
129013            pub fn set_bit(self) -> &'a mut W {
129014                self.bit(true)
129015            }
129016            ///Clears the field bit
129017            #[inline(always)]
129018            pub fn clear_bit(self) -> &'a mut W {
129019                self.bit(false)
129020            }
129021            ///Writes raw bits to the field
129022            #[inline(always)]
129023            pub fn bit(self, value: bool) -> &'a mut W {
129024                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
129025                self.w
129026            }
129027        }
129028        ///Reader of field `RXOIE`
129029        pub type RXOIE_R = crate::R<bool, bool>;
129030        ///Write proxy for field `RXOIE`
129031        pub struct RXOIE_W<'a> {
129032            w: &'a mut W,
129033        }
129034        impl<'a> RXOIE_W<'a> {
129035            ///Sets the field bit
129036            #[inline(always)]
129037            pub fn set_bit(self) -> &'a mut W {
129038                self.bit(true)
129039            }
129040            ///Clears the field bit
129041            #[inline(always)]
129042            pub fn clear_bit(self) -> &'a mut W {
129043                self.bit(false)
129044            }
129045            ///Writes raw bits to the field
129046            #[inline(always)]
129047            pub fn bit(self, value: bool) -> &'a mut W {
129048                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
129049                self.w
129050            }
129051        }
129052        impl R {
129053            ///Bit 16 - processor 1 Transmit channel free interrupt enable
129054            #[inline(always)]
129055            pub fn txfie(&self) -> TXFIE_R {
129056                TXFIE_R::new(((self.bits >> 16) & 0x01) != 0)
129057            }
129058            ///Bit 0 - processor 1 Receive channel occupied interrupt enable
129059            #[inline(always)]
129060            pub fn rxoie(&self) -> RXOIE_R {
129061                RXOIE_R::new((self.bits & 0x01) != 0)
129062            }
129063        }
129064        impl W {
129065            ///Bit 16 - processor 1 Transmit channel free interrupt enable
129066            #[inline(always)]
129067            pub fn txfie(&mut self) -> TXFIE_W {
129068                TXFIE_W { w: self }
129069            }
129070            ///Bit 0 - processor 1 Receive channel occupied interrupt enable
129071            #[inline(always)]
129072            pub fn rxoie(&mut self) -> RXOIE_W {
129073                RXOIE_W { w: self }
129074            }
129075        }
129076    }
129077    ///Mask register CPU1
129078    ///
129079    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
129080    ///
129081    ///For information about available fields see [c1mr](c1mr) module
129082    pub type C1MR = crate::Reg<u32, _C1MR>;
129083    #[allow(missing_docs)]
129084    #[doc(hidden)]
129085    pub struct _C1MR;
129086    ///`read()` method returns [c1mr::R](c1mr::R) reader structure
129087    impl crate::Readable for C1MR {}
129088    ///`write(|w| ..)` method takes [c1mr::W](c1mr::W) writer structure
129089    impl crate::Writable for C1MR {}
129090    ///Mask register CPU1
129091    pub mod c1mr {
129092        ///Reader of register C1MR
129093        pub type R = crate::R<u32, super::C1MR>;
129094        ///Writer for register C1MR
129095        pub type W = crate::W<u32, super::C1MR>;
129096        ///Register C1MR `reset()`'s with value 0xffff_ffff
129097        impl crate::ResetValue for super::C1MR {
129098            type Type = u32;
129099            #[inline(always)]
129100            fn reset_value() -> Self::Type {
129101                0xffff_ffff
129102            }
129103        }
129104        ///Reader of field `CH6FM`
129105        pub type CH6FM_R = crate::R<bool, bool>;
129106        ///Write proxy for field `CH6FM`
129107        pub struct CH6FM_W<'a> {
129108            w: &'a mut W,
129109        }
129110        impl<'a> CH6FM_W<'a> {
129111            ///Sets the field bit
129112            #[inline(always)]
129113            pub fn set_bit(self) -> &'a mut W {
129114                self.bit(true)
129115            }
129116            ///Clears the field bit
129117            #[inline(always)]
129118            pub fn clear_bit(self) -> &'a mut W {
129119                self.bit(false)
129120            }
129121            ///Writes raw bits to the field
129122            #[inline(always)]
129123            pub fn bit(self, value: bool) -> &'a mut W {
129124                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
129125                self.w
129126            }
129127        }
129128        ///Reader of field `CH5FM`
129129        pub type CH5FM_R = crate::R<bool, bool>;
129130        ///Write proxy for field `CH5FM`
129131        pub struct CH5FM_W<'a> {
129132            w: &'a mut W,
129133        }
129134        impl<'a> CH5FM_W<'a> {
129135            ///Sets the field bit
129136            #[inline(always)]
129137            pub fn set_bit(self) -> &'a mut W {
129138                self.bit(true)
129139            }
129140            ///Clears the field bit
129141            #[inline(always)]
129142            pub fn clear_bit(self) -> &'a mut W {
129143                self.bit(false)
129144            }
129145            ///Writes raw bits to the field
129146            #[inline(always)]
129147            pub fn bit(self, value: bool) -> &'a mut W {
129148                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
129149                self.w
129150            }
129151        }
129152        ///Reader of field `CH4FM`
129153        pub type CH4FM_R = crate::R<bool, bool>;
129154        ///Write proxy for field `CH4FM`
129155        pub struct CH4FM_W<'a> {
129156            w: &'a mut W,
129157        }
129158        impl<'a> CH4FM_W<'a> {
129159            ///Sets the field bit
129160            #[inline(always)]
129161            pub fn set_bit(self) -> &'a mut W {
129162                self.bit(true)
129163            }
129164            ///Clears the field bit
129165            #[inline(always)]
129166            pub fn clear_bit(self) -> &'a mut W {
129167                self.bit(false)
129168            }
129169            ///Writes raw bits to the field
129170            #[inline(always)]
129171            pub fn bit(self, value: bool) -> &'a mut W {
129172                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
129173                self.w
129174            }
129175        }
129176        ///Reader of field `CH3FM`
129177        pub type CH3FM_R = crate::R<bool, bool>;
129178        ///Write proxy for field `CH3FM`
129179        pub struct CH3FM_W<'a> {
129180            w: &'a mut W,
129181        }
129182        impl<'a> CH3FM_W<'a> {
129183            ///Sets the field bit
129184            #[inline(always)]
129185            pub fn set_bit(self) -> &'a mut W {
129186                self.bit(true)
129187            }
129188            ///Clears the field bit
129189            #[inline(always)]
129190            pub fn clear_bit(self) -> &'a mut W {
129191                self.bit(false)
129192            }
129193            ///Writes raw bits to the field
129194            #[inline(always)]
129195            pub fn bit(self, value: bool) -> &'a mut W {
129196                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
129197                self.w
129198            }
129199        }
129200        ///Reader of field `CH2FM`
129201        pub type CH2FM_R = crate::R<bool, bool>;
129202        ///Write proxy for field `CH2FM`
129203        pub struct CH2FM_W<'a> {
129204            w: &'a mut W,
129205        }
129206        impl<'a> CH2FM_W<'a> {
129207            ///Sets the field bit
129208            #[inline(always)]
129209            pub fn set_bit(self) -> &'a mut W {
129210                self.bit(true)
129211            }
129212            ///Clears the field bit
129213            #[inline(always)]
129214            pub fn clear_bit(self) -> &'a mut W {
129215                self.bit(false)
129216            }
129217            ///Writes raw bits to the field
129218            #[inline(always)]
129219            pub fn bit(self, value: bool) -> &'a mut W {
129220                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
129221                self.w
129222            }
129223        }
129224        ///Reader of field `CH1FM`
129225        pub type CH1FM_R = crate::R<bool, bool>;
129226        ///Write proxy for field `CH1FM`
129227        pub struct CH1FM_W<'a> {
129228            w: &'a mut W,
129229        }
129230        impl<'a> CH1FM_W<'a> {
129231            ///Sets the field bit
129232            #[inline(always)]
129233            pub fn set_bit(self) -> &'a mut W {
129234                self.bit(true)
129235            }
129236            ///Clears the field bit
129237            #[inline(always)]
129238            pub fn clear_bit(self) -> &'a mut W {
129239                self.bit(false)
129240            }
129241            ///Writes raw bits to the field
129242            #[inline(always)]
129243            pub fn bit(self, value: bool) -> &'a mut W {
129244                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
129245                self.w
129246            }
129247        }
129248        ///Reader of field `CH6OM`
129249        pub type CH6OM_R = crate::R<bool, bool>;
129250        ///Write proxy for field `CH6OM`
129251        pub struct CH6OM_W<'a> {
129252            w: &'a mut W,
129253        }
129254        impl<'a> CH6OM_W<'a> {
129255            ///Sets the field bit
129256            #[inline(always)]
129257            pub fn set_bit(self) -> &'a mut W {
129258                self.bit(true)
129259            }
129260            ///Clears the field bit
129261            #[inline(always)]
129262            pub fn clear_bit(self) -> &'a mut W {
129263                self.bit(false)
129264            }
129265            ///Writes raw bits to the field
129266            #[inline(always)]
129267            pub fn bit(self, value: bool) -> &'a mut W {
129268                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
129269                self.w
129270            }
129271        }
129272        ///Reader of field `CH5OM`
129273        pub type CH5OM_R = crate::R<bool, bool>;
129274        ///Write proxy for field `CH5OM`
129275        pub struct CH5OM_W<'a> {
129276            w: &'a mut W,
129277        }
129278        impl<'a> CH5OM_W<'a> {
129279            ///Sets the field bit
129280            #[inline(always)]
129281            pub fn set_bit(self) -> &'a mut W {
129282                self.bit(true)
129283            }
129284            ///Clears the field bit
129285            #[inline(always)]
129286            pub fn clear_bit(self) -> &'a mut W {
129287                self.bit(false)
129288            }
129289            ///Writes raw bits to the field
129290            #[inline(always)]
129291            pub fn bit(self, value: bool) -> &'a mut W {
129292                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
129293                self.w
129294            }
129295        }
129296        ///Reader of field `CH4OM`
129297        pub type CH4OM_R = crate::R<bool, bool>;
129298        ///Write proxy for field `CH4OM`
129299        pub struct CH4OM_W<'a> {
129300            w: &'a mut W,
129301        }
129302        impl<'a> CH4OM_W<'a> {
129303            ///Sets the field bit
129304            #[inline(always)]
129305            pub fn set_bit(self) -> &'a mut W {
129306                self.bit(true)
129307            }
129308            ///Clears the field bit
129309            #[inline(always)]
129310            pub fn clear_bit(self) -> &'a mut W {
129311                self.bit(false)
129312            }
129313            ///Writes raw bits to the field
129314            #[inline(always)]
129315            pub fn bit(self, value: bool) -> &'a mut W {
129316                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
129317                self.w
129318            }
129319        }
129320        ///Reader of field `CH3OM`
129321        pub type CH3OM_R = crate::R<bool, bool>;
129322        ///Write proxy for field `CH3OM`
129323        pub struct CH3OM_W<'a> {
129324            w: &'a mut W,
129325        }
129326        impl<'a> CH3OM_W<'a> {
129327            ///Sets the field bit
129328            #[inline(always)]
129329            pub fn set_bit(self) -> &'a mut W {
129330                self.bit(true)
129331            }
129332            ///Clears the field bit
129333            #[inline(always)]
129334            pub fn clear_bit(self) -> &'a mut W {
129335                self.bit(false)
129336            }
129337            ///Writes raw bits to the field
129338            #[inline(always)]
129339            pub fn bit(self, value: bool) -> &'a mut W {
129340                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
129341                self.w
129342            }
129343        }
129344        ///Reader of field `CH2OM`
129345        pub type CH2OM_R = crate::R<bool, bool>;
129346        ///Write proxy for field `CH2OM`
129347        pub struct CH2OM_W<'a> {
129348            w: &'a mut W,
129349        }
129350        impl<'a> CH2OM_W<'a> {
129351            ///Sets the field bit
129352            #[inline(always)]
129353            pub fn set_bit(self) -> &'a mut W {
129354                self.bit(true)
129355            }
129356            ///Clears the field bit
129357            #[inline(always)]
129358            pub fn clear_bit(self) -> &'a mut W {
129359                self.bit(false)
129360            }
129361            ///Writes raw bits to the field
129362            #[inline(always)]
129363            pub fn bit(self, value: bool) -> &'a mut W {
129364                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
129365                self.w
129366            }
129367        }
129368        ///Reader of field `CH1OM`
129369        pub type CH1OM_R = crate::R<bool, bool>;
129370        ///Write proxy for field `CH1OM`
129371        pub struct CH1OM_W<'a> {
129372            w: &'a mut W,
129373        }
129374        impl<'a> CH1OM_W<'a> {
129375            ///Sets the field bit
129376            #[inline(always)]
129377            pub fn set_bit(self) -> &'a mut W {
129378                self.bit(true)
129379            }
129380            ///Clears the field bit
129381            #[inline(always)]
129382            pub fn clear_bit(self) -> &'a mut W {
129383                self.bit(false)
129384            }
129385            ///Writes raw bits to the field
129386            #[inline(always)]
129387            pub fn bit(self, value: bool) -> &'a mut W {
129388                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
129389                self.w
129390            }
129391        }
129392        impl R {
129393            ///Bit 21 - processor 1 Transmit channel 6 free interrupt mask
129394            #[inline(always)]
129395            pub fn ch6fm(&self) -> CH6FM_R {
129396                CH6FM_R::new(((self.bits >> 21) & 0x01) != 0)
129397            }
129398            ///Bit 20 - processor 1 Transmit channel 5 free interrupt mask
129399            #[inline(always)]
129400            pub fn ch5fm(&self) -> CH5FM_R {
129401                CH5FM_R::new(((self.bits >> 20) & 0x01) != 0)
129402            }
129403            ///Bit 19 - processor 1 Transmit channel 4 free interrupt mask
129404            #[inline(always)]
129405            pub fn ch4fm(&self) -> CH4FM_R {
129406                CH4FM_R::new(((self.bits >> 19) & 0x01) != 0)
129407            }
129408            ///Bit 18 - processor 1 Transmit channel 3 free interrupt mask
129409            #[inline(always)]
129410            pub fn ch3fm(&self) -> CH3FM_R {
129411                CH3FM_R::new(((self.bits >> 18) & 0x01) != 0)
129412            }
129413            ///Bit 17 - processor 1 Transmit channel 2 free interrupt mask
129414            #[inline(always)]
129415            pub fn ch2fm(&self) -> CH2FM_R {
129416                CH2FM_R::new(((self.bits >> 17) & 0x01) != 0)
129417            }
129418            ///Bit 16 - processor 1 Transmit channel 1 free interrupt mask
129419            #[inline(always)]
129420            pub fn ch1fm(&self) -> CH1FM_R {
129421                CH1FM_R::new(((self.bits >> 16) & 0x01) != 0)
129422            }
129423            ///Bit 5 - processor 1 Receive channel 6 occupied interrupt enable
129424            #[inline(always)]
129425            pub fn ch6om(&self) -> CH6OM_R {
129426                CH6OM_R::new(((self.bits >> 5) & 0x01) != 0)
129427            }
129428            ///Bit 4 - processor 1 Receive channel 5 occupied interrupt enable
129429            #[inline(always)]
129430            pub fn ch5om(&self) -> CH5OM_R {
129431                CH5OM_R::new(((self.bits >> 4) & 0x01) != 0)
129432            }
129433            ///Bit 3 - processor 1 Receive channel 4 occupied interrupt enable
129434            #[inline(always)]
129435            pub fn ch4om(&self) -> CH4OM_R {
129436                CH4OM_R::new(((self.bits >> 3) & 0x01) != 0)
129437            }
129438            ///Bit 2 - processor 1 Receive channel 3 occupied interrupt enable
129439            #[inline(always)]
129440            pub fn ch3om(&self) -> CH3OM_R {
129441                CH3OM_R::new(((self.bits >> 2) & 0x01) != 0)
129442            }
129443            ///Bit 1 - processor 1 Receive channel 2 occupied interrupt enable
129444            #[inline(always)]
129445            pub fn ch2om(&self) -> CH2OM_R {
129446                CH2OM_R::new(((self.bits >> 1) & 0x01) != 0)
129447            }
129448            ///Bit 0 - processor 1 Receive channel 1 occupied interrupt enable
129449            #[inline(always)]
129450            pub fn ch1om(&self) -> CH1OM_R {
129451                CH1OM_R::new((self.bits & 0x01) != 0)
129452            }
129453        }
129454        impl W {
129455            ///Bit 21 - processor 1 Transmit channel 6 free interrupt mask
129456            #[inline(always)]
129457            pub fn ch6fm(&mut self) -> CH6FM_W {
129458                CH6FM_W { w: self }
129459            }
129460            ///Bit 20 - processor 1 Transmit channel 5 free interrupt mask
129461            #[inline(always)]
129462            pub fn ch5fm(&mut self) -> CH5FM_W {
129463                CH5FM_W { w: self }
129464            }
129465            ///Bit 19 - processor 1 Transmit channel 4 free interrupt mask
129466            #[inline(always)]
129467            pub fn ch4fm(&mut self) -> CH4FM_W {
129468                CH4FM_W { w: self }
129469            }
129470            ///Bit 18 - processor 1 Transmit channel 3 free interrupt mask
129471            #[inline(always)]
129472            pub fn ch3fm(&mut self) -> CH3FM_W {
129473                CH3FM_W { w: self }
129474            }
129475            ///Bit 17 - processor 1 Transmit channel 2 free interrupt mask
129476            #[inline(always)]
129477            pub fn ch2fm(&mut self) -> CH2FM_W {
129478                CH2FM_W { w: self }
129479            }
129480            ///Bit 16 - processor 1 Transmit channel 1 free interrupt mask
129481            #[inline(always)]
129482            pub fn ch1fm(&mut self) -> CH1FM_W {
129483                CH1FM_W { w: self }
129484            }
129485            ///Bit 5 - processor 1 Receive channel 6 occupied interrupt enable
129486            #[inline(always)]
129487            pub fn ch6om(&mut self) -> CH6OM_W {
129488                CH6OM_W { w: self }
129489            }
129490            ///Bit 4 - processor 1 Receive channel 5 occupied interrupt enable
129491            #[inline(always)]
129492            pub fn ch5om(&mut self) -> CH5OM_W {
129493                CH5OM_W { w: self }
129494            }
129495            ///Bit 3 - processor 1 Receive channel 4 occupied interrupt enable
129496            #[inline(always)]
129497            pub fn ch4om(&mut self) -> CH4OM_W {
129498                CH4OM_W { w: self }
129499            }
129500            ///Bit 2 - processor 1 Receive channel 3 occupied interrupt enable
129501            #[inline(always)]
129502            pub fn ch3om(&mut self) -> CH3OM_W {
129503                CH3OM_W { w: self }
129504            }
129505            ///Bit 1 - processor 1 Receive channel 2 occupied interrupt enable
129506            #[inline(always)]
129507            pub fn ch2om(&mut self) -> CH2OM_W {
129508                CH2OM_W { w: self }
129509            }
129510            ///Bit 0 - processor 1 Receive channel 1 occupied interrupt enable
129511            #[inline(always)]
129512            pub fn ch1om(&mut self) -> CH1OM_W {
129513                CH1OM_W { w: self }
129514            }
129515        }
129516    }
129517    ///Status Set or Clear register CPU1
129518    ///
129519    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
129520    ///
129521    ///For information about available fields see [c1scr](c1scr) module
129522    pub type C1SCR = crate::Reg<u32, _C1SCR>;
129523    #[allow(missing_docs)]
129524    #[doc(hidden)]
129525    pub struct _C1SCR;
129526    ///`write(|w| ..)` method takes [c1scr::W](c1scr::W) writer structure
129527    impl crate::Writable for C1SCR {}
129528    ///Status Set or Clear register CPU1
129529    pub mod c1scr {
129530        ///Writer for register C1SCR
129531        pub type W = crate::W<u32, super::C1SCR>;
129532        ///Register C1SCR `reset()`'s with value 0
129533        impl crate::ResetValue for super::C1SCR {
129534            type Type = u32;
129535            #[inline(always)]
129536            fn reset_value() -> Self::Type {
129537                0
129538            }
129539        }
129540        ///Write proxy for field `CH6S`
129541        pub struct CH6S_W<'a> {
129542            w: &'a mut W,
129543        }
129544        impl<'a> CH6S_W<'a> {
129545            ///Sets the field bit
129546            #[inline(always)]
129547            pub fn set_bit(self) -> &'a mut W {
129548                self.bit(true)
129549            }
129550            ///Clears the field bit
129551            #[inline(always)]
129552            pub fn clear_bit(self) -> &'a mut W {
129553                self.bit(false)
129554            }
129555            ///Writes raw bits to the field
129556            #[inline(always)]
129557            pub fn bit(self, value: bool) -> &'a mut W {
129558                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
129559                self.w
129560            }
129561        }
129562        ///Write proxy for field `CH5S`
129563        pub struct CH5S_W<'a> {
129564            w: &'a mut W,
129565        }
129566        impl<'a> CH5S_W<'a> {
129567            ///Sets the field bit
129568            #[inline(always)]
129569            pub fn set_bit(self) -> &'a mut W {
129570                self.bit(true)
129571            }
129572            ///Clears the field bit
129573            #[inline(always)]
129574            pub fn clear_bit(self) -> &'a mut W {
129575                self.bit(false)
129576            }
129577            ///Writes raw bits to the field
129578            #[inline(always)]
129579            pub fn bit(self, value: bool) -> &'a mut W {
129580                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
129581                self.w
129582            }
129583        }
129584        ///Write proxy for field `CH4S`
129585        pub struct CH4S_W<'a> {
129586            w: &'a mut W,
129587        }
129588        impl<'a> CH4S_W<'a> {
129589            ///Sets the field bit
129590            #[inline(always)]
129591            pub fn set_bit(self) -> &'a mut W {
129592                self.bit(true)
129593            }
129594            ///Clears the field bit
129595            #[inline(always)]
129596            pub fn clear_bit(self) -> &'a mut W {
129597                self.bit(false)
129598            }
129599            ///Writes raw bits to the field
129600            #[inline(always)]
129601            pub fn bit(self, value: bool) -> &'a mut W {
129602                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
129603                self.w
129604            }
129605        }
129606        ///Write proxy for field `CH3S`
129607        pub struct CH3S_W<'a> {
129608            w: &'a mut W,
129609        }
129610        impl<'a> CH3S_W<'a> {
129611            ///Sets the field bit
129612            #[inline(always)]
129613            pub fn set_bit(self) -> &'a mut W {
129614                self.bit(true)
129615            }
129616            ///Clears the field bit
129617            #[inline(always)]
129618            pub fn clear_bit(self) -> &'a mut W {
129619                self.bit(false)
129620            }
129621            ///Writes raw bits to the field
129622            #[inline(always)]
129623            pub fn bit(self, value: bool) -> &'a mut W {
129624                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
129625                self.w
129626            }
129627        }
129628        ///Write proxy for field `CH2S`
129629        pub struct CH2S_W<'a> {
129630            w: &'a mut W,
129631        }
129632        impl<'a> CH2S_W<'a> {
129633            ///Sets the field bit
129634            #[inline(always)]
129635            pub fn set_bit(self) -> &'a mut W {
129636                self.bit(true)
129637            }
129638            ///Clears the field bit
129639            #[inline(always)]
129640            pub fn clear_bit(self) -> &'a mut W {
129641                self.bit(false)
129642            }
129643            ///Writes raw bits to the field
129644            #[inline(always)]
129645            pub fn bit(self, value: bool) -> &'a mut W {
129646                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
129647                self.w
129648            }
129649        }
129650        ///Write proxy for field `CH1S`
129651        pub struct CH1S_W<'a> {
129652            w: &'a mut W,
129653        }
129654        impl<'a> CH1S_W<'a> {
129655            ///Sets the field bit
129656            #[inline(always)]
129657            pub fn set_bit(self) -> &'a mut W {
129658                self.bit(true)
129659            }
129660            ///Clears the field bit
129661            #[inline(always)]
129662            pub fn clear_bit(self) -> &'a mut W {
129663                self.bit(false)
129664            }
129665            ///Writes raw bits to the field
129666            #[inline(always)]
129667            pub fn bit(self, value: bool) -> &'a mut W {
129668                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
129669                self.w
129670            }
129671        }
129672        ///Write proxy for field `CH6C`
129673        pub struct CH6C_W<'a> {
129674            w: &'a mut W,
129675        }
129676        impl<'a> CH6C_W<'a> {
129677            ///Sets the field bit
129678            #[inline(always)]
129679            pub fn set_bit(self) -> &'a mut W {
129680                self.bit(true)
129681            }
129682            ///Clears the field bit
129683            #[inline(always)]
129684            pub fn clear_bit(self) -> &'a mut W {
129685                self.bit(false)
129686            }
129687            ///Writes raw bits to the field
129688            #[inline(always)]
129689            pub fn bit(self, value: bool) -> &'a mut W {
129690                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
129691                self.w
129692            }
129693        }
129694        ///Write proxy for field `CH5C`
129695        pub struct CH5C_W<'a> {
129696            w: &'a mut W,
129697        }
129698        impl<'a> CH5C_W<'a> {
129699            ///Sets the field bit
129700            #[inline(always)]
129701            pub fn set_bit(self) -> &'a mut W {
129702                self.bit(true)
129703            }
129704            ///Clears the field bit
129705            #[inline(always)]
129706            pub fn clear_bit(self) -> &'a mut W {
129707                self.bit(false)
129708            }
129709            ///Writes raw bits to the field
129710            #[inline(always)]
129711            pub fn bit(self, value: bool) -> &'a mut W {
129712                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
129713                self.w
129714            }
129715        }
129716        ///Write proxy for field `CH4C`
129717        pub struct CH4C_W<'a> {
129718            w: &'a mut W,
129719        }
129720        impl<'a> CH4C_W<'a> {
129721            ///Sets the field bit
129722            #[inline(always)]
129723            pub fn set_bit(self) -> &'a mut W {
129724                self.bit(true)
129725            }
129726            ///Clears the field bit
129727            #[inline(always)]
129728            pub fn clear_bit(self) -> &'a mut W {
129729                self.bit(false)
129730            }
129731            ///Writes raw bits to the field
129732            #[inline(always)]
129733            pub fn bit(self, value: bool) -> &'a mut W {
129734                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
129735                self.w
129736            }
129737        }
129738        ///Write proxy for field `CH3C`
129739        pub struct CH3C_W<'a> {
129740            w: &'a mut W,
129741        }
129742        impl<'a> CH3C_W<'a> {
129743            ///Sets the field bit
129744            #[inline(always)]
129745            pub fn set_bit(self) -> &'a mut W {
129746                self.bit(true)
129747            }
129748            ///Clears the field bit
129749            #[inline(always)]
129750            pub fn clear_bit(self) -> &'a mut W {
129751                self.bit(false)
129752            }
129753            ///Writes raw bits to the field
129754            #[inline(always)]
129755            pub fn bit(self, value: bool) -> &'a mut W {
129756                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
129757                self.w
129758            }
129759        }
129760        ///Write proxy for field `CH2C`
129761        pub struct CH2C_W<'a> {
129762            w: &'a mut W,
129763        }
129764        impl<'a> CH2C_W<'a> {
129765            ///Sets the field bit
129766            #[inline(always)]
129767            pub fn set_bit(self) -> &'a mut W {
129768                self.bit(true)
129769            }
129770            ///Clears the field bit
129771            #[inline(always)]
129772            pub fn clear_bit(self) -> &'a mut W {
129773                self.bit(false)
129774            }
129775            ///Writes raw bits to the field
129776            #[inline(always)]
129777            pub fn bit(self, value: bool) -> &'a mut W {
129778                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
129779                self.w
129780            }
129781        }
129782        ///Write proxy for field `CH1C`
129783        pub struct CH1C_W<'a> {
129784            w: &'a mut W,
129785        }
129786        impl<'a> CH1C_W<'a> {
129787            ///Sets the field bit
129788            #[inline(always)]
129789            pub fn set_bit(self) -> &'a mut W {
129790                self.bit(true)
129791            }
129792            ///Clears the field bit
129793            #[inline(always)]
129794            pub fn clear_bit(self) -> &'a mut W {
129795                self.bit(false)
129796            }
129797            ///Writes raw bits to the field
129798            #[inline(always)]
129799            pub fn bit(self, value: bool) -> &'a mut W {
129800                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
129801                self.w
129802            }
129803        }
129804        impl W {
129805            ///Bit 21 - processor 1 Transmit channel 6 status set
129806            #[inline(always)]
129807            pub fn ch6s(&mut self) -> CH6S_W {
129808                CH6S_W { w: self }
129809            }
129810            ///Bit 20 - processor 1 Transmit channel 5 status set
129811            #[inline(always)]
129812            pub fn ch5s(&mut self) -> CH5S_W {
129813                CH5S_W { w: self }
129814            }
129815            ///Bit 19 - processor 1 Transmit channel 4 status set
129816            #[inline(always)]
129817            pub fn ch4s(&mut self) -> CH4S_W {
129818                CH4S_W { w: self }
129819            }
129820            ///Bit 18 - processor 1 Transmit channel 3 status set
129821            #[inline(always)]
129822            pub fn ch3s(&mut self) -> CH3S_W {
129823                CH3S_W { w: self }
129824            }
129825            ///Bit 17 - processor 1 Transmit channel 2 status set
129826            #[inline(always)]
129827            pub fn ch2s(&mut self) -> CH2S_W {
129828                CH2S_W { w: self }
129829            }
129830            ///Bit 16 - processor 1 Transmit channel 1 status set
129831            #[inline(always)]
129832            pub fn ch1s(&mut self) -> CH1S_W {
129833                CH1S_W { w: self }
129834            }
129835            ///Bit 5 - processor 1 Receive channel 6 status clear
129836            #[inline(always)]
129837            pub fn ch6c(&mut self) -> CH6C_W {
129838                CH6C_W { w: self }
129839            }
129840            ///Bit 4 - processor 1 Receive channel 5 status clear
129841            #[inline(always)]
129842            pub fn ch5c(&mut self) -> CH5C_W {
129843                CH5C_W { w: self }
129844            }
129845            ///Bit 3 - processor 1 Receive channel 4 status clear
129846            #[inline(always)]
129847            pub fn ch4c(&mut self) -> CH4C_W {
129848                CH4C_W { w: self }
129849            }
129850            ///Bit 2 - processor 1 Receive channel 3 status clear
129851            #[inline(always)]
129852            pub fn ch3c(&mut self) -> CH3C_W {
129853                CH3C_W { w: self }
129854            }
129855            ///Bit 1 - processor 1 Receive channel 2 status clear
129856            #[inline(always)]
129857            pub fn ch2c(&mut self) -> CH2C_W {
129858                CH2C_W { w: self }
129859            }
129860            ///Bit 0 - processor 1 Receive channel 1 status clear
129861            #[inline(always)]
129862            pub fn ch1c(&mut self) -> CH1C_W {
129863                CH1C_W { w: self }
129864            }
129865        }
129866    }
129867    ///CPU1 to CPU2 status register
129868    ///
129869    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
129870    ///
129871    ///For information about available fields see [c1toc2sr](c1toc2sr) module
129872    pub type C1TOC2SR = crate::Reg<u32, _C1TOC2SR>;
129873    #[allow(missing_docs)]
129874    #[doc(hidden)]
129875    pub struct _C1TOC2SR;
129876    ///`read()` method returns [c1toc2sr::R](c1toc2sr::R) reader structure
129877    impl crate::Readable for C1TOC2SR {}
129878    ///CPU1 to CPU2 status register
129879    pub mod c1toc2sr {
129880        ///Reader of register C1TOC2SR
129881        pub type R = crate::R<u32, super::C1TOC2SR>;
129882        ///Reader of field `CH6F`
129883        pub type CH6F_R = crate::R<bool, bool>;
129884        ///Reader of field `CH5F`
129885        pub type CH5F_R = crate::R<bool, bool>;
129886        ///Reader of field `CH4F`
129887        pub type CH4F_R = crate::R<bool, bool>;
129888        ///Reader of field `CH3F`
129889        pub type CH3F_R = crate::R<bool, bool>;
129890        ///Reader of field `CH2F`
129891        pub type CH2F_R = crate::R<bool, bool>;
129892        ///Reader of field `CH1F`
129893        pub type CH1F_R = crate::R<bool, bool>;
129894        impl R {
129895            ///Bit 5 - processor 1 transmit to process 2 Receive channel 6 status flag
129896            #[inline(always)]
129897            pub fn ch6f(&self) -> CH6F_R {
129898                CH6F_R::new(((self.bits >> 5) & 0x01) != 0)
129899            }
129900            ///Bit 4 - processor 1 transmit to process 2 Receive channel 5 status flag
129901            #[inline(always)]
129902            pub fn ch5f(&self) -> CH5F_R {
129903                CH5F_R::new(((self.bits >> 4) & 0x01) != 0)
129904            }
129905            ///Bit 3 - processor 1 transmit to process 2 Receive channel 4 status flag
129906            #[inline(always)]
129907            pub fn ch4f(&self) -> CH4F_R {
129908                CH4F_R::new(((self.bits >> 3) & 0x01) != 0)
129909            }
129910            ///Bit 2 - processor 1 transmit to process 2 Receive channel 3 status flag
129911            #[inline(always)]
129912            pub fn ch3f(&self) -> CH3F_R {
129913                CH3F_R::new(((self.bits >> 2) & 0x01) != 0)
129914            }
129915            ///Bit 1 - processor 1 transmit to process 2 Receive channel 2 status flag
129916            #[inline(always)]
129917            pub fn ch2f(&self) -> CH2F_R {
129918                CH2F_R::new(((self.bits >> 1) & 0x01) != 0)
129919            }
129920            ///Bit 0 - processor 1 transmit to process 2 Receive channel 1 status flag
129921            #[inline(always)]
129922            pub fn ch1f(&self) -> CH1F_R {
129923                CH1F_R::new((self.bits & 0x01) != 0)
129924            }
129925        }
129926    }
129927    ///Control register CPU2
129928    ///
129929    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
129930    ///
129931    ///For information about available fields see [c2cr](c2cr) module
129932    pub type C2CR = crate::Reg<u32, _C2CR>;
129933    #[allow(missing_docs)]
129934    #[doc(hidden)]
129935    pub struct _C2CR;
129936    ///`read()` method returns [c2cr::R](c2cr::R) reader structure
129937    impl crate::Readable for C2CR {}
129938    ///`write(|w| ..)` method takes [c2cr::W](c2cr::W) writer structure
129939    impl crate::Writable for C2CR {}
129940    ///Control register CPU2
129941    pub mod c2cr {
129942        ///Reader of register C2CR
129943        pub type R = crate::R<u32, super::C2CR>;
129944        ///Writer for register C2CR
129945        pub type W = crate::W<u32, super::C2CR>;
129946        ///Register C2CR `reset()`'s with value 0
129947        impl crate::ResetValue for super::C2CR {
129948            type Type = u32;
129949            #[inline(always)]
129950            fn reset_value() -> Self::Type {
129951                0
129952            }
129953        }
129954        ///Reader of field `TXFIE`
129955        pub type TXFIE_R = crate::R<bool, bool>;
129956        ///Write proxy for field `TXFIE`
129957        pub struct TXFIE_W<'a> {
129958            w: &'a mut W,
129959        }
129960        impl<'a> TXFIE_W<'a> {
129961            ///Sets the field bit
129962            #[inline(always)]
129963            pub fn set_bit(self) -> &'a mut W {
129964                self.bit(true)
129965            }
129966            ///Clears the field bit
129967            #[inline(always)]
129968            pub fn clear_bit(self) -> &'a mut W {
129969                self.bit(false)
129970            }
129971            ///Writes raw bits to the field
129972            #[inline(always)]
129973            pub fn bit(self, value: bool) -> &'a mut W {
129974                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
129975                self.w
129976            }
129977        }
129978        ///Reader of field `RXOIE`
129979        pub type RXOIE_R = crate::R<bool, bool>;
129980        ///Write proxy for field `RXOIE`
129981        pub struct RXOIE_W<'a> {
129982            w: &'a mut W,
129983        }
129984        impl<'a> RXOIE_W<'a> {
129985            ///Sets the field bit
129986            #[inline(always)]
129987            pub fn set_bit(self) -> &'a mut W {
129988                self.bit(true)
129989            }
129990            ///Clears the field bit
129991            #[inline(always)]
129992            pub fn clear_bit(self) -> &'a mut W {
129993                self.bit(false)
129994            }
129995            ///Writes raw bits to the field
129996            #[inline(always)]
129997            pub fn bit(self, value: bool) -> &'a mut W {
129998                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
129999                self.w
130000            }
130001        }
130002        impl R {
130003            ///Bit 16 - processor 2 Transmit channel free interrupt enable
130004            #[inline(always)]
130005            pub fn txfie(&self) -> TXFIE_R {
130006                TXFIE_R::new(((self.bits >> 16) & 0x01) != 0)
130007            }
130008            ///Bit 0 - processor 2 Receive channel occupied interrupt enable
130009            #[inline(always)]
130010            pub fn rxoie(&self) -> RXOIE_R {
130011                RXOIE_R::new((self.bits & 0x01) != 0)
130012            }
130013        }
130014        impl W {
130015            ///Bit 16 - processor 2 Transmit channel free interrupt enable
130016            #[inline(always)]
130017            pub fn txfie(&mut self) -> TXFIE_W {
130018                TXFIE_W { w: self }
130019            }
130020            ///Bit 0 - processor 2 Receive channel occupied interrupt enable
130021            #[inline(always)]
130022            pub fn rxoie(&mut self) -> RXOIE_W {
130023                RXOIE_W { w: self }
130024            }
130025        }
130026    }
130027    ///Mask register CPU2
130028    ///
130029    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
130030    ///
130031    ///For information about available fields see [c2mr](c2mr) module
130032    pub type C2MR = crate::Reg<u32, _C2MR>;
130033    #[allow(missing_docs)]
130034    #[doc(hidden)]
130035    pub struct _C2MR;
130036    ///`read()` method returns [c2mr::R](c2mr::R) reader structure
130037    impl crate::Readable for C2MR {}
130038    ///`write(|w| ..)` method takes [c2mr::W](c2mr::W) writer structure
130039    impl crate::Writable for C2MR {}
130040    ///Mask register CPU2
130041    pub mod c2mr {
130042        ///Reader of register C2MR
130043        pub type R = crate::R<u32, super::C2MR>;
130044        ///Writer for register C2MR
130045        pub type W = crate::W<u32, super::C2MR>;
130046        ///Register C2MR `reset()`'s with value 0xffff_ffff
130047        impl crate::ResetValue for super::C2MR {
130048            type Type = u32;
130049            #[inline(always)]
130050            fn reset_value() -> Self::Type {
130051                0xffff_ffff
130052            }
130053        }
130054        ///Reader of field `CH6FM`
130055        pub type CH6FM_R = crate::R<bool, bool>;
130056        ///Write proxy for field `CH6FM`
130057        pub struct CH6FM_W<'a> {
130058            w: &'a mut W,
130059        }
130060        impl<'a> CH6FM_W<'a> {
130061            ///Sets the field bit
130062            #[inline(always)]
130063            pub fn set_bit(self) -> &'a mut W {
130064                self.bit(true)
130065            }
130066            ///Clears the field bit
130067            #[inline(always)]
130068            pub fn clear_bit(self) -> &'a mut W {
130069                self.bit(false)
130070            }
130071            ///Writes raw bits to the field
130072            #[inline(always)]
130073            pub fn bit(self, value: bool) -> &'a mut W {
130074                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
130075                self.w
130076            }
130077        }
130078        ///Reader of field `CH5FM`
130079        pub type CH5FM_R = crate::R<bool, bool>;
130080        ///Write proxy for field `CH5FM`
130081        pub struct CH5FM_W<'a> {
130082            w: &'a mut W,
130083        }
130084        impl<'a> CH5FM_W<'a> {
130085            ///Sets the field bit
130086            #[inline(always)]
130087            pub fn set_bit(self) -> &'a mut W {
130088                self.bit(true)
130089            }
130090            ///Clears the field bit
130091            #[inline(always)]
130092            pub fn clear_bit(self) -> &'a mut W {
130093                self.bit(false)
130094            }
130095            ///Writes raw bits to the field
130096            #[inline(always)]
130097            pub fn bit(self, value: bool) -> &'a mut W {
130098                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
130099                self.w
130100            }
130101        }
130102        ///Reader of field `CH4FM`
130103        pub type CH4FM_R = crate::R<bool, bool>;
130104        ///Write proxy for field `CH4FM`
130105        pub struct CH4FM_W<'a> {
130106            w: &'a mut W,
130107        }
130108        impl<'a> CH4FM_W<'a> {
130109            ///Sets the field bit
130110            #[inline(always)]
130111            pub fn set_bit(self) -> &'a mut W {
130112                self.bit(true)
130113            }
130114            ///Clears the field bit
130115            #[inline(always)]
130116            pub fn clear_bit(self) -> &'a mut W {
130117                self.bit(false)
130118            }
130119            ///Writes raw bits to the field
130120            #[inline(always)]
130121            pub fn bit(self, value: bool) -> &'a mut W {
130122                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
130123                self.w
130124            }
130125        }
130126        ///Reader of field `CH3FM`
130127        pub type CH3FM_R = crate::R<bool, bool>;
130128        ///Write proxy for field `CH3FM`
130129        pub struct CH3FM_W<'a> {
130130            w: &'a mut W,
130131        }
130132        impl<'a> CH3FM_W<'a> {
130133            ///Sets the field bit
130134            #[inline(always)]
130135            pub fn set_bit(self) -> &'a mut W {
130136                self.bit(true)
130137            }
130138            ///Clears the field bit
130139            #[inline(always)]
130140            pub fn clear_bit(self) -> &'a mut W {
130141                self.bit(false)
130142            }
130143            ///Writes raw bits to the field
130144            #[inline(always)]
130145            pub fn bit(self, value: bool) -> &'a mut W {
130146                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
130147                self.w
130148            }
130149        }
130150        ///Reader of field `CH2FM`
130151        pub type CH2FM_R = crate::R<bool, bool>;
130152        ///Write proxy for field `CH2FM`
130153        pub struct CH2FM_W<'a> {
130154            w: &'a mut W,
130155        }
130156        impl<'a> CH2FM_W<'a> {
130157            ///Sets the field bit
130158            #[inline(always)]
130159            pub fn set_bit(self) -> &'a mut W {
130160                self.bit(true)
130161            }
130162            ///Clears the field bit
130163            #[inline(always)]
130164            pub fn clear_bit(self) -> &'a mut W {
130165                self.bit(false)
130166            }
130167            ///Writes raw bits to the field
130168            #[inline(always)]
130169            pub fn bit(self, value: bool) -> &'a mut W {
130170                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
130171                self.w
130172            }
130173        }
130174        ///Reader of field `CH1FM`
130175        pub type CH1FM_R = crate::R<bool, bool>;
130176        ///Write proxy for field `CH1FM`
130177        pub struct CH1FM_W<'a> {
130178            w: &'a mut W,
130179        }
130180        impl<'a> CH1FM_W<'a> {
130181            ///Sets the field bit
130182            #[inline(always)]
130183            pub fn set_bit(self) -> &'a mut W {
130184                self.bit(true)
130185            }
130186            ///Clears the field bit
130187            #[inline(always)]
130188            pub fn clear_bit(self) -> &'a mut W {
130189                self.bit(false)
130190            }
130191            ///Writes raw bits to the field
130192            #[inline(always)]
130193            pub fn bit(self, value: bool) -> &'a mut W {
130194                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
130195                self.w
130196            }
130197        }
130198        ///Reader of field `CH6OM`
130199        pub type CH6OM_R = crate::R<bool, bool>;
130200        ///Write proxy for field `CH6OM`
130201        pub struct CH6OM_W<'a> {
130202            w: &'a mut W,
130203        }
130204        impl<'a> CH6OM_W<'a> {
130205            ///Sets the field bit
130206            #[inline(always)]
130207            pub fn set_bit(self) -> &'a mut W {
130208                self.bit(true)
130209            }
130210            ///Clears the field bit
130211            #[inline(always)]
130212            pub fn clear_bit(self) -> &'a mut W {
130213                self.bit(false)
130214            }
130215            ///Writes raw bits to the field
130216            #[inline(always)]
130217            pub fn bit(self, value: bool) -> &'a mut W {
130218                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
130219                self.w
130220            }
130221        }
130222        ///Reader of field `CH5OM`
130223        pub type CH5OM_R = crate::R<bool, bool>;
130224        ///Write proxy for field `CH5OM`
130225        pub struct CH5OM_W<'a> {
130226            w: &'a mut W,
130227        }
130228        impl<'a> CH5OM_W<'a> {
130229            ///Sets the field bit
130230            #[inline(always)]
130231            pub fn set_bit(self) -> &'a mut W {
130232                self.bit(true)
130233            }
130234            ///Clears the field bit
130235            #[inline(always)]
130236            pub fn clear_bit(self) -> &'a mut W {
130237                self.bit(false)
130238            }
130239            ///Writes raw bits to the field
130240            #[inline(always)]
130241            pub fn bit(self, value: bool) -> &'a mut W {
130242                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
130243                self.w
130244            }
130245        }
130246        ///Reader of field `CH4OM`
130247        pub type CH4OM_R = crate::R<bool, bool>;
130248        ///Write proxy for field `CH4OM`
130249        pub struct CH4OM_W<'a> {
130250            w: &'a mut W,
130251        }
130252        impl<'a> CH4OM_W<'a> {
130253            ///Sets the field bit
130254            #[inline(always)]
130255            pub fn set_bit(self) -> &'a mut W {
130256                self.bit(true)
130257            }
130258            ///Clears the field bit
130259            #[inline(always)]
130260            pub fn clear_bit(self) -> &'a mut W {
130261                self.bit(false)
130262            }
130263            ///Writes raw bits to the field
130264            #[inline(always)]
130265            pub fn bit(self, value: bool) -> &'a mut W {
130266                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
130267                self.w
130268            }
130269        }
130270        ///Reader of field `CH3OM`
130271        pub type CH3OM_R = crate::R<bool, bool>;
130272        ///Write proxy for field `CH3OM`
130273        pub struct CH3OM_W<'a> {
130274            w: &'a mut W,
130275        }
130276        impl<'a> CH3OM_W<'a> {
130277            ///Sets the field bit
130278            #[inline(always)]
130279            pub fn set_bit(self) -> &'a mut W {
130280                self.bit(true)
130281            }
130282            ///Clears the field bit
130283            #[inline(always)]
130284            pub fn clear_bit(self) -> &'a mut W {
130285                self.bit(false)
130286            }
130287            ///Writes raw bits to the field
130288            #[inline(always)]
130289            pub fn bit(self, value: bool) -> &'a mut W {
130290                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
130291                self.w
130292            }
130293        }
130294        ///Reader of field `CH2OM`
130295        pub type CH2OM_R = crate::R<bool, bool>;
130296        ///Write proxy for field `CH2OM`
130297        pub struct CH2OM_W<'a> {
130298            w: &'a mut W,
130299        }
130300        impl<'a> CH2OM_W<'a> {
130301            ///Sets the field bit
130302            #[inline(always)]
130303            pub fn set_bit(self) -> &'a mut W {
130304                self.bit(true)
130305            }
130306            ///Clears the field bit
130307            #[inline(always)]
130308            pub fn clear_bit(self) -> &'a mut W {
130309                self.bit(false)
130310            }
130311            ///Writes raw bits to the field
130312            #[inline(always)]
130313            pub fn bit(self, value: bool) -> &'a mut W {
130314                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
130315                self.w
130316            }
130317        }
130318        ///Reader of field `CH1OM`
130319        pub type CH1OM_R = crate::R<bool, bool>;
130320        ///Write proxy for field `CH1OM`
130321        pub struct CH1OM_W<'a> {
130322            w: &'a mut W,
130323        }
130324        impl<'a> CH1OM_W<'a> {
130325            ///Sets the field bit
130326            #[inline(always)]
130327            pub fn set_bit(self) -> &'a mut W {
130328                self.bit(true)
130329            }
130330            ///Clears the field bit
130331            #[inline(always)]
130332            pub fn clear_bit(self) -> &'a mut W {
130333                self.bit(false)
130334            }
130335            ///Writes raw bits to the field
130336            #[inline(always)]
130337            pub fn bit(self, value: bool) -> &'a mut W {
130338                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
130339                self.w
130340            }
130341        }
130342        impl R {
130343            ///Bit 21 - processor 2 Transmit channel 6 free interrupt mask
130344            #[inline(always)]
130345            pub fn ch6fm(&self) -> CH6FM_R {
130346                CH6FM_R::new(((self.bits >> 21) & 0x01) != 0)
130347            }
130348            ///Bit 20 - processor 2 Transmit channel 5 free interrupt mask
130349            #[inline(always)]
130350            pub fn ch5fm(&self) -> CH5FM_R {
130351                CH5FM_R::new(((self.bits >> 20) & 0x01) != 0)
130352            }
130353            ///Bit 19 - processor 2 Transmit channel 4 free interrupt mask
130354            #[inline(always)]
130355            pub fn ch4fm(&self) -> CH4FM_R {
130356                CH4FM_R::new(((self.bits >> 19) & 0x01) != 0)
130357            }
130358            ///Bit 18 - processor 2 Transmit channel 3 free interrupt mask
130359            #[inline(always)]
130360            pub fn ch3fm(&self) -> CH3FM_R {
130361                CH3FM_R::new(((self.bits >> 18) & 0x01) != 0)
130362            }
130363            ///Bit 17 - processor 2 Transmit channel 2 free interrupt mask
130364            #[inline(always)]
130365            pub fn ch2fm(&self) -> CH2FM_R {
130366                CH2FM_R::new(((self.bits >> 17) & 0x01) != 0)
130367            }
130368            ///Bit 16 - processor 2 Transmit channel 1 free interrupt mask
130369            #[inline(always)]
130370            pub fn ch1fm(&self) -> CH1FM_R {
130371                CH1FM_R::new(((self.bits >> 16) & 0x01) != 0)
130372            }
130373            ///Bit 5 - processor 2 Receive channel 6 occupied interrupt enable
130374            #[inline(always)]
130375            pub fn ch6om(&self) -> CH6OM_R {
130376                CH6OM_R::new(((self.bits >> 5) & 0x01) != 0)
130377            }
130378            ///Bit 4 - processor 2 Receive channel 5 occupied interrupt enable
130379            #[inline(always)]
130380            pub fn ch5om(&self) -> CH5OM_R {
130381                CH5OM_R::new(((self.bits >> 4) & 0x01) != 0)
130382            }
130383            ///Bit 3 - processor 2 Receive channel 4 occupied interrupt enable
130384            #[inline(always)]
130385            pub fn ch4om(&self) -> CH4OM_R {
130386                CH4OM_R::new(((self.bits >> 3) & 0x01) != 0)
130387            }
130388            ///Bit 2 - processor 2 Receive channel 3 occupied interrupt enable
130389            #[inline(always)]
130390            pub fn ch3om(&self) -> CH3OM_R {
130391                CH3OM_R::new(((self.bits >> 2) & 0x01) != 0)
130392            }
130393            ///Bit 1 - processor 2 Receive channel 2 occupied interrupt enable
130394            #[inline(always)]
130395            pub fn ch2om(&self) -> CH2OM_R {
130396                CH2OM_R::new(((self.bits >> 1) & 0x01) != 0)
130397            }
130398            ///Bit 0 - processor 2 Receive channel 1 occupied interrupt enable
130399            #[inline(always)]
130400            pub fn ch1om(&self) -> CH1OM_R {
130401                CH1OM_R::new((self.bits & 0x01) != 0)
130402            }
130403        }
130404        impl W {
130405            ///Bit 21 - processor 2 Transmit channel 6 free interrupt mask
130406            #[inline(always)]
130407            pub fn ch6fm(&mut self) -> CH6FM_W {
130408                CH6FM_W { w: self }
130409            }
130410            ///Bit 20 - processor 2 Transmit channel 5 free interrupt mask
130411            #[inline(always)]
130412            pub fn ch5fm(&mut self) -> CH5FM_W {
130413                CH5FM_W { w: self }
130414            }
130415            ///Bit 19 - processor 2 Transmit channel 4 free interrupt mask
130416            #[inline(always)]
130417            pub fn ch4fm(&mut self) -> CH4FM_W {
130418                CH4FM_W { w: self }
130419            }
130420            ///Bit 18 - processor 2 Transmit channel 3 free interrupt mask
130421            #[inline(always)]
130422            pub fn ch3fm(&mut self) -> CH3FM_W {
130423                CH3FM_W { w: self }
130424            }
130425            ///Bit 17 - processor 2 Transmit channel 2 free interrupt mask
130426            #[inline(always)]
130427            pub fn ch2fm(&mut self) -> CH2FM_W {
130428                CH2FM_W { w: self }
130429            }
130430            ///Bit 16 - processor 2 Transmit channel 1 free interrupt mask
130431            #[inline(always)]
130432            pub fn ch1fm(&mut self) -> CH1FM_W {
130433                CH1FM_W { w: self }
130434            }
130435            ///Bit 5 - processor 2 Receive channel 6 occupied interrupt enable
130436            #[inline(always)]
130437            pub fn ch6om(&mut self) -> CH6OM_W {
130438                CH6OM_W { w: self }
130439            }
130440            ///Bit 4 - processor 2 Receive channel 5 occupied interrupt enable
130441            #[inline(always)]
130442            pub fn ch5om(&mut self) -> CH5OM_W {
130443                CH5OM_W { w: self }
130444            }
130445            ///Bit 3 - processor 2 Receive channel 4 occupied interrupt enable
130446            #[inline(always)]
130447            pub fn ch4om(&mut self) -> CH4OM_W {
130448                CH4OM_W { w: self }
130449            }
130450            ///Bit 2 - processor 2 Receive channel 3 occupied interrupt enable
130451            #[inline(always)]
130452            pub fn ch3om(&mut self) -> CH3OM_W {
130453                CH3OM_W { w: self }
130454            }
130455            ///Bit 1 - processor 2 Receive channel 2 occupied interrupt enable
130456            #[inline(always)]
130457            pub fn ch2om(&mut self) -> CH2OM_W {
130458                CH2OM_W { w: self }
130459            }
130460            ///Bit 0 - processor 2 Receive channel 1 occupied interrupt enable
130461            #[inline(always)]
130462            pub fn ch1om(&mut self) -> CH1OM_W {
130463                CH1OM_W { w: self }
130464            }
130465        }
130466    }
130467    ///Status Set or Clear register CPU2
130468    ///
130469    ///This register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
130470    ///
130471    ///For information about available fields see [c2scr](c2scr) module
130472    pub type C2SCR = crate::Reg<u32, _C2SCR>;
130473    #[allow(missing_docs)]
130474    #[doc(hidden)]
130475    pub struct _C2SCR;
130476    ///`write(|w| ..)` method takes [c2scr::W](c2scr::W) writer structure
130477    impl crate::Writable for C2SCR {}
130478    ///Status Set or Clear register CPU2
130479    pub mod c2scr {
130480        ///Writer for register C2SCR
130481        pub type W = crate::W<u32, super::C2SCR>;
130482        ///Register C2SCR `reset()`'s with value 0
130483        impl crate::ResetValue for super::C2SCR {
130484            type Type = u32;
130485            #[inline(always)]
130486            fn reset_value() -> Self::Type {
130487                0
130488            }
130489        }
130490        ///Write proxy for field `CH6S`
130491        pub struct CH6S_W<'a> {
130492            w: &'a mut W,
130493        }
130494        impl<'a> CH6S_W<'a> {
130495            ///Sets the field bit
130496            #[inline(always)]
130497            pub fn set_bit(self) -> &'a mut W {
130498                self.bit(true)
130499            }
130500            ///Clears the field bit
130501            #[inline(always)]
130502            pub fn clear_bit(self) -> &'a mut W {
130503                self.bit(false)
130504            }
130505            ///Writes raw bits to the field
130506            #[inline(always)]
130507            pub fn bit(self, value: bool) -> &'a mut W {
130508                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
130509                self.w
130510            }
130511        }
130512        ///Write proxy for field `CH5S`
130513        pub struct CH5S_W<'a> {
130514            w: &'a mut W,
130515        }
130516        impl<'a> CH5S_W<'a> {
130517            ///Sets the field bit
130518            #[inline(always)]
130519            pub fn set_bit(self) -> &'a mut W {
130520                self.bit(true)
130521            }
130522            ///Clears the field bit
130523            #[inline(always)]
130524            pub fn clear_bit(self) -> &'a mut W {
130525                self.bit(false)
130526            }
130527            ///Writes raw bits to the field
130528            #[inline(always)]
130529            pub fn bit(self, value: bool) -> &'a mut W {
130530                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
130531                self.w
130532            }
130533        }
130534        ///Write proxy for field `CH4S`
130535        pub struct CH4S_W<'a> {
130536            w: &'a mut W,
130537        }
130538        impl<'a> CH4S_W<'a> {
130539            ///Sets the field bit
130540            #[inline(always)]
130541            pub fn set_bit(self) -> &'a mut W {
130542                self.bit(true)
130543            }
130544            ///Clears the field bit
130545            #[inline(always)]
130546            pub fn clear_bit(self) -> &'a mut W {
130547                self.bit(false)
130548            }
130549            ///Writes raw bits to the field
130550            #[inline(always)]
130551            pub fn bit(self, value: bool) -> &'a mut W {
130552                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
130553                self.w
130554            }
130555        }
130556        ///Write proxy for field `CH3S`
130557        pub struct CH3S_W<'a> {
130558            w: &'a mut W,
130559        }
130560        impl<'a> CH3S_W<'a> {
130561            ///Sets the field bit
130562            #[inline(always)]
130563            pub fn set_bit(self) -> &'a mut W {
130564                self.bit(true)
130565            }
130566            ///Clears the field bit
130567            #[inline(always)]
130568            pub fn clear_bit(self) -> &'a mut W {
130569                self.bit(false)
130570            }
130571            ///Writes raw bits to the field
130572            #[inline(always)]
130573            pub fn bit(self, value: bool) -> &'a mut W {
130574                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
130575                self.w
130576            }
130577        }
130578        ///Write proxy for field `CH2S`
130579        pub struct CH2S_W<'a> {
130580            w: &'a mut W,
130581        }
130582        impl<'a> CH2S_W<'a> {
130583            ///Sets the field bit
130584            #[inline(always)]
130585            pub fn set_bit(self) -> &'a mut W {
130586                self.bit(true)
130587            }
130588            ///Clears the field bit
130589            #[inline(always)]
130590            pub fn clear_bit(self) -> &'a mut W {
130591                self.bit(false)
130592            }
130593            ///Writes raw bits to the field
130594            #[inline(always)]
130595            pub fn bit(self, value: bool) -> &'a mut W {
130596                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
130597                self.w
130598            }
130599        }
130600        ///Write proxy for field `CH1S`
130601        pub struct CH1S_W<'a> {
130602            w: &'a mut W,
130603        }
130604        impl<'a> CH1S_W<'a> {
130605            ///Sets the field bit
130606            #[inline(always)]
130607            pub fn set_bit(self) -> &'a mut W {
130608                self.bit(true)
130609            }
130610            ///Clears the field bit
130611            #[inline(always)]
130612            pub fn clear_bit(self) -> &'a mut W {
130613                self.bit(false)
130614            }
130615            ///Writes raw bits to the field
130616            #[inline(always)]
130617            pub fn bit(self, value: bool) -> &'a mut W {
130618                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
130619                self.w
130620            }
130621        }
130622        ///Write proxy for field `CH6C`
130623        pub struct CH6C_W<'a> {
130624            w: &'a mut W,
130625        }
130626        impl<'a> CH6C_W<'a> {
130627            ///Sets the field bit
130628            #[inline(always)]
130629            pub fn set_bit(self) -> &'a mut W {
130630                self.bit(true)
130631            }
130632            ///Clears the field bit
130633            #[inline(always)]
130634            pub fn clear_bit(self) -> &'a mut W {
130635                self.bit(false)
130636            }
130637            ///Writes raw bits to the field
130638            #[inline(always)]
130639            pub fn bit(self, value: bool) -> &'a mut W {
130640                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
130641                self.w
130642            }
130643        }
130644        ///Write proxy for field `CH5C`
130645        pub struct CH5C_W<'a> {
130646            w: &'a mut W,
130647        }
130648        impl<'a> CH5C_W<'a> {
130649            ///Sets the field bit
130650            #[inline(always)]
130651            pub fn set_bit(self) -> &'a mut W {
130652                self.bit(true)
130653            }
130654            ///Clears the field bit
130655            #[inline(always)]
130656            pub fn clear_bit(self) -> &'a mut W {
130657                self.bit(false)
130658            }
130659            ///Writes raw bits to the field
130660            #[inline(always)]
130661            pub fn bit(self, value: bool) -> &'a mut W {
130662                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
130663                self.w
130664            }
130665        }
130666        ///Write proxy for field `CH4C`
130667        pub struct CH4C_W<'a> {
130668            w: &'a mut W,
130669        }
130670        impl<'a> CH4C_W<'a> {
130671            ///Sets the field bit
130672            #[inline(always)]
130673            pub fn set_bit(self) -> &'a mut W {
130674                self.bit(true)
130675            }
130676            ///Clears the field bit
130677            #[inline(always)]
130678            pub fn clear_bit(self) -> &'a mut W {
130679                self.bit(false)
130680            }
130681            ///Writes raw bits to the field
130682            #[inline(always)]
130683            pub fn bit(self, value: bool) -> &'a mut W {
130684                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
130685                self.w
130686            }
130687        }
130688        ///Write proxy for field `CH3C`
130689        pub struct CH3C_W<'a> {
130690            w: &'a mut W,
130691        }
130692        impl<'a> CH3C_W<'a> {
130693            ///Sets the field bit
130694            #[inline(always)]
130695            pub fn set_bit(self) -> &'a mut W {
130696                self.bit(true)
130697            }
130698            ///Clears the field bit
130699            #[inline(always)]
130700            pub fn clear_bit(self) -> &'a mut W {
130701                self.bit(false)
130702            }
130703            ///Writes raw bits to the field
130704            #[inline(always)]
130705            pub fn bit(self, value: bool) -> &'a mut W {
130706                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
130707                self.w
130708            }
130709        }
130710        ///Write proxy for field `CH2C`
130711        pub struct CH2C_W<'a> {
130712            w: &'a mut W,
130713        }
130714        impl<'a> CH2C_W<'a> {
130715            ///Sets the field bit
130716            #[inline(always)]
130717            pub fn set_bit(self) -> &'a mut W {
130718                self.bit(true)
130719            }
130720            ///Clears the field bit
130721            #[inline(always)]
130722            pub fn clear_bit(self) -> &'a mut W {
130723                self.bit(false)
130724            }
130725            ///Writes raw bits to the field
130726            #[inline(always)]
130727            pub fn bit(self, value: bool) -> &'a mut W {
130728                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
130729                self.w
130730            }
130731        }
130732        ///Write proxy for field `CH1C`
130733        pub struct CH1C_W<'a> {
130734            w: &'a mut W,
130735        }
130736        impl<'a> CH1C_W<'a> {
130737            ///Sets the field bit
130738            #[inline(always)]
130739            pub fn set_bit(self) -> &'a mut W {
130740                self.bit(true)
130741            }
130742            ///Clears the field bit
130743            #[inline(always)]
130744            pub fn clear_bit(self) -> &'a mut W {
130745                self.bit(false)
130746            }
130747            ///Writes raw bits to the field
130748            #[inline(always)]
130749            pub fn bit(self, value: bool) -> &'a mut W {
130750                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
130751                self.w
130752            }
130753        }
130754        impl W {
130755            ///Bit 21 - processor 2 Transmit channel 6 status set
130756            #[inline(always)]
130757            pub fn ch6s(&mut self) -> CH6S_W {
130758                CH6S_W { w: self }
130759            }
130760            ///Bit 20 - processor 2 Transmit channel 5 status set
130761            #[inline(always)]
130762            pub fn ch5s(&mut self) -> CH5S_W {
130763                CH5S_W { w: self }
130764            }
130765            ///Bit 19 - processor 2 Transmit channel 4 status set
130766            #[inline(always)]
130767            pub fn ch4s(&mut self) -> CH4S_W {
130768                CH4S_W { w: self }
130769            }
130770            ///Bit 18 - processor 2 Transmit channel 3 status set
130771            #[inline(always)]
130772            pub fn ch3s(&mut self) -> CH3S_W {
130773                CH3S_W { w: self }
130774            }
130775            ///Bit 17 - processor 2 Transmit channel 2 status set
130776            #[inline(always)]
130777            pub fn ch2s(&mut self) -> CH2S_W {
130778                CH2S_W { w: self }
130779            }
130780            ///Bit 16 - processor 2 Transmit channel 1 status set
130781            #[inline(always)]
130782            pub fn ch1s(&mut self) -> CH1S_W {
130783                CH1S_W { w: self }
130784            }
130785            ///Bit 5 - processor 2 Receive channel 6 status clear
130786            #[inline(always)]
130787            pub fn ch6c(&mut self) -> CH6C_W {
130788                CH6C_W { w: self }
130789            }
130790            ///Bit 4 - processor 2 Receive channel 5 status clear
130791            #[inline(always)]
130792            pub fn ch5c(&mut self) -> CH5C_W {
130793                CH5C_W { w: self }
130794            }
130795            ///Bit 3 - processor 2 Receive channel 4 status clear
130796            #[inline(always)]
130797            pub fn ch4c(&mut self) -> CH4C_W {
130798                CH4C_W { w: self }
130799            }
130800            ///Bit 2 - processor 2 Receive channel 3 status clear
130801            #[inline(always)]
130802            pub fn ch3c(&mut self) -> CH3C_W {
130803                CH3C_W { w: self }
130804            }
130805            ///Bit 1 - processor 2 Receive channel 2 status clear
130806            #[inline(always)]
130807            pub fn ch2c(&mut self) -> CH2C_W {
130808                CH2C_W { w: self }
130809            }
130810            ///Bit 0 - processor 2 Receive channel 1 status clear
130811            #[inline(always)]
130812            pub fn ch1c(&mut self) -> CH1C_W {
130813                CH1C_W { w: self }
130814            }
130815        }
130816    }
130817    ///CPU2 to CPU1 status register
130818    ///
130819    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
130820    ///
130821    ///For information about available fields see [c2toc1sr](c2toc1sr) module
130822    pub type C2TOC1SR = crate::Reg<u32, _C2TOC1SR>;
130823    #[allow(missing_docs)]
130824    #[doc(hidden)]
130825    pub struct _C2TOC1SR;
130826    ///`read()` method returns [c2toc1sr::R](c2toc1sr::R) reader structure
130827    impl crate::Readable for C2TOC1SR {}
130828    ///CPU2 to CPU1 status register
130829    pub mod c2toc1sr {
130830        ///Reader of register C2TOC1SR
130831        pub type R = crate::R<u32, super::C2TOC1SR>;
130832        ///Reader of field `CH6F`
130833        pub type CH6F_R = crate::R<bool, bool>;
130834        ///Reader of field `CH5F`
130835        pub type CH5F_R = crate::R<bool, bool>;
130836        ///Reader of field `CH4F`
130837        pub type CH4F_R = crate::R<bool, bool>;
130838        ///Reader of field `CH3F`
130839        pub type CH3F_R = crate::R<bool, bool>;
130840        ///Reader of field `CH2F`
130841        pub type CH2F_R = crate::R<bool, bool>;
130842        ///Reader of field `CH1F`
130843        pub type CH1F_R = crate::R<bool, bool>;
130844        impl R {
130845            ///Bit 5 - processor 2 transmit to process 1 Receive channel 6 status flag
130846            #[inline(always)]
130847            pub fn ch6f(&self) -> CH6F_R {
130848                CH6F_R::new(((self.bits >> 5) & 0x01) != 0)
130849            }
130850            ///Bit 4 - processor 2 transmit to process 1 Receive channel 5 status flag
130851            #[inline(always)]
130852            pub fn ch5f(&self) -> CH5F_R {
130853                CH5F_R::new(((self.bits >> 4) & 0x01) != 0)
130854            }
130855            ///Bit 3 - processor 2 transmit to process 1 Receive channel 4 status flag
130856            #[inline(always)]
130857            pub fn ch4f(&self) -> CH4F_R {
130858                CH4F_R::new(((self.bits >> 3) & 0x01) != 0)
130859            }
130860            ///Bit 2 - processor 2 transmit to process 1 Receive channel 3 status flag
130861            #[inline(always)]
130862            pub fn ch3f(&self) -> CH3F_R {
130863                CH3F_R::new(((self.bits >> 2) & 0x01) != 0)
130864            }
130865            ///Bit 1 - processor 2 transmit to process 1 Receive channel 2 status flag
130866            #[inline(always)]
130867            pub fn ch2f(&self) -> CH2F_R {
130868                CH2F_R::new(((self.bits >> 1) & 0x01) != 0)
130869            }
130870            ///Bit 0 - processor 2 transmit to process 1 Receive channel 1 status flag
130871            #[inline(always)]
130872            pub fn ch1f(&self) -> CH1F_R {
130873                CH1F_R::new((self.bits & 0x01) != 0)
130874            }
130875        }
130876    }
130877    ///IPCC Hardware configuration register
130878    ///
130879    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
130880    ///
130881    ///For information about available fields see [hwcfgr](hwcfgr) module
130882    pub type HWCFGR = crate::Reg<u32, _HWCFGR>;
130883    #[allow(missing_docs)]
130884    #[doc(hidden)]
130885    pub struct _HWCFGR;
130886    ///`read()` method returns [hwcfgr::R](hwcfgr::R) reader structure
130887    impl crate::Readable for HWCFGR {}
130888    ///IPCC Hardware configuration register
130889    pub mod hwcfgr {
130890        ///Reader of register HWCFGR
130891        pub type R = crate::R<u32, super::HWCFGR>;
130892        ///Reader of field `CHANNELS`
130893        pub type CHANNELS_R = crate::R<u8, u8>;
130894        impl R {
130895            ///Bits 0:7 - Number of channels per CPU supported by the IP, range 1 to 16
130896            #[inline(always)]
130897            pub fn channels(&self) -> CHANNELS_R {
130898                CHANNELS_R::new((self.bits & 0xff) as u8)
130899            }
130900        }
130901    }
130902    ///IPCC version register
130903    ///
130904    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
130905    ///
130906    ///For information about available fields see [verr](verr) module
130907    pub type VERR = crate::Reg<u32, _VERR>;
130908    #[allow(missing_docs)]
130909    #[doc(hidden)]
130910    pub struct _VERR;
130911    ///`read()` method returns [verr::R](verr::R) reader structure
130912    impl crate::Readable for VERR {}
130913    ///IPCC version register
130914    pub mod verr {
130915        ///Reader of register VERR
130916        pub type R = crate::R<u32, super::VERR>;
130917        ///Reader of field `MAJREV`
130918        pub type MAJREV_R = crate::R<u8, u8>;
130919        ///Reader of field `MINREV`
130920        pub type MINREV_R = crate::R<u8, u8>;
130921        impl R {
130922            ///Bits 4:7 - Major Revision
130923            #[inline(always)]
130924            pub fn majrev(&self) -> MAJREV_R {
130925                MAJREV_R::new(((self.bits >> 4) & 0x0f) as u8)
130926            }
130927            ///Bits 0:3 - Minor Revision
130928            #[inline(always)]
130929            pub fn minrev(&self) -> MINREV_R {
130930                MINREV_R::new((self.bits & 0x0f) as u8)
130931            }
130932        }
130933    }
130934    ///IPCC indentification register
130935    ///
130936    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
130937    ///
130938    ///For information about available fields see [ipidr](ipidr) module
130939    pub type IPIDR = crate::Reg<u32, _IPIDR>;
130940    #[allow(missing_docs)]
130941    #[doc(hidden)]
130942    pub struct _IPIDR;
130943    ///`read()` method returns [ipidr::R](ipidr::R) reader structure
130944    impl crate::Readable for IPIDR {}
130945    ///IPCC indentification register
130946    pub mod ipidr {
130947        ///Reader of register IPIDR
130948        pub type R = crate::R<u32, super::IPIDR>;
130949        ///Reader of field `IPID`
130950        pub type IPID_R = crate::R<u32, u32>;
130951        impl R {
130952            ///Bits 0:31 - Identification Code
130953            #[inline(always)]
130954            pub fn ipid(&self) -> IPID_R {
130955                IPID_R::new((self.bits & 0xffff_ffff) as u32)
130956            }
130957        }
130958    }
130959    ///IPCC size indentification register
130960    ///
130961    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
130962    ///
130963    ///For information about available fields see [sidr](sidr) module
130964    pub type SIDR = crate::Reg<u32, _SIDR>;
130965    #[allow(missing_docs)]
130966    #[doc(hidden)]
130967    pub struct _SIDR;
130968    ///`read()` method returns [sidr::R](sidr::R) reader structure
130969    impl crate::Readable for SIDR {}
130970    ///IPCC size indentification register
130971    pub mod sidr {
130972        ///Reader of register SIDR
130973        pub type R = crate::R<u32, super::SIDR>;
130974        ///Reader of field `SID`
130975        pub type SID_R = crate::R<u32, u32>;
130976        impl R {
130977            ///Bits 0:31 - Size Identification Code
130978            #[inline(always)]
130979            pub fn sid(&self) -> SID_R {
130980                SID_R::new((self.bits & 0xffff_ffff) as u32)
130981            }
130982        }
130983    }
130984}
130985///External interrupt/event controller
130986pub struct EXTI {
130987    _marker: PhantomData<*const ()>,
130988}
130989unsafe impl Send for EXTI {}
130990impl EXTI {
130991    ///Returns a pointer to the register block
130992    #[inline(always)]
130993    pub const fn ptr() -> *const exti::RegisterBlock {
130994        0x5800_0800 as *const _
130995    }
130996}
130997impl Deref for EXTI {
130998    type Target = exti::RegisterBlock;
130999    #[inline(always)]
131000    fn deref(&self) -> &Self::Target {
131001        unsafe { &*EXTI::ptr() }
131002    }
131003}
131004///External interrupt/event controller
131005pub mod exti {
131006    ///Register block
131007    #[repr(C)]
131008    pub struct RegisterBlock {
131009        ///0x00 - rising trigger selection register
131010        pub rtsr1: RTSR1,
131011        ///0x04 - falling trigger selection register
131012        pub ftsr1: FTSR1,
131013        ///0x08 - software interrupt event register
131014        pub swier1: SWIER1,
131015        ///0x0c - EXTI pending register
131016        pub pr1: PR1,
131017        _reserved4: [u8; 16usize],
131018        ///0x20 - rising trigger selection register
131019        pub rtsr2: RTSR2,
131020        ///0x24 - falling trigger selection register
131021        pub ftsr2: FTSR2,
131022        ///0x28 - software interrupt event register
131023        pub swier2: SWIER2,
131024        ///0x2c - pending register
131025        pub pr2: PR2,
131026        _reserved8: [u8; 80usize],
131027        ///0x80 - CPUm wakeup with interrupt mask register
131028        pub imr1: IMR1,
131029        ///0x84 - CPUm wakeup with event mask register
131030        pub c1emr1: C1EMR1,
131031        _reserved10: [u8; 8usize],
131032        ///0x90 - CPUm wakeup with interrupt mask register
131033        pub c1imr2: C1IMR2,
131034        ///0x94 - CPUm wakeup with event mask register
131035        pub c1emr2: C1EMR2,
131036        _reserved12: [u8; 40usize],
131037        ///0xc0 - CPUm wakeup with interrupt mask register
131038        pub c2imr1: C2IMR1,
131039        ///0xc4 - CPUm wakeup with event mask register
131040        pub c2emr1: C2EMR1,
131041        _reserved14: [u8; 8usize],
131042        ///0xd0 - CPUm wakeup with interrupt mask register
131043        pub c2imr2: C2IMR2,
131044        ///0xd4 - CPUm wakeup with event mask register
131045        pub c2emr2: C2EMR2,
131046        _reserved16: [u8; 768usize],
131047        ///0x3d8 - EXTI Hardware configuration registers
131048        pub hwcfgr7: HWCFGR7,
131049        ///0x3dc - Hardware configuration registers
131050        pub hwcfgr6: HWCFGR6,
131051        ///0x3e0 - Hardware configuration registers
131052        pub hwcfgr5: HWCFGR5,
131053        ///0x3e4 - Hardware configuration registers
131054        pub hwcfgr4: HWCFGR4,
131055        ///0x3e8 - Hardware configuration registers
131056        pub hwcfgr3: HWCFGR3,
131057        ///0x3ec - Hardware configuration registers
131058        pub hwcfgr2: HWCFGR2,
131059        ///0x3f0 - Hardware configuration register 1
131060        pub hwcfgr1: HWCFGR1,
131061        ///0x3f4 - EXTI IP Version register
131062        pub verr: VERR,
131063        ///0x3f8 - Identification register
131064        pub ipidr: IPIDR,
131065        ///0x3fc - Size ID register
131066        pub sidr: SIDR,
131067    }
131068    ///rising trigger selection register
131069    ///
131070    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
131071    ///
131072    ///For information about available fields see [rtsr1](rtsr1) module
131073    pub type RTSR1 = crate::Reg<u32, _RTSR1>;
131074    #[allow(missing_docs)]
131075    #[doc(hidden)]
131076    pub struct _RTSR1;
131077    ///`read()` method returns [rtsr1::R](rtsr1::R) reader structure
131078    impl crate::Readable for RTSR1 {}
131079    ///`write(|w| ..)` method takes [rtsr1::W](rtsr1::W) writer structure
131080    impl crate::Writable for RTSR1 {}
131081    ///rising trigger selection register
131082    pub mod rtsr1 {
131083        ///Reader of register RTSR1
131084        pub type R = crate::R<u32, super::RTSR1>;
131085        ///Writer for register RTSR1
131086        pub type W = crate::W<u32, super::RTSR1>;
131087        ///Register RTSR1 `reset()`'s with value 0
131088        impl crate::ResetValue for super::RTSR1 {
131089            type Type = u32;
131090            #[inline(always)]
131091            fn reset_value() -> Self::Type {
131092                0
131093            }
131094        }
131095        ///Reader of field `RT`
131096        pub type RT_R = crate::R<u32, u32>;
131097        ///Write proxy for field `RT`
131098        pub struct RT_W<'a> {
131099            w: &'a mut W,
131100        }
131101        impl<'a> RT_W<'a> {
131102            ///Writes raw bits to the field
131103            #[inline(always)]
131104            pub unsafe fn bits(self, value: u32) -> &'a mut W {
131105                self.w.bits = (self.w.bits & !0x003f_ffff) | ((value as u32) & 0x003f_ffff);
131106                self.w
131107            }
131108        }
131109        ///Reader of field `RT_31`
131110        pub type RT_31_R = crate::R<bool, bool>;
131111        ///Write proxy for field `RT_31`
131112        pub struct RT_31_W<'a> {
131113            w: &'a mut W,
131114        }
131115        impl<'a> RT_31_W<'a> {
131116            ///Sets the field bit
131117            #[inline(always)]
131118            pub fn set_bit(self) -> &'a mut W {
131119                self.bit(true)
131120            }
131121            ///Clears the field bit
131122            #[inline(always)]
131123            pub fn clear_bit(self) -> &'a mut W {
131124                self.bit(false)
131125            }
131126            ///Writes raw bits to the field
131127            #[inline(always)]
131128            pub fn bit(self, value: bool) -> &'a mut W {
131129                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
131130                self.w
131131            }
131132        }
131133        ///Reader of field `RT0`
131134        pub type RT0_R = crate::R<bool, bool>;
131135        ///Write proxy for field `RT0`
131136        pub struct RT0_W<'a> {
131137            w: &'a mut W,
131138        }
131139        impl<'a> RT0_W<'a> {
131140            ///Sets the field bit
131141            #[inline(always)]
131142            pub fn set_bit(self) -> &'a mut W {
131143                self.bit(true)
131144            }
131145            ///Clears the field bit
131146            #[inline(always)]
131147            pub fn clear_bit(self) -> &'a mut W {
131148                self.bit(false)
131149            }
131150            ///Writes raw bits to the field
131151            #[inline(always)]
131152            pub fn bit(self, value: bool) -> &'a mut W {
131153                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
131154                self.w
131155            }
131156        }
131157        ///Reader of field `RT1`
131158        pub type RT1_R = crate::R<bool, bool>;
131159        ///Write proxy for field `RT1`
131160        pub struct RT1_W<'a> {
131161            w: &'a mut W,
131162        }
131163        impl<'a> RT1_W<'a> {
131164            ///Sets the field bit
131165            #[inline(always)]
131166            pub fn set_bit(self) -> &'a mut W {
131167                self.bit(true)
131168            }
131169            ///Clears the field bit
131170            #[inline(always)]
131171            pub fn clear_bit(self) -> &'a mut W {
131172                self.bit(false)
131173            }
131174            ///Writes raw bits to the field
131175            #[inline(always)]
131176            pub fn bit(self, value: bool) -> &'a mut W {
131177                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
131178                self.w
131179            }
131180        }
131181        ///Reader of field `RT2`
131182        pub type RT2_R = crate::R<bool, bool>;
131183        ///Write proxy for field `RT2`
131184        pub struct RT2_W<'a> {
131185            w: &'a mut W,
131186        }
131187        impl<'a> RT2_W<'a> {
131188            ///Sets the field bit
131189            #[inline(always)]
131190            pub fn set_bit(self) -> &'a mut W {
131191                self.bit(true)
131192            }
131193            ///Clears the field bit
131194            #[inline(always)]
131195            pub fn clear_bit(self) -> &'a mut W {
131196                self.bit(false)
131197            }
131198            ///Writes raw bits to the field
131199            #[inline(always)]
131200            pub fn bit(self, value: bool) -> &'a mut W {
131201                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
131202                self.w
131203            }
131204        }
131205        ///Reader of field `RT3`
131206        pub type RT3_R = crate::R<bool, bool>;
131207        ///Write proxy for field `RT3`
131208        pub struct RT3_W<'a> {
131209            w: &'a mut W,
131210        }
131211        impl<'a> RT3_W<'a> {
131212            ///Sets the field bit
131213            #[inline(always)]
131214            pub fn set_bit(self) -> &'a mut W {
131215                self.bit(true)
131216            }
131217            ///Clears the field bit
131218            #[inline(always)]
131219            pub fn clear_bit(self) -> &'a mut W {
131220                self.bit(false)
131221            }
131222            ///Writes raw bits to the field
131223            #[inline(always)]
131224            pub fn bit(self, value: bool) -> &'a mut W {
131225                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
131226                self.w
131227            }
131228        }
131229        ///Reader of field `RT4`
131230        pub type RT4_R = crate::R<bool, bool>;
131231        ///Write proxy for field `RT4`
131232        pub struct RT4_W<'a> {
131233            w: &'a mut W,
131234        }
131235        impl<'a> RT4_W<'a> {
131236            ///Sets the field bit
131237            #[inline(always)]
131238            pub fn set_bit(self) -> &'a mut W {
131239                self.bit(true)
131240            }
131241            ///Clears the field bit
131242            #[inline(always)]
131243            pub fn clear_bit(self) -> &'a mut W {
131244                self.bit(false)
131245            }
131246            ///Writes raw bits to the field
131247            #[inline(always)]
131248            pub fn bit(self, value: bool) -> &'a mut W {
131249                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
131250                self.w
131251            }
131252        }
131253        ///Reader of field `RT5`
131254        pub type RT5_R = crate::R<bool, bool>;
131255        ///Write proxy for field `RT5`
131256        pub struct RT5_W<'a> {
131257            w: &'a mut W,
131258        }
131259        impl<'a> RT5_W<'a> {
131260            ///Sets the field bit
131261            #[inline(always)]
131262            pub fn set_bit(self) -> &'a mut W {
131263                self.bit(true)
131264            }
131265            ///Clears the field bit
131266            #[inline(always)]
131267            pub fn clear_bit(self) -> &'a mut W {
131268                self.bit(false)
131269            }
131270            ///Writes raw bits to the field
131271            #[inline(always)]
131272            pub fn bit(self, value: bool) -> &'a mut W {
131273                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
131274                self.w
131275            }
131276        }
131277        ///Reader of field `RT6`
131278        pub type RT6_R = crate::R<bool, bool>;
131279        ///Write proxy for field `RT6`
131280        pub struct RT6_W<'a> {
131281            w: &'a mut W,
131282        }
131283        impl<'a> RT6_W<'a> {
131284            ///Sets the field bit
131285            #[inline(always)]
131286            pub fn set_bit(self) -> &'a mut W {
131287                self.bit(true)
131288            }
131289            ///Clears the field bit
131290            #[inline(always)]
131291            pub fn clear_bit(self) -> &'a mut W {
131292                self.bit(false)
131293            }
131294            ///Writes raw bits to the field
131295            #[inline(always)]
131296            pub fn bit(self, value: bool) -> &'a mut W {
131297                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
131298                self.w
131299            }
131300        }
131301        ///Reader of field `RT7`
131302        pub type RT7_R = crate::R<bool, bool>;
131303        ///Write proxy for field `RT7`
131304        pub struct RT7_W<'a> {
131305            w: &'a mut W,
131306        }
131307        impl<'a> RT7_W<'a> {
131308            ///Sets the field bit
131309            #[inline(always)]
131310            pub fn set_bit(self) -> &'a mut W {
131311                self.bit(true)
131312            }
131313            ///Clears the field bit
131314            #[inline(always)]
131315            pub fn clear_bit(self) -> &'a mut W {
131316                self.bit(false)
131317            }
131318            ///Writes raw bits to the field
131319            #[inline(always)]
131320            pub fn bit(self, value: bool) -> &'a mut W {
131321                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
131322                self.w
131323            }
131324        }
131325        ///Reader of field `RT8`
131326        pub type RT8_R = crate::R<bool, bool>;
131327        ///Write proxy for field `RT8`
131328        pub struct RT8_W<'a> {
131329            w: &'a mut W,
131330        }
131331        impl<'a> RT8_W<'a> {
131332            ///Sets the field bit
131333            #[inline(always)]
131334            pub fn set_bit(self) -> &'a mut W {
131335                self.bit(true)
131336            }
131337            ///Clears the field bit
131338            #[inline(always)]
131339            pub fn clear_bit(self) -> &'a mut W {
131340                self.bit(false)
131341            }
131342            ///Writes raw bits to the field
131343            #[inline(always)]
131344            pub fn bit(self, value: bool) -> &'a mut W {
131345                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
131346                self.w
131347            }
131348        }
131349        ///Reader of field `RT9`
131350        pub type RT9_R = crate::R<bool, bool>;
131351        ///Write proxy for field `RT9`
131352        pub struct RT9_W<'a> {
131353            w: &'a mut W,
131354        }
131355        impl<'a> RT9_W<'a> {
131356            ///Sets the field bit
131357            #[inline(always)]
131358            pub fn set_bit(self) -> &'a mut W {
131359                self.bit(true)
131360            }
131361            ///Clears the field bit
131362            #[inline(always)]
131363            pub fn clear_bit(self) -> &'a mut W {
131364                self.bit(false)
131365            }
131366            ///Writes raw bits to the field
131367            #[inline(always)]
131368            pub fn bit(self, value: bool) -> &'a mut W {
131369                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
131370                self.w
131371            }
131372        }
131373        ///Reader of field `RT10`
131374        pub type RT10_R = crate::R<bool, bool>;
131375        ///Write proxy for field `RT10`
131376        pub struct RT10_W<'a> {
131377            w: &'a mut W,
131378        }
131379        impl<'a> RT10_W<'a> {
131380            ///Sets the field bit
131381            #[inline(always)]
131382            pub fn set_bit(self) -> &'a mut W {
131383                self.bit(true)
131384            }
131385            ///Clears the field bit
131386            #[inline(always)]
131387            pub fn clear_bit(self) -> &'a mut W {
131388                self.bit(false)
131389            }
131390            ///Writes raw bits to the field
131391            #[inline(always)]
131392            pub fn bit(self, value: bool) -> &'a mut W {
131393                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
131394                self.w
131395            }
131396        }
131397        ///Reader of field `RT11`
131398        pub type RT11_R = crate::R<bool, bool>;
131399        ///Write proxy for field `RT11`
131400        pub struct RT11_W<'a> {
131401            w: &'a mut W,
131402        }
131403        impl<'a> RT11_W<'a> {
131404            ///Sets the field bit
131405            #[inline(always)]
131406            pub fn set_bit(self) -> &'a mut W {
131407                self.bit(true)
131408            }
131409            ///Clears the field bit
131410            #[inline(always)]
131411            pub fn clear_bit(self) -> &'a mut W {
131412                self.bit(false)
131413            }
131414            ///Writes raw bits to the field
131415            #[inline(always)]
131416            pub fn bit(self, value: bool) -> &'a mut W {
131417                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
131418                self.w
131419            }
131420        }
131421        ///Reader of field `RT12`
131422        pub type RT12_R = crate::R<bool, bool>;
131423        ///Write proxy for field `RT12`
131424        pub struct RT12_W<'a> {
131425            w: &'a mut W,
131426        }
131427        impl<'a> RT12_W<'a> {
131428            ///Sets the field bit
131429            #[inline(always)]
131430            pub fn set_bit(self) -> &'a mut W {
131431                self.bit(true)
131432            }
131433            ///Clears the field bit
131434            #[inline(always)]
131435            pub fn clear_bit(self) -> &'a mut W {
131436                self.bit(false)
131437            }
131438            ///Writes raw bits to the field
131439            #[inline(always)]
131440            pub fn bit(self, value: bool) -> &'a mut W {
131441                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
131442                self.w
131443            }
131444        }
131445        ///Reader of field `RT13`
131446        pub type RT13_R = crate::R<bool, bool>;
131447        ///Write proxy for field `RT13`
131448        pub struct RT13_W<'a> {
131449            w: &'a mut W,
131450        }
131451        impl<'a> RT13_W<'a> {
131452            ///Sets the field bit
131453            #[inline(always)]
131454            pub fn set_bit(self) -> &'a mut W {
131455                self.bit(true)
131456            }
131457            ///Clears the field bit
131458            #[inline(always)]
131459            pub fn clear_bit(self) -> &'a mut W {
131460                self.bit(false)
131461            }
131462            ///Writes raw bits to the field
131463            #[inline(always)]
131464            pub fn bit(self, value: bool) -> &'a mut W {
131465                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
131466                self.w
131467            }
131468        }
131469        ///Reader of field `RT14`
131470        pub type RT14_R = crate::R<bool, bool>;
131471        ///Write proxy for field `RT14`
131472        pub struct RT14_W<'a> {
131473            w: &'a mut W,
131474        }
131475        impl<'a> RT14_W<'a> {
131476            ///Sets the field bit
131477            #[inline(always)]
131478            pub fn set_bit(self) -> &'a mut W {
131479                self.bit(true)
131480            }
131481            ///Clears the field bit
131482            #[inline(always)]
131483            pub fn clear_bit(self) -> &'a mut W {
131484                self.bit(false)
131485            }
131486            ///Writes raw bits to the field
131487            #[inline(always)]
131488            pub fn bit(self, value: bool) -> &'a mut W {
131489                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
131490                self.w
131491            }
131492        }
131493        ///Reader of field `RT15`
131494        pub type RT15_R = crate::R<bool, bool>;
131495        ///Write proxy for field `RT15`
131496        pub struct RT15_W<'a> {
131497            w: &'a mut W,
131498        }
131499        impl<'a> RT15_W<'a> {
131500            ///Sets the field bit
131501            #[inline(always)]
131502            pub fn set_bit(self) -> &'a mut W {
131503                self.bit(true)
131504            }
131505            ///Clears the field bit
131506            #[inline(always)]
131507            pub fn clear_bit(self) -> &'a mut W {
131508                self.bit(false)
131509            }
131510            ///Writes raw bits to the field
131511            #[inline(always)]
131512            pub fn bit(self, value: bool) -> &'a mut W {
131513                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
131514                self.w
131515            }
131516        }
131517        ///Reader of field `RT16`
131518        pub type RT16_R = crate::R<bool, bool>;
131519        ///Write proxy for field `RT16`
131520        pub struct RT16_W<'a> {
131521            w: &'a mut W,
131522        }
131523        impl<'a> RT16_W<'a> {
131524            ///Sets the field bit
131525            #[inline(always)]
131526            pub fn set_bit(self) -> &'a mut W {
131527                self.bit(true)
131528            }
131529            ///Clears the field bit
131530            #[inline(always)]
131531            pub fn clear_bit(self) -> &'a mut W {
131532                self.bit(false)
131533            }
131534            ///Writes raw bits to the field
131535            #[inline(always)]
131536            pub fn bit(self, value: bool) -> &'a mut W {
131537                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
131538                self.w
131539            }
131540        }
131541        ///Reader of field `RT17`
131542        pub type RT17_R = crate::R<bool, bool>;
131543        ///Write proxy for field `RT17`
131544        pub struct RT17_W<'a> {
131545            w: &'a mut W,
131546        }
131547        impl<'a> RT17_W<'a> {
131548            ///Sets the field bit
131549            #[inline(always)]
131550            pub fn set_bit(self) -> &'a mut W {
131551                self.bit(true)
131552            }
131553            ///Clears the field bit
131554            #[inline(always)]
131555            pub fn clear_bit(self) -> &'a mut W {
131556                self.bit(false)
131557            }
131558            ///Writes raw bits to the field
131559            #[inline(always)]
131560            pub fn bit(self, value: bool) -> &'a mut W {
131561                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
131562                self.w
131563            }
131564        }
131565        ///Reader of field `RT18`
131566        pub type RT18_R = crate::R<bool, bool>;
131567        ///Write proxy for field `RT18`
131568        pub struct RT18_W<'a> {
131569            w: &'a mut W,
131570        }
131571        impl<'a> RT18_W<'a> {
131572            ///Sets the field bit
131573            #[inline(always)]
131574            pub fn set_bit(self) -> &'a mut W {
131575                self.bit(true)
131576            }
131577            ///Clears the field bit
131578            #[inline(always)]
131579            pub fn clear_bit(self) -> &'a mut W {
131580                self.bit(false)
131581            }
131582            ///Writes raw bits to the field
131583            #[inline(always)]
131584            pub fn bit(self, value: bool) -> &'a mut W {
131585                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
131586                self.w
131587            }
131588        }
131589        ///Reader of field `RT19`
131590        pub type RT19_R = crate::R<bool, bool>;
131591        ///Write proxy for field `RT19`
131592        pub struct RT19_W<'a> {
131593            w: &'a mut W,
131594        }
131595        impl<'a> RT19_W<'a> {
131596            ///Sets the field bit
131597            #[inline(always)]
131598            pub fn set_bit(self) -> &'a mut W {
131599                self.bit(true)
131600            }
131601            ///Clears the field bit
131602            #[inline(always)]
131603            pub fn clear_bit(self) -> &'a mut W {
131604                self.bit(false)
131605            }
131606            ///Writes raw bits to the field
131607            #[inline(always)]
131608            pub fn bit(self, value: bool) -> &'a mut W {
131609                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
131610                self.w
131611            }
131612        }
131613        ///Reader of field `RT20`
131614        pub type RT20_R = crate::R<bool, bool>;
131615        ///Write proxy for field `RT20`
131616        pub struct RT20_W<'a> {
131617            w: &'a mut W,
131618        }
131619        impl<'a> RT20_W<'a> {
131620            ///Sets the field bit
131621            #[inline(always)]
131622            pub fn set_bit(self) -> &'a mut W {
131623                self.bit(true)
131624            }
131625            ///Clears the field bit
131626            #[inline(always)]
131627            pub fn clear_bit(self) -> &'a mut W {
131628                self.bit(false)
131629            }
131630            ///Writes raw bits to the field
131631            #[inline(always)]
131632            pub fn bit(self, value: bool) -> &'a mut W {
131633                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
131634                self.w
131635            }
131636        }
131637        ///Reader of field `RT21`
131638        pub type RT21_R = crate::R<bool, bool>;
131639        ///Write proxy for field `RT21`
131640        pub struct RT21_W<'a> {
131641            w: &'a mut W,
131642        }
131643        impl<'a> RT21_W<'a> {
131644            ///Sets the field bit
131645            #[inline(always)]
131646            pub fn set_bit(self) -> &'a mut W {
131647                self.bit(true)
131648            }
131649            ///Clears the field bit
131650            #[inline(always)]
131651            pub fn clear_bit(self) -> &'a mut W {
131652                self.bit(false)
131653            }
131654            ///Writes raw bits to the field
131655            #[inline(always)]
131656            pub fn bit(self, value: bool) -> &'a mut W {
131657                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
131658                self.w
131659            }
131660        }
131661        ///Reader of field `RT31`
131662        pub type RT31_R = crate::R<bool, bool>;
131663        ///Write proxy for field `RT31`
131664        pub struct RT31_W<'a> {
131665            w: &'a mut W,
131666        }
131667        impl<'a> RT31_W<'a> {
131668            ///Sets the field bit
131669            #[inline(always)]
131670            pub fn set_bit(self) -> &'a mut W {
131671                self.bit(true)
131672            }
131673            ///Clears the field bit
131674            #[inline(always)]
131675            pub fn clear_bit(self) -> &'a mut W {
131676                self.bit(false)
131677            }
131678            ///Writes raw bits to the field
131679            #[inline(always)]
131680            pub fn bit(self, value: bool) -> &'a mut W {
131681                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
131682                self.w
131683            }
131684        }
131685        impl R {
131686            ///Bits 0:21 - Rising trigger event configuration bit of Configurable Event input
131687            #[inline(always)]
131688            pub fn rt(&self) -> RT_R {
131689                RT_R::new((self.bits & 0x003f_ffff) as u32)
131690            }
131691            ///Bit 31 - Rising trigger event configuration bit of Configurable Event input
131692            #[inline(always)]
131693            pub fn rt_31(&self) -> RT_31_R {
131694                RT_31_R::new(((self.bits >> 31) & 0x01) != 0)
131695            }
131696            ///Bit 0 - Rising trigger event configuration bit of configurable Event input 0.
131697            #[inline(always)]
131698            pub fn rt0(&self) -> RT0_R {
131699                RT0_R::new((self.bits & 0x01) != 0)
131700            }
131701            ///Bit 1 - Rising trigger event configuration bit of configurable Event input 1.
131702            #[inline(always)]
131703            pub fn rt1(&self) -> RT1_R {
131704                RT1_R::new(((self.bits >> 1) & 0x01) != 0)
131705            }
131706            ///Bit 2 - Rising trigger event configuration bit of configurable Event input 2.
131707            #[inline(always)]
131708            pub fn rt2(&self) -> RT2_R {
131709                RT2_R::new(((self.bits >> 2) & 0x01) != 0)
131710            }
131711            ///Bit 3 - Rising trigger event configuration bit of configurable Event input 3.
131712            #[inline(always)]
131713            pub fn rt3(&self) -> RT3_R {
131714                RT3_R::new(((self.bits >> 3) & 0x01) != 0)
131715            }
131716            ///Bit 4 - Rising trigger event configuration bit of configurable Event input 4.
131717            #[inline(always)]
131718            pub fn rt4(&self) -> RT4_R {
131719                RT4_R::new(((self.bits >> 4) & 0x01) != 0)
131720            }
131721            ///Bit 5 - Rising trigger event configuration bit of configurable Event input 5.
131722            #[inline(always)]
131723            pub fn rt5(&self) -> RT5_R {
131724                RT5_R::new(((self.bits >> 5) & 0x01) != 0)
131725            }
131726            ///Bit 6 - Rising trigger event configuration bit of configurable Event input 6.
131727            #[inline(always)]
131728            pub fn rt6(&self) -> RT6_R {
131729                RT6_R::new(((self.bits >> 6) & 0x01) != 0)
131730            }
131731            ///Bit 7 - Rising trigger event configuration bit of configurable Event input 7.
131732            #[inline(always)]
131733            pub fn rt7(&self) -> RT7_R {
131734                RT7_R::new(((self.bits >> 7) & 0x01) != 0)
131735            }
131736            ///Bit 8 - Rising trigger event configuration bit of configurable Event input 8.
131737            #[inline(always)]
131738            pub fn rt8(&self) -> RT8_R {
131739                RT8_R::new(((self.bits >> 8) & 0x01) != 0)
131740            }
131741            ///Bit 9 - Rising trigger event configuration bit of configurable Event input 9.
131742            #[inline(always)]
131743            pub fn rt9(&self) -> RT9_R {
131744                RT9_R::new(((self.bits >> 9) & 0x01) != 0)
131745            }
131746            ///Bit 10 - Rising trigger event configuration bit of configurable Event input 10.
131747            #[inline(always)]
131748            pub fn rt10(&self) -> RT10_R {
131749                RT10_R::new(((self.bits >> 10) & 0x01) != 0)
131750            }
131751            ///Bit 11 - Rising trigger event configuration bit of configurable Event input 11.
131752            #[inline(always)]
131753            pub fn rt11(&self) -> RT11_R {
131754                RT11_R::new(((self.bits >> 11) & 0x01) != 0)
131755            }
131756            ///Bit 12 - Rising trigger event configuration bit of configurable Event input 12.
131757            #[inline(always)]
131758            pub fn rt12(&self) -> RT12_R {
131759                RT12_R::new(((self.bits >> 12) & 0x01) != 0)
131760            }
131761            ///Bit 13 - Rising trigger event configuration bit of configurable Event input 13.
131762            #[inline(always)]
131763            pub fn rt13(&self) -> RT13_R {
131764                RT13_R::new(((self.bits >> 13) & 0x01) != 0)
131765            }
131766            ///Bit 14 - Rising trigger event configuration bit of configurable Event input 14.
131767            #[inline(always)]
131768            pub fn rt14(&self) -> RT14_R {
131769                RT14_R::new(((self.bits >> 14) & 0x01) != 0)
131770            }
131771            ///Bit 15 - Rising trigger event configuration bit of configurable Event input 15.
131772            #[inline(always)]
131773            pub fn rt15(&self) -> RT15_R {
131774                RT15_R::new(((self.bits >> 15) & 0x01) != 0)
131775            }
131776            ///Bit 16 - Rising trigger event configuration bit of configurable Event input 16.
131777            #[inline(always)]
131778            pub fn rt16(&self) -> RT16_R {
131779                RT16_R::new(((self.bits >> 16) & 0x01) != 0)
131780            }
131781            ///Bit 17 - Rising trigger event configuration bit of configurable Event input 17.
131782            #[inline(always)]
131783            pub fn rt17(&self) -> RT17_R {
131784                RT17_R::new(((self.bits >> 17) & 0x01) != 0)
131785            }
131786            ///Bit 18 - Rising trigger event configuration bit of configurable Event input 18.
131787            #[inline(always)]
131788            pub fn rt18(&self) -> RT18_R {
131789                RT18_R::new(((self.bits >> 18) & 0x01) != 0)
131790            }
131791            ///Bit 19 - Rising trigger event configuration bit of configurable Event input 19.
131792            #[inline(always)]
131793            pub fn rt19(&self) -> RT19_R {
131794                RT19_R::new(((self.bits >> 19) & 0x01) != 0)
131795            }
131796            ///Bit 20 - Rising trigger event configuration bit of configurable Event input 20.
131797            #[inline(always)]
131798            pub fn rt20(&self) -> RT20_R {
131799                RT20_R::new(((self.bits >> 20) & 0x01) != 0)
131800            }
131801            ///Bit 21 - Rising trigger event configuration bit of configurable Event input 21.
131802            #[inline(always)]
131803            pub fn rt21(&self) -> RT21_R {
131804                RT21_R::new(((self.bits >> 21) & 0x01) != 0)
131805            }
131806            ///Bit 31 - Rising trigger event configuration bit of configurable Event input 31.
131807            #[inline(always)]
131808            pub fn rt31(&self) -> RT31_R {
131809                RT31_R::new(((self.bits >> 31) & 0x01) != 0)
131810            }
131811        }
131812        impl W {
131813            ///Bits 0:21 - Rising trigger event configuration bit of Configurable Event input
131814            #[inline(always)]
131815            pub fn rt(&mut self) -> RT_W {
131816                RT_W { w: self }
131817            }
131818            ///Bit 31 - Rising trigger event configuration bit of Configurable Event input
131819            #[inline(always)]
131820            pub fn rt_31(&mut self) -> RT_31_W {
131821                RT_31_W { w: self }
131822            }
131823            ///Bit 0 - Rising trigger event configuration bit of configurable Event input 0.
131824            #[inline(always)]
131825            pub fn rt0(&mut self) -> RT0_W {
131826                RT0_W { w: self }
131827            }
131828            ///Bit 1 - Rising trigger event configuration bit of configurable Event input 1.
131829            #[inline(always)]
131830            pub fn rt1(&mut self) -> RT1_W {
131831                RT1_W { w: self }
131832            }
131833            ///Bit 2 - Rising trigger event configuration bit of configurable Event input 2.
131834            #[inline(always)]
131835            pub fn rt2(&mut self) -> RT2_W {
131836                RT2_W { w: self }
131837            }
131838            ///Bit 3 - Rising trigger event configuration bit of configurable Event input 3.
131839            #[inline(always)]
131840            pub fn rt3(&mut self) -> RT3_W {
131841                RT3_W { w: self }
131842            }
131843            ///Bit 4 - Rising trigger event configuration bit of configurable Event input 4.
131844            #[inline(always)]
131845            pub fn rt4(&mut self) -> RT4_W {
131846                RT4_W { w: self }
131847            }
131848            ///Bit 5 - Rising trigger event configuration bit of configurable Event input 5.
131849            #[inline(always)]
131850            pub fn rt5(&mut self) -> RT5_W {
131851                RT5_W { w: self }
131852            }
131853            ///Bit 6 - Rising trigger event configuration bit of configurable Event input 6.
131854            #[inline(always)]
131855            pub fn rt6(&mut self) -> RT6_W {
131856                RT6_W { w: self }
131857            }
131858            ///Bit 7 - Rising trigger event configuration bit of configurable Event input 7.
131859            #[inline(always)]
131860            pub fn rt7(&mut self) -> RT7_W {
131861                RT7_W { w: self }
131862            }
131863            ///Bit 8 - Rising trigger event configuration bit of configurable Event input 8.
131864            #[inline(always)]
131865            pub fn rt8(&mut self) -> RT8_W {
131866                RT8_W { w: self }
131867            }
131868            ///Bit 9 - Rising trigger event configuration bit of configurable Event input 9.
131869            #[inline(always)]
131870            pub fn rt9(&mut self) -> RT9_W {
131871                RT9_W { w: self }
131872            }
131873            ///Bit 10 - Rising trigger event configuration bit of configurable Event input 10.
131874            #[inline(always)]
131875            pub fn rt10(&mut self) -> RT10_W {
131876                RT10_W { w: self }
131877            }
131878            ///Bit 11 - Rising trigger event configuration bit of configurable Event input 11.
131879            #[inline(always)]
131880            pub fn rt11(&mut self) -> RT11_W {
131881                RT11_W { w: self }
131882            }
131883            ///Bit 12 - Rising trigger event configuration bit of configurable Event input 12.
131884            #[inline(always)]
131885            pub fn rt12(&mut self) -> RT12_W {
131886                RT12_W { w: self }
131887            }
131888            ///Bit 13 - Rising trigger event configuration bit of configurable Event input 13.
131889            #[inline(always)]
131890            pub fn rt13(&mut self) -> RT13_W {
131891                RT13_W { w: self }
131892            }
131893            ///Bit 14 - Rising trigger event configuration bit of configurable Event input 14.
131894            #[inline(always)]
131895            pub fn rt14(&mut self) -> RT14_W {
131896                RT14_W { w: self }
131897            }
131898            ///Bit 15 - Rising trigger event configuration bit of configurable Event input 15.
131899            #[inline(always)]
131900            pub fn rt15(&mut self) -> RT15_W {
131901                RT15_W { w: self }
131902            }
131903            ///Bit 16 - Rising trigger event configuration bit of configurable Event input 16.
131904            #[inline(always)]
131905            pub fn rt16(&mut self) -> RT16_W {
131906                RT16_W { w: self }
131907            }
131908            ///Bit 17 - Rising trigger event configuration bit of configurable Event input 17.
131909            #[inline(always)]
131910            pub fn rt17(&mut self) -> RT17_W {
131911                RT17_W { w: self }
131912            }
131913            ///Bit 18 - Rising trigger event configuration bit of configurable Event input 18.
131914            #[inline(always)]
131915            pub fn rt18(&mut self) -> RT18_W {
131916                RT18_W { w: self }
131917            }
131918            ///Bit 19 - Rising trigger event configuration bit of configurable Event input 19.
131919            #[inline(always)]
131920            pub fn rt19(&mut self) -> RT19_W {
131921                RT19_W { w: self }
131922            }
131923            ///Bit 20 - Rising trigger event configuration bit of configurable Event input 20.
131924            #[inline(always)]
131925            pub fn rt20(&mut self) -> RT20_W {
131926                RT20_W { w: self }
131927            }
131928            ///Bit 21 - Rising trigger event configuration bit of configurable Event input 21.
131929            #[inline(always)]
131930            pub fn rt21(&mut self) -> RT21_W {
131931                RT21_W { w: self }
131932            }
131933            ///Bit 31 - Rising trigger event configuration bit of configurable Event input 31.
131934            #[inline(always)]
131935            pub fn rt31(&mut self) -> RT31_W {
131936                RT31_W { w: self }
131937            }
131938        }
131939    }
131940    ///falling trigger selection register
131941    ///
131942    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
131943    ///
131944    ///For information about available fields see [ftsr1](ftsr1) module
131945    pub type FTSR1 = crate::Reg<u32, _FTSR1>;
131946    #[allow(missing_docs)]
131947    #[doc(hidden)]
131948    pub struct _FTSR1;
131949    ///`read()` method returns [ftsr1::R](ftsr1::R) reader structure
131950    impl crate::Readable for FTSR1 {}
131951    ///`write(|w| ..)` method takes [ftsr1::W](ftsr1::W) writer structure
131952    impl crate::Writable for FTSR1 {}
131953    ///falling trigger selection register
131954    pub mod ftsr1 {
131955        ///Reader of register FTSR1
131956        pub type R = crate::R<u32, super::FTSR1>;
131957        ///Writer for register FTSR1
131958        pub type W = crate::W<u32, super::FTSR1>;
131959        ///Register FTSR1 `reset()`'s with value 0
131960        impl crate::ResetValue for super::FTSR1 {
131961            type Type = u32;
131962            #[inline(always)]
131963            fn reset_value() -> Self::Type {
131964                0
131965            }
131966        }
131967        ///Reader of field `FT`
131968        pub type FT_R = crate::R<u32, u32>;
131969        ///Write proxy for field `FT`
131970        pub struct FT_W<'a> {
131971            w: &'a mut W,
131972        }
131973        impl<'a> FT_W<'a> {
131974            ///Writes raw bits to the field
131975            #[inline(always)]
131976            pub unsafe fn bits(self, value: u32) -> &'a mut W {
131977                self.w.bits = (self.w.bits & !0x003f_ffff) | ((value as u32) & 0x003f_ffff);
131978                self.w
131979            }
131980        }
131981        ///Reader of field `FT_31`
131982        pub type FT_31_R = crate::R<bool, bool>;
131983        ///Write proxy for field `FT_31`
131984        pub struct FT_31_W<'a> {
131985            w: &'a mut W,
131986        }
131987        impl<'a> FT_31_W<'a> {
131988            ///Sets the field bit
131989            #[inline(always)]
131990            pub fn set_bit(self) -> &'a mut W {
131991                self.bit(true)
131992            }
131993            ///Clears the field bit
131994            #[inline(always)]
131995            pub fn clear_bit(self) -> &'a mut W {
131996                self.bit(false)
131997            }
131998            ///Writes raw bits to the field
131999            #[inline(always)]
132000            pub fn bit(self, value: bool) -> &'a mut W {
132001                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
132002                self.w
132003            }
132004        }
132005        ///Reader of field `FT0`
132006        pub type FT0_R = crate::R<bool, bool>;
132007        ///Write proxy for field `FT0`
132008        pub struct FT0_W<'a> {
132009            w: &'a mut W,
132010        }
132011        impl<'a> FT0_W<'a> {
132012            ///Sets the field bit
132013            #[inline(always)]
132014            pub fn set_bit(self) -> &'a mut W {
132015                self.bit(true)
132016            }
132017            ///Clears the field bit
132018            #[inline(always)]
132019            pub fn clear_bit(self) -> &'a mut W {
132020                self.bit(false)
132021            }
132022            ///Writes raw bits to the field
132023            #[inline(always)]
132024            pub fn bit(self, value: bool) -> &'a mut W {
132025                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
132026                self.w
132027            }
132028        }
132029        ///Reader of field `FT1`
132030        pub type FT1_R = crate::R<bool, bool>;
132031        ///Write proxy for field `FT1`
132032        pub struct FT1_W<'a> {
132033            w: &'a mut W,
132034        }
132035        impl<'a> FT1_W<'a> {
132036            ///Sets the field bit
132037            #[inline(always)]
132038            pub fn set_bit(self) -> &'a mut W {
132039                self.bit(true)
132040            }
132041            ///Clears the field bit
132042            #[inline(always)]
132043            pub fn clear_bit(self) -> &'a mut W {
132044                self.bit(false)
132045            }
132046            ///Writes raw bits to the field
132047            #[inline(always)]
132048            pub fn bit(self, value: bool) -> &'a mut W {
132049                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
132050                self.w
132051            }
132052        }
132053        ///Reader of field `FT2`
132054        pub type FT2_R = crate::R<bool, bool>;
132055        ///Write proxy for field `FT2`
132056        pub struct FT2_W<'a> {
132057            w: &'a mut W,
132058        }
132059        impl<'a> FT2_W<'a> {
132060            ///Sets the field bit
132061            #[inline(always)]
132062            pub fn set_bit(self) -> &'a mut W {
132063                self.bit(true)
132064            }
132065            ///Clears the field bit
132066            #[inline(always)]
132067            pub fn clear_bit(self) -> &'a mut W {
132068                self.bit(false)
132069            }
132070            ///Writes raw bits to the field
132071            #[inline(always)]
132072            pub fn bit(self, value: bool) -> &'a mut W {
132073                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
132074                self.w
132075            }
132076        }
132077        ///Reader of field `FT3`
132078        pub type FT3_R = crate::R<bool, bool>;
132079        ///Write proxy for field `FT3`
132080        pub struct FT3_W<'a> {
132081            w: &'a mut W,
132082        }
132083        impl<'a> FT3_W<'a> {
132084            ///Sets the field bit
132085            #[inline(always)]
132086            pub fn set_bit(self) -> &'a mut W {
132087                self.bit(true)
132088            }
132089            ///Clears the field bit
132090            #[inline(always)]
132091            pub fn clear_bit(self) -> &'a mut W {
132092                self.bit(false)
132093            }
132094            ///Writes raw bits to the field
132095            #[inline(always)]
132096            pub fn bit(self, value: bool) -> &'a mut W {
132097                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
132098                self.w
132099            }
132100        }
132101        ///Reader of field `FT4`
132102        pub type FT4_R = crate::R<bool, bool>;
132103        ///Write proxy for field `FT4`
132104        pub struct FT4_W<'a> {
132105            w: &'a mut W,
132106        }
132107        impl<'a> FT4_W<'a> {
132108            ///Sets the field bit
132109            #[inline(always)]
132110            pub fn set_bit(self) -> &'a mut W {
132111                self.bit(true)
132112            }
132113            ///Clears the field bit
132114            #[inline(always)]
132115            pub fn clear_bit(self) -> &'a mut W {
132116                self.bit(false)
132117            }
132118            ///Writes raw bits to the field
132119            #[inline(always)]
132120            pub fn bit(self, value: bool) -> &'a mut W {
132121                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
132122                self.w
132123            }
132124        }
132125        ///Reader of field `FT5`
132126        pub type FT5_R = crate::R<bool, bool>;
132127        ///Write proxy for field `FT5`
132128        pub struct FT5_W<'a> {
132129            w: &'a mut W,
132130        }
132131        impl<'a> FT5_W<'a> {
132132            ///Sets the field bit
132133            #[inline(always)]
132134            pub fn set_bit(self) -> &'a mut W {
132135                self.bit(true)
132136            }
132137            ///Clears the field bit
132138            #[inline(always)]
132139            pub fn clear_bit(self) -> &'a mut W {
132140                self.bit(false)
132141            }
132142            ///Writes raw bits to the field
132143            #[inline(always)]
132144            pub fn bit(self, value: bool) -> &'a mut W {
132145                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
132146                self.w
132147            }
132148        }
132149        ///Reader of field `FT6`
132150        pub type FT6_R = crate::R<bool, bool>;
132151        ///Write proxy for field `FT6`
132152        pub struct FT6_W<'a> {
132153            w: &'a mut W,
132154        }
132155        impl<'a> FT6_W<'a> {
132156            ///Sets the field bit
132157            #[inline(always)]
132158            pub fn set_bit(self) -> &'a mut W {
132159                self.bit(true)
132160            }
132161            ///Clears the field bit
132162            #[inline(always)]
132163            pub fn clear_bit(self) -> &'a mut W {
132164                self.bit(false)
132165            }
132166            ///Writes raw bits to the field
132167            #[inline(always)]
132168            pub fn bit(self, value: bool) -> &'a mut W {
132169                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
132170                self.w
132171            }
132172        }
132173        ///Reader of field `FT7`
132174        pub type FT7_R = crate::R<bool, bool>;
132175        ///Write proxy for field `FT7`
132176        pub struct FT7_W<'a> {
132177            w: &'a mut W,
132178        }
132179        impl<'a> FT7_W<'a> {
132180            ///Sets the field bit
132181            #[inline(always)]
132182            pub fn set_bit(self) -> &'a mut W {
132183                self.bit(true)
132184            }
132185            ///Clears the field bit
132186            #[inline(always)]
132187            pub fn clear_bit(self) -> &'a mut W {
132188                self.bit(false)
132189            }
132190            ///Writes raw bits to the field
132191            #[inline(always)]
132192            pub fn bit(self, value: bool) -> &'a mut W {
132193                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
132194                self.w
132195            }
132196        }
132197        ///Reader of field `FT8`
132198        pub type FT8_R = crate::R<bool, bool>;
132199        ///Write proxy for field `FT8`
132200        pub struct FT8_W<'a> {
132201            w: &'a mut W,
132202        }
132203        impl<'a> FT8_W<'a> {
132204            ///Sets the field bit
132205            #[inline(always)]
132206            pub fn set_bit(self) -> &'a mut W {
132207                self.bit(true)
132208            }
132209            ///Clears the field bit
132210            #[inline(always)]
132211            pub fn clear_bit(self) -> &'a mut W {
132212                self.bit(false)
132213            }
132214            ///Writes raw bits to the field
132215            #[inline(always)]
132216            pub fn bit(self, value: bool) -> &'a mut W {
132217                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
132218                self.w
132219            }
132220        }
132221        ///Reader of field `FT9`
132222        pub type FT9_R = crate::R<bool, bool>;
132223        ///Write proxy for field `FT9`
132224        pub struct FT9_W<'a> {
132225            w: &'a mut W,
132226        }
132227        impl<'a> FT9_W<'a> {
132228            ///Sets the field bit
132229            #[inline(always)]
132230            pub fn set_bit(self) -> &'a mut W {
132231                self.bit(true)
132232            }
132233            ///Clears the field bit
132234            #[inline(always)]
132235            pub fn clear_bit(self) -> &'a mut W {
132236                self.bit(false)
132237            }
132238            ///Writes raw bits to the field
132239            #[inline(always)]
132240            pub fn bit(self, value: bool) -> &'a mut W {
132241                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
132242                self.w
132243            }
132244        }
132245        ///Reader of field `FT10`
132246        pub type FT10_R = crate::R<bool, bool>;
132247        ///Write proxy for field `FT10`
132248        pub struct FT10_W<'a> {
132249            w: &'a mut W,
132250        }
132251        impl<'a> FT10_W<'a> {
132252            ///Sets the field bit
132253            #[inline(always)]
132254            pub fn set_bit(self) -> &'a mut W {
132255                self.bit(true)
132256            }
132257            ///Clears the field bit
132258            #[inline(always)]
132259            pub fn clear_bit(self) -> &'a mut W {
132260                self.bit(false)
132261            }
132262            ///Writes raw bits to the field
132263            #[inline(always)]
132264            pub fn bit(self, value: bool) -> &'a mut W {
132265                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
132266                self.w
132267            }
132268        }
132269        ///Reader of field `FT11`
132270        pub type FT11_R = crate::R<bool, bool>;
132271        ///Write proxy for field `FT11`
132272        pub struct FT11_W<'a> {
132273            w: &'a mut W,
132274        }
132275        impl<'a> FT11_W<'a> {
132276            ///Sets the field bit
132277            #[inline(always)]
132278            pub fn set_bit(self) -> &'a mut W {
132279                self.bit(true)
132280            }
132281            ///Clears the field bit
132282            #[inline(always)]
132283            pub fn clear_bit(self) -> &'a mut W {
132284                self.bit(false)
132285            }
132286            ///Writes raw bits to the field
132287            #[inline(always)]
132288            pub fn bit(self, value: bool) -> &'a mut W {
132289                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
132290                self.w
132291            }
132292        }
132293        ///Reader of field `FT12`
132294        pub type FT12_R = crate::R<bool, bool>;
132295        ///Write proxy for field `FT12`
132296        pub struct FT12_W<'a> {
132297            w: &'a mut W,
132298        }
132299        impl<'a> FT12_W<'a> {
132300            ///Sets the field bit
132301            #[inline(always)]
132302            pub fn set_bit(self) -> &'a mut W {
132303                self.bit(true)
132304            }
132305            ///Clears the field bit
132306            #[inline(always)]
132307            pub fn clear_bit(self) -> &'a mut W {
132308                self.bit(false)
132309            }
132310            ///Writes raw bits to the field
132311            #[inline(always)]
132312            pub fn bit(self, value: bool) -> &'a mut W {
132313                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
132314                self.w
132315            }
132316        }
132317        ///Reader of field `FT13`
132318        pub type FT13_R = crate::R<bool, bool>;
132319        ///Write proxy for field `FT13`
132320        pub struct FT13_W<'a> {
132321            w: &'a mut W,
132322        }
132323        impl<'a> FT13_W<'a> {
132324            ///Sets the field bit
132325            #[inline(always)]
132326            pub fn set_bit(self) -> &'a mut W {
132327                self.bit(true)
132328            }
132329            ///Clears the field bit
132330            #[inline(always)]
132331            pub fn clear_bit(self) -> &'a mut W {
132332                self.bit(false)
132333            }
132334            ///Writes raw bits to the field
132335            #[inline(always)]
132336            pub fn bit(self, value: bool) -> &'a mut W {
132337                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
132338                self.w
132339            }
132340        }
132341        ///Reader of field `FT14`
132342        pub type FT14_R = crate::R<bool, bool>;
132343        ///Write proxy for field `FT14`
132344        pub struct FT14_W<'a> {
132345            w: &'a mut W,
132346        }
132347        impl<'a> FT14_W<'a> {
132348            ///Sets the field bit
132349            #[inline(always)]
132350            pub fn set_bit(self) -> &'a mut W {
132351                self.bit(true)
132352            }
132353            ///Clears the field bit
132354            #[inline(always)]
132355            pub fn clear_bit(self) -> &'a mut W {
132356                self.bit(false)
132357            }
132358            ///Writes raw bits to the field
132359            #[inline(always)]
132360            pub fn bit(self, value: bool) -> &'a mut W {
132361                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
132362                self.w
132363            }
132364        }
132365        ///Reader of field `FT15`
132366        pub type FT15_R = crate::R<bool, bool>;
132367        ///Write proxy for field `FT15`
132368        pub struct FT15_W<'a> {
132369            w: &'a mut W,
132370        }
132371        impl<'a> FT15_W<'a> {
132372            ///Sets the field bit
132373            #[inline(always)]
132374            pub fn set_bit(self) -> &'a mut W {
132375                self.bit(true)
132376            }
132377            ///Clears the field bit
132378            #[inline(always)]
132379            pub fn clear_bit(self) -> &'a mut W {
132380                self.bit(false)
132381            }
132382            ///Writes raw bits to the field
132383            #[inline(always)]
132384            pub fn bit(self, value: bool) -> &'a mut W {
132385                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
132386                self.w
132387            }
132388        }
132389        ///Reader of field `FT16`
132390        pub type FT16_R = crate::R<bool, bool>;
132391        ///Write proxy for field `FT16`
132392        pub struct FT16_W<'a> {
132393            w: &'a mut W,
132394        }
132395        impl<'a> FT16_W<'a> {
132396            ///Sets the field bit
132397            #[inline(always)]
132398            pub fn set_bit(self) -> &'a mut W {
132399                self.bit(true)
132400            }
132401            ///Clears the field bit
132402            #[inline(always)]
132403            pub fn clear_bit(self) -> &'a mut W {
132404                self.bit(false)
132405            }
132406            ///Writes raw bits to the field
132407            #[inline(always)]
132408            pub fn bit(self, value: bool) -> &'a mut W {
132409                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
132410                self.w
132411            }
132412        }
132413        ///Reader of field `FT17`
132414        pub type FT17_R = crate::R<bool, bool>;
132415        ///Write proxy for field `FT17`
132416        pub struct FT17_W<'a> {
132417            w: &'a mut W,
132418        }
132419        impl<'a> FT17_W<'a> {
132420            ///Sets the field bit
132421            #[inline(always)]
132422            pub fn set_bit(self) -> &'a mut W {
132423                self.bit(true)
132424            }
132425            ///Clears the field bit
132426            #[inline(always)]
132427            pub fn clear_bit(self) -> &'a mut W {
132428                self.bit(false)
132429            }
132430            ///Writes raw bits to the field
132431            #[inline(always)]
132432            pub fn bit(self, value: bool) -> &'a mut W {
132433                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
132434                self.w
132435            }
132436        }
132437        ///Reader of field `FT18`
132438        pub type FT18_R = crate::R<bool, bool>;
132439        ///Write proxy for field `FT18`
132440        pub struct FT18_W<'a> {
132441            w: &'a mut W,
132442        }
132443        impl<'a> FT18_W<'a> {
132444            ///Sets the field bit
132445            #[inline(always)]
132446            pub fn set_bit(self) -> &'a mut W {
132447                self.bit(true)
132448            }
132449            ///Clears the field bit
132450            #[inline(always)]
132451            pub fn clear_bit(self) -> &'a mut W {
132452                self.bit(false)
132453            }
132454            ///Writes raw bits to the field
132455            #[inline(always)]
132456            pub fn bit(self, value: bool) -> &'a mut W {
132457                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
132458                self.w
132459            }
132460        }
132461        ///Reader of field `FT19`
132462        pub type FT19_R = crate::R<bool, bool>;
132463        ///Write proxy for field `FT19`
132464        pub struct FT19_W<'a> {
132465            w: &'a mut W,
132466        }
132467        impl<'a> FT19_W<'a> {
132468            ///Sets the field bit
132469            #[inline(always)]
132470            pub fn set_bit(self) -> &'a mut W {
132471                self.bit(true)
132472            }
132473            ///Clears the field bit
132474            #[inline(always)]
132475            pub fn clear_bit(self) -> &'a mut W {
132476                self.bit(false)
132477            }
132478            ///Writes raw bits to the field
132479            #[inline(always)]
132480            pub fn bit(self, value: bool) -> &'a mut W {
132481                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
132482                self.w
132483            }
132484        }
132485        ///Reader of field `FT20`
132486        pub type FT20_R = crate::R<bool, bool>;
132487        ///Write proxy for field `FT20`
132488        pub struct FT20_W<'a> {
132489            w: &'a mut W,
132490        }
132491        impl<'a> FT20_W<'a> {
132492            ///Sets the field bit
132493            #[inline(always)]
132494            pub fn set_bit(self) -> &'a mut W {
132495                self.bit(true)
132496            }
132497            ///Clears the field bit
132498            #[inline(always)]
132499            pub fn clear_bit(self) -> &'a mut W {
132500                self.bit(false)
132501            }
132502            ///Writes raw bits to the field
132503            #[inline(always)]
132504            pub fn bit(self, value: bool) -> &'a mut W {
132505                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
132506                self.w
132507            }
132508        }
132509        ///Reader of field `FT21`
132510        pub type FT21_R = crate::R<bool, bool>;
132511        ///Write proxy for field `FT21`
132512        pub struct FT21_W<'a> {
132513            w: &'a mut W,
132514        }
132515        impl<'a> FT21_W<'a> {
132516            ///Sets the field bit
132517            #[inline(always)]
132518            pub fn set_bit(self) -> &'a mut W {
132519                self.bit(true)
132520            }
132521            ///Clears the field bit
132522            #[inline(always)]
132523            pub fn clear_bit(self) -> &'a mut W {
132524                self.bit(false)
132525            }
132526            ///Writes raw bits to the field
132527            #[inline(always)]
132528            pub fn bit(self, value: bool) -> &'a mut W {
132529                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
132530                self.w
132531            }
132532        }
132533        ///Reader of field `FT31`
132534        pub type FT31_R = crate::R<bool, bool>;
132535        ///Write proxy for field `FT31`
132536        pub struct FT31_W<'a> {
132537            w: &'a mut W,
132538        }
132539        impl<'a> FT31_W<'a> {
132540            ///Sets the field bit
132541            #[inline(always)]
132542            pub fn set_bit(self) -> &'a mut W {
132543                self.bit(true)
132544            }
132545            ///Clears the field bit
132546            #[inline(always)]
132547            pub fn clear_bit(self) -> &'a mut W {
132548                self.bit(false)
132549            }
132550            ///Writes raw bits to the field
132551            #[inline(always)]
132552            pub fn bit(self, value: bool) -> &'a mut W {
132553                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
132554                self.w
132555            }
132556        }
132557        impl R {
132558            ///Bits 0:21 - Falling trigger event configuration bit of Configurable Event input
132559            #[inline(always)]
132560            pub fn ft(&self) -> FT_R {
132561                FT_R::new((self.bits & 0x003f_ffff) as u32)
132562            }
132563            ///Bit 31 - Falling trigger event configuration bit of Configurable Event input
132564            #[inline(always)]
132565            pub fn ft_31(&self) -> FT_31_R {
132566                FT_31_R::new(((self.bits >> 31) & 0x01) != 0)
132567            }
132568            ///Bit 0 - Falling trigger event configuration bit of configurable Event input 0.
132569            #[inline(always)]
132570            pub fn ft0(&self) -> FT0_R {
132571                FT0_R::new((self.bits & 0x01) != 0)
132572            }
132573            ///Bit 1 - Falling trigger event configuration bit of configurable Event input 1.
132574            #[inline(always)]
132575            pub fn ft1(&self) -> FT1_R {
132576                FT1_R::new(((self.bits >> 1) & 0x01) != 0)
132577            }
132578            ///Bit 2 - Falling trigger event configuration bit of configurable Event input 2.
132579            #[inline(always)]
132580            pub fn ft2(&self) -> FT2_R {
132581                FT2_R::new(((self.bits >> 2) & 0x01) != 0)
132582            }
132583            ///Bit 3 - Falling trigger event configuration bit of configurable Event input 3.
132584            #[inline(always)]
132585            pub fn ft3(&self) -> FT3_R {
132586                FT3_R::new(((self.bits >> 3) & 0x01) != 0)
132587            }
132588            ///Bit 4 - Falling trigger event configuration bit of configurable Event input 4.
132589            #[inline(always)]
132590            pub fn ft4(&self) -> FT4_R {
132591                FT4_R::new(((self.bits >> 4) & 0x01) != 0)
132592            }
132593            ///Bit 5 - Falling trigger event configuration bit of configurable Event input 5.
132594            #[inline(always)]
132595            pub fn ft5(&self) -> FT5_R {
132596                FT5_R::new(((self.bits >> 5) & 0x01) != 0)
132597            }
132598            ///Bit 6 - Falling trigger event configuration bit of configurable Event input 6.
132599            #[inline(always)]
132600            pub fn ft6(&self) -> FT6_R {
132601                FT6_R::new(((self.bits >> 6) & 0x01) != 0)
132602            }
132603            ///Bit 7 - Falling trigger event configuration bit of configurable Event input 7.
132604            #[inline(always)]
132605            pub fn ft7(&self) -> FT7_R {
132606                FT7_R::new(((self.bits >> 7) & 0x01) != 0)
132607            }
132608            ///Bit 8 - Falling trigger event configuration bit of configurable Event input 8.
132609            #[inline(always)]
132610            pub fn ft8(&self) -> FT8_R {
132611                FT8_R::new(((self.bits >> 8) & 0x01) != 0)
132612            }
132613            ///Bit 9 - Falling trigger event configuration bit of configurable Event input 9.
132614            #[inline(always)]
132615            pub fn ft9(&self) -> FT9_R {
132616                FT9_R::new(((self.bits >> 9) & 0x01) != 0)
132617            }
132618            ///Bit 10 - Falling trigger event configuration bit of configurable Event input 10.
132619            #[inline(always)]
132620            pub fn ft10(&self) -> FT10_R {
132621                FT10_R::new(((self.bits >> 10) & 0x01) != 0)
132622            }
132623            ///Bit 11 - Falling trigger event configuration bit of configurable Event input 11.
132624            #[inline(always)]
132625            pub fn ft11(&self) -> FT11_R {
132626                FT11_R::new(((self.bits >> 11) & 0x01) != 0)
132627            }
132628            ///Bit 12 - Falling trigger event configuration bit of configurable Event input 12.
132629            #[inline(always)]
132630            pub fn ft12(&self) -> FT12_R {
132631                FT12_R::new(((self.bits >> 12) & 0x01) != 0)
132632            }
132633            ///Bit 13 - Falling trigger event configuration bit of configurable Event input 13.
132634            #[inline(always)]
132635            pub fn ft13(&self) -> FT13_R {
132636                FT13_R::new(((self.bits >> 13) & 0x01) != 0)
132637            }
132638            ///Bit 14 - Falling trigger event configuration bit of configurable Event input 14.
132639            #[inline(always)]
132640            pub fn ft14(&self) -> FT14_R {
132641                FT14_R::new(((self.bits >> 14) & 0x01) != 0)
132642            }
132643            ///Bit 15 - Falling trigger event configuration bit of configurable Event input 15.
132644            #[inline(always)]
132645            pub fn ft15(&self) -> FT15_R {
132646                FT15_R::new(((self.bits >> 15) & 0x01) != 0)
132647            }
132648            ///Bit 16 - Falling trigger event configuration bit of configurable Event input 16.
132649            #[inline(always)]
132650            pub fn ft16(&self) -> FT16_R {
132651                FT16_R::new(((self.bits >> 16) & 0x01) != 0)
132652            }
132653            ///Bit 17 - Falling trigger event configuration bit of configurable Event input 17.
132654            #[inline(always)]
132655            pub fn ft17(&self) -> FT17_R {
132656                FT17_R::new(((self.bits >> 17) & 0x01) != 0)
132657            }
132658            ///Bit 18 - Falling trigger event configuration bit of configurable Event input 18.
132659            #[inline(always)]
132660            pub fn ft18(&self) -> FT18_R {
132661                FT18_R::new(((self.bits >> 18) & 0x01) != 0)
132662            }
132663            ///Bit 19 - Falling trigger event configuration bit of configurable Event input 19.
132664            #[inline(always)]
132665            pub fn ft19(&self) -> FT19_R {
132666                FT19_R::new(((self.bits >> 19) & 0x01) != 0)
132667            }
132668            ///Bit 20 - Falling trigger event configuration bit of configurable Event input 20.
132669            #[inline(always)]
132670            pub fn ft20(&self) -> FT20_R {
132671                FT20_R::new(((self.bits >> 20) & 0x01) != 0)
132672            }
132673            ///Bit 21 - Falling trigger event configuration bit of configurable Event input 21.
132674            #[inline(always)]
132675            pub fn ft21(&self) -> FT21_R {
132676                FT21_R::new(((self.bits >> 21) & 0x01) != 0)
132677            }
132678            ///Bit 31 - Falling trigger event configuration bit of configurable Event input 31.
132679            #[inline(always)]
132680            pub fn ft31(&self) -> FT31_R {
132681                FT31_R::new(((self.bits >> 31) & 0x01) != 0)
132682            }
132683        }
132684        impl W {
132685            ///Bits 0:21 - Falling trigger event configuration bit of Configurable Event input
132686            #[inline(always)]
132687            pub fn ft(&mut self) -> FT_W {
132688                FT_W { w: self }
132689            }
132690            ///Bit 31 - Falling trigger event configuration bit of Configurable Event input
132691            #[inline(always)]
132692            pub fn ft_31(&mut self) -> FT_31_W {
132693                FT_31_W { w: self }
132694            }
132695            ///Bit 0 - Falling trigger event configuration bit of configurable Event input 0.
132696            #[inline(always)]
132697            pub fn ft0(&mut self) -> FT0_W {
132698                FT0_W { w: self }
132699            }
132700            ///Bit 1 - Falling trigger event configuration bit of configurable Event input 1.
132701            #[inline(always)]
132702            pub fn ft1(&mut self) -> FT1_W {
132703                FT1_W { w: self }
132704            }
132705            ///Bit 2 - Falling trigger event configuration bit of configurable Event input 2.
132706            #[inline(always)]
132707            pub fn ft2(&mut self) -> FT2_W {
132708                FT2_W { w: self }
132709            }
132710            ///Bit 3 - Falling trigger event configuration bit of configurable Event input 3.
132711            #[inline(always)]
132712            pub fn ft3(&mut self) -> FT3_W {
132713                FT3_W { w: self }
132714            }
132715            ///Bit 4 - Falling trigger event configuration bit of configurable Event input 4.
132716            #[inline(always)]
132717            pub fn ft4(&mut self) -> FT4_W {
132718                FT4_W { w: self }
132719            }
132720            ///Bit 5 - Falling trigger event configuration bit of configurable Event input 5.
132721            #[inline(always)]
132722            pub fn ft5(&mut self) -> FT5_W {
132723                FT5_W { w: self }
132724            }
132725            ///Bit 6 - Falling trigger event configuration bit of configurable Event input 6.
132726            #[inline(always)]
132727            pub fn ft6(&mut self) -> FT6_W {
132728                FT6_W { w: self }
132729            }
132730            ///Bit 7 - Falling trigger event configuration bit of configurable Event input 7.
132731            #[inline(always)]
132732            pub fn ft7(&mut self) -> FT7_W {
132733                FT7_W { w: self }
132734            }
132735            ///Bit 8 - Falling trigger event configuration bit of configurable Event input 8.
132736            #[inline(always)]
132737            pub fn ft8(&mut self) -> FT8_W {
132738                FT8_W { w: self }
132739            }
132740            ///Bit 9 - Falling trigger event configuration bit of configurable Event input 9.
132741            #[inline(always)]
132742            pub fn ft9(&mut self) -> FT9_W {
132743                FT9_W { w: self }
132744            }
132745            ///Bit 10 - Falling trigger event configuration bit of configurable Event input 10.
132746            #[inline(always)]
132747            pub fn ft10(&mut self) -> FT10_W {
132748                FT10_W { w: self }
132749            }
132750            ///Bit 11 - Falling trigger event configuration bit of configurable Event input 11.
132751            #[inline(always)]
132752            pub fn ft11(&mut self) -> FT11_W {
132753                FT11_W { w: self }
132754            }
132755            ///Bit 12 - Falling trigger event configuration bit of configurable Event input 12.
132756            #[inline(always)]
132757            pub fn ft12(&mut self) -> FT12_W {
132758                FT12_W { w: self }
132759            }
132760            ///Bit 13 - Falling trigger event configuration bit of configurable Event input 13.
132761            #[inline(always)]
132762            pub fn ft13(&mut self) -> FT13_W {
132763                FT13_W { w: self }
132764            }
132765            ///Bit 14 - Falling trigger event configuration bit of configurable Event input 14.
132766            #[inline(always)]
132767            pub fn ft14(&mut self) -> FT14_W {
132768                FT14_W { w: self }
132769            }
132770            ///Bit 15 - Falling trigger event configuration bit of configurable Event input 15.
132771            #[inline(always)]
132772            pub fn ft15(&mut self) -> FT15_W {
132773                FT15_W { w: self }
132774            }
132775            ///Bit 16 - Falling trigger event configuration bit of configurable Event input 16.
132776            #[inline(always)]
132777            pub fn ft16(&mut self) -> FT16_W {
132778                FT16_W { w: self }
132779            }
132780            ///Bit 17 - Falling trigger event configuration bit of configurable Event input 17.
132781            #[inline(always)]
132782            pub fn ft17(&mut self) -> FT17_W {
132783                FT17_W { w: self }
132784            }
132785            ///Bit 18 - Falling trigger event configuration bit of configurable Event input 18.
132786            #[inline(always)]
132787            pub fn ft18(&mut self) -> FT18_W {
132788                FT18_W { w: self }
132789            }
132790            ///Bit 19 - Falling trigger event configuration bit of configurable Event input 19.
132791            #[inline(always)]
132792            pub fn ft19(&mut self) -> FT19_W {
132793                FT19_W { w: self }
132794            }
132795            ///Bit 20 - Falling trigger event configuration bit of configurable Event input 20.
132796            #[inline(always)]
132797            pub fn ft20(&mut self) -> FT20_W {
132798                FT20_W { w: self }
132799            }
132800            ///Bit 21 - Falling trigger event configuration bit of configurable Event input 21.
132801            #[inline(always)]
132802            pub fn ft21(&mut self) -> FT21_W {
132803                FT21_W { w: self }
132804            }
132805            ///Bit 31 - Falling trigger event configuration bit of configurable Event input 31.
132806            #[inline(always)]
132807            pub fn ft31(&mut self) -> FT31_W {
132808                FT31_W { w: self }
132809            }
132810        }
132811    }
132812    ///software interrupt event register
132813    ///
132814    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
132815    ///
132816    ///For information about available fields see [swier1](swier1) module
132817    pub type SWIER1 = crate::Reg<u32, _SWIER1>;
132818    #[allow(missing_docs)]
132819    #[doc(hidden)]
132820    pub struct _SWIER1;
132821    ///`read()` method returns [swier1::R](swier1::R) reader structure
132822    impl crate::Readable for SWIER1 {}
132823    ///`write(|w| ..)` method takes [swier1::W](swier1::W) writer structure
132824    impl crate::Writable for SWIER1 {}
132825    ///software interrupt event register
132826    pub mod swier1 {
132827        ///Reader of register SWIER1
132828        pub type R = crate::R<u32, super::SWIER1>;
132829        ///Writer for register SWIER1
132830        pub type W = crate::W<u32, super::SWIER1>;
132831        ///Register SWIER1 `reset()`'s with value 0
132832        impl crate::ResetValue for super::SWIER1 {
132833            type Type = u32;
132834            #[inline(always)]
132835            fn reset_value() -> Self::Type {
132836                0
132837            }
132838        }
132839        ///Reader of field `SWI`
132840        pub type SWI_R = crate::R<u32, u32>;
132841        ///Write proxy for field `SWI`
132842        pub struct SWI_W<'a> {
132843            w: &'a mut W,
132844        }
132845        impl<'a> SWI_W<'a> {
132846            ///Writes raw bits to the field
132847            #[inline(always)]
132848            pub unsafe fn bits(self, value: u32) -> &'a mut W {
132849                self.w.bits = (self.w.bits & !0x003f_ffff) | ((value as u32) & 0x003f_ffff);
132850                self.w
132851            }
132852        }
132853        ///Reader of field `SWI_31`
132854        pub type SWI_31_R = crate::R<bool, bool>;
132855        ///Write proxy for field `SWI_31`
132856        pub struct SWI_31_W<'a> {
132857            w: &'a mut W,
132858        }
132859        impl<'a> SWI_31_W<'a> {
132860            ///Sets the field bit
132861            #[inline(always)]
132862            pub fn set_bit(self) -> &'a mut W {
132863                self.bit(true)
132864            }
132865            ///Clears the field bit
132866            #[inline(always)]
132867            pub fn clear_bit(self) -> &'a mut W {
132868                self.bit(false)
132869            }
132870            ///Writes raw bits to the field
132871            #[inline(always)]
132872            pub fn bit(self, value: bool) -> &'a mut W {
132873                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
132874                self.w
132875            }
132876        }
132877        impl R {
132878            ///Bits 0:21 - Software interrupt on event
132879            #[inline(always)]
132880            pub fn swi(&self) -> SWI_R {
132881                SWI_R::new((self.bits & 0x003f_ffff) as u32)
132882            }
132883            ///Bit 31 - Software interrupt on event
132884            #[inline(always)]
132885            pub fn swi_31(&self) -> SWI_31_R {
132886                SWI_31_R::new(((self.bits >> 31) & 0x01) != 0)
132887            }
132888        }
132889        impl W {
132890            ///Bits 0:21 - Software interrupt on event
132891            #[inline(always)]
132892            pub fn swi(&mut self) -> SWI_W {
132893                SWI_W { w: self }
132894            }
132895            ///Bit 31 - Software interrupt on event
132896            #[inline(always)]
132897            pub fn swi_31(&mut self) -> SWI_31_W {
132898                SWI_31_W { w: self }
132899            }
132900        }
132901    }
132902    ///EXTI pending register
132903    ///
132904    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
132905    ///
132906    ///For information about available fields see [pr1](pr1) module
132907    pub type PR1 = crate::Reg<u32, _PR1>;
132908    #[allow(missing_docs)]
132909    #[doc(hidden)]
132910    pub struct _PR1;
132911    ///`read()` method returns [pr1::R](pr1::R) reader structure
132912    impl crate::Readable for PR1 {}
132913    ///`write(|w| ..)` method takes [pr1::W](pr1::W) writer structure
132914    impl crate::Writable for PR1 {}
132915    ///EXTI pending register
132916    pub mod pr1 {
132917        ///Reader of register PR1
132918        pub type R = crate::R<u32, super::PR1>;
132919        ///Writer for register PR1
132920        pub type W = crate::W<u32, super::PR1>;
132921        ///Register PR1 `reset()`'s with value 0
132922        impl crate::ResetValue for super::PR1 {
132923            type Type = u32;
132924            #[inline(always)]
132925            fn reset_value() -> Self::Type {
132926                0
132927            }
132928        }
132929        ///Reader of field `PIF`
132930        pub type PIF_R = crate::R<u32, u32>;
132931        ///Write proxy for field `PIF`
132932        pub struct PIF_W<'a> {
132933            w: &'a mut W,
132934        }
132935        impl<'a> PIF_W<'a> {
132936            ///Writes raw bits to the field
132937            #[inline(always)]
132938            pub unsafe fn bits(self, value: u32) -> &'a mut W {
132939                self.w.bits = (self.w.bits & !0x003f_ffff) | ((value as u32) & 0x003f_ffff);
132940                self.w
132941            }
132942        }
132943        ///Reader of field `PIF_31`
132944        pub type PIF_31_R = crate::R<bool, bool>;
132945        ///Write proxy for field `PIF_31`
132946        pub struct PIF_31_W<'a> {
132947            w: &'a mut W,
132948        }
132949        impl<'a> PIF_31_W<'a> {
132950            ///Sets the field bit
132951            #[inline(always)]
132952            pub fn set_bit(self) -> &'a mut W {
132953                self.bit(true)
132954            }
132955            ///Clears the field bit
132956            #[inline(always)]
132957            pub fn clear_bit(self) -> &'a mut W {
132958                self.bit(false)
132959            }
132960            ///Writes raw bits to the field
132961            #[inline(always)]
132962            pub fn bit(self, value: bool) -> &'a mut W {
132963                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
132964                self.w
132965            }
132966        }
132967        impl R {
132968            ///Bits 0:21 - Configurable event inputs Pending bit
132969            #[inline(always)]
132970            pub fn pif(&self) -> PIF_R {
132971                PIF_R::new((self.bits & 0x003f_ffff) as u32)
132972            }
132973            ///Bit 31 - Configurable event inputs Pending bit
132974            #[inline(always)]
132975            pub fn pif_31(&self) -> PIF_31_R {
132976                PIF_31_R::new(((self.bits >> 31) & 0x01) != 0)
132977            }
132978        }
132979        impl W {
132980            ///Bits 0:21 - Configurable event inputs Pending bit
132981            #[inline(always)]
132982            pub fn pif(&mut self) -> PIF_W {
132983                PIF_W { w: self }
132984            }
132985            ///Bit 31 - Configurable event inputs Pending bit
132986            #[inline(always)]
132987            pub fn pif_31(&mut self) -> PIF_31_W {
132988                PIF_31_W { w: self }
132989            }
132990        }
132991    }
132992    ///rising trigger selection register
132993    ///
132994    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
132995    ///
132996    ///For information about available fields see [rtsr2](rtsr2) module
132997    pub type RTSR2 = crate::Reg<u32, _RTSR2>;
132998    #[allow(missing_docs)]
132999    #[doc(hidden)]
133000    pub struct _RTSR2;
133001    ///`read()` method returns [rtsr2::R](rtsr2::R) reader structure
133002    impl crate::Readable for RTSR2 {}
133003    ///`write(|w| ..)` method takes [rtsr2::W](rtsr2::W) writer structure
133004    impl crate::Writable for RTSR2 {}
133005    ///rising trigger selection register
133006    pub mod rtsr2 {
133007        ///Reader of register RTSR2
133008        pub type R = crate::R<u32, super::RTSR2>;
133009        ///Writer for register RTSR2
133010        pub type W = crate::W<u32, super::RTSR2>;
133011        ///Register RTSR2 `reset()`'s with value 0
133012        impl crate::ResetValue for super::RTSR2 {
133013            type Type = u32;
133014            #[inline(always)]
133015            fn reset_value() -> Self::Type {
133016                0
133017            }
133018        }
133019        ///Reader of field `RT33`
133020        pub type RT33_R = crate::R<bool, bool>;
133021        ///Write proxy for field `RT33`
133022        pub struct RT33_W<'a> {
133023            w: &'a mut W,
133024        }
133025        impl<'a> RT33_W<'a> {
133026            ///Sets the field bit
133027            #[inline(always)]
133028            pub fn set_bit(self) -> &'a mut W {
133029                self.bit(true)
133030            }
133031            ///Clears the field bit
133032            #[inline(always)]
133033            pub fn clear_bit(self) -> &'a mut W {
133034                self.bit(false)
133035            }
133036            ///Writes raw bits to the field
133037            #[inline(always)]
133038            pub fn bit(self, value: bool) -> &'a mut W {
133039                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
133040                self.w
133041            }
133042        }
133043        ///Reader of field `RT40_41`
133044        pub type RT40_41_R = crate::R<u8, u8>;
133045        ///Write proxy for field `RT40_41`
133046        pub struct RT40_41_W<'a> {
133047            w: &'a mut W,
133048        }
133049        impl<'a> RT40_41_W<'a> {
133050            ///Writes raw bits to the field
133051            #[inline(always)]
133052            pub unsafe fn bits(self, value: u8) -> &'a mut W {
133053                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
133054                self.w
133055            }
133056        }
133057        impl R {
133058            ///Bit 1 - Rising trigger event configuration bit of Configurable Event input
133059            #[inline(always)]
133060            pub fn rt33(&self) -> RT33_R {
133061                RT33_R::new(((self.bits >> 1) & 0x01) != 0)
133062            }
133063            ///Bits 8:9 - Rising trigger event configuration bit of Configurable Event input
133064            #[inline(always)]
133065            pub fn rt40_41(&self) -> RT40_41_R {
133066                RT40_41_R::new(((self.bits >> 8) & 0x03) as u8)
133067            }
133068        }
133069        impl W {
133070            ///Bit 1 - Rising trigger event configuration bit of Configurable Event input
133071            #[inline(always)]
133072            pub fn rt33(&mut self) -> RT33_W {
133073                RT33_W { w: self }
133074            }
133075            ///Bits 8:9 - Rising trigger event configuration bit of Configurable Event input
133076            #[inline(always)]
133077            pub fn rt40_41(&mut self) -> RT40_41_W {
133078                RT40_41_W { w: self }
133079            }
133080        }
133081    }
133082    ///falling trigger selection register
133083    ///
133084    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
133085    ///
133086    ///For information about available fields see [ftsr2](ftsr2) module
133087    pub type FTSR2 = crate::Reg<u32, _FTSR2>;
133088    #[allow(missing_docs)]
133089    #[doc(hidden)]
133090    pub struct _FTSR2;
133091    ///`read()` method returns [ftsr2::R](ftsr2::R) reader structure
133092    impl crate::Readable for FTSR2 {}
133093    ///`write(|w| ..)` method takes [ftsr2::W](ftsr2::W) writer structure
133094    impl crate::Writable for FTSR2 {}
133095    ///falling trigger selection register
133096    pub mod ftsr2 {
133097        ///Reader of register FTSR2
133098        pub type R = crate::R<u32, super::FTSR2>;
133099        ///Writer for register FTSR2
133100        pub type W = crate::W<u32, super::FTSR2>;
133101        ///Register FTSR2 `reset()`'s with value 0
133102        impl crate::ResetValue for super::FTSR2 {
133103            type Type = u32;
133104            #[inline(always)]
133105            fn reset_value() -> Self::Type {
133106                0
133107            }
133108        }
133109        ///Reader of field `FT33`
133110        pub type FT33_R = crate::R<bool, bool>;
133111        ///Write proxy for field `FT33`
133112        pub struct FT33_W<'a> {
133113            w: &'a mut W,
133114        }
133115        impl<'a> FT33_W<'a> {
133116            ///Sets the field bit
133117            #[inline(always)]
133118            pub fn set_bit(self) -> &'a mut W {
133119                self.bit(true)
133120            }
133121            ///Clears the field bit
133122            #[inline(always)]
133123            pub fn clear_bit(self) -> &'a mut W {
133124                self.bit(false)
133125            }
133126            ///Writes raw bits to the field
133127            #[inline(always)]
133128            pub fn bit(self, value: bool) -> &'a mut W {
133129                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
133130                self.w
133131            }
133132        }
133133        ///Reader of field `FT40_41`
133134        pub type FT40_41_R = crate::R<u8, u8>;
133135        ///Write proxy for field `FT40_41`
133136        pub struct FT40_41_W<'a> {
133137            w: &'a mut W,
133138        }
133139        impl<'a> FT40_41_W<'a> {
133140            ///Writes raw bits to the field
133141            #[inline(always)]
133142            pub unsafe fn bits(self, value: u8) -> &'a mut W {
133143                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
133144                self.w
133145            }
133146        }
133147        impl R {
133148            ///Bit 1 - Falling trigger event configuration bit of Configurable Event input
133149            #[inline(always)]
133150            pub fn ft33(&self) -> FT33_R {
133151                FT33_R::new(((self.bits >> 1) & 0x01) != 0)
133152            }
133153            ///Bits 8:9 - Falling trigger event configuration bit of Configurable Event input
133154            #[inline(always)]
133155            pub fn ft40_41(&self) -> FT40_41_R {
133156                FT40_41_R::new(((self.bits >> 8) & 0x03) as u8)
133157            }
133158        }
133159        impl W {
133160            ///Bit 1 - Falling trigger event configuration bit of Configurable Event input
133161            #[inline(always)]
133162            pub fn ft33(&mut self) -> FT33_W {
133163                FT33_W { w: self }
133164            }
133165            ///Bits 8:9 - Falling trigger event configuration bit of Configurable Event input
133166            #[inline(always)]
133167            pub fn ft40_41(&mut self) -> FT40_41_W {
133168                FT40_41_W { w: self }
133169            }
133170        }
133171    }
133172    ///software interrupt event register
133173    ///
133174    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
133175    ///
133176    ///For information about available fields see [swier2](swier2) module
133177    pub type SWIER2 = crate::Reg<u32, _SWIER2>;
133178    #[allow(missing_docs)]
133179    #[doc(hidden)]
133180    pub struct _SWIER2;
133181    ///`read()` method returns [swier2::R](swier2::R) reader structure
133182    impl crate::Readable for SWIER2 {}
133183    ///`write(|w| ..)` method takes [swier2::W](swier2::W) writer structure
133184    impl crate::Writable for SWIER2 {}
133185    ///software interrupt event register
133186    pub mod swier2 {
133187        ///Reader of register SWIER2
133188        pub type R = crate::R<u32, super::SWIER2>;
133189        ///Writer for register SWIER2
133190        pub type W = crate::W<u32, super::SWIER2>;
133191        ///Register SWIER2 `reset()`'s with value 0
133192        impl crate::ResetValue for super::SWIER2 {
133193            type Type = u32;
133194            #[inline(always)]
133195            fn reset_value() -> Self::Type {
133196                0
133197            }
133198        }
133199        ///Reader of field `SWI33`
133200        pub type SWI33_R = crate::R<bool, bool>;
133201        ///Write proxy for field `SWI33`
133202        pub struct SWI33_W<'a> {
133203            w: &'a mut W,
133204        }
133205        impl<'a> SWI33_W<'a> {
133206            ///Sets the field bit
133207            #[inline(always)]
133208            pub fn set_bit(self) -> &'a mut W {
133209                self.bit(true)
133210            }
133211            ///Clears the field bit
133212            #[inline(always)]
133213            pub fn clear_bit(self) -> &'a mut W {
133214                self.bit(false)
133215            }
133216            ///Writes raw bits to the field
133217            #[inline(always)]
133218            pub fn bit(self, value: bool) -> &'a mut W {
133219                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
133220                self.w
133221            }
133222        }
133223        ///Reader of field `SWI40_41`
133224        pub type SWI40_41_R = crate::R<u8, u8>;
133225        ///Write proxy for field `SWI40_41`
133226        pub struct SWI40_41_W<'a> {
133227            w: &'a mut W,
133228        }
133229        impl<'a> SWI40_41_W<'a> {
133230            ///Writes raw bits to the field
133231            #[inline(always)]
133232            pub unsafe fn bits(self, value: u8) -> &'a mut W {
133233                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
133234                self.w
133235            }
133236        }
133237        impl R {
133238            ///Bit 1 - Software interrupt on event
133239            #[inline(always)]
133240            pub fn swi33(&self) -> SWI33_R {
133241                SWI33_R::new(((self.bits >> 1) & 0x01) != 0)
133242            }
133243            ///Bits 8:9 - Software interrupt on event
133244            #[inline(always)]
133245            pub fn swi40_41(&self) -> SWI40_41_R {
133246                SWI40_41_R::new(((self.bits >> 8) & 0x03) as u8)
133247            }
133248        }
133249        impl W {
133250            ///Bit 1 - Software interrupt on event
133251            #[inline(always)]
133252            pub fn swi33(&mut self) -> SWI33_W {
133253                SWI33_W { w: self }
133254            }
133255            ///Bits 8:9 - Software interrupt on event
133256            #[inline(always)]
133257            pub fn swi40_41(&mut self) -> SWI40_41_W {
133258                SWI40_41_W { w: self }
133259            }
133260        }
133261    }
133262    ///pending register
133263    ///
133264    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
133265    ///
133266    ///For information about available fields see [pr2](pr2) module
133267    pub type PR2 = crate::Reg<u32, _PR2>;
133268    #[allow(missing_docs)]
133269    #[doc(hidden)]
133270    pub struct _PR2;
133271    ///`read()` method returns [pr2::R](pr2::R) reader structure
133272    impl crate::Readable for PR2 {}
133273    ///`write(|w| ..)` method takes [pr2::W](pr2::W) writer structure
133274    impl crate::Writable for PR2 {}
133275    ///pending register
133276    pub mod pr2 {
133277        ///Reader of register PR2
133278        pub type R = crate::R<u32, super::PR2>;
133279        ///Writer for register PR2
133280        pub type W = crate::W<u32, super::PR2>;
133281        ///Register PR2 `reset()`'s with value 0
133282        impl crate::ResetValue for super::PR2 {
133283            type Type = u32;
133284            #[inline(always)]
133285            fn reset_value() -> Self::Type {
133286                0
133287            }
133288        }
133289        ///Reader of field `PIF33`
133290        pub type PIF33_R = crate::R<bool, bool>;
133291        ///Write proxy for field `PIF33`
133292        pub struct PIF33_W<'a> {
133293            w: &'a mut W,
133294        }
133295        impl<'a> PIF33_W<'a> {
133296            ///Sets the field bit
133297            #[inline(always)]
133298            pub fn set_bit(self) -> &'a mut W {
133299                self.bit(true)
133300            }
133301            ///Clears the field bit
133302            #[inline(always)]
133303            pub fn clear_bit(self) -> &'a mut W {
133304                self.bit(false)
133305            }
133306            ///Writes raw bits to the field
133307            #[inline(always)]
133308            pub fn bit(self, value: bool) -> &'a mut W {
133309                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
133310                self.w
133311            }
133312        }
133313        ///Reader of field `PIF40_41`
133314        pub type PIF40_41_R = crate::R<u8, u8>;
133315        ///Write proxy for field `PIF40_41`
133316        pub struct PIF40_41_W<'a> {
133317            w: &'a mut W,
133318        }
133319        impl<'a> PIF40_41_W<'a> {
133320            ///Writes raw bits to the field
133321            #[inline(always)]
133322            pub unsafe fn bits(self, value: u8) -> &'a mut W {
133323                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
133324                self.w
133325            }
133326        }
133327        impl R {
133328            ///Bit 1 - Configurable event inputs x+32 Pending bit.
133329            #[inline(always)]
133330            pub fn pif33(&self) -> PIF33_R {
133331                PIF33_R::new(((self.bits >> 1) & 0x01) != 0)
133332            }
133333            ///Bits 8:9 - Configurable event inputs x+32 Pending bit.
133334            #[inline(always)]
133335            pub fn pif40_41(&self) -> PIF40_41_R {
133336                PIF40_41_R::new(((self.bits >> 8) & 0x03) as u8)
133337            }
133338        }
133339        impl W {
133340            ///Bit 1 - Configurable event inputs x+32 Pending bit.
133341            #[inline(always)]
133342            pub fn pif33(&mut self) -> PIF33_W {
133343                PIF33_W { w: self }
133344            }
133345            ///Bits 8:9 - Configurable event inputs x+32 Pending bit.
133346            #[inline(always)]
133347            pub fn pif40_41(&mut self) -> PIF40_41_W {
133348                PIF40_41_W { w: self }
133349            }
133350        }
133351    }
133352    ///CPUm wakeup with interrupt mask register
133353    ///
133354    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
133355    ///
133356    ///For information about available fields see [imr1](imr1) module
133357    pub type IMR1 = crate::Reg<u32, _IMR1>;
133358    #[allow(missing_docs)]
133359    #[doc(hidden)]
133360    pub struct _IMR1;
133361    ///`read()` method returns [imr1::R](imr1::R) reader structure
133362    impl crate::Readable for IMR1 {}
133363    ///`write(|w| ..)` method takes [imr1::W](imr1::W) writer structure
133364    impl crate::Writable for IMR1 {}
133365    ///CPUm wakeup with interrupt mask register
133366    pub mod imr1 {
133367        ///Reader of register IMR1
133368        pub type R = crate::R<u32, super::IMR1>;
133369        ///Writer for register IMR1
133370        pub type W = crate::W<u32, super::IMR1>;
133371        ///Register IMR1 `reset()`'s with value 0x7fc0_0000
133372        impl crate::ResetValue for super::IMR1 {
133373            type Type = u32;
133374            #[inline(always)]
133375            fn reset_value() -> Self::Type {
133376                0x7fc0_0000
133377            }
133378        }
133379        ///Reader of field `IM`
133380        pub type IM_R = crate::R<u32, u32>;
133381        ///Write proxy for field `IM`
133382        pub struct IM_W<'a> {
133383            w: &'a mut W,
133384        }
133385        impl<'a> IM_W<'a> {
133386            ///Writes raw bits to the field
133387            #[inline(always)]
133388            pub unsafe fn bits(self, value: u32) -> &'a mut W {
133389                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
133390                self.w
133391            }
133392        }
133393        ///Reader of field `IM0`
133394        pub type IM0_R = crate::R<bool, bool>;
133395        ///Write proxy for field `IM0`
133396        pub struct IM0_W<'a> {
133397            w: &'a mut W,
133398        }
133399        impl<'a> IM0_W<'a> {
133400            ///Sets the field bit
133401            #[inline(always)]
133402            pub fn set_bit(self) -> &'a mut W {
133403                self.bit(true)
133404            }
133405            ///Clears the field bit
133406            #[inline(always)]
133407            pub fn clear_bit(self) -> &'a mut W {
133408                self.bit(false)
133409            }
133410            ///Writes raw bits to the field
133411            #[inline(always)]
133412            pub fn bit(self, value: bool) -> &'a mut W {
133413                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
133414                self.w
133415            }
133416        }
133417        ///Reader of field `IM1`
133418        pub type IM1_R = crate::R<bool, bool>;
133419        ///Write proxy for field `IM1`
133420        pub struct IM1_W<'a> {
133421            w: &'a mut W,
133422        }
133423        impl<'a> IM1_W<'a> {
133424            ///Sets the field bit
133425            #[inline(always)]
133426            pub fn set_bit(self) -> &'a mut W {
133427                self.bit(true)
133428            }
133429            ///Clears the field bit
133430            #[inline(always)]
133431            pub fn clear_bit(self) -> &'a mut W {
133432                self.bit(false)
133433            }
133434            ///Writes raw bits to the field
133435            #[inline(always)]
133436            pub fn bit(self, value: bool) -> &'a mut W {
133437                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
133438                self.w
133439            }
133440        }
133441        ///Reader of field `IM2`
133442        pub type IM2_R = crate::R<bool, bool>;
133443        ///Write proxy for field `IM2`
133444        pub struct IM2_W<'a> {
133445            w: &'a mut W,
133446        }
133447        impl<'a> IM2_W<'a> {
133448            ///Sets the field bit
133449            #[inline(always)]
133450            pub fn set_bit(self) -> &'a mut W {
133451                self.bit(true)
133452            }
133453            ///Clears the field bit
133454            #[inline(always)]
133455            pub fn clear_bit(self) -> &'a mut W {
133456                self.bit(false)
133457            }
133458            ///Writes raw bits to the field
133459            #[inline(always)]
133460            pub fn bit(self, value: bool) -> &'a mut W {
133461                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
133462                self.w
133463            }
133464        }
133465        ///Reader of field `IM3`
133466        pub type IM3_R = crate::R<bool, bool>;
133467        ///Write proxy for field `IM3`
133468        pub struct IM3_W<'a> {
133469            w: &'a mut W,
133470        }
133471        impl<'a> IM3_W<'a> {
133472            ///Sets the field bit
133473            #[inline(always)]
133474            pub fn set_bit(self) -> &'a mut W {
133475                self.bit(true)
133476            }
133477            ///Clears the field bit
133478            #[inline(always)]
133479            pub fn clear_bit(self) -> &'a mut W {
133480                self.bit(false)
133481            }
133482            ///Writes raw bits to the field
133483            #[inline(always)]
133484            pub fn bit(self, value: bool) -> &'a mut W {
133485                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
133486                self.w
133487            }
133488        }
133489        ///Reader of field `IM4`
133490        pub type IM4_R = crate::R<bool, bool>;
133491        ///Write proxy for field `IM4`
133492        pub struct IM4_W<'a> {
133493            w: &'a mut W,
133494        }
133495        impl<'a> IM4_W<'a> {
133496            ///Sets the field bit
133497            #[inline(always)]
133498            pub fn set_bit(self) -> &'a mut W {
133499                self.bit(true)
133500            }
133501            ///Clears the field bit
133502            #[inline(always)]
133503            pub fn clear_bit(self) -> &'a mut W {
133504                self.bit(false)
133505            }
133506            ///Writes raw bits to the field
133507            #[inline(always)]
133508            pub fn bit(self, value: bool) -> &'a mut W {
133509                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
133510                self.w
133511            }
133512        }
133513        ///Reader of field `IM5`
133514        pub type IM5_R = crate::R<bool, bool>;
133515        ///Write proxy for field `IM5`
133516        pub struct IM5_W<'a> {
133517            w: &'a mut W,
133518        }
133519        impl<'a> IM5_W<'a> {
133520            ///Sets the field bit
133521            #[inline(always)]
133522            pub fn set_bit(self) -> &'a mut W {
133523                self.bit(true)
133524            }
133525            ///Clears the field bit
133526            #[inline(always)]
133527            pub fn clear_bit(self) -> &'a mut W {
133528                self.bit(false)
133529            }
133530            ///Writes raw bits to the field
133531            #[inline(always)]
133532            pub fn bit(self, value: bool) -> &'a mut W {
133533                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
133534                self.w
133535            }
133536        }
133537        ///Reader of field `IM6`
133538        pub type IM6_R = crate::R<bool, bool>;
133539        ///Write proxy for field `IM6`
133540        pub struct IM6_W<'a> {
133541            w: &'a mut W,
133542        }
133543        impl<'a> IM6_W<'a> {
133544            ///Sets the field bit
133545            #[inline(always)]
133546            pub fn set_bit(self) -> &'a mut W {
133547                self.bit(true)
133548            }
133549            ///Clears the field bit
133550            #[inline(always)]
133551            pub fn clear_bit(self) -> &'a mut W {
133552                self.bit(false)
133553            }
133554            ///Writes raw bits to the field
133555            #[inline(always)]
133556            pub fn bit(self, value: bool) -> &'a mut W {
133557                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
133558                self.w
133559            }
133560        }
133561        ///Reader of field `IM7`
133562        pub type IM7_R = crate::R<bool, bool>;
133563        ///Write proxy for field `IM7`
133564        pub struct IM7_W<'a> {
133565            w: &'a mut W,
133566        }
133567        impl<'a> IM7_W<'a> {
133568            ///Sets the field bit
133569            #[inline(always)]
133570            pub fn set_bit(self) -> &'a mut W {
133571                self.bit(true)
133572            }
133573            ///Clears the field bit
133574            #[inline(always)]
133575            pub fn clear_bit(self) -> &'a mut W {
133576                self.bit(false)
133577            }
133578            ///Writes raw bits to the field
133579            #[inline(always)]
133580            pub fn bit(self, value: bool) -> &'a mut W {
133581                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
133582                self.w
133583            }
133584        }
133585        ///Reader of field `IM8`
133586        pub type IM8_R = crate::R<bool, bool>;
133587        ///Write proxy for field `IM8`
133588        pub struct IM8_W<'a> {
133589            w: &'a mut W,
133590        }
133591        impl<'a> IM8_W<'a> {
133592            ///Sets the field bit
133593            #[inline(always)]
133594            pub fn set_bit(self) -> &'a mut W {
133595                self.bit(true)
133596            }
133597            ///Clears the field bit
133598            #[inline(always)]
133599            pub fn clear_bit(self) -> &'a mut W {
133600                self.bit(false)
133601            }
133602            ///Writes raw bits to the field
133603            #[inline(always)]
133604            pub fn bit(self, value: bool) -> &'a mut W {
133605                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
133606                self.w
133607            }
133608        }
133609        ///Reader of field `IM9`
133610        pub type IM9_R = crate::R<bool, bool>;
133611        ///Write proxy for field `IM9`
133612        pub struct IM9_W<'a> {
133613            w: &'a mut W,
133614        }
133615        impl<'a> IM9_W<'a> {
133616            ///Sets the field bit
133617            #[inline(always)]
133618            pub fn set_bit(self) -> &'a mut W {
133619                self.bit(true)
133620            }
133621            ///Clears the field bit
133622            #[inline(always)]
133623            pub fn clear_bit(self) -> &'a mut W {
133624                self.bit(false)
133625            }
133626            ///Writes raw bits to the field
133627            #[inline(always)]
133628            pub fn bit(self, value: bool) -> &'a mut W {
133629                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
133630                self.w
133631            }
133632        }
133633        ///Reader of field `IM10`
133634        pub type IM10_R = crate::R<bool, bool>;
133635        ///Write proxy for field `IM10`
133636        pub struct IM10_W<'a> {
133637            w: &'a mut W,
133638        }
133639        impl<'a> IM10_W<'a> {
133640            ///Sets the field bit
133641            #[inline(always)]
133642            pub fn set_bit(self) -> &'a mut W {
133643                self.bit(true)
133644            }
133645            ///Clears the field bit
133646            #[inline(always)]
133647            pub fn clear_bit(self) -> &'a mut W {
133648                self.bit(false)
133649            }
133650            ///Writes raw bits to the field
133651            #[inline(always)]
133652            pub fn bit(self, value: bool) -> &'a mut W {
133653                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u32) & 0x01) << 10);
133654                self.w
133655            }
133656        }
133657        ///Reader of field `IM11`
133658        pub type IM11_R = crate::R<bool, bool>;
133659        ///Write proxy for field `IM11`
133660        pub struct IM11_W<'a> {
133661            w: &'a mut W,
133662        }
133663        impl<'a> IM11_W<'a> {
133664            ///Sets the field bit
133665            #[inline(always)]
133666            pub fn set_bit(self) -> &'a mut W {
133667                self.bit(true)
133668            }
133669            ///Clears the field bit
133670            #[inline(always)]
133671            pub fn clear_bit(self) -> &'a mut W {
133672                self.bit(false)
133673            }
133674            ///Writes raw bits to the field
133675            #[inline(always)]
133676            pub fn bit(self, value: bool) -> &'a mut W {
133677                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11);
133678                self.w
133679            }
133680        }
133681        ///Reader of field `IM12`
133682        pub type IM12_R = crate::R<bool, bool>;
133683        ///Write proxy for field `IM12`
133684        pub struct IM12_W<'a> {
133685            w: &'a mut W,
133686        }
133687        impl<'a> IM12_W<'a> {
133688            ///Sets the field bit
133689            #[inline(always)]
133690            pub fn set_bit(self) -> &'a mut W {
133691                self.bit(true)
133692            }
133693            ///Clears the field bit
133694            #[inline(always)]
133695            pub fn clear_bit(self) -> &'a mut W {
133696                self.bit(false)
133697            }
133698            ///Writes raw bits to the field
133699            #[inline(always)]
133700            pub fn bit(self, value: bool) -> &'a mut W {
133701                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u32) & 0x01) << 12);
133702                self.w
133703            }
133704        }
133705        ///Reader of field `IM13`
133706        pub type IM13_R = crate::R<bool, bool>;
133707        ///Write proxy for field `IM13`
133708        pub struct IM13_W<'a> {
133709            w: &'a mut W,
133710        }
133711        impl<'a> IM13_W<'a> {
133712            ///Sets the field bit
133713            #[inline(always)]
133714            pub fn set_bit(self) -> &'a mut W {
133715                self.bit(true)
133716            }
133717            ///Clears the field bit
133718            #[inline(always)]
133719            pub fn clear_bit(self) -> &'a mut W {
133720                self.bit(false)
133721            }
133722            ///Writes raw bits to the field
133723            #[inline(always)]
133724            pub fn bit(self, value: bool) -> &'a mut W {
133725                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u32) & 0x01) << 13);
133726                self.w
133727            }
133728        }
133729        ///Reader of field `IM14`
133730        pub type IM14_R = crate::R<bool, bool>;
133731        ///Write proxy for field `IM14`
133732        pub struct IM14_W<'a> {
133733            w: &'a mut W,
133734        }
133735        impl<'a> IM14_W<'a> {
133736            ///Sets the field bit
133737            #[inline(always)]
133738            pub fn set_bit(self) -> &'a mut W {
133739                self.bit(true)
133740            }
133741            ///Clears the field bit
133742            #[inline(always)]
133743            pub fn clear_bit(self) -> &'a mut W {
133744                self.bit(false)
133745            }
133746            ///Writes raw bits to the field
133747            #[inline(always)]
133748            pub fn bit(self, value: bool) -> &'a mut W {
133749                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u32) & 0x01) << 14);
133750                self.w
133751            }
133752        }
133753        ///Reader of field `IM15`
133754        pub type IM15_R = crate::R<bool, bool>;
133755        ///Write proxy for field `IM15`
133756        pub struct IM15_W<'a> {
133757            w: &'a mut W,
133758        }
133759        impl<'a> IM15_W<'a> {
133760            ///Sets the field bit
133761            #[inline(always)]
133762            pub fn set_bit(self) -> &'a mut W {
133763                self.bit(true)
133764            }
133765            ///Clears the field bit
133766            #[inline(always)]
133767            pub fn clear_bit(self) -> &'a mut W {
133768                self.bit(false)
133769            }
133770            ///Writes raw bits to the field
133771            #[inline(always)]
133772            pub fn bit(self, value: bool) -> &'a mut W {
133773                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u32) & 0x01) << 15);
133774                self.w
133775            }
133776        }
133777        ///Reader of field `IM16`
133778        pub type IM16_R = crate::R<bool, bool>;
133779        ///Write proxy for field `IM16`
133780        pub struct IM16_W<'a> {
133781            w: &'a mut W,
133782        }
133783        impl<'a> IM16_W<'a> {
133784            ///Sets the field bit
133785            #[inline(always)]
133786            pub fn set_bit(self) -> &'a mut W {
133787                self.bit(true)
133788            }
133789            ///Clears the field bit
133790            #[inline(always)]
133791            pub fn clear_bit(self) -> &'a mut W {
133792                self.bit(false)
133793            }
133794            ///Writes raw bits to the field
133795            #[inline(always)]
133796            pub fn bit(self, value: bool) -> &'a mut W {
133797                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
133798                self.w
133799            }
133800        }
133801        ///Reader of field `IM17`
133802        pub type IM17_R = crate::R<bool, bool>;
133803        ///Write proxy for field `IM17`
133804        pub struct IM17_W<'a> {
133805            w: &'a mut W,
133806        }
133807        impl<'a> IM17_W<'a> {
133808            ///Sets the field bit
133809            #[inline(always)]
133810            pub fn set_bit(self) -> &'a mut W {
133811                self.bit(true)
133812            }
133813            ///Clears the field bit
133814            #[inline(always)]
133815            pub fn clear_bit(self) -> &'a mut W {
133816                self.bit(false)
133817            }
133818            ///Writes raw bits to the field
133819            #[inline(always)]
133820            pub fn bit(self, value: bool) -> &'a mut W {
133821                self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17);
133822                self.w
133823            }
133824        }
133825        ///Reader of field `IM18`
133826        pub type IM18_R = crate::R<bool, bool>;
133827        ///Write proxy for field `IM18`
133828        pub struct IM18_W<'a> {
133829            w: &'a mut W,
133830        }
133831        impl<'a> IM18_W<'a> {
133832            ///Sets the field bit
133833            #[inline(always)]
133834            pub fn set_bit(self) -> &'a mut W {
133835                self.bit(true)
133836            }
133837            ///Clears the field bit
133838            #[inline(always)]
133839            pub fn clear_bit(self) -> &'a mut W {
133840                self.bit(false)
133841            }
133842            ///Writes raw bits to the field
133843            #[inline(always)]
133844            pub fn bit(self, value: bool) -> &'a mut W {
133845                self.w.bits = (self.w.bits & !(0x01 << 18)) | (((value as u32) & 0x01) << 18);
133846                self.w
133847            }
133848        }
133849        ///Reader of field `IM19`
133850        pub type IM19_R = crate::R<bool, bool>;
133851        ///Write proxy for field `IM19`
133852        pub struct IM19_W<'a> {
133853            w: &'a mut W,
133854        }
133855        impl<'a> IM19_W<'a> {
133856            ///Sets the field bit
133857            #[inline(always)]
133858            pub fn set_bit(self) -> &'a mut W {
133859                self.bit(true)
133860            }
133861            ///Clears the field bit
133862            #[inline(always)]
133863            pub fn clear_bit(self) -> &'a mut W {
133864                self.bit(false)
133865            }
133866            ///Writes raw bits to the field
133867            #[inline(always)]
133868            pub fn bit(self, value: bool) -> &'a mut W {
133869                self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19);
133870                self.w
133871            }
133872        }
133873        ///Reader of field `IM20`
133874        pub type IM20_R = crate::R<bool, bool>;
133875        ///Write proxy for field `IM20`
133876        pub struct IM20_W<'a> {
133877            w: &'a mut W,
133878        }
133879        impl<'a> IM20_W<'a> {
133880            ///Sets the field bit
133881            #[inline(always)]
133882            pub fn set_bit(self) -> &'a mut W {
133883                self.bit(true)
133884            }
133885            ///Clears the field bit
133886            #[inline(always)]
133887            pub fn clear_bit(self) -> &'a mut W {
133888                self.bit(false)
133889            }
133890            ///Writes raw bits to the field
133891            #[inline(always)]
133892            pub fn bit(self, value: bool) -> &'a mut W {
133893                self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20);
133894                self.w
133895            }
133896        }
133897        ///Reader of field `IM21`
133898        pub type IM21_R = crate::R<bool, bool>;
133899        ///Write proxy for field `IM21`
133900        pub struct IM21_W<'a> {
133901            w: &'a mut W,
133902        }
133903        impl<'a> IM21_W<'a> {
133904            ///Sets the field bit
133905            #[inline(always)]
133906            pub fn set_bit(self) -> &'a mut W {
133907                self.bit(true)
133908            }
133909            ///Clears the field bit
133910            #[inline(always)]
133911            pub fn clear_bit(self) -> &'a mut W {
133912                self.bit(false)
133913            }
133914            ///Writes raw bits to the field
133915            #[inline(always)]
133916            pub fn bit(self, value: bool) -> &'a mut W {
133917                self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21);
133918                self.w
133919            }
133920        }
133921        ///Reader of field `IM22`
133922        pub type IM22_R = crate::R<bool, bool>;
133923        ///Write proxy for field `IM22`
133924        pub struct IM22_W<'a> {
133925            w: &'a mut W,
133926        }
133927        impl<'a> IM22_W<'a> {
133928            ///Sets the field bit
133929            #[inline(always)]
133930            pub fn set_bit(self) -> &'a mut W {
133931                self.bit(true)
133932            }
133933            ///Clears the field bit
133934            #[inline(always)]
133935            pub fn clear_bit(self) -> &'a mut W {
133936                self.bit(false)
133937            }
133938            ///Writes raw bits to the field
133939            #[inline(always)]
133940            pub fn bit(self, value: bool) -> &'a mut W {
133941                self.w.bits = (self.w.bits & !(0x01 << 22)) | (((value as u32) & 0x01) << 22);
133942                self.w
133943            }
133944        }
133945        ///Reader of field `IM23`
133946        pub type IM23_R = crate::R<bool, bool>;
133947        ///Write proxy for field `IM23`
133948        pub struct IM23_W<'a> {
133949            w: &'a mut W,
133950        }
133951        impl<'a> IM23_W<'a> {
133952            ///Sets the field bit
133953            #[inline(always)]
133954            pub fn set_bit(self) -> &'a mut W {
133955                self.bit(true)
133956            }
133957            ///Clears the field bit
133958            #[inline(always)]
133959            pub fn clear_bit(self) -> &'a mut W {
133960                self.bit(false)
133961            }
133962            ///Writes raw bits to the field
133963            #[inline(always)]
133964            pub fn bit(self, value: bool) -> &'a mut W {
133965                self.w.bits = (self.w.bits & !(0x01 << 23)) | (((value as u32) & 0x01) << 23);
133966                self.w
133967            }
133968        }
133969        ///Reader of field `IM24`
133970        pub type IM24_R = crate::R<bool, bool>;
133971        ///Write proxy for field `IM24`
133972        pub struct IM24_W<'a> {
133973            w: &'a mut W,
133974        }
133975        impl<'a> IM24_W<'a> {
133976            ///Sets the field bit
133977            #[inline(always)]
133978            pub fn set_bit(self) -> &'a mut W {
133979                self.bit(true)
133980            }
133981            ///Clears the field bit
133982            #[inline(always)]
133983            pub fn clear_bit(self) -> &'a mut W {
133984                self.bit(false)
133985            }
133986            ///Writes raw bits to the field
133987            #[inline(always)]
133988            pub fn bit(self, value: bool) -> &'a mut W {
133989                self.w.bits = (self.w.bits & !(0x01 << 24)) | (((value as u32) & 0x01) << 24);
133990                self.w
133991            }
133992        }
133993        ///Reader of field `IM25`
133994        pub type IM25_R = crate::R<bool, bool>;
133995        ///Write proxy for field `IM25`
133996        pub struct IM25_W<'a> {
133997            w: &'a mut W,
133998        }
133999        impl<'a> IM25_W<'a> {
134000            ///Sets the field bit
134001            #[inline(always)]
134002            pub fn set_bit(self) -> &'a mut W {
134003                self.bit(true)
134004            }
134005            ///Clears the field bit
134006            #[inline(always)]
134007            pub fn clear_bit(self) -> &'a mut W {
134008                self.bit(false)
134009            }
134010            ///Writes raw bits to the field
134011            #[inline(always)]
134012            pub fn bit(self, value: bool) -> &'a mut W {
134013                self.w.bits = (self.w.bits & !(0x01 << 25)) | (((value as u32) & 0x01) << 25);
134014                self.w
134015            }
134016        }
134017        ///Reader of field `IM26`
134018        pub type IM26_R = crate::R<bool, bool>;
134019        ///Write proxy for field `IM26`
134020        pub struct IM26_W<'a> {
134021            w: &'a mut W,
134022        }
134023        impl<'a> IM26_W<'a> {
134024            ///Sets the field bit
134025            #[inline(always)]
134026            pub fn set_bit(self) -> &'a mut W {
134027                self.bit(true)
134028            }
134029            ///Clears the field bit
134030            #[inline(always)]
134031            pub fn clear_bit(self) -> &'a mut W {
134032                self.bit(false)
134033            }
134034            ///Writes raw bits to the field
134035            #[inline(always)]
134036            pub fn bit(self, value: bool) -> &'a mut W {
134037                self.w.bits = (self.w.bits & !(0x01 << 26)) | (((value as u32) & 0x01) << 26);
134038                self.w
134039            }
134040        }
134041        ///Reader of field `IM27`
134042        pub type IM27_R = crate::R<bool, bool>;
134043        ///Write proxy for field `IM27`
134044        pub struct IM27_W<'a> {
134045            w: &'a mut W,
134046        }
134047        impl<'a> IM27_W<'a> {
134048            ///Sets the field bit
134049            #[inline(always)]
134050            pub fn set_bit(self) -> &'a mut W {
134051                self.bit(true)
134052            }
134053            ///Clears the field bit
134054            #[inline(always)]
134055            pub fn clear_bit(self) -> &'a mut W {
134056                self.bit(false)
134057            }
134058            ///Writes raw bits to the field
134059            #[inline(always)]
134060            pub fn bit(self, value: bool) -> &'a mut W {
134061                self.w.bits = (self.w.bits & !(0x01 << 27)) | (((value as u32) & 0x01) << 27);
134062                self.w
134063            }
134064        }
134065        ///Reader of field `IM28`
134066        pub type IM28_R = crate::R<bool, bool>;
134067        ///Write proxy for field `IM28`
134068        pub struct IM28_W<'a> {
134069            w: &'a mut W,
134070        }
134071        impl<'a> IM28_W<'a> {
134072            ///Sets the field bit
134073            #[inline(always)]
134074            pub fn set_bit(self) -> &'a mut W {
134075                self.bit(true)
134076            }
134077            ///Clears the field bit
134078            #[inline(always)]
134079            pub fn clear_bit(self) -> &'a mut W {
134080                self.bit(false)
134081            }
134082            ///Writes raw bits to the field
134083            #[inline(always)]
134084            pub fn bit(self, value: bool) -> &'a mut W {
134085                self.w.bits = (self.w.bits & !(0x01 << 28)) | (((value as u32) & 0x01) << 28);
134086                self.w
134087            }
134088        }
134089        ///Reader of field `IM29`
134090        pub type IM29_R = crate::R<bool, bool>;
134091        ///Write proxy for field `IM29`
134092        pub struct IM29_W<'a> {
134093            w: &'a mut W,
134094        }
134095        impl<'a> IM29_W<'a> {
134096            ///Sets the field bit
134097            #[inline(always)]
134098            pub fn set_bit(self) -> &'a mut W {
134099                self.bit(true)
134100            }
134101            ///Clears the field bit
134102            #[inline(always)]
134103            pub fn clear_bit(self) -> &'a mut W {
134104                self.bit(false)
134105            }
134106            ///Writes raw bits to the field
134107            #[inline(always)]
134108            pub fn bit(self, value: bool) -> &'a mut W {
134109                self.w.bits = (self.w.bits & !(0x01 << 29)) | (((value as u32) & 0x01) << 29);
134110                self.w
134111            }
134112        }
134113        ///Reader of field `IM30`
134114        pub type IM30_R = crate::R<bool, bool>;
134115        ///Write proxy for field `IM30`
134116        pub struct IM30_W<'a> {
134117            w: &'a mut W,
134118        }
134119        impl<'a> IM30_W<'a> {
134120            ///Sets the field bit
134121            #[inline(always)]
134122            pub fn set_bit(self) -> &'a mut W {
134123                self.bit(true)
134124            }
134125            ///Clears the field bit
134126            #[inline(always)]
134127            pub fn clear_bit(self) -> &'a mut W {
134128                self.bit(false)
134129            }
134130            ///Writes raw bits to the field
134131            #[inline(always)]
134132            pub fn bit(self, value: bool) -> &'a mut W {
134133                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
134134                self.w
134135            }
134136        }
134137        ///Reader of field `IM31`
134138        pub type IM31_R = crate::R<bool, bool>;
134139        ///Write proxy for field `IM31`
134140        pub struct IM31_W<'a> {
134141            w: &'a mut W,
134142        }
134143        impl<'a> IM31_W<'a> {
134144            ///Sets the field bit
134145            #[inline(always)]
134146            pub fn set_bit(self) -> &'a mut W {
134147                self.bit(true)
134148            }
134149            ///Clears the field bit
134150            #[inline(always)]
134151            pub fn clear_bit(self) -> &'a mut W {
134152                self.bit(false)
134153            }
134154            ///Writes raw bits to the field
134155            #[inline(always)]
134156            pub fn bit(self, value: bool) -> &'a mut W {
134157                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
134158                self.w
134159            }
134160        }
134161        impl R {
134162            ///Bits 0:31 - CPU(m) wakeup with interrupt Mask on Event input
134163            #[inline(always)]
134164            pub fn im(&self) -> IM_R {
134165                IM_R::new((self.bits & 0xffff_ffff) as u32)
134166            }
134167            ///Bit 0 - CPU wakeup with interrupt mask on event input 0.
134168            #[inline(always)]
134169            pub fn im0(&self) -> IM0_R {
134170                IM0_R::new((self.bits & 0x01) != 0)
134171            }
134172            ///Bit 1 - CPU wakeup with interrupt mask on event input 1.
134173            #[inline(always)]
134174            pub fn im1(&self) -> IM1_R {
134175                IM1_R::new(((self.bits >> 1) & 0x01) != 0)
134176            }
134177            ///Bit 2 - CPU wakeup with interrupt mask on event input 2.
134178            #[inline(always)]
134179            pub fn im2(&self) -> IM2_R {
134180                IM2_R::new(((self.bits >> 2) & 0x01) != 0)
134181            }
134182            ///Bit 3 - CPU wakeup with interrupt mask on event input 3.
134183            #[inline(always)]
134184            pub fn im3(&self) -> IM3_R {
134185                IM3_R::new(((self.bits >> 3) & 0x01) != 0)
134186            }
134187            ///Bit 4 - CPU wakeup with interrupt mask on event input 4.
134188            #[inline(always)]
134189            pub fn im4(&self) -> IM4_R {
134190                IM4_R::new(((self.bits >> 4) & 0x01) != 0)
134191            }
134192            ///Bit 5 - CPU wakeup with interrupt mask on event input 5.
134193            #[inline(always)]
134194            pub fn im5(&self) -> IM5_R {
134195                IM5_R::new(((self.bits >> 5) & 0x01) != 0)
134196            }
134197            ///Bit 6 - CPU wakeup with interrupt mask on event input 6.
134198            #[inline(always)]
134199            pub fn im6(&self) -> IM6_R {
134200                IM6_R::new(((self.bits >> 6) & 0x01) != 0)
134201            }
134202            ///Bit 7 - CPU wakeup with interrupt mask on event input 7.
134203            #[inline(always)]
134204            pub fn im7(&self) -> IM7_R {
134205                IM7_R::new(((self.bits >> 7) & 0x01) != 0)
134206            }
134207            ///Bit 8 - CPU wakeup with interrupt mask on event input 8.
134208            #[inline(always)]
134209            pub fn im8(&self) -> IM8_R {
134210                IM8_R::new(((self.bits >> 8) & 0x01) != 0)
134211            }
134212            ///Bit 9 - CPU wakeup with interrupt mask on event input 9.
134213            #[inline(always)]
134214            pub fn im9(&self) -> IM9_R {
134215                IM9_R::new(((self.bits >> 9) & 0x01) != 0)
134216            }
134217            ///Bit 10 - CPU wakeup with interrupt mask on event input 10.
134218            #[inline(always)]
134219            pub fn im10(&self) -> IM10_R {
134220                IM10_R::new(((self.bits >> 10) & 0x01) != 0)
134221            }
134222            ///Bit 11 - CPU wakeup with interrupt mask on event input 11.
134223            #[inline(always)]
134224            pub fn im11(&self) -> IM11_R {
134225                IM11_R::new(((self.bits >> 11) & 0x01) != 0)
134226            }
134227            ///Bit 12 - CPU wakeup with interrupt mask on event input 12.
134228            #[inline(always)]
134229            pub fn im12(&self) -> IM12_R {
134230                IM12_R::new(((self.bits >> 12) & 0x01) != 0)
134231            }
134232            ///Bit 13 - CPU wakeup with interrupt mask on event input 13.
134233            #[inline(always)]
134234            pub fn im13(&self) -> IM13_R {
134235                IM13_R::new(((self.bits >> 13) & 0x01) != 0)
134236            }
134237            ///Bit 14 - CPU wakeup with interrupt mask on event input 14.
134238            #[inline(always)]
134239            pub fn im14(&self) -> IM14_R {
134240                IM14_R::new(((self.bits >> 14) & 0x01) != 0)
134241            }
134242            ///Bit 15 - CPU wakeup with interrupt mask on event input 15.
134243            #[inline(always)]
134244            pub fn im15(&self) -> IM15_R {
134245                IM15_R::new(((self.bits >> 15) & 0x01) != 0)
134246            }
134247            ///Bit 16 - CPU wakeup with interrupt mask on event input 16.
134248            #[inline(always)]
134249            pub fn im16(&self) -> IM16_R {
134250                IM16_R::new(((self.bits >> 16) & 0x01) != 0)
134251            }
134252            ///Bit 17 - CPU wakeup with interrupt mask on event input 17.
134253            #[inline(always)]
134254            pub fn im17(&self) -> IM17_R {
134255                IM17_R::new(((self.bits >> 17) & 0x01) != 0)
134256            }
134257            ///Bit 18 - CPU wakeup with interrupt mask on event input 18.
134258            #[inline(always)]
134259            pub fn im18(&self) -> IM18_R {
134260                IM18_R::new(((self.bits >> 18) & 0x01) != 0)
134261            }
134262            ///Bit 19 - CPU wakeup with interrupt mask on event input 19.
134263            #[inline(always)]
134264            pub fn im19(&self) -> IM19_R {
134265                IM19_R::new(((self.bits >> 19) & 0x01) != 0)
134266            }
134267            ///Bit 20 - CPU wakeup with interrupt mask on event input 20.
134268            #[inline(always)]
134269            pub fn im20(&self) -> IM20_R {
134270                IM20_R::new(((self.bits >> 20) & 0x01) != 0)
134271            }
134272            ///Bit 21 - CPU wakeup with interrupt mask on event input 21.
134273            #[inline(always)]
134274            pub fn im21(&self) -> IM21_R {
134275                IM21_R::new(((self.bits >> 21) & 0x01) != 0)
134276            }
134277            ///Bit 22 - CPU wakeup with interrupt mask on event input 22.
134278            #[inline(always)]
134279            pub fn im22(&self) -> IM22_R {
134280                IM22_R::new(((self.bits >> 22) & 0x01) != 0)
134281            }
134282            ///Bit 23 - CPU wakeup with interrupt mask on event input 23.
134283            #[inline(always)]
134284            pub fn im23(&self) -> IM23_R {
134285                IM23_R::new(((self.bits >> 23) & 0x01) != 0)
134286            }
134287            ///Bit 24 - CPU wakeup with interrupt mask on event input 24.
134288            #[inline(always)]
134289            pub fn im24(&self) -> IM24_R {
134290                IM24_R::new(((self.bits >> 24) & 0x01) != 0)
134291            }
134292            ///Bit 25 - CPU wakeup with interrupt mask on event input 25.
134293            #[inline(always)]
134294            pub fn im25(&self) -> IM25_R {
134295                IM25_R::new(((self.bits >> 25) & 0x01) != 0)
134296            }
134297            ///Bit 26 - CPU wakeup with interrupt mask on event input 26.
134298            #[inline(always)]
134299            pub fn im26(&self) -> IM26_R {
134300                IM26_R::new(((self.bits >> 26) & 0x01) != 0)
134301            }
134302            ///Bit 27 - CPU wakeup with interrupt mask on event input 27.
134303            #[inline(always)]
134304            pub fn im27(&self) -> IM27_R {
134305                IM27_R::new(((self.bits >> 27) & 0x01) != 0)
134306            }
134307            ///Bit 28 - CPU wakeup with interrupt mask on event input 28.
134308            #[inline(always)]
134309            pub fn im28(&self) -> IM28_R {
134310                IM28_R::new(((self.bits >> 28) & 0x01) != 0)
134311            }
134312            ///Bit 29 - CPU wakeup with interrupt mask on event input 29.
134313            #[inline(always)]
134314            pub fn im29(&self) -> IM29_R {
134315                IM29_R::new(((self.bits >> 29) & 0x01) != 0)
134316            }
134317            ///Bit 30 - CPU wakeup with interrupt mask on event input 30.
134318            #[inline(always)]
134319            pub fn im30(&self) -> IM30_R {
134320                IM30_R::new(((self.bits >> 30) & 0x01) != 0)
134321            }
134322            ///Bit 31 - CPU wakeup with interrupt mask on event input 31.
134323            #[inline(always)]
134324            pub fn im31(&self) -> IM31_R {
134325                IM31_R::new(((self.bits >> 31) & 0x01) != 0)
134326            }
134327        }
134328        impl W {
134329            ///Bits 0:31 - CPU(m) wakeup with interrupt Mask on Event input
134330            #[inline(always)]
134331            pub fn im(&mut self) -> IM_W {
134332                IM_W { w: self }
134333            }
134334            ///Bit 0 - CPU wakeup with interrupt mask on event input 0.
134335            #[inline(always)]
134336            pub fn im0(&mut self) -> IM0_W {
134337                IM0_W { w: self }
134338            }
134339            ///Bit 1 - CPU wakeup with interrupt mask on event input 1.
134340            #[inline(always)]
134341            pub fn im1(&mut self) -> IM1_W {
134342                IM1_W { w: self }
134343            }
134344            ///Bit 2 - CPU wakeup with interrupt mask on event input 2.
134345            #[inline(always)]
134346            pub fn im2(&mut self) -> IM2_W {
134347                IM2_W { w: self }
134348            }
134349            ///Bit 3 - CPU wakeup with interrupt mask on event input 3.
134350            #[inline(always)]
134351            pub fn im3(&mut self) -> IM3_W {
134352                IM3_W { w: self }
134353            }
134354            ///Bit 4 - CPU wakeup with interrupt mask on event input 4.
134355            #[inline(always)]
134356            pub fn im4(&mut self) -> IM4_W {
134357                IM4_W { w: self }
134358            }
134359            ///Bit 5 - CPU wakeup with interrupt mask on event input 5.
134360            #[inline(always)]
134361            pub fn im5(&mut self) -> IM5_W {
134362                IM5_W { w: self }
134363            }
134364            ///Bit 6 - CPU wakeup with interrupt mask on event input 6.
134365            #[inline(always)]
134366            pub fn im6(&mut self) -> IM6_W {
134367                IM6_W { w: self }
134368            }
134369            ///Bit 7 - CPU wakeup with interrupt mask on event input 7.
134370            #[inline(always)]
134371            pub fn im7(&mut self) -> IM7_W {
134372                IM7_W { w: self }
134373            }
134374            ///Bit 8 - CPU wakeup with interrupt mask on event input 8.
134375            #[inline(always)]
134376            pub fn im8(&mut self) -> IM8_W {
134377                IM8_W { w: self }
134378            }
134379            ///Bit 9 - CPU wakeup with interrupt mask on event input 9.
134380            #[inline(always)]
134381            pub fn im9(&mut self) -> IM9_W {
134382                IM9_W { w: self }
134383            }
134384            ///Bit 10 - CPU wakeup with interrupt mask on event input 10.
134385            #[inline(always)]
134386            pub fn im10(&mut self) -> IM10_W {
134387                IM10_W { w: self }
134388            }
134389            ///Bit 11 - CPU wakeup with interrupt mask on event input 11.
134390            #[inline(always)]
134391            pub fn im11(&mut self) -> IM11_W {
134392                IM11_W { w: self }
134393            }
134394            ///Bit 12 - CPU wakeup with interrupt mask on event input 12.
134395            #[inline(always)]
134396            pub fn im12(&mut self) -> IM12_W {
134397                IM12_W { w: self }
134398            }
134399            ///Bit 13 - CPU wakeup with interrupt mask on event input 13.
134400            #[inline(always)]
134401            pub fn im13(&mut self) -> IM13_W {
134402                IM13_W { w: self }
134403            }
134404            ///Bit 14 - CPU wakeup with interrupt mask on event input 14.
134405            #[inline(always)]
134406            pub fn im14(&mut self) -> IM14_W {
134407                IM14_W { w: self }
134408            }
134409            ///Bit 15 - CPU wakeup with interrupt mask on event input 15.
134410            #[inline(always)]
134411            pub fn im15(&mut self) -> IM15_W {
134412                IM15_W { w: self }
134413            }
134414            ///Bit 16 - CPU wakeup with interrupt mask on event input 16.
134415            #[inline(always)]
134416            pub fn im16(&mut self) -> IM16_W {
134417                IM16_W { w: self }
134418            }
134419            ///Bit 17 - CPU wakeup with interrupt mask on event input 17.
134420            #[inline(always)]
134421            pub fn im17(&mut self) -> IM17_W {
134422                IM17_W { w: self }
134423            }
134424            ///Bit 18 - CPU wakeup with interrupt mask on event input 18.
134425            #[inline(always)]
134426            pub fn im18(&mut self) -> IM18_W {
134427                IM18_W { w: self }
134428            }
134429            ///Bit 19 - CPU wakeup with interrupt mask on event input 19.
134430            #[inline(always)]
134431            pub fn im19(&mut self) -> IM19_W {
134432                IM19_W { w: self }
134433            }
134434            ///Bit 20 - CPU wakeup with interrupt mask on event input 20.
134435            #[inline(always)]
134436            pub fn im20(&mut self) -> IM20_W {
134437                IM20_W { w: self }
134438            }
134439            ///Bit 21 - CPU wakeup with interrupt mask on event input 21.
134440            #[inline(always)]
134441            pub fn im21(&mut self) -> IM21_W {
134442                IM21_W { w: self }
134443            }
134444            ///Bit 22 - CPU wakeup with interrupt mask on event input 22.
134445            #[inline(always)]
134446            pub fn im22(&mut self) -> IM22_W {
134447                IM22_W { w: self }
134448            }
134449            ///Bit 23 - CPU wakeup with interrupt mask on event input 23.
134450            #[inline(always)]
134451            pub fn im23(&mut self) -> IM23_W {
134452                IM23_W { w: self }
134453            }
134454            ///Bit 24 - CPU wakeup with interrupt mask on event input 24.
134455            #[inline(always)]
134456            pub fn im24(&mut self) -> IM24_W {
134457                IM24_W { w: self }
134458            }
134459            ///Bit 25 - CPU wakeup with interrupt mask on event input 25.
134460            #[inline(always)]
134461            pub fn im25(&mut self) -> IM25_W {
134462                IM25_W { w: self }
134463            }
134464            ///Bit 26 - CPU wakeup with interrupt mask on event input 26.
134465            #[inline(always)]
134466            pub fn im26(&mut self) -> IM26_W {
134467                IM26_W { w: self }
134468            }
134469            ///Bit 27 - CPU wakeup with interrupt mask on event input 27.
134470            #[inline(always)]
134471            pub fn im27(&mut self) -> IM27_W {
134472                IM27_W { w: self }
134473            }
134474            ///Bit 28 - CPU wakeup with interrupt mask on event input 28.
134475            #[inline(always)]
134476            pub fn im28(&mut self) -> IM28_W {
134477                IM28_W { w: self }
134478            }
134479            ///Bit 29 - CPU wakeup with interrupt mask on event input 29.
134480            #[inline(always)]
134481            pub fn im29(&mut self) -> IM29_W {
134482                IM29_W { w: self }
134483            }
134484            ///Bit 30 - CPU wakeup with interrupt mask on event input 30.
134485            #[inline(always)]
134486            pub fn im30(&mut self) -> IM30_W {
134487                IM30_W { w: self }
134488            }
134489            ///Bit 31 - CPU wakeup with interrupt mask on event input 31.
134490            #[inline(always)]
134491            pub fn im31(&mut self) -> IM31_W {
134492                IM31_W { w: self }
134493            }
134494        }
134495    }
134496    ///CPUm wakeup with interrupt mask register
134497    ///
134498    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
134499    ///
134500    ///For information about available fields see [c2imr1](c2imr1) module
134501    pub type C2IMR1 = crate::Reg<u32, _C2IMR1>;
134502    #[allow(missing_docs)]
134503    #[doc(hidden)]
134504    pub struct _C2IMR1;
134505    ///`read()` method returns [c2imr1::R](c2imr1::R) reader structure
134506    impl crate::Readable for C2IMR1 {}
134507    ///`write(|w| ..)` method takes [c2imr1::W](c2imr1::W) writer structure
134508    impl crate::Writable for C2IMR1 {}
134509    ///CPUm wakeup with interrupt mask register
134510    pub mod c2imr1 {
134511        ///Reader of register C2IMR1
134512        pub type R = crate::R<u32, super::C2IMR1>;
134513        ///Writer for register C2IMR1
134514        pub type W = crate::W<u32, super::C2IMR1>;
134515        ///Register C2IMR1 `reset()`'s with value 0x7fc0_0000
134516        impl crate::ResetValue for super::C2IMR1 {
134517            type Type = u32;
134518            #[inline(always)]
134519            fn reset_value() -> Self::Type {
134520                0x7fc0_0000
134521            }
134522        }
134523        ///Reader of field `IM`
134524        pub type IM_R = crate::R<u32, u32>;
134525        ///Write proxy for field `IM`
134526        pub struct IM_W<'a> {
134527            w: &'a mut W,
134528        }
134529        impl<'a> IM_W<'a> {
134530            ///Writes raw bits to the field
134531            #[inline(always)]
134532            pub unsafe fn bits(self, value: u32) -> &'a mut W {
134533                self.w.bits = (self.w.bits & !0xffff_ffff) | ((value as u32) & 0xffff_ffff);
134534                self.w
134535            }
134536        }
134537        impl R {
134538            ///Bits 0:31 - CPU(m) wakeup with interrupt Mask on Event input
134539            #[inline(always)]
134540            pub fn im(&self) -> IM_R {
134541                IM_R::new((self.bits & 0xffff_ffff) as u32)
134542            }
134543        }
134544        impl W {
134545            ///Bits 0:31 - CPU(m) wakeup with interrupt Mask on Event input
134546            #[inline(always)]
134547            pub fn im(&mut self) -> IM_W {
134548                IM_W { w: self }
134549            }
134550        }
134551    }
134552    ///CPUm wakeup with event mask register
134553    ///
134554    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
134555    ///
134556    ///For information about available fields see [c1emr1](c1emr1) module
134557    pub type C1EMR1 = crate::Reg<u32, _C1EMR1>;
134558    #[allow(missing_docs)]
134559    #[doc(hidden)]
134560    pub struct _C1EMR1;
134561    ///`read()` method returns [c1emr1::R](c1emr1::R) reader structure
134562    impl crate::Readable for C1EMR1 {}
134563    ///`write(|w| ..)` method takes [c1emr1::W](c1emr1::W) writer structure
134564    impl crate::Writable for C1EMR1 {}
134565    ///CPUm wakeup with event mask register
134566    pub mod c1emr1 {
134567        ///Reader of register C1EMR1
134568        pub type R = crate::R<u32, super::C1EMR1>;
134569        ///Writer for register C1EMR1
134570        pub type W = crate::W<u32, super::C1EMR1>;
134571        ///Register C1EMR1 `reset()`'s with value 0
134572        impl crate::ResetValue for super::C1EMR1 {
134573            type Type = u32;
134574            #[inline(always)]
134575            fn reset_value() -> Self::Type {
134576                0
134577            }
134578        }
134579        ///Reader of field `EM0_15`
134580        pub type EM0_15_R = crate::R<u16, u16>;
134581        ///Write proxy for field `EM0_15`
134582        pub struct EM0_15_W<'a> {
134583            w: &'a mut W,
134584        }
134585        impl<'a> EM0_15_W<'a> {
134586            ///Writes raw bits to the field
134587            #[inline(always)]
134588            pub unsafe fn bits(self, value: u16) -> &'a mut W {
134589                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
134590                self.w
134591            }
134592        }
134593        ///Reader of field `EM17_21`
134594        pub type EM17_21_R = crate::R<u8, u8>;
134595        ///Write proxy for field `EM17_21`
134596        pub struct EM17_21_W<'a> {
134597            w: &'a mut W,
134598        }
134599        impl<'a> EM17_21_W<'a> {
134600            ///Writes raw bits to the field
134601            #[inline(always)]
134602            pub unsafe fn bits(self, value: u8) -> &'a mut W {
134603                self.w.bits = (self.w.bits & !(0x1f << 17)) | (((value as u32) & 0x1f) << 17);
134604                self.w
134605            }
134606        }
134607        impl R {
134608            ///Bits 0:15 - CPU(m) Wakeup with event generation Mask on Event input
134609            #[inline(always)]
134610            pub fn em0_15(&self) -> EM0_15_R {
134611                EM0_15_R::new((self.bits & 0xffff) as u16)
134612            }
134613            ///Bits 17:21 - CPU(m) Wakeup with event generation Mask on Event input
134614            #[inline(always)]
134615            pub fn em17_21(&self) -> EM17_21_R {
134616                EM17_21_R::new(((self.bits >> 17) & 0x1f) as u8)
134617            }
134618        }
134619        impl W {
134620            ///Bits 0:15 - CPU(m) Wakeup with event generation Mask on Event input
134621            #[inline(always)]
134622            pub fn em0_15(&mut self) -> EM0_15_W {
134623                EM0_15_W { w: self }
134624            }
134625            ///Bits 17:21 - CPU(m) Wakeup with event generation Mask on Event input
134626            #[inline(always)]
134627            pub fn em17_21(&mut self) -> EM17_21_W {
134628                EM17_21_W { w: self }
134629            }
134630        }
134631    }
134632    ///CPUm wakeup with event mask register
134633    ///
134634    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
134635    ///
134636    ///For information about available fields see [c2emr1](c2emr1) module
134637    pub type C2EMR1 = crate::Reg<u32, _C2EMR1>;
134638    #[allow(missing_docs)]
134639    #[doc(hidden)]
134640    pub struct _C2EMR1;
134641    ///`read()` method returns [c2emr1::R](c2emr1::R) reader structure
134642    impl crate::Readable for C2EMR1 {}
134643    ///`write(|w| ..)` method takes [c2emr1::W](c2emr1::W) writer structure
134644    impl crate::Writable for C2EMR1 {}
134645    ///CPUm wakeup with event mask register
134646    pub mod c2emr1 {
134647        ///Reader of register C2EMR1
134648        pub type R = crate::R<u32, super::C2EMR1>;
134649        ///Writer for register C2EMR1
134650        pub type W = crate::W<u32, super::C2EMR1>;
134651        ///Register C2EMR1 `reset()`'s with value 0
134652        impl crate::ResetValue for super::C2EMR1 {
134653            type Type = u32;
134654            #[inline(always)]
134655            fn reset_value() -> Self::Type {
134656                0
134657            }
134658        }
134659        ///Reader of field `EM0_15`
134660        pub type EM0_15_R = crate::R<u16, u16>;
134661        ///Write proxy for field `EM0_15`
134662        pub struct EM0_15_W<'a> {
134663            w: &'a mut W,
134664        }
134665        impl<'a> EM0_15_W<'a> {
134666            ///Writes raw bits to the field
134667            #[inline(always)]
134668            pub unsafe fn bits(self, value: u16) -> &'a mut W {
134669                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
134670                self.w
134671            }
134672        }
134673        ///Reader of field `EM17_21`
134674        pub type EM17_21_R = crate::R<u8, u8>;
134675        ///Write proxy for field `EM17_21`
134676        pub struct EM17_21_W<'a> {
134677            w: &'a mut W,
134678        }
134679        impl<'a> EM17_21_W<'a> {
134680            ///Writes raw bits to the field
134681            #[inline(always)]
134682            pub unsafe fn bits(self, value: u8) -> &'a mut W {
134683                self.w.bits = (self.w.bits & !(0x1f << 17)) | (((value as u32) & 0x1f) << 17);
134684                self.w
134685            }
134686        }
134687        impl R {
134688            ///Bits 0:15 - CPU(m) Wakeup with event generation Mask on Event input
134689            #[inline(always)]
134690            pub fn em0_15(&self) -> EM0_15_R {
134691                EM0_15_R::new((self.bits & 0xffff) as u16)
134692            }
134693            ///Bits 17:21 - CPU(m) Wakeup with event generation Mask on Event input
134694            #[inline(always)]
134695            pub fn em17_21(&self) -> EM17_21_R {
134696                EM17_21_R::new(((self.bits >> 17) & 0x1f) as u8)
134697            }
134698        }
134699        impl W {
134700            ///Bits 0:15 - CPU(m) Wakeup with event generation Mask on Event input
134701            #[inline(always)]
134702            pub fn em0_15(&mut self) -> EM0_15_W {
134703                EM0_15_W { w: self }
134704            }
134705            ///Bits 17:21 - CPU(m) Wakeup with event generation Mask on Event input
134706            #[inline(always)]
134707            pub fn em17_21(&mut self) -> EM17_21_W {
134708                EM17_21_W { w: self }
134709            }
134710        }
134711    }
134712    ///CPUm wakeup with interrupt mask register
134713    ///
134714    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
134715    ///
134716    ///For information about available fields see [c1imr2](c1imr2) module
134717    pub type C1IMR2 = crate::Reg<u32, _C1IMR2>;
134718    #[allow(missing_docs)]
134719    #[doc(hidden)]
134720    pub struct _C1IMR2;
134721    ///`read()` method returns [c1imr2::R](c1imr2::R) reader structure
134722    impl crate::Readable for C1IMR2 {}
134723    ///`write(|w| ..)` method takes [c1imr2::W](c1imr2::W) writer structure
134724    impl crate::Writable for C1IMR2 {}
134725    ///CPUm wakeup with interrupt mask register
134726    pub mod c1imr2 {
134727        ///Reader of register C1IMR2
134728        pub type R = crate::R<u32, super::C1IMR2>;
134729        ///Writer for register C1IMR2
134730        pub type W = crate::W<u32, super::C1IMR2>;
134731        ///Register C1IMR2 `reset()`'s with value 0x0001_fcfd
134732        impl crate::ResetValue for super::C1IMR2 {
134733            type Type = u32;
134734            #[inline(always)]
134735            fn reset_value() -> Self::Type {
134736                0x0001_fcfd
134737            }
134738        }
134739        ///Reader of field `IM`
134740        pub type IM_R = crate::R<u32, u32>;
134741        ///Write proxy for field `IM`
134742        pub struct IM_W<'a> {
134743            w: &'a mut W,
134744        }
134745        impl<'a> IM_W<'a> {
134746            ///Writes raw bits to the field
134747            #[inline(always)]
134748            pub unsafe fn bits(self, value: u32) -> &'a mut W {
134749                self.w.bits = (self.w.bits & !0x0001_ffff) | ((value as u32) & 0x0001_ffff);
134750                self.w
134751            }
134752        }
134753        impl R {
134754            ///Bits 0:16 - CPUm Wakeup with interrupt Mask on Event input
134755            #[inline(always)]
134756            pub fn im(&self) -> IM_R {
134757                IM_R::new((self.bits & 0x0001_ffff) as u32)
134758            }
134759        }
134760        impl W {
134761            ///Bits 0:16 - CPUm Wakeup with interrupt Mask on Event input
134762            #[inline(always)]
134763            pub fn im(&mut self) -> IM_W {
134764                IM_W { w: self }
134765            }
134766        }
134767    }
134768    ///CPUm wakeup with interrupt mask register
134769    ///
134770    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
134771    ///
134772    ///For information about available fields see [c2imr2](c2imr2) module
134773    pub type C2IMR2 = crate::Reg<u32, _C2IMR2>;
134774    #[allow(missing_docs)]
134775    #[doc(hidden)]
134776    pub struct _C2IMR2;
134777    ///`read()` method returns [c2imr2::R](c2imr2::R) reader structure
134778    impl crate::Readable for C2IMR2 {}
134779    ///`write(|w| ..)` method takes [c2imr2::W](c2imr2::W) writer structure
134780    impl crate::Writable for C2IMR2 {}
134781    ///CPUm wakeup with interrupt mask register
134782    pub mod c2imr2 {
134783        ///Reader of register C2IMR2
134784        pub type R = crate::R<u32, super::C2IMR2>;
134785        ///Writer for register C2IMR2
134786        pub type W = crate::W<u32, super::C2IMR2>;
134787        ///Register C2IMR2 `reset()`'s with value 0x0001_fcfd
134788        impl crate::ResetValue for super::C2IMR2 {
134789            type Type = u32;
134790            #[inline(always)]
134791            fn reset_value() -> Self::Type {
134792                0x0001_fcfd
134793            }
134794        }
134795        ///Reader of field `IM`
134796        pub type IM_R = crate::R<u32, u32>;
134797        ///Write proxy for field `IM`
134798        pub struct IM_W<'a> {
134799            w: &'a mut W,
134800        }
134801        impl<'a> IM_W<'a> {
134802            ///Writes raw bits to the field
134803            #[inline(always)]
134804            pub unsafe fn bits(self, value: u32) -> &'a mut W {
134805                self.w.bits = (self.w.bits & !0x0001_ffff) | ((value as u32) & 0x0001_ffff);
134806                self.w
134807            }
134808        }
134809        impl R {
134810            ///Bits 0:16 - CPUm Wakeup with interrupt Mask on Event input
134811            #[inline(always)]
134812            pub fn im(&self) -> IM_R {
134813                IM_R::new((self.bits & 0x0001_ffff) as u32)
134814            }
134815        }
134816        impl W {
134817            ///Bits 0:16 - CPUm Wakeup with interrupt Mask on Event input
134818            #[inline(always)]
134819            pub fn im(&mut self) -> IM_W {
134820                IM_W { w: self }
134821            }
134822        }
134823    }
134824    ///CPUm wakeup with event mask register
134825    ///
134826    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
134827    ///
134828    ///For information about available fields see [c1emr2](c1emr2) module
134829    pub type C1EMR2 = crate::Reg<u32, _C1EMR2>;
134830    #[allow(missing_docs)]
134831    #[doc(hidden)]
134832    pub struct _C1EMR2;
134833    ///`read()` method returns [c1emr2::R](c1emr2::R) reader structure
134834    impl crate::Readable for C1EMR2 {}
134835    ///`write(|w| ..)` method takes [c1emr2::W](c1emr2::W) writer structure
134836    impl crate::Writable for C1EMR2 {}
134837    ///CPUm wakeup with event mask register
134838    pub mod c1emr2 {
134839        ///Reader of register C1EMR2
134840        pub type R = crate::R<u32, super::C1EMR2>;
134841        ///Writer for register C1EMR2
134842        pub type W = crate::W<u32, super::C1EMR2>;
134843        ///Register C1EMR2 `reset()`'s with value 0
134844        impl crate::ResetValue for super::C1EMR2 {
134845            type Type = u32;
134846            #[inline(always)]
134847            fn reset_value() -> Self::Type {
134848                0
134849            }
134850        }
134851        ///Reader of field `EM`
134852        pub type EM_R = crate::R<u8, u8>;
134853        ///Write proxy for field `EM`
134854        pub struct EM_W<'a> {
134855            w: &'a mut W,
134856        }
134857        impl<'a> EM_W<'a> {
134858            ///Writes raw bits to the field
134859            #[inline(always)]
134860            pub unsafe fn bits(self, value: u8) -> &'a mut W {
134861                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
134862                self.w
134863            }
134864        }
134865        impl R {
134866            ///Bits 8:9 - CPU(m) Wakeup with event generation Mask on Event input
134867            #[inline(always)]
134868            pub fn em(&self) -> EM_R {
134869                EM_R::new(((self.bits >> 8) & 0x03) as u8)
134870            }
134871        }
134872        impl W {
134873            ///Bits 8:9 - CPU(m) Wakeup with event generation Mask on Event input
134874            #[inline(always)]
134875            pub fn em(&mut self) -> EM_W {
134876                EM_W { w: self }
134877            }
134878        }
134879    }
134880    ///CPUm wakeup with event mask register
134881    ///
134882    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
134883    ///
134884    ///For information about available fields see [c2emr2](c2emr2) module
134885    pub type C2EMR2 = crate::Reg<u32, _C2EMR2>;
134886    #[allow(missing_docs)]
134887    #[doc(hidden)]
134888    pub struct _C2EMR2;
134889    ///`read()` method returns [c2emr2::R](c2emr2::R) reader structure
134890    impl crate::Readable for C2EMR2 {}
134891    ///`write(|w| ..)` method takes [c2emr2::W](c2emr2::W) writer structure
134892    impl crate::Writable for C2EMR2 {}
134893    ///CPUm wakeup with event mask register
134894    pub mod c2emr2 {
134895        ///Reader of register C2EMR2
134896        pub type R = crate::R<u32, super::C2EMR2>;
134897        ///Writer for register C2EMR2
134898        pub type W = crate::W<u32, super::C2EMR2>;
134899        ///Register C2EMR2 `reset()`'s with value 0
134900        impl crate::ResetValue for super::C2EMR2 {
134901            type Type = u32;
134902            #[inline(always)]
134903            fn reset_value() -> Self::Type {
134904                0
134905            }
134906        }
134907        ///Reader of field `EM`
134908        pub type EM_R = crate::R<u8, u8>;
134909        ///Write proxy for field `EM`
134910        pub struct EM_W<'a> {
134911            w: &'a mut W,
134912        }
134913        impl<'a> EM_W<'a> {
134914            ///Writes raw bits to the field
134915            #[inline(always)]
134916            pub unsafe fn bits(self, value: u8) -> &'a mut W {
134917                self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
134918                self.w
134919            }
134920        }
134921        impl R {
134922            ///Bits 8:9 - CPU(m) Wakeup with event generation Mask on Event input
134923            #[inline(always)]
134924            pub fn em(&self) -> EM_R {
134925                EM_R::new(((self.bits >> 8) & 0x03) as u8)
134926            }
134927        }
134928        impl W {
134929            ///Bits 8:9 - CPU(m) Wakeup with event generation Mask on Event input
134930            #[inline(always)]
134931            pub fn em(&mut self) -> EM_W {
134932                EM_W { w: self }
134933            }
134934        }
134935    }
134936    ///Hardware configuration registers
134937    ///
134938    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
134939    ///
134940    ///For information about available fields see [hwcfgr5](hwcfgr5) module
134941    pub type HWCFGR5 = crate::Reg<u32, _HWCFGR5>;
134942    #[allow(missing_docs)]
134943    #[doc(hidden)]
134944    pub struct _HWCFGR5;
134945    ///`read()` method returns [hwcfgr5::R](hwcfgr5::R) reader structure
134946    impl crate::Readable for HWCFGR5 {}
134947    ///Hardware configuration registers
134948    pub mod hwcfgr5 {
134949        ///Reader of register HWCFGR5
134950        pub type R = crate::R<u32, super::HWCFGR5>;
134951        ///Reader of field `CPUEVENT`
134952        pub type CPUEVENT_R = crate::R<u32, u32>;
134953        impl R {
134954            ///Bits 0:31 - HW configuration CPU event generation
134955            #[inline(always)]
134956            pub fn cpuevent(&self) -> CPUEVENT_R {
134957                CPUEVENT_R::new((self.bits & 0xffff_ffff) as u32)
134958            }
134959        }
134960    }
134961    ///Hardware configuration registers
134962    ///
134963    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
134964    ///
134965    ///For information about available fields see [hwcfgr6](hwcfgr6) module
134966    pub type HWCFGR6 = crate::Reg<u32, _HWCFGR6>;
134967    #[allow(missing_docs)]
134968    #[doc(hidden)]
134969    pub struct _HWCFGR6;
134970    ///`read()` method returns [hwcfgr6::R](hwcfgr6::R) reader structure
134971    impl crate::Readable for HWCFGR6 {}
134972    ///Hardware configuration registers
134973    pub mod hwcfgr6 {
134974        ///Reader of register HWCFGR6
134975        pub type R = crate::R<u32, super::HWCFGR6>;
134976        ///Reader of field `CPUEVENT`
134977        pub type CPUEVENT_R = crate::R<u32, u32>;
134978        impl R {
134979            ///Bits 0:31 - HW configuration CPU event generation
134980            #[inline(always)]
134981            pub fn cpuevent(&self) -> CPUEVENT_R {
134982                CPUEVENT_R::new((self.bits & 0xffff_ffff) as u32)
134983            }
134984        }
134985    }
134986    ///EXTI Hardware configuration registers
134987    ///
134988    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
134989    ///
134990    ///For information about available fields see [hwcfgr7](hwcfgr7) module
134991    pub type HWCFGR7 = crate::Reg<u32, _HWCFGR7>;
134992    #[allow(missing_docs)]
134993    #[doc(hidden)]
134994    pub struct _HWCFGR7;
134995    ///`read()` method returns [hwcfgr7::R](hwcfgr7::R) reader structure
134996    impl crate::Readable for HWCFGR7 {}
134997    ///EXTI Hardware configuration registers
134998    pub mod hwcfgr7 {
134999        ///Reader of register HWCFGR7
135000        pub type R = crate::R<u32, super::HWCFGR7>;
135001        ///Reader of field `CPUEVENT`
135002        pub type CPUEVENT_R = crate::R<u32, u32>;
135003        impl R {
135004            ///Bits 0:31 - HW configuration CPU event generation
135005            #[inline(always)]
135006            pub fn cpuevent(&self) -> CPUEVENT_R {
135007                CPUEVENT_R::new((self.bits & 0xffff_ffff) as u32)
135008            }
135009        }
135010    }
135011    ///Hardware configuration registers
135012    ///
135013    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
135014    ///
135015    ///For information about available fields see [hwcfgr2](hwcfgr2) module
135016    pub type HWCFGR2 = crate::Reg<u32, _HWCFGR2>;
135017    #[allow(missing_docs)]
135018    #[doc(hidden)]
135019    pub struct _HWCFGR2;
135020    ///`read()` method returns [hwcfgr2::R](hwcfgr2::R) reader structure
135021    impl crate::Readable for HWCFGR2 {}
135022    ///Hardware configuration registers
135023    pub mod hwcfgr2 {
135024        ///Reader of register HWCFGR2
135025        pub type R = crate::R<u32, super::HWCFGR2>;
135026        ///Reader of field `EVENT_TRG`
135027        pub type EVENT_TRG_R = crate::R<u32, u32>;
135028        impl R {
135029            ///Bits 0:31 - HW configuration event trigger type
135030            #[inline(always)]
135031            pub fn event_trg(&self) -> EVENT_TRG_R {
135032                EVENT_TRG_R::new((self.bits & 0xffff_ffff) as u32)
135033            }
135034        }
135035    }
135036    ///Hardware configuration registers
135037    ///
135038    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
135039    ///
135040    ///For information about available fields see [hwcfgr3](hwcfgr3) module
135041    pub type HWCFGR3 = crate::Reg<u32, _HWCFGR3>;
135042    #[allow(missing_docs)]
135043    #[doc(hidden)]
135044    pub struct _HWCFGR3;
135045    ///`read()` method returns [hwcfgr3::R](hwcfgr3::R) reader structure
135046    impl crate::Readable for HWCFGR3 {}
135047    ///Hardware configuration registers
135048    pub mod hwcfgr3 {
135049        ///Reader of register HWCFGR3
135050        pub type R = crate::R<u32, super::HWCFGR3>;
135051        ///Reader of field `EVENT_TRG`
135052        pub type EVENT_TRG_R = crate::R<u32, u32>;
135053        impl R {
135054            ///Bits 0:31 - HW configuration event trigger type
135055            #[inline(always)]
135056            pub fn event_trg(&self) -> EVENT_TRG_R {
135057                EVENT_TRG_R::new((self.bits & 0xffff_ffff) as u32)
135058            }
135059        }
135060    }
135061    ///Hardware configuration registers
135062    ///
135063    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
135064    ///
135065    ///For information about available fields see [hwcfgr4](hwcfgr4) module
135066    pub type HWCFGR4 = crate::Reg<u32, _HWCFGR4>;
135067    #[allow(missing_docs)]
135068    #[doc(hidden)]
135069    pub struct _HWCFGR4;
135070    ///`read()` method returns [hwcfgr4::R](hwcfgr4::R) reader structure
135071    impl crate::Readable for HWCFGR4 {}
135072    ///Hardware configuration registers
135073    pub mod hwcfgr4 {
135074        ///Reader of register HWCFGR4
135075        pub type R = crate::R<u32, super::HWCFGR4>;
135076        ///Reader of field `EVENT_TRG`
135077        pub type EVENT_TRG_R = crate::R<u32, u32>;
135078        impl R {
135079            ///Bits 0:31 - HW configuration event trigger type
135080            #[inline(always)]
135081            pub fn event_trg(&self) -> EVENT_TRG_R {
135082                EVENT_TRG_R::new((self.bits & 0xffff_ffff) as u32)
135083            }
135084        }
135085    }
135086    ///Hardware configuration register 1
135087    ///
135088    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
135089    ///
135090    ///For information about available fields see [hwcfgr1](hwcfgr1) module
135091    pub type HWCFGR1 = crate::Reg<u32, _HWCFGR1>;
135092    #[allow(missing_docs)]
135093    #[doc(hidden)]
135094    pub struct _HWCFGR1;
135095    ///`read()` method returns [hwcfgr1::R](hwcfgr1::R) reader structure
135096    impl crate::Readable for HWCFGR1 {}
135097    ///Hardware configuration register 1
135098    pub mod hwcfgr1 {
135099        ///Reader of register HWCFGR1
135100        pub type R = crate::R<u32, super::HWCFGR1>;
135101        ///Reader of field `NBEVENTS`
135102        pub type NBEVENTS_R = crate::R<u8, u8>;
135103        ///Reader of field `NBCPUS`
135104        pub type NBCPUS_R = crate::R<u8, u8>;
135105        ///Reader of field `CPUEVTEN`
135106        pub type CPUEVTEN_R = crate::R<u8, u8>;
135107        impl R {
135108            ///Bits 0:7 - HW configuration number of event
135109            #[inline(always)]
135110            pub fn nbevents(&self) -> NBEVENTS_R {
135111                NBEVENTS_R::new((self.bits & 0xff) as u8)
135112            }
135113            ///Bits 8:11 - HW configuration number of CPUs
135114            #[inline(always)]
135115            pub fn nbcpus(&self) -> NBCPUS_R {
135116                NBCPUS_R::new(((self.bits >> 8) & 0x0f) as u8)
135117            }
135118            ///Bits 12:15 - HW configuration of CPU(m) event output enable
135119            #[inline(always)]
135120            pub fn cpuevten(&self) -> CPUEVTEN_R {
135121                CPUEVTEN_R::new(((self.bits >> 12) & 0x0f) as u8)
135122            }
135123        }
135124    }
135125    ///EXTI IP Version register
135126    ///
135127    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
135128    ///
135129    ///For information about available fields see [verr](verr) module
135130    pub type VERR = crate::Reg<u32, _VERR>;
135131    #[allow(missing_docs)]
135132    #[doc(hidden)]
135133    pub struct _VERR;
135134    ///`read()` method returns [verr::R](verr::R) reader structure
135135    impl crate::Readable for VERR {}
135136    ///EXTI IP Version register
135137    pub mod verr {
135138        ///Reader of register VERR
135139        pub type R = crate::R<u32, super::VERR>;
135140        ///Reader of field `MINREV`
135141        pub type MINREV_R = crate::R<u8, u8>;
135142        ///Reader of field `MAJREV`
135143        pub type MAJREV_R = crate::R<u8, u8>;
135144        impl R {
135145            ///Bits 0:3 - Minor Revision number
135146            #[inline(always)]
135147            pub fn minrev(&self) -> MINREV_R {
135148                MINREV_R::new((self.bits & 0x0f) as u8)
135149            }
135150            ///Bits 4:7 - Major Revision number
135151            #[inline(always)]
135152            pub fn majrev(&self) -> MAJREV_R {
135153                MAJREV_R::new(((self.bits >> 4) & 0x0f) as u8)
135154            }
135155        }
135156    }
135157    ///Identification register
135158    ///
135159    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
135160    ///
135161    ///For information about available fields see [ipidr](ipidr) module
135162    pub type IPIDR = crate::Reg<u32, _IPIDR>;
135163    #[allow(missing_docs)]
135164    #[doc(hidden)]
135165    pub struct _IPIDR;
135166    ///`read()` method returns [ipidr::R](ipidr::R) reader structure
135167    impl crate::Readable for IPIDR {}
135168    ///Identification register
135169    pub mod ipidr {
135170        ///Reader of register IPIDR
135171        pub type R = crate::R<u32, super::IPIDR>;
135172        ///Reader of field `IPID`
135173        pub type IPID_R = crate::R<u32, u32>;
135174        impl R {
135175            ///Bits 0:31 - IP Identification
135176            #[inline(always)]
135177            pub fn ipid(&self) -> IPID_R {
135178                IPID_R::new((self.bits & 0xffff_ffff) as u32)
135179            }
135180        }
135181    }
135182    ///Size ID register
135183    ///
135184    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
135185    ///
135186    ///For information about available fields see [sidr](sidr) module
135187    pub type SIDR = crate::Reg<u32, _SIDR>;
135188    #[allow(missing_docs)]
135189    #[doc(hidden)]
135190    pub struct _SIDR;
135191    ///`read()` method returns [sidr::R](sidr::R) reader structure
135192    impl crate::Readable for SIDR {}
135193    ///Size ID register
135194    pub mod sidr {
135195        ///Reader of register SIDR
135196        pub type R = crate::R<u32, super::SIDR>;
135197        ///Reader of field `SID`
135198        pub type SID_R = crate::R<u32, u32>;
135199        impl R {
135200            ///Bits 0:31 - Size Identification
135201            #[inline(always)]
135202            pub fn sid(&self) -> SID_R {
135203                SID_R::new((self.bits & 0xffff_ffff) as u32)
135204            }
135205        }
135206    }
135207}
135208///Clock recovery system
135209pub struct CRS {
135210    _marker: PhantomData<*const ()>,
135211}
135212unsafe impl Send for CRS {}
135213impl CRS {
135214    ///Returns a pointer to the register block
135215    #[inline(always)]
135216    pub const fn ptr() -> *const crs::RegisterBlock {
135217        0x4000_6000 as *const _
135218    }
135219}
135220impl Deref for CRS {
135221    type Target = crs::RegisterBlock;
135222    #[inline(always)]
135223    fn deref(&self) -> &Self::Target {
135224        unsafe { &*CRS::ptr() }
135225    }
135226}
135227///Clock recovery system
135228pub mod crs {
135229    ///Register block
135230    #[repr(C)]
135231    pub struct RegisterBlock {
135232        ///0x00 - CRS control register
135233        pub cr: CR,
135234        ///0x04 - CRS configuration register
135235        pub cfgr: CFGR,
135236        ///0x08 - CRS interrupt and status register
135237        pub isr: ISR,
135238        ///0x0c - CRS interrupt flag clear register
135239        pub icr: ICR,
135240    }
135241    ///CRS control register
135242    ///
135243    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
135244    ///
135245    ///For information about available fields see [cr](cr) module
135246    pub type CR = crate::Reg<u32, _CR>;
135247    #[allow(missing_docs)]
135248    #[doc(hidden)]
135249    pub struct _CR;
135250    ///`read()` method returns [cr::R](cr::R) reader structure
135251    impl crate::Readable for CR {}
135252    ///`write(|w| ..)` method takes [cr::W](cr::W) writer structure
135253    impl crate::Writable for CR {}
135254    ///CRS control register
135255    pub mod cr {
135256        ///Reader of register CR
135257        pub type R = crate::R<u32, super::CR>;
135258        ///Writer for register CR
135259        pub type W = crate::W<u32, super::CR>;
135260        ///Register CR `reset()`'s with value 0x2000
135261        impl crate::ResetValue for super::CR {
135262            type Type = u32;
135263            #[inline(always)]
135264            fn reset_value() -> Self::Type {
135265                0x2000
135266            }
135267        }
135268        ///Reader of field `SYNCOKIE`
135269        pub type SYNCOKIE_R = crate::R<bool, bool>;
135270        ///Write proxy for field `SYNCOKIE`
135271        pub struct SYNCOKIE_W<'a> {
135272            w: &'a mut W,
135273        }
135274        impl<'a> SYNCOKIE_W<'a> {
135275            ///Sets the field bit
135276            #[inline(always)]
135277            pub fn set_bit(self) -> &'a mut W {
135278                self.bit(true)
135279            }
135280            ///Clears the field bit
135281            #[inline(always)]
135282            pub fn clear_bit(self) -> &'a mut W {
135283                self.bit(false)
135284            }
135285            ///Writes raw bits to the field
135286            #[inline(always)]
135287            pub fn bit(self, value: bool) -> &'a mut W {
135288                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
135289                self.w
135290            }
135291        }
135292        ///Reader of field `SYNCWARNIE`
135293        pub type SYNCWARNIE_R = crate::R<bool, bool>;
135294        ///Write proxy for field `SYNCWARNIE`
135295        pub struct SYNCWARNIE_W<'a> {
135296            w: &'a mut W,
135297        }
135298        impl<'a> SYNCWARNIE_W<'a> {
135299            ///Sets the field bit
135300            #[inline(always)]
135301            pub fn set_bit(self) -> &'a mut W {
135302                self.bit(true)
135303            }
135304            ///Clears the field bit
135305            #[inline(always)]
135306            pub fn clear_bit(self) -> &'a mut W {
135307                self.bit(false)
135308            }
135309            ///Writes raw bits to the field
135310            #[inline(always)]
135311            pub fn bit(self, value: bool) -> &'a mut W {
135312                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
135313                self.w
135314            }
135315        }
135316        ///Reader of field `ERRIE`
135317        pub type ERRIE_R = crate::R<bool, bool>;
135318        ///Write proxy for field `ERRIE`
135319        pub struct ERRIE_W<'a> {
135320            w: &'a mut W,
135321        }
135322        impl<'a> ERRIE_W<'a> {
135323            ///Sets the field bit
135324            #[inline(always)]
135325            pub fn set_bit(self) -> &'a mut W {
135326                self.bit(true)
135327            }
135328            ///Clears the field bit
135329            #[inline(always)]
135330            pub fn clear_bit(self) -> &'a mut W {
135331                self.bit(false)
135332            }
135333            ///Writes raw bits to the field
135334            #[inline(always)]
135335            pub fn bit(self, value: bool) -> &'a mut W {
135336                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
135337                self.w
135338            }
135339        }
135340        ///Reader of field `ESYNCIE`
135341        pub type ESYNCIE_R = crate::R<bool, bool>;
135342        ///Write proxy for field `ESYNCIE`
135343        pub struct ESYNCIE_W<'a> {
135344            w: &'a mut W,
135345        }
135346        impl<'a> ESYNCIE_W<'a> {
135347            ///Sets the field bit
135348            #[inline(always)]
135349            pub fn set_bit(self) -> &'a mut W {
135350                self.bit(true)
135351            }
135352            ///Clears the field bit
135353            #[inline(always)]
135354            pub fn clear_bit(self) -> &'a mut W {
135355                self.bit(false)
135356            }
135357            ///Writes raw bits to the field
135358            #[inline(always)]
135359            pub fn bit(self, value: bool) -> &'a mut W {
135360                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
135361                self.w
135362            }
135363        }
135364        ///Reader of field `CEN`
135365        pub type CEN_R = crate::R<bool, bool>;
135366        ///Write proxy for field `CEN`
135367        pub struct CEN_W<'a> {
135368            w: &'a mut W,
135369        }
135370        impl<'a> CEN_W<'a> {
135371            ///Sets the field bit
135372            #[inline(always)]
135373            pub fn set_bit(self) -> &'a mut W {
135374                self.bit(true)
135375            }
135376            ///Clears the field bit
135377            #[inline(always)]
135378            pub fn clear_bit(self) -> &'a mut W {
135379                self.bit(false)
135380            }
135381            ///Writes raw bits to the field
135382            #[inline(always)]
135383            pub fn bit(self, value: bool) -> &'a mut W {
135384                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
135385                self.w
135386            }
135387        }
135388        ///Reader of field `AUTOTRIMEN`
135389        pub type AUTOTRIMEN_R = crate::R<bool, bool>;
135390        ///Write proxy for field `AUTOTRIMEN`
135391        pub struct AUTOTRIMEN_W<'a> {
135392            w: &'a mut W,
135393        }
135394        impl<'a> AUTOTRIMEN_W<'a> {
135395            ///Sets the field bit
135396            #[inline(always)]
135397            pub fn set_bit(self) -> &'a mut W {
135398                self.bit(true)
135399            }
135400            ///Clears the field bit
135401            #[inline(always)]
135402            pub fn clear_bit(self) -> &'a mut W {
135403                self.bit(false)
135404            }
135405            ///Writes raw bits to the field
135406            #[inline(always)]
135407            pub fn bit(self, value: bool) -> &'a mut W {
135408                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
135409                self.w
135410            }
135411        }
135412        ///Reader of field `SWSYNC`
135413        pub type SWSYNC_R = crate::R<bool, bool>;
135414        ///Write proxy for field `SWSYNC`
135415        pub struct SWSYNC_W<'a> {
135416            w: &'a mut W,
135417        }
135418        impl<'a> SWSYNC_W<'a> {
135419            ///Sets the field bit
135420            #[inline(always)]
135421            pub fn set_bit(self) -> &'a mut W {
135422                self.bit(true)
135423            }
135424            ///Clears the field bit
135425            #[inline(always)]
135426            pub fn clear_bit(self) -> &'a mut W {
135427                self.bit(false)
135428            }
135429            ///Writes raw bits to the field
135430            #[inline(always)]
135431            pub fn bit(self, value: bool) -> &'a mut W {
135432                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
135433                self.w
135434            }
135435        }
135436        ///Reader of field `TRIM`
135437        pub type TRIM_R = crate::R<u8, u8>;
135438        ///Write proxy for field `TRIM`
135439        pub struct TRIM_W<'a> {
135440            w: &'a mut W,
135441        }
135442        impl<'a> TRIM_W<'a> {
135443            ///Writes raw bits to the field
135444            #[inline(always)]
135445            pub unsafe fn bits(self, value: u8) -> &'a mut W {
135446                self.w.bits = (self.w.bits & !(0x3f << 8)) | (((value as u32) & 0x3f) << 8);
135447                self.w
135448            }
135449        }
135450        impl R {
135451            ///Bit 0 - SYNC event OK interrupt enable
135452            #[inline(always)]
135453            pub fn syncokie(&self) -> SYNCOKIE_R {
135454                SYNCOKIE_R::new((self.bits & 0x01) != 0)
135455            }
135456            ///Bit 1 - SYNC warning interrupt enable
135457            #[inline(always)]
135458            pub fn syncwarnie(&self) -> SYNCWARNIE_R {
135459                SYNCWARNIE_R::new(((self.bits >> 1) & 0x01) != 0)
135460            }
135461            ///Bit 2 - Synchronization or trimming error interrupt enable
135462            #[inline(always)]
135463            pub fn errie(&self) -> ERRIE_R {
135464                ERRIE_R::new(((self.bits >> 2) & 0x01) != 0)
135465            }
135466            ///Bit 3 - Expected SYNC interrupt enable
135467            #[inline(always)]
135468            pub fn esyncie(&self) -> ESYNCIE_R {
135469                ESYNCIE_R::new(((self.bits >> 3) & 0x01) != 0)
135470            }
135471            ///Bit 5 - Frequency error counter enable
135472            #[inline(always)]
135473            pub fn cen(&self) -> CEN_R {
135474                CEN_R::new(((self.bits >> 5) & 0x01) != 0)
135475            }
135476            ///Bit 6 - Automatic trimming enable
135477            #[inline(always)]
135478            pub fn autotrimen(&self) -> AUTOTRIMEN_R {
135479                AUTOTRIMEN_R::new(((self.bits >> 6) & 0x01) != 0)
135480            }
135481            ///Bit 7 - Automatic trimming enable
135482            #[inline(always)]
135483            pub fn swsync(&self) -> SWSYNC_R {
135484                SWSYNC_R::new(((self.bits >> 7) & 0x01) != 0)
135485            }
135486            ///Bits 8:13 - HSI48 oscillator smooth trimming
135487            #[inline(always)]
135488            pub fn trim(&self) -> TRIM_R {
135489                TRIM_R::new(((self.bits >> 8) & 0x3f) as u8)
135490            }
135491        }
135492        impl W {
135493            ///Bit 0 - SYNC event OK interrupt enable
135494            #[inline(always)]
135495            pub fn syncokie(&mut self) -> SYNCOKIE_W {
135496                SYNCOKIE_W { w: self }
135497            }
135498            ///Bit 1 - SYNC warning interrupt enable
135499            #[inline(always)]
135500            pub fn syncwarnie(&mut self) -> SYNCWARNIE_W {
135501                SYNCWARNIE_W { w: self }
135502            }
135503            ///Bit 2 - Synchronization or trimming error interrupt enable
135504            #[inline(always)]
135505            pub fn errie(&mut self) -> ERRIE_W {
135506                ERRIE_W { w: self }
135507            }
135508            ///Bit 3 - Expected SYNC interrupt enable
135509            #[inline(always)]
135510            pub fn esyncie(&mut self) -> ESYNCIE_W {
135511                ESYNCIE_W { w: self }
135512            }
135513            ///Bit 5 - Frequency error counter enable
135514            #[inline(always)]
135515            pub fn cen(&mut self) -> CEN_W {
135516                CEN_W { w: self }
135517            }
135518            ///Bit 6 - Automatic trimming enable
135519            #[inline(always)]
135520            pub fn autotrimen(&mut self) -> AUTOTRIMEN_W {
135521                AUTOTRIMEN_W { w: self }
135522            }
135523            ///Bit 7 - Automatic trimming enable
135524            #[inline(always)]
135525            pub fn swsync(&mut self) -> SWSYNC_W {
135526                SWSYNC_W { w: self }
135527            }
135528            ///Bits 8:13 - HSI48 oscillator smooth trimming
135529            #[inline(always)]
135530            pub fn trim(&mut self) -> TRIM_W {
135531                TRIM_W { w: self }
135532            }
135533        }
135534    }
135535    ///CRS configuration register
135536    ///
135537    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
135538    ///
135539    ///For information about available fields see [cfgr](cfgr) module
135540    pub type CFGR = crate::Reg<u32, _CFGR>;
135541    #[allow(missing_docs)]
135542    #[doc(hidden)]
135543    pub struct _CFGR;
135544    ///`read()` method returns [cfgr::R](cfgr::R) reader structure
135545    impl crate::Readable for CFGR {}
135546    ///`write(|w| ..)` method takes [cfgr::W](cfgr::W) writer structure
135547    impl crate::Writable for CFGR {}
135548    ///CRS configuration register
135549    pub mod cfgr {
135550        ///Reader of register CFGR
135551        pub type R = crate::R<u32, super::CFGR>;
135552        ///Writer for register CFGR
135553        pub type W = crate::W<u32, super::CFGR>;
135554        ///Register CFGR `reset()`'s with value 0x2022_bb7f
135555        impl crate::ResetValue for super::CFGR {
135556            type Type = u32;
135557            #[inline(always)]
135558            fn reset_value() -> Self::Type {
135559                0x2022_bb7f
135560            }
135561        }
135562        ///Reader of field `RELOAD`
135563        pub type RELOAD_R = crate::R<u16, u16>;
135564        ///Write proxy for field `RELOAD`
135565        pub struct RELOAD_W<'a> {
135566            w: &'a mut W,
135567        }
135568        impl<'a> RELOAD_W<'a> {
135569            ///Writes raw bits to the field
135570            #[inline(always)]
135571            pub unsafe fn bits(self, value: u16) -> &'a mut W {
135572                self.w.bits = (self.w.bits & !0xffff) | ((value as u32) & 0xffff);
135573                self.w
135574            }
135575        }
135576        ///Reader of field `FELIM`
135577        pub type FELIM_R = crate::R<u8, u8>;
135578        ///Write proxy for field `FELIM`
135579        pub struct FELIM_W<'a> {
135580            w: &'a mut W,
135581        }
135582        impl<'a> FELIM_W<'a> {
135583            ///Writes raw bits to the field
135584            #[inline(always)]
135585            pub unsafe fn bits(self, value: u8) -> &'a mut W {
135586                self.w.bits = (self.w.bits & !(0xff << 16)) | (((value as u32) & 0xff) << 16);
135587                self.w
135588            }
135589        }
135590        ///Reader of field `SYNCDIV`
135591        pub type SYNCDIV_R = crate::R<u8, u8>;
135592        ///Write proxy for field `SYNCDIV`
135593        pub struct SYNCDIV_W<'a> {
135594            w: &'a mut W,
135595        }
135596        impl<'a> SYNCDIV_W<'a> {
135597            ///Writes raw bits to the field
135598            #[inline(always)]
135599            pub unsafe fn bits(self, value: u8) -> &'a mut W {
135600                self.w.bits = (self.w.bits & !(0x07 << 24)) | (((value as u32) & 0x07) << 24);
135601                self.w
135602            }
135603        }
135604        ///Reader of field `SYNCSRC`
135605        pub type SYNCSRC_R = crate::R<u8, u8>;
135606        ///Write proxy for field `SYNCSRC`
135607        pub struct SYNCSRC_W<'a> {
135608            w: &'a mut W,
135609        }
135610        impl<'a> SYNCSRC_W<'a> {
135611            ///Writes raw bits to the field
135612            #[inline(always)]
135613            pub unsafe fn bits(self, value: u8) -> &'a mut W {
135614                self.w.bits = (self.w.bits & !(0x03 << 28)) | (((value as u32) & 0x03) << 28);
135615                self.w
135616            }
135617        }
135618        ///Reader of field `SYNCPOL`
135619        pub type SYNCPOL_R = crate::R<bool, bool>;
135620        ///Write proxy for field `SYNCPOL`
135621        pub struct SYNCPOL_W<'a> {
135622            w: &'a mut W,
135623        }
135624        impl<'a> SYNCPOL_W<'a> {
135625            ///Sets the field bit
135626            #[inline(always)]
135627            pub fn set_bit(self) -> &'a mut W {
135628                self.bit(true)
135629            }
135630            ///Clears the field bit
135631            #[inline(always)]
135632            pub fn clear_bit(self) -> &'a mut W {
135633                self.bit(false)
135634            }
135635            ///Writes raw bits to the field
135636            #[inline(always)]
135637            pub fn bit(self, value: bool) -> &'a mut W {
135638                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
135639                self.w
135640            }
135641        }
135642        impl R {
135643            ///Bits 0:15 - Counter reload value
135644            #[inline(always)]
135645            pub fn reload(&self) -> RELOAD_R {
135646                RELOAD_R::new((self.bits & 0xffff) as u16)
135647            }
135648            ///Bits 16:23 - Frequency error limit
135649            #[inline(always)]
135650            pub fn felim(&self) -> FELIM_R {
135651                FELIM_R::new(((self.bits >> 16) & 0xff) as u8)
135652            }
135653            ///Bits 24:26 - SYNCDIV
135654            #[inline(always)]
135655            pub fn syncdiv(&self) -> SYNCDIV_R {
135656                SYNCDIV_R::new(((self.bits >> 24) & 0x07) as u8)
135657            }
135658            ///Bits 28:29 - SYNC signal source selection
135659            #[inline(always)]
135660            pub fn syncsrc(&self) -> SYNCSRC_R {
135661                SYNCSRC_R::new(((self.bits >> 28) & 0x03) as u8)
135662            }
135663            ///Bit 31 - SYNC polarity selection
135664            #[inline(always)]
135665            pub fn syncpol(&self) -> SYNCPOL_R {
135666                SYNCPOL_R::new(((self.bits >> 31) & 0x01) != 0)
135667            }
135668        }
135669        impl W {
135670            ///Bits 0:15 - Counter reload value
135671            #[inline(always)]
135672            pub fn reload(&mut self) -> RELOAD_W {
135673                RELOAD_W { w: self }
135674            }
135675            ///Bits 16:23 - Frequency error limit
135676            #[inline(always)]
135677            pub fn felim(&mut self) -> FELIM_W {
135678                FELIM_W { w: self }
135679            }
135680            ///Bits 24:26 - SYNCDIV
135681            #[inline(always)]
135682            pub fn syncdiv(&mut self) -> SYNCDIV_W {
135683                SYNCDIV_W { w: self }
135684            }
135685            ///Bits 28:29 - SYNC signal source selection
135686            #[inline(always)]
135687            pub fn syncsrc(&mut self) -> SYNCSRC_W {
135688                SYNCSRC_W { w: self }
135689            }
135690            ///Bit 31 - SYNC polarity selection
135691            #[inline(always)]
135692            pub fn syncpol(&mut self) -> SYNCPOL_W {
135693                SYNCPOL_W { w: self }
135694            }
135695        }
135696    }
135697    ///CRS interrupt and status register
135698    ///
135699    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
135700    ///
135701    ///For information about available fields see [isr](isr) module
135702    pub type ISR = crate::Reg<u32, _ISR>;
135703    #[allow(missing_docs)]
135704    #[doc(hidden)]
135705    pub struct _ISR;
135706    ///`read()` method returns [isr::R](isr::R) reader structure
135707    impl crate::Readable for ISR {}
135708    ///CRS interrupt and status register
135709    pub mod isr {
135710        ///Reader of register ISR
135711        pub type R = crate::R<u32, super::ISR>;
135712        ///Reader of field `SYNCOKF`
135713        pub type SYNCOKF_R = crate::R<bool, bool>;
135714        ///Reader of field `SYNCWARNF`
135715        pub type SYNCWARNF_R = crate::R<bool, bool>;
135716        ///Reader of field `ERRF`
135717        pub type ERRF_R = crate::R<bool, bool>;
135718        ///Reader of field `ESYNCF`
135719        pub type ESYNCF_R = crate::R<bool, bool>;
135720        ///Reader of field `SYNCERR`
135721        pub type SYNCERR_R = crate::R<bool, bool>;
135722        ///Reader of field `SYNCMISS`
135723        pub type SYNCMISS_R = crate::R<bool, bool>;
135724        ///Reader of field `TRIMOVF`
135725        pub type TRIMOVF_R = crate::R<bool, bool>;
135726        ///Reader of field `FEDIR`
135727        pub type FEDIR_R = crate::R<bool, bool>;
135728        ///Reader of field `FECAP`
135729        pub type FECAP_R = crate::R<u16, u16>;
135730        impl R {
135731            ///Bit 0 - SYNC event OK flag
135732            #[inline(always)]
135733            pub fn syncokf(&self) -> SYNCOKF_R {
135734                SYNCOKF_R::new((self.bits & 0x01) != 0)
135735            }
135736            ///Bit 1 - SYNC warning flag
135737            #[inline(always)]
135738            pub fn syncwarnf(&self) -> SYNCWARNF_R {
135739                SYNCWARNF_R::new(((self.bits >> 1) & 0x01) != 0)
135740            }
135741            ///Bit 2 - Error flag
135742            #[inline(always)]
135743            pub fn errf(&self) -> ERRF_R {
135744                ERRF_R::new(((self.bits >> 2) & 0x01) != 0)
135745            }
135746            ///Bit 3 - Expected SYNC flag
135747            #[inline(always)]
135748            pub fn esyncf(&self) -> ESYNCF_R {
135749                ESYNCF_R::new(((self.bits >> 3) & 0x01) != 0)
135750            }
135751            ///Bit 8 - SYNC error
135752            #[inline(always)]
135753            pub fn syncerr(&self) -> SYNCERR_R {
135754                SYNCERR_R::new(((self.bits >> 8) & 0x01) != 0)
135755            }
135756            ///Bit 9 - SYNC missed
135757            #[inline(always)]
135758            pub fn syncmiss(&self) -> SYNCMISS_R {
135759                SYNCMISS_R::new(((self.bits >> 9) & 0x01) != 0)
135760            }
135761            ///Bit 10 - Trimming overflow or underflow
135762            #[inline(always)]
135763            pub fn trimovf(&self) -> TRIMOVF_R {
135764                TRIMOVF_R::new(((self.bits >> 10) & 0x01) != 0)
135765            }
135766            ///Bit 15 - Frequency error direction
135767            #[inline(always)]
135768            pub fn fedir(&self) -> FEDIR_R {
135769                FEDIR_R::new(((self.bits >> 15) & 0x01) != 0)
135770            }
135771            ///Bits 16:31 - Frequency error capture
135772            #[inline(always)]
135773            pub fn fecap(&self) -> FECAP_R {
135774                FECAP_R::new(((self.bits >> 16) & 0xffff) as u16)
135775            }
135776        }
135777    }
135778    ///CRS interrupt flag clear register
135779    ///
135780    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
135781    ///
135782    ///For information about available fields see [icr](icr) module
135783    pub type ICR = crate::Reg<u32, _ICR>;
135784    #[allow(missing_docs)]
135785    #[doc(hidden)]
135786    pub struct _ICR;
135787    ///`read()` method returns [icr::R](icr::R) reader structure
135788    impl crate::Readable for ICR {}
135789    ///`write(|w| ..)` method takes [icr::W](icr::W) writer structure
135790    impl crate::Writable for ICR {}
135791    ///CRS interrupt flag clear register
135792    pub mod icr {
135793        ///Reader of register ICR
135794        pub type R = crate::R<u32, super::ICR>;
135795        ///Writer for register ICR
135796        pub type W = crate::W<u32, super::ICR>;
135797        ///Register ICR `reset()`'s with value 0
135798        impl crate::ResetValue for super::ICR {
135799            type Type = u32;
135800            #[inline(always)]
135801            fn reset_value() -> Self::Type {
135802                0
135803            }
135804        }
135805        ///Reader of field `SYNCOKC`
135806        pub type SYNCOKC_R = crate::R<bool, bool>;
135807        ///Write proxy for field `SYNCOKC`
135808        pub struct SYNCOKC_W<'a> {
135809            w: &'a mut W,
135810        }
135811        impl<'a> SYNCOKC_W<'a> {
135812            ///Sets the field bit
135813            #[inline(always)]
135814            pub fn set_bit(self) -> &'a mut W {
135815                self.bit(true)
135816            }
135817            ///Clears the field bit
135818            #[inline(always)]
135819            pub fn clear_bit(self) -> &'a mut W {
135820                self.bit(false)
135821            }
135822            ///Writes raw bits to the field
135823            #[inline(always)]
135824            pub fn bit(self, value: bool) -> &'a mut W {
135825                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
135826                self.w
135827            }
135828        }
135829        ///Reader of field `SYNCWARNC`
135830        pub type SYNCWARNC_R = crate::R<bool, bool>;
135831        ///Write proxy for field `SYNCWARNC`
135832        pub struct SYNCWARNC_W<'a> {
135833            w: &'a mut W,
135834        }
135835        impl<'a> SYNCWARNC_W<'a> {
135836            ///Sets the field bit
135837            #[inline(always)]
135838            pub fn set_bit(self) -> &'a mut W {
135839                self.bit(true)
135840            }
135841            ///Clears the field bit
135842            #[inline(always)]
135843            pub fn clear_bit(self) -> &'a mut W {
135844                self.bit(false)
135845            }
135846            ///Writes raw bits to the field
135847            #[inline(always)]
135848            pub fn bit(self, value: bool) -> &'a mut W {
135849                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
135850                self.w
135851            }
135852        }
135853        ///Reader of field `ERRC`
135854        pub type ERRC_R = crate::R<bool, bool>;
135855        ///Write proxy for field `ERRC`
135856        pub struct ERRC_W<'a> {
135857            w: &'a mut W,
135858        }
135859        impl<'a> ERRC_W<'a> {
135860            ///Sets the field bit
135861            #[inline(always)]
135862            pub fn set_bit(self) -> &'a mut W {
135863                self.bit(true)
135864            }
135865            ///Clears the field bit
135866            #[inline(always)]
135867            pub fn clear_bit(self) -> &'a mut W {
135868                self.bit(false)
135869            }
135870            ///Writes raw bits to the field
135871            #[inline(always)]
135872            pub fn bit(self, value: bool) -> &'a mut W {
135873                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
135874                self.w
135875            }
135876        }
135877        ///Reader of field `ESYNCC`
135878        pub type ESYNCC_R = crate::R<bool, bool>;
135879        ///Write proxy for field `ESYNCC`
135880        pub struct ESYNCC_W<'a> {
135881            w: &'a mut W,
135882        }
135883        impl<'a> ESYNCC_W<'a> {
135884            ///Sets the field bit
135885            #[inline(always)]
135886            pub fn set_bit(self) -> &'a mut W {
135887                self.bit(true)
135888            }
135889            ///Clears the field bit
135890            #[inline(always)]
135891            pub fn clear_bit(self) -> &'a mut W {
135892                self.bit(false)
135893            }
135894            ///Writes raw bits to the field
135895            #[inline(always)]
135896            pub fn bit(self, value: bool) -> &'a mut W {
135897                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
135898                self.w
135899            }
135900        }
135901        impl R {
135902            ///Bit 0 - SYNC event OK clear flag
135903            #[inline(always)]
135904            pub fn syncokc(&self) -> SYNCOKC_R {
135905                SYNCOKC_R::new((self.bits & 0x01) != 0)
135906            }
135907            ///Bit 1 - warning clear flag
135908            #[inline(always)]
135909            pub fn syncwarnc(&self) -> SYNCWARNC_R {
135910                SYNCWARNC_R::new(((self.bits >> 1) & 0x01) != 0)
135911            }
135912            ///Bit 2 - Error clear flag
135913            #[inline(always)]
135914            pub fn errc(&self) -> ERRC_R {
135915                ERRC_R::new(((self.bits >> 2) & 0x01) != 0)
135916            }
135917            ///Bit 3 - Expected SYNC clear flag
135918            #[inline(always)]
135919            pub fn esyncc(&self) -> ESYNCC_R {
135920                ESYNCC_R::new(((self.bits >> 3) & 0x01) != 0)
135921            }
135922        }
135923        impl W {
135924            ///Bit 0 - SYNC event OK clear flag
135925            #[inline(always)]
135926            pub fn syncokc(&mut self) -> SYNCOKC_W {
135927                SYNCOKC_W { w: self }
135928            }
135929            ///Bit 1 - warning clear flag
135930            #[inline(always)]
135931            pub fn syncwarnc(&mut self) -> SYNCWARNC_W {
135932                SYNCWARNC_W { w: self }
135933            }
135934            ///Bit 2 - Error clear flag
135935            #[inline(always)]
135936            pub fn errc(&mut self) -> ERRC_W {
135937                ERRC_W { w: self }
135938            }
135939            ///Bit 3 - Expected SYNC clear flag
135940            #[inline(always)]
135941            pub fn esyncc(&mut self) -> ESYNCC_W {
135942                ESYNCC_W { w: self }
135943            }
135944        }
135945    }
135946}
135947///Universal serial bus full-speed device interface
135948pub struct USB {
135949    _marker: PhantomData<*const ()>,
135950}
135951unsafe impl Send for USB {}
135952impl USB {
135953    ///Returns a pointer to the register block
135954    #[inline(always)]
135955    pub const fn ptr() -> *const usb::RegisterBlock {
135956        0x4000_6800 as *const _
135957    }
135958}
135959impl Deref for USB {
135960    type Target = usb::RegisterBlock;
135961    #[inline(always)]
135962    fn deref(&self) -> &Self::Target {
135963        unsafe { &*USB::ptr() }
135964    }
135965}
135966///Universal serial bus full-speed device interface
135967pub mod usb {
135968    ///Register block
135969    #[repr(C)]
135970    pub struct RegisterBlock {
135971        ///0x00 - endpoint 0 register
135972        pub ep0r: EP0R,
135973        _reserved1: [u8; 2usize],
135974        ///0x04 - endpoint 1 register
135975        pub ep1r: EP1R,
135976        _reserved2: [u8; 2usize],
135977        ///0x08 - endpoint 2 register
135978        pub ep2r: EP2R,
135979        _reserved3: [u8; 2usize],
135980        ///0x0c - endpoint 3 register
135981        pub ep3r: EP3R,
135982        _reserved4: [u8; 2usize],
135983        ///0x10 - endpoint 4 register
135984        pub ep4r: EP4R,
135985        _reserved5: [u8; 2usize],
135986        ///0x14 - endpoint 5 register
135987        pub ep5r: EP5R,
135988        _reserved6: [u8; 2usize],
135989        ///0x18 - endpoint 6 register
135990        pub ep6r: EP6R,
135991        _reserved7: [u8; 2usize],
135992        ///0x1c - endpoint 7 register
135993        pub ep7r: EP7R,
135994        _reserved8: [u8; 34usize],
135995        ///0x40 - control register
135996        pub cntr: CNTR,
135997        _reserved9: [u8; 2usize],
135998        ///0x44 - interrupt status register
135999        pub istr: ISTR,
136000        _reserved10: [u8; 2usize],
136001        ///0x48 - frame number register
136002        pub fnr: FNR,
136003        _reserved11: [u8; 2usize],
136004        ///0x4c - device address
136005        pub daddr: DADDR,
136006        _reserved12: [u8; 2usize],
136007        ///0x50 - Buffer table address
136008        pub btable: BTABLE,
136009        ///0x52 - Transmission byte count 0
136010        pub count0_tx: COUNT0_TX,
136011        _reserved_14_lpmcsr: [u8; 2usize],
136012        ///0x56 - Reception byte count 0
136013        pub count0_rx: COUNT0_RX,
136014        ///0x58 - Battery charging detector(
136015        pub bcdr: BCDR,
136016        ///0x5a - Transmission byte count 0
136017        pub count1_tx: COUNT1_TX,
136018        ///0x5c - Reception buffer address 0
136019        pub addr1_rx: ADDR1_RX,
136020        ///0x5e - Reception byte count 0
136021        pub count1_rx: COUNT1_RX,
136022        _reserved20: [u8; 2usize],
136023        ///0x62 - Transmission byte count 0
136024        pub count2_tx: COUNT2_TX,
136025        ///0x64 - Reception buffer address 0
136026        pub addr2_rx: ADDR2_RX,
136027        ///0x66 - Reception byte count 0
136028        pub count2_rx: COUNT2_RX,
136029        _reserved23: [u8; 2usize],
136030        ///0x6a - Transmission byte count 0
136031        pub count3_tx: COUNT3_TX,
136032        ///0x6c - Reception buffer address 0
136033        pub addr3_rx: ADDR3_RX,
136034        ///0x6e - Reception byte count 0
136035        pub count3_rx: COUNT3_RX,
136036        _reserved26: [u8; 2usize],
136037        ///0x72 - Transmission byte count 0
136038        pub count4_tx: COUNT4_TX,
136039        ///0x74 - Reception buffer address 0
136040        pub addr4_rx: ADDR4_RX,
136041        ///0x76 - Reception byte count 0
136042        pub count4_rx: COUNT4_RX,
136043        _reserved29: [u8; 2usize],
136044        ///0x7a - Transmission byte count 0
136045        pub count5_tx: COUNT5_TX,
136046        ///0x7c - Reception buffer address 0
136047        pub addr5_rx: ADDR5_RX,
136048        ///0x7e - Reception byte count 0
136049        pub count5_rx: COUNT5_RX,
136050        _reserved32: [u8; 2usize],
136051        ///0x82 - Transmission byte count 0
136052        pub count6_tx: COUNT6_TX,
136053        ///0x84 - Reception buffer address 0
136054        pub addr6_rx: ADDR6_RX,
136055        ///0x86 - Reception byte count 0
136056        pub count6_rx: COUNT6_RX,
136057        _reserved35: [u8; 2usize],
136058        ///0x8a - Transmission byte count 0
136059        pub count7_tx: COUNT7_TX,
136060        ///0x8c - Reception buffer address 0
136061        pub addr7_rx: ADDR7_RX,
136062        ///0x8e - Reception byte count 0
136063        pub count7_rx: COUNT7_RX,
136064    }
136065    impl RegisterBlock {
136066        ///0x54 - control and status register
136067        #[inline(always)]
136068        pub fn lpmcsr(&self) -> &LPMCSR {
136069            unsafe { &*(((self as *const Self) as *const u8).add(84usize) as *const LPMCSR) }
136070        }
136071        ///0x54 - control and status register
136072        #[inline(always)]
136073        pub fn lpmcsr_mut(&self) -> &mut LPMCSR {
136074            unsafe { &mut *(((self as *const Self) as *mut u8).add(84usize) as *mut LPMCSR) }
136075        }
136076        ///0x54 - Reception buffer address 0
136077        #[inline(always)]
136078        pub fn addr0_rx(&self) -> &ADDR0_RX {
136079            unsafe { &*(((self as *const Self) as *const u8).add(84usize) as *const ADDR0_RX) }
136080        }
136081        ///0x54 - Reception buffer address 0
136082        #[inline(always)]
136083        pub fn addr0_rx_mut(&self) -> &mut ADDR0_RX {
136084            unsafe { &mut *(((self as *const Self) as *mut u8).add(84usize) as *mut ADDR0_RX) }
136085        }
136086    }
136087    ///endpoint 0 register
136088    ///
136089    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
136090    ///
136091    ///For information about available fields see [ep0r](ep0r) module
136092    pub type EP0R = crate::Reg<u16, _EP0R>;
136093    #[allow(missing_docs)]
136094    #[doc(hidden)]
136095    pub struct _EP0R;
136096    ///`read()` method returns [ep0r::R](ep0r::R) reader structure
136097    impl crate::Readable for EP0R {}
136098    ///`write(|w| ..)` method takes [ep0r::W](ep0r::W) writer structure
136099    impl crate::Writable for EP0R {}
136100    ///endpoint 0 register
136101    pub mod ep0r {
136102        ///Reader of register EP0R
136103        pub type R = crate::R<u16, super::EP0R>;
136104        ///Writer for register EP0R
136105        pub type W = crate::W<u16, super::EP0R>;
136106        ///Register EP0R `reset()`'s with value 0
136107        impl crate::ResetValue for super::EP0R {
136108            type Type = u16;
136109            #[inline(always)]
136110            fn reset_value() -> Self::Type {
136111                0
136112            }
136113        }
136114        ///Reader of field `EA`
136115        pub type EA_R = crate::R<u8, u8>;
136116        ///Write proxy for field `EA`
136117        pub struct EA_W<'a> {
136118            w: &'a mut W,
136119        }
136120        impl<'a> EA_W<'a> {
136121            ///Writes raw bits to the field
136122            #[inline(always)]
136123            pub unsafe fn bits(self, value: u8) -> &'a mut W {
136124                self.w.bits = (self.w.bits & !0x0f) | ((value as u16) & 0x0f);
136125                self.w
136126            }
136127        }
136128        ///Reader of field `STAT_TX`
136129        pub type STAT_TX_R = crate::R<u8, u8>;
136130        ///Write proxy for field `STAT_TX`
136131        pub struct STAT_TX_W<'a> {
136132            w: &'a mut W,
136133        }
136134        impl<'a> STAT_TX_W<'a> {
136135            ///Writes raw bits to the field
136136            #[inline(always)]
136137            pub unsafe fn bits(self, value: u8) -> &'a mut W {
136138                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u16) & 0x03) << 4);
136139                self.w
136140            }
136141        }
136142        ///Reader of field `DTOG_TX`
136143        pub type DTOG_TX_R = crate::R<bool, bool>;
136144        ///Write proxy for field `DTOG_TX`
136145        pub struct DTOG_TX_W<'a> {
136146            w: &'a mut W,
136147        }
136148        impl<'a> DTOG_TX_W<'a> {
136149            ///Sets the field bit
136150            #[inline(always)]
136151            pub fn set_bit(self) -> &'a mut W {
136152                self.bit(true)
136153            }
136154            ///Clears the field bit
136155            #[inline(always)]
136156            pub fn clear_bit(self) -> &'a mut W {
136157                self.bit(false)
136158            }
136159            ///Writes raw bits to the field
136160            #[inline(always)]
136161            pub fn bit(self, value: bool) -> &'a mut W {
136162                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u16) & 0x01) << 6);
136163                self.w
136164            }
136165        }
136166        ///Reader of field `CTR_TX`
136167        pub type CTR_TX_R = crate::R<bool, bool>;
136168        ///Write proxy for field `CTR_TX`
136169        pub struct CTR_TX_W<'a> {
136170            w: &'a mut W,
136171        }
136172        impl<'a> CTR_TX_W<'a> {
136173            ///Sets the field bit
136174            #[inline(always)]
136175            pub fn set_bit(self) -> &'a mut W {
136176                self.bit(true)
136177            }
136178            ///Clears the field bit
136179            #[inline(always)]
136180            pub fn clear_bit(self) -> &'a mut W {
136181                self.bit(false)
136182            }
136183            ///Writes raw bits to the field
136184            #[inline(always)]
136185            pub fn bit(self, value: bool) -> &'a mut W {
136186                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u16) & 0x01) << 7);
136187                self.w
136188            }
136189        }
136190        ///Reader of field `EP_KIND`
136191        pub type EP_KIND_R = crate::R<bool, bool>;
136192        ///Write proxy for field `EP_KIND`
136193        pub struct EP_KIND_W<'a> {
136194            w: &'a mut W,
136195        }
136196        impl<'a> EP_KIND_W<'a> {
136197            ///Sets the field bit
136198            #[inline(always)]
136199            pub fn set_bit(self) -> &'a mut W {
136200                self.bit(true)
136201            }
136202            ///Clears the field bit
136203            #[inline(always)]
136204            pub fn clear_bit(self) -> &'a mut W {
136205                self.bit(false)
136206            }
136207            ///Writes raw bits to the field
136208            #[inline(always)]
136209            pub fn bit(self, value: bool) -> &'a mut W {
136210                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u16) & 0x01) << 8);
136211                self.w
136212            }
136213        }
136214        ///Reader of field `EP_TYPE`
136215        pub type EP_TYPE_R = crate::R<u8, u8>;
136216        ///Write proxy for field `EP_TYPE`
136217        pub struct EP_TYPE_W<'a> {
136218            w: &'a mut W,
136219        }
136220        impl<'a> EP_TYPE_W<'a> {
136221            ///Writes raw bits to the field
136222            #[inline(always)]
136223            pub unsafe fn bits(self, value: u8) -> &'a mut W {
136224                self.w.bits = (self.w.bits & !(0x03 << 9)) | (((value as u16) & 0x03) << 9);
136225                self.w
136226            }
136227        }
136228        ///Reader of field `SETUP`
136229        pub type SETUP_R = crate::R<bool, bool>;
136230        ///Write proxy for field `SETUP`
136231        pub struct SETUP_W<'a> {
136232            w: &'a mut W,
136233        }
136234        impl<'a> SETUP_W<'a> {
136235            ///Sets the field bit
136236            #[inline(always)]
136237            pub fn set_bit(self) -> &'a mut W {
136238                self.bit(true)
136239            }
136240            ///Clears the field bit
136241            #[inline(always)]
136242            pub fn clear_bit(self) -> &'a mut W {
136243                self.bit(false)
136244            }
136245            ///Writes raw bits to the field
136246            #[inline(always)]
136247            pub fn bit(self, value: bool) -> &'a mut W {
136248                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u16) & 0x01) << 11);
136249                self.w
136250            }
136251        }
136252        ///Reader of field `STAT_RX`
136253        pub type STAT_RX_R = crate::R<u8, u8>;
136254        ///Write proxy for field `STAT_RX`
136255        pub struct STAT_RX_W<'a> {
136256            w: &'a mut W,
136257        }
136258        impl<'a> STAT_RX_W<'a> {
136259            ///Writes raw bits to the field
136260            #[inline(always)]
136261            pub unsafe fn bits(self, value: u8) -> &'a mut W {
136262                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u16) & 0x03) << 12);
136263                self.w
136264            }
136265        }
136266        ///Reader of field `DTOG_RX`
136267        pub type DTOG_RX_R = crate::R<bool, bool>;
136268        ///Write proxy for field `DTOG_RX`
136269        pub struct DTOG_RX_W<'a> {
136270            w: &'a mut W,
136271        }
136272        impl<'a> DTOG_RX_W<'a> {
136273            ///Sets the field bit
136274            #[inline(always)]
136275            pub fn set_bit(self) -> &'a mut W {
136276                self.bit(true)
136277            }
136278            ///Clears the field bit
136279            #[inline(always)]
136280            pub fn clear_bit(self) -> &'a mut W {
136281                self.bit(false)
136282            }
136283            ///Writes raw bits to the field
136284            #[inline(always)]
136285            pub fn bit(self, value: bool) -> &'a mut W {
136286                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u16) & 0x01) << 14);
136287                self.w
136288            }
136289        }
136290        ///Reader of field `CTR_RX`
136291        pub type CTR_RX_R = crate::R<bool, bool>;
136292        ///Write proxy for field `CTR_RX`
136293        pub struct CTR_RX_W<'a> {
136294            w: &'a mut W,
136295        }
136296        impl<'a> CTR_RX_W<'a> {
136297            ///Sets the field bit
136298            #[inline(always)]
136299            pub fn set_bit(self) -> &'a mut W {
136300                self.bit(true)
136301            }
136302            ///Clears the field bit
136303            #[inline(always)]
136304            pub fn clear_bit(self) -> &'a mut W {
136305                self.bit(false)
136306            }
136307            ///Writes raw bits to the field
136308            #[inline(always)]
136309            pub fn bit(self, value: bool) -> &'a mut W {
136310                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
136311                self.w
136312            }
136313        }
136314        impl R {
136315            ///Bits 0:3 - Endpoint address
136316            #[inline(always)]
136317            pub fn ea(&self) -> EA_R {
136318                EA_R::new((self.bits & 0x0f) as u8)
136319            }
136320            ///Bits 4:5 - Status bits, for transmission transfers
136321            #[inline(always)]
136322            pub fn stat_tx(&self) -> STAT_TX_R {
136323                STAT_TX_R::new(((self.bits >> 4) & 0x03) as u8)
136324            }
136325            ///Bit 6 - Data Toggle, for transmission transfers
136326            #[inline(always)]
136327            pub fn dtog_tx(&self) -> DTOG_TX_R {
136328                DTOG_TX_R::new(((self.bits >> 6) & 0x01) != 0)
136329            }
136330            ///Bit 7 - Correct Transfer for transmission
136331            #[inline(always)]
136332            pub fn ctr_tx(&self) -> CTR_TX_R {
136333                CTR_TX_R::new(((self.bits >> 7) & 0x01) != 0)
136334            }
136335            ///Bit 8 - Endpoint kind
136336            #[inline(always)]
136337            pub fn ep_kind(&self) -> EP_KIND_R {
136338                EP_KIND_R::new(((self.bits >> 8) & 0x01) != 0)
136339            }
136340            ///Bits 9:10 - Endpoint type
136341            #[inline(always)]
136342            pub fn ep_type(&self) -> EP_TYPE_R {
136343                EP_TYPE_R::new(((self.bits >> 9) & 0x03) as u8)
136344            }
136345            ///Bit 11 - Setup transaction completed
136346            #[inline(always)]
136347            pub fn setup(&self) -> SETUP_R {
136348                SETUP_R::new(((self.bits >> 11) & 0x01) != 0)
136349            }
136350            ///Bits 12:13 - Status bits, for reception transfers
136351            #[inline(always)]
136352            pub fn stat_rx(&self) -> STAT_RX_R {
136353                STAT_RX_R::new(((self.bits >> 12) & 0x03) as u8)
136354            }
136355            ///Bit 14 - Data Toggle, for reception transfers
136356            #[inline(always)]
136357            pub fn dtog_rx(&self) -> DTOG_RX_R {
136358                DTOG_RX_R::new(((self.bits >> 14) & 0x01) != 0)
136359            }
136360            ///Bit 15 - Correct transfer for reception
136361            #[inline(always)]
136362            pub fn ctr_rx(&self) -> CTR_RX_R {
136363                CTR_RX_R::new(((self.bits >> 15) & 0x01) != 0)
136364            }
136365        }
136366        impl W {
136367            ///Bits 0:3 - Endpoint address
136368            #[inline(always)]
136369            pub fn ea(&mut self) -> EA_W {
136370                EA_W { w: self }
136371            }
136372            ///Bits 4:5 - Status bits, for transmission transfers
136373            #[inline(always)]
136374            pub fn stat_tx(&mut self) -> STAT_TX_W {
136375                STAT_TX_W { w: self }
136376            }
136377            ///Bit 6 - Data Toggle, for transmission transfers
136378            #[inline(always)]
136379            pub fn dtog_tx(&mut self) -> DTOG_TX_W {
136380                DTOG_TX_W { w: self }
136381            }
136382            ///Bit 7 - Correct Transfer for transmission
136383            #[inline(always)]
136384            pub fn ctr_tx(&mut self) -> CTR_TX_W {
136385                CTR_TX_W { w: self }
136386            }
136387            ///Bit 8 - Endpoint kind
136388            #[inline(always)]
136389            pub fn ep_kind(&mut self) -> EP_KIND_W {
136390                EP_KIND_W { w: self }
136391            }
136392            ///Bits 9:10 - Endpoint type
136393            #[inline(always)]
136394            pub fn ep_type(&mut self) -> EP_TYPE_W {
136395                EP_TYPE_W { w: self }
136396            }
136397            ///Bit 11 - Setup transaction completed
136398            #[inline(always)]
136399            pub fn setup(&mut self) -> SETUP_W {
136400                SETUP_W { w: self }
136401            }
136402            ///Bits 12:13 - Status bits, for reception transfers
136403            #[inline(always)]
136404            pub fn stat_rx(&mut self) -> STAT_RX_W {
136405                STAT_RX_W { w: self }
136406            }
136407            ///Bit 14 - Data Toggle, for reception transfers
136408            #[inline(always)]
136409            pub fn dtog_rx(&mut self) -> DTOG_RX_W {
136410                DTOG_RX_W { w: self }
136411            }
136412            ///Bit 15 - Correct transfer for reception
136413            #[inline(always)]
136414            pub fn ctr_rx(&mut self) -> CTR_RX_W {
136415                CTR_RX_W { w: self }
136416            }
136417        }
136418    }
136419    ///endpoint 1 register
136420    ///
136421    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
136422    ///
136423    ///For information about available fields see [ep1r](ep1r) module
136424    pub type EP1R = crate::Reg<u16, _EP1R>;
136425    #[allow(missing_docs)]
136426    #[doc(hidden)]
136427    pub struct _EP1R;
136428    ///`read()` method returns [ep1r::R](ep1r::R) reader structure
136429    impl crate::Readable for EP1R {}
136430    ///`write(|w| ..)` method takes [ep1r::W](ep1r::W) writer structure
136431    impl crate::Writable for EP1R {}
136432    ///endpoint 1 register
136433    pub mod ep1r {
136434        ///Reader of register EP1R
136435        pub type R = crate::R<u16, super::EP1R>;
136436        ///Writer for register EP1R
136437        pub type W = crate::W<u16, super::EP1R>;
136438        ///Register EP1R `reset()`'s with value 0
136439        impl crate::ResetValue for super::EP1R {
136440            type Type = u16;
136441            #[inline(always)]
136442            fn reset_value() -> Self::Type {
136443                0
136444            }
136445        }
136446        ///Reader of field `EA`
136447        pub type EA_R = crate::R<u8, u8>;
136448        ///Write proxy for field `EA`
136449        pub struct EA_W<'a> {
136450            w: &'a mut W,
136451        }
136452        impl<'a> EA_W<'a> {
136453            ///Writes raw bits to the field
136454            #[inline(always)]
136455            pub unsafe fn bits(self, value: u8) -> &'a mut W {
136456                self.w.bits = (self.w.bits & !0x0f) | ((value as u16) & 0x0f);
136457                self.w
136458            }
136459        }
136460        ///Reader of field `STAT_TX`
136461        pub type STAT_TX_R = crate::R<u8, u8>;
136462        ///Write proxy for field `STAT_TX`
136463        pub struct STAT_TX_W<'a> {
136464            w: &'a mut W,
136465        }
136466        impl<'a> STAT_TX_W<'a> {
136467            ///Writes raw bits to the field
136468            #[inline(always)]
136469            pub unsafe fn bits(self, value: u8) -> &'a mut W {
136470                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u16) & 0x03) << 4);
136471                self.w
136472            }
136473        }
136474        ///Reader of field `DTOG_TX`
136475        pub type DTOG_TX_R = crate::R<bool, bool>;
136476        ///Write proxy for field `DTOG_TX`
136477        pub struct DTOG_TX_W<'a> {
136478            w: &'a mut W,
136479        }
136480        impl<'a> DTOG_TX_W<'a> {
136481            ///Sets the field bit
136482            #[inline(always)]
136483            pub fn set_bit(self) -> &'a mut W {
136484                self.bit(true)
136485            }
136486            ///Clears the field bit
136487            #[inline(always)]
136488            pub fn clear_bit(self) -> &'a mut W {
136489                self.bit(false)
136490            }
136491            ///Writes raw bits to the field
136492            #[inline(always)]
136493            pub fn bit(self, value: bool) -> &'a mut W {
136494                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u16) & 0x01) << 6);
136495                self.w
136496            }
136497        }
136498        ///Reader of field `CTR_TX`
136499        pub type CTR_TX_R = crate::R<bool, bool>;
136500        ///Write proxy for field `CTR_TX`
136501        pub struct CTR_TX_W<'a> {
136502            w: &'a mut W,
136503        }
136504        impl<'a> CTR_TX_W<'a> {
136505            ///Sets the field bit
136506            #[inline(always)]
136507            pub fn set_bit(self) -> &'a mut W {
136508                self.bit(true)
136509            }
136510            ///Clears the field bit
136511            #[inline(always)]
136512            pub fn clear_bit(self) -> &'a mut W {
136513                self.bit(false)
136514            }
136515            ///Writes raw bits to the field
136516            #[inline(always)]
136517            pub fn bit(self, value: bool) -> &'a mut W {
136518                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u16) & 0x01) << 7);
136519                self.w
136520            }
136521        }
136522        ///Reader of field `EP_KIND`
136523        pub type EP_KIND_R = crate::R<bool, bool>;
136524        ///Write proxy for field `EP_KIND`
136525        pub struct EP_KIND_W<'a> {
136526            w: &'a mut W,
136527        }
136528        impl<'a> EP_KIND_W<'a> {
136529            ///Sets the field bit
136530            #[inline(always)]
136531            pub fn set_bit(self) -> &'a mut W {
136532                self.bit(true)
136533            }
136534            ///Clears the field bit
136535            #[inline(always)]
136536            pub fn clear_bit(self) -> &'a mut W {
136537                self.bit(false)
136538            }
136539            ///Writes raw bits to the field
136540            #[inline(always)]
136541            pub fn bit(self, value: bool) -> &'a mut W {
136542                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u16) & 0x01) << 8);
136543                self.w
136544            }
136545        }
136546        ///Reader of field `EP_TYPE`
136547        pub type EP_TYPE_R = crate::R<u8, u8>;
136548        ///Write proxy for field `EP_TYPE`
136549        pub struct EP_TYPE_W<'a> {
136550            w: &'a mut W,
136551        }
136552        impl<'a> EP_TYPE_W<'a> {
136553            ///Writes raw bits to the field
136554            #[inline(always)]
136555            pub unsafe fn bits(self, value: u8) -> &'a mut W {
136556                self.w.bits = (self.w.bits & !(0x03 << 9)) | (((value as u16) & 0x03) << 9);
136557                self.w
136558            }
136559        }
136560        ///Reader of field `SETUP`
136561        pub type SETUP_R = crate::R<bool, bool>;
136562        ///Write proxy for field `SETUP`
136563        pub struct SETUP_W<'a> {
136564            w: &'a mut W,
136565        }
136566        impl<'a> SETUP_W<'a> {
136567            ///Sets the field bit
136568            #[inline(always)]
136569            pub fn set_bit(self) -> &'a mut W {
136570                self.bit(true)
136571            }
136572            ///Clears the field bit
136573            #[inline(always)]
136574            pub fn clear_bit(self) -> &'a mut W {
136575                self.bit(false)
136576            }
136577            ///Writes raw bits to the field
136578            #[inline(always)]
136579            pub fn bit(self, value: bool) -> &'a mut W {
136580                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u16) & 0x01) << 11);
136581                self.w
136582            }
136583        }
136584        ///Reader of field `STAT_RX`
136585        pub type STAT_RX_R = crate::R<u8, u8>;
136586        ///Write proxy for field `STAT_RX`
136587        pub struct STAT_RX_W<'a> {
136588            w: &'a mut W,
136589        }
136590        impl<'a> STAT_RX_W<'a> {
136591            ///Writes raw bits to the field
136592            #[inline(always)]
136593            pub unsafe fn bits(self, value: u8) -> &'a mut W {
136594                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u16) & 0x03) << 12);
136595                self.w
136596            }
136597        }
136598        ///Reader of field `DTOG_RX`
136599        pub type DTOG_RX_R = crate::R<bool, bool>;
136600        ///Write proxy for field `DTOG_RX`
136601        pub struct DTOG_RX_W<'a> {
136602            w: &'a mut W,
136603        }
136604        impl<'a> DTOG_RX_W<'a> {
136605            ///Sets the field bit
136606            #[inline(always)]
136607            pub fn set_bit(self) -> &'a mut W {
136608                self.bit(true)
136609            }
136610            ///Clears the field bit
136611            #[inline(always)]
136612            pub fn clear_bit(self) -> &'a mut W {
136613                self.bit(false)
136614            }
136615            ///Writes raw bits to the field
136616            #[inline(always)]
136617            pub fn bit(self, value: bool) -> &'a mut W {
136618                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u16) & 0x01) << 14);
136619                self.w
136620            }
136621        }
136622        ///Reader of field `CTR_RX`
136623        pub type CTR_RX_R = crate::R<bool, bool>;
136624        ///Write proxy for field `CTR_RX`
136625        pub struct CTR_RX_W<'a> {
136626            w: &'a mut W,
136627        }
136628        impl<'a> CTR_RX_W<'a> {
136629            ///Sets the field bit
136630            #[inline(always)]
136631            pub fn set_bit(self) -> &'a mut W {
136632                self.bit(true)
136633            }
136634            ///Clears the field bit
136635            #[inline(always)]
136636            pub fn clear_bit(self) -> &'a mut W {
136637                self.bit(false)
136638            }
136639            ///Writes raw bits to the field
136640            #[inline(always)]
136641            pub fn bit(self, value: bool) -> &'a mut W {
136642                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
136643                self.w
136644            }
136645        }
136646        impl R {
136647            ///Bits 0:3 - Endpoint address
136648            #[inline(always)]
136649            pub fn ea(&self) -> EA_R {
136650                EA_R::new((self.bits & 0x0f) as u8)
136651            }
136652            ///Bits 4:5 - Status bits, for transmission transfers
136653            #[inline(always)]
136654            pub fn stat_tx(&self) -> STAT_TX_R {
136655                STAT_TX_R::new(((self.bits >> 4) & 0x03) as u8)
136656            }
136657            ///Bit 6 - Data Toggle, for transmission transfers
136658            #[inline(always)]
136659            pub fn dtog_tx(&self) -> DTOG_TX_R {
136660                DTOG_TX_R::new(((self.bits >> 6) & 0x01) != 0)
136661            }
136662            ///Bit 7 - Correct Transfer for transmission
136663            #[inline(always)]
136664            pub fn ctr_tx(&self) -> CTR_TX_R {
136665                CTR_TX_R::new(((self.bits >> 7) & 0x01) != 0)
136666            }
136667            ///Bit 8 - Endpoint kind
136668            #[inline(always)]
136669            pub fn ep_kind(&self) -> EP_KIND_R {
136670                EP_KIND_R::new(((self.bits >> 8) & 0x01) != 0)
136671            }
136672            ///Bits 9:10 - Endpoint type
136673            #[inline(always)]
136674            pub fn ep_type(&self) -> EP_TYPE_R {
136675                EP_TYPE_R::new(((self.bits >> 9) & 0x03) as u8)
136676            }
136677            ///Bit 11 - Setup transaction completed
136678            #[inline(always)]
136679            pub fn setup(&self) -> SETUP_R {
136680                SETUP_R::new(((self.bits >> 11) & 0x01) != 0)
136681            }
136682            ///Bits 12:13 - Status bits, for reception transfers
136683            #[inline(always)]
136684            pub fn stat_rx(&self) -> STAT_RX_R {
136685                STAT_RX_R::new(((self.bits >> 12) & 0x03) as u8)
136686            }
136687            ///Bit 14 - Data Toggle, for reception transfers
136688            #[inline(always)]
136689            pub fn dtog_rx(&self) -> DTOG_RX_R {
136690                DTOG_RX_R::new(((self.bits >> 14) & 0x01) != 0)
136691            }
136692            ///Bit 15 - Correct transfer for reception
136693            #[inline(always)]
136694            pub fn ctr_rx(&self) -> CTR_RX_R {
136695                CTR_RX_R::new(((self.bits >> 15) & 0x01) != 0)
136696            }
136697        }
136698        impl W {
136699            ///Bits 0:3 - Endpoint address
136700            #[inline(always)]
136701            pub fn ea(&mut self) -> EA_W {
136702                EA_W { w: self }
136703            }
136704            ///Bits 4:5 - Status bits, for transmission transfers
136705            #[inline(always)]
136706            pub fn stat_tx(&mut self) -> STAT_TX_W {
136707                STAT_TX_W { w: self }
136708            }
136709            ///Bit 6 - Data Toggle, for transmission transfers
136710            #[inline(always)]
136711            pub fn dtog_tx(&mut self) -> DTOG_TX_W {
136712                DTOG_TX_W { w: self }
136713            }
136714            ///Bit 7 - Correct Transfer for transmission
136715            #[inline(always)]
136716            pub fn ctr_tx(&mut self) -> CTR_TX_W {
136717                CTR_TX_W { w: self }
136718            }
136719            ///Bit 8 - Endpoint kind
136720            #[inline(always)]
136721            pub fn ep_kind(&mut self) -> EP_KIND_W {
136722                EP_KIND_W { w: self }
136723            }
136724            ///Bits 9:10 - Endpoint type
136725            #[inline(always)]
136726            pub fn ep_type(&mut self) -> EP_TYPE_W {
136727                EP_TYPE_W { w: self }
136728            }
136729            ///Bit 11 - Setup transaction completed
136730            #[inline(always)]
136731            pub fn setup(&mut self) -> SETUP_W {
136732                SETUP_W { w: self }
136733            }
136734            ///Bits 12:13 - Status bits, for reception transfers
136735            #[inline(always)]
136736            pub fn stat_rx(&mut self) -> STAT_RX_W {
136737                STAT_RX_W { w: self }
136738            }
136739            ///Bit 14 - Data Toggle, for reception transfers
136740            #[inline(always)]
136741            pub fn dtog_rx(&mut self) -> DTOG_RX_W {
136742                DTOG_RX_W { w: self }
136743            }
136744            ///Bit 15 - Correct transfer for reception
136745            #[inline(always)]
136746            pub fn ctr_rx(&mut self) -> CTR_RX_W {
136747                CTR_RX_W { w: self }
136748            }
136749        }
136750    }
136751    ///endpoint 2 register
136752    ///
136753    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
136754    ///
136755    ///For information about available fields see [ep2r](ep2r) module
136756    pub type EP2R = crate::Reg<u16, _EP2R>;
136757    #[allow(missing_docs)]
136758    #[doc(hidden)]
136759    pub struct _EP2R;
136760    ///`read()` method returns [ep2r::R](ep2r::R) reader structure
136761    impl crate::Readable for EP2R {}
136762    ///`write(|w| ..)` method takes [ep2r::W](ep2r::W) writer structure
136763    impl crate::Writable for EP2R {}
136764    ///endpoint 2 register
136765    pub mod ep2r {
136766        ///Reader of register EP2R
136767        pub type R = crate::R<u16, super::EP2R>;
136768        ///Writer for register EP2R
136769        pub type W = crate::W<u16, super::EP2R>;
136770        ///Register EP2R `reset()`'s with value 0
136771        impl crate::ResetValue for super::EP2R {
136772            type Type = u16;
136773            #[inline(always)]
136774            fn reset_value() -> Self::Type {
136775                0
136776            }
136777        }
136778        ///Reader of field `EA`
136779        pub type EA_R = crate::R<u8, u8>;
136780        ///Write proxy for field `EA`
136781        pub struct EA_W<'a> {
136782            w: &'a mut W,
136783        }
136784        impl<'a> EA_W<'a> {
136785            ///Writes raw bits to the field
136786            #[inline(always)]
136787            pub unsafe fn bits(self, value: u8) -> &'a mut W {
136788                self.w.bits = (self.w.bits & !0x0f) | ((value as u16) & 0x0f);
136789                self.w
136790            }
136791        }
136792        ///Reader of field `STAT_TX`
136793        pub type STAT_TX_R = crate::R<u8, u8>;
136794        ///Write proxy for field `STAT_TX`
136795        pub struct STAT_TX_W<'a> {
136796            w: &'a mut W,
136797        }
136798        impl<'a> STAT_TX_W<'a> {
136799            ///Writes raw bits to the field
136800            #[inline(always)]
136801            pub unsafe fn bits(self, value: u8) -> &'a mut W {
136802                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u16) & 0x03) << 4);
136803                self.w
136804            }
136805        }
136806        ///Reader of field `DTOG_TX`
136807        pub type DTOG_TX_R = crate::R<bool, bool>;
136808        ///Write proxy for field `DTOG_TX`
136809        pub struct DTOG_TX_W<'a> {
136810            w: &'a mut W,
136811        }
136812        impl<'a> DTOG_TX_W<'a> {
136813            ///Sets the field bit
136814            #[inline(always)]
136815            pub fn set_bit(self) -> &'a mut W {
136816                self.bit(true)
136817            }
136818            ///Clears the field bit
136819            #[inline(always)]
136820            pub fn clear_bit(self) -> &'a mut W {
136821                self.bit(false)
136822            }
136823            ///Writes raw bits to the field
136824            #[inline(always)]
136825            pub fn bit(self, value: bool) -> &'a mut W {
136826                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u16) & 0x01) << 6);
136827                self.w
136828            }
136829        }
136830        ///Reader of field `CTR_TX`
136831        pub type CTR_TX_R = crate::R<bool, bool>;
136832        ///Write proxy for field `CTR_TX`
136833        pub struct CTR_TX_W<'a> {
136834            w: &'a mut W,
136835        }
136836        impl<'a> CTR_TX_W<'a> {
136837            ///Sets the field bit
136838            #[inline(always)]
136839            pub fn set_bit(self) -> &'a mut W {
136840                self.bit(true)
136841            }
136842            ///Clears the field bit
136843            #[inline(always)]
136844            pub fn clear_bit(self) -> &'a mut W {
136845                self.bit(false)
136846            }
136847            ///Writes raw bits to the field
136848            #[inline(always)]
136849            pub fn bit(self, value: bool) -> &'a mut W {
136850                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u16) & 0x01) << 7);
136851                self.w
136852            }
136853        }
136854        ///Reader of field `EP_KIND`
136855        pub type EP_KIND_R = crate::R<bool, bool>;
136856        ///Write proxy for field `EP_KIND`
136857        pub struct EP_KIND_W<'a> {
136858            w: &'a mut W,
136859        }
136860        impl<'a> EP_KIND_W<'a> {
136861            ///Sets the field bit
136862            #[inline(always)]
136863            pub fn set_bit(self) -> &'a mut W {
136864                self.bit(true)
136865            }
136866            ///Clears the field bit
136867            #[inline(always)]
136868            pub fn clear_bit(self) -> &'a mut W {
136869                self.bit(false)
136870            }
136871            ///Writes raw bits to the field
136872            #[inline(always)]
136873            pub fn bit(self, value: bool) -> &'a mut W {
136874                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u16) & 0x01) << 8);
136875                self.w
136876            }
136877        }
136878        ///Reader of field `EP_TYPE`
136879        pub type EP_TYPE_R = crate::R<u8, u8>;
136880        ///Write proxy for field `EP_TYPE`
136881        pub struct EP_TYPE_W<'a> {
136882            w: &'a mut W,
136883        }
136884        impl<'a> EP_TYPE_W<'a> {
136885            ///Writes raw bits to the field
136886            #[inline(always)]
136887            pub unsafe fn bits(self, value: u8) -> &'a mut W {
136888                self.w.bits = (self.w.bits & !(0x03 << 9)) | (((value as u16) & 0x03) << 9);
136889                self.w
136890            }
136891        }
136892        ///Reader of field `SETUP`
136893        pub type SETUP_R = crate::R<bool, bool>;
136894        ///Write proxy for field `SETUP`
136895        pub struct SETUP_W<'a> {
136896            w: &'a mut W,
136897        }
136898        impl<'a> SETUP_W<'a> {
136899            ///Sets the field bit
136900            #[inline(always)]
136901            pub fn set_bit(self) -> &'a mut W {
136902                self.bit(true)
136903            }
136904            ///Clears the field bit
136905            #[inline(always)]
136906            pub fn clear_bit(self) -> &'a mut W {
136907                self.bit(false)
136908            }
136909            ///Writes raw bits to the field
136910            #[inline(always)]
136911            pub fn bit(self, value: bool) -> &'a mut W {
136912                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u16) & 0x01) << 11);
136913                self.w
136914            }
136915        }
136916        ///Reader of field `STAT_RX`
136917        pub type STAT_RX_R = crate::R<u8, u8>;
136918        ///Write proxy for field `STAT_RX`
136919        pub struct STAT_RX_W<'a> {
136920            w: &'a mut W,
136921        }
136922        impl<'a> STAT_RX_W<'a> {
136923            ///Writes raw bits to the field
136924            #[inline(always)]
136925            pub unsafe fn bits(self, value: u8) -> &'a mut W {
136926                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u16) & 0x03) << 12);
136927                self.w
136928            }
136929        }
136930        ///Reader of field `DTOG_RX`
136931        pub type DTOG_RX_R = crate::R<bool, bool>;
136932        ///Write proxy for field `DTOG_RX`
136933        pub struct DTOG_RX_W<'a> {
136934            w: &'a mut W,
136935        }
136936        impl<'a> DTOG_RX_W<'a> {
136937            ///Sets the field bit
136938            #[inline(always)]
136939            pub fn set_bit(self) -> &'a mut W {
136940                self.bit(true)
136941            }
136942            ///Clears the field bit
136943            #[inline(always)]
136944            pub fn clear_bit(self) -> &'a mut W {
136945                self.bit(false)
136946            }
136947            ///Writes raw bits to the field
136948            #[inline(always)]
136949            pub fn bit(self, value: bool) -> &'a mut W {
136950                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u16) & 0x01) << 14);
136951                self.w
136952            }
136953        }
136954        ///Reader of field `CTR_RX`
136955        pub type CTR_RX_R = crate::R<bool, bool>;
136956        ///Write proxy for field `CTR_RX`
136957        pub struct CTR_RX_W<'a> {
136958            w: &'a mut W,
136959        }
136960        impl<'a> CTR_RX_W<'a> {
136961            ///Sets the field bit
136962            #[inline(always)]
136963            pub fn set_bit(self) -> &'a mut W {
136964                self.bit(true)
136965            }
136966            ///Clears the field bit
136967            #[inline(always)]
136968            pub fn clear_bit(self) -> &'a mut W {
136969                self.bit(false)
136970            }
136971            ///Writes raw bits to the field
136972            #[inline(always)]
136973            pub fn bit(self, value: bool) -> &'a mut W {
136974                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
136975                self.w
136976            }
136977        }
136978        impl R {
136979            ///Bits 0:3 - Endpoint address
136980            #[inline(always)]
136981            pub fn ea(&self) -> EA_R {
136982                EA_R::new((self.bits & 0x0f) as u8)
136983            }
136984            ///Bits 4:5 - Status bits, for transmission transfers
136985            #[inline(always)]
136986            pub fn stat_tx(&self) -> STAT_TX_R {
136987                STAT_TX_R::new(((self.bits >> 4) & 0x03) as u8)
136988            }
136989            ///Bit 6 - Data Toggle, for transmission transfers
136990            #[inline(always)]
136991            pub fn dtog_tx(&self) -> DTOG_TX_R {
136992                DTOG_TX_R::new(((self.bits >> 6) & 0x01) != 0)
136993            }
136994            ///Bit 7 - Correct Transfer for transmission
136995            #[inline(always)]
136996            pub fn ctr_tx(&self) -> CTR_TX_R {
136997                CTR_TX_R::new(((self.bits >> 7) & 0x01) != 0)
136998            }
136999            ///Bit 8 - Endpoint kind
137000            #[inline(always)]
137001            pub fn ep_kind(&self) -> EP_KIND_R {
137002                EP_KIND_R::new(((self.bits >> 8) & 0x01) != 0)
137003            }
137004            ///Bits 9:10 - Endpoint type
137005            #[inline(always)]
137006            pub fn ep_type(&self) -> EP_TYPE_R {
137007                EP_TYPE_R::new(((self.bits >> 9) & 0x03) as u8)
137008            }
137009            ///Bit 11 - Setup transaction completed
137010            #[inline(always)]
137011            pub fn setup(&self) -> SETUP_R {
137012                SETUP_R::new(((self.bits >> 11) & 0x01) != 0)
137013            }
137014            ///Bits 12:13 - Status bits, for reception transfers
137015            #[inline(always)]
137016            pub fn stat_rx(&self) -> STAT_RX_R {
137017                STAT_RX_R::new(((self.bits >> 12) & 0x03) as u8)
137018            }
137019            ///Bit 14 - Data Toggle, for reception transfers
137020            #[inline(always)]
137021            pub fn dtog_rx(&self) -> DTOG_RX_R {
137022                DTOG_RX_R::new(((self.bits >> 14) & 0x01) != 0)
137023            }
137024            ///Bit 15 - Correct transfer for reception
137025            #[inline(always)]
137026            pub fn ctr_rx(&self) -> CTR_RX_R {
137027                CTR_RX_R::new(((self.bits >> 15) & 0x01) != 0)
137028            }
137029        }
137030        impl W {
137031            ///Bits 0:3 - Endpoint address
137032            #[inline(always)]
137033            pub fn ea(&mut self) -> EA_W {
137034                EA_W { w: self }
137035            }
137036            ///Bits 4:5 - Status bits, for transmission transfers
137037            #[inline(always)]
137038            pub fn stat_tx(&mut self) -> STAT_TX_W {
137039                STAT_TX_W { w: self }
137040            }
137041            ///Bit 6 - Data Toggle, for transmission transfers
137042            #[inline(always)]
137043            pub fn dtog_tx(&mut self) -> DTOG_TX_W {
137044                DTOG_TX_W { w: self }
137045            }
137046            ///Bit 7 - Correct Transfer for transmission
137047            #[inline(always)]
137048            pub fn ctr_tx(&mut self) -> CTR_TX_W {
137049                CTR_TX_W { w: self }
137050            }
137051            ///Bit 8 - Endpoint kind
137052            #[inline(always)]
137053            pub fn ep_kind(&mut self) -> EP_KIND_W {
137054                EP_KIND_W { w: self }
137055            }
137056            ///Bits 9:10 - Endpoint type
137057            #[inline(always)]
137058            pub fn ep_type(&mut self) -> EP_TYPE_W {
137059                EP_TYPE_W { w: self }
137060            }
137061            ///Bit 11 - Setup transaction completed
137062            #[inline(always)]
137063            pub fn setup(&mut self) -> SETUP_W {
137064                SETUP_W { w: self }
137065            }
137066            ///Bits 12:13 - Status bits, for reception transfers
137067            #[inline(always)]
137068            pub fn stat_rx(&mut self) -> STAT_RX_W {
137069                STAT_RX_W { w: self }
137070            }
137071            ///Bit 14 - Data Toggle, for reception transfers
137072            #[inline(always)]
137073            pub fn dtog_rx(&mut self) -> DTOG_RX_W {
137074                DTOG_RX_W { w: self }
137075            }
137076            ///Bit 15 - Correct transfer for reception
137077            #[inline(always)]
137078            pub fn ctr_rx(&mut self) -> CTR_RX_W {
137079                CTR_RX_W { w: self }
137080            }
137081        }
137082    }
137083    ///endpoint 3 register
137084    ///
137085    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
137086    ///
137087    ///For information about available fields see [ep3r](ep3r) module
137088    pub type EP3R = crate::Reg<u16, _EP3R>;
137089    #[allow(missing_docs)]
137090    #[doc(hidden)]
137091    pub struct _EP3R;
137092    ///`read()` method returns [ep3r::R](ep3r::R) reader structure
137093    impl crate::Readable for EP3R {}
137094    ///`write(|w| ..)` method takes [ep3r::W](ep3r::W) writer structure
137095    impl crate::Writable for EP3R {}
137096    ///endpoint 3 register
137097    pub mod ep3r {
137098        ///Reader of register EP3R
137099        pub type R = crate::R<u16, super::EP3R>;
137100        ///Writer for register EP3R
137101        pub type W = crate::W<u16, super::EP3R>;
137102        ///Register EP3R `reset()`'s with value 0
137103        impl crate::ResetValue for super::EP3R {
137104            type Type = u16;
137105            #[inline(always)]
137106            fn reset_value() -> Self::Type {
137107                0
137108            }
137109        }
137110        ///Reader of field `EA`
137111        pub type EA_R = crate::R<u8, u8>;
137112        ///Write proxy for field `EA`
137113        pub struct EA_W<'a> {
137114            w: &'a mut W,
137115        }
137116        impl<'a> EA_W<'a> {
137117            ///Writes raw bits to the field
137118            #[inline(always)]
137119            pub unsafe fn bits(self, value: u8) -> &'a mut W {
137120                self.w.bits = (self.w.bits & !0x0f) | ((value as u16) & 0x0f);
137121                self.w
137122            }
137123        }
137124        ///Reader of field `STAT_TX`
137125        pub type STAT_TX_R = crate::R<u8, u8>;
137126        ///Write proxy for field `STAT_TX`
137127        pub struct STAT_TX_W<'a> {
137128            w: &'a mut W,
137129        }
137130        impl<'a> STAT_TX_W<'a> {
137131            ///Writes raw bits to the field
137132            #[inline(always)]
137133            pub unsafe fn bits(self, value: u8) -> &'a mut W {
137134                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u16) & 0x03) << 4);
137135                self.w
137136            }
137137        }
137138        ///Reader of field `DTOG_TX`
137139        pub type DTOG_TX_R = crate::R<bool, bool>;
137140        ///Write proxy for field `DTOG_TX`
137141        pub struct DTOG_TX_W<'a> {
137142            w: &'a mut W,
137143        }
137144        impl<'a> DTOG_TX_W<'a> {
137145            ///Sets the field bit
137146            #[inline(always)]
137147            pub fn set_bit(self) -> &'a mut W {
137148                self.bit(true)
137149            }
137150            ///Clears the field bit
137151            #[inline(always)]
137152            pub fn clear_bit(self) -> &'a mut W {
137153                self.bit(false)
137154            }
137155            ///Writes raw bits to the field
137156            #[inline(always)]
137157            pub fn bit(self, value: bool) -> &'a mut W {
137158                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u16) & 0x01) << 6);
137159                self.w
137160            }
137161        }
137162        ///Reader of field `CTR_TX`
137163        pub type CTR_TX_R = crate::R<bool, bool>;
137164        ///Write proxy for field `CTR_TX`
137165        pub struct CTR_TX_W<'a> {
137166            w: &'a mut W,
137167        }
137168        impl<'a> CTR_TX_W<'a> {
137169            ///Sets the field bit
137170            #[inline(always)]
137171            pub fn set_bit(self) -> &'a mut W {
137172                self.bit(true)
137173            }
137174            ///Clears the field bit
137175            #[inline(always)]
137176            pub fn clear_bit(self) -> &'a mut W {
137177                self.bit(false)
137178            }
137179            ///Writes raw bits to the field
137180            #[inline(always)]
137181            pub fn bit(self, value: bool) -> &'a mut W {
137182                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u16) & 0x01) << 7);
137183                self.w
137184            }
137185        }
137186        ///Reader of field `EP_KIND`
137187        pub type EP_KIND_R = crate::R<bool, bool>;
137188        ///Write proxy for field `EP_KIND`
137189        pub struct EP_KIND_W<'a> {
137190            w: &'a mut W,
137191        }
137192        impl<'a> EP_KIND_W<'a> {
137193            ///Sets the field bit
137194            #[inline(always)]
137195            pub fn set_bit(self) -> &'a mut W {
137196                self.bit(true)
137197            }
137198            ///Clears the field bit
137199            #[inline(always)]
137200            pub fn clear_bit(self) -> &'a mut W {
137201                self.bit(false)
137202            }
137203            ///Writes raw bits to the field
137204            #[inline(always)]
137205            pub fn bit(self, value: bool) -> &'a mut W {
137206                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u16) & 0x01) << 8);
137207                self.w
137208            }
137209        }
137210        ///Reader of field `EP_TYPE`
137211        pub type EP_TYPE_R = crate::R<u8, u8>;
137212        ///Write proxy for field `EP_TYPE`
137213        pub struct EP_TYPE_W<'a> {
137214            w: &'a mut W,
137215        }
137216        impl<'a> EP_TYPE_W<'a> {
137217            ///Writes raw bits to the field
137218            #[inline(always)]
137219            pub unsafe fn bits(self, value: u8) -> &'a mut W {
137220                self.w.bits = (self.w.bits & !(0x03 << 9)) | (((value as u16) & 0x03) << 9);
137221                self.w
137222            }
137223        }
137224        ///Reader of field `SETUP`
137225        pub type SETUP_R = crate::R<bool, bool>;
137226        ///Write proxy for field `SETUP`
137227        pub struct SETUP_W<'a> {
137228            w: &'a mut W,
137229        }
137230        impl<'a> SETUP_W<'a> {
137231            ///Sets the field bit
137232            #[inline(always)]
137233            pub fn set_bit(self) -> &'a mut W {
137234                self.bit(true)
137235            }
137236            ///Clears the field bit
137237            #[inline(always)]
137238            pub fn clear_bit(self) -> &'a mut W {
137239                self.bit(false)
137240            }
137241            ///Writes raw bits to the field
137242            #[inline(always)]
137243            pub fn bit(self, value: bool) -> &'a mut W {
137244                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u16) & 0x01) << 11);
137245                self.w
137246            }
137247        }
137248        ///Reader of field `STAT_RX`
137249        pub type STAT_RX_R = crate::R<u8, u8>;
137250        ///Write proxy for field `STAT_RX`
137251        pub struct STAT_RX_W<'a> {
137252            w: &'a mut W,
137253        }
137254        impl<'a> STAT_RX_W<'a> {
137255            ///Writes raw bits to the field
137256            #[inline(always)]
137257            pub unsafe fn bits(self, value: u8) -> &'a mut W {
137258                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u16) & 0x03) << 12);
137259                self.w
137260            }
137261        }
137262        ///Reader of field `DTOG_RX`
137263        pub type DTOG_RX_R = crate::R<bool, bool>;
137264        ///Write proxy for field `DTOG_RX`
137265        pub struct DTOG_RX_W<'a> {
137266            w: &'a mut W,
137267        }
137268        impl<'a> DTOG_RX_W<'a> {
137269            ///Sets the field bit
137270            #[inline(always)]
137271            pub fn set_bit(self) -> &'a mut W {
137272                self.bit(true)
137273            }
137274            ///Clears the field bit
137275            #[inline(always)]
137276            pub fn clear_bit(self) -> &'a mut W {
137277                self.bit(false)
137278            }
137279            ///Writes raw bits to the field
137280            #[inline(always)]
137281            pub fn bit(self, value: bool) -> &'a mut W {
137282                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u16) & 0x01) << 14);
137283                self.w
137284            }
137285        }
137286        ///Reader of field `CTR_RX`
137287        pub type CTR_RX_R = crate::R<bool, bool>;
137288        ///Write proxy for field `CTR_RX`
137289        pub struct CTR_RX_W<'a> {
137290            w: &'a mut W,
137291        }
137292        impl<'a> CTR_RX_W<'a> {
137293            ///Sets the field bit
137294            #[inline(always)]
137295            pub fn set_bit(self) -> &'a mut W {
137296                self.bit(true)
137297            }
137298            ///Clears the field bit
137299            #[inline(always)]
137300            pub fn clear_bit(self) -> &'a mut W {
137301                self.bit(false)
137302            }
137303            ///Writes raw bits to the field
137304            #[inline(always)]
137305            pub fn bit(self, value: bool) -> &'a mut W {
137306                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
137307                self.w
137308            }
137309        }
137310        impl R {
137311            ///Bits 0:3 - Endpoint address
137312            #[inline(always)]
137313            pub fn ea(&self) -> EA_R {
137314                EA_R::new((self.bits & 0x0f) as u8)
137315            }
137316            ///Bits 4:5 - Status bits, for transmission transfers
137317            #[inline(always)]
137318            pub fn stat_tx(&self) -> STAT_TX_R {
137319                STAT_TX_R::new(((self.bits >> 4) & 0x03) as u8)
137320            }
137321            ///Bit 6 - Data Toggle, for transmission transfers
137322            #[inline(always)]
137323            pub fn dtog_tx(&self) -> DTOG_TX_R {
137324                DTOG_TX_R::new(((self.bits >> 6) & 0x01) != 0)
137325            }
137326            ///Bit 7 - Correct Transfer for transmission
137327            #[inline(always)]
137328            pub fn ctr_tx(&self) -> CTR_TX_R {
137329                CTR_TX_R::new(((self.bits >> 7) & 0x01) != 0)
137330            }
137331            ///Bit 8 - Endpoint kind
137332            #[inline(always)]
137333            pub fn ep_kind(&self) -> EP_KIND_R {
137334                EP_KIND_R::new(((self.bits >> 8) & 0x01) != 0)
137335            }
137336            ///Bits 9:10 - Endpoint type
137337            #[inline(always)]
137338            pub fn ep_type(&self) -> EP_TYPE_R {
137339                EP_TYPE_R::new(((self.bits >> 9) & 0x03) as u8)
137340            }
137341            ///Bit 11 - Setup transaction completed
137342            #[inline(always)]
137343            pub fn setup(&self) -> SETUP_R {
137344                SETUP_R::new(((self.bits >> 11) & 0x01) != 0)
137345            }
137346            ///Bits 12:13 - Status bits, for reception transfers
137347            #[inline(always)]
137348            pub fn stat_rx(&self) -> STAT_RX_R {
137349                STAT_RX_R::new(((self.bits >> 12) & 0x03) as u8)
137350            }
137351            ///Bit 14 - Data Toggle, for reception transfers
137352            #[inline(always)]
137353            pub fn dtog_rx(&self) -> DTOG_RX_R {
137354                DTOG_RX_R::new(((self.bits >> 14) & 0x01) != 0)
137355            }
137356            ///Bit 15 - Correct transfer for reception
137357            #[inline(always)]
137358            pub fn ctr_rx(&self) -> CTR_RX_R {
137359                CTR_RX_R::new(((self.bits >> 15) & 0x01) != 0)
137360            }
137361        }
137362        impl W {
137363            ///Bits 0:3 - Endpoint address
137364            #[inline(always)]
137365            pub fn ea(&mut self) -> EA_W {
137366                EA_W { w: self }
137367            }
137368            ///Bits 4:5 - Status bits, for transmission transfers
137369            #[inline(always)]
137370            pub fn stat_tx(&mut self) -> STAT_TX_W {
137371                STAT_TX_W { w: self }
137372            }
137373            ///Bit 6 - Data Toggle, for transmission transfers
137374            #[inline(always)]
137375            pub fn dtog_tx(&mut self) -> DTOG_TX_W {
137376                DTOG_TX_W { w: self }
137377            }
137378            ///Bit 7 - Correct Transfer for transmission
137379            #[inline(always)]
137380            pub fn ctr_tx(&mut self) -> CTR_TX_W {
137381                CTR_TX_W { w: self }
137382            }
137383            ///Bit 8 - Endpoint kind
137384            #[inline(always)]
137385            pub fn ep_kind(&mut self) -> EP_KIND_W {
137386                EP_KIND_W { w: self }
137387            }
137388            ///Bits 9:10 - Endpoint type
137389            #[inline(always)]
137390            pub fn ep_type(&mut self) -> EP_TYPE_W {
137391                EP_TYPE_W { w: self }
137392            }
137393            ///Bit 11 - Setup transaction completed
137394            #[inline(always)]
137395            pub fn setup(&mut self) -> SETUP_W {
137396                SETUP_W { w: self }
137397            }
137398            ///Bits 12:13 - Status bits, for reception transfers
137399            #[inline(always)]
137400            pub fn stat_rx(&mut self) -> STAT_RX_W {
137401                STAT_RX_W { w: self }
137402            }
137403            ///Bit 14 - Data Toggle, for reception transfers
137404            #[inline(always)]
137405            pub fn dtog_rx(&mut self) -> DTOG_RX_W {
137406                DTOG_RX_W { w: self }
137407            }
137408            ///Bit 15 - Correct transfer for reception
137409            #[inline(always)]
137410            pub fn ctr_rx(&mut self) -> CTR_RX_W {
137411                CTR_RX_W { w: self }
137412            }
137413        }
137414    }
137415    ///endpoint 4 register
137416    ///
137417    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
137418    ///
137419    ///For information about available fields see [ep4r](ep4r) module
137420    pub type EP4R = crate::Reg<u16, _EP4R>;
137421    #[allow(missing_docs)]
137422    #[doc(hidden)]
137423    pub struct _EP4R;
137424    ///`read()` method returns [ep4r::R](ep4r::R) reader structure
137425    impl crate::Readable for EP4R {}
137426    ///`write(|w| ..)` method takes [ep4r::W](ep4r::W) writer structure
137427    impl crate::Writable for EP4R {}
137428    ///endpoint 4 register
137429    pub mod ep4r {
137430        ///Reader of register EP4R
137431        pub type R = crate::R<u16, super::EP4R>;
137432        ///Writer for register EP4R
137433        pub type W = crate::W<u16, super::EP4R>;
137434        ///Register EP4R `reset()`'s with value 0
137435        impl crate::ResetValue for super::EP4R {
137436            type Type = u16;
137437            #[inline(always)]
137438            fn reset_value() -> Self::Type {
137439                0
137440            }
137441        }
137442        ///Reader of field `EA`
137443        pub type EA_R = crate::R<u8, u8>;
137444        ///Write proxy for field `EA`
137445        pub struct EA_W<'a> {
137446            w: &'a mut W,
137447        }
137448        impl<'a> EA_W<'a> {
137449            ///Writes raw bits to the field
137450            #[inline(always)]
137451            pub unsafe fn bits(self, value: u8) -> &'a mut W {
137452                self.w.bits = (self.w.bits & !0x0f) | ((value as u16) & 0x0f);
137453                self.w
137454            }
137455        }
137456        ///Reader of field `STAT_TX`
137457        pub type STAT_TX_R = crate::R<u8, u8>;
137458        ///Write proxy for field `STAT_TX`
137459        pub struct STAT_TX_W<'a> {
137460            w: &'a mut W,
137461        }
137462        impl<'a> STAT_TX_W<'a> {
137463            ///Writes raw bits to the field
137464            #[inline(always)]
137465            pub unsafe fn bits(self, value: u8) -> &'a mut W {
137466                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u16) & 0x03) << 4);
137467                self.w
137468            }
137469        }
137470        ///Reader of field `DTOG_TX`
137471        pub type DTOG_TX_R = crate::R<bool, bool>;
137472        ///Write proxy for field `DTOG_TX`
137473        pub struct DTOG_TX_W<'a> {
137474            w: &'a mut W,
137475        }
137476        impl<'a> DTOG_TX_W<'a> {
137477            ///Sets the field bit
137478            #[inline(always)]
137479            pub fn set_bit(self) -> &'a mut W {
137480                self.bit(true)
137481            }
137482            ///Clears the field bit
137483            #[inline(always)]
137484            pub fn clear_bit(self) -> &'a mut W {
137485                self.bit(false)
137486            }
137487            ///Writes raw bits to the field
137488            #[inline(always)]
137489            pub fn bit(self, value: bool) -> &'a mut W {
137490                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u16) & 0x01) << 6);
137491                self.w
137492            }
137493        }
137494        ///Reader of field `CTR_TX`
137495        pub type CTR_TX_R = crate::R<bool, bool>;
137496        ///Write proxy for field `CTR_TX`
137497        pub struct CTR_TX_W<'a> {
137498            w: &'a mut W,
137499        }
137500        impl<'a> CTR_TX_W<'a> {
137501            ///Sets the field bit
137502            #[inline(always)]
137503            pub fn set_bit(self) -> &'a mut W {
137504                self.bit(true)
137505            }
137506            ///Clears the field bit
137507            #[inline(always)]
137508            pub fn clear_bit(self) -> &'a mut W {
137509                self.bit(false)
137510            }
137511            ///Writes raw bits to the field
137512            #[inline(always)]
137513            pub fn bit(self, value: bool) -> &'a mut W {
137514                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u16) & 0x01) << 7);
137515                self.w
137516            }
137517        }
137518        ///Reader of field `EP_KIND`
137519        pub type EP_KIND_R = crate::R<bool, bool>;
137520        ///Write proxy for field `EP_KIND`
137521        pub struct EP_KIND_W<'a> {
137522            w: &'a mut W,
137523        }
137524        impl<'a> EP_KIND_W<'a> {
137525            ///Sets the field bit
137526            #[inline(always)]
137527            pub fn set_bit(self) -> &'a mut W {
137528                self.bit(true)
137529            }
137530            ///Clears the field bit
137531            #[inline(always)]
137532            pub fn clear_bit(self) -> &'a mut W {
137533                self.bit(false)
137534            }
137535            ///Writes raw bits to the field
137536            #[inline(always)]
137537            pub fn bit(self, value: bool) -> &'a mut W {
137538                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u16) & 0x01) << 8);
137539                self.w
137540            }
137541        }
137542        ///Reader of field `EP_TYPE`
137543        pub type EP_TYPE_R = crate::R<u8, u8>;
137544        ///Write proxy for field `EP_TYPE`
137545        pub struct EP_TYPE_W<'a> {
137546            w: &'a mut W,
137547        }
137548        impl<'a> EP_TYPE_W<'a> {
137549            ///Writes raw bits to the field
137550            #[inline(always)]
137551            pub unsafe fn bits(self, value: u8) -> &'a mut W {
137552                self.w.bits = (self.w.bits & !(0x03 << 9)) | (((value as u16) & 0x03) << 9);
137553                self.w
137554            }
137555        }
137556        ///Reader of field `SETUP`
137557        pub type SETUP_R = crate::R<bool, bool>;
137558        ///Write proxy for field `SETUP`
137559        pub struct SETUP_W<'a> {
137560            w: &'a mut W,
137561        }
137562        impl<'a> SETUP_W<'a> {
137563            ///Sets the field bit
137564            #[inline(always)]
137565            pub fn set_bit(self) -> &'a mut W {
137566                self.bit(true)
137567            }
137568            ///Clears the field bit
137569            #[inline(always)]
137570            pub fn clear_bit(self) -> &'a mut W {
137571                self.bit(false)
137572            }
137573            ///Writes raw bits to the field
137574            #[inline(always)]
137575            pub fn bit(self, value: bool) -> &'a mut W {
137576                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u16) & 0x01) << 11);
137577                self.w
137578            }
137579        }
137580        ///Reader of field `STAT_RX`
137581        pub type STAT_RX_R = crate::R<u8, u8>;
137582        ///Write proxy for field `STAT_RX`
137583        pub struct STAT_RX_W<'a> {
137584            w: &'a mut W,
137585        }
137586        impl<'a> STAT_RX_W<'a> {
137587            ///Writes raw bits to the field
137588            #[inline(always)]
137589            pub unsafe fn bits(self, value: u8) -> &'a mut W {
137590                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u16) & 0x03) << 12);
137591                self.w
137592            }
137593        }
137594        ///Reader of field `DTOG_RX`
137595        pub type DTOG_RX_R = crate::R<bool, bool>;
137596        ///Write proxy for field `DTOG_RX`
137597        pub struct DTOG_RX_W<'a> {
137598            w: &'a mut W,
137599        }
137600        impl<'a> DTOG_RX_W<'a> {
137601            ///Sets the field bit
137602            #[inline(always)]
137603            pub fn set_bit(self) -> &'a mut W {
137604                self.bit(true)
137605            }
137606            ///Clears the field bit
137607            #[inline(always)]
137608            pub fn clear_bit(self) -> &'a mut W {
137609                self.bit(false)
137610            }
137611            ///Writes raw bits to the field
137612            #[inline(always)]
137613            pub fn bit(self, value: bool) -> &'a mut W {
137614                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u16) & 0x01) << 14);
137615                self.w
137616            }
137617        }
137618        ///Reader of field `CTR_RX`
137619        pub type CTR_RX_R = crate::R<bool, bool>;
137620        ///Write proxy for field `CTR_RX`
137621        pub struct CTR_RX_W<'a> {
137622            w: &'a mut W,
137623        }
137624        impl<'a> CTR_RX_W<'a> {
137625            ///Sets the field bit
137626            #[inline(always)]
137627            pub fn set_bit(self) -> &'a mut W {
137628                self.bit(true)
137629            }
137630            ///Clears the field bit
137631            #[inline(always)]
137632            pub fn clear_bit(self) -> &'a mut W {
137633                self.bit(false)
137634            }
137635            ///Writes raw bits to the field
137636            #[inline(always)]
137637            pub fn bit(self, value: bool) -> &'a mut W {
137638                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
137639                self.w
137640            }
137641        }
137642        impl R {
137643            ///Bits 0:3 - Endpoint address
137644            #[inline(always)]
137645            pub fn ea(&self) -> EA_R {
137646                EA_R::new((self.bits & 0x0f) as u8)
137647            }
137648            ///Bits 4:5 - Status bits, for transmission transfers
137649            #[inline(always)]
137650            pub fn stat_tx(&self) -> STAT_TX_R {
137651                STAT_TX_R::new(((self.bits >> 4) & 0x03) as u8)
137652            }
137653            ///Bit 6 - Data Toggle, for transmission transfers
137654            #[inline(always)]
137655            pub fn dtog_tx(&self) -> DTOG_TX_R {
137656                DTOG_TX_R::new(((self.bits >> 6) & 0x01) != 0)
137657            }
137658            ///Bit 7 - Correct Transfer for transmission
137659            #[inline(always)]
137660            pub fn ctr_tx(&self) -> CTR_TX_R {
137661                CTR_TX_R::new(((self.bits >> 7) & 0x01) != 0)
137662            }
137663            ///Bit 8 - Endpoint kind
137664            #[inline(always)]
137665            pub fn ep_kind(&self) -> EP_KIND_R {
137666                EP_KIND_R::new(((self.bits >> 8) & 0x01) != 0)
137667            }
137668            ///Bits 9:10 - Endpoint type
137669            #[inline(always)]
137670            pub fn ep_type(&self) -> EP_TYPE_R {
137671                EP_TYPE_R::new(((self.bits >> 9) & 0x03) as u8)
137672            }
137673            ///Bit 11 - Setup transaction completed
137674            #[inline(always)]
137675            pub fn setup(&self) -> SETUP_R {
137676                SETUP_R::new(((self.bits >> 11) & 0x01) != 0)
137677            }
137678            ///Bits 12:13 - Status bits, for reception transfers
137679            #[inline(always)]
137680            pub fn stat_rx(&self) -> STAT_RX_R {
137681                STAT_RX_R::new(((self.bits >> 12) & 0x03) as u8)
137682            }
137683            ///Bit 14 - Data Toggle, for reception transfers
137684            #[inline(always)]
137685            pub fn dtog_rx(&self) -> DTOG_RX_R {
137686                DTOG_RX_R::new(((self.bits >> 14) & 0x01) != 0)
137687            }
137688            ///Bit 15 - Correct transfer for reception
137689            #[inline(always)]
137690            pub fn ctr_rx(&self) -> CTR_RX_R {
137691                CTR_RX_R::new(((self.bits >> 15) & 0x01) != 0)
137692            }
137693        }
137694        impl W {
137695            ///Bits 0:3 - Endpoint address
137696            #[inline(always)]
137697            pub fn ea(&mut self) -> EA_W {
137698                EA_W { w: self }
137699            }
137700            ///Bits 4:5 - Status bits, for transmission transfers
137701            #[inline(always)]
137702            pub fn stat_tx(&mut self) -> STAT_TX_W {
137703                STAT_TX_W { w: self }
137704            }
137705            ///Bit 6 - Data Toggle, for transmission transfers
137706            #[inline(always)]
137707            pub fn dtog_tx(&mut self) -> DTOG_TX_W {
137708                DTOG_TX_W { w: self }
137709            }
137710            ///Bit 7 - Correct Transfer for transmission
137711            #[inline(always)]
137712            pub fn ctr_tx(&mut self) -> CTR_TX_W {
137713                CTR_TX_W { w: self }
137714            }
137715            ///Bit 8 - Endpoint kind
137716            #[inline(always)]
137717            pub fn ep_kind(&mut self) -> EP_KIND_W {
137718                EP_KIND_W { w: self }
137719            }
137720            ///Bits 9:10 - Endpoint type
137721            #[inline(always)]
137722            pub fn ep_type(&mut self) -> EP_TYPE_W {
137723                EP_TYPE_W { w: self }
137724            }
137725            ///Bit 11 - Setup transaction completed
137726            #[inline(always)]
137727            pub fn setup(&mut self) -> SETUP_W {
137728                SETUP_W { w: self }
137729            }
137730            ///Bits 12:13 - Status bits, for reception transfers
137731            #[inline(always)]
137732            pub fn stat_rx(&mut self) -> STAT_RX_W {
137733                STAT_RX_W { w: self }
137734            }
137735            ///Bit 14 - Data Toggle, for reception transfers
137736            #[inline(always)]
137737            pub fn dtog_rx(&mut self) -> DTOG_RX_W {
137738                DTOG_RX_W { w: self }
137739            }
137740            ///Bit 15 - Correct transfer for reception
137741            #[inline(always)]
137742            pub fn ctr_rx(&mut self) -> CTR_RX_W {
137743                CTR_RX_W { w: self }
137744            }
137745        }
137746    }
137747    ///endpoint 5 register
137748    ///
137749    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
137750    ///
137751    ///For information about available fields see [ep5r](ep5r) module
137752    pub type EP5R = crate::Reg<u16, _EP5R>;
137753    #[allow(missing_docs)]
137754    #[doc(hidden)]
137755    pub struct _EP5R;
137756    ///`read()` method returns [ep5r::R](ep5r::R) reader structure
137757    impl crate::Readable for EP5R {}
137758    ///`write(|w| ..)` method takes [ep5r::W](ep5r::W) writer structure
137759    impl crate::Writable for EP5R {}
137760    ///endpoint 5 register
137761    pub mod ep5r {
137762        ///Reader of register EP5R
137763        pub type R = crate::R<u16, super::EP5R>;
137764        ///Writer for register EP5R
137765        pub type W = crate::W<u16, super::EP5R>;
137766        ///Register EP5R `reset()`'s with value 0
137767        impl crate::ResetValue for super::EP5R {
137768            type Type = u16;
137769            #[inline(always)]
137770            fn reset_value() -> Self::Type {
137771                0
137772            }
137773        }
137774        ///Reader of field `EA`
137775        pub type EA_R = crate::R<u8, u8>;
137776        ///Write proxy for field `EA`
137777        pub struct EA_W<'a> {
137778            w: &'a mut W,
137779        }
137780        impl<'a> EA_W<'a> {
137781            ///Writes raw bits to the field
137782            #[inline(always)]
137783            pub unsafe fn bits(self, value: u8) -> &'a mut W {
137784                self.w.bits = (self.w.bits & !0x0f) | ((value as u16) & 0x0f);
137785                self.w
137786            }
137787        }
137788        ///Reader of field `STAT_TX`
137789        pub type STAT_TX_R = crate::R<u8, u8>;
137790        ///Write proxy for field `STAT_TX`
137791        pub struct STAT_TX_W<'a> {
137792            w: &'a mut W,
137793        }
137794        impl<'a> STAT_TX_W<'a> {
137795            ///Writes raw bits to the field
137796            #[inline(always)]
137797            pub unsafe fn bits(self, value: u8) -> &'a mut W {
137798                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u16) & 0x03) << 4);
137799                self.w
137800            }
137801        }
137802        ///Reader of field `DTOG_TX`
137803        pub type DTOG_TX_R = crate::R<bool, bool>;
137804        ///Write proxy for field `DTOG_TX`
137805        pub struct DTOG_TX_W<'a> {
137806            w: &'a mut W,
137807        }
137808        impl<'a> DTOG_TX_W<'a> {
137809            ///Sets the field bit
137810            #[inline(always)]
137811            pub fn set_bit(self) -> &'a mut W {
137812                self.bit(true)
137813            }
137814            ///Clears the field bit
137815            #[inline(always)]
137816            pub fn clear_bit(self) -> &'a mut W {
137817                self.bit(false)
137818            }
137819            ///Writes raw bits to the field
137820            #[inline(always)]
137821            pub fn bit(self, value: bool) -> &'a mut W {
137822                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u16) & 0x01) << 6);
137823                self.w
137824            }
137825        }
137826        ///Reader of field `CTR_TX`
137827        pub type CTR_TX_R = crate::R<bool, bool>;
137828        ///Write proxy for field `CTR_TX`
137829        pub struct CTR_TX_W<'a> {
137830            w: &'a mut W,
137831        }
137832        impl<'a> CTR_TX_W<'a> {
137833            ///Sets the field bit
137834            #[inline(always)]
137835            pub fn set_bit(self) -> &'a mut W {
137836                self.bit(true)
137837            }
137838            ///Clears the field bit
137839            #[inline(always)]
137840            pub fn clear_bit(self) -> &'a mut W {
137841                self.bit(false)
137842            }
137843            ///Writes raw bits to the field
137844            #[inline(always)]
137845            pub fn bit(self, value: bool) -> &'a mut W {
137846                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u16) & 0x01) << 7);
137847                self.w
137848            }
137849        }
137850        ///Reader of field `EP_KIND`
137851        pub type EP_KIND_R = crate::R<bool, bool>;
137852        ///Write proxy for field `EP_KIND`
137853        pub struct EP_KIND_W<'a> {
137854            w: &'a mut W,
137855        }
137856        impl<'a> EP_KIND_W<'a> {
137857            ///Sets the field bit
137858            #[inline(always)]
137859            pub fn set_bit(self) -> &'a mut W {
137860                self.bit(true)
137861            }
137862            ///Clears the field bit
137863            #[inline(always)]
137864            pub fn clear_bit(self) -> &'a mut W {
137865                self.bit(false)
137866            }
137867            ///Writes raw bits to the field
137868            #[inline(always)]
137869            pub fn bit(self, value: bool) -> &'a mut W {
137870                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u16) & 0x01) << 8);
137871                self.w
137872            }
137873        }
137874        ///Reader of field `EP_TYPE`
137875        pub type EP_TYPE_R = crate::R<u8, u8>;
137876        ///Write proxy for field `EP_TYPE`
137877        pub struct EP_TYPE_W<'a> {
137878            w: &'a mut W,
137879        }
137880        impl<'a> EP_TYPE_W<'a> {
137881            ///Writes raw bits to the field
137882            #[inline(always)]
137883            pub unsafe fn bits(self, value: u8) -> &'a mut W {
137884                self.w.bits = (self.w.bits & !(0x03 << 9)) | (((value as u16) & 0x03) << 9);
137885                self.w
137886            }
137887        }
137888        ///Reader of field `SETUP`
137889        pub type SETUP_R = crate::R<bool, bool>;
137890        ///Write proxy for field `SETUP`
137891        pub struct SETUP_W<'a> {
137892            w: &'a mut W,
137893        }
137894        impl<'a> SETUP_W<'a> {
137895            ///Sets the field bit
137896            #[inline(always)]
137897            pub fn set_bit(self) -> &'a mut W {
137898                self.bit(true)
137899            }
137900            ///Clears the field bit
137901            #[inline(always)]
137902            pub fn clear_bit(self) -> &'a mut W {
137903                self.bit(false)
137904            }
137905            ///Writes raw bits to the field
137906            #[inline(always)]
137907            pub fn bit(self, value: bool) -> &'a mut W {
137908                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u16) & 0x01) << 11);
137909                self.w
137910            }
137911        }
137912        ///Reader of field `STAT_RX`
137913        pub type STAT_RX_R = crate::R<u8, u8>;
137914        ///Write proxy for field `STAT_RX`
137915        pub struct STAT_RX_W<'a> {
137916            w: &'a mut W,
137917        }
137918        impl<'a> STAT_RX_W<'a> {
137919            ///Writes raw bits to the field
137920            #[inline(always)]
137921            pub unsafe fn bits(self, value: u8) -> &'a mut W {
137922                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u16) & 0x03) << 12);
137923                self.w
137924            }
137925        }
137926        ///Reader of field `DTOG_RX`
137927        pub type DTOG_RX_R = crate::R<bool, bool>;
137928        ///Write proxy for field `DTOG_RX`
137929        pub struct DTOG_RX_W<'a> {
137930            w: &'a mut W,
137931        }
137932        impl<'a> DTOG_RX_W<'a> {
137933            ///Sets the field bit
137934            #[inline(always)]
137935            pub fn set_bit(self) -> &'a mut W {
137936                self.bit(true)
137937            }
137938            ///Clears the field bit
137939            #[inline(always)]
137940            pub fn clear_bit(self) -> &'a mut W {
137941                self.bit(false)
137942            }
137943            ///Writes raw bits to the field
137944            #[inline(always)]
137945            pub fn bit(self, value: bool) -> &'a mut W {
137946                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u16) & 0x01) << 14);
137947                self.w
137948            }
137949        }
137950        ///Reader of field `CTR_RX`
137951        pub type CTR_RX_R = crate::R<bool, bool>;
137952        ///Write proxy for field `CTR_RX`
137953        pub struct CTR_RX_W<'a> {
137954            w: &'a mut W,
137955        }
137956        impl<'a> CTR_RX_W<'a> {
137957            ///Sets the field bit
137958            #[inline(always)]
137959            pub fn set_bit(self) -> &'a mut W {
137960                self.bit(true)
137961            }
137962            ///Clears the field bit
137963            #[inline(always)]
137964            pub fn clear_bit(self) -> &'a mut W {
137965                self.bit(false)
137966            }
137967            ///Writes raw bits to the field
137968            #[inline(always)]
137969            pub fn bit(self, value: bool) -> &'a mut W {
137970                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
137971                self.w
137972            }
137973        }
137974        impl R {
137975            ///Bits 0:3 - Endpoint address
137976            #[inline(always)]
137977            pub fn ea(&self) -> EA_R {
137978                EA_R::new((self.bits & 0x0f) as u8)
137979            }
137980            ///Bits 4:5 - Status bits, for transmission transfers
137981            #[inline(always)]
137982            pub fn stat_tx(&self) -> STAT_TX_R {
137983                STAT_TX_R::new(((self.bits >> 4) & 0x03) as u8)
137984            }
137985            ///Bit 6 - Data Toggle, for transmission transfers
137986            #[inline(always)]
137987            pub fn dtog_tx(&self) -> DTOG_TX_R {
137988                DTOG_TX_R::new(((self.bits >> 6) & 0x01) != 0)
137989            }
137990            ///Bit 7 - Correct Transfer for transmission
137991            #[inline(always)]
137992            pub fn ctr_tx(&self) -> CTR_TX_R {
137993                CTR_TX_R::new(((self.bits >> 7) & 0x01) != 0)
137994            }
137995            ///Bit 8 - Endpoint kind
137996            #[inline(always)]
137997            pub fn ep_kind(&self) -> EP_KIND_R {
137998                EP_KIND_R::new(((self.bits >> 8) & 0x01) != 0)
137999            }
138000            ///Bits 9:10 - Endpoint type
138001            #[inline(always)]
138002            pub fn ep_type(&self) -> EP_TYPE_R {
138003                EP_TYPE_R::new(((self.bits >> 9) & 0x03) as u8)
138004            }
138005            ///Bit 11 - Setup transaction completed
138006            #[inline(always)]
138007            pub fn setup(&self) -> SETUP_R {
138008                SETUP_R::new(((self.bits >> 11) & 0x01) != 0)
138009            }
138010            ///Bits 12:13 - Status bits, for reception transfers
138011            #[inline(always)]
138012            pub fn stat_rx(&self) -> STAT_RX_R {
138013                STAT_RX_R::new(((self.bits >> 12) & 0x03) as u8)
138014            }
138015            ///Bit 14 - Data Toggle, for reception transfers
138016            #[inline(always)]
138017            pub fn dtog_rx(&self) -> DTOG_RX_R {
138018                DTOG_RX_R::new(((self.bits >> 14) & 0x01) != 0)
138019            }
138020            ///Bit 15 - Correct transfer for reception
138021            #[inline(always)]
138022            pub fn ctr_rx(&self) -> CTR_RX_R {
138023                CTR_RX_R::new(((self.bits >> 15) & 0x01) != 0)
138024            }
138025        }
138026        impl W {
138027            ///Bits 0:3 - Endpoint address
138028            #[inline(always)]
138029            pub fn ea(&mut self) -> EA_W {
138030                EA_W { w: self }
138031            }
138032            ///Bits 4:5 - Status bits, for transmission transfers
138033            #[inline(always)]
138034            pub fn stat_tx(&mut self) -> STAT_TX_W {
138035                STAT_TX_W { w: self }
138036            }
138037            ///Bit 6 - Data Toggle, for transmission transfers
138038            #[inline(always)]
138039            pub fn dtog_tx(&mut self) -> DTOG_TX_W {
138040                DTOG_TX_W { w: self }
138041            }
138042            ///Bit 7 - Correct Transfer for transmission
138043            #[inline(always)]
138044            pub fn ctr_tx(&mut self) -> CTR_TX_W {
138045                CTR_TX_W { w: self }
138046            }
138047            ///Bit 8 - Endpoint kind
138048            #[inline(always)]
138049            pub fn ep_kind(&mut self) -> EP_KIND_W {
138050                EP_KIND_W { w: self }
138051            }
138052            ///Bits 9:10 - Endpoint type
138053            #[inline(always)]
138054            pub fn ep_type(&mut self) -> EP_TYPE_W {
138055                EP_TYPE_W { w: self }
138056            }
138057            ///Bit 11 - Setup transaction completed
138058            #[inline(always)]
138059            pub fn setup(&mut self) -> SETUP_W {
138060                SETUP_W { w: self }
138061            }
138062            ///Bits 12:13 - Status bits, for reception transfers
138063            #[inline(always)]
138064            pub fn stat_rx(&mut self) -> STAT_RX_W {
138065                STAT_RX_W { w: self }
138066            }
138067            ///Bit 14 - Data Toggle, for reception transfers
138068            #[inline(always)]
138069            pub fn dtog_rx(&mut self) -> DTOG_RX_W {
138070                DTOG_RX_W { w: self }
138071            }
138072            ///Bit 15 - Correct transfer for reception
138073            #[inline(always)]
138074            pub fn ctr_rx(&mut self) -> CTR_RX_W {
138075                CTR_RX_W { w: self }
138076            }
138077        }
138078    }
138079    ///endpoint 6 register
138080    ///
138081    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
138082    ///
138083    ///For information about available fields see [ep6r](ep6r) module
138084    pub type EP6R = crate::Reg<u16, _EP6R>;
138085    #[allow(missing_docs)]
138086    #[doc(hidden)]
138087    pub struct _EP6R;
138088    ///`read()` method returns [ep6r::R](ep6r::R) reader structure
138089    impl crate::Readable for EP6R {}
138090    ///`write(|w| ..)` method takes [ep6r::W](ep6r::W) writer structure
138091    impl crate::Writable for EP6R {}
138092    ///endpoint 6 register
138093    pub mod ep6r {
138094        ///Reader of register EP6R
138095        pub type R = crate::R<u16, super::EP6R>;
138096        ///Writer for register EP6R
138097        pub type W = crate::W<u16, super::EP6R>;
138098        ///Register EP6R `reset()`'s with value 0
138099        impl crate::ResetValue for super::EP6R {
138100            type Type = u16;
138101            #[inline(always)]
138102            fn reset_value() -> Self::Type {
138103                0
138104            }
138105        }
138106        ///Reader of field `EA`
138107        pub type EA_R = crate::R<u8, u8>;
138108        ///Write proxy for field `EA`
138109        pub struct EA_W<'a> {
138110            w: &'a mut W,
138111        }
138112        impl<'a> EA_W<'a> {
138113            ///Writes raw bits to the field
138114            #[inline(always)]
138115            pub unsafe fn bits(self, value: u8) -> &'a mut W {
138116                self.w.bits = (self.w.bits & !0x0f) | ((value as u16) & 0x0f);
138117                self.w
138118            }
138119        }
138120        ///Reader of field `STAT_TX`
138121        pub type STAT_TX_R = crate::R<u8, u8>;
138122        ///Write proxy for field `STAT_TX`
138123        pub struct STAT_TX_W<'a> {
138124            w: &'a mut W,
138125        }
138126        impl<'a> STAT_TX_W<'a> {
138127            ///Writes raw bits to the field
138128            #[inline(always)]
138129            pub unsafe fn bits(self, value: u8) -> &'a mut W {
138130                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u16) & 0x03) << 4);
138131                self.w
138132            }
138133        }
138134        ///Reader of field `DTOG_TX`
138135        pub type DTOG_TX_R = crate::R<bool, bool>;
138136        ///Write proxy for field `DTOG_TX`
138137        pub struct DTOG_TX_W<'a> {
138138            w: &'a mut W,
138139        }
138140        impl<'a> DTOG_TX_W<'a> {
138141            ///Sets the field bit
138142            #[inline(always)]
138143            pub fn set_bit(self) -> &'a mut W {
138144                self.bit(true)
138145            }
138146            ///Clears the field bit
138147            #[inline(always)]
138148            pub fn clear_bit(self) -> &'a mut W {
138149                self.bit(false)
138150            }
138151            ///Writes raw bits to the field
138152            #[inline(always)]
138153            pub fn bit(self, value: bool) -> &'a mut W {
138154                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u16) & 0x01) << 6);
138155                self.w
138156            }
138157        }
138158        ///Reader of field `CTR_TX`
138159        pub type CTR_TX_R = crate::R<bool, bool>;
138160        ///Write proxy for field `CTR_TX`
138161        pub struct CTR_TX_W<'a> {
138162            w: &'a mut W,
138163        }
138164        impl<'a> CTR_TX_W<'a> {
138165            ///Sets the field bit
138166            #[inline(always)]
138167            pub fn set_bit(self) -> &'a mut W {
138168                self.bit(true)
138169            }
138170            ///Clears the field bit
138171            #[inline(always)]
138172            pub fn clear_bit(self) -> &'a mut W {
138173                self.bit(false)
138174            }
138175            ///Writes raw bits to the field
138176            #[inline(always)]
138177            pub fn bit(self, value: bool) -> &'a mut W {
138178                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u16) & 0x01) << 7);
138179                self.w
138180            }
138181        }
138182        ///Reader of field `EP_KIND`
138183        pub type EP_KIND_R = crate::R<bool, bool>;
138184        ///Write proxy for field `EP_KIND`
138185        pub struct EP_KIND_W<'a> {
138186            w: &'a mut W,
138187        }
138188        impl<'a> EP_KIND_W<'a> {
138189            ///Sets the field bit
138190            #[inline(always)]
138191            pub fn set_bit(self) -> &'a mut W {
138192                self.bit(true)
138193            }
138194            ///Clears the field bit
138195            #[inline(always)]
138196            pub fn clear_bit(self) -> &'a mut W {
138197                self.bit(false)
138198            }
138199            ///Writes raw bits to the field
138200            #[inline(always)]
138201            pub fn bit(self, value: bool) -> &'a mut W {
138202                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u16) & 0x01) << 8);
138203                self.w
138204            }
138205        }
138206        ///Reader of field `EP_TYPE`
138207        pub type EP_TYPE_R = crate::R<u8, u8>;
138208        ///Write proxy for field `EP_TYPE`
138209        pub struct EP_TYPE_W<'a> {
138210            w: &'a mut W,
138211        }
138212        impl<'a> EP_TYPE_W<'a> {
138213            ///Writes raw bits to the field
138214            #[inline(always)]
138215            pub unsafe fn bits(self, value: u8) -> &'a mut W {
138216                self.w.bits = (self.w.bits & !(0x03 << 9)) | (((value as u16) & 0x03) << 9);
138217                self.w
138218            }
138219        }
138220        ///Reader of field `SETUP`
138221        pub type SETUP_R = crate::R<bool, bool>;
138222        ///Write proxy for field `SETUP`
138223        pub struct SETUP_W<'a> {
138224            w: &'a mut W,
138225        }
138226        impl<'a> SETUP_W<'a> {
138227            ///Sets the field bit
138228            #[inline(always)]
138229            pub fn set_bit(self) -> &'a mut W {
138230                self.bit(true)
138231            }
138232            ///Clears the field bit
138233            #[inline(always)]
138234            pub fn clear_bit(self) -> &'a mut W {
138235                self.bit(false)
138236            }
138237            ///Writes raw bits to the field
138238            #[inline(always)]
138239            pub fn bit(self, value: bool) -> &'a mut W {
138240                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u16) & 0x01) << 11);
138241                self.w
138242            }
138243        }
138244        ///Reader of field `STAT_RX`
138245        pub type STAT_RX_R = crate::R<u8, u8>;
138246        ///Write proxy for field `STAT_RX`
138247        pub struct STAT_RX_W<'a> {
138248            w: &'a mut W,
138249        }
138250        impl<'a> STAT_RX_W<'a> {
138251            ///Writes raw bits to the field
138252            #[inline(always)]
138253            pub unsafe fn bits(self, value: u8) -> &'a mut W {
138254                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u16) & 0x03) << 12);
138255                self.w
138256            }
138257        }
138258        ///Reader of field `DTOG_RX`
138259        pub type DTOG_RX_R = crate::R<bool, bool>;
138260        ///Write proxy for field `DTOG_RX`
138261        pub struct DTOG_RX_W<'a> {
138262            w: &'a mut W,
138263        }
138264        impl<'a> DTOG_RX_W<'a> {
138265            ///Sets the field bit
138266            #[inline(always)]
138267            pub fn set_bit(self) -> &'a mut W {
138268                self.bit(true)
138269            }
138270            ///Clears the field bit
138271            #[inline(always)]
138272            pub fn clear_bit(self) -> &'a mut W {
138273                self.bit(false)
138274            }
138275            ///Writes raw bits to the field
138276            #[inline(always)]
138277            pub fn bit(self, value: bool) -> &'a mut W {
138278                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u16) & 0x01) << 14);
138279                self.w
138280            }
138281        }
138282        ///Reader of field `CTR_RX`
138283        pub type CTR_RX_R = crate::R<bool, bool>;
138284        ///Write proxy for field `CTR_RX`
138285        pub struct CTR_RX_W<'a> {
138286            w: &'a mut W,
138287        }
138288        impl<'a> CTR_RX_W<'a> {
138289            ///Sets the field bit
138290            #[inline(always)]
138291            pub fn set_bit(self) -> &'a mut W {
138292                self.bit(true)
138293            }
138294            ///Clears the field bit
138295            #[inline(always)]
138296            pub fn clear_bit(self) -> &'a mut W {
138297                self.bit(false)
138298            }
138299            ///Writes raw bits to the field
138300            #[inline(always)]
138301            pub fn bit(self, value: bool) -> &'a mut W {
138302                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
138303                self.w
138304            }
138305        }
138306        impl R {
138307            ///Bits 0:3 - Endpoint address
138308            #[inline(always)]
138309            pub fn ea(&self) -> EA_R {
138310                EA_R::new((self.bits & 0x0f) as u8)
138311            }
138312            ///Bits 4:5 - Status bits, for transmission transfers
138313            #[inline(always)]
138314            pub fn stat_tx(&self) -> STAT_TX_R {
138315                STAT_TX_R::new(((self.bits >> 4) & 0x03) as u8)
138316            }
138317            ///Bit 6 - Data Toggle, for transmission transfers
138318            #[inline(always)]
138319            pub fn dtog_tx(&self) -> DTOG_TX_R {
138320                DTOG_TX_R::new(((self.bits >> 6) & 0x01) != 0)
138321            }
138322            ///Bit 7 - Correct Transfer for transmission
138323            #[inline(always)]
138324            pub fn ctr_tx(&self) -> CTR_TX_R {
138325                CTR_TX_R::new(((self.bits >> 7) & 0x01) != 0)
138326            }
138327            ///Bit 8 - Endpoint kind
138328            #[inline(always)]
138329            pub fn ep_kind(&self) -> EP_KIND_R {
138330                EP_KIND_R::new(((self.bits >> 8) & 0x01) != 0)
138331            }
138332            ///Bits 9:10 - Endpoint type
138333            #[inline(always)]
138334            pub fn ep_type(&self) -> EP_TYPE_R {
138335                EP_TYPE_R::new(((self.bits >> 9) & 0x03) as u8)
138336            }
138337            ///Bit 11 - Setup transaction completed
138338            #[inline(always)]
138339            pub fn setup(&self) -> SETUP_R {
138340                SETUP_R::new(((self.bits >> 11) & 0x01) != 0)
138341            }
138342            ///Bits 12:13 - Status bits, for reception transfers
138343            #[inline(always)]
138344            pub fn stat_rx(&self) -> STAT_RX_R {
138345                STAT_RX_R::new(((self.bits >> 12) & 0x03) as u8)
138346            }
138347            ///Bit 14 - Data Toggle, for reception transfers
138348            #[inline(always)]
138349            pub fn dtog_rx(&self) -> DTOG_RX_R {
138350                DTOG_RX_R::new(((self.bits >> 14) & 0x01) != 0)
138351            }
138352            ///Bit 15 - Correct transfer for reception
138353            #[inline(always)]
138354            pub fn ctr_rx(&self) -> CTR_RX_R {
138355                CTR_RX_R::new(((self.bits >> 15) & 0x01) != 0)
138356            }
138357        }
138358        impl W {
138359            ///Bits 0:3 - Endpoint address
138360            #[inline(always)]
138361            pub fn ea(&mut self) -> EA_W {
138362                EA_W { w: self }
138363            }
138364            ///Bits 4:5 - Status bits, for transmission transfers
138365            #[inline(always)]
138366            pub fn stat_tx(&mut self) -> STAT_TX_W {
138367                STAT_TX_W { w: self }
138368            }
138369            ///Bit 6 - Data Toggle, for transmission transfers
138370            #[inline(always)]
138371            pub fn dtog_tx(&mut self) -> DTOG_TX_W {
138372                DTOG_TX_W { w: self }
138373            }
138374            ///Bit 7 - Correct Transfer for transmission
138375            #[inline(always)]
138376            pub fn ctr_tx(&mut self) -> CTR_TX_W {
138377                CTR_TX_W { w: self }
138378            }
138379            ///Bit 8 - Endpoint kind
138380            #[inline(always)]
138381            pub fn ep_kind(&mut self) -> EP_KIND_W {
138382                EP_KIND_W { w: self }
138383            }
138384            ///Bits 9:10 - Endpoint type
138385            #[inline(always)]
138386            pub fn ep_type(&mut self) -> EP_TYPE_W {
138387                EP_TYPE_W { w: self }
138388            }
138389            ///Bit 11 - Setup transaction completed
138390            #[inline(always)]
138391            pub fn setup(&mut self) -> SETUP_W {
138392                SETUP_W { w: self }
138393            }
138394            ///Bits 12:13 - Status bits, for reception transfers
138395            #[inline(always)]
138396            pub fn stat_rx(&mut self) -> STAT_RX_W {
138397                STAT_RX_W { w: self }
138398            }
138399            ///Bit 14 - Data Toggle, for reception transfers
138400            #[inline(always)]
138401            pub fn dtog_rx(&mut self) -> DTOG_RX_W {
138402                DTOG_RX_W { w: self }
138403            }
138404            ///Bit 15 - Correct transfer for reception
138405            #[inline(always)]
138406            pub fn ctr_rx(&mut self) -> CTR_RX_W {
138407                CTR_RX_W { w: self }
138408            }
138409        }
138410    }
138411    ///endpoint 7 register
138412    ///
138413    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
138414    ///
138415    ///For information about available fields see [ep7r](ep7r) module
138416    pub type EP7R = crate::Reg<u16, _EP7R>;
138417    #[allow(missing_docs)]
138418    #[doc(hidden)]
138419    pub struct _EP7R;
138420    ///`read()` method returns [ep7r::R](ep7r::R) reader structure
138421    impl crate::Readable for EP7R {}
138422    ///`write(|w| ..)` method takes [ep7r::W](ep7r::W) writer structure
138423    impl crate::Writable for EP7R {}
138424    ///endpoint 7 register
138425    pub mod ep7r {
138426        ///Reader of register EP7R
138427        pub type R = crate::R<u16, super::EP7R>;
138428        ///Writer for register EP7R
138429        pub type W = crate::W<u16, super::EP7R>;
138430        ///Register EP7R `reset()`'s with value 0
138431        impl crate::ResetValue for super::EP7R {
138432            type Type = u16;
138433            #[inline(always)]
138434            fn reset_value() -> Self::Type {
138435                0
138436            }
138437        }
138438        ///Reader of field `EA`
138439        pub type EA_R = crate::R<u8, u8>;
138440        ///Write proxy for field `EA`
138441        pub struct EA_W<'a> {
138442            w: &'a mut W,
138443        }
138444        impl<'a> EA_W<'a> {
138445            ///Writes raw bits to the field
138446            #[inline(always)]
138447            pub unsafe fn bits(self, value: u8) -> &'a mut W {
138448                self.w.bits = (self.w.bits & !0x0f) | ((value as u16) & 0x0f);
138449                self.w
138450            }
138451        }
138452        ///Reader of field `STAT_TX`
138453        pub type STAT_TX_R = crate::R<u8, u8>;
138454        ///Write proxy for field `STAT_TX`
138455        pub struct STAT_TX_W<'a> {
138456            w: &'a mut W,
138457        }
138458        impl<'a> STAT_TX_W<'a> {
138459            ///Writes raw bits to the field
138460            #[inline(always)]
138461            pub unsafe fn bits(self, value: u8) -> &'a mut W {
138462                self.w.bits = (self.w.bits & !(0x03 << 4)) | (((value as u16) & 0x03) << 4);
138463                self.w
138464            }
138465        }
138466        ///Reader of field `DTOG_TX`
138467        pub type DTOG_TX_R = crate::R<bool, bool>;
138468        ///Write proxy for field `DTOG_TX`
138469        pub struct DTOG_TX_W<'a> {
138470            w: &'a mut W,
138471        }
138472        impl<'a> DTOG_TX_W<'a> {
138473            ///Sets the field bit
138474            #[inline(always)]
138475            pub fn set_bit(self) -> &'a mut W {
138476                self.bit(true)
138477            }
138478            ///Clears the field bit
138479            #[inline(always)]
138480            pub fn clear_bit(self) -> &'a mut W {
138481                self.bit(false)
138482            }
138483            ///Writes raw bits to the field
138484            #[inline(always)]
138485            pub fn bit(self, value: bool) -> &'a mut W {
138486                self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u16) & 0x01) << 6);
138487                self.w
138488            }
138489        }
138490        ///Reader of field `CTR_TX`
138491        pub type CTR_TX_R = crate::R<bool, bool>;
138492        ///Write proxy for field `CTR_TX`
138493        pub struct CTR_TX_W<'a> {
138494            w: &'a mut W,
138495        }
138496        impl<'a> CTR_TX_W<'a> {
138497            ///Sets the field bit
138498            #[inline(always)]
138499            pub fn set_bit(self) -> &'a mut W {
138500                self.bit(true)
138501            }
138502            ///Clears the field bit
138503            #[inline(always)]
138504            pub fn clear_bit(self) -> &'a mut W {
138505                self.bit(false)
138506            }
138507            ///Writes raw bits to the field
138508            #[inline(always)]
138509            pub fn bit(self, value: bool) -> &'a mut W {
138510                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u16) & 0x01) << 7);
138511                self.w
138512            }
138513        }
138514        ///Reader of field `EP_KIND`
138515        pub type EP_KIND_R = crate::R<bool, bool>;
138516        ///Write proxy for field `EP_KIND`
138517        pub struct EP_KIND_W<'a> {
138518            w: &'a mut W,
138519        }
138520        impl<'a> EP_KIND_W<'a> {
138521            ///Sets the field bit
138522            #[inline(always)]
138523            pub fn set_bit(self) -> &'a mut W {
138524                self.bit(true)
138525            }
138526            ///Clears the field bit
138527            #[inline(always)]
138528            pub fn clear_bit(self) -> &'a mut W {
138529                self.bit(false)
138530            }
138531            ///Writes raw bits to the field
138532            #[inline(always)]
138533            pub fn bit(self, value: bool) -> &'a mut W {
138534                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u16) & 0x01) << 8);
138535                self.w
138536            }
138537        }
138538        ///Reader of field `EP_TYPE`
138539        pub type EP_TYPE_R = crate::R<u8, u8>;
138540        ///Write proxy for field `EP_TYPE`
138541        pub struct EP_TYPE_W<'a> {
138542            w: &'a mut W,
138543        }
138544        impl<'a> EP_TYPE_W<'a> {
138545            ///Writes raw bits to the field
138546            #[inline(always)]
138547            pub unsafe fn bits(self, value: u8) -> &'a mut W {
138548                self.w.bits = (self.w.bits & !(0x03 << 9)) | (((value as u16) & 0x03) << 9);
138549                self.w
138550            }
138551        }
138552        ///Reader of field `SETUP`
138553        pub type SETUP_R = crate::R<bool, bool>;
138554        ///Write proxy for field `SETUP`
138555        pub struct SETUP_W<'a> {
138556            w: &'a mut W,
138557        }
138558        impl<'a> SETUP_W<'a> {
138559            ///Sets the field bit
138560            #[inline(always)]
138561            pub fn set_bit(self) -> &'a mut W {
138562                self.bit(true)
138563            }
138564            ///Clears the field bit
138565            #[inline(always)]
138566            pub fn clear_bit(self) -> &'a mut W {
138567                self.bit(false)
138568            }
138569            ///Writes raw bits to the field
138570            #[inline(always)]
138571            pub fn bit(self, value: bool) -> &'a mut W {
138572                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u16) & 0x01) << 11);
138573                self.w
138574            }
138575        }
138576        ///Reader of field `STAT_RX`
138577        pub type STAT_RX_R = crate::R<u8, u8>;
138578        ///Write proxy for field `STAT_RX`
138579        pub struct STAT_RX_W<'a> {
138580            w: &'a mut W,
138581        }
138582        impl<'a> STAT_RX_W<'a> {
138583            ///Writes raw bits to the field
138584            #[inline(always)]
138585            pub unsafe fn bits(self, value: u8) -> &'a mut W {
138586                self.w.bits = (self.w.bits & !(0x03 << 12)) | (((value as u16) & 0x03) << 12);
138587                self.w
138588            }
138589        }
138590        ///Reader of field `DTOG_RX`
138591        pub type DTOG_RX_R = crate::R<bool, bool>;
138592        ///Write proxy for field `DTOG_RX`
138593        pub struct DTOG_RX_W<'a> {
138594            w: &'a mut W,
138595        }
138596        impl<'a> DTOG_RX_W<'a> {
138597            ///Sets the field bit
138598            #[inline(always)]
138599            pub fn set_bit(self) -> &'a mut W {
138600                self.bit(true)
138601            }
138602            ///Clears the field bit
138603            #[inline(always)]
138604            pub fn clear_bit(self) -> &'a mut W {
138605                self.bit(false)
138606            }
138607            ///Writes raw bits to the field
138608            #[inline(always)]
138609            pub fn bit(self, value: bool) -> &'a mut W {
138610                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u16) & 0x01) << 14);
138611                self.w
138612            }
138613        }
138614        ///Reader of field `CTR_RX`
138615        pub type CTR_RX_R = crate::R<bool, bool>;
138616        ///Write proxy for field `CTR_RX`
138617        pub struct CTR_RX_W<'a> {
138618            w: &'a mut W,
138619        }
138620        impl<'a> CTR_RX_W<'a> {
138621            ///Sets the field bit
138622            #[inline(always)]
138623            pub fn set_bit(self) -> &'a mut W {
138624                self.bit(true)
138625            }
138626            ///Clears the field bit
138627            #[inline(always)]
138628            pub fn clear_bit(self) -> &'a mut W {
138629                self.bit(false)
138630            }
138631            ///Writes raw bits to the field
138632            #[inline(always)]
138633            pub fn bit(self, value: bool) -> &'a mut W {
138634                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
138635                self.w
138636            }
138637        }
138638        impl R {
138639            ///Bits 0:3 - Endpoint address
138640            #[inline(always)]
138641            pub fn ea(&self) -> EA_R {
138642                EA_R::new((self.bits & 0x0f) as u8)
138643            }
138644            ///Bits 4:5 - Status bits, for transmission transfers
138645            #[inline(always)]
138646            pub fn stat_tx(&self) -> STAT_TX_R {
138647                STAT_TX_R::new(((self.bits >> 4) & 0x03) as u8)
138648            }
138649            ///Bit 6 - Data Toggle, for transmission transfers
138650            #[inline(always)]
138651            pub fn dtog_tx(&self) -> DTOG_TX_R {
138652                DTOG_TX_R::new(((self.bits >> 6) & 0x01) != 0)
138653            }
138654            ///Bit 7 - Correct Transfer for transmission
138655            #[inline(always)]
138656            pub fn ctr_tx(&self) -> CTR_TX_R {
138657                CTR_TX_R::new(((self.bits >> 7) & 0x01) != 0)
138658            }
138659            ///Bit 8 - Endpoint kind
138660            #[inline(always)]
138661            pub fn ep_kind(&self) -> EP_KIND_R {
138662                EP_KIND_R::new(((self.bits >> 8) & 0x01) != 0)
138663            }
138664            ///Bits 9:10 - Endpoint type
138665            #[inline(always)]
138666            pub fn ep_type(&self) -> EP_TYPE_R {
138667                EP_TYPE_R::new(((self.bits >> 9) & 0x03) as u8)
138668            }
138669            ///Bit 11 - Setup transaction completed
138670            #[inline(always)]
138671            pub fn setup(&self) -> SETUP_R {
138672                SETUP_R::new(((self.bits >> 11) & 0x01) != 0)
138673            }
138674            ///Bits 12:13 - Status bits, for reception transfers
138675            #[inline(always)]
138676            pub fn stat_rx(&self) -> STAT_RX_R {
138677                STAT_RX_R::new(((self.bits >> 12) & 0x03) as u8)
138678            }
138679            ///Bit 14 - Data Toggle, for reception transfers
138680            #[inline(always)]
138681            pub fn dtog_rx(&self) -> DTOG_RX_R {
138682                DTOG_RX_R::new(((self.bits >> 14) & 0x01) != 0)
138683            }
138684            ///Bit 15 - Correct transfer for reception
138685            #[inline(always)]
138686            pub fn ctr_rx(&self) -> CTR_RX_R {
138687                CTR_RX_R::new(((self.bits >> 15) & 0x01) != 0)
138688            }
138689        }
138690        impl W {
138691            ///Bits 0:3 - Endpoint address
138692            #[inline(always)]
138693            pub fn ea(&mut self) -> EA_W {
138694                EA_W { w: self }
138695            }
138696            ///Bits 4:5 - Status bits, for transmission transfers
138697            #[inline(always)]
138698            pub fn stat_tx(&mut self) -> STAT_TX_W {
138699                STAT_TX_W { w: self }
138700            }
138701            ///Bit 6 - Data Toggle, for transmission transfers
138702            #[inline(always)]
138703            pub fn dtog_tx(&mut self) -> DTOG_TX_W {
138704                DTOG_TX_W { w: self }
138705            }
138706            ///Bit 7 - Correct Transfer for transmission
138707            #[inline(always)]
138708            pub fn ctr_tx(&mut self) -> CTR_TX_W {
138709                CTR_TX_W { w: self }
138710            }
138711            ///Bit 8 - Endpoint kind
138712            #[inline(always)]
138713            pub fn ep_kind(&mut self) -> EP_KIND_W {
138714                EP_KIND_W { w: self }
138715            }
138716            ///Bits 9:10 - Endpoint type
138717            #[inline(always)]
138718            pub fn ep_type(&mut self) -> EP_TYPE_W {
138719                EP_TYPE_W { w: self }
138720            }
138721            ///Bit 11 - Setup transaction completed
138722            #[inline(always)]
138723            pub fn setup(&mut self) -> SETUP_W {
138724                SETUP_W { w: self }
138725            }
138726            ///Bits 12:13 - Status bits, for reception transfers
138727            #[inline(always)]
138728            pub fn stat_rx(&mut self) -> STAT_RX_W {
138729                STAT_RX_W { w: self }
138730            }
138731            ///Bit 14 - Data Toggle, for reception transfers
138732            #[inline(always)]
138733            pub fn dtog_rx(&mut self) -> DTOG_RX_W {
138734                DTOG_RX_W { w: self }
138735            }
138736            ///Bit 15 - Correct transfer for reception
138737            #[inline(always)]
138738            pub fn ctr_rx(&mut self) -> CTR_RX_W {
138739                CTR_RX_W { w: self }
138740            }
138741        }
138742    }
138743    ///control register
138744    ///
138745    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
138746    ///
138747    ///For information about available fields see [cntr](cntr) module
138748    pub type CNTR = crate::Reg<u16, _CNTR>;
138749    #[allow(missing_docs)]
138750    #[doc(hidden)]
138751    pub struct _CNTR;
138752    ///`read()` method returns [cntr::R](cntr::R) reader structure
138753    impl crate::Readable for CNTR {}
138754    ///`write(|w| ..)` method takes [cntr::W](cntr::W) writer structure
138755    impl crate::Writable for CNTR {}
138756    ///control register
138757    pub mod cntr {
138758        ///Reader of register CNTR
138759        pub type R = crate::R<u16, super::CNTR>;
138760        ///Writer for register CNTR
138761        pub type W = crate::W<u16, super::CNTR>;
138762        ///Register CNTR `reset()`'s with value 0x03
138763        impl crate::ResetValue for super::CNTR {
138764            type Type = u16;
138765            #[inline(always)]
138766            fn reset_value() -> Self::Type {
138767                0x03
138768            }
138769        }
138770        ///Reader of field `FRES`
138771        pub type FRES_R = crate::R<bool, bool>;
138772        ///Write proxy for field `FRES`
138773        pub struct FRES_W<'a> {
138774            w: &'a mut W,
138775        }
138776        impl<'a> FRES_W<'a> {
138777            ///Sets the field bit
138778            #[inline(always)]
138779            pub fn set_bit(self) -> &'a mut W {
138780                self.bit(true)
138781            }
138782            ///Clears the field bit
138783            #[inline(always)]
138784            pub fn clear_bit(self) -> &'a mut W {
138785                self.bit(false)
138786            }
138787            ///Writes raw bits to the field
138788            #[inline(always)]
138789            pub fn bit(self, value: bool) -> &'a mut W {
138790                self.w.bits = (self.w.bits & !0x01) | ((value as u16) & 0x01);
138791                self.w
138792            }
138793        }
138794        ///Reader of field `PDWN`
138795        pub type PDWN_R = crate::R<bool, bool>;
138796        ///Write proxy for field `PDWN`
138797        pub struct PDWN_W<'a> {
138798            w: &'a mut W,
138799        }
138800        impl<'a> PDWN_W<'a> {
138801            ///Sets the field bit
138802            #[inline(always)]
138803            pub fn set_bit(self) -> &'a mut W {
138804                self.bit(true)
138805            }
138806            ///Clears the field bit
138807            #[inline(always)]
138808            pub fn clear_bit(self) -> &'a mut W {
138809                self.bit(false)
138810            }
138811            ///Writes raw bits to the field
138812            #[inline(always)]
138813            pub fn bit(self, value: bool) -> &'a mut W {
138814                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u16) & 0x01) << 1);
138815                self.w
138816            }
138817        }
138818        ///Reader of field `LPMODE`
138819        pub type LPMODE_R = crate::R<bool, bool>;
138820        ///Write proxy for field `LPMODE`
138821        pub struct LPMODE_W<'a> {
138822            w: &'a mut W,
138823        }
138824        impl<'a> LPMODE_W<'a> {
138825            ///Sets the field bit
138826            #[inline(always)]
138827            pub fn set_bit(self) -> &'a mut W {
138828                self.bit(true)
138829            }
138830            ///Clears the field bit
138831            #[inline(always)]
138832            pub fn clear_bit(self) -> &'a mut W {
138833                self.bit(false)
138834            }
138835            ///Writes raw bits to the field
138836            #[inline(always)]
138837            pub fn bit(self, value: bool) -> &'a mut W {
138838                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u16) & 0x01) << 2);
138839                self.w
138840            }
138841        }
138842        ///Reader of field `FSUSP`
138843        pub type FSUSP_R = crate::R<bool, bool>;
138844        ///Write proxy for field `FSUSP`
138845        pub struct FSUSP_W<'a> {
138846            w: &'a mut W,
138847        }
138848        impl<'a> FSUSP_W<'a> {
138849            ///Sets the field bit
138850            #[inline(always)]
138851            pub fn set_bit(self) -> &'a mut W {
138852                self.bit(true)
138853            }
138854            ///Clears the field bit
138855            #[inline(always)]
138856            pub fn clear_bit(self) -> &'a mut W {
138857                self.bit(false)
138858            }
138859            ///Writes raw bits to the field
138860            #[inline(always)]
138861            pub fn bit(self, value: bool) -> &'a mut W {
138862                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u16) & 0x01) << 3);
138863                self.w
138864            }
138865        }
138866        ///Reader of field `RESUME`
138867        pub type RESUME_R = crate::R<bool, bool>;
138868        ///Write proxy for field `RESUME`
138869        pub struct RESUME_W<'a> {
138870            w: &'a mut W,
138871        }
138872        impl<'a> RESUME_W<'a> {
138873            ///Sets the field bit
138874            #[inline(always)]
138875            pub fn set_bit(self) -> &'a mut W {
138876                self.bit(true)
138877            }
138878            ///Clears the field bit
138879            #[inline(always)]
138880            pub fn clear_bit(self) -> &'a mut W {
138881                self.bit(false)
138882            }
138883            ///Writes raw bits to the field
138884            #[inline(always)]
138885            pub fn bit(self, value: bool) -> &'a mut W {
138886                self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u16) & 0x01) << 4);
138887                self.w
138888            }
138889        }
138890        ///Reader of field `L1RESUME`
138891        pub type L1RESUME_R = crate::R<bool, bool>;
138892        ///Write proxy for field `L1RESUME`
138893        pub struct L1RESUME_W<'a> {
138894            w: &'a mut W,
138895        }
138896        impl<'a> L1RESUME_W<'a> {
138897            ///Sets the field bit
138898            #[inline(always)]
138899            pub fn set_bit(self) -> &'a mut W {
138900                self.bit(true)
138901            }
138902            ///Clears the field bit
138903            #[inline(always)]
138904            pub fn clear_bit(self) -> &'a mut W {
138905                self.bit(false)
138906            }
138907            ///Writes raw bits to the field
138908            #[inline(always)]
138909            pub fn bit(self, value: bool) -> &'a mut W {
138910                self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u16) & 0x01) << 5);
138911                self.w
138912            }
138913        }
138914        ///Reader of field `L1REQM`
138915        pub type L1REQM_R = crate::R<bool, bool>;
138916        ///Write proxy for field `L1REQM`
138917        pub struct L1REQM_W<'a> {
138918            w: &'a mut W,
138919        }
138920        impl<'a> L1REQM_W<'a> {
138921            ///Sets the field bit
138922            #[inline(always)]
138923            pub fn set_bit(self) -> &'a mut W {
138924                self.bit(true)
138925            }
138926            ///Clears the field bit
138927            #[inline(always)]
138928            pub fn clear_bit(self) -> &'a mut W {
138929                self.bit(false)
138930            }
138931            ///Writes raw bits to the field
138932            #[inline(always)]
138933            pub fn bit(self, value: bool) -> &'a mut W {
138934                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u16) & 0x01) << 7);
138935                self.w
138936            }
138937        }
138938        ///Reader of field `ESOFM`
138939        pub type ESOFM_R = crate::R<bool, bool>;
138940        ///Write proxy for field `ESOFM`
138941        pub struct ESOFM_W<'a> {
138942            w: &'a mut W,
138943        }
138944        impl<'a> ESOFM_W<'a> {
138945            ///Sets the field bit
138946            #[inline(always)]
138947            pub fn set_bit(self) -> &'a mut W {
138948                self.bit(true)
138949            }
138950            ///Clears the field bit
138951            #[inline(always)]
138952            pub fn clear_bit(self) -> &'a mut W {
138953                self.bit(false)
138954            }
138955            ///Writes raw bits to the field
138956            #[inline(always)]
138957            pub fn bit(self, value: bool) -> &'a mut W {
138958                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u16) & 0x01) << 8);
138959                self.w
138960            }
138961        }
138962        ///Reader of field `SOFM`
138963        pub type SOFM_R = crate::R<bool, bool>;
138964        ///Write proxy for field `SOFM`
138965        pub struct SOFM_W<'a> {
138966            w: &'a mut W,
138967        }
138968        impl<'a> SOFM_W<'a> {
138969            ///Sets the field bit
138970            #[inline(always)]
138971            pub fn set_bit(self) -> &'a mut W {
138972                self.bit(true)
138973            }
138974            ///Clears the field bit
138975            #[inline(always)]
138976            pub fn clear_bit(self) -> &'a mut W {
138977                self.bit(false)
138978            }
138979            ///Writes raw bits to the field
138980            #[inline(always)]
138981            pub fn bit(self, value: bool) -> &'a mut W {
138982                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u16) & 0x01) << 9);
138983                self.w
138984            }
138985        }
138986        ///Reader of field `RESETM`
138987        pub type RESETM_R = crate::R<bool, bool>;
138988        ///Write proxy for field `RESETM`
138989        pub struct RESETM_W<'a> {
138990            w: &'a mut W,
138991        }
138992        impl<'a> RESETM_W<'a> {
138993            ///Sets the field bit
138994            #[inline(always)]
138995            pub fn set_bit(self) -> &'a mut W {
138996                self.bit(true)
138997            }
138998            ///Clears the field bit
138999            #[inline(always)]
139000            pub fn clear_bit(self) -> &'a mut W {
139001                self.bit(false)
139002            }
139003            ///Writes raw bits to the field
139004            #[inline(always)]
139005            pub fn bit(self, value: bool) -> &'a mut W {
139006                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u16) & 0x01) << 10);
139007                self.w
139008            }
139009        }
139010        ///Reader of field `SUSPM`
139011        pub type SUSPM_R = crate::R<bool, bool>;
139012        ///Write proxy for field `SUSPM`
139013        pub struct SUSPM_W<'a> {
139014            w: &'a mut W,
139015        }
139016        impl<'a> SUSPM_W<'a> {
139017            ///Sets the field bit
139018            #[inline(always)]
139019            pub fn set_bit(self) -> &'a mut W {
139020                self.bit(true)
139021            }
139022            ///Clears the field bit
139023            #[inline(always)]
139024            pub fn clear_bit(self) -> &'a mut W {
139025                self.bit(false)
139026            }
139027            ///Writes raw bits to the field
139028            #[inline(always)]
139029            pub fn bit(self, value: bool) -> &'a mut W {
139030                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u16) & 0x01) << 11);
139031                self.w
139032            }
139033        }
139034        ///Reader of field `WKUPM`
139035        pub type WKUPM_R = crate::R<bool, bool>;
139036        ///Write proxy for field `WKUPM`
139037        pub struct WKUPM_W<'a> {
139038            w: &'a mut W,
139039        }
139040        impl<'a> WKUPM_W<'a> {
139041            ///Sets the field bit
139042            #[inline(always)]
139043            pub fn set_bit(self) -> &'a mut W {
139044                self.bit(true)
139045            }
139046            ///Clears the field bit
139047            #[inline(always)]
139048            pub fn clear_bit(self) -> &'a mut W {
139049                self.bit(false)
139050            }
139051            ///Writes raw bits to the field
139052            #[inline(always)]
139053            pub fn bit(self, value: bool) -> &'a mut W {
139054                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u16) & 0x01) << 12);
139055                self.w
139056            }
139057        }
139058        ///Reader of field `ERRM`
139059        pub type ERRM_R = crate::R<bool, bool>;
139060        ///Write proxy for field `ERRM`
139061        pub struct ERRM_W<'a> {
139062            w: &'a mut W,
139063        }
139064        impl<'a> ERRM_W<'a> {
139065            ///Sets the field bit
139066            #[inline(always)]
139067            pub fn set_bit(self) -> &'a mut W {
139068                self.bit(true)
139069            }
139070            ///Clears the field bit
139071            #[inline(always)]
139072            pub fn clear_bit(self) -> &'a mut W {
139073                self.bit(false)
139074            }
139075            ///Writes raw bits to the field
139076            #[inline(always)]
139077            pub fn bit(self, value: bool) -> &'a mut W {
139078                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u16) & 0x01) << 13);
139079                self.w
139080            }
139081        }
139082        ///Reader of field `PMAOVRM`
139083        pub type PMAOVRM_R = crate::R<bool, bool>;
139084        ///Write proxy for field `PMAOVRM`
139085        pub struct PMAOVRM_W<'a> {
139086            w: &'a mut W,
139087        }
139088        impl<'a> PMAOVRM_W<'a> {
139089            ///Sets the field bit
139090            #[inline(always)]
139091            pub fn set_bit(self) -> &'a mut W {
139092                self.bit(true)
139093            }
139094            ///Clears the field bit
139095            #[inline(always)]
139096            pub fn clear_bit(self) -> &'a mut W {
139097                self.bit(false)
139098            }
139099            ///Writes raw bits to the field
139100            #[inline(always)]
139101            pub fn bit(self, value: bool) -> &'a mut W {
139102                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u16) & 0x01) << 14);
139103                self.w
139104            }
139105        }
139106        ///Reader of field `CTRM`
139107        pub type CTRM_R = crate::R<bool, bool>;
139108        ///Write proxy for field `CTRM`
139109        pub struct CTRM_W<'a> {
139110            w: &'a mut W,
139111        }
139112        impl<'a> CTRM_W<'a> {
139113            ///Sets the field bit
139114            #[inline(always)]
139115            pub fn set_bit(self) -> &'a mut W {
139116                self.bit(true)
139117            }
139118            ///Clears the field bit
139119            #[inline(always)]
139120            pub fn clear_bit(self) -> &'a mut W {
139121                self.bit(false)
139122            }
139123            ///Writes raw bits to the field
139124            #[inline(always)]
139125            pub fn bit(self, value: bool) -> &'a mut W {
139126                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
139127                self.w
139128            }
139129        }
139130        impl R {
139131            ///Bit 0 - Force USB Reset
139132            #[inline(always)]
139133            pub fn fres(&self) -> FRES_R {
139134                FRES_R::new((self.bits & 0x01) != 0)
139135            }
139136            ///Bit 1 - Power down
139137            #[inline(always)]
139138            pub fn pdwn(&self) -> PDWN_R {
139139                PDWN_R::new(((self.bits >> 1) & 0x01) != 0)
139140            }
139141            ///Bit 2 - Low-power mode
139142            #[inline(always)]
139143            pub fn lpmode(&self) -> LPMODE_R {
139144                LPMODE_R::new(((self.bits >> 2) & 0x01) != 0)
139145            }
139146            ///Bit 3 - Force suspend
139147            #[inline(always)]
139148            pub fn fsusp(&self) -> FSUSP_R {
139149                FSUSP_R::new(((self.bits >> 3) & 0x01) != 0)
139150            }
139151            ///Bit 4 - Resume request
139152            #[inline(always)]
139153            pub fn resume(&self) -> RESUME_R {
139154                RESUME_R::new(((self.bits >> 4) & 0x01) != 0)
139155            }
139156            ///Bit 5 - LPM L1 Resume request
139157            #[inline(always)]
139158            pub fn l1resume(&self) -> L1RESUME_R {
139159                L1RESUME_R::new(((self.bits >> 5) & 0x01) != 0)
139160            }
139161            ///Bit 7 - LPM L1 state request interrupt mask
139162            #[inline(always)]
139163            pub fn l1reqm(&self) -> L1REQM_R {
139164                L1REQM_R::new(((self.bits >> 7) & 0x01) != 0)
139165            }
139166            ///Bit 8 - Expected start of frame interrupt mask
139167            #[inline(always)]
139168            pub fn esofm(&self) -> ESOFM_R {
139169                ESOFM_R::new(((self.bits >> 8) & 0x01) != 0)
139170            }
139171            ///Bit 9 - Start of frame interrupt mask
139172            #[inline(always)]
139173            pub fn sofm(&self) -> SOFM_R {
139174                SOFM_R::new(((self.bits >> 9) & 0x01) != 0)
139175            }
139176            ///Bit 10 - USB reset interrupt mask
139177            #[inline(always)]
139178            pub fn resetm(&self) -> RESETM_R {
139179                RESETM_R::new(((self.bits >> 10) & 0x01) != 0)
139180            }
139181            ///Bit 11 - Suspend mode interrupt mask
139182            #[inline(always)]
139183            pub fn suspm(&self) -> SUSPM_R {
139184                SUSPM_R::new(((self.bits >> 11) & 0x01) != 0)
139185            }
139186            ///Bit 12 - Wakeup interrupt mask
139187            #[inline(always)]
139188            pub fn wkupm(&self) -> WKUPM_R {
139189                WKUPM_R::new(((self.bits >> 12) & 0x01) != 0)
139190            }
139191            ///Bit 13 - Error interrupt mask
139192            #[inline(always)]
139193            pub fn errm(&self) -> ERRM_R {
139194                ERRM_R::new(((self.bits >> 13) & 0x01) != 0)
139195            }
139196            ///Bit 14 - Packet memory area over / underrun interrupt mask
139197            #[inline(always)]
139198            pub fn pmaovrm(&self) -> PMAOVRM_R {
139199                PMAOVRM_R::new(((self.bits >> 14) & 0x01) != 0)
139200            }
139201            ///Bit 15 - Correct transfer interrupt mask
139202            #[inline(always)]
139203            pub fn ctrm(&self) -> CTRM_R {
139204                CTRM_R::new(((self.bits >> 15) & 0x01) != 0)
139205            }
139206        }
139207        impl W {
139208            ///Bit 0 - Force USB Reset
139209            #[inline(always)]
139210            pub fn fres(&mut self) -> FRES_W {
139211                FRES_W { w: self }
139212            }
139213            ///Bit 1 - Power down
139214            #[inline(always)]
139215            pub fn pdwn(&mut self) -> PDWN_W {
139216                PDWN_W { w: self }
139217            }
139218            ///Bit 2 - Low-power mode
139219            #[inline(always)]
139220            pub fn lpmode(&mut self) -> LPMODE_W {
139221                LPMODE_W { w: self }
139222            }
139223            ///Bit 3 - Force suspend
139224            #[inline(always)]
139225            pub fn fsusp(&mut self) -> FSUSP_W {
139226                FSUSP_W { w: self }
139227            }
139228            ///Bit 4 - Resume request
139229            #[inline(always)]
139230            pub fn resume(&mut self) -> RESUME_W {
139231                RESUME_W { w: self }
139232            }
139233            ///Bit 5 - LPM L1 Resume request
139234            #[inline(always)]
139235            pub fn l1resume(&mut self) -> L1RESUME_W {
139236                L1RESUME_W { w: self }
139237            }
139238            ///Bit 7 - LPM L1 state request interrupt mask
139239            #[inline(always)]
139240            pub fn l1reqm(&mut self) -> L1REQM_W {
139241                L1REQM_W { w: self }
139242            }
139243            ///Bit 8 - Expected start of frame interrupt mask
139244            #[inline(always)]
139245            pub fn esofm(&mut self) -> ESOFM_W {
139246                ESOFM_W { w: self }
139247            }
139248            ///Bit 9 - Start of frame interrupt mask
139249            #[inline(always)]
139250            pub fn sofm(&mut self) -> SOFM_W {
139251                SOFM_W { w: self }
139252            }
139253            ///Bit 10 - USB reset interrupt mask
139254            #[inline(always)]
139255            pub fn resetm(&mut self) -> RESETM_W {
139256                RESETM_W { w: self }
139257            }
139258            ///Bit 11 - Suspend mode interrupt mask
139259            #[inline(always)]
139260            pub fn suspm(&mut self) -> SUSPM_W {
139261                SUSPM_W { w: self }
139262            }
139263            ///Bit 12 - Wakeup interrupt mask
139264            #[inline(always)]
139265            pub fn wkupm(&mut self) -> WKUPM_W {
139266                WKUPM_W { w: self }
139267            }
139268            ///Bit 13 - Error interrupt mask
139269            #[inline(always)]
139270            pub fn errm(&mut self) -> ERRM_W {
139271                ERRM_W { w: self }
139272            }
139273            ///Bit 14 - Packet memory area over / underrun interrupt mask
139274            #[inline(always)]
139275            pub fn pmaovrm(&mut self) -> PMAOVRM_W {
139276                PMAOVRM_W { w: self }
139277            }
139278            ///Bit 15 - Correct transfer interrupt mask
139279            #[inline(always)]
139280            pub fn ctrm(&mut self) -> CTRM_W {
139281                CTRM_W { w: self }
139282            }
139283        }
139284    }
139285    ///interrupt status register
139286    ///
139287    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
139288    ///
139289    ///For information about available fields see [istr](istr) module
139290    pub type ISTR = crate::Reg<u16, _ISTR>;
139291    #[allow(missing_docs)]
139292    #[doc(hidden)]
139293    pub struct _ISTR;
139294    ///`read()` method returns [istr::R](istr::R) reader structure
139295    impl crate::Readable for ISTR {}
139296    ///`write(|w| ..)` method takes [istr::W](istr::W) writer structure
139297    impl crate::Writable for ISTR {}
139298    ///interrupt status register
139299    pub mod istr {
139300        ///Reader of register ISTR
139301        pub type R = crate::R<u16, super::ISTR>;
139302        ///Writer for register ISTR
139303        pub type W = crate::W<u16, super::ISTR>;
139304        ///Register ISTR `reset()`'s with value 0
139305        impl crate::ResetValue for super::ISTR {
139306            type Type = u16;
139307            #[inline(always)]
139308            fn reset_value() -> Self::Type {
139309                0
139310            }
139311        }
139312        ///Reader of field `EP_ID`
139313        pub type EP_ID_R = crate::R<u8, u8>;
139314        ///Reader of field `DIR`
139315        pub type DIR_R = crate::R<bool, bool>;
139316        ///Reader of field `L1REQ`
139317        pub type L1REQ_R = crate::R<bool, bool>;
139318        ///Write proxy for field `L1REQ`
139319        pub struct L1REQ_W<'a> {
139320            w: &'a mut W,
139321        }
139322        impl<'a> L1REQ_W<'a> {
139323            ///Sets the field bit
139324            #[inline(always)]
139325            pub fn set_bit(self) -> &'a mut W {
139326                self.bit(true)
139327            }
139328            ///Clears the field bit
139329            #[inline(always)]
139330            pub fn clear_bit(self) -> &'a mut W {
139331                self.bit(false)
139332            }
139333            ///Writes raw bits to the field
139334            #[inline(always)]
139335            pub fn bit(self, value: bool) -> &'a mut W {
139336                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u16) & 0x01) << 7);
139337                self.w
139338            }
139339        }
139340        ///Reader of field `ESOF`
139341        pub type ESOF_R = crate::R<bool, bool>;
139342        ///Write proxy for field `ESOF`
139343        pub struct ESOF_W<'a> {
139344            w: &'a mut W,
139345        }
139346        impl<'a> ESOF_W<'a> {
139347            ///Sets the field bit
139348            #[inline(always)]
139349            pub fn set_bit(self) -> &'a mut W {
139350                self.bit(true)
139351            }
139352            ///Clears the field bit
139353            #[inline(always)]
139354            pub fn clear_bit(self) -> &'a mut W {
139355                self.bit(false)
139356            }
139357            ///Writes raw bits to the field
139358            #[inline(always)]
139359            pub fn bit(self, value: bool) -> &'a mut W {
139360                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u16) & 0x01) << 8);
139361                self.w
139362            }
139363        }
139364        ///Reader of field `SOF`
139365        pub type SOF_R = crate::R<bool, bool>;
139366        ///Write proxy for field `SOF`
139367        pub struct SOF_W<'a> {
139368            w: &'a mut W,
139369        }
139370        impl<'a> SOF_W<'a> {
139371            ///Sets the field bit
139372            #[inline(always)]
139373            pub fn set_bit(self) -> &'a mut W {
139374                self.bit(true)
139375            }
139376            ///Clears the field bit
139377            #[inline(always)]
139378            pub fn clear_bit(self) -> &'a mut W {
139379                self.bit(false)
139380            }
139381            ///Writes raw bits to the field
139382            #[inline(always)]
139383            pub fn bit(self, value: bool) -> &'a mut W {
139384                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u16) & 0x01) << 9);
139385                self.w
139386            }
139387        }
139388        ///Reader of field `RESET`
139389        pub type RESET_R = crate::R<bool, bool>;
139390        ///Write proxy for field `RESET`
139391        pub struct RESET_W<'a> {
139392            w: &'a mut W,
139393        }
139394        impl<'a> RESET_W<'a> {
139395            ///Sets the field bit
139396            #[inline(always)]
139397            pub fn set_bit(self) -> &'a mut W {
139398                self.bit(true)
139399            }
139400            ///Clears the field bit
139401            #[inline(always)]
139402            pub fn clear_bit(self) -> &'a mut W {
139403                self.bit(false)
139404            }
139405            ///Writes raw bits to the field
139406            #[inline(always)]
139407            pub fn bit(self, value: bool) -> &'a mut W {
139408                self.w.bits = (self.w.bits & !(0x01 << 10)) | (((value as u16) & 0x01) << 10);
139409                self.w
139410            }
139411        }
139412        ///Reader of field `SUSP`
139413        pub type SUSP_R = crate::R<bool, bool>;
139414        ///Write proxy for field `SUSP`
139415        pub struct SUSP_W<'a> {
139416            w: &'a mut W,
139417        }
139418        impl<'a> SUSP_W<'a> {
139419            ///Sets the field bit
139420            #[inline(always)]
139421            pub fn set_bit(self) -> &'a mut W {
139422                self.bit(true)
139423            }
139424            ///Clears the field bit
139425            #[inline(always)]
139426            pub fn clear_bit(self) -> &'a mut W {
139427                self.bit(false)
139428            }
139429            ///Writes raw bits to the field
139430            #[inline(always)]
139431            pub fn bit(self, value: bool) -> &'a mut W {
139432                self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u16) & 0x01) << 11);
139433                self.w
139434            }
139435        }
139436        ///Reader of field `WKUP`
139437        pub type WKUP_R = crate::R<bool, bool>;
139438        ///Write proxy for field `WKUP`
139439        pub struct WKUP_W<'a> {
139440            w: &'a mut W,
139441        }
139442        impl<'a> WKUP_W<'a> {
139443            ///Sets the field bit
139444            #[inline(always)]
139445            pub fn set_bit(self) -> &'a mut W {
139446                self.bit(true)
139447            }
139448            ///Clears the field bit
139449            #[inline(always)]
139450            pub fn clear_bit(self) -> &'a mut W {
139451                self.bit(false)
139452            }
139453            ///Writes raw bits to the field
139454            #[inline(always)]
139455            pub fn bit(self, value: bool) -> &'a mut W {
139456                self.w.bits = (self.w.bits & !(0x01 << 12)) | (((value as u16) & 0x01) << 12);
139457                self.w
139458            }
139459        }
139460        ///Reader of field `ERR`
139461        pub type ERR_R = crate::R<bool, bool>;
139462        ///Write proxy for field `ERR`
139463        pub struct ERR_W<'a> {
139464            w: &'a mut W,
139465        }
139466        impl<'a> ERR_W<'a> {
139467            ///Sets the field bit
139468            #[inline(always)]
139469            pub fn set_bit(self) -> &'a mut W {
139470                self.bit(true)
139471            }
139472            ///Clears the field bit
139473            #[inline(always)]
139474            pub fn clear_bit(self) -> &'a mut W {
139475                self.bit(false)
139476            }
139477            ///Writes raw bits to the field
139478            #[inline(always)]
139479            pub fn bit(self, value: bool) -> &'a mut W {
139480                self.w.bits = (self.w.bits & !(0x01 << 13)) | (((value as u16) & 0x01) << 13);
139481                self.w
139482            }
139483        }
139484        ///Reader of field `PMAOVR`
139485        pub type PMAOVR_R = crate::R<bool, bool>;
139486        ///Write proxy for field `PMAOVR`
139487        pub struct PMAOVR_W<'a> {
139488            w: &'a mut W,
139489        }
139490        impl<'a> PMAOVR_W<'a> {
139491            ///Sets the field bit
139492            #[inline(always)]
139493            pub fn set_bit(self) -> &'a mut W {
139494                self.bit(true)
139495            }
139496            ///Clears the field bit
139497            #[inline(always)]
139498            pub fn clear_bit(self) -> &'a mut W {
139499                self.bit(false)
139500            }
139501            ///Writes raw bits to the field
139502            #[inline(always)]
139503            pub fn bit(self, value: bool) -> &'a mut W {
139504                self.w.bits = (self.w.bits & !(0x01 << 14)) | (((value as u16) & 0x01) << 14);
139505                self.w
139506            }
139507        }
139508        ///Reader of field `CTR`
139509        pub type CTR_R = crate::R<bool, bool>;
139510        impl R {
139511            ///Bits 0:3 - Endpoint Identifier
139512            #[inline(always)]
139513            pub fn ep_id(&self) -> EP_ID_R {
139514                EP_ID_R::new((self.bits & 0x0f) as u8)
139515            }
139516            ///Bit 4 - Direction of transaction
139517            #[inline(always)]
139518            pub fn dir(&self) -> DIR_R {
139519                DIR_R::new(((self.bits >> 4) & 0x01) != 0)
139520            }
139521            ///Bit 7 - LPM L1 state request
139522            #[inline(always)]
139523            pub fn l1req(&self) -> L1REQ_R {
139524                L1REQ_R::new(((self.bits >> 7) & 0x01) != 0)
139525            }
139526            ///Bit 8 - Expected start frame
139527            #[inline(always)]
139528            pub fn esof(&self) -> ESOF_R {
139529                ESOF_R::new(((self.bits >> 8) & 0x01) != 0)
139530            }
139531            ///Bit 9 - start of frame
139532            #[inline(always)]
139533            pub fn sof(&self) -> SOF_R {
139534                SOF_R::new(((self.bits >> 9) & 0x01) != 0)
139535            }
139536            ///Bit 10 - reset request
139537            #[inline(always)]
139538            pub fn reset(&self) -> RESET_R {
139539                RESET_R::new(((self.bits >> 10) & 0x01) != 0)
139540            }
139541            ///Bit 11 - Suspend mode request
139542            #[inline(always)]
139543            pub fn susp(&self) -> SUSP_R {
139544                SUSP_R::new(((self.bits >> 11) & 0x01) != 0)
139545            }
139546            ///Bit 12 - Wakeup
139547            #[inline(always)]
139548            pub fn wkup(&self) -> WKUP_R {
139549                WKUP_R::new(((self.bits >> 12) & 0x01) != 0)
139550            }
139551            ///Bit 13 - Error
139552            #[inline(always)]
139553            pub fn err(&self) -> ERR_R {
139554                ERR_R::new(((self.bits >> 13) & 0x01) != 0)
139555            }
139556            ///Bit 14 - Packet memory area over / underrun
139557            #[inline(always)]
139558            pub fn pmaovr(&self) -> PMAOVR_R {
139559                PMAOVR_R::new(((self.bits >> 14) & 0x01) != 0)
139560            }
139561            ///Bit 15 - Correct transfer
139562            #[inline(always)]
139563            pub fn ctr(&self) -> CTR_R {
139564                CTR_R::new(((self.bits >> 15) & 0x01) != 0)
139565            }
139566        }
139567        impl W {
139568            ///Bit 7 - LPM L1 state request
139569            #[inline(always)]
139570            pub fn l1req(&mut self) -> L1REQ_W {
139571                L1REQ_W { w: self }
139572            }
139573            ///Bit 8 - Expected start frame
139574            #[inline(always)]
139575            pub fn esof(&mut self) -> ESOF_W {
139576                ESOF_W { w: self }
139577            }
139578            ///Bit 9 - start of frame
139579            #[inline(always)]
139580            pub fn sof(&mut self) -> SOF_W {
139581                SOF_W { w: self }
139582            }
139583            ///Bit 10 - reset request
139584            #[inline(always)]
139585            pub fn reset(&mut self) -> RESET_W {
139586                RESET_W { w: self }
139587            }
139588            ///Bit 11 - Suspend mode request
139589            #[inline(always)]
139590            pub fn susp(&mut self) -> SUSP_W {
139591                SUSP_W { w: self }
139592            }
139593            ///Bit 12 - Wakeup
139594            #[inline(always)]
139595            pub fn wkup(&mut self) -> WKUP_W {
139596                WKUP_W { w: self }
139597            }
139598            ///Bit 13 - Error
139599            #[inline(always)]
139600            pub fn err(&mut self) -> ERR_W {
139601                ERR_W { w: self }
139602            }
139603            ///Bit 14 - Packet memory area over / underrun
139604            #[inline(always)]
139605            pub fn pmaovr(&mut self) -> PMAOVR_W {
139606                PMAOVR_W { w: self }
139607            }
139608        }
139609    }
139610    ///frame number register
139611    ///
139612    ///This register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
139613    ///
139614    ///For information about available fields see [fnr](fnr) module
139615    pub type FNR = crate::Reg<u16, _FNR>;
139616    #[allow(missing_docs)]
139617    #[doc(hidden)]
139618    pub struct _FNR;
139619    ///`read()` method returns [fnr::R](fnr::R) reader structure
139620    impl crate::Readable for FNR {}
139621    ///frame number register
139622    pub mod fnr {
139623        ///Reader of register FNR
139624        pub type R = crate::R<u16, super::FNR>;
139625        ///Reader of field `FN`
139626        pub type FN_R = crate::R<u16, u16>;
139627        ///Reader of field `LSOF`
139628        pub type LSOF_R = crate::R<u8, u8>;
139629        ///Reader of field `LCK`
139630        pub type LCK_R = crate::R<bool, bool>;
139631        ///Reader of field `RXDM`
139632        pub type RXDM_R = crate::R<bool, bool>;
139633        ///Reader of field `RXDP`
139634        pub type RXDP_R = crate::R<bool, bool>;
139635        impl R {
139636            ///Bits 0:10 - Frame number
139637            #[inline(always)]
139638            pub fn fn_(&self) -> FN_R {
139639                FN_R::new((self.bits & 0x07ff) as u16)
139640            }
139641            ///Bits 11:12 - Lost SOF
139642            #[inline(always)]
139643            pub fn lsof(&self) -> LSOF_R {
139644                LSOF_R::new(((self.bits >> 11) & 0x03) as u8)
139645            }
139646            ///Bit 13 - Locked
139647            #[inline(always)]
139648            pub fn lck(&self) -> LCK_R {
139649                LCK_R::new(((self.bits >> 13) & 0x01) != 0)
139650            }
139651            ///Bit 14 - Receive data - line status
139652            #[inline(always)]
139653            pub fn rxdm(&self) -> RXDM_R {
139654                RXDM_R::new(((self.bits >> 14) & 0x01) != 0)
139655            }
139656            ///Bit 15 - Receive data + line status
139657            #[inline(always)]
139658            pub fn rxdp(&self) -> RXDP_R {
139659                RXDP_R::new(((self.bits >> 15) & 0x01) != 0)
139660            }
139661        }
139662    }
139663    ///device address
139664    ///
139665    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
139666    ///
139667    ///For information about available fields see [daddr](daddr) module
139668    pub type DADDR = crate::Reg<u16, _DADDR>;
139669    #[allow(missing_docs)]
139670    #[doc(hidden)]
139671    pub struct _DADDR;
139672    ///`read()` method returns [daddr::R](daddr::R) reader structure
139673    impl crate::Readable for DADDR {}
139674    ///`write(|w| ..)` method takes [daddr::W](daddr::W) writer structure
139675    impl crate::Writable for DADDR {}
139676    ///device address
139677    pub mod daddr {
139678        ///Reader of register DADDR
139679        pub type R = crate::R<u16, super::DADDR>;
139680        ///Writer for register DADDR
139681        pub type W = crate::W<u16, super::DADDR>;
139682        ///Register DADDR `reset()`'s with value 0
139683        impl crate::ResetValue for super::DADDR {
139684            type Type = u16;
139685            #[inline(always)]
139686            fn reset_value() -> Self::Type {
139687                0
139688            }
139689        }
139690        ///Reader of field `ADD`
139691        pub type ADD_R = crate::R<u8, u8>;
139692        ///Write proxy for field `ADD`
139693        pub struct ADD_W<'a> {
139694            w: &'a mut W,
139695        }
139696        impl<'a> ADD_W<'a> {
139697            ///Writes raw bits to the field
139698            #[inline(always)]
139699            pub unsafe fn bits(self, value: u8) -> &'a mut W {
139700                self.w.bits = (self.w.bits & !0x7f) | ((value as u16) & 0x7f);
139701                self.w
139702            }
139703        }
139704        ///Reader of field `EF`
139705        pub type EF_R = crate::R<bool, bool>;
139706        ///Write proxy for field `EF`
139707        pub struct EF_W<'a> {
139708            w: &'a mut W,
139709        }
139710        impl<'a> EF_W<'a> {
139711            ///Sets the field bit
139712            #[inline(always)]
139713            pub fn set_bit(self) -> &'a mut W {
139714                self.bit(true)
139715            }
139716            ///Clears the field bit
139717            #[inline(always)]
139718            pub fn clear_bit(self) -> &'a mut W {
139719                self.bit(false)
139720            }
139721            ///Writes raw bits to the field
139722            #[inline(always)]
139723            pub fn bit(self, value: bool) -> &'a mut W {
139724                self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u16) & 0x01) << 7);
139725                self.w
139726            }
139727        }
139728        impl R {
139729            ///Bits 0:6 - Device address
139730            #[inline(always)]
139731            pub fn add(&self) -> ADD_R {
139732                ADD_R::new((self.bits & 0x7f) as u8)
139733            }
139734            ///Bit 7 - Enable function
139735            #[inline(always)]
139736            pub fn ef(&self) -> EF_R {
139737                EF_R::new(((self.bits >> 7) & 0x01) != 0)
139738            }
139739        }
139740        impl W {
139741            ///Bits 0:6 - Device address
139742            #[inline(always)]
139743            pub fn add(&mut self) -> ADD_W {
139744                ADD_W { w: self }
139745            }
139746            ///Bit 7 - Enable function
139747            #[inline(always)]
139748            pub fn ef(&mut self) -> EF_W {
139749                EF_W { w: self }
139750            }
139751        }
139752    }
139753    ///Buffer table address
139754    ///
139755    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
139756    ///
139757    ///For information about available fields see [btable](btable) module
139758    pub type BTABLE = crate::Reg<u16, _BTABLE>;
139759    #[allow(missing_docs)]
139760    #[doc(hidden)]
139761    pub struct _BTABLE;
139762    ///`read()` method returns [btable::R](btable::R) reader structure
139763    impl crate::Readable for BTABLE {}
139764    ///`write(|w| ..)` method takes [btable::W](btable::W) writer structure
139765    impl crate::Writable for BTABLE {}
139766    ///Buffer table address
139767    pub mod btable {
139768        ///Reader of register BTABLE
139769        pub type R = crate::R<u16, super::BTABLE>;
139770        ///Writer for register BTABLE
139771        pub type W = crate::W<u16, super::BTABLE>;
139772        ///Register BTABLE `reset()`'s with value 0
139773        impl crate::ResetValue for super::BTABLE {
139774            type Type = u16;
139775            #[inline(always)]
139776            fn reset_value() -> Self::Type {
139777                0
139778            }
139779        }
139780        ///Reader of field `BTABLE`
139781        pub type BTABLE_R = crate::R<u16, u16>;
139782        ///Write proxy for field `BTABLE`
139783        pub struct BTABLE_W<'a> {
139784            w: &'a mut W,
139785        }
139786        impl<'a> BTABLE_W<'a> {
139787            ///Writes raw bits to the field
139788            #[inline(always)]
139789            pub unsafe fn bits(self, value: u16) -> &'a mut W {
139790                self.w.bits = (self.w.bits & !(0x1fff << 3)) | (((value as u16) & 0x1fff) << 3);
139791                self.w
139792            }
139793        }
139794        impl R {
139795            ///Bits 3:15 - Buffer table
139796            #[inline(always)]
139797            pub fn btable(&self) -> BTABLE_R {
139798                BTABLE_R::new(((self.bits >> 3) & 0x1fff) as u16)
139799            }
139800        }
139801        impl W {
139802            ///Bits 3:15 - Buffer table
139803            #[inline(always)]
139804            pub fn btable(&mut self) -> BTABLE_W {
139805                BTABLE_W { w: self }
139806            }
139807        }
139808    }
139809    ///Transmission byte count 0
139810    ///
139811    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
139812    ///
139813    ///For information about available fields see [count0_tx](count0_tx) module
139814    pub type COUNT0_TX = crate::Reg<u16, _COUNT0_TX>;
139815    #[allow(missing_docs)]
139816    #[doc(hidden)]
139817    pub struct _COUNT0_TX;
139818    ///`read()` method returns [count0_tx::R](count0_tx::R) reader structure
139819    impl crate::Readable for COUNT0_TX {}
139820    ///`write(|w| ..)` method takes [count0_tx::W](count0_tx::W) writer structure
139821    impl crate::Writable for COUNT0_TX {}
139822    ///Transmission byte count 0
139823    pub mod count0_tx {
139824        ///Reader of register COUNT0_TX
139825        pub type R = crate::R<u16, super::COUNT0_TX>;
139826        ///Writer for register COUNT0_TX
139827        pub type W = crate::W<u16, super::COUNT0_TX>;
139828        ///Register COUNT0_TX `reset()`'s with value 0
139829        impl crate::ResetValue for super::COUNT0_TX {
139830            type Type = u16;
139831            #[inline(always)]
139832            fn reset_value() -> Self::Type {
139833                0
139834            }
139835        }
139836        ///Reader of field `COUNT0_TX`
139837        pub type COUNT0_TX_R = crate::R<u16, u16>;
139838        ///Write proxy for field `COUNT0_TX`
139839        pub struct COUNT0_TX_W<'a> {
139840            w: &'a mut W,
139841        }
139842        impl<'a> COUNT0_TX_W<'a> {
139843            ///Writes raw bits to the field
139844            #[inline(always)]
139845            pub unsafe fn bits(self, value: u16) -> &'a mut W {
139846                self.w.bits = (self.w.bits & !0x03ff) | ((value as u16) & 0x03ff);
139847                self.w
139848            }
139849        }
139850        impl R {
139851            ///Bits 0:9 - Transmission byte count
139852            #[inline(always)]
139853            pub fn count0_tx(&self) -> COUNT0_TX_R {
139854                COUNT0_TX_R::new((self.bits & 0x03ff) as u16)
139855            }
139856        }
139857        impl W {
139858            ///Bits 0:9 - Transmission byte count
139859            #[inline(always)]
139860            pub fn count0_tx(&mut self) -> COUNT0_TX_W {
139861                COUNT0_TX_W { w: self }
139862            }
139863        }
139864    }
139865    ///Transmission byte count 0
139866    ///
139867    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
139868    ///
139869    ///For information about available fields see [count1_tx](count1_tx) module
139870    pub type COUNT1_TX = crate::Reg<u16, _COUNT1_TX>;
139871    #[allow(missing_docs)]
139872    #[doc(hidden)]
139873    pub struct _COUNT1_TX;
139874    ///`read()` method returns [count1_tx::R](count1_tx::R) reader structure
139875    impl crate::Readable for COUNT1_TX {}
139876    ///`write(|w| ..)` method takes [count1_tx::W](count1_tx::W) writer structure
139877    impl crate::Writable for COUNT1_TX {}
139878    ///Transmission byte count 0
139879    pub mod count1_tx {
139880        ///Reader of register COUNT1_TX
139881        pub type R = crate::R<u16, super::COUNT1_TX>;
139882        ///Writer for register COUNT1_TX
139883        pub type W = crate::W<u16, super::COUNT1_TX>;
139884        ///Register COUNT1_TX `reset()`'s with value 0
139885        impl crate::ResetValue for super::COUNT1_TX {
139886            type Type = u16;
139887            #[inline(always)]
139888            fn reset_value() -> Self::Type {
139889                0
139890            }
139891        }
139892        ///Reader of field `COUNT1_TX`
139893        pub type COUNT1_TX_R = crate::R<u16, u16>;
139894        ///Write proxy for field `COUNT1_TX`
139895        pub struct COUNT1_TX_W<'a> {
139896            w: &'a mut W,
139897        }
139898        impl<'a> COUNT1_TX_W<'a> {
139899            ///Writes raw bits to the field
139900            #[inline(always)]
139901            pub unsafe fn bits(self, value: u16) -> &'a mut W {
139902                self.w.bits = (self.w.bits & !0x03ff) | ((value as u16) & 0x03ff);
139903                self.w
139904            }
139905        }
139906        impl R {
139907            ///Bits 0:9 - Transmission byte count
139908            #[inline(always)]
139909            pub fn count1_tx(&self) -> COUNT1_TX_R {
139910                COUNT1_TX_R::new((self.bits & 0x03ff) as u16)
139911            }
139912        }
139913        impl W {
139914            ///Bits 0:9 - Transmission byte count
139915            #[inline(always)]
139916            pub fn count1_tx(&mut self) -> COUNT1_TX_W {
139917                COUNT1_TX_W { w: self }
139918            }
139919        }
139920    }
139921    ///Transmission byte count 0
139922    ///
139923    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
139924    ///
139925    ///For information about available fields see [count2_tx](count2_tx) module
139926    pub type COUNT2_TX = crate::Reg<u16, _COUNT2_TX>;
139927    #[allow(missing_docs)]
139928    #[doc(hidden)]
139929    pub struct _COUNT2_TX;
139930    ///`read()` method returns [count2_tx::R](count2_tx::R) reader structure
139931    impl crate::Readable for COUNT2_TX {}
139932    ///`write(|w| ..)` method takes [count2_tx::W](count2_tx::W) writer structure
139933    impl crate::Writable for COUNT2_TX {}
139934    ///Transmission byte count 0
139935    pub mod count2_tx {
139936        ///Reader of register COUNT2_TX
139937        pub type R = crate::R<u16, super::COUNT2_TX>;
139938        ///Writer for register COUNT2_TX
139939        pub type W = crate::W<u16, super::COUNT2_TX>;
139940        ///Register COUNT2_TX `reset()`'s with value 0
139941        impl crate::ResetValue for super::COUNT2_TX {
139942            type Type = u16;
139943            #[inline(always)]
139944            fn reset_value() -> Self::Type {
139945                0
139946            }
139947        }
139948        ///Reader of field `COUNT2_TX`
139949        pub type COUNT2_TX_R = crate::R<u16, u16>;
139950        ///Write proxy for field `COUNT2_TX`
139951        pub struct COUNT2_TX_W<'a> {
139952            w: &'a mut W,
139953        }
139954        impl<'a> COUNT2_TX_W<'a> {
139955            ///Writes raw bits to the field
139956            #[inline(always)]
139957            pub unsafe fn bits(self, value: u16) -> &'a mut W {
139958                self.w.bits = (self.w.bits & !0x03ff) | ((value as u16) & 0x03ff);
139959                self.w
139960            }
139961        }
139962        impl R {
139963            ///Bits 0:9 - Transmission byte count
139964            #[inline(always)]
139965            pub fn count2_tx(&self) -> COUNT2_TX_R {
139966                COUNT2_TX_R::new((self.bits & 0x03ff) as u16)
139967            }
139968        }
139969        impl W {
139970            ///Bits 0:9 - Transmission byte count
139971            #[inline(always)]
139972            pub fn count2_tx(&mut self) -> COUNT2_TX_W {
139973                COUNT2_TX_W { w: self }
139974            }
139975        }
139976    }
139977    ///Transmission byte count 0
139978    ///
139979    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
139980    ///
139981    ///For information about available fields see [count3_tx](count3_tx) module
139982    pub type COUNT3_TX = crate::Reg<u16, _COUNT3_TX>;
139983    #[allow(missing_docs)]
139984    #[doc(hidden)]
139985    pub struct _COUNT3_TX;
139986    ///`read()` method returns [count3_tx::R](count3_tx::R) reader structure
139987    impl crate::Readable for COUNT3_TX {}
139988    ///`write(|w| ..)` method takes [count3_tx::W](count3_tx::W) writer structure
139989    impl crate::Writable for COUNT3_TX {}
139990    ///Transmission byte count 0
139991    pub mod count3_tx {
139992        ///Reader of register COUNT3_TX
139993        pub type R = crate::R<u16, super::COUNT3_TX>;
139994        ///Writer for register COUNT3_TX
139995        pub type W = crate::W<u16, super::COUNT3_TX>;
139996        ///Register COUNT3_TX `reset()`'s with value 0
139997        impl crate::ResetValue for super::COUNT3_TX {
139998            type Type = u16;
139999            #[inline(always)]
140000            fn reset_value() -> Self::Type {
140001                0
140002            }
140003        }
140004        ///Reader of field `COUNT3_TX`
140005        pub type COUNT3_TX_R = crate::R<u16, u16>;
140006        ///Write proxy for field `COUNT3_TX`
140007        pub struct COUNT3_TX_W<'a> {
140008            w: &'a mut W,
140009        }
140010        impl<'a> COUNT3_TX_W<'a> {
140011            ///Writes raw bits to the field
140012            #[inline(always)]
140013            pub unsafe fn bits(self, value: u16) -> &'a mut W {
140014                self.w.bits = (self.w.bits & !0x03ff) | ((value as u16) & 0x03ff);
140015                self.w
140016            }
140017        }
140018        impl R {
140019            ///Bits 0:9 - Transmission byte count
140020            #[inline(always)]
140021            pub fn count3_tx(&self) -> COUNT3_TX_R {
140022                COUNT3_TX_R::new((self.bits & 0x03ff) as u16)
140023            }
140024        }
140025        impl W {
140026            ///Bits 0:9 - Transmission byte count
140027            #[inline(always)]
140028            pub fn count3_tx(&mut self) -> COUNT3_TX_W {
140029                COUNT3_TX_W { w: self }
140030            }
140031        }
140032    }
140033    ///Transmission byte count 0
140034    ///
140035    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
140036    ///
140037    ///For information about available fields see [count4_tx](count4_tx) module
140038    pub type COUNT4_TX = crate::Reg<u16, _COUNT4_TX>;
140039    #[allow(missing_docs)]
140040    #[doc(hidden)]
140041    pub struct _COUNT4_TX;
140042    ///`read()` method returns [count4_tx::R](count4_tx::R) reader structure
140043    impl crate::Readable for COUNT4_TX {}
140044    ///`write(|w| ..)` method takes [count4_tx::W](count4_tx::W) writer structure
140045    impl crate::Writable for COUNT4_TX {}
140046    ///Transmission byte count 0
140047    pub mod count4_tx {
140048        ///Reader of register COUNT4_TX
140049        pub type R = crate::R<u16, super::COUNT4_TX>;
140050        ///Writer for register COUNT4_TX
140051        pub type W = crate::W<u16, super::COUNT4_TX>;
140052        ///Register COUNT4_TX `reset()`'s with value 0
140053        impl crate::ResetValue for super::COUNT4_TX {
140054            type Type = u16;
140055            #[inline(always)]
140056            fn reset_value() -> Self::Type {
140057                0
140058            }
140059        }
140060        ///Reader of field `COUNT4_TX`
140061        pub type COUNT4_TX_R = crate::R<u16, u16>;
140062        ///Write proxy for field `COUNT4_TX`
140063        pub struct COUNT4_TX_W<'a> {
140064            w: &'a mut W,
140065        }
140066        impl<'a> COUNT4_TX_W<'a> {
140067            ///Writes raw bits to the field
140068            #[inline(always)]
140069            pub unsafe fn bits(self, value: u16) -> &'a mut W {
140070                self.w.bits = (self.w.bits & !0x03ff) | ((value as u16) & 0x03ff);
140071                self.w
140072            }
140073        }
140074        impl R {
140075            ///Bits 0:9 - Transmission byte count
140076            #[inline(always)]
140077            pub fn count4_tx(&self) -> COUNT4_TX_R {
140078                COUNT4_TX_R::new((self.bits & 0x03ff) as u16)
140079            }
140080        }
140081        impl W {
140082            ///Bits 0:9 - Transmission byte count
140083            #[inline(always)]
140084            pub fn count4_tx(&mut self) -> COUNT4_TX_W {
140085                COUNT4_TX_W { w: self }
140086            }
140087        }
140088    }
140089    ///Transmission byte count 0
140090    ///
140091    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
140092    ///
140093    ///For information about available fields see [count5_tx](count5_tx) module
140094    pub type COUNT5_TX = crate::Reg<u16, _COUNT5_TX>;
140095    #[allow(missing_docs)]
140096    #[doc(hidden)]
140097    pub struct _COUNT5_TX;
140098    ///`read()` method returns [count5_tx::R](count5_tx::R) reader structure
140099    impl crate::Readable for COUNT5_TX {}
140100    ///`write(|w| ..)` method takes [count5_tx::W](count5_tx::W) writer structure
140101    impl crate::Writable for COUNT5_TX {}
140102    ///Transmission byte count 0
140103    pub mod count5_tx {
140104        ///Reader of register COUNT5_TX
140105        pub type R = crate::R<u16, super::COUNT5_TX>;
140106        ///Writer for register COUNT5_TX
140107        pub type W = crate::W<u16, super::COUNT5_TX>;
140108        ///Register COUNT5_TX `reset()`'s with value 0
140109        impl crate::ResetValue for super::COUNT5_TX {
140110            type Type = u16;
140111            #[inline(always)]
140112            fn reset_value() -> Self::Type {
140113                0
140114            }
140115        }
140116        ///Reader of field `COUNT5_TX`
140117        pub type COUNT5_TX_R = crate::R<u16, u16>;
140118        ///Write proxy for field `COUNT5_TX`
140119        pub struct COUNT5_TX_W<'a> {
140120            w: &'a mut W,
140121        }
140122        impl<'a> COUNT5_TX_W<'a> {
140123            ///Writes raw bits to the field
140124            #[inline(always)]
140125            pub unsafe fn bits(self, value: u16) -> &'a mut W {
140126                self.w.bits = (self.w.bits & !0x03ff) | ((value as u16) & 0x03ff);
140127                self.w
140128            }
140129        }
140130        impl R {
140131            ///Bits 0:9 - Transmission byte count
140132            #[inline(always)]
140133            pub fn count5_tx(&self) -> COUNT5_TX_R {
140134                COUNT5_TX_R::new((self.bits & 0x03ff) as u16)
140135            }
140136        }
140137        impl W {
140138            ///Bits 0:9 - Transmission byte count
140139            #[inline(always)]
140140            pub fn count5_tx(&mut self) -> COUNT5_TX_W {
140141                COUNT5_TX_W { w: self }
140142            }
140143        }
140144    }
140145    ///Transmission byte count 0
140146    ///
140147    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
140148    ///
140149    ///For information about available fields see [count6_tx](count6_tx) module
140150    pub type COUNT6_TX = crate::Reg<u16, _COUNT6_TX>;
140151    #[allow(missing_docs)]
140152    #[doc(hidden)]
140153    pub struct _COUNT6_TX;
140154    ///`read()` method returns [count6_tx::R](count6_tx::R) reader structure
140155    impl crate::Readable for COUNT6_TX {}
140156    ///`write(|w| ..)` method takes [count6_tx::W](count6_tx::W) writer structure
140157    impl crate::Writable for COUNT6_TX {}
140158    ///Transmission byte count 0
140159    pub mod count6_tx {
140160        ///Reader of register COUNT6_TX
140161        pub type R = crate::R<u16, super::COUNT6_TX>;
140162        ///Writer for register COUNT6_TX
140163        pub type W = crate::W<u16, super::COUNT6_TX>;
140164        ///Register COUNT6_TX `reset()`'s with value 0
140165        impl crate::ResetValue for super::COUNT6_TX {
140166            type Type = u16;
140167            #[inline(always)]
140168            fn reset_value() -> Self::Type {
140169                0
140170            }
140171        }
140172        ///Reader of field `COUNT6_TX`
140173        pub type COUNT6_TX_R = crate::R<u16, u16>;
140174        ///Write proxy for field `COUNT6_TX`
140175        pub struct COUNT6_TX_W<'a> {
140176            w: &'a mut W,
140177        }
140178        impl<'a> COUNT6_TX_W<'a> {
140179            ///Writes raw bits to the field
140180            #[inline(always)]
140181            pub unsafe fn bits(self, value: u16) -> &'a mut W {
140182                self.w.bits = (self.w.bits & !0x03ff) | ((value as u16) & 0x03ff);
140183                self.w
140184            }
140185        }
140186        impl R {
140187            ///Bits 0:9 - Transmission byte count
140188            #[inline(always)]
140189            pub fn count6_tx(&self) -> COUNT6_TX_R {
140190                COUNT6_TX_R::new((self.bits & 0x03ff) as u16)
140191            }
140192        }
140193        impl W {
140194            ///Bits 0:9 - Transmission byte count
140195            #[inline(always)]
140196            pub fn count6_tx(&mut self) -> COUNT6_TX_W {
140197                COUNT6_TX_W { w: self }
140198            }
140199        }
140200    }
140201    ///Transmission byte count 0
140202    ///
140203    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
140204    ///
140205    ///For information about available fields see [count7_tx](count7_tx) module
140206    pub type COUNT7_TX = crate::Reg<u16, _COUNT7_TX>;
140207    #[allow(missing_docs)]
140208    #[doc(hidden)]
140209    pub struct _COUNT7_TX;
140210    ///`read()` method returns [count7_tx::R](count7_tx::R) reader structure
140211    impl crate::Readable for COUNT7_TX {}
140212    ///`write(|w| ..)` method takes [count7_tx::W](count7_tx::W) writer structure
140213    impl crate::Writable for COUNT7_TX {}
140214    ///Transmission byte count 0
140215    pub mod count7_tx {
140216        ///Reader of register COUNT7_TX
140217        pub type R = crate::R<u16, super::COUNT7_TX>;
140218        ///Writer for register COUNT7_TX
140219        pub type W = crate::W<u16, super::COUNT7_TX>;
140220        ///Register COUNT7_TX `reset()`'s with value 0
140221        impl crate::ResetValue for super::COUNT7_TX {
140222            type Type = u16;
140223            #[inline(always)]
140224            fn reset_value() -> Self::Type {
140225                0
140226            }
140227        }
140228        ///Reader of field `COUNT7_TX`
140229        pub type COUNT7_TX_R = crate::R<u16, u16>;
140230        ///Write proxy for field `COUNT7_TX`
140231        pub struct COUNT7_TX_W<'a> {
140232            w: &'a mut W,
140233        }
140234        impl<'a> COUNT7_TX_W<'a> {
140235            ///Writes raw bits to the field
140236            #[inline(always)]
140237            pub unsafe fn bits(self, value: u16) -> &'a mut W {
140238                self.w.bits = (self.w.bits & !0x03ff) | ((value as u16) & 0x03ff);
140239                self.w
140240            }
140241        }
140242        impl R {
140243            ///Bits 0:9 - Transmission byte count
140244            #[inline(always)]
140245            pub fn count7_tx(&self) -> COUNT7_TX_R {
140246                COUNT7_TX_R::new((self.bits & 0x03ff) as u16)
140247            }
140248        }
140249        impl W {
140250            ///Bits 0:9 - Transmission byte count
140251            #[inline(always)]
140252            pub fn count7_tx(&mut self) -> COUNT7_TX_W {
140253                COUNT7_TX_W { w: self }
140254            }
140255        }
140256    }
140257    ///Reception buffer address 0
140258    ///
140259    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
140260    ///
140261    ///For information about available fields see [addr0_rx](addr0_rx) module
140262    pub type ADDR0_RX = crate::Reg<u16, _ADDR0_RX>;
140263    #[allow(missing_docs)]
140264    #[doc(hidden)]
140265    pub struct _ADDR0_RX;
140266    ///`read()` method returns [addr0_rx::R](addr0_rx::R) reader structure
140267    impl crate::Readable for ADDR0_RX {}
140268    ///`write(|w| ..)` method takes [addr0_rx::W](addr0_rx::W) writer structure
140269    impl crate::Writable for ADDR0_RX {}
140270    ///Reception buffer address 0
140271    pub mod addr0_rx {
140272        ///Reader of register ADDR0_RX
140273        pub type R = crate::R<u16, super::ADDR0_RX>;
140274        ///Writer for register ADDR0_RX
140275        pub type W = crate::W<u16, super::ADDR0_RX>;
140276        ///Register ADDR0_RX `reset()`'s with value 0
140277        impl crate::ResetValue for super::ADDR0_RX {
140278            type Type = u16;
140279            #[inline(always)]
140280            fn reset_value() -> Self::Type {
140281                0
140282            }
140283        }
140284        ///Reader of field `ADDR0_RX`
140285        pub type ADDR0_RX_R = crate::R<u16, u16>;
140286        ///Write proxy for field `ADDR0_RX`
140287        pub struct ADDR0_RX_W<'a> {
140288            w: &'a mut W,
140289        }
140290        impl<'a> ADDR0_RX_W<'a> {
140291            ///Writes raw bits to the field
140292            #[inline(always)]
140293            pub unsafe fn bits(self, value: u16) -> &'a mut W {
140294                self.w.bits = (self.w.bits & !(0x7fff << 1)) | (((value as u16) & 0x7fff) << 1);
140295                self.w
140296            }
140297        }
140298        impl R {
140299            ///Bits 1:15 - Reception buffer address
140300            #[inline(always)]
140301            pub fn addr0_rx(&self) -> ADDR0_RX_R {
140302                ADDR0_RX_R::new(((self.bits >> 1) & 0x7fff) as u16)
140303            }
140304        }
140305        impl W {
140306            ///Bits 1:15 - Reception buffer address
140307            #[inline(always)]
140308            pub fn addr0_rx(&mut self) -> ADDR0_RX_W {
140309                ADDR0_RX_W { w: self }
140310            }
140311        }
140312    }
140313    ///Reception buffer address 0
140314    ///
140315    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
140316    ///
140317    ///For information about available fields see [addr1_rx](addr1_rx) module
140318    pub type ADDR1_RX = crate::Reg<u16, _ADDR1_RX>;
140319    #[allow(missing_docs)]
140320    #[doc(hidden)]
140321    pub struct _ADDR1_RX;
140322    ///`read()` method returns [addr1_rx::R](addr1_rx::R) reader structure
140323    impl crate::Readable for ADDR1_RX {}
140324    ///`write(|w| ..)` method takes [addr1_rx::W](addr1_rx::W) writer structure
140325    impl crate::Writable for ADDR1_RX {}
140326    ///Reception buffer address 0
140327    pub mod addr1_rx {
140328        ///Reader of register ADDR1_RX
140329        pub type R = crate::R<u16, super::ADDR1_RX>;
140330        ///Writer for register ADDR1_RX
140331        pub type W = crate::W<u16, super::ADDR1_RX>;
140332        ///Register ADDR1_RX `reset()`'s with value 0
140333        impl crate::ResetValue for super::ADDR1_RX {
140334            type Type = u16;
140335            #[inline(always)]
140336            fn reset_value() -> Self::Type {
140337                0
140338            }
140339        }
140340        ///Reader of field `ADDR1_RX`
140341        pub type ADDR1_RX_R = crate::R<u16, u16>;
140342        ///Write proxy for field `ADDR1_RX`
140343        pub struct ADDR1_RX_W<'a> {
140344            w: &'a mut W,
140345        }
140346        impl<'a> ADDR1_RX_W<'a> {
140347            ///Writes raw bits to the field
140348            #[inline(always)]
140349            pub unsafe fn bits(self, value: u16) -> &'a mut W {
140350                self.w.bits = (self.w.bits & !(0x7fff << 1)) | (((value as u16) & 0x7fff) << 1);
140351                self.w
140352            }
140353        }
140354        impl R {
140355            ///Bits 1:15 - Reception buffer address
140356            #[inline(always)]
140357            pub fn addr1_rx(&self) -> ADDR1_RX_R {
140358                ADDR1_RX_R::new(((self.bits >> 1) & 0x7fff) as u16)
140359            }
140360        }
140361        impl W {
140362            ///Bits 1:15 - Reception buffer address
140363            #[inline(always)]
140364            pub fn addr1_rx(&mut self) -> ADDR1_RX_W {
140365                ADDR1_RX_W { w: self }
140366            }
140367        }
140368    }
140369    ///Reception buffer address 0
140370    ///
140371    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
140372    ///
140373    ///For information about available fields see [addr2_rx](addr2_rx) module
140374    pub type ADDR2_RX = crate::Reg<u16, _ADDR2_RX>;
140375    #[allow(missing_docs)]
140376    #[doc(hidden)]
140377    pub struct _ADDR2_RX;
140378    ///`read()` method returns [addr2_rx::R](addr2_rx::R) reader structure
140379    impl crate::Readable for ADDR2_RX {}
140380    ///`write(|w| ..)` method takes [addr2_rx::W](addr2_rx::W) writer structure
140381    impl crate::Writable for ADDR2_RX {}
140382    ///Reception buffer address 0
140383    pub mod addr2_rx {
140384        ///Reader of register ADDR2_RX
140385        pub type R = crate::R<u16, super::ADDR2_RX>;
140386        ///Writer for register ADDR2_RX
140387        pub type W = crate::W<u16, super::ADDR2_RX>;
140388        ///Register ADDR2_RX `reset()`'s with value 0
140389        impl crate::ResetValue for super::ADDR2_RX {
140390            type Type = u16;
140391            #[inline(always)]
140392            fn reset_value() -> Self::Type {
140393                0
140394            }
140395        }
140396        ///Reader of field `ADDR2_RX`
140397        pub type ADDR2_RX_R = crate::R<u16, u16>;
140398        ///Write proxy for field `ADDR2_RX`
140399        pub struct ADDR2_RX_W<'a> {
140400            w: &'a mut W,
140401        }
140402        impl<'a> ADDR2_RX_W<'a> {
140403            ///Writes raw bits to the field
140404            #[inline(always)]
140405            pub unsafe fn bits(self, value: u16) -> &'a mut W {
140406                self.w.bits = (self.w.bits & !(0x7fff << 1)) | (((value as u16) & 0x7fff) << 1);
140407                self.w
140408            }
140409        }
140410        impl R {
140411            ///Bits 1:15 - Reception buffer address
140412            #[inline(always)]
140413            pub fn addr2_rx(&self) -> ADDR2_RX_R {
140414                ADDR2_RX_R::new(((self.bits >> 1) & 0x7fff) as u16)
140415            }
140416        }
140417        impl W {
140418            ///Bits 1:15 - Reception buffer address
140419            #[inline(always)]
140420            pub fn addr2_rx(&mut self) -> ADDR2_RX_W {
140421                ADDR2_RX_W { w: self }
140422            }
140423        }
140424    }
140425    ///Reception buffer address 0
140426    ///
140427    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
140428    ///
140429    ///For information about available fields see [addr3_rx](addr3_rx) module
140430    pub type ADDR3_RX = crate::Reg<u16, _ADDR3_RX>;
140431    #[allow(missing_docs)]
140432    #[doc(hidden)]
140433    pub struct _ADDR3_RX;
140434    ///`read()` method returns [addr3_rx::R](addr3_rx::R) reader structure
140435    impl crate::Readable for ADDR3_RX {}
140436    ///`write(|w| ..)` method takes [addr3_rx::W](addr3_rx::W) writer structure
140437    impl crate::Writable for ADDR3_RX {}
140438    ///Reception buffer address 0
140439    pub mod addr3_rx {
140440        ///Reader of register ADDR3_RX
140441        pub type R = crate::R<u16, super::ADDR3_RX>;
140442        ///Writer for register ADDR3_RX
140443        pub type W = crate::W<u16, super::ADDR3_RX>;
140444        ///Register ADDR3_RX `reset()`'s with value 0
140445        impl crate::ResetValue for super::ADDR3_RX {
140446            type Type = u16;
140447            #[inline(always)]
140448            fn reset_value() -> Self::Type {
140449                0
140450            }
140451        }
140452        ///Reader of field `ADDR3_RX`
140453        pub type ADDR3_RX_R = crate::R<u16, u16>;
140454        ///Write proxy for field `ADDR3_RX`
140455        pub struct ADDR3_RX_W<'a> {
140456            w: &'a mut W,
140457        }
140458        impl<'a> ADDR3_RX_W<'a> {
140459            ///Writes raw bits to the field
140460            #[inline(always)]
140461            pub unsafe fn bits(self, value: u16) -> &'a mut W {
140462                self.w.bits = (self.w.bits & !(0x7fff << 1)) | (((value as u16) & 0x7fff) << 1);
140463                self.w
140464            }
140465        }
140466        impl R {
140467            ///Bits 1:15 - Reception buffer address
140468            #[inline(always)]
140469            pub fn addr3_rx(&self) -> ADDR3_RX_R {
140470                ADDR3_RX_R::new(((self.bits >> 1) & 0x7fff) as u16)
140471            }
140472        }
140473        impl W {
140474            ///Bits 1:15 - Reception buffer address
140475            #[inline(always)]
140476            pub fn addr3_rx(&mut self) -> ADDR3_RX_W {
140477                ADDR3_RX_W { w: self }
140478            }
140479        }
140480    }
140481    ///Reception buffer address 0
140482    ///
140483    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
140484    ///
140485    ///For information about available fields see [addr4_rx](addr4_rx) module
140486    pub type ADDR4_RX = crate::Reg<u16, _ADDR4_RX>;
140487    #[allow(missing_docs)]
140488    #[doc(hidden)]
140489    pub struct _ADDR4_RX;
140490    ///`read()` method returns [addr4_rx::R](addr4_rx::R) reader structure
140491    impl crate::Readable for ADDR4_RX {}
140492    ///`write(|w| ..)` method takes [addr4_rx::W](addr4_rx::W) writer structure
140493    impl crate::Writable for ADDR4_RX {}
140494    ///Reception buffer address 0
140495    pub mod addr4_rx {
140496        ///Reader of register ADDR4_RX
140497        pub type R = crate::R<u16, super::ADDR4_RX>;
140498        ///Writer for register ADDR4_RX
140499        pub type W = crate::W<u16, super::ADDR4_RX>;
140500        ///Register ADDR4_RX `reset()`'s with value 0
140501        impl crate::ResetValue for super::ADDR4_RX {
140502            type Type = u16;
140503            #[inline(always)]
140504            fn reset_value() -> Self::Type {
140505                0
140506            }
140507        }
140508        ///Reader of field `ADDR4_RX`
140509        pub type ADDR4_RX_R = crate::R<u16, u16>;
140510        ///Write proxy for field `ADDR4_RX`
140511        pub struct ADDR4_RX_W<'a> {
140512            w: &'a mut W,
140513        }
140514        impl<'a> ADDR4_RX_W<'a> {
140515            ///Writes raw bits to the field
140516            #[inline(always)]
140517            pub unsafe fn bits(self, value: u16) -> &'a mut W {
140518                self.w.bits = (self.w.bits & !(0x7fff << 1)) | (((value as u16) & 0x7fff) << 1);
140519                self.w
140520            }
140521        }
140522        impl R {
140523            ///Bits 1:15 - Reception buffer address
140524            #[inline(always)]
140525            pub fn addr4_rx(&self) -> ADDR4_RX_R {
140526                ADDR4_RX_R::new(((self.bits >> 1) & 0x7fff) as u16)
140527            }
140528        }
140529        impl W {
140530            ///Bits 1:15 - Reception buffer address
140531            #[inline(always)]
140532            pub fn addr4_rx(&mut self) -> ADDR4_RX_W {
140533                ADDR4_RX_W { w: self }
140534            }
140535        }
140536    }
140537    ///Reception buffer address 0
140538    ///
140539    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
140540    ///
140541    ///For information about available fields see [addr5_rx](addr5_rx) module
140542    pub type ADDR5_RX = crate::Reg<u16, _ADDR5_RX>;
140543    #[allow(missing_docs)]
140544    #[doc(hidden)]
140545    pub struct _ADDR5_RX;
140546    ///`read()` method returns [addr5_rx::R](addr5_rx::R) reader structure
140547    impl crate::Readable for ADDR5_RX {}
140548    ///`write(|w| ..)` method takes [addr5_rx::W](addr5_rx::W) writer structure
140549    impl crate::Writable for ADDR5_RX {}
140550    ///Reception buffer address 0
140551    pub mod addr5_rx {
140552        ///Reader of register ADDR5_RX
140553        pub type R = crate::R<u16, super::ADDR5_RX>;
140554        ///Writer for register ADDR5_RX
140555        pub type W = crate::W<u16, super::ADDR5_RX>;
140556        ///Register ADDR5_RX `reset()`'s with value 0
140557        impl crate::ResetValue for super::ADDR5_RX {
140558            type Type = u16;
140559            #[inline(always)]
140560            fn reset_value() -> Self::Type {
140561                0
140562            }
140563        }
140564        ///Reader of field `ADDR5_RX`
140565        pub type ADDR5_RX_R = crate::R<u16, u16>;
140566        ///Write proxy for field `ADDR5_RX`
140567        pub struct ADDR5_RX_W<'a> {
140568            w: &'a mut W,
140569        }
140570        impl<'a> ADDR5_RX_W<'a> {
140571            ///Writes raw bits to the field
140572            #[inline(always)]
140573            pub unsafe fn bits(self, value: u16) -> &'a mut W {
140574                self.w.bits = (self.w.bits & !(0x7fff << 1)) | (((value as u16) & 0x7fff) << 1);
140575                self.w
140576            }
140577        }
140578        impl R {
140579            ///Bits 1:15 - Reception buffer address
140580            #[inline(always)]
140581            pub fn addr5_rx(&self) -> ADDR5_RX_R {
140582                ADDR5_RX_R::new(((self.bits >> 1) & 0x7fff) as u16)
140583            }
140584        }
140585        impl W {
140586            ///Bits 1:15 - Reception buffer address
140587            #[inline(always)]
140588            pub fn addr5_rx(&mut self) -> ADDR5_RX_W {
140589                ADDR5_RX_W { w: self }
140590            }
140591        }
140592    }
140593    ///Reception buffer address 0
140594    ///
140595    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
140596    ///
140597    ///For information about available fields see [addr6_rx](addr6_rx) module
140598    pub type ADDR6_RX = crate::Reg<u16, _ADDR6_RX>;
140599    #[allow(missing_docs)]
140600    #[doc(hidden)]
140601    pub struct _ADDR6_RX;
140602    ///`read()` method returns [addr6_rx::R](addr6_rx::R) reader structure
140603    impl crate::Readable for ADDR6_RX {}
140604    ///`write(|w| ..)` method takes [addr6_rx::W](addr6_rx::W) writer structure
140605    impl crate::Writable for ADDR6_RX {}
140606    ///Reception buffer address 0
140607    pub mod addr6_rx {
140608        ///Reader of register ADDR6_RX
140609        pub type R = crate::R<u16, super::ADDR6_RX>;
140610        ///Writer for register ADDR6_RX
140611        pub type W = crate::W<u16, super::ADDR6_RX>;
140612        ///Register ADDR6_RX `reset()`'s with value 0
140613        impl crate::ResetValue for super::ADDR6_RX {
140614            type Type = u16;
140615            #[inline(always)]
140616            fn reset_value() -> Self::Type {
140617                0
140618            }
140619        }
140620        ///Reader of field `ADDR6_RX`
140621        pub type ADDR6_RX_R = crate::R<u16, u16>;
140622        ///Write proxy for field `ADDR6_RX`
140623        pub struct ADDR6_RX_W<'a> {
140624            w: &'a mut W,
140625        }
140626        impl<'a> ADDR6_RX_W<'a> {
140627            ///Writes raw bits to the field
140628            #[inline(always)]
140629            pub unsafe fn bits(self, value: u16) -> &'a mut W {
140630                self.w.bits = (self.w.bits & !(0x7fff << 1)) | (((value as u16) & 0x7fff) << 1);
140631                self.w
140632            }
140633        }
140634        impl R {
140635            ///Bits 1:15 - Reception buffer address
140636            #[inline(always)]
140637            pub fn addr6_rx(&self) -> ADDR6_RX_R {
140638                ADDR6_RX_R::new(((self.bits >> 1) & 0x7fff) as u16)
140639            }
140640        }
140641        impl W {
140642            ///Bits 1:15 - Reception buffer address
140643            #[inline(always)]
140644            pub fn addr6_rx(&mut self) -> ADDR6_RX_W {
140645                ADDR6_RX_W { w: self }
140646            }
140647        }
140648    }
140649    ///Reception buffer address 0
140650    ///
140651    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
140652    ///
140653    ///For information about available fields see [addr7_rx](addr7_rx) module
140654    pub type ADDR7_RX = crate::Reg<u16, _ADDR7_RX>;
140655    #[allow(missing_docs)]
140656    #[doc(hidden)]
140657    pub struct _ADDR7_RX;
140658    ///`read()` method returns [addr7_rx::R](addr7_rx::R) reader structure
140659    impl crate::Readable for ADDR7_RX {}
140660    ///`write(|w| ..)` method takes [addr7_rx::W](addr7_rx::W) writer structure
140661    impl crate::Writable for ADDR7_RX {}
140662    ///Reception buffer address 0
140663    pub mod addr7_rx {
140664        ///Reader of register ADDR7_RX
140665        pub type R = crate::R<u16, super::ADDR7_RX>;
140666        ///Writer for register ADDR7_RX
140667        pub type W = crate::W<u16, super::ADDR7_RX>;
140668        ///Register ADDR7_RX `reset()`'s with value 0
140669        impl crate::ResetValue for super::ADDR7_RX {
140670            type Type = u16;
140671            #[inline(always)]
140672            fn reset_value() -> Self::Type {
140673                0
140674            }
140675        }
140676        ///Reader of field `ADDR7_RX`
140677        pub type ADDR7_RX_R = crate::R<u16, u16>;
140678        ///Write proxy for field `ADDR7_RX`
140679        pub struct ADDR7_RX_W<'a> {
140680            w: &'a mut W,
140681        }
140682        impl<'a> ADDR7_RX_W<'a> {
140683            ///Writes raw bits to the field
140684            #[inline(always)]
140685            pub unsafe fn bits(self, value: u16) -> &'a mut W {
140686                self.w.bits = (self.w.bits & !(0x7fff << 1)) | (((value as u16) & 0x7fff) << 1);
140687                self.w
140688            }
140689        }
140690        impl R {
140691            ///Bits 1:15 - Reception buffer address
140692            #[inline(always)]
140693            pub fn addr7_rx(&self) -> ADDR7_RX_R {
140694                ADDR7_RX_R::new(((self.bits >> 1) & 0x7fff) as u16)
140695            }
140696        }
140697        impl W {
140698            ///Bits 1:15 - Reception buffer address
140699            #[inline(always)]
140700            pub fn addr7_rx(&mut self) -> ADDR7_RX_W {
140701                ADDR7_RX_W { w: self }
140702            }
140703        }
140704    }
140705    ///Reception byte count 0
140706    ///
140707    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
140708    ///
140709    ///For information about available fields see [count0_rx](count0_rx) module
140710    pub type COUNT0_RX = crate::Reg<u16, _COUNT0_RX>;
140711    #[allow(missing_docs)]
140712    #[doc(hidden)]
140713    pub struct _COUNT0_RX;
140714    ///`read()` method returns [count0_rx::R](count0_rx::R) reader structure
140715    impl crate::Readable for COUNT0_RX {}
140716    ///`write(|w| ..)` method takes [count0_rx::W](count0_rx::W) writer structure
140717    impl crate::Writable for COUNT0_RX {}
140718    ///Reception byte count 0
140719    pub mod count0_rx {
140720        ///Reader of register COUNT0_RX
140721        pub type R = crate::R<u16, super::COUNT0_RX>;
140722        ///Writer for register COUNT0_RX
140723        pub type W = crate::W<u16, super::COUNT0_RX>;
140724        ///Register COUNT0_RX `reset()`'s with value 0
140725        impl crate::ResetValue for super::COUNT0_RX {
140726            type Type = u16;
140727            #[inline(always)]
140728            fn reset_value() -> Self::Type {
140729                0
140730            }
140731        }
140732        ///Reader of field `COUNT0_RX`
140733        pub type COUNT0_RX_R = crate::R<u16, u16>;
140734        ///Reader of field `NUM_BLOCK`
140735        pub type NUM_BLOCK_R = crate::R<u8, u8>;
140736        ///Write proxy for field `NUM_BLOCK`
140737        pub struct NUM_BLOCK_W<'a> {
140738            w: &'a mut W,
140739        }
140740        impl<'a> NUM_BLOCK_W<'a> {
140741            ///Writes raw bits to the field
140742            #[inline(always)]
140743            pub unsafe fn bits(self, value: u8) -> &'a mut W {
140744                self.w.bits = (self.w.bits & !(0x1f << 10)) | (((value as u16) & 0x1f) << 10);
140745                self.w
140746            }
140747        }
140748        ///Reader of field `BL_SIZE`
140749        pub type BL_SIZE_R = crate::R<bool, bool>;
140750        ///Write proxy for field `BL_SIZE`
140751        pub struct BL_SIZE_W<'a> {
140752            w: &'a mut W,
140753        }
140754        impl<'a> BL_SIZE_W<'a> {
140755            ///Sets the field bit
140756            #[inline(always)]
140757            pub fn set_bit(self) -> &'a mut W {
140758                self.bit(true)
140759            }
140760            ///Clears the field bit
140761            #[inline(always)]
140762            pub fn clear_bit(self) -> &'a mut W {
140763                self.bit(false)
140764            }
140765            ///Writes raw bits to the field
140766            #[inline(always)]
140767            pub fn bit(self, value: bool) -> &'a mut W {
140768                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
140769                self.w
140770            }
140771        }
140772        impl R {
140773            ///Bits 0:9 - Reception byte count
140774            #[inline(always)]
140775            pub fn count0_rx(&self) -> COUNT0_RX_R {
140776                COUNT0_RX_R::new((self.bits & 0x03ff) as u16)
140777            }
140778            ///Bits 10:14 - Number of blocks
140779            #[inline(always)]
140780            pub fn num_block(&self) -> NUM_BLOCK_R {
140781                NUM_BLOCK_R::new(((self.bits >> 10) & 0x1f) as u8)
140782            }
140783            ///Bit 15 - Block size
140784            #[inline(always)]
140785            pub fn bl_size(&self) -> BL_SIZE_R {
140786                BL_SIZE_R::new(((self.bits >> 15) & 0x01) != 0)
140787            }
140788        }
140789        impl W {
140790            ///Bits 10:14 - Number of blocks
140791            #[inline(always)]
140792            pub fn num_block(&mut self) -> NUM_BLOCK_W {
140793                NUM_BLOCK_W { w: self }
140794            }
140795            ///Bit 15 - Block size
140796            #[inline(always)]
140797            pub fn bl_size(&mut self) -> BL_SIZE_W {
140798                BL_SIZE_W { w: self }
140799            }
140800        }
140801    }
140802    ///Reception byte count 0
140803    ///
140804    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
140805    ///
140806    ///For information about available fields see [count1_rx](count1_rx) module
140807    pub type COUNT1_RX = crate::Reg<u16, _COUNT1_RX>;
140808    #[allow(missing_docs)]
140809    #[doc(hidden)]
140810    pub struct _COUNT1_RX;
140811    ///`read()` method returns [count1_rx::R](count1_rx::R) reader structure
140812    impl crate::Readable for COUNT1_RX {}
140813    ///`write(|w| ..)` method takes [count1_rx::W](count1_rx::W) writer structure
140814    impl crate::Writable for COUNT1_RX {}
140815    ///Reception byte count 0
140816    pub mod count1_rx {
140817        ///Reader of register COUNT1_RX
140818        pub type R = crate::R<u16, super::COUNT1_RX>;
140819        ///Writer for register COUNT1_RX
140820        pub type W = crate::W<u16, super::COUNT1_RX>;
140821        ///Register COUNT1_RX `reset()`'s with value 0
140822        impl crate::ResetValue for super::COUNT1_RX {
140823            type Type = u16;
140824            #[inline(always)]
140825            fn reset_value() -> Self::Type {
140826                0
140827            }
140828        }
140829        ///Reader of field `COUNT1_RX`
140830        pub type COUNT1_RX_R = crate::R<u16, u16>;
140831        ///Reader of field `NUM_BLOCK`
140832        pub type NUM_BLOCK_R = crate::R<u8, u8>;
140833        ///Write proxy for field `NUM_BLOCK`
140834        pub struct NUM_BLOCK_W<'a> {
140835            w: &'a mut W,
140836        }
140837        impl<'a> NUM_BLOCK_W<'a> {
140838            ///Writes raw bits to the field
140839            #[inline(always)]
140840            pub unsafe fn bits(self, value: u8) -> &'a mut W {
140841                self.w.bits = (self.w.bits & !(0x1f << 10)) | (((value as u16) & 0x1f) << 10);
140842                self.w
140843            }
140844        }
140845        ///Reader of field `BL_SIZE`
140846        pub type BL_SIZE_R = crate::R<bool, bool>;
140847        ///Write proxy for field `BL_SIZE`
140848        pub struct BL_SIZE_W<'a> {
140849            w: &'a mut W,
140850        }
140851        impl<'a> BL_SIZE_W<'a> {
140852            ///Sets the field bit
140853            #[inline(always)]
140854            pub fn set_bit(self) -> &'a mut W {
140855                self.bit(true)
140856            }
140857            ///Clears the field bit
140858            #[inline(always)]
140859            pub fn clear_bit(self) -> &'a mut W {
140860                self.bit(false)
140861            }
140862            ///Writes raw bits to the field
140863            #[inline(always)]
140864            pub fn bit(self, value: bool) -> &'a mut W {
140865                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
140866                self.w
140867            }
140868        }
140869        impl R {
140870            ///Bits 0:9 - Reception byte count
140871            #[inline(always)]
140872            pub fn count1_rx(&self) -> COUNT1_RX_R {
140873                COUNT1_RX_R::new((self.bits & 0x03ff) as u16)
140874            }
140875            ///Bits 10:14 - Number of blocks
140876            #[inline(always)]
140877            pub fn num_block(&self) -> NUM_BLOCK_R {
140878                NUM_BLOCK_R::new(((self.bits >> 10) & 0x1f) as u8)
140879            }
140880            ///Bit 15 - Block size
140881            #[inline(always)]
140882            pub fn bl_size(&self) -> BL_SIZE_R {
140883                BL_SIZE_R::new(((self.bits >> 15) & 0x01) != 0)
140884            }
140885        }
140886        impl W {
140887            ///Bits 10:14 - Number of blocks
140888            #[inline(always)]
140889            pub fn num_block(&mut self) -> NUM_BLOCK_W {
140890                NUM_BLOCK_W { w: self }
140891            }
140892            ///Bit 15 - Block size
140893            #[inline(always)]
140894            pub fn bl_size(&mut self) -> BL_SIZE_W {
140895                BL_SIZE_W { w: self }
140896            }
140897        }
140898    }
140899    ///Reception byte count 0
140900    ///
140901    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
140902    ///
140903    ///For information about available fields see [count2_rx](count2_rx) module
140904    pub type COUNT2_RX = crate::Reg<u16, _COUNT2_RX>;
140905    #[allow(missing_docs)]
140906    #[doc(hidden)]
140907    pub struct _COUNT2_RX;
140908    ///`read()` method returns [count2_rx::R](count2_rx::R) reader structure
140909    impl crate::Readable for COUNT2_RX {}
140910    ///`write(|w| ..)` method takes [count2_rx::W](count2_rx::W) writer structure
140911    impl crate::Writable for COUNT2_RX {}
140912    ///Reception byte count 0
140913    pub mod count2_rx {
140914        ///Reader of register COUNT2_RX
140915        pub type R = crate::R<u16, super::COUNT2_RX>;
140916        ///Writer for register COUNT2_RX
140917        pub type W = crate::W<u16, super::COUNT2_RX>;
140918        ///Register COUNT2_RX `reset()`'s with value 0
140919        impl crate::ResetValue for super::COUNT2_RX {
140920            type Type = u16;
140921            #[inline(always)]
140922            fn reset_value() -> Self::Type {
140923                0
140924            }
140925        }
140926        ///Reader of field `COUNT2_RX`
140927        pub type COUNT2_RX_R = crate::R<u16, u16>;
140928        ///Reader of field `NUM_BLOCK`
140929        pub type NUM_BLOCK_R = crate::R<u8, u8>;
140930        ///Write proxy for field `NUM_BLOCK`
140931        pub struct NUM_BLOCK_W<'a> {
140932            w: &'a mut W,
140933        }
140934        impl<'a> NUM_BLOCK_W<'a> {
140935            ///Writes raw bits to the field
140936            #[inline(always)]
140937            pub unsafe fn bits(self, value: u8) -> &'a mut W {
140938                self.w.bits = (self.w.bits & !(0x1f << 10)) | (((value as u16) & 0x1f) << 10);
140939                self.w
140940            }
140941        }
140942        ///Reader of field `BL_SIZE`
140943        pub type BL_SIZE_R = crate::R<bool, bool>;
140944        ///Write proxy for field `BL_SIZE`
140945        pub struct BL_SIZE_W<'a> {
140946            w: &'a mut W,
140947        }
140948        impl<'a> BL_SIZE_W<'a> {
140949            ///Sets the field bit
140950            #[inline(always)]
140951            pub fn set_bit(self) -> &'a mut W {
140952                self.bit(true)
140953            }
140954            ///Clears the field bit
140955            #[inline(always)]
140956            pub fn clear_bit(self) -> &'a mut W {
140957                self.bit(false)
140958            }
140959            ///Writes raw bits to the field
140960            #[inline(always)]
140961            pub fn bit(self, value: bool) -> &'a mut W {
140962                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
140963                self.w
140964            }
140965        }
140966        impl R {
140967            ///Bits 0:9 - Reception byte count
140968            #[inline(always)]
140969            pub fn count2_rx(&self) -> COUNT2_RX_R {
140970                COUNT2_RX_R::new((self.bits & 0x03ff) as u16)
140971            }
140972            ///Bits 10:14 - Number of blocks
140973            #[inline(always)]
140974            pub fn num_block(&self) -> NUM_BLOCK_R {
140975                NUM_BLOCK_R::new(((self.bits >> 10) & 0x1f) as u8)
140976            }
140977            ///Bit 15 - Block size
140978            #[inline(always)]
140979            pub fn bl_size(&self) -> BL_SIZE_R {
140980                BL_SIZE_R::new(((self.bits >> 15) & 0x01) != 0)
140981            }
140982        }
140983        impl W {
140984            ///Bits 10:14 - Number of blocks
140985            #[inline(always)]
140986            pub fn num_block(&mut self) -> NUM_BLOCK_W {
140987                NUM_BLOCK_W { w: self }
140988            }
140989            ///Bit 15 - Block size
140990            #[inline(always)]
140991            pub fn bl_size(&mut self) -> BL_SIZE_W {
140992                BL_SIZE_W { w: self }
140993            }
140994        }
140995    }
140996    ///Reception byte count 0
140997    ///
140998    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
140999    ///
141000    ///For information about available fields see [count3_rx](count3_rx) module
141001    pub type COUNT3_RX = crate::Reg<u16, _COUNT3_RX>;
141002    #[allow(missing_docs)]
141003    #[doc(hidden)]
141004    pub struct _COUNT3_RX;
141005    ///`read()` method returns [count3_rx::R](count3_rx::R) reader structure
141006    impl crate::Readable for COUNT3_RX {}
141007    ///`write(|w| ..)` method takes [count3_rx::W](count3_rx::W) writer structure
141008    impl crate::Writable for COUNT3_RX {}
141009    ///Reception byte count 0
141010    pub mod count3_rx {
141011        ///Reader of register COUNT3_RX
141012        pub type R = crate::R<u16, super::COUNT3_RX>;
141013        ///Writer for register COUNT3_RX
141014        pub type W = crate::W<u16, super::COUNT3_RX>;
141015        ///Register COUNT3_RX `reset()`'s with value 0
141016        impl crate::ResetValue for super::COUNT3_RX {
141017            type Type = u16;
141018            #[inline(always)]
141019            fn reset_value() -> Self::Type {
141020                0
141021            }
141022        }
141023        ///Reader of field `COUNT3_RX`
141024        pub type COUNT3_RX_R = crate::R<u16, u16>;
141025        ///Reader of field `NUM_BLOCK`
141026        pub type NUM_BLOCK_R = crate::R<u8, u8>;
141027        ///Write proxy for field `NUM_BLOCK`
141028        pub struct NUM_BLOCK_W<'a> {
141029            w: &'a mut W,
141030        }
141031        impl<'a> NUM_BLOCK_W<'a> {
141032            ///Writes raw bits to the field
141033            #[inline(always)]
141034            pub unsafe fn bits(self, value: u8) -> &'a mut W {
141035                self.w.bits = (self.w.bits & !(0x1f << 10)) | (((value as u16) & 0x1f) << 10);
141036                self.w
141037            }
141038        }
141039        ///Reader of field `BL_SIZE`
141040        pub type BL_SIZE_R = crate::R<bool, bool>;
141041        ///Write proxy for field `BL_SIZE`
141042        pub struct BL_SIZE_W<'a> {
141043            w: &'a mut W,
141044        }
141045        impl<'a> BL_SIZE_W<'a> {
141046            ///Sets the field bit
141047            #[inline(always)]
141048            pub fn set_bit(self) -> &'a mut W {
141049                self.bit(true)
141050            }
141051            ///Clears the field bit
141052            #[inline(always)]
141053            pub fn clear_bit(self) -> &'a mut W {
141054                self.bit(false)
141055            }
141056            ///Writes raw bits to the field
141057            #[inline(always)]
141058            pub fn bit(self, value: bool) -> &'a mut W {
141059                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
141060                self.w
141061            }
141062        }
141063        impl R {
141064            ///Bits 0:9 - Reception byte count
141065            #[inline(always)]
141066            pub fn count3_rx(&self) -> COUNT3_RX_R {
141067                COUNT3_RX_R::new((self.bits & 0x03ff) as u16)
141068            }
141069            ///Bits 10:14 - Number of blocks
141070            #[inline(always)]
141071            pub fn num_block(&self) -> NUM_BLOCK_R {
141072                NUM_BLOCK_R::new(((self.bits >> 10) & 0x1f) as u8)
141073            }
141074            ///Bit 15 - Block size
141075            #[inline(always)]
141076            pub fn bl_size(&self) -> BL_SIZE_R {
141077                BL_SIZE_R::new(((self.bits >> 15) & 0x01) != 0)
141078            }
141079        }
141080        impl W {
141081            ///Bits 10:14 - Number of blocks
141082            #[inline(always)]
141083            pub fn num_block(&mut self) -> NUM_BLOCK_W {
141084                NUM_BLOCK_W { w: self }
141085            }
141086            ///Bit 15 - Block size
141087            #[inline(always)]
141088            pub fn bl_size(&mut self) -> BL_SIZE_W {
141089                BL_SIZE_W { w: self }
141090            }
141091        }
141092    }
141093    ///Reception byte count 0
141094    ///
141095    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
141096    ///
141097    ///For information about available fields see [count4_rx](count4_rx) module
141098    pub type COUNT4_RX = crate::Reg<u16, _COUNT4_RX>;
141099    #[allow(missing_docs)]
141100    #[doc(hidden)]
141101    pub struct _COUNT4_RX;
141102    ///`read()` method returns [count4_rx::R](count4_rx::R) reader structure
141103    impl crate::Readable for COUNT4_RX {}
141104    ///`write(|w| ..)` method takes [count4_rx::W](count4_rx::W) writer structure
141105    impl crate::Writable for COUNT4_RX {}
141106    ///Reception byte count 0
141107    pub mod count4_rx {
141108        ///Reader of register COUNT4_RX
141109        pub type R = crate::R<u16, super::COUNT4_RX>;
141110        ///Writer for register COUNT4_RX
141111        pub type W = crate::W<u16, super::COUNT4_RX>;
141112        ///Register COUNT4_RX `reset()`'s with value 0
141113        impl crate::ResetValue for super::COUNT4_RX {
141114            type Type = u16;
141115            #[inline(always)]
141116            fn reset_value() -> Self::Type {
141117                0
141118            }
141119        }
141120        ///Reader of field `COUNT4_RX`
141121        pub type COUNT4_RX_R = crate::R<u16, u16>;
141122        ///Reader of field `NUM_BLOCK`
141123        pub type NUM_BLOCK_R = crate::R<u8, u8>;
141124        ///Write proxy for field `NUM_BLOCK`
141125        pub struct NUM_BLOCK_W<'a> {
141126            w: &'a mut W,
141127        }
141128        impl<'a> NUM_BLOCK_W<'a> {
141129            ///Writes raw bits to the field
141130            #[inline(always)]
141131            pub unsafe fn bits(self, value: u8) -> &'a mut W {
141132                self.w.bits = (self.w.bits & !(0x1f << 10)) | (((value as u16) & 0x1f) << 10);
141133                self.w
141134            }
141135        }
141136        ///Reader of field `BL_SIZE`
141137        pub type BL_SIZE_R = crate::R<bool, bool>;
141138        ///Write proxy for field `BL_SIZE`
141139        pub struct BL_SIZE_W<'a> {
141140            w: &'a mut W,
141141        }
141142        impl<'a> BL_SIZE_W<'a> {
141143            ///Sets the field bit
141144            #[inline(always)]
141145            pub fn set_bit(self) -> &'a mut W {
141146                self.bit(true)
141147            }
141148            ///Clears the field bit
141149            #[inline(always)]
141150            pub fn clear_bit(self) -> &'a mut W {
141151                self.bit(false)
141152            }
141153            ///Writes raw bits to the field
141154            #[inline(always)]
141155            pub fn bit(self, value: bool) -> &'a mut W {
141156                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
141157                self.w
141158            }
141159        }
141160        impl R {
141161            ///Bits 0:9 - Reception byte count
141162            #[inline(always)]
141163            pub fn count4_rx(&self) -> COUNT4_RX_R {
141164                COUNT4_RX_R::new((self.bits & 0x03ff) as u16)
141165            }
141166            ///Bits 10:14 - Number of blocks
141167            #[inline(always)]
141168            pub fn num_block(&self) -> NUM_BLOCK_R {
141169                NUM_BLOCK_R::new(((self.bits >> 10) & 0x1f) as u8)
141170            }
141171            ///Bit 15 - Block size
141172            #[inline(always)]
141173            pub fn bl_size(&self) -> BL_SIZE_R {
141174                BL_SIZE_R::new(((self.bits >> 15) & 0x01) != 0)
141175            }
141176        }
141177        impl W {
141178            ///Bits 10:14 - Number of blocks
141179            #[inline(always)]
141180            pub fn num_block(&mut self) -> NUM_BLOCK_W {
141181                NUM_BLOCK_W { w: self }
141182            }
141183            ///Bit 15 - Block size
141184            #[inline(always)]
141185            pub fn bl_size(&mut self) -> BL_SIZE_W {
141186                BL_SIZE_W { w: self }
141187            }
141188        }
141189    }
141190    ///Reception byte count 0
141191    ///
141192    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
141193    ///
141194    ///For information about available fields see [count5_rx](count5_rx) module
141195    pub type COUNT5_RX = crate::Reg<u16, _COUNT5_RX>;
141196    #[allow(missing_docs)]
141197    #[doc(hidden)]
141198    pub struct _COUNT5_RX;
141199    ///`read()` method returns [count5_rx::R](count5_rx::R) reader structure
141200    impl crate::Readable for COUNT5_RX {}
141201    ///`write(|w| ..)` method takes [count5_rx::W](count5_rx::W) writer structure
141202    impl crate::Writable for COUNT5_RX {}
141203    ///Reception byte count 0
141204    pub mod count5_rx {
141205        ///Reader of register COUNT5_RX
141206        pub type R = crate::R<u16, super::COUNT5_RX>;
141207        ///Writer for register COUNT5_RX
141208        pub type W = crate::W<u16, super::COUNT5_RX>;
141209        ///Register COUNT5_RX `reset()`'s with value 0
141210        impl crate::ResetValue for super::COUNT5_RX {
141211            type Type = u16;
141212            #[inline(always)]
141213            fn reset_value() -> Self::Type {
141214                0
141215            }
141216        }
141217        ///Reader of field `COUNT5_RX`
141218        pub type COUNT5_RX_R = crate::R<u16, u16>;
141219        ///Reader of field `NUM_BLOCK`
141220        pub type NUM_BLOCK_R = crate::R<u8, u8>;
141221        ///Write proxy for field `NUM_BLOCK`
141222        pub struct NUM_BLOCK_W<'a> {
141223            w: &'a mut W,
141224        }
141225        impl<'a> NUM_BLOCK_W<'a> {
141226            ///Writes raw bits to the field
141227            #[inline(always)]
141228            pub unsafe fn bits(self, value: u8) -> &'a mut W {
141229                self.w.bits = (self.w.bits & !(0x1f << 10)) | (((value as u16) & 0x1f) << 10);
141230                self.w
141231            }
141232        }
141233        ///Reader of field `BL_SIZE`
141234        pub type BL_SIZE_R = crate::R<bool, bool>;
141235        ///Write proxy for field `BL_SIZE`
141236        pub struct BL_SIZE_W<'a> {
141237            w: &'a mut W,
141238        }
141239        impl<'a> BL_SIZE_W<'a> {
141240            ///Sets the field bit
141241            #[inline(always)]
141242            pub fn set_bit(self) -> &'a mut W {
141243                self.bit(true)
141244            }
141245            ///Clears the field bit
141246            #[inline(always)]
141247            pub fn clear_bit(self) -> &'a mut W {
141248                self.bit(false)
141249            }
141250            ///Writes raw bits to the field
141251            #[inline(always)]
141252            pub fn bit(self, value: bool) -> &'a mut W {
141253                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
141254                self.w
141255            }
141256        }
141257        impl R {
141258            ///Bits 0:9 - Reception byte count
141259            #[inline(always)]
141260            pub fn count5_rx(&self) -> COUNT5_RX_R {
141261                COUNT5_RX_R::new((self.bits & 0x03ff) as u16)
141262            }
141263            ///Bits 10:14 - Number of blocks
141264            #[inline(always)]
141265            pub fn num_block(&self) -> NUM_BLOCK_R {
141266                NUM_BLOCK_R::new(((self.bits >> 10) & 0x1f) as u8)
141267            }
141268            ///Bit 15 - Block size
141269            #[inline(always)]
141270            pub fn bl_size(&self) -> BL_SIZE_R {
141271                BL_SIZE_R::new(((self.bits >> 15) & 0x01) != 0)
141272            }
141273        }
141274        impl W {
141275            ///Bits 10:14 - Number of blocks
141276            #[inline(always)]
141277            pub fn num_block(&mut self) -> NUM_BLOCK_W {
141278                NUM_BLOCK_W { w: self }
141279            }
141280            ///Bit 15 - Block size
141281            #[inline(always)]
141282            pub fn bl_size(&mut self) -> BL_SIZE_W {
141283                BL_SIZE_W { w: self }
141284            }
141285        }
141286    }
141287    ///Reception byte count 0
141288    ///
141289    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
141290    ///
141291    ///For information about available fields see [count6_rx](count6_rx) module
141292    pub type COUNT6_RX = crate::Reg<u16, _COUNT6_RX>;
141293    #[allow(missing_docs)]
141294    #[doc(hidden)]
141295    pub struct _COUNT6_RX;
141296    ///`read()` method returns [count6_rx::R](count6_rx::R) reader structure
141297    impl crate::Readable for COUNT6_RX {}
141298    ///`write(|w| ..)` method takes [count6_rx::W](count6_rx::W) writer structure
141299    impl crate::Writable for COUNT6_RX {}
141300    ///Reception byte count 0
141301    pub mod count6_rx {
141302        ///Reader of register COUNT6_RX
141303        pub type R = crate::R<u16, super::COUNT6_RX>;
141304        ///Writer for register COUNT6_RX
141305        pub type W = crate::W<u16, super::COUNT6_RX>;
141306        ///Register COUNT6_RX `reset()`'s with value 0
141307        impl crate::ResetValue for super::COUNT6_RX {
141308            type Type = u16;
141309            #[inline(always)]
141310            fn reset_value() -> Self::Type {
141311                0
141312            }
141313        }
141314        ///Reader of field `COUNT6_RX`
141315        pub type COUNT6_RX_R = crate::R<u16, u16>;
141316        ///Reader of field `NUM_BLOCK`
141317        pub type NUM_BLOCK_R = crate::R<u8, u8>;
141318        ///Write proxy for field `NUM_BLOCK`
141319        pub struct NUM_BLOCK_W<'a> {
141320            w: &'a mut W,
141321        }
141322        impl<'a> NUM_BLOCK_W<'a> {
141323            ///Writes raw bits to the field
141324            #[inline(always)]
141325            pub unsafe fn bits(self, value: u8) -> &'a mut W {
141326                self.w.bits = (self.w.bits & !(0x1f << 10)) | (((value as u16) & 0x1f) << 10);
141327                self.w
141328            }
141329        }
141330        ///Reader of field `BL_SIZE`
141331        pub type BL_SIZE_R = crate::R<bool, bool>;
141332        ///Write proxy for field `BL_SIZE`
141333        pub struct BL_SIZE_W<'a> {
141334            w: &'a mut W,
141335        }
141336        impl<'a> BL_SIZE_W<'a> {
141337            ///Sets the field bit
141338            #[inline(always)]
141339            pub fn set_bit(self) -> &'a mut W {
141340                self.bit(true)
141341            }
141342            ///Clears the field bit
141343            #[inline(always)]
141344            pub fn clear_bit(self) -> &'a mut W {
141345                self.bit(false)
141346            }
141347            ///Writes raw bits to the field
141348            #[inline(always)]
141349            pub fn bit(self, value: bool) -> &'a mut W {
141350                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
141351                self.w
141352            }
141353        }
141354        impl R {
141355            ///Bits 0:9 - Reception byte count
141356            #[inline(always)]
141357            pub fn count6_rx(&self) -> COUNT6_RX_R {
141358                COUNT6_RX_R::new((self.bits & 0x03ff) as u16)
141359            }
141360            ///Bits 10:14 - Number of blocks
141361            #[inline(always)]
141362            pub fn num_block(&self) -> NUM_BLOCK_R {
141363                NUM_BLOCK_R::new(((self.bits >> 10) & 0x1f) as u8)
141364            }
141365            ///Bit 15 - Block size
141366            #[inline(always)]
141367            pub fn bl_size(&self) -> BL_SIZE_R {
141368                BL_SIZE_R::new(((self.bits >> 15) & 0x01) != 0)
141369            }
141370        }
141371        impl W {
141372            ///Bits 10:14 - Number of blocks
141373            #[inline(always)]
141374            pub fn num_block(&mut self) -> NUM_BLOCK_W {
141375                NUM_BLOCK_W { w: self }
141376            }
141377            ///Bit 15 - Block size
141378            #[inline(always)]
141379            pub fn bl_size(&mut self) -> BL_SIZE_W {
141380                BL_SIZE_W { w: self }
141381            }
141382        }
141383    }
141384    ///Reception byte count 0
141385    ///
141386    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
141387    ///
141388    ///For information about available fields see [count7_rx](count7_rx) module
141389    pub type COUNT7_RX = crate::Reg<u16, _COUNT7_RX>;
141390    #[allow(missing_docs)]
141391    #[doc(hidden)]
141392    pub struct _COUNT7_RX;
141393    ///`read()` method returns [count7_rx::R](count7_rx::R) reader structure
141394    impl crate::Readable for COUNT7_RX {}
141395    ///`write(|w| ..)` method takes [count7_rx::W](count7_rx::W) writer structure
141396    impl crate::Writable for COUNT7_RX {}
141397    ///Reception byte count 0
141398    pub mod count7_rx {
141399        ///Reader of register COUNT7_RX
141400        pub type R = crate::R<u16, super::COUNT7_RX>;
141401        ///Writer for register COUNT7_RX
141402        pub type W = crate::W<u16, super::COUNT7_RX>;
141403        ///Register COUNT7_RX `reset()`'s with value 0
141404        impl crate::ResetValue for super::COUNT7_RX {
141405            type Type = u16;
141406            #[inline(always)]
141407            fn reset_value() -> Self::Type {
141408                0
141409            }
141410        }
141411        ///Reader of field `COUNT7_RX`
141412        pub type COUNT7_RX_R = crate::R<u16, u16>;
141413        ///Reader of field `NUM_BLOCK`
141414        pub type NUM_BLOCK_R = crate::R<u8, u8>;
141415        ///Write proxy for field `NUM_BLOCK`
141416        pub struct NUM_BLOCK_W<'a> {
141417            w: &'a mut W,
141418        }
141419        impl<'a> NUM_BLOCK_W<'a> {
141420            ///Writes raw bits to the field
141421            #[inline(always)]
141422            pub unsafe fn bits(self, value: u8) -> &'a mut W {
141423                self.w.bits = (self.w.bits & !(0x1f << 10)) | (((value as u16) & 0x1f) << 10);
141424                self.w
141425            }
141426        }
141427        ///Reader of field `BL_SIZE`
141428        pub type BL_SIZE_R = crate::R<bool, bool>;
141429        ///Write proxy for field `BL_SIZE`
141430        pub struct BL_SIZE_W<'a> {
141431            w: &'a mut W,
141432        }
141433        impl<'a> BL_SIZE_W<'a> {
141434            ///Sets the field bit
141435            #[inline(always)]
141436            pub fn set_bit(self) -> &'a mut W {
141437                self.bit(true)
141438            }
141439            ///Clears the field bit
141440            #[inline(always)]
141441            pub fn clear_bit(self) -> &'a mut W {
141442                self.bit(false)
141443            }
141444            ///Writes raw bits to the field
141445            #[inline(always)]
141446            pub fn bit(self, value: bool) -> &'a mut W {
141447                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
141448                self.w
141449            }
141450        }
141451        impl R {
141452            ///Bits 0:9 - Reception byte count
141453            #[inline(always)]
141454            pub fn count7_rx(&self) -> COUNT7_RX_R {
141455                COUNT7_RX_R::new((self.bits & 0x03ff) as u16)
141456            }
141457            ///Bits 10:14 - Number of blocks
141458            #[inline(always)]
141459            pub fn num_block(&self) -> NUM_BLOCK_R {
141460                NUM_BLOCK_R::new(((self.bits >> 10) & 0x1f) as u8)
141461            }
141462            ///Bit 15 - Block size
141463            #[inline(always)]
141464            pub fn bl_size(&self) -> BL_SIZE_R {
141465                BL_SIZE_R::new(((self.bits >> 15) & 0x01) != 0)
141466            }
141467        }
141468        impl W {
141469            ///Bits 10:14 - Number of blocks
141470            #[inline(always)]
141471            pub fn num_block(&mut self) -> NUM_BLOCK_W {
141472                NUM_BLOCK_W { w: self }
141473            }
141474            ///Bit 15 - Block size
141475            #[inline(always)]
141476            pub fn bl_size(&mut self) -> BL_SIZE_W {
141477                BL_SIZE_W { w: self }
141478            }
141479        }
141480    }
141481    ///control and status register
141482    ///
141483    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
141484    ///
141485    ///For information about available fields see [lpmcsr](lpmcsr) module
141486    pub type LPMCSR = crate::Reg<u16, _LPMCSR>;
141487    #[allow(missing_docs)]
141488    #[doc(hidden)]
141489    pub struct _LPMCSR;
141490    ///`read()` method returns [lpmcsr::R](lpmcsr::R) reader structure
141491    impl crate::Readable for LPMCSR {}
141492    ///`write(|w| ..)` method takes [lpmcsr::W](lpmcsr::W) writer structure
141493    impl crate::Writable for LPMCSR {}
141494    ///control and status register
141495    pub mod lpmcsr {
141496        ///Reader of register LPMCSR
141497        pub type R = crate::R<u16, super::LPMCSR>;
141498        ///Writer for register LPMCSR
141499        pub type W = crate::W<u16, super::LPMCSR>;
141500        ///Register LPMCSR `reset()`'s with value 0
141501        impl crate::ResetValue for super::LPMCSR {
141502            type Type = u16;
141503            #[inline(always)]
141504            fn reset_value() -> Self::Type {
141505                0
141506            }
141507        }
141508        ///Reader of field `LPMEN`
141509        pub type LPMEN_R = crate::R<bool, bool>;
141510        ///Write proxy for field `LPMEN`
141511        pub struct LPMEN_W<'a> {
141512            w: &'a mut W,
141513        }
141514        impl<'a> LPMEN_W<'a> {
141515            ///Sets the field bit
141516            #[inline(always)]
141517            pub fn set_bit(self) -> &'a mut W {
141518                self.bit(true)
141519            }
141520            ///Clears the field bit
141521            #[inline(always)]
141522            pub fn clear_bit(self) -> &'a mut W {
141523                self.bit(false)
141524            }
141525            ///Writes raw bits to the field
141526            #[inline(always)]
141527            pub fn bit(self, value: bool) -> &'a mut W {
141528                self.w.bits = (self.w.bits & !0x01) | ((value as u16) & 0x01);
141529                self.w
141530            }
141531        }
141532        ///Reader of field `LPMACK`
141533        pub type LPMACK_R = crate::R<bool, bool>;
141534        ///Write proxy for field `LPMACK`
141535        pub struct LPMACK_W<'a> {
141536            w: &'a mut W,
141537        }
141538        impl<'a> LPMACK_W<'a> {
141539            ///Sets the field bit
141540            #[inline(always)]
141541            pub fn set_bit(self) -> &'a mut W {
141542                self.bit(true)
141543            }
141544            ///Clears the field bit
141545            #[inline(always)]
141546            pub fn clear_bit(self) -> &'a mut W {
141547                self.bit(false)
141548            }
141549            ///Writes raw bits to the field
141550            #[inline(always)]
141551            pub fn bit(self, value: bool) -> &'a mut W {
141552                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u16) & 0x01) << 1);
141553                self.w
141554            }
141555        }
141556        ///Reader of field `REMWAKE`
141557        pub type REMWAKE_R = crate::R<bool, bool>;
141558        ///Write proxy for field `REMWAKE`
141559        pub struct REMWAKE_W<'a> {
141560            w: &'a mut W,
141561        }
141562        impl<'a> REMWAKE_W<'a> {
141563            ///Sets the field bit
141564            #[inline(always)]
141565            pub fn set_bit(self) -> &'a mut W {
141566                self.bit(true)
141567            }
141568            ///Clears the field bit
141569            #[inline(always)]
141570            pub fn clear_bit(self) -> &'a mut W {
141571                self.bit(false)
141572            }
141573            ///Writes raw bits to the field
141574            #[inline(always)]
141575            pub fn bit(self, value: bool) -> &'a mut W {
141576                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u16) & 0x01) << 3);
141577                self.w
141578            }
141579        }
141580        ///Reader of field `BESL`
141581        pub type BESL_R = crate::R<u8, u8>;
141582        impl R {
141583            ///Bit 0 - LPM support enable
141584            #[inline(always)]
141585            pub fn lpmen(&self) -> LPMEN_R {
141586                LPMEN_R::new((self.bits & 0x01) != 0)
141587            }
141588            ///Bit 1 - LPM Token acknowledge enable
141589            #[inline(always)]
141590            pub fn lpmack(&self) -> LPMACK_R {
141591                LPMACK_R::new(((self.bits >> 1) & 0x01) != 0)
141592            }
141593            ///Bit 3 - RemoteWake value
141594            #[inline(always)]
141595            pub fn remwake(&self) -> REMWAKE_R {
141596                REMWAKE_R::new(((self.bits >> 3) & 0x01) != 0)
141597            }
141598            ///Bits 4:7 - BESL value
141599            #[inline(always)]
141600            pub fn besl(&self) -> BESL_R {
141601                BESL_R::new(((self.bits >> 4) & 0x0f) as u8)
141602            }
141603        }
141604        impl W {
141605            ///Bit 0 - LPM support enable
141606            #[inline(always)]
141607            pub fn lpmen(&mut self) -> LPMEN_W {
141608                LPMEN_W { w: self }
141609            }
141610            ///Bit 1 - LPM Token acknowledge enable
141611            #[inline(always)]
141612            pub fn lpmack(&mut self) -> LPMACK_W {
141613                LPMACK_W { w: self }
141614            }
141615            ///Bit 3 - RemoteWake value
141616            #[inline(always)]
141617            pub fn remwake(&mut self) -> REMWAKE_W {
141618                REMWAKE_W { w: self }
141619            }
141620        }
141621    }
141622    ///Battery charging detector(
141623    ///
141624    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
141625    ///
141626    ///For information about available fields see [bcdr](bcdr) module
141627    pub type BCDR = crate::Reg<u16, _BCDR>;
141628    #[allow(missing_docs)]
141629    #[doc(hidden)]
141630    pub struct _BCDR;
141631    ///`read()` method returns [bcdr::R](bcdr::R) reader structure
141632    impl crate::Readable for BCDR {}
141633    ///`write(|w| ..)` method takes [bcdr::W](bcdr::W) writer structure
141634    impl crate::Writable for BCDR {}
141635    ///Battery charging detector(
141636    pub mod bcdr {
141637        ///Reader of register BCDR
141638        pub type R = crate::R<u16, super::BCDR>;
141639        ///Writer for register BCDR
141640        pub type W = crate::W<u16, super::BCDR>;
141641        ///Register BCDR `reset()`'s with value 0
141642        impl crate::ResetValue for super::BCDR {
141643            type Type = u16;
141644            #[inline(always)]
141645            fn reset_value() -> Self::Type {
141646                0
141647            }
141648        }
141649        ///Reader of field `BCDEN`
141650        pub type BCDEN_R = crate::R<bool, bool>;
141651        ///Write proxy for field `BCDEN`
141652        pub struct BCDEN_W<'a> {
141653            w: &'a mut W,
141654        }
141655        impl<'a> BCDEN_W<'a> {
141656            ///Sets the field bit
141657            #[inline(always)]
141658            pub fn set_bit(self) -> &'a mut W {
141659                self.bit(true)
141660            }
141661            ///Clears the field bit
141662            #[inline(always)]
141663            pub fn clear_bit(self) -> &'a mut W {
141664                self.bit(false)
141665            }
141666            ///Writes raw bits to the field
141667            #[inline(always)]
141668            pub fn bit(self, value: bool) -> &'a mut W {
141669                self.w.bits = (self.w.bits & !0x01) | ((value as u16) & 0x01);
141670                self.w
141671            }
141672        }
141673        ///Reader of field `DCDEN`
141674        pub type DCDEN_R = crate::R<bool, bool>;
141675        ///Write proxy for field `DCDEN`
141676        pub struct DCDEN_W<'a> {
141677            w: &'a mut W,
141678        }
141679        impl<'a> DCDEN_W<'a> {
141680            ///Sets the field bit
141681            #[inline(always)]
141682            pub fn set_bit(self) -> &'a mut W {
141683                self.bit(true)
141684            }
141685            ///Clears the field bit
141686            #[inline(always)]
141687            pub fn clear_bit(self) -> &'a mut W {
141688                self.bit(false)
141689            }
141690            ///Writes raw bits to the field
141691            #[inline(always)]
141692            pub fn bit(self, value: bool) -> &'a mut W {
141693                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u16) & 0x01) << 1);
141694                self.w
141695            }
141696        }
141697        ///Reader of field `PDEN`
141698        pub type PDEN_R = crate::R<bool, bool>;
141699        ///Write proxy for field `PDEN`
141700        pub struct PDEN_W<'a> {
141701            w: &'a mut W,
141702        }
141703        impl<'a> PDEN_W<'a> {
141704            ///Sets the field bit
141705            #[inline(always)]
141706            pub fn set_bit(self) -> &'a mut W {
141707                self.bit(true)
141708            }
141709            ///Clears the field bit
141710            #[inline(always)]
141711            pub fn clear_bit(self) -> &'a mut W {
141712                self.bit(false)
141713            }
141714            ///Writes raw bits to the field
141715            #[inline(always)]
141716            pub fn bit(self, value: bool) -> &'a mut W {
141717                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u16) & 0x01) << 2);
141718                self.w
141719            }
141720        }
141721        ///Reader of field `SDEN`
141722        pub type SDEN_R = crate::R<bool, bool>;
141723        ///Write proxy for field `SDEN`
141724        pub struct SDEN_W<'a> {
141725            w: &'a mut W,
141726        }
141727        impl<'a> SDEN_W<'a> {
141728            ///Sets the field bit
141729            #[inline(always)]
141730            pub fn set_bit(self) -> &'a mut W {
141731                self.bit(true)
141732            }
141733            ///Clears the field bit
141734            #[inline(always)]
141735            pub fn clear_bit(self) -> &'a mut W {
141736                self.bit(false)
141737            }
141738            ///Writes raw bits to the field
141739            #[inline(always)]
141740            pub fn bit(self, value: bool) -> &'a mut W {
141741                self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u16) & 0x01) << 3);
141742                self.w
141743            }
141744        }
141745        ///Reader of field `DCDET`
141746        pub type DCDET_R = crate::R<bool, bool>;
141747        ///Reader of field `PDET`
141748        pub type PDET_R = crate::R<bool, bool>;
141749        ///Reader of field `SDET`
141750        pub type SDET_R = crate::R<bool, bool>;
141751        ///Reader of field `PS2DET`
141752        pub type PS2DET_R = crate::R<bool, bool>;
141753        ///Reader of field `DPPU`
141754        pub type DPPU_R = crate::R<bool, bool>;
141755        ///Write proxy for field `DPPU`
141756        pub struct DPPU_W<'a> {
141757            w: &'a mut W,
141758        }
141759        impl<'a> DPPU_W<'a> {
141760            ///Sets the field bit
141761            #[inline(always)]
141762            pub fn set_bit(self) -> &'a mut W {
141763                self.bit(true)
141764            }
141765            ///Clears the field bit
141766            #[inline(always)]
141767            pub fn clear_bit(self) -> &'a mut W {
141768                self.bit(false)
141769            }
141770            ///Writes raw bits to the field
141771            #[inline(always)]
141772            pub fn bit(self, value: bool) -> &'a mut W {
141773                self.w.bits = (self.w.bits & !(0x01 << 15)) | (((value as u16) & 0x01) << 15);
141774                self.w
141775            }
141776        }
141777        impl R {
141778            ///Bit 0 - Battery charging detector (BCD) enable
141779            #[inline(always)]
141780            pub fn bcden(&self) -> BCDEN_R {
141781                BCDEN_R::new((self.bits & 0x01) != 0)
141782            }
141783            ///Bit 1 - Data contact detection (DCD) mode enable
141784            #[inline(always)]
141785            pub fn dcden(&self) -> DCDEN_R {
141786                DCDEN_R::new(((self.bits >> 1) & 0x01) != 0)
141787            }
141788            ///Bit 2 - Primary detection (PD) mode enable
141789            #[inline(always)]
141790            pub fn pden(&self) -> PDEN_R {
141791                PDEN_R::new(((self.bits >> 2) & 0x01) != 0)
141792            }
141793            ///Bit 3 - Secondary detection (SD) mode enable
141794            #[inline(always)]
141795            pub fn sden(&self) -> SDEN_R {
141796                SDEN_R::new(((self.bits >> 3) & 0x01) != 0)
141797            }
141798            ///Bit 4 - Data contact detection (DCD) status
141799            #[inline(always)]
141800            pub fn dcdet(&self) -> DCDET_R {
141801                DCDET_R::new(((self.bits >> 4) & 0x01) != 0)
141802            }
141803            ///Bit 5 - Primary detection (PD) status
141804            #[inline(always)]
141805            pub fn pdet(&self) -> PDET_R {
141806                PDET_R::new(((self.bits >> 5) & 0x01) != 0)
141807            }
141808            ///Bit 6 - Secondary detection (SD) status
141809            #[inline(always)]
141810            pub fn sdet(&self) -> SDET_R {
141811                SDET_R::new(((self.bits >> 6) & 0x01) != 0)
141812            }
141813            ///Bit 7 - DM pull-up detection status
141814            #[inline(always)]
141815            pub fn ps2det(&self) -> PS2DET_R {
141816                PS2DET_R::new(((self.bits >> 7) & 0x01) != 0)
141817            }
141818            ///Bit 15 - DP pull-up control
141819            #[inline(always)]
141820            pub fn dppu(&self) -> DPPU_R {
141821                DPPU_R::new(((self.bits >> 15) & 0x01) != 0)
141822            }
141823        }
141824        impl W {
141825            ///Bit 0 - Battery charging detector (BCD) enable
141826            #[inline(always)]
141827            pub fn bcden(&mut self) -> BCDEN_W {
141828                BCDEN_W { w: self }
141829            }
141830            ///Bit 1 - Data contact detection (DCD) mode enable
141831            #[inline(always)]
141832            pub fn dcden(&mut self) -> DCDEN_W {
141833                DCDEN_W { w: self }
141834            }
141835            ///Bit 2 - Primary detection (PD) mode enable
141836            #[inline(always)]
141837            pub fn pden(&mut self) -> PDEN_W {
141838                PDEN_W { w: self }
141839            }
141840            ///Bit 3 - Secondary detection (SD) mode enable
141841            #[inline(always)]
141842            pub fn sden(&mut self) -> SDEN_W {
141843                SDEN_W { w: self }
141844            }
141845            ///Bit 15 - DP pull-up control
141846            #[inline(always)]
141847            pub fn dppu(&mut self) -> DPPU_W {
141848                DPPU_W { w: self }
141849            }
141850        }
141851    }
141852}
141853///SysTick timer
141854pub struct STK {
141855    _marker: PhantomData<*const ()>,
141856}
141857unsafe impl Send for STK {}
141858impl STK {
141859    ///Returns a pointer to the register block
141860    #[inline(always)]
141861    pub const fn ptr() -> *const stk::RegisterBlock {
141862        0xe000_e010 as *const _
141863    }
141864}
141865impl Deref for STK {
141866    type Target = stk::RegisterBlock;
141867    #[inline(always)]
141868    fn deref(&self) -> &Self::Target {
141869        unsafe { &*STK::ptr() }
141870    }
141871}
141872///SysTick timer
141873pub mod stk {
141874    ///Register block
141875    #[repr(C)]
141876    pub struct RegisterBlock {
141877        ///0x00 - SysTick control and status register
141878        pub ctrl: CTRL,
141879        ///0x04 - SysTick reload value register
141880        pub load: LOAD,
141881        ///0x08 - SysTick current value register
141882        pub val: VAL,
141883        ///0x0c - SysTick calibration value register
141884        pub calib: CALIB,
141885    }
141886    ///SysTick control and status register
141887    ///
141888    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
141889    ///
141890    ///For information about available fields see [ctrl](ctrl) module
141891    pub type CTRL = crate::Reg<u32, _CTRL>;
141892    #[allow(missing_docs)]
141893    #[doc(hidden)]
141894    pub struct _CTRL;
141895    ///`read()` method returns [ctrl::R](ctrl::R) reader structure
141896    impl crate::Readable for CTRL {}
141897    ///`write(|w| ..)` method takes [ctrl::W](ctrl::W) writer structure
141898    impl crate::Writable for CTRL {}
141899    ///SysTick control and status register
141900    pub mod ctrl {
141901        ///Reader of register CTRL
141902        pub type R = crate::R<u32, super::CTRL>;
141903        ///Writer for register CTRL
141904        pub type W = crate::W<u32, super::CTRL>;
141905        ///Register CTRL `reset()`'s with value 0
141906        impl crate::ResetValue for super::CTRL {
141907            type Type = u32;
141908            #[inline(always)]
141909            fn reset_value() -> Self::Type {
141910                0
141911            }
141912        }
141913        ///Reader of field `ENABLE`
141914        pub type ENABLE_R = crate::R<bool, bool>;
141915        ///Write proxy for field `ENABLE`
141916        pub struct ENABLE_W<'a> {
141917            w: &'a mut W,
141918        }
141919        impl<'a> ENABLE_W<'a> {
141920            ///Sets the field bit
141921            #[inline(always)]
141922            pub fn set_bit(self) -> &'a mut W {
141923                self.bit(true)
141924            }
141925            ///Clears the field bit
141926            #[inline(always)]
141927            pub fn clear_bit(self) -> &'a mut W {
141928                self.bit(false)
141929            }
141930            ///Writes raw bits to the field
141931            #[inline(always)]
141932            pub fn bit(self, value: bool) -> &'a mut W {
141933                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
141934                self.w
141935            }
141936        }
141937        ///Reader of field `TICKINT`
141938        pub type TICKINT_R = crate::R<bool, bool>;
141939        ///Write proxy for field `TICKINT`
141940        pub struct TICKINT_W<'a> {
141941            w: &'a mut W,
141942        }
141943        impl<'a> TICKINT_W<'a> {
141944            ///Sets the field bit
141945            #[inline(always)]
141946            pub fn set_bit(self) -> &'a mut W {
141947                self.bit(true)
141948            }
141949            ///Clears the field bit
141950            #[inline(always)]
141951            pub fn clear_bit(self) -> &'a mut W {
141952                self.bit(false)
141953            }
141954            ///Writes raw bits to the field
141955            #[inline(always)]
141956            pub fn bit(self, value: bool) -> &'a mut W {
141957                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
141958                self.w
141959            }
141960        }
141961        ///Reader of field `CLKSOURCE`
141962        pub type CLKSOURCE_R = crate::R<bool, bool>;
141963        ///Write proxy for field `CLKSOURCE`
141964        pub struct CLKSOURCE_W<'a> {
141965            w: &'a mut W,
141966        }
141967        impl<'a> CLKSOURCE_W<'a> {
141968            ///Sets the field bit
141969            #[inline(always)]
141970            pub fn set_bit(self) -> &'a mut W {
141971                self.bit(true)
141972            }
141973            ///Clears the field bit
141974            #[inline(always)]
141975            pub fn clear_bit(self) -> &'a mut W {
141976                self.bit(false)
141977            }
141978            ///Writes raw bits to the field
141979            #[inline(always)]
141980            pub fn bit(self, value: bool) -> &'a mut W {
141981                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
141982                self.w
141983            }
141984        }
141985        ///Reader of field `COUNTFLAG`
141986        pub type COUNTFLAG_R = crate::R<bool, bool>;
141987        ///Write proxy for field `COUNTFLAG`
141988        pub struct COUNTFLAG_W<'a> {
141989            w: &'a mut W,
141990        }
141991        impl<'a> COUNTFLAG_W<'a> {
141992            ///Sets the field bit
141993            #[inline(always)]
141994            pub fn set_bit(self) -> &'a mut W {
141995                self.bit(true)
141996            }
141997            ///Clears the field bit
141998            #[inline(always)]
141999            pub fn clear_bit(self) -> &'a mut W {
142000                self.bit(false)
142001            }
142002            ///Writes raw bits to the field
142003            #[inline(always)]
142004            pub fn bit(self, value: bool) -> &'a mut W {
142005                self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16);
142006                self.w
142007            }
142008        }
142009        impl R {
142010            ///Bit 0 - Counter enable
142011            #[inline(always)]
142012            pub fn enable(&self) -> ENABLE_R {
142013                ENABLE_R::new((self.bits & 0x01) != 0)
142014            }
142015            ///Bit 1 - SysTick exception request enable
142016            #[inline(always)]
142017            pub fn tickint(&self) -> TICKINT_R {
142018                TICKINT_R::new(((self.bits >> 1) & 0x01) != 0)
142019            }
142020            ///Bit 2 - Clock source selection
142021            #[inline(always)]
142022            pub fn clksource(&self) -> CLKSOURCE_R {
142023                CLKSOURCE_R::new(((self.bits >> 2) & 0x01) != 0)
142024            }
142025            ///Bit 16 - COUNTFLAG
142026            #[inline(always)]
142027            pub fn countflag(&self) -> COUNTFLAG_R {
142028                COUNTFLAG_R::new(((self.bits >> 16) & 0x01) != 0)
142029            }
142030        }
142031        impl W {
142032            ///Bit 0 - Counter enable
142033            #[inline(always)]
142034            pub fn enable(&mut self) -> ENABLE_W {
142035                ENABLE_W { w: self }
142036            }
142037            ///Bit 1 - SysTick exception request enable
142038            #[inline(always)]
142039            pub fn tickint(&mut self) -> TICKINT_W {
142040                TICKINT_W { w: self }
142041            }
142042            ///Bit 2 - Clock source selection
142043            #[inline(always)]
142044            pub fn clksource(&mut self) -> CLKSOURCE_W {
142045                CLKSOURCE_W { w: self }
142046            }
142047            ///Bit 16 - COUNTFLAG
142048            #[inline(always)]
142049            pub fn countflag(&mut self) -> COUNTFLAG_W {
142050                COUNTFLAG_W { w: self }
142051            }
142052        }
142053    }
142054    ///SysTick reload value register
142055    ///
142056    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
142057    ///
142058    ///For information about available fields see [load](load) module
142059    pub type LOAD = crate::Reg<u32, _LOAD>;
142060    #[allow(missing_docs)]
142061    #[doc(hidden)]
142062    pub struct _LOAD;
142063    ///`read()` method returns [load::R](load::R) reader structure
142064    impl crate::Readable for LOAD {}
142065    ///`write(|w| ..)` method takes [load::W](load::W) writer structure
142066    impl crate::Writable for LOAD {}
142067    ///SysTick reload value register
142068    pub mod load {
142069        ///Reader of register LOAD
142070        pub type R = crate::R<u32, super::LOAD>;
142071        ///Writer for register LOAD
142072        pub type W = crate::W<u32, super::LOAD>;
142073        ///Register LOAD `reset()`'s with value 0
142074        impl crate::ResetValue for super::LOAD {
142075            type Type = u32;
142076            #[inline(always)]
142077            fn reset_value() -> Self::Type {
142078                0
142079            }
142080        }
142081        ///Reader of field `RELOAD`
142082        pub type RELOAD_R = crate::R<u32, u32>;
142083        ///Write proxy for field `RELOAD`
142084        pub struct RELOAD_W<'a> {
142085            w: &'a mut W,
142086        }
142087        impl<'a> RELOAD_W<'a> {
142088            ///Writes raw bits to the field
142089            #[inline(always)]
142090            pub unsafe fn bits(self, value: u32) -> &'a mut W {
142091                self.w.bits = (self.w.bits & !0x00ff_ffff) | ((value as u32) & 0x00ff_ffff);
142092                self.w
142093            }
142094        }
142095        impl R {
142096            ///Bits 0:23 - RELOAD value
142097            #[inline(always)]
142098            pub fn reload(&self) -> RELOAD_R {
142099                RELOAD_R::new((self.bits & 0x00ff_ffff) as u32)
142100            }
142101        }
142102        impl W {
142103            ///Bits 0:23 - RELOAD value
142104            #[inline(always)]
142105            pub fn reload(&mut self) -> RELOAD_W {
142106                RELOAD_W { w: self }
142107            }
142108        }
142109    }
142110    ///SysTick current value register
142111    ///
142112    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
142113    ///
142114    ///For information about available fields see [val](val) module
142115    pub type VAL = crate::Reg<u32, _VAL>;
142116    #[allow(missing_docs)]
142117    #[doc(hidden)]
142118    pub struct _VAL;
142119    ///`read()` method returns [val::R](val::R) reader structure
142120    impl crate::Readable for VAL {}
142121    ///`write(|w| ..)` method takes [val::W](val::W) writer structure
142122    impl crate::Writable for VAL {}
142123    ///SysTick current value register
142124    pub mod val {
142125        ///Reader of register VAL
142126        pub type R = crate::R<u32, super::VAL>;
142127        ///Writer for register VAL
142128        pub type W = crate::W<u32, super::VAL>;
142129        ///Register VAL `reset()`'s with value 0
142130        impl crate::ResetValue for super::VAL {
142131            type Type = u32;
142132            #[inline(always)]
142133            fn reset_value() -> Self::Type {
142134                0
142135            }
142136        }
142137        ///Reader of field `CURRENT`
142138        pub type CURRENT_R = crate::R<u32, u32>;
142139        ///Write proxy for field `CURRENT`
142140        pub struct CURRENT_W<'a> {
142141            w: &'a mut W,
142142        }
142143        impl<'a> CURRENT_W<'a> {
142144            ///Writes raw bits to the field
142145            #[inline(always)]
142146            pub unsafe fn bits(self, value: u32) -> &'a mut W {
142147                self.w.bits = (self.w.bits & !0x00ff_ffff) | ((value as u32) & 0x00ff_ffff);
142148                self.w
142149            }
142150        }
142151        impl R {
142152            ///Bits 0:23 - Current counter value
142153            #[inline(always)]
142154            pub fn current(&self) -> CURRENT_R {
142155                CURRENT_R::new((self.bits & 0x00ff_ffff) as u32)
142156            }
142157        }
142158        impl W {
142159            ///Bits 0:23 - Current counter value
142160            #[inline(always)]
142161            pub fn current(&mut self) -> CURRENT_W {
142162                CURRENT_W { w: self }
142163            }
142164        }
142165    }
142166    ///SysTick calibration value register
142167    ///
142168    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
142169    ///
142170    ///For information about available fields see [calib](calib) module
142171    pub type CALIB = crate::Reg<u32, _CALIB>;
142172    #[allow(missing_docs)]
142173    #[doc(hidden)]
142174    pub struct _CALIB;
142175    ///`read()` method returns [calib::R](calib::R) reader structure
142176    impl crate::Readable for CALIB {}
142177    ///`write(|w| ..)` method takes [calib::W](calib::W) writer structure
142178    impl crate::Writable for CALIB {}
142179    ///SysTick calibration value register
142180    pub mod calib {
142181        ///Reader of register CALIB
142182        pub type R = crate::R<u32, super::CALIB>;
142183        ///Writer for register CALIB
142184        pub type W = crate::W<u32, super::CALIB>;
142185        ///Register CALIB `reset()`'s with value 0
142186        impl crate::ResetValue for super::CALIB {
142187            type Type = u32;
142188            #[inline(always)]
142189            fn reset_value() -> Self::Type {
142190                0
142191            }
142192        }
142193        ///Reader of field `TENMS`
142194        pub type TENMS_R = crate::R<u32, u32>;
142195        ///Write proxy for field `TENMS`
142196        pub struct TENMS_W<'a> {
142197            w: &'a mut W,
142198        }
142199        impl<'a> TENMS_W<'a> {
142200            ///Writes raw bits to the field
142201            #[inline(always)]
142202            pub unsafe fn bits(self, value: u32) -> &'a mut W {
142203                self.w.bits = (self.w.bits & !0x00ff_ffff) | ((value as u32) & 0x00ff_ffff);
142204                self.w
142205            }
142206        }
142207        ///Reader of field `SKEW`
142208        pub type SKEW_R = crate::R<bool, bool>;
142209        ///Write proxy for field `SKEW`
142210        pub struct SKEW_W<'a> {
142211            w: &'a mut W,
142212        }
142213        impl<'a> SKEW_W<'a> {
142214            ///Sets the field bit
142215            #[inline(always)]
142216            pub fn set_bit(self) -> &'a mut W {
142217                self.bit(true)
142218            }
142219            ///Clears the field bit
142220            #[inline(always)]
142221            pub fn clear_bit(self) -> &'a mut W {
142222                self.bit(false)
142223            }
142224            ///Writes raw bits to the field
142225            #[inline(always)]
142226            pub fn bit(self, value: bool) -> &'a mut W {
142227                self.w.bits = (self.w.bits & !(0x01 << 30)) | (((value as u32) & 0x01) << 30);
142228                self.w
142229            }
142230        }
142231        ///Reader of field `NOREF`
142232        pub type NOREF_R = crate::R<bool, bool>;
142233        ///Write proxy for field `NOREF`
142234        pub struct NOREF_W<'a> {
142235            w: &'a mut W,
142236        }
142237        impl<'a> NOREF_W<'a> {
142238            ///Sets the field bit
142239            #[inline(always)]
142240            pub fn set_bit(self) -> &'a mut W {
142241                self.bit(true)
142242            }
142243            ///Clears the field bit
142244            #[inline(always)]
142245            pub fn clear_bit(self) -> &'a mut W {
142246                self.bit(false)
142247            }
142248            ///Writes raw bits to the field
142249            #[inline(always)]
142250            pub fn bit(self, value: bool) -> &'a mut W {
142251                self.w.bits = (self.w.bits & !(0x01 << 31)) | (((value as u32) & 0x01) << 31);
142252                self.w
142253            }
142254        }
142255        impl R {
142256            ///Bits 0:23 - Calibration value
142257            #[inline(always)]
142258            pub fn tenms(&self) -> TENMS_R {
142259                TENMS_R::new((self.bits & 0x00ff_ffff) as u32)
142260            }
142261            ///Bit 30 - SKEW flag: Indicates whether the TENMS value is exact
142262            #[inline(always)]
142263            pub fn skew(&self) -> SKEW_R {
142264                SKEW_R::new(((self.bits >> 30) & 0x01) != 0)
142265            }
142266            ///Bit 31 - NOREF flag. Reads as zero
142267            #[inline(always)]
142268            pub fn noref(&self) -> NOREF_R {
142269                NOREF_R::new(((self.bits >> 31) & 0x01) != 0)
142270            }
142271        }
142272        impl W {
142273            ///Bits 0:23 - Calibration value
142274            #[inline(always)]
142275            pub fn tenms(&mut self) -> TENMS_W {
142276                TENMS_W { w: self }
142277            }
142278            ///Bit 30 - SKEW flag: Indicates whether the TENMS value is exact
142279            #[inline(always)]
142280            pub fn skew(&mut self) -> SKEW_W {
142281                SKEW_W { w: self }
142282            }
142283            ///Bit 31 - NOREF flag. Reads as zero
142284            #[inline(always)]
142285            pub fn noref(&mut self) -> NOREF_W {
142286                NOREF_W { w: self }
142287            }
142288        }
142289    }
142290}
142291///Nested vectored interrupt controller
142292pub struct NVIC_STIR {
142293    _marker: PhantomData<*const ()>,
142294}
142295unsafe impl Send for NVIC_STIR {}
142296impl NVIC_STIR {
142297    ///Returns a pointer to the register block
142298    #[inline(always)]
142299    pub const fn ptr() -> *const nvic_stir::RegisterBlock {
142300        0xe000_ef00 as *const _
142301    }
142302}
142303impl Deref for NVIC_STIR {
142304    type Target = nvic_stir::RegisterBlock;
142305    #[inline(always)]
142306    fn deref(&self) -> &Self::Target {
142307        unsafe { &*NVIC_STIR::ptr() }
142308    }
142309}
142310///Nested vectored interrupt controller
142311pub mod nvic_stir {
142312    ///Register block
142313    #[repr(C)]
142314    pub struct RegisterBlock {
142315        ///0x00 - Software trigger interrupt register
142316        pub stir: STIR,
142317    }
142318    ///Software trigger interrupt register
142319    ///
142320    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
142321    ///
142322    ///For information about available fields see [stir](stir) module
142323    pub type STIR = crate::Reg<u32, _STIR>;
142324    #[allow(missing_docs)]
142325    #[doc(hidden)]
142326    pub struct _STIR;
142327    ///`read()` method returns [stir::R](stir::R) reader structure
142328    impl crate::Readable for STIR {}
142329    ///`write(|w| ..)` method takes [stir::W](stir::W) writer structure
142330    impl crate::Writable for STIR {}
142331    ///Software trigger interrupt register
142332    pub mod stir {
142333        ///Reader of register STIR
142334        pub type R = crate::R<u32, super::STIR>;
142335        ///Writer for register STIR
142336        pub type W = crate::W<u32, super::STIR>;
142337        ///Register STIR `reset()`'s with value 0
142338        impl crate::ResetValue for super::STIR {
142339            type Type = u32;
142340            #[inline(always)]
142341            fn reset_value() -> Self::Type {
142342                0
142343            }
142344        }
142345        ///Reader of field `INTID`
142346        pub type INTID_R = crate::R<u16, u16>;
142347        ///Write proxy for field `INTID`
142348        pub struct INTID_W<'a> {
142349            w: &'a mut W,
142350        }
142351        impl<'a> INTID_W<'a> {
142352            ///Writes raw bits to the field
142353            #[inline(always)]
142354            pub unsafe fn bits(self, value: u16) -> &'a mut W {
142355                self.w.bits = (self.w.bits & !0x01ff) | ((value as u32) & 0x01ff);
142356                self.w
142357            }
142358        }
142359        impl R {
142360            ///Bits 0:8 - Software generated interrupt ID
142361            #[inline(always)]
142362            pub fn intid(&self) -> INTID_R {
142363                INTID_R::new((self.bits & 0x01ff) as u16)
142364            }
142365        }
142366        impl W {
142367            ///Bits 0:8 - Software generated interrupt ID
142368            #[inline(always)]
142369            pub fn intid(&mut self) -> INTID_W {
142370                INTID_W { w: self }
142371            }
142372        }
142373    }
142374}
142375///System control block ACTLR
142376pub struct SCB_ACTRL {
142377    _marker: PhantomData<*const ()>,
142378}
142379unsafe impl Send for SCB_ACTRL {}
142380impl SCB_ACTRL {
142381    ///Returns a pointer to the register block
142382    #[inline(always)]
142383    pub const fn ptr() -> *const scb_actrl::RegisterBlock {
142384        0xe000_e008 as *const _
142385    }
142386}
142387impl Deref for SCB_ACTRL {
142388    type Target = scb_actrl::RegisterBlock;
142389    #[inline(always)]
142390    fn deref(&self) -> &Self::Target {
142391        unsafe { &*SCB_ACTRL::ptr() }
142392    }
142393}
142394///System control block ACTLR
142395pub mod scb_actrl {
142396    ///Register block
142397    #[repr(C)]
142398    pub struct RegisterBlock {
142399        ///0x00 - Auxiliary control register
142400        pub actrl: ACTRL,
142401    }
142402    ///Auxiliary control register
142403    ///
142404    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
142405    ///
142406    ///For information about available fields see [actrl](actrl) module
142407    pub type ACTRL = crate::Reg<u32, _ACTRL>;
142408    #[allow(missing_docs)]
142409    #[doc(hidden)]
142410    pub struct _ACTRL;
142411    ///`read()` method returns [actrl::R](actrl::R) reader structure
142412    impl crate::Readable for ACTRL {}
142413    ///`write(|w| ..)` method takes [actrl::W](actrl::W) writer structure
142414    impl crate::Writable for ACTRL {}
142415    ///Auxiliary control register
142416    pub mod actrl {
142417        ///Reader of register ACTRL
142418        pub type R = crate::R<u32, super::ACTRL>;
142419        ///Writer for register ACTRL
142420        pub type W = crate::W<u32, super::ACTRL>;
142421        ///Register ACTRL `reset()`'s with value 0
142422        impl crate::ResetValue for super::ACTRL {
142423            type Type = u32;
142424            #[inline(always)]
142425            fn reset_value() -> Self::Type {
142426                0
142427            }
142428        }
142429        ///Reader of field `DISMCYCINT`
142430        pub type DISMCYCINT_R = crate::R<bool, bool>;
142431        ///Write proxy for field `DISMCYCINT`
142432        pub struct DISMCYCINT_W<'a> {
142433            w: &'a mut W,
142434        }
142435        impl<'a> DISMCYCINT_W<'a> {
142436            ///Sets the field bit
142437            #[inline(always)]
142438            pub fn set_bit(self) -> &'a mut W {
142439                self.bit(true)
142440            }
142441            ///Clears the field bit
142442            #[inline(always)]
142443            pub fn clear_bit(self) -> &'a mut W {
142444                self.bit(false)
142445            }
142446            ///Writes raw bits to the field
142447            #[inline(always)]
142448            pub fn bit(self, value: bool) -> &'a mut W {
142449                self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
142450                self.w
142451            }
142452        }
142453        ///Reader of field `DISDEFWBUF`
142454        pub type DISDEFWBUF_R = crate::R<bool, bool>;
142455        ///Write proxy for field `DISDEFWBUF`
142456        pub struct DISDEFWBUF_W<'a> {
142457            w: &'a mut W,
142458        }
142459        impl<'a> DISDEFWBUF_W<'a> {
142460            ///Sets the field bit
142461            #[inline(always)]
142462            pub fn set_bit(self) -> &'a mut W {
142463                self.bit(true)
142464            }
142465            ///Clears the field bit
142466            #[inline(always)]
142467            pub fn clear_bit(self) -> &'a mut W {
142468                self.bit(false)
142469            }
142470            ///Writes raw bits to the field
142471            #[inline(always)]
142472            pub fn bit(self, value: bool) -> &'a mut W {
142473                self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
142474                self.w
142475            }
142476        }
142477        ///Reader of field `DISFOLD`
142478        pub type DISFOLD_R = crate::R<bool, bool>;
142479        ///Write proxy for field `DISFOLD`
142480        pub struct DISFOLD_W<'a> {
142481            w: &'a mut W,
142482        }
142483        impl<'a> DISFOLD_W<'a> {
142484            ///Sets the field bit
142485            #[inline(always)]
142486            pub fn set_bit(self) -> &'a mut W {
142487                self.bit(true)
142488            }
142489            ///Clears the field bit
142490            #[inline(always)]
142491            pub fn clear_bit(self) -> &'a mut W {
142492                self.bit(false)
142493            }
142494            ///Writes raw bits to the field
142495            #[inline(always)]
142496            pub fn bit(self, value: bool) -> &'a mut W {
142497                self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
142498                self.w
142499            }
142500        }
142501        ///Reader of field `DISFPCA`
142502        pub type DISFPCA_R = crate::R<bool, bool>;
142503        ///Write proxy for field `DISFPCA`
142504        pub struct DISFPCA_W<'a> {
142505            w: &'a mut W,
142506        }
142507        impl<'a> DISFPCA_W<'a> {
142508            ///Sets the field bit
142509            #[inline(always)]
142510            pub fn set_bit(self) -> &'a mut W {
142511                self.bit(true)
142512            }
142513            ///Clears the field bit
142514            #[inline(always)]
142515            pub fn clear_bit(self) -> &'a mut W {
142516                self.bit(false)
142517            }
142518            ///Writes raw bits to the field
142519            #[inline(always)]
142520            pub fn bit(self, value: bool) -> &'a mut W {
142521                self.w.bits = (self.w.bits & !(0x01 << 8)) | (((value as u32) & 0x01) << 8);
142522                self.w
142523            }
142524        }
142525        ///Reader of field `DISOOFP`
142526        pub type DISOOFP_R = crate::R<bool, bool>;
142527        ///Write proxy for field `DISOOFP`
142528        pub struct DISOOFP_W<'a> {
142529            w: &'a mut W,
142530        }
142531        impl<'a> DISOOFP_W<'a> {
142532            ///Sets the field bit
142533            #[inline(always)]
142534            pub fn set_bit(self) -> &'a mut W {
142535                self.bit(true)
142536            }
142537            ///Clears the field bit
142538            #[inline(always)]
142539            pub fn clear_bit(self) -> &'a mut W {
142540                self.bit(false)
142541            }
142542            ///Writes raw bits to the field
142543            #[inline(always)]
142544            pub fn bit(self, value: bool) -> &'a mut W {
142545                self.w.bits = (self.w.bits & !(0x01 << 9)) | (((value as u32) & 0x01) << 9);
142546                self.w
142547            }
142548        }
142549        impl R {
142550            ///Bit 0 - DISMCYCINT
142551            #[inline(always)]
142552            pub fn dismcycint(&self) -> DISMCYCINT_R {
142553                DISMCYCINT_R::new((self.bits & 0x01) != 0)
142554            }
142555            ///Bit 1 - DISDEFWBUF
142556            #[inline(always)]
142557            pub fn disdefwbuf(&self) -> DISDEFWBUF_R {
142558                DISDEFWBUF_R::new(((self.bits >> 1) & 0x01) != 0)
142559            }
142560            ///Bit 2 - DISFOLD
142561            #[inline(always)]
142562            pub fn disfold(&self) -> DISFOLD_R {
142563                DISFOLD_R::new(((self.bits >> 2) & 0x01) != 0)
142564            }
142565            ///Bit 8 - DISFPCA
142566            #[inline(always)]
142567            pub fn disfpca(&self) -> DISFPCA_R {
142568                DISFPCA_R::new(((self.bits >> 8) & 0x01) != 0)
142569            }
142570            ///Bit 9 - DISOOFP
142571            #[inline(always)]
142572            pub fn disoofp(&self) -> DISOOFP_R {
142573                DISOOFP_R::new(((self.bits >> 9) & 0x01) != 0)
142574            }
142575        }
142576        impl W {
142577            ///Bit 0 - DISMCYCINT
142578            #[inline(always)]
142579            pub fn dismcycint(&mut self) -> DISMCYCINT_W {
142580                DISMCYCINT_W { w: self }
142581            }
142582            ///Bit 1 - DISDEFWBUF
142583            #[inline(always)]
142584            pub fn disdefwbuf(&mut self) -> DISDEFWBUF_W {
142585                DISDEFWBUF_W { w: self }
142586            }
142587            ///Bit 2 - DISFOLD
142588            #[inline(always)]
142589            pub fn disfold(&mut self) -> DISFOLD_W {
142590                DISFOLD_W { w: self }
142591            }
142592            ///Bit 8 - DISFPCA
142593            #[inline(always)]
142594            pub fn disfpca(&mut self) -> DISFPCA_W {
142595                DISFPCA_W { w: self }
142596            }
142597            ///Bit 9 - DISOOFP
142598            #[inline(always)]
142599            pub fn disoofp(&mut self) -> DISOOFP_W {
142600                DISOOFP_W { w: self }
142601            }
142602        }
142603    }
142604}
142605///Floating point unit CPACR
142606pub struct FPU_CPACR {
142607    _marker: PhantomData<*const ()>,
142608}
142609unsafe impl Send for FPU_CPACR {}
142610impl FPU_CPACR {
142611    ///Returns a pointer to the register block
142612    #[inline(always)]
142613    pub const fn ptr() -> *const fpu_cpacr::RegisterBlock {
142614        0xe000_ed88 as *const _
142615    }
142616}
142617impl Deref for FPU_CPACR {
142618    type Target = fpu_cpacr::RegisterBlock;
142619    #[inline(always)]
142620    fn deref(&self) -> &Self::Target {
142621        unsafe { &*FPU_CPACR::ptr() }
142622    }
142623}
142624///Floating point unit CPACR
142625pub mod fpu_cpacr {
142626    ///Register block
142627    #[repr(C)]
142628    pub struct RegisterBlock {
142629        ///0x00 - Coprocessor access control register
142630        pub cpacr: CPACR,
142631    }
142632    ///Coprocessor access control register
142633    ///
142634    ///This register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).
142635    ///
142636    ///For information about available fields see [cpacr](cpacr) module
142637    pub type CPACR = crate::Reg<u32, _CPACR>;
142638    #[allow(missing_docs)]
142639    #[doc(hidden)]
142640    pub struct _CPACR;
142641    ///`read()` method returns [cpacr::R](cpacr::R) reader structure
142642    impl crate::Readable for CPACR {}
142643    ///`write(|w| ..)` method takes [cpacr::W](cpacr::W) writer structure
142644    impl crate::Writable for CPACR {}
142645    ///Coprocessor access control register
142646    pub mod cpacr {
142647        ///Reader of register CPACR
142648        pub type R = crate::R<u32, super::CPACR>;
142649        ///Writer for register CPACR
142650        pub type W = crate::W<u32, super::CPACR>;
142651        ///Register CPACR `reset()`'s with value 0
142652        impl crate::ResetValue for super::CPACR {
142653            type Type = u32;
142654            #[inline(always)]
142655            fn reset_value() -> Self::Type {
142656                0
142657            }
142658        }
142659        ///Reader of field `CP`
142660        pub type CP_R = crate::R<u8, u8>;
142661        ///Write proxy for field `CP`
142662        pub struct CP_W<'a> {
142663            w: &'a mut W,
142664        }
142665        impl<'a> CP_W<'a> {
142666            ///Writes raw bits to the field
142667            #[inline(always)]
142668            pub unsafe fn bits(self, value: u8) -> &'a mut W {
142669                self.w.bits = (self.w.bits & !(0x0f << 20)) | (((value as u32) & 0x0f) << 20);
142670                self.w
142671            }
142672        }
142673        impl R {
142674            ///Bits 20:23 - CP
142675            #[inline(always)]
142676            pub fn cp(&self) -> CP_R {
142677                CP_R::new(((self.bits >> 20) & 0x0f) as u8)
142678            }
142679        }
142680        impl W {
142681            ///Bits 20:23 - CP
142682            #[inline(always)]
142683            pub fn cp(&mut self) -> CP_W {
142684                CP_W { w: self }
142685            }
142686        }
142687    }
142688}
142689#[no_mangle]
142690static mut DEVICE_PERIPHERALS: bool = false;
142691///All the peripherals
142692#[allow(non_snake_case)]
142693pub struct Peripherals {
142694    ///DMA1
142695    pub DMA1: DMA1,
142696    ///DMA2
142697    pub DMA2: DMA2,
142698    ///DMAMUX1
142699    pub DMAMUX1: DMAMUX1,
142700    ///CRC
142701    pub CRC: CRC,
142702    ///LCD
142703    pub LCD: LCD,
142704    ///TSC
142705    pub TSC: TSC,
142706    ///IWDG
142707    pub IWDG: IWDG,
142708    ///WWDG
142709    pub WWDG: WWDG,
142710    ///COMP
142711    pub COMP: COMP,
142712    ///I2C1
142713    pub I2C1: I2C1,
142714    ///I2C3
142715    pub I2C3: I2C3,
142716    ///FLASH
142717    pub FLASH: FLASH,
142718    ///QUADSPI
142719    pub QUADSPI: QUADSPI,
142720    ///RCC
142721    pub RCC: RCC,
142722    ///PWR
142723    pub PWR: PWR,
142724    ///SYSCFG
142725    pub SYSCFG: SYSCFG,
142726    ///RNG
142727    pub RNG: RNG,
142728    ///AES1
142729    pub AES1: AES1,
142730    ///AES2
142731    pub AES2: AES2,
142732    ///HSEM
142733    pub HSEM: HSEM,
142734    ///ADC
142735    pub ADC: ADC,
142736    ///GPIOA
142737    pub GPIOA: GPIOA,
142738    ///GPIOB
142739    pub GPIOB: GPIOB,
142740    ///GPIOC
142741    pub GPIOC: GPIOC,
142742    ///GPIOD
142743    pub GPIOD: GPIOD,
142744    ///GPIOE
142745    pub GPIOE: GPIOE,
142746    ///GPIOH
142747    pub GPIOH: GPIOH,
142748    ///SAI1
142749    pub SAI1: SAI1,
142750    ///TIM2
142751    pub TIM2: TIM2,
142752    ///TIM16
142753    pub TIM16: TIM16,
142754    ///TIM17
142755    pub TIM17: TIM17,
142756    ///TIM1
142757    pub TIM1: TIM1,
142758    ///LPTIM1
142759    pub LPTIM1: LPTIM1,
142760    ///LPTIM2
142761    pub LPTIM2: LPTIM2,
142762    ///USART1
142763    pub USART1: USART1,
142764    ///LPUART1
142765    pub LPUART1: LPUART1,
142766    ///SPI1
142767    pub SPI1: SPI1,
142768    ///SPI2
142769    pub SPI2: SPI2,
142770    ///VREFBUF
142771    pub VREFBUF: VREFBUF,
142772    ///RTC
142773    pub RTC: RTC,
142774    ///DBGMCU
142775    pub DBGMCU: DBGMCU,
142776    ///PKA
142777    pub PKA: PKA,
142778    ///IPCC
142779    pub IPCC: IPCC,
142780    ///EXTI
142781    pub EXTI: EXTI,
142782    ///CRS
142783    pub CRS: CRS,
142784    ///USB
142785    pub USB: USB,
142786    ///STK
142787    pub STK: STK,
142788    ///NVIC_STIR
142789    pub NVIC_STIR: NVIC_STIR,
142790    ///SCB_ACTRL
142791    pub SCB_ACTRL: SCB_ACTRL,
142792    ///FPU_CPACR
142793    pub FPU_CPACR: FPU_CPACR,
142794}
142795impl Peripherals {
142796    ///Returns all the peripherals *once*
142797    #[inline]
142798    pub fn take() -> Option<Self> {
142799        cortex_m::interrupt::free(|_| {
142800            if unsafe { DEVICE_PERIPHERALS } {
142801                None
142802            } else {
142803                Some(unsafe { Peripherals::steal() })
142804            }
142805        })
142806    }
142807    ///Unchecked version of `Peripherals::take`
142808    #[inline]
142809    pub unsafe fn steal() -> Self {
142810        DEVICE_PERIPHERALS = true;
142811        Peripherals {
142812            DMA1: DMA1 {
142813                _marker: PhantomData,
142814            },
142815            DMA2: DMA2 {
142816                _marker: PhantomData,
142817            },
142818            DMAMUX1: DMAMUX1 {
142819                _marker: PhantomData,
142820            },
142821            CRC: CRC {
142822                _marker: PhantomData,
142823            },
142824            LCD: LCD {
142825                _marker: PhantomData,
142826            },
142827            TSC: TSC {
142828                _marker: PhantomData,
142829            },
142830            IWDG: IWDG {
142831                _marker: PhantomData,
142832            },
142833            WWDG: WWDG {
142834                _marker: PhantomData,
142835            },
142836            COMP: COMP {
142837                _marker: PhantomData,
142838            },
142839            I2C1: I2C1 {
142840                _marker: PhantomData,
142841            },
142842            I2C3: I2C3 {
142843                _marker: PhantomData,
142844            },
142845            FLASH: FLASH {
142846                _marker: PhantomData,
142847            },
142848            QUADSPI: QUADSPI {
142849                _marker: PhantomData,
142850            },
142851            RCC: RCC {
142852                _marker: PhantomData,
142853            },
142854            PWR: PWR {
142855                _marker: PhantomData,
142856            },
142857            SYSCFG: SYSCFG {
142858                _marker: PhantomData,
142859            },
142860            RNG: RNG {
142861                _marker: PhantomData,
142862            },
142863            AES1: AES1 {
142864                _marker: PhantomData,
142865            },
142866            AES2: AES2 {
142867                _marker: PhantomData,
142868            },
142869            HSEM: HSEM {
142870                _marker: PhantomData,
142871            },
142872            ADC: ADC {
142873                _marker: PhantomData,
142874            },
142875            GPIOA: GPIOA {
142876                _marker: PhantomData,
142877            },
142878            GPIOB: GPIOB {
142879                _marker: PhantomData,
142880            },
142881            GPIOC: GPIOC {
142882                _marker: PhantomData,
142883            },
142884            GPIOD: GPIOD {
142885                _marker: PhantomData,
142886            },
142887            GPIOE: GPIOE {
142888                _marker: PhantomData,
142889            },
142890            GPIOH: GPIOH {
142891                _marker: PhantomData,
142892            },
142893            SAI1: SAI1 {
142894                _marker: PhantomData,
142895            },
142896            TIM2: TIM2 {
142897                _marker: PhantomData,
142898            },
142899            TIM16: TIM16 {
142900                _marker: PhantomData,
142901            },
142902            TIM17: TIM17 {
142903                _marker: PhantomData,
142904            },
142905            TIM1: TIM1 {
142906                _marker: PhantomData,
142907            },
142908            LPTIM1: LPTIM1 {
142909                _marker: PhantomData,
142910            },
142911            LPTIM2: LPTIM2 {
142912                _marker: PhantomData,
142913            },
142914            USART1: USART1 {
142915                _marker: PhantomData,
142916            },
142917            LPUART1: LPUART1 {
142918                _marker: PhantomData,
142919            },
142920            SPI1: SPI1 {
142921                _marker: PhantomData,
142922            },
142923            SPI2: SPI2 {
142924                _marker: PhantomData,
142925            },
142926            VREFBUF: VREFBUF {
142927                _marker: PhantomData,
142928            },
142929            RTC: RTC {
142930                _marker: PhantomData,
142931            },
142932            DBGMCU: DBGMCU {
142933                _marker: PhantomData,
142934            },
142935            PKA: PKA {
142936                _marker: PhantomData,
142937            },
142938            IPCC: IPCC {
142939                _marker: PhantomData,
142940            },
142941            EXTI: EXTI {
142942                _marker: PhantomData,
142943            },
142944            CRS: CRS {
142945                _marker: PhantomData,
142946            },
142947            USB: USB {
142948                _marker: PhantomData,
142949            },
142950            STK: STK {
142951                _marker: PhantomData,
142952            },
142953            NVIC_STIR: NVIC_STIR {
142954                _marker: PhantomData,
142955            },
142956            SCB_ACTRL: SCB_ACTRL {
142957                _marker: PhantomData,
142958            },
142959            FPU_CPACR: FPU_CPACR {
142960                _marker: PhantomData,
142961            },
142962        }
142963    }
142964}