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