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