Skip to main content

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