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 FS 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 L"]
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(
230 &self,
231 ) -> &'static crate::common::Reg<self::Frmnum_SPEC, crate::common::RW> {
232 unsafe {
233 crate::common::Reg::<self::Frmnum_SPEC, crate::common::RW>::from_ptr(
234 self._svd2pac_as_ptr().add(76usize),
235 )
236 }
237 }
238
239 #[doc = "USB Request Type Register"]
240 #[inline(always)]
241 pub const fn usbreq(&self) -> &'static crate::common::Reg<self::Usbreq_SPEC, crate::common::R> {
242 unsafe {
243 crate::common::Reg::<self::Usbreq_SPEC, crate::common::R>::from_ptr(
244 self._svd2pac_as_ptr().add(84usize),
245 )
246 }
247 }
248
249 #[doc = "USB Request Value Register"]
250 #[inline(always)]
251 pub const fn usbval(&self) -> &'static crate::common::Reg<self::Usbval_SPEC, crate::common::R> {
252 unsafe {
253 crate::common::Reg::<self::Usbval_SPEC, crate::common::R>::from_ptr(
254 self._svd2pac_as_ptr().add(86usize),
255 )
256 }
257 }
258
259 #[doc = "USB Request Index Register"]
260 #[inline(always)]
261 pub const fn usbindx(
262 &self,
263 ) -> &'static crate::common::Reg<self::Usbindx_SPEC, crate::common::R> {
264 unsafe {
265 crate::common::Reg::<self::Usbindx_SPEC, crate::common::R>::from_ptr(
266 self._svd2pac_as_ptr().add(88usize),
267 )
268 }
269 }
270
271 #[doc = "USB Request Length Register"]
272 #[inline(always)]
273 pub const fn usbleng(
274 &self,
275 ) -> &'static crate::common::Reg<self::Usbleng_SPEC, crate::common::R> {
276 unsafe {
277 crate::common::Reg::<self::Usbleng_SPEC, crate::common::R>::from_ptr(
278 self._svd2pac_as_ptr().add(90usize),
279 )
280 }
281 }
282
283 #[doc = "DCP Configuration Register"]
284 #[inline(always)]
285 pub const fn dcpcfg(
286 &self,
287 ) -> &'static crate::common::Reg<self::Dcpcfg_SPEC, crate::common::RW> {
288 unsafe {
289 crate::common::Reg::<self::Dcpcfg_SPEC, crate::common::RW>::from_ptr(
290 self._svd2pac_as_ptr().add(92usize),
291 )
292 }
293 }
294
295 #[doc = "DCP Maximum Packet Size Register"]
296 #[inline(always)]
297 pub const fn dcpmaxp(
298 &self,
299 ) -> &'static crate::common::Reg<self::Dcpmaxp_SPEC, crate::common::RW> {
300 unsafe {
301 crate::common::Reg::<self::Dcpmaxp_SPEC, crate::common::RW>::from_ptr(
302 self._svd2pac_as_ptr().add(94usize),
303 )
304 }
305 }
306
307 #[doc = "DCP Control Register"]
308 #[inline(always)]
309 pub const fn dcpctr(
310 &self,
311 ) -> &'static crate::common::Reg<self::Dcpctr_SPEC, crate::common::RW> {
312 unsafe {
313 crate::common::Reg::<self::Dcpctr_SPEC, crate::common::RW>::from_ptr(
314 self._svd2pac_as_ptr().add(96usize),
315 )
316 }
317 }
318
319 #[doc = "Pipe Window Select Register"]
320 #[inline(always)]
321 pub const fn pipesel(
322 &self,
323 ) -> &'static crate::common::Reg<self::Pipesel_SPEC, crate::common::RW> {
324 unsafe {
325 crate::common::Reg::<self::Pipesel_SPEC, crate::common::RW>::from_ptr(
326 self._svd2pac_as_ptr().add(100usize),
327 )
328 }
329 }
330
331 #[doc = "Pipe Configuration Register"]
332 #[inline(always)]
333 pub const fn pipecfg(
334 &self,
335 ) -> &'static crate::common::Reg<self::Pipecfg_SPEC, crate::common::RW> {
336 unsafe {
337 crate::common::Reg::<self::Pipecfg_SPEC, crate::common::RW>::from_ptr(
338 self._svd2pac_as_ptr().add(104usize),
339 )
340 }
341 }
342
343 #[doc = "Pipe Maximum Packet Size Register"]
344 #[inline(always)]
345 pub const fn pipemaxp(
346 &self,
347 ) -> &'static crate::common::Reg<self::Pipemaxp_SPEC, crate::common::RW> {
348 unsafe {
349 crate::common::Reg::<self::Pipemaxp_SPEC, crate::common::RW>::from_ptr(
350 self._svd2pac_as_ptr().add(108usize),
351 )
352 }
353 }
354
355 #[doc = "Pipe %s Control Register"]
356 #[inline(always)]
357 pub const fn pipectr(
358 &self,
359 ) -> &'static crate::common::ClusterRegisterArray<
360 crate::common::Reg<self::Pipectr_SPEC, crate::common::RW>,
361 2,
362 0x2,
363 > {
364 unsafe {
365 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x7ausize))
366 }
367 }
368 #[inline(always)]
369 pub const fn pipe6ctr(
370 &self,
371 ) -> &'static crate::common::Reg<self::Pipectr_SPEC, crate::common::RW> {
372 unsafe {
373 crate::common::Reg::<self::Pipectr_SPEC, crate::common::RW>::from_ptr(
374 self._svd2pac_as_ptr().add(0x7ausize),
375 )
376 }
377 }
378 #[inline(always)]
379 pub const fn pipe7ctr(
380 &self,
381 ) -> &'static crate::common::Reg<self::Pipectr_SPEC, crate::common::RW> {
382 unsafe {
383 crate::common::Reg::<self::Pipectr_SPEC, crate::common::RW>::from_ptr(
384 self._svd2pac_as_ptr().add(0x7cusize),
385 )
386 }
387 }
388
389 #[doc = "Pipe %s Transaction Counter Enable Register"]
390 #[inline(always)]
391 pub const fn pipetre(
392 &self,
393 ) -> &'static crate::common::ClusterRegisterArray<
394 crate::common::Reg<self::Pipetre_SPEC, crate::common::RW>,
395 2,
396 0x4,
397 > {
398 unsafe {
399 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x9cusize))
400 }
401 }
402 #[inline(always)]
403 pub const fn pipe4tre(
404 &self,
405 ) -> &'static crate::common::Reg<self::Pipetre_SPEC, crate::common::RW> {
406 unsafe {
407 crate::common::Reg::<self::Pipetre_SPEC, crate::common::RW>::from_ptr(
408 self._svd2pac_as_ptr().add(0x9cusize),
409 )
410 }
411 }
412 #[inline(always)]
413 pub const fn pipe5tre(
414 &self,
415 ) -> &'static crate::common::Reg<self::Pipetre_SPEC, crate::common::RW> {
416 unsafe {
417 crate::common::Reg::<self::Pipetre_SPEC, crate::common::RW>::from_ptr(
418 self._svd2pac_as_ptr().add(0xa0usize),
419 )
420 }
421 }
422
423 #[doc = "Pipe %s Transaction Counter Register"]
424 #[inline(always)]
425 pub const fn pipetrn(
426 &self,
427 ) -> &'static crate::common::ClusterRegisterArray<
428 crate::common::Reg<self::Pipetrn_SPEC, crate::common::RW>,
429 2,
430 0x4,
431 > {
432 unsafe {
433 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x9eusize))
434 }
435 }
436 #[inline(always)]
437 pub const fn pipe4trn(
438 &self,
439 ) -> &'static crate::common::Reg<self::Pipetrn_SPEC, crate::common::RW> {
440 unsafe {
441 crate::common::Reg::<self::Pipetrn_SPEC, crate::common::RW>::from_ptr(
442 self._svd2pac_as_ptr().add(0x9eusize),
443 )
444 }
445 }
446 #[inline(always)]
447 pub const fn pipe5trn(
448 &self,
449 ) -> &'static crate::common::Reg<self::Pipetrn_SPEC, crate::common::RW> {
450 unsafe {
451 crate::common::Reg::<self::Pipetrn_SPEC, crate::common::RW>::from_ptr(
452 self._svd2pac_as_ptr().add(0xa2usize),
453 )
454 }
455 }
456
457 #[doc = "USB Module Control Register"]
458 #[inline(always)]
459 pub const fn usbmc(&self) -> &'static crate::common::Reg<self::Usbmc_SPEC, crate::common::RW> {
460 unsafe {
461 crate::common::Reg::<self::Usbmc_SPEC, crate::common::RW>::from_ptr(
462 self._svd2pac_as_ptr().add(204usize),
463 )
464 }
465 }
466
467 #[doc = "BC Control Register 0"]
468 #[inline(always)]
469 pub const fn usbbcctrl0(
470 &self,
471 ) -> &'static crate::common::Reg<self::Usbbcctrl0_SPEC, crate::common::RW> {
472 unsafe {
473 crate::common::Reg::<self::Usbbcctrl0_SPEC, crate::common::RW>::from_ptr(
474 self._svd2pac_as_ptr().add(176usize),
475 )
476 }
477 }
478
479 #[doc = "USB Clock Selection Register"]
480 #[inline(always)]
481 pub const fn ucksel(
482 &self,
483 ) -> &'static crate::common::Reg<self::Ucksel_SPEC, crate::common::RW> {
484 unsafe {
485 crate::common::Reg::<self::Ucksel_SPEC, crate::common::RW>::from_ptr(
486 self._svd2pac_as_ptr().add(196usize),
487 )
488 }
489 }
490}
491#[doc(hidden)]
492#[derive(Copy, Clone, Eq, PartialEq)]
493pub struct Syscfg_SPEC;
494impl crate::sealed::RegSpec for Syscfg_SPEC {
495 type DataType = u16;
496}
497
498#[doc = "System Configuration Control Register"]
499pub type Syscfg = crate::RegValueT<Syscfg_SPEC>;
500
501impl Syscfg {
502 #[doc = "USB Clock Enable"]
503 #[inline(always)]
504 pub fn scke(
505 self,
506 ) -> crate::common::RegisterField<
507 10,
508 0x1,
509 1,
510 0,
511 syscfg::Scke,
512 syscfg::Scke,
513 Syscfg_SPEC,
514 crate::common::RW,
515 > {
516 crate::common::RegisterField::<
517 10,
518 0x1,
519 1,
520 0,
521 syscfg::Scke,
522 syscfg::Scke,
523 Syscfg_SPEC,
524 crate::common::RW,
525 >::from_register(self, 0)
526 }
527
528 #[doc = "CNEN Single End Receiver Enable"]
529 #[inline(always)]
530 pub fn cnen(
531 self,
532 ) -> crate::common::RegisterField<
533 8,
534 0x1,
535 1,
536 0,
537 syscfg::Cnen,
538 syscfg::Cnen,
539 Syscfg_SPEC,
540 crate::common::RW,
541 > {
542 crate::common::RegisterField::<
543 8,
544 0x1,
545 1,
546 0,
547 syscfg::Cnen,
548 syscfg::Cnen,
549 Syscfg_SPEC,
550 crate::common::RW,
551 >::from_register(self, 0)
552 }
553
554 #[doc = "D+ Line Resistor Control"]
555 #[inline(always)]
556 pub fn dprpu(
557 self,
558 ) -> crate::common::RegisterField<
559 4,
560 0x1,
561 1,
562 0,
563 syscfg::Dprpu,
564 syscfg::Dprpu,
565 Syscfg_SPEC,
566 crate::common::RW,
567 > {
568 crate::common::RegisterField::<
569 4,
570 0x1,
571 1,
572 0,
573 syscfg::Dprpu,
574 syscfg::Dprpu,
575 Syscfg_SPEC,
576 crate::common::RW,
577 >::from_register(self, 0)
578 }
579
580 #[doc = "D- Line Resistor Control"]
581 #[inline(always)]
582 pub fn dmrpu(
583 self,
584 ) -> crate::common::RegisterField<
585 3,
586 0x1,
587 1,
588 0,
589 syscfg::Dmrpu,
590 syscfg::Dmrpu,
591 Syscfg_SPEC,
592 crate::common::RW,
593 > {
594 crate::common::RegisterField::<
595 3,
596 0x1,
597 1,
598 0,
599 syscfg::Dmrpu,
600 syscfg::Dmrpu,
601 Syscfg_SPEC,
602 crate::common::RW,
603 >::from_register(self, 0)
604 }
605
606 #[doc = "These bits are read as 00. The write value should be 00."]
607 #[inline(always)]
608 pub fn reserved(
609 self,
610 ) -> crate::common::RegisterField<1, 0x3, 1, 0, u8, u8, Syscfg_SPEC, crate::common::RW> {
611 crate::common::RegisterField::<1,0x3,1,0,u8,u8,Syscfg_SPEC,crate::common::RW>::from_register(self,0)
612 }
613
614 #[doc = "USB Operation Enable"]
615 #[inline(always)]
616 pub fn usbe(
617 self,
618 ) -> crate::common::RegisterField<
619 0,
620 0x1,
621 1,
622 0,
623 syscfg::Usbe,
624 syscfg::Usbe,
625 Syscfg_SPEC,
626 crate::common::RW,
627 > {
628 crate::common::RegisterField::<
629 0,
630 0x1,
631 1,
632 0,
633 syscfg::Usbe,
634 syscfg::Usbe,
635 Syscfg_SPEC,
636 crate::common::RW,
637 >::from_register(self, 0)
638 }
639}
640impl ::core::default::Default for Syscfg {
641 #[inline(always)]
642 fn default() -> Syscfg {
643 <crate::RegValueT<Syscfg_SPEC> as RegisterValue<_>>::new(0)
644 }
645}
646pub mod syscfg {
647
648 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
649 pub struct Scke_SPEC;
650 pub type Scke = crate::EnumBitfieldStruct<u8, Scke_SPEC>;
651 impl Scke {
652 #[doc = "Stops supplying the clock signal to the USB."]
653 pub const _0: Self = Self::new(0);
654
655 #[doc = "Enables supplying the clock signal to the USB."]
656 pub const _1: Self = Self::new(1);
657 }
658 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
659 pub struct Cnen_SPEC;
660 pub type Cnen = crate::EnumBitfieldStruct<u8, Cnen_SPEC>;
661 impl Cnen {
662 #[doc = "Single end receiver operation is disabled."]
663 pub const _0: Self = Self::new(0);
664
665 #[doc = "Single end receiver operation is enabled."]
666 pub const _1: Self = Self::new(1);
667 }
668 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
669 pub struct Dprpu_SPEC;
670 pub type Dprpu = crate::EnumBitfieldStruct<u8, Dprpu_SPEC>;
671 impl Dprpu {
672 #[doc = "Pulling up the line is disabled."]
673 pub const _0: Self = Self::new(0);
674
675 #[doc = "Pulling up the line is enabled."]
676 pub const _1: Self = Self::new(1);
677 }
678 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
679 pub struct Dmrpu_SPEC;
680 pub type Dmrpu = crate::EnumBitfieldStruct<u8, Dmrpu_SPEC>;
681 impl Dmrpu {
682 #[doc = "Pulling up the line is disabled."]
683 pub const _0: Self = Self::new(0);
684
685 #[doc = "Pulling up the line is enabled."]
686 pub const _1: Self = Self::new(1);
687 }
688 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
689 pub struct Usbe_SPEC;
690 pub type Usbe = crate::EnumBitfieldStruct<u8, Usbe_SPEC>;
691 impl Usbe {
692 #[doc = "USB operation is disabled."]
693 pub const _0: Self = Self::new(0);
694
695 #[doc = "USB operation is enabled."]
696 pub const _1: Self = Self::new(1);
697 }
698}
699#[doc(hidden)]
700#[derive(Copy, Clone, Eq, PartialEq)]
701pub struct Syssts0_SPEC;
702impl crate::sealed::RegSpec for Syssts0_SPEC {
703 type DataType = u16;
704}
705
706#[doc = "System Configuration Status Register 0"]
707pub type Syssts0 = crate::RegValueT<Syssts0_SPEC>;
708
709impl Syssts0 {
710 #[doc = "These bits are read as 00000000000000."]
711 #[inline(always)]
712 pub fn reserved(
713 self,
714 ) -> crate::common::RegisterField<2, 0x3fff, 1, 0, u16, u16, Syssts0_SPEC, crate::common::R>
715 {
716 crate::common::RegisterField::<2,0x3fff,1,0,u16,u16,Syssts0_SPEC,crate::common::R>::from_register(self,0)
717 }
718
719 #[doc = "USB Data Line Status Monitor"]
720 #[inline(always)]
721 pub fn lnst(
722 self,
723 ) -> crate::common::RegisterField<
724 0,
725 0x3,
726 1,
727 0,
728 syssts0::Lnst,
729 syssts0::Lnst,
730 Syssts0_SPEC,
731 crate::common::R,
732 > {
733 crate::common::RegisterField::<
734 0,
735 0x3,
736 1,
737 0,
738 syssts0::Lnst,
739 syssts0::Lnst,
740 Syssts0_SPEC,
741 crate::common::R,
742 >::from_register(self, 0)
743 }
744}
745impl ::core::default::Default for Syssts0 {
746 #[inline(always)]
747 fn default() -> Syssts0 {
748 <crate::RegValueT<Syssts0_SPEC> as RegisterValue<_>>::new(0)
749 }
750}
751pub mod syssts0 {
752
753 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
754 pub struct Lnst_SPEC;
755 pub type Lnst = crate::EnumBitfieldStruct<u8, Lnst_SPEC>;
756 impl Lnst {
757 #[doc = "SE0"]
758 pub const _00: Self = Self::new(0);
759
760 #[doc = "J-State"]
761 pub const _01: Self = Self::new(1);
762
763 #[doc = "K-State"]
764 pub const _10: Self = Self::new(2);
765
766 #[doc = "SE1"]
767 pub const _11: Self = Self::new(3);
768 }
769}
770#[doc(hidden)]
771#[derive(Copy, Clone, Eq, PartialEq)]
772pub struct Dvstctr0_SPEC;
773impl crate::sealed::RegSpec for Dvstctr0_SPEC {
774 type DataType = u16;
775}
776
777#[doc = "Device State Control Register 0"]
778pub type Dvstctr0 = crate::RegValueT<Dvstctr0_SPEC>;
779
780impl Dvstctr0 {
781 #[doc = "Wakeup Detection Enable"]
782 #[inline(always)]
783 pub fn wkup(
784 self,
785 ) -> crate::common::RegisterField<
786 8,
787 0x1,
788 1,
789 0,
790 dvstctr0::Wkup,
791 dvstctr0::Wkup,
792 Dvstctr0_SPEC,
793 crate::common::RW,
794 > {
795 crate::common::RegisterField::<
796 8,
797 0x1,
798 1,
799 0,
800 dvstctr0::Wkup,
801 dvstctr0::Wkup,
802 Dvstctr0_SPEC,
803 crate::common::RW,
804 >::from_register(self, 0)
805 }
806
807 #[doc = "These bits are read as 00000. The write value should be 00000."]
808 #[inline(always)]
809 pub fn reserved(
810 self,
811 ) -> crate::common::RegisterField<3, 0x1f, 1, 0, u8, u8, Dvstctr0_SPEC, crate::common::RW> {
812 crate::common::RegisterField::<3,0x1f,1,0,u8,u8,Dvstctr0_SPEC,crate::common::RW>::from_register(self,0)
813 }
814
815 #[doc = "USB Bus Reset Status"]
816 #[inline(always)]
817 pub fn rhst(
818 self,
819 ) -> crate::common::RegisterField<
820 0,
821 0x7,
822 1,
823 0,
824 dvstctr0::Rhst,
825 dvstctr0::Rhst,
826 Dvstctr0_SPEC,
827 crate::common::R,
828 > {
829 crate::common::RegisterField::<
830 0,
831 0x7,
832 1,
833 0,
834 dvstctr0::Rhst,
835 dvstctr0::Rhst,
836 Dvstctr0_SPEC,
837 crate::common::R,
838 >::from_register(self, 0)
839 }
840}
841impl ::core::default::Default for Dvstctr0 {
842 #[inline(always)]
843 fn default() -> Dvstctr0 {
844 <crate::RegValueT<Dvstctr0_SPEC> as RegisterValue<_>>::new(0)
845 }
846}
847pub mod dvstctr0 {
848
849 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
850 pub struct Wkup_SPEC;
851 pub type Wkup = crate::EnumBitfieldStruct<u8, Wkup_SPEC>;
852 impl Wkup {
853 #[doc = "Remote wakeup signal is not output."]
854 pub const _0: Self = Self::new(0);
855
856 #[doc = "Remote wakeup signal is output."]
857 pub const _1: Self = Self::new(1);
858 }
859 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
860 pub struct Rhst_SPEC;
861 pub type Rhst = crate::EnumBitfieldStruct<u8, Rhst_SPEC>;
862 impl Rhst {
863 #[doc = "Communication speed not determined"]
864 pub const _000: Self = Self::new(0);
865
866 #[doc = "USB bus reset in progress or low-speed connection"]
867 pub const _001: Self = Self::new(1);
868
869 #[doc = "USB bus reset in progress or full-speed connection"]
870 pub const _010: Self = Self::new(2);
871 }
872}
873#[doc(hidden)]
874#[derive(Copy, Clone, Eq, PartialEq)]
875pub struct Cfifo_SPEC;
876impl crate::sealed::RegSpec for Cfifo_SPEC {
877 type DataType = u16;
878}
879
880#[doc = "CFIFO Port Register"]
881pub type Cfifo = crate::RegValueT<Cfifo_SPEC>;
882
883impl Cfifo {
884 #[doc = "FIFO PortRead receive data from the FIFO buffer or write transmit data to the FIFO buffer by accessing these bits."]
885 #[inline(always)]
886 pub fn fifoport(
887 self,
888 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Cfifo_SPEC, crate::common::RW>
889 {
890 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Cfifo_SPEC,crate::common::RW>::from_register(self,0)
891 }
892}
893impl ::core::default::Default for Cfifo {
894 #[inline(always)]
895 fn default() -> Cfifo {
896 <crate::RegValueT<Cfifo_SPEC> as RegisterValue<_>>::new(0)
897 }
898}
899
900#[doc(hidden)]
901#[derive(Copy, Clone, Eq, PartialEq)]
902pub struct Cfifol_SPEC;
903impl crate::sealed::RegSpec for Cfifol_SPEC {
904 type DataType = u8;
905}
906
907#[doc = "CFIFO Port Register L"]
908pub type Cfifol = crate::RegValueT<Cfifol_SPEC>;
909
910impl NoBitfieldReg<Cfifol_SPEC> for Cfifol {}
911impl ::core::default::Default for Cfifol {
912 #[inline(always)]
913 fn default() -> Cfifol {
914 <crate::RegValueT<Cfifol_SPEC> as RegisterValue<_>>::new(0)
915 }
916}
917
918#[doc(hidden)]
919#[derive(Copy, Clone, Eq, PartialEq)]
920pub struct Cfifosel_SPEC;
921impl crate::sealed::RegSpec for Cfifosel_SPEC {
922 type DataType = u16;
923}
924
925#[doc = "CFIFO Port Select Register"]
926pub type Cfifosel = crate::RegValueT<Cfifosel_SPEC>;
927
928impl Cfifosel {
929 #[doc = "Read Count Mode"]
930 #[inline(always)]
931 pub fn rcnt(
932 self,
933 ) -> crate::common::RegisterField<
934 15,
935 0x1,
936 1,
937 0,
938 cfifosel::Rcnt,
939 cfifosel::Rcnt,
940 Cfifosel_SPEC,
941 crate::common::RW,
942 > {
943 crate::common::RegisterField::<
944 15,
945 0x1,
946 1,
947 0,
948 cfifosel::Rcnt,
949 cfifosel::Rcnt,
950 Cfifosel_SPEC,
951 crate::common::RW,
952 >::from_register(self, 0)
953 }
954
955 #[doc = "Buffer Pointer Rewind"]
956 #[inline(always)]
957 pub fn rew(
958 self,
959 ) -> crate::common::RegisterField<
960 14,
961 0x1,
962 1,
963 0,
964 cfifosel::Rew,
965 cfifosel::Rew,
966 Cfifosel_SPEC,
967 crate::common::W,
968 > {
969 crate::common::RegisterField::<
970 14,
971 0x1,
972 1,
973 0,
974 cfifosel::Rew,
975 cfifosel::Rew,
976 Cfifosel_SPEC,
977 crate::common::W,
978 >::from_register(self, 0)
979 }
980
981 #[doc = "CFIFO Port Access Bit Width"]
982 #[inline(always)]
983 pub fn mbw(
984 self,
985 ) -> crate::common::RegisterField<
986 10,
987 0x1,
988 1,
989 0,
990 cfifosel::Mbw,
991 cfifosel::Mbw,
992 Cfifosel_SPEC,
993 crate::common::RW,
994 > {
995 crate::common::RegisterField::<
996 10,
997 0x1,
998 1,
999 0,
1000 cfifosel::Mbw,
1001 cfifosel::Mbw,
1002 Cfifosel_SPEC,
1003 crate::common::RW,
1004 >::from_register(self, 0)
1005 }
1006
1007 #[doc = "CFIFO Port Endian Control"]
1008 #[inline(always)]
1009 pub fn bigend(
1010 self,
1011 ) -> crate::common::RegisterField<
1012 8,
1013 0x1,
1014 1,
1015 0,
1016 cfifosel::Bigend,
1017 cfifosel::Bigend,
1018 Cfifosel_SPEC,
1019 crate::common::RW,
1020 > {
1021 crate::common::RegisterField::<
1022 8,
1023 0x1,
1024 1,
1025 0,
1026 cfifosel::Bigend,
1027 cfifosel::Bigend,
1028 Cfifosel_SPEC,
1029 crate::common::RW,
1030 >::from_register(self, 0)
1031 }
1032
1033 #[doc = "CFIFO Port Access Direction When DCP is Selected"]
1034 #[inline(always)]
1035 pub fn isel(
1036 self,
1037 ) -> crate::common::RegisterField<
1038 5,
1039 0x1,
1040 1,
1041 0,
1042 cfifosel::Isel,
1043 cfifosel::Isel,
1044 Cfifosel_SPEC,
1045 crate::common::RW,
1046 > {
1047 crate::common::RegisterField::<
1048 5,
1049 0x1,
1050 1,
1051 0,
1052 cfifosel::Isel,
1053 cfifosel::Isel,
1054 Cfifosel_SPEC,
1055 crate::common::RW,
1056 >::from_register(self, 0)
1057 }
1058
1059 #[doc = "This bit is read as 0. The write value should be 0."]
1060 #[inline(always)]
1061 pub fn reserved(
1062 self,
1063 ) -> crate::common::RegisterFieldBool<4, 1, 0, Cfifosel_SPEC, crate::common::RW> {
1064 crate::common::RegisterFieldBool::<4, 1, 0, Cfifosel_SPEC, crate::common::RW>::from_register(
1065 self, 0,
1066 )
1067 }
1068
1069 #[doc = "CFIFO Port Access Pipe Specification"]
1070 #[inline(always)]
1071 pub fn curpipe(
1072 self,
1073 ) -> crate::common::RegisterField<
1074 0,
1075 0xf,
1076 1,
1077 0,
1078 cfifosel::Curpipe,
1079 cfifosel::Curpipe,
1080 Cfifosel_SPEC,
1081 crate::common::RW,
1082 > {
1083 crate::common::RegisterField::<
1084 0,
1085 0xf,
1086 1,
1087 0,
1088 cfifosel::Curpipe,
1089 cfifosel::Curpipe,
1090 Cfifosel_SPEC,
1091 crate::common::RW,
1092 >::from_register(self, 0)
1093 }
1094}
1095impl ::core::default::Default for Cfifosel {
1096 #[inline(always)]
1097 fn default() -> Cfifosel {
1098 <crate::RegValueT<Cfifosel_SPEC> as RegisterValue<_>>::new(0)
1099 }
1100}
1101pub mod cfifosel {
1102
1103 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1104 pub struct Rcnt_SPEC;
1105 pub type Rcnt = crate::EnumBitfieldStruct<u8, Rcnt_SPEC>;
1106 impl Rcnt {
1107 #[doc = "The DTLN\\[8:0\\] bits (CFIFOCRT.DTLN\\[8:0\\], D0FIFOCRT.DTLN\\[8:0\\], D1FIFOCRT.DTLN\\[8:0\\]) are cleared when all of the receive data has been read from the CFIFO.(In double buffer mode, the DTLN\\[8:0\\] bit value is cleared when all the data has been read from only a single plane.)"]
1108 pub const _0: Self = Self::new(0);
1109
1110 #[doc = "The DTLN\\[8:0\\] bits are decremented each time the receive data is read from the CFIFO."]
1111 pub const _1: Self = Self::new(1);
1112 }
1113 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1114 pub struct Rew_SPEC;
1115 pub type Rew = crate::EnumBitfieldStruct<u8, Rew_SPEC>;
1116 impl Rew {
1117 #[doc = "The buffer pointer is not rewound."]
1118 pub const _0: Self = Self::new(0);
1119
1120 #[doc = "The buffer pointer is rewound."]
1121 pub const _1: Self = Self::new(1);
1122 }
1123 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1124 pub struct Mbw_SPEC;
1125 pub type Mbw = crate::EnumBitfieldStruct<u8, Mbw_SPEC>;
1126 impl Mbw {
1127 #[doc = "8-bit width"]
1128 pub const _0: Self = Self::new(0);
1129
1130 #[doc = "16-bit width"]
1131 pub const _1: Self = Self::new(1);
1132 }
1133 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1134 pub struct Bigend_SPEC;
1135 pub type Bigend = crate::EnumBitfieldStruct<u8, Bigend_SPEC>;
1136 impl Bigend {
1137 #[doc = "Little endian"]
1138 pub const _0: Self = Self::new(0);
1139
1140 #[doc = "Big endian"]
1141 pub const _1: Self = Self::new(1);
1142 }
1143 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1144 pub struct Isel_SPEC;
1145 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
1146 impl Isel {
1147 #[doc = "Reading from the buffer memory is selected"]
1148 pub const _0: Self = Self::new(0);
1149
1150 #[doc = "Writing to the buffer memory is selected"]
1151 pub const _1: Self = Self::new(1);
1152 }
1153 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1154 pub struct Curpipe_SPEC;
1155 pub type Curpipe = crate::EnumBitfieldStruct<u8, Curpipe_SPEC>;
1156 impl Curpipe {
1157 #[doc = "DCP(Defaultcontrolpipe)"]
1158 pub const _0000: Self = Self::new(0);
1159
1160 #[doc = "Pipe1"]
1161 pub const _0001: Self = Self::new(1);
1162
1163 #[doc = "Pipe2"]
1164 pub const _0010: Self = Self::new(2);
1165
1166 #[doc = "Pipe3"]
1167 pub const _0011: Self = Self::new(3);
1168
1169 #[doc = "Pipe4"]
1170 pub const _0100: Self = Self::new(4);
1171
1172 #[doc = "Pipe5"]
1173 pub const _0101: Self = Self::new(5);
1174
1175 #[doc = "Pipe6"]
1176 pub const _0110: Self = Self::new(6);
1177
1178 #[doc = "Pipe7"]
1179 pub const _0111: Self = Self::new(7);
1180
1181 #[doc = "Pipe8"]
1182 pub const _1000: Self = Self::new(8);
1183
1184 #[doc = "Pipe9"]
1185 pub const _1001: Self = Self::new(9);
1186 }
1187}
1188#[doc(hidden)]
1189#[derive(Copy, Clone, Eq, PartialEq)]
1190pub struct Cfifoctr_SPEC;
1191impl crate::sealed::RegSpec for Cfifoctr_SPEC {
1192 type DataType = u16;
1193}
1194
1195#[doc = "CFIFO Port Control Register"]
1196pub type Cfifoctr = crate::RegValueT<Cfifoctr_SPEC>;
1197
1198impl Cfifoctr {
1199 #[doc = "Buffer Memory Valid Flag"]
1200 #[inline(always)]
1201 pub fn bval(
1202 self,
1203 ) -> crate::common::RegisterField<
1204 15,
1205 0x1,
1206 1,
1207 0,
1208 cfifoctr::Bval,
1209 cfifoctr::Bval,
1210 Cfifoctr_SPEC,
1211 crate::common::RW,
1212 > {
1213 crate::common::RegisterField::<
1214 15,
1215 0x1,
1216 1,
1217 0,
1218 cfifoctr::Bval,
1219 cfifoctr::Bval,
1220 Cfifoctr_SPEC,
1221 crate::common::RW,
1222 >::from_register(self, 0)
1223 }
1224
1225 #[doc = "CPU Buffer Clear"]
1226 #[inline(always)]
1227 pub fn bclr(
1228 self,
1229 ) -> crate::common::RegisterField<
1230 14,
1231 0x1,
1232 1,
1233 0,
1234 cfifoctr::Bclr,
1235 cfifoctr::Bclr,
1236 Cfifoctr_SPEC,
1237 crate::common::W,
1238 > {
1239 crate::common::RegisterField::<
1240 14,
1241 0x1,
1242 1,
1243 0,
1244 cfifoctr::Bclr,
1245 cfifoctr::Bclr,
1246 Cfifoctr_SPEC,
1247 crate::common::W,
1248 >::from_register(self, 0)
1249 }
1250
1251 #[doc = "FIFO Port Ready"]
1252 #[inline(always)]
1253 pub fn frdy(
1254 self,
1255 ) -> crate::common::RegisterField<
1256 13,
1257 0x1,
1258 1,
1259 0,
1260 cfifoctr::Frdy,
1261 cfifoctr::Frdy,
1262 Cfifoctr_SPEC,
1263 crate::common::R,
1264 > {
1265 crate::common::RegisterField::<
1266 13,
1267 0x1,
1268 1,
1269 0,
1270 cfifoctr::Frdy,
1271 cfifoctr::Frdy,
1272 Cfifoctr_SPEC,
1273 crate::common::R,
1274 >::from_register(self, 0)
1275 }
1276
1277 #[doc = "These bits are read as 0000. The write value should be 0000."]
1278 #[inline(always)]
1279 pub fn reserved(
1280 self,
1281 ) -> crate::common::RegisterField<9, 0xf, 1, 0, u8, u8, Cfifoctr_SPEC, crate::common::RW> {
1282 crate::common::RegisterField::<9,0xf,1,0,u8,u8,Cfifoctr_SPEC,crate::common::RW>::from_register(self,0)
1283 }
1284
1285 #[doc = "Receive Data LengthIndicates the length of the receive data."]
1286 #[inline(always)]
1287 pub fn dtln(
1288 self,
1289 ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Cfifoctr_SPEC, crate::common::R>
1290 {
1291 crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Cfifoctr_SPEC,crate::common::R>::from_register(self,0)
1292 }
1293}
1294impl ::core::default::Default for Cfifoctr {
1295 #[inline(always)]
1296 fn default() -> Cfifoctr {
1297 <crate::RegValueT<Cfifoctr_SPEC> as RegisterValue<_>>::new(0)
1298 }
1299}
1300pub mod cfifoctr {
1301
1302 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1303 pub struct Bval_SPEC;
1304 pub type Bval = crate::EnumBitfieldStruct<u8, Bval_SPEC>;
1305 impl Bval {
1306 #[doc = "Invalid"]
1307 pub const _0: Self = Self::new(0);
1308
1309 #[doc = "Writing ended"]
1310 pub const _1: Self = Self::new(1);
1311 }
1312 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1313 pub struct Bclr_SPEC;
1314 pub type Bclr = crate::EnumBitfieldStruct<u8, Bclr_SPEC>;
1315 impl Bclr {
1316 #[doc = "Invalid"]
1317 pub const _0: Self = Self::new(0);
1318
1319 #[doc = "Clears the buffer memory on the CPU side"]
1320 pub const _1: Self = Self::new(1);
1321 }
1322 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1323 pub struct Frdy_SPEC;
1324 pub type Frdy = crate::EnumBitfieldStruct<u8, Frdy_SPEC>;
1325 impl Frdy {
1326 #[doc = "FIFO port access is disabled."]
1327 pub const _0: Self = Self::new(0);
1328
1329 #[doc = "FIFO port access is enabled."]
1330 pub const _1: Self = Self::new(1);
1331 }
1332}
1333#[doc(hidden)]
1334#[derive(Copy, Clone, Eq, PartialEq)]
1335pub struct Intenb0_SPEC;
1336impl crate::sealed::RegSpec for Intenb0_SPEC {
1337 type DataType = u16;
1338}
1339
1340#[doc = "Interrupt Enable Register 0"]
1341pub type Intenb0 = crate::RegValueT<Intenb0_SPEC>;
1342
1343impl Intenb0 {
1344 #[doc = "VBUS Interrupt Enable"]
1345 #[inline(always)]
1346 pub fn vbse(
1347 self,
1348 ) -> crate::common::RegisterField<
1349 15,
1350 0x1,
1351 1,
1352 0,
1353 intenb0::Vbse,
1354 intenb0::Vbse,
1355 Intenb0_SPEC,
1356 crate::common::RW,
1357 > {
1358 crate::common::RegisterField::<
1359 15,
1360 0x1,
1361 1,
1362 0,
1363 intenb0::Vbse,
1364 intenb0::Vbse,
1365 Intenb0_SPEC,
1366 crate::common::RW,
1367 >::from_register(self, 0)
1368 }
1369
1370 #[doc = "Resume Interrupt Enable"]
1371 #[inline(always)]
1372 pub fn rsme(
1373 self,
1374 ) -> crate::common::RegisterField<
1375 14,
1376 0x1,
1377 1,
1378 0,
1379 intenb0::Rsme,
1380 intenb0::Rsme,
1381 Intenb0_SPEC,
1382 crate::common::RW,
1383 > {
1384 crate::common::RegisterField::<
1385 14,
1386 0x1,
1387 1,
1388 0,
1389 intenb0::Rsme,
1390 intenb0::Rsme,
1391 Intenb0_SPEC,
1392 crate::common::RW,
1393 >::from_register(self, 0)
1394 }
1395
1396 #[doc = "Frame Number Update Interrupt Enable"]
1397 #[inline(always)]
1398 pub fn sofe(
1399 self,
1400 ) -> crate::common::RegisterField<
1401 13,
1402 0x1,
1403 1,
1404 0,
1405 intenb0::Sofe,
1406 intenb0::Sofe,
1407 Intenb0_SPEC,
1408 crate::common::RW,
1409 > {
1410 crate::common::RegisterField::<
1411 13,
1412 0x1,
1413 1,
1414 0,
1415 intenb0::Sofe,
1416 intenb0::Sofe,
1417 Intenb0_SPEC,
1418 crate::common::RW,
1419 >::from_register(self, 0)
1420 }
1421
1422 #[doc = "Device State Transition Interrupt Enable"]
1423 #[inline(always)]
1424 pub fn dvse(
1425 self,
1426 ) -> crate::common::RegisterField<
1427 12,
1428 0x1,
1429 1,
1430 0,
1431 intenb0::Dvse,
1432 intenb0::Dvse,
1433 Intenb0_SPEC,
1434 crate::common::RW,
1435 > {
1436 crate::common::RegisterField::<
1437 12,
1438 0x1,
1439 1,
1440 0,
1441 intenb0::Dvse,
1442 intenb0::Dvse,
1443 Intenb0_SPEC,
1444 crate::common::RW,
1445 >::from_register(self, 0)
1446 }
1447
1448 #[doc = "Control Transfer Stage Transition Interrupt Enable"]
1449 #[inline(always)]
1450 pub fn ctre(
1451 self,
1452 ) -> crate::common::RegisterField<
1453 11,
1454 0x1,
1455 1,
1456 0,
1457 intenb0::Ctre,
1458 intenb0::Ctre,
1459 Intenb0_SPEC,
1460 crate::common::RW,
1461 > {
1462 crate::common::RegisterField::<
1463 11,
1464 0x1,
1465 1,
1466 0,
1467 intenb0::Ctre,
1468 intenb0::Ctre,
1469 Intenb0_SPEC,
1470 crate::common::RW,
1471 >::from_register(self, 0)
1472 }
1473
1474 #[doc = "Buffer Empty Interrupt Enable"]
1475 #[inline(always)]
1476 pub fn bempe(
1477 self,
1478 ) -> crate::common::RegisterField<
1479 10,
1480 0x1,
1481 1,
1482 0,
1483 intenb0::Bempe,
1484 intenb0::Bempe,
1485 Intenb0_SPEC,
1486 crate::common::RW,
1487 > {
1488 crate::common::RegisterField::<
1489 10,
1490 0x1,
1491 1,
1492 0,
1493 intenb0::Bempe,
1494 intenb0::Bempe,
1495 Intenb0_SPEC,
1496 crate::common::RW,
1497 >::from_register(self, 0)
1498 }
1499
1500 #[doc = "Buffer Not Ready Response Interrupt Enable"]
1501 #[inline(always)]
1502 pub fn nrdye(
1503 self,
1504 ) -> crate::common::RegisterField<
1505 9,
1506 0x1,
1507 1,
1508 0,
1509 intenb0::Nrdye,
1510 intenb0::Nrdye,
1511 Intenb0_SPEC,
1512 crate::common::RW,
1513 > {
1514 crate::common::RegisterField::<
1515 9,
1516 0x1,
1517 1,
1518 0,
1519 intenb0::Nrdye,
1520 intenb0::Nrdye,
1521 Intenb0_SPEC,
1522 crate::common::RW,
1523 >::from_register(self, 0)
1524 }
1525
1526 #[doc = "Buffer Ready Interrupt Enable"]
1527 #[inline(always)]
1528 pub fn brdye(
1529 self,
1530 ) -> crate::common::RegisterField<
1531 8,
1532 0x1,
1533 1,
1534 0,
1535 intenb0::Brdye,
1536 intenb0::Brdye,
1537 Intenb0_SPEC,
1538 crate::common::RW,
1539 > {
1540 crate::common::RegisterField::<
1541 8,
1542 0x1,
1543 1,
1544 0,
1545 intenb0::Brdye,
1546 intenb0::Brdye,
1547 Intenb0_SPEC,
1548 crate::common::RW,
1549 >::from_register(self, 0)
1550 }
1551
1552 #[doc = "These bits are read as 00000000. The write value should be 00000000."]
1553 #[inline(always)]
1554 pub fn reserved(
1555 self,
1556 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Intenb0_SPEC, crate::common::RW> {
1557 crate::common::RegisterField::<0,0xff,1,0,u8,u8,Intenb0_SPEC,crate::common::RW>::from_register(self,0)
1558 }
1559}
1560impl ::core::default::Default for Intenb0 {
1561 #[inline(always)]
1562 fn default() -> Intenb0 {
1563 <crate::RegValueT<Intenb0_SPEC> as RegisterValue<_>>::new(0)
1564 }
1565}
1566pub mod intenb0 {
1567
1568 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1569 pub struct Vbse_SPEC;
1570 pub type Vbse = crate::EnumBitfieldStruct<u8, Vbse_SPEC>;
1571 impl Vbse {
1572 #[doc = "Interrupt output disabled"]
1573 pub const _0: Self = Self::new(0);
1574
1575 #[doc = "Interrupt output enabled"]
1576 pub const _1: Self = Self::new(1);
1577 }
1578 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1579 pub struct Rsme_SPEC;
1580 pub type Rsme = crate::EnumBitfieldStruct<u8, Rsme_SPEC>;
1581 impl Rsme {
1582 #[doc = "Interrupt output disabled"]
1583 pub const _0: Self = Self::new(0);
1584
1585 #[doc = "Interrupt output enabled"]
1586 pub const _1: Self = Self::new(1);
1587 }
1588 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1589 pub struct Sofe_SPEC;
1590 pub type Sofe = crate::EnumBitfieldStruct<u8, Sofe_SPEC>;
1591 impl Sofe {
1592 #[doc = "Interrupt output disabled"]
1593 pub const _0: Self = Self::new(0);
1594
1595 #[doc = "Interrupt output enabled"]
1596 pub const _1: Self = Self::new(1);
1597 }
1598 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1599 pub struct Dvse_SPEC;
1600 pub type Dvse = crate::EnumBitfieldStruct<u8, Dvse_SPEC>;
1601 impl Dvse {
1602 #[doc = "Interrupt output disabled"]
1603 pub const _0: Self = Self::new(0);
1604
1605 #[doc = "Interrupt output enabled"]
1606 pub const _1: Self = Self::new(1);
1607 }
1608 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1609 pub struct Ctre_SPEC;
1610 pub type Ctre = crate::EnumBitfieldStruct<u8, Ctre_SPEC>;
1611 impl Ctre {
1612 #[doc = "Interrupt output disabled"]
1613 pub const _0: Self = Self::new(0);
1614
1615 #[doc = "Interrupt output enabled"]
1616 pub const _1: Self = Self::new(1);
1617 }
1618 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1619 pub struct Bempe_SPEC;
1620 pub type Bempe = crate::EnumBitfieldStruct<u8, Bempe_SPEC>;
1621 impl Bempe {
1622 #[doc = "Interrupt output disabled"]
1623 pub const _0: Self = Self::new(0);
1624
1625 #[doc = "Interrupt output enabled"]
1626 pub const _1: Self = Self::new(1);
1627 }
1628 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1629 pub struct Nrdye_SPEC;
1630 pub type Nrdye = crate::EnumBitfieldStruct<u8, Nrdye_SPEC>;
1631 impl Nrdye {
1632 #[doc = "Interrupt output disabled"]
1633 pub const _0: Self = Self::new(0);
1634
1635 #[doc = "Interrupt output enabled"]
1636 pub const _1: Self = Self::new(1);
1637 }
1638 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1639 pub struct Brdye_SPEC;
1640 pub type Brdye = crate::EnumBitfieldStruct<u8, Brdye_SPEC>;
1641 impl Brdye {
1642 #[doc = "Interrupt output disabled"]
1643 pub const _0: Self = Self::new(0);
1644
1645 #[doc = "Interrupt output enabled"]
1646 pub const _1: Self = Self::new(1);
1647 }
1648}
1649#[doc(hidden)]
1650#[derive(Copy, Clone, Eq, PartialEq)]
1651pub struct Brdyenb_SPEC;
1652impl crate::sealed::RegSpec for Brdyenb_SPEC {
1653 type DataType = u16;
1654}
1655
1656#[doc = "BRDY Interrupt Enable Register"]
1657pub type Brdyenb = crate::RegValueT<Brdyenb_SPEC>;
1658
1659impl Brdyenb {
1660 #[doc = "These bits are read as 000000. The write value should be 000000."]
1661 #[inline(always)]
1662 pub fn reserved(
1663 self,
1664 ) -> crate::common::RegisterField<10, 0x3f, 1, 0, u8, u8, Brdyenb_SPEC, crate::common::RW> {
1665 crate::common::RegisterField::<10,0x3f,1,0,u8,u8,Brdyenb_SPEC,crate::common::RW>::from_register(self,0)
1666 }
1667
1668 #[doc = "BRDY Interrupt Enable for PIPE9"]
1669 #[inline(always)]
1670 pub fn pipe9brdye(
1671 self,
1672 ) -> crate::common::RegisterField<
1673 9,
1674 0x1,
1675 1,
1676 0,
1677 brdyenb::Pipe9Brdye,
1678 brdyenb::Pipe9Brdye,
1679 Brdyenb_SPEC,
1680 crate::common::RW,
1681 > {
1682 crate::common::RegisterField::<
1683 9,
1684 0x1,
1685 1,
1686 0,
1687 brdyenb::Pipe9Brdye,
1688 brdyenb::Pipe9Brdye,
1689 Brdyenb_SPEC,
1690 crate::common::RW,
1691 >::from_register(self, 0)
1692 }
1693
1694 #[doc = "BRDY Interrupt Enable for PIPE8"]
1695 #[inline(always)]
1696 pub fn pipe8brdye(
1697 self,
1698 ) -> crate::common::RegisterField<
1699 8,
1700 0x1,
1701 1,
1702 0,
1703 brdyenb::Pipe8Brdye,
1704 brdyenb::Pipe8Brdye,
1705 Brdyenb_SPEC,
1706 crate::common::RW,
1707 > {
1708 crate::common::RegisterField::<
1709 8,
1710 0x1,
1711 1,
1712 0,
1713 brdyenb::Pipe8Brdye,
1714 brdyenb::Pipe8Brdye,
1715 Brdyenb_SPEC,
1716 crate::common::RW,
1717 >::from_register(self, 0)
1718 }
1719
1720 #[doc = "BRDY Interrupt Enable for PIPE7"]
1721 #[inline(always)]
1722 pub fn pipe7brdye(
1723 self,
1724 ) -> crate::common::RegisterField<
1725 7,
1726 0x1,
1727 1,
1728 0,
1729 brdyenb::Pipe7Brdye,
1730 brdyenb::Pipe7Brdye,
1731 Brdyenb_SPEC,
1732 crate::common::RW,
1733 > {
1734 crate::common::RegisterField::<
1735 7,
1736 0x1,
1737 1,
1738 0,
1739 brdyenb::Pipe7Brdye,
1740 brdyenb::Pipe7Brdye,
1741 Brdyenb_SPEC,
1742 crate::common::RW,
1743 >::from_register(self, 0)
1744 }
1745
1746 #[doc = "BRDY Interrupt Enable for PIPE6"]
1747 #[inline(always)]
1748 pub fn pipe6brdye(
1749 self,
1750 ) -> crate::common::RegisterField<
1751 6,
1752 0x1,
1753 1,
1754 0,
1755 brdyenb::Pipe6Brdye,
1756 brdyenb::Pipe6Brdye,
1757 Brdyenb_SPEC,
1758 crate::common::RW,
1759 > {
1760 crate::common::RegisterField::<
1761 6,
1762 0x1,
1763 1,
1764 0,
1765 brdyenb::Pipe6Brdye,
1766 brdyenb::Pipe6Brdye,
1767 Brdyenb_SPEC,
1768 crate::common::RW,
1769 >::from_register(self, 0)
1770 }
1771
1772 #[doc = "BRDY Interrupt Enable for PIPE5"]
1773 #[inline(always)]
1774 pub fn pipe5brdye(
1775 self,
1776 ) -> crate::common::RegisterField<
1777 5,
1778 0x1,
1779 1,
1780 0,
1781 brdyenb::Pipe5Brdye,
1782 brdyenb::Pipe5Brdye,
1783 Brdyenb_SPEC,
1784 crate::common::RW,
1785 > {
1786 crate::common::RegisterField::<
1787 5,
1788 0x1,
1789 1,
1790 0,
1791 brdyenb::Pipe5Brdye,
1792 brdyenb::Pipe5Brdye,
1793 Brdyenb_SPEC,
1794 crate::common::RW,
1795 >::from_register(self, 0)
1796 }
1797
1798 #[doc = "BRDY Interrupt Enable for PIPE4"]
1799 #[inline(always)]
1800 pub fn pipe4brdye(
1801 self,
1802 ) -> crate::common::RegisterField<
1803 4,
1804 0x1,
1805 1,
1806 0,
1807 brdyenb::Pipe4Brdye,
1808 brdyenb::Pipe4Brdye,
1809 Brdyenb_SPEC,
1810 crate::common::RW,
1811 > {
1812 crate::common::RegisterField::<
1813 4,
1814 0x1,
1815 1,
1816 0,
1817 brdyenb::Pipe4Brdye,
1818 brdyenb::Pipe4Brdye,
1819 Brdyenb_SPEC,
1820 crate::common::RW,
1821 >::from_register(self, 0)
1822 }
1823
1824 #[doc = "BRDY Interrupt Enable for PIPE3"]
1825 #[inline(always)]
1826 pub fn pipe3brdye(
1827 self,
1828 ) -> crate::common::RegisterField<
1829 3,
1830 0x1,
1831 1,
1832 0,
1833 brdyenb::Pipe3Brdye,
1834 brdyenb::Pipe3Brdye,
1835 Brdyenb_SPEC,
1836 crate::common::RW,
1837 > {
1838 crate::common::RegisterField::<
1839 3,
1840 0x1,
1841 1,
1842 0,
1843 brdyenb::Pipe3Brdye,
1844 brdyenb::Pipe3Brdye,
1845 Brdyenb_SPEC,
1846 crate::common::RW,
1847 >::from_register(self, 0)
1848 }
1849
1850 #[doc = "BRDY Interrupt Enable for PIPE2"]
1851 #[inline(always)]
1852 pub fn pipe2brdye(
1853 self,
1854 ) -> crate::common::RegisterField<
1855 2,
1856 0x1,
1857 1,
1858 0,
1859 brdyenb::Pipe2Brdye,
1860 brdyenb::Pipe2Brdye,
1861 Brdyenb_SPEC,
1862 crate::common::RW,
1863 > {
1864 crate::common::RegisterField::<
1865 2,
1866 0x1,
1867 1,
1868 0,
1869 brdyenb::Pipe2Brdye,
1870 brdyenb::Pipe2Brdye,
1871 Brdyenb_SPEC,
1872 crate::common::RW,
1873 >::from_register(self, 0)
1874 }
1875
1876 #[doc = "BRDY Interrupt Enable for PIPE1"]
1877 #[inline(always)]
1878 pub fn pipe1brdye(
1879 self,
1880 ) -> crate::common::RegisterField<
1881 1,
1882 0x1,
1883 1,
1884 0,
1885 brdyenb::Pipe1Brdye,
1886 brdyenb::Pipe1Brdye,
1887 Brdyenb_SPEC,
1888 crate::common::RW,
1889 > {
1890 crate::common::RegisterField::<
1891 1,
1892 0x1,
1893 1,
1894 0,
1895 brdyenb::Pipe1Brdye,
1896 brdyenb::Pipe1Brdye,
1897 Brdyenb_SPEC,
1898 crate::common::RW,
1899 >::from_register(self, 0)
1900 }
1901
1902 #[doc = "BRDY Interrupt Enable for PIPE0"]
1903 #[inline(always)]
1904 pub fn pipe0brdye(
1905 self,
1906 ) -> crate::common::RegisterField<
1907 0,
1908 0x1,
1909 1,
1910 0,
1911 brdyenb::Pipe0Brdye,
1912 brdyenb::Pipe0Brdye,
1913 Brdyenb_SPEC,
1914 crate::common::RW,
1915 > {
1916 crate::common::RegisterField::<
1917 0,
1918 0x1,
1919 1,
1920 0,
1921 brdyenb::Pipe0Brdye,
1922 brdyenb::Pipe0Brdye,
1923 Brdyenb_SPEC,
1924 crate::common::RW,
1925 >::from_register(self, 0)
1926 }
1927}
1928impl ::core::default::Default for Brdyenb {
1929 #[inline(always)]
1930 fn default() -> Brdyenb {
1931 <crate::RegValueT<Brdyenb_SPEC> as RegisterValue<_>>::new(0)
1932 }
1933}
1934pub mod brdyenb {
1935
1936 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1937 pub struct Pipe9Brdye_SPEC;
1938 pub type Pipe9Brdye = crate::EnumBitfieldStruct<u8, Pipe9Brdye_SPEC>;
1939 impl Pipe9Brdye {
1940 #[doc = "Interrupt output disabled"]
1941 pub const _0: Self = Self::new(0);
1942
1943 #[doc = "Interrupt output enabled"]
1944 pub const _1: Self = Self::new(1);
1945 }
1946 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1947 pub struct Pipe8Brdye_SPEC;
1948 pub type Pipe8Brdye = crate::EnumBitfieldStruct<u8, Pipe8Brdye_SPEC>;
1949 impl Pipe8Brdye {
1950 #[doc = "Interrupt output disabled"]
1951 pub const _0: Self = Self::new(0);
1952
1953 #[doc = "Interrupt output enabled"]
1954 pub const _1: Self = Self::new(1);
1955 }
1956 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1957 pub struct Pipe7Brdye_SPEC;
1958 pub type Pipe7Brdye = crate::EnumBitfieldStruct<u8, Pipe7Brdye_SPEC>;
1959 impl Pipe7Brdye {
1960 #[doc = "Interrupt output disabled"]
1961 pub const _0: Self = Self::new(0);
1962
1963 #[doc = "Interrupt output enabled"]
1964 pub const _1: Self = Self::new(1);
1965 }
1966 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1967 pub struct Pipe6Brdye_SPEC;
1968 pub type Pipe6Brdye = crate::EnumBitfieldStruct<u8, Pipe6Brdye_SPEC>;
1969 impl Pipe6Brdye {
1970 #[doc = "Interrupt output disabled"]
1971 pub const _0: Self = Self::new(0);
1972
1973 #[doc = "Interrupt output enabled"]
1974 pub const _1: Self = Self::new(1);
1975 }
1976 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1977 pub struct Pipe5Brdye_SPEC;
1978 pub type Pipe5Brdye = crate::EnumBitfieldStruct<u8, Pipe5Brdye_SPEC>;
1979 impl Pipe5Brdye {
1980 #[doc = "Interrupt output disabled"]
1981 pub const _0: Self = Self::new(0);
1982
1983 #[doc = "Interrupt output enabled"]
1984 pub const _1: Self = Self::new(1);
1985 }
1986 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1987 pub struct Pipe4Brdye_SPEC;
1988 pub type Pipe4Brdye = crate::EnumBitfieldStruct<u8, Pipe4Brdye_SPEC>;
1989 impl Pipe4Brdye {
1990 #[doc = "Interrupt output disabled"]
1991 pub const _0: Self = Self::new(0);
1992
1993 #[doc = "Interrupt output enabled"]
1994 pub const _1: Self = Self::new(1);
1995 }
1996 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1997 pub struct Pipe3Brdye_SPEC;
1998 pub type Pipe3Brdye = crate::EnumBitfieldStruct<u8, Pipe3Brdye_SPEC>;
1999 impl Pipe3Brdye {
2000 #[doc = "Interrupt output disabled"]
2001 pub const _0: Self = Self::new(0);
2002
2003 #[doc = "Interrupt output enabled"]
2004 pub const _1: Self = Self::new(1);
2005 }
2006 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2007 pub struct Pipe2Brdye_SPEC;
2008 pub type Pipe2Brdye = crate::EnumBitfieldStruct<u8, Pipe2Brdye_SPEC>;
2009 impl Pipe2Brdye {
2010 #[doc = "Interrupt output disabled"]
2011 pub const _0: Self = Self::new(0);
2012
2013 #[doc = "Interrupt output enabled"]
2014 pub const _1: Self = Self::new(1);
2015 }
2016 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2017 pub struct Pipe1Brdye_SPEC;
2018 pub type Pipe1Brdye = crate::EnumBitfieldStruct<u8, Pipe1Brdye_SPEC>;
2019 impl Pipe1Brdye {
2020 #[doc = "Interrupt output disabled"]
2021 pub const _0: Self = Self::new(0);
2022
2023 #[doc = "Interrupt output enabled"]
2024 pub const _1: Self = Self::new(1);
2025 }
2026 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2027 pub struct Pipe0Brdye_SPEC;
2028 pub type Pipe0Brdye = crate::EnumBitfieldStruct<u8, Pipe0Brdye_SPEC>;
2029 impl Pipe0Brdye {
2030 #[doc = "Interrupt output disabled"]
2031 pub const _0: Self = Self::new(0);
2032
2033 #[doc = "Interrupt output enabled"]
2034 pub const _1: Self = Self::new(1);
2035 }
2036}
2037#[doc(hidden)]
2038#[derive(Copy, Clone, Eq, PartialEq)]
2039pub struct Nrdyenb_SPEC;
2040impl crate::sealed::RegSpec for Nrdyenb_SPEC {
2041 type DataType = u16;
2042}
2043
2044#[doc = "NRDY Interrupt Enable Register"]
2045pub type Nrdyenb = crate::RegValueT<Nrdyenb_SPEC>;
2046
2047impl Nrdyenb {
2048 #[doc = "These bits are read as 000000. The write value should be 000000."]
2049 #[inline(always)]
2050 pub fn reserved(
2051 self,
2052 ) -> crate::common::RegisterField<10, 0x3f, 1, 0, u8, u8, Nrdyenb_SPEC, crate::common::RW> {
2053 crate::common::RegisterField::<10,0x3f,1,0,u8,u8,Nrdyenb_SPEC,crate::common::RW>::from_register(self,0)
2054 }
2055
2056 #[doc = "NRDY Interrupt Enable for PIPE9"]
2057 #[inline(always)]
2058 pub fn pipe9nrdye(
2059 self,
2060 ) -> crate::common::RegisterField<
2061 9,
2062 0x1,
2063 1,
2064 0,
2065 nrdyenb::Pipe9Nrdye,
2066 nrdyenb::Pipe9Nrdye,
2067 Nrdyenb_SPEC,
2068 crate::common::RW,
2069 > {
2070 crate::common::RegisterField::<
2071 9,
2072 0x1,
2073 1,
2074 0,
2075 nrdyenb::Pipe9Nrdye,
2076 nrdyenb::Pipe9Nrdye,
2077 Nrdyenb_SPEC,
2078 crate::common::RW,
2079 >::from_register(self, 0)
2080 }
2081
2082 #[doc = "NRDY Interrupt Enable for PIPE8"]
2083 #[inline(always)]
2084 pub fn pipe8nrdye(
2085 self,
2086 ) -> crate::common::RegisterField<
2087 8,
2088 0x1,
2089 1,
2090 0,
2091 nrdyenb::Pipe8Nrdye,
2092 nrdyenb::Pipe8Nrdye,
2093 Nrdyenb_SPEC,
2094 crate::common::RW,
2095 > {
2096 crate::common::RegisterField::<
2097 8,
2098 0x1,
2099 1,
2100 0,
2101 nrdyenb::Pipe8Nrdye,
2102 nrdyenb::Pipe8Nrdye,
2103 Nrdyenb_SPEC,
2104 crate::common::RW,
2105 >::from_register(self, 0)
2106 }
2107
2108 #[doc = "NRDY Interrupt Enable for PIPE7"]
2109 #[inline(always)]
2110 pub fn pipe7nrdye(
2111 self,
2112 ) -> crate::common::RegisterField<
2113 7,
2114 0x1,
2115 1,
2116 0,
2117 nrdyenb::Pipe7Nrdye,
2118 nrdyenb::Pipe7Nrdye,
2119 Nrdyenb_SPEC,
2120 crate::common::RW,
2121 > {
2122 crate::common::RegisterField::<
2123 7,
2124 0x1,
2125 1,
2126 0,
2127 nrdyenb::Pipe7Nrdye,
2128 nrdyenb::Pipe7Nrdye,
2129 Nrdyenb_SPEC,
2130 crate::common::RW,
2131 >::from_register(self, 0)
2132 }
2133
2134 #[doc = "NRDY Interrupt Enable for PIPE6"]
2135 #[inline(always)]
2136 pub fn pipe6nrdye(
2137 self,
2138 ) -> crate::common::RegisterField<
2139 6,
2140 0x1,
2141 1,
2142 0,
2143 nrdyenb::Pipe6Nrdye,
2144 nrdyenb::Pipe6Nrdye,
2145 Nrdyenb_SPEC,
2146 crate::common::RW,
2147 > {
2148 crate::common::RegisterField::<
2149 6,
2150 0x1,
2151 1,
2152 0,
2153 nrdyenb::Pipe6Nrdye,
2154 nrdyenb::Pipe6Nrdye,
2155 Nrdyenb_SPEC,
2156 crate::common::RW,
2157 >::from_register(self, 0)
2158 }
2159
2160 #[doc = "NRDY Interrupt Enable for PIPE5"]
2161 #[inline(always)]
2162 pub fn pipe5nrdye(
2163 self,
2164 ) -> crate::common::RegisterField<
2165 5,
2166 0x1,
2167 1,
2168 0,
2169 nrdyenb::Pipe5Nrdye,
2170 nrdyenb::Pipe5Nrdye,
2171 Nrdyenb_SPEC,
2172 crate::common::RW,
2173 > {
2174 crate::common::RegisterField::<
2175 5,
2176 0x1,
2177 1,
2178 0,
2179 nrdyenb::Pipe5Nrdye,
2180 nrdyenb::Pipe5Nrdye,
2181 Nrdyenb_SPEC,
2182 crate::common::RW,
2183 >::from_register(self, 0)
2184 }
2185
2186 #[doc = "NRDY Interrupt Enable for PIPE4"]
2187 #[inline(always)]
2188 pub fn pipe4nrdye(
2189 self,
2190 ) -> crate::common::RegisterField<
2191 4,
2192 0x1,
2193 1,
2194 0,
2195 nrdyenb::Pipe4Nrdye,
2196 nrdyenb::Pipe4Nrdye,
2197 Nrdyenb_SPEC,
2198 crate::common::RW,
2199 > {
2200 crate::common::RegisterField::<
2201 4,
2202 0x1,
2203 1,
2204 0,
2205 nrdyenb::Pipe4Nrdye,
2206 nrdyenb::Pipe4Nrdye,
2207 Nrdyenb_SPEC,
2208 crate::common::RW,
2209 >::from_register(self, 0)
2210 }
2211
2212 #[doc = "NRDY Interrupt Enable for PIPE3"]
2213 #[inline(always)]
2214 pub fn pipe3nrdye(
2215 self,
2216 ) -> crate::common::RegisterField<
2217 3,
2218 0x1,
2219 1,
2220 0,
2221 nrdyenb::Pipe3Nrdye,
2222 nrdyenb::Pipe3Nrdye,
2223 Nrdyenb_SPEC,
2224 crate::common::RW,
2225 > {
2226 crate::common::RegisterField::<
2227 3,
2228 0x1,
2229 1,
2230 0,
2231 nrdyenb::Pipe3Nrdye,
2232 nrdyenb::Pipe3Nrdye,
2233 Nrdyenb_SPEC,
2234 crate::common::RW,
2235 >::from_register(self, 0)
2236 }
2237
2238 #[doc = "NRDY Interrupt Enable for PIPE2"]
2239 #[inline(always)]
2240 pub fn pipe2nrdye(
2241 self,
2242 ) -> crate::common::RegisterField<
2243 2,
2244 0x1,
2245 1,
2246 0,
2247 nrdyenb::Pipe2Nrdye,
2248 nrdyenb::Pipe2Nrdye,
2249 Nrdyenb_SPEC,
2250 crate::common::RW,
2251 > {
2252 crate::common::RegisterField::<
2253 2,
2254 0x1,
2255 1,
2256 0,
2257 nrdyenb::Pipe2Nrdye,
2258 nrdyenb::Pipe2Nrdye,
2259 Nrdyenb_SPEC,
2260 crate::common::RW,
2261 >::from_register(self, 0)
2262 }
2263
2264 #[doc = "NRDY Interrupt Enable for PIPE1"]
2265 #[inline(always)]
2266 pub fn pipe1nrdye(
2267 self,
2268 ) -> crate::common::RegisterField<
2269 1,
2270 0x1,
2271 1,
2272 0,
2273 nrdyenb::Pipe1Nrdye,
2274 nrdyenb::Pipe1Nrdye,
2275 Nrdyenb_SPEC,
2276 crate::common::RW,
2277 > {
2278 crate::common::RegisterField::<
2279 1,
2280 0x1,
2281 1,
2282 0,
2283 nrdyenb::Pipe1Nrdye,
2284 nrdyenb::Pipe1Nrdye,
2285 Nrdyenb_SPEC,
2286 crate::common::RW,
2287 >::from_register(self, 0)
2288 }
2289
2290 #[doc = "NRDY Interrupt Enable for PIPE0"]
2291 #[inline(always)]
2292 pub fn pipe0nrdye(
2293 self,
2294 ) -> crate::common::RegisterField<
2295 0,
2296 0x1,
2297 1,
2298 0,
2299 nrdyenb::Pipe0Nrdye,
2300 nrdyenb::Pipe0Nrdye,
2301 Nrdyenb_SPEC,
2302 crate::common::RW,
2303 > {
2304 crate::common::RegisterField::<
2305 0,
2306 0x1,
2307 1,
2308 0,
2309 nrdyenb::Pipe0Nrdye,
2310 nrdyenb::Pipe0Nrdye,
2311 Nrdyenb_SPEC,
2312 crate::common::RW,
2313 >::from_register(self, 0)
2314 }
2315}
2316impl ::core::default::Default for Nrdyenb {
2317 #[inline(always)]
2318 fn default() -> Nrdyenb {
2319 <crate::RegValueT<Nrdyenb_SPEC> as RegisterValue<_>>::new(0)
2320 }
2321}
2322pub mod nrdyenb {
2323
2324 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2325 pub struct Pipe9Nrdye_SPEC;
2326 pub type Pipe9Nrdye = crate::EnumBitfieldStruct<u8, Pipe9Nrdye_SPEC>;
2327 impl Pipe9Nrdye {
2328 #[doc = "Interrupt output disabled"]
2329 pub const _0: Self = Self::new(0);
2330
2331 #[doc = "Interrupt output enabled"]
2332 pub const _1: Self = Self::new(1);
2333 }
2334 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2335 pub struct Pipe8Nrdye_SPEC;
2336 pub type Pipe8Nrdye = crate::EnumBitfieldStruct<u8, Pipe8Nrdye_SPEC>;
2337 impl Pipe8Nrdye {
2338 #[doc = "Interrupt output disabled"]
2339 pub const _0: Self = Self::new(0);
2340
2341 #[doc = "Interrupt output enabled"]
2342 pub const _1: Self = Self::new(1);
2343 }
2344 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2345 pub struct Pipe7Nrdye_SPEC;
2346 pub type Pipe7Nrdye = crate::EnumBitfieldStruct<u8, Pipe7Nrdye_SPEC>;
2347 impl Pipe7Nrdye {
2348 #[doc = "Interrupt output disabled"]
2349 pub const _0: Self = Self::new(0);
2350
2351 #[doc = "Interrupt output enabled"]
2352 pub const _1: Self = Self::new(1);
2353 }
2354 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2355 pub struct Pipe6Nrdye_SPEC;
2356 pub type Pipe6Nrdye = crate::EnumBitfieldStruct<u8, Pipe6Nrdye_SPEC>;
2357 impl Pipe6Nrdye {
2358 #[doc = "Interrupt output disabled"]
2359 pub const _0: Self = Self::new(0);
2360
2361 #[doc = "Interrupt output enabled"]
2362 pub const _1: Self = Self::new(1);
2363 }
2364 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2365 pub struct Pipe5Nrdye_SPEC;
2366 pub type Pipe5Nrdye = crate::EnumBitfieldStruct<u8, Pipe5Nrdye_SPEC>;
2367 impl Pipe5Nrdye {
2368 #[doc = "Interrupt output disabled"]
2369 pub const _0: Self = Self::new(0);
2370
2371 #[doc = "Interrupt output enabled"]
2372 pub const _1: Self = Self::new(1);
2373 }
2374 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2375 pub struct Pipe4Nrdye_SPEC;
2376 pub type Pipe4Nrdye = crate::EnumBitfieldStruct<u8, Pipe4Nrdye_SPEC>;
2377 impl Pipe4Nrdye {
2378 #[doc = "Interrupt output disabled"]
2379 pub const _0: Self = Self::new(0);
2380
2381 #[doc = "Interrupt output enabled"]
2382 pub const _1: Self = Self::new(1);
2383 }
2384 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2385 pub struct Pipe3Nrdye_SPEC;
2386 pub type Pipe3Nrdye = crate::EnumBitfieldStruct<u8, Pipe3Nrdye_SPEC>;
2387 impl Pipe3Nrdye {
2388 #[doc = "Interrupt output disabled"]
2389 pub const _0: Self = Self::new(0);
2390
2391 #[doc = "Interrupt output enabled"]
2392 pub const _1: Self = Self::new(1);
2393 }
2394 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2395 pub struct Pipe2Nrdye_SPEC;
2396 pub type Pipe2Nrdye = crate::EnumBitfieldStruct<u8, Pipe2Nrdye_SPEC>;
2397 impl Pipe2Nrdye {
2398 #[doc = "Interrupt output disabled"]
2399 pub const _0: Self = Self::new(0);
2400
2401 #[doc = "Interrupt output enabled"]
2402 pub const _1: Self = Self::new(1);
2403 }
2404 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2405 pub struct Pipe1Nrdye_SPEC;
2406 pub type Pipe1Nrdye = crate::EnumBitfieldStruct<u8, Pipe1Nrdye_SPEC>;
2407 impl Pipe1Nrdye {
2408 #[doc = "Interrupt output disabled"]
2409 pub const _0: Self = Self::new(0);
2410
2411 #[doc = "Interrupt output enabled"]
2412 pub const _1: Self = Self::new(1);
2413 }
2414 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2415 pub struct Pipe0Nrdye_SPEC;
2416 pub type Pipe0Nrdye = crate::EnumBitfieldStruct<u8, Pipe0Nrdye_SPEC>;
2417 impl Pipe0Nrdye {
2418 #[doc = "Interrupt output disabled"]
2419 pub const _0: Self = Self::new(0);
2420
2421 #[doc = "Interrupt output enabled"]
2422 pub const _1: Self = Self::new(1);
2423 }
2424}
2425#[doc(hidden)]
2426#[derive(Copy, Clone, Eq, PartialEq)]
2427pub struct Bempenb_SPEC;
2428impl crate::sealed::RegSpec for Bempenb_SPEC {
2429 type DataType = u16;
2430}
2431
2432#[doc = "BEMP Interrupt Enable Register"]
2433pub type Bempenb = crate::RegValueT<Bempenb_SPEC>;
2434
2435impl Bempenb {
2436 #[doc = "These bits are read as 000000. The write value should be 000000."]
2437 #[inline(always)]
2438 pub fn reserved(
2439 self,
2440 ) -> crate::common::RegisterField<10, 0x3f, 1, 0, u8, u8, Bempenb_SPEC, crate::common::RW> {
2441 crate::common::RegisterField::<10,0x3f,1,0,u8,u8,Bempenb_SPEC,crate::common::RW>::from_register(self,0)
2442 }
2443
2444 #[doc = "BEMP Interrupt Enable for PIPE9"]
2445 #[inline(always)]
2446 pub fn pipe9bempe(
2447 self,
2448 ) -> crate::common::RegisterField<
2449 9,
2450 0x1,
2451 1,
2452 0,
2453 bempenb::Pipe9Bempe,
2454 bempenb::Pipe9Bempe,
2455 Bempenb_SPEC,
2456 crate::common::RW,
2457 > {
2458 crate::common::RegisterField::<
2459 9,
2460 0x1,
2461 1,
2462 0,
2463 bempenb::Pipe9Bempe,
2464 bempenb::Pipe9Bempe,
2465 Bempenb_SPEC,
2466 crate::common::RW,
2467 >::from_register(self, 0)
2468 }
2469
2470 #[doc = "BEMP Interrupt Enable for PIPE8"]
2471 #[inline(always)]
2472 pub fn pipe8bempe(
2473 self,
2474 ) -> crate::common::RegisterField<
2475 8,
2476 0x1,
2477 1,
2478 0,
2479 bempenb::Pipe8Bempe,
2480 bempenb::Pipe8Bempe,
2481 Bempenb_SPEC,
2482 crate::common::RW,
2483 > {
2484 crate::common::RegisterField::<
2485 8,
2486 0x1,
2487 1,
2488 0,
2489 bempenb::Pipe8Bempe,
2490 bempenb::Pipe8Bempe,
2491 Bempenb_SPEC,
2492 crate::common::RW,
2493 >::from_register(self, 0)
2494 }
2495
2496 #[doc = "BEMP Interrupt Enable for PIPE7"]
2497 #[inline(always)]
2498 pub fn pipe7bempe(
2499 self,
2500 ) -> crate::common::RegisterField<
2501 7,
2502 0x1,
2503 1,
2504 0,
2505 bempenb::Pipe7Bempe,
2506 bempenb::Pipe7Bempe,
2507 Bempenb_SPEC,
2508 crate::common::RW,
2509 > {
2510 crate::common::RegisterField::<
2511 7,
2512 0x1,
2513 1,
2514 0,
2515 bempenb::Pipe7Bempe,
2516 bempenb::Pipe7Bempe,
2517 Bempenb_SPEC,
2518 crate::common::RW,
2519 >::from_register(self, 0)
2520 }
2521
2522 #[doc = "BEMP Interrupt Enable for PIPE6"]
2523 #[inline(always)]
2524 pub fn pipe6bempe(
2525 self,
2526 ) -> crate::common::RegisterField<
2527 6,
2528 0x1,
2529 1,
2530 0,
2531 bempenb::Pipe6Bempe,
2532 bempenb::Pipe6Bempe,
2533 Bempenb_SPEC,
2534 crate::common::RW,
2535 > {
2536 crate::common::RegisterField::<
2537 6,
2538 0x1,
2539 1,
2540 0,
2541 bempenb::Pipe6Bempe,
2542 bempenb::Pipe6Bempe,
2543 Bempenb_SPEC,
2544 crate::common::RW,
2545 >::from_register(self, 0)
2546 }
2547
2548 #[doc = "BEMP Interrupt Enable for PIPE5"]
2549 #[inline(always)]
2550 pub fn pipe5bempe(
2551 self,
2552 ) -> crate::common::RegisterField<
2553 5,
2554 0x1,
2555 1,
2556 0,
2557 bempenb::Pipe5Bempe,
2558 bempenb::Pipe5Bempe,
2559 Bempenb_SPEC,
2560 crate::common::RW,
2561 > {
2562 crate::common::RegisterField::<
2563 5,
2564 0x1,
2565 1,
2566 0,
2567 bempenb::Pipe5Bempe,
2568 bempenb::Pipe5Bempe,
2569 Bempenb_SPEC,
2570 crate::common::RW,
2571 >::from_register(self, 0)
2572 }
2573
2574 #[doc = "BEMP Interrupt Enable for PIPE4"]
2575 #[inline(always)]
2576 pub fn pipe4bempe(
2577 self,
2578 ) -> crate::common::RegisterField<
2579 4,
2580 0x1,
2581 1,
2582 0,
2583 bempenb::Pipe4Bempe,
2584 bempenb::Pipe4Bempe,
2585 Bempenb_SPEC,
2586 crate::common::RW,
2587 > {
2588 crate::common::RegisterField::<
2589 4,
2590 0x1,
2591 1,
2592 0,
2593 bempenb::Pipe4Bempe,
2594 bempenb::Pipe4Bempe,
2595 Bempenb_SPEC,
2596 crate::common::RW,
2597 >::from_register(self, 0)
2598 }
2599
2600 #[doc = "BEMP Interrupt Enable for PIPE3"]
2601 #[inline(always)]
2602 pub fn pipe3bempe(
2603 self,
2604 ) -> crate::common::RegisterField<
2605 3,
2606 0x1,
2607 1,
2608 0,
2609 bempenb::Pipe3Bempe,
2610 bempenb::Pipe3Bempe,
2611 Bempenb_SPEC,
2612 crate::common::RW,
2613 > {
2614 crate::common::RegisterField::<
2615 3,
2616 0x1,
2617 1,
2618 0,
2619 bempenb::Pipe3Bempe,
2620 bempenb::Pipe3Bempe,
2621 Bempenb_SPEC,
2622 crate::common::RW,
2623 >::from_register(self, 0)
2624 }
2625
2626 #[doc = "BEMP Interrupt Enable for PIPE2"]
2627 #[inline(always)]
2628 pub fn pipe2bempe(
2629 self,
2630 ) -> crate::common::RegisterField<
2631 2,
2632 0x1,
2633 1,
2634 0,
2635 bempenb::Pipe2Bempe,
2636 bempenb::Pipe2Bempe,
2637 Bempenb_SPEC,
2638 crate::common::RW,
2639 > {
2640 crate::common::RegisterField::<
2641 2,
2642 0x1,
2643 1,
2644 0,
2645 bempenb::Pipe2Bempe,
2646 bempenb::Pipe2Bempe,
2647 Bempenb_SPEC,
2648 crate::common::RW,
2649 >::from_register(self, 0)
2650 }
2651
2652 #[doc = "BEMP Interrupt Enable for PIPE1"]
2653 #[inline(always)]
2654 pub fn pipe1bempe(
2655 self,
2656 ) -> crate::common::RegisterField<
2657 1,
2658 0x1,
2659 1,
2660 0,
2661 bempenb::Pipe1Bempe,
2662 bempenb::Pipe1Bempe,
2663 Bempenb_SPEC,
2664 crate::common::RW,
2665 > {
2666 crate::common::RegisterField::<
2667 1,
2668 0x1,
2669 1,
2670 0,
2671 bempenb::Pipe1Bempe,
2672 bempenb::Pipe1Bempe,
2673 Bempenb_SPEC,
2674 crate::common::RW,
2675 >::from_register(self, 0)
2676 }
2677
2678 #[doc = "BEMP Interrupt Enable for PIPE0"]
2679 #[inline(always)]
2680 pub fn pipe0bempe(
2681 self,
2682 ) -> crate::common::RegisterField<
2683 0,
2684 0x1,
2685 1,
2686 0,
2687 bempenb::Pipe0Bempe,
2688 bempenb::Pipe0Bempe,
2689 Bempenb_SPEC,
2690 crate::common::RW,
2691 > {
2692 crate::common::RegisterField::<
2693 0,
2694 0x1,
2695 1,
2696 0,
2697 bempenb::Pipe0Bempe,
2698 bempenb::Pipe0Bempe,
2699 Bempenb_SPEC,
2700 crate::common::RW,
2701 >::from_register(self, 0)
2702 }
2703}
2704impl ::core::default::Default for Bempenb {
2705 #[inline(always)]
2706 fn default() -> Bempenb {
2707 <crate::RegValueT<Bempenb_SPEC> as RegisterValue<_>>::new(0)
2708 }
2709}
2710pub mod bempenb {
2711
2712 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2713 pub struct Pipe9Bempe_SPEC;
2714 pub type Pipe9Bempe = crate::EnumBitfieldStruct<u8, Pipe9Bempe_SPEC>;
2715 impl Pipe9Bempe {
2716 #[doc = "Interrupt output disabled"]
2717 pub const _0: Self = Self::new(0);
2718
2719 #[doc = "Interrupt output enabled"]
2720 pub const _1: Self = Self::new(1);
2721 }
2722 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2723 pub struct Pipe8Bempe_SPEC;
2724 pub type Pipe8Bempe = crate::EnumBitfieldStruct<u8, Pipe8Bempe_SPEC>;
2725 impl Pipe8Bempe {
2726 #[doc = "Interrupt output disabled"]
2727 pub const _0: Self = Self::new(0);
2728
2729 #[doc = "Interrupt output enabled"]
2730 pub const _1: Self = Self::new(1);
2731 }
2732 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2733 pub struct Pipe7Bempe_SPEC;
2734 pub type Pipe7Bempe = crate::EnumBitfieldStruct<u8, Pipe7Bempe_SPEC>;
2735 impl Pipe7Bempe {
2736 #[doc = "Interrupt output disabled"]
2737 pub const _0: Self = Self::new(0);
2738
2739 #[doc = "Interrupt output enabled"]
2740 pub const _1: Self = Self::new(1);
2741 }
2742 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2743 pub struct Pipe6Bempe_SPEC;
2744 pub type Pipe6Bempe = crate::EnumBitfieldStruct<u8, Pipe6Bempe_SPEC>;
2745 impl Pipe6Bempe {
2746 #[doc = "Interrupt output disabled"]
2747 pub const _0: Self = Self::new(0);
2748
2749 #[doc = "Interrupt output enabled"]
2750 pub const _1: Self = Self::new(1);
2751 }
2752 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2753 pub struct Pipe5Bempe_SPEC;
2754 pub type Pipe5Bempe = crate::EnumBitfieldStruct<u8, Pipe5Bempe_SPEC>;
2755 impl Pipe5Bempe {
2756 #[doc = "Interrupt output disabled"]
2757 pub const _0: Self = Self::new(0);
2758
2759 #[doc = "Interrupt output enabled"]
2760 pub const _1: Self = Self::new(1);
2761 }
2762 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2763 pub struct Pipe4Bempe_SPEC;
2764 pub type Pipe4Bempe = crate::EnumBitfieldStruct<u8, Pipe4Bempe_SPEC>;
2765 impl Pipe4Bempe {
2766 #[doc = "Interrupt output disabled"]
2767 pub const _0: Self = Self::new(0);
2768
2769 #[doc = "Interrupt output enabled"]
2770 pub const _1: Self = Self::new(1);
2771 }
2772 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2773 pub struct Pipe3Bempe_SPEC;
2774 pub type Pipe3Bempe = crate::EnumBitfieldStruct<u8, Pipe3Bempe_SPEC>;
2775 impl Pipe3Bempe {
2776 #[doc = "Interrupt output disabled"]
2777 pub const _0: Self = Self::new(0);
2778
2779 #[doc = "Interrupt output enabled"]
2780 pub const _1: Self = Self::new(1);
2781 }
2782 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2783 pub struct Pipe2Bempe_SPEC;
2784 pub type Pipe2Bempe = crate::EnumBitfieldStruct<u8, Pipe2Bempe_SPEC>;
2785 impl Pipe2Bempe {
2786 #[doc = "Interrupt output disabled"]
2787 pub const _0: Self = Self::new(0);
2788
2789 #[doc = "Interrupt output enabled"]
2790 pub const _1: Self = Self::new(1);
2791 }
2792 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2793 pub struct Pipe1Bempe_SPEC;
2794 pub type Pipe1Bempe = crate::EnumBitfieldStruct<u8, Pipe1Bempe_SPEC>;
2795 impl Pipe1Bempe {
2796 #[doc = "Interrupt output disabled"]
2797 pub const _0: Self = Self::new(0);
2798
2799 #[doc = "Interrupt output enabled"]
2800 pub const _1: Self = Self::new(1);
2801 }
2802 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2803 pub struct Pipe0Bempe_SPEC;
2804 pub type Pipe0Bempe = crate::EnumBitfieldStruct<u8, Pipe0Bempe_SPEC>;
2805 impl Pipe0Bempe {
2806 #[doc = "Interrupt output disabled"]
2807 pub const _0: Self = Self::new(0);
2808
2809 #[doc = "Interrupt output enabled"]
2810 pub const _1: Self = Self::new(1);
2811 }
2812}
2813#[doc(hidden)]
2814#[derive(Copy, Clone, Eq, PartialEq)]
2815pub struct Sofcfg_SPEC;
2816impl crate::sealed::RegSpec for Sofcfg_SPEC {
2817 type DataType = u16;
2818}
2819
2820#[doc = "SOF Output Configuration Register"]
2821pub type Sofcfg = crate::RegValueT<Sofcfg_SPEC>;
2822
2823impl Sofcfg {
2824 #[doc = "Transaction-Enabled Time Select"]
2825 #[inline(always)]
2826 pub fn trnensel(
2827 self,
2828 ) -> crate::common::RegisterField<
2829 8,
2830 0x1,
2831 1,
2832 0,
2833 sofcfg::Trnensel,
2834 sofcfg::Trnensel,
2835 Sofcfg_SPEC,
2836 crate::common::RW,
2837 > {
2838 crate::common::RegisterField::<
2839 8,
2840 0x1,
2841 1,
2842 0,
2843 sofcfg::Trnensel,
2844 sofcfg::Trnensel,
2845 Sofcfg_SPEC,
2846 crate::common::RW,
2847 >::from_register(self, 0)
2848 }
2849
2850 #[doc = "BRDY Interrupt Status Clear Timing"]
2851 #[inline(always)]
2852 pub fn brdym(
2853 self,
2854 ) -> crate::common::RegisterField<
2855 6,
2856 0x1,
2857 1,
2858 0,
2859 sofcfg::Brdym,
2860 sofcfg::Brdym,
2861 Sofcfg_SPEC,
2862 crate::common::RW,
2863 > {
2864 crate::common::RegisterField::<
2865 6,
2866 0x1,
2867 1,
2868 0,
2869 sofcfg::Brdym,
2870 sofcfg::Brdym,
2871 Sofcfg_SPEC,
2872 crate::common::RW,
2873 >::from_register(self, 0)
2874 }
2875
2876 #[doc = "Edge Interrupt Output Status Monitor"]
2877 #[inline(always)]
2878 pub fn edgests(
2879 self,
2880 ) -> crate::common::RegisterField<
2881 4,
2882 0x1,
2883 1,
2884 0,
2885 sofcfg::Edgests,
2886 sofcfg::Edgests,
2887 Sofcfg_SPEC,
2888 crate::common::R,
2889 > {
2890 crate::common::RegisterField::<
2891 4,
2892 0x1,
2893 1,
2894 0,
2895 sofcfg::Edgests,
2896 sofcfg::Edgests,
2897 Sofcfg_SPEC,
2898 crate::common::R,
2899 >::from_register(self, 0)
2900 }
2901
2902 #[doc = "These bits are read as 0000. The write value should be 0000."]
2903 #[inline(always)]
2904 pub fn reserved(
2905 self,
2906 ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Sofcfg_SPEC, crate::common::RW> {
2907 crate::common::RegisterField::<0,0xf,1,0,u8,u8,Sofcfg_SPEC,crate::common::RW>::from_register(self,0)
2908 }
2909}
2910impl ::core::default::Default for Sofcfg {
2911 #[inline(always)]
2912 fn default() -> Sofcfg {
2913 <crate::RegValueT<Sofcfg_SPEC> as RegisterValue<_>>::new(0)
2914 }
2915}
2916pub mod sofcfg {
2917
2918 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2919 pub struct Trnensel_SPEC;
2920 pub type Trnensel = crate::EnumBitfieldStruct<u8, Trnensel_SPEC>;
2921 impl Trnensel {
2922 #[doc = "For non-low-speed communication"]
2923 pub const _0: Self = Self::new(0);
2924
2925 #[doc = "For low-speed communication"]
2926 pub const _1: Self = Self::new(1);
2927 }
2928 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2929 pub struct Brdym_SPEC;
2930 pub type Brdym = crate::EnumBitfieldStruct<u8, Brdym_SPEC>;
2931 impl Brdym {
2932 #[doc = "Software clears the status."]
2933 pub const _0: Self = Self::new(0);
2934
2935 #[doc = "The USB clears the status when data has been read from the FIFO buffer or data has been written to the FIFO buffer."]
2936 pub const _1: Self = Self::new(1);
2937 }
2938 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2939 pub struct Edgests_SPEC;
2940 pub type Edgests = crate::EnumBitfieldStruct<u8, Edgests_SPEC>;
2941 impl Edgests {
2942 #[doc = "before stopping the clock supply to the USB module"]
2943 pub const _0: Self = Self::new(0);
2944
2945 #[doc = "the edge interrupt output signal is in the middle of the edge processing"]
2946 pub const _1: Self = Self::new(1);
2947 }
2948}
2949#[doc(hidden)]
2950#[derive(Copy, Clone, Eq, PartialEq)]
2951pub struct Intsts0_SPEC;
2952impl crate::sealed::RegSpec for Intsts0_SPEC {
2953 type DataType = u16;
2954}
2955
2956#[doc = "Interrupt Status Register 0"]
2957pub type Intsts0 = crate::RegValueT<Intsts0_SPEC>;
2958
2959impl Intsts0 {
2960 #[doc = "VBUS Interrupt Status"]
2961 #[inline(always)]
2962 pub fn vbint(
2963 self,
2964 ) -> crate::common::RegisterField<
2965 15,
2966 0x1,
2967 1,
2968 0,
2969 intsts0::Vbint,
2970 intsts0::Vbint,
2971 Intsts0_SPEC,
2972 crate::common::RW,
2973 > {
2974 crate::common::RegisterField::<
2975 15,
2976 0x1,
2977 1,
2978 0,
2979 intsts0::Vbint,
2980 intsts0::Vbint,
2981 Intsts0_SPEC,
2982 crate::common::RW,
2983 >::from_register(self, 0)
2984 }
2985
2986 #[doc = "Resume Interrupt Status"]
2987 #[inline(always)]
2988 pub fn resm(
2989 self,
2990 ) -> crate::common::RegisterField<
2991 14,
2992 0x1,
2993 1,
2994 0,
2995 intsts0::Resm,
2996 intsts0::Resm,
2997 Intsts0_SPEC,
2998 crate::common::RW,
2999 > {
3000 crate::common::RegisterField::<
3001 14,
3002 0x1,
3003 1,
3004 0,
3005 intsts0::Resm,
3006 intsts0::Resm,
3007 Intsts0_SPEC,
3008 crate::common::RW,
3009 >::from_register(self, 0)
3010 }
3011
3012 #[doc = "Frame Number Refresh Interrupt Status"]
3013 #[inline(always)]
3014 pub fn sofr(
3015 self,
3016 ) -> crate::common::RegisterField<
3017 13,
3018 0x1,
3019 1,
3020 0,
3021 intsts0::Sofr,
3022 intsts0::Sofr,
3023 Intsts0_SPEC,
3024 crate::common::RW,
3025 > {
3026 crate::common::RegisterField::<
3027 13,
3028 0x1,
3029 1,
3030 0,
3031 intsts0::Sofr,
3032 intsts0::Sofr,
3033 Intsts0_SPEC,
3034 crate::common::RW,
3035 >::from_register(self, 0)
3036 }
3037
3038 #[doc = "Device State Transition Interrupt Status"]
3039 #[inline(always)]
3040 pub fn dvst(
3041 self,
3042 ) -> crate::common::RegisterField<
3043 12,
3044 0x1,
3045 1,
3046 0,
3047 intsts0::Dvst,
3048 intsts0::Dvst,
3049 Intsts0_SPEC,
3050 crate::common::RW,
3051 > {
3052 crate::common::RegisterField::<
3053 12,
3054 0x1,
3055 1,
3056 0,
3057 intsts0::Dvst,
3058 intsts0::Dvst,
3059 Intsts0_SPEC,
3060 crate::common::RW,
3061 >::from_register(self, 0)
3062 }
3063
3064 #[doc = "Control Transfer Stage Transition Interrupt Status"]
3065 #[inline(always)]
3066 pub fn ctrt(
3067 self,
3068 ) -> crate::common::RegisterField<
3069 11,
3070 0x1,
3071 1,
3072 0,
3073 intsts0::Ctrt,
3074 intsts0::Ctrt,
3075 Intsts0_SPEC,
3076 crate::common::RW,
3077 > {
3078 crate::common::RegisterField::<
3079 11,
3080 0x1,
3081 1,
3082 0,
3083 intsts0::Ctrt,
3084 intsts0::Ctrt,
3085 Intsts0_SPEC,
3086 crate::common::RW,
3087 >::from_register(self, 0)
3088 }
3089
3090 #[doc = "Buffer Empty Interrupt Status"]
3091 #[inline(always)]
3092 pub fn bemp(
3093 self,
3094 ) -> crate::common::RegisterField<
3095 10,
3096 0x1,
3097 1,
3098 0,
3099 intsts0::Bemp,
3100 intsts0::Bemp,
3101 Intsts0_SPEC,
3102 crate::common::R,
3103 > {
3104 crate::common::RegisterField::<
3105 10,
3106 0x1,
3107 1,
3108 0,
3109 intsts0::Bemp,
3110 intsts0::Bemp,
3111 Intsts0_SPEC,
3112 crate::common::R,
3113 >::from_register(self, 0)
3114 }
3115
3116 #[doc = "Buffer Not Ready Interrupt Status"]
3117 #[inline(always)]
3118 pub fn nrdy(
3119 self,
3120 ) -> crate::common::RegisterField<
3121 9,
3122 0x1,
3123 1,
3124 0,
3125 intsts0::Nrdy,
3126 intsts0::Nrdy,
3127 Intsts0_SPEC,
3128 crate::common::R,
3129 > {
3130 crate::common::RegisterField::<
3131 9,
3132 0x1,
3133 1,
3134 0,
3135 intsts0::Nrdy,
3136 intsts0::Nrdy,
3137 Intsts0_SPEC,
3138 crate::common::R,
3139 >::from_register(self, 0)
3140 }
3141
3142 #[doc = "Buffer Ready Interrupt Status"]
3143 #[inline(always)]
3144 pub fn brdy(
3145 self,
3146 ) -> crate::common::RegisterField<
3147 8,
3148 0x1,
3149 1,
3150 0,
3151 intsts0::Brdy,
3152 intsts0::Brdy,
3153 Intsts0_SPEC,
3154 crate::common::R,
3155 > {
3156 crate::common::RegisterField::<
3157 8,
3158 0x1,
3159 1,
3160 0,
3161 intsts0::Brdy,
3162 intsts0::Brdy,
3163 Intsts0_SPEC,
3164 crate::common::R,
3165 >::from_register(self, 0)
3166 }
3167
3168 #[doc = "VBUS Input Status"]
3169 #[inline(always)]
3170 pub fn vbsts(
3171 self,
3172 ) -> crate::common::RegisterField<
3173 7,
3174 0x1,
3175 1,
3176 0,
3177 intsts0::Vbsts,
3178 intsts0::Vbsts,
3179 Intsts0_SPEC,
3180 crate::common::R,
3181 > {
3182 crate::common::RegisterField::<
3183 7,
3184 0x1,
3185 1,
3186 0,
3187 intsts0::Vbsts,
3188 intsts0::Vbsts,
3189 Intsts0_SPEC,
3190 crate::common::R,
3191 >::from_register(self, 0)
3192 }
3193
3194 #[doc = "Device State"]
3195 #[inline(always)]
3196 pub fn dvsq(
3197 self,
3198 ) -> crate::common::RegisterField<
3199 4,
3200 0x7,
3201 1,
3202 0,
3203 intsts0::Dvsq,
3204 intsts0::Dvsq,
3205 Intsts0_SPEC,
3206 crate::common::R,
3207 > {
3208 crate::common::RegisterField::<
3209 4,
3210 0x7,
3211 1,
3212 0,
3213 intsts0::Dvsq,
3214 intsts0::Dvsq,
3215 Intsts0_SPEC,
3216 crate::common::R,
3217 >::from_register(self, 0)
3218 }
3219
3220 #[doc = "USB Request Reception"]
3221 #[inline(always)]
3222 pub fn valid(
3223 self,
3224 ) -> crate::common::RegisterField<
3225 3,
3226 0x1,
3227 1,
3228 0,
3229 intsts0::Valid,
3230 intsts0::Valid,
3231 Intsts0_SPEC,
3232 crate::common::RW,
3233 > {
3234 crate::common::RegisterField::<
3235 3,
3236 0x1,
3237 1,
3238 0,
3239 intsts0::Valid,
3240 intsts0::Valid,
3241 Intsts0_SPEC,
3242 crate::common::RW,
3243 >::from_register(self, 0)
3244 }
3245
3246 #[doc = "Control Transfer Stage"]
3247 #[inline(always)]
3248 pub fn ctsq(
3249 self,
3250 ) -> crate::common::RegisterField<
3251 0,
3252 0x7,
3253 1,
3254 0,
3255 intsts0::Ctsq,
3256 intsts0::Ctsq,
3257 Intsts0_SPEC,
3258 crate::common::R,
3259 > {
3260 crate::common::RegisterField::<
3261 0,
3262 0x7,
3263 1,
3264 0,
3265 intsts0::Ctsq,
3266 intsts0::Ctsq,
3267 Intsts0_SPEC,
3268 crate::common::R,
3269 >::from_register(self, 0)
3270 }
3271}
3272impl ::core::default::Default for Intsts0 {
3273 #[inline(always)]
3274 fn default() -> Intsts0 {
3275 <crate::RegValueT<Intsts0_SPEC> as RegisterValue<_>>::new(0)
3276 }
3277}
3278pub mod intsts0 {
3279
3280 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3281 pub struct Vbint_SPEC;
3282 pub type Vbint = crate::EnumBitfieldStruct<u8, Vbint_SPEC>;
3283 impl Vbint {
3284 #[doc = "VBUS interrupts are not generated."]
3285 pub const _0: Self = Self::new(0);
3286
3287 #[doc = "VBUS interrupts are generated."]
3288 pub const _1: Self = Self::new(1);
3289 }
3290 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3291 pub struct Resm_SPEC;
3292 pub type Resm = crate::EnumBitfieldStruct<u8, Resm_SPEC>;
3293 impl Resm {
3294 #[doc = "Resume interrupts are not generated."]
3295 pub const _0: Self = Self::new(0);
3296
3297 #[doc = "Resume interrupts are generated."]
3298 pub const _1: Self = Self::new(1);
3299 }
3300 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3301 pub struct Sofr_SPEC;
3302 pub type Sofr = crate::EnumBitfieldStruct<u8, Sofr_SPEC>;
3303 impl Sofr {
3304 #[doc = "SOF interrupts are not generated."]
3305 pub const _0: Self = Self::new(0);
3306
3307 #[doc = "SOF interrupts are generated."]
3308 pub const _1: Self = Self::new(1);
3309 }
3310 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3311 pub struct Dvst_SPEC;
3312 pub type Dvst = crate::EnumBitfieldStruct<u8, Dvst_SPEC>;
3313 impl Dvst {
3314 #[doc = "Device state transition interrupts are not generated."]
3315 pub const _0: Self = Self::new(0);
3316
3317 #[doc = "Device state transition interrupts are generated."]
3318 pub const _1: Self = Self::new(1);
3319 }
3320 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3321 pub struct Ctrt_SPEC;
3322 pub type Ctrt = crate::EnumBitfieldStruct<u8, Ctrt_SPEC>;
3323 impl Ctrt {
3324 #[doc = "Control transfer stage transition interrupts are not generated."]
3325 pub const _0: Self = Self::new(0);
3326
3327 #[doc = "Control transfer stage transition interrupts are generated."]
3328 pub const _1: Self = Self::new(1);
3329 }
3330 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3331 pub struct Bemp_SPEC;
3332 pub type Bemp = crate::EnumBitfieldStruct<u8, Bemp_SPEC>;
3333 impl Bemp {
3334 #[doc = "BEMP interrupts are not generated."]
3335 pub const _0: Self = Self::new(0);
3336
3337 #[doc = "BEMP interrupts are generated."]
3338 pub const _1: Self = Self::new(1);
3339 }
3340 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3341 pub struct Nrdy_SPEC;
3342 pub type Nrdy = crate::EnumBitfieldStruct<u8, Nrdy_SPEC>;
3343 impl Nrdy {
3344 #[doc = "NRDY interrupts are not generated."]
3345 pub const _0: Self = Self::new(0);
3346
3347 #[doc = "NRDY interrupts are generated."]
3348 pub const _1: Self = Self::new(1);
3349 }
3350 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3351 pub struct Brdy_SPEC;
3352 pub type Brdy = crate::EnumBitfieldStruct<u8, Brdy_SPEC>;
3353 impl Brdy {
3354 #[doc = "BRDY interrupts are not generated."]
3355 pub const _0: Self = Self::new(0);
3356
3357 #[doc = "BRDY interrupts are generated."]
3358 pub const _1: Self = Self::new(1);
3359 }
3360 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3361 pub struct Vbsts_SPEC;
3362 pub type Vbsts = crate::EnumBitfieldStruct<u8, Vbsts_SPEC>;
3363 impl Vbsts {
3364 #[doc = "USB0_VBUS pin is low."]
3365 pub const _0: Self = Self::new(0);
3366
3367 #[doc = "USB0_VBUS pin is high."]
3368 pub const _1: Self = Self::new(1);
3369 }
3370 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3371 pub struct Dvsq_SPEC;
3372 pub type Dvsq = crate::EnumBitfieldStruct<u8, Dvsq_SPEC>;
3373 impl Dvsq {
3374 #[doc = "Powered state"]
3375 pub const _000: Self = Self::new(0);
3376
3377 #[doc = "Default state"]
3378 pub const _001: Self = Self::new(1);
3379
3380 #[doc = "Address state"]
3381 pub const _010: Self = Self::new(2);
3382
3383 #[doc = "Configured state"]
3384 pub const _011: Self = Self::new(3);
3385 }
3386 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3387 pub struct Valid_SPEC;
3388 pub type Valid = crate::EnumBitfieldStruct<u8, Valid_SPEC>;
3389 impl Valid {
3390 #[doc = "Setup packet is not received"]
3391 pub const _0: Self = Self::new(0);
3392
3393 #[doc = "Setup packet is received"]
3394 pub const _1: Self = Self::new(1);
3395 }
3396 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3397 pub struct Ctsq_SPEC;
3398 pub type Ctsq = crate::EnumBitfieldStruct<u8, Ctsq_SPEC>;
3399 impl Ctsq {
3400 #[doc = "Idle or setup stage"]
3401 pub const _000: Self = Self::new(0);
3402
3403 #[doc = "Control read data stage"]
3404 pub const _001: Self = Self::new(1);
3405
3406 #[doc = "Control read status stage"]
3407 pub const _010: Self = Self::new(2);
3408
3409 #[doc = "Control write data stage"]
3410 pub const _011: Self = Self::new(3);
3411
3412 #[doc = "Control write status stage"]
3413 pub const _100: Self = Self::new(4);
3414
3415 #[doc = "Control write(nodata) status stage"]
3416 pub const _101: Self = Self::new(5);
3417
3418 #[doc = "Control transfer sequence error"]
3419 pub const _110: Self = Self::new(6);
3420 }
3421}
3422#[doc(hidden)]
3423#[derive(Copy, Clone, Eq, PartialEq)]
3424pub struct Brdysts_SPEC;
3425impl crate::sealed::RegSpec for Brdysts_SPEC {
3426 type DataType = u16;
3427}
3428
3429#[doc = "BRDY Interrupt Status Register"]
3430pub type Brdysts = crate::RegValueT<Brdysts_SPEC>;
3431
3432impl Brdysts {
3433 #[doc = "These bits are read as 000000. The write value should be 000000."]
3434 #[inline(always)]
3435 pub fn reserved(
3436 self,
3437 ) -> crate::common::RegisterField<10, 0x3f, 1, 0, u8, u8, Brdysts_SPEC, crate::common::RW> {
3438 crate::common::RegisterField::<10,0x3f,1,0,u8,u8,Brdysts_SPEC,crate::common::RW>::from_register(self,0)
3439 }
3440
3441 #[doc = "BRDY Interrupt Status for PIPE9"]
3442 #[inline(always)]
3443 pub fn pipe9brdy(
3444 self,
3445 ) -> crate::common::RegisterField<
3446 9,
3447 0x1,
3448 1,
3449 0,
3450 brdysts::Pipe9Brdy,
3451 brdysts::Pipe9Brdy,
3452 Brdysts_SPEC,
3453 crate::common::RW,
3454 > {
3455 crate::common::RegisterField::<
3456 9,
3457 0x1,
3458 1,
3459 0,
3460 brdysts::Pipe9Brdy,
3461 brdysts::Pipe9Brdy,
3462 Brdysts_SPEC,
3463 crate::common::RW,
3464 >::from_register(self, 0)
3465 }
3466
3467 #[doc = "BRDY Interrupt Status for PIPE8"]
3468 #[inline(always)]
3469 pub fn pipe8brdy(
3470 self,
3471 ) -> crate::common::RegisterField<
3472 8,
3473 0x1,
3474 1,
3475 0,
3476 brdysts::Pipe8Brdy,
3477 brdysts::Pipe8Brdy,
3478 Brdysts_SPEC,
3479 crate::common::RW,
3480 > {
3481 crate::common::RegisterField::<
3482 8,
3483 0x1,
3484 1,
3485 0,
3486 brdysts::Pipe8Brdy,
3487 brdysts::Pipe8Brdy,
3488 Brdysts_SPEC,
3489 crate::common::RW,
3490 >::from_register(self, 0)
3491 }
3492
3493 #[doc = "BRDY Interrupt Status for PIPE7"]
3494 #[inline(always)]
3495 pub fn pipe7brdy(
3496 self,
3497 ) -> crate::common::RegisterField<
3498 7,
3499 0x1,
3500 1,
3501 0,
3502 brdysts::Pipe7Brdy,
3503 brdysts::Pipe7Brdy,
3504 Brdysts_SPEC,
3505 crate::common::RW,
3506 > {
3507 crate::common::RegisterField::<
3508 7,
3509 0x1,
3510 1,
3511 0,
3512 brdysts::Pipe7Brdy,
3513 brdysts::Pipe7Brdy,
3514 Brdysts_SPEC,
3515 crate::common::RW,
3516 >::from_register(self, 0)
3517 }
3518
3519 #[doc = "BRDY Interrupt Status for PIPE6"]
3520 #[inline(always)]
3521 pub fn pipe6brdy(
3522 self,
3523 ) -> crate::common::RegisterField<
3524 6,
3525 0x1,
3526 1,
3527 0,
3528 brdysts::Pipe6Brdy,
3529 brdysts::Pipe6Brdy,
3530 Brdysts_SPEC,
3531 crate::common::RW,
3532 > {
3533 crate::common::RegisterField::<
3534 6,
3535 0x1,
3536 1,
3537 0,
3538 brdysts::Pipe6Brdy,
3539 brdysts::Pipe6Brdy,
3540 Brdysts_SPEC,
3541 crate::common::RW,
3542 >::from_register(self, 0)
3543 }
3544
3545 #[doc = "BRDY Interrupt Status for PIPE5"]
3546 #[inline(always)]
3547 pub fn pipe5brdy(
3548 self,
3549 ) -> crate::common::RegisterField<
3550 5,
3551 0x1,
3552 1,
3553 0,
3554 brdysts::Pipe5Brdy,
3555 brdysts::Pipe5Brdy,
3556 Brdysts_SPEC,
3557 crate::common::RW,
3558 > {
3559 crate::common::RegisterField::<
3560 5,
3561 0x1,
3562 1,
3563 0,
3564 brdysts::Pipe5Brdy,
3565 brdysts::Pipe5Brdy,
3566 Brdysts_SPEC,
3567 crate::common::RW,
3568 >::from_register(self, 0)
3569 }
3570
3571 #[doc = "BRDY Interrupt Status for PIPE4"]
3572 #[inline(always)]
3573 pub fn pipe4brdy(
3574 self,
3575 ) -> crate::common::RegisterField<
3576 4,
3577 0x1,
3578 1,
3579 0,
3580 brdysts::Pipe4Brdy,
3581 brdysts::Pipe4Brdy,
3582 Brdysts_SPEC,
3583 crate::common::RW,
3584 > {
3585 crate::common::RegisterField::<
3586 4,
3587 0x1,
3588 1,
3589 0,
3590 brdysts::Pipe4Brdy,
3591 brdysts::Pipe4Brdy,
3592 Brdysts_SPEC,
3593 crate::common::RW,
3594 >::from_register(self, 0)
3595 }
3596
3597 #[doc = "BRDY Interrupt Status for PIPE3"]
3598 #[inline(always)]
3599 pub fn pipe3brdy(
3600 self,
3601 ) -> crate::common::RegisterField<
3602 3,
3603 0x1,
3604 1,
3605 0,
3606 brdysts::Pipe3Brdy,
3607 brdysts::Pipe3Brdy,
3608 Brdysts_SPEC,
3609 crate::common::RW,
3610 > {
3611 crate::common::RegisterField::<
3612 3,
3613 0x1,
3614 1,
3615 0,
3616 brdysts::Pipe3Brdy,
3617 brdysts::Pipe3Brdy,
3618 Brdysts_SPEC,
3619 crate::common::RW,
3620 >::from_register(self, 0)
3621 }
3622
3623 #[doc = "BRDY Interrupt Status for PIPE2"]
3624 #[inline(always)]
3625 pub fn pipe2brdy(
3626 self,
3627 ) -> crate::common::RegisterField<
3628 2,
3629 0x1,
3630 1,
3631 0,
3632 brdysts::Pipe2Brdy,
3633 brdysts::Pipe2Brdy,
3634 Brdysts_SPEC,
3635 crate::common::RW,
3636 > {
3637 crate::common::RegisterField::<
3638 2,
3639 0x1,
3640 1,
3641 0,
3642 brdysts::Pipe2Brdy,
3643 brdysts::Pipe2Brdy,
3644 Brdysts_SPEC,
3645 crate::common::RW,
3646 >::from_register(self, 0)
3647 }
3648
3649 #[doc = "BRDY Interrupt Status for PIPE1"]
3650 #[inline(always)]
3651 pub fn pipe1brdy(
3652 self,
3653 ) -> crate::common::RegisterField<
3654 1,
3655 0x1,
3656 1,
3657 0,
3658 brdysts::Pipe1Brdy,
3659 brdysts::Pipe1Brdy,
3660 Brdysts_SPEC,
3661 crate::common::RW,
3662 > {
3663 crate::common::RegisterField::<
3664 1,
3665 0x1,
3666 1,
3667 0,
3668 brdysts::Pipe1Brdy,
3669 brdysts::Pipe1Brdy,
3670 Brdysts_SPEC,
3671 crate::common::RW,
3672 >::from_register(self, 0)
3673 }
3674
3675 #[doc = "BRDY Interrupt Status for PIPE0"]
3676 #[inline(always)]
3677 pub fn pipe0brdy(
3678 self,
3679 ) -> crate::common::RegisterField<
3680 0,
3681 0x1,
3682 1,
3683 0,
3684 brdysts::Pipe0Brdy,
3685 brdysts::Pipe0Brdy,
3686 Brdysts_SPEC,
3687 crate::common::RW,
3688 > {
3689 crate::common::RegisterField::<
3690 0,
3691 0x1,
3692 1,
3693 0,
3694 brdysts::Pipe0Brdy,
3695 brdysts::Pipe0Brdy,
3696 Brdysts_SPEC,
3697 crate::common::RW,
3698 >::from_register(self, 0)
3699 }
3700}
3701impl ::core::default::Default for Brdysts {
3702 #[inline(always)]
3703 fn default() -> Brdysts {
3704 <crate::RegValueT<Brdysts_SPEC> as RegisterValue<_>>::new(0)
3705 }
3706}
3707pub mod brdysts {
3708
3709 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3710 pub struct Pipe9Brdy_SPEC;
3711 pub type Pipe9Brdy = crate::EnumBitfieldStruct<u8, Pipe9Brdy_SPEC>;
3712 impl Pipe9Brdy {
3713 #[doc = "Interrupts are not generated."]
3714 pub const _0: Self = Self::new(0);
3715
3716 #[doc = "Interrupts are generated."]
3717 pub const _1: Self = Self::new(1);
3718 }
3719 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3720 pub struct Pipe8Brdy_SPEC;
3721 pub type Pipe8Brdy = crate::EnumBitfieldStruct<u8, Pipe8Brdy_SPEC>;
3722 impl Pipe8Brdy {
3723 #[doc = "Interrupts are not generated."]
3724 pub const _0: Self = Self::new(0);
3725
3726 #[doc = "Interrupts are generated."]
3727 pub const _1: Self = Self::new(1);
3728 }
3729 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3730 pub struct Pipe7Brdy_SPEC;
3731 pub type Pipe7Brdy = crate::EnumBitfieldStruct<u8, Pipe7Brdy_SPEC>;
3732 impl Pipe7Brdy {
3733 #[doc = "Interrupts are not generated."]
3734 pub const _0: Self = Self::new(0);
3735
3736 #[doc = "Interrupts are generated."]
3737 pub const _1: Self = Self::new(1);
3738 }
3739 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3740 pub struct Pipe6Brdy_SPEC;
3741 pub type Pipe6Brdy = crate::EnumBitfieldStruct<u8, Pipe6Brdy_SPEC>;
3742 impl Pipe6Brdy {
3743 #[doc = "Interrupts are not generated."]
3744 pub const _0: Self = Self::new(0);
3745
3746 #[doc = "Interrupts are generated."]
3747 pub const _1: Self = Self::new(1);
3748 }
3749 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3750 pub struct Pipe5Brdy_SPEC;
3751 pub type Pipe5Brdy = crate::EnumBitfieldStruct<u8, Pipe5Brdy_SPEC>;
3752 impl Pipe5Brdy {
3753 #[doc = "Interrupts are not generated."]
3754 pub const _0: Self = Self::new(0);
3755
3756 #[doc = "Interrupts are generated."]
3757 pub const _1: Self = Self::new(1);
3758 }
3759 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3760 pub struct Pipe4Brdy_SPEC;
3761 pub type Pipe4Brdy = crate::EnumBitfieldStruct<u8, Pipe4Brdy_SPEC>;
3762 impl Pipe4Brdy {
3763 #[doc = "Interrupts are not generated."]
3764 pub const _0: Self = Self::new(0);
3765
3766 #[doc = "Interrupts are generated."]
3767 pub const _1: Self = Self::new(1);
3768 }
3769 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3770 pub struct Pipe3Brdy_SPEC;
3771 pub type Pipe3Brdy = crate::EnumBitfieldStruct<u8, Pipe3Brdy_SPEC>;
3772 impl Pipe3Brdy {
3773 #[doc = "Interrupts are not generated."]
3774 pub const _0: Self = Self::new(0);
3775
3776 #[doc = "Interrupts are generated."]
3777 pub const _1: Self = Self::new(1);
3778 }
3779 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3780 pub struct Pipe2Brdy_SPEC;
3781 pub type Pipe2Brdy = crate::EnumBitfieldStruct<u8, Pipe2Brdy_SPEC>;
3782 impl Pipe2Brdy {
3783 #[doc = "Interrupts are not generated."]
3784 pub const _0: Self = Self::new(0);
3785
3786 #[doc = "Interrupts are generated."]
3787 pub const _1: Self = Self::new(1);
3788 }
3789 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3790 pub struct Pipe1Brdy_SPEC;
3791 pub type Pipe1Brdy = crate::EnumBitfieldStruct<u8, Pipe1Brdy_SPEC>;
3792 impl Pipe1Brdy {
3793 #[doc = "Interrupts are not generated."]
3794 pub const _0: Self = Self::new(0);
3795
3796 #[doc = "Interrupts are generated."]
3797 pub const _1: Self = Self::new(1);
3798 }
3799 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3800 pub struct Pipe0Brdy_SPEC;
3801 pub type Pipe0Brdy = crate::EnumBitfieldStruct<u8, Pipe0Brdy_SPEC>;
3802 impl Pipe0Brdy {
3803 #[doc = "Interrupts are not generated."]
3804 pub const _0: Self = Self::new(0);
3805
3806 #[doc = "Interrupts are generated."]
3807 pub const _1: Self = Self::new(1);
3808 }
3809}
3810#[doc(hidden)]
3811#[derive(Copy, Clone, Eq, PartialEq)]
3812pub struct Nrdysts_SPEC;
3813impl crate::sealed::RegSpec for Nrdysts_SPEC {
3814 type DataType = u16;
3815}
3816
3817#[doc = "NRDY Interrupt Status Register"]
3818pub type Nrdysts = crate::RegValueT<Nrdysts_SPEC>;
3819
3820impl Nrdysts {
3821 #[doc = "These bits are read as 000000. The write value should be 000000."]
3822 #[inline(always)]
3823 pub fn reserved(
3824 self,
3825 ) -> crate::common::RegisterField<10, 0x3f, 1, 0, u8, u8, Nrdysts_SPEC, crate::common::RW> {
3826 crate::common::RegisterField::<10,0x3f,1,0,u8,u8,Nrdysts_SPEC,crate::common::RW>::from_register(self,0)
3827 }
3828
3829 #[doc = "NRDY Interrupt Status for PIPE9"]
3830 #[inline(always)]
3831 pub fn pipe9nrdy(
3832 self,
3833 ) -> crate::common::RegisterField<
3834 9,
3835 0x1,
3836 1,
3837 0,
3838 nrdysts::Pipe9Nrdy,
3839 nrdysts::Pipe9Nrdy,
3840 Nrdysts_SPEC,
3841 crate::common::RW,
3842 > {
3843 crate::common::RegisterField::<
3844 9,
3845 0x1,
3846 1,
3847 0,
3848 nrdysts::Pipe9Nrdy,
3849 nrdysts::Pipe9Nrdy,
3850 Nrdysts_SPEC,
3851 crate::common::RW,
3852 >::from_register(self, 0)
3853 }
3854
3855 #[doc = "NRDY Interrupt Status for PIPE8"]
3856 #[inline(always)]
3857 pub fn pipe8nrdy(
3858 self,
3859 ) -> crate::common::RegisterField<
3860 8,
3861 0x1,
3862 1,
3863 0,
3864 nrdysts::Pipe8Nrdy,
3865 nrdysts::Pipe8Nrdy,
3866 Nrdysts_SPEC,
3867 crate::common::RW,
3868 > {
3869 crate::common::RegisterField::<
3870 8,
3871 0x1,
3872 1,
3873 0,
3874 nrdysts::Pipe8Nrdy,
3875 nrdysts::Pipe8Nrdy,
3876 Nrdysts_SPEC,
3877 crate::common::RW,
3878 >::from_register(self, 0)
3879 }
3880
3881 #[doc = "NRDY Interrupt Status for PIPE7"]
3882 #[inline(always)]
3883 pub fn pipe7nrdy(
3884 self,
3885 ) -> crate::common::RegisterField<
3886 7,
3887 0x1,
3888 1,
3889 0,
3890 nrdysts::Pipe7Nrdy,
3891 nrdysts::Pipe7Nrdy,
3892 Nrdysts_SPEC,
3893 crate::common::RW,
3894 > {
3895 crate::common::RegisterField::<
3896 7,
3897 0x1,
3898 1,
3899 0,
3900 nrdysts::Pipe7Nrdy,
3901 nrdysts::Pipe7Nrdy,
3902 Nrdysts_SPEC,
3903 crate::common::RW,
3904 >::from_register(self, 0)
3905 }
3906
3907 #[doc = "NRDY Interrupt Status for PIPE6"]
3908 #[inline(always)]
3909 pub fn pipe6nrdy(
3910 self,
3911 ) -> crate::common::RegisterField<
3912 6,
3913 0x1,
3914 1,
3915 0,
3916 nrdysts::Pipe6Nrdy,
3917 nrdysts::Pipe6Nrdy,
3918 Nrdysts_SPEC,
3919 crate::common::RW,
3920 > {
3921 crate::common::RegisterField::<
3922 6,
3923 0x1,
3924 1,
3925 0,
3926 nrdysts::Pipe6Nrdy,
3927 nrdysts::Pipe6Nrdy,
3928 Nrdysts_SPEC,
3929 crate::common::RW,
3930 >::from_register(self, 0)
3931 }
3932
3933 #[doc = "NRDY Interrupt Status for PIPE5"]
3934 #[inline(always)]
3935 pub fn pipe5nrdy(
3936 self,
3937 ) -> crate::common::RegisterField<
3938 5,
3939 0x1,
3940 1,
3941 0,
3942 nrdysts::Pipe5Nrdy,
3943 nrdysts::Pipe5Nrdy,
3944 Nrdysts_SPEC,
3945 crate::common::RW,
3946 > {
3947 crate::common::RegisterField::<
3948 5,
3949 0x1,
3950 1,
3951 0,
3952 nrdysts::Pipe5Nrdy,
3953 nrdysts::Pipe5Nrdy,
3954 Nrdysts_SPEC,
3955 crate::common::RW,
3956 >::from_register(self, 0)
3957 }
3958
3959 #[doc = "NRDY Interrupt Status for PIPE4"]
3960 #[inline(always)]
3961 pub fn pipe4nrdy(
3962 self,
3963 ) -> crate::common::RegisterField<
3964 4,
3965 0x1,
3966 1,
3967 0,
3968 nrdysts::Pipe4Nrdy,
3969 nrdysts::Pipe4Nrdy,
3970 Nrdysts_SPEC,
3971 crate::common::RW,
3972 > {
3973 crate::common::RegisterField::<
3974 4,
3975 0x1,
3976 1,
3977 0,
3978 nrdysts::Pipe4Nrdy,
3979 nrdysts::Pipe4Nrdy,
3980 Nrdysts_SPEC,
3981 crate::common::RW,
3982 >::from_register(self, 0)
3983 }
3984
3985 #[doc = "NRDY Interrupt Status for PIPE3"]
3986 #[inline(always)]
3987 pub fn pipe3nrdy(
3988 self,
3989 ) -> crate::common::RegisterField<
3990 3,
3991 0x1,
3992 1,
3993 0,
3994 nrdysts::Pipe3Nrdy,
3995 nrdysts::Pipe3Nrdy,
3996 Nrdysts_SPEC,
3997 crate::common::RW,
3998 > {
3999 crate::common::RegisterField::<
4000 3,
4001 0x1,
4002 1,
4003 0,
4004 nrdysts::Pipe3Nrdy,
4005 nrdysts::Pipe3Nrdy,
4006 Nrdysts_SPEC,
4007 crate::common::RW,
4008 >::from_register(self, 0)
4009 }
4010
4011 #[doc = "NRDY Interrupt Status for PIPE2"]
4012 #[inline(always)]
4013 pub fn pipe2nrdy(
4014 self,
4015 ) -> crate::common::RegisterField<
4016 2,
4017 0x1,
4018 1,
4019 0,
4020 nrdysts::Pipe2Nrdy,
4021 nrdysts::Pipe2Nrdy,
4022 Nrdysts_SPEC,
4023 crate::common::RW,
4024 > {
4025 crate::common::RegisterField::<
4026 2,
4027 0x1,
4028 1,
4029 0,
4030 nrdysts::Pipe2Nrdy,
4031 nrdysts::Pipe2Nrdy,
4032 Nrdysts_SPEC,
4033 crate::common::RW,
4034 >::from_register(self, 0)
4035 }
4036
4037 #[doc = "NRDY Interrupt Status for PIPE1"]
4038 #[inline(always)]
4039 pub fn pipe1nrdy(
4040 self,
4041 ) -> crate::common::RegisterField<
4042 1,
4043 0x1,
4044 1,
4045 0,
4046 nrdysts::Pipe1Nrdy,
4047 nrdysts::Pipe1Nrdy,
4048 Nrdysts_SPEC,
4049 crate::common::RW,
4050 > {
4051 crate::common::RegisterField::<
4052 1,
4053 0x1,
4054 1,
4055 0,
4056 nrdysts::Pipe1Nrdy,
4057 nrdysts::Pipe1Nrdy,
4058 Nrdysts_SPEC,
4059 crate::common::RW,
4060 >::from_register(self, 0)
4061 }
4062
4063 #[doc = "NRDY Interrupt Status for PIPE0"]
4064 #[inline(always)]
4065 pub fn pipe0nrdy(
4066 self,
4067 ) -> crate::common::RegisterField<
4068 0,
4069 0x1,
4070 1,
4071 0,
4072 nrdysts::Pipe0Nrdy,
4073 nrdysts::Pipe0Nrdy,
4074 Nrdysts_SPEC,
4075 crate::common::RW,
4076 > {
4077 crate::common::RegisterField::<
4078 0,
4079 0x1,
4080 1,
4081 0,
4082 nrdysts::Pipe0Nrdy,
4083 nrdysts::Pipe0Nrdy,
4084 Nrdysts_SPEC,
4085 crate::common::RW,
4086 >::from_register(self, 0)
4087 }
4088}
4089impl ::core::default::Default for Nrdysts {
4090 #[inline(always)]
4091 fn default() -> Nrdysts {
4092 <crate::RegValueT<Nrdysts_SPEC> as RegisterValue<_>>::new(0)
4093 }
4094}
4095pub mod nrdysts {
4096
4097 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4098 pub struct Pipe9Nrdy_SPEC;
4099 pub type Pipe9Nrdy = crate::EnumBitfieldStruct<u8, Pipe9Nrdy_SPEC>;
4100 impl Pipe9Nrdy {
4101 #[doc = "Interrupts are not generated."]
4102 pub const _0: Self = Self::new(0);
4103
4104 #[doc = "Interrupts are generated."]
4105 pub const _1: Self = Self::new(1);
4106 }
4107 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4108 pub struct Pipe8Nrdy_SPEC;
4109 pub type Pipe8Nrdy = crate::EnumBitfieldStruct<u8, Pipe8Nrdy_SPEC>;
4110 impl Pipe8Nrdy {
4111 #[doc = "Interrupts are not generated."]
4112 pub const _0: Self = Self::new(0);
4113
4114 #[doc = "Interrupts are generated."]
4115 pub const _1: Self = Self::new(1);
4116 }
4117 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4118 pub struct Pipe7Nrdy_SPEC;
4119 pub type Pipe7Nrdy = crate::EnumBitfieldStruct<u8, Pipe7Nrdy_SPEC>;
4120 impl Pipe7Nrdy {
4121 #[doc = "Interrupts are not generated."]
4122 pub const _0: Self = Self::new(0);
4123
4124 #[doc = "Interrupts are generated."]
4125 pub const _1: Self = Self::new(1);
4126 }
4127 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4128 pub struct Pipe6Nrdy_SPEC;
4129 pub type Pipe6Nrdy = crate::EnumBitfieldStruct<u8, Pipe6Nrdy_SPEC>;
4130 impl Pipe6Nrdy {
4131 #[doc = "Interrupts are not generated."]
4132 pub const _0: Self = Self::new(0);
4133
4134 #[doc = "Interrupts are generated."]
4135 pub const _1: Self = Self::new(1);
4136 }
4137 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4138 pub struct Pipe5Nrdy_SPEC;
4139 pub type Pipe5Nrdy = crate::EnumBitfieldStruct<u8, Pipe5Nrdy_SPEC>;
4140 impl Pipe5Nrdy {
4141 #[doc = "Interrupts are not generated."]
4142 pub const _0: Self = Self::new(0);
4143
4144 #[doc = "Interrupts are generated."]
4145 pub const _1: Self = Self::new(1);
4146 }
4147 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4148 pub struct Pipe4Nrdy_SPEC;
4149 pub type Pipe4Nrdy = crate::EnumBitfieldStruct<u8, Pipe4Nrdy_SPEC>;
4150 impl Pipe4Nrdy {
4151 #[doc = "Interrupts are not generated."]
4152 pub const _0: Self = Self::new(0);
4153
4154 #[doc = "Interrupts are generated."]
4155 pub const _1: Self = Self::new(1);
4156 }
4157 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4158 pub struct Pipe3Nrdy_SPEC;
4159 pub type Pipe3Nrdy = crate::EnumBitfieldStruct<u8, Pipe3Nrdy_SPEC>;
4160 impl Pipe3Nrdy {
4161 #[doc = "Interrupts are not generated."]
4162 pub const _0: Self = Self::new(0);
4163
4164 #[doc = "Interrupts are generated."]
4165 pub const _1: Self = Self::new(1);
4166 }
4167 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4168 pub struct Pipe2Nrdy_SPEC;
4169 pub type Pipe2Nrdy = crate::EnumBitfieldStruct<u8, Pipe2Nrdy_SPEC>;
4170 impl Pipe2Nrdy {
4171 #[doc = "Interrupts are not generated."]
4172 pub const _0: Self = Self::new(0);
4173
4174 #[doc = "Interrupts are generated."]
4175 pub const _1: Self = Self::new(1);
4176 }
4177 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4178 pub struct Pipe1Nrdy_SPEC;
4179 pub type Pipe1Nrdy = crate::EnumBitfieldStruct<u8, Pipe1Nrdy_SPEC>;
4180 impl Pipe1Nrdy {
4181 #[doc = "Interrupts are not generated."]
4182 pub const _0: Self = Self::new(0);
4183
4184 #[doc = "Interrupts are generated."]
4185 pub const _1: Self = Self::new(1);
4186 }
4187 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4188 pub struct Pipe0Nrdy_SPEC;
4189 pub type Pipe0Nrdy = crate::EnumBitfieldStruct<u8, Pipe0Nrdy_SPEC>;
4190 impl Pipe0Nrdy {
4191 #[doc = "Interrupts are not generated."]
4192 pub const _0: Self = Self::new(0);
4193
4194 #[doc = "Interrupts are generated."]
4195 pub const _1: Self = Self::new(1);
4196 }
4197}
4198#[doc(hidden)]
4199#[derive(Copy, Clone, Eq, PartialEq)]
4200pub struct Bempsts_SPEC;
4201impl crate::sealed::RegSpec for Bempsts_SPEC {
4202 type DataType = u16;
4203}
4204
4205#[doc = "BEMP Interrupt Status Register"]
4206pub type Bempsts = crate::RegValueT<Bempsts_SPEC>;
4207
4208impl Bempsts {
4209 #[doc = "These bits are read as 000000. The write value should be 000000."]
4210 #[inline(always)]
4211 pub fn reserved(
4212 self,
4213 ) -> crate::common::RegisterField<10, 0x3f, 1, 0, u8, u8, Bempsts_SPEC, crate::common::RW> {
4214 crate::common::RegisterField::<10,0x3f,1,0,u8,u8,Bempsts_SPEC,crate::common::RW>::from_register(self,0)
4215 }
4216
4217 #[doc = "BEMP Interrupt Status for PIPE9"]
4218 #[inline(always)]
4219 pub fn pipe9bemp(
4220 self,
4221 ) -> crate::common::RegisterField<
4222 9,
4223 0x1,
4224 1,
4225 0,
4226 bempsts::Pipe9Bemp,
4227 bempsts::Pipe9Bemp,
4228 Bempsts_SPEC,
4229 crate::common::RW,
4230 > {
4231 crate::common::RegisterField::<
4232 9,
4233 0x1,
4234 1,
4235 0,
4236 bempsts::Pipe9Bemp,
4237 bempsts::Pipe9Bemp,
4238 Bempsts_SPEC,
4239 crate::common::RW,
4240 >::from_register(self, 0)
4241 }
4242
4243 #[doc = "BEMP Interrupt Status for PIPE8"]
4244 #[inline(always)]
4245 pub fn pipe8bemp(
4246 self,
4247 ) -> crate::common::RegisterField<
4248 8,
4249 0x1,
4250 1,
4251 0,
4252 bempsts::Pipe8Bemp,
4253 bempsts::Pipe8Bemp,
4254 Bempsts_SPEC,
4255 crate::common::RW,
4256 > {
4257 crate::common::RegisterField::<
4258 8,
4259 0x1,
4260 1,
4261 0,
4262 bempsts::Pipe8Bemp,
4263 bempsts::Pipe8Bemp,
4264 Bempsts_SPEC,
4265 crate::common::RW,
4266 >::from_register(self, 0)
4267 }
4268
4269 #[doc = "BEMP Interrupt Status for PIPE7"]
4270 #[inline(always)]
4271 pub fn pipe7bemp(
4272 self,
4273 ) -> crate::common::RegisterField<
4274 7,
4275 0x1,
4276 1,
4277 0,
4278 bempsts::Pipe7Bemp,
4279 bempsts::Pipe7Bemp,
4280 Bempsts_SPEC,
4281 crate::common::RW,
4282 > {
4283 crate::common::RegisterField::<
4284 7,
4285 0x1,
4286 1,
4287 0,
4288 bempsts::Pipe7Bemp,
4289 bempsts::Pipe7Bemp,
4290 Bempsts_SPEC,
4291 crate::common::RW,
4292 >::from_register(self, 0)
4293 }
4294
4295 #[doc = "BEMP Interrupt Status for PIPE6"]
4296 #[inline(always)]
4297 pub fn pipe6bemp(
4298 self,
4299 ) -> crate::common::RegisterField<
4300 6,
4301 0x1,
4302 1,
4303 0,
4304 bempsts::Pipe6Bemp,
4305 bempsts::Pipe6Bemp,
4306 Bempsts_SPEC,
4307 crate::common::RW,
4308 > {
4309 crate::common::RegisterField::<
4310 6,
4311 0x1,
4312 1,
4313 0,
4314 bempsts::Pipe6Bemp,
4315 bempsts::Pipe6Bemp,
4316 Bempsts_SPEC,
4317 crate::common::RW,
4318 >::from_register(self, 0)
4319 }
4320
4321 #[doc = "BEMP Interrupt Status for PIPE5"]
4322 #[inline(always)]
4323 pub fn pipe5bemp(
4324 self,
4325 ) -> crate::common::RegisterField<
4326 5,
4327 0x1,
4328 1,
4329 0,
4330 bempsts::Pipe5Bemp,
4331 bempsts::Pipe5Bemp,
4332 Bempsts_SPEC,
4333 crate::common::RW,
4334 > {
4335 crate::common::RegisterField::<
4336 5,
4337 0x1,
4338 1,
4339 0,
4340 bempsts::Pipe5Bemp,
4341 bempsts::Pipe5Bemp,
4342 Bempsts_SPEC,
4343 crate::common::RW,
4344 >::from_register(self, 0)
4345 }
4346
4347 #[doc = "BEMP Interrupt Status for PIPE4"]
4348 #[inline(always)]
4349 pub fn pipe4bemp(
4350 self,
4351 ) -> crate::common::RegisterField<
4352 4,
4353 0x1,
4354 1,
4355 0,
4356 bempsts::Pipe4Bemp,
4357 bempsts::Pipe4Bemp,
4358 Bempsts_SPEC,
4359 crate::common::RW,
4360 > {
4361 crate::common::RegisterField::<
4362 4,
4363 0x1,
4364 1,
4365 0,
4366 bempsts::Pipe4Bemp,
4367 bempsts::Pipe4Bemp,
4368 Bempsts_SPEC,
4369 crate::common::RW,
4370 >::from_register(self, 0)
4371 }
4372
4373 #[doc = "BEMP Interrupt Status for PIPE3"]
4374 #[inline(always)]
4375 pub fn pipe3bemp(
4376 self,
4377 ) -> crate::common::RegisterField<
4378 3,
4379 0x1,
4380 1,
4381 0,
4382 bempsts::Pipe3Bemp,
4383 bempsts::Pipe3Bemp,
4384 Bempsts_SPEC,
4385 crate::common::RW,
4386 > {
4387 crate::common::RegisterField::<
4388 3,
4389 0x1,
4390 1,
4391 0,
4392 bempsts::Pipe3Bemp,
4393 bempsts::Pipe3Bemp,
4394 Bempsts_SPEC,
4395 crate::common::RW,
4396 >::from_register(self, 0)
4397 }
4398
4399 #[doc = "BEMP Interrupt Status for PIPE2"]
4400 #[inline(always)]
4401 pub fn pipe2bemp(
4402 self,
4403 ) -> crate::common::RegisterField<
4404 2,
4405 0x1,
4406 1,
4407 0,
4408 bempsts::Pipe2Bemp,
4409 bempsts::Pipe2Bemp,
4410 Bempsts_SPEC,
4411 crate::common::RW,
4412 > {
4413 crate::common::RegisterField::<
4414 2,
4415 0x1,
4416 1,
4417 0,
4418 bempsts::Pipe2Bemp,
4419 bempsts::Pipe2Bemp,
4420 Bempsts_SPEC,
4421 crate::common::RW,
4422 >::from_register(self, 0)
4423 }
4424
4425 #[doc = "BEMP Interrupt Status for PIPE1"]
4426 #[inline(always)]
4427 pub fn pipe1bemp(
4428 self,
4429 ) -> crate::common::RegisterField<
4430 1,
4431 0x1,
4432 1,
4433 0,
4434 bempsts::Pipe1Bemp,
4435 bempsts::Pipe1Bemp,
4436 Bempsts_SPEC,
4437 crate::common::RW,
4438 > {
4439 crate::common::RegisterField::<
4440 1,
4441 0x1,
4442 1,
4443 0,
4444 bempsts::Pipe1Bemp,
4445 bempsts::Pipe1Bemp,
4446 Bempsts_SPEC,
4447 crate::common::RW,
4448 >::from_register(self, 0)
4449 }
4450
4451 #[doc = "BEMP Interrupt Status for PIPE0"]
4452 #[inline(always)]
4453 pub fn pipe0bemp(
4454 self,
4455 ) -> crate::common::RegisterField<
4456 0,
4457 0x1,
4458 1,
4459 0,
4460 bempsts::Pipe0Bemp,
4461 bempsts::Pipe0Bemp,
4462 Bempsts_SPEC,
4463 crate::common::RW,
4464 > {
4465 crate::common::RegisterField::<
4466 0,
4467 0x1,
4468 1,
4469 0,
4470 bempsts::Pipe0Bemp,
4471 bempsts::Pipe0Bemp,
4472 Bempsts_SPEC,
4473 crate::common::RW,
4474 >::from_register(self, 0)
4475 }
4476}
4477impl ::core::default::Default for Bempsts {
4478 #[inline(always)]
4479 fn default() -> Bempsts {
4480 <crate::RegValueT<Bempsts_SPEC> as RegisterValue<_>>::new(0)
4481 }
4482}
4483pub mod bempsts {
4484
4485 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4486 pub struct Pipe9Bemp_SPEC;
4487 pub type Pipe9Bemp = crate::EnumBitfieldStruct<u8, Pipe9Bemp_SPEC>;
4488 impl Pipe9Bemp {
4489 #[doc = "Interrupts are not generated."]
4490 pub const _0: Self = Self::new(0);
4491
4492 #[doc = "Interrupts are generated."]
4493 pub const _1: Self = Self::new(1);
4494 }
4495 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4496 pub struct Pipe8Bemp_SPEC;
4497 pub type Pipe8Bemp = crate::EnumBitfieldStruct<u8, Pipe8Bemp_SPEC>;
4498 impl Pipe8Bemp {
4499 #[doc = "Interrupts are not generated."]
4500 pub const _0: Self = Self::new(0);
4501
4502 #[doc = "Interrupts are generated."]
4503 pub const _1: Self = Self::new(1);
4504 }
4505 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4506 pub struct Pipe7Bemp_SPEC;
4507 pub type Pipe7Bemp = crate::EnumBitfieldStruct<u8, Pipe7Bemp_SPEC>;
4508 impl Pipe7Bemp {
4509 #[doc = "Interrupts are not generated."]
4510 pub const _0: Self = Self::new(0);
4511
4512 #[doc = "Interrupts are generated."]
4513 pub const _1: Self = Self::new(1);
4514 }
4515 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4516 pub struct Pipe6Bemp_SPEC;
4517 pub type Pipe6Bemp = crate::EnumBitfieldStruct<u8, Pipe6Bemp_SPEC>;
4518 impl Pipe6Bemp {
4519 #[doc = "Interrupts are not generated."]
4520 pub const _0: Self = Self::new(0);
4521
4522 #[doc = "Interrupts are generated."]
4523 pub const _1: Self = Self::new(1);
4524 }
4525 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4526 pub struct Pipe5Bemp_SPEC;
4527 pub type Pipe5Bemp = crate::EnumBitfieldStruct<u8, Pipe5Bemp_SPEC>;
4528 impl Pipe5Bemp {
4529 #[doc = "Interrupts are not generated."]
4530 pub const _0: Self = Self::new(0);
4531
4532 #[doc = "Interrupts are generated."]
4533 pub const _1: Self = Self::new(1);
4534 }
4535 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4536 pub struct Pipe4Bemp_SPEC;
4537 pub type Pipe4Bemp = crate::EnumBitfieldStruct<u8, Pipe4Bemp_SPEC>;
4538 impl Pipe4Bemp {
4539 #[doc = "Interrupts are not generated."]
4540 pub const _0: Self = Self::new(0);
4541
4542 #[doc = "Interrupts are generated."]
4543 pub const _1: Self = Self::new(1);
4544 }
4545 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4546 pub struct Pipe3Bemp_SPEC;
4547 pub type Pipe3Bemp = crate::EnumBitfieldStruct<u8, Pipe3Bemp_SPEC>;
4548 impl Pipe3Bemp {
4549 #[doc = "Interrupts are not generated."]
4550 pub const _0: Self = Self::new(0);
4551
4552 #[doc = "Interrupts are generated."]
4553 pub const _1: Self = Self::new(1);
4554 }
4555 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4556 pub struct Pipe2Bemp_SPEC;
4557 pub type Pipe2Bemp = crate::EnumBitfieldStruct<u8, Pipe2Bemp_SPEC>;
4558 impl Pipe2Bemp {
4559 #[doc = "Interrupts are not generated."]
4560 pub const _0: Self = Self::new(0);
4561
4562 #[doc = "Interrupts are generated."]
4563 pub const _1: Self = Self::new(1);
4564 }
4565 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4566 pub struct Pipe1Bemp_SPEC;
4567 pub type Pipe1Bemp = crate::EnumBitfieldStruct<u8, Pipe1Bemp_SPEC>;
4568 impl Pipe1Bemp {
4569 #[doc = "Interrupts are not generated."]
4570 pub const _0: Self = Self::new(0);
4571
4572 #[doc = "Interrupts are generated."]
4573 pub const _1: Self = Self::new(1);
4574 }
4575 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4576 pub struct Pipe0Bemp_SPEC;
4577 pub type Pipe0Bemp = crate::EnumBitfieldStruct<u8, Pipe0Bemp_SPEC>;
4578 impl Pipe0Bemp {
4579 #[doc = "Interrupts are not generated."]
4580 pub const _0: Self = Self::new(0);
4581
4582 #[doc = "Interrupts are generated."]
4583 pub const _1: Self = Self::new(1);
4584 }
4585}
4586#[doc(hidden)]
4587#[derive(Copy, Clone, Eq, PartialEq)]
4588pub struct Frmnum_SPEC;
4589impl crate::sealed::RegSpec for Frmnum_SPEC {
4590 type DataType = u16;
4591}
4592
4593#[doc = "Frame Number Register"]
4594pub type Frmnum = crate::RegValueT<Frmnum_SPEC>;
4595
4596impl Frmnum {
4597 #[doc = "Overrun/Underrun Detection Status"]
4598 #[inline(always)]
4599 pub fn ovrn(
4600 self,
4601 ) -> crate::common::RegisterField<
4602 15,
4603 0x1,
4604 1,
4605 0,
4606 frmnum::Ovrn,
4607 frmnum::Ovrn,
4608 Frmnum_SPEC,
4609 crate::common::RW,
4610 > {
4611 crate::common::RegisterField::<
4612 15,
4613 0x1,
4614 1,
4615 0,
4616 frmnum::Ovrn,
4617 frmnum::Ovrn,
4618 Frmnum_SPEC,
4619 crate::common::RW,
4620 >::from_register(self, 0)
4621 }
4622
4623 #[doc = "Receive Data Error"]
4624 #[inline(always)]
4625 pub fn crce(
4626 self,
4627 ) -> crate::common::RegisterField<
4628 14,
4629 0x1,
4630 1,
4631 0,
4632 frmnum::Crce,
4633 frmnum::Crce,
4634 Frmnum_SPEC,
4635 crate::common::RW,
4636 > {
4637 crate::common::RegisterField::<
4638 14,
4639 0x1,
4640 1,
4641 0,
4642 frmnum::Crce,
4643 frmnum::Crce,
4644 Frmnum_SPEC,
4645 crate::common::RW,
4646 >::from_register(self, 0)
4647 }
4648
4649 #[doc = "These bits are read as 000. The write value should be 000."]
4650 #[inline(always)]
4651 pub fn reserved(
4652 self,
4653 ) -> crate::common::RegisterField<11, 0x7, 1, 0, u8, u8, Frmnum_SPEC, crate::common::RW> {
4654 crate::common::RegisterField::<11,0x7,1,0,u8,u8,Frmnum_SPEC,crate::common::RW>::from_register(self,0)
4655 }
4656
4657 #[doc = "Frame NumberLatest frame number"]
4658 #[inline(always)]
4659 pub fn frnm(
4660 self,
4661 ) -> crate::common::RegisterField<0, 0x7ff, 1, 0, u16, u16, Frmnum_SPEC, crate::common::R> {
4662 crate::common::RegisterField::<0,0x7ff,1,0,u16,u16,Frmnum_SPEC,crate::common::R>::from_register(self,0)
4663 }
4664}
4665impl ::core::default::Default for Frmnum {
4666 #[inline(always)]
4667 fn default() -> Frmnum {
4668 <crate::RegValueT<Frmnum_SPEC> as RegisterValue<_>>::new(0)
4669 }
4670}
4671pub mod frmnum {
4672
4673 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4674 pub struct Ovrn_SPEC;
4675 pub type Ovrn = crate::EnumBitfieldStruct<u8, Ovrn_SPEC>;
4676 impl Ovrn {
4677 #[doc = "No error"]
4678 pub const _0: Self = Self::new(0);
4679
4680 #[doc = "An error occurred"]
4681 pub const _1: Self = Self::new(1);
4682 }
4683 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4684 pub struct Crce_SPEC;
4685 pub type Crce = crate::EnumBitfieldStruct<u8, Crce_SPEC>;
4686 impl Crce {
4687 #[doc = "No error"]
4688 pub const _0: Self = Self::new(0);
4689
4690 #[doc = "An error occurred"]
4691 pub const _1: Self = Self::new(1);
4692 }
4693}
4694#[doc(hidden)]
4695#[derive(Copy, Clone, Eq, PartialEq)]
4696pub struct Usbreq_SPEC;
4697impl crate::sealed::RegSpec for Usbreq_SPEC {
4698 type DataType = u16;
4699}
4700
4701#[doc = "USB Request Type Register"]
4702pub type Usbreq = crate::RegValueT<Usbreq_SPEC>;
4703
4704impl Usbreq {
4705 #[doc = "RequestThese bits store the USB request bRequest value."]
4706 #[inline(always)]
4707 pub fn brequest(
4708 self,
4709 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, Usbreq_SPEC, crate::common::R> {
4710 crate::common::RegisterField::<8,0xff,1,0,u8,u8,Usbreq_SPEC,crate::common::R>::from_register(self,0)
4711 }
4712
4713 #[doc = "Request TypeThese bits store the USB request bmRequestType value."]
4714 #[inline(always)]
4715 pub fn bmrequesttype(
4716 self,
4717 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Usbreq_SPEC, crate::common::R> {
4718 crate::common::RegisterField::<0,0xff,1,0,u8,u8,Usbreq_SPEC,crate::common::R>::from_register(self,0)
4719 }
4720}
4721impl ::core::default::Default for Usbreq {
4722 #[inline(always)]
4723 fn default() -> Usbreq {
4724 <crate::RegValueT<Usbreq_SPEC> as RegisterValue<_>>::new(0)
4725 }
4726}
4727
4728#[doc(hidden)]
4729#[derive(Copy, Clone, Eq, PartialEq)]
4730pub struct Usbval_SPEC;
4731impl crate::sealed::RegSpec for Usbval_SPEC {
4732 type DataType = u16;
4733}
4734
4735#[doc = "USB Request Value Register"]
4736pub type Usbval = crate::RegValueT<Usbval_SPEC>;
4737
4738impl Usbval {
4739 #[doc = "ValueThese bits store the USB request wValue value."]
4740 #[inline(always)]
4741 pub fn wvalue(
4742 self,
4743 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Usbval_SPEC, crate::common::R>
4744 {
4745 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Usbval_SPEC,crate::common::R>::from_register(self,0)
4746 }
4747}
4748impl ::core::default::Default for Usbval {
4749 #[inline(always)]
4750 fn default() -> Usbval {
4751 <crate::RegValueT<Usbval_SPEC> as RegisterValue<_>>::new(0)
4752 }
4753}
4754
4755#[doc(hidden)]
4756#[derive(Copy, Clone, Eq, PartialEq)]
4757pub struct Usbindx_SPEC;
4758impl crate::sealed::RegSpec for Usbindx_SPEC {
4759 type DataType = u16;
4760}
4761
4762#[doc = "USB Request Index Register"]
4763pub type Usbindx = crate::RegValueT<Usbindx_SPEC>;
4764
4765impl Usbindx {
4766 #[doc = "IndexThese bits store the USB request wIndex value."]
4767 #[inline(always)]
4768 pub fn windex(
4769 self,
4770 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Usbindx_SPEC, crate::common::R>
4771 {
4772 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Usbindx_SPEC,crate::common::R>::from_register(self,0)
4773 }
4774}
4775impl ::core::default::Default for Usbindx {
4776 #[inline(always)]
4777 fn default() -> Usbindx {
4778 <crate::RegValueT<Usbindx_SPEC> as RegisterValue<_>>::new(0)
4779 }
4780}
4781
4782#[doc(hidden)]
4783#[derive(Copy, Clone, Eq, PartialEq)]
4784pub struct Usbleng_SPEC;
4785impl crate::sealed::RegSpec for Usbleng_SPEC {
4786 type DataType = u16;
4787}
4788
4789#[doc = "USB Request Length Register"]
4790pub type Usbleng = crate::RegValueT<Usbleng_SPEC>;
4791
4792impl Usbleng {
4793 #[doc = "LengthThese bits store the USB request wLength value."]
4794 #[inline(always)]
4795 pub fn wlengtuh(
4796 self,
4797 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Usbleng_SPEC, crate::common::R>
4798 {
4799 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Usbleng_SPEC,crate::common::R>::from_register(self,0)
4800 }
4801}
4802impl ::core::default::Default for Usbleng {
4803 #[inline(always)]
4804 fn default() -> Usbleng {
4805 <crate::RegValueT<Usbleng_SPEC> as RegisterValue<_>>::new(0)
4806 }
4807}
4808
4809#[doc(hidden)]
4810#[derive(Copy, Clone, Eq, PartialEq)]
4811pub struct Dcpcfg_SPEC;
4812impl crate::sealed::RegSpec for Dcpcfg_SPEC {
4813 type DataType = u16;
4814}
4815
4816#[doc = "DCP Configuration Register"]
4817pub type Dcpcfg = crate::RegValueT<Dcpcfg_SPEC>;
4818
4819impl Dcpcfg {
4820 #[doc = "Pipe Disabled at End of Transfer"]
4821 #[inline(always)]
4822 pub fn shtnak(
4823 self,
4824 ) -> crate::common::RegisterField<
4825 7,
4826 0x1,
4827 1,
4828 0,
4829 dcpcfg::Shtnak,
4830 dcpcfg::Shtnak,
4831 Dcpcfg_SPEC,
4832 crate::common::RW,
4833 > {
4834 crate::common::RegisterField::<
4835 7,
4836 0x1,
4837 1,
4838 0,
4839 dcpcfg::Shtnak,
4840 dcpcfg::Shtnak,
4841 Dcpcfg_SPEC,
4842 crate::common::RW,
4843 >::from_register(self, 0)
4844 }
4845
4846 #[doc = "Transfer Direction"]
4847 #[inline(always)]
4848 pub fn dir(
4849 self,
4850 ) -> crate::common::RegisterField<
4851 4,
4852 0x1,
4853 1,
4854 0,
4855 dcpcfg::Dir,
4856 dcpcfg::Dir,
4857 Dcpcfg_SPEC,
4858 crate::common::RW,
4859 > {
4860 crate::common::RegisterField::<
4861 4,
4862 0x1,
4863 1,
4864 0,
4865 dcpcfg::Dir,
4866 dcpcfg::Dir,
4867 Dcpcfg_SPEC,
4868 crate::common::RW,
4869 >::from_register(self, 0)
4870 }
4871
4872 #[doc = "These bits are read as 0000. The write value should be 0000."]
4873 #[inline(always)]
4874 pub fn reserved(
4875 self,
4876 ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Dcpcfg_SPEC, crate::common::RW> {
4877 crate::common::RegisterField::<0,0xf,1,0,u8,u8,Dcpcfg_SPEC,crate::common::RW>::from_register(self,0)
4878 }
4879}
4880impl ::core::default::Default for Dcpcfg {
4881 #[inline(always)]
4882 fn default() -> Dcpcfg {
4883 <crate::RegValueT<Dcpcfg_SPEC> as RegisterValue<_>>::new(0)
4884 }
4885}
4886pub mod dcpcfg {
4887
4888 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4889 pub struct Shtnak_SPEC;
4890 pub type Shtnak = crate::EnumBitfieldStruct<u8, Shtnak_SPEC>;
4891 impl Shtnak {
4892 #[doc = "Pipe continued at the end of transfer"]
4893 pub const _0: Self = Self::new(0);
4894
4895 #[doc = "Pipe disabled at the end of transfer"]
4896 pub const _1: Self = Self::new(1);
4897 }
4898 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4899 pub struct Dir_SPEC;
4900 pub type Dir = crate::EnumBitfieldStruct<u8, Dir_SPEC>;
4901 impl Dir {
4902 #[doc = "Data receiving direction"]
4903 pub const _0: Self = Self::new(0);
4904
4905 #[doc = "Data transmitting direction"]
4906 pub const _1: Self = Self::new(1);
4907 }
4908}
4909#[doc(hidden)]
4910#[derive(Copy, Clone, Eq, PartialEq)]
4911pub struct Dcpmaxp_SPEC;
4912impl crate::sealed::RegSpec for Dcpmaxp_SPEC {
4913 type DataType = u16;
4914}
4915
4916#[doc = "DCP Maximum Packet Size Register"]
4917pub type Dcpmaxp = crate::RegValueT<Dcpmaxp_SPEC>;
4918
4919impl Dcpmaxp {
4920 #[doc = "Device Select"]
4921 #[inline(always)]
4922 pub fn devsel(
4923 self,
4924 ) -> crate::common::RegisterField<
4925 12,
4926 0xf,
4927 1,
4928 0,
4929 dcpmaxp::Devsel,
4930 dcpmaxp::Devsel,
4931 Dcpmaxp_SPEC,
4932 crate::common::RW,
4933 > {
4934 crate::common::RegisterField::<
4935 12,
4936 0xf,
4937 1,
4938 0,
4939 dcpmaxp::Devsel,
4940 dcpmaxp::Devsel,
4941 Dcpmaxp_SPEC,
4942 crate::common::RW,
4943 >::from_register(self, 0)
4944 }
4945
4946 #[doc = "These bits are read as 00000. The write value should be 00000."]
4947 #[inline(always)]
4948 pub fn reserved(
4949 self,
4950 ) -> crate::common::RegisterField<7, 0x1f, 1, 0, u8, u8, Dcpmaxp_SPEC, crate::common::RW> {
4951 crate::common::RegisterField::<7,0x1f,1,0,u8,u8,Dcpmaxp_SPEC,crate::common::RW>::from_register(self,0)
4952 }
4953
4954 #[doc = "Maximum Packet SizeThese bits set the maximum amount of data (maximum packet size) in payloads for the DCP."]
4955 #[inline(always)]
4956 pub fn mxps(
4957 self,
4958 ) -> crate::common::RegisterField<
4959 0,
4960 0x7f,
4961 1,
4962 0,
4963 dcpmaxp::Mxps,
4964 dcpmaxp::Mxps,
4965 Dcpmaxp_SPEC,
4966 crate::common::RW,
4967 > {
4968 crate::common::RegisterField::<
4969 0,
4970 0x7f,
4971 1,
4972 0,
4973 dcpmaxp::Mxps,
4974 dcpmaxp::Mxps,
4975 Dcpmaxp_SPEC,
4976 crate::common::RW,
4977 >::from_register(self, 0)
4978 }
4979}
4980impl ::core::default::Default for Dcpmaxp {
4981 #[inline(always)]
4982 fn default() -> Dcpmaxp {
4983 <crate::RegValueT<Dcpmaxp_SPEC> as RegisterValue<_>>::new(64)
4984 }
4985}
4986pub mod dcpmaxp {
4987
4988 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4989 pub struct Devsel_SPEC;
4990 pub type Devsel = crate::EnumBitfieldStruct<u8, Devsel_SPEC>;
4991 impl Devsel {
4992 #[doc = "Address 0000"]
4993 pub const _0000: Self = Self::new(0);
4994
4995 #[doc = "Address 0001"]
4996 pub const _0001: Self = Self::new(1);
4997
4998 #[doc = "Address 0010"]
4999 pub const _0010: Self = Self::new(2);
5000
5001 #[doc = "Address 0011"]
5002 pub const _0011: Self = Self::new(3);
5003
5004 #[doc = "Address 0100"]
5005 pub const _0100: Self = Self::new(4);
5006
5007 #[doc = "Address 0101"]
5008 pub const _0101: Self = Self::new(5);
5009 }
5010 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5011 pub struct Mxps_SPEC;
5012 pub type Mxps = crate::EnumBitfieldStruct<u8, Mxps_SPEC>;
5013 impl Mxps {
5014 #[doc = "8bytes"]
5015 pub const _0001000: Self = Self::new(8);
5016
5017 #[doc = "16bytes"]
5018 pub const _0010000: Self = Self::new(16);
5019
5020 #[doc = "24bytes"]
5021 pub const _0011000: Self = Self::new(24);
5022
5023 #[doc = "32bytes"]
5024 pub const _0100000: Self = Self::new(32);
5025
5026 #[doc = "40bytes"]
5027 pub const _0101000: Self = Self::new(40);
5028
5029 #[doc = "48bytes"]
5030 pub const _0110000: Self = Self::new(48);
5031
5032 #[doc = "56bytes"]
5033 pub const _0111000: Self = Self::new(56);
5034
5035 #[doc = "64bytes"]
5036 pub const _1000000: Self = Self::new(64);
5037
5038 #[doc = "72bytes"]
5039 pub const _1001000: Self = Self::new(72);
5040
5041 #[doc = "80bytes"]
5042 pub const _1010000: Self = Self::new(80);
5043
5044 #[doc = "88bytes"]
5045 pub const _1011000: Self = Self::new(88);
5046
5047 #[doc = "96bytes"]
5048 pub const _1100000: Self = Self::new(96);
5049
5050 #[doc = "104bytes"]
5051 pub const _1101000: Self = Self::new(104);
5052
5053 #[doc = "112bytes"]
5054 pub const _1110000: Self = Self::new(112);
5055
5056 #[doc = "120bytes"]
5057 pub const _1111000: Self = Self::new(120);
5058 }
5059}
5060#[doc(hidden)]
5061#[derive(Copy, Clone, Eq, PartialEq)]
5062pub struct Dcpctr_SPEC;
5063impl crate::sealed::RegSpec for Dcpctr_SPEC {
5064 type DataType = u16;
5065}
5066
5067#[doc = "DCP Control Register"]
5068pub type Dcpctr = crate::RegValueT<Dcpctr_SPEC>;
5069
5070impl Dcpctr {
5071 #[doc = "Buffer Status"]
5072 #[inline(always)]
5073 pub fn bsts(
5074 self,
5075 ) -> crate::common::RegisterField<
5076 15,
5077 0x1,
5078 1,
5079 0,
5080 dcpctr::Bsts,
5081 dcpctr::Bsts,
5082 Dcpctr_SPEC,
5083 crate::common::R,
5084 > {
5085 crate::common::RegisterField::<
5086 15,
5087 0x1,
5088 1,
5089 0,
5090 dcpctr::Bsts,
5091 dcpctr::Bsts,
5092 Dcpctr_SPEC,
5093 crate::common::R,
5094 >::from_register(self, 0)
5095 }
5096
5097 #[doc = "Setup Token Transmission"]
5098 #[inline(always)]
5099 pub fn sureq(
5100 self,
5101 ) -> crate::common::RegisterField<
5102 14,
5103 0x1,
5104 1,
5105 0,
5106 dcpctr::Sureq,
5107 dcpctr::Sureq,
5108 Dcpctr_SPEC,
5109 crate::common::RW,
5110 > {
5111 crate::common::RegisterField::<
5112 14,
5113 0x1,
5114 1,
5115 0,
5116 dcpctr::Sureq,
5117 dcpctr::Sureq,
5118 Dcpctr_SPEC,
5119 crate::common::RW,
5120 >::from_register(self, 0)
5121 }
5122
5123 #[doc = "SUREQ Bit Clear"]
5124 #[inline(always)]
5125 pub fn sureqclr(
5126 self,
5127 ) -> crate::common::RegisterField<
5128 11,
5129 0x1,
5130 1,
5131 0,
5132 dcpctr::Sureqclr,
5133 dcpctr::Sureqclr,
5134 Dcpctr_SPEC,
5135 crate::common::RW,
5136 > {
5137 crate::common::RegisterField::<
5138 11,
5139 0x1,
5140 1,
5141 0,
5142 dcpctr::Sureqclr,
5143 dcpctr::Sureqclr,
5144 Dcpctr_SPEC,
5145 crate::common::RW,
5146 >::from_register(self, 0)
5147 }
5148
5149 #[doc = "Sequence Toggle Bit Clear"]
5150 #[inline(always)]
5151 pub fn sqclr(
5152 self,
5153 ) -> crate::common::RegisterField<
5154 8,
5155 0x1,
5156 1,
5157 0,
5158 dcpctr::Sqclr,
5159 dcpctr::Sqclr,
5160 Dcpctr_SPEC,
5161 crate::common::W,
5162 > {
5163 crate::common::RegisterField::<
5164 8,
5165 0x1,
5166 1,
5167 0,
5168 dcpctr::Sqclr,
5169 dcpctr::Sqclr,
5170 Dcpctr_SPEC,
5171 crate::common::W,
5172 >::from_register(self, 0)
5173 }
5174
5175 #[doc = "Sequence Toggle Bit Set"]
5176 #[inline(always)]
5177 pub fn sqset(
5178 self,
5179 ) -> crate::common::RegisterField<
5180 7,
5181 0x1,
5182 1,
5183 0,
5184 dcpctr::Sqset,
5185 dcpctr::Sqset,
5186 Dcpctr_SPEC,
5187 crate::common::W,
5188 > {
5189 crate::common::RegisterField::<
5190 7,
5191 0x1,
5192 1,
5193 0,
5194 dcpctr::Sqset,
5195 dcpctr::Sqset,
5196 Dcpctr_SPEC,
5197 crate::common::W,
5198 >::from_register(self, 0)
5199 }
5200
5201 #[doc = "Sequence Toggle Bit Monitor"]
5202 #[inline(always)]
5203 pub fn sqmon(
5204 self,
5205 ) -> crate::common::RegisterField<
5206 6,
5207 0x1,
5208 1,
5209 0,
5210 dcpctr::Sqmon,
5211 dcpctr::Sqmon,
5212 Dcpctr_SPEC,
5213 crate::common::R,
5214 > {
5215 crate::common::RegisterField::<
5216 6,
5217 0x1,
5218 1,
5219 0,
5220 dcpctr::Sqmon,
5221 dcpctr::Sqmon,
5222 Dcpctr_SPEC,
5223 crate::common::R,
5224 >::from_register(self, 0)
5225 }
5226
5227 #[doc = "Pipe Busy"]
5228 #[inline(always)]
5229 pub fn pbusy(
5230 self,
5231 ) -> crate::common::RegisterField<
5232 5,
5233 0x1,
5234 1,
5235 0,
5236 dcpctr::Pbusy,
5237 dcpctr::Pbusy,
5238 Dcpctr_SPEC,
5239 crate::common::R,
5240 > {
5241 crate::common::RegisterField::<
5242 5,
5243 0x1,
5244 1,
5245 0,
5246 dcpctr::Pbusy,
5247 dcpctr::Pbusy,
5248 Dcpctr_SPEC,
5249 crate::common::R,
5250 >::from_register(self, 0)
5251 }
5252
5253 #[doc = "These bits are read as 00. The write value should be 00."]
5254 #[inline(always)]
5255 pub fn reserved(
5256 self,
5257 ) -> crate::common::RegisterField<3, 0x3, 1, 0, u8, u8, Dcpctr_SPEC, crate::common::RW> {
5258 crate::common::RegisterField::<3,0x3,1,0,u8,u8,Dcpctr_SPEC,crate::common::RW>::from_register(self,0)
5259 }
5260
5261 #[doc = "Control Transfer End Enable"]
5262 #[inline(always)]
5263 pub fn ccpl(
5264 self,
5265 ) -> crate::common::RegisterField<
5266 2,
5267 0x1,
5268 1,
5269 0,
5270 dcpctr::Ccpl,
5271 dcpctr::Ccpl,
5272 Dcpctr_SPEC,
5273 crate::common::RW,
5274 > {
5275 crate::common::RegisterField::<
5276 2,
5277 0x1,
5278 1,
5279 0,
5280 dcpctr::Ccpl,
5281 dcpctr::Ccpl,
5282 Dcpctr_SPEC,
5283 crate::common::RW,
5284 >::from_register(self, 0)
5285 }
5286
5287 #[doc = "Response PID"]
5288 #[inline(always)]
5289 pub fn pid(
5290 self,
5291 ) -> crate::common::RegisterField<
5292 0,
5293 0x3,
5294 1,
5295 0,
5296 dcpctr::Pid,
5297 dcpctr::Pid,
5298 Dcpctr_SPEC,
5299 crate::common::RW,
5300 > {
5301 crate::common::RegisterField::<
5302 0,
5303 0x3,
5304 1,
5305 0,
5306 dcpctr::Pid,
5307 dcpctr::Pid,
5308 Dcpctr_SPEC,
5309 crate::common::RW,
5310 >::from_register(self, 0)
5311 }
5312}
5313impl ::core::default::Default for Dcpctr {
5314 #[inline(always)]
5315 fn default() -> Dcpctr {
5316 <crate::RegValueT<Dcpctr_SPEC> as RegisterValue<_>>::new(64)
5317 }
5318}
5319pub mod dcpctr {
5320
5321 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5322 pub struct Bsts_SPEC;
5323 pub type Bsts = crate::EnumBitfieldStruct<u8, Bsts_SPEC>;
5324 impl Bsts {
5325 #[doc = "Buffer access is disabled."]
5326 pub const _0: Self = Self::new(0);
5327
5328 #[doc = "Buffer access is enabled."]
5329 pub const _1: Self = Self::new(1);
5330 }
5331 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5332 pub struct Sureq_SPEC;
5333 pub type Sureq = crate::EnumBitfieldStruct<u8, Sureq_SPEC>;
5334 impl Sureq {
5335 #[doc = "Invalid"]
5336 pub const _0: Self = Self::new(0);
5337
5338 #[doc = "Transmits the setup packet."]
5339 pub const _1: Self = Self::new(1);
5340 }
5341 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5342 pub struct Sureqclr_SPEC;
5343 pub type Sureqclr = crate::EnumBitfieldStruct<u8, Sureqclr_SPEC>;
5344 impl Sureqclr {
5345 #[doc = "Invalid"]
5346 pub const _0: Self = Self::new(0);
5347
5348 #[doc = "Clears the SUREQ bit to 0."]
5349 pub const _1: Self = Self::new(1);
5350 }
5351 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5352 pub struct Sqclr_SPEC;
5353 pub type Sqclr = crate::EnumBitfieldStruct<u8, Sqclr_SPEC>;
5354 impl Sqclr {
5355 #[doc = "Invalid"]
5356 pub const _0: Self = Self::new(0);
5357
5358 #[doc = "Specifies DATA0."]
5359 pub const _1: Self = Self::new(1);
5360 }
5361 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5362 pub struct Sqset_SPEC;
5363 pub type Sqset = crate::EnumBitfieldStruct<u8, Sqset_SPEC>;
5364 impl Sqset {
5365 #[doc = "Invalid"]
5366 pub const _0: Self = Self::new(0);
5367
5368 #[doc = "Specifies DATA1."]
5369 pub const _1: Self = Self::new(1);
5370 }
5371 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5372 pub struct Sqmon_SPEC;
5373 pub type Sqmon = crate::EnumBitfieldStruct<u8, Sqmon_SPEC>;
5374 impl Sqmon {
5375 #[doc = "DATA0"]
5376 pub const _0: Self = Self::new(0);
5377
5378 #[doc = "DATA1"]
5379 pub const _1: Self = Self::new(1);
5380 }
5381 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5382 pub struct Pbusy_SPEC;
5383 pub type Pbusy = crate::EnumBitfieldStruct<u8, Pbusy_SPEC>;
5384 impl Pbusy {
5385 #[doc = "DCP is not used for the transaction."]
5386 pub const _0: Self = Self::new(0);
5387
5388 #[doc = "DCP is used for the transaction."]
5389 pub const _1: Self = Self::new(1);
5390 }
5391 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5392 pub struct Ccpl_SPEC;
5393 pub type Ccpl = crate::EnumBitfieldStruct<u8, Ccpl_SPEC>;
5394 impl Ccpl {
5395 #[doc = "Invalid"]
5396 pub const _0: Self = Self::new(0);
5397
5398 #[doc = "Completion of control transfer is enabled."]
5399 pub const _1: Self = Self::new(1);
5400 }
5401 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5402 pub struct Pid_SPEC;
5403 pub type Pid = crate::EnumBitfieldStruct<u8, Pid_SPEC>;
5404 impl Pid {
5405 #[doc = "NAK response"]
5406 pub const _00: Self = Self::new(0);
5407
5408 #[doc = "BUF response (depending on the buffer state)"]
5409 pub const _01: Self = Self::new(1);
5410
5411 #[doc = "STALL response"]
5412 pub const _10: Self = Self::new(2);
5413
5414 #[doc = "STALL response"]
5415 pub const _11: Self = Self::new(3);
5416 }
5417}
5418#[doc(hidden)]
5419#[derive(Copy, Clone, Eq, PartialEq)]
5420pub struct Pipesel_SPEC;
5421impl crate::sealed::RegSpec for Pipesel_SPEC {
5422 type DataType = u16;
5423}
5424
5425#[doc = "Pipe Window Select Register"]
5426pub type Pipesel = crate::RegValueT<Pipesel_SPEC>;
5427
5428impl Pipesel {
5429 #[doc = "These bits are read as 000000000000. The write value should be 000000000000."]
5430 #[inline(always)]
5431 pub fn reserved(
5432 self,
5433 ) -> crate::common::RegisterField<4, 0xfff, 1, 0, u16, u16, Pipesel_SPEC, crate::common::RW>
5434 {
5435 crate::common::RegisterField::<4,0xfff,1,0,u16,u16,Pipesel_SPEC,crate::common::RW>::from_register(self,0)
5436 }
5437
5438 #[doc = "Pipe Window Select"]
5439 #[inline(always)]
5440 pub fn pipesel(
5441 self,
5442 ) -> crate::common::RegisterField<
5443 0,
5444 0xf,
5445 1,
5446 0,
5447 pipesel::Pipesel,
5448 pipesel::Pipesel,
5449 Pipesel_SPEC,
5450 crate::common::RW,
5451 > {
5452 crate::common::RegisterField::<
5453 0,
5454 0xf,
5455 1,
5456 0,
5457 pipesel::Pipesel,
5458 pipesel::Pipesel,
5459 Pipesel_SPEC,
5460 crate::common::RW,
5461 >::from_register(self, 0)
5462 }
5463}
5464impl ::core::default::Default for Pipesel {
5465 #[inline(always)]
5466 fn default() -> Pipesel {
5467 <crate::RegValueT<Pipesel_SPEC> as RegisterValue<_>>::new(0)
5468 }
5469}
5470pub mod pipesel {
5471
5472 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5473 pub struct Pipesel_SPEC;
5474 pub type Pipesel = crate::EnumBitfieldStruct<u8, Pipesel_SPEC>;
5475 impl Pipesel {
5476 #[doc = "No pipe selected"]
5477 pub const _0000: Self = Self::new(0);
5478
5479 #[doc = "PIPE4"]
5480 pub const _0100: Self = Self::new(4);
5481
5482 #[doc = "PIPE5"]
5483 pub const _0101: Self = Self::new(5);
5484
5485 #[doc = "PIPE6"]
5486 pub const _0110: Self = Self::new(6);
5487
5488 #[doc = "PIPE7"]
5489 pub const _0111: Self = Self::new(7);
5490 }
5491}
5492#[doc(hidden)]
5493#[derive(Copy, Clone, Eq, PartialEq)]
5494pub struct Pipecfg_SPEC;
5495impl crate::sealed::RegSpec for Pipecfg_SPEC {
5496 type DataType = u16;
5497}
5498
5499#[doc = "Pipe Configuration Register"]
5500pub type Pipecfg = crate::RegValueT<Pipecfg_SPEC>;
5501
5502impl Pipecfg {
5503 #[doc = "Transfer Type"]
5504 #[inline(always)]
5505 pub fn r#type(
5506 self,
5507 ) -> crate::common::RegisterField<
5508 14,
5509 0x3,
5510 1,
5511 0,
5512 pipecfg::Type,
5513 pipecfg::Type,
5514 Pipecfg_SPEC,
5515 crate::common::RW,
5516 > {
5517 crate::common::RegisterField::<
5518 14,
5519 0x3,
5520 1,
5521 0,
5522 pipecfg::Type,
5523 pipecfg::Type,
5524 Pipecfg_SPEC,
5525 crate::common::RW,
5526 >::from_register(self, 0)
5527 }
5528
5529 #[doc = "BRDY Interrupt Operation Specification"]
5530 #[inline(always)]
5531 pub fn bfre(
5532 self,
5533 ) -> crate::common::RegisterField<
5534 10,
5535 0x1,
5536 1,
5537 0,
5538 pipecfg::Bfre,
5539 pipecfg::Bfre,
5540 Pipecfg_SPEC,
5541 crate::common::RW,
5542 > {
5543 crate::common::RegisterField::<
5544 10,
5545 0x1,
5546 1,
5547 0,
5548 pipecfg::Bfre,
5549 pipecfg::Bfre,
5550 Pipecfg_SPEC,
5551 crate::common::RW,
5552 >::from_register(self, 0)
5553 }
5554
5555 #[doc = "Double Buffer Mode"]
5556 #[inline(always)]
5557 pub fn dblb(
5558 self,
5559 ) -> crate::common::RegisterField<
5560 9,
5561 0x1,
5562 1,
5563 0,
5564 pipecfg::Dblb,
5565 pipecfg::Dblb,
5566 Pipecfg_SPEC,
5567 crate::common::RW,
5568 > {
5569 crate::common::RegisterField::<
5570 9,
5571 0x1,
5572 1,
5573 0,
5574 pipecfg::Dblb,
5575 pipecfg::Dblb,
5576 Pipecfg_SPEC,
5577 crate::common::RW,
5578 >::from_register(self, 0)
5579 }
5580
5581 #[doc = "Pipe Disabled at End of Transfer"]
5582 #[inline(always)]
5583 pub fn shtnak(
5584 self,
5585 ) -> crate::common::RegisterField<
5586 7,
5587 0x1,
5588 1,
5589 0,
5590 pipecfg::Shtnak,
5591 pipecfg::Shtnak,
5592 Pipecfg_SPEC,
5593 crate::common::RW,
5594 > {
5595 crate::common::RegisterField::<
5596 7,
5597 0x1,
5598 1,
5599 0,
5600 pipecfg::Shtnak,
5601 pipecfg::Shtnak,
5602 Pipecfg_SPEC,
5603 crate::common::RW,
5604 >::from_register(self, 0)
5605 }
5606
5607 #[doc = "This bit is read as 0. The write value should be 0."]
5608 #[inline(always)]
5609 pub fn reserved(
5610 self,
5611 ) -> crate::common::RegisterFieldBool<5, 1, 0, Pipecfg_SPEC, crate::common::RW> {
5612 crate::common::RegisterFieldBool::<5, 1, 0, Pipecfg_SPEC, crate::common::RW>::from_register(
5613 self, 0,
5614 )
5615 }
5616
5617 #[doc = "Transfer Direction"]
5618 #[inline(always)]
5619 pub fn dir(
5620 self,
5621 ) -> crate::common::RegisterField<
5622 4,
5623 0x1,
5624 1,
5625 0,
5626 pipecfg::Dir,
5627 pipecfg::Dir,
5628 Pipecfg_SPEC,
5629 crate::common::RW,
5630 > {
5631 crate::common::RegisterField::<
5632 4,
5633 0x1,
5634 1,
5635 0,
5636 pipecfg::Dir,
5637 pipecfg::Dir,
5638 Pipecfg_SPEC,
5639 crate::common::RW,
5640 >::from_register(self, 0)
5641 }
5642
5643 #[doc = "Endpoint NumberThese bits specify the endpoint number for the selected pipe.Setting 0000b means unused pipe."]
5644 #[inline(always)]
5645 pub fn epnum(
5646 self,
5647 ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Pipecfg_SPEC, crate::common::RW> {
5648 crate::common::RegisterField::<0,0xf,1,0,u8,u8,Pipecfg_SPEC,crate::common::RW>::from_register(self,0)
5649 }
5650}
5651impl ::core::default::Default for Pipecfg {
5652 #[inline(always)]
5653 fn default() -> Pipecfg {
5654 <crate::RegValueT<Pipecfg_SPEC> as RegisterValue<_>>::new(0)
5655 }
5656}
5657pub mod pipecfg {
5658
5659 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5660 pub struct Type_SPEC;
5661 pub type Type = crate::EnumBitfieldStruct<u8, Type_SPEC>;
5662 impl Type {
5663 #[doc = "Pipe not used"]
5664 pub const _00: Self = Self::new(0);
5665
5666 #[doc = "Bulk transfer(PIPE1 and PIPE5) /Setting prohibited(PIPE6 to PIPE9)"]
5667 pub const _01: Self = Self::new(1);
5668
5669 #[doc = "Setting prohibited(PIPE1 and PIPE5) /Interrupt transfer(PIPE6 to PIPE9)"]
5670 pub const _10: Self = Self::new(2);
5671
5672 #[doc = "Isochronous transfer(PIPE1 and PIPE2) /Setting prohibited(PIPE3 to PIPE9)"]
5673 pub const _11: Self = Self::new(3);
5674 }
5675 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5676 pub struct Bfre_SPEC;
5677 pub type Bfre = crate::EnumBitfieldStruct<u8, Bfre_SPEC>;
5678 impl Bfre {
5679 #[doc = "BRDY interrupt upon transmitting or receiving data"]
5680 pub const _0: Self = Self::new(0);
5681
5682 #[doc = "BRDY interrupt upon completion of reading data"]
5683 pub const _1: Self = Self::new(1);
5684 }
5685 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5686 pub struct Dblb_SPEC;
5687 pub type Dblb = crate::EnumBitfieldStruct<u8, Dblb_SPEC>;
5688 impl Dblb {
5689 #[doc = "Single buffer"]
5690 pub const _0: Self = Self::new(0);
5691
5692 #[doc = "Double buffer"]
5693 pub const _1: Self = Self::new(1);
5694 }
5695 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5696 pub struct Shtnak_SPEC;
5697 pub type Shtnak = crate::EnumBitfieldStruct<u8, Shtnak_SPEC>;
5698 impl Shtnak {
5699 #[doc = "Pipe assignment continued at the end of transfer"]
5700 pub const _0: Self = Self::new(0);
5701
5702 #[doc = "Pipe assignment disabled at the end of transfer"]
5703 pub const _1: Self = Self::new(1);
5704 }
5705 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5706 pub struct Dir_SPEC;
5707 pub type Dir = crate::EnumBitfieldStruct<u8, Dir_SPEC>;
5708 impl Dir {
5709 #[doc = "Receiving direction"]
5710 pub const _0: Self = Self::new(0);
5711
5712 #[doc = "Transmitting direction"]
5713 pub const _1: Self = Self::new(1);
5714 }
5715}
5716#[doc(hidden)]
5717#[derive(Copy, Clone, Eq, PartialEq)]
5718pub struct Pipemaxp_SPEC;
5719impl crate::sealed::RegSpec for Pipemaxp_SPEC {
5720 type DataType = u16;
5721}
5722
5723#[doc = "Pipe Maximum Packet Size Register"]
5724pub type Pipemaxp = crate::RegValueT<Pipemaxp_SPEC>;
5725
5726impl Pipemaxp {
5727 #[doc = "Device Select"]
5728 #[inline(always)]
5729 pub fn devsel(
5730 self,
5731 ) -> crate::common::RegisterField<
5732 12,
5733 0xf,
5734 1,
5735 0,
5736 pipemaxp::Devsel,
5737 pipemaxp::Devsel,
5738 Pipemaxp_SPEC,
5739 crate::common::RW,
5740 > {
5741 crate::common::RegisterField::<
5742 12,
5743 0xf,
5744 1,
5745 0,
5746 pipemaxp::Devsel,
5747 pipemaxp::Devsel,
5748 Pipemaxp_SPEC,
5749 crate::common::RW,
5750 >::from_register(self, 0)
5751 }
5752
5753 #[doc = "These bits are read as 000. The write value should be 000."]
5754 #[inline(always)]
5755 pub fn reserved(
5756 self,
5757 ) -> crate::common::RegisterField<9, 0x7, 1, 0, u8, u8, Pipemaxp_SPEC, crate::common::RW> {
5758 crate::common::RegisterField::<9,0x7,1,0,u8,u8,Pipemaxp_SPEC,crate::common::RW>::from_register(self,0)
5759 }
5760
5761 #[doc = "Maximum Packet SizePIPE1 and PIPE2: 1 byte (001h) to 256 bytes (100h)PIPE3 to PIPE5: 8 bytes (008h), 16 bytes (010h), 32 bytes (020h), 64 bytes (040h) (Bits \\[8:7\\] and \\[2:0\\] are not provided.)PIPE6 to PIPE9: 1 byte (001h) to 64 bytes (040h) (Bits \\[8:7\\] are not provided.)"]
5762 #[inline(always)]
5763 pub fn mxps(
5764 self,
5765 ) -> crate::common::RegisterField<0, 0x1ff, 1, 0, u16, u16, Pipemaxp_SPEC, crate::common::RW>
5766 {
5767 crate::common::RegisterField::<0,0x1ff,1,0,u16,u16,Pipemaxp_SPEC,crate::common::RW>::from_register(self,0)
5768 }
5769}
5770impl ::core::default::Default for Pipemaxp {
5771 #[inline(always)]
5772 fn default() -> Pipemaxp {
5773 <crate::RegValueT<Pipemaxp_SPEC> as RegisterValue<_>>::new(0)
5774 }
5775}
5776pub mod pipemaxp {
5777
5778 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5779 pub struct Devsel_SPEC;
5780 pub type Devsel = crate::EnumBitfieldStruct<u8, Devsel_SPEC>;
5781 impl Devsel {
5782 #[doc = "Address 0000"]
5783 pub const _0000: Self = Self::new(0);
5784
5785 #[doc = "Address 0001"]
5786 pub const _0001: Self = Self::new(1);
5787
5788 #[doc = "Address 0010"]
5789 pub const _0010: Self = Self::new(2);
5790
5791 #[doc = "Address 0011"]
5792 pub const _0011: Self = Self::new(3);
5793
5794 #[doc = "Address 0100"]
5795 pub const _0100: Self = Self::new(4);
5796
5797 #[doc = "Address 0101"]
5798 pub const _0101: Self = Self::new(5);
5799 }
5800}
5801#[doc(hidden)]
5802#[derive(Copy, Clone, Eq, PartialEq)]
5803pub struct Pipectr_SPEC;
5804impl crate::sealed::RegSpec for Pipectr_SPEC {
5805 type DataType = u16;
5806}
5807
5808#[doc = "Pipe %s Control Register"]
5809pub type Pipectr = crate::RegValueT<Pipectr_SPEC>;
5810
5811impl Pipectr {
5812 #[doc = "Buffer Status"]
5813 #[inline(always)]
5814 pub fn bsts(
5815 self,
5816 ) -> crate::common::RegisterField<
5817 15,
5818 0x1,
5819 1,
5820 0,
5821 pipectr::Bsts,
5822 pipectr::Bsts,
5823 Pipectr_SPEC,
5824 crate::common::R,
5825 > {
5826 crate::common::RegisterField::<
5827 15,
5828 0x1,
5829 1,
5830 0,
5831 pipectr::Bsts,
5832 pipectr::Bsts,
5833 Pipectr_SPEC,
5834 crate::common::R,
5835 >::from_register(self, 0)
5836 }
5837
5838 #[doc = "Auto Buffer Clear Mode"]
5839 #[inline(always)]
5840 pub fn aclrm(
5841 self,
5842 ) -> crate::common::RegisterField<
5843 9,
5844 0x1,
5845 1,
5846 0,
5847 pipectr::Aclrm,
5848 pipectr::Aclrm,
5849 Pipectr_SPEC,
5850 crate::common::RW,
5851 > {
5852 crate::common::RegisterField::<
5853 9,
5854 0x1,
5855 1,
5856 0,
5857 pipectr::Aclrm,
5858 pipectr::Aclrm,
5859 Pipectr_SPEC,
5860 crate::common::RW,
5861 >::from_register(self, 0)
5862 }
5863
5864 #[doc = "Sequence Toggle Bit Clear"]
5865 #[inline(always)]
5866 pub fn sqclr(
5867 self,
5868 ) -> crate::common::RegisterField<
5869 8,
5870 0x1,
5871 1,
5872 0,
5873 pipectr::Sqclr,
5874 pipectr::Sqclr,
5875 Pipectr_SPEC,
5876 crate::common::W,
5877 > {
5878 crate::common::RegisterField::<
5879 8,
5880 0x1,
5881 1,
5882 0,
5883 pipectr::Sqclr,
5884 pipectr::Sqclr,
5885 Pipectr_SPEC,
5886 crate::common::W,
5887 >::from_register(self, 0)
5888 }
5889
5890 #[doc = "Sequence Toggle Bit Set"]
5891 #[inline(always)]
5892 pub fn sqset(
5893 self,
5894 ) -> crate::common::RegisterField<
5895 7,
5896 0x1,
5897 1,
5898 0,
5899 pipectr::Sqset,
5900 pipectr::Sqset,
5901 Pipectr_SPEC,
5902 crate::common::W,
5903 > {
5904 crate::common::RegisterField::<
5905 7,
5906 0x1,
5907 1,
5908 0,
5909 pipectr::Sqset,
5910 pipectr::Sqset,
5911 Pipectr_SPEC,
5912 crate::common::W,
5913 >::from_register(self, 0)
5914 }
5915
5916 #[doc = "Sequence Toggle Bit Confirmation"]
5917 #[inline(always)]
5918 pub fn sqmon(
5919 self,
5920 ) -> crate::common::RegisterField<
5921 6,
5922 0x1,
5923 1,
5924 0,
5925 pipectr::Sqmon,
5926 pipectr::Sqmon,
5927 Pipectr_SPEC,
5928 crate::common::R,
5929 > {
5930 crate::common::RegisterField::<
5931 6,
5932 0x1,
5933 1,
5934 0,
5935 pipectr::Sqmon,
5936 pipectr::Sqmon,
5937 Pipectr_SPEC,
5938 crate::common::R,
5939 >::from_register(self, 0)
5940 }
5941
5942 #[doc = "Pipe Busy"]
5943 #[inline(always)]
5944 pub fn pbusy(
5945 self,
5946 ) -> crate::common::RegisterField<
5947 5,
5948 0x1,
5949 1,
5950 0,
5951 pipectr::Pbusy,
5952 pipectr::Pbusy,
5953 Pipectr_SPEC,
5954 crate::common::R,
5955 > {
5956 crate::common::RegisterField::<
5957 5,
5958 0x1,
5959 1,
5960 0,
5961 pipectr::Pbusy,
5962 pipectr::Pbusy,
5963 Pipectr_SPEC,
5964 crate::common::R,
5965 >::from_register(self, 0)
5966 }
5967
5968 #[doc = "These bits are read as 000. The write value should be 000."]
5969 #[inline(always)]
5970 pub fn reserved(
5971 self,
5972 ) -> crate::common::RegisterField<2, 0x7, 1, 0, u8, u8, Pipectr_SPEC, crate::common::RW> {
5973 crate::common::RegisterField::<2,0x7,1,0,u8,u8,Pipectr_SPEC,crate::common::RW>::from_register(self,0)
5974 }
5975
5976 #[doc = "Response PID"]
5977 #[inline(always)]
5978 pub fn pid(
5979 self,
5980 ) -> crate::common::RegisterField<
5981 0,
5982 0x3,
5983 1,
5984 0,
5985 pipectr::Pid,
5986 pipectr::Pid,
5987 Pipectr_SPEC,
5988 crate::common::RW,
5989 > {
5990 crate::common::RegisterField::<
5991 0,
5992 0x3,
5993 1,
5994 0,
5995 pipectr::Pid,
5996 pipectr::Pid,
5997 Pipectr_SPEC,
5998 crate::common::RW,
5999 >::from_register(self, 0)
6000 }
6001}
6002impl ::core::default::Default for Pipectr {
6003 #[inline(always)]
6004 fn default() -> Pipectr {
6005 <crate::RegValueT<Pipectr_SPEC> as RegisterValue<_>>::new(0)
6006 }
6007}
6008pub mod pipectr {
6009
6010 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6011 pub struct Bsts_SPEC;
6012 pub type Bsts = crate::EnumBitfieldStruct<u8, Bsts_SPEC>;
6013 impl Bsts {
6014 #[doc = "Buffer access is disabled."]
6015 pub const _0: Self = Self::new(0);
6016
6017 #[doc = "Buffer access is enabled."]
6018 pub const _1: Self = Self::new(1);
6019 }
6020 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6021 pub struct Aclrm_SPEC;
6022 pub type Aclrm = crate::EnumBitfieldStruct<u8, Aclrm_SPEC>;
6023 impl Aclrm {
6024 #[doc = "Auto buffer clear mode is disabled."]
6025 pub const _0: Self = Self::new(0);
6026
6027 #[doc = "Auto buffer clear mode is enabled (all buffers are initialized)"]
6028 pub const _1: Self = Self::new(1);
6029 }
6030 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6031 pub struct Sqclr_SPEC;
6032 pub type Sqclr = crate::EnumBitfieldStruct<u8, Sqclr_SPEC>;
6033 impl Sqclr {
6034 #[doc = "Invalid"]
6035 pub const _0: Self = Self::new(0);
6036
6037 #[doc = "Specifies DATA0."]
6038 pub const _1: Self = Self::new(1);
6039 }
6040 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6041 pub struct Sqset_SPEC;
6042 pub type Sqset = crate::EnumBitfieldStruct<u8, Sqset_SPEC>;
6043 impl Sqset {
6044 #[doc = "Invalid"]
6045 pub const _0: Self = Self::new(0);
6046
6047 #[doc = "Specifies DATA1."]
6048 pub const _1: Self = Self::new(1);
6049 }
6050 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6051 pub struct Sqmon_SPEC;
6052 pub type Sqmon = crate::EnumBitfieldStruct<u8, Sqmon_SPEC>;
6053 impl Sqmon {
6054 #[doc = "DATA0"]
6055 pub const _0: Self = Self::new(0);
6056
6057 #[doc = "DATA1"]
6058 pub const _1: Self = Self::new(1);
6059 }
6060 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6061 pub struct Pbusy_SPEC;
6062 pub type Pbusy = crate::EnumBitfieldStruct<u8, Pbusy_SPEC>;
6063 impl Pbusy {
6064 #[doc = "The relevant pipe is not used at the USB bus."]
6065 pub const _0: Self = Self::new(0);
6066
6067 #[doc = "The relevant pipe is used at the USB bus."]
6068 pub const _1: Self = Self::new(1);
6069 }
6070 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6071 pub struct Pid_SPEC;
6072 pub type Pid = crate::EnumBitfieldStruct<u8, Pid_SPEC>;
6073 impl Pid {
6074 #[doc = "NAK response"]
6075 pub const _00: Self = Self::new(0);
6076
6077 #[doc = "BUF response(dependingonthebufferstate)"]
6078 pub const _01: Self = Self::new(1);
6079
6080 #[doc = "STALL response"]
6081 pub const _10: Self = Self::new(2);
6082
6083 #[doc = "STALL response"]
6084 pub const _11: Self = Self::new(3);
6085 }
6086}
6087#[doc(hidden)]
6088#[derive(Copy, Clone, Eq, PartialEq)]
6089pub struct Pipetre_SPEC;
6090impl crate::sealed::RegSpec for Pipetre_SPEC {
6091 type DataType = u16;
6092}
6093
6094#[doc = "Pipe %s Transaction Counter Enable Register"]
6095pub type Pipetre = crate::RegValueT<Pipetre_SPEC>;
6096
6097impl Pipetre {
6098 #[doc = "Transaction Counter Enable"]
6099 #[inline(always)]
6100 pub fn trenb(
6101 self,
6102 ) -> crate::common::RegisterField<
6103 9,
6104 0x1,
6105 1,
6106 0,
6107 pipetre::Trenb,
6108 pipetre::Trenb,
6109 Pipetre_SPEC,
6110 crate::common::RW,
6111 > {
6112 crate::common::RegisterField::<
6113 9,
6114 0x1,
6115 1,
6116 0,
6117 pipetre::Trenb,
6118 pipetre::Trenb,
6119 Pipetre_SPEC,
6120 crate::common::RW,
6121 >::from_register(self, 0)
6122 }
6123
6124 #[doc = "Transaction Counter Clear"]
6125 #[inline(always)]
6126 pub fn trclr(
6127 self,
6128 ) -> crate::common::RegisterField<
6129 8,
6130 0x1,
6131 1,
6132 0,
6133 pipetre::Trclr,
6134 pipetre::Trclr,
6135 Pipetre_SPEC,
6136 crate::common::RW,
6137 > {
6138 crate::common::RegisterField::<
6139 8,
6140 0x1,
6141 1,
6142 0,
6143 pipetre::Trclr,
6144 pipetre::Trclr,
6145 Pipetre_SPEC,
6146 crate::common::RW,
6147 >::from_register(self, 0)
6148 }
6149
6150 #[doc = "These bits are read as 00000000. The write value should be 00000000."]
6151 #[inline(always)]
6152 pub fn reserved(
6153 self,
6154 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Pipetre_SPEC, crate::common::RW> {
6155 crate::common::RegisterField::<0,0xff,1,0,u8,u8,Pipetre_SPEC,crate::common::RW>::from_register(self,0)
6156 }
6157}
6158impl ::core::default::Default for Pipetre {
6159 #[inline(always)]
6160 fn default() -> Pipetre {
6161 <crate::RegValueT<Pipetre_SPEC> as RegisterValue<_>>::new(0)
6162 }
6163}
6164pub mod pipetre {
6165
6166 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6167 pub struct Trenb_SPEC;
6168 pub type Trenb = crate::EnumBitfieldStruct<u8, Trenb_SPEC>;
6169 impl Trenb {
6170 #[doc = "Transaction counter is disabled."]
6171 pub const _0: Self = Self::new(0);
6172
6173 #[doc = "Transaction counter is enabled."]
6174 pub const _1: Self = Self::new(1);
6175 }
6176 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6177 pub struct Trclr_SPEC;
6178 pub type Trclr = crate::EnumBitfieldStruct<u8, Trclr_SPEC>;
6179 impl Trclr {
6180 #[doc = "Invalid"]
6181 pub const _0: Self = Self::new(0);
6182
6183 #[doc = "The current counter value is cleared."]
6184 pub const _1: Self = Self::new(1);
6185 }
6186}
6187#[doc(hidden)]
6188#[derive(Copy, Clone, Eq, PartialEq)]
6189pub struct Pipetrn_SPEC;
6190impl crate::sealed::RegSpec for Pipetrn_SPEC {
6191 type DataType = u16;
6192}
6193
6194#[doc = "Pipe %s Transaction Counter Register"]
6195pub type Pipetrn = crate::RegValueT<Pipetrn_SPEC>;
6196
6197impl Pipetrn {
6198 #[doc = "Transaction Counter"]
6199 #[inline(always)]
6200 pub fn trncnt(
6201 self,
6202 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Pipetrn_SPEC, crate::common::RW>
6203 {
6204 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Pipetrn_SPEC,crate::common::RW>::from_register(self,0)
6205 }
6206}
6207impl ::core::default::Default for Pipetrn {
6208 #[inline(always)]
6209 fn default() -> Pipetrn {
6210 <crate::RegValueT<Pipetrn_SPEC> as RegisterValue<_>>::new(0)
6211 }
6212}
6213
6214#[doc(hidden)]
6215#[derive(Copy, Clone, Eq, PartialEq)]
6216pub struct Usbmc_SPEC;
6217impl crate::sealed::RegSpec for Usbmc_SPEC {
6218 type DataType = u16;
6219}
6220
6221#[doc = "USB Module Control Register"]
6222pub type Usbmc = crate::RegValueT<Usbmc_SPEC>;
6223
6224impl Usbmc {
6225 #[doc = "USB Regulator On/Off Control"]
6226 #[inline(always)]
6227 pub fn vdcen(
6228 self,
6229 ) -> crate::common::RegisterField<
6230 7,
6231 0x1,
6232 1,
6233 0,
6234 usbmc::Vdcen,
6235 usbmc::Vdcen,
6236 Usbmc_SPEC,
6237 crate::common::RW,
6238 > {
6239 crate::common::RegisterField::<
6240 7,
6241 0x1,
6242 1,
6243 0,
6244 usbmc::Vdcen,
6245 usbmc::Vdcen,
6246 Usbmc_SPEC,
6247 crate::common::RW,
6248 >::from_register(self, 0)
6249 }
6250
6251 #[doc = "This bit is read as 1. The write value should be 1."]
6252 #[inline(always)]
6253 pub fn reserved(
6254 self,
6255 ) -> crate::common::RegisterFieldBool<1, 1, 0, Usbmc_SPEC, crate::common::RW> {
6256 crate::common::RegisterFieldBool::<1, 1, 0, Usbmc_SPEC, crate::common::RW>::from_register(
6257 self, 0,
6258 )
6259 }
6260
6261 #[doc = "USB Reference Power Supply Circuit On/Off Control"]
6262 #[inline(always)]
6263 pub fn vddusbe(
6264 self,
6265 ) -> crate::common::RegisterField<
6266 0,
6267 0x1,
6268 1,
6269 0,
6270 usbmc::Vddusbe,
6271 usbmc::Vddusbe,
6272 Usbmc_SPEC,
6273 crate::common::RW,
6274 > {
6275 crate::common::RegisterField::<
6276 0,
6277 0x1,
6278 1,
6279 0,
6280 usbmc::Vddusbe,
6281 usbmc::Vddusbe,
6282 Usbmc_SPEC,
6283 crate::common::RW,
6284 >::from_register(self, 0)
6285 }
6286}
6287impl ::core::default::Default for Usbmc {
6288 #[inline(always)]
6289 fn default() -> Usbmc {
6290 <crate::RegValueT<Usbmc_SPEC> as RegisterValue<_>>::new(2)
6291 }
6292}
6293pub mod usbmc {
6294
6295 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6296 pub struct Vdcen_SPEC;
6297 pub type Vdcen = crate::EnumBitfieldStruct<u8, Vdcen_SPEC>;
6298 impl Vdcen {
6299 #[doc = "USB regulator off"]
6300 pub const _0: Self = Self::new(0);
6301
6302 #[doc = "USB regulator on"]
6303 pub const _1: Self = Self::new(1);
6304 }
6305 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6306 pub struct Vddusbe_SPEC;
6307 pub type Vddusbe = crate::EnumBitfieldStruct<u8, Vddusbe_SPEC>;
6308 impl Vddusbe {
6309 #[doc = "USB reference power supply circuit off"]
6310 pub const _0: Self = Self::new(0);
6311
6312 #[doc = "USB reference power supply circuit on"]
6313 pub const _1: Self = Self::new(1);
6314 }
6315}
6316#[doc(hidden)]
6317#[derive(Copy, Clone, Eq, PartialEq)]
6318pub struct Usbbcctrl0_SPEC;
6319impl crate::sealed::RegSpec for Usbbcctrl0_SPEC {
6320 type DataType = u16;
6321}
6322
6323#[doc = "BC Control Register 0"]
6324pub type Usbbcctrl0 = crate::RegValueT<Usbbcctrl0_SPEC>;
6325
6326impl Usbbcctrl0 {
6327 #[doc = "D+ Pin 0.6 V Input Detection Status"]
6328 #[inline(always)]
6329 pub fn pddetsts0(
6330 self,
6331 ) -> crate::common::RegisterField<
6332 9,
6333 0x1,
6334 1,
6335 0,
6336 usbbcctrl0::Pddetsts0,
6337 usbbcctrl0::Pddetsts0,
6338 Usbbcctrl0_SPEC,
6339 crate::common::R,
6340 > {
6341 crate::common::RegisterField::<
6342 9,
6343 0x1,
6344 1,
6345 0,
6346 usbbcctrl0::Pddetsts0,
6347 usbbcctrl0::Pddetsts0,
6348 Usbbcctrl0_SPEC,
6349 crate::common::R,
6350 >::from_register(self, 0)
6351 }
6352
6353 #[doc = "D- Pin 0.6 V Input Detection Status"]
6354 #[inline(always)]
6355 pub fn chgdetsts0(
6356 self,
6357 ) -> crate::common::RegisterField<
6358 8,
6359 0x1,
6360 1,
6361 0,
6362 usbbcctrl0::Chgdetsts0,
6363 usbbcctrl0::Chgdetsts0,
6364 Usbbcctrl0_SPEC,
6365 crate::common::R,
6366 > {
6367 crate::common::RegisterField::<
6368 8,
6369 0x1,
6370 1,
6371 0,
6372 usbbcctrl0::Chgdetsts0,
6373 usbbcctrl0::Chgdetsts0,
6374 Usbbcctrl0_SPEC,
6375 crate::common::R,
6376 >::from_register(self, 0)
6377 }
6378
6379 #[doc = "BC (Battery Charger) Function General Enable Control"]
6380 #[inline(always)]
6381 pub fn batchge0(
6382 self,
6383 ) -> crate::common::RegisterField<
6384 7,
6385 0x1,
6386 1,
6387 0,
6388 usbbcctrl0::Batchge0,
6389 usbbcctrl0::Batchge0,
6390 Usbbcctrl0_SPEC,
6391 crate::common::RW,
6392 > {
6393 crate::common::RegisterField::<
6394 7,
6395 0x1,
6396 1,
6397 0,
6398 usbbcctrl0::Batchge0,
6399 usbbcctrl0::Batchge0,
6400 Usbbcctrl0_SPEC,
6401 crate::common::RW,
6402 >::from_register(self, 0)
6403 }
6404
6405 #[doc = "This bit is read as 0. The write value should be 0."]
6406 #[inline(always)]
6407 pub fn reserved(
6408 self,
6409 ) -> crate::common::RegisterFieldBool<6, 1, 0, Usbbcctrl0_SPEC, crate::common::RW> {
6410 crate::common::RegisterFieldBool::<6,1,0,Usbbcctrl0_SPEC,crate::common::RW>::from_register(self,0)
6411 }
6412
6413 #[doc = "D- Pin VDMSRC (0.6 V) Output Control"]
6414 #[inline(always)]
6415 pub fn vdmsrce0(
6416 self,
6417 ) -> crate::common::RegisterField<
6418 5,
6419 0x1,
6420 1,
6421 0,
6422 usbbcctrl0::Vdmsrce0,
6423 usbbcctrl0::Vdmsrce0,
6424 Usbbcctrl0_SPEC,
6425 crate::common::RW,
6426 > {
6427 crate::common::RegisterField::<
6428 5,
6429 0x1,
6430 1,
6431 0,
6432 usbbcctrl0::Vdmsrce0,
6433 usbbcctrl0::Vdmsrce0,
6434 Usbbcctrl0_SPEC,
6435 crate::common::RW,
6436 >::from_register(self, 0)
6437 }
6438
6439 #[doc = "D+ Pin 0.6 V Input Detection (Comparator and Sink) Control"]
6440 #[inline(always)]
6441 pub fn idpsinke0(
6442 self,
6443 ) -> crate::common::RegisterField<
6444 4,
6445 0x1,
6446 1,
6447 0,
6448 usbbcctrl0::Idpsinke0,
6449 usbbcctrl0::Idpsinke0,
6450 Usbbcctrl0_SPEC,
6451 crate::common::RW,
6452 > {
6453 crate::common::RegisterField::<
6454 4,
6455 0x1,
6456 1,
6457 0,
6458 usbbcctrl0::Idpsinke0,
6459 usbbcctrl0::Idpsinke0,
6460 Usbbcctrl0_SPEC,
6461 crate::common::RW,
6462 >::from_register(self, 0)
6463 }
6464
6465 #[doc = "D+ Pin VDPSRC (0.6 V) Output Control"]
6466 #[inline(always)]
6467 pub fn vdpsrce0(
6468 self,
6469 ) -> crate::common::RegisterField<
6470 3,
6471 0x1,
6472 1,
6473 0,
6474 usbbcctrl0::Vdpsrce0,
6475 usbbcctrl0::Vdpsrce0,
6476 Usbbcctrl0_SPEC,
6477 crate::common::RW,
6478 > {
6479 crate::common::RegisterField::<
6480 3,
6481 0x1,
6482 1,
6483 0,
6484 usbbcctrl0::Vdpsrce0,
6485 usbbcctrl0::Vdpsrce0,
6486 Usbbcctrl0_SPEC,
6487 crate::common::RW,
6488 >::from_register(self, 0)
6489 }
6490
6491 #[doc = "D- Pin 0.6 V Input Detection (Comparator and Sink) Control"]
6492 #[inline(always)]
6493 pub fn idmsinke0(
6494 self,
6495 ) -> crate::common::RegisterField<
6496 2,
6497 0x1,
6498 1,
6499 0,
6500 usbbcctrl0::Idmsinke0,
6501 usbbcctrl0::Idmsinke0,
6502 Usbbcctrl0_SPEC,
6503 crate::common::RW,
6504 > {
6505 crate::common::RegisterField::<
6506 2,
6507 0x1,
6508 1,
6509 0,
6510 usbbcctrl0::Idmsinke0,
6511 usbbcctrl0::Idmsinke0,
6512 Usbbcctrl0_SPEC,
6513 crate::common::RW,
6514 >::from_register(self, 0)
6515 }
6516
6517 #[doc = "D+ Pin IDPSRC Output Control"]
6518 #[inline(always)]
6519 pub fn idpsrce0(
6520 self,
6521 ) -> crate::common::RegisterField<
6522 1,
6523 0x1,
6524 1,
6525 0,
6526 usbbcctrl0::Idpsrce0,
6527 usbbcctrl0::Idpsrce0,
6528 Usbbcctrl0_SPEC,
6529 crate::common::RW,
6530 > {
6531 crate::common::RegisterField::<
6532 1,
6533 0x1,
6534 1,
6535 0,
6536 usbbcctrl0::Idpsrce0,
6537 usbbcctrl0::Idpsrce0,
6538 Usbbcctrl0_SPEC,
6539 crate::common::RW,
6540 >::from_register(self, 0)
6541 }
6542
6543 #[doc = "D- Pin Pull-Down Control"]
6544 #[inline(always)]
6545 pub fn rpdme0(
6546 self,
6547 ) -> crate::common::RegisterField<
6548 0,
6549 0x1,
6550 1,
6551 0,
6552 usbbcctrl0::Rpdme0,
6553 usbbcctrl0::Rpdme0,
6554 Usbbcctrl0_SPEC,
6555 crate::common::RW,
6556 > {
6557 crate::common::RegisterField::<
6558 0,
6559 0x1,
6560 1,
6561 0,
6562 usbbcctrl0::Rpdme0,
6563 usbbcctrl0::Rpdme0,
6564 Usbbcctrl0_SPEC,
6565 crate::common::RW,
6566 >::from_register(self, 0)
6567 }
6568}
6569impl ::core::default::Default for Usbbcctrl0 {
6570 #[inline(always)]
6571 fn default() -> Usbbcctrl0 {
6572 <crate::RegValueT<Usbbcctrl0_SPEC> as RegisterValue<_>>::new(0)
6573 }
6574}
6575pub mod usbbcctrl0 {
6576
6577 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6578 pub struct Pddetsts0_SPEC;
6579 pub type Pddetsts0 = crate::EnumBitfieldStruct<u8, Pddetsts0_SPEC>;
6580 impl Pddetsts0 {
6581 #[doc = "Not detected"]
6582 pub const _0: Self = Self::new(0);
6583
6584 #[doc = "Detected"]
6585 pub const _1: Self = Self::new(1);
6586 }
6587 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6588 pub struct Chgdetsts0_SPEC;
6589 pub type Chgdetsts0 = crate::EnumBitfieldStruct<u8, Chgdetsts0_SPEC>;
6590 impl Chgdetsts0 {
6591 #[doc = "Not detected"]
6592 pub const _0: Self = Self::new(0);
6593
6594 #[doc = "Detected"]
6595 pub const _1: Self = Self::new(1);
6596 }
6597 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6598 pub struct Batchge0_SPEC;
6599 pub type Batchge0 = crate::EnumBitfieldStruct<u8, Batchge0_SPEC>;
6600 impl Batchge0 {
6601 #[doc = "Disabled"]
6602 pub const _0: Self = Self::new(0);
6603
6604 #[doc = "Enabled"]
6605 pub const _1: Self = Self::new(1);
6606 }
6607 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6608 pub struct Vdmsrce0_SPEC;
6609 pub type Vdmsrce0 = crate::EnumBitfieldStruct<u8, Vdmsrce0_SPEC>;
6610 impl Vdmsrce0 {
6611 #[doc = "Stop"]
6612 pub const _0: Self = Self::new(0);
6613
6614 #[doc = "0.6 V output"]
6615 pub const _1: Self = Self::new(1);
6616 }
6617 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6618 pub struct Idpsinke0_SPEC;
6619 pub type Idpsinke0 = crate::EnumBitfieldStruct<u8, Idpsinke0_SPEC>;
6620 impl Idpsinke0 {
6621 #[doc = "Detection off"]
6622 pub const _0: Self = Self::new(0);
6623
6624 #[doc = "Detection on (comparator and sink current on)"]
6625 pub const _1: Self = Self::new(1);
6626 }
6627 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6628 pub struct Vdpsrce0_SPEC;
6629 pub type Vdpsrce0 = crate::EnumBitfieldStruct<u8, Vdpsrce0_SPEC>;
6630 impl Vdpsrce0 {
6631 #[doc = "Stop"]
6632 pub const _0: Self = Self::new(0);
6633
6634 #[doc = "0.6 V output"]
6635 pub const _1: Self = Self::new(1);
6636 }
6637 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6638 pub struct Idmsinke0_SPEC;
6639 pub type Idmsinke0 = crate::EnumBitfieldStruct<u8, Idmsinke0_SPEC>;
6640 impl Idmsinke0 {
6641 #[doc = "Detection off"]
6642 pub const _0: Self = Self::new(0);
6643
6644 #[doc = "Detection on (comparator and sink current on)"]
6645 pub const _1: Self = Self::new(1);
6646 }
6647 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6648 pub struct Idpsrce0_SPEC;
6649 pub type Idpsrce0 = crate::EnumBitfieldStruct<u8, Idpsrce0_SPEC>;
6650 impl Idpsrce0 {
6651 #[doc = "Stop"]
6652 pub const _0: Self = Self::new(0);
6653
6654 #[doc = "10 uA output"]
6655 pub const _1: Self = Self::new(1);
6656 }
6657 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6658 pub struct Rpdme0_SPEC;
6659 pub type Rpdme0 = crate::EnumBitfieldStruct<u8, Rpdme0_SPEC>;
6660 impl Rpdme0 {
6661 #[doc = "Pull-down off"]
6662 pub const _0: Self = Self::new(0);
6663
6664 #[doc = "Pull-down on"]
6665 pub const _1: Self = Self::new(1);
6666 }
6667}
6668#[doc(hidden)]
6669#[derive(Copy, Clone, Eq, PartialEq)]
6670pub struct Ucksel_SPEC;
6671impl crate::sealed::RegSpec for Ucksel_SPEC {
6672 type DataType = u16;
6673}
6674
6675#[doc = "USB Clock Selection Register"]
6676pub type Ucksel = crate::RegValueT<Ucksel_SPEC>;
6677
6678impl Ucksel {
6679 #[doc = "These bits are read as 000000000000000. The write value should be 000000000000000."]
6680 #[inline(always)]
6681 pub fn reserved(
6682 self,
6683 ) -> crate::common::RegisterField<1, 0x7fff, 1, 0, u16, u16, Ucksel_SPEC, crate::common::RW>
6684 {
6685 crate::common::RegisterField::<1,0x7fff,1,0,u16,u16,Ucksel_SPEC,crate::common::RW>::from_register(self,0)
6686 }
6687
6688 #[doc = "USB Clock Selection"]
6689 #[inline(always)]
6690 pub fn uckselc(
6691 self,
6692 ) -> crate::common::RegisterField<
6693 0,
6694 0x1,
6695 1,
6696 0,
6697 ucksel::Uckselc,
6698 ucksel::Uckselc,
6699 Ucksel_SPEC,
6700 crate::common::RW,
6701 > {
6702 crate::common::RegisterField::<
6703 0,
6704 0x1,
6705 1,
6706 0,
6707 ucksel::Uckselc,
6708 ucksel::Uckselc,
6709 Ucksel_SPEC,
6710 crate::common::RW,
6711 >::from_register(self, 0)
6712 }
6713}
6714impl ::core::default::Default for Ucksel {
6715 #[inline(always)]
6716 fn default() -> Ucksel {
6717 <crate::RegValueT<Ucksel_SPEC> as RegisterValue<_>>::new(0)
6718 }
6719}
6720pub mod ucksel {
6721
6722 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6723 pub struct Uckselc_SPEC;
6724 pub type Uckselc = crate::EnumBitfieldStruct<u8, Uckselc_SPEC>;
6725 impl Uckselc {
6726 #[doc = "High-speed on-chip oscillator clock (HOCO) is not selected as USB clock"]
6727 pub const _0: Self = Self::new(0);
6728
6729 #[doc = "High-speed on-chip oscillator clock (HOCO) is selected as USB clock"]
6730 pub const _1: Self = Self::new(1);
6731 }
6732}