ra6e1_pac/
sci0.rs

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