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