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