ra6e1_pac/
sci2.rs

1/*
2DISCLAIMER
3This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
4No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
5applicable laws, including copyright laws.
6THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
7OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
9LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
10INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
11ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
12Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
13of this software. By using this software, you agree to the additional terms and conditions found by accessing the
14following link:
15http://www.renesas.com/disclaimer
16
17*/
18// Generated from SVD 1.20.00, with svd2pac 0.6.0 on Thu, 24 Jul 2025 04:50:30 +0000
19
20#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"Serial Communication Interface 2"]
28unsafe impl ::core::marker::Send for super::Sci2 {}
29unsafe impl ::core::marker::Sync for super::Sci2 {}
30impl super::Sci2 {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36
37    #[doc = "Serial Mode Register for Non-Smart Card Interface Mode (SCMR.SMIF = 0)"]
38    #[inline(always)]
39    pub const fn smr(&self) -> &'static crate::common::Reg<self::Smr_SPEC, crate::common::RW> {
40        unsafe {
41            crate::common::Reg::<self::Smr_SPEC, crate::common::RW>::from_ptr(
42                self._svd2pac_as_ptr().add(0usize),
43            )
44        }
45    }
46
47    #[doc = "Serial Mode Register for Smart Card Interface Mode (SCMR.SMIF = 1)"]
48    #[inline(always)]
49    pub const fn smr_smci(
50        &self,
51    ) -> &'static crate::common::Reg<self::SmrSmci_SPEC, crate::common::RW> {
52        unsafe {
53            crate::common::Reg::<self::SmrSmci_SPEC, crate::common::RW>::from_ptr(
54                self._svd2pac_as_ptr().add(0usize),
55            )
56        }
57    }
58
59    #[doc = "Bit Rate Register"]
60    #[inline(always)]
61    pub const fn brr(&self) -> &'static crate::common::Reg<self::Brr_SPEC, crate::common::RW> {
62        unsafe {
63            crate::common::Reg::<self::Brr_SPEC, crate::common::RW>::from_ptr(
64                self._svd2pac_as_ptr().add(1usize),
65            )
66        }
67    }
68
69    #[doc = "Serial Control Register for Non-Smart Card Interface Mode (SCMR.SMIF = 0)"]
70    #[inline(always)]
71    pub const fn scr(&self) -> &'static crate::common::Reg<self::Scr_SPEC, crate::common::RW> {
72        unsafe {
73            crate::common::Reg::<self::Scr_SPEC, crate::common::RW>::from_ptr(
74                self._svd2pac_as_ptr().add(2usize),
75            )
76        }
77    }
78
79    #[doc = "Serial Control Register for Smart Card Interface Mode (SCMR.SMIF = 1)"]
80    #[inline(always)]
81    pub const fn scr_smci(
82        &self,
83    ) -> &'static crate::common::Reg<self::ScrSmci_SPEC, crate::common::RW> {
84        unsafe {
85            crate::common::Reg::<self::ScrSmci_SPEC, crate::common::RW>::from_ptr(
86                self._svd2pac_as_ptr().add(2usize),
87            )
88        }
89    }
90
91    #[doc = "Transmit Data Register"]
92    #[inline(always)]
93    pub const fn tdr(&self) -> &'static crate::common::Reg<self::Tdr_SPEC, crate::common::RW> {
94        unsafe {
95            crate::common::Reg::<self::Tdr_SPEC, crate::common::RW>::from_ptr(
96                self._svd2pac_as_ptr().add(3usize),
97            )
98        }
99    }
100
101    #[doc = "Serial Status Register for Non-Smart Card Interface and Non-FIFO Mode (SCMR.SMIF = 0, FCR.FM = 0, and MMR.MANEN = 0)"]
102    #[inline(always)]
103    pub const fn ssr(&self) -> &'static crate::common::Reg<self::Ssr_SPEC, crate::common::RW> {
104        unsafe {
105            crate::common::Reg::<self::Ssr_SPEC, crate::common::RW>::from_ptr(
106                self._svd2pac_as_ptr().add(4usize),
107            )
108        }
109    }
110
111    #[doc = "Serial Status Register for Non-Smart Card Interface and FIFO Mode (SCMR.SMIF = 0, FCR.FM = 1, and MMR.MANEN = 0)"]
112    #[inline(always)]
113    pub const fn ssr_fifo(
114        &self,
115    ) -> &'static crate::common::Reg<self::SsrFifo_SPEC, crate::common::RW> {
116        unsafe {
117            crate::common::Reg::<self::SsrFifo_SPEC, crate::common::RW>::from_ptr(
118                self._svd2pac_as_ptr().add(4usize),
119            )
120        }
121    }
122
123    #[doc = "Serial Status Register for Manchester Mode (SCMR.SMIF = 0, and MMR.MANEN = 1)"]
124    #[inline(always)]
125    pub const fn ssr_manc(
126        &self,
127    ) -> &'static crate::common::Reg<self::SsrManc_SPEC, crate::common::RW> {
128        unsafe {
129            crate::common::Reg::<self::SsrManc_SPEC, crate::common::RW>::from_ptr(
130                self._svd2pac_as_ptr().add(4usize),
131            )
132        }
133    }
134
135    #[doc = "Serial Status Register for Smart Card Interface Mode (SCMR.SMIF = 1, and MMR.MANEN = 0)"]
136    #[inline(always)]
137    pub const fn ssr_smci(
138        &self,
139    ) -> &'static crate::common::Reg<self::SsrSmci_SPEC, crate::common::RW> {
140        unsafe {
141            crate::common::Reg::<self::SsrSmci_SPEC, crate::common::RW>::from_ptr(
142                self._svd2pac_as_ptr().add(4usize),
143            )
144        }
145    }
146
147    #[doc = "Receive Data Register"]
148    #[inline(always)]
149    pub const fn rdr(&self) -> &'static crate::common::Reg<self::Rdr_SPEC, crate::common::R> {
150        unsafe {
151            crate::common::Reg::<self::Rdr_SPEC, crate::common::R>::from_ptr(
152                self._svd2pac_as_ptr().add(5usize),
153            )
154        }
155    }
156
157    #[doc = "Smart Card Mode Register"]
158    #[inline(always)]
159    pub const fn scmr(&self) -> &'static crate::common::Reg<self::Scmr_SPEC, crate::common::RW> {
160        unsafe {
161            crate::common::Reg::<self::Scmr_SPEC, crate::common::RW>::from_ptr(
162                self._svd2pac_as_ptr().add(6usize),
163            )
164        }
165    }
166
167    #[doc = "Serial Extended Mode Register"]
168    #[inline(always)]
169    pub const fn semr(&self) -> &'static crate::common::Reg<self::Semr_SPEC, crate::common::RW> {
170        unsafe {
171            crate::common::Reg::<self::Semr_SPEC, crate::common::RW>::from_ptr(
172                self._svd2pac_as_ptr().add(7usize),
173            )
174        }
175    }
176
177    #[doc = "Noise Filter Setting Register"]
178    #[inline(always)]
179    pub const fn snfr(&self) -> &'static crate::common::Reg<self::Snfr_SPEC, crate::common::RW> {
180        unsafe {
181            crate::common::Reg::<self::Snfr_SPEC, crate::common::RW>::from_ptr(
182                self._svd2pac_as_ptr().add(8usize),
183            )
184        }
185    }
186
187    #[doc = "IIC Mode Register 1"]
188    #[inline(always)]
189    pub const fn simr1(&self) -> &'static crate::common::Reg<self::Simr1_SPEC, crate::common::RW> {
190        unsafe {
191            crate::common::Reg::<self::Simr1_SPEC, crate::common::RW>::from_ptr(
192                self._svd2pac_as_ptr().add(9usize),
193            )
194        }
195    }
196
197    #[doc = "IIC Mode Register 2"]
198    #[inline(always)]
199    pub const fn simr2(&self) -> &'static crate::common::Reg<self::Simr2_SPEC, crate::common::RW> {
200        unsafe {
201            crate::common::Reg::<self::Simr2_SPEC, crate::common::RW>::from_ptr(
202                self._svd2pac_as_ptr().add(10usize),
203            )
204        }
205    }
206
207    #[doc = "IIC Mode Register 3"]
208    #[inline(always)]
209    pub const fn simr3(&self) -> &'static crate::common::Reg<self::Simr3_SPEC, crate::common::RW> {
210        unsafe {
211            crate::common::Reg::<self::Simr3_SPEC, crate::common::RW>::from_ptr(
212                self._svd2pac_as_ptr().add(11usize),
213            )
214        }
215    }
216
217    #[doc = "IIC Status Register"]
218    #[inline(always)]
219    pub const fn sisr(&self) -> &'static crate::common::Reg<self::Sisr_SPEC, crate::common::R> {
220        unsafe {
221            crate::common::Reg::<self::Sisr_SPEC, crate::common::R>::from_ptr(
222                self._svd2pac_as_ptr().add(12usize),
223            )
224        }
225    }
226
227    #[doc = "SPI Mode Register"]
228    #[inline(always)]
229    pub const fn spmr(&self) -> &'static crate::common::Reg<self::Spmr_SPEC, crate::common::RW> {
230        unsafe {
231            crate::common::Reg::<self::Spmr_SPEC, crate::common::RW>::from_ptr(
232                self._svd2pac_as_ptr().add(13usize),
233            )
234        }
235    }
236
237    #[doc = "Transmit FIFO Data Register"]
238    #[inline(always)]
239    pub const fn ftdrhl(&self) -> &'static crate::common::Reg<self::Ftdrhl_SPEC, crate::common::W> {
240        unsafe {
241            crate::common::Reg::<self::Ftdrhl_SPEC, crate::common::W>::from_ptr(
242                self._svd2pac_as_ptr().add(14usize),
243            )
244        }
245    }
246
247    #[doc = "Transmit Data Register for Non-Manchester mode (MMR.MANEN = 0)"]
248    #[inline(always)]
249    pub const fn tdrhl(&self) -> &'static crate::common::Reg<self::Tdrhl_SPEC, crate::common::RW> {
250        unsafe {
251            crate::common::Reg::<self::Tdrhl_SPEC, crate::common::RW>::from_ptr(
252                self._svd2pac_as_ptr().add(14usize),
253            )
254        }
255    }
256
257    #[doc = "Transmit FIFO Data Register"]
258    #[inline(always)]
259    pub const fn ftdrh(&self) -> &'static crate::common::Reg<self::Ftdrh_SPEC, crate::common::W> {
260        unsafe {
261            crate::common::Reg::<self::Ftdrh_SPEC, crate::common::W>::from_ptr(
262                self._svd2pac_as_ptr().add(14usize),
263            )
264        }
265    }
266
267    #[doc = "Transmit FIFO Data Register"]
268    #[inline(always)]
269    pub const fn ftdrl(&self) -> &'static crate::common::Reg<self::Ftdrl_SPEC, crate::common::W> {
270        unsafe {
271            crate::common::Reg::<self::Ftdrl_SPEC, crate::common::W>::from_ptr(
272                self._svd2pac_as_ptr().add(15usize),
273            )
274        }
275    }
276
277    #[doc = "Receive FIFO Data Register"]
278    #[inline(always)]
279    pub const fn frdrhl(&self) -> &'static crate::common::Reg<self::Frdrhl_SPEC, crate::common::R> {
280        unsafe {
281            crate::common::Reg::<self::Frdrhl_SPEC, crate::common::R>::from_ptr(
282                self._svd2pac_as_ptr().add(16usize),
283            )
284        }
285    }
286
287    #[doc = "Receive Data Register for Non-Manchester mode (MMR.MANEN = 0)"]
288    #[inline(always)]
289    pub const fn rdrhl(&self) -> &'static crate::common::Reg<self::Rdrhl_SPEC, crate::common::R> {
290        unsafe {
291            crate::common::Reg::<self::Rdrhl_SPEC, crate::common::R>::from_ptr(
292                self._svd2pac_as_ptr().add(16usize),
293            )
294        }
295    }
296
297    #[doc = "Receive FIFO Data Register"]
298    #[inline(always)]
299    pub const fn frdrh(&self) -> &'static crate::common::Reg<self::Frdrh_SPEC, crate::common::R> {
300        unsafe {
301            crate::common::Reg::<self::Frdrh_SPEC, crate::common::R>::from_ptr(
302                self._svd2pac_as_ptr().add(16usize),
303            )
304        }
305    }
306
307    #[doc = "Receive FIFO Data Register"]
308    #[inline(always)]
309    pub const fn frdrl(&self) -> &'static crate::common::Reg<self::Frdrl_SPEC, crate::common::R> {
310        unsafe {
311            crate::common::Reg::<self::Frdrl_SPEC, crate::common::R>::from_ptr(
312                self._svd2pac_as_ptr().add(17usize),
313            )
314        }
315    }
316
317    #[doc = "Modulation Duty Register"]
318    #[inline(always)]
319    pub const fn mddr(&self) -> &'static crate::common::Reg<self::Mddr_SPEC, crate::common::RW> {
320        unsafe {
321            crate::common::Reg::<self::Mddr_SPEC, crate::common::RW>::from_ptr(
322                self._svd2pac_as_ptr().add(18usize),
323            )
324        }
325    }
326
327    #[doc = "Data Compare Match Control Register"]
328    #[inline(always)]
329    pub const fn dccr(&self) -> &'static crate::common::Reg<self::Dccr_SPEC, crate::common::RW> {
330        unsafe {
331            crate::common::Reg::<self::Dccr_SPEC, crate::common::RW>::from_ptr(
332                self._svd2pac_as_ptr().add(19usize),
333            )
334        }
335    }
336
337    #[doc = "FIFO Control Register"]
338    #[inline(always)]
339    pub const fn fcr(&self) -> &'static crate::common::Reg<self::Fcr_SPEC, crate::common::RW> {
340        unsafe {
341            crate::common::Reg::<self::Fcr_SPEC, crate::common::RW>::from_ptr(
342                self._svd2pac_as_ptr().add(20usize),
343            )
344        }
345    }
346
347    #[doc = "FIFO Data Count Register"]
348    #[inline(always)]
349    pub const fn fdr(&self) -> &'static crate::common::Reg<self::Fdr_SPEC, crate::common::R> {
350        unsafe {
351            crate::common::Reg::<self::Fdr_SPEC, crate::common::R>::from_ptr(
352                self._svd2pac_as_ptr().add(22usize),
353            )
354        }
355    }
356
357    #[doc = "Line Status Register"]
358    #[inline(always)]
359    pub const fn lsr(&self) -> &'static crate::common::Reg<self::Lsr_SPEC, crate::common::R> {
360        unsafe {
361            crate::common::Reg::<self::Lsr_SPEC, crate::common::R>::from_ptr(
362                self._svd2pac_as_ptr().add(24usize),
363            )
364        }
365    }
366
367    #[doc = "Compare Match Data Register"]
368    #[inline(always)]
369    pub const fn cdr(&self) -> &'static crate::common::Reg<self::Cdr_SPEC, crate::common::RW> {
370        unsafe {
371            crate::common::Reg::<self::Cdr_SPEC, crate::common::RW>::from_ptr(
372                self._svd2pac_as_ptr().add(26usize),
373            )
374        }
375    }
376
377    #[doc = "Serial Port Register"]
378    #[inline(always)]
379    pub const fn sptr(&self) -> &'static crate::common::Reg<self::Sptr_SPEC, crate::common::RW> {
380        unsafe {
381            crate::common::Reg::<self::Sptr_SPEC, crate::common::RW>::from_ptr(
382                self._svd2pac_as_ptr().add(28usize),
383            )
384        }
385    }
386
387    #[doc = "Adjustment Communication Timing Register"]
388    #[inline(always)]
389    pub const fn actr(&self) -> &'static crate::common::Reg<self::Actr_SPEC, crate::common::RW> {
390        unsafe {
391            crate::common::Reg::<self::Actr_SPEC, crate::common::RW>::from_ptr(
392                self._svd2pac_as_ptr().add(29usize),
393            )
394        }
395    }
396
397    #[doc = "Extended Serial Module Enable Register"]
398    #[inline(always)]
399    pub const fn esmer(&self) -> &'static crate::common::Reg<self::Esmer_SPEC, crate::common::RW> {
400        unsafe {
401            crate::common::Reg::<self::Esmer_SPEC, crate::common::RW>::from_ptr(
402                self._svd2pac_as_ptr().add(32usize),
403            )
404        }
405    }
406
407    #[doc = "Manchester Mode Register"]
408    #[inline(always)]
409    pub const fn mmr(&self) -> &'static crate::common::Reg<self::Mmr_SPEC, crate::common::RW> {
410        unsafe {
411            crate::common::Reg::<self::Mmr_SPEC, crate::common::RW>::from_ptr(
412                self._svd2pac_as_ptr().add(32usize),
413            )
414        }
415    }
416
417    #[doc = "Control Register 0"]
418    #[inline(always)]
419    pub const fn cr0(&self) -> &'static crate::common::Reg<self::Cr0_SPEC, crate::common::RW> {
420        unsafe {
421            crate::common::Reg::<self::Cr0_SPEC, crate::common::RW>::from_ptr(
422                self._svd2pac_as_ptr().add(33usize),
423            )
424        }
425    }
426
427    #[doc = "Control Register 1"]
428    #[inline(always)]
429    pub const fn cr1(&self) -> &'static crate::common::Reg<self::Cr1_SPEC, crate::common::RW> {
430        unsafe {
431            crate::common::Reg::<self::Cr1_SPEC, crate::common::RW>::from_ptr(
432                self._svd2pac_as_ptr().add(34usize),
433            )
434        }
435    }
436
437    #[doc = "Transmit Manchester Preface Setting Register"]
438    #[inline(always)]
439    pub const fn tmpr(&self) -> &'static crate::common::Reg<self::Tmpr_SPEC, crate::common::RW> {
440        unsafe {
441            crate::common::Reg::<self::Tmpr_SPEC, crate::common::RW>::from_ptr(
442                self._svd2pac_as_ptr().add(34usize),
443            )
444        }
445    }
446
447    #[doc = "Control Register 2"]
448    #[inline(always)]
449    pub const fn cr2(&self) -> &'static crate::common::Reg<self::Cr2_SPEC, crate::common::RW> {
450        unsafe {
451            crate::common::Reg::<self::Cr2_SPEC, crate::common::RW>::from_ptr(
452                self._svd2pac_as_ptr().add(35usize),
453            )
454        }
455    }
456
457    #[doc = "Receive Manchester Preface Setting Register"]
458    #[inline(always)]
459    pub const fn rmpr(&self) -> &'static crate::common::Reg<self::Rmpr_SPEC, crate::common::RW> {
460        unsafe {
461            crate::common::Reg::<self::Rmpr_SPEC, crate::common::RW>::from_ptr(
462                self._svd2pac_as_ptr().add(35usize),
463            )
464        }
465    }
466
467    #[doc = "Control Register 3"]
468    #[inline(always)]
469    pub const fn cr3(&self) -> &'static crate::common::Reg<self::Cr3_SPEC, crate::common::RW> {
470        unsafe {
471            crate::common::Reg::<self::Cr3_SPEC, crate::common::RW>::from_ptr(
472                self._svd2pac_as_ptr().add(36usize),
473            )
474        }
475    }
476
477    #[doc = "Manchester Extended Error Status Register"]
478    #[inline(always)]
479    pub const fn mesr(&self) -> &'static crate::common::Reg<self::Mesr_SPEC, crate::common::RW> {
480        unsafe {
481            crate::common::Reg::<self::Mesr_SPEC, crate::common::RW>::from_ptr(
482                self._svd2pac_as_ptr().add(36usize),
483            )
484        }
485    }
486
487    #[doc = "Manchester Extended Error Control Register"]
488    #[inline(always)]
489    pub const fn mecr(&self) -> &'static crate::common::Reg<self::Mecr_SPEC, crate::common::RW> {
490        unsafe {
491            crate::common::Reg::<self::Mecr_SPEC, crate::common::RW>::from_ptr(
492                self._svd2pac_as_ptr().add(37usize),
493            )
494        }
495    }
496
497    #[doc = "Port Control Register"]
498    #[inline(always)]
499    pub const fn pcr(&self) -> &'static crate::common::Reg<self::Pcr_SPEC, crate::common::RW> {
500        unsafe {
501            crate::common::Reg::<self::Pcr_SPEC, crate::common::RW>::from_ptr(
502                self._svd2pac_as_ptr().add(37usize),
503            )
504        }
505    }
506
507    #[doc = "Interrupt Control Register"]
508    #[inline(always)]
509    pub const fn icr(&self) -> &'static crate::common::Reg<self::Icr_SPEC, crate::common::RW> {
510        unsafe {
511            crate::common::Reg::<self::Icr_SPEC, crate::common::RW>::from_ptr(
512                self._svd2pac_as_ptr().add(38usize),
513            )
514        }
515    }
516
517    #[doc = "Status Register"]
518    #[inline(always)]
519    pub const fn str(&self) -> &'static crate::common::Reg<self::Str_SPEC, crate::common::R> {
520        unsafe {
521            crate::common::Reg::<self::Str_SPEC, crate::common::R>::from_ptr(
522                self._svd2pac_as_ptr().add(39usize),
523            )
524        }
525    }
526
527    #[doc = "Status Clear Register"]
528    #[inline(always)]
529    pub const fn stcr(&self) -> &'static crate::common::Reg<self::Stcr_SPEC, crate::common::RW> {
530        unsafe {
531            crate::common::Reg::<self::Stcr_SPEC, crate::common::RW>::from_ptr(
532                self._svd2pac_as_ptr().add(40usize),
533            )
534        }
535    }
536
537    #[doc = "Control Field 0 Data Register"]
538    #[inline(always)]
539    pub const fn cf0dr(&self) -> &'static crate::common::Reg<self::Cf0Dr_SPEC, crate::common::RW> {
540        unsafe {
541            crate::common::Reg::<self::Cf0Dr_SPEC, crate::common::RW>::from_ptr(
542                self._svd2pac_as_ptr().add(41usize),
543            )
544        }
545    }
546
547    #[doc = "Control Field 0 Compare Enable Register"]
548    #[inline(always)]
549    pub const fn cf0cr(&self) -> &'static crate::common::Reg<self::Cf0Cr_SPEC, crate::common::RW> {
550        unsafe {
551            crate::common::Reg::<self::Cf0Cr_SPEC, crate::common::RW>::from_ptr(
552                self._svd2pac_as_ptr().add(42usize),
553            )
554        }
555    }
556
557    #[doc = "Control Field 0 Receive Data Register"]
558    #[inline(always)]
559    pub const fn cf0rr(&self) -> &'static crate::common::Reg<self::Cf0Rr_SPEC, crate::common::RW> {
560        unsafe {
561            crate::common::Reg::<self::Cf0Rr_SPEC, crate::common::RW>::from_ptr(
562                self._svd2pac_as_ptr().add(43usize),
563            )
564        }
565    }
566
567    #[doc = "Primary Control Field 1 Data Register"]
568    #[inline(always)]
569    pub const fn pcf1dr(
570        &self,
571    ) -> &'static crate::common::Reg<self::Pcf1Dr_SPEC, crate::common::RW> {
572        unsafe {
573            crate::common::Reg::<self::Pcf1Dr_SPEC, crate::common::RW>::from_ptr(
574                self._svd2pac_as_ptr().add(44usize),
575            )
576        }
577    }
578
579    #[doc = "Secondary Control Field 1 Data Register"]
580    #[inline(always)]
581    pub const fn scf1dr(
582        &self,
583    ) -> &'static crate::common::Reg<self::Scf1Dr_SPEC, crate::common::RW> {
584        unsafe {
585            crate::common::Reg::<self::Scf1Dr_SPEC, crate::common::RW>::from_ptr(
586                self._svd2pac_as_ptr().add(45usize),
587            )
588        }
589    }
590
591    #[doc = "Control Field 1 Compare Enable Register"]
592    #[inline(always)]
593    pub const fn cf1cr(&self) -> &'static crate::common::Reg<self::Cf1Cr_SPEC, crate::common::RW> {
594        unsafe {
595            crate::common::Reg::<self::Cf1Cr_SPEC, crate::common::RW>::from_ptr(
596                self._svd2pac_as_ptr().add(46usize),
597            )
598        }
599    }
600
601    #[doc = "Control Field 1 Receive Data Register"]
602    #[inline(always)]
603    pub const fn cf1rr(&self) -> &'static crate::common::Reg<self::Cf1Rr_SPEC, crate::common::RW> {
604        unsafe {
605            crate::common::Reg::<self::Cf1Rr_SPEC, crate::common::RW>::from_ptr(
606                self._svd2pac_as_ptr().add(47usize),
607            )
608        }
609    }
610
611    #[doc = "Timer Control Register"]
612    #[inline(always)]
613    pub const fn tcr(&self) -> &'static crate::common::Reg<self::Tcr_SPEC, crate::common::RW> {
614        unsafe {
615            crate::common::Reg::<self::Tcr_SPEC, crate::common::RW>::from_ptr(
616                self._svd2pac_as_ptr().add(48usize),
617            )
618        }
619    }
620
621    #[doc = "Timer Mode Register"]
622    #[inline(always)]
623    pub const fn tmr(&self) -> &'static crate::common::Reg<self::Tmr_SPEC, crate::common::RW> {
624        unsafe {
625            crate::common::Reg::<self::Tmr_SPEC, crate::common::RW>::from_ptr(
626                self._svd2pac_as_ptr().add(49usize),
627            )
628        }
629    }
630
631    #[doc = "Timer Prescaler Register"]
632    #[inline(always)]
633    pub const fn tpre(&self) -> &'static crate::common::Reg<self::Tpre_SPEC, crate::common::RW> {
634        unsafe {
635            crate::common::Reg::<self::Tpre_SPEC, crate::common::RW>::from_ptr(
636                self._svd2pac_as_ptr().add(50usize),
637            )
638        }
639    }
640
641    #[doc = "Timer Count Register"]
642    #[inline(always)]
643    pub const fn tcnt(&self) -> &'static crate::common::Reg<self::Tcnt_SPEC, crate::common::RW> {
644        unsafe {
645            crate::common::Reg::<self::Tcnt_SPEC, crate::common::RW>::from_ptr(
646                self._svd2pac_as_ptr().add(51usize),
647            )
648        }
649    }
650}
651#[doc(hidden)]
652#[derive(Copy, Clone, Eq, PartialEq)]
653pub struct Smr_SPEC;
654impl crate::sealed::RegSpec for Smr_SPEC {
655    type DataType = u8;
656}
657
658#[doc = "Serial Mode Register for Non-Smart Card Interface Mode (SCMR.SMIF = 0)"]
659pub type Smr = crate::RegValueT<Smr_SPEC>;
660
661impl Smr {
662    #[doc = "Clock Select"]
663    #[inline(always)]
664    pub fn cks(
665        self,
666    ) -> crate::common::RegisterField<0, 0x3, 1, 0, smr::Cks, smr::Cks, Smr_SPEC, crate::common::RW>
667    {
668        crate::common::RegisterField::<0,0x3,1,0,smr::Cks,smr::Cks,Smr_SPEC,crate::common::RW>::from_register(self,0)
669    }
670
671    #[doc = "Multi-Processor Mode"]
672    #[inline(always)]
673    pub fn mp(
674        self,
675    ) -> crate::common::RegisterField<2, 0x1, 1, 0, smr::Mp, smr::Mp, Smr_SPEC, crate::common::RW>
676    {
677        crate::common::RegisterField::<2,0x1,1,0,smr::Mp,smr::Mp,Smr_SPEC,crate::common::RW>::from_register(self,0)
678    }
679
680    #[doc = "Stop Bit Length"]
681    #[inline(always)]
682    pub fn stop(
683        self,
684    ) -> crate::common::RegisterField<3, 0x1, 1, 0, smr::Stop, smr::Stop, Smr_SPEC, crate::common::RW>
685    {
686        crate::common::RegisterField::<
687            3,
688            0x1,
689            1,
690            0,
691            smr::Stop,
692            smr::Stop,
693            Smr_SPEC,
694            crate::common::RW,
695        >::from_register(self, 0)
696    }
697
698    #[doc = "Parity Mode"]
699    #[inline(always)]
700    pub fn pm(
701        self,
702    ) -> crate::common::RegisterField<4, 0x1, 1, 0, smr::Pm, smr::Pm, Smr_SPEC, crate::common::RW>
703    {
704        crate::common::RegisterField::<4,0x1,1,0,smr::Pm,smr::Pm,Smr_SPEC,crate::common::RW>::from_register(self,0)
705    }
706
707    #[doc = "Parity Enable"]
708    #[inline(always)]
709    pub fn pe(
710        self,
711    ) -> crate::common::RegisterField<5, 0x1, 1, 0, smr::Pe, smr::Pe, Smr_SPEC, crate::common::RW>
712    {
713        crate::common::RegisterField::<5,0x1,1,0,smr::Pe,smr::Pe,Smr_SPEC,crate::common::RW>::from_register(self,0)
714    }
715
716    #[doc = "Character Length"]
717    #[inline(always)]
718    pub fn chr(
719        self,
720    ) -> crate::common::RegisterField<6, 0x1, 1, 0, smr::Chr, smr::Chr, Smr_SPEC, crate::common::RW>
721    {
722        crate::common::RegisterField::<6,0x1,1,0,smr::Chr,smr::Chr,Smr_SPEC,crate::common::RW>::from_register(self,0)
723    }
724
725    #[doc = "Communication Mode"]
726    #[inline(always)]
727    pub fn cm(
728        self,
729    ) -> crate::common::RegisterField<7, 0x1, 1, 0, smr::Cm, smr::Cm, Smr_SPEC, crate::common::RW>
730    {
731        crate::common::RegisterField::<7,0x1,1,0,smr::Cm,smr::Cm,Smr_SPEC,crate::common::RW>::from_register(self,0)
732    }
733}
734impl ::core::default::Default for Smr {
735    #[inline(always)]
736    fn default() -> Smr {
737        <crate::RegValueT<Smr_SPEC> as RegisterValue<_>>::new(0)
738    }
739}
740pub mod smr {
741
742    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
743    pub struct Cks_SPEC;
744    pub type Cks = crate::EnumBitfieldStruct<u8, Cks_SPEC>;
745    impl Cks {
746        #[doc = "PCLK clock (n = 0)"]
747        pub const _00: Self = Self::new(0);
748
749        #[doc = "PCLK/4 clock (n = 1)"]
750        pub const _01: Self = Self::new(1);
751
752        #[doc = "PCLK/16 clock (n = 2)"]
753        pub const _10: Self = Self::new(2);
754
755        #[doc = "PCLK/64 clock (n = 3)"]
756        pub const _11: Self = Self::new(3);
757    }
758    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
759    pub struct Mp_SPEC;
760    pub type Mp = crate::EnumBitfieldStruct<u8, Mp_SPEC>;
761    impl Mp {
762        #[doc = "Disable multi-processor communications function"]
763        pub const _0: Self = Self::new(0);
764
765        #[doc = "Enable multi-processor communications function"]
766        pub const _1: Self = Self::new(1);
767    }
768    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
769    pub struct Stop_SPEC;
770    pub type Stop = crate::EnumBitfieldStruct<u8, Stop_SPEC>;
771    impl Stop {
772        #[doc = "1 stop bit"]
773        pub const _0: Self = Self::new(0);
774
775        #[doc = "2 stop bits"]
776        pub const _1: Self = Self::new(1);
777    }
778    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
779    pub struct Pm_SPEC;
780    pub type Pm = crate::EnumBitfieldStruct<u8, Pm_SPEC>;
781    impl Pm {
782        #[doc = "Even parity"]
783        pub const _0: Self = Self::new(0);
784
785        #[doc = "Odd parity"]
786        pub const _1: Self = Self::new(1);
787    }
788    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
789    pub struct Pe_SPEC;
790    pub type Pe = crate::EnumBitfieldStruct<u8, Pe_SPEC>;
791    impl Pe {
792        #[doc = "When transmitting: Do not add parity bit When receiving: Do not check parity bit"]
793        pub const _0: Self = Self::new(0);
794
795        #[doc = "When transmitting: Add parity bit When receiving: Check parity bit"]
796        pub const _1: Self = Self::new(1);
797    }
798    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
799    pub struct Chr_SPEC;
800    pub type Chr = crate::EnumBitfieldStruct<u8, Chr_SPEC>;
801    impl Chr {
802        #[doc = "SCMR.CHR1 = 0: Transmit/receive in 9-bit data length SCMR.CHR1 = 1: Transmit/receive in 8-bit data length (initial value)"]
803        pub const _0: Self = Self::new(0);
804
805        #[doc = "SCMR.CHR1 = 0: Transmit/receive in 9-bit data length SCMR.CHR1 = 1: Transmit/receive in 7-bit data length"]
806        pub const _1: Self = Self::new(1);
807    }
808    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
809    pub struct Cm_SPEC;
810    pub type Cm = crate::EnumBitfieldStruct<u8, Cm_SPEC>;
811    impl Cm {
812        #[doc = "Asynchronous mode or simple IIC mode"]
813        pub const _0: Self = Self::new(0);
814
815        #[doc = "Clock synchronous mode or simple SPI mode"]
816        pub const _1: Self = Self::new(1);
817    }
818}
819#[doc(hidden)]
820#[derive(Copy, Clone, Eq, PartialEq)]
821pub struct SmrSmci_SPEC;
822impl crate::sealed::RegSpec for SmrSmci_SPEC {
823    type DataType = u8;
824}
825
826#[doc = "Serial Mode Register for Smart Card Interface Mode (SCMR.SMIF = 1)"]
827pub type SmrSmci = crate::RegValueT<SmrSmci_SPEC>;
828
829impl SmrSmci {
830    #[doc = "Clock Select"]
831    #[inline(always)]
832    pub fn cks(
833        self,
834    ) -> crate::common::RegisterField<
835        0,
836        0x3,
837        1,
838        0,
839        smr_smci::Cks,
840        smr_smci::Cks,
841        SmrSmci_SPEC,
842        crate::common::RW,
843    > {
844        crate::common::RegisterField::<
845            0,
846            0x3,
847            1,
848            0,
849            smr_smci::Cks,
850            smr_smci::Cks,
851            SmrSmci_SPEC,
852            crate::common::RW,
853        >::from_register(self, 0)
854    }
855
856    #[doc = "Base Clock Pulse"]
857    #[inline(always)]
858    pub fn bcp(
859        self,
860    ) -> crate::common::RegisterField<2, 0x3, 1, 0, u8, u8, SmrSmci_SPEC, crate::common::RW> {
861        crate::common::RegisterField::<2,0x3,1,0,u8,u8,SmrSmci_SPEC,crate::common::RW>::from_register(self,0)
862    }
863
864    #[doc = "Parity Mode"]
865    #[inline(always)]
866    pub fn pm(
867        self,
868    ) -> crate::common::RegisterField<
869        4,
870        0x1,
871        1,
872        0,
873        smr_smci::Pm,
874        smr_smci::Pm,
875        SmrSmci_SPEC,
876        crate::common::RW,
877    > {
878        crate::common::RegisterField::<
879            4,
880            0x1,
881            1,
882            0,
883            smr_smci::Pm,
884            smr_smci::Pm,
885            SmrSmci_SPEC,
886            crate::common::RW,
887        >::from_register(self, 0)
888    }
889
890    #[doc = "Parity Enable"]
891    #[inline(always)]
892    pub fn pe(self) -> crate::common::RegisterFieldBool<5, 1, 0, SmrSmci_SPEC, crate::common::RW> {
893        crate::common::RegisterFieldBool::<5, 1, 0, SmrSmci_SPEC, crate::common::RW>::from_register(
894            self, 0,
895        )
896    }
897
898    #[doc = "Block Transfer Mode"]
899    #[inline(always)]
900    pub fn blk(
901        self,
902    ) -> crate::common::RegisterField<
903        6,
904        0x1,
905        1,
906        0,
907        smr_smci::Blk,
908        smr_smci::Blk,
909        SmrSmci_SPEC,
910        crate::common::RW,
911    > {
912        crate::common::RegisterField::<
913            6,
914            0x1,
915            1,
916            0,
917            smr_smci::Blk,
918            smr_smci::Blk,
919            SmrSmci_SPEC,
920            crate::common::RW,
921        >::from_register(self, 0)
922    }
923
924    #[doc = "GSM Mode"]
925    #[inline(always)]
926    pub fn gm(
927        self,
928    ) -> crate::common::RegisterField<
929        7,
930        0x1,
931        1,
932        0,
933        smr_smci::Gm,
934        smr_smci::Gm,
935        SmrSmci_SPEC,
936        crate::common::RW,
937    > {
938        crate::common::RegisterField::<
939            7,
940            0x1,
941            1,
942            0,
943            smr_smci::Gm,
944            smr_smci::Gm,
945            SmrSmci_SPEC,
946            crate::common::RW,
947        >::from_register(self, 0)
948    }
949}
950impl ::core::default::Default for SmrSmci {
951    #[inline(always)]
952    fn default() -> SmrSmci {
953        <crate::RegValueT<SmrSmci_SPEC> as RegisterValue<_>>::new(0)
954    }
955}
956pub mod smr_smci {
957
958    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
959    pub struct Cks_SPEC;
960    pub type Cks = crate::EnumBitfieldStruct<u8, Cks_SPEC>;
961    impl Cks {
962        #[doc = "PCLK clock (n = 0)"]
963        pub const _00: Self = Self::new(0);
964
965        #[doc = "PCLK/4 clock (n = 1)"]
966        pub const _01: Self = Self::new(1);
967
968        #[doc = "PCLK/16 clock (n = 2)"]
969        pub const _10: Self = Self::new(2);
970
971        #[doc = "PCLK/64 clock (n = 3)"]
972        pub const _11: Self = Self::new(3);
973    }
974    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
975    pub struct Pm_SPEC;
976    pub type Pm = crate::EnumBitfieldStruct<u8, Pm_SPEC>;
977    impl Pm {
978        #[doc = "Even parity"]
979        pub const _0: Self = Self::new(0);
980
981        #[doc = "Odd parity"]
982        pub const _1: Self = Self::new(1);
983    }
984    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
985    pub struct Blk_SPEC;
986    pub type Blk = crate::EnumBitfieldStruct<u8, Blk_SPEC>;
987    impl Blk {
988        #[doc = "Normal mode operation"]
989        pub const _0: Self = Self::new(0);
990
991        #[doc = "Block transfer mode operation"]
992        pub const _1: Self = Self::new(1);
993    }
994    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
995    pub struct Gm_SPEC;
996    pub type Gm = crate::EnumBitfieldStruct<u8, Gm_SPEC>;
997    impl Gm {
998        #[doc = "Normal mode operation"]
999        pub const _0: Self = Self::new(0);
1000
1001        #[doc = "GSM mode operation"]
1002        pub const _1: Self = Self::new(1);
1003    }
1004}
1005#[doc(hidden)]
1006#[derive(Copy, Clone, Eq, PartialEq)]
1007pub struct Brr_SPEC;
1008impl crate::sealed::RegSpec for Brr_SPEC {
1009    type DataType = u8;
1010}
1011
1012#[doc = "Bit Rate Register"]
1013pub type Brr = crate::RegValueT<Brr_SPEC>;
1014
1015impl NoBitfieldReg<Brr_SPEC> for Brr {}
1016impl ::core::default::Default for Brr {
1017    #[inline(always)]
1018    fn default() -> Brr {
1019        <crate::RegValueT<Brr_SPEC> as RegisterValue<_>>::new(255)
1020    }
1021}
1022
1023#[doc(hidden)]
1024#[derive(Copy, Clone, Eq, PartialEq)]
1025pub struct Scr_SPEC;
1026impl crate::sealed::RegSpec for Scr_SPEC {
1027    type DataType = u8;
1028}
1029
1030#[doc = "Serial Control Register for Non-Smart Card Interface Mode (SCMR.SMIF = 0)"]
1031pub type Scr = crate::RegValueT<Scr_SPEC>;
1032
1033impl Scr {
1034    #[doc = "Clock Enable"]
1035    #[inline(always)]
1036    pub fn cke(
1037        self,
1038    ) -> crate::common::RegisterField<0, 0x3, 1, 0, scr::Cke, scr::Cke, Scr_SPEC, crate::common::RW>
1039    {
1040        crate::common::RegisterField::<0,0x3,1,0,scr::Cke,scr::Cke,Scr_SPEC,crate::common::RW>::from_register(self,0)
1041    }
1042
1043    #[doc = "Transmit End Interrupt Enable"]
1044    #[inline(always)]
1045    pub fn teie(
1046        self,
1047    ) -> crate::common::RegisterField<2, 0x1, 1, 0, scr::Teie, scr::Teie, Scr_SPEC, crate::common::RW>
1048    {
1049        crate::common::RegisterField::<
1050            2,
1051            0x1,
1052            1,
1053            0,
1054            scr::Teie,
1055            scr::Teie,
1056            Scr_SPEC,
1057            crate::common::RW,
1058        >::from_register(self, 0)
1059    }
1060
1061    #[doc = "Multi-Processor Interrupt Enable"]
1062    #[inline(always)]
1063    pub fn mpie(
1064        self,
1065    ) -> crate::common::RegisterField<3, 0x1, 1, 0, scr::Mpie, scr::Mpie, Scr_SPEC, crate::common::RW>
1066    {
1067        crate::common::RegisterField::<
1068            3,
1069            0x1,
1070            1,
1071            0,
1072            scr::Mpie,
1073            scr::Mpie,
1074            Scr_SPEC,
1075            crate::common::RW,
1076        >::from_register(self, 0)
1077    }
1078
1079    #[doc = "Receive Enable"]
1080    #[inline(always)]
1081    pub fn re(
1082        self,
1083    ) -> crate::common::RegisterField<4, 0x1, 1, 0, scr::Re, scr::Re, Scr_SPEC, crate::common::RW>
1084    {
1085        crate::common::RegisterField::<4,0x1,1,0,scr::Re,scr::Re,Scr_SPEC,crate::common::RW>::from_register(self,0)
1086    }
1087
1088    #[doc = "Transmit Enable"]
1089    #[inline(always)]
1090    pub fn te(
1091        self,
1092    ) -> crate::common::RegisterField<5, 0x1, 1, 0, scr::Te, scr::Te, Scr_SPEC, crate::common::RW>
1093    {
1094        crate::common::RegisterField::<5,0x1,1,0,scr::Te,scr::Te,Scr_SPEC,crate::common::RW>::from_register(self,0)
1095    }
1096
1097    #[doc = "Receive Interrupt Enable"]
1098    #[inline(always)]
1099    pub fn rie(
1100        self,
1101    ) -> crate::common::RegisterField<6, 0x1, 1, 0, scr::Rie, scr::Rie, Scr_SPEC, crate::common::RW>
1102    {
1103        crate::common::RegisterField::<6,0x1,1,0,scr::Rie,scr::Rie,Scr_SPEC,crate::common::RW>::from_register(self,0)
1104    }
1105
1106    #[doc = "Transmit Interrupt Enable"]
1107    #[inline(always)]
1108    pub fn tie(
1109        self,
1110    ) -> crate::common::RegisterField<7, 0x1, 1, 0, scr::Tie, scr::Tie, Scr_SPEC, crate::common::RW>
1111    {
1112        crate::common::RegisterField::<7,0x1,1,0,scr::Tie,scr::Tie,Scr_SPEC,crate::common::RW>::from_register(self,0)
1113    }
1114}
1115impl ::core::default::Default for Scr {
1116    #[inline(always)]
1117    fn default() -> Scr {
1118        <crate::RegValueT<Scr_SPEC> as RegisterValue<_>>::new(0)
1119    }
1120}
1121pub mod scr {
1122
1123    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1124    pub struct Cke_SPEC;
1125    pub type Cke = crate::EnumBitfieldStruct<u8, Cke_SPEC>;
1126    impl Cke {
1127        #[doc = "In asynchronous mode, the SCKn pin is available for use as an I/O port based on the I/O port settings. In clock synchronous mode, the SCKn pin functions as the clock output pin."]
1128        pub const _00: Self = Self::new(0);
1129
1130        #[doc = "In asynchronous mode, a clock with the same frequency as the bit rate is output from the SCKn pin. In clock synchronous mode, the SCKn pin functions as the clock output pin."]
1131        pub const _01: Self = Self::new(1);
1132
1133        #[doc = "In asynchronous mode, input a clock with a frequency 16 times the bit rate from the SCKn pin when the SEMR.ABCS bit is 0. Input a clock signal with a frequency eight times the bit rate when the SEMR.ABCS bit is 1. The SCKn pin is available for use as an I/O port based on the I/O port settings when the GPT clock is used. In clock synchronous mode, the SCKn pin functions as the clock input pin."]
1134        pub const OTHERS: Self = Self::new(0);
1135    }
1136    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1137    pub struct Teie_SPEC;
1138    pub type Teie = crate::EnumBitfieldStruct<u8, Teie_SPEC>;
1139    impl Teie {
1140        #[doc = "Disable SCIn_TEI interrupt requests"]
1141        pub const _0: Self = Self::new(0);
1142
1143        #[doc = "Enable SCIn_TEI interrupt requests"]
1144        pub const _1: Self = Self::new(1);
1145    }
1146    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1147    pub struct Mpie_SPEC;
1148    pub type Mpie = crate::EnumBitfieldStruct<u8, Mpie_SPEC>;
1149    impl Mpie {
1150        #[doc = "Normal reception"]
1151        pub const _0: Self = Self::new(0);
1152
1153        #[doc = "When data with the multi-processor bit set to 0 is received, the data is not read, and setting the status flags RDRF, ORER, and FER in SSR to 1 and the status flags SYER, PFER, and SBER in MESR are disabled. When data with the multi-processor bit set to 1 is received, the MPIE bit is automatically set to 0, and normal reception is resumed."]
1154        pub const _1: Self = Self::new(1);
1155    }
1156    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1157    pub struct Re_SPEC;
1158    pub type Re = crate::EnumBitfieldStruct<u8, Re_SPEC>;
1159    impl Re {
1160        #[doc = "Disable serial reception"]
1161        pub const _0: Self = Self::new(0);
1162
1163        #[doc = "Enable serial reception"]
1164        pub const _1: Self = Self::new(1);
1165    }
1166    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1167    pub struct Te_SPEC;
1168    pub type Te = crate::EnumBitfieldStruct<u8, Te_SPEC>;
1169    impl Te {
1170        #[doc = "Disable serial transmission"]
1171        pub const _0: Self = Self::new(0);
1172
1173        #[doc = "Enable serial transmission"]
1174        pub const _1: Self = Self::new(1);
1175    }
1176    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1177    pub struct Rie_SPEC;
1178    pub type Rie = crate::EnumBitfieldStruct<u8, Rie_SPEC>;
1179    impl Rie {
1180        #[doc = "Disable SCIn_RXI and SCIn_ERI interrupt requests"]
1181        pub const _0: Self = Self::new(0);
1182
1183        #[doc = "Enable SCIn_RXI and SCIn_ERI interrupt requests"]
1184        pub const _1: Self = Self::new(1);
1185    }
1186    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1187    pub struct Tie_SPEC;
1188    pub type Tie = crate::EnumBitfieldStruct<u8, Tie_SPEC>;
1189    impl Tie {
1190        #[doc = "Disable SCIn_TXI interrupt requests"]
1191        pub const _0: Self = Self::new(0);
1192
1193        #[doc = "Enable SCIn_TXI interrupt requests"]
1194        pub const _1: Self = Self::new(1);
1195    }
1196}
1197#[doc(hidden)]
1198#[derive(Copy, Clone, Eq, PartialEq)]
1199pub struct ScrSmci_SPEC;
1200impl crate::sealed::RegSpec for ScrSmci_SPEC {
1201    type DataType = u8;
1202}
1203
1204#[doc = "Serial Control Register for Smart Card Interface Mode (SCMR.SMIF = 1)"]
1205pub type ScrSmci = crate::RegValueT<ScrSmci_SPEC>;
1206
1207impl ScrSmci {
1208    #[doc = "Clock Enable"]
1209    #[inline(always)]
1210    pub fn cke(
1211        self,
1212    ) -> crate::common::RegisterField<
1213        0,
1214        0x3,
1215        1,
1216        0,
1217        scr_smci::Cke,
1218        scr_smci::Cke,
1219        ScrSmci_SPEC,
1220        crate::common::RW,
1221    > {
1222        crate::common::RegisterField::<
1223            0,
1224            0x3,
1225            1,
1226            0,
1227            scr_smci::Cke,
1228            scr_smci::Cke,
1229            ScrSmci_SPEC,
1230            crate::common::RW,
1231        >::from_register(self, 0)
1232    }
1233
1234    #[doc = "Transmit End Interrupt Enable"]
1235    #[inline(always)]
1236    pub fn teie(
1237        self,
1238    ) -> crate::common::RegisterFieldBool<2, 1, 0, ScrSmci_SPEC, crate::common::RW> {
1239        crate::common::RegisterFieldBool::<2, 1, 0, ScrSmci_SPEC, crate::common::RW>::from_register(
1240            self, 0,
1241        )
1242    }
1243
1244    #[doc = "Multi-Processor Interrupt Enable"]
1245    #[inline(always)]
1246    pub fn mpie(
1247        self,
1248    ) -> crate::common::RegisterFieldBool<3, 1, 0, ScrSmci_SPEC, crate::common::RW> {
1249        crate::common::RegisterFieldBool::<3, 1, 0, ScrSmci_SPEC, crate::common::RW>::from_register(
1250            self, 0,
1251        )
1252    }
1253
1254    #[doc = "Receive Enable"]
1255    #[inline(always)]
1256    pub fn re(
1257        self,
1258    ) -> crate::common::RegisterField<
1259        4,
1260        0x1,
1261        1,
1262        0,
1263        scr_smci::Re,
1264        scr_smci::Re,
1265        ScrSmci_SPEC,
1266        crate::common::RW,
1267    > {
1268        crate::common::RegisterField::<
1269            4,
1270            0x1,
1271            1,
1272            0,
1273            scr_smci::Re,
1274            scr_smci::Re,
1275            ScrSmci_SPEC,
1276            crate::common::RW,
1277        >::from_register(self, 0)
1278    }
1279
1280    #[doc = "Transmit Enable"]
1281    #[inline(always)]
1282    pub fn te(
1283        self,
1284    ) -> crate::common::RegisterField<
1285        5,
1286        0x1,
1287        1,
1288        0,
1289        scr_smci::Te,
1290        scr_smci::Te,
1291        ScrSmci_SPEC,
1292        crate::common::RW,
1293    > {
1294        crate::common::RegisterField::<
1295            5,
1296            0x1,
1297            1,
1298            0,
1299            scr_smci::Te,
1300            scr_smci::Te,
1301            ScrSmci_SPEC,
1302            crate::common::RW,
1303        >::from_register(self, 0)
1304    }
1305
1306    #[doc = "Receive Interrupt Enable"]
1307    #[inline(always)]
1308    pub fn rie(
1309        self,
1310    ) -> crate::common::RegisterField<
1311        6,
1312        0x1,
1313        1,
1314        0,
1315        scr_smci::Rie,
1316        scr_smci::Rie,
1317        ScrSmci_SPEC,
1318        crate::common::RW,
1319    > {
1320        crate::common::RegisterField::<
1321            6,
1322            0x1,
1323            1,
1324            0,
1325            scr_smci::Rie,
1326            scr_smci::Rie,
1327            ScrSmci_SPEC,
1328            crate::common::RW,
1329        >::from_register(self, 0)
1330    }
1331
1332    #[doc = "Transmit Interrupt Enable"]
1333    #[inline(always)]
1334    pub fn tie(
1335        self,
1336    ) -> crate::common::RegisterField<
1337        7,
1338        0x1,
1339        1,
1340        0,
1341        scr_smci::Tie,
1342        scr_smci::Tie,
1343        ScrSmci_SPEC,
1344        crate::common::RW,
1345    > {
1346        crate::common::RegisterField::<
1347            7,
1348            0x1,
1349            1,
1350            0,
1351            scr_smci::Tie,
1352            scr_smci::Tie,
1353            ScrSmci_SPEC,
1354            crate::common::RW,
1355        >::from_register(self, 0)
1356    }
1357}
1358impl ::core::default::Default for ScrSmci {
1359    #[inline(always)]
1360    fn default() -> ScrSmci {
1361        <crate::RegValueT<ScrSmci_SPEC> as RegisterValue<_>>::new(0)
1362    }
1363}
1364pub mod scr_smci {
1365
1366    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1367    pub struct Cke_SPEC;
1368    pub type Cke = crate::EnumBitfieldStruct<u8, Cke_SPEC>;
1369    impl Cke {
1370        #[doc = "When SMR_SMCI.GM = 0: Disable output The SCKn pin is available for use as an I/O port if set up in the I/O port settings When SMR_SMCI.GM = 1: Fix output low"]
1371        pub const _00: Self = Self::new(0);
1372
1373        #[doc = "When SMR_SMCI.GM = 0: Output clock When SMR_SMCI.GM = 1: Output clock"]
1374        pub const _01: Self = Self::new(1);
1375
1376        #[doc = "When SMR_SMCI.GM = 0: Setting prohibited When SMR_SMCI.GM = 1: Fix output high"]
1377        pub const _10: Self = Self::new(2);
1378
1379        #[doc = "When SMR_SMCI.GM = 0: Setting prohibited When SMR_SMCI.GM = 1: Output clock"]
1380        pub const _11: Self = Self::new(3);
1381    }
1382    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1383    pub struct Re_SPEC;
1384    pub type Re = crate::EnumBitfieldStruct<u8, Re_SPEC>;
1385    impl Re {
1386        #[doc = "Disable serial reception"]
1387        pub const _0: Self = Self::new(0);
1388
1389        #[doc = "Enable serial reception"]
1390        pub const _1: Self = Self::new(1);
1391    }
1392    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1393    pub struct Te_SPEC;
1394    pub type Te = crate::EnumBitfieldStruct<u8, Te_SPEC>;
1395    impl Te {
1396        #[doc = "Disable serial transmission"]
1397        pub const _0: Self = Self::new(0);
1398
1399        #[doc = "Enable serial transmission"]
1400        pub const _1: Self = Self::new(1);
1401    }
1402    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1403    pub struct Rie_SPEC;
1404    pub type Rie = crate::EnumBitfieldStruct<u8, Rie_SPEC>;
1405    impl Rie {
1406        #[doc = "Disable SCIn_RXI and SCIn_ERI interrupt requests"]
1407        pub const _0: Self = Self::new(0);
1408
1409        #[doc = "Enable SCIn_RXI and SCIn_ERI interrupt requests"]
1410        pub const _1: Self = Self::new(1);
1411    }
1412    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1413    pub struct Tie_SPEC;
1414    pub type Tie = crate::EnumBitfieldStruct<u8, Tie_SPEC>;
1415    impl Tie {
1416        #[doc = "Disable SCIn_TXI interrupt requests"]
1417        pub const _0: Self = Self::new(0);
1418
1419        #[doc = "Enable SCIn_TXI interrupt requests"]
1420        pub const _1: Self = Self::new(1);
1421    }
1422}
1423#[doc(hidden)]
1424#[derive(Copy, Clone, Eq, PartialEq)]
1425pub struct Tdr_SPEC;
1426impl crate::sealed::RegSpec for Tdr_SPEC {
1427    type DataType = u8;
1428}
1429
1430#[doc = "Transmit Data Register"]
1431pub type Tdr = crate::RegValueT<Tdr_SPEC>;
1432
1433impl NoBitfieldReg<Tdr_SPEC> for Tdr {}
1434impl ::core::default::Default for Tdr {
1435    #[inline(always)]
1436    fn default() -> Tdr {
1437        <crate::RegValueT<Tdr_SPEC> as RegisterValue<_>>::new(255)
1438    }
1439}
1440
1441#[doc(hidden)]
1442#[derive(Copy, Clone, Eq, PartialEq)]
1443pub struct Ssr_SPEC;
1444impl crate::sealed::RegSpec for Ssr_SPEC {
1445    type DataType = u8;
1446}
1447
1448#[doc = "Serial Status Register for Non-Smart Card Interface and Non-FIFO Mode (SCMR.SMIF = 0, FCR.FM = 0, and MMR.MANEN = 0)"]
1449pub type Ssr = crate::RegValueT<Ssr_SPEC>;
1450
1451impl Ssr {
1452    #[doc = "Multi-Processor Bit Transfer"]
1453    #[inline(always)]
1454    pub fn mpbt(
1455        self,
1456    ) -> crate::common::RegisterField<0, 0x1, 1, 0, ssr::Mpbt, ssr::Mpbt, Ssr_SPEC, crate::common::RW>
1457    {
1458        crate::common::RegisterField::<
1459            0,
1460            0x1,
1461            1,
1462            0,
1463            ssr::Mpbt,
1464            ssr::Mpbt,
1465            Ssr_SPEC,
1466            crate::common::RW,
1467        >::from_register(self, 0)
1468    }
1469
1470    #[doc = "Multi-Processor"]
1471    #[inline(always)]
1472    pub fn mpb(
1473        self,
1474    ) -> crate::common::RegisterField<1, 0x1, 1, 0, ssr::Mpb, ssr::Mpb, Ssr_SPEC, crate::common::R>
1475    {
1476        crate::common::RegisterField::<1,0x1,1,0,ssr::Mpb,ssr::Mpb,Ssr_SPEC,crate::common::R>::from_register(self,0)
1477    }
1478
1479    #[doc = "Transmit End Flag"]
1480    #[inline(always)]
1481    pub fn tend(
1482        self,
1483    ) -> crate::common::RegisterField<2, 0x1, 1, 0, ssr::Tend, ssr::Tend, Ssr_SPEC, crate::common::R>
1484    {
1485        crate::common::RegisterField::<2,0x1,1,0,ssr::Tend,ssr::Tend,Ssr_SPEC,crate::common::R>::from_register(self,0)
1486    }
1487
1488    #[doc = "Parity Error Flag"]
1489    #[inline(always)]
1490    pub fn per(
1491        self,
1492    ) -> crate::common::RegisterField<3, 0x1, 1, 0, ssr::Per, ssr::Per, Ssr_SPEC, crate::common::RW>
1493    {
1494        crate::common::RegisterField::<3,0x1,1,0,ssr::Per,ssr::Per,Ssr_SPEC,crate::common::RW>::from_register(self,0)
1495    }
1496
1497    #[doc = "Framing Error Flag"]
1498    #[inline(always)]
1499    pub fn fer(
1500        self,
1501    ) -> crate::common::RegisterField<4, 0x1, 1, 0, ssr::Fer, ssr::Fer, Ssr_SPEC, crate::common::RW>
1502    {
1503        crate::common::RegisterField::<4,0x1,1,0,ssr::Fer,ssr::Fer,Ssr_SPEC,crate::common::RW>::from_register(self,0)
1504    }
1505
1506    #[doc = "Overrun Error Flag"]
1507    #[inline(always)]
1508    pub fn orer(
1509        self,
1510    ) -> crate::common::RegisterField<5, 0x1, 1, 0, ssr::Orer, ssr::Orer, Ssr_SPEC, crate::common::RW>
1511    {
1512        crate::common::RegisterField::<
1513            5,
1514            0x1,
1515            1,
1516            0,
1517            ssr::Orer,
1518            ssr::Orer,
1519            Ssr_SPEC,
1520            crate::common::RW,
1521        >::from_register(self, 0)
1522    }
1523
1524    #[doc = "Receive Data Full Flag"]
1525    #[inline(always)]
1526    pub fn rdrf(
1527        self,
1528    ) -> crate::common::RegisterField<6, 0x1, 1, 0, ssr::Rdrf, ssr::Rdrf, Ssr_SPEC, crate::common::RW>
1529    {
1530        crate::common::RegisterField::<
1531            6,
1532            0x1,
1533            1,
1534            0,
1535            ssr::Rdrf,
1536            ssr::Rdrf,
1537            Ssr_SPEC,
1538            crate::common::RW,
1539        >::from_register(self, 0)
1540    }
1541
1542    #[doc = "Transmit Data Empty Flag"]
1543    #[inline(always)]
1544    pub fn tdre(
1545        self,
1546    ) -> crate::common::RegisterField<7, 0x1, 1, 0, ssr::Tdre, ssr::Tdre, Ssr_SPEC, crate::common::RW>
1547    {
1548        crate::common::RegisterField::<
1549            7,
1550            0x1,
1551            1,
1552            0,
1553            ssr::Tdre,
1554            ssr::Tdre,
1555            Ssr_SPEC,
1556            crate::common::RW,
1557        >::from_register(self, 0)
1558    }
1559}
1560impl ::core::default::Default for Ssr {
1561    #[inline(always)]
1562    fn default() -> Ssr {
1563        <crate::RegValueT<Ssr_SPEC> as RegisterValue<_>>::new(132)
1564    }
1565}
1566pub mod ssr {
1567
1568    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1569    pub struct Mpbt_SPEC;
1570    pub type Mpbt = crate::EnumBitfieldStruct<u8, Mpbt_SPEC>;
1571    impl Mpbt {
1572        #[doc = "Data transmission cycle"]
1573        pub const _0: Self = Self::new(0);
1574
1575        #[doc = "ID transmission cycle"]
1576        pub const _1: Self = Self::new(1);
1577    }
1578    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1579    pub struct Mpb_SPEC;
1580    pub type Mpb = crate::EnumBitfieldStruct<u8, Mpb_SPEC>;
1581    impl Mpb {
1582        #[doc = "Data transmission cycle"]
1583        pub const _0: Self = Self::new(0);
1584
1585        #[doc = "ID transmission cycle"]
1586        pub const _1: Self = Self::new(1);
1587    }
1588    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1589    pub struct Tend_SPEC;
1590    pub type Tend = crate::EnumBitfieldStruct<u8, Tend_SPEC>;
1591    impl Tend {
1592        #[doc = "A character is being transmitted"]
1593        pub const _0: Self = Self::new(0);
1594
1595        #[doc = "Character transfer is complete"]
1596        pub const _1: Self = Self::new(1);
1597    }
1598    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1599    pub struct Per_SPEC;
1600    pub type Per = crate::EnumBitfieldStruct<u8, Per_SPEC>;
1601    impl Per {
1602        #[doc = "No parity error occurred"]
1603        pub const _0: Self = Self::new(0);
1604
1605        #[doc = "Parity error occurred"]
1606        pub const _1: Self = Self::new(1);
1607    }
1608    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1609    pub struct Fer_SPEC;
1610    pub type Fer = crate::EnumBitfieldStruct<u8, Fer_SPEC>;
1611    impl Fer {
1612        #[doc = "No framing error occurred"]
1613        pub const _0: Self = Self::new(0);
1614
1615        #[doc = "Framing error occurred"]
1616        pub const _1: Self = Self::new(1);
1617    }
1618    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1619    pub struct Orer_SPEC;
1620    pub type Orer = crate::EnumBitfieldStruct<u8, Orer_SPEC>;
1621    impl Orer {
1622        #[doc = "No overrun error occurred"]
1623        pub const _0: Self = Self::new(0);
1624
1625        #[doc = "Overrun error occurred"]
1626        pub const _1: Self = Self::new(1);
1627    }
1628    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1629    pub struct Rdrf_SPEC;
1630    pub type Rdrf = crate::EnumBitfieldStruct<u8, Rdrf_SPEC>;
1631    impl Rdrf {
1632        #[doc = "No received data in RDR register"]
1633        pub const _0: Self = Self::new(0);
1634
1635        #[doc = "Received data in RDR register"]
1636        pub const _1: Self = Self::new(1);
1637    }
1638    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1639    pub struct Tdre_SPEC;
1640    pub type Tdre = crate::EnumBitfieldStruct<u8, Tdre_SPEC>;
1641    impl Tdre {
1642        #[doc = "Transmit data in TDR register"]
1643        pub const _0: Self = Self::new(0);
1644
1645        #[doc = "No transmit data in TDR register"]
1646        pub const _1: Self = Self::new(1);
1647    }
1648}
1649#[doc(hidden)]
1650#[derive(Copy, Clone, Eq, PartialEq)]
1651pub struct SsrFifo_SPEC;
1652impl crate::sealed::RegSpec for SsrFifo_SPEC {
1653    type DataType = u8;
1654}
1655
1656#[doc = "Serial Status Register for Non-Smart Card Interface and FIFO Mode (SCMR.SMIF = 0, FCR.FM = 1, and MMR.MANEN = 0)"]
1657pub type SsrFifo = crate::RegValueT<SsrFifo_SPEC>;
1658
1659impl SsrFifo {
1660    #[doc = "Receive Data Ready Flag"]
1661    #[inline(always)]
1662    pub fn dr(
1663        self,
1664    ) -> crate::common::RegisterField<
1665        0,
1666        0x1,
1667        1,
1668        0,
1669        ssr_fifo::Dr,
1670        ssr_fifo::Dr,
1671        SsrFifo_SPEC,
1672        crate::common::RW,
1673    > {
1674        crate::common::RegisterField::<
1675            0,
1676            0x1,
1677            1,
1678            0,
1679            ssr_fifo::Dr,
1680            ssr_fifo::Dr,
1681            SsrFifo_SPEC,
1682            crate::common::RW,
1683        >::from_register(self, 0)
1684    }
1685
1686    #[doc = "Transmit End Flag"]
1687    #[inline(always)]
1688    pub fn tend(
1689        self,
1690    ) -> crate::common::RegisterField<
1691        2,
1692        0x1,
1693        1,
1694        0,
1695        ssr_fifo::Tend,
1696        ssr_fifo::Tend,
1697        SsrFifo_SPEC,
1698        crate::common::RW,
1699    > {
1700        crate::common::RegisterField::<
1701            2,
1702            0x1,
1703            1,
1704            0,
1705            ssr_fifo::Tend,
1706            ssr_fifo::Tend,
1707            SsrFifo_SPEC,
1708            crate::common::RW,
1709        >::from_register(self, 0)
1710    }
1711
1712    #[doc = "Parity Error Flag"]
1713    #[inline(always)]
1714    pub fn per(
1715        self,
1716    ) -> crate::common::RegisterField<
1717        3,
1718        0x1,
1719        1,
1720        0,
1721        ssr_fifo::Per,
1722        ssr_fifo::Per,
1723        SsrFifo_SPEC,
1724        crate::common::RW,
1725    > {
1726        crate::common::RegisterField::<
1727            3,
1728            0x1,
1729            1,
1730            0,
1731            ssr_fifo::Per,
1732            ssr_fifo::Per,
1733            SsrFifo_SPEC,
1734            crate::common::RW,
1735        >::from_register(self, 0)
1736    }
1737
1738    #[doc = "Framing Error Flag"]
1739    #[inline(always)]
1740    pub fn fer(
1741        self,
1742    ) -> crate::common::RegisterField<
1743        4,
1744        0x1,
1745        1,
1746        0,
1747        ssr_fifo::Fer,
1748        ssr_fifo::Fer,
1749        SsrFifo_SPEC,
1750        crate::common::RW,
1751    > {
1752        crate::common::RegisterField::<
1753            4,
1754            0x1,
1755            1,
1756            0,
1757            ssr_fifo::Fer,
1758            ssr_fifo::Fer,
1759            SsrFifo_SPEC,
1760            crate::common::RW,
1761        >::from_register(self, 0)
1762    }
1763
1764    #[doc = "Overrun Error Flag"]
1765    #[inline(always)]
1766    pub fn orer(
1767        self,
1768    ) -> crate::common::RegisterField<
1769        5,
1770        0x1,
1771        1,
1772        0,
1773        ssr_fifo::Orer,
1774        ssr_fifo::Orer,
1775        SsrFifo_SPEC,
1776        crate::common::RW,
1777    > {
1778        crate::common::RegisterField::<
1779            5,
1780            0x1,
1781            1,
1782            0,
1783            ssr_fifo::Orer,
1784            ssr_fifo::Orer,
1785            SsrFifo_SPEC,
1786            crate::common::RW,
1787        >::from_register(self, 0)
1788    }
1789
1790    #[doc = "Receive FIFO Data Full Flag"]
1791    #[inline(always)]
1792    pub fn rdf(
1793        self,
1794    ) -> crate::common::RegisterField<
1795        6,
1796        0x1,
1797        1,
1798        0,
1799        ssr_fifo::Rdf,
1800        ssr_fifo::Rdf,
1801        SsrFifo_SPEC,
1802        crate::common::RW,
1803    > {
1804        crate::common::RegisterField::<
1805            6,
1806            0x1,
1807            1,
1808            0,
1809            ssr_fifo::Rdf,
1810            ssr_fifo::Rdf,
1811            SsrFifo_SPEC,
1812            crate::common::RW,
1813        >::from_register(self, 0)
1814    }
1815
1816    #[doc = "Transmit FIFO Data Empty Flag"]
1817    #[inline(always)]
1818    pub fn tdfe(
1819        self,
1820    ) -> crate::common::RegisterField<
1821        7,
1822        0x1,
1823        1,
1824        0,
1825        ssr_fifo::Tdfe,
1826        ssr_fifo::Tdfe,
1827        SsrFifo_SPEC,
1828        crate::common::RW,
1829    > {
1830        crate::common::RegisterField::<
1831            7,
1832            0x1,
1833            1,
1834            0,
1835            ssr_fifo::Tdfe,
1836            ssr_fifo::Tdfe,
1837            SsrFifo_SPEC,
1838            crate::common::RW,
1839        >::from_register(self, 0)
1840    }
1841}
1842impl ::core::default::Default for SsrFifo {
1843    #[inline(always)]
1844    fn default() -> SsrFifo {
1845        <crate::RegValueT<SsrFifo_SPEC> as RegisterValue<_>>::new(128)
1846    }
1847}
1848pub mod ssr_fifo {
1849
1850    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1851    pub struct Dr_SPEC;
1852    pub type Dr = crate::EnumBitfieldStruct<u8, Dr_SPEC>;
1853    impl Dr {
1854        #[doc = "Receiving is in progress, or no received data remains in FRDRHL after successfully completed reception (receive FIFO empty)"]
1855        pub const _0: Self = Self::new(0);
1856
1857        #[doc = "Next receive data is not received for a period after normal receiving is complete, when the amount of data stored in the FIFO is equal to or less than the receive triggering number"]
1858        pub const _1: Self = Self::new(1);
1859    }
1860    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1861    pub struct Tend_SPEC;
1862    pub type Tend = crate::EnumBitfieldStruct<u8, Tend_SPEC>;
1863    impl Tend {
1864        #[doc = "A character is being transmitted"]
1865        pub const _0: Self = Self::new(0);
1866
1867        #[doc = "Character transfer is complete"]
1868        pub const _1: Self = Self::new(1);
1869    }
1870    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1871    pub struct Per_SPEC;
1872    pub type Per = crate::EnumBitfieldStruct<u8, Per_SPEC>;
1873    impl Per {
1874        #[doc = "No parity error occurred"]
1875        pub const _0: Self = Self::new(0);
1876
1877        #[doc = "Parity error occurred"]
1878        pub const _1: Self = Self::new(1);
1879    }
1880    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1881    pub struct Fer_SPEC;
1882    pub type Fer = crate::EnumBitfieldStruct<u8, Fer_SPEC>;
1883    impl Fer {
1884        #[doc = "No framing error occurred"]
1885        pub const _0: Self = Self::new(0);
1886
1887        #[doc = "Framing error occurred"]
1888        pub const _1: Self = Self::new(1);
1889    }
1890    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1891    pub struct Orer_SPEC;
1892    pub type Orer = crate::EnumBitfieldStruct<u8, Orer_SPEC>;
1893    impl Orer {
1894        #[doc = "No overrun error occurred"]
1895        pub const _0: Self = Self::new(0);
1896
1897        #[doc = "Overrun error occurred"]
1898        pub const _1: Self = Self::new(1);
1899    }
1900    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1901    pub struct Rdf_SPEC;
1902    pub type Rdf = crate::EnumBitfieldStruct<u8, Rdf_SPEC>;
1903    impl Rdf {
1904        #[doc = "The amount of receive data written in FRDRHL is less than the specified receive triggering number"]
1905        pub const _0: Self = Self::new(0);
1906
1907        #[doc = "The amount of receive data written in FRDRHL is equal to or greater than the specified receive triggering number"]
1908        pub const _1: Self = Self::new(1);
1909    }
1910    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1911    pub struct Tdfe_SPEC;
1912    pub type Tdfe = crate::EnumBitfieldStruct<u8, Tdfe_SPEC>;
1913    impl Tdfe {
1914        #[doc = "The amount of transmit data written in FTDRHL exceeds the specified transmit triggering number"]
1915        pub const _0: Self = Self::new(0);
1916
1917        #[doc = "The amount of transmit data written in FTDRHL is equal to or less than the specified transmit triggering number"]
1918        pub const _1: Self = Self::new(1);
1919    }
1920}
1921#[doc(hidden)]
1922#[derive(Copy, Clone, Eq, PartialEq)]
1923pub struct SsrManc_SPEC;
1924impl crate::sealed::RegSpec for SsrManc_SPEC {
1925    type DataType = u8;
1926}
1927
1928#[doc = "Serial Status Register for Manchester Mode (SCMR.SMIF = 0, and MMR.MANEN = 1)"]
1929pub type SsrManc = crate::RegValueT<SsrManc_SPEC>;
1930
1931impl SsrManc {
1932    #[doc = "Manchester Error Flag"]
1933    #[inline(always)]
1934    pub fn mer(
1935        self,
1936    ) -> crate::common::RegisterField<
1937        0,
1938        0x1,
1939        1,
1940        0,
1941        ssr_manc::Mer,
1942        ssr_manc::Mer,
1943        SsrManc_SPEC,
1944        crate::common::RW,
1945    > {
1946        crate::common::RegisterField::<
1947            0,
1948            0x1,
1949            1,
1950            0,
1951            ssr_manc::Mer,
1952            ssr_manc::Mer,
1953            SsrManc_SPEC,
1954            crate::common::RW,
1955        >::from_register(self, 0)
1956    }
1957
1958    #[doc = "Multi-Processor"]
1959    #[inline(always)]
1960    pub fn mpb(
1961        self,
1962    ) -> crate::common::RegisterField<
1963        1,
1964        0x1,
1965        1,
1966        0,
1967        ssr_manc::Mpb,
1968        ssr_manc::Mpb,
1969        SsrManc_SPEC,
1970        crate::common::R,
1971    > {
1972        crate::common::RegisterField::<
1973            1,
1974            0x1,
1975            1,
1976            0,
1977            ssr_manc::Mpb,
1978            ssr_manc::Mpb,
1979            SsrManc_SPEC,
1980            crate::common::R,
1981        >::from_register(self, 0)
1982    }
1983
1984    #[doc = "Transmit End Flag"]
1985    #[inline(always)]
1986    pub fn tend(
1987        self,
1988    ) -> crate::common::RegisterField<
1989        2,
1990        0x1,
1991        1,
1992        0,
1993        ssr_manc::Tend,
1994        ssr_manc::Tend,
1995        SsrManc_SPEC,
1996        crate::common::R,
1997    > {
1998        crate::common::RegisterField::<
1999            2,
2000            0x1,
2001            1,
2002            0,
2003            ssr_manc::Tend,
2004            ssr_manc::Tend,
2005            SsrManc_SPEC,
2006            crate::common::R,
2007        >::from_register(self, 0)
2008    }
2009
2010    #[doc = "Parity Error Flag"]
2011    #[inline(always)]
2012    pub fn per(
2013        self,
2014    ) -> crate::common::RegisterField<
2015        3,
2016        0x1,
2017        1,
2018        0,
2019        ssr_manc::Per,
2020        ssr_manc::Per,
2021        SsrManc_SPEC,
2022        crate::common::RW,
2023    > {
2024        crate::common::RegisterField::<
2025            3,
2026            0x1,
2027            1,
2028            0,
2029            ssr_manc::Per,
2030            ssr_manc::Per,
2031            SsrManc_SPEC,
2032            crate::common::RW,
2033        >::from_register(self, 0)
2034    }
2035
2036    #[doc = "Framing Error Flag"]
2037    #[inline(always)]
2038    pub fn fer(
2039        self,
2040    ) -> crate::common::RegisterField<
2041        4,
2042        0x1,
2043        1,
2044        0,
2045        ssr_manc::Fer,
2046        ssr_manc::Fer,
2047        SsrManc_SPEC,
2048        crate::common::RW,
2049    > {
2050        crate::common::RegisterField::<
2051            4,
2052            0x1,
2053            1,
2054            0,
2055            ssr_manc::Fer,
2056            ssr_manc::Fer,
2057            SsrManc_SPEC,
2058            crate::common::RW,
2059        >::from_register(self, 0)
2060    }
2061
2062    #[doc = "Overrun Error Flag"]
2063    #[inline(always)]
2064    pub fn orer(
2065        self,
2066    ) -> crate::common::RegisterField<
2067        5,
2068        0x1,
2069        1,
2070        0,
2071        ssr_manc::Orer,
2072        ssr_manc::Orer,
2073        SsrManc_SPEC,
2074        crate::common::RW,
2075    > {
2076        crate::common::RegisterField::<
2077            5,
2078            0x1,
2079            1,
2080            0,
2081            ssr_manc::Orer,
2082            ssr_manc::Orer,
2083            SsrManc_SPEC,
2084            crate::common::RW,
2085        >::from_register(self, 0)
2086    }
2087
2088    #[doc = "Receive Data Full Flag"]
2089    #[inline(always)]
2090    pub fn rdrf(
2091        self,
2092    ) -> crate::common::RegisterField<
2093        6,
2094        0x1,
2095        1,
2096        0,
2097        ssr_manc::Rdrf,
2098        ssr_manc::Rdrf,
2099        SsrManc_SPEC,
2100        crate::common::RW,
2101    > {
2102        crate::common::RegisterField::<
2103            6,
2104            0x1,
2105            1,
2106            0,
2107            ssr_manc::Rdrf,
2108            ssr_manc::Rdrf,
2109            SsrManc_SPEC,
2110            crate::common::RW,
2111        >::from_register(self, 0)
2112    }
2113
2114    #[doc = "Transmit Data Empty Flag"]
2115    #[inline(always)]
2116    pub fn tdre(
2117        self,
2118    ) -> crate::common::RegisterField<
2119        7,
2120        0x1,
2121        1,
2122        0,
2123        ssr_manc::Tdre,
2124        ssr_manc::Tdre,
2125        SsrManc_SPEC,
2126        crate::common::RW,
2127    > {
2128        crate::common::RegisterField::<
2129            7,
2130            0x1,
2131            1,
2132            0,
2133            ssr_manc::Tdre,
2134            ssr_manc::Tdre,
2135            SsrManc_SPEC,
2136            crate::common::RW,
2137        >::from_register(self, 0)
2138    }
2139}
2140impl ::core::default::Default for SsrManc {
2141    #[inline(always)]
2142    fn default() -> SsrManc {
2143        <crate::RegValueT<SsrManc_SPEC> as RegisterValue<_>>::new(132)
2144    }
2145}
2146pub mod ssr_manc {
2147
2148    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2149    pub struct Mer_SPEC;
2150    pub type Mer = crate::EnumBitfieldStruct<u8, Mer_SPEC>;
2151    impl Mer {
2152        #[doc = "No Manchester error occurred"]
2153        pub const _0: Self = Self::new(0);
2154
2155        #[doc = "Manchester error has occurred"]
2156        pub const _1: Self = Self::new(1);
2157    }
2158    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2159    pub struct Mpb_SPEC;
2160    pub type Mpb = crate::EnumBitfieldStruct<u8, Mpb_SPEC>;
2161    impl Mpb {
2162        #[doc = "Data transmission cycles"]
2163        pub const _0: Self = Self::new(0);
2164
2165        #[doc = "ID transmission cycles"]
2166        pub const _1: Self = Self::new(1);
2167    }
2168    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2169    pub struct Tend_SPEC;
2170    pub type Tend = crate::EnumBitfieldStruct<u8, Tend_SPEC>;
2171    impl Tend {
2172        #[doc = "A character is being transmitted"]
2173        pub const _0: Self = Self::new(0);
2174
2175        #[doc = "Character transfer has been completed."]
2176        pub const _1: Self = Self::new(1);
2177    }
2178    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2179    pub struct Per_SPEC;
2180    pub type Per = crate::EnumBitfieldStruct<u8, Per_SPEC>;
2181    impl Per {
2182        #[doc = "No parity error occurred"]
2183        pub const _0: Self = Self::new(0);
2184
2185        #[doc = "A parity error has occurred"]
2186        pub const _1: Self = Self::new(1);
2187    }
2188    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2189    pub struct Fer_SPEC;
2190    pub type Fer = crate::EnumBitfieldStruct<u8, Fer_SPEC>;
2191    impl Fer {
2192        #[doc = "No framing error occurred"]
2193        pub const _0: Self = Self::new(0);
2194
2195        #[doc = "A framing error has occurred"]
2196        pub const _1: Self = Self::new(1);
2197    }
2198    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2199    pub struct Orer_SPEC;
2200    pub type Orer = crate::EnumBitfieldStruct<u8, Orer_SPEC>;
2201    impl Orer {
2202        #[doc = "No overrun error occurred"]
2203        pub const _0: Self = Self::new(0);
2204
2205        #[doc = "An overrun error has occurred"]
2206        pub const _1: Self = Self::new(1);
2207    }
2208    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2209    pub struct Rdrf_SPEC;
2210    pub type Rdrf = crate::EnumBitfieldStruct<u8, Rdrf_SPEC>;
2211    impl Rdrf {
2212        #[doc = "No received data is in RDR register"]
2213        pub const _0: Self = Self::new(0);
2214
2215        #[doc = "Received data is in RDR register"]
2216        pub const _1: Self = Self::new(1);
2217    }
2218    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2219    pub struct Tdre_SPEC;
2220    pub type Tdre = crate::EnumBitfieldStruct<u8, Tdre_SPEC>;
2221    impl Tdre {
2222        #[doc = "Transmit data is in TDR register"]
2223        pub const _0: Self = Self::new(0);
2224
2225        #[doc = "No transmit data is in TDR register"]
2226        pub const _1: Self = Self::new(1);
2227    }
2228}
2229#[doc(hidden)]
2230#[derive(Copy, Clone, Eq, PartialEq)]
2231pub struct SsrSmci_SPEC;
2232impl crate::sealed::RegSpec for SsrSmci_SPEC {
2233    type DataType = u8;
2234}
2235
2236#[doc = "Serial Status Register for Smart Card Interface Mode (SCMR.SMIF = 1, and MMR.MANEN = 0)"]
2237pub type SsrSmci = crate::RegValueT<SsrSmci_SPEC>;
2238
2239impl SsrSmci {
2240    #[doc = "Multi-Processor Bit Transfer"]
2241    #[inline(always)]
2242    pub fn mpbt(
2243        self,
2244    ) -> crate::common::RegisterFieldBool<0, 1, 0, SsrSmci_SPEC, crate::common::RW> {
2245        crate::common::RegisterFieldBool::<0, 1, 0, SsrSmci_SPEC, crate::common::RW>::from_register(
2246            self, 0,
2247        )
2248    }
2249
2250    #[doc = "Multi-Processor"]
2251    #[inline(always)]
2252    pub fn mpb(self) -> crate::common::RegisterFieldBool<1, 1, 0, SsrSmci_SPEC, crate::common::R> {
2253        crate::common::RegisterFieldBool::<1, 1, 0, SsrSmci_SPEC, crate::common::R>::from_register(
2254            self, 0,
2255        )
2256    }
2257
2258    #[doc = "Transmit End Flag"]
2259    #[inline(always)]
2260    pub fn tend(
2261        self,
2262    ) -> crate::common::RegisterField<
2263        2,
2264        0x1,
2265        1,
2266        0,
2267        ssr_smci::Tend,
2268        ssr_smci::Tend,
2269        SsrSmci_SPEC,
2270        crate::common::R,
2271    > {
2272        crate::common::RegisterField::<
2273            2,
2274            0x1,
2275            1,
2276            0,
2277            ssr_smci::Tend,
2278            ssr_smci::Tend,
2279            SsrSmci_SPEC,
2280            crate::common::R,
2281        >::from_register(self, 0)
2282    }
2283
2284    #[doc = "Parity Error Flag"]
2285    #[inline(always)]
2286    pub fn per(
2287        self,
2288    ) -> crate::common::RegisterField<
2289        3,
2290        0x1,
2291        1,
2292        0,
2293        ssr_smci::Per,
2294        ssr_smci::Per,
2295        SsrSmci_SPEC,
2296        crate::common::RW,
2297    > {
2298        crate::common::RegisterField::<
2299            3,
2300            0x1,
2301            1,
2302            0,
2303            ssr_smci::Per,
2304            ssr_smci::Per,
2305            SsrSmci_SPEC,
2306            crate::common::RW,
2307        >::from_register(self, 0)
2308    }
2309
2310    #[doc = "Error Signal Status Flag"]
2311    #[inline(always)]
2312    pub fn ers(
2313        self,
2314    ) -> crate::common::RegisterField<
2315        4,
2316        0x1,
2317        1,
2318        0,
2319        ssr_smci::Ers,
2320        ssr_smci::Ers,
2321        SsrSmci_SPEC,
2322        crate::common::RW,
2323    > {
2324        crate::common::RegisterField::<
2325            4,
2326            0x1,
2327            1,
2328            0,
2329            ssr_smci::Ers,
2330            ssr_smci::Ers,
2331            SsrSmci_SPEC,
2332            crate::common::RW,
2333        >::from_register(self, 0)
2334    }
2335
2336    #[doc = "Overrun Error Flag"]
2337    #[inline(always)]
2338    pub fn orer(
2339        self,
2340    ) -> crate::common::RegisterField<
2341        5,
2342        0x1,
2343        1,
2344        0,
2345        ssr_smci::Orer,
2346        ssr_smci::Orer,
2347        SsrSmci_SPEC,
2348        crate::common::RW,
2349    > {
2350        crate::common::RegisterField::<
2351            5,
2352            0x1,
2353            1,
2354            0,
2355            ssr_smci::Orer,
2356            ssr_smci::Orer,
2357            SsrSmci_SPEC,
2358            crate::common::RW,
2359        >::from_register(self, 0)
2360    }
2361
2362    #[doc = "Receive Data Full Flag"]
2363    #[inline(always)]
2364    pub fn rdrf(
2365        self,
2366    ) -> crate::common::RegisterField<
2367        6,
2368        0x1,
2369        1,
2370        0,
2371        ssr_smci::Rdrf,
2372        ssr_smci::Rdrf,
2373        SsrSmci_SPEC,
2374        crate::common::RW,
2375    > {
2376        crate::common::RegisterField::<
2377            6,
2378            0x1,
2379            1,
2380            0,
2381            ssr_smci::Rdrf,
2382            ssr_smci::Rdrf,
2383            SsrSmci_SPEC,
2384            crate::common::RW,
2385        >::from_register(self, 0)
2386    }
2387
2388    #[doc = "Transmit Data Empty Flag"]
2389    #[inline(always)]
2390    pub fn tdre(
2391        self,
2392    ) -> crate::common::RegisterField<
2393        7,
2394        0x1,
2395        1,
2396        0,
2397        ssr_smci::Tdre,
2398        ssr_smci::Tdre,
2399        SsrSmci_SPEC,
2400        crate::common::RW,
2401    > {
2402        crate::common::RegisterField::<
2403            7,
2404            0x1,
2405            1,
2406            0,
2407            ssr_smci::Tdre,
2408            ssr_smci::Tdre,
2409            SsrSmci_SPEC,
2410            crate::common::RW,
2411        >::from_register(self, 0)
2412    }
2413}
2414impl ::core::default::Default for SsrSmci {
2415    #[inline(always)]
2416    fn default() -> SsrSmci {
2417        <crate::RegValueT<SsrSmci_SPEC> as RegisterValue<_>>::new(132)
2418    }
2419}
2420pub mod ssr_smci {
2421
2422    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2423    pub struct Tend_SPEC;
2424    pub type Tend = crate::EnumBitfieldStruct<u8, Tend_SPEC>;
2425    impl Tend {
2426        #[doc = "A character is being transmitted"]
2427        pub const _0: Self = Self::new(0);
2428
2429        #[doc = "Character transfer is complete"]
2430        pub const _1: Self = Self::new(1);
2431    }
2432    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2433    pub struct Per_SPEC;
2434    pub type Per = crate::EnumBitfieldStruct<u8, Per_SPEC>;
2435    impl Per {
2436        #[doc = "No parity error occurred"]
2437        pub const _0: Self = Self::new(0);
2438
2439        #[doc = "Parity error occurred"]
2440        pub const _1: Self = Self::new(1);
2441    }
2442    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2443    pub struct Ers_SPEC;
2444    pub type Ers = crate::EnumBitfieldStruct<u8, Ers_SPEC>;
2445    impl Ers {
2446        #[doc = "No low error signal response"]
2447        pub const _0: Self = Self::new(0);
2448
2449        #[doc = "Low error signal response occurred"]
2450        pub const _1: Self = Self::new(1);
2451    }
2452    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2453    pub struct Orer_SPEC;
2454    pub type Orer = crate::EnumBitfieldStruct<u8, Orer_SPEC>;
2455    impl Orer {
2456        #[doc = "No overrun error occurred"]
2457        pub const _0: Self = Self::new(0);
2458
2459        #[doc = "Overrun error occurred"]
2460        pub const _1: Self = Self::new(1);
2461    }
2462    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2463    pub struct Rdrf_SPEC;
2464    pub type Rdrf = crate::EnumBitfieldStruct<u8, Rdrf_SPEC>;
2465    impl Rdrf {
2466        #[doc = "No received data in RDR register"]
2467        pub const _0: Self = Self::new(0);
2468
2469        #[doc = "Received data in RDR register"]
2470        pub const _1: Self = Self::new(1);
2471    }
2472    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2473    pub struct Tdre_SPEC;
2474    pub type Tdre = crate::EnumBitfieldStruct<u8, Tdre_SPEC>;
2475    impl Tdre {
2476        #[doc = "Transmit data in TDR register"]
2477        pub const _0: Self = Self::new(0);
2478
2479        #[doc = "No transmit data in TDR register"]
2480        pub const _1: Self = Self::new(1);
2481    }
2482}
2483#[doc(hidden)]
2484#[derive(Copy, Clone, Eq, PartialEq)]
2485pub struct Rdr_SPEC;
2486impl crate::sealed::RegSpec for Rdr_SPEC {
2487    type DataType = u8;
2488}
2489
2490#[doc = "Receive Data Register"]
2491pub type Rdr = crate::RegValueT<Rdr_SPEC>;
2492
2493impl NoBitfieldReg<Rdr_SPEC> for Rdr {}
2494impl ::core::default::Default for Rdr {
2495    #[inline(always)]
2496    fn default() -> Rdr {
2497        <crate::RegValueT<Rdr_SPEC> as RegisterValue<_>>::new(0)
2498    }
2499}
2500
2501#[doc(hidden)]
2502#[derive(Copy, Clone, Eq, PartialEq)]
2503pub struct Scmr_SPEC;
2504impl crate::sealed::RegSpec for Scmr_SPEC {
2505    type DataType = u8;
2506}
2507
2508#[doc = "Smart Card Mode Register"]
2509pub type Scmr = crate::RegValueT<Scmr_SPEC>;
2510
2511impl Scmr {
2512    #[doc = "Smart Card Interface Mode Select"]
2513    #[inline(always)]
2514    pub fn smif(
2515        self,
2516    ) -> crate::common::RegisterField<
2517        0,
2518        0x1,
2519        1,
2520        0,
2521        scmr::Smif,
2522        scmr::Smif,
2523        Scmr_SPEC,
2524        crate::common::RW,
2525    > {
2526        crate::common::RegisterField::<
2527            0,
2528            0x1,
2529            1,
2530            0,
2531            scmr::Smif,
2532            scmr::Smif,
2533            Scmr_SPEC,
2534            crate::common::RW,
2535        >::from_register(self, 0)
2536    }
2537
2538    #[doc = "Transmitted/Received Data Invert"]
2539    #[inline(always)]
2540    pub fn sinv(
2541        self,
2542    ) -> crate::common::RegisterField<
2543        2,
2544        0x1,
2545        1,
2546        0,
2547        scmr::Sinv,
2548        scmr::Sinv,
2549        Scmr_SPEC,
2550        crate::common::RW,
2551    > {
2552        crate::common::RegisterField::<
2553            2,
2554            0x1,
2555            1,
2556            0,
2557            scmr::Sinv,
2558            scmr::Sinv,
2559            Scmr_SPEC,
2560            crate::common::RW,
2561        >::from_register(self, 0)
2562    }
2563
2564    #[doc = "Transmitted/Received Data Transfer Direction"]
2565    #[inline(always)]
2566    pub fn sdir(
2567        self,
2568    ) -> crate::common::RegisterField<
2569        3,
2570        0x1,
2571        1,
2572        0,
2573        scmr::Sdir,
2574        scmr::Sdir,
2575        Scmr_SPEC,
2576        crate::common::RW,
2577    > {
2578        crate::common::RegisterField::<
2579            3,
2580            0x1,
2581            1,
2582            0,
2583            scmr::Sdir,
2584            scmr::Sdir,
2585            Scmr_SPEC,
2586            crate::common::RW,
2587        >::from_register(self, 0)
2588    }
2589
2590    #[doc = "Character Length 1"]
2591    #[inline(always)]
2592    pub fn chr1(
2593        self,
2594    ) -> crate::common::RegisterField<
2595        4,
2596        0x1,
2597        1,
2598        0,
2599        scmr::Chr1,
2600        scmr::Chr1,
2601        Scmr_SPEC,
2602        crate::common::RW,
2603    > {
2604        crate::common::RegisterField::<
2605            4,
2606            0x1,
2607            1,
2608            0,
2609            scmr::Chr1,
2610            scmr::Chr1,
2611            Scmr_SPEC,
2612            crate::common::RW,
2613        >::from_register(self, 0)
2614    }
2615
2616    #[doc = "Base Clock Pulse 2"]
2617    #[inline(always)]
2618    pub fn bcp2(self) -> crate::common::RegisterFieldBool<7, 1, 0, Scmr_SPEC, crate::common::RW> {
2619        crate::common::RegisterFieldBool::<7, 1, 0, Scmr_SPEC, crate::common::RW>::from_register(
2620            self, 0,
2621        )
2622    }
2623}
2624impl ::core::default::Default for Scmr {
2625    #[inline(always)]
2626    fn default() -> Scmr {
2627        <crate::RegValueT<Scmr_SPEC> as RegisterValue<_>>::new(242)
2628    }
2629}
2630pub mod scmr {
2631
2632    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2633    pub struct Smif_SPEC;
2634    pub type Smif = crate::EnumBitfieldStruct<u8, Smif_SPEC>;
2635    impl Smif {
2636        #[doc = "Non-smart card interface mode (asynchronous mode, clock synchronous mode, simple SPI mode, or simple IIC mode)"]
2637        pub const _0: Self = Self::new(0);
2638
2639        #[doc = "Smart card interface mode"]
2640        pub const _1: Self = Self::new(1);
2641    }
2642    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2643    pub struct Sinv_SPEC;
2644    pub type Sinv = crate::EnumBitfieldStruct<u8, Sinv_SPEC>;
2645    impl Sinv {
2646        #[doc = "TDR contents are transmitted as they are. Received data is stored as received in the RDR register."]
2647        pub const _0: Self = Self::new(0);
2648
2649        #[doc = "TDR register contents are inverted before transmission. Receive data is stored in inverted form in the RDR register."]
2650        pub const _1: Self = Self::new(1);
2651    }
2652    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2653    pub struct Sdir_SPEC;
2654    pub type Sdir = crate::EnumBitfieldStruct<u8, Sdir_SPEC>;
2655    impl Sdir {
2656        #[doc = "Transfer LSB-first"]
2657        pub const _0: Self = Self::new(0);
2658
2659        #[doc = "Transfer MSB-first"]
2660        pub const _1: Self = Self::new(1);
2661    }
2662    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2663    pub struct Chr1_SPEC;
2664    pub type Chr1 = crate::EnumBitfieldStruct<u8, Chr1_SPEC>;
2665    impl Chr1 {
2666        #[doc = "SMR.CHR = 0: Transmit/receive in 9-bit data length SMR.CHR = 1: Transmit/receive in 9-bit data length"]
2667        pub const _0: Self = Self::new(0);
2668
2669        #[doc = "SMR.CHR = 0: Transmit/receive in 8-bit data length (initial value) SMR.CHR = 1: Transmit/receive in 7-bit data length"]
2670        pub const _1: Self = Self::new(1);
2671    }
2672}
2673#[doc(hidden)]
2674#[derive(Copy, Clone, Eq, PartialEq)]
2675pub struct Semr_SPEC;
2676impl crate::sealed::RegSpec for Semr_SPEC {
2677    type DataType = u8;
2678}
2679
2680#[doc = "Serial Extended Mode Register"]
2681pub type Semr = crate::RegValueT<Semr_SPEC>;
2682
2683impl Semr {
2684    #[doc = "Asynchronous Mode Clock Source Select"]
2685    #[inline(always)]
2686    pub fn acs0(
2687        self,
2688    ) -> crate::common::RegisterField<
2689        0,
2690        0x1,
2691        1,
2692        0,
2693        semr::Acs0,
2694        semr::Acs0,
2695        Semr_SPEC,
2696        crate::common::RW,
2697    > {
2698        crate::common::RegisterField::<
2699            0,
2700            0x1,
2701            1,
2702            0,
2703            semr::Acs0,
2704            semr::Acs0,
2705            Semr_SPEC,
2706            crate::common::RW,
2707        >::from_register(self, 0)
2708    }
2709
2710    #[doc = "Preamble function Disable"]
2711    #[inline(always)]
2712    pub fn padis(
2713        self,
2714    ) -> crate::common::RegisterField<
2715        1,
2716        0x1,
2717        1,
2718        0,
2719        semr::Padis,
2720        semr::Padis,
2721        Semr_SPEC,
2722        crate::common::RW,
2723    > {
2724        crate::common::RegisterField::<
2725            1,
2726            0x1,
2727            1,
2728            0,
2729            semr::Padis,
2730            semr::Padis,
2731            Semr_SPEC,
2732            crate::common::RW,
2733        >::from_register(self, 0)
2734    }
2735
2736    #[doc = "Bit Rate Modulation Enable"]
2737    #[inline(always)]
2738    pub fn brme(
2739        self,
2740    ) -> crate::common::RegisterField<
2741        2,
2742        0x1,
2743        1,
2744        0,
2745        semr::Brme,
2746        semr::Brme,
2747        Semr_SPEC,
2748        crate::common::RW,
2749    > {
2750        crate::common::RegisterField::<
2751            2,
2752            0x1,
2753            1,
2754            0,
2755            semr::Brme,
2756            semr::Brme,
2757            Semr_SPEC,
2758            crate::common::RW,
2759        >::from_register(self, 0)
2760    }
2761
2762    #[doc = "Asynchronous Mode Extended Base Clock Select 1"]
2763    #[inline(always)]
2764    pub fn abcse(
2765        self,
2766    ) -> crate::common::RegisterField<
2767        3,
2768        0x1,
2769        1,
2770        0,
2771        semr::Abcse,
2772        semr::Abcse,
2773        Semr_SPEC,
2774        crate::common::RW,
2775    > {
2776        crate::common::RegisterField::<
2777            3,
2778            0x1,
2779            1,
2780            0,
2781            semr::Abcse,
2782            semr::Abcse,
2783            Semr_SPEC,
2784            crate::common::RW,
2785        >::from_register(self, 0)
2786    }
2787
2788    #[doc = "Asynchronous Mode Base Clock Select"]
2789    #[inline(always)]
2790    pub fn abcs(
2791        self,
2792    ) -> crate::common::RegisterField<
2793        4,
2794        0x1,
2795        1,
2796        0,
2797        semr::Abcs,
2798        semr::Abcs,
2799        Semr_SPEC,
2800        crate::common::RW,
2801    > {
2802        crate::common::RegisterField::<
2803            4,
2804            0x1,
2805            1,
2806            0,
2807            semr::Abcs,
2808            semr::Abcs,
2809            Semr_SPEC,
2810            crate::common::RW,
2811        >::from_register(self, 0)
2812    }
2813
2814    #[doc = "Digital Noise Filter Function Enable"]
2815    #[inline(always)]
2816    pub fn nfen(
2817        self,
2818    ) -> crate::common::RegisterField<
2819        5,
2820        0x1,
2821        1,
2822        0,
2823        semr::Nfen,
2824        semr::Nfen,
2825        Semr_SPEC,
2826        crate::common::RW,
2827    > {
2828        crate::common::RegisterField::<
2829            5,
2830            0x1,
2831            1,
2832            0,
2833            semr::Nfen,
2834            semr::Nfen,
2835            Semr_SPEC,
2836            crate::common::RW,
2837        >::from_register(self, 0)
2838    }
2839
2840    #[doc = "Baud Rate Generator Double-Speed Mode Select"]
2841    #[inline(always)]
2842    pub fn bgdm(
2843        self,
2844    ) -> crate::common::RegisterField<
2845        6,
2846        0x1,
2847        1,
2848        0,
2849        semr::Bgdm,
2850        semr::Bgdm,
2851        Semr_SPEC,
2852        crate::common::RW,
2853    > {
2854        crate::common::RegisterField::<
2855            6,
2856            0x1,
2857            1,
2858            0,
2859            semr::Bgdm,
2860            semr::Bgdm,
2861            Semr_SPEC,
2862            crate::common::RW,
2863        >::from_register(self, 0)
2864    }
2865
2866    #[doc = "Asynchronous Start Bit Edge Detection Select"]
2867    #[inline(always)]
2868    pub fn rxdesel(
2869        self,
2870    ) -> crate::common::RegisterField<
2871        7,
2872        0x1,
2873        1,
2874        0,
2875        semr::Rxdesel,
2876        semr::Rxdesel,
2877        Semr_SPEC,
2878        crate::common::RW,
2879    > {
2880        crate::common::RegisterField::<
2881            7,
2882            0x1,
2883            1,
2884            0,
2885            semr::Rxdesel,
2886            semr::Rxdesel,
2887            Semr_SPEC,
2888            crate::common::RW,
2889        >::from_register(self, 0)
2890    }
2891}
2892impl ::core::default::Default for Semr {
2893    #[inline(always)]
2894    fn default() -> Semr {
2895        <crate::RegValueT<Semr_SPEC> as RegisterValue<_>>::new(0)
2896    }
2897}
2898pub mod semr {
2899
2900    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2901    pub struct Acs0_SPEC;
2902    pub type Acs0 = crate::EnumBitfieldStruct<u8, Acs0_SPEC>;
2903    impl Acs0 {
2904        #[doc = "External clock input"]
2905        pub const _0: Self = Self::new(0);
2906
2907        #[doc = "Logical AND of compare matches output from the internal GPT. These bit for the other SCI channels than SCIn (n = 2) are reserved."]
2908        pub const _1: Self = Self::new(1);
2909    }
2910    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2911    pub struct Padis_SPEC;
2912    pub type Padis = crate::EnumBitfieldStruct<u8, Padis_SPEC>;
2913    impl Padis {
2914        #[doc = "Preamble output function is enabled"]
2915        pub const _0: Self = Self::new(0);
2916
2917        #[doc = "Preamble output function is disabled These bits for the other SCI channels than SCIn (n = 0, 3, 4, 9) are reserved."]
2918        pub const _1: Self = Self::new(1);
2919    }
2920    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2921    pub struct Brme_SPEC;
2922    pub type Brme = crate::EnumBitfieldStruct<u8, Brme_SPEC>;
2923    impl Brme {
2924        #[doc = "Disable bit rate modulation function"]
2925        pub const _0: Self = Self::new(0);
2926
2927        #[doc = "Enable bit rate modulation function"]
2928        pub const _1: Self = Self::new(1);
2929    }
2930    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2931    pub struct Abcse_SPEC;
2932    pub type Abcse = crate::EnumBitfieldStruct<u8, Abcse_SPEC>;
2933    impl Abcse {
2934        #[doc = "Clock cycles for 1-bit period determined by combination of the BGDM and ABCS bits in the SEMR register"]
2935        pub const _0: Self = Self::new(0);
2936
2937        #[doc = "Baud rate is 6 base clock cycles for 1-bit period These bits for the other SCI channels than SCIn (n = 0, 3, 4, 9) are reserved."]
2938        pub const _1: Self = Self::new(1);
2939    }
2940    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2941    pub struct Abcs_SPEC;
2942    pub type Abcs = crate::EnumBitfieldStruct<u8, Abcs_SPEC>;
2943    impl Abcs {
2944        #[doc = "Select 16 base clock cycles for 1-bit period"]
2945        pub const _0: Self = Self::new(0);
2946
2947        #[doc = "Select 8 base clock cycles for 1-bit period"]
2948        pub const _1: Self = Self::new(1);
2949    }
2950    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2951    pub struct Nfen_SPEC;
2952    pub type Nfen = crate::EnumBitfieldStruct<u8, Nfen_SPEC>;
2953    impl Nfen {
2954        #[doc = "In asynchronous mode: Disable noise cancellation function for RXDn input signal In simple I2C mode: Disable noise cancellation function for SCLn and SDAn input signals"]
2955        pub const _0: Self = Self::new(0);
2956
2957        #[doc = "In asynchronous mode: Enable noise cancellation function for RXDn input signal In simple I2C mode: Enable noise cancellation function for SCLn and SDAn input signals"]
2958        pub const _1: Self = Self::new(1);
2959    }
2960    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2961    pub struct Bgdm_SPEC;
2962    pub type Bgdm = crate::EnumBitfieldStruct<u8, Bgdm_SPEC>;
2963    impl Bgdm {
2964        #[doc = "Output clock from baud rate generator with normal frequency"]
2965        pub const _0: Self = Self::new(0);
2966
2967        #[doc = "Output clock from baud rate generator with doubled frequency"]
2968        pub const _1: Self = Self::new(1);
2969    }
2970    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2971    pub struct Rxdesel_SPEC;
2972    pub type Rxdesel = crate::EnumBitfieldStruct<u8, Rxdesel_SPEC>;
2973    impl Rxdesel {
2974        #[doc = "Detect low level on RXDn pin as start bit"]
2975        pub const _0: Self = Self::new(0);
2976
2977        #[doc = "Detect falling edge of RXDn pin as start bit"]
2978        pub const _1: Self = Self::new(1);
2979    }
2980}
2981#[doc(hidden)]
2982#[derive(Copy, Clone, Eq, PartialEq)]
2983pub struct Snfr_SPEC;
2984impl crate::sealed::RegSpec for Snfr_SPEC {
2985    type DataType = u8;
2986}
2987
2988#[doc = "Noise Filter Setting Register"]
2989pub type Snfr = crate::RegValueT<Snfr_SPEC>;
2990
2991impl Snfr {
2992    #[doc = "Noise Filter Clock Select"]
2993    #[inline(always)]
2994    pub fn nfcs(
2995        self,
2996    ) -> crate::common::RegisterField<
2997        0,
2998        0x7,
2999        1,
3000        0,
3001        snfr::Nfcs,
3002        snfr::Nfcs,
3003        Snfr_SPEC,
3004        crate::common::RW,
3005    > {
3006        crate::common::RegisterField::<
3007            0,
3008            0x7,
3009            1,
3010            0,
3011            snfr::Nfcs,
3012            snfr::Nfcs,
3013            Snfr_SPEC,
3014            crate::common::RW,
3015        >::from_register(self, 0)
3016    }
3017}
3018impl ::core::default::Default for Snfr {
3019    #[inline(always)]
3020    fn default() -> Snfr {
3021        <crate::RegValueT<Snfr_SPEC> as RegisterValue<_>>::new(0)
3022    }
3023}
3024pub mod snfr {
3025
3026    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3027    pub struct Nfcs_SPEC;
3028    pub type Nfcs = crate::EnumBitfieldStruct<u8, Nfcs_SPEC>;
3029    impl Nfcs {
3030        #[doc = "In asynchronous mode: Use clock signal divided by 1 with noise filter In simple I2C mode: Setting prohibited"]
3031        pub const _000: Self = Self::new(0);
3032
3033        #[doc = "In asynchronous mode: Setting prohibited In simple I2C mode: Use clock signal divided by 1 with noise filter"]
3034        pub const _001: Self = Self::new(1);
3035
3036        #[doc = "In asynchronous mode: Setting prohibited In simple I2C mode: Use clock signal divided by 2 with noise filter"]
3037        pub const _010: Self = Self::new(2);
3038
3039        #[doc = "In asynchronous mode: Setting prohibited In simple I2C mode: Use clock signal divided by 4 with noise filter"]
3040        pub const _011: Self = Self::new(3);
3041
3042        #[doc = "In asynchronous mode: Setting prohibited In simple I2C mode: Use clock signal divided by 8 with noise filter"]
3043        pub const _100: Self = Self::new(4);
3044
3045        #[doc = "Setting prohibited"]
3046        pub const OTHERS: Self = Self::new(0);
3047    }
3048}
3049#[doc(hidden)]
3050#[derive(Copy, Clone, Eq, PartialEq)]
3051pub struct Simr1_SPEC;
3052impl crate::sealed::RegSpec for Simr1_SPEC {
3053    type DataType = u8;
3054}
3055
3056#[doc = "IIC Mode Register 1"]
3057pub type Simr1 = crate::RegValueT<Simr1_SPEC>;
3058
3059impl Simr1 {
3060    #[doc = "Simple IIC Mode Select"]
3061    #[inline(always)]
3062    pub fn iicm(
3063        self,
3064    ) -> crate::common::RegisterField<
3065        0,
3066        0x1,
3067        1,
3068        0,
3069        simr1::Iicm,
3070        simr1::Iicm,
3071        Simr1_SPEC,
3072        crate::common::RW,
3073    > {
3074        crate::common::RegisterField::<
3075            0,
3076            0x1,
3077            1,
3078            0,
3079            simr1::Iicm,
3080            simr1::Iicm,
3081            Simr1_SPEC,
3082            crate::common::RW,
3083        >::from_register(self, 0)
3084    }
3085
3086    #[doc = "SDAn Delay Output Select"]
3087    #[inline(always)]
3088    pub fn iicdl(
3089        self,
3090    ) -> crate::common::RegisterField<
3091        3,
3092        0x1f,
3093        1,
3094        0,
3095        simr1::Iicdl,
3096        simr1::Iicdl,
3097        Simr1_SPEC,
3098        crate::common::RW,
3099    > {
3100        crate::common::RegisterField::<
3101            3,
3102            0x1f,
3103            1,
3104            0,
3105            simr1::Iicdl,
3106            simr1::Iicdl,
3107            Simr1_SPEC,
3108            crate::common::RW,
3109        >::from_register(self, 0)
3110    }
3111}
3112impl ::core::default::Default for Simr1 {
3113    #[inline(always)]
3114    fn default() -> Simr1 {
3115        <crate::RegValueT<Simr1_SPEC> as RegisterValue<_>>::new(0)
3116    }
3117}
3118pub mod simr1 {
3119
3120    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3121    pub struct Iicm_SPEC;
3122    pub type Iicm = crate::EnumBitfieldStruct<u8, Iicm_SPEC>;
3123    impl Iicm {
3124        #[doc = "SCMR.SMIF = 0: Asynchronous mode (including multi-processor mode), clock synchronous mode, or simple SPI mode SCMR.SMIF = 1: Smart card interface mode"]
3125        pub const _0: Self = Self::new(0);
3126
3127        #[doc = "SCMR.SMIF = 0: Simple IIC mode SCMR.SMIF = 1: Setting prohibited"]
3128        pub const _1: Self = Self::new(1);
3129    }
3130    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3131    pub struct Iicdl_SPEC;
3132    pub type Iicdl = crate::EnumBitfieldStruct<u8, Iicdl_SPEC>;
3133    impl Iicdl {
3134        #[doc = "No output delay"]
3135        pub const _0_X_00: Self = Self::new(0);
3136
3137        #[doc = "(IICDL - 1) to (IICDL) cycles"]
3138        pub const OTHERS: Self = Self::new(0);
3139    }
3140}
3141#[doc(hidden)]
3142#[derive(Copy, Clone, Eq, PartialEq)]
3143pub struct Simr2_SPEC;
3144impl crate::sealed::RegSpec for Simr2_SPEC {
3145    type DataType = u8;
3146}
3147
3148#[doc = "IIC Mode Register 2"]
3149pub type Simr2 = crate::RegValueT<Simr2_SPEC>;
3150
3151impl Simr2 {
3152    #[doc = "IIC Interrupt Mode Select"]
3153    #[inline(always)]
3154    pub fn iicintm(
3155        self,
3156    ) -> crate::common::RegisterField<
3157        0,
3158        0x1,
3159        1,
3160        0,
3161        simr2::Iicintm,
3162        simr2::Iicintm,
3163        Simr2_SPEC,
3164        crate::common::RW,
3165    > {
3166        crate::common::RegisterField::<
3167            0,
3168            0x1,
3169            1,
3170            0,
3171            simr2::Iicintm,
3172            simr2::Iicintm,
3173            Simr2_SPEC,
3174            crate::common::RW,
3175        >::from_register(self, 0)
3176    }
3177
3178    #[doc = "Clock Synchronization"]
3179    #[inline(always)]
3180    pub fn iiccsc(
3181        self,
3182    ) -> crate::common::RegisterField<
3183        1,
3184        0x1,
3185        1,
3186        0,
3187        simr2::Iiccsc,
3188        simr2::Iiccsc,
3189        Simr2_SPEC,
3190        crate::common::RW,
3191    > {
3192        crate::common::RegisterField::<
3193            1,
3194            0x1,
3195            1,
3196            0,
3197            simr2::Iiccsc,
3198            simr2::Iiccsc,
3199            Simr2_SPEC,
3200            crate::common::RW,
3201        >::from_register(self, 0)
3202    }
3203
3204    #[doc = "ACK Transmission Data"]
3205    #[inline(always)]
3206    pub fn iicackt(
3207        self,
3208    ) -> crate::common::RegisterField<
3209        5,
3210        0x1,
3211        1,
3212        0,
3213        simr2::Iicackt,
3214        simr2::Iicackt,
3215        Simr2_SPEC,
3216        crate::common::RW,
3217    > {
3218        crate::common::RegisterField::<
3219            5,
3220            0x1,
3221            1,
3222            0,
3223            simr2::Iicackt,
3224            simr2::Iicackt,
3225            Simr2_SPEC,
3226            crate::common::RW,
3227        >::from_register(self, 0)
3228    }
3229}
3230impl ::core::default::Default for Simr2 {
3231    #[inline(always)]
3232    fn default() -> Simr2 {
3233        <crate::RegValueT<Simr2_SPEC> as RegisterValue<_>>::new(0)
3234    }
3235}
3236pub mod simr2 {
3237
3238    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3239    pub struct Iicintm_SPEC;
3240    pub type Iicintm = crate::EnumBitfieldStruct<u8, Iicintm_SPEC>;
3241    impl Iicintm {
3242        #[doc = "Use ACK/NACK interrupts"]
3243        pub const _0: Self = Self::new(0);
3244
3245        #[doc = "Use reception and transmission interrupts"]
3246        pub const _1: Self = Self::new(1);
3247    }
3248    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3249    pub struct Iiccsc_SPEC;
3250    pub type Iiccsc = crate::EnumBitfieldStruct<u8, Iiccsc_SPEC>;
3251    impl Iiccsc {
3252        #[doc = "Do not synchronize with clock signal"]
3253        pub const _0: Self = Self::new(0);
3254
3255        #[doc = "Synchronize with clock signal"]
3256        pub const _1: Self = Self::new(1);
3257    }
3258    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3259    pub struct Iicackt_SPEC;
3260    pub type Iicackt = crate::EnumBitfieldStruct<u8, Iicackt_SPEC>;
3261    impl Iicackt {
3262        #[doc = "ACK transmission"]
3263        pub const _0: Self = Self::new(0);
3264
3265        #[doc = "NACK transmission and ACK/NACK reception"]
3266        pub const _1: Self = Self::new(1);
3267    }
3268}
3269#[doc(hidden)]
3270#[derive(Copy, Clone, Eq, PartialEq)]
3271pub struct Simr3_SPEC;
3272impl crate::sealed::RegSpec for Simr3_SPEC {
3273    type DataType = u8;
3274}
3275
3276#[doc = "IIC Mode Register 3"]
3277pub type Simr3 = crate::RegValueT<Simr3_SPEC>;
3278
3279impl Simr3 {
3280    #[doc = "Start Condition Generation"]
3281    #[inline(always)]
3282    pub fn iicstareq(
3283        self,
3284    ) -> crate::common::RegisterField<
3285        0,
3286        0x1,
3287        1,
3288        0,
3289        simr3::Iicstareq,
3290        simr3::Iicstareq,
3291        Simr3_SPEC,
3292        crate::common::RW,
3293    > {
3294        crate::common::RegisterField::<
3295            0,
3296            0x1,
3297            1,
3298            0,
3299            simr3::Iicstareq,
3300            simr3::Iicstareq,
3301            Simr3_SPEC,
3302            crate::common::RW,
3303        >::from_register(self, 0)
3304    }
3305
3306    #[doc = "Restart Condition Generation"]
3307    #[inline(always)]
3308    pub fn iicrstareq(
3309        self,
3310    ) -> crate::common::RegisterField<
3311        1,
3312        0x1,
3313        1,
3314        0,
3315        simr3::Iicrstareq,
3316        simr3::Iicrstareq,
3317        Simr3_SPEC,
3318        crate::common::RW,
3319    > {
3320        crate::common::RegisterField::<
3321            1,
3322            0x1,
3323            1,
3324            0,
3325            simr3::Iicrstareq,
3326            simr3::Iicrstareq,
3327            Simr3_SPEC,
3328            crate::common::RW,
3329        >::from_register(self, 0)
3330    }
3331
3332    #[doc = "Stop Condition Generation"]
3333    #[inline(always)]
3334    pub fn iicstpreq(
3335        self,
3336    ) -> crate::common::RegisterField<
3337        2,
3338        0x1,
3339        1,
3340        0,
3341        simr3::Iicstpreq,
3342        simr3::Iicstpreq,
3343        Simr3_SPEC,
3344        crate::common::RW,
3345    > {
3346        crate::common::RegisterField::<
3347            2,
3348            0x1,
3349            1,
3350            0,
3351            simr3::Iicstpreq,
3352            simr3::Iicstpreq,
3353            Simr3_SPEC,
3354            crate::common::RW,
3355        >::from_register(self, 0)
3356    }
3357
3358    #[doc = "Issuing of Start, Restart, or Stop Condition Completed Flag"]
3359    #[inline(always)]
3360    pub fn iicstif(
3361        self,
3362    ) -> crate::common::RegisterField<
3363        3,
3364        0x1,
3365        1,
3366        0,
3367        simr3::Iicstif,
3368        simr3::Iicstif,
3369        Simr3_SPEC,
3370        crate::common::RW,
3371    > {
3372        crate::common::RegisterField::<
3373            3,
3374            0x1,
3375            1,
3376            0,
3377            simr3::Iicstif,
3378            simr3::Iicstif,
3379            Simr3_SPEC,
3380            crate::common::RW,
3381        >::from_register(self, 0)
3382    }
3383
3384    #[doc = "SDAn Output Select"]
3385    #[inline(always)]
3386    pub fn iicsdas(
3387        self,
3388    ) -> crate::common::RegisterField<
3389        4,
3390        0x3,
3391        1,
3392        0,
3393        simr3::Iicsdas,
3394        simr3::Iicsdas,
3395        Simr3_SPEC,
3396        crate::common::RW,
3397    > {
3398        crate::common::RegisterField::<
3399            4,
3400            0x3,
3401            1,
3402            0,
3403            simr3::Iicsdas,
3404            simr3::Iicsdas,
3405            Simr3_SPEC,
3406            crate::common::RW,
3407        >::from_register(self, 0)
3408    }
3409
3410    #[doc = "SCLn Output Select"]
3411    #[inline(always)]
3412    pub fn iicscls(
3413        self,
3414    ) -> crate::common::RegisterField<
3415        6,
3416        0x3,
3417        1,
3418        0,
3419        simr3::Iicscls,
3420        simr3::Iicscls,
3421        Simr3_SPEC,
3422        crate::common::RW,
3423    > {
3424        crate::common::RegisterField::<
3425            6,
3426            0x3,
3427            1,
3428            0,
3429            simr3::Iicscls,
3430            simr3::Iicscls,
3431            Simr3_SPEC,
3432            crate::common::RW,
3433        >::from_register(self, 0)
3434    }
3435}
3436impl ::core::default::Default for Simr3 {
3437    #[inline(always)]
3438    fn default() -> Simr3 {
3439        <crate::RegValueT<Simr3_SPEC> as RegisterValue<_>>::new(0)
3440    }
3441}
3442pub mod simr3 {
3443
3444    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3445    pub struct Iicstareq_SPEC;
3446    pub type Iicstareq = crate::EnumBitfieldStruct<u8, Iicstareq_SPEC>;
3447    impl Iicstareq {
3448        #[doc = "Do not generate start condition"]
3449        pub const _0: Self = Self::new(0);
3450
3451        #[doc = "Generate start condition"]
3452        pub const _1: Self = Self::new(1);
3453    }
3454    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3455    pub struct Iicrstareq_SPEC;
3456    pub type Iicrstareq = crate::EnumBitfieldStruct<u8, Iicrstareq_SPEC>;
3457    impl Iicrstareq {
3458        #[doc = "Do not generate restart condition"]
3459        pub const _0: Self = Self::new(0);
3460
3461        #[doc = "Generate restart condition"]
3462        pub const _1: Self = Self::new(1);
3463    }
3464    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3465    pub struct Iicstpreq_SPEC;
3466    pub type Iicstpreq = crate::EnumBitfieldStruct<u8, Iicstpreq_SPEC>;
3467    impl Iicstpreq {
3468        #[doc = "Do not generate stop condition"]
3469        pub const _0: Self = Self::new(0);
3470
3471        #[doc = "Generate stop condition"]
3472        pub const _1: Self = Self::new(1);
3473    }
3474    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3475    pub struct Iicstif_SPEC;
3476    pub type Iicstif = crate::EnumBitfieldStruct<u8, Iicstif_SPEC>;
3477    impl Iicstif {
3478        #[doc = "No requests are being made for generating conditions, or a condition is being generated"]
3479        pub const _0: Self = Self::new(0);
3480
3481        #[doc = "Generation of start, restart, or stop condition is complete. When 0 is written to IICSTIF, it is set to 0"]
3482        pub const _1: Self = Self::new(1);
3483    }
3484    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3485    pub struct Iicsdas_SPEC;
3486    pub type Iicsdas = crate::EnumBitfieldStruct<u8, Iicsdas_SPEC>;
3487    impl Iicsdas {
3488        #[doc = "Output serial data"]
3489        pub const _00: Self = Self::new(0);
3490
3491        #[doc = "Generate start, restart, or stop condition"]
3492        pub const _01: Self = Self::new(1);
3493
3494        #[doc = "Output low on SDAn pin"]
3495        pub const _10: Self = Self::new(2);
3496
3497        #[doc = "Drive SDAn pin to high-impedance state"]
3498        pub const _11: Self = Self::new(3);
3499    }
3500    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3501    pub struct Iicscls_SPEC;
3502    pub type Iicscls = crate::EnumBitfieldStruct<u8, Iicscls_SPEC>;
3503    impl Iicscls {
3504        #[doc = "Output serial clock"]
3505        pub const _00: Self = Self::new(0);
3506
3507        #[doc = "Generate start, restart, or stop condition"]
3508        pub const _01: Self = Self::new(1);
3509
3510        #[doc = "Output low on SCLn pin"]
3511        pub const _10: Self = Self::new(2);
3512
3513        #[doc = "Drive SCLn pin to high-impedance state"]
3514        pub const _11: Self = Self::new(3);
3515    }
3516}
3517#[doc(hidden)]
3518#[derive(Copy, Clone, Eq, PartialEq)]
3519pub struct Sisr_SPEC;
3520impl crate::sealed::RegSpec for Sisr_SPEC {
3521    type DataType = u8;
3522}
3523
3524#[doc = "IIC Status Register"]
3525pub type Sisr = crate::RegValueT<Sisr_SPEC>;
3526
3527impl Sisr {
3528    #[doc = "ACK Reception Data Flag"]
3529    #[inline(always)]
3530    pub fn iicackr(
3531        self,
3532    ) -> crate::common::RegisterField<
3533        0,
3534        0x1,
3535        1,
3536        0,
3537        sisr::Iicackr,
3538        sisr::Iicackr,
3539        Sisr_SPEC,
3540        crate::common::R,
3541    > {
3542        crate::common::RegisterField::<
3543            0,
3544            0x1,
3545            1,
3546            0,
3547            sisr::Iicackr,
3548            sisr::Iicackr,
3549            Sisr_SPEC,
3550            crate::common::R,
3551        >::from_register(self, 0)
3552    }
3553}
3554impl ::core::default::Default for Sisr {
3555    #[inline(always)]
3556    fn default() -> Sisr {
3557        <crate::RegValueT<Sisr_SPEC> as RegisterValue<_>>::new(0)
3558    }
3559}
3560pub mod sisr {
3561
3562    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3563    pub struct Iicackr_SPEC;
3564    pub type Iicackr = crate::EnumBitfieldStruct<u8, Iicackr_SPEC>;
3565    impl Iicackr {
3566        #[doc = "ACK received"]
3567        pub const _0: Self = Self::new(0);
3568
3569        #[doc = "NACK received"]
3570        pub const _1: Self = Self::new(1);
3571    }
3572}
3573#[doc(hidden)]
3574#[derive(Copy, Clone, Eq, PartialEq)]
3575pub struct Spmr_SPEC;
3576impl crate::sealed::RegSpec for Spmr_SPEC {
3577    type DataType = u8;
3578}
3579
3580#[doc = "SPI Mode Register"]
3581pub type Spmr = crate::RegValueT<Spmr_SPEC>;
3582
3583impl Spmr {
3584    #[doc = "SSn Pin Function Enable"]
3585    #[inline(always)]
3586    pub fn sse(
3587        self,
3588    ) -> crate::common::RegisterField<
3589        0,
3590        0x1,
3591        1,
3592        0,
3593        spmr::Sse,
3594        spmr::Sse,
3595        Spmr_SPEC,
3596        crate::common::RW,
3597    > {
3598        crate::common::RegisterField::<
3599            0,
3600            0x1,
3601            1,
3602            0,
3603            spmr::Sse,
3604            spmr::Sse,
3605            Spmr_SPEC,
3606            crate::common::RW,
3607        >::from_register(self, 0)
3608    }
3609
3610    #[doc = "CTS Enable"]
3611    #[inline(always)]
3612    pub fn ctse(
3613        self,
3614    ) -> crate::common::RegisterField<
3615        1,
3616        0x1,
3617        1,
3618        0,
3619        spmr::Ctse,
3620        spmr::Ctse,
3621        Spmr_SPEC,
3622        crate::common::RW,
3623    > {
3624        crate::common::RegisterField::<
3625            1,
3626            0x1,
3627            1,
3628            0,
3629            spmr::Ctse,
3630            spmr::Ctse,
3631            Spmr_SPEC,
3632            crate::common::RW,
3633        >::from_register(self, 0)
3634    }
3635
3636    #[doc = "Master Slave Select"]
3637    #[inline(always)]
3638    pub fn mss(
3639        self,
3640    ) -> crate::common::RegisterField<
3641        2,
3642        0x1,
3643        1,
3644        0,
3645        spmr::Mss,
3646        spmr::Mss,
3647        Spmr_SPEC,
3648        crate::common::RW,
3649    > {
3650        crate::common::RegisterField::<
3651            2,
3652            0x1,
3653            1,
3654            0,
3655            spmr::Mss,
3656            spmr::Mss,
3657            Spmr_SPEC,
3658            crate::common::RW,
3659        >::from_register(self, 0)
3660    }
3661
3662    #[doc = "CTS external pin Enable"]
3663    #[inline(always)]
3664    pub fn ctspen(
3665        self,
3666    ) -> crate::common::RegisterField<
3667        3,
3668        0x1,
3669        1,
3670        0,
3671        spmr::Ctspen,
3672        spmr::Ctspen,
3673        Spmr_SPEC,
3674        crate::common::RW,
3675    > {
3676        crate::common::RegisterField::<
3677            3,
3678            0x1,
3679            1,
3680            0,
3681            spmr::Ctspen,
3682            spmr::Ctspen,
3683            Spmr_SPEC,
3684            crate::common::RW,
3685        >::from_register(self, 0)
3686    }
3687
3688    #[doc = "Mode Fault Flag"]
3689    #[inline(always)]
3690    pub fn mff(
3691        self,
3692    ) -> crate::common::RegisterField<
3693        4,
3694        0x1,
3695        1,
3696        0,
3697        spmr::Mff,
3698        spmr::Mff,
3699        Spmr_SPEC,
3700        crate::common::RW,
3701    > {
3702        crate::common::RegisterField::<
3703            4,
3704            0x1,
3705            1,
3706            0,
3707            spmr::Mff,
3708            spmr::Mff,
3709            Spmr_SPEC,
3710            crate::common::RW,
3711        >::from_register(self, 0)
3712    }
3713
3714    #[doc = "Clock Polarity Select"]
3715    #[inline(always)]
3716    pub fn ckpol(
3717        self,
3718    ) -> crate::common::RegisterField<
3719        6,
3720        0x1,
3721        1,
3722        0,
3723        spmr::Ckpol,
3724        spmr::Ckpol,
3725        Spmr_SPEC,
3726        crate::common::RW,
3727    > {
3728        crate::common::RegisterField::<
3729            6,
3730            0x1,
3731            1,
3732            0,
3733            spmr::Ckpol,
3734            spmr::Ckpol,
3735            Spmr_SPEC,
3736            crate::common::RW,
3737        >::from_register(self, 0)
3738    }
3739
3740    #[doc = "Clock Phase Select"]
3741    #[inline(always)]
3742    pub fn ckph(
3743        self,
3744    ) -> crate::common::RegisterField<
3745        7,
3746        0x1,
3747        1,
3748        0,
3749        spmr::Ckph,
3750        spmr::Ckph,
3751        Spmr_SPEC,
3752        crate::common::RW,
3753    > {
3754        crate::common::RegisterField::<
3755            7,
3756            0x1,
3757            1,
3758            0,
3759            spmr::Ckph,
3760            spmr::Ckph,
3761            Spmr_SPEC,
3762            crate::common::RW,
3763        >::from_register(self, 0)
3764    }
3765}
3766impl ::core::default::Default for Spmr {
3767    #[inline(always)]
3768    fn default() -> Spmr {
3769        <crate::RegValueT<Spmr_SPEC> as RegisterValue<_>>::new(0)
3770    }
3771}
3772pub mod spmr {
3773
3774    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3775    pub struct Sse_SPEC;
3776    pub type Sse = crate::EnumBitfieldStruct<u8, Sse_SPEC>;
3777    impl Sse {
3778        #[doc = "Disable SSn pin function"]
3779        pub const _0: Self = Self::new(0);
3780
3781        #[doc = "Enable SSn pin function"]
3782        pub const _1: Self = Self::new(1);
3783    }
3784    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3785    pub struct Ctse_SPEC;
3786    pub type Ctse = crate::EnumBitfieldStruct<u8, Ctse_SPEC>;
3787    impl Ctse {
3788        #[doc = "Disable CTS function (enable RTS output function)"]
3789        pub const _0: Self = Self::new(0);
3790
3791        #[doc = "Enable CTS function"]
3792        pub const _1: Self = Self::new(1);
3793    }
3794    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3795    pub struct Mss_SPEC;
3796    pub type Mss = crate::EnumBitfieldStruct<u8, Mss_SPEC>;
3797    impl Mss {
3798        #[doc = "Transmit through TXDn pin and receive through RXDn pin (master mode)"]
3799        pub const _0: Self = Self::new(0);
3800
3801        #[doc = "Receive through TXDn pin and transmit through RXDn pin (slave mode)"]
3802        pub const _1: Self = Self::new(1);
3803    }
3804    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3805    pub struct Ctspen_SPEC;
3806    pub type Ctspen = crate::EnumBitfieldStruct<u8, Ctspen_SPEC>;
3807    impl Ctspen {
3808        #[doc = "Alternate setting to use CTS and RTS functions as either one terminal"]
3809        pub const _0: Self = Self::new(0);
3810
3811        #[doc = "Dedicated setting for separately using CTS and RTS functions with 2 terminals These bits for the other SCI channels than SCIn (n = 0, 3, 4, 9) are reserved."]
3812        pub const _1: Self = Self::new(1);
3813    }
3814    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3815    pub struct Mff_SPEC;
3816    pub type Mff = crate::EnumBitfieldStruct<u8, Mff_SPEC>;
3817    impl Mff {
3818        #[doc = "No mode fault error"]
3819        pub const _0: Self = Self::new(0);
3820
3821        #[doc = "Mode fault error"]
3822        pub const _1: Self = Self::new(1);
3823    }
3824    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3825    pub struct Ckpol_SPEC;
3826    pub type Ckpol = crate::EnumBitfieldStruct<u8, Ckpol_SPEC>;
3827    impl Ckpol {
3828        #[doc = "Do not invert clock polarity"]
3829        pub const _0: Self = Self::new(0);
3830
3831        #[doc = "Invert clock polarity"]
3832        pub const _1: Self = Self::new(1);
3833    }
3834    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3835    pub struct Ckph_SPEC;
3836    pub type Ckph = crate::EnumBitfieldStruct<u8, Ckph_SPEC>;
3837    impl Ckph {
3838        #[doc = "Do not delay clock"]
3839        pub const _0: Self = Self::new(0);
3840
3841        #[doc = "Delay clock"]
3842        pub const _1: Self = Self::new(1);
3843    }
3844}
3845#[doc(hidden)]
3846#[derive(Copy, Clone, Eq, PartialEq)]
3847pub struct Ftdrhl_SPEC;
3848impl crate::sealed::RegSpec for Ftdrhl_SPEC {
3849    type DataType = u16;
3850}
3851
3852#[doc = "Transmit FIFO Data Register"]
3853pub type Ftdrhl = crate::RegValueT<Ftdrhl_SPEC>;
3854
3855impl Ftdrhl {
3856    #[doc = "Serial transmit data"]
3857    #[inline(always)]
3858    pub fn tdat(
3859        self,
3860    ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Ftdrhl_SPEC, crate::common::W> {
3861        crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Ftdrhl_SPEC,crate::common::W>::from_register(self,0)
3862    }
3863
3864    #[doc = "Multi-Processor Transfer Bit Flag"]
3865    #[inline(always)]
3866    pub fn mpbt(
3867        self,
3868    ) -> crate::common::RegisterField<
3869        9,
3870        0x1,
3871        1,
3872        0,
3873        ftdrhl::Mpbt,
3874        ftdrhl::Mpbt,
3875        Ftdrhl_SPEC,
3876        crate::common::W,
3877    > {
3878        crate::common::RegisterField::<
3879            9,
3880            0x1,
3881            1,
3882            0,
3883            ftdrhl::Mpbt,
3884            ftdrhl::Mpbt,
3885            Ftdrhl_SPEC,
3886            crate::common::W,
3887        >::from_register(self, 0)
3888    }
3889}
3890impl ::core::default::Default for Ftdrhl {
3891    #[inline(always)]
3892    fn default() -> Ftdrhl {
3893        <crate::RegValueT<Ftdrhl_SPEC> as RegisterValue<_>>::new(65535)
3894    }
3895}
3896pub mod ftdrhl {
3897
3898    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3899    pub struct Mpbt_SPEC;
3900    pub type Mpbt = crate::EnumBitfieldStruct<u8, Mpbt_SPEC>;
3901    impl Mpbt {
3902        #[doc = "Data transmission cycle"]
3903        pub const _0: Self = Self::new(0);
3904
3905        #[doc = "ID transmission cycle"]
3906        pub const _1: Self = Self::new(1);
3907    }
3908}
3909#[doc(hidden)]
3910#[derive(Copy, Clone, Eq, PartialEq)]
3911pub struct Tdrhl_SPEC;
3912impl crate::sealed::RegSpec for Tdrhl_SPEC {
3913    type DataType = u16;
3914}
3915
3916#[doc = "Transmit Data Register for Non-Manchester mode (MMR.MANEN = 0)"]
3917pub type Tdrhl = crate::RegValueT<Tdrhl_SPEC>;
3918
3919impl Tdrhl {
3920    #[doc = "Serial Transmit Data"]
3921    #[inline(always)]
3922    pub fn tdat(
3923        self,
3924    ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Tdrhl_SPEC, crate::common::RW> {
3925        crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Tdrhl_SPEC,crate::common::RW>::from_register(self,0)
3926    }
3927}
3928impl ::core::default::Default for Tdrhl {
3929    #[inline(always)]
3930    fn default() -> Tdrhl {
3931        <crate::RegValueT<Tdrhl_SPEC> as RegisterValue<_>>::new(65535)
3932    }
3933}
3934
3935#[doc(hidden)]
3936#[derive(Copy, Clone, Eq, PartialEq)]
3937pub struct Ftdrh_SPEC;
3938impl crate::sealed::RegSpec for Ftdrh_SPEC {
3939    type DataType = u8;
3940}
3941
3942#[doc = "Transmit FIFO Data Register"]
3943pub type Ftdrh = crate::RegValueT<Ftdrh_SPEC>;
3944
3945impl Ftdrh {
3946    #[doc = "Serial transmit data"]
3947    #[inline(always)]
3948    pub fn tdat(self) -> crate::common::RegisterFieldBool<0, 1, 0, Ftdrh_SPEC, crate::common::W> {
3949        crate::common::RegisterFieldBool::<0, 1, 0, Ftdrh_SPEC, crate::common::W>::from_register(
3950            self, 0,
3951        )
3952    }
3953
3954    #[doc = "Multi-Processor Transfer Bit Flag"]
3955    #[inline(always)]
3956    pub fn mpbt(
3957        self,
3958    ) -> crate::common::RegisterField<
3959        1,
3960        0x1,
3961        1,
3962        0,
3963        ftdrh::Mpbt,
3964        ftdrh::Mpbt,
3965        Ftdrh_SPEC,
3966        crate::common::W,
3967    > {
3968        crate::common::RegisterField::<
3969            1,
3970            0x1,
3971            1,
3972            0,
3973            ftdrh::Mpbt,
3974            ftdrh::Mpbt,
3975            Ftdrh_SPEC,
3976            crate::common::W,
3977        >::from_register(self, 0)
3978    }
3979}
3980impl ::core::default::Default for Ftdrh {
3981    #[inline(always)]
3982    fn default() -> Ftdrh {
3983        <crate::RegValueT<Ftdrh_SPEC> as RegisterValue<_>>::new(255)
3984    }
3985}
3986pub mod ftdrh {
3987
3988    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3989    pub struct Mpbt_SPEC;
3990    pub type Mpbt = crate::EnumBitfieldStruct<u8, Mpbt_SPEC>;
3991    impl Mpbt {
3992        #[doc = "Data transmission cycle"]
3993        pub const _0: Self = Self::new(0);
3994
3995        #[doc = "ID transmission cycle"]
3996        pub const _1: Self = Self::new(1);
3997    }
3998}
3999#[doc(hidden)]
4000#[derive(Copy, Clone, Eq, PartialEq)]
4001pub struct Ftdrl_SPEC;
4002impl crate::sealed::RegSpec for Ftdrl_SPEC {
4003    type DataType = u8;
4004}
4005
4006#[doc = "Transmit FIFO Data Register"]
4007pub type Ftdrl = crate::RegValueT<Ftdrl_SPEC>;
4008
4009impl Ftdrl {
4010    #[doc = "Serial transmit data"]
4011    #[inline(always)]
4012    pub fn tdat(
4013        self,
4014    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Ftdrl_SPEC, crate::common::W> {
4015        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Ftdrl_SPEC,crate::common::W>::from_register(self,0)
4016    }
4017}
4018impl ::core::default::Default for Ftdrl {
4019    #[inline(always)]
4020    fn default() -> Ftdrl {
4021        <crate::RegValueT<Ftdrl_SPEC> as RegisterValue<_>>::new(255)
4022    }
4023}
4024
4025#[doc(hidden)]
4026#[derive(Copy, Clone, Eq, PartialEq)]
4027pub struct Frdrhl_SPEC;
4028impl crate::sealed::RegSpec for Frdrhl_SPEC {
4029    type DataType = u16;
4030}
4031
4032#[doc = "Receive FIFO Data Register"]
4033pub type Frdrhl = crate::RegValueT<Frdrhl_SPEC>;
4034
4035impl Frdrhl {
4036    #[doc = "Serial receive data"]
4037    #[inline(always)]
4038    pub fn rdat(
4039        self,
4040    ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Frdrhl_SPEC, crate::common::R> {
4041        crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Frdrhl_SPEC,crate::common::R>::from_register(self,0)
4042    }
4043
4044    #[doc = "Multi-Processor Bit Flag"]
4045    #[inline(always)]
4046    pub fn mpb(
4047        self,
4048    ) -> crate::common::RegisterField<
4049        9,
4050        0x1,
4051        1,
4052        0,
4053        frdrhl::Mpb,
4054        frdrhl::Mpb,
4055        Frdrhl_SPEC,
4056        crate::common::R,
4057    > {
4058        crate::common::RegisterField::<
4059            9,
4060            0x1,
4061            1,
4062            0,
4063            frdrhl::Mpb,
4064            frdrhl::Mpb,
4065            Frdrhl_SPEC,
4066            crate::common::R,
4067        >::from_register(self, 0)
4068    }
4069
4070    #[doc = "Receive Data Ready Flag"]
4071    #[inline(always)]
4072    pub fn dr(
4073        self,
4074    ) -> crate::common::RegisterField<
4075        10,
4076        0x1,
4077        1,
4078        0,
4079        frdrhl::Dr,
4080        frdrhl::Dr,
4081        Frdrhl_SPEC,
4082        crate::common::R,
4083    > {
4084        crate::common::RegisterField::<
4085            10,
4086            0x1,
4087            1,
4088            0,
4089            frdrhl::Dr,
4090            frdrhl::Dr,
4091            Frdrhl_SPEC,
4092            crate::common::R,
4093        >::from_register(self, 0)
4094    }
4095
4096    #[doc = "Parity Error Flag"]
4097    #[inline(always)]
4098    pub fn per(
4099        self,
4100    ) -> crate::common::RegisterField<
4101        11,
4102        0x1,
4103        1,
4104        0,
4105        frdrhl::Per,
4106        frdrhl::Per,
4107        Frdrhl_SPEC,
4108        crate::common::R,
4109    > {
4110        crate::common::RegisterField::<
4111            11,
4112            0x1,
4113            1,
4114            0,
4115            frdrhl::Per,
4116            frdrhl::Per,
4117            Frdrhl_SPEC,
4118            crate::common::R,
4119        >::from_register(self, 0)
4120    }
4121
4122    #[doc = "Framing Error Flag"]
4123    #[inline(always)]
4124    pub fn fer(
4125        self,
4126    ) -> crate::common::RegisterField<
4127        12,
4128        0x1,
4129        1,
4130        0,
4131        frdrhl::Fer,
4132        frdrhl::Fer,
4133        Frdrhl_SPEC,
4134        crate::common::R,
4135    > {
4136        crate::common::RegisterField::<
4137            12,
4138            0x1,
4139            1,
4140            0,
4141            frdrhl::Fer,
4142            frdrhl::Fer,
4143            Frdrhl_SPEC,
4144            crate::common::R,
4145        >::from_register(self, 0)
4146    }
4147
4148    #[doc = "Overrun Error Flag"]
4149    #[inline(always)]
4150    pub fn orer(
4151        self,
4152    ) -> crate::common::RegisterField<
4153        13,
4154        0x1,
4155        1,
4156        0,
4157        frdrhl::Orer,
4158        frdrhl::Orer,
4159        Frdrhl_SPEC,
4160        crate::common::R,
4161    > {
4162        crate::common::RegisterField::<
4163            13,
4164            0x1,
4165            1,
4166            0,
4167            frdrhl::Orer,
4168            frdrhl::Orer,
4169            Frdrhl_SPEC,
4170            crate::common::R,
4171        >::from_register(self, 0)
4172    }
4173
4174    #[doc = "Receive FIFO Data Full Flag"]
4175    #[inline(always)]
4176    pub fn rdf(
4177        self,
4178    ) -> crate::common::RegisterField<
4179        14,
4180        0x1,
4181        1,
4182        0,
4183        frdrhl::Rdf,
4184        frdrhl::Rdf,
4185        Frdrhl_SPEC,
4186        crate::common::R,
4187    > {
4188        crate::common::RegisterField::<
4189            14,
4190            0x1,
4191            1,
4192            0,
4193            frdrhl::Rdf,
4194            frdrhl::Rdf,
4195            Frdrhl_SPEC,
4196            crate::common::R,
4197        >::from_register(self, 0)
4198    }
4199}
4200impl ::core::default::Default for Frdrhl {
4201    #[inline(always)]
4202    fn default() -> Frdrhl {
4203        <crate::RegValueT<Frdrhl_SPEC> as RegisterValue<_>>::new(0)
4204    }
4205}
4206pub mod frdrhl {
4207
4208    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4209    pub struct Mpb_SPEC;
4210    pub type Mpb = crate::EnumBitfieldStruct<u8, Mpb_SPEC>;
4211    impl Mpb {
4212        #[doc = "Data transmission cycle"]
4213        pub const _0: Self = Self::new(0);
4214
4215        #[doc = "ID transmission cycle"]
4216        pub const _1: Self = Self::new(1);
4217    }
4218    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4219    pub struct Dr_SPEC;
4220    pub type Dr = crate::EnumBitfieldStruct<u8, Dr_SPEC>;
4221    impl Dr {
4222        #[doc = "Receiving is in progress, or no received data remains in the FRDRH and FRDRL registers after successfully completed reception"]
4223        pub const _0: Self = Self::new(0);
4224
4225        #[doc = "Next receive data is not received for a period after successfully completed reception"]
4226        pub const _1: Self = Self::new(1);
4227    }
4228    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4229    pub struct Per_SPEC;
4230    pub type Per = crate::EnumBitfieldStruct<u8, Per_SPEC>;
4231    impl Per {
4232        #[doc = "No parity error occurred in the first data of FRDRH and FRDRL"]
4233        pub const _0: Self = Self::new(0);
4234
4235        #[doc = "Parity error occurred in the first data of FRDRH and FRDRL"]
4236        pub const _1: Self = Self::new(1);
4237    }
4238    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4239    pub struct Fer_SPEC;
4240    pub type Fer = crate::EnumBitfieldStruct<u8, Fer_SPEC>;
4241    impl Fer {
4242        #[doc = "No framing error occurred in the first data of FRDRH and FRDRL"]
4243        pub const _0: Self = Self::new(0);
4244
4245        #[doc = "Framing error occurred in the first data of FRDRH and FRDRL"]
4246        pub const _1: Self = Self::new(1);
4247    }
4248    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4249    pub struct Orer_SPEC;
4250    pub type Orer = crate::EnumBitfieldStruct<u8, Orer_SPEC>;
4251    impl Orer {
4252        #[doc = "No overrun error occurred"]
4253        pub const _0: Self = Self::new(0);
4254
4255        #[doc = "Overrun error occurred"]
4256        pub const _1: Self = Self::new(1);
4257    }
4258    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4259    pub struct Rdf_SPEC;
4260    pub type Rdf = crate::EnumBitfieldStruct<u8, Rdf_SPEC>;
4261    impl Rdf {
4262        #[doc = "The amount of receive data written in FRDRH and FRDRL is less than the specified receive triggering number"]
4263        pub const _0: Self = Self::new(0);
4264
4265        #[doc = "The amount of receive data written in FRDRH and FRDRL is equal to or greater than the specified receive triggering number"]
4266        pub const _1: Self = Self::new(1);
4267    }
4268}
4269#[doc(hidden)]
4270#[derive(Copy, Clone, Eq, PartialEq)]
4271pub struct Rdrhl_SPEC;
4272impl crate::sealed::RegSpec for Rdrhl_SPEC {
4273    type DataType = u16;
4274}
4275
4276#[doc = "Receive Data Register for Non-Manchester mode (MMR.MANEN = 0)"]
4277pub type Rdrhl = crate::RegValueT<Rdrhl_SPEC>;
4278
4279impl Rdrhl {
4280    #[doc = "Serial Receive Data"]
4281    #[inline(always)]
4282    pub fn rdat(
4283        self,
4284    ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Rdrhl_SPEC, crate::common::R> {
4285        crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Rdrhl_SPEC,crate::common::R>::from_register(self,0)
4286    }
4287}
4288impl ::core::default::Default for Rdrhl {
4289    #[inline(always)]
4290    fn default() -> Rdrhl {
4291        <crate::RegValueT<Rdrhl_SPEC> as RegisterValue<_>>::new(0)
4292    }
4293}
4294
4295#[doc(hidden)]
4296#[derive(Copy, Clone, Eq, PartialEq)]
4297pub struct Frdrh_SPEC;
4298impl crate::sealed::RegSpec for Frdrh_SPEC {
4299    type DataType = u8;
4300}
4301
4302#[doc = "Receive FIFO Data Register"]
4303pub type Frdrh = crate::RegValueT<Frdrh_SPEC>;
4304
4305impl Frdrh {
4306    #[doc = "Serial receive data"]
4307    #[inline(always)]
4308    pub fn rdat(self) -> crate::common::RegisterFieldBool<0, 1, 0, Frdrh_SPEC, crate::common::R> {
4309        crate::common::RegisterFieldBool::<0, 1, 0, Frdrh_SPEC, crate::common::R>::from_register(
4310            self, 0,
4311        )
4312    }
4313
4314    #[doc = "Multi-Processor Bit Flag"]
4315    #[inline(always)]
4316    pub fn mpb(
4317        self,
4318    ) -> crate::common::RegisterField<
4319        1,
4320        0x1,
4321        1,
4322        0,
4323        frdrh::Mpb,
4324        frdrh::Mpb,
4325        Frdrh_SPEC,
4326        crate::common::R,
4327    > {
4328        crate::common::RegisterField::<
4329            1,
4330            0x1,
4331            1,
4332            0,
4333            frdrh::Mpb,
4334            frdrh::Mpb,
4335            Frdrh_SPEC,
4336            crate::common::R,
4337        >::from_register(self, 0)
4338    }
4339
4340    #[doc = "Receive Data Ready Flag"]
4341    #[inline(always)]
4342    pub fn dr(
4343        self,
4344    ) -> crate::common::RegisterField<
4345        2,
4346        0x1,
4347        1,
4348        0,
4349        frdrh::Dr,
4350        frdrh::Dr,
4351        Frdrh_SPEC,
4352        crate::common::R,
4353    > {
4354        crate::common::RegisterField::<
4355            2,
4356            0x1,
4357            1,
4358            0,
4359            frdrh::Dr,
4360            frdrh::Dr,
4361            Frdrh_SPEC,
4362            crate::common::R,
4363        >::from_register(self, 0)
4364    }
4365
4366    #[doc = "Parity Error Flag"]
4367    #[inline(always)]
4368    pub fn per(
4369        self,
4370    ) -> crate::common::RegisterField<
4371        3,
4372        0x1,
4373        1,
4374        0,
4375        frdrh::Per,
4376        frdrh::Per,
4377        Frdrh_SPEC,
4378        crate::common::R,
4379    > {
4380        crate::common::RegisterField::<
4381            3,
4382            0x1,
4383            1,
4384            0,
4385            frdrh::Per,
4386            frdrh::Per,
4387            Frdrh_SPEC,
4388            crate::common::R,
4389        >::from_register(self, 0)
4390    }
4391
4392    #[doc = "Framing Error Flag"]
4393    #[inline(always)]
4394    pub fn fer(
4395        self,
4396    ) -> crate::common::RegisterField<
4397        4,
4398        0x1,
4399        1,
4400        0,
4401        frdrh::Fer,
4402        frdrh::Fer,
4403        Frdrh_SPEC,
4404        crate::common::R,
4405    > {
4406        crate::common::RegisterField::<
4407            4,
4408            0x1,
4409            1,
4410            0,
4411            frdrh::Fer,
4412            frdrh::Fer,
4413            Frdrh_SPEC,
4414            crate::common::R,
4415        >::from_register(self, 0)
4416    }
4417
4418    #[doc = "Overrun Error Flag"]
4419    #[inline(always)]
4420    pub fn orer(
4421        self,
4422    ) -> crate::common::RegisterField<
4423        5,
4424        0x1,
4425        1,
4426        0,
4427        frdrh::Orer,
4428        frdrh::Orer,
4429        Frdrh_SPEC,
4430        crate::common::R,
4431    > {
4432        crate::common::RegisterField::<
4433            5,
4434            0x1,
4435            1,
4436            0,
4437            frdrh::Orer,
4438            frdrh::Orer,
4439            Frdrh_SPEC,
4440            crate::common::R,
4441        >::from_register(self, 0)
4442    }
4443
4444    #[doc = "Receive FIFO Data Full Flag"]
4445    #[inline(always)]
4446    pub fn rdf(
4447        self,
4448    ) -> crate::common::RegisterField<
4449        6,
4450        0x1,
4451        1,
4452        0,
4453        frdrh::Rdf,
4454        frdrh::Rdf,
4455        Frdrh_SPEC,
4456        crate::common::R,
4457    > {
4458        crate::common::RegisterField::<
4459            6,
4460            0x1,
4461            1,
4462            0,
4463            frdrh::Rdf,
4464            frdrh::Rdf,
4465            Frdrh_SPEC,
4466            crate::common::R,
4467        >::from_register(self, 0)
4468    }
4469}
4470impl ::core::default::Default for Frdrh {
4471    #[inline(always)]
4472    fn default() -> Frdrh {
4473        <crate::RegValueT<Frdrh_SPEC> as RegisterValue<_>>::new(0)
4474    }
4475}
4476pub mod frdrh {
4477
4478    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4479    pub struct Mpb_SPEC;
4480    pub type Mpb = crate::EnumBitfieldStruct<u8, Mpb_SPEC>;
4481    impl Mpb {
4482        #[doc = "Data transmission cycle"]
4483        pub const _0: Self = Self::new(0);
4484
4485        #[doc = "ID transmission cycle"]
4486        pub const _1: Self = Self::new(1);
4487    }
4488    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4489    pub struct Dr_SPEC;
4490    pub type Dr = crate::EnumBitfieldStruct<u8, Dr_SPEC>;
4491    impl Dr {
4492        #[doc = "Receiving is in progress, or no received data remains in the FRDRH and FRDRL registers after successfully completed reception"]
4493        pub const _0: Self = Self::new(0);
4494
4495        #[doc = "Next receive data is not received for a period after successfully completed reception"]
4496        pub const _1: Self = Self::new(1);
4497    }
4498    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4499    pub struct Per_SPEC;
4500    pub type Per = crate::EnumBitfieldStruct<u8, Per_SPEC>;
4501    impl Per {
4502        #[doc = "No parity error occurred in the first data of FRDRH and FRDRL"]
4503        pub const _0: Self = Self::new(0);
4504
4505        #[doc = "Parity error occurred in the first data of FRDRH and FRDRL"]
4506        pub const _1: Self = Self::new(1);
4507    }
4508    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4509    pub struct Fer_SPEC;
4510    pub type Fer = crate::EnumBitfieldStruct<u8, Fer_SPEC>;
4511    impl Fer {
4512        #[doc = "No framing error occurred in the first data of FRDRH and FRDRL"]
4513        pub const _0: Self = Self::new(0);
4514
4515        #[doc = "Framing error occurred in the first data of FRDRH and FRDRL"]
4516        pub const _1: Self = Self::new(1);
4517    }
4518    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4519    pub struct Orer_SPEC;
4520    pub type Orer = crate::EnumBitfieldStruct<u8, Orer_SPEC>;
4521    impl Orer {
4522        #[doc = "No overrun error occurred"]
4523        pub const _0: Self = Self::new(0);
4524
4525        #[doc = "Overrun error occurred"]
4526        pub const _1: Self = Self::new(1);
4527    }
4528    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4529    pub struct Rdf_SPEC;
4530    pub type Rdf = crate::EnumBitfieldStruct<u8, Rdf_SPEC>;
4531    impl Rdf {
4532        #[doc = "The amount of receive data written in FRDRH and FRDRL is less than the specified receive triggering number"]
4533        pub const _0: Self = Self::new(0);
4534
4535        #[doc = "The amount of receive data written in FRDRH and FRDRL is equal to or greater than the specified receive triggering number"]
4536        pub const _1: Self = Self::new(1);
4537    }
4538}
4539#[doc(hidden)]
4540#[derive(Copy, Clone, Eq, PartialEq)]
4541pub struct Frdrl_SPEC;
4542impl crate::sealed::RegSpec for Frdrl_SPEC {
4543    type DataType = u8;
4544}
4545
4546#[doc = "Receive FIFO Data Register"]
4547pub type Frdrl = crate::RegValueT<Frdrl_SPEC>;
4548
4549impl Frdrl {
4550    #[doc = "Serial receive data"]
4551    #[inline(always)]
4552    pub fn rdat(
4553        self,
4554    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Frdrl_SPEC, crate::common::R> {
4555        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Frdrl_SPEC,crate::common::R>::from_register(self,0)
4556    }
4557}
4558impl ::core::default::Default for Frdrl {
4559    #[inline(always)]
4560    fn default() -> Frdrl {
4561        <crate::RegValueT<Frdrl_SPEC> as RegisterValue<_>>::new(0)
4562    }
4563}
4564
4565#[doc(hidden)]
4566#[derive(Copy, Clone, Eq, PartialEq)]
4567pub struct Mddr_SPEC;
4568impl crate::sealed::RegSpec for Mddr_SPEC {
4569    type DataType = u8;
4570}
4571
4572#[doc = "Modulation Duty Register"]
4573pub type Mddr = crate::RegValueT<Mddr_SPEC>;
4574
4575impl NoBitfieldReg<Mddr_SPEC> for Mddr {}
4576impl ::core::default::Default for Mddr {
4577    #[inline(always)]
4578    fn default() -> Mddr {
4579        <crate::RegValueT<Mddr_SPEC> as RegisterValue<_>>::new(255)
4580    }
4581}
4582
4583#[doc(hidden)]
4584#[derive(Copy, Clone, Eq, PartialEq)]
4585pub struct Dccr_SPEC;
4586impl crate::sealed::RegSpec for Dccr_SPEC {
4587    type DataType = u8;
4588}
4589
4590#[doc = "Data Compare Match Control Register"]
4591pub type Dccr = crate::RegValueT<Dccr_SPEC>;
4592
4593impl Dccr {
4594    #[doc = "Data Compare Match Flag"]
4595    #[inline(always)]
4596    pub fn dcmf(
4597        self,
4598    ) -> crate::common::RegisterField<
4599        0,
4600        0x1,
4601        1,
4602        0,
4603        dccr::Dcmf,
4604        dccr::Dcmf,
4605        Dccr_SPEC,
4606        crate::common::RW,
4607    > {
4608        crate::common::RegisterField::<
4609            0,
4610            0x1,
4611            1,
4612            0,
4613            dccr::Dcmf,
4614            dccr::Dcmf,
4615            Dccr_SPEC,
4616            crate::common::RW,
4617        >::from_register(self, 0)
4618    }
4619
4620    #[doc = "Data Compare Match Parity Error Flag"]
4621    #[inline(always)]
4622    pub fn dper(
4623        self,
4624    ) -> crate::common::RegisterField<
4625        3,
4626        0x1,
4627        1,
4628        0,
4629        dccr::Dper,
4630        dccr::Dper,
4631        Dccr_SPEC,
4632        crate::common::RW,
4633    > {
4634        crate::common::RegisterField::<
4635            3,
4636            0x1,
4637            1,
4638            0,
4639            dccr::Dper,
4640            dccr::Dper,
4641            Dccr_SPEC,
4642            crate::common::RW,
4643        >::from_register(self, 0)
4644    }
4645
4646    #[doc = "Data Compare Match Framing Error Flag"]
4647    #[inline(always)]
4648    pub fn dfer(
4649        self,
4650    ) -> crate::common::RegisterField<
4651        4,
4652        0x1,
4653        1,
4654        0,
4655        dccr::Dfer,
4656        dccr::Dfer,
4657        Dccr_SPEC,
4658        crate::common::RW,
4659    > {
4660        crate::common::RegisterField::<
4661            4,
4662            0x1,
4663            1,
4664            0,
4665            dccr::Dfer,
4666            dccr::Dfer,
4667            Dccr_SPEC,
4668            crate::common::RW,
4669        >::from_register(self, 0)
4670    }
4671
4672    #[doc = "ID Frame Select"]
4673    #[inline(always)]
4674    pub fn idsel(
4675        self,
4676    ) -> crate::common::RegisterField<
4677        6,
4678        0x1,
4679        1,
4680        0,
4681        dccr::Idsel,
4682        dccr::Idsel,
4683        Dccr_SPEC,
4684        crate::common::RW,
4685    > {
4686        crate::common::RegisterField::<
4687            6,
4688            0x1,
4689            1,
4690            0,
4691            dccr::Idsel,
4692            dccr::Idsel,
4693            Dccr_SPEC,
4694            crate::common::RW,
4695        >::from_register(self, 0)
4696    }
4697
4698    #[doc = "Data Compare Match Enable"]
4699    #[inline(always)]
4700    pub fn dcme(
4701        self,
4702    ) -> crate::common::RegisterField<
4703        7,
4704        0x1,
4705        1,
4706        0,
4707        dccr::Dcme,
4708        dccr::Dcme,
4709        Dccr_SPEC,
4710        crate::common::RW,
4711    > {
4712        crate::common::RegisterField::<
4713            7,
4714            0x1,
4715            1,
4716            0,
4717            dccr::Dcme,
4718            dccr::Dcme,
4719            Dccr_SPEC,
4720            crate::common::RW,
4721        >::from_register(self, 0)
4722    }
4723}
4724impl ::core::default::Default for Dccr {
4725    #[inline(always)]
4726    fn default() -> Dccr {
4727        <crate::RegValueT<Dccr_SPEC> as RegisterValue<_>>::new(64)
4728    }
4729}
4730pub mod dccr {
4731
4732    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4733    pub struct Dcmf_SPEC;
4734    pub type Dcmf = crate::EnumBitfieldStruct<u8, Dcmf_SPEC>;
4735    impl Dcmf {
4736        #[doc = "Not matched"]
4737        pub const _0: Self = Self::new(0);
4738
4739        #[doc = "Matched"]
4740        pub const _1: Self = Self::new(1);
4741    }
4742    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4743    pub struct Dper_SPEC;
4744    pub type Dper = crate::EnumBitfieldStruct<u8, Dper_SPEC>;
4745    impl Dper {
4746        #[doc = "No parity error occurred"]
4747        pub const _0: Self = Self::new(0);
4748
4749        #[doc = "Parity error occurred"]
4750        pub const _1: Self = Self::new(1);
4751    }
4752    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4753    pub struct Dfer_SPEC;
4754    pub type Dfer = crate::EnumBitfieldStruct<u8, Dfer_SPEC>;
4755    impl Dfer {
4756        #[doc = "No framing error occurred"]
4757        pub const _0: Self = Self::new(0);
4758
4759        #[doc = "Framing error occurred"]
4760        pub const _1: Self = Self::new(1);
4761    }
4762    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4763    pub struct Idsel_SPEC;
4764    pub type Idsel = crate::EnumBitfieldStruct<u8, Idsel_SPEC>;
4765    impl Idsel {
4766        #[doc = "Always compare data regardless of the MPB bit value"]
4767        pub const _0: Self = Self::new(0);
4768
4769        #[doc = "Only compare data when MPB bit = 1 (ID frame)"]
4770        pub const _1: Self = Self::new(1);
4771    }
4772    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4773    pub struct Dcme_SPEC;
4774    pub type Dcme = crate::EnumBitfieldStruct<u8, Dcme_SPEC>;
4775    impl Dcme {
4776        #[doc = "Disable address match function"]
4777        pub const _0: Self = Self::new(0);
4778
4779        #[doc = "Enable address match function"]
4780        pub const _1: Self = Self::new(1);
4781    }
4782}
4783#[doc(hidden)]
4784#[derive(Copy, Clone, Eq, PartialEq)]
4785pub struct Fcr_SPEC;
4786impl crate::sealed::RegSpec for Fcr_SPEC {
4787    type DataType = u16;
4788}
4789
4790#[doc = "FIFO Control Register"]
4791pub type Fcr = crate::RegValueT<Fcr_SPEC>;
4792
4793impl Fcr {
4794    #[doc = "FIFO Mode Select"]
4795    #[inline(always)]
4796    pub fn fm(
4797        self,
4798    ) -> crate::common::RegisterField<0, 0x1, 1, 0, fcr::Fm, fcr::Fm, Fcr_SPEC, crate::common::RW>
4799    {
4800        crate::common::RegisterField::<0,0x1,1,0,fcr::Fm,fcr::Fm,Fcr_SPEC,crate::common::RW>::from_register(self,0)
4801    }
4802
4803    #[doc = "Receive FIFO Data Register Reset"]
4804    #[inline(always)]
4805    pub fn rfrst(
4806        self,
4807    ) -> crate::common::RegisterField<
4808        1,
4809        0x1,
4810        1,
4811        0,
4812        fcr::Rfrst,
4813        fcr::Rfrst,
4814        Fcr_SPEC,
4815        crate::common::RW,
4816    > {
4817        crate::common::RegisterField::<
4818            1,
4819            0x1,
4820            1,
4821            0,
4822            fcr::Rfrst,
4823            fcr::Rfrst,
4824            Fcr_SPEC,
4825            crate::common::RW,
4826        >::from_register(self, 0)
4827    }
4828
4829    #[doc = "Transmit FIFO Data Register Reset"]
4830    #[inline(always)]
4831    pub fn tfrst(
4832        self,
4833    ) -> crate::common::RegisterField<
4834        2,
4835        0x1,
4836        1,
4837        0,
4838        fcr::Tfrst,
4839        fcr::Tfrst,
4840        Fcr_SPEC,
4841        crate::common::RW,
4842    > {
4843        crate::common::RegisterField::<
4844            2,
4845            0x1,
4846            1,
4847            0,
4848            fcr::Tfrst,
4849            fcr::Tfrst,
4850            Fcr_SPEC,
4851            crate::common::RW,
4852        >::from_register(self, 0)
4853    }
4854
4855    #[doc = "Receive Data Ready Error Select"]
4856    #[inline(always)]
4857    pub fn dres(
4858        self,
4859    ) -> crate::common::RegisterField<3, 0x1, 1, 0, fcr::Dres, fcr::Dres, Fcr_SPEC, crate::common::RW>
4860    {
4861        crate::common::RegisterField::<
4862            3,
4863            0x1,
4864            1,
4865            0,
4866            fcr::Dres,
4867            fcr::Dres,
4868            Fcr_SPEC,
4869            crate::common::RW,
4870        >::from_register(self, 0)
4871    }
4872
4873    #[doc = "Transmit FIFO Data Trigger Number"]
4874    #[inline(always)]
4875    pub fn ttrg(
4876        self,
4877    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, Fcr_SPEC, crate::common::RW> {
4878        crate::common::RegisterField::<4,0xf,1,0,u8,u8,Fcr_SPEC,crate::common::RW>::from_register(self,0)
4879    }
4880
4881    #[doc = "Receive FIFO Data Trigger Number"]
4882    #[inline(always)]
4883    pub fn rtrg(
4884        self,
4885    ) -> crate::common::RegisterField<8, 0xf, 1, 0, u8, u8, Fcr_SPEC, crate::common::RW> {
4886        crate::common::RegisterField::<8,0xf,1,0,u8,u8,Fcr_SPEC,crate::common::RW>::from_register(self,0)
4887    }
4888
4889    #[doc = "RTS Output Active Trigger Number Select"]
4890    #[inline(always)]
4891    pub fn rstrg(
4892        self,
4893    ) -> crate::common::RegisterField<12, 0xf, 1, 0, u8, u8, Fcr_SPEC, crate::common::RW> {
4894        crate::common::RegisterField::<12,0xf,1,0,u8,u8,Fcr_SPEC,crate::common::RW>::from_register(self,0)
4895    }
4896}
4897impl ::core::default::Default for Fcr {
4898    #[inline(always)]
4899    fn default() -> Fcr {
4900        <crate::RegValueT<Fcr_SPEC> as RegisterValue<_>>::new(63488)
4901    }
4902}
4903pub mod fcr {
4904
4905    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4906    pub struct Fm_SPEC;
4907    pub type Fm = crate::EnumBitfieldStruct<u8, Fm_SPEC>;
4908    impl Fm {
4909        #[doc = "Non-FIFO mode. Selects TDR/RDR or TDRHL/RDRHL for communication."]
4910        pub const _0: Self = Self::new(0);
4911
4912        #[doc = "FIFO mode. Selects FTDRHL/FRDRHL for communication."]
4913        pub const _1: Self = Self::new(1);
4914    }
4915    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4916    pub struct Rfrst_SPEC;
4917    pub type Rfrst = crate::EnumBitfieldStruct<u8, Rfrst_SPEC>;
4918    impl Rfrst {
4919        #[doc = "Do not reset FRDRHL"]
4920        pub const _0: Self = Self::new(0);
4921
4922        #[doc = "Reset FRDRHL"]
4923        pub const _1: Self = Self::new(1);
4924    }
4925    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4926    pub struct Tfrst_SPEC;
4927    pub type Tfrst = crate::EnumBitfieldStruct<u8, Tfrst_SPEC>;
4928    impl Tfrst {
4929        #[doc = "Do not reset FTDRHL"]
4930        pub const _0: Self = Self::new(0);
4931
4932        #[doc = "Reset FTDRHL"]
4933        pub const _1: Self = Self::new(1);
4934    }
4935    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4936    pub struct Dres_SPEC;
4937    pub type Dres = crate::EnumBitfieldStruct<u8, Dres_SPEC>;
4938    impl Dres {
4939        #[doc = "Receive data full interrupt (SCIn_RXI)"]
4940        pub const _0: Self = Self::new(0);
4941
4942        #[doc = "Receive error interrupt (SCIn_ERI)"]
4943        pub const _1: Self = Self::new(1);
4944    }
4945}
4946#[doc(hidden)]
4947#[derive(Copy, Clone, Eq, PartialEq)]
4948pub struct Fdr_SPEC;
4949impl crate::sealed::RegSpec for Fdr_SPEC {
4950    type DataType = u16;
4951}
4952
4953#[doc = "FIFO Data Count Register"]
4954pub type Fdr = crate::RegValueT<Fdr_SPEC>;
4955
4956impl Fdr {
4957    #[doc = "Receive FIFO Data Count"]
4958    #[inline(always)]
4959    pub fn r(
4960        self,
4961    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, Fdr_SPEC, crate::common::R> {
4962        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,Fdr_SPEC,crate::common::R>::from_register(self,0)
4963    }
4964
4965    #[doc = "Transmit FIFO Data Count"]
4966    #[inline(always)]
4967    pub fn t(
4968        self,
4969    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, Fdr_SPEC, crate::common::R> {
4970        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,Fdr_SPEC,crate::common::R>::from_register(self,0)
4971    }
4972}
4973impl ::core::default::Default for Fdr {
4974    #[inline(always)]
4975    fn default() -> Fdr {
4976        <crate::RegValueT<Fdr_SPEC> as RegisterValue<_>>::new(0)
4977    }
4978}
4979
4980#[doc(hidden)]
4981#[derive(Copy, Clone, Eq, PartialEq)]
4982pub struct Lsr_SPEC;
4983impl crate::sealed::RegSpec for Lsr_SPEC {
4984    type DataType = u16;
4985}
4986
4987#[doc = "Line Status Register"]
4988pub type Lsr = crate::RegValueT<Lsr_SPEC>;
4989
4990impl Lsr {
4991    #[doc = "Overrun Error Flag"]
4992    #[inline(always)]
4993    pub fn orer(
4994        self,
4995    ) -> crate::common::RegisterField<0, 0x1, 1, 0, lsr::Orer, lsr::Orer, Lsr_SPEC, crate::common::R>
4996    {
4997        crate::common::RegisterField::<0,0x1,1,0,lsr::Orer,lsr::Orer,Lsr_SPEC,crate::common::R>::from_register(self,0)
4998    }
4999
5000    #[doc = "Framing Error Count"]
5001    #[inline(always)]
5002    pub fn fnum(
5003        self,
5004    ) -> crate::common::RegisterField<2, 0x1f, 1, 0, u8, u8, Lsr_SPEC, crate::common::R> {
5005        crate::common::RegisterField::<2,0x1f,1,0,u8,u8,Lsr_SPEC,crate::common::R>::from_register(self,0)
5006    }
5007
5008    #[doc = "Parity Error Count"]
5009    #[inline(always)]
5010    pub fn pnum(
5011        self,
5012    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, Lsr_SPEC, crate::common::R> {
5013        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,Lsr_SPEC,crate::common::R>::from_register(self,0)
5014    }
5015}
5016impl ::core::default::Default for Lsr {
5017    #[inline(always)]
5018    fn default() -> Lsr {
5019        <crate::RegValueT<Lsr_SPEC> as RegisterValue<_>>::new(0)
5020    }
5021}
5022pub mod lsr {
5023
5024    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5025    pub struct Orer_SPEC;
5026    pub type Orer = crate::EnumBitfieldStruct<u8, Orer_SPEC>;
5027    impl Orer {
5028        #[doc = "No overrun error occurred"]
5029        pub const _0: Self = Self::new(0);
5030
5031        #[doc = "Overrun error occurred"]
5032        pub const _1: Self = Self::new(1);
5033    }
5034}
5035#[doc(hidden)]
5036#[derive(Copy, Clone, Eq, PartialEq)]
5037pub struct Cdr_SPEC;
5038impl crate::sealed::RegSpec for Cdr_SPEC {
5039    type DataType = u16;
5040}
5041
5042#[doc = "Compare Match Data Register"]
5043pub type Cdr = crate::RegValueT<Cdr_SPEC>;
5044
5045impl Cdr {
5046    #[doc = "Compare Match Data"]
5047    #[inline(always)]
5048    pub fn cmpd(
5049        self,
5050    ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Cdr_SPEC, crate::common::RW> {
5051        crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Cdr_SPEC,crate::common::RW>::from_register(self,0)
5052    }
5053}
5054impl ::core::default::Default for Cdr {
5055    #[inline(always)]
5056    fn default() -> Cdr {
5057        <crate::RegValueT<Cdr_SPEC> as RegisterValue<_>>::new(0)
5058    }
5059}
5060
5061#[doc(hidden)]
5062#[derive(Copy, Clone, Eq, PartialEq)]
5063pub struct Sptr_SPEC;
5064impl crate::sealed::RegSpec for Sptr_SPEC {
5065    type DataType = u8;
5066}
5067
5068#[doc = "Serial Port Register"]
5069pub type Sptr = crate::RegValueT<Sptr_SPEC>;
5070
5071impl Sptr {
5072    #[doc = "Serial Input Data Monitor"]
5073    #[inline(always)]
5074    pub fn rxdmon(self) -> crate::common::RegisterFieldBool<0, 1, 0, Sptr_SPEC, crate::common::R> {
5075        crate::common::RegisterFieldBool::<0, 1, 0, Sptr_SPEC, crate::common::R>::from_register(
5076            self, 0,
5077        )
5078    }
5079
5080    #[doc = "Serial Port Break Data Select"]
5081    #[inline(always)]
5082    pub fn spb2dt(self) -> crate::common::RegisterFieldBool<1, 1, 0, Sptr_SPEC, crate::common::RW> {
5083        crate::common::RegisterFieldBool::<1, 1, 0, Sptr_SPEC, crate::common::RW>::from_register(
5084            self, 0,
5085        )
5086    }
5087
5088    #[doc = "Serial Port Break I/O"]
5089    #[inline(always)]
5090    pub fn spb2io(
5091        self,
5092    ) -> crate::common::RegisterField<
5093        2,
5094        0x1,
5095        1,
5096        0,
5097        sptr::Spb2Io,
5098        sptr::Spb2Io,
5099        Sptr_SPEC,
5100        crate::common::RW,
5101    > {
5102        crate::common::RegisterField::<
5103            2,
5104            0x1,
5105            1,
5106            0,
5107            sptr::Spb2Io,
5108            sptr::Spb2Io,
5109            Sptr_SPEC,
5110            crate::common::RW,
5111        >::from_register(self, 0)
5112    }
5113
5114    #[doc = "RXD invert bit"]
5115    #[inline(always)]
5116    pub fn rinv(
5117        self,
5118    ) -> crate::common::RegisterField<
5119        4,
5120        0x1,
5121        1,
5122        0,
5123        sptr::Rinv,
5124        sptr::Rinv,
5125        Sptr_SPEC,
5126        crate::common::RW,
5127    > {
5128        crate::common::RegisterField::<
5129            4,
5130            0x1,
5131            1,
5132            0,
5133            sptr::Rinv,
5134            sptr::Rinv,
5135            Sptr_SPEC,
5136            crate::common::RW,
5137        >::from_register(self, 0)
5138    }
5139
5140    #[doc = "TXD invert bit"]
5141    #[inline(always)]
5142    pub fn tinv(
5143        self,
5144    ) -> crate::common::RegisterField<
5145        5,
5146        0x1,
5147        1,
5148        0,
5149        sptr::Tinv,
5150        sptr::Tinv,
5151        Sptr_SPEC,
5152        crate::common::RW,
5153    > {
5154        crate::common::RegisterField::<
5155            5,
5156            0x1,
5157            1,
5158            0,
5159            sptr::Tinv,
5160            sptr::Tinv,
5161            Sptr_SPEC,
5162            crate::common::RW,
5163        >::from_register(self, 0)
5164    }
5165
5166    #[doc = "Adjust receive sampling timing enable"]
5167    #[inline(always)]
5168    pub fn asen(
5169        self,
5170    ) -> crate::common::RegisterField<
5171        6,
5172        0x1,
5173        1,
5174        0,
5175        sptr::Asen,
5176        sptr::Asen,
5177        Sptr_SPEC,
5178        crate::common::RW,
5179    > {
5180        crate::common::RegisterField::<
5181            6,
5182            0x1,
5183            1,
5184            0,
5185            sptr::Asen,
5186            sptr::Asen,
5187            Sptr_SPEC,
5188            crate::common::RW,
5189        >::from_register(self, 0)
5190    }
5191
5192    #[doc = "Adjust transmit timing enable"]
5193    #[inline(always)]
5194    pub fn aten(
5195        self,
5196    ) -> crate::common::RegisterField<
5197        7,
5198        0x1,
5199        1,
5200        0,
5201        sptr::Aten,
5202        sptr::Aten,
5203        Sptr_SPEC,
5204        crate::common::RW,
5205    > {
5206        crate::common::RegisterField::<
5207            7,
5208            0x1,
5209            1,
5210            0,
5211            sptr::Aten,
5212            sptr::Aten,
5213            Sptr_SPEC,
5214            crate::common::RW,
5215        >::from_register(self, 0)
5216    }
5217}
5218impl ::core::default::Default for Sptr {
5219    #[inline(always)]
5220    fn default() -> Sptr {
5221        <crate::RegValueT<Sptr_SPEC> as RegisterValue<_>>::new(3)
5222    }
5223}
5224pub mod sptr {
5225
5226    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5227    pub struct Spb2Io_SPEC;
5228    pub type Spb2Io = crate::EnumBitfieldStruct<u8, Spb2Io_SPEC>;
5229    impl Spb2Io {
5230        #[doc = "Do not output value of SPB2DT bit on TXDn pin"]
5231        pub const _0: Self = Self::new(0);
5232
5233        #[doc = "Output value of SPB2DT bit on TXDn pin"]
5234        pub const _1: Self = Self::new(1);
5235    }
5236    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5237    pub struct Rinv_SPEC;
5238    pub type Rinv = crate::EnumBitfieldStruct<u8, Rinv_SPEC>;
5239    impl Rinv {
5240        #[doc = "Received data from RXDn is not inverted and input."]
5241        pub const _0: Self = Self::new(0);
5242
5243        #[doc = "Received data from RXDn is inverted and input."]
5244        pub const _1: Self = Self::new(1);
5245    }
5246    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5247    pub struct Tinv_SPEC;
5248    pub type Tinv = crate::EnumBitfieldStruct<u8, Tinv_SPEC>;
5249    impl Tinv {
5250        #[doc = "Transmit data is not inverted and output to TXDn."]
5251        pub const _0: Self = Self::new(0);
5252
5253        #[doc = "Transmit data is inverted and output to TXDn."]
5254        pub const _1: Self = Self::new(1);
5255    }
5256    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5257    pub struct Asen_SPEC;
5258    pub type Asen = crate::EnumBitfieldStruct<u8, Asen_SPEC>;
5259    impl Asen {
5260        #[doc = "Adjust sampling timing disable."]
5261        pub const _0: Self = Self::new(0);
5262
5263        #[doc = "Adjust sampling timing enable."]
5264        pub const _1: Self = Self::new(1);
5265    }
5266    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5267    pub struct Aten_SPEC;
5268    pub type Aten = crate::EnumBitfieldStruct<u8, Aten_SPEC>;
5269    impl Aten {
5270        #[doc = "Adjust transmit timing disable."]
5271        pub const _0: Self = Self::new(0);
5272
5273        #[doc = "Adjust transmit timing enable."]
5274        pub const _1: Self = Self::new(1);
5275    }
5276}
5277#[doc(hidden)]
5278#[derive(Copy, Clone, Eq, PartialEq)]
5279pub struct Actr_SPEC;
5280impl crate::sealed::RegSpec for Actr_SPEC {
5281    type DataType = u8;
5282}
5283
5284#[doc = "Adjustment Communication Timing Register"]
5285pub type Actr = crate::RegValueT<Actr_SPEC>;
5286
5287impl Actr {
5288    #[doc = "Adjustment value for receive Sampling Timing"]
5289    #[inline(always)]
5290    pub fn ast(
5291        self,
5292    ) -> crate::common::RegisterField<0, 0x7, 1, 0, u8, u8, Actr_SPEC, crate::common::RW> {
5293        crate::common::RegisterField::<0,0x7,1,0,u8,u8,Actr_SPEC,crate::common::RW>::from_register(self,0)
5294    }
5295
5296    #[doc = "Adjustment Direction for receive sampling timing"]
5297    #[inline(always)]
5298    pub fn ajd(
5299        self,
5300    ) -> crate::common::RegisterField<
5301        3,
5302        0x1,
5303        1,
5304        0,
5305        actr::Ajd,
5306        actr::Ajd,
5307        Actr_SPEC,
5308        crate::common::RW,
5309    > {
5310        crate::common::RegisterField::<
5311            3,
5312            0x1,
5313            1,
5314            0,
5315            actr::Ajd,
5316            actr::Ajd,
5317            Actr_SPEC,
5318            crate::common::RW,
5319        >::from_register(self, 0)
5320    }
5321
5322    #[doc = "Adjustment value for Transmit timing"]
5323    #[inline(always)]
5324    pub fn att(
5325        self,
5326    ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, u8, Actr_SPEC, crate::common::RW> {
5327        crate::common::RegisterField::<4,0x7,1,0,u8,u8,Actr_SPEC,crate::common::RW>::from_register(self,0)
5328    }
5329
5330    #[doc = "Adjustment edge for transmit timing"]
5331    #[inline(always)]
5332    pub fn aet(
5333        self,
5334    ) -> crate::common::RegisterField<
5335        7,
5336        0x1,
5337        1,
5338        0,
5339        actr::Aet,
5340        actr::Aet,
5341        Actr_SPEC,
5342        crate::common::RW,
5343    > {
5344        crate::common::RegisterField::<
5345            7,
5346            0x1,
5347            1,
5348            0,
5349            actr::Aet,
5350            actr::Aet,
5351            Actr_SPEC,
5352            crate::common::RW,
5353        >::from_register(self, 0)
5354    }
5355}
5356impl ::core::default::Default for Actr {
5357    #[inline(always)]
5358    fn default() -> Actr {
5359        <crate::RegValueT<Actr_SPEC> as RegisterValue<_>>::new(0)
5360    }
5361}
5362pub mod actr {
5363
5364    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5365    pub struct Ajd_SPEC;
5366    pub type Ajd = crate::EnumBitfieldStruct<u8, Ajd_SPEC>;
5367    impl Ajd {
5368        #[doc = "The sampling timing is adjusted backward to the middle of bit."]
5369        pub const _0: Self = Self::new(0);
5370
5371        #[doc = "The sampling timing is adjusted forward to the middle of bit."]
5372        pub const _1: Self = Self::new(1);
5373    }
5374    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5375    pub struct Aet_SPEC;
5376    pub type Aet = crate::EnumBitfieldStruct<u8, Aet_SPEC>;
5377    impl Aet {
5378        #[doc = "Adjust the rising edge timing."]
5379        pub const _0: Self = Self::new(0);
5380
5381        #[doc = "Adjust the falling edge timing."]
5382        pub const _1: Self = Self::new(1);
5383    }
5384}
5385#[doc(hidden)]
5386#[derive(Copy, Clone, Eq, PartialEq)]
5387pub struct Esmer_SPEC;
5388impl crate::sealed::RegSpec for Esmer_SPEC {
5389    type DataType = u8;
5390}
5391
5392#[doc = "Extended Serial Module Enable Register"]
5393pub type Esmer = crate::RegValueT<Esmer_SPEC>;
5394
5395impl Esmer {
5396    #[doc = "Extended Serial Mode Enable"]
5397    #[inline(always)]
5398    pub fn esme(
5399        self,
5400    ) -> crate::common::RegisterField<
5401        0,
5402        0x1,
5403        1,
5404        0,
5405        esmer::Esme,
5406        esmer::Esme,
5407        Esmer_SPEC,
5408        crate::common::RW,
5409    > {
5410        crate::common::RegisterField::<
5411            0,
5412            0x1,
5413            1,
5414            0,
5415            esmer::Esme,
5416            esmer::Esme,
5417            Esmer_SPEC,
5418            crate::common::RW,
5419        >::from_register(self, 0)
5420    }
5421}
5422impl ::core::default::Default for Esmer {
5423    #[inline(always)]
5424    fn default() -> Esmer {
5425        <crate::RegValueT<Esmer_SPEC> as RegisterValue<_>>::new(0)
5426    }
5427}
5428pub mod esmer {
5429
5430    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5431    pub struct Esme_SPEC;
5432    pub type Esme = crate::EnumBitfieldStruct<u8, Esme_SPEC>;
5433    impl Esme {
5434        #[doc = "The extended serial mode is disabled."]
5435        pub const _0: Self = Self::new(0);
5436
5437        #[doc = "The extended serial mode is enabled."]
5438        pub const _1: Self = Self::new(1);
5439    }
5440}
5441#[doc(hidden)]
5442#[derive(Copy, Clone, Eq, PartialEq)]
5443pub struct Mmr_SPEC;
5444impl crate::sealed::RegSpec for Mmr_SPEC {
5445    type DataType = u8;
5446}
5447
5448#[doc = "Manchester Mode Register"]
5449pub type Mmr = crate::RegValueT<Mmr_SPEC>;
5450
5451impl Mmr {
5452    #[doc = "Polarity of Received Manchester Code"]
5453    #[inline(always)]
5454    pub fn rmpol(
5455        self,
5456    ) -> crate::common::RegisterField<
5457        0,
5458        0x1,
5459        1,
5460        0,
5461        mmr::Rmpol,
5462        mmr::Rmpol,
5463        Mmr_SPEC,
5464        crate::common::RW,
5465    > {
5466        crate::common::RegisterField::<
5467            0,
5468            0x1,
5469            1,
5470            0,
5471            mmr::Rmpol,
5472            mmr::Rmpol,
5473            Mmr_SPEC,
5474            crate::common::RW,
5475        >::from_register(self, 0)
5476    }
5477
5478    #[doc = "Polarity of Transmit Manchester Code"]
5479    #[inline(always)]
5480    pub fn tmpol(
5481        self,
5482    ) -> crate::common::RegisterField<
5483        1,
5484        0x1,
5485        1,
5486        0,
5487        mmr::Tmpol,
5488        mmr::Tmpol,
5489        Mmr_SPEC,
5490        crate::common::RW,
5491    > {
5492        crate::common::RegisterField::<
5493            1,
5494            0x1,
5495            1,
5496            0,
5497            mmr::Tmpol,
5498            mmr::Tmpol,
5499            Mmr_SPEC,
5500            crate::common::RW,
5501        >::from_register(self, 0)
5502    }
5503
5504    #[doc = "Manchester Edge Retiming Enable"]
5505    #[inline(always)]
5506    pub fn erten(
5507        self,
5508    ) -> crate::common::RegisterField<
5509        2,
5510        0x1,
5511        1,
5512        0,
5513        mmr::Erten,
5514        mmr::Erten,
5515        Mmr_SPEC,
5516        crate::common::RW,
5517    > {
5518        crate::common::RegisterField::<
5519            2,
5520            0x1,
5521            1,
5522            0,
5523            mmr::Erten,
5524            mmr::Erten,
5525            Mmr_SPEC,
5526            crate::common::RW,
5527        >::from_register(self, 0)
5528    }
5529
5530    #[doc = "SYNC value Setting"]
5531    #[inline(always)]
5532    pub fn synval(
5533        self,
5534    ) -> crate::common::RegisterField<
5535        4,
5536        0x1,
5537        1,
5538        0,
5539        mmr::Synval,
5540        mmr::Synval,
5541        Mmr_SPEC,
5542        crate::common::RW,
5543    > {
5544        crate::common::RegisterField::<
5545            4,
5546            0x1,
5547            1,
5548            0,
5549            mmr::Synval,
5550            mmr::Synval,
5551            Mmr_SPEC,
5552            crate::common::RW,
5553        >::from_register(self, 0)
5554    }
5555
5556    #[doc = "SYNC Select"]
5557    #[inline(always)]
5558    pub fn synsel(
5559        self,
5560    ) -> crate::common::RegisterField<
5561        5,
5562        0x1,
5563        1,
5564        0,
5565        mmr::Synsel,
5566        mmr::Synsel,
5567        Mmr_SPEC,
5568        crate::common::RW,
5569    > {
5570        crate::common::RegisterField::<
5571            5,
5572            0x1,
5573            1,
5574            0,
5575            mmr::Synsel,
5576            mmr::Synsel,
5577            Mmr_SPEC,
5578            crate::common::RW,
5579        >::from_register(self, 0)
5580    }
5581
5582    #[doc = "Start Bit Select"]
5583    #[inline(always)]
5584    pub fn sbsel(
5585        self,
5586    ) -> crate::common::RegisterField<
5587        6,
5588        0x1,
5589        1,
5590        0,
5591        mmr::Sbsel,
5592        mmr::Sbsel,
5593        Mmr_SPEC,
5594        crate::common::RW,
5595    > {
5596        crate::common::RegisterField::<
5597            6,
5598            0x1,
5599            1,
5600            0,
5601            mmr::Sbsel,
5602            mmr::Sbsel,
5603            Mmr_SPEC,
5604            crate::common::RW,
5605        >::from_register(self, 0)
5606    }
5607
5608    #[doc = "Manchester Mode Enable"]
5609    #[inline(always)]
5610    pub fn manen(
5611        self,
5612    ) -> crate::common::RegisterField<
5613        7,
5614        0x1,
5615        1,
5616        0,
5617        mmr::Manen,
5618        mmr::Manen,
5619        Mmr_SPEC,
5620        crate::common::RW,
5621    > {
5622        crate::common::RegisterField::<
5623            7,
5624            0x1,
5625            1,
5626            0,
5627            mmr::Manen,
5628            mmr::Manen,
5629            Mmr_SPEC,
5630            crate::common::RW,
5631        >::from_register(self, 0)
5632    }
5633}
5634impl ::core::default::Default for Mmr {
5635    #[inline(always)]
5636    fn default() -> Mmr {
5637        <crate::RegValueT<Mmr_SPEC> as RegisterValue<_>>::new(0)
5638    }
5639}
5640pub mod mmr {
5641
5642    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5643    pub struct Rmpol_SPEC;
5644    pub type Rmpol = crate::EnumBitfieldStruct<u8, Rmpol_SPEC>;
5645    impl Rmpol {
5646        #[doc = "Logic 0 is coded as a zero-to-one transition in Manchester code Logic 1 is coded as a one-to-zero transition in Manchester code"]
5647        pub const _0: Self = Self::new(0);
5648
5649        #[doc = "Logic 0 is coded as a one-to-zero transition in Manchester code Logic 1 is coded as a zero-to-one transition in Manchester code"]
5650        pub const _1: Self = Self::new(1);
5651    }
5652    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5653    pub struct Tmpol_SPEC;
5654    pub type Tmpol = crate::EnumBitfieldStruct<u8, Tmpol_SPEC>;
5655    impl Tmpol {
5656        #[doc = "Logic 0 is coded as a zero-to-one transition in Manchester code Logic 1 is coded as a one-to-zero transition in Manchester code"]
5657        pub const _0: Self = Self::new(0);
5658
5659        #[doc = "Logic 0 is coded as a one-to-zero transition in Manchester code Logic 1 is coded as a zero-to-one transition in Manchester code"]
5660        pub const _1: Self = Self::new(1);
5661    }
5662    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5663    pub struct Erten_SPEC;
5664    pub type Erten = crate::EnumBitfieldStruct<u8, Erten_SPEC>;
5665    impl Erten {
5666        #[doc = "Disables the receive retiming function"]
5667        pub const _0: Self = Self::new(0);
5668
5669        #[doc = "Enables the receive retiming function"]
5670        pub const _1: Self = Self::new(1);
5671    }
5672    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5673    pub struct Synval_SPEC;
5674    pub type Synval = crate::EnumBitfieldStruct<u8, Synval_SPEC>;
5675    impl Synval {
5676        #[doc = "The start bit is added as a zero-to-one transition."]
5677        pub const _0: Self = Self::new(0);
5678
5679        #[doc = "The start bit is added as a one-to-zero transition."]
5680        pub const _1: Self = Self::new(1);
5681    }
5682    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5683    pub struct Synsel_SPEC;
5684    pub type Synsel = crate::EnumBitfieldStruct<u8, Synsel_SPEC>;
5685    impl Synsel {
5686        #[doc = "The start bit pattern is set with the SYNVAL bit"]
5687        pub const _0: Self = Self::new(0);
5688
5689        #[doc = "The start bit pattern is set with the TSYNC bit."]
5690        pub const _1: Self = Self::new(1);
5691    }
5692    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5693    pub struct Sbsel_SPEC;
5694    pub type Sbsel = crate::EnumBitfieldStruct<u8, Sbsel_SPEC>;
5695    impl Sbsel {
5696        #[doc = "The start bit area consists of one bit."]
5697        pub const _0: Self = Self::new(0);
5698
5699        #[doc = "The start bit area consists of three bits (COMMAND SYNC or DATA SYNC)"]
5700        pub const _1: Self = Self::new(1);
5701    }
5702    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5703    pub struct Manen_SPEC;
5704    pub type Manen = crate::EnumBitfieldStruct<u8, Manen_SPEC>;
5705    impl Manen {
5706        #[doc = "Disables the Manchester mode"]
5707        pub const _0: Self = Self::new(0);
5708
5709        #[doc = "Enables the Manchester mode"]
5710        pub const _1: Self = Self::new(1);
5711    }
5712}
5713#[doc(hidden)]
5714#[derive(Copy, Clone, Eq, PartialEq)]
5715pub struct Cr0_SPEC;
5716impl crate::sealed::RegSpec for Cr0_SPEC {
5717    type DataType = u8;
5718}
5719
5720#[doc = "Control Register 0"]
5721pub type Cr0 = crate::RegValueT<Cr0_SPEC>;
5722
5723impl Cr0 {
5724    #[doc = "Start Frame Status Flag"]
5725    #[inline(always)]
5726    pub fn sfsf(
5727        self,
5728    ) -> crate::common::RegisterField<1, 0x1, 1, 0, cr0::Sfsf, cr0::Sfsf, Cr0_SPEC, crate::common::R>
5729    {
5730        crate::common::RegisterField::<1,0x1,1,0,cr0::Sfsf,cr0::Sfsf,Cr0_SPEC,crate::common::R>::from_register(self,0)
5731    }
5732
5733    #[doc = "RXDXn Input Status Flag"]
5734    #[inline(always)]
5735    pub fn rxdsf(
5736        self,
5737    ) -> crate::common::RegisterField<
5738        2,
5739        0x1,
5740        1,
5741        0,
5742        cr0::Rxdsf,
5743        cr0::Rxdsf,
5744        Cr0_SPEC,
5745        crate::common::R,
5746    > {
5747        crate::common::RegisterField::<
5748            2,
5749            0x1,
5750            1,
5751            0,
5752            cr0::Rxdsf,
5753            cr0::Rxdsf,
5754            Cr0_SPEC,
5755            crate::common::R,
5756        >::from_register(self, 0)
5757    }
5758
5759    #[doc = "Bit Rate Measurement Enable"]
5760    #[inline(always)]
5761    pub fn brme(
5762        self,
5763    ) -> crate::common::RegisterField<3, 0x1, 1, 0, cr0::Brme, cr0::Brme, Cr0_SPEC, crate::common::RW>
5764    {
5765        crate::common::RegisterField::<
5766            3,
5767            0x1,
5768            1,
5769            0,
5770            cr0::Brme,
5771            cr0::Brme,
5772            Cr0_SPEC,
5773            crate::common::RW,
5774        >::from_register(self, 0)
5775    }
5776}
5777impl ::core::default::Default for Cr0 {
5778    #[inline(always)]
5779    fn default() -> Cr0 {
5780        <crate::RegValueT<Cr0_SPEC> as RegisterValue<_>>::new(0)
5781    }
5782}
5783pub mod cr0 {
5784
5785    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5786    pub struct Sfsf_SPEC;
5787    pub type Sfsf = crate::EnumBitfieldStruct<u8, Sfsf_SPEC>;
5788    impl Sfsf {
5789        #[doc = "Start Frame detection function is disabled."]
5790        pub const _0: Self = Self::new(0);
5791
5792        #[doc = "Start Frame detection function is enabled."]
5793        pub const _1: Self = Self::new(1);
5794    }
5795    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5796    pub struct Rxdsf_SPEC;
5797    pub type Rxdsf = crate::EnumBitfieldStruct<u8, Rxdsf_SPEC>;
5798    impl Rxdsf {
5799        #[doc = "RXDXn input is enabled."]
5800        pub const _0: Self = Self::new(0);
5801
5802        #[doc = "RXDXn input is disabled."]
5803        pub const _1: Self = Self::new(1);
5804    }
5805    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5806    pub struct Brme_SPEC;
5807    pub type Brme = crate::EnumBitfieldStruct<u8, Brme_SPEC>;
5808    impl Brme {
5809        #[doc = "Measurement of bit rate is disabled."]
5810        pub const _0: Self = Self::new(0);
5811
5812        #[doc = "Measurement of bit rate is enabled."]
5813        pub const _1: Self = Self::new(1);
5814    }
5815}
5816#[doc(hidden)]
5817#[derive(Copy, Clone, Eq, PartialEq)]
5818pub struct Cr1_SPEC;
5819impl crate::sealed::RegSpec for Cr1_SPEC {
5820    type DataType = u8;
5821}
5822
5823#[doc = "Control Register 1"]
5824pub type Cr1 = crate::RegValueT<Cr1_SPEC>;
5825
5826impl Cr1 {
5827    #[doc = "Break Field Enable"]
5828    #[inline(always)]
5829    pub fn bfe(
5830        self,
5831    ) -> crate::common::RegisterField<0, 0x1, 1, 0, cr1::Bfe, cr1::Bfe, Cr1_SPEC, crate::common::RW>
5832    {
5833        crate::common::RegisterField::<0,0x1,1,0,cr1::Bfe,cr1::Bfe,Cr1_SPEC,crate::common::RW>::from_register(self,0)
5834    }
5835
5836    #[doc = "Control Field 0 Reception Enable"]
5837    #[inline(always)]
5838    pub fn cf0re(
5839        self,
5840    ) -> crate::common::RegisterField<
5841        1,
5842        0x1,
5843        1,
5844        0,
5845        cr1::Cf0Re,
5846        cr1::Cf0Re,
5847        Cr1_SPEC,
5848        crate::common::RW,
5849    > {
5850        crate::common::RegisterField::<
5851            1,
5852            0x1,
5853            1,
5854            0,
5855            cr1::Cf0Re,
5856            cr1::Cf0Re,
5857            Cr1_SPEC,
5858            crate::common::RW,
5859        >::from_register(self, 0)
5860    }
5861
5862    #[doc = "Control Field 1 Data Register Select"]
5863    #[inline(always)]
5864    pub fn cf1ds(
5865        self,
5866    ) -> crate::common::RegisterField<
5867        2,
5868        0x3,
5869        1,
5870        0,
5871        cr1::Cf1Ds,
5872        cr1::Cf1Ds,
5873        Cr1_SPEC,
5874        crate::common::RW,
5875    > {
5876        crate::common::RegisterField::<
5877            2,
5878            0x3,
5879            1,
5880            0,
5881            cr1::Cf1Ds,
5882            cr1::Cf1Ds,
5883            Cr1_SPEC,
5884            crate::common::RW,
5885        >::from_register(self, 0)
5886    }
5887
5888    #[doc = "Priority Interrupt Bit Enable"]
5889    #[inline(always)]
5890    pub fn pibe(
5891        self,
5892    ) -> crate::common::RegisterField<4, 0x1, 1, 0, cr1::Pibe, cr1::Pibe, Cr1_SPEC, crate::common::RW>
5893    {
5894        crate::common::RegisterField::<
5895            4,
5896            0x1,
5897            1,
5898            0,
5899            cr1::Pibe,
5900            cr1::Pibe,
5901            Cr1_SPEC,
5902            crate::common::RW,
5903        >::from_register(self, 0)
5904    }
5905
5906    #[doc = "Priority Interrupt Bit Select"]
5907    #[inline(always)]
5908    pub fn pibs(
5909        self,
5910    ) -> crate::common::RegisterField<5, 0x7, 1, 0, cr1::Pibs, cr1::Pibs, Cr1_SPEC, crate::common::RW>
5911    {
5912        crate::common::RegisterField::<
5913            5,
5914            0x7,
5915            1,
5916            0,
5917            cr1::Pibs,
5918            cr1::Pibs,
5919            Cr1_SPEC,
5920            crate::common::RW,
5921        >::from_register(self, 0)
5922    }
5923}
5924impl ::core::default::Default for Cr1 {
5925    #[inline(always)]
5926    fn default() -> Cr1 {
5927        <crate::RegValueT<Cr1_SPEC> as RegisterValue<_>>::new(0)
5928    }
5929}
5930pub mod cr1 {
5931
5932    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5933    pub struct Bfe_SPEC;
5934    pub type Bfe = crate::EnumBitfieldStruct<u8, Bfe_SPEC>;
5935    impl Bfe {
5936        #[doc = "Break Field detection is disabled."]
5937        pub const _0: Self = Self::new(0);
5938
5939        #[doc = "Break Field detection is enabled."]
5940        pub const _1: Self = Self::new(1);
5941    }
5942    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5943    pub struct Cf0Re_SPEC;
5944    pub type Cf0Re = crate::EnumBitfieldStruct<u8, Cf0Re_SPEC>;
5945    impl Cf0Re {
5946        #[doc = "Reception of Control Field 0 is disabled."]
5947        pub const _0: Self = Self::new(0);
5948
5949        #[doc = "Reception of Control Field 0 is enabled."]
5950        pub const _1: Self = Self::new(1);
5951    }
5952    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5953    pub struct Cf1Ds_SPEC;
5954    pub type Cf1Ds = crate::EnumBitfieldStruct<u8, Cf1Ds_SPEC>;
5955    impl Cf1Ds {
5956        #[doc = "Selects comparison with the value in PCF1DR."]
5957        pub const _00: Self = Self::new(0);
5958
5959        #[doc = "Selects comparison with the value in SCF1DR."]
5960        pub const _01: Self = Self::new(1);
5961
5962        #[doc = "Selects comparison with the values in PCF1DR and SCF1DR."]
5963        pub const _10: Self = Self::new(2);
5964
5965        #[doc = "Setting prohibited."]
5966        pub const _11: Self = Self::new(3);
5967    }
5968    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5969    pub struct Pibe_SPEC;
5970    pub type Pibe = crate::EnumBitfieldStruct<u8, Pibe_SPEC>;
5971    impl Pibe {
5972        #[doc = "The priority interrupt bit is disabled."]
5973        pub const _0: Self = Self::new(0);
5974
5975        #[doc = "The priority interrupt bit is enabled."]
5976        pub const _1: Self = Self::new(1);
5977    }
5978    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5979    pub struct Pibs_SPEC;
5980    pub type Pibs = crate::EnumBitfieldStruct<u8, Pibs_SPEC>;
5981    impl Pibs {
5982        #[doc = "0th bit of Control Field 1"]
5983        pub const _000: Self = Self::new(0);
5984
5985        #[doc = "1st bit of Control Field 1"]
5986        pub const _001: Self = Self::new(1);
5987
5988        #[doc = "2nd bit of Control Field 1"]
5989        pub const _010: Self = Self::new(2);
5990
5991        #[doc = "3rd bit of Control Field 1"]
5992        pub const _011: Self = Self::new(3);
5993
5994        #[doc = "4th bit of Control Field 1"]
5995        pub const _100: Self = Self::new(4);
5996
5997        #[doc = "5th bit of Control Field 1"]
5998        pub const _101: Self = Self::new(5);
5999
6000        #[doc = "6th bit of Control Field 1"]
6001        pub const _110: Self = Self::new(6);
6002
6003        #[doc = "7th bit of Control Field 1"]
6004        pub const _111: Self = Self::new(7);
6005    }
6006}
6007#[doc(hidden)]
6008#[derive(Copy, Clone, Eq, PartialEq)]
6009pub struct Tmpr_SPEC;
6010impl crate::sealed::RegSpec for Tmpr_SPEC {
6011    type DataType = u8;
6012}
6013
6014#[doc = "Transmit Manchester Preface Setting Register"]
6015pub type Tmpr = crate::RegValueT<Tmpr_SPEC>;
6016
6017impl Tmpr {
6018    #[doc = "Transmit preface length"]
6019    #[inline(always)]
6020    pub fn tplen(
6021        self,
6022    ) -> crate::common::RegisterField<
6023        0,
6024        0xf,
6025        1,
6026        0,
6027        tmpr::Tplen,
6028        tmpr::Tplen,
6029        Tmpr_SPEC,
6030        crate::common::RW,
6031    > {
6032        crate::common::RegisterField::<
6033            0,
6034            0xf,
6035            1,
6036            0,
6037            tmpr::Tplen,
6038            tmpr::Tplen,
6039            Tmpr_SPEC,
6040            crate::common::RW,
6041        >::from_register(self, 0)
6042    }
6043
6044    #[doc = "Transmit preface pattern"]
6045    #[inline(always)]
6046    pub fn tppat(
6047        self,
6048    ) -> crate::common::RegisterField<
6049        4,
6050        0x3,
6051        1,
6052        0,
6053        tmpr::Tppat,
6054        tmpr::Tppat,
6055        Tmpr_SPEC,
6056        crate::common::RW,
6057    > {
6058        crate::common::RegisterField::<
6059            4,
6060            0x3,
6061            1,
6062            0,
6063            tmpr::Tppat,
6064            tmpr::Tppat,
6065            Tmpr_SPEC,
6066            crate::common::RW,
6067        >::from_register(self, 0)
6068    }
6069}
6070impl ::core::default::Default for Tmpr {
6071    #[inline(always)]
6072    fn default() -> Tmpr {
6073        <crate::RegValueT<Tmpr_SPEC> as RegisterValue<_>>::new(0)
6074    }
6075}
6076pub mod tmpr {
6077
6078    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6079    pub struct Tplen_SPEC;
6080    pub type Tplen = crate::EnumBitfieldStruct<u8, Tplen_SPEC>;
6081    impl Tplen {
6082        #[doc = "Disables the transmit preface generation"]
6083        pub const _0_X_0: Self = Self::new(0);
6084
6085        #[doc = "Transmit preface length (bit length)"]
6086        pub const OTHERS: Self = Self::new(0);
6087    }
6088    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6089    pub struct Tppat_SPEC;
6090    pub type Tppat = crate::EnumBitfieldStruct<u8, Tppat_SPEC>;
6091    impl Tppat {
6092        #[doc = "ALL ZERO"]
6093        pub const _00: Self = Self::new(0);
6094
6095        #[doc = "ZERO ONE"]
6096        pub const _01: Self = Self::new(1);
6097
6098        #[doc = "ONE ZERO"]
6099        pub const _10: Self = Self::new(2);
6100
6101        #[doc = "ALL ONE"]
6102        pub const _11: Self = Self::new(3);
6103    }
6104}
6105#[doc(hidden)]
6106#[derive(Copy, Clone, Eq, PartialEq)]
6107pub struct Cr2_SPEC;
6108impl crate::sealed::RegSpec for Cr2_SPEC {
6109    type DataType = u8;
6110}
6111
6112#[doc = "Control Register 2"]
6113pub type Cr2 = crate::RegValueT<Cr2_SPEC>;
6114
6115impl Cr2 {
6116    #[doc = "RXDXn Signal Digital Filter Clock Select"]
6117    #[inline(always)]
6118    pub fn dfcs(
6119        self,
6120    ) -> crate::common::RegisterField<0, 0x7, 1, 0, cr2::Dfcs, cr2::Dfcs, Cr2_SPEC, crate::common::RW>
6121    {
6122        crate::common::RegisterField::<
6123            0,
6124            0x7,
6125            1,
6126            0,
6127            cr2::Dfcs,
6128            cr2::Dfcs,
6129            Cr2_SPEC,
6130            crate::common::RW,
6131        >::from_register(self, 0)
6132    }
6133
6134    #[doc = "Bus Collision Detection Clock Select"]
6135    #[inline(always)]
6136    pub fn bccs(
6137        self,
6138    ) -> crate::common::RegisterField<4, 0x3, 1, 0, cr2::Bccs, cr2::Bccs, Cr2_SPEC, crate::common::RW>
6139    {
6140        crate::common::RegisterField::<
6141            4,
6142            0x3,
6143            1,
6144            0,
6145            cr2::Bccs,
6146            cr2::Bccs,
6147            Cr2_SPEC,
6148            crate::common::RW,
6149        >::from_register(self, 0)
6150    }
6151
6152    #[doc = "RXDXn Reception Sampling Timing Select"]
6153    #[inline(always)]
6154    pub fn rts(
6155        self,
6156    ) -> crate::common::RegisterField<6, 0x3, 1, 0, cr2::Rts, cr2::Rts, Cr2_SPEC, crate::common::RW>
6157    {
6158        crate::common::RegisterField::<6,0x3,1,0,cr2::Rts,cr2::Rts,Cr2_SPEC,crate::common::RW>::from_register(self,0)
6159    }
6160}
6161impl ::core::default::Default for Cr2 {
6162    #[inline(always)]
6163    fn default() -> Cr2 {
6164        <crate::RegValueT<Cr2_SPEC> as RegisterValue<_>>::new(0)
6165    }
6166}
6167pub mod cr2 {
6168
6169    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6170    pub struct Dfcs_SPEC;
6171    pub type Dfcs = crate::EnumBitfieldStruct<u8, Dfcs_SPEC>;
6172    impl Dfcs {
6173        #[doc = "Filter is disabled."]
6174        pub const _000: Self = Self::new(0);
6175
6176        #[doc = "Filter clock is SCI base clock"]
6177        pub const _001: Self = Self::new(1);
6178
6179        #[doc = "Filter clock is PCLK/8"]
6180        pub const _010: Self = Self::new(2);
6181
6182        #[doc = "Filter clock is PCLK/16"]
6183        pub const _011: Self = Self::new(3);
6184
6185        #[doc = "Filter clock is PCLK/32"]
6186        pub const _100: Self = Self::new(4);
6187
6188        #[doc = "Filter clock is PCLK/64"]
6189        pub const _101: Self = Self::new(5);
6190
6191        #[doc = "Filter clock is PCLK/128"]
6192        pub const _110: Self = Self::new(6);
6193
6194        #[doc = "Setting prohibited"]
6195        pub const _111: Self = Self::new(7);
6196    }
6197    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6198    pub struct Bccs_SPEC;
6199    pub type Bccs = crate::EnumBitfieldStruct<u8, Bccs_SPEC>;
6200    impl Bccs {
6201        #[doc = "SCI base clock"]
6202        pub const _00: Self = Self::new(0);
6203
6204        #[doc = "SCI base clock frequency divided by 2"]
6205        pub const _01: Self = Self::new(1);
6206
6207        #[doc = "SCI base clock frequency divided by 4"]
6208        pub const _10: Self = Self::new(2);
6209
6210        #[doc = "Setting prohibited"]
6211        pub const _11: Self = Self::new(3);
6212    }
6213    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6214    pub struct Rts_SPEC;
6215    pub type Rts = crate::EnumBitfieldStruct<u8, Rts_SPEC>;
6216    impl Rts {
6217        #[doc = "Rising edge of the 8th cycle of SCI base clock"]
6218        pub const _00: Self = Self::new(0);
6219
6220        #[doc = "Rising edge of the 10th cycle of SCI base clock"]
6221        pub const _01: Self = Self::new(1);
6222
6223        #[doc = "Rising edge of the 12th cycle of SCI base clock"]
6224        pub const _10: Self = Self::new(2);
6225
6226        #[doc = "Rising edge of the 14th cycle of SCI base clock"]
6227        pub const _11: Self = Self::new(3);
6228    }
6229}
6230#[doc(hidden)]
6231#[derive(Copy, Clone, Eq, PartialEq)]
6232pub struct Rmpr_SPEC;
6233impl crate::sealed::RegSpec for Rmpr_SPEC {
6234    type DataType = u8;
6235}
6236
6237#[doc = "Receive Manchester Preface Setting Register"]
6238pub type Rmpr = crate::RegValueT<Rmpr_SPEC>;
6239
6240impl Rmpr {
6241    #[doc = "Receive Preface Length"]
6242    #[inline(always)]
6243    pub fn rplen(
6244        self,
6245    ) -> crate::common::RegisterField<
6246        0,
6247        0xf,
6248        1,
6249        0,
6250        rmpr::Rplen,
6251        rmpr::Rplen,
6252        Rmpr_SPEC,
6253        crate::common::RW,
6254    > {
6255        crate::common::RegisterField::<
6256            0,
6257            0xf,
6258            1,
6259            0,
6260            rmpr::Rplen,
6261            rmpr::Rplen,
6262            Rmpr_SPEC,
6263            crate::common::RW,
6264        >::from_register(self, 0)
6265    }
6266
6267    #[doc = "Receive Preface Pattern"]
6268    #[inline(always)]
6269    pub fn rppat(
6270        self,
6271    ) -> crate::common::RegisterField<
6272        4,
6273        0x3,
6274        1,
6275        0,
6276        rmpr::Rppat,
6277        rmpr::Rppat,
6278        Rmpr_SPEC,
6279        crate::common::RW,
6280    > {
6281        crate::common::RegisterField::<
6282            4,
6283            0x3,
6284            1,
6285            0,
6286            rmpr::Rppat,
6287            rmpr::Rppat,
6288            Rmpr_SPEC,
6289            crate::common::RW,
6290        >::from_register(self, 0)
6291    }
6292}
6293impl ::core::default::Default for Rmpr {
6294    #[inline(always)]
6295    fn default() -> Rmpr {
6296        <crate::RegValueT<Rmpr_SPEC> as RegisterValue<_>>::new(0)
6297    }
6298}
6299pub mod rmpr {
6300
6301    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6302    pub struct Rplen_SPEC;
6303    pub type Rplen = crate::EnumBitfieldStruct<u8, Rplen_SPEC>;
6304    impl Rplen {
6305        #[doc = "Disables the receive preface generation"]
6306        pub const _0: Self = Self::new(0);
6307
6308        #[doc = "Receive preface length (bit length)"]
6309        pub const OTHERS: Self = Self::new(0);
6310    }
6311    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6312    pub struct Rppat_SPEC;
6313    pub type Rppat = crate::EnumBitfieldStruct<u8, Rppat_SPEC>;
6314    impl Rppat {
6315        #[doc = "ALL ZERO"]
6316        pub const _00: Self = Self::new(0);
6317
6318        #[doc = "ZERO ONE"]
6319        pub const _01: Self = Self::new(1);
6320
6321        #[doc = "ONE ZERO"]
6322        pub const _10: Self = Self::new(2);
6323
6324        #[doc = "ALL ONE"]
6325        pub const _11: Self = Self::new(3);
6326    }
6327}
6328#[doc(hidden)]
6329#[derive(Copy, Clone, Eq, PartialEq)]
6330pub struct Cr3_SPEC;
6331impl crate::sealed::RegSpec for Cr3_SPEC {
6332    type DataType = u8;
6333}
6334
6335#[doc = "Control Register 3"]
6336pub type Cr3 = crate::RegValueT<Cr3_SPEC>;
6337
6338impl Cr3 {
6339    #[doc = "Start Frame Detection Start"]
6340    #[inline(always)]
6341    pub fn sdst(
6342        self,
6343    ) -> crate::common::RegisterField<0, 0x1, 1, 0, cr3::Sdst, cr3::Sdst, Cr3_SPEC, crate::common::RW>
6344    {
6345        crate::common::RegisterField::<
6346            0,
6347            0x1,
6348            1,
6349            0,
6350            cr3::Sdst,
6351            cr3::Sdst,
6352            Cr3_SPEC,
6353            crate::common::RW,
6354        >::from_register(self, 0)
6355    }
6356}
6357impl ::core::default::Default for Cr3 {
6358    #[inline(always)]
6359    fn default() -> Cr3 {
6360        <crate::RegValueT<Cr3_SPEC> as RegisterValue<_>>::new(0)
6361    }
6362}
6363pub mod cr3 {
6364
6365    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6366    pub struct Sdst_SPEC;
6367    pub type Sdst = crate::EnumBitfieldStruct<u8, Sdst_SPEC>;
6368    impl Sdst {
6369        #[doc = "Detection of Start Frame is not performed."]
6370        pub const _0: Self = Self::new(0);
6371
6372        #[doc = "Detection of Start Frame is performed."]
6373        pub const _1: Self = Self::new(1);
6374    }
6375}
6376#[doc(hidden)]
6377#[derive(Copy, Clone, Eq, PartialEq)]
6378pub struct Mesr_SPEC;
6379impl crate::sealed::RegSpec for Mesr_SPEC {
6380    type DataType = u8;
6381}
6382
6383#[doc = "Manchester Extended Error Status Register"]
6384pub type Mesr = crate::RegValueT<Mesr_SPEC>;
6385
6386impl Mesr {
6387    #[doc = "Preface Error flag"]
6388    #[inline(always)]
6389    pub fn pfer(
6390        self,
6391    ) -> crate::common::RegisterField<
6392        0,
6393        0x1,
6394        1,
6395        0,
6396        mesr::Pfer,
6397        mesr::Pfer,
6398        Mesr_SPEC,
6399        crate::common::RW,
6400    > {
6401        crate::common::RegisterField::<
6402            0,
6403            0x1,
6404            1,
6405            0,
6406            mesr::Pfer,
6407            mesr::Pfer,
6408            Mesr_SPEC,
6409            crate::common::RW,
6410        >::from_register(self, 0)
6411    }
6412
6413    #[doc = "SYNC Error flag"]
6414    #[inline(always)]
6415    pub fn syer(
6416        self,
6417    ) -> crate::common::RegisterField<
6418        1,
6419        0x1,
6420        1,
6421        0,
6422        mesr::Syer,
6423        mesr::Syer,
6424        Mesr_SPEC,
6425        crate::common::RW,
6426    > {
6427        crate::common::RegisterField::<
6428            1,
6429            0x1,
6430            1,
6431            0,
6432            mesr::Syer,
6433            mesr::Syer,
6434            Mesr_SPEC,
6435            crate::common::RW,
6436        >::from_register(self, 0)
6437    }
6438
6439    #[doc = "Start Bit Error flag"]
6440    #[inline(always)]
6441    pub fn sber(
6442        self,
6443    ) -> crate::common::RegisterField<
6444        2,
6445        0x1,
6446        1,
6447        0,
6448        mesr::Sber,
6449        mesr::Sber,
6450        Mesr_SPEC,
6451        crate::common::RW,
6452    > {
6453        crate::common::RegisterField::<
6454            2,
6455            0x1,
6456            1,
6457            0,
6458            mesr::Sber,
6459            mesr::Sber,
6460            Mesr_SPEC,
6461            crate::common::RW,
6462        >::from_register(self, 0)
6463    }
6464}
6465impl ::core::default::Default for Mesr {
6466    #[inline(always)]
6467    fn default() -> Mesr {
6468        <crate::RegValueT<Mesr_SPEC> as RegisterValue<_>>::new(0)
6469    }
6470}
6471pub mod mesr {
6472
6473    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6474    pub struct Pfer_SPEC;
6475    pub type Pfer = crate::EnumBitfieldStruct<u8, Pfer_SPEC>;
6476    impl Pfer {
6477        #[doc = "No preface error detected"]
6478        pub const _0: Self = Self::new(0);
6479
6480        #[doc = "Preface error detected"]
6481        pub const _1: Self = Self::new(1);
6482    }
6483    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6484    pub struct Syer_SPEC;
6485    pub type Syer = crate::EnumBitfieldStruct<u8, Syer_SPEC>;
6486    impl Syer {
6487        #[doc = "No receive SYNC error detected"]
6488        pub const _0: Self = Self::new(0);
6489
6490        #[doc = "Receive SYNC error detected"]
6491        pub const _1: Self = Self::new(1);
6492    }
6493    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6494    pub struct Sber_SPEC;
6495    pub type Sber = crate::EnumBitfieldStruct<u8, Sber_SPEC>;
6496    impl Sber {
6497        #[doc = "No start bit error detected"]
6498        pub const _0: Self = Self::new(0);
6499
6500        #[doc = "Start bit error detected"]
6501        pub const _1: Self = Self::new(1);
6502    }
6503}
6504#[doc(hidden)]
6505#[derive(Copy, Clone, Eq, PartialEq)]
6506pub struct Mecr_SPEC;
6507impl crate::sealed::RegSpec for Mecr_SPEC {
6508    type DataType = u8;
6509}
6510
6511#[doc = "Manchester Extended Error Control Register"]
6512pub type Mecr = crate::RegValueT<Mecr_SPEC>;
6513
6514impl Mecr {
6515    #[doc = "Preface Error Enable"]
6516    #[inline(always)]
6517    pub fn pferen(
6518        self,
6519    ) -> crate::common::RegisterField<
6520        0,
6521        0x1,
6522        1,
6523        0,
6524        mecr::Pferen,
6525        mecr::Pferen,
6526        Mecr_SPEC,
6527        crate::common::RW,
6528    > {
6529        crate::common::RegisterField::<
6530            0,
6531            0x1,
6532            1,
6533            0,
6534            mecr::Pferen,
6535            mecr::Pferen,
6536            Mecr_SPEC,
6537            crate::common::RW,
6538        >::from_register(self, 0)
6539    }
6540
6541    #[doc = "Receive SYNC Error Enable"]
6542    #[inline(always)]
6543    pub fn syeren(
6544        self,
6545    ) -> crate::common::RegisterField<
6546        1,
6547        0x1,
6548        1,
6549        0,
6550        mecr::Syeren,
6551        mecr::Syeren,
6552        Mecr_SPEC,
6553        crate::common::RW,
6554    > {
6555        crate::common::RegisterField::<
6556            1,
6557            0x1,
6558            1,
6559            0,
6560            mecr::Syeren,
6561            mecr::Syeren,
6562            Mecr_SPEC,
6563            crate::common::RW,
6564        >::from_register(self, 0)
6565    }
6566
6567    #[doc = "Start Bit Error Enable"]
6568    #[inline(always)]
6569    pub fn sberen(
6570        self,
6571    ) -> crate::common::RegisterField<
6572        2,
6573        0x1,
6574        1,
6575        0,
6576        mecr::Sberen,
6577        mecr::Sberen,
6578        Mecr_SPEC,
6579        crate::common::RW,
6580    > {
6581        crate::common::RegisterField::<
6582            2,
6583            0x1,
6584            1,
6585            0,
6586            mecr::Sberen,
6587            mecr::Sberen,
6588            Mecr_SPEC,
6589            crate::common::RW,
6590        >::from_register(self, 0)
6591    }
6592}
6593impl ::core::default::Default for Mecr {
6594    #[inline(always)]
6595    fn default() -> Mecr {
6596        <crate::RegValueT<Mecr_SPEC> as RegisterValue<_>>::new(0)
6597    }
6598}
6599pub mod mecr {
6600
6601    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6602    pub struct Pferen_SPEC;
6603    pub type Pferen = crate::EnumBitfieldStruct<u8, Pferen_SPEC>;
6604    impl Pferen {
6605        #[doc = "Does not handle a preface error as an interrupt source"]
6606        pub const _0: Self = Self::new(0);
6607
6608        #[doc = "Handles a preface error as an interrupt source"]
6609        pub const _1: Self = Self::new(1);
6610    }
6611    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6612    pub struct Syeren_SPEC;
6613    pub type Syeren = crate::EnumBitfieldStruct<u8, Syeren_SPEC>;
6614    impl Syeren {
6615        #[doc = "Does not handle a receive SYNC error as an interrupt source"]
6616        pub const _0: Self = Self::new(0);
6617
6618        #[doc = "Handles a receive SYNC error as an interrupt source"]
6619        pub const _1: Self = Self::new(1);
6620    }
6621    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6622    pub struct Sberen_SPEC;
6623    pub type Sberen = crate::EnumBitfieldStruct<u8, Sberen_SPEC>;
6624    impl Sberen {
6625        #[doc = "Does not handle a start bit error as an interrupt source"]
6626        pub const _0: Self = Self::new(0);
6627
6628        #[doc = "Handles a start bit error as an interrupt source"]
6629        pub const _1: Self = Self::new(1);
6630    }
6631}
6632#[doc(hidden)]
6633#[derive(Copy, Clone, Eq, PartialEq)]
6634pub struct Pcr_SPEC;
6635impl crate::sealed::RegSpec for Pcr_SPEC {
6636    type DataType = u8;
6637}
6638
6639#[doc = "Port Control Register"]
6640pub type Pcr = crate::RegValueT<Pcr_SPEC>;
6641
6642impl Pcr {
6643    #[doc = "TXDXn Signal Polarity Select"]
6644    #[inline(always)]
6645    pub fn txdxps(
6646        self,
6647    ) -> crate::common::RegisterField<
6648        0,
6649        0x1,
6650        1,
6651        0,
6652        pcr::Txdxps,
6653        pcr::Txdxps,
6654        Pcr_SPEC,
6655        crate::common::RW,
6656    > {
6657        crate::common::RegisterField::<
6658            0,
6659            0x1,
6660            1,
6661            0,
6662            pcr::Txdxps,
6663            pcr::Txdxps,
6664            Pcr_SPEC,
6665            crate::common::RW,
6666        >::from_register(self, 0)
6667    }
6668
6669    #[doc = "RXDXn Signal Polarity Select"]
6670    #[inline(always)]
6671    pub fn rxdxps(
6672        self,
6673    ) -> crate::common::RegisterField<
6674        1,
6675        0x1,
6676        1,
6677        0,
6678        pcr::Rxdxps,
6679        pcr::Rxdxps,
6680        Pcr_SPEC,
6681        crate::common::RW,
6682    > {
6683        crate::common::RegisterField::<
6684            1,
6685            0x1,
6686            1,
6687            0,
6688            pcr::Rxdxps,
6689            pcr::Rxdxps,
6690            Pcr_SPEC,
6691            crate::common::RW,
6692        >::from_register(self, 0)
6693    }
6694
6695    #[doc = "TXDXn/RXDXn Pin Multiplexing Select"]
6696    #[inline(always)]
6697    pub fn sharps(
6698        self,
6699    ) -> crate::common::RegisterField<
6700        4,
6701        0x1,
6702        1,
6703        0,
6704        pcr::Sharps,
6705        pcr::Sharps,
6706        Pcr_SPEC,
6707        crate::common::RW,
6708    > {
6709        crate::common::RegisterField::<
6710            4,
6711            0x1,
6712            1,
6713            0,
6714            pcr::Sharps,
6715            pcr::Sharps,
6716            Pcr_SPEC,
6717            crate::common::RW,
6718        >::from_register(self, 0)
6719    }
6720}
6721impl ::core::default::Default for Pcr {
6722    #[inline(always)]
6723    fn default() -> Pcr {
6724        <crate::RegValueT<Pcr_SPEC> as RegisterValue<_>>::new(0)
6725    }
6726}
6727pub mod pcr {
6728
6729    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6730    pub struct Txdxps_SPEC;
6731    pub type Txdxps = crate::EnumBitfieldStruct<u8, Txdxps_SPEC>;
6732    impl Txdxps {
6733        #[doc = "The polarity of TXDXn signal is not inverted for output."]
6734        pub const _0: Self = Self::new(0);
6735
6736        #[doc = "The polarity of TXDXn signal is inverted for output."]
6737        pub const _1: Self = Self::new(1);
6738    }
6739    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6740    pub struct Rxdxps_SPEC;
6741    pub type Rxdxps = crate::EnumBitfieldStruct<u8, Rxdxps_SPEC>;
6742    impl Rxdxps {
6743        #[doc = "The polarity of RXDXn signal is not inverted for input."]
6744        pub const _0: Self = Self::new(0);
6745
6746        #[doc = "The polarity of RXDXn signal is inverted for input."]
6747        pub const _1: Self = Self::new(1);
6748    }
6749    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6750    pub struct Sharps_SPEC;
6751    pub type Sharps = crate::EnumBitfieldStruct<u8, Sharps_SPEC>;
6752    impl Sharps {
6753        #[doc = "The TXDXn and RXDXn pins are independent."]
6754        pub const _0: Self = Self::new(0);
6755
6756        #[doc = "The TXDXn and RXDXn signals are multiplexed on the same pin."]
6757        pub const _1: Self = Self::new(1);
6758    }
6759}
6760#[doc(hidden)]
6761#[derive(Copy, Clone, Eq, PartialEq)]
6762pub struct Icr_SPEC;
6763impl crate::sealed::RegSpec for Icr_SPEC {
6764    type DataType = u8;
6765}
6766
6767#[doc = "Interrupt Control Register"]
6768pub type Icr = crate::RegValueT<Icr_SPEC>;
6769
6770impl Icr {
6771    #[doc = "Break Field Low Width Detected Interrupt Enable"]
6772    #[inline(always)]
6773    pub fn bfdie(
6774        self,
6775    ) -> crate::common::RegisterField<
6776        0,
6777        0x1,
6778        1,
6779        0,
6780        icr::Bfdie,
6781        icr::Bfdie,
6782        Icr_SPEC,
6783        crate::common::RW,
6784    > {
6785        crate::common::RegisterField::<
6786            0,
6787            0x1,
6788            1,
6789            0,
6790            icr::Bfdie,
6791            icr::Bfdie,
6792            Icr_SPEC,
6793            crate::common::RW,
6794        >::from_register(self, 0)
6795    }
6796
6797    #[doc = "Control Field 0 Match Detected Interrupt Enable"]
6798    #[inline(always)]
6799    pub fn cf0mie(
6800        self,
6801    ) -> crate::common::RegisterField<
6802        1,
6803        0x1,
6804        1,
6805        0,
6806        icr::Cf0Mie,
6807        icr::Cf0Mie,
6808        Icr_SPEC,
6809        crate::common::RW,
6810    > {
6811        crate::common::RegisterField::<
6812            1,
6813            0x1,
6814            1,
6815            0,
6816            icr::Cf0Mie,
6817            icr::Cf0Mie,
6818            Icr_SPEC,
6819            crate::common::RW,
6820        >::from_register(self, 0)
6821    }
6822
6823    #[doc = "Control Field 1 Match Detected Interrupt Enable"]
6824    #[inline(always)]
6825    pub fn cf1mie(
6826        self,
6827    ) -> crate::common::RegisterField<
6828        2,
6829        0x1,
6830        1,
6831        0,
6832        icr::Cf1Mie,
6833        icr::Cf1Mie,
6834        Icr_SPEC,
6835        crate::common::RW,
6836    > {
6837        crate::common::RegisterField::<
6838            2,
6839            0x1,
6840            1,
6841            0,
6842            icr::Cf1Mie,
6843            icr::Cf1Mie,
6844            Icr_SPEC,
6845            crate::common::RW,
6846        >::from_register(self, 0)
6847    }
6848
6849    #[doc = "Priority Interrupt Bit Detected Interrupt Enable"]
6850    #[inline(always)]
6851    pub fn pibdie(
6852        self,
6853    ) -> crate::common::RegisterField<
6854        3,
6855        0x1,
6856        1,
6857        0,
6858        icr::Pibdie,
6859        icr::Pibdie,
6860        Icr_SPEC,
6861        crate::common::RW,
6862    > {
6863        crate::common::RegisterField::<
6864            3,
6865            0x1,
6866            1,
6867            0,
6868            icr::Pibdie,
6869            icr::Pibdie,
6870            Icr_SPEC,
6871            crate::common::RW,
6872        >::from_register(self, 0)
6873    }
6874
6875    #[doc = "Bus Collision Detected Interrupt Enable"]
6876    #[inline(always)]
6877    pub fn bcdie(
6878        self,
6879    ) -> crate::common::RegisterField<
6880        4,
6881        0x1,
6882        1,
6883        0,
6884        icr::Bcdie,
6885        icr::Bcdie,
6886        Icr_SPEC,
6887        crate::common::RW,
6888    > {
6889        crate::common::RegisterField::<
6890            4,
6891            0x1,
6892            1,
6893            0,
6894            icr::Bcdie,
6895            icr::Bcdie,
6896            Icr_SPEC,
6897            crate::common::RW,
6898        >::from_register(self, 0)
6899    }
6900
6901    #[doc = "Valid Edge Detected Interrupt Enable"]
6902    #[inline(always)]
6903    pub fn aedie(
6904        self,
6905    ) -> crate::common::RegisterField<
6906        5,
6907        0x1,
6908        1,
6909        0,
6910        icr::Aedie,
6911        icr::Aedie,
6912        Icr_SPEC,
6913        crate::common::RW,
6914    > {
6915        crate::common::RegisterField::<
6916            5,
6917            0x1,
6918            1,
6919            0,
6920            icr::Aedie,
6921            icr::Aedie,
6922            Icr_SPEC,
6923            crate::common::RW,
6924        >::from_register(self, 0)
6925    }
6926}
6927impl ::core::default::Default for Icr {
6928    #[inline(always)]
6929    fn default() -> Icr {
6930        <crate::RegValueT<Icr_SPEC> as RegisterValue<_>>::new(0)
6931    }
6932}
6933pub mod icr {
6934
6935    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6936    pub struct Bfdie_SPEC;
6937    pub type Bfdie = crate::EnumBitfieldStruct<u8, Bfdie_SPEC>;
6938    impl Bfdie {
6939        #[doc = "Interrupts on detection of the low width for a Break Field are disabled."]
6940        pub const _0: Self = Self::new(0);
6941
6942        #[doc = "Interrupts on detection of the low width for a Break Field are enabled."]
6943        pub const _1: Self = Self::new(1);
6944    }
6945    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6946    pub struct Cf0Mie_SPEC;
6947    pub type Cf0Mie = crate::EnumBitfieldStruct<u8, Cf0Mie_SPEC>;
6948    impl Cf0Mie {
6949        #[doc = "Interrupts on detection of a match with Control Field 0 are disabled."]
6950        pub const _0: Self = Self::new(0);
6951
6952        #[doc = "Interrupts on detection of a match with Control Field 0 are enabled."]
6953        pub const _1: Self = Self::new(1);
6954    }
6955    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6956    pub struct Cf1Mie_SPEC;
6957    pub type Cf1Mie = crate::EnumBitfieldStruct<u8, Cf1Mie_SPEC>;
6958    impl Cf1Mie {
6959        #[doc = "Interrupts on detection of a match with Control Field 1 are disabled."]
6960        pub const _0: Self = Self::new(0);
6961
6962        #[doc = "Interrupts on detection of a match with Control Field 1 are enabled."]
6963        pub const _1: Self = Self::new(1);
6964    }
6965    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6966    pub struct Pibdie_SPEC;
6967    pub type Pibdie = crate::EnumBitfieldStruct<u8, Pibdie_SPEC>;
6968    impl Pibdie {
6969        #[doc = "Interrupts on detection of the priority interrupt bit are disabled."]
6970        pub const _0: Self = Self::new(0);
6971
6972        #[doc = "Interrupts on detection of the priority interrupt bit are enabled."]
6973        pub const _1: Self = Self::new(1);
6974    }
6975    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6976    pub struct Bcdie_SPEC;
6977    pub type Bcdie = crate::EnumBitfieldStruct<u8, Bcdie_SPEC>;
6978    impl Bcdie {
6979        #[doc = "Interrupts on detection of a bus collision are disabled."]
6980        pub const _0: Self = Self::new(0);
6981
6982        #[doc = "Interrupts on detection of a bus collision are enabled."]
6983        pub const _1: Self = Self::new(1);
6984    }
6985    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6986    pub struct Aedie_SPEC;
6987    pub type Aedie = crate::EnumBitfieldStruct<u8, Aedie_SPEC>;
6988    impl Aedie {
6989        #[doc = "Interrupts on detection of a valid edge are disabled."]
6990        pub const _0: Self = Self::new(0);
6991
6992        #[doc = "Interrupts on detection of a valid edge are enabled."]
6993        pub const _1: Self = Self::new(1);
6994    }
6995}
6996#[doc(hidden)]
6997#[derive(Copy, Clone, Eq, PartialEq)]
6998pub struct Str_SPEC;
6999impl crate::sealed::RegSpec for Str_SPEC {
7000    type DataType = u8;
7001}
7002
7003#[doc = "Status Register"]
7004pub type Str = crate::RegValueT<Str_SPEC>;
7005
7006impl Str {
7007    #[doc = "Break Field Low Width Detection Flag"]
7008    #[inline(always)]
7009    pub fn bfdf(self) -> crate::common::RegisterFieldBool<0, 1, 0, Str_SPEC, crate::common::R> {
7010        crate::common::RegisterFieldBool::<0, 1, 0, Str_SPEC, crate::common::R>::from_register(
7011            self, 0,
7012        )
7013    }
7014
7015    #[doc = "Control Field 0 Match Flag"]
7016    #[inline(always)]
7017    pub fn cf0mf(self) -> crate::common::RegisterFieldBool<1, 1, 0, Str_SPEC, crate::common::R> {
7018        crate::common::RegisterFieldBool::<1, 1, 0, Str_SPEC, crate::common::R>::from_register(
7019            self, 0,
7020        )
7021    }
7022
7023    #[doc = "Control Field 1 Match Flag"]
7024    #[inline(always)]
7025    pub fn cf1mf(self) -> crate::common::RegisterFieldBool<2, 1, 0, Str_SPEC, crate::common::R> {
7026        crate::common::RegisterFieldBool::<2, 1, 0, Str_SPEC, crate::common::R>::from_register(
7027            self, 0,
7028        )
7029    }
7030
7031    #[doc = "Priority Interrupt Bit Detection Flag"]
7032    #[inline(always)]
7033    pub fn pibdf(self) -> crate::common::RegisterFieldBool<3, 1, 0, Str_SPEC, crate::common::R> {
7034        crate::common::RegisterFieldBool::<3, 1, 0, Str_SPEC, crate::common::R>::from_register(
7035            self, 0,
7036        )
7037    }
7038
7039    #[doc = "Bus Collision Detected Flag"]
7040    #[inline(always)]
7041    pub fn bcdf(self) -> crate::common::RegisterFieldBool<4, 1, 0, Str_SPEC, crate::common::R> {
7042        crate::common::RegisterFieldBool::<4, 1, 0, Str_SPEC, crate::common::R>::from_register(
7043            self, 0,
7044        )
7045    }
7046
7047    #[doc = "Valid Edge Detection Flag"]
7048    #[inline(always)]
7049    pub fn aedf(self) -> crate::common::RegisterFieldBool<5, 1, 0, Str_SPEC, crate::common::R> {
7050        crate::common::RegisterFieldBool::<5, 1, 0, Str_SPEC, crate::common::R>::from_register(
7051            self, 0,
7052        )
7053    }
7054}
7055impl ::core::default::Default for Str {
7056    #[inline(always)]
7057    fn default() -> Str {
7058        <crate::RegValueT<Str_SPEC> as RegisterValue<_>>::new(0)
7059    }
7060}
7061
7062#[doc(hidden)]
7063#[derive(Copy, Clone, Eq, PartialEq)]
7064pub struct Stcr_SPEC;
7065impl crate::sealed::RegSpec for Stcr_SPEC {
7066    type DataType = u8;
7067}
7068
7069#[doc = "Status Clear Register"]
7070pub type Stcr = crate::RegValueT<Stcr_SPEC>;
7071
7072impl Stcr {
7073    #[doc = "BFDF Clear"]
7074    #[inline(always)]
7075    pub fn bfdcl(self) -> crate::common::RegisterFieldBool<0, 1, 0, Stcr_SPEC, crate::common::RW> {
7076        crate::common::RegisterFieldBool::<0, 1, 0, Stcr_SPEC, crate::common::RW>::from_register(
7077            self, 0,
7078        )
7079    }
7080
7081    #[doc = "CF0MF Clear"]
7082    #[inline(always)]
7083    pub fn cf0mcl(self) -> crate::common::RegisterFieldBool<1, 1, 0, Stcr_SPEC, crate::common::RW> {
7084        crate::common::RegisterFieldBool::<1, 1, 0, Stcr_SPEC, crate::common::RW>::from_register(
7085            self, 0,
7086        )
7087    }
7088
7089    #[doc = "CF1MF Clear"]
7090    #[inline(always)]
7091    pub fn cf1mcl(self) -> crate::common::RegisterFieldBool<2, 1, 0, Stcr_SPEC, crate::common::RW> {
7092        crate::common::RegisterFieldBool::<2, 1, 0, Stcr_SPEC, crate::common::RW>::from_register(
7093            self, 0,
7094        )
7095    }
7096
7097    #[doc = "PIBDF Clear"]
7098    #[inline(always)]
7099    pub fn pibdcl(self) -> crate::common::RegisterFieldBool<3, 1, 0, Stcr_SPEC, crate::common::RW> {
7100        crate::common::RegisterFieldBool::<3, 1, 0, Stcr_SPEC, crate::common::RW>::from_register(
7101            self, 0,
7102        )
7103    }
7104
7105    #[doc = "BCDF Clear"]
7106    #[inline(always)]
7107    pub fn bcdcl(self) -> crate::common::RegisterFieldBool<4, 1, 0, Stcr_SPEC, crate::common::RW> {
7108        crate::common::RegisterFieldBool::<4, 1, 0, Stcr_SPEC, crate::common::RW>::from_register(
7109            self, 0,
7110        )
7111    }
7112
7113    #[doc = "AEDF Clear"]
7114    #[inline(always)]
7115    pub fn aedcl(self) -> crate::common::RegisterFieldBool<5, 1, 0, Stcr_SPEC, crate::common::RW> {
7116        crate::common::RegisterFieldBool::<5, 1, 0, Stcr_SPEC, crate::common::RW>::from_register(
7117            self, 0,
7118        )
7119    }
7120}
7121impl ::core::default::Default for Stcr {
7122    #[inline(always)]
7123    fn default() -> Stcr {
7124        <crate::RegValueT<Stcr_SPEC> as RegisterValue<_>>::new(0)
7125    }
7126}
7127
7128#[doc(hidden)]
7129#[derive(Copy, Clone, Eq, PartialEq)]
7130pub struct Cf0Dr_SPEC;
7131impl crate::sealed::RegSpec for Cf0Dr_SPEC {
7132    type DataType = u8;
7133}
7134
7135#[doc = "Control Field 0 Data Register"]
7136pub type Cf0Dr = crate::RegValueT<Cf0Dr_SPEC>;
7137
7138impl NoBitfieldReg<Cf0Dr_SPEC> for Cf0Dr {}
7139impl ::core::default::Default for Cf0Dr {
7140    #[inline(always)]
7141    fn default() -> Cf0Dr {
7142        <crate::RegValueT<Cf0Dr_SPEC> as RegisterValue<_>>::new(0)
7143    }
7144}
7145
7146#[doc(hidden)]
7147#[derive(Copy, Clone, Eq, PartialEq)]
7148pub struct Cf0Cr_SPEC;
7149impl crate::sealed::RegSpec for Cf0Cr_SPEC {
7150    type DataType = u8;
7151}
7152
7153#[doc = "Control Field 0 Compare Enable Register"]
7154pub type Cf0Cr = crate::RegValueT<Cf0Cr_SPEC>;
7155
7156impl Cf0Cr {
7157    #[doc = "Control Field 0 Bit 0 Compare Enable"]
7158    #[inline(always)]
7159    pub fn cf0ce0(
7160        self,
7161    ) -> crate::common::RegisterField<
7162        0,
7163        0x1,
7164        1,
7165        0,
7166        cf0cr::Cf0Ce0,
7167        cf0cr::Cf0Ce0,
7168        Cf0Cr_SPEC,
7169        crate::common::RW,
7170    > {
7171        crate::common::RegisterField::<
7172            0,
7173            0x1,
7174            1,
7175            0,
7176            cf0cr::Cf0Ce0,
7177            cf0cr::Cf0Ce0,
7178            Cf0Cr_SPEC,
7179            crate::common::RW,
7180        >::from_register(self, 0)
7181    }
7182
7183    #[doc = "Control Field 1 Bit 0 Compare Enable"]
7184    #[inline(always)]
7185    pub fn cf0ce1(
7186        self,
7187    ) -> crate::common::RegisterField<
7188        1,
7189        0x1,
7190        1,
7191        0,
7192        cf0cr::Cf0Ce1,
7193        cf0cr::Cf0Ce1,
7194        Cf0Cr_SPEC,
7195        crate::common::RW,
7196    > {
7197        crate::common::RegisterField::<
7198            1,
7199            0x1,
7200            1,
7201            0,
7202            cf0cr::Cf0Ce1,
7203            cf0cr::Cf0Ce1,
7204            Cf0Cr_SPEC,
7205            crate::common::RW,
7206        >::from_register(self, 0)
7207    }
7208
7209    #[doc = "Control Field 2 Bit 0 Compare Enable"]
7210    #[inline(always)]
7211    pub fn cf0ce2(
7212        self,
7213    ) -> crate::common::RegisterField<
7214        2,
7215        0x1,
7216        1,
7217        0,
7218        cf0cr::Cf0Ce2,
7219        cf0cr::Cf0Ce2,
7220        Cf0Cr_SPEC,
7221        crate::common::RW,
7222    > {
7223        crate::common::RegisterField::<
7224            2,
7225            0x1,
7226            1,
7227            0,
7228            cf0cr::Cf0Ce2,
7229            cf0cr::Cf0Ce2,
7230            Cf0Cr_SPEC,
7231            crate::common::RW,
7232        >::from_register(self, 0)
7233    }
7234
7235    #[doc = "Control Field 3 Bit 0 Compare Enable"]
7236    #[inline(always)]
7237    pub fn cf0ce3(
7238        self,
7239    ) -> crate::common::RegisterField<
7240        3,
7241        0x1,
7242        1,
7243        0,
7244        cf0cr::Cf0Ce3,
7245        cf0cr::Cf0Ce3,
7246        Cf0Cr_SPEC,
7247        crate::common::RW,
7248    > {
7249        crate::common::RegisterField::<
7250            3,
7251            0x1,
7252            1,
7253            0,
7254            cf0cr::Cf0Ce3,
7255            cf0cr::Cf0Ce3,
7256            Cf0Cr_SPEC,
7257            crate::common::RW,
7258        >::from_register(self, 0)
7259    }
7260
7261    #[doc = "Control Field 4 Bit 0 Compare Enable"]
7262    #[inline(always)]
7263    pub fn cf0ce4(
7264        self,
7265    ) -> crate::common::RegisterField<
7266        4,
7267        0x1,
7268        1,
7269        0,
7270        cf0cr::Cf0Ce4,
7271        cf0cr::Cf0Ce4,
7272        Cf0Cr_SPEC,
7273        crate::common::RW,
7274    > {
7275        crate::common::RegisterField::<
7276            4,
7277            0x1,
7278            1,
7279            0,
7280            cf0cr::Cf0Ce4,
7281            cf0cr::Cf0Ce4,
7282            Cf0Cr_SPEC,
7283            crate::common::RW,
7284        >::from_register(self, 0)
7285    }
7286
7287    #[doc = "Control Field 5 Bit 0 Compare Enable"]
7288    #[inline(always)]
7289    pub fn cf0ce5(
7290        self,
7291    ) -> crate::common::RegisterField<
7292        5,
7293        0x1,
7294        1,
7295        0,
7296        cf0cr::Cf0Ce5,
7297        cf0cr::Cf0Ce5,
7298        Cf0Cr_SPEC,
7299        crate::common::RW,
7300    > {
7301        crate::common::RegisterField::<
7302            5,
7303            0x1,
7304            1,
7305            0,
7306            cf0cr::Cf0Ce5,
7307            cf0cr::Cf0Ce5,
7308            Cf0Cr_SPEC,
7309            crate::common::RW,
7310        >::from_register(self, 0)
7311    }
7312
7313    #[doc = "Control Field 6 Bit 0 Compare Enable"]
7314    #[inline(always)]
7315    pub fn cf0ce6(
7316        self,
7317    ) -> crate::common::RegisterField<
7318        6,
7319        0x1,
7320        1,
7321        0,
7322        cf0cr::Cf0Ce6,
7323        cf0cr::Cf0Ce6,
7324        Cf0Cr_SPEC,
7325        crate::common::RW,
7326    > {
7327        crate::common::RegisterField::<
7328            6,
7329            0x1,
7330            1,
7331            0,
7332            cf0cr::Cf0Ce6,
7333            cf0cr::Cf0Ce6,
7334            Cf0Cr_SPEC,
7335            crate::common::RW,
7336        >::from_register(self, 0)
7337    }
7338
7339    #[doc = "Control Field 7 Bit 0 Compare Enable"]
7340    #[inline(always)]
7341    pub fn cf0ce7(
7342        self,
7343    ) -> crate::common::RegisterField<
7344        7,
7345        0x1,
7346        1,
7347        0,
7348        cf0cr::Cf0Ce7,
7349        cf0cr::Cf0Ce7,
7350        Cf0Cr_SPEC,
7351        crate::common::RW,
7352    > {
7353        crate::common::RegisterField::<
7354            7,
7355            0x1,
7356            1,
7357            0,
7358            cf0cr::Cf0Ce7,
7359            cf0cr::Cf0Ce7,
7360            Cf0Cr_SPEC,
7361            crate::common::RW,
7362        >::from_register(self, 0)
7363    }
7364}
7365impl ::core::default::Default for Cf0Cr {
7366    #[inline(always)]
7367    fn default() -> Cf0Cr {
7368        <crate::RegValueT<Cf0Cr_SPEC> as RegisterValue<_>>::new(0)
7369    }
7370}
7371pub mod cf0cr {
7372
7373    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7374    pub struct Cf0Ce0_SPEC;
7375    pub type Cf0Ce0 = crate::EnumBitfieldStruct<u8, Cf0Ce0_SPEC>;
7376    impl Cf0Ce0 {
7377        #[doc = "Comparison with bit 0 of Control Field 0 is disabled."]
7378        pub const _0: Self = Self::new(0);
7379
7380        #[doc = "Comparison with bit 0 of Control Field 0 is enabled."]
7381        pub const _1: Self = Self::new(1);
7382    }
7383    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7384    pub struct Cf0Ce1_SPEC;
7385    pub type Cf0Ce1 = crate::EnumBitfieldStruct<u8, Cf0Ce1_SPEC>;
7386    impl Cf0Ce1 {
7387        #[doc = "Comparison with bit 1 of Control Field 0 is disabled."]
7388        pub const _0: Self = Self::new(0);
7389
7390        #[doc = "Comparison with bit 1 of Control Field 0 is enabled."]
7391        pub const _1: Self = Self::new(1);
7392    }
7393    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7394    pub struct Cf0Ce2_SPEC;
7395    pub type Cf0Ce2 = crate::EnumBitfieldStruct<u8, Cf0Ce2_SPEC>;
7396    impl Cf0Ce2 {
7397        #[doc = "Comparison with bit 2 of Control Field 0 is disabled."]
7398        pub const _0: Self = Self::new(0);
7399
7400        #[doc = "Comparison with bit 2 of Control Field 0 is enabled."]
7401        pub const _1: Self = Self::new(1);
7402    }
7403    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7404    pub struct Cf0Ce3_SPEC;
7405    pub type Cf0Ce3 = crate::EnumBitfieldStruct<u8, Cf0Ce3_SPEC>;
7406    impl Cf0Ce3 {
7407        #[doc = "Comparison with bit 3 of Control Field 0 is disabled."]
7408        pub const _0: Self = Self::new(0);
7409
7410        #[doc = "Comparison with bit 3 of Control Field 0 is enabled."]
7411        pub const _1: Self = Self::new(1);
7412    }
7413    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7414    pub struct Cf0Ce4_SPEC;
7415    pub type Cf0Ce4 = crate::EnumBitfieldStruct<u8, Cf0Ce4_SPEC>;
7416    impl Cf0Ce4 {
7417        #[doc = "Comparison with bit 4 of Control Field 0 is disabled."]
7418        pub const _0: Self = Self::new(0);
7419
7420        #[doc = "Comparison with bit 4 of Control Field 0 is enabled."]
7421        pub const _1: Self = Self::new(1);
7422    }
7423    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7424    pub struct Cf0Ce5_SPEC;
7425    pub type Cf0Ce5 = crate::EnumBitfieldStruct<u8, Cf0Ce5_SPEC>;
7426    impl Cf0Ce5 {
7427        #[doc = "Comparison with bit 5 of Control Field 0 is disabled."]
7428        pub const _0: Self = Self::new(0);
7429
7430        #[doc = "Comparison with bit 5 of Control Field 0 is enabled."]
7431        pub const _1: Self = Self::new(1);
7432    }
7433    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7434    pub struct Cf0Ce6_SPEC;
7435    pub type Cf0Ce6 = crate::EnumBitfieldStruct<u8, Cf0Ce6_SPEC>;
7436    impl Cf0Ce6 {
7437        #[doc = "Comparison with bit 6 of Control Field 0 is disabled."]
7438        pub const _0: Self = Self::new(0);
7439
7440        #[doc = "Comparison with bit 6 of Control Field 0 is enabled."]
7441        pub const _1: Self = Self::new(1);
7442    }
7443    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7444    pub struct Cf0Ce7_SPEC;
7445    pub type Cf0Ce7 = crate::EnumBitfieldStruct<u8, Cf0Ce7_SPEC>;
7446    impl Cf0Ce7 {
7447        #[doc = "Comparison with bit 7 of Control Field 0 is disabled."]
7448        pub const _0: Self = Self::new(0);
7449
7450        #[doc = "Comparison with bit 7 of Control Field 0 is enabled."]
7451        pub const _1: Self = Self::new(1);
7452    }
7453}
7454#[doc(hidden)]
7455#[derive(Copy, Clone, Eq, PartialEq)]
7456pub struct Cf0Rr_SPEC;
7457impl crate::sealed::RegSpec for Cf0Rr_SPEC {
7458    type DataType = u8;
7459}
7460
7461#[doc = "Control Field 0 Receive Data Register"]
7462pub type Cf0Rr = crate::RegValueT<Cf0Rr_SPEC>;
7463
7464impl NoBitfieldReg<Cf0Rr_SPEC> for Cf0Rr {}
7465impl ::core::default::Default for Cf0Rr {
7466    #[inline(always)]
7467    fn default() -> Cf0Rr {
7468        <crate::RegValueT<Cf0Rr_SPEC> as RegisterValue<_>>::new(0)
7469    }
7470}
7471
7472#[doc(hidden)]
7473#[derive(Copy, Clone, Eq, PartialEq)]
7474pub struct Pcf1Dr_SPEC;
7475impl crate::sealed::RegSpec for Pcf1Dr_SPEC {
7476    type DataType = u8;
7477}
7478
7479#[doc = "Primary Control Field 1 Data Register"]
7480pub type Pcf1Dr = crate::RegValueT<Pcf1Dr_SPEC>;
7481
7482impl NoBitfieldReg<Pcf1Dr_SPEC> for Pcf1Dr {}
7483impl ::core::default::Default for Pcf1Dr {
7484    #[inline(always)]
7485    fn default() -> Pcf1Dr {
7486        <crate::RegValueT<Pcf1Dr_SPEC> as RegisterValue<_>>::new(0)
7487    }
7488}
7489
7490#[doc(hidden)]
7491#[derive(Copy, Clone, Eq, PartialEq)]
7492pub struct Scf1Dr_SPEC;
7493impl crate::sealed::RegSpec for Scf1Dr_SPEC {
7494    type DataType = u8;
7495}
7496
7497#[doc = "Secondary Control Field 1 Data Register"]
7498pub type Scf1Dr = crate::RegValueT<Scf1Dr_SPEC>;
7499
7500impl NoBitfieldReg<Scf1Dr_SPEC> for Scf1Dr {}
7501impl ::core::default::Default for Scf1Dr {
7502    #[inline(always)]
7503    fn default() -> Scf1Dr {
7504        <crate::RegValueT<Scf1Dr_SPEC> as RegisterValue<_>>::new(0)
7505    }
7506}
7507
7508#[doc(hidden)]
7509#[derive(Copy, Clone, Eq, PartialEq)]
7510pub struct Cf1Cr_SPEC;
7511impl crate::sealed::RegSpec for Cf1Cr_SPEC {
7512    type DataType = u8;
7513}
7514
7515#[doc = "Control Field 1 Compare Enable Register"]
7516pub type Cf1Cr = crate::RegValueT<Cf1Cr_SPEC>;
7517
7518impl Cf1Cr {
7519    #[doc = "Control Field 1 Bit 0 Compare Enable"]
7520    #[inline(always)]
7521    pub fn cf1ce0(
7522        self,
7523    ) -> crate::common::RegisterField<
7524        0,
7525        0x1,
7526        1,
7527        0,
7528        cf1cr::Cf1Ce0,
7529        cf1cr::Cf1Ce0,
7530        Cf1Cr_SPEC,
7531        crate::common::RW,
7532    > {
7533        crate::common::RegisterField::<
7534            0,
7535            0x1,
7536            1,
7537            0,
7538            cf1cr::Cf1Ce0,
7539            cf1cr::Cf1Ce0,
7540            Cf1Cr_SPEC,
7541            crate::common::RW,
7542        >::from_register(self, 0)
7543    }
7544
7545    #[doc = "Control Field 1 Bit 1 Compare Enable"]
7546    #[inline(always)]
7547    pub fn cf1ce1(
7548        self,
7549    ) -> crate::common::RegisterField<
7550        1,
7551        0x1,
7552        1,
7553        0,
7554        cf1cr::Cf1Ce1,
7555        cf1cr::Cf1Ce1,
7556        Cf1Cr_SPEC,
7557        crate::common::RW,
7558    > {
7559        crate::common::RegisterField::<
7560            1,
7561            0x1,
7562            1,
7563            0,
7564            cf1cr::Cf1Ce1,
7565            cf1cr::Cf1Ce1,
7566            Cf1Cr_SPEC,
7567            crate::common::RW,
7568        >::from_register(self, 0)
7569    }
7570
7571    #[doc = "Control Field 1 Bit 2 Compare Enable"]
7572    #[inline(always)]
7573    pub fn cf1ce2(
7574        self,
7575    ) -> crate::common::RegisterField<
7576        2,
7577        0x1,
7578        1,
7579        0,
7580        cf1cr::Cf1Ce2,
7581        cf1cr::Cf1Ce2,
7582        Cf1Cr_SPEC,
7583        crate::common::RW,
7584    > {
7585        crate::common::RegisterField::<
7586            2,
7587            0x1,
7588            1,
7589            0,
7590            cf1cr::Cf1Ce2,
7591            cf1cr::Cf1Ce2,
7592            Cf1Cr_SPEC,
7593            crate::common::RW,
7594        >::from_register(self, 0)
7595    }
7596
7597    #[doc = "Control Field 1 Bit 3 Compare Enable"]
7598    #[inline(always)]
7599    pub fn cf1ce3(
7600        self,
7601    ) -> crate::common::RegisterField<
7602        3,
7603        0x1,
7604        1,
7605        0,
7606        cf1cr::Cf1Ce3,
7607        cf1cr::Cf1Ce3,
7608        Cf1Cr_SPEC,
7609        crate::common::RW,
7610    > {
7611        crate::common::RegisterField::<
7612            3,
7613            0x1,
7614            1,
7615            0,
7616            cf1cr::Cf1Ce3,
7617            cf1cr::Cf1Ce3,
7618            Cf1Cr_SPEC,
7619            crate::common::RW,
7620        >::from_register(self, 0)
7621    }
7622
7623    #[doc = "Control Field 1 Bit 4 Compare Enable"]
7624    #[inline(always)]
7625    pub fn cf1ce4(
7626        self,
7627    ) -> crate::common::RegisterField<
7628        4,
7629        0x1,
7630        1,
7631        0,
7632        cf1cr::Cf1Ce4,
7633        cf1cr::Cf1Ce4,
7634        Cf1Cr_SPEC,
7635        crate::common::RW,
7636    > {
7637        crate::common::RegisterField::<
7638            4,
7639            0x1,
7640            1,
7641            0,
7642            cf1cr::Cf1Ce4,
7643            cf1cr::Cf1Ce4,
7644            Cf1Cr_SPEC,
7645            crate::common::RW,
7646        >::from_register(self, 0)
7647    }
7648
7649    #[doc = "Control Field 1 Bit 5 Compare Enable"]
7650    #[inline(always)]
7651    pub fn cf1ce5(
7652        self,
7653    ) -> crate::common::RegisterField<
7654        5,
7655        0x1,
7656        1,
7657        0,
7658        cf1cr::Cf1Ce5,
7659        cf1cr::Cf1Ce5,
7660        Cf1Cr_SPEC,
7661        crate::common::RW,
7662    > {
7663        crate::common::RegisterField::<
7664            5,
7665            0x1,
7666            1,
7667            0,
7668            cf1cr::Cf1Ce5,
7669            cf1cr::Cf1Ce5,
7670            Cf1Cr_SPEC,
7671            crate::common::RW,
7672        >::from_register(self, 0)
7673    }
7674
7675    #[doc = "Control Field 1 Bit 6 Compare Enable"]
7676    #[inline(always)]
7677    pub fn cf1ce6(
7678        self,
7679    ) -> crate::common::RegisterField<
7680        6,
7681        0x1,
7682        1,
7683        0,
7684        cf1cr::Cf1Ce6,
7685        cf1cr::Cf1Ce6,
7686        Cf1Cr_SPEC,
7687        crate::common::RW,
7688    > {
7689        crate::common::RegisterField::<
7690            6,
7691            0x1,
7692            1,
7693            0,
7694            cf1cr::Cf1Ce6,
7695            cf1cr::Cf1Ce6,
7696            Cf1Cr_SPEC,
7697            crate::common::RW,
7698        >::from_register(self, 0)
7699    }
7700
7701    #[doc = "Control Field 1 Bit 7 Compare Enable"]
7702    #[inline(always)]
7703    pub fn cf1ce7(
7704        self,
7705    ) -> crate::common::RegisterField<
7706        7,
7707        0x1,
7708        1,
7709        0,
7710        cf1cr::Cf1Ce7,
7711        cf1cr::Cf1Ce7,
7712        Cf1Cr_SPEC,
7713        crate::common::RW,
7714    > {
7715        crate::common::RegisterField::<
7716            7,
7717            0x1,
7718            1,
7719            0,
7720            cf1cr::Cf1Ce7,
7721            cf1cr::Cf1Ce7,
7722            Cf1Cr_SPEC,
7723            crate::common::RW,
7724        >::from_register(self, 0)
7725    }
7726}
7727impl ::core::default::Default for Cf1Cr {
7728    #[inline(always)]
7729    fn default() -> Cf1Cr {
7730        <crate::RegValueT<Cf1Cr_SPEC> as RegisterValue<_>>::new(0)
7731    }
7732}
7733pub mod cf1cr {
7734
7735    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7736    pub struct Cf1Ce0_SPEC;
7737    pub type Cf1Ce0 = crate::EnumBitfieldStruct<u8, Cf1Ce0_SPEC>;
7738    impl Cf1Ce0 {
7739        #[doc = "Comparison with bit 0 of Control Field 1 is disabled."]
7740        pub const _0: Self = Self::new(0);
7741
7742        #[doc = "Comparison with bit 0 of Control Field 1 is enabled."]
7743        pub const _1: Self = Self::new(1);
7744    }
7745    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7746    pub struct Cf1Ce1_SPEC;
7747    pub type Cf1Ce1 = crate::EnumBitfieldStruct<u8, Cf1Ce1_SPEC>;
7748    impl Cf1Ce1 {
7749        #[doc = "Comparison with bit 1 of Control Field 1 is disabled."]
7750        pub const _0: Self = Self::new(0);
7751
7752        #[doc = "Comparison with bit 1 of Control Field 1 is enabled."]
7753        pub const _1: Self = Self::new(1);
7754    }
7755    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7756    pub struct Cf1Ce2_SPEC;
7757    pub type Cf1Ce2 = crate::EnumBitfieldStruct<u8, Cf1Ce2_SPEC>;
7758    impl Cf1Ce2 {
7759        #[doc = "Comparison with bit 2 of Control Field 1 is disabled."]
7760        pub const _0: Self = Self::new(0);
7761
7762        #[doc = "Comparison with bit 2 of Control Field 1 is enabled."]
7763        pub const _1: Self = Self::new(1);
7764    }
7765    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7766    pub struct Cf1Ce3_SPEC;
7767    pub type Cf1Ce3 = crate::EnumBitfieldStruct<u8, Cf1Ce3_SPEC>;
7768    impl Cf1Ce3 {
7769        #[doc = "Comparison with bit 3 of Control Field 1 is disabled."]
7770        pub const _0: Self = Self::new(0);
7771
7772        #[doc = "Comparison with bit 3 of Control Field 1 is enabled."]
7773        pub const _1: Self = Self::new(1);
7774    }
7775    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7776    pub struct Cf1Ce4_SPEC;
7777    pub type Cf1Ce4 = crate::EnumBitfieldStruct<u8, Cf1Ce4_SPEC>;
7778    impl Cf1Ce4 {
7779        #[doc = "Comparison with bit 4 of Control Field 1 is disabled."]
7780        pub const _0: Self = Self::new(0);
7781
7782        #[doc = "Comparison with bit 4 of Control Field 1 is enabled."]
7783        pub const _1: Self = Self::new(1);
7784    }
7785    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7786    pub struct Cf1Ce5_SPEC;
7787    pub type Cf1Ce5 = crate::EnumBitfieldStruct<u8, Cf1Ce5_SPEC>;
7788    impl Cf1Ce5 {
7789        #[doc = "Comparison with bit 5 of Control Field 1 is disabled."]
7790        pub const _0: Self = Self::new(0);
7791
7792        #[doc = "Comparison with bit 5 of Control Field 1 is enabled."]
7793        pub const _1: Self = Self::new(1);
7794    }
7795    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7796    pub struct Cf1Ce6_SPEC;
7797    pub type Cf1Ce6 = crate::EnumBitfieldStruct<u8, Cf1Ce6_SPEC>;
7798    impl Cf1Ce6 {
7799        #[doc = "Comparison with bit 6 of Control Field 1 is disabled."]
7800        pub const _0: Self = Self::new(0);
7801
7802        #[doc = "Comparison with bit 6 of Control Field 1 is enabled."]
7803        pub const _1: Self = Self::new(1);
7804    }
7805    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7806    pub struct Cf1Ce7_SPEC;
7807    pub type Cf1Ce7 = crate::EnumBitfieldStruct<u8, Cf1Ce7_SPEC>;
7808    impl Cf1Ce7 {
7809        #[doc = "Comparison with bit 7 of Control Field 1 is disabled."]
7810        pub const _0: Self = Self::new(0);
7811
7812        #[doc = "Comparison with bit 7 of Control Field 1 is enabled."]
7813        pub const _1: Self = Self::new(1);
7814    }
7815}
7816#[doc(hidden)]
7817#[derive(Copy, Clone, Eq, PartialEq)]
7818pub struct Cf1Rr_SPEC;
7819impl crate::sealed::RegSpec for Cf1Rr_SPEC {
7820    type DataType = u8;
7821}
7822
7823#[doc = "Control Field 1 Receive Data Register"]
7824pub type Cf1Rr = crate::RegValueT<Cf1Rr_SPEC>;
7825
7826impl NoBitfieldReg<Cf1Rr_SPEC> for Cf1Rr {}
7827impl ::core::default::Default for Cf1Rr {
7828    #[inline(always)]
7829    fn default() -> Cf1Rr {
7830        <crate::RegValueT<Cf1Rr_SPEC> as RegisterValue<_>>::new(0)
7831    }
7832}
7833
7834#[doc(hidden)]
7835#[derive(Copy, Clone, Eq, PartialEq)]
7836pub struct Tcr_SPEC;
7837impl crate::sealed::RegSpec for Tcr_SPEC {
7838    type DataType = u8;
7839}
7840
7841#[doc = "Timer Control Register"]
7842pub type Tcr = crate::RegValueT<Tcr_SPEC>;
7843
7844impl Tcr {
7845    #[doc = "Timer Count Start"]
7846    #[inline(always)]
7847    pub fn tcst(
7848        self,
7849    ) -> crate::common::RegisterField<0, 0x1, 1, 0, tcr::Tcst, tcr::Tcst, Tcr_SPEC, crate::common::RW>
7850    {
7851        crate::common::RegisterField::<
7852            0,
7853            0x1,
7854            1,
7855            0,
7856            tcr::Tcst,
7857            tcr::Tcst,
7858            Tcr_SPEC,
7859            crate::common::RW,
7860        >::from_register(self, 0)
7861    }
7862}
7863impl ::core::default::Default for Tcr {
7864    #[inline(always)]
7865    fn default() -> Tcr {
7866        <crate::RegValueT<Tcr_SPEC> as RegisterValue<_>>::new(0)
7867    }
7868}
7869pub mod tcr {
7870
7871    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7872    pub struct Tcst_SPEC;
7873    pub type Tcst = crate::EnumBitfieldStruct<u8, Tcst_SPEC>;
7874    impl Tcst {
7875        #[doc = "Stops the timer counting"]
7876        pub const _0: Self = Self::new(0);
7877
7878        #[doc = "Starts the timer counting"]
7879        pub const _1: Self = Self::new(1);
7880    }
7881}
7882#[doc(hidden)]
7883#[derive(Copy, Clone, Eq, PartialEq)]
7884pub struct Tmr_SPEC;
7885impl crate::sealed::RegSpec for Tmr_SPEC {
7886    type DataType = u8;
7887}
7888
7889#[doc = "Timer Mode Register"]
7890pub type Tmr = crate::RegValueT<Tmr_SPEC>;
7891
7892impl Tmr {
7893    #[doc = "Timer Operating Mode Select"]
7894    #[inline(always)]
7895    pub fn toms(
7896        self,
7897    ) -> crate::common::RegisterField<0, 0x3, 1, 0, tmr::Toms, tmr::Toms, Tmr_SPEC, crate::common::RW>
7898    {
7899        crate::common::RegisterField::<
7900            0,
7901            0x3,
7902            1,
7903            0,
7904            tmr::Toms,
7905            tmr::Toms,
7906            Tmr_SPEC,
7907            crate::common::RW,
7908        >::from_register(self, 0)
7909    }
7910
7911    #[doc = "Counter Write Control"]
7912    #[inline(always)]
7913    pub fn twrc(
7914        self,
7915    ) -> crate::common::RegisterField<3, 0x1, 1, 0, tmr::Twrc, tmr::Twrc, Tmr_SPEC, crate::common::RW>
7916    {
7917        crate::common::RegisterField::<
7918            3,
7919            0x1,
7920            1,
7921            0,
7922            tmr::Twrc,
7923            tmr::Twrc,
7924            Tmr_SPEC,
7925            crate::common::RW,
7926        >::from_register(self, 0)
7927    }
7928
7929    #[doc = "Timer Count Clock Source Select"]
7930    #[inline(always)]
7931    pub fn tcss(
7932        self,
7933    ) -> crate::common::RegisterField<4, 0x7, 1, 0, tmr::Tcss, tmr::Tcss, Tmr_SPEC, crate::common::RW>
7934    {
7935        crate::common::RegisterField::<
7936            4,
7937            0x7,
7938            1,
7939            0,
7940            tmr::Tcss,
7941            tmr::Tcss,
7942            Tmr_SPEC,
7943            crate::common::RW,
7944        >::from_register(self, 0)
7945    }
7946}
7947impl ::core::default::Default for Tmr {
7948    #[inline(always)]
7949    fn default() -> Tmr {
7950        <crate::RegValueT<Tmr_SPEC> as RegisterValue<_>>::new(0)
7951    }
7952}
7953pub mod tmr {
7954
7955    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7956    pub struct Toms_SPEC;
7957    pub type Toms = crate::EnumBitfieldStruct<u8, Toms_SPEC>;
7958    impl Toms {
7959        #[doc = "Timer mode"]
7960        pub const _00: Self = Self::new(0);
7961
7962        #[doc = "Break Field low width determination mode"]
7963        pub const _01: Self = Self::new(1);
7964
7965        #[doc = "Break Field low width output mode"]
7966        pub const _10: Self = Self::new(2);
7967
7968        #[doc = "Setting prohibited"]
7969        pub const _11: Self = Self::new(3);
7970    }
7971    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7972    pub struct Twrc_SPEC;
7973    pub type Twrc = crate::EnumBitfieldStruct<u8, Twrc_SPEC>;
7974    impl Twrc {
7975        #[doc = "Data is written to the reload register and counter"]
7976        pub const _0: Self = Self::new(0);
7977
7978        #[doc = "Data is written to the reload register only"]
7979        pub const _1: Self = Self::new(1);
7980    }
7981    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7982    pub struct Tcss_SPEC;
7983    pub type Tcss = crate::EnumBitfieldStruct<u8, Tcss_SPEC>;
7984    impl Tcss {
7985        #[doc = "PCLK"]
7986        pub const _000: Self = Self::new(0);
7987
7988        #[doc = "PCLK/2"]
7989        pub const _001: Self = Self::new(1);
7990
7991        #[doc = "PCLK/4"]
7992        pub const _010: Self = Self::new(2);
7993
7994        #[doc = "PCLK/8"]
7995        pub const _011: Self = Self::new(3);
7996
7997        #[doc = "PCLK/16"]
7998        pub const _100: Self = Self::new(4);
7999
8000        #[doc = "PCLK/32"]
8001        pub const _101: Self = Self::new(5);
8002
8003        #[doc = "PCLK/64"]
8004        pub const _110: Self = Self::new(6);
8005
8006        #[doc = "PCLK/128"]
8007        pub const _111: Self = Self::new(7);
8008    }
8009}
8010#[doc(hidden)]
8011#[derive(Copy, Clone, Eq, PartialEq)]
8012pub struct Tpre_SPEC;
8013impl crate::sealed::RegSpec for Tpre_SPEC {
8014    type DataType = u8;
8015}
8016
8017#[doc = "Timer Prescaler Register"]
8018pub type Tpre = crate::RegValueT<Tpre_SPEC>;
8019
8020impl NoBitfieldReg<Tpre_SPEC> for Tpre {}
8021impl ::core::default::Default for Tpre {
8022    #[inline(always)]
8023    fn default() -> Tpre {
8024        <crate::RegValueT<Tpre_SPEC> as RegisterValue<_>>::new(255)
8025    }
8026}
8027
8028#[doc(hidden)]
8029#[derive(Copy, Clone, Eq, PartialEq)]
8030pub struct Tcnt_SPEC;
8031impl crate::sealed::RegSpec for Tcnt_SPEC {
8032    type DataType = u8;
8033}
8034
8035#[doc = "Timer Count Register"]
8036pub type Tcnt = crate::RegValueT<Tcnt_SPEC>;
8037
8038impl NoBitfieldReg<Tcnt_SPEC> for Tcnt {}
8039impl ::core::default::Default for Tcnt {
8040    #[inline(always)]
8041    fn default() -> Tcnt {
8042        <crate::RegValueT<Tcnt_SPEC> as RegisterValue<_>>::new(255)
8043    }
8044}