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