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"Inter-Integrated Circuit 0"]
28unsafe impl ::core::marker::Send for super::Iic0 {}
29unsafe impl ::core::marker::Sync for super::Iic0 {}
30impl super::Iic0 {
31 #[allow(unused)]
32 #[inline(always)]
33 pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34 self.ptr
35 }
36
37 #[doc = "I2C Bus Control Register 1"]
38 #[inline(always)]
39 pub const fn iccr1(&self) -> &'static crate::common::Reg<self::Iccr1_SPEC, crate::common::RW> {
40 unsafe {
41 crate::common::Reg::<self::Iccr1_SPEC, crate::common::RW>::from_ptr(
42 self._svd2pac_as_ptr().add(0usize),
43 )
44 }
45 }
46
47 #[doc = "I2C Bus Control Register 2"]
48 #[inline(always)]
49 pub const fn iccr2(&self) -> &'static crate::common::Reg<self::Iccr2_SPEC, crate::common::RW> {
50 unsafe {
51 crate::common::Reg::<self::Iccr2_SPEC, crate::common::RW>::from_ptr(
52 self._svd2pac_as_ptr().add(1usize),
53 )
54 }
55 }
56
57 #[doc = "I2C Bus Mode Register 1"]
58 #[inline(always)]
59 pub const fn icmr1(&self) -> &'static crate::common::Reg<self::Icmr1_SPEC, crate::common::RW> {
60 unsafe {
61 crate::common::Reg::<self::Icmr1_SPEC, crate::common::RW>::from_ptr(
62 self._svd2pac_as_ptr().add(2usize),
63 )
64 }
65 }
66
67 #[doc = "I2C Bus Mode Register 2"]
68 #[inline(always)]
69 pub const fn icmr2(&self) -> &'static crate::common::Reg<self::Icmr2_SPEC, crate::common::RW> {
70 unsafe {
71 crate::common::Reg::<self::Icmr2_SPEC, crate::common::RW>::from_ptr(
72 self._svd2pac_as_ptr().add(3usize),
73 )
74 }
75 }
76
77 #[doc = "I2C Bus Mode Register 3"]
78 #[inline(always)]
79 pub const fn icmr3(&self) -> &'static crate::common::Reg<self::Icmr3_SPEC, crate::common::RW> {
80 unsafe {
81 crate::common::Reg::<self::Icmr3_SPEC, crate::common::RW>::from_ptr(
82 self._svd2pac_as_ptr().add(4usize),
83 )
84 }
85 }
86
87 #[doc = "I2C Bus Function Enable Register"]
88 #[inline(always)]
89 pub const fn icfer(&self) -> &'static crate::common::Reg<self::Icfer_SPEC, crate::common::RW> {
90 unsafe {
91 crate::common::Reg::<self::Icfer_SPEC, crate::common::RW>::from_ptr(
92 self._svd2pac_as_ptr().add(5usize),
93 )
94 }
95 }
96
97 #[doc = "I2C Bus Status Enable Register"]
98 #[inline(always)]
99 pub const fn icser(&self) -> &'static crate::common::Reg<self::Icser_SPEC, crate::common::RW> {
100 unsafe {
101 crate::common::Reg::<self::Icser_SPEC, crate::common::RW>::from_ptr(
102 self._svd2pac_as_ptr().add(6usize),
103 )
104 }
105 }
106
107 #[doc = "I2C Bus Interrupt Enable Register"]
108 #[inline(always)]
109 pub const fn icier(&self) -> &'static crate::common::Reg<self::Icier_SPEC, crate::common::RW> {
110 unsafe {
111 crate::common::Reg::<self::Icier_SPEC, crate::common::RW>::from_ptr(
112 self._svd2pac_as_ptr().add(7usize),
113 )
114 }
115 }
116
117 #[doc = "I2C Bus Status Register 1"]
118 #[inline(always)]
119 pub const fn icsr1(&self) -> &'static crate::common::Reg<self::Icsr1_SPEC, crate::common::RW> {
120 unsafe {
121 crate::common::Reg::<self::Icsr1_SPEC, crate::common::RW>::from_ptr(
122 self._svd2pac_as_ptr().add(8usize),
123 )
124 }
125 }
126
127 #[doc = "I2C Bus Status Register 2"]
128 #[inline(always)]
129 pub const fn icsr2(&self) -> &'static crate::common::Reg<self::Icsr2_SPEC, crate::common::RW> {
130 unsafe {
131 crate::common::Reg::<self::Icsr2_SPEC, crate::common::RW>::from_ptr(
132 self._svd2pac_as_ptr().add(9usize),
133 )
134 }
135 }
136
137 #[doc = "Slave Address Register L %s"]
138 #[inline(always)]
139 pub const fn sarl(
140 &self,
141 ) -> &'static crate::common::ClusterRegisterArray<
142 crate::common::Reg<self::Sarl_SPEC, crate::common::RW>,
143 3,
144 0x2,
145 > {
146 unsafe {
147 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xausize))
148 }
149 }
150 #[inline(always)]
151 pub const fn sarl0(&self) -> &'static crate::common::Reg<self::Sarl_SPEC, crate::common::RW> {
152 unsafe {
153 crate::common::Reg::<self::Sarl_SPEC, crate::common::RW>::from_ptr(
154 self._svd2pac_as_ptr().add(0xausize),
155 )
156 }
157 }
158 #[inline(always)]
159 pub const fn sarl1(&self) -> &'static crate::common::Reg<self::Sarl_SPEC, crate::common::RW> {
160 unsafe {
161 crate::common::Reg::<self::Sarl_SPEC, crate::common::RW>::from_ptr(
162 self._svd2pac_as_ptr().add(0xcusize),
163 )
164 }
165 }
166 #[inline(always)]
167 pub const fn sarl2(&self) -> &'static crate::common::Reg<self::Sarl_SPEC, crate::common::RW> {
168 unsafe {
169 crate::common::Reg::<self::Sarl_SPEC, crate::common::RW>::from_ptr(
170 self._svd2pac_as_ptr().add(0xeusize),
171 )
172 }
173 }
174
175 #[doc = "Slave Address Register U %s"]
176 #[inline(always)]
177 pub const fn saru(
178 &self,
179 ) -> &'static crate::common::ClusterRegisterArray<
180 crate::common::Reg<self::Saru_SPEC, crate::common::RW>,
181 3,
182 0x2,
183 > {
184 unsafe {
185 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xbusize))
186 }
187 }
188 #[inline(always)]
189 pub const fn saru0(&self) -> &'static crate::common::Reg<self::Saru_SPEC, crate::common::RW> {
190 unsafe {
191 crate::common::Reg::<self::Saru_SPEC, crate::common::RW>::from_ptr(
192 self._svd2pac_as_ptr().add(0xbusize),
193 )
194 }
195 }
196 #[inline(always)]
197 pub const fn saru1(&self) -> &'static crate::common::Reg<self::Saru_SPEC, crate::common::RW> {
198 unsafe {
199 crate::common::Reg::<self::Saru_SPEC, crate::common::RW>::from_ptr(
200 self._svd2pac_as_ptr().add(0xdusize),
201 )
202 }
203 }
204 #[inline(always)]
205 pub const fn saru2(&self) -> &'static crate::common::Reg<self::Saru_SPEC, crate::common::RW> {
206 unsafe {
207 crate::common::Reg::<self::Saru_SPEC, crate::common::RW>::from_ptr(
208 self._svd2pac_as_ptr().add(0xfusize),
209 )
210 }
211 }
212
213 #[doc = "I2C Bus Bit Rate Low-Level Register"]
214 #[inline(always)]
215 pub const fn icbrl(&self) -> &'static crate::common::Reg<self::Icbrl_SPEC, crate::common::RW> {
216 unsafe {
217 crate::common::Reg::<self::Icbrl_SPEC, crate::common::RW>::from_ptr(
218 self._svd2pac_as_ptr().add(16usize),
219 )
220 }
221 }
222
223 #[doc = "I2C Bus Bit Rate High-Level Register"]
224 #[inline(always)]
225 pub const fn icbrh(&self) -> &'static crate::common::Reg<self::Icbrh_SPEC, crate::common::RW> {
226 unsafe {
227 crate::common::Reg::<self::Icbrh_SPEC, crate::common::RW>::from_ptr(
228 self._svd2pac_as_ptr().add(17usize),
229 )
230 }
231 }
232
233 #[doc = "I2C Bus Transmit Data Register"]
234 #[inline(always)]
235 pub const fn icdrt(&self) -> &'static crate::common::Reg<self::Icdrt_SPEC, crate::common::RW> {
236 unsafe {
237 crate::common::Reg::<self::Icdrt_SPEC, crate::common::RW>::from_ptr(
238 self._svd2pac_as_ptr().add(18usize),
239 )
240 }
241 }
242
243 #[doc = "I2C Bus Receive Data Register"]
244 #[inline(always)]
245 pub const fn icdrr(&self) -> &'static crate::common::Reg<self::Icdrr_SPEC, crate::common::R> {
246 unsafe {
247 crate::common::Reg::<self::Icdrr_SPEC, crate::common::R>::from_ptr(
248 self._svd2pac_as_ptr().add(19usize),
249 )
250 }
251 }
252}
253#[doc(hidden)]
254#[derive(Copy, Clone, Eq, PartialEq)]
255pub struct Iccr1_SPEC;
256impl crate::sealed::RegSpec for Iccr1_SPEC {
257 type DataType = u8;
258}
259
260#[doc = "I2C Bus Control Register 1"]
261pub type Iccr1 = crate::RegValueT<Iccr1_SPEC>;
262
263impl Iccr1 {
264 #[doc = "SDA Line Monitor"]
265 #[inline(always)]
266 pub fn sdai(
267 self,
268 ) -> crate::common::RegisterField<
269 0,
270 0x1,
271 1,
272 0,
273 iccr1::Sdai,
274 iccr1::Sdai,
275 Iccr1_SPEC,
276 crate::common::R,
277 > {
278 crate::common::RegisterField::<
279 0,
280 0x1,
281 1,
282 0,
283 iccr1::Sdai,
284 iccr1::Sdai,
285 Iccr1_SPEC,
286 crate::common::R,
287 >::from_register(self, 0)
288 }
289
290 #[doc = "SCL Line Monitor"]
291 #[inline(always)]
292 pub fn scli(
293 self,
294 ) -> crate::common::RegisterField<
295 1,
296 0x1,
297 1,
298 0,
299 iccr1::Scli,
300 iccr1::Scli,
301 Iccr1_SPEC,
302 crate::common::R,
303 > {
304 crate::common::RegisterField::<
305 1,
306 0x1,
307 1,
308 0,
309 iccr1::Scli,
310 iccr1::Scli,
311 Iccr1_SPEC,
312 crate::common::R,
313 >::from_register(self, 0)
314 }
315
316 #[doc = "SDA Output Control/Monitor"]
317 #[inline(always)]
318 pub fn sdao(
319 self,
320 ) -> crate::common::RegisterField<
321 2,
322 0x1,
323 1,
324 0,
325 iccr1::Sdao,
326 iccr1::Sdao,
327 Iccr1_SPEC,
328 crate::common::RW,
329 > {
330 crate::common::RegisterField::<
331 2,
332 0x1,
333 1,
334 0,
335 iccr1::Sdao,
336 iccr1::Sdao,
337 Iccr1_SPEC,
338 crate::common::RW,
339 >::from_register(self, 0)
340 }
341
342 #[doc = "SCL Output Control/Monitor"]
343 #[inline(always)]
344 pub fn sclo(
345 self,
346 ) -> crate::common::RegisterField<
347 3,
348 0x1,
349 1,
350 0,
351 iccr1::Sclo,
352 iccr1::Sclo,
353 Iccr1_SPEC,
354 crate::common::RW,
355 > {
356 crate::common::RegisterField::<
357 3,
358 0x1,
359 1,
360 0,
361 iccr1::Sclo,
362 iccr1::Sclo,
363 Iccr1_SPEC,
364 crate::common::RW,
365 >::from_register(self, 0)
366 }
367
368 #[doc = "SCLO/SDAO Write Protect"]
369 #[inline(always)]
370 pub fn sowp(
371 self,
372 ) -> crate::common::RegisterField<
373 4,
374 0x1,
375 1,
376 0,
377 iccr1::Sowp,
378 iccr1::Sowp,
379 Iccr1_SPEC,
380 crate::common::W,
381 > {
382 crate::common::RegisterField::<
383 4,
384 0x1,
385 1,
386 0,
387 iccr1::Sowp,
388 iccr1::Sowp,
389 Iccr1_SPEC,
390 crate::common::W,
391 >::from_register(self, 0)
392 }
393
394 #[doc = "Extra SCL Clock Cycle Output"]
395 #[inline(always)]
396 pub fn clo(
397 self,
398 ) -> crate::common::RegisterField<
399 5,
400 0x1,
401 1,
402 0,
403 iccr1::Clo,
404 iccr1::Clo,
405 Iccr1_SPEC,
406 crate::common::RW,
407 > {
408 crate::common::RegisterField::<
409 5,
410 0x1,
411 1,
412 0,
413 iccr1::Clo,
414 iccr1::Clo,
415 Iccr1_SPEC,
416 crate::common::RW,
417 >::from_register(self, 0)
418 }
419
420 #[doc = "I2C Bus Interface Internal Reset"]
421 #[inline(always)]
422 pub fn iicrst(
423 self,
424 ) -> crate::common::RegisterField<
425 6,
426 0x1,
427 1,
428 0,
429 iccr1::Iicrst,
430 iccr1::Iicrst,
431 Iccr1_SPEC,
432 crate::common::RW,
433 > {
434 crate::common::RegisterField::<
435 6,
436 0x1,
437 1,
438 0,
439 iccr1::Iicrst,
440 iccr1::Iicrst,
441 Iccr1_SPEC,
442 crate::common::RW,
443 >::from_register(self, 0)
444 }
445
446 #[doc = "I2C Bus Interface Enable"]
447 #[inline(always)]
448 pub fn ice(
449 self,
450 ) -> crate::common::RegisterField<
451 7,
452 0x1,
453 1,
454 0,
455 iccr1::Ice,
456 iccr1::Ice,
457 Iccr1_SPEC,
458 crate::common::RW,
459 > {
460 crate::common::RegisterField::<
461 7,
462 0x1,
463 1,
464 0,
465 iccr1::Ice,
466 iccr1::Ice,
467 Iccr1_SPEC,
468 crate::common::RW,
469 >::from_register(self, 0)
470 }
471}
472impl ::core::default::Default for Iccr1 {
473 #[inline(always)]
474 fn default() -> Iccr1 {
475 <crate::RegValueT<Iccr1_SPEC> as RegisterValue<_>>::new(31)
476 }
477}
478pub mod iccr1 {
479
480 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
481 pub struct Sdai_SPEC;
482 pub type Sdai = crate::EnumBitfieldStruct<u8, Sdai_SPEC>;
483 impl Sdai {
484 #[doc = "SDAn line is low"]
485 pub const _0: Self = Self::new(0);
486
487 #[doc = "SDAn line is high"]
488 pub const _1: Self = Self::new(1);
489 }
490 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
491 pub struct Scli_SPEC;
492 pub type Scli = crate::EnumBitfieldStruct<u8, Scli_SPEC>;
493 impl Scli {
494 #[doc = "SCLn line is low"]
495 pub const _0: Self = Self::new(0);
496
497 #[doc = "SCLn line is high"]
498 pub const _1: Self = Self::new(1);
499 }
500 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
501 pub struct Sdao_SPEC;
502 pub type Sdao = crate::EnumBitfieldStruct<u8, Sdao_SPEC>;
503 impl Sdao {
504 #[doc = "Read: IIC drives SDAn pin low Write: IIC drives SDAn pin low"]
505 pub const _0: Self = Self::new(0);
506
507 #[doc = "Read: IIC releases SDAn pin Write: IIC releases SDAn pin"]
508 pub const _1: Self = Self::new(1);
509 }
510 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
511 pub struct Sclo_SPEC;
512 pub type Sclo = crate::EnumBitfieldStruct<u8, Sclo_SPEC>;
513 impl Sclo {
514 #[doc = "Read: IIC drives SCLn pin low Write: IIC drives SCLn pin low"]
515 pub const _0: Self = Self::new(0);
516
517 #[doc = "Read: IIC releases SCLn pin Write: IIC releases SCLn pin"]
518 pub const _1: Self = Self::new(1);
519 }
520 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
521 pub struct Sowp_SPEC;
522 pub type Sowp = crate::EnumBitfieldStruct<u8, Sowp_SPEC>;
523 impl Sowp {
524 #[doc = "Write enable SCLO and SDAO bits"]
525 pub const _0: Self = Self::new(0);
526
527 #[doc = "Write protect SCLO and SDAO bits"]
528 pub const _1: Self = Self::new(1);
529 }
530 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
531 pub struct Clo_SPEC;
532 pub type Clo = crate::EnumBitfieldStruct<u8, Clo_SPEC>;
533 impl Clo {
534 #[doc = "Do not output extra SCL clock cycle (default)"]
535 pub const _0: Self = Self::new(0);
536
537 #[doc = "Output extra SCL clock cycle"]
538 pub const _1: Self = Self::new(1);
539 }
540 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
541 pub struct Iicrst_SPEC;
542 pub type Iicrst = crate::EnumBitfieldStruct<u8, Iicrst_SPEC>;
543 impl Iicrst {
544 #[doc = "Release IIC reset or internal reset"]
545 pub const _0: Self = Self::new(0);
546
547 #[doc = "Initiate IIC reset or internal reset"]
548 pub const _1: Self = Self::new(1);
549 }
550 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
551 pub struct Ice_SPEC;
552 pub type Ice = crate::EnumBitfieldStruct<u8, Ice_SPEC>;
553 impl Ice {
554 #[doc = "Disable (SCLn and SDAn pins in inactive state)"]
555 pub const _0: Self = Self::new(0);
556
557 #[doc = "Enable (SCLn and SDAn pins in active state)"]
558 pub const _1: Self = Self::new(1);
559 }
560}
561#[doc(hidden)]
562#[derive(Copy, Clone, Eq, PartialEq)]
563pub struct Iccr2_SPEC;
564impl crate::sealed::RegSpec for Iccr2_SPEC {
565 type DataType = u8;
566}
567
568#[doc = "I2C Bus Control Register 2"]
569pub type Iccr2 = crate::RegValueT<Iccr2_SPEC>;
570
571impl Iccr2 {
572 #[doc = "Start Condition Issuance Request"]
573 #[inline(always)]
574 pub fn st(
575 self,
576 ) -> crate::common::RegisterField<
577 1,
578 0x1,
579 1,
580 0,
581 iccr2::St,
582 iccr2::St,
583 Iccr2_SPEC,
584 crate::common::RW,
585 > {
586 crate::common::RegisterField::<
587 1,
588 0x1,
589 1,
590 0,
591 iccr2::St,
592 iccr2::St,
593 Iccr2_SPEC,
594 crate::common::RW,
595 >::from_register(self, 0)
596 }
597
598 #[doc = "Restart Condition Issuance Request"]
599 #[inline(always)]
600 pub fn rs(
601 self,
602 ) -> crate::common::RegisterField<
603 2,
604 0x1,
605 1,
606 0,
607 iccr2::Rs,
608 iccr2::Rs,
609 Iccr2_SPEC,
610 crate::common::RW,
611 > {
612 crate::common::RegisterField::<
613 2,
614 0x1,
615 1,
616 0,
617 iccr2::Rs,
618 iccr2::Rs,
619 Iccr2_SPEC,
620 crate::common::RW,
621 >::from_register(self, 0)
622 }
623
624 #[doc = "Stop Condition Issuance Request"]
625 #[inline(always)]
626 pub fn sp(
627 self,
628 ) -> crate::common::RegisterField<
629 3,
630 0x1,
631 1,
632 0,
633 iccr2::Sp,
634 iccr2::Sp,
635 Iccr2_SPEC,
636 crate::common::RW,
637 > {
638 crate::common::RegisterField::<
639 3,
640 0x1,
641 1,
642 0,
643 iccr2::Sp,
644 iccr2::Sp,
645 Iccr2_SPEC,
646 crate::common::RW,
647 >::from_register(self, 0)
648 }
649
650 #[doc = "Transmit/Receive Mode"]
651 #[inline(always)]
652 pub fn trs(
653 self,
654 ) -> crate::common::RegisterField<
655 5,
656 0x1,
657 1,
658 0,
659 iccr2::Trs,
660 iccr2::Trs,
661 Iccr2_SPEC,
662 crate::common::RW,
663 > {
664 crate::common::RegisterField::<
665 5,
666 0x1,
667 1,
668 0,
669 iccr2::Trs,
670 iccr2::Trs,
671 Iccr2_SPEC,
672 crate::common::RW,
673 >::from_register(self, 0)
674 }
675
676 #[doc = "Master/Slave Mode"]
677 #[inline(always)]
678 pub fn mst(
679 self,
680 ) -> crate::common::RegisterField<
681 6,
682 0x1,
683 1,
684 0,
685 iccr2::Mst,
686 iccr2::Mst,
687 Iccr2_SPEC,
688 crate::common::RW,
689 > {
690 crate::common::RegisterField::<
691 6,
692 0x1,
693 1,
694 0,
695 iccr2::Mst,
696 iccr2::Mst,
697 Iccr2_SPEC,
698 crate::common::RW,
699 >::from_register(self, 0)
700 }
701
702 #[doc = "Bus Busy Detection Flag"]
703 #[inline(always)]
704 pub fn bbsy(
705 self,
706 ) -> crate::common::RegisterField<
707 7,
708 0x1,
709 1,
710 0,
711 iccr2::Bbsy,
712 iccr2::Bbsy,
713 Iccr2_SPEC,
714 crate::common::R,
715 > {
716 crate::common::RegisterField::<
717 7,
718 0x1,
719 1,
720 0,
721 iccr2::Bbsy,
722 iccr2::Bbsy,
723 Iccr2_SPEC,
724 crate::common::R,
725 >::from_register(self, 0)
726 }
727}
728impl ::core::default::Default for Iccr2 {
729 #[inline(always)]
730 fn default() -> Iccr2 {
731 <crate::RegValueT<Iccr2_SPEC> as RegisterValue<_>>::new(0)
732 }
733}
734pub mod iccr2 {
735
736 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
737 pub struct St_SPEC;
738 pub type St = crate::EnumBitfieldStruct<u8, St_SPEC>;
739 impl St {
740 #[doc = "Do not issue a start condition request"]
741 pub const _0: Self = Self::new(0);
742
743 #[doc = "Issue a start condition request"]
744 pub const _1: Self = Self::new(1);
745 }
746 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
747 pub struct Rs_SPEC;
748 pub type Rs = crate::EnumBitfieldStruct<u8, Rs_SPEC>;
749 impl Rs {
750 #[doc = "Do not issue a restart condition request"]
751 pub const _0: Self = Self::new(0);
752
753 #[doc = "Issue a restart condition request"]
754 pub const _1: Self = Self::new(1);
755 }
756 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
757 pub struct Sp_SPEC;
758 pub type Sp = crate::EnumBitfieldStruct<u8, Sp_SPEC>;
759 impl Sp {
760 #[doc = "Do not issue a stop condition request"]
761 pub const _0: Self = Self::new(0);
762
763 #[doc = "Issue a stop condition request"]
764 pub const _1: Self = Self::new(1);
765 }
766 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
767 pub struct Trs_SPEC;
768 pub type Trs = crate::EnumBitfieldStruct<u8, Trs_SPEC>;
769 impl Trs {
770 #[doc = "Receive mode"]
771 pub const _0: Self = Self::new(0);
772
773 #[doc = "Transmit mode"]
774 pub const _1: Self = Self::new(1);
775 }
776 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
777 pub struct Mst_SPEC;
778 pub type Mst = crate::EnumBitfieldStruct<u8, Mst_SPEC>;
779 impl Mst {
780 #[doc = "Slave mode"]
781 pub const _0: Self = Self::new(0);
782
783 #[doc = "Master mode"]
784 pub const _1: Self = Self::new(1);
785 }
786 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
787 pub struct Bbsy_SPEC;
788 pub type Bbsy = crate::EnumBitfieldStruct<u8, Bbsy_SPEC>;
789 impl Bbsy {
790 #[doc = "I2C bus released (bus free state)"]
791 pub const _0: Self = Self::new(0);
792
793 #[doc = "I2C bus occupied (bus busy state)"]
794 pub const _1: Self = Self::new(1);
795 }
796}
797#[doc(hidden)]
798#[derive(Copy, Clone, Eq, PartialEq)]
799pub struct Icmr1_SPEC;
800impl crate::sealed::RegSpec for Icmr1_SPEC {
801 type DataType = u8;
802}
803
804#[doc = "I2C Bus Mode Register 1"]
805pub type Icmr1 = crate::RegValueT<Icmr1_SPEC>;
806
807impl Icmr1 {
808 #[doc = "Bit Counter"]
809 #[inline(always)]
810 pub fn bc(
811 self,
812 ) -> crate::common::RegisterField<
813 0,
814 0x7,
815 1,
816 0,
817 icmr1::Bc,
818 icmr1::Bc,
819 Icmr1_SPEC,
820 crate::common::RW,
821 > {
822 crate::common::RegisterField::<
823 0,
824 0x7,
825 1,
826 0,
827 icmr1::Bc,
828 icmr1::Bc,
829 Icmr1_SPEC,
830 crate::common::RW,
831 >::from_register(self, 0)
832 }
833
834 #[doc = "BC Write Protect"]
835 #[inline(always)]
836 pub fn bcwp(
837 self,
838 ) -> crate::common::RegisterField<
839 3,
840 0x1,
841 1,
842 0,
843 icmr1::Bcwp,
844 icmr1::Bcwp,
845 Icmr1_SPEC,
846 crate::common::W,
847 > {
848 crate::common::RegisterField::<
849 3,
850 0x1,
851 1,
852 0,
853 icmr1::Bcwp,
854 icmr1::Bcwp,
855 Icmr1_SPEC,
856 crate::common::W,
857 >::from_register(self, 0)
858 }
859
860 #[doc = "Internal Reference Clock Select"]
861 #[inline(always)]
862 pub fn cks(
863 self,
864 ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, u8, Icmr1_SPEC, crate::common::RW> {
865 crate::common::RegisterField::<4,0x7,1,0,u8,u8,Icmr1_SPEC,crate::common::RW>::from_register(self,0)
866 }
867
868 #[doc = "MST/TRS Write Protect"]
869 #[inline(always)]
870 pub fn mtwp(
871 self,
872 ) -> crate::common::RegisterField<
873 7,
874 0x1,
875 1,
876 0,
877 icmr1::Mtwp,
878 icmr1::Mtwp,
879 Icmr1_SPEC,
880 crate::common::RW,
881 > {
882 crate::common::RegisterField::<
883 7,
884 0x1,
885 1,
886 0,
887 icmr1::Mtwp,
888 icmr1::Mtwp,
889 Icmr1_SPEC,
890 crate::common::RW,
891 >::from_register(self, 0)
892 }
893}
894impl ::core::default::Default for Icmr1 {
895 #[inline(always)]
896 fn default() -> Icmr1 {
897 <crate::RegValueT<Icmr1_SPEC> as RegisterValue<_>>::new(8)
898 }
899}
900pub mod icmr1 {
901
902 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
903 pub struct Bc_SPEC;
904 pub type Bc = crate::EnumBitfieldStruct<u8, Bc_SPEC>;
905 impl Bc {
906 #[doc = "9 bits"]
907 pub const _000: Self = Self::new(0);
908
909 #[doc = "2 bits"]
910 pub const _001: Self = Self::new(1);
911
912 #[doc = "3 bits"]
913 pub const _010: Self = Self::new(2);
914
915 #[doc = "4 bits"]
916 pub const _011: Self = Self::new(3);
917
918 #[doc = "5 bits"]
919 pub const _100: Self = Self::new(4);
920
921 #[doc = "6 bits"]
922 pub const _101: Self = Self::new(5);
923
924 #[doc = "7 bits"]
925 pub const _110: Self = Self::new(6);
926
927 #[doc = "8 bits"]
928 pub const _111: Self = Self::new(7);
929 }
930 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
931 pub struct Bcwp_SPEC;
932 pub type Bcwp = crate::EnumBitfieldStruct<u8, Bcwp_SPEC>;
933 impl Bcwp {
934 #[doc = "Write enable BC\\[2:0\\] bits"]
935 pub const _0: Self = Self::new(0);
936
937 #[doc = "Write protect BC\\[2:0\\] bits"]
938 pub const _1: Self = Self::new(1);
939 }
940 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
941 pub struct Mtwp_SPEC;
942 pub type Mtwp = crate::EnumBitfieldStruct<u8, Mtwp_SPEC>;
943 impl Mtwp {
944 #[doc = "Write protect MST and TRS bits in ICCR2"]
945 pub const _0: Self = Self::new(0);
946
947 #[doc = "Write enable MST and TRS bits in ICCR2"]
948 pub const _1: Self = Self::new(1);
949 }
950}
951#[doc(hidden)]
952#[derive(Copy, Clone, Eq, PartialEq)]
953pub struct Icmr2_SPEC;
954impl crate::sealed::RegSpec for Icmr2_SPEC {
955 type DataType = u8;
956}
957
958#[doc = "I2C Bus Mode Register 2"]
959pub type Icmr2 = crate::RegValueT<Icmr2_SPEC>;
960
961impl Icmr2 {
962 #[doc = "Timeout Detection Time Select"]
963 #[inline(always)]
964 pub fn tmos(
965 self,
966 ) -> crate::common::RegisterField<
967 0,
968 0x1,
969 1,
970 0,
971 icmr2::Tmos,
972 icmr2::Tmos,
973 Icmr2_SPEC,
974 crate::common::RW,
975 > {
976 crate::common::RegisterField::<
977 0,
978 0x1,
979 1,
980 0,
981 icmr2::Tmos,
982 icmr2::Tmos,
983 Icmr2_SPEC,
984 crate::common::RW,
985 >::from_register(self, 0)
986 }
987
988 #[doc = "Timeout L Count Control"]
989 #[inline(always)]
990 pub fn tmol(
991 self,
992 ) -> crate::common::RegisterField<
993 1,
994 0x1,
995 1,
996 0,
997 icmr2::Tmol,
998 icmr2::Tmol,
999 Icmr2_SPEC,
1000 crate::common::RW,
1001 > {
1002 crate::common::RegisterField::<
1003 1,
1004 0x1,
1005 1,
1006 0,
1007 icmr2::Tmol,
1008 icmr2::Tmol,
1009 Icmr2_SPEC,
1010 crate::common::RW,
1011 >::from_register(self, 0)
1012 }
1013
1014 #[doc = "Timeout H Count Control"]
1015 #[inline(always)]
1016 pub fn tmoh(
1017 self,
1018 ) -> crate::common::RegisterField<
1019 2,
1020 0x1,
1021 1,
1022 0,
1023 icmr2::Tmoh,
1024 icmr2::Tmoh,
1025 Icmr2_SPEC,
1026 crate::common::RW,
1027 > {
1028 crate::common::RegisterField::<
1029 2,
1030 0x1,
1031 1,
1032 0,
1033 icmr2::Tmoh,
1034 icmr2::Tmoh,
1035 Icmr2_SPEC,
1036 crate::common::RW,
1037 >::from_register(self, 0)
1038 }
1039
1040 #[doc = "SDA Output Delay Counter"]
1041 #[inline(always)]
1042 pub fn sddl(
1043 self,
1044 ) -> crate::common::RegisterField<
1045 4,
1046 0x7,
1047 1,
1048 0,
1049 icmr2::Sddl,
1050 icmr2::Sddl,
1051 Icmr2_SPEC,
1052 crate::common::RW,
1053 > {
1054 crate::common::RegisterField::<
1055 4,
1056 0x7,
1057 1,
1058 0,
1059 icmr2::Sddl,
1060 icmr2::Sddl,
1061 Icmr2_SPEC,
1062 crate::common::RW,
1063 >::from_register(self, 0)
1064 }
1065
1066 #[doc = "SDA Output Delay Clock Source Select"]
1067 #[inline(always)]
1068 pub fn dlcs(
1069 self,
1070 ) -> crate::common::RegisterField<
1071 7,
1072 0x1,
1073 1,
1074 0,
1075 icmr2::Dlcs,
1076 icmr2::Dlcs,
1077 Icmr2_SPEC,
1078 crate::common::RW,
1079 > {
1080 crate::common::RegisterField::<
1081 7,
1082 0x1,
1083 1,
1084 0,
1085 icmr2::Dlcs,
1086 icmr2::Dlcs,
1087 Icmr2_SPEC,
1088 crate::common::RW,
1089 >::from_register(self, 0)
1090 }
1091}
1092impl ::core::default::Default for Icmr2 {
1093 #[inline(always)]
1094 fn default() -> Icmr2 {
1095 <crate::RegValueT<Icmr2_SPEC> as RegisterValue<_>>::new(6)
1096 }
1097}
1098pub mod icmr2 {
1099
1100 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1101 pub struct Tmos_SPEC;
1102 pub type Tmos = crate::EnumBitfieldStruct<u8, Tmos_SPEC>;
1103 impl Tmos {
1104 #[doc = "Select long mode"]
1105 pub const _0: Self = Self::new(0);
1106
1107 #[doc = "Select short mode"]
1108 pub const _1: Self = Self::new(1);
1109 }
1110 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1111 pub struct Tmol_SPEC;
1112 pub type Tmol = crate::EnumBitfieldStruct<u8, Tmol_SPEC>;
1113 impl Tmol {
1114 #[doc = "Disable count while SCLn line is low"]
1115 pub const _0: Self = Self::new(0);
1116
1117 #[doc = "Enable count while SCLn line is low"]
1118 pub const _1: Self = Self::new(1);
1119 }
1120 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1121 pub struct Tmoh_SPEC;
1122 pub type Tmoh = crate::EnumBitfieldStruct<u8, Tmoh_SPEC>;
1123 impl Tmoh {
1124 #[doc = "Disable count while SCLn line is high"]
1125 pub const _0: Self = Self::new(0);
1126
1127 #[doc = "Enable count while SCLn line is high"]
1128 pub const _1: Self = Self::new(1);
1129 }
1130 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1131 pub struct Sddl_SPEC;
1132 pub type Sddl = crate::EnumBitfieldStruct<u8, Sddl_SPEC>;
1133 impl Sddl {
1134 #[doc = "No output delay"]
1135 pub const _000: Self = Self::new(0);
1136
1137 #[doc = "1 IIC-phi cycle (When ICMR2.DLCS = 0 (IIC-phi)) 1 or 2 IIC-phi cycles (When ICMR2.DLCS = 1 (IIC-phi/2))"]
1138 pub const _001: Self = Self::new(1);
1139
1140 #[doc = "2 IIC-phi cycles (When ICMR2.DLCS = 0 (IIC-phi)) 3 or 4 IIC-phi cycles (When ICMR2.DLCS = 1 (IIC-phi/2))"]
1141 pub const _010: Self = Self::new(2);
1142
1143 #[doc = "3 IIC-phi cycles (When ICMR2.DLCS = 0 (IIC-phi)) 5 or 6 IIC-phi cycles (When ICMR2.DLCS = 1 (IIC-phi/2))"]
1144 pub const _011: Self = Self::new(3);
1145
1146 #[doc = "4 IIC-phi cycles (When ICMR2.DLCS = 0 (IIC-phi)) 7 or 8 IIC-phi cycles (When ICMR2.DLCS = 1 (IIC-phi/2))"]
1147 pub const _100: Self = Self::new(4);
1148
1149 #[doc = "5 IIC-phi cycles (When ICMR2.DLCS = 0 (IIC-phi)) 9 or 10 IIC-phi cycles (When ICMR2.DLCS = 1 (IIC-phi/2))"]
1150 pub const _101: Self = Self::new(5);
1151
1152 #[doc = "6 IIC-phi cycles (When ICMR2.DLCS = 0 (IIC-phi)) 11 or 12 IIC-phi cycles (When ICMR2.DLCS = 1 (IIC-phi/2))"]
1153 pub const _110: Self = Self::new(6);
1154
1155 #[doc = "7 IIC-phi cycles (When ICMR2.DLCS = 0 (IIC-phi)) 13 or 14 IIC-phi cycles (When ICMR2.DLCS = 1 (IIC-phi/2))"]
1156 pub const _111: Self = Self::new(7);
1157 }
1158 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1159 pub struct Dlcs_SPEC;
1160 pub type Dlcs = crate::EnumBitfieldStruct<u8, Dlcs_SPEC>;
1161 impl Dlcs {
1162 #[doc = "Select internal reference clock (IIC-phi) as the clock source for SDA output delay counter"]
1163 pub const _0: Self = Self::new(0);
1164
1165 #[doc = "Select internal reference clock divided by 2 (IIC-phi/2) as the clock source for SDA output delay counter"]
1166 pub const _1: Self = Self::new(1);
1167 }
1168}
1169#[doc(hidden)]
1170#[derive(Copy, Clone, Eq, PartialEq)]
1171pub struct Icmr3_SPEC;
1172impl crate::sealed::RegSpec for Icmr3_SPEC {
1173 type DataType = u8;
1174}
1175
1176#[doc = "I2C Bus Mode Register 3"]
1177pub type Icmr3 = crate::RegValueT<Icmr3_SPEC>;
1178
1179impl Icmr3 {
1180 #[doc = "Noise Filter Stage Select"]
1181 #[inline(always)]
1182 pub fn nf(
1183 self,
1184 ) -> crate::common::RegisterField<
1185 0,
1186 0x3,
1187 1,
1188 0,
1189 icmr3::Nf,
1190 icmr3::Nf,
1191 Icmr3_SPEC,
1192 crate::common::RW,
1193 > {
1194 crate::common::RegisterField::<
1195 0,
1196 0x3,
1197 1,
1198 0,
1199 icmr3::Nf,
1200 icmr3::Nf,
1201 Icmr3_SPEC,
1202 crate::common::RW,
1203 >::from_register(self, 0)
1204 }
1205
1206 #[doc = "Receive Acknowledge"]
1207 #[inline(always)]
1208 pub fn ackbr(
1209 self,
1210 ) -> crate::common::RegisterField<
1211 2,
1212 0x1,
1213 1,
1214 0,
1215 icmr3::Ackbr,
1216 icmr3::Ackbr,
1217 Icmr3_SPEC,
1218 crate::common::R,
1219 > {
1220 crate::common::RegisterField::<
1221 2,
1222 0x1,
1223 1,
1224 0,
1225 icmr3::Ackbr,
1226 icmr3::Ackbr,
1227 Icmr3_SPEC,
1228 crate::common::R,
1229 >::from_register(self, 0)
1230 }
1231
1232 #[doc = "Transmit Acknowledge"]
1233 #[inline(always)]
1234 pub fn ackbt(
1235 self,
1236 ) -> crate::common::RegisterField<
1237 3,
1238 0x1,
1239 1,
1240 0,
1241 icmr3::Ackbt,
1242 icmr3::Ackbt,
1243 Icmr3_SPEC,
1244 crate::common::RW,
1245 > {
1246 crate::common::RegisterField::<
1247 3,
1248 0x1,
1249 1,
1250 0,
1251 icmr3::Ackbt,
1252 icmr3::Ackbt,
1253 Icmr3_SPEC,
1254 crate::common::RW,
1255 >::from_register(self, 0)
1256 }
1257
1258 #[doc = "ACKBT Write Protect"]
1259 #[inline(always)]
1260 pub fn ackwp(
1261 self,
1262 ) -> crate::common::RegisterField<
1263 4,
1264 0x1,
1265 1,
1266 0,
1267 icmr3::Ackwp,
1268 icmr3::Ackwp,
1269 Icmr3_SPEC,
1270 crate::common::RW,
1271 > {
1272 crate::common::RegisterField::<
1273 4,
1274 0x1,
1275 1,
1276 0,
1277 icmr3::Ackwp,
1278 icmr3::Ackwp,
1279 Icmr3_SPEC,
1280 crate::common::RW,
1281 >::from_register(self, 0)
1282 }
1283
1284 #[doc = "RDRF Flag Set Timing Select"]
1285 #[inline(always)]
1286 pub fn rdrfs(
1287 self,
1288 ) -> crate::common::RegisterField<
1289 5,
1290 0x1,
1291 1,
1292 0,
1293 icmr3::Rdrfs,
1294 icmr3::Rdrfs,
1295 Icmr3_SPEC,
1296 crate::common::RW,
1297 > {
1298 crate::common::RegisterField::<
1299 5,
1300 0x1,
1301 1,
1302 0,
1303 icmr3::Rdrfs,
1304 icmr3::Rdrfs,
1305 Icmr3_SPEC,
1306 crate::common::RW,
1307 >::from_register(self, 0)
1308 }
1309
1310 #[doc = "Low-hold is released by reading ICDRR."]
1311 #[inline(always)]
1312 pub fn wait(
1313 self,
1314 ) -> crate::common::RegisterField<
1315 6,
1316 0x1,
1317 1,
1318 0,
1319 icmr3::Wait,
1320 icmr3::Wait,
1321 Icmr3_SPEC,
1322 crate::common::RW,
1323 > {
1324 crate::common::RegisterField::<
1325 6,
1326 0x1,
1327 1,
1328 0,
1329 icmr3::Wait,
1330 icmr3::Wait,
1331 Icmr3_SPEC,
1332 crate::common::RW,
1333 >::from_register(self, 0)
1334 }
1335
1336 #[doc = "SMBus/I2C Bus Select"]
1337 #[inline(always)]
1338 pub fn smbs(
1339 self,
1340 ) -> crate::common::RegisterField<
1341 7,
1342 0x1,
1343 1,
1344 0,
1345 icmr3::Smbs,
1346 icmr3::Smbs,
1347 Icmr3_SPEC,
1348 crate::common::RW,
1349 > {
1350 crate::common::RegisterField::<
1351 7,
1352 0x1,
1353 1,
1354 0,
1355 icmr3::Smbs,
1356 icmr3::Smbs,
1357 Icmr3_SPEC,
1358 crate::common::RW,
1359 >::from_register(self, 0)
1360 }
1361}
1362impl ::core::default::Default for Icmr3 {
1363 #[inline(always)]
1364 fn default() -> Icmr3 {
1365 <crate::RegValueT<Icmr3_SPEC> as RegisterValue<_>>::new(0)
1366 }
1367}
1368pub mod icmr3 {
1369
1370 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1371 pub struct Nf_SPEC;
1372 pub type Nf = crate::EnumBitfieldStruct<u8, Nf_SPEC>;
1373 impl Nf {
1374 #[doc = "Filter out noise of up to 1 IIC-phi cycle (single-stage filter)"]
1375 pub const _00: Self = Self::new(0);
1376
1377 #[doc = "Filter out noise of up to 2 IIC-phi cycles (2-stage filter)"]
1378 pub const _01: Self = Self::new(1);
1379
1380 #[doc = "Filter out noise of up to 3 IIC-phi cycles (3-stage filter)"]
1381 pub const _10: Self = Self::new(2);
1382
1383 #[doc = "Filter out noise of up to 4 IIC-phi cycles (4-stage filter)"]
1384 pub const _11: Self = Self::new(3);
1385 }
1386 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1387 pub struct Ackbr_SPEC;
1388 pub type Ackbr = crate::EnumBitfieldStruct<u8, Ackbr_SPEC>;
1389 impl Ackbr {
1390 #[doc = "0 received as the acknowledge bit (ACK reception)"]
1391 pub const _0: Self = Self::new(0);
1392
1393 #[doc = "1 received as the acknowledge bit (NACK reception)"]
1394 pub const _1: Self = Self::new(1);
1395 }
1396 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1397 pub struct Ackbt_SPEC;
1398 pub type Ackbt = crate::EnumBitfieldStruct<u8, Ackbt_SPEC>;
1399 impl Ackbt {
1400 #[doc = "Send 0 as the acknowledge bit (ACK transmission)"]
1401 pub const _0: Self = Self::new(0);
1402
1403 #[doc = "Send 1 as the acknowledge bit (NACK transmission)"]
1404 pub const _1: Self = Self::new(1);
1405 }
1406 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1407 pub struct Ackwp_SPEC;
1408 pub type Ackwp = crate::EnumBitfieldStruct<u8, Ackwp_SPEC>;
1409 impl Ackwp {
1410 #[doc = "Write protect ACKBT bit"]
1411 pub const _0: Self = Self::new(0);
1412
1413 #[doc = "Write enable ACKBT bit"]
1414 pub const _1: Self = Self::new(1);
1415 }
1416 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1417 pub struct Rdrfs_SPEC;
1418 pub type Rdrfs = crate::EnumBitfieldStruct<u8, Rdrfs_SPEC>;
1419 impl Rdrfs {
1420 #[doc = "Set the RDRF flag on the rising edge of the 9th SCL clock cycle. The SCLn line is not held low on the falling edge of the 8th clock cycle."]
1421 pub const _0: Self = Self::new(0);
1422
1423 #[doc = "Set the RDRF flag on the rising edge of the 8th SCL clock cycle. The SCLn line is held low on the falling edge of the 8th clock cycle."]
1424 pub const _1: Self = Self::new(1);
1425 }
1426 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1427 pub struct Wait_SPEC;
1428 pub type Wait = crate::EnumBitfieldStruct<u8, Wait_SPEC>;
1429 impl Wait {
1430 #[doc = "No wait (The SCLn line is not held low during the period between the 9th clock cycle and the 1st clock cycle.)"]
1431 pub const _0: Self = Self::new(0);
1432
1433 #[doc = "Wait (The SCLn line is held low during the period between the 9th clock cycle and the 1st clock cycle.)"]
1434 pub const _1: Self = Self::new(1);
1435 }
1436 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1437 pub struct Smbs_SPEC;
1438 pub type Smbs = crate::EnumBitfieldStruct<u8, Smbs_SPEC>;
1439 impl Smbs {
1440 #[doc = "Select I2C Bus"]
1441 pub const _0: Self = Self::new(0);
1442
1443 #[doc = "Select SMBus"]
1444 pub const _1: Self = Self::new(1);
1445 }
1446}
1447#[doc(hidden)]
1448#[derive(Copy, Clone, Eq, PartialEq)]
1449pub struct Icfer_SPEC;
1450impl crate::sealed::RegSpec for Icfer_SPEC {
1451 type DataType = u8;
1452}
1453
1454#[doc = "I2C Bus Function Enable Register"]
1455pub type Icfer = crate::RegValueT<Icfer_SPEC>;
1456
1457impl Icfer {
1458 #[doc = "Timeout Function Enable"]
1459 #[inline(always)]
1460 pub fn tmoe(
1461 self,
1462 ) -> crate::common::RegisterField<
1463 0,
1464 0x1,
1465 1,
1466 0,
1467 icfer::Tmoe,
1468 icfer::Tmoe,
1469 Icfer_SPEC,
1470 crate::common::RW,
1471 > {
1472 crate::common::RegisterField::<
1473 0,
1474 0x1,
1475 1,
1476 0,
1477 icfer::Tmoe,
1478 icfer::Tmoe,
1479 Icfer_SPEC,
1480 crate::common::RW,
1481 >::from_register(self, 0)
1482 }
1483
1484 #[doc = "Master Arbitration-Lost Detection Enable"]
1485 #[inline(always)]
1486 pub fn male(
1487 self,
1488 ) -> crate::common::RegisterField<
1489 1,
1490 0x1,
1491 1,
1492 0,
1493 icfer::Male,
1494 icfer::Male,
1495 Icfer_SPEC,
1496 crate::common::RW,
1497 > {
1498 crate::common::RegisterField::<
1499 1,
1500 0x1,
1501 1,
1502 0,
1503 icfer::Male,
1504 icfer::Male,
1505 Icfer_SPEC,
1506 crate::common::RW,
1507 >::from_register(self, 0)
1508 }
1509
1510 #[doc = "NACK Transmission Arbitration-Lost Detection Enable"]
1511 #[inline(always)]
1512 pub fn nale(
1513 self,
1514 ) -> crate::common::RegisterField<
1515 2,
1516 0x1,
1517 1,
1518 0,
1519 icfer::Nale,
1520 icfer::Nale,
1521 Icfer_SPEC,
1522 crate::common::RW,
1523 > {
1524 crate::common::RegisterField::<
1525 2,
1526 0x1,
1527 1,
1528 0,
1529 icfer::Nale,
1530 icfer::Nale,
1531 Icfer_SPEC,
1532 crate::common::RW,
1533 >::from_register(self, 0)
1534 }
1535
1536 #[doc = "Slave Arbitration-Lost Detection Enable"]
1537 #[inline(always)]
1538 pub fn sale(
1539 self,
1540 ) -> crate::common::RegisterField<
1541 3,
1542 0x1,
1543 1,
1544 0,
1545 icfer::Sale,
1546 icfer::Sale,
1547 Icfer_SPEC,
1548 crate::common::RW,
1549 > {
1550 crate::common::RegisterField::<
1551 3,
1552 0x1,
1553 1,
1554 0,
1555 icfer::Sale,
1556 icfer::Sale,
1557 Icfer_SPEC,
1558 crate::common::RW,
1559 >::from_register(self, 0)
1560 }
1561
1562 #[doc = "NACK Reception Transfer Suspension Enable"]
1563 #[inline(always)]
1564 pub fn nacke(
1565 self,
1566 ) -> crate::common::RegisterField<
1567 4,
1568 0x1,
1569 1,
1570 0,
1571 icfer::Nacke,
1572 icfer::Nacke,
1573 Icfer_SPEC,
1574 crate::common::RW,
1575 > {
1576 crate::common::RegisterField::<
1577 4,
1578 0x1,
1579 1,
1580 0,
1581 icfer::Nacke,
1582 icfer::Nacke,
1583 Icfer_SPEC,
1584 crate::common::RW,
1585 >::from_register(self, 0)
1586 }
1587
1588 #[doc = "Digital Noise Filter Circuit Enable"]
1589 #[inline(always)]
1590 pub fn nfe(
1591 self,
1592 ) -> crate::common::RegisterField<
1593 5,
1594 0x1,
1595 1,
1596 0,
1597 icfer::Nfe,
1598 icfer::Nfe,
1599 Icfer_SPEC,
1600 crate::common::RW,
1601 > {
1602 crate::common::RegisterField::<
1603 5,
1604 0x1,
1605 1,
1606 0,
1607 icfer::Nfe,
1608 icfer::Nfe,
1609 Icfer_SPEC,
1610 crate::common::RW,
1611 >::from_register(self, 0)
1612 }
1613
1614 #[doc = "SCL Synchronous Circuit Enable"]
1615 #[inline(always)]
1616 pub fn scle(
1617 self,
1618 ) -> crate::common::RegisterField<
1619 6,
1620 0x1,
1621 1,
1622 0,
1623 icfer::Scle,
1624 icfer::Scle,
1625 Icfer_SPEC,
1626 crate::common::RW,
1627 > {
1628 crate::common::RegisterField::<
1629 6,
1630 0x1,
1631 1,
1632 0,
1633 icfer::Scle,
1634 icfer::Scle,
1635 Icfer_SPEC,
1636 crate::common::RW,
1637 >::from_register(self, 0)
1638 }
1639
1640 #[doc = "Fast-Mode Plus Enable"]
1641 #[inline(always)]
1642 pub fn fmpe(
1643 self,
1644 ) -> crate::common::RegisterField<
1645 7,
1646 0x1,
1647 1,
1648 0,
1649 icfer::Fmpe,
1650 icfer::Fmpe,
1651 Icfer_SPEC,
1652 crate::common::RW,
1653 > {
1654 crate::common::RegisterField::<
1655 7,
1656 0x1,
1657 1,
1658 0,
1659 icfer::Fmpe,
1660 icfer::Fmpe,
1661 Icfer_SPEC,
1662 crate::common::RW,
1663 >::from_register(self, 0)
1664 }
1665}
1666impl ::core::default::Default for Icfer {
1667 #[inline(always)]
1668 fn default() -> Icfer {
1669 <crate::RegValueT<Icfer_SPEC> as RegisterValue<_>>::new(114)
1670 }
1671}
1672pub mod icfer {
1673
1674 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1675 pub struct Tmoe_SPEC;
1676 pub type Tmoe = crate::EnumBitfieldStruct<u8, Tmoe_SPEC>;
1677 impl Tmoe {
1678 #[doc = "Disable"]
1679 pub const _0: Self = Self::new(0);
1680
1681 #[doc = "Enable"]
1682 pub const _1: Self = Self::new(1);
1683 }
1684 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1685 pub struct Male_SPEC;
1686 pub type Male = crate::EnumBitfieldStruct<u8, Male_SPEC>;
1687 impl Male {
1688 #[doc = "Disable the arbitration-lost detection function and disable automatic clearing of the MST and TRS bits in ICCR2 when arbitration is lost"]
1689 pub const _0: Self = Self::new(0);
1690
1691 #[doc = "Enable the arbitration-lost detection function and enable automatic clearing of the MST and TRS bits in ICCR2 when arbitration is lost"]
1692 pub const _1: Self = Self::new(1);
1693 }
1694 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1695 pub struct Nale_SPEC;
1696 pub type Nale = crate::EnumBitfieldStruct<u8, Nale_SPEC>;
1697 impl Nale {
1698 #[doc = "Disable"]
1699 pub const _0: Self = Self::new(0);
1700
1701 #[doc = "Enable"]
1702 pub const _1: Self = Self::new(1);
1703 }
1704 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1705 pub struct Sale_SPEC;
1706 pub type Sale = crate::EnumBitfieldStruct<u8, Sale_SPEC>;
1707 impl Sale {
1708 #[doc = "Disable"]
1709 pub const _0: Self = Self::new(0);
1710
1711 #[doc = "Enable"]
1712 pub const _1: Self = Self::new(1);
1713 }
1714 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1715 pub struct Nacke_SPEC;
1716 pub type Nacke = crate::EnumBitfieldStruct<u8, Nacke_SPEC>;
1717 impl Nacke {
1718 #[doc = "Do not suspend transfer operation during NACK reception (disable transfer suspension)"]
1719 pub const _0: Self = Self::new(0);
1720
1721 #[doc = "Suspend transfer operation during NACK reception (enable transfer suspension)"]
1722 pub const _1: Self = Self::new(1);
1723 }
1724 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1725 pub struct Nfe_SPEC;
1726 pub type Nfe = crate::EnumBitfieldStruct<u8, Nfe_SPEC>;
1727 impl Nfe {
1728 #[doc = "Do not use the digital noise filter circuit"]
1729 pub const _0: Self = Self::new(0);
1730
1731 #[doc = "Use the digital noise filter circuit"]
1732 pub const _1: Self = Self::new(1);
1733 }
1734 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1735 pub struct Scle_SPEC;
1736 pub type Scle = crate::EnumBitfieldStruct<u8, Scle_SPEC>;
1737 impl Scle {
1738 #[doc = "Do not use the SCL synchronous circuit"]
1739 pub const _0: Self = Self::new(0);
1740
1741 #[doc = "Use the SCL synchronous circuit"]
1742 pub const _1: Self = Self::new(1);
1743 }
1744 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1745 pub struct Fmpe_SPEC;
1746 pub type Fmpe = crate::EnumBitfieldStruct<u8, Fmpe_SPEC>;
1747 impl Fmpe {
1748 #[doc = "Do not use the Fm+ slope control circuit for the SCLn and SDAn pins"]
1749 pub const _0: Self = Self::new(0);
1750
1751 #[doc = "Use the Fm+ slope control circuit for the SCLn and SDAn pins."]
1752 pub const _1: Self = Self::new(1);
1753 }
1754}
1755#[doc(hidden)]
1756#[derive(Copy, Clone, Eq, PartialEq)]
1757pub struct Icser_SPEC;
1758impl crate::sealed::RegSpec for Icser_SPEC {
1759 type DataType = u8;
1760}
1761
1762#[doc = "I2C Bus Status Enable Register"]
1763pub type Icser = crate::RegValueT<Icser_SPEC>;
1764
1765impl Icser {
1766 #[doc = "Slave Address Register 0 Enable"]
1767 #[inline(always)]
1768 pub fn sar0e(
1769 self,
1770 ) -> crate::common::RegisterField<
1771 0,
1772 0x1,
1773 1,
1774 0,
1775 icser::Sar0E,
1776 icser::Sar0E,
1777 Icser_SPEC,
1778 crate::common::RW,
1779 > {
1780 crate::common::RegisterField::<
1781 0,
1782 0x1,
1783 1,
1784 0,
1785 icser::Sar0E,
1786 icser::Sar0E,
1787 Icser_SPEC,
1788 crate::common::RW,
1789 >::from_register(self, 0)
1790 }
1791
1792 #[doc = "Slave Address Register 1 Enable"]
1793 #[inline(always)]
1794 pub fn sar1e(
1795 self,
1796 ) -> crate::common::RegisterField<
1797 1,
1798 0x1,
1799 1,
1800 0,
1801 icser::Sar1E,
1802 icser::Sar1E,
1803 Icser_SPEC,
1804 crate::common::RW,
1805 > {
1806 crate::common::RegisterField::<
1807 1,
1808 0x1,
1809 1,
1810 0,
1811 icser::Sar1E,
1812 icser::Sar1E,
1813 Icser_SPEC,
1814 crate::common::RW,
1815 >::from_register(self, 0)
1816 }
1817
1818 #[doc = "Slave Address Register 2 Enable"]
1819 #[inline(always)]
1820 pub fn sar2e(
1821 self,
1822 ) -> crate::common::RegisterField<
1823 2,
1824 0x1,
1825 1,
1826 0,
1827 icser::Sar2E,
1828 icser::Sar2E,
1829 Icser_SPEC,
1830 crate::common::RW,
1831 > {
1832 crate::common::RegisterField::<
1833 2,
1834 0x1,
1835 1,
1836 0,
1837 icser::Sar2E,
1838 icser::Sar2E,
1839 Icser_SPEC,
1840 crate::common::RW,
1841 >::from_register(self, 0)
1842 }
1843
1844 #[doc = "General Call Address Enable"]
1845 #[inline(always)]
1846 pub fn gcae(
1847 self,
1848 ) -> crate::common::RegisterField<
1849 3,
1850 0x1,
1851 1,
1852 0,
1853 icser::Gcae,
1854 icser::Gcae,
1855 Icser_SPEC,
1856 crate::common::RW,
1857 > {
1858 crate::common::RegisterField::<
1859 3,
1860 0x1,
1861 1,
1862 0,
1863 icser::Gcae,
1864 icser::Gcae,
1865 Icser_SPEC,
1866 crate::common::RW,
1867 >::from_register(self, 0)
1868 }
1869
1870 #[doc = "Device-ID Address Detection Enable"]
1871 #[inline(always)]
1872 pub fn dide(
1873 self,
1874 ) -> crate::common::RegisterField<
1875 5,
1876 0x1,
1877 1,
1878 0,
1879 icser::Dide,
1880 icser::Dide,
1881 Icser_SPEC,
1882 crate::common::RW,
1883 > {
1884 crate::common::RegisterField::<
1885 5,
1886 0x1,
1887 1,
1888 0,
1889 icser::Dide,
1890 icser::Dide,
1891 Icser_SPEC,
1892 crate::common::RW,
1893 >::from_register(self, 0)
1894 }
1895
1896 #[doc = "Host Address Enable"]
1897 #[inline(always)]
1898 pub fn hoae(
1899 self,
1900 ) -> crate::common::RegisterField<
1901 7,
1902 0x1,
1903 1,
1904 0,
1905 icser::Hoae,
1906 icser::Hoae,
1907 Icser_SPEC,
1908 crate::common::RW,
1909 > {
1910 crate::common::RegisterField::<
1911 7,
1912 0x1,
1913 1,
1914 0,
1915 icser::Hoae,
1916 icser::Hoae,
1917 Icser_SPEC,
1918 crate::common::RW,
1919 >::from_register(self, 0)
1920 }
1921}
1922impl ::core::default::Default for Icser {
1923 #[inline(always)]
1924 fn default() -> Icser {
1925 <crate::RegValueT<Icser_SPEC> as RegisterValue<_>>::new(9)
1926 }
1927}
1928pub mod icser {
1929
1930 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1931 pub struct Sar0E_SPEC;
1932 pub type Sar0E = crate::EnumBitfieldStruct<u8, Sar0E_SPEC>;
1933 impl Sar0E {
1934 #[doc = "Disable slave address in SARL0 and SARU0"]
1935 pub const _0: Self = Self::new(0);
1936
1937 #[doc = "Enable slave address in SARL0 and SARU0"]
1938 pub const _1: Self = Self::new(1);
1939 }
1940 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1941 pub struct Sar1E_SPEC;
1942 pub type Sar1E = crate::EnumBitfieldStruct<u8, Sar1E_SPEC>;
1943 impl Sar1E {
1944 #[doc = "Disable slave address in SARL1 and SARU1"]
1945 pub const _0: Self = Self::new(0);
1946
1947 #[doc = "Enable slave address in SARL1 and SARU1"]
1948 pub const _1: Self = Self::new(1);
1949 }
1950 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1951 pub struct Sar2E_SPEC;
1952 pub type Sar2E = crate::EnumBitfieldStruct<u8, Sar2E_SPEC>;
1953 impl Sar2E {
1954 #[doc = "Disable slave address in SARL2 and SARU2"]
1955 pub const _0: Self = Self::new(0);
1956
1957 #[doc = "Enable slave address in SARL2 and SARU2"]
1958 pub const _1: Self = Self::new(1);
1959 }
1960 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1961 pub struct Gcae_SPEC;
1962 pub type Gcae = crate::EnumBitfieldStruct<u8, Gcae_SPEC>;
1963 impl Gcae {
1964 #[doc = "Disable general call address detection"]
1965 pub const _0: Self = Self::new(0);
1966
1967 #[doc = "Enable general call address detection"]
1968 pub const _1: Self = Self::new(1);
1969 }
1970 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1971 pub struct Dide_SPEC;
1972 pub type Dide = crate::EnumBitfieldStruct<u8, Dide_SPEC>;
1973 impl Dide {
1974 #[doc = "Disable device-ID address detection"]
1975 pub const _0: Self = Self::new(0);
1976
1977 #[doc = "Enable device-ID address detection"]
1978 pub const _1: Self = Self::new(1);
1979 }
1980 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1981 pub struct Hoae_SPEC;
1982 pub type Hoae = crate::EnumBitfieldStruct<u8, Hoae_SPEC>;
1983 impl Hoae {
1984 #[doc = "Disable host address detection"]
1985 pub const _0: Self = Self::new(0);
1986
1987 #[doc = "Enable host address detection"]
1988 pub const _1: Self = Self::new(1);
1989 }
1990}
1991#[doc(hidden)]
1992#[derive(Copy, Clone, Eq, PartialEq)]
1993pub struct Icier_SPEC;
1994impl crate::sealed::RegSpec for Icier_SPEC {
1995 type DataType = u8;
1996}
1997
1998#[doc = "I2C Bus Interrupt Enable Register"]
1999pub type Icier = crate::RegValueT<Icier_SPEC>;
2000
2001impl Icier {
2002 #[doc = "Timeout Interrupt Request Enable"]
2003 #[inline(always)]
2004 pub fn tmoie(
2005 self,
2006 ) -> crate::common::RegisterField<
2007 0,
2008 0x1,
2009 1,
2010 0,
2011 icier::Tmoie,
2012 icier::Tmoie,
2013 Icier_SPEC,
2014 crate::common::RW,
2015 > {
2016 crate::common::RegisterField::<
2017 0,
2018 0x1,
2019 1,
2020 0,
2021 icier::Tmoie,
2022 icier::Tmoie,
2023 Icier_SPEC,
2024 crate::common::RW,
2025 >::from_register(self, 0)
2026 }
2027
2028 #[doc = "Arbitration-Lost Interrupt Request Enable"]
2029 #[inline(always)]
2030 pub fn alie(
2031 self,
2032 ) -> crate::common::RegisterField<
2033 1,
2034 0x1,
2035 1,
2036 0,
2037 icier::Alie,
2038 icier::Alie,
2039 Icier_SPEC,
2040 crate::common::RW,
2041 > {
2042 crate::common::RegisterField::<
2043 1,
2044 0x1,
2045 1,
2046 0,
2047 icier::Alie,
2048 icier::Alie,
2049 Icier_SPEC,
2050 crate::common::RW,
2051 >::from_register(self, 0)
2052 }
2053
2054 #[doc = "Start Condition Detection Interrupt Request Enable"]
2055 #[inline(always)]
2056 pub fn stie(
2057 self,
2058 ) -> crate::common::RegisterField<
2059 2,
2060 0x1,
2061 1,
2062 0,
2063 icier::Stie,
2064 icier::Stie,
2065 Icier_SPEC,
2066 crate::common::RW,
2067 > {
2068 crate::common::RegisterField::<
2069 2,
2070 0x1,
2071 1,
2072 0,
2073 icier::Stie,
2074 icier::Stie,
2075 Icier_SPEC,
2076 crate::common::RW,
2077 >::from_register(self, 0)
2078 }
2079
2080 #[doc = "Stop Condition Detection Interrupt Request Enable"]
2081 #[inline(always)]
2082 pub fn spie(
2083 self,
2084 ) -> crate::common::RegisterField<
2085 3,
2086 0x1,
2087 1,
2088 0,
2089 icier::Spie,
2090 icier::Spie,
2091 Icier_SPEC,
2092 crate::common::RW,
2093 > {
2094 crate::common::RegisterField::<
2095 3,
2096 0x1,
2097 1,
2098 0,
2099 icier::Spie,
2100 icier::Spie,
2101 Icier_SPEC,
2102 crate::common::RW,
2103 >::from_register(self, 0)
2104 }
2105
2106 #[doc = "NACK Reception Interrupt Request Enable"]
2107 #[inline(always)]
2108 pub fn nakie(
2109 self,
2110 ) -> crate::common::RegisterField<
2111 4,
2112 0x1,
2113 1,
2114 0,
2115 icier::Nakie,
2116 icier::Nakie,
2117 Icier_SPEC,
2118 crate::common::RW,
2119 > {
2120 crate::common::RegisterField::<
2121 4,
2122 0x1,
2123 1,
2124 0,
2125 icier::Nakie,
2126 icier::Nakie,
2127 Icier_SPEC,
2128 crate::common::RW,
2129 >::from_register(self, 0)
2130 }
2131
2132 #[doc = "Receive Data Full Interrupt Request Enable"]
2133 #[inline(always)]
2134 pub fn rie(
2135 self,
2136 ) -> crate::common::RegisterField<
2137 5,
2138 0x1,
2139 1,
2140 0,
2141 icier::Rie,
2142 icier::Rie,
2143 Icier_SPEC,
2144 crate::common::RW,
2145 > {
2146 crate::common::RegisterField::<
2147 5,
2148 0x1,
2149 1,
2150 0,
2151 icier::Rie,
2152 icier::Rie,
2153 Icier_SPEC,
2154 crate::common::RW,
2155 >::from_register(self, 0)
2156 }
2157
2158 #[doc = "Transmit End Interrupt Request Enable"]
2159 #[inline(always)]
2160 pub fn teie(
2161 self,
2162 ) -> crate::common::RegisterField<
2163 6,
2164 0x1,
2165 1,
2166 0,
2167 icier::Teie,
2168 icier::Teie,
2169 Icier_SPEC,
2170 crate::common::RW,
2171 > {
2172 crate::common::RegisterField::<
2173 6,
2174 0x1,
2175 1,
2176 0,
2177 icier::Teie,
2178 icier::Teie,
2179 Icier_SPEC,
2180 crate::common::RW,
2181 >::from_register(self, 0)
2182 }
2183
2184 #[doc = "Transmit Data Empty Interrupt Request Enable"]
2185 #[inline(always)]
2186 pub fn tie(
2187 self,
2188 ) -> crate::common::RegisterField<
2189 7,
2190 0x1,
2191 1,
2192 0,
2193 icier::Tie,
2194 icier::Tie,
2195 Icier_SPEC,
2196 crate::common::RW,
2197 > {
2198 crate::common::RegisterField::<
2199 7,
2200 0x1,
2201 1,
2202 0,
2203 icier::Tie,
2204 icier::Tie,
2205 Icier_SPEC,
2206 crate::common::RW,
2207 >::from_register(self, 0)
2208 }
2209}
2210impl ::core::default::Default for Icier {
2211 #[inline(always)]
2212 fn default() -> Icier {
2213 <crate::RegValueT<Icier_SPEC> as RegisterValue<_>>::new(0)
2214 }
2215}
2216pub mod icier {
2217
2218 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2219 pub struct Tmoie_SPEC;
2220 pub type Tmoie = crate::EnumBitfieldStruct<u8, Tmoie_SPEC>;
2221 impl Tmoie {
2222 #[doc = "Disable timeout interrupt (TMOI) request"]
2223 pub const _0: Self = Self::new(0);
2224
2225 #[doc = "Enable timeout interrupt (TMOI) request"]
2226 pub const _1: Self = Self::new(1);
2227 }
2228 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2229 pub struct Alie_SPEC;
2230 pub type Alie = crate::EnumBitfieldStruct<u8, Alie_SPEC>;
2231 impl Alie {
2232 #[doc = "Disable arbitration-lost interrupt (ALI) request"]
2233 pub const _0: Self = Self::new(0);
2234
2235 #[doc = "Enable arbitration-lost interrupt (ALI) request"]
2236 pub const _1: Self = Self::new(1);
2237 }
2238 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2239 pub struct Stie_SPEC;
2240 pub type Stie = crate::EnumBitfieldStruct<u8, Stie_SPEC>;
2241 impl Stie {
2242 #[doc = "Disable start condition detection interrupt (STI) request"]
2243 pub const _0: Self = Self::new(0);
2244
2245 #[doc = "Enable start condition detection interrupt (STI) request"]
2246 pub const _1: Self = Self::new(1);
2247 }
2248 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2249 pub struct Spie_SPEC;
2250 pub type Spie = crate::EnumBitfieldStruct<u8, Spie_SPEC>;
2251 impl Spie {
2252 #[doc = "Disable stop condition detection interrupt (SPI) request"]
2253 pub const _0: Self = Self::new(0);
2254
2255 #[doc = "Enable stop condition detection interrupt (SPI) request"]
2256 pub const _1: Self = Self::new(1);
2257 }
2258 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2259 pub struct Nakie_SPEC;
2260 pub type Nakie = crate::EnumBitfieldStruct<u8, Nakie_SPEC>;
2261 impl Nakie {
2262 #[doc = "Disable NACK reception interrupt (NAKI) request"]
2263 pub const _0: Self = Self::new(0);
2264
2265 #[doc = "Enable NACK reception interrupt (NAKI) request"]
2266 pub const _1: Self = Self::new(1);
2267 }
2268 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2269 pub struct Rie_SPEC;
2270 pub type Rie = crate::EnumBitfieldStruct<u8, Rie_SPEC>;
2271 impl Rie {
2272 #[doc = "Disable receive data full interrupt (IICn_RXI) request"]
2273 pub const _0: Self = Self::new(0);
2274
2275 #[doc = "Enable receive data full interrupt (IICn_RXI) request"]
2276 pub const _1: Self = Self::new(1);
2277 }
2278 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2279 pub struct Teie_SPEC;
2280 pub type Teie = crate::EnumBitfieldStruct<u8, Teie_SPEC>;
2281 impl Teie {
2282 #[doc = "Disable transmit end interrupt (IICn_TEI) request"]
2283 pub const _0: Self = Self::new(0);
2284
2285 #[doc = "Enable transmit end interrupt (IICn_TEI) request"]
2286 pub const _1: Self = Self::new(1);
2287 }
2288 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2289 pub struct Tie_SPEC;
2290 pub type Tie = crate::EnumBitfieldStruct<u8, Tie_SPEC>;
2291 impl Tie {
2292 #[doc = "Disable transmit data empty interrupt (IICn_TXI) request"]
2293 pub const _0: Self = Self::new(0);
2294
2295 #[doc = "Enable transmit data empty interrupt (IICn_TXI) request"]
2296 pub const _1: Self = Self::new(1);
2297 }
2298}
2299#[doc(hidden)]
2300#[derive(Copy, Clone, Eq, PartialEq)]
2301pub struct Icsr1_SPEC;
2302impl crate::sealed::RegSpec for Icsr1_SPEC {
2303 type DataType = u8;
2304}
2305
2306#[doc = "I2C Bus Status Register 1"]
2307pub type Icsr1 = crate::RegValueT<Icsr1_SPEC>;
2308
2309impl Icsr1 {
2310 #[doc = "Slave Address 0 Detection Flag"]
2311 #[inline(always)]
2312 pub fn aas0(
2313 self,
2314 ) -> crate::common::RegisterField<
2315 0,
2316 0x1,
2317 1,
2318 0,
2319 icsr1::Aas0,
2320 icsr1::Aas0,
2321 Icsr1_SPEC,
2322 crate::common::RW,
2323 > {
2324 crate::common::RegisterField::<
2325 0,
2326 0x1,
2327 1,
2328 0,
2329 icsr1::Aas0,
2330 icsr1::Aas0,
2331 Icsr1_SPEC,
2332 crate::common::RW,
2333 >::from_register(self, 0)
2334 }
2335
2336 #[doc = "Slave Address 1 Detection Flag"]
2337 #[inline(always)]
2338 pub fn aas1(
2339 self,
2340 ) -> crate::common::RegisterField<
2341 1,
2342 0x1,
2343 1,
2344 0,
2345 icsr1::Aas1,
2346 icsr1::Aas1,
2347 Icsr1_SPEC,
2348 crate::common::RW,
2349 > {
2350 crate::common::RegisterField::<
2351 1,
2352 0x1,
2353 1,
2354 0,
2355 icsr1::Aas1,
2356 icsr1::Aas1,
2357 Icsr1_SPEC,
2358 crate::common::RW,
2359 >::from_register(self, 0)
2360 }
2361
2362 #[doc = "Slave Address 2 Detection Flag"]
2363 #[inline(always)]
2364 pub fn aas2(
2365 self,
2366 ) -> crate::common::RegisterField<
2367 2,
2368 0x1,
2369 1,
2370 0,
2371 icsr1::Aas2,
2372 icsr1::Aas2,
2373 Icsr1_SPEC,
2374 crate::common::RW,
2375 > {
2376 crate::common::RegisterField::<
2377 2,
2378 0x1,
2379 1,
2380 0,
2381 icsr1::Aas2,
2382 icsr1::Aas2,
2383 Icsr1_SPEC,
2384 crate::common::RW,
2385 >::from_register(self, 0)
2386 }
2387
2388 #[doc = "General Call Address Detection Flag"]
2389 #[inline(always)]
2390 pub fn gca(
2391 self,
2392 ) -> crate::common::RegisterField<
2393 3,
2394 0x1,
2395 1,
2396 0,
2397 icsr1::Gca,
2398 icsr1::Gca,
2399 Icsr1_SPEC,
2400 crate::common::RW,
2401 > {
2402 crate::common::RegisterField::<
2403 3,
2404 0x1,
2405 1,
2406 0,
2407 icsr1::Gca,
2408 icsr1::Gca,
2409 Icsr1_SPEC,
2410 crate::common::RW,
2411 >::from_register(self, 0)
2412 }
2413
2414 #[doc = "Device-ID Address Detection Flag"]
2415 #[inline(always)]
2416 pub fn did(
2417 self,
2418 ) -> crate::common::RegisterField<
2419 5,
2420 0x1,
2421 1,
2422 0,
2423 icsr1::Did,
2424 icsr1::Did,
2425 Icsr1_SPEC,
2426 crate::common::RW,
2427 > {
2428 crate::common::RegisterField::<
2429 5,
2430 0x1,
2431 1,
2432 0,
2433 icsr1::Did,
2434 icsr1::Did,
2435 Icsr1_SPEC,
2436 crate::common::RW,
2437 >::from_register(self, 0)
2438 }
2439
2440 #[doc = "Host Address Detection Flag"]
2441 #[inline(always)]
2442 pub fn hoa(
2443 self,
2444 ) -> crate::common::RegisterField<
2445 7,
2446 0x1,
2447 1,
2448 0,
2449 icsr1::Hoa,
2450 icsr1::Hoa,
2451 Icsr1_SPEC,
2452 crate::common::RW,
2453 > {
2454 crate::common::RegisterField::<
2455 7,
2456 0x1,
2457 1,
2458 0,
2459 icsr1::Hoa,
2460 icsr1::Hoa,
2461 Icsr1_SPEC,
2462 crate::common::RW,
2463 >::from_register(self, 0)
2464 }
2465}
2466impl ::core::default::Default for Icsr1 {
2467 #[inline(always)]
2468 fn default() -> Icsr1 {
2469 <crate::RegValueT<Icsr1_SPEC> as RegisterValue<_>>::new(0)
2470 }
2471}
2472pub mod icsr1 {
2473
2474 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2475 pub struct Aas0_SPEC;
2476 pub type Aas0 = crate::EnumBitfieldStruct<u8, Aas0_SPEC>;
2477 impl Aas0 {
2478 #[doc = "Slave address 0 not detected"]
2479 pub const _0: Self = Self::new(0);
2480
2481 #[doc = "Slave address 0 detected"]
2482 pub const _1: Self = Self::new(1);
2483 }
2484 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2485 pub struct Aas1_SPEC;
2486 pub type Aas1 = crate::EnumBitfieldStruct<u8, Aas1_SPEC>;
2487 impl Aas1 {
2488 #[doc = "Slave address 1 not detected"]
2489 pub const _0: Self = Self::new(0);
2490
2491 #[doc = "Slave address 1 detected"]
2492 pub const _1: Self = Self::new(1);
2493 }
2494 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2495 pub struct Aas2_SPEC;
2496 pub type Aas2 = crate::EnumBitfieldStruct<u8, Aas2_SPEC>;
2497 impl Aas2 {
2498 #[doc = "Slave address 2 not detected"]
2499 pub const _0: Self = Self::new(0);
2500
2501 #[doc = "Slave address 2 detected"]
2502 pub const _1: Self = Self::new(1);
2503 }
2504 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2505 pub struct Gca_SPEC;
2506 pub type Gca = crate::EnumBitfieldStruct<u8, Gca_SPEC>;
2507 impl Gca {
2508 #[doc = "General call address not detected"]
2509 pub const _0: Self = Self::new(0);
2510
2511 #[doc = "General call address detected"]
2512 pub const _1: Self = Self::new(1);
2513 }
2514 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2515 pub struct Did_SPEC;
2516 pub type Did = crate::EnumBitfieldStruct<u8, Did_SPEC>;
2517 impl Did {
2518 #[doc = "Device-ID command not detected"]
2519 pub const _0: Self = Self::new(0);
2520
2521 #[doc = "Device-ID command detected"]
2522 pub const _1: Self = Self::new(1);
2523 }
2524 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2525 pub struct Hoa_SPEC;
2526 pub type Hoa = crate::EnumBitfieldStruct<u8, Hoa_SPEC>;
2527 impl Hoa {
2528 #[doc = "Host address not detected"]
2529 pub const _0: Self = Self::new(0);
2530
2531 #[doc = "Host address detected"]
2532 pub const _1: Self = Self::new(1);
2533 }
2534}
2535#[doc(hidden)]
2536#[derive(Copy, Clone, Eq, PartialEq)]
2537pub struct Icsr2_SPEC;
2538impl crate::sealed::RegSpec for Icsr2_SPEC {
2539 type DataType = u8;
2540}
2541
2542#[doc = "I2C Bus Status Register 2"]
2543pub type Icsr2 = crate::RegValueT<Icsr2_SPEC>;
2544
2545impl Icsr2 {
2546 #[doc = "Timeout Detection Flag"]
2547 #[inline(always)]
2548 pub fn tmof(
2549 self,
2550 ) -> crate::common::RegisterField<
2551 0,
2552 0x1,
2553 1,
2554 0,
2555 icsr2::Tmof,
2556 icsr2::Tmof,
2557 Icsr2_SPEC,
2558 crate::common::RW,
2559 > {
2560 crate::common::RegisterField::<
2561 0,
2562 0x1,
2563 1,
2564 0,
2565 icsr2::Tmof,
2566 icsr2::Tmof,
2567 Icsr2_SPEC,
2568 crate::common::RW,
2569 >::from_register(self, 0)
2570 }
2571
2572 #[doc = "Arbitration-Lost Flag"]
2573 #[inline(always)]
2574 pub fn al(
2575 self,
2576 ) -> crate::common::RegisterField<
2577 1,
2578 0x1,
2579 1,
2580 0,
2581 icsr2::Al,
2582 icsr2::Al,
2583 Icsr2_SPEC,
2584 crate::common::RW,
2585 > {
2586 crate::common::RegisterField::<
2587 1,
2588 0x1,
2589 1,
2590 0,
2591 icsr2::Al,
2592 icsr2::Al,
2593 Icsr2_SPEC,
2594 crate::common::RW,
2595 >::from_register(self, 0)
2596 }
2597
2598 #[doc = "Start Condition Detection Flag"]
2599 #[inline(always)]
2600 pub fn start(
2601 self,
2602 ) -> crate::common::RegisterField<
2603 2,
2604 0x1,
2605 1,
2606 0,
2607 icsr2::Start,
2608 icsr2::Start,
2609 Icsr2_SPEC,
2610 crate::common::RW,
2611 > {
2612 crate::common::RegisterField::<
2613 2,
2614 0x1,
2615 1,
2616 0,
2617 icsr2::Start,
2618 icsr2::Start,
2619 Icsr2_SPEC,
2620 crate::common::RW,
2621 >::from_register(self, 0)
2622 }
2623
2624 #[doc = "Stop Condition Detection Flag"]
2625 #[inline(always)]
2626 pub fn stop(
2627 self,
2628 ) -> crate::common::RegisterField<
2629 3,
2630 0x1,
2631 1,
2632 0,
2633 icsr2::Stop,
2634 icsr2::Stop,
2635 Icsr2_SPEC,
2636 crate::common::RW,
2637 > {
2638 crate::common::RegisterField::<
2639 3,
2640 0x1,
2641 1,
2642 0,
2643 icsr2::Stop,
2644 icsr2::Stop,
2645 Icsr2_SPEC,
2646 crate::common::RW,
2647 >::from_register(self, 0)
2648 }
2649
2650 #[doc = "NACK Detection Flag"]
2651 #[inline(always)]
2652 pub fn nackf(
2653 self,
2654 ) -> crate::common::RegisterField<
2655 4,
2656 0x1,
2657 1,
2658 0,
2659 icsr2::Nackf,
2660 icsr2::Nackf,
2661 Icsr2_SPEC,
2662 crate::common::RW,
2663 > {
2664 crate::common::RegisterField::<
2665 4,
2666 0x1,
2667 1,
2668 0,
2669 icsr2::Nackf,
2670 icsr2::Nackf,
2671 Icsr2_SPEC,
2672 crate::common::RW,
2673 >::from_register(self, 0)
2674 }
2675
2676 #[doc = "Receive Data Full Flag"]
2677 #[inline(always)]
2678 pub fn rdrf(
2679 self,
2680 ) -> crate::common::RegisterField<
2681 5,
2682 0x1,
2683 1,
2684 0,
2685 icsr2::Rdrf,
2686 icsr2::Rdrf,
2687 Icsr2_SPEC,
2688 crate::common::RW,
2689 > {
2690 crate::common::RegisterField::<
2691 5,
2692 0x1,
2693 1,
2694 0,
2695 icsr2::Rdrf,
2696 icsr2::Rdrf,
2697 Icsr2_SPEC,
2698 crate::common::RW,
2699 >::from_register(self, 0)
2700 }
2701
2702 #[doc = "Transmit End Flag"]
2703 #[inline(always)]
2704 pub fn tend(
2705 self,
2706 ) -> crate::common::RegisterField<
2707 6,
2708 0x1,
2709 1,
2710 0,
2711 icsr2::Tend,
2712 icsr2::Tend,
2713 Icsr2_SPEC,
2714 crate::common::RW,
2715 > {
2716 crate::common::RegisterField::<
2717 6,
2718 0x1,
2719 1,
2720 0,
2721 icsr2::Tend,
2722 icsr2::Tend,
2723 Icsr2_SPEC,
2724 crate::common::RW,
2725 >::from_register(self, 0)
2726 }
2727
2728 #[doc = "Transmit Data Empty Flag"]
2729 #[inline(always)]
2730 pub fn tdre(
2731 self,
2732 ) -> crate::common::RegisterField<
2733 7,
2734 0x1,
2735 1,
2736 0,
2737 icsr2::Tdre,
2738 icsr2::Tdre,
2739 Icsr2_SPEC,
2740 crate::common::R,
2741 > {
2742 crate::common::RegisterField::<
2743 7,
2744 0x1,
2745 1,
2746 0,
2747 icsr2::Tdre,
2748 icsr2::Tdre,
2749 Icsr2_SPEC,
2750 crate::common::R,
2751 >::from_register(self, 0)
2752 }
2753}
2754impl ::core::default::Default for Icsr2 {
2755 #[inline(always)]
2756 fn default() -> Icsr2 {
2757 <crate::RegValueT<Icsr2_SPEC> as RegisterValue<_>>::new(0)
2758 }
2759}
2760pub mod icsr2 {
2761
2762 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2763 pub struct Tmof_SPEC;
2764 pub type Tmof = crate::EnumBitfieldStruct<u8, Tmof_SPEC>;
2765 impl Tmof {
2766 #[doc = "Timeout not detected"]
2767 pub const _0: Self = Self::new(0);
2768
2769 #[doc = "Timeout detected"]
2770 pub const _1: Self = Self::new(1);
2771 }
2772 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2773 pub struct Al_SPEC;
2774 pub type Al = crate::EnumBitfieldStruct<u8, Al_SPEC>;
2775 impl Al {
2776 #[doc = "Arbitration not lost"]
2777 pub const _0: Self = Self::new(0);
2778
2779 #[doc = "Arbitration lost"]
2780 pub const _1: Self = Self::new(1);
2781 }
2782 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2783 pub struct Start_SPEC;
2784 pub type Start = crate::EnumBitfieldStruct<u8, Start_SPEC>;
2785 impl Start {
2786 #[doc = "Start condition not detected"]
2787 pub const _0: Self = Self::new(0);
2788
2789 #[doc = "Start condition detected"]
2790 pub const _1: Self = Self::new(1);
2791 }
2792 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2793 pub struct Stop_SPEC;
2794 pub type Stop = crate::EnumBitfieldStruct<u8, Stop_SPEC>;
2795 impl Stop {
2796 #[doc = "Stop condition not detected"]
2797 pub const _0: Self = Self::new(0);
2798
2799 #[doc = "Stop condition detected"]
2800 pub const _1: Self = Self::new(1);
2801 }
2802 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2803 pub struct Nackf_SPEC;
2804 pub type Nackf = crate::EnumBitfieldStruct<u8, Nackf_SPEC>;
2805 impl Nackf {
2806 #[doc = "NACK not detected"]
2807 pub const _0: Self = Self::new(0);
2808
2809 #[doc = "NACK detected"]
2810 pub const _1: Self = Self::new(1);
2811 }
2812 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2813 pub struct Rdrf_SPEC;
2814 pub type Rdrf = crate::EnumBitfieldStruct<u8, Rdrf_SPEC>;
2815 impl Rdrf {
2816 #[doc = "ICDRR contains no receive data"]
2817 pub const _0: Self = Self::new(0);
2818
2819 #[doc = "ICDRR contains receive data"]
2820 pub const _1: Self = Self::new(1);
2821 }
2822 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2823 pub struct Tend_SPEC;
2824 pub type Tend = crate::EnumBitfieldStruct<u8, Tend_SPEC>;
2825 impl Tend {
2826 #[doc = "Data being transmitted"]
2827 pub const _0: Self = Self::new(0);
2828
2829 #[doc = "Data transmit complete"]
2830 pub const _1: Self = Self::new(1);
2831 }
2832 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2833 pub struct Tdre_SPEC;
2834 pub type Tdre = crate::EnumBitfieldStruct<u8, Tdre_SPEC>;
2835 impl Tdre {
2836 #[doc = "ICDRT contains transmit data"]
2837 pub const _0: Self = Self::new(0);
2838
2839 #[doc = "ICDRT contains no transmit data"]
2840 pub const _1: Self = Self::new(1);
2841 }
2842}
2843#[doc(hidden)]
2844#[derive(Copy, Clone, Eq, PartialEq)]
2845pub struct Sarl_SPEC;
2846impl crate::sealed::RegSpec for Sarl_SPEC {
2847 type DataType = u8;
2848}
2849
2850#[doc = "Slave Address Register L %s"]
2851pub type Sarl = crate::RegValueT<Sarl_SPEC>;
2852
2853impl Sarl {
2854 #[doc = "10-bit Address LSB"]
2855 #[inline(always)]
2856 pub fn sva0(self) -> crate::common::RegisterFieldBool<0, 1, 0, Sarl_SPEC, crate::common::RW> {
2857 crate::common::RegisterFieldBool::<0, 1, 0, Sarl_SPEC, crate::common::RW>::from_register(
2858 self, 0,
2859 )
2860 }
2861
2862 #[doc = "7-bit Address/10-bit Address Lower Bits"]
2863 #[inline(always)]
2864 pub fn sva(
2865 self,
2866 ) -> crate::common::RegisterField<1, 0x7f, 1, 0, u8, u8, Sarl_SPEC, crate::common::RW> {
2867 crate::common::RegisterField::<1,0x7f,1,0,u8,u8,Sarl_SPEC,crate::common::RW>::from_register(self,0)
2868 }
2869}
2870impl ::core::default::Default for Sarl {
2871 #[inline(always)]
2872 fn default() -> Sarl {
2873 <crate::RegValueT<Sarl_SPEC> as RegisterValue<_>>::new(0)
2874 }
2875}
2876
2877#[doc(hidden)]
2878#[derive(Copy, Clone, Eq, PartialEq)]
2879pub struct Saru_SPEC;
2880impl crate::sealed::RegSpec for Saru_SPEC {
2881 type DataType = u8;
2882}
2883
2884#[doc = "Slave Address Register U %s"]
2885pub type Saru = crate::RegValueT<Saru_SPEC>;
2886
2887impl Saru {
2888 #[doc = "7-bit/10-bit Address Format Select"]
2889 #[inline(always)]
2890 pub fn fs(
2891 self,
2892 ) -> crate::common::RegisterField<0, 0x1, 1, 0, saru::Fs, saru::Fs, Saru_SPEC, crate::common::RW>
2893 {
2894 crate::common::RegisterField::<0,0x1,1,0,saru::Fs,saru::Fs,Saru_SPEC,crate::common::RW>::from_register(self,0)
2895 }
2896
2897 #[doc = "10-bit Address Upper Bits"]
2898 #[inline(always)]
2899 pub fn sva(
2900 self,
2901 ) -> crate::common::RegisterField<1, 0x3, 1, 0, u8, u8, Saru_SPEC, crate::common::RW> {
2902 crate::common::RegisterField::<1,0x3,1,0,u8,u8,Saru_SPEC,crate::common::RW>::from_register(self,0)
2903 }
2904}
2905impl ::core::default::Default for Saru {
2906 #[inline(always)]
2907 fn default() -> Saru {
2908 <crate::RegValueT<Saru_SPEC> as RegisterValue<_>>::new(0)
2909 }
2910}
2911pub mod saru {
2912
2913 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2914 pub struct Fs_SPEC;
2915 pub type Fs = crate::EnumBitfieldStruct<u8, Fs_SPEC>;
2916 impl Fs {
2917 #[doc = "Select 7-bit address format"]
2918 pub const _0: Self = Self::new(0);
2919
2920 #[doc = "Select 10-bit address format"]
2921 pub const _1: Self = Self::new(1);
2922 }
2923}
2924#[doc(hidden)]
2925#[derive(Copy, Clone, Eq, PartialEq)]
2926pub struct Icbrl_SPEC;
2927impl crate::sealed::RegSpec for Icbrl_SPEC {
2928 type DataType = u8;
2929}
2930
2931#[doc = "I2C Bus Bit Rate Low-Level Register"]
2932pub type Icbrl = crate::RegValueT<Icbrl_SPEC>;
2933
2934impl Icbrl {
2935 #[doc = "Bit Rate Low-Level Period"]
2936 #[inline(always)]
2937 pub fn brl(
2938 self,
2939 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, Icbrl_SPEC, crate::common::RW> {
2940 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,Icbrl_SPEC,crate::common::RW>::from_register(self,0)
2941 }
2942}
2943impl ::core::default::Default for Icbrl {
2944 #[inline(always)]
2945 fn default() -> Icbrl {
2946 <crate::RegValueT<Icbrl_SPEC> as RegisterValue<_>>::new(255)
2947 }
2948}
2949
2950#[doc(hidden)]
2951#[derive(Copy, Clone, Eq, PartialEq)]
2952pub struct Icbrh_SPEC;
2953impl crate::sealed::RegSpec for Icbrh_SPEC {
2954 type DataType = u8;
2955}
2956
2957#[doc = "I2C Bus Bit Rate High-Level Register"]
2958pub type Icbrh = crate::RegValueT<Icbrh_SPEC>;
2959
2960impl Icbrh {
2961 #[doc = "Bit Rate High-Level Period"]
2962 #[inline(always)]
2963 pub fn brh(
2964 self,
2965 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, Icbrh_SPEC, crate::common::RW> {
2966 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,Icbrh_SPEC,crate::common::RW>::from_register(self,0)
2967 }
2968}
2969impl ::core::default::Default for Icbrh {
2970 #[inline(always)]
2971 fn default() -> Icbrh {
2972 <crate::RegValueT<Icbrh_SPEC> as RegisterValue<_>>::new(255)
2973 }
2974}
2975
2976#[doc(hidden)]
2977#[derive(Copy, Clone, Eq, PartialEq)]
2978pub struct Icdrt_SPEC;
2979impl crate::sealed::RegSpec for Icdrt_SPEC {
2980 type DataType = u8;
2981}
2982
2983#[doc = "I2C Bus Transmit Data Register"]
2984pub type Icdrt = crate::RegValueT<Icdrt_SPEC>;
2985
2986impl NoBitfieldReg<Icdrt_SPEC> for Icdrt {}
2987impl ::core::default::Default for Icdrt {
2988 #[inline(always)]
2989 fn default() -> Icdrt {
2990 <crate::RegValueT<Icdrt_SPEC> as RegisterValue<_>>::new(255)
2991 }
2992}
2993
2994#[doc(hidden)]
2995#[derive(Copy, Clone, Eq, PartialEq)]
2996pub struct Icdrr_SPEC;
2997impl crate::sealed::RegSpec for Icdrr_SPEC {
2998 type DataType = u8;
2999}
3000
3001#[doc = "I2C Bus Receive Data Register"]
3002pub type Icdrr = crate::RegValueT<Icdrr_SPEC>;
3003
3004impl NoBitfieldReg<Icdrr_SPEC> for Icdrr {}
3005impl ::core::default::Default for Icdrr {
3006 #[inline(always)]
3007 fn default() -> Icdrr {
3008 <crate::RegValueT<Icdrr_SPEC> as RegisterValue<_>>::new(0)
3009 }
3010}