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