Skip to main content

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