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