Skip to main content

ra4e1_pac/
sci0.rs

1/*
2DISCLAIMER
3This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
4No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
5applicable laws, including copyright laws.
6THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
7OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
9LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
10INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
11ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
12Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
13of this software. By using this software, you agree to the additional terms and conditions found by accessing the
14following link:
15http://www.renesas.com/disclaimer
16
17*/
18// Generated from SVD 1.20.00, with svd2pac 0.6.1 on Sun, 15 Mar 2026 07:04:18 +0000
19
20#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"Serial Communication Interface"]
28unsafe impl ::core::marker::Send for super::Sci0 {}
29unsafe impl ::core::marker::Sync for super::Sci0 {}
30impl super::Sci0 {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36
37    #[doc = "Serial Mode Register for Non-Smart Card Interface Mode (SCMR.SMIF = 0)"]
38    #[inline(always)]
39    pub const fn smr(&self) -> &'static crate::common::Reg<self::Smr_SPEC, crate::common::RW> {
40        unsafe {
41            crate::common::Reg::<self::Smr_SPEC, crate::common::RW>::from_ptr(
42                self._svd2pac_as_ptr().add(0usize),
43            )
44        }
45    }
46
47    #[doc = "Serial Mode Register for Smart Card Interface Mode (SCMR.SMIF = 1)"]
48    #[inline(always)]
49    pub const fn smr_smci(
50        &self,
51    ) -> &'static crate::common::Reg<self::SmrSmci_SPEC, crate::common::RW> {
52        unsafe {
53            crate::common::Reg::<self::SmrSmci_SPEC, crate::common::RW>::from_ptr(
54                self._svd2pac_as_ptr().add(0usize),
55            )
56        }
57    }
58
59    #[doc = "Bit Rate Register"]
60    #[inline(always)]
61    pub const fn brr(&self) -> &'static crate::common::Reg<self::Brr_SPEC, crate::common::RW> {
62        unsafe {
63            crate::common::Reg::<self::Brr_SPEC, crate::common::RW>::from_ptr(
64                self._svd2pac_as_ptr().add(1usize),
65            )
66        }
67    }
68
69    #[doc = "Serial Control Register for Non-Smart Card Interface Mode (SCMR.SMIF = 0)"]
70    #[inline(always)]
71    pub const fn scr(&self) -> &'static crate::common::Reg<self::Scr_SPEC, crate::common::RW> {
72        unsafe {
73            crate::common::Reg::<self::Scr_SPEC, crate::common::RW>::from_ptr(
74                self._svd2pac_as_ptr().add(2usize),
75            )
76        }
77    }
78
79    #[doc = "Serial Control Register for Smart Card Interface Mode (SCMR.SMIF = 1)"]
80    #[inline(always)]
81    pub const fn scr_smci(
82        &self,
83    ) -> &'static crate::common::Reg<self::ScrSmci_SPEC, crate::common::RW> {
84        unsafe {
85            crate::common::Reg::<self::ScrSmci_SPEC, crate::common::RW>::from_ptr(
86                self._svd2pac_as_ptr().add(2usize),
87            )
88        }
89    }
90
91    #[doc = "Transmit Data Register"]
92    #[inline(always)]
93    pub const fn tdr(&self) -> &'static crate::common::Reg<self::Tdr_SPEC, crate::common::RW> {
94        unsafe {
95            crate::common::Reg::<self::Tdr_SPEC, crate::common::RW>::from_ptr(
96                self._svd2pac_as_ptr().add(3usize),
97            )
98        }
99    }
100
101    #[doc = "Serial Status Register for Non-Smart Card Interface and Non-FIFO Mode (SCMR.SMIF = 0, FCR.FM = 0, and MMR.MANEN = 0)"]
102    #[inline(always)]
103    pub const fn ssr(&self) -> &'static crate::common::Reg<self::Ssr_SPEC, crate::common::RW> {
104        unsafe {
105            crate::common::Reg::<self::Ssr_SPEC, crate::common::RW>::from_ptr(
106                self._svd2pac_as_ptr().add(4usize),
107            )
108        }
109    }
110
111    #[doc = "Serial Status Register for Non-Smart Card Interface and FIFO Mode (SCMR.SMIF = 0, FCR.FM = 1, and MMR.MANEN = 0)"]
112    #[inline(always)]
113    pub const fn ssr_fifo(
114        &self,
115    ) -> &'static crate::common::Reg<self::SsrFifo_SPEC, crate::common::RW> {
116        unsafe {
117            crate::common::Reg::<self::SsrFifo_SPEC, crate::common::RW>::from_ptr(
118                self._svd2pac_as_ptr().add(4usize),
119            )
120        }
121    }
122
123    #[doc = "Serial Status Register for Smart Card Interface Mode (SCMR.SMIF = 1, and MMR.MANEN = 0)"]
124    #[inline(always)]
125    pub const fn ssr_smci(
126        &self,
127    ) -> &'static crate::common::Reg<self::SsrSmci_SPEC, crate::common::RW> {
128        unsafe {
129            crate::common::Reg::<self::SsrSmci_SPEC, crate::common::RW>::from_ptr(
130                self._svd2pac_as_ptr().add(4usize),
131            )
132        }
133    }
134
135    #[doc = "Receive Data Register"]
136    #[inline(always)]
137    pub const fn rdr(&self) -> &'static crate::common::Reg<self::Rdr_SPEC, crate::common::R> {
138        unsafe {
139            crate::common::Reg::<self::Rdr_SPEC, crate::common::R>::from_ptr(
140                self._svd2pac_as_ptr().add(5usize),
141            )
142        }
143    }
144
145    #[doc = "Smart Card Mode Register"]
146    #[inline(always)]
147    pub const fn scmr(&self) -> &'static crate::common::Reg<self::Scmr_SPEC, crate::common::RW> {
148        unsafe {
149            crate::common::Reg::<self::Scmr_SPEC, crate::common::RW>::from_ptr(
150                self._svd2pac_as_ptr().add(6usize),
151            )
152        }
153    }
154
155    #[doc = "Serial Extended Mode Register"]
156    #[inline(always)]
157    pub const fn semr(&self) -> &'static crate::common::Reg<self::Semr_SPEC, crate::common::RW> {
158        unsafe {
159            crate::common::Reg::<self::Semr_SPEC, crate::common::RW>::from_ptr(
160                self._svd2pac_as_ptr().add(7usize),
161            )
162        }
163    }
164
165    #[doc = "Noise Filter Setting Register"]
166    #[inline(always)]
167    pub const fn snfr(&self) -> &'static crate::common::Reg<self::Snfr_SPEC, crate::common::RW> {
168        unsafe {
169            crate::common::Reg::<self::Snfr_SPEC, crate::common::RW>::from_ptr(
170                self._svd2pac_as_ptr().add(8usize),
171            )
172        }
173    }
174
175    #[doc = "IIC Mode Register 1"]
176    #[inline(always)]
177    pub const fn simr1(&self) -> &'static crate::common::Reg<self::Simr1_SPEC, crate::common::RW> {
178        unsafe {
179            crate::common::Reg::<self::Simr1_SPEC, crate::common::RW>::from_ptr(
180                self._svd2pac_as_ptr().add(9usize),
181            )
182        }
183    }
184
185    #[doc = "IIC Mode Register 2"]
186    #[inline(always)]
187    pub const fn simr2(&self) -> &'static crate::common::Reg<self::Simr2_SPEC, crate::common::RW> {
188        unsafe {
189            crate::common::Reg::<self::Simr2_SPEC, crate::common::RW>::from_ptr(
190                self._svd2pac_as_ptr().add(10usize),
191            )
192        }
193    }
194
195    #[doc = "IIC Mode Register 3"]
196    #[inline(always)]
197    pub const fn simr3(&self) -> &'static crate::common::Reg<self::Simr3_SPEC, crate::common::RW> {
198        unsafe {
199            crate::common::Reg::<self::Simr3_SPEC, crate::common::RW>::from_ptr(
200                self._svd2pac_as_ptr().add(11usize),
201            )
202        }
203    }
204
205    #[doc = "IIC Status Register"]
206    #[inline(always)]
207    pub const fn sisr(&self) -> &'static crate::common::Reg<self::Sisr_SPEC, crate::common::R> {
208        unsafe {
209            crate::common::Reg::<self::Sisr_SPEC, crate::common::R>::from_ptr(
210                self._svd2pac_as_ptr().add(12usize),
211            )
212        }
213    }
214
215    #[doc = "SPI Mode Register"]
216    #[inline(always)]
217    pub const fn spmr(&self) -> &'static crate::common::Reg<self::Spmr_SPEC, crate::common::RW> {
218        unsafe {
219            crate::common::Reg::<self::Spmr_SPEC, crate::common::RW>::from_ptr(
220                self._svd2pac_as_ptr().add(13usize),
221            )
222        }
223    }
224
225    #[doc = "Transmit FIFO Data Register"]
226    #[inline(always)]
227    pub const fn ftdrhl(&self) -> &'static crate::common::Reg<self::Ftdrhl_SPEC, crate::common::W> {
228        unsafe {
229            crate::common::Reg::<self::Ftdrhl_SPEC, crate::common::W>::from_ptr(
230                self._svd2pac_as_ptr().add(14usize),
231            )
232        }
233    }
234
235    #[doc = "Transmit Data Register for Non-Manchester mode (MMR.MANEN = 0)"]
236    #[inline(always)]
237    pub const fn tdrhl(&self) -> &'static crate::common::Reg<self::Tdrhl_SPEC, crate::common::RW> {
238        unsafe {
239            crate::common::Reg::<self::Tdrhl_SPEC, crate::common::RW>::from_ptr(
240                self._svd2pac_as_ptr().add(14usize),
241            )
242        }
243    }
244
245    #[doc = "Transmit FIFO Data Register"]
246    #[inline(always)]
247    pub const fn ftdrh(&self) -> &'static crate::common::Reg<self::Ftdrh_SPEC, crate::common::W> {
248        unsafe {
249            crate::common::Reg::<self::Ftdrh_SPEC, crate::common::W>::from_ptr(
250                self._svd2pac_as_ptr().add(14usize),
251            )
252        }
253    }
254
255    #[doc = "Transmit FIFO Data Register"]
256    #[inline(always)]
257    pub const fn ftdrl(&self) -> &'static crate::common::Reg<self::Ftdrl_SPEC, crate::common::W> {
258        unsafe {
259            crate::common::Reg::<self::Ftdrl_SPEC, crate::common::W>::from_ptr(
260                self._svd2pac_as_ptr().add(15usize),
261            )
262        }
263    }
264
265    #[doc = "Receive FIFO Data Register"]
266    #[inline(always)]
267    pub const fn frdrhl(&self) -> &'static crate::common::Reg<self::Frdrhl_SPEC, crate::common::R> {
268        unsafe {
269            crate::common::Reg::<self::Frdrhl_SPEC, crate::common::R>::from_ptr(
270                self._svd2pac_as_ptr().add(16usize),
271            )
272        }
273    }
274
275    #[doc = "Receive Data Register for Non-Manchester mode (MMR.MANEN = 0)"]
276    #[inline(always)]
277    pub const fn rdrhl(&self) -> &'static crate::common::Reg<self::Rdrhl_SPEC, crate::common::R> {
278        unsafe {
279            crate::common::Reg::<self::Rdrhl_SPEC, crate::common::R>::from_ptr(
280                self._svd2pac_as_ptr().add(16usize),
281            )
282        }
283    }
284
285    #[doc = "Receive FIFO Data Register"]
286    #[inline(always)]
287    pub const fn frdrh(&self) -> &'static crate::common::Reg<self::Frdrh_SPEC, crate::common::R> {
288        unsafe {
289            crate::common::Reg::<self::Frdrh_SPEC, crate::common::R>::from_ptr(
290                self._svd2pac_as_ptr().add(16usize),
291            )
292        }
293    }
294
295    #[doc = "Receive FIFO Data Register"]
296    #[inline(always)]
297    pub const fn frdrl(&self) -> &'static crate::common::Reg<self::Frdrl_SPEC, crate::common::R> {
298        unsafe {
299            crate::common::Reg::<self::Frdrl_SPEC, crate::common::R>::from_ptr(
300                self._svd2pac_as_ptr().add(17usize),
301            )
302        }
303    }
304
305    #[doc = "Modulation Duty Register"]
306    #[inline(always)]
307    pub const fn mddr(&self) -> &'static crate::common::Reg<self::Mddr_SPEC, crate::common::RW> {
308        unsafe {
309            crate::common::Reg::<self::Mddr_SPEC, crate::common::RW>::from_ptr(
310                self._svd2pac_as_ptr().add(18usize),
311            )
312        }
313    }
314
315    #[doc = "Data Compare Match Control Register"]
316    #[inline(always)]
317    pub const fn dccr(&self) -> &'static crate::common::Reg<self::Dccr_SPEC, crate::common::RW> {
318        unsafe {
319            crate::common::Reg::<self::Dccr_SPEC, crate::common::RW>::from_ptr(
320                self._svd2pac_as_ptr().add(19usize),
321            )
322        }
323    }
324
325    #[doc = "FIFO Control Register"]
326    #[inline(always)]
327    pub const fn fcr(&self) -> &'static crate::common::Reg<self::Fcr_SPEC, crate::common::RW> {
328        unsafe {
329            crate::common::Reg::<self::Fcr_SPEC, crate::common::RW>::from_ptr(
330                self._svd2pac_as_ptr().add(20usize),
331            )
332        }
333    }
334
335    #[doc = "FIFO Data Count Register"]
336    #[inline(always)]
337    pub const fn fdr(&self) -> &'static crate::common::Reg<self::Fdr_SPEC, crate::common::R> {
338        unsafe {
339            crate::common::Reg::<self::Fdr_SPEC, crate::common::R>::from_ptr(
340                self._svd2pac_as_ptr().add(22usize),
341            )
342        }
343    }
344
345    #[doc = "Line Status Register"]
346    #[inline(always)]
347    pub const fn lsr(&self) -> &'static crate::common::Reg<self::Lsr_SPEC, crate::common::R> {
348        unsafe {
349            crate::common::Reg::<self::Lsr_SPEC, crate::common::R>::from_ptr(
350                self._svd2pac_as_ptr().add(24usize),
351            )
352        }
353    }
354
355    #[doc = "Compare Match Data Register"]
356    #[inline(always)]
357    pub const fn cdr(&self) -> &'static crate::common::Reg<self::Cdr_SPEC, crate::common::RW> {
358        unsafe {
359            crate::common::Reg::<self::Cdr_SPEC, crate::common::RW>::from_ptr(
360                self._svd2pac_as_ptr().add(26usize),
361            )
362        }
363    }
364
365    #[doc = "Serial Port Register"]
366    #[inline(always)]
367    pub const fn sptr(&self) -> &'static crate::common::Reg<self::Sptr_SPEC, crate::common::RW> {
368        unsafe {
369            crate::common::Reg::<self::Sptr_SPEC, crate::common::RW>::from_ptr(
370                self._svd2pac_as_ptr().add(28usize),
371            )
372        }
373    }
374
375    #[doc = "Adjustment Communication Timing Register"]
376    #[inline(always)]
377    pub const fn actr(&self) -> &'static crate::common::Reg<self::Actr_SPEC, crate::common::RW> {
378        unsafe {
379            crate::common::Reg::<self::Actr_SPEC, crate::common::RW>::from_ptr(
380                self._svd2pac_as_ptr().add(29usize),
381            )
382        }
383    }
384}
385#[doc(hidden)]
386#[derive(Copy, Clone, Eq, PartialEq)]
387pub struct Smr_SPEC;
388impl crate::sealed::RegSpec for Smr_SPEC {
389    type DataType = u8;
390}
391
392#[doc = "Serial Mode Register for Non-Smart Card Interface Mode (SCMR.SMIF = 0)"]
393pub type Smr = crate::RegValueT<Smr_SPEC>;
394
395impl Smr {
396    #[doc = "Clock Select"]
397    #[inline(always)]
398    pub fn cks(
399        self,
400    ) -> crate::common::RegisterField<0, 0x3, 1, 0, smr::Cks, smr::Cks, Smr_SPEC, crate::common::RW>
401    {
402        crate::common::RegisterField::<0,0x3,1,0,smr::Cks,smr::Cks,Smr_SPEC,crate::common::RW>::from_register(self,0)
403    }
404
405    #[doc = "Multi-Processor Mode"]
406    #[inline(always)]
407    pub fn mp(
408        self,
409    ) -> crate::common::RegisterField<2, 0x1, 1, 0, smr::Mp, smr::Mp, Smr_SPEC, crate::common::RW>
410    {
411        crate::common::RegisterField::<2,0x1,1,0,smr::Mp,smr::Mp,Smr_SPEC,crate::common::RW>::from_register(self,0)
412    }
413
414    #[doc = "Stop Bit Length"]
415    #[inline(always)]
416    pub fn stop(
417        self,
418    ) -> crate::common::RegisterField<3, 0x1, 1, 0, smr::Stop, smr::Stop, Smr_SPEC, crate::common::RW>
419    {
420        crate::common::RegisterField::<
421            3,
422            0x1,
423            1,
424            0,
425            smr::Stop,
426            smr::Stop,
427            Smr_SPEC,
428            crate::common::RW,
429        >::from_register(self, 0)
430    }
431
432    #[doc = "Parity Mode"]
433    #[inline(always)]
434    pub fn pm(
435        self,
436    ) -> crate::common::RegisterField<4, 0x1, 1, 0, smr::Pm, smr::Pm, Smr_SPEC, crate::common::RW>
437    {
438        crate::common::RegisterField::<4,0x1,1,0,smr::Pm,smr::Pm,Smr_SPEC,crate::common::RW>::from_register(self,0)
439    }
440
441    #[doc = "Parity Enable"]
442    #[inline(always)]
443    pub fn pe(
444        self,
445    ) -> crate::common::RegisterField<5, 0x1, 1, 0, smr::Pe, smr::Pe, Smr_SPEC, crate::common::RW>
446    {
447        crate::common::RegisterField::<5,0x1,1,0,smr::Pe,smr::Pe,Smr_SPEC,crate::common::RW>::from_register(self,0)
448    }
449
450    #[doc = "Character Length"]
451    #[inline(always)]
452    pub fn chr(
453        self,
454    ) -> crate::common::RegisterField<6, 0x1, 1, 0, smr::Chr, smr::Chr, Smr_SPEC, crate::common::RW>
455    {
456        crate::common::RegisterField::<6,0x1,1,0,smr::Chr,smr::Chr,Smr_SPEC,crate::common::RW>::from_register(self,0)
457    }
458
459    #[doc = "Communication Mode"]
460    #[inline(always)]
461    pub fn cm(
462        self,
463    ) -> crate::common::RegisterField<7, 0x1, 1, 0, smr::Cm, smr::Cm, Smr_SPEC, crate::common::RW>
464    {
465        crate::common::RegisterField::<7,0x1,1,0,smr::Cm,smr::Cm,Smr_SPEC,crate::common::RW>::from_register(self,0)
466    }
467}
468impl ::core::default::Default for Smr {
469    #[inline(always)]
470    fn default() -> Smr {
471        <crate::RegValueT<Smr_SPEC> as RegisterValue<_>>::new(0)
472    }
473}
474pub mod smr {
475
476    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
477    pub struct Cks_SPEC;
478    pub type Cks = crate::EnumBitfieldStruct<u8, Cks_SPEC>;
479    impl Cks {
480        #[doc = "PCLK clock (n = 0)"]
481        pub const _00: Self = Self::new(0);
482
483        #[doc = "PCLK/4 clock (n = 1)"]
484        pub const _01: Self = Self::new(1);
485
486        #[doc = "PCLK/16 clock (n = 2)"]
487        pub const _10: Self = Self::new(2);
488
489        #[doc = "PCLK/64 clock (n = 3)"]
490        pub const _11: Self = Self::new(3);
491    }
492    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
493    pub struct Mp_SPEC;
494    pub type Mp = crate::EnumBitfieldStruct<u8, Mp_SPEC>;
495    impl Mp {
496        #[doc = "Disable multi-processor communications function"]
497        pub const _0: Self = Self::new(0);
498
499        #[doc = "Enable multi-processor communications function"]
500        pub const _1: Self = Self::new(1);
501    }
502    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
503    pub struct Stop_SPEC;
504    pub type Stop = crate::EnumBitfieldStruct<u8, Stop_SPEC>;
505    impl Stop {
506        #[doc = "1 stop bit"]
507        pub const _0: Self = Self::new(0);
508
509        #[doc = "2 stop bits"]
510        pub const _1: Self = Self::new(1);
511    }
512    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
513    pub struct Pm_SPEC;
514    pub type Pm = crate::EnumBitfieldStruct<u8, Pm_SPEC>;
515    impl Pm {
516        #[doc = "Even parity"]
517        pub const _0: Self = Self::new(0);
518
519        #[doc = "Odd parity"]
520        pub const _1: Self = Self::new(1);
521    }
522    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
523    pub struct Pe_SPEC;
524    pub type Pe = crate::EnumBitfieldStruct<u8, Pe_SPEC>;
525    impl Pe {
526        #[doc = "When transmitting: Do not add parity bit When receiving: Do not check parity bit"]
527        pub const _0: Self = Self::new(0);
528
529        #[doc = "When transmitting: Add parity bit When receiving: Check parity bit"]
530        pub const _1: Self = Self::new(1);
531    }
532    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
533    pub struct Chr_SPEC;
534    pub type Chr = crate::EnumBitfieldStruct<u8, Chr_SPEC>;
535    impl Chr {
536        #[doc = "SCMR.CHR1 = 0: Transmit/receive in 9-bit data length SCMR.CHR1 = 1: Transmit/receive in 8-bit data length (initial value)"]
537        pub const _0: Self = Self::new(0);
538
539        #[doc = "SCMR.CHR1 = 0: Transmit/receive in 9-bit data length SCMR.CHR1 = 1: Transmit/receive in 7-bit data length"]
540        pub const _1: Self = Self::new(1);
541    }
542    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
543    pub struct Cm_SPEC;
544    pub type Cm = crate::EnumBitfieldStruct<u8, Cm_SPEC>;
545    impl Cm {
546        #[doc = "Asynchronous mode or simple IIC mode"]
547        pub const _0: Self = Self::new(0);
548
549        #[doc = "Clock synchronous mode or simple SPI mode"]
550        pub const _1: Self = Self::new(1);
551    }
552}
553#[doc(hidden)]
554#[derive(Copy, Clone, Eq, PartialEq)]
555pub struct SmrSmci_SPEC;
556impl crate::sealed::RegSpec for SmrSmci_SPEC {
557    type DataType = u8;
558}
559
560#[doc = "Serial Mode Register for Smart Card Interface Mode (SCMR.SMIF = 1)"]
561pub type SmrSmci = crate::RegValueT<SmrSmci_SPEC>;
562
563impl SmrSmci {
564    #[doc = "Clock Select"]
565    #[inline(always)]
566    pub fn cks(
567        self,
568    ) -> crate::common::RegisterField<
569        0,
570        0x3,
571        1,
572        0,
573        smr_smci::Cks,
574        smr_smci::Cks,
575        SmrSmci_SPEC,
576        crate::common::RW,
577    > {
578        crate::common::RegisterField::<
579            0,
580            0x3,
581            1,
582            0,
583            smr_smci::Cks,
584            smr_smci::Cks,
585            SmrSmci_SPEC,
586            crate::common::RW,
587        >::from_register(self, 0)
588    }
589
590    #[doc = "Base Clock Pulse"]
591    #[inline(always)]
592    pub fn bcp(
593        self,
594    ) -> crate::common::RegisterField<2, 0x3, 1, 0, u8, u8, SmrSmci_SPEC, crate::common::RW> {
595        crate::common::RegisterField::<2,0x3,1,0,u8,u8,SmrSmci_SPEC,crate::common::RW>::from_register(self,0)
596    }
597
598    #[doc = "Parity Mode"]
599    #[inline(always)]
600    pub fn pm(
601        self,
602    ) -> crate::common::RegisterField<
603        4,
604        0x1,
605        1,
606        0,
607        smr_smci::Pm,
608        smr_smci::Pm,
609        SmrSmci_SPEC,
610        crate::common::RW,
611    > {
612        crate::common::RegisterField::<
613            4,
614            0x1,
615            1,
616            0,
617            smr_smci::Pm,
618            smr_smci::Pm,
619            SmrSmci_SPEC,
620            crate::common::RW,
621        >::from_register(self, 0)
622    }
623
624    #[doc = "Parity Enable"]
625    #[inline(always)]
626    pub fn pe(self) -> crate::common::RegisterFieldBool<5, 1, 0, SmrSmci_SPEC, crate::common::RW> {
627        crate::common::RegisterFieldBool::<5, 1, 0, SmrSmci_SPEC, crate::common::RW>::from_register(
628            self, 0,
629        )
630    }
631
632    #[doc = "Block Transfer Mode"]
633    #[inline(always)]
634    pub fn blk(
635        self,
636    ) -> crate::common::RegisterField<
637        6,
638        0x1,
639        1,
640        0,
641        smr_smci::Blk,
642        smr_smci::Blk,
643        SmrSmci_SPEC,
644        crate::common::RW,
645    > {
646        crate::common::RegisterField::<
647            6,
648            0x1,
649            1,
650            0,
651            smr_smci::Blk,
652            smr_smci::Blk,
653            SmrSmci_SPEC,
654            crate::common::RW,
655        >::from_register(self, 0)
656    }
657
658    #[doc = "GSM Mode"]
659    #[inline(always)]
660    pub fn gm(
661        self,
662    ) -> crate::common::RegisterField<
663        7,
664        0x1,
665        1,
666        0,
667        smr_smci::Gm,
668        smr_smci::Gm,
669        SmrSmci_SPEC,
670        crate::common::RW,
671    > {
672        crate::common::RegisterField::<
673            7,
674            0x1,
675            1,
676            0,
677            smr_smci::Gm,
678            smr_smci::Gm,
679            SmrSmci_SPEC,
680            crate::common::RW,
681        >::from_register(self, 0)
682    }
683}
684impl ::core::default::Default for SmrSmci {
685    #[inline(always)]
686    fn default() -> SmrSmci {
687        <crate::RegValueT<SmrSmci_SPEC> as RegisterValue<_>>::new(0)
688    }
689}
690pub mod smr_smci {
691
692    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
693    pub struct Cks_SPEC;
694    pub type Cks = crate::EnumBitfieldStruct<u8, Cks_SPEC>;
695    impl Cks {
696        #[doc = "PCLK clock (n = 0)"]
697        pub const _00: Self = Self::new(0);
698
699        #[doc = "PCLK/4 clock (n = 1)"]
700        pub const _01: Self = Self::new(1);
701
702        #[doc = "PCLK/16 clock (n = 2)"]
703        pub const _10: Self = Self::new(2);
704
705        #[doc = "PCLK/64 clock (n = 3)"]
706        pub const _11: Self = Self::new(3);
707    }
708    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
709    pub struct Pm_SPEC;
710    pub type Pm = crate::EnumBitfieldStruct<u8, Pm_SPEC>;
711    impl Pm {
712        #[doc = "Even parity"]
713        pub const _0: Self = Self::new(0);
714
715        #[doc = "Odd parity"]
716        pub const _1: Self = Self::new(1);
717    }
718    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
719    pub struct Blk_SPEC;
720    pub type Blk = crate::EnumBitfieldStruct<u8, Blk_SPEC>;
721    impl Blk {
722        #[doc = "Normal mode operation"]
723        pub const _0: Self = Self::new(0);
724
725        #[doc = "Block transfer mode operation"]
726        pub const _1: Self = Self::new(1);
727    }
728    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
729    pub struct Gm_SPEC;
730    pub type Gm = crate::EnumBitfieldStruct<u8, Gm_SPEC>;
731    impl Gm {
732        #[doc = "Normal mode operation"]
733        pub const _0: Self = Self::new(0);
734
735        #[doc = "GSM mode operation"]
736        pub const _1: Self = Self::new(1);
737    }
738}
739#[doc(hidden)]
740#[derive(Copy, Clone, Eq, PartialEq)]
741pub struct Brr_SPEC;
742impl crate::sealed::RegSpec for Brr_SPEC {
743    type DataType = u8;
744}
745
746#[doc = "Bit Rate Register"]
747pub type Brr = crate::RegValueT<Brr_SPEC>;
748
749impl NoBitfieldReg<Brr_SPEC> for Brr {}
750impl ::core::default::Default for Brr {
751    #[inline(always)]
752    fn default() -> Brr {
753        <crate::RegValueT<Brr_SPEC> as RegisterValue<_>>::new(255)
754    }
755}
756
757#[doc(hidden)]
758#[derive(Copy, Clone, Eq, PartialEq)]
759pub struct Scr_SPEC;
760impl crate::sealed::RegSpec for Scr_SPEC {
761    type DataType = u8;
762}
763
764#[doc = "Serial Control Register for Non-Smart Card Interface Mode (SCMR.SMIF = 0)"]
765pub type Scr = crate::RegValueT<Scr_SPEC>;
766
767impl Scr {
768    #[doc = "Clock Enable"]
769    #[inline(always)]
770    pub fn cke(
771        self,
772    ) -> crate::common::RegisterField<0, 0x3, 1, 0, scr::Cke, scr::Cke, Scr_SPEC, crate::common::RW>
773    {
774        crate::common::RegisterField::<0,0x3,1,0,scr::Cke,scr::Cke,Scr_SPEC,crate::common::RW>::from_register(self,0)
775    }
776
777    #[doc = "Transmit End Interrupt Enable"]
778    #[inline(always)]
779    pub fn teie(
780        self,
781    ) -> crate::common::RegisterField<2, 0x1, 1, 0, scr::Teie, scr::Teie, Scr_SPEC, crate::common::RW>
782    {
783        crate::common::RegisterField::<
784            2,
785            0x1,
786            1,
787            0,
788            scr::Teie,
789            scr::Teie,
790            Scr_SPEC,
791            crate::common::RW,
792        >::from_register(self, 0)
793    }
794
795    #[doc = "Multi-Processor Interrupt Enable"]
796    #[inline(always)]
797    pub fn mpie(
798        self,
799    ) -> crate::common::RegisterField<3, 0x1, 1, 0, scr::Mpie, scr::Mpie, Scr_SPEC, crate::common::RW>
800    {
801        crate::common::RegisterField::<
802            3,
803            0x1,
804            1,
805            0,
806            scr::Mpie,
807            scr::Mpie,
808            Scr_SPEC,
809            crate::common::RW,
810        >::from_register(self, 0)
811    }
812
813    #[doc = "Receive Enable"]
814    #[inline(always)]
815    pub fn re(
816        self,
817    ) -> crate::common::RegisterField<4, 0x1, 1, 0, scr::Re, scr::Re, Scr_SPEC, crate::common::RW>
818    {
819        crate::common::RegisterField::<4,0x1,1,0,scr::Re,scr::Re,Scr_SPEC,crate::common::RW>::from_register(self,0)
820    }
821
822    #[doc = "Transmit Enable"]
823    #[inline(always)]
824    pub fn te(
825        self,
826    ) -> crate::common::RegisterField<5, 0x1, 1, 0, scr::Te, scr::Te, Scr_SPEC, crate::common::RW>
827    {
828        crate::common::RegisterField::<5,0x1,1,0,scr::Te,scr::Te,Scr_SPEC,crate::common::RW>::from_register(self,0)
829    }
830
831    #[doc = "Receive Interrupt Enable"]
832    #[inline(always)]
833    pub fn rie(
834        self,
835    ) -> crate::common::RegisterField<6, 0x1, 1, 0, scr::Rie, scr::Rie, Scr_SPEC, crate::common::RW>
836    {
837        crate::common::RegisterField::<6,0x1,1,0,scr::Rie,scr::Rie,Scr_SPEC,crate::common::RW>::from_register(self,0)
838    }
839
840    #[doc = "Transmit Interrupt Enable"]
841    #[inline(always)]
842    pub fn tie(
843        self,
844    ) -> crate::common::RegisterField<7, 0x1, 1, 0, scr::Tie, scr::Tie, Scr_SPEC, crate::common::RW>
845    {
846        crate::common::RegisterField::<7,0x1,1,0,scr::Tie,scr::Tie,Scr_SPEC,crate::common::RW>::from_register(self,0)
847    }
848}
849impl ::core::default::Default for Scr {
850    #[inline(always)]
851    fn default() -> Scr {
852        <crate::RegValueT<Scr_SPEC> as RegisterValue<_>>::new(0)
853    }
854}
855pub mod scr {
856
857    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
858    pub struct Cke_SPEC;
859    pub type Cke = crate::EnumBitfieldStruct<u8, Cke_SPEC>;
860    impl Cke {
861        #[doc = "In asynchronous mode, the SCKn pin is available for use as an I/O port based on the I/O port settings. In clock synchronous mode, the SCKn pin functions as the clock output pin."]
862        pub const _00: Self = Self::new(0);
863
864        #[doc = "In asynchronous mode, a clock with the same frequency as the bit rate is output from the SCKn pin. In clock synchronous mode, the SCKn pin functions as the clock output pin."]
865        pub const _01: Self = Self::new(1);
866    }
867    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
868    pub struct Teie_SPEC;
869    pub type Teie = crate::EnumBitfieldStruct<u8, Teie_SPEC>;
870    impl Teie {
871        #[doc = "Disable SCIn_TEI interrupt requests"]
872        pub const _0: Self = Self::new(0);
873
874        #[doc = "Enable SCIn_TEI interrupt requests"]
875        pub const _1: Self = Self::new(1);
876    }
877    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
878    pub struct Mpie_SPEC;
879    pub type Mpie = crate::EnumBitfieldStruct<u8, Mpie_SPEC>;
880    impl Mpie {
881        #[doc = "Normal reception"]
882        pub const _0: Self = Self::new(0);
883
884        #[doc = "When data with the multi-processor bit set to 0 is received, the data is not read, and setting the status flags RDRF, ORER, and FER in SSR to 1 and the status flags SYER, PFER, and SBER in MESR are disabled. When data with the multi-processor bit set to 1 is received, the MPIE bit is automatically set to 0, and normal reception is resumed."]
885        pub const _1: Self = Self::new(1);
886    }
887    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
888    pub struct Re_SPEC;
889    pub type Re = crate::EnumBitfieldStruct<u8, Re_SPEC>;
890    impl Re {
891        #[doc = "Disable serial reception"]
892        pub const _0: Self = Self::new(0);
893
894        #[doc = "Enable serial reception"]
895        pub const _1: Self = Self::new(1);
896    }
897    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
898    pub struct Te_SPEC;
899    pub type Te = crate::EnumBitfieldStruct<u8, Te_SPEC>;
900    impl Te {
901        #[doc = "Disable serial transmission"]
902        pub const _0: Self = Self::new(0);
903
904        #[doc = "Enable serial transmission"]
905        pub const _1: Self = Self::new(1);
906    }
907    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
908    pub struct Rie_SPEC;
909    pub type Rie = crate::EnumBitfieldStruct<u8, Rie_SPEC>;
910    impl Rie {
911        #[doc = "Disable SCIn_RXI and SCIn_ERI interrupt requests"]
912        pub const _0: Self = Self::new(0);
913
914        #[doc = "Enable SCIn_RXI and SCIn_ERI interrupt requests"]
915        pub const _1: Self = Self::new(1);
916    }
917    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
918    pub struct Tie_SPEC;
919    pub type Tie = crate::EnumBitfieldStruct<u8, Tie_SPEC>;
920    impl Tie {
921        #[doc = "Disable SCIn_TXI interrupt requests"]
922        pub const _0: Self = Self::new(0);
923
924        #[doc = "Enable SCIn_TXI interrupt requests"]
925        pub const _1: Self = Self::new(1);
926    }
927}
928#[doc(hidden)]
929#[derive(Copy, Clone, Eq, PartialEq)]
930pub struct ScrSmci_SPEC;
931impl crate::sealed::RegSpec for ScrSmci_SPEC {
932    type DataType = u8;
933}
934
935#[doc = "Serial Control Register for Smart Card Interface Mode (SCMR.SMIF = 1)"]
936pub type ScrSmci = crate::RegValueT<ScrSmci_SPEC>;
937
938impl ScrSmci {
939    #[doc = "Clock Enable"]
940    #[inline(always)]
941    pub fn cke(
942        self,
943    ) -> crate::common::RegisterField<
944        0,
945        0x3,
946        1,
947        0,
948        scr_smci::Cke,
949        scr_smci::Cke,
950        ScrSmci_SPEC,
951        crate::common::RW,
952    > {
953        crate::common::RegisterField::<
954            0,
955            0x3,
956            1,
957            0,
958            scr_smci::Cke,
959            scr_smci::Cke,
960            ScrSmci_SPEC,
961            crate::common::RW,
962        >::from_register(self, 0)
963    }
964
965    #[doc = "Transmit End Interrupt Enable"]
966    #[inline(always)]
967    pub fn teie(
968        self,
969    ) -> crate::common::RegisterFieldBool<2, 1, 0, ScrSmci_SPEC, crate::common::RW> {
970        crate::common::RegisterFieldBool::<2, 1, 0, ScrSmci_SPEC, crate::common::RW>::from_register(
971            self, 0,
972        )
973    }
974
975    #[doc = "Multi-Processor Interrupt Enable"]
976    #[inline(always)]
977    pub fn mpie(
978        self,
979    ) -> crate::common::RegisterFieldBool<3, 1, 0, ScrSmci_SPEC, crate::common::RW> {
980        crate::common::RegisterFieldBool::<3, 1, 0, ScrSmci_SPEC, crate::common::RW>::from_register(
981            self, 0,
982        )
983    }
984
985    #[doc = "Receive Enable"]
986    #[inline(always)]
987    pub fn re(
988        self,
989    ) -> crate::common::RegisterField<
990        4,
991        0x1,
992        1,
993        0,
994        scr_smci::Re,
995        scr_smci::Re,
996        ScrSmci_SPEC,
997        crate::common::RW,
998    > {
999        crate::common::RegisterField::<
1000            4,
1001            0x1,
1002            1,
1003            0,
1004            scr_smci::Re,
1005            scr_smci::Re,
1006            ScrSmci_SPEC,
1007            crate::common::RW,
1008        >::from_register(self, 0)
1009    }
1010
1011    #[doc = "Transmit Enable"]
1012    #[inline(always)]
1013    pub fn te(
1014        self,
1015    ) -> crate::common::RegisterField<
1016        5,
1017        0x1,
1018        1,
1019        0,
1020        scr_smci::Te,
1021        scr_smci::Te,
1022        ScrSmci_SPEC,
1023        crate::common::RW,
1024    > {
1025        crate::common::RegisterField::<
1026            5,
1027            0x1,
1028            1,
1029            0,
1030            scr_smci::Te,
1031            scr_smci::Te,
1032            ScrSmci_SPEC,
1033            crate::common::RW,
1034        >::from_register(self, 0)
1035    }
1036
1037    #[doc = "Receive Interrupt Enable"]
1038    #[inline(always)]
1039    pub fn rie(
1040        self,
1041    ) -> crate::common::RegisterField<
1042        6,
1043        0x1,
1044        1,
1045        0,
1046        scr_smci::Rie,
1047        scr_smci::Rie,
1048        ScrSmci_SPEC,
1049        crate::common::RW,
1050    > {
1051        crate::common::RegisterField::<
1052            6,
1053            0x1,
1054            1,
1055            0,
1056            scr_smci::Rie,
1057            scr_smci::Rie,
1058            ScrSmci_SPEC,
1059            crate::common::RW,
1060        >::from_register(self, 0)
1061    }
1062
1063    #[doc = "Transmit Interrupt Enable"]
1064    #[inline(always)]
1065    pub fn tie(
1066        self,
1067    ) -> crate::common::RegisterField<
1068        7,
1069        0x1,
1070        1,
1071        0,
1072        scr_smci::Tie,
1073        scr_smci::Tie,
1074        ScrSmci_SPEC,
1075        crate::common::RW,
1076    > {
1077        crate::common::RegisterField::<
1078            7,
1079            0x1,
1080            1,
1081            0,
1082            scr_smci::Tie,
1083            scr_smci::Tie,
1084            ScrSmci_SPEC,
1085            crate::common::RW,
1086        >::from_register(self, 0)
1087    }
1088}
1089impl ::core::default::Default for ScrSmci {
1090    #[inline(always)]
1091    fn default() -> ScrSmci {
1092        <crate::RegValueT<ScrSmci_SPEC> as RegisterValue<_>>::new(0)
1093    }
1094}
1095pub mod scr_smci {
1096
1097    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1098    pub struct Cke_SPEC;
1099    pub type Cke = crate::EnumBitfieldStruct<u8, Cke_SPEC>;
1100    impl Cke {
1101        #[doc = "When SMR_SMCI.GM = 0: Disable output The SCKn pin is available for use as an I/O port if set up in the I/O port settings When SMR_SMCI.GM = 1: Fix output low"]
1102        pub const _00: Self = Self::new(0);
1103
1104        #[doc = "When SMR_SMCI.GM = 0: Output clock When SMR_SMCI.GM = 1: Output clock"]
1105        pub const _01: Self = Self::new(1);
1106
1107        #[doc = "When SMR_SMCI.GM = 0: Setting prohibited When SMR_SMCI.GM = 1: Fix output high"]
1108        pub const _10: Self = Self::new(2);
1109
1110        #[doc = "When SMR_SMCI.GM = 0: Setting prohibited When SMR_SMCI.GM = 1: Output clock"]
1111        pub const _11: Self = Self::new(3);
1112    }
1113    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1114    pub struct Re_SPEC;
1115    pub type Re = crate::EnumBitfieldStruct<u8, Re_SPEC>;
1116    impl Re {
1117        #[doc = "Disable serial reception"]
1118        pub const _0: Self = Self::new(0);
1119
1120        #[doc = "Enable serial reception"]
1121        pub const _1: Self = Self::new(1);
1122    }
1123    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1124    pub struct Te_SPEC;
1125    pub type Te = crate::EnumBitfieldStruct<u8, Te_SPEC>;
1126    impl Te {
1127        #[doc = "Disable serial transmission"]
1128        pub const _0: Self = Self::new(0);
1129
1130        #[doc = "Enable serial transmission"]
1131        pub const _1: Self = Self::new(1);
1132    }
1133    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1134    pub struct Rie_SPEC;
1135    pub type Rie = crate::EnumBitfieldStruct<u8, Rie_SPEC>;
1136    impl Rie {
1137        #[doc = "Disable SCIn_RXI and SCIn_ERI interrupt requests"]
1138        pub const _0: Self = Self::new(0);
1139
1140        #[doc = "Enable SCIn_RXI and SCIn_ERI interrupt requests"]
1141        pub const _1: Self = Self::new(1);
1142    }
1143    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1144    pub struct Tie_SPEC;
1145    pub type Tie = crate::EnumBitfieldStruct<u8, Tie_SPEC>;
1146    impl Tie {
1147        #[doc = "Disable SCIn_TXI interrupt requests"]
1148        pub const _0: Self = Self::new(0);
1149
1150        #[doc = "Enable SCIn_TXI interrupt requests"]
1151        pub const _1: Self = Self::new(1);
1152    }
1153}
1154#[doc(hidden)]
1155#[derive(Copy, Clone, Eq, PartialEq)]
1156pub struct Tdr_SPEC;
1157impl crate::sealed::RegSpec for Tdr_SPEC {
1158    type DataType = u8;
1159}
1160
1161#[doc = "Transmit Data Register"]
1162pub type Tdr = crate::RegValueT<Tdr_SPEC>;
1163
1164impl NoBitfieldReg<Tdr_SPEC> for Tdr {}
1165impl ::core::default::Default for Tdr {
1166    #[inline(always)]
1167    fn default() -> Tdr {
1168        <crate::RegValueT<Tdr_SPEC> as RegisterValue<_>>::new(255)
1169    }
1170}
1171
1172#[doc(hidden)]
1173#[derive(Copy, Clone, Eq, PartialEq)]
1174pub struct Ssr_SPEC;
1175impl crate::sealed::RegSpec for Ssr_SPEC {
1176    type DataType = u8;
1177}
1178
1179#[doc = "Serial Status Register for Non-Smart Card Interface and Non-FIFO Mode (SCMR.SMIF = 0, FCR.FM = 0, and MMR.MANEN = 0)"]
1180pub type Ssr = crate::RegValueT<Ssr_SPEC>;
1181
1182impl Ssr {
1183    #[doc = "Multi-Processor Bit Transfer"]
1184    #[inline(always)]
1185    pub fn mpbt(
1186        self,
1187    ) -> crate::common::RegisterField<0, 0x1, 1, 0, ssr::Mpbt, ssr::Mpbt, Ssr_SPEC, crate::common::RW>
1188    {
1189        crate::common::RegisterField::<
1190            0,
1191            0x1,
1192            1,
1193            0,
1194            ssr::Mpbt,
1195            ssr::Mpbt,
1196            Ssr_SPEC,
1197            crate::common::RW,
1198        >::from_register(self, 0)
1199    }
1200
1201    #[doc = "Multi-Processor"]
1202    #[inline(always)]
1203    pub fn mpb(
1204        self,
1205    ) -> crate::common::RegisterField<1, 0x1, 1, 0, ssr::Mpb, ssr::Mpb, Ssr_SPEC, crate::common::R>
1206    {
1207        crate::common::RegisterField::<1,0x1,1,0,ssr::Mpb,ssr::Mpb,Ssr_SPEC,crate::common::R>::from_register(self,0)
1208    }
1209
1210    #[doc = "Transmit End Flag"]
1211    #[inline(always)]
1212    pub fn tend(
1213        self,
1214    ) -> crate::common::RegisterField<2, 0x1, 1, 0, ssr::Tend, ssr::Tend, Ssr_SPEC, crate::common::R>
1215    {
1216        crate::common::RegisterField::<2,0x1,1,0,ssr::Tend,ssr::Tend,Ssr_SPEC,crate::common::R>::from_register(self,0)
1217    }
1218
1219    #[doc = "Parity Error Flag"]
1220    #[inline(always)]
1221    pub fn per(
1222        self,
1223    ) -> crate::common::RegisterField<3, 0x1, 1, 0, ssr::Per, ssr::Per, Ssr_SPEC, crate::common::RW>
1224    {
1225        crate::common::RegisterField::<3,0x1,1,0,ssr::Per,ssr::Per,Ssr_SPEC,crate::common::RW>::from_register(self,0)
1226    }
1227
1228    #[doc = "Framing Error Flag"]
1229    #[inline(always)]
1230    pub fn fer(
1231        self,
1232    ) -> crate::common::RegisterField<4, 0x1, 1, 0, ssr::Fer, ssr::Fer, Ssr_SPEC, crate::common::RW>
1233    {
1234        crate::common::RegisterField::<4,0x1,1,0,ssr::Fer,ssr::Fer,Ssr_SPEC,crate::common::RW>::from_register(self,0)
1235    }
1236
1237    #[doc = "Overrun Error Flag"]
1238    #[inline(always)]
1239    pub fn orer(
1240        self,
1241    ) -> crate::common::RegisterField<5, 0x1, 1, 0, ssr::Orer, ssr::Orer, Ssr_SPEC, crate::common::RW>
1242    {
1243        crate::common::RegisterField::<
1244            5,
1245            0x1,
1246            1,
1247            0,
1248            ssr::Orer,
1249            ssr::Orer,
1250            Ssr_SPEC,
1251            crate::common::RW,
1252        >::from_register(self, 0)
1253    }
1254
1255    #[doc = "Receive Data Full Flag"]
1256    #[inline(always)]
1257    pub fn rdrf(
1258        self,
1259    ) -> crate::common::RegisterField<6, 0x1, 1, 0, ssr::Rdrf, ssr::Rdrf, Ssr_SPEC, crate::common::RW>
1260    {
1261        crate::common::RegisterField::<
1262            6,
1263            0x1,
1264            1,
1265            0,
1266            ssr::Rdrf,
1267            ssr::Rdrf,
1268            Ssr_SPEC,
1269            crate::common::RW,
1270        >::from_register(self, 0)
1271    }
1272
1273    #[doc = "Transmit Data Empty Flag"]
1274    #[inline(always)]
1275    pub fn tdre(
1276        self,
1277    ) -> crate::common::RegisterField<7, 0x1, 1, 0, ssr::Tdre, ssr::Tdre, Ssr_SPEC, crate::common::RW>
1278    {
1279        crate::common::RegisterField::<
1280            7,
1281            0x1,
1282            1,
1283            0,
1284            ssr::Tdre,
1285            ssr::Tdre,
1286            Ssr_SPEC,
1287            crate::common::RW,
1288        >::from_register(self, 0)
1289    }
1290}
1291impl ::core::default::Default for Ssr {
1292    #[inline(always)]
1293    fn default() -> Ssr {
1294        <crate::RegValueT<Ssr_SPEC> as RegisterValue<_>>::new(132)
1295    }
1296}
1297pub mod ssr {
1298
1299    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1300    pub struct Mpbt_SPEC;
1301    pub type Mpbt = crate::EnumBitfieldStruct<u8, Mpbt_SPEC>;
1302    impl Mpbt {
1303        #[doc = "Data transmission cycle"]
1304        pub const _0: Self = Self::new(0);
1305
1306        #[doc = "ID transmission cycle"]
1307        pub const _1: Self = Self::new(1);
1308    }
1309    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1310    pub struct Mpb_SPEC;
1311    pub type Mpb = crate::EnumBitfieldStruct<u8, Mpb_SPEC>;
1312    impl Mpb {
1313        #[doc = "Data transmission cycle"]
1314        pub const _0: Self = Self::new(0);
1315
1316        #[doc = "ID transmission cycle"]
1317        pub const _1: Self = Self::new(1);
1318    }
1319    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1320    pub struct Tend_SPEC;
1321    pub type Tend = crate::EnumBitfieldStruct<u8, Tend_SPEC>;
1322    impl Tend {
1323        #[doc = "A character is being transmitted"]
1324        pub const _0: Self = Self::new(0);
1325
1326        #[doc = "Character transfer is complete"]
1327        pub const _1: Self = Self::new(1);
1328    }
1329    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1330    pub struct Per_SPEC;
1331    pub type Per = crate::EnumBitfieldStruct<u8, Per_SPEC>;
1332    impl Per {
1333        #[doc = "No parity error occurred"]
1334        pub const _0: Self = Self::new(0);
1335
1336        #[doc = "Parity error occurred"]
1337        pub const _1: Self = Self::new(1);
1338    }
1339    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1340    pub struct Fer_SPEC;
1341    pub type Fer = crate::EnumBitfieldStruct<u8, Fer_SPEC>;
1342    impl Fer {
1343        #[doc = "No framing error occurred"]
1344        pub const _0: Self = Self::new(0);
1345
1346        #[doc = "Framing error occurred"]
1347        pub const _1: Self = Self::new(1);
1348    }
1349    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1350    pub struct Orer_SPEC;
1351    pub type Orer = crate::EnumBitfieldStruct<u8, Orer_SPEC>;
1352    impl Orer {
1353        #[doc = "No overrun error occurred"]
1354        pub const _0: Self = Self::new(0);
1355
1356        #[doc = "Overrun error occurred"]
1357        pub const _1: Self = Self::new(1);
1358    }
1359    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1360    pub struct Rdrf_SPEC;
1361    pub type Rdrf = crate::EnumBitfieldStruct<u8, Rdrf_SPEC>;
1362    impl Rdrf {
1363        #[doc = "No received data in RDR register"]
1364        pub const _0: Self = Self::new(0);
1365
1366        #[doc = "Received data in RDR register"]
1367        pub const _1: Self = Self::new(1);
1368    }
1369    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1370    pub struct Tdre_SPEC;
1371    pub type Tdre = crate::EnumBitfieldStruct<u8, Tdre_SPEC>;
1372    impl Tdre {
1373        #[doc = "Transmit data in TDR register"]
1374        pub const _0: Self = Self::new(0);
1375
1376        #[doc = "No transmit data in TDR register"]
1377        pub const _1: Self = Self::new(1);
1378    }
1379}
1380#[doc(hidden)]
1381#[derive(Copy, Clone, Eq, PartialEq)]
1382pub struct SsrFifo_SPEC;
1383impl crate::sealed::RegSpec for SsrFifo_SPEC {
1384    type DataType = u8;
1385}
1386
1387#[doc = "Serial Status Register for Non-Smart Card Interface and FIFO Mode (SCMR.SMIF = 0, FCR.FM = 1, and MMR.MANEN = 0)"]
1388pub type SsrFifo = crate::RegValueT<SsrFifo_SPEC>;
1389
1390impl SsrFifo {
1391    #[doc = "Receive Data Ready Flag"]
1392    #[inline(always)]
1393    pub fn dr(
1394        self,
1395    ) -> crate::common::RegisterField<
1396        0,
1397        0x1,
1398        1,
1399        0,
1400        ssr_fifo::Dr,
1401        ssr_fifo::Dr,
1402        SsrFifo_SPEC,
1403        crate::common::RW,
1404    > {
1405        crate::common::RegisterField::<
1406            0,
1407            0x1,
1408            1,
1409            0,
1410            ssr_fifo::Dr,
1411            ssr_fifo::Dr,
1412            SsrFifo_SPEC,
1413            crate::common::RW,
1414        >::from_register(self, 0)
1415    }
1416
1417    #[doc = "Transmit End Flag"]
1418    #[inline(always)]
1419    pub fn tend(
1420        self,
1421    ) -> crate::common::RegisterField<
1422        2,
1423        0x1,
1424        1,
1425        0,
1426        ssr_fifo::Tend,
1427        ssr_fifo::Tend,
1428        SsrFifo_SPEC,
1429        crate::common::RW,
1430    > {
1431        crate::common::RegisterField::<
1432            2,
1433            0x1,
1434            1,
1435            0,
1436            ssr_fifo::Tend,
1437            ssr_fifo::Tend,
1438            SsrFifo_SPEC,
1439            crate::common::RW,
1440        >::from_register(self, 0)
1441    }
1442
1443    #[doc = "Parity Error Flag"]
1444    #[inline(always)]
1445    pub fn per(
1446        self,
1447    ) -> crate::common::RegisterField<
1448        3,
1449        0x1,
1450        1,
1451        0,
1452        ssr_fifo::Per,
1453        ssr_fifo::Per,
1454        SsrFifo_SPEC,
1455        crate::common::RW,
1456    > {
1457        crate::common::RegisterField::<
1458            3,
1459            0x1,
1460            1,
1461            0,
1462            ssr_fifo::Per,
1463            ssr_fifo::Per,
1464            SsrFifo_SPEC,
1465            crate::common::RW,
1466        >::from_register(self, 0)
1467    }
1468
1469    #[doc = "Framing Error Flag"]
1470    #[inline(always)]
1471    pub fn fer(
1472        self,
1473    ) -> crate::common::RegisterField<
1474        4,
1475        0x1,
1476        1,
1477        0,
1478        ssr_fifo::Fer,
1479        ssr_fifo::Fer,
1480        SsrFifo_SPEC,
1481        crate::common::RW,
1482    > {
1483        crate::common::RegisterField::<
1484            4,
1485            0x1,
1486            1,
1487            0,
1488            ssr_fifo::Fer,
1489            ssr_fifo::Fer,
1490            SsrFifo_SPEC,
1491            crate::common::RW,
1492        >::from_register(self, 0)
1493    }
1494
1495    #[doc = "Overrun Error Flag"]
1496    #[inline(always)]
1497    pub fn orer(
1498        self,
1499    ) -> crate::common::RegisterField<
1500        5,
1501        0x1,
1502        1,
1503        0,
1504        ssr_fifo::Orer,
1505        ssr_fifo::Orer,
1506        SsrFifo_SPEC,
1507        crate::common::RW,
1508    > {
1509        crate::common::RegisterField::<
1510            5,
1511            0x1,
1512            1,
1513            0,
1514            ssr_fifo::Orer,
1515            ssr_fifo::Orer,
1516            SsrFifo_SPEC,
1517            crate::common::RW,
1518        >::from_register(self, 0)
1519    }
1520
1521    #[doc = "Receive FIFO Data Full Flag"]
1522    #[inline(always)]
1523    pub fn rdf(
1524        self,
1525    ) -> crate::common::RegisterField<
1526        6,
1527        0x1,
1528        1,
1529        0,
1530        ssr_fifo::Rdf,
1531        ssr_fifo::Rdf,
1532        SsrFifo_SPEC,
1533        crate::common::RW,
1534    > {
1535        crate::common::RegisterField::<
1536            6,
1537            0x1,
1538            1,
1539            0,
1540            ssr_fifo::Rdf,
1541            ssr_fifo::Rdf,
1542            SsrFifo_SPEC,
1543            crate::common::RW,
1544        >::from_register(self, 0)
1545    }
1546
1547    #[doc = "Transmit FIFO Data Empty Flag"]
1548    #[inline(always)]
1549    pub fn tdfe(
1550        self,
1551    ) -> crate::common::RegisterField<
1552        7,
1553        0x1,
1554        1,
1555        0,
1556        ssr_fifo::Tdfe,
1557        ssr_fifo::Tdfe,
1558        SsrFifo_SPEC,
1559        crate::common::RW,
1560    > {
1561        crate::common::RegisterField::<
1562            7,
1563            0x1,
1564            1,
1565            0,
1566            ssr_fifo::Tdfe,
1567            ssr_fifo::Tdfe,
1568            SsrFifo_SPEC,
1569            crate::common::RW,
1570        >::from_register(self, 0)
1571    }
1572}
1573impl ::core::default::Default for SsrFifo {
1574    #[inline(always)]
1575    fn default() -> SsrFifo {
1576        <crate::RegValueT<SsrFifo_SPEC> as RegisterValue<_>>::new(128)
1577    }
1578}
1579pub mod ssr_fifo {
1580
1581    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1582    pub struct Dr_SPEC;
1583    pub type Dr = crate::EnumBitfieldStruct<u8, Dr_SPEC>;
1584    impl Dr {
1585        #[doc = "Receiving is in progress, or no received data remains in FRDRHL after successfully completed reception (receive FIFO empty)"]
1586        pub const _0: Self = Self::new(0);
1587
1588        #[doc = "Next receive data is not received for a period after normal receiving is complete, when the amount of data stored in the FIFO is equal to or less than the receive triggering number"]
1589        pub const _1: Self = Self::new(1);
1590    }
1591    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1592    pub struct Tend_SPEC;
1593    pub type Tend = crate::EnumBitfieldStruct<u8, Tend_SPEC>;
1594    impl Tend {
1595        #[doc = "A character is being transmitted"]
1596        pub const _0: Self = Self::new(0);
1597
1598        #[doc = "Character transfer is complete"]
1599        pub const _1: Self = Self::new(1);
1600    }
1601    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1602    pub struct Per_SPEC;
1603    pub type Per = crate::EnumBitfieldStruct<u8, Per_SPEC>;
1604    impl Per {
1605        #[doc = "No parity error occurred"]
1606        pub const _0: Self = Self::new(0);
1607
1608        #[doc = "Parity error occurred"]
1609        pub const _1: Self = Self::new(1);
1610    }
1611    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1612    pub struct Fer_SPEC;
1613    pub type Fer = crate::EnumBitfieldStruct<u8, Fer_SPEC>;
1614    impl Fer {
1615        #[doc = "No framing error occurred"]
1616        pub const _0: Self = Self::new(0);
1617
1618        #[doc = "Framing error occurred"]
1619        pub const _1: Self = Self::new(1);
1620    }
1621    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1622    pub struct Orer_SPEC;
1623    pub type Orer = crate::EnumBitfieldStruct<u8, Orer_SPEC>;
1624    impl Orer {
1625        #[doc = "No overrun error occurred"]
1626        pub const _0: Self = Self::new(0);
1627
1628        #[doc = "Overrun error occurred"]
1629        pub const _1: Self = Self::new(1);
1630    }
1631    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1632    pub struct Rdf_SPEC;
1633    pub type Rdf = crate::EnumBitfieldStruct<u8, Rdf_SPEC>;
1634    impl Rdf {
1635        #[doc = "The amount of receive data written in FRDRHL is less than the specified receive triggering number"]
1636        pub const _0: Self = Self::new(0);
1637
1638        #[doc = "The amount of receive data written in FRDRHL is equal to or greater than the specified receive triggering number"]
1639        pub const _1: Self = Self::new(1);
1640    }
1641    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1642    pub struct Tdfe_SPEC;
1643    pub type Tdfe = crate::EnumBitfieldStruct<u8, Tdfe_SPEC>;
1644    impl Tdfe {
1645        #[doc = "The amount of transmit data written in FTDRHL exceeds the specified transmit triggering number"]
1646        pub const _0: Self = Self::new(0);
1647
1648        #[doc = "The amount of transmit data written in FTDRHL is equal to or less than the specified transmit triggering number"]
1649        pub const _1: Self = Self::new(1);
1650    }
1651}
1652#[doc(hidden)]
1653#[derive(Copy, Clone, Eq, PartialEq)]
1654pub struct SsrSmci_SPEC;
1655impl crate::sealed::RegSpec for SsrSmci_SPEC {
1656    type DataType = u8;
1657}
1658
1659#[doc = "Serial Status Register for Smart Card Interface Mode (SCMR.SMIF = 1, and MMR.MANEN = 0)"]
1660pub type SsrSmci = crate::RegValueT<SsrSmci_SPEC>;
1661
1662impl SsrSmci {
1663    #[doc = "Multi-Processor Bit Transfer"]
1664    #[inline(always)]
1665    pub fn mpbt(
1666        self,
1667    ) -> crate::common::RegisterFieldBool<0, 1, 0, SsrSmci_SPEC, crate::common::RW> {
1668        crate::common::RegisterFieldBool::<0, 1, 0, SsrSmci_SPEC, crate::common::RW>::from_register(
1669            self, 0,
1670        )
1671    }
1672
1673    #[doc = "Multi-Processor"]
1674    #[inline(always)]
1675    pub fn mpb(self) -> crate::common::RegisterFieldBool<1, 1, 0, SsrSmci_SPEC, crate::common::R> {
1676        crate::common::RegisterFieldBool::<1, 1, 0, SsrSmci_SPEC, crate::common::R>::from_register(
1677            self, 0,
1678        )
1679    }
1680
1681    #[doc = "Transmit End Flag"]
1682    #[inline(always)]
1683    pub fn tend(
1684        self,
1685    ) -> crate::common::RegisterField<
1686        2,
1687        0x1,
1688        1,
1689        0,
1690        ssr_smci::Tend,
1691        ssr_smci::Tend,
1692        SsrSmci_SPEC,
1693        crate::common::R,
1694    > {
1695        crate::common::RegisterField::<
1696            2,
1697            0x1,
1698            1,
1699            0,
1700            ssr_smci::Tend,
1701            ssr_smci::Tend,
1702            SsrSmci_SPEC,
1703            crate::common::R,
1704        >::from_register(self, 0)
1705    }
1706
1707    #[doc = "Parity Error Flag"]
1708    #[inline(always)]
1709    pub fn per(
1710        self,
1711    ) -> crate::common::RegisterField<
1712        3,
1713        0x1,
1714        1,
1715        0,
1716        ssr_smci::Per,
1717        ssr_smci::Per,
1718        SsrSmci_SPEC,
1719        crate::common::RW,
1720    > {
1721        crate::common::RegisterField::<
1722            3,
1723            0x1,
1724            1,
1725            0,
1726            ssr_smci::Per,
1727            ssr_smci::Per,
1728            SsrSmci_SPEC,
1729            crate::common::RW,
1730        >::from_register(self, 0)
1731    }
1732
1733    #[doc = "Error Signal Status Flag"]
1734    #[inline(always)]
1735    pub fn ers(
1736        self,
1737    ) -> crate::common::RegisterField<
1738        4,
1739        0x1,
1740        1,
1741        0,
1742        ssr_smci::Ers,
1743        ssr_smci::Ers,
1744        SsrSmci_SPEC,
1745        crate::common::RW,
1746    > {
1747        crate::common::RegisterField::<
1748            4,
1749            0x1,
1750            1,
1751            0,
1752            ssr_smci::Ers,
1753            ssr_smci::Ers,
1754            SsrSmci_SPEC,
1755            crate::common::RW,
1756        >::from_register(self, 0)
1757    }
1758
1759    #[doc = "Overrun Error Flag"]
1760    #[inline(always)]
1761    pub fn orer(
1762        self,
1763    ) -> crate::common::RegisterField<
1764        5,
1765        0x1,
1766        1,
1767        0,
1768        ssr_smci::Orer,
1769        ssr_smci::Orer,
1770        SsrSmci_SPEC,
1771        crate::common::RW,
1772    > {
1773        crate::common::RegisterField::<
1774            5,
1775            0x1,
1776            1,
1777            0,
1778            ssr_smci::Orer,
1779            ssr_smci::Orer,
1780            SsrSmci_SPEC,
1781            crate::common::RW,
1782        >::from_register(self, 0)
1783    }
1784
1785    #[doc = "Receive Data Full Flag"]
1786    #[inline(always)]
1787    pub fn rdrf(
1788        self,
1789    ) -> crate::common::RegisterField<
1790        6,
1791        0x1,
1792        1,
1793        0,
1794        ssr_smci::Rdrf,
1795        ssr_smci::Rdrf,
1796        SsrSmci_SPEC,
1797        crate::common::RW,
1798    > {
1799        crate::common::RegisterField::<
1800            6,
1801            0x1,
1802            1,
1803            0,
1804            ssr_smci::Rdrf,
1805            ssr_smci::Rdrf,
1806            SsrSmci_SPEC,
1807            crate::common::RW,
1808        >::from_register(self, 0)
1809    }
1810
1811    #[doc = "Transmit Data Empty Flag"]
1812    #[inline(always)]
1813    pub fn tdre(
1814        self,
1815    ) -> crate::common::RegisterField<
1816        7,
1817        0x1,
1818        1,
1819        0,
1820        ssr_smci::Tdre,
1821        ssr_smci::Tdre,
1822        SsrSmci_SPEC,
1823        crate::common::RW,
1824    > {
1825        crate::common::RegisterField::<
1826            7,
1827            0x1,
1828            1,
1829            0,
1830            ssr_smci::Tdre,
1831            ssr_smci::Tdre,
1832            SsrSmci_SPEC,
1833            crate::common::RW,
1834        >::from_register(self, 0)
1835    }
1836}
1837impl ::core::default::Default for SsrSmci {
1838    #[inline(always)]
1839    fn default() -> SsrSmci {
1840        <crate::RegValueT<SsrSmci_SPEC> as RegisterValue<_>>::new(132)
1841    }
1842}
1843pub mod ssr_smci {
1844
1845    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1846    pub struct Tend_SPEC;
1847    pub type Tend = crate::EnumBitfieldStruct<u8, Tend_SPEC>;
1848    impl Tend {
1849        #[doc = "A character is being transmitted"]
1850        pub const _0: Self = Self::new(0);
1851
1852        #[doc = "Character transfer is complete"]
1853        pub const _1: Self = Self::new(1);
1854    }
1855    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1856    pub struct Per_SPEC;
1857    pub type Per = crate::EnumBitfieldStruct<u8, Per_SPEC>;
1858    impl Per {
1859        #[doc = "No parity error occurred"]
1860        pub const _0: Self = Self::new(0);
1861
1862        #[doc = "Parity error occurred"]
1863        pub const _1: Self = Self::new(1);
1864    }
1865    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1866    pub struct Ers_SPEC;
1867    pub type Ers = crate::EnumBitfieldStruct<u8, Ers_SPEC>;
1868    impl Ers {
1869        #[doc = "No low error signal response"]
1870        pub const _0: Self = Self::new(0);
1871
1872        #[doc = "Low error signal response occurred"]
1873        pub const _1: Self = Self::new(1);
1874    }
1875    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1876    pub struct Orer_SPEC;
1877    pub type Orer = crate::EnumBitfieldStruct<u8, Orer_SPEC>;
1878    impl Orer {
1879        #[doc = "No overrun error occurred"]
1880        pub const _0: Self = Self::new(0);
1881
1882        #[doc = "Overrun error occurred"]
1883        pub const _1: Self = Self::new(1);
1884    }
1885    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1886    pub struct Rdrf_SPEC;
1887    pub type Rdrf = crate::EnumBitfieldStruct<u8, Rdrf_SPEC>;
1888    impl Rdrf {
1889        #[doc = "No received data in RDR register"]
1890        pub const _0: Self = Self::new(0);
1891
1892        #[doc = "Received data in RDR register"]
1893        pub const _1: Self = Self::new(1);
1894    }
1895    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1896    pub struct Tdre_SPEC;
1897    pub type Tdre = crate::EnumBitfieldStruct<u8, Tdre_SPEC>;
1898    impl Tdre {
1899        #[doc = "Transmit data in TDR register"]
1900        pub const _0: Self = Self::new(0);
1901
1902        #[doc = "No transmit data in TDR register"]
1903        pub const _1: Self = Self::new(1);
1904    }
1905}
1906#[doc(hidden)]
1907#[derive(Copy, Clone, Eq, PartialEq)]
1908pub struct Rdr_SPEC;
1909impl crate::sealed::RegSpec for Rdr_SPEC {
1910    type DataType = u8;
1911}
1912
1913#[doc = "Receive Data Register"]
1914pub type Rdr = crate::RegValueT<Rdr_SPEC>;
1915
1916impl NoBitfieldReg<Rdr_SPEC> for Rdr {}
1917impl ::core::default::Default for Rdr {
1918    #[inline(always)]
1919    fn default() -> Rdr {
1920        <crate::RegValueT<Rdr_SPEC> as RegisterValue<_>>::new(0)
1921    }
1922}
1923
1924#[doc(hidden)]
1925#[derive(Copy, Clone, Eq, PartialEq)]
1926pub struct Scmr_SPEC;
1927impl crate::sealed::RegSpec for Scmr_SPEC {
1928    type DataType = u8;
1929}
1930
1931#[doc = "Smart Card Mode Register"]
1932pub type Scmr = crate::RegValueT<Scmr_SPEC>;
1933
1934impl Scmr {
1935    #[doc = "Smart Card Interface Mode Select"]
1936    #[inline(always)]
1937    pub fn smif(
1938        self,
1939    ) -> crate::common::RegisterField<
1940        0,
1941        0x1,
1942        1,
1943        0,
1944        scmr::Smif,
1945        scmr::Smif,
1946        Scmr_SPEC,
1947        crate::common::RW,
1948    > {
1949        crate::common::RegisterField::<
1950            0,
1951            0x1,
1952            1,
1953            0,
1954            scmr::Smif,
1955            scmr::Smif,
1956            Scmr_SPEC,
1957            crate::common::RW,
1958        >::from_register(self, 0)
1959    }
1960
1961    #[doc = "Transmitted/Received Data Invert"]
1962    #[inline(always)]
1963    pub fn sinv(
1964        self,
1965    ) -> crate::common::RegisterField<
1966        2,
1967        0x1,
1968        1,
1969        0,
1970        scmr::Sinv,
1971        scmr::Sinv,
1972        Scmr_SPEC,
1973        crate::common::RW,
1974    > {
1975        crate::common::RegisterField::<
1976            2,
1977            0x1,
1978            1,
1979            0,
1980            scmr::Sinv,
1981            scmr::Sinv,
1982            Scmr_SPEC,
1983            crate::common::RW,
1984        >::from_register(self, 0)
1985    }
1986
1987    #[doc = "Transmitted/Received Data Transfer Direction"]
1988    #[inline(always)]
1989    pub fn sdir(
1990        self,
1991    ) -> crate::common::RegisterField<
1992        3,
1993        0x1,
1994        1,
1995        0,
1996        scmr::Sdir,
1997        scmr::Sdir,
1998        Scmr_SPEC,
1999        crate::common::RW,
2000    > {
2001        crate::common::RegisterField::<
2002            3,
2003            0x1,
2004            1,
2005            0,
2006            scmr::Sdir,
2007            scmr::Sdir,
2008            Scmr_SPEC,
2009            crate::common::RW,
2010        >::from_register(self, 0)
2011    }
2012
2013    #[doc = "Character Length 1"]
2014    #[inline(always)]
2015    pub fn chr1(
2016        self,
2017    ) -> crate::common::RegisterField<
2018        4,
2019        0x1,
2020        1,
2021        0,
2022        scmr::Chr1,
2023        scmr::Chr1,
2024        Scmr_SPEC,
2025        crate::common::RW,
2026    > {
2027        crate::common::RegisterField::<
2028            4,
2029            0x1,
2030            1,
2031            0,
2032            scmr::Chr1,
2033            scmr::Chr1,
2034            Scmr_SPEC,
2035            crate::common::RW,
2036        >::from_register(self, 0)
2037    }
2038
2039    #[doc = "Base Clock Pulse 2"]
2040    #[inline(always)]
2041    pub fn bcp2(self) -> crate::common::RegisterFieldBool<7, 1, 0, Scmr_SPEC, crate::common::RW> {
2042        crate::common::RegisterFieldBool::<7, 1, 0, Scmr_SPEC, crate::common::RW>::from_register(
2043            self, 0,
2044        )
2045    }
2046}
2047impl ::core::default::Default for Scmr {
2048    #[inline(always)]
2049    fn default() -> Scmr {
2050        <crate::RegValueT<Scmr_SPEC> as RegisterValue<_>>::new(242)
2051    }
2052}
2053pub mod scmr {
2054
2055    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2056    pub struct Smif_SPEC;
2057    pub type Smif = crate::EnumBitfieldStruct<u8, Smif_SPEC>;
2058    impl Smif {
2059        #[doc = "Non-smart card interface mode (asynchronous mode, clock synchronous mode, simple SPI mode, or simple IIC mode)"]
2060        pub const _0: Self = Self::new(0);
2061
2062        #[doc = "Smart card interface mode"]
2063        pub const _1: Self = Self::new(1);
2064    }
2065    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2066    pub struct Sinv_SPEC;
2067    pub type Sinv = crate::EnumBitfieldStruct<u8, Sinv_SPEC>;
2068    impl Sinv {
2069        #[doc = "TDR contents are transmitted as they are. Received data is stored as received in the RDR register."]
2070        pub const _0: Self = Self::new(0);
2071
2072        #[doc = "TDR register contents are inverted before transmission. Receive data is stored in inverted form in the RDR register."]
2073        pub const _1: Self = Self::new(1);
2074    }
2075    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2076    pub struct Sdir_SPEC;
2077    pub type Sdir = crate::EnumBitfieldStruct<u8, Sdir_SPEC>;
2078    impl Sdir {
2079        #[doc = "Transfer LSB-first"]
2080        pub const _0: Self = Self::new(0);
2081
2082        #[doc = "Transfer MSB-first"]
2083        pub const _1: Self = Self::new(1);
2084    }
2085    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2086    pub struct Chr1_SPEC;
2087    pub type Chr1 = crate::EnumBitfieldStruct<u8, Chr1_SPEC>;
2088    impl Chr1 {
2089        #[doc = "SMR.CHR = 0: Transmit/receive in 9-bit data length SMR.CHR = 1: Transmit/receive in 9-bit data length"]
2090        pub const _0: Self = Self::new(0);
2091
2092        #[doc = "SMR.CHR = 0: Transmit/receive in 8-bit data length (initial value) SMR.CHR = 1: Transmit/receive in 7-bit data length"]
2093        pub const _1: Self = Self::new(1);
2094    }
2095}
2096#[doc(hidden)]
2097#[derive(Copy, Clone, Eq, PartialEq)]
2098pub struct Semr_SPEC;
2099impl crate::sealed::RegSpec for Semr_SPEC {
2100    type DataType = u8;
2101}
2102
2103#[doc = "Serial Extended Mode Register"]
2104pub type Semr = crate::RegValueT<Semr_SPEC>;
2105
2106impl Semr {
2107    #[doc = "Preamble function Disable"]
2108    #[inline(always)]
2109    pub fn padis(
2110        self,
2111    ) -> crate::common::RegisterField<
2112        1,
2113        0x1,
2114        1,
2115        0,
2116        semr::Padis,
2117        semr::Padis,
2118        Semr_SPEC,
2119        crate::common::RW,
2120    > {
2121        crate::common::RegisterField::<
2122            1,
2123            0x1,
2124            1,
2125            0,
2126            semr::Padis,
2127            semr::Padis,
2128            Semr_SPEC,
2129            crate::common::RW,
2130        >::from_register(self, 0)
2131    }
2132
2133    #[doc = "Bit Rate Modulation Enable"]
2134    #[inline(always)]
2135    pub fn brme(
2136        self,
2137    ) -> crate::common::RegisterField<
2138        2,
2139        0x1,
2140        1,
2141        0,
2142        semr::Brme,
2143        semr::Brme,
2144        Semr_SPEC,
2145        crate::common::RW,
2146    > {
2147        crate::common::RegisterField::<
2148            2,
2149            0x1,
2150            1,
2151            0,
2152            semr::Brme,
2153            semr::Brme,
2154            Semr_SPEC,
2155            crate::common::RW,
2156        >::from_register(self, 0)
2157    }
2158
2159    #[doc = "Asynchronous Mode Extended Base Clock Select 1"]
2160    #[inline(always)]
2161    pub fn abcse(
2162        self,
2163    ) -> crate::common::RegisterField<
2164        3,
2165        0x1,
2166        1,
2167        0,
2168        semr::Abcse,
2169        semr::Abcse,
2170        Semr_SPEC,
2171        crate::common::RW,
2172    > {
2173        crate::common::RegisterField::<
2174            3,
2175            0x1,
2176            1,
2177            0,
2178            semr::Abcse,
2179            semr::Abcse,
2180            Semr_SPEC,
2181            crate::common::RW,
2182        >::from_register(self, 0)
2183    }
2184
2185    #[doc = "Asynchronous Mode Base Clock Select"]
2186    #[inline(always)]
2187    pub fn abcs(
2188        self,
2189    ) -> crate::common::RegisterField<
2190        4,
2191        0x1,
2192        1,
2193        0,
2194        semr::Abcs,
2195        semr::Abcs,
2196        Semr_SPEC,
2197        crate::common::RW,
2198    > {
2199        crate::common::RegisterField::<
2200            4,
2201            0x1,
2202            1,
2203            0,
2204            semr::Abcs,
2205            semr::Abcs,
2206            Semr_SPEC,
2207            crate::common::RW,
2208        >::from_register(self, 0)
2209    }
2210
2211    #[doc = "Digital Noise Filter Function Enable"]
2212    #[inline(always)]
2213    pub fn nfen(
2214        self,
2215    ) -> crate::common::RegisterField<
2216        5,
2217        0x1,
2218        1,
2219        0,
2220        semr::Nfen,
2221        semr::Nfen,
2222        Semr_SPEC,
2223        crate::common::RW,
2224    > {
2225        crate::common::RegisterField::<
2226            5,
2227            0x1,
2228            1,
2229            0,
2230            semr::Nfen,
2231            semr::Nfen,
2232            Semr_SPEC,
2233            crate::common::RW,
2234        >::from_register(self, 0)
2235    }
2236
2237    #[doc = "Baud Rate Generator Double-Speed Mode Select"]
2238    #[inline(always)]
2239    pub fn bgdm(
2240        self,
2241    ) -> crate::common::RegisterField<
2242        6,
2243        0x1,
2244        1,
2245        0,
2246        semr::Bgdm,
2247        semr::Bgdm,
2248        Semr_SPEC,
2249        crate::common::RW,
2250    > {
2251        crate::common::RegisterField::<
2252            6,
2253            0x1,
2254            1,
2255            0,
2256            semr::Bgdm,
2257            semr::Bgdm,
2258            Semr_SPEC,
2259            crate::common::RW,
2260        >::from_register(self, 0)
2261    }
2262
2263    #[doc = "Asynchronous Start Bit Edge Detection Select"]
2264    #[inline(always)]
2265    pub fn rxdesel(
2266        self,
2267    ) -> crate::common::RegisterField<
2268        7,
2269        0x1,
2270        1,
2271        0,
2272        semr::Rxdesel,
2273        semr::Rxdesel,
2274        Semr_SPEC,
2275        crate::common::RW,
2276    > {
2277        crate::common::RegisterField::<
2278            7,
2279            0x1,
2280            1,
2281            0,
2282            semr::Rxdesel,
2283            semr::Rxdesel,
2284            Semr_SPEC,
2285            crate::common::RW,
2286        >::from_register(self, 0)
2287    }
2288}
2289impl ::core::default::Default for Semr {
2290    #[inline(always)]
2291    fn default() -> Semr {
2292        <crate::RegValueT<Semr_SPEC> as RegisterValue<_>>::new(0)
2293    }
2294}
2295pub mod semr {
2296
2297    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2298    pub struct Padis_SPEC;
2299    pub type Padis = crate::EnumBitfieldStruct<u8, Padis_SPEC>;
2300    impl Padis {
2301        #[doc = "Preamble output function is enabled"]
2302        pub const _0: Self = Self::new(0);
2303
2304        #[doc = "Preamble output function is disabled These bits for the other SCI channels than SCIn (n = 0, 3, 4, 9) are reserved."]
2305        pub const _1: Self = Self::new(1);
2306    }
2307    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2308    pub struct Brme_SPEC;
2309    pub type Brme = crate::EnumBitfieldStruct<u8, Brme_SPEC>;
2310    impl Brme {
2311        #[doc = "Disable bit rate modulation function"]
2312        pub const _0: Self = Self::new(0);
2313
2314        #[doc = "Enable bit rate modulation function"]
2315        pub const _1: Self = Self::new(1);
2316    }
2317    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2318    pub struct Abcse_SPEC;
2319    pub type Abcse = crate::EnumBitfieldStruct<u8, Abcse_SPEC>;
2320    impl Abcse {
2321        #[doc = "Clock cycles for 1-bit period determined by combination of the BGDM and ABCS bits in the SEMR register"]
2322        pub const _0: Self = Self::new(0);
2323
2324        #[doc = "Baud rate is 6 base clock cycles for 1-bit period These bits for the other SCI channels than SCIn (n = 0, 3, 4, 9) are reserved."]
2325        pub const _1: Self = Self::new(1);
2326    }
2327    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2328    pub struct Abcs_SPEC;
2329    pub type Abcs = crate::EnumBitfieldStruct<u8, Abcs_SPEC>;
2330    impl Abcs {
2331        #[doc = "Select 16 base clock cycles for 1-bit period"]
2332        pub const _0: Self = Self::new(0);
2333
2334        #[doc = "Select 8 base clock cycles for 1-bit period"]
2335        pub const _1: Self = Self::new(1);
2336    }
2337    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2338    pub struct Nfen_SPEC;
2339    pub type Nfen = crate::EnumBitfieldStruct<u8, Nfen_SPEC>;
2340    impl Nfen {
2341        #[doc = "In asynchronous mode: Disable noise cancellation function for RXDn input signal In simple I2C mode: Disable noise cancellation function for SCLn and SDAn input signals"]
2342        pub const _0: Self = Self::new(0);
2343
2344        #[doc = "In asynchronous mode: Enable noise cancellation function for RXDn input signal In simple I2C mode: Enable noise cancellation function for SCLn and SDAn input signals"]
2345        pub const _1: Self = Self::new(1);
2346    }
2347    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2348    pub struct Bgdm_SPEC;
2349    pub type Bgdm = crate::EnumBitfieldStruct<u8, Bgdm_SPEC>;
2350    impl Bgdm {
2351        #[doc = "Output clock from baud rate generator with normal frequency"]
2352        pub const _0: Self = Self::new(0);
2353
2354        #[doc = "Output clock from baud rate generator with doubled frequency"]
2355        pub const _1: Self = Self::new(1);
2356    }
2357    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2358    pub struct Rxdesel_SPEC;
2359    pub type Rxdesel = crate::EnumBitfieldStruct<u8, Rxdesel_SPEC>;
2360    impl Rxdesel {
2361        #[doc = "Detect low level on RXDn pin as start bit"]
2362        pub const _0: Self = Self::new(0);
2363
2364        #[doc = "Detect falling edge of RXDn pin as start bit"]
2365        pub const _1: Self = Self::new(1);
2366    }
2367}
2368#[doc(hidden)]
2369#[derive(Copy, Clone, Eq, PartialEq)]
2370pub struct Snfr_SPEC;
2371impl crate::sealed::RegSpec for Snfr_SPEC {
2372    type DataType = u8;
2373}
2374
2375#[doc = "Noise Filter Setting Register"]
2376pub type Snfr = crate::RegValueT<Snfr_SPEC>;
2377
2378impl Snfr {
2379    #[doc = "Noise Filter Clock Select"]
2380    #[inline(always)]
2381    pub fn nfcs(
2382        self,
2383    ) -> crate::common::RegisterField<
2384        0,
2385        0x7,
2386        1,
2387        0,
2388        snfr::Nfcs,
2389        snfr::Nfcs,
2390        Snfr_SPEC,
2391        crate::common::RW,
2392    > {
2393        crate::common::RegisterField::<
2394            0,
2395            0x7,
2396            1,
2397            0,
2398            snfr::Nfcs,
2399            snfr::Nfcs,
2400            Snfr_SPEC,
2401            crate::common::RW,
2402        >::from_register(self, 0)
2403    }
2404}
2405impl ::core::default::Default for Snfr {
2406    #[inline(always)]
2407    fn default() -> Snfr {
2408        <crate::RegValueT<Snfr_SPEC> as RegisterValue<_>>::new(0)
2409    }
2410}
2411pub mod snfr {
2412
2413    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2414    pub struct Nfcs_SPEC;
2415    pub type Nfcs = crate::EnumBitfieldStruct<u8, Nfcs_SPEC>;
2416    impl Nfcs {
2417        #[doc = "In asynchronous mode: Use clock signal divided by 1 with noise filter In simple I2C mode: Setting prohibited"]
2418        pub const _000: Self = Self::new(0);
2419
2420        #[doc = "In asynchronous mode: Setting prohibited In simple I2C mode: Use clock signal divided by 1 with noise filter"]
2421        pub const _001: Self = Self::new(1);
2422
2423        #[doc = "In asynchronous mode: Setting prohibited In simple I2C mode: Use clock signal divided by 2 with noise filter"]
2424        pub const _010: Self = Self::new(2);
2425
2426        #[doc = "In asynchronous mode: Setting prohibited In simple I2C mode: Use clock signal divided by 4 with noise filter"]
2427        pub const _011: Self = Self::new(3);
2428
2429        #[doc = "In asynchronous mode: Setting prohibited In simple I2C mode: Use clock signal divided by 8 with noise filter"]
2430        pub const _100: Self = Self::new(4);
2431    }
2432}
2433#[doc(hidden)]
2434#[derive(Copy, Clone, Eq, PartialEq)]
2435pub struct Simr1_SPEC;
2436impl crate::sealed::RegSpec for Simr1_SPEC {
2437    type DataType = u8;
2438}
2439
2440#[doc = "IIC Mode Register 1"]
2441pub type Simr1 = crate::RegValueT<Simr1_SPEC>;
2442
2443impl Simr1 {
2444    #[doc = "Simple IIC Mode Select"]
2445    #[inline(always)]
2446    pub fn iicm(
2447        self,
2448    ) -> crate::common::RegisterField<
2449        0,
2450        0x1,
2451        1,
2452        0,
2453        simr1::Iicm,
2454        simr1::Iicm,
2455        Simr1_SPEC,
2456        crate::common::RW,
2457    > {
2458        crate::common::RegisterField::<
2459            0,
2460            0x1,
2461            1,
2462            0,
2463            simr1::Iicm,
2464            simr1::Iicm,
2465            Simr1_SPEC,
2466            crate::common::RW,
2467        >::from_register(self, 0)
2468    }
2469
2470    #[doc = "SDAn Delay Output Select"]
2471    #[inline(always)]
2472    pub fn iicdl(
2473        self,
2474    ) -> crate::common::RegisterField<
2475        3,
2476        0x1f,
2477        1,
2478        0,
2479        simr1::Iicdl,
2480        simr1::Iicdl,
2481        Simr1_SPEC,
2482        crate::common::RW,
2483    > {
2484        crate::common::RegisterField::<
2485            3,
2486            0x1f,
2487            1,
2488            0,
2489            simr1::Iicdl,
2490            simr1::Iicdl,
2491            Simr1_SPEC,
2492            crate::common::RW,
2493        >::from_register(self, 0)
2494    }
2495}
2496impl ::core::default::Default for Simr1 {
2497    #[inline(always)]
2498    fn default() -> Simr1 {
2499        <crate::RegValueT<Simr1_SPEC> as RegisterValue<_>>::new(0)
2500    }
2501}
2502pub mod simr1 {
2503
2504    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2505    pub struct Iicm_SPEC;
2506    pub type Iicm = crate::EnumBitfieldStruct<u8, Iicm_SPEC>;
2507    impl Iicm {
2508        #[doc = "SCMR.SMIF = 0: Asynchronous mode (including multi-processor mode), clock synchronous mode, or simple SPI mode SCMR.SMIF = 1: Smart card interface mode"]
2509        pub const _0: Self = Self::new(0);
2510
2511        #[doc = "SCMR.SMIF = 0: Simple IIC mode SCMR.SMIF = 1: Setting prohibited"]
2512        pub const _1: Self = Self::new(1);
2513    }
2514    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2515    pub struct Iicdl_SPEC;
2516    pub type Iicdl = crate::EnumBitfieldStruct<u8, Iicdl_SPEC>;
2517    impl Iicdl {
2518        #[doc = "No output delay"]
2519        pub const _0_X_00: Self = Self::new(0);
2520    }
2521}
2522#[doc(hidden)]
2523#[derive(Copy, Clone, Eq, PartialEq)]
2524pub struct Simr2_SPEC;
2525impl crate::sealed::RegSpec for Simr2_SPEC {
2526    type DataType = u8;
2527}
2528
2529#[doc = "IIC Mode Register 2"]
2530pub type Simr2 = crate::RegValueT<Simr2_SPEC>;
2531
2532impl Simr2 {
2533    #[doc = "IIC Interrupt Mode Select"]
2534    #[inline(always)]
2535    pub fn iicintm(
2536        self,
2537    ) -> crate::common::RegisterField<
2538        0,
2539        0x1,
2540        1,
2541        0,
2542        simr2::Iicintm,
2543        simr2::Iicintm,
2544        Simr2_SPEC,
2545        crate::common::RW,
2546    > {
2547        crate::common::RegisterField::<
2548            0,
2549            0x1,
2550            1,
2551            0,
2552            simr2::Iicintm,
2553            simr2::Iicintm,
2554            Simr2_SPEC,
2555            crate::common::RW,
2556        >::from_register(self, 0)
2557    }
2558
2559    #[doc = "Clock Synchronization"]
2560    #[inline(always)]
2561    pub fn iiccsc(
2562        self,
2563    ) -> crate::common::RegisterField<
2564        1,
2565        0x1,
2566        1,
2567        0,
2568        simr2::Iiccsc,
2569        simr2::Iiccsc,
2570        Simr2_SPEC,
2571        crate::common::RW,
2572    > {
2573        crate::common::RegisterField::<
2574            1,
2575            0x1,
2576            1,
2577            0,
2578            simr2::Iiccsc,
2579            simr2::Iiccsc,
2580            Simr2_SPEC,
2581            crate::common::RW,
2582        >::from_register(self, 0)
2583    }
2584
2585    #[doc = "ACK Transmission Data"]
2586    #[inline(always)]
2587    pub fn iicackt(
2588        self,
2589    ) -> crate::common::RegisterField<
2590        5,
2591        0x1,
2592        1,
2593        0,
2594        simr2::Iicackt,
2595        simr2::Iicackt,
2596        Simr2_SPEC,
2597        crate::common::RW,
2598    > {
2599        crate::common::RegisterField::<
2600            5,
2601            0x1,
2602            1,
2603            0,
2604            simr2::Iicackt,
2605            simr2::Iicackt,
2606            Simr2_SPEC,
2607            crate::common::RW,
2608        >::from_register(self, 0)
2609    }
2610}
2611impl ::core::default::Default for Simr2 {
2612    #[inline(always)]
2613    fn default() -> Simr2 {
2614        <crate::RegValueT<Simr2_SPEC> as RegisterValue<_>>::new(0)
2615    }
2616}
2617pub mod simr2 {
2618
2619    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2620    pub struct Iicintm_SPEC;
2621    pub type Iicintm = crate::EnumBitfieldStruct<u8, Iicintm_SPEC>;
2622    impl Iicintm {
2623        #[doc = "Use ACK/NACK interrupts"]
2624        pub const _0: Self = Self::new(0);
2625
2626        #[doc = "Use reception and transmission interrupts"]
2627        pub const _1: Self = Self::new(1);
2628    }
2629    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2630    pub struct Iiccsc_SPEC;
2631    pub type Iiccsc = crate::EnumBitfieldStruct<u8, Iiccsc_SPEC>;
2632    impl Iiccsc {
2633        #[doc = "Do not synchronize with clock signal"]
2634        pub const _0: Self = Self::new(0);
2635
2636        #[doc = "Synchronize with clock signal"]
2637        pub const _1: Self = Self::new(1);
2638    }
2639    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2640    pub struct Iicackt_SPEC;
2641    pub type Iicackt = crate::EnumBitfieldStruct<u8, Iicackt_SPEC>;
2642    impl Iicackt {
2643        #[doc = "ACK transmission"]
2644        pub const _0: Self = Self::new(0);
2645
2646        #[doc = "NACK transmission and ACK/NACK reception"]
2647        pub const _1: Self = Self::new(1);
2648    }
2649}
2650#[doc(hidden)]
2651#[derive(Copy, Clone, Eq, PartialEq)]
2652pub struct Simr3_SPEC;
2653impl crate::sealed::RegSpec for Simr3_SPEC {
2654    type DataType = u8;
2655}
2656
2657#[doc = "IIC Mode Register 3"]
2658pub type Simr3 = crate::RegValueT<Simr3_SPEC>;
2659
2660impl Simr3 {
2661    #[doc = "Start Condition Generation"]
2662    #[inline(always)]
2663    pub fn iicstareq(
2664        self,
2665    ) -> crate::common::RegisterField<
2666        0,
2667        0x1,
2668        1,
2669        0,
2670        simr3::Iicstareq,
2671        simr3::Iicstareq,
2672        Simr3_SPEC,
2673        crate::common::RW,
2674    > {
2675        crate::common::RegisterField::<
2676            0,
2677            0x1,
2678            1,
2679            0,
2680            simr3::Iicstareq,
2681            simr3::Iicstareq,
2682            Simr3_SPEC,
2683            crate::common::RW,
2684        >::from_register(self, 0)
2685    }
2686
2687    #[doc = "Restart Condition Generation"]
2688    #[inline(always)]
2689    pub fn iicrstareq(
2690        self,
2691    ) -> crate::common::RegisterField<
2692        1,
2693        0x1,
2694        1,
2695        0,
2696        simr3::Iicrstareq,
2697        simr3::Iicrstareq,
2698        Simr3_SPEC,
2699        crate::common::RW,
2700    > {
2701        crate::common::RegisterField::<
2702            1,
2703            0x1,
2704            1,
2705            0,
2706            simr3::Iicrstareq,
2707            simr3::Iicrstareq,
2708            Simr3_SPEC,
2709            crate::common::RW,
2710        >::from_register(self, 0)
2711    }
2712
2713    #[doc = "Stop Condition Generation"]
2714    #[inline(always)]
2715    pub fn iicstpreq(
2716        self,
2717    ) -> crate::common::RegisterField<
2718        2,
2719        0x1,
2720        1,
2721        0,
2722        simr3::Iicstpreq,
2723        simr3::Iicstpreq,
2724        Simr3_SPEC,
2725        crate::common::RW,
2726    > {
2727        crate::common::RegisterField::<
2728            2,
2729            0x1,
2730            1,
2731            0,
2732            simr3::Iicstpreq,
2733            simr3::Iicstpreq,
2734            Simr3_SPEC,
2735            crate::common::RW,
2736        >::from_register(self, 0)
2737    }
2738
2739    #[doc = "Issuing of Start, Restart, or Stop Condition Completed Flag"]
2740    #[inline(always)]
2741    pub fn iicstif(
2742        self,
2743    ) -> crate::common::RegisterField<
2744        3,
2745        0x1,
2746        1,
2747        0,
2748        simr3::Iicstif,
2749        simr3::Iicstif,
2750        Simr3_SPEC,
2751        crate::common::RW,
2752    > {
2753        crate::common::RegisterField::<
2754            3,
2755            0x1,
2756            1,
2757            0,
2758            simr3::Iicstif,
2759            simr3::Iicstif,
2760            Simr3_SPEC,
2761            crate::common::RW,
2762        >::from_register(self, 0)
2763    }
2764
2765    #[doc = "SDAn Output Select"]
2766    #[inline(always)]
2767    pub fn iicsdas(
2768        self,
2769    ) -> crate::common::RegisterField<
2770        4,
2771        0x3,
2772        1,
2773        0,
2774        simr3::Iicsdas,
2775        simr3::Iicsdas,
2776        Simr3_SPEC,
2777        crate::common::RW,
2778    > {
2779        crate::common::RegisterField::<
2780            4,
2781            0x3,
2782            1,
2783            0,
2784            simr3::Iicsdas,
2785            simr3::Iicsdas,
2786            Simr3_SPEC,
2787            crate::common::RW,
2788        >::from_register(self, 0)
2789    }
2790
2791    #[doc = "SCLn Output Select"]
2792    #[inline(always)]
2793    pub fn iicscls(
2794        self,
2795    ) -> crate::common::RegisterField<
2796        6,
2797        0x3,
2798        1,
2799        0,
2800        simr3::Iicscls,
2801        simr3::Iicscls,
2802        Simr3_SPEC,
2803        crate::common::RW,
2804    > {
2805        crate::common::RegisterField::<
2806            6,
2807            0x3,
2808            1,
2809            0,
2810            simr3::Iicscls,
2811            simr3::Iicscls,
2812            Simr3_SPEC,
2813            crate::common::RW,
2814        >::from_register(self, 0)
2815    }
2816}
2817impl ::core::default::Default for Simr3 {
2818    #[inline(always)]
2819    fn default() -> Simr3 {
2820        <crate::RegValueT<Simr3_SPEC> as RegisterValue<_>>::new(0)
2821    }
2822}
2823pub mod simr3 {
2824
2825    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2826    pub struct Iicstareq_SPEC;
2827    pub type Iicstareq = crate::EnumBitfieldStruct<u8, Iicstareq_SPEC>;
2828    impl Iicstareq {
2829        #[doc = "Do not generate start condition"]
2830        pub const _0: Self = Self::new(0);
2831
2832        #[doc = "Generate start condition"]
2833        pub const _1: Self = Self::new(1);
2834    }
2835    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2836    pub struct Iicrstareq_SPEC;
2837    pub type Iicrstareq = crate::EnumBitfieldStruct<u8, Iicrstareq_SPEC>;
2838    impl Iicrstareq {
2839        #[doc = "Do not generate restart condition"]
2840        pub const _0: Self = Self::new(0);
2841
2842        #[doc = "Generate restart condition"]
2843        pub const _1: Self = Self::new(1);
2844    }
2845    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2846    pub struct Iicstpreq_SPEC;
2847    pub type Iicstpreq = crate::EnumBitfieldStruct<u8, Iicstpreq_SPEC>;
2848    impl Iicstpreq {
2849        #[doc = "Do not generate stop condition"]
2850        pub const _0: Self = Self::new(0);
2851
2852        #[doc = "Generate stop condition"]
2853        pub const _1: Self = Self::new(1);
2854    }
2855    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2856    pub struct Iicstif_SPEC;
2857    pub type Iicstif = crate::EnumBitfieldStruct<u8, Iicstif_SPEC>;
2858    impl Iicstif {
2859        #[doc = "No requests are being made for generating conditions, or a condition is being generated"]
2860        pub const _0: Self = Self::new(0);
2861
2862        #[doc = "Generation of start, restart, or stop condition is complete. When 0 is written to IICSTIF, it is set to 0"]
2863        pub const _1: Self = Self::new(1);
2864    }
2865    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2866    pub struct Iicsdas_SPEC;
2867    pub type Iicsdas = crate::EnumBitfieldStruct<u8, Iicsdas_SPEC>;
2868    impl Iicsdas {
2869        #[doc = "Output serial data"]
2870        pub const _00: Self = Self::new(0);
2871
2872        #[doc = "Generate start, restart, or stop condition"]
2873        pub const _01: Self = Self::new(1);
2874
2875        #[doc = "Output low on SDAn pin"]
2876        pub const _10: Self = Self::new(2);
2877
2878        #[doc = "Drive SDAn pin to high-impedance state"]
2879        pub const _11: Self = Self::new(3);
2880    }
2881    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2882    pub struct Iicscls_SPEC;
2883    pub type Iicscls = crate::EnumBitfieldStruct<u8, Iicscls_SPEC>;
2884    impl Iicscls {
2885        #[doc = "Output serial clock"]
2886        pub const _00: Self = Self::new(0);
2887
2888        #[doc = "Generate start, restart, or stop condition"]
2889        pub const _01: Self = Self::new(1);
2890
2891        #[doc = "Output low on SCLn pin"]
2892        pub const _10: Self = Self::new(2);
2893
2894        #[doc = "Drive SCLn pin to high-impedance state"]
2895        pub const _11: Self = Self::new(3);
2896    }
2897}
2898#[doc(hidden)]
2899#[derive(Copy, Clone, Eq, PartialEq)]
2900pub struct Sisr_SPEC;
2901impl crate::sealed::RegSpec for Sisr_SPEC {
2902    type DataType = u8;
2903}
2904
2905#[doc = "IIC Status Register"]
2906pub type Sisr = crate::RegValueT<Sisr_SPEC>;
2907
2908impl Sisr {
2909    #[doc = "ACK Reception Data Flag"]
2910    #[inline(always)]
2911    pub fn iicackr(
2912        self,
2913    ) -> crate::common::RegisterField<
2914        0,
2915        0x1,
2916        1,
2917        0,
2918        sisr::Iicackr,
2919        sisr::Iicackr,
2920        Sisr_SPEC,
2921        crate::common::R,
2922    > {
2923        crate::common::RegisterField::<
2924            0,
2925            0x1,
2926            1,
2927            0,
2928            sisr::Iicackr,
2929            sisr::Iicackr,
2930            Sisr_SPEC,
2931            crate::common::R,
2932        >::from_register(self, 0)
2933    }
2934}
2935impl ::core::default::Default for Sisr {
2936    #[inline(always)]
2937    fn default() -> Sisr {
2938        <crate::RegValueT<Sisr_SPEC> as RegisterValue<_>>::new(0)
2939    }
2940}
2941pub mod sisr {
2942
2943    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2944    pub struct Iicackr_SPEC;
2945    pub type Iicackr = crate::EnumBitfieldStruct<u8, Iicackr_SPEC>;
2946    impl Iicackr {
2947        #[doc = "ACK received"]
2948        pub const _0: Self = Self::new(0);
2949
2950        #[doc = "NACK received"]
2951        pub const _1: Self = Self::new(1);
2952    }
2953}
2954#[doc(hidden)]
2955#[derive(Copy, Clone, Eq, PartialEq)]
2956pub struct Spmr_SPEC;
2957impl crate::sealed::RegSpec for Spmr_SPEC {
2958    type DataType = u8;
2959}
2960
2961#[doc = "SPI Mode Register"]
2962pub type Spmr = crate::RegValueT<Spmr_SPEC>;
2963
2964impl Spmr {
2965    #[doc = "SSn Pin Function Enable"]
2966    #[inline(always)]
2967    pub fn sse(
2968        self,
2969    ) -> crate::common::RegisterField<
2970        0,
2971        0x1,
2972        1,
2973        0,
2974        spmr::Sse,
2975        spmr::Sse,
2976        Spmr_SPEC,
2977        crate::common::RW,
2978    > {
2979        crate::common::RegisterField::<
2980            0,
2981            0x1,
2982            1,
2983            0,
2984            spmr::Sse,
2985            spmr::Sse,
2986            Spmr_SPEC,
2987            crate::common::RW,
2988        >::from_register(self, 0)
2989    }
2990
2991    #[doc = "CTS Enable"]
2992    #[inline(always)]
2993    pub fn ctse(
2994        self,
2995    ) -> crate::common::RegisterField<
2996        1,
2997        0x1,
2998        1,
2999        0,
3000        spmr::Ctse,
3001        spmr::Ctse,
3002        Spmr_SPEC,
3003        crate::common::RW,
3004    > {
3005        crate::common::RegisterField::<
3006            1,
3007            0x1,
3008            1,
3009            0,
3010            spmr::Ctse,
3011            spmr::Ctse,
3012            Spmr_SPEC,
3013            crate::common::RW,
3014        >::from_register(self, 0)
3015    }
3016
3017    #[doc = "Master Slave Select"]
3018    #[inline(always)]
3019    pub fn mss(
3020        self,
3021    ) -> crate::common::RegisterField<
3022        2,
3023        0x1,
3024        1,
3025        0,
3026        spmr::Mss,
3027        spmr::Mss,
3028        Spmr_SPEC,
3029        crate::common::RW,
3030    > {
3031        crate::common::RegisterField::<
3032            2,
3033            0x1,
3034            1,
3035            0,
3036            spmr::Mss,
3037            spmr::Mss,
3038            Spmr_SPEC,
3039            crate::common::RW,
3040        >::from_register(self, 0)
3041    }
3042
3043    #[doc = "CTS external pin Enable"]
3044    #[inline(always)]
3045    pub fn ctspen(
3046        self,
3047    ) -> crate::common::RegisterField<
3048        3,
3049        0x1,
3050        1,
3051        0,
3052        spmr::Ctspen,
3053        spmr::Ctspen,
3054        Spmr_SPEC,
3055        crate::common::RW,
3056    > {
3057        crate::common::RegisterField::<
3058            3,
3059            0x1,
3060            1,
3061            0,
3062            spmr::Ctspen,
3063            spmr::Ctspen,
3064            Spmr_SPEC,
3065            crate::common::RW,
3066        >::from_register(self, 0)
3067    }
3068
3069    #[doc = "Mode Fault Flag"]
3070    #[inline(always)]
3071    pub fn mff(
3072        self,
3073    ) -> crate::common::RegisterField<
3074        4,
3075        0x1,
3076        1,
3077        0,
3078        spmr::Mff,
3079        spmr::Mff,
3080        Spmr_SPEC,
3081        crate::common::RW,
3082    > {
3083        crate::common::RegisterField::<
3084            4,
3085            0x1,
3086            1,
3087            0,
3088            spmr::Mff,
3089            spmr::Mff,
3090            Spmr_SPEC,
3091            crate::common::RW,
3092        >::from_register(self, 0)
3093    }
3094
3095    #[doc = "Clock Polarity Select"]
3096    #[inline(always)]
3097    pub fn ckpol(
3098        self,
3099    ) -> crate::common::RegisterField<
3100        6,
3101        0x1,
3102        1,
3103        0,
3104        spmr::Ckpol,
3105        spmr::Ckpol,
3106        Spmr_SPEC,
3107        crate::common::RW,
3108    > {
3109        crate::common::RegisterField::<
3110            6,
3111            0x1,
3112            1,
3113            0,
3114            spmr::Ckpol,
3115            spmr::Ckpol,
3116            Spmr_SPEC,
3117            crate::common::RW,
3118        >::from_register(self, 0)
3119    }
3120
3121    #[doc = "Clock Phase Select"]
3122    #[inline(always)]
3123    pub fn ckph(
3124        self,
3125    ) -> crate::common::RegisterField<
3126        7,
3127        0x1,
3128        1,
3129        0,
3130        spmr::Ckph,
3131        spmr::Ckph,
3132        Spmr_SPEC,
3133        crate::common::RW,
3134    > {
3135        crate::common::RegisterField::<
3136            7,
3137            0x1,
3138            1,
3139            0,
3140            spmr::Ckph,
3141            spmr::Ckph,
3142            Spmr_SPEC,
3143            crate::common::RW,
3144        >::from_register(self, 0)
3145    }
3146}
3147impl ::core::default::Default for Spmr {
3148    #[inline(always)]
3149    fn default() -> Spmr {
3150        <crate::RegValueT<Spmr_SPEC> as RegisterValue<_>>::new(0)
3151    }
3152}
3153pub mod spmr {
3154
3155    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3156    pub struct Sse_SPEC;
3157    pub type Sse = crate::EnumBitfieldStruct<u8, Sse_SPEC>;
3158    impl Sse {
3159        #[doc = "Disable SSn pin function"]
3160        pub const _0: Self = Self::new(0);
3161
3162        #[doc = "Enable SSn pin function"]
3163        pub const _1: Self = Self::new(1);
3164    }
3165    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3166    pub struct Ctse_SPEC;
3167    pub type Ctse = crate::EnumBitfieldStruct<u8, Ctse_SPEC>;
3168    impl Ctse {
3169        #[doc = "Disable CTS function (enable RTS output function)"]
3170        pub const _0: Self = Self::new(0);
3171
3172        #[doc = "Enable CTS function"]
3173        pub const _1: Self = Self::new(1);
3174    }
3175    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3176    pub struct Mss_SPEC;
3177    pub type Mss = crate::EnumBitfieldStruct<u8, Mss_SPEC>;
3178    impl Mss {
3179        #[doc = "Transmit through TXDn pin and receive through RXDn pin (master mode)"]
3180        pub const _0: Self = Self::new(0);
3181
3182        #[doc = "Receive through TXDn pin and transmit through RXDn pin (slave mode)"]
3183        pub const _1: Self = Self::new(1);
3184    }
3185    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3186    pub struct Ctspen_SPEC;
3187    pub type Ctspen = crate::EnumBitfieldStruct<u8, Ctspen_SPEC>;
3188    impl Ctspen {
3189        #[doc = "Alternate setting to use CTS and RTS functions as either one terminal"]
3190        pub const _0: Self = Self::new(0);
3191
3192        #[doc = "Dedicated setting for separately using CTS and RTS functions with 2 terminals These bits for the other SCI channels than SCIn (n = 0, 3, 4, 9) are reserved."]
3193        pub const _1: Self = Self::new(1);
3194    }
3195    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3196    pub struct Mff_SPEC;
3197    pub type Mff = crate::EnumBitfieldStruct<u8, Mff_SPEC>;
3198    impl Mff {
3199        #[doc = "No mode fault error"]
3200        pub const _0: Self = Self::new(0);
3201
3202        #[doc = "Mode fault error"]
3203        pub const _1: Self = Self::new(1);
3204    }
3205    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3206    pub struct Ckpol_SPEC;
3207    pub type Ckpol = crate::EnumBitfieldStruct<u8, Ckpol_SPEC>;
3208    impl Ckpol {
3209        #[doc = "Do not invert clock polarity"]
3210        pub const _0: Self = Self::new(0);
3211
3212        #[doc = "Invert clock polarity"]
3213        pub const _1: Self = Self::new(1);
3214    }
3215    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3216    pub struct Ckph_SPEC;
3217    pub type Ckph = crate::EnumBitfieldStruct<u8, Ckph_SPEC>;
3218    impl Ckph {
3219        #[doc = "Do not delay clock"]
3220        pub const _0: Self = Self::new(0);
3221
3222        #[doc = "Delay clock"]
3223        pub const _1: Self = Self::new(1);
3224    }
3225}
3226#[doc(hidden)]
3227#[derive(Copy, Clone, Eq, PartialEq)]
3228pub struct Ftdrhl_SPEC;
3229impl crate::sealed::RegSpec for Ftdrhl_SPEC {
3230    type DataType = u16;
3231}
3232
3233#[doc = "Transmit FIFO Data Register"]
3234pub type Ftdrhl = crate::RegValueT<Ftdrhl_SPEC>;
3235
3236impl Ftdrhl {
3237    #[doc = "Serial transmit data"]
3238    #[inline(always)]
3239    pub fn tdat(
3240        self,
3241    ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Ftdrhl_SPEC, crate::common::W> {
3242        crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Ftdrhl_SPEC,crate::common::W>::from_register(self,0)
3243    }
3244
3245    #[doc = "Multi-Processor Transfer Bit Flag"]
3246    #[inline(always)]
3247    pub fn mpbt(
3248        self,
3249    ) -> crate::common::RegisterField<
3250        9,
3251        0x1,
3252        1,
3253        0,
3254        ftdrhl::Mpbt,
3255        ftdrhl::Mpbt,
3256        Ftdrhl_SPEC,
3257        crate::common::W,
3258    > {
3259        crate::common::RegisterField::<
3260            9,
3261            0x1,
3262            1,
3263            0,
3264            ftdrhl::Mpbt,
3265            ftdrhl::Mpbt,
3266            Ftdrhl_SPEC,
3267            crate::common::W,
3268        >::from_register(self, 0)
3269    }
3270}
3271impl ::core::default::Default for Ftdrhl {
3272    #[inline(always)]
3273    fn default() -> Ftdrhl {
3274        <crate::RegValueT<Ftdrhl_SPEC> as RegisterValue<_>>::new(65535)
3275    }
3276}
3277pub mod ftdrhl {
3278
3279    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3280    pub struct Mpbt_SPEC;
3281    pub type Mpbt = crate::EnumBitfieldStruct<u8, Mpbt_SPEC>;
3282    impl Mpbt {
3283        #[doc = "Data transmission cycle"]
3284        pub const _0: Self = Self::new(0);
3285
3286        #[doc = "ID transmission cycle"]
3287        pub const _1: Self = Self::new(1);
3288    }
3289}
3290#[doc(hidden)]
3291#[derive(Copy, Clone, Eq, PartialEq)]
3292pub struct Tdrhl_SPEC;
3293impl crate::sealed::RegSpec for Tdrhl_SPEC {
3294    type DataType = u16;
3295}
3296
3297#[doc = "Transmit Data Register for Non-Manchester mode (MMR.MANEN = 0)"]
3298pub type Tdrhl = crate::RegValueT<Tdrhl_SPEC>;
3299
3300impl Tdrhl {
3301    #[doc = "Serial Transmit Data"]
3302    #[inline(always)]
3303    pub fn tdat(
3304        self,
3305    ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Tdrhl_SPEC, crate::common::RW> {
3306        crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Tdrhl_SPEC,crate::common::RW>::from_register(self,0)
3307    }
3308}
3309impl ::core::default::Default for Tdrhl {
3310    #[inline(always)]
3311    fn default() -> Tdrhl {
3312        <crate::RegValueT<Tdrhl_SPEC> as RegisterValue<_>>::new(65535)
3313    }
3314}
3315
3316#[doc(hidden)]
3317#[derive(Copy, Clone, Eq, PartialEq)]
3318pub struct Ftdrh_SPEC;
3319impl crate::sealed::RegSpec for Ftdrh_SPEC {
3320    type DataType = u8;
3321}
3322
3323#[doc = "Transmit FIFO Data Register"]
3324pub type Ftdrh = crate::RegValueT<Ftdrh_SPEC>;
3325
3326impl Ftdrh {
3327    #[doc = "Serial transmit data"]
3328    #[inline(always)]
3329    pub fn tdat(self) -> crate::common::RegisterFieldBool<0, 1, 0, Ftdrh_SPEC, crate::common::W> {
3330        crate::common::RegisterFieldBool::<0, 1, 0, Ftdrh_SPEC, crate::common::W>::from_register(
3331            self, 0,
3332        )
3333    }
3334
3335    #[doc = "Multi-Processor Transfer Bit Flag"]
3336    #[inline(always)]
3337    pub fn mpbt(
3338        self,
3339    ) -> crate::common::RegisterField<
3340        1,
3341        0x1,
3342        1,
3343        0,
3344        ftdrh::Mpbt,
3345        ftdrh::Mpbt,
3346        Ftdrh_SPEC,
3347        crate::common::W,
3348    > {
3349        crate::common::RegisterField::<
3350            1,
3351            0x1,
3352            1,
3353            0,
3354            ftdrh::Mpbt,
3355            ftdrh::Mpbt,
3356            Ftdrh_SPEC,
3357            crate::common::W,
3358        >::from_register(self, 0)
3359    }
3360}
3361impl ::core::default::Default for Ftdrh {
3362    #[inline(always)]
3363    fn default() -> Ftdrh {
3364        <crate::RegValueT<Ftdrh_SPEC> as RegisterValue<_>>::new(255)
3365    }
3366}
3367pub mod ftdrh {
3368
3369    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3370    pub struct Mpbt_SPEC;
3371    pub type Mpbt = crate::EnumBitfieldStruct<u8, Mpbt_SPEC>;
3372    impl Mpbt {
3373        #[doc = "Data transmission cycle"]
3374        pub const _0: Self = Self::new(0);
3375
3376        #[doc = "ID transmission cycle"]
3377        pub const _1: Self = Self::new(1);
3378    }
3379}
3380#[doc(hidden)]
3381#[derive(Copy, Clone, Eq, PartialEq)]
3382pub struct Ftdrl_SPEC;
3383impl crate::sealed::RegSpec for Ftdrl_SPEC {
3384    type DataType = u8;
3385}
3386
3387#[doc = "Transmit FIFO Data Register"]
3388pub type Ftdrl = crate::RegValueT<Ftdrl_SPEC>;
3389
3390impl Ftdrl {
3391    #[doc = "Serial transmit data"]
3392    #[inline(always)]
3393    pub fn tdat(
3394        self,
3395    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Ftdrl_SPEC, crate::common::W> {
3396        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Ftdrl_SPEC,crate::common::W>::from_register(self,0)
3397    }
3398}
3399impl ::core::default::Default for Ftdrl {
3400    #[inline(always)]
3401    fn default() -> Ftdrl {
3402        <crate::RegValueT<Ftdrl_SPEC> as RegisterValue<_>>::new(255)
3403    }
3404}
3405
3406#[doc(hidden)]
3407#[derive(Copy, Clone, Eq, PartialEq)]
3408pub struct Frdrhl_SPEC;
3409impl crate::sealed::RegSpec for Frdrhl_SPEC {
3410    type DataType = u16;
3411}
3412
3413#[doc = "Receive FIFO Data Register"]
3414pub type Frdrhl = crate::RegValueT<Frdrhl_SPEC>;
3415
3416impl Frdrhl {
3417    #[doc = "Serial receive data"]
3418    #[inline(always)]
3419    pub fn rdat(
3420        self,
3421    ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Frdrhl_SPEC, crate::common::R> {
3422        crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Frdrhl_SPEC,crate::common::R>::from_register(self,0)
3423    }
3424
3425    #[doc = "Multi-Processor Bit Flag"]
3426    #[inline(always)]
3427    pub fn mpb(
3428        self,
3429    ) -> crate::common::RegisterField<
3430        9,
3431        0x1,
3432        1,
3433        0,
3434        frdrhl::Mpb,
3435        frdrhl::Mpb,
3436        Frdrhl_SPEC,
3437        crate::common::R,
3438    > {
3439        crate::common::RegisterField::<
3440            9,
3441            0x1,
3442            1,
3443            0,
3444            frdrhl::Mpb,
3445            frdrhl::Mpb,
3446            Frdrhl_SPEC,
3447            crate::common::R,
3448        >::from_register(self, 0)
3449    }
3450
3451    #[doc = "Receive Data Ready Flag"]
3452    #[inline(always)]
3453    pub fn dr(
3454        self,
3455    ) -> crate::common::RegisterField<
3456        10,
3457        0x1,
3458        1,
3459        0,
3460        frdrhl::Dr,
3461        frdrhl::Dr,
3462        Frdrhl_SPEC,
3463        crate::common::R,
3464    > {
3465        crate::common::RegisterField::<
3466            10,
3467            0x1,
3468            1,
3469            0,
3470            frdrhl::Dr,
3471            frdrhl::Dr,
3472            Frdrhl_SPEC,
3473            crate::common::R,
3474        >::from_register(self, 0)
3475    }
3476
3477    #[doc = "Parity Error Flag"]
3478    #[inline(always)]
3479    pub fn per(
3480        self,
3481    ) -> crate::common::RegisterField<
3482        11,
3483        0x1,
3484        1,
3485        0,
3486        frdrhl::Per,
3487        frdrhl::Per,
3488        Frdrhl_SPEC,
3489        crate::common::R,
3490    > {
3491        crate::common::RegisterField::<
3492            11,
3493            0x1,
3494            1,
3495            0,
3496            frdrhl::Per,
3497            frdrhl::Per,
3498            Frdrhl_SPEC,
3499            crate::common::R,
3500        >::from_register(self, 0)
3501    }
3502
3503    #[doc = "Framing Error Flag"]
3504    #[inline(always)]
3505    pub fn fer(
3506        self,
3507    ) -> crate::common::RegisterField<
3508        12,
3509        0x1,
3510        1,
3511        0,
3512        frdrhl::Fer,
3513        frdrhl::Fer,
3514        Frdrhl_SPEC,
3515        crate::common::R,
3516    > {
3517        crate::common::RegisterField::<
3518            12,
3519            0x1,
3520            1,
3521            0,
3522            frdrhl::Fer,
3523            frdrhl::Fer,
3524            Frdrhl_SPEC,
3525            crate::common::R,
3526        >::from_register(self, 0)
3527    }
3528
3529    #[doc = "Overrun Error Flag"]
3530    #[inline(always)]
3531    pub fn orer(
3532        self,
3533    ) -> crate::common::RegisterField<
3534        13,
3535        0x1,
3536        1,
3537        0,
3538        frdrhl::Orer,
3539        frdrhl::Orer,
3540        Frdrhl_SPEC,
3541        crate::common::R,
3542    > {
3543        crate::common::RegisterField::<
3544            13,
3545            0x1,
3546            1,
3547            0,
3548            frdrhl::Orer,
3549            frdrhl::Orer,
3550            Frdrhl_SPEC,
3551            crate::common::R,
3552        >::from_register(self, 0)
3553    }
3554
3555    #[doc = "Receive FIFO Data Full Flag"]
3556    #[inline(always)]
3557    pub fn rdf(
3558        self,
3559    ) -> crate::common::RegisterField<
3560        14,
3561        0x1,
3562        1,
3563        0,
3564        frdrhl::Rdf,
3565        frdrhl::Rdf,
3566        Frdrhl_SPEC,
3567        crate::common::R,
3568    > {
3569        crate::common::RegisterField::<
3570            14,
3571            0x1,
3572            1,
3573            0,
3574            frdrhl::Rdf,
3575            frdrhl::Rdf,
3576            Frdrhl_SPEC,
3577            crate::common::R,
3578        >::from_register(self, 0)
3579    }
3580}
3581impl ::core::default::Default for Frdrhl {
3582    #[inline(always)]
3583    fn default() -> Frdrhl {
3584        <crate::RegValueT<Frdrhl_SPEC> as RegisterValue<_>>::new(0)
3585    }
3586}
3587pub mod frdrhl {
3588
3589    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3590    pub struct Mpb_SPEC;
3591    pub type Mpb = crate::EnumBitfieldStruct<u8, Mpb_SPEC>;
3592    impl Mpb {
3593        #[doc = "Data transmission cycle"]
3594        pub const _0: Self = Self::new(0);
3595
3596        #[doc = "ID transmission cycle"]
3597        pub const _1: Self = Self::new(1);
3598    }
3599    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3600    pub struct Dr_SPEC;
3601    pub type Dr = crate::EnumBitfieldStruct<u8, Dr_SPEC>;
3602    impl Dr {
3603        #[doc = "Receiving is in progress, or no received data remains in the FRDRH and FRDRL registers after successfully completed reception"]
3604        pub const _0: Self = Self::new(0);
3605
3606        #[doc = "Next receive data is not received for a period after successfully completed reception"]
3607        pub const _1: Self = Self::new(1);
3608    }
3609    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3610    pub struct Per_SPEC;
3611    pub type Per = crate::EnumBitfieldStruct<u8, Per_SPEC>;
3612    impl Per {
3613        #[doc = "No parity error occurred in the first data of FRDRH and FRDRL"]
3614        pub const _0: Self = Self::new(0);
3615
3616        #[doc = "Parity error occurred in the first data of FRDRH and FRDRL"]
3617        pub const _1: Self = Self::new(1);
3618    }
3619    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3620    pub struct Fer_SPEC;
3621    pub type Fer = crate::EnumBitfieldStruct<u8, Fer_SPEC>;
3622    impl Fer {
3623        #[doc = "No framing error occurred in the first data of FRDRH and FRDRL"]
3624        pub const _0: Self = Self::new(0);
3625
3626        #[doc = "Framing error occurred in the first data of FRDRH and FRDRL"]
3627        pub const _1: Self = Self::new(1);
3628    }
3629    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3630    pub struct Orer_SPEC;
3631    pub type Orer = crate::EnumBitfieldStruct<u8, Orer_SPEC>;
3632    impl Orer {
3633        #[doc = "No overrun error occurred"]
3634        pub const _0: Self = Self::new(0);
3635
3636        #[doc = "Overrun error occurred"]
3637        pub const _1: Self = Self::new(1);
3638    }
3639    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3640    pub struct Rdf_SPEC;
3641    pub type Rdf = crate::EnumBitfieldStruct<u8, Rdf_SPEC>;
3642    impl Rdf {
3643        #[doc = "The amount of receive data written in FRDRH and FRDRL is less than the specified receive triggering number"]
3644        pub const _0: Self = Self::new(0);
3645
3646        #[doc = "The amount of receive data written in FRDRH and FRDRL is equal to or greater than the specified receive triggering number"]
3647        pub const _1: Self = Self::new(1);
3648    }
3649}
3650#[doc(hidden)]
3651#[derive(Copy, Clone, Eq, PartialEq)]
3652pub struct Rdrhl_SPEC;
3653impl crate::sealed::RegSpec for Rdrhl_SPEC {
3654    type DataType = u16;
3655}
3656
3657#[doc = "Receive Data Register for Non-Manchester mode (MMR.MANEN = 0)"]
3658pub type Rdrhl = crate::RegValueT<Rdrhl_SPEC>;
3659
3660impl Rdrhl {
3661    #[doc = "Serial Receive Data"]
3662    #[inline(always)]
3663    pub fn rdat(
3664        self,
3665    ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Rdrhl_SPEC, crate::common::R> {
3666        crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Rdrhl_SPEC,crate::common::R>::from_register(self,0)
3667    }
3668}
3669impl ::core::default::Default for Rdrhl {
3670    #[inline(always)]
3671    fn default() -> Rdrhl {
3672        <crate::RegValueT<Rdrhl_SPEC> as RegisterValue<_>>::new(0)
3673    }
3674}
3675
3676#[doc(hidden)]
3677#[derive(Copy, Clone, Eq, PartialEq)]
3678pub struct Frdrh_SPEC;
3679impl crate::sealed::RegSpec for Frdrh_SPEC {
3680    type DataType = u8;
3681}
3682
3683#[doc = "Receive FIFO Data Register"]
3684pub type Frdrh = crate::RegValueT<Frdrh_SPEC>;
3685
3686impl Frdrh {
3687    #[doc = "Serial receive data"]
3688    #[inline(always)]
3689    pub fn rdat(self) -> crate::common::RegisterFieldBool<0, 1, 0, Frdrh_SPEC, crate::common::R> {
3690        crate::common::RegisterFieldBool::<0, 1, 0, Frdrh_SPEC, crate::common::R>::from_register(
3691            self, 0,
3692        )
3693    }
3694
3695    #[doc = "Multi-Processor Bit Flag"]
3696    #[inline(always)]
3697    pub fn mpb(
3698        self,
3699    ) -> crate::common::RegisterField<
3700        1,
3701        0x1,
3702        1,
3703        0,
3704        frdrh::Mpb,
3705        frdrh::Mpb,
3706        Frdrh_SPEC,
3707        crate::common::R,
3708    > {
3709        crate::common::RegisterField::<
3710            1,
3711            0x1,
3712            1,
3713            0,
3714            frdrh::Mpb,
3715            frdrh::Mpb,
3716            Frdrh_SPEC,
3717            crate::common::R,
3718        >::from_register(self, 0)
3719    }
3720
3721    #[doc = "Receive Data Ready Flag"]
3722    #[inline(always)]
3723    pub fn dr(
3724        self,
3725    ) -> crate::common::RegisterField<
3726        2,
3727        0x1,
3728        1,
3729        0,
3730        frdrh::Dr,
3731        frdrh::Dr,
3732        Frdrh_SPEC,
3733        crate::common::R,
3734    > {
3735        crate::common::RegisterField::<
3736            2,
3737            0x1,
3738            1,
3739            0,
3740            frdrh::Dr,
3741            frdrh::Dr,
3742            Frdrh_SPEC,
3743            crate::common::R,
3744        >::from_register(self, 0)
3745    }
3746
3747    #[doc = "Parity Error Flag"]
3748    #[inline(always)]
3749    pub fn per(
3750        self,
3751    ) -> crate::common::RegisterField<
3752        3,
3753        0x1,
3754        1,
3755        0,
3756        frdrh::Per,
3757        frdrh::Per,
3758        Frdrh_SPEC,
3759        crate::common::R,
3760    > {
3761        crate::common::RegisterField::<
3762            3,
3763            0x1,
3764            1,
3765            0,
3766            frdrh::Per,
3767            frdrh::Per,
3768            Frdrh_SPEC,
3769            crate::common::R,
3770        >::from_register(self, 0)
3771    }
3772
3773    #[doc = "Framing Error Flag"]
3774    #[inline(always)]
3775    pub fn fer(
3776        self,
3777    ) -> crate::common::RegisterField<
3778        4,
3779        0x1,
3780        1,
3781        0,
3782        frdrh::Fer,
3783        frdrh::Fer,
3784        Frdrh_SPEC,
3785        crate::common::R,
3786    > {
3787        crate::common::RegisterField::<
3788            4,
3789            0x1,
3790            1,
3791            0,
3792            frdrh::Fer,
3793            frdrh::Fer,
3794            Frdrh_SPEC,
3795            crate::common::R,
3796        >::from_register(self, 0)
3797    }
3798
3799    #[doc = "Overrun Error Flag"]
3800    #[inline(always)]
3801    pub fn orer(
3802        self,
3803    ) -> crate::common::RegisterField<
3804        5,
3805        0x1,
3806        1,
3807        0,
3808        frdrh::Orer,
3809        frdrh::Orer,
3810        Frdrh_SPEC,
3811        crate::common::R,
3812    > {
3813        crate::common::RegisterField::<
3814            5,
3815            0x1,
3816            1,
3817            0,
3818            frdrh::Orer,
3819            frdrh::Orer,
3820            Frdrh_SPEC,
3821            crate::common::R,
3822        >::from_register(self, 0)
3823    }
3824
3825    #[doc = "Receive FIFO Data Full Flag"]
3826    #[inline(always)]
3827    pub fn rdf(
3828        self,
3829    ) -> crate::common::RegisterField<
3830        6,
3831        0x1,
3832        1,
3833        0,
3834        frdrh::Rdf,
3835        frdrh::Rdf,
3836        Frdrh_SPEC,
3837        crate::common::R,
3838    > {
3839        crate::common::RegisterField::<
3840            6,
3841            0x1,
3842            1,
3843            0,
3844            frdrh::Rdf,
3845            frdrh::Rdf,
3846            Frdrh_SPEC,
3847            crate::common::R,
3848        >::from_register(self, 0)
3849    }
3850}
3851impl ::core::default::Default for Frdrh {
3852    #[inline(always)]
3853    fn default() -> Frdrh {
3854        <crate::RegValueT<Frdrh_SPEC> as RegisterValue<_>>::new(0)
3855    }
3856}
3857pub mod frdrh {
3858
3859    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3860    pub struct Mpb_SPEC;
3861    pub type Mpb = crate::EnumBitfieldStruct<u8, Mpb_SPEC>;
3862    impl Mpb {
3863        #[doc = "Data transmission cycle"]
3864        pub const _0: Self = Self::new(0);
3865
3866        #[doc = "ID transmission cycle"]
3867        pub const _1: Self = Self::new(1);
3868    }
3869    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3870    pub struct Dr_SPEC;
3871    pub type Dr = crate::EnumBitfieldStruct<u8, Dr_SPEC>;
3872    impl Dr {
3873        #[doc = "Receiving is in progress, or no received data remains in the FRDRH and FRDRL registers after successfully completed reception"]
3874        pub const _0: Self = Self::new(0);
3875
3876        #[doc = "Next receive data is not received for a period after successfully completed reception"]
3877        pub const _1: Self = Self::new(1);
3878    }
3879    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3880    pub struct Per_SPEC;
3881    pub type Per = crate::EnumBitfieldStruct<u8, Per_SPEC>;
3882    impl Per {
3883        #[doc = "No parity error occurred in the first data of FRDRH and FRDRL"]
3884        pub const _0: Self = Self::new(0);
3885
3886        #[doc = "Parity error occurred in the first data of FRDRH and FRDRL"]
3887        pub const _1: Self = Self::new(1);
3888    }
3889    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3890    pub struct Fer_SPEC;
3891    pub type Fer = crate::EnumBitfieldStruct<u8, Fer_SPEC>;
3892    impl Fer {
3893        #[doc = "No framing error occurred in the first data of FRDRH and FRDRL"]
3894        pub const _0: Self = Self::new(0);
3895
3896        #[doc = "Framing error occurred in the first data of FRDRH and FRDRL"]
3897        pub const _1: Self = Self::new(1);
3898    }
3899    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3900    pub struct Orer_SPEC;
3901    pub type Orer = crate::EnumBitfieldStruct<u8, Orer_SPEC>;
3902    impl Orer {
3903        #[doc = "No overrun error occurred"]
3904        pub const _0: Self = Self::new(0);
3905
3906        #[doc = "Overrun error occurred"]
3907        pub const _1: Self = Self::new(1);
3908    }
3909    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3910    pub struct Rdf_SPEC;
3911    pub type Rdf = crate::EnumBitfieldStruct<u8, Rdf_SPEC>;
3912    impl Rdf {
3913        #[doc = "The amount of receive data written in FRDRH and FRDRL is less than the specified receive triggering number"]
3914        pub const _0: Self = Self::new(0);
3915
3916        #[doc = "The amount of receive data written in FRDRH and FRDRL is equal to or greater than the specified receive triggering number"]
3917        pub const _1: Self = Self::new(1);
3918    }
3919}
3920#[doc(hidden)]
3921#[derive(Copy, Clone, Eq, PartialEq)]
3922pub struct Frdrl_SPEC;
3923impl crate::sealed::RegSpec for Frdrl_SPEC {
3924    type DataType = u8;
3925}
3926
3927#[doc = "Receive FIFO Data Register"]
3928pub type Frdrl = crate::RegValueT<Frdrl_SPEC>;
3929
3930impl Frdrl {
3931    #[doc = "Serial receive data"]
3932    #[inline(always)]
3933    pub fn rdat(
3934        self,
3935    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Frdrl_SPEC, crate::common::R> {
3936        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Frdrl_SPEC,crate::common::R>::from_register(self,0)
3937    }
3938}
3939impl ::core::default::Default for Frdrl {
3940    #[inline(always)]
3941    fn default() -> Frdrl {
3942        <crate::RegValueT<Frdrl_SPEC> as RegisterValue<_>>::new(0)
3943    }
3944}
3945
3946#[doc(hidden)]
3947#[derive(Copy, Clone, Eq, PartialEq)]
3948pub struct Mddr_SPEC;
3949impl crate::sealed::RegSpec for Mddr_SPEC {
3950    type DataType = u8;
3951}
3952
3953#[doc = "Modulation Duty Register"]
3954pub type Mddr = crate::RegValueT<Mddr_SPEC>;
3955
3956impl NoBitfieldReg<Mddr_SPEC> for Mddr {}
3957impl ::core::default::Default for Mddr {
3958    #[inline(always)]
3959    fn default() -> Mddr {
3960        <crate::RegValueT<Mddr_SPEC> as RegisterValue<_>>::new(255)
3961    }
3962}
3963
3964#[doc(hidden)]
3965#[derive(Copy, Clone, Eq, PartialEq)]
3966pub struct Dccr_SPEC;
3967impl crate::sealed::RegSpec for Dccr_SPEC {
3968    type DataType = u8;
3969}
3970
3971#[doc = "Data Compare Match Control Register"]
3972pub type Dccr = crate::RegValueT<Dccr_SPEC>;
3973
3974impl Dccr {
3975    #[doc = "Data Compare Match Flag"]
3976    #[inline(always)]
3977    pub fn dcmf(
3978        self,
3979    ) -> crate::common::RegisterField<
3980        0,
3981        0x1,
3982        1,
3983        0,
3984        dccr::Dcmf,
3985        dccr::Dcmf,
3986        Dccr_SPEC,
3987        crate::common::RW,
3988    > {
3989        crate::common::RegisterField::<
3990            0,
3991            0x1,
3992            1,
3993            0,
3994            dccr::Dcmf,
3995            dccr::Dcmf,
3996            Dccr_SPEC,
3997            crate::common::RW,
3998        >::from_register(self, 0)
3999    }
4000
4001    #[doc = "Data Compare Match Parity Error Flag"]
4002    #[inline(always)]
4003    pub fn dper(
4004        self,
4005    ) -> crate::common::RegisterField<
4006        3,
4007        0x1,
4008        1,
4009        0,
4010        dccr::Dper,
4011        dccr::Dper,
4012        Dccr_SPEC,
4013        crate::common::RW,
4014    > {
4015        crate::common::RegisterField::<
4016            3,
4017            0x1,
4018            1,
4019            0,
4020            dccr::Dper,
4021            dccr::Dper,
4022            Dccr_SPEC,
4023            crate::common::RW,
4024        >::from_register(self, 0)
4025    }
4026
4027    #[doc = "Data Compare Match Framing Error Flag"]
4028    #[inline(always)]
4029    pub fn dfer(
4030        self,
4031    ) -> crate::common::RegisterField<
4032        4,
4033        0x1,
4034        1,
4035        0,
4036        dccr::Dfer,
4037        dccr::Dfer,
4038        Dccr_SPEC,
4039        crate::common::RW,
4040    > {
4041        crate::common::RegisterField::<
4042            4,
4043            0x1,
4044            1,
4045            0,
4046            dccr::Dfer,
4047            dccr::Dfer,
4048            Dccr_SPEC,
4049            crate::common::RW,
4050        >::from_register(self, 0)
4051    }
4052
4053    #[doc = "ID Frame Select"]
4054    #[inline(always)]
4055    pub fn idsel(
4056        self,
4057    ) -> crate::common::RegisterField<
4058        6,
4059        0x1,
4060        1,
4061        0,
4062        dccr::Idsel,
4063        dccr::Idsel,
4064        Dccr_SPEC,
4065        crate::common::RW,
4066    > {
4067        crate::common::RegisterField::<
4068            6,
4069            0x1,
4070            1,
4071            0,
4072            dccr::Idsel,
4073            dccr::Idsel,
4074            Dccr_SPEC,
4075            crate::common::RW,
4076        >::from_register(self, 0)
4077    }
4078
4079    #[doc = "Data Compare Match Enable"]
4080    #[inline(always)]
4081    pub fn dcme(
4082        self,
4083    ) -> crate::common::RegisterField<
4084        7,
4085        0x1,
4086        1,
4087        0,
4088        dccr::Dcme,
4089        dccr::Dcme,
4090        Dccr_SPEC,
4091        crate::common::RW,
4092    > {
4093        crate::common::RegisterField::<
4094            7,
4095            0x1,
4096            1,
4097            0,
4098            dccr::Dcme,
4099            dccr::Dcme,
4100            Dccr_SPEC,
4101            crate::common::RW,
4102        >::from_register(self, 0)
4103    }
4104}
4105impl ::core::default::Default for Dccr {
4106    #[inline(always)]
4107    fn default() -> Dccr {
4108        <crate::RegValueT<Dccr_SPEC> as RegisterValue<_>>::new(64)
4109    }
4110}
4111pub mod dccr {
4112
4113    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4114    pub struct Dcmf_SPEC;
4115    pub type Dcmf = crate::EnumBitfieldStruct<u8, Dcmf_SPEC>;
4116    impl Dcmf {
4117        #[doc = "Not matched"]
4118        pub const _0: Self = Self::new(0);
4119
4120        #[doc = "Matched"]
4121        pub const _1: Self = Self::new(1);
4122    }
4123    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4124    pub struct Dper_SPEC;
4125    pub type Dper = crate::EnumBitfieldStruct<u8, Dper_SPEC>;
4126    impl Dper {
4127        #[doc = "No parity error occurred"]
4128        pub const _0: Self = Self::new(0);
4129
4130        #[doc = "Parity error occurred"]
4131        pub const _1: Self = Self::new(1);
4132    }
4133    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4134    pub struct Dfer_SPEC;
4135    pub type Dfer = crate::EnumBitfieldStruct<u8, Dfer_SPEC>;
4136    impl Dfer {
4137        #[doc = "No framing error occurred"]
4138        pub const _0: Self = Self::new(0);
4139
4140        #[doc = "Framing error occurred"]
4141        pub const _1: Self = Self::new(1);
4142    }
4143    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4144    pub struct Idsel_SPEC;
4145    pub type Idsel = crate::EnumBitfieldStruct<u8, Idsel_SPEC>;
4146    impl Idsel {
4147        #[doc = "Always compare data regardless of the MPB bit value"]
4148        pub const _0: Self = Self::new(0);
4149
4150        #[doc = "Only compare data when MPB bit = 1 (ID frame)"]
4151        pub const _1: Self = Self::new(1);
4152    }
4153    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4154    pub struct Dcme_SPEC;
4155    pub type Dcme = crate::EnumBitfieldStruct<u8, Dcme_SPEC>;
4156    impl Dcme {
4157        #[doc = "Disable address match function"]
4158        pub const _0: Self = Self::new(0);
4159
4160        #[doc = "Enable address match function"]
4161        pub const _1: Self = Self::new(1);
4162    }
4163}
4164#[doc(hidden)]
4165#[derive(Copy, Clone, Eq, PartialEq)]
4166pub struct Fcr_SPEC;
4167impl crate::sealed::RegSpec for Fcr_SPEC {
4168    type DataType = u16;
4169}
4170
4171#[doc = "FIFO Control Register"]
4172pub type Fcr = crate::RegValueT<Fcr_SPEC>;
4173
4174impl Fcr {
4175    #[doc = "FIFO Mode Select"]
4176    #[inline(always)]
4177    pub fn fm(
4178        self,
4179    ) -> crate::common::RegisterField<0, 0x1, 1, 0, fcr::Fm, fcr::Fm, Fcr_SPEC, crate::common::RW>
4180    {
4181        crate::common::RegisterField::<0,0x1,1,0,fcr::Fm,fcr::Fm,Fcr_SPEC,crate::common::RW>::from_register(self,0)
4182    }
4183
4184    #[doc = "Receive FIFO Data Register Reset"]
4185    #[inline(always)]
4186    pub fn rfrst(
4187        self,
4188    ) -> crate::common::RegisterField<
4189        1,
4190        0x1,
4191        1,
4192        0,
4193        fcr::Rfrst,
4194        fcr::Rfrst,
4195        Fcr_SPEC,
4196        crate::common::RW,
4197    > {
4198        crate::common::RegisterField::<
4199            1,
4200            0x1,
4201            1,
4202            0,
4203            fcr::Rfrst,
4204            fcr::Rfrst,
4205            Fcr_SPEC,
4206            crate::common::RW,
4207        >::from_register(self, 0)
4208    }
4209
4210    #[doc = "Transmit FIFO Data Register Reset"]
4211    #[inline(always)]
4212    pub fn tfrst(
4213        self,
4214    ) -> crate::common::RegisterField<
4215        2,
4216        0x1,
4217        1,
4218        0,
4219        fcr::Tfrst,
4220        fcr::Tfrst,
4221        Fcr_SPEC,
4222        crate::common::RW,
4223    > {
4224        crate::common::RegisterField::<
4225            2,
4226            0x1,
4227            1,
4228            0,
4229            fcr::Tfrst,
4230            fcr::Tfrst,
4231            Fcr_SPEC,
4232            crate::common::RW,
4233        >::from_register(self, 0)
4234    }
4235
4236    #[doc = "Receive Data Ready Error Select"]
4237    #[inline(always)]
4238    pub fn dres(
4239        self,
4240    ) -> crate::common::RegisterField<3, 0x1, 1, 0, fcr::Dres, fcr::Dres, Fcr_SPEC, crate::common::RW>
4241    {
4242        crate::common::RegisterField::<
4243            3,
4244            0x1,
4245            1,
4246            0,
4247            fcr::Dres,
4248            fcr::Dres,
4249            Fcr_SPEC,
4250            crate::common::RW,
4251        >::from_register(self, 0)
4252    }
4253
4254    #[doc = "Transmit FIFO Data Trigger Number"]
4255    #[inline(always)]
4256    pub fn ttrg(
4257        self,
4258    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, Fcr_SPEC, crate::common::RW> {
4259        crate::common::RegisterField::<4,0xf,1,0,u8,u8,Fcr_SPEC,crate::common::RW>::from_register(self,0)
4260    }
4261
4262    #[doc = "Receive FIFO Data Trigger Number"]
4263    #[inline(always)]
4264    pub fn rtrg(
4265        self,
4266    ) -> crate::common::RegisterField<8, 0xf, 1, 0, u8, u8, Fcr_SPEC, crate::common::RW> {
4267        crate::common::RegisterField::<8,0xf,1,0,u8,u8,Fcr_SPEC,crate::common::RW>::from_register(self,0)
4268    }
4269
4270    #[doc = "RTS Output Active Trigger Number Select"]
4271    #[inline(always)]
4272    pub fn rstrg(
4273        self,
4274    ) -> crate::common::RegisterField<12, 0xf, 1, 0, u8, u8, Fcr_SPEC, crate::common::RW> {
4275        crate::common::RegisterField::<12,0xf,1,0,u8,u8,Fcr_SPEC,crate::common::RW>::from_register(self,0)
4276    }
4277}
4278impl ::core::default::Default for Fcr {
4279    #[inline(always)]
4280    fn default() -> Fcr {
4281        <crate::RegValueT<Fcr_SPEC> as RegisterValue<_>>::new(63488)
4282    }
4283}
4284pub mod fcr {
4285
4286    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4287    pub struct Fm_SPEC;
4288    pub type Fm = crate::EnumBitfieldStruct<u8, Fm_SPEC>;
4289    impl Fm {
4290        #[doc = "Non-FIFO mode. Selects TDR/RDR or TDRHL/RDRHL for communication."]
4291        pub const _0: Self = Self::new(0);
4292
4293        #[doc = "FIFO mode. Selects FTDRHL/FRDRHL for communication."]
4294        pub const _1: Self = Self::new(1);
4295    }
4296    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4297    pub struct Rfrst_SPEC;
4298    pub type Rfrst = crate::EnumBitfieldStruct<u8, Rfrst_SPEC>;
4299    impl Rfrst {
4300        #[doc = "Do not reset FRDRHL"]
4301        pub const _0: Self = Self::new(0);
4302
4303        #[doc = "Reset FRDRHL"]
4304        pub const _1: Self = Self::new(1);
4305    }
4306    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4307    pub struct Tfrst_SPEC;
4308    pub type Tfrst = crate::EnumBitfieldStruct<u8, Tfrst_SPEC>;
4309    impl Tfrst {
4310        #[doc = "Do not reset FTDRHL"]
4311        pub const _0: Self = Self::new(0);
4312
4313        #[doc = "Reset FTDRHL"]
4314        pub const _1: Self = Self::new(1);
4315    }
4316    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4317    pub struct Dres_SPEC;
4318    pub type Dres = crate::EnumBitfieldStruct<u8, Dres_SPEC>;
4319    impl Dres {
4320        #[doc = "Receive data full interrupt (SCIn_RXI)"]
4321        pub const _0: Self = Self::new(0);
4322
4323        #[doc = "Receive error interrupt (SCIn_ERI)"]
4324        pub const _1: Self = Self::new(1);
4325    }
4326}
4327#[doc(hidden)]
4328#[derive(Copy, Clone, Eq, PartialEq)]
4329pub struct Fdr_SPEC;
4330impl crate::sealed::RegSpec for Fdr_SPEC {
4331    type DataType = u16;
4332}
4333
4334#[doc = "FIFO Data Count Register"]
4335pub type Fdr = crate::RegValueT<Fdr_SPEC>;
4336
4337impl Fdr {
4338    #[doc = "Receive FIFO Data Count"]
4339    #[inline(always)]
4340    pub fn r(
4341        self,
4342    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, Fdr_SPEC, crate::common::R> {
4343        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,Fdr_SPEC,crate::common::R>::from_register(self,0)
4344    }
4345
4346    #[doc = "Transmit FIFO Data Count"]
4347    #[inline(always)]
4348    pub fn t(
4349        self,
4350    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, Fdr_SPEC, crate::common::R> {
4351        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,Fdr_SPEC,crate::common::R>::from_register(self,0)
4352    }
4353}
4354impl ::core::default::Default for Fdr {
4355    #[inline(always)]
4356    fn default() -> Fdr {
4357        <crate::RegValueT<Fdr_SPEC> as RegisterValue<_>>::new(0)
4358    }
4359}
4360
4361#[doc(hidden)]
4362#[derive(Copy, Clone, Eq, PartialEq)]
4363pub struct Lsr_SPEC;
4364impl crate::sealed::RegSpec for Lsr_SPEC {
4365    type DataType = u16;
4366}
4367
4368#[doc = "Line Status Register"]
4369pub type Lsr = crate::RegValueT<Lsr_SPEC>;
4370
4371impl Lsr {
4372    #[doc = "Overrun Error Flag"]
4373    #[inline(always)]
4374    pub fn orer(
4375        self,
4376    ) -> crate::common::RegisterField<0, 0x1, 1, 0, lsr::Orer, lsr::Orer, Lsr_SPEC, crate::common::R>
4377    {
4378        crate::common::RegisterField::<0,0x1,1,0,lsr::Orer,lsr::Orer,Lsr_SPEC,crate::common::R>::from_register(self,0)
4379    }
4380
4381    #[doc = "Framing Error Count"]
4382    #[inline(always)]
4383    pub fn fnum(
4384        self,
4385    ) -> crate::common::RegisterField<2, 0x1f, 1, 0, u8, u8, Lsr_SPEC, crate::common::R> {
4386        crate::common::RegisterField::<2,0x1f,1,0,u8,u8,Lsr_SPEC,crate::common::R>::from_register(self,0)
4387    }
4388
4389    #[doc = "Parity Error Count"]
4390    #[inline(always)]
4391    pub fn pnum(
4392        self,
4393    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, Lsr_SPEC, crate::common::R> {
4394        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,Lsr_SPEC,crate::common::R>::from_register(self,0)
4395    }
4396}
4397impl ::core::default::Default for Lsr {
4398    #[inline(always)]
4399    fn default() -> Lsr {
4400        <crate::RegValueT<Lsr_SPEC> as RegisterValue<_>>::new(0)
4401    }
4402}
4403pub mod lsr {
4404
4405    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4406    pub struct Orer_SPEC;
4407    pub type Orer = crate::EnumBitfieldStruct<u8, Orer_SPEC>;
4408    impl Orer {
4409        #[doc = "No overrun error occurred"]
4410        pub const _0: Self = Self::new(0);
4411
4412        #[doc = "Overrun error occurred"]
4413        pub const _1: Self = Self::new(1);
4414    }
4415}
4416#[doc(hidden)]
4417#[derive(Copy, Clone, Eq, PartialEq)]
4418pub struct Cdr_SPEC;
4419impl crate::sealed::RegSpec for Cdr_SPEC {
4420    type DataType = u16;
4421}
4422
4423#[doc = "Compare Match Data Register"]
4424pub type Cdr = crate::RegValueT<Cdr_SPEC>;
4425
4426impl Cdr {
4427    #[doc = "Compare Match Data"]
4428    #[inline(always)]
4429    pub fn cmpd(
4430        self,
4431    ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Cdr_SPEC, crate::common::RW> {
4432        crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Cdr_SPEC,crate::common::RW>::from_register(self,0)
4433    }
4434}
4435impl ::core::default::Default for Cdr {
4436    #[inline(always)]
4437    fn default() -> Cdr {
4438        <crate::RegValueT<Cdr_SPEC> as RegisterValue<_>>::new(0)
4439    }
4440}
4441
4442#[doc(hidden)]
4443#[derive(Copy, Clone, Eq, PartialEq)]
4444pub struct Sptr_SPEC;
4445impl crate::sealed::RegSpec for Sptr_SPEC {
4446    type DataType = u8;
4447}
4448
4449#[doc = "Serial Port Register"]
4450pub type Sptr = crate::RegValueT<Sptr_SPEC>;
4451
4452impl Sptr {
4453    #[doc = "Serial Input Data Monitor"]
4454    #[inline(always)]
4455    pub fn rxdmon(self) -> crate::common::RegisterFieldBool<0, 1, 0, Sptr_SPEC, crate::common::R> {
4456        crate::common::RegisterFieldBool::<0, 1, 0, Sptr_SPEC, crate::common::R>::from_register(
4457            self, 0,
4458        )
4459    }
4460
4461    #[doc = "Serial Port Break Data Select"]
4462    #[inline(always)]
4463    pub fn spb2dt(self) -> crate::common::RegisterFieldBool<1, 1, 0, Sptr_SPEC, crate::common::RW> {
4464        crate::common::RegisterFieldBool::<1, 1, 0, Sptr_SPEC, crate::common::RW>::from_register(
4465            self, 0,
4466        )
4467    }
4468
4469    #[doc = "Serial Port Break I/O"]
4470    #[inline(always)]
4471    pub fn spb2io(
4472        self,
4473    ) -> crate::common::RegisterField<
4474        2,
4475        0x1,
4476        1,
4477        0,
4478        sptr::Spb2Io,
4479        sptr::Spb2Io,
4480        Sptr_SPEC,
4481        crate::common::RW,
4482    > {
4483        crate::common::RegisterField::<
4484            2,
4485            0x1,
4486            1,
4487            0,
4488            sptr::Spb2Io,
4489            sptr::Spb2Io,
4490            Sptr_SPEC,
4491            crate::common::RW,
4492        >::from_register(self, 0)
4493    }
4494
4495    #[doc = "RXD invert bit"]
4496    #[inline(always)]
4497    pub fn rinv(
4498        self,
4499    ) -> crate::common::RegisterField<
4500        4,
4501        0x1,
4502        1,
4503        0,
4504        sptr::Rinv,
4505        sptr::Rinv,
4506        Sptr_SPEC,
4507        crate::common::RW,
4508    > {
4509        crate::common::RegisterField::<
4510            4,
4511            0x1,
4512            1,
4513            0,
4514            sptr::Rinv,
4515            sptr::Rinv,
4516            Sptr_SPEC,
4517            crate::common::RW,
4518        >::from_register(self, 0)
4519    }
4520
4521    #[doc = "TXD invert bit"]
4522    #[inline(always)]
4523    pub fn tinv(
4524        self,
4525    ) -> crate::common::RegisterField<
4526        5,
4527        0x1,
4528        1,
4529        0,
4530        sptr::Tinv,
4531        sptr::Tinv,
4532        Sptr_SPEC,
4533        crate::common::RW,
4534    > {
4535        crate::common::RegisterField::<
4536            5,
4537            0x1,
4538            1,
4539            0,
4540            sptr::Tinv,
4541            sptr::Tinv,
4542            Sptr_SPEC,
4543            crate::common::RW,
4544        >::from_register(self, 0)
4545    }
4546
4547    #[doc = "Adjust receive sampling timing enable"]
4548    #[inline(always)]
4549    pub fn asen(
4550        self,
4551    ) -> crate::common::RegisterField<
4552        6,
4553        0x1,
4554        1,
4555        0,
4556        sptr::Asen,
4557        sptr::Asen,
4558        Sptr_SPEC,
4559        crate::common::RW,
4560    > {
4561        crate::common::RegisterField::<
4562            6,
4563            0x1,
4564            1,
4565            0,
4566            sptr::Asen,
4567            sptr::Asen,
4568            Sptr_SPEC,
4569            crate::common::RW,
4570        >::from_register(self, 0)
4571    }
4572
4573    #[doc = "Adjust transmit timing enable"]
4574    #[inline(always)]
4575    pub fn aten(
4576        self,
4577    ) -> crate::common::RegisterField<
4578        7,
4579        0x1,
4580        1,
4581        0,
4582        sptr::Aten,
4583        sptr::Aten,
4584        Sptr_SPEC,
4585        crate::common::RW,
4586    > {
4587        crate::common::RegisterField::<
4588            7,
4589            0x1,
4590            1,
4591            0,
4592            sptr::Aten,
4593            sptr::Aten,
4594            Sptr_SPEC,
4595            crate::common::RW,
4596        >::from_register(self, 0)
4597    }
4598}
4599impl ::core::default::Default for Sptr {
4600    #[inline(always)]
4601    fn default() -> Sptr {
4602        <crate::RegValueT<Sptr_SPEC> as RegisterValue<_>>::new(3)
4603    }
4604}
4605pub mod sptr {
4606
4607    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4608    pub struct Spb2Io_SPEC;
4609    pub type Spb2Io = crate::EnumBitfieldStruct<u8, Spb2Io_SPEC>;
4610    impl Spb2Io {
4611        #[doc = "Do not output value of SPB2DT bit on TXDn pin"]
4612        pub const _0: Self = Self::new(0);
4613
4614        #[doc = "Output value of SPB2DT bit on TXDn pin"]
4615        pub const _1: Self = Self::new(1);
4616    }
4617    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4618    pub struct Rinv_SPEC;
4619    pub type Rinv = crate::EnumBitfieldStruct<u8, Rinv_SPEC>;
4620    impl Rinv {
4621        #[doc = "Received data from RXDn is not inverted and input."]
4622        pub const _0: Self = Self::new(0);
4623
4624        #[doc = "Received data from RXDn is inverted and input."]
4625        pub const _1: Self = Self::new(1);
4626    }
4627    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4628    pub struct Tinv_SPEC;
4629    pub type Tinv = crate::EnumBitfieldStruct<u8, Tinv_SPEC>;
4630    impl Tinv {
4631        #[doc = "Transmit data is not inverted and output to TXDn."]
4632        pub const _0: Self = Self::new(0);
4633
4634        #[doc = "Transmit data is inverted and output to TXDn."]
4635        pub const _1: Self = Self::new(1);
4636    }
4637    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4638    pub struct Asen_SPEC;
4639    pub type Asen = crate::EnumBitfieldStruct<u8, Asen_SPEC>;
4640    impl Asen {
4641        #[doc = "Adjust sampling timing disable."]
4642        pub const _0: Self = Self::new(0);
4643
4644        #[doc = "Adjust sampling timing enable."]
4645        pub const _1: Self = Self::new(1);
4646    }
4647    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4648    pub struct Aten_SPEC;
4649    pub type Aten = crate::EnumBitfieldStruct<u8, Aten_SPEC>;
4650    impl Aten {
4651        #[doc = "Adjust transmit timing disable."]
4652        pub const _0: Self = Self::new(0);
4653
4654        #[doc = "Adjust transmit timing enable."]
4655        pub const _1: Self = Self::new(1);
4656    }
4657}
4658#[doc(hidden)]
4659#[derive(Copy, Clone, Eq, PartialEq)]
4660pub struct Actr_SPEC;
4661impl crate::sealed::RegSpec for Actr_SPEC {
4662    type DataType = u8;
4663}
4664
4665#[doc = "Adjustment Communication Timing Register"]
4666pub type Actr = crate::RegValueT<Actr_SPEC>;
4667
4668impl Actr {
4669    #[doc = "Adjustment value for receive Sampling Timing"]
4670    #[inline(always)]
4671    pub fn ast(
4672        self,
4673    ) -> crate::common::RegisterField<0, 0x7, 1, 0, u8, u8, Actr_SPEC, crate::common::RW> {
4674        crate::common::RegisterField::<0,0x7,1,0,u8,u8,Actr_SPEC,crate::common::RW>::from_register(self,0)
4675    }
4676
4677    #[doc = "Adjustment Direction for receive sampling timing"]
4678    #[inline(always)]
4679    pub fn ajd(
4680        self,
4681    ) -> crate::common::RegisterField<
4682        3,
4683        0x1,
4684        1,
4685        0,
4686        actr::Ajd,
4687        actr::Ajd,
4688        Actr_SPEC,
4689        crate::common::RW,
4690    > {
4691        crate::common::RegisterField::<
4692            3,
4693            0x1,
4694            1,
4695            0,
4696            actr::Ajd,
4697            actr::Ajd,
4698            Actr_SPEC,
4699            crate::common::RW,
4700        >::from_register(self, 0)
4701    }
4702
4703    #[doc = "Adjustment value for Transmit timing"]
4704    #[inline(always)]
4705    pub fn att(
4706        self,
4707    ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, u8, Actr_SPEC, crate::common::RW> {
4708        crate::common::RegisterField::<4,0x7,1,0,u8,u8,Actr_SPEC,crate::common::RW>::from_register(self,0)
4709    }
4710
4711    #[doc = "Adjustment edge for transmit timing"]
4712    #[inline(always)]
4713    pub fn aet(
4714        self,
4715    ) -> crate::common::RegisterField<
4716        7,
4717        0x1,
4718        1,
4719        0,
4720        actr::Aet,
4721        actr::Aet,
4722        Actr_SPEC,
4723        crate::common::RW,
4724    > {
4725        crate::common::RegisterField::<
4726            7,
4727            0x1,
4728            1,
4729            0,
4730            actr::Aet,
4731            actr::Aet,
4732            Actr_SPEC,
4733            crate::common::RW,
4734        >::from_register(self, 0)
4735    }
4736}
4737impl ::core::default::Default for Actr {
4738    #[inline(always)]
4739    fn default() -> Actr {
4740        <crate::RegValueT<Actr_SPEC> as RegisterValue<_>>::new(0)
4741    }
4742}
4743pub mod actr {
4744
4745    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4746    pub struct Ajd_SPEC;
4747    pub type Ajd = crate::EnumBitfieldStruct<u8, Ajd_SPEC>;
4748    impl Ajd {
4749        #[doc = "The sampling timing is adjusted backward to the middle of bit."]
4750        pub const _0: Self = Self::new(0);
4751
4752        #[doc = "The sampling timing is adjusted forward to the middle of bit."]
4753        pub const _1: Self = Self::new(1);
4754    }
4755    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4756    pub struct Aet_SPEC;
4757    pub type Aet = crate::EnumBitfieldStruct<u8, Aet_SPEC>;
4758    impl Aet {
4759        #[doc = "Adjust the rising edge timing."]
4760        pub const _0: Self = Self::new(0);
4761
4762        #[doc = "Adjust the falling edge timing."]
4763        pub const _1: Self = Self::new(1);
4764    }
4765}