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