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 = "Asynchronous Mode Clock Source Select"]
2502 #[inline(always)]
2503 pub fn acs0(
2504 self,
2505 ) -> crate::common::RegisterField<
2506 0,
2507 0x1,
2508 1,
2509 0,
2510 semr::Acs0,
2511 semr::Acs0,
2512 Semr_SPEC,
2513 crate::common::RW,
2514 > {
2515 crate::common::RegisterField::<
2516 0,
2517 0x1,
2518 1,
2519 0,
2520 semr::Acs0,
2521 semr::Acs0,
2522 Semr_SPEC,
2523 crate::common::RW,
2524 >::from_register(self, 0)
2525 }
2526
2527 #[doc = "Preamble function Disable"]
2528 #[inline(always)]
2529 pub fn padis(
2530 self,
2531 ) -> crate::common::RegisterField<
2532 1,
2533 0x1,
2534 1,
2535 0,
2536 semr::Padis,
2537 semr::Padis,
2538 Semr_SPEC,
2539 crate::common::RW,
2540 > {
2541 crate::common::RegisterField::<
2542 1,
2543 0x1,
2544 1,
2545 0,
2546 semr::Padis,
2547 semr::Padis,
2548 Semr_SPEC,
2549 crate::common::RW,
2550 >::from_register(self, 0)
2551 }
2552
2553 #[doc = "Bit Rate Modulation Enable"]
2554 #[inline(always)]
2555 pub fn brme(
2556 self,
2557 ) -> crate::common::RegisterField<
2558 2,
2559 0x1,
2560 1,
2561 0,
2562 semr::Brme,
2563 semr::Brme,
2564 Semr_SPEC,
2565 crate::common::RW,
2566 > {
2567 crate::common::RegisterField::<
2568 2,
2569 0x1,
2570 1,
2571 0,
2572 semr::Brme,
2573 semr::Brme,
2574 Semr_SPEC,
2575 crate::common::RW,
2576 >::from_register(self, 0)
2577 }
2578
2579 #[doc = "Asynchronous Mode Extended Base Clock Select 1"]
2580 #[inline(always)]
2581 pub fn abcse(
2582 self,
2583 ) -> crate::common::RegisterField<
2584 3,
2585 0x1,
2586 1,
2587 0,
2588 semr::Abcse,
2589 semr::Abcse,
2590 Semr_SPEC,
2591 crate::common::RW,
2592 > {
2593 crate::common::RegisterField::<
2594 3,
2595 0x1,
2596 1,
2597 0,
2598 semr::Abcse,
2599 semr::Abcse,
2600 Semr_SPEC,
2601 crate::common::RW,
2602 >::from_register(self, 0)
2603 }
2604
2605 #[doc = "Asynchronous Mode Base Clock Select"]
2606 #[inline(always)]
2607 pub fn abcs(
2608 self,
2609 ) -> crate::common::RegisterField<
2610 4,
2611 0x1,
2612 1,
2613 0,
2614 semr::Abcs,
2615 semr::Abcs,
2616 Semr_SPEC,
2617 crate::common::RW,
2618 > {
2619 crate::common::RegisterField::<
2620 4,
2621 0x1,
2622 1,
2623 0,
2624 semr::Abcs,
2625 semr::Abcs,
2626 Semr_SPEC,
2627 crate::common::RW,
2628 >::from_register(self, 0)
2629 }
2630
2631 #[doc = "Digital Noise Filter Function Enable"]
2632 #[inline(always)]
2633 pub fn nfen(
2634 self,
2635 ) -> crate::common::RegisterField<
2636 5,
2637 0x1,
2638 1,
2639 0,
2640 semr::Nfen,
2641 semr::Nfen,
2642 Semr_SPEC,
2643 crate::common::RW,
2644 > {
2645 crate::common::RegisterField::<
2646 5,
2647 0x1,
2648 1,
2649 0,
2650 semr::Nfen,
2651 semr::Nfen,
2652 Semr_SPEC,
2653 crate::common::RW,
2654 >::from_register(self, 0)
2655 }
2656
2657 #[doc = "Baud Rate Generator Double-Speed Mode Select"]
2658 #[inline(always)]
2659 pub fn bgdm(
2660 self,
2661 ) -> crate::common::RegisterField<
2662 6,
2663 0x1,
2664 1,
2665 0,
2666 semr::Bgdm,
2667 semr::Bgdm,
2668 Semr_SPEC,
2669 crate::common::RW,
2670 > {
2671 crate::common::RegisterField::<
2672 6,
2673 0x1,
2674 1,
2675 0,
2676 semr::Bgdm,
2677 semr::Bgdm,
2678 Semr_SPEC,
2679 crate::common::RW,
2680 >::from_register(self, 0)
2681 }
2682
2683 #[doc = "Asynchronous Start Bit Edge Detection Select"]
2684 #[inline(always)]
2685 pub fn rxdesel(
2686 self,
2687 ) -> crate::common::RegisterField<
2688 7,
2689 0x1,
2690 1,
2691 0,
2692 semr::Rxdesel,
2693 semr::Rxdesel,
2694 Semr_SPEC,
2695 crate::common::RW,
2696 > {
2697 crate::common::RegisterField::<
2698 7,
2699 0x1,
2700 1,
2701 0,
2702 semr::Rxdesel,
2703 semr::Rxdesel,
2704 Semr_SPEC,
2705 crate::common::RW,
2706 >::from_register(self, 0)
2707 }
2708}
2709impl ::core::default::Default for Semr {
2710 #[inline(always)]
2711 fn default() -> Semr {
2712 <crate::RegValueT<Semr_SPEC> as RegisterValue<_>>::new(0)
2713 }
2714}
2715pub mod semr {
2716
2717 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2718 pub struct Acs0_SPEC;
2719 pub type Acs0 = crate::EnumBitfieldStruct<u8, Acs0_SPEC>;
2720 impl Acs0 {
2721 #[doc = "External clock input"]
2722 pub const _0: Self = Self::new(0);
2723
2724 #[doc = "Logical AND of compare matches output from the internal GPT. These bit for the other SCI channels than SCIn (n = 1, 2) are reserved."]
2725 pub const _1: Self = Self::new(1);
2726 }
2727 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2728 pub struct Padis_SPEC;
2729 pub type Padis = crate::EnumBitfieldStruct<u8, Padis_SPEC>;
2730 impl Padis {
2731 #[doc = "Preamble output function is enabled"]
2732 pub const _0: Self = Self::new(0);
2733
2734 #[doc = "Preamble output function is disabled These bits for the other SCI channels than SCIn (n = 0, 3, 4, 9) are reserved."]
2735 pub const _1: Self = Self::new(1);
2736 }
2737 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2738 pub struct Brme_SPEC;
2739 pub type Brme = crate::EnumBitfieldStruct<u8, Brme_SPEC>;
2740 impl Brme {
2741 #[doc = "Disable bit rate modulation function"]
2742 pub const _0: Self = Self::new(0);
2743
2744 #[doc = "Enable bit rate modulation function"]
2745 pub const _1: Self = Self::new(1);
2746 }
2747 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2748 pub struct Abcse_SPEC;
2749 pub type Abcse = crate::EnumBitfieldStruct<u8, Abcse_SPEC>;
2750 impl Abcse {
2751 #[doc = "Clock cycles for 1-bit period determined by combination of the BGDM and ABCS bits in the SEMR register"]
2752 pub const _0: Self = Self::new(0);
2753
2754 #[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."]
2755 pub const _1: Self = Self::new(1);
2756 }
2757 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2758 pub struct Abcs_SPEC;
2759 pub type Abcs = crate::EnumBitfieldStruct<u8, Abcs_SPEC>;
2760 impl Abcs {
2761 #[doc = "Select 16 base clock cycles for 1-bit period"]
2762 pub const _0: Self = Self::new(0);
2763
2764 #[doc = "Select 8 base clock cycles for 1-bit period"]
2765 pub const _1: Self = Self::new(1);
2766 }
2767 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2768 pub struct Nfen_SPEC;
2769 pub type Nfen = crate::EnumBitfieldStruct<u8, Nfen_SPEC>;
2770 impl Nfen {
2771 #[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"]
2772 pub const _0: Self = Self::new(0);
2773
2774 #[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"]
2775 pub const _1: Self = Self::new(1);
2776 }
2777 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2778 pub struct Bgdm_SPEC;
2779 pub type Bgdm = crate::EnumBitfieldStruct<u8, Bgdm_SPEC>;
2780 impl Bgdm {
2781 #[doc = "Output clock from baud rate generator with normal frequency"]
2782 pub const _0: Self = Self::new(0);
2783
2784 #[doc = "Output clock from baud rate generator with doubled frequency"]
2785 pub const _1: Self = Self::new(1);
2786 }
2787 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2788 pub struct Rxdesel_SPEC;
2789 pub type Rxdesel = crate::EnumBitfieldStruct<u8, Rxdesel_SPEC>;
2790 impl Rxdesel {
2791 #[doc = "Detect low level on RXDn pin as start bit"]
2792 pub const _0: Self = Self::new(0);
2793
2794 #[doc = "Detect falling edge of RXDn pin as start bit"]
2795 pub const _1: Self = Self::new(1);
2796 }
2797}
2798#[doc(hidden)]
2799#[derive(Copy, Clone, Eq, PartialEq)]
2800pub struct Snfr_SPEC;
2801impl crate::sealed::RegSpec for Snfr_SPEC {
2802 type DataType = u8;
2803}
2804
2805#[doc = "Noise Filter Setting Register"]
2806pub type Snfr = crate::RegValueT<Snfr_SPEC>;
2807
2808impl Snfr {
2809 #[doc = "Noise Filter Clock Select"]
2810 #[inline(always)]
2811 pub fn nfcs(
2812 self,
2813 ) -> crate::common::RegisterField<
2814 0,
2815 0x7,
2816 1,
2817 0,
2818 snfr::Nfcs,
2819 snfr::Nfcs,
2820 Snfr_SPEC,
2821 crate::common::RW,
2822 > {
2823 crate::common::RegisterField::<
2824 0,
2825 0x7,
2826 1,
2827 0,
2828 snfr::Nfcs,
2829 snfr::Nfcs,
2830 Snfr_SPEC,
2831 crate::common::RW,
2832 >::from_register(self, 0)
2833 }
2834}
2835impl ::core::default::Default for Snfr {
2836 #[inline(always)]
2837 fn default() -> Snfr {
2838 <crate::RegValueT<Snfr_SPEC> as RegisterValue<_>>::new(0)
2839 }
2840}
2841pub mod snfr {
2842
2843 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2844 pub struct Nfcs_SPEC;
2845 pub type Nfcs = crate::EnumBitfieldStruct<u8, Nfcs_SPEC>;
2846 impl Nfcs {
2847 #[doc = "In asynchronous mode: Use clock signal divided by 1 with noise filter In simple I2C mode: Setting prohibited"]
2848 pub const _000: Self = Self::new(0);
2849
2850 #[doc = "In asynchronous mode: Setting prohibited In simple I2C mode: Use clock signal divided by 1 with noise filter"]
2851 pub const _001: Self = Self::new(1);
2852
2853 #[doc = "In asynchronous mode: Setting prohibited In simple I2C mode: Use clock signal divided by 2 with noise filter"]
2854 pub const _010: Self = Self::new(2);
2855
2856 #[doc = "In asynchronous mode: Setting prohibited In simple I2C mode: Use clock signal divided by 4 with noise filter"]
2857 pub const _011: Self = Self::new(3);
2858
2859 #[doc = "In asynchronous mode: Setting prohibited In simple I2C mode: Use clock signal divided by 8 with noise filter"]
2860 pub const _100: Self = Self::new(4);
2861 }
2862}
2863#[doc(hidden)]
2864#[derive(Copy, Clone, Eq, PartialEq)]
2865pub struct Simr1_SPEC;
2866impl crate::sealed::RegSpec for Simr1_SPEC {
2867 type DataType = u8;
2868}
2869
2870#[doc = "IIC Mode Register 1"]
2871pub type Simr1 = crate::RegValueT<Simr1_SPEC>;
2872
2873impl Simr1 {
2874 #[doc = "Simple IIC Mode Select"]
2875 #[inline(always)]
2876 pub fn iicm(
2877 self,
2878 ) -> crate::common::RegisterField<
2879 0,
2880 0x1,
2881 1,
2882 0,
2883 simr1::Iicm,
2884 simr1::Iicm,
2885 Simr1_SPEC,
2886 crate::common::RW,
2887 > {
2888 crate::common::RegisterField::<
2889 0,
2890 0x1,
2891 1,
2892 0,
2893 simr1::Iicm,
2894 simr1::Iicm,
2895 Simr1_SPEC,
2896 crate::common::RW,
2897 >::from_register(self, 0)
2898 }
2899
2900 #[doc = "SDAn Delay Output Select"]
2901 #[inline(always)]
2902 pub fn iicdl(
2903 self,
2904 ) -> crate::common::RegisterField<
2905 3,
2906 0x1f,
2907 1,
2908 0,
2909 simr1::Iicdl,
2910 simr1::Iicdl,
2911 Simr1_SPEC,
2912 crate::common::RW,
2913 > {
2914 crate::common::RegisterField::<
2915 3,
2916 0x1f,
2917 1,
2918 0,
2919 simr1::Iicdl,
2920 simr1::Iicdl,
2921 Simr1_SPEC,
2922 crate::common::RW,
2923 >::from_register(self, 0)
2924 }
2925}
2926impl ::core::default::Default for Simr1 {
2927 #[inline(always)]
2928 fn default() -> Simr1 {
2929 <crate::RegValueT<Simr1_SPEC> as RegisterValue<_>>::new(0)
2930 }
2931}
2932pub mod simr1 {
2933
2934 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2935 pub struct Iicm_SPEC;
2936 pub type Iicm = crate::EnumBitfieldStruct<u8, Iicm_SPEC>;
2937 impl Iicm {
2938 #[doc = "SCMR.SMIF = 0: Asynchronous mode (including multi-processor mode), clock synchronous mode, or simple SPI mode SCMR.SMIF = 1: Smart card interface mode"]
2939 pub const _0: Self = Self::new(0);
2940
2941 #[doc = "SCMR.SMIF = 0: Simple IIC mode SCMR.SMIF = 1: Setting prohibited"]
2942 pub const _1: Self = Self::new(1);
2943 }
2944 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2945 pub struct Iicdl_SPEC;
2946 pub type Iicdl = crate::EnumBitfieldStruct<u8, Iicdl_SPEC>;
2947 impl Iicdl {
2948 #[doc = "No output delay"]
2949 pub const _0_X_00: Self = Self::new(0);
2950 }
2951}
2952#[doc(hidden)]
2953#[derive(Copy, Clone, Eq, PartialEq)]
2954pub struct Simr2_SPEC;
2955impl crate::sealed::RegSpec for Simr2_SPEC {
2956 type DataType = u8;
2957}
2958
2959#[doc = "IIC Mode Register 2"]
2960pub type Simr2 = crate::RegValueT<Simr2_SPEC>;
2961
2962impl Simr2 {
2963 #[doc = "IIC Interrupt Mode Select"]
2964 #[inline(always)]
2965 pub fn iicintm(
2966 self,
2967 ) -> crate::common::RegisterField<
2968 0,
2969 0x1,
2970 1,
2971 0,
2972 simr2::Iicintm,
2973 simr2::Iicintm,
2974 Simr2_SPEC,
2975 crate::common::RW,
2976 > {
2977 crate::common::RegisterField::<
2978 0,
2979 0x1,
2980 1,
2981 0,
2982 simr2::Iicintm,
2983 simr2::Iicintm,
2984 Simr2_SPEC,
2985 crate::common::RW,
2986 >::from_register(self, 0)
2987 }
2988
2989 #[doc = "Clock Synchronization"]
2990 #[inline(always)]
2991 pub fn iiccsc(
2992 self,
2993 ) -> crate::common::RegisterField<
2994 1,
2995 0x1,
2996 1,
2997 0,
2998 simr2::Iiccsc,
2999 simr2::Iiccsc,
3000 Simr2_SPEC,
3001 crate::common::RW,
3002 > {
3003 crate::common::RegisterField::<
3004 1,
3005 0x1,
3006 1,
3007 0,
3008 simr2::Iiccsc,
3009 simr2::Iiccsc,
3010 Simr2_SPEC,
3011 crate::common::RW,
3012 >::from_register(self, 0)
3013 }
3014
3015 #[doc = "ACK Transmission Data"]
3016 #[inline(always)]
3017 pub fn iicackt(
3018 self,
3019 ) -> crate::common::RegisterField<
3020 5,
3021 0x1,
3022 1,
3023 0,
3024 simr2::Iicackt,
3025 simr2::Iicackt,
3026 Simr2_SPEC,
3027 crate::common::RW,
3028 > {
3029 crate::common::RegisterField::<
3030 5,
3031 0x1,
3032 1,
3033 0,
3034 simr2::Iicackt,
3035 simr2::Iicackt,
3036 Simr2_SPEC,
3037 crate::common::RW,
3038 >::from_register(self, 0)
3039 }
3040}
3041impl ::core::default::Default for Simr2 {
3042 #[inline(always)]
3043 fn default() -> Simr2 {
3044 <crate::RegValueT<Simr2_SPEC> as RegisterValue<_>>::new(0)
3045 }
3046}
3047pub mod simr2 {
3048
3049 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3050 pub struct Iicintm_SPEC;
3051 pub type Iicintm = crate::EnumBitfieldStruct<u8, Iicintm_SPEC>;
3052 impl Iicintm {
3053 #[doc = "Use ACK/NACK interrupts"]
3054 pub const _0: Self = Self::new(0);
3055
3056 #[doc = "Use reception and transmission interrupts"]
3057 pub const _1: Self = Self::new(1);
3058 }
3059 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3060 pub struct Iiccsc_SPEC;
3061 pub type Iiccsc = crate::EnumBitfieldStruct<u8, Iiccsc_SPEC>;
3062 impl Iiccsc {
3063 #[doc = "Do not synchronize with clock signal"]
3064 pub const _0: Self = Self::new(0);
3065
3066 #[doc = "Synchronize with clock signal"]
3067 pub const _1: Self = Self::new(1);
3068 }
3069 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3070 pub struct Iicackt_SPEC;
3071 pub type Iicackt = crate::EnumBitfieldStruct<u8, Iicackt_SPEC>;
3072 impl Iicackt {
3073 #[doc = "ACK transmission"]
3074 pub const _0: Self = Self::new(0);
3075
3076 #[doc = "NACK transmission and ACK/NACK reception"]
3077 pub const _1: Self = Self::new(1);
3078 }
3079}
3080#[doc(hidden)]
3081#[derive(Copy, Clone, Eq, PartialEq)]
3082pub struct Simr3_SPEC;
3083impl crate::sealed::RegSpec for Simr3_SPEC {
3084 type DataType = u8;
3085}
3086
3087#[doc = "IIC Mode Register 3"]
3088pub type Simr3 = crate::RegValueT<Simr3_SPEC>;
3089
3090impl Simr3 {
3091 #[doc = "Start Condition Generation"]
3092 #[inline(always)]
3093 pub fn iicstareq(
3094 self,
3095 ) -> crate::common::RegisterField<
3096 0,
3097 0x1,
3098 1,
3099 0,
3100 simr3::Iicstareq,
3101 simr3::Iicstareq,
3102 Simr3_SPEC,
3103 crate::common::RW,
3104 > {
3105 crate::common::RegisterField::<
3106 0,
3107 0x1,
3108 1,
3109 0,
3110 simr3::Iicstareq,
3111 simr3::Iicstareq,
3112 Simr3_SPEC,
3113 crate::common::RW,
3114 >::from_register(self, 0)
3115 }
3116
3117 #[doc = "Restart Condition Generation"]
3118 #[inline(always)]
3119 pub fn iicrstareq(
3120 self,
3121 ) -> crate::common::RegisterField<
3122 1,
3123 0x1,
3124 1,
3125 0,
3126 simr3::Iicrstareq,
3127 simr3::Iicrstareq,
3128 Simr3_SPEC,
3129 crate::common::RW,
3130 > {
3131 crate::common::RegisterField::<
3132 1,
3133 0x1,
3134 1,
3135 0,
3136 simr3::Iicrstareq,
3137 simr3::Iicrstareq,
3138 Simr3_SPEC,
3139 crate::common::RW,
3140 >::from_register(self, 0)
3141 }
3142
3143 #[doc = "Stop Condition Generation"]
3144 #[inline(always)]
3145 pub fn iicstpreq(
3146 self,
3147 ) -> crate::common::RegisterField<
3148 2,
3149 0x1,
3150 1,
3151 0,
3152 simr3::Iicstpreq,
3153 simr3::Iicstpreq,
3154 Simr3_SPEC,
3155 crate::common::RW,
3156 > {
3157 crate::common::RegisterField::<
3158 2,
3159 0x1,
3160 1,
3161 0,
3162 simr3::Iicstpreq,
3163 simr3::Iicstpreq,
3164 Simr3_SPEC,
3165 crate::common::RW,
3166 >::from_register(self, 0)
3167 }
3168
3169 #[doc = "Issuing of Start, Restart, or Stop Condition Completed Flag"]
3170 #[inline(always)]
3171 pub fn iicstif(
3172 self,
3173 ) -> crate::common::RegisterField<
3174 3,
3175 0x1,
3176 1,
3177 0,
3178 simr3::Iicstif,
3179 simr3::Iicstif,
3180 Simr3_SPEC,
3181 crate::common::RW,
3182 > {
3183 crate::common::RegisterField::<
3184 3,
3185 0x1,
3186 1,
3187 0,
3188 simr3::Iicstif,
3189 simr3::Iicstif,
3190 Simr3_SPEC,
3191 crate::common::RW,
3192 >::from_register(self, 0)
3193 }
3194
3195 #[doc = "SDAn Output Select"]
3196 #[inline(always)]
3197 pub fn iicsdas(
3198 self,
3199 ) -> crate::common::RegisterField<
3200 4,
3201 0x3,
3202 1,
3203 0,
3204 simr3::Iicsdas,
3205 simr3::Iicsdas,
3206 Simr3_SPEC,
3207 crate::common::RW,
3208 > {
3209 crate::common::RegisterField::<
3210 4,
3211 0x3,
3212 1,
3213 0,
3214 simr3::Iicsdas,
3215 simr3::Iicsdas,
3216 Simr3_SPEC,
3217 crate::common::RW,
3218 >::from_register(self, 0)
3219 }
3220
3221 #[doc = "SCLn Output Select"]
3222 #[inline(always)]
3223 pub fn iicscls(
3224 self,
3225 ) -> crate::common::RegisterField<
3226 6,
3227 0x3,
3228 1,
3229 0,
3230 simr3::Iicscls,
3231 simr3::Iicscls,
3232 Simr3_SPEC,
3233 crate::common::RW,
3234 > {
3235 crate::common::RegisterField::<
3236 6,
3237 0x3,
3238 1,
3239 0,
3240 simr3::Iicscls,
3241 simr3::Iicscls,
3242 Simr3_SPEC,
3243 crate::common::RW,
3244 >::from_register(self, 0)
3245 }
3246}
3247impl ::core::default::Default for Simr3 {
3248 #[inline(always)]
3249 fn default() -> Simr3 {
3250 <crate::RegValueT<Simr3_SPEC> as RegisterValue<_>>::new(0)
3251 }
3252}
3253pub mod simr3 {
3254
3255 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3256 pub struct Iicstareq_SPEC;
3257 pub type Iicstareq = crate::EnumBitfieldStruct<u8, Iicstareq_SPEC>;
3258 impl Iicstareq {
3259 #[doc = "Do not generate start condition"]
3260 pub const _0: Self = Self::new(0);
3261
3262 #[doc = "Generate start condition"]
3263 pub const _1: Self = Self::new(1);
3264 }
3265 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3266 pub struct Iicrstareq_SPEC;
3267 pub type Iicrstareq = crate::EnumBitfieldStruct<u8, Iicrstareq_SPEC>;
3268 impl Iicrstareq {
3269 #[doc = "Do not generate restart condition"]
3270 pub const _0: Self = Self::new(0);
3271
3272 #[doc = "Generate restart condition"]
3273 pub const _1: Self = Self::new(1);
3274 }
3275 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3276 pub struct Iicstpreq_SPEC;
3277 pub type Iicstpreq = crate::EnumBitfieldStruct<u8, Iicstpreq_SPEC>;
3278 impl Iicstpreq {
3279 #[doc = "Do not generate stop condition"]
3280 pub const _0: Self = Self::new(0);
3281
3282 #[doc = "Generate stop condition"]
3283 pub const _1: Self = Self::new(1);
3284 }
3285 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3286 pub struct Iicstif_SPEC;
3287 pub type Iicstif = crate::EnumBitfieldStruct<u8, Iicstif_SPEC>;
3288 impl Iicstif {
3289 #[doc = "No requests are being made for generating conditions, or a condition is being generated"]
3290 pub const _0: Self = Self::new(0);
3291
3292 #[doc = "Generation of start, restart, or stop condition is complete. When 0 is written to IICSTIF, it is set to 0"]
3293 pub const _1: Self = Self::new(1);
3294 }
3295 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3296 pub struct Iicsdas_SPEC;
3297 pub type Iicsdas = crate::EnumBitfieldStruct<u8, Iicsdas_SPEC>;
3298 impl Iicsdas {
3299 #[doc = "Output serial data"]
3300 pub const _00: Self = Self::new(0);
3301
3302 #[doc = "Generate start, restart, or stop condition"]
3303 pub const _01: Self = Self::new(1);
3304
3305 #[doc = "Output low on SDAn pin"]
3306 pub const _10: Self = Self::new(2);
3307
3308 #[doc = "Drive SDAn pin to high-impedance state"]
3309 pub const _11: Self = Self::new(3);
3310 }
3311 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3312 pub struct Iicscls_SPEC;
3313 pub type Iicscls = crate::EnumBitfieldStruct<u8, Iicscls_SPEC>;
3314 impl Iicscls {
3315 #[doc = "Output serial clock"]
3316 pub const _00: Self = Self::new(0);
3317
3318 #[doc = "Generate start, restart, or stop condition"]
3319 pub const _01: Self = Self::new(1);
3320
3321 #[doc = "Output low on SCLn pin"]
3322 pub const _10: Self = Self::new(2);
3323
3324 #[doc = "Drive SCLn pin to high-impedance state"]
3325 pub const _11: Self = Self::new(3);
3326 }
3327}
3328#[doc(hidden)]
3329#[derive(Copy, Clone, Eq, PartialEq)]
3330pub struct Sisr_SPEC;
3331impl crate::sealed::RegSpec for Sisr_SPEC {
3332 type DataType = u8;
3333}
3334
3335#[doc = "IIC Status Register"]
3336pub type Sisr = crate::RegValueT<Sisr_SPEC>;
3337
3338impl Sisr {
3339 #[doc = "ACK Reception Data Flag"]
3340 #[inline(always)]
3341 pub fn iicackr(
3342 self,
3343 ) -> crate::common::RegisterField<
3344 0,
3345 0x1,
3346 1,
3347 0,
3348 sisr::Iicackr,
3349 sisr::Iicackr,
3350 Sisr_SPEC,
3351 crate::common::R,
3352 > {
3353 crate::common::RegisterField::<
3354 0,
3355 0x1,
3356 1,
3357 0,
3358 sisr::Iicackr,
3359 sisr::Iicackr,
3360 Sisr_SPEC,
3361 crate::common::R,
3362 >::from_register(self, 0)
3363 }
3364}
3365impl ::core::default::Default for Sisr {
3366 #[inline(always)]
3367 fn default() -> Sisr {
3368 <crate::RegValueT<Sisr_SPEC> as RegisterValue<_>>::new(0)
3369 }
3370}
3371pub mod sisr {
3372
3373 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3374 pub struct Iicackr_SPEC;
3375 pub type Iicackr = crate::EnumBitfieldStruct<u8, Iicackr_SPEC>;
3376 impl Iicackr {
3377 #[doc = "ACK received"]
3378 pub const _0: Self = Self::new(0);
3379
3380 #[doc = "NACK received"]
3381 pub const _1: Self = Self::new(1);
3382 }
3383}
3384#[doc(hidden)]
3385#[derive(Copy, Clone, Eq, PartialEq)]
3386pub struct Spmr_SPEC;
3387impl crate::sealed::RegSpec for Spmr_SPEC {
3388 type DataType = u8;
3389}
3390
3391#[doc = "SPI Mode Register"]
3392pub type Spmr = crate::RegValueT<Spmr_SPEC>;
3393
3394impl Spmr {
3395 #[doc = "SSn Pin Function Enable"]
3396 #[inline(always)]
3397 pub fn sse(
3398 self,
3399 ) -> crate::common::RegisterField<
3400 0,
3401 0x1,
3402 1,
3403 0,
3404 spmr::Sse,
3405 spmr::Sse,
3406 Spmr_SPEC,
3407 crate::common::RW,
3408 > {
3409 crate::common::RegisterField::<
3410 0,
3411 0x1,
3412 1,
3413 0,
3414 spmr::Sse,
3415 spmr::Sse,
3416 Spmr_SPEC,
3417 crate::common::RW,
3418 >::from_register(self, 0)
3419 }
3420
3421 #[doc = "CTS Enable"]
3422 #[inline(always)]
3423 pub fn ctse(
3424 self,
3425 ) -> crate::common::RegisterField<
3426 1,
3427 0x1,
3428 1,
3429 0,
3430 spmr::Ctse,
3431 spmr::Ctse,
3432 Spmr_SPEC,
3433 crate::common::RW,
3434 > {
3435 crate::common::RegisterField::<
3436 1,
3437 0x1,
3438 1,
3439 0,
3440 spmr::Ctse,
3441 spmr::Ctse,
3442 Spmr_SPEC,
3443 crate::common::RW,
3444 >::from_register(self, 0)
3445 }
3446
3447 #[doc = "Master Slave Select"]
3448 #[inline(always)]
3449 pub fn mss(
3450 self,
3451 ) -> crate::common::RegisterField<
3452 2,
3453 0x1,
3454 1,
3455 0,
3456 spmr::Mss,
3457 spmr::Mss,
3458 Spmr_SPEC,
3459 crate::common::RW,
3460 > {
3461 crate::common::RegisterField::<
3462 2,
3463 0x1,
3464 1,
3465 0,
3466 spmr::Mss,
3467 spmr::Mss,
3468 Spmr_SPEC,
3469 crate::common::RW,
3470 >::from_register(self, 0)
3471 }
3472
3473 #[doc = "CTS external pin Enable"]
3474 #[inline(always)]
3475 pub fn ctspen(
3476 self,
3477 ) -> crate::common::RegisterField<
3478 3,
3479 0x1,
3480 1,
3481 0,
3482 spmr::Ctspen,
3483 spmr::Ctspen,
3484 Spmr_SPEC,
3485 crate::common::RW,
3486 > {
3487 crate::common::RegisterField::<
3488 3,
3489 0x1,
3490 1,
3491 0,
3492 spmr::Ctspen,
3493 spmr::Ctspen,
3494 Spmr_SPEC,
3495 crate::common::RW,
3496 >::from_register(self, 0)
3497 }
3498
3499 #[doc = "Mode Fault Flag"]
3500 #[inline(always)]
3501 pub fn mff(
3502 self,
3503 ) -> crate::common::RegisterField<
3504 4,
3505 0x1,
3506 1,
3507 0,
3508 spmr::Mff,
3509 spmr::Mff,
3510 Spmr_SPEC,
3511 crate::common::RW,
3512 > {
3513 crate::common::RegisterField::<
3514 4,
3515 0x1,
3516 1,
3517 0,
3518 spmr::Mff,
3519 spmr::Mff,
3520 Spmr_SPEC,
3521 crate::common::RW,
3522 >::from_register(self, 0)
3523 }
3524
3525 #[doc = "Clock Polarity Select"]
3526 #[inline(always)]
3527 pub fn ckpol(
3528 self,
3529 ) -> crate::common::RegisterField<
3530 6,
3531 0x1,
3532 1,
3533 0,
3534 spmr::Ckpol,
3535 spmr::Ckpol,
3536 Spmr_SPEC,
3537 crate::common::RW,
3538 > {
3539 crate::common::RegisterField::<
3540 6,
3541 0x1,
3542 1,
3543 0,
3544 spmr::Ckpol,
3545 spmr::Ckpol,
3546 Spmr_SPEC,
3547 crate::common::RW,
3548 >::from_register(self, 0)
3549 }
3550
3551 #[doc = "Clock Phase Select"]
3552 #[inline(always)]
3553 pub fn ckph(
3554 self,
3555 ) -> crate::common::RegisterField<
3556 7,
3557 0x1,
3558 1,
3559 0,
3560 spmr::Ckph,
3561 spmr::Ckph,
3562 Spmr_SPEC,
3563 crate::common::RW,
3564 > {
3565 crate::common::RegisterField::<
3566 7,
3567 0x1,
3568 1,
3569 0,
3570 spmr::Ckph,
3571 spmr::Ckph,
3572 Spmr_SPEC,
3573 crate::common::RW,
3574 >::from_register(self, 0)
3575 }
3576}
3577impl ::core::default::Default for Spmr {
3578 #[inline(always)]
3579 fn default() -> Spmr {
3580 <crate::RegValueT<Spmr_SPEC> as RegisterValue<_>>::new(0)
3581 }
3582}
3583pub mod spmr {
3584
3585 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3586 pub struct Sse_SPEC;
3587 pub type Sse = crate::EnumBitfieldStruct<u8, Sse_SPEC>;
3588 impl Sse {
3589 #[doc = "Disable SSn pin function"]
3590 pub const _0: Self = Self::new(0);
3591
3592 #[doc = "Enable SSn pin function"]
3593 pub const _1: Self = Self::new(1);
3594 }
3595 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3596 pub struct Ctse_SPEC;
3597 pub type Ctse = crate::EnumBitfieldStruct<u8, Ctse_SPEC>;
3598 impl Ctse {
3599 #[doc = "Disable CTS function (enable RTS output function)"]
3600 pub const _0: Self = Self::new(0);
3601
3602 #[doc = "Enable CTS function"]
3603 pub const _1: Self = Self::new(1);
3604 }
3605 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3606 pub struct Mss_SPEC;
3607 pub type Mss = crate::EnumBitfieldStruct<u8, Mss_SPEC>;
3608 impl Mss {
3609 #[doc = "Transmit through TXDn pin and receive through RXDn pin (master mode)"]
3610 pub const _0: Self = Self::new(0);
3611
3612 #[doc = "Receive through TXDn pin and transmit through RXDn pin (slave mode)"]
3613 pub const _1: Self = Self::new(1);
3614 }
3615 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3616 pub struct Ctspen_SPEC;
3617 pub type Ctspen = crate::EnumBitfieldStruct<u8, Ctspen_SPEC>;
3618 impl Ctspen {
3619 #[doc = "Alternate setting to use CTS and RTS functions as either one terminal"]
3620 pub const _0: Self = Self::new(0);
3621
3622 #[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."]
3623 pub const _1: Self = Self::new(1);
3624 }
3625 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3626 pub struct Mff_SPEC;
3627 pub type Mff = crate::EnumBitfieldStruct<u8, Mff_SPEC>;
3628 impl Mff {
3629 #[doc = "No mode fault error"]
3630 pub const _0: Self = Self::new(0);
3631
3632 #[doc = "Mode fault error"]
3633 pub const _1: Self = Self::new(1);
3634 }
3635 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3636 pub struct Ckpol_SPEC;
3637 pub type Ckpol = crate::EnumBitfieldStruct<u8, Ckpol_SPEC>;
3638 impl Ckpol {
3639 #[doc = "Do not invert clock polarity"]
3640 pub const _0: Self = Self::new(0);
3641
3642 #[doc = "Invert clock polarity"]
3643 pub const _1: Self = Self::new(1);
3644 }
3645 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3646 pub struct Ckph_SPEC;
3647 pub type Ckph = crate::EnumBitfieldStruct<u8, Ckph_SPEC>;
3648 impl Ckph {
3649 #[doc = "Do not delay clock"]
3650 pub const _0: Self = Self::new(0);
3651
3652 #[doc = "Delay clock"]
3653 pub const _1: Self = Self::new(1);
3654 }
3655}
3656#[doc(hidden)]
3657#[derive(Copy, Clone, Eq, PartialEq)]
3658pub struct Ftdrhl_SPEC;
3659impl crate::sealed::RegSpec for Ftdrhl_SPEC {
3660 type DataType = u16;
3661}
3662
3663#[doc = "Transmit FIFO Data Register"]
3664pub type Ftdrhl = crate::RegValueT<Ftdrhl_SPEC>;
3665
3666impl Ftdrhl {
3667 #[doc = "Serial transmit data"]
3668 #[inline(always)]
3669 pub fn tdat(
3670 self,
3671 ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Ftdrhl_SPEC, crate::common::W> {
3672 crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Ftdrhl_SPEC,crate::common::W>::from_register(self,0)
3673 }
3674
3675 #[doc = "Multi-Processor Transfer Bit Flag"]
3676 #[inline(always)]
3677 pub fn mpbt(
3678 self,
3679 ) -> crate::common::RegisterField<
3680 9,
3681 0x1,
3682 1,
3683 0,
3684 ftdrhl::Mpbt,
3685 ftdrhl::Mpbt,
3686 Ftdrhl_SPEC,
3687 crate::common::W,
3688 > {
3689 crate::common::RegisterField::<
3690 9,
3691 0x1,
3692 1,
3693 0,
3694 ftdrhl::Mpbt,
3695 ftdrhl::Mpbt,
3696 Ftdrhl_SPEC,
3697 crate::common::W,
3698 >::from_register(self, 0)
3699 }
3700}
3701impl ::core::default::Default for Ftdrhl {
3702 #[inline(always)]
3703 fn default() -> Ftdrhl {
3704 <crate::RegValueT<Ftdrhl_SPEC> as RegisterValue<_>>::new(65535)
3705 }
3706}
3707pub mod ftdrhl {
3708
3709 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3710 pub struct Mpbt_SPEC;
3711 pub type Mpbt = crate::EnumBitfieldStruct<u8, Mpbt_SPEC>;
3712 impl Mpbt {
3713 #[doc = "Data transmission cycle"]
3714 pub const _0: Self = Self::new(0);
3715
3716 #[doc = "ID transmission cycle"]
3717 pub const _1: Self = Self::new(1);
3718 }
3719}
3720#[doc(hidden)]
3721#[derive(Copy, Clone, Eq, PartialEq)]
3722pub struct Tdrhl_SPEC;
3723impl crate::sealed::RegSpec for Tdrhl_SPEC {
3724 type DataType = u16;
3725}
3726
3727#[doc = "Transmit Data Register for Non-Manchester mode (MMR.MANEN = 0)"]
3728pub type Tdrhl = crate::RegValueT<Tdrhl_SPEC>;
3729
3730impl Tdrhl {
3731 #[doc = "Serial Transmit Data"]
3732 #[inline(always)]
3733 pub fn tdat(
3734 self,
3735 ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Tdrhl_SPEC, crate::common::RW> {
3736 crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Tdrhl_SPEC,crate::common::RW>::from_register(self,0)
3737 }
3738}
3739impl ::core::default::Default for Tdrhl {
3740 #[inline(always)]
3741 fn default() -> Tdrhl {
3742 <crate::RegValueT<Tdrhl_SPEC> as RegisterValue<_>>::new(65535)
3743 }
3744}
3745
3746#[doc(hidden)]
3747#[derive(Copy, Clone, Eq, PartialEq)]
3748pub struct TdrhlMan_SPEC;
3749impl crate::sealed::RegSpec for TdrhlMan_SPEC {
3750 type DataType = u16;
3751}
3752
3753#[doc = "Transmit Data Register for Manchester mode (MMR.MANEN = 1)"]
3754pub type TdrhlMan = crate::RegValueT<TdrhlMan_SPEC>;
3755
3756impl TdrhlMan {
3757 #[doc = "Serial transmit data"]
3758 #[inline(always)]
3759 pub fn tdat(
3760 self,
3761 ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, TdrhlMan_SPEC, crate::common::RW>
3762 {
3763 crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,TdrhlMan_SPEC,crate::common::RW>::from_register(self,0)
3764 }
3765
3766 #[doc = "Multi-processor transfer bit flag"]
3767 #[inline(always)]
3768 pub fn mpbt(
3769 self,
3770 ) -> crate::common::RegisterField<
3771 9,
3772 0x1,
3773 1,
3774 0,
3775 tdrhl_man::Mpbt,
3776 tdrhl_man::Mpbt,
3777 TdrhlMan_SPEC,
3778 crate::common::RW,
3779 > {
3780 crate::common::RegisterField::<
3781 9,
3782 0x1,
3783 1,
3784 0,
3785 tdrhl_man::Mpbt,
3786 tdrhl_man::Mpbt,
3787 TdrhlMan_SPEC,
3788 crate::common::RW,
3789 >::from_register(self, 0)
3790 }
3791
3792 #[doc = "Transmit SYNC data bit"]
3793 #[inline(always)]
3794 pub fn tsync(
3795 self,
3796 ) -> crate::common::RegisterField<
3797 12,
3798 0x1,
3799 1,
3800 0,
3801 tdrhl_man::Tsync,
3802 tdrhl_man::Tsync,
3803 TdrhlMan_SPEC,
3804 crate::common::RW,
3805 > {
3806 crate::common::RegisterField::<
3807 12,
3808 0x1,
3809 1,
3810 0,
3811 tdrhl_man::Tsync,
3812 tdrhl_man::Tsync,
3813 TdrhlMan_SPEC,
3814 crate::common::RW,
3815 >::from_register(self, 0)
3816 }
3817}
3818impl ::core::default::Default for TdrhlMan {
3819 #[inline(always)]
3820 fn default() -> TdrhlMan {
3821 <crate::RegValueT<TdrhlMan_SPEC> as RegisterValue<_>>::new(65535)
3822 }
3823}
3824pub mod tdrhl_man {
3825
3826 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3827 pub struct Mpbt_SPEC;
3828 pub type Mpbt = crate::EnumBitfieldStruct<u8, Mpbt_SPEC>;
3829 impl Mpbt {
3830 #[doc = "Data transmission cycles"]
3831 pub const _0: Self = Self::new(0);
3832
3833 #[doc = "ID transmission cycles"]
3834 pub const _1: Self = Self::new(1);
3835 }
3836 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3837 pub struct Tsync_SPEC;
3838 pub type Tsync = crate::EnumBitfieldStruct<u8, Tsync_SPEC>;
3839 impl Tsync {
3840 #[doc = "The Start Bit is transmitted as DATA SYNC."]
3841 pub const _0: Self = Self::new(0);
3842
3843 #[doc = "The Start Bit is transmitted as COMMAND SYNC."]
3844 pub const _1: Self = Self::new(1);
3845 }
3846}
3847#[doc(hidden)]
3848#[derive(Copy, Clone, Eq, PartialEq)]
3849pub struct Ftdrh_SPEC;
3850impl crate::sealed::RegSpec for Ftdrh_SPEC {
3851 type DataType = u8;
3852}
3853
3854#[doc = "Transmit FIFO Data Register"]
3855pub type Ftdrh = crate::RegValueT<Ftdrh_SPEC>;
3856
3857impl Ftdrh {
3858 #[doc = "Multi-Processor Transfer Bit Flag"]
3859 #[inline(always)]
3860 pub fn mpbt(
3861 self,
3862 ) -> crate::common::RegisterField<
3863 1,
3864 0x1,
3865 1,
3866 0,
3867 ftdrh::Mpbt,
3868 ftdrh::Mpbt,
3869 Ftdrh_SPEC,
3870 crate::common::W,
3871 > {
3872 crate::common::RegisterField::<
3873 1,
3874 0x1,
3875 1,
3876 0,
3877 ftdrh::Mpbt,
3878 ftdrh::Mpbt,
3879 Ftdrh_SPEC,
3880 crate::common::W,
3881 >::from_register(self, 0)
3882 }
3883}
3884impl ::core::default::Default for Ftdrh {
3885 #[inline(always)]
3886 fn default() -> Ftdrh {
3887 <crate::RegValueT<Ftdrh_SPEC> as RegisterValue<_>>::new(255)
3888 }
3889}
3890pub mod ftdrh {
3891
3892 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3893 pub struct Mpbt_SPEC;
3894 pub type Mpbt = crate::EnumBitfieldStruct<u8, Mpbt_SPEC>;
3895 impl Mpbt {
3896 #[doc = "Data transmission cycle"]
3897 pub const _0: Self = Self::new(0);
3898
3899 #[doc = "ID transmission cycle"]
3900 pub const _1: Self = Self::new(1);
3901 }
3902}
3903#[doc(hidden)]
3904#[derive(Copy, Clone, Eq, PartialEq)]
3905pub struct Ftdrl_SPEC;
3906impl crate::sealed::RegSpec for Ftdrl_SPEC {
3907 type DataType = u8;
3908}
3909
3910#[doc = "Transmit FIFO Data Register"]
3911pub type Ftdrl = crate::RegValueT<Ftdrl_SPEC>;
3912
3913impl Ftdrl {
3914 #[doc = "Serial transmit data"]
3915 #[inline(always)]
3916 pub fn tdat(
3917 self,
3918 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Ftdrl_SPEC, crate::common::W> {
3919 crate::common::RegisterField::<0,0xff,1,0,u8,u8,Ftdrl_SPEC,crate::common::W>::from_register(self,0)
3920 }
3921}
3922impl ::core::default::Default for Ftdrl {
3923 #[inline(always)]
3924 fn default() -> Ftdrl {
3925 <crate::RegValueT<Ftdrl_SPEC> as RegisterValue<_>>::new(255)
3926 }
3927}
3928
3929#[doc(hidden)]
3930#[derive(Copy, Clone, Eq, PartialEq)]
3931pub struct Frdrhl_SPEC;
3932impl crate::sealed::RegSpec for Frdrhl_SPEC {
3933 type DataType = u16;
3934}
3935
3936#[doc = "Receive FIFO Data Register"]
3937pub type Frdrhl = crate::RegValueT<Frdrhl_SPEC>;
3938
3939impl Frdrhl {
3940 #[doc = "Serial receive data"]
3941 #[inline(always)]
3942 pub fn rdat(
3943 self,
3944 ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Frdrhl_SPEC, crate::common::R> {
3945 crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Frdrhl_SPEC,crate::common::R>::from_register(self,0)
3946 }
3947
3948 #[doc = "Multi-Processor Bit Flag"]
3949 #[inline(always)]
3950 pub fn mpb(
3951 self,
3952 ) -> crate::common::RegisterField<
3953 9,
3954 0x1,
3955 1,
3956 0,
3957 frdrhl::Mpb,
3958 frdrhl::Mpb,
3959 Frdrhl_SPEC,
3960 crate::common::R,
3961 > {
3962 crate::common::RegisterField::<
3963 9,
3964 0x1,
3965 1,
3966 0,
3967 frdrhl::Mpb,
3968 frdrhl::Mpb,
3969 Frdrhl_SPEC,
3970 crate::common::R,
3971 >::from_register(self, 0)
3972 }
3973
3974 #[doc = "Receive Data Ready Flag"]
3975 #[inline(always)]
3976 pub fn dr(
3977 self,
3978 ) -> crate::common::RegisterField<
3979 10,
3980 0x1,
3981 1,
3982 0,
3983 frdrhl::Dr,
3984 frdrhl::Dr,
3985 Frdrhl_SPEC,
3986 crate::common::R,
3987 > {
3988 crate::common::RegisterField::<
3989 10,
3990 0x1,
3991 1,
3992 0,
3993 frdrhl::Dr,
3994 frdrhl::Dr,
3995 Frdrhl_SPEC,
3996 crate::common::R,
3997 >::from_register(self, 0)
3998 }
3999
4000 #[doc = "Parity Error Flag"]
4001 #[inline(always)]
4002 pub fn per(
4003 self,
4004 ) -> crate::common::RegisterField<
4005 11,
4006 0x1,
4007 1,
4008 0,
4009 frdrhl::Per,
4010 frdrhl::Per,
4011 Frdrhl_SPEC,
4012 crate::common::R,
4013 > {
4014 crate::common::RegisterField::<
4015 11,
4016 0x1,
4017 1,
4018 0,
4019 frdrhl::Per,
4020 frdrhl::Per,
4021 Frdrhl_SPEC,
4022 crate::common::R,
4023 >::from_register(self, 0)
4024 }
4025
4026 #[doc = "Framing Error Flag"]
4027 #[inline(always)]
4028 pub fn fer(
4029 self,
4030 ) -> crate::common::RegisterField<
4031 12,
4032 0x1,
4033 1,
4034 0,
4035 frdrhl::Fer,
4036 frdrhl::Fer,
4037 Frdrhl_SPEC,
4038 crate::common::R,
4039 > {
4040 crate::common::RegisterField::<
4041 12,
4042 0x1,
4043 1,
4044 0,
4045 frdrhl::Fer,
4046 frdrhl::Fer,
4047 Frdrhl_SPEC,
4048 crate::common::R,
4049 >::from_register(self, 0)
4050 }
4051
4052 #[doc = "Overrun Error Flag"]
4053 #[inline(always)]
4054 pub fn orer(
4055 self,
4056 ) -> crate::common::RegisterField<
4057 13,
4058 0x1,
4059 1,
4060 0,
4061 frdrhl::Orer,
4062 frdrhl::Orer,
4063 Frdrhl_SPEC,
4064 crate::common::R,
4065 > {
4066 crate::common::RegisterField::<
4067 13,
4068 0x1,
4069 1,
4070 0,
4071 frdrhl::Orer,
4072 frdrhl::Orer,
4073 Frdrhl_SPEC,
4074 crate::common::R,
4075 >::from_register(self, 0)
4076 }
4077
4078 #[doc = "Receive FIFO Data Full Flag"]
4079 #[inline(always)]
4080 pub fn rdf(
4081 self,
4082 ) -> crate::common::RegisterField<
4083 14,
4084 0x1,
4085 1,
4086 0,
4087 frdrhl::Rdf,
4088 frdrhl::Rdf,
4089 Frdrhl_SPEC,
4090 crate::common::R,
4091 > {
4092 crate::common::RegisterField::<
4093 14,
4094 0x1,
4095 1,
4096 0,
4097 frdrhl::Rdf,
4098 frdrhl::Rdf,
4099 Frdrhl_SPEC,
4100 crate::common::R,
4101 >::from_register(self, 0)
4102 }
4103}
4104impl ::core::default::Default for Frdrhl {
4105 #[inline(always)]
4106 fn default() -> Frdrhl {
4107 <crate::RegValueT<Frdrhl_SPEC> as RegisterValue<_>>::new(0)
4108 }
4109}
4110pub mod frdrhl {
4111
4112 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4113 pub struct Mpb_SPEC;
4114 pub type Mpb = crate::EnumBitfieldStruct<u8, Mpb_SPEC>;
4115 impl Mpb {
4116 #[doc = "Data transmission cycle"]
4117 pub const _0: Self = Self::new(0);
4118
4119 #[doc = "ID transmission cycle"]
4120 pub const _1: Self = Self::new(1);
4121 }
4122 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4123 pub struct Dr_SPEC;
4124 pub type Dr = crate::EnumBitfieldStruct<u8, Dr_SPEC>;
4125 impl Dr {
4126 #[doc = "Receiving is in progress, or no received data remains in the FRDRH and FRDRL registers after successfully completed reception"]
4127 pub const _0: Self = Self::new(0);
4128
4129 #[doc = "Next receive data is not received for a period after successfully completed reception"]
4130 pub const _1: Self = Self::new(1);
4131 }
4132 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4133 pub struct Per_SPEC;
4134 pub type Per = crate::EnumBitfieldStruct<u8, Per_SPEC>;
4135 impl Per {
4136 #[doc = "No parity error occurred in the first data of FRDRH and FRDRL"]
4137 pub const _0: Self = Self::new(0);
4138
4139 #[doc = "Parity error occurred in the first data of FRDRH and FRDRL"]
4140 pub const _1: Self = Self::new(1);
4141 }
4142 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4143 pub struct Fer_SPEC;
4144 pub type Fer = crate::EnumBitfieldStruct<u8, Fer_SPEC>;
4145 impl Fer {
4146 #[doc = "No framing error occurred in the first data of FRDRH and FRDRL"]
4147 pub const _0: Self = Self::new(0);
4148
4149 #[doc = "Framing error occurred in the first data of FRDRH and FRDRL"]
4150 pub const _1: Self = Self::new(1);
4151 }
4152 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4153 pub struct Orer_SPEC;
4154 pub type Orer = crate::EnumBitfieldStruct<u8, Orer_SPEC>;
4155 impl Orer {
4156 #[doc = "No overrun error occurred"]
4157 pub const _0: Self = Self::new(0);
4158
4159 #[doc = "Overrun error occurred"]
4160 pub const _1: Self = Self::new(1);
4161 }
4162 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4163 pub struct Rdf_SPEC;
4164 pub type Rdf = crate::EnumBitfieldStruct<u8, Rdf_SPEC>;
4165 impl Rdf {
4166 #[doc = "The amount of receive data written in FRDRH and FRDRL is less than the specified receive triggering number"]
4167 pub const _0: Self = Self::new(0);
4168
4169 #[doc = "The amount of receive data written in FRDRH and FRDRL is equal to or greater than the specified receive triggering number"]
4170 pub const _1: Self = Self::new(1);
4171 }
4172}
4173#[doc(hidden)]
4174#[derive(Copy, Clone, Eq, PartialEq)]
4175pub struct Rdrhl_SPEC;
4176impl crate::sealed::RegSpec for Rdrhl_SPEC {
4177 type DataType = u16;
4178}
4179
4180#[doc = "Receive Data Register for Non-Manchester mode (MMR.MANEN = 0)"]
4181pub type Rdrhl = crate::RegValueT<Rdrhl_SPEC>;
4182
4183impl Rdrhl {
4184 #[doc = "Serial Receive Data"]
4185 #[inline(always)]
4186 pub fn rdat(
4187 self,
4188 ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Rdrhl_SPEC, crate::common::R> {
4189 crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Rdrhl_SPEC,crate::common::R>::from_register(self,0)
4190 }
4191}
4192impl ::core::default::Default for Rdrhl {
4193 #[inline(always)]
4194 fn default() -> Rdrhl {
4195 <crate::RegValueT<Rdrhl_SPEC> as RegisterValue<_>>::new(0)
4196 }
4197}
4198
4199#[doc(hidden)]
4200#[derive(Copy, Clone, Eq, PartialEq)]
4201pub struct RdrhlMan_SPEC;
4202impl crate::sealed::RegSpec for RdrhlMan_SPEC {
4203 type DataType = u16;
4204}
4205
4206#[doc = "Receive Data Register for Manchester mode (MMR.MANEN = 1)"]
4207pub type RdrhlMan = crate::RegValueT<RdrhlMan_SPEC>;
4208
4209impl RdrhlMan {
4210 #[doc = "Serial receive data"]
4211 #[inline(always)]
4212 pub fn rdat(
4213 self,
4214 ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, RdrhlMan_SPEC, crate::common::R>
4215 {
4216 crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,RdrhlMan_SPEC,crate::common::R>::from_register(self,0)
4217 }
4218
4219 #[doc = "Multi-processor bit"]
4220 #[inline(always)]
4221 pub fn mpb(
4222 self,
4223 ) -> crate::common::RegisterField<
4224 9,
4225 0x1,
4226 1,
4227 0,
4228 rdrhl_man::Mpb,
4229 rdrhl_man::Mpb,
4230 RdrhlMan_SPEC,
4231 crate::common::R,
4232 > {
4233 crate::common::RegisterField::<
4234 9,
4235 0x1,
4236 1,
4237 0,
4238 rdrhl_man::Mpb,
4239 rdrhl_man::Mpb,
4240 RdrhlMan_SPEC,
4241 crate::common::R,
4242 >::from_register(self, 0)
4243 }
4244
4245 #[doc = "Receive SYNC data bit"]
4246 #[inline(always)]
4247 pub fn rsync(
4248 self,
4249 ) -> crate::common::RegisterField<
4250 12,
4251 0x1,
4252 1,
4253 0,
4254 rdrhl_man::Rsync,
4255 rdrhl_man::Rsync,
4256 RdrhlMan_SPEC,
4257 crate::common::R,
4258 > {
4259 crate::common::RegisterField::<
4260 12,
4261 0x1,
4262 1,
4263 0,
4264 rdrhl_man::Rsync,
4265 rdrhl_man::Rsync,
4266 RdrhlMan_SPEC,
4267 crate::common::R,
4268 >::from_register(self, 0)
4269 }
4270}
4271impl ::core::default::Default for RdrhlMan {
4272 #[inline(always)]
4273 fn default() -> RdrhlMan {
4274 <crate::RegValueT<RdrhlMan_SPEC> as RegisterValue<_>>::new(0)
4275 }
4276}
4277pub mod rdrhl_man {
4278
4279 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4280 pub struct Mpb_SPEC;
4281 pub type Mpb = crate::EnumBitfieldStruct<u8, Mpb_SPEC>;
4282 impl Mpb {
4283 #[doc = "Data transmission cycles"]
4284 pub const _0: Self = Self::new(0);
4285
4286 #[doc = "ID transmission cycles"]
4287 pub const _1: Self = Self::new(1);
4288 }
4289 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4290 pub struct Rsync_SPEC;
4291 pub type Rsync = crate::EnumBitfieldStruct<u8, Rsync_SPEC>;
4292 impl Rsync {
4293 #[doc = "The received the Start Bit is DATA SYNC"]
4294 pub const _0: Self = Self::new(0);
4295
4296 #[doc = "The received the Start Bit is COMMAND SYNC"]
4297 pub const _1: Self = Self::new(1);
4298 }
4299}
4300#[doc(hidden)]
4301#[derive(Copy, Clone, Eq, PartialEq)]
4302pub struct Frdrh_SPEC;
4303impl crate::sealed::RegSpec for Frdrh_SPEC {
4304 type DataType = u8;
4305}
4306
4307#[doc = "Receive FIFO Data Register"]
4308pub type Frdrh = crate::RegValueT<Frdrh_SPEC>;
4309
4310impl Frdrh {
4311 #[doc = "Multi-Processor Bit Flag"]
4312 #[inline(always)]
4313 pub fn mpb(
4314 self,
4315 ) -> crate::common::RegisterField<
4316 1,
4317 0x1,
4318 1,
4319 0,
4320 frdrh::Mpb,
4321 frdrh::Mpb,
4322 Frdrh_SPEC,
4323 crate::common::R,
4324 > {
4325 crate::common::RegisterField::<
4326 1,
4327 0x1,
4328 1,
4329 0,
4330 frdrh::Mpb,
4331 frdrh::Mpb,
4332 Frdrh_SPEC,
4333 crate::common::R,
4334 >::from_register(self, 0)
4335 }
4336
4337 #[doc = "Receive Data Ready Flag"]
4338 #[inline(always)]
4339 pub fn dr(
4340 self,
4341 ) -> crate::common::RegisterField<
4342 2,
4343 0x1,
4344 1,
4345 0,
4346 frdrh::Dr,
4347 frdrh::Dr,
4348 Frdrh_SPEC,
4349 crate::common::R,
4350 > {
4351 crate::common::RegisterField::<
4352 2,
4353 0x1,
4354 1,
4355 0,
4356 frdrh::Dr,
4357 frdrh::Dr,
4358 Frdrh_SPEC,
4359 crate::common::R,
4360 >::from_register(self, 0)
4361 }
4362
4363 #[doc = "Parity Error Flag"]
4364 #[inline(always)]
4365 pub fn per(
4366 self,
4367 ) -> crate::common::RegisterField<
4368 3,
4369 0x1,
4370 1,
4371 0,
4372 frdrh::Per,
4373 frdrh::Per,
4374 Frdrh_SPEC,
4375 crate::common::R,
4376 > {
4377 crate::common::RegisterField::<
4378 3,
4379 0x1,
4380 1,
4381 0,
4382 frdrh::Per,
4383 frdrh::Per,
4384 Frdrh_SPEC,
4385 crate::common::R,
4386 >::from_register(self, 0)
4387 }
4388
4389 #[doc = "Framing Error Flag"]
4390 #[inline(always)]
4391 pub fn fer(
4392 self,
4393 ) -> crate::common::RegisterField<
4394 4,
4395 0x1,
4396 1,
4397 0,
4398 frdrh::Fer,
4399 frdrh::Fer,
4400 Frdrh_SPEC,
4401 crate::common::R,
4402 > {
4403 crate::common::RegisterField::<
4404 4,
4405 0x1,
4406 1,
4407 0,
4408 frdrh::Fer,
4409 frdrh::Fer,
4410 Frdrh_SPEC,
4411 crate::common::R,
4412 >::from_register(self, 0)
4413 }
4414
4415 #[doc = "Overrun Error Flag"]
4416 #[inline(always)]
4417 pub fn orer(
4418 self,
4419 ) -> crate::common::RegisterField<
4420 5,
4421 0x1,
4422 1,
4423 0,
4424 frdrh::Orer,
4425 frdrh::Orer,
4426 Frdrh_SPEC,
4427 crate::common::R,
4428 > {
4429 crate::common::RegisterField::<
4430 5,
4431 0x1,
4432 1,
4433 0,
4434 frdrh::Orer,
4435 frdrh::Orer,
4436 Frdrh_SPEC,
4437 crate::common::R,
4438 >::from_register(self, 0)
4439 }
4440
4441 #[doc = "Receive FIFO Data Full Flag"]
4442 #[inline(always)]
4443 pub fn rdf(
4444 self,
4445 ) -> crate::common::RegisterField<
4446 6,
4447 0x1,
4448 1,
4449 0,
4450 frdrh::Rdf,
4451 frdrh::Rdf,
4452 Frdrh_SPEC,
4453 crate::common::R,
4454 > {
4455 crate::common::RegisterField::<
4456 6,
4457 0x1,
4458 1,
4459 0,
4460 frdrh::Rdf,
4461 frdrh::Rdf,
4462 Frdrh_SPEC,
4463 crate::common::R,
4464 >::from_register(self, 0)
4465 }
4466}
4467impl ::core::default::Default for Frdrh {
4468 #[inline(always)]
4469 fn default() -> Frdrh {
4470 <crate::RegValueT<Frdrh_SPEC> as RegisterValue<_>>::new(0)
4471 }
4472}
4473pub mod frdrh {
4474
4475 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4476 pub struct Mpb_SPEC;
4477 pub type Mpb = crate::EnumBitfieldStruct<u8, Mpb_SPEC>;
4478 impl Mpb {
4479 #[doc = "Data transmission cycle"]
4480 pub const _0: Self = Self::new(0);
4481
4482 #[doc = "ID transmission cycle"]
4483 pub const _1: Self = Self::new(1);
4484 }
4485 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4486 pub struct Dr_SPEC;
4487 pub type Dr = crate::EnumBitfieldStruct<u8, Dr_SPEC>;
4488 impl Dr {
4489 #[doc = "Receiving is in progress, or no received data remains in the FRDRH and FRDRL registers after successfully completed reception"]
4490 pub const _0: Self = Self::new(0);
4491
4492 #[doc = "Next receive data is not received for a period after successfully completed reception"]
4493 pub const _1: Self = Self::new(1);
4494 }
4495 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4496 pub struct Per_SPEC;
4497 pub type Per = crate::EnumBitfieldStruct<u8, Per_SPEC>;
4498 impl Per {
4499 #[doc = "No parity error occurred in the first data of FRDRH and FRDRL"]
4500 pub const _0: Self = Self::new(0);
4501
4502 #[doc = "Parity error occurred in the first data of FRDRH and FRDRL"]
4503 pub const _1: Self = Self::new(1);
4504 }
4505 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4506 pub struct Fer_SPEC;
4507 pub type Fer = crate::EnumBitfieldStruct<u8, Fer_SPEC>;
4508 impl Fer {
4509 #[doc = "No framing error occurred in the first data of FRDRH and FRDRL"]
4510 pub const _0: Self = Self::new(0);
4511
4512 #[doc = "Framing error occurred in the first data of FRDRH and FRDRL"]
4513 pub const _1: Self = Self::new(1);
4514 }
4515 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4516 pub struct Orer_SPEC;
4517 pub type Orer = crate::EnumBitfieldStruct<u8, Orer_SPEC>;
4518 impl Orer {
4519 #[doc = "No overrun error occurred"]
4520 pub const _0: Self = Self::new(0);
4521
4522 #[doc = "Overrun error occurred"]
4523 pub const _1: Self = Self::new(1);
4524 }
4525 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4526 pub struct Rdf_SPEC;
4527 pub type Rdf = crate::EnumBitfieldStruct<u8, Rdf_SPEC>;
4528 impl Rdf {
4529 #[doc = "The amount of receive data written in FRDRH and FRDRL is less than the specified receive triggering number"]
4530 pub const _0: Self = Self::new(0);
4531
4532 #[doc = "The amount of receive data written in FRDRH and FRDRL is equal to or greater than the specified receive triggering number"]
4533 pub const _1: Self = Self::new(1);
4534 }
4535}
4536#[doc(hidden)]
4537#[derive(Copy, Clone, Eq, PartialEq)]
4538pub struct Frdrl_SPEC;
4539impl crate::sealed::RegSpec for Frdrl_SPEC {
4540 type DataType = u8;
4541}
4542
4543#[doc = "Receive FIFO Data Register"]
4544pub type Frdrl = crate::RegValueT<Frdrl_SPEC>;
4545
4546impl Frdrl {
4547 #[doc = "Serial receive data"]
4548 #[inline(always)]
4549 pub fn rdat(
4550 self,
4551 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Frdrl_SPEC, crate::common::R> {
4552 crate::common::RegisterField::<0,0xff,1,0,u8,u8,Frdrl_SPEC,crate::common::R>::from_register(self,0)
4553 }
4554}
4555impl ::core::default::Default for Frdrl {
4556 #[inline(always)]
4557 fn default() -> Frdrl {
4558 <crate::RegValueT<Frdrl_SPEC> as RegisterValue<_>>::new(0)
4559 }
4560}
4561
4562#[doc(hidden)]
4563#[derive(Copy, Clone, Eq, PartialEq)]
4564pub struct Mddr_SPEC;
4565impl crate::sealed::RegSpec for Mddr_SPEC {
4566 type DataType = u8;
4567}
4568
4569#[doc = "Modulation Duty Register"]
4570pub type Mddr = crate::RegValueT<Mddr_SPEC>;
4571
4572impl NoBitfieldReg<Mddr_SPEC> for Mddr {}
4573impl ::core::default::Default for Mddr {
4574 #[inline(always)]
4575 fn default() -> Mddr {
4576 <crate::RegValueT<Mddr_SPEC> as RegisterValue<_>>::new(255)
4577 }
4578}
4579
4580#[doc(hidden)]
4581#[derive(Copy, Clone, Eq, PartialEq)]
4582pub struct Dccr_SPEC;
4583impl crate::sealed::RegSpec for Dccr_SPEC {
4584 type DataType = u8;
4585}
4586
4587#[doc = "Data Compare Match Control Register"]
4588pub type Dccr = crate::RegValueT<Dccr_SPEC>;
4589
4590impl Dccr {
4591 #[doc = "Data Compare Match Flag"]
4592 #[inline(always)]
4593 pub fn dcmf(
4594 self,
4595 ) -> crate::common::RegisterField<
4596 0,
4597 0x1,
4598 1,
4599 0,
4600 dccr::Dcmf,
4601 dccr::Dcmf,
4602 Dccr_SPEC,
4603 crate::common::RW,
4604 > {
4605 crate::common::RegisterField::<
4606 0,
4607 0x1,
4608 1,
4609 0,
4610 dccr::Dcmf,
4611 dccr::Dcmf,
4612 Dccr_SPEC,
4613 crate::common::RW,
4614 >::from_register(self, 0)
4615 }
4616
4617 #[doc = "Data Compare Match Parity Error Flag"]
4618 #[inline(always)]
4619 pub fn dper(
4620 self,
4621 ) -> crate::common::RegisterField<
4622 3,
4623 0x1,
4624 1,
4625 0,
4626 dccr::Dper,
4627 dccr::Dper,
4628 Dccr_SPEC,
4629 crate::common::RW,
4630 > {
4631 crate::common::RegisterField::<
4632 3,
4633 0x1,
4634 1,
4635 0,
4636 dccr::Dper,
4637 dccr::Dper,
4638 Dccr_SPEC,
4639 crate::common::RW,
4640 >::from_register(self, 0)
4641 }
4642
4643 #[doc = "Data Compare Match Framing Error Flag"]
4644 #[inline(always)]
4645 pub fn dfer(
4646 self,
4647 ) -> crate::common::RegisterField<
4648 4,
4649 0x1,
4650 1,
4651 0,
4652 dccr::Dfer,
4653 dccr::Dfer,
4654 Dccr_SPEC,
4655 crate::common::RW,
4656 > {
4657 crate::common::RegisterField::<
4658 4,
4659 0x1,
4660 1,
4661 0,
4662 dccr::Dfer,
4663 dccr::Dfer,
4664 Dccr_SPEC,
4665 crate::common::RW,
4666 >::from_register(self, 0)
4667 }
4668
4669 #[doc = "ID Frame Select"]
4670 #[inline(always)]
4671 pub fn idsel(
4672 self,
4673 ) -> crate::common::RegisterField<
4674 6,
4675 0x1,
4676 1,
4677 0,
4678 dccr::Idsel,
4679 dccr::Idsel,
4680 Dccr_SPEC,
4681 crate::common::RW,
4682 > {
4683 crate::common::RegisterField::<
4684 6,
4685 0x1,
4686 1,
4687 0,
4688 dccr::Idsel,
4689 dccr::Idsel,
4690 Dccr_SPEC,
4691 crate::common::RW,
4692 >::from_register(self, 0)
4693 }
4694
4695 #[doc = "Data Compare Match Enable"]
4696 #[inline(always)]
4697 pub fn dcme(
4698 self,
4699 ) -> crate::common::RegisterField<
4700 7,
4701 0x1,
4702 1,
4703 0,
4704 dccr::Dcme,
4705 dccr::Dcme,
4706 Dccr_SPEC,
4707 crate::common::RW,
4708 > {
4709 crate::common::RegisterField::<
4710 7,
4711 0x1,
4712 1,
4713 0,
4714 dccr::Dcme,
4715 dccr::Dcme,
4716 Dccr_SPEC,
4717 crate::common::RW,
4718 >::from_register(self, 0)
4719 }
4720}
4721impl ::core::default::Default for Dccr {
4722 #[inline(always)]
4723 fn default() -> Dccr {
4724 <crate::RegValueT<Dccr_SPEC> as RegisterValue<_>>::new(64)
4725 }
4726}
4727pub mod dccr {
4728
4729 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4730 pub struct Dcmf_SPEC;
4731 pub type Dcmf = crate::EnumBitfieldStruct<u8, Dcmf_SPEC>;
4732 impl Dcmf {
4733 #[doc = "Not matched"]
4734 pub const _0: Self = Self::new(0);
4735
4736 #[doc = "Matched"]
4737 pub const _1: Self = Self::new(1);
4738 }
4739 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4740 pub struct Dper_SPEC;
4741 pub type Dper = crate::EnumBitfieldStruct<u8, Dper_SPEC>;
4742 impl Dper {
4743 #[doc = "No parity error occurred"]
4744 pub const _0: Self = Self::new(0);
4745
4746 #[doc = "Parity error occurred"]
4747 pub const _1: Self = Self::new(1);
4748 }
4749 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4750 pub struct Dfer_SPEC;
4751 pub type Dfer = crate::EnumBitfieldStruct<u8, Dfer_SPEC>;
4752 impl Dfer {
4753 #[doc = "No framing error occurred"]
4754 pub const _0: Self = Self::new(0);
4755
4756 #[doc = "Framing error occurred"]
4757 pub const _1: Self = Self::new(1);
4758 }
4759 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4760 pub struct Idsel_SPEC;
4761 pub type Idsel = crate::EnumBitfieldStruct<u8, Idsel_SPEC>;
4762 impl Idsel {
4763 #[doc = "Always compare data regardless of the MPB bit value"]
4764 pub const _0: Self = Self::new(0);
4765
4766 #[doc = "Only compare data when MPB bit = 1 (ID frame)"]
4767 pub const _1: Self = Self::new(1);
4768 }
4769 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4770 pub struct Dcme_SPEC;
4771 pub type Dcme = crate::EnumBitfieldStruct<u8, Dcme_SPEC>;
4772 impl Dcme {
4773 #[doc = "Disable address match function"]
4774 pub const _0: Self = Self::new(0);
4775
4776 #[doc = "Enable address match function"]
4777 pub const _1: Self = Self::new(1);
4778 }
4779}
4780#[doc(hidden)]
4781#[derive(Copy, Clone, Eq, PartialEq)]
4782pub struct Fcr_SPEC;
4783impl crate::sealed::RegSpec for Fcr_SPEC {
4784 type DataType = u16;
4785}
4786
4787#[doc = "FIFO Control Register"]
4788pub type Fcr = crate::RegValueT<Fcr_SPEC>;
4789
4790impl Fcr {
4791 #[doc = "FIFO Mode Select"]
4792 #[inline(always)]
4793 pub fn fm(
4794 self,
4795 ) -> crate::common::RegisterField<0, 0x1, 1, 0, fcr::Fm, fcr::Fm, Fcr_SPEC, crate::common::RW>
4796 {
4797 crate::common::RegisterField::<0,0x1,1,0,fcr::Fm,fcr::Fm,Fcr_SPEC,crate::common::RW>::from_register(self,0)
4798 }
4799
4800 #[doc = "Receive FIFO Data Register Reset"]
4801 #[inline(always)]
4802 pub fn rfrst(
4803 self,
4804 ) -> crate::common::RegisterField<
4805 1,
4806 0x1,
4807 1,
4808 0,
4809 fcr::Rfrst,
4810 fcr::Rfrst,
4811 Fcr_SPEC,
4812 crate::common::RW,
4813 > {
4814 crate::common::RegisterField::<
4815 1,
4816 0x1,
4817 1,
4818 0,
4819 fcr::Rfrst,
4820 fcr::Rfrst,
4821 Fcr_SPEC,
4822 crate::common::RW,
4823 >::from_register(self, 0)
4824 }
4825
4826 #[doc = "Transmit FIFO Data Register Reset"]
4827 #[inline(always)]
4828 pub fn tfrst(
4829 self,
4830 ) -> crate::common::RegisterField<
4831 2,
4832 0x1,
4833 1,
4834 0,
4835 fcr::Tfrst,
4836 fcr::Tfrst,
4837 Fcr_SPEC,
4838 crate::common::RW,
4839 > {
4840 crate::common::RegisterField::<
4841 2,
4842 0x1,
4843 1,
4844 0,
4845 fcr::Tfrst,
4846 fcr::Tfrst,
4847 Fcr_SPEC,
4848 crate::common::RW,
4849 >::from_register(self, 0)
4850 }
4851
4852 #[doc = "Receive Data Ready Error Select"]
4853 #[inline(always)]
4854 pub fn dres(
4855 self,
4856 ) -> crate::common::RegisterField<3, 0x1, 1, 0, fcr::Dres, fcr::Dres, Fcr_SPEC, crate::common::RW>
4857 {
4858 crate::common::RegisterField::<
4859 3,
4860 0x1,
4861 1,
4862 0,
4863 fcr::Dres,
4864 fcr::Dres,
4865 Fcr_SPEC,
4866 crate::common::RW,
4867 >::from_register(self, 0)
4868 }
4869
4870 #[doc = "Transmit FIFO Data Trigger Number"]
4871 #[inline(always)]
4872 pub fn ttrg(
4873 self,
4874 ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, Fcr_SPEC, crate::common::RW> {
4875 crate::common::RegisterField::<4,0xf,1,0,u8,u8,Fcr_SPEC,crate::common::RW>::from_register(self,0)
4876 }
4877
4878 #[doc = "Receive FIFO Data Trigger Number"]
4879 #[inline(always)]
4880 pub fn rtrg(
4881 self,
4882 ) -> crate::common::RegisterField<8, 0xf, 1, 0, u8, u8, Fcr_SPEC, crate::common::RW> {
4883 crate::common::RegisterField::<8,0xf,1,0,u8,u8,Fcr_SPEC,crate::common::RW>::from_register(self,0)
4884 }
4885
4886 #[doc = "RTS Output Active Trigger Number Select"]
4887 #[inline(always)]
4888 pub fn rstrg(
4889 self,
4890 ) -> crate::common::RegisterField<12, 0xf, 1, 0, u8, u8, Fcr_SPEC, crate::common::RW> {
4891 crate::common::RegisterField::<12,0xf,1,0,u8,u8,Fcr_SPEC,crate::common::RW>::from_register(self,0)
4892 }
4893}
4894impl ::core::default::Default for Fcr {
4895 #[inline(always)]
4896 fn default() -> Fcr {
4897 <crate::RegValueT<Fcr_SPEC> as RegisterValue<_>>::new(63488)
4898 }
4899}
4900pub mod fcr {
4901
4902 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4903 pub struct Fm_SPEC;
4904 pub type Fm = crate::EnumBitfieldStruct<u8, Fm_SPEC>;
4905 impl Fm {
4906 #[doc = "Non-FIFO mode. Selects TDR/RDR or TDRHL/RDRHL for communication."]
4907 pub const _0: Self = Self::new(0);
4908
4909 #[doc = "FIFO mode. Selects FTDRHL/FRDRHL for communication."]
4910 pub const _1: Self = Self::new(1);
4911 }
4912 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4913 pub struct Rfrst_SPEC;
4914 pub type Rfrst = crate::EnumBitfieldStruct<u8, Rfrst_SPEC>;
4915 impl Rfrst {
4916 #[doc = "Do not reset FRDRHL"]
4917 pub const _0: Self = Self::new(0);
4918
4919 #[doc = "Reset FRDRHL"]
4920 pub const _1: Self = Self::new(1);
4921 }
4922 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4923 pub struct Tfrst_SPEC;
4924 pub type Tfrst = crate::EnumBitfieldStruct<u8, Tfrst_SPEC>;
4925 impl Tfrst {
4926 #[doc = "Do not reset FTDRHL"]
4927 pub const _0: Self = Self::new(0);
4928
4929 #[doc = "Reset FTDRHL"]
4930 pub const _1: Self = Self::new(1);
4931 }
4932 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4933 pub struct Dres_SPEC;
4934 pub type Dres = crate::EnumBitfieldStruct<u8, Dres_SPEC>;
4935 impl Dres {
4936 #[doc = "Receive data full interrupt (SCIn_RXI)"]
4937 pub const _0: Self = Self::new(0);
4938
4939 #[doc = "Receive error interrupt (SCIn_ERI)"]
4940 pub const _1: Self = Self::new(1);
4941 }
4942}
4943#[doc(hidden)]
4944#[derive(Copy, Clone, Eq, PartialEq)]
4945pub struct Fdr_SPEC;
4946impl crate::sealed::RegSpec for Fdr_SPEC {
4947 type DataType = u16;
4948}
4949
4950#[doc = "FIFO Data Count Register"]
4951pub type Fdr = crate::RegValueT<Fdr_SPEC>;
4952
4953impl Fdr {
4954 #[doc = "Receive FIFO Data Count"]
4955 #[inline(always)]
4956 pub fn r(
4957 self,
4958 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, Fdr_SPEC, crate::common::R> {
4959 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,Fdr_SPEC,crate::common::R>::from_register(self,0)
4960 }
4961
4962 #[doc = "Transmit FIFO Data Count"]
4963 #[inline(always)]
4964 pub fn t(
4965 self,
4966 ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, Fdr_SPEC, crate::common::R> {
4967 crate::common::RegisterField::<8,0x1f,1,0,u8,u8,Fdr_SPEC,crate::common::R>::from_register(self,0)
4968 }
4969}
4970impl ::core::default::Default for Fdr {
4971 #[inline(always)]
4972 fn default() -> Fdr {
4973 <crate::RegValueT<Fdr_SPEC> as RegisterValue<_>>::new(0)
4974 }
4975}
4976
4977#[doc(hidden)]
4978#[derive(Copy, Clone, Eq, PartialEq)]
4979pub struct Lsr_SPEC;
4980impl crate::sealed::RegSpec for Lsr_SPEC {
4981 type DataType = u16;
4982}
4983
4984#[doc = "Line Status Register"]
4985pub type Lsr = crate::RegValueT<Lsr_SPEC>;
4986
4987impl Lsr {
4988 #[doc = "Overrun Error Flag"]
4989 #[inline(always)]
4990 pub fn orer(
4991 self,
4992 ) -> crate::common::RegisterField<0, 0x1, 1, 0, lsr::Orer, lsr::Orer, Lsr_SPEC, crate::common::R>
4993 {
4994 crate::common::RegisterField::<0,0x1,1,0,lsr::Orer,lsr::Orer,Lsr_SPEC,crate::common::R>::from_register(self,0)
4995 }
4996
4997 #[doc = "Framing Error Count"]
4998 #[inline(always)]
4999 pub fn fnum(
5000 self,
5001 ) -> crate::common::RegisterField<2, 0x1f, 1, 0, u8, u8, Lsr_SPEC, crate::common::R> {
5002 crate::common::RegisterField::<2,0x1f,1,0,u8,u8,Lsr_SPEC,crate::common::R>::from_register(self,0)
5003 }
5004
5005 #[doc = "Parity Error Count"]
5006 #[inline(always)]
5007 pub fn pnum(
5008 self,
5009 ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, Lsr_SPEC, crate::common::R> {
5010 crate::common::RegisterField::<8,0x1f,1,0,u8,u8,Lsr_SPEC,crate::common::R>::from_register(self,0)
5011 }
5012}
5013impl ::core::default::Default for Lsr {
5014 #[inline(always)]
5015 fn default() -> Lsr {
5016 <crate::RegValueT<Lsr_SPEC> as RegisterValue<_>>::new(0)
5017 }
5018}
5019pub mod lsr {
5020
5021 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5022 pub struct Orer_SPEC;
5023 pub type Orer = crate::EnumBitfieldStruct<u8, Orer_SPEC>;
5024 impl Orer {
5025 #[doc = "No overrun error occurred"]
5026 pub const _0: Self = Self::new(0);
5027
5028 #[doc = "Overrun error occurred"]
5029 pub const _1: Self = Self::new(1);
5030 }
5031}
5032#[doc(hidden)]
5033#[derive(Copy, Clone, Eq, PartialEq)]
5034pub struct Cdr_SPEC;
5035impl crate::sealed::RegSpec for Cdr_SPEC {
5036 type DataType = u16;
5037}
5038
5039#[doc = "Compare Match Data Register"]
5040pub type Cdr = crate::RegValueT<Cdr_SPEC>;
5041
5042impl Cdr {
5043 #[doc = "Compare Match Data"]
5044 #[inline(always)]
5045 pub fn cmpd(
5046 self,
5047 ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Cdr_SPEC, crate::common::RW> {
5048 crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Cdr_SPEC,crate::common::RW>::from_register(self,0)
5049 }
5050}
5051impl ::core::default::Default for Cdr {
5052 #[inline(always)]
5053 fn default() -> Cdr {
5054 <crate::RegValueT<Cdr_SPEC> as RegisterValue<_>>::new(0)
5055 }
5056}
5057
5058#[doc(hidden)]
5059#[derive(Copy, Clone, Eq, PartialEq)]
5060pub struct Sptr_SPEC;
5061impl crate::sealed::RegSpec for Sptr_SPEC {
5062 type DataType = u8;
5063}
5064
5065#[doc = "Serial Port Register"]
5066pub type Sptr = crate::RegValueT<Sptr_SPEC>;
5067
5068impl Sptr {
5069 #[doc = "Serial Input Data Monitor"]
5070 #[inline(always)]
5071 pub fn rxdmon(self) -> crate::common::RegisterFieldBool<0, 1, 0, Sptr_SPEC, crate::common::R> {
5072 crate::common::RegisterFieldBool::<0, 1, 0, Sptr_SPEC, crate::common::R>::from_register(
5073 self, 0,
5074 )
5075 }
5076
5077 #[doc = "Serial Port Break Data Select"]
5078 #[inline(always)]
5079 pub fn spb2dt(self) -> crate::common::RegisterFieldBool<1, 1, 0, Sptr_SPEC, crate::common::RW> {
5080 crate::common::RegisterFieldBool::<1, 1, 0, Sptr_SPEC, crate::common::RW>::from_register(
5081 self, 0,
5082 )
5083 }
5084
5085 #[doc = "Serial Port Break I/O"]
5086 #[inline(always)]
5087 pub fn spb2io(
5088 self,
5089 ) -> crate::common::RegisterField<
5090 2,
5091 0x1,
5092 1,
5093 0,
5094 sptr::Spb2Io,
5095 sptr::Spb2Io,
5096 Sptr_SPEC,
5097 crate::common::RW,
5098 > {
5099 crate::common::RegisterField::<
5100 2,
5101 0x1,
5102 1,
5103 0,
5104 sptr::Spb2Io,
5105 sptr::Spb2Io,
5106 Sptr_SPEC,
5107 crate::common::RW,
5108 >::from_register(self, 0)
5109 }
5110
5111 #[doc = "RXD invert bit"]
5112 #[inline(always)]
5113 pub fn rinv(
5114 self,
5115 ) -> crate::common::RegisterField<
5116 4,
5117 0x1,
5118 1,
5119 0,
5120 sptr::Rinv,
5121 sptr::Rinv,
5122 Sptr_SPEC,
5123 crate::common::RW,
5124 > {
5125 crate::common::RegisterField::<
5126 4,
5127 0x1,
5128 1,
5129 0,
5130 sptr::Rinv,
5131 sptr::Rinv,
5132 Sptr_SPEC,
5133 crate::common::RW,
5134 >::from_register(self, 0)
5135 }
5136
5137 #[doc = "TXD invert bit"]
5138 #[inline(always)]
5139 pub fn tinv(
5140 self,
5141 ) -> crate::common::RegisterField<
5142 5,
5143 0x1,
5144 1,
5145 0,
5146 sptr::Tinv,
5147 sptr::Tinv,
5148 Sptr_SPEC,
5149 crate::common::RW,
5150 > {
5151 crate::common::RegisterField::<
5152 5,
5153 0x1,
5154 1,
5155 0,
5156 sptr::Tinv,
5157 sptr::Tinv,
5158 Sptr_SPEC,
5159 crate::common::RW,
5160 >::from_register(self, 0)
5161 }
5162
5163 #[doc = "Adjust receive sampling timing enable"]
5164 #[inline(always)]
5165 pub fn asen(
5166 self,
5167 ) -> crate::common::RegisterField<
5168 6,
5169 0x1,
5170 1,
5171 0,
5172 sptr::Asen,
5173 sptr::Asen,
5174 Sptr_SPEC,
5175 crate::common::RW,
5176 > {
5177 crate::common::RegisterField::<
5178 6,
5179 0x1,
5180 1,
5181 0,
5182 sptr::Asen,
5183 sptr::Asen,
5184 Sptr_SPEC,
5185 crate::common::RW,
5186 >::from_register(self, 0)
5187 }
5188
5189 #[doc = "Adjust transmit timing enable"]
5190 #[inline(always)]
5191 pub fn aten(
5192 self,
5193 ) -> crate::common::RegisterField<
5194 7,
5195 0x1,
5196 1,
5197 0,
5198 sptr::Aten,
5199 sptr::Aten,
5200 Sptr_SPEC,
5201 crate::common::RW,
5202 > {
5203 crate::common::RegisterField::<
5204 7,
5205 0x1,
5206 1,
5207 0,
5208 sptr::Aten,
5209 sptr::Aten,
5210 Sptr_SPEC,
5211 crate::common::RW,
5212 >::from_register(self, 0)
5213 }
5214}
5215impl ::core::default::Default for Sptr {
5216 #[inline(always)]
5217 fn default() -> Sptr {
5218 <crate::RegValueT<Sptr_SPEC> as RegisterValue<_>>::new(3)
5219 }
5220}
5221pub mod sptr {
5222
5223 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5224 pub struct Spb2Io_SPEC;
5225 pub type Spb2Io = crate::EnumBitfieldStruct<u8, Spb2Io_SPEC>;
5226 impl Spb2Io {
5227 #[doc = "Do not output value of SPB2DT bit on TXDn pin"]
5228 pub const _0: Self = Self::new(0);
5229
5230 #[doc = "Output value of SPB2DT bit on TXDn pin"]
5231 pub const _1: Self = Self::new(1);
5232 }
5233 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5234 pub struct Rinv_SPEC;
5235 pub type Rinv = crate::EnumBitfieldStruct<u8, Rinv_SPEC>;
5236 impl Rinv {
5237 #[doc = "Received data from RXDn is not inverted and input."]
5238 pub const _0: Self = Self::new(0);
5239
5240 #[doc = "Received data from RXDn is inverted and input."]
5241 pub const _1: Self = Self::new(1);
5242 }
5243 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5244 pub struct Tinv_SPEC;
5245 pub type Tinv = crate::EnumBitfieldStruct<u8, Tinv_SPEC>;
5246 impl Tinv {
5247 #[doc = "Transmit data is not inverted and output to TXDn."]
5248 pub const _0: Self = Self::new(0);
5249
5250 #[doc = "Transmit data is inverted and output to TXDn."]
5251 pub const _1: Self = Self::new(1);
5252 }
5253 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5254 pub struct Asen_SPEC;
5255 pub type Asen = crate::EnumBitfieldStruct<u8, Asen_SPEC>;
5256 impl Asen {
5257 #[doc = "Adjust sampling timing disable."]
5258 pub const _0: Self = Self::new(0);
5259
5260 #[doc = "Adjust sampling timing enable."]
5261 pub const _1: Self = Self::new(1);
5262 }
5263 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5264 pub struct Aten_SPEC;
5265 pub type Aten = crate::EnumBitfieldStruct<u8, Aten_SPEC>;
5266 impl Aten {
5267 #[doc = "Adjust transmit timing disable."]
5268 pub const _0: Self = Self::new(0);
5269
5270 #[doc = "Adjust transmit timing enable."]
5271 pub const _1: Self = Self::new(1);
5272 }
5273}
5274#[doc(hidden)]
5275#[derive(Copy, Clone, Eq, PartialEq)]
5276pub struct Actr_SPEC;
5277impl crate::sealed::RegSpec for Actr_SPEC {
5278 type DataType = u8;
5279}
5280
5281#[doc = "Adjustment Communication Timing Register"]
5282pub type Actr = crate::RegValueT<Actr_SPEC>;
5283
5284impl Actr {
5285 #[doc = "Adjustment value for receive Sampling Timing"]
5286 #[inline(always)]
5287 pub fn ast(
5288 self,
5289 ) -> crate::common::RegisterField<0, 0x7, 1, 0, u8, u8, Actr_SPEC, crate::common::RW> {
5290 crate::common::RegisterField::<0,0x7,1,0,u8,u8,Actr_SPEC,crate::common::RW>::from_register(self,0)
5291 }
5292
5293 #[doc = "Adjustment Direction for receive sampling timing"]
5294 #[inline(always)]
5295 pub fn ajd(
5296 self,
5297 ) -> crate::common::RegisterField<
5298 3,
5299 0x1,
5300 1,
5301 0,
5302 actr::Ajd,
5303 actr::Ajd,
5304 Actr_SPEC,
5305 crate::common::RW,
5306 > {
5307 crate::common::RegisterField::<
5308 3,
5309 0x1,
5310 1,
5311 0,
5312 actr::Ajd,
5313 actr::Ajd,
5314 Actr_SPEC,
5315 crate::common::RW,
5316 >::from_register(self, 0)
5317 }
5318
5319 #[doc = "Adjustment value for Transmit timing"]
5320 #[inline(always)]
5321 pub fn att(
5322 self,
5323 ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, u8, Actr_SPEC, crate::common::RW> {
5324 crate::common::RegisterField::<4,0x7,1,0,u8,u8,Actr_SPEC,crate::common::RW>::from_register(self,0)
5325 }
5326
5327 #[doc = "Adjustment edge for transmit timing"]
5328 #[inline(always)]
5329 pub fn aet(
5330 self,
5331 ) -> crate::common::RegisterField<
5332 7,
5333 0x1,
5334 1,
5335 0,
5336 actr::Aet,
5337 actr::Aet,
5338 Actr_SPEC,
5339 crate::common::RW,
5340 > {
5341 crate::common::RegisterField::<
5342 7,
5343 0x1,
5344 1,
5345 0,
5346 actr::Aet,
5347 actr::Aet,
5348 Actr_SPEC,
5349 crate::common::RW,
5350 >::from_register(self, 0)
5351 }
5352}
5353impl ::core::default::Default for Actr {
5354 #[inline(always)]
5355 fn default() -> Actr {
5356 <crate::RegValueT<Actr_SPEC> as RegisterValue<_>>::new(0)
5357 }
5358}
5359pub mod actr {
5360
5361 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5362 pub struct Ajd_SPEC;
5363 pub type Ajd = crate::EnumBitfieldStruct<u8, Ajd_SPEC>;
5364 impl Ajd {
5365 #[doc = "The sampling timing is adjusted backward to the middle of bit."]
5366 pub const _0: Self = Self::new(0);
5367
5368 #[doc = "The sampling timing is adjusted forward to the middle of bit."]
5369 pub const _1: Self = Self::new(1);
5370 }
5371 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5372 pub struct Aet_SPEC;
5373 pub type Aet = crate::EnumBitfieldStruct<u8, Aet_SPEC>;
5374 impl Aet {
5375 #[doc = "Adjust the rising edge timing."]
5376 pub const _0: Self = Self::new(0);
5377
5378 #[doc = "Adjust the falling edge timing."]
5379 pub const _1: Self = Self::new(1);
5380 }
5381}
5382#[doc(hidden)]
5383#[derive(Copy, Clone, Eq, PartialEq)]
5384pub struct Mmr_SPEC;
5385impl crate::sealed::RegSpec for Mmr_SPEC {
5386 type DataType = u8;
5387}
5388
5389#[doc = "Manchester Mode Register"]
5390pub type Mmr = crate::RegValueT<Mmr_SPEC>;
5391
5392impl Mmr {
5393 #[doc = "Polarity of Received Manchester Code"]
5394 #[inline(always)]
5395 pub fn rmpol(
5396 self,
5397 ) -> crate::common::RegisterField<
5398 0,
5399 0x1,
5400 1,
5401 0,
5402 mmr::Rmpol,
5403 mmr::Rmpol,
5404 Mmr_SPEC,
5405 crate::common::RW,
5406 > {
5407 crate::common::RegisterField::<
5408 0,
5409 0x1,
5410 1,
5411 0,
5412 mmr::Rmpol,
5413 mmr::Rmpol,
5414 Mmr_SPEC,
5415 crate::common::RW,
5416 >::from_register(self, 0)
5417 }
5418
5419 #[doc = "Polarity of Transmit Manchester Code"]
5420 #[inline(always)]
5421 pub fn tmpol(
5422 self,
5423 ) -> crate::common::RegisterField<
5424 1,
5425 0x1,
5426 1,
5427 0,
5428 mmr::Tmpol,
5429 mmr::Tmpol,
5430 Mmr_SPEC,
5431 crate::common::RW,
5432 > {
5433 crate::common::RegisterField::<
5434 1,
5435 0x1,
5436 1,
5437 0,
5438 mmr::Tmpol,
5439 mmr::Tmpol,
5440 Mmr_SPEC,
5441 crate::common::RW,
5442 >::from_register(self, 0)
5443 }
5444
5445 #[doc = "Manchester Edge Retiming Enable"]
5446 #[inline(always)]
5447 pub fn erten(
5448 self,
5449 ) -> crate::common::RegisterField<
5450 2,
5451 0x1,
5452 1,
5453 0,
5454 mmr::Erten,
5455 mmr::Erten,
5456 Mmr_SPEC,
5457 crate::common::RW,
5458 > {
5459 crate::common::RegisterField::<
5460 2,
5461 0x1,
5462 1,
5463 0,
5464 mmr::Erten,
5465 mmr::Erten,
5466 Mmr_SPEC,
5467 crate::common::RW,
5468 >::from_register(self, 0)
5469 }
5470
5471 #[doc = "SYNC value Setting"]
5472 #[inline(always)]
5473 pub fn synval(
5474 self,
5475 ) -> crate::common::RegisterField<
5476 4,
5477 0x1,
5478 1,
5479 0,
5480 mmr::Synval,
5481 mmr::Synval,
5482 Mmr_SPEC,
5483 crate::common::RW,
5484 > {
5485 crate::common::RegisterField::<
5486 4,
5487 0x1,
5488 1,
5489 0,
5490 mmr::Synval,
5491 mmr::Synval,
5492 Mmr_SPEC,
5493 crate::common::RW,
5494 >::from_register(self, 0)
5495 }
5496
5497 #[doc = "SYNC Select"]
5498 #[inline(always)]
5499 pub fn synsel(
5500 self,
5501 ) -> crate::common::RegisterField<
5502 5,
5503 0x1,
5504 1,
5505 0,
5506 mmr::Synsel,
5507 mmr::Synsel,
5508 Mmr_SPEC,
5509 crate::common::RW,
5510 > {
5511 crate::common::RegisterField::<
5512 5,
5513 0x1,
5514 1,
5515 0,
5516 mmr::Synsel,
5517 mmr::Synsel,
5518 Mmr_SPEC,
5519 crate::common::RW,
5520 >::from_register(self, 0)
5521 }
5522
5523 #[doc = "Start Bit Select"]
5524 #[inline(always)]
5525 pub fn sbsel(
5526 self,
5527 ) -> crate::common::RegisterField<
5528 6,
5529 0x1,
5530 1,
5531 0,
5532 mmr::Sbsel,
5533 mmr::Sbsel,
5534 Mmr_SPEC,
5535 crate::common::RW,
5536 > {
5537 crate::common::RegisterField::<
5538 6,
5539 0x1,
5540 1,
5541 0,
5542 mmr::Sbsel,
5543 mmr::Sbsel,
5544 Mmr_SPEC,
5545 crate::common::RW,
5546 >::from_register(self, 0)
5547 }
5548
5549 #[doc = "Manchester Mode Enable"]
5550 #[inline(always)]
5551 pub fn manen(
5552 self,
5553 ) -> crate::common::RegisterField<
5554 7,
5555 0x1,
5556 1,
5557 0,
5558 mmr::Manen,
5559 mmr::Manen,
5560 Mmr_SPEC,
5561 crate::common::RW,
5562 > {
5563 crate::common::RegisterField::<
5564 7,
5565 0x1,
5566 1,
5567 0,
5568 mmr::Manen,
5569 mmr::Manen,
5570 Mmr_SPEC,
5571 crate::common::RW,
5572 >::from_register(self, 0)
5573 }
5574}
5575impl ::core::default::Default for Mmr {
5576 #[inline(always)]
5577 fn default() -> Mmr {
5578 <crate::RegValueT<Mmr_SPEC> as RegisterValue<_>>::new(0)
5579 }
5580}
5581pub mod mmr {
5582
5583 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5584 pub struct Rmpol_SPEC;
5585 pub type Rmpol = crate::EnumBitfieldStruct<u8, Rmpol_SPEC>;
5586 impl Rmpol {
5587 #[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"]
5588 pub const _0: Self = Self::new(0);
5589
5590 #[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"]
5591 pub const _1: Self = Self::new(1);
5592 }
5593 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5594 pub struct Tmpol_SPEC;
5595 pub type Tmpol = crate::EnumBitfieldStruct<u8, Tmpol_SPEC>;
5596 impl Tmpol {
5597 #[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"]
5598 pub const _0: Self = Self::new(0);
5599
5600 #[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"]
5601 pub const _1: Self = Self::new(1);
5602 }
5603 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5604 pub struct Erten_SPEC;
5605 pub type Erten = crate::EnumBitfieldStruct<u8, Erten_SPEC>;
5606 impl Erten {
5607 #[doc = "Disables the receive retiming function"]
5608 pub const _0: Self = Self::new(0);
5609
5610 #[doc = "Enables the receive retiming function"]
5611 pub const _1: Self = Self::new(1);
5612 }
5613 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5614 pub struct Synval_SPEC;
5615 pub type Synval = crate::EnumBitfieldStruct<u8, Synval_SPEC>;
5616 impl Synval {
5617 #[doc = "The start bit is added as a zero-to-one transition."]
5618 pub const _0: Self = Self::new(0);
5619
5620 #[doc = "The start bit is added as a one-to-zero transition."]
5621 pub const _1: Self = Self::new(1);
5622 }
5623 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5624 pub struct Synsel_SPEC;
5625 pub type Synsel = crate::EnumBitfieldStruct<u8, Synsel_SPEC>;
5626 impl Synsel {
5627 #[doc = "The start bit pattern is set with the SYNVAL bit"]
5628 pub const _0: Self = Self::new(0);
5629
5630 #[doc = "The start bit pattern is set with the TSYNC bit."]
5631 pub const _1: Self = Self::new(1);
5632 }
5633 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5634 pub struct Sbsel_SPEC;
5635 pub type Sbsel = crate::EnumBitfieldStruct<u8, Sbsel_SPEC>;
5636 impl Sbsel {
5637 #[doc = "The start bit area consists of one bit."]
5638 pub const _0: Self = Self::new(0);
5639
5640 #[doc = "The start bit area consists of three bits (COMMAND SYNC or DATA SYNC)"]
5641 pub const _1: Self = Self::new(1);
5642 }
5643 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5644 pub struct Manen_SPEC;
5645 pub type Manen = crate::EnumBitfieldStruct<u8, Manen_SPEC>;
5646 impl Manen {
5647 #[doc = "Disables the Manchester mode"]
5648 pub const _0: Self = Self::new(0);
5649
5650 #[doc = "Enables the Manchester mode"]
5651 pub const _1: Self = Self::new(1);
5652 }
5653}
5654#[doc(hidden)]
5655#[derive(Copy, Clone, Eq, PartialEq)]
5656pub struct Tmpr_SPEC;
5657impl crate::sealed::RegSpec for Tmpr_SPEC {
5658 type DataType = u8;
5659}
5660
5661#[doc = "Transmit Manchester Preface Setting Register"]
5662pub type Tmpr = crate::RegValueT<Tmpr_SPEC>;
5663
5664impl Tmpr {
5665 #[doc = "Transmit preface length"]
5666 #[inline(always)]
5667 pub fn tplen(
5668 self,
5669 ) -> crate::common::RegisterField<
5670 0,
5671 0xf,
5672 1,
5673 0,
5674 tmpr::Tplen,
5675 tmpr::Tplen,
5676 Tmpr_SPEC,
5677 crate::common::RW,
5678 > {
5679 crate::common::RegisterField::<
5680 0,
5681 0xf,
5682 1,
5683 0,
5684 tmpr::Tplen,
5685 tmpr::Tplen,
5686 Tmpr_SPEC,
5687 crate::common::RW,
5688 >::from_register(self, 0)
5689 }
5690
5691 #[doc = "Transmit preface pattern"]
5692 #[inline(always)]
5693 pub fn tppat(
5694 self,
5695 ) -> crate::common::RegisterField<
5696 4,
5697 0x3,
5698 1,
5699 0,
5700 tmpr::Tppat,
5701 tmpr::Tppat,
5702 Tmpr_SPEC,
5703 crate::common::RW,
5704 > {
5705 crate::common::RegisterField::<
5706 4,
5707 0x3,
5708 1,
5709 0,
5710 tmpr::Tppat,
5711 tmpr::Tppat,
5712 Tmpr_SPEC,
5713 crate::common::RW,
5714 >::from_register(self, 0)
5715 }
5716}
5717impl ::core::default::Default for Tmpr {
5718 #[inline(always)]
5719 fn default() -> Tmpr {
5720 <crate::RegValueT<Tmpr_SPEC> as RegisterValue<_>>::new(0)
5721 }
5722}
5723pub mod tmpr {
5724
5725 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5726 pub struct Tplen_SPEC;
5727 pub type Tplen = crate::EnumBitfieldStruct<u8, Tplen_SPEC>;
5728 impl Tplen {
5729 #[doc = "Disables the transmit preface generation"]
5730 pub const _0_X_0: Self = Self::new(0);
5731 }
5732 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5733 pub struct Tppat_SPEC;
5734 pub type Tppat = crate::EnumBitfieldStruct<u8, Tppat_SPEC>;
5735 impl Tppat {
5736 #[doc = "ALL ZERO"]
5737 pub const _00: Self = Self::new(0);
5738
5739 #[doc = "ZERO ONE"]
5740 pub const _01: Self = Self::new(1);
5741
5742 #[doc = "ONE ZERO"]
5743 pub const _10: Self = Self::new(2);
5744
5745 #[doc = "ALL ONE"]
5746 pub const _11: Self = Self::new(3);
5747 }
5748}
5749#[doc(hidden)]
5750#[derive(Copy, Clone, Eq, PartialEq)]
5751pub struct Rmpr_SPEC;
5752impl crate::sealed::RegSpec for Rmpr_SPEC {
5753 type DataType = u8;
5754}
5755
5756#[doc = "Receive Manchester Preface Setting Register"]
5757pub type Rmpr = crate::RegValueT<Rmpr_SPEC>;
5758
5759impl Rmpr {
5760 #[doc = "Receive Preface Length"]
5761 #[inline(always)]
5762 pub fn rplen(
5763 self,
5764 ) -> crate::common::RegisterField<
5765 0,
5766 0xf,
5767 1,
5768 0,
5769 rmpr::Rplen,
5770 rmpr::Rplen,
5771 Rmpr_SPEC,
5772 crate::common::RW,
5773 > {
5774 crate::common::RegisterField::<
5775 0,
5776 0xf,
5777 1,
5778 0,
5779 rmpr::Rplen,
5780 rmpr::Rplen,
5781 Rmpr_SPEC,
5782 crate::common::RW,
5783 >::from_register(self, 0)
5784 }
5785
5786 #[doc = "Receive Preface Pattern"]
5787 #[inline(always)]
5788 pub fn rppat(
5789 self,
5790 ) -> crate::common::RegisterField<
5791 4,
5792 0x3,
5793 1,
5794 0,
5795 rmpr::Rppat,
5796 rmpr::Rppat,
5797 Rmpr_SPEC,
5798 crate::common::RW,
5799 > {
5800 crate::common::RegisterField::<
5801 4,
5802 0x3,
5803 1,
5804 0,
5805 rmpr::Rppat,
5806 rmpr::Rppat,
5807 Rmpr_SPEC,
5808 crate::common::RW,
5809 >::from_register(self, 0)
5810 }
5811}
5812impl ::core::default::Default for Rmpr {
5813 #[inline(always)]
5814 fn default() -> Rmpr {
5815 <crate::RegValueT<Rmpr_SPEC> as RegisterValue<_>>::new(0)
5816 }
5817}
5818pub mod rmpr {
5819
5820 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5821 pub struct Rplen_SPEC;
5822 pub type Rplen = crate::EnumBitfieldStruct<u8, Rplen_SPEC>;
5823 impl Rplen {
5824 #[doc = "Disables the receive preface generation"]
5825 pub const _0: Self = Self::new(0);
5826 }
5827 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5828 pub struct Rppat_SPEC;
5829 pub type Rppat = crate::EnumBitfieldStruct<u8, Rppat_SPEC>;
5830 impl Rppat {
5831 #[doc = "ALL ZERO"]
5832 pub const _00: Self = Self::new(0);
5833
5834 #[doc = "ZERO ONE"]
5835 pub const _01: Self = Self::new(1);
5836
5837 #[doc = "ONE ZERO"]
5838 pub const _10: Self = Self::new(2);
5839
5840 #[doc = "ALL ONE"]
5841 pub const _11: Self = Self::new(3);
5842 }
5843}
5844#[doc(hidden)]
5845#[derive(Copy, Clone, Eq, PartialEq)]
5846pub struct Mesr_SPEC;
5847impl crate::sealed::RegSpec for Mesr_SPEC {
5848 type DataType = u8;
5849}
5850
5851#[doc = "Manchester Extended Error Status Register"]
5852pub type Mesr = crate::RegValueT<Mesr_SPEC>;
5853
5854impl Mesr {
5855 #[doc = "Preface Error flag"]
5856 #[inline(always)]
5857 pub fn pfer(
5858 self,
5859 ) -> crate::common::RegisterField<
5860 0,
5861 0x1,
5862 1,
5863 0,
5864 mesr::Pfer,
5865 mesr::Pfer,
5866 Mesr_SPEC,
5867 crate::common::RW,
5868 > {
5869 crate::common::RegisterField::<
5870 0,
5871 0x1,
5872 1,
5873 0,
5874 mesr::Pfer,
5875 mesr::Pfer,
5876 Mesr_SPEC,
5877 crate::common::RW,
5878 >::from_register(self, 0)
5879 }
5880
5881 #[doc = "SYNC Error flag"]
5882 #[inline(always)]
5883 pub fn syer(
5884 self,
5885 ) -> crate::common::RegisterField<
5886 1,
5887 0x1,
5888 1,
5889 0,
5890 mesr::Syer,
5891 mesr::Syer,
5892 Mesr_SPEC,
5893 crate::common::RW,
5894 > {
5895 crate::common::RegisterField::<
5896 1,
5897 0x1,
5898 1,
5899 0,
5900 mesr::Syer,
5901 mesr::Syer,
5902 Mesr_SPEC,
5903 crate::common::RW,
5904 >::from_register(self, 0)
5905 }
5906
5907 #[doc = "Start Bit Error flag"]
5908 #[inline(always)]
5909 pub fn sber(
5910 self,
5911 ) -> crate::common::RegisterField<
5912 2,
5913 0x1,
5914 1,
5915 0,
5916 mesr::Sber,
5917 mesr::Sber,
5918 Mesr_SPEC,
5919 crate::common::RW,
5920 > {
5921 crate::common::RegisterField::<
5922 2,
5923 0x1,
5924 1,
5925 0,
5926 mesr::Sber,
5927 mesr::Sber,
5928 Mesr_SPEC,
5929 crate::common::RW,
5930 >::from_register(self, 0)
5931 }
5932}
5933impl ::core::default::Default for Mesr {
5934 #[inline(always)]
5935 fn default() -> Mesr {
5936 <crate::RegValueT<Mesr_SPEC> as RegisterValue<_>>::new(0)
5937 }
5938}
5939pub mod mesr {
5940
5941 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5942 pub struct Pfer_SPEC;
5943 pub type Pfer = crate::EnumBitfieldStruct<u8, Pfer_SPEC>;
5944 impl Pfer {
5945 #[doc = "No preface error detected"]
5946 pub const _0: Self = Self::new(0);
5947
5948 #[doc = "Preface error detected"]
5949 pub const _1: Self = Self::new(1);
5950 }
5951 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5952 pub struct Syer_SPEC;
5953 pub type Syer = crate::EnumBitfieldStruct<u8, Syer_SPEC>;
5954 impl Syer {
5955 #[doc = "No receive SYNC error detected"]
5956 pub const _0: Self = Self::new(0);
5957
5958 #[doc = "Receive SYNC error detected"]
5959 pub const _1: Self = Self::new(1);
5960 }
5961 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5962 pub struct Sber_SPEC;
5963 pub type Sber = crate::EnumBitfieldStruct<u8, Sber_SPEC>;
5964 impl Sber {
5965 #[doc = "No start bit error detected"]
5966 pub const _0: Self = Self::new(0);
5967
5968 #[doc = "Start bit error detected"]
5969 pub const _1: Self = Self::new(1);
5970 }
5971}
5972#[doc(hidden)]
5973#[derive(Copy, Clone, Eq, PartialEq)]
5974pub struct Mecr_SPEC;
5975impl crate::sealed::RegSpec for Mecr_SPEC {
5976 type DataType = u8;
5977}
5978
5979#[doc = "Manchester Extended Error Control Register"]
5980pub type Mecr = crate::RegValueT<Mecr_SPEC>;
5981
5982impl Mecr {
5983 #[doc = "Preface Error Enable"]
5984 #[inline(always)]
5985 pub fn pferen(
5986 self,
5987 ) -> crate::common::RegisterField<
5988 0,
5989 0x1,
5990 1,
5991 0,
5992 mecr::Pferen,
5993 mecr::Pferen,
5994 Mecr_SPEC,
5995 crate::common::RW,
5996 > {
5997 crate::common::RegisterField::<
5998 0,
5999 0x1,
6000 1,
6001 0,
6002 mecr::Pferen,
6003 mecr::Pferen,
6004 Mecr_SPEC,
6005 crate::common::RW,
6006 >::from_register(self, 0)
6007 }
6008
6009 #[doc = "Receive SYNC Error Enable"]
6010 #[inline(always)]
6011 pub fn syeren(
6012 self,
6013 ) -> crate::common::RegisterField<
6014 1,
6015 0x1,
6016 1,
6017 0,
6018 mecr::Syeren,
6019 mecr::Syeren,
6020 Mecr_SPEC,
6021 crate::common::RW,
6022 > {
6023 crate::common::RegisterField::<
6024 1,
6025 0x1,
6026 1,
6027 0,
6028 mecr::Syeren,
6029 mecr::Syeren,
6030 Mecr_SPEC,
6031 crate::common::RW,
6032 >::from_register(self, 0)
6033 }
6034
6035 #[doc = "Start Bit Error Enable"]
6036 #[inline(always)]
6037 pub fn sberen(
6038 self,
6039 ) -> crate::common::RegisterField<
6040 2,
6041 0x1,
6042 1,
6043 0,
6044 mecr::Sberen,
6045 mecr::Sberen,
6046 Mecr_SPEC,
6047 crate::common::RW,
6048 > {
6049 crate::common::RegisterField::<
6050 2,
6051 0x1,
6052 1,
6053 0,
6054 mecr::Sberen,
6055 mecr::Sberen,
6056 Mecr_SPEC,
6057 crate::common::RW,
6058 >::from_register(self, 0)
6059 }
6060}
6061impl ::core::default::Default for Mecr {
6062 #[inline(always)]
6063 fn default() -> Mecr {
6064 <crate::RegValueT<Mecr_SPEC> as RegisterValue<_>>::new(0)
6065 }
6066}
6067pub mod mecr {
6068
6069 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6070 pub struct Pferen_SPEC;
6071 pub type Pferen = crate::EnumBitfieldStruct<u8, Pferen_SPEC>;
6072 impl Pferen {
6073 #[doc = "Does not handle a preface error as an interrupt source"]
6074 pub const _0: Self = Self::new(0);
6075
6076 #[doc = "Handles a preface error as an interrupt source"]
6077 pub const _1: Self = Self::new(1);
6078 }
6079 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6080 pub struct Syeren_SPEC;
6081 pub type Syeren = crate::EnumBitfieldStruct<u8, Syeren_SPEC>;
6082 impl Syeren {
6083 #[doc = "Does not handle a receive SYNC error as an interrupt source"]
6084 pub const _0: Self = Self::new(0);
6085
6086 #[doc = "Handles a receive SYNC error as an interrupt source"]
6087 pub const _1: Self = Self::new(1);
6088 }
6089 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6090 pub struct Sberen_SPEC;
6091 pub type Sberen = crate::EnumBitfieldStruct<u8, Sberen_SPEC>;
6092 impl Sberen {
6093 #[doc = "Does not handle a start bit error as an interrupt source"]
6094 pub const _0: Self = Self::new(0);
6095
6096 #[doc = "Handles a start bit error as an interrupt source"]
6097 pub const _1: Self = Self::new(1);
6098 }
6099}