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"USB 2.0 Full-Speed Module"]
28unsafe impl ::core::marker::Send for super::Usbfs {}
29unsafe impl ::core::marker::Sync for super::Usbfs {}
30impl super::Usbfs {
31 #[allow(unused)]
32 #[inline(always)]
33 pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34 self.ptr
35 }
36
37 #[doc = "System Configuration Control Register"]
38 #[inline(always)]
39 pub const fn syscfg(
40 &self,
41 ) -> &'static crate::common::Reg<self::Syscfg_SPEC, crate::common::RW> {
42 unsafe {
43 crate::common::Reg::<self::Syscfg_SPEC, crate::common::RW>::from_ptr(
44 self._svd2pac_as_ptr().add(0usize),
45 )
46 }
47 }
48
49 #[doc = "System Configuration Status Register 0"]
50 #[inline(always)]
51 pub const fn syssts0(
52 &self,
53 ) -> &'static crate::common::Reg<self::Syssts0_SPEC, crate::common::R> {
54 unsafe {
55 crate::common::Reg::<self::Syssts0_SPEC, crate::common::R>::from_ptr(
56 self._svd2pac_as_ptr().add(4usize),
57 )
58 }
59 }
60
61 #[doc = "Device State Control Register 0"]
62 #[inline(always)]
63 pub const fn dvstctr0(
64 &self,
65 ) -> &'static crate::common::Reg<self::Dvstctr0_SPEC, crate::common::RW> {
66 unsafe {
67 crate::common::Reg::<self::Dvstctr0_SPEC, crate::common::RW>::from_ptr(
68 self._svd2pac_as_ptr().add(8usize),
69 )
70 }
71 }
72
73 #[doc = "CFIFO Port Register"]
74 #[inline(always)]
75 pub const fn cfifo(&self) -> &'static crate::common::Reg<self::Cfifo_SPEC, crate::common::RW> {
76 unsafe {
77 crate::common::Reg::<self::Cfifo_SPEC, crate::common::RW>::from_ptr(
78 self._svd2pac_as_ptr().add(20usize),
79 )
80 }
81 }
82
83 #[doc = "CFIFO Port Register"]
84 #[inline(always)]
85 pub const fn cfifol(
86 &self,
87 ) -> &'static crate::common::Reg<self::Cfifol_SPEC, crate::common::RW> {
88 unsafe {
89 crate::common::Reg::<self::Cfifol_SPEC, crate::common::RW>::from_ptr(
90 self._svd2pac_as_ptr().add(20usize),
91 )
92 }
93 }
94
95 #[doc = "CFIFO Port Select Register"]
96 #[inline(always)]
97 pub const fn cfifosel(
98 &self,
99 ) -> &'static crate::common::Reg<self::Cfifosel_SPEC, crate::common::RW> {
100 unsafe {
101 crate::common::Reg::<self::Cfifosel_SPEC, crate::common::RW>::from_ptr(
102 self._svd2pac_as_ptr().add(32usize),
103 )
104 }
105 }
106
107 #[doc = "CFIFO Port Control Register"]
108 #[inline(always)]
109 pub const fn cfifoctr(
110 &self,
111 ) -> &'static crate::common::Reg<self::Cfifoctr_SPEC, crate::common::RW> {
112 unsafe {
113 crate::common::Reg::<self::Cfifoctr_SPEC, crate::common::RW>::from_ptr(
114 self._svd2pac_as_ptr().add(34usize),
115 )
116 }
117 }
118
119 #[doc = "Interrupt Enable Register 0"]
120 #[inline(always)]
121 pub const fn intenb0(
122 &self,
123 ) -> &'static crate::common::Reg<self::Intenb0_SPEC, crate::common::RW> {
124 unsafe {
125 crate::common::Reg::<self::Intenb0_SPEC, crate::common::RW>::from_ptr(
126 self._svd2pac_as_ptr().add(48usize),
127 )
128 }
129 }
130
131 #[doc = "BRDY Interrupt Enable Register"]
132 #[inline(always)]
133 pub const fn brdyenb(
134 &self,
135 ) -> &'static crate::common::Reg<self::Brdyenb_SPEC, crate::common::RW> {
136 unsafe {
137 crate::common::Reg::<self::Brdyenb_SPEC, crate::common::RW>::from_ptr(
138 self._svd2pac_as_ptr().add(54usize),
139 )
140 }
141 }
142
143 #[doc = "NRDY Interrupt Enable Register"]
144 #[inline(always)]
145 pub const fn nrdyenb(
146 &self,
147 ) -> &'static crate::common::Reg<self::Nrdyenb_SPEC, crate::common::RW> {
148 unsafe {
149 crate::common::Reg::<self::Nrdyenb_SPEC, crate::common::RW>::from_ptr(
150 self._svd2pac_as_ptr().add(56usize),
151 )
152 }
153 }
154
155 #[doc = "BEMP Interrupt Enable Register"]
156 #[inline(always)]
157 pub const fn bempenb(
158 &self,
159 ) -> &'static crate::common::Reg<self::Bempenb_SPEC, crate::common::RW> {
160 unsafe {
161 crate::common::Reg::<self::Bempenb_SPEC, crate::common::RW>::from_ptr(
162 self._svd2pac_as_ptr().add(58usize),
163 )
164 }
165 }
166
167 #[doc = "SOF Output Configuration Register"]
168 #[inline(always)]
169 pub const fn sofcfg(
170 &self,
171 ) -> &'static crate::common::Reg<self::Sofcfg_SPEC, crate::common::RW> {
172 unsafe {
173 crate::common::Reg::<self::Sofcfg_SPEC, crate::common::RW>::from_ptr(
174 self._svd2pac_as_ptr().add(60usize),
175 )
176 }
177 }
178
179 #[doc = "Interrupt Status Register 0"]
180 #[inline(always)]
181 pub const fn intsts0(
182 &self,
183 ) -> &'static crate::common::Reg<self::Intsts0_SPEC, crate::common::RW> {
184 unsafe {
185 crate::common::Reg::<self::Intsts0_SPEC, crate::common::RW>::from_ptr(
186 self._svd2pac_as_ptr().add(64usize),
187 )
188 }
189 }
190
191 #[doc = "BRDY Interrupt Status Register"]
192 #[inline(always)]
193 pub const fn brdysts(
194 &self,
195 ) -> &'static crate::common::Reg<self::Brdysts_SPEC, crate::common::RW> {
196 unsafe {
197 crate::common::Reg::<self::Brdysts_SPEC, crate::common::RW>::from_ptr(
198 self._svd2pac_as_ptr().add(70usize),
199 )
200 }
201 }
202
203 #[doc = "NRDY Interrupt Status Register"]
204 #[inline(always)]
205 pub const fn nrdysts(
206 &self,
207 ) -> &'static crate::common::Reg<self::Nrdysts_SPEC, crate::common::RW> {
208 unsafe {
209 crate::common::Reg::<self::Nrdysts_SPEC, crate::common::RW>::from_ptr(
210 self._svd2pac_as_ptr().add(72usize),
211 )
212 }
213 }
214
215 #[doc = "BEMP Interrupt Status Register"]
216 #[inline(always)]
217 pub const fn bempsts(
218 &self,
219 ) -> &'static crate::common::Reg<self::Bempsts_SPEC, crate::common::RW> {
220 unsafe {
221 crate::common::Reg::<self::Bempsts_SPEC, crate::common::RW>::from_ptr(
222 self._svd2pac_as_ptr().add(74usize),
223 )
224 }
225 }
226
227 #[doc = "Frame Number Register"]
228 #[inline(always)]
229 pub const fn frmnum(&self) -> &'static crate::common::Reg<self::Frmnum_SPEC, crate::common::R> {
230 unsafe {
231 crate::common::Reg::<self::Frmnum_SPEC, crate::common::R>::from_ptr(
232 self._svd2pac_as_ptr().add(76usize),
233 )
234 }
235 }
236
237 #[doc = "Device State Change Register"]
238 #[inline(always)]
239 pub const fn dvchgr(
240 &self,
241 ) -> &'static crate::common::Reg<self::Dvchgr_SPEC, crate::common::RW> {
242 unsafe {
243 crate::common::Reg::<self::Dvchgr_SPEC, crate::common::RW>::from_ptr(
244 self._svd2pac_as_ptr().add(78usize),
245 )
246 }
247 }
248
249 #[doc = "USB Address Register"]
250 #[inline(always)]
251 pub const fn usbaddr(
252 &self,
253 ) -> &'static crate::common::Reg<self::Usbaddr_SPEC, crate::common::RW> {
254 unsafe {
255 crate::common::Reg::<self::Usbaddr_SPEC, crate::common::RW>::from_ptr(
256 self._svd2pac_as_ptr().add(80usize),
257 )
258 }
259 }
260
261 #[doc = "USB Request Type Register"]
262 #[inline(always)]
263 pub const fn usbreq(&self) -> &'static crate::common::Reg<self::Usbreq_SPEC, crate::common::R> {
264 unsafe {
265 crate::common::Reg::<self::Usbreq_SPEC, crate::common::R>::from_ptr(
266 self._svd2pac_as_ptr().add(84usize),
267 )
268 }
269 }
270
271 #[doc = "USB Request Value Register"]
272 #[inline(always)]
273 pub const fn usbval(&self) -> &'static crate::common::Reg<self::Usbval_SPEC, crate::common::R> {
274 unsafe {
275 crate::common::Reg::<self::Usbval_SPEC, crate::common::R>::from_ptr(
276 self._svd2pac_as_ptr().add(86usize),
277 )
278 }
279 }
280
281 #[doc = "USB Request Index Register"]
282 #[inline(always)]
283 pub const fn usbindx(
284 &self,
285 ) -> &'static crate::common::Reg<self::Usbindx_SPEC, crate::common::R> {
286 unsafe {
287 crate::common::Reg::<self::Usbindx_SPEC, crate::common::R>::from_ptr(
288 self._svd2pac_as_ptr().add(88usize),
289 )
290 }
291 }
292
293 #[doc = "USB Request Length Register"]
294 #[inline(always)]
295 pub const fn usbleng(
296 &self,
297 ) -> &'static crate::common::Reg<self::Usbleng_SPEC, crate::common::R> {
298 unsafe {
299 crate::common::Reg::<self::Usbleng_SPEC, crate::common::R>::from_ptr(
300 self._svd2pac_as_ptr().add(90usize),
301 )
302 }
303 }
304
305 #[doc = "DCP Configuration Register"]
306 #[inline(always)]
307 pub const fn dcpcfg(
308 &self,
309 ) -> &'static crate::common::Reg<self::Dcpcfg_SPEC, crate::common::RW> {
310 unsafe {
311 crate::common::Reg::<self::Dcpcfg_SPEC, crate::common::RW>::from_ptr(
312 self._svd2pac_as_ptr().add(92usize),
313 )
314 }
315 }
316
317 #[doc = "DCP Maximum Packet Size Register"]
318 #[inline(always)]
319 pub const fn dcpmaxp(
320 &self,
321 ) -> &'static crate::common::Reg<self::Dcpmaxp_SPEC, crate::common::RW> {
322 unsafe {
323 crate::common::Reg::<self::Dcpmaxp_SPEC, crate::common::RW>::from_ptr(
324 self._svd2pac_as_ptr().add(94usize),
325 )
326 }
327 }
328
329 #[doc = "DCP Control Register"]
330 #[inline(always)]
331 pub const fn dcpctr(
332 &self,
333 ) -> &'static crate::common::Reg<self::Dcpctr_SPEC, crate::common::RW> {
334 unsafe {
335 crate::common::Reg::<self::Dcpctr_SPEC, crate::common::RW>::from_ptr(
336 self._svd2pac_as_ptr().add(96usize),
337 )
338 }
339 }
340
341 #[doc = "Pipe Window Select Register"]
342 #[inline(always)]
343 pub const fn pipesel(
344 &self,
345 ) -> &'static crate::common::Reg<self::Pipesel_SPEC, crate::common::RW> {
346 unsafe {
347 crate::common::Reg::<self::Pipesel_SPEC, crate::common::RW>::from_ptr(
348 self._svd2pac_as_ptr().add(100usize),
349 )
350 }
351 }
352
353 #[doc = "Pipe Configuration Register"]
354 #[inline(always)]
355 pub const fn pipecfg(
356 &self,
357 ) -> &'static crate::common::Reg<self::Pipecfg_SPEC, crate::common::RW> {
358 unsafe {
359 crate::common::Reg::<self::Pipecfg_SPEC, crate::common::RW>::from_ptr(
360 self._svd2pac_as_ptr().add(104usize),
361 )
362 }
363 }
364
365 #[doc = "Pipe Maximum Packet Size Register"]
366 #[inline(always)]
367 pub const fn pipemaxp(
368 &self,
369 ) -> &'static crate::common::Reg<self::Pipemaxp_SPEC, crate::common::RW> {
370 unsafe {
371 crate::common::Reg::<self::Pipemaxp_SPEC, crate::common::RW>::from_ptr(
372 self._svd2pac_as_ptr().add(108usize),
373 )
374 }
375 }
376
377 #[doc = "PIPE%s Control Registers"]
378 #[inline(always)]
379 pub const fn pipectr(
380 &self,
381 ) -> &'static crate::common::ClusterRegisterArray<
382 crate::common::Reg<self::Pipectr_SPEC, crate::common::RW>,
383 2,
384 0x2,
385 > {
386 unsafe {
387 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x7ausize))
388 }
389 }
390 #[inline(always)]
391 pub const fn pipe6ctr(
392 &self,
393 ) -> &'static crate::common::Reg<self::Pipectr_SPEC, crate::common::RW> {
394 unsafe {
395 crate::common::Reg::<self::Pipectr_SPEC, crate::common::RW>::from_ptr(
396 self._svd2pac_as_ptr().add(0x7ausize),
397 )
398 }
399 }
400 #[inline(always)]
401 pub const fn pipe7ctr(
402 &self,
403 ) -> &'static crate::common::Reg<self::Pipectr_SPEC, crate::common::RW> {
404 unsafe {
405 crate::common::Reg::<self::Pipectr_SPEC, crate::common::RW>::from_ptr(
406 self._svd2pac_as_ptr().add(0x7cusize),
407 )
408 }
409 }
410
411 #[doc = "PIPE%s Transaction Counter Enable Register"]
412 #[inline(always)]
413 pub const fn pipetre(
414 &self,
415 ) -> &'static crate::common::ClusterRegisterArray<
416 crate::common::Reg<self::Pipetre_SPEC, crate::common::RW>,
417 2,
418 0x4,
419 > {
420 unsafe {
421 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x9cusize))
422 }
423 }
424 #[inline(always)]
425 pub const fn pipe4tre(
426 &self,
427 ) -> &'static crate::common::Reg<self::Pipetre_SPEC, crate::common::RW> {
428 unsafe {
429 crate::common::Reg::<self::Pipetre_SPEC, crate::common::RW>::from_ptr(
430 self._svd2pac_as_ptr().add(0x9cusize),
431 )
432 }
433 }
434 #[inline(always)]
435 pub const fn pipe5tre(
436 &self,
437 ) -> &'static crate::common::Reg<self::Pipetre_SPEC, crate::common::RW> {
438 unsafe {
439 crate::common::Reg::<self::Pipetre_SPEC, crate::common::RW>::from_ptr(
440 self._svd2pac_as_ptr().add(0xa0usize),
441 )
442 }
443 }
444
445 #[doc = "PIPE%s Transaction Counter Register"]
446 #[inline(always)]
447 pub const fn pipetrn(
448 &self,
449 ) -> &'static crate::common::ClusterRegisterArray<
450 crate::common::Reg<self::Pipetrn_SPEC, crate::common::RW>,
451 2,
452 0x4,
453 > {
454 unsafe {
455 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x9eusize))
456 }
457 }
458 #[inline(always)]
459 pub const fn pipe4trn(
460 &self,
461 ) -> &'static crate::common::Reg<self::Pipetrn_SPEC, crate::common::RW> {
462 unsafe {
463 crate::common::Reg::<self::Pipetrn_SPEC, crate::common::RW>::from_ptr(
464 self._svd2pac_as_ptr().add(0x9eusize),
465 )
466 }
467 }
468 #[inline(always)]
469 pub const fn pipe5trn(
470 &self,
471 ) -> &'static crate::common::Reg<self::Pipetrn_SPEC, crate::common::RW> {
472 unsafe {
473 crate::common::Reg::<self::Pipetrn_SPEC, crate::common::RW>::from_ptr(
474 self._svd2pac_as_ptr().add(0xa2usize),
475 )
476 }
477 }
478
479 #[doc = "PHY Single-ended Receiver Control Register"]
480 #[inline(always)]
481 pub const fn physectrl(
482 &self,
483 ) -> &'static crate::common::Reg<self::Physectrl_SPEC, crate::common::RW> {
484 unsafe {
485 crate::common::Reg::<self::Physectrl_SPEC, crate::common::RW>::from_ptr(
486 self._svd2pac_as_ptr().add(244usize),
487 )
488 }
489 }
490
491 #[doc = "Deep Software Standby USB Transceiver Control/Pin Monitor Register"]
492 #[inline(always)]
493 pub const fn dpusr0r(
494 &self,
495 ) -> &'static crate::common::Reg<self::Dpusr0R_SPEC, crate::common::RW> {
496 unsafe {
497 crate::common::Reg::<self::Dpusr0R_SPEC, crate::common::RW>::from_ptr(
498 self._svd2pac_as_ptr().add(1024usize),
499 )
500 }
501 }
502
503 #[doc = "Deep Software Standby USB Suspend/Resume Interrupt Register"]
504 #[inline(always)]
505 pub const fn dpusr1r(
506 &self,
507 ) -> &'static crate::common::Reg<self::Dpusr1R_SPEC, crate::common::RW> {
508 unsafe {
509 crate::common::Reg::<self::Dpusr1R_SPEC, crate::common::RW>::from_ptr(
510 self._svd2pac_as_ptr().add(1028usize),
511 )
512 }
513 }
514}
515#[doc(hidden)]
516#[derive(Copy, Clone, Eq, PartialEq)]
517pub struct Syscfg_SPEC;
518impl crate::sealed::RegSpec for Syscfg_SPEC {
519 type DataType = u16;
520}
521
522#[doc = "System Configuration Control Register"]
523pub type Syscfg = crate::RegValueT<Syscfg_SPEC>;
524
525impl Syscfg {
526 #[doc = "USBFS Operation Enable"]
527 #[inline(always)]
528 pub fn usbe(
529 self,
530 ) -> crate::common::RegisterField<
531 0,
532 0x1,
533 1,
534 0,
535 syscfg::Usbe,
536 syscfg::Usbe,
537 Syscfg_SPEC,
538 crate::common::RW,
539 > {
540 crate::common::RegisterField::<
541 0,
542 0x1,
543 1,
544 0,
545 syscfg::Usbe,
546 syscfg::Usbe,
547 Syscfg_SPEC,
548 crate::common::RW,
549 >::from_register(self, 0)
550 }
551
552 #[doc = "D+ Line Resistor Control"]
553 #[inline(always)]
554 pub fn dprpu(
555 self,
556 ) -> crate::common::RegisterField<
557 4,
558 0x1,
559 1,
560 0,
561 syscfg::Dprpu,
562 syscfg::Dprpu,
563 Syscfg_SPEC,
564 crate::common::RW,
565 > {
566 crate::common::RegisterField::<
567 4,
568 0x1,
569 1,
570 0,
571 syscfg::Dprpu,
572 syscfg::Dprpu,
573 Syscfg_SPEC,
574 crate::common::RW,
575 >::from_register(self, 0)
576 }
577
578 #[doc = "USB Clock Enable"]
579 #[inline(always)]
580 pub fn scke(
581 self,
582 ) -> crate::common::RegisterField<
583 10,
584 0x1,
585 1,
586 0,
587 syscfg::Scke,
588 syscfg::Scke,
589 Syscfg_SPEC,
590 crate::common::RW,
591 > {
592 crate::common::RegisterField::<
593 10,
594 0x1,
595 1,
596 0,
597 syscfg::Scke,
598 syscfg::Scke,
599 Syscfg_SPEC,
600 crate::common::RW,
601 >::from_register(self, 0)
602 }
603}
604impl ::core::default::Default for Syscfg {
605 #[inline(always)]
606 fn default() -> Syscfg {
607 <crate::RegValueT<Syscfg_SPEC> as RegisterValue<_>>::new(0)
608 }
609}
610pub mod syscfg {
611
612 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
613 pub struct Usbe_SPEC;
614 pub type Usbe = crate::EnumBitfieldStruct<u8, Usbe_SPEC>;
615 impl Usbe {
616 #[doc = "Disable"]
617 pub const _0: Self = Self::new(0);
618
619 #[doc = "Enable"]
620 pub const _1: Self = Self::new(1);
621 }
622 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
623 pub struct Dprpu_SPEC;
624 pub type Dprpu = crate::EnumBitfieldStruct<u8, Dprpu_SPEC>;
625 impl Dprpu {
626 #[doc = "Disable line pull-up"]
627 pub const _0: Self = Self::new(0);
628
629 #[doc = "Enable line pull-up"]
630 pub const _1: Self = Self::new(1);
631 }
632 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
633 pub struct Scke_SPEC;
634 pub type Scke = crate::EnumBitfieldStruct<u8, Scke_SPEC>;
635 impl Scke {
636 #[doc = "Stop clock supply to the USBFS"]
637 pub const _0: Self = Self::new(0);
638
639 #[doc = "Enable clock supply to the USBFS"]
640 pub const _1: Self = Self::new(1);
641 }
642}
643#[doc(hidden)]
644#[derive(Copy, Clone, Eq, PartialEq)]
645pub struct Syssts0_SPEC;
646impl crate::sealed::RegSpec for Syssts0_SPEC {
647 type DataType = u16;
648}
649
650#[doc = "System Configuration Status Register 0"]
651pub type Syssts0 = crate::RegValueT<Syssts0_SPEC>;
652
653impl Syssts0 {
654 #[doc = "USB Data Line Status Monitor"]
655 #[inline(always)]
656 pub fn lnst(
657 self,
658 ) -> crate::common::RegisterField<0, 0x3, 1, 0, u8, u8, Syssts0_SPEC, crate::common::R> {
659 crate::common::RegisterField::<0,0x3,1,0,u8,u8,Syssts0_SPEC,crate::common::R>::from_register(self,0)
660 }
661}
662impl ::core::default::Default for Syssts0 {
663 #[inline(always)]
664 fn default() -> Syssts0 {
665 <crate::RegValueT<Syssts0_SPEC> as RegisterValue<_>>::new(0)
666 }
667}
668
669#[doc(hidden)]
670#[derive(Copy, Clone, Eq, PartialEq)]
671pub struct Dvstctr0_SPEC;
672impl crate::sealed::RegSpec for Dvstctr0_SPEC {
673 type DataType = u16;
674}
675
676#[doc = "Device State Control Register 0"]
677pub type Dvstctr0 = crate::RegValueT<Dvstctr0_SPEC>;
678
679impl Dvstctr0 {
680 #[doc = "USB Bus Reset Status"]
681 #[inline(always)]
682 pub fn rhst(
683 self,
684 ) -> crate::common::RegisterField<
685 0,
686 0x7,
687 1,
688 0,
689 dvstctr0::Rhst,
690 dvstctr0::Rhst,
691 Dvstctr0_SPEC,
692 crate::common::R,
693 > {
694 crate::common::RegisterField::<
695 0,
696 0x7,
697 1,
698 0,
699 dvstctr0::Rhst,
700 dvstctr0::Rhst,
701 Dvstctr0_SPEC,
702 crate::common::R,
703 >::from_register(self, 0)
704 }
705
706 #[doc = "Wakeup Output"]
707 #[inline(always)]
708 pub fn wkup(
709 self,
710 ) -> crate::common::RegisterField<
711 8,
712 0x1,
713 1,
714 0,
715 dvstctr0::Wkup,
716 dvstctr0::Wkup,
717 Dvstctr0_SPEC,
718 crate::common::RW,
719 > {
720 crate::common::RegisterField::<
721 8,
722 0x1,
723 1,
724 0,
725 dvstctr0::Wkup,
726 dvstctr0::Wkup,
727 Dvstctr0_SPEC,
728 crate::common::RW,
729 >::from_register(self, 0)
730 }
731}
732impl ::core::default::Default for Dvstctr0 {
733 #[inline(always)]
734 fn default() -> Dvstctr0 {
735 <crate::RegValueT<Dvstctr0_SPEC> as RegisterValue<_>>::new(0)
736 }
737}
738pub mod dvstctr0 {
739
740 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
741 pub struct Rhst_SPEC;
742 pub type Rhst = crate::EnumBitfieldStruct<u8, Rhst_SPEC>;
743 impl Rhst {
744 #[doc = "Communication speed indeterminate"]
745 pub const _000: Self = Self::new(0);
746
747 #[doc = "USB bus reset in progress"]
748 pub const _001: Self = Self::new(1);
749
750 #[doc = "USB bus reset in progress or full-speed connection"]
751 pub const _010: Self = Self::new(2);
752 }
753 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
754 pub struct Wkup_SPEC;
755 pub type Wkup = crate::EnumBitfieldStruct<u8, Wkup_SPEC>;
756 impl Wkup {
757 #[doc = "Do not output remote wakeup signal"]
758 pub const _0: Self = Self::new(0);
759
760 #[doc = "Output remote wakeup signal"]
761 pub const _1: Self = Self::new(1);
762 }
763}
764#[doc(hidden)]
765#[derive(Copy, Clone, Eq, PartialEq)]
766pub struct Cfifo_SPEC;
767impl crate::sealed::RegSpec for Cfifo_SPEC {
768 type DataType = u16;
769}
770
771#[doc = "CFIFO Port Register"]
772pub type Cfifo = crate::RegValueT<Cfifo_SPEC>;
773
774impl Cfifo {
775 #[doc = "FIFO Port"]
776 #[inline(always)]
777 pub fn fifoport(
778 self,
779 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Cfifo_SPEC, crate::common::RW>
780 {
781 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Cfifo_SPEC,crate::common::RW>::from_register(self,0)
782 }
783}
784impl ::core::default::Default for Cfifo {
785 #[inline(always)]
786 fn default() -> Cfifo {
787 <crate::RegValueT<Cfifo_SPEC> as RegisterValue<_>>::new(0)
788 }
789}
790
791#[doc(hidden)]
792#[derive(Copy, Clone, Eq, PartialEq)]
793pub struct Cfifol_SPEC;
794impl crate::sealed::RegSpec for Cfifol_SPEC {
795 type DataType = u8;
796}
797
798#[doc = "CFIFO Port Register"]
799pub type Cfifol = crate::RegValueT<Cfifol_SPEC>;
800
801impl Cfifol {
802 #[doc = "FIFO Port"]
803 #[inline(always)]
804 pub fn fifoport(
805 self,
806 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Cfifol_SPEC, crate::common::RW> {
807 crate::common::RegisterField::<0,0xff,1,0,u8,u8,Cfifol_SPEC,crate::common::RW>::from_register(self,0)
808 }
809}
810impl ::core::default::Default for Cfifol {
811 #[inline(always)]
812 fn default() -> Cfifol {
813 <crate::RegValueT<Cfifol_SPEC> as RegisterValue<_>>::new(0)
814 }
815}
816
817#[doc(hidden)]
818#[derive(Copy, Clone, Eq, PartialEq)]
819pub struct Cfifosel_SPEC;
820impl crate::sealed::RegSpec for Cfifosel_SPEC {
821 type DataType = u16;
822}
823
824#[doc = "CFIFO Port Select Register"]
825pub type Cfifosel = crate::RegValueT<Cfifosel_SPEC>;
826
827impl Cfifosel {
828 #[doc = "CFIFO Port Access Pipe Specification"]
829 #[inline(always)]
830 pub fn curpipe(
831 self,
832 ) -> crate::common::RegisterField<
833 0,
834 0xf,
835 1,
836 0,
837 cfifosel::Curpipe,
838 cfifosel::Curpipe,
839 Cfifosel_SPEC,
840 crate::common::RW,
841 > {
842 crate::common::RegisterField::<
843 0,
844 0xf,
845 1,
846 0,
847 cfifosel::Curpipe,
848 cfifosel::Curpipe,
849 Cfifosel_SPEC,
850 crate::common::RW,
851 >::from_register(self, 0)
852 }
853
854 #[doc = "CFIFO Port Access Direction When DCP Is Selected"]
855 #[inline(always)]
856 pub fn isel(
857 self,
858 ) -> crate::common::RegisterField<
859 5,
860 0x1,
861 1,
862 0,
863 cfifosel::Isel,
864 cfifosel::Isel,
865 Cfifosel_SPEC,
866 crate::common::RW,
867 > {
868 crate::common::RegisterField::<
869 5,
870 0x1,
871 1,
872 0,
873 cfifosel::Isel,
874 cfifosel::Isel,
875 Cfifosel_SPEC,
876 crate::common::RW,
877 >::from_register(self, 0)
878 }
879
880 #[doc = "CFIFO Port Endian Control"]
881 #[inline(always)]
882 pub fn bigend(
883 self,
884 ) -> crate::common::RegisterField<
885 8,
886 0x1,
887 1,
888 0,
889 cfifosel::Bigend,
890 cfifosel::Bigend,
891 Cfifosel_SPEC,
892 crate::common::RW,
893 > {
894 crate::common::RegisterField::<
895 8,
896 0x1,
897 1,
898 0,
899 cfifosel::Bigend,
900 cfifosel::Bigend,
901 Cfifosel_SPEC,
902 crate::common::RW,
903 >::from_register(self, 0)
904 }
905
906 #[doc = "CFIFO Port Access Bit Width"]
907 #[inline(always)]
908 pub fn mbw(
909 self,
910 ) -> crate::common::RegisterField<
911 10,
912 0x1,
913 1,
914 0,
915 cfifosel::Mbw,
916 cfifosel::Mbw,
917 Cfifosel_SPEC,
918 crate::common::RW,
919 > {
920 crate::common::RegisterField::<
921 10,
922 0x1,
923 1,
924 0,
925 cfifosel::Mbw,
926 cfifosel::Mbw,
927 Cfifosel_SPEC,
928 crate::common::RW,
929 >::from_register(self, 0)
930 }
931
932 #[doc = "Buffer Pointer Rewind"]
933 #[inline(always)]
934 pub fn rew(
935 self,
936 ) -> crate::common::RegisterField<
937 14,
938 0x1,
939 1,
940 0,
941 cfifosel::Rew,
942 cfifosel::Rew,
943 Cfifosel_SPEC,
944 crate::common::W,
945 > {
946 crate::common::RegisterField::<
947 14,
948 0x1,
949 1,
950 0,
951 cfifosel::Rew,
952 cfifosel::Rew,
953 Cfifosel_SPEC,
954 crate::common::W,
955 >::from_register(self, 0)
956 }
957
958 #[doc = "Read Count Mode"]
959 #[inline(always)]
960 pub fn rcnt(
961 self,
962 ) -> crate::common::RegisterField<
963 15,
964 0x1,
965 1,
966 0,
967 cfifosel::Rcnt,
968 cfifosel::Rcnt,
969 Cfifosel_SPEC,
970 crate::common::RW,
971 > {
972 crate::common::RegisterField::<
973 15,
974 0x1,
975 1,
976 0,
977 cfifosel::Rcnt,
978 cfifosel::Rcnt,
979 Cfifosel_SPEC,
980 crate::common::RW,
981 >::from_register(self, 0)
982 }
983}
984impl ::core::default::Default for Cfifosel {
985 #[inline(always)]
986 fn default() -> Cfifosel {
987 <crate::RegValueT<Cfifosel_SPEC> as RegisterValue<_>>::new(0)
988 }
989}
990pub mod cfifosel {
991
992 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
993 pub struct Curpipe_SPEC;
994 pub type Curpipe = crate::EnumBitfieldStruct<u8, Curpipe_SPEC>;
995 impl Curpipe {
996 #[doc = "Default Control Pipe"]
997 pub const _0_X_0: Self = Self::new(0);
998
999 #[doc = "Pipe 4"]
1000 pub const _0_X_4: Self = Self::new(4);
1001
1002 #[doc = "Pipe 5"]
1003 pub const _0_X_5: Self = Self::new(5);
1004
1005 #[doc = "Pipe 6"]
1006 pub const _0_X_6: Self = Self::new(6);
1007
1008 #[doc = "Pipe 7"]
1009 pub const _0_X_7: Self = Self::new(7);
1010 }
1011 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1012 pub struct Isel_SPEC;
1013 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
1014 impl Isel {
1015 #[doc = "Select reading from the FIFO buffer"]
1016 pub const _0: Self = Self::new(0);
1017
1018 #[doc = "Select writing to the FIFO buffer"]
1019 pub const _1: Self = Self::new(1);
1020 }
1021 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1022 pub struct Bigend_SPEC;
1023 pub type Bigend = crate::EnumBitfieldStruct<u8, Bigend_SPEC>;
1024 impl Bigend {
1025 #[doc = "Little endian"]
1026 pub const _0: Self = Self::new(0);
1027
1028 #[doc = "Big endian"]
1029 pub const _1: Self = Self::new(1);
1030 }
1031 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1032 pub struct Mbw_SPEC;
1033 pub type Mbw = crate::EnumBitfieldStruct<u8, Mbw_SPEC>;
1034 impl Mbw {
1035 #[doc = "8-bit width"]
1036 pub const _0: Self = Self::new(0);
1037
1038 #[doc = "16-bit width"]
1039 pub const _1: Self = Self::new(1);
1040 }
1041 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1042 pub struct Rew_SPEC;
1043 pub type Rew = crate::EnumBitfieldStruct<u8, Rew_SPEC>;
1044 impl Rew {
1045 #[doc = "Do not rewind buffer pointer"]
1046 pub const _0: Self = Self::new(0);
1047
1048 #[doc = "Rewind buffer pointer"]
1049 pub const _1: Self = Self::new(1);
1050 }
1051 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1052 pub struct Rcnt_SPEC;
1053 pub type Rcnt = crate::EnumBitfieldStruct<u8, Rcnt_SPEC>;
1054 impl Rcnt {
1055 #[doc = "The DTLN\\[8:0\\] bits (CFIFOCTR.DTLN\\[8:0\\]) are cleared when all receive data is read from the CFIFO. In double buffer mode, the DTLN\\[8:0\\] value is cleared when all data is read from only a single plane."]
1056 pub const _0: Self = Self::new(0);
1057
1058 #[doc = "The DTLN\\[8:0\\] bits are decremented each time the receive data is read from the CFIFO."]
1059 pub const _1: Self = Self::new(1);
1060 }
1061}
1062#[doc(hidden)]
1063#[derive(Copy, Clone, Eq, PartialEq)]
1064pub struct Cfifoctr_SPEC;
1065impl crate::sealed::RegSpec for Cfifoctr_SPEC {
1066 type DataType = u16;
1067}
1068
1069#[doc = "CFIFO Port Control Register"]
1070pub type Cfifoctr = crate::RegValueT<Cfifoctr_SPEC>;
1071
1072impl Cfifoctr {
1073 #[doc = "Receive Data Length"]
1074 #[inline(always)]
1075 pub fn dtln(
1076 self,
1077 ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Cfifoctr_SPEC, crate::common::R>
1078 {
1079 crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Cfifoctr_SPEC,crate::common::R>::from_register(self,0)
1080 }
1081
1082 #[doc = "FIFO Port Ready"]
1083 #[inline(always)]
1084 pub fn frdy(
1085 self,
1086 ) -> crate::common::RegisterField<
1087 13,
1088 0x1,
1089 1,
1090 0,
1091 cfifoctr::Frdy,
1092 cfifoctr::Frdy,
1093 Cfifoctr_SPEC,
1094 crate::common::R,
1095 > {
1096 crate::common::RegisterField::<
1097 13,
1098 0x1,
1099 1,
1100 0,
1101 cfifoctr::Frdy,
1102 cfifoctr::Frdy,
1103 Cfifoctr_SPEC,
1104 crate::common::R,
1105 >::from_register(self, 0)
1106 }
1107
1108 #[doc = "CPU Buffer Clear"]
1109 #[inline(always)]
1110 pub fn bclr(
1111 self,
1112 ) -> crate::common::RegisterField<
1113 14,
1114 0x1,
1115 1,
1116 0,
1117 cfifoctr::Bclr,
1118 cfifoctr::Bclr,
1119 Cfifoctr_SPEC,
1120 crate::common::W,
1121 > {
1122 crate::common::RegisterField::<
1123 14,
1124 0x1,
1125 1,
1126 0,
1127 cfifoctr::Bclr,
1128 cfifoctr::Bclr,
1129 Cfifoctr_SPEC,
1130 crate::common::W,
1131 >::from_register(self, 0)
1132 }
1133
1134 #[doc = "Buffer Memory Valid Flag"]
1135 #[inline(always)]
1136 pub fn bval(
1137 self,
1138 ) -> crate::common::RegisterField<
1139 15,
1140 0x1,
1141 1,
1142 0,
1143 cfifoctr::Bval,
1144 cfifoctr::Bval,
1145 Cfifoctr_SPEC,
1146 crate::common::RW,
1147 > {
1148 crate::common::RegisterField::<
1149 15,
1150 0x1,
1151 1,
1152 0,
1153 cfifoctr::Bval,
1154 cfifoctr::Bval,
1155 Cfifoctr_SPEC,
1156 crate::common::RW,
1157 >::from_register(self, 0)
1158 }
1159}
1160impl ::core::default::Default for Cfifoctr {
1161 #[inline(always)]
1162 fn default() -> Cfifoctr {
1163 <crate::RegValueT<Cfifoctr_SPEC> as RegisterValue<_>>::new(0)
1164 }
1165}
1166pub mod cfifoctr {
1167
1168 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1169 pub struct Frdy_SPEC;
1170 pub type Frdy = crate::EnumBitfieldStruct<u8, Frdy_SPEC>;
1171 impl Frdy {
1172 #[doc = "FIFO port access disabled"]
1173 pub const _0: Self = Self::new(0);
1174
1175 #[doc = "FIFO port access enabled"]
1176 pub const _1: Self = Self::new(1);
1177 }
1178 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1179 pub struct Bclr_SPEC;
1180 pub type Bclr = crate::EnumBitfieldStruct<u8, Bclr_SPEC>;
1181 impl Bclr {
1182 #[doc = "No operation"]
1183 pub const _0: Self = Self::new(0);
1184
1185 #[doc = "Clear FIFO buffer on the CPU side"]
1186 pub const _1: Self = Self::new(1);
1187 }
1188 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1189 pub struct Bval_SPEC;
1190 pub type Bval = crate::EnumBitfieldStruct<u8, Bval_SPEC>;
1191 impl Bval {
1192 #[doc = "Invalid (writing 0 has no effect)"]
1193 pub const _0: Self = Self::new(0);
1194
1195 #[doc = "Writing ended"]
1196 pub const _1: Self = Self::new(1);
1197 }
1198}
1199#[doc(hidden)]
1200#[derive(Copy, Clone, Eq, PartialEq)]
1201pub struct Intenb0_SPEC;
1202impl crate::sealed::RegSpec for Intenb0_SPEC {
1203 type DataType = u16;
1204}
1205
1206#[doc = "Interrupt Enable Register 0"]
1207pub type Intenb0 = crate::RegValueT<Intenb0_SPEC>;
1208
1209impl Intenb0 {
1210 #[doc = "Buffer Ready Interrupt Enable"]
1211 #[inline(always)]
1212 pub fn brdye(
1213 self,
1214 ) -> crate::common::RegisterField<
1215 8,
1216 0x1,
1217 1,
1218 0,
1219 intenb0::Brdye,
1220 intenb0::Brdye,
1221 Intenb0_SPEC,
1222 crate::common::RW,
1223 > {
1224 crate::common::RegisterField::<
1225 8,
1226 0x1,
1227 1,
1228 0,
1229 intenb0::Brdye,
1230 intenb0::Brdye,
1231 Intenb0_SPEC,
1232 crate::common::RW,
1233 >::from_register(self, 0)
1234 }
1235
1236 #[doc = "Buffer Not Ready Response Interrupt Enable"]
1237 #[inline(always)]
1238 pub fn nrdye(
1239 self,
1240 ) -> crate::common::RegisterField<
1241 9,
1242 0x1,
1243 1,
1244 0,
1245 intenb0::Nrdye,
1246 intenb0::Nrdye,
1247 Intenb0_SPEC,
1248 crate::common::RW,
1249 > {
1250 crate::common::RegisterField::<
1251 9,
1252 0x1,
1253 1,
1254 0,
1255 intenb0::Nrdye,
1256 intenb0::Nrdye,
1257 Intenb0_SPEC,
1258 crate::common::RW,
1259 >::from_register(self, 0)
1260 }
1261
1262 #[doc = "Buffer Empty Interrupt Enable"]
1263 #[inline(always)]
1264 pub fn bempe(
1265 self,
1266 ) -> crate::common::RegisterField<
1267 10,
1268 0x1,
1269 1,
1270 0,
1271 intenb0::Bempe,
1272 intenb0::Bempe,
1273 Intenb0_SPEC,
1274 crate::common::RW,
1275 > {
1276 crate::common::RegisterField::<
1277 10,
1278 0x1,
1279 1,
1280 0,
1281 intenb0::Bempe,
1282 intenb0::Bempe,
1283 Intenb0_SPEC,
1284 crate::common::RW,
1285 >::from_register(self, 0)
1286 }
1287
1288 #[doc = "Control Transfer Stage Transition Interrupt Enable"]
1289 #[inline(always)]
1290 pub fn ctre(
1291 self,
1292 ) -> crate::common::RegisterField<
1293 11,
1294 0x1,
1295 1,
1296 0,
1297 intenb0::Ctre,
1298 intenb0::Ctre,
1299 Intenb0_SPEC,
1300 crate::common::RW,
1301 > {
1302 crate::common::RegisterField::<
1303 11,
1304 0x1,
1305 1,
1306 0,
1307 intenb0::Ctre,
1308 intenb0::Ctre,
1309 Intenb0_SPEC,
1310 crate::common::RW,
1311 >::from_register(self, 0)
1312 }
1313
1314 #[doc = "Device State Transition Interrupt Enable"]
1315 #[inline(always)]
1316 pub fn dvse(
1317 self,
1318 ) -> crate::common::RegisterField<
1319 12,
1320 0x1,
1321 1,
1322 0,
1323 intenb0::Dvse,
1324 intenb0::Dvse,
1325 Intenb0_SPEC,
1326 crate::common::RW,
1327 > {
1328 crate::common::RegisterField::<
1329 12,
1330 0x1,
1331 1,
1332 0,
1333 intenb0::Dvse,
1334 intenb0::Dvse,
1335 Intenb0_SPEC,
1336 crate::common::RW,
1337 >::from_register(self, 0)
1338 }
1339
1340 #[doc = "Frame Number Update Interrupt Enable"]
1341 #[inline(always)]
1342 pub fn sofe(
1343 self,
1344 ) -> crate::common::RegisterField<
1345 13,
1346 0x1,
1347 1,
1348 0,
1349 intenb0::Sofe,
1350 intenb0::Sofe,
1351 Intenb0_SPEC,
1352 crate::common::RW,
1353 > {
1354 crate::common::RegisterField::<
1355 13,
1356 0x1,
1357 1,
1358 0,
1359 intenb0::Sofe,
1360 intenb0::Sofe,
1361 Intenb0_SPEC,
1362 crate::common::RW,
1363 >::from_register(self, 0)
1364 }
1365
1366 #[doc = "Resume Interrupt Enable"]
1367 #[inline(always)]
1368 pub fn rsme(
1369 self,
1370 ) -> crate::common::RegisterField<
1371 14,
1372 0x1,
1373 1,
1374 0,
1375 intenb0::Rsme,
1376 intenb0::Rsme,
1377 Intenb0_SPEC,
1378 crate::common::RW,
1379 > {
1380 crate::common::RegisterField::<
1381 14,
1382 0x1,
1383 1,
1384 0,
1385 intenb0::Rsme,
1386 intenb0::Rsme,
1387 Intenb0_SPEC,
1388 crate::common::RW,
1389 >::from_register(self, 0)
1390 }
1391
1392 #[doc = "VBUS Interrupt Enable"]
1393 #[inline(always)]
1394 pub fn vbse(
1395 self,
1396 ) -> crate::common::RegisterField<
1397 15,
1398 0x1,
1399 1,
1400 0,
1401 intenb0::Vbse,
1402 intenb0::Vbse,
1403 Intenb0_SPEC,
1404 crate::common::RW,
1405 > {
1406 crate::common::RegisterField::<
1407 15,
1408 0x1,
1409 1,
1410 0,
1411 intenb0::Vbse,
1412 intenb0::Vbse,
1413 Intenb0_SPEC,
1414 crate::common::RW,
1415 >::from_register(self, 0)
1416 }
1417}
1418impl ::core::default::Default for Intenb0 {
1419 #[inline(always)]
1420 fn default() -> Intenb0 {
1421 <crate::RegValueT<Intenb0_SPEC> as RegisterValue<_>>::new(0)
1422 }
1423}
1424pub mod intenb0 {
1425
1426 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1427 pub struct Brdye_SPEC;
1428 pub type Brdye = crate::EnumBitfieldStruct<u8, Brdye_SPEC>;
1429 impl Brdye {
1430 #[doc = "Disable interrupt request"]
1431 pub const _0: Self = Self::new(0);
1432
1433 #[doc = "Enable interrupt request"]
1434 pub const _1: Self = Self::new(1);
1435 }
1436 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1437 pub struct Nrdye_SPEC;
1438 pub type Nrdye = crate::EnumBitfieldStruct<u8, Nrdye_SPEC>;
1439 impl Nrdye {
1440 #[doc = "Disable interrupt request"]
1441 pub const _0: Self = Self::new(0);
1442
1443 #[doc = "Enable interrupt request"]
1444 pub const _1: Self = Self::new(1);
1445 }
1446 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1447 pub struct Bempe_SPEC;
1448 pub type Bempe = crate::EnumBitfieldStruct<u8, Bempe_SPEC>;
1449 impl Bempe {
1450 #[doc = "Disable interrupt request"]
1451 pub const _0: Self = Self::new(0);
1452
1453 #[doc = "Enable interrupt request"]
1454 pub const _1: Self = Self::new(1);
1455 }
1456 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1457 pub struct Ctre_SPEC;
1458 pub type Ctre = crate::EnumBitfieldStruct<u8, Ctre_SPEC>;
1459 impl Ctre {
1460 #[doc = "Disable interrupt request"]
1461 pub const _0: Self = Self::new(0);
1462
1463 #[doc = "Enable interrupt request"]
1464 pub const _1: Self = Self::new(1);
1465 }
1466 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1467 pub struct Dvse_SPEC;
1468 pub type Dvse = crate::EnumBitfieldStruct<u8, Dvse_SPEC>;
1469 impl Dvse {
1470 #[doc = "Disable interrupt request"]
1471 pub const _0: Self = Self::new(0);
1472
1473 #[doc = "Enable interrupt request"]
1474 pub const _1: Self = Self::new(1);
1475 }
1476 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1477 pub struct Sofe_SPEC;
1478 pub type Sofe = crate::EnumBitfieldStruct<u8, Sofe_SPEC>;
1479 impl Sofe {
1480 #[doc = "Disable interrupt request"]
1481 pub const _0: Self = Self::new(0);
1482
1483 #[doc = "Enable interrupt request"]
1484 pub const _1: Self = Self::new(1);
1485 }
1486 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1487 pub struct Rsme_SPEC;
1488 pub type Rsme = crate::EnumBitfieldStruct<u8, Rsme_SPEC>;
1489 impl Rsme {
1490 #[doc = "Disable interrupt request"]
1491 pub const _0: Self = Self::new(0);
1492
1493 #[doc = "Enable interrupt request"]
1494 pub const _1: Self = Self::new(1);
1495 }
1496 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1497 pub struct Vbse_SPEC;
1498 pub type Vbse = crate::EnumBitfieldStruct<u8, Vbse_SPEC>;
1499 impl Vbse {
1500 #[doc = "Disable interrupt request"]
1501 pub const _0: Self = Self::new(0);
1502
1503 #[doc = "Enable interrupt request"]
1504 pub const _1: Self = Self::new(1);
1505 }
1506}
1507#[doc(hidden)]
1508#[derive(Copy, Clone, Eq, PartialEq)]
1509pub struct Brdyenb_SPEC;
1510impl crate::sealed::RegSpec for Brdyenb_SPEC {
1511 type DataType = u16;
1512}
1513
1514#[doc = "BRDY Interrupt Enable Register"]
1515pub type Brdyenb = crate::RegValueT<Brdyenb_SPEC>;
1516
1517impl Brdyenb {
1518 #[doc = "BRDY Interrupt Enable for Pipe 0"]
1519 #[inline(always)]
1520 pub fn pipe0brdye(
1521 self,
1522 ) -> crate::common::RegisterField<
1523 0,
1524 0x1,
1525 1,
1526 0,
1527 brdyenb::Pipe0Brdye,
1528 brdyenb::Pipe0Brdye,
1529 Brdyenb_SPEC,
1530 crate::common::RW,
1531 > {
1532 crate::common::RegisterField::<
1533 0,
1534 0x1,
1535 1,
1536 0,
1537 brdyenb::Pipe0Brdye,
1538 brdyenb::Pipe0Brdye,
1539 Brdyenb_SPEC,
1540 crate::common::RW,
1541 >::from_register(self, 0)
1542 }
1543
1544 #[doc = "BRDY Interrupt Enable for Pipe 4"]
1545 #[inline(always)]
1546 pub fn pipe4brdye(
1547 self,
1548 ) -> crate::common::RegisterField<
1549 4,
1550 0x1,
1551 1,
1552 0,
1553 brdyenb::Pipe4Brdye,
1554 brdyenb::Pipe4Brdye,
1555 Brdyenb_SPEC,
1556 crate::common::RW,
1557 > {
1558 crate::common::RegisterField::<
1559 4,
1560 0x1,
1561 1,
1562 0,
1563 brdyenb::Pipe4Brdye,
1564 brdyenb::Pipe4Brdye,
1565 Brdyenb_SPEC,
1566 crate::common::RW,
1567 >::from_register(self, 0)
1568 }
1569
1570 #[doc = "BRDY Interrupt Enable for Pipe 5"]
1571 #[inline(always)]
1572 pub fn pipe5brdye(
1573 self,
1574 ) -> crate::common::RegisterField<
1575 5,
1576 0x1,
1577 1,
1578 0,
1579 brdyenb::Pipe5Brdye,
1580 brdyenb::Pipe5Brdye,
1581 Brdyenb_SPEC,
1582 crate::common::RW,
1583 > {
1584 crate::common::RegisterField::<
1585 5,
1586 0x1,
1587 1,
1588 0,
1589 brdyenb::Pipe5Brdye,
1590 brdyenb::Pipe5Brdye,
1591 Brdyenb_SPEC,
1592 crate::common::RW,
1593 >::from_register(self, 0)
1594 }
1595
1596 #[doc = "BRDY Interrupt Enable for Pipe 6"]
1597 #[inline(always)]
1598 pub fn pipe6brdye(
1599 self,
1600 ) -> crate::common::RegisterField<
1601 6,
1602 0x1,
1603 1,
1604 0,
1605 brdyenb::Pipe6Brdye,
1606 brdyenb::Pipe6Brdye,
1607 Brdyenb_SPEC,
1608 crate::common::RW,
1609 > {
1610 crate::common::RegisterField::<
1611 6,
1612 0x1,
1613 1,
1614 0,
1615 brdyenb::Pipe6Brdye,
1616 brdyenb::Pipe6Brdye,
1617 Brdyenb_SPEC,
1618 crate::common::RW,
1619 >::from_register(self, 0)
1620 }
1621
1622 #[doc = "BRDY Interrupt Enable for Pipe 7"]
1623 #[inline(always)]
1624 pub fn pipe7brdye(
1625 self,
1626 ) -> crate::common::RegisterField<
1627 7,
1628 0x1,
1629 1,
1630 0,
1631 brdyenb::Pipe7Brdye,
1632 brdyenb::Pipe7Brdye,
1633 Brdyenb_SPEC,
1634 crate::common::RW,
1635 > {
1636 crate::common::RegisterField::<
1637 7,
1638 0x1,
1639 1,
1640 0,
1641 brdyenb::Pipe7Brdye,
1642 brdyenb::Pipe7Brdye,
1643 Brdyenb_SPEC,
1644 crate::common::RW,
1645 >::from_register(self, 0)
1646 }
1647}
1648impl ::core::default::Default for Brdyenb {
1649 #[inline(always)]
1650 fn default() -> Brdyenb {
1651 <crate::RegValueT<Brdyenb_SPEC> as RegisterValue<_>>::new(0)
1652 }
1653}
1654pub mod brdyenb {
1655
1656 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1657 pub struct Pipe0Brdye_SPEC;
1658 pub type Pipe0Brdye = crate::EnumBitfieldStruct<u8, Pipe0Brdye_SPEC>;
1659 impl Pipe0Brdye {
1660 #[doc = "Disable interrupt request"]
1661 pub const _0: Self = Self::new(0);
1662
1663 #[doc = "Enable interrupt request"]
1664 pub const _1: Self = Self::new(1);
1665 }
1666 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1667 pub struct Pipe4Brdye_SPEC;
1668 pub type Pipe4Brdye = crate::EnumBitfieldStruct<u8, Pipe4Brdye_SPEC>;
1669 impl Pipe4Brdye {
1670 #[doc = "Disable interrupt request"]
1671 pub const _0: Self = Self::new(0);
1672
1673 #[doc = "Enable interrupt request"]
1674 pub const _1: Self = Self::new(1);
1675 }
1676 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1677 pub struct Pipe5Brdye_SPEC;
1678 pub type Pipe5Brdye = crate::EnumBitfieldStruct<u8, Pipe5Brdye_SPEC>;
1679 impl Pipe5Brdye {
1680 #[doc = "Disable interrupt request"]
1681 pub const _0: Self = Self::new(0);
1682
1683 #[doc = "Enable interrupt request"]
1684 pub const _1: Self = Self::new(1);
1685 }
1686 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1687 pub struct Pipe6Brdye_SPEC;
1688 pub type Pipe6Brdye = crate::EnumBitfieldStruct<u8, Pipe6Brdye_SPEC>;
1689 impl Pipe6Brdye {
1690 #[doc = "Disable interrupt request"]
1691 pub const _0: Self = Self::new(0);
1692
1693 #[doc = "Enable interrupt request"]
1694 pub const _1: Self = Self::new(1);
1695 }
1696 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1697 pub struct Pipe7Brdye_SPEC;
1698 pub type Pipe7Brdye = crate::EnumBitfieldStruct<u8, Pipe7Brdye_SPEC>;
1699 impl Pipe7Brdye {
1700 #[doc = "Disable interrupt request"]
1701 pub const _0: Self = Self::new(0);
1702
1703 #[doc = "Enable interrupt request"]
1704 pub const _1: Self = Self::new(1);
1705 }
1706}
1707#[doc(hidden)]
1708#[derive(Copy, Clone, Eq, PartialEq)]
1709pub struct Nrdyenb_SPEC;
1710impl crate::sealed::RegSpec for Nrdyenb_SPEC {
1711 type DataType = u16;
1712}
1713
1714#[doc = "NRDY Interrupt Enable Register"]
1715pub type Nrdyenb = crate::RegValueT<Nrdyenb_SPEC>;
1716
1717impl Nrdyenb {
1718 #[doc = "NRDY Interrupt Enable for Pipe 0"]
1719 #[inline(always)]
1720 pub fn pipe0nrdye(
1721 self,
1722 ) -> crate::common::RegisterField<
1723 0,
1724 0x1,
1725 1,
1726 0,
1727 nrdyenb::Pipe0Nrdye,
1728 nrdyenb::Pipe0Nrdye,
1729 Nrdyenb_SPEC,
1730 crate::common::RW,
1731 > {
1732 crate::common::RegisterField::<
1733 0,
1734 0x1,
1735 1,
1736 0,
1737 nrdyenb::Pipe0Nrdye,
1738 nrdyenb::Pipe0Nrdye,
1739 Nrdyenb_SPEC,
1740 crate::common::RW,
1741 >::from_register(self, 0)
1742 }
1743
1744 #[doc = "NRDY Interrupt Enable for Pipe 4"]
1745 #[inline(always)]
1746 pub fn pipe4nrdye(
1747 self,
1748 ) -> crate::common::RegisterField<
1749 4,
1750 0x1,
1751 1,
1752 0,
1753 nrdyenb::Pipe4Nrdye,
1754 nrdyenb::Pipe4Nrdye,
1755 Nrdyenb_SPEC,
1756 crate::common::RW,
1757 > {
1758 crate::common::RegisterField::<
1759 4,
1760 0x1,
1761 1,
1762 0,
1763 nrdyenb::Pipe4Nrdye,
1764 nrdyenb::Pipe4Nrdye,
1765 Nrdyenb_SPEC,
1766 crate::common::RW,
1767 >::from_register(self, 0)
1768 }
1769
1770 #[doc = "NRDY Interrupt Enable for Pipe 5"]
1771 #[inline(always)]
1772 pub fn pipe5nrdye(
1773 self,
1774 ) -> crate::common::RegisterField<
1775 5,
1776 0x1,
1777 1,
1778 0,
1779 nrdyenb::Pipe5Nrdye,
1780 nrdyenb::Pipe5Nrdye,
1781 Nrdyenb_SPEC,
1782 crate::common::RW,
1783 > {
1784 crate::common::RegisterField::<
1785 5,
1786 0x1,
1787 1,
1788 0,
1789 nrdyenb::Pipe5Nrdye,
1790 nrdyenb::Pipe5Nrdye,
1791 Nrdyenb_SPEC,
1792 crate::common::RW,
1793 >::from_register(self, 0)
1794 }
1795
1796 #[doc = "NRDY Interrupt Enable for Pipe 6"]
1797 #[inline(always)]
1798 pub fn pipe6nrdye(
1799 self,
1800 ) -> crate::common::RegisterField<
1801 6,
1802 0x1,
1803 1,
1804 0,
1805 nrdyenb::Pipe6Nrdye,
1806 nrdyenb::Pipe6Nrdye,
1807 Nrdyenb_SPEC,
1808 crate::common::RW,
1809 > {
1810 crate::common::RegisterField::<
1811 6,
1812 0x1,
1813 1,
1814 0,
1815 nrdyenb::Pipe6Nrdye,
1816 nrdyenb::Pipe6Nrdye,
1817 Nrdyenb_SPEC,
1818 crate::common::RW,
1819 >::from_register(self, 0)
1820 }
1821
1822 #[doc = "NRDY Interrupt Enable for Pipe 7"]
1823 #[inline(always)]
1824 pub fn pipe7nrdye(
1825 self,
1826 ) -> crate::common::RegisterField<
1827 7,
1828 0x1,
1829 1,
1830 0,
1831 nrdyenb::Pipe7Nrdye,
1832 nrdyenb::Pipe7Nrdye,
1833 Nrdyenb_SPEC,
1834 crate::common::RW,
1835 > {
1836 crate::common::RegisterField::<
1837 7,
1838 0x1,
1839 1,
1840 0,
1841 nrdyenb::Pipe7Nrdye,
1842 nrdyenb::Pipe7Nrdye,
1843 Nrdyenb_SPEC,
1844 crate::common::RW,
1845 >::from_register(self, 0)
1846 }
1847}
1848impl ::core::default::Default for Nrdyenb {
1849 #[inline(always)]
1850 fn default() -> Nrdyenb {
1851 <crate::RegValueT<Nrdyenb_SPEC> as RegisterValue<_>>::new(0)
1852 }
1853}
1854pub mod nrdyenb {
1855
1856 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1857 pub struct Pipe0Nrdye_SPEC;
1858 pub type Pipe0Nrdye = crate::EnumBitfieldStruct<u8, Pipe0Nrdye_SPEC>;
1859 impl Pipe0Nrdye {
1860 #[doc = "Disable interrupt request"]
1861 pub const _0: Self = Self::new(0);
1862
1863 #[doc = "Enable interrupt request"]
1864 pub const _1: Self = Self::new(1);
1865 }
1866 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1867 pub struct Pipe4Nrdye_SPEC;
1868 pub type Pipe4Nrdye = crate::EnumBitfieldStruct<u8, Pipe4Nrdye_SPEC>;
1869 impl Pipe4Nrdye {
1870 #[doc = "Disable interrupt request"]
1871 pub const _0: Self = Self::new(0);
1872
1873 #[doc = "Enable interrupt request"]
1874 pub const _1: Self = Self::new(1);
1875 }
1876 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1877 pub struct Pipe5Nrdye_SPEC;
1878 pub type Pipe5Nrdye = crate::EnumBitfieldStruct<u8, Pipe5Nrdye_SPEC>;
1879 impl Pipe5Nrdye {
1880 #[doc = "Disable interrupt request"]
1881 pub const _0: Self = Self::new(0);
1882
1883 #[doc = "Enable interrupt request"]
1884 pub const _1: Self = Self::new(1);
1885 }
1886 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1887 pub struct Pipe6Nrdye_SPEC;
1888 pub type Pipe6Nrdye = crate::EnumBitfieldStruct<u8, Pipe6Nrdye_SPEC>;
1889 impl Pipe6Nrdye {
1890 #[doc = "Disable interrupt request"]
1891 pub const _0: Self = Self::new(0);
1892
1893 #[doc = "Enable interrupt request"]
1894 pub const _1: Self = Self::new(1);
1895 }
1896 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1897 pub struct Pipe7Nrdye_SPEC;
1898 pub type Pipe7Nrdye = crate::EnumBitfieldStruct<u8, Pipe7Nrdye_SPEC>;
1899 impl Pipe7Nrdye {
1900 #[doc = "Disable interrupt request"]
1901 pub const _0: Self = Self::new(0);
1902
1903 #[doc = "Enable interrupt request"]
1904 pub const _1: Self = Self::new(1);
1905 }
1906}
1907#[doc(hidden)]
1908#[derive(Copy, Clone, Eq, PartialEq)]
1909pub struct Bempenb_SPEC;
1910impl crate::sealed::RegSpec for Bempenb_SPEC {
1911 type DataType = u16;
1912}
1913
1914#[doc = "BEMP Interrupt Enable Register"]
1915pub type Bempenb = crate::RegValueT<Bempenb_SPEC>;
1916
1917impl Bempenb {
1918 #[doc = "BEMP Interrupt Enable for Pipe 0"]
1919 #[inline(always)]
1920 pub fn pipe0bempe(
1921 self,
1922 ) -> crate::common::RegisterField<
1923 0,
1924 0x1,
1925 1,
1926 0,
1927 bempenb::Pipe0Bempe,
1928 bempenb::Pipe0Bempe,
1929 Bempenb_SPEC,
1930 crate::common::RW,
1931 > {
1932 crate::common::RegisterField::<
1933 0,
1934 0x1,
1935 1,
1936 0,
1937 bempenb::Pipe0Bempe,
1938 bempenb::Pipe0Bempe,
1939 Bempenb_SPEC,
1940 crate::common::RW,
1941 >::from_register(self, 0)
1942 }
1943
1944 #[doc = "BEMP Interrupt Enable for Pipe 4"]
1945 #[inline(always)]
1946 pub fn pipe4bempe(
1947 self,
1948 ) -> crate::common::RegisterField<
1949 4,
1950 0x1,
1951 1,
1952 0,
1953 bempenb::Pipe4Bempe,
1954 bempenb::Pipe4Bempe,
1955 Bempenb_SPEC,
1956 crate::common::RW,
1957 > {
1958 crate::common::RegisterField::<
1959 4,
1960 0x1,
1961 1,
1962 0,
1963 bempenb::Pipe4Bempe,
1964 bempenb::Pipe4Bempe,
1965 Bempenb_SPEC,
1966 crate::common::RW,
1967 >::from_register(self, 0)
1968 }
1969
1970 #[doc = "BEMP Interrupt Enable for Pipe 5"]
1971 #[inline(always)]
1972 pub fn pipe5bempe(
1973 self,
1974 ) -> crate::common::RegisterField<
1975 5,
1976 0x1,
1977 1,
1978 0,
1979 bempenb::Pipe5Bempe,
1980 bempenb::Pipe5Bempe,
1981 Bempenb_SPEC,
1982 crate::common::RW,
1983 > {
1984 crate::common::RegisterField::<
1985 5,
1986 0x1,
1987 1,
1988 0,
1989 bempenb::Pipe5Bempe,
1990 bempenb::Pipe5Bempe,
1991 Bempenb_SPEC,
1992 crate::common::RW,
1993 >::from_register(self, 0)
1994 }
1995
1996 #[doc = "BEMP Interrupt Enable for Pipe 6"]
1997 #[inline(always)]
1998 pub fn pipe6bempe(
1999 self,
2000 ) -> crate::common::RegisterField<
2001 6,
2002 0x1,
2003 1,
2004 0,
2005 bempenb::Pipe6Bempe,
2006 bempenb::Pipe6Bempe,
2007 Bempenb_SPEC,
2008 crate::common::RW,
2009 > {
2010 crate::common::RegisterField::<
2011 6,
2012 0x1,
2013 1,
2014 0,
2015 bempenb::Pipe6Bempe,
2016 bempenb::Pipe6Bempe,
2017 Bempenb_SPEC,
2018 crate::common::RW,
2019 >::from_register(self, 0)
2020 }
2021
2022 #[doc = "BEMP Interrupt Enable for Pipe 7"]
2023 #[inline(always)]
2024 pub fn pipe7bempe(
2025 self,
2026 ) -> crate::common::RegisterField<
2027 7,
2028 0x1,
2029 1,
2030 0,
2031 bempenb::Pipe7Bempe,
2032 bempenb::Pipe7Bempe,
2033 Bempenb_SPEC,
2034 crate::common::RW,
2035 > {
2036 crate::common::RegisterField::<
2037 7,
2038 0x1,
2039 1,
2040 0,
2041 bempenb::Pipe7Bempe,
2042 bempenb::Pipe7Bempe,
2043 Bempenb_SPEC,
2044 crate::common::RW,
2045 >::from_register(self, 0)
2046 }
2047}
2048impl ::core::default::Default for Bempenb {
2049 #[inline(always)]
2050 fn default() -> Bempenb {
2051 <crate::RegValueT<Bempenb_SPEC> as RegisterValue<_>>::new(0)
2052 }
2053}
2054pub mod bempenb {
2055
2056 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2057 pub struct Pipe0Bempe_SPEC;
2058 pub type Pipe0Bempe = crate::EnumBitfieldStruct<u8, Pipe0Bempe_SPEC>;
2059 impl Pipe0Bempe {
2060 #[doc = "Disable interrupt request"]
2061 pub const _0: Self = Self::new(0);
2062
2063 #[doc = "Enable interrupt request"]
2064 pub const _1: Self = Self::new(1);
2065 }
2066 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2067 pub struct Pipe4Bempe_SPEC;
2068 pub type Pipe4Bempe = crate::EnumBitfieldStruct<u8, Pipe4Bempe_SPEC>;
2069 impl Pipe4Bempe {
2070 #[doc = "Disable interrupt request"]
2071 pub const _0: Self = Self::new(0);
2072
2073 #[doc = "Enable interrupt request"]
2074 pub const _1: Self = Self::new(1);
2075 }
2076 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2077 pub struct Pipe5Bempe_SPEC;
2078 pub type Pipe5Bempe = crate::EnumBitfieldStruct<u8, Pipe5Bempe_SPEC>;
2079 impl Pipe5Bempe {
2080 #[doc = "Disable interrupt request"]
2081 pub const _0: Self = Self::new(0);
2082
2083 #[doc = "Enable interrupt request"]
2084 pub const _1: Self = Self::new(1);
2085 }
2086 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2087 pub struct Pipe6Bempe_SPEC;
2088 pub type Pipe6Bempe = crate::EnumBitfieldStruct<u8, Pipe6Bempe_SPEC>;
2089 impl Pipe6Bempe {
2090 #[doc = "Disable interrupt request"]
2091 pub const _0: Self = Self::new(0);
2092
2093 #[doc = "Enable interrupt request"]
2094 pub const _1: Self = Self::new(1);
2095 }
2096 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2097 pub struct Pipe7Bempe_SPEC;
2098 pub type Pipe7Bempe = crate::EnumBitfieldStruct<u8, Pipe7Bempe_SPEC>;
2099 impl Pipe7Bempe {
2100 #[doc = "Disable interrupt request"]
2101 pub const _0: Self = Self::new(0);
2102
2103 #[doc = "Enable interrupt request"]
2104 pub const _1: Self = Self::new(1);
2105 }
2106}
2107#[doc(hidden)]
2108#[derive(Copy, Clone, Eq, PartialEq)]
2109pub struct Sofcfg_SPEC;
2110impl crate::sealed::RegSpec for Sofcfg_SPEC {
2111 type DataType = u16;
2112}
2113
2114#[doc = "SOF Output Configuration Register"]
2115pub type Sofcfg = crate::RegValueT<Sofcfg_SPEC>;
2116
2117impl Sofcfg {
2118 #[doc = "Edge Interrupt Output Status Monitor"]
2119 #[inline(always)]
2120 pub fn edgests(
2121 self,
2122 ) -> crate::common::RegisterFieldBool<4, 1, 0, Sofcfg_SPEC, crate::common::R> {
2123 crate::common::RegisterFieldBool::<4, 1, 0, Sofcfg_SPEC, crate::common::R>::from_register(
2124 self, 0,
2125 )
2126 }
2127
2128 #[doc = "BRDY Interrupt Status Clear Timing"]
2129 #[inline(always)]
2130 pub fn brdym(
2131 self,
2132 ) -> crate::common::RegisterField<
2133 6,
2134 0x1,
2135 1,
2136 0,
2137 sofcfg::Brdym,
2138 sofcfg::Brdym,
2139 Sofcfg_SPEC,
2140 crate::common::RW,
2141 > {
2142 crate::common::RegisterField::<
2143 6,
2144 0x1,
2145 1,
2146 0,
2147 sofcfg::Brdym,
2148 sofcfg::Brdym,
2149 Sofcfg_SPEC,
2150 crate::common::RW,
2151 >::from_register(self, 0)
2152 }
2153}
2154impl ::core::default::Default for Sofcfg {
2155 #[inline(always)]
2156 fn default() -> Sofcfg {
2157 <crate::RegValueT<Sofcfg_SPEC> as RegisterValue<_>>::new(0)
2158 }
2159}
2160pub mod sofcfg {
2161
2162 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2163 pub struct Brdym_SPEC;
2164 pub type Brdym = crate::EnumBitfieldStruct<u8, Brdym_SPEC>;
2165 impl Brdym {
2166 #[doc = "Clear BRDY flag by software"]
2167 pub const _0: Self = Self::new(0);
2168
2169 #[doc = "Clear BRDY flag by the USBFS through a data read from the FIFO buffer or data write to the FIFO buffer"]
2170 pub const _1: Self = Self::new(1);
2171 }
2172}
2173#[doc(hidden)]
2174#[derive(Copy, Clone, Eq, PartialEq)]
2175pub struct Intsts0_SPEC;
2176impl crate::sealed::RegSpec for Intsts0_SPEC {
2177 type DataType = u16;
2178}
2179
2180#[doc = "Interrupt Status Register 0"]
2181pub type Intsts0 = crate::RegValueT<Intsts0_SPEC>;
2182
2183impl Intsts0 {
2184 #[doc = "Control Transfer Stage"]
2185 #[inline(always)]
2186 pub fn ctsq(
2187 self,
2188 ) -> crate::common::RegisterField<
2189 0,
2190 0x7,
2191 1,
2192 0,
2193 intsts0::Ctsq,
2194 intsts0::Ctsq,
2195 Intsts0_SPEC,
2196 crate::common::R,
2197 > {
2198 crate::common::RegisterField::<
2199 0,
2200 0x7,
2201 1,
2202 0,
2203 intsts0::Ctsq,
2204 intsts0::Ctsq,
2205 Intsts0_SPEC,
2206 crate::common::R,
2207 >::from_register(self, 0)
2208 }
2209
2210 #[doc = "USB Request Reception"]
2211 #[inline(always)]
2212 pub fn valid(
2213 self,
2214 ) -> crate::common::RegisterField<
2215 3,
2216 0x1,
2217 1,
2218 0,
2219 intsts0::Valid,
2220 intsts0::Valid,
2221 Intsts0_SPEC,
2222 crate::common::RW,
2223 > {
2224 crate::common::RegisterField::<
2225 3,
2226 0x1,
2227 1,
2228 0,
2229 intsts0::Valid,
2230 intsts0::Valid,
2231 Intsts0_SPEC,
2232 crate::common::RW,
2233 >::from_register(self, 0)
2234 }
2235
2236 #[doc = "Device State"]
2237 #[inline(always)]
2238 pub fn dvsq(
2239 self,
2240 ) -> crate::common::RegisterField<
2241 4,
2242 0x7,
2243 1,
2244 0,
2245 intsts0::Dvsq,
2246 intsts0::Dvsq,
2247 Intsts0_SPEC,
2248 crate::common::R,
2249 > {
2250 crate::common::RegisterField::<
2251 4,
2252 0x7,
2253 1,
2254 0,
2255 intsts0::Dvsq,
2256 intsts0::Dvsq,
2257 Intsts0_SPEC,
2258 crate::common::R,
2259 >::from_register(self, 0)
2260 }
2261
2262 #[doc = "VBUS Input Status"]
2263 #[inline(always)]
2264 pub fn vbsts(
2265 self,
2266 ) -> crate::common::RegisterField<
2267 7,
2268 0x1,
2269 1,
2270 0,
2271 intsts0::Vbsts,
2272 intsts0::Vbsts,
2273 Intsts0_SPEC,
2274 crate::common::R,
2275 > {
2276 crate::common::RegisterField::<
2277 7,
2278 0x1,
2279 1,
2280 0,
2281 intsts0::Vbsts,
2282 intsts0::Vbsts,
2283 Intsts0_SPEC,
2284 crate::common::R,
2285 >::from_register(self, 0)
2286 }
2287
2288 #[doc = "Buffer Ready Interrupt Status"]
2289 #[inline(always)]
2290 pub fn brdy(
2291 self,
2292 ) -> crate::common::RegisterField<
2293 8,
2294 0x1,
2295 1,
2296 0,
2297 intsts0::Brdy,
2298 intsts0::Brdy,
2299 Intsts0_SPEC,
2300 crate::common::R,
2301 > {
2302 crate::common::RegisterField::<
2303 8,
2304 0x1,
2305 1,
2306 0,
2307 intsts0::Brdy,
2308 intsts0::Brdy,
2309 Intsts0_SPEC,
2310 crate::common::R,
2311 >::from_register(self, 0)
2312 }
2313
2314 #[doc = "Buffer Not Ready Interrupt Status"]
2315 #[inline(always)]
2316 pub fn nrdy(
2317 self,
2318 ) -> crate::common::RegisterField<
2319 9,
2320 0x1,
2321 1,
2322 0,
2323 intsts0::Nrdy,
2324 intsts0::Nrdy,
2325 Intsts0_SPEC,
2326 crate::common::R,
2327 > {
2328 crate::common::RegisterField::<
2329 9,
2330 0x1,
2331 1,
2332 0,
2333 intsts0::Nrdy,
2334 intsts0::Nrdy,
2335 Intsts0_SPEC,
2336 crate::common::R,
2337 >::from_register(self, 0)
2338 }
2339
2340 #[doc = "Buffer Empty Interrupt Status"]
2341 #[inline(always)]
2342 pub fn bemp(
2343 self,
2344 ) -> crate::common::RegisterField<
2345 10,
2346 0x1,
2347 1,
2348 0,
2349 intsts0::Bemp,
2350 intsts0::Bemp,
2351 Intsts0_SPEC,
2352 crate::common::R,
2353 > {
2354 crate::common::RegisterField::<
2355 10,
2356 0x1,
2357 1,
2358 0,
2359 intsts0::Bemp,
2360 intsts0::Bemp,
2361 Intsts0_SPEC,
2362 crate::common::R,
2363 >::from_register(self, 0)
2364 }
2365
2366 #[doc = "Control Transfer Stage Transition Interrupt Status"]
2367 #[inline(always)]
2368 pub fn ctrt(
2369 self,
2370 ) -> crate::common::RegisterField<
2371 11,
2372 0x1,
2373 1,
2374 0,
2375 intsts0::Ctrt,
2376 intsts0::Ctrt,
2377 Intsts0_SPEC,
2378 crate::common::RW,
2379 > {
2380 crate::common::RegisterField::<
2381 11,
2382 0x1,
2383 1,
2384 0,
2385 intsts0::Ctrt,
2386 intsts0::Ctrt,
2387 Intsts0_SPEC,
2388 crate::common::RW,
2389 >::from_register(self, 0)
2390 }
2391
2392 #[doc = "Device State Transition Interrupt Status"]
2393 #[inline(always)]
2394 pub fn dvst(
2395 self,
2396 ) -> crate::common::RegisterField<
2397 12,
2398 0x1,
2399 1,
2400 0,
2401 intsts0::Dvst,
2402 intsts0::Dvst,
2403 Intsts0_SPEC,
2404 crate::common::RW,
2405 > {
2406 crate::common::RegisterField::<
2407 12,
2408 0x1,
2409 1,
2410 0,
2411 intsts0::Dvst,
2412 intsts0::Dvst,
2413 Intsts0_SPEC,
2414 crate::common::RW,
2415 >::from_register(self, 0)
2416 }
2417
2418 #[doc = "Frame Number Refresh Interrupt Status"]
2419 #[inline(always)]
2420 pub fn sofr(
2421 self,
2422 ) -> crate::common::RegisterField<
2423 13,
2424 0x1,
2425 1,
2426 0,
2427 intsts0::Sofr,
2428 intsts0::Sofr,
2429 Intsts0_SPEC,
2430 crate::common::RW,
2431 > {
2432 crate::common::RegisterField::<
2433 13,
2434 0x1,
2435 1,
2436 0,
2437 intsts0::Sofr,
2438 intsts0::Sofr,
2439 Intsts0_SPEC,
2440 crate::common::RW,
2441 >::from_register(self, 0)
2442 }
2443
2444 #[doc = "Resume Interrupt Status"]
2445 #[inline(always)]
2446 pub fn resm(
2447 self,
2448 ) -> crate::common::RegisterField<
2449 14,
2450 0x1,
2451 1,
2452 0,
2453 intsts0::Resm,
2454 intsts0::Resm,
2455 Intsts0_SPEC,
2456 crate::common::RW,
2457 > {
2458 crate::common::RegisterField::<
2459 14,
2460 0x1,
2461 1,
2462 0,
2463 intsts0::Resm,
2464 intsts0::Resm,
2465 Intsts0_SPEC,
2466 crate::common::RW,
2467 >::from_register(self, 0)
2468 }
2469
2470 #[doc = "VBUS Interrupt Status"]
2471 #[inline(always)]
2472 pub fn vbint(
2473 self,
2474 ) -> crate::common::RegisterField<
2475 15,
2476 0x1,
2477 1,
2478 0,
2479 intsts0::Vbint,
2480 intsts0::Vbint,
2481 Intsts0_SPEC,
2482 crate::common::RW,
2483 > {
2484 crate::common::RegisterField::<
2485 15,
2486 0x1,
2487 1,
2488 0,
2489 intsts0::Vbint,
2490 intsts0::Vbint,
2491 Intsts0_SPEC,
2492 crate::common::RW,
2493 >::from_register(self, 0)
2494 }
2495}
2496impl ::core::default::Default for Intsts0 {
2497 #[inline(always)]
2498 fn default() -> Intsts0 {
2499 <crate::RegValueT<Intsts0_SPEC> as RegisterValue<_>>::new(0)
2500 }
2501}
2502pub mod intsts0 {
2503
2504 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2505 pub struct Ctsq_SPEC;
2506 pub type Ctsq = crate::EnumBitfieldStruct<u8, Ctsq_SPEC>;
2507 impl Ctsq {
2508 #[doc = "Idle or setup stage"]
2509 pub const _000: Self = Self::new(0);
2510
2511 #[doc = "Control read data stage"]
2512 pub const _001: Self = Self::new(1);
2513
2514 #[doc = "Control read status stage"]
2515 pub const _010: Self = Self::new(2);
2516
2517 #[doc = "Control write data stage"]
2518 pub const _011: Self = Self::new(3);
2519
2520 #[doc = "Control write status stage"]
2521 pub const _100: Self = Self::new(4);
2522
2523 #[doc = "Control write (no data) status stage"]
2524 pub const _101: Self = Self::new(5);
2525
2526 #[doc = "Control transfer sequence error"]
2527 pub const _110: Self = Self::new(6);
2528 }
2529 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2530 pub struct Valid_SPEC;
2531 pub type Valid = crate::EnumBitfieldStruct<u8, Valid_SPEC>;
2532 impl Valid {
2533 #[doc = "Setup packet not received"]
2534 pub const _0: Self = Self::new(0);
2535
2536 #[doc = "Setup packet received"]
2537 pub const _1: Self = Self::new(1);
2538 }
2539 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2540 pub struct Dvsq_SPEC;
2541 pub type Dvsq = crate::EnumBitfieldStruct<u8, Dvsq_SPEC>;
2542 impl Dvsq {
2543 #[doc = "Powered state"]
2544 pub const _000: Self = Self::new(0);
2545
2546 #[doc = "Default state"]
2547 pub const _001: Self = Self::new(1);
2548
2549 #[doc = "Address state"]
2550 pub const _010: Self = Self::new(2);
2551
2552 #[doc = "Configured state"]
2553 pub const _011: Self = Self::new(3);
2554 }
2555 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2556 pub struct Vbsts_SPEC;
2557 pub type Vbsts = crate::EnumBitfieldStruct<u8, Vbsts_SPEC>;
2558 impl Vbsts {
2559 #[doc = "USB_VBUS pin is low"]
2560 pub const _0: Self = Self::new(0);
2561
2562 #[doc = "USB_VBUS pin is high"]
2563 pub const _1: Self = Self::new(1);
2564 }
2565 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2566 pub struct Brdy_SPEC;
2567 pub type Brdy = crate::EnumBitfieldStruct<u8, Brdy_SPEC>;
2568 impl Brdy {
2569 #[doc = "No BRDY interrupt occurred"]
2570 pub const _0: Self = Self::new(0);
2571
2572 #[doc = "BRDY interrupt occurred"]
2573 pub const _1: Self = Self::new(1);
2574 }
2575 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2576 pub struct Nrdy_SPEC;
2577 pub type Nrdy = crate::EnumBitfieldStruct<u8, Nrdy_SPEC>;
2578 impl Nrdy {
2579 #[doc = "No NRDY interrupt occurred"]
2580 pub const _0: Self = Self::new(0);
2581
2582 #[doc = "NRDY interrupt occurred"]
2583 pub const _1: Self = Self::new(1);
2584 }
2585 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2586 pub struct Bemp_SPEC;
2587 pub type Bemp = crate::EnumBitfieldStruct<u8, Bemp_SPEC>;
2588 impl Bemp {
2589 #[doc = "No BEMP interrupt occurred"]
2590 pub const _0: Self = Self::new(0);
2591
2592 #[doc = "BEMP interrupt occurred"]
2593 pub const _1: Self = Self::new(1);
2594 }
2595 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2596 pub struct Ctrt_SPEC;
2597 pub type Ctrt = crate::EnumBitfieldStruct<u8, Ctrt_SPEC>;
2598 impl Ctrt {
2599 #[doc = "No control transfer stage transition interrupt occurred"]
2600 pub const _0: Self = Self::new(0);
2601
2602 #[doc = "Control transfer stage transition interrupt occurred"]
2603 pub const _1: Self = Self::new(1);
2604 }
2605 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2606 pub struct Dvst_SPEC;
2607 pub type Dvst = crate::EnumBitfieldStruct<u8, Dvst_SPEC>;
2608 impl Dvst {
2609 #[doc = "No device state transition interrupt occurred"]
2610 pub const _0: Self = Self::new(0);
2611
2612 #[doc = "Device state transition interrupt occurred"]
2613 pub const _1: Self = Self::new(1);
2614 }
2615 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2616 pub struct Sofr_SPEC;
2617 pub type Sofr = crate::EnumBitfieldStruct<u8, Sofr_SPEC>;
2618 impl Sofr {
2619 #[doc = "No SOF interrupt occurred"]
2620 pub const _0: Self = Self::new(0);
2621
2622 #[doc = "SOF interrupt occurred"]
2623 pub const _1: Self = Self::new(1);
2624 }
2625 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2626 pub struct Resm_SPEC;
2627 pub type Resm = crate::EnumBitfieldStruct<u8, Resm_SPEC>;
2628 impl Resm {
2629 #[doc = "No resume interrupt occurred"]
2630 pub const _0: Self = Self::new(0);
2631
2632 #[doc = "Resume interrupt occurred"]
2633 pub const _1: Self = Self::new(1);
2634 }
2635 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2636 pub struct Vbint_SPEC;
2637 pub type Vbint = crate::EnumBitfieldStruct<u8, Vbint_SPEC>;
2638 impl Vbint {
2639 #[doc = "No VBUS interrupt occurred"]
2640 pub const _0: Self = Self::new(0);
2641
2642 #[doc = "VBUS interrupt occurred"]
2643 pub const _1: Self = Self::new(1);
2644 }
2645}
2646#[doc(hidden)]
2647#[derive(Copy, Clone, Eq, PartialEq)]
2648pub struct Brdysts_SPEC;
2649impl crate::sealed::RegSpec for Brdysts_SPEC {
2650 type DataType = u16;
2651}
2652
2653#[doc = "BRDY Interrupt Status Register"]
2654pub type Brdysts = crate::RegValueT<Brdysts_SPEC>;
2655
2656impl Brdysts {
2657 #[doc = "BRDY Interrupt Status for Pipe 0"]
2658 #[inline(always)]
2659 pub fn pipe0brdy(
2660 self,
2661 ) -> crate::common::RegisterField<
2662 0,
2663 0x1,
2664 1,
2665 0,
2666 brdysts::Pipe0Brdy,
2667 brdysts::Pipe0Brdy,
2668 Brdysts_SPEC,
2669 crate::common::RW,
2670 > {
2671 crate::common::RegisterField::<
2672 0,
2673 0x1,
2674 1,
2675 0,
2676 brdysts::Pipe0Brdy,
2677 brdysts::Pipe0Brdy,
2678 Brdysts_SPEC,
2679 crate::common::RW,
2680 >::from_register(self, 0)
2681 }
2682
2683 #[doc = "BRDY Interrupt Status for Pipe 4"]
2684 #[inline(always)]
2685 pub fn pipe4brdy(
2686 self,
2687 ) -> crate::common::RegisterField<
2688 4,
2689 0x1,
2690 1,
2691 0,
2692 brdysts::Pipe4Brdy,
2693 brdysts::Pipe4Brdy,
2694 Brdysts_SPEC,
2695 crate::common::RW,
2696 > {
2697 crate::common::RegisterField::<
2698 4,
2699 0x1,
2700 1,
2701 0,
2702 brdysts::Pipe4Brdy,
2703 brdysts::Pipe4Brdy,
2704 Brdysts_SPEC,
2705 crate::common::RW,
2706 >::from_register(self, 0)
2707 }
2708
2709 #[doc = "BRDY Interrupt Status for Pipe 5"]
2710 #[inline(always)]
2711 pub fn pipe5brdy(
2712 self,
2713 ) -> crate::common::RegisterField<
2714 5,
2715 0x1,
2716 1,
2717 0,
2718 brdysts::Pipe5Brdy,
2719 brdysts::Pipe5Brdy,
2720 Brdysts_SPEC,
2721 crate::common::RW,
2722 > {
2723 crate::common::RegisterField::<
2724 5,
2725 0x1,
2726 1,
2727 0,
2728 brdysts::Pipe5Brdy,
2729 brdysts::Pipe5Brdy,
2730 Brdysts_SPEC,
2731 crate::common::RW,
2732 >::from_register(self, 0)
2733 }
2734
2735 #[doc = "BRDY Interrupt Status for Pipe 6"]
2736 #[inline(always)]
2737 pub fn pipe6brdy(
2738 self,
2739 ) -> crate::common::RegisterField<
2740 6,
2741 0x1,
2742 1,
2743 0,
2744 brdysts::Pipe6Brdy,
2745 brdysts::Pipe6Brdy,
2746 Brdysts_SPEC,
2747 crate::common::RW,
2748 > {
2749 crate::common::RegisterField::<
2750 6,
2751 0x1,
2752 1,
2753 0,
2754 brdysts::Pipe6Brdy,
2755 brdysts::Pipe6Brdy,
2756 Brdysts_SPEC,
2757 crate::common::RW,
2758 >::from_register(self, 0)
2759 }
2760
2761 #[doc = "BRDY Interrupt Status for Pipe 7"]
2762 #[inline(always)]
2763 pub fn pipe7brdy(
2764 self,
2765 ) -> crate::common::RegisterField<
2766 7,
2767 0x1,
2768 1,
2769 0,
2770 brdysts::Pipe7Brdy,
2771 brdysts::Pipe7Brdy,
2772 Brdysts_SPEC,
2773 crate::common::RW,
2774 > {
2775 crate::common::RegisterField::<
2776 7,
2777 0x1,
2778 1,
2779 0,
2780 brdysts::Pipe7Brdy,
2781 brdysts::Pipe7Brdy,
2782 Brdysts_SPEC,
2783 crate::common::RW,
2784 >::from_register(self, 0)
2785 }
2786}
2787impl ::core::default::Default for Brdysts {
2788 #[inline(always)]
2789 fn default() -> Brdysts {
2790 <crate::RegValueT<Brdysts_SPEC> as RegisterValue<_>>::new(0)
2791 }
2792}
2793pub mod brdysts {
2794
2795 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2796 pub struct Pipe0Brdy_SPEC;
2797 pub type Pipe0Brdy = crate::EnumBitfieldStruct<u8, Pipe0Brdy_SPEC>;
2798 impl Pipe0Brdy {
2799 #[doc = "No BRDY interrupt occurred"]
2800 pub const _0: Self = Self::new(0);
2801
2802 #[doc = "BRDY interrupt occurred"]
2803 pub const _1: Self = Self::new(1);
2804 }
2805 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2806 pub struct Pipe4Brdy_SPEC;
2807 pub type Pipe4Brdy = crate::EnumBitfieldStruct<u8, Pipe4Brdy_SPEC>;
2808 impl Pipe4Brdy {
2809 #[doc = "No BRDY interrupt occurred"]
2810 pub const _0: Self = Self::new(0);
2811
2812 #[doc = "BRDY interrupt occurred"]
2813 pub const _1: Self = Self::new(1);
2814 }
2815 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2816 pub struct Pipe5Brdy_SPEC;
2817 pub type Pipe5Brdy = crate::EnumBitfieldStruct<u8, Pipe5Brdy_SPEC>;
2818 impl Pipe5Brdy {
2819 #[doc = "No BRDY interrupt occurred"]
2820 pub const _0: Self = Self::new(0);
2821
2822 #[doc = "BRDY interrupt occurred"]
2823 pub const _1: Self = Self::new(1);
2824 }
2825 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2826 pub struct Pipe6Brdy_SPEC;
2827 pub type Pipe6Brdy = crate::EnumBitfieldStruct<u8, Pipe6Brdy_SPEC>;
2828 impl Pipe6Brdy {
2829 #[doc = "No BRDY interrupt occurred"]
2830 pub const _0: Self = Self::new(0);
2831
2832 #[doc = "BRDY interrupt occurred"]
2833 pub const _1: Self = Self::new(1);
2834 }
2835 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2836 pub struct Pipe7Brdy_SPEC;
2837 pub type Pipe7Brdy = crate::EnumBitfieldStruct<u8, Pipe7Brdy_SPEC>;
2838 impl Pipe7Brdy {
2839 #[doc = "No BRDY interrupt occurred"]
2840 pub const _0: Self = Self::new(0);
2841
2842 #[doc = "BRDY interrupt occurred"]
2843 pub const _1: Self = Self::new(1);
2844 }
2845}
2846#[doc(hidden)]
2847#[derive(Copy, Clone, Eq, PartialEq)]
2848pub struct Nrdysts_SPEC;
2849impl crate::sealed::RegSpec for Nrdysts_SPEC {
2850 type DataType = u16;
2851}
2852
2853#[doc = "NRDY Interrupt Status Register"]
2854pub type Nrdysts = crate::RegValueT<Nrdysts_SPEC>;
2855
2856impl Nrdysts {
2857 #[doc = "NRDY Interrupt Status for Pipe 0"]
2858 #[inline(always)]
2859 pub fn pipe0nrdy(
2860 self,
2861 ) -> crate::common::RegisterField<
2862 0,
2863 0x1,
2864 1,
2865 0,
2866 nrdysts::Pipe0Nrdy,
2867 nrdysts::Pipe0Nrdy,
2868 Nrdysts_SPEC,
2869 crate::common::RW,
2870 > {
2871 crate::common::RegisterField::<
2872 0,
2873 0x1,
2874 1,
2875 0,
2876 nrdysts::Pipe0Nrdy,
2877 nrdysts::Pipe0Nrdy,
2878 Nrdysts_SPEC,
2879 crate::common::RW,
2880 >::from_register(self, 0)
2881 }
2882
2883 #[doc = "NRDY Interrupt Status for Pipe 4"]
2884 #[inline(always)]
2885 pub fn pipe4nrdy(
2886 self,
2887 ) -> crate::common::RegisterField<
2888 4,
2889 0x1,
2890 1,
2891 0,
2892 nrdysts::Pipe4Nrdy,
2893 nrdysts::Pipe4Nrdy,
2894 Nrdysts_SPEC,
2895 crate::common::RW,
2896 > {
2897 crate::common::RegisterField::<
2898 4,
2899 0x1,
2900 1,
2901 0,
2902 nrdysts::Pipe4Nrdy,
2903 nrdysts::Pipe4Nrdy,
2904 Nrdysts_SPEC,
2905 crate::common::RW,
2906 >::from_register(self, 0)
2907 }
2908
2909 #[doc = "NRDY Interrupt Status for Pipe 5"]
2910 #[inline(always)]
2911 pub fn pipe5nrdy(
2912 self,
2913 ) -> crate::common::RegisterField<
2914 5,
2915 0x1,
2916 1,
2917 0,
2918 nrdysts::Pipe5Nrdy,
2919 nrdysts::Pipe5Nrdy,
2920 Nrdysts_SPEC,
2921 crate::common::RW,
2922 > {
2923 crate::common::RegisterField::<
2924 5,
2925 0x1,
2926 1,
2927 0,
2928 nrdysts::Pipe5Nrdy,
2929 nrdysts::Pipe5Nrdy,
2930 Nrdysts_SPEC,
2931 crate::common::RW,
2932 >::from_register(self, 0)
2933 }
2934
2935 #[doc = "NRDY Interrupt Status for Pipe 6"]
2936 #[inline(always)]
2937 pub fn pipe6nrdy(
2938 self,
2939 ) -> crate::common::RegisterField<
2940 6,
2941 0x1,
2942 1,
2943 0,
2944 nrdysts::Pipe6Nrdy,
2945 nrdysts::Pipe6Nrdy,
2946 Nrdysts_SPEC,
2947 crate::common::RW,
2948 > {
2949 crate::common::RegisterField::<
2950 6,
2951 0x1,
2952 1,
2953 0,
2954 nrdysts::Pipe6Nrdy,
2955 nrdysts::Pipe6Nrdy,
2956 Nrdysts_SPEC,
2957 crate::common::RW,
2958 >::from_register(self, 0)
2959 }
2960
2961 #[doc = "NRDY Interrupt Status for Pipe 7"]
2962 #[inline(always)]
2963 pub fn pipe7nrdy(
2964 self,
2965 ) -> crate::common::RegisterField<
2966 7,
2967 0x1,
2968 1,
2969 0,
2970 nrdysts::Pipe7Nrdy,
2971 nrdysts::Pipe7Nrdy,
2972 Nrdysts_SPEC,
2973 crate::common::RW,
2974 > {
2975 crate::common::RegisterField::<
2976 7,
2977 0x1,
2978 1,
2979 0,
2980 nrdysts::Pipe7Nrdy,
2981 nrdysts::Pipe7Nrdy,
2982 Nrdysts_SPEC,
2983 crate::common::RW,
2984 >::from_register(self, 0)
2985 }
2986}
2987impl ::core::default::Default for Nrdysts {
2988 #[inline(always)]
2989 fn default() -> Nrdysts {
2990 <crate::RegValueT<Nrdysts_SPEC> as RegisterValue<_>>::new(0)
2991 }
2992}
2993pub mod nrdysts {
2994
2995 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2996 pub struct Pipe0Nrdy_SPEC;
2997 pub type Pipe0Nrdy = crate::EnumBitfieldStruct<u8, Pipe0Nrdy_SPEC>;
2998 impl Pipe0Nrdy {
2999 #[doc = "No NRDY interrupt occurred"]
3000 pub const _0: Self = Self::new(0);
3001
3002 #[doc = "NRDY interrupt occurred"]
3003 pub const _1: Self = Self::new(1);
3004 }
3005 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3006 pub struct Pipe4Nrdy_SPEC;
3007 pub type Pipe4Nrdy = crate::EnumBitfieldStruct<u8, Pipe4Nrdy_SPEC>;
3008 impl Pipe4Nrdy {
3009 #[doc = "No NRDY interrupt occurred"]
3010 pub const _0: Self = Self::new(0);
3011
3012 #[doc = "NRDY interrupt occurred"]
3013 pub const _1: Self = Self::new(1);
3014 }
3015 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3016 pub struct Pipe5Nrdy_SPEC;
3017 pub type Pipe5Nrdy = crate::EnumBitfieldStruct<u8, Pipe5Nrdy_SPEC>;
3018 impl Pipe5Nrdy {
3019 #[doc = "No NRDY interrupt occurred"]
3020 pub const _0: Self = Self::new(0);
3021
3022 #[doc = "NRDY interrupt occurred"]
3023 pub const _1: Self = Self::new(1);
3024 }
3025 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3026 pub struct Pipe6Nrdy_SPEC;
3027 pub type Pipe6Nrdy = crate::EnumBitfieldStruct<u8, Pipe6Nrdy_SPEC>;
3028 impl Pipe6Nrdy {
3029 #[doc = "No NRDY interrupt occurred"]
3030 pub const _0: Self = Self::new(0);
3031
3032 #[doc = "NRDY interrupt occurred"]
3033 pub const _1: Self = Self::new(1);
3034 }
3035 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3036 pub struct Pipe7Nrdy_SPEC;
3037 pub type Pipe7Nrdy = crate::EnumBitfieldStruct<u8, Pipe7Nrdy_SPEC>;
3038 impl Pipe7Nrdy {
3039 #[doc = "No NRDY interrupt occurred"]
3040 pub const _0: Self = Self::new(0);
3041
3042 #[doc = "NRDY interrupt occurred"]
3043 pub const _1: Self = Self::new(1);
3044 }
3045}
3046#[doc(hidden)]
3047#[derive(Copy, Clone, Eq, PartialEq)]
3048pub struct Bempsts_SPEC;
3049impl crate::sealed::RegSpec for Bempsts_SPEC {
3050 type DataType = u16;
3051}
3052
3053#[doc = "BEMP Interrupt Status Register"]
3054pub type Bempsts = crate::RegValueT<Bempsts_SPEC>;
3055
3056impl Bempsts {
3057 #[doc = "BEMP Interrupt Status for Pipe 0"]
3058 #[inline(always)]
3059 pub fn pipe0bemp(
3060 self,
3061 ) -> crate::common::RegisterField<
3062 0,
3063 0x1,
3064 1,
3065 0,
3066 bempsts::Pipe0Bemp,
3067 bempsts::Pipe0Bemp,
3068 Bempsts_SPEC,
3069 crate::common::RW,
3070 > {
3071 crate::common::RegisterField::<
3072 0,
3073 0x1,
3074 1,
3075 0,
3076 bempsts::Pipe0Bemp,
3077 bempsts::Pipe0Bemp,
3078 Bempsts_SPEC,
3079 crate::common::RW,
3080 >::from_register(self, 0)
3081 }
3082
3083 #[doc = "BEMP Interrupt Status for Pipe 4"]
3084 #[inline(always)]
3085 pub fn pipe4bemp(
3086 self,
3087 ) -> crate::common::RegisterField<
3088 4,
3089 0x1,
3090 1,
3091 0,
3092 bempsts::Pipe4Bemp,
3093 bempsts::Pipe4Bemp,
3094 Bempsts_SPEC,
3095 crate::common::RW,
3096 > {
3097 crate::common::RegisterField::<
3098 4,
3099 0x1,
3100 1,
3101 0,
3102 bempsts::Pipe4Bemp,
3103 bempsts::Pipe4Bemp,
3104 Bempsts_SPEC,
3105 crate::common::RW,
3106 >::from_register(self, 0)
3107 }
3108
3109 #[doc = "BEMP Interrupt Status for Pipe 5"]
3110 #[inline(always)]
3111 pub fn pipe5bemp(
3112 self,
3113 ) -> crate::common::RegisterField<
3114 5,
3115 0x1,
3116 1,
3117 0,
3118 bempsts::Pipe5Bemp,
3119 bempsts::Pipe5Bemp,
3120 Bempsts_SPEC,
3121 crate::common::RW,
3122 > {
3123 crate::common::RegisterField::<
3124 5,
3125 0x1,
3126 1,
3127 0,
3128 bempsts::Pipe5Bemp,
3129 bempsts::Pipe5Bemp,
3130 Bempsts_SPEC,
3131 crate::common::RW,
3132 >::from_register(self, 0)
3133 }
3134
3135 #[doc = "BEMP Interrupt Status for Pipe 6"]
3136 #[inline(always)]
3137 pub fn pipe6bemp(
3138 self,
3139 ) -> crate::common::RegisterField<
3140 6,
3141 0x1,
3142 1,
3143 0,
3144 bempsts::Pipe6Bemp,
3145 bempsts::Pipe6Bemp,
3146 Bempsts_SPEC,
3147 crate::common::RW,
3148 > {
3149 crate::common::RegisterField::<
3150 6,
3151 0x1,
3152 1,
3153 0,
3154 bempsts::Pipe6Bemp,
3155 bempsts::Pipe6Bemp,
3156 Bempsts_SPEC,
3157 crate::common::RW,
3158 >::from_register(self, 0)
3159 }
3160
3161 #[doc = "BEMP Interrupt Status for Pipe 7"]
3162 #[inline(always)]
3163 pub fn pipe7bemp(
3164 self,
3165 ) -> crate::common::RegisterField<
3166 7,
3167 0x1,
3168 1,
3169 0,
3170 bempsts::Pipe7Bemp,
3171 bempsts::Pipe7Bemp,
3172 Bempsts_SPEC,
3173 crate::common::RW,
3174 > {
3175 crate::common::RegisterField::<
3176 7,
3177 0x1,
3178 1,
3179 0,
3180 bempsts::Pipe7Bemp,
3181 bempsts::Pipe7Bemp,
3182 Bempsts_SPEC,
3183 crate::common::RW,
3184 >::from_register(self, 0)
3185 }
3186}
3187impl ::core::default::Default for Bempsts {
3188 #[inline(always)]
3189 fn default() -> Bempsts {
3190 <crate::RegValueT<Bempsts_SPEC> as RegisterValue<_>>::new(0)
3191 }
3192}
3193pub mod bempsts {
3194
3195 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3196 pub struct Pipe0Bemp_SPEC;
3197 pub type Pipe0Bemp = crate::EnumBitfieldStruct<u8, Pipe0Bemp_SPEC>;
3198 impl Pipe0Bemp {
3199 #[doc = "No BEMP interrupt occurred"]
3200 pub const _0: Self = Self::new(0);
3201
3202 #[doc = "BEMP interrupt occurred"]
3203 pub const _1: Self = Self::new(1);
3204 }
3205 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3206 pub struct Pipe4Bemp_SPEC;
3207 pub type Pipe4Bemp = crate::EnumBitfieldStruct<u8, Pipe4Bemp_SPEC>;
3208 impl Pipe4Bemp {
3209 #[doc = "No BEMP interrupt occurred"]
3210 pub const _0: Self = Self::new(0);
3211
3212 #[doc = "BEMP interrupt occurred"]
3213 pub const _1: Self = Self::new(1);
3214 }
3215 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3216 pub struct Pipe5Bemp_SPEC;
3217 pub type Pipe5Bemp = crate::EnumBitfieldStruct<u8, Pipe5Bemp_SPEC>;
3218 impl Pipe5Bemp {
3219 #[doc = "No BEMP interrupt occurred"]
3220 pub const _0: Self = Self::new(0);
3221
3222 #[doc = "BEMP interrupt occurred"]
3223 pub const _1: Self = Self::new(1);
3224 }
3225 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3226 pub struct Pipe6Bemp_SPEC;
3227 pub type Pipe6Bemp = crate::EnumBitfieldStruct<u8, Pipe6Bemp_SPEC>;
3228 impl Pipe6Bemp {
3229 #[doc = "No BEMP interrupt occurred"]
3230 pub const _0: Self = Self::new(0);
3231
3232 #[doc = "BEMP interrupt occurred"]
3233 pub const _1: Self = Self::new(1);
3234 }
3235 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3236 pub struct Pipe7Bemp_SPEC;
3237 pub type Pipe7Bemp = crate::EnumBitfieldStruct<u8, Pipe7Bemp_SPEC>;
3238 impl Pipe7Bemp {
3239 #[doc = "No BEMP interrupt occurred"]
3240 pub const _0: Self = Self::new(0);
3241
3242 #[doc = "BEMP interrupt occurred"]
3243 pub const _1: Self = Self::new(1);
3244 }
3245}
3246#[doc(hidden)]
3247#[derive(Copy, Clone, Eq, PartialEq)]
3248pub struct Frmnum_SPEC;
3249impl crate::sealed::RegSpec for Frmnum_SPEC {
3250 type DataType = u16;
3251}
3252
3253#[doc = "Frame Number Register"]
3254pub type Frmnum = crate::RegValueT<Frmnum_SPEC>;
3255
3256impl Frmnum {
3257 #[doc = "Frame Number"]
3258 #[inline(always)]
3259 pub fn frnm(
3260 self,
3261 ) -> crate::common::RegisterField<0, 0x7ff, 1, 0, u16, u16, Frmnum_SPEC, crate::common::R> {
3262 crate::common::RegisterField::<0,0x7ff,1,0,u16,u16,Frmnum_SPEC,crate::common::R>::from_register(self,0)
3263 }
3264}
3265impl ::core::default::Default for Frmnum {
3266 #[inline(always)]
3267 fn default() -> Frmnum {
3268 <crate::RegValueT<Frmnum_SPEC> as RegisterValue<_>>::new(0)
3269 }
3270}
3271
3272#[doc(hidden)]
3273#[derive(Copy, Clone, Eq, PartialEq)]
3274pub struct Dvchgr_SPEC;
3275impl crate::sealed::RegSpec for Dvchgr_SPEC {
3276 type DataType = u16;
3277}
3278
3279#[doc = "Device State Change Register"]
3280pub type Dvchgr = crate::RegValueT<Dvchgr_SPEC>;
3281
3282impl Dvchgr {
3283 #[doc = "Device State Change"]
3284 #[inline(always)]
3285 pub fn dvchg(
3286 self,
3287 ) -> crate::common::RegisterField<
3288 15,
3289 0x1,
3290 1,
3291 0,
3292 dvchgr::Dvchg,
3293 dvchgr::Dvchg,
3294 Dvchgr_SPEC,
3295 crate::common::RW,
3296 > {
3297 crate::common::RegisterField::<
3298 15,
3299 0x1,
3300 1,
3301 0,
3302 dvchgr::Dvchg,
3303 dvchgr::Dvchg,
3304 Dvchgr_SPEC,
3305 crate::common::RW,
3306 >::from_register(self, 0)
3307 }
3308}
3309impl ::core::default::Default for Dvchgr {
3310 #[inline(always)]
3311 fn default() -> Dvchgr {
3312 <crate::RegValueT<Dvchgr_SPEC> as RegisterValue<_>>::new(0)
3313 }
3314}
3315pub mod dvchgr {
3316
3317 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3318 pub struct Dvchg_SPEC;
3319 pub type Dvchg = crate::EnumBitfieldStruct<u8, Dvchg_SPEC>;
3320 impl Dvchg {
3321 #[doc = "Disable writes to the USBADDR.STSRECOV\\[3:0\\] and USBADDR.USBADDR\\[6:0\\] bits"]
3322 pub const _0: Self = Self::new(0);
3323
3324 #[doc = "Enable writes to the USBADDR.STSRECOV\\[3:0\\] and USBADDR.USBADDR\\[6:0\\] bits"]
3325 pub const _1: Self = Self::new(1);
3326 }
3327}
3328#[doc(hidden)]
3329#[derive(Copy, Clone, Eq, PartialEq)]
3330pub struct Usbaddr_SPEC;
3331impl crate::sealed::RegSpec for Usbaddr_SPEC {
3332 type DataType = u16;
3333}
3334
3335#[doc = "USB Address Register"]
3336pub type Usbaddr = crate::RegValueT<Usbaddr_SPEC>;
3337
3338impl Usbaddr {
3339 #[doc = "USB Address"]
3340 #[inline(always)]
3341 pub fn usbaddr(
3342 self,
3343 ) -> crate::common::RegisterField<0, 0x7f, 1, 0, u8, u8, Usbaddr_SPEC, crate::common::RW> {
3344 crate::common::RegisterField::<0,0x7f,1,0,u8,u8,Usbaddr_SPEC,crate::common::RW>::from_register(self,0)
3345 }
3346
3347 #[doc = "Status Recovery"]
3348 #[inline(always)]
3349 pub fn stsrecov(
3350 self,
3351 ) -> crate::common::RegisterField<
3352 8,
3353 0xf,
3354 1,
3355 0,
3356 usbaddr::Stsrecov,
3357 usbaddr::Stsrecov,
3358 Usbaddr_SPEC,
3359 crate::common::RW,
3360 > {
3361 crate::common::RegisterField::<
3362 8,
3363 0xf,
3364 1,
3365 0,
3366 usbaddr::Stsrecov,
3367 usbaddr::Stsrecov,
3368 Usbaddr_SPEC,
3369 crate::common::RW,
3370 >::from_register(self, 0)
3371 }
3372}
3373impl ::core::default::Default for Usbaddr {
3374 #[inline(always)]
3375 fn default() -> Usbaddr {
3376 <crate::RegValueT<Usbaddr_SPEC> as RegisterValue<_>>::new(0)
3377 }
3378}
3379pub mod usbaddr {
3380
3381 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3382 pub struct Stsrecov_SPEC;
3383 pub type Stsrecov = crate::EnumBitfieldStruct<u8, Stsrecov_SPEC>;
3384 impl Stsrecov {
3385 #[doc = "Return to the full-speed state (bits DVSTCTR0.RHST\\[2:0\\] = 010b), bits INTSTS0.DVSQ\\[2:0\\] = 001b (default state)"]
3386 pub const _0_X_9: Self = Self::new(9);
3387
3388 #[doc = "Return to the full-speed state (bits DVSTCTR0.RHST\\[2:0\\] = 010b), bits INTSTS0.DVSQ\\[2:0\\] = 010b (address state)"]
3389 pub const _0_X_A: Self = Self::new(10);
3390
3391 #[doc = "Return to the full-speed state (bits DVSTCTR0.RHST\\[2:0\\] = 010b), bits INTSTS0.DVSQ\\[2:0\\] = 011b (configured state)"]
3392 pub const _0_X_B: Self = Self::new(11);
3393 }
3394}
3395#[doc(hidden)]
3396#[derive(Copy, Clone, Eq, PartialEq)]
3397pub struct Usbreq_SPEC;
3398impl crate::sealed::RegSpec for Usbreq_SPEC {
3399 type DataType = u16;
3400}
3401
3402#[doc = "USB Request Type Register"]
3403pub type Usbreq = crate::RegValueT<Usbreq_SPEC>;
3404
3405impl Usbreq {
3406 #[doc = "Request Type"]
3407 #[inline(always)]
3408 pub fn bmrequesttype(
3409 self,
3410 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Usbreq_SPEC, crate::common::R> {
3411 crate::common::RegisterField::<0,0xff,1,0,u8,u8,Usbreq_SPEC,crate::common::R>::from_register(self,0)
3412 }
3413
3414 #[doc = "Request"]
3415 #[inline(always)]
3416 pub fn brequest(
3417 self,
3418 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, Usbreq_SPEC, crate::common::R> {
3419 crate::common::RegisterField::<8,0xff,1,0,u8,u8,Usbreq_SPEC,crate::common::R>::from_register(self,0)
3420 }
3421}
3422impl ::core::default::Default for Usbreq {
3423 #[inline(always)]
3424 fn default() -> Usbreq {
3425 <crate::RegValueT<Usbreq_SPEC> as RegisterValue<_>>::new(0)
3426 }
3427}
3428
3429#[doc(hidden)]
3430#[derive(Copy, Clone, Eq, PartialEq)]
3431pub struct Usbval_SPEC;
3432impl crate::sealed::RegSpec for Usbval_SPEC {
3433 type DataType = u16;
3434}
3435
3436#[doc = "USB Request Value Register"]
3437pub type Usbval = crate::RegValueT<Usbval_SPEC>;
3438
3439impl Usbval {
3440 #[doc = "Value"]
3441 #[inline(always)]
3442 pub fn wvalue(
3443 self,
3444 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Usbval_SPEC, crate::common::R>
3445 {
3446 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Usbval_SPEC,crate::common::R>::from_register(self,0)
3447 }
3448}
3449impl ::core::default::Default for Usbval {
3450 #[inline(always)]
3451 fn default() -> Usbval {
3452 <crate::RegValueT<Usbval_SPEC> as RegisterValue<_>>::new(0)
3453 }
3454}
3455
3456#[doc(hidden)]
3457#[derive(Copy, Clone, Eq, PartialEq)]
3458pub struct Usbindx_SPEC;
3459impl crate::sealed::RegSpec for Usbindx_SPEC {
3460 type DataType = u16;
3461}
3462
3463#[doc = "USB Request Index Register"]
3464pub type Usbindx = crate::RegValueT<Usbindx_SPEC>;
3465
3466impl Usbindx {
3467 #[doc = "Index"]
3468 #[inline(always)]
3469 pub fn windex(
3470 self,
3471 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Usbindx_SPEC, crate::common::R>
3472 {
3473 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Usbindx_SPEC,crate::common::R>::from_register(self,0)
3474 }
3475}
3476impl ::core::default::Default for Usbindx {
3477 #[inline(always)]
3478 fn default() -> Usbindx {
3479 <crate::RegValueT<Usbindx_SPEC> as RegisterValue<_>>::new(0)
3480 }
3481}
3482
3483#[doc(hidden)]
3484#[derive(Copy, Clone, Eq, PartialEq)]
3485pub struct Usbleng_SPEC;
3486impl crate::sealed::RegSpec for Usbleng_SPEC {
3487 type DataType = u16;
3488}
3489
3490#[doc = "USB Request Length Register"]
3491pub type Usbleng = crate::RegValueT<Usbleng_SPEC>;
3492
3493impl Usbleng {
3494 #[doc = "Length"]
3495 #[inline(always)]
3496 pub fn wlentuh(
3497 self,
3498 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Usbleng_SPEC, crate::common::R>
3499 {
3500 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Usbleng_SPEC,crate::common::R>::from_register(self,0)
3501 }
3502}
3503impl ::core::default::Default for Usbleng {
3504 #[inline(always)]
3505 fn default() -> Usbleng {
3506 <crate::RegValueT<Usbleng_SPEC> as RegisterValue<_>>::new(0)
3507 }
3508}
3509
3510#[doc(hidden)]
3511#[derive(Copy, Clone, Eq, PartialEq)]
3512pub struct Dcpcfg_SPEC;
3513impl crate::sealed::RegSpec for Dcpcfg_SPEC {
3514 type DataType = u16;
3515}
3516
3517#[doc = "DCP Configuration Register"]
3518pub type Dcpcfg = crate::RegValueT<Dcpcfg_SPEC>;
3519
3520impl Dcpcfg {
3521 #[doc = "Pipe Disabled at End of Transfer"]
3522 #[inline(always)]
3523 pub fn shtnak(
3524 self,
3525 ) -> crate::common::RegisterField<
3526 7,
3527 0x1,
3528 1,
3529 0,
3530 dcpcfg::Shtnak,
3531 dcpcfg::Shtnak,
3532 Dcpcfg_SPEC,
3533 crate::common::RW,
3534 > {
3535 crate::common::RegisterField::<
3536 7,
3537 0x1,
3538 1,
3539 0,
3540 dcpcfg::Shtnak,
3541 dcpcfg::Shtnak,
3542 Dcpcfg_SPEC,
3543 crate::common::RW,
3544 >::from_register(self, 0)
3545 }
3546}
3547impl ::core::default::Default for Dcpcfg {
3548 #[inline(always)]
3549 fn default() -> Dcpcfg {
3550 <crate::RegValueT<Dcpcfg_SPEC> as RegisterValue<_>>::new(0)
3551 }
3552}
3553pub mod dcpcfg {
3554
3555 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3556 pub struct Shtnak_SPEC;
3557 pub type Shtnak = crate::EnumBitfieldStruct<u8, Shtnak_SPEC>;
3558 impl Shtnak {
3559 #[doc = "Keep pipe open after transfer ends"]
3560 pub const _0: Self = Self::new(0);
3561
3562 #[doc = "Disable pipe after transfer ends"]
3563 pub const _1: Self = Self::new(1);
3564 }
3565}
3566#[doc(hidden)]
3567#[derive(Copy, Clone, Eq, PartialEq)]
3568pub struct Dcpmaxp_SPEC;
3569impl crate::sealed::RegSpec for Dcpmaxp_SPEC {
3570 type DataType = u16;
3571}
3572
3573#[doc = "DCP Maximum Packet Size Register"]
3574pub type Dcpmaxp = crate::RegValueT<Dcpmaxp_SPEC>;
3575
3576impl Dcpmaxp {
3577 #[doc = "Maximum Packet Size"]
3578 #[inline(always)]
3579 pub fn mxps(
3580 self,
3581 ) -> crate::common::RegisterField<0, 0x7f, 1, 0, u8, u8, Dcpmaxp_SPEC, crate::common::RW> {
3582 crate::common::RegisterField::<0,0x7f,1,0,u8,u8,Dcpmaxp_SPEC,crate::common::RW>::from_register(self,0)
3583 }
3584}
3585impl ::core::default::Default for Dcpmaxp {
3586 #[inline(always)]
3587 fn default() -> Dcpmaxp {
3588 <crate::RegValueT<Dcpmaxp_SPEC> as RegisterValue<_>>::new(64)
3589 }
3590}
3591
3592#[doc(hidden)]
3593#[derive(Copy, Clone, Eq, PartialEq)]
3594pub struct Dcpctr_SPEC;
3595impl crate::sealed::RegSpec for Dcpctr_SPEC {
3596 type DataType = u16;
3597}
3598
3599#[doc = "DCP Control Register"]
3600pub type Dcpctr = crate::RegValueT<Dcpctr_SPEC>;
3601
3602impl Dcpctr {
3603 #[doc = "Response PID"]
3604 #[inline(always)]
3605 pub fn pid(
3606 self,
3607 ) -> crate::common::RegisterField<
3608 0,
3609 0x3,
3610 1,
3611 0,
3612 dcpctr::Pid,
3613 dcpctr::Pid,
3614 Dcpctr_SPEC,
3615 crate::common::RW,
3616 > {
3617 crate::common::RegisterField::<
3618 0,
3619 0x3,
3620 1,
3621 0,
3622 dcpctr::Pid,
3623 dcpctr::Pid,
3624 Dcpctr_SPEC,
3625 crate::common::RW,
3626 >::from_register(self, 0)
3627 }
3628
3629 #[doc = "Control Transfer End Enable"]
3630 #[inline(always)]
3631 pub fn ccpl(
3632 self,
3633 ) -> crate::common::RegisterField<
3634 2,
3635 0x1,
3636 1,
3637 0,
3638 dcpctr::Ccpl,
3639 dcpctr::Ccpl,
3640 Dcpctr_SPEC,
3641 crate::common::RW,
3642 > {
3643 crate::common::RegisterField::<
3644 2,
3645 0x1,
3646 1,
3647 0,
3648 dcpctr::Ccpl,
3649 dcpctr::Ccpl,
3650 Dcpctr_SPEC,
3651 crate::common::RW,
3652 >::from_register(self, 0)
3653 }
3654
3655 #[doc = "Pipe Busy"]
3656 #[inline(always)]
3657 pub fn pbusy(
3658 self,
3659 ) -> crate::common::RegisterField<
3660 5,
3661 0x1,
3662 1,
3663 0,
3664 dcpctr::Pbusy,
3665 dcpctr::Pbusy,
3666 Dcpctr_SPEC,
3667 crate::common::R,
3668 > {
3669 crate::common::RegisterField::<
3670 5,
3671 0x1,
3672 1,
3673 0,
3674 dcpctr::Pbusy,
3675 dcpctr::Pbusy,
3676 Dcpctr_SPEC,
3677 crate::common::R,
3678 >::from_register(self, 0)
3679 }
3680
3681 #[doc = "Sequence Toggle Bit Monitor"]
3682 #[inline(always)]
3683 pub fn sqmon(
3684 self,
3685 ) -> crate::common::RegisterField<
3686 6,
3687 0x1,
3688 1,
3689 0,
3690 dcpctr::Sqmon,
3691 dcpctr::Sqmon,
3692 Dcpctr_SPEC,
3693 crate::common::R,
3694 > {
3695 crate::common::RegisterField::<
3696 6,
3697 0x1,
3698 1,
3699 0,
3700 dcpctr::Sqmon,
3701 dcpctr::Sqmon,
3702 Dcpctr_SPEC,
3703 crate::common::R,
3704 >::from_register(self, 0)
3705 }
3706
3707 #[doc = "Sequence Toggle Bit Set"]
3708 #[inline(always)]
3709 pub fn sqset(
3710 self,
3711 ) -> crate::common::RegisterField<
3712 7,
3713 0x1,
3714 1,
3715 0,
3716 dcpctr::Sqset,
3717 dcpctr::Sqset,
3718 Dcpctr_SPEC,
3719 crate::common::RW,
3720 > {
3721 crate::common::RegisterField::<
3722 7,
3723 0x1,
3724 1,
3725 0,
3726 dcpctr::Sqset,
3727 dcpctr::Sqset,
3728 Dcpctr_SPEC,
3729 crate::common::RW,
3730 >::from_register(self, 0)
3731 }
3732
3733 #[doc = "Sequence Toggle Bit Clear"]
3734 #[inline(always)]
3735 pub fn sqclr(
3736 self,
3737 ) -> crate::common::RegisterField<
3738 8,
3739 0x1,
3740 1,
3741 0,
3742 dcpctr::Sqclr,
3743 dcpctr::Sqclr,
3744 Dcpctr_SPEC,
3745 crate::common::RW,
3746 > {
3747 crate::common::RegisterField::<
3748 8,
3749 0x1,
3750 1,
3751 0,
3752 dcpctr::Sqclr,
3753 dcpctr::Sqclr,
3754 Dcpctr_SPEC,
3755 crate::common::RW,
3756 >::from_register(self, 0)
3757 }
3758
3759 #[doc = "Buffer Status"]
3760 #[inline(always)]
3761 pub fn bsts(
3762 self,
3763 ) -> crate::common::RegisterField<
3764 15,
3765 0x1,
3766 1,
3767 0,
3768 dcpctr::Bsts,
3769 dcpctr::Bsts,
3770 Dcpctr_SPEC,
3771 crate::common::R,
3772 > {
3773 crate::common::RegisterField::<
3774 15,
3775 0x1,
3776 1,
3777 0,
3778 dcpctr::Bsts,
3779 dcpctr::Bsts,
3780 Dcpctr_SPEC,
3781 crate::common::R,
3782 >::from_register(self, 0)
3783 }
3784}
3785impl ::core::default::Default for Dcpctr {
3786 #[inline(always)]
3787 fn default() -> Dcpctr {
3788 <crate::RegValueT<Dcpctr_SPEC> as RegisterValue<_>>::new(64)
3789 }
3790}
3791pub mod dcpctr {
3792
3793 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3794 pub struct Pid_SPEC;
3795 pub type Pid = crate::EnumBitfieldStruct<u8, Pid_SPEC>;
3796 impl Pid {
3797 #[doc = "NAK response"]
3798 pub const _00: Self = Self::new(0);
3799
3800 #[doc = "BUF response (depends on the buffer state)"]
3801 pub const _01: Self = Self::new(1);
3802
3803 #[doc = "STALL response"]
3804 pub const _10: Self = Self::new(2);
3805
3806 #[doc = "STALL response"]
3807 pub const _11: Self = Self::new(3);
3808 }
3809 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3810 pub struct Ccpl_SPEC;
3811 pub type Ccpl = crate::EnumBitfieldStruct<u8, Ccpl_SPEC>;
3812 impl Ccpl {
3813 #[doc = "Disable control transfer completion"]
3814 pub const _0: Self = Self::new(0);
3815
3816 #[doc = "Enable control transfer completion"]
3817 pub const _1: Self = Self::new(1);
3818 }
3819 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3820 pub struct Pbusy_SPEC;
3821 pub type Pbusy = crate::EnumBitfieldStruct<u8, Pbusy_SPEC>;
3822 impl Pbusy {
3823 #[doc = "DCP not used for the USB bus"]
3824 pub const _0: Self = Self::new(0);
3825
3826 #[doc = "DCP in use for the USB bus"]
3827 pub const _1: Self = Self::new(1);
3828 }
3829 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3830 pub struct Sqmon_SPEC;
3831 pub type Sqmon = crate::EnumBitfieldStruct<u8, Sqmon_SPEC>;
3832 impl Sqmon {
3833 #[doc = "DATA0"]
3834 pub const _0: Self = Self::new(0);
3835
3836 #[doc = "DATA1"]
3837 pub const _1: Self = Self::new(1);
3838 }
3839 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3840 pub struct Sqset_SPEC;
3841 pub type Sqset = crate::EnumBitfieldStruct<u8, Sqset_SPEC>;
3842 impl Sqset {
3843 #[doc = "Invalid (writing 0 has no effect)"]
3844 pub const _0: Self = Self::new(0);
3845
3846 #[doc = "Set the expected value for the next transaction to DATA1"]
3847 pub const _1: Self = Self::new(1);
3848 }
3849 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3850 pub struct Sqclr_SPEC;
3851 pub type Sqclr = crate::EnumBitfieldStruct<u8, Sqclr_SPEC>;
3852 impl Sqclr {
3853 #[doc = "Invalid (writing 0 has no effect)"]
3854 pub const _0: Self = Self::new(0);
3855
3856 #[doc = "Clear the expected value for the next transaction to DATA0"]
3857 pub const _1: Self = Self::new(1);
3858 }
3859 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3860 pub struct Bsts_SPEC;
3861 pub type Bsts = crate::EnumBitfieldStruct<u8, Bsts_SPEC>;
3862 impl Bsts {
3863 #[doc = "Buffer access disabled"]
3864 pub const _0: Self = Self::new(0);
3865
3866 #[doc = "Buffer access enabled"]
3867 pub const _1: Self = Self::new(1);
3868 }
3869}
3870#[doc(hidden)]
3871#[derive(Copy, Clone, Eq, PartialEq)]
3872pub struct Pipesel_SPEC;
3873impl crate::sealed::RegSpec for Pipesel_SPEC {
3874 type DataType = u16;
3875}
3876
3877#[doc = "Pipe Window Select Register"]
3878pub type Pipesel = crate::RegValueT<Pipesel_SPEC>;
3879
3880impl Pipesel {
3881 #[doc = "Pipe Window Select"]
3882 #[inline(always)]
3883 pub fn pipesel(
3884 self,
3885 ) -> crate::common::RegisterField<
3886 0,
3887 0xf,
3888 1,
3889 0,
3890 pipesel::Pipesel,
3891 pipesel::Pipesel,
3892 Pipesel_SPEC,
3893 crate::common::RW,
3894 > {
3895 crate::common::RegisterField::<
3896 0,
3897 0xf,
3898 1,
3899 0,
3900 pipesel::Pipesel,
3901 pipesel::Pipesel,
3902 Pipesel_SPEC,
3903 crate::common::RW,
3904 >::from_register(self, 0)
3905 }
3906}
3907impl ::core::default::Default for Pipesel {
3908 #[inline(always)]
3909 fn default() -> Pipesel {
3910 <crate::RegValueT<Pipesel_SPEC> as RegisterValue<_>>::new(0)
3911 }
3912}
3913pub mod pipesel {
3914
3915 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3916 pub struct Pipesel_SPEC;
3917 pub type Pipesel = crate::EnumBitfieldStruct<u8, Pipesel_SPEC>;
3918 impl Pipesel {
3919 #[doc = "No pipe selected"]
3920 pub const _0_X_0: Self = Self::new(0);
3921
3922 #[doc = "Pipe 4"]
3923 pub const _0_X_4: Self = Self::new(4);
3924
3925 #[doc = "Pipe 5"]
3926 pub const _0_X_5: Self = Self::new(5);
3927
3928 #[doc = "Pipe 6"]
3929 pub const _0_X_6: Self = Self::new(6);
3930
3931 #[doc = "Pipe 7"]
3932 pub const _0_X_7: Self = Self::new(7);
3933 }
3934}
3935#[doc(hidden)]
3936#[derive(Copy, Clone, Eq, PartialEq)]
3937pub struct Pipecfg_SPEC;
3938impl crate::sealed::RegSpec for Pipecfg_SPEC {
3939 type DataType = u16;
3940}
3941
3942#[doc = "Pipe Configuration Register"]
3943pub type Pipecfg = crate::RegValueT<Pipecfg_SPEC>;
3944
3945impl Pipecfg {
3946 #[doc = "Endpoint Number"]
3947 #[inline(always)]
3948 pub fn epnum(
3949 self,
3950 ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Pipecfg_SPEC, crate::common::RW> {
3951 crate::common::RegisterField::<0,0xf,1,0,u8,u8,Pipecfg_SPEC,crate::common::RW>::from_register(self,0)
3952 }
3953
3954 #[doc = "Transfer Direction"]
3955 #[inline(always)]
3956 pub fn dir(
3957 self,
3958 ) -> crate::common::RegisterField<
3959 4,
3960 0x1,
3961 1,
3962 0,
3963 pipecfg::Dir,
3964 pipecfg::Dir,
3965 Pipecfg_SPEC,
3966 crate::common::RW,
3967 > {
3968 crate::common::RegisterField::<
3969 4,
3970 0x1,
3971 1,
3972 0,
3973 pipecfg::Dir,
3974 pipecfg::Dir,
3975 Pipecfg_SPEC,
3976 crate::common::RW,
3977 >::from_register(self, 0)
3978 }
3979
3980 #[doc = "Pipe Disabled at End of Transfer"]
3981 #[inline(always)]
3982 pub fn shtnak(
3983 self,
3984 ) -> crate::common::RegisterField<
3985 7,
3986 0x1,
3987 1,
3988 0,
3989 pipecfg::Shtnak,
3990 pipecfg::Shtnak,
3991 Pipecfg_SPEC,
3992 crate::common::RW,
3993 > {
3994 crate::common::RegisterField::<
3995 7,
3996 0x1,
3997 1,
3998 0,
3999 pipecfg::Shtnak,
4000 pipecfg::Shtnak,
4001 Pipecfg_SPEC,
4002 crate::common::RW,
4003 >::from_register(self, 0)
4004 }
4005
4006 #[doc = "Double Buffer Mode"]
4007 #[inline(always)]
4008 pub fn dblb(
4009 self,
4010 ) -> crate::common::RegisterField<
4011 9,
4012 0x1,
4013 1,
4014 0,
4015 pipecfg::Dblb,
4016 pipecfg::Dblb,
4017 Pipecfg_SPEC,
4018 crate::common::RW,
4019 > {
4020 crate::common::RegisterField::<
4021 9,
4022 0x1,
4023 1,
4024 0,
4025 pipecfg::Dblb,
4026 pipecfg::Dblb,
4027 Pipecfg_SPEC,
4028 crate::common::RW,
4029 >::from_register(self, 0)
4030 }
4031
4032 #[doc = "BRDY Interrupt Operation Specification"]
4033 #[inline(always)]
4034 pub fn bfre(
4035 self,
4036 ) -> crate::common::RegisterField<
4037 10,
4038 0x1,
4039 1,
4040 0,
4041 pipecfg::Bfre,
4042 pipecfg::Bfre,
4043 Pipecfg_SPEC,
4044 crate::common::RW,
4045 > {
4046 crate::common::RegisterField::<
4047 10,
4048 0x1,
4049 1,
4050 0,
4051 pipecfg::Bfre,
4052 pipecfg::Bfre,
4053 Pipecfg_SPEC,
4054 crate::common::RW,
4055 >::from_register(self, 0)
4056 }
4057
4058 #[doc = "Transfer Type"]
4059 #[inline(always)]
4060 pub fn r#type(
4061 self,
4062 ) -> crate::common::RegisterField<
4063 14,
4064 0x3,
4065 1,
4066 0,
4067 pipecfg::Type,
4068 pipecfg::Type,
4069 Pipecfg_SPEC,
4070 crate::common::RW,
4071 > {
4072 crate::common::RegisterField::<
4073 14,
4074 0x3,
4075 1,
4076 0,
4077 pipecfg::Type,
4078 pipecfg::Type,
4079 Pipecfg_SPEC,
4080 crate::common::RW,
4081 >::from_register(self, 0)
4082 }
4083}
4084impl ::core::default::Default for Pipecfg {
4085 #[inline(always)]
4086 fn default() -> Pipecfg {
4087 <crate::RegValueT<Pipecfg_SPEC> as RegisterValue<_>>::new(0)
4088 }
4089}
4090pub mod pipecfg {
4091
4092 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4093 pub struct Dir_SPEC;
4094 pub type Dir = crate::EnumBitfieldStruct<u8, Dir_SPEC>;
4095 impl Dir {
4096 #[doc = "Receiving direction"]
4097 pub const _0: Self = Self::new(0);
4098
4099 #[doc = "Transmitting direction"]
4100 pub const _1: Self = Self::new(1);
4101 }
4102 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4103 pub struct Shtnak_SPEC;
4104 pub type Shtnak = crate::EnumBitfieldStruct<u8, Shtnak_SPEC>;
4105 impl Shtnak {
4106 #[doc = "Continue pipe operation after transfer ends"]
4107 pub const _0: Self = Self::new(0);
4108
4109 #[doc = "Disable pipe after transfer ends"]
4110 pub const _1: Self = Self::new(1);
4111 }
4112 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4113 pub struct Dblb_SPEC;
4114 pub type Dblb = crate::EnumBitfieldStruct<u8, Dblb_SPEC>;
4115 impl Dblb {
4116 #[doc = "Single buffer"]
4117 pub const _0: Self = Self::new(0);
4118
4119 #[doc = "Double buffer"]
4120 pub const _1: Self = Self::new(1);
4121 }
4122 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4123 pub struct Bfre_SPEC;
4124 pub type Bfre = crate::EnumBitfieldStruct<u8, Bfre_SPEC>;
4125 impl Bfre {
4126 #[doc = "Generate BRDY interrupt on transmitting or receiving data"]
4127 pub const _0: Self = Self::new(0);
4128
4129 #[doc = "Generate BRDY interrupt on completion of reading data"]
4130 pub const _1: Self = Self::new(1);
4131 }
4132 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4133 pub struct Type_SPEC;
4134 pub type Type = crate::EnumBitfieldStruct<u8, Type_SPEC>;
4135 impl Type {
4136 #[doc = "Pipe not used"]
4137 pub const _00: Self = Self::new(0);
4138
4139 #[doc = "Pipes 4 and 5: Bulk transfer Pipes 6 and 7: Setting prohibited"]
4140 pub const _01: Self = Self::new(1);
4141
4142 #[doc = "Pipes 4 and 5: Setting prohibited Pipes 6 and 7: Interrupt transfer"]
4143 pub const _10: Self = Self::new(2);
4144
4145 #[doc = "Pipes 4 and 5: Setting prohibited Pipes 6 and 7: Setting prohibited"]
4146 pub const _11: Self = Self::new(3);
4147 }
4148}
4149#[doc(hidden)]
4150#[derive(Copy, Clone, Eq, PartialEq)]
4151pub struct Pipemaxp_SPEC;
4152impl crate::sealed::RegSpec for Pipemaxp_SPEC {
4153 type DataType = u16;
4154}
4155
4156#[doc = "Pipe Maximum Packet Size Register"]
4157pub type Pipemaxp = crate::RegValueT<Pipemaxp_SPEC>;
4158
4159impl Pipemaxp {
4160 #[doc = "Maximum Packet Size"]
4161 #[inline(always)]
4162 pub fn mxps(
4163 self,
4164 ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Pipemaxp_SPEC, crate::common::RW>
4165 {
4166 crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Pipemaxp_SPEC,crate::common::RW>::from_register(self,0)
4167 }
4168}
4169impl ::core::default::Default for Pipemaxp {
4170 #[inline(always)]
4171 fn default() -> Pipemaxp {
4172 <crate::RegValueT<Pipemaxp_SPEC> as RegisterValue<_>>::new(0)
4173 }
4174}
4175
4176#[doc(hidden)]
4177#[derive(Copy, Clone, Eq, PartialEq)]
4178pub struct Pipectr_SPEC;
4179impl crate::sealed::RegSpec for Pipectr_SPEC {
4180 type DataType = u16;
4181}
4182
4183#[doc = "PIPE%s Control Registers"]
4184pub type Pipectr = crate::RegValueT<Pipectr_SPEC>;
4185
4186impl Pipectr {
4187 #[doc = "Response PID"]
4188 #[inline(always)]
4189 pub fn pid(
4190 self,
4191 ) -> crate::common::RegisterField<
4192 0,
4193 0x3,
4194 1,
4195 0,
4196 pipectr::Pid,
4197 pipectr::Pid,
4198 Pipectr_SPEC,
4199 crate::common::RW,
4200 > {
4201 crate::common::RegisterField::<
4202 0,
4203 0x3,
4204 1,
4205 0,
4206 pipectr::Pid,
4207 pipectr::Pid,
4208 Pipectr_SPEC,
4209 crate::common::RW,
4210 >::from_register(self, 0)
4211 }
4212
4213 #[doc = "Pipe Busy"]
4214 #[inline(always)]
4215 pub fn pbusy(
4216 self,
4217 ) -> crate::common::RegisterField<
4218 5,
4219 0x1,
4220 1,
4221 0,
4222 pipectr::Pbusy,
4223 pipectr::Pbusy,
4224 Pipectr_SPEC,
4225 crate::common::R,
4226 > {
4227 crate::common::RegisterField::<
4228 5,
4229 0x1,
4230 1,
4231 0,
4232 pipectr::Pbusy,
4233 pipectr::Pbusy,
4234 Pipectr_SPEC,
4235 crate::common::R,
4236 >::from_register(self, 0)
4237 }
4238
4239 #[doc = "Sequence Toggle Bit Confirmation"]
4240 #[inline(always)]
4241 pub fn sqmon(
4242 self,
4243 ) -> crate::common::RegisterField<
4244 6,
4245 0x1,
4246 1,
4247 0,
4248 pipectr::Sqmon,
4249 pipectr::Sqmon,
4250 Pipectr_SPEC,
4251 crate::common::R,
4252 > {
4253 crate::common::RegisterField::<
4254 6,
4255 0x1,
4256 1,
4257 0,
4258 pipectr::Sqmon,
4259 pipectr::Sqmon,
4260 Pipectr_SPEC,
4261 crate::common::R,
4262 >::from_register(self, 0)
4263 }
4264
4265 #[doc = "Sequence Toggle Bit Set"]
4266 #[inline(always)]
4267 pub fn sqset(
4268 self,
4269 ) -> crate::common::RegisterField<
4270 7,
4271 0x1,
4272 1,
4273 0,
4274 pipectr::Sqset,
4275 pipectr::Sqset,
4276 Pipectr_SPEC,
4277 crate::common::W,
4278 > {
4279 crate::common::RegisterField::<
4280 7,
4281 0x1,
4282 1,
4283 0,
4284 pipectr::Sqset,
4285 pipectr::Sqset,
4286 Pipectr_SPEC,
4287 crate::common::W,
4288 >::from_register(self, 0)
4289 }
4290
4291 #[doc = "Sequence Toggle Bit Clear"]
4292 #[inline(always)]
4293 pub fn sqclr(
4294 self,
4295 ) -> crate::common::RegisterField<
4296 8,
4297 0x1,
4298 1,
4299 0,
4300 pipectr::Sqclr,
4301 pipectr::Sqclr,
4302 Pipectr_SPEC,
4303 crate::common::W,
4304 > {
4305 crate::common::RegisterField::<
4306 8,
4307 0x1,
4308 1,
4309 0,
4310 pipectr::Sqclr,
4311 pipectr::Sqclr,
4312 Pipectr_SPEC,
4313 crate::common::W,
4314 >::from_register(self, 0)
4315 }
4316
4317 #[doc = "Auto Buffer Clear Mode"]
4318 #[inline(always)]
4319 pub fn aclrm(
4320 self,
4321 ) -> crate::common::RegisterField<
4322 9,
4323 0x1,
4324 1,
4325 0,
4326 pipectr::Aclrm,
4327 pipectr::Aclrm,
4328 Pipectr_SPEC,
4329 crate::common::RW,
4330 > {
4331 crate::common::RegisterField::<
4332 9,
4333 0x1,
4334 1,
4335 0,
4336 pipectr::Aclrm,
4337 pipectr::Aclrm,
4338 Pipectr_SPEC,
4339 crate::common::RW,
4340 >::from_register(self, 0)
4341 }
4342
4343 #[doc = "Buffer Status"]
4344 #[inline(always)]
4345 pub fn bsts(
4346 self,
4347 ) -> crate::common::RegisterField<
4348 15,
4349 0x1,
4350 1,
4351 0,
4352 pipectr::Bsts,
4353 pipectr::Bsts,
4354 Pipectr_SPEC,
4355 crate::common::R,
4356 > {
4357 crate::common::RegisterField::<
4358 15,
4359 0x1,
4360 1,
4361 0,
4362 pipectr::Bsts,
4363 pipectr::Bsts,
4364 Pipectr_SPEC,
4365 crate::common::R,
4366 >::from_register(self, 0)
4367 }
4368}
4369impl ::core::default::Default for Pipectr {
4370 #[inline(always)]
4371 fn default() -> Pipectr {
4372 <crate::RegValueT<Pipectr_SPEC> as RegisterValue<_>>::new(0)
4373 }
4374}
4375pub mod pipectr {
4376
4377 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4378 pub struct Pid_SPEC;
4379 pub type Pid = crate::EnumBitfieldStruct<u8, Pid_SPEC>;
4380 impl Pid {
4381 #[doc = "NAK response"]
4382 pub const _00: Self = Self::new(0);
4383
4384 #[doc = "BUF response (depends buffer state)"]
4385 pub const _01: Self = Self::new(1);
4386
4387 #[doc = "STALL response"]
4388 pub const _10: Self = Self::new(2);
4389
4390 #[doc = "STALL response"]
4391 pub const _11: Self = Self::new(3);
4392 }
4393 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4394 pub struct Pbusy_SPEC;
4395 pub type Pbusy = crate::EnumBitfieldStruct<u8, Pbusy_SPEC>;
4396 impl Pbusy {
4397 #[doc = "Pipe n not in use for the transaction"]
4398 pub const _0: Self = Self::new(0);
4399
4400 #[doc = "Pipe n in use for the transaction"]
4401 pub const _1: Self = Self::new(1);
4402 }
4403 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4404 pub struct Sqmon_SPEC;
4405 pub type Sqmon = crate::EnumBitfieldStruct<u8, Sqmon_SPEC>;
4406 impl Sqmon {
4407 #[doc = "DATA0"]
4408 pub const _0: Self = Self::new(0);
4409
4410 #[doc = "DATA1"]
4411 pub const _1: Self = Self::new(1);
4412 }
4413 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4414 pub struct Sqset_SPEC;
4415 pub type Sqset = crate::EnumBitfieldStruct<u8, Sqset_SPEC>;
4416 impl Sqset {
4417 #[doc = "Invalid (writing 0 has no effect)"]
4418 pub const _0: Self = Self::new(0);
4419
4420 #[doc = "Set the expected value for the next transaction to DATA0"]
4421 pub const _1: Self = Self::new(1);
4422 }
4423 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4424 pub struct Sqclr_SPEC;
4425 pub type Sqclr = crate::EnumBitfieldStruct<u8, Sqclr_SPEC>;
4426 impl Sqclr {
4427 #[doc = "Invalid (writing 0 has no effect)"]
4428 pub const _0: Self = Self::new(0);
4429
4430 #[doc = "Clear the expected value for the next transaction to DATA0"]
4431 pub const _1: Self = Self::new(1);
4432 }
4433 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4434 pub struct Aclrm_SPEC;
4435 pub type Aclrm = crate::EnumBitfieldStruct<u8, Aclrm_SPEC>;
4436 impl Aclrm {
4437 #[doc = "Disable"]
4438 pub const _0: Self = Self::new(0);
4439
4440 #[doc = "Enable (all buffers initialized)"]
4441 pub const _1: Self = Self::new(1);
4442 }
4443 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4444 pub struct Bsts_SPEC;
4445 pub type Bsts = crate::EnumBitfieldStruct<u8, Bsts_SPEC>;
4446 impl Bsts {
4447 #[doc = "Buffer access disabled"]
4448 pub const _0: Self = Self::new(0);
4449
4450 #[doc = "Buffer access enabled"]
4451 pub const _1: Self = Self::new(1);
4452 }
4453}
4454#[doc(hidden)]
4455#[derive(Copy, Clone, Eq, PartialEq)]
4456pub struct Pipetre_SPEC;
4457impl crate::sealed::RegSpec for Pipetre_SPEC {
4458 type DataType = u16;
4459}
4460
4461#[doc = "PIPE%s Transaction Counter Enable Register"]
4462pub type Pipetre = crate::RegValueT<Pipetre_SPEC>;
4463
4464impl Pipetre {
4465 #[doc = "Transaction Counter Clear"]
4466 #[inline(always)]
4467 pub fn trclr(
4468 self,
4469 ) -> crate::common::RegisterField<
4470 8,
4471 0x1,
4472 1,
4473 0,
4474 pipetre::Trclr,
4475 pipetre::Trclr,
4476 Pipetre_SPEC,
4477 crate::common::RW,
4478 > {
4479 crate::common::RegisterField::<
4480 8,
4481 0x1,
4482 1,
4483 0,
4484 pipetre::Trclr,
4485 pipetre::Trclr,
4486 Pipetre_SPEC,
4487 crate::common::RW,
4488 >::from_register(self, 0)
4489 }
4490
4491 #[doc = "Transaction Counter Enable"]
4492 #[inline(always)]
4493 pub fn trenb(
4494 self,
4495 ) -> crate::common::RegisterField<
4496 9,
4497 0x1,
4498 1,
4499 0,
4500 pipetre::Trenb,
4501 pipetre::Trenb,
4502 Pipetre_SPEC,
4503 crate::common::RW,
4504 > {
4505 crate::common::RegisterField::<
4506 9,
4507 0x1,
4508 1,
4509 0,
4510 pipetre::Trenb,
4511 pipetre::Trenb,
4512 Pipetre_SPEC,
4513 crate::common::RW,
4514 >::from_register(self, 0)
4515 }
4516}
4517impl ::core::default::Default for Pipetre {
4518 #[inline(always)]
4519 fn default() -> Pipetre {
4520 <crate::RegValueT<Pipetre_SPEC> as RegisterValue<_>>::new(0)
4521 }
4522}
4523pub mod pipetre {
4524
4525 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4526 pub struct Trclr_SPEC;
4527 pub type Trclr = crate::EnumBitfieldStruct<u8, Trclr_SPEC>;
4528 impl Trclr {
4529 #[doc = "Invalid (writing 0 has no effect)"]
4530 pub const _0: Self = Self::new(0);
4531
4532 #[doc = "Clear counter value"]
4533 pub const _1: Self = Self::new(1);
4534 }
4535 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4536 pub struct Trenb_SPEC;
4537 pub type Trenb = crate::EnumBitfieldStruct<u8, Trenb_SPEC>;
4538 impl Trenb {
4539 #[doc = "Disable transaction counter"]
4540 pub const _0: Self = Self::new(0);
4541
4542 #[doc = "Enable transaction counter"]
4543 pub const _1: Self = Self::new(1);
4544 }
4545}
4546#[doc(hidden)]
4547#[derive(Copy, Clone, Eq, PartialEq)]
4548pub struct Pipetrn_SPEC;
4549impl crate::sealed::RegSpec for Pipetrn_SPEC {
4550 type DataType = u16;
4551}
4552
4553#[doc = "PIPE%s Transaction Counter Register"]
4554pub type Pipetrn = crate::RegValueT<Pipetrn_SPEC>;
4555
4556impl Pipetrn {
4557 #[doc = "Transaction Counter"]
4558 #[inline(always)]
4559 pub fn trncnt(
4560 self,
4561 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Pipetrn_SPEC, crate::common::RW>
4562 {
4563 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Pipetrn_SPEC,crate::common::RW>::from_register(self,0)
4564 }
4565}
4566impl ::core::default::Default for Pipetrn {
4567 #[inline(always)]
4568 fn default() -> Pipetrn {
4569 <crate::RegValueT<Pipetrn_SPEC> as RegisterValue<_>>::new(0)
4570 }
4571}
4572
4573#[doc(hidden)]
4574#[derive(Copy, Clone, Eq, PartialEq)]
4575pub struct Physectrl_SPEC;
4576impl crate::sealed::RegSpec for Physectrl_SPEC {
4577 type DataType = u32;
4578}
4579
4580#[doc = "PHY Single-ended Receiver Control Register"]
4581pub type Physectrl = crate::RegValueT<Physectrl_SPEC>;
4582
4583impl Physectrl {
4584 #[doc = "Single-ended Receiver Enable"]
4585 #[inline(always)]
4586 pub fn cnen(
4587 self,
4588 ) -> crate::common::RegisterField<
4589 4,
4590 0x1,
4591 1,
4592 0,
4593 physectrl::Cnen,
4594 physectrl::Cnen,
4595 Physectrl_SPEC,
4596 crate::common::RW,
4597 > {
4598 crate::common::RegisterField::<
4599 4,
4600 0x1,
4601 1,
4602 0,
4603 physectrl::Cnen,
4604 physectrl::Cnen,
4605 Physectrl_SPEC,
4606 crate::common::RW,
4607 >::from_register(self, 0)
4608 }
4609}
4610impl ::core::default::Default for Physectrl {
4611 #[inline(always)]
4612 fn default() -> Physectrl {
4613 <crate::RegValueT<Physectrl_SPEC> as RegisterValue<_>>::new(0)
4614 }
4615}
4616pub mod physectrl {
4617
4618 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4619 pub struct Cnen_SPEC;
4620 pub type Cnen = crate::EnumBitfieldStruct<u8, Cnen_SPEC>;
4621 impl Cnen {
4622 #[doc = "Single-ended receiver operation is disabled"]
4623 pub const _0: Self = Self::new(0);
4624
4625 #[doc = "Single-ended receiver operation is enabled"]
4626 pub const _1: Self = Self::new(1);
4627 }
4628}
4629#[doc(hidden)]
4630#[derive(Copy, Clone, Eq, PartialEq)]
4631pub struct Dpusr0R_SPEC;
4632impl crate::sealed::RegSpec for Dpusr0R_SPEC {
4633 type DataType = u32;
4634}
4635
4636#[doc = "Deep Software Standby USB Transceiver Control/Pin Monitor Register"]
4637pub type Dpusr0R = crate::RegValueT<Dpusr0R_SPEC>;
4638
4639impl Dpusr0R {
4640 #[doc = "USB Single-ended Receiver Control"]
4641 #[inline(always)]
4642 pub fn srpc0(
4643 self,
4644 ) -> crate::common::RegisterField<
4645 0,
4646 0x1,
4647 1,
4648 0,
4649 dpusr0r::Srpc0,
4650 dpusr0r::Srpc0,
4651 Dpusr0R_SPEC,
4652 crate::common::RW,
4653 > {
4654 crate::common::RegisterField::<
4655 0,
4656 0x1,
4657 1,
4658 0,
4659 dpusr0r::Srpc0,
4660 dpusr0r::Srpc0,
4661 Dpusr0R_SPEC,
4662 crate::common::RW,
4663 >::from_register(self, 0)
4664 }
4665
4666 #[doc = "DP Pull-Up Resistor Control"]
4667 #[inline(always)]
4668 pub fn rpue0(
4669 self,
4670 ) -> crate::common::RegisterField<
4671 1,
4672 0x1,
4673 1,
4674 0,
4675 dpusr0r::Rpue0,
4676 dpusr0r::Rpue0,
4677 Dpusr0R_SPEC,
4678 crate::common::RW,
4679 > {
4680 crate::common::RegisterField::<
4681 1,
4682 0x1,
4683 1,
4684 0,
4685 dpusr0r::Rpue0,
4686 dpusr0r::Rpue0,
4687 Dpusr0R_SPEC,
4688 crate::common::RW,
4689 >::from_register(self, 0)
4690 }
4691
4692 #[doc = "USB Transceiver Output Fix"]
4693 #[inline(always)]
4694 pub fn fixphy0(
4695 self,
4696 ) -> crate::common::RegisterField<
4697 4,
4698 0x1,
4699 1,
4700 0,
4701 dpusr0r::Fixphy0,
4702 dpusr0r::Fixphy0,
4703 Dpusr0R_SPEC,
4704 crate::common::RW,
4705 > {
4706 crate::common::RegisterField::<
4707 4,
4708 0x1,
4709 1,
4710 0,
4711 dpusr0r::Fixphy0,
4712 dpusr0r::Fixphy0,
4713 Dpusr0R_SPEC,
4714 crate::common::RW,
4715 >::from_register(self, 0)
4716 }
4717
4718 #[doc = "USB D+ Input"]
4719 #[inline(always)]
4720 pub fn dp0(self) -> crate::common::RegisterFieldBool<16, 1, 0, Dpusr0R_SPEC, crate::common::R> {
4721 crate::common::RegisterFieldBool::<16, 1, 0, Dpusr0R_SPEC, crate::common::R>::from_register(
4722 self, 0,
4723 )
4724 }
4725
4726 #[doc = "USB D- Input"]
4727 #[inline(always)]
4728 pub fn dm0(self) -> crate::common::RegisterFieldBool<17, 1, 0, Dpusr0R_SPEC, crate::common::R> {
4729 crate::common::RegisterFieldBool::<17, 1, 0, Dpusr0R_SPEC, crate::common::R>::from_register(
4730 self, 0,
4731 )
4732 }
4733
4734 #[doc = "USB VBUS Input"]
4735 #[inline(always)]
4736 pub fn dvbsts0(
4737 self,
4738 ) -> crate::common::RegisterFieldBool<23, 1, 0, Dpusr0R_SPEC, crate::common::R> {
4739 crate::common::RegisterFieldBool::<23, 1, 0, Dpusr0R_SPEC, crate::common::R>::from_register(
4740 self, 0,
4741 )
4742 }
4743}
4744impl ::core::default::Default for Dpusr0R {
4745 #[inline(always)]
4746 fn default() -> Dpusr0R {
4747 <crate::RegValueT<Dpusr0R_SPEC> as RegisterValue<_>>::new(0)
4748 }
4749}
4750pub mod dpusr0r {
4751
4752 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4753 pub struct Srpc0_SPEC;
4754 pub type Srpc0 = crate::EnumBitfieldStruct<u8, Srpc0_SPEC>;
4755 impl Srpc0 {
4756 #[doc = "Disable input through DP and DM inputs"]
4757 pub const _0: Self = Self::new(0);
4758
4759 #[doc = "Enable input through DP and DM inputs"]
4760 pub const _1: Self = Self::new(1);
4761 }
4762 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4763 pub struct Rpue0_SPEC;
4764 pub type Rpue0 = crate::EnumBitfieldStruct<u8, Rpue0_SPEC>;
4765 impl Rpue0 {
4766 #[doc = "Disable DP pull-up resistor"]
4767 pub const _0: Self = Self::new(0);
4768
4769 #[doc = "Enable DP pull-up resistor"]
4770 pub const _1: Self = Self::new(1);
4771 }
4772 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4773 pub struct Fixphy0_SPEC;
4774 pub type Fixphy0 = crate::EnumBitfieldStruct<u8, Fixphy0_SPEC>;
4775 impl Fixphy0 {
4776 #[doc = "Fix outputs in Normal mode and on return from Deep Software Standby mode"]
4777 pub const _0: Self = Self::new(0);
4778
4779 #[doc = "Fix outputs on transition to Deep Software Standby mode"]
4780 pub const _1: Self = Self::new(1);
4781 }
4782}
4783#[doc(hidden)]
4784#[derive(Copy, Clone, Eq, PartialEq)]
4785pub struct Dpusr1R_SPEC;
4786impl crate::sealed::RegSpec for Dpusr1R_SPEC {
4787 type DataType = u32;
4788}
4789
4790#[doc = "Deep Software Standby USB Suspend/Resume Interrupt Register"]
4791pub type Dpusr1R = crate::RegValueT<Dpusr1R_SPEC>;
4792
4793impl Dpusr1R {
4794 #[doc = "USB DP Interrupt Enable/Clear"]
4795 #[inline(always)]
4796 pub fn dpinte0(
4797 self,
4798 ) -> crate::common::RegisterField<
4799 0,
4800 0x1,
4801 1,
4802 0,
4803 dpusr1r::Dpinte0,
4804 dpusr1r::Dpinte0,
4805 Dpusr1R_SPEC,
4806 crate::common::RW,
4807 > {
4808 crate::common::RegisterField::<
4809 0,
4810 0x1,
4811 1,
4812 0,
4813 dpusr1r::Dpinte0,
4814 dpusr1r::Dpinte0,
4815 Dpusr1R_SPEC,
4816 crate::common::RW,
4817 >::from_register(self, 0)
4818 }
4819
4820 #[doc = "USB DM Interrupt Enable/Clear"]
4821 #[inline(always)]
4822 pub fn dminte0(
4823 self,
4824 ) -> crate::common::RegisterField<
4825 1,
4826 0x1,
4827 1,
4828 0,
4829 dpusr1r::Dminte0,
4830 dpusr1r::Dminte0,
4831 Dpusr1R_SPEC,
4832 crate::common::RW,
4833 > {
4834 crate::common::RegisterField::<
4835 1,
4836 0x1,
4837 1,
4838 0,
4839 dpusr1r::Dminte0,
4840 dpusr1r::Dminte0,
4841 Dpusr1R_SPEC,
4842 crate::common::RW,
4843 >::from_register(self, 0)
4844 }
4845
4846 #[doc = "USB VBUS Interrupt Enable/Clear"]
4847 #[inline(always)]
4848 pub fn dvbse0(
4849 self,
4850 ) -> crate::common::RegisterField<
4851 7,
4852 0x1,
4853 1,
4854 0,
4855 dpusr1r::Dvbse0,
4856 dpusr1r::Dvbse0,
4857 Dpusr1R_SPEC,
4858 crate::common::RW,
4859 > {
4860 crate::common::RegisterField::<
4861 7,
4862 0x1,
4863 1,
4864 0,
4865 dpusr1r::Dvbse0,
4866 dpusr1r::Dvbse0,
4867 Dpusr1R_SPEC,
4868 crate::common::RW,
4869 >::from_register(self, 0)
4870 }
4871
4872 #[doc = "USB DP Interrupt Source Recovery"]
4873 #[inline(always)]
4874 pub fn dpint0(
4875 self,
4876 ) -> crate::common::RegisterField<
4877 16,
4878 0x1,
4879 1,
4880 0,
4881 dpusr1r::Dpint0,
4882 dpusr1r::Dpint0,
4883 Dpusr1R_SPEC,
4884 crate::common::R,
4885 > {
4886 crate::common::RegisterField::<
4887 16,
4888 0x1,
4889 1,
4890 0,
4891 dpusr1r::Dpint0,
4892 dpusr1r::Dpint0,
4893 Dpusr1R_SPEC,
4894 crate::common::R,
4895 >::from_register(self, 0)
4896 }
4897
4898 #[doc = "USB DM Interrupt Source Recovery"]
4899 #[inline(always)]
4900 pub fn dmint0(
4901 self,
4902 ) -> crate::common::RegisterField<
4903 17,
4904 0x1,
4905 1,
4906 0,
4907 dpusr1r::Dmint0,
4908 dpusr1r::Dmint0,
4909 Dpusr1R_SPEC,
4910 crate::common::R,
4911 > {
4912 crate::common::RegisterField::<
4913 17,
4914 0x1,
4915 1,
4916 0,
4917 dpusr1r::Dmint0,
4918 dpusr1r::Dmint0,
4919 Dpusr1R_SPEC,
4920 crate::common::R,
4921 >::from_register(self, 0)
4922 }
4923
4924 #[doc = "USB VBUS Interrupt Source Recovery"]
4925 #[inline(always)]
4926 pub fn dvbint0(
4927 self,
4928 ) -> crate::common::RegisterField<
4929 23,
4930 0x1,
4931 1,
4932 0,
4933 dpusr1r::Dvbint0,
4934 dpusr1r::Dvbint0,
4935 Dpusr1R_SPEC,
4936 crate::common::R,
4937 > {
4938 crate::common::RegisterField::<
4939 23,
4940 0x1,
4941 1,
4942 0,
4943 dpusr1r::Dvbint0,
4944 dpusr1r::Dvbint0,
4945 Dpusr1R_SPEC,
4946 crate::common::R,
4947 >::from_register(self, 0)
4948 }
4949}
4950impl ::core::default::Default for Dpusr1R {
4951 #[inline(always)]
4952 fn default() -> Dpusr1R {
4953 <crate::RegValueT<Dpusr1R_SPEC> as RegisterValue<_>>::new(0)
4954 }
4955}
4956pub mod dpusr1r {
4957
4958 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4959 pub struct Dpinte0_SPEC;
4960 pub type Dpinte0 = crate::EnumBitfieldStruct<u8, Dpinte0_SPEC>;
4961 impl Dpinte0 {
4962 #[doc = "Disable recovery from Deep Software Standby mode by DP input"]
4963 pub const _0: Self = Self::new(0);
4964
4965 #[doc = "Enable recovery from Deep Software Standby mode by DP input"]
4966 pub const _1: Self = Self::new(1);
4967 }
4968 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4969 pub struct Dminte0_SPEC;
4970 pub type Dminte0 = crate::EnumBitfieldStruct<u8, Dminte0_SPEC>;
4971 impl Dminte0 {
4972 #[doc = "Disable recovery from Deep Software Standby mode by DM input"]
4973 pub const _0: Self = Self::new(0);
4974
4975 #[doc = "Enable recovery from Deep Software Standby mode by DM input"]
4976 pub const _1: Self = Self::new(1);
4977 }
4978 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4979 pub struct Dvbse0_SPEC;
4980 pub type Dvbse0 = crate::EnumBitfieldStruct<u8, Dvbse0_SPEC>;
4981 impl Dvbse0 {
4982 #[doc = "Disable recovery from Deep Software Standby mode by VBUS input"]
4983 pub const _0: Self = Self::new(0);
4984
4985 #[doc = "Enable recovery from Deep Software Standby mode by VBUS input"]
4986 pub const _1: Self = Self::new(1);
4987 }
4988 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4989 pub struct Dpint0_SPEC;
4990 pub type Dpint0 = crate::EnumBitfieldStruct<u8, Dpint0_SPEC>;
4991 impl Dpint0 {
4992 #[doc = "System has not recovered from Deep Software Standby mode"]
4993 pub const _0: Self = Self::new(0);
4994
4995 #[doc = "System recovered from Deep Software Standby mode because of DP"]
4996 pub const _1: Self = Self::new(1);
4997 }
4998 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4999 pub struct Dmint0_SPEC;
5000 pub type Dmint0 = crate::EnumBitfieldStruct<u8, Dmint0_SPEC>;
5001 impl Dmint0 {
5002 #[doc = "System has not recovered from Deep Software Standby mode"]
5003 pub const _0: Self = Self::new(0);
5004
5005 #[doc = "System recovered from Deep Software Standby mode because of DM input"]
5006 pub const _1: Self = Self::new(1);
5007 }
5008 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5009 pub struct Dvbint0_SPEC;
5010 pub type Dvbint0 = crate::EnumBitfieldStruct<u8, Dvbint0_SPEC>;
5011 impl Dvbint0 {
5012 #[doc = "System has not recovered from Deep Software Standby mode"]
5013 pub const _0: Self = Self::new(0);
5014
5015 #[doc = "System recovered from Deep Software Standby mode because of VBUS input"]
5016 pub const _1: Self = Self::new(1);
5017 }
5018}