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